@ptsecurity/mosaic 15.6.0 → 15.7.2

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 (124) hide show
  1. package/_theming.scss +19 -0
  2. package/_visual.scss +2 -0
  3. package/autocomplete/autocomplete-trigger.directive.d.ts +5 -15
  4. package/checkbox/_checkbox-theme.scss +4 -0
  5. package/core/formatters/index.d.ts +1 -1
  6. package/core/formatters/number/formatter.d.ts +25 -0
  7. package/core/locales/en-US.d.ts +1 -2
  8. package/core/locales/es-LA.d.ts +9 -0
  9. package/core/locales/fa-IR.d.ts +9 -0
  10. package/core/locales/locale-service.d.ts +39 -5
  11. package/core/locales/pt-BR.d.ts +9 -0
  12. package/core/locales/ru-RU.d.ts +1 -2
  13. package/core/locales/zh-CN.d.ts +9 -0
  14. package/core/option/option.d.ts +36 -7
  15. package/core/overlay/overlay-position-map.d.ts +7 -1
  16. package/core/styles/_variables.scss +1 -0
  17. package/core/styles/theming/_theming.scss +1 -0
  18. package/datepicker/calendar-header.component.d.ts +8 -2
  19. package/datepicker/calendar.component.d.ts +3 -4
  20. package/datepicker/month-view.component.d.ts +3 -4
  21. package/esm2020/autocomplete/autocomplete-trigger.directive.mjs +27 -24
  22. package/esm2020/core/formatters/index.mjs +6 -2
  23. package/esm2020/core/formatters/number/formatter.mjs +90 -1
  24. package/esm2020/core/locales/en-US.mjs +3 -4
  25. package/esm2020/core/locales/es-LA.mjs +11 -2
  26. package/esm2020/core/locales/fa-IR.mjs +11 -2
  27. package/esm2020/core/locales/locale-service.mjs +4 -4
  28. package/esm2020/core/locales/pt-BR.mjs +11 -2
  29. package/esm2020/core/locales/ru-RU.mjs +3 -4
  30. package/esm2020/core/locales/zh-CN.mjs +11 -2
  31. package/esm2020/core/option/option.mjs +43 -7
  32. package/esm2020/core/overlay/overlay-position-map.mjs +7 -1
  33. package/esm2020/core/version.mjs +2 -2
  34. package/esm2020/datepicker/calendar-header.component.mjs +8 -7
  35. package/esm2020/datepicker/calendar.component.mjs +5 -14
  36. package/esm2020/datepicker/datepicker-input.directive.mjs +7 -6
  37. package/esm2020/datepicker/month-view.component.mjs +6 -15
  38. package/esm2020/file-upload/multiple-file-upload.component.mjs +9 -5
  39. package/esm2020/file-upload/single-file-upload.component.mjs +10 -6
  40. package/esm2020/loader-overlay/loader-overlay.component.mjs +2 -2
  41. package/esm2020/modal/modal.component.mjs +6 -5
  42. package/esm2020/modal/modal.module.mjs +8 -4
  43. package/esm2020/navbar/navbar.component.mjs +18 -9
  44. package/esm2020/navbar/vertical-navbar.component.mjs +9 -6
  45. package/esm2020/select/select.component.mjs +23 -9
  46. package/esm2020/tabs/tab.component.mjs +13 -4
  47. package/esm2020/timezone/timezone-select.component.mjs +2 -2
  48. package/esm2020/title/title.directive.mjs +2 -2
  49. package/esm2020/toast/toast.module.mjs +10 -4
  50. package/esm2020/tree/tree-option.component.mjs +6 -3
  51. package/esm2020/tree/tree-selection.component.mjs +6 -5
  52. package/esm2020/tree-select/tree-select.component.mjs +3 -3
  53. package/fesm2015/ptsecurity-mosaic-autocomplete.mjs +30 -24
  54. package/fesm2015/ptsecurity-mosaic-autocomplete.mjs.map +1 -1
  55. package/fesm2015/ptsecurity-mosaic-core.mjs +189 -22
  56. package/fesm2015/ptsecurity-mosaic-core.mjs.map +1 -1
  57. package/fesm2015/ptsecurity-mosaic-datepicker.mjs +20 -36
  58. package/fesm2015/ptsecurity-mosaic-datepicker.mjs.map +1 -1
  59. package/fesm2015/ptsecurity-mosaic-file-upload.mjs +15 -7
  60. package/fesm2015/ptsecurity-mosaic-file-upload.mjs.map +1 -1
  61. package/fesm2015/ptsecurity-mosaic-loader-overlay.mjs +2 -2
  62. package/fesm2015/ptsecurity-mosaic-loader-overlay.mjs.map +1 -1
  63. package/fesm2015/ptsecurity-mosaic-modal.mjs +10 -5
  64. package/fesm2015/ptsecurity-mosaic-modal.mjs.map +1 -1
  65. package/fesm2015/ptsecurity-mosaic-navbar.mjs +23 -15
  66. package/fesm2015/ptsecurity-mosaic-navbar.mjs.map +1 -1
  67. package/fesm2015/ptsecurity-mosaic-select.mjs +23 -8
  68. package/fesm2015/ptsecurity-mosaic-select.mjs.map +1 -1
  69. package/fesm2015/ptsecurity-mosaic-tabs.mjs +12 -3
  70. package/fesm2015/ptsecurity-mosaic-tabs.mjs.map +1 -1
  71. package/fesm2015/ptsecurity-mosaic-timezone.mjs +2 -2
  72. package/fesm2015/ptsecurity-mosaic-timezone.mjs.map +1 -1
  73. package/fesm2015/ptsecurity-mosaic-title.mjs +1 -1
  74. package/fesm2015/ptsecurity-mosaic-title.mjs.map +1 -1
  75. package/fesm2015/ptsecurity-mosaic-toast.mjs +8 -2
  76. package/fesm2015/ptsecurity-mosaic-toast.mjs.map +1 -1
  77. package/fesm2015/ptsecurity-mosaic-tree-select.mjs +2 -2
  78. package/fesm2015/ptsecurity-mosaic-tree-select.mjs.map +1 -1
  79. package/fesm2015/ptsecurity-mosaic-tree.mjs +11 -6
  80. package/fesm2015/ptsecurity-mosaic-tree.mjs.map +1 -1
  81. package/fesm2020/ptsecurity-mosaic-autocomplete.mjs +27 -24
  82. package/fesm2020/ptsecurity-mosaic-autocomplete.mjs.map +1 -1
  83. package/fesm2020/ptsecurity-mosaic-core.mjs +189 -21
  84. package/fesm2020/ptsecurity-mosaic-core.mjs.map +1 -1
  85. package/fesm2020/ptsecurity-mosaic-datepicker.mjs +20 -36
  86. package/fesm2020/ptsecurity-mosaic-datepicker.mjs.map +1 -1
  87. package/fesm2020/ptsecurity-mosaic-file-upload.mjs +15 -7
  88. package/fesm2020/ptsecurity-mosaic-file-upload.mjs.map +1 -1
  89. package/fesm2020/ptsecurity-mosaic-loader-overlay.mjs +2 -2
  90. package/fesm2020/ptsecurity-mosaic-loader-overlay.mjs.map +1 -1
  91. package/fesm2020/ptsecurity-mosaic-modal.mjs +10 -5
  92. package/fesm2020/ptsecurity-mosaic-modal.mjs.map +1 -1
  93. package/fesm2020/ptsecurity-mosaic-navbar.mjs +23 -15
  94. package/fesm2020/ptsecurity-mosaic-navbar.mjs.map +1 -1
  95. package/fesm2020/ptsecurity-mosaic-select.mjs +22 -8
  96. package/fesm2020/ptsecurity-mosaic-select.mjs.map +1 -1
  97. package/fesm2020/ptsecurity-mosaic-tabs.mjs +12 -3
  98. package/fesm2020/ptsecurity-mosaic-tabs.mjs.map +1 -1
  99. package/fesm2020/ptsecurity-mosaic-timezone.mjs +2 -2
  100. package/fesm2020/ptsecurity-mosaic-timezone.mjs.map +1 -1
  101. package/fesm2020/ptsecurity-mosaic-title.mjs +1 -1
  102. package/fesm2020/ptsecurity-mosaic-title.mjs.map +1 -1
  103. package/fesm2020/ptsecurity-mosaic-toast.mjs +8 -2
  104. package/fesm2020/ptsecurity-mosaic-toast.mjs.map +1 -1
  105. package/fesm2020/ptsecurity-mosaic-tree-select.mjs +2 -2
  106. package/fesm2020/ptsecurity-mosaic-tree-select.mjs.map +1 -1
  107. package/fesm2020/ptsecurity-mosaic-tree.mjs +10 -6
  108. package/fesm2020/ptsecurity-mosaic-tree.mjs.map +1 -1
  109. package/file-upload/multiple-file-upload.component.d.ts +4 -3
  110. package/file-upload/single-file-upload.component.d.ts +4 -3
  111. package/form-field/_form-field-theme.scss +4 -0
  112. package/loader-overlay/loader-overlay.scss +3 -0
  113. package/modal/modal.module.d.ts +2 -1
  114. package/modal/modal.scss +14 -2
  115. package/navbar/navbar.component.d.ts +5 -2
  116. package/navbar/vertical-navbar.component.d.ts +4 -2
  117. package/package.json +4 -7
  118. package/prebuilt-themes/dark-theme.css +1 -1
  119. package/prebuilt-themes/default-theme.css +1 -1
  120. package/prebuilt-visual/default-visual.css +1 -1
  121. package/radio/_radio-theme.scss +4 -0
  122. package/select/select.component.d.ts +12 -9
  123. package/select/select.scss +1 -1
  124. package/tree/tree-option.scss +4 -2
@@ -1,10 +1,9 @@
1
1
  export const enUSLocaleData = {
2
- en: {
2
+ 'en-US': {
3
3
  select: { hiddenItemsText: 'one more' },
4
4
  datepicker: {
5
- placeholder: 'dd/mm/yyyy',
6
- dateInput: 'dd/MM/yyyy'
5
+ placeholder: 'dd/mm/yyyy'
7
6
  }
8
7
  }
9
8
  };
10
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW4tVVMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9tb3NhaWMvY29yZS9sb2NhbGVzL2VuLVVTLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE1BQU0sQ0FBQyxNQUFNLGNBQWMsR0FBRztJQUMxQixFQUFFLEVBQUU7UUFDQSxNQUFNLEVBQUUsRUFBRSxlQUFlLEVBQUUsVUFBVSxFQUFDO1FBQ3RDLFVBQVUsRUFBRTtZQUNSLFdBQVcsRUFBRSxZQUFZO1lBQ3pCLFNBQVMsRUFBRSxZQUFZO1NBQzFCO0tBQ0o7Q0FDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiXG5cbmV4cG9ydCBjb25zdCBlblVTTG9jYWxlRGF0YSA9IHtcbiAgICBlbjoge1xuICAgICAgICBzZWxlY3Q6IHsgaGlkZGVuSXRlbXNUZXh0OiAnb25lIG1vcmUnfSxcbiAgICAgICAgZGF0ZXBpY2tlcjoge1xuICAgICAgICAgICAgcGxhY2Vob2xkZXI6ICdkZC9tbS95eXl5JyxcbiAgICAgICAgICAgIGRhdGVJbnB1dDogJ2RkL01NL3l5eXknXG4gICAgICAgIH1cbiAgICB9XG59O1xuIl19
9
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW4tVVMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9tb3NhaWMvY29yZS9sb2NhbGVzL2VuLVVTLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE1BQU0sQ0FBQyxNQUFNLGNBQWMsR0FBRztJQUMxQixPQUFPLEVBQUU7UUFDTCxNQUFNLEVBQUUsRUFBRSxlQUFlLEVBQUUsVUFBVSxFQUFDO1FBQ3RDLFVBQVUsRUFBRTtZQUNSLFdBQVcsRUFBRSxZQUFZO1NBQzVCO0tBQ0o7Q0FDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiXG5cbmV4cG9ydCBjb25zdCBlblVTTG9jYWxlRGF0YSA9IHtcbiAgICAnZW4tVVMnOiB7XG4gICAgICAgIHNlbGVjdDogeyBoaWRkZW5JdGVtc1RleHQ6ICdvbmUgbW9yZSd9LFxuICAgICAgICBkYXRlcGlja2VyOiB7XG4gICAgICAgICAgICBwbGFjZWhvbGRlcjogJ2RkL21tL3l5eXknXG4gICAgICAgIH1cbiAgICB9XG59O1xuIl19
@@ -1,6 +1,15 @@
1
1
  export const esLALocaleData = {
2
2
  'es-LA': {
3
- select: { hiddenItemsText: 'más' }
3
+ select: { hiddenItemsText: 'más' },
4
+ datepicker: {
5
+ placeholder: 'dd/mm/aaaa'
6
+ },
7
+ timepicker: {
8
+ placeholder: {
9
+ full: 'hh:mm:ss',
10
+ short: 'hh:mm'
11
+ }
12
+ }
4
13
  }
5
14
  };
6
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXMtTEEuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9tb3NhaWMvY29yZS9sb2NhbGVzL2VzLUxBLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE1BQU0sQ0FBQyxNQUFNLGNBQWMsR0FBRztJQUMxQixPQUFPLEVBQUU7UUFDTCxNQUFNLEVBQUUsRUFBRSxlQUFlLEVBQUUsS0FBSyxFQUFDO0tBQ3BDO0NBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIlxuXG5leHBvcnQgY29uc3QgZXNMQUxvY2FsZURhdGEgPSB7XG4gICAgJ2VzLUxBJzoge1xuICAgICAgICBzZWxlY3Q6IHsgaGlkZGVuSXRlbXNUZXh0OiAnbcOhcyd9XG4gICAgfVxufTtcbiJdfQ==
15
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXMtTEEuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9tb3NhaWMvY29yZS9sb2NhbGVzL2VzLUxBLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE1BQU0sQ0FBQyxNQUFNLGNBQWMsR0FBRztJQUMxQixPQUFPLEVBQUU7UUFDTCxNQUFNLEVBQUUsRUFBRSxlQUFlLEVBQUUsS0FBSyxFQUFDO1FBQ2pDLFVBQVUsRUFBRTtZQUNSLFdBQVcsRUFBRSxZQUFZO1NBQzVCO1FBQ0QsVUFBVSxFQUFFO1lBQ1IsV0FBVyxFQUFFO2dCQUNULElBQUksRUFBRSxVQUFVO2dCQUNoQixLQUFLLEVBQUUsT0FBTzthQUNqQjtTQUNKO0tBQ0o7Q0FDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiXG5cbmV4cG9ydCBjb25zdCBlc0xBTG9jYWxlRGF0YSA9IHtcbiAgICAnZXMtTEEnOiB7XG4gICAgICAgIHNlbGVjdDogeyBoaWRkZW5JdGVtc1RleHQ6ICdtw6FzJ30sXG4gICAgICAgIGRhdGVwaWNrZXI6IHtcbiAgICAgICAgICAgIHBsYWNlaG9sZGVyOiAnZGQvbW0vYWFhYSdcbiAgICAgICAgfSxcbiAgICAgICAgdGltZXBpY2tlcjoge1xuICAgICAgICAgICAgcGxhY2Vob2xkZXI6IHtcbiAgICAgICAgICAgICAgICBmdWxsOiAnaGg6bW06c3MnLFxuICAgICAgICAgICAgICAgIHNob3J0OiAnaGg6bW0nXG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59O1xuIl19
@@ -1,6 +1,15 @@
1
1
  export const faIRLocaleData = {
2
2
  'fa-IR': {
3
- select: { hiddenItemsText: 'أكثر' }
3
+ select: { hiddenItemsText: 'أكثر' },
4
+ datepicker: {
5
+ placeholder: 'روز/ ماه/سال'
6
+ },
7
+ timepicker: {
8
+ placeholder: {
9
+ full: 'ثانیه:دقیقه:ساعت',
10
+ short: 'دقیقه:ساعت'
11
+ }
12
+ }
4
13
  }
5
14
  };
6
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmEtSVIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9tb3NhaWMvY29yZS9sb2NhbGVzL2ZhLUlSLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE1BQU0sQ0FBQyxNQUFNLGNBQWMsR0FBRztJQUMxQixPQUFPLEVBQUU7UUFDTCxNQUFNLEVBQUUsRUFBRSxlQUFlLEVBQUUsTUFBTSxFQUFDO0tBQ3JDO0NBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIlxuXG5leHBvcnQgY29uc3QgZmFJUkxvY2FsZURhdGEgPSB7XG4gICAgJ2ZhLUlSJzoge1xuICAgICAgICBzZWxlY3Q6IHsgaGlkZGVuSXRlbXNUZXh0OiAn2KPZg9ir2LEnfVxuICAgIH1cbn07XG4iXX0=
15
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmEtSVIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9tb3NhaWMvY29yZS9sb2NhbGVzL2ZhLUlSLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE1BQU0sQ0FBQyxNQUFNLGNBQWMsR0FBRztJQUMxQixPQUFPLEVBQUU7UUFDTCxNQUFNLEVBQUUsRUFBRSxlQUFlLEVBQUUsTUFBTSxFQUFDO1FBQ2xDLFVBQVUsRUFBRTtZQUNSLFdBQVcsRUFBRSxjQUFjO1NBQzlCO1FBQ0QsVUFBVSxFQUFFO1lBQ1IsV0FBVyxFQUFFO2dCQUNULElBQUksRUFBRSxrQkFBa0I7Z0JBQ3hCLEtBQUssRUFBRSxZQUFZO2FBQ3RCO1NBQ0o7S0FDSjtDQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJcblxuZXhwb3J0IGNvbnN0IGZhSVJMb2NhbGVEYXRhID0ge1xuICAgICdmYS1JUic6IHtcbiAgICAgICAgc2VsZWN0OiB7IGhpZGRlbkl0ZW1zVGV4dDogJ9ij2YPYq9ixJ30sXG4gICAgICAgIGRhdGVwaWNrZXI6IHtcbiAgICAgICAgICAgIHBsYWNlaG9sZGVyOiAn2LHZiNiyLyDZhdin2Ycv2LPYp9mEJ1xuICAgICAgICB9LFxuICAgICAgICB0aW1lcGlja2VyOiB7XG4gICAgICAgICAgICBwbGFjZWhvbGRlcjoge1xuICAgICAgICAgICAgICAgIGZ1bGw6ICfYq9in2YbbjNmHOtiv2YLbjNmC2Yc62LPYp9i52KonLFxuICAgICAgICAgICAgICAgIHNob3J0OiAn2K/ZgtuM2YLZhzrYs9in2LnYqidcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn07XG4iXX0=
@@ -8,15 +8,15 @@ import { ruRULocaleData } from './ru-RU';
8
8
  import { znCNLocaleData } from './zh-CN';
9
9
  import * as i0 from "@angular/core";
10
10
  export const MC_LOCALE_ID = new InjectionToken('McLocaleId');
11
- export const MC_DEFAULT_LOCALE_ID = 'ru';
11
+ export const MC_DEFAULT_LOCALE_ID = 'ru-RU';
12
12
  export function MC_DEFAULT_LOCALE_DATA_FACTORY() {
13
13
  return {
14
14
  items: [
15
- { id: 'en', name: 'English' },
15
+ { id: 'en-US', name: 'English' },
16
16
  { id: 'zh-CN', name: '简体中文' },
17
17
  { id: 'es-LA', name: 'Español' },
18
18
  { id: 'pt-BR', name: 'Português' },
19
- { id: 'ru', name: 'Русский' },
19
+ { id: 'ru-RU', name: 'Русский' },
20
20
  { id: 'fa-IR', name: 'فارسی' }
21
21
  ],
22
22
  ...ruRULocaleData,
@@ -67,4 +67,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImpor
67
67
  type: Inject,
68
68
  args: [MC_LOCALE_DATA]
69
69
  }] }]; } });
70
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9jYWxlLXNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9tb3NhaWMvY29yZS9sb2NhbGVzL2xvY2FsZS1zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLGNBQWMsRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDN0UsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUV2QyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sU0FBUyxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFDekMsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUN6QyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sU0FBUyxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFDekMsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLFNBQVMsQ0FBQzs7QUFHekMsTUFBTSxDQUFDLE1BQU0sWUFBWSxHQUFHLElBQUksY0FBYyxDQUFTLFlBQVksQ0FBQyxDQUFDO0FBRXJFLE1BQU0sQ0FBQyxNQUFNLG9CQUFvQixHQUFHLElBQUksQ0FBQztBQUV6QyxNQUFNLFVBQVUsOEJBQThCO0lBQzFDLE9BQU87UUFDSCxLQUFLLEVBQUU7WUFDSCxFQUFFLEVBQUUsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRTtZQUM3QixFQUFFLEVBQUUsRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRTtZQUM3QixFQUFFLEVBQUUsRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRTtZQUNoQyxFQUFFLEVBQUUsRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRTtZQUNsQyxFQUFFLEVBQUUsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRTtZQUM3QixFQUFFLEVBQUUsRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRTtTQUNqQztRQUNELEdBQUcsY0FBYztRQUNqQixHQUFHLGNBQWM7UUFDakIsR0FBRyxjQUFjO1FBQ2pCLEdBQUcsY0FBYztRQUNqQixHQUFHLGNBQWM7UUFDakIsR0FBRyxjQUFjO0tBQ3BCLENBQUM7QUFDTixDQUFDO0FBQ0QsTUFBTSxDQUFDLE1BQU0sY0FBYyxHQUFHLElBQUksY0FBYyxDQUM1QyxnQkFBZ0IsRUFBRSxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFFLDhCQUE4QixFQUFFLENBQUMsQ0FBQztBQUd2RixNQUFNLENBQUMsTUFBTSxpQkFBaUIsR0FBRyxJQUFJLGNBQWMsQ0FBa0IsbUJBQW1CLENBQUMsQ0FBQztBQUkxRixNQUFNLE9BQU8sZUFBZTtJQU94QixZQUNzQyxFQUFVLEVBQ1IsVUFBVTtRQVB6QyxZQUFPLEdBQVEsRUFBRSxDQUFDO1FBU3ZCLElBQUksQ0FBQyxPQUFPLEdBQUcsVUFBVSxDQUFDO1FBRTFCLElBQUksQ0FBQyxFQUFFLEdBQUcsRUFBRSxJQUFJLG9CQUFvQixDQUFDO1FBQ3JDLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7UUFFckMsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLGVBQWUsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDaEQsQ0FBQztJQUVELFNBQVMsQ0FBQyxFQUFVO1FBQ2hCLElBQUksQ0FBQyxFQUFFLEdBQUcsRUFBRSxDQUFDO1FBQ2IsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUVyQyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDL0IsQ0FBQztJQUVELFNBQVMsQ0FBQyxFQUFVLEVBQUUsVUFBVTtRQUM1QixJQUFJLENBQUMsRUFBRSxHQUFHLEVBQUUsQ0FBQztRQUNiLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUUzQixJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsR0FBRyxVQUFVLENBQUM7SUFDdkMsQ0FBQztJQUVELFNBQVMsQ0FBQyxhQUFxQjtRQUMzQixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLENBQUM7SUFDdkMsQ0FBQzs7K0hBbkNRLGVBQWUsa0JBUUEsWUFBWSw2QkFDWixjQUFjO21JQVQ3QixlQUFlLGNBREYsTUFBTTsyRkFDbkIsZUFBZTtrQkFEM0IsVUFBVTttQkFBQyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUU7OzBCQVN6QixRQUFROzswQkFBSSxNQUFNOzJCQUFDLFlBQVk7OzBCQUMvQixRQUFROzswQkFBSSxNQUFNOzJCQUFDLGNBQWMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUsIEluamVjdGlvblRva2VuLCBPcHRpb25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IGVuVVNMb2NhbGVEYXRhIH0gZnJvbSAnLi9lbi1VUyc7XG5pbXBvcnQgeyBlc0xBTG9jYWxlRGF0YSB9IGZyb20gJy4vZXMtTEEnO1xuaW1wb3J0IHsgZmFJUkxvY2FsZURhdGEgfSBmcm9tICcuL2ZhLUlSJztcbmltcG9ydCB7IHB0QlJMb2NhbGVEYXRhIH0gZnJvbSAnLi9wdC1CUic7XG5pbXBvcnQgeyBydVJVTG9jYWxlRGF0YSB9IGZyb20gJy4vcnUtUlUnO1xuaW1wb3J0IHsgem5DTkxvY2FsZURhdGEgfSBmcm9tICcuL3poLUNOJztcblxuXG5leHBvcnQgY29uc3QgTUNfTE9DQUxFX0lEID0gbmV3IEluamVjdGlvblRva2VuPHN0cmluZz4oJ01jTG9jYWxlSWQnKTtcblxuZXhwb3J0IGNvbnN0IE1DX0RFRkFVTFRfTE9DQUxFX0lEID0gJ3J1JztcblxuZXhwb3J0IGZ1bmN0aW9uIE1DX0RFRkFVTFRfTE9DQUxFX0RBVEFfRkFDVE9SWSgpIHtcbiAgICByZXR1cm4ge1xuICAgICAgICBpdGVtczogW1xuICAgICAgICAgICAgeyBpZDogJ2VuJywgbmFtZTogJ0VuZ2xpc2gnIH0sXG4gICAgICAgICAgICB7IGlkOiAnemgtQ04nLCBuYW1lOiAn566A5L2T5Lit5paHJyB9LFxuICAgICAgICAgICAgeyBpZDogJ2VzLUxBJywgbmFtZTogJ0VzcGHDsW9sJyB9LFxuICAgICAgICAgICAgeyBpZDogJ3B0LUJSJywgbmFtZTogJ1BvcnR1Z3XDqnMnIH0sXG4gICAgICAgICAgICB7IGlkOiAncnUnLCBuYW1lOiAn0KDRg9GB0YHQutC40LknIH0sXG4gICAgICAgICAgICB7IGlkOiAnZmEtSVInLCBuYW1lOiAn2YHYp9ix2LPbjCcgfVxuICAgICAgICBdLFxuICAgICAgICAuLi5ydVJVTG9jYWxlRGF0YSxcbiAgICAgICAgLi4uZW5VU0xvY2FsZURhdGEsXG4gICAgICAgIC4uLmVzTEFMb2NhbGVEYXRhLFxuICAgICAgICAuLi5mYUlSTG9jYWxlRGF0YSxcbiAgICAgICAgLi4ucHRCUkxvY2FsZURhdGEsXG4gICAgICAgIC4uLnpuQ05Mb2NhbGVEYXRhXG4gICAgfTtcbn1cbmV4cG9ydCBjb25zdCBNQ19MT0NBTEVfREFUQSA9IG5ldyBJbmplY3Rpb25Ub2tlbjxhbnk+KFxuICAgICdNQ19MT0NBTEVfREFUQScsIHsgcHJvdmlkZWRJbjogJ3Jvb3QnLCBmYWN0b3J5OiBNQ19ERUZBVUxUX0xPQ0FMRV9EQVRBX0ZBQ1RPUlkgfSk7XG5cblxuZXhwb3J0IGNvbnN0IE1DX0xPQ0FMRV9TRVJWSUNFID0gbmV3IEluamVjdGlvblRva2VuPE1jTG9jYWxlU2VydmljZT4oJ01DX0xPQ0FMRV9TRVJWSUNFJyk7XG5cblxuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiAncm9vdCcgfSlcbmV4cG9ydCBjbGFzcyBNY0xvY2FsZVNlcnZpY2Uge1xuICAgIHJlYWRvbmx5IGNoYW5nZXM6IEJlaGF2aW9yU3ViamVjdDxzdHJpbmc+O1xuICAgIHJlYWRvbmx5IGxvY2FsZXM6IGFueSA9IHt9O1xuXG4gICAgaWQ6IHN0cmluZztcbiAgICBjdXJyZW50O1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIEBPcHRpb25hbCgpIEBJbmplY3QoTUNfTE9DQUxFX0lEKSBpZDogc3RyaW5nLFxuICAgICAgICBAT3B0aW9uYWwoKSBASW5qZWN0KE1DX0xPQ0FMRV9EQVRBKSBsb2NhbGVEYXRhXG4gICAgKSB7XG4gICAgICAgIHRoaXMubG9jYWxlcyA9IGxvY2FsZURhdGE7XG5cbiAgICAgICAgdGhpcy5pZCA9IGlkIHx8IE1DX0RFRkFVTFRfTE9DQUxFX0lEO1xuICAgICAgICB0aGlzLmN1cnJlbnQgPSB0aGlzLmxvY2FsZXNbdGhpcy5pZF07XG5cbiAgICAgICAgdGhpcy5jaGFuZ2VzID0gbmV3IEJlaGF2aW9yU3ViamVjdCh0aGlzLmlkKTtcbiAgICB9XG5cbiAgICBzZXRMb2NhbGUoaWQ6IHN0cmluZykge1xuICAgICAgICB0aGlzLmlkID0gaWQ7XG4gICAgICAgIHRoaXMuY3VycmVudCA9IHRoaXMubG9jYWxlc1t0aGlzLmlkXTtcblxuICAgICAgICB0aGlzLmNoYW5nZXMubmV4dCh0aGlzLmlkKTtcbiAgICB9XG5cbiAgICBhZGRMb2NhbGUoaWQ6IHN0cmluZywgbG9jYWxlRGF0YSkge1xuICAgICAgICB0aGlzLmlkID0gaWQ7XG4gICAgICAgIHRoaXMuY2hhbmdlcy5uZXh0KHRoaXMuaWQpO1xuXG4gICAgICAgIHRoaXMubG9jYWxlc1t0aGlzLmlkXSA9IGxvY2FsZURhdGE7XG4gICAgfVxuXG4gICAgZ2V0UGFyYW1zKGNvbXBvbmVudE5hbWU6IHN0cmluZykge1xuICAgICAgICByZXR1cm4gdGhpcy5jdXJyZW50W2NvbXBvbmVudE5hbWVdO1xuICAgIH1cbn1cbiJdfQ==
70
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9jYWxlLXNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9tb3NhaWMvY29yZS9sb2NhbGVzL2xvY2FsZS1zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLGNBQWMsRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDN0UsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUV2QyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sU0FBUyxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFDekMsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUN6QyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sU0FBUyxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFDekMsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLFNBQVMsQ0FBQzs7QUFHekMsTUFBTSxDQUFDLE1BQU0sWUFBWSxHQUFHLElBQUksY0FBYyxDQUFTLFlBQVksQ0FBQyxDQUFDO0FBRXJFLE1BQU0sQ0FBQyxNQUFNLG9CQUFvQixHQUFHLE9BQU8sQ0FBQztBQUU1QyxNQUFNLFVBQVUsOEJBQThCO0lBQzFDLE9BQU87UUFDSCxLQUFLLEVBQUU7WUFDSCxFQUFFLEVBQUUsRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRTtZQUNoQyxFQUFFLEVBQUUsRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRTtZQUM3QixFQUFFLEVBQUUsRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRTtZQUNoQyxFQUFFLEVBQUUsRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRTtZQUNsQyxFQUFFLEVBQUUsRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRTtZQUNoQyxFQUFFLEVBQUUsRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRTtTQUNqQztRQUNELEdBQUcsY0FBYztRQUNqQixHQUFHLGNBQWM7UUFDakIsR0FBRyxjQUFjO1FBQ2pCLEdBQUcsY0FBYztRQUNqQixHQUFHLGNBQWM7UUFDakIsR0FBRyxjQUFjO0tBQ3BCLENBQUM7QUFDTixDQUFDO0FBQ0QsTUFBTSxDQUFDLE1BQU0sY0FBYyxHQUFHLElBQUksY0FBYyxDQUM1QyxnQkFBZ0IsRUFBRSxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFFLDhCQUE4QixFQUFFLENBQUMsQ0FBQztBQUd2RixNQUFNLENBQUMsTUFBTSxpQkFBaUIsR0FBRyxJQUFJLGNBQWMsQ0FBa0IsbUJBQW1CLENBQUMsQ0FBQztBQUkxRixNQUFNLE9BQU8sZUFBZTtJQU94QixZQUNzQyxFQUFVLEVBQ1IsVUFBVTtRQVB6QyxZQUFPLEdBQVEsRUFBRSxDQUFDO1FBU3ZCLElBQUksQ0FBQyxPQUFPLEdBQUcsVUFBVSxDQUFDO1FBRTFCLElBQUksQ0FBQyxFQUFFLEdBQUcsRUFBRSxJQUFJLG9CQUFvQixDQUFDO1FBQ3JDLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7UUFFckMsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLGVBQWUsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDaEQsQ0FBQztJQUVELFNBQVMsQ0FBQyxFQUFVO1FBQ2hCLElBQUksQ0FBQyxFQUFFLEdBQUcsRUFBRSxDQUFDO1FBQ2IsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUVyQyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDL0IsQ0FBQztJQUVELFNBQVMsQ0FBQyxFQUFVLEVBQUUsVUFBVTtRQUM1QixJQUFJLENBQUMsRUFBRSxHQUFHLEVBQUUsQ0FBQztRQUNiLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUUzQixJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsR0FBRyxVQUFVLENBQUM7SUFDdkMsQ0FBQztJQUVELFNBQVMsQ0FBQyxhQUFxQjtRQUMzQixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLENBQUM7SUFDdkMsQ0FBQzs7K0hBbkNRLGVBQWUsa0JBUUEsWUFBWSw2QkFDWixjQUFjO21JQVQ3QixlQUFlLGNBREYsTUFBTTsyRkFDbkIsZUFBZTtrQkFEM0IsVUFBVTttQkFBQyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUU7OzBCQVN6QixRQUFROzswQkFBSSxNQUFNOzJCQUFDLFlBQVk7OzBCQUMvQixRQUFROzswQkFBSSxNQUFNOzJCQUFDLGNBQWMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUsIEluamVjdGlvblRva2VuLCBPcHRpb25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IGVuVVNMb2NhbGVEYXRhIH0gZnJvbSAnLi9lbi1VUyc7XG5pbXBvcnQgeyBlc0xBTG9jYWxlRGF0YSB9IGZyb20gJy4vZXMtTEEnO1xuaW1wb3J0IHsgZmFJUkxvY2FsZURhdGEgfSBmcm9tICcuL2ZhLUlSJztcbmltcG9ydCB7IHB0QlJMb2NhbGVEYXRhIH0gZnJvbSAnLi9wdC1CUic7XG5pbXBvcnQgeyBydVJVTG9jYWxlRGF0YSB9IGZyb20gJy4vcnUtUlUnO1xuaW1wb3J0IHsgem5DTkxvY2FsZURhdGEgfSBmcm9tICcuL3poLUNOJztcblxuXG5leHBvcnQgY29uc3QgTUNfTE9DQUxFX0lEID0gbmV3IEluamVjdGlvblRva2VuPHN0cmluZz4oJ01jTG9jYWxlSWQnKTtcblxuZXhwb3J0IGNvbnN0IE1DX0RFRkFVTFRfTE9DQUxFX0lEID0gJ3J1LVJVJztcblxuZXhwb3J0IGZ1bmN0aW9uIE1DX0RFRkFVTFRfTE9DQUxFX0RBVEFfRkFDVE9SWSgpIHtcbiAgICByZXR1cm4ge1xuICAgICAgICBpdGVtczogW1xuICAgICAgICAgICAgeyBpZDogJ2VuLVVTJywgbmFtZTogJ0VuZ2xpc2gnIH0sXG4gICAgICAgICAgICB7IGlkOiAnemgtQ04nLCBuYW1lOiAn566A5L2T5Lit5paHJyB9LFxuICAgICAgICAgICAgeyBpZDogJ2VzLUxBJywgbmFtZTogJ0VzcGHDsW9sJyB9LFxuICAgICAgICAgICAgeyBpZDogJ3B0LUJSJywgbmFtZTogJ1BvcnR1Z3XDqnMnIH0sXG4gICAgICAgICAgICB7IGlkOiAncnUtUlUnLCBuYW1lOiAn0KDRg9GB0YHQutC40LknIH0sXG4gICAgICAgICAgICB7IGlkOiAnZmEtSVInLCBuYW1lOiAn2YHYp9ix2LPbjCcgfVxuICAgICAgICBdLFxuICAgICAgICAuLi5ydVJVTG9jYWxlRGF0YSxcbiAgICAgICAgLi4uZW5VU0xvY2FsZURhdGEsXG4gICAgICAgIC4uLmVzTEFMb2NhbGVEYXRhLFxuICAgICAgICAuLi5mYUlSTG9jYWxlRGF0YSxcbiAgICAgICAgLi4ucHRCUkxvY2FsZURhdGEsXG4gICAgICAgIC4uLnpuQ05Mb2NhbGVEYXRhXG4gICAgfTtcbn1cbmV4cG9ydCBjb25zdCBNQ19MT0NBTEVfREFUQSA9IG5ldyBJbmplY3Rpb25Ub2tlbjxhbnk+KFxuICAgICdNQ19MT0NBTEVfREFUQScsIHsgcHJvdmlkZWRJbjogJ3Jvb3QnLCBmYWN0b3J5OiBNQ19ERUZBVUxUX0xPQ0FMRV9EQVRBX0ZBQ1RPUlkgfSk7XG5cblxuZXhwb3J0IGNvbnN0IE1DX0xPQ0FMRV9TRVJWSUNFID0gbmV3IEluamVjdGlvblRva2VuPE1jTG9jYWxlU2VydmljZT4oJ01DX0xPQ0FMRV9TRVJWSUNFJyk7XG5cblxuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiAncm9vdCcgfSlcbmV4cG9ydCBjbGFzcyBNY0xvY2FsZVNlcnZpY2Uge1xuICAgIHJlYWRvbmx5IGNoYW5nZXM6IEJlaGF2aW9yU3ViamVjdDxzdHJpbmc+O1xuICAgIHJlYWRvbmx5IGxvY2FsZXM6IGFueSA9IHt9O1xuXG4gICAgaWQ6IHN0cmluZztcbiAgICBjdXJyZW50O1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIEBPcHRpb25hbCgpIEBJbmplY3QoTUNfTE9DQUxFX0lEKSBpZDogc3RyaW5nLFxuICAgICAgICBAT3B0aW9uYWwoKSBASW5qZWN0KE1DX0xPQ0FMRV9EQVRBKSBsb2NhbGVEYXRhXG4gICAgKSB7XG4gICAgICAgIHRoaXMubG9jYWxlcyA9IGxvY2FsZURhdGE7XG5cbiAgICAgICAgdGhpcy5pZCA9IGlkIHx8IE1DX0RFRkFVTFRfTE9DQUxFX0lEO1xuICAgICAgICB0aGlzLmN1cnJlbnQgPSB0aGlzLmxvY2FsZXNbdGhpcy5pZF07XG5cbiAgICAgICAgdGhpcy5jaGFuZ2VzID0gbmV3IEJlaGF2aW9yU3ViamVjdCh0aGlzLmlkKTtcbiAgICB9XG5cbiAgICBzZXRMb2NhbGUoaWQ6IHN0cmluZykge1xuICAgICAgICB0aGlzLmlkID0gaWQ7XG4gICAgICAgIHRoaXMuY3VycmVudCA9IHRoaXMubG9jYWxlc1t0aGlzLmlkXTtcblxuICAgICAgICB0aGlzLmNoYW5nZXMubmV4dCh0aGlzLmlkKTtcbiAgICB9XG5cbiAgICBhZGRMb2NhbGUoaWQ6IHN0cmluZywgbG9jYWxlRGF0YSkge1xuICAgICAgICB0aGlzLmlkID0gaWQ7XG4gICAgICAgIHRoaXMuY2hhbmdlcy5uZXh0KHRoaXMuaWQpO1xuXG4gICAgICAgIHRoaXMubG9jYWxlc1t0aGlzLmlkXSA9IGxvY2FsZURhdGE7XG4gICAgfVxuXG4gICAgZ2V0UGFyYW1zKGNvbXBvbmVudE5hbWU6IHN0cmluZykge1xuICAgICAgICByZXR1cm4gdGhpcy5jdXJyZW50W2NvbXBvbmVudE5hbWVdO1xuICAgIH1cbn1cbiJdfQ==
@@ -1,6 +1,15 @@
1
1
  export const ptBRLocaleData = {
2
2
  'pt-BR': {
3
- select: { hiddenItemsText: 'mais' }
3
+ select: { hiddenItemsText: 'mais' },
4
+ datepicker: {
5
+ placeholder: 'dd/mm/yyyy'
6
+ },
7
+ timepicker: {
8
+ placeholder: {
9
+ full: 'hh:mm:ss',
10
+ short: 'hh:mm'
11
+ }
12
+ }
4
13
  }
5
14
  };
6
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHQtQlIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9tb3NhaWMvY29yZS9sb2NhbGVzL3B0LUJSLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE1BQU0sQ0FBQyxNQUFNLGNBQWMsR0FBRztJQUMxQixPQUFPLEVBQUU7UUFDTCxNQUFNLEVBQUUsRUFBRSxlQUFlLEVBQUUsTUFBTSxFQUFDO0tBQ3JDO0NBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIlxuXG5leHBvcnQgY29uc3QgcHRCUkxvY2FsZURhdGEgPSB7XG4gICAgJ3B0LUJSJzoge1xuICAgICAgICBzZWxlY3Q6IHsgaGlkZGVuSXRlbXNUZXh0OiAnbWFpcyd9XG4gICAgfVxufTtcbiJdfQ==
15
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHQtQlIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9tb3NhaWMvY29yZS9sb2NhbGVzL3B0LUJSLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE1BQU0sQ0FBQyxNQUFNLGNBQWMsR0FBRztJQUMxQixPQUFPLEVBQUU7UUFDTCxNQUFNLEVBQUUsRUFBRSxlQUFlLEVBQUUsTUFBTSxFQUFDO1FBQ2xDLFVBQVUsRUFBRTtZQUNSLFdBQVcsRUFBRSxZQUFZO1NBQzVCO1FBQ0QsVUFBVSxFQUFFO1lBQ1IsV0FBVyxFQUFFO2dCQUNULElBQUksRUFBRSxVQUFVO2dCQUNoQixLQUFLLEVBQUUsT0FBTzthQUNqQjtTQUNKO0tBQ0o7Q0FDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiXG5cbmV4cG9ydCBjb25zdCBwdEJSTG9jYWxlRGF0YSA9IHtcbiAgICAncHQtQlInOiB7XG4gICAgICAgIHNlbGVjdDogeyBoaWRkZW5JdGVtc1RleHQ6ICdtYWlzJ30sXG4gICAgICAgIGRhdGVwaWNrZXI6IHtcbiAgICAgICAgICAgIHBsYWNlaG9sZGVyOiAnZGQvbW0veXl5eSdcbiAgICAgICAgfSxcbiAgICAgICAgdGltZXBpY2tlcjoge1xuICAgICAgICAgICAgcGxhY2Vob2xkZXI6IHtcbiAgICAgICAgICAgICAgICBmdWxsOiAnaGg6bW06c3MnLFxuICAgICAgICAgICAgICAgIHNob3J0OiAnaGg6bW0nXG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59O1xuIl19
@@ -1,10 +1,9 @@
1
1
  export const ruRULocaleData = {
2
- ru: {
2
+ 'ru-RU': {
3
3
  select: { hiddenItemsText: 'еще' },
4
4
  datepicker: {
5
- placeholder: 'дд.мм.гггг',
6
- dateInput: 'dd.MM.yyyy'
5
+ placeholder: 'дд.мм.гггг'
7
6
  }
8
7
  }
9
8
  };
10
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnUtUlUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9tb3NhaWMvY29yZS9sb2NhbGVzL3J1LVJVLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE1BQU0sQ0FBQyxNQUFNLGNBQWMsR0FBRztJQUMxQixFQUFFLEVBQUU7UUFDQSxNQUFNLEVBQUUsRUFBRSxlQUFlLEVBQUUsS0FBSyxFQUFDO1FBQ2pDLFVBQVUsRUFBRTtZQUNSLFdBQVcsRUFBRSxZQUFZO1lBQ3pCLFNBQVMsRUFBRSxZQUFZO1NBQzFCO0tBQ0o7Q0FDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiXG5cbmV4cG9ydCBjb25zdCBydVJVTG9jYWxlRGF0YSA9IHtcbiAgICBydToge1xuICAgICAgICBzZWxlY3Q6IHsgaGlkZGVuSXRlbXNUZXh0OiAn0LXRidC1J30sXG4gICAgICAgIGRhdGVwaWNrZXI6IHtcbiAgICAgICAgICAgIHBsYWNlaG9sZGVyOiAn0LTQtC7QvNC8LtCz0LPQs9CzJyxcbiAgICAgICAgICAgIGRhdGVJbnB1dDogJ2RkLk1NLnl5eXknXG4gICAgICAgIH1cbiAgICB9XG59O1xuIl19
9
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnUtUlUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9tb3NhaWMvY29yZS9sb2NhbGVzL3J1LVJVLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE1BQU0sQ0FBQyxNQUFNLGNBQWMsR0FBRztJQUMxQixPQUFPLEVBQUU7UUFDTCxNQUFNLEVBQUUsRUFBRSxlQUFlLEVBQUUsS0FBSyxFQUFDO1FBQ2pDLFVBQVUsRUFBRTtZQUNSLFdBQVcsRUFBRSxZQUFZO1NBQzVCO0tBQ0o7Q0FDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiXG5cbmV4cG9ydCBjb25zdCBydVJVTG9jYWxlRGF0YSA9IHtcbiAgICAncnUtUlUnOiB7XG4gICAgICAgIHNlbGVjdDogeyBoaWRkZW5JdGVtc1RleHQ6ICfQtdGJ0LUnfSxcbiAgICAgICAgZGF0ZXBpY2tlcjoge1xuICAgICAgICAgICAgcGxhY2Vob2xkZXI6ICfQtNC0LtC80Lwu0LPQs9Cz0LMnXG4gICAgICAgIH1cbiAgICB9XG59O1xuIl19
@@ -1,6 +1,15 @@
1
1
  export const znCNLocaleData = {
2
2
  'zh-CN': {
3
- select: { hiddenItemsText: '更多的' }
3
+ select: { hiddenItemsText: '更多的' },
4
+ datepicker: {
5
+ placeholder: '年/月/日'
6
+ },
7
+ timepicker: {
8
+ placeholder: {
9
+ full: '时:分:秒',
10
+ short: '时:分'
11
+ }
12
+ }
4
13
  }
5
14
  };
6
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiemgtQ04uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9tb3NhaWMvY29yZS9sb2NhbGVzL3poLUNOLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE1BQU0sQ0FBQyxNQUFNLGNBQWMsR0FBRztJQUMxQixPQUFPLEVBQUU7UUFDTCxNQUFNLEVBQUUsRUFBRSxlQUFlLEVBQUUsS0FBSyxFQUFDO0tBQ3BDO0NBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIlxuXG5leHBvcnQgY29uc3Qgem5DTkxvY2FsZURhdGEgPSB7XG4gICAgJ3poLUNOJzoge1xuICAgICAgICBzZWxlY3Q6IHsgaGlkZGVuSXRlbXNUZXh0OiAn5pu05aSa55qEJ31cbiAgICB9XG59O1xuIl19
15
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiemgtQ04uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9tb3NhaWMvY29yZS9sb2NhbGVzL3poLUNOLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE1BQU0sQ0FBQyxNQUFNLGNBQWMsR0FBRztJQUMxQixPQUFPLEVBQUU7UUFDTCxNQUFNLEVBQUUsRUFBRSxlQUFlLEVBQUUsS0FBSyxFQUFDO1FBQ2pDLFVBQVUsRUFBRTtZQUNSLFdBQVcsRUFBRSxPQUFPO1NBQ3ZCO1FBQ0QsVUFBVSxFQUFFO1lBQ1IsV0FBVyxFQUFFO2dCQUNULElBQUksRUFBRSxPQUFPO2dCQUNiLEtBQUssRUFBRSxLQUFLO2FBQ2Y7U0FDSjtLQUNKO0NBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIlxuXG5leHBvcnQgY29uc3Qgem5DTkxvY2FsZURhdGEgPSB7XG4gICAgJ3poLUNOJzoge1xuICAgICAgICBzZWxlY3Q6IHsgaGlkZGVuSXRlbXNUZXh0OiAn5pu05aSa55qEJ30sXG4gICAgICAgIGRhdGVwaWNrZXI6IHtcbiAgICAgICAgICAgIHBsYWNlaG9sZGVyOiAn5bm0L+aciC/ml6UnXG4gICAgICAgIH0sXG4gICAgICAgIHRpbWVwaWNrZXI6IHtcbiAgICAgICAgICAgIHBsYWNlaG9sZGVyOiB7XG4gICAgICAgICAgICAgICAgZnVsbDogJ+aXtjrliIY656eSJyxcbiAgICAgICAgICAgICAgICBzaG9ydDogJ+aXtjrliIYnXG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59O1xuIl19
@@ -24,11 +24,51 @@ export class McOptionSelectionChange {
24
24
  * Injection token used to provide the parent component to options.
25
25
  */
26
26
  export const MC_OPTION_PARENT_COMPONENT = new InjectionToken('MC_OPTION_PARENT_COMPONENT');
27
+ export class McOptionBase {
28
+ /** Emits the selection change event. */
29
+ emitSelectionChangeEvent(isUserInput = false) {
30
+ this.onSelectionChange.emit(new McOptionSelectionChange(this, isUserInput));
31
+ }
32
+ }
33
+ export class McVirtualOption extends McOptionBase {
34
+ constructor(value, _disabled = false) {
35
+ super();
36
+ this.value = value;
37
+ this._disabled = _disabled;
38
+ this._selected = false;
39
+ this.onSelectionChange = new EventEmitter();
40
+ }
41
+ get disabled() {
42
+ return this._disabled;
43
+ }
44
+ set disabled(value) {
45
+ this._disabled = coerceBooleanProperty(value);
46
+ }
47
+ get selected() {
48
+ return this._selected;
49
+ }
50
+ get viewValue() {
51
+ return this.value;
52
+ }
53
+ select() {
54
+ if (!this._selected) {
55
+ this._selected = true;
56
+ this.emitSelectionChangeEvent();
57
+ }
58
+ }
59
+ deselect() {
60
+ if (this._selected) {
61
+ this._selected = false;
62
+ this.emitSelectionChangeEvent();
63
+ }
64
+ }
65
+ }
27
66
  /**
28
67
  * Single option inside of a `<mc-select>` element.
29
68
  */
30
- export class McOption {
69
+ export class McOption extends McOptionBase {
31
70
  constructor(element, changeDetectorRef, parent, group) {
71
+ super();
32
72
  this.element = element;
33
73
  this.changeDetectorRef = changeDetectorRef;
34
74
  this.parent = parent;
@@ -177,15 +217,11 @@ export class McOption {
177
217
  getHostElement() {
178
218
  return this.element.nativeElement;
179
219
  }
180
- /** Emits the selection change event. */
181
- emitSelectionChangeEvent(isUserInput = false) {
182
- this.onSelectionChange.emit(new McOptionSelectionChange(this, isUserInput));
183
- }
184
220
  }
185
221
  /** @nocollapse */ McOption.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: McOption, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: MC_OPTION_PARENT_COMPONENT, optional: true }, { token: i1.McOptgroup, optional: true }], target: i0.ɵɵFactoryTarget.Component });
186
222
  /** @nocollapse */ McOption.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: McOption, selector: "mc-option", inputs: { value: "value", showCheckbox: "showCheckbox", disabled: "disabled" }, outputs: { onSelectionChange: "onSelectionChange" }, host: { listeners: { "click": "selectViaInteraction()", "keydown": "handleKeydown($event)" }, properties: { "attr.tabindex": "getTabIndex()", "class.mc-selected": "selected", "class.mc-option-multiple": "multiple", "class.mc-active": "active", "class.mc-disabled": "disabled", "id": "id" }, classAttribute: "mc-option" }, providers: [{
187
223
  provide: MC_TITLE_TEXT_REF, useExisting: McOption
188
- }], viewQueries: [{ propertyName: "textElement", first: true, predicate: ["mcTitleText"], descendants: true }], exportAs: ["mcOption"], ngImport: i0, template: "<mc-pseudo-checkbox\n *ngIf=\"showCheckbox\"\n [state]=\"selected ? 'checked' : 'unchecked'\"\n [disabled]=\"disabled\">\n</mc-pseudo-checkbox>\n\n<span #mcTitleText class=\"mc-option-text\"><ng-content></ng-content></span>\n\n<div class=\"mc-option-overlay\"></div>\n", styles: [".mc-option{display:flex;flex-direction:row;align-items:center;box-sizing:border-box;position:relative;max-width:100%;height:var(--mc-option-size-height, 32px);border:var(--mc-option-size-border-width, 2px) solid transparent;cursor:pointer;outline:none;padding-left:var(--mc-option-size-horizontal-padding, 10px);padding-right:var(--mc-option-size-horizontal-padding, 10px);-webkit-tap-highlight-color:transparent}.mc-option.mc-disabled{cursor:default}.mc-option .mc-pseudo-checkbox{margin-right:8px}.mc-option .mc-option-overlay{position:absolute;top:calc(-1 * var(--mc-option-size-border-width, 2px));left:calc(-1 * var(--mc-option-size-border-width, 2px));right:calc(-1 * var(--mc-option-size-border-width, 2px));bottom:calc(-1 * var(--mc-option-size-border-width, 2px));pointer-events:none;border-radius:inherit}.mc-option-text{display:inline-block;flex-grow:1;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}\n"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.McPseudoCheckbox, selector: "mc-pseudo-checkbox", inputs: ["color", "state", "disabled"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
224
+ }], viewQueries: [{ propertyName: "textElement", first: true, predicate: ["mcTitleText"], descendants: true }], exportAs: ["mcOption"], usesInheritance: true, ngImport: i0, template: "<mc-pseudo-checkbox\n *ngIf=\"showCheckbox\"\n [state]=\"selected ? 'checked' : 'unchecked'\"\n [disabled]=\"disabled\">\n</mc-pseudo-checkbox>\n\n<span #mcTitleText class=\"mc-option-text\"><ng-content></ng-content></span>\n\n<div class=\"mc-option-overlay\"></div>\n", styles: [".mc-option{display:flex;flex-direction:row;align-items:center;box-sizing:border-box;position:relative;max-width:100%;height:var(--mc-option-size-height, 32px);border:var(--mc-option-size-border-width, 2px) solid transparent;cursor:pointer;outline:none;padding-left:var(--mc-option-size-horizontal-padding, 10px);padding-right:var(--mc-option-size-horizontal-padding, 10px);-webkit-tap-highlight-color:transparent}.mc-option.mc-disabled{cursor:default}.mc-option .mc-pseudo-checkbox{margin-right:8px}.mc-option .mc-option-overlay{position:absolute;top:calc(-1 * var(--mc-option-size-border-width, 2px));left:calc(-1 * var(--mc-option-size-border-width, 2px));right:calc(-1 * var(--mc-option-size-border-width, 2px));bottom:calc(-1 * var(--mc-option-size-border-width, 2px));pointer-events:none;border-radius:inherit}.mc-option-text{display:inline-block;flex-grow:1;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}\n"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.McPseudoCheckbox, selector: "mc-pseudo-checkbox", inputs: ["color", "state", "disabled"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
189
225
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: McOption, decorators: [{
190
226
  type: Component,
191
227
  args: [{ selector: 'mc-option', exportAs: 'mcOption', host: {
@@ -259,4 +295,4 @@ export function getOptionScrollPosition(optionIndex, optionHeight, currentScroll
259
295
  }
260
296
  return currentScrollPosition;
261
297
  }
262
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3B0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvbW9zYWljL2NvcmUvb3B0aW9uL29wdGlvbi50cyIsIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL21vc2FpYy9jb3JlL29wdGlvbi9vcHRpb24uaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUM5RCxPQUFPLEVBRUgsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsVUFBVSxFQUNWLFlBQVksRUFDWixNQUFNLEVBQ04sY0FBYyxFQUNkLEtBQUssRUFFTCxRQUFRLEVBQ1IsTUFBTSxFQUVOLFNBQVMsRUFDVCxpQkFBaUIsRUFDcEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUN4RCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRS9CLE9BQU8sRUFBa0IsaUJBQWlCLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFFN0QsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLFlBQVksQ0FBQzs7Ozs7QUFHeEM7OztHQUdHO0FBQ0gsSUFBSSxlQUFlLEdBQUcsQ0FBQyxDQUFDO0FBRXhCLG9FQUFvRTtBQUNwRSxNQUFNLE9BQU8sdUJBQXVCO0lBQ2hDLFlBQW1CLE1BQWdCLEVBQVMsY0FBYyxLQUFLO1FBQTVDLFdBQU0sR0FBTixNQUFNLENBQVU7UUFBUyxnQkFBVyxHQUFYLFdBQVcsQ0FBUTtJQUFHLENBQUM7Q0FDdEU7QUFZRDs7R0FFRztBQUNILE1BQU0sQ0FBQyxNQUFNLDBCQUEwQixHQUNuQyxJQUFJLGNBQWMsQ0FBMEIsNEJBQTRCLENBQUMsQ0FBQztBQUU5RTs7R0FFRztBQXdCSCxNQUFNLE9BQU8sUUFBUTtJQTJFakIsWUFDcUIsT0FBbUIsRUFDbkIsaUJB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QUFNLENBQUMsWUFBWSxDQUFDLEVBQUU7Z0JBQ3pFLFlBQVksRUFBRSxDQUFDO2FBQ2xCO1NBQ0o7UUFFRCxPQUFPLFlBQVksQ0FBQztLQUN2QjtJQUVELE9BQU8sQ0FBQyxDQUFDO0FBQ2IsQ0FBQztBQUVEOzs7Ozs7O0dBT0c7QUFDSCxNQUFNLFVBQVUsdUJBQXVCLENBQ25DLFdBQW1CLEVBQ25CLFlBQW9CLEVBQ3BCLHFCQUE2QixFQUM3QixXQUFtQjtJQUVuQixNQUFNLFlBQVksR0FBRyxXQUFXLEdBQUcsWUFBWSxDQUFDO0lBRWhELElBQUksWUFBWSxHQUFHLHFCQUFxQixFQUFFO1FBQUUsT0FBTyxZQUFZLENBQUM7S0FBRTtJQUVsRSxJQUFJLFlBQVksR0FBRyxZQUFZLEdBQUcscUJBQXFCLEdBQUcsV0FBVyxFQUFFO1FBQ25FLE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsWUFBWSxHQUFHLFdBQVcsR0FBRyxZQUFZLENBQUMsQ0FBQztLQUNqRTtJQUVELE9BQU8scUJBQXFCLENBQUM7QUFDakMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9jb2VyY2lvbic7XG5pbXBvcnQge1xuICAgIEFmdGVyVmlld0NoZWNrZWQsXG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgQ29tcG9uZW50LFxuICAgIEVsZW1lbnRSZWYsXG4gICAgRXZlbnRFbWl0dGVyLFxuICAgIEluamVjdCxcbiAgICBJbmplY3Rpb25Ub2tlbixcbiAgICBJbnB1dCxcbiAgICBPbkRlc3Ryb3ksXG4gICAgT3B0aW9uYWwsXG4gICAgT3V0cHV0LFxuICAgIFF1ZXJ5TGlzdCxcbiAgICBWaWV3Q2hpbGQsXG4gICAgVmlld0VuY2Fwc3VsYXRpb25cbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBFTlRFUiwgU1BBQ0UgfSBmcm9tICdAcHRzZWN1cml0eS9jZGsva2V5Y29kZXMnO1xuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBNY1RpdGxlVGV4dFJlZiwgTUNfVElUTEVfVEVYVF9SRUYgfSBmcm9tICcuLi90aXRsZSc7XG5cbmltcG9ydCB7IE1jT3B0Z3JvdXAgfSBmcm9tICcuL29wdGdyb3VwJztcblxuXG4vKipcbiAqIE9wdGlvbiBJRHMgbmVlZCB0byBiZSB1bmlxdWUgYWNyb3NzIGNvbXBvbmVudHMsIHNvIHRoaXMgY291bnRlciBleGlzdHMgb3V0c2lkZSBvZlxuICogdGhlIGNvbXBvbmVudCBkZWZpbml0aW9uLlxuICovXG5sZXQgdW5pcXVlSWRDb3VudGVyID0gMDtcblxuLyoqIEV2ZW50IG9iamVjdCBlbWl0dGVkIGJ5IE1jT3B0aW9uIHdoZW4gc2VsZWN0ZWQgb3IgZGVzZWxlY3RlZC4gKi9cbmV4cG9ydCBjbGFzcyBNY09wdGlvblNlbGVjdGlvbkNoYW5nZSB7XG4gICAgY29uc3RydWN0b3IocHVibGljIHNvdXJjZTogTWNPcHRpb24sIHB1YmxpYyBpc1VzZXJJbnB1dCA9IGZhbHNlKSB7fVxufVxuXG4vKipcbiAqIERlc2NyaWJlcyBhIHBhcmVudCBjb21wb25lbnQgdGhhdCBtYW5hZ2VzIGEgbGlzdCBvZiBvcHRpb25zLlxuICogQ29udGFpbnMgcHJvcGVydGllcyB0aGF0IHRoZSBvcHRpb25zIGNhbiBpbmhlcml0LlxuICogQGRvY3MtcHJpdmF0ZVxuICovXG4vLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6IG5hbWluZy1jb252ZW50aW9uXG5leHBvcnQgaW50ZXJmYWNlIE1jT3B0aW9uUGFyZW50Q29tcG9uZW50IHtcbiAgICBtdWx0aXBsZT86IGJvb2xlYW47XG59XG5cbi8qKlxuICogSW5qZWN0aW9uIHRva2VuIHVzZWQgdG8gcHJvdmlkZSB0aGUgcGFyZW50IGNvbXBvbmVudCB0byBvcHRpb25zLlxuICovXG5leHBvcnQgY29uc3QgTUNfT1BUSU9OX1BBUkVOVF9DT01QT05FTlQgPVxuICAgIG5ldyBJbmplY3Rpb25Ub2tlbjxNY09wdGlvblBhcmVudENvbXBvbmVudD4oJ01DX09QVElPTl9QQVJFTlRfQ09NUE9ORU5UJyk7XG5cbi8qKlxuICogU2luZ2xlIG9wdGlvbiBpbnNpZGUgb2YgYSBgPG1jLXNlbGVjdD5gIGVsZW1lbnQuXG4gKi9cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnbWMtb3B0aW9uJyxcbiAgICBleHBvcnRBczogJ21jT3B0aW9uJyxcbiAgICBob3N0OiB7XG4gICAgICAgICdbYXR0ci50YWJpbmRleF0nOiAnZ2V0VGFiSW5kZXgoKScsXG4gICAgICAgIGNsYXNzOiAnbWMtb3B0aW9uJyxcbiAgICAgICAgJ1tjbGFzcy5tYy1zZWxlY3RlZF0nOiAnc2VsZWN0ZWQnLFxuICAgICAgICAnW2NsYXNzLm1jLW9wdGlvbi1tdWx0aXBsZV0nOiAnbXVsdGlwbGUnLFxuICAgICAgICAnW2NsYXNzLm1jLWFjdGl2ZV0nOiAnYWN0aXZlJyxcbiAgICAgICAgJ1tjbGFzcy5tYy1kaXNhYmxlZF0nOiAnZGlzYWJsZWQnLFxuICAgICAgICAnW2lkXSc6ICdpZCcsXG5cbiAgICAgICAgJyhjbGljayknOiAnc2VsZWN0VmlhSW50ZXJhY3Rpb24oKScsXG4gICAgICAgICcoa2V5ZG93biknOiAnaGFuZGxlS2V5ZG93bigkZXZlbnQpJ1xuICAgIH0sXG4gICAgc3R5bGVVcmxzOiBbJ29wdGlvbi5zY3NzJ10sXG4gICAgdGVtcGxhdGVVcmw6ICdvcHRpb24uaHRtbCcsXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBwcm92aWRlcnM6IFt7XG4gICAgICAgIHByb3ZpZGU6IE1DX1RJVExFX1RFWFRfUkVGLCB1c2VFeGlzdGluZzogTWNPcHRpb25cbiAgICB9XVxufSlcbmV4cG9ydCBjbGFzcyBNY09wdGlvbiBpbXBsZW1lbnRzIEFmdGVyVmlld0NoZWNrZWQsIE9uRGVzdHJveSwgTWNUaXRsZVRleHRSZWYge1xuICAgIEBWaWV3Q2hpbGQoJ21jVGl0bGVUZXh0JywgeyBzdGF0aWM6IGZhbHNlIH0pIHRleHRFbGVtZW50OiBFbGVtZW50UmVmO1xuXG4gICAgLyoqIFRoZSBmb3JtIHZhbHVlIG9mIHRoZSBvcHRpb24uICovXG4gICAgQElucHV0KCkgdmFsdWU6IGFueTtcblxuICAgIEBJbnB1dCgpXG4gICAgZ2V0IHNob3dDaGVja2JveCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3Nob3dDaGVja2JveCA9PT0gdW5kZWZpbmVkID8gdGhpcy5tdWx0aXBsZSA6IHRoaXMuX3Nob3dDaGVja2JveDtcbiAgICB9XG5cbiAgICBzZXQgc2hvd0NoZWNrYm94KHZhbHVlKSB7XG4gICAgICAgIHRoaXMuX3Nob3dDaGVja2JveCA9IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSh2YWx1ZSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfc2hvd0NoZWNrYm94OiBib29sZWFuO1xuXG4gICAgLyoqIEV2ZW50IGVtaXR0ZWQgd2hlbiB0aGUgb3B0aW9uIGlzIHNlbGVjdGVkIG9yIGRlc2VsZWN0ZWQuICovXG4gICAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOm5vLW91dHB1dC1vbi1wcmVmaXhcbiAgICBAT3V0cHV0KCkgcmVhZG9ubHkgb25TZWxlY3Rpb25DaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPE1jT3B0aW9uU2VsZWN0aW9uQ2hhbmdlPigpO1xuXG4gICAgLyoqIEVtaXRzIHdoZW4gdGhlIHN0YXRlIG9mIHRoZSBvcHRpb24gY2hhbmdlcyBhbmQgYW55IHBhcmVudHMgaGF2ZSB0byBiZSBub3RpZmllZC4gKi9cbiAgICByZWFkb25seSBzdGF0ZUNoYW5nZXMgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gICAgLyoqXG4gICAgICogVGhlIGRpc3BsYXllZCB2YWx1ZSBvZiB0aGUgb3B0aW9uLiBJdCBpcyBuZWNlc3NhcnkgdG8gc2hvdyB0aGUgc2VsZWN0ZWQgb3B0aW9uIGluIHRoZVxuICAgICAqIHNlbGVjdCdzIHRyaWdnZXIuXG4gICAgICovXG4gICAgZ2V0IHZpZXdWYWx1ZSgpOiBzdHJpbmcge1xuICAgICAgICAvLyBUT0RPOiBBZGQgaW5wdXQgcHJvcGVydHkgYWx0ZXJuYXRpdmUgZm9yIG5vZGUgZW52cy5cbiAgICAgICAgcmV0dXJuICh0aGlzLmdldEhvc3RFbGVtZW50KCkudGV4dENvbnRlbnQgfHwgJycpLnRyaW0oKTtcbiAgICB9XG5cbiAgICAvKiogV2hldGhlciB0aGUgd3JhcHBpbmcgY29tcG9uZW50IGlzIGluIG11bHRpcGxlIHNlbGVjdGlvbiBtb2RlLiAqL1xuICAgIGdldCBtdWx0aXBsZSgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMucGFyZW50ICYmIHRoaXMucGFyZW50Lm11bHRpcGxlO1xuICAgIH1cblxuICAgIGdldCBpZCgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5faWQ7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfaWQgPSBgbWMtb3B0aW9uLSR7dW5pcXVlSWRDb3VudGVyKyt9YDtcblxuICAgIGdldCBzZWxlY3RlZCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3NlbGVjdGVkO1xuICAgIH1cblxuICAgIHByaXZhdGUgX3NlbGVjdGVkID0gZmFsc2U7XG5cbiAgICBASW5wdXQoKVxuICAgIGdldCBkaXNhYmxlZCgpIHtcbiAgICAgICAgcmV0dXJuICh0aGlzLmdyb3VwICYmIHRoaXMuZ3JvdXAuZGlzYWJsZWQpIHx8IHRoaXMuX2Rpc2FibGVkO1xuICAgIH1cblxuICAgIHNldCBkaXNhYmxlZCh2YWx1ZTogYW55KSB7XG4gICAgICAgIHRoaXMuX2Rpc2FibGVkID0gY29lcmNlQm9vbGVhblByb3BlcnR5KHZhbHVlKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIF9kaXNhYmxlZCA9IGZhbHNlO1xuXG4gICAgLyoqXG4gICAgICogV2hldGhlciBvciBub3QgdGhlIG9wdGlvbiBpcyBjdXJyZW50bHkgYWN0aXZlIGFuZCByZWFkeSB0byBiZSBzZWxlY3RlZC5cbiAgICAgKiBBbiBhY3RpdmUgb3B0aW9uIGRpc3BsYXlzIHN0eWxlcyBhcyBpZiBpdCBpcyBmb2N1c2VkLCBidXQgdGhlXG4gICAgICogZm9jdXMgaXMgYWN0dWFsbHkgcmV0YWluZWQgc29tZXdoZXJlIGVsc2UuIFRoaXMgY29tZXMgaW4gaGFuZHlcbiAgICAgKiBmb3IgY29tcG9uZW50cyBsaWtlIGF1dG9jb21wbGV0ZSB3aGVyZSBmb2N1cyBtdXN0IHJlbWFpbiBvbiB0aGUgaW5wdXQuXG4gICAgICovXG4gICAgZ2V0IGFjdGl2ZSgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2FjdGl2ZTtcbiAgICB9XG5cbiAgICBwcml2YXRlIF9hY3RpdmUgPSBmYWxzZTtcblxuICAgIHByaXZhdGUgbW9zdFJlY2VudFZpZXdWYWx1ZSA9ICcnO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgZWxlbWVudDogRWxlbWVudFJlZixcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBjaGFuZ2VEZXRlY3RvclJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgICAgIEBPcHRpb25hbCgpIEBJbmplY3QoTUNfT1BUSU9OX1BBUkVOVF9DT01QT05FTlQpIHByaXZhdGUgcmVhZG9ubHkgcGFyZW50OiBNY09wdGlvblBhcmVudENvbXBvbmVudCxcbiAgICAgICAgQE9wdGlvbmFsKCkgcmVhZG9ubHkgZ3JvdXA6IE1jT3B0Z3JvdXBcbiAgICApIHt9XG5cbiAgICBuZ0FmdGVyVmlld0NoZWNrZWQoKSB7XG4gICAgICAgIC8vIFNpbmNlIHBhcmVudCBjb21wb25lbnRzIGNvdWxkIGJlIHVzaW5nIHRoZSBvcHRpb24ncyBsYWJlbCB0byBkaXNwbGF5IHRoZSBzZWxlY3RlZCB2YWx1ZXNcbiAgICAgICAgLy8gKGUuZy4gYG1jLXNlbGVjdGApIGFuZCB0aGV5IGRvbid0IGhhdmUgYSB3YXkgb2Yga25vd2luZyBpZiB0aGUgb3B0aW9uJ3MgbGFiZWwgaGFzIGNoYW5nZWRcbiAgICAgICAgLy8gd2UgaGF2ZSB0byBjaGVjayBmb3IgY2hhbmdlcyBpbiB0aGUgRE9NIG91cnNlbHZlcyBhbmQgZGlzcGF0Y2ggYW4gZXZlbnQuIFRoZXNlIGNoZWNrcyBhcmVcbiAgICAgICAgLy8gcmVsYXRpdmVseSBjaGVhcCwgaG93ZXZlciB3ZSBzdGlsbCBsaW1pdCB0aGVtIG9ubHkgdG8gc2VsZWN0ZWQgb3B0aW9ucyBpbiBvcmRlciB0byBhdm9pZFxuICAgICAgICAvLyBoaXR0aW5nIHRoZSBET00gdG9vIG9mdGVuLlxuICAgICAgICBpZiAodGhpcy5fc2VsZWN0ZWQpIHtcbiAgICAgICAgICAgIGNvbnN0IHZpZXdWYWx1ZSA9IHRoaXMudmlld1ZhbHVlO1xuXG4gICAgICAgICAgICBpZiAodmlld1ZhbHVlICE9PSB0aGlzLm1vc3RSZWNlbnRWaWV3VmFsdWUpIHtcbiAgICAgICAgICAgICAgICB0aGlzLm1vc3RSZWNlbnRWaWV3VmFsdWUgPSB2aWV3VmFsdWU7XG4gICAgICAgICAgICAgICAgdGhpcy5zdGF0ZUNoYW5nZXMubmV4dCgpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgbmdPbkRlc3Ryb3koKSB7XG4gICAgICAgIHRoaXMuc3RhdGVDaGFuZ2VzLmNvbXBsZXRlKCk7XG4gICAgfVxuXG4gICAgZ2V0SGVpZ2h0KCk6IG51bWJlciB7XG4gICAgICAgIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTpuYW1pbmctY29udmVudGlvblxuICAgICAgICBjb25zdCBET01SZWN0OiBET01SZWN0ID0gdGhpcy5lbGVtZW50Lm5hdGl2ZUVsZW1lbnQuZ2V0Q2xpZW50UmVjdHMoKVswXTtcblxuICAgICAgICByZXR1cm4gRE9NUmVjdCA/IERPTVJlY3QuaGVpZ2h0IDogMDtcbiAgICB9XG5cbiAgICBzZWxlY3QoKTogdm9pZCB7XG4gICAgICAgIGlmICghdGhpcy5fc2VsZWN0ZWQpIHtcbiAgICAgICAgICAgIHRoaXMuX3NlbGVjdGVkID0gdHJ1ZTtcblxuICAgICAgICAgICAgdGhpcy5jaGFuZ2VEZXRlY3RvclJlZi5tYXJrRm9yQ2hlY2soKTtcbiAgICAgICAgICAgIHRoaXMuZW1pdFNlbGVjdGlvbkNoYW5nZUV2ZW50KCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBkZXNlbGVjdCgpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuX3NlbGVjdGVkKSB7XG4gICAgICAgICAgICB0aGlzLl9zZWxlY3RlZCA9IGZhbHNlO1xuXG4gICAgICAgICAgICB0aGlzLmNoYW5nZURldGVjdG9yUmVmLm1hcmtGb3JDaGVjaygpO1xuICAgICAgICAgICAgdGhpcy5lbWl0U2VsZWN0aW9uQ2hhbmdlRXZlbnQoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGZvY3VzKCk6IHZvaWQge1xuICAgICAgICBjb25zdCBlbGVtZW50ID0gdGhpcy5nZXRIb3N0RWxlbWVudCgpO1xuXG4gICAgICAgIGlmICh0eXBlb2YgZWxlbWVudC5mb2N1cyA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICAgICAgZWxlbWVudC5mb2N1cygpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogVGhpcyBtZXRob2Qgc2V0cyBkaXNwbGF5IHN0eWxlcyBvbiB0aGUgb3B0aW9uIHRvIG1ha2UgaXQgYXBwZWFyXG4gICAgICogYWN0aXZlLiBUaGlzIGlzIHVzZWQgYnkgdGhlIEFjdGl2ZURlc2NlbmRhbnRLZXlNYW5hZ2VyIHNvIGtleVxuICAgICAqIGV2ZW50cyB3aWxsIGRpc3BsYXkgdGhlIHByb3BlciBvcHRpb25zIGFzIGFjdGl2ZSBvbiBhcnJvdyBrZXkgZXZlbnRzLlxuICAgICAqL1xuICAgIHNldEFjdGl2ZVN0eWxlcygpOiB2b2lkIHtcbiAgICAgICAgaWYgKCF0aGlzLl9hY3RpdmUpIHtcbiAgICAgICAgICAgIHRoaXMuX2FjdGl2ZSA9IHRydWU7XG4gICAgICAgICAgICB0aGlzLmNoYW5nZURldGVjdG9yUmVmLm1hcmtGb3JDaGVjaygpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogVGhpcyBtZXRob2QgcmVtb3ZlcyBkaXNwbGF5IHN0eWxlcyBvbiB0aGUgb3B0aW9uIHRoYXQgbWFkZSBpdCBhcHBlYXJcbiAgICAgKiBhY3RpdmUuIFRoaXMgaXMgdXNlZCBieSB0aGUgQWN0aXZlRGVzY2VuZGFudEtleU1hbmFnZXIgc28ga2V5XG4gICAgICogZXZlbnRzIHdpbGwgZGlzcGxheSB0aGUgcHJvcGVyIG9wdGlvbnMgYXMgYWN0aXZlIG9uIGFycm93IGtleSBldmVudHMuXG4gICAgICovXG4gICAgc2V0SW5hY3RpdmVTdHlsZXMoKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLl9hY3RpdmUpIHtcbiAgICAgICAgICAgIHRoaXMuX2FjdGl2ZSA9IGZhbHNlO1xuICAgICAgICAgICAgdGhpcy5jaGFuZ2VEZXRlY3RvclJlZi5tYXJrRm9yQ2hlY2soKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKiBHZXRzIHRoZSBsYWJlbCB0byBiZSB1c2VkIHdoZW4gZGV0ZXJtaW5pbmcgd2hldGhlciB0aGUgb3B0aW9uIHNob3VsZCBiZSBmb2N1c2VkLiAqL1xuICAgIGdldExhYmVsKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLnZpZXdWYWx1ZTtcbiAgICB9XG5cbiAgICAvKiogRW5zdXJlcyB0aGUgb3B0aW9uIGlzIHNlbGVjdGVkIHdoZW4gYWN0aXZhdGVkIGZyb20gdGhlIGtleWJvYXJkLiAqL1xuICAgIGhhbmRsZUtleWRvd24oZXZlbnQ6IEtleWJvYXJkRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lXG4gICAgICAgIGlmIChldmVudC5rZXlDb2RlID09PSBFTlRFUiB8fCBldmVudC5rZXlDb2RlID09PSBTUEFDRSkge1xuICAgICAgICAgICAgdGhpcy5zZWxlY3RWaWFJbnRlcmFjdGlvbigpO1xuXG4gICAgICAgICAgICAvLyBQcmV2ZW50IHRoZSBwYWdlIGZyb20gc2Nyb2xsaW5nIGRvd24gYW5kIGZvcm0gc3VibWl0cy5cbiAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBgU2VsZWN0cyB0aGUgb3B0aW9uIHdoaWxlIGluZGljYXRpbmcgdGhlIHNlbGVjdGlvbiBjYW1lIGZyb20gdGhlIHVzZXIuIFVzZWQgdG9cbiAgICAgKiBkZXRlcm1pbmUgaWYgdGhlIHNlbGVjdCdzIHZpZXcgLT4gbW9kZWwgY2FsbGJhY2sgc2hvdWxkIGJlIGludm9rZWQuYFxuICAgICAqL1xuICAgIHNlbGVjdFZpYUludGVyYWN0aW9uKCk6IHZvaWQge1xuICAgICAgICBpZiAoIXRoaXMuZGlzYWJsZWQpIHtcbiAgICAgICAgICAgIHRoaXMuX3NlbGVjdGVkID0gdGhpcy5tdWx0aXBsZSA/ICF0aGlzLl9zZWxlY3RlZCA6IHRydWU7XG5cbiAgICAgICAgICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3JSZWYubWFya0ZvckNoZWNrKCk7XG4gICAgICAgICAgICB0aGlzLmVtaXRTZWxlY3Rpb25DaGFuZ2VFdmVudCh0cnVlKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGdldFRhYkluZGV4KCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLmRpc2FibGVkID8gJy0xJyA6ICcwJztcbiAgICB9XG5cbiAgICBnZXRIb3N0RWxlbWVudCgpOiBIVE1MRWxlbWVudCB7XG4gICAgICAgIHJldHVybiB0aGlzLmVsZW1lbnQubmF0aXZlRWxlbWVudDtcbiAgICB9XG5cbiAgICAvKiogRW1pdHMgdGhlIHNlbGVjdGlvbiBjaGFuZ2UgZXZlbnQuICovXG4gICAgcHJpdmF0ZSBlbWl0U2VsZWN0aW9uQ2hhbmdlRXZlbnQoaXNVc2VySW5wdXQgPSBmYWxzZSk6IHZvaWQge1xuICAgICAgICB0aGlzLm9uU2VsZWN0aW9uQ2hhbmdlLmVtaXQobmV3IE1jT3B0aW9uU2VsZWN0aW9uQ2hhbmdlKHRoaXMsIGlzVXNlcklucHV0KSk7XG4gICAgfVxufVxuXG4vKipcbiAqIENvdW50cyB0aGUgYW1vdW50IG9mIG9wdGlvbiBncm91cCBsYWJlbHMgdGhhdCBwcmVjZWRlIHRoZSBzcGVjaWZpZWQgb3B0aW9uLlxuICogQHBhcmFtIG9wdGlvbkluZGV4IEluZGV4IG9mIHRoZSBvcHRpb24gYXQgd2hpY2ggdG8gc3RhcnQgY291bnRpbmcuXG4gKiBAcGFyYW0gb3B0aW9ucyBGbGF0IGxpc3Qgb2YgYWxsIG9mIHRoZSBvcHRpb25zLlxuICogQHBhcmFtIG9wdGlvbkdyb3VwcyBGbGF0IGxpc3Qgb2YgYWxsIG9mIHRoZSBvcHRpb24gZ3JvdXBzLlxuICogQGRvY3MtcHJpdmF0ZVxuICovXG5leHBvcnQgZnVuY3Rpb24gY291bnRHcm91cExhYmVsc0JlZm9yZU9wdGlvbihcbiAgICBvcHRpb25JbmRleDogbnVtYmVyLFxuICAgIG9wdGlvbnM6IFF1ZXJ5TGlzdDxNY09wdGlvbj4sXG4gICAgb3B0aW9uR3JvdXBzOiBRdWVyeUxpc3Q8TWNPcHRncm91cD5cbik6IG51bWJlciB7XG5cbiAgICBpZiAob3B0aW9uR3JvdXBzLmxlbmd0aCkge1xuICAgICAgICBjb25zdCBvcHRpb25zQXJyYXkgPSBvcHRpb25zLnRvQXJyYXkoKTtcbiAgICAgICAgY29uc3QgZ3JvdXBzID0gb3B0aW9uR3JvdXBzLnRvQXJyYXkoKTtcblxuICAgICAgICBsZXQgZ3JvdXBDb3VudGVyID0gMDtcblxuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IG9wdGlvbkluZGV4ICsgMTsgaSsrKSB7XG4gICAgICAgICAgICBpZiAob3B0aW9uc0FycmF5W2ldLmdyb3VwICYmIG9wdGlvbnNBcnJheVtpXS5ncm91cCA9PT0gZ3JvdXBzW2dyb3VwQ291bnRlcl0pIHtcbiAgICAgICAgICAgICAgICBncm91cENvdW50ZXIrKztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBncm91cENvdW50ZXI7XG4gICAgfVxuXG4gICAgcmV0dXJuIDA7XG59XG5cbi8qKlxuICogRGV0ZXJtaW5lcyB0aGUgcG9zaXRpb24gdG8gd2hpY2ggdG8gc2Nyb2xsIGEgcGFuZWwgaW4gb3JkZXIgZm9yIGFuIG9wdGlvbiB0byBiZSBpbnRvIHZpZXcuXG4gKiBAcGFyYW0gb3B0aW9uSW5kZXggSW5kZXggb2YgdGhlIG9wdGlvbiB0byBiZSBzY3JvbGxlZCBpbnRvIHRoZSB2aWV3LlxuICogQHBhcmFtIG9wdGlvbkhlaWdodCBIZWlnaHQgb2YgdGhlIG9wdGlvbnMuXG4gKiBAcGFyYW0gY3VycmVudFNjcm9sbFBvc2l0aW9uIEN1cnJlbnQgc2Nyb2xsIHBvc2l0aW9uIG9mIHRoZSBwYW5lbC5cbiAqIEBwYXJhbSBwYW5lbEhlaWdodCBIZWlnaHQgb2YgdGhlIHBhbmVsLlxuICogQGRvY3MtcHJpdmF0ZVxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0T3B0aW9uU2Nyb2xsUG9zaXRpb24oXG4gICAgb3B0aW9uSW5kZXg6IG51bWJlcixcbiAgICBvcHRpb25IZWlnaHQ6IG51bWJlcixcbiAgICBjdXJyZW50U2Nyb2xsUG9zaXRpb246IG51bWJlcixcbiAgICBwYW5lbEhlaWdodDogbnVtYmVyXG4pOiBudW1iZXIge1xuICAgIGNvbnN0IG9wdGlvbk9mZnNldCA9IG9wdGlvbkluZGV4ICogb3B0aW9uSGVpZ2h0O1xuXG4gICAgaWYgKG9wdGlvbk9mZnNldCA8IGN1cnJlbnRTY3JvbGxQb3NpdGlvbikgeyByZXR1cm4gb3B0aW9uT2Zmc2V0OyB9XG5cbiAgICBpZiAob3B0aW9uT2Zmc2V0ICsgb3B0aW9uSGVpZ2h0ID4gY3VycmVudFNjcm9sbFBvc2l0aW9uICsgcGFuZWxIZWlnaHQpIHtcbiAgICAgICAgcmV0dXJuIE1hdGgubWF4KDAsIG9wdGlvbk9mZnNldCAtIHBhbmVsSGVpZ2h0ICsgb3B0aW9uSGVpZ2h0KTtcbiAgICB9XG5cbiAgICByZXR1cm4gY3VycmVudFNjcm9sbFBvc2l0aW9uO1xufVxuXG4iLCI8bWMtcHNldWRvLWNoZWNrYm94XG4gICAgKm5nSWY9XCJzaG93Q2hlY2tib3hcIlxuICAgIFtzdGF0ZV09XCJzZWxlY3RlZCA/ICdjaGVja2VkJyA6ICd1bmNoZWNrZWQnXCJcbiAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIj5cbjwvbWMtcHNldWRvLWNoZWNrYm94PlxuXG48c3BhbiAjbWNUaXRsZVRleHQgY2xhc3M9XCJtYy1vcHRpb24tdGV4dFwiPjxuZy1jb250ZW50PjwvbmctY29udGVudD48L3NwYW4+XG5cbjxkaXYgY2xhc3M9XCJtYy1vcHRpb24tb3ZlcmxheVwiPjwvZGl2PlxuIl19
298
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3B0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvbW9zYWljL2NvcmUvb3B0aW9uL29wdGlvbi50cyIsIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL21vc2FpYy9jb3JlL29wdGlvbi9vcHRpb24uaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUM5RCxPQUFPLEVBRUgsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsVUFBVSxFQUNWLFlBQVksRUFDWixNQUFNLEVBQ04sY0FBYyxFQUNkLEtBQUssRUFFTCxRQUFRLEVBQ1IsTUFBTSxFQUVOLFNBQVMsRUFDVCxpQkFBaUIsRUFDcEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUN4RCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRS9CLE9BQU8sRUFBa0IsaUJBQWlCLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFFN0QsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLFlBQVksQ0FBQzs7Ozs7QUFHeEM7OztHQUdHO0FBQ0gsSUFBSSxlQUFlLEdBQUcsQ0FBQyxDQUFDO0FBRXhCLG9FQUFvRTtBQUNwRSxNQUFNLE9BQU8sdUJBQXVCO0lBQ2hDLFlBQW1CLE1BQVMsRUFBUyxjQUFjLEtBQUs7UUFBckMsV0FBTSxHQUFOLE1BQU0sQ0FBRztRQUFTLGdCQUFXLEdBQVgsV0FBVyxDQUFRO0lBQUcsQ0FBQztDQUMvRDtBQW9CRDs7R0FFRztBQUNILE1BQU0sQ0FBQyxNQUFNLDBCQUEwQixHQUNuQyxJQUFJLGNBQWMsQ0FBMEIsNEJBQTRCLENBQUMsQ0FBQztBQUU5RSxNQUFNLE9BQWdCLFlBQVk7SUFZOUIsd0NBQXdDO0lBQzlCLHdCQUF3QixDQUFDLFdBQVcsR0FB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QUFFRDs7Ozs7OztHQU9HO0FBQ0gsTUFBTSxVQUFVLHVCQUF1QixDQUNuQyxXQUFtQixFQUNuQixZQUFvQixFQUNwQixxQkFBNkIsRUFDN0IsV0FBbUI7SUFFbkIsTUFBTSxZQUFZLEdBQUcsV0FBVyxHQUFHLFlBQVksQ0FBQztJQUVoRCxJQUFJLFlBQVksR0FBRyxxQkFBcUIsRUFBRTtRQUFFLE9BQU8sWUFBWSxDQUFDO0tBQUU7SUFFbEUsSUFBSSxZQUFZLEdBQUcsWUFBWSxHQUFHLHFCQUFxQixHQUFHLFdBQVcsRUFBRTtRQUNuRSxPQUFPLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLFlBQVksR0FBRyxXQUFXLEdBQUcsWUFBWSxDQUFDLENBQUM7S0FDakU7SUFFRCxPQUFPLHFCQUFxQixDQUFDO0FBQ2pDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjb2VyY2VCb29sZWFuUHJvcGVydHkgfSBmcm9tICdAYW5ndWxhci9jZGsvY29lcmNpb24nO1xuaW1wb3J0IHtcbiAgICBBZnRlclZpZXdDaGVja2VkLFxuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENoYW5nZURldGVjdG9yUmVmLFxuICAgIENvbXBvbmVudCxcbiAgICBFbGVtZW50UmVmLFxuICAgIEV2ZW50RW1pdHRlcixcbiAgICBJbmplY3QsXG4gICAgSW5qZWN0aW9uVG9rZW4sXG4gICAgSW5wdXQsXG4gICAgT25EZXN0cm95LFxuICAgIE9wdGlvbmFsLFxuICAgIE91dHB1dCxcbiAgICBRdWVyeUxpc3QsXG4gICAgVmlld0NoaWxkLFxuICAgIFZpZXdFbmNhcHN1bGF0aW9uXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRU5URVIsIFNQQUNFIH0gZnJvbSAnQHB0c2VjdXJpdHkvY2RrL2tleWNvZGVzJztcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgTWNUaXRsZVRleHRSZWYsIE1DX1RJVExFX1RFWFRfUkVGIH0gZnJvbSAnLi4vdGl0bGUnO1xuXG5pbXBvcnQgeyBNY09wdGdyb3VwIH0gZnJvbSAnLi9vcHRncm91cCc7XG5cblxuLyoqXG4gKiBPcHRpb24gSURzIG5lZWQgdG8gYmUgdW5pcXVlIGFjcm9zcyBjb21wb25lbnRzLCBzbyB0aGlzIGNvdW50ZXIgZXhpc3RzIG91dHNpZGUgb2ZcbiAqIHRoZSBjb21wb25lbnQgZGVmaW5pdGlvbi5cbiAqL1xubGV0IHVuaXF1ZUlkQ291bnRlciA9IDA7XG5cbi8qKiBFdmVudCBvYmplY3QgZW1pdHRlZCBieSBNY09wdGlvbiB3aGVuIHNlbGVjdGVkIG9yIGRlc2VsZWN0ZWQuICovXG5leHBvcnQgY2xhc3MgTWNPcHRpb25TZWxlY3Rpb25DaGFuZ2U8VCA9IE1jT3B0aW9uPiB7XG4gICAgY29uc3RydWN0b3IocHVibGljIHNvdXJjZTogVCwgcHVibGljIGlzVXNlcklucHV0ID0gZmFsc2UpIHt9XG59XG5cbi8qKlxuICogRGVzY3JpYmVzIGEgcGFyZW50IGNvbXBvbmVudCB0aGF0IG1hbmFnZXMgYSBsaXN0IG9mIG9wdGlvbnMuXG4gKiBDb250YWlucyBwcm9wZXJ0aWVzIHRoYXQgdGhlIG9wdGlvbnMgY2FuIGluaGVyaXQuXG4gKiBAZG9jcy1wcml2YXRlXG4gKi9cbi8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTogbmFtaW5nLWNvbnZlbnRpb25cbmV4cG9ydCBpbnRlcmZhY2UgTWNPcHRpb25QYXJlbnRDb21wb25lbnQge1xuICAgIG11bHRpcGxlPzogYm9vbGVhbjtcbn1cblxuLyoqXG4gKiBIYW5kbGVyIHRoYXQgd2lsbCB1cGRhdGUgc2Nyb2xsIHBvc2l0aW9uIG9mIGVsZW1lbnRzIGluc2lkZSBvdmVybGF5XG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgS2V5Ym9hcmROYXZpZ2F0aW9uSGFuZGxlciB7XG4gICAgLyoqIFNjcm9sbHMgdGhlIGFjdGl2ZSBvcHRpb24gaW50byB2aWV3LiAqL1xuICAgIHNjcm9sbEFjdGl2ZU9wdGlvbkludG9WaWV3KCk6IHZvaWQ7XG59XG5cbi8qKlxuICogSW5qZWN0aW9uIHRva2VuIHVzZWQgdG8gcHJvdmlkZSB0aGUgcGFyZW50IGNvbXBvbmVudCB0byBvcHRpb25zLlxuICovXG5leHBvcnQgY29uc3QgTUNfT1BUSU9OX1BBUkVOVF9DT01QT05FTlQgPVxuICAgIG5ldyBJbmplY3Rpb25Ub2tlbjxNY09wdGlvblBhcmVudENvbXBvbmVudD4oJ01DX09QVElPTl9QQVJFTlRfQ09NUE9ORU5UJyk7XG5cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBNY09wdGlvbkJhc2Uge1xuICAgIHZhbHVlOiBhbnk7XG4gICAgYWJzdHJhY3QgZ2V0IHZpZXdWYWx1ZSgpOiBzdHJpbmc7XG4gICAgYWJzdHJhY3QgZ2V0IGRpc2FibGVkKCk6IGJvb2xlYW47XG4gICAgYWJzdHJhY3Qgc2V0IGRpc2FibGVkKHZhbHVlOiBhbnkpO1xuXG4gICAgYWJzdHJhY3QgcmVhZG9ubHkgb25TZWxlY3Rpb25DaGFuZ2U6IEV2ZW50RW1pdHRlcjxNY09wdGlvblNlbGVjdGlvbkNoYW5nZTxhbnk+PjtcblxuICAgIGFic3RyYWN0IHNlbGVjdCgpOiB2b2lkO1xuXG4gICAgYWJzdHJhY3QgZGVzZWxlY3QoKTogdm9pZDtcblxuICAgIC8qKiBFbWl0cyB0aGUgc2VsZWN0aW9uIGNoYW5nZSBldmVudC4gKi9cbiAgICBwcm90ZWN0ZWQgZW1pdFNlbGVjdGlvbkNoYW5nZUV2ZW50KGlzVXNlcklucHV0ID0gZmFsc2UpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5vblNlbGVjdGlvbkNoYW5nZS5lbWl0KG5ldyBNY09wdGlvblNlbGVjdGlvbkNoYW5nZSh0aGlzLCBpc1VzZXJJbnB1dCkpO1xuICAgIH1cbn1cblxuZXhwb3J0IGNsYXNzIE1jVmlydHVhbE9wdGlvbiBleHRlbmRzIE1jT3B0aW9uQmFzZSB7XG4gICAgZ2V0IGRpc2FibGVkKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fZGlzYWJsZWQ7XG4gICAgfVxuICAgIHNldCBkaXNhYmxlZCh2YWx1ZTogYW55KSB7XG4gICAgICAgIHRoaXMuX2Rpc2FibGVkID0gY29lcmNlQm9vbGVhblByb3BlcnR5KHZhbHVlKTtcbiAgICB9XG5cbiAgICBnZXQgc2VsZWN0ZWQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9zZWxlY3RlZDtcbiAgICB9XG5cbiAgICBwcml2YXRlIF9zZWxlY3RlZCA9IGZhbHNlO1xuXG4gICAgZ2V0IHZpZXdWYWx1ZSgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy52YWx1ZTtcbiAgICB9XG5cbiAgICByZWFkb25seSBvblNlbGVjdGlvbkNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8TWNPcHRpb25TZWxlY3Rpb25DaGFuZ2U8TWNWaXJ0dWFsT3B0aW9uPj4oKTtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwdWJsaWMgdmFsdWU6IGFueSxcbiAgICAgICAgcHJpdmF0ZSBfZGlzYWJsZWQ6IGJvb2xlYW4gPSBmYWxzZVxuICAgICkge1xuICAgICAgICBzdXBlcigpO1xuICAgIH1cblxuICAgIHNlbGVjdCgpOiB2b2lkIHtcbiAgICAgICAgaWYgKCF0aGlzLl9zZWxlY3RlZCkge1xuICAgICAgICAgICAgdGhpcy5fc2VsZWN0ZWQgPSB0cnVlO1xuXG4gICAgICAgICAgICB0aGlzLmVtaXRTZWxlY3Rpb25DaGFuZ2VFdmVudCgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgZGVzZWxlY3QoKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLl9zZWxlY3RlZCkge1xuICAgICAgICAgICAgdGhpcy5fc2VsZWN0ZWQgPSBmYWxzZTtcblxuICAgICAgICAgICAgdGhpcy5lbWl0U2VsZWN0aW9uQ2hhbmdlRXZlbnQoKTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLyoqXG4gKiBTaW5nbGUgb3B0aW9uIGluc2lkZSBvZiBhIGA8bWMtc2VsZWN0PmAgZWxlbWVudC5cbiAqL1xuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdtYy1vcHRpb24nLFxuICAgIGV4cG9ydEFzOiAnbWNPcHRpb24nLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgJ1thdHRyLnRhYmluZGV4XSc6ICdnZXRUYWJJbmRleCgpJyxcbiAgICAgICAgY2xhc3M6ICdtYy1vcHRpb24nLFxuICAgICAgICAnW2NsYXNzLm1jLXNlbGVjdGVkXSc6ICdzZWxlY3RlZCcsXG4gICAgICAgICdbY2xhc3MubWMtb3B0aW9uLW11bHRpcGxlXSc6ICdtdWx0aXBsZScsXG4gICAgICAgICdbY2xhc3MubWMtYWN0aXZlXSc6ICdhY3RpdmUnLFxuICAgICAgICAnW2NsYXNzLm1jLWRpc2FibGVkXSc6ICdkaXNhYmxlZCcsXG4gICAgICAgICdbaWRdJzogJ2lkJyxcblxuICAgICAgICAnKGNsaWNrKSc6ICdzZWxlY3RWaWFJbnRlcmFjdGlvbigpJyxcbiAgICAgICAgJyhrZXlkb3duKSc6ICdoYW5kbGVLZXlkb3duKCRldmVudCknXG4gICAgfSxcbiAgICBzdHlsZVVybHM6IFsnb3B0aW9uLnNjc3MnXSxcbiAgICB0ZW1wbGF0ZVVybDogJ29wdGlvbi5odG1sJyxcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIHByb3ZpZGVyczogW3tcbiAgICAgICAgcHJvdmlkZTogTUNfVElUTEVfVEVYVF9SRUYsIHVzZUV4aXN0aW5nOiBNY09wdGlvblxuICAgIH1dXG59KVxuZXhwb3J0IGNsYXNzIE1jT3B0aW9uIGV4dGVuZHMgTWNPcHRpb25CYXNlIGltcGxlbWVudHMgQWZ0ZXJWaWV3Q2hlY2tlZCwgT25EZXN0cm95LCBNY1RpdGxlVGV4dFJlZiB7XG4gICAgQFZpZXdDaGlsZCgnbWNUaXRsZVRleHQnLCB7IHN0YXRpYzogZmFsc2UgfSkgdGV4dEVsZW1lbnQ6IEVsZW1lbnRSZWY7XG5cbiAgICAvKiogVGhlIGZvcm0gdmFsdWUgb2YgdGhlIG9wdGlvbi4gKi9cbiAgICBASW5wdXQoKSB2YWx1ZTogYW55O1xuXG4gICAgQElucHV0KClcbiAgICBnZXQgc2hvd0NoZWNrYm94KCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fc2hvd0NoZWNrYm94ID09PSB1bmRlZmluZWQgPyB0aGlzLm11bHRpcGxlIDogdGhpcy5fc2hvd0NoZWNrYm94O1xuICAgIH1cblxuICAgIHNldCBzaG93Q2hlY2tib3godmFsdWUpIHtcbiAgICAgICAgdGhpcy5fc2hvd0NoZWNrYm94ID0gY29lcmNlQm9vbGVhblByb3BlcnR5KHZhbHVlKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIF9zaG93Q2hlY2tib3g6IGJvb2xlYW47XG5cbiAgICAvKiogRXZlbnQgZW1pdHRlZCB3aGVuIHRoZSBvcHRpb24gaXMgc2VsZWN0ZWQgb3IgZGVzZWxlY3RlZC4gKi9cbiAgICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6bm8tb3V0cHV0LW9uLXByZWZpeFxuICAgIEBPdXRwdXQoKSByZWFkb25seSBvblNlbGVjdGlvbkNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8TWNPcHRpb25TZWxlY3Rpb25DaGFuZ2U+KCk7XG5cbiAgICAvKiogRW1pdHMgd2hlbiB0aGUgc3RhdGUgb2YgdGhlIG9wdGlvbiBjaGFuZ2VzIGFuZCBhbnkgcGFyZW50cyBoYXZlIHRvIGJlIG5vdGlmaWVkLiAqL1xuICAgIHJlYWRvbmx5IHN0YXRlQ2hhbmdlcyA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgICAvKipcbiAgICAgKiBUaGUgZGlzcGxheWVkIHZhbHVlIG9mIHRoZSBvcHRpb24uIEl0IGlzIG5lY2Vzc2FyeSB0byBzaG93IHRoZSBzZWxlY3RlZCBvcHRpb24gaW4gdGhlXG4gICAgICogc2VsZWN0J3MgdHJpZ2dlci5cbiAgICAgKi9cbiAgICBnZXQgdmlld1ZhbHVlKCk6IHN0cmluZyB7XG4gICAgICAgIC8vIFRPRE86IEFkZCBpbnB1dCBwcm9wZXJ0eSBhbHRlcm5hdGl2ZSBmb3Igbm9kZSBlbnZzLlxuICAgICAgICByZXR1cm4gKHRoaXMuZ2V0SG9zdEVsZW1lbnQoKS50ZXh0Q29udGVudCB8fCAnJykudHJpbSgpO1xuICAgIH1cblxuICAgIC8qKiBXaGV0aGVyIHRoZSB3cmFwcGluZyBjb21wb25lbnQgaXMgaW4gbXVsdGlwbGUgc2VsZWN0aW9uIG1vZGUuICovXG4gICAgZ2V0IG11bHRpcGxlKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5wYXJlbnQgJiYgdGhpcy5wYXJlbnQubXVsdGlwbGU7XG4gICAgfVxuXG4gICAgZ2V0IGlkKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLl9pZDtcbiAgICB9XG5cbiAgICBwcml2YXRlIF9pZCA9IGBtYy1vcHRpb24tJHt1bmlxdWVJZENvdW50ZXIrK31gO1xuXG4gICAgZ2V0IHNlbGVjdGVkKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fc2VsZWN0ZWQ7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfc2VsZWN0ZWQgPSBmYWxzZTtcblxuICAgIEBJbnB1dCgpXG4gICAgZ2V0IGRpc2FibGVkKCkge1xuICAgICAgICByZXR1cm4gKHRoaXMuZ3JvdXAgJiYgdGhpcy5ncm91cC5kaXNhYmxlZCkgfHwgdGhpcy5fZGlzYWJsZWQ7XG4gICAgfVxuXG4gICAgc2V0IGRpc2FibGVkKHZhbHVlOiBhbnkpIHtcbiAgICAgICAgdGhpcy5fZGlzYWJsZWQgPSBjb2VyY2VCb29sZWFuUHJvcGVydHkodmFsdWUpO1xuICAgIH1cblxuICAgIHByaXZhdGUgX2Rpc2FibGVkID0gZmFsc2U7XG5cbiAgICAvKipcbiAgICAgKiBXaGV0aGVyIG9yIG5vdCB0aGUgb3B0aW9uIGlzIGN1cnJlbnRseSBhY3RpdmUgYW5kIHJlYWR5IHRvIGJlIHNlbGVjdGVkLlxuICAgICAqIEFuIGFjdGl2ZSBvcHRpb24gZGlzcGxheXMgc3R5bGVzIGFzIGlmIGl0IGlzIGZvY3VzZWQsIGJ1dCB0aGVcbiAgICAgKiBmb2N1cyBpcyBhY3R1YWxseSByZXRhaW5lZCBzb21ld2hlcmUgZWxzZS4gVGhpcyBjb21lcyBpbiBoYW5keVxuICAgICAqIGZvciBjb21wb25lbnRzIGxpa2UgYXV0b2NvbXBsZXRlIHdoZXJlIGZvY3VzIG11c3QgcmVtYWluIG9uIHRoZSBpbnB1dC5cbiAgICAgKi9cbiAgICBnZXQgYWN0aXZlKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fYWN0aXZlO1xuICAgIH1cblxuICAgIHByaXZhdGUgX2FjdGl2ZSA9IGZhbHNlO1xuXG4gICAgcHJpdmF0ZSBtb3N0UmVjZW50Vmlld1ZhbHVlID0gJyc7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBlbGVtZW50OiBFbGVtZW50UmVmLFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IGNoYW5nZURldGVjdG9yUmVmOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICAgICAgQE9wdGlvbmFsKCkgQEluamVjdChNQ19PUFRJT05fUEFSRU5UX0NPTVBPTkVOVCkgcHJpdmF0ZSByZWFkb25seSBwYXJlbnQ6IE1jT3B0aW9uUGFyZW50Q29tcG9uZW50LFxuICAgICAgICBAT3B0aW9uYWwoKSByZWFkb25seSBncm91cDogTWNPcHRncm91cFxuICAgICkge1xuICAgICAgICBzdXBlcigpO1xuICAgIH1cblxuICAgIG5nQWZ0ZXJWaWV3Q2hlY2tlZCgpIHtcbiAgICAgICAgLy8gU2luY2UgcGFyZW50IGNvbXBvbmVudHMgY291bGQgYmUgdXNpbmcgdGhlIG9wdGlvbidzIGxhYmVsIHRvIGRpc3BsYXkgdGhlIHNlbGVjdGVkIHZhbHVlc1xuICAgICAgICAvLyAoZS5nLiBgbWMtc2VsZWN0YCkgYW5kIHRoZXkgZG9uJ3QgaGF2ZSBhIHdheSBvZiBrbm93aW5nIGlmIHRoZSBvcHRpb24ncyBsYWJlbCBoYXMgY2hhbmdlZFxuICAgICAgICAvLyB3ZSBoYXZlIHRvIGNoZWNrIGZvciBjaGFuZ2VzIGluIHRoZSBET00gb3Vyc2VsdmVzIGFuZCBkaXNwYXRjaCBhbiBldmVudC4gVGhlc2UgY2hlY2tzIGFyZVxuICAgICAgICAvLyByZWxhdGl2ZWx5IGNoZWFwLCBob3dldmVyIHdlIHN0aWxsIGxpbWl0IHRoZW0gb25seSB0byBzZWxlY3RlZCBvcHRpb25zIGluIG9yZGVyIHRvIGF2b2lkXG4gICAgICAgIC8vIGhpdHRpbmcgdGhlIERPTSB0b28gb2Z0ZW4uXG4gICAgICAgIGlmICh0aGlzLl9zZWxlY3RlZCkge1xuICAgICAgICAgICAgY29uc3Qgdmlld1ZhbHVlID0gdGhpcy52aWV3VmFsdWU7XG5cbiAgICAgICAgICAgIGlmICh2aWV3VmFsdWUgIT09IHRoaXMubW9zdFJlY2VudFZpZXdWYWx1ZSkge1xuICAgICAgICAgICAgICAgIHRoaXMubW9zdFJlY2VudFZpZXdWYWx1ZSA9IHZpZXdWYWx1ZTtcbiAgICAgICAgICAgICAgICB0aGlzLnN0YXRlQ2hhbmdlcy5uZXh0KCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBuZ09uRGVzdHJveSgpIHtcbiAgICAgICAgdGhpcy5zdGF0ZUNoYW5nZXMuY29tcGxldGUoKTtcbiAgICB9XG5cbiAgICBnZXRIZWlnaHQoKTogbnVtYmVyIHtcbiAgICAgICAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOm5hbWluZy1jb252ZW50aW9uXG4gICAgICAgIGNvbnN0IERPTVJlY3Q6IERPTVJlY3QgPSB0aGlzLmVsZW1lbnQubmF0aXZlRWxlbWVudC5nZXRDbGllbnRSZWN0cygpWzBdO1xuXG4gICAgICAgIHJldHVybiBET01SZWN0ID8gRE9NUmVjdC5oZWlnaHQgOiAwO1xuICAgIH1cblxuICAgIHNlbGVjdCgpOiB2b2lkIHtcbiAgICAgICAgaWYgKCF0aGlzLl9zZWxlY3RlZCkge1xuICAgICAgICAgICAgdGhpcy5fc2VsZWN0ZWQgPSB0cnVlO1xuXG4gICAgICAgICAgICB0aGlzLmNoYW5nZURldGVjdG9yUmVmLm1hcmtGb3JDaGVjaygpO1xuICAgICAgICAgICAgdGhpcy5lbWl0U2VsZWN0aW9uQ2hhbmdlRXZlbnQoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGRlc2VsZWN0KCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5fc2VsZWN0ZWQpIHtcbiAgICAgICAgICAgIHRoaXMuX3NlbGVjdGVkID0gZmFsc2U7XG5cbiAgICAgICAgICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3JSZWYubWFya0ZvckNoZWNrKCk7XG4gICAgICAgICAgICB0aGlzLmVtaXRTZWxlY3Rpb25DaGFuZ2VFdmVudCgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgZm9jdXMoKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGVsZW1lbnQgPSB0aGlzLmdldEhvc3RFbGVtZW50KCk7XG5cbiAgICAgICAgaWYgKHR5cGVvZiBlbGVtZW50LmZvY3VzID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgICAgICBlbGVtZW50LmZvY3VzKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBUaGlzIG1ldGhvZCBzZXRzIGRpc3BsYXkgc3R5bGVzIG9uIHRoZSBvcHRpb24gdG8gbWFrZSBpdCBhcHBlYXJcbiAgICAgKiBhY3RpdmUuIFRoaXMgaXMgdXNlZCBieSB0aGUgQWN0aXZlRGVzY2VuZGFudEtleU1hbmFnZXIgc28ga2V5XG4gICAgICogZXZlbnRzIHdpbGwgZGlzcGxheSB0aGUgcHJvcGVyIG9wdGlvbnMgYXMgYWN0aXZlIG9uIGFycm93IGtleSBldmVudHMuXG4gICAgICovXG4gICAgc2V0QWN0aXZlU3R5bGVzKCk6IHZvaWQge1xuICAgICAgICBpZiAoIXRoaXMuX2FjdGl2ZSkge1xuICAgICAgICAgICAgdGhpcy5fYWN0aXZlID0gdHJ1ZTtcbiAgICAgICAgICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3JSZWYubWFya0ZvckNoZWNrKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBUaGlzIG1ldGhvZCByZW1vdmVzIGRpc3BsYXkgc3R5bGVzIG9uIHRoZSBvcHRpb24gdGhhdCBtYWRlIGl0IGFwcGVhclxuICAgICAqIGFjdGl2ZS4gVGhpcyBpcyB1c2VkIGJ5IHRoZSBBY3RpdmVEZXNjZW5kYW50S2V5TWFuYWdlciBzbyBrZXlcbiAgICAgKiBldmVudHMgd2lsbCBkaXNwbGF5IHRoZSBwcm9wZXIgb3B0aW9ucyBhcyBhY3RpdmUgb24gYXJyb3cga2V5IGV2ZW50cy5cbiAgICAgKi9cbiAgICBzZXRJbmFjdGl2ZVN0eWxlcygpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuX2FjdGl2ZSkge1xuICAgICAgICAgICAgdGhpcy5fYWN0aXZlID0gZmFsc2U7XG4gICAgICAgICAgICB0aGlzLmNoYW5nZURldGVjdG9yUmVmLm1hcmtGb3JDaGVjaygpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqIEdldHMgdGhlIGxhYmVsIHRvIGJlIHVzZWQgd2hlbiBkZXRlcm1pbmluZyB3aGV0aGVyIHRoZSBvcHRpb24gc2hvdWxkIGJlIGZvY3VzZWQuICovXG4gICAgZ2V0TGFiZWwoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudmlld1ZhbHVlO1xuICAgIH1cblxuICAgIC8qKiBFbnN1cmVzIHRoZSBvcHRpb24gaXMgc2VsZWN0ZWQgd2hlbiBhY3RpdmF0ZWQgZnJvbSB0aGUga2V5Ym9hcmQuICovXG4gICAgaGFuZGxlS2V5ZG93bihldmVudDogS2V5Ym9hcmRFdmVudCk6IHZvaWQge1xuICAgICAgICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmVcbiAgICAgICAgaWYgKGV2ZW50LmtleUNvZGUgPT09IEVOVEVSIHx8IGV2ZW50LmtleUNvZGUgPT09IFNQQUNFKSB7XG4gICAgICAgICAgICB0aGlzLnNlbGVjdFZpYUludGVyYWN0aW9uKCk7XG5cbiAgICAgICAgICAgIC8vIFByZXZlbnQgdGhlIHBhZ2UgZnJvbSBzY3JvbGxpbmcgZG93biBhbmQgZm9ybSBzdWJtaXRzLlxuICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIGBTZWxlY3RzIHRoZSBvcHRpb24gd2hpbGUgaW5kaWNhdGluZyB0aGUgc2VsZWN0aW9uIGNhbWUgZnJvbSB0aGUgdXNlci4gVXNlZCB0b1xuICAgICAqIGRldGVybWluZSBpZiB0aGUgc2VsZWN0J3MgdmlldyAtPiBtb2RlbCBjYWxsYmFjayBzaG91bGQgYmUgaW52b2tlZC5gXG4gICAgICovXG4gICAgc2VsZWN0VmlhSW50ZXJhY3Rpb24oKTogdm9pZCB7XG4gICAgICAgIGlmICghdGhpcy5kaXNhYmxlZCkge1xuICAgICAgICAgICAgdGhpcy5fc2VsZWN0ZWQgPSB0aGlzLm11bHRpcGxlID8gIXRoaXMuX3NlbGVjdGVkIDogdHJ1ZTtcblxuICAgICAgICAgICAgdGhpcy5jaGFuZ2VEZXRlY3RvclJlZi5tYXJrRm9yQ2hlY2soKTtcbiAgICAgICAgICAgIHRoaXMuZW1pdFNlbGVjdGlvbkNoYW5nZUV2ZW50KHRydWUpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgZ2V0VGFiSW5kZXgoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZGlzYWJsZWQgPyAnLTEnIDogJzAnO1xuICAgIH1cblxuICAgIGdldEhvc3RFbGVtZW50KCk6IEhUTUxFbGVtZW50IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZWxlbWVudC5uYXRpdmVFbGVtZW50O1xuICAgIH1cbn1cblxuLyoqXG4gKiBDb3VudHMgdGhlIGFtb3VudCBvZiBvcHRpb24gZ3JvdXAgbGFiZWxzIHRoYXQgcHJlY2VkZSB0aGUgc3BlY2lmaWVkIG9wdGlvbi5cbiAqIEBwYXJhbSBvcHRpb25JbmRleCBJbmRleCBvZiB0aGUgb3B0aW9uIGF0IHdoaWNoIHRvIHN0YXJ0IGNvdW50aW5nLlxuICogQHBhcmFtIG9wdGlvbnMgRmxhdCBsaXN0IG9mIGFsbCBvZiB0aGUgb3B0aW9ucy5cbiAqIEBwYXJhbSBvcHRpb25Hcm91cHMgRmxhdCBsaXN0IG9mIGFsbCBvZiB0aGUgb3B0aW9uIGdyb3Vwcy5cbiAqIEBkb2NzLXByaXZhdGVcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGNvdW50R3JvdXBMYWJlbHNCZWZvcmVPcHRpb24oXG4gICAgb3B0aW9uSW5kZXg6IG51bWJlcixcbiAgICBvcHRpb25zOiBRdWVyeUxpc3Q8TWNPcHRpb24+LFxuICAgIG9wdGlvbkdyb3VwczogUXVlcnlMaXN0PE1jT3B0Z3JvdXA+XG4pOiBudW1iZXIge1xuXG4gICAgaWYgKG9wdGlvbkdyb3Vwcy5sZW5ndGgpIHtcbiAgICAgICAgY29uc3Qgb3B0aW9uc0FycmF5ID0gb3B0aW9ucy50b0FycmF5KCk7XG4gICAgICAgIGNvbnN0IGdyb3VwcyA9IG9wdGlvbkdyb3Vwcy50b0FycmF5KCk7XG5cbiAgICAgICAgbGV0IGdyb3VwQ291bnRlciA9IDA7XG5cbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBvcHRpb25JbmRleCArIDE7IGkrKykge1xuICAgICAgICAgICAgaWYgKG9wdGlvbnNBcnJheVtpXS5ncm91cCAmJiBvcHRpb25zQXJyYXlbaV0uZ3JvdXAgPT09IGdyb3Vwc1tncm91cENvdW50ZXJdKSB7XG4gICAgICAgICAgICAgICAgZ3JvdXBDb3VudGVyKys7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gZ3JvdXBDb3VudGVyO1xuICAgIH1cblxuICAgIHJldHVybiAwO1xufVxuXG4vKipcbiAqIERldGVybWluZXMgdGhlIHBvc2l0aW9uIHRvIHdoaWNoIHRvIHNjcm9sbCBhIHBhbmVsIGluIG9yZGVyIGZvciBhbiBvcHRpb24gdG8gYmUgaW50byB2aWV3LlxuICogQHBhcmFtIG9wdGlvbkluZGV4IEluZGV4IG9mIHRoZSBvcHRpb24gdG8gYmUgc2Nyb2xsZWQgaW50byB0aGUgdmlldy5cbiAqIEBwYXJhbSBvcHRpb25IZWlnaHQgSGVpZ2h0IG9mIHRoZSBvcHRpb25zLlxuICogQHBhcmFtIGN1cnJlbnRTY3JvbGxQb3NpdGlvbiBDdXJyZW50IHNjcm9sbCBwb3NpdGlvbiBvZiB0aGUgcGFuZWwuXG4gKiBAcGFyYW0gcGFuZWxIZWlnaHQgSGVpZ2h0IG9mIHRoZSBwYW5lbC5cbiAqIEBkb2NzLXByaXZhdGVcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldE9wdGlvblNjcm9sbFBvc2l0aW9uKFxuICAgIG9wdGlvbkluZGV4OiBudW1iZXIsXG4gICAgb3B0aW9uSGVpZ2h0OiBudW1iZXIsXG4gICAgY3VycmVudFNjcm9sbFBvc2l0aW9uOiBudW1iZXIsXG4gICAgcGFuZWxIZWlnaHQ6IG51bWJlclxuKTogbnVtYmVyIHtcbiAgICBjb25zdCBvcHRpb25PZmZzZXQgPSBvcHRpb25JbmRleCAqIG9wdGlvbkhlaWdodDtcblxuICAgIGlmIChvcHRpb25PZmZzZXQgPCBjdXJyZW50U2Nyb2xsUG9zaXRpb24pIHsgcmV0dXJuIG9wdGlvbk9mZnNldDsgfVxuXG4gICAgaWYgKG9wdGlvbk9mZnNldCArIG9wdGlvbkhlaWdodCA+IGN1cnJlbnRTY3JvbGxQb3NpdGlvbiArIHBhbmVsSGVpZ2h0KSB7XG4gICAgICAgIHJldHVybiBNYXRoLm1heCgwLCBvcHRpb25PZmZzZXQgLSBwYW5lbEhlaWdodCArIG9wdGlvbkhlaWdodCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGN1cnJlbnRTY3JvbGxQb3NpdGlvbjtcbn1cblxuIiwiPG1jLXBzZXVkby1jaGVja2JveFxuICAgICpuZ0lmPVwic2hvd0NoZWNrYm94XCJcbiAgICBbc3RhdGVdPVwic2VsZWN0ZWQgPyAnY2hlY2tlZCcgOiAndW5jaGVja2VkJ1wiXG4gICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCI+XG48L21jLXBzZXVkby1jaGVja2JveD5cblxuPHNwYW4gI21jVGl0bGVUZXh0IGNsYXNzPVwibWMtb3B0aW9uLXRleHRcIj48bmctY29udGVudD48L25nLWNvbnRlbnQ+PC9zcGFuPlxuXG48ZGl2IGNsYXNzPVwibWMtb3B0aW9uLW92ZXJsYXlcIj48L2Rpdj5cbiJdfQ==
@@ -1,3 +1,4 @@
1
+ import { Overlay } from '@angular/cdk/overlay';
1
2
  export const POSITION_MAP = {
2
3
  top: {
3
4
  originX: 'center',
@@ -227,6 +228,11 @@ export const POSITION_TO_CSS_MAP = {
227
228
  bottomLeft: 'bottom-left',
228
229
  bottomRight: 'bottom-right'
229
230
  };
231
+ export const MC_CUSTOM_SCROLL_STRATEGY_PROVIDER = (token, factory) => ({
232
+ provide: token,
233
+ deps: [Overlay],
234
+ useFactory: factory
235
+ });
230
236
  function arrayMap(array, iteratee) {
231
237
  let index = -1;
232
238
  const length = array === null ? 0 : array.length;
@@ -242,4 +248,4 @@ function baseValues(object, props) {
242
248
  function objectValues(object) {
243
249
  return object === null ? [] : baseValues(object, Object.keys(object));
244
250
  }
245
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3ZlcmxheS1wb3NpdGlvbi1tYXAuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9tb3NhaWMvY29yZS9vdmVybGF5L292ZXJsYXktcG9zaXRpb24tbWFwLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBLE1BQU0sQ0FBQyxNQUFNLFlBQVksR0FBOEM7SUFDbkUsR0FBRyxFQUFFO1FBQ0QsT0FBTyxFQUFFLFFBQVE7UUFDakIsT0FBTyxFQUFFLEtBQUs7UUFDZCxRQUFRLEVBQUUsUUFBUTtRQUNsQixRQUFRLEVBQUUsUUFBUTtLQUNyQjtJQUNELFNBQVMsRUFBRTtRQUNQLE9BQU8sRUFBRSxRQUFRO1FBQ2pCLE9BQU8sRUFBRSxLQUFLO1FBQ2QsUUFBUSxFQUFFLFFBQVE7UUFDbEIsUUFBUSxFQUFFLFFBQVE7S0FDckI7SUFDRCxPQUFPLEVBQUU7UUFDTCxPQUFPLEVBQUUsT0FBTztRQUNoQixPQUFPLEVBQUUsS0FBSztRQUNkLFFBQVEsRUFBRSxPQUFPO1FBQ2pCLFFBQVEsRUFBRSxRQUFRO0tBQ3JCO0lBQ0QsUUFBUSxFQUFFO1FBQ04sT0FBTyxFQUFFLEtBQUs7UUFDZCxPQUFPLEVBQUUsS0FBSztRQUNkLFFBQVEsRUFBRSxLQUFLO1FBQ2YsUUFBUSxFQUFFLFFBQVE7S0FDckI7SUFDRCxLQUFLLEVBQUU7UUFDSCxPQUFPLEVBQUUsS0FBSztRQUNkLE9BQU8sRUFBRSxRQUFRO1FBQ2pCLFFBQVEsRUFBRSxPQUFPO1FBQ2pCLFFBQVEsRUFBRSxRQUFRO0tBQ3JCO0lBQ0QsUUFBUSxFQUFFO1FBQ04sT0FBTyxFQUFFLEtBQUs7UUFDZCxPQUFPLEVBQUUsS0FBSztRQUNkLFFBQVEsRUFBRSxPQUFPO1FBQ2pCLFFBQVEsRUFBRSxLQUFLO0tBQ2xCO0lBQ0QsV0FBVyxFQUFFO1FBQ1QsT0FBTyxFQUFFLEtBQUs7UUFDZCxPQUFPLEVBQUUsUUFBUTtRQUNqQixRQUFRLEVBQUUsT0FBTztRQUNqQixRQUFR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QVksQ0FBSSxNQUFXO0lBQ2hDLE9BQU8sTUFBTSxLQUFLLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsTUFBTSxFQUFFLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztBQUMxRSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29ubmVjdGlvblBvc2l0aW9uUGFpciB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9vdmVybGF5JztcblxuXG5leHBvcnQgY29uc3QgUE9TSVRJT05fTUFQOiB7IFtrZXk6IHN0cmluZ106IENvbm5lY3Rpb25Qb3NpdGlvblBhaXIgfSA9IHtcbiAgICB0b3A6IHtcbiAgICAgICAgb3JpZ2luWDogJ2NlbnRlcicsXG4gICAgICAgIG9yaWdpblk6ICd0b3AnLFxuICAgICAgICBvdmVybGF5WDogJ2NlbnRlcicsXG4gICAgICAgIG92ZXJsYXlZOiAnYm90dG9tJ1xuICAgIH0sXG4gICAgdG9wQ2VudGVyOiB7XG4gICAgICAgIG9yaWdpblg6ICdjZW50ZXInLFxuICAgICAgICBvcmlnaW5ZOiAndG9wJyxcbiAgICAgICAgb3ZlcmxheVg6ICdjZW50ZXInLFxuICAgICAgICBvdmVybGF5WTogJ2JvdHRvbSdcbiAgICB9LFxuICAgIHRvcExlZnQ6IHtcbiAgICAgICAgb3JpZ2luWDogJ3N0YXJ0JyxcbiAgICAgICAgb3JpZ2luWTogJ3RvcCcsXG4gICAgICAgIG92ZXJsYXlYOiAnc3RhcnQnLFxuICAgICAgICBvdmVybGF5WTogJ2JvdHRvbSdcbiAgICB9LFxuICAgIHRvcFJpZ2h0OiB7XG4gICAgICAgIG9yaWdpblg6ICdlbmQnLFxuICAgICAgICBvcmlnaW5ZOiAndG9wJyxcbiAgICAgICAgb3ZlcmxheVg6ICdlbmQnLFxuICAgICAgICBvdmVybGF5WTogJ2JvdHRvbSdcbiAgICB9LFxuICAgIHJpZ2h0OiB7XG4gICAgICAgIG9yaWdpblg6ICdlbmQnLFxuICAgICAgICBvcmlnaW5ZOiAnY2VudGVyJyxcbiAgICAgICAgb3ZlcmxheVg6ICdzdGFydCcsXG4gICAgICAgIG92ZXJsYXlZOiAnY2VudGVyJ1xuICAgIH0sXG4gICAgcmlnaHRUb3A6IHtcbiAgICAgICAgb3JpZ2luWDogJ2VuZCcsXG4gICAgICAgIG9yaWdpblk6ICd0b3AnLFxuICAgICAgICBvdmVybGF5WDogJ3N0YXJ0JyxcbiAgICAgICAgb3ZlcmxheVk6ICd0b3AnXG4gICAgfSxcbiAgICByaWdodEJvdHRvbToge1xuICAgICAgICBvcmlnaW5YOiAnZW5kJyxcbiAgICAgICAgb3JpZ2luWTogJ2JvdHRvbScsXG4gICAgICAgIG92ZXJsYXlYOiAnc3RhcnQnLFxuICAgICAgICBvdmVybGF5WTogJ2JvdHRvbSdcbiAgICB9LFxuICAgIGJvdHRvbToge1xuICAgICAgICBvcmlnaW5YOiAnY2VudGVyJyxcbiAgICAgICAgb3JpZ2luWTogJ2JvdHRvbScsXG4gICAgICAgIG92ZXJsYXlYOiAnY2VudGVyJyxcbiAgICAgICAgb3ZlcmxheVk6ICd0b3AnXG4gICAgfSxcbiAgICBib3R0b21DZW50ZXI6IHtcbiAgICAgICAgb3JpZ2luWDogJ2NlbnRlcicsXG4gICAgICAgIG9yaWdpblk6ICdib3R0b20nLFxuICAgICAgICBvdmVybGF5WDogJ2NlbnRlcicsXG4gICAgICAgIG92ZXJsYXlZOiAndG9wJ1xuICAgIH0sXG4gICAgYm90dG9tTGVmdDoge1xuICAgICAgICBvcmlnaW5YOiAnc3RhcnQnLFxuICAgICAgICBvcmlnaW5ZOiAnYm90dG9tJyxcbiAgICAgICAgb3ZlcmxheVg6ICdzdGFydCcsXG4gICAgICAgIG92ZXJsYXlZOiAndG9wJ1xuICAgIH0sXG4gICAgYm90dG9tUmlnaHQ6IHtcbiAgICAgICAgb3JpZ2luWDogJ2VuZCcsXG4gICAgICAgIG9yaWdpblk6ICdib3R0b20nLFxuICAgICAgICBvdmVybGF5WDogJ2VuZCcsXG4gICAgICAgIG92ZXJsYXlZOiAndG9wJ1xuICAgIH0sXG4gICAgbGVmdDoge1xuICAgICAgICBvcmlnaW5YOiAnc3RhcnQnLFxuICAgICAgICBvcmlnaW5ZOiAnY2VudGVyJyxcbiAgICAgICAgb3ZlcmxheVg6ICdlbmQnLFxuICAgICAgICBvdmVybGF5WTogJ2NlbnRlcidcbiAgICB9LFxuICAgIGxlZnRUb3A6IHtcbiAgICAgICAgb3JpZ2luWDogJ3N0YXJ0JyxcbiAgICAgICAgb3JpZ2luWTogJ3RvcCcsXG4gICAgICAgIG92ZXJsYXlYOiAnZW5kJyxcbiAgICAgICAgb3ZlcmxheVk6ICd0b3AnXG4gICAgfSxcbiAgICBsZWZ0Qm90dG9tOiB7XG4gICAgICAgIG9yaWdpblg6ICdzdGFydCcsXG4gICAgICAgIG9yaWdpblk6ICdib3R0b20nLFxuICAgICAgICBvdmVybGF5WDogJ2VuZCcsXG4gICAgICAgIG92ZXJsYXlZOiAnYm90dG9tJ1xuICAgIH1cbn07XG5cbmV4cG9ydCBjb25zdCBFWFRFTkRFRF9PVkVSTEFZX1BPU0lUSU9OUyA9IG9iamVjdFZhbHVlcyhbXG4gICAgUE9TSVRJT05fTUFQLnRvcCxcbiAgICBQT1NJVElPTl9NQVAudG9wTGVmdCxcbiAgICBQT1NJVElPTl9NQVAudG9wUmlnaHQsXG4gICAgUE9TSVRJT05fTUFQLnJpZ2h0LFxuICAgIFBPU0lUSU9OX01BUC5yaWdodFRvcCxcbiAgICBQT1NJVElPTl9NQVAucmlnaHRCb3R0b20sXG4gICAgUE9TSVRJT05fTUFQLmJvdHRvbSxcbiAgICBQT1NJVElPTl9NQVAuYm90dG9tTGVmdCxcbiAgICBQT1NJVElPTl9NQVAuYm90dG9tUmlnaHQsXG4gICAgUE9TSVRJT05fTUFQLmxlZnQsXG4gICAgUE9TSVRJT05fTUFQLmxlZnRUb3AsXG4gICAgUE9TSVRJT05fTUFQLmxlZnRCb3R0b21cbl0pO1xuXG5leHBvcnQgY29uc3QgVE9QX1BPU0lUSU9OX1BSSU9SSVRZID0gb2JqZWN0VmFsdWVzKFtcbiAgICBQT1NJVElPTl9NQVAudG9wLFxuICAgIFBPU0lUSU9OX01BUC5ib3R0b20sXG4gICAgUE9TSVRJT05fTUFQLnJpZ2h0LFxuICAgIFBPU0lUSU9OX01BUC5yaWdodEJvdHRvbSxcbiAgICBQT1NJVElPTl9NQVAubGVmdEJvdHRvbSxcbiAgICBQT1NJVElPTl9NQVAuYm90dG9tTGVmdCxcbiAgICBQT1NJVElPTl9NQVAuYm90dG9tUmlnaHRcbl0pO1xuXG5leHBvcnQgY29uc3QgQk9UVE9NX1BPU0lUSU9OX1BSSU9SSVRZID0gb2JqZWN0VmFsdWVzKFtcbiAgICBQT1NJVElPTl9NQVAuYm90dG9tLFxuICAgIFBPU0lUSU9OX01BUC50b3AsXG4gICAgUE9TSVRJT05fTUFQLnRvcExlZnQsXG4gICAgUE9TSVRJT05fTUFQLnRvcFJpZ2h0LFxuICAgIFBPU0lUSU9OX01BUC5yaWdodEJvdHRvbSxcbiAgICBQT1NJVElPTl9NQVAubGVmdEJvdHRvbVxuXSk7XG5cbmV4cG9ydCBjb25zdCBSSUdIVF9QT1NJVElPTl9QUklPUklUWSA9IG9iamVjdFZhbHVlcyhbXG4gICAgUE9TSVRJT05fTUFQLnJpZ2h0LFxuICAgIFBPU0lUSU9OX01BUC5sZWZ0LFxuICAgIFBPU0lUSU9OX01BUC5sZWZ0VG9wLFxuICAgIFBPU0lUSU9OX01BUC5sZWZ0Qm90dG9tLFxuICAgIFBPU0lUSU9OX01BUC50b3AsXG4gICAgUE9TSVRJT05fTUFQLmJvdHRvbVxuXSk7XG5cbmV4cG9ydCBjb25zdCBMRUZUX1BPU0lUSU9OX1BSSU9SSVRZID0gb2JqZWN0VmFsdWVzKFtcbiAgICBQT1NJVElPTl9NQVAubGVmdCxcbiAgICBQT1NJVElPTl9NQVAucmlnaHQsXG4gICAgUE9TSVRJT05fTUFQLnJpZ2h0VG9wLFxuICAgIFBPU0lUSU9OX01BUC5yaWdodEJvdHRvbSxcbiAgICBQT1NJVElPTl9NQVAudG9wLFxuICAgIFBPU0lUSU9OX01BUC5ib3R0b21cbl0pO1xuXG5leHBvcnQgY29uc3QgUklHSFRfVE9QX1BPU0lUSU9OX1BSSU9SSVRZID0gb2JqZWN0VmFsdWVzKFtcbiAgICBQT1NJVElPTl9NQVAucmlnaHRUb3AsXG4gICAgUE9TSVRJT05fTUFQLmxlZnRUb3AsXG4gICAgUE9TSVRJT05fTUFQLmxlZnQsXG4gICAgUE9TSVRJT05fTUFQLmxlZnRCb3R0b20sXG4gICAgUE9TSVRJT05fTUFQLnRvcExlZnQsXG4gICAgUE9TSVRJT05fTUFQLmJvdHRvbUxlZnRcbl0pO1xuXG5leHBvcnQgY29uc3QgUklHSFRfQk9UVE9NX1BPU0lUSU9OX1BSSU9SSVRZID0gb2JqZWN0VmFsdWVzKFtcbiAgICBQT1NJVElPTl9NQVAucmlnaHRCb3R0b20sXG4gICAgUE9TSVRJT05fTUFQLmxlZnRCb3R0b20sXG4gICAgUE9TSVRJT05fTUFQLmxlZnQsXG4gICAgUE9TSVRJT05fTUFQLmxlZnRUb3AsXG4gICAgUE9TSVRJT05fTUFQLnRvcExlZnQsXG4gICAgUE9TSVRJT05fTUFQLmJvdHRvbUxlZnRcbl0pO1xuXG5leHBvcnQgY29uc3QgTEVGVF9UT1BfUE9TSVRJT05fUFJJT1JJVFkgPSBvYmplY3RWYWx1ZXMoW1xuICAgIFBPU0lUSU9OX01BUC5sZWZ0VG9wLFxuICAgIFBPU0lUSU9OX01BUC5yaWdodFRvcCxcbiAgICBQT1NJVElPTl9NQVAucmlnaHQsXG4gICAgUE9TSVRJT05fTUFQLnJpZ2h0Qm90dG9tLFxuICAgIFBPU0lUSU9OX01BUC50b3BSaWdodCxcbiAgICBQT1NJVElPTl9NQVAuYm90dG9tUmlnaHRcbl0pO1xuXG5leHBvcnQgY29uc3QgTEVGVF9CT1RUT01fUE9TSVRJT05fUFJJT1JJVFkgPSBvYmplY3RWYWx1ZXMoW1xuICAgIFBPU0lUSU9OX01BUC5sZWZ0Qm90dG9tLFxuICAgIFBPU0lUSU9OX01BUC5yaWdodEJvdHRvbSxcbiAgICBQT1NJVElPTl9NQVAucmlnaHQsXG4gICAgUE9TSVRJT05fTUFQLnJpZ2h0VG9wLFxuICAgIFBPU0lUSU9OX01BUC50b3BSaWdodCxcbiAgICBQT1NJVElPTl9NQVAuYm90dG9tUmlnaHRcbl0pO1xuXG5leHBvcnQgY29uc3QgVE9QX0xFRlRfUE9TSVRJT05fUFJJT1JJVFkgPSBvYmplY3RWYWx1ZXMoW1xuICAgIFBPU0lUSU9OX01BUC50b3BMZWZ0LFxuICAgIFBPU0lUSU9OX01BUC50b3BSaWdodCxcbiAgICBQT1NJVElPTl9NQVAuYm90dG9tTGVmdCxcbiAgICBQT1NJVElPTl9NQVAuYm90dG9tLFxuICAgIFBPU0lUSU9OX01BUC5ib3R0b21SaWdodCxcbiAgICBQT1NJVElPTl9NQVAubGVmdEJvdHRvbSxcbiAgICBQT1NJVElPTl9NQVAucmlnaHRCb3R0b21cbl0pO1xuXG5leHBvcnQgY29uc3QgVE9QX1JJR0hUX1BPU0lUSU9OX1BSSU9SSVRZID0gb2JqZWN0VmFsdWVzKFtcbiAgICBQT1NJVElPTl9NQVAudG9wUmlnaHQsXG4gICAgUE9TSVRJT05fTUFQLnRvcExlZnQsXG4gICAgUE9TSVRJT05fTUFQLmJvdHRvbVJpZ2h0LFxuICAgIFBPU0lUSU9OX01BUC5ib3R0b20sXG4gICAgUE9TSVRJT05fTUFQLmJvdHRvbUxlZnQsXG4gICAgUE9TSVRJT05fTUFQLmxlZnRCb3R0b20sXG4gICAgUE9TSVRJT05fTUFQLnJpZ2h0Qm90dG9tXG5dKTtcblxuZXhwb3J0IGNvbnN0IEJPVFRPTV9SSUdIVF9QT1NJVElPTl9QUklPUklUWSA9IG9iamVjdFZhbHVlcyhbXG4gICAgUE9TSVRJT05fTUFQLmJvdHRvbVJpZ2h0LFxuICAgIFBPU0lUSU9OX01BUC5ib3R0b21MZWZ0LFxuICAgIFBPU0lUSU9OX01BUC50b3BSaWdodCxcbiAgICBQT1NJVElPTl9NQVAudG9wLFxuICAgIFBPU0lUSU9OX01BUC50b3BMZWZ0LFxuICAgIFBPU0lUSU9OX01BUC5sZWZ0VG9wLFxuICAgIFBPU0lUSU9OX01BUC5yaWdodFRvcFxuXSk7XG5cbmV4cG9ydCBjb25zdCBCT1RUT01fTEVGVF9QT1NJVElPTl9QUklPUklUWSA9IG9iamVjdFZhbHVlcyhbXG4gICAgUE9TSVRJT05fTUFQLmJvdHRvbUxlZnQsXG4gICAgUE9TSVRJT05fTUFQLmJvdHRvbVJpZ2h0LFxuICAgIFBPU0lUSU9OX01BUC50b3BMZWZ0LFxuICAgIFBPU0lUSU9OX01BUC50b3AsXG4gICAgUE9TSVRJT05fTUFQLnRvcFJpZ2h0LFxuICAgIFBPU0lUSU9OX01BUC5yaWdodFRvcCxcbiAgICBQT1NJVElPTl9NQVAubGVmdFRvcFxuXSk7XG5cbmV4cG9ydCBjb25zdCBQT1NJVElPTl9QUklPUklUWV9TVFJBVEVHWSA9IHtcbiAgICB0b3A6IFRPUF9QT1NJVElPTl9QUklPUklUWSxcbiAgICB0b3BMZWZ0OiBUT1BfTEVGVF9QT1NJVElPTl9QUklPUklUWSxcbiAgICB0b3BSaWdodDogVE9QX1JJR0hUX1BPU0lUSU9OX1BSSU9SSVRZLFxuICAgIGJvdHRvbTogQk9UVE9NX1BPU0lUSU9OX1BSSU9SSVRZLFxuICAgIGJvdHRvbUxlZnQ6IEJPVFRPTV9MRUZUX1BPU0lUSU9OX1BSSU9SSVRZLFxuICAgIGJvdHRvbVJpZ2h0OiBCT1RUT01fUklHSFRfUE9TSVRJT05fUFJJT1JJVFksXG4gICAgbGVmdDogTEVGVF9QT1NJVElPTl9QUklPUklUWSxcbiAgICBsZWZ0VG9wOiBMRUZUX1RPUF9QT1NJVElPTl9QUklPUklUWSxcbiAgICBsZWZ0Qm90dG9tOiBMRUZUX0JPVFRPTV9QT1NJVElPTl9QUklPUklUWSxcbiAgICByaWdodDogUklHSFRfUE9TSVRJT05fUFJJT1JJVFksXG4gICAgcmlnaHRUb3A6IFJJR0hUX1RPUF9QT1NJVElPTl9QUklPUklUWSxcbiAgICByaWdodEJvdHRvbTogUklHSFRfQk9UVE9NX1BPU0lUSU9OX1BSSU9SSVRZXG59O1xuXG5leHBvcnQgY29uc3QgUE9TSVRJT05fVE9fQ1NTX01BUDoge1trZXk6IHN0cmluZ106IHN0cmluZ30gPSB7XG4gICAgdG9wOiAndG9wJyxcbiAgICB0b3BMZWZ0OiAndG9wLWxlZnQnLFxuICAgIHRvcFJpZ2h0OiAndG9wLXJpZ2h0JyxcbiAgICByaWdodDogJ3JpZ2h0JyxcbiAgICByaWdodFRvcDogJ3JpZ2h0LXRvcCcsXG4gICAgcmlnaHRCb3R0b206ICdyaWdodC1ib3R0b20nLFxuICAgIGxlZnQ6ICdsZWZ0JyxcbiAgICBsZWZ0VG9wOiAnbGVmdC10b3AnLFxuICAgIGxlZnRCb3R0b206ICdsZWZ0LWJvdHRvbScsXG4gICAgYm90dG9tOiAnYm90dG9tJyxcbiAgICBib3R0b21MZWZ0OiAnYm90dG9tLWxlZnQnLFxuICAgIGJvdHRvbVJpZ2h0OiAnYm90dG9tLXJpZ2h0J1xufTtcblxuXG5mdW5jdGlvbiBhcnJheU1hcDxULCBTPihhcnJheTogVFtdLCBpdGVyYXRlZTogKGl0ZW06IFQsIGluZGV4OiBudW1iZXIsIGFycjogVFtdKSA9PiBTKTogU1tdIHtcbiAgICBsZXQgaW5kZXggPSAtMTtcbiAgICBjb25zdCBsZW5ndGggPSBhcnJheSA9PT0gbnVsbCA/IDAgOiBhcnJheS5sZW5ndGg7XG4gICAgY29uc3QgcmVzdWx0ID0gQXJyYXkobGVuZ3RoKTtcblxuICAgIHdoaWxlICgrK2luZGV4IDwgbGVuZ3RoKSB7XG4gICAgICAgIHJlc3VsdFtpbmRleF0gPSBpdGVyYXRlZShhcnJheVsgaW5kZXggXSwgaW5kZXgsIGFycmF5KTtcbiAgICB9XG5cbiAgICByZXR1cm4gcmVzdWx0O1xufVxuZnVuY3Rpb24gYmFzZVZhbHVlczxUPihvYmplY3Q6IFRbXSwgcHJvcHM6IHN0cmluZ1tdKTogVFtdIHtcbiAgICByZXR1cm4gYXJyYXlNYXAocHJvcHMsICAoa2V5KSA9PiBvYmplY3Rba2V5XSk7XG59XG5mdW5jdGlvbiBvYmplY3RWYWx1ZXM8VD4ob2JqZWN0OiBUW10pOiBUW10ge1xuICAgIHJldHVybiBvYmplY3QgPT09IG51bGwgPyBbXSA6IGJhc2VWYWx1ZXMob2JqZWN0LCBPYmplY3Qua2V5cyhvYmplY3QpKTtcbn1cbiJdfQ==
251
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3ZlcmxheS1wb3NpdGlvbi1tYXAuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9tb3NhaWMvY29yZS9vdmVybGF5L292ZXJsYXktcG9zaXRpb24tbWFwLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBMEIsT0FBTyxFQUFrQixNQUFNLHNCQUFzQixDQUFDO0FBSXZGLE1BQU0sQ0FBQyxNQUFNLFlBQVksR0FBOEM7SUFDbkUsR0FBRyxFQUFFO1FBQ0QsT0FBTyxFQUFFLFFBQVE7UUFDakIsT0FBTyxFQUFFLEtBQUs7UUFDZCxRQUFRLEVBQUUsUUFBUTtRQUNsQixRQUFRLEVBQUUsUUFBUTtLQUNyQjtJQUNELFNBQVMsRUFBRTtRQUNQLE9BQU8sRUFBRSxRQUFRO1FBQ2pCLE9BQU8sRUFBRSxLQUFLO1FBQ2QsUUFBUSxFQUFFLFFBQVE7UUFDbEIsUUFBUSxFQUFFLFFBQVE7S0FDckI7SUFDRCxPQUFPLEVBQUU7UUFDTCxPQUFPLEVBQUUsT0FBTztRQUNoQixPQUFPLEVBQUUsS0FBSztRQUNkLFFBQVEsRUFBRSxPQUFPO1FBQ2pCLFFBQVEsRUFBRSxRQUFRO0tBQ3JCO0lBQ0QsUUFBUSxFQUFFO1FBQ04sT0FBTyxFQUFFLEtBQUs7UUFDZCxPQUFPLEVBQUUsS0FBSztRQUNkLFFBQVEsRUFBRSxLQUFLO1FBQ2YsUUFBUSxFQUFFLFFBQVE7S0FDckI7SUFDRCxLQUFLLEVBQUU7UUFDSCxPQUFPLEVBQUUsS0FBSztRQUNkLE9BQU8sRUFBRSxRQUFRO1FBQ2pCLFFBQVEsRUFBRSxPQUFPO1FBQ2pCLFFBQVEsRUFBRSxRQUFRO0tBQ3JCO0lBQ0QsUUFBUSxFQUFFO1FBQ04sT0FBTyxFQUFFLEtBQUs7UUFDZCxPQUFPLEVBQUUsS0FBSztRQUNkLFFBQVEsRUFBRSxPQUFPO1FBQ2pCLFFBQVEsRUFBRSxLQUFLO0tBQ2xCO0lBQ0QsV0FBVyxFQUFFO1FBQ1QsT0FBTyxFQUFFLEtBQUs7UUFDZCxP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RSxLQUFLLEVBQUUsS0FBSyxDQUFDLENBQUM7S0FDMUQ7SUFFRCxPQUFPLE1BQU0sQ0FBQztBQUNsQixDQUFDO0FBQ0QsU0FBUyxVQUFVLENBQUksTUFBVyxFQUFFLEtBQWU7SUFDL0MsT0FBTyxRQUFRLENBQUMsS0FBSyxFQUFHLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztBQUNsRCxDQUFDO0FBQ0QsU0FBUyxZQUFZLENBQUksTUFBVztJQUNoQyxPQUFPLE1BQU0sS0FBSyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLE1BQU0sRUFBRSxNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7QUFDMUUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbm5lY3Rpb25Qb3NpdGlvblBhaXIsIE92ZXJsYXksIFNjcm9sbFN0cmF0ZWd5IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL292ZXJsYXknO1xuaW1wb3J0IHsgSW5qZWN0aW9uVG9rZW4gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuXG5leHBvcnQgY29uc3QgUE9TSVRJT05fTUFQOiB7IFtrZXk6IHN0cmluZ106IENvbm5lY3Rpb25Qb3NpdGlvblBhaXIgfSA9IHtcbiAgICB0b3A6IHtcbiAgICAgICAgb3JpZ2luWDogJ2NlbnRlcicsXG4gICAgICAgIG9yaWdpblk6ICd0b3AnLFxuICAgICAgICBvdmVybGF5WDogJ2NlbnRlcicsXG4gICAgICAgIG92ZXJsYXlZOiAnYm90dG9tJ1xuICAgIH0sXG4gICAgdG9wQ2VudGVyOiB7XG4gICAgICAgIG9yaWdpblg6ICdjZW50ZXInLFxuICAgICAgICBvcmlnaW5ZOiAndG9wJyxcbiAgICAgICAgb3ZlcmxheVg6ICdjZW50ZXInLFxuICAgICAgICBvdmVybGF5WTogJ2JvdHRvbSdcbiAgICB9LFxuICAgIHRvcExlZnQ6IHtcbiAgICAgICAgb3JpZ2luWDogJ3N0YXJ0JyxcbiAgICAgICAgb3JpZ2luWTogJ3RvcCcsXG4gICAgICAgIG92ZXJsYXlYOiAnc3RhcnQnLFxuICAgICAgICBvdmVybGF5WTogJ2JvdHRvbSdcbiAgICB9LFxuICAgIHRvcFJpZ2h0OiB7XG4gICAgICAgIG9yaWdpblg6ICdlbmQnLFxuICAgICAgICBvcmlnaW5ZOiAndG9wJyxcbiAgICAgICAgb3ZlcmxheVg6ICdlbmQnLFxuICAgICAgICBvdmVybGF5WTogJ2JvdHRvbSdcbiAgICB9LFxuICAgIHJpZ2h0OiB7XG4gICAgICAgIG9yaWdpblg6ICdlbmQnLFxuICAgICAgICBvcmlnaW5ZOiAnY2VudGVyJyxcbiAgICAgICAgb3ZlcmxheVg6ICdzdGFydCcsXG4gICAgICAgIG92ZXJsYXlZOiAnY2VudGVyJ1xuICAgIH0sXG4gICAgcmlnaHRUb3A6IHtcbiAgICAgICAgb3JpZ2luWDogJ2VuZCcsXG4gICAgICAgIG9yaWdpblk6ICd0b3AnLFxuICAgICAgICBvdmVybGF5WDogJ3N0YXJ0JyxcbiAgICAgICAgb3ZlcmxheVk6ICd0b3AnXG4gICAgfSxcbiAgICByaWdodEJvdHRvbToge1xuICAgICAgICBvcmlnaW5YOiAnZW5kJyxcbiAgICAgICAgb3JpZ2luWTogJ2JvdHRvbScsXG4gICAgICAgIG92ZXJsYXlYOiAnc3RhcnQnLFxuICAgICAgICBvdmVybGF5WTogJ2JvdHRvbSdcbiAgICB9LFxuICAgIGJvdHRvbToge1xuICAgICAgICBvcmlnaW5YOiAnY2VudGVyJyxcbiAgICAgICAgb3JpZ2luWTogJ2JvdHRvbScsXG4gICAgICAgIG92ZXJsYXlYOiAnY2VudGVyJyxcbiAgICAgICAgb3ZlcmxheVk6ICd0b3AnXG4gICAgfSxcbiAgICBib3R0b21DZW50ZXI6IHtcbiAgICAgICAgb3JpZ2luWDogJ2NlbnRlcicsXG4gICAgICAgIG9yaWdpblk6ICdib3R0b20nLFxuICAgICAgICBvdmVybGF5WDogJ2NlbnRlcicsXG4gICAgICAgIG92ZXJsYXlZOiAndG9wJ1xuICAgIH0sXG4gICAgYm90dG9tTGVmdDoge1xuICAgICAgICBvcmlnaW5YOiAnc3RhcnQnLFxuICAgICAgICBvcmlnaW5ZOiAnYm90dG9tJyxcbiAgICAgICAgb3ZlcmxheVg6ICdzdGFydCcsXG4gICAgICAgIG92ZXJsYXlZOiAndG9wJ1xuICAgIH0sXG4gICAgYm90dG9tUmlnaHQ6IHtcbiAgICAgICAgb3JpZ2luWDogJ2VuZCcsXG4gICAgICAgIG9yaWdpblk6ICdib3R0b20nLFxuICAgICAgICBvdmVybGF5WDogJ2VuZCcsXG4gICAgICAgIG92ZXJsYXlZOiAndG9wJ1xuICAgIH0sXG4gICAgbGVmdDoge1xuICAgICAgICBvcmlnaW5YOiAnc3RhcnQnLFxuICAgICAgICBvcmlnaW5ZOiAnY2VudGVyJyxcbiAgICAgICAgb3ZlcmxheVg6ICdlbmQnLFxuICAgICAgICBvdmVybGF5WTogJ2NlbnRlcidcbiAgICB9LFxuICAgIGxlZnRUb3A6IHtcbiAgICAgICAgb3JpZ2luWDogJ3N0YXJ0JyxcbiAgICAgICAgb3JpZ2luWTogJ3RvcCcsXG4gICAgICAgIG92ZXJsYXlYOiAnZW5kJyxcbiAgICAgICAgb3ZlcmxheVk6ICd0b3AnXG4gICAgfSxcbiAgICBsZWZ0Qm90dG9tOiB7XG4gICAgICAgIG9yaWdpblg6ICdzdGFydCcsXG4gICAgICAgIG9yaWdpblk6ICdib3R0b20nLFxuICAgICAgICBvdmVybGF5WDogJ2VuZCcsXG4gICAgICAgIG92ZXJsYXlZOiAnYm90dG9tJ1xuICAgIH1cbn07XG5cbmV4cG9ydCBjb25zdCBFWFRFTkRFRF9PVkVSTEFZX1BPU0lUSU9OUyA9IG9iamVjdFZhbHVlcyhbXG4gICAgUE9TSVRJT05fTUFQLnRvcCxcbiAgICBQT1NJVElPTl9NQVAudG9wTGVmdCxcbiAgICBQT1NJVElPTl9NQVAudG9wUmlnaHQsXG4gICAgUE9TSVRJT05fTUFQLnJpZ2h0LFxuICAgIFBPU0lUSU9OX01BUC5yaWdodFRvcCxcbiAgICBQT1NJVElPTl9NQVAucmlnaHRCb3R0b20sXG4gICAgUE9TSVRJT05fTUFQLmJvdHRvbSxcbiAgICBQT1NJVElPTl9NQVAuYm90dG9tTGVmdCxcbiAgICBQT1NJVElPTl9NQVAuYm90dG9tUmlnaHQsXG4gICAgUE9TSVRJT05fTUFQLmxlZnQsXG4gICAgUE9TSVRJT05fTUFQLmxlZnRUb3AsXG4gICAgUE9TSVRJT05fTUFQLmxlZnRCb3R0b21cbl0pO1xuXG5leHBvcnQgY29uc3QgVE9QX1BPU0lUSU9OX1BSSU9SSVRZID0gb2JqZWN0VmFsdWVzKFtcbiAgICBQT1NJVElPTl9NQVAudG9wLFxuICAgIFBPU0lUSU9OX01BUC5ib3R0b20sXG4gICAgUE9TSVRJT05fTUFQLnJpZ2h0LFxuICAgIFBPU0lUSU9OX01BUC5yaWdodEJvdHRvbSxcbiAgICBQT1NJVElPTl9NQVAubGVmdEJvdHRvbSxcbiAgICBQT1NJVElPTl9NQVAuYm90dG9tTGVmdCxcbiAgICBQT1NJVElPTl9NQVAuYm90dG9tUmlnaHRcbl0pO1xuXG5leHBvcnQgY29uc3QgQk9UVE9NX1BPU0lUSU9OX1BSSU9SSVRZID0gb2JqZWN0VmFsdWVzKFtcbiAgICBQT1NJVElPTl9NQVAuYm90dG9tLFxuICAgIFBPU0lUSU9OX01BUC50b3AsXG4gICAgUE9TSVRJT05fTUFQLnRvcExlZnQsXG4gICAgUE9TSVRJT05fTUFQLnRvcFJpZ2h0LFxuICAgIFBPU0lUSU9OX01BUC5yaWdodEJvdHRvbSxcbiAgICBQT1NJVElPTl9NQVAubGVmdEJvdHRvbVxuXSk7XG5cbmV4cG9ydCBjb25zdCBSSUdIVF9QT1NJVElPTl9QUklPUklUWSA9IG9iamVjdFZhbHVlcyhbXG4gICAgUE9TSVRJT05fTUFQLnJpZ2h0LFxuICAgIFBPU0lUSU9OX01BUC5sZWZ0LFxuICAgIFBPU0lUSU9OX01BUC5sZWZ0VG9wLFxuICAgIFBPU0lUSU9OX01BUC5sZWZ0Qm90dG9tLFxuICAgIFBPU0lUSU9OX01BUC50b3AsXG4gICAgUE9TSVRJT05fTUFQLmJvdHRvbVxuXSk7XG5cbmV4cG9ydCBjb25zdCBMRUZUX1BPU0lUSU9OX1BSSU9SSVRZID0gb2JqZWN0VmFsdWVzKFtcbiAgICBQT1NJVElPTl9NQVAubGVmdCxcbiAgICBQT1NJVElPTl9NQVAucmlnaHQsXG4gICAgUE9TSVRJT05fTUFQLnJpZ2h0VG9wLFxuICAgIFBPU0lUSU9OX01BUC5yaWdodEJvdHRvbSxcbiAgICBQT1NJVElPTl9NQVAudG9wLFxuICAgIFBPU0lUSU9OX01BUC5ib3R0b21cbl0pO1xuXG5leHBvcnQgY29uc3QgUklHSFRfVE9QX1BPU0lUSU9OX1BSSU9SSVRZID0gb2JqZWN0VmFsdWVzKFtcbiAgICBQT1NJVElPTl9NQVAucmlnaHRUb3AsXG4gICAgUE9TSVRJT05fTUFQLmxlZnRUb3AsXG4gICAgUE9TSVRJT05fTUFQLmxlZnQsXG4gICAgUE9TSVRJT05fTUFQLmxlZnRCb3R0b20sXG4gICAgUE9TSVRJT05fTUFQLnRvcExlZnQsXG4gICAgUE9TSVRJT05fTUFQLmJvdHRvbUxlZnRcbl0pO1xuXG5leHBvcnQgY29uc3QgUklHSFRfQk9UVE9NX1BPU0lUSU9OX1BSSU9SSVRZID0gb2JqZWN0VmFsdWVzKFtcbiAgICBQT1NJVElPTl9NQVAucmlnaHRCb3R0b20sXG4gICAgUE9TSVRJT05fTUFQLmxlZnRCb3R0b20sXG4gICAgUE9TSVRJT05fTUFQLmxlZnQsXG4gICAgUE9TSVRJT05fTUFQLmxlZnRUb3AsXG4gICAgUE9TSVRJT05fTUFQLnRvcExlZnQsXG4gICAgUE9TSVRJT05fTUFQLmJvdHRvbUxlZnRcbl0pO1xuXG5leHBvcnQgY29uc3QgTEVGVF9UT1BfUE9TSVRJT05fUFJJT1JJVFkgPSBvYmplY3RWYWx1ZXMoW1xuICAgIFBPU0lUSU9OX01BUC5sZWZ0VG9wLFxuICAgIFBPU0lUSU9OX01BUC5yaWdodFRvcCxcbiAgICBQT1NJVElPTl9NQVAucmlnaHQsXG4gICAgUE9TSVRJT05fTUFQLnJpZ2h0Qm90dG9tLFxuICAgIFBPU0lUSU9OX01BUC50b3BSaWdodCxcbiAgICBQT1NJVElPTl9NQVAuYm90dG9tUmlnaHRcbl0pO1xuXG5leHBvcnQgY29uc3QgTEVGVF9CT1RUT01fUE9TSVRJT05fUFJJT1JJVFkgPSBvYmplY3RWYWx1ZXMoW1xuICAgIFBPU0lUSU9OX01BUC5sZWZ0Qm90dG9tLFxuICAgIFBPU0lUSU9OX01BUC5yaWdodEJvdHRvbSxcbiAgICBQT1NJVElPTl9NQVAucmlnaHQsXG4gICAgUE9TSVRJT05fTUFQLnJpZ2h0VG9wLFxuICAgIFBPU0lUSU9OX01BUC50b3BSaWdodCxcbiAgICBQT1NJVElPTl9NQVAuYm90dG9tUmlnaHRcbl0pO1xuXG5leHBvcnQgY29uc3QgVE9QX0xFRlRfUE9TSVRJT05fUFJJT1JJVFkgPSBvYmplY3RWYWx1ZXMoW1xuICAgIFBPU0lUSU9OX01BUC50b3BMZWZ0LFxuICAgIFBPU0lUSU9OX01BUC50b3BSaWdodCxcbiAgICBQT1NJVElPTl9NQVAuYm90dG9tTGVmdCxcbiAgICBQT1NJVElPTl9NQVAuYm90dG9tLFxuICAgIFBPU0lUSU9OX01BUC5ib3R0b21SaWdodCxcbiAgICBQT1NJVElPTl9NQVAubGVmdEJvdHRvbSxcbiAgICBQT1NJVElPTl9NQVAucmlnaHRCb3R0b21cbl0pO1xuXG5leHBvcnQgY29uc3QgVE9QX1JJR0hUX1BPU0lUSU9OX1BSSU9SSVRZID0gb2JqZWN0VmFsdWVzKFtcbiAgICBQT1NJVElPTl9NQVAudG9wUmlnaHQsXG4gICAgUE9TSVRJT05fTUFQLnRvcExlZnQsXG4gICAgUE9TSVRJT05fTUFQLmJvdHRvbVJpZ2h0LFxuICAgIFBPU0lUSU9OX01BUC5ib3R0b20sXG4gICAgUE9TSVRJT05fTUFQLmJvdHRvbUxlZnQsXG4gICAgUE9TSVRJT05fTUFQLmxlZnRCb3R0b20sXG4gICAgUE9TSVRJT05fTUFQLnJpZ2h0Qm90dG9tXG5dKTtcblxuZXhwb3J0IGNvbnN0IEJPVFRPTV9SSUdIVF9QT1NJVElPTl9QUklPUklUWSA9IG9iamVjdFZhbHVlcyhbXG4gICAgUE9TSVRJT05fTUFQLmJvdHRvbVJpZ2h0LFxuICAgIFBPU0lUSU9OX01BUC5ib3R0b21MZWZ0LFxuICAgIFBPU0lUSU9OX01BUC50b3BSaWdodCxcbiAgICBQT1NJVElPTl9NQVAudG9wLFxuICAgIFBPU0lUSU9OX01BUC50b3BMZWZ0LFxuICAgIFBPU0lUSU9OX01BUC5sZWZ0VG9wLFxuICAgIFBPU0lUSU9OX01BUC5yaWdodFRvcFxuXSk7XG5cbmV4cG9ydCBjb25zdCBCT1RUT01fTEVGVF9QT1NJVElPTl9QUklPUklUWSA9IG9iamVjdFZhbHVlcyhbXG4gICAgUE9TSVRJT05fTUFQLmJvdHRvbUxlZnQsXG4gICAgUE9TSVRJT05fTUFQLmJvdHRvbVJpZ2h0LFxuICAgIFBPU0lUSU9OX01BUC50b3BMZWZ0LFxuICAgIFBPU0lUSU9OX01BUC50b3AsXG4gICAgUE9TSVRJT05fTUFQLnRvcFJpZ2h0LFxuICAgIFBPU0lUSU9OX01BUC5yaWdodFRvcCxcbiAgICBQT1NJVElPTl9NQVAubGVmdFRvcFxuXSk7XG5cbmV4cG9ydCBjb25zdCBQT1NJVElPTl9QUklPUklUWV9TVFJBVEVHWSA9IHtcbiAgICB0b3A6IFRPUF9QT1NJVElPTl9QUklPUklUWSxcbiAgICB0b3BMZWZ0OiBUT1BfTEVGVF9QT1NJVElPTl9QUklPUklUWSxcbiAgICB0b3BSaWdodDogVE9QX1JJR0hUX1BPU0lUSU9OX1BSSU9SSVRZLFxuICAgIGJvdHRvbTogQk9UVE9NX1BPU0lUSU9OX1BSSU9SSVRZLFxuICAgIGJvdHRvbUxlZnQ6IEJPVFRPTV9MRUZUX1BPU0lUSU9OX1BSSU9SSVRZLFxuICAgIGJvdHRvbVJpZ2h0OiBCT1RUT01fUklHSFRfUE9TSVRJT05fUFJJT1JJVFksXG4gICAgbGVmdDogTEVGVF9QT1NJVElPTl9QUklPUklUWSxcbiAgICBsZWZ0VG9wOiBMRUZUX1RPUF9QT1NJVElPTl9QUklPUklUWSxcbiAgICBsZWZ0Qm90dG9tOiBMRUZUX0JPVFRPTV9QT1NJVElPTl9QUklPUklUWSxcbiAgICByaWdodDogUklHSFRfUE9TSVRJT05fUFJJT1JJVFksXG4gICAgcmlnaHRUb3A6IFJJR0hUX1RPUF9QT1NJVElPTl9QUklPUklUWSxcbiAgICByaWdodEJvdHRvbTogUklHSFRfQk9UVE9NX1BPU0lUSU9OX1BSSU9SSVRZXG59O1xuXG5leHBvcnQgY29uc3QgUE9TSVRJT05fVE9fQ1NTX01BUDoge1trZXk6IHN0cmluZ106IHN0cmluZ30gPSB7XG4gICAgdG9wOiAndG9wJyxcbiAgICB0b3BMZWZ0OiAndG9wLWxlZnQnLFxuICAgIHRvcFJpZ2h0OiAndG9wLXJpZ2h0JyxcbiAgICByaWdodDogJ3JpZ2h0JyxcbiAgICByaWdodFRvcDogJ3JpZ2h0LXRvcCcsXG4gICAgcmlnaHRCb3R0b206ICdyaWdodC1ib3R0b20nLFxuICAgIGxlZnQ6ICdsZWZ0JyxcbiAgICBsZWZ0VG9wOiAnbGVmdC10b3AnLFxuICAgIGxlZnRCb3R0b206ICdsZWZ0LWJvdHRvbScsXG4gICAgYm90dG9tOiAnYm90dG9tJyxcbiAgICBib3R0b21MZWZ0OiAnYm90dG9tLWxlZnQnLFxuICAgIGJvdHRvbVJpZ2h0OiAnYm90dG9tLXJpZ2h0J1xufTtcblxuZXhwb3J0IGNvbnN0IE1DX0NVU1RPTV9TQ1JPTExfU1RSQVRFR1lfUFJPVklERVIgPSA8VD4oXG4gICAgdG9rZW46IEluamVjdGlvblRva2VuPFQ+LFxuICAgIGZhY3Rvcnk6IChvdmVybGF5OiBPdmVybGF5KSA9PiAoKSA9PiBTY3JvbGxTdHJhdGVneVxuKSA9PiAoe1xuICAgIHByb3ZpZGU6IHRva2VuLFxuICAgIGRlcHM6IFtPdmVybGF5XSxcbiAgICB1c2VGYWN0b3J5OiBmYWN0b3J5XG59KTtcblxuZnVuY3Rpb24gYXJyYXlNYXA8VCwgUz4oYXJyYXk6IFRbXSwgaXRlcmF0ZWU6IChpdGVtOiBULCBpbmRleDogbnVtYmVyLCBhcnI6IFRbXSkgPT4gUyk6IFNbXSB7XG4gICAgbGV0IGluZGV4ID0gLTE7XG4gICAgY29uc3QgbGVuZ3RoID0gYXJyYXkgPT09IG51bGwgPyAwIDogYXJyYXkubGVuZ3RoO1xuICAgIGNvbnN0IHJlc3VsdCA9IEFycmF5KGxlbmd0aCk7XG5cbiAgICB3aGlsZSAoKytpbmRleCA8IGxlbmd0aCkge1xuICAgICAgICByZXN1bHRbaW5kZXhdID0gaXRlcmF0ZWUoYXJyYXlbIGluZGV4IF0sIGluZGV4LCBhcnJheSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHJlc3VsdDtcbn1cbmZ1bmN0aW9uIGJhc2VWYWx1ZXM8VD4ob2JqZWN0OiBUW10sIHByb3BzOiBzdHJpbmdbXSk6IFRbXSB7XG4gICAgcmV0dXJuIGFycmF5TWFwKHByb3BzLCAgKGtleSkgPT4gb2JqZWN0W2tleV0pO1xufVxuZnVuY3Rpb24gb2JqZWN0VmFsdWVzPFQ+KG9iamVjdDogVFtdKTogVFtdIHtcbiAgICByZXR1cm4gb2JqZWN0ID09PSBudWxsID8gW10gOiBiYXNlVmFsdWVzKG9iamVjdCwgT2JqZWN0LmtleXMob2JqZWN0KSk7XG59XG4iXX0=
@@ -1,3 +1,3 @@
1
1
  import { Version } from '@angular/core';
2
- export const VERSION = new Version('15.6.0+sha-7ad3c34');
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVyc2lvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL21vc2FpYy9jb3JlL3ZlcnNpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUd4QyxNQUFNLENBQUMsTUFBTSxPQUFPLEdBQUcsSUFBSSxPQUFPLENBQUMsb0JBQW9CLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFZlcnNpb24gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuXG5leHBvcnQgY29uc3QgVkVSU0lPTiA9IG5ldyBWZXJzaW9uKCcxNS42LjArc2hhLTdhZDNjMzQnKTtcbiJdfQ==
2
+ export const VERSION = new Version('15.7.2+sha-5634186');
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVyc2lvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL21vc2FpYy9jb3JlL3ZlcnNpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUd4QyxNQUFNLENBQUMsTUFBTSxPQUFPLEdBQUcsSUFBSSxPQUFPLENBQUMsb0JBQW9CLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFZlcnNpb24gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuXG5leHBvcnQgY29uc3QgVkVSU0lPTiA9IG5ldyBWZXJzaW9uKCcxNS43LjIrc2hhLTU2MzQxODYnKTtcbiJdfQ==