zek 17.3.32 → 17.3.36

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 (64) hide show
  1. package/esm2022/lib/components/base.component.mjs +1 -1
  2. package/esm2022/lib/components/core-ui.component.mjs +5 -5
  3. package/esm2022/lib/components/core.component.mjs +1 -1
  4. package/esm2022/lib/components/edit-base.component.mjs +17 -17
  5. package/esm2022/lib/components/list-base.component.mjs +18 -18
  6. package/esm2022/lib/modules/age/age.pipe.mjs +2 -2
  7. package/esm2022/lib/modules/alert/toast/toast.mjs +3 -3
  8. package/esm2022/lib/modules/bb/bb.component.mjs +2 -2
  9. package/esm2022/lib/modules/card/card/card.mjs +1 -1
  10. package/esm2022/lib/modules/date-ago/date-ago.pipe.mjs +5 -5
  11. package/esm2022/lib/modules/datepicker/date-value-accessor.mjs +6 -6
  12. package/esm2022/lib/modules/file-viewer/file-viewer.mjs +2 -2
  13. package/esm2022/lib/modules/google-login-button/google-login-button.mjs +2 -2
  14. package/esm2022/lib/modules/google-login-button/loader.mjs +1 -1
  15. package/esm2022/lib/modules/modal/modal/modal.component.mjs +64 -48
  16. package/esm2022/lib/modules/numeric/numeric.directive.mjs +6 -6
  17. package/esm2022/lib/modules/pager/pager/pager.mjs +1 -1
  18. package/esm2022/lib/modules/progress/progress.mjs +3 -3
  19. package/esm2022/lib/modules/radio/radio.mjs +2 -2
  20. package/esm2022/lib/modules/recaptcha/loader.mjs +3 -3
  21. package/esm2022/lib/modules/select/select.mjs +5 -5
  22. package/esm2022/lib/modules/select2/select2.mjs +2 -2
  23. package/esm2022/lib/modules/select2-multiple/select2-multiple.mjs +3 -3
  24. package/esm2022/lib/modules/validators/validator.mjs +4 -4
  25. package/esm2022/lib/modules/wizard/wizard/wizard.mjs +2 -2
  26. package/esm2022/lib/services/alert.service.mjs +2 -2
  27. package/esm2022/lib/services/auth-guard.service.mjs +17 -2
  28. package/esm2022/lib/services/auth.service.mjs +10 -10
  29. package/esm2022/lib/services/http-error-handler.service.mjs +3 -3
  30. package/esm2022/lib/services/web.api.mjs +2 -2
  31. package/esm2022/lib/utils/array-helper.mjs +8 -8
  32. package/esm2022/lib/utils/bootstrap.helper.mjs +1 -1
  33. package/esm2022/lib/utils/convert.mjs +2 -2
  34. package/esm2022/lib/utils/css-helper.mjs +6 -6
  35. package/esm2022/lib/utils/date-helper.mjs +32 -47
  36. package/esm2022/lib/utils/error-helper.mjs +3 -3
  37. package/esm2022/lib/utils/excel-helper.mjs +13 -0
  38. package/esm2022/lib/utils/file.helper.mjs +4 -4
  39. package/esm2022/lib/utils/filter-helper.mjs +2 -2
  40. package/esm2022/lib/utils/handler.mjs +5 -5
  41. package/esm2022/lib/utils/html-helper.mjs +4 -4
  42. package/esm2022/lib/utils/index.mjs +2 -1
  43. package/esm2022/lib/utils/jwt-helper.mjs +4 -4
  44. package/esm2022/lib/utils/math-helper.mjs +1 -3
  45. package/esm2022/lib/utils/object-helper.mjs +3 -5
  46. package/esm2022/lib/utils/overlap-helper.mjs +4 -4
  47. package/esm2022/lib/utils/storage-helper.mjs +3 -3
  48. package/esm2022/lib/utils/string-helper.mjs +6 -5
  49. package/esm2022/lib/utils/thenBy.mjs +9 -9
  50. package/esm2022/lib/utils/time-helper.mjs +12 -13
  51. package/esm2022/lib/utils/tmp-helper.mjs +2 -2
  52. package/esm2022/lib/utils/url-helper.mjs +6 -6
  53. package/fesm2022/zek.mjs +313 -291
  54. package/fesm2022/zek.mjs.map +1 -1
  55. package/lib/modules/date-ago/date-ago.pipe.d.ts +3 -3
  56. package/lib/modules/modal/modal/modal.component.d.ts +22 -7
  57. package/lib/services/alert.service.d.ts +2 -2
  58. package/lib/services/auth-guard.service.d.ts +2 -1
  59. package/lib/utils/bootstrap.helper.d.ts +1 -1
  60. package/lib/utils/excel-helper.d.ts +3 -0
  61. package/lib/utils/handler.d.ts +1 -1
  62. package/lib/utils/index.d.ts +1 -0
  63. package/lib/utils/thenBy.d.ts +1 -1
  64. package/package.json +1 -1
@@ -7,7 +7,7 @@ export class CssHelper {
7
7
  if (!addClasses || addClasses === '') {
8
8
  return clazz;
9
9
  }
10
- let arr = ArrayHelper.distinct(this.parseClassNames(clazz).concat(this.parseClassNames(addClasses)));
10
+ const arr = ArrayHelper.distinct(this.parseClassNames(clazz).concat(this.parseClassNames(addClasses)));
11
11
  return Array.isArray(clazz) ? arr : arr.join(' ');
12
12
  }
13
13
  static removeClass(clazz, removeClasses) {
@@ -17,11 +17,11 @@ export class CssHelper {
17
17
  if (!removeClasses || removeClasses === '' || removeClasses.length === 0) {
18
18
  return clazz;
19
19
  }
20
- let arrClasses = this.parseClassNames(clazz);
21
- let arrRemove = this.parseClassNames(removeClasses);
22
- var arr = [];
20
+ const arrClasses = this.parseClassNames(clazz);
21
+ const arrRemove = this.parseClassNames(removeClasses);
22
+ const arr = [];
23
23
  for (var i = 0; i < arrClasses.length; i++) {
24
- let val = arrClasses[i];
24
+ const val = arrClasses[i];
25
25
  if (!ArrayHelper.contains(arrRemove, val)) {
26
26
  arr.push(val);
27
27
  }
@@ -38,4 +38,4 @@ export class CssHelper {
38
38
  return [];
39
39
  }
40
40
  }
41
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3NzLWhlbHBlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3play9zcmMvbGliL3V0aWxzL2Nzcy1oZWxwZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTdDLE1BQU0sT0FBTyxTQUFTO0lBQ2xCLE1BQU0sQ0FBQyxRQUFRLENBQWlELEtBQVEsRUFBRSxVQUFxQztRQUMzRyxJQUFJLENBQUMsS0FBSyxJQUFJLEtBQUssS0FBSyxFQUFFLElBQUksS0FBSyxDQUFDLE1BQU0sSUFBSSxDQUFDLEVBQUUsQ0FBQztZQUM5QyxPQUFPLFVBQWUsQ0FBQztRQUMzQixDQUFDO1FBRUQsSUFBSSxDQUFDLFVBQVUsSUFBSSxVQUFVLEtBQUssRUFBRSxFQUFFLENBQUM7WUFDbkMsT0FBTyxLQUFLLENBQUM7UUFDakIsQ0FBQztRQUdELElBQUksR0FBRyxHQUFHLFdBQVcsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFFckcsT0FBTyxLQUFLLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFRLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFNLENBQUM7SUFDaEUsQ0FBQztJQUdELE1BQU0sQ0FBQyxXQUFXLENBQWlELEtBQVEsRUFBRSxhQUF3QztRQUNqSCxJQUFJLENBQUMsS0FBSyxJQUFJLEtBQUssS0FBSyxFQUFFLEVBQUUsQ0FBQztZQUN6QixPQUFPLEtBQUssQ0FBQztRQUNqQixDQUFDO1FBRUQsSUFBSSxDQUFDLGFBQWEsSUFBSSxhQUFhLEtBQUssRUFBRSxJQUFJLGFBQWEsQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFLENBQUM7WUFDdkUsT0FBTyxLQUFLLENBQUM7UUFDakIsQ0FBQztRQUVELElBQUksVUFBVSxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDN0MsSUFBSSxTQUFTLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUVwRCxJQUFJLEdBQUcsR0FBVSxFQUFFLENBQUM7UUFDcEIsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLFVBQVUsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQztZQUN6QyxJQUFJLEdBQUcsR0FBRyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDeEIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsU0FBUyxFQUFFLEdBQUcsQ0FBQyxFQUFFLENBQUM7Z0JBQ3hDLEdBQUcsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDbEIsQ0FBQztRQUNMLENBQUM7UUFDRCxPQUFPLEtBQUssQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQVEsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQU0sQ0FBQztJQUNoRSxDQUFDO0lBR0QsTUFBTSxDQUFDLGVBQWUsQ0FBQyxHQUE4QjtRQUNqRCxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQztZQUNyQixPQUFPLEdBQUcsQ0FBQTtRQUNkLENBQUM7UUFFRCxJQUFJLE9BQU8sR0FBRyxLQUFLLFFBQVEsRUFBRSxDQUFDO1lBQzFCLE9BQU8sR0FBRyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQTtRQUMzQixDQUFDO1FBRUQsT0FBTyxFQUFFLENBQUE7SUFDYixDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBcnJheUhlbHBlciB9IGZyb20gJy4vYXJyYXktaGVscGVyJztcclxuXHJcbmV4cG9ydCBjbGFzcyBDc3NIZWxwZXIge1xyXG4gICAgc3RhdGljIGFkZENsYXNzPFQgZXh0ZW5kcyBzdHJpbmcgfCBzdHJpbmdbXSB8IG51bGwgfCB1bmRlZmluZWQ+KGNsYXp6OiBULCBhZGRDbGFzc2VzPzogc3RyaW5nIHwgc3RyaW5nW10gfCBudWxsKTogVCB7XHJcbiAgICAgICAgaWYgKCFjbGF6eiB8fCBjbGF6eiA9PT0gJycgfHwgY2xhenoubGVuZ3RoID09IDApIHtcclxuICAgICAgICAgICAgcmV0dXJuIGFkZENsYXNzZXMgYXMgVDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlmICghYWRkQ2xhc3NlcyB8fCBhZGRDbGFzc2VzID09PSAnJykge1xyXG4gICAgICAgICAgICByZXR1cm4gY2xheno7XHJcbiAgICAgICAgfVxyXG5cclxuXHJcbiAgICAgICAgbGV0IGFyciA9IEFycmF5SGVscGVyLmRpc3RpbmN0KHRoaXMucGFyc2VDbGFzc05hbWVzKGNsYXp6KS5jb25jYXQodGhpcy5wYXJzZUNsYXNzTmFtZXMoYWRkQ2xhc3NlcykpKTtcclxuXHJcbiAgICAgICAgcmV0dXJuIEFycmF5LmlzQXJyYXkoY2xhenopID8gYXJyIGFzIFQgOiBhcnIuam9pbignICcpIGFzIFQ7XHJcbiAgICB9XHJcblxyXG5cclxuICAgIHN0YXRpYyByZW1vdmVDbGFzczxUIGV4dGVuZHMgc3RyaW5nIHwgc3RyaW5nW10gfCBudWxsIHwgdW5kZWZpbmVkPihjbGF6ejogVCwgcmVtb3ZlQ2xhc3Nlcz86IHN0cmluZyB8IHN0cmluZ1tdIHwgbnVsbCk6IFQge1xyXG4gICAgICAgIGlmICghY2xhenogfHwgY2xhenogPT09ICcnKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBjbGF6ejtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlmICghcmVtb3ZlQ2xhc3NlcyB8fCByZW1vdmVDbGFzc2VzID09PSAnJyB8fCByZW1vdmVDbGFzc2VzLmxlbmd0aCA9PT0gMCkge1xyXG4gICAgICAgICAgICByZXR1cm4gY2xheno7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBsZXQgYXJyQ2xhc3NlcyA9IHRoaXMucGFyc2VDbGFzc05hbWVzKGNsYXp6KTtcclxuICAgICAgICBsZXQgYXJyUmVtb3ZlID0gdGhpcy5wYXJzZUNsYXNzTmFtZXMocmVtb3ZlQ2xhc3Nlcyk7XHJcblxyXG4gICAgICAgIHZhciBhcnI6IGFueVtdID0gW107XHJcbiAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBhcnJDbGFzc2VzLmxlbmd0aDsgaSsrKSB7XHJcbiAgICAgICAgICAgIGxldCB2YWwgPSBhcnJDbGFzc2VzW2ldO1xyXG4gICAgICAgICAgICBpZiAoIUFycmF5SGVscGVyLmNvbnRhaW5zKGFyclJlbW92ZSwgdmFsKSkge1xyXG4gICAgICAgICAgICAgICAgYXJyLnB1c2godmFsKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gQXJyYXkuaXNBcnJheShjbGF6eikgPyBhcnIgYXMgVCA6IGFyci5qb2luKCcgJykgYXMgVDtcclxuICAgIH1cclxuXHJcblxyXG4gICAgc3RhdGljIHBhcnNlQ2xhc3NOYW1lcyhyYXc/OiBzdHJpbmcgfCBzdHJpbmdbXSB8IG51bGwpIHtcclxuICAgICAgICBpZiAoQXJyYXkuaXNBcnJheShyYXcpKSB7XHJcbiAgICAgICAgICAgIHJldHVybiByYXdcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlmICh0eXBlb2YgcmF3ID09PSAnc3RyaW5nJykge1xyXG4gICAgICAgICAgICByZXR1cm4gcmF3LnNwbGl0KC9cXHMrLylcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHJldHVybiBbXVxyXG4gICAgfVxyXG59Il19
41
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3NzLWhlbHBlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3play9zcmMvbGliL3V0aWxzL2Nzcy1oZWxwZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTdDLE1BQU0sT0FBTyxTQUFTO0lBQ2xCLE1BQU0sQ0FBQyxRQUFRLENBQWlELEtBQVEsRUFBRSxVQUFxQztRQUMzRyxJQUFJLENBQUMsS0FBSyxJQUFJLEtBQUssS0FBSyxFQUFFLElBQUksS0FBSyxDQUFDLE1BQU0sSUFBSSxDQUFDLEVBQUUsQ0FBQztZQUM5QyxPQUFPLFVBQWUsQ0FBQztRQUMzQixDQUFDO1FBRUQsSUFBSSxDQUFDLFVBQVUsSUFBSSxVQUFVLEtBQUssRUFBRSxFQUFFLENBQUM7WUFDbkMsT0FBTyxLQUFLLENBQUM7UUFDakIsQ0FBQztRQUdELE1BQU0sR0FBRyxHQUFHLFdBQVcsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFFdkcsT0FBTyxLQUFLLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFRLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFNLENBQUM7SUFDaEUsQ0FBQztJQUdELE1BQU0sQ0FBQyxXQUFXLENBQWlELEtBQVEsRUFBRSxhQUF3QztRQUNqSCxJQUFJLENBQUMsS0FBSyxJQUFJLEtBQUssS0FBSyxFQUFFLEVBQUUsQ0FBQztZQUN6QixPQUFPLEtBQUssQ0FBQztRQUNqQixDQUFDO1FBRUQsSUFBSSxDQUFDLGFBQWEsSUFBSSxhQUFhLEtBQUssRUFBRSxJQUFJLGFBQWEsQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFLENBQUM7WUFDdkUsT0FBTyxLQUFLLENBQUM7UUFDakIsQ0FBQztRQUVELE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDL0MsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUV0RCxNQUFNLEdBQUcsR0FBVSxFQUFFLENBQUM7UUFDdEIsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLFVBQVUsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQztZQUN6QyxNQUFNLEdBQUcsR0FBRyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDMUIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsU0FBUyxFQUFFLEdBQUcsQ0FBQyxFQUFFLENBQUM7Z0JBQ3hDLEdBQUcsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDbEIsQ0FBQztRQUNMLENBQUM7UUFDRCxPQUFPLEtBQUssQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQVEsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQU0sQ0FBQztJQUNoRSxDQUFDO0lBR0QsTUFBTSxDQUFDLGVBQWUsQ0FBQyxHQUE4QjtRQUNqRCxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQztZQUNyQixPQUFPLEdBQUcsQ0FBQTtRQUNkLENBQUM7UUFFRCxJQUFJLE9BQU8sR0FBRyxLQUFLLFFBQVEsRUFBRSxDQUFDO1lBQzFCLE9BQU8sR0FBRyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQTtRQUMzQixDQUFDO1FBRUQsT0FBTyxFQUFFLENBQUE7SUFDYixDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBcnJheUhlbHBlciB9IGZyb20gJy4vYXJyYXktaGVscGVyJztcclxuXHJcbmV4cG9ydCBjbGFzcyBDc3NIZWxwZXIge1xyXG4gICAgc3RhdGljIGFkZENsYXNzPFQgZXh0ZW5kcyBzdHJpbmcgfCBzdHJpbmdbXSB8IG51bGwgfCB1bmRlZmluZWQ+KGNsYXp6OiBULCBhZGRDbGFzc2VzPzogc3RyaW5nIHwgc3RyaW5nW10gfCBudWxsKTogVCB7XHJcbiAgICAgICAgaWYgKCFjbGF6eiB8fCBjbGF6eiA9PT0gJycgfHwgY2xhenoubGVuZ3RoID09IDApIHtcclxuICAgICAgICAgICAgcmV0dXJuIGFkZENsYXNzZXMgYXMgVDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlmICghYWRkQ2xhc3NlcyB8fCBhZGRDbGFzc2VzID09PSAnJykge1xyXG4gICAgICAgICAgICByZXR1cm4gY2xheno7XHJcbiAgICAgICAgfVxyXG5cclxuXHJcbiAgICAgICAgY29uc3QgYXJyID0gQXJyYXlIZWxwZXIuZGlzdGluY3QodGhpcy5wYXJzZUNsYXNzTmFtZXMoY2xhenopLmNvbmNhdCh0aGlzLnBhcnNlQ2xhc3NOYW1lcyhhZGRDbGFzc2VzKSkpO1xyXG5cclxuICAgICAgICByZXR1cm4gQXJyYXkuaXNBcnJheShjbGF6eikgPyBhcnIgYXMgVCA6IGFyci5qb2luKCcgJykgYXMgVDtcclxuICAgIH1cclxuXHJcblxyXG4gICAgc3RhdGljIHJlbW92ZUNsYXNzPFQgZXh0ZW5kcyBzdHJpbmcgfCBzdHJpbmdbXSB8IG51bGwgfCB1bmRlZmluZWQ+KGNsYXp6OiBULCByZW1vdmVDbGFzc2VzPzogc3RyaW5nIHwgc3RyaW5nW10gfCBudWxsKTogVCB7XHJcbiAgICAgICAgaWYgKCFjbGF6eiB8fCBjbGF6eiA9PT0gJycpIHtcclxuICAgICAgICAgICAgcmV0dXJuIGNsYXp6O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaWYgKCFyZW1vdmVDbGFzc2VzIHx8IHJlbW92ZUNsYXNzZXMgPT09ICcnIHx8IHJlbW92ZUNsYXNzZXMubGVuZ3RoID09PSAwKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBjbGF6ejtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGNvbnN0IGFyckNsYXNzZXMgPSB0aGlzLnBhcnNlQ2xhc3NOYW1lcyhjbGF6eik7XHJcbiAgICAgICAgY29uc3QgYXJyUmVtb3ZlID0gdGhpcy5wYXJzZUNsYXNzTmFtZXMocmVtb3ZlQ2xhc3Nlcyk7XHJcblxyXG4gICAgICAgIGNvbnN0IGFycjogYW55W10gPSBbXTtcclxuICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IGFyckNsYXNzZXMubGVuZ3RoOyBpKyspIHtcclxuICAgICAgICAgICAgY29uc3QgdmFsID0gYXJyQ2xhc3Nlc1tpXTtcclxuICAgICAgICAgICAgaWYgKCFBcnJheUhlbHBlci5jb250YWlucyhhcnJSZW1vdmUsIHZhbCkpIHtcclxuICAgICAgICAgICAgICAgIGFyci5wdXNoKHZhbCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIEFycmF5LmlzQXJyYXkoY2xhenopID8gYXJyIGFzIFQgOiBhcnIuam9pbignICcpIGFzIFQ7XHJcbiAgICB9XHJcblxyXG5cclxuICAgIHN0YXRpYyBwYXJzZUNsYXNzTmFtZXMocmF3Pzogc3RyaW5nIHwgc3RyaW5nW10gfCBudWxsKSB7XHJcbiAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkocmF3KSkge1xyXG4gICAgICAgICAgICByZXR1cm4gcmF3XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBpZiAodHlwZW9mIHJhdyA9PT0gJ3N0cmluZycpIHtcclxuICAgICAgICAgICAgcmV0dXJuIHJhdy5zcGxpdCgvXFxzKy8pXHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICByZXR1cm4gW11cclxuICAgIH1cclxufSJdfQ==
@@ -3,10 +3,9 @@ export class DateHelper {
3
3
  static minDate() {
4
4
  return new Date(0);
5
5
  }
6
- ;
7
6
  static equals(value1, value2) {
8
- let val1 = (value1 === undefined || value1 === null) ? null : value1;
9
- let val2 = (value2 === undefined || value2 === null) ? null : value2;
7
+ const val1 = (value1 === undefined || value1 === null) ? null : value1;
8
+ const val2 = (value2 === undefined || value2 === null) ? null : value2;
10
9
  if (val1 === val2) {
11
10
  return true;
12
11
  }
@@ -16,8 +15,8 @@ export class DateHelper {
16
15
  return val1.getTime() === val2.getTime();
17
16
  }
18
17
  static getDates(start, end) {
19
- var dates = new Array();
20
- var date = new Date(start.valueOf());
18
+ const dates = new Array();
19
+ let date = new Date(start.valueOf());
21
20
  while (date <= end) {
22
21
  dates.push(new Date(date));
23
22
  date = this.addDays(date, 1);
@@ -25,24 +24,24 @@ export class DateHelper {
25
24
  return dates;
26
25
  }
27
26
  static dateOnly(value) {
28
- let year = value.getFullYear();
29
- let month = value.getMonth();
30
- let day = value.getDate();
31
- let date = new Date(Date.UTC(year, month, day));
27
+ const year = value.getFullYear();
28
+ const month = value.getMonth();
29
+ const day = value.getDate();
30
+ const date = new Date(Date.UTC(year, month, day));
32
31
  return date;
33
32
  }
34
33
  static today() {
35
34
  return this.dateOnly(new Date());
36
35
  }
37
36
  static toISODateString(value) {
38
- let date = this.parseDate(value);
37
+ const date = this.parseDate(value);
39
38
  if (!date)
40
39
  return null;
41
- let year = date.getFullYear();
40
+ const year = date.getFullYear();
42
41
  // Add +1 to month since 0 is January
43
- let month = date.getMonth() + 1;
44
- let day = date.getDate();
45
- let str = `${year}-${month < 10 ? '0' : ''}${month}-${day < 10 ? '0' : ''}${day}`;
42
+ const month = date.getMonth() + 1;
43
+ const day = date.getDate();
44
+ const str = `${year}-${month < 10 ? '0' : ''}${month}-${day < 10 ? '0' : ''}${day}`;
46
45
  return str;
47
46
  }
48
47
  //** Offes seconds ( offsetmin * 60sec * 1000ms) */
@@ -54,42 +53,39 @@ export class DateHelper {
54
53
  return new Date(utc.getTime() - this._utcDiff);
55
54
  }
56
55
  static addTime(value, time) {
57
- let tmp = TimeHelper.parseTime(time);
56
+ const tmp = TimeHelper.parseTime(time);
58
57
  if (!tmp)
59
58
  return value;
60
- let timeDate = new Date('1970-01-01T' + time + 'Z');
61
- let date = value;
59
+ const timeDate = new Date('1970-01-01T' + time + 'Z');
60
+ const date = value;
62
61
  date.setTime(date.getTime() + timeDate.getTime());
63
62
  return date;
64
63
  }
65
- ;
66
64
  static addYears(v, years) {
67
65
  if (!years)
68
66
  return v;
69
- let date = v;
67
+ const date = v;
70
68
  date.setFullYear(v.getFullYear() + years);
71
69
  return date;
72
70
  }
73
71
  static addMonths(v, months) {
74
72
  if (!months)
75
73
  return v;
76
- let date = v;
74
+ const date = v;
77
75
  date.setMonth(date.getMonth() + months);
78
76
  return date;
79
77
  }
80
- ;
81
78
  static addDays(v, days) {
82
79
  if (!days)
83
80
  return v;
84
- let date = v;
81
+ const date = v;
85
82
  date.setDate(date.getDate() + days);
86
83
  return date;
87
84
  }
88
- ;
89
85
  static addHours(v, hours) {
90
86
  if (!hours)
91
87
  return v;
92
- let date = new Date(v);
88
+ const date = new Date(v);
93
89
  //todo need to check if this line needs --> date = new Date(date.getTime());
94
90
  date.setHours(date.getHours() + hours);
95
91
  return date;
@@ -97,7 +93,7 @@ export class DateHelper {
97
93
  static addMinutes(v, minutes) {
98
94
  if (!minutes)
99
95
  return v;
100
- let date = new Date(v);
96
+ const date = new Date(v);
101
97
  //todo need to check if this line needs --> date = new Date(date.getTime());
102
98
  date.setMinutes(date.getMinutes() + minutes);
103
99
  return date;
@@ -105,76 +101,65 @@ export class DateHelper {
105
101
  static addSeconds(v, seconds) {
106
102
  if (!seconds)
107
103
  return v;
108
- let date = v;
104
+ const date = v;
109
105
  date.setSeconds(date.getSeconds() + seconds);
110
106
  return date;
111
107
  }
112
- ;
113
108
  static isToday(date) {
114
- let today = new Date();
109
+ const today = new Date();
115
110
  return this.isSameDate(date, today);
116
111
  }
117
- ;
118
112
  static clone(date) {
119
113
  return new Date(+date);
120
114
  }
121
- ;
122
115
  static isAnotherMonth(a, b) {
123
116
  return b && a.getMonth() !== b.getMonth();
124
117
  }
125
- ;
126
118
  static isWeekend(v) {
127
119
  return v.getDay() === 0 || v.getDay() === 6;
128
120
  }
129
- ;
130
121
  static isSameDate(a, b) {
131
122
  return b && a.getFullYear() === b.getFullYear() && a.getMonth() === b.getMonth() && a.getDate() === b.getDate();
132
123
  }
133
- ;
134
124
  static getAge(value, now) {
135
125
  if (value === undefined || value === null || value === '' || value !== value)
136
126
  return null;
137
127
  const date = this.toDate(value);
138
- let nowTime = now ? now.getTime() : Date.now();
139
- let timeDiff = nowTime - date.getTime();
128
+ const nowTime = now ? now.getTime() : Date.now();
129
+ const timeDiff = nowTime - date.getTime();
140
130
  return Math.floor((timeDiff / 86400000) / 365.25); //86400000 = (1000 * 60 * 60 * 24) = 1000 millisecond * 60second * 60minute * 24hour
141
131
  }
142
- ;
143
132
  static subtractMonths(endDate, starDate) {
144
- let start = starDate <= endDate ? starDate : endDate;
145
- let end = starDate <= endDate ? endDate : starDate;
146
- let plus = starDate <= endDate ? 1 : -1;
133
+ const start = starDate <= endDate ? starDate : endDate;
134
+ const end = starDate <= endDate ? endDate : starDate;
135
+ const plus = starDate <= endDate ? 1 : -1;
147
136
  let months = (end.getFullYear() - start.getFullYear()) * 12;
148
137
  months -= start.getMonth();
149
138
  months += end.getMonth();
150
139
  return months * plus;
151
140
  }
152
- ;
153
141
  static subtractDays(value, date) {
154
142
  if (!date)
155
143
  return null;
156
144
  date = this.toDate(date);
157
- let timeDiff = date.getTime() - value.getTime();
145
+ const timeDiff = date.getTime() - value.getTime();
158
146
  return Math.floor(timeDiff / 86400000); //86400000 = (1000 * 60 * 60 * 24) = 1000 millisecond * 60second * 60minute * 24hour
159
147
  }
160
- ;
161
148
  static subtractHours(value, date) {
162
149
  if (!date)
163
150
  return null;
164
151
  date = this.toDate(date);
165
- let timeDiff = date.getTime() - value.getTime();
152
+ const timeDiff = date.getTime() - value.getTime();
166
153
  return Math.floor((timeDiff % 86400000) / 3600000);
167
154
  }
168
- ;
169
155
  static subtractMinutes(value, date) {
170
156
  if (!date)
171
157
  return null;
172
158
  date = this.toDate(date);
173
- let timeDiff = date.getTime() - value.getTime();
159
+ const timeDiff = date.getTime() - value.getTime();
174
160
  //
175
161
  return Math.floor(((timeDiff % 86400000) % 3600000) / 60000);
176
162
  }
177
- ;
178
163
  static { this.ISO8601_DATE_REGEX = /^(\d{4})-?(\d\d)-?(\d\d)(?:T(\d\d)(?::?(\d\d)(?::?(\d\d)(?:\.(\d+))?)?)?(Z|([+-])(\d\d):?(\d\d))?)?$/; }
179
164
  // 1 2 3 4 5 6 7 8 9 10 11
180
165
  static parseDate(value) {
@@ -260,4 +245,4 @@ export class DateHelper {
260
245
  return value instanceof Date && !isNaN(value.valueOf());
261
246
  }
262
247
  }
263
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS1oZWxwZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy96ZWsvc3JjL2xpYi91dGlscy9kYXRlLWhlbHBlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTNDLE1BQU0sT0FBTyxVQUFVO0lBRW5CLE1BQU0sQ0FBQyxPQUFPO1FBQ1YsT0FBTyxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUN2QixDQUFDO0lBQUEsQ0FBQztJQUVGLE1BQU0sQ0FBQyxNQUFNLENBQUMsTUFBb0IsRUFBRSxNQUFvQjtRQUNwRCxJQUFJLElBQUksR0FBRyxDQUFDLE1BQU0sS0FBSyxTQUFTLElBQUksTUFBTSxLQUFLLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQztRQUNyRSxJQUFJLElBQUksR0FBRyxDQUFDLE1BQU0sS0FBSyxTQUFTLElBQUksTUFBTSxLQUFLLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQztRQUdyRSxJQUFJLElBQUksS0FBSyxJQUFJLEVBQUUsQ0FBQztZQUNoQixPQUFPLElBQUksQ0FBQztRQUNoQixDQUFDO1FBRUQsSUFBSSxDQUFDLElBQUksSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO1lBQ2pCLE9BQU8sS0FBSyxDQUFDO1FBQ2pCLENBQUM7UUFFRCxPQUFPLElBQUksQ0FBQyxPQUFPLEVBQUUsS0FBSyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDN0MsQ0FBQztJQUVELE1BQU0sQ0FBQyxRQUFRLENBQUMsS0FBVyxFQUFFLEdBQVM7UUFDbEMsSUFBSSxLQUFLLEdBQUcsSUFBSSxLQUFLLEVBQVEsQ0FBQztRQUM5QixJQUFJLElBQUksR0FBRyxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsT0FB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RztJQUNILE1BQU0sQ0FBQyxlQUFlLENBQUMsS0FBdUI7UUFDMUMsTUFBTSxJQUFJLEdBQUcsSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDekIsSUFBSSxNQUFNLEdBQUcsQ0FBQyxDQUFDO1FBQ2YsSUFBSSxLQUFLLEdBQUcsQ0FBQyxDQUFDO1FBRWQsMkZBQTJGO1FBQzNGLE1BQU0sVUFBVSxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQztRQUNyRSxNQUFNLFVBQVUsR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUM7UUFFL0QsMERBQTBEO1FBQzFELElBQUksS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7WUFDWCxNQUFNLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsR0FBRyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztZQUN0QyxLQUFLLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsR0FBRyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUN6QyxDQUFDO1FBQ0QsVUFBVSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEVBQUUsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDaEYsTUFBTSxDQUFDLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsR0FBRyxNQUFNLENBQUM7UUFDekMsTUFBTSxDQUFDLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsR0FBRyxLQUFLLENBQUM7UUFDeEMsTUFBTSxDQUFDLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztRQUNoQyxNQUFNLEVBQUUsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxJQUFJLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsQ0FBQztRQUNqRSxVQUFVLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztRQUNuQyxPQUFPLElBQUksQ0FBQztJQUNoQixDQUFDO0lBRUQsTUFBTSxDQUFDLE1BQU0sQ0FBQyxLQUFVO1FBQ3BCLE9BQU8sS0FBSyxZQUFZLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQztJQUM1RCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVGltZUhlbHBlciB9IGZyb20gXCIuL3RpbWUtaGVscGVyXCI7XHJcblxyXG5leHBvcnQgY2xhc3MgRGF0ZUhlbHBlciB7XHJcblxyXG4gICAgc3RhdGljIG1pbkRhdGUoKSB7XHJcbiAgICAgICAgcmV0dXJuIG5ldyBEYXRlKDApO1xyXG4gICAgfTtcclxuXHJcbiAgICBzdGF0aWMgZXF1YWxzKHZhbHVlMT86IERhdGUgfCBudWxsLCB2YWx1ZTI/OiBEYXRlIHwgbnVsbCkge1xyXG4gICAgICAgIGxldCB2YWwxID0gKHZhbHVlMSA9PT0gdW5kZWZpbmVkIHx8IHZhbHVlMSA9PT0gbnVsbCkgPyBudWxsIDogdmFsdWUxO1xyXG4gICAgICAgIGxldCB2YWwyID0gKHZhbHVlMiA9PT0gdW5kZWZpbmVkIHx8IHZhbHVlMiA9PT0gbnVsbCkgPyBudWxsIDogdmFsdWUyO1xyXG5cclxuXHJcbiAgICAgICAgaWYgKHZhbDEgPT09IHZhbDIpIHtcclxuICAgICAgICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBpZiAoIXZhbDEgfHwgIXZhbDIpIHtcclxuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgcmV0dXJuIHZhbDEuZ2V0VGltZSgpID09PSB2YWwyLmdldFRpbWUoKTtcclxuICAgIH1cclxuXHJcbiAgICBzdGF0aWMgZ2V0RGF0ZXMoc3RhcnQ6IERhdGUsIGVuZDogRGF0ZSkge1xyXG4gICAgICAgIHZhciBkYXRlcyA9IG5ldyBBcnJheTxEYXRlPigpO1xyXG4gICAgICAgIHZhciBkYXRlID0gbmV3IERhdGUoc3RhcnQudmFsdWVPZigpKTtcclxuICAgICAgICB3aGlsZSAoZGF0ZSA8PSBlbmQpIHtcclxuICAgICAgICAgICAgZGF0ZXMucHVzaChuZXcgRGF0ZShkYXRlKSk7XHJcbiAgICAgICAgICAgIGRhdGUgPSB0aGlzLmFkZERheXMoZGF0ZSwgMSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBkYXRlcztcclxuICAgIH1cclxuXHJcbiAgICBzdGF0aWMgZGF0ZU9ubHkodmFsdWU6IERhdGUpIHtcclxuICAgICAgICBsZXQgeWVhciA9IHZhbHVlLmdldEZ1bGxZZWFyKCk7XHJcbiAgICAgICAgbGV0IG1vbnRoID0gdmFsdWUuZ2V0TW9udGgoKTtcclxuICAgICAgICBsZXQgZGF5ID0gdmFsdWUuZ2V0RGF0ZSgpO1xyXG4gICAgICAgIGxldCBkYXRlID0gbmV3IERhdGUoRGF0ZS5VVEMoeWVhciwgbW9udGgsIGRheSkpO1xyXG5cclxuICAgICAgICByZXR1cm4gZGF0ZTtcclxuICAgIH1cclxuICAgIHN0YXRpYyB0b2RheSgpe1xyXG4gICAgICAgIHJldHVybiB0aGlzLmRhdGVPbmx5KG5ldyBEYXRlKCkpO1xyXG4gICAgfVxyXG5cclxuICAgIHN0YXRpYyB0b0lTT0RhdGVTdHJpbmcodmFsdWU6IERhdGUgfCBzdHJpbmcpIHtcclxuICAgICAgICBsZXQgZGF0ZSA9IHRoaXMucGFyc2VEYXRlKHZhbHVlKTtcclxuXHJcbiAgICAgICAgaWYgKCFkYXRlKVxyXG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcclxuXHJcbiAgICAgICAgbGV0IHllYXIgPSBkYXRlLmdldEZ1bGxZZWFyKCk7XHJcbiAgICAgICAgLy8gQWRkICsxIHRvIG1vbnRoIHNpbmNlIDAgaXMgSmFudWFyeVxyXG4gICAgICAgIGxldCBtb250aCA9IGRhdGUuZ2V0TW9udGgoKSArIDE7XHJcbiAgICAgICAgbGV0IGRheSA9IGRhdGUuZ2V0RGF0ZSgpO1xyXG5cclxuICAgICAgICBsZXQgc3RyID0gYCR7eWVhcn0tJHttb250aCA8IDEwID8gJzAnIDogJyd9JHttb250aH0tJHtkYXkgPCAxMCA/ICcwJyA6ICcnfSR7ZGF5fWA7XHJcbiAgICAgICAgcmV0dXJuIHN0cjtcclxuICAgIH1cclxuXHJcbiAgICAvLyoqIE9mZmVzIHNlY29uZHMgKCBvZmZzZXRtaW4gKiA2MHNlYyAqIDEwMDBtcykgKi9cclxuICAgIHByaXZhdGUgc3RhdGljIHJlYWRvbmx5IF91dGNEaWZmID0gLW5ldyBEYXRlKCkuZ2V0VGltZXpvbmVPZmZzZXQoKSAqIDYwMDAwO1xyXG4gICAgc3RhdGljIHV0Y1RvTG9jYWwodXRjOiBEYXRlKSB7XHJcbiAgICAgICAgcmV0dXJuIG5ldyBEYXRlKHV0Yy5nZXRUaW1lKCkgKyB0aGlzLl91dGNEaWZmKTtcclxuICAgIH1cclxuICAgIHN0YXRpYyBsb2NhbFRvVXRjKHV0YzogRGF0ZSkge1xyXG4gICAgICAgIHJldHVybiBuZXcgRGF0ZSh1dGMuZ2V0VGltZSgpIC0gdGhpcy5fdXRjRGlmZik7XHJcbiAgICB9XHJcblxyXG4gICAgc3RhdGljIGFkZFRpbWUodmFsdWU6IERhdGUsIHRpbWU6IHN0cmluZyB8IHVuZGVmaW5lZCB8IG51bGwpIHtcclxuICAgICAgICBsZXQgdG1wID0gVGltZUhlbHBlci5wYXJzZVRpbWUodGltZSk7XHJcbiAgICAgICAgaWYgKCF0bXApIHJldHVybiB2YWx1ZTtcclxuXHJcbiAgICAgICAgbGV0IHRpbWVEYXRlID0gbmV3IERhdGUoJzE5NzAtMDEtMDFUJyArIHRpbWUgKyAnWicpO1xyXG4gICAgICAgIGxldCBkYXRlID0gdmFsdWU7XHJcbiAgICAgICAgZGF0ZS5zZXRUaW1lKGRhdGUuZ2V0VGltZSgpICsgdGltZURhdGUuZ2V0VGltZSgpKTtcclxuICAgICAgICByZXR1cm4gZGF0ZTtcclxuICAgIH07XHJcbiAgICBzdGF0aWMgYWRkWWVhcnModjogRGF0ZSwgeWVhcnM6IG51bWJlcik6IERhdGUge1xyXG4gICAgICAgIGlmICgheWVhcnMpIHJldHVybiB2O1xyXG5cclxuICAgICAgICBsZXQgZGF0ZSA9IHY7XHJcbiAgICAgICAgZGF0ZS5zZXRGdWxsWWVhcih2LmdldEZ1bGxZZWFyKCkgKyB5ZWFycyk7XHJcbiAgICAgICAgcmV0dXJuIGRhdGU7XHJcbiAgICB9XHJcbiAgICBzdGF0aWMgYWRkTW9udGhzKHY6IERhdGUsIG1vbnRoczogbnVtYmVyKSB7XHJcbiAgICAgICAgaWYgKCFtb250aHMpIHJldHVybiB2O1xyXG5cclxuICAgICAgICBsZXQgZGF0ZSA9IHY7XHJcbiAgICAgICAgZGF0ZS5zZXRNb250aChkYXRlLmdldE1vbnRoKCkgKyBtb250aHMpO1xyXG4gICAgICAgIHJldHVybiBkYXRlO1xyXG4gICAgfTtcclxuICAgIHN0YXRpYyBhZGREYXlzKHY6IERhdGUsIGRheXM6IG51bWJlcikge1xyXG4gICAgICAgIGlmICghZGF5cykgcmV0dXJuIHY7XHJcblxyXG4gICAgICAgIGxldCBkYXRlID0gdjtcclxuICAgICAgICBkYXRlLnNldERhdGUoZGF0ZS5nZXREYXRlKCkgKyBkYXlzKTtcclxuICAgICAgICByZXR1cm4gZGF0ZTtcclxuICAgIH07XHJcbiAgICBzdGF0aWMgYWRkSG91cnModjogRGF0ZSwgaG91cnM6IG51bWJlcikge1xyXG4gICAgICAgIGlmICghaG91cnMpIHJldHVybiB2O1xyXG5cclxuICAgICAgICBsZXQgZGF0ZSA9IG5ldyBEYXRlKHYpO1xyXG4gICAgICAgIC8vdG9kbyBuZWVkIHRvIGNoZWNrIGlmIHRoaXMgbGluZSBuZWVkcyAtLT4gZGF0ZSA9IG5ldyBEYXRlKGRhdGUuZ2V0VGltZSgpKTtcclxuICAgICAgICBkYXRlLnNldEhvdXJzKGRhdGUuZ2V0SG91cnMoKSArIGhvdXJzKTtcclxuICAgICAgICByZXR1cm4gZGF0ZTtcclxuICAgIH1cclxuICAgIHN0YXRpYyBhZGRNaW51dGVzKHY6IERhdGUsIG1pbnV0ZXM6IG51bWJlcikge1xyXG4gICAgICAgIGlmICghbWludXRlcykgcmV0dXJuIHY7XHJcblxyXG4gICAgICAgIGxldCBkYXRlID0gbmV3IERhdGUodik7XHJcbiAgICAgICAgLy90b2RvIG5lZWQgdG8gY2hlY2sgaWYgdGhpcyBsaW5lIG5lZWRzIC0tPiBkYXRlID0gbmV3IERhdGUoZGF0ZS5nZXRUaW1lKCkpO1xyXG4gICAgICAgIGRhdGUuc2V0TWludXRlcyhkYXRlLmdldE1pbnV0ZXMoKSArIG1pbnV0ZXMpO1xyXG4gICAgICAgIHJldHVybiBkYXRlO1xyXG4gICAgfVxyXG4gICAgc3RhdGljIGFkZFNlY29uZHModjogRGF0ZSwgc2Vjb25kczogbnVtYmVyKSB7XHJcbiAgICAgICAgaWYgKCFzZWNvbmRzKSByZXR1cm4gdjtcclxuXHJcbiAgICAgICAgbGV0IGRhdGUgPSB2O1xyXG4gICAgICAgIGRhdGUuc2V0U2Vjb25kcyhkYXRlLmdldFNlY29uZHMoKSArIHNlY29uZHMpO1xyXG5cclxuICAgICAgICByZXR1cm4gZGF0ZTtcclxuICAgIH07XHJcbiAgICBzdGF0aWMgaXNUb2RheShkYXRlOiBEYXRlKSB7XHJcbiAgICAgICAgbGV0IHRvZGF5ID0gbmV3IERhdGUoKTtcclxuICAgICAgICByZXR1cm4gdGhpcy5pc1NhbWVEYXRlKGRhdGUsIHRvZGF5KTtcclxuICAgIH07XHJcbiAgICBzdGF0aWMgY2xvbmUoZGF0ZTogRGF0ZSkge1xyXG4gICAgICAgIHJldHVybiBuZXcgRGF0ZSgrZGF0ZSk7XHJcbiAgICB9O1xyXG4gICAgc3RhdGljIGlzQW5vdGhlck1vbnRoKGE6IERhdGUsIGI6IERhdGUpIHtcclxuICAgICAgICByZXR1cm4gYiAmJiBhLmdldE1vbnRoKCkgIT09IGIuZ2V0TW9udGgoKTtcclxuICAgIH07XHJcbiAgICBzdGF0aWMgaXNXZWVrZW5kKHY6IERhdGUsKTogYm9vbGVhbiB7XHJcbiAgICAgICAgcmV0dXJuIHYuZ2V0RGF5KCkgPT09IDAgfHwgdi5nZXREYXkoKSA9PT0gNjtcclxuICAgIH07XHJcbiAgICBzdGF0aWMgaXNTYW1lRGF0ZShhOiBEYXRlLCBiOiBEYXRlKSB7XHJcbiAgICAgICAgcmV0dXJuIGIgJiYgYS5nZXRGdWxsWWVhcigpID09PSBiLmdldEZ1bGxZZWFyKCkgJiYgYS5nZXRNb250aCgpID09PSBiLmdldE1vbnRoKCkgJiYgYS5nZXREYXRlKCkgPT09IGIuZ2V0RGF0ZSgpO1xyXG4gICAgfTtcclxuXHJcblxyXG4gICAgc3RhdGljIGdldEFnZSh2YWx1ZT86IERhdGUgfCBzdHJpbmcgfCBudWxsLCBub3c/OiBEYXRlIHwgbnVsbCkge1xyXG4gICAgICAgIGlmICh2YWx1ZSA9PT0gdW5kZWZpbmVkIHx8IHZhbHVlID09PSBudWxsIHx8IHZhbHVlID09PSAnJyB8fCB2YWx1ZSAhPT0gdmFsdWUpIHJldHVybiBudWxsO1xyXG5cclxuICAgICAgICBjb25zdCBkYXRlID0gdGhpcy50b0RhdGUodmFsdWUpO1xyXG5cclxuICAgICAgICBsZXQgbm93VGltZSA9IG5vdyA/IG5vdy5nZXRUaW1lKCkgOiBEYXRlLm5vdygpO1xyXG4gICAgICAgIGxldCB0aW1lRGlmZiA9IG5vd1RpbWUgLSBkYXRlLmdldFRpbWUoKTtcclxuXHJcbiAgICAgICAgcmV0dXJuIE1hdGguZmxvb3IoKHRpbWVEaWZmIC8gODY0MDAwMDApIC8gMzY1LjI1KTsvLzg2NDAwMDAwID0gKDEwMDAgKiA2MCAqIDYwICogMjQpID0gMTAwMCBtaWxsaXNlY29uZCAqIDYwc2Vjb25kICAqIDYwbWludXRlICogMjRob3VyXHJcbiAgICB9O1xyXG4gICAgc3RhdGljIHN1YnRyYWN0TW9udGhzKGVuZERhdGU6IERhdGUsIHN0YXJEYXRlOiBEYXRlKSB7XHJcbiAgICAgICAgbGV0IHN0YXJ0ID0gc3RhckRhdGUgPD0gZW5kRGF0ZSA/IHN0YXJEYXRlIDogZW5kRGF0ZTtcclxuICAgICAgICBsZXQgZW5kID0gc3RhckRhdGUgPD0gZW5kRGF0ZSA/IGVuZERhdGUgOiBzdGFyRGF0ZTtcclxuICAgICAgICBsZXQgcGx1cyA9IHN0YXJEYXRlIDw9IGVuZERhdGUgPyAxIDogLTE7XHJcblxyXG4gICAgICAgIGxldCBtb250aHMgPSAoZW5kLmdldEZ1bGxZZWFyKCkgLSBzdGFydC5nZXRGdWxsWWVhcigpKSAqIDEyO1xyXG4gICAgICAgIG1vbnRocyAtPSBzdGFydC5nZXRNb250aCgpO1xyXG4gICAgICAgIG1vbnRocyArPSBlbmQuZ2V0TW9udGgoKTtcclxuICAgICAgICByZXR1cm4gbW9udGhzICogcGx1cztcclxuICAgIH07XHJcblxyXG4gICAgc3RhdGljIHN1YnRyYWN0RGF5cyh2YWx1ZTogRGF0ZSwgZGF0ZTogRGF0ZSkge1xyXG4gICAgICAgIGlmICghZGF0ZSlcclxuICAgICAgICAgICAgcmV0dXJuIG51bGw7XHJcblxyXG4gICAgICAgIGRhdGUgPSB0aGlzLnRvRGF0ZShkYXRlKTtcclxuICAgICAgICBsZXQgdGltZURpZmYgPSBkYXRlLmdldFRpbWUoKSAtIHZhbHVlLmdldFRpbWUoKTtcclxuICAgICAgICByZXR1cm4gTWF0aC5mbG9vcih0aW1lRGlmZiAvIDg2NDAwMDAwKTsvLzg2NDAwMDAwID0gKDEwMDAgKiA2MCAqIDYwICogMjQpID0gMTAwMCBtaWxsaXNlY29uZCAqIDYwc2Vjb25kICAqIDYwbWludXRlICogMjRob3VyXHJcbiAgICB9O1xyXG4gICAgc3RhdGljIHN1YnRyYWN0SG91cnModmFsdWU6IERhdGUsIGRhdGU/OiBEYXRlIHwgbnVsbCkge1xyXG4gICAgICAgIGlmICghZGF0ZSlcclxuICAgICAgICAgICAgcmV0dXJuIG51bGw7XHJcblxyXG4gICAgICAgIGRhdGUgPSB0aGlzLnRvRGF0ZShkYXRlKTtcclxuICAgICAgICBsZXQgdGltZURpZmYgPSBkYXRlLmdldFRpbWUoKSAtIHZhbHVlLmdldFRpbWUoKTtcclxuICAgICAgICByZXR1cm4gTWF0aC5mbG9vcigodGltZURpZmYgJSA4NjQwMDAwMCkgLyAzNjAwMDAwKTtcclxuICAgIH07XHJcbiAgICBzdGF0aWMgc3VidHJhY3RNaW51dGVzKHZhbHVlOiBEYXRlLCBkYXRlPzogRGF0ZSB8IG51bGwpIHtcclxuICAgICAgICBpZiAoIWRhdGUpXHJcbiAgICAgICAgICAgIHJldHVybiBudWxsO1xyXG5cclxuICAgICAgICBkYXRlID0gdGhpcy50b0RhdGUoZGF0ZSk7XHJcbiAgICAgICAgbGV0IHRpbWVEaWZmID0gZGF0ZS5nZXRUaW1lKCkgLSB2YWx1ZS5nZXRUaW1lKCk7XHJcbiAgICAgICAgLy9cclxuICAgICAgICByZXR1cm4gTWF0aC5mbG9vcigoKHRpbWVEaWZmICUgODY0MDAwMDApICUgMzYwMDAwMCkgLyA2MDAwMCk7XHJcbiAgICB9O1xyXG5cclxuXHJcblxyXG5cclxuICAgIHN0YXRpYyBJU084NjAxX0RBVEVfUkVHRVggPVxyXG4gICAgICAgIC9eKFxcZHs0fSktPyhcXGRcXGQpLT8oXFxkXFxkKSg/OlQoXFxkXFxkKSg/Ojo/KFxcZFxcZCkoPzo6PyhcXGRcXGQpKD86XFwuKFxcZCspKT8pPyk/KFp8KFsrLV0pKFxcZFxcZCk6PyhcXGRcXGQpKT8pPyQvO1xyXG4gICAgLy8gICAgICAgIDEgICAgICAgIDIgICAgICAgMyAgICAgICAgIDQgICAgICAgICAgNSAgICAgICAgICA2ICAgICAgICAgIDcgICAgICAgICAgOCAgOSAgICAgMTAgICAgICAxMVxyXG5cclxuXHJcbiAgICBzdGF0aWMgcGFyc2VEYXRlKHZhbHVlOiBhbnkpOiBEYXRlIHwgbnVsbCB7XHJcbiAgICAgICAgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gJ3VuZGVmaW5lZCcgfHwgdmFsdWUgPT0gbnVsbCB8fCB2YWx1ZSA9PT0gJycpIHJldHVybiBudWxsO1xyXG4gICAgICAgIHJldHVybiB0aGlzLnRvRGF0ZSh2YWx1ZSk7XHJcbiAgICB9XHJcblxyXG4gICAgLy8gIGV4cG9ydCBmdW5jdGlvbiB0b0RhdGUodmFsdWU6IHN0cmluZ3xudW1iZXJ8RGF0ZSk6IERhdGUgdGhpcyBmdW5jdGlvbiBpcyBpbXBvcnRlZCBmcm9tIGRhdGUgcGlwZSBcclxuICAgIC8vIHBhY2thZ2VzL2NvbW1vbi9zcmMvaTE4bi9mb3JtYXRfZGF0ZS50c1xyXG5cclxuICAgIC8qKipcclxuICAgICAqIENvbnZlcnRzIGEgdmFsdWUgdG8gZGF0ZS5cclxuICAgICAqXHJcbiAgICAgKiBTdXBwb3J0ZWQgaW5wdXQgZm9ybWF0czpcclxuICAgICAqIC0gYERhdGVgXHJcbiAgICAgKiAtIG51bWJlcjogdGltZXN0YW1wXHJcbiAgICAgKiAtIHN0cmluZzogbnVtZXJpYyAoZS5nLiBcIjEyMzRcIiksIElTTyBhbmQgZGF0ZSBzdHJpbmdzIGluIGEgZm9ybWF0IHN1cHBvcnRlZCBieVxyXG4gICAgICogICBbRGF0ZS5wYXJzZSgpXShodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9lbi1VUy9kb2NzL1dlYi9KYXZhU2NyaXB0L1JlZmVyZW5jZS9HbG9iYWxfT2JqZWN0cy9EYXRlL3BhcnNlKS5cclxuICAgICAqICAgTm90ZTogSVNPIHN0cmluZ3Mgd2l0aG91dCB0aW1lIHJldHVybiBhIGRhdGUgd2l0aG91dCB0aW1lb2Zmc2V0LlxyXG4gICAgICpcclxuICAgICAqIFRocm93cyBpZiB1bmFibGUgdG8gY29udmVydCB0byBhIGRhdGUuXHJcbiAgICAgKi9cclxuICAgIHN0YXRpYyB0b0RhdGUodmFsdWU6IHN0cmluZyB8IG51bWJlciB8IERhdGUpOiBEYXRlIHtcclxuICAgICAgICBpZiAodGhpcy5pc0RhdGUodmFsdWUpKSB7XHJcbiAgICAgICAgICAgIHJldHVybiB2YWx1ZTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlmICh0eXBlb2YgdmFsdWUgPT09ICdudW1iZXInICYmICFpc05hTih2YWx1ZSkpIHtcclxuICAgICAgICAgICAgcmV0dXJuIG5ldyBEYXRlKHZhbHVlKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlmICh0eXBlb2YgdmFsdWUgPT09ICdzdHJpbmcnKSB7XHJcbiAgICAgICAgICAgIHZhbHVlID0gdmFsdWUudHJpbSgpO1xyXG5cclxuICAgICAgICAgICAgY29uc3QgcGFyc2VkTmIgPSBwYXJzZUZsb2F0KHZhbHVlKTtcclxuXHJcbiAgICAgICAgICAgIC8vIGFueSBzdHJpbmcgdGhhdCBvbmx5IGNvbnRhaW5zIG51bWJlcnMsIGxpa2UgXCIxMjM0XCIgYnV0IG5vdCBsaWtlIFwiMTIzNGhlbGxvXCJcclxuICAgICAgICAgICAgaWYgKCFpc05hTih2YWx1ZSBhcyBhbnkgLSBwYXJzZWROYikpIHtcclxuICAgICAgICAgICAgICAgIHJldHVybiBuZXcgRGF0ZShwYXJzZWROYik7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIGlmICgvXihcXGR7NH0tXFxkezEsMn0tXFxkezEsMn0pJC8udGVzdCh2YWx1ZSkpIHtcclxuICAgICAgICAgICAgICAgIC8qIEZvciBJU08gU3RyaW5ncyB3aXRob3V0IHRpbWUgdGhlIGRheSwgbW9udGggYW5kIHllYXIgbXVzdCBiZSBleHRyYWN0ZWQgZnJvbSB0aGUgSVNPIFN0cmluZ1xyXG4gICAgICAgICAgICAgICAgYmVmb3JlIERhdGUgY3JlYXRpb24gdG8gYXZvaWQgdGltZSBvZmZzZXQgYW5kIGVycm9ycyBpbiB0aGUgbmV3IERhdGUuXHJcbiAgICAgICAgICAgICAgICBJZiB3ZSBvbmx5IHJlcGxhY2UgJy0nIHdpdGggJywnIGluIHRoZSBJU08gU3RyaW5nIChcIjIwMTUsMDEsMDFcIiksIGFuZCB0cnkgdG8gY3JlYXRlIGEgbmV3XHJcbiAgICAgICAgICAgICAgICBkYXRlLCBzb21lIGJyb3dzZXJzIChlLmcuIElFIDkpIHdpbGwgdGhyb3cgYW4gaW52YWxpZCBEYXRlIGVycm9yLlxyXG4gICAgICAgICAgICAgICAgSWYgd2UgbGVhdmUgdGhlICctJyAoXCIyMDE1LTAxLTAxXCIpIGFuZCB0cnkgdG8gY3JlYXRlIGEgbmV3IERhdGUoXCIyMDE1LTAxLTAxXCIpIHRoZSB0aW1lb2Zmc2V0XHJcbiAgICAgICAgICAgICAgICBpcyBhcHBsaWVkLlxyXG4gICAgICAgICAgICAgICAgTm90ZTogSVNPIG1vbnRocyBhcmUgMCBmb3IgSmFudWFyeSwgMSBmb3IgRmVicnVhcnksIC4uLiAqL1xyXG4gICAgICAgICAgICAgICAgY29uc3QgW3ksIG0sIGRdID0gdmFsdWUuc3BsaXQoJy0nKS5tYXAoKHZhbDogc3RyaW5nKSA9PiArdmFsKTtcclxuICAgICAgICAgICAgICAgIHJldHVybiBuZXcgRGF0ZSh5LCBtIC0gMSwgZCk7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIGxldCBtYXRjaDogUmVnRXhwTWF0Y2hBcnJheSB8IG51bGw7XHJcbiAgICAgICAgICAgIGlmIChtYXRjaCA9IHZhbHVlLm1hdGNoKHRoaXMuSVNPODYwMV9EQVRFX1JFR0VYKSkge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuaXNvU3RyaW5nVG9EYXRlKG1hdGNoKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgY29uc3QgZGF0ZSA9IG5ldyBEYXRlKHZhbHVlIGFzIGFueSk7XHJcbiAgICAgICAgaWYgKCF0aGlzLmlzRGF0ZShkYXRlKSkge1xyXG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYFVuYWJsZSB0byBjb252ZXJ0IFwiJHt2YWx1ZX1cIiBpbnRvIGEgZGF0ZWApO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gZGF0ZTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIENvbnZlcnRzIGEgZGF0ZSBpbiBJU084NjAxIHRvIGEgRGF0ZS5cclxuICAgICAqIFVzZWQgaW5zdGVhZCBvZiBgRGF0ZS5wYXJzZWAgYmVjYXVzZSBvZiBicm93c2VyIGRpc2NyZXBhbmNpZXMuXHJcbiAgICAgKi9cclxuICAgIHN0YXRpYyBpc29TdHJpbmdUb0RhdGUobWF0Y2g6IFJlZ0V4cE1hdGNoQXJyYXkpOiBEYXRlIHtcclxuICAgICAgICBjb25zdCBkYXRlID0gbmV3IERhdGUoMCk7XHJcbiAgICAgICAgbGV0IHR6SG91ciA9IDA7XHJcbiAgICAgICAgbGV0IHR6TWluID0gMDtcclxuXHJcbiAgICAgICAgLy8gbWF0Y2hbOF0gbWVhbnMgdGhhdCB0aGUgc3RyaW5nIGNvbnRhaW5zIFwiWlwiIChVVEMpIG9yIGEgdGltZXpvbmUgbGlrZSBcIiswMTowMFwiIG9yIFwiKzAxMDBcIlxyXG4gICAgICAgIGNvbnN0IGRhdGVTZXR0ZXIgPSBtYXRjaFs4XSA/IGRhdGUuc2V0VVRDRnVsbFllYXIgOiBkYXRlLnNldEZ1bGxZZWFyO1xyXG4gICAgICAgIGNvbnN0IHRpbWVTZXR0ZXIgPSBtYXRjaFs4XSA/IGRhdGUuc2V0VVRDSG91cnMgOiBkYXRlLnNldEhvdXJzO1xyXG5cclxuICAgICAgICAvLyBpZiB0aGVyZSBpcyBhIHRpbWV6b25lIGRlZmluZWQgbGlrZSBcIiswMTowMFwiIG9yIFwiKzAxMDBcIlxyXG4gICAgICAgIGlmIChtYXRjaFs5XSkge1xyXG4gICAgICAgICAgICB0ekhvdXIgPSBOdW1iZXIobWF0Y2hbOV0gKyBtYXRjaFsxMF0pO1xyXG4gICAgICAgICAgICB0ek1pbiA9IE51bWJlcihtYXRjaFs5XSArIG1hdGNoWzExXSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGRhdGVTZXR0ZXIuY2FsbChkYXRlLCBOdW1iZXIobWF0Y2hbMV0pLCBOdW1iZXIobWF0Y2hbMl0pIC0gMSwgTnVtYmVyKG1hdGNoWzNdKSk7XHJcbiAgICAgICAgY29uc3QgaCA9IE51bWJlcihtYXRjaFs0XSB8fCAwKSAtIHR6SG91cjtcclxuICAgICAgICBjb25zdCBtID0gTnVtYmVyKG1hdGNoWzVdIHx8IDApIC0gdHpNaW47XHJcbiAgICAgICAgY29uc3QgcyA9IE51bWJlcihtYXRjaFs2XSB8fCAwKTtcclxuICAgICAgICBjb25zdCBtcyA9IE1hdGgucm91bmQocGFyc2VGbG9hdCgnMC4nICsgKG1hdGNoWzddIHx8IDApKSAqIDEwMDApO1xyXG4gICAgICAgIHRpbWVTZXR0ZXIuY2FsbChkYXRlLCBoLCBtLCBzLCBtcyk7XHJcbiAgICAgICAgcmV0dXJuIGRhdGU7XHJcbiAgICB9XHJcblxyXG4gICAgc3RhdGljIGlzRGF0ZSh2YWx1ZTogYW55KTogdmFsdWUgaXMgRGF0ZSB7XHJcbiAgICAgICAgcmV0dXJuIHZhbHVlIGluc3RhbmNlb2YgRGF0ZSAmJiAhaXNOYU4odmFsdWUudmFsdWVPZigpKTtcclxuICAgIH1cclxufSJdfQ==
248
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS1oZWxwZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy96ZWsvc3JjL2xpYi91dGlscy9kYXRlLWhlbHBlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTNDLE1BQU0sT0FBTyxVQUFVO0lBRW5CLE1BQU0sQ0FBQyxPQUFPO1FBQ1YsT0FBTyxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUN2QixDQUFDO0lBRUQsTUFBTSxDQUFDLE1BQU0sQ0FBQyxNQUFvQixFQUFFLE1BQW9CO1FBQ3BELE1BQU0sSUFBSSxHQUFHLENBQUMsTUFBTSxLQUFLLFNBQVMsSUFBSSxNQUFNLEtBQUssSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDO1FBQ3ZFLE1BQU0sSUFBSSxHQUFHLENBQUMsTUFBTSxLQUFLLFNBQVMsSUFBSSxNQUFNLEtBQUssSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDO1FBR3ZFLElBQUksSUFBSSxLQUFLLElBQUksRUFBRSxDQUFDO1lBQ2hCLE9BQU8sSUFBSSxDQUFDO1FBQ2hCLENBQUM7UUFFRCxJQUFJLENBQUMsSUFBSSxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDakIsT0FBTyxLQUFLLENBQUM7UUFDakIsQ0FBQztRQUVELE9BQU8sSUFBSSxDQUFDLE9BQU8sRUFBRSxLQUFLLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUM3QyxDQUFDO0lBRUQsTUFBTSxDQUFDLFFBQVEsQ0FBQyxLQUFXLEVBQUUsR0FBUztRQUNsQyxNQUFNLEtBQUssR0FBRyxJQUFJLEtBQUssRUFBUSxDQUFDO1FBQ2hDLElBQUksSUFBSSxHQUFHLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLEVBQUUsQ0FB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MkZBQTJGO1FBQzNGLE1BQU0sVUFBVSxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQztRQUNyRSxNQUFNLFVBQVUsR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUM7UUFFL0QsMERBQTBEO1FBQzFELElBQUksS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7WUFDWCxNQUFNLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsR0FBRyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztZQUN0QyxLQUFLLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsR0FBRyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUN6QyxDQUFDO1FBQ0QsVUFBVSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEVBQUUsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDaEYsTUFBTSxDQUFDLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsR0FBRyxNQUFNLENBQUM7UUFDekMsTUFBTSxDQUFDLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsR0FBRyxLQUFLLENBQUM7UUFDeEMsTUFBTSxDQUFDLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztRQUNoQyxNQUFNLEVBQUUsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxJQUFJLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsQ0FBQztRQUNqRSxVQUFVLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztRQUNuQyxPQUFPLElBQUksQ0FBQztJQUNoQixDQUFDO0lBRUQsTUFBTSxDQUFDLE1BQU0sQ0FBQyxLQUFVO1FBQ3BCLE9BQU8sS0FBSyxZQUFZLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQztJQUM1RCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVGltZUhlbHBlciB9IGZyb20gXCIuL3RpbWUtaGVscGVyXCI7XHJcblxyXG5leHBvcnQgY2xhc3MgRGF0ZUhlbHBlciB7XHJcblxyXG4gICAgc3RhdGljIG1pbkRhdGUoKSB7XHJcbiAgICAgICAgcmV0dXJuIG5ldyBEYXRlKDApO1xyXG4gICAgfVxyXG5cclxuICAgIHN0YXRpYyBlcXVhbHModmFsdWUxPzogRGF0ZSB8IG51bGwsIHZhbHVlMj86IERhdGUgfCBudWxsKSB7XHJcbiAgICAgICAgY29uc3QgdmFsMSA9ICh2YWx1ZTEgPT09IHVuZGVmaW5lZCB8fCB2YWx1ZTEgPT09IG51bGwpID8gbnVsbCA6IHZhbHVlMTtcclxuICAgICAgICBjb25zdCB2YWwyID0gKHZhbHVlMiA9PT0gdW5kZWZpbmVkIHx8IHZhbHVlMiA9PT0gbnVsbCkgPyBudWxsIDogdmFsdWUyO1xyXG5cclxuXHJcbiAgICAgICAgaWYgKHZhbDEgPT09IHZhbDIpIHtcclxuICAgICAgICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBpZiAoIXZhbDEgfHwgIXZhbDIpIHtcclxuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgcmV0dXJuIHZhbDEuZ2V0VGltZSgpID09PSB2YWwyLmdldFRpbWUoKTtcclxuICAgIH1cclxuXHJcbiAgICBzdGF0aWMgZ2V0RGF0ZXMoc3RhcnQ6IERhdGUsIGVuZDogRGF0ZSkge1xyXG4gICAgICAgIGNvbnN0IGRhdGVzID0gbmV3IEFycmF5PERhdGU+KCk7XHJcbiAgICAgICAgbGV0IGRhdGUgPSBuZXcgRGF0ZShzdGFydC52YWx1ZU9mKCkpO1xyXG4gICAgICAgIHdoaWxlIChkYXRlIDw9IGVuZCkge1xyXG4gICAgICAgICAgICBkYXRlcy5wdXNoKG5ldyBEYXRlKGRhdGUpKTtcclxuICAgICAgICAgICAgZGF0ZSA9IHRoaXMuYWRkRGF5cyhkYXRlLCAxKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIGRhdGVzO1xyXG4gICAgfVxyXG5cclxuICAgIHN0YXRpYyBkYXRlT25seSh2YWx1ZTogRGF0ZSkge1xyXG4gICAgICAgIGNvbnN0IHllYXIgPSB2YWx1ZS5nZXRGdWxsWWVhcigpO1xyXG4gICAgICAgIGNvbnN0IG1vbnRoID0gdmFsdWUuZ2V0TW9udGgoKTtcclxuICAgICAgICBjb25zdCBkYXkgPSB2YWx1ZS5nZXREYXRlKCk7XHJcbiAgICAgICAgY29uc3QgZGF0ZSA9IG5ldyBEYXRlKERhdGUuVVRDKHllYXIsIG1vbnRoLCBkYXkpKTtcclxuXHJcbiAgICAgICAgcmV0dXJuIGRhdGU7XHJcbiAgICB9XHJcbiAgICBzdGF0aWMgdG9kYXkoKXtcclxuICAgICAgICByZXR1cm4gdGhpcy5kYXRlT25seShuZXcgRGF0ZSgpKTtcclxuICAgIH1cclxuXHJcbiAgICBzdGF0aWMgdG9JU09EYXRlU3RyaW5nKHZhbHVlOiBEYXRlIHwgc3RyaW5nKSB7XHJcbiAgICAgICAgY29uc3QgZGF0ZSA9IHRoaXMucGFyc2VEYXRlKHZhbHVlKTtcclxuXHJcbiAgICAgICAgaWYgKCFkYXRlKVxyXG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcclxuXHJcbiAgICAgICAgY29uc3QgeWVhciA9IGRhdGUuZ2V0RnVsbFllYXIoKTtcclxuICAgICAgICAvLyBBZGQgKzEgdG8gbW9udGggc2luY2UgMCBpcyBKYW51YXJ5XHJcbiAgICAgICAgY29uc3QgbW9udGggPSBkYXRlLmdldE1vbnRoKCkgKyAxO1xyXG4gICAgICAgIGNvbnN0IGRheSA9IGRhdGUuZ2V0RGF0ZSgpO1xyXG5cclxuICAgICAgICBjb25zdCBzdHIgPSBgJHt5ZWFyfS0ke21vbnRoIDwgMTAgPyAnMCcgOiAnJ30ke21vbnRofS0ke2RheSA8IDEwID8gJzAnIDogJyd9JHtkYXl9YDtcclxuICAgICAgICByZXR1cm4gc3RyO1xyXG4gICAgfVxyXG5cclxuICAgIC8vKiogT2ZmZXMgc2Vjb25kcyAoIG9mZnNldG1pbiAqIDYwc2VjICogMTAwMG1zKSAqL1xyXG4gICAgcHJpdmF0ZSBzdGF0aWMgcmVhZG9ubHkgX3V0Y0RpZmYgPSAtbmV3IERhdGUoKS5nZXRUaW1lem9uZU9mZnNldCgpICogNjAwMDA7XHJcbiAgICBzdGF0aWMgdXRjVG9Mb2NhbCh1dGM6IERhdGUpIHtcclxuICAgICAgICByZXR1cm4gbmV3IERhdGUodXRjLmdldFRpbWUoKSArIHRoaXMuX3V0Y0RpZmYpO1xyXG4gICAgfVxyXG4gICAgc3RhdGljIGxvY2FsVG9VdGModXRjOiBEYXRlKSB7XHJcbiAgICAgICAgcmV0dXJuIG5ldyBEYXRlKHV0Yy5nZXRUaW1lKCkgLSB0aGlzLl91dGNEaWZmKTtcclxuICAgIH1cclxuXHJcbiAgICBzdGF0aWMgYWRkVGltZSh2YWx1ZTogRGF0ZSwgdGltZTogc3RyaW5nIHwgdW5kZWZpbmVkIHwgbnVsbCkge1xyXG4gICAgICAgIGNvbnN0IHRtcCA9IFRpbWVIZWxwZXIucGFyc2VUaW1lKHRpbWUpO1xyXG4gICAgICAgIGlmICghdG1wKSByZXR1cm4gdmFsdWU7XHJcblxyXG4gICAgICAgIGNvbnN0IHRpbWVEYXRlID0gbmV3IERhdGUoJzE5NzAtMDEtMDFUJyArIHRpbWUgKyAnWicpO1xyXG4gICAgICAgIGNvbnN0IGRhdGUgPSB2YWx1ZTtcclxuICAgICAgICBkYXRlLnNldFRpbWUoZGF0ZS5nZXRUaW1lKCkgKyB0aW1lRGF0ZS5nZXRUaW1lKCkpO1xyXG4gICAgICAgIHJldHVybiBkYXRlO1xyXG4gICAgfVxyXG4gICAgc3RhdGljIGFkZFllYXJzKHY6IERhdGUsIHllYXJzOiBudW1iZXIpOiBEYXRlIHtcclxuICAgICAgICBpZiAoIXllYXJzKSByZXR1cm4gdjtcclxuXHJcbiAgICAgICAgY29uc3QgZGF0ZSA9IHY7XHJcbiAgICAgICAgZGF0ZS5zZXRGdWxsWWVhcih2LmdldEZ1bGxZZWFyKCkgKyB5ZWFycyk7XHJcbiAgICAgICAgcmV0dXJuIGRhdGU7XHJcbiAgICB9XHJcbiAgICBzdGF0aWMgYWRkTW9udGhzKHY6IERhdGUsIG1vbnRoczogbnVtYmVyKSB7XHJcbiAgICAgICAgaWYgKCFtb250aHMpIHJldHVybiB2O1xyXG5cclxuICAgICAgICBjb25zdCBkYXRlID0gdjtcclxuICAgICAgICBkYXRlLnNldE1vbnRoKGRhdGUuZ2V0TW9udGgoKSArIG1vbnRocyk7XHJcbiAgICAgICAgcmV0dXJuIGRhdGU7XHJcbiAgICB9XHJcbiAgICBzdGF0aWMgYWRkRGF5cyh2OiBEYXRlLCBkYXlzOiBudW1iZXIpIHtcclxuICAgICAgICBpZiAoIWRheXMpIHJldHVybiB2O1xyXG5cclxuICAgICAgICBjb25zdCBkYXRlID0gdjtcclxuICAgICAgICBkYXRlLnNldERhdGUoZGF0ZS5nZXREYXRlKCkgKyBkYXlzKTtcclxuICAgICAgICByZXR1cm4gZGF0ZTtcclxuICAgIH1cclxuICAgIHN0YXRpYyBhZGRIb3Vycyh2OiBEYXRlLCBob3VyczogbnVtYmVyKSB7XHJcbiAgICAgICAgaWYgKCFob3VycykgcmV0dXJuIHY7XHJcblxyXG4gICAgICAgIGNvbnN0IGRhdGUgPSBuZXcgRGF0ZSh2KTtcclxuICAgICAgICAvL3RvZG8gbmVlZCB0byBjaGVjayBpZiB0aGlzIGxpbmUgbmVlZHMgLS0+IGRhdGUgPSBuZXcgRGF0ZShkYXRlLmdldFRpbWUoKSk7XHJcbiAgICAgICAgZGF0ZS5zZXRIb3VycyhkYXRlLmdldEhvdXJzKCkgKyBob3Vycyk7XHJcbiAgICAgICAgcmV0dXJuIGRhdGU7XHJcbiAgICB9XHJcbiAgICBzdGF0aWMgYWRkTWludXRlcyh2OiBEYXRlLCBtaW51dGVzOiBudW1iZXIpIHtcclxuICAgICAgICBpZiAoIW1pbnV0ZXMpIHJldHVybiB2O1xyXG5cclxuICAgICAgICBjb25zdCBkYXRlID0gbmV3IERhdGUodik7XHJcbiAgICAgICAgLy90b2RvIG5lZWQgdG8gY2hlY2sgaWYgdGhpcyBsaW5lIG5lZWRzIC0tPiBkYXRlID0gbmV3IERhdGUoZGF0ZS5nZXRUaW1lKCkpO1xyXG4gICAgICAgIGRhdGUuc2V0TWludXRlcyhkYXRlLmdldE1pbnV0ZXMoKSArIG1pbnV0ZXMpO1xyXG4gICAgICAgIHJldHVybiBkYXRlO1xyXG4gICAgfVxyXG4gICAgc3RhdGljIGFkZFNlY29uZHModjogRGF0ZSwgc2Vjb25kczogbnVtYmVyKSB7XHJcbiAgICAgICAgaWYgKCFzZWNvbmRzKSByZXR1cm4gdjtcclxuXHJcbiAgICAgICAgY29uc3QgZGF0ZSA9IHY7XHJcbiAgICAgICAgZGF0ZS5zZXRTZWNvbmRzKGRhdGUuZ2V0U2Vjb25kcygpICsgc2Vjb25kcyk7XHJcblxyXG4gICAgICAgIHJldHVybiBkYXRlO1xyXG4gICAgfVxyXG4gICAgc3RhdGljIGlzVG9kYXkoZGF0ZTogRGF0ZSkge1xyXG4gICAgICAgIGNvbnN0IHRvZGF5ID0gbmV3IERhdGUoKTtcclxuICAgICAgICByZXR1cm4gdGhpcy5pc1NhbWVEYXRlKGRhdGUsIHRvZGF5KTtcclxuICAgIH1cclxuICAgIHN0YXRpYyBjbG9uZShkYXRlOiBEYXRlKSB7XHJcbiAgICAgICAgcmV0dXJuIG5ldyBEYXRlKCtkYXRlKTtcclxuICAgIH1cclxuICAgIHN0YXRpYyBpc0Fub3RoZXJNb250aChhOiBEYXRlLCBiOiBEYXRlKSB7XHJcbiAgICAgICAgcmV0dXJuIGIgJiYgYS5nZXRNb250aCgpICE9PSBiLmdldE1vbnRoKCk7XHJcbiAgICB9XHJcbiAgICBzdGF0aWMgaXNXZWVrZW5kKHY6IERhdGUsKTogYm9vbGVhbiB7XHJcbiAgICAgICAgcmV0dXJuIHYuZ2V0RGF5KCkgPT09IDAgfHwgdi5nZXREYXkoKSA9PT0gNjtcclxuICAgIH1cclxuICAgIHN0YXRpYyBpc1NhbWVEYXRlKGE6IERhdGUsIGI6IERhdGUpIHtcclxuICAgICAgICByZXR1cm4gYiAmJiBhLmdldEZ1bGxZZWFyKCkgPT09IGIuZ2V0RnVsbFllYXIoKSAmJiBhLmdldE1vbnRoKCkgPT09IGIuZ2V0TW9udGgoKSAmJiBhLmdldERhdGUoKSA9PT0gYi5nZXREYXRlKCk7XHJcbiAgICB9XHJcblxyXG5cclxuICAgIHN0YXRpYyBnZXRBZ2UodmFsdWU/OiBEYXRlIHwgc3RyaW5nIHwgbnVsbCwgbm93PzogRGF0ZSB8IG51bGwpIHtcclxuICAgICAgICBpZiAodmFsdWUgPT09IHVuZGVmaW5lZCB8fCB2YWx1ZSA9PT0gbnVsbCB8fCB2YWx1ZSA9PT0gJycgfHwgdmFsdWUgIT09IHZhbHVlKSByZXR1cm4gbnVsbDtcclxuXHJcbiAgICAgICAgY29uc3QgZGF0ZSA9IHRoaXMudG9EYXRlKHZhbHVlKTtcclxuXHJcbiAgICAgICAgY29uc3Qgbm93VGltZSA9IG5vdyA/IG5vdy5nZXRUaW1lKCkgOiBEYXRlLm5vdygpO1xyXG4gICAgICAgIGNvbnN0IHRpbWVEaWZmID0gbm93VGltZSAtIGRhdGUuZ2V0VGltZSgpO1xyXG5cclxuICAgICAgICByZXR1cm4gTWF0aC5mbG9vcigodGltZURpZmYgLyA4NjQwMDAwMCkgLyAzNjUuMjUpOy8vODY0MDAwMDAgPSAoMTAwMCAqIDYwICogNjAgKiAyNCkgPSAxMDAwIG1pbGxpc2Vjb25kICogNjBzZWNvbmQgICogNjBtaW51dGUgKiAyNGhvdXJcclxuICAgIH1cclxuICAgIHN0YXRpYyBzdWJ0cmFjdE1vbnRocyhlbmREYXRlOiBEYXRlLCBzdGFyRGF0ZTogRGF0ZSkge1xyXG4gICAgICAgIGNvbnN0IHN0YXJ0ID0gc3RhckRhdGUgPD0gZW5kRGF0ZSA/IHN0YXJEYXRlIDogZW5kRGF0ZTtcclxuICAgICAgICBjb25zdCBlbmQgPSBzdGFyRGF0ZSA8PSBlbmREYXRlID8gZW5kRGF0ZSA6IHN0YXJEYXRlO1xyXG4gICAgICAgIGNvbnN0IHBsdXMgPSBzdGFyRGF0ZSA8PSBlbmREYXRlID8gMSA6IC0xO1xyXG5cclxuICAgICAgICBsZXQgbW9udGhzID0gKGVuZC5nZXRGdWxsWWVhcigpIC0gc3RhcnQuZ2V0RnVsbFllYXIoKSkgKiAxMjtcclxuICAgICAgICBtb250aHMgLT0gc3RhcnQuZ2V0TW9udGgoKTtcclxuICAgICAgICBtb250aHMgKz0gZW5kLmdldE1vbnRoKCk7XHJcbiAgICAgICAgcmV0dXJuIG1vbnRocyAqIHBsdXM7XHJcbiAgICB9XHJcblxyXG4gICAgc3RhdGljIHN1YnRyYWN0RGF5cyh2YWx1ZTogRGF0ZSwgZGF0ZTogRGF0ZSkge1xyXG4gICAgICAgIGlmICghZGF0ZSlcclxuICAgICAgICAgICAgcmV0dXJuIG51bGw7XHJcblxyXG4gICAgICAgIGRhdGUgPSB0aGlzLnRvRGF0ZShkYXRlKTtcclxuICAgICAgICBjb25zdCB0aW1lRGlmZiA9IGRhdGUuZ2V0VGltZSgpIC0gdmFsdWUuZ2V0VGltZSgpO1xyXG4gICAgICAgIHJldHVybiBNYXRoLmZsb29yKHRpbWVEaWZmIC8gODY0MDAwMDApOy8vODY0MDAwMDAgPSAoMTAwMCAqIDYwICogNjAgKiAyNCkgPSAxMDAwIG1pbGxpc2Vjb25kICogNjBzZWNvbmQgICogNjBtaW51dGUgKiAyNGhvdXJcclxuICAgIH1cclxuICAgIHN0YXRpYyBzdWJ0cmFjdEhvdXJzKHZhbHVlOiBEYXRlLCBkYXRlPzogRGF0ZSB8IG51bGwpIHtcclxuICAgICAgICBpZiAoIWRhdGUpXHJcbiAgICAgICAgICAgIHJldHVybiBudWxsO1xyXG5cclxuICAgICAgICBkYXRlID0gdGhpcy50b0RhdGUoZGF0ZSk7XHJcbiAgICAgICAgY29uc3QgdGltZURpZmYgPSBkYXRlLmdldFRpbWUoKSAtIHZhbHVlLmdldFRpbWUoKTtcclxuICAgICAgICByZXR1cm4gTWF0aC5mbG9vcigodGltZURpZmYgJSA4NjQwMDAwMCkgLyAzNjAwMDAwKTtcclxuICAgIH1cclxuICAgIHN0YXRpYyBzdWJ0cmFjdE1pbnV0ZXModmFsdWU6IERhdGUsIGRhdGU/OiBEYXRlIHwgbnVsbCkge1xyXG4gICAgICAgIGlmICghZGF0ZSlcclxuICAgICAgICAgICAgcmV0dXJuIG51bGw7XHJcblxyXG4gICAgICAgIGRhdGUgPSB0aGlzLnRvRGF0ZShkYXRlKTtcclxuICAgICAgICBjb25zdCB0aW1lRGlmZiA9IGRhdGUuZ2V0VGltZSgpIC0gdmFsdWUuZ2V0VGltZSgpO1xyXG4gICAgICAgIC8vXHJcbiAgICAgICAgcmV0dXJuIE1hdGguZmxvb3IoKCh0aW1lRGlmZiAlIDg2NDAwMDAwKSAlIDM2MDAwMDApIC8gNjAwMDApO1xyXG4gICAgfVxyXG5cclxuXHJcblxyXG5cclxuICAgIHN0YXRpYyBJU084NjAxX0RBVEVfUkVHRVggPVxyXG4gICAgICAgIC9eKFxcZHs0fSktPyhcXGRcXGQpLT8oXFxkXFxkKSg/OlQoXFxkXFxkKSg/Ojo/KFxcZFxcZCkoPzo6PyhcXGRcXGQpKD86XFwuKFxcZCspKT8pPyk/KFp8KFsrLV0pKFxcZFxcZCk6PyhcXGRcXGQpKT8pPyQvO1xyXG4gICAgLy8gICAgICAgIDEgICAgICAgIDIgICAgICAgMyAgICAgICAgIDQgICAgICAgICAgNSAgICAgICAgICA2ICAgICAgICAgIDcgICAgICAgICAgOCAgOSAgICAgMTAgICAgICAxMVxyXG5cclxuXHJcbiAgICBzdGF0aWMgcGFyc2VEYXRlKHZhbHVlOiBhbnkpOiBEYXRlIHwgbnVsbCB7XHJcbiAgICAgICAgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gJ3VuZGVmaW5lZCcgfHwgdmFsdWUgPT0gbnVsbCB8fCB2YWx1ZSA9PT0gJycpIHJldHVybiBudWxsO1xyXG4gICAgICAgIHJldHVybiB0aGlzLnRvRGF0ZSh2YWx1ZSk7XHJcbiAgICB9XHJcblxyXG4gICAgLy8gIGV4cG9ydCBmdW5jdGlvbiB0b0RhdGUodmFsdWU6IHN0cmluZ3xudW1iZXJ8RGF0ZSk6IERhdGUgdGhpcyBmdW5jdGlvbiBpcyBpbXBvcnRlZCBmcm9tIGRhdGUgcGlwZSBcclxuICAgIC8vIHBhY2thZ2VzL2NvbW1vbi9zcmMvaTE4bi9mb3JtYXRfZGF0ZS50c1xyXG5cclxuICAgIC8qKipcclxuICAgICAqIENvbnZlcnRzIGEgdmFsdWUgdG8gZGF0ZS5cclxuICAgICAqXHJcbiAgICAgKiBTdXBwb3J0ZWQgaW5wdXQgZm9ybWF0czpcclxuICAgICAqIC0gYERhdGVgXHJcbiAgICAgKiAtIG51bWJlcjogdGltZXN0YW1wXHJcbiAgICAgKiAtIHN0cmluZzogbnVtZXJpYyAoZS5nLiBcIjEyMzRcIiksIElTTyBhbmQgZGF0ZSBzdHJpbmdzIGluIGEgZm9ybWF0IHN1cHBvcnRlZCBieVxyXG4gICAgICogICBbRGF0ZS5wYXJzZSgpXShodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9lbi1VUy9kb2NzL1dlYi9KYXZhU2NyaXB0L1JlZmVyZW5jZS9HbG9iYWxfT2JqZWN0cy9EYXRlL3BhcnNlKS5cclxuICAgICAqICAgTm90ZTogSVNPIHN0cmluZ3Mgd2l0aG91dCB0aW1lIHJldHVybiBhIGRhdGUgd2l0aG91dCB0aW1lb2Zmc2V0LlxyXG4gICAgICpcclxuICAgICAqIFRocm93cyBpZiB1bmFibGUgdG8gY29udmVydCB0byBhIGRhdGUuXHJcbiAgICAgKi9cclxuICAgIHN0YXRpYyB0b0RhdGUodmFsdWU6IHN0cmluZyB8IG51bWJlciB8IERhdGUpOiBEYXRlIHtcclxuICAgICAgICBpZiAodGhpcy5pc0RhdGUodmFsdWUpKSB7XHJcbiAgICAgICAgICAgIHJldHVybiB2YWx1ZTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlmICh0eXBlb2YgdmFsdWUgPT09ICdudW1iZXInICYmICFpc05hTih2YWx1ZSkpIHtcclxuICAgICAgICAgICAgcmV0dXJuIG5ldyBEYXRlKHZhbHVlKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlmICh0eXBlb2YgdmFsdWUgPT09ICdzdHJpbmcnKSB7XHJcbiAgICAgICAgICAgIHZhbHVlID0gdmFsdWUudHJpbSgpO1xyXG5cclxuICAgICAgICAgICAgY29uc3QgcGFyc2VkTmIgPSBwYXJzZUZsb2F0KHZhbHVlKTtcclxuXHJcbiAgICAgICAgICAgIC8vIGFueSBzdHJpbmcgdGhhdCBvbmx5IGNvbnRhaW5zIG51bWJlcnMsIGxpa2UgXCIxMjM0XCIgYnV0IG5vdCBsaWtlIFwiMTIzNGhlbGxvXCJcclxuICAgICAgICAgICAgaWYgKCFpc05hTih2YWx1ZSBhcyBhbnkgLSBwYXJzZWROYikpIHtcclxuICAgICAgICAgICAgICAgIHJldHVybiBuZXcgRGF0ZShwYXJzZWROYik7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIGlmICgvXihcXGR7NH0tXFxkezEsMn0tXFxkezEsMn0pJC8udGVzdCh2YWx1ZSkpIHtcclxuICAgICAgICAgICAgICAgIC8qIEZvciBJU08gU3RyaW5ncyB3aXRob3V0IHRpbWUgdGhlIGRheSwgbW9udGggYW5kIHllYXIgbXVzdCBiZSBleHRyYWN0ZWQgZnJvbSB0aGUgSVNPIFN0cmluZ1xyXG4gICAgICAgICAgICAgICAgYmVmb3JlIERhdGUgY3JlYXRpb24gdG8gYXZvaWQgdGltZSBvZmZzZXQgYW5kIGVycm9ycyBpbiB0aGUgbmV3IERhdGUuXHJcbiAgICAgICAgICAgICAgICBJZiB3ZSBvbmx5IHJlcGxhY2UgJy0nIHdpdGggJywnIGluIHRoZSBJU08gU3RyaW5nIChcIjIwMTUsMDEsMDFcIiksIGFuZCB0cnkgdG8gY3JlYXRlIGEgbmV3XHJcbiAgICAgICAgICAgICAgICBkYXRlLCBzb21lIGJyb3dzZXJzIChlLmcuIElFIDkpIHdpbGwgdGhyb3cgYW4gaW52YWxpZCBEYXRlIGVycm9yLlxyXG4gICAgICAgICAgICAgICAgSWYgd2UgbGVhdmUgdGhlICctJyAoXCIyMDE1LTAxLTAxXCIpIGFuZCB0cnkgdG8gY3JlYXRlIGEgbmV3IERhdGUoXCIyMDE1LTAxLTAxXCIpIHRoZSB0aW1lb2Zmc2V0XHJcbiAgICAgICAgICAgICAgICBpcyBhcHBsaWVkLlxyXG4gICAgICAgICAgICAgICAgTm90ZTogSVNPIG1vbnRocyBhcmUgMCBmb3IgSmFudWFyeSwgMSBmb3IgRmVicnVhcnksIC4uLiAqL1xyXG4gICAgICAgICAgICAgICAgY29uc3QgW3ksIG0sIGRdID0gdmFsdWUuc3BsaXQoJy0nKS5tYXAoKHZhbDogc3RyaW5nKSA9PiArdmFsKTtcclxuICAgICAgICAgICAgICAgIHJldHVybiBuZXcgRGF0ZSh5LCBtIC0gMSwgZCk7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIGxldCBtYXRjaDogUmVnRXhwTWF0Y2hBcnJheSB8IG51bGw7XHJcbiAgICAgICAgICAgIGlmIChtYXRjaCA9IHZhbHVlLm1hdGNoKHRoaXMuSVNPODYwMV9EQVRFX1JFR0VYKSkge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuaXNvU3RyaW5nVG9EYXRlKG1hdGNoKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgY29uc3QgZGF0ZSA9IG5ldyBEYXRlKHZhbHVlIGFzIGFueSk7XHJcbiAgICAgICAgaWYgKCF0aGlzLmlzRGF0ZShkYXRlKSkge1xyXG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYFVuYWJsZSB0byBjb252ZXJ0IFwiJHt2YWx1ZX1cIiBpbnRvIGEgZGF0ZWApO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gZGF0ZTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIENvbnZlcnRzIGEgZGF0ZSBpbiBJU084NjAxIHRvIGEgRGF0ZS5cclxuICAgICAqIFVzZWQgaW5zdGVhZCBvZiBgRGF0ZS5wYXJzZWAgYmVjYXVzZSBvZiBicm93c2VyIGRpc2NyZXBhbmNpZXMuXHJcbiAgICAgKi9cclxuICAgIHN0YXRpYyBpc29TdHJpbmdUb0RhdGUobWF0Y2g6IFJlZ0V4cE1hdGNoQXJyYXkpOiBEYXRlIHtcclxuICAgICAgICBjb25zdCBkYXRlID0gbmV3IERhdGUoMCk7XHJcbiAgICAgICAgbGV0IHR6SG91ciA9IDA7XHJcbiAgICAgICAgbGV0IHR6TWluID0gMDtcclxuXHJcbiAgICAgICAgLy8gbWF0Y2hbOF0gbWVhbnMgdGhhdCB0aGUgc3RyaW5nIGNvbnRhaW5zIFwiWlwiIChVVEMpIG9yIGEgdGltZXpvbmUgbGlrZSBcIiswMTowMFwiIG9yIFwiKzAxMDBcIlxyXG4gICAgICAgIGNvbnN0IGRhdGVTZXR0ZXIgPSBtYXRjaFs4XSA/IGRhdGUuc2V0VVRDRnVsbFllYXIgOiBkYXRlLnNldEZ1bGxZZWFyO1xyXG4gICAgICAgIGNvbnN0IHRpbWVTZXR0ZXIgPSBtYXRjaFs4XSA/IGRhdGUuc2V0VVRDSG91cnMgOiBkYXRlLnNldEhvdXJzO1xyXG5cclxuICAgICAgICAvLyBpZiB0aGVyZSBpcyBhIHRpbWV6b25lIGRlZmluZWQgbGlrZSBcIiswMTowMFwiIG9yIFwiKzAxMDBcIlxyXG4gICAgICAgIGlmIChtYXRjaFs5XSkge1xyXG4gICAgICAgICAgICB0ekhvdXIgPSBOdW1iZXIobWF0Y2hbOV0gKyBtYXRjaFsxMF0pO1xyXG4gICAgICAgICAgICB0ek1pbiA9IE51bWJlcihtYXRjaFs5XSArIG1hdGNoWzExXSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGRhdGVTZXR0ZXIuY2FsbChkYXRlLCBOdW1iZXIobWF0Y2hbMV0pLCBOdW1iZXIobWF0Y2hbMl0pIC0gMSwgTnVtYmVyKG1hdGNoWzNdKSk7XHJcbiAgICAgICAgY29uc3QgaCA9IE51bWJlcihtYXRjaFs0XSB8fCAwKSAtIHR6SG91cjtcclxuICAgICAgICBjb25zdCBtID0gTnVtYmVyKG1hdGNoWzVdIHx8IDApIC0gdHpNaW47XHJcbiAgICAgICAgY29uc3QgcyA9IE51bWJlcihtYXRjaFs2XSB8fCAwKTtcclxuICAgICAgICBjb25zdCBtcyA9IE1hdGgucm91bmQocGFyc2VGbG9hdCgnMC4nICsgKG1hdGNoWzddIHx8IDApKSAqIDEwMDApO1xyXG4gICAgICAgIHRpbWVTZXR0ZXIuY2FsbChkYXRlLCBoLCBtLCBzLCBtcyk7XHJcbiAgICAgICAgcmV0dXJuIGRhdGU7XHJcbiAgICB9XHJcblxyXG4gICAgc3RhdGljIGlzRGF0ZSh2YWx1ZTogYW55KTogdmFsdWUgaXMgRGF0ZSB7XHJcbiAgICAgICAgcmV0dXJuIHZhbHVlIGluc3RhbmNlb2YgRGF0ZSAmJiAhaXNOYU4odmFsdWUudmFsdWVPZigpKTtcclxuICAgIH1cclxufSJdfQ==
@@ -16,10 +16,10 @@ export class ErrorHelper {
16
16
  : error;
17
17
  const result = [];
18
18
  const properties = Object.keys(errors);
19
- for (let property of properties) {
19
+ for (const property of properties) {
20
20
  const messages = errors[property];
21
21
  if (messages instanceof Array) {
22
- for (let message of messages) {
22
+ for (const message of messages) {
23
23
  result.push({ key: property, value: message });
24
24
  }
25
25
  }
@@ -29,4 +29,4 @@ export class ErrorHelper {
29
29
  return null;
30
30
  }
31
31
  }
32
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3ItaGVscGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvemVrL3NyYy9saWIvdXRpbHMvZXJyb3ItaGVscGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE1BQU0sT0FBTyxXQUFXO0lBQ3BCLE1BQU0sQ0FBQyxzQkFBc0IsQ0FBQyxRQUFhO1FBQ3ZDLElBQUksS0FBVSxDQUFDO1FBQ2YsSUFBSSxPQUFPLFFBQVEsQ0FBQyxLQUFLLEtBQUssUUFBUSxJQUFJLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEtBQUssR0FBRyxFQUFFLENBQUM7WUFDbEUsS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3ZDLENBQUM7YUFBTSxDQUFDO1lBQ0osS0FBSyxHQUFHLFFBQVEsQ0FBQyxLQUFLLENBQUM7UUFDM0IsQ0FBQztRQUVELE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN0QyxDQUFDO0lBRUQsTUFBTSxDQUFDLGNBQWMsQ0FBQyxLQUFVO1FBQzVCLElBQUksT0FBTyxLQUFLLEtBQUssUUFBUSxFQUFFLENBQUM7WUFDNUIsTUFBTSxNQUFNLEdBQUcsS0FBSyxDQUFDLE9BQU8sSUFBSSxLQUFLLENBQUMsT0FBTyxLQUFLLEtBQUs7Z0JBQ25ELENBQUMsQ0FBQyxLQUFLLENBQUMsTUFBTTtnQkFDZCxDQUFDLENBQUMsS0FBSyxDQUFDO1lBRVosTUFBTSxNQUFNLEdBQW9FLEVBQUUsQ0FBQztZQUNuRixNQUFNLFVBQVUsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBRXZDLEtBQUssSUFBSSxRQUFRLElBQUksVUFBVSxFQUFFLENBQUM7Z0JBQzlCLE1BQU0sUUFBUSxHQUFHLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQztnQkFDbEMsSUFBSSxRQUFRLFlBQVksS0FBSyxFQUFFLENBQUM7b0JBQzVCLEtBQUssSUFBSSxPQUFPLElBQUksUUFBUSxFQUFFLENBQUM7d0JBQzNCLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRSxHQUFHLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDO29CQUNuRCxDQUFDO2dCQUNMLENBQUM7WUFDTCxDQUFDO1lBQ0QsT0FBTyxNQUFNLENBQUM7UUFDbEIsQ0FBQztRQUNELE9BQU8sSUFBSSxDQUFDO0lBQ2hCLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEtleVBhaXIgfSBmcm9tIFwiLi4vbW9kZWxzXCI7XHJcblxyXG5leHBvcnQgY2xhc3MgRXJyb3JIZWxwZXIge1xyXG4gICAgc3RhdGljIHJlc3BvbnNlVG9LZXlQYWlyQXJyYXkocmVzcG9uc2U6IGFueSkge1xyXG4gICAgICAgIGxldCBlcnJvcjogYW55O1xyXG4gICAgICAgIGlmICh0eXBlb2YgcmVzcG9uc2UuZXJyb3IgPT09ICdzdHJpbmcnICYmIHJlc3BvbnNlLmVycm9yWzBdID09PSAneycpIHtcclxuICAgICAgICAgICAgZXJyb3IgPSBKU09OLnBhcnNlKHJlc3BvbnNlLmVycm9yKTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICBlcnJvciA9IHJlc3BvbnNlLmVycm9yO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgcmV0dXJuIHRoaXMudG9LZXlQYWlyQXJyYXkoZXJyb3IpO1xyXG4gICAgfVxyXG5cclxuICAgIHN0YXRpYyB0b0tleVBhaXJBcnJheShlcnJvcjogYW55KSB7XHJcbiAgICAgICAgaWYgKHR5cGVvZiBlcnJvciA9PT0gJ29iamVjdCcpIHtcclxuICAgICAgICAgICAgY29uc3QgZXJyb3JzID0gZXJyb3IudHJhY2VJZCB8fCBlcnJvci5zdWNjZXNzID09PSBmYWxzZVxyXG4gICAgICAgICAgICAgICAgPyBlcnJvci5lcnJvcnNcclxuICAgICAgICAgICAgICAgIDogZXJyb3I7XHJcblxyXG4gICAgICAgICAgICBjb25zdCByZXN1bHQ6IEtleVBhaXI8c3RyaW5nIHwgbnVsbCB8IHVuZGVmaW5lZCwgc3RyaW5nIHwgbnVsbCB8IHVuZGVmaW5lZD5bXSA9IFtdO1xyXG4gICAgICAgICAgICBjb25zdCBwcm9wZXJ0aWVzID0gT2JqZWN0LmtleXMoZXJyb3JzKTtcclxuXHJcbiAgICAgICAgICAgIGZvciAobGV0IHByb3BlcnR5IG9mIHByb3BlcnRpZXMpIHtcclxuICAgICAgICAgICAgICAgIGNvbnN0IG1lc3NhZ2VzID0gZXJyb3JzW3Byb3BlcnR5XTtcclxuICAgICAgICAgICAgICAgIGlmIChtZXNzYWdlcyBpbnN0YW5jZW9mIEFycmF5KSB7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9yIChsZXQgbWVzc2FnZSBvZiBtZXNzYWdlcykge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICByZXN1bHQucHVzaCh7IGtleTogcHJvcGVydHksIHZhbHVlOiBtZXNzYWdlIH0pO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICByZXR1cm4gcmVzdWx0O1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gbnVsbDtcclxuICAgIH1cclxufSJdfQ==
32
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3ItaGVscGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvemVrL3NyYy9saWIvdXRpbHMvZXJyb3ItaGVscGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE1BQU0sT0FBTyxXQUFXO0lBQ3BCLE1BQU0sQ0FBQyxzQkFBc0IsQ0FBQyxRQUFhO1FBQ3ZDLElBQUksS0FBVSxDQUFDO1FBQ2YsSUFBSSxPQUFPLFFBQVEsQ0FBQyxLQUFLLEtBQUssUUFBUSxJQUFJLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEtBQUssR0FBRyxFQUFFLENBQUM7WUFDbEUsS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3ZDLENBQUM7YUFBTSxDQUFDO1lBQ0osS0FBSyxHQUFHLFFBQVEsQ0FBQyxLQUFLLENBQUM7UUFDM0IsQ0FBQztRQUVELE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN0QyxDQUFDO0lBRUQsTUFBTSxDQUFDLGNBQWMsQ0FBQyxLQUFVO1FBQzVCLElBQUksT0FBTyxLQUFLLEtBQUssUUFBUSxFQUFFLENBQUM7WUFDNUIsTUFBTSxNQUFNLEdBQUcsS0FBSyxDQUFDLE9BQU8sSUFBSSxLQUFLLENBQUMsT0FBTyxLQUFLLEtBQUs7Z0JBQ25ELENBQUMsQ0FBQyxLQUFLLENBQUMsTUFBTTtnQkFDZCxDQUFDLENBQUMsS0FBSyxDQUFDO1lBRVosTUFBTSxNQUFNLEdBQW9FLEVBQUUsQ0FBQztZQUNuRixNQUFNLFVBQVUsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBRXZDLEtBQUssTUFBTSxRQUFRLElBQUksVUFBVSxFQUFFLENBQUM7Z0JBQ2hDLE1BQU0sUUFBUSxHQUFHLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQztnQkFDbEMsSUFBSSxRQUFRLFlBQVksS0FBSyxFQUFFLENBQUM7b0JBQzVCLEtBQUssTUFBTSxPQUFPLElBQUksUUFBUSxFQUFFLENBQUM7d0JBQzdCLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRSxHQUFHLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDO29CQUNuRCxDQUFDO2dCQUNMLENBQUM7WUFDTCxDQUFDO1lBQ0QsT0FBTyxNQUFNLENBQUM7UUFDbEIsQ0FBQztRQUNELE9BQU8sSUFBSSxDQUFDO0lBQ2hCLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEtleVBhaXIgfSBmcm9tIFwiLi4vbW9kZWxzXCI7XHJcblxyXG5leHBvcnQgY2xhc3MgRXJyb3JIZWxwZXIge1xyXG4gICAgc3RhdGljIHJlc3BvbnNlVG9LZXlQYWlyQXJyYXkocmVzcG9uc2U6IGFueSkge1xyXG4gICAgICAgIGxldCBlcnJvcjogYW55O1xyXG4gICAgICAgIGlmICh0eXBlb2YgcmVzcG9uc2UuZXJyb3IgPT09ICdzdHJpbmcnICYmIHJlc3BvbnNlLmVycm9yWzBdID09PSAneycpIHtcclxuICAgICAgICAgICAgZXJyb3IgPSBKU09OLnBhcnNlKHJlc3BvbnNlLmVycm9yKTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICBlcnJvciA9IHJlc3BvbnNlLmVycm9yO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgcmV0dXJuIHRoaXMudG9LZXlQYWlyQXJyYXkoZXJyb3IpO1xyXG4gICAgfVxyXG5cclxuICAgIHN0YXRpYyB0b0tleVBhaXJBcnJheShlcnJvcjogYW55KSB7XHJcbiAgICAgICAgaWYgKHR5cGVvZiBlcnJvciA9PT0gJ29iamVjdCcpIHtcclxuICAgICAgICAgICAgY29uc3QgZXJyb3JzID0gZXJyb3IudHJhY2VJZCB8fCBlcnJvci5zdWNjZXNzID09PSBmYWxzZVxyXG4gICAgICAgICAgICAgICAgPyBlcnJvci5lcnJvcnNcclxuICAgICAgICAgICAgICAgIDogZXJyb3I7XHJcblxyXG4gICAgICAgICAgICBjb25zdCByZXN1bHQ6IEtleVBhaXI8c3RyaW5nIHwgbnVsbCB8IHVuZGVmaW5lZCwgc3RyaW5nIHwgbnVsbCB8IHVuZGVmaW5lZD5bXSA9IFtdO1xyXG4gICAgICAgICAgICBjb25zdCBwcm9wZXJ0aWVzID0gT2JqZWN0LmtleXMoZXJyb3JzKTtcclxuXHJcbiAgICAgICAgICAgIGZvciAoY29uc3QgcHJvcGVydHkgb2YgcHJvcGVydGllcykge1xyXG4gICAgICAgICAgICAgICAgY29uc3QgbWVzc2FnZXMgPSBlcnJvcnNbcHJvcGVydHldO1xyXG4gICAgICAgICAgICAgICAgaWYgKG1lc3NhZ2VzIGluc3RhbmNlb2YgQXJyYXkpIHtcclxuICAgICAgICAgICAgICAgICAgICBmb3IgKGNvbnN0IG1lc3NhZ2Ugb2YgbWVzc2FnZXMpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgcmVzdWx0LnB1c2goeyBrZXk6IHByb3BlcnR5LCB2YWx1ZTogbWVzc2FnZSB9KTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgcmV0dXJuIHJlc3VsdDtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICB9XHJcbn0iXX0=
@@ -0,0 +1,13 @@
1
+ export class ExcelHelper {
2
+ static getColumnName(columnNumber) {
3
+ let dividend = columnNumber;
4
+ let columnName = '';
5
+ while (dividend > 0) {
6
+ const modulo = Math.floor((dividend - 1) % 26);
7
+ columnName = String.fromCharCode(65 + modulo) + columnName;
8
+ dividend = Math.floor((dividend - modulo) / 26);
9
+ }
10
+ return columnName;
11
+ }
12
+ }
13
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhjZWwtaGVscGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvemVrL3NyYy9saWIvdXRpbHMvZXhjZWwtaGVscGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sT0FBTyxXQUFXO0lBQ3BCLE1BQU0sQ0FBQyxhQUFhLENBQUMsWUFBb0I7UUFDckMsSUFBSSxRQUFRLEdBQUcsWUFBWSxDQUFDO1FBQzVCLElBQUksVUFBVSxHQUFHLEVBQUUsQ0FBQztRQUVwQixPQUFPLFFBQVEsR0FBRyxDQUFDLEVBQUUsQ0FBQztZQUNsQixNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsUUFBUSxHQUFHLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDO1lBQy9DLFVBQVUsR0FBRyxNQUFNLENBQUMsWUFBWSxDQUFDLEVBQUUsR0FBRyxNQUFNLENBQUMsR0FBRyxVQUFVLENBQUM7WUFDM0QsUUFBUSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxRQUFRLEdBQUcsTUFBTSxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUM7UUFDcEQsQ0FBQztRQUNELE9BQU8sVUFBVSxDQUFDO0lBQ3RCLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjbGFzcyBFeGNlbEhlbHBlciB7XHJcbiAgICBzdGF0aWMgZ2V0Q29sdW1uTmFtZShjb2x1bW5OdW1iZXI6IG51bWJlcikge1xyXG4gICAgICAgIGxldCBkaXZpZGVuZCA9IGNvbHVtbk51bWJlcjtcclxuICAgICAgICBsZXQgY29sdW1uTmFtZSA9ICcnO1xyXG5cclxuICAgICAgICB3aGlsZSAoZGl2aWRlbmQgPiAwKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IG1vZHVsbyA9IE1hdGguZmxvb3IoKGRpdmlkZW5kIC0gMSkgJSAyNik7ICAgICAgICAgICBcclxuICAgICAgICAgICAgY29sdW1uTmFtZSA9IFN0cmluZy5mcm9tQ2hhckNvZGUoNjUgKyBtb2R1bG8pICsgY29sdW1uTmFtZTtcclxuICAgICAgICAgICAgZGl2aWRlbmQgPSBNYXRoLmZsb29yKChkaXZpZGVuZCAtIG1vZHVsbykgLyAyNik7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBjb2x1bW5OYW1lO1xyXG4gICAgfVxyXG59Il19
@@ -8,9 +8,9 @@ export class FileHelper {
8
8
  const directorySeparatorChar = '\\';
9
9
  const altDirectorySeparatorChar = '/';
10
10
  const volumeSeparatorChar = ':';
11
- let length = path.length;
11
+ const length = path.length;
12
12
  for (let i = length; --i >= 0;) {
13
- let ch = path[i];
13
+ const ch = path[i];
14
14
  if (ch === '.') {
15
15
  if (i !== length - 1)
16
16
  return path.substring(i, length);
@@ -30,7 +30,7 @@ export class FileHelper {
30
30
  nav.msSaveOrOpenBlob(blob, fileName);
31
31
  }
32
32
  else {
33
- let a = document.createElement('a');
33
+ const a = document.createElement('a');
34
34
  a.href = URL.createObjectURL(blob);
35
35
  a.download = fileName;
36
36
  a.target = '_blank';
@@ -40,4 +40,4 @@ export class FileHelper {
40
40
  }
41
41
  }
42
42
  }
43
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS5oZWxwZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy96ZWsvc3JjL2xpYi91dGlscy9maWxlLmhlbHBlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLE9BQU8sVUFBVTtJQUNuQixNQUFNLENBQUMsWUFBWSxDQUFDLElBQW9CO1FBQ3BDLElBQUksSUFBSSxLQUFLLFNBQVMsSUFBSSxJQUFJLElBQUksSUFBSTtZQUNsQyxPQUFPLElBQUksQ0FBQztRQUVoQixJQUFJLE9BQU8sSUFBSSxLQUFLLFFBQVEsRUFBRSxDQUFDO1lBQzNCLE1BQU0sSUFBSSxLQUFLLENBQUMsOEJBQThCLENBQUMsQ0FBQztRQUNwRCxDQUFDO1FBRUQsTUFBTSxzQkFBc0IsR0FBRyxJQUFJLENBQUM7UUFDcEMsTUFBTSx5QkFBeUIsR0FBRyxHQUFHLENBQUM7UUFDdEMsTUFBTSxtQkFBbUIsR0FBRyxHQUFHLENBQUM7UUFFaEMsSUFBSSxNQUFNLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQztRQUN6QixLQUFLLElBQUksQ0FBQyxHQUFHLE1BQU0sRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQztZQUM3QixJQUFJLEVBQUUsR0FBRyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDakIsSUFBSSxFQUFFLEtBQUssR0FBRyxFQUFFLENBQUM7Z0JBQ2IsSUFBSSxDQUFDLEtBQUssTUFBTSxHQUFHLENBQUM7b0JBQ2hCLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsTUFBTSxDQUFDLENBQUM7O29CQUVqQyxPQUFPLEVBQUUsQ0FBQztZQUNsQixDQUFDO1lBQ0QsSUFBSSxFQUFFLElBQUksc0JBQXNCLElBQUksRUFBRSxJQUFJLHlCQUF5QixJQUFJLEVBQUUsSUFBSSxtQkFBbUI7Z0JBQzVGLE1BQU07UUFDZCxDQUFDO1FBRUQsT0FBTyxFQUFFLENBQUM7SUFDZCxDQUFDO0lBR0QsTUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFpQixFQUFFLFFBQWdCO1FBQy9DLElBQUksQ0FBQyxJQUFJO1lBQUUsT0FBTztRQUVsQixNQUFNLEdBQUcsR0FBSSxNQUFNLENBQUMsU0FBaUIsQ0FBQztRQUN0QyxJQUFJLEdBQUcsSUFBSSxHQUFHLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztZQUM5QixHQUFHLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxFQUFFLFFBQVEsQ0FBQyxDQUFDO1FBQ3pDLENBQUM7YUFBTSxDQUFDO1lBQ0osSUFBSSxDQUFDLEdBQUcsUUFBUSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUNwQyxDQUFDLENBQUMsSUFBSSxHQUFHLEdBQUcsQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDbkMsQ0FBQyxDQUFDLFFBQVEsR0FBRyxRQUFRLENBQUM7WUFDdEIsQ0FBQyxDQUFDLE1BQU0sR0FBRyxRQUFRLENBQUM7WUFDcEIsUUFBUSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDN0IsQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQ1YsUUFBUSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDakMsQ0FBQztJQUNMLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjbGFzcyBGaWxlSGVscGVyIHtcclxuICAgIHN0YXRpYyBnZXRFeHRlbnNpb24ocGF0aD86IHN0cmluZyB8IG51bGwpIHtcclxuICAgICAgICBpZiAocGF0aCA9PT0gdW5kZWZpbmVkIHx8IHBhdGggPT0gbnVsbClcclxuICAgICAgICAgICAgcmV0dXJuIHBhdGg7XHJcblxyXG4gICAgICAgIGlmICh0eXBlb2YgcGF0aCAhPT0gJ3N0cmluZycpIHtcclxuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwicGF0aCBwYXJhbWV0ZXIgaXMgbm90IHN0cmluZ1wiKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGNvbnN0IGRpcmVjdG9yeVNlcGFyYXRvckNoYXIgPSAnXFxcXCc7XHJcbiAgICAgICAgY29uc3QgYWx0RGlyZWN0b3J5U2VwYXJhdG9yQ2hhciA9ICcvJztcclxuICAgICAgICBjb25zdCB2b2x1bWVTZXBhcmF0b3JDaGFyID0gJzonO1xyXG5cclxuICAgICAgICBsZXQgbGVuZ3RoID0gcGF0aC5sZW5ndGg7XHJcbiAgICAgICAgZm9yIChsZXQgaSA9IGxlbmd0aDsgLS1pID49IDA7KSB7XHJcbiAgICAgICAgICAgIGxldCBjaCA9IHBhdGhbaV07XHJcbiAgICAgICAgICAgIGlmIChjaCA9PT0gJy4nKSB7XHJcbiAgICAgICAgICAgICAgICBpZiAoaSAhPT0gbGVuZ3RoIC0gMSlcclxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gcGF0aC5zdWJzdHJpbmcoaSwgbGVuZ3RoKTtcclxuICAgICAgICAgICAgICAgIGVsc2VcclxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gJyc7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgaWYgKGNoID09IGRpcmVjdG9yeVNlcGFyYXRvckNoYXIgfHwgY2ggPT0gYWx0RGlyZWN0b3J5U2VwYXJhdG9yQ2hhciB8fCBjaCA9PSB2b2x1bWVTZXBhcmF0b3JDaGFyKVxyXG4gICAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICByZXR1cm4gJyc7XHJcbiAgICB9XHJcblxyXG5cclxuICAgIHN0YXRpYyBkb3dubG9hZChibG9iOiBCbG9iIHwgbnVsbCwgZmlsZU5hbWU6IHN0cmluZykge1xyXG4gICAgICAgIGlmICghYmxvYikgcmV0dXJuO1xyXG5cclxuICAgICAgICBjb25zdCBuYXYgPSAod2luZG93Lm5hdmlnYXRvciBhcyBhbnkpO1xyXG4gICAgICAgIGlmIChuYXYgJiYgbmF2Lm1zU2F2ZU9yT3BlbkJsb2IpIHtcclxuICAgICAgICAgICAgbmF2Lm1zU2F2ZU9yT3BlbkJsb2IoYmxvYiwgZmlsZU5hbWUpO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIGxldCBhID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnYScpO1xyXG4gICAgICAgICAgICBhLmhyZWYgPSBVUkwuY3JlYXRlT2JqZWN0VVJMKGJsb2IpO1xyXG4gICAgICAgICAgICBhLmRvd25sb2FkID0gZmlsZU5hbWU7XHJcbiAgICAgICAgICAgIGEudGFyZ2V0ID0gJ19ibGFuayc7XHJcbiAgICAgICAgICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoYSk7XHJcbiAgICAgICAgICAgIGEuY2xpY2soKTtcclxuICAgICAgICAgICAgZG9jdW1lbnQuYm9keS5yZW1vdmVDaGlsZChhKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn0iXX0=
43
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS5oZWxwZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy96ZWsvc3JjL2xpYi91dGlscy9maWxlLmhlbHBlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLE9BQU8sVUFBVTtJQUNuQixNQUFNLENBQUMsWUFBWSxDQUFDLElBQW9CO1FBQ3BDLElBQUksSUFBSSxLQUFLLFNBQVMsSUFBSSxJQUFJLElBQUksSUFBSTtZQUNsQyxPQUFPLElBQUksQ0FBQztRQUVoQixJQUFJLE9BQU8sSUFBSSxLQUFLLFFBQVEsRUFBRSxDQUFDO1lBQzNCLE1BQU0sSUFBSSxLQUFLLENBQUMsOEJBQThCLENBQUMsQ0FBQztRQUNwRCxDQUFDO1FBRUQsTUFBTSxzQkFBc0IsR0FBRyxJQUFJLENBQUM7UUFDcEMsTUFBTSx5QkFBeUIsR0FBRyxHQUFHLENBQUM7UUFDdEMsTUFBTSxtQkFBbUIsR0FBRyxHQUFHLENBQUM7UUFFaEMsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQztRQUMzQixLQUFLLElBQUksQ0FBQyxHQUFHLE1BQU0sRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQztZQUM3QixNQUFNLEVBQUUsR0FBRyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDbkIsSUFBSSxFQUFFLEtBQUssR0FBRyxFQUFFLENBQUM7Z0JBQ2IsSUFBSSxDQUFDLEtBQUssTUFBTSxHQUFHLENBQUM7b0JBQ2hCLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsTUFBTSxDQUFDLENBQUM7O29CQUVqQyxPQUFPLEVBQUUsQ0FBQztZQUNsQixDQUFDO1lBQ0QsSUFBSSxFQUFFLElBQUksc0JBQXNCLElBQUksRUFBRSxJQUFJLHlCQUF5QixJQUFJLEVBQUUsSUFBSSxtQkFBbUI7Z0JBQzVGLE1BQU07UUFDZCxDQUFDO1FBRUQsT0FBTyxFQUFFLENBQUM7SUFDZCxDQUFDO0lBR0QsTUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFpQixFQUFFLFFBQWdCO1FBQy9DLElBQUksQ0FBQyxJQUFJO1lBQUUsT0FBTztRQUVsQixNQUFNLEdBQUcsR0FBSSxNQUFNLENBQUMsU0FBaUIsQ0FBQztRQUN0QyxJQUFJLEdBQUcsSUFBSSxHQUFHLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztZQUM5QixHQUFHLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxFQUFFLFFBQVEsQ0FBQyxDQUFDO1FBQ3pDLENBQUM7YUFBTSxDQUFDO1lBQ0osTUFBTSxDQUFDLEdBQUcsUUFBUSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUN0QyxDQUFDLENBQUMsSUFBSSxHQUFHLEdBQUcsQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDbkMsQ0FBQyxDQUFDLFFBQVEsR0FBRyxRQUFRLENBQUM7WUFDdEIsQ0FBQyxDQUFDLE1BQU0sR0FBRyxRQUFRLENBQUM7WUFDcEIsUUFBUSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDN0IsQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQ1YsUUFBUSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDakMsQ0FBQztJQUNMLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjbGFzcyBGaWxlSGVscGVyIHtcclxuICAgIHN0YXRpYyBnZXRFeHRlbnNpb24ocGF0aD86IHN0cmluZyB8IG51bGwpIHtcclxuICAgICAgICBpZiAocGF0aCA9PT0gdW5kZWZpbmVkIHx8IHBhdGggPT0gbnVsbClcclxuICAgICAgICAgICAgcmV0dXJuIHBhdGg7XHJcblxyXG4gICAgICAgIGlmICh0eXBlb2YgcGF0aCAhPT0gJ3N0cmluZycpIHtcclxuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwicGF0aCBwYXJhbWV0ZXIgaXMgbm90IHN0cmluZ1wiKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGNvbnN0IGRpcmVjdG9yeVNlcGFyYXRvckNoYXIgPSAnXFxcXCc7XHJcbiAgICAgICAgY29uc3QgYWx0RGlyZWN0b3J5U2VwYXJhdG9yQ2hhciA9ICcvJztcclxuICAgICAgICBjb25zdCB2b2x1bWVTZXBhcmF0b3JDaGFyID0gJzonO1xyXG5cclxuICAgICAgICBjb25zdCBsZW5ndGggPSBwYXRoLmxlbmd0aDtcclxuICAgICAgICBmb3IgKGxldCBpID0gbGVuZ3RoOyAtLWkgPj0gMDspIHtcclxuICAgICAgICAgICAgY29uc3QgY2ggPSBwYXRoW2ldO1xyXG4gICAgICAgICAgICBpZiAoY2ggPT09ICcuJykge1xyXG4gICAgICAgICAgICAgICAgaWYgKGkgIT09IGxlbmd0aCAtIDEpXHJcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHBhdGguc3Vic3RyaW5nKGksIGxlbmd0aCk7XHJcbiAgICAgICAgICAgICAgICBlbHNlXHJcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuICcnO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGlmIChjaCA9PSBkaXJlY3RvcnlTZXBhcmF0b3JDaGFyIHx8IGNoID09IGFsdERpcmVjdG9yeVNlcGFyYXRvckNoYXIgfHwgY2ggPT0gdm9sdW1lU2VwYXJhdG9yQ2hhcilcclxuICAgICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgcmV0dXJuICcnO1xyXG4gICAgfVxyXG5cclxuXHJcbiAgICBzdGF0aWMgZG93bmxvYWQoYmxvYjogQmxvYiB8IG51bGwsIGZpbGVOYW1lOiBzdHJpbmcpIHtcclxuICAgICAgICBpZiAoIWJsb2IpIHJldHVybjtcclxuXHJcbiAgICAgICAgY29uc3QgbmF2ID0gKHdpbmRvdy5uYXZpZ2F0b3IgYXMgYW55KTtcclxuICAgICAgICBpZiAobmF2ICYmIG5hdi5tc1NhdmVPck9wZW5CbG9iKSB7XHJcbiAgICAgICAgICAgIG5hdi5tc1NhdmVPck9wZW5CbG9iKGJsb2IsIGZpbGVOYW1lKTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICBjb25zdCBhID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnYScpO1xyXG4gICAgICAgICAgICBhLmhyZWYgPSBVUkwuY3JlYXRlT2JqZWN0VVJMKGJsb2IpO1xyXG4gICAgICAgICAgICBhLmRvd25sb2FkID0gZmlsZU5hbWU7XHJcbiAgICAgICAgICAgIGEudGFyZ2V0ID0gJ19ibGFuayc7XHJcbiAgICAgICAgICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoYSk7XHJcbiAgICAgICAgICAgIGEuY2xpY2soKTtcclxuICAgICAgICAgICAgZG9jdW1lbnQuYm9keS5yZW1vdmVDaGlsZChhKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn0iXX0=
@@ -3,11 +3,11 @@ export class FilterHelper {
3
3
  static isEmpty(obj) {
4
4
  if (typeof obj === 'undefined' || obj === null)
5
5
  return true;
6
- let tmp = Object.assign({}, obj);
6
+ const tmp = Object.assign({}, obj);
7
7
  delete tmp.page;
8
8
  delete tmp.pageSize;
9
9
  delete tmp.sort;
10
10
  return ObjectHelper.isEmpty(tmp);
11
11
  }
12
12
  }
13
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLWhlbHBlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3play9zcmMvbGliL3V0aWxzL2ZpbHRlci1oZWxwZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRS9DLE1BQU0sT0FBTyxZQUFZO0lBQ3JCLE1BQU0sQ0FBQyxPQUFPLENBQUMsR0FBUTtRQUNuQixJQUFJLE9BQU8sR0FBRyxLQUFLLFdBQVcsSUFBSSxHQUFHLEtBQUssSUFBSTtZQUMxQyxPQUFPLElBQUksQ0FBQztRQUVoQixJQUFJLEdBQUcsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLEVBQUUsRUFBRSxHQUFHLENBQUMsQ0FBQztRQUNqQyxPQUFPLEdBQUcsQ0FBQyxJQUFJLENBQUM7UUFDaEIsT0FBTyxHQUFHLENBQUMsUUFBUSxDQUFDO1FBQ3BCLE9BQU8sR0FBRyxDQUFDLElBQUksQ0FBQztRQUVoQixPQUFPLFlBQVksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDckMsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgT2JqZWN0SGVscGVyIH0gZnJvbSBcIi4vb2JqZWN0LWhlbHBlclwiO1xyXG5cclxuZXhwb3J0IGNsYXNzIEZpbHRlckhlbHBlciB7XHJcbiAgICBzdGF0aWMgaXNFbXB0eShvYmo6IGFueSkge1xyXG4gICAgICAgIGlmICh0eXBlb2Ygb2JqID09PSAndW5kZWZpbmVkJyB8fCBvYmogPT09IG51bGwpXHJcbiAgICAgICAgICAgIHJldHVybiB0cnVlO1xyXG5cclxuICAgICAgICBsZXQgdG1wID0gT2JqZWN0LmFzc2lnbih7fSwgb2JqKTtcclxuICAgICAgICBkZWxldGUgdG1wLnBhZ2U7XHJcbiAgICAgICAgZGVsZXRlIHRtcC5wYWdlU2l6ZTtcclxuICAgICAgICBkZWxldGUgdG1wLnNvcnQ7XHJcblxyXG4gICAgICAgIHJldHVybiBPYmplY3RIZWxwZXIuaXNFbXB0eSh0bXApO1xyXG4gICAgfVxyXG59Il19
13
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLWhlbHBlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3play9zcmMvbGliL3V0aWxzL2ZpbHRlci1oZWxwZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRS9DLE1BQU0sT0FBTyxZQUFZO0lBQ3JCLE1BQU0sQ0FBQyxPQUFPLENBQUMsR0FBUTtRQUNuQixJQUFJLE9BQU8sR0FBRyxLQUFLLFdBQVcsSUFBSSxHQUFHLEtBQUssSUFBSTtZQUMxQyxPQUFPLElBQUksQ0FBQztRQUVoQixNQUFNLEdBQUcsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLEVBQUUsRUFBRSxHQUFHLENBQUMsQ0FBQztRQUNuQyxPQUFPLEdBQUcsQ0FBQyxJQUFJLENBQUM7UUFDaEIsT0FBTyxHQUFHLENBQUMsUUFBUSxDQUFDO1FBQ3BCLE9BQU8sR0FBRyxDQUFDLElBQUksQ0FBQztRQUVoQixPQUFPLFlBQVksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDckMsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgT2JqZWN0SGVscGVyIH0gZnJvbSBcIi4vb2JqZWN0LWhlbHBlclwiO1xyXG5cclxuZXhwb3J0IGNsYXNzIEZpbHRlckhlbHBlciB7XHJcbiAgICBzdGF0aWMgaXNFbXB0eShvYmo6IGFueSkge1xyXG4gICAgICAgIGlmICh0eXBlb2Ygb2JqID09PSAndW5kZWZpbmVkJyB8fCBvYmogPT09IG51bGwpXHJcbiAgICAgICAgICAgIHJldHVybiB0cnVlO1xyXG5cclxuICAgICAgICBjb25zdCB0bXAgPSBPYmplY3QuYXNzaWduKHt9LCBvYmopO1xyXG4gICAgICAgIGRlbGV0ZSB0bXAucGFnZTtcclxuICAgICAgICBkZWxldGUgdG1wLnBhZ2VTaXplO1xyXG4gICAgICAgIGRlbGV0ZSB0bXAuc29ydDtcclxuXHJcbiAgICAgICAgcmV0dXJuIE9iamVjdEhlbHBlci5pc0VtcHR5KHRtcCk7XHJcbiAgICB9XHJcbn0iXX0=
@@ -1,6 +1,6 @@
1
- export var handler = (function () {
2
- var i = 1;
3
- var listeners = {};
1
+ export const handler = (function () {
2
+ let i = 1;
3
+ const listeners = {};
4
4
  return {
5
5
  addListener: function (element, event, handler, options) {
6
6
  element.addEventListener(event, handler, options);
@@ -14,11 +14,11 @@ export var handler = (function () {
14
14
  },
15
15
  removeListener: function (id) {
16
16
  if (id in listeners) {
17
- var h = listeners[id];
17
+ const h = listeners[id];
18
18
  h.element.removeEventListener(h.event, h.handler, h.options);
19
19
  delete listeners[id];
20
20
  }
21
21
  }
22
22
  };
23
23
  }());
24
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGFuZGxlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3play9zcmMvbGliL3V0aWxzL2hhbmRsZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsTUFBTSxDQUFDLElBQUksT0FBTyxHQUFHLENBQUM7SUFDbEIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ1YsSUFBSSxTQUFTLEdBQVEsRUFBRSxDQUFDO0lBRXhCLE9BQU87UUFDSCxXQUFXLEVBQUUsVUFBVSxPQUE2QixFQUFFLEtBQWEsRUFBRSxPQUEyQyxFQUFFLE9BQTJDO1lBQ3pKLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLEVBQUUsT0FBTyxFQUFFLE9BQU8sQ0FBQyxDQUFDO1lBQ2xELFNBQVMsQ0FBQyxDQUFDLENBQUMsR0FBRztnQkFDWCxPQUFPLEVBQUUsT0FBTztnQkFDaEIsS0FBSyxFQUFFLEtBQUs7Z0JBQ1osT0FBTyxFQUFFLE9BQU87Z0JBQ2hCLE9BQU8sRUFBRSxPQUFPO2FBQ25CLENBQUM7WUFDRixPQUFPLENBQUMsRUFBRSxDQUFDO1FBQ2YsQ0FBQztRQUNELGNBQWMsRUFBRSxVQUFVLEVBQVU7WUFDaEMsSUFBSSxFQUFFLElBQUksU0FBUyxFQUFFLENBQUM7Z0JBQ2xCLElBQUksQ0FBQyxHQUFHLFNBQVMsQ0FBQyxFQUFFLENBQUMsQ0FBQztnQkFFdEIsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDO2dCQUM3RCxPQUFPLFNBQVMsQ0FBQyxFQUFFLENBQUMsQ0FBQztZQUN6QixDQUFDO1FBQ0wsQ0FBQztLQUNKLENBQUM7QUFDTixDQUFDLEVBQUUsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiXHJcbmV4cG9ydCB2YXIgaGFuZGxlciA9IChmdW5jdGlvbiAoKSB7XHJcbiAgICB2YXIgaSA9IDE7XHJcbiAgICB2YXIgbGlzdGVuZXJzOiBhbnkgPSB7fTtcclxuXHJcbiAgICByZXR1cm4ge1xyXG4gICAgICAgIGFkZExpc3RlbmVyOiBmdW5jdGlvbiAoZWxlbWVudDogSFRNTEVsZW1lbnQgfCBXaW5kb3csIGV2ZW50OiBzdHJpbmcsIGhhbmRsZXI6IEV2ZW50TGlzdGVuZXJPckV2ZW50TGlzdGVuZXJPYmplY3QsIG9wdGlvbnM/OiBib29sZWFuIHwgQWRkRXZlbnRMaXN0ZW5lck9wdGlvbnMpIHtcclxuICAgICAgICAgICAgZWxlbWVudC5hZGRFdmVudExpc3RlbmVyKGV2ZW50LCBoYW5kbGVyLCBvcHRpb25zKTsgICAgICAgICAgICBcclxuICAgICAgICAgICAgbGlzdGVuZXJzW2ldID0ge1xyXG4gICAgICAgICAgICAgICAgZWxlbWVudDogZWxlbWVudCxcclxuICAgICAgICAgICAgICAgIGV2ZW50OiBldmVudCxcclxuICAgICAgICAgICAgICAgIGhhbmRsZXI6IGhhbmRsZXIsXHJcbiAgICAgICAgICAgICAgICBvcHRpb25zOiBvcHRpb25zLFxyXG4gICAgICAgICAgICB9O1xyXG4gICAgICAgICAgICByZXR1cm4gaSsrO1xyXG4gICAgICAgIH0sXHJcbiAgICAgICAgcmVtb3ZlTGlzdGVuZXI6IGZ1bmN0aW9uIChpZDogbnVtYmVyKSB7XHJcbiAgICAgICAgICAgIGlmIChpZCBpbiBsaXN0ZW5lcnMpIHtcclxuICAgICAgICAgICAgICAgIHZhciBoID0gbGlzdGVuZXJzW2lkXTtcclxuICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgaC5lbGVtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoaC5ldmVudCwgaC5oYW5kbGVyLCBoLm9wdGlvbnMpO1xyXG4gICAgICAgICAgICAgICAgZGVsZXRlIGxpc3RlbmVyc1tpZF07XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9O1xyXG59KCkpOyJdfQ==
24
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGFuZGxlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3play9zcmMvbGliL3V0aWxzL2hhbmRsZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsTUFBTSxDQUFDLE1BQU0sT0FBTyxHQUFHLENBQUM7SUFDcEIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ1YsTUFBTSxTQUFTLEdBQVEsRUFBRSxDQUFDO0lBRTFCLE9BQU87UUFDSCxXQUFXLEVBQUUsVUFBVSxPQUE2QixFQUFFLEtBQWEsRUFBRSxPQUEyQyxFQUFFLE9BQTJDO1lBQ3pKLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLEVBQUUsT0FBTyxFQUFFLE9BQU8sQ0FBQyxDQUFDO1lBQ2xELFNBQVMsQ0FBQyxDQUFDLENBQUMsR0FBRztnQkFDWCxPQUFPLEVBQUUsT0FBTztnQkFDaEIsS0FBSyxFQUFFLEtBQUs7Z0JBQ1osT0FBTyxFQUFFLE9BQU87Z0JBQ2hCLE9BQU8sRUFBRSxPQUFPO2FBQ25CLENBQUM7WUFDRixPQUFPLENBQUMsRUFBRSxDQUFDO1FBQ2YsQ0FBQztRQUNELGNBQWMsRUFBRSxVQUFVLEVBQVU7WUFDaEMsSUFBSSxFQUFFLElBQUksU0FBUyxFQUFFLENBQUM7Z0JBQ2xCLE1BQU0sQ0FBQyxHQUFHLFNBQVMsQ0FBQyxFQUFFLENBQUMsQ0FBQztnQkFFeEIsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDO2dCQUM3RCxPQUFPLFNBQVMsQ0FBQyxFQUFFLENBQUMsQ0FBQztZQUN6QixDQUFDO1FBQ0wsQ0FBQztLQUNKLENBQUM7QUFDTixDQUFDLEVBQUUsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiXHJcbmV4cG9ydCBjb25zdCBoYW5kbGVyID0gKGZ1bmN0aW9uICgpIHtcclxuICAgIGxldCBpID0gMTtcclxuICAgIGNvbnN0IGxpc3RlbmVyczogYW55ID0ge307XHJcblxyXG4gICAgcmV0dXJuIHtcclxuICAgICAgICBhZGRMaXN0ZW5lcjogZnVuY3Rpb24gKGVsZW1lbnQ6IEhUTUxFbGVtZW50IHwgV2luZG93LCBldmVudDogc3RyaW5nLCBoYW5kbGVyOiBFdmVudExpc3RlbmVyT3JFdmVudExpc3RlbmVyT2JqZWN0LCBvcHRpb25zPzogYm9vbGVhbiB8IEFkZEV2ZW50TGlzdGVuZXJPcHRpb25zKSB7XHJcbiAgICAgICAgICAgIGVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcihldmVudCwgaGFuZGxlciwgb3B0aW9ucyk7ICAgICAgICAgICAgXHJcbiAgICAgICAgICAgIGxpc3RlbmVyc1tpXSA9IHtcclxuICAgICAgICAgICAgICAgIGVsZW1lbnQ6IGVsZW1lbnQsXHJcbiAgICAgICAgICAgICAgICBldmVudDogZXZlbnQsXHJcbiAgICAgICAgICAgICAgICBoYW5kbGVyOiBoYW5kbGVyLFxyXG4gICAgICAgICAgICAgICAgb3B0aW9uczogb3B0aW9ucyxcclxuICAgICAgICAgICAgfTtcclxuICAgICAgICAgICAgcmV0dXJuIGkrKztcclxuICAgICAgICB9LFxyXG4gICAgICAgIHJlbW92ZUxpc3RlbmVyOiBmdW5jdGlvbiAoaWQ6IG51bWJlcikge1xyXG4gICAgICAgICAgICBpZiAoaWQgaW4gbGlzdGVuZXJzKSB7XHJcbiAgICAgICAgICAgICAgICBjb25zdCBoID0gbGlzdGVuZXJzW2lkXTtcclxuICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgaC5lbGVtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoaC5ldmVudCwgaC5oYW5kbGVyLCBoLm9wdGlvbnMpO1xyXG4gICAgICAgICAgICAgICAgZGVsZXRlIGxpc3RlbmVyc1tpZF07XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9O1xyXG59KCkpOyJdfQ==
@@ -11,7 +11,7 @@ export class HtmlHelper {
11
11
  .replace(/>/g, '&gt;');
12
12
  }
13
13
  static addInput(type, name, id = name, force = false) {
14
- let node = document.createElement('input');
14
+ const node = document.createElement('input');
15
15
  node.type = type;
16
16
  node.name = name;
17
17
  node.id = id;
@@ -36,13 +36,13 @@ export class HtmlHelper {
36
36
  //2022-02-24 document.getElementsByTagName('head')[0].appendChild(script);
37
37
  }
38
38
  static loadScripts(...scripts) {
39
- var promises = [];
39
+ const promises = [];
40
40
  scripts.forEach((script) => promises.push(this.internalLoadScript(script)));
41
41
  return Promise.all(promises);
42
42
  }
43
43
  static internalLoadScript(src) {
44
44
  return new Promise((resolve, reject) => {
45
- let script = document.createElement('script');
45
+ const script = document.createElement('script');
46
46
  script.src = src;
47
47
  script.type = 'text/javascript';
48
48
  if (script.readyState) { //IE
@@ -63,4 +63,4 @@ export class HtmlHelper {
63
63
  });
64
64
  }
65
65
  }
66
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHRtbC1oZWxwZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy96ZWsvc3JjL2xpYi91dGlscy9odG1sLWhlbHBlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLE9BQU8sVUFBVTtJQUNuQixNQUFNLENBQUMsVUFBVSxDQUFDLE1BQWM7UUFDNUIsSUFBSSxNQUFNLElBQUksSUFBSSxFQUFFLENBQUM7WUFDakIsTUFBTSxHQUFHLEVBQUUsQ0FBQztRQUNoQixDQUFDO1FBRUQsT0FBTyxNQUFNO2FBQ1IsT0FBTyxDQUFDLElBQUksRUFBRSxPQUFPLENBQUM7YUFDdEIsT0FBTyxDQUFDLElBQUksRUFBRSxRQUFRLENBQUM7YUFDdkIsT0FBTyxDQUFDLElBQUksRUFBRSxPQUFPLENBQUM7YUFDdEIsT0FBTyxDQUFDLElBQUksRUFBRSxNQUFNLENBQUM7YUFDckIsT0FBTyxDQUFDLElBQUksRUFBRSxNQUFNLENBQUMsQ0FBQztJQUMvQixDQUFDO0lBR0QsTUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFZLEVBQUUsSUFBWSxFQUFFLEtBQWEsSUFBSSxFQUFFLEtBQUssR0FBRyxLQUFLO1FBQ3hFLElBQUksSUFBSSxHQUFHLFFBQVEsQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDM0MsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUM7UUFDakIsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUM7UUFDakIsSUFBSSxDQUFDLEVBQUUsR0FBRyxFQUFFLENBQUM7UUFFYixRQUFRLENBQUMsb0JBQW9CLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzNELE9BQU8sSUFBSSxDQUFDO0lBQ2hCLENBQUM7SUFHRCxNQUFNLENBQUMsVUFBVSxDQUFDLEdBQVcsRUFBRSxLQUFjLEVBQUUsS0FBSyxHQUFHLElBQUksRUFBRSxLQUFLLEdBQUcsSUFBSTtRQUNyRSxNQUFNLE1BQU0sR0FBRyxRQUFRLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ2hELE1BQU0sQ0FBQyxTQUFTLEdBQUcsRUFBRSxDQUFDO1FBQ3RCLE1BQU0sQ0FBQyxHQUFHLEdBQUcsR0FBRyxDQUFDO1FBQ2pCLE1BQU0sQ0FBQyxJQUFJLEdBQUcsaUJBQWlCLENBQUM7UUFFaEMsSUFBSSxLQUFLLEVBQUUsQ0FBQztZQUNSLE1BQU0sQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ3pCLENBQUM7UUFFRCxJQUFJLEtBQUssRUFBRSxDQUFDO1lBQ1IsTUFBTSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUM7UUFDeEIsQ0FBQztRQUNELElBQUksS0FBSyxFQUFFLENBQUM7WUFDUixNQUFNLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQztRQUN4QixDQUFDO1FBRUQsUUFBUSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDbEMsMEVBQTBFO0lBQzlFLENBQUM7SUFDRCxNQUFNLENBQUMsV0FBVyxDQUFDLEdBQUcsT0FBaUI7UUFDbkMsSUFBSSxRQUFRLEdBQVUsRUFBRSxDQUFDO1FBQ3pCLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUM1RSxPQUFPLE9BQU8sQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDakMsQ0FBQztJQUNPLE1BQU0sQ0FBQyxrQkFBa0IsQ0FBQyxHQUFXO1FBQ3pDLE9BQU8sSUFBSSxPQUFPLENBQUMsQ0FBQyxPQUFPLEVBQUUsTUFBTSxFQUFFLEVBQUU7WUFDbkMsSUFBSSxNQUFNLEdBQUcsUUFBUSxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQVEsQ0FBQztZQUNyRCxNQUFNLENBQUMsR0FBRyxHQUFHLEdBQUcsQ0FBQztZQUNqQixNQUFNLENBQUMsSUFBSSxHQUFHLGlCQUFpQixDQUFDO1lBQ2hDLElBQUksTUFBTSxDQUFDLFVBQVUsRUFBRSxDQUFDLENBQUUsSUFBSTtnQkFDMUIsTUFBTSxDQUFDLGtCQUFrQixHQUFHLEdBQUcsRUFBRTtvQkFDN0IsSUFBSSxNQUFNLENBQUMsVUFBVSxLQUFLLFFBQVEsSUFBSSxNQUFNLENBQUMsVUFBVSxLQUFLLFVBQVUsRUFBRSxDQUFDO3dCQUNyRSxNQUFNLENBQUMsa0JBQWtCLEdBQUcsSUFBSSxDQUFDO3dCQUNqQyxPQUFPLENBQUMsRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO29CQUMzQyxDQUFDO2dCQUNMLENBQUMsQ0FBQztZQUNOLENBQUM7aUJBQU0sQ0FBQyxDQUFFLFFBQVE7Z0JBQ2QsTUFBTSxDQUFDLE1BQU0sR0FBRyxHQUFHLEVBQUU7b0JBQ2pCLE9BQU8sQ0FBQyxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7Z0JBQzNDLENBQUMsQ0FBQztZQUNOLENBQUM7WUFDRCxNQUFNLENBQUMsT0FBTyxHQUFHLENBQUMsS0FBVSxFQUFFLEVBQUUsQ0FBQyxPQUFPLENBQUMsRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDO1lBQ3pFLFFBQVEsQ0FBQyxvQkFBb0IsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDakUsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0NBRUoiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY2xhc3MgSHRtbEhlbHBlciB7XHJcbiAgICBzdGF0aWMgZXNjYXBlSHRtbChzb3VyY2U6IHN0cmluZykge1xyXG4gICAgICAgIGlmIChzb3VyY2UgPT0gbnVsbCkge1xyXG4gICAgICAgICAgICBzb3VyY2UgPSAnJztcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHJldHVybiBzb3VyY2VcclxuICAgICAgICAgICAgLnJlcGxhY2UoLyYvZywgJyZhbXA7JylcclxuICAgICAgICAgICAgLnJlcGxhY2UoL1wiL2csICcmcXVvdDsnKVxyXG4gICAgICAgICAgICAucmVwbGFjZSgvJy9nLCAnJiMzOTsnKVxyXG4gICAgICAgICAgICAucmVwbGFjZSgvPC9nLCAnJmx0OycpXHJcbiAgICAgICAgICAgIC5yZXBsYWNlKC8+L2csICcmZ3Q7Jyk7XHJcbiAgICB9XHJcblxyXG5cclxuICAgIHN0YXRpYyBhZGRJbnB1dCh0eXBlOiBzdHJpbmcsIG5hbWU6IHN0cmluZywgaWQ6IHN0cmluZyA9IG5hbWUsIGZvcmNlID0gZmFsc2UpIHtcclxuICAgICAgICBsZXQgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2lucHV0Jyk7XHJcbiAgICAgICAgbm9kZS50eXBlID0gdHlwZTtcclxuICAgICAgICBub2RlLm5hbWUgPSBuYW1lO1xyXG4gICAgICAgIG5vZGUuaWQgPSBpZDtcclxuXHJcbiAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ2JvZHknKVswXS5hcHBlbmRDaGlsZChub2RlKTtcclxuICAgICAgICByZXR1cm4gbm9kZTtcclxuICAgIH1cclxuXHJcblxyXG4gICAgc3RhdGljIGxvYWRTY3JpcHQodXJsOiBzdHJpbmcsIG5vbmNlPzogc3RyaW5nLCBhc3luYyA9IHRydWUsIGRlZmVyID0gdHJ1ZSkge1xyXG4gICAgICAgIGNvbnN0IHNjcmlwdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3NjcmlwdCcpO1xyXG4gICAgICAgIHNjcmlwdC5pbm5lckhUTUwgPSAnJztcclxuICAgICAgICBzY3JpcHQuc3JjID0gdXJsO1xyXG4gICAgICAgIHNjcmlwdC50eXBlID0gJ3RleHQvamF2YXNjcmlwdCc7XHJcblxyXG4gICAgICAgIGlmIChub25jZSkge1xyXG4gICAgICAgICAgICBzY3JpcHQubm9uY2UgPSBub25jZTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlmIChhc3luYykge1xyXG4gICAgICAgICAgICBzY3JpcHQuYXN5bmMgPSB0cnVlO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAoZGVmZXIpIHtcclxuICAgICAgICAgICAgc2NyaXB0LmRlZmVyID0gdHJ1ZTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGRvY3VtZW50LmhlYWQuYXBwZW5kQ2hpbGQoc2NyaXB0KTtcclxuICAgICAgICAvLzIwMjItMDItMjQgZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ2hlYWQnKVswXS5hcHBlbmRDaGlsZChzY3JpcHQpO1xyXG4gICAgfVxyXG4gICAgc3RhdGljIGxvYWRTY3JpcHRzKC4uLnNjcmlwdHM6IHN0cmluZ1tdKSB7XHJcbiAgICAgICAgdmFyIHByb21pc2VzOiBhbnlbXSA9IFtdO1xyXG4gICAgICAgIHNjcmlwdHMuZm9yRWFjaCgoc2NyaXB0KSA9PiBwcm9taXNlcy5wdXNoKHRoaXMuaW50ZXJuYWxMb2FkU2NyaXB0KHNjcmlwdCkpKTtcclxuICAgICAgICByZXR1cm4gUHJvbWlzZS5hbGwocHJvbWlzZXMpO1xyXG4gICAgfVxyXG4gICAgcHJpdmF0ZSBzdGF0aWMgaW50ZXJuYWxMb2FkU2NyaXB0KHNyYzogc3RyaW5nKSB7XHJcbiAgICAgICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHtcclxuICAgICAgICAgICAgbGV0IHNjcmlwdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3NjcmlwdCcpIGFzIGFueTtcclxuICAgICAgICAgICAgc2NyaXB0LnNyYyA9IHNyYztcclxuICAgICAgICAgICAgc2NyaXB0LnR5cGUgPSAndGV4dC9qYXZhc2NyaXB0JztcclxuICAgICAgICAgICAgaWYgKHNjcmlwdC5yZWFkeVN0YXRlKSB7ICAvL0lFXHJcbiAgICAgICAgICAgICAgICBzY3JpcHQub25yZWFkeXN0YXRlY2hhbmdlID0gKCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgIGlmIChzY3JpcHQucmVhZHlTdGF0ZSA9PT0gXCJsb2FkZWRcIiB8fCBzY3JpcHQucmVhZHlTdGF0ZSA9PT0gXCJjb21wbGV0ZVwiKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHNjcmlwdC5vbnJlYWR5c3RhdGVjaGFuZ2UgPSBudWxsO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICByZXNvbHZlKHsgc2NyaXB0OiBzcmMsIGxvYWRlZDogdHJ1ZSB9KTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9O1xyXG4gICAgICAgICAgICB9IGVsc2UgeyAgLy9PdGhlcnNcclxuICAgICAgICAgICAgICAgIHNjcmlwdC5vbmxvYWQgPSAoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgcmVzb2x2ZSh7IHNjcmlwdDogc3JjLCBsb2FkZWQ6IHRydWUgfSk7XHJcbiAgICAgICAgICAgICAgICB9O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHNjcmlwdC5vbmVycm9yID0gKGVycm9yOiBhbnkpID0+IHJlc29sdmUoeyBzY3JpcHQ6IHNyYywgbG9hZGVkOiBmYWxzZSB9KTtcclxuICAgICAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ2hlYWQnKVswXS5hcHBlbmRDaGlsZChzY3JpcHQpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxufSJdfQ==
66
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHRtbC1oZWxwZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy96ZWsvc3JjL2xpYi91dGlscy9odG1sLWhlbHBlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLE9BQU8sVUFBVTtJQUNuQixNQUFNLENBQUMsVUFBVSxDQUFDLE1BQWM7UUFDNUIsSUFBSSxNQUFNLElBQUksSUFBSSxFQUFFLENBQUM7WUFDakIsTUFBTSxHQUFHLEVBQUUsQ0FBQztRQUNoQixDQUFDO1FBRUQsT0FBTyxNQUFNO2FBQ1IsT0FBTyxDQUFDLElBQUksRUFBRSxPQUFPLENBQUM7YUFDdEIsT0FBTyxDQUFDLElBQUksRUFBRSxRQUFRLENBQUM7YUFDdkIsT0FBTyxDQUFDLElBQUksRUFBRSxPQUFPLENBQUM7YUFDdEIsT0FBTyxDQUFDLElBQUksRUFBRSxNQUFNLENBQUM7YUFDckIsT0FBTyxDQUFDLElBQUksRUFBRSxNQUFNLENBQUMsQ0FBQztJQUMvQixDQUFDO0lBR0QsTUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFZLEVBQUUsSUFBWSxFQUFFLEtBQWEsSUFBSSxFQUFFLEtBQUssR0FBRyxLQUFLO1FBQ3hFLE1BQU0sSUFBSSxHQUFHLFFBQVEsQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDN0MsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUM7UUFDakIsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUM7UUFDakIsSUFBSSxDQUFDLEVBQUUsR0FBRyxFQUFFLENBQUM7UUFFYixRQUFRLENBQUMsb0JBQW9CLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzNELE9BQU8sSUFBSSxDQUFDO0lBQ2hCLENBQUM7SUFHRCxNQUFNLENBQUMsVUFBVSxDQUFDLEdBQVcsRUFBRSxLQUFjLEVBQUUsS0FBSyxHQUFHLElBQUksRUFBRSxLQUFLLEdBQUcsSUFBSTtRQUNyRSxNQUFNLE1BQU0sR0FBRyxRQUFRLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ2hELE1BQU0sQ0FBQyxTQUFTLEdBQUcsRUFBRSxDQUFDO1FBQ3RCLE1BQU0sQ0FBQyxHQUFHLEdBQUcsR0FBRyxDQUFDO1FBQ2pCLE1BQU0sQ0FBQyxJQUFJLEdBQUcsaUJBQWlCLENBQUM7UUFFaEMsSUFBSSxLQUFLLEVBQUUsQ0FBQztZQUNSLE1BQU0sQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ3pCLENBQUM7UUFFRCxJQUFJLEtBQUssRUFBRSxDQUFDO1lBQ1IsTUFBTSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUM7UUFDeEIsQ0FBQztRQUNELElBQUksS0FBSyxFQUFFLENBQUM7WUFDUixNQUFNLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQztRQUN4QixDQUFDO1FBRUQsUUFBUSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDbEMsMEVBQTBFO0lBQzlFLENBQUM7SUFDRCxNQUFNLENBQUMsV0FBVyxDQUFDLEdBQUcsT0FBaUI7UUFDbkMsTUFBTSxRQUFRLEdBQVUsRUFBRSxDQUFDO1FBQzNCLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUM1RSxPQUFPLE9BQU8sQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDakMsQ0FBQztJQUNPLE1BQU0sQ0FBQyxrQkFBa0IsQ0FBQyxHQUFXO1FBQ3pDLE9BQU8sSUFBSSxPQUFPLENBQUMsQ0FBQyxPQUFPLEVBQUUsTUFBTSxFQUFFLEVBQUU7WUFDbkMsTUFBTSxNQUFNLEdBQUcsUUFBUSxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQVEsQ0FBQztZQUN2RCxNQUFNLENBQUMsR0FBRyxHQUFHLEdBQUcsQ0FBQztZQUNqQixNQUFNLENBQUMsSUFBSSxHQUFHLGlCQUFpQixDQUFDO1lBQ2hDLElBQUksTUFBTSxDQUFDLFVBQVUsRUFBRSxDQUFDLENBQUUsSUFBSTtnQkFDMUIsTUFBTSxDQUFDLGtCQUFrQixHQUFHLEdBQUcsRUFBRTtvQkFDN0IsSUFBSSxNQUFNLENBQUMsVUFBVSxLQUFLLFFBQVEsSUFBSSxNQUFNLENBQUMsVUFBVSxLQUFLLFVBQVUsRUFBRSxDQUFDO3dCQUNyRSxNQUFNLENBQUMsa0JBQWtCLEdBQUcsSUFBSSxDQUFDO3dCQUNqQyxPQUFPLENBQUMsRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO29CQUMzQyxDQUFDO2dCQUNMLENBQUMsQ0FBQztZQUNOLENBQUM7aUJBQU0sQ0FBQyxDQUFFLFFBQVE7Z0JBQ2QsTUFBTSxDQUFDLE1BQU0sR0FBRyxHQUFHLEVBQUU7b0JBQ2pCLE9BQU8sQ0FBQyxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7Z0JBQzNDLENBQUMsQ0FBQztZQUNOLENBQUM7WUFDRCxNQUFNLENBQUMsT0FBTyxHQUFHLENBQUMsS0FBVSxFQUFFLEVBQUUsQ0FBQyxPQUFPLENBQUMsRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDO1lBQ3pFLFFBQVEsQ0FBQyxvQkFBb0IsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDakUsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0NBRUoiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY2xhc3MgSHRtbEhlbHBlciB7XHJcbiAgICBzdGF0aWMgZXNjYXBlSHRtbChzb3VyY2U6IHN0cmluZykge1xyXG4gICAgICAgIGlmIChzb3VyY2UgPT0gbnVsbCkge1xyXG4gICAgICAgICAgICBzb3VyY2UgPSAnJztcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHJldHVybiBzb3VyY2VcclxuICAgICAgICAgICAgLnJlcGxhY2UoLyYvZywgJyZhbXA7JylcclxuICAgICAgICAgICAgLnJlcGxhY2UoL1wiL2csICcmcXVvdDsnKVxyXG4gICAgICAgICAgICAucmVwbGFjZSgvJy9nLCAnJiMzOTsnKVxyXG4gICAgICAgICAgICAucmVwbGFjZSgvPC9nLCAnJmx0OycpXHJcbiAgICAgICAgICAgIC5yZXBsYWNlKC8+L2csICcmZ3Q7Jyk7XHJcbiAgICB9XHJcblxyXG5cclxuICAgIHN0YXRpYyBhZGRJbnB1dCh0eXBlOiBzdHJpbmcsIG5hbWU6IHN0cmluZywgaWQ6IHN0cmluZyA9IG5hbWUsIGZvcmNlID0gZmFsc2UpIHtcclxuICAgICAgICBjb25zdCBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnaW5wdXQnKTtcclxuICAgICAgICBub2RlLnR5cGUgPSB0eXBlO1xyXG4gICAgICAgIG5vZGUubmFtZSA9IG5hbWU7XHJcbiAgICAgICAgbm9kZS5pZCA9IGlkO1xyXG5cclxuICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgnYm9keScpWzBdLmFwcGVuZENoaWxkKG5vZGUpO1xyXG4gICAgICAgIHJldHVybiBub2RlO1xyXG4gICAgfVxyXG5cclxuXHJcbiAgICBzdGF0aWMgbG9hZFNjcmlwdCh1cmw6IHN0cmluZywgbm9uY2U/OiBzdHJpbmcsIGFzeW5jID0gdHJ1ZSwgZGVmZXIgPSB0cnVlKSB7XHJcbiAgICAgICAgY29uc3Qgc2NyaXB0ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc2NyaXB0Jyk7XHJcbiAgICAgICAgc2NyaXB0LmlubmVySFRNTCA9ICcnO1xyXG4gICAgICAgIHNjcmlwdC5zcmMgPSB1cmw7XHJcbiAgICAgICAgc2NyaXB0LnR5cGUgPSAndGV4dC9qYXZhc2NyaXB0JztcclxuXHJcbiAgICAgICAgaWYgKG5vbmNlKSB7XHJcbiAgICAgICAgICAgIHNjcmlwdC5ub25jZSA9IG5vbmNlO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaWYgKGFzeW5jKSB7XHJcbiAgICAgICAgICAgIHNjcmlwdC5hc3luYyA9IHRydWU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmIChkZWZlcikge1xyXG4gICAgICAgICAgICBzY3JpcHQuZGVmZXIgPSB0cnVlO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgZG9jdW1lbnQuaGVhZC5hcHBlbmRDaGlsZChzY3JpcHQpO1xyXG4gICAgICAgIC8vMjAyMi0wMi0yNCBkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgnaGVhZCcpWzBdLmFwcGVuZENoaWxkKHNjcmlwdCk7XHJcbiAgICB9XHJcbiAgICBzdGF0aWMgbG9hZFNjcmlwdHMoLi4uc2NyaXB0czogc3RyaW5nW10pIHtcclxuICAgICAgICBjb25zdCBwcm9taXNlczogYW55W10gPSBbXTtcclxuICAgICAgICBzY3JpcHRzLmZvckVhY2goKHNjcmlwdCkgPT4gcHJvbWlzZXMucHVzaCh0aGlzLmludGVybmFsTG9hZFNjcmlwdChzY3JpcHQpKSk7XHJcbiAgICAgICAgcmV0dXJuIFByb21pc2UuYWxsKHByb21pc2VzKTtcclxuICAgIH1cclxuICAgIHByaXZhdGUgc3RhdGljIGludGVybmFsTG9hZFNjcmlwdChzcmM6IHN0cmluZykge1xyXG4gICAgICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XHJcbiAgICAgICAgICAgIGNvbnN0IHNjcmlwdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3NjcmlwdCcpIGFzIGFueTtcclxuICAgICAgICAgICAgc2NyaXB0LnNyYyA9IHNyYztcclxuICAgICAgICAgICAgc2NyaXB0LnR5cGUgPSAndGV4dC9qYXZhc2NyaXB0JztcclxuICAgICAgICAgICAgaWYgKHNjcmlwdC5yZWFkeVN0YXRlKSB7ICAvL0lFXHJcbiAgICAgICAgICAgICAgICBzY3JpcHQub25yZWFkeXN0YXRlY2hhbmdlID0gKCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgIGlmIChzY3JpcHQucmVhZHlTdGF0ZSA9PT0gXCJsb2FkZWRcIiB8fCBzY3JpcHQucmVhZHlTdGF0ZSA9PT0gXCJjb21wbGV0ZVwiKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHNjcmlwdC5vbnJlYWR5c3RhdGVjaGFuZ2UgPSBudWxsO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICByZXNvbHZlKHsgc2NyaXB0OiBzcmMsIGxvYWRlZDogdHJ1ZSB9KTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9O1xyXG4gICAgICAgICAgICB9IGVsc2UgeyAgLy9PdGhlcnNcclxuICAgICAgICAgICAgICAgIHNjcmlwdC5vbmxvYWQgPSAoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgcmVzb2x2ZSh7IHNjcmlwdDogc3JjLCBsb2FkZWQ6IHRydWUgfSk7XHJcbiAgICAgICAgICAgICAgICB9O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHNjcmlwdC5vbmVycm9yID0gKGVycm9yOiBhbnkpID0+IHJlc29sdmUoeyBzY3JpcHQ6IHNyYywgbG9hZGVkOiBmYWxzZSB9KTtcclxuICAgICAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ2hlYWQnKVswXS5hcHBlbmRDaGlsZChzY3JpcHQpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxufSJdfQ==
@@ -6,6 +6,7 @@ export * from './convert';
6
6
  export * from './css-helper';
7
7
  export * from './date-helper';
8
8
  export * from './error-helper';
9
+ export * from './excel-helper';
9
10
  export * from './file.helper';
10
11
  export * from './filter-helper';
11
12
  export * from './handler';
@@ -23,4 +24,4 @@ export * from './time-helper';
23
24
  export * from './tmp-helper';
24
25
  export * from './url-helper';
25
26
  export * from './validation-helper';
26
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy96ZWsvc3JjL2xpYi91dGlscy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGdCQUFnQixDQUFDO0FBQy9CLGNBQWMsaUJBQWlCLENBQUM7QUFDaEMsY0FBYyxrQkFBa0IsQ0FBQztBQUNqQyxjQUFjLG9CQUFvQixDQUFDO0FBQ25DLGNBQWMsV0FBVyxDQUFDO0FBQzFCLGNBQWMsY0FBYyxDQUFDO0FBQzdCLGNBQWMsZUFBZSxDQUFDO0FBQzlCLGNBQWMsZ0JBQWdCLENBQUM7QUFDL0IsY0FBYyxlQUFlLENBQUM7QUFDOUIsY0FBYyxpQkFBaUIsQ0FBQztBQUNoQyxjQUFjLFdBQVcsQ0FBQztBQUMxQixjQUFjLGVBQWUsQ0FBQztBQUM5QixjQUFjLGNBQWMsQ0FBQztBQUM3QixjQUFjLGVBQWUsQ0FBQztBQUM5QixjQUFjLGlCQUFpQixDQUFDO0FBQ2hDLGNBQWMsa0JBQWtCLENBQUM7QUFDakMsY0FBYyxnQkFBZ0IsQ0FBQztBQUMvQixjQUFjLGlCQUFpQixDQUFDO0FBQ2hDLGNBQWMsa0JBQWtCLENBQUM7QUFDakMsY0FBYyxpQkFBaUIsQ0FBQztBQUNoQyxjQUFjLFVBQVUsQ0FBQztBQUN6QixjQUFjLGVBQWUsQ0FBQztBQUM5QixjQUFjLGNBQWMsQ0FBQztBQUM3QixjQUFjLGNBQWMsQ0FBQztBQUM3QixjQUFjLHFCQUFxQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9hcnJheS1oZWxwZXInO1xyXG5leHBvcnQgKiBmcm9tICcuL2Jhc2U2NC1oZWxwZXInO1xyXG5leHBvcnQgKiBmcm9tICcuL2JpdHdpc2UtaGVscGVyJztcclxuZXhwb3J0ICogZnJvbSAnLi9ib290c3RyYXAuaGVscGVyJztcclxuZXhwb3J0ICogZnJvbSAnLi9jb252ZXJ0JztcclxuZXhwb3J0ICogZnJvbSAnLi9jc3MtaGVscGVyJztcclxuZXhwb3J0ICogZnJvbSAnLi9kYXRlLWhlbHBlcic7XHJcbmV4cG9ydCAqIGZyb20gJy4vZXJyb3ItaGVscGVyJztcclxuZXhwb3J0ICogZnJvbSAnLi9maWxlLmhlbHBlcic7XHJcbmV4cG9ydCAqIGZyb20gJy4vZmlsdGVyLWhlbHBlcic7XHJcbmV4cG9ydCAqIGZyb20gJy4vaGFuZGxlcic7XHJcbmV4cG9ydCAqIGZyb20gJy4vaHRtbC1oZWxwZXInO1xyXG5leHBvcnQgKiBmcm9tICcuL2p3dC1oZWxwZXInO1xyXG5leHBvcnQgKiBmcm9tICcuL21hdGgtaGVscGVyJztcclxuZXhwb3J0ICogZnJvbSAnLi9vYmplY3QtaGVscGVyJztcclxuZXhwb3J0ICogZnJvbSAnLi9vdmVybGFwLWhlbHBlcic7XHJcbmV4cG9ydCAqIGZyb20gJy4vcGFnZXItaGVscGVyJztcclxuZXhwb3J0ICogZnJvbSAnLi9yYW5kb20taGVscGVyJztcclxuZXhwb3J0ICogZnJvbSAnLi9zdG9yYWdlLWhlbHBlcic7XHJcbmV4cG9ydCAqIGZyb20gJy4vc3RyaW5nLWhlbHBlcic7XHJcbmV4cG9ydCAqIGZyb20gJy4vdGhlbkJ5JztcclxuZXhwb3J0ICogZnJvbSAnLi90aW1lLWhlbHBlcic7XHJcbmV4cG9ydCAqIGZyb20gJy4vdG1wLWhlbHBlcic7XHJcbmV4cG9ydCAqIGZyb20gJy4vdXJsLWhlbHBlcic7XHJcbmV4cG9ydCAqIGZyb20gJy4vdmFsaWRhdGlvbi1oZWxwZXInOyJdfQ==
27
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy96ZWsvc3JjL2xpYi91dGlscy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGdCQUFnQixDQUFDO0FBQy9CLGNBQWMsaUJBQWlCLENBQUM7QUFDaEMsY0FBYyxrQkFBa0IsQ0FBQztBQUNqQyxjQUFjLG9CQUFvQixDQUFDO0FBQ25DLGNBQWMsV0FBVyxDQUFDO0FBQzFCLGNBQWMsY0FBYyxDQUFDO0FBQzdCLGNBQWMsZUFBZSxDQUFDO0FBQzlCLGNBQWMsZ0JBQWdCLENBQUM7QUFDL0IsY0FBYyxnQkFBZ0IsQ0FBQztBQUMvQixjQUFjLGVBQWUsQ0FBQztBQUM5QixjQUFjLGlCQUFpQixDQUFDO0FBQ2hDLGNBQWMsV0FBVyxDQUFDO0FBQzFCLGNBQWMsZUFBZSxDQUFDO0FBQzlCLGNBQWMsY0FBYyxDQUFDO0FBQzdCLGNBQWMsZUFBZSxDQUFDO0FBQzlCLGNBQWMsaUJBQWlCLENBQUM7QUFDaEMsY0FBYyxrQkFBa0IsQ0FBQztBQUNqQyxjQUFjLGdCQUFnQixDQUFDO0FBQy9CLGNBQWMsaUJBQWlCLENBQUM7QUFDaEMsY0FBYyxrQkFBa0IsQ0FBQztBQUNqQyxjQUFjLGlCQUFpQixDQUFDO0FBQ2hDLGNBQWMsVUFBVSxDQUFDO0FBQ3pCLGNBQWMsZUFBZSxDQUFDO0FBQzlCLGNBQWMsY0FBYyxDQUFDO0FBQzdCLGNBQWMsY0FBYyxDQUFDO0FBQzdCLGNBQWMscUJBQXFCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2FycmF5LWhlbHBlcic7XHJcbmV4cG9ydCAqIGZyb20gJy4vYmFzZTY0LWhlbHBlcic7XHJcbmV4cG9ydCAqIGZyb20gJy4vYml0d2lzZS1oZWxwZXInO1xyXG5leHBvcnQgKiBmcm9tICcuL2Jvb3RzdHJhcC5oZWxwZXInO1xyXG5leHBvcnQgKiBmcm9tICcuL2NvbnZlcnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2Nzcy1oZWxwZXInO1xyXG5leHBvcnQgKiBmcm9tICcuL2RhdGUtaGVscGVyJztcclxuZXhwb3J0ICogZnJvbSAnLi9lcnJvci1oZWxwZXInO1xyXG5leHBvcnQgKiBmcm9tICcuL2V4Y2VsLWhlbHBlcic7XHJcbmV4cG9ydCAqIGZyb20gJy4vZmlsZS5oZWxwZXInO1xyXG5leHBvcnQgKiBmcm9tICcuL2ZpbHRlci1oZWxwZXInO1xyXG5leHBvcnQgKiBmcm9tICcuL2hhbmRsZXInO1xyXG5leHBvcnQgKiBmcm9tICcuL2h0bWwtaGVscGVyJztcclxuZXhwb3J0ICogZnJvbSAnLi9qd3QtaGVscGVyJztcclxuZXhwb3J0ICogZnJvbSAnLi9tYXRoLWhlbHBlcic7XHJcbmV4cG9ydCAqIGZyb20gJy4vb2JqZWN0LWhlbHBlcic7XHJcbmV4cG9ydCAqIGZyb20gJy4vb3ZlcmxhcC1oZWxwZXInO1xyXG5leHBvcnQgKiBmcm9tICcuL3BhZ2VyLWhlbHBlcic7XHJcbmV4cG9ydCAqIGZyb20gJy4vcmFuZG9tLWhlbHBlcic7XHJcbmV4cG9ydCAqIGZyb20gJy4vc3RvcmFnZS1oZWxwZXInO1xyXG5leHBvcnQgKiBmcm9tICcuL3N0cmluZy1oZWxwZXInO1xyXG5leHBvcnQgKiBmcm9tICcuL3RoZW5CeSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vdGltZS1oZWxwZXInO1xyXG5leHBvcnQgKiBmcm9tICcuL3RtcC1oZWxwZXInO1xyXG5leHBvcnQgKiBmcm9tICcuL3VybC1oZWxwZXInO1xyXG5leHBvcnQgKiBmcm9tICcuL3ZhbGlkYXRpb24taGVscGVyJzsiXX0=