@ultraviolet/ui 1.87.2 → 1.88.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.
- package/dist/components/AvatarV2/index.cjs +18 -11
- package/dist/components/AvatarV2/index.d.ts +1 -1
- package/dist/components/AvatarV2/index.js +18 -11
- package/dist/components/AvatarV2/types.d.ts +10 -2
- package/dist/components/Bullet/index.cjs +7 -3
- package/dist/components/Bullet/index.d.ts +16 -13
- package/dist/components/Bullet/index.js +8 -4
- package/dist/components/Carousel/index.cjs +5 -5
- package/dist/components/Carousel/index.js +5 -5
- package/dist/components/CheckboxGroup/index.cjs +7 -7
- package/dist/components/CheckboxGroup/index.d.ts +1 -1
- package/dist/components/CheckboxGroup/index.js +7 -7
- package/dist/components/List/ListContext.cjs +9 -9
- package/dist/components/List/ListContext.d.ts +2 -2
- package/dist/components/List/ListContext.js +9 -9
- package/dist/components/List/SelectBar.cjs +5 -5
- package/dist/components/List/SelectBar.d.ts +1 -1
- package/dist/components/List/SelectBar.js +5 -5
- package/dist/components/List/index.d.ts +9 -2
- package/dist/components/MenuV2/MenuContent.cjs +6 -6
- package/dist/components/MenuV2/MenuContent.js +6 -6
- package/dist/components/MenuV2/types.d.ts +3 -0
- package/dist/components/Modal/components/Dialog.cjs +9 -10
- package/dist/components/Modal/components/Dialog.js +9 -10
- package/dist/components/NumberInputV2/index.cjs +5 -5
- package/dist/components/NumberInputV2/index.js +5 -5
- package/dist/components/Popup/index.cjs +5 -5
- package/dist/components/Popup/index.js +5 -5
- package/dist/components/ProgressBar/index.cjs +6 -6
- package/dist/components/ProgressBar/index.js +6 -6
- package/dist/components/RadioGroup/index.cjs +6 -6
- package/dist/components/RadioGroup/index.d.ts +1 -1
- package/dist/components/RadioGroup/index.js +6 -6
- package/dist/components/SelectInput/index.cjs +12 -12
- package/dist/components/SelectInput/index.js +12 -12
- package/dist/components/SwitchButton/index.cjs +2 -2
- package/dist/components/SwitchButton/index.d.ts +4 -4
- package/dist/components/SwitchButton/index.js +2 -2
- package/dist/components/Table/SelectBar.cjs +5 -5
- package/dist/components/Table/SelectBar.d.ts +1 -1
- package/dist/components/Table/SelectBar.js +5 -5
- package/dist/components/Table/index.d.ts +9 -2
- package/dist/components/Tabs/TabMenu.cjs +6 -6
- package/dist/components/Tabs/TabMenu.js +6 -6
- package/dist/components/Tag/index.cjs +7 -6
- package/dist/components/Tag/index.d.ts +1 -1
- package/dist/components/Tag/index.js +5 -4
- package/dist/components/TextInput/index.cjs +17 -17
- package/dist/components/TextInput/index.js +17 -17
- package/dist/components/ToggleGroup/index.cjs +6 -6
- package/dist/components/ToggleGroup/index.d.ts +1 -1
- package/dist/components/ToggleGroup/index.js +6 -6
- package/dist/components/UnitInput/index.cjs +42 -19
- package/dist/components/UnitInput/index.js +42 -19
- package/dist/utils/orderBy.d.ts +1 -1
- package/package.json +6 -6
|
@@ -15,8 +15,8 @@ function _EMOTION_STRINGIFIED_CSS_ERROR__() {
|
|
|
15
15
|
}
|
|
16
16
|
const DEFAULT_ANIMATION_DURATION = 230;
|
|
17
17
|
const DEFAULT_DEBOUNCE_DURATION = 200;
|
|
18
|
-
|
|
19
|
-
}
|
|
18
|
+
const noop = () => {
|
|
19
|
+
};
|
|
20
20
|
const stopClickPropagation = (event) => {
|
|
21
21
|
event.nativeEvent.stopImmediatePropagation();
|
|
22
22
|
};
|
|
@@ -47,7 +47,7 @@ const StyledPopup = /* @__PURE__ */ _styled__default.default("div", process.env.
|
|
|
47
47
|
positions,
|
|
48
48
|
reverseAnimation,
|
|
49
49
|
animationDuration
|
|
50
|
-
}) => /* @__PURE__ */ react.css(animationDuration, "ms ", !reverseAnimation ? animations.animation(positions) : animations.exitAnimation(positions), " forwards;" + (process.env.NODE_ENV === "production" ? "" : ";label:StyledPopup;"), process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL3VsdHJhdmlvbGV0L3VsdHJhdmlvbGV0L3BhY2thZ2VzL3VpL3NyYy9jb21wb25lbnRzL1BvcHVwL2luZGV4LnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFxRjRFIiwiZmlsZSI6Ii9ob21lL3J1bm5lci93b3JrL3VsdHJhdmlvbGV0L3VsdHJhdmlvbGV0L3BhY2thZ2VzL3VpL3NyYy9jb21wb25lbnRzL1BvcHVwL2luZGV4LnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNzcyB9IGZyb20gJ0BlbW90aW9uL3JlYWN0J1xuaW1wb3J0IHN0eWxlZCBmcm9tICdAZW1vdGlvbi9zdHlsZWQnXG5pbXBvcnQgdHlwZSB7XG4gIEhUTUxBdHRyaWJ1dGVzLFxuICBLZXlib2FyZEV2ZW50SGFuZGxlcixcbiAgTW91c2VFdmVudEhhbmRsZXIsXG4gIFJlYWN0Tm9kZSxcbiAgUmVmLFxuICBSZWZPYmplY3QsXG59IGZyb20gJ3JlYWN0J1xuaW1wb3J0IHtcbiAgZm9yd2FyZFJlZixcbiAgc3RhcnRUcmFuc2l0aW9uLFxuICB1c2VDYWxsYmFjayxcbiAgdXNlRWZmZWN0LFxuICB1c2VJZCxcbiAgdXNlSW1wZXJhdGl2ZUhhbmRsZSxcbiAgdXNlTWVtbyxcbiAgdXNlUmVmLFxuICB1c2VTdGF0ZSxcbn0gZnJvbSAncmVhY3QnXG5pbXBvcnQgeyBjcmVhdGVQb3J0YWwgfSBmcm9tICdyZWFjdC1kb20nXG5pbXBvcnQgeyBpc0NsaWVudFNpZGUgfSBmcm9tICcuLi8uLi9oZWxwZXJzL2lzQ2xpZW50U2lkZSdcbmltcG9ydCB0eXBlIHsgUG9zaXRpb25zVHlwZSB9IGZyb20gJy4vYW5pbWF0aW9ucydcbmltcG9ydCB7IGFuaW1hdGlvbiwgZXhpdEFuaW1hdGlvbiB9IGZyb20gJy4vYW5pbWF0aW9ucydcbmltcG9ydCB0eXBlIHsgUG9wdXBBbGlnbiwgUG9wdXBQbGFjZW1lbnQgfSBmcm9tICcuL2hlbHBlcnMnXG5pbXBvcnQge1xuICBERUZBVUxUX0FSUk9XX1dJRFRILFxuICBERUZBVUxUX1BPU0lUSU9OUyxcbiAgY29tcHV0ZVBvc2l0aW9ucyxcbn0gZnJvbSAnLi9oZWxwZXJzJ1xuXG5jb25zdCBERUZBVUxUX0FOSU1BVElPTl9EVVJBVElPTiA9IDIzMCAvLyBpbiBtc1xuY29uc3QgREVGQVVMVF9ERUJPVU5DRV9EVVJBVElPTiA9IDIwMCAvLyBpbiBtc1xuXG5mdW5jdGlvbiBub29wKCkge31cblxudHlwZSBTdHlsZWRQb3B1cFByb3BzID0ge1xuICBtYXhXaWR0aDogbnVtYmVyIHwgc3RyaW5nXG4gIHBvc2l0aW9uczogUG9zaXRpb25zVHlwZVxuICByZXZlcnNlQW5pbWF0aW9uOiBib29sZWFuXG4gIG1heEhlaWdodD86IG51bWJlciB8IHN0cmluZ1xuICBhbmltYXRpb25EdXJhdGlvbj86IG51bWJlclxuICBpc0RpYWxvZzogYm9vbGVhblxufVxuXG4vKipcbiAqIFRoaXMgZXZlbnQgaGFuZGxlIGFsbG93IHVzIHRvIG5vdCBidWJibGUgdGhlIGV2ZW50IHRvIGRvY3VtZW50LmJvZHkgbGlrZSB0aGlzIHJlYWN0LXNlbGVjdCB3b3JrcyBmaW5lXG4gKi9cbmNvbnN0IHN0b3BDbGlja1Byb3BhZ2F0aW9uOiBNb3VzZUV2ZW50SGFuZGxlciA9IGV2ZW50ID0+IHtcbiAgZXZlbnQubmF0aXZlRXZlbnQuc3RvcEltbWVkaWF0ZVByb3BhZ2F0aW9uKClcbn1cblxuY29uc3QgU3R5bGVkUG9wdXAgPSBzdHlsZWQoJ2RpdicsIHtcbiAgc2hvdWxkRm9yd2FyZFByb3A6IHByb3AgPT5cbiAgICAhW1xuICAgICAgJ21heFdpZHRoJyxcbiAgICAgICdwb3NpdGlvbnMnLFxuICAgICAgJ3JldmVyc2VBbmltYXRpb24nLFxuICAgICAgJ21heEhlaWdodCcsXG4gICAgICAnYW5pbWF0aW9uRHVyYXRpb24nLFxuICAgICAgJ2lzRGlhbG9nJyxcbiAgICBdLmluY2x1ZGVzKHByb3ApLFxufSk8U3R5bGVkUG9wdXBQcm9wcz5gXG4gIGJhY2tncm91bmQ6ICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuY29sb3JzLm5ldXRyYWwuYmFja2dyb3VuZFN0cm9uZ2VyfTtcbiAgY29sb3I6ICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuY29sb3JzLm5ldXRyYWwudGV4dFN0cm9uZ2VyfTtcbiAgYm9yZGVyLXJhZGl1czogJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5yYWRpaS5kZWZhdWx0fTtcbiAgcGFkZGluZzogJHsoeyB0aGVtZSB9KSA9PiBgJHt0aGVtZS5zcGFjZVsnMC41J119ICR7dGhlbWUuc3BhY2VbJzEnXX1gfTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIG1heC13aWR0aDogJHsoeyBtYXhXaWR0aCB9KSA9PlxuICAgIHR5cGVvZiBtYXhXaWR0aCA9PT0gJ251bWJlcicgPyBgJHttYXhXaWR0aH1weGAgOiBtYXhXaWR0aH07XG4gIG1heC1oZWlnaHQ6ICR7KHsgbWF4SGVpZ2h0IH0pID0+XG4gICAgdHlwZW9mIG1heEhlaWdodCA9PT0gJ251bWJlcicgPyBgJHttYXhIZWlnaHR9cHhgIDogbWF4SGVpZ2h0fTtcbiAgb3ZlcmZsb3c6ICR7KHsgbWF4SGVpZ2h0IH0pID0+IChtYXhIZWlnaHQgPyAnYXV0bycgOiB1bmRlZmluZWQpfTtcbiAgb3ZlcmZsb3ctd3JhcDogYnJlYWstd29yZDtcbiAgZm9udC1zaXplOiAwLjhyZW07XG4gIGluc2V0OiAwIGF1dG8gYXV0byAwO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIG9wYWNpdHk6IDA7XG4gIHotaW5kZXg6IDE7XG4gIHRyYW5zZm9ybTogJHsoeyBwb3NpdGlvbnMgfSkgPT4gcG9zaXRpb25zLnBvcHVwUG9zaXRpb259O1xuXG4gICZbZGF0YS1hbmltYXRlZD1cInRydWVcIl0ge1xuICAgIGFuaW1hdGlvbjogJHsoeyBwb3NpdGlvbnMsIHJldmVyc2VBbmltYXRpb24sIGFuaW1hdGlvbkR1cmF0aW9uIH0pID0+IGNzc2BcbiAgICAgICR7YW5pbWF0aW9uRHVyYXRpb259bXMgJHtcbiAgICAgICAgIXJldmVyc2VBbmltYXRpb24gPyBhbmltYXRpb24ocG9zaXRpb25zKSA6IGV4aXRBbmltYXRpb24ocG9zaXRpb25zKVxuICAgICAgfSBmb3J3YXJkc1xuICAgIGB9O1xuICB9XG5cbiAgJltkYXRhLWhhcy1hcnJvdz1cInRydWVcIl0ge1xuICAgICY6OmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6IFwiIFwiO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAkeyh7IHBvc2l0aW9ucyB9KSA9PiBwb3NpdGlvbnMuYXJyb3dUb3B9cHg7XG4gICAgICBsZWZ0OiAkeyh7IHBvc2l0aW9ucyB9KSA9PiBwb3NpdGlvbnMuYXJyb3dMZWZ0fXB4O1xuICAgICAgdHJhbnNmb3JtOiAkeyh7IHBvc2l0aW9ucyB9KSA9PiBwb3NpdGlvbnMuYXJyb3dUcmFuc2Zvcm19XG4gICAgICAgIHJvdGF0ZSgkeyh7IHBvc2l0aW9ucyB9KSA9PiBwb3NpdGlvbnMucm90YXRlfWRlZyk7XG4gICAgICBtYXJnaW4tbGVmdDogLSR7REVGQVVMVF9BUlJPV19XSURUSH1weDtcbiAgICAgIGJvcmRlci13aWR0aDogJHtERUZBVUxUX0FSUk9XX1dJRFRIfXB4O1xuICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgIGJvcmRlci1jb2xvcjogJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5jb2xvcnMubmV1dHJhbC5iYWNrZ3JvdW5kU3Ryb25nZXJ9XG4gICAgICAgIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgJltkYXRhLXZpc2libGUtaW4tZG9tPVwiZmFsc2VcIl0ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbmBcblxuY29uc3QgU3R5bGVkQ2hpbGRyZW5Db250YWluZXIgPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBpbmhlcml0O1xuXG4gICZbZGF0YS1jb250YWluZXItZnVsbC13aWR0aD1cInRydWVcIl0ge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG5gXG5cbnR5cGUgUG9wdXBQcm9wcyA9IHtcbiAgLyoqXG4gICAqIElkIGlzIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGVkIGlmIG5vdCBzZXQuIEl0IGlzIHVzZWQgZm9yIGFzc29jaWF0aW5nIHBvcHVwIHdyYXBwZXIgd2l0aCBwb3B1cCBwb3J0YWwuXG4gICAqL1xuICBpZD86IHN0cmluZ1xuICBjaGlsZHJlbjpcbiAgICB8IFJlYWN0Tm9kZVxuICAgIHwgKChyZW5kZXJQcm9wczoge1xuICAgICAgICBjbGFzc05hbWU/OiBzdHJpbmdcbiAgICAgICAgb25CbHVyOiAoKSA9PiB2b2lkXG4gICAgICAgIG9uRm9jdXM6ICgpID0+IHZvaWRcbiAgICAgICAgb25Qb2ludGVyRW50ZXI6ICgpID0+IHZvaWRcbiAgICAgICAgb25Qb2ludGVyTGVhdmU6ICgpID0+IHZvaWRcbiAgICAgICAgcmVmOiBSZWZPYmplY3Q8SFRNTERpdkVsZW1lbnQgfCBudWxsPlxuICAgICAgfSkgPT4gUmVhY3ROb2RlKVxuICBtYXhXaWR0aD86IG51bWJlciB8IHN0cmluZ1xuICAvKipcbiAgICogYGF1dG9gIHBsYWNlbWVudCB3aWxsIGNoYW5nZSB0aGUgcG9zaXRpb24gb2YgdGhlIHBvcHVwIGlmIGl0IGRvZXNuJ3QgZml0IGluIHRoZSB2aWV3cG9ydC5cbiAgICovXG4gIHBsYWNlbWVudD86IFBvcHVwUGxhY2VtZW50XG4gIC8qKlxuICAgKiBBbGlnbiB0aGUgcG9wdXAgdG8gdGhlIHN0YXJ0IG9yIGNlbnRlciBvZiB0aGUgY2hpbGRyZW4uXG4gICAqL1xuICBhbGlnbj86IFBvcHVwQWxpZ25cbiAgLyoqXG4gICAqIENvbnRlbnQgb2YgdGhlIHBvcHVwLCBwcmVmZXJhYmx5IHRleHQgaW5zaWRlLlxuICAgKi9cbiAgdGV4dD86IFJlYWN0Tm9kZVxuICBjbGFzc05hbWU/OiBzdHJpbmdcbiAgLyoqXG4gICAqIEl0IHdpbGwgYWRkIGB3aWR0aDogMTAwJWAgdG8gdGhlIHBvcHVwIGNvbnRhaW5lci5cbiAgICovXG4gIGNvbnRhaW5lckZ1bGxXaWR0aD86IGJvb2xlYW5cbiAgLyoqXG4gICAqIEl0IHdpbGwgZm9yY2UgZGlzcGxheSBwb3B1cC4gVGhpcyBjYW4gYmUgdXNlZnVsIGlmIHlvdSBuZWVkIHRvIGFsd2F5cyBkaXNwbGF5IHRoZSBwb3B1cCB3aXRob3V0IGhvdmVyIG5lZWRlZC5cbiAgICovXG4gIHZpc2libGU/OiBib29sZWFuXG4gIGlubmVyUmVmPzogUmVmPEhUTUxEaXZFbGVtZW50IHwgbnVsbD5cbiAgcm9sZT86IHN0cmluZ1xuICAnZGF0YS10ZXN0aWQnPzogc3RyaW5nXG4gIGhhc0Fycm93PzogYm9vbGVhblxuICBvbkNsb3NlPzogKCkgPT4gdm9pZFxuICB0YWJJbmRleD86IG51bWJlclxuICBvbktleURvd24/OiBLZXlib2FyZEV2ZW50SGFuZGxlclxuICAnYXJpYS1oYXNwb3B1cCc/OiBIVE1MQXR0cmlidXRlczxIVE1MRGl2RWxlbWVudD5bJ2FyaWEtaGFzcG9wdXAnXVxuICBoaWRlT25DbGlja091dHNpZGU/OiBib29sZWFuXG4gIC8qKlxuICAgKiBJZiB5b3Ugc2V0IGRlYm91bmNlVGltZSB0byBmYWxzZSwgdGhlIHBvcHVwIHdpbGwgbm90IGRlYm91bmNlIHRoZSBob3ZlciBldmVudCBhbmQgd2lsbCBiZSBkaXNwbGF5ZWQgaW5zdGFudGx5LlxuICAgKiBJZiBzZXQgdG8gMCBpdCB3aWxsIGRpc2FibGUgZGVib3VuY2UuXG4gICAqL1xuICBkZWJvdW5jZURlbGF5PzogbnVtYmVyXG4gIC8qKlxuICAgKiBJZiB5b3Ugc2V0IGEgbWF4IGhlaWdodCBrZWVwIGluIG1pbmQgdGhhdCB0aGUgYW5pbWF0aW9uIGlzIGRpc2FibGVkLCBvciBpdCB3aWxsIG5vdCB3b3JrIHByb3Blcmx5IG9uIHNvbWUgYnJvd3NlcnMuXG4gICAqL1xuICBtYXhIZWlnaHQ/OiBzdHJpbmcgfCBudW1iZXJcbiAgLyoqXG4gICAqIFdpbGwgcmVtb3ZlIHRoZSBhbmltYXRpb24gb24gdGhlIHBvcHVwIGlmIHNldCB0byBmYWxzZS5cbiAgICovXG4gIGRpc2FibGVBbmltYXRpb24/OiBib29sZWFuXG4gIC8qKlxuICAgKiBCeSBkZWZhdWx0LCB0aGUgcG9ydGFsIHRhcmdldCBpcyBjaGlsZHJlbiBjb250YWluZXIgb3IgZG9jdW1lbnQuYm9keSBpZiBjaGlsZHJlbiBpcyBhIGZ1bmN0aW9uLiBZb3UgY2FuIG92ZXJyaWRlIHRoaXNcbiAgICogYmVoYXZpb3IgYnkgc2V0dGluZyBhIHBvcnRhbFRhcmdldCBwcm9wLlxuICAgKi9cbiAgcG9ydGFsVGFyZ2V0PzogSFRNTEVsZW1lbnRcbiAgLyoqXG4gICAqIElmIHlvdSBzZXQgdGhpcyB0byB0cnVlLCB0aGUgcG9wdXAgd2lsbCBiZSByZW5kZXJlZCBpbiB0aGUgRE9NIG9ubHkgd2hlbiBpdCBpcyB2aXNpYmxlLlxuICAgKiBXaGVuIHNldCB0byBmYWxzZSwgdGhlIHBvcHVwIHdpbGwgYWx3YXlzIGJlIHJlbmRlcmVkIGluIHRoZSBET00uIEJ5IGRlZmF1bHQgdGhpcyB2YWx1ZSBpcyBzZXQgdG8gYHRydWVgLCBpZiBmb3Igc29tZVxuICAgKiByZWFzb24geW91IG5lZWQgdG8gZGlzYWJsZSBpdCwgeW91IGNhbiBzZXQgaXQgdG8gYGZhbHNlYC5cbiAgICovXG4gIGR5bmFtaWNEb21SZW5kZXJpbmc/OiBib29sZWFuXG59XG5cbi8qKlxuICogQGV4cGVyaW1lbnRhbCBUaGlzIGNvbXBvbmVudCBpcyBleHBlcmltZW50YWwgYW5kIG1heSBiZSBzdWJqZWN0IHRvIGJyZWFraW5nIGNoYW5nZXMgaW4gdGhlIGZ1dHVyZS5cbiAqL1xuZXhwb3J0IGNvbnN0IFBvcHVwID0gZm9yd2FyZFJlZihcbiAgKFxuICAgIHtcbiAgICAgIGNoaWxkcmVuLFxuICAgICAgdGV4dCA9ICcnLFxuICAgICAgcGxhY2VtZW50ID0gJ2F1dG8nLFxuICAgICAgYWxpZ24gPSAnY2VudGVyJyxcbiAgICAgIGlkLFxuICAgICAgY2xhc3NOYW1lLFxuICAgICAgY29udGFpbmVyRnVsbFdpZHRoLFxuICAgICAgbWF4V2lkdGggPSAnMTQuNXJlbScsXG4gICAgICBtYXhIZWlnaHQsXG4gICAgICB2aXNpYmxlLFxuICAgICAgaW5uZXJSZWYsXG4gICAgICByb2xlID0gJ3BvcHVwJyxcbiAgICAgICdkYXRhLXRlc3RpZCc6IGRhdGFUZXN0SWQsXG4gICAgICBoYXNBcnJvdyA9IHRydWUsXG4gICAgICBvbkNsb3NlLFxuICAgICAgdGFiSW5kZXggPSAwLFxuICAgICAgb25LZXlEb3duLFxuICAgICAgJ2FyaWEtaGFzcG9wdXAnOiBhcmlhSGFzUG9wdXAsXG4gICAgICBoaWRlT25DbGlja091dHNpZGUgPSBmYWxzZSxcbiAgICAgIGRlYm91bmNlRGVsYXkgPSBERUZBVUxUX0RFQk9VTkNFX0RVUkFUSU9OLFxuICAgICAgZGlzYWJsZUFuaW1hdGlvbiA9IGZhbHNlLFxuICAgICAgcG9ydGFsVGFyZ2V0LFxuICAgICAgZHluYW1pY0RvbVJlbmRlcmluZyA9IHRydWUsXG4gICAgfTogUG9wdXBQcm9wcyxcbiAgICByZWY6IFJlZjxIVE1MRGl2RWxlbWVudD4sXG4gICkgPT4ge1xuICAgIGNvbnN0IGNoaWxkcmVuUmVmID0gdXNlUmVmPEhUTUxEaXZFbGVtZW50PihudWxsKVxuICAgIHVzZUltcGVyYXRpdmVIYW5kbGUoaW5uZXJSZWYsICgpID0+IGNoaWxkcmVuUmVmLmN1cnJlbnQgYXMgSFRNTERpdkVsZW1lbnQpXG5cbiAgICBjb25zdCBpbm5lclBvcHVwUmVmID0gdXNlUmVmPEhUTUxEaXZFbGVtZW50PihudWxsKVxuICAgIHVzZUltcGVyYXRpdmVIYW5kbGUocmVmLCAoKSA9PiBpbm5lclBvcHVwUmVmLmN1cnJlbnQgYXMgSFRNTERpdkVsZW1lbnQpXG5cbiAgICBjb25zdCB0aW1lciA9IHVzZVJlZjxSZXR1cm5UeXBlPHR5cGVvZiBzZXRUaW1lb3V0Pj4odW5kZWZpbmVkKVxuICAgIGNvbnN0IHBvcHVwUG9ydGFsVGFyZ2V0ID0gdXNlTWVtbygoKSA9PiB7XG4gICAgICBpZiAocG9ydGFsVGFyZ2V0KSByZXR1cm4gcG9ydGFsVGFyZ2V0XG5cbiAgICAgIGlmIChyb2xlID09PSAnZGlhbG9nJykge1xuICAgICAgICBpZiAoY2hpbGRyZW5SZWYuY3VycmVudCkgcmV0dXJuIGNoaWxkcmVuUmVmLmN1cnJlbnRcbiAgICAgICAgaWYgKGlzQ2xpZW50U2lkZSkgcmV0dXJuIGRvY3VtZW50LmJvZHlcblxuICAgICAgICByZXR1cm4gbnVsbFxuICAgICAgfVxuXG4gICAgICAvLyBXZSBjaGVjayBpZiB3aW5kb3cgZXhpc3RzIGZvciBTU1JcbiAgICAgIGlmICh0eXBlb2Ygd2luZG93ICE9PSAndW5kZWZpbmVkJykge1xuICAgICAgICByZXR1cm4gZG9jdW1lbnQuYm9keVxuICAgICAgfVxuXG4gICAgICByZXR1cm4gbnVsbFxuICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHJlYWN0LWhvb2tzL2V4aGF1c3RpdmUtZGVwc1xuICAgIH0sIFtwb3J0YWxUYXJnZXQsIHJvbGUsIGNoaWxkcmVuUmVmLmN1cnJlbnRdKVxuXG4gICAgLy8gVGhlcmUgYXJlIHNvbWUgaXNzdWUgd2hlbiBtaXhpbmcgYW5pbWF0aW9uIGFuZCBtYXhIZWlnaHQgb24gc29tZSBicm93c2Vycywgc28gd2UgZGlzYWJsZSBhbmltYXRpb24gaWYgbWF4SGVpZ2h0IGlzIHNldC5cbiAgICBjb25zdCBhbmltYXRpb25EdXJhdGlvbiA9XG4gICAgICBkaXNhYmxlQW5pbWF0aW9uIHx8IG1heEhlaWdodCA/IDAgOiBERUZBVUxUX0FOSU1BVElPTl9EVVJBVElPTlxuXG4gICAgLy8gRGVib3VuY2UgdGltZXIgd2lsbCBiZSB1c2VkIHRvIHByZXZlbnQgdGhlIHBvcHVwIGZyb20gZmxpY2tlcmluZyB3aGVuIHRoZSB1c2VyIG1vdmVzIHRoZSBtb3VzZSBvdXQgYW5kIGluIHRoZSBjaGlsZHJlbiBlbGVtZW50LlxuICAgIGNvbnN0IGRlYm91bmNlVGltZXIgPSB1c2VSZWY8UmV0dXJuVHlwZTx0eXBlb2Ygc2V0VGltZW91dD4+KHVuZGVmaW5lZClcbiAgICBjb25zdCBbdmlzaWJsZUluRG9tLCBzZXRWaXNpYmxlSW5Eb21dID0gdXNlU3RhdGUoZmFsc2UpXG4gICAgY29uc3QgW3JldmVyc2VBbmltYXRpb24sIHNldFJldmVyc2VBbmltYXRpb25dID0gdXNlU3RhdGUoZmFsc2UpXG4gICAgY29uc3QgW3Bvc2l0aW9ucywgc2V0UG9zaXRpb25zXSA9IHVzZVN0YXRlPFBvc2l0aW9uc1R5cGU+KHtcbiAgICAgIC4uLkRFRkFVTFRfUE9TSVRJT05TLFxuICAgIH0pXG4gICAgY29uc3QgdW5pcXVlSWQgPSB1c2VJZCgpXG4gICAgY29uc3QgZ2VuZXJhdGVkSWQgPSBpZCA/PyB1bmlxdWVJZFxuICAgIGNvbnN0IGlzQ29udHJvbGxlZCA9IHZpc2libGUgIT09IHVuZGVmaW5lZFxuXG4gICAgY29uc3QgZ2VuZXJhdGVQb3B1cFBvc2l0aW9ucyA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICAgIGlmIChjaGlsZHJlblJlZi5jdXJyZW50ICYmIGlubmVyUG9wdXBSZWYuY3VycmVudCkge1xuICAgICAgICBzZXRQb3NpdGlvbnMoXG4gICAgICAgICAgY29tcHV0ZVBvc2l0aW9ucyh7XG4gICAgICAgICAgICBjaGlsZHJlblJlZixcbiAgICAgICAgICAgIHBsYWNlbWVudCxcbiAgICAgICAgICAgIHBvcHVwUmVmOiBpbm5lclBvcHVwUmVmLFxuICAgICAgICAgICAgcG9wdXBQb3J0YWxUYXJnZXQ6IHBvcHVwUG9ydGFsVGFyZ2V0IGFzIEhUTUxFbGVtZW50LFxuICAgICAgICAgICAgaGFzQXJyb3csXG4gICAgICAgICAgICBhbGlnbixcbiAgICAgICAgICB9KSxcbiAgICAgICAgKVxuICAgICAgfVxuICAgIH0sIFtoYXNBcnJvdywgcGxhY2VtZW50LCBwb3B1cFBvcnRhbFRhcmdldCwgYWxpZ25dKVxuXG4gICAgLyoqXG4gICAgICogVGhpcyBmdW5jdGlvbiBpcyBjYWxsZWQgd2hlbiB3ZSBuZWVkIHRvIHJlY29tcHV0ZSBwb3NpdGlvbnMgb2YgcG9wdXAgZHVlIHRvIHdpbmRvdyBzY3JvbGwgb3IgcmVzaXplLlxuICAgICAqL1xuICAgIGNvbnN0IG9uV2luZG93Q2hhbmdlRGV0ZWN0ZWQgPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgICAvLyBXZSByZW1vdmUgYW5pbWF0aW9uIG9uIHNjcm9sbCBvciB0aGUgYW5pbWF0aW9uIHdpbGwgcmVzdGFydCBvbiBldmVyeSBzY3JvbGxcbiAgICAgIGlmIChpbm5lclBvcHVwUmVmLmN1cnJlbnQpIHtcbiAgICAgICAgaW5uZXJQb3B1cFJlZi5jdXJyZW50LnN0eWxlLmFuaW1hdGlvbiA9ICdub25lJ1xuICAgICAgfVxuXG4gICAgICBnZW5lcmF0ZVBvcHVwUG9zaXRpb25zKClcbiAgICB9LCBbZ2VuZXJhdGVQb3B1cFBvc2l0aW9ucywgaW5uZXJQb3B1cFJlZl0pXG5cbiAgICAvKipcbiAgICAgKiBUaGlzIGZ1bmN0aW9uIGlzIGNhbGxlZCB3aGVuIHdlIG5lZWQgdG8gcmVtb3ZlIHBvcHVwIHBvcnRhbCBmcm9tIERPTSBhbmQgcmVtb3ZlIGV2ZW50IGxpc3RlbmVyIHRvIGl0LlxuICAgICAqL1xuICAgIGNvbnN0IHVubW91bnRQb3B1cEZyb21Eb20gPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgICBzZXRWaXNpYmxlSW5Eb20oZmFsc2UpXG4gICAgICBzZXRSZXZlcnNlQW5pbWF0aW9uKGZhbHNlKVxuXG4gICAgICB3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcignc2Nyb2xsJywgb25XaW5kb3dDaGFuZ2VEZXRlY3RlZCwgdHJ1ZSlcbiAgICB9LCBbb25XaW5kb3dDaGFuZ2VEZXRlY3RlZF0pXG5cbiAgICAvKipcbiAgICAgKiBUaGlzIGZ1bmN0aW9uIGlzIGNhbGxlZCB3aGVuIHdlIG5lZWQgdG8gaGlkZSBwb3B1cC4gQSB0aW1lb3V0IGlzIHNldCB0byBhbGxvdyBhbmltYXRpb24gZW5kLCB0aGVuIHJlbW92ZVxuICAgICAqIHBvcHVwIGZyb20gZG9tLlxuICAgICAqL1xuICAgIGNvbnN0IGNsb3NlUG9wdXAgPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgICBkZWJvdW5jZVRpbWVyLmN1cnJlbnQgPSBzZXRUaW1lb3V0KFxuICAgICAgICAoKSA9PiB7XG4gICAgICAgICAgc2V0UmV2ZXJzZUFuaW1hdGlvbih0cnVlKVxuICAgICAgICAgIHRpbWVyLmN1cnJlbnQgPSBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgIHVubW91bnRQb3B1cEZyb21Eb20oKVxuICAgICAgICAgICAgb25DbG9zZT8uKClcbiAgICAgICAgICB9LCBhbmltYXRpb25EdXJhdGlvbilcbiAgICAgICAgfSxcbiAgICAgICAgZGVib3VuY2VEZWxheSAmJiAhZGlzYWJsZUFuaW1hdGlvbiA/IGRlYm91bmNlRGVsYXkgOiAwLFxuICAgICAgKVxuICAgIH0sIFtcbiAgICAgIGFuaW1hdGlvbkR1cmF0aW9uLFxuICAgICAgZGlzYWJsZUFuaW1hdGlvbixcbiAgICAgIGRlYm91bmNlRGVsYXksXG4gICAgICBvbkNsb3NlLFxuICAgICAgdW5tb3VudFBvcHVwRnJvbURvbSxcbiAgICBdKVxuXG4gICAgLyoqXG4gICAgICogV2hlbiBtb3VzZSBob3ZlciBvciBzdG9wIGhvdmVyaW5nIGNoaWxkcmVuIHRoaXMgZnVuY3Rpb24gZGlzcGxheSBvciBoaWRlIHBvcHVwLiBBIHRpbWVvdXQgaXMgc2V0IHRvIGFsbG93IGFuaW1hdGlvblxuICAgICAqIGVuZCwgdGhlbiByZW1vdmUgcG9wdXAgZnJvbSBkb20uXG4gICAgICovXG4gICAgY29uc3Qgb25Qb2ludGVyRXZlbnQgPSB1c2VDYWxsYmFjayhcbiAgICAgIChpc1Zpc2libGU6IGJvb2xlYW4pID0+ICgpID0+IHtcbiAgICAgICAgLy8gSWYgdGhlcmUgaXMgYSBkZWJvdW5jZURlbGF5IGFuZCB0aGUgcG9wdXAgaXMgbm90IHZpc2libGUsIHdlIGNsZWFyIHRoZSBkZWJvdW5jZSB0aW1lclxuICAgICAgICBpZiAoIXZpc2libGUgJiYgZGVib3VuY2VEZWxheSA+IDAgJiYgZGVib3VuY2VUaW1lci5jdXJyZW50KSB7XG4gICAgICAgICAgY2xlYXJUaW1lb3V0KGRlYm91bmNlVGltZXIuY3VycmVudClcbiAgICAgICAgICBkZWJvdW5jZVRpbWVyLmN1cnJlbnQgPSB1bmRlZmluZWRcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIFRoaXMgY29uZGl0aW9uIGlzIGZvciB3aGVuIHdlIHdhbnQgdG8gdW5tb3VudCB0aGUgcG9wdXBcbiAgICAgICAgLy8gVGhlcmUgaXMgZGVib3VuY2UgaW4gb3JkZXIgdG8gYXZvaWQgcG9wdXAgdG8gZmxpY2tlciB3aGVuIHdlIG1vdmUgdGhlIG1vdXNlIGZyb20gY2hpbGRyZW4gdG8gcG9wdXBcbiAgICAgICAgLy8gVGltZXIgaXMgdXNlZCB0byBmb2xsb3cgdGhlIGFuaW1hdGlvbiBkdXJhdGlvblxuICAgICAgICBpZiAoIWlzVmlzaWJsZSAmJiBpbm5lclBvcHVwUmVmLmN1cnJlbnQgJiYgIWRlYm91bmNlVGltZXIuY3VycmVudCkge1xuICAgICAgICAgIGNsb3NlUG9wdXAoKVxuICAgICAgICB9IGVsc2UgaWYgKGlzVmlzaWJsZSkge1xuICAgICAgICAgIC8vIFRoaXMgY29uZGl0aW9uIGlzIGZvciB3aGVuIHdlIHdhbnQgdG8gbW91bnQgdGhlIHBvcHVwXG4gICAgICAgICAgLy8gSWYgdGhlIHRpbWVyIGV4aXN0cyBpdCBtZWFucyB0aGUgcG9wdXAgd2FzIGFib3V0IHRvIHVtb3VudCwgYnV0IHdlIGhvdmVyZWQgdGhlIGNoaWxkcmVuIGFnYWluLFxuICAgICAgICAgIC8vIHNvIHdlIGNsZWFyIHRoZSB0aW1lciBhbmQgdGhlIHBvcHVwIHdpbGwgbm90IGJlIHVubW91bnRlZFxuICAgICAgICAgIGlmICh0aW1lci5jdXJyZW50KSB7XG4gICAgICAgICAgICBzZXRSZXZlcnNlQW5pbWF0aW9uKGZhbHNlKVxuICAgICAgICAgICAgY2xlYXJUaW1lb3V0KHRpbWVyLmN1cnJlbnQpXG4gICAgICAgICAgICB0aW1lci5jdXJyZW50ID0gdW5kZWZpbmVkXG4gICAgICAgICAgfVxuICAgICAgICAgIC8vIEFuZCBoZXJlIGlzIHdoZW4gd2UgY3VycmVudGx5IGFyZSBpbiBhIGRlYm91bmNlIHRpbWVyLCBpdCBtZWFucyBwb3B1cCB3YXMgaG92ZXJlZCBkdXJpbmdcbiAgICAgICAgICAvLyB0aGF0IHBlcmlvZCwgYW5kIHNvIHdlIGNhbiBjbGVhciBkZWJvdW5jZSB0aW1lclxuICAgICAgICAgIGlmIChkZWJvdW5jZVRpbWVyLmN1cnJlbnQpIHtcbiAgICAgICAgICAgIGNsZWFyVGltZW91dChkZWJvdW5jZVRpbWVyLmN1cnJlbnQpXG4gICAgICAgICAgICBkZWJvdW5jZVRpbWVyLmN1cnJlbnQgPSB1bmRlZmluZWRcbiAgICAgICAgICB9XG4gICAgICAgICAgaWYgKGRlYm91bmNlRGVsYXkgPiAwKSB7XG4gICAgICAgICAgICBkZWJvdW5jZVRpbWVyLmN1cnJlbnQgPSBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgICAgc2V0VmlzaWJsZUluRG9tKHRydWUpXG4gICAgICAgICAgICB9LCBkZWJvdW5jZURlbGF5KVxuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBzdGFydFRyYW5zaXRpb24oKCkgPT4ge1xuICAgICAgICAgICAgICBzZXRWaXNpYmxlSW5Eb20odHJ1ZSlcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgW2Nsb3NlUG9wdXAsIGRlYm91bmNlRGVsYXksIHZpc2libGVdLFxuICAgIClcblxuICAgIC8qKlxuICAgICAqIE9uY2UgcG9wdXAgaXMgdmlzaWJsZSBpbiB0aGUgZG9tIHdlIGNhbiBjb21wdXRlIHBvc2l0aW9ucywgdGhlbiBzZXQgaXQgdmlzaWJsZSBvbiBzY3JlZW4gYW5kIGFkZCBldmVudCB0b1xuICAgICAqIHJlY29tcHV0ZSBwb3NpdGlvbnMgb24gc2Nyb2xsIG9yIHNjcmVlbiByZXNpemUuXG4gICAgICovXG4gICAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICAgIGlmICh2aXNpYmxlSW5Eb20pIHtcbiAgICAgICAgZ2VuZXJhdGVQb3B1cFBvc2l0aW9ucygpXG5cbiAgICAgICAgaWYgKHBvcHVwUG9ydGFsVGFyZ2V0ID09PSBkb2N1bWVudC5ib2R5KSB7XG4gICAgICAgICAgLy8gV2Ugd2FudCB0byBkZXRlY3Qgc2Nyb2xsIGFuZCByZXNpemUgaW4gb3JkZXIgdG8gcmVjb21wdXRlIHBvc2l0aW9ucyBvZiBwb3B1cFxuICAgICAgICAgIC8vIEFkZGluZyB0cnVlIGFzIHRoaXJkIHBhcmFtZXRlciB0byBldmVudCBsaXN0ZW5lciB3aWxsIGRldGVjdCBuZXN0ZWQgc2Nyb2xscy5cbiAgICAgICAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcignc2Nyb2xsJywgb25XaW5kb3dDaGFuZ2VEZXRlY3RlZCwgdHJ1ZSlcbiAgICAgICAgfVxuICAgICAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigncmVzaXplJywgb25XaW5kb3dDaGFuZ2VEZXRlY3RlZCwgdHJ1ZSlcbiAgICAgIH1cblxuICAgICAgcmV0dXJuICgpID0+IHtcbiAgICAgICAgd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ3Njcm9sbCcsIG9uV2luZG93Q2hhbmdlRGV0ZWN0ZWQsIHRydWUpXG4gICAgICAgIHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCdyZXNpemUnLCBvbldpbmRvd0NoYW5nZURldGVjdGVkLCB0cnVlKVxuICAgICAgICBpZiAodGltZXIuY3VycmVudCkge1xuICAgICAgICAgIGNsZWFyVGltZW91dCh0aW1lci5jdXJyZW50KVxuICAgICAgICAgIHRpbWVyLmN1cnJlbnQgPSB1bmRlZmluZWRcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0sIFtcbiAgICAgIGdlbmVyYXRlUG9wdXBQb3NpdGlvbnMsXG4gICAgICBvbldpbmRvd0NoYW5nZURldGVjdGVkLFxuICAgICAgdmlzaWJsZUluRG9tLFxuICAgICAgbWF4V2lkdGgsXG4gICAgICBwb3B1cFBvcnRhbFRhcmdldCxcbiAgICBdKVxuXG4gICAgLy8gVGhpcyB3aWxsIGJlIHRyaWdnZXJlZCB3aGVuIHBvc2l0aW9ucyBhcmUgY29tcHV0ZWQgYW5kIHBvcHVwIGlzIHZpc2libGUgaW4gdGhlIGRvbS5cbiAgICB1c2VFZmZlY3QoXG4gICAgICAoKSA9PiB7XG4gICAgICAgIGlmICh2aXNpYmxlSW5Eb20gJiYgaW5uZXJQb3B1cFJlZi5jdXJyZW50KSB7XG4gICAgICAgICAgaW5uZXJQb3B1cFJlZi5jdXJyZW50LnN0eWxlLm9wYWNpdHkgPSAnMSdcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSByZWFjdC1ob29rcy9leGhhdXN0aXZlLWRlcHNcbiAgICAgIFtwb3NpdGlvbnNdLFxuICAgIClcblxuICAgIC8qKlxuICAgICAqIElmIHBvcHVwIGhhcyBgdmlzaWJsZWAgcHJvcCBpdCBtZWFucyB0aGUgcG9wdXAgaXMgbWFudWFsbHkgY29udHJvbGxlZCB0aHJvdWdoIHRoaXMgcHJvcC5cbiAgICAgKiBJbiB0aGlzIGNhcyB3ZSBkb24ndCB3YW50IHRvIGRpc3BsYXkgcG9wdXAgb24gaG92ZXIsIGJ1dCBvbmx5IHdoZW4gYHZpc2libGVgIGlzIHRydWUuXG4gICAgICovXG4gICAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICAgIGlmIChpc0NvbnRyb2xsZWQpIHtcbiAgICAgICAgb25Qb2ludGVyRXZlbnQodmlzaWJsZSkoKVxuICAgICAgfVxuICAgIH0sIFtpc0NvbnRyb2xsZWQsIG9uUG9pbnRlckV2ZW50LCB2aXNpYmxlXSlcblxuICAgIC8vIEhhbmRsZSBoaWRlIG9uIGVzYyBwcmVzcyBhbmQgaGlkZSBvbiBjbGljayBvdXRzaWRlXG4gICAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICAgIGNvbnN0IGhhbmRsZUVzY1ByZXNzID0gKGV2ZW50OiBLZXlib2FyZEV2ZW50KSA9PiB7XG4gICAgICAgIGlmIChldmVudC5rZXkgPT09ICdFc2NhcGUnKSB7XG4gICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKVxuICAgICAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpXG4gICAgICAgICAgY2xvc2VQb3B1cCgpXG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgY29uc3QgaGFuZGxlQ2xpY2tPdXRzaWRlID0gKGV2ZW50OiBNb3VzZUV2ZW50KSA9PiB7XG4gICAgICAgIGNvbnN0IHBvcHVwQ3VycmVudCA9IGlubmVyUG9wdXBSZWYuY3VycmVudFxuICAgICAgICBjb25zdCBjaGlsZHJlbkN1cnJlbnQgPSBjaGlsZHJlblJlZi5jdXJyZW50XG5cbiAgICAgICAgaWYgKHBvcHVwQ3VycmVudCAmJiBoaWRlT25DbGlja091dHNpZGUgJiYgIWV2ZW50LmRlZmF1bHRQcmV2ZW50ZWQpIHtcbiAgICAgICAgICBpZiAoXG4gICAgICAgICAgICBldmVudC50YXJnZXQgJiZcbiAgICAgICAgICAgIGV2ZW50LnRhcmdldCAhPT0gcG9wdXBDdXJyZW50ICYmXG4gICAgICAgICAgICBldmVudC50YXJnZXQgIT09IGNoaWxkcmVuQ3VycmVudCAmJlxuICAgICAgICAgICAgIWNoaWxkcmVuQ3VycmVudD8uY29udGFpbnMoZXZlbnQudGFyZ2V0IGFzIE5vZGUpICYmXG4gICAgICAgICAgICAhcG9wdXBDdXJyZW50LmNvbnRhaW5zKGV2ZW50LnRhcmdldCBhcyBOb2RlKVxuICAgICAgICAgICkge1xuICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKVxuICAgICAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKClcbiAgICAgICAgICAgIGNsb3NlUG9wdXAoKVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgaWYgKHZpc2libGVJbkRvbSkge1xuICAgICAgICBkb2N1bWVudC5ib2R5LmFkZEV2ZW50TGlzdGVuZXIoJ2tleXVwJywgaGFuZGxlRXNjUHJlc3MpXG4gICAgICAgIGRvY3VtZW50LmJvZHkuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCBoYW5kbGVDbGlja091dHNpZGUpXG4gICAgICB9XG5cbiAgICAgIHJldHVybiAoKSA9PiB7XG4gICAgICAgIGRvY3VtZW50LmJvZHkucmVtb3ZlRXZlbnRMaXN0ZW5lcigna2V5dXAnLCBoYW5kbGVFc2NQcmVzcylcbiAgICAgICAgZG9jdW1lbnQuYm9keS5yZW1vdmVFdmVudExpc3RlbmVyKCdjbGljaycsIGhhbmRsZUNsaWNrT3V0c2lkZSlcbiAgICAgIH1cbiAgICB9LCBbXG4gICAgICBjbG9zZVBvcHVwLFxuICAgICAgdmlzaWJsZUluRG9tLFxuICAgICAgaW5uZXJQb3B1cFJlZixcbiAgICAgIGNoaWxkcmVuUmVmLFxuICAgICAgaGlkZU9uQ2xpY2tPdXRzaWRlLFxuICAgIF0pXG5cbiAgICAvKipcbiAgICAgKiBUaGlzIGV2ZW50IHdpbGwgb2NjdXIgb25seSBmb3IgZGlhbG9nIGFuZCB3aWxsIHRyYXAgZm9jdXMgaW5zaWRlIHRoZSBkaWFsb2cuXG4gICAgICovXG4gICAgY29uc3QgaGFuZGxlRm9jdXNUcmFwOiBLZXlib2FyZEV2ZW50SGFuZGxlciA9IHVzZUNhbGxiYWNrKGV2ZW50ID0+IHtcbiAgICAgIGNvbnN0IGlzVGFiUHJlc3NlZCA9IGV2ZW50LmtleSA9PT0gJ1RhYidcbiAgICAgIGlmICghaXNUYWJQcmVzc2VkKSB7XG4gICAgICAgIHJldHVyblxuICAgICAgfVxuICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKClcblxuICAgICAgY29uc3QgZm9jdXNhYmxlRWxzID1cbiAgICAgICAgaW5uZXJQb3B1cFJlZi5jdXJyZW50Py5xdWVyeVNlbGVjdG9yQWxsKFxuICAgICAgICAgICdhW2hyZWZdOm5vdChbZGlzYWJsZWRdKSwgYnV0dG9uOm5vdChbZGlzYWJsZWRdKSwgdGV4dGFyZWE6bm90KFtkaXNhYmxlZF0pLCBpbnB1dDpub3QoW2Rpc2FibGVkXSksIHNlbGVjdDpub3QoW2Rpc2FibGVkXSknLFxuICAgICAgICApID8/IFtdXG5cbiAgICAgIC8vIEhhbmRsZSBjYXNlIHdoZW4gbm8gaW50ZXJhY3RpdmUgZWxlbWVudCBhcmUgd2l0aGluIHRoZSBtb2RhbCAoaW5jbHVkaW5nIGNsb3NlIGljb24pXG4gICAgICBpZiAoZm9jdXNhYmxlRWxzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpXG4gICAgICB9XG5cbiAgICAgIGNvbnN0IGZpcnN0Rm9jdXNhYmxlRWwgPSBmb2N1c2FibGVFbHNbMF0gYXMgSFRNTEVsZW1lbnRcbiAgICAgIGNvbnN0IGxhc3RGb2N1c2FibGVFbCA9IGZvY3VzYWJsZUVsc1tcbiAgICAgICAgZm9jdXNhYmxlRWxzLmxlbmd0aCAtIDFcbiAgICAgIF0gYXMgSFRNTEVsZW1lbnRcblxuICAgICAgaWYgKGV2ZW50LnNoaWZ0S2V5KSB7XG4gICAgICAgIGlmIChcbiAgICAgICAgICBkb2N1bWVudC5hY3RpdmVFbGVtZW50ID09PSBmaXJzdEZvY3VzYWJsZUVsIHx8XG4gICAgICAgICAgZG9jdW1lbnQuYWN0aXZlRWxlbWVudCA9PT0gaW5uZXJQb3B1cFJlZi5jdXJyZW50XG4gICAgICAgICkge1xuICAgICAgICAgIGxhc3RGb2N1c2FibGVFbC5mb2N1cygpXG4gICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKVxuICAgICAgICB9XG4gICAgICB9IGVsc2UgaWYgKFxuICAgICAgICBkb2N1bWVudC5hY3RpdmVFbGVtZW50ID09PSBsYXN0Rm9jdXNhYmxlRWwgfHxcbiAgICAgICAgZG9jdW1lbnQuYWN0aXZlRWxlbWVudCA9PT0gaW5uZXJQb3B1cFJlZi5jdXJyZW50XG4gICAgICApIHtcbiAgICAgICAgZmlyc3RGb2N1c2FibGVFbC5mb2N1cygpXG4gICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KClcbiAgICAgIH1cbiAgICB9LCBbXSlcblxuICAgIC8qKlxuICAgICAqIFdpbGwgcmVuZGVyIGNoaWxkcmVuIGNvbmRpdGlvbmFsbHkgaWYgY2hpbGRyZW4gaXMgYSBmdW5jdGlvbiBvciBub3QuXG4gICAgICovXG4gICAgY29uc3QgcmVuZGVyQ2hpbGRyZW4gPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgICBpZiAodHlwZW9mIGNoaWxkcmVuID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgIHJldHVybiBjaGlsZHJlbih7XG4gICAgICAgICAgb25CbHVyOiAhaXNDb250cm9sbGVkID8gb25Qb2ludGVyRXZlbnQoZmFsc2UpIDogbm9vcCxcbiAgICAgICAgICBvbkZvY3VzOiAhaXNDb250cm9sbGVkID8gb25Qb2ludGVyRXZlbnQodHJ1ZSkgOiBub29wLFxuICAgICAgICAgIG9uUG9pbnRlckVudGVyOiAhaXNDb250cm9sbGVkID8gb25Qb2ludGVyRXZlbnQodHJ1ZSkgOiBub29wLFxuICAgICAgICAgIG9uUG9pbnRlckxlYXZlOiAhaXNDb250cm9sbGVkID8gb25Qb2ludGVyRXZlbnQoZmFsc2UpIDogbm9vcCxcbiAgICAgICAgICByZWY6IGNoaWxkcmVuUmVmLFxuICAgICAgICB9KVxuICAgICAgfVxuXG4gICAgICByZXR1cm4gKFxuICAgICAgICA8U3R5bGVkQ2hpbGRyZW5Db250YWluZXJcbiAgICAgICAgICBhcmlhLWRlc2NyaWJlZGJ5PXtnZW5lcmF0ZWRJZH1cbiAgICAgICAgICBhcmlhLWNvbnRyb2xzPXtnZW5lcmF0ZWRJZH1cbiAgICAgICAgICBvbkJsdXI9eyFpc0NvbnRyb2xsZWQgPyBvblBvaW50ZXJFdmVudChmYWxzZSkgOiBub29wfVxuICAgICAgICAgIG9uRm9jdXM9eyFpc0NvbnRyb2xsZWQgPyBvblBvaW50ZXJFdmVudCh0cnVlKSA6IG5vb3B9XG4gICAgICAgICAgb25Qb2ludGVyRW50ZXI9eyFpc0NvbnRyb2xsZWQgPyBvblBvaW50ZXJFdmVudCh0cnVlKSA6IG5vb3B9XG4gICAgICAgICAgb25Qb2ludGVyTGVhdmU9eyFpc0NvbnRyb2xsZWQgPyBvblBvaW50ZXJFdmVudChmYWxzZSkgOiBub29wfVxuICAgICAgICAgIHJlZj17Y2hpbGRyZW5SZWZ9XG4gICAgICAgICAgdGFiSW5kZXg9e3RhYkluZGV4fVxuICAgICAgICAgIG9uS2V5RG93bj17ZXZlbnQgPT4ge1xuICAgICAgICAgICAgb25LZXlEb3duPy4oZXZlbnQpXG4gICAgICAgICAgfX1cbiAgICAgICAgICBkYXRhLWNvbnRhaW5lci1mdWxsLXdpZHRoPXtjb250YWluZXJGdWxsV2lkdGh9XG4gICAgICAgICAgYXJpYS1oYXNwb3B1cD17YXJpYUhhc1BvcHVwfVxuICAgICAgICA+XG4gICAgICAgICAge2NoaWxkcmVufVxuICAgICAgICA8L1N0eWxlZENoaWxkcmVuQ29udGFpbmVyPlxuICAgICAgKVxuICAgIH0sIFtcbiAgICAgIGFyaWFIYXNQb3B1cCxcbiAgICAgIGNoaWxkcmVuLFxuICAgICAgY29udGFpbmVyRnVsbFdpZHRoLFxuICAgICAgZ2VuZXJhdGVkSWQsXG4gICAgICBpc0NvbnRyb2xsZWQsXG4gICAgICBvbktleURvd24sXG4gICAgICBvblBvaW50ZXJFdmVudCxcbiAgICAgIHRhYkluZGV4LFxuICAgIF0pXG5cbiAgICBjb25zdCBzaG91bGRSZW5kZXIgPSB1c2VNZW1vKCgpID0+IHtcbiAgICAgIGlmICghZHluYW1pY0RvbVJlbmRlcmluZykge1xuICAgICAgICByZXR1cm4gdHJ1ZVxuICAgICAgfVxuXG4gICAgICBpZiAoZHluYW1pY0RvbVJlbmRlcmluZyAmJiB2aXNpYmxlSW5Eb20pIHtcbiAgICAgICAgcmV0dXJuIHRydWVcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIGZhbHNlXG4gICAgfSwgW2R5bmFtaWNEb21SZW5kZXJpbmcsIHZpc2libGVJbkRvbV0pXG5cbiAgICBpZiAoIXRleHQpIHtcbiAgICAgIGlmICh0eXBlb2YgY2hpbGRyZW4gPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgcmV0dXJuIG51bGxcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIGNoaWxkcmVuXG4gICAgfVxuXG4gICAgcmV0dXJuIChcbiAgICAgIDw+XG4gICAgICAgIHtyZW5kZXJDaGlsZHJlbigpfVxuICAgICAgICB7c2hvdWxkUmVuZGVyXG4gICAgICAgICAgPyBjcmVhdGVQb3J0YWwoXG4gICAgICAgICAgICAgIDxTdHlsZWRQb3B1cFxuICAgICAgICAgICAgICAgIHJlZj17aW5uZXJQb3B1cFJlZn1cbiAgICAgICAgICAgICAgICBwb3NpdGlvbnM9e3Bvc2l0aW9uc31cbiAgICAgICAgICAgICAgICBtYXhXaWR0aD17bWF4V2lkdGh9XG4gICAgICAgICAgICAgICAgbWF4SGVpZ2h0PXttYXhIZWlnaHR9XG4gICAgICAgICAgICAgICAgcm9sZT17cm9sZX1cbiAgICAgICAgICAgICAgICBpZD17Z2VuZXJhdGVkSWR9XG4gICAgICAgICAgICAgICAgY2xhc3NOYW1lPXtjbGFzc05hbWV9XG4gICAgICAgICAgICAgICAgcmV2ZXJzZUFuaW1hdGlvbj17cmV2ZXJzZUFuaW1hdGlvbn1cbiAgICAgICAgICAgICAgICBkYXRhLXRlc3RpZD17ZGF0YVRlc3RJZH1cbiAgICAgICAgICAgICAgICBkYXRhLWhhcy1hcnJvdz17aGFzQXJyb3d9XG4gICAgICAgICAgICAgICAgb25DbGljaz17c3RvcENsaWNrUHJvcGFnYXRpb259XG4gICAgICAgICAgICAgICAgb25Qb2ludGVyRW50ZXI9eyFpc0NvbnRyb2xsZWQgPyBvblBvaW50ZXJFdmVudCh0cnVlKSA6IG5vb3B9XG4gICAgICAgICAgICAgICAgb25Qb2ludGVyTGVhdmU9eyFpc0NvbnRyb2xsZWQgPyBvblBvaW50ZXJFdmVudChmYWxzZSkgOiBub29wfVxuICAgICAgICAgICAgICAgIGFuaW1hdGlvbkR1cmF0aW9uPXthbmltYXRpb25EdXJhdGlvbn1cbiAgICAgICAgICAgICAgICBvbktleURvd249e3JvbGUgPT09ICdkaWFsb2cnID8gaGFuZGxlRm9jdXNUcmFwIDogdW5kZWZpbmVkfVxuICAgICAgICAgICAgICAgIGlzRGlhbG9nPXtyb2xlID09PSAnZGlhbG9nJ31cbiAgICAgICAgICAgICAgICBkYXRhLXZpc2libGUtaW4tZG9tPXtcbiAgICAgICAgICAgICAgICAgICFkeW5hbWljRG9tUmVuZGVyaW5nID8gdmlzaWJsZUluRG9tIDogdW5kZWZpbmVkXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGRhdGEtYW5pbWF0ZWQ9e2FuaW1hdGlvbkR1cmF0aW9uID4gMCAmJiAhbWF4SGVpZ2h0fVxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAge3RleHR9XG4gICAgICAgICAgICAgIDwvU3R5bGVkUG9wdXA+LFxuICAgICAgICAgICAgICBwb3B1cFBvcnRhbFRhcmdldCBhcyBIVE1MRWxlbWVudCxcbiAgICAgICAgICAgIClcbiAgICAgICAgICA6IG51bGx9XG4gICAgICA8Lz5cbiAgICApXG4gIH0sXG4pXG4iXX0= */"), ';}&[data-has-arrow="true"]{&::after{content:" ";position:absolute;top:', ({
|
|
50
|
+
}) => /* @__PURE__ */ react.css(animationDuration, "ms ", !reverseAnimation ? animations.animation(positions) : animations.exitAnimation(positions), " forwards;" + (process.env.NODE_ENV === "production" ? "" : ";label:StyledPopup;"), process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL3VsdHJhdmlvbGV0L3VsdHJhdmlvbGV0L3BhY2thZ2VzL3VpL3NyYy9jb21wb25lbnRzL1BvcHVwL2luZGV4LnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFxRjRFIiwiZmlsZSI6Ii9ob21lL3J1bm5lci93b3JrL3VsdHJhdmlvbGV0L3VsdHJhdmlvbGV0L3BhY2thZ2VzL3VpL3NyYy9jb21wb25lbnRzL1BvcHVwL2luZGV4LnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNzcyB9IGZyb20gJ0BlbW90aW9uL3JlYWN0J1xuaW1wb3J0IHN0eWxlZCBmcm9tICdAZW1vdGlvbi9zdHlsZWQnXG5pbXBvcnQgdHlwZSB7XG4gIEhUTUxBdHRyaWJ1dGVzLFxuICBLZXlib2FyZEV2ZW50SGFuZGxlcixcbiAgTW91c2VFdmVudEhhbmRsZXIsXG4gIFJlYWN0Tm9kZSxcbiAgUmVmLFxuICBSZWZPYmplY3QsXG59IGZyb20gJ3JlYWN0J1xuaW1wb3J0IHtcbiAgZm9yd2FyZFJlZixcbiAgc3RhcnRUcmFuc2l0aW9uLFxuICB1c2VDYWxsYmFjayxcbiAgdXNlRWZmZWN0LFxuICB1c2VJZCxcbiAgdXNlSW1wZXJhdGl2ZUhhbmRsZSxcbiAgdXNlTWVtbyxcbiAgdXNlUmVmLFxuICB1c2VTdGF0ZSxcbn0gZnJvbSAncmVhY3QnXG5pbXBvcnQgeyBjcmVhdGVQb3J0YWwgfSBmcm9tICdyZWFjdC1kb20nXG5pbXBvcnQgeyBpc0NsaWVudFNpZGUgfSBmcm9tICcuLi8uLi9oZWxwZXJzL2lzQ2xpZW50U2lkZSdcbmltcG9ydCB0eXBlIHsgUG9zaXRpb25zVHlwZSB9IGZyb20gJy4vYW5pbWF0aW9ucydcbmltcG9ydCB7IGFuaW1hdGlvbiwgZXhpdEFuaW1hdGlvbiB9IGZyb20gJy4vYW5pbWF0aW9ucydcbmltcG9ydCB0eXBlIHsgUG9wdXBBbGlnbiwgUG9wdXBQbGFjZW1lbnQgfSBmcm9tICcuL2hlbHBlcnMnXG5pbXBvcnQge1xuICBERUZBVUxUX0FSUk9XX1dJRFRILFxuICBERUZBVUxUX1BPU0lUSU9OUyxcbiAgY29tcHV0ZVBvc2l0aW9ucyxcbn0gZnJvbSAnLi9oZWxwZXJzJ1xuXG5jb25zdCBERUZBVUxUX0FOSU1BVElPTl9EVVJBVElPTiA9IDIzMCAvLyBpbiBtc1xuY29uc3QgREVGQVVMVF9ERUJPVU5DRV9EVVJBVElPTiA9IDIwMCAvLyBpbiBtc1xuXG5jb25zdCBub29wID0gKCkgPT4ge31cblxudHlwZSBTdHlsZWRQb3B1cFByb3BzID0ge1xuICBtYXhXaWR0aDogbnVtYmVyIHwgc3RyaW5nXG4gIHBvc2l0aW9uczogUG9zaXRpb25zVHlwZVxuICByZXZlcnNlQW5pbWF0aW9uOiBib29sZWFuXG4gIG1heEhlaWdodD86IG51bWJlciB8IHN0cmluZ1xuICBhbmltYXRpb25EdXJhdGlvbj86IG51bWJlclxuICBpc0RpYWxvZzogYm9vbGVhblxufVxuXG4vKipcbiAqIFRoaXMgZXZlbnQgaGFuZGxlIGFsbG93IHVzIHRvIG5vdCBidWJibGUgdGhlIGV2ZW50IHRvIGRvY3VtZW50LmJvZHkgbGlrZSB0aGlzIHJlYWN0LXNlbGVjdCB3b3JrcyBmaW5lXG4gKi9cbmNvbnN0IHN0b3BDbGlja1Byb3BhZ2F0aW9uOiBNb3VzZUV2ZW50SGFuZGxlciA9IGV2ZW50ID0+IHtcbiAgZXZlbnQubmF0aXZlRXZlbnQuc3RvcEltbWVkaWF0ZVByb3BhZ2F0aW9uKClcbn1cblxuY29uc3QgU3R5bGVkUG9wdXAgPSBzdHlsZWQoJ2RpdicsIHtcbiAgc2hvdWxkRm9yd2FyZFByb3A6IHByb3AgPT5cbiAgICAhW1xuICAgICAgJ21heFdpZHRoJyxcbiAgICAgICdwb3NpdGlvbnMnLFxuICAgICAgJ3JldmVyc2VBbmltYXRpb24nLFxuICAgICAgJ21heEhlaWdodCcsXG4gICAgICAnYW5pbWF0aW9uRHVyYXRpb24nLFxuICAgICAgJ2lzRGlhbG9nJyxcbiAgICBdLmluY2x1ZGVzKHByb3ApLFxufSk8U3R5bGVkUG9wdXBQcm9wcz5gXG4gIGJhY2tncm91bmQ6ICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuY29sb3JzLm5ldXRyYWwuYmFja2dyb3VuZFN0cm9uZ2VyfTtcbiAgY29sb3I6ICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuY29sb3JzLm5ldXRyYWwudGV4dFN0cm9uZ2VyfTtcbiAgYm9yZGVyLXJhZGl1czogJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5yYWRpaS5kZWZhdWx0fTtcbiAgcGFkZGluZzogJHsoeyB0aGVtZSB9KSA9PiBgJHt0aGVtZS5zcGFjZVsnMC41J119ICR7dGhlbWUuc3BhY2VbJzEnXX1gfTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIG1heC13aWR0aDogJHsoeyBtYXhXaWR0aCB9KSA9PlxuICAgIHR5cGVvZiBtYXhXaWR0aCA9PT0gJ251bWJlcicgPyBgJHttYXhXaWR0aH1weGAgOiBtYXhXaWR0aH07XG4gIG1heC1oZWlnaHQ6ICR7KHsgbWF4SGVpZ2h0IH0pID0+XG4gICAgdHlwZW9mIG1heEhlaWdodCA9PT0gJ251bWJlcicgPyBgJHttYXhIZWlnaHR9cHhgIDogbWF4SGVpZ2h0fTtcbiAgb3ZlcmZsb3c6ICR7KHsgbWF4SGVpZ2h0IH0pID0+IChtYXhIZWlnaHQgPyAnYXV0bycgOiB1bmRlZmluZWQpfTtcbiAgb3ZlcmZsb3ctd3JhcDogYnJlYWstd29yZDtcbiAgZm9udC1zaXplOiAwLjhyZW07XG4gIGluc2V0OiAwIGF1dG8gYXV0byAwO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIG9wYWNpdHk6IDA7XG4gIHotaW5kZXg6IDE7XG4gIHRyYW5zZm9ybTogJHsoeyBwb3NpdGlvbnMgfSkgPT4gcG9zaXRpb25zLnBvcHVwUG9zaXRpb259O1xuXG4gICZbZGF0YS1hbmltYXRlZD1cInRydWVcIl0ge1xuICAgIGFuaW1hdGlvbjogJHsoeyBwb3NpdGlvbnMsIHJldmVyc2VBbmltYXRpb24sIGFuaW1hdGlvbkR1cmF0aW9uIH0pID0+IGNzc2BcbiAgICAgICR7YW5pbWF0aW9uRHVyYXRpb259bXMgJHtcbiAgICAgICAgIXJldmVyc2VBbmltYXRpb24gPyBhbmltYXRpb24ocG9zaXRpb25zKSA6IGV4aXRBbmltYXRpb24ocG9zaXRpb25zKVxuICAgICAgfSBmb3J3YXJkc1xuICAgIGB9O1xuICB9XG5cbiAgJltkYXRhLWhhcy1hcnJvdz1cInRydWVcIl0ge1xuICAgICY6OmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6IFwiIFwiO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAkeyh7IHBvc2l0aW9ucyB9KSA9PiBwb3NpdGlvbnMuYXJyb3dUb3B9cHg7XG4gICAgICBsZWZ0OiAkeyh7IHBvc2l0aW9ucyB9KSA9PiBwb3NpdGlvbnMuYXJyb3dMZWZ0fXB4O1xuICAgICAgdHJhbnNmb3JtOiAkeyh7IHBvc2l0aW9ucyB9KSA9PiBwb3NpdGlvbnMuYXJyb3dUcmFuc2Zvcm19XG4gICAgICAgIHJvdGF0ZSgkeyh7IHBvc2l0aW9ucyB9KSA9PiBwb3NpdGlvbnMucm90YXRlfWRlZyk7XG4gICAgICBtYXJnaW4tbGVmdDogLSR7REVGQVVMVF9BUlJPV19XSURUSH1weDtcbiAgICAgIGJvcmRlci13aWR0aDogJHtERUZBVUxUX0FSUk9XX1dJRFRIfXB4O1xuICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgIGJvcmRlci1jb2xvcjogJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5jb2xvcnMubmV1dHJhbC5iYWNrZ3JvdW5kU3Ryb25nZXJ9XG4gICAgICAgIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgJltkYXRhLXZpc2libGUtaW4tZG9tPVwiZmFsc2VcIl0ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbmBcblxuY29uc3QgU3R5bGVkQ2hpbGRyZW5Db250YWluZXIgPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBpbmhlcml0O1xuXG4gICZbZGF0YS1jb250YWluZXItZnVsbC13aWR0aD1cInRydWVcIl0ge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG5gXG5cbnR5cGUgUG9wdXBQcm9wcyA9IHtcbiAgLyoqXG4gICAqIElkIGlzIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGVkIGlmIG5vdCBzZXQuIEl0IGlzIHVzZWQgZm9yIGFzc29jaWF0aW5nIHBvcHVwIHdyYXBwZXIgd2l0aCBwb3B1cCBwb3J0YWwuXG4gICAqL1xuICBpZD86IHN0cmluZ1xuICBjaGlsZHJlbjpcbiAgICB8IFJlYWN0Tm9kZVxuICAgIHwgKChyZW5kZXJQcm9wczoge1xuICAgICAgICBjbGFzc05hbWU/OiBzdHJpbmdcbiAgICAgICAgb25CbHVyOiAoKSA9PiB2b2lkXG4gICAgICAgIG9uRm9jdXM6ICgpID0+IHZvaWRcbiAgICAgICAgb25Qb2ludGVyRW50ZXI6ICgpID0+IHZvaWRcbiAgICAgICAgb25Qb2ludGVyTGVhdmU6ICgpID0+IHZvaWRcbiAgICAgICAgcmVmOiBSZWZPYmplY3Q8SFRNTERpdkVsZW1lbnQgfCBudWxsPlxuICAgICAgfSkgPT4gUmVhY3ROb2RlKVxuICBtYXhXaWR0aD86IG51bWJlciB8IHN0cmluZ1xuICAvKipcbiAgICogYGF1dG9gIHBsYWNlbWVudCB3aWxsIGNoYW5nZSB0aGUgcG9zaXRpb24gb2YgdGhlIHBvcHVwIGlmIGl0IGRvZXNuJ3QgZml0IGluIHRoZSB2aWV3cG9ydC5cbiAgICovXG4gIHBsYWNlbWVudD86IFBvcHVwUGxhY2VtZW50XG4gIC8qKlxuICAgKiBBbGlnbiB0aGUgcG9wdXAgdG8gdGhlIHN0YXJ0IG9yIGNlbnRlciBvZiB0aGUgY2hpbGRyZW4uXG4gICAqL1xuICBhbGlnbj86IFBvcHVwQWxpZ25cbiAgLyoqXG4gICAqIENvbnRlbnQgb2YgdGhlIHBvcHVwLCBwcmVmZXJhYmx5IHRleHQgaW5zaWRlLlxuICAgKi9cbiAgdGV4dD86IFJlYWN0Tm9kZVxuICBjbGFzc05hbWU/OiBzdHJpbmdcbiAgLyoqXG4gICAqIEl0IHdpbGwgYWRkIGB3aWR0aDogMTAwJWAgdG8gdGhlIHBvcHVwIGNvbnRhaW5lci5cbiAgICovXG4gIGNvbnRhaW5lckZ1bGxXaWR0aD86IGJvb2xlYW5cbiAgLyoqXG4gICAqIEl0IHdpbGwgZm9yY2UgZGlzcGxheSBwb3B1cC4gVGhpcyBjYW4gYmUgdXNlZnVsIGlmIHlvdSBuZWVkIHRvIGFsd2F5cyBkaXNwbGF5IHRoZSBwb3B1cCB3aXRob3V0IGhvdmVyIG5lZWRlZC5cbiAgICovXG4gIHZpc2libGU/OiBib29sZWFuXG4gIGlubmVyUmVmPzogUmVmPEhUTUxEaXZFbGVtZW50IHwgbnVsbD5cbiAgcm9sZT86IHN0cmluZ1xuICAnZGF0YS10ZXN0aWQnPzogc3RyaW5nXG4gIGhhc0Fycm93PzogYm9vbGVhblxuICBvbkNsb3NlPzogKCkgPT4gdm9pZFxuICB0YWJJbmRleD86IG51bWJlclxuICBvbktleURvd24/OiBLZXlib2FyZEV2ZW50SGFuZGxlclxuICAnYXJpYS1oYXNwb3B1cCc/OiBIVE1MQXR0cmlidXRlczxIVE1MRGl2RWxlbWVudD5bJ2FyaWEtaGFzcG9wdXAnXVxuICBoaWRlT25DbGlja091dHNpZGU/OiBib29sZWFuXG4gIC8qKlxuICAgKiBJZiB5b3Ugc2V0IGRlYm91bmNlVGltZSB0byBmYWxzZSwgdGhlIHBvcHVwIHdpbGwgbm90IGRlYm91bmNlIHRoZSBob3ZlciBldmVudCBhbmQgd2lsbCBiZSBkaXNwbGF5ZWQgaW5zdGFudGx5LlxuICAgKiBJZiBzZXQgdG8gMCBpdCB3aWxsIGRpc2FibGUgZGVib3VuY2UuXG4gICAqL1xuICBkZWJvdW5jZURlbGF5PzogbnVtYmVyXG4gIC8qKlxuICAgKiBJZiB5b3Ugc2V0IGEgbWF4IGhlaWdodCBrZWVwIGluIG1pbmQgdGhhdCB0aGUgYW5pbWF0aW9uIGlzIGRpc2FibGVkLCBvciBpdCB3aWxsIG5vdCB3b3JrIHByb3Blcmx5IG9uIHNvbWUgYnJvd3NlcnMuXG4gICAqL1xuICBtYXhIZWlnaHQ/OiBzdHJpbmcgfCBudW1iZXJcbiAgLyoqXG4gICAqIFdpbGwgcmVtb3ZlIHRoZSBhbmltYXRpb24gb24gdGhlIHBvcHVwIGlmIHNldCB0byBmYWxzZS5cbiAgICovXG4gIGRpc2FibGVBbmltYXRpb24/OiBib29sZWFuXG4gIC8qKlxuICAgKiBCeSBkZWZhdWx0LCB0aGUgcG9ydGFsIHRhcmdldCBpcyBjaGlsZHJlbiBjb250YWluZXIgb3IgZG9jdW1lbnQuYm9keSBpZiBjaGlsZHJlbiBpcyBhIGZ1bmN0aW9uLiBZb3UgY2FuIG92ZXJyaWRlIHRoaXNcbiAgICogYmVoYXZpb3IgYnkgc2V0dGluZyBhIHBvcnRhbFRhcmdldCBwcm9wLlxuICAgKi9cbiAgcG9ydGFsVGFyZ2V0PzogSFRNTEVsZW1lbnRcbiAgLyoqXG4gICAqIElmIHlvdSBzZXQgdGhpcyB0byB0cnVlLCB0aGUgcG9wdXAgd2lsbCBiZSByZW5kZXJlZCBpbiB0aGUgRE9NIG9ubHkgd2hlbiBpdCBpcyB2aXNpYmxlLlxuICAgKiBXaGVuIHNldCB0byBmYWxzZSwgdGhlIHBvcHVwIHdpbGwgYWx3YXlzIGJlIHJlbmRlcmVkIGluIHRoZSBET00uIEJ5IGRlZmF1bHQgdGhpcyB2YWx1ZSBpcyBzZXQgdG8gYHRydWVgLCBpZiBmb3Igc29tZVxuICAgKiByZWFzb24geW91IG5lZWQgdG8gZGlzYWJsZSBpdCwgeW91IGNhbiBzZXQgaXQgdG8gYGZhbHNlYC5cbiAgICovXG4gIGR5bmFtaWNEb21SZW5kZXJpbmc/OiBib29sZWFuXG59XG5cbi8qKlxuICogQGV4cGVyaW1lbnRhbCBUaGlzIGNvbXBvbmVudCBpcyBleHBlcmltZW50YWwgYW5kIG1heSBiZSBzdWJqZWN0IHRvIGJyZWFraW5nIGNoYW5nZXMgaW4gdGhlIGZ1dHVyZS5cbiAqL1xuZXhwb3J0IGNvbnN0IFBvcHVwID0gZm9yd2FyZFJlZihcbiAgKFxuICAgIHtcbiAgICAgIGNoaWxkcmVuLFxuICAgICAgdGV4dCA9ICcnLFxuICAgICAgcGxhY2VtZW50ID0gJ2F1dG8nLFxuICAgICAgYWxpZ24gPSAnY2VudGVyJyxcbiAgICAgIGlkLFxuICAgICAgY2xhc3NOYW1lLFxuICAgICAgY29udGFpbmVyRnVsbFdpZHRoLFxuICAgICAgbWF4V2lkdGggPSAnMTQuNXJlbScsXG4gICAgICBtYXhIZWlnaHQsXG4gICAgICB2aXNpYmxlLFxuICAgICAgaW5uZXJSZWYsXG4gICAgICByb2xlID0gJ3BvcHVwJyxcbiAgICAgICdkYXRhLXRlc3RpZCc6IGRhdGFUZXN0SWQsXG4gICAgICBoYXNBcnJvdyA9IHRydWUsXG4gICAgICBvbkNsb3NlLFxuICAgICAgdGFiSW5kZXggPSAwLFxuICAgICAgb25LZXlEb3duLFxuICAgICAgJ2FyaWEtaGFzcG9wdXAnOiBhcmlhSGFzUG9wdXAsXG4gICAgICBoaWRlT25DbGlja091dHNpZGUgPSBmYWxzZSxcbiAgICAgIGRlYm91bmNlRGVsYXkgPSBERUZBVUxUX0RFQk9VTkNFX0RVUkFUSU9OLFxuICAgICAgZGlzYWJsZUFuaW1hdGlvbiA9IGZhbHNlLFxuICAgICAgcG9ydGFsVGFyZ2V0LFxuICAgICAgZHluYW1pY0RvbVJlbmRlcmluZyA9IHRydWUsXG4gICAgfTogUG9wdXBQcm9wcyxcbiAgICByZWY6IFJlZjxIVE1MRGl2RWxlbWVudD4sXG4gICkgPT4ge1xuICAgIGNvbnN0IGNoaWxkcmVuUmVmID0gdXNlUmVmPEhUTUxEaXZFbGVtZW50PihudWxsKVxuICAgIHVzZUltcGVyYXRpdmVIYW5kbGUoaW5uZXJSZWYsICgpID0+IGNoaWxkcmVuUmVmLmN1cnJlbnQgYXMgSFRNTERpdkVsZW1lbnQpXG5cbiAgICBjb25zdCBpbm5lclBvcHVwUmVmID0gdXNlUmVmPEhUTUxEaXZFbGVtZW50PihudWxsKVxuICAgIHVzZUltcGVyYXRpdmVIYW5kbGUocmVmLCAoKSA9PiBpbm5lclBvcHVwUmVmLmN1cnJlbnQgYXMgSFRNTERpdkVsZW1lbnQpXG5cbiAgICBjb25zdCB0aW1lciA9IHVzZVJlZjxSZXR1cm5UeXBlPHR5cGVvZiBzZXRUaW1lb3V0Pj4odW5kZWZpbmVkKVxuICAgIGNvbnN0IHBvcHVwUG9ydGFsVGFyZ2V0ID0gdXNlTWVtbygoKSA9PiB7XG4gICAgICBpZiAocG9ydGFsVGFyZ2V0KSByZXR1cm4gcG9ydGFsVGFyZ2V0XG5cbiAgICAgIGlmIChyb2xlID09PSAnZGlhbG9nJykge1xuICAgICAgICBpZiAoY2hpbGRyZW5SZWYuY3VycmVudCkgcmV0dXJuIGNoaWxkcmVuUmVmLmN1cnJlbnRcbiAgICAgICAgaWYgKGlzQ2xpZW50U2lkZSkgcmV0dXJuIGRvY3VtZW50LmJvZHlcblxuICAgICAgICByZXR1cm4gbnVsbFxuICAgICAgfVxuXG4gICAgICAvLyBXZSBjaGVjayBpZiB3aW5kb3cgZXhpc3RzIGZvciBTU1JcbiAgICAgIGlmICh0eXBlb2Ygd2luZG93ICE9PSAndW5kZWZpbmVkJykge1xuICAgICAgICByZXR1cm4gZG9jdW1lbnQuYm9keVxuICAgICAgfVxuXG4gICAgICByZXR1cm4gbnVsbFxuICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHJlYWN0LWhvb2tzL2V4aGF1c3RpdmUtZGVwc1xuICAgIH0sIFtwb3J0YWxUYXJnZXQsIHJvbGUsIGNoaWxkcmVuUmVmLmN1cnJlbnRdKVxuXG4gICAgLy8gVGhlcmUgYXJlIHNvbWUgaXNzdWUgd2hlbiBtaXhpbmcgYW5pbWF0aW9uIGFuZCBtYXhIZWlnaHQgb24gc29tZSBicm93c2Vycywgc28gd2UgZGlzYWJsZSBhbmltYXRpb24gaWYgbWF4SGVpZ2h0IGlzIHNldC5cbiAgICBjb25zdCBhbmltYXRpb25EdXJhdGlvbiA9XG4gICAgICBkaXNhYmxlQW5pbWF0aW9uIHx8IG1heEhlaWdodCA/IDAgOiBERUZBVUxUX0FOSU1BVElPTl9EVVJBVElPTlxuXG4gICAgLy8gRGVib3VuY2UgdGltZXIgd2lsbCBiZSB1c2VkIHRvIHByZXZlbnQgdGhlIHBvcHVwIGZyb20gZmxpY2tlcmluZyB3aGVuIHRoZSB1c2VyIG1vdmVzIHRoZSBtb3VzZSBvdXQgYW5kIGluIHRoZSBjaGlsZHJlbiBlbGVtZW50LlxuICAgIGNvbnN0IGRlYm91bmNlVGltZXIgPSB1c2VSZWY8UmV0dXJuVHlwZTx0eXBlb2Ygc2V0VGltZW91dD4+KHVuZGVmaW5lZClcbiAgICBjb25zdCBbdmlzaWJsZUluRG9tLCBzZXRWaXNpYmxlSW5Eb21dID0gdXNlU3RhdGUoZmFsc2UpXG4gICAgY29uc3QgW3JldmVyc2VBbmltYXRpb24sIHNldFJldmVyc2VBbmltYXRpb25dID0gdXNlU3RhdGUoZmFsc2UpXG4gICAgY29uc3QgW3Bvc2l0aW9ucywgc2V0UG9zaXRpb25zXSA9IHVzZVN0YXRlPFBvc2l0aW9uc1R5cGU+KHtcbiAgICAgIC4uLkRFRkFVTFRfUE9TSVRJT05TLFxuICAgIH0pXG4gICAgY29uc3QgdW5pcXVlSWQgPSB1c2VJZCgpXG4gICAgY29uc3QgZ2VuZXJhdGVkSWQgPSBpZCA/PyB1bmlxdWVJZFxuICAgIGNvbnN0IGlzQ29udHJvbGxlZCA9IHZpc2libGUgIT09IHVuZGVmaW5lZFxuXG4gICAgY29uc3QgZ2VuZXJhdGVQb3B1cFBvc2l0aW9ucyA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICAgIGlmIChjaGlsZHJlblJlZi5jdXJyZW50ICYmIGlubmVyUG9wdXBSZWYuY3VycmVudCkge1xuICAgICAgICBzZXRQb3NpdGlvbnMoXG4gICAgICAgICAgY29tcHV0ZVBvc2l0aW9ucyh7XG4gICAgICAgICAgICBjaGlsZHJlblJlZixcbiAgICAgICAgICAgIHBsYWNlbWVudCxcbiAgICAgICAgICAgIHBvcHVwUmVmOiBpbm5lclBvcHVwUmVmLFxuICAgICAgICAgICAgcG9wdXBQb3J0YWxUYXJnZXQ6IHBvcHVwUG9ydGFsVGFyZ2V0IGFzIEhUTUxFbGVtZW50LFxuICAgICAgICAgICAgaGFzQXJyb3csXG4gICAgICAgICAgICBhbGlnbixcbiAgICAgICAgICB9KSxcbiAgICAgICAgKVxuICAgICAgfVxuICAgIH0sIFtoYXNBcnJvdywgcGxhY2VtZW50LCBwb3B1cFBvcnRhbFRhcmdldCwgYWxpZ25dKVxuXG4gICAgLyoqXG4gICAgICogVGhpcyBmdW5jdGlvbiBpcyBjYWxsZWQgd2hlbiB3ZSBuZWVkIHRvIHJlY29tcHV0ZSBwb3NpdGlvbnMgb2YgcG9wdXAgZHVlIHRvIHdpbmRvdyBzY3JvbGwgb3IgcmVzaXplLlxuICAgICAqL1xuICAgIGNvbnN0IG9uV2luZG93Q2hhbmdlRGV0ZWN0ZWQgPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgICAvLyBXZSByZW1vdmUgYW5pbWF0aW9uIG9uIHNjcm9sbCBvciB0aGUgYW5pbWF0aW9uIHdpbGwgcmVzdGFydCBvbiBldmVyeSBzY3JvbGxcbiAgICAgIGlmIChpbm5lclBvcHVwUmVmLmN1cnJlbnQpIHtcbiAgICAgICAgaW5uZXJQb3B1cFJlZi5jdXJyZW50LnN0eWxlLmFuaW1hdGlvbiA9ICdub25lJ1xuICAgICAgfVxuXG4gICAgICBnZW5lcmF0ZVBvcHVwUG9zaXRpb25zKClcbiAgICB9LCBbZ2VuZXJhdGVQb3B1cFBvc2l0aW9ucywgaW5uZXJQb3B1cFJlZl0pXG5cbiAgICAvKipcbiAgICAgKiBUaGlzIGZ1bmN0aW9uIGlzIGNhbGxlZCB3aGVuIHdlIG5lZWQgdG8gcmVtb3ZlIHBvcHVwIHBvcnRhbCBmcm9tIERPTSBhbmQgcmVtb3ZlIGV2ZW50IGxpc3RlbmVyIHRvIGl0LlxuICAgICAqL1xuICAgIGNvbnN0IHVubW91bnRQb3B1cEZyb21Eb20gPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgICBzZXRWaXNpYmxlSW5Eb20oZmFsc2UpXG4gICAgICBzZXRSZXZlcnNlQW5pbWF0aW9uKGZhbHNlKVxuXG4gICAgICB3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcignc2Nyb2xsJywgb25XaW5kb3dDaGFuZ2VEZXRlY3RlZCwgdHJ1ZSlcbiAgICB9LCBbb25XaW5kb3dDaGFuZ2VEZXRlY3RlZF0pXG5cbiAgICAvKipcbiAgICAgKiBUaGlzIGZ1bmN0aW9uIGlzIGNhbGxlZCB3aGVuIHdlIG5lZWQgdG8gaGlkZSBwb3B1cC4gQSB0aW1lb3V0IGlzIHNldCB0byBhbGxvdyBhbmltYXRpb24gZW5kLCB0aGVuIHJlbW92ZVxuICAgICAqIHBvcHVwIGZyb20gZG9tLlxuICAgICAqL1xuICAgIGNvbnN0IGNsb3NlUG9wdXAgPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgICBkZWJvdW5jZVRpbWVyLmN1cnJlbnQgPSBzZXRUaW1lb3V0KFxuICAgICAgICAoKSA9PiB7XG4gICAgICAgICAgc2V0UmV2ZXJzZUFuaW1hdGlvbih0cnVlKVxuICAgICAgICAgIHRpbWVyLmN1cnJlbnQgPSBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgIHVubW91bnRQb3B1cEZyb21Eb20oKVxuICAgICAgICAgICAgb25DbG9zZT8uKClcbiAgICAgICAgICB9LCBhbmltYXRpb25EdXJhdGlvbilcbiAgICAgICAgfSxcbiAgICAgICAgZGVib3VuY2VEZWxheSAmJiAhZGlzYWJsZUFuaW1hdGlvbiA/IGRlYm91bmNlRGVsYXkgOiAwLFxuICAgICAgKVxuICAgIH0sIFtcbiAgICAgIGFuaW1hdGlvbkR1cmF0aW9uLFxuICAgICAgZGlzYWJsZUFuaW1hdGlvbixcbiAgICAgIGRlYm91bmNlRGVsYXksXG4gICAgICBvbkNsb3NlLFxuICAgICAgdW5tb3VudFBvcHVwRnJvbURvbSxcbiAgICBdKVxuXG4gICAgLyoqXG4gICAgICogV2hlbiBtb3VzZSBob3ZlciBvciBzdG9wIGhvdmVyaW5nIGNoaWxkcmVuIHRoaXMgZnVuY3Rpb24gZGlzcGxheSBvciBoaWRlIHBvcHVwLiBBIHRpbWVvdXQgaXMgc2V0IHRvIGFsbG93IGFuaW1hdGlvblxuICAgICAqIGVuZCwgdGhlbiByZW1vdmUgcG9wdXAgZnJvbSBkb20uXG4gICAgICovXG4gICAgY29uc3Qgb25Qb2ludGVyRXZlbnQgPSB1c2VDYWxsYmFjayhcbiAgICAgIChpc1Zpc2libGU6IGJvb2xlYW4pID0+ICgpID0+IHtcbiAgICAgICAgLy8gSWYgdGhlcmUgaXMgYSBkZWJvdW5jZURlbGF5IGFuZCB0aGUgcG9wdXAgaXMgbm90IHZpc2libGUsIHdlIGNsZWFyIHRoZSBkZWJvdW5jZSB0aW1lclxuICAgICAgICBpZiAoIXZpc2libGUgJiYgZGVib3VuY2VEZWxheSA+IDAgJiYgZGVib3VuY2VUaW1lci5jdXJyZW50KSB7XG4gICAgICAgICAgY2xlYXJUaW1lb3V0KGRlYm91bmNlVGltZXIuY3VycmVudClcbiAgICAgICAgICBkZWJvdW5jZVRpbWVyLmN1cnJlbnQgPSB1bmRlZmluZWRcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIFRoaXMgY29uZGl0aW9uIGlzIGZvciB3aGVuIHdlIHdhbnQgdG8gdW5tb3VudCB0aGUgcG9wdXBcbiAgICAgICAgLy8gVGhlcmUgaXMgZGVib3VuY2UgaW4gb3JkZXIgdG8gYXZvaWQgcG9wdXAgdG8gZmxpY2tlciB3aGVuIHdlIG1vdmUgdGhlIG1vdXNlIGZyb20gY2hpbGRyZW4gdG8gcG9wdXBcbiAgICAgICAgLy8gVGltZXIgaXMgdXNlZCB0byBmb2xsb3cgdGhlIGFuaW1hdGlvbiBkdXJhdGlvblxuICAgICAgICBpZiAoIWlzVmlzaWJsZSAmJiBpbm5lclBvcHVwUmVmLmN1cnJlbnQgJiYgIWRlYm91bmNlVGltZXIuY3VycmVudCkge1xuICAgICAgICAgIGNsb3NlUG9wdXAoKVxuICAgICAgICB9IGVsc2UgaWYgKGlzVmlzaWJsZSkge1xuICAgICAgICAgIC8vIFRoaXMgY29uZGl0aW9uIGlzIGZvciB3aGVuIHdlIHdhbnQgdG8gbW91bnQgdGhlIHBvcHVwXG4gICAgICAgICAgLy8gSWYgdGhlIHRpbWVyIGV4aXN0cyBpdCBtZWFucyB0aGUgcG9wdXAgd2FzIGFib3V0IHRvIHVtb3VudCwgYnV0IHdlIGhvdmVyZWQgdGhlIGNoaWxkcmVuIGFnYWluLFxuICAgICAgICAgIC8vIHNvIHdlIGNsZWFyIHRoZSB0aW1lciBhbmQgdGhlIHBvcHVwIHdpbGwgbm90IGJlIHVubW91bnRlZFxuICAgICAgICAgIGlmICh0aW1lci5jdXJyZW50KSB7XG4gICAgICAgICAgICBzZXRSZXZlcnNlQW5pbWF0aW9uKGZhbHNlKVxuICAgICAgICAgICAgY2xlYXJUaW1lb3V0KHRpbWVyLmN1cnJlbnQpXG4gICAgICAgICAgICB0aW1lci5jdXJyZW50ID0gdW5kZWZpbmVkXG4gICAgICAgICAgfVxuICAgICAgICAgIC8vIEFuZCBoZXJlIGlzIHdoZW4gd2UgY3VycmVudGx5IGFyZSBpbiBhIGRlYm91bmNlIHRpbWVyLCBpdCBtZWFucyBwb3B1cCB3YXMgaG92ZXJlZCBkdXJpbmdcbiAgICAgICAgICAvLyB0aGF0IHBlcmlvZCwgYW5kIHNvIHdlIGNhbiBjbGVhciBkZWJvdW5jZSB0aW1lclxuICAgICAgICAgIGlmIChkZWJvdW5jZVRpbWVyLmN1cnJlbnQpIHtcbiAgICAgICAgICAgIGNsZWFyVGltZW91dChkZWJvdW5jZVRpbWVyLmN1cnJlbnQpXG4gICAgICAgICAgICBkZWJvdW5jZVRpbWVyLmN1cnJlbnQgPSB1bmRlZmluZWRcbiAgICAgICAgICB9XG4gICAgICAgICAgaWYgKGRlYm91bmNlRGVsYXkgPiAwKSB7XG4gICAgICAgICAgICBkZWJvdW5jZVRpbWVyLmN1cnJlbnQgPSBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgICAgc2V0VmlzaWJsZUluRG9tKHRydWUpXG4gICAgICAgICAgICB9LCBkZWJvdW5jZURlbGF5KVxuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBzdGFydFRyYW5zaXRpb24oKCkgPT4ge1xuICAgICAgICAgICAgICBzZXRWaXNpYmxlSW5Eb20odHJ1ZSlcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgW2Nsb3NlUG9wdXAsIGRlYm91bmNlRGVsYXksIHZpc2libGVdLFxuICAgIClcblxuICAgIC8qKlxuICAgICAqIE9uY2UgcG9wdXAgaXMgdmlzaWJsZSBpbiB0aGUgZG9tIHdlIGNhbiBjb21wdXRlIHBvc2l0aW9ucywgdGhlbiBzZXQgaXQgdmlzaWJsZSBvbiBzY3JlZW4gYW5kIGFkZCBldmVudCB0b1xuICAgICAqIHJlY29tcHV0ZSBwb3NpdGlvbnMgb24gc2Nyb2xsIG9yIHNjcmVlbiByZXNpemUuXG4gICAgICovXG4gICAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICAgIGlmICh2aXNpYmxlSW5Eb20pIHtcbiAgICAgICAgZ2VuZXJhdGVQb3B1cFBvc2l0aW9ucygpXG5cbiAgICAgICAgaWYgKHBvcHVwUG9ydGFsVGFyZ2V0ID09PSBkb2N1bWVudC5ib2R5KSB7XG4gICAgICAgICAgLy8gV2Ugd2FudCB0byBkZXRlY3Qgc2Nyb2xsIGFuZCByZXNpemUgaW4gb3JkZXIgdG8gcmVjb21wdXRlIHBvc2l0aW9ucyBvZiBwb3B1cFxuICAgICAgICAgIC8vIEFkZGluZyB0cnVlIGFzIHRoaXJkIHBhcmFtZXRlciB0byBldmVudCBsaXN0ZW5lciB3aWxsIGRldGVjdCBuZXN0ZWQgc2Nyb2xscy5cbiAgICAgICAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcignc2Nyb2xsJywgb25XaW5kb3dDaGFuZ2VEZXRlY3RlZCwgdHJ1ZSlcbiAgICAgICAgfVxuICAgICAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigncmVzaXplJywgb25XaW5kb3dDaGFuZ2VEZXRlY3RlZCwgdHJ1ZSlcbiAgICAgIH1cblxuICAgICAgcmV0dXJuICgpID0+IHtcbiAgICAgICAgd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ3Njcm9sbCcsIG9uV2luZG93Q2hhbmdlRGV0ZWN0ZWQsIHRydWUpXG4gICAgICAgIHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCdyZXNpemUnLCBvbldpbmRvd0NoYW5nZURldGVjdGVkLCB0cnVlKVxuICAgICAgICBpZiAodGltZXIuY3VycmVudCkge1xuICAgICAgICAgIGNsZWFyVGltZW91dCh0aW1lci5jdXJyZW50KVxuICAgICAgICAgIHRpbWVyLmN1cnJlbnQgPSB1bmRlZmluZWRcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0sIFtcbiAgICAgIGdlbmVyYXRlUG9wdXBQb3NpdGlvbnMsXG4gICAgICBvbldpbmRvd0NoYW5nZURldGVjdGVkLFxuICAgICAgdmlzaWJsZUluRG9tLFxuICAgICAgbWF4V2lkdGgsXG4gICAgICBwb3B1cFBvcnRhbFRhcmdldCxcbiAgICBdKVxuXG4gICAgLy8gVGhpcyB3aWxsIGJlIHRyaWdnZXJlZCB3aGVuIHBvc2l0aW9ucyBhcmUgY29tcHV0ZWQgYW5kIHBvcHVwIGlzIHZpc2libGUgaW4gdGhlIGRvbS5cbiAgICB1c2VFZmZlY3QoXG4gICAgICAoKSA9PiB7XG4gICAgICAgIGlmICh2aXNpYmxlSW5Eb20gJiYgaW5uZXJQb3B1cFJlZi5jdXJyZW50KSB7XG4gICAgICAgICAgaW5uZXJQb3B1cFJlZi5jdXJyZW50LnN0eWxlLm9wYWNpdHkgPSAnMSdcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSByZWFjdC1ob29rcy9leGhhdXN0aXZlLWRlcHNcbiAgICAgIFtwb3NpdGlvbnNdLFxuICAgIClcblxuICAgIC8qKlxuICAgICAqIElmIHBvcHVwIGhhcyBgdmlzaWJsZWAgcHJvcCBpdCBtZWFucyB0aGUgcG9wdXAgaXMgbWFudWFsbHkgY29udHJvbGxlZCB0aHJvdWdoIHRoaXMgcHJvcC5cbiAgICAgKiBJbiB0aGlzIGNhcyB3ZSBkb24ndCB3YW50IHRvIGRpc3BsYXkgcG9wdXAgb24gaG92ZXIsIGJ1dCBvbmx5IHdoZW4gYHZpc2libGVgIGlzIHRydWUuXG4gICAgICovXG4gICAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICAgIGlmIChpc0NvbnRyb2xsZWQpIHtcbiAgICAgICAgb25Qb2ludGVyRXZlbnQodmlzaWJsZSkoKVxuICAgICAgfVxuICAgIH0sIFtpc0NvbnRyb2xsZWQsIG9uUG9pbnRlckV2ZW50LCB2aXNpYmxlXSlcblxuICAgIC8vIEhhbmRsZSBoaWRlIG9uIGVzYyBwcmVzcyBhbmQgaGlkZSBvbiBjbGljayBvdXRzaWRlXG4gICAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICAgIGNvbnN0IGhhbmRsZUVzY1ByZXNzID0gKGV2ZW50OiBLZXlib2FyZEV2ZW50KSA9PiB7XG4gICAgICAgIGlmIChldmVudC5rZXkgPT09ICdFc2NhcGUnKSB7XG4gICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKVxuICAgICAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpXG4gICAgICAgICAgY2xvc2VQb3B1cCgpXG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgY29uc3QgaGFuZGxlQ2xpY2tPdXRzaWRlID0gKGV2ZW50OiBNb3VzZUV2ZW50KSA9PiB7XG4gICAgICAgIGNvbnN0IHBvcHVwQ3VycmVudCA9IGlubmVyUG9wdXBSZWYuY3VycmVudFxuICAgICAgICBjb25zdCBjaGlsZHJlbkN1cnJlbnQgPSBjaGlsZHJlblJlZi5jdXJyZW50XG5cbiAgICAgICAgaWYgKHBvcHVwQ3VycmVudCAmJiBoaWRlT25DbGlja091dHNpZGUgJiYgIWV2ZW50LmRlZmF1bHRQcmV2ZW50ZWQpIHtcbiAgICAgICAgICBpZiAoXG4gICAgICAgICAgICBldmVudC50YXJnZXQgJiZcbiAgICAgICAgICAgIGV2ZW50LnRhcmdldCAhPT0gcG9wdXBDdXJyZW50ICYmXG4gICAgICAgICAgICBldmVudC50YXJnZXQgIT09IGNoaWxkcmVuQ3VycmVudCAmJlxuICAgICAgICAgICAgIWNoaWxkcmVuQ3VycmVudD8uY29udGFpbnMoZXZlbnQudGFyZ2V0IGFzIE5vZGUpICYmXG4gICAgICAgICAgICAhcG9wdXBDdXJyZW50LmNvbnRhaW5zKGV2ZW50LnRhcmdldCBhcyBOb2RlKVxuICAgICAgICAgICkge1xuICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKVxuICAgICAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKClcbiAgICAgICAgICAgIGNsb3NlUG9wdXAoKVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgaWYgKHZpc2libGVJbkRvbSkge1xuICAgICAgICBkb2N1bWVudC5ib2R5LmFkZEV2ZW50TGlzdGVuZXIoJ2tleXVwJywgaGFuZGxlRXNjUHJlc3MpXG4gICAgICAgIGRvY3VtZW50LmJvZHkuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCBoYW5kbGVDbGlja091dHNpZGUpXG4gICAgICB9XG5cbiAgICAgIHJldHVybiAoKSA9PiB7XG4gICAgICAgIGRvY3VtZW50LmJvZHkucmVtb3ZlRXZlbnRMaXN0ZW5lcigna2V5dXAnLCBoYW5kbGVFc2NQcmVzcylcbiAgICAgICAgZG9jdW1lbnQuYm9keS5yZW1vdmVFdmVudExpc3RlbmVyKCdjbGljaycsIGhhbmRsZUNsaWNrT3V0c2lkZSlcbiAgICAgIH1cbiAgICB9LCBbXG4gICAgICBjbG9zZVBvcHVwLFxuICAgICAgdmlzaWJsZUluRG9tLFxuICAgICAgaW5uZXJQb3B1cFJlZixcbiAgICAgIGNoaWxkcmVuUmVmLFxuICAgICAgaGlkZU9uQ2xpY2tPdXRzaWRlLFxuICAgIF0pXG5cbiAgICAvKipcbiAgICAgKiBUaGlzIGV2ZW50IHdpbGwgb2NjdXIgb25seSBmb3IgZGlhbG9nIGFuZCB3aWxsIHRyYXAgZm9jdXMgaW5zaWRlIHRoZSBkaWFsb2cuXG4gICAgICovXG4gICAgY29uc3QgaGFuZGxlRm9jdXNUcmFwOiBLZXlib2FyZEV2ZW50SGFuZGxlciA9IHVzZUNhbGxiYWNrKGV2ZW50ID0+IHtcbiAgICAgIGNvbnN0IGlzVGFiUHJlc3NlZCA9IGV2ZW50LmtleSA9PT0gJ1RhYidcbiAgICAgIGlmICghaXNUYWJQcmVzc2VkKSB7XG4gICAgICAgIHJldHVyblxuICAgICAgfVxuICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKClcblxuICAgICAgY29uc3QgZm9jdXNhYmxlRWxzID1cbiAgICAgICAgaW5uZXJQb3B1cFJlZi5jdXJyZW50Py5xdWVyeVNlbGVjdG9yQWxsKFxuICAgICAgICAgICdhW2hyZWZdOm5vdChbZGlzYWJsZWRdKSwgYnV0dG9uOm5vdChbZGlzYWJsZWRdKSwgdGV4dGFyZWE6bm90KFtkaXNhYmxlZF0pLCBpbnB1dDpub3QoW2Rpc2FibGVkXSksIHNlbGVjdDpub3QoW2Rpc2FibGVkXSknLFxuICAgICAgICApID8/IFtdXG5cbiAgICAgIC8vIEhhbmRsZSBjYXNlIHdoZW4gbm8gaW50ZXJhY3RpdmUgZWxlbWVudCBhcmUgd2l0aGluIHRoZSBtb2RhbCAoaW5jbHVkaW5nIGNsb3NlIGljb24pXG4gICAgICBpZiAoZm9jdXNhYmxlRWxzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpXG4gICAgICB9XG5cbiAgICAgIGNvbnN0IGZpcnN0Rm9jdXNhYmxlRWwgPSBmb2N1c2FibGVFbHNbMF0gYXMgSFRNTEVsZW1lbnRcbiAgICAgIGNvbnN0IGxhc3RGb2N1c2FibGVFbCA9IGZvY3VzYWJsZUVsc1tcbiAgICAgICAgZm9jdXNhYmxlRWxzLmxlbmd0aCAtIDFcbiAgICAgIF0gYXMgSFRNTEVsZW1lbnRcblxuICAgICAgaWYgKGV2ZW50LnNoaWZ0S2V5KSB7XG4gICAgICAgIGlmIChcbiAgICAgICAgICBkb2N1bWVudC5hY3RpdmVFbGVtZW50ID09PSBmaXJzdEZvY3VzYWJsZUVsIHx8XG4gICAgICAgICAgZG9jdW1lbnQuYWN0aXZlRWxlbWVudCA9PT0gaW5uZXJQb3B1cFJlZi5jdXJyZW50XG4gICAgICAgICkge1xuICAgICAgICAgIGxhc3RGb2N1c2FibGVFbC5mb2N1cygpXG4gICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKVxuICAgICAgICB9XG4gICAgICB9IGVsc2UgaWYgKFxuICAgICAgICBkb2N1bWVudC5hY3RpdmVFbGVtZW50ID09PSBsYXN0Rm9jdXNhYmxlRWwgfHxcbiAgICAgICAgZG9jdW1lbnQuYWN0aXZlRWxlbWVudCA9PT0gaW5uZXJQb3B1cFJlZi5jdXJyZW50XG4gICAgICApIHtcbiAgICAgICAgZmlyc3RGb2N1c2FibGVFbC5mb2N1cygpXG4gICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KClcbiAgICAgIH1cbiAgICB9LCBbXSlcblxuICAgIC8qKlxuICAgICAqIFdpbGwgcmVuZGVyIGNoaWxkcmVuIGNvbmRpdGlvbmFsbHkgaWYgY2hpbGRyZW4gaXMgYSBmdW5jdGlvbiBvciBub3QuXG4gICAgICovXG4gICAgY29uc3QgcmVuZGVyQ2hpbGRyZW4gPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgICBpZiAodHlwZW9mIGNoaWxkcmVuID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgIHJldHVybiBjaGlsZHJlbih7XG4gICAgICAgICAgb25CbHVyOiAhaXNDb250cm9sbGVkID8gb25Qb2ludGVyRXZlbnQoZmFsc2UpIDogbm9vcCxcbiAgICAgICAgICBvbkZvY3VzOiAhaXNDb250cm9sbGVkID8gb25Qb2ludGVyRXZlbnQodHJ1ZSkgOiBub29wLFxuICAgICAgICAgIG9uUG9pbnRlckVudGVyOiAhaXNDb250cm9sbGVkID8gb25Qb2ludGVyRXZlbnQodHJ1ZSkgOiBub29wLFxuICAgICAgICAgIG9uUG9pbnRlckxlYXZlOiAhaXNDb250cm9sbGVkID8gb25Qb2ludGVyRXZlbnQoZmFsc2UpIDogbm9vcCxcbiAgICAgICAgICByZWY6IGNoaWxkcmVuUmVmLFxuICAgICAgICB9KVxuICAgICAgfVxuXG4gICAgICByZXR1cm4gKFxuICAgICAgICA8U3R5bGVkQ2hpbGRyZW5Db250YWluZXJcbiAgICAgICAgICBhcmlhLWRlc2NyaWJlZGJ5PXtnZW5lcmF0ZWRJZH1cbiAgICAgICAgICBhcmlhLWNvbnRyb2xzPXtnZW5lcmF0ZWRJZH1cbiAgICAgICAgICBvbkJsdXI9eyFpc0NvbnRyb2xsZWQgPyBvblBvaW50ZXJFdmVudChmYWxzZSkgOiBub29wfVxuICAgICAgICAgIG9uRm9jdXM9eyFpc0NvbnRyb2xsZWQgPyBvblBvaW50ZXJFdmVudCh0cnVlKSA6IG5vb3B9XG4gICAgICAgICAgb25Qb2ludGVyRW50ZXI9eyFpc0NvbnRyb2xsZWQgPyBvblBvaW50ZXJFdmVudCh0cnVlKSA6IG5vb3B9XG4gICAgICAgICAgb25Qb2ludGVyTGVhdmU9eyFpc0NvbnRyb2xsZWQgPyBvblBvaW50ZXJFdmVudChmYWxzZSkgOiBub29wfVxuICAgICAgICAgIHJlZj17Y2hpbGRyZW5SZWZ9XG4gICAgICAgICAgdGFiSW5kZXg9e3RhYkluZGV4fVxuICAgICAgICAgIG9uS2V5RG93bj17ZXZlbnQgPT4ge1xuICAgICAgICAgICAgb25LZXlEb3duPy4oZXZlbnQpXG4gICAgICAgICAgfX1cbiAgICAgICAgICBkYXRhLWNvbnRhaW5lci1mdWxsLXdpZHRoPXtjb250YWluZXJGdWxsV2lkdGh9XG4gICAgICAgICAgYXJpYS1oYXNwb3B1cD17YXJpYUhhc1BvcHVwfVxuICAgICAgICA+XG4gICAgICAgICAge2NoaWxkcmVufVxuICAgICAgICA8L1N0eWxlZENoaWxkcmVuQ29udGFpbmVyPlxuICAgICAgKVxuICAgIH0sIFtcbiAgICAgIGFyaWFIYXNQb3B1cCxcbiAgICAgIGNoaWxkcmVuLFxuICAgICAgY29udGFpbmVyRnVsbFdpZHRoLFxuICAgICAgZ2VuZXJhdGVkSWQsXG4gICAgICBpc0NvbnRyb2xsZWQsXG4gICAgICBvbktleURvd24sXG4gICAgICBvblBvaW50ZXJFdmVudCxcbiAgICAgIHRhYkluZGV4LFxuICAgIF0pXG5cbiAgICBjb25zdCBzaG91bGRSZW5kZXIgPSB1c2VNZW1vKCgpID0+IHtcbiAgICAgIGlmICghZHluYW1pY0RvbVJlbmRlcmluZykge1xuICAgICAgICByZXR1cm4gdHJ1ZVxuICAgICAgfVxuXG4gICAgICBpZiAoZHluYW1pY0RvbVJlbmRlcmluZyAmJiB2aXNpYmxlSW5Eb20pIHtcbiAgICAgICAgcmV0dXJuIHRydWVcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIGZhbHNlXG4gICAgfSwgW2R5bmFtaWNEb21SZW5kZXJpbmcsIHZpc2libGVJbkRvbV0pXG5cbiAgICBpZiAoIXRleHQpIHtcbiAgICAgIGlmICh0eXBlb2YgY2hpbGRyZW4gPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgcmV0dXJuIG51bGxcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIGNoaWxkcmVuXG4gICAgfVxuXG4gICAgcmV0dXJuIChcbiAgICAgIDw+XG4gICAgICAgIHtyZW5kZXJDaGlsZHJlbigpfVxuICAgICAgICB7c2hvdWxkUmVuZGVyXG4gICAgICAgICAgPyBjcmVhdGVQb3J0YWwoXG4gICAgICAgICAgICAgIDxTdHlsZWRQb3B1cFxuICAgICAgICAgICAgICAgIHJlZj17aW5uZXJQb3B1cFJlZn1cbiAgICAgICAgICAgICAgICBwb3NpdGlvbnM9e3Bvc2l0aW9uc31cbiAgICAgICAgICAgICAgICBtYXhXaWR0aD17bWF4V2lkdGh9XG4gICAgICAgICAgICAgICAgbWF4SGVpZ2h0PXttYXhIZWlnaHR9XG4gICAgICAgICAgICAgICAgcm9sZT17cm9sZX1cbiAgICAgICAgICAgICAgICBpZD17Z2VuZXJhdGVkSWR9XG4gICAgICAgICAgICAgICAgY2xhc3NOYW1lPXtjbGFzc05hbWV9XG4gICAgICAgICAgICAgICAgcmV2ZXJzZUFuaW1hdGlvbj17cmV2ZXJzZUFuaW1hdGlvbn1cbiAgICAgICAgICAgICAgICBkYXRhLXRlc3RpZD17ZGF0YVRlc3RJZH1cbiAgICAgICAgICAgICAgICBkYXRhLWhhcy1hcnJvdz17aGFzQXJyb3d9XG4gICAgICAgICAgICAgICAgb25DbGljaz17c3RvcENsaWNrUHJvcGFnYXRpb259XG4gICAgICAgICAgICAgICAgb25Qb2ludGVyRW50ZXI9eyFpc0NvbnRyb2xsZWQgPyBvblBvaW50ZXJFdmVudCh0cnVlKSA6IG5vb3B9XG4gICAgICAgICAgICAgICAgb25Qb2ludGVyTGVhdmU9eyFpc0NvbnRyb2xsZWQgPyBvblBvaW50ZXJFdmVudChmYWxzZSkgOiBub29wfVxuICAgICAgICAgICAgICAgIGFuaW1hdGlvbkR1cmF0aW9uPXthbmltYXRpb25EdXJhdGlvbn1cbiAgICAgICAgICAgICAgICBvbktleURvd249e3JvbGUgPT09ICdkaWFsb2cnID8gaGFuZGxlRm9jdXNUcmFwIDogdW5kZWZpbmVkfVxuICAgICAgICAgICAgICAgIGlzRGlhbG9nPXtyb2xlID09PSAnZGlhbG9nJ31cbiAgICAgICAgICAgICAgICBkYXRhLXZpc2libGUtaW4tZG9tPXtcbiAgICAgICAgICAgICAgICAgICFkeW5hbWljRG9tUmVuZGVyaW5nID8gdmlzaWJsZUluRG9tIDogdW5kZWZpbmVkXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGRhdGEtYW5pbWF0ZWQ9e2FuaW1hdGlvbkR1cmF0aW9uID4gMCAmJiAhbWF4SGVpZ2h0fVxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAge3RleHR9XG4gICAgICAgICAgICAgIDwvU3R5bGVkUG9wdXA+LFxuICAgICAgICAgICAgICBwb3B1cFBvcnRhbFRhcmdldCBhcyBIVE1MRWxlbWVudCxcbiAgICAgICAgICAgIClcbiAgICAgICAgICA6IG51bGx9XG4gICAgICA8Lz5cbiAgICApXG4gIH0sXG4pXG4iXX0= */"), ';}&[data-has-arrow="true"]{&::after{content:" ";position:absolute;top:', ({
|
|
51
51
|
positions
|
|
52
52
|
}) => positions.arrowTop, "px;left:", ({
|
|
53
53
|
positions
|
|
@@ -57,7 +57,7 @@ const StyledPopup = /* @__PURE__ */ _styled__default.default("div", process.env.
|
|
|
57
57
|
positions
|
|
58
58
|
}) => positions.rotate, "deg);margin-left:-", helpers.DEFAULT_ARROW_WIDTH, "px;border-width:", helpers.DEFAULT_ARROW_WIDTH, "px;border-style:solid;border-color:", ({
|
|
59
59
|
theme
|
|
60
|
-
}) => theme.colors.neutral.backgroundStronger, ' transparent transparent transparent;pointer-events:none;}}&[data-visible-in-dom="false"]{display:none;}' + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL3VsdHJhdmlvbGV0L3VsdHJhdmlvbGV0L3BhY2thZ2VzL3VpL3NyYy9jb21wb25lbnRzL1BvcHVwL2luZGV4LnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUErRG9CIiwiZmlsZSI6Ii9ob21lL3J1bm5lci93b3JrL3VsdHJhdmlvbGV0L3VsdHJhdmlvbGV0L3BhY2thZ2VzL3VpL3NyYy9jb21wb25lbnRzL1BvcHVwL2luZGV4LnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNzcyB9IGZyb20gJ0BlbW90aW9uL3JlYWN0J1xuaW1wb3J0IHN0eWxlZCBmcm9tICdAZW1vdGlvbi9zdHlsZWQnXG5pbXBvcnQgdHlwZSB7XG4gIEhUTUxBdHRyaWJ1dGVzLFxuICBLZXlib2FyZEV2ZW50SGFuZGxlcixcbiAgTW91c2VFdmVudEhhbmRsZXIsXG4gIFJlYWN0Tm9kZSxcbiAgUmVmLFxuICBSZWZPYmplY3QsXG59IGZyb20gJ3JlYWN0J1xuaW1wb3J0IHtcbiAgZm9yd2FyZFJlZixcbiAgc3RhcnRUcmFuc2l0aW9uLFxuICB1c2VDYWxsYmFjayxcbiAgdXNlRWZmZWN0LFxuICB1c2VJZCxcbiAgdXNlSW1wZXJhdGl2ZUhhbmRsZSxcbiAgdXNlTWVtbyxcbiAgdXNlUmVmLFxuICB1c2VTdGF0ZSxcbn0gZnJvbSAncmVhY3QnXG5pbXBvcnQgeyBjcmVhdGVQb3J0YWwgfSBmcm9tICdyZWFjdC1kb20nXG5pbXBvcnQgeyBpc0NsaWVudFNpZGUgfSBmcm9tICcuLi8uLi9oZWxwZXJzL2lzQ2xpZW50U2lkZSdcbmltcG9ydCB0eXBlIHsgUG9zaXRpb25zVHlwZSB9IGZyb20gJy4vYW5pbWF0aW9ucydcbmltcG9ydCB7IGFuaW1hdGlvbiwgZXhpdEFuaW1hdGlvbiB9IGZyb20gJy4vYW5pbWF0aW9ucydcbmltcG9ydCB0eXBlIHsgUG9wdXBBbGlnbiwgUG9wdXBQbGFjZW1lbnQgfSBmcm9tICcuL2hlbHBlcnMnXG5pbXBvcnQge1xuICBERUZBVUxUX0FSUk9XX1dJRFRILFxuICBERUZBVUxUX1BPU0lUSU9OUyxcbiAgY29tcHV0ZVBvc2l0aW9ucyxcbn0gZnJvbSAnLi9oZWxwZXJzJ1xuXG5jb25zdCBERUZBVUxUX0FOSU1BVElPTl9EVVJBVElPTiA9IDIzMCAvLyBpbiBtc1xuY29uc3QgREVGQVVMVF9ERUJPVU5DRV9EVVJBVElPTiA9IDIwMCAvLyBpbiBtc1xuXG5mdW5jdGlvbiBub29wKCkge31cblxudHlwZSBTdHlsZWRQb3B1cFByb3BzID0ge1xuICBtYXhXaWR0aDogbnVtYmVyIHwgc3RyaW5nXG4gIHBvc2l0aW9uczogUG9zaXRpb25zVHlwZVxuICByZXZlcnNlQW5pbWF0aW9uOiBib29sZWFuXG4gIG1heEhlaWdodD86IG51bWJlciB8IHN0cmluZ1xuICBhbmltYXRpb25EdXJhdGlvbj86IG51bWJlclxuICBpc0RpYWxvZzogYm9vbGVhblxufVxuXG4vKipcbiAqIFRoaXMgZXZlbnQgaGFuZGxlIGFsbG93IHVzIHRvIG5vdCBidWJibGUgdGhlIGV2ZW50IHRvIGRvY3VtZW50LmJvZHkgbGlrZSB0aGlzIHJlYWN0LXNlbGVjdCB3b3JrcyBmaW5lXG4gKi9cbmNvbnN0IHN0b3BDbGlja1Byb3BhZ2F0aW9uOiBNb3VzZUV2ZW50SGFuZGxlciA9IGV2ZW50ID0+IHtcbiAgZXZlbnQubmF0aXZlRXZlbnQuc3RvcEltbWVkaWF0ZVByb3BhZ2F0aW9uKClcbn1cblxuY29uc3QgU3R5bGVkUG9wdXAgPSBzdHlsZWQoJ2RpdicsIHtcbiAgc2hvdWxkRm9yd2FyZFByb3A6IHByb3AgPT5cbiAgICAhW1xuICAgICAgJ21heFdpZHRoJyxcbiAgICAgICdwb3NpdGlvbnMnLFxuICAgICAgJ3JldmVyc2VBbmltYXRpb24nLFxuICAgICAgJ21heEhlaWdodCcsXG4gICAgICAnYW5pbWF0aW9uRHVyYXRpb24nLFxuICAgICAgJ2lzRGlhbG9nJyxcbiAgICBdLmluY2x1ZGVzKHByb3ApLFxufSk8U3R5bGVkUG9wdXBQcm9wcz5gXG4gIGJhY2tncm91bmQ6ICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuY29sb3JzLm5ldXRyYWwuYmFja2dyb3VuZFN0cm9uZ2VyfTtcbiAgY29sb3I6ICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuY29sb3JzLm5ldXRyYWwudGV4dFN0cm9uZ2VyfTtcbiAgYm9yZGVyLXJhZGl1czogJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5yYWRpaS5kZWZhdWx0fTtcbiAgcGFkZGluZzogJHsoeyB0aGVtZSB9KSA9PiBgJHt0aGVtZS5zcGFjZVsnMC41J119ICR7dGhlbWUuc3BhY2VbJzEnXX1gfTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIG1heC13aWR0aDogJHsoeyBtYXhXaWR0aCB9KSA9PlxuICAgIHR5cGVvZiBtYXhXaWR0aCA9PT0gJ251bWJlcicgPyBgJHttYXhXaWR0aH1weGAgOiBtYXhXaWR0aH07XG4gIG1heC1oZWlnaHQ6ICR7KHsgbWF4SGVpZ2h0IH0pID0+XG4gICAgdHlwZW9mIG1heEhlaWdodCA9PT0gJ251bWJlcicgPyBgJHttYXhIZWlnaHR9cHhgIDogbWF4SGVpZ2h0fTtcbiAgb3ZlcmZsb3c6ICR7KHsgbWF4SGVpZ2h0IH0pID0+IChtYXhIZWlnaHQgPyAnYXV0bycgOiB1bmRlZmluZWQpfTtcbiAgb3ZlcmZsb3ctd3JhcDogYnJlYWstd29yZDtcbiAgZm9udC1zaXplOiAwLjhyZW07XG4gIGluc2V0OiAwIGF1dG8gYXV0byAwO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIG9wYWNpdHk6IDA7XG4gIHotaW5kZXg6IDE7XG4gIHRyYW5zZm9ybTogJHsoeyBwb3NpdGlvbnMgfSkgPT4gcG9zaXRpb25zLnBvcHVwUG9zaXRpb259O1xuXG4gICZbZGF0YS1hbmltYXRlZD1cInRydWVcIl0ge1xuICAgIGFuaW1hdGlvbjogJHsoeyBwb3NpdGlvbnMsIHJldmVyc2VBbmltYXRpb24sIGFuaW1hdGlvbkR1cmF0aW9uIH0pID0+IGNzc2BcbiAgICAgICR7YW5pbWF0aW9uRHVyYXRpb259bXMgJHtcbiAgICAgICAgIXJldmVyc2VBbmltYXRpb24gPyBhbmltYXRpb24ocG9zaXRpb25zKSA6IGV4aXRBbmltYXRpb24ocG9zaXRpb25zKVxuICAgICAgfSBmb3J3YXJkc1xuICAgIGB9O1xuICB9XG5cbiAgJltkYXRhLWhhcy1hcnJvdz1cInRydWVcIl0ge1xuICAgICY6OmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6IFwiIFwiO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAkeyh7IHBvc2l0aW9ucyB9KSA9PiBwb3NpdGlvbnMuYXJyb3dUb3B9cHg7XG4gICAgICBsZWZ0OiAkeyh7IHBvc2l0aW9ucyB9KSA9PiBwb3NpdGlvbnMuYXJyb3dMZWZ0fXB4O1xuICAgICAgdHJhbnNmb3JtOiAkeyh7IHBvc2l0aW9ucyB9KSA9PiBwb3NpdGlvbnMuYXJyb3dUcmFuc2Zvcm19XG4gICAgICAgIHJvdGF0ZSgkeyh7IHBvc2l0aW9ucyB9KSA9PiBwb3NpdGlvbnMucm90YXRlfWRlZyk7XG4gICAgICBtYXJnaW4tbGVmdDogLSR7REVGQVVMVF9BUlJPV19XSURUSH1weDtcbiAgICAgIGJvcmRlci13aWR0aDogJHtERUZBVUxUX0FSUk9XX1dJRFRIfXB4O1xuICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgIGJvcmRlci1jb2xvcjogJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5jb2xvcnMubmV1dHJhbC5iYWNrZ3JvdW5kU3Ryb25nZXJ9XG4gICAgICAgIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgJltkYXRhLXZpc2libGUtaW4tZG9tPVwiZmFsc2VcIl0ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbmBcblxuY29uc3QgU3R5bGVkQ2hpbGRyZW5Db250YWluZXIgPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBpbmhlcml0O1xuXG4gICZbZGF0YS1jb250YWluZXItZnVsbC13aWR0aD1cInRydWVcIl0ge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG5gXG5cbnR5cGUgUG9wdXBQcm9wcyA9IHtcbiAgLyoqXG4gICAqIElkIGlzIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGVkIGlmIG5vdCBzZXQuIEl0IGlzIHVzZWQgZm9yIGFzc29jaWF0aW5nIHBvcHVwIHdyYXBwZXIgd2l0aCBwb3B1cCBwb3J0YWwuXG4gICAqL1xuICBpZD86IHN0cmluZ1xuICBjaGlsZHJlbjpcbiAgICB8IFJlYWN0Tm9kZVxuICAgIHwgKChyZW5kZXJQcm9wczoge1xuICAgICAgICBjbGFzc05hbWU/OiBzdHJpbmdcbiAgICAgICAgb25CbHVyOiAoKSA9PiB2b2lkXG4gICAgICAgIG9uRm9jdXM6ICgpID0+IHZvaWRcbiAgICAgICAgb25Qb2ludGVyRW50ZXI6ICgpID0+IHZvaWRcbiAgICAgICAgb25Qb2ludGVyTGVhdmU6ICgpID0+IHZvaWRcbiAgICAgICAgcmVmOiBSZWZPYmplY3Q8SFRNTERpdkVsZW1lbnQgfCBudWxsPlxuICAgICAgfSkgPT4gUmVhY3ROb2RlKVxuICBtYXhXaWR0aD86IG51bWJlciB8IHN0cmluZ1xuICAvKipcbiAgICogYGF1dG9gIHBsYWNlbWVudCB3aWxsIGNoYW5nZSB0aGUgcG9zaXRpb24gb2YgdGhlIHBvcHVwIGlmIGl0IGRvZXNuJ3QgZml0IGluIHRoZSB2aWV3cG9ydC5cbiAgICovXG4gIHBsYWNlbWVudD86IFBvcHVwUGxhY2VtZW50XG4gIC8qKlxuICAgKiBBbGlnbiB0aGUgcG9wdXAgdG8gdGhlIHN0YXJ0IG9yIGNlbnRlciBvZiB0aGUgY2hpbGRyZW4uXG4gICAqL1xuICBhbGlnbj86IFBvcHVwQWxpZ25cbiAgLyoqXG4gICAqIENvbnRlbnQgb2YgdGhlIHBvcHVwLCBwcmVmZXJhYmx5IHRleHQgaW5zaWRlLlxuICAgKi9cbiAgdGV4dD86IFJlYWN0Tm9kZVxuICBjbGFzc05hbWU/OiBzdHJpbmdcbiAgLyoqXG4gICAqIEl0IHdpbGwgYWRkIGB3aWR0aDogMTAwJWAgdG8gdGhlIHBvcHVwIGNvbnRhaW5lci5cbiAgICovXG4gIGNvbnRhaW5lckZ1bGxXaWR0aD86IGJvb2xlYW5cbiAgLyoqXG4gICAqIEl0IHdpbGwgZm9yY2UgZGlzcGxheSBwb3B1cC4gVGhpcyBjYW4gYmUgdXNlZnVsIGlmIHlvdSBuZWVkIHRvIGFsd2F5cyBkaXNwbGF5IHRoZSBwb3B1cCB3aXRob3V0IGhvdmVyIG5lZWRlZC5cbiAgICovXG4gIHZpc2libGU/OiBib29sZWFuXG4gIGlubmVyUmVmPzogUmVmPEhUTUxEaXZFbGVtZW50IHwgbnVsbD5cbiAgcm9sZT86IHN0cmluZ1xuICAnZGF0YS10ZXN0aWQnPzogc3RyaW5nXG4gIGhhc0Fycm93PzogYm9vbGVhblxuICBvbkNsb3NlPzogKCkgPT4gdm9pZFxuICB0YWJJbmRleD86IG51bWJlclxuICBvbktleURvd24/OiBLZXlib2FyZEV2ZW50SGFuZGxlclxuICAnYXJpYS1oYXNwb3B1cCc/OiBIVE1MQXR0cmlidXRlczxIVE1MRGl2RWxlbWVudD5bJ2FyaWEtaGFzcG9wdXAnXVxuICBoaWRlT25DbGlja091dHNpZGU/OiBib29sZWFuXG4gIC8qKlxuICAgKiBJZiB5b3Ugc2V0IGRlYm91bmNlVGltZSB0byBmYWxzZSwgdGhlIHBvcHVwIHdpbGwgbm90IGRlYm91bmNlIHRoZSBob3ZlciBldmVudCBhbmQgd2lsbCBiZSBkaXNwbGF5ZWQgaW5zdGFudGx5LlxuICAgKiBJZiBzZXQgdG8gMCBpdCB3aWxsIGRpc2FibGUgZGVib3VuY2UuXG4gICAqL1xuICBkZWJvdW5jZURlbGF5PzogbnVtYmVyXG4gIC8qKlxuICAgKiBJZiB5b3Ugc2V0IGEgbWF4IGhlaWdodCBrZWVwIGluIG1pbmQgdGhhdCB0aGUgYW5pbWF0aW9uIGlzIGRpc2FibGVkLCBvciBpdCB3aWxsIG5vdCB3b3JrIHByb3Blcmx5IG9uIHNvbWUgYnJvd3NlcnMuXG4gICAqL1xuICBtYXhIZWlnaHQ/OiBzdHJpbmcgfCBudW1iZXJcbiAgLyoqXG4gICAqIFdpbGwgcmVtb3ZlIHRoZSBhbmltYXRpb24gb24gdGhlIHBvcHVwIGlmIHNldCB0byBmYWxzZS5cbiAgICovXG4gIGRpc2FibGVBbmltYXRpb24/OiBib29sZWFuXG4gIC8qKlxuICAgKiBCeSBkZWZhdWx0LCB0aGUgcG9ydGFsIHRhcmdldCBpcyBjaGlsZHJlbiBjb250YWluZXIgb3IgZG9jdW1lbnQuYm9keSBpZiBjaGlsZHJlbiBpcyBhIGZ1bmN0aW9uLiBZb3UgY2FuIG92ZXJyaWRlIHRoaXNcbiAgICogYmVoYXZpb3IgYnkgc2V0dGluZyBhIHBvcnRhbFRhcmdldCBwcm9wLlxuICAgKi9cbiAgcG9ydGFsVGFyZ2V0PzogSFRNTEVsZW1lbnRcbiAgLyoqXG4gICAqIElmIHlvdSBzZXQgdGhpcyB0byB0cnVlLCB0aGUgcG9wdXAgd2lsbCBiZSByZW5kZXJlZCBpbiB0aGUgRE9NIG9ubHkgd2hlbiBpdCBpcyB2aXNpYmxlLlxuICAgKiBXaGVuIHNldCB0byBmYWxzZSwgdGhlIHBvcHVwIHdpbGwgYWx3YXlzIGJlIHJlbmRlcmVkIGluIHRoZSBET00uIEJ5IGRlZmF1bHQgdGhpcyB2YWx1ZSBpcyBzZXQgdG8gYHRydWVgLCBpZiBmb3Igc29tZVxuICAgKiByZWFzb24geW91IG5lZWQgdG8gZGlzYWJsZSBpdCwgeW91IGNhbiBzZXQgaXQgdG8gYGZhbHNlYC5cbiAgICovXG4gIGR5bmFtaWNEb21SZW5kZXJpbmc/OiBib29sZWFuXG59XG5cbi8qKlxuICogQGV4cGVyaW1lbnRhbCBUaGlzIGNvbXBvbmVudCBpcyBleHBlcmltZW50YWwgYW5kIG1heSBiZSBzdWJqZWN0IHRvIGJyZWFraW5nIGNoYW5nZXMgaW4gdGhlIGZ1dHVyZS5cbiAqL1xuZXhwb3J0IGNvbnN0IFBvcHVwID0gZm9yd2FyZFJlZihcbiAgKFxuICAgIHtcbiAgICAgIGNoaWxkcmVuLFxuICAgICAgdGV4dCA9ICcnLFxuICAgICAgcGxhY2VtZW50ID0gJ2F1dG8nLFxuICAgICAgYWxpZ24gPSAnY2VudGVyJyxcbiAgICAgIGlkLFxuICAgICAgY2xhc3NOYW1lLFxuICAgICAgY29udGFpbmVyRnVsbFdpZHRoLFxuICAgICAgbWF4V2lkdGggPSAnMTQuNXJlbScsXG4gICAgICBtYXhIZWlnaHQsXG4gICAgICB2aXNpYmxlLFxuICAgICAgaW5uZXJSZWYsXG4gICAgICByb2xlID0gJ3BvcHVwJyxcbiAgICAgICdkYXRhLXRlc3RpZCc6IGRhdGFUZXN0SWQsXG4gICAgICBoYXNBcnJvdyA9IHRydWUsXG4gICAgICBvbkNsb3NlLFxuICAgICAgdGFiSW5kZXggPSAwLFxuICAgICAgb25LZXlEb3duLFxuICAgICAgJ2FyaWEtaGFzcG9wdXAnOiBhcmlhSGFzUG9wdXAsXG4gICAgICBoaWRlT25DbGlja091dHNpZGUgPSBmYWxzZSxcbiAgICAgIGRlYm91bmNlRGVsYXkgPSBERUZBVUxUX0RFQk9VTkNFX0RVUkFUSU9OLFxuICAgICAgZGlzYWJsZUFuaW1hdGlvbiA9IGZhbHNlLFxuICAgICAgcG9ydGFsVGFyZ2V0LFxuICAgICAgZHluYW1pY0RvbVJlbmRlcmluZyA9IHRydWUsXG4gICAgfTogUG9wdXBQcm9wcyxcbiAgICByZWY6IFJlZjxIVE1MRGl2RWxlbWVudD4sXG4gICkgPT4ge1xuICAgIGNvbnN0IGNoaWxkcmVuUmVmID0gdXNlUmVmPEhUTUxEaXZFbGVtZW50PihudWxsKVxuICAgIHVzZUltcGVyYXRpdmVIYW5kbGUoaW5uZXJSZWYsICgpID0+IGNoaWxkcmVuUmVmLmN1cnJlbnQgYXMgSFRNTERpdkVsZW1lbnQpXG5cbiAgICBjb25zdCBpbm5lclBvcHVwUmVmID0gdXNlUmVmPEhUTUxEaXZFbGVtZW50PihudWxsKVxuICAgIHVzZUltcGVyYXRpdmVIYW5kbGUocmVmLCAoKSA9PiBpbm5lclBvcHVwUmVmLmN1cnJlbnQgYXMgSFRNTERpdkVsZW1lbnQpXG5cbiAgICBjb25zdCB0aW1lciA9IHVzZVJlZjxSZXR1cm5UeXBlPHR5cGVvZiBzZXRUaW1lb3V0Pj4odW5kZWZpbmVkKVxuICAgIGNvbnN0IHBvcHVwUG9ydGFsVGFyZ2V0ID0gdXNlTWVtbygoKSA9PiB7XG4gICAgICBpZiAocG9ydGFsVGFyZ2V0KSByZXR1cm4gcG9ydGFsVGFyZ2V0XG5cbiAgICAgIGlmIChyb2xlID09PSAnZGlhbG9nJykge1xuICAgICAgICBpZiAoY2hpbGRyZW5SZWYuY3VycmVudCkgcmV0dXJuIGNoaWxkcmVuUmVmLmN1cnJlbnRcbiAgICAgICAgaWYgKGlzQ2xpZW50U2lkZSkgcmV0dXJuIGRvY3VtZW50LmJvZHlcblxuICAgICAgICByZXR1cm4gbnVsbFxuICAgICAgfVxuXG4gICAgICAvLyBXZSBjaGVjayBpZiB3aW5kb3cgZXhpc3RzIGZvciBTU1JcbiAgICAgIGlmICh0eXBlb2Ygd2luZG93ICE9PSAndW5kZWZpbmVkJykge1xuICAgICAgICByZXR1cm4gZG9jdW1lbnQuYm9keVxuICAgICAgfVxuXG4gICAgICByZXR1cm4gbnVsbFxuICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHJlYWN0LWhvb2tzL2V4aGF1c3RpdmUtZGVwc1xuICAgIH0sIFtwb3J0YWxUYXJnZXQsIHJvbGUsIGNoaWxkcmVuUmVmLmN1cnJlbnRdKVxuXG4gICAgLy8gVGhlcmUgYXJlIHNvbWUgaXNzdWUgd2hlbiBtaXhpbmcgYW5pbWF0aW9uIGFuZCBtYXhIZWlnaHQgb24gc29tZSBicm93c2Vycywgc28gd2UgZGlzYWJsZSBhbmltYXRpb24gaWYgbWF4SGVpZ2h0IGlzIHNldC5cbiAgICBjb25zdCBhbmltYXRpb25EdXJhdGlvbiA9XG4gICAgICBkaXNhYmxlQW5pbWF0aW9uIHx8IG1heEhlaWdodCA/IDAgOiBERUZBVUxUX0FOSU1BVElPTl9EVVJBVElPTlxuXG4gICAgLy8gRGVib3VuY2UgdGltZXIgd2lsbCBiZSB1c2VkIHRvIHByZXZlbnQgdGhlIHBvcHVwIGZyb20gZmxpY2tlcmluZyB3aGVuIHRoZSB1c2VyIG1vdmVzIHRoZSBtb3VzZSBvdXQgYW5kIGluIHRoZSBjaGlsZHJlbiBlbGVtZW50LlxuICAgIGNvbnN0IGRlYm91bmNlVGltZXIgPSB1c2VSZWY8UmV0dXJuVHlwZTx0eXBlb2Ygc2V0VGltZW91dD4+KHVuZGVmaW5lZClcbiAgICBjb25zdCBbdmlzaWJsZUluRG9tLCBzZXRWaXNpYmxlSW5Eb21dID0gdXNlU3RhdGUoZmFsc2UpXG4gICAgY29uc3QgW3JldmVyc2VBbmltYXRpb24sIHNldFJldmVyc2VBbmltYXRpb25dID0gdXNlU3RhdGUoZmFsc2UpXG4gICAgY29uc3QgW3Bvc2l0aW9ucywgc2V0UG9zaXRpb25zXSA9IHVzZVN0YXRlPFBvc2l0aW9uc1R5cGU+KHtcbiAgICAgIC4uLkRFRkFVTFRfUE9TSVRJT05TLFxuICAgIH0pXG4gICAgY29uc3QgdW5pcXVlSWQgPSB1c2VJZCgpXG4gICAgY29uc3QgZ2VuZXJhdGVkSWQgPSBpZCA/PyB1bmlxdWVJZFxuICAgIGNvbnN0IGlzQ29udHJvbGxlZCA9IHZpc2libGUgIT09IHVuZGVmaW5lZFxuXG4gICAgY29uc3QgZ2VuZXJhdGVQb3B1cFBvc2l0aW9ucyA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICAgIGlmIChjaGlsZHJlblJlZi5jdXJyZW50ICYmIGlubmVyUG9wdXBSZWYuY3VycmVudCkge1xuICAgICAgICBzZXRQb3NpdGlvbnMoXG4gICAgICAgICAgY29tcHV0ZVBvc2l0aW9ucyh7XG4gICAgICAgICAgICBjaGlsZHJlblJlZixcbiAgICAgICAgICAgIHBsYWNlbWVudCxcbiAgICAgICAgICAgIHBvcHVwUmVmOiBpbm5lclBvcHVwUmVmLFxuICAgICAgICAgICAgcG9wdXBQb3J0YWxUYXJnZXQ6IHBvcHVwUG9ydGFsVGFyZ2V0IGFzIEhUTUxFbGVtZW50LFxuICAgICAgICAgICAgaGFzQXJyb3csXG4gICAgICAgICAgICBhbGlnbixcbiAgICAgICAgICB9KSxcbiAgICAgICAgKVxuICAgICAgfVxuICAgIH0sIFtoYXNBcnJvdywgcGxhY2VtZW50LCBwb3B1cFBvcnRhbFRhcmdldCwgYWxpZ25dKVxuXG4gICAgLyoqXG4gICAgICogVGhpcyBmdW5jdGlvbiBpcyBjYWxsZWQgd2hlbiB3ZSBuZWVkIHRvIHJlY29tcHV0ZSBwb3NpdGlvbnMgb2YgcG9wdXAgZHVlIHRvIHdpbmRvdyBzY3JvbGwgb3IgcmVzaXplLlxuICAgICAqL1xuICAgIGNvbnN0IG9uV2luZG93Q2hhbmdlRGV0ZWN0ZWQgPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgICAvLyBXZSByZW1vdmUgYW5pbWF0aW9uIG9uIHNjcm9sbCBvciB0aGUgYW5pbWF0aW9uIHdpbGwgcmVzdGFydCBvbiBldmVyeSBzY3JvbGxcbiAgICAgIGlmIChpbm5lclBvcHVwUmVmLmN1cnJlbnQpIHtcbiAgICAgICAgaW5uZXJQb3B1cFJlZi5jdXJyZW50LnN0eWxlLmFuaW1hdGlvbiA9ICdub25lJ1xuICAgICAgfVxuXG4gICAgICBnZW5lcmF0ZVBvcHVwUG9zaXRpb25zKClcbiAgICB9LCBbZ2VuZXJhdGVQb3B1cFBvc2l0aW9ucywgaW5uZXJQb3B1cFJlZl0pXG5cbiAgICAvKipcbiAgICAgKiBUaGlzIGZ1bmN0aW9uIGlzIGNhbGxlZCB3aGVuIHdlIG5lZWQgdG8gcmVtb3ZlIHBvcHVwIHBvcnRhbCBmcm9tIERPTSBhbmQgcmVtb3ZlIGV2ZW50IGxpc3RlbmVyIHRvIGl0LlxuICAgICAqL1xuICAgIGNvbnN0IHVubW91bnRQb3B1cEZyb21Eb20gPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgICBzZXRWaXNpYmxlSW5Eb20oZmFsc2UpXG4gICAgICBzZXRSZXZlcnNlQW5pbWF0aW9uKGZhbHNlKVxuXG4gICAgICB3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcignc2Nyb2xsJywgb25XaW5kb3dDaGFuZ2VEZXRlY3RlZCwgdHJ1ZSlcbiAgICB9LCBbb25XaW5kb3dDaGFuZ2VEZXRlY3RlZF0pXG5cbiAgICAvKipcbiAgICAgKiBUaGlzIGZ1bmN0aW9uIGlzIGNhbGxlZCB3aGVuIHdlIG5lZWQgdG8gaGlkZSBwb3B1cC4gQSB0aW1lb3V0IGlzIHNldCB0byBhbGxvdyBhbmltYXRpb24gZW5kLCB0aGVuIHJlbW92ZVxuICAgICAqIHBvcHVwIGZyb20gZG9tLlxuICAgICAqL1xuICAgIGNvbnN0IGNsb3NlUG9wdXAgPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgICBkZWJvdW5jZVRpbWVyLmN1cnJlbnQgPSBzZXRUaW1lb3V0KFxuICAgICAgICAoKSA9PiB7XG4gICAgICAgICAgc2V0UmV2ZXJzZUFuaW1hdGlvbih0cnVlKVxuICAgICAgICAgIHRpbWVyLmN1cnJlbnQgPSBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgIHVubW91bnRQb3B1cEZyb21Eb20oKVxuICAgICAgICAgICAgb25DbG9zZT8uKClcbiAgICAgICAgICB9LCBhbmltYXRpb25EdXJhdGlvbilcbiAgICAgICAgfSxcbiAgICAgICAgZGVib3VuY2VEZWxheSAmJiAhZGlzYWJsZUFuaW1hdGlvbiA/IGRlYm91bmNlRGVsYXkgOiAwLFxuICAgICAgKVxuICAgIH0sIFtcbiAgICAgIGFuaW1hdGlvbkR1cmF0aW9uLFxuICAgICAgZGlzYWJsZUFuaW1hdGlvbixcbiAgICAgIGRlYm91bmNlRGVsYXksXG4gICAgICBvbkNsb3NlLFxuICAgICAgdW5tb3VudFBvcHVwRnJvbURvbSxcbiAgICBdKVxuXG4gICAgLyoqXG4gICAgICogV2hlbiBtb3VzZSBob3ZlciBvciBzdG9wIGhvdmVyaW5nIGNoaWxkcmVuIHRoaXMgZnVuY3Rpb24gZGlzcGxheSBvciBoaWRlIHBvcHVwLiBBIHRpbWVvdXQgaXMgc2V0IHRvIGFsbG93IGFuaW1hdGlvblxuICAgICAqIGVuZCwgdGhlbiByZW1vdmUgcG9wdXAgZnJvbSBkb20uXG4gICAgICovXG4gICAgY29uc3Qgb25Qb2ludGVyRXZlbnQgPSB1c2VDYWxsYmFjayhcbiAgICAgIChpc1Zpc2libGU6IGJvb2xlYW4pID0+ICgpID0+IHtcbiAgICAgICAgLy8gSWYgdGhlcmUgaXMgYSBkZWJvdW5jZURlbGF5IGFuZCB0aGUgcG9wdXAgaXMgbm90IHZpc2libGUsIHdlIGNsZWFyIHRoZSBkZWJvdW5jZSB0aW1lclxuICAgICAgICBpZiAoIXZpc2libGUgJiYgZGVib3VuY2VEZWxheSA+IDAgJiYgZGVib3VuY2VUaW1lci5jdXJyZW50KSB7XG4gICAgICAgICAgY2xlYXJUaW1lb3V0KGRlYm91bmNlVGltZXIuY3VycmVudClcbiAgICAgICAgICBkZWJvdW5jZVRpbWVyLmN1cnJlbnQgPSB1bmRlZmluZWRcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIFRoaXMgY29uZGl0aW9uIGlzIGZvciB3aGVuIHdlIHdhbnQgdG8gdW5tb3VudCB0aGUgcG9wdXBcbiAgICAgICAgLy8gVGhlcmUgaXMgZGVib3VuY2UgaW4gb3JkZXIgdG8gYXZvaWQgcG9wdXAgdG8gZmxpY2tlciB3aGVuIHdlIG1vdmUgdGhlIG1vdXNlIGZyb20gY2hpbGRyZW4gdG8gcG9wdXBcbiAgICAgICAgLy8gVGltZXIgaXMgdXNlZCB0byBmb2xsb3cgdGhlIGFuaW1hdGlvbiBkdXJhdGlvblxuICAgICAgICBpZiAoIWlzVmlzaWJsZSAmJiBpbm5lclBvcHVwUmVmLmN1cnJlbnQgJiYgIWRlYm91bmNlVGltZXIuY3VycmVudCkge1xuICAgICAgICAgIGNsb3NlUG9wdXAoKVxuICAgICAgICB9IGVsc2UgaWYgKGlzVmlzaWJsZSkge1xuICAgICAgICAgIC8vIFRoaXMgY29uZGl0aW9uIGlzIGZvciB3aGVuIHdlIHdhbnQgdG8gbW91bnQgdGhlIHBvcHVwXG4gICAgICAgICAgLy8gSWYgdGhlIHRpbWVyIGV4aXN0cyBpdCBtZWFucyB0aGUgcG9wdXAgd2FzIGFib3V0IHRvIHVtb3VudCwgYnV0IHdlIGhvdmVyZWQgdGhlIGNoaWxkcmVuIGFnYWluLFxuICAgICAgICAgIC8vIHNvIHdlIGNsZWFyIHRoZSB0aW1lciBhbmQgdGhlIHBvcHVwIHdpbGwgbm90IGJlIHVubW91bnRlZFxuICAgICAgICAgIGlmICh0aW1lci5jdXJyZW50KSB7XG4gICAgICAgICAgICBzZXRSZXZlcnNlQW5pbWF0aW9uKGZhbHNlKVxuICAgICAgICAgICAgY2xlYXJUaW1lb3V0KHRpbWVyLmN1cnJlbnQpXG4gICAgICAgICAgICB0aW1lci5jdXJyZW50ID0gdW5kZWZpbmVkXG4gICAgICAgICAgfVxuICAgICAgICAgIC8vIEFuZCBoZXJlIGlzIHdoZW4gd2UgY3VycmVudGx5IGFyZSBpbiBhIGRlYm91bmNlIHRpbWVyLCBpdCBtZWFucyBwb3B1cCB3YXMgaG92ZXJlZCBkdXJpbmdcbiAgICAgICAgICAvLyB0aGF0IHBlcmlvZCwgYW5kIHNvIHdlIGNhbiBjbGVhciBkZWJvdW5jZSB0aW1lclxuICAgICAgICAgIGlmIChkZWJvdW5jZVRpbWVyLmN1cnJlbnQpIHtcbiAgICAgICAgICAgIGNsZWFyVGltZW91dChkZWJvdW5jZVRpbWVyLmN1cnJlbnQpXG4gICAgICAgICAgICBkZWJvdW5jZVRpbWVyLmN1cnJlbnQgPSB1bmRlZmluZWRcbiAgICAgICAgICB9XG4gICAgICAgICAgaWYgKGRlYm91bmNlRGVsYXkgPiAwKSB7XG4gICAgICAgICAgICBkZWJvdW5jZVRpbWVyLmN1cnJlbnQgPSBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgICAgc2V0VmlzaWJsZUluRG9tKHRydWUpXG4gICAgICAgICAgICB9LCBkZWJvdW5jZURlbGF5KVxuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBzdGFydFRyYW5zaXRpb24oKCkgPT4ge1xuICAgICAgICAgICAgICBzZXRWaXNpYmxlSW5Eb20odHJ1ZSlcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgW2Nsb3NlUG9wdXAsIGRlYm91bmNlRGVsYXksIHZpc2libGVdLFxuICAgIClcblxuICAgIC8qKlxuICAgICAqIE9uY2UgcG9wdXAgaXMgdmlzaWJsZSBpbiB0aGUgZG9tIHdlIGNhbiBjb21wdXRlIHBvc2l0aW9ucywgdGhlbiBzZXQgaXQgdmlzaWJsZSBvbiBzY3JlZW4gYW5kIGFkZCBldmVudCB0b1xuICAgICAqIHJlY29tcHV0ZSBwb3NpdGlvbnMgb24gc2Nyb2xsIG9yIHNjcmVlbiByZXNpemUuXG4gICAgICovXG4gICAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICAgIGlmICh2aXNpYmxlSW5Eb20pIHtcbiAgICAgICAgZ2VuZXJhdGVQb3B1cFBvc2l0aW9ucygpXG5cbiAgICAgICAgaWYgKHBvcHVwUG9ydGFsVGFyZ2V0ID09PSBkb2N1bWVudC5ib2R5KSB7XG4gICAgICAgICAgLy8gV2Ugd2FudCB0byBkZXRlY3Qgc2Nyb2xsIGFuZCByZXNpemUgaW4gb3JkZXIgdG8gcmVjb21wdXRlIHBvc2l0aW9ucyBvZiBwb3B1cFxuICAgICAgICAgIC8vIEFkZGluZyB0cnVlIGFzIHRoaXJkIHBhcmFtZXRlciB0byBldmVudCBsaXN0ZW5lciB3aWxsIGRldGVjdCBuZXN0ZWQgc2Nyb2xscy5cbiAgICAgICAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcignc2Nyb2xsJywgb25XaW5kb3dDaGFuZ2VEZXRlY3RlZCwgdHJ1ZSlcbiAgICAgICAgfVxuICAgICAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigncmVzaXplJywgb25XaW5kb3dDaGFuZ2VEZXRlY3RlZCwgdHJ1ZSlcbiAgICAgIH1cblxuICAgICAgcmV0dXJuICgpID0+IHtcbiAgICAgICAgd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ3Njcm9sbCcsIG9uV2luZG93Q2hhbmdlRGV0ZWN0ZWQsIHRydWUpXG4gICAgICAgIHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCdyZXNpemUnLCBvbldpbmRvd0NoYW5nZURldGVjdGVkLCB0cnVlKVxuICAgICAgICBpZiAodGltZXIuY3VycmVudCkge1xuICAgICAgICAgIGNsZWFyVGltZW91dCh0aW1lci5jdXJyZW50KVxuICAgICAgICAgIHRpbWVyLmN1cnJlbnQgPSB1bmRlZmluZWRcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0sIFtcbiAgICAgIGdlbmVyYXRlUG9wdXBQb3NpdGlvbnMsXG4gICAgICBvbldpbmRvd0NoYW5nZURldGVjdGVkLFxuICAgICAgdmlzaWJsZUluRG9tLFxuICAgICAgbWF4V2lkdGgsXG4gICAgICBwb3B1cFBvcnRhbFRhcmdldCxcbiAgICBdKVxuXG4gICAgLy8gVGhpcyB3aWxsIGJlIHRyaWdnZXJlZCB3aGVuIHBvc2l0aW9ucyBhcmUgY29tcHV0ZWQgYW5kIHBvcHVwIGlzIHZpc2libGUgaW4gdGhlIGRvbS5cbiAgICB1c2VFZmZlY3QoXG4gICAgICAoKSA9PiB7XG4gICAgICAgIGlmICh2aXNpYmxlSW5Eb20gJiYgaW5uZXJQb3B1cFJlZi5jdXJyZW50KSB7XG4gICAgICAgICAgaW5uZXJQb3B1cFJlZi5jdXJyZW50LnN0eWxlLm9wYWNpdHkgPSAnMSdcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSByZWFjdC1ob29rcy9leGhhdXN0aXZlLWRlcHNcbiAgICAgIFtwb3NpdGlvbnNdLFxuICAgIClcblxuICAgIC8qKlxuICAgICAqIElmIHBvcHVwIGhhcyBgdmlzaWJsZWAgcHJvcCBpdCBtZWFucyB0aGUgcG9wdXAgaXMgbWFudWFsbHkgY29udHJvbGxlZCB0aHJvdWdoIHRoaXMgcHJvcC5cbiAgICAgKiBJbiB0aGlzIGNhcyB3ZSBkb24ndCB3YW50IHRvIGRpc3BsYXkgcG9wdXAgb24gaG92ZXIsIGJ1dCBvbmx5IHdoZW4gYHZpc2libGVgIGlzIHRydWUuXG4gICAgICovXG4gICAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICAgIGlmIChpc0NvbnRyb2xsZWQpIHtcbiAgICAgICAgb25Qb2ludGVyRXZlbnQodmlzaWJsZSkoKVxuICAgICAgfVxuICAgIH0sIFtpc0NvbnRyb2xsZWQsIG9uUG9pbnRlckV2ZW50LCB2aXNpYmxlXSlcblxuICAgIC8vIEhhbmRsZSBoaWRlIG9uIGVzYyBwcmVzcyBhbmQgaGlkZSBvbiBjbGljayBvdXRzaWRlXG4gICAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICAgIGNvbnN0IGhhbmRsZUVzY1ByZXNzID0gKGV2ZW50OiBLZXlib2FyZEV2ZW50KSA9PiB7XG4gICAgICAgIGlmIChldmVudC5rZXkgPT09ICdFc2NhcGUnKSB7XG4gICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKVxuICAgICAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpXG4gICAgICAgICAgY2xvc2VQb3B1cCgpXG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgY29uc3QgaGFuZGxlQ2xpY2tPdXRzaWRlID0gKGV2ZW50OiBNb3VzZUV2ZW50KSA9PiB7XG4gICAgICAgIGNvbnN0IHBvcHVwQ3VycmVudCA9IGlubmVyUG9wdXBSZWYuY3VycmVudFxuICAgICAgICBjb25zdCBjaGlsZHJlbkN1cnJlbnQgPSBjaGlsZHJlblJlZi5jdXJyZW50XG5cbiAgICAgICAgaWYgKHBvcHVwQ3VycmVudCAmJiBoaWRlT25DbGlja091dHNpZGUgJiYgIWV2ZW50LmRlZmF1bHRQcmV2ZW50ZWQpIHtcbiAgICAgICAgICBpZiAoXG4gICAgICAgICAgICBldmVudC50YXJnZXQgJiZcbiAgICAgICAgICAgIGV2ZW50LnRhcmdldCAhPT0gcG9wdXBDdXJyZW50ICYmXG4gICAgICAgICAgICBldmVudC50YXJnZXQgIT09IGNoaWxkcmVuQ3VycmVudCAmJlxuICAgICAgICAgICAgIWNoaWxkcmVuQ3VycmVudD8uY29udGFpbnMoZXZlbnQudGFyZ2V0IGFzIE5vZGUpICYmXG4gICAgICAgICAgICAhcG9wdXBDdXJyZW50LmNvbnRhaW5zKGV2ZW50LnRhcmdldCBhcyBOb2RlKVxuICAgICAgICAgICkge1xuICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKVxuICAgICAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKClcbiAgICAgICAgICAgIGNsb3NlUG9wdXAoKVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgaWYgKHZpc2libGVJbkRvbSkge1xuICAgICAgICBkb2N1bWVudC5ib2R5LmFkZEV2ZW50TGlzdGVuZXIoJ2tleXVwJywgaGFuZGxlRXNjUHJlc3MpXG4gICAgICAgIGRvY3VtZW50LmJvZHkuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCBoYW5kbGVDbGlja091dHNpZGUpXG4gICAgICB9XG5cbiAgICAgIHJldHVybiAoKSA9PiB7XG4gICAgICAgIGRvY3VtZW50LmJvZHkucmVtb3ZlRXZlbnRMaXN0ZW5lcigna2V5dXAnLCBoYW5kbGVFc2NQcmVzcylcbiAgICAgICAgZG9jdW1lbnQuYm9keS5yZW1vdmVFdmVudExpc3RlbmVyKCdjbGljaycsIGhhbmRsZUNsaWNrT3V0c2lkZSlcbiAgICAgIH1cbiAgICB9LCBbXG4gICAgICBjbG9zZVBvcHVwLFxuICAgICAgdmlzaWJsZUluRG9tLFxuICAgICAgaW5uZXJQb3B1cFJlZixcbiAgICAgIGNoaWxkcmVuUmVmLFxuICAgICAgaGlkZU9uQ2xpY2tPdXRzaWRlLFxuICAgIF0pXG5cbiAgICAvKipcbiAgICAgKiBUaGlzIGV2ZW50IHdpbGwgb2NjdXIgb25seSBmb3IgZGlhbG9nIGFuZCB3aWxsIHRyYXAgZm9jdXMgaW5zaWRlIHRoZSBkaWFsb2cuXG4gICAgICovXG4gICAgY29uc3QgaGFuZGxlRm9jdXNUcmFwOiBLZXlib2FyZEV2ZW50SGFuZGxlciA9IHVzZUNhbGxiYWNrKGV2ZW50ID0+IHtcbiAgICAgIGNvbnN0IGlzVGFiUHJlc3NlZCA9IGV2ZW50LmtleSA9PT0gJ1RhYidcbiAgICAgIGlmICghaXNUYWJQcmVzc2VkKSB7XG4gICAgICAgIHJldHVyblxuICAgICAgfVxuICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKClcblxuICAgICAgY29uc3QgZm9jdXNhYmxlRWxzID1cbiAgICAgICAgaW5uZXJQb3B1cFJlZi5jdXJyZW50Py5xdWVyeVNlbGVjdG9yQWxsKFxuICAgICAgICAgICdhW2hyZWZdOm5vdChbZGlzYWJsZWRdKSwgYnV0dG9uOm5vdChbZGlzYWJsZWRdKSwgdGV4dGFyZWE6bm90KFtkaXNhYmxlZF0pLCBpbnB1dDpub3QoW2Rpc2FibGVkXSksIHNlbGVjdDpub3QoW2Rpc2FibGVkXSknLFxuICAgICAgICApID8/IFtdXG5cbiAgICAgIC8vIEhhbmRsZSBjYXNlIHdoZW4gbm8gaW50ZXJhY3RpdmUgZWxlbWVudCBhcmUgd2l0aGluIHRoZSBtb2RhbCAoaW5jbHVkaW5nIGNsb3NlIGljb24pXG4gICAgICBpZiAoZm9jdXNhYmxlRWxzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpXG4gICAgICB9XG5cbiAgICAgIGNvbnN0IGZpcnN0Rm9jdXNhYmxlRWwgPSBmb2N1c2FibGVFbHNbMF0gYXMgSFRNTEVsZW1lbnRcbiAgICAgIGNvbnN0IGxhc3RGb2N1c2FibGVFbCA9IGZvY3VzYWJsZUVsc1tcbiAgICAgICAgZm9jdXNhYmxlRWxzLmxlbmd0aCAtIDFcbiAgICAgIF0gYXMgSFRNTEVsZW1lbnRcblxuICAgICAgaWYgKGV2ZW50LnNoaWZ0S2V5KSB7XG4gICAgICAgIGlmIChcbiAgICAgICAgICBkb2N1bWVudC5hY3RpdmVFbGVtZW50ID09PSBmaXJzdEZvY3VzYWJsZUVsIHx8XG4gICAgICAgICAgZG9jdW1lbnQuYWN0aXZlRWxlbWVudCA9PT0gaW5uZXJQb3B1cFJlZi5jdXJyZW50XG4gICAgICAgICkge1xuICAgICAgICAgIGxhc3RGb2N1c2FibGVFbC5mb2N1cygpXG4gICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKVxuICAgICAgICB9XG4gICAgICB9IGVsc2UgaWYgKFxuICAgICAgICBkb2N1bWVudC5hY3RpdmVFbGVtZW50ID09PSBsYXN0Rm9jdXNhYmxlRWwgfHxcbiAgICAgICAgZG9jdW1lbnQuYWN0aXZlRWxlbWVudCA9PT0gaW5uZXJQb3B1cFJlZi5jdXJyZW50XG4gICAgICApIHtcbiAgICAgICAgZmlyc3RGb2N1c2FibGVFbC5mb2N1cygpXG4gICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KClcbiAgICAgIH1cbiAgICB9LCBbXSlcblxuICAgIC8qKlxuICAgICAqIFdpbGwgcmVuZGVyIGNoaWxkcmVuIGNvbmRpdGlvbmFsbHkgaWYgY2hpbGRyZW4gaXMgYSBmdW5jdGlvbiBvciBub3QuXG4gICAgICovXG4gICAgY29uc3QgcmVuZGVyQ2hpbGRyZW4gPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgICBpZiAodHlwZW9mIGNoaWxkcmVuID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgIHJldHVybiBjaGlsZHJlbih7XG4gICAgICAgICAgb25CbHVyOiAhaXNDb250cm9sbGVkID8gb25Qb2ludGVyRXZlbnQoZmFsc2UpIDogbm9vcCxcbiAgICAgICAgICBvbkZvY3VzOiAhaXNDb250cm9sbGVkID8gb25Qb2ludGVyRXZlbnQodHJ1ZSkgOiBub29wLFxuICAgICAgICAgIG9uUG9pbnRlckVudGVyOiAhaXNDb250cm9sbGVkID8gb25Qb2ludGVyRXZlbnQodHJ1ZSkgOiBub29wLFxuICAgICAgICAgIG9uUG9pbnRlckxlYXZlOiAhaXNDb250cm9sbGVkID8gb25Qb2ludGVyRXZlbnQoZmFsc2UpIDogbm9vcCxcbiAgICAgICAgICByZWY6IGNoaWxkcmVuUmVmLFxuICAgICAgICB9KVxuICAgICAgfVxuXG4gICAgICByZXR1cm4gKFxuICAgICAgICA8U3R5bGVkQ2hpbGRyZW5Db250YWluZXJcbiAgICAgICAgICBhcmlhLWRlc2NyaWJlZGJ5PXtnZW5lcmF0ZWRJZH1cbiAgICAgICAgICBhcmlhLWNvbnRyb2xzPXtnZW5lcmF0ZWRJZH1cbiAgICAgICAgICBvbkJsdXI9eyFpc0NvbnRyb2xsZWQgPyBvblBvaW50ZXJFdmVudChmYWxzZSkgOiBub29wfVxuICAgICAgICAgIG9uRm9jdXM9eyFpc0NvbnRyb2xsZWQgPyBvblBvaW50ZXJFdmVudCh0cnVlKSA6IG5vb3B9XG4gICAgICAgICAgb25Qb2ludGVyRW50ZXI9eyFpc0NvbnRyb2xsZWQgPyBvblBvaW50ZXJFdmVudCh0cnVlKSA6IG5vb3B9XG4gICAgICAgICAgb25Qb2ludGVyTGVhdmU9eyFpc0NvbnRyb2xsZWQgPyBvblBvaW50ZXJFdmVudChmYWxzZSkgOiBub29wfVxuICAgICAgICAgIHJlZj17Y2hpbGRyZW5SZWZ9XG4gICAgICAgICAgdGFiSW5kZXg9e3RhYkluZGV4fVxuICAgICAgICAgIG9uS2V5RG93bj17ZXZlbnQgPT4ge1xuICAgICAgICAgICAgb25LZXlEb3duPy4oZXZlbnQpXG4gICAgICAgICAgfX1cbiAgICAgICAgICBkYXRhLWNvbnRhaW5lci1mdWxsLXdpZHRoPXtjb250YWluZXJGdWxsV2lkdGh9XG4gICAgICAgICAgYXJpYS1oYXNwb3B1cD17YXJpYUhhc1BvcHVwfVxuICAgICAgICA+XG4gICAgICAgICAge2NoaWxkcmVufVxuICAgICAgICA8L1N0eWxlZENoaWxkcmVuQ29udGFpbmVyPlxuICAgICAgKVxuICAgIH0sIFtcbiAgICAgIGFyaWFIYXNQb3B1cCxcbiAgICAgIGNoaWxkcmVuLFxuICAgICAgY29udGFpbmVyRnVsbFdpZHRoLFxuICAgICAgZ2VuZXJhdGVkSWQsXG4gICAgICBpc0NvbnRyb2xsZWQsXG4gICAgICBvbktleURvd24sXG4gICAgICBvblBvaW50ZXJFdmVudCxcbiAgICAgIHRhYkluZGV4LFxuICAgIF0pXG5cbiAgICBjb25zdCBzaG91bGRSZW5kZXIgPSB1c2VNZW1vKCgpID0+IHtcbiAgICAgIGlmICghZHluYW1pY0RvbVJlbmRlcmluZykge1xuICAgICAgICByZXR1cm4gdHJ1ZVxuICAgICAgfVxuXG4gICAgICBpZiAoZHluYW1pY0RvbVJlbmRlcmluZyAmJiB2aXNpYmxlSW5Eb20pIHtcbiAgICAgICAgcmV0dXJuIHRydWVcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIGZhbHNlXG4gICAgfSwgW2R5bmFtaWNEb21SZW5kZXJpbmcsIHZpc2libGVJbkRvbV0pXG5cbiAgICBpZiAoIXRleHQpIHtcbiAgICAgIGlmICh0eXBlb2YgY2hpbGRyZW4gPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgcmV0dXJuIG51bGxcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIGNoaWxkcmVuXG4gICAgfVxuXG4gICAgcmV0dXJuIChcbiAgICAgIDw+XG4gICAgICAgIHtyZW5kZXJDaGlsZHJlbigpfVxuICAgICAgICB7c2hvdWxkUmVuZGVyXG4gICAgICAgICAgPyBjcmVhdGVQb3J0YWwoXG4gICAgICAgICAgICAgIDxTdHlsZWRQb3B1cFxuICAgICAgICAgICAgICAgIHJlZj17aW5uZXJQb3B1cFJlZn1cbiAgICAgICAgICAgICAgICBwb3NpdGlvbnM9e3Bvc2l0aW9uc31cbiAgICAgICAgICAgICAgICBtYXhXaWR0aD17bWF4V2lkdGh9XG4gICAgICAgICAgICAgICAgbWF4SGVpZ2h0PXttYXhIZWlnaHR9XG4gICAgICAgICAgICAgICAgcm9sZT17cm9sZX1cbiAgICAgICAgICAgICAgICBpZD17Z2VuZXJhdGVkSWR9XG4gICAgICAgICAgICAgICAgY2xhc3NOYW1lPXtjbGFzc05hbWV9XG4gICAgICAgICAgICAgICAgcmV2ZXJzZUFuaW1hdGlvbj17cmV2ZXJzZUFuaW1hdGlvbn1cbiAgICAgICAgICAgICAgICBkYXRhLXRlc3RpZD17ZGF0YVRlc3RJZH1cbiAgICAgICAgICAgICAgICBkYXRhLWhhcy1hcnJvdz17aGFzQXJyb3d9XG4gICAgICAgICAgICAgICAgb25DbGljaz17c3RvcENsaWNrUHJvcGFnYXRpb259XG4gICAgICAgICAgICAgICAgb25Qb2ludGVyRW50ZXI9eyFpc0NvbnRyb2xsZWQgPyBvblBvaW50ZXJFdmVudCh0cnVlKSA6IG5vb3B9XG4gICAgICAgICAgICAgICAgb25Qb2ludGVyTGVhdmU9eyFpc0NvbnRyb2xsZWQgPyBvblBvaW50ZXJFdmVudChmYWxzZSkgOiBub29wfVxuICAgICAgICAgICAgICAgIGFuaW1hdGlvbkR1cmF0aW9uPXthbmltYXRpb25EdXJhdGlvbn1cbiAgICAgICAgICAgICAgICBvbktleURvd249e3JvbGUgPT09ICdkaWFsb2cnID8gaGFuZGxlRm9jdXNUcmFwIDogdW5kZWZpbmVkfVxuICAgICAgICAgICAgICAgIGlzRGlhbG9nPXtyb2xlID09PSAnZGlhbG9nJ31cbiAgICAgICAgICAgICAgICBkYXRhLXZpc2libGUtaW4tZG9tPXtcbiAgICAgICAgICAgICAgICAgICFkeW5hbWljRG9tUmVuZGVyaW5nID8gdmlzaWJsZUluRG9tIDogdW5kZWZpbmVkXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGRhdGEtYW5pbWF0ZWQ9e2FuaW1hdGlvbkR1cmF0aW9uID4gMCAmJiAhbWF4SGVpZ2h0fVxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAge3RleHR9XG4gICAgICAgICAgICAgIDwvU3R5bGVkUG9wdXA+LFxuICAgICAgICAgICAgICBwb3B1cFBvcnRhbFRhcmdldCBhcyBIVE1MRWxlbWVudCxcbiAgICAgICAgICAgIClcbiAgICAgICAgICA6IG51bGx9XG4gICAgICA8Lz5cbiAgICApXG4gIH0sXG4pXG4iXX0= */"));
|
|
60
|
+
}) => theme.colors.neutral.backgroundStronger, ' transparent transparent transparent;pointer-events:none;}}&[data-visible-in-dom="false"]{display:none;}' + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL3VsdHJhdmlvbGV0L3VsdHJhdmlvbGV0L3BhY2thZ2VzL3VpL3NyYy9jb21wb25lbnRzL1BvcHVwL2luZGV4LnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUErRG9CIiwiZmlsZSI6Ii9ob21lL3J1bm5lci93b3JrL3VsdHJhdmlvbGV0L3VsdHJhdmlvbGV0L3BhY2thZ2VzL3VpL3NyYy9jb21wb25lbnRzL1BvcHVwL2luZGV4LnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNzcyB9IGZyb20gJ0BlbW90aW9uL3JlYWN0J1xuaW1wb3J0IHN0eWxlZCBmcm9tICdAZW1vdGlvbi9zdHlsZWQnXG5pbXBvcnQgdHlwZSB7XG4gIEhUTUxBdHRyaWJ1dGVzLFxuICBLZXlib2FyZEV2ZW50SGFuZGxlcixcbiAgTW91c2VFdmVudEhhbmRsZXIsXG4gIFJlYWN0Tm9kZSxcbiAgUmVmLFxuICBSZWZPYmplY3QsXG59IGZyb20gJ3JlYWN0J1xuaW1wb3J0IHtcbiAgZm9yd2FyZFJlZixcbiAgc3RhcnRUcmFuc2l0aW9uLFxuICB1c2VDYWxsYmFjayxcbiAgdXNlRWZmZWN0LFxuICB1c2VJZCxcbiAgdXNlSW1wZXJhdGl2ZUhhbmRsZSxcbiAgdXNlTWVtbyxcbiAgdXNlUmVmLFxuICB1c2VTdGF0ZSxcbn0gZnJvbSAncmVhY3QnXG5pbXBvcnQgeyBjcmVhdGVQb3J0YWwgfSBmcm9tICdyZWFjdC1kb20nXG5pbXBvcnQgeyBpc0NsaWVudFNpZGUgfSBmcm9tICcuLi8uLi9oZWxwZXJzL2lzQ2xpZW50U2lkZSdcbmltcG9ydCB0eXBlIHsgUG9zaXRpb25zVHlwZSB9IGZyb20gJy4vYW5pbWF0aW9ucydcbmltcG9ydCB7IGFuaW1hdGlvbiwgZXhpdEFuaW1hdGlvbiB9IGZyb20gJy4vYW5pbWF0aW9ucydcbmltcG9ydCB0eXBlIHsgUG9wdXBBbGlnbiwgUG9wdXBQbGFjZW1lbnQgfSBmcm9tICcuL2hlbHBlcnMnXG5pbXBvcnQge1xuICBERUZBVUxUX0FSUk9XX1dJRFRILFxuICBERUZBVUxUX1BPU0lUSU9OUyxcbiAgY29tcHV0ZVBvc2l0aW9ucyxcbn0gZnJvbSAnLi9oZWxwZXJzJ1xuXG5jb25zdCBERUZBVUxUX0FOSU1BVElPTl9EVVJBVElPTiA9IDIzMCAvLyBpbiBtc1xuY29uc3QgREVGQVVMVF9ERUJPVU5DRV9EVVJBVElPTiA9IDIwMCAvLyBpbiBtc1xuXG5jb25zdCBub29wID0gKCkgPT4ge31cblxudHlwZSBTdHlsZWRQb3B1cFByb3BzID0ge1xuICBtYXhXaWR0aDogbnVtYmVyIHwgc3RyaW5nXG4gIHBvc2l0aW9uczogUG9zaXRpb25zVHlwZVxuICByZXZlcnNlQW5pbWF0aW9uOiBib29sZWFuXG4gIG1heEhlaWdodD86IG51bWJlciB8IHN0cmluZ1xuICBhbmltYXRpb25EdXJhdGlvbj86IG51bWJlclxuICBpc0RpYWxvZzogYm9vbGVhblxufVxuXG4vKipcbiAqIFRoaXMgZXZlbnQgaGFuZGxlIGFsbG93IHVzIHRvIG5vdCBidWJibGUgdGhlIGV2ZW50IHRvIGRvY3VtZW50LmJvZHkgbGlrZSB0aGlzIHJlYWN0LXNlbGVjdCB3b3JrcyBmaW5lXG4gKi9cbmNvbnN0IHN0b3BDbGlja1Byb3BhZ2F0aW9uOiBNb3VzZUV2ZW50SGFuZGxlciA9IGV2ZW50ID0+IHtcbiAgZXZlbnQubmF0aXZlRXZlbnQuc3RvcEltbWVkaWF0ZVByb3BhZ2F0aW9uKClcbn1cblxuY29uc3QgU3R5bGVkUG9wdXAgPSBzdHlsZWQoJ2RpdicsIHtcbiAgc2hvdWxkRm9yd2FyZFByb3A6IHByb3AgPT5cbiAgICAhW1xuICAgICAgJ21heFdpZHRoJyxcbiAgICAgICdwb3NpdGlvbnMnLFxuICAgICAgJ3JldmVyc2VBbmltYXRpb24nLFxuICAgICAgJ21heEhlaWdodCcsXG4gICAgICAnYW5pbWF0aW9uRHVyYXRpb24nLFxuICAgICAgJ2lzRGlhbG9nJyxcbiAgICBdLmluY2x1ZGVzKHByb3ApLFxufSk8U3R5bGVkUG9wdXBQcm9wcz5gXG4gIGJhY2tncm91bmQ6ICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuY29sb3JzLm5ldXRyYWwuYmFja2dyb3VuZFN0cm9uZ2VyfTtcbiAgY29sb3I6ICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuY29sb3JzLm5ldXRyYWwudGV4dFN0cm9uZ2VyfTtcbiAgYm9yZGVyLXJhZGl1czogJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5yYWRpaS5kZWZhdWx0fTtcbiAgcGFkZGluZzogJHsoeyB0aGVtZSB9KSA9PiBgJHt0aGVtZS5zcGFjZVsnMC41J119ICR7dGhlbWUuc3BhY2VbJzEnXX1gfTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIG1heC13aWR0aDogJHsoeyBtYXhXaWR0aCB9KSA9PlxuICAgIHR5cGVvZiBtYXhXaWR0aCA9PT0gJ251bWJlcicgPyBgJHttYXhXaWR0aH1weGAgOiBtYXhXaWR0aH07XG4gIG1heC1oZWlnaHQ6ICR7KHsgbWF4SGVpZ2h0IH0pID0+XG4gICAgdHlwZW9mIG1heEhlaWdodCA9PT0gJ251bWJlcicgPyBgJHttYXhIZWlnaHR9cHhgIDogbWF4SGVpZ2h0fTtcbiAgb3ZlcmZsb3c6ICR7KHsgbWF4SGVpZ2h0IH0pID0+IChtYXhIZWlnaHQgPyAnYXV0bycgOiB1bmRlZmluZWQpfTtcbiAgb3ZlcmZsb3ctd3JhcDogYnJlYWstd29yZDtcbiAgZm9udC1zaXplOiAwLjhyZW07XG4gIGluc2V0OiAwIGF1dG8gYXV0byAwO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIG9wYWNpdHk6IDA7XG4gIHotaW5kZXg6IDE7XG4gIHRyYW5zZm9ybTogJHsoeyBwb3NpdGlvbnMgfSkgPT4gcG9zaXRpb25zLnBvcHVwUG9zaXRpb259O1xuXG4gICZbZGF0YS1hbmltYXRlZD1cInRydWVcIl0ge1xuICAgIGFuaW1hdGlvbjogJHsoeyBwb3NpdGlvbnMsIHJldmVyc2VBbmltYXRpb24sIGFuaW1hdGlvbkR1cmF0aW9uIH0pID0+IGNzc2BcbiAgICAgICR7YW5pbWF0aW9uRHVyYXRpb259bXMgJHtcbiAgICAgICAgIXJldmVyc2VBbmltYXRpb24gPyBhbmltYXRpb24ocG9zaXRpb25zKSA6IGV4aXRBbmltYXRpb24ocG9zaXRpb25zKVxuICAgICAgfSBmb3J3YXJkc1xuICAgIGB9O1xuICB9XG5cbiAgJltkYXRhLWhhcy1hcnJvdz1cInRydWVcIl0ge1xuICAgICY6OmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6IFwiIFwiO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAkeyh7IHBvc2l0aW9ucyB9KSA9PiBwb3NpdGlvbnMuYXJyb3dUb3B9cHg7XG4gICAgICBsZWZ0OiAkeyh7IHBvc2l0aW9ucyB9KSA9PiBwb3NpdGlvbnMuYXJyb3dMZWZ0fXB4O1xuICAgICAgdHJhbnNmb3JtOiAkeyh7IHBvc2l0aW9ucyB9KSA9PiBwb3NpdGlvbnMuYXJyb3dUcmFuc2Zvcm19XG4gICAgICAgIHJvdGF0ZSgkeyh7IHBvc2l0aW9ucyB9KSA9PiBwb3NpdGlvbnMucm90YXRlfWRlZyk7XG4gICAgICBtYXJnaW4tbGVmdDogLSR7REVGQVVMVF9BUlJPV19XSURUSH1weDtcbiAgICAgIGJvcmRlci13aWR0aDogJHtERUZBVUxUX0FSUk9XX1dJRFRIfXB4O1xuICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgIGJvcmRlci1jb2xvcjogJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5jb2xvcnMubmV1dHJhbC5iYWNrZ3JvdW5kU3Ryb25nZXJ9XG4gICAgICAgIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgJltkYXRhLXZpc2libGUtaW4tZG9tPVwiZmFsc2VcIl0ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbmBcblxuY29uc3QgU3R5bGVkQ2hpbGRyZW5Db250YWluZXIgPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBpbmhlcml0O1xuXG4gICZbZGF0YS1jb250YWluZXItZnVsbC13aWR0aD1cInRydWVcIl0ge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG5gXG5cbnR5cGUgUG9wdXBQcm9wcyA9IHtcbiAgLyoqXG4gICAqIElkIGlzIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGVkIGlmIG5vdCBzZXQuIEl0IGlzIHVzZWQgZm9yIGFzc29jaWF0aW5nIHBvcHVwIHdyYXBwZXIgd2l0aCBwb3B1cCBwb3J0YWwuXG4gICAqL1xuICBpZD86IHN0cmluZ1xuICBjaGlsZHJlbjpcbiAgICB8IFJlYWN0Tm9kZVxuICAgIHwgKChyZW5kZXJQcm9wczoge1xuICAgICAgICBjbGFzc05hbWU/OiBzdHJpbmdcbiAgICAgICAgb25CbHVyOiAoKSA9PiB2b2lkXG4gICAgICAgIG9uRm9jdXM6ICgpID0+IHZvaWRcbiAgICAgICAgb25Qb2ludGVyRW50ZXI6ICgpID0+IHZvaWRcbiAgICAgICAgb25Qb2ludGVyTGVhdmU6ICgpID0+IHZvaWRcbiAgICAgICAgcmVmOiBSZWZPYmplY3Q8SFRNTERpdkVsZW1lbnQgfCBudWxsPlxuICAgICAgfSkgPT4gUmVhY3ROb2RlKVxuICBtYXhXaWR0aD86IG51bWJlciB8IHN0cmluZ1xuICAvKipcbiAgICogYGF1dG9gIHBsYWNlbWVudCB3aWxsIGNoYW5nZSB0aGUgcG9zaXRpb24gb2YgdGhlIHBvcHVwIGlmIGl0IGRvZXNuJ3QgZml0IGluIHRoZSB2aWV3cG9ydC5cbiAgICovXG4gIHBsYWNlbWVudD86IFBvcHVwUGxhY2VtZW50XG4gIC8qKlxuICAgKiBBbGlnbiB0aGUgcG9wdXAgdG8gdGhlIHN0YXJ0IG9yIGNlbnRlciBvZiB0aGUgY2hpbGRyZW4uXG4gICAqL1xuICBhbGlnbj86IFBvcHVwQWxpZ25cbiAgLyoqXG4gICAqIENvbnRlbnQgb2YgdGhlIHBvcHVwLCBwcmVmZXJhYmx5IHRleHQgaW5zaWRlLlxuICAgKi9cbiAgdGV4dD86IFJlYWN0Tm9kZVxuICBjbGFzc05hbWU/OiBzdHJpbmdcbiAgLyoqXG4gICAqIEl0IHdpbGwgYWRkIGB3aWR0aDogMTAwJWAgdG8gdGhlIHBvcHVwIGNvbnRhaW5lci5cbiAgICovXG4gIGNvbnRhaW5lckZ1bGxXaWR0aD86IGJvb2xlYW5cbiAgLyoqXG4gICAqIEl0IHdpbGwgZm9yY2UgZGlzcGxheSBwb3B1cC4gVGhpcyBjYW4gYmUgdXNlZnVsIGlmIHlvdSBuZWVkIHRvIGFsd2F5cyBkaXNwbGF5IHRoZSBwb3B1cCB3aXRob3V0IGhvdmVyIG5lZWRlZC5cbiAgICovXG4gIHZpc2libGU/OiBib29sZWFuXG4gIGlubmVyUmVmPzogUmVmPEhUTUxEaXZFbGVtZW50IHwgbnVsbD5cbiAgcm9sZT86IHN0cmluZ1xuICAnZGF0YS10ZXN0aWQnPzogc3RyaW5nXG4gIGhhc0Fycm93PzogYm9vbGVhblxuICBvbkNsb3NlPzogKCkgPT4gdm9pZFxuICB0YWJJbmRleD86IG51bWJlclxuICBvbktleURvd24/OiBLZXlib2FyZEV2ZW50SGFuZGxlclxuICAnYXJpYS1oYXNwb3B1cCc/OiBIVE1MQXR0cmlidXRlczxIVE1MRGl2RWxlbWVudD5bJ2FyaWEtaGFzcG9wdXAnXVxuICBoaWRlT25DbGlja091dHNpZGU/OiBib29sZWFuXG4gIC8qKlxuICAgKiBJZiB5b3Ugc2V0IGRlYm91bmNlVGltZSB0byBmYWxzZSwgdGhlIHBvcHVwIHdpbGwgbm90IGRlYm91bmNlIHRoZSBob3ZlciBldmVudCBhbmQgd2lsbCBiZSBkaXNwbGF5ZWQgaW5zdGFudGx5LlxuICAgKiBJZiBzZXQgdG8gMCBpdCB3aWxsIGRpc2FibGUgZGVib3VuY2UuXG4gICAqL1xuICBkZWJvdW5jZURlbGF5PzogbnVtYmVyXG4gIC8qKlxuICAgKiBJZiB5b3Ugc2V0IGEgbWF4IGhlaWdodCBrZWVwIGluIG1pbmQgdGhhdCB0aGUgYW5pbWF0aW9uIGlzIGRpc2FibGVkLCBvciBpdCB3aWxsIG5vdCB3b3JrIHByb3Blcmx5IG9uIHNvbWUgYnJvd3NlcnMuXG4gICAqL1xuICBtYXhIZWlnaHQ/OiBzdHJpbmcgfCBudW1iZXJcbiAgLyoqXG4gICAqIFdpbGwgcmVtb3ZlIHRoZSBhbmltYXRpb24gb24gdGhlIHBvcHVwIGlmIHNldCB0byBmYWxzZS5cbiAgICovXG4gIGRpc2FibGVBbmltYXRpb24/OiBib29sZWFuXG4gIC8qKlxuICAgKiBCeSBkZWZhdWx0LCB0aGUgcG9ydGFsIHRhcmdldCBpcyBjaGlsZHJlbiBjb250YWluZXIgb3IgZG9jdW1lbnQuYm9keSBpZiBjaGlsZHJlbiBpcyBhIGZ1bmN0aW9uLiBZb3UgY2FuIG92ZXJyaWRlIHRoaXNcbiAgICogYmVoYXZpb3IgYnkgc2V0dGluZyBhIHBvcnRhbFRhcmdldCBwcm9wLlxuICAgKi9cbiAgcG9ydGFsVGFyZ2V0PzogSFRNTEVsZW1lbnRcbiAgLyoqXG4gICAqIElmIHlvdSBzZXQgdGhpcyB0byB0cnVlLCB0aGUgcG9wdXAgd2lsbCBiZSByZW5kZXJlZCBpbiB0aGUgRE9NIG9ubHkgd2hlbiBpdCBpcyB2aXNpYmxlLlxuICAgKiBXaGVuIHNldCB0byBmYWxzZSwgdGhlIHBvcHVwIHdpbGwgYWx3YXlzIGJlIHJlbmRlcmVkIGluIHRoZSBET00uIEJ5IGRlZmF1bHQgdGhpcyB2YWx1ZSBpcyBzZXQgdG8gYHRydWVgLCBpZiBmb3Igc29tZVxuICAgKiByZWFzb24geW91IG5lZWQgdG8gZGlzYWJsZSBpdCwgeW91IGNhbiBzZXQgaXQgdG8gYGZhbHNlYC5cbiAgICovXG4gIGR5bmFtaWNEb21SZW5kZXJpbmc/OiBib29sZWFuXG59XG5cbi8qKlxuICogQGV4cGVyaW1lbnRhbCBUaGlzIGNvbXBvbmVudCBpcyBleHBlcmltZW50YWwgYW5kIG1heSBiZSBzdWJqZWN0IHRvIGJyZWFraW5nIGNoYW5nZXMgaW4gdGhlIGZ1dHVyZS5cbiAqL1xuZXhwb3J0IGNvbnN0IFBvcHVwID0gZm9yd2FyZFJlZihcbiAgKFxuICAgIHtcbiAgICAgIGNoaWxkcmVuLFxuICAgICAgdGV4dCA9ICcnLFxuICAgICAgcGxhY2VtZW50ID0gJ2F1dG8nLFxuICAgICAgYWxpZ24gPSAnY2VudGVyJyxcbiAgICAgIGlkLFxuICAgICAgY2xhc3NOYW1lLFxuICAgICAgY29udGFpbmVyRnVsbFdpZHRoLFxuICAgICAgbWF4V2lkdGggPSAnMTQuNXJlbScsXG4gICAgICBtYXhIZWlnaHQsXG4gICAgICB2aXNpYmxlLFxuICAgICAgaW5uZXJSZWYsXG4gICAgICByb2xlID0gJ3BvcHVwJyxcbiAgICAgICdkYXRhLXRlc3RpZCc6IGRhdGFUZXN0SWQsXG4gICAgICBoYXNBcnJvdyA9IHRydWUsXG4gICAgICBvbkNsb3NlLFxuICAgICAgdGFiSW5kZXggPSAwLFxuICAgICAgb25LZXlEb3duLFxuICAgICAgJ2FyaWEtaGFzcG9wdXAnOiBhcmlhSGFzUG9wdXAsXG4gICAgICBoaWRlT25DbGlja091dHNpZGUgPSBmYWxzZSxcbiAgICAgIGRlYm91bmNlRGVsYXkgPSBERUZBVUxUX0RFQk9VTkNFX0RVUkFUSU9OLFxuICAgICAgZGlzYWJsZUFuaW1hdGlvbiA9IGZhbHNlLFxuICAgICAgcG9ydGFsVGFyZ2V0LFxuICAgICAgZHluYW1pY0RvbVJlbmRlcmluZyA9IHRydWUsXG4gICAgfTogUG9wdXBQcm9wcyxcbiAgICByZWY6IFJlZjxIVE1MRGl2RWxlbWVudD4sXG4gICkgPT4ge1xuICAgIGNvbnN0IGNoaWxkcmVuUmVmID0gdXNlUmVmPEhUTUxEaXZFbGVtZW50PihudWxsKVxuICAgIHVzZUltcGVyYXRpdmVIYW5kbGUoaW5uZXJSZWYsICgpID0+IGNoaWxkcmVuUmVmLmN1cnJlbnQgYXMgSFRNTERpdkVsZW1lbnQpXG5cbiAgICBjb25zdCBpbm5lclBvcHVwUmVmID0gdXNlUmVmPEhUTUxEaXZFbGVtZW50PihudWxsKVxuICAgIHVzZUltcGVyYXRpdmVIYW5kbGUocmVmLCAoKSA9PiBpbm5lclBvcHVwUmVmLmN1cnJlbnQgYXMgSFRNTERpdkVsZW1lbnQpXG5cbiAgICBjb25zdCB0aW1lciA9IHVzZVJlZjxSZXR1cm5UeXBlPHR5cGVvZiBzZXRUaW1lb3V0Pj4odW5kZWZpbmVkKVxuICAgIGNvbnN0IHBvcHVwUG9ydGFsVGFyZ2V0ID0gdXNlTWVtbygoKSA9PiB7XG4gICAgICBpZiAocG9ydGFsVGFyZ2V0KSByZXR1cm4gcG9ydGFsVGFyZ2V0XG5cbiAgICAgIGlmIChyb2xlID09PSAnZGlhbG9nJykge1xuICAgICAgICBpZiAoY2hpbGRyZW5SZWYuY3VycmVudCkgcmV0dXJuIGNoaWxkcmVuUmVmLmN1cnJlbnRcbiAgICAgICAgaWYgKGlzQ2xpZW50U2lkZSkgcmV0dXJuIGRvY3VtZW50LmJvZHlcblxuICAgICAgICByZXR1cm4gbnVsbFxuICAgICAgfVxuXG4gICAgICAvLyBXZSBjaGVjayBpZiB3aW5kb3cgZXhpc3RzIGZvciBTU1JcbiAgICAgIGlmICh0eXBlb2Ygd2luZG93ICE9PSAndW5kZWZpbmVkJykge1xuICAgICAgICByZXR1cm4gZG9jdW1lbnQuYm9keVxuICAgICAgfVxuXG4gICAgICByZXR1cm4gbnVsbFxuICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHJlYWN0LWhvb2tzL2V4aGF1c3RpdmUtZGVwc1xuICAgIH0sIFtwb3J0YWxUYXJnZXQsIHJvbGUsIGNoaWxkcmVuUmVmLmN1cnJlbnRdKVxuXG4gICAgLy8gVGhlcmUgYXJlIHNvbWUgaXNzdWUgd2hlbiBtaXhpbmcgYW5pbWF0aW9uIGFuZCBtYXhIZWlnaHQgb24gc29tZSBicm93c2Vycywgc28gd2UgZGlzYWJsZSBhbmltYXRpb24gaWYgbWF4SGVpZ2h0IGlzIHNldC5cbiAgICBjb25zdCBhbmltYXRpb25EdXJhdGlvbiA9XG4gICAgICBkaXNhYmxlQW5pbWF0aW9uIHx8IG1heEhlaWdodCA/IDAgOiBERUZBVUxUX0FOSU1BVElPTl9EVVJBVElPTlxuXG4gICAgLy8gRGVib3VuY2UgdGltZXIgd2lsbCBiZSB1c2VkIHRvIHByZXZlbnQgdGhlIHBvcHVwIGZyb20gZmxpY2tlcmluZyB3aGVuIHRoZSB1c2VyIG1vdmVzIHRoZSBtb3VzZSBvdXQgYW5kIGluIHRoZSBjaGlsZHJlbiBlbGVtZW50LlxuICAgIGNvbnN0IGRlYm91bmNlVGltZXIgPSB1c2VSZWY8UmV0dXJuVHlwZTx0eXBlb2Ygc2V0VGltZW91dD4+KHVuZGVmaW5lZClcbiAgICBjb25zdCBbdmlzaWJsZUluRG9tLCBzZXRWaXNpYmxlSW5Eb21dID0gdXNlU3RhdGUoZmFsc2UpXG4gICAgY29uc3QgW3JldmVyc2VBbmltYXRpb24sIHNldFJldmVyc2VBbmltYXRpb25dID0gdXNlU3RhdGUoZmFsc2UpXG4gICAgY29uc3QgW3Bvc2l0aW9ucywgc2V0UG9zaXRpb25zXSA9IHVzZVN0YXRlPFBvc2l0aW9uc1R5cGU+KHtcbiAgICAgIC4uLkRFRkFVTFRfUE9TSVRJT05TLFxuICAgIH0pXG4gICAgY29uc3QgdW5pcXVlSWQgPSB1c2VJZCgpXG4gICAgY29uc3QgZ2VuZXJhdGVkSWQgPSBpZCA/PyB1bmlxdWVJZFxuICAgIGNvbnN0IGlzQ29udHJvbGxlZCA9IHZpc2libGUgIT09IHVuZGVmaW5lZFxuXG4gICAgY29uc3QgZ2VuZXJhdGVQb3B1cFBvc2l0aW9ucyA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICAgIGlmIChjaGlsZHJlblJlZi5jdXJyZW50ICYmIGlubmVyUG9wdXBSZWYuY3VycmVudCkge1xuICAgICAgICBzZXRQb3NpdGlvbnMoXG4gICAgICAgICAgY29tcHV0ZVBvc2l0aW9ucyh7XG4gICAgICAgICAgICBjaGlsZHJlblJlZixcbiAgICAgICAgICAgIHBsYWNlbWVudCxcbiAgICAgICAgICAgIHBvcHVwUmVmOiBpbm5lclBvcHVwUmVmLFxuICAgICAgICAgICAgcG9wdXBQb3J0YWxUYXJnZXQ6IHBvcHVwUG9ydGFsVGFyZ2V0IGFzIEhUTUxFbGVtZW50LFxuICAgICAgICAgICAgaGFzQXJyb3csXG4gICAgICAgICAgICBhbGlnbixcbiAgICAgICAgICB9KSxcbiAgICAgICAgKVxuICAgICAgfVxuICAgIH0sIFtoYXNBcnJvdywgcGxhY2VtZW50LCBwb3B1cFBvcnRhbFRhcmdldCwgYWxpZ25dKVxuXG4gICAgLyoqXG4gICAgICogVGhpcyBmdW5jdGlvbiBpcyBjYWxsZWQgd2hlbiB3ZSBuZWVkIHRvIHJlY29tcHV0ZSBwb3NpdGlvbnMgb2YgcG9wdXAgZHVlIHRvIHdpbmRvdyBzY3JvbGwgb3IgcmVzaXplLlxuICAgICAqL1xuICAgIGNvbnN0IG9uV2luZG93Q2hhbmdlRGV0ZWN0ZWQgPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgICAvLyBXZSByZW1vdmUgYW5pbWF0aW9uIG9uIHNjcm9sbCBvciB0aGUgYW5pbWF0aW9uIHdpbGwgcmVzdGFydCBvbiBldmVyeSBzY3JvbGxcbiAgICAgIGlmIChpbm5lclBvcHVwUmVmLmN1cnJlbnQpIHtcbiAgICAgICAgaW5uZXJQb3B1cFJlZi5jdXJyZW50LnN0eWxlLmFuaW1hdGlvbiA9ICdub25lJ1xuICAgICAgfVxuXG4gICAgICBnZW5lcmF0ZVBvcHVwUG9zaXRpb25zKClcbiAgICB9LCBbZ2VuZXJhdGVQb3B1cFBvc2l0aW9ucywgaW5uZXJQb3B1cFJlZl0pXG5cbiAgICAvKipcbiAgICAgKiBUaGlzIGZ1bmN0aW9uIGlzIGNhbGxlZCB3aGVuIHdlIG5lZWQgdG8gcmVtb3ZlIHBvcHVwIHBvcnRhbCBmcm9tIERPTSBhbmQgcmVtb3ZlIGV2ZW50IGxpc3RlbmVyIHRvIGl0LlxuICAgICAqL1xuICAgIGNvbnN0IHVubW91bnRQb3B1cEZyb21Eb20gPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgICBzZXRWaXNpYmxlSW5Eb20oZmFsc2UpXG4gICAgICBzZXRSZXZlcnNlQW5pbWF0aW9uKGZhbHNlKVxuXG4gICAgICB3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcignc2Nyb2xsJywgb25XaW5kb3dDaGFuZ2VEZXRlY3RlZCwgdHJ1ZSlcbiAgICB9LCBbb25XaW5kb3dDaGFuZ2VEZXRlY3RlZF0pXG5cbiAgICAvKipcbiAgICAgKiBUaGlzIGZ1bmN0aW9uIGlzIGNhbGxlZCB3aGVuIHdlIG5lZWQgdG8gaGlkZSBwb3B1cC4gQSB0aW1lb3V0IGlzIHNldCB0byBhbGxvdyBhbmltYXRpb24gZW5kLCB0aGVuIHJlbW92ZVxuICAgICAqIHBvcHVwIGZyb20gZG9tLlxuICAgICAqL1xuICAgIGNvbnN0IGNsb3NlUG9wdXAgPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgICBkZWJvdW5jZVRpbWVyLmN1cnJlbnQgPSBzZXRUaW1lb3V0KFxuICAgICAgICAoKSA9PiB7XG4gICAgICAgICAgc2V0UmV2ZXJzZUFuaW1hdGlvbih0cnVlKVxuICAgICAgICAgIHRpbWVyLmN1cnJlbnQgPSBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgIHVubW91bnRQb3B1cEZyb21Eb20oKVxuICAgICAgICAgICAgb25DbG9zZT8uKClcbiAgICAgICAgICB9LCBhbmltYXRpb25EdXJhdGlvbilcbiAgICAgICAgfSxcbiAgICAgICAgZGVib3VuY2VEZWxheSAmJiAhZGlzYWJsZUFuaW1hdGlvbiA/IGRlYm91bmNlRGVsYXkgOiAwLFxuICAgICAgKVxuICAgIH0sIFtcbiAgICAgIGFuaW1hdGlvbkR1cmF0aW9uLFxuICAgICAgZGlzYWJsZUFuaW1hdGlvbixcbiAgICAgIGRlYm91bmNlRGVsYXksXG4gICAgICBvbkNsb3NlLFxuICAgICAgdW5tb3VudFBvcHVwRnJvbURvbSxcbiAgICBdKVxuXG4gICAgLyoqXG4gICAgICogV2hlbiBtb3VzZSBob3ZlciBvciBzdG9wIGhvdmVyaW5nIGNoaWxkcmVuIHRoaXMgZnVuY3Rpb24gZGlzcGxheSBvciBoaWRlIHBvcHVwLiBBIHRpbWVvdXQgaXMgc2V0IHRvIGFsbG93IGFuaW1hdGlvblxuICAgICAqIGVuZCwgdGhlbiByZW1vdmUgcG9wdXAgZnJvbSBkb20uXG4gICAgICovXG4gICAgY29uc3Qgb25Qb2ludGVyRXZlbnQgPSB1c2VDYWxsYmFjayhcbiAgICAgIChpc1Zpc2libGU6IGJvb2xlYW4pID0+ICgpID0+IHtcbiAgICAgICAgLy8gSWYgdGhlcmUgaXMgYSBkZWJvdW5jZURlbGF5IGFuZCB0aGUgcG9wdXAgaXMgbm90IHZpc2libGUsIHdlIGNsZWFyIHRoZSBkZWJvdW5jZSB0aW1lclxuICAgICAgICBpZiAoIXZpc2libGUgJiYgZGVib3VuY2VEZWxheSA+IDAgJiYgZGVib3VuY2VUaW1lci5jdXJyZW50KSB7XG4gICAgICAgICAgY2xlYXJUaW1lb3V0KGRlYm91bmNlVGltZXIuY3VycmVudClcbiAgICAgICAgICBkZWJvdW5jZVRpbWVyLmN1cnJlbnQgPSB1bmRlZmluZWRcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIFRoaXMgY29uZGl0aW9uIGlzIGZvciB3aGVuIHdlIHdhbnQgdG8gdW5tb3VudCB0aGUgcG9wdXBcbiAgICAgICAgLy8gVGhlcmUgaXMgZGVib3VuY2UgaW4gb3JkZXIgdG8gYXZvaWQgcG9wdXAgdG8gZmxpY2tlciB3aGVuIHdlIG1vdmUgdGhlIG1vdXNlIGZyb20gY2hpbGRyZW4gdG8gcG9wdXBcbiAgICAgICAgLy8gVGltZXIgaXMgdXNlZCB0byBmb2xsb3cgdGhlIGFuaW1hdGlvbiBkdXJhdGlvblxuICAgICAgICBpZiAoIWlzVmlzaWJsZSAmJiBpbm5lclBvcHVwUmVmLmN1cnJlbnQgJiYgIWRlYm91bmNlVGltZXIuY3VycmVudCkge1xuICAgICAgICAgIGNsb3NlUG9wdXAoKVxuICAgICAgICB9IGVsc2UgaWYgKGlzVmlzaWJsZSkge1xuICAgICAgICAgIC8vIFRoaXMgY29uZGl0aW9uIGlzIGZvciB3aGVuIHdlIHdhbnQgdG8gbW91bnQgdGhlIHBvcHVwXG4gICAgICAgICAgLy8gSWYgdGhlIHRpbWVyIGV4aXN0cyBpdCBtZWFucyB0aGUgcG9wdXAgd2FzIGFib3V0IHRvIHVtb3VudCwgYnV0IHdlIGhvdmVyZWQgdGhlIGNoaWxkcmVuIGFnYWluLFxuICAgICAgICAgIC8vIHNvIHdlIGNsZWFyIHRoZSB0aW1lciBhbmQgdGhlIHBvcHVwIHdpbGwgbm90IGJlIHVubW91bnRlZFxuICAgICAgICAgIGlmICh0aW1lci5jdXJyZW50KSB7XG4gICAgICAgICAgICBzZXRSZXZlcnNlQW5pbWF0aW9uKGZhbHNlKVxuICAgICAgICAgICAgY2xlYXJUaW1lb3V0KHRpbWVyLmN1cnJlbnQpXG4gICAgICAgICAgICB0aW1lci5jdXJyZW50ID0gdW5kZWZpbmVkXG4gICAgICAgICAgfVxuICAgICAgICAgIC8vIEFuZCBoZXJlIGlzIHdoZW4gd2UgY3VycmVudGx5IGFyZSBpbiBhIGRlYm91bmNlIHRpbWVyLCBpdCBtZWFucyBwb3B1cCB3YXMgaG92ZXJlZCBkdXJpbmdcbiAgICAgICAgICAvLyB0aGF0IHBlcmlvZCwgYW5kIHNvIHdlIGNhbiBjbGVhciBkZWJvdW5jZSB0aW1lclxuICAgICAgICAgIGlmIChkZWJvdW5jZVRpbWVyLmN1cnJlbnQpIHtcbiAgICAgICAgICAgIGNsZWFyVGltZW91dChkZWJvdW5jZVRpbWVyLmN1cnJlbnQpXG4gICAgICAgICAgICBkZWJvdW5jZVRpbWVyLmN1cnJlbnQgPSB1bmRlZmluZWRcbiAgICAgICAgICB9XG4gICAgICAgICAgaWYgKGRlYm91bmNlRGVsYXkgPiAwKSB7XG4gICAgICAgICAgICBkZWJvdW5jZVRpbWVyLmN1cnJlbnQgPSBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgICAgc2V0VmlzaWJsZUluRG9tKHRydWUpXG4gICAgICAgICAgICB9LCBkZWJvdW5jZURlbGF5KVxuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBzdGFydFRyYW5zaXRpb24oKCkgPT4ge1xuICAgICAgICAgICAgICBzZXRWaXNpYmxlSW5Eb20odHJ1ZSlcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgW2Nsb3NlUG9wdXAsIGRlYm91bmNlRGVsYXksIHZpc2libGVdLFxuICAgIClcblxuICAgIC8qKlxuICAgICAqIE9uY2UgcG9wdXAgaXMgdmlzaWJsZSBpbiB0aGUgZG9tIHdlIGNhbiBjb21wdXRlIHBvc2l0aW9ucywgdGhlbiBzZXQgaXQgdmlzaWJsZSBvbiBzY3JlZW4gYW5kIGFkZCBldmVudCB0b1xuICAgICAqIHJlY29tcHV0ZSBwb3NpdGlvbnMgb24gc2Nyb2xsIG9yIHNjcmVlbiByZXNpemUuXG4gICAgICovXG4gICAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICAgIGlmICh2aXNpYmxlSW5Eb20pIHtcbiAgICAgICAgZ2VuZXJhdGVQb3B1cFBvc2l0aW9ucygpXG5cbiAgICAgICAgaWYgKHBvcHVwUG9ydGFsVGFyZ2V0ID09PSBkb2N1bWVudC5ib2R5KSB7XG4gICAgICAgICAgLy8gV2Ugd2FudCB0byBkZXRlY3Qgc2Nyb2xsIGFuZCByZXNpemUgaW4gb3JkZXIgdG8gcmVjb21wdXRlIHBvc2l0aW9ucyBvZiBwb3B1cFxuICAgICAgICAgIC8vIEFkZGluZyB0cnVlIGFzIHRoaXJkIHBhcmFtZXRlciB0byBldmVudCBsaXN0ZW5lciB3aWxsIGRldGVjdCBuZXN0ZWQgc2Nyb2xscy5cbiAgICAgICAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcignc2Nyb2xsJywgb25XaW5kb3dDaGFuZ2VEZXRlY3RlZCwgdHJ1ZSlcbiAgICAgICAgfVxuICAgICAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigncmVzaXplJywgb25XaW5kb3dDaGFuZ2VEZXRlY3RlZCwgdHJ1ZSlcbiAgICAgIH1cblxuICAgICAgcmV0dXJuICgpID0+IHtcbiAgICAgICAgd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ3Njcm9sbCcsIG9uV2luZG93Q2hhbmdlRGV0ZWN0ZWQsIHRydWUpXG4gICAgICAgIHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCdyZXNpemUnLCBvbldpbmRvd0NoYW5nZURldGVjdGVkLCB0cnVlKVxuICAgICAgICBpZiAodGltZXIuY3VycmVudCkge1xuICAgICAgICAgIGNsZWFyVGltZW91dCh0aW1lci5jdXJyZW50KVxuICAgICAgICAgIHRpbWVyLmN1cnJlbnQgPSB1bmRlZmluZWRcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0sIFtcbiAgICAgIGdlbmVyYXRlUG9wdXBQb3NpdGlvbnMsXG4gICAgICBvbldpbmRvd0NoYW5nZURldGVjdGVkLFxuICAgICAgdmlzaWJsZUluRG9tLFxuICAgICAgbWF4V2lkdGgsXG4gICAgICBwb3B1cFBvcnRhbFRhcmdldCxcbiAgICBdKVxuXG4gICAgLy8gVGhpcyB3aWxsIGJlIHRyaWdnZXJlZCB3aGVuIHBvc2l0aW9ucyBhcmUgY29tcHV0ZWQgYW5kIHBvcHVwIGlzIHZpc2libGUgaW4gdGhlIGRvbS5cbiAgICB1c2VFZmZlY3QoXG4gICAgICAoKSA9PiB7XG4gICAgICAgIGlmICh2aXNpYmxlSW5Eb20gJiYgaW5uZXJQb3B1cFJlZi5jdXJyZW50KSB7XG4gICAgICAgICAgaW5uZXJQb3B1cFJlZi5jdXJyZW50LnN0eWxlLm9wYWNpdHkgPSAnMSdcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSByZWFjdC1ob29rcy9leGhhdXN0aXZlLWRlcHNcbiAgICAgIFtwb3NpdGlvbnNdLFxuICAgIClcblxuICAgIC8qKlxuICAgICAqIElmIHBvcHVwIGhhcyBgdmlzaWJsZWAgcHJvcCBpdCBtZWFucyB0aGUgcG9wdXAgaXMgbWFudWFsbHkgY29udHJvbGxlZCB0aHJvdWdoIHRoaXMgcHJvcC5cbiAgICAgKiBJbiB0aGlzIGNhcyB3ZSBkb24ndCB3YW50IHRvIGRpc3BsYXkgcG9wdXAgb24gaG92ZXIsIGJ1dCBvbmx5IHdoZW4gYHZpc2libGVgIGlzIHRydWUuXG4gICAgICovXG4gICAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICAgIGlmIChpc0NvbnRyb2xsZWQpIHtcbiAgICAgICAgb25Qb2ludGVyRXZlbnQodmlzaWJsZSkoKVxuICAgICAgfVxuICAgIH0sIFtpc0NvbnRyb2xsZWQsIG9uUG9pbnRlckV2ZW50LCB2aXNpYmxlXSlcblxuICAgIC8vIEhhbmRsZSBoaWRlIG9uIGVzYyBwcmVzcyBhbmQgaGlkZSBvbiBjbGljayBvdXRzaWRlXG4gICAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICAgIGNvbnN0IGhhbmRsZUVzY1ByZXNzID0gKGV2ZW50OiBLZXlib2FyZEV2ZW50KSA9PiB7XG4gICAgICAgIGlmIChldmVudC5rZXkgPT09ICdFc2NhcGUnKSB7XG4gICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKVxuICAgICAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpXG4gICAgICAgICAgY2xvc2VQb3B1cCgpXG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgY29uc3QgaGFuZGxlQ2xpY2tPdXRzaWRlID0gKGV2ZW50OiBNb3VzZUV2ZW50KSA9PiB7XG4gICAgICAgIGNvbnN0IHBvcHVwQ3VycmVudCA9IGlubmVyUG9wdXBSZWYuY3VycmVudFxuICAgICAgICBjb25zdCBjaGlsZHJlbkN1cnJlbnQgPSBjaGlsZHJlblJlZi5jdXJyZW50XG5cbiAgICAgICAgaWYgKHBvcHVwQ3VycmVudCAmJiBoaWRlT25DbGlja091dHNpZGUgJiYgIWV2ZW50LmRlZmF1bHRQcmV2ZW50ZWQpIHtcbiAgICAgICAgICBpZiAoXG4gICAgICAgICAgICBldmVudC50YXJnZXQgJiZcbiAgICAgICAgICAgIGV2ZW50LnRhcmdldCAhPT0gcG9wdXBDdXJyZW50ICYmXG4gICAgICAgICAgICBldmVudC50YXJnZXQgIT09IGNoaWxkcmVuQ3VycmVudCAmJlxuICAgICAgICAgICAgIWNoaWxkcmVuQ3VycmVudD8uY29udGFpbnMoZXZlbnQudGFyZ2V0IGFzIE5vZGUpICYmXG4gICAgICAgICAgICAhcG9wdXBDdXJyZW50LmNvbnRhaW5zKGV2ZW50LnRhcmdldCBhcyBOb2RlKVxuICAgICAgICAgICkge1xuICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKVxuICAgICAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKClcbiAgICAgICAgICAgIGNsb3NlUG9wdXAoKVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgaWYgKHZpc2libGVJbkRvbSkge1xuICAgICAgICBkb2N1bWVudC5ib2R5LmFkZEV2ZW50TGlzdGVuZXIoJ2tleXVwJywgaGFuZGxlRXNjUHJlc3MpXG4gICAgICAgIGRvY3VtZW50LmJvZHkuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCBoYW5kbGVDbGlja091dHNpZGUpXG4gICAgICB9XG5cbiAgICAgIHJldHVybiAoKSA9PiB7XG4gICAgICAgIGRvY3VtZW50LmJvZHkucmVtb3ZlRXZlbnRMaXN0ZW5lcigna2V5dXAnLCBoYW5kbGVFc2NQcmVzcylcbiAgICAgICAgZG9jdW1lbnQuYm9keS5yZW1vdmVFdmVudExpc3RlbmVyKCdjbGljaycsIGhhbmRsZUNsaWNrT3V0c2lkZSlcbiAgICAgIH1cbiAgICB9LCBbXG4gICAgICBjbG9zZVBvcHVwLFxuICAgICAgdmlzaWJsZUluRG9tLFxuICAgICAgaW5uZXJQb3B1cFJlZixcbiAgICAgIGNoaWxkcmVuUmVmLFxuICAgICAgaGlkZU9uQ2xpY2tPdXRzaWRlLFxuICAgIF0pXG5cbiAgICAvKipcbiAgICAgKiBUaGlzIGV2ZW50IHdpbGwgb2NjdXIgb25seSBmb3IgZGlhbG9nIGFuZCB3aWxsIHRyYXAgZm9jdXMgaW5zaWRlIHRoZSBkaWFsb2cuXG4gICAgICovXG4gICAgY29uc3QgaGFuZGxlRm9jdXNUcmFwOiBLZXlib2FyZEV2ZW50SGFuZGxlciA9IHVzZUNhbGxiYWNrKGV2ZW50ID0+IHtcbiAgICAgIGNvbnN0IGlzVGFiUHJlc3NlZCA9IGV2ZW50LmtleSA9PT0gJ1RhYidcbiAgICAgIGlmICghaXNUYWJQcmVzc2VkKSB7XG4gICAgICAgIHJldHVyblxuICAgICAgfVxuICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKClcblxuICAgICAgY29uc3QgZm9jdXNhYmxlRWxzID1cbiAgICAgICAgaW5uZXJQb3B1cFJlZi5jdXJyZW50Py5xdWVyeVNlbGVjdG9yQWxsKFxuICAgICAgICAgICdhW2hyZWZdOm5vdChbZGlzYWJsZWRdKSwgYnV0dG9uOm5vdChbZGlzYWJsZWRdKSwgdGV4dGFyZWE6bm90KFtkaXNhYmxlZF0pLCBpbnB1dDpub3QoW2Rpc2FibGVkXSksIHNlbGVjdDpub3QoW2Rpc2FibGVkXSknLFxuICAgICAgICApID8/IFtdXG5cbiAgICAgIC8vIEhhbmRsZSBjYXNlIHdoZW4gbm8gaW50ZXJhY3RpdmUgZWxlbWVudCBhcmUgd2l0aGluIHRoZSBtb2RhbCAoaW5jbHVkaW5nIGNsb3NlIGljb24pXG4gICAgICBpZiAoZm9jdXNhYmxlRWxzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpXG4gICAgICB9XG5cbiAgICAgIGNvbnN0IGZpcnN0Rm9jdXNhYmxlRWwgPSBmb2N1c2FibGVFbHNbMF0gYXMgSFRNTEVsZW1lbnRcbiAgICAgIGNvbnN0IGxhc3RGb2N1c2FibGVFbCA9IGZvY3VzYWJsZUVsc1tcbiAgICAgICAgZm9jdXNhYmxlRWxzLmxlbmd0aCAtIDFcbiAgICAgIF0gYXMgSFRNTEVsZW1lbnRcblxuICAgICAgaWYgKGV2ZW50LnNoaWZ0S2V5KSB7XG4gICAgICAgIGlmIChcbiAgICAgICAgICBkb2N1bWVudC5hY3RpdmVFbGVtZW50ID09PSBmaXJzdEZvY3VzYWJsZUVsIHx8XG4gICAgICAgICAgZG9jdW1lbnQuYWN0aXZlRWxlbWVudCA9PT0gaW5uZXJQb3B1cFJlZi5jdXJyZW50XG4gICAgICAgICkge1xuICAgICAgICAgIGxhc3RGb2N1c2FibGVFbC5mb2N1cygpXG4gICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKVxuICAgICAgICB9XG4gICAgICB9IGVsc2UgaWYgKFxuICAgICAgICBkb2N1bWVudC5hY3RpdmVFbGVtZW50ID09PSBsYXN0Rm9jdXNhYmxlRWwgfHxcbiAgICAgICAgZG9jdW1lbnQuYWN0aXZlRWxlbWVudCA9PT0gaW5uZXJQb3B1cFJlZi5jdXJyZW50XG4gICAgICApIHtcbiAgICAgICAgZmlyc3RGb2N1c2FibGVFbC5mb2N1cygpXG4gICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KClcbiAgICAgIH1cbiAgICB9LCBbXSlcblxuICAgIC8qKlxuICAgICAqIFdpbGwgcmVuZGVyIGNoaWxkcmVuIGNvbmRpdGlvbmFsbHkgaWYgY2hpbGRyZW4gaXMgYSBmdW5jdGlvbiBvciBub3QuXG4gICAgICovXG4gICAgY29uc3QgcmVuZGVyQ2hpbGRyZW4gPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgICBpZiAodHlwZW9mIGNoaWxkcmVuID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgIHJldHVybiBjaGlsZHJlbih7XG4gICAgICAgICAgb25CbHVyOiAhaXNDb250cm9sbGVkID8gb25Qb2ludGVyRXZlbnQoZmFsc2UpIDogbm9vcCxcbiAgICAgICAgICBvbkZvY3VzOiAhaXNDb250cm9sbGVkID8gb25Qb2ludGVyRXZlbnQodHJ1ZSkgOiBub29wLFxuICAgICAgICAgIG9uUG9pbnRlckVudGVyOiAhaXNDb250cm9sbGVkID8gb25Qb2ludGVyRXZlbnQodHJ1ZSkgOiBub29wLFxuICAgICAgICAgIG9uUG9pbnRlckxlYXZlOiAhaXNDb250cm9sbGVkID8gb25Qb2ludGVyRXZlbnQoZmFsc2UpIDogbm9vcCxcbiAgICAgICAgICByZWY6IGNoaWxkcmVuUmVmLFxuICAgICAgICB9KVxuICAgICAgfVxuXG4gICAgICByZXR1cm4gKFxuICAgICAgICA8U3R5bGVkQ2hpbGRyZW5Db250YWluZXJcbiAgICAgICAgICBhcmlhLWRlc2NyaWJlZGJ5PXtnZW5lcmF0ZWRJZH1cbiAgICAgICAgICBhcmlhLWNvbnRyb2xzPXtnZW5lcmF0ZWRJZH1cbiAgICAgICAgICBvbkJsdXI9eyFpc0NvbnRyb2xsZWQgPyBvblBvaW50ZXJFdmVudChmYWxzZSkgOiBub29wfVxuICAgICAgICAgIG9uRm9jdXM9eyFpc0NvbnRyb2xsZWQgPyBvblBvaW50ZXJFdmVudCh0cnVlKSA6IG5vb3B9XG4gICAgICAgICAgb25Qb2ludGVyRW50ZXI9eyFpc0NvbnRyb2xsZWQgPyBvblBvaW50ZXJFdmVudCh0cnVlKSA6IG5vb3B9XG4gICAgICAgICAgb25Qb2ludGVyTGVhdmU9eyFpc0NvbnRyb2xsZWQgPyBvblBvaW50ZXJFdmVudChmYWxzZSkgOiBub29wfVxuICAgICAgICAgIHJlZj17Y2hpbGRyZW5SZWZ9XG4gICAgICAgICAgdGFiSW5kZXg9e3RhYkluZGV4fVxuICAgICAgICAgIG9uS2V5RG93bj17ZXZlbnQgPT4ge1xuICAgICAgICAgICAgb25LZXlEb3duPy4oZXZlbnQpXG4gICAgICAgICAgfX1cbiAgICAgICAgICBkYXRhLWNvbnRhaW5lci1mdWxsLXdpZHRoPXtjb250YWluZXJGdWxsV2lkdGh9XG4gICAgICAgICAgYXJpYS1oYXNwb3B1cD17YXJpYUhhc1BvcHVwfVxuICAgICAgICA+XG4gICAgICAgICAge2NoaWxkcmVufVxuICAgICAgICA8L1N0eWxlZENoaWxkcmVuQ29udGFpbmVyPlxuICAgICAgKVxuICAgIH0sIFtcbiAgICAgIGFyaWFIYXNQb3B1cCxcbiAgICAgIGNoaWxkcmVuLFxuICAgICAgY29udGFpbmVyRnVsbFdpZHRoLFxuICAgICAgZ2VuZXJhdGVkSWQsXG4gICAgICBpc0NvbnRyb2xsZWQsXG4gICAgICBvbktleURvd24sXG4gICAgICBvblBvaW50ZXJFdmVudCxcbiAgICAgIHRhYkluZGV4LFxuICAgIF0pXG5cbiAgICBjb25zdCBzaG91bGRSZW5kZXIgPSB1c2VNZW1vKCgpID0+IHtcbiAgICAgIGlmICghZHluYW1pY0RvbVJlbmRlcmluZykge1xuICAgICAgICByZXR1cm4gdHJ1ZVxuICAgICAgfVxuXG4gICAgICBpZiAoZHluYW1pY0RvbVJlbmRlcmluZyAmJiB2aXNpYmxlSW5Eb20pIHtcbiAgICAgICAgcmV0dXJuIHRydWVcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIGZhbHNlXG4gICAgfSwgW2R5bmFtaWNEb21SZW5kZXJpbmcsIHZpc2libGVJbkRvbV0pXG5cbiAgICBpZiAoIXRleHQpIHtcbiAgICAgIGlmICh0eXBlb2YgY2hpbGRyZW4gPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgcmV0dXJuIG51bGxcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIGNoaWxkcmVuXG4gICAgfVxuXG4gICAgcmV0dXJuIChcbiAgICAgIDw+XG4gICAgICAgIHtyZW5kZXJDaGlsZHJlbigpfVxuICAgICAgICB7c2hvdWxkUmVuZGVyXG4gICAgICAgICAgPyBjcmVhdGVQb3J0YWwoXG4gICAgICAgICAgICAgIDxTdHlsZWRQb3B1cFxuICAgICAgICAgICAgICAgIHJlZj17aW5uZXJQb3B1cFJlZn1cbiAgICAgICAgICAgICAgICBwb3NpdGlvbnM9e3Bvc2l0aW9uc31cbiAgICAgICAgICAgICAgICBtYXhXaWR0aD17bWF4V2lkdGh9XG4gICAgICAgICAgICAgICAgbWF4SGVpZ2h0PXttYXhIZWlnaHR9XG4gICAgICAgICAgICAgICAgcm9sZT17cm9sZX1cbiAgICAgICAgICAgICAgICBpZD17Z2VuZXJhdGVkSWR9XG4gICAgICAgICAgICAgICAgY2xhc3NOYW1lPXtjbGFzc05hbWV9XG4gICAgICAgICAgICAgICAgcmV2ZXJzZUFuaW1hdGlvbj17cmV2ZXJzZUFuaW1hdGlvbn1cbiAgICAgICAgICAgICAgICBkYXRhLXRlc3RpZD17ZGF0YVRlc3RJZH1cbiAgICAgICAgICAgICAgICBkYXRhLWhhcy1hcnJvdz17aGFzQXJyb3d9XG4gICAgICAgICAgICAgICAgb25DbGljaz17c3RvcENsaWNrUHJvcGFnYXRpb259XG4gICAgICAgICAgICAgICAgb25Qb2ludGVyRW50ZXI9eyFpc0NvbnRyb2xsZWQgPyBvblBvaW50ZXJFdmVudCh0cnVlKSA6IG5vb3B9XG4gICAgICAgICAgICAgICAgb25Qb2ludGVyTGVhdmU9eyFpc0NvbnRyb2xsZWQgPyBvblBvaW50ZXJFdmVudChmYWxzZSkgOiBub29wfVxuICAgICAgICAgICAgICAgIGFuaW1hdGlvbkR1cmF0aW9uPXthbmltYXRpb25EdXJhdGlvbn1cbiAgICAgICAgICAgICAgICBvbktleURvd249e3JvbGUgPT09ICdkaWFsb2cnID8gaGFuZGxlRm9jdXNUcmFwIDogdW5kZWZpbmVkfVxuICAgICAgICAgICAgICAgIGlzRGlhbG9nPXtyb2xlID09PSAnZGlhbG9nJ31cbiAgICAgICAgICAgICAgICBkYXRhLXZpc2libGUtaW4tZG9tPXtcbiAgICAgICAgICAgICAgICAgICFkeW5hbWljRG9tUmVuZGVyaW5nID8gdmlzaWJsZUluRG9tIDogdW5kZWZpbmVkXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGRhdGEtYW5pbWF0ZWQ9e2FuaW1hdGlvbkR1cmF0aW9uID4gMCAmJiAhbWF4SGVpZ2h0fVxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAge3RleHR9XG4gICAgICAgICAgICAgIDwvU3R5bGVkUG9wdXA+LFxuICAgICAgICAgICAgICBwb3B1cFBvcnRhbFRhcmdldCBhcyBIVE1MRWxlbWVudCxcbiAgICAgICAgICAgIClcbiAgICAgICAgICA6IG51bGx9XG4gICAgICA8Lz5cbiAgICApXG4gIH0sXG4pXG4iXX0= */"));
|
|
61
61
|
const StyledChildrenContainer = /* @__PURE__ */ _styled__default.default("div", process.env.NODE_ENV === "production" ? {
|
|
62
62
|
target: "e4h1g860"
|
|
63
63
|
} : {
|
|
@@ -68,7 +68,7 @@ const StyledChildrenContainer = /* @__PURE__ */ _styled__default.default("div",
|
|
|
68
68
|
styles: 'display:inherit;&[data-container-full-width="true"]{width:100%;}'
|
|
69
69
|
} : {
|
|
70
70
|
name: "1y7vhm4",
|
|
71
|
-
styles: 'display:inherit;&[data-container-full-width="true"]{width:100%;}/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL3VsdHJhdmlvbGV0L3VsdHJhdmlvbGV0L3BhY2thZ2VzL3VpL3NyYy9jb21wb25lbnRzL1BvcHVwL2luZGV4LnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFrSDBDIiwiZmlsZSI6Ii9ob21lL3J1bm5lci93b3JrL3VsdHJhdmlvbGV0L3VsdHJhdmlvbGV0L3BhY2thZ2VzL3VpL3NyYy9jb21wb25lbnRzL1BvcHVwL2luZGV4LnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNzcyB9IGZyb20gJ0BlbW90aW9uL3JlYWN0J1xuaW1wb3J0IHN0eWxlZCBmcm9tICdAZW1vdGlvbi9zdHlsZWQnXG5pbXBvcnQgdHlwZSB7XG4gIEhUTUxBdHRyaWJ1dGVzLFxuICBLZXlib2FyZEV2ZW50SGFuZGxlcixcbiAgTW91c2VFdmVudEhhbmRsZXIsXG4gIFJlYWN0Tm9kZSxcbiAgUmVmLFxuICBSZWZPYmplY3QsXG59IGZyb20gJ3JlYWN0J1xuaW1wb3J0IHtcbiAgZm9yd2FyZFJlZixcbiAgc3RhcnRUcmFuc2l0aW9uLFxuICB1c2VDYWxsYmFjayxcbiAgdXNlRWZmZWN0LFxuICB1c2VJZCxcbiAgdXNlSW1wZXJhdGl2ZUhhbmRsZSxcbiAgdXNlTWVtbyxcbiAgdXNlUmVmLFxuICB1c2VTdGF0ZSxcbn0gZnJvbSAncmVhY3QnXG5pbXBvcnQgeyBjcmVhdGVQb3J0YWwgfSBmcm9tICdyZWFjdC1kb20nXG5pbXBvcnQgeyBpc0NsaWVudFNpZGUgfSBmcm9tICcuLi8uLi9oZWxwZXJzL2lzQ2xpZW50U2lkZSdcbmltcG9ydCB0eXBlIHsgUG9zaXRpb25zVHlwZSB9IGZyb20gJy4vYW5pbWF0aW9ucydcbmltcG9ydCB7IGFuaW1hdGlvbiwgZXhpdEFuaW1hdGlvbiB9IGZyb20gJy4vYW5pbWF0aW9ucydcbmltcG9ydCB0eXBlIHsgUG9wdXBBbGlnbiwgUG9wdXBQbGFjZW1lbnQgfSBmcm9tICcuL2hlbHBlcnMnXG5pbXBvcnQge1xuICBERUZBVUxUX0FSUk9XX1dJRFRILFxuICBERUZBVUxUX1BPU0lUSU9OUyxcbiAgY29tcHV0ZVBvc2l0aW9ucyxcbn0gZnJvbSAnLi9oZWxwZXJzJ1xuXG5jb25zdCBERUZBVUxUX0FOSU1BVElPTl9EVVJBVElPTiA9IDIzMCAvLyBpbiBtc1xuY29uc3QgREVGQVVMVF9ERUJPVU5DRV9EVVJBVElPTiA9IDIwMCAvLyBpbiBtc1xuXG5mdW5jdGlvbiBub29wKCkge31cblxudHlwZSBTdHlsZWRQb3B1cFByb3BzID0ge1xuICBtYXhXaWR0aDogbnVtYmVyIHwgc3RyaW5nXG4gIHBvc2l0aW9uczogUG9zaXRpb25zVHlwZVxuICByZXZlcnNlQW5pbWF0aW9uOiBib29sZWFuXG4gIG1heEhlaWdodD86IG51bWJlciB8IHN0cmluZ1xuICBhbmltYXRpb25EdXJhdGlvbj86IG51bWJlclxuICBpc0RpYWxvZzogYm9vbGVhblxufVxuXG4vKipcbiAqIFRoaXMgZXZlbnQgaGFuZGxlIGFsbG93IHVzIHRvIG5vdCBidWJibGUgdGhlIGV2ZW50IHRvIGRvY3VtZW50LmJvZHkgbGlrZSB0aGlzIHJlYWN0LXNlbGVjdCB3b3JrcyBmaW5lXG4gKi9cbmNvbnN0IHN0b3BDbGlja1Byb3BhZ2F0aW9uOiBNb3VzZUV2ZW50SGFuZGxlciA9IGV2ZW50ID0+IHtcbiAgZXZlbnQubmF0aXZlRXZlbnQuc3RvcEltbWVkaWF0ZVByb3BhZ2F0aW9uKClcbn1cblxuY29uc3QgU3R5bGVkUG9wdXAgPSBzdHlsZWQoJ2RpdicsIHtcbiAgc2hvdWxkRm9yd2FyZFByb3A6IHByb3AgPT5cbiAgICAhW1xuICAgICAgJ21heFdpZHRoJyxcbiAgICAgICdwb3NpdGlvbnMnLFxuICAgICAgJ3JldmVyc2VBbmltYXRpb24nLFxuICAgICAgJ21heEhlaWdodCcsXG4gICAgICAnYW5pbWF0aW9uRHVyYXRpb24nLFxuICAgICAgJ2lzRGlhbG9nJyxcbiAgICBdLmluY2x1ZGVzKHByb3ApLFxufSk8U3R5bGVkUG9wdXBQcm9wcz5gXG4gIGJhY2tncm91bmQ6ICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuY29sb3JzLm5ldXRyYWwuYmFja2dyb3VuZFN0cm9uZ2VyfTtcbiAgY29sb3I6ICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuY29sb3JzLm5ldXRyYWwudGV4dFN0cm9uZ2VyfTtcbiAgYm9yZGVyLXJhZGl1czogJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5yYWRpaS5kZWZhdWx0fTtcbiAgcGFkZGluZzogJHsoeyB0aGVtZSB9KSA9PiBgJHt0aGVtZS5zcGFjZVsnMC41J119ICR7dGhlbWUuc3BhY2VbJzEnXX1gfTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIG1heC13aWR0aDogJHsoeyBtYXhXaWR0aCB9KSA9PlxuICAgIHR5cGVvZiBtYXhXaWR0aCA9PT0gJ251bWJlcicgPyBgJHttYXhXaWR0aH1weGAgOiBtYXhXaWR0aH07XG4gIG1heC1oZWlnaHQ6ICR7KHsgbWF4SGVpZ2h0IH0pID0+XG4gICAgdHlwZW9mIG1heEhlaWdodCA9PT0gJ251bWJlcicgPyBgJHttYXhIZWlnaHR9cHhgIDogbWF4SGVpZ2h0fTtcbiAgb3ZlcmZsb3c6ICR7KHsgbWF4SGVpZ2h0IH0pID0+IChtYXhIZWlnaHQgPyAnYXV0bycgOiB1bmRlZmluZWQpfTtcbiAgb3ZlcmZsb3ctd3JhcDogYnJlYWstd29yZDtcbiAgZm9udC1zaXplOiAwLjhyZW07XG4gIGluc2V0OiAwIGF1dG8gYXV0byAwO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIG9wYWNpdHk6IDA7XG4gIHotaW5kZXg6IDE7XG4gIHRyYW5zZm9ybTogJHsoeyBwb3NpdGlvbnMgfSkgPT4gcG9zaXRpb25zLnBvcHVwUG9zaXRpb259O1xuXG4gICZbZGF0YS1hbmltYXRlZD1cInRydWVcIl0ge1xuICAgIGFuaW1hdGlvbjogJHsoeyBwb3NpdGlvbnMsIHJldmVyc2VBbmltYXRpb24sIGFuaW1hdGlvbkR1cmF0aW9uIH0pID0+IGNzc2BcbiAgICAgICR7YW5pbWF0aW9uRHVyYXRpb259bXMgJHtcbiAgICAgICAgIXJldmVyc2VBbmltYXRpb24gPyBhbmltYXRpb24ocG9zaXRpb25zKSA6IGV4aXRBbmltYXRpb24ocG9zaXRpb25zKVxuICAgICAgfSBmb3J3YXJkc1xuICAgIGB9O1xuICB9XG5cbiAgJltkYXRhLWhhcy1hcnJvdz1cInRydWVcIl0ge1xuICAgICY6OmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6IFwiIFwiO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAkeyh7IHBvc2l0aW9ucyB9KSA9PiBwb3NpdGlvbnMuYXJyb3dUb3B9cHg7XG4gICAgICBsZWZ0OiAkeyh7IHBvc2l0aW9ucyB9KSA9PiBwb3NpdGlvbnMuYXJyb3dMZWZ0fXB4O1xuICAgICAgdHJhbnNmb3JtOiAkeyh7IHBvc2l0aW9ucyB9KSA9PiBwb3NpdGlvbnMuYXJyb3dUcmFuc2Zvcm19XG4gICAgICAgIHJvdGF0ZSgkeyh7IHBvc2l0aW9ucyB9KSA9PiBwb3NpdGlvbnMucm90YXRlfWRlZyk7XG4gICAgICBtYXJnaW4tbGVmdDogLSR7REVGQVVMVF9BUlJPV19XSURUSH1weDtcbiAgICAgIGJvcmRlci13aWR0aDogJHtERUZBVUxUX0FSUk9XX1dJRFRIfXB4O1xuICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgIGJvcmRlci1jb2xvcjogJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5jb2xvcnMubmV1dHJhbC5iYWNrZ3JvdW5kU3Ryb25nZXJ9XG4gICAgICAgIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgJltkYXRhLXZpc2libGUtaW4tZG9tPVwiZmFsc2VcIl0ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbmBcblxuY29uc3QgU3R5bGVkQ2hpbGRyZW5Db250YWluZXIgPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBpbmhlcml0O1xuXG4gICZbZGF0YS1jb250YWluZXItZnVsbC13aWR0aD1cInRydWVcIl0ge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG5gXG5cbnR5cGUgUG9wdXBQcm9wcyA9IHtcbiAgLyoqXG4gICAqIElkIGlzIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGVkIGlmIG5vdCBzZXQuIEl0IGlzIHVzZWQgZm9yIGFzc29jaWF0aW5nIHBvcHVwIHdyYXBwZXIgd2l0aCBwb3B1cCBwb3J0YWwuXG4gICAqL1xuICBpZD86IHN0cmluZ1xuICBjaGlsZHJlbjpcbiAgICB8IFJlYWN0Tm9kZVxuICAgIHwgKChyZW5kZXJQcm9wczoge1xuICAgICAgICBjbGFzc05hbWU/OiBzdHJpbmdcbiAgICAgICAgb25CbHVyOiAoKSA9PiB2b2lkXG4gICAgICAgIG9uRm9jdXM6ICgpID0+IHZvaWRcbiAgICAgICAgb25Qb2ludGVyRW50ZXI6ICgpID0+IHZvaWRcbiAgICAgICAgb25Qb2ludGVyTGVhdmU6ICgpID0+IHZvaWRcbiAgICAgICAgcmVmOiBSZWZPYmplY3Q8SFRNTERpdkVsZW1lbnQgfCBudWxsPlxuICAgICAgfSkgPT4gUmVhY3ROb2RlKVxuICBtYXhXaWR0aD86IG51bWJlciB8IHN0cmluZ1xuICAvKipcbiAgICogYGF1dG9gIHBsYWNlbWVudCB3aWxsIGNoYW5nZSB0aGUgcG9zaXRpb24gb2YgdGhlIHBvcHVwIGlmIGl0IGRvZXNuJ3QgZml0IGluIHRoZSB2aWV3cG9ydC5cbiAgICovXG4gIHBsYWNlbWVudD86IFBvcHVwUGxhY2VtZW50XG4gIC8qKlxuICAgKiBBbGlnbiB0aGUgcG9wdXAgdG8gdGhlIHN0YXJ0IG9yIGNlbnRlciBvZiB0aGUgY2hpbGRyZW4uXG4gICAqL1xuICBhbGlnbj86IFBvcHVwQWxpZ25cbiAgLyoqXG4gICAqIENvbnRlbnQgb2YgdGhlIHBvcHVwLCBwcmVmZXJhYmx5IHRleHQgaW5zaWRlLlxuICAgKi9cbiAgdGV4dD86IFJlYWN0Tm9kZVxuICBjbGFzc05hbWU/OiBzdHJpbmdcbiAgLyoqXG4gICAqIEl0IHdpbGwgYWRkIGB3aWR0aDogMTAwJWAgdG8gdGhlIHBvcHVwIGNvbnRhaW5lci5cbiAgICovXG4gIGNvbnRhaW5lckZ1bGxXaWR0aD86IGJvb2xlYW5cbiAgLyoqXG4gICAqIEl0IHdpbGwgZm9yY2UgZGlzcGxheSBwb3B1cC4gVGhpcyBjYW4gYmUgdXNlZnVsIGlmIHlvdSBuZWVkIHRvIGFsd2F5cyBkaXNwbGF5IHRoZSBwb3B1cCB3aXRob3V0IGhvdmVyIG5lZWRlZC5cbiAgICovXG4gIHZpc2libGU/OiBib29sZWFuXG4gIGlubmVyUmVmPzogUmVmPEhUTUxEaXZFbGVtZW50IHwgbnVsbD5cbiAgcm9sZT86IHN0cmluZ1xuICAnZGF0YS10ZXN0aWQnPzogc3RyaW5nXG4gIGhhc0Fycm93PzogYm9vbGVhblxuICBvbkNsb3NlPzogKCkgPT4gdm9pZFxuICB0YWJJbmRleD86IG51bWJlclxuICBvbktleURvd24/OiBLZXlib2FyZEV2ZW50SGFuZGxlclxuICAnYXJpYS1oYXNwb3B1cCc/OiBIVE1MQXR0cmlidXRlczxIVE1MRGl2RWxlbWVudD5bJ2FyaWEtaGFzcG9wdXAnXVxuICBoaWRlT25DbGlja091dHNpZGU/OiBib29sZWFuXG4gIC8qKlxuICAgKiBJZiB5b3Ugc2V0IGRlYm91bmNlVGltZSB0byBmYWxzZSwgdGhlIHBvcHVwIHdpbGwgbm90IGRlYm91bmNlIHRoZSBob3ZlciBldmVudCBhbmQgd2lsbCBiZSBkaXNwbGF5ZWQgaW5zdGFudGx5LlxuICAgKiBJZiBzZXQgdG8gMCBpdCB3aWxsIGRpc2FibGUgZGVib3VuY2UuXG4gICAqL1xuICBkZWJvdW5jZURlbGF5PzogbnVtYmVyXG4gIC8qKlxuICAgKiBJZiB5b3Ugc2V0IGEgbWF4IGhlaWdodCBrZWVwIGluIG1pbmQgdGhhdCB0aGUgYW5pbWF0aW9uIGlzIGRpc2FibGVkLCBvciBpdCB3aWxsIG5vdCB3b3JrIHByb3Blcmx5IG9uIHNvbWUgYnJvd3NlcnMuXG4gICAqL1xuICBtYXhIZWlnaHQ/OiBzdHJpbmcgfCBudW1iZXJcbiAgLyoqXG4gICAqIFdpbGwgcmVtb3ZlIHRoZSBhbmltYXRpb24gb24gdGhlIHBvcHVwIGlmIHNldCB0byBmYWxzZS5cbiAgICovXG4gIGRpc2FibGVBbmltYXRpb24/OiBib29sZWFuXG4gIC8qKlxuICAgKiBCeSBkZWZhdWx0LCB0aGUgcG9ydGFsIHRhcmdldCBpcyBjaGlsZHJlbiBjb250YWluZXIgb3IgZG9jdW1lbnQuYm9keSBpZiBjaGlsZHJlbiBpcyBhIGZ1bmN0aW9uLiBZb3UgY2FuIG92ZXJyaWRlIHRoaXNcbiAgICogYmVoYXZpb3IgYnkgc2V0dGluZyBhIHBvcnRhbFRhcmdldCBwcm9wLlxuICAgKi9cbiAgcG9ydGFsVGFyZ2V0PzogSFRNTEVsZW1lbnRcbiAgLyoqXG4gICAqIElmIHlvdSBzZXQgdGhpcyB0byB0cnVlLCB0aGUgcG9wdXAgd2lsbCBiZSByZW5kZXJlZCBpbiB0aGUgRE9NIG9ubHkgd2hlbiBpdCBpcyB2aXNpYmxlLlxuICAgKiBXaGVuIHNldCB0byBmYWxzZSwgdGhlIHBvcHVwIHdpbGwgYWx3YXlzIGJlIHJlbmRlcmVkIGluIHRoZSBET00uIEJ5IGRlZmF1bHQgdGhpcyB2YWx1ZSBpcyBzZXQgdG8gYHRydWVgLCBpZiBmb3Igc29tZVxuICAgKiByZWFzb24geW91IG5lZWQgdG8gZGlzYWJsZSBpdCwgeW91IGNhbiBzZXQgaXQgdG8gYGZhbHNlYC5cbiAgICovXG4gIGR5bmFtaWNEb21SZW5kZXJpbmc/OiBib29sZWFuXG59XG5cbi8qKlxuICogQGV4cGVyaW1lbnRhbCBUaGlzIGNvbXBvbmVudCBpcyBleHBlcmltZW50YWwgYW5kIG1heSBiZSBzdWJqZWN0IHRvIGJyZWFraW5nIGNoYW5nZXMgaW4gdGhlIGZ1dHVyZS5cbiAqL1xuZXhwb3J0IGNvbnN0IFBvcHVwID0gZm9yd2FyZFJlZihcbiAgKFxuICAgIHtcbiAgICAgIGNoaWxkcmVuLFxuICAgICAgdGV4dCA9ICcnLFxuICAgICAgcGxhY2VtZW50ID0gJ2F1dG8nLFxuICAgICAgYWxpZ24gPSAnY2VudGVyJyxcbiAgICAgIGlkLFxuICAgICAgY2xhc3NOYW1lLFxuICAgICAgY29udGFpbmVyRnVsbFdpZHRoLFxuICAgICAgbWF4V2lkdGggPSAnMTQuNXJlbScsXG4gICAgICBtYXhIZWlnaHQsXG4gICAgICB2aXNpYmxlLFxuICAgICAgaW5uZXJSZWYsXG4gICAgICByb2xlID0gJ3BvcHVwJyxcbiAgICAgICdkYXRhLXRlc3RpZCc6IGRhdGFUZXN0SWQsXG4gICAgICBoYXNBcnJvdyA9IHRydWUsXG4gICAgICBvbkNsb3NlLFxuICAgICAgdGFiSW5kZXggPSAwLFxuICAgICAgb25LZXlEb3duLFxuICAgICAgJ2FyaWEtaGFzcG9wdXAnOiBhcmlhSGFzUG9wdXAsXG4gICAgICBoaWRlT25DbGlja091dHNpZGUgPSBmYWxzZSxcbiAgICAgIGRlYm91bmNlRGVsYXkgPSBERUZBVUxUX0RFQk9VTkNFX0RVUkFUSU9OLFxuICAgICAgZGlzYWJsZUFuaW1hdGlvbiA9IGZhbHNlLFxuICAgICAgcG9ydGFsVGFyZ2V0LFxuICAgICAgZHluYW1pY0RvbVJlbmRlcmluZyA9IHRydWUsXG4gICAgfTogUG9wdXBQcm9wcyxcbiAgICByZWY6IFJlZjxIVE1MRGl2RWxlbWVudD4sXG4gICkgPT4ge1xuICAgIGNvbnN0IGNoaWxkcmVuUmVmID0gdXNlUmVmPEhUTUxEaXZFbGVtZW50PihudWxsKVxuICAgIHVzZUltcGVyYXRpdmVIYW5kbGUoaW5uZXJSZWYsICgpID0+IGNoaWxkcmVuUmVmLmN1cnJlbnQgYXMgSFRNTERpdkVsZW1lbnQpXG5cbiAgICBjb25zdCBpbm5lclBvcHVwUmVmID0gdXNlUmVmPEhUTUxEaXZFbGVtZW50PihudWxsKVxuICAgIHVzZUltcGVyYXRpdmVIYW5kbGUocmVmLCAoKSA9PiBpbm5lclBvcHVwUmVmLmN1cnJlbnQgYXMgSFRNTERpdkVsZW1lbnQpXG5cbiAgICBjb25zdCB0aW1lciA9IHVzZVJlZjxSZXR1cm5UeXBlPHR5cGVvZiBzZXRUaW1lb3V0Pj4odW5kZWZpbmVkKVxuICAgIGNvbnN0IHBvcHVwUG9ydGFsVGFyZ2V0ID0gdXNlTWVtbygoKSA9PiB7XG4gICAgICBpZiAocG9ydGFsVGFyZ2V0KSByZXR1cm4gcG9ydGFsVGFyZ2V0XG5cbiAgICAgIGlmIChyb2xlID09PSAnZGlhbG9nJykge1xuICAgICAgICBpZiAoY2hpbGRyZW5SZWYuY3VycmVudCkgcmV0dXJuIGNoaWxkcmVuUmVmLmN1cnJlbnRcbiAgICAgICAgaWYgKGlzQ2xpZW50U2lkZSkgcmV0dXJuIGRvY3VtZW50LmJvZHlcblxuICAgICAgICByZXR1cm4gbnVsbFxuICAgICAgfVxuXG4gICAgICAvLyBXZSBjaGVjayBpZiB3aW5kb3cgZXhpc3RzIGZvciBTU1JcbiAgICAgIGlmICh0eXBlb2Ygd2luZG93ICE9PSAndW5kZWZpbmVkJykge1xuICAgICAgICByZXR1cm4gZG9jdW1lbnQuYm9keVxuICAgICAgfVxuXG4gICAgICByZXR1cm4gbnVsbFxuICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHJlYWN0LWhvb2tzL2V4aGF1c3RpdmUtZGVwc1xuICAgIH0sIFtwb3J0YWxUYXJnZXQsIHJvbGUsIGNoaWxkcmVuUmVmLmN1cnJlbnRdKVxuXG4gICAgLy8gVGhlcmUgYXJlIHNvbWUgaXNzdWUgd2hlbiBtaXhpbmcgYW5pbWF0aW9uIGFuZCBtYXhIZWlnaHQgb24gc29tZSBicm93c2Vycywgc28gd2UgZGlzYWJsZSBhbmltYXRpb24gaWYgbWF4SGVpZ2h0IGlzIHNldC5cbiAgICBjb25zdCBhbmltYXRpb25EdXJhdGlvbiA9XG4gICAgICBkaXNhYmxlQW5pbWF0aW9uIHx8IG1heEhlaWdodCA/IDAgOiBERUZBVUxUX0FOSU1BVElPTl9EVVJBVElPTlxuXG4gICAgLy8gRGVib3VuY2UgdGltZXIgd2lsbCBiZSB1c2VkIHRvIHByZXZlbnQgdGhlIHBvcHVwIGZyb20gZmxpY2tlcmluZyB3aGVuIHRoZSB1c2VyIG1vdmVzIHRoZSBtb3VzZSBvdXQgYW5kIGluIHRoZSBjaGlsZHJlbiBlbGVtZW50LlxuICAgIGNvbnN0IGRlYm91bmNlVGltZXIgPSB1c2VSZWY8UmV0dXJuVHlwZTx0eXBlb2Ygc2V0VGltZW91dD4+KHVuZGVmaW5lZClcbiAgICBjb25zdCBbdmlzaWJsZUluRG9tLCBzZXRWaXNpYmxlSW5Eb21dID0gdXNlU3RhdGUoZmFsc2UpXG4gICAgY29uc3QgW3JldmVyc2VBbmltYXRpb24sIHNldFJldmVyc2VBbmltYXRpb25dID0gdXNlU3RhdGUoZmFsc2UpXG4gICAgY29uc3QgW3Bvc2l0aW9ucywgc2V0UG9zaXRpb25zXSA9IHVzZVN0YXRlPFBvc2l0aW9uc1R5cGU+KHtcbiAgICAgIC4uLkRFRkFVTFRfUE9TSVRJT05TLFxuICAgIH0pXG4gICAgY29uc3QgdW5pcXVlSWQgPSB1c2VJZCgpXG4gICAgY29uc3QgZ2VuZXJhdGVkSWQgPSBpZCA/PyB1bmlxdWVJZFxuICAgIGNvbnN0IGlzQ29udHJvbGxlZCA9IHZpc2libGUgIT09IHVuZGVmaW5lZFxuXG4gICAgY29uc3QgZ2VuZXJhdGVQb3B1cFBvc2l0aW9ucyA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICAgIGlmIChjaGlsZHJlblJlZi5jdXJyZW50ICYmIGlubmVyUG9wdXBSZWYuY3VycmVudCkge1xuICAgICAgICBzZXRQb3NpdGlvbnMoXG4gICAgICAgICAgY29tcHV0ZVBvc2l0aW9ucyh7XG4gICAgICAgICAgICBjaGlsZHJlblJlZixcbiAgICAgICAgICAgIHBsYWNlbWVudCxcbiAgICAgICAgICAgIHBvcHVwUmVmOiBpbm5lclBvcHVwUmVmLFxuICAgICAgICAgICAgcG9wdXBQb3J0YWxUYXJnZXQ6IHBvcHVwUG9ydGFsVGFyZ2V0IGFzIEhUTUxFbGVtZW50LFxuICAgICAgICAgICAgaGFzQXJyb3csXG4gICAgICAgICAgICBhbGlnbixcbiAgICAgICAgICB9KSxcbiAgICAgICAgKVxuICAgICAgfVxuICAgIH0sIFtoYXNBcnJvdywgcGxhY2VtZW50LCBwb3B1cFBvcnRhbFRhcmdldCwgYWxpZ25dKVxuXG4gICAgLyoqXG4gICAgICogVGhpcyBmdW5jdGlvbiBpcyBjYWxsZWQgd2hlbiB3ZSBuZWVkIHRvIHJlY29tcHV0ZSBwb3NpdGlvbnMgb2YgcG9wdXAgZHVlIHRvIHdpbmRvdyBzY3JvbGwgb3IgcmVzaXplLlxuICAgICAqL1xuICAgIGNvbnN0IG9uV2luZG93Q2hhbmdlRGV0ZWN0ZWQgPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgICAvLyBXZSByZW1vdmUgYW5pbWF0aW9uIG9uIHNjcm9sbCBvciB0aGUgYW5pbWF0aW9uIHdpbGwgcmVzdGFydCBvbiBldmVyeSBzY3JvbGxcbiAgICAgIGlmIChpbm5lclBvcHVwUmVmLmN1cnJlbnQpIHtcbiAgICAgICAgaW5uZXJQb3B1cFJlZi5jdXJyZW50LnN0eWxlLmFuaW1hdGlvbiA9ICdub25lJ1xuICAgICAgfVxuXG4gICAgICBnZW5lcmF0ZVBvcHVwUG9zaXRpb25zKClcbiAgICB9LCBbZ2VuZXJhdGVQb3B1cFBvc2l0aW9ucywgaW5uZXJQb3B1cFJlZl0pXG5cbiAgICAvKipcbiAgICAgKiBUaGlzIGZ1bmN0aW9uIGlzIGNhbGxlZCB3aGVuIHdlIG5lZWQgdG8gcmVtb3ZlIHBvcHVwIHBvcnRhbCBmcm9tIERPTSBhbmQgcmVtb3ZlIGV2ZW50IGxpc3RlbmVyIHRvIGl0LlxuICAgICAqL1xuICAgIGNvbnN0IHVubW91bnRQb3B1cEZyb21Eb20gPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgICBzZXRWaXNpYmxlSW5Eb20oZmFsc2UpXG4gICAgICBzZXRSZXZlcnNlQW5pbWF0aW9uKGZhbHNlKVxuXG4gICAgICB3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcignc2Nyb2xsJywgb25XaW5kb3dDaGFuZ2VEZXRlY3RlZCwgdHJ1ZSlcbiAgICB9LCBbb25XaW5kb3dDaGFuZ2VEZXRlY3RlZF0pXG5cbiAgICAvKipcbiAgICAgKiBUaGlzIGZ1bmN0aW9uIGlzIGNhbGxlZCB3aGVuIHdlIG5lZWQgdG8gaGlkZSBwb3B1cC4gQSB0aW1lb3V0IGlzIHNldCB0byBhbGxvdyBhbmltYXRpb24gZW5kLCB0aGVuIHJlbW92ZVxuICAgICAqIHBvcHVwIGZyb20gZG9tLlxuICAgICAqL1xuICAgIGNvbnN0IGNsb3NlUG9wdXAgPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgICBkZWJvdW5jZVRpbWVyLmN1cnJlbnQgPSBzZXRUaW1lb3V0KFxuICAgICAgICAoKSA9PiB7XG4gICAgICAgICAgc2V0UmV2ZXJzZUFuaW1hdGlvbih0cnVlKVxuICAgICAgICAgIHRpbWVyLmN1cnJlbnQgPSBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgIHVubW91bnRQb3B1cEZyb21Eb20oKVxuICAgICAgICAgICAgb25DbG9zZT8uKClcbiAgICAgICAgICB9LCBhbmltYXRpb25EdXJhdGlvbilcbiAgICAgICAgfSxcbiAgICAgICAgZGVib3VuY2VEZWxheSAmJiAhZGlzYWJsZUFuaW1hdGlvbiA/IGRlYm91bmNlRGVsYXkgOiAwLFxuICAgICAgKVxuICAgIH0sIFtcbiAgICAgIGFuaW1hdGlvbkR1cmF0aW9uLFxuICAgICAgZGlzYWJsZUFuaW1hdGlvbixcbiAgICAgIGRlYm91bmNlRGVsYXksXG4gICAgICBvbkNsb3NlLFxuICAgICAgdW5tb3VudFBvcHVwRnJvbURvbSxcbiAgICBdKVxuXG4gICAgLyoqXG4gICAgICogV2hlbiBtb3VzZSBob3ZlciBvciBzdG9wIGhvdmVyaW5nIGNoaWxkcmVuIHRoaXMgZnVuY3Rpb24gZGlzcGxheSBvciBoaWRlIHBvcHVwLiBBIHRpbWVvdXQgaXMgc2V0IHRvIGFsbG93IGFuaW1hdGlvblxuICAgICAqIGVuZCwgdGhlbiByZW1vdmUgcG9wdXAgZnJvbSBkb20uXG4gICAgICovXG4gICAgY29uc3Qgb25Qb2ludGVyRXZlbnQgPSB1c2VDYWxsYmFjayhcbiAgICAgIChpc1Zpc2libGU6IGJvb2xlYW4pID0+ICgpID0+IHtcbiAgICAgICAgLy8gSWYgdGhlcmUgaXMgYSBkZWJvdW5jZURlbGF5IGFuZCB0aGUgcG9wdXAgaXMgbm90IHZpc2libGUsIHdlIGNsZWFyIHRoZSBkZWJvdW5jZSB0aW1lclxuICAgICAgICBpZiAoIXZpc2libGUgJiYgZGVib3VuY2VEZWxheSA+IDAgJiYgZGVib3VuY2VUaW1lci5jdXJyZW50KSB7XG4gICAgICAgICAgY2xlYXJUaW1lb3V0KGRlYm91bmNlVGltZXIuY3VycmVudClcbiAgICAgICAgICBkZWJvdW5jZVRpbWVyLmN1cnJlbnQgPSB1bmRlZmluZWRcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIFRoaXMgY29uZGl0aW9uIGlzIGZvciB3aGVuIHdlIHdhbnQgdG8gdW5tb3VudCB0aGUgcG9wdXBcbiAgICAgICAgLy8gVGhlcmUgaXMgZGVib3VuY2UgaW4gb3JkZXIgdG8gYXZvaWQgcG9wdXAgdG8gZmxpY2tlciB3aGVuIHdlIG1vdmUgdGhlIG1vdXNlIGZyb20gY2hpbGRyZW4gdG8gcG9wdXBcbiAgICAgICAgLy8gVGltZXIgaXMgdXNlZCB0byBmb2xsb3cgdGhlIGFuaW1hdGlvbiBkdXJhdGlvblxuICAgICAgICBpZiAoIWlzVmlzaWJsZSAmJiBpbm5lclBvcHVwUmVmLmN1cnJlbnQgJiYgIWRlYm91bmNlVGltZXIuY3VycmVudCkge1xuICAgICAgICAgIGNsb3NlUG9wdXAoKVxuICAgICAgICB9IGVsc2UgaWYgKGlzVmlzaWJsZSkge1xuICAgICAgICAgIC8vIFRoaXMgY29uZGl0aW9uIGlzIGZvciB3aGVuIHdlIHdhbnQgdG8gbW91bnQgdGhlIHBvcHVwXG4gICAgICAgICAgLy8gSWYgdGhlIHRpbWVyIGV4aXN0cyBpdCBtZWFucyB0aGUgcG9wdXAgd2FzIGFib3V0IHRvIHVtb3VudCwgYnV0IHdlIGhvdmVyZWQgdGhlIGNoaWxkcmVuIGFnYWluLFxuICAgICAgICAgIC8vIHNvIHdlIGNsZWFyIHRoZSB0aW1lciBhbmQgdGhlIHBvcHVwIHdpbGwgbm90IGJlIHVubW91bnRlZFxuICAgICAgICAgIGlmICh0aW1lci5jdXJyZW50KSB7XG4gICAgICAgICAgICBzZXRSZXZlcnNlQW5pbWF0aW9uKGZhbHNlKVxuICAgICAgICAgICAgY2xlYXJUaW1lb3V0KHRpbWVyLmN1cnJlbnQpXG4gICAgICAgICAgICB0aW1lci5jdXJyZW50ID0gdW5kZWZpbmVkXG4gICAgICAgICAgfVxuICAgICAgICAgIC8vIEFuZCBoZXJlIGlzIHdoZW4gd2UgY3VycmVudGx5IGFyZSBpbiBhIGRlYm91bmNlIHRpbWVyLCBpdCBtZWFucyBwb3B1cCB3YXMgaG92ZXJlZCBkdXJpbmdcbiAgICAgICAgICAvLyB0aGF0IHBlcmlvZCwgYW5kIHNvIHdlIGNhbiBjbGVhciBkZWJvdW5jZSB0aW1lclxuICAgICAgICAgIGlmIChkZWJvdW5jZVRpbWVyLmN1cnJlbnQpIHtcbiAgICAgICAgICAgIGNsZWFyVGltZW91dChkZWJvdW5jZVRpbWVyLmN1cnJlbnQpXG4gICAgICAgICAgICBkZWJvdW5jZVRpbWVyLmN1cnJlbnQgPSB1bmRlZmluZWRcbiAgICAgICAgICB9XG4gICAgICAgICAgaWYgKGRlYm91bmNlRGVsYXkgPiAwKSB7XG4gICAgICAgICAgICBkZWJvdW5jZVRpbWVyLmN1cnJlbnQgPSBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgICAgc2V0VmlzaWJsZUluRG9tKHRydWUpXG4gICAgICAgICAgICB9LCBkZWJvdW5jZURlbGF5KVxuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBzdGFydFRyYW5zaXRpb24oKCkgPT4ge1xuICAgICAgICAgICAgICBzZXRWaXNpYmxlSW5Eb20odHJ1ZSlcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgW2Nsb3NlUG9wdXAsIGRlYm91bmNlRGVsYXksIHZpc2libGVdLFxuICAgIClcblxuICAgIC8qKlxuICAgICAqIE9uY2UgcG9wdXAgaXMgdmlzaWJsZSBpbiB0aGUgZG9tIHdlIGNhbiBjb21wdXRlIHBvc2l0aW9ucywgdGhlbiBzZXQgaXQgdmlzaWJsZSBvbiBzY3JlZW4gYW5kIGFkZCBldmVudCB0b1xuICAgICAqIHJlY29tcHV0ZSBwb3NpdGlvbnMgb24gc2Nyb2xsIG9yIHNjcmVlbiByZXNpemUuXG4gICAgICovXG4gICAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICAgIGlmICh2aXNpYmxlSW5Eb20pIHtcbiAgICAgICAgZ2VuZXJhdGVQb3B1cFBvc2l0aW9ucygpXG5cbiAgICAgICAgaWYgKHBvcHVwUG9ydGFsVGFyZ2V0ID09PSBkb2N1bWVudC5ib2R5KSB7XG4gICAgICAgICAgLy8gV2Ugd2FudCB0byBkZXRlY3Qgc2Nyb2xsIGFuZCByZXNpemUgaW4gb3JkZXIgdG8gcmVjb21wdXRlIHBvc2l0aW9ucyBvZiBwb3B1cFxuICAgICAgICAgIC8vIEFkZGluZyB0cnVlIGFzIHRoaXJkIHBhcmFtZXRlciB0byBldmVudCBsaXN0ZW5lciB3aWxsIGRldGVjdCBuZXN0ZWQgc2Nyb2xscy5cbiAgICAgICAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcignc2Nyb2xsJywgb25XaW5kb3dDaGFuZ2VEZXRlY3RlZCwgdHJ1ZSlcbiAgICAgICAgfVxuICAgICAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigncmVzaXplJywgb25XaW5kb3dDaGFuZ2VEZXRlY3RlZCwgdHJ1ZSlcbiAgICAgIH1cblxuICAgICAgcmV0dXJuICgpID0+IHtcbiAgICAgICAgd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ3Njcm9sbCcsIG9uV2luZG93Q2hhbmdlRGV0ZWN0ZWQsIHRydWUpXG4gICAgICAgIHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCdyZXNpemUnLCBvbldpbmRvd0NoYW5nZURldGVjdGVkLCB0cnVlKVxuICAgICAgICBpZiAodGltZXIuY3VycmVudCkge1xuICAgICAgICAgIGNsZWFyVGltZW91dCh0aW1lci5jdXJyZW50KVxuICAgICAgICAgIHRpbWVyLmN1cnJlbnQgPSB1bmRlZmluZWRcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0sIFtcbiAgICAgIGdlbmVyYXRlUG9wdXBQb3NpdGlvbnMsXG4gICAgICBvbldpbmRvd0NoYW5nZURldGVjdGVkLFxuICAgICAgdmlzaWJsZUluRG9tLFxuICAgICAgbWF4V2lkdGgsXG4gICAgICBwb3B1cFBvcnRhbFRhcmdldCxcbiAgICBdKVxuXG4gICAgLy8gVGhpcyB3aWxsIGJlIHRyaWdnZXJlZCB3aGVuIHBvc2l0aW9ucyBhcmUgY29tcHV0ZWQgYW5kIHBvcHVwIGlzIHZpc2libGUgaW4gdGhlIGRvbS5cbiAgICB1c2VFZmZlY3QoXG4gICAgICAoKSA9PiB7XG4gICAgICAgIGlmICh2aXNpYmxlSW5Eb20gJiYgaW5uZXJQb3B1cFJlZi5jdXJyZW50KSB7XG4gICAgICAgICAgaW5uZXJQb3B1cFJlZi5jdXJyZW50LnN0eWxlLm9wYWNpdHkgPSAnMSdcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSByZWFjdC1ob29rcy9leGhhdXN0aXZlLWRlcHNcbiAgICAgIFtwb3NpdGlvbnNdLFxuICAgIClcblxuICAgIC8qKlxuICAgICAqIElmIHBvcHVwIGhhcyBgdmlzaWJsZWAgcHJvcCBpdCBtZWFucyB0aGUgcG9wdXAgaXMgbWFudWFsbHkgY29udHJvbGxlZCB0aHJvdWdoIHRoaXMgcHJvcC5cbiAgICAgKiBJbiB0aGlzIGNhcyB3ZSBkb24ndCB3YW50IHRvIGRpc3BsYXkgcG9wdXAgb24gaG92ZXIsIGJ1dCBvbmx5IHdoZW4gYHZpc2libGVgIGlzIHRydWUuXG4gICAgICovXG4gICAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICAgIGlmIChpc0NvbnRyb2xsZWQpIHtcbiAgICAgICAgb25Qb2ludGVyRXZlbnQodmlzaWJsZSkoKVxuICAgICAgfVxuICAgIH0sIFtpc0NvbnRyb2xsZWQsIG9uUG9pbnRlckV2ZW50LCB2aXNpYmxlXSlcblxuICAgIC8vIEhhbmRsZSBoaWRlIG9uIGVzYyBwcmVzcyBhbmQgaGlkZSBvbiBjbGljayBvdXRzaWRlXG4gICAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICAgIGNvbnN0IGhhbmRsZUVzY1ByZXNzID0gKGV2ZW50OiBLZXlib2FyZEV2ZW50KSA9PiB7XG4gICAgICAgIGlmIChldmVudC5rZXkgPT09ICdFc2NhcGUnKSB7XG4gICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKVxuICAgICAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpXG4gICAgICAgICAgY2xvc2VQb3B1cCgpXG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgY29uc3QgaGFuZGxlQ2xpY2tPdXRzaWRlID0gKGV2ZW50OiBNb3VzZUV2ZW50KSA9PiB7XG4gICAgICAgIGNvbnN0IHBvcHVwQ3VycmVudCA9IGlubmVyUG9wdXBSZWYuY3VycmVudFxuICAgICAgICBjb25zdCBjaGlsZHJlbkN1cnJlbnQgPSBjaGlsZHJlblJlZi5jdXJyZW50XG5cbiAgICAgICAgaWYgKHBvcHVwQ3VycmVudCAmJiBoaWRlT25DbGlja091dHNpZGUgJiYgIWV2ZW50LmRlZmF1bHRQcmV2ZW50ZWQpIHtcbiAgICAgICAgICBpZiAoXG4gICAgICAgICAgICBldmVudC50YXJnZXQgJiZcbiAgICAgICAgICAgIGV2ZW50LnRhcmdldCAhPT0gcG9wdXBDdXJyZW50ICYmXG4gICAgICAgICAgICBldmVudC50YXJnZXQgIT09IGNoaWxkcmVuQ3VycmVudCAmJlxuICAgICAgICAgICAgIWNoaWxkcmVuQ3VycmVudD8uY29udGFpbnMoZXZlbnQudGFyZ2V0IGFzIE5vZGUpICYmXG4gICAgICAgICAgICAhcG9wdXBDdXJyZW50LmNvbnRhaW5zKGV2ZW50LnRhcmdldCBhcyBOb2RlKVxuICAgICAgICAgICkge1xuICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKVxuICAgICAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKClcbiAgICAgICAgICAgIGNsb3NlUG9wdXAoKVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgaWYgKHZpc2libGVJbkRvbSkge1xuICAgICAgICBkb2N1bWVudC5ib2R5LmFkZEV2ZW50TGlzdGVuZXIoJ2tleXVwJywgaGFuZGxlRXNjUHJlc3MpXG4gICAgICAgIGRvY3VtZW50LmJvZHkuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCBoYW5kbGVDbGlja091dHNpZGUpXG4gICAgICB9XG5cbiAgICAgIHJldHVybiAoKSA9PiB7XG4gICAgICAgIGRvY3VtZW50LmJvZHkucmVtb3ZlRXZlbnRMaXN0ZW5lcigna2V5dXAnLCBoYW5kbGVFc2NQcmVzcylcbiAgICAgICAgZG9jdW1lbnQuYm9keS5yZW1vdmVFdmVudExpc3RlbmVyKCdjbGljaycsIGhhbmRsZUNsaWNrT3V0c2lkZSlcbiAgICAgIH1cbiAgICB9LCBbXG4gICAgICBjbG9zZVBvcHVwLFxuICAgICAgdmlzaWJsZUluRG9tLFxuICAgICAgaW5uZXJQb3B1cFJlZixcbiAgICAgIGNoaWxkcmVuUmVmLFxuICAgICAgaGlkZU9uQ2xpY2tPdXRzaWRlLFxuICAgIF0pXG5cbiAgICAvKipcbiAgICAgKiBUaGlzIGV2ZW50IHdpbGwgb2NjdXIgb25seSBmb3IgZGlhbG9nIGFuZCB3aWxsIHRyYXAgZm9jdXMgaW5zaWRlIHRoZSBkaWFsb2cuXG4gICAgICovXG4gICAgY29uc3QgaGFuZGxlRm9jdXNUcmFwOiBLZXlib2FyZEV2ZW50SGFuZGxlciA9IHVzZUNhbGxiYWNrKGV2ZW50ID0+IHtcbiAgICAgIGNvbnN0IGlzVGFiUHJlc3NlZCA9IGV2ZW50LmtleSA9PT0gJ1RhYidcbiAgICAgIGlmICghaXNUYWJQcmVzc2VkKSB7XG4gICAgICAgIHJldHVyblxuICAgICAgfVxuICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKClcblxuICAgICAgY29uc3QgZm9jdXNhYmxlRWxzID1cbiAgICAgICAgaW5uZXJQb3B1cFJlZi5jdXJyZW50Py5xdWVyeVNlbGVjdG9yQWxsKFxuICAgICAgICAgICdhW2hyZWZdOm5vdChbZGlzYWJsZWRdKSwgYnV0dG9uOm5vdChbZGlzYWJsZWRdKSwgdGV4dGFyZWE6bm90KFtkaXNhYmxlZF0pLCBpbnB1dDpub3QoW2Rpc2FibGVkXSksIHNlbGVjdDpub3QoW2Rpc2FibGVkXSknLFxuICAgICAgICApID8/IFtdXG5cbiAgICAgIC8vIEhhbmRsZSBjYXNlIHdoZW4gbm8gaW50ZXJhY3RpdmUgZWxlbWVudCBhcmUgd2l0aGluIHRoZSBtb2RhbCAoaW5jbHVkaW5nIGNsb3NlIGljb24pXG4gICAgICBpZiAoZm9jdXNhYmxlRWxzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpXG4gICAgICB9XG5cbiAgICAgIGNvbnN0IGZpcnN0Rm9jdXNhYmxlRWwgPSBmb2N1c2FibGVFbHNbMF0gYXMgSFRNTEVsZW1lbnRcbiAgICAgIGNvbnN0IGxhc3RGb2N1c2FibGVFbCA9IGZvY3VzYWJsZUVsc1tcbiAgICAgICAgZm9jdXNhYmxlRWxzLmxlbmd0aCAtIDFcbiAgICAgIF0gYXMgSFRNTEVsZW1lbnRcblxuICAgICAgaWYgKGV2ZW50LnNoaWZ0S2V5KSB7XG4gICAgICAgIGlmIChcbiAgICAgICAgICBkb2N1bWVudC5hY3RpdmVFbGVtZW50ID09PSBmaXJzdEZvY3VzYWJsZUVsIHx8XG4gICAgICAgICAgZG9jdW1lbnQuYWN0aXZlRWxlbWVudCA9PT0gaW5uZXJQb3B1cFJlZi5jdXJyZW50XG4gICAgICAgICkge1xuICAgICAgICAgIGxhc3RGb2N1c2FibGVFbC5mb2N1cygpXG4gICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKVxuICAgICAgICB9XG4gICAgICB9IGVsc2UgaWYgKFxuICAgICAgICBkb2N1bWVudC5hY3RpdmVFbGVtZW50ID09PSBsYXN0Rm9jdXNhYmxlRWwgfHxcbiAgICAgICAgZG9jdW1lbnQuYWN0aXZlRWxlbWVudCA9PT0gaW5uZXJQb3B1cFJlZi5jdXJyZW50XG4gICAgICApIHtcbiAgICAgICAgZmlyc3RGb2N1c2FibGVFbC5mb2N1cygpXG4gICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KClcbiAgICAgIH1cbiAgICB9LCBbXSlcblxuICAgIC8qKlxuICAgICAqIFdpbGwgcmVuZGVyIGNoaWxkcmVuIGNvbmRpdGlvbmFsbHkgaWYgY2hpbGRyZW4gaXMgYSBmdW5jdGlvbiBvciBub3QuXG4gICAgICovXG4gICAgY29uc3QgcmVuZGVyQ2hpbGRyZW4gPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgICBpZiAodHlwZW9mIGNoaWxkcmVuID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgIHJldHVybiBjaGlsZHJlbih7XG4gICAgICAgICAgb25CbHVyOiAhaXNDb250cm9sbGVkID8gb25Qb2ludGVyRXZlbnQoZmFsc2UpIDogbm9vcCxcbiAgICAgICAgICBvbkZvY3VzOiAhaXNDb250cm9sbGVkID8gb25Qb2ludGVyRXZlbnQodHJ1ZSkgOiBub29wLFxuICAgICAgICAgIG9uUG9pbnRlckVudGVyOiAhaXNDb250cm9sbGVkID8gb25Qb2ludGVyRXZlbnQodHJ1ZSkgOiBub29wLFxuICAgICAgICAgIG9uUG9pbnRlckxlYXZlOiAhaXNDb250cm9sbGVkID8gb25Qb2ludGVyRXZlbnQoZmFsc2UpIDogbm9vcCxcbiAgICAgICAgICByZWY6IGNoaWxkcmVuUmVmLFxuICAgICAgICB9KVxuICAgICAgfVxuXG4gICAgICByZXR1cm4gKFxuICAgICAgICA8U3R5bGVkQ2hpbGRyZW5Db250YWluZXJcbiAgICAgICAgICBhcmlhLWRlc2NyaWJlZGJ5PXtnZW5lcmF0ZWRJZH1cbiAgICAgICAgICBhcmlhLWNvbnRyb2xzPXtnZW5lcmF0ZWRJZH1cbiAgICAgICAgICBvbkJsdXI9eyFpc0NvbnRyb2xsZWQgPyBvblBvaW50ZXJFdmVudChmYWxzZSkgOiBub29wfVxuICAgICAgICAgIG9uRm9jdXM9eyFpc0NvbnRyb2xsZWQgPyBvblBvaW50ZXJFdmVudCh0cnVlKSA6IG5vb3B9XG4gICAgICAgICAgb25Qb2ludGVyRW50ZXI9eyFpc0NvbnRyb2xsZWQgPyBvblBvaW50ZXJFdmVudCh0cnVlKSA6IG5vb3B9XG4gICAgICAgICAgb25Qb2ludGVyTGVhdmU9eyFpc0NvbnRyb2xsZWQgPyBvblBvaW50ZXJFdmVudChmYWxzZSkgOiBub29wfVxuICAgICAgICAgIHJlZj17Y2hpbGRyZW5SZWZ9XG4gICAgICAgICAgdGFiSW5kZXg9e3RhYkluZGV4fVxuICAgICAgICAgIG9uS2V5RG93bj17ZXZlbnQgPT4ge1xuICAgICAgICAgICAgb25LZXlEb3duPy4oZXZlbnQpXG4gICAgICAgICAgfX1cbiAgICAgICAgICBkYXRhLWNvbnRhaW5lci1mdWxsLXdpZHRoPXtjb250YWluZXJGdWxsV2lkdGh9XG4gICAgICAgICAgYXJpYS1oYXNwb3B1cD17YXJpYUhhc1BvcHVwfVxuICAgICAgICA+XG4gICAgICAgICAge2NoaWxkcmVufVxuICAgICAgICA8L1N0eWxlZENoaWxkcmVuQ29udGFpbmVyPlxuICAgICAgKVxuICAgIH0sIFtcbiAgICAgIGFyaWFIYXNQb3B1cCxcbiAgICAgIGNoaWxkcmVuLFxuICAgICAgY29udGFpbmVyRnVsbFdpZHRoLFxuICAgICAgZ2VuZXJhdGVkSWQsXG4gICAgICBpc0NvbnRyb2xsZWQsXG4gICAgICBvbktleURvd24sXG4gICAgICBvblBvaW50ZXJFdmVudCxcbiAgICAgIHRhYkluZGV4LFxuICAgIF0pXG5cbiAgICBjb25zdCBzaG91bGRSZW5kZXIgPSB1c2VNZW1vKCgpID0+IHtcbiAgICAgIGlmICghZHluYW1pY0RvbVJlbmRlcmluZykge1xuICAgICAgICByZXR1cm4gdHJ1ZVxuICAgICAgfVxuXG4gICAgICBpZiAoZHluYW1pY0RvbVJlbmRlcmluZyAmJiB2aXNpYmxlSW5Eb20pIHtcbiAgICAgICAgcmV0dXJuIHRydWVcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIGZhbHNlXG4gICAgfSwgW2R5bmFtaWNEb21SZW5kZXJpbmcsIHZpc2libGVJbkRvbV0pXG5cbiAgICBpZiAoIXRleHQpIHtcbiAgICAgIGlmICh0eXBlb2YgY2hpbGRyZW4gPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgcmV0dXJuIG51bGxcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIGNoaWxkcmVuXG4gICAgfVxuXG4gICAgcmV0dXJuIChcbiAgICAgIDw+XG4gICAgICAgIHtyZW5kZXJDaGlsZHJlbigpfVxuICAgICAgICB7c2hvdWxkUmVuZGVyXG4gICAgICAgICAgPyBjcmVhdGVQb3J0YWwoXG4gICAgICAgICAgICAgIDxTdHlsZWRQb3B1cFxuICAgICAgICAgICAgICAgIHJlZj17aW5uZXJQb3B1cFJlZn1cbiAgICAgICAgICAgICAgICBwb3NpdGlvbnM9e3Bvc2l0aW9uc31cbiAgICAgICAgICAgICAgICBtYXhXaWR0aD17bWF4V2lkdGh9XG4gICAgICAgICAgICAgICAgbWF4SGVpZ2h0PXttYXhIZWlnaHR9XG4gICAgICAgICAgICAgICAgcm9sZT17cm9sZX1cbiAgICAgICAgICAgICAgICBpZD17Z2VuZXJhdGVkSWR9XG4gICAgICAgICAgICAgICAgY2xhc3NOYW1lPXtjbGFzc05hbWV9XG4gICAgICAgICAgICAgICAgcmV2ZXJzZUFuaW1hdGlvbj17cmV2ZXJzZUFuaW1hdGlvbn1cbiAgICAgICAgICAgICAgICBkYXRhLXRlc3RpZD17ZGF0YVRlc3RJZH1cbiAgICAgICAgICAgICAgICBkYXRhLWhhcy1hcnJvdz17aGFzQXJyb3d9XG4gICAgICAgICAgICAgICAgb25DbGljaz17c3RvcENsaWNrUHJvcGFnYXRpb259XG4gICAgICAgICAgICAgICAgb25Qb2ludGVyRW50ZXI9eyFpc0NvbnRyb2xsZWQgPyBvblBvaW50ZXJFdmVudCh0cnVlKSA6IG5vb3B9XG4gICAgICAgICAgICAgICAgb25Qb2ludGVyTGVhdmU9eyFpc0NvbnRyb2xsZWQgPyBvblBvaW50ZXJFdmVudChmYWxzZSkgOiBub29wfVxuICAgICAgICAgICAgICAgIGFuaW1hdGlvbkR1cmF0aW9uPXthbmltYXRpb25EdXJhdGlvbn1cbiAgICAgICAgICAgICAgICBvbktleURvd249e3JvbGUgPT09ICdkaWFsb2cnID8gaGFuZGxlRm9jdXNUcmFwIDogdW5kZWZpbmVkfVxuICAgICAgICAgICAgICAgIGlzRGlhbG9nPXtyb2xlID09PSAnZGlhbG9nJ31cbiAgICAgICAgICAgICAgICBkYXRhLXZpc2libGUtaW4tZG9tPXtcbiAgICAgICAgICAgICAgICAgICFkeW5hbWljRG9tUmVuZGVyaW5nID8gdmlzaWJsZUluRG9tIDogdW5kZWZpbmVkXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGRhdGEtYW5pbWF0ZWQ9e2FuaW1hdGlvbkR1cmF0aW9uID4gMCAmJiAhbWF4SGVpZ2h0fVxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAge3RleHR9XG4gICAgICAgICAgICAgIDwvU3R5bGVkUG9wdXA+LFxuICAgICAgICAgICAgICBwb3B1cFBvcnRhbFRhcmdldCBhcyBIVE1MRWxlbWVudCxcbiAgICAgICAgICAgIClcbiAgICAgICAgICA6IG51bGx9XG4gICAgICA8Lz5cbiAgICApXG4gIH0sXG4pXG4iXX0= */',
|
|
71
|
+
styles: 'display:inherit;&[data-container-full-width="true"]{width:100%;}/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL3VsdHJhdmlvbGV0L3VsdHJhdmlvbGV0L3BhY2thZ2VzL3VpL3NyYy9jb21wb25lbnRzL1BvcHVwL2luZGV4LnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFrSDBDIiwiZmlsZSI6Ii9ob21lL3J1bm5lci93b3JrL3VsdHJhdmlvbGV0L3VsdHJhdmlvbGV0L3BhY2thZ2VzL3VpL3NyYy9jb21wb25lbnRzL1BvcHVwL2luZGV4LnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNzcyB9IGZyb20gJ0BlbW90aW9uL3JlYWN0J1xuaW1wb3J0IHN0eWxlZCBmcm9tICdAZW1vdGlvbi9zdHlsZWQnXG5pbXBvcnQgdHlwZSB7XG4gIEhUTUxBdHRyaWJ1dGVzLFxuICBLZXlib2FyZEV2ZW50SGFuZGxlcixcbiAgTW91c2VFdmVudEhhbmRsZXIsXG4gIFJlYWN0Tm9kZSxcbiAgUmVmLFxuICBSZWZPYmplY3QsXG59IGZyb20gJ3JlYWN0J1xuaW1wb3J0IHtcbiAgZm9yd2FyZFJlZixcbiAgc3RhcnRUcmFuc2l0aW9uLFxuICB1c2VDYWxsYmFjayxcbiAgdXNlRWZmZWN0LFxuICB1c2VJZCxcbiAgdXNlSW1wZXJhdGl2ZUhhbmRsZSxcbiAgdXNlTWVtbyxcbiAgdXNlUmVmLFxuICB1c2VTdGF0ZSxcbn0gZnJvbSAncmVhY3QnXG5pbXBvcnQgeyBjcmVhdGVQb3J0YWwgfSBmcm9tICdyZWFjdC1kb20nXG5pbXBvcnQgeyBpc0NsaWVudFNpZGUgfSBmcm9tICcuLi8uLi9oZWxwZXJzL2lzQ2xpZW50U2lkZSdcbmltcG9ydCB0eXBlIHsgUG9zaXRpb25zVHlwZSB9IGZyb20gJy4vYW5pbWF0aW9ucydcbmltcG9ydCB7IGFuaW1hdGlvbiwgZXhpdEFuaW1hdGlvbiB9IGZyb20gJy4vYW5pbWF0aW9ucydcbmltcG9ydCB0eXBlIHsgUG9wdXBBbGlnbiwgUG9wdXBQbGFjZW1lbnQgfSBmcm9tICcuL2hlbHBlcnMnXG5pbXBvcnQge1xuICBERUZBVUxUX0FSUk9XX1dJRFRILFxuICBERUZBVUxUX1BPU0lUSU9OUyxcbiAgY29tcHV0ZVBvc2l0aW9ucyxcbn0gZnJvbSAnLi9oZWxwZXJzJ1xuXG5jb25zdCBERUZBVUxUX0FOSU1BVElPTl9EVVJBVElPTiA9IDIzMCAvLyBpbiBtc1xuY29uc3QgREVGQVVMVF9ERUJPVU5DRV9EVVJBVElPTiA9IDIwMCAvLyBpbiBtc1xuXG5jb25zdCBub29wID0gKCkgPT4ge31cblxudHlwZSBTdHlsZWRQb3B1cFByb3BzID0ge1xuICBtYXhXaWR0aDogbnVtYmVyIHwgc3RyaW5nXG4gIHBvc2l0aW9uczogUG9zaXRpb25zVHlwZVxuICByZXZlcnNlQW5pbWF0aW9uOiBib29sZWFuXG4gIG1heEhlaWdodD86IG51bWJlciB8IHN0cmluZ1xuICBhbmltYXRpb25EdXJhdGlvbj86IG51bWJlclxuICBpc0RpYWxvZzogYm9vbGVhblxufVxuXG4vKipcbiAqIFRoaXMgZXZlbnQgaGFuZGxlIGFsbG93IHVzIHRvIG5vdCBidWJibGUgdGhlIGV2ZW50IHRvIGRvY3VtZW50LmJvZHkgbGlrZSB0aGlzIHJlYWN0LXNlbGVjdCB3b3JrcyBmaW5lXG4gKi9cbmNvbnN0IHN0b3BDbGlja1Byb3BhZ2F0aW9uOiBNb3VzZUV2ZW50SGFuZGxlciA9IGV2ZW50ID0+IHtcbiAgZXZlbnQubmF0aXZlRXZlbnQuc3RvcEltbWVkaWF0ZVByb3BhZ2F0aW9uKClcbn1cblxuY29uc3QgU3R5bGVkUG9wdXAgPSBzdHlsZWQoJ2RpdicsIHtcbiAgc2hvdWxkRm9yd2FyZFByb3A6IHByb3AgPT5cbiAgICAhW1xuICAgICAgJ21heFdpZHRoJyxcbiAgICAgICdwb3NpdGlvbnMnLFxuICAgICAgJ3JldmVyc2VBbmltYXRpb24nLFxuICAgICAgJ21heEhlaWdodCcsXG4gICAgICAnYW5pbWF0aW9uRHVyYXRpb24nLFxuICAgICAgJ2lzRGlhbG9nJyxcbiAgICBdLmluY2x1ZGVzKHByb3ApLFxufSk8U3R5bGVkUG9wdXBQcm9wcz5gXG4gIGJhY2tncm91bmQ6ICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuY29sb3JzLm5ldXRyYWwuYmFja2dyb3VuZFN0cm9uZ2VyfTtcbiAgY29sb3I6ICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuY29sb3JzLm5ldXRyYWwudGV4dFN0cm9uZ2VyfTtcbiAgYm9yZGVyLXJhZGl1czogJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5yYWRpaS5kZWZhdWx0fTtcbiAgcGFkZGluZzogJHsoeyB0aGVtZSB9KSA9PiBgJHt0aGVtZS5zcGFjZVsnMC41J119ICR7dGhlbWUuc3BhY2VbJzEnXX1gfTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIG1heC13aWR0aDogJHsoeyBtYXhXaWR0aCB9KSA9PlxuICAgIHR5cGVvZiBtYXhXaWR0aCA9PT0gJ251bWJlcicgPyBgJHttYXhXaWR0aH1weGAgOiBtYXhXaWR0aH07XG4gIG1heC1oZWlnaHQ6ICR7KHsgbWF4SGVpZ2h0IH0pID0+XG4gICAgdHlwZW9mIG1heEhlaWdodCA9PT0gJ251bWJlcicgPyBgJHttYXhIZWlnaHR9cHhgIDogbWF4SGVpZ2h0fTtcbiAgb3ZlcmZsb3c6ICR7KHsgbWF4SGVpZ2h0IH0pID0+IChtYXhIZWlnaHQgPyAnYXV0bycgOiB1bmRlZmluZWQpfTtcbiAgb3ZlcmZsb3ctd3JhcDogYnJlYWstd29yZDtcbiAgZm9udC1zaXplOiAwLjhyZW07XG4gIGluc2V0OiAwIGF1dG8gYXV0byAwO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIG9wYWNpdHk6IDA7XG4gIHotaW5kZXg6IDE7XG4gIHRyYW5zZm9ybTogJHsoeyBwb3NpdGlvbnMgfSkgPT4gcG9zaXRpb25zLnBvcHVwUG9zaXRpb259O1xuXG4gICZbZGF0YS1hbmltYXRlZD1cInRydWVcIl0ge1xuICAgIGFuaW1hdGlvbjogJHsoeyBwb3NpdGlvbnMsIHJldmVyc2VBbmltYXRpb24sIGFuaW1hdGlvbkR1cmF0aW9uIH0pID0+IGNzc2BcbiAgICAgICR7YW5pbWF0aW9uRHVyYXRpb259bXMgJHtcbiAgICAgICAgIXJldmVyc2VBbmltYXRpb24gPyBhbmltYXRpb24ocG9zaXRpb25zKSA6IGV4aXRBbmltYXRpb24ocG9zaXRpb25zKVxuICAgICAgfSBmb3J3YXJkc1xuICAgIGB9O1xuICB9XG5cbiAgJltkYXRhLWhhcy1hcnJvdz1cInRydWVcIl0ge1xuICAgICY6OmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6IFwiIFwiO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAkeyh7IHBvc2l0aW9ucyB9KSA9PiBwb3NpdGlvbnMuYXJyb3dUb3B9cHg7XG4gICAgICBsZWZ0OiAkeyh7IHBvc2l0aW9ucyB9KSA9PiBwb3NpdGlvbnMuYXJyb3dMZWZ0fXB4O1xuICAgICAgdHJhbnNmb3JtOiAkeyh7IHBvc2l0aW9ucyB9KSA9PiBwb3NpdGlvbnMuYXJyb3dUcmFuc2Zvcm19XG4gICAgICAgIHJvdGF0ZSgkeyh7IHBvc2l0aW9ucyB9KSA9PiBwb3NpdGlvbnMucm90YXRlfWRlZyk7XG4gICAgICBtYXJnaW4tbGVmdDogLSR7REVGQVVMVF9BUlJPV19XSURUSH1weDtcbiAgICAgIGJvcmRlci13aWR0aDogJHtERUZBVUxUX0FSUk9XX1dJRFRIfXB4O1xuICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgIGJvcmRlci1jb2xvcjogJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5jb2xvcnMubmV1dHJhbC5iYWNrZ3JvdW5kU3Ryb25nZXJ9XG4gICAgICAgIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgJltkYXRhLXZpc2libGUtaW4tZG9tPVwiZmFsc2VcIl0ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbmBcblxuY29uc3QgU3R5bGVkQ2hpbGRyZW5Db250YWluZXIgPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBpbmhlcml0O1xuXG4gICZbZGF0YS1jb250YWluZXItZnVsbC13aWR0aD1cInRydWVcIl0ge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG5gXG5cbnR5cGUgUG9wdXBQcm9wcyA9IHtcbiAgLyoqXG4gICAqIElkIGlzIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGVkIGlmIG5vdCBzZXQuIEl0IGlzIHVzZWQgZm9yIGFzc29jaWF0aW5nIHBvcHVwIHdyYXBwZXIgd2l0aCBwb3B1cCBwb3J0YWwuXG4gICAqL1xuICBpZD86IHN0cmluZ1xuICBjaGlsZHJlbjpcbiAgICB8IFJlYWN0Tm9kZVxuICAgIHwgKChyZW5kZXJQcm9wczoge1xuICAgICAgICBjbGFzc05hbWU/OiBzdHJpbmdcbiAgICAgICAgb25CbHVyOiAoKSA9PiB2b2lkXG4gICAgICAgIG9uRm9jdXM6ICgpID0+IHZvaWRcbiAgICAgICAgb25Qb2ludGVyRW50ZXI6ICgpID0+IHZvaWRcbiAgICAgICAgb25Qb2ludGVyTGVhdmU6ICgpID0+IHZvaWRcbiAgICAgICAgcmVmOiBSZWZPYmplY3Q8SFRNTERpdkVsZW1lbnQgfCBudWxsPlxuICAgICAgfSkgPT4gUmVhY3ROb2RlKVxuICBtYXhXaWR0aD86IG51bWJlciB8IHN0cmluZ1xuICAvKipcbiAgICogYGF1dG9gIHBsYWNlbWVudCB3aWxsIGNoYW5nZSB0aGUgcG9zaXRpb24gb2YgdGhlIHBvcHVwIGlmIGl0IGRvZXNuJ3QgZml0IGluIHRoZSB2aWV3cG9ydC5cbiAgICovXG4gIHBsYWNlbWVudD86IFBvcHVwUGxhY2VtZW50XG4gIC8qKlxuICAgKiBBbGlnbiB0aGUgcG9wdXAgdG8gdGhlIHN0YXJ0IG9yIGNlbnRlciBvZiB0aGUgY2hpbGRyZW4uXG4gICAqL1xuICBhbGlnbj86IFBvcHVwQWxpZ25cbiAgLyoqXG4gICAqIENvbnRlbnQgb2YgdGhlIHBvcHVwLCBwcmVmZXJhYmx5IHRleHQgaW5zaWRlLlxuICAgKi9cbiAgdGV4dD86IFJlYWN0Tm9kZVxuICBjbGFzc05hbWU/OiBzdHJpbmdcbiAgLyoqXG4gICAqIEl0IHdpbGwgYWRkIGB3aWR0aDogMTAwJWAgdG8gdGhlIHBvcHVwIGNvbnRhaW5lci5cbiAgICovXG4gIGNvbnRhaW5lckZ1bGxXaWR0aD86IGJvb2xlYW5cbiAgLyoqXG4gICAqIEl0IHdpbGwgZm9yY2UgZGlzcGxheSBwb3B1cC4gVGhpcyBjYW4gYmUgdXNlZnVsIGlmIHlvdSBuZWVkIHRvIGFsd2F5cyBkaXNwbGF5IHRoZSBwb3B1cCB3aXRob3V0IGhvdmVyIG5lZWRlZC5cbiAgICovXG4gIHZpc2libGU/OiBib29sZWFuXG4gIGlubmVyUmVmPzogUmVmPEhUTUxEaXZFbGVtZW50IHwgbnVsbD5cbiAgcm9sZT86IHN0cmluZ1xuICAnZGF0YS10ZXN0aWQnPzogc3RyaW5nXG4gIGhhc0Fycm93PzogYm9vbGVhblxuICBvbkNsb3NlPzogKCkgPT4gdm9pZFxuICB0YWJJbmRleD86IG51bWJlclxuICBvbktleURvd24/OiBLZXlib2FyZEV2ZW50SGFuZGxlclxuICAnYXJpYS1oYXNwb3B1cCc/OiBIVE1MQXR0cmlidXRlczxIVE1MRGl2RWxlbWVudD5bJ2FyaWEtaGFzcG9wdXAnXVxuICBoaWRlT25DbGlja091dHNpZGU/OiBib29sZWFuXG4gIC8qKlxuICAgKiBJZiB5b3Ugc2V0IGRlYm91bmNlVGltZSB0byBmYWxzZSwgdGhlIHBvcHVwIHdpbGwgbm90IGRlYm91bmNlIHRoZSBob3ZlciBldmVudCBhbmQgd2lsbCBiZSBkaXNwbGF5ZWQgaW5zdGFudGx5LlxuICAgKiBJZiBzZXQgdG8gMCBpdCB3aWxsIGRpc2FibGUgZGVib3VuY2UuXG4gICAqL1xuICBkZWJvdW5jZURlbGF5PzogbnVtYmVyXG4gIC8qKlxuICAgKiBJZiB5b3Ugc2V0IGEgbWF4IGhlaWdodCBrZWVwIGluIG1pbmQgdGhhdCB0aGUgYW5pbWF0aW9uIGlzIGRpc2FibGVkLCBvciBpdCB3aWxsIG5vdCB3b3JrIHByb3Blcmx5IG9uIHNvbWUgYnJvd3NlcnMuXG4gICAqL1xuICBtYXhIZWlnaHQ/OiBzdHJpbmcgfCBudW1iZXJcbiAgLyoqXG4gICAqIFdpbGwgcmVtb3ZlIHRoZSBhbmltYXRpb24gb24gdGhlIHBvcHVwIGlmIHNldCB0byBmYWxzZS5cbiAgICovXG4gIGRpc2FibGVBbmltYXRpb24/OiBib29sZWFuXG4gIC8qKlxuICAgKiBCeSBkZWZhdWx0LCB0aGUgcG9ydGFsIHRhcmdldCBpcyBjaGlsZHJlbiBjb250YWluZXIgb3IgZG9jdW1lbnQuYm9keSBpZiBjaGlsZHJlbiBpcyBhIGZ1bmN0aW9uLiBZb3UgY2FuIG92ZXJyaWRlIHRoaXNcbiAgICogYmVoYXZpb3IgYnkgc2V0dGluZyBhIHBvcnRhbFRhcmdldCBwcm9wLlxuICAgKi9cbiAgcG9ydGFsVGFyZ2V0PzogSFRNTEVsZW1lbnRcbiAgLyoqXG4gICAqIElmIHlvdSBzZXQgdGhpcyB0byB0cnVlLCB0aGUgcG9wdXAgd2lsbCBiZSByZW5kZXJlZCBpbiB0aGUgRE9NIG9ubHkgd2hlbiBpdCBpcyB2aXNpYmxlLlxuICAgKiBXaGVuIHNldCB0byBmYWxzZSwgdGhlIHBvcHVwIHdpbGwgYWx3YXlzIGJlIHJlbmRlcmVkIGluIHRoZSBET00uIEJ5IGRlZmF1bHQgdGhpcyB2YWx1ZSBpcyBzZXQgdG8gYHRydWVgLCBpZiBmb3Igc29tZVxuICAgKiByZWFzb24geW91IG5lZWQgdG8gZGlzYWJsZSBpdCwgeW91IGNhbiBzZXQgaXQgdG8gYGZhbHNlYC5cbiAgICovXG4gIGR5bmFtaWNEb21SZW5kZXJpbmc/OiBib29sZWFuXG59XG5cbi8qKlxuICogQGV4cGVyaW1lbnRhbCBUaGlzIGNvbXBvbmVudCBpcyBleHBlcmltZW50YWwgYW5kIG1heSBiZSBzdWJqZWN0IHRvIGJyZWFraW5nIGNoYW5nZXMgaW4gdGhlIGZ1dHVyZS5cbiAqL1xuZXhwb3J0IGNvbnN0IFBvcHVwID0gZm9yd2FyZFJlZihcbiAgKFxuICAgIHtcbiAgICAgIGNoaWxkcmVuLFxuICAgICAgdGV4dCA9ICcnLFxuICAgICAgcGxhY2VtZW50ID0gJ2F1dG8nLFxuICAgICAgYWxpZ24gPSAnY2VudGVyJyxcbiAgICAgIGlkLFxuICAgICAgY2xhc3NOYW1lLFxuICAgICAgY29udGFpbmVyRnVsbFdpZHRoLFxuICAgICAgbWF4V2lkdGggPSAnMTQuNXJlbScsXG4gICAgICBtYXhIZWlnaHQsXG4gICAgICB2aXNpYmxlLFxuICAgICAgaW5uZXJSZWYsXG4gICAgICByb2xlID0gJ3BvcHVwJyxcbiAgICAgICdkYXRhLXRlc3RpZCc6IGRhdGFUZXN0SWQsXG4gICAgICBoYXNBcnJvdyA9IHRydWUsXG4gICAgICBvbkNsb3NlLFxuICAgICAgdGFiSW5kZXggPSAwLFxuICAgICAgb25LZXlEb3duLFxuICAgICAgJ2FyaWEtaGFzcG9wdXAnOiBhcmlhSGFzUG9wdXAsXG4gICAgICBoaWRlT25DbGlja091dHNpZGUgPSBmYWxzZSxcbiAgICAgIGRlYm91bmNlRGVsYXkgPSBERUZBVUxUX0RFQk9VTkNFX0RVUkFUSU9OLFxuICAgICAgZGlzYWJsZUFuaW1hdGlvbiA9IGZhbHNlLFxuICAgICAgcG9ydGFsVGFyZ2V0LFxuICAgICAgZHluYW1pY0RvbVJlbmRlcmluZyA9IHRydWUsXG4gICAgfTogUG9wdXBQcm9wcyxcbiAgICByZWY6IFJlZjxIVE1MRGl2RWxlbWVudD4sXG4gICkgPT4ge1xuICAgIGNvbnN0IGNoaWxkcmVuUmVmID0gdXNlUmVmPEhUTUxEaXZFbGVtZW50PihudWxsKVxuICAgIHVzZUltcGVyYXRpdmVIYW5kbGUoaW5uZXJSZWYsICgpID0+IGNoaWxkcmVuUmVmLmN1cnJlbnQgYXMgSFRNTERpdkVsZW1lbnQpXG5cbiAgICBjb25zdCBpbm5lclBvcHVwUmVmID0gdXNlUmVmPEhUTUxEaXZFbGVtZW50PihudWxsKVxuICAgIHVzZUltcGVyYXRpdmVIYW5kbGUocmVmLCAoKSA9PiBpbm5lclBvcHVwUmVmLmN1cnJlbnQgYXMgSFRNTERpdkVsZW1lbnQpXG5cbiAgICBjb25zdCB0aW1lciA9IHVzZVJlZjxSZXR1cm5UeXBlPHR5cGVvZiBzZXRUaW1lb3V0Pj4odW5kZWZpbmVkKVxuICAgIGNvbnN0IHBvcHVwUG9ydGFsVGFyZ2V0ID0gdXNlTWVtbygoKSA9PiB7XG4gICAgICBpZiAocG9ydGFsVGFyZ2V0KSByZXR1cm4gcG9ydGFsVGFyZ2V0XG5cbiAgICAgIGlmIChyb2xlID09PSAnZGlhbG9nJykge1xuICAgICAgICBpZiAoY2hpbGRyZW5SZWYuY3VycmVudCkgcmV0dXJuIGNoaWxkcmVuUmVmLmN1cnJlbnRcbiAgICAgICAgaWYgKGlzQ2xpZW50U2lkZSkgcmV0dXJuIGRvY3VtZW50LmJvZHlcblxuICAgICAgICByZXR1cm4gbnVsbFxuICAgICAgfVxuXG4gICAgICAvLyBXZSBjaGVjayBpZiB3aW5kb3cgZXhpc3RzIGZvciBTU1JcbiAgICAgIGlmICh0eXBlb2Ygd2luZG93ICE9PSAndW5kZWZpbmVkJykge1xuICAgICAgICByZXR1cm4gZG9jdW1lbnQuYm9keVxuICAgICAgfVxuXG4gICAgICByZXR1cm4gbnVsbFxuICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHJlYWN0LWhvb2tzL2V4aGF1c3RpdmUtZGVwc1xuICAgIH0sIFtwb3J0YWxUYXJnZXQsIHJvbGUsIGNoaWxkcmVuUmVmLmN1cnJlbnRdKVxuXG4gICAgLy8gVGhlcmUgYXJlIHNvbWUgaXNzdWUgd2hlbiBtaXhpbmcgYW5pbWF0aW9uIGFuZCBtYXhIZWlnaHQgb24gc29tZSBicm93c2Vycywgc28gd2UgZGlzYWJsZSBhbmltYXRpb24gaWYgbWF4SGVpZ2h0IGlzIHNldC5cbiAgICBjb25zdCBhbmltYXRpb25EdXJhdGlvbiA9XG4gICAgICBkaXNhYmxlQW5pbWF0aW9uIHx8IG1heEhlaWdodCA/IDAgOiBERUZBVUxUX0FOSU1BVElPTl9EVVJBVElPTlxuXG4gICAgLy8gRGVib3VuY2UgdGltZXIgd2lsbCBiZSB1c2VkIHRvIHByZXZlbnQgdGhlIHBvcHVwIGZyb20gZmxpY2tlcmluZyB3aGVuIHRoZSB1c2VyIG1vdmVzIHRoZSBtb3VzZSBvdXQgYW5kIGluIHRoZSBjaGlsZHJlbiBlbGVtZW50LlxuICAgIGNvbnN0IGRlYm91bmNlVGltZXIgPSB1c2VSZWY8UmV0dXJuVHlwZTx0eXBlb2Ygc2V0VGltZW91dD4+KHVuZGVmaW5lZClcbiAgICBjb25zdCBbdmlzaWJsZUluRG9tLCBzZXRWaXNpYmxlSW5Eb21dID0gdXNlU3RhdGUoZmFsc2UpXG4gICAgY29uc3QgW3JldmVyc2VBbmltYXRpb24sIHNldFJldmVyc2VBbmltYXRpb25dID0gdXNlU3RhdGUoZmFsc2UpXG4gICAgY29uc3QgW3Bvc2l0aW9ucywgc2V0UG9zaXRpb25zXSA9IHVzZVN0YXRlPFBvc2l0aW9uc1R5cGU+KHtcbiAgICAgIC4uLkRFRkFVTFRfUE9TSVRJT05TLFxuICAgIH0pXG4gICAgY29uc3QgdW5pcXVlSWQgPSB1c2VJZCgpXG4gICAgY29uc3QgZ2VuZXJhdGVkSWQgPSBpZCA/PyB1bmlxdWVJZFxuICAgIGNvbnN0IGlzQ29udHJvbGxlZCA9IHZpc2libGUgIT09IHVuZGVmaW5lZFxuXG4gICAgY29uc3QgZ2VuZXJhdGVQb3B1cFBvc2l0aW9ucyA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICAgIGlmIChjaGlsZHJlblJlZi5jdXJyZW50ICYmIGlubmVyUG9wdXBSZWYuY3VycmVudCkge1xuICAgICAgICBzZXRQb3NpdGlvbnMoXG4gICAgICAgICAgY29tcHV0ZVBvc2l0aW9ucyh7XG4gICAgICAgICAgICBjaGlsZHJlblJlZixcbiAgICAgICAgICAgIHBsYWNlbWVudCxcbiAgICAgICAgICAgIHBvcHVwUmVmOiBpbm5lclBvcHVwUmVmLFxuICAgICAgICAgICAgcG9wdXBQb3J0YWxUYXJnZXQ6IHBvcHVwUG9ydGFsVGFyZ2V0IGFzIEhUTUxFbGVtZW50LFxuICAgICAgICAgICAgaGFzQXJyb3csXG4gICAgICAgICAgICBhbGlnbixcbiAgICAgICAgICB9KSxcbiAgICAgICAgKVxuICAgICAgfVxuICAgIH0sIFtoYXNBcnJvdywgcGxhY2VtZW50LCBwb3B1cFBvcnRhbFRhcmdldCwgYWxpZ25dKVxuXG4gICAgLyoqXG4gICAgICogVGhpcyBmdW5jdGlvbiBpcyBjYWxsZWQgd2hlbiB3ZSBuZWVkIHRvIHJlY29tcHV0ZSBwb3NpdGlvbnMgb2YgcG9wdXAgZHVlIHRvIHdpbmRvdyBzY3JvbGwgb3IgcmVzaXplLlxuICAgICAqL1xuICAgIGNvbnN0IG9uV2luZG93Q2hhbmdlRGV0ZWN0ZWQgPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgICAvLyBXZSByZW1vdmUgYW5pbWF0aW9uIG9uIHNjcm9sbCBvciB0aGUgYW5pbWF0aW9uIHdpbGwgcmVzdGFydCBvbiBldmVyeSBzY3JvbGxcbiAgICAgIGlmIChpbm5lclBvcHVwUmVmLmN1cnJlbnQpIHtcbiAgICAgICAgaW5uZXJQb3B1cFJlZi5jdXJyZW50LnN0eWxlLmFuaW1hdGlvbiA9ICdub25lJ1xuICAgICAgfVxuXG4gICAgICBnZW5lcmF0ZVBvcHVwUG9zaXRpb25zKClcbiAgICB9LCBbZ2VuZXJhdGVQb3B1cFBvc2l0aW9ucywgaW5uZXJQb3B1cFJlZl0pXG5cbiAgICAvKipcbiAgICAgKiBUaGlzIGZ1bmN0aW9uIGlzIGNhbGxlZCB3aGVuIHdlIG5lZWQgdG8gcmVtb3ZlIHBvcHVwIHBvcnRhbCBmcm9tIERPTSBhbmQgcmVtb3ZlIGV2ZW50IGxpc3RlbmVyIHRvIGl0LlxuICAgICAqL1xuICAgIGNvbnN0IHVubW91bnRQb3B1cEZyb21Eb20gPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgICBzZXRWaXNpYmxlSW5Eb20oZmFsc2UpXG4gICAgICBzZXRSZXZlcnNlQW5pbWF0aW9uKGZhbHNlKVxuXG4gICAgICB3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcignc2Nyb2xsJywgb25XaW5kb3dDaGFuZ2VEZXRlY3RlZCwgdHJ1ZSlcbiAgICB9LCBbb25XaW5kb3dDaGFuZ2VEZXRlY3RlZF0pXG5cbiAgICAvKipcbiAgICAgKiBUaGlzIGZ1bmN0aW9uIGlzIGNhbGxlZCB3aGVuIHdlIG5lZWQgdG8gaGlkZSBwb3B1cC4gQSB0aW1lb3V0IGlzIHNldCB0byBhbGxvdyBhbmltYXRpb24gZW5kLCB0aGVuIHJlbW92ZVxuICAgICAqIHBvcHVwIGZyb20gZG9tLlxuICAgICAqL1xuICAgIGNvbnN0IGNsb3NlUG9wdXAgPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgICBkZWJvdW5jZVRpbWVyLmN1cnJlbnQgPSBzZXRUaW1lb3V0KFxuICAgICAgICAoKSA9PiB7XG4gICAgICAgICAgc2V0UmV2ZXJzZUFuaW1hdGlvbih0cnVlKVxuICAgICAgICAgIHRpbWVyLmN1cnJlbnQgPSBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgIHVubW91bnRQb3B1cEZyb21Eb20oKVxuICAgICAgICAgICAgb25DbG9zZT8uKClcbiAgICAgICAgICB9LCBhbmltYXRpb25EdXJhdGlvbilcbiAgICAgICAgfSxcbiAgICAgICAgZGVib3VuY2VEZWxheSAmJiAhZGlzYWJsZUFuaW1hdGlvbiA/IGRlYm91bmNlRGVsYXkgOiAwLFxuICAgICAgKVxuICAgIH0sIFtcbiAgICAgIGFuaW1hdGlvbkR1cmF0aW9uLFxuICAgICAgZGlzYWJsZUFuaW1hdGlvbixcbiAgICAgIGRlYm91bmNlRGVsYXksXG4gICAgICBvbkNsb3NlLFxuICAgICAgdW5tb3VudFBvcHVwRnJvbURvbSxcbiAgICBdKVxuXG4gICAgLyoqXG4gICAgICogV2hlbiBtb3VzZSBob3ZlciBvciBzdG9wIGhvdmVyaW5nIGNoaWxkcmVuIHRoaXMgZnVuY3Rpb24gZGlzcGxheSBvciBoaWRlIHBvcHVwLiBBIHRpbWVvdXQgaXMgc2V0IHRvIGFsbG93IGFuaW1hdGlvblxuICAgICAqIGVuZCwgdGhlbiByZW1vdmUgcG9wdXAgZnJvbSBkb20uXG4gICAgICovXG4gICAgY29uc3Qgb25Qb2ludGVyRXZlbnQgPSB1c2VDYWxsYmFjayhcbiAgICAgIChpc1Zpc2libGU6IGJvb2xlYW4pID0+ICgpID0+IHtcbiAgICAgICAgLy8gSWYgdGhlcmUgaXMgYSBkZWJvdW5jZURlbGF5IGFuZCB0aGUgcG9wdXAgaXMgbm90IHZpc2libGUsIHdlIGNsZWFyIHRoZSBkZWJvdW5jZSB0aW1lclxuICAgICAgICBpZiAoIXZpc2libGUgJiYgZGVib3VuY2VEZWxheSA+IDAgJiYgZGVib3VuY2VUaW1lci5jdXJyZW50KSB7XG4gICAgICAgICAgY2xlYXJUaW1lb3V0KGRlYm91bmNlVGltZXIuY3VycmVudClcbiAgICAgICAgICBkZWJvdW5jZVRpbWVyLmN1cnJlbnQgPSB1bmRlZmluZWRcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIFRoaXMgY29uZGl0aW9uIGlzIGZvciB3aGVuIHdlIHdhbnQgdG8gdW5tb3VudCB0aGUgcG9wdXBcbiAgICAgICAgLy8gVGhlcmUgaXMgZGVib3VuY2UgaW4gb3JkZXIgdG8gYXZvaWQgcG9wdXAgdG8gZmxpY2tlciB3aGVuIHdlIG1vdmUgdGhlIG1vdXNlIGZyb20gY2hpbGRyZW4gdG8gcG9wdXBcbiAgICAgICAgLy8gVGltZXIgaXMgdXNlZCB0byBmb2xsb3cgdGhlIGFuaW1hdGlvbiBkdXJhdGlvblxuICAgICAgICBpZiAoIWlzVmlzaWJsZSAmJiBpbm5lclBvcHVwUmVmLmN1cnJlbnQgJiYgIWRlYm91bmNlVGltZXIuY3VycmVudCkge1xuICAgICAgICAgIGNsb3NlUG9wdXAoKVxuICAgICAgICB9IGVsc2UgaWYgKGlzVmlzaWJsZSkge1xuICAgICAgICAgIC8vIFRoaXMgY29uZGl0aW9uIGlzIGZvciB3aGVuIHdlIHdhbnQgdG8gbW91bnQgdGhlIHBvcHVwXG4gICAgICAgICAgLy8gSWYgdGhlIHRpbWVyIGV4aXN0cyBpdCBtZWFucyB0aGUgcG9wdXAgd2FzIGFib3V0IHRvIHVtb3VudCwgYnV0IHdlIGhvdmVyZWQgdGhlIGNoaWxkcmVuIGFnYWluLFxuICAgICAgICAgIC8vIHNvIHdlIGNsZWFyIHRoZSB0aW1lciBhbmQgdGhlIHBvcHVwIHdpbGwgbm90IGJlIHVubW91bnRlZFxuICAgICAgICAgIGlmICh0aW1lci5jdXJyZW50KSB7XG4gICAgICAgICAgICBzZXRSZXZlcnNlQW5pbWF0aW9uKGZhbHNlKVxuICAgICAgICAgICAgY2xlYXJUaW1lb3V0KHRpbWVyLmN1cnJlbnQpXG4gICAgICAgICAgICB0aW1lci5jdXJyZW50ID0gdW5kZWZpbmVkXG4gICAgICAgICAgfVxuICAgICAgICAgIC8vIEFuZCBoZXJlIGlzIHdoZW4gd2UgY3VycmVudGx5IGFyZSBpbiBhIGRlYm91bmNlIHRpbWVyLCBpdCBtZWFucyBwb3B1cCB3YXMgaG92ZXJlZCBkdXJpbmdcbiAgICAgICAgICAvLyB0aGF0IHBlcmlvZCwgYW5kIHNvIHdlIGNhbiBjbGVhciBkZWJvdW5jZSB0aW1lclxuICAgICAgICAgIGlmIChkZWJvdW5jZVRpbWVyLmN1cnJlbnQpIHtcbiAgICAgICAgICAgIGNsZWFyVGltZW91dChkZWJvdW5jZVRpbWVyLmN1cnJlbnQpXG4gICAgICAgICAgICBkZWJvdW5jZVRpbWVyLmN1cnJlbnQgPSB1bmRlZmluZWRcbiAgICAgICAgICB9XG4gICAgICAgICAgaWYgKGRlYm91bmNlRGVsYXkgPiAwKSB7XG4gICAgICAgICAgICBkZWJvdW5jZVRpbWVyLmN1cnJlbnQgPSBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgICAgc2V0VmlzaWJsZUluRG9tKHRydWUpXG4gICAgICAgICAgICB9LCBkZWJvdW5jZURlbGF5KVxuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBzdGFydFRyYW5zaXRpb24oKCkgPT4ge1xuICAgICAgICAgICAgICBzZXRWaXNpYmxlSW5Eb20odHJ1ZSlcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgW2Nsb3NlUG9wdXAsIGRlYm91bmNlRGVsYXksIHZpc2libGVdLFxuICAgIClcblxuICAgIC8qKlxuICAgICAqIE9uY2UgcG9wdXAgaXMgdmlzaWJsZSBpbiB0aGUgZG9tIHdlIGNhbiBjb21wdXRlIHBvc2l0aW9ucywgdGhlbiBzZXQgaXQgdmlzaWJsZSBvbiBzY3JlZW4gYW5kIGFkZCBldmVudCB0b1xuICAgICAqIHJlY29tcHV0ZSBwb3NpdGlvbnMgb24gc2Nyb2xsIG9yIHNjcmVlbiByZXNpemUuXG4gICAgICovXG4gICAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICAgIGlmICh2aXNpYmxlSW5Eb20pIHtcbiAgICAgICAgZ2VuZXJhdGVQb3B1cFBvc2l0aW9ucygpXG5cbiAgICAgICAgaWYgKHBvcHVwUG9ydGFsVGFyZ2V0ID09PSBkb2N1bWVudC5ib2R5KSB7XG4gICAgICAgICAgLy8gV2Ugd2FudCB0byBkZXRlY3Qgc2Nyb2xsIGFuZCByZXNpemUgaW4gb3JkZXIgdG8gcmVjb21wdXRlIHBvc2l0aW9ucyBvZiBwb3B1cFxuICAgICAgICAgIC8vIEFkZGluZyB0cnVlIGFzIHRoaXJkIHBhcmFtZXRlciB0byBldmVudCBsaXN0ZW5lciB3aWxsIGRldGVjdCBuZXN0ZWQgc2Nyb2xscy5cbiAgICAgICAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcignc2Nyb2xsJywgb25XaW5kb3dDaGFuZ2VEZXRlY3RlZCwgdHJ1ZSlcbiAgICAgICAgfVxuICAgICAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigncmVzaXplJywgb25XaW5kb3dDaGFuZ2VEZXRlY3RlZCwgdHJ1ZSlcbiAgICAgIH1cblxuICAgICAgcmV0dXJuICgpID0+IHtcbiAgICAgICAgd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ3Njcm9sbCcsIG9uV2luZG93Q2hhbmdlRGV0ZWN0ZWQsIHRydWUpXG4gICAgICAgIHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCdyZXNpemUnLCBvbldpbmRvd0NoYW5nZURldGVjdGVkLCB0cnVlKVxuICAgICAgICBpZiAodGltZXIuY3VycmVudCkge1xuICAgICAgICAgIGNsZWFyVGltZW91dCh0aW1lci5jdXJyZW50KVxuICAgICAgICAgIHRpbWVyLmN1cnJlbnQgPSB1bmRlZmluZWRcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0sIFtcbiAgICAgIGdlbmVyYXRlUG9wdXBQb3NpdGlvbnMsXG4gICAgICBvbldpbmRvd0NoYW5nZURldGVjdGVkLFxuICAgICAgdmlzaWJsZUluRG9tLFxuICAgICAgbWF4V2lkdGgsXG4gICAgICBwb3B1cFBvcnRhbFRhcmdldCxcbiAgICBdKVxuXG4gICAgLy8gVGhpcyB3aWxsIGJlIHRyaWdnZXJlZCB3aGVuIHBvc2l0aW9ucyBhcmUgY29tcHV0ZWQgYW5kIHBvcHVwIGlzIHZpc2libGUgaW4gdGhlIGRvbS5cbiAgICB1c2VFZmZlY3QoXG4gICAgICAoKSA9PiB7XG4gICAgICAgIGlmICh2aXNpYmxlSW5Eb20gJiYgaW5uZXJQb3B1cFJlZi5jdXJyZW50KSB7XG4gICAgICAgICAgaW5uZXJQb3B1cFJlZi5jdXJyZW50LnN0eWxlLm9wYWNpdHkgPSAnMSdcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSByZWFjdC1ob29rcy9leGhhdXN0aXZlLWRlcHNcbiAgICAgIFtwb3NpdGlvbnNdLFxuICAgIClcblxuICAgIC8qKlxuICAgICAqIElmIHBvcHVwIGhhcyBgdmlzaWJsZWAgcHJvcCBpdCBtZWFucyB0aGUgcG9wdXAgaXMgbWFudWFsbHkgY29udHJvbGxlZCB0aHJvdWdoIHRoaXMgcHJvcC5cbiAgICAgKiBJbiB0aGlzIGNhcyB3ZSBkb24ndCB3YW50IHRvIGRpc3BsYXkgcG9wdXAgb24gaG92ZXIsIGJ1dCBvbmx5IHdoZW4gYHZpc2libGVgIGlzIHRydWUuXG4gICAgICovXG4gICAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICAgIGlmIChpc0NvbnRyb2xsZWQpIHtcbiAgICAgICAgb25Qb2ludGVyRXZlbnQodmlzaWJsZSkoKVxuICAgICAgfVxuICAgIH0sIFtpc0NvbnRyb2xsZWQsIG9uUG9pbnRlckV2ZW50LCB2aXNpYmxlXSlcblxuICAgIC8vIEhhbmRsZSBoaWRlIG9uIGVzYyBwcmVzcyBhbmQgaGlkZSBvbiBjbGljayBvdXRzaWRlXG4gICAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICAgIGNvbnN0IGhhbmRsZUVzY1ByZXNzID0gKGV2ZW50OiBLZXlib2FyZEV2ZW50KSA9PiB7XG4gICAgICAgIGlmIChldmVudC5rZXkgPT09ICdFc2NhcGUnKSB7XG4gICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKVxuICAgICAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpXG4gICAgICAgICAgY2xvc2VQb3B1cCgpXG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgY29uc3QgaGFuZGxlQ2xpY2tPdXRzaWRlID0gKGV2ZW50OiBNb3VzZUV2ZW50KSA9PiB7XG4gICAgICAgIGNvbnN0IHBvcHVwQ3VycmVudCA9IGlubmVyUG9wdXBSZWYuY3VycmVudFxuICAgICAgICBjb25zdCBjaGlsZHJlbkN1cnJlbnQgPSBjaGlsZHJlblJlZi5jdXJyZW50XG5cbiAgICAgICAgaWYgKHBvcHVwQ3VycmVudCAmJiBoaWRlT25DbGlja091dHNpZGUgJiYgIWV2ZW50LmRlZmF1bHRQcmV2ZW50ZWQpIHtcbiAgICAgICAgICBpZiAoXG4gICAgICAgICAgICBldmVudC50YXJnZXQgJiZcbiAgICAgICAgICAgIGV2ZW50LnRhcmdldCAhPT0gcG9wdXBDdXJyZW50ICYmXG4gICAgICAgICAgICBldmVudC50YXJnZXQgIT09IGNoaWxkcmVuQ3VycmVudCAmJlxuICAgICAgICAgICAgIWNoaWxkcmVuQ3VycmVudD8uY29udGFpbnMoZXZlbnQudGFyZ2V0IGFzIE5vZGUpICYmXG4gICAgICAgICAgICAhcG9wdXBDdXJyZW50LmNvbnRhaW5zKGV2ZW50LnRhcmdldCBhcyBOb2RlKVxuICAgICAgICAgICkge1xuICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKVxuICAgICAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKClcbiAgICAgICAgICAgIGNsb3NlUG9wdXAoKVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgaWYgKHZpc2libGVJbkRvbSkge1xuICAgICAgICBkb2N1bWVudC5ib2R5LmFkZEV2ZW50TGlzdGVuZXIoJ2tleXVwJywgaGFuZGxlRXNjUHJlc3MpXG4gICAgICAgIGRvY3VtZW50LmJvZHkuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCBoYW5kbGVDbGlja091dHNpZGUpXG4gICAgICB9XG5cbiAgICAgIHJldHVybiAoKSA9PiB7XG4gICAgICAgIGRvY3VtZW50LmJvZHkucmVtb3ZlRXZlbnRMaXN0ZW5lcigna2V5dXAnLCBoYW5kbGVFc2NQcmVzcylcbiAgICAgICAgZG9jdW1lbnQuYm9keS5yZW1vdmVFdmVudExpc3RlbmVyKCdjbGljaycsIGhhbmRsZUNsaWNrT3V0c2lkZSlcbiAgICAgIH1cbiAgICB9LCBbXG4gICAgICBjbG9zZVBvcHVwLFxuICAgICAgdmlzaWJsZUluRG9tLFxuICAgICAgaW5uZXJQb3B1cFJlZixcbiAgICAgIGNoaWxkcmVuUmVmLFxuICAgICAgaGlkZU9uQ2xpY2tPdXRzaWRlLFxuICAgIF0pXG5cbiAgICAvKipcbiAgICAgKiBUaGlzIGV2ZW50IHdpbGwgb2NjdXIgb25seSBmb3IgZGlhbG9nIGFuZCB3aWxsIHRyYXAgZm9jdXMgaW5zaWRlIHRoZSBkaWFsb2cuXG4gICAgICovXG4gICAgY29uc3QgaGFuZGxlRm9jdXNUcmFwOiBLZXlib2FyZEV2ZW50SGFuZGxlciA9IHVzZUNhbGxiYWNrKGV2ZW50ID0+IHtcbiAgICAgIGNvbnN0IGlzVGFiUHJlc3NlZCA9IGV2ZW50LmtleSA9PT0gJ1RhYidcbiAgICAgIGlmICghaXNUYWJQcmVzc2VkKSB7XG4gICAgICAgIHJldHVyblxuICAgICAgfVxuICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKClcblxuICAgICAgY29uc3QgZm9jdXNhYmxlRWxzID1cbiAgICAgICAgaW5uZXJQb3B1cFJlZi5jdXJyZW50Py5xdWVyeVNlbGVjdG9yQWxsKFxuICAgICAgICAgICdhW2hyZWZdOm5vdChbZGlzYWJsZWRdKSwgYnV0dG9uOm5vdChbZGlzYWJsZWRdKSwgdGV4dGFyZWE6bm90KFtkaXNhYmxlZF0pLCBpbnB1dDpub3QoW2Rpc2FibGVkXSksIHNlbGVjdDpub3QoW2Rpc2FibGVkXSknLFxuICAgICAgICApID8/IFtdXG5cbiAgICAgIC8vIEhhbmRsZSBjYXNlIHdoZW4gbm8gaW50ZXJhY3RpdmUgZWxlbWVudCBhcmUgd2l0aGluIHRoZSBtb2RhbCAoaW5jbHVkaW5nIGNsb3NlIGljb24pXG4gICAgICBpZiAoZm9jdXNhYmxlRWxzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpXG4gICAgICB9XG5cbiAgICAgIGNvbnN0IGZpcnN0Rm9jdXNhYmxlRWwgPSBmb2N1c2FibGVFbHNbMF0gYXMgSFRNTEVsZW1lbnRcbiAgICAgIGNvbnN0IGxhc3RGb2N1c2FibGVFbCA9IGZvY3VzYWJsZUVsc1tcbiAgICAgICAgZm9jdXNhYmxlRWxzLmxlbmd0aCAtIDFcbiAgICAgIF0gYXMgSFRNTEVsZW1lbnRcblxuICAgICAgaWYgKGV2ZW50LnNoaWZ0S2V5KSB7XG4gICAgICAgIGlmIChcbiAgICAgICAgICBkb2N1bWVudC5hY3RpdmVFbGVtZW50ID09PSBmaXJzdEZvY3VzYWJsZUVsIHx8XG4gICAgICAgICAgZG9jdW1lbnQuYWN0aXZlRWxlbWVudCA9PT0gaW5uZXJQb3B1cFJlZi5jdXJyZW50XG4gICAgICAgICkge1xuICAgICAgICAgIGxhc3RGb2N1c2FibGVFbC5mb2N1cygpXG4gICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKVxuICAgICAgICB9XG4gICAgICB9IGVsc2UgaWYgKFxuICAgICAgICBkb2N1bWVudC5hY3RpdmVFbGVtZW50ID09PSBsYXN0Rm9jdXNhYmxlRWwgfHxcbiAgICAgICAgZG9jdW1lbnQuYWN0aXZlRWxlbWVudCA9PT0gaW5uZXJQb3B1cFJlZi5jdXJyZW50XG4gICAgICApIHtcbiAgICAgICAgZmlyc3RGb2N1c2FibGVFbC5mb2N1cygpXG4gICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KClcbiAgICAgIH1cbiAgICB9LCBbXSlcblxuICAgIC8qKlxuICAgICAqIFdpbGwgcmVuZGVyIGNoaWxkcmVuIGNvbmRpdGlvbmFsbHkgaWYgY2hpbGRyZW4gaXMgYSBmdW5jdGlvbiBvciBub3QuXG4gICAgICovXG4gICAgY29uc3QgcmVuZGVyQ2hpbGRyZW4gPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgICBpZiAodHlwZW9mIGNoaWxkcmVuID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgIHJldHVybiBjaGlsZHJlbih7XG4gICAgICAgICAgb25CbHVyOiAhaXNDb250cm9sbGVkID8gb25Qb2ludGVyRXZlbnQoZmFsc2UpIDogbm9vcCxcbiAgICAgICAgICBvbkZvY3VzOiAhaXNDb250cm9sbGVkID8gb25Qb2ludGVyRXZlbnQodHJ1ZSkgOiBub29wLFxuICAgICAgICAgIG9uUG9pbnRlckVudGVyOiAhaXNDb250cm9sbGVkID8gb25Qb2ludGVyRXZlbnQodHJ1ZSkgOiBub29wLFxuICAgICAgICAgIG9uUG9pbnRlckxlYXZlOiAhaXNDb250cm9sbGVkID8gb25Qb2ludGVyRXZlbnQoZmFsc2UpIDogbm9vcCxcbiAgICAgICAgICByZWY6IGNoaWxkcmVuUmVmLFxuICAgICAgICB9KVxuICAgICAgfVxuXG4gICAgICByZXR1cm4gKFxuICAgICAgICA8U3R5bGVkQ2hpbGRyZW5Db250YWluZXJcbiAgICAgICAgICBhcmlhLWRlc2NyaWJlZGJ5PXtnZW5lcmF0ZWRJZH1cbiAgICAgICAgICBhcmlhLWNvbnRyb2xzPXtnZW5lcmF0ZWRJZH1cbiAgICAgICAgICBvbkJsdXI9eyFpc0NvbnRyb2xsZWQgPyBvblBvaW50ZXJFdmVudChmYWxzZSkgOiBub29wfVxuICAgICAgICAgIG9uRm9jdXM9eyFpc0NvbnRyb2xsZWQgPyBvblBvaW50ZXJFdmVudCh0cnVlKSA6IG5vb3B9XG4gICAgICAgICAgb25Qb2ludGVyRW50ZXI9eyFpc0NvbnRyb2xsZWQgPyBvblBvaW50ZXJFdmVudCh0cnVlKSA6IG5vb3B9XG4gICAgICAgICAgb25Qb2ludGVyTGVhdmU9eyFpc0NvbnRyb2xsZWQgPyBvblBvaW50ZXJFdmVudChmYWxzZSkgOiBub29wfVxuICAgICAgICAgIHJlZj17Y2hpbGRyZW5SZWZ9XG4gICAgICAgICAgdGFiSW5kZXg9e3RhYkluZGV4fVxuICAgICAgICAgIG9uS2V5RG93bj17ZXZlbnQgPT4ge1xuICAgICAgICAgICAgb25LZXlEb3duPy4oZXZlbnQpXG4gICAgICAgICAgfX1cbiAgICAgICAgICBkYXRhLWNvbnRhaW5lci1mdWxsLXdpZHRoPXtjb250YWluZXJGdWxsV2lkdGh9XG4gICAgICAgICAgYXJpYS1oYXNwb3B1cD17YXJpYUhhc1BvcHVwfVxuICAgICAgICA+XG4gICAgICAgICAge2NoaWxkcmVufVxuICAgICAgICA8L1N0eWxlZENoaWxkcmVuQ29udGFpbmVyPlxuICAgICAgKVxuICAgIH0sIFtcbiAgICAgIGFyaWFIYXNQb3B1cCxcbiAgICAgIGNoaWxkcmVuLFxuICAgICAgY29udGFpbmVyRnVsbFdpZHRoLFxuICAgICAgZ2VuZXJhdGVkSWQsXG4gICAgICBpc0NvbnRyb2xsZWQsXG4gICAgICBvbktleURvd24sXG4gICAgICBvblBvaW50ZXJFdmVudCxcbiAgICAgIHRhYkluZGV4LFxuICAgIF0pXG5cbiAgICBjb25zdCBzaG91bGRSZW5kZXIgPSB1c2VNZW1vKCgpID0+IHtcbiAgICAgIGlmICghZHluYW1pY0RvbVJlbmRlcmluZykge1xuICAgICAgICByZXR1cm4gdHJ1ZVxuICAgICAgfVxuXG4gICAgICBpZiAoZHluYW1pY0RvbVJlbmRlcmluZyAmJiB2aXNpYmxlSW5Eb20pIHtcbiAgICAgICAgcmV0dXJuIHRydWVcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIGZhbHNlXG4gICAgfSwgW2R5bmFtaWNEb21SZW5kZXJpbmcsIHZpc2libGVJbkRvbV0pXG5cbiAgICBpZiAoIXRleHQpIHtcbiAgICAgIGlmICh0eXBlb2YgY2hpbGRyZW4gPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgcmV0dXJuIG51bGxcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIGNoaWxkcmVuXG4gICAgfVxuXG4gICAgcmV0dXJuIChcbiAgICAgIDw+XG4gICAgICAgIHtyZW5kZXJDaGlsZHJlbigpfVxuICAgICAgICB7c2hvdWxkUmVuZGVyXG4gICAgICAgICAgPyBjcmVhdGVQb3J0YWwoXG4gICAgICAgICAgICAgIDxTdHlsZWRQb3B1cFxuICAgICAgICAgICAgICAgIHJlZj17aW5uZXJQb3B1cFJlZn1cbiAgICAgICAgICAgICAgICBwb3NpdGlvbnM9e3Bvc2l0aW9uc31cbiAgICAgICAgICAgICAgICBtYXhXaWR0aD17bWF4V2lkdGh9XG4gICAgICAgICAgICAgICAgbWF4SGVpZ2h0PXttYXhIZWlnaHR9XG4gICAgICAgICAgICAgICAgcm9sZT17cm9sZX1cbiAgICAgICAgICAgICAgICBpZD17Z2VuZXJhdGVkSWR9XG4gICAgICAgICAgICAgICAgY2xhc3NOYW1lPXtjbGFzc05hbWV9XG4gICAgICAgICAgICAgICAgcmV2ZXJzZUFuaW1hdGlvbj17cmV2ZXJzZUFuaW1hdGlvbn1cbiAgICAgICAgICAgICAgICBkYXRhLXRlc3RpZD17ZGF0YVRlc3RJZH1cbiAgICAgICAgICAgICAgICBkYXRhLWhhcy1hcnJvdz17aGFzQXJyb3d9XG4gICAgICAgICAgICAgICAgb25DbGljaz17c3RvcENsaWNrUHJvcGFnYXRpb259XG4gICAgICAgICAgICAgICAgb25Qb2ludGVyRW50ZXI9eyFpc0NvbnRyb2xsZWQgPyBvblBvaW50ZXJFdmVudCh0cnVlKSA6IG5vb3B9XG4gICAgICAgICAgICAgICAgb25Qb2ludGVyTGVhdmU9eyFpc0NvbnRyb2xsZWQgPyBvblBvaW50ZXJFdmVudChmYWxzZSkgOiBub29wfVxuICAgICAgICAgICAgICAgIGFuaW1hdGlvbkR1cmF0aW9uPXthbmltYXRpb25EdXJhdGlvbn1cbiAgICAgICAgICAgICAgICBvbktleURvd249e3JvbGUgPT09ICdkaWFsb2cnID8gaGFuZGxlRm9jdXNUcmFwIDogdW5kZWZpbmVkfVxuICAgICAgICAgICAgICAgIGlzRGlhbG9nPXtyb2xlID09PSAnZGlhbG9nJ31cbiAgICAgICAgICAgICAgICBkYXRhLXZpc2libGUtaW4tZG9tPXtcbiAgICAgICAgICAgICAgICAgICFkeW5hbWljRG9tUmVuZGVyaW5nID8gdmlzaWJsZUluRG9tIDogdW5kZWZpbmVkXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGRhdGEtYW5pbWF0ZWQ9e2FuaW1hdGlvbkR1cmF0aW9uID4gMCAmJiAhbWF4SGVpZ2h0fVxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAge3RleHR9XG4gICAgICAgICAgICAgIDwvU3R5bGVkUG9wdXA+LFxuICAgICAgICAgICAgICBwb3B1cFBvcnRhbFRhcmdldCBhcyBIVE1MRWxlbWVudCxcbiAgICAgICAgICAgIClcbiAgICAgICAgICA6IG51bGx9XG4gICAgICA8Lz5cbiAgICApXG4gIH0sXG4pXG4iXX0= */',
|
|
72
72
|
toString: _EMOTION_STRINGIFIED_CSS_ERROR__
|
|
73
73
|
});
|
|
74
74
|
const Popup = React.forwardRef(({
|