ngx-tethys 17.0.13 → 17.0.14
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.
- package/CHANGELOG.md +20 -0
- package/core/overlay/abstract-overlay.config.d.ts +6 -0
- package/esm2022/core/overlay/abstract-overlay.config.mjs +7 -1
- package/esm2022/menu/item/action/menu-item-action.component.mjs +15 -6
- package/esm2022/popover/popover.service.mjs +2 -1
- package/esm2022/tree-select/tree-select.component.mjs +10 -8
- package/esm2022/upload/file-select.component.mjs +20 -24
- package/esm2022/version.mjs +2 -2
- package/fesm2022/ngx-tethys-core.mjs +6 -0
- package/fesm2022/ngx-tethys-core.mjs.map +1 -1
- package/fesm2022/ngx-tethys-menu.mjs +12 -3
- package/fesm2022/ngx-tethys-menu.mjs.map +1 -1
- package/fesm2022/ngx-tethys-popover.mjs +1 -0
- package/fesm2022/ngx-tethys-popover.mjs.map +1 -1
- package/fesm2022/ngx-tethys-tree-select.mjs +4 -1
- package/fesm2022/ngx-tethys-tree-select.mjs.map +1 -1
- package/fesm2022/ngx-tethys-upload.mjs +19 -23
- package/fesm2022/ngx-tethys-upload.mjs.map +1 -1
- package/fesm2022/ngx-tethys.mjs +1 -1
- package/fesm2022/ngx-tethys.mjs.map +1 -1
- package/menu/item/action/menu-item-action.component.d.ts +7 -2
- package/menu/styles/menu.scss +8 -0
- package/package.json +1 -1
- package/schematics/version.d.ts +1 -1
- package/schematics/version.js +1 -1
- package/shared/option/styles/select-dropdown.scss +1 -0
- package/slider/slider.scss +12 -20
- package/styles/modules/tables.scss +20 -0
- package/styles/variables.scss +1 -1
- package/table/styles/skeleton.scss +5 -0
- package/upload/file-select.component.d.ts +5 -6
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,26 @@
|
|
|
2
2
|
|
|
3
3
|
All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines.
|
|
4
4
|
|
|
5
|
+
## [17.0.14](https://github.com/atinc/ngx-tethys/compare/17.0.13...17.0.14) (2024-07-18)
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
### Bug Fixes
|
|
9
|
+
|
|
10
|
+
* **table:** fix table skeleton styles error #INFR-12877 ([#3118](https://github.com/atinc/ngx-tethys/issues/3118)) ([cf89598](https://github.com/atinc/ngx-tethys/commit/cf89598e1835f301f66ed511e1829e38b5d4a17f)), closes [#INFR-12877](https://github.com/atinc/ngx-tethys/issues/INFR-12877)
|
|
11
|
+
* **tree-select:** #INFR-12947 change treeNodes when thyVirtualScroll… ([#3124](https://github.com/atinc/ngx-tethys/issues/3124)) ([22c7e0a](https://github.com/atinc/ngx-tethys/commit/22c7e0ad501e6038dc71f774953d1ac05399baca)), closes [#INFR-12947](https://github.com/atinc/ngx-tethys/issues/INFR-12947)
|
|
12
|
+
* **upload:** error occurs when accessing the viewchild element in the setter of a static input property #INFR-1979 ([#3120](https://github.com/atinc/ngx-tethys/issues/3120)) ([3b45a23](https://github.com/atinc/ngx-tethys/commit/3b45a237d236107362201ad9903686298bcf540e)), closes [#INFR-1979](https://github.com/atinc/ngx-tethys/issues/INFR-1979)
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
### Features
|
|
16
|
+
|
|
17
|
+
* **form:** change form-label's color to [#333](https://github.com/atinc/ngx-tethys/issues/333) #INFR-12861 ([f390a01](https://github.com/atinc/ngx-tethys/commit/f390a0161eb613dc34103e7df5436c4caf885f93)), closes [#INFR-12861](https://github.com/atinc/ngx-tethys/issues/INFR-12861)
|
|
18
|
+
* **menu:** thyMenuItemAction click support thy-memu-item hightlight … ([#3119](https://github.com/atinc/ngx-tethys/issues/3119)) ([a4b83c5](https://github.com/atinc/ngx-tethys/commit/a4b83c5799e78c699f59e57e26063a9e7d4cfc33))
|
|
19
|
+
* **popover:** support canPush config for flexible connected position strategy #INFR-2298 ([#3123](https://github.com/atinc/ngx-tethys/issues/3123)) ([b0f4455](https://github.com/atinc/ngx-tethys/commit/b0f4455bd6895bdac0eb973473ab2bfd022e4621)), closes [#INFR-2298](https://github.com/atinc/ngx-tethys/issues/INFR-2298) [#INFR-2298](https://github.com/atinc/ngx-tethys/issues/INFR-2298)
|
|
20
|
+
* **select:** change group name's font-size to 12px #INFR-12860 ([4083418](https://github.com/atinc/ngx-tethys/commit/4083418c64a27d93b21d9ce1898f326a81d53c47)), closes [#INFR-12860](https://github.com/atinc/ngx-tethys/issues/INFR-12860)
|
|
21
|
+
* **slider:** optimize styles for slider pointer #INFR-12896 ([#3121](https://github.com/atinc/ngx-tethys/issues/3121)) ([c9f1809](https://github.com/atinc/ngx-tethys/commit/c9f1809f2a8cc24a817cd96f936aaacbf55994a1)), closes [#INFR-12896](https://github.com/atinc/ngx-tethys/issues/INFR-12896) [#INFR-12896](https://github.com/atinc/ngx-tethys/issues/INFR-12896)
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
|
|
5
25
|
## [17.0.13](https://github.com/atinc/ngx-tethys/compare/17.0.12...17.0.13) (2024-07-03)
|
|
6
26
|
|
|
7
27
|
|
|
@@ -109,6 +109,12 @@ export declare class ThyAbstractOverlayConfig<TData = unknown> {
|
|
|
109
109
|
* 关闭弹窗前的回调函数,返回 false 可阻止关闭弹窗
|
|
110
110
|
*/
|
|
111
111
|
canClose?: (result?: unknown) => boolean;
|
|
112
|
+
/**
|
|
113
|
+
* 设置当提供的位置均不适合时是否可以将覆盖层推到屏幕上
|
|
114
|
+
* @description.en-us Sets whether the overlay can be pushed on-screen if none of the provided positions fit
|
|
115
|
+
* @default true
|
|
116
|
+
*/
|
|
117
|
+
canPush?: boolean;
|
|
112
118
|
}
|
|
113
119
|
export interface ThyAbstractOverlayOptions {
|
|
114
120
|
/** component name, e.g. dialog | popover | slide */
|
|
@@ -59,6 +59,12 @@ export class ThyAbstractOverlayConfig {
|
|
|
59
59
|
* @description.en-us Whether the overlay should close when the user goes backwards/forwards in history.Note that this usually doesn't include clicking on links (unless the user is using the `HashLocationStrategy`).
|
|
60
60
|
*/
|
|
61
61
|
this.closeOnNavigation = true;
|
|
62
|
+
/**
|
|
63
|
+
* 设置当提供的位置均不适合时是否可以将覆盖层推到屏幕上
|
|
64
|
+
* @description.en-us Sets whether the overlay can be pushed on-screen if none of the provided positions fit
|
|
65
|
+
* @default true
|
|
66
|
+
*/
|
|
67
|
+
this.canPush = true;
|
|
62
68
|
}
|
|
63
69
|
}
|
|
64
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
70
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJzdHJhY3Qtb3ZlcmxheS5jb25maWcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvY29yZS9vdmVybGF5L2Fic3RyYWN0LW92ZXJsYXkuY29uZmlnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQWlCQSxNQUFNLE9BQU8sd0JBQXdCO0lBQXJDO1FBYUk7OztXQUdHO1FBQ0gsZUFBVSxHQUF1QixFQUFFLENBQUM7UUFLcEM7OztXQUdHO1FBQ0gsZ0JBQVcsR0FBSSxJQUFJLENBQUM7UUFFcEI7OztXQUdHO1FBQ0gsa0JBQWEsR0FBdUIsRUFBRSxDQUFDO1FBRXZDOzs7V0FHRztRQUNILHFCQUFnQixHQUFJLElBQUksQ0FBQztRQUV6Qix3RkFBd0Y7UUFDeEYsaUJBQVksR0FBSSxLQUFLLENBQUM7UUFFdEI7Ozs7V0FJRztRQUNILFVBQUssR0FBSSxFQUFFLENBQUM7UUFFWjs7OztXQUlHO1FBQ0gsV0FBTSxHQUFJLEVBQUUsQ0FBQztRQTJCYjs7O1dBR0c7UUFDSCxpQkFBWSxHQUFrQixJQUFJLENBQUM7UUFLbkMsb0RBQW9EO1FBQ3BELG9CQUFlLEdBQW1CLElBQUksQ0FBQztRQUV2QyxrREFBa0Q7UUFDbEQsY0FBUyxHQUFtQixJQUFJLENBQUM7UUFFakMsNEVBQTRFO1FBQzVFLGNBQVMsR0FBSSxJQUFJLENBQUM7UUFFbEI7OztXQUdHO1FBQ0gsaUJBQVksR0FBSSxJQUFJLENBQUM7UUFFckI7O1dBRUc7UUFDSCx3QkFBbUIsR0FBa0IsRUFBRSxhQUFhLEVBQUUsSUFBSSxFQUFFLENBQUM7UUFFN0Q7OztXQUdHO1FBQ0gsc0JBQWlCLEdBQUksSUFBSSxDQUFDO1FBTzFCOzs7O1dBSUc7UUFDSCxZQUFPLEdBQUksSUFBSSxDQUFDO0lBQ3BCLENBQUM7Q0FBQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9iaWRpJztcbmltcG9ydCB7IFZpZXdDb250YWluZXJSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuZXhwb3J0IGludGVyZmFjZSBUaHlBYnN0cmFjdE92ZXJsYXlQb3NpdGlvbiB7XG4gICAgLyoqIE92ZXJyaWRlIGZvciB0aGUgb3ZlcmxheSdzIHRvcCBwb3NpdGlvbi4gKi9cbiAgICB0b3A/OiBzdHJpbmc7XG5cbiAgICAvKiogT3ZlcnJpZGUgZm9yIHRoZSBvdmVybGF5J3MgYm90dG9tIHBvc2l0aW9uLiAqL1xuICAgIGJvdHRvbT86IHN0cmluZztcblxuICAgIC8qKiBPdmVycmlkZSBmb3IgdGhlIG92ZXJsYXkncyBsZWZ0IHBvc2l0aW9uLiAqL1xuICAgIGxlZnQ/OiBzdHJpbmc7XG5cbiAgICAvKiogT3ZlcnJpZGUgZm9yIHRoZSBvdmVybGF5J3MgcmlnaHQgcG9zaXRpb24uICovXG4gICAgcmlnaHQ/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBjbGFzcyBUaHlBYnN0cmFjdE92ZXJsYXlDb25maWc8VERhdGEgPSB1bmtub3duPiB7XG4gICAgLyoqXG4gICAgICog5b2T5YmN55qE57uE5Lu255qEIHZpZXdDb250YWluZXJSZWbvvIzmjIflrprlkI7lvLnlh7rnmoTnu4Tku7bnmoTniLbms6jlhaXlmajkuLrlvZPliY3nu4Tku7bnmoTms6jlhaXlmahcbiAgICAgKiBAZGVzY3JpcHRpb24uZW4tdXMgV2hlcmUgdGhlIGF0dGFjaGVkIGNvbXBvbmVudCBzaG91bGQgbGl2ZSBpbiBBbmd1bGFyJ3MgKmxvZ2ljYWwqIGNvbXBvbmVudCB0cmVlLlRoaXMgYWZmZWN0cyB3aGF0IGlzIGF2YWlsYWJsZSBmb3IgaW5qZWN0aW9uIGFuZCB0aGUgY2hhbmdlIGRldGVjdGlvbiBvcmRlciBmb3IgdGhlIGNvbXBvbmVudCBpbnN0YW50aWF0ZWQgaW5zaWRlIG9mIHRoZSBvdmVybGF5LiBUaGlzIGRvZXMgbm90IGFmZmVjdCB3aGVyZSB0aGUgb3ZlcmxheSBjb250ZW50IHdpbGwgYmUgcmVuZGVyZWQuXG4gICAgICovXG4gICAgdmlld0NvbnRhaW5lclJlZj86IFZpZXdDb250YWluZXJSZWY7XG5cbiAgICAvKipcbiAgICAgKiDlvLnlh7rmoYbnmoTllK/kuIDmoIfor4ZcbiAgICAgKiBAZGVzY3JpcHRpb24uZW4tdXMgSUQgZm9yIHRoZSBvdmVybGF5LiBJZiBvbWl0dGVkLCBhIHVuaXF1ZSBvbmUgd2lsbCBiZSBnZW5lcmF0ZWQuXG4gICAgICovXG4gICAgaWQ/OiBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiBvdmVybGF5IHBhbmVsIOexu+WQjVxuICAgICAqIEBkZXNjcmlwdGlvbi5lbi11cyBDdXN0b20gY2xhc3MgZm9yIHRoZSBvdmVybGF5IHBhbmUuXG4gICAgICovXG4gICAgcGFuZWxDbGFzcz86IHN0cmluZyB8IHN0cmluZ1tdID0gJyc7XG5cbiAgICAvKiogQ3VzdG9tIGNsYXNzIGZvciB0aGUgb3ZlcmxheSBjb21wb25lbnQncyBob3N0IGVsZW1lbnQuICovXG4gICAgaG9zdENsYXNzPzogc3RyaW5nIHwgc3RyaW5nW107XG5cbiAgICAvKipcbiAgICAgKiDmmK/lkKbmnInluZXluINcbiAgICAgKiBAZGVzY3JpcHRpb24uZW4tdXMgV2hldGhlciB0aGUgb3ZlcmxheSBoYXMgYSBiYWNrZHJvcC5cbiAgICAgKi9cbiAgICBoYXNCYWNrZHJvcD8gPSB0cnVlO1xuXG4gICAgLyoqXG4gICAgICog6Ieq5a6a5LmJ5bmV5biD55qE5qC35byPXG4gICAgICogQGRlc2NyaXB0aW9uLmVuLXVzIEN1c3RvbSBjbGFzcyBmb3IgdGhlIGJhY2tkcm9wLlxuICAgICAqL1xuICAgIGJhY2tkcm9wQ2xhc3M/OiBzdHJpbmcgfCBzdHJpbmdbXSA9ICcnO1xuXG4gICAgLyoqXG4gICAgICogQGRlc2NyaXB0aW9uIOeCueWHu+W5leW4g+aIluiAheaMiUVTQ+mUruaYr+WQpuiHquWKqOWFs+mXreW8ueWHuuahhu+8jGhhc0JhY2tkcm9wPXRydWUg5pe26K+l5Y+C5pWw6LW35L2c55SoXG4gICAgICogQGRlc2NyaXB0aW9uLmVuLXVzIFdoZXRoZXIgdGhlIHVzZXIgY2FuIHVzZSBlc2NhcGUgb3IgY2xpY2tpbmcgb24gdGhlIGJhY2tkcm9wIHRvIGNsb3NlIHRoZSBvdmVybGF5LlxuICAgICAqL1xuICAgIGJhY2tkcm9wQ2xvc2FibGU/ID0gdHJ1ZTtcblxuICAgIC8qKiBXaGV0aGVyIHRoZSB1c2VyIGNhbiB1c2UgZXNjYXBlIG9yIGNsaWNraW5nIG9uIHRoZSBiYWNrZHJvcCB0byBjbG9zZSB0aGUgb3ZlcmxheS4gKi9cbiAgICBkaXNhYmxlQ2xvc2U/ID0gZmFsc2U7XG5cbiAgICAvKipcbiAgICAgKiDoh6rlrprkuYnlvLnlh7rmoYbnmoTlrr3luqZcbiAgICAgKiBAZGVmYXVsdCA2NjBweFxuICAgICAqIEBkZXNjcmlwdGlvbi5lbi11cyBXaWR0aCBvZiB0aGUgb3ZlcmxheS5cbiAgICAgKi9cbiAgICB3aWR0aD8gPSAnJztcblxuICAgIC8qKlxuICAgICAqIOiHquWumuS5ieW8ueWHuuahhueahOmrmOW6plxuICAgICAqIEBkZWZhdWx0IDg1dmhcbiAgICAgKiBAZGVzY3JpcHRpb24uZW4tdXMgSGVpZ2h0IG9mIHRoZSBvdmVybGF5LlxuICAgICAqL1xuICAgIGhlaWdodD8gPSAnJztcblxuICAgIC8qKlxuICAgICAqIOW8ueWHuuahhuacgOWwj+WuveW6plxuICAgICAqIEBkZXNjcmlwdGlvbi5lbi11cyBNaW4td2lkdGggb2YgdGhlIG92ZXJsYXkuIElmIGEgbnVtYmVyIGlzIHByb3ZpZGVkLCBwaXhlbCB1bml0cyBhcmUgYXNzdW1lZC5cbiAgICAgKi9cbiAgICBtaW5XaWR0aD86IG51bWJlciB8IHN0cmluZztcblxuICAgIC8qKlxuICAgICAqIOW8ueWHuuahhuacgOWwj+mrmOW6plxuICAgICAqIEBkZXNjcmlwdGlvbi5lbi11cyBNaW4taGVpZ2h0IG9mIHRoZSBvdmVybGF5LiBJZiBhIG51bWJlciBpcyBwcm92aWRlZCwgcGl4ZWwgdW5pdHMgYXJlIGFzc3VtZWQuXG4gICAgICovXG4gICAgbWluSGVpZ2h0PzogbnVtYmVyIHwgc3RyaW5nO1xuXG4gICAgLyoqXG4gICAgICog5by55Ye65qGG5pyA5aSn5a695bqmXG4gICAgICogQGRlc2NyaXB0aW9uLmVuLXVzIE1heC13aWR0aCBvZiB0aGUgb3ZlcmxheS4gSWYgYSBudW1iZXIgaXMgcHJvdmlkZWQsIHBpeGVsIHVuaXRzIGFyZSBhc3N1bWVkLiBEZWZhdWx0cyB0byA4MHZ3XG4gICAgICovXG4gICAgbWF4V2lkdGg/OiBudW1iZXIgfCBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiDlvLnlh7rmoYbmnIDlpKfpq5jluqZcbiAgICAgKiBAZGVmYXVsdCA4NXZoXG4gICAgICogQGRlc2NyaXB0aW9uLmVuLXVzIE1heC1oZWlnaHQgb2YgdGhlIG92ZXJsYXkuIElmIGEgbnVtYmVyIGlzIHByb3ZpZGVkLCBwaXhlbCB1bml0cyBhcmUgYXNzdW1lZC5cbiAgICAgKi9cbiAgICBtYXhIZWlnaHQ/OiBudW1iZXIgfCBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiDkvKDlhaXnmoTliJ3lp4vljJbnirbmgIHvvIzlvLnlh7rnu4Tku7bnmoTlj5jph4/kvJroh6rliqjotYvlgLzvvIzlnKggbmdPbkluaXQg55Sf5ZG95ZGo5pyf6ZKp5a2Q5Y+v5Lul6I635Y+W5Yiw77yM5p6E6YCg5Ye95pWw6I635Y+W5LiN5YiwXG4gICAgICogQGRlc2NyaXB0aW9uLmVuLXVzIERhdGEgYmVpbmcgaW5qZWN0ZWQgaW50byB0aGUgY2hpbGQgY29tcG9uZW50LlxuICAgICAqL1xuICAgIGluaXRpYWxTdGF0ZT86IFREYXRhIHwgbnVsbCA9IG51bGw7XG5cbiAgICAvKiogTGF5b3V0IGRpcmVjdGlvbiBmb3IgdGhlIG92ZXJsYXkncyBjb250ZW50LiAqL1xuICAgIGRpcmVjdGlvbj86IERpcmVjdGlvbjtcblxuICAgIC8qKiBJRCBvZiB0aGUgZWxlbWVudCB0aGF0IGRlc2NyaWJlcyB0aGUgb3ZlcmxheS4gKi9cbiAgICBhcmlhRGVzY3JpYmVkQnk/OiBzdHJpbmcgfCBudWxsID0gbnVsbDtcblxuICAgIC8qKiBBcmlhIGxhYmVsIHRvIGFzc2lnbiB0byB0aGUgb3ZlcmxheSBlbGVtZW50ICovXG4gICAgYXJpYUxhYmVsPzogc3RyaW5nIHwgbnVsbCA9IG51bGw7XG5cbiAgICAvKiogV2hldGhlciB0aGUgb3ZlcmxheSBzaG91bGQgZm9jdXMgdGhlIGZpcnN0IGZvY3VzYWJsZSBlbGVtZW50IG9uIG9wZW4uICovXG4gICAgYXV0b0ZvY3VzPyA9IHRydWU7XG5cbiAgICAvKipcbiAgICAgKiBXaGV0aGVyIHRoZSBvdmVybGF5IHNob3VsZCByZXN0b3JlIGZvY3VzIHRvIHRoZVxuICAgICAqIHByZXZpb3VzbHktZm9jdXNlZCBlbGVtZW50LCBhZnRlciBpdCdzIGNsb3NlZC5cbiAgICAgKi9cbiAgICByZXN0b3JlRm9jdXM/ID0gdHJ1ZTtcblxuICAgIC8qKlxuICAgICAqIENvbnRyb2wgdGhlIHByZXZpb3VzbHktZm9jdXNlZCBlbGVtZW50IGZvY3VzaW5nIHByb2Nlc3MuXG4gICAgICovXG4gICAgcmVzdG9yZUZvY3VzT3B0aW9ucz86IEZvY3VzT3B0aW9ucyA9IHsgcHJldmVudFNjcm9sbDogdHJ1ZSB9O1xuXG4gICAgLyoqXG4gICAgICog5YiH5o2i5rWP6KeI5Zmo5a+86Iiq5piv5ZCm6Ieq5Yqo5YWz6Zet5by55Ye65qGGXG4gICAgICogQGRlc2NyaXB0aW9uLmVuLXVzIFdoZXRoZXIgdGhlIG92ZXJsYXkgc2hvdWxkIGNsb3NlIHdoZW4gdGhlIHVzZXIgZ29lcyBiYWNrd2FyZHMvZm9yd2FyZHMgaW4gaGlzdG9yeS5Ob3RlIHRoYXQgdGhpcyB1c3VhbGx5IGRvZXNuJ3QgaW5jbHVkZSBjbGlja2luZyBvbiBsaW5rcyAodW5sZXNzIHRoZSB1c2VyIGlzIHVzaW5nIHRoZSBgSGFzaExvY2F0aW9uU3RyYXRlZ3lgKS5cbiAgICAgKi9cbiAgICBjbG9zZU9uTmF2aWdhdGlvbj8gPSB0cnVlO1xuXG4gICAgLyoqXG4gICAgICog5YWz6Zet5by556qX5YmN55qE5Zue6LCD5Ye95pWw77yM6L+U5ZueIGZhbHNlIOWPr+mYu+atouWFs+mXreW8ueeql1xuICAgICAqL1xuICAgIGNhbkNsb3NlPzogKHJlc3VsdD86IHVua25vd24pID0+IGJvb2xlYW47XG5cbiAgICAvKipcbiAgICAgKiDorr7nva7lvZPmj5DkvpvnmoTkvY3nva7lnYfkuI3pgILlkIjml7bmmK/lkKblj6/ku6XlsIbopobnm5blsYLmjqjliLDlsY/luZXkuIpcbiAgICAgKiBAZGVzY3JpcHRpb24uZW4tdXMgU2V0cyB3aGV0aGVyIHRoZSBvdmVybGF5IGNhbiBiZSBwdXNoZWQgb24tc2NyZWVuIGlmIG5vbmUgb2YgdGhlIHByb3ZpZGVkIHBvc2l0aW9ucyBmaXRcbiAgICAgKiBAZGVmYXVsdCB0cnVlXG4gICAgICovXG4gICAgY2FuUHVzaD8gPSB0cnVlO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFRoeUFic3RyYWN0T3ZlcmxheU9wdGlvbnMge1xuICAgIC8qKiBjb21wb25lbnQgbmFtZSwgZS5nLiBkaWFsb2cgfCBwb3BvdmVyIHwgc2xpZGUgKi9cbiAgICBuYW1lOiBzdHJpbmc7XG4gICAgLyoqIFdoZXRoZXIgZW5hYmxlIGFuaW1hdGlvbiAqL1xuICAgIGFuaW1hdGlvbkVuYWJsZWQ6IGJvb2xlYW47XG4gICAgLyoqIFdoZXRoZXIgZGlzcG9zZSBjZGsgb3ZlcmxheSByZWYgd2hlbiBjbG9zZSB1cHBlciBvdmVybGF5ICovXG4gICAgZGlzcG9zZVdoZW5DbG9zZTogYm9vbGVhbjtcbn1cbiJdfQ==
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { ThyPopover } from 'ngx-tethys/popover';
|
|
1
|
+
import { ThyPopover, ThyPopoverConfig } from 'ngx-tethys/popover';
|
|
3
2
|
import { coerceBooleanProperty } from 'ngx-tethys/util';
|
|
3
|
+
import { Component, ElementRef, Input, Renderer2 } from '@angular/core';
|
|
4
4
|
import * as i0 from "@angular/core";
|
|
5
5
|
import * as i1 from "ngx-tethys/popover";
|
|
6
6
|
/**
|
|
@@ -28,10 +28,17 @@ export class ThyMenuItemAction {
|
|
|
28
28
|
event.stopPropagation();
|
|
29
29
|
}
|
|
30
30
|
if (this._actionMenu) {
|
|
31
|
-
|
|
31
|
+
const activeClass = 'action-active';
|
|
32
|
+
const wrapDOM = event.target.closest('.thy-menu-item');
|
|
33
|
+
wrapDOM?.classList.add(activeClass);
|
|
34
|
+
const popoverRef = this.popover.open(this._actionMenu, Object.assign({
|
|
32
35
|
origin: event.currentTarget,
|
|
33
36
|
insideClosable: true,
|
|
34
|
-
placement: '
|
|
37
|
+
placement: 'bottomLeft',
|
|
38
|
+
originActiveClass: 'active'
|
|
39
|
+
}, this.thyPopoverOptions));
|
|
40
|
+
popoverRef?.afterClosed().subscribe(() => {
|
|
41
|
+
wrapDOM?.classList.remove(activeClass);
|
|
35
42
|
});
|
|
36
43
|
}
|
|
37
44
|
});
|
|
@@ -51,7 +58,7 @@ export class ThyMenuItemAction {
|
|
|
51
58
|
this.removeClickListenerFn?.();
|
|
52
59
|
}
|
|
53
60
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.3", ngImport: i0, type: ThyMenuItemAction, deps: [{ token: i1.ThyPopover }, { token: i0.Renderer2 }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
54
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "17.2.3", type: ThyMenuItemAction, isStandalone: true, selector: "thy-menu-item-action,[thy-menu-item-action],[thyMenuItemAction]", inputs: { thyActionMenu: "thyActionMenu", thyStopPropagation: ["thyStopPropagation", "thyStopPropagation", coerceBooleanProperty] }, host: { classAttribute: "thy-menu-item-action" }, ngImport: i0, template: "<ng-content></ng-content>\n" }); }
|
|
61
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "17.2.3", type: ThyMenuItemAction, isStandalone: true, selector: "thy-menu-item-action,[thy-menu-item-action],[thyMenuItemAction]", inputs: { thyActionMenu: "thyActionMenu", thyStopPropagation: ["thyStopPropagation", "thyStopPropagation", coerceBooleanProperty], thyPopoverOptions: "thyPopoverOptions" }, host: { classAttribute: "thy-menu-item-action" }, ngImport: i0, template: "<ng-content></ng-content>\n" }); }
|
|
55
62
|
}
|
|
56
63
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.3", ngImport: i0, type: ThyMenuItemAction, decorators: [{
|
|
57
64
|
type: Component,
|
|
@@ -63,5 +70,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.3", ngImpor
|
|
|
63
70
|
}], thyStopPropagation: [{
|
|
64
71
|
type: Input,
|
|
65
72
|
args: [{ transform: coerceBooleanProperty }]
|
|
73
|
+
}], thyPopoverOptions: [{
|
|
74
|
+
type: Input
|
|
66
75
|
}] } });
|
|
67
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
76
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVudS1pdGVtLWFjdGlvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbWVudS9pdGVtL2FjdGlvbi9tZW51LWl0ZW0tYWN0aW9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9tZW51L2l0ZW0vYWN0aW9uL21lbnUtaXRlbS1hY3Rpb24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBR3hELE9BQU8sRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLEtBQUssRUFBYSxTQUFTLEVBQWUsTUFBTSxlQUFlLENBQUM7OztBQUVoRzs7OztHQUlHO0FBU0gsTUFBTSxPQUFPLGlCQUFpQjtJQUsxQjs7T0FFRztJQUNILElBQ0ksYUFBYSxDQUFDLEtBQTRDO1FBQzFELElBQUksQ0FBQyxXQUFXLEdBQUcsS0FBSyxDQUFDO1FBQ3pCLElBQUksSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQ25CLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUMxQixDQUFDO0lBQ0wsQ0FBQztJQWFPLGNBQWM7UUFDbEIsSUFBSSxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDbkIsT0FBTztRQUNYLENBQUM7UUFDRCxJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQztRQUN4QixJQUFJLENBQUMscUJBQXFCLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLEVBQUUsT0FBTyxFQUFFLEtBQUssQ0FBQyxFQUFFO1lBQzlGLElBQUksSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUM7Z0JBQzFCLEtBQUssQ0FBQyxlQUFlLEVBQUUsQ0FBQztZQUM1QixDQUFDO1lBQ0QsSUFBSSxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7Z0JBQ25CLE1BQU0sV0FBVyxHQUFHLGVBQWUsQ0FBQztnQkFDcEMsTUFBTSxPQUFPLEdBQUksS0FBSyxDQUFDLE1BQXNCLENBQUMsT0FBTyxDQUFDLGdCQUFnQixDQUFDLENBQUM7Z0JBQ3hFLE9BQU8sRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLFdBQVcsQ0FBQyxDQUFDO2dCQUNwQyxNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FDaEMsSUFBSSxDQUFDLFdBQVcsRUFDaEIsTUFBTSxDQUFDLE1BQU0sQ0FDVDtvQkFDSSxNQUFNLEVBQUUsS0FBSyxDQUFDLGFBQTRCO29CQUMxQyxjQUFjLEVBQUUsSUFBSTtvQkFDcEIsU0FBUyxFQUFFLFlBQVk7b0JBQ3ZCLGlCQUFpQixFQUFFLFFBQVE7aUJBQzlCLEVBQ0QsSUFBSSxDQUFDLGlCQUFpQixDQUN6QixDQUNKLENBQUM7Z0JBQ0YsVUFBVSxFQUFFLFdBQVcsRUFBRSxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUU7b0JBQ3JDLE9BQU8sRUFBRSxTQUFTLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDO2dCQUMzQyxDQUFDLENBQUMsQ0FBQztZQUNQLENBQUM7UUFDTCxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFJRCxZQUFvQixPQUFtQixFQUFVLFFBQW1CLEVBQVUsVUFBc0I7UUFBaEYsWUFBTyxHQUFQLE9BQU8sQ0FBWTtRQUFVLGFBQVEsR0FBUixRQUFRLENBQVc7UUFBVSxlQUFVLEdBQVYsVUFBVSxDQUFZO1FBNURwRyxnQkFBVyxHQUFHLEtBQUssQ0FBQztRQWVwQjs7V0FFRztRQUMwQyx1QkFBa0IsR0FBRyxJQUFJLENBQUM7UUF3Qy9ELDBCQUFxQixHQUF3QixJQUFJLENBQUM7SUFFNkMsQ0FBQztJQUV4RyxXQUFXO1FBQ1AsSUFBSSxDQUFDLHFCQUFxQixFQUFFLEVBQUUsQ0FBQztJQUNuQyxDQUFDOzhHQWpFUSxpQkFBaUI7a0dBQWpCLGlCQUFpQiw4TUFtQk4scUJBQXFCLHVIQ3RDN0MsNkJBQ0E7OzJGRGtCYSxpQkFBaUI7a0JBUjdCLFNBQVM7K0JBQ0ksaUVBQWlFLFFBRXJFO3dCQUNGLEtBQUssRUFBRSxzQkFBc0I7cUJBQ2hDLGNBQ1csSUFBSTtnSUFXWixhQUFhO3NCQURoQixLQUFLO2dCQVd1QyxrQkFBa0I7c0JBQTlELEtBQUs7dUJBQUMsRUFBRSxTQUFTLEVBQUUscUJBQXFCLEVBQUU7Z0JBTWxDLGlCQUFpQjtzQkFBekIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFRoeVBvcG92ZXIsIFRoeVBvcG92ZXJDb25maWcgfSBmcm9tICduZ3gtdGV0aHlzL3BvcG92ZXInO1xuaW1wb3J0IHsgY29lcmNlQm9vbGVhblByb3BlcnR5IH0gZnJvbSAnbmd4LXRldGh5cy91dGlsJztcblxuaW1wb3J0IHsgQ29tcG9uZW50VHlwZSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9wb3J0YWwnO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBJbnB1dCwgT25EZXN0cm95LCBSZW5kZXJlcjIsIFRlbXBsYXRlUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbi8qKlxuICog6I+c5Y2V6aG55pON5L2c57uE5Lu2XG4gKiBAbmFtZSB0aHktbWVudS1pdGVtLWFjdGlvbixbdGh5LW1lbnUtaXRlbS1hY3Rpb25dLFt0aHlNZW51SXRlbUFjdGlvbl1cbiAqIEBvcmRlciAyNVxuICovXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3RoeS1tZW51LWl0ZW0tYWN0aW9uLFt0aHktbWVudS1pdGVtLWFjdGlvbl0sW3RoeU1lbnVJdGVtQWN0aW9uXScsXG4gICAgdGVtcGxhdGVVcmw6ICcuL21lbnUtaXRlbS1hY3Rpb24uY29tcG9uZW50Lmh0bWwnLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgY2xhc3M6ICd0aHktbWVudS1pdGVtLWFjdGlvbidcbiAgICB9LFxuICAgIHN0YW5kYWxvbmU6IHRydWVcbn0pXG5leHBvcnQgY2xhc3MgVGh5TWVudUl0ZW1BY3Rpb24gaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xuICAgIF9ib3VuZEV2ZW50ID0gZmFsc2U7XG5cbiAgICBfYWN0aW9uTWVudTogQ29tcG9uZW50VHlwZTxhbnk+IHwgVGVtcGxhdGVSZWY8YW55PjtcblxuICAgIC8qKlxuICAgICAqIOiuvue9riBBY3Rpb24g6I+c5Y2VXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBzZXQgdGh5QWN0aW9uTWVudSh2YWx1ZTogQ29tcG9uZW50VHlwZTxhbnk+IHwgVGVtcGxhdGVSZWY8YW55Pikge1xuICAgICAgICB0aGlzLl9hY3Rpb25NZW51ID0gdmFsdWU7XG4gICAgICAgIGlmICh0aGlzLl9hY3Rpb25NZW51KSB7XG4gICAgICAgICAgICB0aGlzLmJpbmRDbGlja0V2ZW50KCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDmmK/lkKbpmLvmraLkuovku7blhpLms6FcbiAgICAgKi9cbiAgICBASW5wdXQoeyB0cmFuc2Zvcm06IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSB9KSB0aHlTdG9wUHJvcGFnYXRpb24gPSB0cnVlO1xuXG4gICAgLyoqXG4gICAgICog5by55Ye65qGG55qE5Y+C5pWwXG4gICAgICogQGRlZmF1bHQgeyBwbGFjZW1lbnQ6IFwiYm90dG9tTGVmdFwiLCBpbnNpZGVDbG9zYWJsZTogdHJ1ZSB9XG4gICAgICovXG4gICAgQElucHV0KCkgdGh5UG9wb3Zlck9wdGlvbnM6IFRoeVBvcG92ZXJDb25maWc7XG5cbiAgICBwcml2YXRlIGJpbmRDbGlja0V2ZW50KCkge1xuICAgICAgICBpZiAodGhpcy5fYm91bmRFdmVudCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuX2JvdW5kRXZlbnQgPSB0cnVlO1xuICAgICAgICB0aGlzLnJlbW92ZUNsaWNrTGlzdGVuZXJGbiA9IHRoaXMucmVuZGVyZXIubGlzdGVuKHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LCAnY2xpY2snLCBldmVudCA9PiB7XG4gICAgICAgICAgICBpZiAodGhpcy50aHlTdG9wUHJvcGFnYXRpb24pIHtcbiAgICAgICAgICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmICh0aGlzLl9hY3Rpb25NZW51KSB7XG4gICAgICAgICAgICAgICAgY29uc3QgYWN0aXZlQ2xhc3MgPSAnYWN0aW9uLWFjdGl2ZSc7XG4gICAgICAgICAgICAgICAgY29uc3Qgd3JhcERPTSA9IChldmVudC50YXJnZXQgYXMgSFRNTEVsZW1lbnQpLmNsb3Nlc3QoJy50aHktbWVudS1pdGVtJyk7XG4gICAgICAgICAgICAgICAgd3JhcERPTT8uY2xhc3NMaXN0LmFkZChhY3RpdmVDbGFzcyk7XG4gICAgICAgICAgICAgICAgY29uc3QgcG9wb3ZlclJlZiA9IHRoaXMucG9wb3Zlci5vcGVuKFxuICAgICAgICAgICAgICAgICAgICB0aGlzLl9hY3Rpb25NZW51LFxuICAgICAgICAgICAgICAgICAgICBPYmplY3QuYXNzaWduKFxuICAgICAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9yaWdpbjogZXZlbnQuY3VycmVudFRhcmdldCBhcyBIVE1MRWxlbWVudCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnNpZGVDbG9zYWJsZTogdHJ1ZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwbGFjZW1lbnQ6ICdib3R0b21MZWZ0JyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcmlnaW5BY3RpdmVDbGFzczogJ2FjdGl2ZSdcbiAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnRoeVBvcG92ZXJPcHRpb25zXG4gICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIHBvcG92ZXJSZWY/LmFmdGVyQ2xvc2VkKCkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgd3JhcERPTT8uY2xhc3NMaXN0LnJlbW92ZShhY3RpdmVDbGFzcyk7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgcmVtb3ZlQ2xpY2tMaXN0ZW5lckZuOiBWb2lkRnVuY3Rpb24gfCBudWxsID0gbnVsbDtcblxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgcG9wb3ZlcjogVGh5UG9wb3ZlciwgcHJpdmF0ZSByZW5kZXJlcjogUmVuZGVyZXIyLCBwcml2YXRlIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYpIHt9XG5cbiAgICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5yZW1vdmVDbGlja0xpc3RlbmVyRm4/LigpO1xuICAgIH1cbn1cbiIsIjxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiJdfQ==
|
|
@@ -28,6 +28,7 @@ export class ThyPopover extends ThyAbstractOverlayService {
|
|
|
28
28
|
const positionStrategy = new FlexibleConnectedPositionStrategy(origin, this._viewportRuler, this._document, this._platform, this._overlayContainer);
|
|
29
29
|
const positions = getFlexiblePositions(config.placement, config.offset, 'thy-popover');
|
|
30
30
|
positionStrategy.withPositions(positions);
|
|
31
|
+
positionStrategy.withPush(config.canPush);
|
|
31
32
|
positionStrategy.withGrowAfterOpen(true);
|
|
32
33
|
positionStrategy.withTransformOriginOn('.thy-popover-container');
|
|
33
34
|
positionStrategy.positionChanges.pipe(takeUntil(this.ngUnsubscribe$)).subscribe(change => {
|
|
@@ -209,4 +210,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.3", ngImpor
|
|
|
209
210
|
type: Inject,
|
|
210
211
|
args: [DOCUMENT]
|
|
211
212
|
}] }, { type: i2.Platform }, { type: i1.OverlayContainer }] });
|
|
212
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9wb3Zlci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3BvcG92ZXIvcG9wb3Zlci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBOEIsb0JBQW9CLEVBQXlCLHlCQUF5QixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDckksT0FBTyxFQUFnQixVQUFVLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsRUFBRSxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNuQyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFM0MsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxXQUFXLEVBQUUsYUFBYSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDbkUsT0FBTyxFQUNILGlDQUFpQyxFQUVqQyxPQUFPLEVBRVAsZ0JBQWdCLEVBSWhCLGFBQWEsRUFDaEIsTUFBTSxzQkFBc0IsQ0FBQztBQUM5QixPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDakQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMzQyxPQUFPLEVBQWMsTUFBTSxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFhLFFBQVEsRUFBK0IsTUFBTSxlQUFlLENBQUM7QUFFbkksT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDcEUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLGFBQWEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNyRSxPQUFPLEVBQ0gsMEJBQTBCLEVBQzFCLGdDQUFnQyxFQUNoQywyQkFBMkIsRUFDM0IsZ0JBQWdCLEVBQ25CLE1BQU0sa0JBQWtCLENB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QUFDLDBCQUEwQjs7MEJBRWpDLE1BQU07MkJBQUMsMkJBQTJCOzswQkFJbEMsUUFBUTs7MEJBQUksTUFBTTsyQkFBQyxRQUFRIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50VHlwZU9yVGVtcGxhdGVSZWYsIGdldEZsZXhpYmxlUG9zaXRpb25zLCBUaHlBYnN0cmFjdE92ZXJsYXlSZWYsIFRoeUFic3RyYWN0T3ZlcmxheVNlcnZpY2UgfSBmcm9tICduZ3gtdGV0aHlzL2NvcmUnO1xuaW1wb3J0IHsgRnVuY3Rpb25Qcm9wLCBpc0Z1bmN0aW9uIH0gZnJvbSAnbmd4LXRldGh5cy91dGlsJztcbmltcG9ydCB7IG9mLCBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7IERpcmVjdGlvbmFsaXR5IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2JpZGknO1xuaW1wb3J0IHsgY29lcmNlQXJyYXksIGNvZXJjZUVsZW1lbnQgfSBmcm9tICdAYW5ndWxhci9jZGsvY29lcmNpb24nO1xuaW1wb3J0IHtcbiAgICBGbGV4aWJsZUNvbm5lY3RlZFBvc2l0aW9uU3RyYXRlZ3ksXG4gICAgRmxleGlibGVDb25uZWN0ZWRQb3NpdGlvblN0cmF0ZWd5T3JpZ2luLFxuICAgIE92ZXJsYXksXG4gICAgT3ZlcmxheUNvbmZpZyxcbiAgICBPdmVybGF5Q29udGFpbmVyLFxuICAgIE92ZXJsYXlSZWYsXG4gICAgUG9zaXRpb25TdHJhdGVneSxcbiAgICBTY3JvbGxTdHJhdGVneSxcbiAgICBWaWV3cG9ydFJ1bGVyXG59IGZyb20gJ0Bhbmd1bGFyL2Nkay9vdmVybGF5JztcbmltcG9ydCB7IFBsYXRmb3JtIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3BsYXRmb3JtJztcbmltcG9ydCB7IENvbXBvbmVudFBvcnRhbCB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9wb3J0YWwnO1xuaW1wb3J0IHsgRE9DVU1FTlQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgRWxlbWVudFJlZiwgSW5qZWN0LCBJbmplY3RhYmxlLCBJbmplY3RvciwgTmdab25lLCBPbkRlc3Ryb3ksIE9wdGlvbmFsLCBTdGF0aWNQcm92aWRlciwgVGVtcGxhdGVSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgVGh5UG9wb3ZlckNvbnRhaW5lciB9IGZyb20gJy4vcG9wb3Zlci1jb250YWluZXIuY29tcG9uZW50JztcbmltcG9ydCB7IFRoeUludGVybmFsUG9wb3ZlclJlZiwgVGh5UG9wb3ZlclJlZiB9IGZyb20gJy4vcG9wb3Zlci1yZWYnO1xuaW1wb3J0IHtcbiAgICBUSFlfUE9QT1ZFUl9ERUZBVUxUX0NPTkZJRyxcbiAgICBUSFlfUE9QT1ZFUl9ERUZBVUxUX0NPTkZJR19WQUxVRSxcbiAgICBUSFlfUE9QT1ZFUl9TQ1JPTExfU1RSQVRFR1ksXG4gICAgVGh5UG9wb3ZlckNvbmZpZ1xufSBmcm9tICcuL3BvcG92ZXIuY29uZmlnJztcbmltcG9ydCB7IHBvcG92ZXJBYnN0cmFjdE92ZXJsYXlPcHRpb25zIH0gZnJvbSAnLi9wb3BvdmVyLm9wdGlvbnMnO1xuaW1wb3J0IHsgU2FmZUFueSB9IGZyb20gJ25neC10ZXRoeXMvdHlwZXMnO1xuXG4vKipcbiAqIEBwdWJsaWNcbiAqIEBvcmRlciAxMFxuICovXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgVGh5UG9wb3ZlciBleHRlbmRzIFRoeUFic3RyYWN0T3ZlcmxheVNlcnZpY2U8VGh5UG9wb3ZlckNvbmZpZywgVGh5UG9wb3ZlckNvbnRhaW5lcj4gaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xuICAgIHByaXZhdGUgcmVhZG9ubHkgbmdVbnN1YnNjcmliZSQgPSBuZXcgU3ViamVjdCgpO1xuXG4gICAgcHJpdmF0ZSBvcmlnaW5JbnN0YW5jZXNNYXAgPSBuZXcgTWFwPFxuICAgICAgICBFbGVtZW50UmVmIHwgSFRNTEVsZW1lbnQsXG4gICAgICAgIHtcbiAgICAgICAgICAgIGNvbmZpZzogVGh5UG9wb3ZlckNvbmZpZztcbiAgICAgICAgICAgIHBvcG92ZXJSZWY6IFRoeVBvcG92ZXJSZWY8YW55LCBhbnk+O1xuICAgICAgICB9XG4gICAgPigpO1xuXG4gICAgcHJpdmF0ZSBidWlsZFBvc2l0aW9uU3RyYXRlZ3k8VERhdGE+KGNvbmZpZzogVGh5UG9wb3ZlckNvbmZpZzxURGF0YT4pOiBQb3NpdGlvblN0cmF0ZWd5IHtcbiAgICAgICAgY29uc3Qgb3JpZ2luOiBGbGV4aWJsZUNvbm5lY3RlZFBvc2l0aW9uU3RyYXRlZ3lPcmlnaW4gPSBjb25maWcub3JpZ2luUG9zaXRpb24gPyBjb25maWcub3JpZ2luUG9zaXRpb24gOiBjb25maWcub3JpZ2luO1xuICAgICAgICAvLyBjb25zdCBwb3NpdGlvblN0cmF0ZWd5ID0gdGhpcy5vdmVybGF5LnBvc2l0aW9uKCkuZmxleGlibGVDb25uZWN0ZWRUbyhvcmlnaW4pO1xuICAgICAgICBjb25zdCBwb3NpdGlvblN0cmF0ZWd5ID0gbmV3IEZsZXhpYmxlQ29ubmVjdGVkUG9zaXRpb25TdHJhdGVneShcbiAgICAgICAgICAgIG9yaWdpbixcbiAgICAgICAgICAgIHRoaXMuX3ZpZXdwb3J0UnVsZXIsXG4gICAgICAgICAgICB0aGlzLl9kb2N1bWVudCxcbiAgICAgICAgICAgIHRoaXMuX3BsYXRmb3JtLFxuICAgICAgICAgICAgdGhpcy5fb3ZlcmxheUNvbnRhaW5lclxuICAgICAgICApO1xuICAgICAgICBjb25zdCBwb3NpdGlvbnMgPSBnZXRGbGV4aWJsZVBvc2l0aW9ucyhjb25maWcucGxhY2VtZW50LCBjb25maWcub2Zmc2V0LCAndGh5LXBvcG92ZXInKTtcbiAgICAgICAgcG9zaXRpb25TdHJhdGVneS53aXRoUG9zaXRpb25zKHBvc2l0aW9ucyk7XG4gICAgICAgIHBvc2l0aW9uU3RyYXRlZ3kud2l0aEdyb3dBZnRlck9wZW4odHJ1ZSk7XG4gICAgICAgIHBvc2l0aW9uU3RyYXRlZ3kud2l0aFRyYW5zZm9ybU9yaWdpbk9uKCcudGh5LXBvcG92ZXItY29udGFpbmVyJyk7XG4gICAgICAgIHBvc2l0aW9uU3RyYXRlZ3kucG9zaXRpb25DaGFuZ2VzLnBpcGUodGFrZVVudGlsKHRoaXMubmdVbnN1YnNjcmliZSQpKS5zdWJzY3JpYmUoY2hhbmdlID0+IHtcbiAgICAgICAgICAgIGlmIChjaGFuZ2Uuc2Nyb2xsYWJsZVZpZXdQcm9wZXJ0aWVzLmlzT3ZlcmxheUNsaXBwZWQpIHtcbiAgICAgICAgICAgICAgICAvLyBBZnRlciBwb3NpdGlvbiBjaGFuZ2VzIG9jY3VyIGFuZCB0aGUgb3ZlcmxheSBpcyBjbGlwcGVkIGJ5XG4gICAgICAgICAgICAgICAgLy8gYSBwYXJlbnQgc2Nyb2xsYWJsZSB0aGVuIGNsb3NlIHRoZSB0b29sdGlwLlxuICAgICAgICAgICAgICAgIHRoaXMubmdab25lLnJ1bigoKSA9PiB0aGlzLmNsb3NlKCkpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgICAgcmV0dXJuIHBvc2l0aW9uU3RyYXRlZ3k7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBidWlsZFNjcm9sbFN0cmF0ZWd5KGNvbmZpZzogVGh5UG9wb3ZlckNvbmZpZyk6IFNjcm9sbFN0cmF0ZWd5IHtcbiAgICAgICAgaWYgKGNvbmZpZy5zY3JvbGxTdHJhdGVneSkge1xuICAgICAgICAgICAgcmV0dXJuIGNvbmZpZy5zY3JvbGxTdHJhdGVneTtcbiAgICAgICAgfSBlbHNlIGlmICh0aGlzLnNjcm9sbFN0cmF0ZWd5ICYmIGlzRnVuY3Rpb24odGhpcy5zY3JvbGxTdHJhdGVneSkpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLnNjcm9sbFN0cmF0ZWd5KCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLm92ZXJsYXkuc2Nyb2xsU3RyYXRlZ2llcy5ibG9jaygpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGJ1aWxkT3ZlcmxheUNvbmZpZzxURGF0YT4oY29uZmlnOiBUaHlQb3BvdmVyQ29uZmlnPFREYXRhPik6IE92ZXJsYXlDb25maWcge1xuICAgICAgICBjb25zdCBwb3NpdGlvblN0cmF0ZWd5ID0gdGhpcy5idWlsZFBvc2l0aW9uU3RyYXRlZ3koY29uZmlnKTtcbiAgICAgICAgY29uc3Qgb3ZlcmxheUNvbmZpZyA9IHRoaXMuYnVpbGRCYXNlT3ZlcmxheUNvbmZpZyhjb25maWcsICd0aHktcG9wb3Zlci1wYW5lbCcpO1xuICAgICAgICBvdmVybGF5Q29uZmlnLnBvc2l0aW9uU3RyYXRlZ3kgPSBwb3NpdGlvblN0cmF0ZWd5O1xuICAgICAgICBvdmVybGF5Q29uZmlnLnNjcm9sbFN0cmF0ZWd5ID0gdGhpcy5idWlsZFNjcm9sbFN0cmF0ZWd5KGNvbmZpZyk7XG4gICAgICAgIHJldHVybiBvdmVybGF5Q29uZmlnO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBhdHRhY2hPdmVybGF5Q29udGFpbmVyKG92ZXJsYXk6IE92ZXJsYXlSZWYsIGNvbmZpZzogVGh5UG9wb3ZlckNvbmZpZzxhbnk+KTogVGh5UG9wb3ZlckNvbnRhaW5lciB7XG4gICAgICAgIGNvbnN0IHVzZXJJbmplY3RvciA9IGNvbmZpZyAmJiBjb25maWcudmlld0NvbnRhaW5lclJlZiAmJiBjb25maWcudmlld0NvbnRhaW5lclJlZi5pbmplY3RvcjtcbiAgICAgICAgY29uc3QgaW5qZWN0b3IgPSBJbmplY3Rvci5jcmVhdGUoe1xuICAgICAgICAgICAgcGFyZW50OiB1c2VySW5qZWN0b3IgfHwgdGhpcy5pbmplY3RvcixcbiAgICAgICAgICAgIHByb3ZpZGVyczogW3sgcHJvdmlkZTogVGh5UG9wb3ZlckNvbmZpZywgdXNlVmFsdWU6IGNvbmZpZyB9XVxuICAgICAgICB9KTtcbiAgICAgICAgY29uc3QgY29udGFpbmVyUG9ydGFsID0gbmV3IENvbXBvbmVudFBvcnRhbChUaHlQb3BvdmVyQ29udGFpbmVyLCBjb25maWcudmlld0NvbnRhaW5lclJlZiwgaW5qZWN0b3IpO1xuICAgICAgICBjb25zdCBjb250YWluZXJSZWYgPSBvdmVybGF5LmF0dGFjaDxUaHlQb3BvdmVyQ29udGFpbmVyPihjb250YWluZXJQb3J0YWwpO1xuICAgICAgICByZXR1cm4gY29udGFpbmVyUmVmLmluc3RhbmNlO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBjcmVhdGVBYnN0cmFjdE92ZXJsYXlSZWY8VCwgVFJlc3VsdCA9IHVua25vd24+KFxuICAgICAgICBvdmVybGF5UmVmOiBPdmVybGF5UmVmLFxuICAgICAgICBjb250YWluZXJJbnN0YW5jZTogVGh5UG9wb3ZlckNvbnRhaW5lcixcbiAgICAgICAgY29uZmlnOiBUaHlQb3BvdmVyQ29uZmlnXG4gICAgKTogVGh5QWJzdHJhY3RPdmVybGF5UmVmPFQsIFRoeVBvcG92ZXJDb250YWluZXIsIFRSZXN1bHQ+IHtcbiAgICAgICAgcmV0dXJuIG5ldyBUaHlJbnRlcm5hbFBvcG92ZXJSZWYob3ZlcmxheVJlZiwgY29udGFpbmVySW5zdGFuY2UsIGNvbmZpZyk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGNyZWF0ZUluamVjdG9yPFQ+KGNvbmZpZzogVGh5UG9wb3ZlckNvbmZpZywgcG9wb3ZlclJlZjogVGh5UG9wb3ZlclJlZjxUPiwgcG9wb3ZlckNvbnRhaW5lcjogVGh5UG9wb3ZlckNvbnRhaW5lcik6IEluamVjdG9yIHtcbiAgICAgICAgY29uc3QgdXNlckluamVjdG9yID0gY29uZmlnICYmIGNvbmZpZy52aWV3Q29udGFpbmVyUmVmICYmIGNvbmZpZy52aWV3Q29udGFpbmVyUmVmLmluamVjdG9yO1xuXG4gICAgICAgIGNvbnN0IGluamVjdGlvblRva2VuczogU3RhdGljUHJvdmlkZXJbXSA9IFtcbiAgICAgICAgICAgIHsgcHJvdmlkZTogVGh5UG9wb3ZlckNvbnRhaW5lciwgdXNlVmFsdWU6IHBvcG92ZXJDb250YWluZXIgfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBwcm92aWRlOiBUaHlQb3BvdmVyUmVmLFxuICAgICAgICAgICAgICAgIHVzZVZhbHVlOiBwb3BvdmVyUmVmXG4gICAgICAgICAgICB9XG4gICAgICAgIF07XG5cbiAgICAgICAgaWYgKGNvbmZpZy5kaXJlY3Rpb24gJiYgKCF1c2VySW5qZWN0b3IgfHwgIXVzZXJJbmplY3Rvci5nZXQ8RGlyZWN0aW9uYWxpdHkgfCBudWxsPihEaXJlY3Rpb25hbGl0eSwgbnVsbCkpKSB7XG4gICAgICAgICAgICBpbmplY3Rpb25Ub2tlbnMucHVzaCh7XG4gICAgICAgICAgICAgICAgcHJvdmlkZTogRGlyZWN0aW9uYWxpdHksXG4gICAgICAgICAgICAgICAgdXNlVmFsdWU6IHtcbiAgICAgICAgICAgICAgICAgICAgdmFsdWU6IGNvbmZpZy5kaXJlY3Rpb24sXG4gICAgICAgICAgICAgICAgICAgIGNoYW5nZTogb2YoKVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIEluamVjdG9yLmNyZWF0ZSh7IHBhcmVudDogdXNlckluamVjdG9yIHx8IHRoaXMuaW5qZWN0b3IsIHByb3ZpZGVyczogaW5qZWN0aW9uVG9rZW5zIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgb3JpZ2luRWxlbWVudEFkZEFjdGl2ZUNsYXNzKGNvbmZpZzogVGh5UG9wb3ZlckNvbmZpZykge1xuICAgICAgICBpZiAoY29uZmlnLm9yaWdpbkFjdGl2ZUNsYXNzKSB7XG4gICAgICAgICAgICBjb2VyY2VFbGVtZW50PEhUTUxFbGVtZW50Pihjb25maWcub3JpZ2luKS5jbGFzc0xpc3QuYWRkKC4uLmNvZXJjZUFycmF5KGNvbmZpZy5vcmlnaW5BY3RpdmVDbGFzcykpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBvcmlnaW5FbGVtZW50UmVtb3ZlQWN0aXZlQ2xhc3MoY29uZmlnOiBUaHlQb3BvdmVyQ29uZmlnKSB7XG4gICAgICAgIGlmIChjb25maWcub3JpZ2luQWN0aXZlQ2xhc3MpIHtcbiAgICAgICAgICAgIGNvZXJjZUVsZW1lbnQ8SFRNTEVsZW1lbnQ+KGNvbmZpZy5vcmlnaW4pLmNsYXNzTGlzdC5yZW1vdmUoLi4uY29lcmNlQXJyYXkoY29uZmlnLm9yaWdpbkFjdGl2ZUNsYXNzKSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgb3ZlcmxheTogT3ZlcmxheSxcbiAgICAgICAgaW5qZWN0b3I6IEluamVjdG9yLFxuICAgICAgICBAT3B0aW9uYWwoKVxuICAgICAgICBASW5qZWN0KFRIWV9QT1BPVkVSX0RFRkFVTFRfQ09ORklHKVxuICAgICAgICBkZWZhdWx0Q29uZmlnOiBUaHlQb3BvdmVyQ29uZmlnLFxuICAgICAgICBASW5qZWN0KFRIWV9QT1BPVkVSX1NDUk9MTF9TVFJBVEVHWSlcbiAgICAgICAgc2Nyb2xsU3RyYXRlZ3k6IEZ1bmN0aW9uUHJvcDxTY3JvbGxTdHJhdGVneT4sXG4gICAgICAgIHByaXZhdGUgbmdab25lOiBOZ1pvbmUsXG4gICAgICAgIHByaXZhdGUgX3ZpZXdwb3J0UnVsZXI6IFZpZXdwb3J0UnVsZXIsXG4gICAgICAgIEBPcHRpb25hbCgpIEBJbmplY3QoRE9DVU1FTlQpIHByaXZhdGUgX2RvY3VtZW50OiBhbnksXG4gICAgICAgIHByaXZhdGUgX3BsYXRmb3JtOiBQbGF0Zm9ybSxcbiAgICAgICAgcHJpdmF0ZSBfb3ZlcmxheUNvbnRhaW5lcjogT3ZlcmxheUNvbnRhaW5lclxuICAgICkge1xuICAgICAgICBzdXBlcihcbiAgICAgICAgICAgIHBvcG92ZXJBYnN0cmFjdE92ZXJsYXlPcHRpb25zLFxuICAgICAgICAgICAgb3ZlcmxheSxcbiAgICAgICAgICAgIGluamVjdG9yLFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIC4uLlRIWV9QT1BPVkVSX0RFRkFVTFRfQ09ORklHX1ZBTFVFLFxuICAgICAgICAgICAgICAgIC4uLmRlZmF1bHRDb25maWdcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBzY3JvbGxTdHJhdGVneVxuICAgICAgICApO1xuICAgIH1cblxuICAgIHByaXZhdGUgZW5zdXJlQ2xvc2VDbG9zZXN0KG9yaWdpbjogSFRNTEVsZW1lbnQpIHtcbiAgICAgICAgbGV0IGNsb3NlQW5kRW5kID0gZmFsc2U7XG4gICAgICAgIHRoaXMub3JpZ2luSW5zdGFuY2VzTWFwLmZvckVhY2goKHZhbHVlLCBrZXkpID0+IHtcbiAgICAgICAgICAgIGlmICh2YWx1ZS5jb25maWcubWFudWFsQ2xvc3VyZSkge1xuICAgICAgICAgICAgICAgIGlmIChrZXkgPT09IG9yaWdpbikge1xuICAgICAgICAgICAgICAgICAgICB2YWx1ZS5wb3BvdmVyUmVmLmNsb3NlKCk7XG4gICAgICAgICAgICAgICAgICAgIGNsb3NlQW5kRW5kID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIGlmIChrZXkgPT09IG9yaWdpbikge1xuICAgICAgICAgICAgICAgICAgICBjbG9zZUFuZEVuZCA9IHRydWU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHZhbHVlLnBvcG92ZXJSZWYuY2xvc2UoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICAgIHJldHVybiBjbG9zZUFuZEVuZDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDmiZPlvIDmgqzmta7lsYJcbiAgICAgKi9cbiAgICBvcGVuPFQsIFREYXRhID0gdW5rbm93biwgVFJlc3VsdCA9IHVua25vd24+KFxuICAgICAgICBjb21wb25lbnRPclRlbXBsYXRlUmVmOiBDb21wb25lbnRUeXBlT3JUZW1wbGF0ZVJlZjxUPixcbiAgICAgICAgY29uZmlnPzogVGh5UG9wb3ZlckNvbmZpZzxURGF0YT5cbiAgICApOiBUaHlQb3BvdmVyUmVmPFQsIFRSZXN1bHQ+IHtcbiAgICAgICAgY29uc3Qgb3JpZ2luRWxlbWVudCA9IGNvZXJjZUVsZW1lbnQoY29uZmlnLm9yaWdpbik7XG4gICAgICAgIC8vIOm7mOiupOWFs+mXreS5i+WJjeeahOW8ueWHuuahhlxuICAgICAgICAvLyAxLiDlvZPkuYvliY3nmoQgUG9wb3ZlciDorr7nva4gbWFudWFsQ2xvc3VyZSDkuLogdHJ1ZSDml7YsIOW8ueWHuuWFtuS7liBQb3BvdmVyIOaXtuS4jeiHquWKqOWFs+mXrSBtYW51YWxDbG9zdXJlIOS4uiB0cnVlIOeahCBQb3BvdmVyXG4gICAgICAgIC8vIDIuIOW9k+WJjeeahCBPcmlnaW4g5a+55bqU55qEIFBvcG92ZXIg5bey57uP5by55Ye677yM5LiN566hIG1hbnVhbENsb3N1cmUg6K6+572u5Li65L2V77yM55u05o6l5YWz6Zet5bm26L+U5ZueXG4gICAgICAgIGlmICh0aGlzLmVuc3VyZUNsb3NlQ2xvc2VzdChvcmlnaW5FbGVtZW50KSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgcG9wb3ZlclJlZiA9IHRoaXMub3Blbk92ZXJsYXk8VCwgVFJlc3VsdD4oY29tcG9uZW50T3JUZW1wbGF0ZVJlZiwgY29uZmlnKSBhcyBUaHlQb3BvdmVyUmVmPFQsIFRSZXN1bHQsIFREYXRhPjtcbiAgICAgICAgY29uZmlnID0gcG9wb3ZlclJlZi5jb250YWluZXJJbnN0YW5jZS5jb25maWc7XG4gICAgICAgIHBvcG92ZXJSZWYuYWZ0ZXJDbG9zZWQoKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5vcmlnaW5FbGVtZW50UmVtb3ZlQWN0aXZlQ2xhc3MoY29uZmlnKTtcbiAgICAgICAgICAgIHRoaXMub3JpZ2luSW5zdGFuY2VzTWFwLmRlbGV0ZShvcmlnaW5FbGVtZW50KTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgdGhpcy5vcmlnaW5FbGVtZW50QWRkQWN0aXZlQ2xhc3MoY29uZmlnKTtcbiAgICAgICAgdGhpcy5vcmlnaW5JbnN0YW5jZXNNYXAuc2V0KG9yaWdpbkVsZW1lbnQsIHtcbiAgICAgICAgICAgIGNvbmZpZyxcbiAgICAgICAgICAgIHBvcG92ZXJSZWZcbiAgICAgICAgfSk7XG5cbiAgICAgICAgcmV0dXJuIHBvcG92ZXJSZWY7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog5qC55o2uSWTojrflj5bmiZPlvIDnmoTmgqzmta7lsYJcbiAgICAgKi9cbiAgICBnZXRQb3BvdmVyQnlJZChpZDogc3RyaW5nKTogVGh5UG9wb3ZlclJlZjxhbnk+IHwgdW5kZWZpbmVkIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0QWJzdHJhY3RPdmVybGF5QnlJZChpZCkgYXMgVGh5UG9wb3ZlclJlZjxhbnk+IHwgdW5kZWZpbmVkO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIOiOt+WPluW3sue7j+aJk+W8gOeahOaCrOa1ruWxglxuICAgICAqL1xuICAgIGdldE9wZW5lZFBvcG92ZXJzKCk6IFRoeVBvcG92ZXJSZWY8U2FmZUFueT5bXSB7XG4gICAgICAgIHJldHVybiB0aGlzLmdldEFic3RyYWN0T3ZlcmxheXMoKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAZGVzY3JpcHRpb24uZW4tdXMgRmluZHMgdGhlIGNsb3Nlc3QgVGh5UG9wb3ZlclJlZiB0byBhbiBlbGVtZW50IGJ5IGxvb2tpbmcgYXQgdGhlIERPTS5cbiAgICAgKiBAZGVzY3JpcHRpb24g6YCa6L+HIERvbSDlhYPntKDmn6Xmib7mnIDov5HlvLnlh7rnmoTmgqzmta7lsYJcbiAgICAgKi9cbiAgICBnZXRDbG9zZXN0UG9wb3ZlcihlbGVtZW50OiBIVE1MRWxlbWVudCk6IFRoeVBvcG92ZXJSZWY8YW55PiB8IHVuZGVmaW5lZCB7XG4gICAgICAgIGNvbnN0IHBhcmVudCA9IGVsZW1lbnQuY2xvc2VzdCgnLnRoeS1wb3BvdmVyLWNvbnRhaW5lcicpO1xuXG4gICAgICAgIGlmIChwYXJlbnQgJiYgcGFyZW50LmlkKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5nZXRQb3BvdmVyQnlJZChwYXJlbnQuaWQpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIOWFs+mXreaCrOa1ruWxglxuICAgICAqL1xuICAgIGNsb3NlPFQ+KHJlc3VsdD86IFQsIGZvcmNlPzogYm9vbGVhbikge1xuICAgICAgICBzdXBlci5jbG9zZShyZXN1bHQsIGZvcmNlKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAaW50ZXJuYWxcbiAgICAgKi9cbiAgICBuZ09uRGVzdHJveSgpIHtcbiAgICAgICAgdGhpcy5kaXNwb3NlKCk7XG4gICAgfVxufVxuIl19
|
|
213
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9wb3Zlci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3BvcG92ZXIvcG9wb3Zlci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBOEIsb0JBQW9CLEVBQXlCLHlCQUF5QixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDckksT0FBTyxFQUFnQixVQUFVLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsRUFBRSxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNuQyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFM0MsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxXQUFXLEVBQUUsYUFBYSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDbkUsT0FBTyxFQUNILGlDQUFpQyxFQUVqQyxPQUFPLEVBRVAsZ0JBQWdCLEVBSWhCLGFBQWEsRUFDaEIsTUFBTSxzQkFBc0IsQ0FBQztBQUM5QixPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDakQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMzQyxPQUFPLEVBQWMsTUFBTSxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFhLFFBQVEsRUFBK0IsTUFBTSxlQUFlLENBQUM7QUFFbkksT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDcEUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLGFBQWEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNyRSxPQUFPLEVBQ0gsMEJBQTBCLEVBQzFCLGdDQUFnQyxFQUNoQywyQkFBMkIsRUFDM0IsZ0JBQWdCLEVBQ25CLE1BQU0sa0JBQWtCLENB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VTs7MkZBQVYsVUFBVTtrQkFEdEIsVUFBVTs7MEJBaUhGLFFBQVE7OzBCQUNSLE1BQU07MkJBQUMsMEJBQTBCOzswQkFFakMsTUFBTTsyQkFBQywyQkFBMkI7OzBCQUlsQyxRQUFROzswQkFBSSxNQUFNOzJCQUFDLFFBQVEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnRUeXBlT3JUZW1wbGF0ZVJlZiwgZ2V0RmxleGlibGVQb3NpdGlvbnMsIFRoeUFic3RyYWN0T3ZlcmxheVJlZiwgVGh5QWJzdHJhY3RPdmVybGF5U2VydmljZSB9IGZyb20gJ25neC10ZXRoeXMvY29yZSc7XG5pbXBvcnQgeyBGdW5jdGlvblByb3AsIGlzRnVuY3Rpb24gfSBmcm9tICduZ3gtdGV0aHlzL3V0aWwnO1xuaW1wb3J0IHsgb2YsIFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHsgRGlyZWN0aW9uYWxpdHkgfSBmcm9tICdAYW5ndWxhci9jZGsvYmlkaSc7XG5pbXBvcnQgeyBjb2VyY2VBcnJheSwgY29lcmNlRWxlbWVudCB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9jb2VyY2lvbic7XG5pbXBvcnQge1xuICAgIEZsZXhpYmxlQ29ubmVjdGVkUG9zaXRpb25TdHJhdGVneSxcbiAgICBGbGV4aWJsZUNvbm5lY3RlZFBvc2l0aW9uU3RyYXRlZ3lPcmlnaW4sXG4gICAgT3ZlcmxheSxcbiAgICBPdmVybGF5Q29uZmlnLFxuICAgIE92ZXJsYXlDb250YWluZXIsXG4gICAgT3ZlcmxheVJlZixcbiAgICBQb3NpdGlvblN0cmF0ZWd5LFxuICAgIFNjcm9sbFN0cmF0ZWd5LFxuICAgIFZpZXdwb3J0UnVsZXJcbn0gZnJvbSAnQGFuZ3VsYXIvY2RrL292ZXJsYXknO1xuaW1wb3J0IHsgUGxhdGZvcm0gfSBmcm9tICdAYW5ndWxhci9jZGsvcGxhdGZvcm0nO1xuaW1wb3J0IHsgQ29tcG9uZW50UG9ydGFsIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3BvcnRhbCc7XG5pbXBvcnQgeyBET0NVTUVOVCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBFbGVtZW50UmVmLCBJbmplY3QsIEluamVjdGFibGUsIEluamVjdG9yLCBOZ1pvbmUsIE9uRGVzdHJveSwgT3B0aW9uYWwsIFN0YXRpY1Byb3ZpZGVyLCBUZW1wbGF0ZVJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBUaHlQb3BvdmVyQ29udGFpbmVyIH0gZnJvbSAnLi9wb3BvdmVyLWNvbnRhaW5lci5jb21wb25lbnQnO1xuaW1wb3J0IHsgVGh5SW50ZXJuYWxQb3BvdmVyUmVmLCBUaHlQb3BvdmVyUmVmIH0gZnJvbSAnLi9wb3BvdmVyLXJlZic7XG5pbXBvcnQge1xuICAgIFRIWV9QT1BPVkVSX0RFRkFVTFRfQ09ORklHLFxuICAgIFRIWV9QT1BPVkVSX0RFRkFVTFRfQ09ORklHX1ZBTFVFLFxuICAgIFRIWV9QT1BPVkVSX1NDUk9MTF9TVFJBVEVHWSxcbiAgICBUaHlQb3BvdmVyQ29uZmlnXG59IGZyb20gJy4vcG9wb3Zlci5jb25maWcnO1xuaW1wb3J0IHsgcG9wb3ZlckFic3RyYWN0T3ZlcmxheU9wdGlvbnMgfSBmcm9tICcuL3BvcG92ZXIub3B0aW9ucyc7XG5pbXBvcnQgeyBTYWZlQW55IH0gZnJvbSAnbmd4LXRldGh5cy90eXBlcyc7XG5cbi8qKlxuICogQHB1YmxpY1xuICogQG9yZGVyIDEwXG4gKi9cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBUaHlQb3BvdmVyIGV4dGVuZHMgVGh5QWJzdHJhY3RPdmVybGF5U2VydmljZTxUaHlQb3BvdmVyQ29uZmlnLCBUaHlQb3BvdmVyQ29udGFpbmVyPiBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XG4gICAgcHJpdmF0ZSByZWFkb25seSBuZ1Vuc3Vic2NyaWJlJCA9IG5ldyBTdWJqZWN0KCk7XG5cbiAgICBwcml2YXRlIG9yaWdpbkluc3RhbmNlc01hcCA9IG5ldyBNYXA8XG4gICAgICAgIEVsZW1lbnRSZWYgfCBIVE1MRWxlbWVudCxcbiAgICAgICAge1xuICAgICAgICAgICAgY29uZmlnOiBUaHlQb3BvdmVyQ29uZmlnO1xuICAgICAgICAgICAgcG9wb3ZlclJlZjogVGh5UG9wb3ZlclJlZjxhbnksIGFueT47XG4gICAgICAgIH1cbiAgICA+KCk7XG5cbiAgICBwcml2YXRlIGJ1aWxkUG9zaXRpb25TdHJhdGVneTxURGF0YT4oY29uZmlnOiBUaHlQb3BvdmVyQ29uZmlnPFREYXRhPik6IFBvc2l0aW9uU3RyYXRlZ3kge1xuICAgICAgICBjb25zdCBvcmlnaW46IEZsZXhpYmxlQ29ubmVjdGVkUG9zaXRpb25TdHJhdGVneU9yaWdpbiA9IGNvbmZpZy5vcmlnaW5Qb3NpdGlvbiA/IGNvbmZpZy5vcmlnaW5Qb3NpdGlvbiA6IGNvbmZpZy5vcmlnaW47XG4gICAgICAgIC8vIGNvbnN0IHBvc2l0aW9uU3RyYXRlZ3kgPSB0aGlzLm92ZXJsYXkucG9zaXRpb24oKS5mbGV4aWJsZUNvbm5lY3RlZFRvKG9yaWdpbik7XG4gICAgICAgIGNvbnN0IHBvc2l0aW9uU3RyYXRlZ3kgPSBuZXcgRmxleGlibGVDb25uZWN0ZWRQb3NpdGlvblN0cmF0ZWd5KFxuICAgICAgICAgICAgb3JpZ2luLFxuICAgICAgICAgICAgdGhpcy5fdmlld3BvcnRSdWxlcixcbiAgICAgICAgICAgIHRoaXMuX2RvY3VtZW50LFxuICAgICAgICAgICAgdGhpcy5fcGxhdGZvcm0sXG4gICAgICAgICAgICB0aGlzLl9vdmVybGF5Q29udGFpbmVyXG4gICAgICAgICk7XG4gICAgICAgIGNvbnN0IHBvc2l0aW9ucyA9IGdldEZsZXhpYmxlUG9zaXRpb25zKGNvbmZpZy5wbGFjZW1lbnQsIGNvbmZpZy5vZmZzZXQsICd0aHktcG9wb3ZlcicpO1xuICAgICAgICBwb3NpdGlvblN0cmF0ZWd5LndpdGhQb3NpdGlvbnMocG9zaXRpb25zKTtcbiAgICAgICAgcG9zaXRpb25TdHJhdGVneS53aXRoUHVzaChjb25maWcuY2FuUHVzaCk7XG4gICAgICAgIHBvc2l0aW9uU3RyYXRlZ3kud2l0aEdyb3dBZnRlck9wZW4odHJ1ZSk7XG4gICAgICAgIHBvc2l0aW9uU3RyYXRlZ3kud2l0aFRyYW5zZm9ybU9yaWdpbk9uKCcudGh5LXBvcG92ZXItY29udGFpbmVyJyk7XG4gICAgICAgIHBvc2l0aW9uU3RyYXRlZ3kucG9zaXRpb25DaGFuZ2VzLnBpcGUodGFrZVVudGlsKHRoaXMubmdVbnN1YnNjcmliZSQpKS5zdWJzY3JpYmUoY2hhbmdlID0+IHtcbiAgICAgICAgICAgIGlmIChjaGFuZ2Uuc2Nyb2xsYWJsZVZpZXdQcm9wZXJ0aWVzLmlzT3ZlcmxheUNsaXBwZWQpIHtcbiAgICAgICAgICAgICAgICAvLyBBZnRlciBwb3NpdGlvbiBjaGFuZ2VzIG9jY3VyIGFuZCB0aGUgb3ZlcmxheSBpcyBjbGlwcGVkIGJ5XG4gICAgICAgICAgICAgICAgLy8gYSBwYXJlbnQgc2Nyb2xsYWJsZSB0aGVuIGNsb3NlIHRoZSB0b29sdGlwLlxuICAgICAgICAgICAgICAgIHRoaXMubmdab25lLnJ1bigoKSA9PiB0aGlzLmNsb3NlKCkpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgICAgcmV0dXJuIHBvc2l0aW9uU3RyYXRlZ3k7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBidWlsZFNjcm9sbFN0cmF0ZWd5KGNvbmZpZzogVGh5UG9wb3ZlckNvbmZpZyk6IFNjcm9sbFN0cmF0ZWd5IHtcbiAgICAgICAgaWYgKGNvbmZpZy5zY3JvbGxTdHJhdGVneSkge1xuICAgICAgICAgICAgcmV0dXJuIGNvbmZpZy5zY3JvbGxTdHJhdGVneTtcbiAgICAgICAgfSBlbHNlIGlmICh0aGlzLnNjcm9sbFN0cmF0ZWd5ICYmIGlzRnVuY3Rpb24odGhpcy5zY3JvbGxTdHJhdGVneSkpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLnNjcm9sbFN0cmF0ZWd5KCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLm92ZXJsYXkuc2Nyb2xsU3RyYXRlZ2llcy5ibG9jaygpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGJ1aWxkT3ZlcmxheUNvbmZpZzxURGF0YT4oY29uZmlnOiBUaHlQb3BvdmVyQ29uZmlnPFREYXRhPik6IE92ZXJsYXlDb25maWcge1xuICAgICAgICBjb25zdCBwb3NpdGlvblN0cmF0ZWd5ID0gdGhpcy5idWlsZFBvc2l0aW9uU3RyYXRlZ3koY29uZmlnKTtcbiAgICAgICAgY29uc3Qgb3ZlcmxheUNvbmZpZyA9IHRoaXMuYnVpbGRCYXNlT3ZlcmxheUNvbmZpZyhjb25maWcsICd0aHktcG9wb3Zlci1wYW5lbCcpO1xuICAgICAgICBvdmVybGF5Q29uZmlnLnBvc2l0aW9uU3RyYXRlZ3kgPSBwb3NpdGlvblN0cmF0ZWd5O1xuICAgICAgICBvdmVybGF5Q29uZmlnLnNjcm9sbFN0cmF0ZWd5ID0gdGhpcy5idWlsZFNjcm9sbFN0cmF0ZWd5KGNvbmZpZyk7XG4gICAgICAgIHJldHVybiBvdmVybGF5Q29uZmlnO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBhdHRhY2hPdmVybGF5Q29udGFpbmVyKG92ZXJsYXk6IE92ZXJsYXlSZWYsIGNvbmZpZzogVGh5UG9wb3ZlckNvbmZpZzxhbnk+KTogVGh5UG9wb3ZlckNvbnRhaW5lciB7XG4gICAgICAgIGNvbnN0IHVzZXJJbmplY3RvciA9IGNvbmZpZyAmJiBjb25maWcudmlld0NvbnRhaW5lclJlZiAmJiBjb25maWcudmlld0NvbnRhaW5lclJlZi5pbmplY3RvcjtcbiAgICAgICAgY29uc3QgaW5qZWN0b3IgPSBJbmplY3Rvci5jcmVhdGUoe1xuICAgICAgICAgICAgcGFyZW50OiB1c2VySW5qZWN0b3IgfHwgdGhpcy5pbmplY3RvcixcbiAgICAgICAgICAgIHByb3ZpZGVyczogW3sgcHJvdmlkZTogVGh5UG9wb3ZlckNvbmZpZywgdXNlVmFsdWU6IGNvbmZpZyB9XVxuICAgICAgICB9KTtcbiAgICAgICAgY29uc3QgY29udGFpbmVyUG9ydGFsID0gbmV3IENvbXBvbmVudFBvcnRhbChUaHlQb3BvdmVyQ29udGFpbmVyLCBjb25maWcudmlld0NvbnRhaW5lclJlZiwgaW5qZWN0b3IpO1xuICAgICAgICBjb25zdCBjb250YWluZXJSZWYgPSBvdmVybGF5LmF0dGFjaDxUaHlQb3BvdmVyQ29udGFpbmVyPihjb250YWluZXJQb3J0YWwpO1xuICAgICAgICByZXR1cm4gY29udGFpbmVyUmVmLmluc3RhbmNlO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBjcmVhdGVBYnN0cmFjdE92ZXJsYXlSZWY8VCwgVFJlc3VsdCA9IHVua25vd24+KFxuICAgICAgICBvdmVybGF5UmVmOiBPdmVybGF5UmVmLFxuICAgICAgICBjb250YWluZXJJbnN0YW5jZTogVGh5UG9wb3ZlckNvbnRhaW5lcixcbiAgICAgICAgY29uZmlnOiBUaHlQb3BvdmVyQ29uZmlnXG4gICAgKTogVGh5QWJzdHJhY3RPdmVybGF5UmVmPFQsIFRoeVBvcG92ZXJDb250YWluZXIsIFRSZXN1bHQ+IHtcbiAgICAgICAgcmV0dXJuIG5ldyBUaHlJbnRlcm5hbFBvcG92ZXJSZWYob3ZlcmxheVJlZiwgY29udGFpbmVySW5zdGFuY2UsIGNvbmZpZyk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGNyZWF0ZUluamVjdG9yPFQ+KGNvbmZpZzogVGh5UG9wb3ZlckNvbmZpZywgcG9wb3ZlclJlZjogVGh5UG9wb3ZlclJlZjxUPiwgcG9wb3ZlckNvbnRhaW5lcjogVGh5UG9wb3ZlckNvbnRhaW5lcik6IEluamVjdG9yIHtcbiAgICAgICAgY29uc3QgdXNlckluamVjdG9yID0gY29uZmlnICYmIGNvbmZpZy52aWV3Q29udGFpbmVyUmVmICYmIGNvbmZpZy52aWV3Q29udGFpbmVyUmVmLmluamVjdG9yO1xuXG4gICAgICAgIGNvbnN0IGluamVjdGlvblRva2VuczogU3RhdGljUHJvdmlkZXJbXSA9IFtcbiAgICAgICAgICAgIHsgcHJvdmlkZTogVGh5UG9wb3ZlckNvbnRhaW5lciwgdXNlVmFsdWU6IHBvcG92ZXJDb250YWluZXIgfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBwcm92aWRlOiBUaHlQb3BvdmVyUmVmLFxuICAgICAgICAgICAgICAgIHVzZVZhbHVlOiBwb3BvdmVyUmVmXG4gICAgICAgICAgICB9XG4gICAgICAgIF07XG5cbiAgICAgICAgaWYgKGNvbmZpZy5kaXJlY3Rpb24gJiYgKCF1c2VySW5qZWN0b3IgfHwgIXVzZXJJbmplY3Rvci5nZXQ8RGlyZWN0aW9uYWxpdHkgfCBudWxsPihEaXJlY3Rpb25hbGl0eSwgbnVsbCkpKSB7XG4gICAgICAgICAgICBpbmplY3Rpb25Ub2tlbnMucHVzaCh7XG4gICAgICAgICAgICAgICAgcHJvdmlkZTogRGlyZWN0aW9uYWxpdHksXG4gICAgICAgICAgICAgICAgdXNlVmFsdWU6IHtcbiAgICAgICAgICAgICAgICAgICAgdmFsdWU6IGNvbmZpZy5kaXJlY3Rpb24sXG4gICAgICAgICAgICAgICAgICAgIGNoYW5nZTogb2YoKVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIEluamVjdG9yLmNyZWF0ZSh7IHBhcmVudDogdXNlckluamVjdG9yIHx8IHRoaXMuaW5qZWN0b3IsIHByb3ZpZGVyczogaW5qZWN0aW9uVG9rZW5zIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgb3JpZ2luRWxlbWVudEFkZEFjdGl2ZUNsYXNzKGNvbmZpZzogVGh5UG9wb3ZlckNvbmZpZykge1xuICAgICAgICBpZiAoY29uZmlnLm9yaWdpbkFjdGl2ZUNsYXNzKSB7XG4gICAgICAgICAgICBjb2VyY2VFbGVtZW50PEhUTUxFbGVtZW50Pihjb25maWcub3JpZ2luKS5jbGFzc0xpc3QuYWRkKC4uLmNvZXJjZUFycmF5KGNvbmZpZy5vcmlnaW5BY3RpdmVDbGFzcykpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBvcmlnaW5FbGVtZW50UmVtb3ZlQWN0aXZlQ2xhc3MoY29uZmlnOiBUaHlQb3BvdmVyQ29uZmlnKSB7XG4gICAgICAgIGlmIChjb25maWcub3JpZ2luQWN0aXZlQ2xhc3MpIHtcbiAgICAgICAgICAgIGNvZXJjZUVsZW1lbnQ8SFRNTEVsZW1lbnQ+KGNvbmZpZy5vcmlnaW4pLmNsYXNzTGlzdC5yZW1vdmUoLi4uY29lcmNlQXJyYXkoY29uZmlnLm9yaWdpbkFjdGl2ZUNsYXNzKSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgb3ZlcmxheTogT3ZlcmxheSxcbiAgICAgICAgaW5qZWN0b3I6IEluamVjdG9yLFxuICAgICAgICBAT3B0aW9uYWwoKVxuICAgICAgICBASW5qZWN0KFRIWV9QT1BPVkVSX0RFRkFVTFRfQ09ORklHKVxuICAgICAgICBkZWZhdWx0Q29uZmlnOiBUaHlQb3BvdmVyQ29uZmlnLFxuICAgICAgICBASW5qZWN0KFRIWV9QT1BPVkVSX1NDUk9MTF9TVFJBVEVHWSlcbiAgICAgICAgc2Nyb2xsU3RyYXRlZ3k6IEZ1bmN0aW9uUHJvcDxTY3JvbGxTdHJhdGVneT4sXG4gICAgICAgIHByaXZhdGUgbmdab25lOiBOZ1pvbmUsXG4gICAgICAgIHByaXZhdGUgX3ZpZXdwb3J0UnVsZXI6IFZpZXdwb3J0UnVsZXIsXG4gICAgICAgIEBPcHRpb25hbCgpIEBJbmplY3QoRE9DVU1FTlQpIHByaXZhdGUgX2RvY3VtZW50OiBhbnksXG4gICAgICAgIHByaXZhdGUgX3BsYXRmb3JtOiBQbGF0Zm9ybSxcbiAgICAgICAgcHJpdmF0ZSBfb3ZlcmxheUNvbnRhaW5lcjogT3ZlcmxheUNvbnRhaW5lclxuICAgICkge1xuICAgICAgICBzdXBlcihcbiAgICAgICAgICAgIHBvcG92ZXJBYnN0cmFjdE92ZXJsYXlPcHRpb25zLFxuICAgICAgICAgICAgb3ZlcmxheSxcbiAgICAgICAgICAgIGluamVjdG9yLFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIC4uLlRIWV9QT1BPVkVSX0RFRkFVTFRfQ09ORklHX1ZBTFVFLFxuICAgICAgICAgICAgICAgIC4uLmRlZmF1bHRDb25maWdcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBzY3JvbGxTdHJhdGVneVxuICAgICAgICApO1xuICAgIH1cblxuICAgIHByaXZhdGUgZW5zdXJlQ2xvc2VDbG9zZXN0KG9yaWdpbjogSFRNTEVsZW1lbnQpIHtcbiAgICAgICAgbGV0IGNsb3NlQW5kRW5kID0gZmFsc2U7XG4gICAgICAgIHRoaXMub3JpZ2luSW5zdGFuY2VzTWFwLmZvckVhY2goKHZhbHVlLCBrZXkpID0+IHtcbiAgICAgICAgICAgIGlmICh2YWx1ZS5jb25maWcubWFudWFsQ2xvc3VyZSkge1xuICAgICAgICAgICAgICAgIGlmIChrZXkgPT09IG9yaWdpbikge1xuICAgICAgICAgICAgICAgICAgICB2YWx1ZS5wb3BvdmVyUmVmLmNsb3NlKCk7XG4gICAgICAgICAgICAgICAgICAgIGNsb3NlQW5kRW5kID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIGlmIChrZXkgPT09IG9yaWdpbikge1xuICAgICAgICAgICAgICAgICAgICBjbG9zZUFuZEVuZCA9IHRydWU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHZhbHVlLnBvcG92ZXJSZWYuY2xvc2UoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICAgIHJldHVybiBjbG9zZUFuZEVuZDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDmiZPlvIDmgqzmta7lsYJcbiAgICAgKi9cbiAgICBvcGVuPFQsIFREYXRhID0gdW5rbm93biwgVFJlc3VsdCA9IHVua25vd24+KFxuICAgICAgICBjb21wb25lbnRPclRlbXBsYXRlUmVmOiBDb21wb25lbnRUeXBlT3JUZW1wbGF0ZVJlZjxUPixcbiAgICAgICAgY29uZmlnPzogVGh5UG9wb3ZlckNvbmZpZzxURGF0YT5cbiAgICApOiBUaHlQb3BvdmVyUmVmPFQsIFRSZXN1bHQ+IHtcbiAgICAgICAgY29uc3Qgb3JpZ2luRWxlbWVudCA9IGNvZXJjZUVsZW1lbnQoY29uZmlnLm9yaWdpbik7XG4gICAgICAgIC8vIOm7mOiupOWFs+mXreS5i+WJjeeahOW8ueWHuuahhlxuICAgICAgICAvLyAxLiDlvZPkuYvliY3nmoQgUG9wb3ZlciDorr7nva4gbWFudWFsQ2xvc3VyZSDkuLogdHJ1ZSDml7YsIOW8ueWHuuWFtuS7liBQb3BvdmVyIOaXtuS4jeiHquWKqOWFs+mXrSBtYW51YWxDbG9zdXJlIOS4uiB0cnVlIOeahCBQb3BvdmVyXG4gICAgICAgIC8vIDIuIOW9k+WJjeeahCBPcmlnaW4g5a+55bqU55qEIFBvcG92ZXIg5bey57uP5by55Ye677yM5LiN566hIG1hbnVhbENsb3N1cmUg6K6+572u5Li65L2V77yM55u05o6l5YWz6Zet5bm26L+U5ZueXG4gICAgICAgIGlmICh0aGlzLmVuc3VyZUNsb3NlQ2xvc2VzdChvcmlnaW5FbGVtZW50KSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgcG9wb3ZlclJlZiA9IHRoaXMub3Blbk92ZXJsYXk8VCwgVFJlc3VsdD4oY29tcG9uZW50T3JUZW1wbGF0ZVJlZiwgY29uZmlnKSBhcyBUaHlQb3BvdmVyUmVmPFQsIFRSZXN1bHQsIFREYXRhPjtcbiAgICAgICAgY29uZmlnID0gcG9wb3ZlclJlZi5jb250YWluZXJJbnN0YW5jZS5jb25maWc7XG4gICAgICAgIHBvcG92ZXJSZWYuYWZ0ZXJDbG9zZWQoKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5vcmlnaW5FbGVtZW50UmVtb3ZlQWN0aXZlQ2xhc3MoY29uZmlnKTtcbiAgICAgICAgICAgIHRoaXMub3JpZ2luSW5zdGFuY2VzTWFwLmRlbGV0ZShvcmlnaW5FbGVtZW50KTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgdGhpcy5vcmlnaW5FbGVtZW50QWRkQWN0aXZlQ2xhc3MoY29uZmlnKTtcbiAgICAgICAgdGhpcy5vcmlnaW5JbnN0YW5jZXNNYXAuc2V0KG9yaWdpbkVsZW1lbnQsIHtcbiAgICAgICAgICAgIGNvbmZpZyxcbiAgICAgICAgICAgIHBvcG92ZXJSZWZcbiAgICAgICAgfSk7XG5cbiAgICAgICAgcmV0dXJuIHBvcG92ZXJSZWY7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog5qC55o2uSWTojrflj5bmiZPlvIDnmoTmgqzmta7lsYJcbiAgICAgKi9cbiAgICBnZXRQb3BvdmVyQnlJZChpZDogc3RyaW5nKTogVGh5UG9wb3ZlclJlZjxhbnk+IHwgdW5kZWZpbmVkIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0QWJzdHJhY3RPdmVybGF5QnlJZChpZCkgYXMgVGh5UG9wb3ZlclJlZjxhbnk+IHwgdW5kZWZpbmVkO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIOiOt+WPluW3sue7j+aJk+W8gOeahOaCrOa1ruWxglxuICAgICAqL1xuICAgIGdldE9wZW5lZFBvcG92ZXJzKCk6IFRoeVBvcG92ZXJSZWY8U2FmZUFueT5bXSB7XG4gICAgICAgIHJldHVybiB0aGlzLmdldEFic3RyYWN0T3ZlcmxheXMoKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAZGVzY3JpcHRpb24uZW4tdXMgRmluZHMgdGhlIGNsb3Nlc3QgVGh5UG9wb3ZlclJlZiB0byBhbiBlbGVtZW50IGJ5IGxvb2tpbmcgYXQgdGhlIERPTS5cbiAgICAgKiBAZGVzY3JpcHRpb24g6YCa6L+HIERvbSDlhYPntKDmn6Xmib7mnIDov5HlvLnlh7rnmoTmgqzmta7lsYJcbiAgICAgKi9cbiAgICBnZXRDbG9zZXN0UG9wb3ZlcihlbGVtZW50OiBIVE1MRWxlbWVudCk6IFRoeVBvcG92ZXJSZWY8YW55PiB8IHVuZGVmaW5lZCB7XG4gICAgICAgIGNvbnN0IHBhcmVudCA9IGVsZW1lbnQuY2xvc2VzdCgnLnRoeS1wb3BvdmVyLWNvbnRhaW5lcicpO1xuXG4gICAgICAgIGlmIChwYXJlbnQgJiYgcGFyZW50LmlkKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5nZXRQb3BvdmVyQnlJZChwYXJlbnQuaWQpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIOWFs+mXreaCrOa1ruWxglxuICAgICAqL1xuICAgIGNsb3NlPFQ+KHJlc3VsdD86IFQsIGZvcmNlPzogYm9vbGVhbikge1xuICAgICAgICBzdXBlci5jbG9zZShyZXN1bHQsIGZvcmNlKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAaW50ZXJuYWxcbiAgICAgKi9cbiAgICBuZ09uRGVzdHJveSgpIHtcbiAgICAgICAgdGhpcy5kaXNwb3NlKCk7XG4gICAgfVxufVxuIl19
|