@onepercentio/one-ui 0.21.3 → 0.21.4
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/ai/components/UncontrolledTransition/UncontrolledTransition.ai.d.ts +15 -0
- package/ai/components/UncontrolledTransition/UncontrolledTransition.ai.js +37 -0
- package/ai/components/UncontrolledTransition/UncontrolledTransition.ai.js.map +1 -0
- package/ai/hooks/ui/useAlternating.ai.d.ts +9 -0
- package/ai/hooks/ui/useAlternating.ai.js +17 -0
- package/ai/hooks/ui/useAlternating.ai.js.map +1 -0
- package/ai/hooks/useHero.ai.d.ts +9 -0
- package/ai/hooks/useHero.ai.js +21 -0
- package/ai/hooks/useHero.ai.js.map +1 -0
- package/ai/types.d.ts +9 -0
- package/ai/types.js +3 -0
- package/ai/types.js.map +1 -0
- package/dist/assets/styles/variables.scss +0 -5
- package/dist/components/AdaptiveButton/AdaptiveButton.d.ts +2 -2
- package/dist/components/AdaptiveContainer/AdaptiveContainer.d.ts +2 -2
- package/dist/components/AdaptiveDialog/AdaptiveDialog.d.ts +4 -3
- package/dist/components/AdaptiveDialog/AdaptiveDialog.js +6 -3
- package/dist/components/AdaptiveSidebar/AdaptiveSidebar.d.ts +3 -0
- package/dist/components/AdaptiveSidebar/AdaptiveSidebar.js +7 -6
- package/dist/components/AdaptiveSidebar/AdaptiveSidebar.sample.d.ts +2 -0
- package/dist/components/AdaptiveSidebar/AdaptiveSidebar.sample.js +13 -0
- package/dist/components/AnchoredTooltip/AnchoredTooltip.d.ts +3 -0
- package/dist/components/AnchoredTooltip/AnchoredTooltip.js +5 -5
- package/dist/components/AnimatedEntrance/AnimatedEntrance.d.ts +3 -3
- package/dist/components/AsyncWrapper/AsyncWrapper.d.ts +2 -2
- package/dist/components/Avatar/Avatar.d.ts +2 -1
- package/dist/components/BucketFill/BucketFill.d.ts +3 -3
- package/dist/components/Button/Button.d.ts +2 -2
- package/dist/components/Button/Button.js +5 -4
- package/dist/components/Button/Button.module.scss +5 -2
- package/dist/components/Card/Card.d.ts +2 -2
- package/dist/components/Chart/Chart.logic.d.ts +3 -1
- package/dist/components/Chart/Chart.logic.js +2 -1
- package/dist/components/Chart/Chart.view.d.ts +2 -1
- package/dist/components/CheckBox/CheckBox.d.ts +1 -1
- package/dist/components/CodeInput/CodeInput.d.ts +9 -0
- package/dist/components/CodeInput/CodeInput.js +85 -0
- package/dist/components/CodeInput/CodeInput.module.scss +5 -0
- package/dist/components/CodeInput/index.d.ts +1 -0
- package/dist/components/CodeInput/index.js +14 -0
- package/dist/components/Collapsable/Collapsable.d.ts +5 -2
- package/dist/components/Collapsable/Collapsable.js +22 -7
- package/dist/components/Countdown/Countdown.d.ts +2 -1
- package/dist/components/Divider/Divider.d.ts +2 -1
- package/dist/components/EmailInput/EmailInput.d.ts +3 -0
- package/dist/components/EmailInput/EmailInput.js +5 -5
- package/dist/components/FadeIn/FadeIn.d.ts +3 -0
- package/dist/components/FadeIn/FadeIn.js +5 -4
- package/dist/components/FileInput/FileInput.d.ts +1 -1
- package/dist/components/FileInput/View/BigFactory/BigFactory.d.ts +2 -2
- package/dist/components/FileInput/View/Compact/Compact.d.ts +2 -1
- package/dist/components/FlowController/FlowController.d.ts +2 -2
- package/dist/components/Form/v2/Form.d.ts +18 -0
- package/dist/components/Form/v2/Form.hook.d.ts +21 -0
- package/dist/components/Form/v2/Form.hook.js +214 -0
- package/dist/components/Form/v2/Form.js +69 -0
- package/dist/components/Form/v2/Form.module.scss +0 -0
- package/dist/components/Form/v2/Form.types.d.ts +97 -0
- package/dist/components/Form/v2/Form.types.js +45 -0
- package/dist/components/Form/v2/FormField/Extensions/DateField/DateField.d.ts +12 -0
- package/dist/components/Form/v2/FormField/Extensions/DateField/DateField.js +74 -0
- package/dist/components/Form/v2/FormField/Extensions/DateField/DateField.module.scss +0 -0
- package/dist/components/Form/v2/FormField/Extensions/DateField/index.d.ts +1 -0
- package/dist/components/Form/v2/FormField/Extensions/DateField/index.js +14 -0
- package/dist/components/Form/v2/FormField/Extensions/PhoneField/PhoneField.d.ts +10 -0
- package/dist/components/Form/v2/FormField/Extensions/PhoneField/PhoneField.js +92 -0
- package/dist/components/Form/v2/FormField/Extensions/PhoneField/PhoneField.module.scss +0 -0
- package/dist/components/Form/v2/FormField/Extensions/PhoneField/index.d.ts +1 -0
- package/dist/components/Form/v2/FormField/Extensions/PhoneField/index.js +14 -0
- package/dist/components/Form/v2/FormField/FormField.d.ts +6 -0
- package/dist/components/Form/v2/FormField/FormField.js +309 -0
- package/dist/components/Form/v2/FormField/FormField.module.scss +0 -0
- package/dist/components/Form/v2/FormField/FormField.types.d.ts +83 -0
- package/dist/components/Form/v2/FormField/FormField.types.js +13 -0
- package/dist/components/Form/v2/FormField/index.d.ts +1 -0
- package/dist/components/Form/v2/FormField/index.js +14 -0
- package/dist/components/Form/v2/index.d.ts +1 -0
- package/dist/components/Form/v2/index.js +14 -0
- package/dist/components/HSForms/HSForms.d.ts +2 -1
- package/dist/components/Header/Header.d.ts +2 -2
- package/dist/components/HeaderCloseBtn/HeaderCloseBtn.d.ts +2 -1
- package/dist/components/InfinityScroll/InfinityScroll.d.ts +3 -0
- package/dist/components/InfinityScroll/InfinityScroll.js +5 -5
- package/dist/components/Input/Input.d.ts +3 -0
- package/dist/components/Input/Input.js +4 -4
- package/dist/components/InstantCounter/InstantCounter.d.ts +3 -0
- package/dist/components/InstantCounter/InstantCounter.js +5 -4
- package/dist/components/LavaLamp/LavaLamp.d.ts +2 -2
- package/dist/components/LavaLamp/LavaLamp.js +1 -1
- package/dist/components/LavaLamp/v2/LavaLamp.d.ts +2 -2
- package/dist/components/LinkToId/LinkToId.d.ts +2 -2
- package/dist/components/Loader/Loader.d.ts +1 -1
- package/dist/components/LoaderDotsIndicator/LoaderDotsIndicator.d.ts +2 -1
- package/dist/components/LoopableVideo/LoopableVideo.d.ts +2 -2
- package/dist/components/MainGrid/MainGrid.d.ts +3 -0
- package/dist/components/MainGrid/MainGrid.js +5 -4
- package/dist/components/MutableHamburgerButton/MutableHamburgerButton.d.ts +1 -1
- package/dist/components/Notification/Notification.d.ts +2 -2
- package/dist/components/OrderableList/OrderableList.d.ts +1 -1
- package/dist/components/PaginationIndicator/PaginationIndicator.d.ts +9 -6
- package/dist/components/PaginationIndicator/PaginationIndicator.js +49 -11
- package/dist/components/Parallax/Parallax.d.ts +3 -0
- package/dist/components/Parallax/Parallax.js +5 -4
- package/dist/components/PasswordInput/PasswordInput.d.ts +3 -0
- package/dist/components/PasswordInput/PasswordInput.js +5 -5
- package/dist/components/PingPongText/PingPongText.d.ts +2 -2
- package/dist/components/PixelatedScan/PixelatedScan.d.ts +2 -1
- package/dist/components/Portal/Portal.d.ts +1 -1
- package/dist/components/ProgressBar/ProgressBar.d.ts +3 -3
- package/dist/components/ProgressTexts/ProgressTexts.d.ts +1 -1
- package/dist/components/Radio/Radio.d.ts +1 -1
- package/dist/components/SectionContainer/SectionContainer.d.ts +3 -0
- package/dist/components/SectionContainer/SectionContainer.js +5 -4
- package/dist/components/Select/Select.d.ts +3 -3
- package/dist/components/Select/Select.js +1 -1
- package/dist/components/Skeleton/Skeleton.d.ts +2 -1
- package/dist/components/Spacing/Spacing.d.ts +2 -1
- package/dist/components/StaticScroller/StaticScroller.d.ts +3 -0
- package/dist/components/StaticScroller/StaticScroller.js +5 -4
- package/dist/components/Switch/Switch.d.ts +2 -2
- package/dist/components/Table/Table.d.ts +2 -1
- package/dist/components/Tabs/Tabs.d.ts +2 -2
- package/dist/components/Text/Text.d.ts +7 -5
- package/dist/components/Text/Text.js +5 -4
- package/dist/components/Text/Text.module.scss +4 -0
- package/dist/components/Transition/Transition.d.ts +8 -5
- package/dist/components/Transition/Transition.js +18 -16
- package/dist/components/Transition/Transition.module.scss +1 -1
- package/dist/components/UncontrolledTransition/UncontrolledTransition.d.ts +3 -0
- package/dist/components/UncontrolledTransition/UncontrolledTransition.js +25 -13
- package/dist/components/UncontrolledTransition/UncontrolledTransition.sample.d.ts +2 -0
- package/dist/components/UncontrolledTransition/UncontrolledTransition.sample.js +44 -0
- package/dist/components/WalletConnectionWrapper/WalletConnectionWrapper.d.ts +4 -1
- package/dist/components/WalletConnectionWrapper/WalletConnectionWrapper.js +6 -5
- package/dist/components/utilitary/ScrollAndFocusLock/ScrollAndFocusLock.d.ts +2 -2
- package/dist/context/AsyncProcess.d.ts +2 -1
- package/dist/context/ContextAsyncControl.d.ts +24 -0
- package/dist/context/ContextAsyncControl.js +101 -0
- package/dist/context/CustomBrowserRouter.d.ts +2 -2
- package/dist/context/OneUIProvider.d.ts +29 -1
- package/dist/context/OneUIProvider.js +1 -1
- package/dist/hooks/persistence/useLocalStorage.d.ts +1 -1
- package/dist/hooks/persistence/useLocalStorage.js +5 -1
- package/dist/hooks/ui/useAlternating.d.ts +4 -0
- package/dist/hooks/ui/useAlternating.js +34 -0
- package/dist/hooks/ui/usePaginationControls.d.ts +2 -2
- package/dist/hooks/useAsyncControl.d.ts +15 -3
- package/dist/hooks/useAsyncControl.js +24 -20
- package/dist/hooks/useHero.d.ts +4 -2
- package/dist/hooks/useHero.js +39 -15
- package/dist/hooks/useHero.module.scss +1 -1
- package/dist/hooks/useShortIntl.d.ts +1 -1
- package/dist/hooks/useShortIntl.js +1 -1
- package/dist/models/GenericContract.d.ts +3 -3
- package/dist/models/GenericContract.js +5 -3
- package/dist/storybookUtils/index.d.ts +2 -2
- package/dist/type-utils.d.ts +5 -0
- package/dist/type-utils.js +1 -1
- package/dist/utility.d.js +1 -1
- package/package.json +16 -4
- package/src_ai/components/UncontrolledTransition/UncontrolledTransition.ai.ts +35 -0
- package/src_ai/hooks/ui/useAlternating.ai.ts +15 -0
- package/src_ai/hooks/useHero.ai.ts +18 -0
- package/src_ai/types.ts +10 -0
- package/tsconfig-ai.json +9 -0
|
@@ -4,12 +4,14 @@ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" =
|
|
|
4
4
|
Object.defineProperty(exports, "__esModule", {
|
|
5
5
|
value: true
|
|
6
6
|
});
|
|
7
|
+
exports.AnimatedPaginationIndicator = AnimatedPaginationIndicator;
|
|
7
8
|
exports.PaginationIndicatorMode = void 0;
|
|
8
9
|
exports.PaginationIndicatorView = PaginationIndicatorView;
|
|
9
10
|
exports.default = void 0;
|
|
10
11
|
var _react = _interopRequireWildcard(require("react"));
|
|
11
12
|
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
12
13
|
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
14
|
+
function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
|
|
13
15
|
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
|
14
16
|
function _iterableToArrayLimit(arr, i) { var _i = null == arr ? null : "undefined" != typeof Symbol && arr[Symbol.iterator] || arr["@@iterator"]; if (null != _i) { var _s, _e, _x, _r, _arr = [], _n = !0, _d = !1; try { if (_x = (_i = _i.call(arr)).next, 0 === i) { if (Object(_i) !== _i) return; _n = !1; } else for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0); } catch (err) { _d = !0, _e = err; } finally { try { if (!_n && null != _i.return && (_r = _i.return(), Object(_r) !== _r)) return; } finally { if (_d) throw _e; } } return _arr; } }
|
|
15
17
|
function _toArray(arr) { return _arrayWithHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableRest(); }
|
|
@@ -26,9 +28,6 @@ let PaginationIndicatorMode = /*#__PURE__*/function (PaginationIndicatorMode) {
|
|
|
26
28
|
PaginationIndicatorMode[PaginationIndicatorMode["START"] = 1] = "START";
|
|
27
29
|
return PaginationIndicatorMode;
|
|
28
30
|
}({});
|
|
29
|
-
/**
|
|
30
|
-
* A cool component to indicate how many pages are
|
|
31
|
-
**/
|
|
32
31
|
exports.PaginationIndicatorMode = PaginationIndicatorMode;
|
|
33
32
|
function PaginationIndicatorView(_ref) {
|
|
34
33
|
let size = _ref.size,
|
|
@@ -171,6 +170,41 @@ function PaginationIndicatorView(_ref) {
|
|
|
171
170
|
}
|
|
172
171
|
}, pageBalls));
|
|
173
172
|
}
|
|
173
|
+
function AnimatedPaginationIndicator(props) {
|
|
174
|
+
const prevPage = (0, _react.useRef)(props.page);
|
|
175
|
+
const _useState = (0, _react.useState)(props.page),
|
|
176
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
177
|
+
pageProgress = _useState2[0],
|
|
178
|
+
setPageProgress = _useState2[1];
|
|
179
|
+
(0, _react.useEffect)(function () {
|
|
180
|
+
const diff = props.page - prevPage.current;
|
|
181
|
+
const diffPerStep = diff / 60;
|
|
182
|
+
const interval = setInterval(function () {
|
|
183
|
+
setPageProgress(function (prev) {
|
|
184
|
+
const next = prev + diffPerStep;
|
|
185
|
+
if (diff < 0) {
|
|
186
|
+
if (next <= props.page) {
|
|
187
|
+
clearInterval(interval);
|
|
188
|
+
return props.page;
|
|
189
|
+
}
|
|
190
|
+
} else {
|
|
191
|
+
if (next >= props.page) {
|
|
192
|
+
clearInterval(interval);
|
|
193
|
+
return props.page;
|
|
194
|
+
}
|
|
195
|
+
}
|
|
196
|
+
return Number(next.toFixed(2));
|
|
197
|
+
});
|
|
198
|
+
}, props.duration / 60);
|
|
199
|
+
return function () {
|
|
200
|
+
prevPage.current = props.page;
|
|
201
|
+
clearInterval(interval);
|
|
202
|
+
};
|
|
203
|
+
}, [props.page]);
|
|
204
|
+
return /*#__PURE__*/_react.default.createElement(PaginationIndicatorView, _extends({}, props, {
|
|
205
|
+
page: pageProgress
|
|
206
|
+
}));
|
|
207
|
+
}
|
|
174
208
|
function _PaginationIndicator(_ref3, ref) {
|
|
175
209
|
let scrollableRef = _ref3.scrollableRef,
|
|
176
210
|
estimatedWidth = _ref3.estimatedWidth,
|
|
@@ -178,14 +212,14 @@ function _PaginationIndicator(_ref3, ref) {
|
|
|
178
212
|
_ref3$className = _ref3.className,
|
|
179
213
|
className = _ref3$className === void 0 ? "" : _ref3$className,
|
|
180
214
|
onClickPage = _ref3.onClickPage;
|
|
181
|
-
const
|
|
182
|
-
_useState2 = _slicedToArray(_useState, 2),
|
|
183
|
-
currentPage = _useState2[0],
|
|
184
|
-
setCurrentPage = _useState2[1];
|
|
185
|
-
const _useState3 = (0, _react.useState)(),
|
|
215
|
+
const _useState3 = (0, _react.useState)(1),
|
|
186
216
|
_useState4 = _slicedToArray(_useState3, 2),
|
|
187
|
-
|
|
188
|
-
|
|
217
|
+
currentPage = _useState4[0],
|
|
218
|
+
setCurrentPage = _useState4[1];
|
|
219
|
+
const _useState5 = (0, _react.useState)(),
|
|
220
|
+
_useState6 = _slicedToArray(_useState5, 2),
|
|
221
|
+
defs = _useState6[0],
|
|
222
|
+
setDefs = _useState6[1];
|
|
189
223
|
const refreshPages = (0, _react.useCallback)(function () {
|
|
190
224
|
if (!scrollableRef.current) return;
|
|
191
225
|
const maxWidth = estimatedWidth === undefined ? scrollableRef.current.scrollWidth : estimatedWidth;
|
|
@@ -237,7 +271,11 @@ function _PaginationIndicator(_ref3, ref) {
|
|
|
237
271
|
onClickPage: onClickPage
|
|
238
272
|
});
|
|
239
273
|
}
|
|
274
|
+
|
|
275
|
+
/**
|
|
276
|
+
* A cool component to indicate how many pages are
|
|
277
|
+
**/
|
|
240
278
|
const PaginationIndicator = /*#__PURE__*/(0, _react.forwardRef)(_PaginationIndicator);
|
|
241
279
|
var _default = PaginationIndicator;
|
|
242
280
|
exports.default = _default;
|
|
243
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfZ2V0UmVxdWlyZVdpbGRjYXJkQ2FjaGUiLCJub2RlSW50ZXJvcCIsIldlYWtNYXAiLCJjYWNoZUJhYmVsSW50ZXJvcCIsImNhY2hlTm9kZUludGVyb3AiLCJvYmoiLCJfX2VzTW9kdWxlIiwiX3R5cGVvZiIsImRlZmF1bHQiLCJjYWNoZSIsImhhcyIsImdldCIsIm5ld09iaiIsImhhc1Byb3BlcnR5RGVzY3JpcHRvciIsIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwia2V5IiwicHJvdG90eXBlIiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwiZGVzYyIsInNldCIsIl9zbGljZWRUb0FycmF5IiwiYXJyIiwiaSIsIl9hcnJheVdpdGhIb2xlcyIsIl9pdGVyYWJsZVRvQXJyYXlMaW1pdCIsIl91bnN1cHBvcnRlZEl0ZXJhYmxlVG9BcnJheSIsIl9ub25JdGVyYWJsZVJlc3QiLCJfaSIsIlN5bWJvbCIsIml0ZXJhdG9yIiwiX3MiLCJfZSIsIl94IiwiX3IiLCJfYXJyIiwiX24iLCJfZCIsIm5leHQiLCJkb25lIiwicHVzaCIsInZhbHVlIiwibGVuZ3RoIiwiZXJyIiwicmV0dXJuIiwiX3RvQXJyYXkiLCJfaXRlcmFibGVUb0FycmF5IiwiVHlwZUVycm9yIiwibyIsIm1pbkxlbiIsIl9hcnJheUxpa2VUb0FycmF5IiwibiIsInRvU3RyaW5nIiwic2xpY2UiLCJjb25zdHJ1Y3RvciIsIm5hbWUiLCJBcnJheSIsImZyb20iLCJ0ZXN0IiwibGVuIiwiYXJyMiIsIml0ZXIiLCJpc0FycmF5IiwiTUFYX0JBTExTIiwiZWFjaEJhbGxXaWR0aEVtIiwiQ0VOVEVSX0dVSURFX0JBTEwiLCJQYWdpbmF0aW9uSW5kaWNhdG9yTW9kZSIsImV4cG9ydHMiLCJQYWdpbmF0aW9uSW5kaWNhdG9yVmlldyIsIl9yZWYiLCJzaXplIiwiY3VycmVudFBhZ2UiLCJwYWdlIiwiZGVjaW1hbFBhZ2VzIiwicGFnZXMiLCJjbGFzc05hbWUiLCJvbkNsaWNrUGFnZSIsIl9yZWYkbW9kZSIsIm1vZGUiLCJDRU5URVJFRCIsInVzZU1lbW8iLCJmbG9vciIsIk1hdGgiLCJtb2R1bHVzIiwiY3VycmVudEZsb29yTW9kdWx1cyIsImVxdWl2YWxlbnQiLCJyYW5kIiwicmFuZG9tIiwicGFnZUluZGV4IiwiY2VpbCIsIm51bUJhbGxzIiwiaW5kZXhGb3JUaGVCYWxsc0NlbnRlciIsImJhbGxzIiwiaW5kZXhGb3JMYXN0UGFnZXMiLCJpc0NlbnRlclBhZ2UiLCJyZXNldFBhZ2VJbmRleCIsImxlZnQiLCJfcmVmMiIsInB1c2hCYWxsc1RvUmlnaHRCeSIsIm1pbiIsInB1c2hCYWxsc1RvTGVmdEJ5IiwicHVzaEd1aWRlVG9SaWdodEJ5IiwicHVzaFRvTGVmdCIsImZpbGwiLCJ1bmRlZmluZWQiLCJtYXAiLCJfIiwiaXNMYXN0QmFsbCIsImlzRmlyc3RCYWxsIiwiZGlhbWV0ZXIiLCJwYWRkaW5nIiwiY3JlYXRlRWxlbWVudCIsIndpZHRoIiwiY29uY2F0IiwiaGVpZ2h0IiwieCIsInkiLCJyeCIsImJhbGxTaXplIiwiU1RBUlQiLCJvbkNsaWNrIiwicGFnZUNsaWNrZWQiLCJyb3VuZCIsIl9iYWxscyRyZXZlcnNlIiwicmV2ZXJzZSIsIl9iYWxscyRyZXZlcnNlMiIsImd1aWRlQmFsbCIsInBhZ2VCYWxscyIsInZlcnNpb24iLCJ4bWxucyIsInN0eWxlIiwibWluV2lkdGgiLCJmb250U2l6ZSIsImlkIiwiaW4iLCJyZXN1bHQiLCJzdGREZXZpYXRpb24iLCJ2YWx1ZXMiLCJpbjIiLCJmaWx0ZXIiLCJtYXNrIiwib3BhY2l0eSIsImN1cnNvciIsIl9QYWdpbmF0aW9uSW5kaWNhdG9yIiwiX3JlZjMiLCJyZWYiLCJzY3JvbGxhYmxlUmVmIiwiZXN0aW1hdGVkV2lkdGgiLCJfcmVmMyRjbGFzc05hbWUiLCJfdXNlU3RhdGUiLCJ1c2VTdGF0ZSIsIl91c2VTdGF0ZTIiLCJzZXRDdXJyZW50UGFnZSIsIl91c2VTdGF0ZTMiLCJfdXNlU3RhdGU0IiwiZGVmcyIsInNldERlZnMiLCJyZWZyZXNoUGFnZXMiLCJ1c2VDYWxsYmFjayIsImN1cnJlbnQiLCJtYXhXaWR0aCIsInNjcm9sbFdpZHRoIiwiY2xpZW50V2lkdGgiLCJ1c2VFZmZlY3QiLCJ1cGRhdGVQYWdlSW5kaWNhdG9ycyIsInRhcmdldCIsImVhY2hQYWdlV2lkdGgiLCJzY3JvbGxMZWZ0IiwibGFzdFBhZ2VQcm9ncmVzcyIsIm1heGltdW1Qcm9ncmVzcyIsImRpZmZUb01heCIsImN1cnJlbnRQcm9ncmVzc09uRGlmZiIsInVzZUltcGVyYXRpdmVIYW5kbGUiLCJlbCIsIm9uU2Nyb2xsIiwiZSIsImN1cnJlbnRUYXJnZXQiLCJhZGRFdmVudExpc3RlbmVyIiwicGFzc2l2ZSIsInJlbW92ZUV2ZW50TGlzdGVuZXIiLCJQYWdpbmF0aW9uSW5kaWNhdG9yIiwiZm9yd2FyZFJlZiIsIl9kZWZhdWx0Il0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvUGFnaW5hdGlvbkluZGljYXRvci9QYWdpbmF0aW9uSW5kaWNhdG9yLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHtcbiAgRm9yd2FyZGVkUmVmLFxuICBmb3J3YXJkUmVmLFxuICBSZWZPYmplY3QsXG4gIHVzZUNhbGxiYWNrLFxuICB1c2VFZmZlY3QsXG4gIHVzZUltcGVyYXRpdmVIYW5kbGUsXG4gIHVzZU1lbW8sXG4gIHVzZVN0YXRlLFxufSBmcm9tIFwicmVhY3RcIjtcblxuY29uc3QgTUFYX0JBTExTID0gNztcbmNvbnN0IGVhY2hCYWxsV2lkdGhFbSA9IDEuMjtcblxuY29uc3QgQ0VOVEVSX0dVSURFX0JBTEwgPSAxO1xuXG5leHBvcnQgZW51bSBQYWdpbmF0aW9uSW5kaWNhdG9yTW9kZSB7XG4gIC8qKiBUaGlzIHdpbGwgbWFrZSB0aGUgZ3VpZGUgYmFsbCBiZSBrZXB0IG9uIGNlbnRlciAgKi9cbiAgQ0VOVEVSRUQsXG5cbiAgLyoqIFRoaXMgd2lsbCBtYWtlIHRoZSBndWlkZSBiYWxsIG1vdmUsIHdoaWxlIHRoZSBpbmRpY2F0b3IgYmFsbHMga2VlcCBpbiBwbGFjZSAqL1xuICBTVEFSVCxcbn1cblxuLyoqXG4gKiBBIGNvb2wgY29tcG9uZW50IHRvIGluZGljYXRlIGhvdyBtYW55IHBhZ2VzIGFyZVxuICoqL1xuZXhwb3J0IGZ1bmN0aW9uIFBhZ2luYXRpb25JbmRpY2F0b3JWaWV3KHtcbiAgc2l6ZSxcbiAgcGFnZTogY3VycmVudFBhZ2UsXG4gIHBhZ2VzOiBkZWNpbWFsUGFnZXMsXG4gIGNsYXNzTmFtZSxcbiAgb25DbGlja1BhZ2UsXG4gIG1vZGUgPSBQYWdpbmF0aW9uSW5kaWNhdG9yTW9kZS5DRU5URVJFRCxcbn06IHtcbiAgc2l6ZTogbnVtYmVyO1xuICBwYWdlOiBudW1iZXI7XG4gIHBhZ2VzOiBudW1iZXI7XG4gIGNsYXNzTmFtZTogc3RyaW5nO1xuICBvbkNsaWNrUGFnZT86IChwYWdlOiBudW1iZXIpID0+IHZvaWQ7XG4gIG1vZGU/OiBQYWdpbmF0aW9uSW5kaWNhdG9yTW9kZTtcbn0pIHtcbiAgY29uc3QgcGFnZSA9IHVzZU1lbW8oKCkgPT4ge1xuICAgIGNvbnN0IGZsb29yID0gTWF0aC5mbG9vcihkZWNpbWFsUGFnZXMpO1xuICAgIGNvbnN0IG1vZHVsdXMgPSBkZWNpbWFsUGFnZXMgJSBmbG9vcjtcblxuICAgIGlmIChjdXJyZW50UGFnZSA+IGZsb29yKSB7XG4gICAgICBjb25zdCBjdXJyZW50Rmxvb3JNb2R1bHVzID0gY3VycmVudFBhZ2UgJSBmbG9vcjtcbiAgICAgIGNvbnN0IGVxdWl2YWxlbnQgPSAoY3VycmVudEZsb29yTW9kdWx1cyAqIDEwMCkgLyBtb2R1bHVzO1xuXG4gICAgICByZXR1cm4gZmxvb3IgKyBlcXVpdmFsZW50IC8gMTAwO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gY3VycmVudFBhZ2U7XG4gICAgfVxuICB9LCBbY3VycmVudFBhZ2UsIGRlY2ltYWxQYWdlc10pO1xuICBjb25zdCByYW5kID0gdXNlTWVtbygoKSA9PiBNYXRoLnJhbmRvbSgpLnRvU3RyaW5nKCksIFtdKTtcbiAgY29uc3QgcGFnZUluZGV4ID0gcGFnZSAtIDE7XG4gIGNvbnN0IHBhZ2VzID0gdXNlTWVtbygoKSA9PiBNYXRoLmNlaWwoZGVjaW1hbFBhZ2VzKSwgW2RlY2ltYWxQYWdlc10pO1xuICBjb25zdCBudW1CYWxscyA9IHVzZU1lbW8oKCkgPT4ge1xuICAgIGNvbnN0IG51bUJhbGxzID0gcGFnZXMgPj0gTUFYX0JBTExTID8gTUFYX0JBTExTIDogTWF0aC5jZWlsKHBhZ2VzKTtcblxuICAgIHJldHVybiBudW1CYWxscztcbiAgfSwgW3BhZ2VzXSk7XG5cbiAgY29uc3QgaW5kZXhGb3JUaGVCYWxsc0NlbnRlciA9IHVzZU1lbW8oKCkgPT4gKG51bUJhbGxzIC0gMSkgLyAyLCBbbnVtQmFsbHNdKTtcbiAgY29uc3QgYmFsbHMgPSB1c2VNZW1vKCgpID0+IHtcbiAgICBjb25zdCBpbmRleEZvckxhc3RQYWdlcyA9IHBhZ2VzICsgMSAtIGluZGV4Rm9yVGhlQmFsbHNDZW50ZXI7XG4gICAgLyoqXG4gICAgICogSXMgdGhlIHBhZ2UgaW5kZXggKHBvc2l0aW9uIG9mIHRoZSBjZW50ZXIpXG4gICAgICogYWZ0ZXIgdGhlIGZpcnN0IHBhZ2VzIGFuZFxuICAgICAqIGJlZm9yZSB0aGUgbGFzdCBwYWdlcyAqL1xuICAgIGNvbnN0IGlzQ2VudGVyUGFnZSA9XG4gICAgICBudW1CYWxscyA+PSBNQVhfQkFMTFMgJiZcbiAgICAgIHBhZ2VJbmRleCA+IGluZGV4Rm9yVGhlQmFsbHNDZW50ZXIgJiZcbiAgICAgIHBhZ2VJbmRleCA8IGluZGV4Rm9yTGFzdFBhZ2VzIC0gMTtcbiAgICBsZXQgbW9kdWx1cyA9XG4gICAgICBwYWdlSW5kZXggJVxuICAgICAgKDEgKyAoaW5kZXhGb3JUaGVCYWxsc0NlbnRlciAtIE1hdGguZmxvb3IoaW5kZXhGb3JUaGVCYWxsc0NlbnRlcikpKTtcbiAgICBjb25zdCByZXNldFBhZ2VJbmRleCA9IGlzQ2VudGVyUGFnZVxuICAgICAgPyBpbmRleEZvclRoZUJhbGxzQ2VudGVyICsgbW9kdWx1c1xuICAgICAgOiBwYWdlcyA8IE1BWF9CQUxMU1xuICAgICAgPyBwYWdlSW5kZXhcbiAgICAgIDogcGFnZUluZGV4ID49IGluZGV4Rm9yTGFzdFBhZ2VzIC0gMVxuICAgICAgPyBudW1CYWxscyAtIChwYWdlcyAtIHBhZ2VJbmRleClcbiAgICAgIDogcGFnZUluZGV4O1xuICAgIGNvbnN0IGxlZnQgPSBlYWNoQmFsbFdpZHRoRW0gKiByZXNldFBhZ2VJbmRleDtcbiAgICBjb25zdCB7IHB1c2hCYWxsc1RvUmlnaHRCeSwgcHVzaEJhbGxzVG9MZWZ0QnksIHB1c2hHdWlkZVRvUmlnaHRCeSB9ID1cbiAgICAgIG1vZGUgPT09IFBhZ2luYXRpb25JbmRpY2F0b3JNb2RlLkNFTlRFUkVEXG4gICAgICAgID8ge1xuICAgICAgICAgICAgcHVzaEJhbGxzVG9SaWdodEJ5OiBNYXRoLm1pbihwYWdlcywgTUFYX0JBTExTKSAqIGVhY2hCYWxsV2lkdGhFbSxcbiAgICAgICAgICAgIHB1c2hCYWxsc1RvTGVmdEJ5OiBsZWZ0LFxuICAgICAgICAgICAgcHVzaEd1aWRlVG9SaWdodEJ5OiAwLFxuICAgICAgICAgIH1cbiAgICAgICAgOiB7XG4gICAgICAgICAgICBwdXNoQmFsbHNUb1JpZ2h0Qnk6IChlYWNoQmFsbFdpZHRoRW0gLSAwLjUpIC8gMixcbiAgICAgICAgICAgIHB1c2hCYWxsc1RvTGVmdEJ5OiAwLFxuICAgICAgICAgICAgcHVzaEd1aWRlVG9SaWdodEJ5OiBsZWZ0LFxuICAgICAgICAgIH07XG4gICAgbGV0IHB1c2hUb0xlZnQ6IG51bWJlciA9IDA7XG4gICAgcmV0dXJuIG5ldyBBcnJheShDRU5URVJfR1VJREVfQkFMTCArIG51bUJhbGxzKVxuICAgICAgLmZpbGwodW5kZWZpbmVkKVxuICAgICAgLm1hcCgoXywgaSkgPT4ge1xuICAgICAgICBjb25zdCBpc0xhc3RCYWxsID0gaSA9PT0gbnVtQmFsbHMgLSAxO1xuICAgICAgICBjb25zdCBpc0ZpcnN0QmFsbCA9IGkgPT09IDA7XG5cbiAgICAgICAgaWYgKGkgPT09IG51bUJhbGxzKSB7XG4gICAgICAgICAgY29uc3QgZGlhbWV0ZXIgPSAwLjQ1ICogMjtcbiAgICAgICAgICBjb25zdCBwYWRkaW5nID0gKGVhY2hCYWxsV2lkdGhFbSAtIGRpYW1ldGVyKSAvIDI7XG4gICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgIDxyZWN0XG4gICAgICAgICAgICAgIGZpbGw9XCIjZmZmXCJcbiAgICAgICAgICAgICAgd2lkdGg9e2Ake2RpYW1ldGVyfWVtYH1cbiAgICAgICAgICAgICAgaGVpZ2h0PXtgJHtkaWFtZXRlcn1lbWB9XG4gICAgICAgICAgICAgIHg9e2Ake1xuICAgICAgICAgICAgICAgIHB1c2hCYWxsc1RvUmlnaHRCeSAtIHBhZGRpbmcgKyBwdXNoR3VpZGVUb1JpZ2h0QnkgLSBwdXNoVG9MZWZ0XG4gICAgICAgICAgICAgIH1lbWB9XG4gICAgICAgICAgICAgIHk9e2Ake3BhZGRpbmd9ZW1gfVxuICAgICAgICAgICAgICByeD17YCR7ZGlhbWV0ZXIgLyAyfWVtYH1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGJhbGxTaXplID1cbiAgICAgICAgICBudW1CYWxscyA8IE1BWF9CQUxMU1xuICAgICAgICAgICAgPyAwLjVcbiAgICAgICAgICAgIDogcGFnZSA8PSBpbmRleEZvclRoZUJhbGxzQ2VudGVyICsgMSAmJiBpc0xhc3RCYWxsXG4gICAgICAgICAgICA/IDBcbiAgICAgICAgICAgIDogcGFnZUluZGV4ID49IGluZGV4Rm9yTGFzdFBhZ2VzIC0gMSAmJiBpc0ZpcnN0QmFsbFxuICAgICAgICAgICAgPyAwXG4gICAgICAgICAgICA6IGlzQ2VudGVyUGFnZVxuICAgICAgICAgICAgPyBpc0ZpcnN0QmFsbFxuICAgICAgICAgICAgICA/IDAuNSAtIG1vZHVsdXMgKiAwLjVcbiAgICAgICAgICAgICAgOiBpc0xhc3RCYWxsXG4gICAgICAgICAgICAgID8gbW9kdWx1cyAqIDAuNVxuICAgICAgICAgICAgICA6IDAuNVxuICAgICAgICAgICAgOiAwLjU7XG5cbiAgICAgICAgaWYgKGkgPT09IDAgJiYgbW9kZSA9PT0gUGFnaW5hdGlvbkluZGljYXRvck1vZGUuU1RBUlQpXG4gICAgICAgICAgcHVzaFRvTGVmdCA9ICgwLjUgLSBiYWxsU2l6ZSkgKiAyLjQ7XG5cbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICA8cmVjdFxuICAgICAgICAgICAga2V5PXtgZ3VpZGUtJHtpfWB9XG4gICAgICAgICAgICB3aWR0aD17YCR7YmFsbFNpemUgKiAxLjJ9ZW1gfVxuICAgICAgICAgICAgaGVpZ2h0PXtgJHtiYWxsU2l6ZSAqIDEuMn1lbWB9XG4gICAgICAgICAgICB4PXtgJHtcbiAgICAgICAgICAgICAgcHVzaEJhbGxzVG9SaWdodEJ5ICtcbiAgICAgICAgICAgICAgaSAqIGVhY2hCYWxsV2lkdGhFbSAtXG4gICAgICAgICAgICAgIHB1c2hCYWxsc1RvTGVmdEJ5IC1cbiAgICAgICAgICAgICAgcHVzaFRvTGVmdFxuICAgICAgICAgICAgfWVtYH1cbiAgICAgICAgICAgIHk9e2AkeyhlYWNoQmFsbFdpZHRoRW0gLSBiYWxsU2l6ZSAqIDEuMikgLyAyfWVtYH1cbiAgICAgICAgICAgIHJ4PXtgJHsoYmFsbFNpemUgKiAxLjIpIC8gMn1lbWB9XG4gICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiB7XG4gICAgICAgICAgICAgIGlmIChvbkNsaWNrUGFnZSkge1xuICAgICAgICAgICAgICAgIGNvbnN0IHBhZ2VDbGlja2VkID1cbiAgICAgICAgICAgICAgICAgICghaXNDZW50ZXJQYWdlXG4gICAgICAgICAgICAgICAgICAgID8gcGFnZUluZGV4ID49IGluZGV4Rm9yTGFzdFBhZ2VzIC0gMVxuICAgICAgICAgICAgICAgICAgICAgID8gTWF0aC5mbG9vcihwYWdlKSAtIHJlc2V0UGFnZUluZGV4IC0gMVxuICAgICAgICAgICAgICAgICAgICAgIDogMFxuICAgICAgICAgICAgICAgICAgICA6IE1hdGguZmxvb3IocGFnZSkgLSAoaW5kZXhGb3JUaGVCYWxsc0NlbnRlciArIDEpKSArXG4gICAgICAgICAgICAgICAgICAxICtcbiAgICAgICAgICAgICAgICAgIGk7XG4gICAgICAgICAgICAgICAgb25DbGlja1BhZ2UoTWF0aC5yb3VuZChwYWdlQ2xpY2tlZCkpO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9fVxuICAgICAgICAgIC8+XG4gICAgICAgICk7XG4gICAgICB9KTtcbiAgfSwgW2luZGV4Rm9yVGhlQmFsbHNDZW50ZXIsIHBhZ2VJbmRleCwgcGFnZXNdKTtcbiAgY29uc3QgW2d1aWRlQmFsbCwgLi4ucGFnZUJhbGxzXSA9IGJhbGxzLnJldmVyc2UoKTtcbiAgbGV0IHdpZHRoID0gZWFjaEJhbGxXaWR0aEVtICogTWF0aC5taW4ocGFnZXMsIE1BWF9CQUxMUykgKiAyO1xuICBpZiAobW9kZSA9PT0gUGFnaW5hdGlvbkluZGljYXRvck1vZGUuU1RBUlQpIHdpZHRoIC89IDI7XG5cbiAgcmV0dXJuIChcbiAgICA8c3ZnXG4gICAgICB2ZXJzaW9uPVwiMS4xXCJcbiAgICAgIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIlxuICAgICAgY2xhc3NOYW1lPXtjbGFzc05hbWV9XG4gICAgICBzdHlsZT17e1xuICAgICAgICB3aWR0aDogYCR7d2lkdGh9ZW1gLFxuICAgICAgICBtaW5XaWR0aDogYCR7d2lkdGh9ZW1gLFxuICAgICAgICBoZWlnaHQ6IFwiMS4yZW1cIixcbiAgICAgICAgZm9udFNpemU6IGAke3NpemV9cHhgLFxuICAgICAgfX1cbiAgICA+XG4gICAgICA8ZmlsdGVyIGlkPXtgZ29vLSR7cmFuZH1gfT5cbiAgICAgICAgPGZlR2F1c3NpYW5CbHVyIGluPVwiU291cmNlR3JhcGhpY1wiIHJlc3VsdD1cImJsdXJcIiBzdGREZXZpYXRpb249XCI1XCIgLz5cbiAgICAgICAgPGZlQ29sb3JNYXRyaXhcbiAgICAgICAgICBpbj1cImJsdXJcIlxuICAgICAgICAgIG1vZGU9XCJtYXRyaXhcIlxuICAgICAgICAgIHZhbHVlcz1cIjEgMCAwIDAgMCAgMCAxIDAgMCAwICAwIDAgMSAwIDAgIDAgMCAwIDE4IC03XCJcbiAgICAgICAgICByZXN1bHQ9XCJnb29cIlxuICAgICAgICAvPlxuICAgICAgICA8ZmVCbGVuZCBpbjI9XCJnb29cIiBpbj1cIlNvdXJjZUdyYXBoaWNcIiByZXN1bHQ9XCJtaXhcIiAvPlxuICAgICAgPC9maWx0ZXI+XG4gICAgICA8bWFzayBpZD17YG1hc2stJHtyYW5kfWB9PlxuICAgICAgICA8ZyBmaWx0ZXI9e2B1cmwoIyR7YGdvby0ke3JhbmR9YH0pYH0gZmlsbD1cIiNmZmZcIj5cbiAgICAgICAgICB7W3BhZ2VCYWxsc119XG4gICAgICAgICAge2d1aWRlQmFsbH1cbiAgICAgICAgPC9nPlxuICAgICAgPC9tYXNrPlxuICAgICAgPHJlY3RcbiAgICAgICAgeD1cIjBcIlxuICAgICAgICB5PVwiMFwiXG4gICAgICAgIG1hc2s9e2B1cmwoIyR7YG1hc2stJHtyYW5kfWB9KWB9XG4gICAgICAgIHdpZHRoPVwiMTAwJVwiXG4gICAgICAgIGhlaWdodD1cIjEwMCVcIlxuICAgICAgICBzdHlsZT17eyBmaWxsOiBcInZhcigtLWRpZ2l0YWwtYmx1ZSlcIiB9fVxuICAgICAgPjwvcmVjdD5cbiAgICAgIHtvbkNsaWNrUGFnZSAmJiAoXG4gICAgICAgIDxnIG9wYWNpdHk9ezB9IHN0eWxlPXt7IGN1cnNvcjogXCJwb2ludGVyXCIgfX0+XG4gICAgICAgICAge3BhZ2VCYWxsc31cbiAgICAgICAgPC9nPlxuICAgICAgKX1cbiAgICA8L3N2Zz5cbiAgKTtcbn1cblxuZnVuY3Rpb24gX1BhZ2luYXRpb25JbmRpY2F0b3IoXG4gIHtcbiAgICBzY3JvbGxhYmxlUmVmLFxuICAgIGVzdGltYXRlZFdpZHRoLFxuICAgIHNpemUsXG4gICAgY2xhc3NOYW1lID0gXCJcIixcbiAgICBvbkNsaWNrUGFnZSxcbiAgfToge1xuICAgIHNjcm9sbGFibGVSZWY6IFJlZk9iamVjdDxIVE1MRGl2RWxlbWVudD47XG4gICAgZXN0aW1hdGVkV2lkdGg/OiBudW1iZXI7XG4gICAgc2l6ZTogbnVtYmVyO1xuICAgIGNsYXNzTmFtZT86IHN0cmluZztcbiAgICBvbkNsaWNrUGFnZT86IChwYWdlOiBudW1iZXIpID0+IHZvaWQ7XG4gIH0sXG4gIHJlZjogRm9yd2FyZGVkUmVmPHtcbiAgICByZWZyZXNoUGFnZXM6ICgpID0+IHZvaWQ7XG4gIH0+XG4pIHtcbiAgY29uc3QgW2N1cnJlbnRQYWdlLCBzZXRDdXJyZW50UGFnZV0gPSB1c2VTdGF0ZSgxKTtcblxuICBjb25zdCBbZGVmcywgc2V0RGVmc10gPVxuICAgIHVzZVN0YXRlPHtcbiAgICAgIHBhZ2VzOiBudW1iZXI7XG4gICAgfT4oKTtcblxuICBjb25zdCByZWZyZXNoUGFnZXMgPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgaWYgKCFzY3JvbGxhYmxlUmVmLmN1cnJlbnQpIHJldHVybjtcbiAgICBjb25zdCBtYXhXaWR0aCA9XG4gICAgICBlc3RpbWF0ZWRXaWR0aCA9PT0gdW5kZWZpbmVkXG4gICAgICAgID8gc2Nyb2xsYWJsZVJlZi5jdXJyZW50IS5zY3JvbGxXaWR0aFxuICAgICAgICA6IGVzdGltYXRlZFdpZHRoO1xuXG4gICAgY29uc3QgcGFnZXMgPSBtYXhXaWR0aCAvIHNjcm9sbGFibGVSZWYuY3VycmVudCEuY2xpZW50V2lkdGg7XG4gICAgaWYgKHBhZ2VzID4gMSlcbiAgICAgIHNldERlZnMoe1xuICAgICAgICBwYWdlcyxcbiAgICAgIH0pO1xuICB9LCBbZXN0aW1hdGVkV2lkdGhdKTtcblxuICB1c2VFZmZlY3QoKCkgPT4gcmVmcmVzaFBhZ2VzKCksIFtyZWZyZXNoUGFnZXNdKTtcblxuICBjb25zdCB1cGRhdGVQYWdlSW5kaWNhdG9ycyA9IHVzZUNhbGxiYWNrKFxuICAgICh0YXJnZXQ6IEhUTUxEaXZFbGVtZW50LCBwYWdlczogbnVtYmVyKSA9PiB7XG4gICAgICBpZiAoIXNjcm9sbGFibGVSZWYuY3VycmVudCkgcmV0dXJuO1xuICAgICAgY29uc3QgZWFjaFBhZ2VXaWR0aCA9IHNjcm9sbGFibGVSZWYuY3VycmVudCEuY2xpZW50V2lkdGg7XG4gICAgICBjb25zdCBwYWdlID0gMSArIHRhcmdldC5zY3JvbGxMZWZ0IC8gZWFjaFBhZ2VXaWR0aDtcbiAgICAgIGNvbnN0IGxhc3RQYWdlUHJvZ3Jlc3MgPSBNYXRoLmZsb29yKHBhZ2VzKSArIDE7XG4gICAgICBjb25zdCBtYXhpbXVtUHJvZ3Jlc3MgPSBwYWdlcyArIDE7XG5cbiAgICAgIGNvbnN0IGRpZmZUb01heCA9IG1heGltdW1Qcm9ncmVzcyAtIGxhc3RQYWdlUHJvZ3Jlc3M7XG4gICAgICBjb25zdCBjdXJyZW50UHJvZ3Jlc3NPbkRpZmYgPSBwYWdlIC0gbGFzdFBhZ2VQcm9ncmVzcztcblxuICAgICAgaWYgKHBhZ2UgPiBsYXN0UGFnZVByb2dyZXNzKVxuICAgICAgICBzZXRDdXJyZW50UGFnZShsYXN0UGFnZVByb2dyZXNzICsgY3VycmVudFByb2dyZXNzT25EaWZmIC8gZGlmZlRvTWF4KTtcbiAgICAgIGVsc2Ugc2V0Q3VycmVudFBhZ2UocGFnZSk7XG4gICAgfSxcbiAgICBbXVxuICApO1xuXG4gIHVzZUltcGVyYXRpdmVIYW5kbGUoXG4gICAgcmVmLFxuICAgICgpID0+ICh7XG4gICAgICByZWZyZXNoUGFnZXMsXG4gICAgfSksXG4gICAgW11cbiAgKTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmICghZGVmcykgcmV0dXJuO1xuICAgIGNvbnN0IGVsID0gc2Nyb2xsYWJsZVJlZi5jdXJyZW50ITtcbiAgICBjb25zdCBvblNjcm9sbCA9IChlOiBFdmVudCkgPT5cbiAgICAgIHVwZGF0ZVBhZ2VJbmRpY2F0b3JzKGUuY3VycmVudFRhcmdldCBhcyBIVE1MRGl2RWxlbWVudCwgZGVmcy5wYWdlcyk7XG4gICAgdXBkYXRlUGFnZUluZGljYXRvcnMoZWwsIGRlZnMucGFnZXMpO1xuICAgIGVsLmFkZEV2ZW50TGlzdGVuZXIoXCJzY3JvbGxcIiwgb25TY3JvbGwsIHtcbiAgICAgIHBhc3NpdmU6IHRydWVcbiAgICB9KTtcbiAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgZWwucmVtb3ZlRXZlbnRMaXN0ZW5lcihcInNjcm9sbFwiLCBvblNjcm9sbCk7XG4gICAgfTtcbiAgfSwgW2RlZnNdKTtcblxuICBjb25zdCBwYWdlcyA9IHVzZU1lbW8oKCkgPT4gKGRlZnMgPyBkZWZzLnBhZ2VzIDogdW5kZWZpbmVkKSwgW2RlZnNdKTtcblxuICByZXR1cm4gIXBhZ2VzID8gbnVsbCA6IChcbiAgICA8UGFnaW5hdGlvbkluZGljYXRvclZpZXdcbiAgICAgIHBhZ2VzPXtwYWdlc31cbiAgICAgIHBhZ2U9e2N1cnJlbnRQYWdlfVxuICAgICAgc2l6ZT17c2l6ZX1cbiAgICAgIGNsYXNzTmFtZT17Y2xhc3NOYW1lfVxuICAgICAgb25DbGlja1BhZ2U9e29uQ2xpY2tQYWdlfVxuICAgIC8+XG4gICk7XG59XG5cbmNvbnN0IFBhZ2luYXRpb25JbmRpY2F0b3IgPSBmb3J3YXJkUmVmKF9QYWdpbmF0aW9uSW5kaWNhdG9yKTtcbmV4cG9ydCBkZWZhdWx0IFBhZ2luYXRpb25JbmRpY2F0b3I7XG5cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBQUEsSUFBQUEsTUFBQSxHQUFBQyx1QkFBQSxDQUFBQyxPQUFBO0FBU2UsU0FBQUMseUJBQUFDLFdBQUEsZUFBQUMsT0FBQSxrQ0FBQUMsaUJBQUEsT0FBQUQsT0FBQSxRQUFBRSxnQkFBQSxPQUFBRixPQUFBLFlBQUFGLHdCQUFBLFlBQUFBLHlCQUFBQyxXQUFBLFdBQUFBLFdBQUEsR0FBQUcsZ0JBQUEsR0FBQUQsaUJBQUEsS0FBQUYsV0FBQTtBQUFBLFNBQUFILHdCQUFBTyxHQUFBLEVBQUFKLFdBQUEsU0FBQUEsV0FBQSxJQUFBSSxHQUFBLElBQUFBLEdBQUEsQ0FBQUMsVUFBQSxXQUFBRCxHQUFBLFFBQUFBLEdB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
|
|
281
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfZ2V0UmVxdWlyZVdpbGRjYXJkQ2FjaGUiLCJub2RlSW50ZXJvcCIsIldlYWtNYXAiLCJjYWNoZUJhYmVsSW50ZXJvcCIsImNhY2hlTm9kZUludGVyb3AiLCJvYmoiLCJfX2VzTW9kdWxlIiwiX3R5cGVvZiIsImRlZmF1bHQiLCJjYWNoZSIsImhhcyIsImdldCIsIm5ld09iaiIsImhhc1Byb3BlcnR5RGVzY3JpcHRvciIsIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwia2V5IiwicHJvdG90eXBlIiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwiZGVzYyIsInNldCIsIl9leHRlbmRzIiwiYXNzaWduIiwiYmluZCIsInRhcmdldCIsImkiLCJhcmd1bWVudHMiLCJsZW5ndGgiLCJzb3VyY2UiLCJhcHBseSIsIl9zbGljZWRUb0FycmF5IiwiYXJyIiwiX2FycmF5V2l0aEhvbGVzIiwiX2l0ZXJhYmxlVG9BcnJheUxpbWl0IiwiX3Vuc3VwcG9ydGVkSXRlcmFibGVUb0FycmF5IiwiX25vbkl0ZXJhYmxlUmVzdCIsIl9pIiwiU3ltYm9sIiwiaXRlcmF0b3IiLCJfcyIsIl9lIiwiX3giLCJfciIsIl9hcnIiLCJfbiIsIl9kIiwibmV4dCIsImRvbmUiLCJwdXNoIiwidmFsdWUiLCJlcnIiLCJyZXR1cm4iLCJfdG9BcnJheSIsIl9pdGVyYWJsZVRvQXJyYXkiLCJUeXBlRXJyb3IiLCJvIiwibWluTGVuIiwiX2FycmF5TGlrZVRvQXJyYXkiLCJuIiwidG9TdHJpbmciLCJzbGljZSIsImNvbnN0cnVjdG9yIiwibmFtZSIsIkFycmF5IiwiZnJvbSIsInRlc3QiLCJsZW4iLCJhcnIyIiwiaXRlciIsImlzQXJyYXkiLCJNQVhfQkFMTFMiLCJlYWNoQmFsbFdpZHRoRW0iLCJDRU5URVJfR1VJREVfQkFMTCIsIlBhZ2luYXRpb25JbmRpY2F0b3JNb2RlIiwiZXhwb3J0cyIsIlBhZ2luYXRpb25JbmRpY2F0b3JWaWV3IiwiX3JlZiIsInNpemUiLCJjdXJyZW50UGFnZSIsInBhZ2UiLCJkZWNpbWFsUGFnZXMiLCJwYWdlcyIsImNsYXNzTmFtZSIsIm9uQ2xpY2tQYWdlIiwiX3JlZiRtb2RlIiwibW9kZSIsIkNFTlRFUkVEIiwidXNlTWVtbyIsImZsb29yIiwiTWF0aCIsIm1vZHVsdXMiLCJjdXJyZW50Rmxvb3JNb2R1bHVzIiwiZXF1aXZhbGVudCIsInJhbmQiLCJyYW5kb20iLCJwYWdlSW5kZXgiLCJjZWlsIiwibnVtQmFsbHMiLCJpbmRleEZvclRoZUJhbGxzQ2VudGVyIiwiYmFsbHMiLCJpbmRleEZvckxhc3RQYWdlcyIsImlzQ2VudGVyUGFnZSIsInJlc2V0UGFnZUluZGV4IiwibGVmdCIsIl9yZWYyIiwicHVzaEJhbGxzVG9SaWdodEJ5IiwibWluIiwicHVzaEJhbGxzVG9MZWZ0QnkiLCJwdXNoR3VpZGVUb1JpZ2h0QnkiLCJwdXNoVG9MZWZ0IiwiZmlsbCIsInVuZGVmaW5lZCIsIm1hcCIsIl8iLCJpc0xhc3RCYWxsIiwiaXNGaXJzdEJhbGwiLCJkaWFtZXRlciIsInBhZGRpbmciLCJjcmVhdGVFbGVtZW50Iiwid2lkdGgiLCJjb25jYXQiLCJoZWlnaHQiLCJ4IiwieSIsInJ4IiwiYmFsbFNpemUiLCJTVEFSVCIsIm9uQ2xpY2siLCJwYWdlQ2xpY2tlZCIsInJvdW5kIiwiX2JhbGxzJHJldmVyc2UiLCJyZXZlcnNlIiwiX2JhbGxzJHJldmVyc2UyIiwiZ3VpZGVCYWxsIiwicGFnZUJhbGxzIiwidmVyc2lvbiIsInhtbG5zIiwic3R5bGUiLCJtaW5XaWR0aCIsImZvbnRTaXplIiwiaWQiLCJpbiIsInJlc3VsdCIsInN0ZERldmlhdGlvbiIsInZhbHVlcyIsImluMiIsImZpbHRlciIsIm1hc2siLCJvcGFjaXR5IiwiY3Vyc29yIiwiQW5pbWF0ZWRQYWdpbmF0aW9uSW5kaWNhdG9yIiwicHJvcHMiLCJwcmV2UGFnZSIsInVzZVJlZiIsIl91c2VTdGF0ZSIsInVzZVN0YXRlIiwiX3VzZVN0YXRlMiIsInBhZ2VQcm9ncmVzcyIsInNldFBhZ2VQcm9ncmVzcyIsInVzZUVmZmVjdCIsImRpZmYiLCJjdXJyZW50IiwiZGlmZlBlclN0ZXAiLCJpbnRlcnZhbCIsInNldEludGVydmFsIiwicHJldiIsImNsZWFySW50ZXJ2YWwiLCJOdW1iZXIiLCJ0b0ZpeGVkIiwiZHVyYXRpb24iLCJfUGFnaW5hdGlvbkluZGljYXRvciIsIl9yZWYzIiwicmVmIiwic2Nyb2xsYWJsZVJlZiIsImVzdGltYXRlZFdpZHRoIiwiX3JlZjMkY2xhc3NOYW1lIiwiX3VzZVN0YXRlMyIsIl91c2VTdGF0ZTQiLCJzZXRDdXJyZW50UGFnZSIsIl91c2VTdGF0ZTUiLCJfdXNlU3RhdGU2IiwiZGVmcyIsInNldERlZnMiLCJyZWZyZXNoUGFnZXMiLCJ1c2VDYWxsYmFjayIsIm1heFdpZHRoIiwic2Nyb2xsV2lkdGgiLCJjbGllbnRXaWR0aCIsInVwZGF0ZVBhZ2VJbmRpY2F0b3JzIiwiZWFjaFBhZ2VXaWR0aCIsInNjcm9sbExlZnQiLCJsYXN0UGFnZVByb2dyZXNzIiwibWF4aW11bVByb2dyZXNzIiwiZGlmZlRvTWF4IiwiY3VycmVudFByb2dyZXNzT25EaWZmIiwidXNlSW1wZXJhdGl2ZUhhbmRsZSIsImVsIiwib25TY3JvbGwiLCJlIiwiY3VycmVudFRhcmdldCIsImFkZEV2ZW50TGlzdGVuZXIiLCJwYXNzaXZlIiwicmVtb3ZlRXZlbnRMaXN0ZW5lciIsIlBhZ2luYXRpb25JbmRpY2F0b3IiLCJmb3J3YXJkUmVmIiwiX2RlZmF1bHQiXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29tcG9uZW50cy9QYWdpbmF0aW9uSW5kaWNhdG9yL1BhZ2luYXRpb25JbmRpY2F0b3IudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCwge1xuICBDb21wb25lbnRQcm9wcyxcbiAgRm9yd2FyZGVkUmVmLFxuICBmb3J3YXJkUmVmLFxuICBSZWZPYmplY3QsXG4gIHVzZUNhbGxiYWNrLFxuICB1c2VFZmZlY3QsXG4gIHVzZUltcGVyYXRpdmVIYW5kbGUsXG4gIHVzZU1lbW8sXG4gIHVzZVJlZixcbiAgdXNlU3RhdGUsXG59IGZyb20gXCJyZWFjdFwiO1xuXG5jb25zdCBNQVhfQkFMTFMgPSA3O1xuY29uc3QgZWFjaEJhbGxXaWR0aEVtID0gMS4yO1xuXG5jb25zdCBDRU5URVJfR1VJREVfQkFMTCA9IDE7XG5cbmV4cG9ydCBlbnVtIFBhZ2luYXRpb25JbmRpY2F0b3JNb2RlIHtcbiAgLyoqIFRoaXMgd2lsbCBtYWtlIHRoZSBndWlkZSBiYWxsIGJlIGtlcHQgb24gY2VudGVyICAqL1xuICBDRU5URVJFRCxcblxuICAvKiogVGhpcyB3aWxsIG1ha2UgdGhlIGd1aWRlIGJhbGwgbW92ZSwgd2hpbGUgdGhlIGluZGljYXRvciBiYWxscyBrZWVwIGluIHBsYWNlICovXG4gIFNUQVJULFxufVxuZXhwb3J0IGZ1bmN0aW9uIFBhZ2luYXRpb25JbmRpY2F0b3JWaWV3KHtcbiAgc2l6ZSxcbiAgcGFnZTogY3VycmVudFBhZ2UsXG4gIHBhZ2VzOiBkZWNpbWFsUGFnZXMsXG4gIGNsYXNzTmFtZSxcbiAgb25DbGlja1BhZ2UsXG4gIG1vZGUgPSBQYWdpbmF0aW9uSW5kaWNhdG9yTW9kZS5DRU5URVJFRCxcbn06IHtcbiAgc2l6ZTogbnVtYmVyO1xuICBwYWdlOiBudW1iZXI7XG4gIHBhZ2VzOiBudW1iZXI7XG4gIGNsYXNzTmFtZT86IHN0cmluZztcbiAgb25DbGlja1BhZ2U/OiAocGFnZTogbnVtYmVyKSA9PiB2b2lkO1xuICBtb2RlPzogUGFnaW5hdGlvbkluZGljYXRvck1vZGU7XG59KSB7XG4gIGNvbnN0IHBhZ2UgPSB1c2VNZW1vKCgpID0+IHtcbiAgICBjb25zdCBmbG9vciA9IE1hdGguZmxvb3IoZGVjaW1hbFBhZ2VzKTtcbiAgICBjb25zdCBtb2R1bHVzID0gZGVjaW1hbFBhZ2VzICUgZmxvb3I7XG5cbiAgICBpZiAoY3VycmVudFBhZ2UgPiBmbG9vcikge1xuICAgICAgY29uc3QgY3VycmVudEZsb29yTW9kdWx1cyA9IGN1cnJlbnRQYWdlICUgZmxvb3I7XG4gICAgICBjb25zdCBlcXVpdmFsZW50ID0gKGN1cnJlbnRGbG9vck1vZHVsdXMgKiAxMDApIC8gbW9kdWx1cztcblxuICAgICAgcmV0dXJuIGZsb29yICsgZXF1aXZhbGVudCAvIDEwMDtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIGN1cnJlbnRQYWdlO1xuICAgIH1cbiAgfSwgW2N1cnJlbnRQYWdlLCBkZWNpbWFsUGFnZXNdKTtcbiAgY29uc3QgcmFuZCA9IHVzZU1lbW8oKCkgPT4gTWF0aC5yYW5kb20oKS50b1N0cmluZygpLCBbXSk7XG4gIGNvbnN0IHBhZ2VJbmRleCA9IHBhZ2UgLSAxO1xuICBjb25zdCBwYWdlcyA9IHVzZU1lbW8oKCkgPT4gTWF0aC5jZWlsKGRlY2ltYWxQYWdlcyksIFtkZWNpbWFsUGFnZXNdKTtcbiAgY29uc3QgbnVtQmFsbHMgPSB1c2VNZW1vKCgpID0+IHtcbiAgICBjb25zdCBudW1CYWxscyA9IHBhZ2VzID49IE1BWF9CQUxMUyA/IE1BWF9CQUxMUyA6IE1hdGguY2VpbChwYWdlcyk7XG5cbiAgICByZXR1cm4gbnVtQmFsbHM7XG4gIH0sIFtwYWdlc10pO1xuXG4gIGNvbnN0IGluZGV4Rm9yVGhlQmFsbHNDZW50ZXIgPSB1c2VNZW1vKCgpID0+IChudW1CYWxscyAtIDEpIC8gMiwgW251bUJhbGxzXSk7XG4gIGNvbnN0IGJhbGxzID0gdXNlTWVtbygoKSA9PiB7XG4gICAgY29uc3QgaW5kZXhGb3JMYXN0UGFnZXMgPSBwYWdlcyArIDEgLSBpbmRleEZvclRoZUJhbGxzQ2VudGVyO1xuICAgIC8qKlxuICAgICAqIElzIHRoZSBwYWdlIGluZGV4IChwb3NpdGlvbiBvZiB0aGUgY2VudGVyKVxuICAgICAqIGFmdGVyIHRoZSBmaXJzdCBwYWdlcyBhbmRcbiAgICAgKiBiZWZvcmUgdGhlIGxhc3QgcGFnZXMgKi9cbiAgICBjb25zdCBpc0NlbnRlclBhZ2UgPVxuICAgICAgbnVtQmFsbHMgPj0gTUFYX0JBTExTICYmXG4gICAgICBwYWdlSW5kZXggPiBpbmRleEZvclRoZUJhbGxzQ2VudGVyICYmXG4gICAgICBwYWdlSW5kZXggPCBpbmRleEZvckxhc3RQYWdlcyAtIDE7XG4gICAgbGV0IG1vZHVsdXMgPVxuICAgICAgcGFnZUluZGV4ICVcbiAgICAgICgxICsgKGluZGV4Rm9yVGhlQmFsbHNDZW50ZXIgLSBNYXRoLmZsb29yKGluZGV4Rm9yVGhlQmFsbHNDZW50ZXIpKSk7XG4gICAgY29uc3QgcmVzZXRQYWdlSW5kZXggPSBpc0NlbnRlclBhZ2VcbiAgICAgID8gaW5kZXhGb3JUaGVCYWxsc0NlbnRlciArIG1vZHVsdXNcbiAgICAgIDogcGFnZXMgPCBNQVhfQkFMTFNcbiAgICAgID8gcGFnZUluZGV4XG4gICAgICA6IHBhZ2VJbmRleCA+PSBpbmRleEZvckxhc3RQYWdlcyAtIDFcbiAgICAgID8gbnVtQmFsbHMgLSAocGFnZXMgLSBwYWdlSW5kZXgpXG4gICAgICA6IHBhZ2VJbmRleDtcbiAgICBjb25zdCBsZWZ0ID0gZWFjaEJhbGxXaWR0aEVtICogcmVzZXRQYWdlSW5kZXg7XG4gICAgY29uc3QgeyBwdXNoQmFsbHNUb1JpZ2h0QnksIHB1c2hCYWxsc1RvTGVmdEJ5LCBwdXNoR3VpZGVUb1JpZ2h0QnkgfSA9XG4gICAgICBtb2RlID09PSBQYWdpbmF0aW9uSW5kaWNhdG9yTW9kZS5DRU5URVJFRFxuICAgICAgICA/IHtcbiAgICAgICAgICAgIHB1c2hCYWxsc1RvUmlnaHRCeTogTWF0aC5taW4ocGFnZXMsIE1BWF9CQUxMUykgKiBlYWNoQmFsbFdpZHRoRW0sXG4gICAgICAgICAgICBwdXNoQmFsbHNUb0xlZnRCeTogbGVmdCxcbiAgICAgICAgICAgIHB1c2hHdWlkZVRvUmlnaHRCeTogMCxcbiAgICAgICAgICB9XG4gICAgICAgIDoge1xuICAgICAgICAgICAgcHVzaEJhbGxzVG9SaWdodEJ5OiAoZWFjaEJhbGxXaWR0aEVtIC0gMC41KSAvIDIsXG4gICAgICAgICAgICBwdXNoQmFsbHNUb0xlZnRCeTogMCxcbiAgICAgICAgICAgIHB1c2hHdWlkZVRvUmlnaHRCeTogbGVmdCxcbiAgICAgICAgICB9O1xuICAgIGxldCBwdXNoVG9MZWZ0OiBudW1iZXIgPSAwO1xuICAgIHJldHVybiBuZXcgQXJyYXkoQ0VOVEVSX0dVSURFX0JBTEwgKyBudW1CYWxscylcbiAgICAgIC5maWxsKHVuZGVmaW5lZClcbiAgICAgIC5tYXAoKF8sIGkpID0+IHtcbiAgICAgICAgY29uc3QgaXNMYXN0QmFsbCA9IGkgPT09IG51bUJhbGxzIC0gMTtcbiAgICAgICAgY29uc3QgaXNGaXJzdEJhbGwgPSBpID09PSAwO1xuXG4gICAgICAgIGlmIChpID09PSBudW1CYWxscykge1xuICAgICAgICAgIGNvbnN0IGRpYW1ldGVyID0gMC40NSAqIDI7XG4gICAgICAgICAgY29uc3QgcGFkZGluZyA9IChlYWNoQmFsbFdpZHRoRW0gLSBkaWFtZXRlcikgLyAyO1xuICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICA8cmVjdFxuICAgICAgICAgICAgICBmaWxsPVwiI2ZmZlwiXG4gICAgICAgICAgICAgIHdpZHRoPXtgJHtkaWFtZXRlcn1lbWB9XG4gICAgICAgICAgICAgIGhlaWdodD17YCR7ZGlhbWV0ZXJ9ZW1gfVxuICAgICAgICAgICAgICB4PXtgJHtcbiAgICAgICAgICAgICAgICBwdXNoQmFsbHNUb1JpZ2h0QnkgLSBwYWRkaW5nICsgcHVzaEd1aWRlVG9SaWdodEJ5IC0gcHVzaFRvTGVmdFxuICAgICAgICAgICAgICB9ZW1gfVxuICAgICAgICAgICAgICB5PXtgJHtwYWRkaW5nfWVtYH1cbiAgICAgICAgICAgICAgcng9e2Ake2RpYW1ldGVyIC8gMn1lbWB9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgICk7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBiYWxsU2l6ZSA9XG4gICAgICAgICAgbnVtQmFsbHMgPCBNQVhfQkFMTFNcbiAgICAgICAgICAgID8gMC41XG4gICAgICAgICAgICA6IHBhZ2UgPD0gaW5kZXhGb3JUaGVCYWxsc0NlbnRlciArIDEgJiYgaXNMYXN0QmFsbFxuICAgICAgICAgICAgPyAwXG4gICAgICAgICAgICA6IHBhZ2VJbmRleCA+PSBpbmRleEZvckxhc3RQYWdlcyAtIDEgJiYgaXNGaXJzdEJhbGxcbiAgICAgICAgICAgID8gMFxuICAgICAgICAgICAgOiBpc0NlbnRlclBhZ2VcbiAgICAgICAgICAgID8gaXNGaXJzdEJhbGxcbiAgICAgICAgICAgICAgPyAwLjUgLSBtb2R1bHVzICogMC41XG4gICAgICAgICAgICAgIDogaXNMYXN0QmFsbFxuICAgICAgICAgICAgICA/IG1vZHVsdXMgKiAwLjVcbiAgICAgICAgICAgICAgOiAwLjVcbiAgICAgICAgICAgIDogMC41O1xuXG4gICAgICAgIGlmIChpID09PSAwICYmIG1vZGUgPT09IFBhZ2luYXRpb25JbmRpY2F0b3JNb2RlLlNUQVJUKVxuICAgICAgICAgIHB1c2hUb0xlZnQgPSAoMC41IC0gYmFsbFNpemUpICogMi40O1xuXG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgPHJlY3RcbiAgICAgICAgICAgIGtleT17YGd1aWRlLSR7aX1gfVxuICAgICAgICAgICAgd2lkdGg9e2Ake2JhbGxTaXplICogMS4yfWVtYH1cbiAgICAgICAgICAgIGhlaWdodD17YCR7YmFsbFNpemUgKiAxLjJ9ZW1gfVxuICAgICAgICAgICAgeD17YCR7XG4gICAgICAgICAgICAgIHB1c2hCYWxsc1RvUmlnaHRCeSArXG4gICAgICAgICAgICAgIGkgKiBlYWNoQmFsbFdpZHRoRW0gLVxuICAgICAgICAgICAgICBwdXNoQmFsbHNUb0xlZnRCeSAtXG4gICAgICAgICAgICAgIHB1c2hUb0xlZnRcbiAgICAgICAgICAgIH1lbWB9XG4gICAgICAgICAgICB5PXtgJHsoZWFjaEJhbGxXaWR0aEVtIC0gYmFsbFNpemUgKiAxLjIpIC8gMn1lbWB9XG4gICAgICAgICAgICByeD17YCR7KGJhbGxTaXplICogMS4yKSAvIDJ9ZW1gfVxuICAgICAgICAgICAgb25DbGljaz17KCkgPT4ge1xuICAgICAgICAgICAgICBpZiAob25DbGlja1BhZ2UpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBwYWdlQ2xpY2tlZCA9XG4gICAgICAgICAgICAgICAgICAoIWlzQ2VudGVyUGFnZVxuICAgICAgICAgICAgICAgICAgICA/IHBhZ2VJbmRleCA+PSBpbmRleEZvckxhc3RQYWdlcyAtIDFcbiAgICAgICAgICAgICAgICAgICAgICA/IE1hdGguZmxvb3IocGFnZSkgLSByZXNldFBhZ2VJbmRleCAtIDFcbiAgICAgICAgICAgICAgICAgICAgICA6IDBcbiAgICAgICAgICAgICAgICAgICAgOiBNYXRoLmZsb29yKHBhZ2UpIC0gKGluZGV4Rm9yVGhlQmFsbHNDZW50ZXIgKyAxKSkgK1xuICAgICAgICAgICAgICAgICAgMSArXG4gICAgICAgICAgICAgICAgICBpO1xuICAgICAgICAgICAgICAgIG9uQ2xpY2tQYWdlKE1hdGgucm91bmQocGFnZUNsaWNrZWQpKTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfX1cbiAgICAgICAgICAvPlxuICAgICAgICApO1xuICAgICAgfSk7XG4gIH0sIFtpbmRleEZvclRoZUJhbGxzQ2VudGVyLCBwYWdlSW5kZXgsIHBhZ2VzXSk7XG4gIGNvbnN0IFtndWlkZUJhbGwsIC4uLnBhZ2VCYWxsc10gPSBiYWxscy5yZXZlcnNlKCk7XG4gIGxldCB3aWR0aCA9IGVhY2hCYWxsV2lkdGhFbSAqIE1hdGgubWluKHBhZ2VzLCBNQVhfQkFMTFMpICogMjtcbiAgaWYgKG1vZGUgPT09IFBhZ2luYXRpb25JbmRpY2F0b3JNb2RlLlNUQVJUKSB3aWR0aCAvPSAyO1xuXG4gIHJldHVybiAoXG4gICAgPHN2Z1xuICAgICAgdmVyc2lvbj1cIjEuMVwiXG4gICAgICB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCJcbiAgICAgIGNsYXNzTmFtZT17Y2xhc3NOYW1lfVxuICAgICAgc3R5bGU9e3tcbiAgICAgICAgd2lkdGg6IGAke3dpZHRofWVtYCxcbiAgICAgICAgbWluV2lkdGg6IGAke3dpZHRofWVtYCxcbiAgICAgICAgaGVpZ2h0OiBcIjEuMmVtXCIsXG4gICAgICAgIGZvbnRTaXplOiBgJHtzaXplfXB4YCxcbiAgICAgIH19XG4gICAgPlxuICAgICAgPGZpbHRlciBpZD17YGdvby0ke3JhbmR9YH0+XG4gICAgICAgIDxmZUdhdXNzaWFuQmx1ciBpbj1cIlNvdXJjZUdyYXBoaWNcIiByZXN1bHQ9XCJibHVyXCIgc3RkRGV2aWF0aW9uPVwiNVwiIC8+XG4gICAgICAgIDxmZUNvbG9yTWF0cml4XG4gICAgICAgICAgaW49XCJibHVyXCJcbiAgICAgICAgICBtb2RlPVwibWF0cml4XCJcbiAgICAgICAgICB2YWx1ZXM9XCIxIDAgMCAwIDAgIDAgMSAwIDAgMCAgMCAwIDEgMCAwICAwIDAgMCAxOCAtN1wiXG4gICAgICAgICAgcmVzdWx0PVwiZ29vXCJcbiAgICAgICAgLz5cbiAgICAgICAgPGZlQmxlbmQgaW4yPVwiZ29vXCIgaW49XCJTb3VyY2VHcmFwaGljXCIgcmVzdWx0PVwibWl4XCIgLz5cbiAgICAgIDwvZmlsdGVyPlxuICAgICAgPG1hc2sgaWQ9e2BtYXNrLSR7cmFuZH1gfT5cbiAgICAgICAgPGcgZmlsdGVyPXtgdXJsKCMke2Bnb28tJHtyYW5kfWB9KWB9IGZpbGw9XCIjZmZmXCI+XG4gICAgICAgICAge1twYWdlQmFsbHNdfVxuICAgICAgICAgIHtndWlkZUJhbGx9XG4gICAgICAgIDwvZz5cbiAgICAgIDwvbWFzaz5cbiAgICAgIDxyZWN0XG4gICAgICAgIHg9XCIwXCJcbiAgICAgICAgeT1cIjBcIlxuICAgICAgICBtYXNrPXtgdXJsKCMke2BtYXNrLSR7cmFuZH1gfSlgfVxuICAgICAgICB3aWR0aD1cIjEwMCVcIlxuICAgICAgICBoZWlnaHQ9XCIxMDAlXCJcbiAgICAgICAgc3R5bGU9e3sgZmlsbDogXCJ2YXIoLS1kaWdpdGFsLWJsdWUpXCIgfX1cbiAgICAgID48L3JlY3Q+XG4gICAgICB7b25DbGlja1BhZ2UgJiYgKFxuICAgICAgICA8ZyBvcGFjaXR5PXswfSBzdHlsZT17eyBjdXJzb3I6IFwicG9pbnRlclwiIH19PlxuICAgICAgICAgIHtwYWdlQmFsbHN9XG4gICAgICAgIDwvZz5cbiAgICAgICl9XG4gICAgPC9zdmc+XG4gICk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBBbmltYXRlZFBhZ2luYXRpb25JbmRpY2F0b3IoXG4gIHByb3BzOiBDb21wb25lbnRQcm9wczx0eXBlb2YgUGFnaW5hdGlvbkluZGljYXRvclZpZXc+ICYge1xuICAgIGR1cmF0aW9uOiBudW1iZXI7XG4gIH1cbikge1xuICBjb25zdCBwcmV2UGFnZSA9IHVzZVJlZihwcm9wcy5wYWdlKTtcbiAgY29uc3QgW3BhZ2VQcm9ncmVzcywgc2V0UGFnZVByb2dyZXNzXSA9IHVzZVN0YXRlKHByb3BzLnBhZ2UpO1xuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGNvbnN0IGRpZmYgPSBwcm9wcy5wYWdlIC0gcHJldlBhZ2UuY3VycmVudDtcbiAgICBjb25zdCBkaWZmUGVyU3RlcCA9IGRpZmYgLyA2MDtcblxuICAgIGNvbnN0IGludGVydmFsID0gc2V0SW50ZXJ2YWwoKCkgPT4ge1xuICAgICAgc2V0UGFnZVByb2dyZXNzKChwcmV2KSA9PiB7XG4gICAgICAgIGNvbnN0IG5leHQgPSBwcmV2ICsgZGlmZlBlclN0ZXA7XG4gICAgICAgIGlmIChkaWZmIDwgMCkge1xuICAgICAgICAgIGlmIChuZXh0IDw9IHByb3BzLnBhZ2UpIHtcbiAgICAgICAgICAgIGNsZWFySW50ZXJ2YWwoaW50ZXJ2YWwpO1xuICAgICAgICAgICAgcmV0dXJuIHByb3BzLnBhZ2U7XG4gICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGlmIChuZXh0ID49IHByb3BzLnBhZ2UpIHtcbiAgICAgICAgICAgIGNsZWFySW50ZXJ2YWwoaW50ZXJ2YWwpO1xuICAgICAgICAgICAgcmV0dXJuIHByb3BzLnBhZ2U7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiBOdW1iZXIobmV4dC50b0ZpeGVkKDIpKTtcbiAgICAgIH0pO1xuICAgIH0sIHByb3BzLmR1cmF0aW9uIC8gNjApO1xuXG4gICAgcmV0dXJuICgpID0+IHtcbiAgICAgIHByZXZQYWdlLmN1cnJlbnQgPSBwcm9wcy5wYWdlO1xuICAgICAgY2xlYXJJbnRlcnZhbChpbnRlcnZhbClcbiAgICB9O1xuICB9LCBbcHJvcHMucGFnZV0pO1xuXG4gIHJldHVybiA8UGFnaW5hdGlvbkluZGljYXRvclZpZXcgey4uLnByb3BzfSBwYWdlPXtwYWdlUHJvZ3Jlc3N9IC8+O1xufVxuXG5mdW5jdGlvbiBfUGFnaW5hdGlvbkluZGljYXRvcihcbiAge1xuICAgIHNjcm9sbGFibGVSZWYsXG4gICAgZXN0aW1hdGVkV2lkdGgsXG4gICAgc2l6ZSxcbiAgICBjbGFzc05hbWUgPSBcIlwiLFxuICAgIG9uQ2xpY2tQYWdlLFxuICB9OiB7XG4gICAgc2Nyb2xsYWJsZVJlZjogUmVmT2JqZWN0PEhUTUxEaXZFbGVtZW50PjtcbiAgICBlc3RpbWF0ZWRXaWR0aD86IG51bWJlcjtcbiAgICBzaXplOiBudW1iZXI7XG4gICAgY2xhc3NOYW1lPzogc3RyaW5nO1xuICAgIG9uQ2xpY2tQYWdlPzogKHBhZ2U6IG51bWJlcikgPT4gdm9pZDtcbiAgfSxcbiAgcmVmOiBGb3J3YXJkZWRSZWY8e1xuICAgIHJlZnJlc2hQYWdlczogKCkgPT4gdm9pZDtcbiAgfT5cbikge1xuICBjb25zdCBbY3VycmVudFBhZ2UsIHNldEN1cnJlbnRQYWdlXSA9IHVzZVN0YXRlKDEpO1xuXG4gIGNvbnN0IFtkZWZzLCBzZXREZWZzXSA9XG4gICAgdXNlU3RhdGU8e1xuICAgICAgcGFnZXM6IG51bWJlcjtcbiAgICB9PigpO1xuXG4gIGNvbnN0IHJlZnJlc2hQYWdlcyA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICBpZiAoIXNjcm9sbGFibGVSZWYuY3VycmVudCkgcmV0dXJuO1xuICAgIGNvbnN0IG1heFdpZHRoID1cbiAgICAgIGVzdGltYXRlZFdpZHRoID09PSB1bmRlZmluZWRcbiAgICAgICAgPyBzY3JvbGxhYmxlUmVmLmN1cnJlbnQhLnNjcm9sbFdpZHRoXG4gICAgICAgIDogZXN0aW1hdGVkV2lkdGg7XG5cbiAgICBjb25zdCBwYWdlcyA9IG1heFdpZHRoIC8gc2Nyb2xsYWJsZVJlZi5jdXJyZW50IS5jbGllbnRXaWR0aDtcbiAgICBpZiAocGFnZXMgPiAxKVxuICAgICAgc2V0RGVmcyh7XG4gICAgICAgIHBhZ2VzLFxuICAgICAgfSk7XG4gIH0sIFtlc3RpbWF0ZWRXaWR0aF0pO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiByZWZyZXNoUGFnZXMoKSwgW3JlZnJlc2hQYWdlc10pO1xuXG4gIGNvbnN0IHVwZGF0ZVBhZ2VJbmRpY2F0b3JzID0gdXNlQ2FsbGJhY2soXG4gICAgKHRhcmdldDogSFRNTERpdkVsZW1lbnQsIHBhZ2VzOiBudW1iZXIpID0+IHtcbiAgICAgIGlmICghc2Nyb2xsYWJsZVJlZi5jdXJyZW50KSByZXR1cm47XG4gICAgICBjb25zdCBlYWNoUGFnZVdpZHRoID0gc2Nyb2xsYWJsZVJlZi5jdXJyZW50IS5jbGllbnRXaWR0aDtcbiAgICAgIGNvbnN0IHBhZ2UgPSAxICsgdGFyZ2V0LnNjcm9sbExlZnQgLyBlYWNoUGFnZVdpZHRoO1xuICAgICAgY29uc3QgbGFzdFBhZ2VQcm9ncmVzcyA9IE1hdGguZmxvb3IocGFnZXMpICsgMTtcbiAgICAgIGNvbnN0IG1heGltdW1Qcm9ncmVzcyA9IHBhZ2VzICsgMTtcblxuICAgICAgY29uc3QgZGlmZlRvTWF4ID0gbWF4aW11bVByb2dyZXNzIC0gbGFzdFBhZ2VQcm9ncmVzcztcbiAgICAgIGNvbnN0IGN1cnJlbnRQcm9ncmVzc09uRGlmZiA9IHBhZ2UgLSBsYXN0UGFnZVByb2dyZXNzO1xuXG4gICAgICBpZiAocGFnZSA+IGxhc3RQYWdlUHJvZ3Jlc3MpXG4gICAgICAgIHNldEN1cnJlbnRQYWdlKGxhc3RQYWdlUHJvZ3Jlc3MgKyBjdXJyZW50UHJvZ3Jlc3NPbkRpZmYgLyBkaWZmVG9NYXgpO1xuICAgICAgZWxzZSBzZXRDdXJyZW50UGFnZShwYWdlKTtcbiAgICB9LFxuICAgIFtdXG4gICk7XG5cbiAgdXNlSW1wZXJhdGl2ZUhhbmRsZShcbiAgICByZWYsXG4gICAgKCkgPT4gKHtcbiAgICAgIHJlZnJlc2hQYWdlcyxcbiAgICB9KSxcbiAgICBbXVxuICApO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKCFkZWZzKSByZXR1cm47XG4gICAgY29uc3QgZWwgPSBzY3JvbGxhYmxlUmVmLmN1cnJlbnQhO1xuICAgIGNvbnN0IG9uU2Nyb2xsID0gKGU6IEV2ZW50KSA9PlxuICAgICAgdXBkYXRlUGFnZUluZGljYXRvcnMoZS5jdXJyZW50VGFyZ2V0IGFzIEhUTUxEaXZFbGVtZW50LCBkZWZzLnBhZ2VzKTtcbiAgICB1cGRhdGVQYWdlSW5kaWNhdG9ycyhlbCwgZGVmcy5wYWdlcyk7XG4gICAgZWwuYWRkRXZlbnRMaXN0ZW5lcihcInNjcm9sbFwiLCBvblNjcm9sbCwge1xuICAgICAgcGFzc2l2ZTogdHJ1ZSxcbiAgICB9KTtcbiAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgZWwucmVtb3ZlRXZlbnRMaXN0ZW5lcihcInNjcm9sbFwiLCBvblNjcm9sbCk7XG4gICAgfTtcbiAgfSwgW2RlZnNdKTtcblxuICBjb25zdCBwYWdlcyA9IHVzZU1lbW8oKCkgPT4gKGRlZnMgPyBkZWZzLnBhZ2VzIDogdW5kZWZpbmVkKSwgW2RlZnNdKTtcblxuICByZXR1cm4gIXBhZ2VzID8gbnVsbCA6IChcbiAgICA8UGFnaW5hdGlvbkluZGljYXRvclZpZXdcbiAgICAgIHBhZ2VzPXtwYWdlc31cbiAgICAgIHBhZ2U9e2N1cnJlbnRQYWdlfVxuICAgICAgc2l6ZT17c2l6ZX1cbiAgICAgIGNsYXNzTmFtZT17Y2xhc3NOYW1lfVxuICAgICAgb25DbGlja1BhZ2U9e29uQ2xpY2tQYWdlfVxuICAgIC8+XG4gICk7XG59XG5cbi8qKlxuICogQSBjb29sIGNvbXBvbmVudCB0byBpbmRpY2F0ZSBob3cgbWFueSBwYWdlcyBhcmVcbiAqKi9cbmNvbnN0IFBhZ2luYXRpb25JbmRpY2F0b3IgPSBmb3J3YXJkUmVmKF9QYWdpbmF0aW9uSW5kaWNhdG9yKTtcbmV4cG9ydCBkZWZhdWx0IFBhZ2luYXRpb25JbmRpY2F0b3I7XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7QUFBQSxJQUFBQSxNQUFBLEdBQUFDLHVCQUFBLENBQUFDLE9BQUE7QUFXZSxTQUFBQyx5QkFBQUMsV0FBQSxlQUFBQyxPQUFBLGtDQUFBQyxpQkFBQSxPQUFBRCxPQUFBLFFBQUFFLGdCQUFBLE9BQUFGLE9BQUEsWUFBQUYsd0JBQUEsWUFBQUEseUJBQUFDLFdBQUEsV0FBQUEsV0FBQSxHQUFBRyxnQkFBQSxHQUFBRCxpQkFBQSxLQUFBRixXQUFBO0FBQUEsU0FBQUgsd0JBQUFPLEdBQUEsRUFBQUosV0FBQSxTQUFBQSxXQUFBLElBQUFJLEdBQUEsSUFBQUEsR0FBQSxDQUFBQyxVQUFBLFdBQUFELEdBQUEsUUFBQUEsR0FBQSxhQUFBRSxPQUFBLENBQUFGLEdBQUEseUJBQUFBLEdBQUEsNEJBQUFHLE9BQUEsRUFBQUgsR0FBQSxVQUFBSSxLQUFBLEdBQUFULHdCQUFBLENBQUFDLFdBQUEsT0FBQVEsS0FBQSxJQUFBQSxLQUFBLENBQUFDLEdBQUEsQ0FBQUwsR0FBQSxZQUFBSSxLQUFBLENBQUFFLEdBQUEsQ0FBQU4sR0FBQSxTQUFBTyxNQUFBLFdBQUFDLHFCQUFBLEdBQUFDLE1BQUEsQ0FBQUMsY0FBQSxJQUFBRCxNQUFBLENBQUFFLHdCQUFBLFdBQUFDLEdBQUEsSUFBQVosR0FBQSxRQUFBWSxHQUFBLGtCQUFBSCxNQUFBLENBQUFJLFNBQUEsQ0FBQUMsY0FBQSxDQUFBQyxJQUFBLENBQUFmLEdBQUEsRUFBQVksR0FBQSxTQUFBSSxJQUFBLEdBQUFSLHFCQUFBLEdBQUFDLE1BQUEsQ0FBQUUsd0JBQUEsQ0FBQVgsR0FBQSxFQUFBWSxHQUFBLGNBQUFJLElBQUEsS0FBQUEsSUFBQSxDQUFBVixHQUFBLElBQUFVLElBQUEsQ0FB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
|
|
@@ -11,5 +11,8 @@ declare type Props = PropsWithChildren<{
|
|
|
11
11
|
y: number;
|
|
12
12
|
};
|
|
13
13
|
}> & DetailedHTMLProps<HTMLAttributes<HTMLDivElement>, HTMLDivElement>;
|
|
14
|
+
/**
|
|
15
|
+
* It holds a children and animates a tilt effect relative to mouse position
|
|
16
|
+
**/
|
|
14
17
|
declare const Parallax: React.ForwardRefExoticComponent<Omit<Props, "ref"> & React.RefAttributes<HTMLDivElement>>;
|
|
15
18
|
export default Parallax;
|
|
@@ -39,9 +39,6 @@ function calculateDistanceRelativeToBounds(mousePosition, elementInitialPosition
|
|
|
39
39
|
function givenTheRelativePositionHowMuchToRotate(relativePosition, maxRotation) {
|
|
40
40
|
return relativePosition * maxRotation - maxRotation / 2;
|
|
41
41
|
}
|
|
42
|
-
/**
|
|
43
|
-
* It holds a children and animates it according to mouse position
|
|
44
|
-
**/
|
|
45
42
|
function _Parallax(_ref, ref) {
|
|
46
43
|
let children = _ref.children,
|
|
47
44
|
_ref$className = _ref.className,
|
|
@@ -174,7 +171,11 @@ function _Parallax(_ref, ref) {
|
|
|
174
171
|
className: _ParallaxModule.default.reflection
|
|
175
172
|
}));
|
|
176
173
|
}
|
|
174
|
+
|
|
175
|
+
/**
|
|
176
|
+
* It holds a children and animates a tilt effect relative to mouse position
|
|
177
|
+
**/
|
|
177
178
|
const Parallax = /*#__PURE__*/(0, _react.forwardRef)(_Parallax);
|
|
178
179
|
var _default = Parallax;
|
|
179
180
|
exports.default = _default;
|
|
180
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfUGFyYWxsYXhNb2R1bGUiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwiX2xvZGFzaCIsIl9oZWxwZXJzIiwiX2V4Y2x1ZGVkIiwib2JqIiwiX19lc01vZHVsZSIsImRlZmF1bHQiLCJfZ2V0UmVxdWlyZVdpbGRjYXJkQ2FjaGUiLCJub2RlSW50ZXJvcCIsIldlYWtNYXAiLCJjYWNoZUJhYmVsSW50ZXJvcCIsImNhY2hlTm9kZUludGVyb3AiLCJfdHlwZW9mIiwiY2FjaGUiLCJoYXMiLCJnZXQiLCJuZXdPYmoiLCJoYXNQcm9wZXJ0eURlc2NyaXB0b3IiLCJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsImtleSIsInByb3RvdHlwZSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsImRlc2MiLCJzZXQiLCJfZXh0ZW5kcyIsImFzc2lnbiIsImJpbmQiLCJ0YXJnZXQiLCJpIiwiYXJndW1lbnRzIiwibGVuZ3RoIiwic291cmNlIiwiYXBwbHkiLCJfc2xpY2VkVG9BcnJheSIsImFyciIsIl9hcnJheVdpdGhIb2xlcyIsIl9pdGVyYWJsZVRvQXJyYXlMaW1pdCIsIl91bnN1cHBvcnRlZEl0ZXJhYmxlVG9BcnJheSIsIl9ub25JdGVyYWJsZVJlc3QiLCJUeXBlRXJyb3IiLCJvIiwibWluTGVuIiwiX2FycmF5TGlrZVRvQXJyYXkiLCJuIiwidG9TdHJpbmciLCJzbGljZSIsImNvbnN0cnVjdG9yIiwibmFtZSIsIkFycmF5IiwiZnJvbSIsInRlc3QiLCJsZW4iLCJhcnIyIiwiX2kiLCJTeW1ib2wiLCJpdGVyYXRvciIsIl9zIiwiX2UiLCJfeCIsIl9yIiwiX2FyciIsIl9uIiwiX2QiLCJuZXh0IiwiZG9uZSIsInB1c2giLCJ2YWx1ZSIsImVyciIsInJldHVybiIsImlzQXJyYXkiLCJfb2JqZWN0V2l0aG91dFByb3BlcnRpZXMiLCJleGNsdWRlZCIsIl9vYmplY3RXaXRob3V0UHJvcGVydGllc0xvb3NlIiwiZ2V0T3duUHJvcGVydHlTeW1ib2xzIiwic291cmNlU3ltYm9sS2V5cyIsImluZGV4T2YiLCJwcm9wZXJ0eUlzRW51bWVyYWJsZSIsInNvdXJjZUtleXMiLCJrZXlzIiwiTUFYSU1VTV9QQVJBTExBWCIsIngiLCJ5IiwiY2FsY3VsYXRlRGlzdGFuY2VSZWxhdGl2ZVRvQm91bmRzIiwibW91c2VQb3NpdGlvbiIsImVsZW1lbnRJbml0aWFsUG9zaXRpb24iLCJlbGVtZW50U2l6ZURpbWVuc2lvbiIsIm5vcm1hbGl6ZUluaXRpYWxQb3NpdGlvbiIsImRvTm90QWxsb3dHb2luZ0JleW9uZExvd2VyTGltaXQiLCJNYXRoIiwibWF4IiwiZG9Ob3RBbGxvd0hvaW5nQmV5b25kSGlnaGVyTGltaXQiLCJtaW4iLCJ0aHJlZVJ1bGUiLCJyZXN1bHQiLCJyb3VuZCIsImdpdmVuVGhlUmVsYXRpdmVQb3NpdGlvbkhvd011Y2hUb1JvdGF0ZSIsInJlbGF0aXZlUG9zaXRpb24iLCJtYXhSb3RhdGlvbiIsIl9QYXJhbGxheCIsIl9yZWYiLCJyZWYiLCJjaGlsZHJlbiIsIl9yZWYkY2xhc3NOYW1lIiwiY2xhc3NOYW1lIiwiYWN0aXZlIiwib25DbGljayIsInJlZmxlY3Rpb24iLCJfcmVmJG1heFBhcmFsbGF4IiwibWF4UGFyYWxsYXgiLCJwcm9wcyIsInBhcmFsbGF4YWJsZVJlZiIsInVzZVJlZiIsInJlZmxlY3Rpb25SZWYiLCJtdWx0aXBsaWVyUmVmIiwiaW5pdGlhbFBvc2l0aW9uUmVmIiwidXNlRWZmZWN0IiwiY3VycmVudCIsImVsIiwiZ2V0Q29tcHV0ZWRTdHlsZSIsInRyYW5zZm9ybSIsInN0eWxlIiwiY29uY2F0IiwidXBkYXRlUG9zaXRpb25zIiwicmVsYXRpdmVUb1giLCJyZWxhdGl2ZVRvWSIsInJlY3QiLCJnZXRCb3VuZGluZ0NsaWVudFJlY3QiLCJfd2lkdGgkaGVpZ2h0Iiwid2lkdGgiLCJsZWZ0IiwiY2xpZW50V2lkdGgiLCJoZWlnaHQiLCJ0b3AiLCJjbGllbnRIZWlnaHQiLCJfd2lkdGgkaGVpZ2h0JHdpZHRoIiwieDAiLCJ4VyIsIl93aWR0aCRoZWlnaHQkaGVpZ2h0IiwieTAiLCJ5SCIsImRpc3RhbmNlT2ZmUmlnaHQiLCJkaXN0YW5jZU9mZkJvdHRvbSIsImhvd011Y2hUb1JvdGF0ZVkiLCJob3dNdWNoVG9Sb3RhdGVYIiwiaG93TXVjaFRvT3BhY2lmeSIsImFicyIsImhvd011Y2hUb09wYWNpZnlIb3Jpem9udGFsIiwib3BhY2l0eSIsImhhbmRsZXIiLCJ0aHJvdHRsZSIsIl9yZWYyIiwidG91Y2hIYW5kbGVyIiwiX3JlZjMiLCJ0b3VjaGVzIiwiX3RvdWNoZXMkIiwicGFnZVgiLCJwYWdlWSIsIm1vdXNlRG93bkhhbmRsZXIiLCJtb3VzZVVwSGFuZGxlciIsIndpbmRvdyIsImFkZEV2ZW50TGlzdGVuZXIiLCJfaW52ZXJzZU1hdHJpeCIsIl9saW1pdHMiLCJiZXRhIiwidW5kZWZpbmVkIiwiZ2FtbWEiLCJvcmllbnRhdGlvbkxpc3RlbmVyIiwiX3JlZjQiLCJyZW1vdmVFdmVudExpc3RlbmVyIiwib2Zmc2V0IiwiX2JldGEiLCJfZ2FtbWEiLCJmbGF0dGVuTWF0cml4IiwiaW52ZXJ0TWF0cml4IiwiZ2VuZXJhdGVNYXRyaXhGcm9tT3BlcmF0aW9ucyIsInR5cGUiLCJhbmdsZSIsImpvaW4iLCJjcmVhdGVFbGVtZW50IiwiU3R5bGVzIiwicGFyYWxsYXgiLCJQYXJhbGxheCIsImZvcndhcmRSZWYiLCJfZGVmYXVsdCIsImV4cG9ydHMiXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29tcG9uZW50cy9QYXJhbGxheC9QYXJhbGxheC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7XG4gIERldGFpbGVkSFRNTFByb3BzLFxuICBGb3J3YXJkZWRSZWYsXG4gIGZvcndhcmRSZWYsXG4gIEhUTUxBdHRyaWJ1dGVzLFxuICBNdXRhYmxlUmVmT2JqZWN0LFxuICBQcm9wc1dpdGhDaGlsZHJlbixcbiAgdXNlRWZmZWN0LFxuICB1c2VSZWYsXG59IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IFN0eWxlcyBmcm9tIFwiLi9QYXJhbGxheC5tb2R1bGUuc2Nzc1wiO1xuaW1wb3J0IHsgdGhyb3R0bGUgfSBmcm9tIFwibG9kYXNoXCI7XG5pbXBvcnQge1xuICBmbGF0dGVuTWF0cml4LFxuICBnZW5lcmF0ZU1hdHJpeEZyb21PcGVyYXRpb25zLFxuICBpbnZlcnRNYXRyaXgsXG59IGZyb20gXCIuL21hdGgvaGVscGVyc1wiO1xuXG5jb25zdCBNQVhJTVVNX1BBUkFMTEFYID0ge1xuICB4OiAyMCxcbiAgeTogMjAsXG59O1xuXG5leHBvcnQgZnVuY3Rpb24gY2FsY3VsYXRlRGlzdGFuY2VSZWxhdGl2ZVRvQm91bmRzKFxuICBtb3VzZVBvc2l0aW9uOiBudW1iZXIsXG4gIGVsZW1lbnRJbml0aWFsUG9zaXRpb246IG51bWJlcixcbiAgZWxlbWVudFNpemVEaW1lbnNpb246IG51bWJlclxuKSB7XG4gIGNvbnN0IG5vcm1hbGl6ZUluaXRpYWxQb3NpdGlvbiA9IG1vdXNlUG9zaXRpb24gLSBlbGVtZW50SW5pdGlhbFBvc2l0aW9uO1xuICBjb25zdCBkb05vdEFsbG93R29pbmdCZXlvbmRMb3dlckxpbWl0ID0gTWF0aC5tYXgobm9ybWFsaXplSW5pdGlhbFBvc2l0aW9uLCAwKTtcbiAgY29uc3QgZG9Ob3RBbGxvd0hvaW5nQmV5b25kSGlnaGVyTGltaXQgPSBNYXRoLm1pbihcbiAgICBkb05vdEFsbG93R29pbmdCZXlvbmRMb3dlckxpbWl0LFxuICAgIGVsZW1lbnRTaXplRGltZW5zaW9uXG4gICk7XG4gIGNvbnN0IHRocmVlUnVsZSA9XG4gICAgKGRvTm90QWxsb3dIb2luZ0JleW9uZEhpZ2hlckxpbWl0ICogMTAwKSAvIGVsZW1lbnRTaXplRGltZW5zaW9uO1xuICBjb25zdCByZXN1bHQgPSBNYXRoLnJvdW5kKHRocmVlUnVsZSkgLyAxMDA7XG4gIHJldHVybiByZXN1bHQ7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnaXZlblRoZVJlbGF0aXZlUG9zaXRpb25Ib3dNdWNoVG9Sb3RhdGUoXG4gIHJlbGF0aXZlUG9zaXRpb246IG51bWJlcixcbiAgbWF4Um90YXRpb246IG51bWJlclxuKSB7XG4gIHJldHVybiByZWxhdGl2ZVBvc2l0aW9uICogbWF4Um90YXRpb24gLSBtYXhSb3RhdGlvbiAvIDI7XG59XG5cbnR5cGUgUHJvcHMgPSBQcm9wc1dpdGhDaGlsZHJlbjx7XG4gIGNsYXNzTmFtZT86IHN0cmluZztcbiAgYWN0aXZlOiBib29sZWFuO1xuICBvbkNsaWNrPzogKGU6IGFueSkgPT4gdm9pZDtcbiAgcmVmbGVjdGlvbj86IGJvb2xlYW47XG4gIG1heFBhcmFsbGF4Pzoge1xuICAgIHg6IG51bWJlcjtcbiAgICB5OiBudW1iZXI7XG4gIH07XG59PiAmXG4gIERldGFpbGVkSFRNTFByb3BzPEhUTUxBdHRyaWJ1dGVzPEhUTUxEaXZFbGVtZW50PiwgSFRNTERpdkVsZW1lbnQ+O1xuXG4vKipcbiAqIEl0IGhvbGRzIGEgY2hpbGRyZW4gYW5kIGFuaW1hdGVzIGl0IGFjY29yZGluZyB0byBtb3VzZSBwb3NpdGlvblxuICoqL1xuZnVuY3Rpb24gX1BhcmFsbGF4KFxuICB7XG4gICAgY2hpbGRyZW4sXG4gICAgY2xhc3NOYW1lID0gXCJcIixcbiAgICBhY3RpdmUsXG4gICAgb25DbGljayxcbiAgICByZWZsZWN0aW9uLFxuICAgIG1heFBhcmFsbGF4ID0gTUFYSU1VTV9QQVJBTExBWCxcbiAgICAuLi5wcm9wc1xuICB9OiBQcm9wcyxcbiAgcmVmOiBGb3J3YXJkZWRSZWY8SFRNTERpdkVsZW1lbnQ+XG4pIHtcbiAgY29uc3QgcGFyYWxsYXhhYmxlUmVmID0gdXNlUmVmPEhUTUxEaXZFbGVtZW50PihudWxsKTtcbiAgY29uc3QgcmVmbGVjdGlvblJlZiA9IHVzZVJlZjxIVE1MRGl2RWxlbWVudD4obnVsbCk7XG4gIGNvbnN0IG11bHRpcGxpZXJSZWYgPSB1c2VSZWY8bnVtYmVyPigxKTtcbiAgY29uc3QgaW5pdGlhbFBvc2l0aW9uUmVmID0gdXNlUmVmPHN0cmluZz4oKTtcbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAocmVmKVxuICAgICAgKHJlZiBhcyBNdXRhYmxlUmVmT2JqZWN0PEhUTUxEaXZFbGVtZW50PikuY3VycmVudCA9XG4gICAgICAgIHBhcmFsbGF4YWJsZVJlZi5jdXJyZW50ITtcbiAgICBjb25zdCBlbCA9IHBhcmFsbGF4YWJsZVJlZi5jdXJyZW50ITtcbiAgICBpZiAoYWN0aXZlICYmICFpbml0aWFsUG9zaXRpb25SZWYuY3VycmVudCkge1xuICAgICAgaW5pdGlhbFBvc2l0aW9uUmVmLmN1cnJlbnQgPSBnZXRDb21wdXRlZFN0eWxlKGVsKS50cmFuc2Zvcm07XG4gICAgICBpZiAoaW5pdGlhbFBvc2l0aW9uUmVmLmN1cnJlbnQgPT09IFwibm9uZVwiKVxuICAgICAgICBpbml0aWFsUG9zaXRpb25SZWYuY3VycmVudCA9IFwiXCI7XG4gICAgICBlbC5zdHlsZS50cmFuc2Zvcm0gPSBgJHtpbml0aWFsUG9zaXRpb25SZWYuY3VycmVudH0gcm90YXRlWCgwZGVnKSByb3RhdGVZKDBkZWcpIHRyYW5zbGF0ZVooMHB4KWA7XG4gICAgfVxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZVxuICB9LCBbYWN0aXZlXSk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBjb25zdCBlbCA9IHBhcmFsbGF4YWJsZVJlZi5jdXJyZW50ITtcbiAgICBpZiAoYWN0aXZlKSB7XG4gICAgICBjb25zdCB1cGRhdGVQb3NpdGlvbnMgPSAocmVsYXRpdmVUb1g6IG51bWJlciwgcmVsYXRpdmVUb1k6IG51bWJlcikgPT4ge1xuICAgICAgICBjb25zdCByZWN0ID0gZWwuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gICAgICAgIGNvbnN0IHtcbiAgICAgICAgICB3aWR0aDogW3gwLCB4V10sXG4gICAgICAgICAgaGVpZ2h0OiBbeTAsIHlIXSxcbiAgICAgICAgfSA9IHtcbiAgICAgICAgICB3aWR0aDogW3JlY3QubGVmdCwgZWwuY2xpZW50V2lkdGhdLFxuICAgICAgICAgIGhlaWdodDogW3JlY3QudG9wLCBlbC5jbGllbnRIZWlnaHRdLFxuICAgICAgICB9O1xuICAgICAgICBjb25zdCBkaXN0YW5jZU9mZlJpZ2h0ID0gY2FsY3VsYXRlRGlzdGFuY2VSZWxhdGl2ZVRvQm91bmRzKFxuICAgICAgICAgIHJlbGF0aXZlVG9YLFxuICAgICAgICAgIHgwLFxuICAgICAgICAgIHhXXG4gICAgICAgICk7XG4gICAgICAgIGNvbnN0IGRpc3RhbmNlT2ZmQm90dG9tID0gY2FsY3VsYXRlRGlzdGFuY2VSZWxhdGl2ZVRvQm91bmRzKFxuICAgICAgICAgIHJlbGF0aXZlVG9ZLFxuICAgICAgICAgIHkwLFxuICAgICAgICAgIHlIXG4gICAgICAgICk7XG4gICAgICAgIGNvbnN0IGhvd011Y2hUb1JvdGF0ZVkgPVxuICAgICAgICAgIGdpdmVuVGhlUmVsYXRpdmVQb3NpdGlvbkhvd011Y2hUb1JvdGF0ZShcbiAgICAgICAgICAgIGRpc3RhbmNlT2ZmUmlnaHQsXG4gICAgICAgICAgICBtYXhQYXJhbGxheC55XG4gICAgICAgICAgKSAqIG11bHRpcGxpZXJSZWYuY3VycmVudDtcbiAgICAgICAgY29uc3QgaG93TXVjaFRvUm90YXRlWCA9XG4gICAgICAgICAgZ2l2ZW5UaGVSZWxhdGl2ZVBvc2l0aW9uSG93TXVjaFRvUm90YXRlKFxuICAgICAgICAgICAgZGlzdGFuY2VPZmZCb3R0b20sXG4gICAgICAgICAgICBtYXhQYXJhbGxheC54XG4gICAgICAgICAgKSAqIG11bHRpcGxpZXJSZWYuY3VycmVudDtcblxuICAgICAgICBjb25zdCBob3dNdWNoVG9PcGFjaWZ5ID0gTWF0aC5hYnMoXG4gICAgICAgICAgTWF0aC5hYnMoZGlzdGFuY2VPZmZCb3R0b20gLSAwLjUpIC8gMC41XG4gICAgICAgICk7XG4gICAgICAgIGNvbnN0IGhvd011Y2hUb09wYWNpZnlIb3Jpem9udGFsID0gTWF0aC5tYXgoXG4gICAgICAgICAgTWF0aC5hYnMoTWF0aC5hYnMoZGlzdGFuY2VPZmZSaWdodCAtIDAuNSkgLyAwLjUpLFxuICAgICAgICAgIE1hdGguYWJzKE1hdGguYWJzKGRpc3RhbmNlT2ZmQm90dG9tIC0gMC41KSAvIDAuNSlcbiAgICAgICAgKTtcblxuICAgICAgICBlbC5zdHlsZS50cmFuc2Zvcm0gPSBgJHtcbiAgICAgICAgICBpbml0aWFsUG9zaXRpb25SZWYuY3VycmVudFxuICAgICAgICB9IHJvdGF0ZVkoJHtob3dNdWNoVG9Sb3RhdGVZfWRlZykgcm90YXRlWCgkey1ob3dNdWNoVG9Sb3RhdGVYfWRlZykgdHJhbnNsYXRlWigke1xuICAgICAgICAgIG11bHRpcGxpZXJSZWYuY3VycmVudCA9PT0gMSA/IDAgOiAtMzBcbiAgICAgICAgfXB4KWA7XG5cbiAgICAgICAgaWYgKHJlZmxlY3Rpb25SZWYuY3VycmVudCkge1xuICAgICAgICAgIHJlZmxlY3Rpb25SZWYuY3VycmVudC5zdHlsZS5sZWZ0ID0gYCR7KDEgLSBkaXN0YW5jZU9mZlJpZ2h0KSAqIDEwMH0lYDtcbiAgICAgICAgICByZWZsZWN0aW9uUmVmLmN1cnJlbnQuc3R5bGUudG9wID0gYCR7KDEgLSBkaXN0YW5jZU9mZkJvdHRvbSkgKiAxMDB9JWA7XG4gICAgICAgICAgcmVmbGVjdGlvblJlZi5jdXJyZW50LnN0eWxlLm9wYWNpdHkgPSBgJHtNYXRoLm1pbihcbiAgICAgICAgICAgIGhvd011Y2hUb09wYWNpZnksXG4gICAgICAgICAgICBob3dNdWNoVG9PcGFjaWZ5SG9yaXpvbnRhbFxuICAgICAgICAgICl9YDtcbiAgICAgICAgfVxuICAgICAgfTtcbiAgICAgIGNvbnN0IGhhbmRsZXIgPSB0aHJvdHRsZSgoeyB4LCB5IH06IE1vdXNlRXZlbnQpID0+IHtcbiAgICAgICAgdXBkYXRlUG9zaXRpb25zKHgsIHkpO1xuICAgICAgfSwgMTAwMCAvIDMwKTtcbiAgICAgIGNvbnN0IHRvdWNoSGFuZGxlciA9IHRocm90dGxlKCh7IHRvdWNoZXMgfTogVG91Y2hFdmVudCkgPT4ge1xuICAgICAgICBjb25zdCB7IHBhZ2VYLCBwYWdlWSB9ID0gdG91Y2hlc1swXTtcbiAgICAgICAgdXBkYXRlUG9zaXRpb25zKHBhZ2VYLCBwYWdlWSk7XG4gICAgICB9LCAxMDAwIC8gMzApO1xuICAgICAgY29uc3QgbW91c2VEb3duSGFuZGxlciA9ICgpID0+IHtcbiAgICAgICAgbXVsdGlwbGllclJlZi5jdXJyZW50ID0gMS41O1xuICAgICAgfTtcbiAgICAgIGNvbnN0IG1vdXNlVXBIYW5kbGVyID0gKCkgPT4ge1xuICAgICAgICBtdWx0aXBsaWVyUmVmLmN1cnJlbnQgPSAxO1xuICAgICAgfTtcbiAgICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKFwibW91c2Vtb3ZlXCIsIGhhbmRsZXIpO1xuICAgICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoXCJ0b3VjaG1vdmVcIiwgdG91Y2hIYW5kbGVyKTtcbiAgICAgIGxldCBfaW52ZXJzZU1hdHJpeDogbnVtYmVyW10gfCB1bmRlZmluZWQ7XG4gICAgICBjb25zdCBfbGltaXRzOiB7XG4gICAgICAgIFtrIGluIFwiYmV0YVwiIHwgXCJnYW1tYVwiXT86IFtudW1iZXIsIG51bWJlcl07XG4gICAgICB9ID0ge1xuICAgICAgICBiZXRhOiB1bmRlZmluZWQsXG4gICAgICAgIGdhbW1hOiB1bmRlZmluZWQsXG4gICAgICB9O1xuICAgICAgY29uc3Qgb3JpZW50YXRpb25MaXN0ZW5lcjogKGU6IERldmljZU9yaWVudGF0aW9uRXZlbnQpID0+IHZvaWQgPSAoe1xuICAgICAgICBiZXRhLFxuICAgICAgICBnYW1tYSxcbiAgICAgIH0pID0+IHtcbiAgICAgICAgYmV0YSA9IGJldGEhICogMC41O1xuICAgICAgICBnYW1tYSA9IGdhbW1hISAqIDAuNTtcbiAgICAgICAgaWYgKCFfaW52ZXJzZU1hdHJpeCkge1xuICAgICAgICAgIHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKFwibW91c2Vtb3ZlXCIsIGhhbmRsZXIpO1xuICAgICAgICAgIHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKFwidG91Y2htb3ZlXCIsIHRvdWNoSGFuZGxlcik7XG4gICAgICAgICAgY29uc3Qgb2Zmc2V0ID0gMTIuNTtcbiAgICAgICAgICBfbGltaXRzLmJldGEgPSBbYmV0YSEgLSBvZmZzZXQsIGJldGEhICsgb2Zmc2V0XTtcbiAgICAgICAgICBfbGltaXRzLmdhbW1hID0gW2dhbW1hISAtIG9mZnNldCwgZ2FtbWEhICsgb2Zmc2V0XTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBfYmV0YSA9IE1hdGgubWluKFxuICAgICAgICAgIF9saW1pdHMuYmV0YSFbMV0sXG4gICAgICAgICAgTWF0aC5tYXgoX2xpbWl0cy5iZXRhIVswXSwgYmV0YSEpXG4gICAgICAgICk7XG4gICAgICAgIGNvbnN0IF9nYW1tYSA9IE1hdGgubWluKFxuICAgICAgICAgIF9saW1pdHMuZ2FtbWEhWzFdLFxuICAgICAgICAgIE1hdGgubWF4KF9saW1pdHMuZ2FtbWEhWzBdLCBnYW1tYSEpXG4gICAgICAgICk7XG4gICAgICAgIGlmICghX2ludmVyc2VNYXRyaXgpIHtcbiAgICAgICAgICBfaW52ZXJzZU1hdHJpeCA9IGZsYXR0ZW5NYXRyaXgoXG4gICAgICAgICAgICBpbnZlcnRNYXRyaXgoXG4gICAgICAgICAgICAgIGdlbmVyYXRlTWF0cml4RnJvbU9wZXJhdGlvbnMoXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgdHlwZTogXCJyb3RhdGVZXCIsXG4gICAgICAgICAgICAgICAgICBhbmdsZTogX2dhbW1hISxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgIHR5cGU6IFwicm90YXRlWFwiLFxuICAgICAgICAgICAgICAgICAgYW5nbGU6IC1fYmV0YSEsXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICApXG4gICAgICAgICAgICApXG4gICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgICAgICBlbC5zdHlsZS50cmFuc2Zvcm0gPSBgbWF0cml4M2QoJHtfaW52ZXJzZU1hdHJpeC5qb2luKFxuICAgICAgICAgIFwiLFwiXG4gICAgICAgICl9KSByb3RhdGVYKCR7LV9iZXRhIX1kZWcpIHJvdGF0ZVkoJHtfZ2FtbWF9ZGVnKWA7XG4gICAgICB9O1xuICAgICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoXCJkZXZpY2VvcmllbnRhdGlvblwiLCBvcmllbnRhdGlvbkxpc3RlbmVyKTtcbiAgICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKFwidG91Y2hlbmRcIiwgKCkgPT4ge1xuICAgICAgICBfaW52ZXJzZU1hdHJpeCA9IHVuZGVmaW5lZDtcbiAgICAgIH0pO1xuICAgICAgZWwuYWRkRXZlbnRMaXN0ZW5lcihcInRvdWNoc3RhcnRcIiwgbW91c2VEb3duSGFuZGxlcik7XG4gICAgICBlbC5hZGRFdmVudExpc3RlbmVyKFwidG91Y2hlbmRcIiwgbW91c2VVcEhhbmRsZXIpO1xuICAgICAgZWwuYWRkRXZlbnRMaXN0ZW5lcihcIm1vdXNlZG93blwiLCBtb3VzZURvd25IYW5kbGVyKTtcbiAgICAgIGVsLmFkZEV2ZW50TGlzdGVuZXIoXCJtb3VzZXVwXCIsIG1vdXNlVXBIYW5kbGVyKTtcblxuICAgICAgcmV0dXJuICgpID0+IHtcbiAgICAgICAgd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoXCJkZXZpY2VvcmllbnRhdGlvblwiLCBvcmllbnRhdGlvbkxpc3RlbmVyKTtcbiAgICAgICAgd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoXCJtb3VzZW1vdmVcIiwgaGFuZGxlcik7XG4gICAgICAgIHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKFwidG91Y2htb3ZlXCIsIHRvdWNoSGFuZGxlcik7XG4gICAgICAgIGVsLnJlbW92ZUV2ZW50TGlzdGVuZXIoXCJtb3VzZWRvd25cIiwgbW91c2VEb3duSGFuZGxlcik7XG4gICAgICAgIGVsLnJlbW92ZUV2ZW50TGlzdGVuZXIoXCJtb3VzZXVwXCIsIG1vdXNlVXBIYW5kbGVyKTtcbiAgICAgICAgZWwucmVtb3ZlRXZlbnRMaXN0ZW5lcihcInRvdWNoc3RhcnRcIiwgbW91c2VEb3duSGFuZGxlcik7XG4gICAgICAgIGVsLnJlbW92ZUV2ZW50TGlzdGVuZXIoXCJ0b3VjaGVuZFwiLCBtb3VzZVVwSGFuZGxlcik7XG4gICAgICAgIC8vIGVsLnN0eWxlLnRyYW5zZm9ybSA9IGluaXRpYWxQb3NpdGlvblJlZi5jdXJyZW50ITtcbiAgICAgICAgZWwuc3R5bGUudHJhbnNmb3JtID0gYHJvdGF0ZVgoMGRlZykgcm90YXRlWSgwZGVnKSB0cmFuc2xhdGVaKDBweClgO1xuICAgICAgfTtcbiAgICB9XG4gIH0sIFthY3RpdmVdKTtcbiAgcmV0dXJuIChcbiAgICA8ZGl2XG4gICAgICBvbkNsaWNrPXtvbkNsaWNrfVxuICAgICAgcmVmPXtwYXJhbGxheGFibGVSZWZ9XG4gICAgICBjbGFzc05hbWU9e2Ake1N0eWxlcy5wYXJhbGxheH0gJHtjbGFzc05hbWV9YH1cbiAgICAgIHsuLi5wcm9wc31cbiAgICA+XG4gICAgICB7Y2hpbGRyZW59XG4gICAgICB7cmVmbGVjdGlvbiAmJiA8ZGl2IHJlZj17cmVmbGVjdGlvblJlZn0gY2xhc3NOYW1lPXtTdHlsZXMucmVmbGVjdGlvbn0gLz59XG4gICAgPC9kaXY+XG4gICk7XG59XG5cbmNvbnN0IFBhcmFsbGF4ID0gZm9yd2FyZFJlZihfUGFyYWxsYXgpO1xuZXhwb3J0IGRlZmF1bHQgUGFyYWxsYXg7XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQUFBLElBQUFBLE1BQUEsR0FBQUMsdUJBQUEsQ0FBQUMsT0FBQTtBQVVBLElBQUFDLGVBQUEsR0FBQUMsc0JBQUEsQ0FBQUYsT0FBQTtBQUNBLElBQUFHLE9BQUEsR0FBQUgsT0FBQTtBQUNBLElBQUFJLFFBQUEsR0FBQUosT0FBQTtBQUl3QixNQUFBSyxTQUFBO0FBQUEsU0FBQUgsdUJBQUFJLEdBQUEsV0FBQUEsR0FBQSxJQUFBQSxHQUFBLENBQUFDLFVBQUEsR0FBQUQsR0FBQSxLQUFBRSxPQUFBLEVB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
|
|
181
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfUGFyYWxsYXhNb2R1bGUiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwiX2xvZGFzaCIsIl9oZWxwZXJzIiwiX2V4Y2x1ZGVkIiwib2JqIiwiX19lc01vZHVsZSIsImRlZmF1bHQiLCJfZ2V0UmVxdWlyZVdpbGRjYXJkQ2FjaGUiLCJub2RlSW50ZXJvcCIsIldlYWtNYXAiLCJjYWNoZUJhYmVsSW50ZXJvcCIsImNhY2hlTm9kZUludGVyb3AiLCJfdHlwZW9mIiwiY2FjaGUiLCJoYXMiLCJnZXQiLCJuZXdPYmoiLCJoYXNQcm9wZXJ0eURlc2NyaXB0b3IiLCJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsImtleSIsInByb3RvdHlwZSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsImRlc2MiLCJzZXQiLCJfZXh0ZW5kcyIsImFzc2lnbiIsImJpbmQiLCJ0YXJnZXQiLCJpIiwiYXJndW1lbnRzIiwibGVuZ3RoIiwic291cmNlIiwiYXBwbHkiLCJfc2xpY2VkVG9BcnJheSIsImFyciIsIl9hcnJheVdpdGhIb2xlcyIsIl9pdGVyYWJsZVRvQXJyYXlMaW1pdCIsIl91bnN1cHBvcnRlZEl0ZXJhYmxlVG9BcnJheSIsIl9ub25JdGVyYWJsZVJlc3QiLCJUeXBlRXJyb3IiLCJvIiwibWluTGVuIiwiX2FycmF5TGlrZVRvQXJyYXkiLCJuIiwidG9TdHJpbmciLCJzbGljZSIsImNvbnN0cnVjdG9yIiwibmFtZSIsIkFycmF5IiwiZnJvbSIsInRlc3QiLCJsZW4iLCJhcnIyIiwiX2kiLCJTeW1ib2wiLCJpdGVyYXRvciIsIl9zIiwiX2UiLCJfeCIsIl9yIiwiX2FyciIsIl9uIiwiX2QiLCJuZXh0IiwiZG9uZSIsInB1c2giLCJ2YWx1ZSIsImVyciIsInJldHVybiIsImlzQXJyYXkiLCJfb2JqZWN0V2l0aG91dFByb3BlcnRpZXMiLCJleGNsdWRlZCIsIl9vYmplY3RXaXRob3V0UHJvcGVydGllc0xvb3NlIiwiZ2V0T3duUHJvcGVydHlTeW1ib2xzIiwic291cmNlU3ltYm9sS2V5cyIsImluZGV4T2YiLCJwcm9wZXJ0eUlzRW51bWVyYWJsZSIsInNvdXJjZUtleXMiLCJrZXlzIiwiTUFYSU1VTV9QQVJBTExBWCIsIngiLCJ5IiwiY2FsY3VsYXRlRGlzdGFuY2VSZWxhdGl2ZVRvQm91bmRzIiwibW91c2VQb3NpdGlvbiIsImVsZW1lbnRJbml0aWFsUG9zaXRpb24iLCJlbGVtZW50U2l6ZURpbWVuc2lvbiIsIm5vcm1hbGl6ZUluaXRpYWxQb3NpdGlvbiIsImRvTm90QWxsb3dHb2luZ0JleW9uZExvd2VyTGltaXQiLCJNYXRoIiwibWF4IiwiZG9Ob3RBbGxvd0hvaW5nQmV5b25kSGlnaGVyTGltaXQiLCJtaW4iLCJ0aHJlZVJ1bGUiLCJyZXN1bHQiLCJyb3VuZCIsImdpdmVuVGhlUmVsYXRpdmVQb3NpdGlvbkhvd011Y2hUb1JvdGF0ZSIsInJlbGF0aXZlUG9zaXRpb24iLCJtYXhSb3RhdGlvbiIsIl9QYXJhbGxheCIsIl9yZWYiLCJyZWYiLCJjaGlsZHJlbiIsIl9yZWYkY2xhc3NOYW1lIiwiY2xhc3NOYW1lIiwiYWN0aXZlIiwib25DbGljayIsInJlZmxlY3Rpb24iLCJfcmVmJG1heFBhcmFsbGF4IiwibWF4UGFyYWxsYXgiLCJwcm9wcyIsInBhcmFsbGF4YWJsZVJlZiIsInVzZVJlZiIsInJlZmxlY3Rpb25SZWYiLCJtdWx0aXBsaWVyUmVmIiwiaW5pdGlhbFBvc2l0aW9uUmVmIiwidXNlRWZmZWN0IiwiY3VycmVudCIsImVsIiwiZ2V0Q29tcHV0ZWRTdHlsZSIsInRyYW5zZm9ybSIsInN0eWxlIiwiY29uY2F0IiwidXBkYXRlUG9zaXRpb25zIiwicmVsYXRpdmVUb1giLCJyZWxhdGl2ZVRvWSIsInJlY3QiLCJnZXRCb3VuZGluZ0NsaWVudFJlY3QiLCJfd2lkdGgkaGVpZ2h0Iiwid2lkdGgiLCJsZWZ0IiwiY2xpZW50V2lkdGgiLCJoZWlnaHQiLCJ0b3AiLCJjbGllbnRIZWlnaHQiLCJfd2lkdGgkaGVpZ2h0JHdpZHRoIiwieDAiLCJ4VyIsIl93aWR0aCRoZWlnaHQkaGVpZ2h0IiwieTAiLCJ5SCIsImRpc3RhbmNlT2ZmUmlnaHQiLCJkaXN0YW5jZU9mZkJvdHRvbSIsImhvd011Y2hUb1JvdGF0ZVkiLCJob3dNdWNoVG9Sb3RhdGVYIiwiaG93TXVjaFRvT3BhY2lmeSIsImFicyIsImhvd011Y2hUb09wYWNpZnlIb3Jpem9udGFsIiwib3BhY2l0eSIsImhhbmRsZXIiLCJ0aHJvdHRsZSIsIl9yZWYyIiwidG91Y2hIYW5kbGVyIiwiX3JlZjMiLCJ0b3VjaGVzIiwiX3RvdWNoZXMkIiwicGFnZVgiLCJwYWdlWSIsIm1vdXNlRG93bkhhbmRsZXIiLCJtb3VzZVVwSGFuZGxlciIsIndpbmRvdyIsImFkZEV2ZW50TGlzdGVuZXIiLCJfaW52ZXJzZU1hdHJpeCIsIl9saW1pdHMiLCJiZXRhIiwidW5kZWZpbmVkIiwiZ2FtbWEiLCJvcmllbnRhdGlvbkxpc3RlbmVyIiwiX3JlZjQiLCJyZW1vdmVFdmVudExpc3RlbmVyIiwib2Zmc2V0IiwiX2JldGEiLCJfZ2FtbWEiLCJmbGF0dGVuTWF0cml4IiwiaW52ZXJ0TWF0cml4IiwiZ2VuZXJhdGVNYXRyaXhGcm9tT3BlcmF0aW9ucyIsInR5cGUiLCJhbmdsZSIsImpvaW4iLCJjcmVhdGVFbGVtZW50IiwiU3R5bGVzIiwicGFyYWxsYXgiLCJQYXJhbGxheCIsImZvcndhcmRSZWYiLCJfZGVmYXVsdCIsImV4cG9ydHMiXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29tcG9uZW50cy9QYXJhbGxheC9QYXJhbGxheC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7XG4gIERldGFpbGVkSFRNTFByb3BzLFxuICBGb3J3YXJkZWRSZWYsXG4gIGZvcndhcmRSZWYsXG4gIEhUTUxBdHRyaWJ1dGVzLFxuICBNdXRhYmxlUmVmT2JqZWN0LFxuICBQcm9wc1dpdGhDaGlsZHJlbixcbiAgdXNlRWZmZWN0LFxuICB1c2VSZWYsXG59IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IFN0eWxlcyBmcm9tIFwiLi9QYXJhbGxheC5tb2R1bGUuc2Nzc1wiO1xuaW1wb3J0IHsgdGhyb3R0bGUgfSBmcm9tIFwibG9kYXNoXCI7XG5pbXBvcnQge1xuICBmbGF0dGVuTWF0cml4LFxuICBnZW5lcmF0ZU1hdHJpeEZyb21PcGVyYXRpb25zLFxuICBpbnZlcnRNYXRyaXgsXG59IGZyb20gXCIuL21hdGgvaGVscGVyc1wiO1xuXG5jb25zdCBNQVhJTVVNX1BBUkFMTEFYID0ge1xuICB4OiAyMCxcbiAgeTogMjAsXG59O1xuXG5leHBvcnQgZnVuY3Rpb24gY2FsY3VsYXRlRGlzdGFuY2VSZWxhdGl2ZVRvQm91bmRzKFxuICBtb3VzZVBvc2l0aW9uOiBudW1iZXIsXG4gIGVsZW1lbnRJbml0aWFsUG9zaXRpb246IG51bWJlcixcbiAgZWxlbWVudFNpemVEaW1lbnNpb246IG51bWJlclxuKSB7XG4gIGNvbnN0IG5vcm1hbGl6ZUluaXRpYWxQb3NpdGlvbiA9IG1vdXNlUG9zaXRpb24gLSBlbGVtZW50SW5pdGlhbFBvc2l0aW9uO1xuICBjb25zdCBkb05vdEFsbG93R29pbmdCZXlvbmRMb3dlckxpbWl0ID0gTWF0aC5tYXgobm9ybWFsaXplSW5pdGlhbFBvc2l0aW9uLCAwKTtcbiAgY29uc3QgZG9Ob3RBbGxvd0hvaW5nQmV5b25kSGlnaGVyTGltaXQgPSBNYXRoLm1pbihcbiAgICBkb05vdEFsbG93R29pbmdCZXlvbmRMb3dlckxpbWl0LFxuICAgIGVsZW1lbnRTaXplRGltZW5zaW9uXG4gICk7XG4gIGNvbnN0IHRocmVlUnVsZSA9XG4gICAgKGRvTm90QWxsb3dIb2luZ0JleW9uZEhpZ2hlckxpbWl0ICogMTAwKSAvIGVsZW1lbnRTaXplRGltZW5zaW9uO1xuICBjb25zdCByZXN1bHQgPSBNYXRoLnJvdW5kKHRocmVlUnVsZSkgLyAxMDA7XG4gIHJldHVybiByZXN1bHQ7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnaXZlblRoZVJlbGF0aXZlUG9zaXRpb25Ib3dNdWNoVG9Sb3RhdGUoXG4gIHJlbGF0aXZlUG9zaXRpb246IG51bWJlcixcbiAgbWF4Um90YXRpb246IG51bWJlclxuKSB7XG4gIHJldHVybiByZWxhdGl2ZVBvc2l0aW9uICogbWF4Um90YXRpb24gLSBtYXhSb3RhdGlvbiAvIDI7XG59XG5cbnR5cGUgUHJvcHMgPSBQcm9wc1dpdGhDaGlsZHJlbjx7XG4gIGNsYXNzTmFtZT86IHN0cmluZztcbiAgYWN0aXZlOiBib29sZWFuO1xuICBvbkNsaWNrPzogKGU6IGFueSkgPT4gdm9pZDtcbiAgcmVmbGVjdGlvbj86IGJvb2xlYW47XG4gIG1heFBhcmFsbGF4Pzoge1xuICAgIHg6IG51bWJlcjtcbiAgICB5OiBudW1iZXI7XG4gIH07XG59PiAmXG4gIERldGFpbGVkSFRNTFByb3BzPEhUTUxBdHRyaWJ1dGVzPEhUTUxEaXZFbGVtZW50PiwgSFRNTERpdkVsZW1lbnQ+O1xuXG5mdW5jdGlvbiBfUGFyYWxsYXgoXG4gIHtcbiAgICBjaGlsZHJlbixcbiAgICBjbGFzc05hbWUgPSBcIlwiLFxuICAgIGFjdGl2ZSxcbiAgICBvbkNsaWNrLFxuICAgIHJlZmxlY3Rpb24sXG4gICAgbWF4UGFyYWxsYXggPSBNQVhJTVVNX1BBUkFMTEFYLFxuICAgIC4uLnByb3BzXG4gIH06IFByb3BzLFxuICByZWY6IEZvcndhcmRlZFJlZjxIVE1MRGl2RWxlbWVudD5cbikge1xuICBjb25zdCBwYXJhbGxheGFibGVSZWYgPSB1c2VSZWY8SFRNTERpdkVsZW1lbnQ+KG51bGwpO1xuICBjb25zdCByZWZsZWN0aW9uUmVmID0gdXNlUmVmPEhUTUxEaXZFbGVtZW50PihudWxsKTtcbiAgY29uc3QgbXVsdGlwbGllclJlZiA9IHVzZVJlZjxudW1iZXI+KDEpO1xuICBjb25zdCBpbml0aWFsUG9zaXRpb25SZWYgPSB1c2VSZWY8c3RyaW5nPigpO1xuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmIChyZWYpXG4gICAgICAocmVmIGFzIE11dGFibGVSZWZPYmplY3Q8SFRNTERpdkVsZW1lbnQ+KS5jdXJyZW50ID1cbiAgICAgICAgcGFyYWxsYXhhYmxlUmVmLmN1cnJlbnQhO1xuICAgIGNvbnN0IGVsID0gcGFyYWxsYXhhYmxlUmVmLmN1cnJlbnQhO1xuICAgIGlmIChhY3RpdmUgJiYgIWluaXRpYWxQb3NpdGlvblJlZi5jdXJyZW50KSB7XG4gICAgICBpbml0aWFsUG9zaXRpb25SZWYuY3VycmVudCA9IGdldENvbXB1dGVkU3R5bGUoZWwpLnRyYW5zZm9ybTtcbiAgICAgIGlmIChpbml0aWFsUG9zaXRpb25SZWYuY3VycmVudCA9PT0gXCJub25lXCIpXG4gICAgICAgIGluaXRpYWxQb3NpdGlvblJlZi5jdXJyZW50ID0gXCJcIjtcbiAgICAgIGVsLnN0eWxlLnRyYW5zZm9ybSA9IGAke2luaXRpYWxQb3NpdGlvblJlZi5jdXJyZW50fSByb3RhdGVYKDBkZWcpIHJvdGF0ZVkoMGRlZykgdHJhbnNsYXRlWigwcHgpYDtcbiAgICB9XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lXG4gIH0sIFthY3RpdmVdKTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGNvbnN0IGVsID0gcGFyYWxsYXhhYmxlUmVmLmN1cnJlbnQhO1xuICAgIGlmIChhY3RpdmUpIHtcbiAgICAgIGNvbnN0IHVwZGF0ZVBvc2l0aW9ucyA9IChyZWxhdGl2ZVRvWDogbnVtYmVyLCByZWxhdGl2ZVRvWTogbnVtYmVyKSA9PiB7XG4gICAgICAgIGNvbnN0IHJlY3QgPSBlbC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICAgICAgY29uc3Qge1xuICAgICAgICAgIHdpZHRoOiBbeDAsIHhXXSxcbiAgICAgICAgICBoZWlnaHQ6IFt5MCwgeUhdLFxuICAgICAgICB9ID0ge1xuICAgICAgICAgIHdpZHRoOiBbcmVjdC5sZWZ0LCBlbC5jbGllbnRXaWR0aF0sXG4gICAgICAgICAgaGVpZ2h0OiBbcmVjdC50b3AsIGVsLmNsaWVudEhlaWdodF0sXG4gICAgICAgIH07XG4gICAgICAgIGNvbnN0IGRpc3RhbmNlT2ZmUmlnaHQgPSBjYWxjdWxhdGVEaXN0YW5jZVJlbGF0aXZlVG9Cb3VuZHMoXG4gICAgICAgICAgcmVsYXRpdmVUb1gsXG4gICAgICAgICAgeDAsXG4gICAgICAgICAgeFdcbiAgICAgICAgKTtcbiAgICAgICAgY29uc3QgZGlzdGFuY2VPZmZCb3R0b20gPSBjYWxjdWxhdGVEaXN0YW5jZVJlbGF0aXZlVG9Cb3VuZHMoXG4gICAgICAgICAgcmVsYXRpdmVUb1ksXG4gICAgICAgICAgeTAsXG4gICAgICAgICAgeUhcbiAgICAgICAgKTtcbiAgICAgICAgY29uc3QgaG93TXVjaFRvUm90YXRlWSA9XG4gICAgICAgICAgZ2l2ZW5UaGVSZWxhdGl2ZVBvc2l0aW9uSG93TXVjaFRvUm90YXRlKFxuICAgICAgICAgICAgZGlzdGFuY2VPZmZSaWdodCxcbiAgICAgICAgICAgIG1heFBhcmFsbGF4LnlcbiAgICAgICAgICApICogbXVsdGlwbGllclJlZi5jdXJyZW50O1xuICAgICAgICBjb25zdCBob3dNdWNoVG9Sb3RhdGVYID1cbiAgICAgICAgICBnaXZlblRoZVJlbGF0aXZlUG9zaXRpb25Ib3dNdWNoVG9Sb3RhdGUoXG4gICAgICAgICAgICBkaXN0YW5jZU9mZkJvdHRvbSxcbiAgICAgICAgICAgIG1heFBhcmFsbGF4LnhcbiAgICAgICAgICApICogbXVsdGlwbGllclJlZi5jdXJyZW50O1xuXG4gICAgICAgIGNvbnN0IGhvd011Y2hUb09wYWNpZnkgPSBNYXRoLmFicyhcbiAgICAgICAgICBNYXRoLmFicyhkaXN0YW5jZU9mZkJvdHRvbSAtIDAuNSkgLyAwLjVcbiAgICAgICAgKTtcbiAgICAgICAgY29uc3QgaG93TXVjaFRvT3BhY2lmeUhvcml6b250YWwgPSBNYXRoLm1heChcbiAgICAgICAgICBNYXRoLmFicyhNYXRoLmFicyhkaXN0YW5jZU9mZlJpZ2h0IC0gMC41KSAvIDAuNSksXG4gICAgICAgICAgTWF0aC5hYnMoTWF0aC5hYnMoZGlzdGFuY2VPZmZCb3R0b20gLSAwLjUpIC8gMC41KVxuICAgICAgICApO1xuXG4gICAgICAgIGVsLnN0eWxlLnRyYW5zZm9ybSA9IGAke1xuICAgICAgICAgIGluaXRpYWxQb3NpdGlvblJlZi5jdXJyZW50XG4gICAgICAgIH0gcm90YXRlWSgke2hvd011Y2hUb1JvdGF0ZVl9ZGVnKSByb3RhdGVYKCR7LWhvd011Y2hUb1JvdGF0ZVh9ZGVnKSB0cmFuc2xhdGVaKCR7XG4gICAgICAgICAgbXVsdGlwbGllclJlZi5jdXJyZW50ID09PSAxID8gMCA6IC0zMFxuICAgICAgICB9cHgpYDtcblxuICAgICAgICBpZiAocmVmbGVjdGlvblJlZi5jdXJyZW50KSB7XG4gICAgICAgICAgcmVmbGVjdGlvblJlZi5jdXJyZW50LnN0eWxlLmxlZnQgPSBgJHsoMSAtIGRpc3RhbmNlT2ZmUmlnaHQpICogMTAwfSVgO1xuICAgICAgICAgIHJlZmxlY3Rpb25SZWYuY3VycmVudC5zdHlsZS50b3AgPSBgJHsoMSAtIGRpc3RhbmNlT2ZmQm90dG9tKSAqIDEwMH0lYDtcbiAgICAgICAgICByZWZsZWN0aW9uUmVmLmN1cnJlbnQuc3R5bGUub3BhY2l0eSA9IGAke01hdGgubWluKFxuICAgICAgICAgICAgaG93TXVjaFRvT3BhY2lmeSxcbiAgICAgICAgICAgIGhvd011Y2hUb09wYWNpZnlIb3Jpem9udGFsXG4gICAgICAgICAgKX1gO1xuICAgICAgICB9XG4gICAgICB9O1xuICAgICAgY29uc3QgaGFuZGxlciA9IHRocm90dGxlKCh7IHgsIHkgfTogTW91c2VFdmVudCkgPT4ge1xuICAgICAgICB1cGRhdGVQb3NpdGlvbnMoeCwgeSk7XG4gICAgICB9LCAxMDAwIC8gMzApO1xuICAgICAgY29uc3QgdG91Y2hIYW5kbGVyID0gdGhyb3R0bGUoKHsgdG91Y2hlcyB9OiBUb3VjaEV2ZW50KSA9PiB7XG4gICAgICAgIGNvbnN0IHsgcGFnZVgsIHBhZ2VZIH0gPSB0b3VjaGVzWzBdO1xuICAgICAgICB1cGRhdGVQb3NpdGlvbnMocGFnZVgsIHBhZ2VZKTtcbiAgICAgIH0sIDEwMDAgLyAzMCk7XG4gICAgICBjb25zdCBtb3VzZURvd25IYW5kbGVyID0gKCkgPT4ge1xuICAgICAgICBtdWx0aXBsaWVyUmVmLmN1cnJlbnQgPSAxLjU7XG4gICAgICB9O1xuICAgICAgY29uc3QgbW91c2VVcEhhbmRsZXIgPSAoKSA9PiB7XG4gICAgICAgIG11bHRpcGxpZXJSZWYuY3VycmVudCA9IDE7XG4gICAgICB9O1xuICAgICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoXCJtb3VzZW1vdmVcIiwgaGFuZGxlcik7XG4gICAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcihcInRvdWNobW92ZVwiLCB0b3VjaEhhbmRsZXIpO1xuICAgICAgbGV0IF9pbnZlcnNlTWF0cml4OiBudW1iZXJbXSB8IHVuZGVmaW5lZDtcbiAgICAgIGNvbnN0IF9saW1pdHM6IHtcbiAgICAgICAgW2sgaW4gXCJiZXRhXCIgfCBcImdhbW1hXCJdPzogW251bWJlciwgbnVtYmVyXTtcbiAgICAgIH0gPSB7XG4gICAgICAgIGJldGE6IHVuZGVmaW5lZCxcbiAgICAgICAgZ2FtbWE6IHVuZGVmaW5lZCxcbiAgICAgIH07XG4gICAgICBjb25zdCBvcmllbnRhdGlvbkxpc3RlbmVyOiAoZTogRGV2aWNlT3JpZW50YXRpb25FdmVudCkgPT4gdm9pZCA9ICh7XG4gICAgICAgIGJldGEsXG4gICAgICAgIGdhbW1hLFxuICAgICAgfSkgPT4ge1xuICAgICAgICBiZXRhID0gYmV0YSEgKiAwLjU7XG4gICAgICAgIGdhbW1hID0gZ2FtbWEhICogMC41O1xuICAgICAgICBpZiAoIV9pbnZlcnNlTWF0cml4KSB7XG4gICAgICAgICAgd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoXCJtb3VzZW1vdmVcIiwgaGFuZGxlcik7XG4gICAgICAgICAgd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoXCJ0b3VjaG1vdmVcIiwgdG91Y2hIYW5kbGVyKTtcbiAgICAgICAgICBjb25zdCBvZmZzZXQgPSAxMi41O1xuICAgICAgICAgIF9saW1pdHMuYmV0YSA9IFtiZXRhISAtIG9mZnNldCwgYmV0YSEgKyBvZmZzZXRdO1xuICAgICAgICAgIF9saW1pdHMuZ2FtbWEgPSBbZ2FtbWEhIC0gb2Zmc2V0LCBnYW1tYSEgKyBvZmZzZXRdO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IF9iZXRhID0gTWF0aC5taW4oXG4gICAgICAgICAgX2xpbWl0cy5iZXRhIVsxXSxcbiAgICAgICAgICBNYXRoLm1heChfbGltaXRzLmJldGEhWzBdLCBiZXRhISlcbiAgICAgICAgKTtcbiAgICAgICAgY29uc3QgX2dhbW1hID0gTWF0aC5taW4oXG4gICAgICAgICAgX2xpbWl0cy5nYW1tYSFbMV0sXG4gICAgICAgICAgTWF0aC5tYXgoX2xpbWl0cy5nYW1tYSFbMF0sIGdhbW1hISlcbiAgICAgICAgKTtcbiAgICAgICAgaWYgKCFfaW52ZXJzZU1hdHJpeCkge1xuICAgICAgICAgIF9pbnZlcnNlTWF0cml4ID0gZmxhdHRlbk1hdHJpeChcbiAgICAgICAgICAgIGludmVydE1hdHJpeChcbiAgICAgICAgICAgICAgZ2VuZXJhdGVNYXRyaXhGcm9tT3BlcmF0aW9ucyhcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICB0eXBlOiBcInJvdGF0ZVlcIixcbiAgICAgICAgICAgICAgICAgIGFuZ2xlOiBfZ2FtbWEhLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgdHlwZTogXCJyb3RhdGVYXCIsXG4gICAgICAgICAgICAgICAgICBhbmdsZTogLV9iZXRhISxcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIClcbiAgICAgICAgICAgIClcbiAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgICAgIGVsLnN0eWxlLnRyYW5zZm9ybSA9IGBtYXRyaXgzZCgke19pbnZlcnNlTWF0cml4LmpvaW4oXG4gICAgICAgICAgXCIsXCJcbiAgICAgICAgKX0pIHJvdGF0ZVgoJHstX2JldGEhfWRlZykgcm90YXRlWSgke19nYW1tYX1kZWcpYDtcbiAgICAgIH07XG4gICAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcihcImRldmljZW9yaWVudGF0aW9uXCIsIG9yaWVudGF0aW9uTGlzdGVuZXIpO1xuICAgICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoXCJ0b3VjaGVuZFwiLCAoKSA9PiB7XG4gICAgICAgIF9pbnZlcnNlTWF0cml4ID0gdW5kZWZpbmVkO1xuICAgICAgfSk7XG4gICAgICBlbC5hZGRFdmVudExpc3RlbmVyKFwidG91Y2hzdGFydFwiLCBtb3VzZURvd25IYW5kbGVyKTtcbiAgICAgIGVsLmFkZEV2ZW50TGlzdGVuZXIoXCJ0b3VjaGVuZFwiLCBtb3VzZVVwSGFuZGxlcik7XG4gICAgICBlbC5hZGRFdmVudExpc3RlbmVyKFwibW91c2Vkb3duXCIsIG1vdXNlRG93bkhhbmRsZXIpO1xuICAgICAgZWwuYWRkRXZlbnRMaXN0ZW5lcihcIm1vdXNldXBcIiwgbW91c2VVcEhhbmRsZXIpO1xuXG4gICAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgICB3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcihcImRldmljZW9yaWVudGF0aW9uXCIsIG9yaWVudGF0aW9uTGlzdGVuZXIpO1xuICAgICAgICB3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcihcIm1vdXNlbW92ZVwiLCBoYW5kbGVyKTtcbiAgICAgICAgd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoXCJ0b3VjaG1vdmVcIiwgdG91Y2hIYW5kbGVyKTtcbiAgICAgICAgZWwucmVtb3ZlRXZlbnRMaXN0ZW5lcihcIm1vdXNlZG93blwiLCBtb3VzZURvd25IYW5kbGVyKTtcbiAgICAgICAgZWwucmVtb3ZlRXZlbnRMaXN0ZW5lcihcIm1vdXNldXBcIiwgbW91c2VVcEhhbmRsZXIpO1xuICAgICAgICBlbC5yZW1vdmVFdmVudExpc3RlbmVyKFwidG91Y2hzdGFydFwiLCBtb3VzZURvd25IYW5kbGVyKTtcbiAgICAgICAgZWwucmVtb3ZlRXZlbnRMaXN0ZW5lcihcInRvdWNoZW5kXCIsIG1vdXNlVXBIYW5kbGVyKTtcbiAgICAgICAgLy8gZWwuc3R5bGUudHJhbnNmb3JtID0gaW5pdGlhbFBvc2l0aW9uUmVmLmN1cnJlbnQhO1xuICAgICAgICBlbC5zdHlsZS50cmFuc2Zvcm0gPSBgcm90YXRlWCgwZGVnKSByb3RhdGVZKDBkZWcpIHRyYW5zbGF0ZVooMHB4KWA7XG4gICAgICB9O1xuICAgIH1cbiAgfSwgW2FjdGl2ZV0pO1xuICByZXR1cm4gKFxuICAgIDxkaXZcbiAgICAgIG9uQ2xpY2s9e29uQ2xpY2t9XG4gICAgICByZWY9e3BhcmFsbGF4YWJsZVJlZn1cbiAgICAgIGNsYXNzTmFtZT17YCR7U3R5bGVzLnBhcmFsbGF4fSAke2NsYXNzTmFtZX1gfVxuICAgICAgey4uLnByb3BzfVxuICAgID5cbiAgICAgIHtjaGlsZHJlbn1cbiAgICAgIHtyZWZsZWN0aW9uICYmIDxkaXYgcmVmPXtyZWZsZWN0aW9uUmVmfSBjbGFzc05hbWU9e1N0eWxlcy5yZWZsZWN0aW9ufSAvPn1cbiAgICA8L2Rpdj5cbiAgKTtcbn1cblxuLyoqXG4gKiBJdCBob2xkcyBhIGNoaWxkcmVuIGFuZCBhbmltYXRlcyBhIHRpbHQgZWZmZWN0IHJlbGF0aXZlIHRvIG1vdXNlIHBvc2l0aW9uXG4gKiovXG5jb25zdCBQYXJhbGxheCA9IGZvcndhcmRSZWYoX1BhcmFsbGF4KTtcbmV4cG9ydCBkZWZhdWx0IFBhcmFsbGF4O1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFBQSxJQUFBQSxNQUFBLEdBQUFDLHVCQUFBLENBQUFDLE9BQUE7QUFVQSxJQUFBQyxlQUFBLEdBQUFDLHNCQUFBLENBQUFGLE9BQUE7QUFDQSxJQUFBRyxPQUFBLEdBQUFILE9BQUE7QUFDQSxJQUFBSSxRQUFBLEdBQUFKLE9BQUE7QUFJd0IsTUFBQUssU0FBQTtBQUFBLFNBQUFILHVCQUFBSSxHQUFBLFdBQUFBLEdBQUEsSUFBQUEsR0FBQSxDQUFBQyxVQUFBLEdBQUFELEdBQUEsS0FB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
|
|
@@ -1,5 +1,8 @@
|
|
|
1
1
|
import React from "react";
|
|
2
2
|
export declare type AVAILABLE_PASSWORD_VALIDATION_RULES = "size" | "duplication";
|
|
3
|
+
/**
|
|
4
|
+
* A Input based wrapper to handle inputing of password
|
|
5
|
+
**/
|
|
3
6
|
declare const PasswordInput: React.ForwardRefExoticComponent<(({
|
|
4
7
|
value: string;
|
|
5
8
|
error?: string | undefined;
|
|
@@ -39,10 +39,6 @@ const RULES = [{
|
|
|
39
39
|
return true;
|
|
40
40
|
}
|
|
41
41
|
}].concat(BASE_VALIDATION);
|
|
42
|
-
|
|
43
|
-
/**
|
|
44
|
-
* A Input based wrapper to handle inputing of password
|
|
45
|
-
**/
|
|
46
42
|
function _PasswordInput(props, ref) {
|
|
47
43
|
const _useState = (0, _react.useState)(false),
|
|
48
44
|
_useState2 = _slicedToArray(_useState, 2),
|
|
@@ -125,7 +121,11 @@ function _PasswordInput(props, ref) {
|
|
|
125
121
|
}, "- ", props.messages.invalidRules[R.code]);
|
|
126
122
|
})));
|
|
127
123
|
}
|
|
124
|
+
|
|
125
|
+
/**
|
|
126
|
+
* A Input based wrapper to handle inputing of password
|
|
127
|
+
**/
|
|
128
128
|
const PasswordInput = /*#__PURE__*/(0, _react.forwardRef)(_PasswordInput);
|
|
129
129
|
var _default = PasswordInput;
|
|
130
130
|
exports.default = _default;
|
|
131
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfT25lVUlQcm92aWRlciIsIl9JbnB1dCIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJfVGV4dCIsIl9QYXNzd29yZElucHV0TW9kdWxlIiwib2JqIiwiX19lc01vZHVsZSIsImRlZmF1bHQiLCJfZ2V0UmVxdWlyZVdpbGRjYXJkQ2FjaGUiLCJub2RlSW50ZXJvcCIsIldlYWtNYXAiLCJjYWNoZUJhYmVsSW50ZXJvcCIsImNhY2hlTm9kZUludGVyb3AiLCJfdHlwZW9mIiwiY2FjaGUiLCJoYXMiLCJnZXQiLCJuZXdPYmoiLCJoYXNQcm9wZXJ0eURlc2NyaXB0b3IiLCJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsImtleSIsInByb3RvdHlwZSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsImRlc2MiLCJzZXQiLCJfc2xpY2VkVG9BcnJheSIsImFyciIsImkiLCJfYXJyYXlXaXRoSG9sZXMiLCJfaXRlcmFibGVUb0FycmF5TGltaXQiLCJfdW5zdXBwb3J0ZWRJdGVyYWJsZVRvQXJyYXkiLCJfbm9uSXRlcmFibGVSZXN0IiwiVHlwZUVycm9yIiwibyIsIm1pbkxlbiIsIl9hcnJheUxpa2VUb0FycmF5IiwibiIsInRvU3RyaW5nIiwic2xpY2UiLCJjb25zdHJ1Y3RvciIsIm5hbWUiLCJBcnJheSIsImZyb20iLCJ0ZXN0IiwibGVuIiwibGVuZ3RoIiwiYXJyMiIsIl9pIiwiU3ltYm9sIiwiaXRlcmF0b3IiLCJfcyIsIl9lIiwiX3giLCJfciIsIl9hcnIiLCJfbiIsIl9kIiwibmV4dCIsImRvbmUiLCJwdXNoIiwidmFsdWUiLCJlcnIiLCJyZXR1cm4iLCJpc0FycmF5IiwiQkFTRV9WQUxJREFUSU9OIiwiY29kZSIsInZhbGlkYXRlIiwicGFzcyIsIlJVTEVTIiwiY2hhckNvZGUiLCJjaGFyQ29kZUF0IiwiZmlyc3ROZXh0Iiwic2Vjb25kTmV4dCIsImNvbmNhdCIsIl9QYXNzd29yZElucHV0IiwicHJvcHMiLCJyZWYiLCJfdXNlU3RhdGUiLCJ1c2VTdGF0ZSIsIl91c2VTdGF0ZTIiLCJpc1Bhc3N3b3JkVmlzaWJpbGUiLCJzZXRJUFYiLCJfdXNlT25lVUlDb25maWciLCJ1c2VPbmVVSUNvbmZpZyIsInBhc3N3b3JkSGlkZGVuIiwicGFzc3dvcmRWaXNpYmxlIiwiX3ZhbGlkYXRlUGFzc3dvcmQiLCJwYXNzd29yZCIsIm1vZGUiLCJyZWR1Y2UiLCJpc1ZhbGlkIiwiUiIsIm90aGVyUGFzc3dvcmQiLCJ1c2VJbXBlcmF0aXZlSGFuZGxlIiwidmFsaWRhdGVQYXNzd29yZCIsIl9vbkNoYW5nZSIsImUiLCJ0YXJnZXQiLCJvbkNoYW5nZSIsImNyZWF0ZUVsZW1lbnQiLCJjbGFzc05hbWUiLCJTdHlsZXMiLCJpbnB1dENvbnRhaW5lciIsImljb24iLCJ0eXBlIiwic3JjIiwib25Nb3VzZUxlYXZlIiwib25Nb3VzZURvd24iLCJvbk1vdXNlVXAiLCJvblRvdWNoTW92ZSIsIm9uVG91Y2hTdGFydCIsIm9uVG91Y2hFbmQiLCJlcnJvciIsIm1lc3NhZ2VzIiwicGFzc3dvcmRzQXJlRGlmZmVyZW50IiwiZGlzYWJsZWQiLCJwbGFjZWhvbGRlciIsInJ1bGVzIiwicnVsZXNUaXRsZSIsIm1hcCIsImludmFsaWRSdWxlcyIsIlBhc3N3b3JkSW5wdXQiLCJmb3J3YXJkUmVmIiwiX2RlZmF1bHQiLCJleHBvcnRzIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvUGFzc3dvcmRJbnB1dC9QYXNzd29yZElucHV0LnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHtcbiAgQ2hhbmdlRXZlbnQsXG4gIEZvcndhcmRlZFJlZixcbiAgZm9yd2FyZFJlZixcbiAgdXNlSW1wZXJhdGl2ZUhhbmRsZSxcbiAgdXNlU3RhdGUsXG59IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHsgdXNlT25lVUlDb25maWcgfSBmcm9tIFwiLi4vLi4vY29udGV4dC9PbmVVSVByb3ZpZGVyXCI7XG5pbXBvcnQgSW5wdXQgZnJvbSBcIi4uL0lucHV0XCI7XG5pbXBvcnQgVGV4dCBmcm9tIFwiLi4vVGV4dFwiO1xuaW1wb3J0IFN0eWxlcyBmcm9tIFwiLi9QYXNzd29yZElucHV0Lm1vZHVsZS5zY3NzXCI7XG5cbmV4cG9ydCB0eXBlIEFWQUlMQUJMRV9QQVNTV09SRF9WQUxJREFUSU9OX1JVTEVTID0gXCJzaXplXCIgfCBcImR1cGxpY2F0aW9uXCI7XG5cbmNvbnN0IEJBU0VfVkFMSURBVElPTiA9IFtcbiAgeyBjb2RlOiBcInNpemVcIiwgdmFsaWRhdGU6IChwYXNzOiBzdHJpbmcpID0+IHBhc3MubGVuZ3RoID49IDggfSxcbl0gYXMgY29uc3Q7XG5jb25zdCBSVUxFUyA9IFtcbiAge1xuICAgIGNvZGU6IFwiZHVwbGljYXRpb25cIixcbiAgICB2YWxpZGF0ZTogKHBhc3M6IHN0cmluZykgPT4ge1xuICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBwYXNzLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgIGNvbnN0IGNoYXJDb2RlID0gcGFzcy5jaGFyQ29kZUF0KGkpO1xuICAgICAgICBjb25zdCBbZmlyc3ROZXh0LCBzZWNvbmROZXh0XSA9IFtcbiAgICAgICAgICBwYXNzLmNoYXJDb2RlQXQoaSArIDEpIHx8IDAsXG4gICAgICAgICAgcGFzcy5jaGFyQ29kZUF0KGkgKyAyKSB8fCAwLFxuICAgICAgICBdO1xuXG4gICAgICAgIGlmIChmaXJzdE5leHQgLSBjaGFyQ29kZSA9PT0gMSAmJiBzZWNvbmROZXh0IC0gZmlyc3ROZXh0ID09PSAxKSB7XG4gICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9LFxuICB9LFxuICAuLi5CQVNFX1ZBTElEQVRJT04sXG5dIGFzIGNvbnN0O1xuXG4vKipcbiAqIEEgSW5wdXQgYmFzZWQgd3JhcHBlciB0byBoYW5kbGUgaW5wdXRpbmcgb2YgcGFzc3dvcmRcbiAqKi9cbmZ1bmN0aW9uIF9QYXNzd29yZElucHV0KFxuICBwcm9wczogKHtcbiAgICB2YWx1ZTogc3RyaW5nO1xuICAgIGVycm9yPzogc3RyaW5nO1xuICB9ICYgKFxuICAgIHwge1xuICAgICAgICBtb2RlOiBcImlucHV0XCI7XG4gICAgICAgIG9uQ2hhbmdlOiAocGFzc3dvcmQ6IHN0cmluZykgPT4gdm9pZDtcbiAgICAgIH1cbiAgICB8IHtcbiAgICAgICAgbW9kZTogXCJjcmVhdGlvblwiO1xuICAgICAgICBvbkNoYW5nZTogKHBhc3N3b3JkOiBzdHJpbmcsIGlzVmFsaWQ6IGJvb2xlYW4pID0+IHZvaWQ7XG4gICAgICAgIG1lc3NhZ2VzOiB7XG4gICAgICAgICAgaW52YWxpZFJ1bGVzOiB7IFtyIGluIEFWQUlMQUJMRV9QQVNTV09SRF9WQUxJREFUSU9OX1JVTEVTXTogc3RyaW5nIH07XG4gICAgICAgICAgcnVsZXNUaXRsZTogc3RyaW5nO1xuICAgICAgICB9O1xuICAgICAgfVxuICAgIHwge1xuICAgICAgICBtb2RlOiBcImNvbXBhcmlzaW9uXCI7XG4gICAgICAgIG90aGVyUGFzc3dvcmQ6IHN0cmluZztcbiAgICAgICAgb25DaGFuZ2U6IChwYXNzd29yZDogc3RyaW5nLCBpc0VxdWFsOiBib29sZWFuKSA9PiB2b2lkO1xuICAgICAgICBtZXNzYWdlczoge1xuICAgICAgICAgIHBhc3N3b3Jkc0FyZURpZmZlcmVudDogc3RyaW5nO1xuICAgICAgICB9O1xuICAgICAgfVxuICApKSAmXG4gICAgT21pdDxSZWFjdC5Db21wb25lbnRQcm9wczx0eXBlb2YgSW5wdXQ+LCBcInZhbHVlXCIgfCBcIm9uQ2hhbmdlXCIgfCBcInJlZlwiPixcbiAgcmVmOiBGb3J3YXJkZWRSZWY8eyB2YWxpZGF0ZVBhc3N3b3JkOiAocGFzczogc3RyaW5nKSA9PiBib29sZWFuIH0+XG4pIHtcbiAgY29uc3QgW2lzUGFzc3dvcmRWaXNpYmlsZSwgc2V0SVBWXSA9IHVzZVN0YXRlKGZhbHNlKTtcbiAgY29uc3QgeyBwYXNzd29yZEhpZGRlbiwgcGFzc3dvcmRWaXNpYmxlIH0gPSB1c2VPbmVVSUNvbmZpZyhcbiAgICBcImNvbXBvbmVudC5wYXNzd29yZElucHV0Lmljb25TcmNcIlxuICApO1xuICBmdW5jdGlvbiBfdmFsaWRhdGVQYXNzd29yZChwYXNzd29yZDogc3RyaW5nKSB7XG4gICAgc3dpdGNoIChwcm9wcy5tb2RlKSB7XG4gICAgICBjYXNlIFwiY3JlYXRpb25cIjpcbiAgICAgICAgcmV0dXJuIFJVTEVTLnJlZHVjZShcbiAgICAgICAgICAoaXNWYWxpZCwgUikgPT4gaXNWYWxpZCAmJiBSLnZhbGlkYXRlKHBhc3N3b3JkKSxcbiAgICAgICAgICB0cnVlIGFzIGJvb2xlYW5cbiAgICAgICAgKTtcbiAgICAgIGNhc2UgXCJjb21wYXJpc2lvblwiOlxuICAgICAgICByZXR1cm4gcGFzc3dvcmQgPT09IHByb3BzLm90aGVyUGFzc3dvcmQ7XG4gICAgICBjYXNlIFwiaW5wdXRcIjpcbiAgICAgICAgcmV0dXJuIEJBU0VfVkFMSURBVElPTi5yZWR1Y2UoXG4gICAgICAgICAgKGlzVmFsaWQsIFIpID0+IGlzVmFsaWQgJiYgUi52YWxpZGF0ZShwYXNzd29yZCksXG4gICAgICAgICAgdHJ1ZSBhcyBib29sZWFuXG4gICAgICAgICk7XG4gICAgfVxuICB9XG5cbiAgdXNlSW1wZXJhdGl2ZUhhbmRsZShyZWYsICgpID0+ICh7XG4gICAgdmFsaWRhdGVQYXNzd29yZDogKHBhc3MpID0+IF92YWxpZGF0ZVBhc3N3b3JkKHBhc3MpLFxuICB9KSk7XG5cbiAgZnVuY3Rpb24gX29uQ2hhbmdlKGU6IENoYW5nZUV2ZW50PEhUTUxJbnB1dEVsZW1lbnQ+KSB7XG4gICAgY29uc3QgcGFzc3dvcmQgPSBlLnRhcmdldC52YWx1ZTtcbiAgICBzd2l0Y2ggKHByb3BzLm1vZGUpIHtcbiAgICAgIGNhc2UgXCJjb21wYXJpc2lvblwiOlxuICAgICAgY2FzZSBcImNyZWF0aW9uXCI6XG4gICAgICAgIHByb3BzLm9uQ2hhbmdlKHBhc3N3b3JkLCBfdmFsaWRhdGVQYXNzd29yZChwYXNzd29yZCkpO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgXCJpbnB1dFwiOlxuICAgICAgICBwcm9wcy5vbkNoYW5nZShwYXNzd29yZCk7XG4gICAgICAgIGJyZWFrO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiAoXG4gICAgPGRpdiBjbGFzc05hbWU9e2Ake1N0eWxlcy5pbnB1dENvbnRhaW5lcn0gJHtTdHlsZXNbcHJvcHMubW9kZV19ICR7U3R5bGVzLmljb259YH0+XG4gICAgICA8SW5wdXRcbiAgICAgICAgdmFsdWU9e3Byb3BzLnZhbHVlfVxuICAgICAgICBvbkNoYW5nZT17X29uQ2hhbmdlfVxuICAgICAgICB0eXBlPXshaXNQYXNzd29yZFZpc2liaWxlID8gXCJwYXNzd29yZFwiIDogXCJcIn1cbiAgICAgICAgaWNvbj17e1xuICAgICAgICAgIHNyYzogaXNQYXNzd29yZFZpc2liaWxlID8gcGFzc3dvcmRIaWRkZW4gOiBwYXNzd29yZFZpc2libGUsXG4gICAgICAgICAgb25Nb3VzZUxlYXZlOiAoKSA9PiBzZXRJUFYoZmFsc2UpLFxuICAgICAgICAgIG9uTW91c2VEb3duOiAoKSA9PiBzZXRJUFYodHJ1ZSksXG4gICAgICAgICAgb25Nb3VzZVVwOiAoKSA9PiBzZXRJUFYoZmFsc2UpLFxuICAgICAgICAgIG9uVG91Y2hNb3ZlOiAoKSA9PiBzZXRJUFYoZmFsc2UpLFxuICAgICAgICAgIG9uVG91Y2hTdGFydDogKCkgPT4gc2V0SVBWKHRydWUpLFxuICAgICAgICAgIG9uVG91Y2hFbmQ6ICgpID0+IHNldElQVihmYWxzZSksXG4gICAgICAgIH19XG4gICAgICAgIGVycm9yPXtcbiAgICAgICAgICBwcm9wcy5tb2RlID09PSBcImNvbXBhcmlzaW9uXCIgJiYgIV92YWxpZGF0ZVBhc3N3b3JkKHByb3BzLnZhbHVlKVxuICAgICAgICAgICAgPyBwcm9wcy5tZXNzYWdlcy5wYXNzd29yZHNBcmVEaWZmZXJlbnRcbiAgICAgICAgICAgIDogcHJvcHMuZXJyb3JcbiAgICAgICAgfVxuICAgICAgICBkaXNhYmxlZD17cHJvcHMuZGlzYWJsZWR9XG4gICAgICAgIHBsYWNlaG9sZGVyPXtwcm9wcy5wbGFjZWhvbGRlcn1cbiAgICAgIC8+XG4gICAgICB7cHJvcHMubW9kZSA9PT0gXCJjcmVhdGlvblwiICYmIChcbiAgICAgICAgPGRpdiBjbGFzc05hbWU9e1N0eWxlcy5ydWxlc30gZGF0YS10ZXN0aWQ9XCJwYXNzd29yZC1ydWxlc1wiPlxuICAgICAgICAgIDxUZXh0IHR5cGU9XCJjYXB0aW9uXCI+e3Byb3BzLm1lc3NhZ2VzLnJ1bGVzVGl0bGV9PC9UZXh0PlxuICAgICAgICAgIHtSVUxFUy5tYXAoKFIpID0+IChcbiAgICAgICAgICAgIDxUZXh0XG4gICAgICAgICAgICAgIGtleT17Ui5jb2RlfVxuICAgICAgICAgICAgICB0eXBlPXtSLnZhbGlkYXRlKHByb3BzLnZhbHVlKSA/IFwiY2FwdGlvblwiIDogXCJlcnJvclwifVxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAtIHtwcm9wcy5tZXNzYWdlcy5pbnZhbGlkUnVsZXNbUi5jb2RlXX1cbiAgICAgICAgICAgIDwvVGV4dD5cbiAgICAgICAgICApKX1cbiAgICAgICAgPC9kaXY+XG4gICAgICApfVxuICAgIDwvZGl2PlxuICApO1xufVxuXG5jb25zdCBQYXNzd29yZElucHV0ID0gZm9yd2FyZFJlZihfUGFzc3dvcmRJbnB1dCk7XG5leHBvcnQgZGVmYXVsdCBQYXNzd29yZElucHV0O1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBQUEsSUFBQUEsTUFBQSxHQUFBQyx1QkFBQSxDQUFBQyxPQUFBO0FBT0EsSUFBQUMsY0FBQSxHQUFBRCxPQUFBO0FBQ0EsSUFBQUUsTUFBQSxHQUFBQyxzQkFBQSxDQUFBSCxPQUFBO0FBQ0EsSUFBQUksS0FBQSxHQUFBRCxzQkFBQSxDQUFBSCxPQUFBO0FBQ0EsSUFBQUssb0JBQUEsR0FBQUYsc0JBQUEsQ0FBQUgsT0FBQTtBQUFpRCxTQUFBRyx1QkFB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
|
|
131
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfT25lVUlQcm92aWRlciIsIl9JbnB1dCIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJfVGV4dCIsIl9QYXNzd29yZElucHV0TW9kdWxlIiwib2JqIiwiX19lc01vZHVsZSIsImRlZmF1bHQiLCJfZ2V0UmVxdWlyZVdpbGRjYXJkQ2FjaGUiLCJub2RlSW50ZXJvcCIsIldlYWtNYXAiLCJjYWNoZUJhYmVsSW50ZXJvcCIsImNhY2hlTm9kZUludGVyb3AiLCJfdHlwZW9mIiwiY2FjaGUiLCJoYXMiLCJnZXQiLCJuZXdPYmoiLCJoYXNQcm9wZXJ0eURlc2NyaXB0b3IiLCJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsImtleSIsInByb3RvdHlwZSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsImRlc2MiLCJzZXQiLCJfc2xpY2VkVG9BcnJheSIsImFyciIsImkiLCJfYXJyYXlXaXRoSG9sZXMiLCJfaXRlcmFibGVUb0FycmF5TGltaXQiLCJfdW5zdXBwb3J0ZWRJdGVyYWJsZVRvQXJyYXkiLCJfbm9uSXRlcmFibGVSZXN0IiwiVHlwZUVycm9yIiwibyIsIm1pbkxlbiIsIl9hcnJheUxpa2VUb0FycmF5IiwibiIsInRvU3RyaW5nIiwic2xpY2UiLCJjb25zdHJ1Y3RvciIsIm5hbWUiLCJBcnJheSIsImZyb20iLCJ0ZXN0IiwibGVuIiwibGVuZ3RoIiwiYXJyMiIsIl9pIiwiU3ltYm9sIiwiaXRlcmF0b3IiLCJfcyIsIl9lIiwiX3giLCJfciIsIl9hcnIiLCJfbiIsIl9kIiwibmV4dCIsImRvbmUiLCJwdXNoIiwidmFsdWUiLCJlcnIiLCJyZXR1cm4iLCJpc0FycmF5IiwiQkFTRV9WQUxJREFUSU9OIiwiY29kZSIsInZhbGlkYXRlIiwicGFzcyIsIlJVTEVTIiwiY2hhckNvZGUiLCJjaGFyQ29kZUF0IiwiZmlyc3ROZXh0Iiwic2Vjb25kTmV4dCIsImNvbmNhdCIsIl9QYXNzd29yZElucHV0IiwicHJvcHMiLCJyZWYiLCJfdXNlU3RhdGUiLCJ1c2VTdGF0ZSIsIl91c2VTdGF0ZTIiLCJpc1Bhc3N3b3JkVmlzaWJpbGUiLCJzZXRJUFYiLCJfdXNlT25lVUlDb25maWciLCJ1c2VPbmVVSUNvbmZpZyIsInBhc3N3b3JkSGlkZGVuIiwicGFzc3dvcmRWaXNpYmxlIiwiX3ZhbGlkYXRlUGFzc3dvcmQiLCJwYXNzd29yZCIsIm1vZGUiLCJyZWR1Y2UiLCJpc1ZhbGlkIiwiUiIsIm90aGVyUGFzc3dvcmQiLCJ1c2VJbXBlcmF0aXZlSGFuZGxlIiwidmFsaWRhdGVQYXNzd29yZCIsIl9vbkNoYW5nZSIsImUiLCJ0YXJnZXQiLCJvbkNoYW5nZSIsImNyZWF0ZUVsZW1lbnQiLCJjbGFzc05hbWUiLCJTdHlsZXMiLCJpbnB1dENvbnRhaW5lciIsImljb24iLCJ0eXBlIiwic3JjIiwib25Nb3VzZUxlYXZlIiwib25Nb3VzZURvd24iLCJvbk1vdXNlVXAiLCJvblRvdWNoTW92ZSIsIm9uVG91Y2hTdGFydCIsIm9uVG91Y2hFbmQiLCJlcnJvciIsIm1lc3NhZ2VzIiwicGFzc3dvcmRzQXJlRGlmZmVyZW50IiwiZGlzYWJsZWQiLCJwbGFjZWhvbGRlciIsInJ1bGVzIiwicnVsZXNUaXRsZSIsIm1hcCIsImludmFsaWRSdWxlcyIsIlBhc3N3b3JkSW5wdXQiLCJmb3J3YXJkUmVmIiwiX2RlZmF1bHQiLCJleHBvcnRzIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvUGFzc3dvcmRJbnB1dC9QYXNzd29yZElucHV0LnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHtcbiAgQ2hhbmdlRXZlbnQsXG4gIEZvcndhcmRlZFJlZixcbiAgZm9yd2FyZFJlZixcbiAgdXNlSW1wZXJhdGl2ZUhhbmRsZSxcbiAgdXNlU3RhdGUsXG59IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHsgdXNlT25lVUlDb25maWcgfSBmcm9tIFwiLi4vLi4vY29udGV4dC9PbmVVSVByb3ZpZGVyXCI7XG5pbXBvcnQgSW5wdXQgZnJvbSBcIi4uL0lucHV0XCI7XG5pbXBvcnQgVGV4dCBmcm9tIFwiLi4vVGV4dFwiO1xuaW1wb3J0IFN0eWxlcyBmcm9tIFwiLi9QYXNzd29yZElucHV0Lm1vZHVsZS5zY3NzXCI7XG5cbmV4cG9ydCB0eXBlIEFWQUlMQUJMRV9QQVNTV09SRF9WQUxJREFUSU9OX1JVTEVTID0gXCJzaXplXCIgfCBcImR1cGxpY2F0aW9uXCI7XG5cbmNvbnN0IEJBU0VfVkFMSURBVElPTiA9IFtcbiAgeyBjb2RlOiBcInNpemVcIiwgdmFsaWRhdGU6IChwYXNzOiBzdHJpbmcpID0+IHBhc3MubGVuZ3RoID49IDggfSxcbl0gYXMgY29uc3Q7XG5jb25zdCBSVUxFUyA9IFtcbiAge1xuICAgIGNvZGU6IFwiZHVwbGljYXRpb25cIixcbiAgICB2YWxpZGF0ZTogKHBhc3M6IHN0cmluZykgPT4ge1xuICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBwYXNzLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgIGNvbnN0IGNoYXJDb2RlID0gcGFzcy5jaGFyQ29kZUF0KGkpO1xuICAgICAgICBjb25zdCBbZmlyc3ROZXh0LCBzZWNvbmROZXh0XSA9IFtcbiAgICAgICAgICBwYXNzLmNoYXJDb2RlQXQoaSArIDEpIHx8IDAsXG4gICAgICAgICAgcGFzcy5jaGFyQ29kZUF0KGkgKyAyKSB8fCAwLFxuICAgICAgICBdO1xuXG4gICAgICAgIGlmIChmaXJzdE5leHQgLSBjaGFyQ29kZSA9PT0gMSAmJiBzZWNvbmROZXh0IC0gZmlyc3ROZXh0ID09PSAxKSB7XG4gICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9LFxuICB9LFxuICAuLi5CQVNFX1ZBTElEQVRJT04sXG5dIGFzIGNvbnN0O1xuXG5mdW5jdGlvbiBfUGFzc3dvcmRJbnB1dChcbiAgcHJvcHM6ICh7XG4gICAgdmFsdWU6IHN0cmluZztcbiAgICBlcnJvcj86IHN0cmluZztcbiAgfSAmIChcbiAgICB8IHtcbiAgICAgICAgbW9kZTogXCJpbnB1dFwiO1xuICAgICAgICBvbkNoYW5nZTogKHBhc3N3b3JkOiBzdHJpbmcpID0+IHZvaWQ7XG4gICAgICB9XG4gICAgfCB7XG4gICAgICAgIG1vZGU6IFwiY3JlYXRpb25cIjtcbiAgICAgICAgb25DaGFuZ2U6IChwYXNzd29yZDogc3RyaW5nLCBpc1ZhbGlkOiBib29sZWFuKSA9PiB2b2lkO1xuICAgICAgICBtZXNzYWdlczoge1xuICAgICAgICAgIGludmFsaWRSdWxlczogeyBbciBpbiBBVkFJTEFCTEVfUEFTU1dPUkRfVkFMSURBVElPTl9SVUxFU106IHN0cmluZyB9O1xuICAgICAgICAgIHJ1bGVzVGl0bGU6IHN0cmluZztcbiAgICAgICAgfTtcbiAgICAgIH1cbiAgICB8IHtcbiAgICAgICAgbW9kZTogXCJjb21wYXJpc2lvblwiO1xuICAgICAgICBvdGhlclBhc3N3b3JkOiBzdHJpbmc7XG4gICAgICAgIG9uQ2hhbmdlOiAocGFzc3dvcmQ6IHN0cmluZywgaXNFcXVhbDogYm9vbGVhbikgPT4gdm9pZDtcbiAgICAgICAgbWVzc2FnZXM6IHtcbiAgICAgICAgICBwYXNzd29yZHNBcmVEaWZmZXJlbnQ6IHN0cmluZztcbiAgICAgICAgfTtcbiAgICAgIH1cbiAgKSkgJlxuICAgIE9taXQ8UmVhY3QuQ29tcG9uZW50UHJvcHM8dHlwZW9mIElucHV0PiwgXCJ2YWx1ZVwiIHwgXCJvbkNoYW5nZVwiIHwgXCJyZWZcIj4sXG4gIHJlZjogRm9yd2FyZGVkUmVmPHsgdmFsaWRhdGVQYXNzd29yZDogKHBhc3M6IHN0cmluZykgPT4gYm9vbGVhbiB9PlxuKSB7XG4gIGNvbnN0IFtpc1Bhc3N3b3JkVmlzaWJpbGUsIHNldElQVl0gPSB1c2VTdGF0ZShmYWxzZSk7XG4gIGNvbnN0IHsgcGFzc3dvcmRIaWRkZW4sIHBhc3N3b3JkVmlzaWJsZSB9ID0gdXNlT25lVUlDb25maWcoXG4gICAgXCJjb21wb25lbnQucGFzc3dvcmRJbnB1dC5pY29uU3JjXCJcbiAgKTtcbiAgZnVuY3Rpb24gX3ZhbGlkYXRlUGFzc3dvcmQocGFzc3dvcmQ6IHN0cmluZykge1xuICAgIHN3aXRjaCAocHJvcHMubW9kZSkge1xuICAgICAgY2FzZSBcImNyZWF0aW9uXCI6XG4gICAgICAgIHJldHVybiBSVUxFUy5yZWR1Y2UoXG4gICAgICAgICAgKGlzVmFsaWQsIFIpID0+IGlzVmFsaWQgJiYgUi52YWxpZGF0ZShwYXNzd29yZCksXG4gICAgICAgICAgdHJ1ZSBhcyBib29sZWFuXG4gICAgICAgICk7XG4gICAgICBjYXNlIFwiY29tcGFyaXNpb25cIjpcbiAgICAgICAgcmV0dXJuIHBhc3N3b3JkID09PSBwcm9wcy5vdGhlclBhc3N3b3JkO1xuICAgICAgY2FzZSBcImlucHV0XCI6XG4gICAgICAgIHJldHVybiBCQVNFX1ZBTElEQVRJT04ucmVkdWNlKFxuICAgICAgICAgIChpc1ZhbGlkLCBSKSA9PiBpc1ZhbGlkICYmIFIudmFsaWRhdGUocGFzc3dvcmQpLFxuICAgICAgICAgIHRydWUgYXMgYm9vbGVhblxuICAgICAgICApO1xuICAgIH1cbiAgfVxuXG4gIHVzZUltcGVyYXRpdmVIYW5kbGUocmVmLCAoKSA9PiAoe1xuICAgIHZhbGlkYXRlUGFzc3dvcmQ6IChwYXNzKSA9PiBfdmFsaWRhdGVQYXNzd29yZChwYXNzKSxcbiAgfSkpO1xuXG4gIGZ1bmN0aW9uIF9vbkNoYW5nZShlOiBDaGFuZ2VFdmVudDxIVE1MSW5wdXRFbGVtZW50Pikge1xuICAgIGNvbnN0IHBhc3N3b3JkID0gZS50YXJnZXQudmFsdWU7XG4gICAgc3dpdGNoIChwcm9wcy5tb2RlKSB7XG4gICAgICBjYXNlIFwiY29tcGFyaXNpb25cIjpcbiAgICAgIGNhc2UgXCJjcmVhdGlvblwiOlxuICAgICAgICBwcm9wcy5vbkNoYW5nZShwYXNzd29yZCwgX3ZhbGlkYXRlUGFzc3dvcmQocGFzc3dvcmQpKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIFwiaW5wdXRcIjpcbiAgICAgICAgcHJvcHMub25DaGFuZ2UocGFzc3dvcmQpO1xuICAgICAgICBicmVhaztcbiAgICB9XG4gIH1cblxuICByZXR1cm4gKFxuICAgIDxkaXZcbiAgICAgIGNsYXNzTmFtZT17YCR7U3R5bGVzLmlucHV0Q29udGFpbmVyfSAke1N0eWxlc1twcm9wcy5tb2RlXX0gJHtcbiAgICAgICAgU3R5bGVzLmljb25cbiAgICAgIH1gfVxuICAgID5cbiAgICAgIDxJbnB1dFxuICAgICAgICB2YWx1ZT17cHJvcHMudmFsdWV9XG4gICAgICAgIG9uQ2hhbmdlPXtfb25DaGFuZ2V9XG4gICAgICAgIHR5cGU9eyFpc1Bhc3N3b3JkVmlzaWJpbGUgPyBcInBhc3N3b3JkXCIgOiBcIlwifVxuICAgICAgICBpY29uPXt7XG4gICAgICAgICAgc3JjOiBpc1Bhc3N3b3JkVmlzaWJpbGUgPyBwYXNzd29yZEhpZGRlbiA6IHBhc3N3b3JkVmlzaWJsZSxcbiAgICAgICAgICBvbk1vdXNlTGVhdmU6ICgpID0+IHNldElQVihmYWxzZSksXG4gICAgICAgICAgb25Nb3VzZURvd246ICgpID0+IHNldElQVih0cnVlKSxcbiAgICAgICAgICBvbk1vdXNlVXA6ICgpID0+IHNldElQVihmYWxzZSksXG4gICAgICAgICAgb25Ub3VjaE1vdmU6ICgpID0+IHNldElQVihmYWxzZSksXG4gICAgICAgICAgb25Ub3VjaFN0YXJ0OiAoKSA9PiBzZXRJUFYodHJ1ZSksXG4gICAgICAgICAgb25Ub3VjaEVuZDogKCkgPT4gc2V0SVBWKGZhbHNlKSxcbiAgICAgICAgfX1cbiAgICAgICAgZXJyb3I9e1xuICAgICAgICAgIHByb3BzLm1vZGUgPT09IFwiY29tcGFyaXNpb25cIiAmJiAhX3ZhbGlkYXRlUGFzc3dvcmQocHJvcHMudmFsdWUpXG4gICAgICAgICAgICA/IHByb3BzLm1lc3NhZ2VzLnBhc3N3b3Jkc0FyZURpZmZlcmVudFxuICAgICAgICAgICAgOiBwcm9wcy5lcnJvclxuICAgICAgICB9XG4gICAgICAgIGRpc2FibGVkPXtwcm9wcy5kaXNhYmxlZH1cbiAgICAgICAgcGxhY2Vob2xkZXI9e3Byb3BzLnBsYWNlaG9sZGVyfVxuICAgICAgLz5cbiAgICAgIHtwcm9wcy5tb2RlID09PSBcImNyZWF0aW9uXCIgJiYgKFxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT17U3R5bGVzLnJ1bGVzfSBkYXRhLXRlc3RpZD1cInBhc3N3b3JkLXJ1bGVzXCI+XG4gICAgICAgICAgPFRleHQgdHlwZT1cImNhcHRpb25cIj57cHJvcHMubWVzc2FnZXMucnVsZXNUaXRsZX08L1RleHQ+XG4gICAgICAgICAge1JVTEVTLm1hcCgoUikgPT4gKFxuICAgICAgICAgICAgPFRleHRcbiAgICAgICAgICAgICAga2V5PXtSLmNvZGV9XG4gICAgICAgICAgICAgIHR5cGU9e1IudmFsaWRhdGUocHJvcHMudmFsdWUpID8gXCJjYXB0aW9uXCIgOiBcImVycm9yXCJ9XG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIC0ge3Byb3BzLm1lc3NhZ2VzLmludmFsaWRSdWxlc1tSLmNvZGVdfVxuICAgICAgICAgICAgPC9UZXh0PlxuICAgICAgICAgICkpfVxuICAgICAgICA8L2Rpdj5cbiAgICAgICl9XG4gICAgPC9kaXY+XG4gICk7XG59XG5cbi8qKlxuICogQSBJbnB1dCBiYXNlZCB3cmFwcGVyIHRvIGhhbmRsZSBpbnB1dGluZyBvZiBwYXNzd29yZFxuICoqL1xuY29uc3QgUGFzc3dvcmRJbnB1dCA9IGZvcndhcmRSZWYoX1Bhc3N3b3JkSW5wdXQpO1xuZXhwb3J0IGRlZmF1bHQgUGFzc3dvcmRJbnB1dDtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUFBLElBQUFBLE1BQUEsR0FBQUMsdUJBQUEsQ0FBQUMsT0FBQTtBQU9BLElBQUFDLGNBQUEsR0FBQUQsT0FBQTtBQUNBLElBQUFFLE1BQUEsR0FBQUMsc0JBQUEsQ0FBQUgsT0FBQTtBQUNBLElBQUFJLEtBQUEsR0FBQUQsc0JBQUEsQ0FBQUgsT0FBQTtBQUNBLElBQUFLLG9CQUFBLEdBQUFGLHNCQUFBLENBQUFILE9BQUE7QUFBaUQsU0FBQUcsdUJBQUFHLEdBQUEsV0FBQUEsR0FBQSxJQUFBQSxHQUFBLENBQUFDLFVBQUEsR0FBQUQsR0FBQSxLQUFBRSxPQUFBLEVBQUFGLEdBQUE7QUFBQSxTQUFBRyx5QkFBQUMsV0FBQSxlQUFBQyxPQUFBLGtDQUFBQyxpQkFBQSxPQUFBRCxPQUFBLFFBQUFFLGdCQUFBLE9BQUFGLE9BQUEsWUFBQUYsd0JBQUEsWUFBQUEseUJBQUFDLFdBQUEsV0FBQUEsV0FBQSxHQUFBRyxnQkFBQSxHQUFBRCxpQkFBQSxLQUFBRixXQUFBO0FBQUEsU0FBQVgsd0JBQUFPLEdBQUEsRUFBQUksV0FBQSxTQUFBQSxXQUFBLElBQUFKLEdBQUEsSUFBQUEsR0FBQSxDQUFBQyxVQUFBLFdBQUFELEdBQUEsUUFBQUEsR0FBQSxhQUFBUSxPQUFBLENBQUFSLEdBQUEseUJBQUFBLEdBQUEsNEJBQUFFLE9BQUEsRUFBQUYsR0FBQSxVQUFBUyxLQUFBLEdBQUFOLHdCQUFBLENBQUFDLFdBQUEsT0FBQUssS0FBQSxJQUFBQSxLQUFBLENBQUFDLEdBQUEsQ0FBQVYsR0FBQSxZQUFBUyxLQUFBLENBQUFFLEdBQUEsQ0FBQVgsR0FBQSxTQUFBWSxNQUFBLFdBQUFDLHFCQUFBLEdBQUFDLE1BQUEsQ0FBQUMsY0FBQSxJQUFBRCxNQUFBLENBQUFFLHdCQUFBLFdBQUFDLEdBQUEsSUFBQWpCLEdBQUEsUUFBQWlCLEdBQUEsa0JBQUFILE1BQUEsQ0FBQUksU0FBQSxDQUFBQyxjQUFBLENBQUFDLElBQUEsQ0FBQXBCLEdBQUEsRUFBQWlCLEdBQUEsU0FBQUksSUFBQSxHQUFBUixxQkFBQSxHQUFBQyxNQUFBLENBQUFFLHdCQUFBLENBQUFoQixHQUFBLEVBQUFpQixHQUFBLGNBQUFJLElBQUEsS0FBQUEsSUFBQSxDQUFBVixHQUFBLElBQUFVLElBQUEsQ0FBQUMsR0FBQSxLQUFBUixNQUFBLENBQUFDLGNBQUEsQ0FBQUgsTUFBQSxFQUFBSyxHQUFBLEVBQUFJLElBQUEsWUFBQVQsTUFBQSxDQUFBSyxHQUFBLElBQUFqQixHQUFBLENBQUFpQixHQUFBLFNBQUFMLE1BQUEsQ0FBQVYsT0FBQSxHQUFBRixHQUFBLE1BQUFTLEtBQUEsSUFBQUEsS0FBQSxDQUFBYSxHQUFBLENBQUF0QixHQUFBLEVBQUFZLE1BQUEsWUFBQUEsTUFBQTtBQUFBLFNBQUFXLGVBQUFDLEdBQUEsRUFBQUMsQ0FBQSxXQUFBQyxlQUFBLENBQUFGLEdBQUEsS0FBQUcscUJBQUEsQ0FBQUgsR0FBQSxFQUFBQyxDQUFBLEtBQUFHLDJCQUFBLENBQUFKLEdBQUEsRUFBQUMsQ0FBQSxLQUFBSSxnQkFBQTtBQUFBLFNBQUFBLGlCQUFBLGNBQUFDLFNBQUE7QUFBQSxTQUFBRiw0QkFBQUcsQ0FBQSxFQUFBQyxNQUFBLFNBQUFELENBQUEscUJBQUFBLENBQUEsc0JBQUFFLGlCQUFBLENBQUFGLENBQUEsRUFBQUMsTUFBQSxPQUFBRSxDQUFBLEdBQUFwQixNQUFBLENBQUFJLFNBQUEsQ0FBQWlCLFFBQUEsQ0FBQWYsSUFBQSxDQUFBVyxDQUFBLEVBQUFLLEtBQUEsYUFBQUYsQ0FBQSxpQkFBQUgsQ0FBQSxDQUFBTSxXQUFBLEVBQUFILENBQUEsR0FBQUgsQ0FBQSxDQUFBTSxXQUFBLENBQUFDLElBQUEsTUFBQUosQ0FBQSxjQUFBQSxDQUFBLG1CQUFBSyxLQUFBLENBQUFDLElBQUEsQ0FBQVQsQ0FBQSxPQUFBRyxDQUFBLCtEQUFBTyxJQUFBLENBQUFQLENBQUEsVUFBQUQsaUJBQUEsQ0FBQUYsQ0FBQSxFQUFBQyxNQUFBO0FBQUEsU0FBQUMsa0JBQUFULEdBQUEsRUFBQWtCLEdBQUEsUUFBQUEsR0FBQSxZQUFBQSxHQUFBLEdBQUFsQixHQUFBLENBQUFtQixNQUFBLEVBQUFELEdBQUEsR0FBQWxCLEdBQUEsQ0FBQW1CLE1BQUEsV0FBQWxCLENBQUEsTUFBQW1CLElBQUEsT0FBQUwsS0FBQSxDQUFBRyxHQUFBLEdBQUFqQixDQUFBLEdBQUFpQixHQUFBLEVBQUFqQixDQUFBLElBQUFtQixJQUFBLENBQUFuQixDQUFBLElBQUFELEdBQUEsQ0FBQUMsQ0FBQSxVQUFBbUIsSUFBQTtBQUFBLFNBQUFqQixzQkFBQUgsR0FBQSxFQUFBQyxDQUFBLFFBQUFvQixFQUFBLFdBQUFyQixHQUFBLGdDQUFBc0IsTUFBQSxJQUFBdEIsR0FBQSxDQUFBc0IsTUFBQSxDQUFBQyxRQUFBLEtBQUF2QixHQUFBLDRCQUFBcUIsRUFBQSxRQUFBRyxFQUFBLEVBQUFDLEVBQUEsRUFBQUMsRUFBQSxFQUFBQyxFQUFBLEVBQUFDLElBQUEsT0FBQUMsRUFBQSxPQUFBQyxFQUFBLGlCQUFBSixFQUFBLElBQUFMLEVBQUEsR0FBQUEsRUFBQSxDQUFBekIsSUFBQSxDQUFBSSxHQUFBLEdBQUErQixJQUFBLFFBQUE5QixDQUFBLFFBQUFYLE1BQUEsQ0FBQStCLEVBQUEsTUFBQUEsRUFBQSxVQUFBUSxFQUFBLHVCQUFBQSxFQUFBLElBQUFMLEVBQUEsR0FBQUUsRUFBQSxDQUFBOUIsSUFBQSxDQUFBeUIsRUFBQSxHQUFBVyxJQUFBLE1BQUFKLElBQUEsQ0FBQUssSUFBQSxDQUFBVCxFQUFBLENBQUFVLEtBQUEsR0FBQU4sSUFBQSxDQUFBVCxNQUFBLEtBQUFsQixDQUFBLEdBQUE0QixFQUFBLGlCQUFBTSxHQUFBLElBQUFMLEVBQUEsT0FBQUwsRUFBQSxHQUFBVSxHQUFBLHlCQUFBTixFQUFBLFlBQUFSLEVBQUEsQ0FBQWUsTUFBQSxLQUFBVCxFQUFBLEdBQUFOLEVBQUEsQ0FBQWUsTUFBQSxJQUFBOUMsTUFBQSxDQUFBcUMsRUFBQSxNQUFBQSxFQUFBLDJCQUFBRyxFQUFBLFFBQUFMLEVBQUEsYUFBQUcsSUFBQTtBQUFBLFNBQUExQixnQkFBQUYsR0FBQSxRQUFBZSxLQUFBLENBQUFzQixPQUFBLENBQUFyQyxHQUFBLFVBQUFBLEdBQUE7QUFJakQsTUFBTXNDLGVBQWUsR0FBRyxDQUN0QjtFQUFFQyxJQUFJLEVBQUUsTUFBTTtFQUFFQyxRQUFRLEVBQUUsU0FBQUEsU0FBQ0MsSUFBWTtJQUFBLE9BQUtBLElBQUksQ0FBQ3RCLE1BQU0sSUFBSSxDQUFDO0VBQUE7QUFBQyxDQUFDLENBQ3REO0FBQ1YsTUFBTXVCLEtBQUssSUFDVDtFQUNFSCxJQUFJLEVBQUUsYUFBYTtFQUNuQkMsUUFBUSxFQUFFLFNBQUFBLFNBQUNDLElBQVksRUFBSztJQUMxQixLQUFLLElBQUl4QyxDQUFDLEdBQUcsQ0FBQyxFQUFFQSxDQUFDLEdBQUd3QyxJQUFJLENBQUN0QixNQUFNLEVBQUVsQixDQUFDLEVBQUUsRUFBRTtNQUNwQyxNQUFNMEMsUUFBUSxHQUFHRixJQUFJLENBQUNHLFVBQVUsQ0FBQzNDLENBQUMsQ0FBQztNQUNuQyxNQUFPNEMsU0FBUyxHQUNkSixJQUFJLENBQUNHLFVBQVUsQ0FBQzNDLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDO1FBRFg2QyxVQUFVLEdBRTFCTCxJQUFJLENBQUNHLFVBQVUsQ0FBQzNDLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDO01BRzdCLElBQUk0QyxTQUFTLEdBQUdGLFFBQVEsS0FBSyxDQUFDLElBQUlHLFVBQVUsR0FBR0QsU0FBUyxLQUFLLENBQUMsRUFBRTtRQUM5RCxPQUFPLEtBQUs7TUFDZDtJQUNGO0lBQ0EsT0FBTyxJQUFJO0VBQ2I7QUFDRixDQUFDLEVBQUFFLE1BQUEsQ0FDRVQsZUFBZSxDQUNWO0FBRVYsU0FBU1UsY0FBY0EsQ0FDckJDLEtBeUJ3RSxFQUN4RUMsR0FBa0UsRUFDbEU7RUFDQSxNQUFBQyxTQUFBLEdBQXFDLElBQUFDLGVBQVEsRUFBQyxLQUFLLENBQUM7SUFBQUMsVUFBQSxHQUFBdEQsY0FBQSxDQUFBb0QsU0FBQTtJQUE3Q0csa0JBQWtCLEdBQUFELFVBQUE7SUFBRUUsTUFBTSxHQUFBRixVQUFBO0VBQ2pDLE1BQUFHLGVBQUEsR0FBNEMsSUFBQUMsNkJBQWMsRUFDeEQsaUNBQ0YsQ0FBQztJQUZPQyxjQUFjLEdBQUFGLGVBQUEsQ0FBZEUsY0FBYztJQUFFQyxlQUFlLEdBQUFILGVBQUEsQ0FBZkcsZUFBZTtFQUd2QyxTQUFTQyxpQkFBaUJBLENBQUNDLFFBQWdCLEVBQUU7SUFDM0MsUUFBUVosS0FBSyxDQUFDYSxJQUFJO01BQ2hCLEtBQUssVUFBVTtRQUNiLE9BQU9wQixLQUFLLENBQUNxQixNQUFNLENBQ2pCLFVBQUNDLE9BQU8sRUFBRUMsQ0FBQztVQUFBLE9BQUtELE9BQU8sSUFBSUMsQ0FBQyxDQUFDekIsUUFBUSxDQUFDcUIsUUFBUSxDQUFDO1FBQUEsR0FDL0MsSUFDRixDQUFDO01BQ0gsS0FBSyxhQUFhO1FBQ2hCLE9BQU9BLFFBQVEsS0FBS1osS0FBSyxDQUFDaUIsYUFBYTtNQUN6QyxLQUFLLE9BQU87UUFDVixPQUFPNUIsZUFBZSxDQUFDeUIsTUFBTSxDQUMzQixVQUFDQyxPQUFPLEVBQUVDLENBQUM7VUFBQSxPQUFLRCxPQUFPLElBQUlDLENBQUMsQ0FBQ3pCLFFBQVEsQ0FBQ3FCLFFBQVEsQ0FBQztRQUFBLEdBQy9DLElBQ0YsQ0FBQztJQUNMO0VBQ0Y7RUFFQSxJQUFBTSwwQkFBbUIsRUFBQ2pCLEdBQUcsRUFBRTtJQUFBLE9BQU87TUFDOUJrQixnQkFBZ0IsRUFBRSxTQUFBQSxpQkFBQzNCLElBQUk7UUFBQSxPQUFLbUIsaUJBQWlCLENBQUNuQixJQUFJLENBQUM7TUFBQTtJQUNyRCxDQUFDO0VBQUEsQ0FBQyxDQUFDO0VBRUgsU0FBUzRCLFNBQVNBLENBQUNDLENBQWdDLEVBQUU7SUFDbkQsTUFBTVQsUUFBUSxHQUFHUyxDQUFDLENBQUNDLE1BQU0sQ0FBQ3JDLEtBQUs7SUFDL0IsUUFBUWUsS0FBSyxDQUFDYSxJQUFJO01BQ2hCLEtBQUssYUFBYTtNQUNsQixLQUFLLFVBQVU7UUFDYmIsS0FBSyxDQUFDdUIsUUFBUSxDQUFDWCxRQUFRLEVBQUVELGlCQUFpQixDQUFDQyxRQUFRLENBQUMsQ0FBQztRQUNyRDtNQUNGLEtBQUssT0FBTztRQUNWWixLQUFLLENBQUN1QixRQUFRLENBQUNYLFFBQVEsQ0FBQztRQUN4QjtJQUNKO0VBQ0Y7RUFFQSxvQkFDRTdGLE1BQUEsQ0FBQVUsT0FBQSxDQUFBK0YsYUFBQTtJQUNFQyxTQUFTLEtBQUEzQixNQUFBLENBQUs0Qiw0QkFBTSxDQUFDQyxjQUFjLE9BQUE3QixNQUFBLENBQUk0Qiw0QkFBTSxDQUFDMUIsS0FBSyxDQUFDYSxJQUFJLENBQUMsT0FBQWYsTUFBQSxDQUN2RDRCLDRCQUFNLENBQUNFLElBQUk7RUFDVixnQkFFSDdHLE1BQUEsQ0FBQVUsT0FBQSxDQUFBK0YsYUFBQSxDQUFDckcsTUFBQSxDQUFBTSxPQUFLO0lBQ0p3RCxLQUFLLEVBQUVlLEtBQUssQ0FBQ2YsS0FBTTtJQUNuQnNDLFFBQVEsRUFBRUgsU0FBVTtJQUNwQlMsSUFBSSxFQUFFLENBQUN4QixrQkFBa0IsR0FBRyxVQUFVLEdBQUcsRUFBRztJQUM1Q3VCLElBQUksRUFBRTtNQUNKRSxHQUFHLEVBQUV6QixrQkFBa0IsR0FBR0ksY0FBYyxHQUFHQyxlQUFlO01BQzFEcUIsWUFBWSxFQUFFLFNBQUFBLGFBQUE7UUFBQSxPQUFNekIsTUFBTSxDQUFDLEtBQUssQ0FBQztNQUFBO01BQ2pDMEIsV0FBVyxFQUFFLFNBQUFBLFlBQUE7UUFBQSxPQUFNMUIsTUFBTSxDQUFDLElBQUksQ0FBQztNQUFBO01BQy9CMkIsU0FBUyxFQUFFLFNBQUFBLFVBQUE7UUFBQSxPQUFNM0IsTUFBTSxDQUFDLEtBQUssQ0FBQztNQUFBO01BQzlCNEIsV0FBVyxFQUFFLFNBQUFBLFlBQUE7UUFBQSxPQUFNNUIsTUFBTSxDQUFDLEtBQUssQ0FBQztNQUFBO01BQ2hDNkIsWUFBWSxFQUFFLFNBQUFBLGFBQUE7UUFBQSxPQUFNN0IsTUFBTSxDQUFDLElBQUksQ0FBQztNQUFBO01BQ2hDOEIsVUFBVSxFQUFFLFNBQUFBLFdBQUE7UUFBQSxPQUFNOUIsTUFBTSxDQUFDLEtBQUssQ0FBQztNQUFBO0lBQ2pDLENBQUU7SUFDRitCLEtBQUssRUFDSHJDLEtBQUssQ0FBQ2EsSUFBSSxLQUFLLGFBQWEsSUFBSSxDQUFDRixpQkFBaUIsQ0FBQ1gsS0FBSyxDQUFDZixLQUFLLENBQUMsR0FDM0RlLEtBQUssQ0FBQ3NDLFFBQVEsQ0FBQ0MscUJBQXFCLEdBQ3BDdkMsS0FBSyxDQUFDcUMsS0FDWDtJQUNERyxRQUFRLEVBQUV4QyxLQUFLLENBQUN3QyxRQUFTO0lBQ3pCQyxXQUFXLEVBQUV6QyxLQUFLLENBQUN5QztFQUFZLENBQ2hDLENBQUMsRUFDRHpDLEtBQUssQ0FBQ2EsSUFBSSxLQUFLLFVBQVUsaUJBQ3hCOUYsTUFBQSxDQUFBVSxPQUFBLENBQUErRixhQUFBO0lBQUtDLFNBQVMsRUFBRUMsNEJBQU0sQ0FBQ2dCO0VBQU0sZ0JBQzNCM0gsTUFBQSxDQUFBVSxPQUFBLENBQUErRixhQUFBLENBQUNuRyxLQUFBLENBQUFJLE9BQUk7SUFBQ29HLElBQUksRUFBQztFQUFTLEdBQUU3QixLQUFLLENBQUNzQyxRQUFRLENBQUNLLFVBQWlCLENBQUMsRUFDdERsRCxLQUFLLENBQUNtRCxHQUFHLENBQUMsVUFBQzVCLENBQUM7SUFBQSxvQkFDWGpHLE1BQUEsQ0FBQVUsT0FBQSxDQUFBK0YsYUFBQSxDQUFDbkcsS0FBQSxDQUFBSSxPQUFJO01BQ0hlLEdBQUcsRUFBRXdFLENBQUMsQ0FBQzFCLElBQUs7TUFDWnVDLElBQUksRUFBRWIsQ0FBQyxDQUFDekIsUUFBUSxDQUFDUyxLQUFLLENBQUNmLEtBQUssQ0FBQyxHQUFHLFNBQVMsR0FBRztJQUFRLFNBRWpEZSxLQUFLLENBQUNzQyxRQUFRLENBQUNPLFlBQVksQ0FBQzdCLENBQUMsQ0FBQzFCLElBQUksQ0FDakMsQ0FBQztFQUFBLENBQ1IsQ0FDRSxDQUVKLENBQUM7QUFFVjs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxNQUFNd0QsYUFBYSxnQkFBRyxJQUFBQyxpQkFBVSxFQUFDaEQsY0FBYyxDQUFDO0FBQUMsSUFBQWlELFFBQUEsR0FDbENGLGFBQWE7QUFBQUcsT0FBQSxDQUFBeEgsT0FBQSxHQUFBdUgsUUFBQSJ9
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { ComponentProps } from "react";
|
|
1
|
+
import React, { ComponentProps } from "react";
|
|
2
2
|
import Text from "../Text/Text";
|
|
3
3
|
/**
|
|
4
4
|
* A component that keeps an overflow piece of text visible by continously scrolling it back and forward
|
|
5
5
|
**/
|
|
6
|
-
export default function PingPongText({ ...props }: ComponentProps<typeof Text>): JSX.Element;
|
|
6
|
+
export default function PingPongText({ ...props }: ComponentProps<typeof Text>): React.JSX.Element;
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import React from "react";
|
|
1
2
|
/**
|
|
2
3
|
* This effect scans up and down on the div with a following pixelated trail
|
|
3
4
|
**/
|
|
@@ -5,4 +6,4 @@ export default function PixelatedScan({ squaresByLine, color, className, }: {
|
|
|
5
6
|
squaresByLine: number;
|
|
6
7
|
color: string;
|
|
7
8
|
className?: string;
|
|
8
|
-
}): JSX.Element;
|
|
9
|
+
}): React.JSX.Element;
|
|
@@ -4,7 +4,7 @@ import React, { PropsWithChildren } from "react";
|
|
|
4
4
|
**/
|
|
5
5
|
export default function Portal({ to, children, }: PropsWithChildren<{
|
|
6
6
|
to: string;
|
|
7
|
-
}>): JSX.Element | null;
|
|
7
|
+
}>): React.JSX.Element | null;
|
|
8
8
|
export declare const PortalReceiver: React.ForwardRefExoticComponent<{
|
|
9
9
|
name: string;
|
|
10
10
|
className?: string | undefined;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { ComponentProps } from "react";
|
|
1
|
+
import React, { ComponentProps } from "react";
|
|
2
2
|
/**
|
|
3
3
|
* Shows a progress bar
|
|
4
4
|
**/
|
|
@@ -12,9 +12,9 @@ export default function ProgressBar({ size, progress, mode, }: {
|
|
|
12
12
|
*/
|
|
13
13
|
progress: number;
|
|
14
14
|
mode?: "gauge" | "guide";
|
|
15
|
-
}): JSX.Element;
|
|
15
|
+
}): React.JSX.Element;
|
|
16
16
|
export declare function BalancedProgressBar({ min, max, current, size, mode, }: {
|
|
17
17
|
min: number;
|
|
18
18
|
max: number;
|
|
19
19
|
current: number;
|
|
20
|
-
} & Pick<ComponentProps<typeof ProgressBar>, "size" | "mode">): JSX.Element;
|
|
20
|
+
} & Pick<ComponentProps<typeof ProgressBar>, "size" | "mode">): React.JSX.Element;
|
|
@@ -10,4 +10,4 @@ export default function Radio({ checked, onToggle, label, className, size, group
|
|
|
10
10
|
size?: number;
|
|
11
11
|
groupId: string;
|
|
12
12
|
value: string;
|
|
13
|
-
}> & React.DetailedHTMLProps<React.HTMLAttributes<HTMLSpanElement>, HTMLSpanElement>): JSX.Element;
|
|
13
|
+
}> & React.DetailedHTMLProps<React.HTMLAttributes<HTMLSpanElement>, HTMLSpanElement>): React.JSX.Element;
|
|
@@ -1,5 +1,8 @@
|
|
|
1
1
|
import React from "react";
|
|
2
2
|
export declare function createId(...args: string[]): string;
|
|
3
|
+
/**
|
|
4
|
+
* This component wraps a section and limits the width of it's content as well as requiring an id to reference to this section
|
|
5
|
+
**/
|
|
3
6
|
declare const SectionContainer: React.ForwardRefExoticComponent<{
|
|
4
7
|
decoration?: "dark" | "light" | undefined;
|
|
5
8
|
section?: string | undefined;
|