@1money/component-ui 0.1.16 → 0.1.18
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/es/business/Filter/Account/Account.js +5 -2
- package/es/business/Filter/Account/interface.d.ts +7 -0
- package/es/business/Filter/DateRange/DateRange.js +30 -13
- package/es/business/Filter/DateRange/style/DateRange.css +80 -9
- package/es/components/Calendar/Calendar.js +14 -10
- package/es/components/Calendar/style/Calendar.css +14 -0
- package/es/components/Dialog/hooks.d.ts +1 -2
- package/es/components/Dialog/hooks.js +2 -21
- package/es/components/Drawer/hooks/useDialogFocus.d.ts +1 -2
- package/es/components/Drawer/hooks/useDialogFocus.js +2 -22
- package/es/components/Input/Mask/Mask.js +2 -6
- package/es/components/Input/Search/Search.js +2 -2
- package/es/components/Pagination/Pagination.js +9 -5
- package/es/components/Pagination/constants.d.ts +1 -0
- package/es/components/Pagination/constants.js +2 -1
- package/es/components/Pagination/interface.d.ts +4 -0
- package/es/components/Pagination/style/Pagination.css +12 -0
- package/es/components/Select/Select.js +15 -4
- package/es/components/Select/SelectSearchControl.d.ts +2 -1
- package/es/components/Select/SelectSearchControl.js +15 -1
- package/es/components/Select/style/Select.css +11 -0
- package/es/components/Select/utils.js +27 -3
- package/es/components/Table/internal/kernel/Table.js +14 -14
- package/es/components/Table/internal/kernel/utils/getScrollBarSize.js +12 -2
- package/es/components/Table/style/Table.css +6 -0
- package/es/components/Tooltip/Tooltip.js +9 -2
- package/es/components/Tooltip/style/Tooltip.css +2 -0
- package/es/components/Typography/constants.d.ts +0 -1
- package/es/components/Typography/constants.js +1 -2
- package/es/components/Typography/useTypographyEnhancements.js +5 -7
- package/es/hooks/useDialogFocus.d.ts +2 -0
- package/es/hooks/useDialogFocus.js +22 -0
- package/es/index.css +1 -1
- package/es/locale/en_US/business.js +2 -1
- package/es/locale/interface.d.ts +1 -0
- package/es/locale/pt_BR/business.js +2 -1
- package/es/locale/zh_CN/business.js +2 -1
- package/lib/business/Filter/Account/Account.js +5 -2
- package/lib/business/Filter/Account/interface.d.ts +7 -0
- package/lib/business/Filter/DateRange/DateRange.js +29 -12
- package/lib/business/Filter/DateRange/style/DateRange.css +80 -9
- package/lib/components/Calendar/Calendar.js +14 -10
- package/lib/components/Calendar/style/Calendar.css +14 -0
- package/lib/components/Dialog/hooks.d.ts +1 -2
- package/lib/components/Dialog/hooks.js +10 -22
- package/lib/components/Drawer/hooks/useDialogFocus.d.ts +1 -2
- package/lib/components/Drawer/hooks/useDialogFocus.js +8 -23
- package/lib/components/Input/Mask/Mask.js +2 -6
- package/lib/components/Input/Search/Search.js +2 -2
- package/lib/components/Pagination/Pagination.js +9 -5
- package/lib/components/Pagination/constants.d.ts +1 -0
- package/lib/components/Pagination/constants.js +2 -1
- package/lib/components/Pagination/interface.d.ts +4 -0
- package/lib/components/Pagination/style/Pagination.css +12 -0
- package/lib/components/Select/Select.js +14 -3
- package/lib/components/Select/SelectSearchControl.d.ts +2 -1
- package/lib/components/Select/SelectSearchControl.js +15 -1
- package/lib/components/Select/style/Select.css +11 -0
- package/lib/components/Select/utils.js +27 -3
- package/lib/components/Table/internal/kernel/Table.js +14 -14
- package/lib/components/Table/internal/kernel/utils/getScrollBarSize.js +12 -2
- package/lib/components/Table/style/Table.css +6 -0
- package/lib/components/Tooltip/Tooltip.js +9 -2
- package/lib/components/Tooltip/style/Tooltip.css +2 -0
- package/lib/components/Typography/constants.d.ts +0 -1
- package/lib/components/Typography/constants.js +2 -3
- package/lib/components/Typography/useTypographyEnhancements.js +4 -6
- package/lib/hooks/useDialogFocus.d.ts +2 -0
- package/lib/hooks/useDialogFocus.js +28 -0
- package/lib/index.css +1 -1
- package/lib/locale/en_US/business.js +2 -1
- package/lib/locale/interface.d.ts +1 -0
- package/lib/locale/pt_BR/business.js +2 -1
- package/lib/locale/zh_CN/business.js +2 -1
- package/package.json +1 -12
- package/scripts/mcp-server/README.md +5 -0
- package/scripts/mcp-server/examples.generated.json +18 -0
- package/scripts/mcp-server/index.generated.json +28 -0
- package/scripts/mcp-server/index.mjs +2 -1
- package/scripts/mcp-server/tools/get-symbol.mjs +5 -25
- package/scripts/mcp-server/tools/resolve-import.mjs +5 -19
- package/scripts/mcp-server/tools/symbol-lookups.mjs +29 -0
|
@@ -37,6 +37,10 @@ var PaginationBase = /*#__PURE__*/forwardRef(function (props, ref) {
|
|
|
37
37
|
className = _props$className === void 0 ? '' : _props$className,
|
|
38
38
|
_props$prefixCls = props.prefixCls,
|
|
39
39
|
prefixCls = _props$prefixCls === void 0 ? PAGINATION_DEFAULT_PREFIX : _props$prefixCls,
|
|
40
|
+
_props$showControlTex = props.showControlText,
|
|
41
|
+
showControlText = _props$showControlTex === void 0 ? true : _props$showControlTex,
|
|
42
|
+
_props$compact = props.compact,
|
|
43
|
+
compact = _props$compact === void 0 ? false : _props$compact,
|
|
40
44
|
total = props.total,
|
|
41
45
|
pageSize = props.pageSize,
|
|
42
46
|
current = props.current,
|
|
@@ -47,7 +51,7 @@ var PaginationBase = /*#__PURE__*/forwardRef(function (props, ref) {
|
|
|
47
51
|
onChange = props.onChange,
|
|
48
52
|
_props$ariaLabel = props['aria-label'],
|
|
49
53
|
ariaLabel = _props$ariaLabel === void 0 ? PAGINATION_COMPONENT_NAME : _props$ariaLabel,
|
|
50
|
-
rest = __rest(props, ["className", "prefixCls", "total", "pageSize", "current", "defaultCurrent", "boundaryCount", "middlePageCount", "onChange", 'aria-label']);
|
|
54
|
+
rest = __rest(props, ["className", "prefixCls", "showControlText", "compact", "total", "pageSize", "current", "defaultCurrent", "boundaryCount", "middlePageCount", "onChange", 'aria-label']);
|
|
51
55
|
var locale = useLocale('Pagination');
|
|
52
56
|
var classes = classnames(prefixCls);
|
|
53
57
|
var _usePagination = usePagination({
|
|
@@ -75,7 +79,7 @@ var PaginationBase = /*#__PURE__*/forwardRef(function (props, ref) {
|
|
|
75
79
|
return _jsx("nav", Object.assign({}, rest, {
|
|
76
80
|
ref: ref,
|
|
77
81
|
"aria-label": ariaLabel,
|
|
78
|
-
className: classes(undefined, className),
|
|
82
|
+
className: classes(undefined, joinCls(className, compact && classes('compact'))),
|
|
79
83
|
children: _jsx("ul", {
|
|
80
84
|
className: classes(PAGINATION_SLOT.list),
|
|
81
85
|
onClick: handleListClick,
|
|
@@ -102,7 +106,7 @@ var PaginationBase = /*#__PURE__*/forwardRef(function (props, ref) {
|
|
|
102
106
|
className: classes(PAGINATION_SLOT.item),
|
|
103
107
|
children: _jsxs("button", {
|
|
104
108
|
type: "button",
|
|
105
|
-
className: classes(PAGINATION_SLOT.button, joinCls(isPage ? classes(PAGINATION_SLOT.buttonPage) : classes(PAGINATION_SLOT.buttonControl), isPage && item.current && classes(PAGINATION_SLOT.buttonCurrent), isDisabled && classes(PAGINATION_SLOT.buttonDisabled))),
|
|
109
|
+
className: classes(PAGINATION_SLOT.button, joinCls(isPage ? classes(PAGINATION_SLOT.buttonPage) : classes(PAGINATION_SLOT.buttonControl), isPage && item.current && classes(PAGINATION_SLOT.buttonCurrent), isControl && !showControlText && classes(PAGINATION_SLOT.buttonControlIconOnly), isDisabled && classes(PAGINATION_SLOT.buttonDisabled))),
|
|
106
110
|
"aria-label": getButtonAriaLabel(item, locale),
|
|
107
111
|
"aria-current": isPage && item.current ? 'page' : undefined,
|
|
108
112
|
disabled: isDisabled || undefined,
|
|
@@ -114,7 +118,7 @@ var PaginationBase = /*#__PURE__*/forwardRef(function (props, ref) {
|
|
|
114
118
|
size: PAGINATION_CONTROL_ICON_SIZE,
|
|
115
119
|
color: PAGINATION_CONTROL_ICON_COLOR
|
|
116
120
|
})
|
|
117
|
-
}), _jsx(TypographyBody, {
|
|
121
|
+
}), (isPage || showControlText) && _jsx(TypographyBody, {
|
|
118
122
|
size: PAGINATION_TEXT_SIZE,
|
|
119
123
|
strong: true,
|
|
120
124
|
color: getItemTextColor(item),
|
|
@@ -136,4 +140,4 @@ var PaginationBase = /*#__PURE__*/forwardRef(function (props, ref) {
|
|
|
136
140
|
PaginationBase.displayName = PAGINATION_COMPONENT_NAME;
|
|
137
141
|
export var Pagination = /*#__PURE__*/memo(PaginationBase);
|
|
138
142
|
export default Pagination;
|
|
139
|
-
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvUGFnaW5hdGlvbi9QYWdpbmF0aW9uLmpzIiwiY29tcG9uZW50cy9zcmMvY29tcG9uZW50cy9QYWdpbmF0aW9uL1BhZ2luYXRpb24udHN4Il0sIm5hbWVzIjpbIl9fcmVzdCIsInMiLCJlIiwidCIsInAiLCJPYmplY3QiLCJwcm90b3R5cGUiLCJoYXNPd25Qcm9wZXJ0eSIsImNhbGwiLCJpbmRleE9mIiwiZ2V0T3duUHJvcGVydHlTeW1ib2xzIiwiaSIsImxlbmd0aCIsInByb3BlcnR5SXNFbnVtZXJhYmxlIiwianN4IiwiX2pzeCIsImpzeHMiLCJfanN4cyIsIlJlYWN0IiwiZm9yd2FyZFJlZiIsIm1lbW8iLCJ1c2VFdmVudENhbGxiYWNrIiwidXNlTG9jYWxlIiwiSWNvbnMiLCJUeXBvZ3JhcGh5Qm9keSIsImRlZmF1bHQiLCJjbGFzc25hbWVzIiwiam9pbkNscyIsInVzZVBhZ2luYXRpb24iLCJQQUdJTkFUSU9OX0NPTVBPTkVOVF9OQU1FIiwiUEFHSU5BVElPTl9DT05UUk9MX0lDT04iLCJQQUdJTkFUSU9OX0NPTlRST0xfSUNPTl9DT0xPUiIsIlBBR0lOQVRJT05fQ09OVFJPTF9JQ09OX1NJWkUiLCJQQUdJTkFUSU9OX0NPTlRST0xfVEVYVCIsIlBBR0lOQVRJT05fREVGQVVMVF9DVVJSRU5UIiwiUEFHSU5BVElPTl9ERUZBVUxUX1BSRUZJWCIsIlBBR0lOQVRJT05fRUxMSVBTSVNfVEVYVCIsIlBBR0lOQVRJT05fSVRFTV9UWVBFIiwiUEFHSU5BVElPTl9TTE9UIiwiUEFHSU5BVElPTl9URVhUX0NPTE9SIiwiUEFHSU5BVElPTl9URVhUX1NJWkUiLCJnZXRCdXR0b25BcmlhTGFiZWwiLCJpdGVtIiwibG9jYWxlIiwidHlwZSIsInBhZ2UiLCJ0ZW1wbGF0ZSIsImN1cnJlbnQiLCJjdXJyZW50UGFnZUFyaWEiLCJnb1RvUGFnZUFyaWEiLCJyZXBsYWNlIiwiU3RyaW5nIiwicHJldmlvdXMiLCJwcmV2UGFnZUFyaWEiLCJuZXh0UGFnZUFyaWEiLCJnZXRJdGVtVGV4dENvbG9yIiwiZGlzYWJsZWQiLCJQYWdpbmF0aW9uQmFzZSIsInByb3BzIiwicmVmIiwiX3Byb3BzJGNsYXNzTmFtZSIsImNsYXNzTmFtZSIsIl9wcm9wcyRwcmVmaXhDbHMiLCJwcmVmaXhDbHMiLCJ0b3RhbCIsInBhZ2VTaXplIiwiX3Byb3BzJGRlZmF1bHRDdXJyZW50IiwiZGVmYXVsdEN1cnJlbnQiLCJib3VuZGFyeUNvdW50IiwibWlkZGxlUGFnZUNvdW50Iiwib25DaGFuZ2UiLCJfcHJvcHMkYXJpYUxhYmVsIiwiYXJpYUxhYmVsIiwicmVzdCIsImNsYXNzZXMiLCJfdXNlUGFnaW5hdGlvbiIsIml0ZW1zIiwiZ29UbyIsInJlc29sdmVkVG90YWwiLCJoYW5kbGVMaXN0Q2xpY2siLCJidXR0b24iLCJ0YXJnZXQiLCJjbG9zZXN0IiwiTnVtYmVyIiwiZGF0YXNldCIsImlzTmFOIiwiYXNzaWduIiwidW5kZWZpbmVkIiwiY2hpbGRyZW4iLCJsaXN0Iiwib25DbGljayIsIm1hcCIsImVsbGlwc2lzIiwiaXRlbUVsbGlwc2lzIiwic2l6ZSIsInN0cm9uZyIsImNvbG9yIiwia2V5IiwiaXNQYWdlIiwiaXNDb250cm9sIiwiaXNQcmV2aW91cyIsImlzRGlzYWJsZWQiLCJpY29uTmFtZSIsImJ1dHRvblBhZ2UiLCJidXR0b25Db250cm9sIiwiYnV0dG9uQ3VycmVudCIsImJ1dHRvbkRpc2FibGVkIiwiaWNvbiIsIm5hbWUiLCJkaXNwbGF5TmFtZSIsIlBhZ2luYXRpb24iXSwibWFwcGluZ3MiOiJBQUFBLElBQUlBLE1BQU0sR0FBSSxJQUFJLElBQUksSUFBSSxDQUFDQSxNQUFNLElBQUssVUFBVUMsQ0FBQyxFQUFFQyxDQUFDLEVBQUU7RUFDbEQsSUFBSUMsQ0FBQyxHQUFHLENBQUMsQ0FBQztFQUNWLEtBQUssSUFBSUMsQ0FBQyxJQUFJSCxDQUFDLEVBQUUsSUFBSUksTUFBTSxDQUFDQyxTQUFTLENBQUNDLGNBQWMsQ0FBQ0MsSUFBSSxDQUFDUCxDQUFDLEVBQUVHLENB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LElBQUEsQ0FBQ1MsY0FBYyxFQUFBO2NBQUNzRSxJQUFJLEVBQUV0RCxvQkFBb0I7Y0FBRXVELE1BQU0sRUFBQSxJQUFBO2NBQUNDLEtBQUssRUFBRXpDLGdCQUFnQixDQUFDYixJQUFJLENBQUM7Y0FBQThDLFFBQUEsRUFDN0VVLE1BQU0sR0FBR3hELElBQUksQ0FBQ0csSUFBSSxHQUFHWix1QkFBdUIsQ0FBQ1MsSUFBSSxDQUFDRSxJQUE0QztZQUFDLENBQUEsQ0FDakYsRUFDaEJ1RCxTQUFTLElBQUksQ0FBQ0MsVUFBVSxJQUN2QnJGLElBQUEsQ0FBQSxNQUFBLEVBQUE7Y0FBTThDLFNBQVMsRUFBRWEsT0FBTyxDQUFDcEMsZUFBZSxDQUFDcUUsSUFBSSxDQUFDO2NBQUFuQixRQUFBLEVBQzVDekUsSUFBQSxDQUFDUSxLQUFLLEVBQUE7Z0JBQ0pxRixJQUFJLEVBQUVOLFFBQVM7Z0JBQ2ZSLElBQUksRUFBRTlELDRCQUE0QjtnQkFDbENnRSxLQUFLLEVBQUVqRTtjQUE2QixDQUFBO1lBQ3BDLENBQUEsQ0FFTDtVQUFBLENBQUE7UUFDTSxDQUFBLEVBckNGVyxJQUFJLENBQUN1RCxHQUFHLENBc0NaO01BRVQsQ0FBQztJQUFDLENBQUE7RUFDQyxDQUFBLENBQUEsQ0FDRDtBQUVWLENBQUMsQ0FBQztBQUVGeEMsY0FBYyxDQUFDb0QsV0FBVyxHQUFHaEYseUJBQXlCO0FBRXRELE9BQU8sSUFBTWlGLFVBQVUsZ0JBQUcxRixJQUFJLENBQUNxQyxjQUFjLENBQUM7QUFFOUMsZUFBZXFELFVBQVUiLCJmaWxlIjoiY29tcG9uZW50cy9QYWdpbmF0aW9uL1BhZ2luYXRpb24uanMiLCJzb3VyY2VzQ29udGVudCI6WyJ2YXIgX19yZXN0ID0gKHRoaXMgJiYgdGhpcy5fX3Jlc3QpIHx8IGZ1bmN0aW9uIChzLCBlKSB7XG4gICAgdmFyIHQgPSB7fTtcbiAgICBmb3IgKHZhciBwIGluIHMpIGlmIChPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwocywgcCkgJiYgZS5pbmRleE9mKHApIDwgMClcbiAgICAgICAgdFtwXSA9IHNbcF07XG4gICAgaWYgKHMgIT0gbnVsbCAmJiB0eXBlb2YgT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyA9PT0gXCJmdW5jdGlvblwiKVxuICAgICAgICBmb3IgKHZhciBpID0gMCwgcCA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMocyk7IGkgPCBwLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICBpZiAoZS5pbmRleE9mKHBbaV0pIDwgMCAmJiBPYmplY3QucHJvdG90eXBlLnByb3BlcnR5SXNFbnVtZXJhYmxlLmNhbGwocywgcFtpXSkpXG4gICAgICAgICAgICAgICAgdFtwW2ldXSA9IHNbcFtpXV07XG4gICAgICAgIH1cbiAgICByZXR1cm4gdDtcbn07XG5pbXBvcnQgeyBqc3ggYXMgX2pzeCwganN4cyBhcyBfanN4cyB9IGZyb20gXCJyZWFjdC9qc3gtcnVudGltZVwiO1xuaW1wb3J0IFJlYWN0LCB7IGZvcndhcmRSZWYsIG1lbW8gfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgdXNlRXZlbnRDYWxsYmFjayBmcm9tICdAMW1vbmV5L2hvb2tzL3VzZUV2ZW50Q2FsbGJhY2snO1xuaW1wb3J0IHsgdXNlTG9jYWxlIH0gZnJvbSAnLi4vQ29uZmlnUHJvdmlkZXInO1xuaW1wb3J0IHsgSWNvbnMgfSBmcm9tICcuLi9JY29ucyc7XG5pbXBvcnQgeyBUeXBvZ3JhcGh5Qm9keSB9IGZyb20gJy4uL1R5cG9ncmFwaHknO1xuaW1wb3J0IHsgZGVmYXVsdCBhcyBjbGFzc25hbWVzLCBqb2luQ2xzIH0gZnJvbSAnLi4vLi4vdXRpbHMvY2xhc3NuYW1lcyc7XG5pbXBvcnQgJy4vc3R5bGUnO1xuaW1wb3J0IHsgdXNlUGFnaW5hdGlvbiB9IGZyb20gJy4vdXNlUGFnaW5hdGlvbic7XG5pbXBvcnQgeyBQQUdJTkFUSU9OX0NPTVBPTkVOVF9OQU1FLCBQQUdJTkFUSU9OX0NPTlRST0xfSUNPTiwgUEFHSU5BVElPTl9DT05UUk9MX0lDT05fQ09MT1IsIFBBR0lOQVRJT05fQ09OVFJPTF9JQ09OX1NJWkUsIFBBR0lOQVRJT05fQ09OVFJPTF9URVhULCBQQUdJTkFUSU9OX0RFRkFVTFRfQ1VSUkVOVCwgUEFHSU5BVElPTl9ERUZBVUxUX1BSRUZJWCwgUEFHSU5BVElPTl9FTExJUFNJU19URVhULCBQQUdJTkFUSU9OX0lURU1fVFlQRSwgUEFHSU5BVElPTl9TTE9ULCBQQUdJTkFUSU9OX1RFWFRfQ09MT1IsIFBBR0lOQVRJT05fVEVYVF9TSVpFLCB9IGZyb20gJy4vY29uc3RhbnRzJztcbmNvbnN0IGdldEJ1dHRvbkFyaWFMYWJlbCA9IChpdGVtLCBsb2NhbGUpID0+IHtcbiAgICBpZiAoaXRlbS50eXBlID09PSBQQUdJTkFUSU9OX0lURU1fVFlQRS5wYWdlKSB7XG4gICAgICAgIGNvbnN0IHRlbXBsYXRlID0gaXRlbS5jdXJyZW50ID8gbG9jYWxlLmN1cnJlbnRQYWdlQXJpYSA6IGxvY2FsZS5nb1RvUGFnZUFyaWE7XG4gICAgICAgIHJldHVybiB0ZW1wbGF0ZS5yZXBsYWNlKCd7cGFnZX0nLCBTdHJpbmcoaXRlbS5wYWdlKSk7XG4gICAgfVxuICAgIHJldHVybiBpdGVtLnR5cGUgPT09IFBBR0lOQVRJT05fSVRFTV9UWVBFLnByZXZpb3VzID8gbG9jYWxlLnByZXZQYWdlQXJpYSA6IGxvY2FsZS5uZXh0UGFnZUFyaWE7XG59O1xuY29uc3QgZ2V0SXRlbVRleHRDb2xvciA9IChpdGVtKSA9PiB7XG4gICAgaWYgKGl0ZW0udHlwZSAhPT0gUEFHSU5BVElPTl9JVEVNX1RZUEUucGFnZSAmJiBpdGVtLmRpc2FibGVkKSB7XG4gICAgICAgIHJldHVybiBQQUdJTkFUSU9OX1RFWFRfQ09MT1IuZGlzYWJsZWQ7XG4gICAgfVxuICAgIGlmIChpdGVtLnR5cGUgPT09IFBBR0lOQVRJT05fSVRFTV9UWVBFLnBhZ2UgJiYgaXRlbS5jdXJyZW50KSB7XG4gICAgICAgIHJldHVybiBQQUdJTkFUSU9OX1RFWFRfQ09MT1IuY3VycmVudDtcbiAgICB9XG4gICAgcmV0dXJuIFBBR0lOQVRJT05fVEVYVF9DT0xPUi5kZWZhdWx0O1xufTtcbmNvbnN0IFBhZ2luYXRpb25CYXNlID0gZm9yd2FyZFJlZigocHJvcHMsIHJlZikgPT4ge1xuICAgIGNvbnN0IHsgY2xhc3NOYW1lID0gJycsIHByZWZpeENscyA9IFBBR0lOQVRJT05fREVGQVVMVF9QUkVGSVgsIHRvdGFsLCBwYWdlU2l6ZSwgY3VycmVudCwgZGVmYXVsdEN1cnJlbnQgPSBQQUdJTkFUSU9OX0RFRkFVTFRfQ1VSUkVOVCwgYm91bmRhcnlDb3VudCwgbWlkZGxlUGFnZUNvdW50LCBvbkNoYW5nZSwgJ2FyaWEtbGFiZWwnOiBhcmlhTGFiZWwgPSBQQUdJTkFUSU9OX0NPTVBPTkVOVF9OQU1FIH0gPSBwcm9wcywgcmVzdCA9IF9fcmVzdChwcm9wcywgW1wiY2xhc3NOYW1lXCIsIFwicHJlZml4Q2xzXCIsIFwidG90YWxcIiwgXCJwYWdlU2l6ZVwiLCBcImN1cnJlbnRcIiwgXCJkZWZhdWx0Q3VycmVudFwiLCBcImJvdW5kYXJ5Q291bnRcIiwgXCJtaWRkbGVQYWdlQ291bnRcIiwgXCJvbkNoYW5nZVwiLCAnYXJpYS1sYWJlbCddKTtcbiAgICBjb25zdCBsb2NhbGUgPSB1c2VMb2NhbGUoJ1BhZ2luYXRpb24nKTtcbiAgICBjb25zdCBjbGFzc2VzID0gY2xhc3NuYW1lcyhwcmVmaXhDbHMpO1xuICAgIGNvbnN0IHsgaXRlbXMsIGdvVG8sIHRvdGFsOiByZXNvbHZlZFRvdGFsIH0gPSB1c2VQYWdpbmF0aW9uKHtcbiAgICAgICAgdG90YWwsXG4gICAgICAgIHBhZ2VTaXplLFxuICAgICAgICBjdXJyZW50LFxuICAgICAgICBkZWZhdWx0Q3VycmVudCxcbiAgICAgICAgYm91bmRhcnlDb3VudCxcbiAgICAgICAgbWlkZGxlUGFnZUNvdW50LFxuICAgICAgICBvbkNoYW5nZSxcbiAgICB9KTtcbiAgICBjb25zdCBoYW5kbGVMaXN0Q2xpY2sgPSB1c2VFdmVudENhbGxiYWNrKChlKSA9PiB7XG4gICAgICAgIGNvbnN0IGJ1dHRvbiA9IGUudGFyZ2V0LmNsb3Nlc3QoJ2J1dHRvbltkYXRhLXBhZ2VdJyk7XG4gICAgICAgIGNvbnN0IHBhZ2UgPSBOdW1iZXIoYnV0dG9uID09PSBudWxsIHx8IGJ1dHRvbiA9PT0gdm9pZCAwID8gdm9pZCAwIDogYnV0dG9uLmRhdGFzZXQucGFnZSk7XG4gICAgICAgIGlmIChwYWdlICYmICFOdW1iZXIuaXNOYU4ocGFnZSkpIHtcbiAgICAgICAgICAgIGdvVG8ocGFnZSk7XG4gICAgICAgIH1cbiAgICB9KTtcbiAgICBpZiAocmVzb2x2ZWRUb3RhbCA9PT0gMCkge1xuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG4gICAgcmV0dXJuIChfanN4KFwibmF2XCIsIE9iamVjdC5hc3NpZ24oe30sIHJlc3QsIHsgcmVmOiByZWYsIFwiYXJpYS1sYWJlbFwiOiBhcmlhTGFiZWwsIGNsYXNzTmFtZTogY2xhc3Nlcyh1bmRlZmluZWQsIGNsYXNzTmFtZSksIGNoaWxkcmVuOiBfanN4KFwidWxcIiwgeyBjbGFzc05hbWU6IGNsYXNzZXMoUEFHSU5BVElPTl9TTE9ULmxpc3QpLCBvbkNsaWNrOiBoYW5kbGVMaXN0Q2xpY2ssIGNoaWxkcmVuOiBpdGVtcy5tYXAoaXRlbSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKGl0ZW0udHlwZSA9PT0gUEFHSU5BVElPTl9JVEVNX1RZUEUuZWxsaXBzaXMpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIChfanN4KFwibGlcIiwgeyBjbGFzc05hbWU6IGNsYXNzZXMoUEFHSU5BVElPTl9TTE9ULml0ZW0sIGNsYXNzZXMoUEFHSU5BVElPTl9TTE9ULml0ZW1FbGxpcHNpcykpLCBcImFyaWEtaGlkZGVuXCI6IFwidHJ1ZVwiLCBjaGlsZHJlbjogX2pzeChUeXBvZ3JhcGh5Qm9keSwgeyBjbGFzc05hbWU6IGNsYXNzZXMoUEFHSU5BVElPTl9TTE9ULmVsbGlwc2lzKSwgc2l6ZTogUEFHSU5BVElPTl9URVhUX1NJWkUsIHN0cm9uZzogdHJ1ZSwgY29sb3I6IFBBR0lOQVRJT05fVEVYVF9DT0xPUi5kZWZhdWx0LCBjaGlsZHJlbjogUEFHSU5BVElPTl9FTExJUFNJU19URVhUIH0pIH0sIGl0ZW0ua2V5KSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGNvbnN0IGlzUGFnZSA9IGl0ZW0udHlwZSA9PT0gUEFHSU5BVElPTl9JVEVNX1RZUEUucGFnZTtcbiAgICAgICAgICAgICAgICBjb25zdCBpc0NvbnRyb2wgPSAhaXNQYWdlO1xuICAgICAgICAgICAgICAgIGNvbnN0IGlzUHJldmlvdXMgPSBpdGVtLnR5cGUgPT09IFBBR0lOQVRJT05fSVRFTV9UWVBFLnByZXZpb3VzO1xuICAgICAgICAgICAgICAgIGNvbnN0IGlzRGlzYWJsZWQgPSBpc0NvbnRyb2wgJiYgaXRlbS5kaXNhYmxlZDtcbiAgICAgICAgICAgICAgICBjb25zdCBpY29uTmFtZSA9IGlzQ29udHJvbFxuICAgICAgICAgICAgICAgICAgICA/IFBBR0lOQVRJT05fQ09OVFJPTF9JQ09OW2l0ZW0udHlwZV1cbiAgICAgICAgICAgICAgICAgICAgOiB1bmRlZmluZWQ7XG4gICAgICAgICAgICAgICAgcmV0dXJuIChfanN4KFwibGlcIiwgeyBjbGFzc05hbWU6IGNsYXNzZXMoUEFHSU5BVElPTl9TTE9ULml0ZW0pLCBjaGlsZHJlbjogX2pzeHMoXCJidXR0b25cIiwgeyB0eXBlOiBcImJ1dHRvblwiLCBjbGFzc05hbWU6IGNsYXNzZXMoUEFHSU5BVElPTl9TTE9ULmJ1dHRvbiwgam9pbkNscyhpc1BhZ2UgPyBjbGFzc2VzKFBBR0lOQVRJT05fU0xPVC5idXR0b25QYWdlKSA6IGNsYXNzZXMoUEFHSU5BVElPTl9TTE9ULmJ1dHRvbkNvbnRyb2wpLCBpc1BhZ2UgJiYgaXRlbS5jdXJyZW50ICYmIGNsYXNzZXMoUEFHSU5BVElPTl9TTE9ULmJ1dHRvbkN1cnJlbnQpLCBpc0Rpc2FibGVkICYmIGNsYXNzZXMoUEFHSU5BVElPTl9TTE9ULmJ1dHRvbkRpc2FibGVkKSkpLCBcImFyaWEtbGFiZWxcIjogZ2V0QnV0dG9uQXJpYUxhYmVsKGl0ZW0sIGxvY2FsZSksIFwiYXJpYS1jdXJyZW50XCI6IGlzUGFnZSAmJiBpdGVtLmN1cnJlbnQgPyAncGFnZScgOiB1bmRlZmluZWQsIGRpc2FibGVkOiBpc0Rpc2FibGVkIHx8IHVuZGVmaW5lZCwgXCJkYXRhLXBhZ2VcIjogaXNEaXNhYmxlZCA/IHVuZGVmaW5lZCA6IGl0ZW0ucGFnZSwgY2hpbGRyZW46IFtpc0NvbnRyb2wgJiYgaXNQcmV2aW91cyAmJiAoX2pzeChcInNwYW5cIiwgeyBjbGFzc05hbWU6IGNsYXNzZXMoUEFHSU5BVElPTl9TTE9ULmljb24pLCBjaGlsZHJlbjogX2pzeChJY29ucywgeyBuYW1lOiBpY29uTmFtZSwgc2l6ZTogUEFHSU5BVElPTl9DT05UUk9MX0lDT05fU0laRSwgY29sb3I6IFBBR0lOQVRJT05fQ09OVFJPTF9JQ09OX0NPTE9SIH0pIH0pKSwgX2pzeChUeXBvZ3JhcGh5Qm9keSwgeyBzaXplOiBQQUdJTkFUSU9OX1RFWFRfU0laRSwgc3Ryb25nOiB0cnVlLCBjb2xvcjogZ2V0SXRlbVRleHRDb2xvcihpdGVtKSwgY2hpbGRyZW46IGlzUGFnZSA/IGl0ZW0ucGFnZSA6IFBBR0lOQVRJT05fQ09OVFJPTF9URVhUW2l0ZW0udHlwZV0gfSksIGlzQ29udHJvbCAmJiAhaXNQcmV2aW91cyAmJiAoX2pzeChcInNwYW5cIiwgeyBjbGFzc05hbWU6IGNsYXNzZXMoUEFHSU5BVElPTl9TTE9ULmljb24pLCBjaGlsZHJlbjogX2pzeChJY29ucywgeyBuYW1lOiBpY29uTmFtZSwgc2l6ZTogUEFHSU5BVElPTl9DT05UUk9MX0lDT05fU0laRSwgY29sb3I6IFBBR0lOQVRJT05fQ09OVFJPTF9JQ09OX0NPTE9SIH0pIH0pKV0gfSkgfSwgaXRlbS5rZXkpKTtcbiAgICAgICAgICAgIH0pIH0pIH0pKSk7XG59KTtcblBhZ2luYXRpb25CYXNlLmRpc3BsYXlOYW1lID0gUEFHSU5BVElPTl9DT01QT05FTlRfTkFNRTtcbmV4cG9ydCBjb25zdCBQYWdpbmF0aW9uID0gbWVtbyhQYWdpbmF0aW9uQmFzZSk7XG5leHBvcnQgZGVmYXVsdCBQYWdpbmF0aW9uOyIsbnVsbF0sInNvdXJjZVJvb3QiOiIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMifQ==
|
|
143
|
+
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvUGFnaW5hdGlvbi9QYWdpbmF0aW9uLmpzIiwiY29tcG9uZW50cy9zcmMvY29tcG9uZW50cy9QYWdpbmF0aW9uL1BhZ2luYXRpb24udHN4Il0sIm5hbWVzIjpbIl9fcmVzdCIsInMiLCJlIiwidCIsInAiLCJPYmplY3QiLCJwcm90b3R5cGUiLCJoYXNPd25Qcm9wZXJ0eSIsImNhbGwiLCJpbmRleE9mIiwiZ2V0T3duUHJvcGVydHlTeW1ib2xzIiwiaSIsImxlbmd0aCIsInByb3BlcnR5SXNFbnVtZXJhYmxlIiwianN4IiwiX2pzeCIsImpzeHMiLCJfanN4cyIsIlJlYWN0IiwiZm9yd2FyZFJlZiIsIm1lbW8iLCJ1c2VFdmVudENhbGxiYWNrIiwidXNlTG9jYWxlIiwiSWNvbnMiLCJUeXBvZ3JhcGh5Qm9keSIsImRlZmF1bHQiLCJjbGFzc25hbWVzIiwiam9pbkNscyIsInVzZVBhZ2luYXRpb24iLCJQQUdJTkFUSU9OX0NPTVBPTkVOVF9OQU1FIiwiUEFHSU5BVElPTl9DT05UUk9MX0lDT04iLCJQQUdJTkFUSU9OX0NPTlRST0xfSUNPTl9DT0xPUiIsIlBBR0lOQVRJT05fQ09OVFJPTF9JQ09OX1NJWkUiLCJQQUdJTkFUSU9OX0NPTlRST0xfVEVYVCIsIlBBR0lOQVRJT05fREVGQVVMVF9DVVJSRU5UIiwiUEFHSU5BVElPTl9ERUZBVUxUX1BSRUZJWCIsIlBBR0lOQVRJT05fRUxMSVBTSVNfVEVYVCIsIlBBR0lOQVRJT05fSVRFTV9UWVBFIiwiUEFHSU5BVElPTl9TTE9UIiwiUEFHSU5BVElPTl9URVhUX0NPTE9SIiwiUEFHSU5BVElPTl9URVhUX1NJWkUiLCJnZXRCdXR0b25BcmlhTGFiZWwiLCJpdGVtIiwibG9jYWxlIiwidHlwZSIsInBhZ2UiLCJ0ZW1wbGF0ZSIsImN1cnJlbnQiLCJjdXJyZW50UGFnZUFyaWEiLCJnb1RvUGFnZUFyaWEiLCJyZXBsYWNlIiwiU3RyaW5nIiwicHJldmlvdXMiLCJwcmV2UGFnZUFyaWEiLCJuZXh0UGFnZUFyaWEiLCJnZXRJdGVtVGV4dENvbG9yIiwiZGlzYWJsZWQiLCJQYWdpbmF0aW9uQmFzZSIsInByb3BzIiwicmVmIiwiX3Byb3BzJGNsYXNzTmFtZSIsImNsYXNzTmFtZSIsIl9wcm9wcyRwcmVmaXhDbHMiLCJwcmVmaXhDbHMiLCJfcHJvcHMkc2hvd0NvbnRyb2xUZXgiLCJzaG93Q29udHJvbFRleHQiLCJfcHJvcHMkY29tcGFjdCIsImNvbXBhY3QiLCJ0b3RhbCIsInBhZ2VTaXplIiwiX3Byb3BzJGRlZmF1bHRDdXJyZW50IiwiZGVmYXVsdEN1cnJlbnQiLCJib3VuZGFyeUNvdW50IiwibWlkZGxlUGFnZUNvdW50Iiwib25DaGFuZ2UiLCJfcHJvcHMkYXJpYUxhYmVsIiwiYXJpYUxhYmVsIiwicmVzdCIsImNsYXNzZXMiLCJfdXNlUGFnaW5hdGlvbiIsIml0ZW1zIiwiZ29UbyIsInJlc29sdmVkVG90YWwiLCJoYW5kbGVMaXN0Q2xpY2siLCJidXR0b24iLCJ0YXJnZXQiLCJjbG9zZXN0IiwiTnVtYmVyIiwiZGF0YXNldCIsImlzTmFOIiwiYXNzaWduIiwidW5kZWZpbmVkIiwiY2hpbGRyZW4iLCJsaXN0Iiwib25DbGljayIsIm1hcCIsImVsbGlwc2lzIiwiaXRlbUVsbGlwc2lzIiwic2l6ZSIsInN0cm9uZyIsImNvbG9yIiwia2V5IiwiaXNQYWdlIiwiaXNDb250cm9sIiwiaXNQcmV2aW91cyIsImlzRGlzYWJsZWQiLCJpY29uTmFtZSIsImJ1dHRvblBhZ2UiLCJidXR0b25Db250cm9sIiwiYnV0dG9uQ3VycmVudCIsImJ1dHRvbkNvbnRyb2xJY29uT25seSIsImJ1dHRvbkRpc2FibGVkIiwiaWNvbiIsIm5hbWUiLCJkaXNwbGF5TmFtZSIsIlBhZ2luYXRpb24iXSwibWFwcGluZ3MiOiJBQUFBLElBQUlBLE1BQU0sR0FBSSxJQUFJLElBQUksSUFBSSxDQUFDQSxNQUFNLElBQUssVUFBVUMsQ0FBQyxFQUFFQyxDQUFDLEVBQUU7RUFDbEQsSUFBSUMsQ0FBQyxHQUFHLENBQUMsQ0FBQztFQUNWLEtB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LENBQUE7UUFDTSxDQUFBLEVBeENGVyxJQUFJLENBQUMyRCxHQUFHLENBeUNaO01BRVQsQ0FBQztJQUFDLENBQUE7RUFDQyxDQUFBLENBQUEsQ0FDRDtBQUVWLENBQUMsQ0FBQztBQUVGNUMsY0FBYyxDQUFDeUQsV0FBVyxHQUFHckYseUJBQXlCO0FBRXRELE9BQU8sSUFBTXNGLFVBQVUsZ0JBQUcvRixJQUFJLENBQUNxQyxjQUFjLENBQUM7QUFFOUMsZUFBZTBELFVBQVUiLCJmaWxlIjoiY29tcG9uZW50cy9QYWdpbmF0aW9uL1BhZ2luYXRpb24uanMiLCJzb3VyY2VzQ29udGVudCI6WyJ2YXIgX19yZXN0ID0gKHRoaXMgJiYgdGhpcy5fX3Jlc3QpIHx8IGZ1bmN0aW9uIChzLCBlKSB7XG4gICAgdmFyIHQgPSB7fTtcbiAgICBmb3IgKHZhciBwIGluIHMpIGlmIChPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwocywgcCkgJiYgZS5pbmRleE9mKHApIDwgMClcbiAgICAgICAgdFtwXSA9IHNbcF07XG4gICAgaWYgKHMgIT0gbnVsbCAmJiB0eXBlb2YgT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyA9PT0gXCJmdW5jdGlvblwiKVxuICAgICAgICBmb3IgKHZhciBpID0gMCwgcCA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMocyk7IGkgPCBwLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICBpZiAoZS5pbmRleE9mKHBbaV0pIDwgMCAmJiBPYmplY3QucHJvdG90eXBlLnByb3BlcnR5SXNFbnVtZXJhYmxlLmNhbGwocywgcFtpXSkpXG4gICAgICAgICAgICAgICAgdFtwW2ldXSA9IHNbcFtpXV07XG4gICAgICAgIH1cbiAgICByZXR1cm4gdDtcbn07XG5pbXBvcnQgeyBqc3ggYXMgX2pzeCwganN4cyBhcyBfanN4cyB9IGZyb20gXCJyZWFjdC9qc3gtcnVudGltZVwiO1xuaW1wb3J0IFJlYWN0LCB7IGZvcndhcmRSZWYsIG1lbW8gfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgdXNlRXZlbnRDYWxsYmFjayBmcm9tICdAMW1vbmV5L2hvb2tzL3VzZUV2ZW50Q2FsbGJhY2snO1xuaW1wb3J0IHsgdXNlTG9jYWxlIH0gZnJvbSAnLi4vQ29uZmlnUHJvdmlkZXInO1xuaW1wb3J0IHsgSWNvbnMgfSBmcm9tICcuLi9JY29ucyc7XG5pbXBvcnQgeyBUeXBvZ3JhcGh5Qm9keSB9IGZyb20gJy4uL1R5cG9ncmFwaHknO1xuaW1wb3J0IHsgZGVmYXVsdCBhcyBjbGFzc25hbWVzLCBqb2luQ2xzIH0gZnJvbSAnLi4vLi4vdXRpbHMvY2xhc3NuYW1lcyc7XG5pbXBvcnQgJy4vc3R5bGUnO1xuaW1wb3J0IHsgdXNlUGFnaW5hdGlvbiB9IGZyb20gJy4vdXNlUGFnaW5hdGlvbic7XG5pbXBvcnQgeyBQQUdJTkFUSU9OX0NPTVBPTkVOVF9OQU1FLCBQQUdJTkFUSU9OX0NPTlRST0xfSUNPTiwgUEFHSU5BVElPTl9DT05UUk9MX0lDT05fQ09MT1IsIFBBR0lOQVRJT05fQ09OVFJPTF9JQ09OX1NJWkUsIFBBR0lOQVRJT05fQ09OVFJPTF9URVhULCBQQUdJTkFUSU9OX0RFRkFVTFRfQ1VSUkVOVCwgUEFHSU5BVElPTl9ERUZBVUxUX1BSRUZJWCwgUEFHSU5BVElPTl9FTExJUFNJU19URVhULCBQQUdJTkFUSU9OX0lURU1fVFlQRSwgUEFHSU5BVElPTl9TTE9ULCBQQUdJTkFUSU9OX1RFWFRfQ09MT1IsIFBBR0lOQVRJT05fVEVYVF9TSVpFLCB9IGZyb20gJy4vY29uc3RhbnRzJztcbmNvbnN0IGdldEJ1dHRvbkFyaWFMYWJlbCA9IChpdGVtLCBsb2NhbGUpID0+IHtcbiAgICBpZiAoaXRlbS50eXBlID09PSBQQUdJTkFUSU9OX0lURU1fVFlQRS5wYWdlKSB7XG4gICAgICAgIGNvbnN0IHRlbXBsYXRlID0gaXRlbS5jdXJyZW50ID8gbG9jYWxlLmN1cnJlbnRQYWdlQXJpYSA6IGxvY2FsZS5nb1RvUGFnZUFyaWE7XG4gICAgICAgIHJldHVybiB0ZW1wbGF0ZS5yZXBsYWNlKCd7cGFnZX0nLCBTdHJpbmcoaXRlbS5wYWdlKSk7XG4gICAgfVxuICAgIHJldHVybiBpdGVtLnR5cGUgPT09IFBBR0lOQVRJT05fSVRFTV9UWVBFLnByZXZpb3VzID8gbG9jYWxlLnByZXZQYWdlQXJpYSA6IGxvY2FsZS5uZXh0UGFnZUFyaWE7XG59O1xuY29uc3QgZ2V0SXRlbVRleHRDb2xvciA9IChpdGVtKSA9PiB7XG4gICAgaWYgKGl0ZW0udHlwZSAhPT0gUEFHSU5BVElPTl9JVEVNX1RZUEUucGFnZSAmJiBpdGVtLmRpc2FibGVkKSB7XG4gICAgICAgIHJldHVybiBQQUdJTkFUSU9OX1RFWFRfQ09MT1IuZGlzYWJsZWQ7XG4gICAgfVxuICAgIGlmIChpdGVtLnR5cGUgPT09IFBBR0lOQVRJT05fSVRFTV9UWVBFLnBhZ2UgJiYgaXRlbS5jdXJyZW50KSB7XG4gICAgICAgIHJldHVybiBQQUdJTkFUSU9OX1RFWFRfQ09MT1IuY3VycmVudDtcbiAgICB9XG4gICAgcmV0dXJuIFBBR0lOQVRJT05fVEVYVF9DT0xPUi5kZWZhdWx0O1xufTtcbmNvbnN0IFBhZ2luYXRpb25CYXNlID0gZm9yd2FyZFJlZigocHJvcHMsIHJlZikgPT4ge1xuICAgIGNvbnN0IHsgY2xhc3NOYW1lID0gJycsIHByZWZpeENscyA9IFBBR0lOQVRJT05fREVGQVVMVF9QUkVGSVgsIHNob3dDb250cm9sVGV4dCA9IHRydWUsIGNvbXBhY3QgPSBmYWxzZSwgdG90YWwsIHBhZ2VTaXplLCBjdXJyZW50LCBkZWZhdWx0Q3VycmVudCA9IFBBR0lOQVRJT05fREVGQVVMVF9DVVJSRU5ULCBib3VuZGFyeUNvdW50LCBtaWRkbGVQYWdlQ291bnQsIG9uQ2hhbmdlLCAnYXJpYS1sYWJlbCc6IGFyaWFMYWJlbCA9IFBBR0lOQVRJT05fQ09NUE9ORU5UX05BTUUgfSA9IHByb3BzLCByZXN0ID0gX19yZXN0KHByb3BzLCBbXCJjbGFzc05hbWVcIiwgXCJwcmVmaXhDbHNcIiwgXCJzaG93Q29udHJvbFRleHRcIiwgXCJjb21wYWN0XCIsIFwidG90YWxcIiwgXCJwYWdlU2l6ZVwiLCBcImN1cnJlbnRcIiwgXCJkZWZhdWx0Q3VycmVudFwiLCBcImJvdW5kYXJ5Q291bnRcIiwgXCJtaWRkbGVQYWdlQ291bnRcIiwgXCJvbkNoYW5nZVwiLCAnYXJpYS1sYWJlbCddKTtcbiAgICBjb25zdCBsb2NhbGUgPSB1c2VMb2NhbGUoJ1BhZ2luYXRpb24nKTtcbiAgICBjb25zdCBjbGFzc2VzID0gY2xhc3NuYW1lcyhwcmVmaXhDbHMpO1xuICAgIGNvbnN0IHsgaXRlbXMsIGdvVG8sIHRvdGFsOiByZXNvbHZlZFRvdGFsIH0gPSB1c2VQYWdpbmF0aW9uKHtcbiAgICAgICAgdG90YWwsXG4gICAgICAgIHBhZ2VTaXplLFxuICAgICAgICBjdXJyZW50LFxuICAgICAgICBkZWZhdWx0Q3VycmVudCxcbiAgICAgICAgYm91bmRhcnlDb3VudCxcbiAgICAgICAgbWlkZGxlUGFnZUNvdW50LFxuICAgICAgICBvbkNoYW5nZSxcbiAgICB9KTtcbiAgICBjb25zdCBoYW5kbGVMaXN0Q2xpY2sgPSB1c2VFdmVudENhbGxiYWNrKChlKSA9PiB7XG4gICAgICAgIGNvbnN0IGJ1dHRvbiA9IGUudGFyZ2V0LmNsb3Nlc3QoJ2J1dHRvbltkYXRhLXBhZ2VdJyk7XG4gICAgICAgIGNvbnN0IHBhZ2UgPSBOdW1iZXIoYnV0dG9uID09PSBudWxsIHx8IGJ1dHRvbiA9PT0gdm9pZCAwID8gdm9pZCAwIDogYnV0dG9uLmRhdGFzZXQucGFnZSk7XG4gICAgICAgIGlmIChwYWdlICYmICFOdW1iZXIuaXNOYU4ocGFnZSkpIHtcbiAgICAgICAgICAgIGdvVG8ocGFnZSk7XG4gICAgICAgIH1cbiAgICB9KTtcbiAgICBpZiAocmVzb2x2ZWRUb3RhbCA9PT0gMCkge1xuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG4gICAgcmV0dXJuIChfanN4KFwibmF2XCIsIE9iamVjdC5hc3NpZ24oe30sIHJlc3QsIHsgcmVmOiByZWYsIFwiYXJpYS1sYWJlbFwiOiBhcmlhTGFiZWwsIGNsYXNzTmFtZTogY2xhc3Nlcyh1bmRlZmluZWQsIGpvaW5DbHMoY2xhc3NOYW1lLCBjb21wYWN0ICYmIGNsYXNzZXMoJ2NvbXBhY3QnKSkpLCBjaGlsZHJlbjogX2pzeChcInVsXCIsIHsgY2xhc3NOYW1lOiBjbGFzc2VzKFBBR0lOQVRJT05fU0xPVC5saXN0KSwgb25DbGljazogaGFuZGxlTGlzdENsaWNrLCBjaGlsZHJlbjogaXRlbXMubWFwKGl0ZW0gPT4ge1xuICAgICAgICAgICAgICAgIGlmIChpdGVtLnR5cGUgPT09IFBBR0lOQVRJT05fSVRFTV9UWVBFLmVsbGlwc2lzKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiAoX2pzeChcImxpXCIsIHsgY2xhc3NOYW1lOiBjbGFzc2VzKFBBR0lOQVRJT05fU0xPVC5pdGVtLCBjbGFzc2VzKFBBR0lOQVRJT05fU0xPVC5pdGVtRWxsaXBzaXMpKSwgXCJhcmlhLWhpZGRlblwiOiBcInRydWVcIiwgY2hpbGRyZW46IF9qc3goVHlwb2dyYXBoeUJvZHksIHsgY2xhc3NOYW1lOiBjbGFzc2VzKFBBR0lOQVRJT05fU0xPVC5lbGxpcHNpcyksIHNpemU6IFBBR0lOQVRJT05fVEVYVF9TSVpFLCBzdHJvbmc6IHRydWUsIGNvbG9yOiBQQUdJTkFUSU9OX1RFWFRfQ09MT1IuZGVmYXVsdCwgY2hpbGRyZW46IFBBR0lOQVRJT05fRUxMSVBTSVNfVEVYVCB9KSB9LCBpdGVtLmtleSkpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBjb25zdCBpc1BhZ2UgPSBpdGVtLnR5cGUgPT09IFBBR0lOQVRJT05fSVRFTV9UWVBFLnBhZ2U7XG4gICAgICAgICAgICAgICAgY29uc3QgaXNDb250cm9sID0gIWlzUGFnZTtcbiAgICAgICAgICAgICAgICBjb25zdCBpc1ByZXZpb3VzID0gaXRlbS50eXBlID09PSBQQUdJTkFUSU9OX0lURU1fVFlQRS5wcmV2aW91cztcbiAgICAgICAgICAgICAgICBjb25zdCBpc0Rpc2FibGVkID0gaXNDb250cm9sICYmIGl0ZW0uZGlzYWJsZWQ7XG4gICAgICAgICAgICAgICAgY29uc3QgaWNvbk5hbWUgPSBpc0NvbnRyb2xcbiAgICAgICAgICAgICAgICAgICAgPyBQQUdJTkFUSU9OX0NPTlRST0xfSUNPTltpdGVtLnR5cGVdXG4gICAgICAgICAgICAgICAgICAgIDogdW5kZWZpbmVkO1xuICAgICAgICAgICAgICAgIHJldHVybiAoX2pzeChcImxpXCIsIHsgY2xhc3NOYW1lOiBjbGFzc2VzKFBBR0lOQVRJT05fU0xPVC5pdGVtKSwgY2hpbGRyZW46IF9qc3hzKFwiYnV0dG9uXCIsIHsgdHlwZTogXCJidXR0b25cIiwgY2xhc3NOYW1lOiBjbGFzc2VzKFBBR0lOQVRJT05fU0xPVC5idXR0b24sIGpvaW5DbHMoaXNQYWdlID8gY2xhc3NlcyhQQUdJTkFUSU9OX1NMT1QuYnV0dG9uUGFnZSkgOiBjbGFzc2VzKFBBR0lOQVRJT05fU0xPVC5idXR0b25Db250cm9sKSwgaXNQYWdlICYmIGl0ZW0uY3VycmVudCAmJiBjbGFzc2VzKFBBR0lOQVRJT05fU0xPVC5idXR0b25DdXJyZW50KSwgaXNDb250cm9sICYmICFzaG93Q29udHJvbFRleHQgJiYgY2xhc3NlcyhQQUdJTkFUSU9OX1NMT1QuYnV0dG9uQ29udHJvbEljb25Pbmx5KSwgaXNEaXNhYmxlZCAmJiBjbGFzc2VzKFBBR0lOQVRJT05fU0xPVC5idXR0b25EaXNhYmxlZCkpKSwgXCJhcmlhLWxhYmVsXCI6IGdldEJ1dHRvbkFyaWFMYWJlbChpdGVtLCBsb2NhbGUpLCBcImFyaWEtY3VycmVudFwiOiBpc1BhZ2UgJiYgaXRlbS5jdXJyZW50ID8gJ3BhZ2UnIDogdW5kZWZpbmVkLCBkaXNhYmxlZDogaXNEaXNhYmxlZCB8fCB1bmRlZmluZWQsIFwiZGF0YS1wYWdlXCI6IGlzRGlzYWJsZWQgPyB1bmRlZmluZWQgOiBpdGVtLnBhZ2UsIGNoaWxkcmVuOiBbaXNDb250cm9sICYmIGlzUHJldmlvdXMgJiYgKF9qc3goXCJzcGFuXCIsIHsgY2xhc3NOYW1lOiBjbGFzc2VzKFBBR0lOQVRJT05fU0xPVC5pY29uKSwgY2hpbGRyZW46IF9qc3goSWNvbnMsIHsgbmFtZTogaWNvbk5hbWUsIHNpemU6IFBBR0lOQVRJT05fQ09OVFJPTF9JQ09OX1NJWkUsIGNvbG9yOiBQQUdJTkFUSU9OX0NPTlRST0xfSUNPTl9DT0xPUiB9KSB9KSksIChpc1BhZ2UgfHwgc2hvd0NvbnRyb2xUZXh0KSAmJiAoX2pzeChUeXBvZ3JhcGh5Qm9keSwgeyBzaXplOiBQQUdJTkFUSU9OX1RFWFRfU0laRSwgc3Ryb25nOiB0cnVlLCBjb2xvcjogZ2V0SXRlbVRleHRDb2xvcihpdGVtKSwgY2hpbGRyZW46IGlzUGFnZSA/IGl0ZW0ucGFnZSA6IFBBR0lOQVRJT05fQ09OVFJPTF9URVhUW2l0ZW0udHlwZV0gfSkpLCBpc0NvbnRyb2wgJiYgIWlzUHJldmlvdXMgJiYgKF9qc3goXCJzcGFuXCIsIHsgY2xhc3NOYW1lOiBjbGFzc2VzKFBBR0lOQVRJT05fU0xPVC5pY29uKSwgY2hpbGRyZW46IF9qc3goSWNvbnMsIHsgbmFtZTogaWNvbk5hbWUsIHNpemU6IFBBR0lOQVRJT05fQ09OVFJPTF9JQ09OX1NJWkUsIGNvbG9yOiBQQUdJTkFUSU9OX0NPTlRST0xfSUNPTl9DT0xPUiB9KSB9KSldIH0pIH0sIGl0ZW0ua2V5KSk7XG4gICAgICAgICAgICB9KSB9KSB9KSkpO1xufSk7XG5QYWdpbmF0aW9uQmFzZS5kaXNwbGF5TmFtZSA9IFBBR0lOQVRJT05fQ09NUE9ORU5UX05BTUU7XG5leHBvcnQgY29uc3QgUGFnaW5hdGlvbiA9IG1lbW8oUGFnaW5hdGlvbkJhc2UpO1xuZXhwb3J0IGRlZmF1bHQgUGFnaW5hdGlvbjsiLG51bGxdLCJzb3VyY2VSb290IjoiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjIn0=
|
|
@@ -39,6 +39,7 @@ export declare const PAGINATION_SLOT: {
|
|
|
39
39
|
readonly button: "button";
|
|
40
40
|
readonly buttonPage: "button-page";
|
|
41
41
|
readonly buttonControl: "button-control";
|
|
42
|
+
readonly buttonControlIconOnly: "button-control-icon-only";
|
|
42
43
|
readonly buttonCurrent: "button-current";
|
|
43
44
|
readonly buttonDisabled: "button-disabled";
|
|
44
45
|
readonly ellipsis: "ellipsis";
|
|
@@ -38,6 +38,7 @@ export var PAGINATION_SLOT = {
|
|
|
38
38
|
button: 'button',
|
|
39
39
|
buttonPage: 'button-page',
|
|
40
40
|
buttonControl: 'button-control',
|
|
41
|
+
buttonControlIconOnly: 'button-control-icon-only',
|
|
41
42
|
buttonCurrent: 'button-current',
|
|
42
43
|
buttonDisabled: 'button-disabled',
|
|
43
44
|
ellipsis: 'ellipsis',
|
|
@@ -53,4 +54,4 @@ export var PAGINATION_KEY_PREFIX = {
|
|
|
53
54
|
page: 'page',
|
|
54
55
|
ellipsis: 'ellipsis'
|
|
55
56
|
};
|
|
56
|
-
//# sourceMappingURL=data:application/json;charset=utf8;base64,
|
|
57
|
+
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvc3JjL2NvbXBvbmVudHMvUGFnaW5hdGlvbi9jb25zdGFudHMudHMiLCJjb21wb25lbnRzL1BhZ2luYXRpb24vY29uc3RhbnRzLmpzIl0sIm5hbWVzIjpbIlBBR0lOQVRJT05fQ09NUE9ORU5UX05BTUUiLCJQQUdJTkFUSU9OX0RFRkFVTFRfUFJFRklYIiwiUEFHSU5BVElPTl9JVEVNX1RZUEUiLCJwcmV2aW91cyIsInBhZ2UiLCJlbGxpcHNpcyIsIm5leHQiLCJQQUdJTkFUSU9OX0VMTElQU0lTX1BPU0lUSU9OIiwic3RhcnQiLCJlbmQiLCJQQUdJTkFUSU9OX0RFRkFVTFRfQ1VSUkVOVCIsIlBBR0lOQVRJT05fREVGQVVMVF9QQUdFX1NJWkUiLCJQQUdJTkFUSU9OX0RFRkFVTFRfVE9UQUwiLCJQQUdJTkFUSU9OX0RFRkFVTFRfQk9VTkRBUllfQ09VTlQiLCJQQUdJTkFUSU9OX0RFRkFVTFRfTUlERExFX1BBR0VfQ09VTlQiLCJQQUdJTkFUSU9OX0NPTlRST0xfSUNPTl9TSVpFIiwiUEFHSU5BVElPTl9DT05UUk9MX0lDT05fQ09MT1IiLCJQQUdJTkFUSU9OX0VMTElQU0lTX1RFWFQiLCJQQUdJTkFUSU9OX0NPTlRST0xfVEVYVCIsIl9kZWZpbmVQcm9wZXJ0eSIsIlBBR0lOQVRJT05fQ09OVFJPTF9JQ09OIiwiUEFHSU5BVElPTl9URVhUX0NPTE9SIiwiY3VycmVudCIsImRpc2FibGVkIiwiUEFHSU5BVElPTl9TTE9UIiwibGlzdCIsIml0ZW0iLCJpdGVtRWxsaXBzaXMiLCJidXR0b24iLCJidXR0b25QYWdlIiwiYnV0dG9uQ29udHJvbCIsImJ1dHRvbkNvbnRyb2xJY29uT25seSIsImJ1dHRvbkN1cnJlbnQiLCJidXR0b25EaXNhYmxlZCIsImljb24iLCJQQUdJTkFUSU9OX1RFWFRfU0laRSIsIlBBR0lOQVRJT05fR0FQX0ZJTExfVEhSRVNIT0xEIiwiUEFHSU5BVElPTl9LRVlfUFJFRklYIl0sIm1hcHBpbmdzIjoiO0FBR0EsT0FBTyxJQUFNQSx5QkFBeUIsR0FBRyxZQUFZO0FBQ3JELE9BQU8sSUFBTUMseUJBQXlCLEdBQUcsWUFBWTtBQUVyRDtBQUNBLE9BQU8sSUFBTUMsb0JBQW9CLEdBQUc7RUFDbENDLFFBQVEsRUFBRSxVQUFVO0VBQ3BCQyxJQUFJLEVBQUUsTUFBTTtFQUNaQyxRQUFRLEVBQUUsVUFBVTtFQUNwQkMsSUFBSSxFQUFFO0FDSFIsQ0RJdUQ7QUFFdkQ7QUFDQSxPQUFPLElBQU1DLDRCQUE0QixHQUFHO0VBQzFDQyxLQUFLLEVBQUUsT0FBTztFQUNkQyxHQUFHLEVBQUU7QUNKUCxDREtVO0FBRVY7QUFDQSxPQUFPLElBQU1DLDBCQUEwQixHQUFHLENBQUM7QUFDM0MsT0FBTyxJQUFNQyw0QkFBNEIsR0FBRyxFQUFFO0FBQzlDLE9BQU8sSUFBTUMsd0JBQXdCLEdBQUcsQ0FBQztBQUN6QyxPQUFPLElBQU1DLGlDQUFpQyxHQUFHLENBQUM7QUFDbEQsT0FBTyxJQUFNQyxvQ0FBb0MsR0FBRyxDQUFDO0FBRXJEO0FBQ0EsT0FBTyxJQUFNQyw0QkFBNEIsR0FBRyxFQUFFO0FBQzlDLE9BQU8sSUFBTUMsNkJBQTZCLEdBQUcsY0FBYztBQUMzRCxPQUFPLElBQU1DLHdCQUF3QixHQUFHLEtBQUs7QUFFN0MsT0FBTyxJQUFNQyx1QkFBdUIsR0FBQUMsZUFBQSxDQUFBQSxlQUFBLEtBQ2pDakIsb0JBQW9CLENBQUNDLFFBQVEsRUFBRyxVQUFVLEdBQzFDRCxvQkFBb0IsQ0FBQ0ksSUFBSSxFQUFHLE1BQU0sQ0FDM0I7QUFFVixPQUFPLElBQU1jLHVCQUF1QixHQUFBRCxlQUFBLENBQUFBLGVBQUEsS0FDakNqQixvQkFBb0IsQ0FBQ0MsUUFBUSxFQUFHLGFBQWEsR0FDN0NELG9CQUFvQixDQUFDSSxJQUFJLEVBQUcsY0FBYyxDQUNuQztBQUVWLE9BQU8sSUFBTWUscUJBQXFCLEdBQUc7RUFDbkMsV0FBUyxTQUFTO0VBQ2xCQyxPQUFPLEVBQUUsWUFBWTtFQUNyQkMsUUFBUSxFQUFFO0FDVFosQ0RVZ0Y7QUFFaEY7QUFDQSxPQUFPLElBQU1DLGVBQWUsR0FBRztFQUM3QkMsSUFBSSxFQUFFLE1BQU07RUFDWkMsSUFBSSxFQUFFLE1BQU07RUFDWkMsWUFBWSxFQUFFLGVBQWU7RUFDN0JDLE1BQU0sRUFBRSxRQUFRO0VBQ2hCQyxVQUFVLEVBQUUsYUFBYTtFQUN6QkMsYUFBYSxFQUFFLGdCQUFnQjtFQUMvQkMscUJBQXFCLEVBQUUsMEJBQTBCO0VBQ2pEQyxhQUFhLEVBQUUsZ0JBQWdCO0VBQy9CQyxjQUFjLEVBQUUsaUJBQWlCO0VBQ2pDNUIsUUFBUSxFQUFFLFVBQVU7RUFDcEI2QixJQUFJLEVBQUU7QUNWUixDRFdVO0FBRVY7QUFDQTtBQUNBLE9BQU8sSUFBTUMsb0JBQW9CLEdBQXVCLElBQUk7QUFFNUQ7QUFDQSxPQUFPLElBQU1DLDZCQUE2QixHQUFHLENBQUM7QUFFOUM7QUFDQSxPQUFPLElBQU1DLHFCQUFxQixHQUFHO0VBQ25DakMsSUFBSSxFQUFFLE1BQU07RUFDWkMsUUFBUSxFQUFFO0FDYlosQ0RjVSIsImZpbGUiOiJjb21wb25lbnRzL1BhZ2luYXRpb24vY29uc3RhbnRzLmpzIiwic291cmNlc0NvbnRlbnQiOltudWxsLCJleHBvcnQgY29uc3QgUEFHSU5BVElPTl9DT01QT05FTlRfTkFNRSA9ICdQYWdpbmF0aW9uJztcbmV4cG9ydCBjb25zdCBQQUdJTkFUSU9OX0RFRkFVTFRfUFJFRklYID0gJ3BhZ2luYXRpb24nO1xuLy8gLS0tIEl0ZW0gdHlwZXMgLS0tXG5leHBvcnQgY29uc3QgUEFHSU5BVElPTl9JVEVNX1RZUEUgPSB7XG4gICAgcHJldmlvdXM6ICdwcmV2aW91cycsXG4gICAgcGFnZTogJ3BhZ2UnLFxuICAgIGVsbGlwc2lzOiAnZWxsaXBzaXMnLFxuICAgIG5leHQ6ICduZXh0Jyxcbn07XG4vLyAtLS0gRWxsaXBzaXMgcG9zaXRpb24gLS0tXG5leHBvcnQgY29uc3QgUEFHSU5BVElPTl9FTExJUFNJU19QT1NJVElPTiA9IHtcbiAgICBzdGFydDogJ3N0YXJ0JyxcbiAgICBlbmQ6ICdlbmQnLFxufTtcbi8vIC0tLSBEZWZhdWx0cyAtLS1cbmV4cG9ydCBjb25zdCBQQUdJTkFUSU9OX0RFRkFVTFRfQ1VSUkVOVCA9IDE7XG5leHBvcnQgY29uc3QgUEFHSU5BVElPTl9ERUZBVUxUX1BBR0VfU0laRSA9IDEwO1xuZXhwb3J0IGNvbnN0IFBBR0lOQVRJT05fREVGQVVMVF9UT1RBTCA9IDA7XG5leHBvcnQgY29uc3QgUEFHSU5BVElPTl9ERUZBVUxUX0JPVU5EQVJZX0NPVU5UID0gMTtcbmV4cG9ydCBjb25zdCBQQUdJTkFUSU9OX0RFRkFVTFRfTUlERExFX1BBR0VfQ09VTlQgPSAzO1xuLy8gLS0tIFVJIC0tLVxuZXhwb3J0IGNvbnN0IFBBR0lOQVRJT05fQ09OVFJPTF9JQ09OX1NJWkUgPSAxNjtcbmV4cG9ydCBjb25zdCBQQUdJTkFUSU9OX0NPTlRST0xfSUNPTl9DT0xPUiA9ICdjdXJyZW50Q29sb3InO1xuZXhwb3J0IGNvbnN0IFBBR0lOQVRJT05fRUxMSVBTSVNfVEVYVCA9ICcuLi4nO1xuZXhwb3J0IGNvbnN0IFBBR0lOQVRJT05fQ09OVFJPTF9URVhUID0ge1xuICAgIFtQQUdJTkFUSU9OX0lURU1fVFlQRS5wcmV2aW91c106ICdQcmV2aW91cycsXG4gICAgW1BBR0lOQVRJT05fSVRFTV9UWVBFLm5leHRdOiAnTmV4dCcsXG59O1xuZXhwb3J0IGNvbnN0IFBBR0lOQVRJT05fQ09OVFJPTF9JQ09OID0ge1xuICAgIFtQQUdJTkFUSU9OX0lURU1fVFlQRS5wcmV2aW91c106ICdjaGV2cm9uTGVmdCcsXG4gICAgW1BBR0lOQVRJT05fSVRFTV9UWVBFLm5leHRdOiAnY2hldnJvblJpZ2h0Jyxcbn07XG5leHBvcnQgY29uc3QgUEFHSU5BVElPTl9URVhUX0NPTE9SID0ge1xuICAgIGRlZmF1bHQ6ICdkZWZhdWx0JyxcbiAgICBjdXJyZW50OiAnb24tbmV1dHJhbCcsXG4gICAgZGlzYWJsZWQ6ICdkaXNhYmxlZCcsXG59O1xuLy8gLS0tIEJFTSBtb2RpZmllcnMgLS0tXG5leHBvcnQgY29uc3QgUEFHSU5BVElPTl9TTE9UID0ge1xuICAgIGxpc3Q6ICdsaXN0JyxcbiAgICBpdGVtOiAnaXRlbScsXG4gICAgaXRlbUVsbGlwc2lzOiAnaXRlbS1lbGxpcHNpcycsXG4gICAgYnV0dG9uOiAnYnV0dG9uJyxcbiAgICBidXR0b25QYWdlOiAnYnV0dG9uLXBhZ2UnLFxuICAgIGJ1dHRvbkNvbnRyb2w6ICdidXR0b24tY29udHJvbCcsXG4gICAgYnV0dG9uQ29udHJvbEljb25Pbmx5OiAnYnV0dG9uLWNvbnRyb2wtaWNvbi1vbmx5JyxcbiAgICBidXR0b25DdXJyZW50OiAnYnV0dG9uLWN1cnJlbnQnLFxuICAgIGJ1dHRvbkRpc2FibGVkOiAnYnV0dG9uLWRpc2FibGVkJyxcbiAgICBlbGxpcHNpczogJ2VsbGlwc2lzJyxcbiAgICBpY29uOiAnaWNvbicsXG59O1xuLy8gLS0tIFR5cG9ncmFwaHkgLS0tXG4vLyBGaWdtYSBcIlNpbmdsZSBMaW5lL0JvZHkgU21hbGxcIiDigJQgMTJweCAvIDUwMCB3ZWlnaHQgKHN0cm9uZykgLyAxNiBsaW5lLWhlaWdodC5cbmV4cG9ydCBjb25zdCBQQUdJTkFUSU9OX1RFWFRfU0laRSA9ICdzbSc7XG4vLyAtLS0gR2FwIHRocmVzaG9sZHMgdXNlZCB3aGVuIGluc2VydGluZyBlbGxpcHNpcyAtLS1cbmV4cG9ydCBjb25zdCBQQUdJTkFUSU9OX0dBUF9GSUxMX1RIUkVTSE9MRCA9IDI7XG4vLyAtLS0gS2V5IHByZWZpeGVzIC0tLVxuZXhwb3J0IGNvbnN0IFBBR0lOQVRJT05fS0VZX1BSRUZJWCA9IHtcbiAgICBwYWdlOiAncGFnZScsXG4gICAgZWxsaXBzaXM6ICdlbGxpcHNpcycsXG59OyJdLCJzb3VyY2VSb290IjoiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjIn0=
|
|
@@ -18,6 +18,10 @@ export interface UsePaginationOptions {
|
|
|
18
18
|
}
|
|
19
19
|
export interface PaginationProps extends Omit<HTMLAttributes<HTMLElement>, 'onChange'>, UsePaginationOptions {
|
|
20
20
|
prefixCls?: string;
|
|
21
|
+
/** Show Previous/Next labels beside the control icons. */
|
|
22
|
+
showControlText?: boolean;
|
|
23
|
+
/** Use compact inactive pages while keeping the current page 28px square. */
|
|
24
|
+
compact?: boolean;
|
|
21
25
|
'aria-label'?: string;
|
|
22
26
|
}
|
|
23
27
|
export interface PaginationItemBase {
|
|
@@ -73,6 +73,18 @@
|
|
|
73
73
|
min-height: var(--om-spacing-800, 32px);
|
|
74
74
|
padding: var(--om-spacing-200, 8px) var(--om-spacing-300, 12px);
|
|
75
75
|
}
|
|
76
|
+
.om-component-ui-pagination-button-control-icon-only {
|
|
77
|
+
width: calc(var(--om-spacing-800, 32px) + var(--om-spacing-200, 8px));
|
|
78
|
+
height: var(--om-spacing-800, 32px);
|
|
79
|
+
}
|
|
80
|
+
.om-component-ui-pagination-compact .om-component-ui-pagination-button-page:not(.om-component-ui-pagination-button-current) {
|
|
81
|
+
min-width: 18px;
|
|
82
|
+
min-height: var(--om-component-height-xs, 24px);
|
|
83
|
+
font-variant-numeric: normal;
|
|
84
|
+
}
|
|
85
|
+
.om-component-ui-pagination-compact .om-component-ui-pagination-button-page:not(.om-component-ui-pagination-button-current)[data-page="3"], .om-component-ui-pagination-compact .om-component-ui-pagination-button-page:not(.om-component-ui-pagination-button-current)[data-page="4"] {
|
|
86
|
+
min-width: 19px;
|
|
87
|
+
}
|
|
76
88
|
.om-component-ui-pagination-button-current {
|
|
77
89
|
color: var(--om-text-on-neutral, #fff);
|
|
78
90
|
background-color: var(--om-bg-brand, #073387);
|
|
@@ -17,7 +17,7 @@ import SelectSearchControl from './SelectSearchControl';
|
|
|
17
17
|
import SelectValueContent from './SelectValueContent';
|
|
18
18
|
import { useSelectShell } from './useSelectShell';
|
|
19
19
|
import { KEYBOARD, SELECT_TYPOGRAPHY } from './constants';
|
|
20
|
-
import { extractOptionText, filterOptionGroups, flattenOptionGroups, getMultipleValue, getFontSize, getOptionsByValues, getSelectedOptions, isOptionSelected, normalizeSize, normalizeOptionGroups, removeMultipleValue, toggleMultipleValue } from './utils';
|
|
20
|
+
import { extractOptionText, filterOptionGroups, flattenOptionGroups, getMultipleValue, getFontSize, getOptionsByValues, getSelectedOptions, isOptionSelected, isSelectMultipleValue, normalizeSize, normalizeOptionGroups, removeMultipleValue, toggleMultipleValue } from './utils';
|
|
21
21
|
import './style';
|
|
22
22
|
var DEFAULT_MAX_HEIGHT = 320;
|
|
23
23
|
export var Select = function Select(props) {
|
|
@@ -137,6 +137,9 @@ export var Select = function Select(props) {
|
|
|
137
137
|
var selectedOptions = useMemo(function () {
|
|
138
138
|
return getSelectedOptions(allFlatOptions, innerValue, multiple);
|
|
139
139
|
}, [allFlatOptions, innerValue, multiple]);
|
|
140
|
+
// Rebuild per render: controlled arrays may be mutated in place, and option
|
|
141
|
+
// membership previously read their current contents on every render.
|
|
142
|
+
var selectedValues = isSelectMultipleValue(innerValue, multiple) ? new Set(innerValue) : null;
|
|
140
143
|
var selectedIndex = useMemo(function () {
|
|
141
144
|
if (selectedOptions.length === 0) {
|
|
142
145
|
return null;
|
|
@@ -340,10 +343,17 @@ export var Select = function Select(props) {
|
|
|
340
343
|
var handleSearchBlur = useEventCallback(function (event) {
|
|
341
344
|
notifyBlurIfOutside(event.relatedTarget, event);
|
|
342
345
|
});
|
|
343
|
-
var handleSearchChange = useEventCallback(function (nextValue
|
|
346
|
+
var handleSearchChange = useEventCallback(function (nextValue) {
|
|
344
347
|
setInnerSearchValue(nextValue);
|
|
345
348
|
onSearchChange === null || onSearchChange === void 0 ? void 0 : onSearchChange(nextValue);
|
|
346
349
|
});
|
|
350
|
+
var handleSearchClear = useEventCallback(function () {
|
|
351
|
+
var _a;
|
|
352
|
+
handleSearchChange('');
|
|
353
|
+
(_a = searchInputRef.current) === null || _a === void 0 ? void 0 : _a.focus({
|
|
354
|
+
preventScroll: true
|
|
355
|
+
});
|
|
356
|
+
});
|
|
347
357
|
var findEnabledIndex = useEventCallback(function (current, direction) {
|
|
348
358
|
var _a;
|
|
349
359
|
var length = visibleFlatOptions.length;
|
|
@@ -499,6 +509,7 @@ export var Select = function Select(props) {
|
|
|
499
509
|
activeDescendant: activeOptionId,
|
|
500
510
|
onBlur: handleSearchBlur,
|
|
501
511
|
onChange: handleSearchChange,
|
|
512
|
+
onClear: handleSearchClear,
|
|
502
513
|
onKeyDown: handleSearchKeyDown
|
|
503
514
|
}), _jsxs("div", {
|
|
504
515
|
className: classes('panel-body'),
|
|
@@ -527,7 +538,7 @@ export var Select = function Select(props) {
|
|
|
527
538
|
}), group.options.map(function (option) {
|
|
528
539
|
var optionFlatIndex = flatIndex;
|
|
529
540
|
flatIndex += 1;
|
|
530
|
-
var selected = isOptionSelected(innerValue, multiple, option.value);
|
|
541
|
+
var selected = selectedValues ? selectedValues.has(option.value) : isOptionSelected(innerValue, multiple, option.value);
|
|
531
542
|
var active = activeIndex === optionFlatIndex;
|
|
532
543
|
var optionMeta = {
|
|
533
544
|
active: active,
|
|
@@ -584,4 +595,4 @@ export var Select = function Select(props) {
|
|
|
584
595
|
};
|
|
585
596
|
Select.displayName = 'Select';
|
|
586
597
|
export default /*#__PURE__*/memo(Select);
|
|
587
|
-
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvU2VsZWN0L1NlbGVjdC5qcyIsImNvbXBvbmVudHMvc3JjL2NvbXBvbmVudHMvU2VsZWN0L1NlbGVjdC50c3giXSwibmFtZXMiOlsianN4IiwiX2pzeCIsImpzeHMiLCJfanN4cyIsIkZsb2F0aW5nRm9jdXNNYW5hZ2VyIiwiRmxvYXRpbmdQb3J0YWwiLCJ1c2VJbnRlcmFjdGlvbnMiLCJ1c2VMaXN0TmF2aWdhdGlvbiIsInVzZVR5cGVhaGVhZCIsIm1lbW8iLCJ1c2VFZmZlY3QiLCJ1c2VJZCIsInVzZU1lbW8iLCJ1c2VSZWYiLCJ1c2VTdGF0ZSIsInVzZUNvbnRyb2xsZWRTdGF0ZSIsInVzZUV2ZW50Q2FsbGJhY2siLCJ1c2VMb2NhbGUiLCJ1c2VGb3JtQ29udHJvbFNpemUiLCJJY29ucyIsIlNwaW5uZXIiLCJUeXBvZ3JhcGh5Qm9keSIsIlR5cG9ncmFwaHlMYWJlbCIsImpvaW5DbHMiLCJkZWZhdWx0Iiwicm9vdENsYXNzbmFtZXMiLCJTZWxlY3RGaWVsZFNoZWxsIiwiU2VsZWN0T3B0aW9uQ29udGVudCIsIlNlbGVjdFNlYXJjaENvbnRyb2wiLCJTZWxlY3RWYWx1ZUNvbnRlbnQiLCJ1c2VTZWxlY3RTaGVsbCIsIktFWUJPQVJEIiwiU0VMRUNUX1RZUE9HUkFQSFkiLCJleHRyYWN0T3B0aW9uVGV4dCIsImZpbHRlck9wdGlvbkdyb3VwcyIsImZsYXR0ZW5PcHRpb25Hcm91cHMiLCJnZXRNdWx0aXBsZVZhbHVlIiwiZ2V0Rm9udFNpemUiLCJnZXRPcHRpb25zQnlWYWx1ZXMiLCJnZXRTZWxlY3RlZE9wdGlvbnMiLCJpc09wdGlvblNlbGVjdGVkIiwibm9ybWFsaXplU2l6ZSIsIm5vcm1hbGl6ZU9wdGlvbkdyb3VwcyIsInJlbW92ZU11bHRpcGxlVmFsdWUiLCJ0b2dnbGVNdWx0aXBsZVZhbHVlIiwiREVGQVVMVF9NQVhfSEVJR0hUIiwiU2VsZWN0IiwicHJvcHMiLCJfYSIsImxvY2FsZSIsIl9wcm9wcyRjbGFzc05hbWUiLCJjbGFzc05hbWUiLCJfcHJvcHMkcHJlZml4Q2xzIiwicHJlZml4Q2xzIiwic3R5bGUiLCJpZCIsIm5hbWUiLCJhcmlhTGFiZWwiLCJhcmlhTGFiZWxsZWRCeSIsIl9wcm9wcyRwbGFjZWhvbGRlciIsInBsYWNlaG9sZGVyIiwiX3Byb3BzJG9wdGlvbnMiLCJvcHRpb25zIiwidmFsdWUiLCJkZWZhdWx0VmFsdWUiLCJzaXplUHJvcCIsInNpemUiLCJfcHJvcHMkc3RhdHVzIiwic3RhdHVzIiwiX3Byb3BzJHZhcmlhbnQiLCJ2YXJpYW50IiwiX3Byb3BzJGRpc2FibGVkIiwiZGlzYWJsZWQiLCJkaXNhYmxlZFByb3AiLCJfcHJvcHMkcmVhZE9ubHkiLCJyZWFkT25seSIsIl9wcm9wcyRsb2FkaW5nIiwibG9hZGluZyIsIl9wcm9wcyRtdWx0aXBsZSIsIm11bHRpcGxlIiwibWF4VmlzaWJsZVZhbHVlcyIsIl9wcm9wcyRzZWFyY2hhYmxlIiwic2VhcmNoYWJsZSIsIl9wcm9wcyRzZWFyY2hQbGFjZWhvbCIsInNlYXJjaFBsYWNlaG9sZGVyIiwic2VhcmNoVmFsdWUiLCJfcHJvcHMkZGVmYXVsdFNlYXJjaFYiLCJkZWZhdWx0U2VhcmNoVmFsdWUiLCJfcHJvcHMkZmlsdGVySW5wdXRBdXQiLCJmaWx0ZXJJbnB1dEF1dG9Gb2N1cyIsImxhYmVsIiwibGFiZWxDbGFzc05hbWUiLCJpbmZvIiwiZGVzY3JpcHRpb24iLCJmZWVkYmFjayIsIl9wcm9wcyRyZXF1aXJlZCIsInJlcXVpcmVkIiwicHJlZml4IiwiX3Byb3BzJGVtcHR5Q29udGVudCIsImVtcHR5Q29udGVudCIsInBhbmVsSGVhZGVyIiwicGFuZWxGb290ZXIiLCJvcGVuIiwiX3Byb3BzJGRlZmF1bHRPcGVuIiwiZGVmYXVsdE9wZW4iLCJfcHJvcHMkcG9ydGFsIiwicG9ydGFsIiwiX3Byb3BzJGFsbG93RGVzZWxlY3QiLCJhbGxvd0Rlc2VsZWN0IiwicGFuZWxDbGFzc05hbWUiLCJvcHRpb25DbGFzc05hbWUiLCJncm91cExhYmVsQ2xhc3NOYW1lIiwiX3Byb3BzJGxpc3RNYXhIZWlnaHQiLCJsaXN0TWF4SGVpZ2h0Iiwib2Zmc2V0IiwiYW5pbWF0aW9uIiwib25DaGFuZ2UiLCJvbk9wZW5DaGFuZ2UiLCJvblNlYXJjaENoYW5nZSIsIm9uQmx1ciIsImZpbHRlck9wdGlvbiIsInJlbmRlck9wdGlvbiIsInJlbmRlck9wdGlvbkNvbnRlbnQiLCJyZW5kZXJWYWx1ZSIsInJlZiIsImNvbnRleHRTaXplIiwiaW50ZXJhY3RpdmUiLCJjbGFzc2VzIiwiYXV0b0lkIiwidHJpZ2dlcklkIiwibGFiZWxJZCIsImRlc2NyaXB0aW9uSWQiLCJmZWVkYmFja0lkIiwib3B0aW9uSWRQcmVmaXgiLCJfdXNlQ29udHJvbGxlZFN0YXRlIiwidW5kZWZpbmVkIiwiX3VzZUNvbnRyb2xsZWRTdGF0ZTIiLCJfc2xpY2VkVG9BcnJheSIsImlubmVyVmFsdWUiLCJzZXRJbm5lclZhbHVlIiwiX3VzZUNvbnRyb2xsZWRTdGF0ZTMiLCJfdXNlQ29udHJvbGxlZFN0YXRlNCIsImlubmVyU2VhcmNoVmFsdWUiLCJzZXRJbm5lclNlYXJjaFZhbHVlIiwiX3VzZVN0YXRlIiwiX3VzZVN0YXRlMiIsImFjdGl2ZUluZGV4Iiwic2V0QWN0aXZlSW5kZXgiLCJub3JtYWxpemVkU2l6ZSIsImFsbE9wdGlvbkdyb3VwcyIsImFsbEZsYXRPcHRpb25zIiwidmlzaWJsZU9wdGlvbkdyb3VwcyIsInZpc2libGVGbGF0T3B0aW9ucyIsInNlbGVjdGVkT3B0aW9ucyIsInNlbGVjdGVkSW5kZXgiLCJsZW5ndGgiLCJtYXRjaGVkSW5kZXgiLCJmaW5kSW5kZXgiLCJvcHRpb24iLCJoYXNTZWxlY3Rpb24iLCJsaXN0UmVmIiwibGlzdENvbnRlbnRSZWYiLCJmbG9hdGluZ1JlZiIsInRyaWdnZXJSZWYiLCJzZWFyY2hJbnB1dFJlZiIsImhhbmRsZVRyaWdnZXJSZWYiLCJub2RlIiwiY3VycmVudCIsIl91c2VTZWxlY3RTaGVsbCIsImlubmVyT3BlbiIsImlzT3BlbiIsImhhbmRsZU9wZW5DaGFuZ2UiLCJzZXRPcGVuIiwicmVmcyIsImNvbnRleHQiLCJmbG9hdGluZ1N0eWxlcyIsInRyYW5zaXRpb25TdHlsZXMiLCJpc01vdW50ZWQiLCJiYXNlSW50ZXJhY3Rpb25zIiwic2V0UmVmZXJlbmNlIiwic2V0RmxvYXRpbmciLCJsaXN0TmF2aWdhdGlvbiIsIm9uTmF2aWdhdGUiLCJlbmFibGVkIiwibG9vcCIsInZpcnR1YWwiLCJ0eXBlYWhlYWQiLCJvbk1hdGNoIiwiX3VzZUludGVyYWN0aW9ucyIsImNvbmNhdCIsIl90b0NvbnN1bWFibGVBcnJheSIsImdldFJlZmVyZW5jZVByb3BzIiwiZ2V0RmxvYXRpbmdQcm9wcyIsImdldEl0ZW1Qcm9wcyIsImZpcnN0RW5hYmxlZEluZGV4IiwicHJldiIsImZvY3VzIiwicHJldmVudFNjcm9sbCIsInNsaWNlIiwic2V0U2VhcmNoSW5wdXRSZWYiLCJub3RpZnlCbHVySWZPdXRzaWRlIiwicmVsYXRlZFRhcmdldCIsImV2ZW50IiwiX2IiLCJuZXh0VGFyZ2V0Iiwid2l0aGluVHJpZ2dlciIsImNvbnRhaW5zIiwid2l0aGluRmxvYXRpbmciLCJoYW5kbGVUcmlnZ2VyQmx1ciIsImhhbmRsZU9wdGlvbkJsdXIiLCJjb21taXRDaGFuZ2UiLCJuZXh0VmFsdWUiLCJuZXh0T3B0aW9uIiwiaGFuZGxlU2VsZWN0T3B0aW9uIiwibmV4dE9wdGlvbnMiLCJoYW5kbGVSZW1vdmVTZWxlY3RlZFZhbHVlIiwib3B0aW9uVmFsdWUiLCJpbmNsdWRlcyIsImhhbmRsZVRyaWdnZXJLZXlEb3duIiwia2V5IiwiRU5URVIiLCJTUEFDRSIsInByZXZlbnREZWZhdWx0IiwiQVJST1dfRE9XTiIsIkFSUk9XX1VQIiwiaGFuZGxlSXRlbU1vdXNlRW50ZXIiLCJpbmRleCIsImhhbmRsZVRhZ1JlbW92ZU1vdXNlRG93biIsInN0b3BQcm9wYWdhdGlvbiIsImhhbmRsZVRhZ1JlbW92ZUNsaWNrIiwiaGFuZGxlU2VhcmNoQmx1ciIsImhhbmRsZVNlYXJjaENoYW5nZSIsIl9ldmVudCIsImZpbmRFbmFibGVkSW5kZXgiLCJkaXJlY3Rpb24iLCJzdGFydCIsInN0ZXAiLCJjYW5kaWRhdGUiLCJoYW5kbGVTZWFyY2hLZXlEb3duIiwibmV4dCIsIkVTQ0FQRSIsInJlbmRlclZhbHVlTWV0YSIsImZvbnRTaXplIiwidmFsdWVMYWJlbENsYXNzIiwiaXNNdWx0aXBsZVZhbHVlRmlsbGVkIiwidHJpZ2dlckNsYXNzTmFtZSIsImljb25TaXplIiwiYWN0aXZlT3B0aW9uSWQiLCJmbG9hdGluZ0FyaWFMYWJlbGxlZEJ5IiwiZGVzY3JpYmVkQnlJZHMiLCJmaWx0ZXIiLCJCb29sZWFuIiwiam9pbiIsImNoaWxkcmVuIiwiT2JqZWN0IiwiYXNzaWduIiwidHlwZSIsIm9uS2V5RG93biIsIm9uUmVtb3ZlIiwib25SZW1vdmVDbGljayIsIm9uUmVtb3ZlTW91c2VEb3duIiwic3Ryb2tlV2lkdGgiLCJjb2xvciIsInBhbmVsTm9kZSIsIm1vZGFsIiwiaW5pdGlhbEZvY3VzIiwicmV0dXJuRm9jdXMiLCJhY3RpdmVEZXNjZW5kYW50IiwiZW1wdHkiLCJmbGF0SW5kZXgiLCJtYXAiLCJncm91cCIsImdyb3VwTGFiZWwiLCJzdHJvbmciLCJvcHRpb25GbGF0SW5kZXgiLCJzZWxlY3RlZCIsImFjdGl2ZSIsIm9wdGlvbk1ldGEiLCJyb2xlIiwib25DbGljayIsIm9uTW91c2VFbnRlciIsImNvbnRlbnQiLCJkaXNwbGF5TmFtZSJdLCJtYXBwaW5ncyI6Ijs7QUFBQSxTQUFTQSxHQUFHLElBQUlDLElBQUksRUFBRUMsSUFBSSxJQUFJQyxLQUFLLFFBQVEsbUJBQW1CO0FDQTlELFNBQ0VDLG9CQUFvQixFQUNwQkMsY0FBYyxFQUNkQyxlQUFlLEVBQ2ZDLGlCQUFpQixFQUNqQkMsWUFBWSxRQUNQLG9CQUFvQjtBQUMzQixTQUFTQyxJQUFJLEVBQUVDLFNBQVMsRUFBRUMsS0FBSyxFQUFFQyxPQUFPLEVBQUVDLE1BQU0sRUFBRUMsUUFBUSxRQUFRLE9BQU87QUFDekUsT0FBT0Msa0JBQWtCLE1BQU0sa0NBQWtDO0FBQ2pFLE9BQU9DLGdC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Q0FBQSxDQUNhO0FBRXZCLENBQUM7QUFFRHpOLE1BQU0sQ0FBQzRPLFdBQVcsR0FBRyxRQUFRO0FBRTdCLDRCQUFlalIsSUFBSSxDQUFDcUMsTUFBTSxDQUFDIiwiZmlsZSI6ImNvbXBvbmVudHMvU2VsZWN0L1NlbGVjdC5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGpzeCBhcyBfanN4LCBqc3hzIGFzIF9qc3hzIH0gZnJvbSBcInJlYWN0L2pzeC1ydW50aW1lXCI7XG5pbXBvcnQgeyBGbG9hdGluZ0ZvY3VzTWFuYWdlciwgRmxvYXRpbmdQb3J0YWwsIHVzZUludGVyYWN0aW9ucywgdXNlTGlzdE5hdmlnYXRpb24sIHVzZVR5cGVhaGVhZCwgfSBmcm9tICdAZmxvYXRpbmctdWkvcmVhY3QnO1xuaW1wb3J0IHsgbWVtbywgdXNlRWZmZWN0LCB1c2VJZCwgdXNlTWVtbywgdXNlUmVmLCB1c2VTdGF0ZSB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB1c2VDb250cm9sbGVkU3RhdGUgZnJvbSAnQDFtb25leS9ob29rcy91c2VDb250cm9sbGVkU3RhdGUnO1xuaW1wb3J0IHVzZUV2ZW50Q2FsbGJhY2sgZnJvbSAnQDFtb25leS9ob29rcy91c2VFdmVudENhbGxiYWNrJztcbmltcG9ydCB7IHVzZUxvY2FsZSB9IGZyb20gJy4uL0NvbmZpZ1Byb3ZpZGVyJztcbmltcG9ydCB7IHVzZUZvcm1Db250cm9sU2l6ZSB9IGZyb20gJy4uL0Zvcm1MYXlvdXQvY29udGV4dCc7XG5pbXBvcnQgeyBJY29ucyB9IGZyb20gJy4uL0ljb25zJztcbmltcG9ydCB7IFNwaW5uZXIgfSBmcm9tICcuLi9TcGlubmVyJztcbmltcG9ydCB7IFR5cG9ncmFwaHlCb2R5LCBUeXBvZ3JhcGh5TGFiZWwgfSBmcm9tICcuLi9UeXBvZ3JhcGh5JztcbmltcG9ydCB7IGpvaW5DbHMsIGRlZmF1bHQgYXMgcm9vdENsYXNzbmFtZXMgfSBmcm9tICcuLi8uLi91dGlscy9jbGFzc25hbWVzJztcbmltcG9ydCBTZWxlY3RGaWVsZFNoZWxsIGZyb20gJy4vU2VsZWN0RmllbGRTaGVsbCc7XG5pbXBvcnQgU2VsZWN0T3B0aW9uQ29udGVudCBmcm9tICcuL1NlbGVjdE9wdGlvbkNvbnRlbnQnO1xuaW1wb3J0IFNlbGVjdFNlYXJjaENvbnRyb2wgZnJvbSAnLi9TZWxlY3RTZWFyY2hDb250cm9sJztcbmltcG9ydCBTZWxlY3RWYWx1ZUNvbnRlbnQgZnJvbSAnLi9TZWxlY3RWYWx1ZUNvbnRlbnQnO1xuaW1wb3J0IHsgdXNlU2VsZWN0U2hlbGwgfSBmcm9tICcuL3VzZVNlbGVjdFNoZWxsJztcbmltcG9ydCB7IEtFWUJPQVJELCBTRUxFQ1RfVFlQT0dSQVBIWSB9IGZyb20gJy4vY29uc3RhbnRzJztcbmltcG9ydCB7IGV4dHJhY3RPcHRpb25UZXh0LCBmaWx0ZXJPcHRpb25Hcm91cHMsIGZsYXR0ZW5PcHRpb25Hcm91cHMsIGdldE11bHRpcGxlVmFsdWUsIGdldEZvbnRTaXplLCBnZXRPcHRpb25zQnlWYWx1ZXMsIGdldFNlbGVjdGVkT3B0aW9ucywgaXNPcHRpb25TZWxlY3RlZCwgbm9ybWFsaXplU2l6ZSwgbm9ybWFsaXplT3B0aW9uR3JvdXBzLCByZW1vdmVNdWx0aXBsZVZhbHVlLCB0b2dnbGVNdWx0aXBsZVZhbHVlLCB9IGZyb20gJy4vdXRpbHMnO1xuaW1wb3J0ICcuL3N0eWxlJztcbmNvbnN0IERFRkFVTFRfTUFYX0hFSUdIVCA9IDMyMDtcbmV4cG9ydCBjb25zdCBTZWxlY3QgPSAocHJvcHMpID0+IHtcbiAgICB2YXIgX2E7XG4gICAgY29uc3QgbG9jYWxlID0gdXNlTG9jYWxlKCdTZWxlY3QnKTtcbiAgICBjb25zdCB7IGNsYXNzTmFtZSA9ICcnLCBwcmVmaXhDbHMgPSAnc2VsZWN0Jywgc3R5bGUsIGlkLCBuYW1lLCAnYXJpYS1sYWJlbCc6IGFyaWFMYWJlbCwgJ2FyaWEtbGFiZWxsZWRieSc6IGFyaWFMYWJlbGxlZEJ5LCBwbGFjZWhvbGRlciA9IGxvY2FsZS5wbGFjZWhvbGRlciwgb3B0aW9ucyA9IFtdLCB2YWx1ZSwgZGVmYXVsdFZhbHVlLCBzaXplOiBzaXplUHJvcCwgc3RhdHVzID0gJ2RlZmF1bHQnLCB2YXJpYW50ID0gJ2ZpbGwnLCBkaXNhYmxlZDogZGlzYWJsZWRQcm9wID0gZmFsc2UsIHJlYWRPbmx5ID0gZmFsc2UsIGxvYWRpbmcgPSBmYWxzZSwgbXVsdGlwbGUgPSBmYWxzZSwgbWF4VmlzaWJsZVZhbHVlcywgc2VhcmNoYWJsZSA9IGZhbHNlLCBzZWFyY2hQbGFjZWhvbGRlciA9IGxvY2FsZS5zZWFyY2hQbGFjZWhvbGRlciwgc2VhcmNoVmFsdWUsIGRlZmF1bHRTZWFyY2hWYWx1ZSA9ICcnLCBmaWx0ZXJJbnB1dEF1dG9Gb2N1cyA9IHRydWUsIGxhYmVsLCBsYWJlbENsYXNzTmFtZSwgaW5mbywgZGVzY3JpcHRpb24sIGZlZWRiYWNrLCByZXF1aXJlZCA9IHRydWUsIHByZWZpeCwgZW1wdHlDb250ZW50ID0gbG9jYWxlLmVtcHR5Q29udGVudCwgcGFuZWxIZWFkZXIsIHBhbmVsRm9vdGVyLCBvcGVuLCBkZWZhdWx0T3BlbiA9IGZhbHNlLCBwb3J0YWwgPSB0cnVlLCBhbGxvd0Rlc2VsZWN0ID0gZmFsc2UsIHBhbmVsQ2xhc3NOYW1lLCBvcHRpb25DbGFzc05hbWUsIGdyb3VwTGFiZWxDbGFzc05hbWUsIGxpc3RNYXhIZWlnaHQgPSBERUZBVUxUX01BWF9IRUlHSFQsIG9mZnNldCwgYW5pbWF0aW9uLCBvbkNoYW5nZSwgb25PcGVuQ2hhbmdlLCBvblNlYXJjaENoYW5nZSwgb25CbHVyLCBmaWx0ZXJPcHRpb24sIHJlbmRlck9wdGlvbiwgcmVuZGVyT3B0aW9uQ29udGVudCwgcmVuZGVyVmFsdWUsIHJlZiwgfSA9IHByb3BzO1xuICAgIC8vIEJhcmUtY29udHJvbCBzaXplIGRlZmF1bHQ6IGFuIGV4cGxpY2l0IGBzaXplYCB3aW5zOyBpbnNpZGUgYSBGb3JtTGF5b3V0XG4gICAgLy8gdGhlIHZhcmlhbnQncyBjb250cm9sU2l6ZSBhcHBsaWVzOyBlbHNld2hlcmUgJ2xhcmdlJy5cbiAgICBjb25zdCBjb250ZXh0U2l6ZSA9IHVzZUZvcm1Db250cm9sU2l6ZSgpO1xuICAgIGNvbnN0IHNpemUgPSAoX2EgPSBzaXplUHJvcCAhPT0gbnVsbCAmJiBzaXplUHJvcCAhPT0gdm9pZCAwID8gc2l6ZVByb3AgOiBjb250ZXh0U2l6ZSkgIT09IG51bGwgJiYgX2EgIT09IHZvaWQgMCA/IF9hIDogJ2xhcmdlJztcbiAgICBjb25zdCBkaXNhYmxlZCA9IGRpc2FibGVkUHJvcCB8fCBsb2FkaW5nO1xuICAgIGNvbnN0IGludGVyYWN0aXZlID0gIWRpc2FibGVkICYmICFyZWFkT25seTtcbiAgICBjb25zdCBjbGFzc2VzID0gcm9vdENsYXNzbmFtZXMocHJlZml4Q2xzKTtcbiAgICBjb25zdCBhdXRvSWQgPSB1c2VJZCgpO1xuICAgIGNvbnN0IHRyaWdnZXJJZCA9IGlkICE9PSBudWxsICYmIGlkICE9PSB2b2lkIDAgPyBpZCA6IGF1dG9JZDtcbiAgICBjb25zdCBsYWJlbElkID0gdXNlSWQoKTtcbiAgICBjb25zdCBkZXNjcmlwdGlvbklkID0gdXNlSWQoKTtcbiAgICBjb25zdCBmZWVkYmFja0lkID0gdXNlSWQoKTtcbiAgICBjb25zdCBvcHRpb25JZFByZWZpeCA9IHVzZUlkKCk7XG4gICAgY29uc3QgW2lubmVyVmFsdWUsIHNldElubmVyVmFsdWVdID0gdXNlQ29udHJvbGxlZFN0YXRlKGRlZmF1bHRWYWx1ZSAhPT0gbnVsbCAmJiBkZWZhdWx0VmFsdWUgIT09IHZvaWQgMCA/IGRlZmF1bHRWYWx1ZSA6IChtdWx0aXBsZSA/IFtdIDogdW5kZWZpbmVkKSwgdmFsdWUpO1xuICAgIGNvbnN0IFtpbm5lclNlYXJjaFZhbHVlLCBzZXRJbm5lclNlYXJjaFZhbHVlXSA9IHVzZUNvbnRyb2xsZWRTdGF0ZShkZWZhdWx0U2VhcmNoVmFsdWUsIHNlYXJjaFZhbHVlKTtcbiAgICBjb25zdCBbYWN0aXZlSW5kZXgsIHNldEFjdGl2ZUluZGV4XSA9IHVzZVN0YXRlKG51bGwpO1xuICAgIGNvbnN0IG5vcm1hbGl6ZWRTaXplID0gbm9ybWFsaXplU2l6ZShzaXplKTtcbiAgICBjb25zdCBhbGxPcHRpb25Hcm91cHMgPSB1c2VNZW1vKCgpID0+IG5vcm1hbGl6ZU9wdGlvbkdyb3VwcyhvcHRpb25zKSwgW29wdGlvbnNdKTtcbiAgICBjb25zdCBhbGxGbGF0T3B0aW9ucyA9IHVzZU1lbW8oKCkgPT4gZmxhdHRlbk9wdGlvbkdyb3VwcyhhbGxPcHRpb25Hcm91cHMpLCBbYWxsT3B0aW9uR3JvdXBzXSk7XG4gICAgY29uc3QgdmlzaWJsZU9wdGlvbkdyb3VwcyA9IHVzZU1lbW8oKCkgPT4gKHNlYXJjaGFibGVcbiAgICAgICAgPyBmaWx0ZXJPcHRpb25Hcm91cHMoYWxsT3B0aW9uR3JvdXBzLCBpbm5lclNlYXJjaFZhbHVlLCBmaWx0ZXJPcHRpb24pXG4gICAgICAgIDogYWxsT3B0aW9uR3JvdXBzKSwgW2FsbE9wdGlvbkdyb3VwcywgZmlsdGVyT3B0aW9uLCBpbm5lclNlYXJjaFZhbHVlLCBzZWFyY2hhYmxlXSk7XG4gICAgY29uc3QgdmlzaWJsZUZsYXRPcHRpb25zID0gdXNlTWVtbygoKSA9PiBmbGF0dGVuT3B0aW9uR3JvdXBzKHZpc2libGVPcHRpb25Hcm91cHMpLCBbdmlzaWJsZU9wdGlvbkdyb3Vwc10pO1xuICAgIGNvbnN0IHNlbGVjdGVkT3B0aW9ucyA9IHVzZU1lbW8oKCkgPT4gZ2V0U2VsZWN0ZWRPcHRpb25zKGFsbEZsYXRPcHRpb25zLCBpbm5lclZhbHVlLCBtdWx0aXBsZSksIFthbGxGbGF0T3B0aW9ucywgaW5uZXJWYWx1ZSwgbXVsdGlwbGVdKTtcbiAgICBjb25zdCBzZWxlY3RlZEluZGV4ID0gdXNlTWVtbygoKSA9PiB7XG4gICAgICAgIGlmIChzZWxlY3RlZE9wdGlvbnMubGVuZ3RoID09PSAwKSB7XG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBtYXRjaGVkSW5kZXggPSB2aXNpYmxlRmxhdE9wdGlvbnMuZmluZEluZGV4KChvcHRpb24pID0+IG9wdGlvbi52YWx1ZSA9PT0gc2VsZWN0ZWRPcHRpb25zWzBdLnZhbHVlKTtcbiAgICAgICAgcmV0dXJuIG1hdGNoZWRJbmRleCA+PSAwID8gbWF0Y2hlZEluZGV4IDogbnVsbDtcbiAgICB9LCBbc2VsZWN0ZWRPcHRpb25zLCB2aXNpYmxlRmxhdE9wdGlvbnNdKTtcbiAgICBjb25zdCBoYXNTZWxlY3Rpb24gPSBzZWxlY3RlZE9wdGlvbnMubGVuZ3RoID4gMDtcbiAgICBjb25zdCBsaXN0UmVmID0gdXNlUmVmKFtdKTtcbiAgICBjb25zdCBsaXN0Q29udGVudFJlZiA9IHVzZVJlZihbXSk7XG4gICAgY29uc3QgZmxvYXRpbmdSZWYgPSB1c2VSZWYobnVsbCk7XG4gICAgY29uc3QgdHJpZ2dlclJlZiA9IHVzZVJlZihudWxsKTtcbiAgICBjb25zdCBzZWFyY2hJbnB1dFJlZiA9IHVzZVJlZihudWxsKTtcbiAgICBjb25zdCBoYW5kbGVUcmlnZ2VyUmVmID0gdXNlRXZlbnRDYWxsYmFjaygobm9kZSkgPT4ge1xuICAgICAgICB0cmlnZ2VyUmVmLmN1cnJlbnQgPSBub2RlO1xuICAgICAgICBpZiAocmVmKSB7XG4gICAgICAgICAgICByZWYuY3VycmVudCA9IG5vZGU7XG4gICAgICAgIH1cbiAgICB9KTtcbiAgICBjb25zdCB7IGlzT3BlbjogaW5uZXJPcGVuLCBzZXRPcGVuOiBoYW5kbGVPcGVuQ2hhbmdlLCByZWZzLCBjb250ZXh0LCBmbG9hdGluZ1N0eWxlcywgdHJhbnNpdGlvblN0eWxlcywgaXNNb3VudGVkLCBiYXNlSW50ZXJhY3Rpb25zLCB9ID0gdXNlU2VsZWN0U2hlbGwoe1xuICAgICAgICBvcGVuLFxuICAgICAgICBkZWZhdWx0T3BlbixcbiAgICAgICAgb25PcGVuQ2hhbmdlLFxuICAgICAgICBkaXNhYmxlZCxcbiAgICAgICAgcmVhZE9ubHksXG4gICAgICAgIGxpc3RNYXhIZWlnaHQsXG4gICAgICAgIGFuaW1hdGlvbixcbiAgICAgICAgb2Zmc2V0LFxuICAgIH0pO1xuICAgIGNvbnN0IHNldFJlZmVyZW5jZSA9IHVzZUV2ZW50Q2FsbGJhY2soKG5vZGUpID0+IHtcbiAgICAgICAgcmVmcy5zZXRSZWZlcmVuY2Uobm9kZSk7XG4gICAgICAgIGhhbmRsZVRyaWdnZXJSZWYobm9kZSk7XG4gICAgfSk7XG4gICAgY29uc3Qgc2V0RmxvYXRpbmcgPSB1c2VFdmVudENhbGxiYWNrKChub2RlKSA9PiB7XG4gICAgICAgIHJlZnMuc2V0RmxvYXRpbmcobm9kZSk7XG4gICAgICAgIGZsb2F0aW5nUmVmLmN1cnJlbnQgPSBub2RlO1xuICAgIH0pO1xuICAgIGNvbnN0IGxpc3ROYXZpZ2F0aW9uID0gdXNlTGlzdE5hdmlnYXRpb24oY29udGV4dCwge1xuICAgICAgICBsaXN0UmVmLFxuICAgICAgICBhY3RpdmVJbmRleCxcbiAgICAgICAgc2VsZWN0ZWRJbmRleCxcbiAgICAgICAgb25OYXZpZ2F0ZTogc2V0QWN0aXZlSW5kZXgsXG4gICAgICAgIGVuYWJsZWQ6IGlubmVyT3BlbixcbiAgICAgICAgbG9vcDogdHJ1ZSxcbiAgICAgICAgdmlydHVhbDogc2VhcmNoYWJsZSxcbiAgICB9KTtcbiAgICBjb25zdCB0eXBlYWhlYWQgPSB1c2VUeXBlYWhlYWQoY29udGV4dCwge1xuICAgICAgICBsaXN0UmVmOiBsaXN0Q29udGVudFJlZixcbiAgICAgICAgYWN0aXZlSW5kZXgsXG4gICAgICAgIHNlbGVjdGVkSW5kZXgsXG4gICAgICAgIGVuYWJsZWQ6IGlubmVyT3BlbiAmJiAhc2VhcmNoYWJsZSxcbiAgICAgICAgb25NYXRjaDogc2V0QWN0aXZlSW5kZXgsXG4gICAgfSk7XG4gICAgY29uc3QgeyBnZXRSZWZlcmVuY2VQcm9wcywgZ2V0RmxvYXRpbmdQcm9wcywgZ2V0SXRlbVByb3BzIH0gPSB1c2VJbnRlcmFjdGlvbnMoW1xuICAgICAgICAuLi5iYXNlSW50ZXJhY3Rpb25zLFxuICAgICAgICBsaXN0TmF2aWdhdGlvbixcbiAgICAgICAgdHlwZWFoZWFkLFxuICAgIF0pO1xuICAgIGNvbnN0IGZpcnN0RW5hYmxlZEluZGV4ID0gdXNlTWVtbygoKSA9PiB2aXNpYmxlRmxhdE9wdGlvbnMuZmluZEluZGV4KChvcHRpb24pID0+ICFvcHRpb24uZGlzYWJsZWQpLCBbdmlzaWJsZUZsYXRPcHRpb25zXSk7XG4gICAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICAgICAgaWYgKCFpbm5lck9wZW4pIHtcbiAgICAgICAgICAgIHNldEFjdGl2ZUluZGV4KHNlbGVjdGVkSW5kZXgpO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHNldEFjdGl2ZUluZGV4KChwcmV2KSA9PiB7XG4gICAgICAgICAgICBpZiAocHJldiAhPT0gbnVsbCAmJiB2aXNpYmxlRmxhdE9wdGlvbnNbcHJldl0gJiYgIXZpc2libGVGbGF0T3B0aW9uc1twcmV2XS5kaXNhYmxlZCkge1xuICAgICAgICAgICAgICAgIHJldHVybiBwcmV2O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKHNlbGVjdGVkSW5kZXggIT09IG51bGwgJiZcbiAgICAgICAgICAgICAgICB2aXNpYmxlRmxhdE9wdGlvbnNbc2VsZWN0ZWRJbmRleF0gJiZcbiAgICAgICAgICAgICAgICAhdmlzaWJsZUZsYXRPcHRpb25zW3NlbGVjdGVkSW5kZXhdLmRpc2FibGVkKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHNlbGVjdGVkSW5kZXg7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gZmlyc3RFbmFibGVkSW5kZXggPj0gMCA/IGZpcnN0RW5hYmxlZEluZGV4IDogbnVsbDtcbiAgICAgICAgfSk7XG4gICAgfSwgW2ZpcnN0RW5hYmxlZEluZGV4LCBpbm5lck9wZW4sIHNlbGVjdGVkSW5kZXgsIHZpc2libGVGbGF0T3B0aW9uc10pO1xuICAgIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgICAgIHZhciBfYTtcbiAgICAgICAgaWYgKCFpbm5lck9wZW4gfHwgYWN0aXZlSW5kZXggPT09IG51bGwgfHwgc2VhcmNoYWJsZSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIChfYSA9IGxpc3RSZWYuY3VycmVudFthY3RpdmVJbmRleF0pID09PSBudWxsIHx8IF9hID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYS5mb2N1cyh7IHByZXZlbnRTY3JvbGw6IHRydWUgfSk7XG4gICAgfSwgW2FjdGl2ZUluZGV4LCBpbm5lck9wZW4sIHNlYXJjaGFibGVdKTtcbiAgICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgICAgICBsaXN0UmVmLmN1cnJlbnQgPSBsaXN0UmVmLmN1cnJlbnQuc2xpY2UoMCwgdmlzaWJsZUZsYXRPcHRpb25zLmxlbmd0aCk7XG4gICAgICAgIGxpc3RDb250ZW50UmVmLmN1cnJlbnQgPSBsaXN0Q29udGVudFJlZi5jdXJyZW50LnNsaWNlKDAsIHZpc2libGVGbGF0T3B0aW9ucy5sZW5ndGgpO1xuICAgIH0sIFt2aXNpYmxlRmxhdE9wdGlvbnMubGVuZ3RoXSk7XG4gICAgY29uc3Qgc2V0U2VhcmNoSW5wdXRSZWYgPSB1c2VFdmVudENhbGxiYWNrKChub2RlKSA9PiB7XG4gICAgICAgIHNlYXJjaElucHV0UmVmLmN1cnJlbnQgPSBub2RlO1xuICAgICAgICBpZiAobm9kZSAmJiBpbm5lck9wZW4gJiYgZmlsdGVySW5wdXRBdXRvRm9jdXMpIHtcbiAgICAgICAgICAgIG5vZGUuZm9jdXMoeyBwcmV2ZW50U2Nyb2xsOiB0cnVlIH0pO1xuICAgICAgICB9XG4gICAgfSk7XG4gICAgY29uc3Qgbm90aWZ5Qmx1cklmT3V0c2lkZSA9IHVzZUV2ZW50Q2FsbGJhY2soKHJlbGF0ZWRUYXJnZXQsIGV2ZW50KSA9PiB7XG4gICAgICAgIHZhciBfYSwgX2I7XG4gICAgICAgIGNvbnN0IG5leHRUYXJnZXQgPSByZWxhdGVkVGFyZ2V0O1xuICAgICAgICBjb25zdCB3aXRoaW5UcmlnZ2VyID0gISEobmV4dFRhcmdldCAmJiAoKF9hID0gdHJpZ2dlclJlZi5jdXJyZW50KSA9PT0gbnVsbCB8fCBfYSA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2EuY29udGFpbnMobmV4dFRhcmdldCkpKTtcbiAgICAgICAgY29uc3Qgd2l0aGluRmxvYXRpbmcgPSAhIShuZXh0VGFyZ2V0ICYmICgoX2IgPSBmbG9hdGluZ1JlZi5jdXJyZW50KSA9PT0gbnVsbCB8fCBfYiA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2IuY29udGFpbnMobmV4dFRhcmdldCkpKTtcbiAgICAgICAgaWYgKCF3aXRoaW5UcmlnZ2VyICYmICF3aXRoaW5GbG9hdGluZykge1xuICAgICAgICAgICAgb25CbHVyID09PSBudWxsIHx8IG9uQmx1ciA9PT0gdm9pZCAwID8gdm9pZCAwIDogb25CbHVyKGV2ZW50KTtcbiAgICAgICAgfVxuICAgIH0pO1xuICAgIGNvbnN0IGhhbmRsZVRyaWdnZXJCbHVyID0gdXNlRXZlbnRDYWxsYmFjaygoZXZlbnQpID0+IHtcbiAgICAgICAgbm90aWZ5Qmx1cklmT3V0c2lkZShldmVudC5yZWxhdGVkVGFyZ2V0LCBldmVudCk7XG4gICAgfSk7XG4gICAgY29uc3QgaGFuZGxlT3B0aW9uQmx1ciA9IHVzZUV2ZW50Q2FsbGJhY2soKGV2ZW50KSA9PiB7XG4gICAgICAgIG5vdGlmeUJsdXJJZk91dHNpZGUoZXZlbnQucmVsYXRlZFRhcmdldCwgZXZlbnQpO1xuICAgIH0pO1xuICAgIGNvbnN0IGNvbW1pdENoYW5nZSA9IHVzZUV2ZW50Q2FsbGJhY2soKG5leHRWYWx1ZSwgbmV4dE9wdGlvbikgPT4ge1xuICAgICAgICBzZXRJbm5lclZhbHVlKG5leHRWYWx1ZSk7XG4gICAgICAgIG9uQ2hhbmdlID09PSBudWxsIHx8IG9uQ2hhbmdlID09PSB2b2lkIDAgPyB2b2lkIDAgOiBvbkNoYW5nZShuZXh0VmFsdWUsIG5leHRPcHRpb24sIG5hbWUpO1xuICAgIH0pO1xuICAgIGNvbnN0IGhhbmRsZVNlbGVjdE9wdGlvbiA9IHVzZUV2ZW50Q2FsbGJhY2soKG9wdGlvbikgPT4ge1xuICAgICAgICB2YXIgX2EsIF9iO1xuICAgICAgICBpZiAob3B0aW9uLmRpc2FibGVkKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgaWYgKG11bHRpcGxlKSB7XG4gICAgICAgICAgICBjb25zdCBuZXh0VmFsdWUgPSB0b2dnbGVNdWx0aXBsZVZhbHVlKGlubmVyVmFsdWUsIG9wdGlvbi52YWx1ZSk7XG4gICAgICAgICAgICBjb25zdCBuZXh0T3B0aW9ucyA9IGdldE9wdGlvbnNCeVZhbHVlcyhhbGxGbGF0T3B0aW9ucywgbmV4dFZhbHVlKTtcbiAgICAgICAgICAgIGNvbW1pdENoYW5nZShuZXh0VmFsdWUsIG5leHRPcHRpb25zKTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBpZiAoYWxsb3dEZXNlbGVjdCAmJiBpbm5lclZhbHVlID09PSBvcHRpb24udmFsdWUpIHtcbiAgICAgICAgICAgIGNvbW1pdENoYW5nZSh1bmRlZmluZWQsIHVuZGVmaW5lZCk7XG4gICAgICAgICAgICBoYW5kbGVPcGVuQ2hhbmdlKGZhbHNlKTtcbiAgICAgICAgICAgIG9uQmx1ciA9PT0gbnVsbCB8fCBvbkJsdXIgPT09IHZvaWQgMCA/IHZvaWQgMCA6IG9uQmx1cigpO1xuICAgICAgICAgICAgKF9hID0gdHJpZ2dlclJlZi5jdXJyZW50KSA9PT0gbnVsbCB8fCBfYSA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2EuZm9jdXMoeyBwcmV2ZW50U2Nyb2xsOiB0cnVlIH0pO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGNvbW1pdENoYW5nZShvcHRpb24udmFsdWUsIG9wdGlvbik7XG4gICAgICAgIGhhbmRsZU9wZW5DaGFuZ2UoZmFsc2UpO1xuICAgICAgICBvbkJsdXIgPT09IG51bGwgfHwgb25CbHVyID09PSB2b2lkIDAgPyB2b2lkIDAgOiBvbkJsdXIoKTtcbiAgICAgICAgKF9iID0gdHJpZ2dlclJlZi5jdXJyZW50KSA9PT0gbnVsbCB8fCBfYiA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2IuZm9jdXMoeyBwcmV2ZW50U2Nyb2xsOiB0cnVlIH0pO1xuICAgIH0pO1xuICAgIGNvbnN0IGhhbmRsZVJlbW92ZVNlbGVjdGVkVmFsdWUgPSB1c2VFdmVudENhbGxiYWNrKChvcHRpb25WYWx1ZSkgPT4ge1xuICAgICAgICBpZiAoIW11bHRpcGxlKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgaWYgKCFnZXRNdWx0aXBsZVZhbHVlKGlubmVyVmFsdWUpLmluY2x1ZGVzKG9wdGlvblZhbHVlKSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IG5leHRWYWx1ZSA9IHJlbW92ZU11bHRpcGxlVmFsdWUoaW5uZXJWYWx1ZSwgb3B0aW9uVmFsdWUpO1xuICAgICAgICBjb25zdCBuZXh0T3B0aW9ucyA9IGdldE9wdGlvbnNCeVZhbHVlcyhhbGxGbGF0T3B0aW9ucywgbmV4dFZhbHVlKTtcbiAgICAgICAgY29tbWl0Q2hhbmdlKG5leHRWYWx1ZSwgbmV4dE9wdGlvbnMpO1xuICAgIH0pO1xuICAgIGNvbnN0IGhhbmRsZVRyaWdnZXJLZXlEb3duID0gdXNlRXZlbnRDYWxsYmFjaygoZXZlbnQpID0+IHtcbiAgICAgICAgaWYgKCFpbnRlcmFjdGl2ZSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGlmIChldmVudC5rZXkgPT09IEtFWUJPQVJELkVOVEVSIHx8IGV2ZW50LmtleSA9PT0gS0VZQk9BUkQuU1BBQ0UpIHtcbiAgICAgICAgICAgIGlmIChpbm5lck9wZW4gJiZcbiAgICAgICAgICAgICAgICBhY3RpdmVJbmRleCAhPT0gbnVsbCAmJlxuICAgICAgICAgICAgICAgIHZpc2libGVGbGF0T3B0aW9uc1thY3RpdmVJbmRleF0gJiZcbiAgICAgICAgICAgICAgICAhdmlzaWJsZUZsYXRPcHRpb25zW2FjdGl2ZUluZGV4XS5kaXNhYmxlZCkge1xuICAgICAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICAgICAgaGFuZGxlU2VsZWN0T3B0aW9uKHZpc2libGVGbGF0T3B0aW9uc1thY3RpdmVJbmRleF0pO1xuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICBoYW5kbGVPcGVuQ2hhbmdlKCFpbm5lck9wZW4pO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGlmIChldmVudC5rZXkgPT09IEtFWUJPQVJELkFSUk9XX0RPV04gfHwgZXZlbnQua2V5ID09PSBLRVlCT0FSRC5BUlJPV19VUCkge1xuICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgIGlmICghaW5uZXJPcGVuKSB7XG4gICAgICAgICAgICAgICAgaGFuZGxlT3BlbkNoYW5nZSh0cnVlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH0pO1xuICAgIGNvbnN0IGhhbmRsZUl0ZW1Nb3VzZUVudGVyID0gdXNlRXZlbnRDYWxsYmFjaygoaW5kZXgpID0+IHtcbiAgICAgICAgdmFyIF9hO1xuICAgICAgICBpZiAoISgoX2EgPSB2aXNpYmxlRmxhdE9wdGlvbnNbaW5kZXhdKSA9PT0gbnVsbCB8fCBfYSA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2EuZGlzYWJsZWQpKSB7XG4gICAgICAgICAgICBzZXRBY3RpdmVJbmRleChpbmRleCk7XG4gICAgICAgIH1cbiAgICB9KTtcbiAgICBjb25zdCBoYW5kbGVUYWdSZW1vdmVNb3VzZURvd24gPSB1c2VFdmVudENhbGxiYWNrKChldmVudCkgPT4ge1xuICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICB9KTtcbiAgICBjb25zdCBoYW5kbGVUYWdSZW1vdmVDbGljayA9IHVzZUV2ZW50Q2FsbGJhY2soKGV2ZW50KSA9PiB7XG4gICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgIH0pO1xuICAgIGNvbnN0IGhhbmRsZVNlYXJjaEJsdXIgPSB1c2VFdmVudENhbGxiYWNrKChldmVudCkgPT4ge1xuICAgICAgICBub3RpZnlCbHVySWZPdXRzaWRlKGV2ZW50LnJlbGF0ZWRUYXJnZXQsIGV2ZW50KTtcbiAgICB9KTtcbiAgICBjb25zdCBoYW5kbGVTZWFyY2hDaGFuZ2UgPSB1c2VFdmVudENhbGxiYWNrKChuZXh0VmFsdWUsIF9ldmVudCkgPT4ge1xuICAgICAgICBzZXRJbm5lclNlYXJjaFZhbHVlKG5leHRWYWx1ZSk7XG4gICAgICAgIG9uU2VhcmNoQ2hhbmdlID09PSBudWxsIHx8IG9uU2VhcmNoQ2hhbmdlID09PSB2b2lkIDAgPyB2b2lkIDAgOiBvblNlYXJjaENoYW5nZShuZXh0VmFsdWUpO1xuICAgIH0pO1xuICAgIGNvbnN0IGZpbmRFbmFibGVkSW5kZXggPSB1c2VFdmVudENhbGxiYWNrKChjdXJyZW50LCBkaXJlY3Rpb24pID0+IHtcbiAgICAgICAgdmFyIF9hO1xuICAgICAgICBjb25zdCBsZW5ndGggPSB2aXNpYmxlRmxhdE9wdGlvbnMubGVuZ3RoO1xuICAgICAgICBpZiAobGVuZ3RoID09PSAwKSB7XG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBzdGFydCA9IGN1cnJlbnQgIT09IG51bGwgJiYgY3VycmVudCAhPT0gdm9pZCAwID8gY3VycmVudCA6IChkaXJlY3Rpb24gPT09IDEgPyAtMSA6IGxlbmd0aCk7XG4gICAgICAgIGZvciAobGV0IHN0ZXAgPSAxOyBzdGVwIDw9IGxlbmd0aDsgc3RlcCArPSAxKSB7XG4gICAgICAgICAgICBjb25zdCBjYW5kaWRhdGUgPSAoKHN0YXJ0ICsgZGlyZWN0aW9uICogc3RlcCkgJSBsZW5ndGggKyBsZW5ndGgpICUgbGVuZ3RoO1xuICAgICAgICAgICAgaWYgKCEoKF9hID0gdmlzaWJsZUZsYXRPcHRpb25zW2NhbmRpZGF0ZV0pID09PSBudWxsIHx8IF9hID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYS5kaXNhYmxlZCkpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gY2FuZGlkYXRlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgIH0pO1xuICAgIGNvbnN0IGhhbmRsZVNlYXJjaEtleURvd24gPSB1c2VFdmVudENhbGxiYWNrKChldmVudCkgPT4ge1xuICAgICAgICB2YXIgX2E7XG4gICAgICAgIGlmIChldmVudC5rZXkgPT09IEtFWUJPQVJELkFSUk9XX0RPV04pIHtcbiAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICBjb25zdCBuZXh0ID0gZmluZEVuYWJsZWRJbmRleChhY3RpdmVJbmRleCwgMSk7XG4gICAgICAgICAgICBpZiAobmV4dCAhPT0gbnVsbCkge1xuICAgICAgICAgICAgICAgIHNldEFjdGl2ZUluZGV4KG5leHQpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGlmIChldmVudC5rZXkgPT09IEtFWUJPQVJELkFSUk9XX1VQKSB7XG4gICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgY29uc3QgcHJldiA9IGZpbmRFbmFibGVkSW5kZXgoYWN0aXZlSW5kZXgsIC0xKTtcbiAgICAgICAgICAgIGlmIChwcmV2ICE9PSBudWxsKSB7XG4gICAgICAgICAgICAgICAgc2V0QWN0aXZlSW5kZXgocHJldik7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGV2ZW50LmtleSA9PT0gS0VZQk9BUkQuRU5URVIpIHtcbiAgICAgICAgICAgIGlmIChhY3RpdmVJbmRleCAhPT0gbnVsbCAmJlxuICAgICAgICAgICAgICAgIHZpc2libGVGbGF0T3B0aW9uc1thY3RpdmVJbmRleF0gJiZcbiAgICAgICAgICAgICAgICAhdmlzaWJsZUZsYXRPcHRpb25zW2FjdGl2ZUluZGV4XS5kaXNhYmxlZCkge1xuICAgICAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICAgICAgaGFuZGxlU2VsZWN0T3B0aW9uKHZpc2libGVGbGF0T3B0aW9uc1thY3RpdmVJbmRleF0pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGlmIChldmVudC5rZXkgPT09IEtFWUJPQVJELkVTQ0FQRSkge1xuICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgIGhhbmRsZU9wZW5DaGFuZ2UoZmFsc2UpO1xuICAgICAgICAgICAgKF9hID0gdHJpZ2dlclJlZi5jdXJyZW50KSA9PT0gbnVsbCB8fCBfYSA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2EuZm9jdXMoeyBwcmV2ZW50U2Nyb2xsOiB0cnVlIH0pO1xuICAgICAgICB9XG4gICAgfSk7XG4gICAgY29uc3QgcmVuZGVyVmFsdWVNZXRhID0ge1xuICAgICAgICBkaXNhYmxlZCxcbiAgICAgICAgcmVhZE9ubHksXG4gICAgICAgIG11bHRpcGxlLFxuICAgICAgICBtYXhWaXNpYmxlVmFsdWVzLFxuICAgICAgICBvcGVuOiBpbm5lck9wZW4sXG4gICAgICAgIHBsYWNlaG9sZGVyOiAhaGFzU2VsZWN0aW9uLFxuICAgICAgICBzZWxlY3RlZE9wdGlvbnMsXG4gICAgICAgIHNpemU6IG5vcm1hbGl6ZWRTaXplLFxuICAgICAgICBmb250U2l6ZTogZ2V0Rm9udFNpemUobm9ybWFsaXplZFNpemUpLFxuICAgIH07XG4gICAgY29uc3QgdmFsdWVMYWJlbENsYXNzID0gaGFzU2VsZWN0aW9uID8gJ3ZhbHVlJyA6ICdwbGFjZWhvbGRlcic7XG4gICAgY29uc3QgaXNNdWx0aXBsZVZhbHVlRmlsbGVkID0gKG11bHRpcGxlICYmXG4gICAgICAgIGhhc1NlbGVjdGlvbiAmJlxuICAgICAgICBtYXhWaXNpYmxlVmFsdWVzID09PSB1bmRlZmluZWQgJiZcbiAgICAgICAgLy8gQSBjdXN0b20gYHJlbmRlclZhbHVlYCBwcm9kdWNlcyBpdHMgb3duIHNpbmdsZS1saW5lIHN1bW1hcnksIHNvIHRoZVxuICAgICAgICAvLyBtdWx0aS12YWx1ZSBjaGlwIGxheW91dCAoaGVpZ2h0OmF1dG8gKyB2ZXJ0aWNhbCBwYWRkaW5nICsgZmxleC13cmFwKVxuICAgICAgICAvLyBtdXN0IG5vdCBraWNrIGluIGFuZCBpbmZsYXRlIHRoZSB0cmlnZ2VyIGhlaWdodC5cbiAgICAgICAgIXJlbmRlclZhbHVlKTtcbiAgICBjb25zdCB0cmlnZ2VyQ2xhc3NOYW1lID0gY2xhc3NlcygndHJpZ2dlcicsIGpvaW5DbHMoY2xhc3NlcyhgdHJpZ2dlci0ke25vcm1hbGl6ZWRTaXplfWApLCBjbGFzc2VzKGB0cmlnZ2VyLSR7dmFyaWFudH1gKSwgaW5uZXJPcGVuICYmIGNsYXNzZXMoJ3RyaWdnZXItb3BlbicpLCBpc011bHRpcGxlVmFsdWVGaWxsZWQgJiYgY2xhc3NlcygndHJpZ2dlci1tdWx0aXBsZS1maWxsZWQnKSwgaGFzU2VsZWN0aW9uID8gY2xhc3NlcygndHJpZ2dlci1maWxsZWQnKSA6IGNsYXNzZXMoJ3RyaWdnZXItcGxhY2Vob2xkZXInKSwgc3RhdHVzICE9PSAnZGVmYXVsdCcgJiYgY2xhc3NlcyhgdHJpZ2dlci0ke3N0YXR1c31gKSwgZGlzYWJsZWQgJiYgY2xhc3NlcygndHJpZ2dlci1kaXNhYmxlZCcpLCByZWFkT25seSAmJiAhZGlzYWJsZWQgJiYgY2xhc3NlcygndHJpZ2dlci1yZWFkb25seScpKSk7XG4gICAgY29uc3QgaWNvblNpemUgPSBub3JtYWxpemVkU2l6ZSA9PT0gJ2xhcmdlJyA/IDIwIDogMTY7XG4gICAgY29uc3QgYWN0aXZlT3B0aW9uSWQgPSBzZWFyY2hhYmxlICYmIGlubmVyT3BlbiAmJiBhY3RpdmVJbmRleCAhPT0gbnVsbFxuICAgICAgICA/IGAke29wdGlvbklkUHJlZml4fS0ke2FjdGl2ZUluZGV4fWBcbiAgICAgICAgOiB1bmRlZmluZWQ7XG4gICAgY29uc3QgZmxvYXRpbmdBcmlhTGFiZWxsZWRCeSA9IGFyaWFMYWJlbGxlZEJ5ICE9PSBudWxsICYmIGFyaWFMYWJlbGxlZEJ5ICE9PSB2b2lkIDAgPyBhcmlhTGFiZWxsZWRCeSA6IChsYWJlbCA/IGxhYmVsSWQgOiB1bmRlZmluZWQpO1xuICAgIGNvbnN0IGRlc2NyaWJlZEJ5SWRzID0gW1xuICAgICAgICBkZXNjcmlwdGlvbiA/IGRlc2NyaXB0aW9uSWQgOiBudWxsLFxuICAgICAgICBmZWVkYmFjayA/IGZlZWRiYWNrSWQgOiBudWxsLFxuICAgIF0uZmlsdGVyKEJvb2xlYW4pLmpvaW4oJyAnKSB8fCB1bmRlZmluZWQ7XG4gICAgcmV0dXJuIChfanN4cyhTZWxlY3RGaWVsZFNoZWxsLCB7IGNsYXNzZXM6IGNsYXNzZXMsIGNsYXNzTmFtZTogY2xhc3NOYW1lLCBzaXplOiBub3JtYWxpemVkU2l6ZSwgdmFyaWFudDogdmFyaWFudCwgc3RhdHVzOiBzdGF0dXMsIGRpc2FibGVkOiBkaXNhYmxlZCwgcmVhZE9ubHk6IHJlYWRPbmx5LCBsb2FkaW5nOiBsb2FkaW5nLCBsYWJlbDogbGFiZWwsIGxhYmVsQ2xhc3NOYW1lOiBsYWJlbENsYXNzTmFtZSwgaW5mbzogaW5mbywgZGVzY3JpcHRpb246IGRlc2NyaXB0aW9uLCBmZWVkYmFjazogZmVlZGJhY2ssIHJlcXVpcmVkOiByZXF1aXJlZCwgbGFiZWxJZDogbGFiZWxJZCwgZGVzY3JpcHRpb25JZDogZGVzY3JpcHRpb25JZCwgZmVlZGJhY2tJZDogZmVlZGJhY2tJZCwgY2hpbGRyZW46IFtfanN4cyhcImJ1dHRvblwiLCBPYmplY3QuYXNzaWduKHt9LCBnZXRSZWZlcmVuY2VQcm9wcyh7XG4gICAgICAgICAgICAgICAgcmVmOiBzZXRSZWZlcmVuY2UsXG4gICAgICAgICAgICAgICAgaWQ6IHRyaWdnZXJJZCxcbiAgICAgICAgICAgICAgICB0eXBlOiAnYnV0dG9uJyxcbiAgICAgICAgICAgICAgICBuYW1lLFxuICAgICAgICAgICAgICAgIGRpc2FibGVkLFxuICAgICAgICAgICAgICAgICdhcmlhLXJlYWRvbmx5JzogcmVhZE9ubHkgfHwgdW5kZWZpbmVkLFxuICAgICAgICAgICAgICAgIGNsYXNzTmFtZTogdHJpZ2dlckNsYXNzTmFtZSxcbiAgICAgICAgICAgICAgICBvbktleURvd246IGhhbmRsZVRyaWdnZXJLZXlEb3duLFxuICAgICAgICAgICAgICAgIG9uQmx1cjogaGFuZGxlVHJpZ2dlckJsdXIsXG4gICAgICAgICAgICAgICAgJ2FyaWEtbGFiZWwnOiBhcmlhTGFiZWwsXG4gICAgICAgICAgICAgICAgJ2FyaWEtbGFiZWxsZWRieSc6IGZsb2F0aW5nQXJpYUxhYmVsbGVkQnksXG4gICAgICAgICAgICAgICAgJ2FyaWEtZGVzY3JpYmVkYnknOiBkZXNjcmliZWRCeUlkcyxcbiAgICAgICAgICAgIH0pLCB7IGNoaWxkcmVuOiBbX2pzeHMoXCJzcGFuXCIsIHsgY2xhc3NOYW1lOiBjbGFzc2VzKCdjb250ZW50JyksIGNoaWxkcmVuOiBbcHJlZml4ICYmIF9qc3goXCJzcGFuXCIsIHsgY2xhc3NOYW1lOiBjbGFzc2VzKCdwcmVmaXgnKSwgY2hpbGRyZW46IHByZWZpeCB9KSwgX2pzeChcInNwYW5cIiwgeyBjbGFzc05hbWU6IGNsYXNzZXModmFsdWVMYWJlbENsYXNzLCBqb2luQ2xzKGNsYXNzZXMoYCR7dmFsdWVMYWJlbENsYXNzfS0ke25vcm1hbGl6ZWRTaXplfWApLCBpc011bHRpcGxlVmFsdWVGaWxsZWQgJiYgY2xhc3NlcyhgJHt2YWx1ZUxhYmVsQ2xhc3N9LW11bHRpcGxlYCksIGRpc2FibGVkICYmIGNsYXNzZXMoYCR7dmFsdWVMYWJlbENsYXNzfS1kaXNhYmxlZGApKSksIGNoaWxkcmVuOiBfanN4KFNlbGVjdFZhbHVlQ29udGVudCwgeyBjbGFzc2VzOiBjbGFzc2VzLCBoYXNTZWxlY3Rpb246IGhhc1NlbGVjdGlvbiwgbXVsdGlwbGU6IG11bHRpcGxlLCBwbGFjZWhvbGRlcjogcGxhY2Vob2xkZXIsIHJlbmRlclZhbHVlOiByZW5kZXJWYWx1ZSwgcmVuZGVyVmFsdWVNZXRhOiByZW5kZXJWYWx1ZU1ldGEsIHNlbGVjdGVkT3B0aW9uczogc2VsZWN0ZWRPcHRpb25zLCBtYXhWaXNpYmxlVmFsdWVzOiBtYXhWaXNpYmxlVmFsdWVzLCBvblJlbW92ZTogaGFuZGxlUmVtb3ZlU2VsZWN0ZWRWYWx1ZSwgb25SZW1vdmVDbGljazogaGFuZGxlVGFnUmVtb3ZlQ2xpY2ssIG9uUmVtb3ZlTW91c2VEb3duOiBoYW5kbGVUYWdSZW1vdmVNb3VzZURvd24gfSkgfSldIH0pLCBfanN4KFwic3BhblwiLCB7IGNsYXNzTmFtZTogY2xhc3NlcygnaWNvbicpLCBjaGlsZHJlbjogbG9hZGluZ1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgID8gX2pzeChTcGlubmVyLCB7IHNpemU6IGljb25TaXplLCBzdHJva2VXaWR0aDogMiB9KVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogcmVhZE9ubHlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPyBudWxsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogX2pzeChJY29ucywgeyBuYW1lOiBpbm5lck9wZW4gPyAnY2hldnJvblVwJyA6ICdjaGV2cm9uRG93bicsIHNpemU6IGljb25TaXplLCBjb2xvcjogXCJjdXJyZW50Q29sb3JcIiB9KSB9KV0gfSkpLCBpc01vdW50ZWQgJiYgaW50ZXJhY3RpdmUgJiYgKCgpID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBwYW5lbE5vZGUgPSAoX2pzeChGbG9hdGluZ0ZvY3VzTWFuYWdlciwgeyBjb250ZXh0OiBjb250ZXh0LCBtb2RhbDogZmFsc2UsIGluaXRpYWxGb2N1czogLTEsIHJldHVybkZvY3VzOiBmYWxzZSwgY2hpbGRyZW46IF9qc3hzKFwiZGl2XCIsIE9iamVjdC5hc3NpZ24oe30sIGdldEZsb2F0aW5nUHJvcHMoe1xuICAgICAgICAgICAgICAgICAgICAgICAgcmVmOiBzZXRGbG9hdGluZyxcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZTogam9pbkNscyhjbGFzc2VzKCdwYW5lbCcpLCBwYW5lbENsYXNzTmFtZSksXG4gICAgICAgICAgICAgICAgICAgICAgICBzdHlsZTogT2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LCBmbG9hdGluZ1N0eWxlcyksIHRyYW5zaXRpb25TdHlsZXMpLFxuICAgICAgICAgICAgICAgICAgICB9KSwgeyBjaGlsZHJlbjogW3NlYXJjaGFibGUgJiYgKF9qc3goU2VsZWN0U2VhcmNoQ29udHJvbCwgeyByZWY6IHNldFNlYXJjaElucHV0UmVmLCBjbGFzc2VzOiBjbGFzc2VzLCBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gc2l6ZT17bm9ybWFsaXplZFNpemV9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpemU6IFwic21hbGxcIiwgcGxhY2Vob2xkZXI6IHNlYXJjaFBsYWNlaG9sZGVyLCB2YWx1ZTogaW5uZXJTZWFyY2hWYWx1ZSwgYWN0aXZlRGVzY2VuZGFudDogYWN0aXZlT3B0aW9uSWQsIG9uQmx1cjogaGFuZGxlU2VhcmNoQmx1ciwgb25DaGFuZ2U6IGhhbmRsZVNlYXJjaENoYW5nZSwgb25LZXlEb3duOiBoYW5kbGVTZWFyY2hLZXlEb3duIH0pKSwgX2pzeHMoXCJkaXZcIiwgeyBjbGFzc05hbWU6IGNsYXNzZXMoJ3BhbmVsLWJvZHknKSwgY2hpbGRyZW46IFtwYW5lbEhlYWRlciAhPSBudWxsICYmIChfanN4KFwiZGl2XCIsIHsgY2xhc3NOYW1lOiBjbGFzc2VzKCdwYW5lbC1oZWFkZXInKSwgY2hpbGRyZW46IHBhbmVsSGVhZGVyIH0pKSwgdmlzaWJsZUZsYXRPcHRpb25zLmxlbmd0aCA9PT0gMCA/IChfanN4KFwiZGl2XCIsIHsgY2xhc3NOYW1lOiBjbGFzc2VzKCdlbXB0eScpLCBjaGlsZHJlbjogX2pzeChUeXBvZ3JhcGh5Qm9keSwgeyBzaXplOiBTRUxFQ1RfVFlQT0dSQVBIWS5lbXB0eS5zaXplLCBjb2xvcjogU0VMRUNUX1RZUE9HUkFQSFkuZW1wdHkuY29sb3IsIGNoaWxkcmVuOiBlbXB0eUNvbnRlbnQgfSkgfSkpIDogKCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV0IGZsYXRJbmRleCA9IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHZpc2libGVPcHRpb25Hcm91cHMubWFwKChncm91cCkgPT4gKF9qc3hzKFwiZGl2XCIsIHsgY2xhc3NOYW1lOiBjbGFzc2VzKCdncm91cCcpLCBjaGlsZHJlbjogW2dyb3VwLmxhYmVsICYmIChfanN4KFwiZGl2XCIsIHsgY2xhc3NOYW1lOiBjbGFzc2VzKCdncm91cC1sYWJlbCcsIGdyb3VwTGFiZWxDbGFzc05hbWUpLCBjaGlsZHJlbjogX2pzeChUeXBvZ3JhcGh5TGFiZWwsIHsgc2l6ZTogU0VMRUNUX1RZUE9HUkFQSFkuZ3JvdXBMYWJlbC5zaXplLCBzdHJvbmc6IHRydWUsIGNoaWxkcmVuOiBncm91cC5sYWJlbCB9KSB9KSksIGdyb3VwLm9wdGlvbnMubWFwKChvcHRpb24pID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBvcHRpb25GbGF0SW5kZXggPSBmbGF0SW5kZXg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmxhdEluZGV4ICs9IDE7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc2VsZWN0ZWQgPSBpc09wdGlvblNlbGVjdGVkKGlubmVyVmFsdWUsIG11bHRpcGxlLCBvcHRpb24udmFsdWUpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGFjdGl2ZSA9IGFjdGl2ZUluZGV4ID09PSBvcHRpb25GbGF0SW5kZXg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgb3B0aW9uTWV0YSA9IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWN0aXZlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNhYmxlZDogISFvcHRpb24uZGlzYWJsZWQsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluZGV4OiBvcHRpb25GbGF0SW5kZXgsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG11bHRpcGxlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcGVuOiBpbm5lck9wZW4sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGVjdGVkLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250U2l6ZTogZ2V0Rm9udFNpemUobm9ybWFsaXplZFNpemUpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlzdENvbnRlbnRSZWYuY3VycmVudFtvcHRpb25GbGF0SW5kZXhdID0gZXh0cmFjdE9wdGlvblRleHQob3B0aW9uKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gKF9qc3goXCJidXR0b25cIiwgT2JqZWN0LmFzc2lnbih7fSwgZ2V0SXRlbVByb3BzKHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVmKG5vZGUpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpc3RSZWYuY3VycmVudFtvcHRpb25GbGF0SW5kZXhdID0gbm9kZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWQ6IGAke29wdGlvbklkUHJlZml4fS0ke29wdGlvbkZsYXRJbmRleH1gLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiAnYnV0dG9uJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcm9sZTogJ29wdGlvbicsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZTogY2xhc3Nlcygnb3B0aW9uJywgam9pbkNscyhhY3RpdmUgJiYgY2xhc3Nlcygnb3B0aW9uLWFjdGl2ZScpLCBzZWxlY3RlZCAmJiBjbGFzc2VzKCdvcHRpb24tc2VsZWN0ZWQnKSwgb3B0aW9uLmRpc2FibGVkICYmIGNsYXNzZXMoJ29wdGlvbi1kaXNhYmxlZCcpLCBvcHRpb25DbGFzc05hbWUpKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzYWJsZWQ6IG9wdGlvbi5kaXNhYmxlZCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2FyaWEtc2VsZWN0ZWQnOiBzZWxlY3RlZCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb25DbGljazogKGV2ZW50KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGFuZGxlU2VsZWN0T3B0aW9uKG9wdGlvbik7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9uTW91c2VFbnRlcjogKCkgPT4gaGFuZGxlSXRlbU1vdXNlRW50ZXIob3B0aW9uRmxhdEluZGV4KSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb25CbHVyOiBoYW5kbGVPcHRpb25CbHVyLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pLCB7IGNoaWxkcmVuOiByZW5kZXJPcHRpb24gPyAocmVuZGVyT3B0aW9uKG9wdGlvbiwgb3B0aW9uTWV0YSkpIDogKF9qc3goU2VsZWN0T3B0aW9uQ29udGVudCwgeyBjbGFzc2VzOiBjbGFzc2VzLCBvcHRpb246IG9wdGlvbiwgc2VsZWN0ZWQ6IHNlbGVjdGVkLCBzaXplOiBub3JtYWxpemVkU2l6ZSwgY29udGVudDogcmVuZGVyT3B0aW9uQ29udGVudCA9PT0gbnVsbCB8fCByZW5kZXJPcHRpb25Db250ZW50ID09PSB2b2lkIDAgPyB2b2lkIDAgOiByZW5kZXJPcHRpb25Db250ZW50KG9wdGlvbiwgb3B0aW9uTWV0YSkgfSkpIH0pLCBgJHtncm91cC5rZXl9LSR7b3B0aW9uLnZhbHVlfWApKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pXSB9LCBncm91cC5rZXkpKSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KSgpKV0gfSksIHBhbmVsRm9vdGVyICE9IG51bGwgJiYgKF9qc3goXCJkaXZcIiwgeyBjbGFzc05hbWU6IGNsYXNzZXMoJ3BhbmVsLWZvb3RlcicpLCBjaGlsZHJlbjogcGFuZWxGb290ZXIgfSkpXSB9KSkgfSkpO1xuICAgICAgICAgICAgICAgIHJldHVybiBwb3J0YWwgPyBfanN4KEZsb2F0aW5nUG9ydGFsLCB7IGNoaWxkcmVuOiBwYW5lbE5vZGUgfSkgOiBwYW5lbE5vZGU7XG4gICAgICAgICAgICB9KSgpXSB9KSk7XG59O1xuU2VsZWN0LmRpc3BsYXlOYW1lID0gJ1NlbGVjdCc7XG5leHBvcnQgZGVmYXVsdCBtZW1vKFNlbGVjdCk7IixudWxsXSwic291cmNlUm9vdCI6Ii4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYyJ9
|
|
598
|
+
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvU2VsZWN0L1NlbGVjdC5qcyIsImNvbXBvbmVudHMvc3JjL2NvbXBvbmVudHMvU2VsZWN0L1NlbGVjdC50c3giXSwibmFtZXMiOlsianN4IiwiX2pzeCIsImpzeHMiLCJfanN4cyIsIkZsb2F0aW5nRm9jdXNNYW5hZ2VyIiwiRmxvYXRpbmdQb3J0YWwiLCJ1c2VJbnRlcmFjdGlvbnMiLCJ1c2VMaXN0TmF2aWdhdGlvbiIsInVzZVR5cGVhaGVhZCIsIm1lbW8iLCJ1c2VFZmZlY3QiLCJ1c2VJZCIsInVzZU1lbW8iLCJ1c2VSZWYiLCJ1c2VTdGF0ZSIsInVzZUNvbnRyb2xsZWRTdGF0ZSIsInVzZUV2ZW50Q2FsbGJhY2siLCJ1c2VMb2NhbGUiLCJ1c2VGb3JtQ29udHJvbFNpemUiLCJJY29ucyIsIlNwaW5uZXIiLCJUeXBvZ3JhcGh5Qm9keSIsIlR5cG9ncmFwaHlMYWJlbCIsImpvaW5DbHMiLCJkZWZhdWx0Iiwicm9vdENsYXNzbmFtZXMiLCJTZWxlY3RGaWVsZFNoZWxsIiwiU2VsZWN0T3B0aW9uQ29udGVudCIsIlNlbGVjdFNlYXJjaENvbnRyb2wiLCJTZWxlY3RWYWx1ZUNvbnRlbnQiLCJ1c2VTZWxlY3RTaGVsbCIsIktFWUJPQVJEIiwiU0VMRUNUX1RZUE9HUkFQSFkiLCJleHRyYWN0T3B0aW9uVGV4dCIsImZpbHRlck9wdGlvbkdyb3VwcyIsImZsYXR0ZW5PcHRpb25Hcm91cHMiLCJnZXRNdWx0aXBsZVZhbHVlIiwiZ2V0Rm9udFNpemUiLCJnZXRPcHRpb25zQnlWYWx1ZXMiLCJnZXRTZWxlY3RlZE9wdGlvbnMiLCJpc09wdGlvblNlbGVjdGVkIiwiaXNTZWxlY3RNdWx0aXBsZVZhbHVlIiwibm9ybWFsaXplU2l6ZSIsIm5vcm1hbGl6ZU9wdGlvbkdyb3VwcyIsInJlbW92ZU11bHRpcGxlVmFsdWUiLCJ0b2dnbGVNdWx0aXBsZVZhbHVlIiwiREVGQVVMVF9NQVhfSEVJR0hUIiwiU2VsZWN0IiwicHJvcHMiLCJfYSIsImxvY2FsZSIsIl9wcm9wcyRjbGFzc05hbWUiLCJjbGFzc05hbWUiLCJfcHJvcHMkcHJlZml4Q2xzIiwicHJlZml4Q2xzIiwic3R5bGUiLCJpZCIsIm5hbWUiLCJhcmlhTGFiZWwiLCJhcmlhTGFiZWxsZWRCeSIsIl9wcm9wcyRwbGFjZWhvbGRlciIsInBsYWNlaG9sZGVyIiwiX3Byb3BzJG9wdGlvbnMiLCJvcHRpb25zIiwidmFsdWUiLCJkZWZhdWx0VmFsdWUiLCJzaXplUHJvcCIsInNpemUiLCJfcHJvcHMkc3RhdHVzIiwic3RhdHVzIiwiX3Byb3BzJHZhcmlhbnQiLCJ2YXJpYW50IiwiX3Byb3BzJGRpc2FibGVkIiwiZGlzYWJsZWQiLCJkaXNhYmxlZFByb3AiLCJfcHJvcHMkcmVhZE9ubHkiLCJyZWFkT25seSIsIl9wcm9wcyRsb2FkaW5nIiwibG9hZGluZyIsIl9wcm9wcyRtdWx0aXBsZSIsIm11bHRpcGxlIiwibWF4VmlzaWJsZVZhbHVlcyIsIl9wcm9wcyRzZWFyY2hhYmxlIiwic2VhcmNoYWJsZSIsIl9wcm9wcyRzZWFyY2hQbGFjZWhvbCIsInNlYXJjaFBsYWNlaG9sZGVyIiwic2VhcmNoVmFsdWUiLCJfcHJvcHMkZGVmYXVsdFNlYXJjaFYiLCJkZWZhdWx0U2VhcmNoVmFsdWUiLCJfcHJvcHMkZmlsdGVySW5wdXRBdXQiLCJmaWx0ZXJJbnB1dEF1dG9Gb2N1cyIsImxhYmVsIiwibGFiZWxDbGFzc05hbWUiLCJpbmZvIiwiZGVzY3JpcHRpb24iLCJmZWVkYmFjayIsIl9wcm9wcyRyZXF1aXJlZCIsInJlcXVpcmVkIiwicHJlZml4IiwiX3Byb3BzJGVtcHR5Q29udGVudCIsImVtcHR5Q29udGVudCIsInBhbmVsSGVhZGVyIiwicGFuZWxGb290ZXIiLCJvcGVuIiwiX3Byb3BzJGRlZmF1bHRPcGVuIiwiZGVmYXVsdE9wZW4iLCJfcHJvcHMkcG9ydGFsIiwicG9ydGFsIiwiX3Byb3BzJGFsbG93RGVzZWxlY3QiLCJhbGxvd0Rlc2VsZWN0IiwicGFuZWxDbGFzc05hbWUiLCJvcHRpb25DbGFzc05hbWUiLCJncm91cExhYmVsQ2xhc3NOYW1lIiwiX3Byb3BzJGxpc3RNYXhIZWlnaHQiLCJsaXN0TWF4SGVpZ2h0Iiwib2Zmc2V0IiwiYW5pbWF0aW9uIiwib25DaGFuZ2UiLCJvbk9wZW5DaGFuZ2UiLCJvblNlYXJjaENoYW5nZSIsIm9uQmx1ciIsImZpbHRlck9wdGlvbiIsInJlbmRlck9wdGlvbiIsInJlbmRlck9wdGlvbkNvbnRlbnQiLCJyZW5kZXJWYWx1ZSIsInJlZiIsImNvbnRleHRTaXplIiwiaW50ZXJhY3RpdmUiLCJjbGFzc2VzIiwiYXV0b0lkIiwidHJpZ2dlcklkIiwibGFiZWxJZCIsImRlc2NyaXB0aW9uSWQiLCJmZWVkYmFja0lkIiwib3B0aW9uSWRQcmVmaXgiLCJfdXNlQ29udHJvbGxlZFN0YXRlIiwidW5kZWZpbmVkIiwiX3VzZUNvbnRyb2xsZWRTdGF0ZTIiLCJfc2xpY2VkVG9BcnJheSIsImlubmVyVmFsdWUiLCJzZXRJbm5lclZhbHVlIiwiX3VzZUNvbnRyb2xsZWRTdGF0ZTMiLCJfdXNlQ29udHJvbGxlZFN0YXRlNCIsImlubmVyU2VhcmNoVmFsdWUiLCJzZXRJbm5lclNlYXJjaFZhbHVlIiwiX3VzZVN0YXRlIiwiX3VzZVN0YXRlMiIsImFjdGl2ZUluZGV4Iiwic2V0QWN0aXZlSW5kZXgiLCJub3JtYWxpemVkU2l6ZSIsImFsbE9wdGlvbkdyb3VwcyIsImFsbEZsYXRPcHRpb25zIiwidmlzaWJsZU9wdGlvbkdyb3VwcyIsInZpc2libGVGbGF0T3B0aW9ucyIsInNlbGVjdGVkT3B0aW9ucyIsInNlbGVjdGVkVmFsdWVzIiwiU2V0Iiwic2VsZWN0ZWRJbmRleCIsImxlbmd0aCIsIm1hdGNoZWRJbmRleCIsImZpbmRJbmRleCIsIm9wdGlvbiIsImhhc1NlbGVjdGlvbiIsImxpc3RSZWYiLCJsaXN0Q29udGVudFJlZiIsImZsb2F0aW5nUmVmIiwidHJpZ2dlclJlZiIsInNlYXJjaElucHV0UmVmIiwiaGFuZGxlVHJpZ2dlclJlZiIsIm5vZGUiLCJjdXJyZW50IiwiX3VzZVNlbGVjdFNoZWxsIiwiaW5uZXJPcGVuIiwiaXNPcGVuIiwiaGFuZGxlT3BlbkNoYW5nZSIsInNldE9wZW4iLCJyZWZzIiwiY29udGV4dCIsImZsb2F0aW5nU3R5bGVzIiwidHJhbnNpdGlvblN0eWxlcyIsImlzTW91bnRlZCIsImJhc2VJbnRlcmFjdGlvbnMiLCJzZXRSZWZlcmVuY2UiLCJzZXRGbG9hdGluZyIsImxpc3ROYXZpZ2F0aW9uIiwib25OYXZpZ2F0ZSIsImVuYWJsZWQiLCJsb29wIiwidmlydHVhbCIsInR5cGVhaGVhZCIsIm9uTWF0Y2giLCJfdXNlSW50ZXJhY3Rpb25zIiwiY29uY2F0IiwiX3RvQ29uc3VtYWJsZUFycmF5IiwiZ2V0UmVmZXJlbmNlUHJvcHMiLCJnZXRGbG9hdGluZ1Byb3BzIiwiZ2V0SXRlbVByb3BzIiwiZmlyc3RFbmFibGVkSW5kZXgiLCJwcmV2IiwiZm9jdXMiLCJwcmV2ZW50U2Nyb2xsIiwic2xpY2UiLCJzZXRTZWFyY2hJbnB1dFJlZiIsIm5vdGlmeUJsdXJJZk91dHNpZGUiLCJyZWxhdGVkVGFyZ2V0IiwiZXZlbnQiLCJfYiIsIm5leHRUYXJnZXQiLCJ3aXRoaW5UcmlnZ2VyIiwiY29udGFpbnMiLCJ3aXRoaW5GbG9hdGluZyIsImhhbmRsZVRyaWdnZXJCbHVyIiwiaGFuZGxlT3B0aW9uQmx1ciIsImNvbW1pdENoYW5nZSIsIm5leHRWYWx1ZSIsIm5leHRPcHRpb24iLCJoYW5kbGVTZWxlY3RPcHRpb24iLCJuZXh0T3B0aW9ucyIsImhhbmRsZVJlbW92ZVNlbGVjdGVkVmFsdWUiLCJvcHRpb25WYWx1ZSIsImluY2x1ZGVzIiwiaGFuZGxlVHJpZ2dlcktleURvd24iLCJrZXkiLCJFTlRFUiIsIlNQQUNFIiwicHJldmVudERlZmF1bHQiLCJBUlJPV19ET1dOIiwiQVJST1dfVVAiLCJoYW5kbGVJdGVtTW91c2VFbnRlciIsImluZGV4IiwiaGFuZGxlVGFnUmVtb3ZlTW91c2VEb3duIiwic3RvcFByb3BhZ2F0aW9uIiwiaGFuZGxlVGFnUmVtb3ZlQ2xpY2siLCJoYW5kbGVTZWFyY2hCbHVyIiwiaGFuZGxlU2VhcmNoQ2hhbmdlIiwiaGFuZGxlU2VhcmNoQ2xlYXIiLCJmaW5kRW5hYmxlZEluZGV4IiwiZGlyZWN0aW9uIiwic3RhcnQiLCJzdGVwIiwiY2FuZGlkYXRlIiwiaGFuZGxlU2VhcmNoS2V5RG93biIsIm5leHQiLCJFU0NBUEUiLCJyZW5kZXJWYWx1ZU1ldGEiLCJmb250U2l6ZSIsInZhbHVlTGFiZWxDbGFzcyIsImlzTXVsdGlwbGVWYWx1ZUZpbGxlZCIsInRyaWdnZXJDbGFzc05hbWUiLCJpY29uU2l6ZSIsImFjdGl2ZU9wdGlvbklkIiwiZmxvYXRpbmdBcmlhTGFiZWxsZWRCeSIsImRlc2NyaWJlZEJ5SWRzIiwiZmlsdGVyIiwiQm9vbGVhbiIsImpvaW4iLCJjaGlsZHJlbiIsIk9iamVjdCIsImFzc2lnbiIsInR5cGUiLCJvbktleURvd24iLCJvblJlbW92ZSIsIm9uUmVtb3ZlQ2xpY2siLCJvblJlbW92ZU1vdXNlRG93biIsInN0cm9rZVdpZHRoIiwiY29sb3IiLCJwYW5lbE5vZGUiLCJtb2RhbCIsImluaXRpYWxGb2N1cyIsInJldHVybkZvY3VzIiwiYWN0aXZlRGVzY2VuZGFudCIsIm9uQ2xlYXIiLCJlbXB0eSIsImZsYXRJbmRleCIsIm1hcCIsImdyb3VwIiwiZ3JvdXBMYWJlbCIsInN0cm9uZyIsIm9wdGlvbkZsYXRJbmRleCIsInNlbGVjdGVkIiwiaGFzIiwiYWN0aXZlIiwib3B0aW9uTWV0YSIsInJvbGUiLCJvbkNsaWNrIiwib25Nb3VzZUVudGVyIiwiY29udGVudCIsImRpc3BsYXlOYW1lIl0sIm1hcHBpbmdzIjoiOztBQUFBLFNBQVNBLEdBQUcsSUFBSUMsSUFBSSxFQUFFQyxJQUFJLElBQUlDLEtBQUssUUFBUSxtQkFBbUI7QUNBOUQsU0FDRUMsb0JBQW9CLEVBQ3BCQyxjQUFjLEVBQ2RDLGVBQWUsRUFDZkMsaUJBQWlCLEVBQ2pCQyxZQUFZLFFBQ1Asb0JBQW9CO0FBQzNCLFNBQVNDLElBQUksRUFBRUMsU0FBUyxFQUFFQyxLQUFLLEVBQUVDLE9BQU8sRUFBRUMsTUFBTSxFQUFFQyxRQUFRLFFBQVEsT0FBTztBQUN6RSxPQUFPQyxrQkFBa0IsTUFBTSxrQ0FBa0M7QUFDakUsT0FBT0MsZ0JBQWdCLE1BQU0sZ0NBQWdDO0FBQzdELFNBQVNDLFNBQVMsUUFBUSxtQkFBbUI7QUFDN0MsU0FBU0Msa0JBQWtCLFFBQVEsdUJBQXVCO0FBQzFELFNBQVNDLEtBQUssUUFBUSxVQUFVO0FBQ2hDLFNBQVNDLE9BQU8sUUFBUSxZQUFZO0FBQ3BDLFNBQVNDLGNBQWMsRUFBRUMsZUFBZSxRQUFRLGVBQWU7QUFDL0QsU0FBU0MsT0FBTyxFQUFFQyxPQUFPLElBQUlDLGNBQWMsUUFBUSx3QkFBd0I7QUFlM0UsT0FBT0MsZ0JBQWdCLE1BQU0sb0JBQW9CO0FBQ2pELE9BQU9DLG1CQUFtQixNQUFNLHVCQUF1QjtBQUN2RCxPQUFPQyxtQkFBbUIsTUFBTSx1QkFBdUI7QUFDdkQsT0FBT0Msa0JBQWtCLE1BQU0sc0JBQXNCO0FBQ3JELFNBQVNDLGNBQWMsUUFBUSxrQkFBa0I7QUFDakQsU0FBU0MsUUFBUSxFQUFFQyxpQkFBaUIsUUFBUSxhQUFhO0FBQ3pELFNBQ0VDLGlCQUFpQixFQUNqQkMsa0JBQWtCLEVBQ2xCQyxtQkFBbUIsRUFDbkJDLGdCQUFnQixFQUNoQkMsV0FBVyxFQUNYQyxrQkFBa0IsRUFDbEJDLGtCQUFrQixFQUNsQkMsZ0JBQWdCLEVBQ2hCQyxxQkFBcUIsRUFDckJDLGFBQWEsRUFDYkMscUJBQXFCLEVBQ3JCQyxtQkFBbUIsRUFDbkJDLG1CQUFtQixRQUNkLFNBQVM7QUFDaEIsT0FBTyxTQUFTO0FBRWhCLElBQU1DLGtCQUFrQixHQUFHLEdBQUc7QUFFOUIsT0FBTyxJQUFNQyxNQUFNLEdBQW9CLFNBQTFCQSxNQUFNQSxDQUFxQkMsS0FBSyxFQUFJO0VEbEM3QyxJQUFJQyxFQUFFO0VDbUNSLElBQU1DLE1BQU0sR0FBR2pDLFNBQVMsQ0FBQyxRQUFRLENBQUM7RUFDbEMsSUFBQWtDLGdCQUFBLEdBc0RJSCxLQUFLLENBckRQSSxTQUFTO0lBQVRBLFNBQVMsR0FBQUQsZ0JBQUEsY0FBRyxFQUFFLEdBQUFBLGdCQUFBO0lBQUFFLGdCQUFBLEdBcURaTCxLQUFLLENBcERQTSxTQUFTO0lBQVRBLFNBQVMsR0FBQUQsZ0JBQUEsY0FBRyxRQUFRLEdBQUFBLGdCQUFBO0lBQ3BCRSxLQUFLLEdBbURIUCxLQUFLLENBbkRQTyxLQUFLO0lBQ0xDLEVBQUUsR0FrREFSLEtBQUssQ0FsRFBRLEVBQUU7SUFDRkMsSUFBSSxHQWlERlQsS0FBSyxDQWpEUFMsSUFBSTtJQUNVQyxTQUFTLEdBZ0RyQlYsS0FBSyxDQWhEUCxZQUFZO0lBQ09XLGNBQWMsR0ErQy9CWCxLQUFLLENBL0NQLGlCQUFpQjtJQUFBWSxrQkFBQSxHQStDZlosS0FBSyxDQTlDUGEsV0FBVztJQUFYQSxXQUFXLEdBQUFELGtCQUFBLGNBQUdWLE1BQU0sQ0FBQ1csV0FBVyxHQUFBRCxrQkFBQTtJQUFBRSxjQUFBLEdBOEM5QmQsS0FBSyxDQTdDUGUsT0FBTztJQUFQQSxPQUFPLEdBQUFELGNBQUEsY0FBRyxFQUFFLEdBQUFBLGNBQUE7SUFDWkUsS0FBSyxHQTRDSGhCLEtBQUssQ0E1Q1BnQixLQUFLO0lBQ0xDLFlBQVksR0EyQ1ZqQixLQUFLLENBM0NQaUIsWUFBWTtJQUNOQyxRQUFRLEdBMENabEIsS0FBSyxDQTFDUG1CLElBQUk7SUFBQUMsYUFBQSxHQTBDRnBCLEtBQUssQ0F6Q1BxQixNQUFNO0lBQU5BLE1BQU0sR0FBQUQsYUFBQSxjQUFHLFNBQVMsR0FBQUEsYUFBQTtJQUFBRSxjQUFBLEdBeUNoQnRCLEtBQUssQ0F4Q1B1QixPQUFPO0lBQVBBLE9BQU8sR0FBQUQsY0FBQSxjQUFHLE1BQU0sR0FBQUEsY0FBQTtJQUFBRSxlQUFBLEdBd0NkeEIsS0FBSyxDQXZDUHlCLFFBQVE7SUFBRUMsWUFBWSxHQUFBRixlQUFBLGNBQUcsS0FBSyxHQUFBQSxlQUFBO0lBQUFHLGVBQUEsR0F1QzVCM0IsS0FBSyxDQXRDUDRCLFFBQVE7SUFBUkEsUUFBUSxHQUFBRCxlQUFBLGNBQUcsS0FBSyxHQUFBQSxlQUFBO0lBQUFFLGNBQUEsR0FzQ2Q3QixLQUFLLENBckNQOEIsT0FBTztJQUFQQSxPQUFPLEdBQUFELGNBQUEsY0FBRyxLQUFLLEdBQUFBLGNBQUE7SUFBQUUsZUFBQSxHQXFDYi9CLEtBQUssQ0FwQ1BnQyxRQUFRO0lBQVJBLFFBQVEsR0FBQUQsZUFBQSxjQUFHLEtBQUssR0FBQUEsZUFBQTtJQUNoQkUsZ0JBQWdCLEdBbUNkakMsS0FBSyxDQW5DUGlDLGdCQUFnQjtJQUFBQyxpQkFBQSxHQW1DZGxDLEtBQUssQ0FsQ1BtQyxVQUFVO0lBQVZBLFVBQVUsR0FBQUQsaUJBQUEsY0FBRyxLQUFLLEdBQUFBLGlCQUFBO0lBQUFFLHFCQUFBLEdBa0NoQnBDLEtBQUssQ0FqQ1BxQyxpQkFBaUI7SUFBakJBLGlCQUFpQixHQUFBRCxxQkFBQSxjQUFHbEMsTUFBTSxDQUFDbUMsaUJBQWlCLEdBQUFELHFCQUFBO0lBQzVDRSxXQUFXLEdBZ0NUdEMsS0FBSyxDQWhDUHNDLFdBQVc7SUFBQUMscUJBQUEsR0FnQ1R2QyxLQUFLLENBL0JQd0Msa0JBQWtCO0lBQWxCQSxrQkFBa0IsR0FBQUQscUJBQUEsY0FBRyxFQUFFLEdBQUFBLHFCQUFBO0lBQUFFLHFCQUFBLEdBK0JyQnpDLEtBQUssQ0E5QlAwQyxvQkFBb0I7SUFBcEJBLG9CQUFvQixHQUFBRCxxQkFBQSxjQUFHLElBQUksR0FBQUEscUJBQUE7SUFDM0JFLEtBQUssR0E2QkgzQyxLQUFLLENBN0JQMkMsS0FBSztJQUNMQyxjQUFjLEdBNEJaNUMsS0FBSyxDQTVCUDRDLGNBQWM7SUFDZEMsSUFBSSxHQTJCRjdDLEtBQUssQ0EzQlA2QyxJQUFJO0lBQ0pDLFdBQVcsR0EwQlQ5QyxLQUFLLENBMUJQOEMsV0FBVztJQUNYQyxRQUFRLEdBeUJOL0MsS0FBSyxDQXpCUCtDLFFBQVE7SUFBQUMsZUFBQSxHQXlCTmhELEtBQUssQ0F4QlBpRCxRQUFRO0lBQVJBLFFBQVEsR0FBQUQsZUFBQSxjQUFHLElBQUksR0FBQUEsZUFBQTtJQUNmRSxNQUFNLEdBdUJKbEQsS0FBSyxDQXZCUGtELE1BQU07SUFBQUMsbUJBQUEsR0F1QkpuRCxLQUFLLENBdEJQb0QsWUFBWTtJQUFaQSxZQUFZLEdBQUFELG1CQUFBLGNBQUdqRCxNQUFNLENBQUNrRCxZQUFZLEdBQUFELG1CQUFBO0lBQ2xDRSxXQUFXLEdBcUJUckQsS0FBSyxDQXJCUHFELFdBQVc7SUFDWEMsV0FBVyxHQW9CVHRELEtBQUssQ0FwQlBzRCxXQUFXO0lBQ1hDLElBQUksR0FtQkZ2RCxLQUFLLENBbkJQdUQsSUFBSTtJQUFBQyxrQkFBQSxHQW1CRnhELEtBQUssQ0FsQlB5RCxXQUFXO0lBQVhBLFdBQVcsR0FBQUQsa0JBQUEsY0FBRyxLQUFLLEdBQUFBLGtCQUFBO0lBQUFFLGFBQUEsR0FrQmpCMUQsS0FBSyxDQWpCUDJELE1BQU07SUFBTkEsTUFBTSxHQUFBRCxhQUFBLGNBQUcsSUFBSSxHQUFBQSxhQUFBO0lBQUFFLG9CQUFBLEdBaUJYNUQsS0FBSyxDQWhCUDZELGFBQWE7SUFBYkEsYUFBYSxHQUFBRCxvQkFBQSxjQUFHLEtBQUssR0FBQUEsb0JBQUE7SUFDckJFLGNBQWMsR0FlWjlELEtBQUssQ0FmUDhELGNBQWM7SUFDZEMsZUFBZSxHQWNiL0QsS0FBSyxDQWRQK0QsZUFBZTtJQUNmQyxtQkFBbUIsR0FhakJoRSxLQUFLLENBYlBnRSxtQkFBbUI7SUFBQUMsb0JBQUEsR0FhakJqRSxLQUFLLENBWlBrRSxhQUFhO0lBQWJBLGFBQWEsR0FBQUQsb0JBQUEsY0FBR25FLGtCQUFrQixHQUFBbUUsb0JBQUE7SUFDbENFLE1BQU0sR0FXSm5FLEtBQUssQ0FYUG1FLE1BQU07SUFDTkMsU0FBUyxHQVVQcEUsS0FBSyxDQVZQb0UsU0FBUztJQUNUQyxRQUFRLEdBU05yRSxLQUFLLENBVFBxRSxRQUFRO0lBQ1JDLFlBQVksR0FRVnRFLEtBQUssQ0FSUHNFLFlBQVk7SUFDWkMsY0FBYyxHQU9adkUsS0FBSyxDQVBQdUUsY0FBYztJQUNkQyxNQUFNLEdBTUp4RSxLQUFLLENBTlB3RSxNQUFNO0lBQ05DLFlBQVksR0FLVnpFLEtBQUssQ0FMUHlFLFlBQVk7SUFDWkMsWUFBWSxHQUlWMUUsS0FBSyxDQUpQMEUsWUFBWTtJQUNaQyxtQkFBbUIsR0FHakIzRSxLQUFLLENBSFAyRSxtQkFBbUI7SUFDbkJDLFdBQVcsR0FFVDVFLEtBQUssQ0FGUDRFLFdBQVc7SUFDWEMsR0FBRyxHQUNEN0UsS0FBSyxDQURQNkUsR0FBRztFQUVMO0VBQ0E7RUFDQSxJQUFNQyxXQUFXLEdBQUc1RyxrQkFBa0IsQ0FBQSxDQUFFO0VBQ3hDLElBQU1pRCxJQUFJLEdBQUcsQ0FBQWxCLEVBQUEsR0FBQWlCLFFBQVEsS0FBQSxJQUFBLElBQVJBLFFBQVEsS0FBQSxLQUFBLENBQUEsR0FBUkEsUUFBUSxHQUFJNEQsV0FBVyxNQUFBLElBQUEsSUFBQTdFLEVBQUEsS0FBQSxLQUFBLENBQUEsR0FBQUEsRUFBQSxHQUFJLE9BQU87RUFDL0MsSUFBTXdCLFFBQVEsR0FBR0MsWUFBWSxJQUFJSSxPQUFPO0VBQ3hDLElBQU1pRCxXQUFXLEdBQUcsQ0FBQ3RELFFBQVEsSUFBSSxDQUFDRyxRQUFRO0VBRTFDLElBQU1vRCxPQUFPLEdBQUd2RyxjQUFjLENBQUM2QixTQUFTLENBQUM7RUFDekMsSUFBTTJFLE1BQU0sR0FBR3RILEtBQUssQ0FBQSxDQUFFO0VBQ3RCLElBQU11SCxTQUFTLEdBQUcxRSxFQUFFLEtBQUEsSUFBQSxJQUFGQSxFQUFFLEtBQUEsS0FBQSxDQUFBLEdBQUZBLEVBQUUsR0FBSXlFLE1BQU07RUFDOUIsSUFBTUUsT0FBTyxHQUFHeEgsS0FBSyxDQUFBLENBQUU7RUFDdkIsSUFBTXlILGFBQWEsR0FBR3pILEtBQUssQ0FBQSxDQUFFO0VBQzdCLElBQU0wSCxVQUFVLEdBQUcxSCxLQUFLLENBQUEsQ0FBRTtFQUMxQixJQUFNMkgsY0FBYyxHQUFHM0gsS0FBSyxDQUFBLENBQUU7RUFDOUIsSUFBQTRILG1CQUFBLEdBQW9DeEgsa0JBQWtCLENBQ3BEa0QsWUFBWSxLQUFBLElBQUEsSUFBWkEsWUFBWSxLQUFBLEtBQUEsQ0FBQSxHQUFaQSxZQUFZLEdBQUtlLFFBQVEsR0FBRyxFQUFFLEdBQUd3RCxTQUFVLEVBQzNDeEUsS0FBSyxDQUNOO0lBQUF5RSxvQkFBQSxHQUFBQyxjQUFBLENBQUFILG1CQUFBO0lBSE1JLFVBQVUsR0FBQUYsb0JBQUE7SUFBRUcsYUFBYSxHQUFBSCxvQkFBQTtFQUloQyxJQUFBSSxvQkFBQSxHQUFnRDlILGtCQUFrQixDQUNoRXlFLGtCQUFrQixFQUNsQkYsV0FBVyxDQUNaO0lBQUF3RCxvQkFBQSxHQUFBSixjQUFBLENBQUFHLG9CQUFBO0lBSE1FLGdCQUFnQixHQUFBRCxvQkFBQTtJQUFFRSxtQkFBbUIsR0FBQUYsb0JBQUE7RUFJNUMsSUFBQUcsU0FBQSxHQUFzQ25JLFFBQVEsQ0FBZ0IsSUFBSSxDQUFDO0lBQUFvSSxVQUFBLEdBQUFSLGNBQUEsQ0FBQU8sU0FBQTtJQUE1REUsV0FBVyxHQUFBRCxVQUFBO0lBQUVFLGNBQWMsR0FBQUYsVUFBQTtFQUVsQyxJQUFNRyxjQUFjLEdBQUczRyxhQUFhLENBQUN5QixJQUFJLENBQUM7RUFDMUMsSUFBTW1GLGVBQWUsR0FBRzFJLE9BQU8sQ0FDN0I7SUFBQSxPQUFNK0IscUJBQXFCLENBQUNvQixPQUFPLENBQUM7RUFBQSxHQUNwQyxDQUFDQSxPQUFPLENBQUMsQ0FDVjtFQUNELElBQU13RixjQUFjLEdBQUczSSxPQUFPLENBQzVCO0lBQUEsT0FBTXVCLG1CQUFtQixDQUFDbUgsZUFBZSxDQUFDO0VBQUEsR0FDMUMsQ0FBQ0EsZUFBZSxDQUFDLENBQ2xCO0VBQ0QsSUFBTUUsbUJBQW1CLEdBQUc1SSxPQUFPLENBQ2pDO0lBQUEsT0FDRXVFLFVBQVUsR0FDTmpELGtCQUFrQixDQUFDb0gsZUFBZSxFQUFFUCxnQkFBZ0IsRUFBRXRCLFlBQVksQ0FBQyxHQUNuRTZCLGVBQWU7RUFBQSxDQUNwQixFQUNELENBQUNBLGVBQWUsRUFBRTdCLFlBQVksRUFBRXNCLGdCQUFnQixFQUFFNUQsVUFBVSxDQUFDLENBQzlEO0VBQ0QsSUFBTXNFLGtCQUFrQixHQUFHN0ksT0FBTyxDQUNoQztJQUFBLE9BQU11QixtQkFBbUIsQ0FBQ3FILG1CQUFtQixDQUFDO0VBQUEsR0FDOUMsQ0FBQ0EsbUJBQW1CLENBQUMsQ0FDdEI7RUFDRCxJQUFNRSxlQUFlLEdBQUc5SSxPQUFPLENBQzdCO0lBQUEsT0FBTTJCLGtCQUFrQixDQUFDZ0gsY0FBYyxFQUFFWixVQUFVLEVBQUUzRCxRQUFRLENBQUM7RUFBQSxHQUM5RCxDQUFDdUUsY0FBYyxFQUFFWixVQUFVLEVBQUUzRCxRQUFRLENBQUMsQ0FDdkM7RUFDRDtFQUNBO0VBQ0EsSUFBTTJFLGNBQWMsR0FBR2xILHFCQUFxQixDQUFDa0csVUFBVSxFQUFFM0QsUUFBUSxDQUFDLEdBQUcsSUFBSTRFLEdBQUcsQ0FBQ2pCLFVBQVUsQ0FBQyxHQUFHLElBQUk7RUFDL0YsSUFBTWtCLGFBQWEsR0FBR2pKLE9BQU8sQ0FBQyxZQUFLO0lBQ2pDLElBQUk4SSxlQUFlLENBQUNJLE1BQU0sS0FBSyxDQUFDLEVBQUU7TUFDaEMsT0FBTyxJQUFJO0lBQ2I7SUFFQSxJQUFNQyxZQUFZLEdBQUdOLGtCQUFrQixDQUFDTyxTQUFTLENBQy9DLFVBQUNDLE1BQU07TUFBQSxPQUFLQSxNQUFNLENBQUNqRyxLQUFLLEtBQUswRixlQUFlLENBQUMsQ0FBQyxDQUFDLENBQUMxRixLQUFLO0lBQUEsRUFDdEQ7SUFFRCxPQUFPK0YsWUFBWSxJQUFJLENBQUMsR0FBR0EsWUFBWSxHQUFHLElBQUk7RUFDaEQsQ0FBQyxFQUFFLENBQUNMLGVBQWUsRUFBRUQsa0JBQWtCLENBQUMsQ0FBQztFQUN6QyxJQUFNUyxZQUFZLEdBQUdSLGVBQWUsQ0FBQ0ksTUFBTSxHQUFHLENBQUM7RUFDL0MsSUFBTUssT0FBTyxHQUFHdEosTUFBTSxDQUFrQyxFQUFFLENBQUM7RUFDM0QsSUFBTXVKLGNBQWMsR0FBR3ZKLE1BQU0sQ0FBdUIsRUFBRSxDQUFDO0VBQ3ZELElBQU13SixXQUFXLEdBQUd4SixNQUFNLENBQXdCLElBQUksQ0FBQztFQUN2RCxJQUFNeUosVUFBVSxHQUFHekosTUFBTSxDQUEyQixJQUFJLENBQUM7RUFDekQsSUFBTTBKLGNBQWMsR0FBRzFKLE1BQU0sQ0FBMEIsSUFBSSxDQUFDO0VBRTVELElBQU0ySixnQkFBZ0IsR0FBR3hKLGdCQUFnQixDQUFDLFVBQUN5SixJQUE4QixFQUFJO0lBQzNFSCxVQUFVLENBQUNJLE9BQU8sR0FBR0QsSUFBSTtJQUN6QixJQUFJNUMsR0FBRyxFQUFFO01BQ05BLEdBQTZDLENBQUM2QyxPQUFPLEdBQUdELElBQUk7SUFDL0Q7RUFDRixDQUFDLENBQUM7RUFFRixJQUFBRSxlQUFBLEdBU0k3SSxjQUFjLENBQW9CO01BQ3BDeUUsSUFBSSxFQUFKQSxJQUFJO01BQ0pFLFdBQVcsRUFBWEEsV0FBVztNQUNYYSxZQUFZLEVBQVpBLFlBQVk7TUFDWjdDLFFBQVEsRUFBUkEsUUFBUTtNQUNSRyxRQUFRLEVBQVJBLFFBQVE7TUFDUnNDLGFBQWEsRUFBYkEsYUFBYTtNQUNiRSxTQUFTLEVBQVRBLFNBQVM7TUFDVEQsTUFBTSxFQUFOQTtJRC9IQSxDQ2dJRCxDQUFDO0lBakJReUQsU0FBUyxHQUFBRCxlQUFBLENBQWpCRSxNQUFNO0lBQ0dDLGdCQUFnQixHQUFBSCxlQUFBLENBQXpCSSxPQUFPO0lBQ1BDLElBQUksR0FBQUwsZUFBQSxDQUFKSyxJQUFJO0lBQ0pDLE9BQU8sR0FBQU4sZUFBQSxDQUFQTSxPQUFPO0lBQ1BDLGNBQWMsR0FBQVAsZUFBQSxDQUFkTyxjQUFjO0lBQ2RDLGdCQUFnQixHQUFBUixlQUFBLENBQWhCUSxnQkFBZ0I7SUFDaEJDLFNBQVMsR0FBQVQsZUFBQSxDQUFUUyxTQUFTO0lBQ1RDLGdCQUFnQixHQUFBVixlQUFBLENBQWhCVSxnQkFBZ0I7RUFZbEIsSUFBTUMsWUFBWSxHQUFHdEssZ0JBQWdCLENBQUMsVUFBQ3lKLElBQThCLEVBQUk7SUFDdkVPLElBQUksQ0FBQ00sWUFBWSxDQUFDYixJQUFJLENBQUM7SUFDdkJELGdCQUFnQixDQUFDQyxJQUFJLENBQUM7RUFDeEIsQ0FBQyxDQUFDO0VBRUYsSUFBTWMsV0FBVyxHQUFHdkssZ0JBQWdCLENBQUMsVUFBQ3lKLElBQTJCLEVBQUk7SUFDbkVPLElBQUksQ0FBQ08sV0FBVyxDQUFDZCxJQUFJLENBQUM7SUFDdEJKLFdBQVcsQ0FBQ0ssT0FBTyxHQUFHRCxJQUFJO0VBQzVCLENBQUMsQ0FBQztFQUVGLElBQU1lLGNBQWMsR0FBR2pMLGlCQUFpQixDQUFDMEssT0FBTyxFQUFFO0lBQ2hEZCxPQUFPLEVBQVBBLE9BQU87SUFDUGhCLFdBQVcsRUFBWEEsV0FBVztJQUNYVSxhQUFhLEVBQWJBLGFBQWE7SUFDYjRCLFVBQVUsRUFBRXJDLGNBQWM7SUFDMUJzQyxPQUFPLEVBQUVkLFNBQVM7SUFDbEJlLElBQUksRUFBRSxJQUFJO0lBQ1ZDLE9BQU8sRUFBRXpHO0VEbElULENDbUlELENBQUM7RUFDRixJQUFNMEcsU0FBUyxHQUFHckwsWUFBWSxDQUFDeUssT0FBTyxFQUFFO0lBQ3RDZCxPQUFPLEVBQUVDLGNBQWM7SUFDdkJqQixXQUFXLEVBQVhBLFdBQVc7SUFDWFUsYUFBYSxFQUFiQSxhQUFhO0lBQ2I2QixPQUFPLEVBQUVkLFNBQVMsSUFBSSxDQUFDekYsVUFBVTtJQUNqQzJHLE9BQU8sRUFBRTFDO0VEbElULENDbUlELENBQUM7RUFDRixJQUFBMkMsZ0JBQUEsR0FBOER6TCxlQUFlLElBQUEwTCxNQUFBLENBQUFDLGtCQUFBLENBQ3hFWixnQkFBZ0IsSUFDbkJHLGNBQWMsRUFDZEssU0FBUyxFQUNWLENBQUM7SUFKTUssaUJBQWlCLEdBQUFILGdCQUFBLENBQWpCRyxpQkFBaUI7SUFBRUMsZ0JBQWdCLEdBQUFKLGdCQUFBLENBQWhCSSxnQkFBZ0I7SUFBRUMsWUFBWSxHQUFBTCxnQkFBQSxDQUFaSyxZQUFZO0VBTXpELElBQU1DLGlCQUFpQixHQUFHekwsT0FBTyxDQUMvQjtJQUFBLE9BQU02SSxrQkFBa0IsQ0FBQ08sU0FBUyxDQUFDLFVBQUNDLE1BQU07TUFBQSxPQUFLLENBQUNBLE1BQU0sQ0FBQ3hGLFFBQVE7SUFBQSxFQUFDO0VBQUEsR0FDaEUsQ0FBQ2dGLGtCQUFrQixDQUFDLENBQ3JCO0VBRUQvSSxTQUFTLENBQUMsWUFBSztJQUNiLElBQUksQ0FBQ2tLLFNBQVMsRUFBRTtNQUNkeEIsY0FBYyxDQUFDUyxhQUFhLENBQUM7TUFDN0I7SUFDRjtJQUVBVCxjQUFjLENBQUMsVUFBQ2tELElBQUksRUFBSTtNQUN0QixJQUFJQSxJQUFJLEtBQUssSUFBSSxJQUFJN0Msa0JBQWtCLENBQUM2QyxJQUFJLENBQUMsSUFBSSxDQUFDN0Msa0JBQWtCLENBQUM2QyxJQUFJLENBQUMsQ0FBQzdILFFBQVEsRUFBRTtRQUNuRixPQUFPNkgsSUFBSTtNQUNiO01BRUEsSUFDRXpDLGFBQWEsS0FBSyxJQUFJLElBQ3RCSixrQkFBa0IsQ0FBQ0ksYUFBYSxDQUFDLElBQ2pDLENBQUNKLGtCQUFrQixDQUFDSSxhQUFhLENBQUMsQ0FBQ3BGLFFBQVEsRUFDM0M7UUFDQSxPQUFPb0YsYUFBYTtNQUN0QjtNQUVBLE9BQU93QyxpQkFBaUIsSUFBSSxDQUFDLEdBQUdBLGlCQUFpQixHQUFHLElBQUk7SUFDMUQsQ0FBQyxDQUFDO0VBQ0osQ0FBQyxFQUFFLENBQUNBLGlCQUFpQixFQUFFekIsU0FBUyxFQUFFZixhQUFhLEVBQUVKLGtCQUFrQixDQUFDLENBQUM7RUFFckUvSSxTQUFTLENBQUMsWUFBSztJRDdJVCxJQUFJdUMsRUFBRTtJQzhJVixJQUFJLENBQUMySCxTQUFTLElBQUl6QixXQUFXLEtBQUssSUFBSSxJQUFJaEUsVUFBVSxFQUFFO01BQ3BEO0lBQ0Y7SUFFQSxDQUFBbEMsRUFBQSxHQUFBa0gsT0FBTyxDQUFDTyxPQUFPLENBQUN2QixXQUFXLENBQUMsTUFBQSxJQUFBLElBQUFsRyxFQUFBLEtBQUEsS0FBQSxDQUFBLEdBQUEsS0FBQSxDQUFBLEdBQUFBLEVBQUEsQ0FBRXNKLEtBQUssQ0FBQztNQUFFQyxhQUFhLEVBQUU7SUFBSSxDQUFFLENBQUM7RUFDOUQsQ0FBQyxFQUFFLENBQUNyRCxXQUFXLEVBQUV5QixTQUFTLEVBQUV6RixVQUFVLENBQUMsQ0FBQztFQUV4Q3pFLFNBQVMsQ0FBQyxZQUFLO0lBQ2J5SixPQUFPLENBQUNPLE9BQU8sR0FBR1AsT0FBTyxDQUFDTyxPQUFPLENBQUMrQixLQUFLLENBQUMsQ0FBQyxFQUFFaEQsa0JBQWtCLENBQUNLLE1BQU0sQ0FBQztJQUNyRU0sY0FBYyxDQUFDTSxPQUFPLEdBQUdOLGNBQWMsQ0FBQ00sT0FBTyxDQUFDK0IsS0FBSyxDQUFDLENBQUMsRUFBRWhELGtCQUFrQixDQUFDSyxNQUFNLENBQUM7RUFDckYsQ0FBQyxFQUFFLENBQUNMLGtCQUFrQixDQUFDSyxNQUFNLENBQUMsQ0FBQztFQUUvQixJQUFNNEMsaUJBQWlCLEdBQUcxTCxnQkFBZ0IsQ0FBQyxVQUFDeUosSUFBNkIsRUFBSTtJQUMzRUYsY0FBYyxDQUFDRyxPQUFPLEdBQUdELElBQUk7SUFDN0IsSUFBSUEsSUFBSSxJQUFJRyxTQUFTLElBQUlsRixvQkFBb0IsRUFBRTtNQUM3QytFLElBQUksQ0FBQzhCLEtBQUssQ0FBQztRQUFFQyxhQUFhLEVBQUU7TUFBSSxDQUFFLENBQUM7SUFDckM7RUFDRixDQUFDLENBQUM7RUFFRixJQUFNRyxtQkFBbUIsR0FBRzNMLGdCQUFnQixDQUFDLFVBQUM0TCxhQUFpQyxFQUFFQyxLQUErQixFQUFJO0lEaEo5RyxJQUFJNUosRUFBRSxFQUFFNkosRUFBRTtJQ2lKZCxJQUFNQyxVQUFVLEdBQUdILGFBQTRCO0lBQy9DLElBQU1JLGFBQWEsR0FBRyxDQUFDLEVBQUVELFVBQVUsS0FBSSxDQUFBOUosRUFBQSxHQUFBcUgsVUFBVSxDQUFDSSxPQUFPLE1BQUEsSUFBQSxJQUFBekgsRUFBQSxLQUFBLEtBQUEsQ0FBQSxHQUFBLEtBQUEsQ0FBQSxHQUFBQSxFQUFBLENBQUVnSyxRQUFRLENBQUNGLFVBQVUsQ0FBQyxDQUFBLENBQUM7SUFDaEYsSUFBTUcsY0FBYyxHQUFHLENBQUMsRUFBRUgsVUFBVSxLQUFJLENBQUFELEVBQUEsR0FBQXpDLFdBQVcsQ0FBQ0ssT0FBTyxNQUFBLElBQUEsSUFBQW9DLEVBQUEsS0FBQSxLQUFBLENBQUEsR0FBQSxLQUFBLENBQUEsR0FBQUEsRUFBQSxDQUFFRyxRQUFRLENBQUNGLFVBQVUsQ0FBQyxDQUFBLENBQUM7SUFFbEYsSUFBSSxDQUFDQyxhQUFhLElBQUksQ0FBQ0UsY0FBYyxFQUFFO01BQ3JDMUYsTUFBTSxLQUFBLElBQUEsSUFBTkEsTUFBTSxLQUFBLEtBQUEsQ0FBQSxHQUFBLEtBQUEsQ0FBQSxHQUFOQSxNQUFNLENBQUdxRixLQUFLLENBQUM7SUFDakI7RUFDRixDQUFDLENBQUM7RUFFRixJQUFNTSxpQkFBaUIsR0FBR25NLGdCQUFnQixDQUFDLFVBQUM2TCxLQUFvQyxFQUFJO0lBQ2xGRixtQkFBbUIsQ0FBQ0UsS0FBSyxDQUFDRCxhQUFhLEVBQUVDLEtBQWdDLENBQUM7RUFDNUUsQ0FBQyxDQUFDO0VBRUYsSUFBTU8sZ0JBQWdCLEdBQUdwTSxnQkFBZ0IsQ0FBQyxVQUFDNkwsS0FBb0MsRUFBSTtJQUNqRkYsbUJBQW1CLENBQUNFLEtBQUssQ0FBQ0QsYUFBYSxFQUFFQyxLQUFnQyxDQUFDO0VBQzVFLENBQUMsQ0FBQztFQUVGLElBQU1RLFlBQVksR0FBR3JNLGdCQUFnQixDQUFDLFVBQUNzTSxTQUFzQixFQUFFQyxVQUEwQyxFQUFJO0lBQzNHM0UsYUFBYSxDQUFDMEUsU0FBUyxDQUFDO0lBQ3hCakcsUUFBUSxLQUFBLElBQUEsSUFBUkEsUUFBUSxLQUFBLEtBQUEsQ0FBQSxHQUFBLEtBQUEsQ0FBQSxHQUFSQSxRQUFRLENBQUdpRyxTQUFTLEVBQUVDLFVBQVUsRUFBRTlKLElBQUksQ0FBQztFQUN6QyxDQUFDLENBQUM7RUFFRixJQUFNK0osa0JBQWtCLEdBQUd4TSxnQkFBZ0IsQ0FBQyxVQUFDaUosTUFBb0IsRUFBSTtJRHBKL0QsSUFBSWhILEVBQUUsRUFBRTZKLEVBQUU7SUNxSmQsSUFBSTdDLE1BQU0sQ0FBQ3hGLFFBQVEsRUFBRTtNQUNuQjtJQUNGO0lBRUEsSUFBSU8sUUFBUSxFQUFFO01BQ1osSUFBTXNJLFNBQVMsR0FBR3pLLG1CQUFtQixDQUFDOEYsVUFBVSxFQUFFc0IsTUFBTSxDQUFDakcsS0FBSyxDQUFDO01BQy9ELElBQU15SixXQUFXLEdBQUduTCxrQkFBa0IsQ0FBQ2lILGNBQWMsRUFBRStELFNBQVMsQ0FBQztNQUNqRUQsWUFBWSxDQUFDQyxTQUFTLEVBQUVHLFdBQVcsQ0FBQztNQUNwQztJQUNGO0lBRUEsSUFBSTVHLGFBQWEsSUFBSThCLFVBQVUsS0FBS3NCLE1BQU0sQ0FBQ2pHLEtBQUssRUFBRTtNQUNoRHFKLFlBQVksQ0FBQzdFLFNBQVMsRUFBRUEsU0FBUyxDQUFDO01BQ2xDc0MsZ0JBQWdCLENBQUMsS0FBSyxDQUFDO01BQ3ZCdEQsTUFBTSxLQUFBLElBQUEsSUFBTkEsTUFBTSxLQUFBLEtBQUEsQ0FBQSxHQUFBLEtBQUEsQ0FBQSxHQUFOQSxNQUFNLENBQUEsQ0FBSTtNQUNWLENBQUF2RSxFQUFBLEdBQUFxSCxVQUFVLENBQUNJLE9BQU8sTUFBQSxJQUFBLElBQUF6SCxFQUFBLEtBQUEsS0FBQSxDQUFBLEdBQUEsS0FBQSxDQUFBLEdBQUFBLEVBQUEsQ0FBRXNKLEtBQUssQ0FBQztRQUFFQyxhQUFhLEVBQUU7TUFBSSxDQUFFLENBQUM7TUFDbEQ7SUFDRjtJQUVBYSxZQUFZLENBQUNwRCxNQUFNLENBQUNqRyxLQUFLLEVBQUVpRyxNQUFNLENBQUM7SUFDbENhLGdCQUFnQixDQUFDLEtBQUssQ0FBQztJQUN2QnRELE1BQU0sS0FBQSxJQUFBLElBQU5BLE1BQU0sS0FBQSxLQUFBLENBQUEsR0FBQSxLQUFBLENBQUEsR0FBTkEsTUFBTSxDQUFBLENBQUk7SUFDVixDQUFBc0YsRUFBQSxHQUFBeEMsVUFBVSxDQUFDSSxPQUFPLE1BQUEsSUFBQSxJQUFBb0MsRUFBQSxLQUFBLEtBQUEsQ0FBQSxHQUFBLEtBQUEsQ0FBQSxHQUFBQSxFQUFBLENBQUVQLEtBQUssQ0FBQztNQUFFQyxhQUFhLEVBQUU7SUFBSSxDQUFFLENBQUM7RUFDcEQsQ0FBQyxDQUFDO0VBRUYsSUFBTWtCLHlCQUF5QixHQUFHMU0sZ0JBQWdCLENBQUMsVUFBQzJNLFdBQThCLEVBQUk7SUFDcEYsSUFBSSxDQUFDM0ksUUFBUSxFQUFFO01BQ2I7SUFDRjtJQUVBLElBQUksQ0FBQzVDLGdCQUFnQixDQUFDdUcsVUFBVSxDQUFDLENBQUNpRixRQUFRLENBQUNELFdBQVcsQ0FBQyxFQUFFO01BQ3ZEO0lBQ0Y7SUFFQSxJQUFNTCxTQUFTLEdBQUcxSyxtQkFBbUIsQ0FBQytGLFVBQVUsRUFBRWdGLFdBQVcsQ0FBQztJQUM5RCxJQUFNRixXQUFXLEdBQUduTCxrQkFBa0IsQ0FBQ2lILGNBQWMsRUFBRStELFNBQVMsQ0FBQztJQUNqRUQsWUFBWSxDQUFDQyxTQUFTLEVBQUVHLFdBQVcsQ0FBQztFQUN0QyxDQUFDLENBQUM7RUFFRixJQUFNSSxvQkFBb0IsR0FBRzdNLGdCQUFnQixDQUFDLFVBQUM2TCxLQUE0QyxFQUFJO0lBQzdGLElBQUksQ0FBQzlFLFdBQVcsRUFBRTtNQUNoQjtJQUNGO0lBRUEsSUFBSThFLEtBQUssQ0FBQ2lCLEdBQUcsS0FBSy9MLFFBQVEsQ0FBQ2dNLEtBQUssSUFBSWxCLEtBQUssQ0FBQ2lCLEdBQUcsS0FBSy9MLFFBQVEsQ0FBQ2lNLEtBQUssRUFBRTtNQUNoRSxJQUNFcEQsU0FBUyxJQUNUekIsV0FBVyxLQUFLLElBQUksSUFDcEJNLGtCQUFrQixDQUFDTixXQUFXLENBQUMsSUFDL0IsQ0FBQ00sa0JBQWtCLENBQUNOLFdBQVcsQ0FBQyxDQUFDMUUsUUFBUSxFQUN6QztRQUNBb0ksS0FBSyxDQUFDb0IsY0FBYyxDQUFBLENBQUU7UUFDdEJULGtCQUFrQixDQUFDL0Qsa0JBQWtCLENBQUNOLFdBQVcsQ0FBQyxDQUFDO1FBQ25EO01BQ0Y7TUFDQTBELEtBQUssQ0FBQ29CLGNBQWMsQ0FBQSxDQUFFO01BQ3RCbkQsZ0JBQWdCLENBQUMsQ0FBQ0YsU0FBUyxDQUFDO01BQzVCO0lBQ0Y7SUFFQSxJQUFJaUMsS0FBSyxDQUFDaUIsR0FBRyxLQUFLL0wsUUFBUSxDQUFDbU0sVUFBVSxJQUFJckIsS0FBSyxDQUFDaUIsR0FBRyxLQUFLL0wsUUFBUSxDQUFDb00sUUFBUSxFQUFFO01BQ3hFdEIsS0FBSyxDQUFDb0IsY0FBYyxDQUFBLENBQUU7TUFDdEIsSUFBSSxDQUFDckQsU0FBUyxFQUFFO1FBQ2RFLGdCQUFnQixDQUFDLElBQUksQ0FBQztNQUN4QjtJQUNGO0VBQ0YsQ0FBQyxDQUFDO0VBRUYsSUFBTXNELG9CQUFvQixHQUFHcE4sZ0JBQWdCLENBQUMsVUFBQ3FOLEtBQWEsRUFBSTtJRC9KMUQsSUFBSXBMLEVBQUU7SUNnS1YsSUFBSSxFQUFDLENBQUFBLEVBQUEsR0FBQXdHLGtCQUFrQixDQUFDNEUsS0FBSyxDQUFDLE1BQUEsSUFBQSxJQUFBcEwsRUFBQSxLQUFBLEtBQUEsQ0FBQSxHQUFBLEtBQUEsQ0FBQSxHQUFBQSxFQUFBLENBQUV3QixRQUFRLENBQUEsRUFBRTtNQUN4QzJFLGNBQWMsQ0FBQ2lGLEtBQUssQ0FBQztJQUN2QjtFQUNGLENBQUMsQ0FBQztFQUVGLElBQU1DLHdCQUF3QixHQUFHdE4sZ0JBQWdCLENBQUMsVUFBQzZMLEtBQXVDLEVBQUk7SUFDNUZBLEtBQUssQ0FBQ29CLGNBQWMsQ0FBQSxDQUFFO0lBQ3RCcEIsS0FBSyxDQUFDMEIsZUFBZSxDQUFBLENBQUU7RUFDekIsQ0FBQyxDQUFDO0VBRUYsSUFBTUMsb0JBQW9CLEdBQUd4TixnQkFBZ0IsQ0FBQyxVQUFDNkwsS0FBdUMsRUFBSTtJQUN4RkEsS0FBSyxDQUFDb0IsY0FBYyxDQUFBLENBQUU7SUFDdEJwQixLQUFLLENBQUMwQixlQUFlLENBQUEsQ0FBRTtFQUN6QixDQUFDLENBQUM7RUFFRixJQUFNRSxnQkFBZ0IsR0FBR3pOLGdCQUFnQixDQUFDLFVBQUM2TCxLQUE4QixFQUFJO0lBQzNFRixtQkFBbUIsQ0FBQ0UsS0FBSyxDQUFDRCxhQUFhLEVBQUVDLEtBQUssQ0FBQztFQUNqRCxDQUFDLENBQUM7RUFFRixJQUFNNkIsa0JBQWtCLEdBQUcxTixnQkFBZ0IsQ0FBQyxVQUFDc00sU0FBaUIsRUFBSTtJQUNoRXRFLG1CQUFtQixDQUFDc0UsU0FBUyxDQUFDO0lBQzlCL0YsY0FBYyxLQUFBLElBQUEsSUFBZEEsY0FBYyxLQUFBLEtBQUEsQ0FBQSxHQUFBLEtBQUEsQ0FBQSxHQUFkQSxjQUFjLENBQUcrRixTQUFTLENBQUM7RUFDN0IsQ0FBQyxDQUFDO0VBRUYsSUFBTXFCLGlCQUFpQixHQUFHM04sZ0JBQWdCLENBQUMsWUFBSztJRG5LMUMsSUFBSWlDLEVBQUU7SUNvS1Z5TCxrQkFBa0IsQ0FBQyxFQUFFLENBQUM7SUFDdEIsQ0FBQXpMLEVBQUEsR0FBQXNILGNBQWMsQ0FBQ0csT0FBTyxNQUFBLElBQUEsSUFBQXpILEVBQUEsS0FBQSxLQUFBLENBQUEsR0FBQSxLQUFBLENBQUEsR0FBQUEsRUFBQSxDQUFFc0osS0FBSyxDQUFDO01BQUVDLGFBQWEsRUFBRTtJQUFJLENBQUUsQ0FBQztFQUN4RCxDQUFDLENBQUM7RUFFRixJQUFNb0MsZ0JBQWdCLEdBQUc1TixnQkFBZ0IsQ0FBQyxVQUFDMEosT0FBc0IsRUFBRW1FLFNBQWlCLEVBQW1CO0lEbktqRyxJQUFJNUwsRUFBRTtJQ29LVixJQUFNNkcsTUFBTSxHQUFHTCxrQkFBa0IsQ0FBQ0ssTUFBTTtJQUN4QyxJQUFJQSxNQUFNLEtBQUssQ0FBQyxFQUFFO01BQ2hCLE9BQU8sSUFBSTtJQUNiO0lBRUEsSUFBTWdGLEtBQUssR0FBR3BFLE9BQU8sS0FBQSxJQUFBLElBQVBBLE9BQU8sS0FBQSxLQUFBLENBQUEsR0FBUEEsT0FBTyxHQUFLbUUsU0FBUyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRy9FLE1BQU87SUFDeEQsS0FBSyxJQUFJaUYsSUFBSSxHQUFHLENBQUMsRUFBRUEsSUFBSSxJQUFJakYsTUFBTSxFQUFFaUYsSUFBSSxJQUFJLENBQUMsRUFBRTtNQUM1QyxJQUFNQyxTQUFTLEdBQUcsQ0FBQyxDQUFDRixLQUFLLEdBQUdELFNBQVMsR0FBR0UsSUFBSSxJQUFJakYsTUFBTSxHQUFHQSxNQUFNLElBQUlBLE1BQU07TUFDekUsSUFBSSxFQUFDLENBQUE3RyxFQUFBLEdBQUF3RyxrQkFBa0IsQ0FBQ3VGLFNBQVMsQ0FBQyxNQUFBLElBQUEsSUFBQS9MLEVBQUEsS0FBQSxLQUFBLENBQUEsR0FBQSxLQUFBLENBQUEsR0FBQUEsRUFBQSxDQUFFd0IsUUFBUSxDQUFBLEVBQUU7UUFDNUMsT0FBT3VLLFNBQVM7TUFDbEI7SUFDRjtJQUNBLE9BQU8sSUFBSTtFQUNiLENBQUMsQ0FBQztFQUVGLElBQU1DLG1CQUFtQixHQUFHak8sZ0JBQWdCLENBQUMsVUFBQzZMLEtBQTJDLEVBQUk7SURwS3ZGLElBQUk1SixFQUFFO0lDcUtWLElBQUk0SixLQUFLLENBQUNpQixHQUFHLEtBQUsvTCxRQUFRLENBQUNtTSxVQUFVLEVBQUU7TUFDckNyQixLQUFLLENBQUNvQixjQUFjLENBQUEsQ0FBRTtNQUN0QixJQUFNaUIsSUFBSSxHQUFHTixnQkFBZ0IsQ0FBQ3pGLFdBQVcsRUFBRSxDQUFDLENBQUM7TUFDN0MsSUFBSStGLElBQUksS0FBSyxJQUFJLEVBQUU7UUFDakI5RixjQUFjLENBQUM4RixJQUFJLENBQUM7TUFDdEI7TUFDQTtJQUNGO0lBRUEsSUFBSXJDLEtBQUssQ0FBQ2lCLEdBQUcsS0FBSy9MLFFBQVEsQ0FBQ29NLFFBQVEsRUFBRTtNQUNuQ3RCLEtBQUssQ0FBQ29CLGNBQWMsQ0FBQSxDQUFFO01BQ3RCLElBQU0zQixJQUFJLEdBQUdzQyxnQkFBZ0IsQ0FBQ3pGLFdBQVcsRUFBRSxDQUFDLENBQUMsQ0FBQztNQUM5QyxJQUFJbUQsSUFBSSxLQUFLLElBQUksRUFBRTtRQUNqQmxELGNBQWMsQ0FBQ2tELElBQUksQ0FBQztNQUN0QjtNQUNBO0lBQ0Y7SUFFQSxJQUFJTyxLQUFLLENBQUNpQixHQUFHLEtBQUsvTCxRQUFRLENBQUNnTSxLQUFLLEVBQUU7TUFDaEMsSUFDRTVFLFdBQVcsS0FBSyxJQUFJLElBQ3BCTSxrQkFBa0IsQ0FBQ04sV0FBVyxDQUFDLElBQy9CLENBQUNNLGtCQUFrQixDQUFDTixXQUFXLENBQUMsQ0FBQzFFLFFBQVEsRUFDekM7UUFDQW9JLEtBQUssQ0FBQ29CLGNBQWMsQ0FBQSxDQUFFO1FBQ3RCVCxrQkFBa0IsQ0FBQy9ELGtCQUFrQixDQUFDTixXQUFXLENBQUMsQ0FBQztNQUNyRDtNQUNBO0lBQ0Y7SUFFQSxJQUFJMEQsS0FBSyxDQUFDaUIsR0FBRyxLQUFLL0wsUUFBUSxDQUFDb04sTUFBTSxFQUFFO01BQ2pDdEMsS0FBSyxDQUFDb0IsY0FBYyxDQUFBLENBQUU7TUFDdEJuRCxnQkFBZ0IsQ0FBQyxLQUFLLENBQUM7TUFDdkIsQ0FBQTdILEVBQUEsR0FBQXFILFVBQVUsQ0FBQ0ksT0FBTyxNQUFBLElBQUEsSUFBQXpILEVBQUEsS0FBQSxLQUFBLENBQUEsR0FBQSxLQUFBLENBQUEsR0FBQUEsRUFBQSxDQUFFc0osS0FBSyxDQUFDO1FBQUVDLGFBQWEsRUFBRTtNQUFJLENBQUUsQ0FBQztJQUNwRDtFQUNGLENBQUMsQ0FBQztFQUVGLElBQU00QyxlQUFlLEdBQTBCO0lBQzdDM0ssUUFBUSxFQUFSQSxRQUFRO0lBQ1JHLFFBQVEsRUFBUkEsUUFBUTtJQUNSSSxRQUFRLEVBQVJBLFFBQVE7SUFDUkMsZ0JBQWdCLEVBQWhCQSxnQkFBZ0I7SUFDaEJzQixJQUFJLEVBQUVxRSxTQUFTO0lBQ2YvRyxXQUFXLEVBQUUsQ0FBQ3FHLFlBQVk7SUFDMUJSLGVBQWUsRUFBZkEsZUFBZTtJQUNmdkYsSUFBSSxFQUFFa0YsY0FBYztJQUNwQmdHLFFBQVEsRUFBRWhOLFdBQVcsQ0FBQ2dILGNBQWM7RUR6S3BDLENDMEtEO0VBQ0QsSUFBTWlHLGVBQWUsR0FBR3BGLFlBQVksR0FBRyxPQUFPLEdBQUcsYUFBYTtFQUM5RCxJQUFNcUYscUJBQXFCLEdBQ3pCdkssUUFBUSxJQUNSa0YsWUFBWSxJQUNaakYsZ0JBQWdCLEtBQUt1RCxTQUFTO0VBQzlCO0VBQ0E7RUFDQTtFQUNBLENBQUNaLFdBQ0Y7RUFDRCxJQUFNNEgsZ0JBQWdCLEdBQUd4SCxPQUFPLENBQzlCLFNBQVMsRUFDVHpHLE9BQU8sQ0FDTHlHLE9BQU8sWUFBQWdFLE1BQUEsQ0FBWTNDLGNBQWMsQ0FBRSxDQUFDLEVBQ3BDckIsT0FBTyxZQUFBZ0UsTUFBQSxDQUFZekgsT0FBTyxDQUFFLENBQUMsRUFDN0JxRyxTQUFTLElBQUk1QyxPQUFPLENBQUMsY0FBYyxDQUFDLEVBQ3BDdUgscUJBQXFCLElBQUl2SCxPQUFPLENBQUMseUJBQXlCLENBQUMsRUFDM0RrQyxZQUFZLEdBQUdsQyxPQUFPLENBQUMsZ0JBQWdCLENBQUMsR0FBR0EsT0FBTyxDQUFDLHFCQUFxQixDQUFDLEVBQ3pFM0QsTUFBTSxLQUFLLFNBQVMsSUFBSTJELE9BQU8sWUFBQWdFLE1BQUEsQ0FBWTNILE1BQU0sQ0FBRSxDQUFDLEVBQ3BESSxRQUFRLElBQUl1RCxPQUFPLENBQUMsa0JBQWtCLENBQUMsRUFDdkNwRCxRQUFRLElBQUksQ0FBQ0gsUUFBUSxJQUFJdUQsT0FBTyxDQUFDLGtCQUFrQixDQUFDLENBQ3JELENBQ0Y7RUFDRCxJQUFNeUgsUUFBUSxHQUFHcEcsY0FBYyxLQUFLLE9BQU8sR0FBRyxFQUFFLEdBQUcsRUFBRTtFQUNyRCxJQUFNcUcsY0FBYyxHQUNsQnZLLFVBQVUsSUFBSXlGLFNBQVMsSUFBSXpCLFdBQVcsS0FBSyxJQUFJLE1BQUE2QyxNQUFBLENBQ3hDMUQsY0FBYyxPQUFBMEQsTUFBQSxDQUFJN0MsV0FBVyxJQUNoQ1gsU0FBUztFQUNmLElBQU1tSCxzQkFBc0IsR0FBR2hNLGNBQWMsS0FBQSxJQUFBLElBQWRBLGNBQWMsS0FBQSxLQUFBLENBQUEsR0FBZEEsY0FBYyxHQUFLZ0MsS0FBSyxHQUFHd0MsT0FBTyxHQUFHSyxTQUFVO0VBQzlFLElBQU1vSCxjQUFjLEdBQUcsQ0FDckI5SixXQUFXLEdBQUdzQyxhQUFhLEdBQUcsSUFBSSxFQUNsQ3JDLFFBQVEsR0FBR3NDLFVBQVUsR0FBRyxJQUFJLENBQzdCLENBQUN3SCxNQUFNLENBQUNDLE9BQU8sQ0FBQyxDQUFDQyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUl2SCxTQUFTO0VBRXhDLE9BQ0VySSxLQUFBLENBQUN1QixnQkFBZ0IsRUFBQTtJQUNmc0csT0FBTyxFQUFFQSxPQUFPO0lBQ2hCNUUsU0FBUyxFQUFFQSxTQUFTO0lBQ3BCZSxJQUFJLEVBQUVrRixjQUFjO0lBQ3BCOUUsT0FBTyxFQUFFQSxPQUFPO0lBQ2hCRixNQUFNLEVBQUVBLE1BQU07SUFDZEksUUFBUSxFQUFFQSxRQUFRO0lBQ2xCRyxRQUFRLEVBQUVBLFFBQVE7SUFDbEJFLE9BQU8sRUFBRUEsT0FBTztJQUNoQmEsS0FBSyxFQUFFQSxLQUFLO0lBQ1pDLGNBQWMsRUFBRUEsY0FBYztJQUM5QkMsSUFBSSxFQUFFQSxJQUFJO0lBQ1ZDLFdBQVcsRUFBRUEsV0FBVztJQUN4QkMsUUFBUSxFQUFFQSxRQUFRO0lBQ2xCRSxRQUFRLEVBQUVBLFFBQVE7SUFDbEJrQyxPQUFPLEVBQUVBLE9BQU87SUFDaEJDLGFBQWEsRUFBRUEsYUFBYTtJQUM1QkMsVUFBVSxFQUFFQSxVQUFVO0lBQUEySCxRQUFBLEVBQUEsQ0FFdEI3UCxLQUFBLENBQUEsUUFBQSxFQUFBOFAsTUFBQSxDQUFBQyxNQUFBLENBQUEsQ0FBQSxDQUFBLEVBQ01oRSxpQkFBaUIsQ0FBQztNQUNwQnJFLEdBQUcsRUFBRXlELFlBQVk7TUFDakI5SCxFQUFFLEVBQUUwRSxTQUFTO01BQ2JpSSxJQUFJLEVBQUUsUUFBUTtNQUNkMU0sSUFBSSxFQUFKQSxJQUFJO01BQ0pnQixRQUFRLEVBQVJBLFFBQVE7TUFDUixlQUFlLEVBQUVHLFFBQVEsSUFBSTRELFNBQVM7TUFDdENwRixTQUFTLEVBQUVvTSxnQkFBZ0I7TUFDM0JZLFNBQVMsRUFBRXZDLG9CQUFvQjtNQUMvQnJHLE1BQU0sRUFBRTJGLGlCQUFpQjtNQUN6QixZQUFZLEVBQUV6SixTQUFTO01BQ3ZCLGlCQUFpQixFQUFFaU0sc0JBQXNCO01BQ3pDLGtCQUFrQixFQUFFQztJRDlNbEIsQ0MrTUgsQ0FBQyxFQUFBO01BQUFJLFFBQUEsRUFBQSxDQUVGN1AsS0FBQSxDQUFBLE1BQUEsRUFBQTtRQUFNaUQsU0FBUyxFQUFFNEUsT0FBTyxDQUFDLFNBQVMsQ0FBQztRQUFBZ0ksUUFBQSxFQUFBLENBQ2hDOUosTUFBTSxJQUFJakcsSUFBQSxDQUFBLE1BQUEsRUFBQTtVQUFNbUQsU0FBUyxFQUFFNEUsT0FBTyxDQUFDLFFBQVEsQ0FBQztVQUFBZ0ksUUFBQSxFQUFHOUo7UUFBTSxDQUFBLENBQVEsRUFDOURqRyxJQUFBLENBQUEsTUFBQSxFQUFBO1VBQ0VtRCxTQUFTLEVBQUU0RSxPQUFPLENBQ2hCc0gsZUFBZSxFQUNmL04sT0FBTyxDQUNMeUcsT0FBTyxJQUFBZ0UsTUFBQSxDQUFJc0QsZUFBZSxPQUFBdEQsTUFBQSxDQUFJM0MsY0FBYyxDQUFFLENBQUMsRUFDL0NrRyxxQkFBcUIsSUFBSXZILE9BQU8sSUFBQWdFLE1BQUEsQ0FBSXNELGVBQWUsY0FBVyxDQUFDLEVBQy9EN0ssUUFBUSxJQUFJdUQsT0FBTyxJQUFBZ0UsTUFBQSxDQUFJc0QsZUFBZSxjQUFXLENBQUMsQ0FDbkQsQ0FDRjtVQUFBVSxRQUFBLEVBRUQvUCxJQUFBLENBQUM0QixrQkFBa0IsRUFBQTtZQUNqQm1HLE9BQU8sRUFBRUEsT0FBTztZQUNoQmtDLFlBQVksRUFBRUEsWUFBWTtZQUMxQmxGLFFBQVEsRUFBRUEsUUFBUTtZQUNsQm5CLFdBQVcsRUFBRUEsV0FBVztZQUN4QitELFdBQVcsRUFBRUEsV0FBVztZQUN4QndILGVBQWUsRUFBRUEsZUFBZTtZQUNoQzFGLGVBQWUsRUFBRUEsZUFBZTtZQUNoQ3pFLGdCQUFnQixFQUFFQSxnQkFBZ0I7WUFDbENvTCxRQUFRLEVBQUUzQyx5QkFBeUI7WUFDbkM0QyxhQUFhLEVBQUU5QixvQkFBb0I7WUFDbkMrQixpQkFBaUIsRUFBRWpDO1VBQXdCLENBQUE7UUFDM0MsQ0FBQSxDQUNHO01BQUEsQ0FBQSxDQUNGLEVBQ1ByTyxJQUFBLENBQUEsTUFBQSxFQUFBO1FBQU1tRCxTQUFTLEVBQUU0RSxPQUFPLENBQUMsTUFBTSxDQUFDO1FBQUFnSSxRQUFBLEVBRTVCbEwsT0FBTyxHQUNGN0UsSUFBQSxDQUFDbUIsT0FBTyxFQUFBO1VBQUMrQyxJQUFJLEVBQUVzTCxRQUFRO1VBQUVlLFdBQVcsRUFBRTtRQUFDLENBQUEsQ0FBSSxHQUM1QzVMLFFBQVEsR0FDTCxJQUFJLEdBQ0ozRSxJQUFBLENBQUNrQixLQUFLLEVBQUE7VUFBRXNDLElBQUksRUFBRW1ILFNBQVMsR0FBRyxXQUFXLEdBQUcsYUFBYTtVQUFFekcsSUFBSSxFQUFFc0wsUUFBUTtVQUFHZ0IsS0FBSyxFQUFDO1FBQWMsQ0FBQTtNQUFFLENBQUEsQ0FFbEc7SUFBQSxDQUFBLENBQUEsQ0FDQSxFQUVSckYsU0FBUyxJQUFJckQsV0FBVyxJQUFLLFlBQUs7TUFDakMsSUFBTTJJLFNBQVMsR0FDYnpRLElBQUEsQ0FBQ0csb0JBQW9CLEVBQUE7UUFBQzZLLE9BQU8sRUFBRUEsT0FBTztRQUFFMEYsS0FBSyxFQUFFLEtBQUs7UUFBRUMsWUFBWSxFQUFFLENBQUMsQ0FBQztRQUFFQyxXQUFXLEVBQUUsS0FBSztRQUFBYixRQUFBLEVBQ3hGN1AsS0FBQSxDQUFBLEtBQUEsRUFBQThQLE1BQUEsQ0FBQUMsTUFBQSxDQUFBLENBQUEsQ0FBQSxFQUNNL0QsZ0JBQWdCLENBQUM7VUFDbkJ0RSxHQUFHLEVBQUUwRCxXQUFXO1VBQ2hCbkksU0FBUyxFQUFFN0IsT0FBTyxDQUFDeUcsT0FBTyxDQUFDLE9BQU8sQ0FBQyxFQUFFbEIsY0FBYyxDQUFDO1VBQ3BEdkQsS0FBSyxFQUFBME0sTUFBQSxDQUFBQyxNQUFBLENBQUFELE1BQUEsQ0FBQUMsTUFBQSxDQUFBLENBQUEsQ0FBQSxFQUFPaEYsY0FBYyxDQUFBLEVBQUtDLGdCQUFnQjtRRHJQM0MsQ0NzUEwsQ0FBQyxFQUFBO1VBQUE2RSxRQUFBLEVBQUEsQ0FFRDdLLFVBQVUsSUFDVGxGLElBQUEsQ0FBQzJCLG1CQUFtQixFQUFBO1lBQ2xCaUcsR0FBRyxFQUFFNkUsaUJBQWlCO1lBQ3RCMUUsT0FBTyxFQUFFQSxPQUFPO1lBQ2hCO1lBQ0E3RCxJQUFJLEVBQUMsT0FBTztZQUNaTixXQUFXLEVBQUV3QixpQkFBaUI7WUFDOUJyQixLQUFLLEVBQUUrRSxnQkFBZ0I7WUFDdkIrSCxnQkFBZ0IsRUFBRXBCLGNBQWM7WUFDaENsSSxNQUFNLEVBQUVpSCxnQkFBZ0I7WUFDeEJwSCxRQUFRLEVBQUVxSCxrQkFBa0I7WUFDNUJxQyxPQUFPLEVBQUVwQyxpQkFBaUI7WUFDMUJ5QixTQUFTLEVBQUVuQjtVQUFtQixDQUFBLENBRWpDLEVBQ0Q5TyxLQUFBLENBQUEsS0FBQSxFQUFBO1lBQUtpRCxTQUFTLEVBQUU0RSxPQUFPLENBQUMsWUFBWSxDQUFDO1lBQUFnSSxRQUFBLEVBQUEsQ0FDbEMzSixXQUFXLElBQUksSUFBSSxJQUNsQnBHLElBQUEsQ0FBQSxLQUFBLEVBQUE7Y0FBS21ELFNBQVMsRUFBRTRFLE9BQU8sQ0FBQyxjQUFjLENBQUM7Y0FBQWdJLFFBQUEsRUFBRzNKO1lBQVcsQ0FBQSxDQUN0RCxFQUNBb0Qsa0JBQWtCLENBQUNLLE1BQU0sS0FBSyxDQUFDLEdBQzlCN0osSUFBQSxDQUFBLEtBQUEsRUFBQTtjQUFLbUQsU0FBUyxFQUFFNEUsT0FBTyxDQUFDLE9BQU8sQ0FBQztjQUFBZ0ksUUFBQSxFQUM5Qi9QLElBQUEsQ0FBQ29CLGNBQWMsRUFBQTtnQkFBQzhDLElBQUksRUFBRW5DLGlCQUFpQixDQUFDZ1AsS0FBSyxDQUFDN00sSUFBSTtnQkFBRXNNLEtBQUssRUFBRXpPLGlCQUFpQixDQUFDZ1AsS0FBSyxDQUFDUCxLQUFLO2dCQUFBVCxRQUFBLEVBQUc1SjtjQUFZLENBQUE7WUFBa0IsQ0FBQSxDQUNySCxHQUVMLFlBQUs7Y0FDSixJQUFJNkssU0FBUyxHQUFHLENBQUM7Y0FFakIsT0FBT3pILG1CQUFtQixDQUFDMEgsR0FBRyxDQUFDLFVBQUNDLEtBQUs7Z0JBQUEsT0FDbkNoUixLQUFBLENBQUEsS0FBQSxFQUFBO2tCQUFxQmlELFNBQVMsRUFBRTRFLE9BQU8sQ0FBQyxPQUFPLENBQUM7a0JBQUFnSSxRQUFBLEVBQUEsQ0FDN0NtQixLQUFLLENBQUN4TCxLQUFLLElBQ1YxRixJQUFBLENBQUEsS0FBQSxFQUFBO29CQUFLbUQsU0FBUyxFQUFFNEUsT0FBTyxDQUFDLGFBQWEsRUFBRWhCLG1CQUFtQixDQUFDO29CQUFBZ0osUUFBQSxFQUN6RC9QLElBQUEsQ0FBQ3FCLGVBQWUsRUFBQTtzQkFBQzZDLElBQUksRUFBRW5DLGlCQUFpQixDQUFDb1AsVUFBVSxDQUFDak4sSUFBSTtzQkFBRWtOLE1BQU0sRUFBQSxJQUFBO3NCQUFBckIsUUFBQSxFQUFFbUIsS0FBSyxDQUFDeEw7b0JBQUssQ0FBQTtrQkFBbUIsQ0FBQSxDQUVuRyxFQUNBd0wsS0FBSyxDQUFDcE4sT0FBTyxDQUFDbU4sR0FBRyxDQUFDLFVBQUNqSCxNQUFNLEVBQUk7b0JBQzVCLElBQU1xSCxlQUFlLEdBQUdMLFNBQVM7b0JBQ2pDQSxTQUFTLElBQUksQ0FBQztvQkFFZCxJQUFNTSxRQUFRLEdBQUc1SCxjQUFjLEdBQzNCQSxjQUFjLENBQUM2SCxHQUFHLENBQUN2SCxNQUFNLENBQUNqRyxLQUFLLENBQUMsR0FDaEN4QixnQkFBZ0IsQ0FBQ21HLFVBQVUsRUFBRTNELFFBQVEsRUFBRWlGLE1BQU0sQ0FBQ2pHLEtBQUssQ0FBQztvQkFDeEQsSUFBTXlOLE1BQU0sR0FBR3RJLFdBQVcsS0FBS21JLGVBQWU7b0JBQzlDLElBQU1JLFVBQVUsR0FBMkI7c0JBQ3pDRCxNQUFNLEVBQU5BLE1BQU07c0JBQ05oTixRQUFRLEVBQUUsQ0FBQyxDQUFDd0YsTUFBTSxDQUFDeEYsUUFBUTtzQkFDM0I0SixLQUFLLEVBQUVpRCxlQUFlO3NCQUN0QnRNLFFBQVEsRUFBUkEsUUFBUTtzQkFDUnVCLElBQUksRUFBRXFFLFNBQVM7c0JBQ2YyRyxRQUFRLEVBQVJBLFFBQVE7c0JBQ1JsQyxRQUFRLEVBQUVoTixXQUFXLENBQUNnSCxjQUFjO29CRHRSWixDQ3VSekI7b0JBRURlLGNBQWMsQ0FBQ00sT0FBTyxDQUFDNEcsZUFBZSxDQUFDLEdBQUdyUCxpQkFBaUIsQ0FBQ2dJLE1BQU0sQ0FBQztvQkFFbkUsT0FDRWhLLElBQUEsQ0FBQSxRQUFBLEVBQUFnUSxNQUFBLENBQUFDLE1BQUEsQ0FBQSxDQUFBLENBQUEsRUFFTTlELFlBQVksQ0FBQztzQkFDZnZFLEdBQUcsV0FBSEEsR0FBR0EsQ0FBQzRDLElBQThCLEVBQUE7d0JBQ2hDTixPQUFPLENBQUNPLE9BQU8sQ0FBQzRHLGVBQWUsQ0FBQyxHQUFHN0csSUFBSTtzQkFDekMsQ0FBQztzQkFDRGpILEVBQUUsS0FBQXdJLE1BQUEsQ0FBSzFELGNBQWMsT0FBQTBELE1BQUEsQ0FBSXNGLGVBQWUsQ0FBRTtzQkFDMUNuQixJQUFJLEVBQUUsUUFBUTtzQkFDZHdCLElBQUksRUFBRSxRQUFRO3NCQUNkdk8sU0FBUyxFQUFFNEUsT0FBTyxDQUNoQixRQUFRLEVBQ1J6RyxPQUFPLENBQ0xrUSxNQUFNLElBQUl6SixPQUFPLENBQUMsZUFBZSxDQUFDLEVBQ2xDdUosUUFBUSxJQUFJdkosT0FBTyxDQUFDLGlCQUFpQixDQUFDLEVBQ3RDaUMsTUFBTSxDQUFDeEYsUUFBUSxJQUFJdUQsT0FBTyxDQUFDLGlCQUFpQixDQUFDLEVBQzdDakIsZUFBZSxDQUNoQixDQUNGO3NCQUNEdEMsUUFBUSxFQUFFd0YsTUFBTSxDQUFDeEYsUUFBUTtzQkFDekIsZUFBZSxFQUFFOE0sUUFBUTtzQkFDekJLLE9BQU8sRUFBRSxTQUFUQSxPQUFPQSxDQUFHL0UsS0FBeUMsRUFBSTt3QkFDckRBLEtBQUssQ0FBQ29CLGNBQWMsQ0FBQSxDQUFFO3dCQUN0QlQsa0JBQWtCLENBQUN2RCxNQUFNLENBQUM7c0JBQzVCLENBQUM7c0JBQ0Q0SCxZQUFZLEVBQUUsU0FBZEEsWUFBWUEsQ0FBQTt3QkFBQSxPQUFRekQsb0JBQW9CLENBQUNrRCxlQUFlLENBQUM7c0JBQUE7c0JBQ3pEOUosTUFBTSxFQUFFNEY7b0JEblNZLENDb1NyQixDQUFDLEVBQUE7c0JBQUE0QyxRQUFBLEVBRUR0SSxZQUFZLEdBQ1hBLFlBQVksQ0FBQ3VDLE1BQU0sRUFBRXlILFVBQVUsQ0FBQyxHQUVoQ3pSLElBQUEsQ0FBQzBCLG1CQUFtQixFQUFBO3dCQUNsQnFHLE9BQU8sRUFBRUEsT0FBTzt3QkFDaEJpQyxNQUFNLEVBQUVBLE1BQU07d0JBQ2RzSCxRQUFRLEVBQUVBLFFBQVE7d0JBQ2xCcE4sSUFBSSxFQUFFa0YsY0FBYzt3QkFDcEJ5SSxPQUFPLEVBQUVuSyxtQkFBbUIsS0FBQSxJQUFBLElBQW5CQSxtQkFBbUIsS0FBQSxLQUFBLENBQUEsR0FBQSxLQUFBLENBQUEsR0FBbkJBLG1CQUFtQixDQUFHc0MsTUFBTSxFQUFFeUgsVUFBVTtzQkFBQyxDQUFBO29CQUVyRCxDQUFBLENBQUEsS0FBQTFGLE1BQUEsQ0FyQ09tRixLQUFLLENBQUNyRCxHQUFHLE9BQUE5QixNQUFBLENBQUkvQixNQUFNLENBQUNqRyxLQUFLLENBQUUsQ0FzQzVCO2tCQUViLENBQUMsQ0FBQztnQkFBQSxDQUFBLEVBcEVNbU4sS0FBSyxDQUFDckQsR0FBRyxDQXFFYjtjQUFBLENBQ1AsQ0FBQztZQUNKLENBQUMsQ0FBQyxDQUNIO1VBQUEsQ0FBQSxDQUNHLEVBQ0x4SCxXQUFXLElBQUksSUFBSSxJQUNsQnJHLElBQUEsQ0FBQSxLQUFBLEVBQUE7WUFBS21ELFNBQVMsRUFBRTRFLE9BQU8sQ0FBQyxjQUFjLENBQUM7WUFBQWdJLFFBQUEsRUFBRzFKO1VBQVcsQ0FBQSxDQUN0RDtRQUFBLENBQUEsQ0FBQTtNQUNHLENBQUEsQ0FFVDtNQUVELE9BQU9LLE1BQU0sR0FBRzFHLElBQUEsQ0FBQ0ksY0FBYyxFQUFBO1FBQUEyUCxRQUFBLEVBQUVVO01BQVMsQ0FBQSxDQUFrQixHQUFHQSxTQUFTO0lBQzFFLENBQUMsQ0FBQyxDQUFFO0VBQUEsQ0FBQSxDQUNhO0FBRXZCLENBQUM7QUFFRDNOLE1BQU0sQ0FBQ2dQLFdBQVcsR0FBRyxRQUFRO0FBRTdCLDRCQUFldFIsSUFBSSxDQUFDc0MsTUFBTSxDQUFDIiwiZmlsZSI6ImNvbXBvbmVudHMvU2VsZWN0L1NlbGVjdC5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGpzeCBhcyBfanN4LCBqc3hzIGFzIF9qc3hzIH0gZnJvbSBcInJlYWN0L2pzeC1ydW50aW1lXCI7XG5pbXBvcnQgeyBGbG9hdGluZ0ZvY3VzTWFuYWdlciwgRmxvYXRpbmdQb3J0YWwsIHVzZUludGVyYWN0aW9ucywgdXNlTGlzdE5hdmlnYXRpb24sIHVzZVR5cGVhaGVhZCwgfSBmcm9tICdAZmxvYXRpbmctdWkvcmVhY3QnO1xuaW1wb3J0IHsgbWVtbywgdXNlRWZmZWN0LCB1c2VJZCwgdXNlTWVtbywgdXNlUmVmLCB1c2VTdGF0ZSB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB1c2VDb250cm9sbGVkU3RhdGUgZnJvbSAnQDFtb25leS9ob29rcy91c2VDb250cm9sbGVkU3RhdGUnO1xuaW1wb3J0IHVzZUV2ZW50Q2FsbGJhY2sgZnJvbSAnQDFtb25leS9ob29rcy91c2VFdmVudENhbGxiYWNrJztcbmltcG9ydCB7IHVzZUxvY2FsZSB9IGZyb20gJy4uL0NvbmZpZ1Byb3ZpZGVyJztcbmltcG9ydCB7IHVzZUZvcm1Db250cm9sU2l6ZSB9IGZyb20gJy4uL0Zvcm1MYXlvdXQvY29udGV4dCc7XG5pbXBvcnQgeyBJY29ucyB9IGZyb20gJy4uL0ljb25zJztcbmltcG9ydCB7IFNwaW5uZXIgfSBmcm9tICcuLi9TcGlubmVyJztcbmltcG9ydCB7IFR5cG9ncmFwaHlCb2R5LCBUeXBvZ3JhcGh5TGFiZWwgfSBmcm9tICcuLi9UeXBvZ3JhcGh5JztcbmltcG9ydCB7IGpvaW5DbHMsIGRlZmF1bHQgYXMgcm9vdENsYXNzbmFtZXMgfSBmcm9tICcuLi8uLi91dGlscy9jbGFzc25hbWVzJztcbmltcG9ydCBTZWxlY3RGaWVsZFNoZWxsIGZyb20gJy4vU2VsZWN0RmllbGRTaGVsbCc7XG5pbXBvcnQgU2VsZWN0T3B0aW9uQ29udGVudCBmcm9tICcuL1NlbGVjdE9wdGlvbkNvbnRlbnQnO1xuaW1wb3J0IFNlbGVjdFNlYXJjaENvbnRyb2wgZnJvbSAnLi9TZWxlY3RTZWFyY2hDb250cm9sJztcbmltcG9ydCBTZWxlY3RWYWx1ZUNvbnRlbnQgZnJvbSAnLi9TZWxlY3RWYWx1ZUNvbnRlbnQnO1xuaW1wb3J0IHsgdXNlU2VsZWN0U2hlbGwgfSBmcm9tICcuL3VzZVNlbGVjdFNoZWxsJztcbmltcG9ydCB7IEtFWUJPQVJELCBTRUxFQ1RfVFlQT0dSQVBIWSB9IGZyb20gJy4vY29uc3RhbnRzJztcbmltcG9ydCB7IGV4dHJhY3RPcHRpb25UZXh0LCBmaWx0ZXJPcHRpb25Hcm91cHMsIGZsYXR0ZW5PcHRpb25Hcm91cHMsIGdldE11bHRpcGxlVmFsdWUsIGdldEZvbnRTaXplLCBnZXRPcHRpb25zQnlWYWx1ZXMsIGdldFNlbGVjdGVkT3B0aW9ucywgaXNPcHRpb25TZWxlY3RlZCwgaXNTZWxlY3RNdWx0aXBsZVZhbHVlLCBub3JtYWxpemVTaXplLCBub3JtYWxpemVPcHRpb25Hcm91cHMsIHJlbW92ZU11bHRpcGxlVmFsdWUsIHRvZ2dsZU11bHRpcGxlVmFsdWUsIH0gZnJvbSAnLi91dGlscyc7XG5pbXBvcnQgJy4vc3R5bGUnO1xuY29uc3QgREVGQVVMVF9NQVhfSEVJR0hUID0gMzIwO1xuZXhwb3J0IGNvbnN0IFNlbGVjdCA9IChwcm9wcykgPT4ge1xuICAgIHZhciBfYTtcbiAgICBjb25zdCBsb2NhbGUgPSB1c2VMb2NhbGUoJ1NlbGVjdCcpO1xuICAgIGNvbnN0IHsgY2xhc3NOYW1lID0gJycsIHByZWZpeENscyA9ICdzZWxlY3QnLCBzdHlsZSwgaWQsIG5hbWUsICdhcmlhLWxhYmVsJzogYXJpYUxhYmVsLCAnYXJpYS1sYWJlbGxlZGJ5JzogYXJpYUxhYmVsbGVkQnksIHBsYWNlaG9sZGVyID0gbG9jYWxlLnBsYWNlaG9sZGVyLCBvcHRpb25zID0gW10sIHZhbHVlLCBkZWZhdWx0VmFsdWUsIHNpemU6IHNpemVQcm9wLCBzdGF0dXMgPSAnZGVmYXVsdCcsIHZhcmlhbnQgPSAnZmlsbCcsIGRpc2FibGVkOiBkaXNhYmxlZFByb3AgPSBmYWxzZSwgcmVhZE9ubHkgPSBmYWxzZSwgbG9hZGluZyA9IGZhbHNlLCBtdWx0aXBsZSA9IGZhbHNlLCBtYXhWaXNpYmxlVmFsdWVzLCBzZWFyY2hhYmxlID0gZmFsc2UsIHNlYXJjaFBsYWNlaG9sZGVyID0gbG9jYWxlLnNlYXJjaFBsYWNlaG9sZGVyLCBzZWFyY2hWYWx1ZSwgZGVmYXVsdFNlYXJjaFZhbHVlID0gJycsIGZpbHRlcklucHV0QXV0b0ZvY3VzID0gdHJ1ZSwgbGFiZWwsIGxhYmVsQ2xhc3NOYW1lLCBpbmZvLCBkZXNjcmlwdGlvbiwgZmVlZGJhY2ssIHJlcXVpcmVkID0gdHJ1ZSwgcHJlZml4LCBlbXB0eUNvbnRlbnQgPSBsb2NhbGUuZW1wdHlDb250ZW50LCBwYW5lbEhlYWRlciwgcGFuZWxGb290ZXIsIG9wZW4sIGRlZmF1bHRPcGVuID0gZmFsc2UsIHBvcnRhbCA9IHRydWUsIGFsbG93RGVzZWxlY3QgPSBmYWxzZSwgcGFuZWxDbGFzc05hbWUsIG9wdGlvbkNsYXNzTmFtZSwgZ3JvdXBMYWJlbENsYXNzTmFtZSwgbGlzdE1heEhlaWdodCA9IERFRkFVTFRfTUFYX0hFSUdIVCwgb2Zmc2V0LCBhbmltYXRpb24sIG9uQ2hhbmdlLCBvbk9wZW5DaGFuZ2UsIG9uU2VhcmNoQ2hhbmdlLCBvbkJsdXIsIGZpbHRlck9wdGlvbiwgcmVuZGVyT3B0aW9uLCByZW5kZXJPcHRpb25Db250ZW50LCByZW5kZXJWYWx1ZSwgcmVmLCB9ID0gcHJvcHM7XG4gICAgLy8gQmFyZS1jb250cm9sIHNpemUgZGVmYXVsdDogYW4gZXhwbGljaXQgYHNpemVgIHdpbnM7IGluc2lkZSBhIEZvcm1MYXlvdXRcbiAgICAvLyB0aGUgdmFyaWFudCdzIGNvbnRyb2xTaXplIGFwcGxpZXM7IGVsc2V3aGVyZSAnbGFyZ2UnLlxuICAgIGNvbnN0IGNvbnRleHRTaXplID0gdXNlRm9ybUNvbnRyb2xTaXplKCk7XG4gICAgY29uc3Qgc2l6ZSA9IChfYSA9IHNpemVQcm9wICE9PSBudWxsICYmIHNpemVQcm9wICE9PSB2b2lkIDAgPyBzaXplUHJvcCA6IGNvbnRleHRTaXplKSAhPT0gbnVsbCAmJiBfYSAhPT0gdm9pZCAwID8gX2EgOiAnbGFyZ2UnO1xuICAgIGNvbnN0IGRpc2FibGVkID0gZGlzYWJsZWRQcm9wIHx8IGxvYWRpbmc7XG4gICAgY29uc3QgaW50ZXJhY3RpdmUgPSAhZGlzYWJsZWQgJiYgIXJlYWRPbmx5O1xuICAgIGNvbnN0IGNsYXNzZXMgPSByb290Q2xhc3NuYW1lcyhwcmVmaXhDbHMpO1xuICAgIGNvbnN0IGF1dG9JZCA9IHVzZUlkKCk7XG4gICAgY29uc3QgdHJpZ2dlcklkID0gaWQgIT09IG51bGwgJiYgaWQgIT09IHZvaWQgMCA/IGlkIDogYXV0b0lkO1xuICAgIGNvbnN0IGxhYmVsSWQgPSB1c2VJZCgpO1xuICAgIGNvbnN0IGRlc2NyaXB0aW9uSWQgPSB1c2VJZCgpO1xuICAgIGNvbnN0IGZlZWRiYWNrSWQgPSB1c2VJZCgpO1xuICAgIGNvbnN0IG9wdGlvbklkUHJlZml4ID0gdXNlSWQoKTtcbiAgICBjb25zdCBbaW5uZXJWYWx1ZSwgc2V0SW5uZXJWYWx1ZV0gPSB1c2VDb250cm9sbGVkU3RhdGUoZGVmYXVsdFZhbHVlICE9PSBudWxsICYmIGRlZmF1bHRWYWx1ZSAhPT0gdm9pZCAwID8gZGVmYXVsdFZhbHVlIDogKG11bHRpcGxlID8gW10gOiB1bmRlZmluZWQpLCB2YWx1ZSk7XG4gICAgY29uc3QgW2lubmVyU2VhcmNoVmFsdWUsIHNldElubmVyU2VhcmNoVmFsdWVdID0gdXNlQ29udHJvbGxlZFN0YXRlKGRlZmF1bHRTZWFyY2hWYWx1ZSwgc2VhcmNoVmFsdWUpO1xuICAgIGNvbnN0IFthY3RpdmVJbmRleCwgc2V0QWN0aXZlSW5kZXhdID0gdXNlU3RhdGUobnVsbCk7XG4gICAgY29uc3Qgbm9ybWFsaXplZFNpemUgPSBub3JtYWxpemVTaXplKHNpemUpO1xuICAgIGNvbnN0IGFsbE9wdGlvbkdyb3VwcyA9IHVzZU1lbW8oKCkgPT4gbm9ybWFsaXplT3B0aW9uR3JvdXBzKG9wdGlvbnMpLCBbb3B0aW9uc10pO1xuICAgIGNvbnN0IGFsbEZsYXRPcHRpb25zID0gdXNlTWVtbygoKSA9PiBmbGF0dGVuT3B0aW9uR3JvdXBzKGFsbE9wdGlvbkdyb3VwcyksIFthbGxPcHRpb25Hcm91cHNdKTtcbiAgICBjb25zdCB2aXNpYmxlT3B0aW9uR3JvdXBzID0gdXNlTWVtbygoKSA9PiAoc2VhcmNoYWJsZVxuICAgICAgICA/IGZpbHRlck9wdGlvbkdyb3VwcyhhbGxPcHRpb25Hcm91cHMsIGlubmVyU2VhcmNoVmFsdWUsIGZpbHRlck9wdGlvbilcbiAgICAgICAgOiBhbGxPcHRpb25Hcm91cHMpLCBbYWxsT3B0aW9uR3JvdXBzLCBmaWx0ZXJPcHRpb24sIGlubmVyU2VhcmNoVmFsdWUsIHNlYXJjaGFibGVdKTtcbiAgICBjb25zdCB2aXNpYmxlRmxhdE9wdGlvbnMgPSB1c2VNZW1vKCgpID0+IGZsYXR0ZW5PcHRpb25Hcm91cHModmlzaWJsZU9wdGlvbkdyb3VwcyksIFt2aXNpYmxlT3B0aW9uR3JvdXBzXSk7XG4gICAgY29uc3Qgc2VsZWN0ZWRPcHRpb25zID0gdXNlTWVtbygoKSA9PiBnZXRTZWxlY3RlZE9wdGlvbnMoYWxsRmxhdE9wdGlvbnMsIGlubmVyVmFsdWUsIG11bHRpcGxlKSwgW2FsbEZsYXRPcHRpb25zLCBpbm5lclZhbHVlLCBtdWx0aXBsZV0pO1xuICAgIC8vIFJlYnVpbGQgcGVyIHJlbmRlcjogY29udHJvbGxlZCBhcnJheXMgbWF5IGJlIG11dGF0ZWQgaW4gcGxhY2UsIGFuZCBvcHRpb25cbiAgICAvLyBtZW1iZXJzaGlwIHByZXZpb3VzbHkgcmVhZCB0aGVpciBjdXJyZW50IGNvbnRlbnRzIG9uIGV2ZXJ5IHJlbmRlci5cbiAgICBjb25zdCBzZWxlY3RlZFZhbHVlcyA9IGlzU2VsZWN0TXVsdGlwbGVWYWx1ZShpbm5lclZhbHVlLCBtdWx0aXBsZSkgPyBuZXcgU2V0KGlubmVyVmFsdWUpIDogbnVsbDtcbiAgICBjb25zdCBzZWxlY3RlZEluZGV4ID0gdXNlTWVtbygoKSA9PiB7XG4gICAgICAgIGlmIChzZWxlY3RlZE9wdGlvbnMubGVuZ3RoID09PSAwKSB7XG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBtYXRjaGVkSW5kZXggPSB2aXNpYmxlRmxhdE9wdGlvbnMuZmluZEluZGV4KChvcHRpb24pID0+IG9wdGlvbi52YWx1ZSA9PT0gc2VsZWN0ZWRPcHRpb25zWzBdLnZhbHVlKTtcbiAgICAgICAgcmV0dXJuIG1hdGNoZWRJbmRleCA+PSAwID8gbWF0Y2hlZEluZGV4IDogbnVsbDtcbiAgICB9LCBbc2VsZWN0ZWRPcHRpb25zLCB2aXNpYmxlRmxhdE9wdGlvbnNdKTtcbiAgICBjb25zdCBoYXNTZWxlY3Rpb24gPSBzZWxlY3RlZE9wdGlvbnMubGVuZ3RoID4gMDtcbiAgICBjb25zdCBsaXN0UmVmID0gdXNlUmVmKFtdKTtcbiAgICBjb25zdCBsaXN0Q29udGVudFJlZiA9IHVzZVJlZihbXSk7XG4gICAgY29uc3QgZmxvYXRpbmdSZWYgPSB1c2VSZWYobnVsbCk7XG4gICAgY29uc3QgdHJpZ2dlclJlZiA9IHVzZVJlZihudWxsKTtcbiAgICBjb25zdCBzZWFyY2hJbnB1dFJlZiA9IHVzZVJlZihudWxsKTtcbiAgICBjb25zdCBoYW5kbGVUcmlnZ2VyUmVmID0gdXNlRXZlbnRDYWxsYmFjaygobm9kZSkgPT4ge1xuICAgICAgICB0cmlnZ2VyUmVmLmN1cnJlbnQgPSBub2RlO1xuICAgICAgICBpZiAocmVmKSB7XG4gICAgICAgICAgICByZWYuY3VycmVudCA9IG5vZGU7XG4gICAgICAgIH1cbiAgICB9KTtcbiAgICBjb25zdCB7IGlzT3BlbjogaW5uZXJPcGVuLCBzZXRPcGVuOiBoYW5kbGVPcGVuQ2hhbmdlLCByZWZzLCBjb250ZXh0LCBmbG9hdGluZ1N0eWxlcywgdHJhbnNpdGlvblN0eWxlcywgaXNNb3VudGVkLCBiYXNlSW50ZXJhY3Rpb25zLCB9ID0gdXNlU2VsZWN0U2hlbGwoe1xuICAgICAgICBvcGVuLFxuICAgICAgICBkZWZhdWx0T3BlbixcbiAgICAgICAgb25PcGVuQ2hhbmdlLFxuICAgICAgICBkaXNhYmxlZCxcbiAgICAgICAgcmVhZE9ubHksXG4gICAgICAgIGxpc3RNYXhIZWlnaHQsXG4gICAgICAgIGFuaW1hdGlvbixcbiAgICAgICAgb2Zmc2V0LFxuICAgIH0pO1xuICAgIGNvbnN0IHNldFJlZmVyZW5jZSA9IHVzZUV2ZW50Q2FsbGJhY2soKG5vZGUpID0+IHtcbiAgICAgICAgcmVmcy5zZXRSZWZlcmVuY2Uobm9kZSk7XG4gICAgICAgIGhhbmRsZVRyaWdnZXJSZWYobm9kZSk7XG4gICAgfSk7XG4gICAgY29uc3Qgc2V0RmxvYXRpbmcgPSB1c2VFdmVudENhbGxiYWNrKChub2RlKSA9PiB7XG4gICAgICAgIHJlZnMuc2V0RmxvYXRpbmcobm9kZSk7XG4gICAgICAgIGZsb2F0aW5nUmVmLmN1cnJlbnQgPSBub2RlO1xuICAgIH0pO1xuICAgIGNvbnN0IGxpc3ROYXZpZ2F0aW9uID0gdXNlTGlzdE5hdmlnYXRpb24oY29udGV4dCwge1xuICAgICAgICBsaXN0UmVmLFxuICAgICAgICBhY3RpdmVJbmRleCxcbiAgICAgICAgc2VsZWN0ZWRJbmRleCxcbiAgICAgICAgb25OYXZpZ2F0ZTogc2V0QWN0aXZlSW5kZXgsXG4gICAgICAgIGVuYWJsZWQ6IGlubmVyT3BlbixcbiAgICAgICAgbG9vcDogdHJ1ZSxcbiAgICAgICAgdmlydHVhbDogc2VhcmNoYWJsZSxcbiAgICB9KTtcbiAgICBjb25zdCB0eXBlYWhlYWQgPSB1c2VUeXBlYWhlYWQoY29udGV4dCwge1xuICAgICAgICBsaXN0UmVmOiBsaXN0Q29udGVudFJlZixcbiAgICAgICAgYWN0aXZlSW5kZXgsXG4gICAgICAgIHNlbGVjdGVkSW5kZXgsXG4gICAgICAgIGVuYWJsZWQ6IGlubmVyT3BlbiAmJiAhc2VhcmNoYWJsZSxcbiAgICAgICAgb25NYXRjaDogc2V0QWN0aXZlSW5kZXgsXG4gICAgfSk7XG4gICAgY29uc3QgeyBnZXRSZWZlcmVuY2VQcm9wcywgZ2V0RmxvYXRpbmdQcm9wcywgZ2V0SXRlbVByb3BzIH0gPSB1c2VJbnRlcmFjdGlvbnMoW1xuICAgICAgICAuLi5iYXNlSW50ZXJhY3Rpb25zLFxuICAgICAgICBsaXN0TmF2aWdhdGlvbixcbiAgICAgICAgdHlwZWFoZWFkLFxuICAgIF0pO1xuICAgIGNvbnN0IGZpcnN0RW5hYmxlZEluZGV4ID0gdXNlTWVtbygoKSA9PiB2aXNpYmxlRmxhdE9wdGlvbnMuZmluZEluZGV4KChvcHRpb24pID0+ICFvcHRpb24uZGlzYWJsZWQpLCBbdmlzaWJsZUZsYXRPcHRpb25zXSk7XG4gICAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICAgICAgaWYgKCFpbm5lck9wZW4pIHtcbiAgICAgICAgICAgIHNldEFjdGl2ZUluZGV4KHNlbGVjdGVkSW5kZXgpO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHNldEFjdGl2ZUluZGV4KChwcmV2KSA9PiB7XG4gICAgICAgICAgICBpZiAocHJldiAhPT0gbnVsbCAmJiB2aXNpYmxlRmxhdE9wdGlvbnNbcHJldl0gJiYgIXZpc2libGVGbGF0T3B0aW9uc1twcmV2XS5kaXNhYmxlZCkge1xuICAgICAgICAgICAgICAgIHJldHVybiBwcmV2O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKHNlbGVjdGVkSW5kZXggIT09IG51bGwgJiZcbiAgICAgICAgICAgICAgICB2aXNpYmxlRmxhdE9wdGlvbnNbc2VsZWN0ZWRJbmRleF0gJiZcbiAgICAgICAgICAgICAgICAhdmlzaWJsZUZsYXRPcHRpb25zW3NlbGVjdGVkSW5kZXhdLmRpc2FibGVkKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHNlbGVjdGVkSW5kZXg7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gZmlyc3RFbmFibGVkSW5kZXggPj0gMCA/IGZpcnN0RW5hYmxlZEluZGV4IDogbnVsbDtcbiAgICAgICAgfSk7XG4gICAgfSwgW2ZpcnN0RW5hYmxlZEluZGV4LCBpbm5lck9wZW4sIHNlbGVjdGVkSW5kZXgsIHZpc2libGVGbGF0T3B0aW9uc10pO1xuICAgIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgICAgIHZhciBfYTtcbiAgICAgICAgaWYgKCFpbm5lck9wZW4gfHwgYWN0aXZlSW5kZXggPT09IG51bGwgfHwgc2VhcmNoYWJsZSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIChfYSA9IGxpc3RSZWYuY3VycmVudFthY3RpdmVJbmRleF0pID09PSBudWxsIHx8IF9hID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYS5mb2N1cyh7IHByZXZlbnRTY3JvbGw6IHRydWUgfSk7XG4gICAgfSwgW2FjdGl2ZUluZGV4LCBpbm5lck9wZW4sIHNlYXJjaGFibGVdKTtcbiAgICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgICAgICBsaXN0UmVmLmN1cnJlbnQgPSBsaXN0UmVmLmN1cnJlbnQuc2xpY2UoMCwgdmlzaWJsZUZsYXRPcHRpb25zLmxlbmd0aCk7XG4gICAgICAgIGxpc3RDb250ZW50UmVmLmN1cnJlbnQgPSBsaXN0Q29udGVudFJlZi5jdXJyZW50LnNsaWNlKDAsIHZpc2libGVGbGF0T3B0aW9ucy5sZW5ndGgpO1xuICAgIH0sIFt2aXNpYmxlRmxhdE9wdGlvbnMubGVuZ3RoXSk7XG4gICAgY29uc3Qgc2V0U2VhcmNoSW5wdXRSZWYgPSB1c2VFdmVudENhbGxiYWNrKChub2RlKSA9PiB7XG4gICAgICAgIHNlYXJjaElucHV0UmVmLmN1cnJlbnQgPSBub2RlO1xuICAgICAgICBpZiAobm9kZSAmJiBpbm5lck9wZW4gJiYgZmlsdGVySW5wdXRBdXRvRm9jdXMpIHtcbiAgICAgICAgICAgIG5vZGUuZm9jdXMoeyBwcmV2ZW50U2Nyb2xsOiB0cnVlIH0pO1xuICAgICAgICB9XG4gICAgfSk7XG4gICAgY29uc3Qgbm90aWZ5Qmx1cklmT3V0c2lkZSA9IHVzZUV2ZW50Q2FsbGJhY2soKHJlbGF0ZWRUYXJnZXQsIGV2ZW50KSA9PiB7XG4gICAgICAgIHZhciBfYSwgX2I7XG4gICAgICAgIGNvbnN0IG5leHRUYXJnZXQgPSByZWxhdGVkVGFyZ2V0O1xuICAgICAgICBjb25zdCB3aXRoaW5UcmlnZ2VyID0gISEobmV4dFRhcmdldCAmJiAoKF9hID0gdHJpZ2dlclJlZi5jdXJyZW50KSA9PT0gbnVsbCB8fCBfYSA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2EuY29udGFpbnMobmV4dFRhcmdldCkpKTtcbiAgICAgICAgY29uc3Qgd2l0aGluRmxvYXRpbmcgPSAhIShuZXh0VGFyZ2V0ICYmICgoX2IgPSBmbG9hdGluZ1JlZi5jdXJyZW50KSA9PT0gbnVsbCB8fCBfYiA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2IuY29udGFpbnMobmV4dFRhcmdldCkpKTtcbiAgICAgICAgaWYgKCF3aXRoaW5UcmlnZ2VyICYmICF3aXRoaW5GbG9hdGluZykge1xuICAgICAgICAgICAgb25CbHVyID09PSBudWxsIHx8IG9uQmx1ciA9PT0gdm9pZCAwID8gdm9pZCAwIDogb25CbHVyKGV2ZW50KTtcbiAgICAgICAgfVxuICAgIH0pO1xuICAgIGNvbnN0IGhhbmRsZVRyaWdnZXJCbHVyID0gdXNlRXZlbnRDYWxsYmFjaygoZXZlbnQpID0+IHtcbiAgICAgICAgbm90aWZ5Qmx1cklmT3V0c2lkZShldmVudC5yZWxhdGVkVGFyZ2V0LCBldmVudCk7XG4gICAgfSk7XG4gICAgY29uc3QgaGFuZGxlT3B0aW9uQmx1ciA9IHVzZUV2ZW50Q2FsbGJhY2soKGV2ZW50KSA9PiB7XG4gICAgICAgIG5vdGlmeUJsdXJJZk91dHNpZGUoZXZlbnQucmVsYXRlZFRhcmdldCwgZXZlbnQpO1xuICAgIH0pO1xuICAgIGNvbnN0IGNvbW1pdENoYW5nZSA9IHVzZUV2ZW50Q2FsbGJhY2soKG5leHRWYWx1ZSwgbmV4dE9wdGlvbikgPT4ge1xuICAgICAgICBzZXRJbm5lclZhbHVlKG5leHRWYWx1ZSk7XG4gICAgICAgIG9uQ2hhbmdlID09PSBudWxsIHx8IG9uQ2hhbmdlID09PSB2b2lkIDAgPyB2b2lkIDAgOiBvbkNoYW5nZShuZXh0VmFsdWUsIG5leHRPcHRpb24sIG5hbWUpO1xuICAgIH0pO1xuICAgIGNvbnN0IGhhbmRsZVNlbGVjdE9wdGlvbiA9IHVzZUV2ZW50Q2FsbGJhY2soKG9wdGlvbikgPT4ge1xuICAgICAgICB2YXIgX2EsIF9iO1xuICAgICAgICBpZiAob3B0aW9uLmRpc2FibGVkKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgaWYgKG11bHRpcGxlKSB7XG4gICAgICAgICAgICBjb25zdCBuZXh0VmFsdWUgPSB0b2dnbGVNdWx0aXBsZVZhbHVlKGlubmVyVmFsdWUsIG9wdGlvbi52YWx1ZSk7XG4gICAgICAgICAgICBjb25zdCBuZXh0T3B0aW9ucyA9IGdldE9wdGlvbnNCeVZhbHVlcyhhbGxGbGF0T3B0aW9ucywgbmV4dFZhbHVlKTtcbiAgICAgICAgICAgIGNvbW1pdENoYW5nZShuZXh0VmFsdWUsIG5leHRPcHRpb25zKTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBpZiAoYWxsb3dEZXNlbGVjdCAmJiBpbm5lclZhbHVlID09PSBvcHRpb24udmFsdWUpIHtcbiAgICAgICAgICAgIGNvbW1pdENoYW5nZSh1bmRlZmluZWQsIHVuZGVmaW5lZCk7XG4gICAgICAgICAgICBoYW5kbGVPcGVuQ2hhbmdlKGZhbHNlKTtcbiAgICAgICAgICAgIG9uQmx1ciA9PT0gbnVsbCB8fCBvbkJsdXIgPT09IHZvaWQgMCA/IHZvaWQgMCA6IG9uQmx1cigpO1xuICAgICAgICAgICAgKF9hID0gdHJpZ2dlclJlZi5jdXJyZW50KSA9PT0gbnVsbCB8fCBfYSA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2EuZm9jdXMoeyBwcmV2ZW50U2Nyb2xsOiB0cnVlIH0pO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGNvbW1pdENoYW5nZShvcHRpb24udmFsdWUsIG9wdGlvbik7XG4gICAgICAgIGhhbmRsZU9wZW5DaGFuZ2UoZmFsc2UpO1xuICAgICAgICBvbkJsdXIgPT09IG51bGwgfHwgb25CbHVyID09PSB2b2lkIDAgPyB2b2lkIDAgOiBvbkJsdXIoKTtcbiAgICAgICAgKF9iID0gdHJpZ2dlclJlZi5jdXJyZW50KSA9PT0gbnVsbCB8fCBfYiA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2IuZm9jdXMoeyBwcmV2ZW50U2Nyb2xsOiB0cnVlIH0pO1xuICAgIH0pO1xuICAgIGNvbnN0IGhhbmRsZVJlbW92ZVNlbGVjdGVkVmFsdWUgPSB1c2VFdmVudENhbGxiYWNrKChvcHRpb25WYWx1ZSkgPT4ge1xuICAgICAgICBpZiAoIW11bHRpcGxlKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgaWYgKCFnZXRNdWx0aXBsZVZhbHVlKGlubmVyVmFsdWUpLmluY2x1ZGVzKG9wdGlvblZhbHVlKSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IG5leHRWYWx1ZSA9IHJlbW92ZU11bHRpcGxlVmFsdWUoaW5uZXJWYWx1ZSwgb3B0aW9uVmFsdWUpO1xuICAgICAgICBjb25zdCBuZXh0T3B0aW9ucyA9IGdldE9wdGlvbnNCeVZhbHVlcyhhbGxGbGF0T3B0aW9ucywgbmV4dFZhbHVlKTtcbiAgICAgICAgY29tbWl0Q2hhbmdlKG5leHRWYWx1ZSwgbmV4dE9wdGlvbnMpO1xuICAgIH0pO1xuICAgIGNvbnN0IGhhbmRsZVRyaWdnZXJLZXlEb3duID0gdXNlRXZlbnRDYWxsYmFjaygoZXZlbnQpID0+IHtcbiAgICAgICAgaWYgKCFpbnRlcmFjdGl2ZSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGlmIChldmVudC5rZXkgPT09IEtFWUJPQVJELkVOVEVSIHx8IGV2ZW50LmtleSA9PT0gS0VZQk9BUkQuU1BBQ0UpIHtcbiAgICAgICAgICAgIGlmIChpbm5lck9wZW4gJiZcbiAgICAgICAgICAgICAgICBhY3RpdmVJbmRleCAhPT0gbnVsbCAmJlxuICAgICAgICAgICAgICAgIHZpc2libGVGbGF0T3B0aW9uc1thY3RpdmVJbmRleF0gJiZcbiAgICAgICAgICAgICAgICAhdmlzaWJsZUZsYXRPcHRpb25zW2FjdGl2ZUluZGV4XS5kaXNhYmxlZCkge1xuICAgICAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICAgICAgaGFuZGxlU2VsZWN0T3B0aW9uKHZpc2libGVGbGF0T3B0aW9uc1thY3RpdmVJbmRleF0pO1xuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICBoYW5kbGVPcGVuQ2hhbmdlKCFpbm5lck9wZW4pO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGlmIChldmVudC5rZXkgPT09IEtFWUJPQVJELkFSUk9XX0RPV04gfHwgZXZlbnQua2V5ID09PSBLRVlCT0FSRC5BUlJPV19VUCkge1xuICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgIGlmICghaW5uZXJPcGVuKSB7XG4gICAgICAgICAgICAgICAgaGFuZGxlT3BlbkNoYW5nZSh0cnVlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH0pO1xuICAgIGNvbnN0IGhhbmRsZUl0ZW1Nb3VzZUVudGVyID0gdXNlRXZlbnRDYWxsYmFjaygoaW5kZXgpID0+IHtcbiAgICAgICAgdmFyIF9hO1xuICAgICAgICBpZiAoISgoX2EgPSB2aXNpYmxlRmxhdE9wdGlvbnNbaW5kZXhdKSA9PT0gbnVsbCB8fCBfYSA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2EuZGlzYWJsZWQpKSB7XG4gICAgICAgICAgICBzZXRBY3RpdmVJbmRleChpbmRleCk7XG4gICAgICAgIH1cbiAgICB9KTtcbiAgICBjb25zdCBoYW5kbGVUYWdSZW1vdmVNb3VzZURvd24gPSB1c2VFdmVudENhbGxiYWNrKChldmVudCkgPT4ge1xuICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICB9KTtcbiAgICBjb25zdCBoYW5kbGVUYWdSZW1vdmVDbGljayA9IHVzZUV2ZW50Q2FsbGJhY2soKGV2ZW50KSA9PiB7XG4gICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgIH0pO1xuICAgIGNvbnN0IGhhbmRsZVNlYXJjaEJsdXIgPSB1c2VFdmVudENhbGxiYWNrKChldmVudCkgPT4ge1xuICAgICAgICBub3RpZnlCbHVySWZPdXRzaWRlKGV2ZW50LnJlbGF0ZWRUYXJnZXQsIGV2ZW50KTtcbiAgICB9KTtcbiAgICBjb25zdCBoYW5kbGVTZWFyY2hDaGFuZ2UgPSB1c2VFdmVudENhbGxiYWNrKChuZXh0VmFsdWUpID0+IHtcbiAgICAgICAgc2V0SW5uZXJTZWFyY2hWYWx1ZShuZXh0VmFsdWUpO1xuICAgICAgICBvblNlYXJjaENoYW5nZSA9PT0gbnVsbCB8fCBvblNlYXJjaENoYW5nZSA9PT0gdm9pZCAwID8gdm9pZCAwIDogb25TZWFyY2hDaGFuZ2UobmV4dFZhbHVlKTtcbiAgICB9KTtcbiAgICBjb25zdCBoYW5kbGVTZWFyY2hDbGVhciA9IHVzZUV2ZW50Q2FsbGJhY2soKCkgPT4ge1xuICAgICAgICB2YXIgX2E7XG4gICAgICAgIGhhbmRsZVNlYXJjaENoYW5nZSgnJyk7XG4gICAgICAgIChfYSA9IHNlYXJjaElucHV0UmVmLmN1cnJlbnQpID09PSBudWxsIHx8IF9hID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYS5mb2N1cyh7IHByZXZlbnRTY3JvbGw6IHRydWUgfSk7XG4gICAgfSk7XG4gICAgY29uc3QgZmluZEVuYWJsZWRJbmRleCA9IHVzZUV2ZW50Q2FsbGJhY2soKGN1cnJlbnQsIGRpcmVjdGlvbikgPT4ge1xuICAgICAgICB2YXIgX2E7XG4gICAgICAgIGNvbnN0IGxlbmd0aCA9IHZpc2libGVGbGF0T3B0aW9ucy5sZW5ndGg7XG4gICAgICAgIGlmIChsZW5ndGggPT09IDApIHtcbiAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IHN0YXJ0ID0gY3VycmVudCAhPT0gbnVsbCAmJiBjdXJyZW50ICE9PSB2b2lkIDAgPyBjdXJyZW50IDogKGRpcmVjdGlvbiA9PT0gMSA/IC0xIDogbGVuZ3RoKTtcbiAgICAgICAgZm9yIChsZXQgc3RlcCA9IDE7IHN0ZXAgPD0gbGVuZ3RoOyBzdGVwICs9IDEpIHtcbiAgICAgICAgICAgIGNvbnN0IGNhbmRpZGF0ZSA9ICgoc3RhcnQgKyBkaXJlY3Rpb24gKiBzdGVwKSAlIGxlbmd0aCArIGxlbmd0aCkgJSBsZW5ndGg7XG4gICAgICAgICAgICBpZiAoISgoX2EgPSB2aXNpYmxlRmxhdE9wdGlvbnNbY2FuZGlkYXRlXSkgPT09IG51bGwgfHwgX2EgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9hLmRpc2FibGVkKSkge1xuICAgICAgICAgICAgICAgIHJldHVybiBjYW5kaWRhdGU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgfSk7XG4gICAgY29uc3QgaGFuZGxlU2VhcmNoS2V5RG93biA9IHVzZUV2ZW50Q2FsbGJhY2soKGV2ZW50KSA9PiB7XG4gICAgICAgIHZhciBfYTtcbiAgICAgICAgaWYgKGV2ZW50LmtleSA9PT0gS0VZQk9BUkQuQVJST1dfRE9XTikge1xuICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgIGNvbnN0IG5leHQgPSBmaW5kRW5hYmxlZEluZGV4KGFjdGl2ZUluZGV4LCAxKTtcbiAgICAgICAgICAgIGlmIChuZXh0ICE9PSBudWxsKSB7XG4gICAgICAgICAgICAgICAgc2V0QWN0aXZlSW5kZXgobmV4dCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGV2ZW50LmtleSA9PT0gS0VZQk9BUkQuQVJST1dfVVApIHtcbiAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICBjb25zdCBwcmV2ID0gZmluZEVuYWJsZWRJbmRleChhY3RpdmVJbmRleCwgLTEpO1xuICAgICAgICAgICAgaWYgKHByZXYgIT09IG51bGwpIHtcbiAgICAgICAgICAgICAgICBzZXRBY3RpdmVJbmRleChwcmV2KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBpZiAoZXZlbnQua2V5ID09PSBLRVlCT0FSRC5FTlRFUikge1xuICAgICAgICAgICAgaWYgKGFjdGl2ZUluZGV4ICE9PSBudWxsICYmXG4gICAgICAgICAgICAgICAgdmlzaWJsZUZsYXRPcHRpb25zW2FjdGl2ZUluZGV4XSAmJlxuICAgICAgICAgICAgICAgICF2aXNpYmxlRmxhdE9wdGlvbnNbYWN0aXZlSW5kZXhdLmRpc2FibGVkKSB7XG4gICAgICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgICAgICBoYW5kbGVTZWxlY3RPcHRpb24odmlzaWJsZUZsYXRPcHRpb25zW2FjdGl2ZUluZGV4XSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGV2ZW50LmtleSA9PT0gS0VZQk9BUkQuRVNDQVBFKSB7XG4gICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgaGFuZGxlT3BlbkNoYW5nZShmYWxzZSk7XG4gICAgICAgICAgICAoX2EgPSB0cmlnZ2VyUmVmLmN1cnJlbnQpID09PSBudWxsIHx8IF9hID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYS5mb2N1cyh7IHByZXZlbnRTY3JvbGw6IHRydWUgfSk7XG4gICAgICAgIH1cbiAgICB9KTtcbiAgICBjb25zdCByZW5kZXJWYWx1ZU1ldGEgPSB7XG4gICAgICAgIGRpc2FibGVkLFxuICAgICAgICByZWFkT25seSxcbiAgICAgICAgbXVsdGlwbGUsXG4gICAgICAgIG1heFZpc2libGVWYWx1ZXMsXG4gICAgICAgIG9wZW46IGlubmVyT3BlbixcbiAgICAgICAgcGxhY2Vob2xkZXI6ICFoYXNTZWxlY3Rpb24sXG4gICAgICAgIHNlbGVjdGVkT3B0aW9ucyxcbiAgICAgICAgc2l6ZTogbm9ybWFsaXplZFNpemUsXG4gICAgICAgIGZvbnRTaXplOiBnZXRGb250U2l6ZShub3JtYWxpemVkU2l6ZSksXG4gICAgfTtcbiAgICBjb25zdCB2YWx1ZUxhYmVsQ2xhc3MgPSBoYXNTZWxlY3Rpb24gPyAndmFsdWUnIDogJ3BsYWNlaG9sZGVyJztcbiAgICBjb25zdCBpc011bHRpcGxlVmFsdWVGaWxsZWQgPSAobXVsdGlwbGUgJiZcbiAgICAgICAgaGFzU2VsZWN0aW9uICYmXG4gICAgICAgIG1heFZpc2libGVWYWx1ZXMgPT09IHVuZGVmaW5lZCAmJlxuICAgICAgICAvLyBBIGN1c3RvbSBgcmVuZGVyVmFsdWVgIHByb2R1Y2VzIGl0cyBvd24gc2luZ2xlLWxpbmUgc3VtbWFyeSwgc28gdGhlXG4gICAgICAgIC8vIG11bHRpLXZhbHVlIGNoaXAgbGF5b3V0IChoZWlnaHQ6YXV0byArIHZlcnRpY2FsIHBhZGRpbmcgKyBmbGV4LXdyYXApXG4gICAgICAgIC8vIG11c3Qgbm90IGtpY2sgaW4gYW5kIGluZmxhdGUgdGhlIHRyaWdnZXIgaGVpZ2h0LlxuICAgICAgICAhcmVuZGVyVmFsdWUpO1xuICAgIGNvbnN0IHRyaWdnZXJDbGFzc05hbWUgPSBjbGFzc2VzKCd0cmlnZ2VyJywgam9pbkNscyhjbGFzc2VzKGB0cmlnZ2VyLSR7bm9ybWFsaXplZFNpemV9YCksIGNsYXNzZXMoYHRyaWdnZXItJHt2YXJpYW50fWApLCBpbm5lck9wZW4gJiYgY2xhc3NlcygndHJpZ2dlci1vcGVuJyksIGlzTXVsdGlwbGVWYWx1ZUZpbGxlZCAmJiBjbGFzc2VzKCd0cmlnZ2VyLW11bHRpcGxlLWZpbGxlZCcpLCBoYXNTZWxlY3Rpb24gPyBjbGFzc2VzKCd0cmlnZ2VyLWZpbGxlZCcpIDogY2xhc3NlcygndHJpZ2dlci1wbGFjZWhvbGRlcicpLCBzdGF0dXMgIT09ICdkZWZhdWx0JyAmJiBjbGFzc2VzKGB0cmlnZ2VyLSR7c3RhdHVzfWApLCBkaXNhYmxlZCAmJiBjbGFzc2VzKCd0cmlnZ2VyLWRpc2FibGVkJyksIHJlYWRPbmx5ICYmICFkaXNhYmxlZCAmJiBjbGFzc2VzKCd0cmlnZ2VyLXJlYWRvbmx5JykpKTtcbiAgICBjb25zdCBpY29uU2l6ZSA9IG5vcm1hbGl6ZWRTaXplID09PSAnbGFyZ2UnID8gMjAgOiAxNjtcbiAgICBjb25zdCBhY3RpdmVPcHRpb25JZCA9IHNlYXJjaGFibGUgJiYgaW5uZXJPcGVuICYmIGFjdGl2ZUluZGV4ICE9PSBudWxsXG4gICAgICAgID8gYCR7b3B0aW9uSWRQcmVmaXh9LSR7YWN0aXZlSW5kZXh9YFxuICAgICAgICA6IHVuZGVmaW5lZDtcbiAgICBjb25zdCBmbG9hdGluZ0FyaWFMYWJlbGxlZEJ5ID0gYXJpYUxhYmVsbGVkQnkgIT09IG51bGwgJiYgYXJpYUxhYmVsbGVkQnkgIT09IHZvaWQgMCA/IGFyaWFMYWJlbGxlZEJ5IDogKGxhYmVsID8gbGFiZWxJZCA6IHVuZGVmaW5lZCk7XG4gICAgY29uc3QgZGVzY3JpYmVkQnlJZHMgPSBbXG4gICAgICAgIGRlc2NyaXB0aW9uID8gZGVzY3JpcHRpb25JZCA6IG51bGwsXG4gICAgICAgIGZlZWRiYWNrID8gZmVlZGJhY2tJZCA6IG51bGwsXG4gICAgXS5maWx0ZXIoQm9vbGVhbikuam9pbignICcpIHx8IHVuZGVmaW5lZDtcbiAgICByZXR1cm4gKF9qc3hzKFNlbGVjdEZpZWxkU2hlbGwsIHsgY2xhc3NlczogY2xhc3NlcywgY2xhc3NOYW1lOiBjbGFzc05hbWUsIHNpemU6IG5vcm1hbGl6ZWRTaXplLCB2YXJpYW50OiB2YXJpYW50LCBzdGF0dXM6IHN0YXR1cywgZGlzYWJsZWQ6IGRpc2FibGVkLCByZWFkT25seTogcmVhZE9ubHksIGxvYWRpbmc6IGxvYWRpbmcsIGxhYmVsOiBsYWJlbCwgbGFiZWxDbGFzc05hbWU6IGxhYmVsQ2xhc3NOYW1lLCBpbmZvOiBpbmZvLCBkZXNjcmlwdGlvbjogZGVzY3JpcHRpb24sIGZlZWRiYWNrOiBmZWVkYmFjaywgcmVxdWlyZWQ6IHJlcXVpcmVkLCBsYWJlbElkOiBsYWJlbElkLCBkZXNjcmlwdGlvbklkOiBkZXNjcmlwdGlvbklkLCBmZWVkYmFja0lkOiBmZWVkYmFja0lkLCBjaGlsZHJlbjogW19qc3hzKFwiYnV0dG9uXCIsIE9iamVjdC5hc3NpZ24oe30sIGdldFJlZmVyZW5jZVByb3BzKHtcbiAgICAgICAgICAgICAgICByZWY6IHNldFJlZmVyZW5jZSxcbiAgICAgICAgICAgICAgICBpZDogdHJpZ2dlcklkLFxuICAgICAgICAgICAgICAgIHR5cGU6ICdidXR0b24nLFxuICAgICAgICAgICAgICAgIG5hbWUsXG4gICAgICAgICAgICAgICAgZGlzYWJsZWQsXG4gICAgICAgICAgICAgICAgJ2FyaWEtcmVhZG9ubHknOiByZWFkT25seSB8fCB1bmRlZmluZWQsXG4gICAgICAgICAgICAgICAgY2xhc3NOYW1lOiB0cmlnZ2VyQ2xhc3NOYW1lLFxuICAgICAgICAgICAgICAgIG9uS2V5RG93bjogaGFuZGxlVHJpZ2dlcktleURvd24sXG4gICAgICAgICAgICAgICAgb25CbHVyOiBoYW5kbGVUcmlnZ2VyQmx1cixcbiAgICAgICAgICAgICAgICAnYXJpYS1sYWJlbCc6IGFyaWFMYWJlbCxcbiAgICAgICAgICAgICAgICAnYXJpYS1sYWJlbGxlZGJ5JzogZmxvYXRpbmdBcmlhTGFiZWxsZWRCeSxcbiAgICAgICAgICAgICAgICAnYXJpYS1kZXNjcmliZWRieSc6IGRlc2NyaWJlZEJ5SWRzLFxuICAgICAgICAgICAgfSksIHsgY2hpbGRyZW46IFtfanN4cyhcInNwYW5cIiwgeyBjbGFzc05hbWU6IGNsYXNzZXMoJ2NvbnRlbnQnKSwgY2hpbGRyZW46IFtwcmVmaXggJiYgX2pzeChcInNwYW5cIiwgeyBjbGFzc05hbWU6IGNsYXNzZXMoJ3ByZWZpeCcpLCBjaGlsZHJlbjogcHJlZml4IH0pLCBfanN4KFwic3BhblwiLCB7IGNsYXNzTmFtZTogY2xhc3Nlcyh2YWx1ZUxhYmVsQ2xhc3MsIGpvaW5DbHMoY2xhc3NlcyhgJHt2YWx1ZUxhYmVsQ2xhc3N9LSR7bm9ybWFsaXplZFNpemV9YCksIGlzTXVsdGlwbGVWYWx1ZUZpbGxlZCAmJiBjbGFzc2VzKGAke3ZhbHVlTGFiZWxDbGFzc30tbXVsdGlwbGVgKSwgZGlzYWJsZWQgJiYgY2xhc3NlcyhgJHt2YWx1ZUxhYmVsQ2xhc3N9LWRpc2FibGVkYCkpKSwgY2hpbGRyZW46IF9qc3goU2VsZWN0VmFsdWVDb250ZW50LCB7IGNsYXNzZXM6IGNsYXNzZXMsIGhhc1NlbGVjdGlvbjogaGFzU2VsZWN0aW9uLCBtdWx0aXBsZTogbXVsdGlwbGUsIHBsYWNlaG9sZGVyOiBwbGFjZWhvbGRlciwgcmVuZGVyVmFsdWU6IHJlbmRlclZhbHVlLCByZW5kZXJWYWx1ZU1ldGE6IHJlbmRlclZhbHVlTWV0YSwgc2VsZWN0ZWRPcHRpb25zOiBzZWxlY3RlZE9wdGlvbnMsIG1heFZpc2libGVWYWx1ZXM6IG1heFZpc2libGVWYWx1ZXMsIG9uUmVtb3ZlOiBoYW5kbGVSZW1vdmVTZWxlY3RlZFZhbHVlLCBvblJlbW92ZUNsaWNrOiBoYW5kbGVUYWdSZW1vdmVDbGljaywgb25SZW1vdmVNb3VzZURvd246IGhhbmRsZVRhZ1JlbW92ZU1vdXNlRG93biB9KSB9KV0gfSksIF9qc3goXCJzcGFuXCIsIHsgY2xhc3NOYW1lOiBjbGFzc2VzKCdpY29uJyksIGNoaWxkcmVuOiBsb2FkaW5nXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPyBfanN4KFNwaW5uZXIsIHsgc2l6ZTogaWNvblNpemUsIHN0cm9rZVdpZHRoOiAyIH0pXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgOiByZWFkT25seVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA/IG51bGxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfanN4KEljb25zLCB7IG5hbWU6IGlubmVyT3BlbiA/ICdjaGV2cm9uVXAnIDogJ2NoZXZyb25Eb3duJywgc2l6ZTogaWNvblNpemUsIGNvbG9yOiBcImN1cnJlbnRDb2xvclwiIH0pIH0pXSB9KSksIGlzTW91bnRlZCAmJiBpbnRlcmFjdGl2ZSAmJiAoKCkgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IHBhbmVsTm9kZSA9IChfanN4KEZsb2F0aW5nRm9jdXNNYW5hZ2VyLCB7IGNvbnRleHQ6IGNvbnRleHQsIG1vZGFsOiBmYWxzZSwgaW5pdGlhbEZvY3VzOiAtMSwgcmV0dXJuRm9jdXM6IGZhbHNlLCBjaGlsZHJlbjogX2pzeHMoXCJkaXZcIiwgT2JqZWN0LmFzc2lnbih7fSwgZ2V0RmxvYXRpbmdQcm9wcyh7XG4gICAgICAgICAgICAgICAgICAgICAgICByZWY6IHNldEZsb2F0aW5nLFxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lOiBqb2luQ2xzKGNsYXNzZXMoJ3BhbmVsJyksIHBhbmVsQ2xhc3NOYW1lKSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlOiBPYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30sIGZsb2F0aW5nU3R5bGVzKSwgdHJhbnNpdGlvblN0eWxlcyksXG4gICAgICAgICAgICAgICAgICAgIH0pLCB7IGNoaWxkcmVuOiBbc2VhcmNoYWJsZSAmJiAoX2pzeChTZWxlY3RTZWFyY2hDb250cm9sLCB7IHJlZjogc2V0U2VhcmNoSW5wdXRSZWYsIGNsYXNzZXM6IGNsYXNzZXMsIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBzaXplPXtub3JtYWxpemVkU2l6ZX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZTogXCJzbWFsbFwiLCBwbGFjZWhvbGRlcjogc2VhcmNoUGxhY2Vob2xkZXIsIHZhbHVlOiBpbm5lclNlYXJjaFZhbHVlLCBhY3RpdmVEZXNjZW5kYW50OiBhY3RpdmVPcHRpb25JZCwgb25CbHVyOiBoYW5kbGVTZWFyY2hCbHVyLCBvbkNoYW5nZTogaGFuZGxlU2VhcmNoQ2hhbmdlLCBvbkNsZWFyOiBoYW5kbGVTZWFyY2hDbGVhciwgb25LZXlEb3duOiBoYW5kbGVTZWFyY2hLZXlEb3duIH0pKSwgX2pzeHMoXCJkaXZcIiwgeyBjbGFzc05hbWU6IGNsYXNzZXMoJ3BhbmVsLWJvZHknKSwgY2hpbGRyZW46IFtwYW5lbEhlYWRlciAhPSBudWxsICYmIChfanN4KFwiZGl2XCIsIHsgY2xhc3NOYW1lOiBjbGFzc2VzKCdwYW5lbC1oZWFkZXInKSwgY2hpbGRyZW46IHBhbmVsSGVhZGVyIH0pKSwgdmlzaWJsZUZsYXRPcHRpb25zLmxlbmd0aCA9PT0gMCA/IChfanN4KFwiZGl2XCIsIHsgY2xhc3NOYW1lOiBjbGFzc2VzKCdlbXB0eScpLCBjaGlsZHJlbjogX2pzeChUeXBvZ3JhcGh5Qm9keSwgeyBzaXplOiBTRUxFQ1RfVFlQT0dSQVBIWS5lbXB0eS5zaXplLCBjb2xvcjogU0VMRUNUX1RZUE9HUkFQSFkuZW1wdHkuY29sb3IsIGNoaWxkcmVuOiBlbXB0eUNvbnRlbnQgfSkgfSkpIDogKCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV0IGZsYXRJbmRleCA9IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHZpc2libGVPcHRpb25Hcm91cHMubWFwKChncm91cCkgPT4gKF9qc3hzKFwiZGl2XCIsIHsgY2xhc3NOYW1lOiBjbGFzc2VzKCdncm91cCcpLCBjaGlsZHJlbjogW2dyb3VwLmxhYmVsICYmIChfanN4KFwiZGl2XCIsIHsgY2xhc3NOYW1lOiBjbGFzc2VzKCdncm91cC1sYWJlbCcsIGdyb3VwTGFiZWxDbGFzc05hbWUpLCBjaGlsZHJlbjogX2pzeChUeXBvZ3JhcGh5TGFiZWwsIHsgc2l6ZTogU0VMRUNUX1RZUE9HUkFQSFkuZ3JvdXBMYWJlbC5zaXplLCBzdHJvbmc6IHRydWUsIGNoaWxkcmVuOiBncm91cC5sYWJlbCB9KSB9KSksIGdyb3VwLm9wdGlvbnMubWFwKChvcHRpb24pID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBvcHRpb25GbGF0SW5kZXggPSBmbGF0SW5kZXg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmxhdEluZGV4ICs9IDE7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc2VsZWN0ZWQgPSBzZWxlY3RlZFZhbHVlc1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA/IHNlbGVjdGVkVmFsdWVzLmhhcyhvcHRpb24udmFsdWUpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogaXNPcHRpb25TZWxlY3RlZChpbm5lclZhbHVlLCBtdWx0aXBsZSwgb3B0aW9uLnZhbHVlKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBhY3RpdmUgPSBhY3RpdmVJbmRleCA9PT0gb3B0aW9uRmxhdEluZGV4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IG9wdGlvbk1ldGEgPSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFjdGl2ZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzYWJsZWQ6ICEhb3B0aW9uLmRpc2FibGVkLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbmRleDogb3B0aW9uRmxhdEluZGV4LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtdWx0aXBsZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3BlbjogaW5uZXJPcGVuLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxlY3RlZCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udFNpemU6IGdldEZvbnRTaXplKG5vcm1hbGl6ZWRTaXplKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpc3RDb250ZW50UmVmLmN1cnJlbnRbb3B0aW9uRmxhdEluZGV4XSA9IGV4dHJhY3RPcHRpb25UZXh0KG9wdGlvbik7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIChfanN4KFwiYnV0dG9uXCIsIE9iamVjdC5hc3NpZ24oe30sIGdldEl0ZW1Qcm9wcyh7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlZihub2RlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaXN0UmVmLmN1cnJlbnRbb3B0aW9uRmxhdEluZGV4XSA9IG5vZGU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlkOiBgJHtvcHRpb25JZFByZWZpeH0tJHtvcHRpb25GbGF0SW5kZXh9YCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogJ2J1dHRvbicsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJvbGU6ICdvcHRpb24nLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU6IGNsYXNzZXMoJ29wdGlvbicsIGpvaW5DbHMoYWN0aXZlICYmIGNsYXNzZXMoJ29wdGlvbi1hY3RpdmUnKSwgc2VsZWN0ZWQgJiYgY2xhc3Nlcygnb3B0aW9uLXNlbGVjdGVkJyksIG9wdGlvbi5kaXNhYmxlZCAmJiBjbGFzc2VzKCdvcHRpb24tZGlzYWJsZWQnKSwgb3B0aW9uQ2xhc3NOYW1lKSksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc2FibGVkOiBvcHRpb24uZGlzYWJsZWQsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdhcmlhLXNlbGVjdGVkJzogc2VsZWN0ZWQsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9uQ2xpY2s6IChldmVudCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhhbmRsZVNlbGVjdE9wdGlvbihvcHRpb24pO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbk1vdXNlRW50ZXI6ICgpID0+IGhhbmRsZUl0ZW1Nb3VzZUVudGVyKG9wdGlvbkZsYXRJbmRleCksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9uQmx1cjogaGFuZGxlT3B0aW9uQmx1cixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KSwgeyBjaGlsZHJlbjogcmVuZGVyT3B0aW9uID8gKHJlbmRlck9wdGlvbihvcHRpb24sIG9wdGlvbk1ldGEpKSA6IChfanN4KFNlbGVjdE9wdGlvbkNvbnRlbnQsIHsgY2xhc3NlczogY2xhc3Nlcywgb3B0aW9uOiBvcHRpb24sIHNlbGVjdGVkOiBzZWxlY3RlZCwgc2l6ZTogbm9ybWFsaXplZFNpemUsIGNvbnRlbnQ6IHJlbmRlck9wdGlvbkNvbnRlbnQgPT09IG51bGwgfHwgcmVuZGVyT3B0aW9uQ29udGVudCA9PT0gdm9pZCAwID8gdm9pZCAwIDogcmVuZGVyT3B0aW9uQ29udGVudChvcHRpb24sIG9wdGlvbk1ldGEpIH0pKSB9KSwgYCR7Z3JvdXAua2V5fS0ke29wdGlvbi52YWx1ZX1gKSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KV0gfSwgZ3JvdXAua2V5KSkpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSkoKSldIH0pLCBwYW5lbEZvb3RlciAhPSBudWxsICYmIChfanN4KFwiZGl2XCIsIHsgY2xhc3NOYW1lOiBjbGFzc2VzKCdwYW5lbC1mb290ZXInKSwgY2hpbGRyZW46IHBhbmVsRm9vdGVyIH0pKV0gfSkpIH0pKTtcbiAgICAgICAgICAgICAgICByZXR1cm4gcG9ydGFsID8gX2pzeChGbG9hdGluZ1BvcnRhbCwgeyBjaGlsZHJlbjogcGFuZWxOb2RlIH0pIDogcGFuZWxOb2RlO1xuICAgICAgICAgICAgfSkoKV0gfSkpO1xufTtcblNlbGVjdC5kaXNwbGF5TmFtZSA9ICdTZWxlY3QnO1xuZXhwb3J0IGRlZmF1bHQgbWVtbyhTZWxlY3QpOyIsbnVsbF0sInNvdXJjZVJvb3QiOiIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMifQ==
|
|
@@ -7,8 +7,9 @@ interface SelectSearchControlProps {
|
|
|
7
7
|
placeholder: string;
|
|
8
8
|
value: string;
|
|
9
9
|
activeDescendant?: string;
|
|
10
|
-
onBlur: (event: ReactFocusEvent<
|
|
10
|
+
onBlur: (event: ReactFocusEvent<HTMLElement>) => void;
|
|
11
11
|
onChange: (value: string, event: ChangeEvent<HTMLInputElement>) => void;
|
|
12
|
+
onClear: () => void;
|
|
12
13
|
onKeyDown: (event: ReactKeyboardEvent<HTMLInputElement>) => void;
|
|
13
14
|
}
|
|
14
15
|
export declare const SelectSearchControl: import("react").NamedExoticComponent<SelectSearchControlProps & import("react").RefAttributes<HTMLInputElement>>;
|