@skyux/core 8.6.0 → 9.0.0-alpha.0

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 (151) hide show
  1. package/{esm2020 → esm2022}/lib/modules/adapter-service/adapter.module.mjs +5 -5
  2. package/esm2022/lib/modules/adapter-service/adapter.service.mjs +225 -0
  3. package/esm2022/lib/modules/affix/affix.directive.mjs +116 -0
  4. package/{esm2020 → esm2022}/lib/modules/affix/affix.module.mjs +5 -5
  5. package/esm2022/lib/modules/affix/affix.service.mjs +25 -0
  6. package/esm2022/lib/modules/affix/affixer.mjs +398 -0
  7. package/esm2022/lib/modules/default-input-provider/default-input-provider.mjs +26 -0
  8. package/esm2022/lib/modules/dock/dock-dom-adapter.service.mjs +81 -0
  9. package/esm2022/lib/modules/dock/dock-item.mjs +31 -0
  10. package/esm2022/lib/modules/dock/dock.component.mjs +108 -0
  11. package/{esm2020 → esm2022}/lib/modules/dock/dock.module.mjs +5 -5
  12. package/esm2022/lib/modules/dock/dock.service.mjs +96 -0
  13. package/{esm2020 → esm2022}/lib/modules/dynamic-component/dynamic-component.module.mjs +5 -5
  14. package/esm2022/lib/modules/dynamic-component/dynamic-component.service.mjs +106 -0
  15. package/{esm2020 → esm2022}/lib/modules/format/app-format.mjs +4 -4
  16. package/esm2022/lib/modules/id/id.directive.mjs +31 -0
  17. package/{esm2020 → esm2022}/lib/modules/id/id.module.mjs +5 -5
  18. package/{esm2020 → esm2022}/lib/modules/id/id.service.mjs +4 -4
  19. package/esm2022/lib/modules/layout-host/layout-host.service.mjs +22 -0
  20. package/esm2022/lib/modules/live-announcer/live-announcer.service.mjs +79 -0
  21. package/{esm2020 → esm2022}/lib/modules/log/log.module.mjs +5 -5
  22. package/esm2022/lib/modules/log/log.service.mjs +148 -0
  23. package/{esm2020 → esm2022}/lib/modules/media-query/media-query.module.mjs +5 -5
  24. package/esm2022/lib/modules/media-query/media-query.service.mjs +123 -0
  25. package/{esm2020 → esm2022}/lib/modules/mutation/mutation-observer-service.mjs +4 -4
  26. package/{esm2020 → esm2022}/lib/modules/numeric/numeric.module.mjs +5 -5
  27. package/esm2022/lib/modules/numeric/numeric.pipe.mjs +81 -0
  28. package/esm2022/lib/modules/numeric/numeric.service.mjs +205 -0
  29. package/esm2022/lib/modules/overlay/overlay-adapter.service.mjs +44 -0
  30. package/esm2022/lib/modules/overlay/overlay-instance.mjs +62 -0
  31. package/esm2022/lib/modules/overlay/overlay.component.mjs +193 -0
  32. package/{esm2020 → esm2022}/lib/modules/overlay/overlay.module.mjs +5 -5
  33. package/esm2022/lib/modules/overlay/overlay.service.mjs +124 -0
  34. package/{esm2020 → esm2022}/lib/modules/percent-pipe/percent-pipe.module.mjs +5 -5
  35. package/esm2022/lib/modules/percent-pipe/percent.pipe.mjs +56 -0
  36. package/esm2022/lib/modules/resize-observer/resize-observer-media-query.service.mjs +120 -0
  37. package/esm2022/lib/modules/resize-observer/resize-observer.service.mjs +77 -0
  38. package/esm2022/lib/modules/scrollable-host/scrollable-host.service.mjs +223 -0
  39. package/esm2022/lib/modules/shared/number-format/number-format-utility.mjs +72 -0
  40. package/esm2022/lib/modules/shared/sky-core-resources.module.mjs +50 -0
  41. package/esm2022/lib/modules/title/title.service.mjs +31 -0
  42. package/esm2022/lib/modules/trim/trim.directive.mjs +64 -0
  43. package/{esm2020 → esm2022}/lib/modules/trim/trim.module.mjs +5 -5
  44. package/{esm2020 → esm2022}/lib/modules/ui-config/ui-config.service.mjs +4 -4
  45. package/{esm2020 → esm2022}/lib/modules/viewkeeper/viewkeeper-host-options.mjs +4 -4
  46. package/esm2022/lib/modules/viewkeeper/viewkeeper.directive.mjs +131 -0
  47. package/esm2022/lib/modules/viewkeeper/viewkeeper.mjs +283 -0
  48. package/{esm2020 → esm2022}/lib/modules/viewkeeper/viewkeeper.module.mjs +5 -5
  49. package/esm2022/lib/modules/viewkeeper/viewkeeper.service.mjs +39 -0
  50. package/{esm2020 → esm2022}/lib/modules/window/window-ref.mjs +4 -4
  51. package/esm2022/testing/core-testing.module.mjs +32 -0
  52. package/esm2022/testing/mock-media-query.service.mjs +46 -0
  53. package/{esm2020 → esm2022}/testing/mock-ui-config.service.mjs +4 -4
  54. package/esm2022/testing/overlay/overlay-harness.mjs +43 -0
  55. package/esm2022/testing/shared/component-harness.mjs +13 -0
  56. package/{fesm2020 → fesm2022}/skyux-core-testing.mjs +28 -34
  57. package/{fesm2020 → fesm2022}/skyux-core-testing.mjs.map +1 -1
  58. package/fesm2022/skyux-core.mjs +3858 -0
  59. package/fesm2022/skyux-core.mjs.map +1 -0
  60. package/lib/modules/affix/affix.directive.d.ts +1 -1
  61. package/lib/modules/viewkeeper/viewkeeper.directive.d.ts +1 -1
  62. package/package.json +14 -22
  63. package/esm2020/lib/modules/adapter-service/adapter.service.mjs +0 -227
  64. package/esm2020/lib/modules/affix/affix.directive.mjs +0 -118
  65. package/esm2020/lib/modules/affix/affix.service.mjs +0 -28
  66. package/esm2020/lib/modules/affix/affixer.mjs +0 -377
  67. package/esm2020/lib/modules/default-input-provider/default-input-provider.mjs +0 -31
  68. package/esm2020/lib/modules/dock/dock-dom-adapter.service.mjs +0 -83
  69. package/esm2020/lib/modules/dock/dock-item.mjs +0 -34
  70. package/esm2020/lib/modules/dock/dock.component.mjs +0 -110
  71. package/esm2020/lib/modules/dock/dock.service.mjs +0 -98
  72. package/esm2020/lib/modules/dynamic-component/dynamic-component.service.mjs +0 -109
  73. package/esm2020/lib/modules/id/id.directive.mjs +0 -34
  74. package/esm2020/lib/modules/layout-host/layout-host.service.mjs +0 -27
  75. package/esm2020/lib/modules/live-announcer/live-announcer.service.mjs +0 -80
  76. package/esm2020/lib/modules/log/log.service.mjs +0 -147
  77. package/esm2020/lib/modules/media-query/media-query.service.mjs +0 -124
  78. package/esm2020/lib/modules/numeric/numeric.pipe.mjs +0 -84
  79. package/esm2020/lib/modules/numeric/numeric.service.mjs +0 -179
  80. package/esm2020/lib/modules/overlay/overlay-adapter.service.mjs +0 -47
  81. package/esm2020/lib/modules/overlay/overlay-instance.mjs +0 -65
  82. package/esm2020/lib/modules/overlay/overlay.component.mjs +0 -192
  83. package/esm2020/lib/modules/overlay/overlay.service.mjs +0 -125
  84. package/esm2020/lib/modules/percent-pipe/percent.pipe.mjs +0 -59
  85. package/esm2020/lib/modules/resize-observer/resize-observer-media-query.service.mjs +0 -121
  86. package/esm2020/lib/modules/resize-observer/resize-observer.service.mjs +0 -79
  87. package/esm2020/lib/modules/scrollable-host/scrollable-host.service.mjs +0 -218
  88. package/esm2020/lib/modules/shared/number-format/number-format-utility.mjs +0 -72
  89. package/esm2020/lib/modules/shared/sky-core-resources.module.mjs +0 -50
  90. package/esm2020/lib/modules/title/title.service.mjs +0 -34
  91. package/esm2020/lib/modules/trim/trim.directive.mjs +0 -65
  92. package/esm2020/lib/modules/viewkeeper/viewkeeper.directive.mjs +0 -131
  93. package/esm2020/lib/modules/viewkeeper/viewkeeper.mjs +0 -276
  94. package/esm2020/lib/modules/viewkeeper/viewkeeper.service.mjs +0 -42
  95. package/esm2020/testing/core-testing.module.mjs +0 -32
  96. package/esm2020/testing/mock-media-query.service.mjs +0 -46
  97. package/esm2020/testing/overlay/overlay-harness.mjs +0 -43
  98. package/esm2020/testing/shared/component-harness.mjs +0 -19
  99. package/fesm2015/skyux-core-testing.mjs +0 -209
  100. package/fesm2015/skyux-core-testing.mjs.map +0 -1
  101. package/fesm2015/skyux-core.mjs +0 -3835
  102. package/fesm2015/skyux-core.mjs.map +0 -1
  103. package/fesm2020/skyux-core.mjs +0 -3825
  104. package/fesm2020/skyux-core.mjs.map +0 -1
  105. /package/{esm2020 → esm2022}/index.mjs +0 -0
  106. /package/{esm2020 → esm2022}/lib/modules/adapter-service/focusable-children-options.mjs +0 -0
  107. /package/{esm2020 → esm2022}/lib/modules/affix/affix-auto-fit-context.mjs +0 -0
  108. /package/{esm2020 → esm2022}/lib/modules/affix/affix-config.mjs +0 -0
  109. /package/{esm2020 → esm2022}/lib/modules/affix/affix-horizontal-alignment.mjs +0 -0
  110. /package/{esm2020 → esm2022}/lib/modules/affix/affix-offset-change.mjs +0 -0
  111. /package/{esm2020 → esm2022}/lib/modules/affix/affix-offset.mjs +0 -0
  112. /package/{esm2020 → esm2022}/lib/modules/affix/affix-placement-change.mjs +0 -0
  113. /package/{esm2020 → esm2022}/lib/modules/affix/affix-placement.mjs +0 -0
  114. /package/{esm2020 → esm2022}/lib/modules/affix/affix-position.mjs +0 -0
  115. /package/{esm2020 → esm2022}/lib/modules/affix/affix-rect.mjs +0 -0
  116. /package/{esm2020 → esm2022}/lib/modules/affix/affix-utils.mjs +0 -0
  117. /package/{esm2020 → esm2022}/lib/modules/affix/affix-vertical-alignment.mjs +0 -0
  118. /package/{esm2020 → esm2022}/lib/modules/affix/dom-utils.mjs +0 -0
  119. /package/{esm2020 → esm2022}/lib/modules/dock/dock-insert-component-config.mjs +0 -0
  120. /package/{esm2020 → esm2022}/lib/modules/dock/dock-item-config.mjs +0 -0
  121. /package/{esm2020 → esm2022}/lib/modules/dock/dock-item-reference.mjs +0 -0
  122. /package/{esm2020 → esm2022}/lib/modules/dock/dock-location.mjs +0 -0
  123. /package/{esm2020 → esm2022}/lib/modules/dock/dock-options.mjs +0 -0
  124. /package/{esm2020 → esm2022}/lib/modules/dock/sort-by-stack-order.mjs +0 -0
  125. /package/{esm2020 → esm2022}/lib/modules/dynamic-component/dynamic-component-location.mjs +0 -0
  126. /package/{esm2020 → esm2022}/lib/modules/dynamic-component/dynamic-component-options.mjs +0 -0
  127. /package/{esm2020 → esm2022}/lib/modules/layout-host/layout-host-for-child-args.mjs +0 -0
  128. /package/{esm2020 → esm2022}/lib/modules/live-announcer/types/live-announcer-args.mjs +0 -0
  129. /package/{esm2020 → esm2022}/lib/modules/live-announcer/types/live-announcer-politeness.mjs +0 -0
  130. /package/{esm2020 → esm2022}/lib/modules/log/types/log-deprecation-args.mjs +0 -0
  131. /package/{esm2020 → esm2022}/lib/modules/log/types/log-level-token.mjs +0 -0
  132. /package/{esm2020 → esm2022}/lib/modules/log/types/log-level.mjs +0 -0
  133. /package/{esm2020 → esm2022}/lib/modules/media-query/media-breakpoints.mjs +0 -0
  134. /package/{esm2020 → esm2022}/lib/modules/media-query/media-query-listener.mjs +0 -0
  135. /package/{esm2020 → esm2022}/lib/modules/numeric/numeric-symbol.mjs +0 -0
  136. /package/{esm2020 → esm2022}/lib/modules/numeric/numeric.options.mjs +0 -0
  137. /package/{esm2020 → esm2022}/lib/modules/overlay/overlay-config.mjs +0 -0
  138. /package/{esm2020 → esm2022}/lib/modules/overlay/overlay-context.mjs +0 -0
  139. /package/{esm2020 → esm2022}/lib/modules/overlay/overlay-position.mjs +0 -0
  140. /package/{esm2020 → esm2022}/lib/modules/stacking-context/stacking-context-token.mjs +0 -0
  141. /package/{esm2020 → esm2022}/lib/modules/stacking-context/stacking-context.mjs +0 -0
  142. /package/{esm2020 → esm2022}/lib/modules/title/set-title-args.mjs +0 -0
  143. /package/{esm2020 → esm2022}/lib/modules/viewkeeper/viewkeeper-boundary-info.mjs +0 -0
  144. /package/{esm2020 → esm2022}/lib/modules/viewkeeper/viewkeeper-fixed-styles.mjs +0 -0
  145. /package/{esm2020 → esm2022}/lib/modules/viewkeeper/viewkeeper-offset.mjs +0 -0
  146. /package/{esm2020 → esm2022}/lib/modules/viewkeeper/viewkeeper-options.mjs +0 -0
  147. /package/{esm2020 → esm2022}/skyux-core.mjs +0 -0
  148. /package/{esm2020 → esm2022}/testing/overlay/overlay-harness-filters.mjs +0 -0
  149. /package/{esm2020 → esm2022}/testing/public-api.mjs +0 -0
  150. /package/{esm2020 → esm2022}/testing/shared/harness-filters.mjs +0 -0
  151. /package/{esm2020 → esm2022}/testing/skyux-core-testing.mjs +0 -0
@@ -0,0 +1,205 @@
1
+ import { Injectable } from '@angular/core';
2
+ import { SkyIntlNumberFormatStyle } from '@skyux/i18n';
3
+ import { SkyNumberFormatUtility } from '../shared/number-format/number-format-utility';
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "@skyux/i18n";
6
+ export class SkyNumericService {
7
+ #resourcesSvc;
8
+ #symbolIndex;
9
+ constructor(resourcesSvc) {
10
+ /**
11
+ * The browser's current locale.
12
+ * @internal
13
+ */
14
+ this.currentLocale = 'en-US';
15
+ /**
16
+ * @internal
17
+ */
18
+ this.shortSymbol = '';
19
+ this.#resourcesSvc = resourcesSvc;
20
+ this.#symbolIndex = [
21
+ { value: 1e12, label: this.#getSymbol('skyux_numeric_trillions_symbol') },
22
+ { value: 1e9, label: this.#getSymbol('skyux_numeric_billions_symbol') },
23
+ { value: 1e6, label: this.#getSymbol('skyux_numeric_millions_symbol') },
24
+ { value: 1e3, label: this.#getSymbol('skyux_numeric_thousands_symbol') },
25
+ ];
26
+ }
27
+ /**
28
+ * Formats a number based on the provided options.
29
+ * @param value The number to format.
30
+ * @param options Format options.
31
+ */
32
+ formatNumber(value, options) {
33
+ if (isNaN(value) || value === null) {
34
+ return '';
35
+ }
36
+ const numericOptions = {
37
+ digits: 0,
38
+ format: 'number',
39
+ currencySign: 'standard',
40
+ iso: 'USD',
41
+ truncateAfter: 1000,
42
+ ...options,
43
+ };
44
+ const decimalPlaceRegExp = /\.0+$|(\.[0-9]*[1-9])0+$/;
45
+ const locale = numericOptions.locale || this.currentLocale;
46
+ const digits = numericOptions.digits || 0;
47
+ // Get the symbol for the number after rounding, since rounding could push the number
48
+ // into a different symbol range.
49
+ let roundedNumber = this.#roundNumber(value, digits);
50
+ const roundedNumberAbs = Math.abs(roundedNumber);
51
+ let suffix = '';
52
+ for (let i = 0; i < this.#symbolIndex.length; i++) {
53
+ let symbol = this.#symbolIndex[i];
54
+ if (numericOptions.truncate &&
55
+ numericOptions.truncateAfter !== undefined &&
56
+ roundedNumberAbs >= numericOptions.truncateAfter &&
57
+ roundedNumberAbs >= symbol.value) {
58
+ roundedNumber = this.#roundNumber(value / symbol.value, digits);
59
+ if (Math.abs(roundedNumber) === 1000 && i > 0) {
60
+ // Rounding caused the number to cross into the range of the next symbol.
61
+ symbol = this.#symbolIndex[i - 1];
62
+ roundedNumber /= 1000;
63
+ }
64
+ suffix = symbol.label;
65
+ break;
66
+ }
67
+ }
68
+ let output = roundedNumber.toString().replace(decimalPlaceRegExp, '$1') + suffix;
69
+ this.#storeShortenSymbol(output);
70
+ let digitsFormatted;
71
+ let isDecimal = false;
72
+ // Checks the string entered for format. Using toLowerCase to ignore case.
73
+ switch (numericOptions.format?.toLowerCase()) {
74
+ // In a case where a decimal value was not shortened and
75
+ // the digit input is 2 or higher, it forces 2 digits.
76
+ // For example, this prevents a value like $15.50 from displaying as $15.5.
77
+ // Note: This will need to be reviewed if we support currencies with
78
+ // three decimal digits.
79
+ case 'currency':
80
+ isDecimal = value % 1 !== 0;
81
+ if (numericOptions.minDigits) {
82
+ digitsFormatted = `1.${numericOptions.minDigits}-${digits}`;
83
+ }
84
+ else if (isDecimal && digits >= 2) {
85
+ digitsFormatted = `1.2-${digits}`;
86
+ }
87
+ else {
88
+ digitsFormatted = `1.0-${digits}`;
89
+ }
90
+ output = SkyNumberFormatUtility.formatNumber(locale, parseFloat(output), SkyIntlNumberFormatStyle.Currency, digitsFormatted, numericOptions.iso,
91
+ // Angular 5+ needs a string for this parameter, but Angular 4 needs a boolean.
92
+ // To support both versions we can supply 'symbol' which will evaluate truthy for Angular 4
93
+ // and the appropriate string value for Angular 5+.
94
+ // See: https://angular.io/api/common/CurrencyPipe#parameters
95
+ 'symbol', numericOptions.currencySign);
96
+ // ^^^^^^ Result can't be null since the sanitized input is always a number.
97
+ break;
98
+ // The following is a catch-all to ensure that if
99
+ // anything but currency (or a future option) are entered,
100
+ // it will be treated like a number.
101
+ default:
102
+ // Ensures localization of the number to ensure comma and
103
+ // decimal separator
104
+ if (numericOptions.minDigits) {
105
+ digitsFormatted = `1.${numericOptions.minDigits}-${digits}`;
106
+ }
107
+ else if (numericOptions.truncate) {
108
+ digitsFormatted = `1.0-${digits}`;
109
+ }
110
+ else {
111
+ digitsFormatted = `1.${digits}-${digits}`;
112
+ }
113
+ output = SkyNumberFormatUtility.formatNumber(locale, parseFloat(output), SkyIntlNumberFormatStyle.Decimal, digitsFormatted);
114
+ // ^^^^^^ Result can't be null since the sanitized input is always a number.
115
+ break;
116
+ }
117
+ if (numericOptions.truncate) {
118
+ output = this.#replaceShortenSymbol(output);
119
+ }
120
+ return output;
121
+ }
122
+ /**
123
+ * Rounds a given number
124
+ *
125
+ * JS's limitation - numbers bigger than Number.MIN_SAFE_INTEGER or Number.MAX_SAFE_INTEGER
126
+ * are not guaranteed to be represented or rounded correctly
127
+ * @param value - value to round
128
+ * @param precision - what precision to round with, defaults to 0 decimal places
129
+ */
130
+ #roundNumber(value, precision) {
131
+ if (precision < 0) {
132
+ throw new Error('SkyInvalidArgument: precision must be >= 0');
133
+ }
134
+ /* Sanity check - ignoring coverage but should not ignore if we make this method public */
135
+ /* istanbul ignore next */
136
+ if (isNaN(value) || value === null) {
137
+ return 0;
138
+ }
139
+ const scaledValue = this.#scaleNumberByPowerOfTen(value, precision, true);
140
+ const scaledRoundedValue = Math.round(scaledValue);
141
+ const unscaledRoundedValue = this.#scaleNumberByPowerOfTen(scaledRoundedValue, precision, false);
142
+ return unscaledRoundedValue;
143
+ }
144
+ /**
145
+ * Scales a given number by a power of 10
146
+ * @param value - value to scale
147
+ * @param scalar - 10^scalar
148
+ * @param scaleUp - whether to increase or decrease the value
149
+ */
150
+ #scaleNumberByPowerOfTen(value, scalar, scaleUp) {
151
+ const valueStr = value.toString().toLowerCase();
152
+ const isExponentFormat = valueStr.includes('e');
153
+ if (isExponentFormat) {
154
+ const [base, exp] = valueStr.split('e');
155
+ const newExp = scaleUp ? Number(exp) + scalar : Number(exp) - scalar;
156
+ return Number(`${base}e${newExp}`);
157
+ }
158
+ else {
159
+ const e = scaleUp ? 'e' : 'e-';
160
+ return Number(`${value}${e}${scalar}`);
161
+ }
162
+ }
163
+ /**
164
+ * Stores the symbol added from shortening to reapply later.
165
+ * @param value The string to derive the shorten symbol from.
166
+ */
167
+ #storeShortenSymbol(value) {
168
+ const symbols = this.#symbolIndex.map((s) => s.label);
169
+ const regexp = new RegExp(symbols.join('|'), 'ig');
170
+ const match = value.match(regexp);
171
+ this.shortSymbol = match ? match.toString() : '';
172
+ }
173
+ /**
174
+ * Must have previously called storeShortenSymbol to have something to replace.
175
+ * Finds the last number in the formatted number, gets the index of the position
176
+ * after that character and re-inserts the symbol.
177
+ * Works regardless of currency symbol position.
178
+ * @param value The string to modify.
179
+ */
180
+ #replaceShortenSymbol(value) {
181
+ const result = /(\d)(?!.*\d)/g.exec(value);
182
+ /*istanbul ignore else*/
183
+ if (result) {
184
+ const pos = result.index + result.length;
185
+ const output = value.substring(0, pos) + this.shortSymbol + value.substring(pos);
186
+ return output;
187
+ }
188
+ else {
189
+ return value;
190
+ }
191
+ }
192
+ #getSymbol(key) {
193
+ // TODO: Need to implement the async `getString` method in a breaking change.
194
+ return this.#resourcesSvc.getStringForLocale({ locale: 'en_US' }, key);
195
+ }
196
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: SkyNumericService, deps: [{ token: i1.SkyLibResourcesService }], target: i0.ɵɵFactoryTarget.Injectable }); }
197
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: SkyNumericService, providedIn: 'any' }); }
198
+ }
199
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: SkyNumericService, decorators: [{
200
+ type: Injectable,
201
+ args: [{
202
+ providedIn: 'any',
203
+ }]
204
+ }], ctorParameters: function () { return [{ type: i1.SkyLibResourcesService }]; } });
205
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnVtZXJpYy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2NvcmUvc3JjL2xpYi9tb2R1bGVzL251bWVyaWMvbnVtZXJpYy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLHdCQUF3QixFQUEwQixNQUFNLGFBQWEsQ0FBQztBQUUvRSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSwrQ0FBK0MsQ0FBQzs7O0FBUXZGLE1BQU0sT0FBTyxpQkFBaUI7SUFZNUIsYUFBYSxDQUF5QjtJQUV0QyxZQUFZLENBQXFCO0lBRWpDLFlBQVksWUFBb0M7UUFmaEQ7OztXQUdHO1FBQ0ksa0JBQWEsR0FBRyxPQUFPLENBQUM7UUFFL0I7O1dBRUc7UUFDSSxnQkFBVyxHQUFHLEVBQUUsQ0FBQztRQU90QixJQUFJLENBQUMsYUFBYSxHQUFHLFlBQVksQ0FBQztRQUVsQyxJQUFJLENBQUMsWUFBWSxHQUFHO1lBQ2xCLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxnQ0FBZ0MsQ0FBQyxFQUFFO1lBQ3pFLEVBQUUsS0FBSyxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQywrQkFBK0IsQ0FBQyxFQUFFO1lBQ3ZFLEVBQUUsS0FBSyxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQywrQkFBK0IsQ0FBQyxFQUFFO1lBQ3ZFLEVBQUUsS0FBSyxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxnQ0FBZ0MsQ0FBQyxFQUFFO1NBQ3pFLENBQUM7SUFDSixDQUFDO0lBRUQ7Ozs7T0FJRztJQUNJLFlBQVksQ0FBQyxLQUFhLEVBQUUsT0FB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LGtCQUFrQixDQUFDLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRSxFQUFFLEdBQUcsQ0FBQyxDQUFDO0lBQ3pFLENBQUM7OEdBdFBVLGlCQUFpQjtrSEFBakIsaUJBQWlCLGNBRmhCLEtBQUs7OzJGQUVOLGlCQUFpQjtrQkFIN0IsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsS0FBSztpQkFDbEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTa3lJbnRsTnVtYmVyRm9ybWF0U3R5bGUsIFNreUxpYlJlc291cmNlc1NlcnZpY2UgfSBmcm9tICdAc2t5dXgvaTE4bic7XG5cbmltcG9ydCB7IFNreU51bWJlckZvcm1hdFV0aWxpdHkgfSBmcm9tICcuLi9zaGFyZWQvbnVtYmVyLWZvcm1hdC9udW1iZXItZm9ybWF0LXV0aWxpdHknO1xuXG5pbXBvcnQgeyBTa3lOdW1lcmljU3ltYm9sIH0gZnJvbSAnLi9udW1lcmljLXN5bWJvbCc7XG5pbXBvcnQgeyBTa3lOdW1lcmljT3B0aW9ucyB9IGZyb20gJy4vbnVtZXJpYy5vcHRpb25zJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAnYW55Jyxcbn0pXG5leHBvcnQgY2xhc3MgU2t5TnVtZXJpY1NlcnZpY2Uge1xuICAvKipcbiAgICogVGhlIGJyb3dzZXIncyBjdXJyZW50IGxvY2FsZS5cbiAgICogQGludGVybmFsXG4gICAqL1xuICBwdWJsaWMgY3VycmVudExvY2FsZSA9ICdlbi1VUyc7XG5cbiAgLyoqXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgcHVibGljIHNob3J0U3ltYm9sID0gJyc7XG5cbiAgI3Jlc291cmNlc1N2YzogU2t5TGliUmVzb3VyY2VzU2VydmljZTtcblxuICAjc3ltYm9sSW5kZXg6IFNreU51bWVyaWNTeW1ib2xbXTtcblxuICBjb25zdHJ1Y3RvcihyZXNvdXJjZXNTdmM6IFNreUxpYlJlc291cmNlc1NlcnZpY2UpIHtcbiAgICB0aGlzLiNyZXNvdXJjZXNTdmMgPSByZXNvdXJjZXNTdmM7XG5cbiAgICB0aGlzLiNzeW1ib2xJbmRleCA9IFtcbiAgICAgIHsgdmFsdWU6IDFlMTIsIGxhYmVsOiB0aGlzLiNnZXRTeW1ib2woJ3NreXV4X251bWVyaWNfdHJpbGxpb25zX3N5bWJvbCcpIH0sXG4gICAgICB7IHZhbHVlOiAxZTksIGxhYmVsOiB0aGlzLiNnZXRTeW1ib2woJ3NreXV4X251bWVyaWNfYmlsbGlvbnNfc3ltYm9sJykgfSxcbiAgICAgIHsgdmFsdWU6IDFlNiwgbGFiZWw6IHRoaXMuI2dldFN5bWJvbCgnc2t5dXhfbnVtZXJpY19taWxsaW9uc19zeW1ib2wnKSB9LFxuICAgICAgeyB2YWx1ZTogMWUzLCBsYWJlbDogdGhpcy4jZ2V0U3ltYm9sKCdza3l1eF9udW1lcmljX3Rob3VzYW5kc19zeW1ib2wnKSB9LFxuICAgIF07XG4gIH1cblxuICAvKipcbiAgICogRm9ybWF0cyBhIG51bWJlciBiYXNlZCBvbiB0aGUgcHJvdmlkZWQgb3B0aW9ucy5cbiAgICogQHBhcmFtIHZhbHVlIFRoZSBudW1iZXIgdG8gZm9ybWF0LlxuICAgKiBAcGFyYW0gb3B0aW9ucyBGb3JtYXQgb3B0aW9ucy5cbiAgICovXG4gIHB1YmxpYyBmb3JtYXROdW1iZXIodmFsdWU6IG51bWJlciwgb3B0aW9uczogU2t5TnVtZXJpY09wdGlvbnMpOiBzdHJpbmcge1xuICAgIGlmIChpc05hTih2YWx1ZSkgfHwgdmFsdWUgPT09IG51bGwpIHtcbiAgICAgIHJldHVybiAnJztcbiAgICB9XG5cbiAgICBjb25zdCBudW1lcmljT3B0aW9uczogU2t5TnVtZXJpY09wdGlvbnMgPSB7XG4gICAgICBkaWdpdHM6IDAsXG4gICAgICBmb3JtYXQ6ICdudW1iZXInLFxuICAgICAgY3VycmVuY3lTaWduOiAnc3RhbmRhcmQnLFxuICAgICAgaXNvOiAnVVNEJyxcbiAgICAgIHRydW5jYXRlQWZ0ZXI6IDEwMDAsXG4gICAgICAuLi5vcHRpb25zLFxuICAgIH07XG5cbiAgICBjb25zdCBkZWNpbWFsUGxhY2VSZWdFeHAgPSAvXFwuMCskfChcXC5bMC05XSpbMS05XSkwKyQvO1xuICAgIGNvbnN0IGxvY2FsZSA9IG51bWVyaWNPcHRpb25zLmxvY2FsZSB8fCB0aGlzLmN1cnJlbnRMb2NhbGU7XG4gICAgY29uc3QgZGlnaXRzID0gbnVtZXJpY09wdGlvbnMuZGlnaXRzIHx8IDA7XG5cbiAgICAvLyBHZXQgdGhlIHN5bWJvbCBmb3IgdGhlIG51bWJlciBhZnRlciByb3VuZGluZywgc2luY2Ugcm91bmRpbmcgY291bGQgcHVzaCB0aGUgbnVtYmVyXG4gICAgLy8gaW50byBhIGRpZmZlcmVudCBzeW1ib2wgcmFuZ2UuXG4gICAgbGV0IHJvdW5kZWROdW1iZXIgPSB0aGlzLiNyb3VuZE51bWJlcih2YWx1ZSwgZGlnaXRzKTtcbiAgICBjb25zdCByb3VuZGVkTnVtYmVyQWJzID0gTWF0aC5hYnMocm91bmRlZE51bWJlcik7XG5cbiAgICBsZXQgc3VmZml4ID0gJyc7XG5cbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IHRoaXMuI3N5bWJvbEluZGV4Lmxlbmd0aDsgaSsrKSB7XG4gICAgICBsZXQgc3ltYm9sID0gdGhpcy4jc3ltYm9sSW5kZXhbaV07XG5cbiAgICAgIGlmIChcbiAgICAgICAgbnVtZXJpY09wdGlvbnMudHJ1bmNhdGUgJiZcbiAgICAgICAgbnVtZXJpY09wdGlvbnMudHJ1bmNhdGVBZnRlciAhPT0gdW5kZWZpbmVkICYmXG4gICAgICAgIHJvdW5kZWROdW1iZXJBYnMgPj0gbnVtZXJpY09wdGlvbnMudHJ1bmNhdGVBZnRlciAmJlxuICAgICAgICByb3VuZGVkTnVtYmVyQWJzID49IHN5bWJvbC52YWx1ZVxuICAgICAgKSB7XG4gICAgICAgIHJvdW5kZWROdW1iZXIgPSB0aGlzLiNyb3VuZE51bWJlcih2YWx1ZSAvIHN5bWJvbC52YWx1ZSwgZGlnaXRzKTtcblxuICAgICAgICBpZiAoTWF0aC5hYnMocm91bmRlZE51bWJlcikgPT09IDEwMDAgJiYgaSA+IDApIHtcbiAgICAgICAgICAvLyBSb3VuZGluZyBjYXVzZWQgdGhlIG51bWJlciB0byBjcm9zcyBpbnRvIHRoZSByYW5nZSBvZiB0aGUgbmV4dCBzeW1ib2wuXG4gICAgICAgICAgc3ltYm9sID0gdGhpcy4jc3ltYm9sSW5kZXhbaSAtIDFdO1xuICAgICAgICAgIHJvdW5kZWROdW1iZXIgLz0gMTAwMDtcbiAgICAgICAgfVxuXG4gICAgICAgIHN1ZmZpeCA9IHN5bWJvbC5sYWJlbDtcblxuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICB9XG5cbiAgICBsZXQgb3V0cHV0OiBzdHJpbmcgPVxuICAgICAgcm91bmRlZE51bWJlci50b1N0cmluZygpLnJlcGxhY2UoZGVjaW1hbFBsYWNlUmVnRXhwLCAnJDEnKSArIHN1ZmZpeDtcblxuICAgIHRoaXMuI3N0b3JlU2hvcnRlblN5bWJvbChvdXRwdXQpO1xuXG4gICAgbGV0IGRpZ2l0c0Zvcm1hdHRlZDogc3RyaW5nIHwgdW5kZWZpbmVkO1xuICAgIGxldCBpc0RlY2ltYWwgPSBmYWxzZTtcblxuICAgIC8vIENoZWNrcyB0aGUgc3RyaW5nIGVudGVyZWQgZm9yIGZvcm1hdC4gVXNpbmcgdG9Mb3dlckNhc2UgdG8gaWdub3JlIGNhc2UuXG4gICAgc3dpdGNoIChudW1lcmljT3B0aW9ucy5mb3JtYXQ/LnRvTG93ZXJDYXNlKCkpIHtcbiAgICAgIC8vIEluIGEgY2FzZSB3aGVyZSBhIGRlY2ltYWwgdmFsdWUgd2FzIG5vdCBzaG9ydGVuZWQgYW5kXG4gICAgICAvLyB0aGUgZGlnaXQgaW5wdXQgaXMgMiBvciBoaWdoZXIsIGl0IGZvcmNlcyAyIGRpZ2l0cy5cbiAgICAgIC8vIEZvciBleGFtcGxlLCB0aGlzIHByZXZlbnRzIGEgdmFsdWUgbGlrZSAkMTUuNTAgZnJvbSBkaXNwbGF5aW5nIGFzICQxNS41LlxuICAgICAgLy8gTm90ZTogVGhpcyB3aWxsIG5lZWQgdG8gYmUgcmV2aWV3ZWQgaWYgd2Ugc3VwcG9ydCBjdXJyZW5jaWVzIHdpdGhcbiAgICAgIC8vIHRocmVlIGRlY2ltYWwgZGlnaXRzLlxuICAgICAgY2FzZSAnY3VycmVuY3knOlxuICAgICAgICBpc0RlY2ltYWwgPSB2YWx1ZSAlIDEgIT09IDA7XG5cbiAgICAgICAgaWYgKG51bWVyaWNPcHRpb25zLm1pbkRpZ2l0cykge1xuICAgICAgICAgIGRpZ2l0c0Zvcm1hdHRlZCA9IGAxLiR7bnVtZXJpY09wdGlvbnMubWluRGlnaXRzfS0ke2RpZ2l0c31gO1xuICAgICAgICB9IGVsc2UgaWYgKGlzRGVjaW1hbCAmJiBkaWdpdHMgPj0gMikge1xuICAgICAgICAgIGRpZ2l0c0Zvcm1hdHRlZCA9IGAxLjItJHtkaWdpdHN9YDtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBkaWdpdHNGb3JtYXR0ZWQgPSBgMS4wLSR7ZGlnaXRzfWA7XG4gICAgICAgIH1cblxuICAgICAgICBvdXRwdXQgPSBTa3lOdW1iZXJGb3JtYXRVdGlsaXR5LmZvcm1hdE51bWJlcihcbiAgICAgICAgICBsb2NhbGUsXG4gICAgICAgICAgcGFyc2VGbG9hdChvdXRwdXQpLFxuICAgICAgICAgIFNreUludGxOdW1iZXJGb3JtYXRTdHlsZS5DdXJyZW5jeSxcbiAgICAgICAgICBkaWdpdHNGb3JtYXR0ZWQsXG4gICAgICAgICAgbnVtZXJpY09wdGlvbnMuaXNvLFxuICAgICAgICAgIC8vIEFuZ3VsYXIgNSsgbmVlZHMgYSBzdHJpbmcgZm9yIHRoaXMgcGFyYW1ldGVyLCBidXQgQW5ndWxhciA0IG5lZWRzIGEgYm9vbGVhbi5cbiAgICAgICAgICAvLyBUbyBzdXBwb3J0IGJvdGggdmVyc2lvbnMgd2UgY2FuIHN1cHBseSAnc3ltYm9sJyB3aGljaCB3aWxsIGV2YWx1YXRlIHRydXRoeSBmb3IgQW5ndWxhciA0XG4gICAgICAgICAgLy8gYW5kIHRoZSBhcHByb3ByaWF0ZSBzdHJpbmcgdmFsdWUgZm9yIEFuZ3VsYXIgNSsuXG4gICAgICAgICAgLy8gU2VlOiBodHRwczovL2FuZ3VsYXIuaW8vYXBpL2NvbW1vbi9DdXJyZW5jeVBpcGUjcGFyYW1ldGVyc1xuICAgICAgICAgICdzeW1ib2wnIGFzIGFueSxcbiAgICAgICAgICBudW1lcmljT3B0aW9ucy5jdXJyZW5jeVNpZ25cbiAgICAgICAgKSBhcyBzdHJpbmc7XG4gICAgICAgIC8vICAgXl5eXl5eIFJlc3VsdCBjYW4ndCBiZSBudWxsIHNpbmNlIHRoZSBzYW5pdGl6ZWQgaW5wdXQgaXMgYWx3YXlzIGEgbnVtYmVyLlxuICAgICAgICBicmVhaztcblxuICAgICAgLy8gVGhlIGZvbGxvd2luZyBpcyBhIGNhdGNoLWFsbCB0byBlbnN1cmUgdGhhdCBpZlxuICAgICAgLy8gYW55dGhpbmcgYnV0IGN1cnJlbmN5IChvciBhIGZ1dHVyZSBvcHRpb24pIGFyZSBlbnRlcmVkLFxuICAgICAgLy8gaXQgd2lsbCBiZSB0cmVhdGVkIGxpa2UgYSBudW1iZXIuXG4gICAgICBkZWZhdWx0OlxuICAgICAgICAvLyBFbnN1cmVzIGxvY2FsaXphdGlvbiBvZiB0aGUgbnVtYmVyIHRvIGVuc3VyZSBjb21tYSBhbmRcbiAgICAgICAgLy8gZGVjaW1hbCBzZXBhcmF0b3JcbiAgICAgICAgaWYgKG51bWVyaWNPcHRpb25zLm1pbkRpZ2l0cykge1xuICAgICAgICAgIGRpZ2l0c0Zvcm1hdHRlZCA9IGAxLiR7bnVtZXJpY09wdGlvbnMubWluRGlnaXRzfS0ke2RpZ2l0c31gO1xuICAgICAgICB9IGVsc2UgaWYgKG51bWVyaWNPcHRpb25zLnRydW5jYXRlKSB7XG4gICAgICAgICAgZGlnaXRzRm9ybWF0dGVkID0gYDEuMC0ke2RpZ2l0c31gO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGRpZ2l0c0Zvcm1hdHRlZCA9IGAxLiR7ZGlnaXRzfS0ke2RpZ2l0c31gO1xuICAgICAgICB9XG5cbiAgICAgICAgb3V0cHV0ID0gU2t5TnVtYmVyRm9ybWF0VXRpbGl0eS5mb3JtYXROdW1iZXIoXG4gICAgICAgICAgbG9jYWxlLFxuICAgICAgICAgIHBhcnNlRmxvYXQob3V0cHV0KSxcbiAgICAgICAgICBTa3lJbnRsTnVtYmVyRm9ybWF0U3R5bGUuRGVjaW1hbCxcbiAgICAgICAgICBkaWdpdHNGb3JtYXR0ZWRcbiAgICAgICAgKSBhcyBzdHJpbmc7XG4gICAgICAgIC8vICAgXl5eXl5eIFJlc3VsdCBjYW4ndCBiZSBudWxsIHNpbmNlIHRoZSBzYW5pdGl6ZWQgaW5wdXQgaXMgYWx3YXlzIGEgbnVtYmVyLlxuICAgICAgICBicmVhaztcbiAgICB9XG5cbiAgICBpZiAobnVtZXJpY09wdGlvbnMudHJ1bmNhdGUpIHtcbiAgICAgIG91dHB1dCA9IHRoaXMuI3JlcGxhY2VTaG9ydGVuU3ltYm9sKG91dHB1dCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIG91dHB1dDtcbiAgfVxuXG4gIC8qKlxuICAgKiBSb3VuZHMgYSBnaXZlbiBudW1iZXJcbiAgICpcbiAgICogSlMncyBsaW1pdGF0aW9uIC0gbnVtYmVycyBiaWdnZXIgdGhhbiBOdW1iZXIuTUlOX1NBRkVfSU5URUdFUiBvciBOdW1iZXIuTUFYX1NBRkVfSU5URUdFUlxuICAgKiBhcmUgbm90IGd1YXJhbnRlZWQgdG8gYmUgcmVwcmVzZW50ZWQgb3Igcm91bmRlZCBjb3JyZWN0bHlcbiAgICogQHBhcmFtIHZhbHVlIC0gdmFsdWUgdG8gcm91bmRcbiAgICogQHBhcmFtIHByZWNpc2lvbiAtIHdoYXQgcHJlY2lzaW9uIHRvIHJvdW5kIHdpdGgsIGRlZmF1bHRzIHRvIDAgZGVjaW1hbCBwbGFjZXNcbiAgICovXG4gICNyb3VuZE51bWJlcih2YWx1ZTogbnVtYmVyLCBwcmVjaXNpb246IG51bWJlcik6IG51bWJlciB7XG4gICAgaWYgKHByZWNpc2lvbiA8IDApIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignU2t5SW52YWxpZEFyZ3VtZW50OiBwcmVjaXNpb24gbXVzdCBiZSA+PSAwJyk7XG4gICAgfVxuXG4gICAgLyogU2FuaXR5IGNoZWNrIC0gaWdub3JpbmcgY292ZXJhZ2UgYnV0IHNob3VsZCBub3QgaWdub3JlIGlmIHdlIG1ha2UgdGhpcyBtZXRob2QgcHVibGljICovXG4gICAgLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cbiAgICBpZiAoaXNOYU4odmFsdWUpIHx8IHZhbHVlID09PSBudWxsKSB7XG4gICAgICByZXR1cm4gMDtcbiAgICB9XG5cbiAgICBjb25zdCBzY2FsZWRWYWx1ZTogbnVtYmVyID0gdGhpcy4jc2NhbGVOdW1iZXJCeVBvd2VyT2ZUZW4oXG4gICAgICB2YWx1ZSxcbiAgICAgIHByZWNpc2lvbixcbiAgICAgIHRydWVcbiAgICApO1xuICAgIGNvbnN0IHNjYWxlZFJvdW5kZWRWYWx1ZTogbnVtYmVyID0gTWF0aC5yb3VuZChzY2FsZWRWYWx1ZSk7XG4gICAgY29uc3QgdW5zY2FsZWRSb3VuZGVkVmFsdWU6IG51bWJlciA9IHRoaXMuI3NjYWxlTnVtYmVyQnlQb3dlck9mVGVuKFxuICAgICAgc2NhbGVkUm91bmRlZFZhbHVlLFxuICAgICAgcHJlY2lzaW9uLFxuICAgICAgZmFsc2VcbiAgICApO1xuXG4gICAgcmV0dXJuIHVuc2NhbGVkUm91bmRlZFZhbHVlO1xuICB9XG5cbiAgLyoqXG4gICAqIFNjYWxlcyBhIGdpdmVuIG51bWJlciBieSBhIHBvd2VyIG9mIDEwXG4gICAqIEBwYXJhbSB2YWx1ZSAtIHZhbHVlIHRvIHNjYWxlXG4gICAqIEBwYXJhbSBzY2FsYXIgLSAxMF5zY2FsYXJcbiAgICogQHBhcmFtIHNjYWxlVXAgLSB3aGV0aGVyIHRvIGluY3JlYXNlIG9yIGRlY3JlYXNlIHRoZSB2YWx1ZVxuICAgKi9cbiAgI3NjYWxlTnVtYmVyQnlQb3dlck9mVGVuKFxuICAgIHZhbHVlOiBudW1iZXIsXG4gICAgc2NhbGFyOiBudW1iZXIsXG4gICAgc2NhbGVVcDogYm9vbGVhblxuICApOiBudW1iZXIge1xuICAgIGNvbnN0IHZhbHVlU3RyOiBzdHJpbmcgPSB2YWx1ZS50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7XG4gICAgY29uc3QgaXNFeHBvbmVudEZvcm1hdDogYm9vbGVhbiA9IHZhbHVlU3RyLmluY2x1ZGVzKCdlJyk7XG5cbiAgICBpZiAoaXNFeHBvbmVudEZvcm1hdCkge1xuICAgICAgY29uc3QgW2Jhc2UsIGV4cF0gPSB2YWx1ZVN0ci5zcGxpdCgnZScpO1xuICAgICAgY29uc3QgbmV3RXhwID0gc2NhbGVVcCA/IE51bWJlcihleHApICsgc2NhbGFyIDogTnVtYmVyKGV4cCkgLSBzY2FsYXI7XG4gICAgICByZXR1cm4gTnVtYmVyKGAke2Jhc2V9ZSR7bmV3RXhwfWApO1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCBlID0gc2NhbGVVcCA/ICdlJyA6ICdlLSc7XG4gICAgICByZXR1cm4gTnVtYmVyKGAke3ZhbHVlfSR7ZX0ke3NjYWxhcn1gKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogU3RvcmVzIHRoZSBzeW1ib2wgYWRkZWQgZnJvbSBzaG9ydGVuaW5nIHRvIHJlYXBwbHkgbGF0ZXIuXG4gICAqIEBwYXJhbSB2YWx1ZSBUaGUgc3RyaW5nIHRvIGRlcml2ZSB0aGUgc2hvcnRlbiBzeW1ib2wgZnJvbS5cbiAgICovXG4gICNzdG9yZVNob3J0ZW5TeW1ib2wodmFsdWU6IHN0cmluZyk6IHZvaWQge1xuICAgIGNvbnN0IHN5bWJvbHM6IHN0cmluZ1tdID0gdGhpcy4jc3ltYm9sSW5kZXgubWFwKChzKSA9PiBzLmxhYmVsKTtcbiAgICBjb25zdCByZWdleHAgPSBuZXcgUmVnRXhwKHN5bWJvbHMuam9pbignfCcpLCAnaWcnKTtcbiAgICBjb25zdCBtYXRjaCA9IHZhbHVlLm1hdGNoKHJlZ2V4cCk7XG4gICAgdGhpcy5zaG9ydFN5bWJvbCA9IG1hdGNoID8gbWF0Y2gudG9TdHJpbmcoKSA6ICcnO1xuICB9XG5cbiAgLyoqXG4gICAqIE11c3QgaGF2ZSBwcmV2aW91c2x5IGNhbGxlZCBzdG9yZVNob3J0ZW5TeW1ib2wgdG8gaGF2ZSBzb21ldGhpbmcgdG8gcmVwbGFjZS5cbiAgICogRmluZHMgdGhlIGxhc3QgbnVtYmVyIGluIHRoZSBmb3JtYXR0ZWQgbnVtYmVyLCBnZXRzIHRoZSBpbmRleCBvZiB0aGUgcG9zaXRpb25cbiAgICogYWZ0ZXIgdGhhdCBjaGFyYWN0ZXIgYW5kIHJlLWluc2VydHMgdGhlIHN5bWJvbC5cbiAgICogV29ya3MgcmVnYXJkbGVzcyBvZiBjdXJyZW5jeSBzeW1ib2wgcG9zaXRpb24uXG4gICAqIEBwYXJhbSB2YWx1ZSBUaGUgc3RyaW5nIHRvIG1vZGlmeS5cbiAgICovXG4gICNyZXBsYWNlU2hvcnRlblN5bWJvbCh2YWx1ZTogc3RyaW5nKTogc3RyaW5nIHtcbiAgICBjb25zdCByZXN1bHQgPSAvKFxcZCkoPyEuKlxcZCkvZy5leGVjKHZhbHVlKTtcbiAgICAvKmlzdGFuYnVsIGlnbm9yZSBlbHNlKi9cbiAgICBpZiAocmVzdWx0KSB7XG4gICAgICBjb25zdCBwb3MgPSByZXN1bHQuaW5kZXggKyByZXN1bHQubGVuZ3RoO1xuICAgICAgY29uc3Qgb3V0cHV0ID1cbiAgICAgICAgdmFsdWUuc3Vic3RyaW5nKDAsIHBvcykgKyB0aGlzLnNob3J0U3ltYm9sICsgdmFsdWUuc3Vic3RyaW5nKHBvcyk7XG5cbiAgICAgIHJldHVybiBvdXRwdXQ7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiB2YWx1ZTtcbiAgICB9XG4gIH1cblxuICAjZ2V0U3ltYm9sKGtleTogc3RyaW5nKTogc3RyaW5nIHtcbiAgICAvLyBUT0RPOiBOZWVkIHRvIGltcGxlbWVudCB0aGUgYXN5bmMgYGdldFN0cmluZ2AgbWV0aG9kIGluIGEgYnJlYWtpbmcgY2hhbmdlLlxuICAgIHJldHVybiB0aGlzLiNyZXNvdXJjZXNTdmMuZ2V0U3RyaW5nRm9yTG9jYWxlKHsgbG9jYWxlOiAnZW5fVVMnIH0sIGtleSk7XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,44 @@
1
+ import { Injectable } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ /**
4
+ * @internal
5
+ */
6
+ export class SkyOverlayAdapterService {
7
+ #renderer;
8
+ #styleElement;
9
+ constructor(rendererFactory) {
10
+ this.#renderer = rendererFactory.createRenderer(undefined, null);
11
+ }
12
+ restrictBodyScroll() {
13
+ // Create a style element to avoid overwriting any existing inline body styles.
14
+ const styleElement = this.#renderer.createElement('style');
15
+ const textNode = this.#renderer.createText('body { overflow: hidden }');
16
+ // Apply a `data-` attribute to make unit testing easier.
17
+ this.#renderer.setAttribute(styleElement, 'data-test-selector', 'sky-overlay-restrict-scroll-styles');
18
+ this.#renderer.appendChild(styleElement, textNode);
19
+ this.#renderer.appendChild(document.head, styleElement);
20
+ if (this.#styleElement) {
21
+ this.#destroyStyleElement();
22
+ }
23
+ this.#styleElement = styleElement;
24
+ }
25
+ releaseBodyScroll() {
26
+ this.#destroyStyleElement();
27
+ }
28
+ #destroyStyleElement() {
29
+ /* istanbul ignore else */
30
+ if (this.#styleElement &&
31
+ this.#styleElement.parentElement === document.head) {
32
+ this.#renderer.removeChild(document.head, this.#styleElement);
33
+ }
34
+ }
35
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: SkyOverlayAdapterService, deps: [{ token: i0.RendererFactory2 }], target: i0.ɵɵFactoryTarget.Injectable }); }
36
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: SkyOverlayAdapterService, providedIn: 'root' }); }
37
+ }
38
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: SkyOverlayAdapterService, decorators: [{
39
+ type: Injectable,
40
+ args: [{
41
+ providedIn: 'root',
42
+ }]
43
+ }], ctorParameters: function () { return [{ type: i0.RendererFactory2 }]; } });
44
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3ZlcmxheS1hZGFwdGVyLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvY29yZS9zcmMvbGliL21vZHVsZXMvb3ZlcmxheS9vdmVybGF5LWFkYXB0ZXIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUErQixNQUFNLGVBQWUsQ0FBQzs7QUFFeEU7O0dBRUc7QUFJSCxNQUFNLE9BQU8sd0JBQXdCO0lBQ25DLFNBQVMsQ0FBWTtJQUVyQixhQUFhLENBQStCO0lBRTVDLFlBQVksZUFBaUM7UUFDM0MsSUFBSSxDQUFDLFNBQVMsR0FBRyxlQUFlLENBQUMsY0FBYyxDQUFDLFNBQVMsRUFBRSxJQUFJLENBQUMsQ0FBQztJQUNuRSxDQUFDO0lBRU0sa0JBQWtCO1FBQ3ZCLCtFQUErRTtRQUMvRSxNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUMzRCxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLFVBQVUsQ0FBQywyQkFBMkIsQ0FBQyxDQUFDO1FBRXhFLHlEQUF5RDtRQUN6RCxJQUFJLENBQUMsU0FBUyxDQUFDLFlBQVksQ0FDekIsWUFBWSxFQUNaLG9CQUFvQixFQUNwQixvQ0FBb0MsQ0FDckMsQ0FBQztRQUVGLElBQUksQ0FBQyxTQUFTLENBQUMsV0FBVyxDQUFDLFlBQVksRUFBRSxRQUFRLENBQUMsQ0FBQztRQUNuRCxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLFlBQVksQ0FBQyxDQUFDO1FBRXhELElBQUksSUFBSSxDQUFDLGFBQWEsRUFBRTtZQUN0QixJQUFJLENBQUMsb0JBQW9CLEVBQUUsQ0FBQztTQUM3QjtRQUVELElBQUksQ0FBQyxhQUFhLEdBQUcsWUFBWSxDQUFDO0lBQ3BDLENBQUM7SUFFTSxpQkFBaUI7UUFDdEIsSUFBSSxDQUFDLG9CQUFvQixFQUFFLENBQUM7SUFDOUIsQ0FBQztJQUVELG9CQUFvQjtRQUNsQiwwQkFBMEI7UUFDMUIsSUFDRSxJQUFJLENBQUMsYUFBYTtZQUNsQixJQUFJLENBQUMsYUFBYSxDQUFDLGFBQWEsS0FBSyxRQUFRLENBQUMsSUFBSSxFQUNsRDtZQUNBLElBQUksQ0FBQyxTQUFTLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1NBQy9EO0lBQ0gsQ0FBQzs4R0EzQ1Usd0JBQXdCO2tIQUF4Qix3QkFBd0IsY0FGdkIsTUFBTTs7MkZBRVAsd0JBQXdCO2tCQUhwQyxVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIFJlbmRlcmVyMiwgUmVuZGVyZXJGYWN0b3J5MiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG4vKipcbiAqIEBpbnRlcm5hbFxuICovXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgU2t5T3ZlcmxheUFkYXB0ZXJTZXJ2aWNlIHtcbiAgI3JlbmRlcmVyOiBSZW5kZXJlcjI7XG5cbiAgI3N0eWxlRWxlbWVudDogSFRNTFN0eWxlRWxlbWVudCB8IHVuZGVmaW5lZDtcblxuICBjb25zdHJ1Y3RvcihyZW5kZXJlckZhY3Rvcnk6IFJlbmRlcmVyRmFjdG9yeTIpIHtcbiAgICB0aGlzLiNyZW5kZXJlciA9IHJlbmRlcmVyRmFjdG9yeS5jcmVhdGVSZW5kZXJlcih1bmRlZmluZWQsIG51bGwpO1xuICB9XG5cbiAgcHVibGljIHJlc3RyaWN0Qm9keVNjcm9sbCgpOiB2b2lkIHtcbiAgICAvLyBDcmVhdGUgYSBzdHlsZSBlbGVtZW50IHRvIGF2b2lkIG92ZXJ3cml0aW5nIGFueSBleGlzdGluZyBpbmxpbmUgYm9keSBzdHlsZXMuXG4gICAgY29uc3Qgc3R5bGVFbGVtZW50ID0gdGhpcy4jcmVuZGVyZXIuY3JlYXRlRWxlbWVudCgnc3R5bGUnKTtcbiAgICBjb25zdCB0ZXh0Tm9kZSA9IHRoaXMuI3JlbmRlcmVyLmNyZWF0ZVRleHQoJ2JvZHkgeyBvdmVyZmxvdzogaGlkZGVuIH0nKTtcblxuICAgIC8vIEFwcGx5IGEgYGRhdGEtYCBhdHRyaWJ1dGUgdG8gbWFrZSB1bml0IHRlc3RpbmcgZWFzaWVyLlxuICAgIHRoaXMuI3JlbmRlcmVyLnNldEF0dHJpYnV0ZShcbiAgICAgIHN0eWxlRWxlbWVudCxcbiAgICAgICdkYXRhLXRlc3Qtc2VsZWN0b3InLFxuICAgICAgJ3NreS1vdmVybGF5LXJlc3RyaWN0LXNjcm9sbC1zdHlsZXMnXG4gICAgKTtcblxuICAgIHRoaXMuI3JlbmRlcmVyLmFwcGVuZENoaWxkKHN0eWxlRWxlbWVudCwgdGV4dE5vZGUpO1xuICAgIHRoaXMuI3JlbmRlcmVyLmFwcGVuZENoaWxkKGRvY3VtZW50LmhlYWQsIHN0eWxlRWxlbWVudCk7XG5cbiAgICBpZiAodGhpcy4jc3R5bGVFbGVtZW50KSB7XG4gICAgICB0aGlzLiNkZXN0cm95U3R5bGVFbGVtZW50KCk7XG4gICAgfVxuXG4gICAgdGhpcy4jc3R5bGVFbGVtZW50ID0gc3R5bGVFbGVtZW50O1xuICB9XG5cbiAgcHVibGljIHJlbGVhc2VCb2R5U2Nyb2xsKCk6IHZvaWQge1xuICAgIHRoaXMuI2Rlc3Ryb3lTdHlsZUVsZW1lbnQoKTtcbiAgfVxuXG4gICNkZXN0cm95U3R5bGVFbGVtZW50KCk6IHZvaWQge1xuICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBlbHNlICovXG4gICAgaWYgKFxuICAgICAgdGhpcy4jc3R5bGVFbGVtZW50ICYmXG4gICAgICB0aGlzLiNzdHlsZUVsZW1lbnQucGFyZW50RWxlbWVudCA9PT0gZG9jdW1lbnQuaGVhZFxuICAgICkge1xuICAgICAgdGhpcy4jcmVuZGVyZXIucmVtb3ZlQ2hpbGQoZG9jdW1lbnQuaGVhZCwgdGhpcy4jc3R5bGVFbGVtZW50KTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,62 @@
1
+ import { Subject } from 'rxjs';
2
+ /**
3
+ * Represents a new overlay instance. It is used to manage the "closed" state of the overlay,
4
+ * and access any public members on the appended content component instance.
5
+ */
6
+ export class SkyOverlayInstance {
7
+ /**
8
+ * Emits when the overlay is clicked (but not its content).
9
+ */
10
+ get backdropClick() {
11
+ return this.#backdropClickObs;
12
+ }
13
+ /**
14
+ * Emits after the overlay is closed.
15
+ */
16
+ get closed() {
17
+ return this.#closedObs;
18
+ }
19
+ #backdropClick;
20
+ #backdropClickObs;
21
+ #closed;
22
+ #closedObs;
23
+ constructor(
24
+ /**
25
+ * The configuration for the overlay.
26
+ */
27
+ config, componentRef) {
28
+ this.config = config;
29
+ this.componentRef = componentRef;
30
+ this.id = this.componentRef.instance.id;
31
+ this.componentRef.instance.closed.subscribe(() => {
32
+ this.#closed.next();
33
+ this.#closed.complete();
34
+ this.#backdropClick.complete();
35
+ });
36
+ this.componentRef.instance.backdropClick.subscribe(() => {
37
+ this.#backdropClick.next();
38
+ });
39
+ this.#backdropClick = new Subject();
40
+ this.#closed = new Subject();
41
+ this.#backdropClickObs = this.#backdropClick.asObservable();
42
+ this.#closedObs = this.#closed.asObservable();
43
+ }
44
+ /**
45
+ * Creates and attaches a component to the overlay.
46
+ * @param component The component to attach.
47
+ * @param providers Custom providers to apply to the component.
48
+ */
49
+ attachComponent(component, providers) {
50
+ const componentRef = this.componentRef.instance.attachComponent(component, providers);
51
+ return componentRef.instance;
52
+ }
53
+ /**
54
+ * Attaches a `TemplateRef` to the overlay.
55
+ * @param templateRef The `TemplateRef` to attach.
56
+ * @param context The context to provide to the template.
57
+ */
58
+ attachTemplate(templateRef, context) {
59
+ this.componentRef.instance.attachTemplate(templateRef, context);
60
+ }
61
+ }
62
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3ZlcmxheS1pbnN0YW5jZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9jb3JlL3NyYy9saWIvbW9kdWxlcy9vdmVybGF5L292ZXJsYXktaW5zdGFuY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFjLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUszQzs7O0dBR0c7QUFDSCxNQUFNLE9BQU8sa0JBQWtCO0lBQzdCOztPQUVHO0lBQ0gsSUFBVyxhQUFhO1FBQ3RCLE9BQU8sSUFBSSxDQUFDLGlCQUFpQixDQUFDO0lBQ2hDLENBQUM7SUFFRDs7T0FFRztJQUNILElBQVcsTUFBTTtRQUNmLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQztJQUN6QixDQUFDO0lBSUQsY0FBYyxDQUFnQjtJQUU5QixpQkFBaUIsQ0FBbUI7SUFFcEMsT0FBTyxDQUFnQjtJQUV2QixVQUFVLENBQW1CO0lBRTdCO0lBQ0U7O09BRUc7SUFDYSxNQUF3QixFQUN4QixZQUErQztRQUQvQyxXQUFNLEdBQU4sTUFBTSxDQUFrQjtRQUN4QixpQkFBWSxHQUFaLFlBQVksQ0FBbUM7UUFFL0QsSUFBSSxDQUFDLEVBQUUsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUM7UUFFeEMsSUFBSSxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUU7WUFDL0MsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUNwQixJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ3hCLElBQUksQ0FBQyxjQUFjLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDakMsQ0FBQyxDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRTtZQUN0RCxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksRUFBRSxDQUFDO1FBQzdCLENBQUMsQ0FBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLE9BQU8sRUFBUSxDQUFDO1FBQzFDLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztRQUVuQyxJQUFJLENBQUMsaUJBQWlCLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUM1RCxJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDaEQsQ0FBQztJQUVEOzs7O09BSUc7SUFDSSxlQUFlLENBQ3BCLFNBQWtCLEVBQ2xCLFNBQTRCO1FBRTVCLE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLGVBQWUsQ0FDN0QsU0FBUyxFQUNULFNBQVMsQ0FDVixDQUFDO1FBQ0YsT0FBTyxZQUFZLENBQUMsUUFBUSxDQUFDO0lBQy9CLENBQUM7SUFFRDs7OztPQUlHO0lBQ0ksY0FBYyxDQUFJLFdBQTJCLEVBQUUsT0FBVztRQUMvRCxJQUFJLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxjQUFjLENBQUMsV0FBVyxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQ2xFLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudFJlZiwgU3RhdGljUHJvdmlkZXIsIFRlbXBsYXRlUmVmLCBUeXBlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IE9ic2VydmFibGUsIFN1YmplY3QgfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgU2t5T3ZlcmxheUNvbmZpZyB9IGZyb20gJy4vb3ZlcmxheS1jb25maWcnO1xuaW1wb3J0IHsgU2t5T3ZlcmxheUNvbXBvbmVudCB9IGZyb20gJy4vb3ZlcmxheS5jb21wb25lbnQnO1xuXG4vKipcbiAqIFJlcHJlc2VudHMgYSBuZXcgb3ZlcmxheSBpbnN0YW5jZS4gSXQgaXMgdXNlZCB0byBtYW5hZ2UgdGhlIFwiY2xvc2VkXCIgc3RhdGUgb2YgdGhlIG92ZXJsYXksXG4gKiBhbmQgYWNjZXNzIGFueSBwdWJsaWMgbWVtYmVycyBvbiB0aGUgYXBwZW5kZWQgY29udGVudCBjb21wb25lbnQgaW5zdGFuY2UuXG4gKi9cbmV4cG9ydCBjbGFzcyBTa3lPdmVybGF5SW5zdGFuY2Uge1xuICAvKipcbiAgICogRW1pdHMgd2hlbiB0aGUgb3ZlcmxheSBpcyBjbGlja2VkIChidXQgbm90IGl0cyBjb250ZW50KS5cbiAgICovXG4gIHB1YmxpYyBnZXQgYmFja2Ryb3BDbGljaygpOiBPYnNlcnZhYmxlPHZvaWQ+IHtcbiAgICByZXR1cm4gdGhpcy4jYmFja2Ryb3BDbGlja09icztcbiAgfVxuXG4gIC8qKlxuICAgKiBFbWl0cyBhZnRlciB0aGUgb3ZlcmxheSBpcyBjbG9zZWQuXG4gICAqL1xuICBwdWJsaWMgZ2V0IGNsb3NlZCgpOiBPYnNlcnZhYmxlPHZvaWQ+IHtcbiAgICByZXR1cm4gdGhpcy4jY2xvc2VkT2JzO1xuICB9XG5cbiAgcHVibGljIGlkOiBzdHJpbmc7XG5cbiAgI2JhY2tkcm9wQ2xpY2s6IFN1YmplY3Q8dm9pZD47XG5cbiAgI2JhY2tkcm9wQ2xpY2tPYnM6IE9ic2VydmFibGU8dm9pZD47XG5cbiAgI2Nsb3NlZDogU3ViamVjdDx2b2lkPjtcblxuICAjY2xvc2VkT2JzOiBPYnNlcnZhYmxlPHZvaWQ+O1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIC8qKlxuICAgICAqIFRoZSBjb25maWd1cmF0aW9uIGZvciB0aGUgb3ZlcmxheS5cbiAgICAgKi9cbiAgICBwdWJsaWMgcmVhZG9ubHkgY29uZmlnOiBTa3lPdmVybGF5Q29uZmlnLFxuICAgIHB1YmxpYyByZWFkb25seSBjb21wb25lbnRSZWY6IENvbXBvbmVudFJlZjxTa3lPdmVybGF5Q29tcG9uZW50PlxuICApIHtcbiAgICB0aGlzLmlkID0gdGhpcy5jb21wb25lbnRSZWYuaW5zdGFuY2UuaWQ7XG5cbiAgICB0aGlzLmNvbXBvbmVudFJlZi5pbnN0YW5jZS5jbG9zZWQuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgIHRoaXMuI2Nsb3NlZC5uZXh0KCk7XG4gICAgICB0aGlzLiNjbG9zZWQuY29tcGxldGUoKTtcbiAgICAgIHRoaXMuI2JhY2tkcm9wQ2xpY2suY29tcGxldGUoKTtcbiAgICB9KTtcblxuICAgIHRoaXMuY29tcG9uZW50UmVmLmluc3RhbmNlLmJhY2tkcm9wQ2xpY2suc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgIHRoaXMuI2JhY2tkcm9wQ2xpY2submV4dCgpO1xuICAgIH0pO1xuXG4gICAgdGhpcy4jYmFja2Ryb3BDbGljayA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG4gICAgdGhpcy4jY2xvc2VkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICAgIHRoaXMuI2JhY2tkcm9wQ2xpY2tPYnMgPSB0aGlzLiNiYWNrZHJvcENsaWNrLmFzT2JzZXJ2YWJsZSgpO1xuICAgIHRoaXMuI2Nsb3NlZE9icyA9IHRoaXMuI2Nsb3NlZC5hc09ic2VydmFibGUoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGVzIGFuZCBhdHRhY2hlcyBhIGNvbXBvbmVudCB0byB0aGUgb3ZlcmxheS5cbiAgICogQHBhcmFtIGNvbXBvbmVudCBUaGUgY29tcG9uZW50IHRvIGF0dGFjaC5cbiAgICogQHBhcmFtIHByb3ZpZGVycyBDdXN0b20gcHJvdmlkZXJzIHRvIGFwcGx5IHRvIHRoZSBjb21wb25lbnQuXG4gICAqL1xuICBwdWJsaWMgYXR0YWNoQ29tcG9uZW50PEM+KFxuICAgIGNvbXBvbmVudDogVHlwZTxDPixcbiAgICBwcm92aWRlcnM/OiBTdGF0aWNQcm92aWRlcltdXG4gICk6IEMge1xuICAgIGNvbnN0IGNvbXBvbmVudFJlZiA9IHRoaXMuY29tcG9uZW50UmVmLmluc3RhbmNlLmF0dGFjaENvbXBvbmVudChcbiAgICAgIGNvbXBvbmVudCxcbiAgICAgIHByb3ZpZGVyc1xuICAgICk7XG4gICAgcmV0dXJuIGNvbXBvbmVudFJlZi5pbnN0YW5jZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBdHRhY2hlcyBhIGBUZW1wbGF0ZVJlZmAgdG8gdGhlIG92ZXJsYXkuXG4gICAqIEBwYXJhbSB0ZW1wbGF0ZVJlZiBUaGUgYFRlbXBsYXRlUmVmYCB0byBhdHRhY2guXG4gICAqIEBwYXJhbSBjb250ZXh0IFRoZSBjb250ZXh0IHRvIHByb3ZpZGUgdG8gdGhlIHRlbXBsYXRlLlxuICAgKi9cbiAgcHVibGljIGF0dGFjaFRlbXBsYXRlPFQ+KHRlbXBsYXRlUmVmOiBUZW1wbGF0ZVJlZjxUPiwgY29udGV4dD86IFQpOiB2b2lkIHtcbiAgICB0aGlzLmNvbXBvbmVudFJlZi5pbnN0YW5jZS5hdHRhY2hUZW1wbGF0ZSh0ZW1wbGF0ZVJlZiwgY29udGV4dCk7XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,193 @@
1
+ import { ChangeDetectionStrategy, Component, ElementRef, HostBinding, Injector, Optional, ViewChild, ViewContainerRef, } from '@angular/core';
2
+ import { NavigationStart } from '@angular/router';
3
+ import { BehaviorSubject, ReplaySubject, Subject, fromEvent, } from 'rxjs';
4
+ import { takeUntil } from 'rxjs/operators';
5
+ import { SKY_STACKING_CONTEXT } from '../stacking-context/stacking-context-token';
6
+ import * as i0 from "@angular/core";
7
+ import * as i1 from "../adapter-service/adapter.service";
8
+ import * as i2 from "./overlay-context";
9
+ import * as i3 from "../id/id.service";
10
+ import * as i4 from "@angular/router";
11
+ import * as i5 from "@angular/common";
12
+ const POSITION_DEFAULT = 'fixed';
13
+ /**
14
+ * Omnibar is 1000.
15
+ * See: https://github.com/blackbaud/auth-client/blob/master/src/omnibar/omnibar.ts#L139
16
+ * ---
17
+ * Modals start their z-indexes at 1040. However, each modal's z-index is a multiple of 10, so it
18
+ * will be difficult to reliably predict a z-index that will always appear above all other
19
+ * layers. Starting the z-index for overlays at a number much greater than modals will accommodate
20
+ * the most reasonable of scenarios.
21
+ * See: https://github.com/blackbaud/skyux-modals/blob/master/src/app/public/modules/modal/modal-host.service.ts#L22
22
+ * (NOTE: It should be noted that modals do not use the overlay service, which is something we
23
+ * should do in the near future to make sure z-indexes are predictable across all component
24
+ * libraries.)
25
+ */
26
+ let uniqueZIndex = 5000;
27
+ /**
28
+ * @internal
29
+ */
30
+ export class SkyOverlayComponent {
31
+ get backdropClick() {
32
+ return this.#backdropClickObs;
33
+ }
34
+ get closed() {
35
+ return this.#closedObs;
36
+ }
37
+ #backdropClick;
38
+ #backdropClickObs;
39
+ #changeDetector;
40
+ #closed;
41
+ #closedObs;
42
+ #context;
43
+ #coreAdapter;
44
+ #injector;
45
+ #ngUnsubscribe;
46
+ #router;
47
+ #routerSubscription;
48
+ constructor(changeDetector, injector, coreAdapter, context, idSvc, router) {
49
+ this.wrapperClass = '';
50
+ this.enablePointerEvents = false;
51
+ this.showBackdrop = false;
52
+ this.zIndex = `${++uniqueZIndex}`;
53
+ this.clipPath$ = new ReplaySubject(1);
54
+ this.position = POSITION_DEFAULT;
55
+ this.#ngUnsubscribe = new Subject();
56
+ this.#changeDetector = changeDetector;
57
+ this.#injector = injector;
58
+ this.#coreAdapter = coreAdapter;
59
+ this.#context = context;
60
+ this.#router = router;
61
+ this.id = idSvc.generateId();
62
+ this.#backdropClick = new Subject();
63
+ this.#closed = new Subject();
64
+ this.#backdropClickObs = this.#backdropClick.asObservable();
65
+ this.#closedObs = this.#closed.asObservable();
66
+ }
67
+ ngOnInit() {
68
+ this.#applyConfig(this.#context.config);
69
+ setTimeout(() => {
70
+ this.#addBackdropClickListener();
71
+ });
72
+ if (this.#context.config.closeOnNavigation) {
73
+ this.#addRouteListener();
74
+ }
75
+ }
76
+ ngOnDestroy() {
77
+ this.#removeRouteListener();
78
+ this.#ngUnsubscribe.next();
79
+ this.#ngUnsubscribe.complete();
80
+ this.#backdropClick.complete();
81
+ this.#closed.next();
82
+ this.#closed.complete();
83
+ }
84
+ attachComponent(component, providers = []) {
85
+ /*istanbul ignore if: untestable*/
86
+ if (!this.targetRef) {
87
+ throw new Error('[SkyOverlayComponent] Could not attach the component because the target element could not be found.');
88
+ }
89
+ this.targetRef.clear();
90
+ const injector = Injector.create({
91
+ providers: [
92
+ {
93
+ provide: SKY_STACKING_CONTEXT,
94
+ useValue: {
95
+ zIndex: new BehaviorSubject(parseInt(this.zIndex, 10))
96
+ .asObservable()
97
+ .pipe(takeUntil(this.#ngUnsubscribe)),
98
+ },
99
+ },
100
+ ...providers,
101
+ ],
102
+ parent: this.#injector,
103
+ });
104
+ const componentRef = this.targetRef.createComponent(component, {
105
+ injector,
106
+ });
107
+ // Run an initial change detection cycle after the component has been created.
108
+ componentRef.changeDetectorRef.detectChanges();
109
+ return componentRef;
110
+ }
111
+ attachTemplate(templateRef, context) {
112
+ /*istanbul ignore if: untestable*/
113
+ if (!this.targetRef) {
114
+ throw new Error('[SkyOverlayComponent] Could not attach the template because the target element could not be found.');
115
+ }
116
+ this.targetRef.clear();
117
+ return this.targetRef.createEmbeddedView(templateRef, context);
118
+ }
119
+ updateClipPath(clipPath) {
120
+ this.clipPath$.next(clipPath);
121
+ }
122
+ #applyConfig(config) {
123
+ this.wrapperClass = config.wrapperClass || '';
124
+ this.showBackdrop = !!config.showBackdrop;
125
+ this.enablePointerEvents = !!config.enablePointerEvents;
126
+ this.position = config.position || POSITION_DEFAULT;
127
+ this.#changeDetector.markForCheck();
128
+ }
129
+ #addBackdropClickListener() {
130
+ fromEvent(window.document, 'click')
131
+ .pipe(takeUntil(this.#ngUnsubscribe))
132
+ .subscribe((event) => {
133
+ if (event.target && this.overlayContentRef && this.overlayRef) {
134
+ const isChild = this.overlayContentRef.nativeElement.contains(event.target);
135
+ const isAbove = this.#coreAdapter.isTargetAboveElement(event.target, this.overlayRef.nativeElement);
136
+ /* istanbul ignore else */
137
+ if (!isChild && !isAbove) {
138
+ this.#backdropClick.next();
139
+ if (this.#context.config.enableClose) {
140
+ this.#closed.next();
141
+ }
142
+ }
143
+ }
144
+ });
145
+ }
146
+ #addRouteListener() {
147
+ /*istanbul ignore else*/
148
+ if (this.#router) {
149
+ this.#routerSubscription = this.#router.events.subscribe((event) => {
150
+ /* istanbul ignore else */
151
+ if (event instanceof NavigationStart) {
152
+ this.#closed.next();
153
+ }
154
+ });
155
+ }
156
+ }
157
+ #removeRouteListener() {
158
+ if (this.#routerSubscription) {
159
+ this.#routerSubscription.unsubscribe();
160
+ this.#routerSubscription = undefined;
161
+ }
162
+ }
163
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: SkyOverlayComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.Injector }, { token: i1.SkyCoreAdapterService }, { token: i2.SkyOverlayContext }, { token: i3.SkyIdService }, { token: i4.Router, optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
164
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.7", type: SkyOverlayComponent, selector: "sky-overlay", host: { properties: { "id": "this.id" } }, viewQueries: [{ propertyName: "overlayContentRef", first: true, predicate: ["overlayContentRef"], descendants: true, read: ElementRef, static: true }, { propertyName: "overlayRef", first: true, predicate: ["overlayRef"], descendants: true, read: ElementRef, static: true }, { propertyName: "targetRef", first: true, predicate: ["target"], descendants: true, read: ViewContainerRef, static: true }], ngImport: i0, template: "<div\n [class]=\"'sky-overlay-position-' + position + ' ' + wrapperClass\"\n [style.z-index]=\"zIndex\"\n [style.clip-path]=\"clipPath$ | async\"\n [ngClass]=\"{\n 'enable-pointer-events-pass-through': enablePointerEvents,\n 'sky-overlay': true\n }\"\n #overlayRef\n>\n <div class=\"sky-overlay-content\" #overlayContentRef>\n <ng-template #target> </ng-template>\n </div>\n <div *ngIf=\"showBackdrop\" class=\"sky-overlay-backdrop\"></div>\n</div>\n", styles: [".sky-overlay{inset:0;width:100%;height:100%;display:flex;pointer-events:auto}.sky-overlay-position-absolute{position:absolute}.sky-overlay-position-fixed{position:fixed}.sky-overlay-content{position:relative;z-index:1;display:inline-flex;align-self:start;pointer-events:auto}.sky-overlay-backdrop{background:rgba(0,0,0,.5);inset:0;width:100%;height:100%;position:absolute}.enable-pointer-events-pass-through,.enable-pointer-events-pass-through .sky-overlay-backdrop{pointer-events:none}.enable-pointer-events-pass-through .sky-overlay-content{pointer-events:auto}\n"], dependencies: [{ kind: "directive", type: i5.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i5.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
165
+ }
166
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: SkyOverlayComponent, decorators: [{
167
+ type: Component,
168
+ args: [{ selector: 'sky-overlay', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div\n [class]=\"'sky-overlay-position-' + position + ' ' + wrapperClass\"\n [style.z-index]=\"zIndex\"\n [style.clip-path]=\"clipPath$ | async\"\n [ngClass]=\"{\n 'enable-pointer-events-pass-through': enablePointerEvents,\n 'sky-overlay': true\n }\"\n #overlayRef\n>\n <div class=\"sky-overlay-content\" #overlayContentRef>\n <ng-template #target> </ng-template>\n </div>\n <div *ngIf=\"showBackdrop\" class=\"sky-overlay-backdrop\"></div>\n</div>\n", styles: [".sky-overlay{inset:0;width:100%;height:100%;display:flex;pointer-events:auto}.sky-overlay-position-absolute{position:absolute}.sky-overlay-position-fixed{position:fixed}.sky-overlay-content{position:relative;z-index:1;display:inline-flex;align-self:start;pointer-events:auto}.sky-overlay-backdrop{background:rgba(0,0,0,.5);inset:0;width:100%;height:100%;position:absolute}.enable-pointer-events-pass-through,.enable-pointer-events-pass-through .sky-overlay-backdrop{pointer-events:none}.enable-pointer-events-pass-through .sky-overlay-content{pointer-events:auto}\n"] }]
169
+ }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.Injector }, { type: i1.SkyCoreAdapterService }, { type: i2.SkyOverlayContext }, { type: i3.SkyIdService }, { type: i4.Router, decorators: [{
170
+ type: Optional
171
+ }] }]; }, propDecorators: { id: [{
172
+ type: HostBinding,
173
+ args: ['id']
174
+ }], overlayContentRef: [{
175
+ type: ViewChild,
176
+ args: ['overlayContentRef', {
177
+ read: ElementRef,
178
+ static: true,
179
+ }]
180
+ }], overlayRef: [{
181
+ type: ViewChild,
182
+ args: ['overlayRef', {
183
+ read: ElementRef,
184
+ static: true,
185
+ }]
186
+ }], targetRef: [{
187
+ type: ViewChild,
188
+ args: ['target', {
189
+ read: ViewContainerRef,
190
+ static: true,
191
+ }]
192
+ }] } });
193
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3ZlcmxheS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvY29yZS9zcmMvbGliL21vZHVsZXMvb3ZlcmxheS9vdmVybGF5LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9jb3JlL3NyYy9saWIvbW9kdWxlcy9vdmVybGF5L292ZXJsYXkuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUV2QixTQUFTLEVBRVQsVUFBVSxFQUVWLFdBQVcsRUFDWCxRQUFRLEVBR1IsUUFBUSxFQUlSLFNBQVMsRUFDVCxnQkFBZ0IsR0FDakIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGVBQWUsRUFBVSxNQUFNLGlCQUFpQixDQUFDO0FBRTFELE9BQU8sRUFDTCxlQUFlLEVBRWYsYUFBYSxFQUNiLE9BQU8sRUFFUCxTQUFTLEdBQ1YsTUFBTSxNQUFNLENBQUM7QUFDZCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFJM0MsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sNENBQTRDLENBQUM7Ozs7Ozs7QUFNbEYsTUFBTSxnQkFBZ0IsR0FBdUIsT0FBTyxDQUFDO0FBRXJEOzs7Ozs7Ozs7Ozs7R0FZRztBQUNILElBQUksWUFBWSxHQUFHLElBQUksQ0FBQztBQUV4Qjs7R0FFRztBQU9ILE1BQU0sT0FBTyxtQkFBbUI7SUFHOUIsSUFBVyxhQUFhO1FBQ3RCLE9BQU8sSUFBSSxDQUFDLGlCQUFpQixDQUFDO0lBQ2hDLENBQUM7SUFFRCxJQUFXLE1BQU07UUFDZixPQUFPLElBQUksQ0FBQyxVQUFVLENBQUM7SUFDekIsQ0FBQztJQWlDRCxjQUFjLENBQWdCO0lBRTlCLGlCQUFpQixDQUFtQjtJQUVwQyxlQUFlLENBQW9CO0lBRW5DLE9BQU8sQ0FBZ0I7SUFFdkIsVUFBVSxDQUFtQjtJQUU3QixRQUFRLENBQW9CO0lBRTVCLFlBQVksQ0FBd0I7SUFFcEMsU0FBUyxDQUFXO0lBRXBCLGNBQWMsQ0FBdUI7SUFFckMsT0FBTyxDQUFxQjtJQUU1QixtQkFBbUIsQ0FBMkI7SUFFOUMsWUFDRSxjQUFpQyxFQUNqQyxRQUFrQixFQUNsQixXQUFrQyxFQUNsQyxPQUEwQixFQUMxQixLQUFtQixFQUNQLE1BQWU7UUFyRXRCLGlCQUFZLEdBQUcsRUFBRSxDQUFDO1FBVWxCLHdCQUFtQixHQUFHLEtBQUssQ0FBQztRQUs1QixpQkFBWSxHQUFHLEtBQUssQ0FBQztRQUVyQixXQUFNLEdBQUcsR0FBRyxFQUFFLFlBQVksRUFBRSxDQUFDO1FBRTFCLGNBQVMsR0FBRyxJQUFJLGFBQWEsQ0FBcUIsQ0FBQyxDQUFDLENBQUM7UUFFckQsYUFBUSxHQUFHLGdCQUFnQixDQUFDO1FBb0N0QyxtQkFBYyxHQUFHLElBQUksT0FBTyxFQUFRLENBQUM7UUFjbkMsSUFBSSxDQUFDLGVBQWUsR0FBRyxjQUFjLENBQUM7UUFDdEMsSUFBSSxDQUFDLFNBQVMsR0FBRyxRQUFRLENBQUM7UUFDMUIsSUFBSSxDQUFDLFlBQVksR0FBRyxXQUFXLENBQUM7UUFDaEMsSUFBSSxDQUFDLFFBQVEsR0FBRyxPQUFPLENBQUM7UUFDeEIsSUFBSSxDQUFDLE9BQU8sR0FBRyxNQUFNLENBQUM7UUFFdEIsSUFBSSxDQUFDLEVBQUUsR0FBRyxLQUFLLENBQUMsVUFBVSxFQUFFLENBQUM7UUFFN0IsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLE9BQU8sRUFBUSxDQUFDO1FBQzFDLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztRQUVuQyxJQUFJLENBQUMsaUJBQWlCLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUM1RCxJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDaEQsQ0FBQztJQUVNLFFBQVE7UUFDYixJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUM7UUFFeEMsVUFBVSxDQUFDLEdBQUcsRUFBRTtZQUNkLElBQUksQ0FBQyx5QkFBeUIsRUFBRSxDQUFDO1FBQ25DLENBQUMsQ0FBQyxDQUFDO1FBRUgsSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxpQkFBaUIsRUFBRTtZQUMxQyxJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztTQUMxQjtJQUNILENBQUM7SUFFTSxXQUFXO1FBQ2hCLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxDQUFDO1FBQzVCLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDM0IsSUFBSSxDQUFDLGNBQWMsQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUUvQixJQUFJLENBQUMsY0FBYyxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBRS9CLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDcEIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUMxQixDQUFDO0lBRU0sZUFBZSxDQUNwQixTQUFrQixFQUNsQixZQUE4QixFQUFFO1FBRWhDLGtDQUFrQztRQUNsQyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRTtZQUNuQixNQUFNLElBQUksS0FBSyxDQUNiLHFHQUFxRyxDQUN0RyxDQUFDO1NBQ0g7UUFFRCxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssRUFBRSxDQUFDO1FBRXZCLE1BQU0sUUFBUSxHQUFHLFFBQVEsQ0FBQyxNQUFNLENBQUM7WUFDL0IsU0FBUyxFQUFFO2dCQUNUO29CQUNFLE9BQU8sRUFBRSxvQkFBb0I7b0JBQzdCLFFBQVEsRUFBRTt3QkFDUixNQUFNLEVBQUUsSUFBSSxlQUFlLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLENBQUM7NkJBQ25ELFlBQVksRUFBRTs2QkFDZCxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQztxQkFDeEM7aUJBQ0Y7Z0JBQ0QsR0FBRyxTQUFTO2FBQ2I7WUFDRCxNQUFNLEVBQUUsSUFBSSxDQUFDLFNBQVM7U0FDdkIsQ0FBQyxDQUFDO1FBRUgsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxlQUFlLENBQUksU0FBUyxFQUFFO1lBQ2hFLFFBQVE7U0FDVCxDQUFDLENBQUM7UUFFSCw4RUFBOEU7UUFDOUUsWUFBWSxDQUFDLGlCQUFpQixDQUFDLGFBQWEsRUFBRSxDQUFDO1FBRS9DLE9BQU8sWUFBWSxDQUFDO0lBQ3RCLENBQUM7SUFFTSxjQUFjLENBQ25CLFdBQTJCLEVBQzNCLE9BQVU7UUFFVixrQ0FBa0M7UUFDbEMsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUU7WUFDbkIsTUFBTSxJQUFJLEtBQUssQ0FDYixvR0FBb0csQ0FDckcsQ0FBQztTQUNIO1FBRUQsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUV2QixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsa0JBQWtCLENBQUMsV0FBVyxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQ2pFLENBQUM7SUFFTSxjQUFjLENBQUMsUUFBNEI7UUFDaEQsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDaEMsQ0FBQztJQUVELFlBQVksQ0FBQyxNQUF3QjtRQUNuQyxJQUFJLENBQUMsWUFBWSxHQUFHLE1BQU0sQ0FBQyxZQUFZLElBQUksRUFBRSxDQUFDO1FBQzlDLElBQUksQ0FBQyxZQUFZLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUM7UUFDMUMsSUFBSSxDQUFDLG1CQUFtQixHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUMsbUJBQW1CLENBQUM7UUFDeEQsSUFBSSxDQUFDLFFBQVEsR0FBRyxNQUFNLENBQUMsUUFBUSxJQUFJLGdCQUFnQixDQUFDO1FBQ3BELElBQUksQ0FBQyxlQUFlLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDdEMsQ0FBQztJQUVELHlCQUF5QjtRQUN2QixTQUFTLENBQWEsTUFBTSxDQUFDLFFBQVEsRUFBRSxPQUFPLENBQUM7YUFDNUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7YUFDcEMsU0FBUyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUU7WUFDbkIsSUFBSSxLQUFLLENBQUMsTUFBTSxJQUFJLElBQUksQ0FBQyxpQkFBaUIsSUFBSSxJQUFJLENBQUMsVUFBVSxFQUFFO2dCQUM3RCxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FDM0QsS0FBSyxDQUFDLE1BQU0sQ0FDYixDQUFDO2dCQUVGLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsb0JBQW9CLENBQ3BELEtBQUssQ0FBQyxNQUFNLEVBQ1osSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQzlCLENBQUM7Z0JBRUYsMEJBQTBCO2dCQUMxQixJQUFJLENBQUMsT0FBTyxJQUFJLENBQUMsT0FBTyxFQUFFO29CQUN4QixJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksRUFBRSxDQUFDO29CQUMzQixJQUFJLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLFdBQVcsRUFBRTt3QkFDcEMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsQ0FBQztxQkFDckI7aUJBQ0Y7YUFDRjtRQUNILENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVELGlCQUFpQjtRQUNmLHdCQUF3QjtRQUN4QixJQUFJLElBQUksQ0FBQyxPQUFPLEVBQUU7WUFDaEIsSUFBSSxDQUFDLG1CQUFtQixHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFO2dCQUNqRSwwQkFBMEI7Z0JBQzFCLElBQUksS0FBSyxZQUFZLGVBQWUsRUFBRTtvQkFDcEMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsQ0FBQztpQkFDckI7WUFDSCxDQUFDLENBQUMsQ0FBQztTQUNKO0lBQ0gsQ0FBQztJQUVELG9CQUFvQjtRQUNsQixJQUFJLElBQUksQ0FBQyxtQkFBbUIsRUFBRTtZQUM1QixJQUFJLENBQUMsbUJBQW1CLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDdkMsSUFBSSxDQUFDLG1CQUFtQixHQUFHLFNBQVMsQ0FBQztTQUN0QztJQUNILENBQUM7OEdBMU5VLG1CQUFtQjtrR0FBbkIsbUJBQW1CLGlNQXlCdEIsVUFBVSxpSEFNVixVQUFVLDRHQU1WLGdCQUFnQiwyQ0NyRzFCLHNkQWVBOzsyRkRpRGEsbUJBQW1CO2tCQU4vQixTQUFTOytCQUNFLGFBQWEsbUJBR04sdUJBQXVCLENBQUMsTUFBTTs7MEJBd0U1QyxRQUFROzRDQXhESixFQUFFO3NCQURSLFdBQVc7dUJBQUMsSUFBSTtnQkFlVixpQkFBaUI7c0JBSnZCLFNBQVM7dUJBQUMsbUJBQW1CLEVBQUU7d0JBQzlCLElBQUksRUFBRSxVQUFVO3dCQUNoQixNQUFNLEVBQUUsSUFBSTtxQkFDYjtnQkFPTSxVQUFVO3NCQUpoQixTQUFTO3VCQUFDLFlBQVksRUFBRTt3QkFDdkIsSUFBSSxFQUFFLFVBQVU7d0JBQ2hCLE1BQU0sRUFBRSxJQUFJO3FCQUNiO2dCQU9NLFNBQVM7c0JBSmYsU0FBUzt1QkFBQyxRQUFRLEVBQUU7d0JBQ25CLElBQUksRUFBRSxnQkFBZ0I7d0JBQ3RCLE1BQU0sRUFBRSxJQUFJO3FCQUNiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIENvbXBvbmVudFJlZixcbiAgRWxlbWVudFJlZixcbiAgRW1iZWRkZWRWaWV3UmVmLFxuICBIb3N0QmluZGluZyxcbiAgSW5qZWN0b3IsXG4gIE9uRGVzdHJveSxcbiAgT25Jbml0LFxuICBPcHRpb25hbCxcbiAgU3RhdGljUHJvdmlkZXIsXG4gIFRlbXBsYXRlUmVmLFxuICBUeXBlLFxuICBWaWV3Q2hpbGQsXG4gIFZpZXdDb250YWluZXJSZWYsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTmF2aWdhdGlvblN0YXJ0LCBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuXG5pbXBvcnQge1xuICBCZWhhdmlvclN1YmplY3QsXG4gIE9ic2VydmFibGUsXG4gIFJlcGxheVN1YmplY3QsXG4gIFN1YmplY3QsXG4gIFN1YnNjcmlwdGlvbixcbiAgZnJvbUV2ZW50LFxufSBmcm9tICdyeGpzJztcbmltcG9ydCB7IHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHsgU2t5Q29yZUFkYXB0ZXJTZXJ2aWNlIH0gZnJvbSAnLi4vYWRhcHRlci1zZXJ2aWNlL2FkYXB0ZXIuc2VydmljZSc7XG5pbXBvcnQgeyBTa3lJZFNlcnZpY2UgfSBmcm9tICcuLi9pZC9pZC5zZXJ2aWNlJztcbmltcG9ydCB7IFNLWV9TVEFDS0lOR19DT05URVhUIH0gZnJvbSAnLi4vc3RhY2tpbmctY29udGV4dC9zdGFja2luZy1jb250ZXh0LXRva2VuJztcblxuaW1wb3J0IHsgU2t5T3ZlcmxheUNvbmZpZyB9IGZyb20gJy4vb3ZlcmxheS1jb25maWcnO1xuaW1wb3J0IHsgU2t5T3ZlcmxheUNvbnRleHQgfSBmcm9tICcuL292ZXJsYXktY29udGV4dCc7XG5pbXBvcnQgeyBTa3lPdmVybGF5UG9zaXRpb24gfSBmcm9tICcuL292ZXJsYXktcG9zaXRpb24nO1xuXG5jb25zdCBQT1NJVElPTl9ERUZBVUxUOiBTa3lPdmVybGF5UG9zaXRpb24gPSAnZml4ZWQnO1xuXG4vKipcbiAqIE9tbmliYXIgaXMgMTAwMC5cbiAqIFNlZTogaHR0cHM6Ly9naXRodWIuY29tL2JsYWNrYmF1ZC9hdXRoLWNsaWVudC9ibG9iL21hc3Rlci9zcmMvb21uaWJhci9vbW5pYmFyLnRzI0wxMzlcbiAqIC0tLVxuICogTW9kYWxzIHN0YXJ0IHRoZWlyIHotaW5kZXhlcyBhdCAxMDQwLiBIb3dldmVyLCBlYWNoIG1vZGFsJ3Mgei1pbmRleCBpcyBhIG11bHRpcGxlIG9mIDEwLCBzbyBpdFxuICogd2lsbCBiZSBkaWZmaWN1bHQgdG8gcmVsaWFibHkgcHJlZGljdCBhIHotaW5kZXggdGhhdCB3aWxsIGFsd2F5cyBhcHBlYXIgYWJvdmUgYWxsIG90aGVyXG4gKiBsYXllcnMuIFN0YXJ0aW5nIHRoZSB6LWluZGV4IGZvciBvdmVybGF5cyBhdCBhIG51bWJlciBtdWNoIGdyZWF0ZXIgdGhhbiBtb2RhbHMgd2lsbCBhY2NvbW1vZGF0ZVxuICogdGhlIG1vc3QgcmVhc29uYWJsZSBvZiBzY2VuYXJpb3MuXG4gKiBTZWU6IGh0dHBzOi8vZ2l0aHViLmNvbS9ibGFja2JhdWQvc2t5dXgtbW9kYWxzL2Jsb2IvbWFzdGVyL3NyYy9hcHAvcHVibGljL21vZHVsZXMvbW9kYWwvbW9kYWwtaG9zdC5zZXJ2aWNlLnRzI0wyMlxuICogKE5PVEU6IEl0IHNob3VsZCBiZSBub3RlZCB0aGF0IG1vZGFscyBkbyBub3QgdXNlIHRoZSBvdmVybGF5IHNlcnZpY2UsIHdoaWNoIGlzIHNvbWV0aGluZyB3ZVxuICogc2hvdWxkIGRvIGluIHRoZSBuZWFyIGZ1dHVyZSB0byBtYWtlIHN1cmUgei1pbmRleGVzIGFyZSBwcmVkaWN0YWJsZSBhY3Jvc3MgYWxsIGNvbXBvbmVudFxuICogbGlicmFyaWVzLilcbiAqL1xubGV0IHVuaXF1ZVpJbmRleCA9IDUwMDA7XG5cbi8qKlxuICogQGludGVybmFsXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NreS1vdmVybGF5JyxcbiAgdGVtcGxhdGVVcmw6ICcuL292ZXJsYXkuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9vdmVybGF5LmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBTa3lPdmVybGF5Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICBwdWJsaWMgd3JhcHBlckNsYXNzID0gJyc7XG5cbiAgcHVibGljIGdldCBiYWNrZHJvcENsaWNrKCk6IE9ic2VydmFibGU8dm9pZD4ge1xuICAgIHJldHVybiB0aGlzLiNiYWNrZHJvcENsaWNrT2JzO1xuICB9XG5cbiAgcHVibGljIGdldCBjbG9zZWQoKTogT2JzZXJ2YWJsZTx2b2lkPiB7XG4gICAgcmV0dXJuIHRoaXMuI2Nsb3NlZE9icztcbiAgfVxuXG4gIHB1YmxpYyBlbmFibGVQb2ludGVyRXZlbnRzID0gZmFsc2U7XG5cbiAgQEhvc3RCaW5kaW5nKCdpZCcpXG4gIHB1YmxpYyBpZDogc3RyaW5nO1xuXG4gIHB1YmxpYyBzaG93QmFja2Ryb3AgPSBmYWxzZTtcblxuICBwdWJsaWMgekluZGV4ID0gYCR7Kyt1bmlxdWVaSW5kZXh9YDtcblxuICBwcm90ZWN0ZWQgY2xpcFBhdGgkID0gbmV3IFJlcGxheVN1YmplY3Q8c3RyaW5nIHwgdW5kZWZpbmVkPigxKTtcblxuICBwcm90ZWN0ZWQgcG9zaXRpb24gPSBQT1NJVElPTl9ERUZBVUxUO1xuXG4gIEBWaWV3Q2hpbGQoJ292ZXJsYXlDb250ZW50UmVmJywge1xuICAgIHJlYWQ6IEVsZW1lbnRSZWYsXG4gICAgc3RhdGljOiB0cnVlLFxuICB9KVxuICBwdWJsaWMgb3ZlcmxheUNvbnRlbnRSZWY6IEVsZW1lbnRSZWYgfCB1bmRlZmluZWQ7XG5cbiAgQFZpZXdDaGlsZCgnb3ZlcmxheVJlZicsIHtcbiAgICByZWFkOiBFbGVtZW50UmVmLFxuICAgIHN0YXRpYzogdHJ1ZSxcbiAgfSlcbiAgcHVibGljIG92ZXJsYXlSZWY6IEVsZW1lbnRSZWYgfCB1bmRlZmluZWQ7XG5cbiAgQFZpZXdDaGlsZCgndGFyZ2V0Jywge1xuICAgIHJlYWQ6IFZpZXdDb250YWluZXJSZWYsXG4gICAgc3RhdGljOiB0cnVlLFxuICB9KVxuICBwdWJsaWMgdGFyZ2V0UmVmOiBWaWV3Q29udGFpbmVyUmVmIHwgdW5kZWZpbmVkO1xuXG4gICNiYWNrZHJvcENsaWNrOiBTdWJqZWN0PHZvaWQ+O1xuXG4gICNiYWNrZHJvcENsaWNrT2JzOiBPYnNlcnZhYmxlPHZvaWQ+O1xuXG4gICNjaGFuZ2VEZXRlY3RvcjogQ2hhbmdlRGV0ZWN0b3JSZWY7XG5cbiAgI2Nsb3NlZDogU3ViamVjdDx2b2lkPjtcblxuICAjY2xvc2VkT2JzOiBPYnNlcnZhYmxlPHZvaWQ+O1xuXG4gICNjb250ZXh0OiBTa3lPdmVybGF5Q29udGV4dDtcblxuICAjY29yZUFkYXB0ZXI6IFNreUNvcmVBZGFwdGVyU2VydmljZTtcblxuICAjaW5qZWN0b3I6IEluamVjdG9yO1xuXG4gICNuZ1Vuc3Vic2NyaWJlID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICAjcm91dGVyOiBSb3V0ZXIgfCB1bmRlZmluZWQ7XG5cbiAgI3JvdXRlclN1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uIHwgdW5kZWZpbmVkO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIGNoYW5nZURldGVjdG9yOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBpbmplY3RvcjogSW5qZWN0b3IsXG4gICAgY29yZUFkYXB0ZXI6IFNreUNvcmVBZGFwdGVyU2VydmljZSxcbiAgICBjb250ZXh0OiBTa3lPdmVybGF5Q29udGV4dCxcbiAgICBpZFN2YzogU2t5SWRTZXJ2aWNlLFxuICAgIEBPcHRpb25hbCgpIHJvdXRlcj86IFJvdXRlclxuICApIHtcbiAgICB0aGlzLiNjaGFuZ2VEZXRlY3RvciA9IGNoYW5nZURldGVjdG9yO1xuICAgIHRoaXMuI2luamVjdG9yID0gaW5qZWN0b3I7XG4gICAgdGhpcy4jY29yZUFkYXB0ZXIgPSBjb3JlQWRhcHRlcjtcbiAgICB0aGlzLiNjb250ZXh0ID0gY29udGV4dDtcbiAgICB0aGlzLiNyb3V0ZXIgPSByb3V0ZXI7XG5cbiAgICB0aGlzLmlkID0gaWRTdmMuZ2VuZXJhdGVJZCgpO1xuXG4gICAgdGhpcy4jYmFja2Ryb3BDbGljayA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG4gICAgdGhpcy4jY2xvc2VkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICAgIHRoaXMuI2JhY2tkcm9wQ2xpY2tPYnMgPSB0aGlzLiNiYWNrZHJvcENsaWNrLmFzT2JzZXJ2YWJsZSgpO1xuICAgIHRoaXMuI2Nsb3NlZE9icyA9IHRoaXMuI2Nsb3NlZC5hc09ic2VydmFibGUoKTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLiNhcHBseUNvbmZpZyh0aGlzLiNjb250ZXh0LmNvbmZpZyk7XG5cbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIHRoaXMuI2FkZEJhY2tkcm9wQ2xpY2tMaXN0ZW5lcigpO1xuICAgIH0pO1xuXG4gICAgaWYgKHRoaXMuI2NvbnRleHQuY29uZmlnLmNsb3NlT25OYXZpZ2F0aW9uKSB7XG4gICAgICB0aGlzLiNhZGRSb3V0ZUxpc3RlbmVyKCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuI3JlbW92ZVJvdXRlTGlzdGVuZXIoKTtcbiAgICB0aGlzLiNuZ1Vuc3Vic2NyaWJlLm5leHQoKTtcbiAgICB0aGlzLiNuZ1Vuc3Vic2NyaWJlLmNvbXBsZXRlKCk7XG5cbiAgICB0aGlzLiNiYWNrZHJvcENsaWNrLmNvbXBsZXRlKCk7XG5cbiAgICB0aGlzLiNjbG9zZWQubmV4dCgpO1xuICAgIHRoaXMuI2Nsb3NlZC5jb21wbGV0ZSgpO1xuICB9XG5cbiAgcHVibGljIGF0dGFjaENvbXBvbmVudDxDPihcbiAgICBjb21wb25lbnQ6IFR5cGU8Qz4sXG4gICAgcHJvdmlkZXJzOiBTdGF0aWNQcm92aWRlcltdID0gW11cbiAgKTogQ29tcG9uZW50UmVmPEM+IHtcbiAgICAvKmlzdGFuYnVsIGlnbm9yZSBpZjogdW50ZXN0YWJsZSovXG4gICAgaWYgKCF0aGlzLnRhcmdldFJlZikge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICAnW1NreU92ZXJsYXlDb21wb25lbnRdIENvdWxkIG5vdCBhdHRhY2ggdGhlIGNvbXBvbmVudCBiZWNhdXNlIHRoZSB0YXJnZXQgZWxlbWVudCBjb3VsZCBub3QgYmUgZm91bmQuJ1xuICAgICAgKTtcbiAgICB9XG5cbiAgICB0aGlzLnRhcmdldFJlZi5jbGVhcigpO1xuXG4gICAgY29uc3QgaW5qZWN0b3IgPSBJbmplY3Rvci5jcmVhdGUoe1xuICAgICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICBwcm92aWRlOiBTS1lfU1RBQ0tJTkdfQ09OVEVYVCxcbiAgICAgICAgICB1c2VWYWx1ZToge1xuICAgICAgICAgICAgekluZGV4OiBuZXcgQmVoYXZpb3JTdWJqZWN0KHBhcnNlSW50KHRoaXMuekluZGV4LCAxMCkpXG4gICAgICAgICAgICAgIC5hc09ic2VydmFibGUoKVxuICAgICAgICAgICAgICAucGlwZSh0YWtlVW50aWwodGhpcy4jbmdVbnN1YnNjcmliZSkpLFxuICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgICAgIC4uLnByb3ZpZGVycyxcbiAgICAgIF0sXG4gICAgICBwYXJlbnQ6IHRoaXMuI2luamVjdG9yLFxuICAgIH0pO1xuXG4gICAgY29uc3QgY29tcG9uZW50UmVmID0gdGhpcy50YXJnZXRSZWYuY3JlYXRlQ29tcG9uZW50PEM+KGNvbXBvbmVudCwge1xuICAgICAgaW5qZWN0b3IsXG4gICAgfSk7XG5cbiAgICAvLyBSdW4gYW4gaW5pdGlhbCBjaGFuZ2UgZGV0ZWN0aW9uIGN5Y2xlIGFmdGVyIHRoZSBjb21wb25lbnQgaGFzIGJlZW4gY3JlYXRlZC5cbiAgICBjb21wb25lbnRSZWYuY2hhbmdlRGV0ZWN0b3JSZWYuZGV0ZWN0Q2hhbmdlcygpO1xuXG4gICAgcmV0dXJuIGNvbXBvbmVudFJlZjtcbiAgfVxuXG4gIHB1YmxpYyBhdHRhY2hUZW1wbGF0ZTxUPihcbiAgICB0ZW1wbGF0ZVJlZjogVGVtcGxhdGVSZWY8VD4sXG4gICAgY29udGV4dDogVFxuICApOiBFbWJlZGRlZFZpZXdSZWY8VD4ge1xuICAgIC8qaXN0YW5idWwgaWdub3JlIGlmOiB1bnRlc3RhYmxlKi9cbiAgICBpZiAoIXRoaXMudGFyZ2V0UmVmKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgICdbU2t5T3ZlcmxheUNvbXBvbmVudF0gQ291bGQgbm90IGF0dGFjaCB0aGUgdGVtcGxhdGUgYmVjYXVzZSB0aGUgdGFyZ2V0IGVsZW1lbnQgY291bGQgbm90IGJlIGZvdW5kLidcbiAgICAgICk7XG4gICAgfVxuXG4gICAgdGhpcy50YXJnZXRSZWYuY2xlYXIoKTtcblxuICAgIHJldHVybiB0aGlzLnRhcmdldFJlZi5jcmVhdGVFbWJlZGRlZFZpZXcodGVtcGxhdGVSZWYsIGNvbnRleHQpO1xuICB9XG5cbiAgcHVibGljIHVwZGF0ZUNsaXBQYXRoKGNsaXBQYXRoOiBzdHJpbmcgfCB1bmRlZmluZWQpOiB2b2lkIHtcbiAgICB0aGlzLmNsaXBQYXRoJC5uZXh0KGNsaXBQYXRoKTtcbiAgfVxuXG4gICNhcHBseUNvbmZpZyhjb25maWc6IFNreU92ZXJsYXlDb25maWcpOiB2b2lkIHtcbiAgICB0aGlzLndyYXBwZXJDbGFzcyA9IGNvbmZpZy53cmFwcGVyQ2xhc3MgfHwgJyc7XG4gICAgdGhpcy5zaG93QmFja2Ryb3AgPSAhIWNvbmZpZy5zaG93QmFja2Ryb3A7XG4gICAgdGhpcy5lbmFibGVQb2ludGVyRXZlbnRzID0gISFjb25maWcuZW5hYmxlUG9pbnRlckV2ZW50cztcbiAgICB0aGlzLnBvc2l0aW9uID0gY29uZmlnLnBvc2l0aW9uIHx8IFBPU0lUSU9OX0RFRkFVTFQ7XG4gICAgdGhpcy4jY2hhbmdlRGV0ZWN0b3IubWFya0ZvckNoZWNrKCk7XG4gIH1cblxuICAjYWRkQmFja2Ryb3BDbGlja0xpc3RlbmVyKCk6IHZvaWQge1xuICAgIGZyb21FdmVudDxNb3VzZUV2ZW50Pih3aW5kb3cuZG9jdW1lbnQsICdjbGljaycpXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy4jbmdVbnN1YnNjcmliZSkpXG4gICAgICAuc3Vic2NyaWJlKChldmVudCkgPT4ge1xuICAgICAgICBpZiAoZXZlbnQudGFyZ2V0ICYmIHRoaXMub3ZlcmxheUNvbnRlbnRSZWYgJiYgdGhpcy5vdmVybGF5UmVmKSB7XG4gICAgICAgICAgY29uc3QgaXNDaGlsZCA9IHRoaXMub3ZlcmxheUNvbnRlbnRSZWYubmF0aXZlRWxlbWVudC5jb250YWlucyhcbiAgICAgICAgICAgIGV2ZW50LnRhcmdldFxuICAgICAgICAgICk7XG5cbiAgICAgICAgICBjb25zdCBpc0Fib3ZlID0gdGhpcy4jY29yZUFkYXB0ZXIuaXNUYXJnZXRBYm92ZUVsZW1lbnQoXG4gICAgICAgICAgICBldmVudC50YXJnZXQsXG4gICAgICAgICAgICB0aGlzLm92ZXJsYXlSZWYubmF0aXZlRWxlbWVudFxuICAgICAgICAgICk7XG5cbiAgICAgICAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgZWxzZSAqL1xuICAgICAgICAgIGlmICghaXNDaGlsZCAmJiAhaXNBYm92ZSkge1xuICAgICAgICAgICAgdGhpcy4jYmFja2Ryb3BDbGljay5uZXh0KCk7XG4gICAgICAgICAgICBpZiAodGhpcy4jY29udGV4dC5jb25maWcuZW5hYmxlQ2xvc2UpIHtcbiAgICAgICAgICAgICAgdGhpcy4jY2xvc2VkLm5leHQoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICB9XG5cbiAgI2FkZFJvdXRlTGlzdGVuZXIoKTogdm9pZCB7XG4gICAgLyppc3RhbmJ1bCBpZ25vcmUgZWxzZSovXG4gICAgaWYgKHRoaXMuI3JvdXRlcikge1xuICAgICAgdGhpcy4jcm91dGVyU3Vic2NyaXB0aW9uID0gdGhpcy4jcm91dGVyLmV2ZW50cy5zdWJzY3JpYmUoKGV2ZW50KSA9PiB7XG4gICAgICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBlbHNlICovXG4gICAgICAgIGlmIChldmVudCBpbnN0YW5jZW9mIE5hdmlnYXRpb25TdGFydCkge1xuICAgICAgICAgIHRoaXMuI2Nsb3NlZC5uZXh0KCk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gICNyZW1vdmVSb3V0ZUxpc3RlbmVyKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLiNyb3V0ZXJTdWJzY3JpcHRpb24pIHtcbiAgICAgIHRoaXMuI3JvdXRlclN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgICAgdGhpcy4jcm91dGVyU3Vic2NyaXB0aW9uID0gdW5kZWZpbmVkO1xuICAgIH1cbiAgfVxufVxuIiwiPGRpdlxuICBbY2xhc3NdPVwiJ3NreS1vdmVybGF5LXBvc2l0aW9uLScgKyBwb3NpdGlvbiArICcgJyArIHdyYXBwZXJDbGFzc1wiXG4gIFtzdHlsZS56LWluZGV4XT1cInpJbmRleFwiXG4gIFtzdHlsZS5jbGlwLXBhdGhdPVwiY2xpcFBhdGgkIHwgYXN5bmNcIlxuICBbbmdDbGFzc109XCJ7XG4gICAgJ2VuYWJsZS1wb2ludGVyLWV2ZW50cy1wYXNzLXRocm91Z2gnOiBlbmFibGVQb2ludGVyRXZlbnRzLFxuICAgICdza3ktb3ZlcmxheSc6IHRydWVcbiAgfVwiXG4gICNvdmVybGF5UmVmXG4+XG4gIDxkaXYgY2xhc3M9XCJza3ktb3ZlcmxheS1jb250ZW50XCIgI292ZXJsYXlDb250ZW50UmVmPlxuICAgIDxuZy10ZW1wbGF0ZSAjdGFyZ2V0PiA8L25nLXRlbXBsYXRlPlxuICA8L2Rpdj5cbiAgPGRpdiAqbmdJZj1cInNob3dCYWNrZHJvcFwiIGNsYXNzPVwic2t5LW92ZXJsYXktYmFja2Ryb3BcIj48L2Rpdj5cbjwvZGl2PlxuIl19
@@ -3,15 +3,15 @@ import { NgModule } from '@angular/core';
3
3
  import { SkyOverlayComponent } from './overlay.component';
4
4
  import * as i0 from "@angular/core";
5
5
  export class SkyOverlayModule {
6
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: SkyOverlayModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
7
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.1.7", ngImport: i0, type: SkyOverlayModule, declarations: [SkyOverlayComponent], imports: [CommonModule] }); }
8
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: SkyOverlayModule, imports: [CommonModule] }); }
6
9
  }
7
- SkyOverlayModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SkyOverlayModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
8
- SkyOverlayModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.9", ngImport: i0, type: SkyOverlayModule, declarations: [SkyOverlayComponent], imports: [CommonModule] });
9
- SkyOverlayModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SkyOverlayModule, imports: [CommonModule] });
10
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SkyOverlayModule, decorators: [{
10
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: SkyOverlayModule, decorators: [{
11
11
  type: NgModule,
12
12
  args: [{
13
13
  imports: [CommonModule],
14
14
  declarations: [SkyOverlayComponent],
15
15
  }]
16
16
  }] });
17
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3ZlcmxheS5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvY29yZS9zcmMvbGliL21vZHVsZXMvb3ZlcmxheS9vdmVybGF5Lm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUV6QyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQzs7QUFNMUQsTUFBTSxPQUFPLGdCQUFnQjs7NkdBQWhCLGdCQUFnQjs4R0FBaEIsZ0JBQWdCLGlCQUZaLG1CQUFtQixhQUR4QixZQUFZOzhHQUdYLGdCQUFnQixZQUhqQixZQUFZOzJGQUdYLGdCQUFnQjtrQkFKNUIsUUFBUTttQkFBQztvQkFDUixPQUFPLEVBQUUsQ0FBQyxZQUFZLENBQUM7b0JBQ3ZCLFlBQVksRUFBRSxDQUFDLG1CQUFtQixDQUFDO2lCQUNwQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBTa3lPdmVybGF5Q29tcG9uZW50IH0gZnJvbSAnLi9vdmVybGF5LmNvbXBvbmVudCc7XG5cbkBOZ01vZHVsZSh7XG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGVdLFxuICBkZWNsYXJhdGlvbnM6IFtTa3lPdmVybGF5Q29tcG9uZW50XSxcbn0pXG5leHBvcnQgY2xhc3MgU2t5T3ZlcmxheU1vZHVsZSB7fVxuIl19
17
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3ZlcmxheS5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvY29yZS9zcmMvbGliL21vZHVsZXMvb3ZlcmxheS9vdmVybGF5Lm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUV6QyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQzs7QUFNMUQsTUFBTSxPQUFPLGdCQUFnQjs4R0FBaEIsZ0JBQWdCOytHQUFoQixnQkFBZ0IsaUJBRlosbUJBQW1CLGFBRHhCLFlBQVk7K0dBR1gsZ0JBQWdCLFlBSGpCLFlBQVk7OzJGQUdYLGdCQUFnQjtrQkFKNUIsUUFBUTttQkFBQztvQkFDUixPQUFPLEVBQUUsQ0FBQyxZQUFZLENBQUM7b0JBQ3ZCLFlBQVksRUFBRSxDQUFDLG1CQUFtQixDQUFDO2lCQUNwQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBTa3lPdmVybGF5Q29tcG9uZW50IH0gZnJvbSAnLi9vdmVybGF5LmNvbXBvbmVudCc7XG5cbkBOZ01vZHVsZSh7XG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGVdLFxuICBkZWNsYXJhdGlvbnM6IFtTa3lPdmVybGF5Q29tcG9uZW50XSxcbn0pXG5leHBvcnQgY2xhc3MgU2t5T3ZlcmxheU1vZHVsZSB7fVxuIl19