@1money/component-ui 0.0.99 → 0.0.100
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/es/business/Dialog/VerificationDialog/VerificationDialog.js +38 -39
- package/es/business/Dialog/variants/LoadingDialog.js +17 -17
- package/es/business/Filter/DateRange/DateRange.js +14 -14
- package/es/business/Select/Country/CountrySelect.js +71 -40
- package/es/business/Select/Country/interface.d.ts +31 -15
- package/es/business/Select/Country/style/CountrySelect.css +33 -0
- package/es/business/Select/Country/style/css.js +2 -0
- package/es/business/Select/Country/style/index.d.ts +1 -0
- package/es/business/Select/Country/style/index.js +2 -0
- package/es/business/shared/formCore/useSubmitAction.js +19 -19
- package/es/components/Icons/Illustrations.js +15 -15
- package/es/components/Notification/NotificationStatic.js +27 -32
- package/es/components/ProForm/ProForm.js +47 -51
- package/es/components/ProForm/Submitter.js +8 -8
- package/es/components/ProForm/core/hooks/useForm.js +77 -88
- package/es/components/ProForm/core/runRules.js +56 -61
- package/es/components/ProForm/hooks/useFieldRequest.js +19 -19
- package/es/components/ProForm/layouts/useOverlayForm.js +9 -11
- package/es/components/ProTable/ProTable.js +8 -8
- package/es/components/ProTable/useFetchData.js +23 -23
- package/es/components/Select/SelectOptionContent.js +8 -1
- package/es/components/Select/interface.d.ts +9 -0
- package/es/components/Select/interface.js +1 -1
- package/es/components/Select/style/Select.css +7 -0
- package/es/components/Spinner/Spinner.js +11 -11
- package/es/components/Table/internal/kernel/Table.js +8 -8
- package/es/index.css +1 -1
- package/lib/business/Dialog/BaseDialog/BaseDialog.js +2 -3
- package/lib/business/Dialog/Descriptions/Descriptions.js +2 -3
- package/lib/business/Dialog/DetailsDialog/DetailsDialog.js +2 -3
- package/lib/business/Dialog/FormDialog/FormDialog.js +2 -3
- package/lib/business/Dialog/VerificationDialog/VerificationDialog.js +39 -41
- package/lib/business/Dialog/variants/LoadingDialog.js +18 -19
- package/lib/business/FieldList/index.js +2 -3
- package/lib/business/Filter/DateRange/DateRange.js +14 -14
- package/lib/business/Select/Country/CountrySelect.js +71 -40
- package/lib/business/Select/Country/interface.d.ts +31 -15
- package/lib/business/Select/Country/style/CountrySelect.css +33 -0
- package/lib/business/Select/Country/style/css.js +4 -0
- package/lib/business/Select/Country/style/index.d.ts +1 -0
- package/lib/business/Select/Country/style/index.js +4 -0
- package/lib/business/shared/formCore/useSubmitAction.js +19 -19
- package/lib/components/Accordion/Accordion.js +2 -3
- package/lib/components/Accordion/index.js +2 -3
- package/lib/components/ActionBar/ActionBar.js +2 -3
- package/lib/components/Alert/Alert.js +2 -3
- package/lib/components/Alert/index.js +2 -3
- package/lib/components/Button/Button.js +2 -3
- package/lib/components/Button/index.js +2 -3
- package/lib/components/Calendar/Calendar.js +2 -3
- package/lib/components/Calendar/index.js +2 -3
- package/lib/components/Carousel/Carousel.js +2 -3
- package/lib/components/Carousel/index.js +2 -3
- package/lib/components/Cell/Cell.js +2 -3
- package/lib/components/Cell/index.js +2 -3
- package/lib/components/Checkbox/BaseCheckbox.js +2 -3
- package/lib/components/Checkbox/Checkbox.js +2 -3
- package/lib/components/Checkbox/CheckboxGroup.js +2 -3
- package/lib/components/Checkbox/index.js +2 -3
- package/lib/components/CoachMark/CoachMark.js +2 -3
- package/lib/components/CoachMark/index.js +2 -3
- package/lib/components/Copy/Clipboard.js +2 -3
- package/lib/components/Copy/Copy.js +2 -3
- package/lib/components/Copy/index.js +2 -3
- package/lib/components/Dialog/index.js +2 -3
- package/lib/components/Divider/Divider.js +2 -3
- package/lib/components/Drawer/Drawer.js +2 -3
- package/lib/components/Empty/Empty.js +2 -3
- package/lib/components/Empty/index.js +2 -3
- package/lib/components/Flex/Flex.js +2 -3
- package/lib/components/FormLayout/FormLayout.js +2 -3
- package/lib/components/Grid/Col.js +2 -3
- package/lib/components/Grid/Row.js +2 -3
- package/lib/components/Icons/Illustrations.js +15 -15
- package/lib/components/Icons/Logo.js +2 -3
- package/lib/components/Icons/Wrapper.js +2 -3
- package/lib/components/Icons/index.js +2 -3
- package/lib/components/Input/Amount/Amount.js +2 -3
- package/lib/components/Input/Amount/index.js +2 -3
- package/lib/components/Input/FieldShell/FieldShell.js +2 -3
- package/lib/components/Input/FieldShell/index.js +2 -3
- package/lib/components/Input/Input/Input.js +2 -3
- package/lib/components/Input/Input/index.js +2 -3
- package/lib/components/Input/Mask/Mask.js +2 -3
- package/lib/components/Input/Mask/index.js +2 -3
- package/lib/components/Input/OTP/index.js +2 -3
- package/lib/components/Input/Password/Password.js +2 -3
- package/lib/components/Input/Password/index.js +2 -3
- package/lib/components/Input/Search/Search.js +2 -3
- package/lib/components/Input/Search/index.js +2 -3
- package/lib/components/Input/TextArea/TextArea.js +2 -3
- package/lib/components/Input/TextArea/index.js +2 -3
- package/lib/components/Input/Trade/Trade.js +2 -3
- package/lib/components/Input/Trade/index.js +2 -3
- package/lib/components/Input/index.js +2 -3
- package/lib/components/Link/Link.js +2 -3
- package/lib/components/Link/index.js +2 -3
- package/lib/components/Navigation/Nav.js +2 -3
- package/lib/components/Navigation/Navigation.js +2 -3
- package/lib/components/Navigation/NavigationStepper.js +2 -3
- package/lib/components/Navigation/index.js +2 -3
- package/lib/components/Notification/Notification.js +2 -3
- package/lib/components/Notification/NotificationStatic.js +28 -34
- package/lib/components/Notification/index.js +2 -3
- package/lib/components/Pagination/Pagination.js +2 -3
- package/lib/components/Pagination/index.js +2 -3
- package/lib/components/PanelLayout/PanelLayout.js +2 -3
- package/lib/components/Popconfirm/Popconfirm.js +2 -3
- package/lib/components/Popconfirm/index.js +2 -3
- package/lib/components/Portal/index.js +2 -3
- package/lib/components/ProForm/ProForm.js +48 -53
- package/lib/components/ProForm/ProFormDependency.js +2 -3
- package/lib/components/ProForm/ProFormItem.js +2 -3
- package/lib/components/ProForm/Submitter.js +8 -8
- package/lib/components/ProForm/core/devWarning.js +2 -3
- package/lib/components/ProForm/core/hooks/useForm.js +78 -90
- package/lib/components/ProForm/core/runRules.js +56 -61
- package/lib/components/ProForm/core/useFormItem.js +2 -3
- package/lib/components/ProForm/fields/ProFormFieldSet.js +2 -3
- package/lib/components/ProForm/hooks/useFieldRequest.js +19 -19
- package/lib/components/ProForm/layouts/QueryFilter.js +2 -3
- package/lib/components/ProForm/layouts/useOverlayForm.js +10 -13
- package/lib/components/ProTable/ProTable.js +8 -8
- package/lib/components/ProTable/index.js +2 -3
- package/lib/components/ProTable/useFetchData.js +23 -23
- package/lib/components/Progress/Progress.js +2 -3
- package/lib/components/Progress/index.js +2 -3
- package/lib/components/Radio/Radio.js +2 -3
- package/lib/components/Radio/RadioGroup.js +2 -3
- package/lib/components/Radio/index.js +2 -3
- package/lib/components/ResizeObserver/Collection.js +2 -3
- package/lib/components/ResizeObserver/ResizeObserver.js +2 -3
- package/lib/components/ResizeObserver/SingleObserver/index.js +2 -3
- package/lib/components/ResizeObserver/useResizeObserver.js +2 -3
- package/lib/components/ResizeObserver/utils/reactUtil.js +2 -3
- package/lib/components/Segment/Segment.js +2 -3
- package/lib/components/Segment/index.js +2 -3
- package/lib/components/Select/Select.js +2 -3
- package/lib/components/Select/SelectCustom.js +2 -3
- package/lib/components/Select/SelectOptionContent.js +8 -1
- package/lib/components/Select/interface.d.ts +9 -0
- package/lib/components/Select/interface.js +1 -1
- package/lib/components/Select/style/Select.css +7 -0
- package/lib/components/Skeleton/Skeleton.js +2 -3
- package/lib/components/Skeleton/index.js +2 -3
- package/lib/components/Slider/Slider.js +2 -3
- package/lib/components/Slider/index.js +2 -3
- package/lib/components/Space/Space.js +2 -3
- package/lib/components/Spinner/Spinner.js +12 -13
- package/lib/components/Spinner/index.js +2 -3
- package/lib/components/Step/Step.js +2 -3
- package/lib/components/Step/index.js +2 -3
- package/lib/components/Switch/Switch.js +2 -3
- package/lib/components/Switch/index.js +2 -3
- package/lib/components/Table/core/useTableSetup.js +2 -3
- package/lib/components/Table/internal/index.js +2 -3
- package/lib/components/Table/internal/kernel/Body/BodyRow.js +2 -3
- package/lib/components/Table/internal/kernel/Body/ExpandedRow.js +2 -3
- package/lib/components/Table/internal/kernel/Body/MeasureCell.js +2 -3
- package/lib/components/Table/internal/kernel/Body/MeasureRow.js +2 -3
- package/lib/components/Table/internal/kernel/Body/index.js +2 -3
- package/lib/components/Table/internal/kernel/Cell/index.js +2 -3
- package/lib/components/Table/internal/kernel/Cell/useCellRender.js +2 -3
- package/lib/components/Table/internal/kernel/ColGroup.js +2 -3
- package/lib/components/Table/internal/kernel/FixedHolder/index.js +2 -3
- package/lib/components/Table/internal/kernel/Footer/Cell.js +2 -3
- package/lib/components/Table/internal/kernel/Footer/Row.js +2 -3
- package/lib/components/Table/internal/kernel/Footer/SummaryContext.js +2 -3
- package/lib/components/Table/internal/kernel/Footer/index.js +2 -3
- package/lib/components/Table/internal/kernel/Header/Header.js +2 -3
- package/lib/components/Table/internal/kernel/Header/HeaderRow.js +2 -3
- package/lib/components/Table/internal/kernel/Panel/index.js +2 -3
- package/lib/components/Table/internal/kernel/Table.js +9 -10
- package/lib/components/Table/internal/kernel/VirtualTable/BodyGrid.js +2 -3
- package/lib/components/Table/internal/kernel/VirtualTable/BodyLine.js +2 -3
- package/lib/components/Table/internal/kernel/VirtualTable/VirtualCell.js +2 -3
- package/lib/components/Table/internal/kernel/VirtualTable/index.js +2 -3
- package/lib/components/Table/internal/kernel/context/PerfContext.js +2 -3
- package/lib/components/Table/internal/kernel/hooks/useColumns/index.js +2 -3
- package/lib/components/Table/internal/kernel/hooks/useColumns/useWidthColumns.js +2 -3
- package/lib/components/Table/internal/kernel/hooks/useExpand.js +2 -3
- package/lib/components/Table/internal/kernel/hooks/useFixedInfo.js +2 -3
- package/lib/components/Table/internal/kernel/hooks/useFlattenRecords.js +2 -3
- package/lib/components/Table/internal/kernel/hooks/useHover.js +2 -3
- package/lib/components/Table/internal/kernel/hooks/useRenderTimes.js +2 -3
- package/lib/components/Table/internal/kernel/hooks/useSticky.js +2 -3
- package/lib/components/Table/internal/kernel/index.js +2 -3
- package/lib/components/Table/internal/kernel/selector-context/Immutable.js +2 -3
- package/lib/components/Table/internal/kernel/selector-context/context.js +2 -3
- package/lib/components/Table/internal/kernel/stickyScrollBar.js +2 -3
- package/lib/components/Table/internal/kernel/utils/expandUtil.js +2 -3
- package/lib/components/Table/internal/kernel/utils/useMemo.js +2 -3
- package/lib/components/Tabs/Tabs.js +2 -3
- package/lib/components/Tabs/index.js +2 -3
- package/lib/components/Tag/Tag.js +2 -3
- package/lib/components/Tag/index.js +2 -3
- package/lib/components/Tooltip/Tooltip.js +2 -3
- package/lib/components/Tooltip/index.js +2 -3
- package/lib/components/Tour/index.js +2 -3
- package/lib/components/Trigger/Trigger.js +2 -3
- package/lib/components/Typography/index.js +2 -3
- package/lib/components/Typography/utils.js +2 -3
- package/lib/components/Upload/Upload.js +2 -3
- package/lib/components/Upload/UploadFileBar.js +2 -3
- package/lib/components/Upload/index.js +2 -3
- package/lib/components/VirtualList/Filler.js +2 -3
- package/lib/components/VirtualList/Item.js +2 -3
- package/lib/components/VirtualList/ScrollBar.js +2 -3
- package/lib/components/VirtualList/VirtualList.js +2 -3
- package/lib/components/VirtualList/hooks/useChildren.js +2 -3
- package/lib/components/VirtualList/hooks/useDiffItem.js +2 -3
- package/lib/components/VirtualList/hooks/useGetSize.js +2 -3
- package/lib/components/VirtualList/hooks/useHeights.js +2 -3
- package/lib/components/VirtualList/hooks/useScrollDrag.js +2 -3
- package/lib/components/VirtualList/hooks/useScrollTo.js +2 -3
- package/lib/index.css +1 -1
- package/lib/stories/docs/ComponentDocsPage.js +2 -3
- package/package.json +23 -17
|
@@ -11,8 +11,7 @@ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/sli
|
|
|
11
11
|
var React = _interopRequireWildcard(require("react"));
|
|
12
12
|
var _raf = _interopRequireDefault(require("../utils/raf"));
|
|
13
13
|
var _useLayoutEffect = _interopRequireDefault(require("@1money/hooks/useLayoutEffect"));
|
|
14
|
-
function
|
|
15
|
-
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof3(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
|
|
14
|
+
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, "default": e }; if (null === e || "object" != _typeof3(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); }
|
|
16
15
|
var MAX_TIMES = 10;
|
|
17
16
|
function useScrollTo(containerRef, data, heights, itemHeight, getKey, collectHeight, syncScrollTop, triggerFlash) {
|
|
18
17
|
var scrollRef = React.useRef(undefined);
|
|
@@ -139,4 +138,4 @@ function useScrollTo(containerRef, data, heights, itemHeight, getKey, collectHei
|
|
|
139
138
|
}
|
|
140
139
|
};
|
|
141
140
|
}
|
|
142
|
-
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvVmlydHVhbExpc3Qvc3JjL2NvbXBvbmVudHMvVmlydHVhbExpc3QvaG9va3MvdXNlU2Nyb2xsVG8udHN4IiwiY29tcG9uZW50cy9WaXJ0dWFsTGlzdC9ob29rcy91c2VTY3JvbGxUby5qcyJdLCJuYW1lcyI6WyJSZWFjdCIsIl9pbnRlcm9wUmVxdWlyZVdpbGRjYXJkIiwicmVxdWlyZSIsIl9yYWYiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwiX3VzZUxheW91dEVmZmVjdCIsIl9nZXRSZXF1aXJlV2lsZGNhcmRDYWNoZSIsImUiLCJXZWFrTWFwIiwiciIsInQiLCJfX2VzTW9kdWxlIiwiX3R5cGVvZjMiLCJoYXMiLCJnZXQiLCJuIiwiX19wcm90b19fIiwiYSIsIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwidSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsImkiLCJzZXQiLCJNQVhfVElNRVMiLCJ1c2VTY3JvbGxUbyIsImNvbnRhaW5lclJlZiIsImRhdGEiLCJoZWlnaHRzIiwiaXRlbUhlaWdodCIsImdldEtleSIsImNvbGxlY3RIZWlnaHQiLCJzeW5jU2Nyb2xsVG9wIiwidHJpZ2dlckZsYXNoIiwic2Nyb2xsUmVmIiwidXNlUmVmIiwidW5kZWZpbmVkIiwiX1JlYWN0JHVzZVN0YXRlIiwidXNlU3RhdGUiLCJfUmVhY3QkdXNlU3RhdGUyIiwiX3NsaWNlZFRvQXJyYXkyIiwic3luY1N0YXRlIiwic2V0U3luY1N0YXRlIiwidXNlTGF5b3V0RWZmZWN0IiwidGltZXMiLCJjdXJyZW50Iiwib3JpIiwiYXNzaWduIiwidGFyZ2V0QWxpZ24iLCJvcmlnaW5BbGlnbiIsImluZGV4Iiwib2Zmc2V0IiwiaGVpZ2h0IiwiY2xpZW50SGVpZ2h0IiwibmVlZENvbGxlY3RIZWlnaHQiLCJuZXdUYXJnZXRBbGlnbiIsInRhcmdldFRvcCIsIm1lcmdlZEFsaWduIiwic3RhY2tUb3AiLCJpdGVtVG9wIiwiaXRlbUJvdHRvbSIsIm1heExlbiIsIk1hdGgiLCJtaW4iLCJsZW5ndGgiLCJrZXkiLCJjYWNoZUhlaWdodCIsImxlZnRIZWlnaHQiLCJzY3JvbGxUb3AiLCJzY3JvbGxCb3R0b20iLCJsYXN0VG9wIiwiY29uc29sZSIsIndhcm4iLCJhcmciLCJyYWYiLCJjYW5jZWwiLCJfdHlwZW9mMiIsImFsaWduIiwiZmluZEluZGV4IiwiaXRlbSIsIl9hcmckb2Zmc2V0Il0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7O0FBQUEsSUFBQUEsS0FBQSxHQUFBQyx1QkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUMsSUFBQSxHQUFBQyxzQkFBQSxDQUFBRixPQUFBO0FBR0EsSUFBQUcsZ0JBQUEsR0FBQUQsc0JBQUEsQ0FBQUYsT0FBQTtBQUE0RCxTQUFBSSx5QkFBQUMsQ0FBQSw2QkFBQUMsT0FBQSxtQkFBQUMsQ0FBQSxPQUFBRCxPQUFBLElBQUFFLENBQUEsT0FBQUYsT0FBQSxZQUFBRix3QkFBQSxZQUFBQSx5QkFBQUMsQ0FBQSxXQUFBQSxDQUFBLEdBQUFHLENBQUEsR0FBQUQsQ0FBQSxLQUFBRixDQUFBO0FBQUEsU0FBQU4sd0JBQUFNLENBQUEsRUFBQUUsQ0FBQSxTQUFBQSxDQUFBLElBQUFGLENBQUEsSUFBQUEsQ0FBQSxDQUFBSSxVQUFBLFNBQUFKLENBQUEsZUFBQUEsQ0FBQSxnQkFBQUssUUFBQSxDQUFBTCxDQUFBLDBCQUFBQSxDQUFBLHNCQUFBQSxDQUFBLFFBQUFHLENBQUEsR0FBQUosd0JBQUEsQ0FBQUcsQ0FBQSxPQUFBQyxDQUFBLElBQUFBLENBQUEsQ0FBQUcsR0FBQSxDQUFBTixDQUFBLFVBQUFHLENBQUEsQ0FBQUksR0FBQSxDQUFBUCxDQUFBLE9BQUFRLENBQUEsS0FBQUMsU0FBQSxVQUFBQyxDQUFBLEdBQUFDLE1BQUEsQ0FBQUMsY0FBQSxJQUFBRCxNQUFBLENBQUFFLHdCQUFBLFdBQUFDLENBQUEsSUFBQWQsQ0FBQSxvQkFBQWMsQ0FBQSxPQUFBQyxjQUFBLENBQUFDLElBQUEsQ0FBQWhC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O01BQ2pCLElBQVEyQixLQUFLLEdBQUtKLEdBQUcsQ0FBYkksS0FBSztNQUViLElBQUksT0FBTyxJQUFJSixHQUFHLEVBQUU7UUFDZnZCLEtBQUssR0FBS3VCLEdBQUcsQ0FBYnZCLEtBQUs7TUFDVixDQUFDLE1BQU07UUFDTEEsS0FBSyxHQUFHdkIsSUFBSSxDQUFDbUQsU0FBUyxDQUFDLFVBQUNDLElBQUk7VUFBQSxPQUFLakQsTUFBTSxDQUFDaUQsSUFBSSxDQUFDLEtBQUtOLEdBQUcsQ0FBQ1IsR0FBRztRQUFBLEVBQUM7TUFDNUQ7TUFFQSxJQUFBZSxXQUFBLEdBQXVCUCxHQUFHLENBQWxCdEIsTUFBTTtRQUFOQSxNQUFNLEdBQUE2QixXQUFBLGNBQUcsQ0FBQyxHQUFBQSxXQUFBO01BRWxCdEMsWUFBWSxDQUFDO1FBQ1hFLEtBQUssRUFBRSxDQUFDO1FBQ1JNLEtBQUssRUFBTEEsS0FBSztRQUNMQyxNQUFNLEVBQU5BLE1BQU07UUFDTkYsV0FBVyxFQUFFNEI7TUNqRVQsQ0RrRUwsQ0FBQztJQUNKO0VBQ0YsQ0FBQztBQUNIIiwiZmlsZSI6ImNvbXBvbmVudHMvVmlydHVhbExpc3QvaG9va3MvdXNlU2Nyb2xsVG8uanMiLCJzb3VyY2VzQ29udGVudCI6W251bGwsImltcG9ydCAqIGFzIFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCByYWYgZnJvbSAnLi4vdXRpbHMvcmFmJztcbmltcG9ydCB1c2VMYXlvdXRFZmZlY3QgZnJvbSAnQDFtb25leS9ob29rcy91c2VMYXlvdXRFZmZlY3QnO1xuY29uc3QgTUFYX1RJTUVTID0gMTA7XG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiB1c2VTY3JvbGxUbyhjb250YWluZXJSZWYsIGRhdGEsIGhlaWdodHMsIGl0ZW1IZWlnaHQsIGdldEtleSwgY29sbGVjdEhlaWdodCwgc3luY1Njcm9sbFRvcCwgdHJpZ2dlckZsYXNoKSB7XG4gICAgY29uc3Qgc2Nyb2xsUmVmID0gUmVhY3QudXNlUmVmKHVuZGVmaW5lZCk7XG4gICAgY29uc3QgW3N5bmNTdGF0ZSwgc2V0U3luY1N0YXRlXSA9IFJlYWN0LnVzZVN0YXRlKG51bGwpO1xuICAgIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09IFN5bmMgU2Nyb2xsID09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICAgdXNlTGF5b3V0RWZmZWN0KCgpID0+IHtcbiAgICAgICAgaWYgKHN5bmNTdGF0ZSAmJiBzeW5jU3RhdGUudGltZXMgPCBNQVhfVElNRVMpIHtcbiAgICAgICAgICAgIC8vIE5ldmVyIHJlYWNoXG4gICAgICAgICAgICBpZiAoIWNvbnRhaW5lclJlZi5jdXJyZW50KSB7XG4gICAgICAgICAgICAgICAgc2V0U3luY1N0YXRlKChvcmkpID0+IChPYmplY3QuYXNzaWduKHt9LCBvcmkpKSk7XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY29sbGVjdEhlaWdodCgpO1xuICAgICAgICAgICAgY29uc3QgeyB0YXJnZXRBbGlnbiwgb3JpZ2luQWxpZ24sIGluZGV4LCBvZmZzZXQgfSA9IHN5bmNTdGF0ZTtcbiAgICAgICAgICAgIGNvbnN0IGhlaWdodCA9IGNvbnRhaW5lclJlZi5jdXJyZW50LmNsaWVudEhlaWdodDtcbiAgICAgICAgICAgIGxldCBuZWVkQ29sbGVjdEhlaWdodCA9IGZhbHNlO1xuICAgICAgICAgICAgbGV0IG5ld1RhcmdldEFsaWduID0gdGFyZ2V0QWxpZ24gIT09IG51bGwgJiYgdGFyZ2V0QWxpZ24gIT09IHZvaWQgMCA/IHRhcmdldEFsaWduIDogbnVsbDtcbiAgICAgICAgICAgIGxldCB0YXJnZXRUb3AgPSBudWxsO1xuICAgICAgICAgICAgLy8gR28gdG8gbmV4dCBmcmFtZSBpZiBoZWlnaHQgbm90IGV4aXN0XG4gICAgICAgICAgICBpZiAoaGVpZ2h0KSB7XG4gICAgICAgICAgICAgICAgY29uc3QgbWVyZ2VkQWxpZ24gPSB0YXJnZXRBbGlnbiB8fCBvcmlnaW5BbGlnbjtcbiAgICAgICAgICAgICAgICAvLyBHZXQgdG9wICYgYm90dG9tXG4gICAgICAgICAgICAgICAgbGV0IHN0YWNrVG9wID0gMDtcbiAgICAgICAgICAgICAgICBsZXQgaXRlbVRvcCA9IDA7XG4gICAgICAgICAgICAgICAgbGV0IGl0ZW1Cb3R0b20gPSAwO1xuICAgICAgICAgICAgICAgIGNvbnN0IG1heExlbiA9IE1hdGgubWluKGRhdGEubGVuZ3RoIC0gMSwgaW5kZXgpO1xuICAgICAgICAgICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDw9IG1heExlbjsgaSArPSAxKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGtleSA9IGdldEtleShkYXRhW2ldKTtcbiAgICAgICAgICAgICAgICAgICAgaXRlbVRvcCA9IHN0YWNrVG9wO1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBjYWNoZUhlaWdodCA9IGhlaWdodHMuZ2V0KGtleSk7XG4gICAgICAgICAgICAgICAgICAgIGl0ZW1Cb3R0b20gPSBpdGVtVG9wICsgKGNhY2hlSGVpZ2h0ID09PSB1bmRlZmluZWQgPyBpdGVtSGVpZ2h0IDogY2FjaGVIZWlnaHQpO1xuICAgICAgICAgICAgICAgICAgICBzdGFja1RvcCA9IGl0ZW1Cb3R0b207XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIC8vIENoZWNrIGlmIG5lZWQgc3luYyBoZWlnaHQgKHZpc2libGUgcmFuZ2UgaGFzIGl0ZW0gbm90IHJlY29yZCBoZWlnaHQpXG4gICAgICAgICAgICAgICAgbGV0IGxlZnRIZWlnaHQgPSBtZXJnZWRBbGlnbiA9PT0gJ3RvcCcgPyBvZmZzZXQgOiBoZWlnaHQgLSBvZmZzZXQ7XG4gICAgICAgICAgICAgICAgZm9yIChsZXQgaSA9IG1heExlbjsgaSA+PSAwOyBpIC09IDEpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3Qga2V5ID0gZ2V0S2V5KGRhdGFbaV0pO1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBjYWNoZUhlaWdodCA9IGhlaWdodHMuZ2V0KGtleSk7XG4gICAgICAgICAgICAgICAgICAgIGlmIChjYWNoZUhlaWdodCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBuZWVkQ29sbGVjdEhlaWdodCA9IHRydWU7XG4gICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBsZWZ0SGVpZ2h0IC09IGNhY2hlSGVpZ2h0O1xuICAgICAgICAgICAgICAgICAgICBpZiAobGVmdEhlaWdodCA8PSAwKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAvLyBTY3JvbGwgdG9cbiAgICAgICAgICAgICAgICBzd2l0Y2ggKG1lcmdlZEFsaWduKSB7XG4gICAgICAgICAgICAgICAgICAgIGNhc2UgJ3RvcCc6XG4gICAgICAgICAgICAgICAgICAgICAgICB0YXJnZXRUb3AgPSBpdGVtVG9wIC0gb2Zmc2V0O1xuICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgIGNhc2UgJ2JvdHRvbSc6XG4gICAgICAgICAgICAgICAgICAgICAgICB0YXJnZXRUb3AgPSBpdGVtQm90dG9tIC0gaGVpZ2h0ICsgb2Zmc2V0O1xuICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgIGRlZmF1bHQ6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHsgc2Nyb2xsVG9wIH0gPSBjb250YWluZXJSZWYuY3VycmVudDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHNjcm9sbEJvdHRvbSA9IHNjcm9sbFRvcCArIGhlaWdodDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChpdGVtVG9wIDwgc2Nyb2xsVG9wKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbmV3VGFyZ2V0QWxpZ24gPSAndG9wJztcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIGVsc2UgaWYgKGl0ZW1Cb3R0b20gPiBzY3JvbGxCb3R0b20pIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBuZXdUYXJnZXRBbGlnbiA9ICdib3R0b20nO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmICh0YXJnZXRUb3AgIT09IG51bGwpIHtcbiAgICAgICAgICAgICAgICAgICAgc3luY1Njcm9sbFRvcCh0YXJnZXRUb3ApO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAvLyBPbmUgbW9yZSB0aW1lIGZvciBzeW5jXG4gICAgICAgICAgICAgICAgaWYgKHRhcmdldFRvcCAhPT0gc3luY1N0YXRlLmxhc3RUb3ApIHtcbiAgICAgICAgICAgICAgICAgICAgbmVlZENvbGxlY3RIZWlnaHQgPSB0cnVlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC8vIFRyaWdnZXIgbmV4dCBlZmZlY3RcbiAgICAgICAgICAgIGlmIChuZWVkQ29sbGVjdEhlaWdodCkge1xuICAgICAgICAgICAgICAgIHNldFN5bmNTdGF0ZShPYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30sIHN5bmNTdGF0ZSksIHsgdGltZXM6IHN5bmNTdGF0ZS50aW1lcyArIDEsIHRhcmdldEFsaWduOiBuZXdUYXJnZXRBbGlnbiwgbGFzdFRvcDogdGFyZ2V0VG9wIH0pKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBlbHNlIGlmICgoc3luY1N0YXRlID09PSBudWxsIHx8IHN5bmNTdGF0ZSA9PT0gdm9pZCAwID8gdm9pZCAwIDogc3luY1N0YXRlLnRpbWVzKSA9PT0gTUFYX1RJTUVTKSB7XG4gICAgICAgICAgICBjb25zb2xlLndhcm4oJ1tWaXJ0dWFsTGlzdF0gYHNjcm9sbFRvYCByZWFjaGVkIHRoZSBtYXggaXRlcmF0aW9uIGxpbWl0LicpO1xuICAgICAgICB9XG4gICAgfSwgW3N5bmNTdGF0ZSwgY29udGFpbmVyUmVmLmN1cnJlbnRdKTtcbiAgICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT0gU2Nyb2xsIFRvID09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgIHJldHVybiAoYXJnKSA9PiB7XG4gICAgICAgIC8vIFdoZW4gbm90IGFyZ3VtZW50IHByb3ZpZGVkLCB3ZSB0aGluayBkZXYgbWF5IHdhbnQgdG8gc2hvdyB0aGUgc2Nyb2xsYmFyXG4gICAgICAgIGlmIChhcmcgPT09IG51bGwgfHwgYXJnID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIHRyaWdnZXJGbGFzaCgpO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIC8vIE5vcm1hbCBzY3JvbGwgbG9naWNcbiAgICAgICAgcmFmLmNhbmNlbChzY3JvbGxSZWYuY3VycmVudCk7XG4gICAgICAgIGlmICh0eXBlb2YgYXJnID09PSAnbnVtYmVyJykge1xuICAgICAgICAgICAgc3luY1Njcm9sbFRvcChhcmcpO1xuICAgICAgICB9XG4gICAgICAgIGVsc2UgaWYgKGFyZyAmJiB0eXBlb2YgYXJnID09PSAnb2JqZWN0Jykge1xuICAgICAgICAgICAgbGV0IGluZGV4O1xuICAgICAgICAgICAgY29uc3QgeyBhbGlnbiB9ID0gYXJnO1xuICAgICAgICAgICAgaWYgKCdpbmRleCcgaW4gYXJnKSB7XG4gICAgICAgICAgICAgICAgKHsgaW5kZXggfSA9IGFyZyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICBpbmRleCA9IGRhdGEuZmluZEluZGV4KChpdGVtKSA9PiBnZXRLZXkoaXRlbSkgPT09IGFyZy5rZXkpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY29uc3QgeyBvZmZzZXQgPSAwIH0gPSBhcmc7XG4gICAgICAgICAgICBzZXRTeW5jU3RhdGUoe1xuICAgICAgICAgICAgICAgIHRpbWVzOiAwLFxuICAgICAgICAgICAgICAgIGluZGV4LFxuICAgICAgICAgICAgICAgIG9mZnNldCxcbiAgICAgICAgICAgICAgICBvcmlnaW5BbGlnbjogYWxpZ24sXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgIH07XG59Il0sInNvdXJjZVJvb3QiOiIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMifQ==
|
|
141
|
+
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvVmlydHVhbExpc3Qvc3JjL2NvbXBvbmVudHMvVmlydHVhbExpc3QvaG9va3MvdXNlU2Nyb2xsVG8udHN4IiwiY29tcG9uZW50cy9WaXJ0dWFsTGlzdC9ob29rcy91c2VTY3JvbGxUby5qcyJdLCJuYW1lcyI6WyJSZWFjdCIsIl9pbnRlcm9wUmVxdWlyZVdpbGRjYXJkIiwicmVxdWlyZSIsIl9yYWYiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwiX3VzZUxheW91dEVmZmVjdCIsImUiLCJ0IiwiV2Vha01hcCIsInIiLCJuIiwiX19lc01vZHVsZSIsIm8iLCJpIiwiZiIsIl9fcHJvdG9fXyIsIl90eXBlb2YzIiwiaGFzIiwiZ2V0Iiwic2V0IiwiX3QiLCJoYXNPd25Qcm9wZXJ0eSIsImNhbGwiLCJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsIk1BWF9USU1FUyIsInVzZVNjcm9sbFRvIiwiY29udGFpbmVyUmVmIiwiZGF0YSIsImhlaWdodHMiLCJpdGVtSGVpZ2h0IiwiZ2V0S2V5IiwiY29sbGVjdEhlaWdodCIsInN5bmNTY3JvbGxUb3AiLCJ0cmlnZ2VyRmxhc2giLCJzY3JvbGxSZWYiLCJ1c2VSZWYiLCJ1bmRlZmluZWQiLCJfUmVhY3QkdXNlU3RhdGUiLCJ1c2VTdGF0ZSIsIl9SZWFjdCR1c2VTdGF0ZTIiLCJfc2xpY2VkVG9BcnJheTIiLCJzeW5jU3RhdGUiLCJzZXRTeW5jU3RhdGUiLCJ1c2VMYXlvdXRFZmZlY3QiLCJ0aW1lcyIsImN1cnJlbnQiLCJvcmkiLCJhc3NpZ24iLCJ0YXJnZXRBbGlnbiIsIm9yaWdpbkFsaWduIiwiaW5kZXgiLCJvZmZzZXQiLCJoZWlnaHQiLCJjbGllbnRIZWlnaHQiLCJuZWVkQ29sbGVjdEhlaWdodCIsIm5ld1RhcmdldEFsaWduIiwidGFyZ2V0VG9wIiwibWVyZ2VkQWxpZ24iLCJzdGFja1RvcCIsIml0ZW1Ub3AiLCJpdGVtQm90dG9tIiwibWF4TGVuIiwiTWF0aCIsIm1pbiIsImxlbmd0aCIsImtleSIsImNhY2hlSGVpZ2h0IiwibGVmdEhlaWdodCIsInNjcm9sbFRvcCIsInNjcm9sbEJvdHRvbSIsImxhc3RUb3AiLCJjb25zb2xlIiwid2FybiIsImFyZyIsInJhZiIsImNhbmNlbCIsIl90eXBlb2YyIiwiYWxpZ24iLCJmaW5kSW5kZXgiLCJpdGVtIiwiX2FyZyRvZmZzZXQiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7QUFBQSxJQUFBQSxLQUFBLEdBQUFDLHVCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBQyxJQUFBLEdBQUFDLHNCQUFBLENBQUFGLE9BQUE7QUFHQSxJQUFBRyxnQkFBQSxHQUFBRCxzQkFBQSxDQUFBRixPQUFBO0FBQTRELFNBQUFELHdCQUFBSyxDQUFBLEVBQUFDLENBQUEsNkJBQUFDLE9BQUEsTUFBQUMsQ0FBQSxPQUFBRCxPQUFBLElBQUFFLENBQUEsT0FBQUYsT0FBQSxZQUFBUCx1QkFBQSxZQUFBQSx3QkFBQUssQ0FBQSxFQUFBQyxDQUFBLFNBQUFBLENBQUEsSUFBQUQsQ0FBQSxJQUFBQSxDQUFBLENBQUFLLFVBQUEsU0FBQUwsQ0FBQSxNQUFBTSxDQUFBLEVBQUFDLENBQUEsRUFBQUMsQ0FBQSxLQUFBQyxTQUFBLG1CQUFBVCxDQUFBLGlCQUFBQSxDQUFBLGdCQUFBVSxRQUFBLENBQUFWLENBQUEsMEJBQUFBLENBQUEsU0FBQVEsQ0FBQSxNQUFBRixDQUFBLEdBQUFMLENBQUEsR0FBQUcsQ0FBQSxHQUFBRCxDQUFBLFFBQUFHLENBQUEsQ0FBQUssR0FBQSxDQUFBWCxDQUFBLFVBQUFNLENBQUEsQ0FBQU0sR0FBQSxDQUFBWixDQUFBLEdBQUFNLENBQUEsQ0FBQU8sR0FBQSxDQUFBYixDQUFBLEVBQUFRLENBQUEsY0FBQU0sRUFBQSxJQUFBZCxDQUFBLGdCQUFBYyxFQUFBLE9BQUFDLGNBQUEsQ0FBQUMsSUFBQSxDQUFBaEIsQ0FBQSxFQUFBYyxFQUFBLE9BQUFQLENBQUEsSUFBQUQsQ0FBQSxHQUFBVyxNQUFBLENBQUFDLGNB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LENBQUMsTUFBTTtRQUNMQSxLQUFLLEdBQUd2QixJQUFJLENBQUNtRCxTQUFTLENBQUMsVUFBQ0MsSUFBSTtVQUFBLE9BQUtqRCxNQUFNLENBQUNpRCxJQUFJLENBQUMsS0FBS04sR0FBRyxDQUFDUixHQUFHO1FBQUEsRUFBQztNQUM1RDtNQUVBLElBQUFlLFdBQUEsR0FBdUJQLEdBQUcsQ0FBbEJ0QixNQUFNO1FBQU5BLE1BQU0sR0FBQTZCLFdBQUEsY0FBRyxDQUFDLEdBQUFBLFdBQUE7TUFFbEJ0QyxZQUFZLENBQUM7UUFDWEUsS0FBSyxFQUFFLENBQUM7UUFDUk0sS0FBSyxFQUFMQSxLQUFLO1FBQ0xDLE1BQU0sRUFBTkEsTUFBTTtRQUNORixXQUFXLEVBQUU0QjtNQ2pFVCxDRGtFTCxDQUFDO0lBQ0o7RUFDRixDQUFDO0FBQ0giLCJmaWxlIjoiY29tcG9uZW50cy9WaXJ0dWFsTGlzdC9ob29rcy91c2VTY3JvbGxUby5qcyIsInNvdXJjZXNDb250ZW50IjpbbnVsbCwiaW1wb3J0ICogYXMgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IHJhZiBmcm9tICcuLi91dGlscy9yYWYnO1xuaW1wb3J0IHVzZUxheW91dEVmZmVjdCBmcm9tICdAMW1vbmV5L2hvb2tzL3VzZUxheW91dEVmZmVjdCc7XG5jb25zdCBNQVhfVElNRVMgPSAxMDtcbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIHVzZVNjcm9sbFRvKGNvbnRhaW5lclJlZiwgZGF0YSwgaGVpZ2h0cywgaXRlbUhlaWdodCwgZ2V0S2V5LCBjb2xsZWN0SGVpZ2h0LCBzeW5jU2Nyb2xsVG9wLCB0cmlnZ2VyRmxhc2gpIHtcbiAgICBjb25zdCBzY3JvbGxSZWYgPSBSZWFjdC51c2VSZWYodW5kZWZpbmVkKTtcbiAgICBjb25zdCBbc3luY1N0YXRlLCBzZXRTeW5jU3RhdGVdID0gUmVhY3QudXNlU3RhdGUobnVsbCk7XG4gICAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT0gU3luYyBTY3JvbGwgPT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgICB1c2VMYXlvdXRFZmZlY3QoKCkgPT4ge1xuICAgICAgICBpZiAoc3luY1N0YXRlICYmIHN5bmNTdGF0ZS50aW1lcyA8IE1BWF9USU1FUykge1xuICAgICAgICAgICAgLy8gTmV2ZXIgcmVhY2hcbiAgICAgICAgICAgIGlmICghY29udGFpbmVyUmVmLmN1cnJlbnQpIHtcbiAgICAgICAgICAgICAgICBzZXRTeW5jU3RhdGUoKG9yaSkgPT4gKE9iamVjdC5hc3NpZ24oe30sIG9yaSkpKTtcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjb2xsZWN0SGVpZ2h0KCk7XG4gICAgICAgICAgICBjb25zdCB7IHRhcmdldEFsaWduLCBvcmlnaW5BbGlnbiwgaW5kZXgsIG9mZnNldCB9ID0gc3luY1N0YXRlO1xuICAgICAgICAgICAgY29uc3QgaGVpZ2h0ID0gY29udGFpbmVyUmVmLmN1cnJlbnQuY2xpZW50SGVpZ2h0O1xuICAgICAgICAgICAgbGV0IG5lZWRDb2xsZWN0SGVpZ2h0ID0gZmFsc2U7XG4gICAgICAgICAgICBsZXQgbmV3VGFyZ2V0QWxpZ24gPSB0YXJnZXRBbGlnbiAhPT0gbnVsbCAmJiB0YXJnZXRBbGlnbiAhPT0gdm9pZCAwID8gdGFyZ2V0QWxpZ24gOiBudWxsO1xuICAgICAgICAgICAgbGV0IHRhcmdldFRvcCA9IG51bGw7XG4gICAgICAgICAgICAvLyBHbyB0byBuZXh0IGZyYW1lIGlmIGhlaWdodCBub3QgZXhpc3RcbiAgICAgICAgICAgIGlmIChoZWlnaHQpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBtZXJnZWRBbGlnbiA9IHRhcmdldEFsaWduIHx8IG9yaWdpbkFsaWduO1xuICAgICAgICAgICAgICAgIC8vIEdldCB0b3AgJiBib3R0b21cbiAgICAgICAgICAgICAgICBsZXQgc3RhY2tUb3AgPSAwO1xuICAgICAgICAgICAgICAgIGxldCBpdGVtVG9wID0gMDtcbiAgICAgICAgICAgICAgICBsZXQgaXRlbUJvdHRvbSA9IDA7XG4gICAgICAgICAgICAgICAgY29uc3QgbWF4TGVuID0gTWF0aC5taW4oZGF0YS5sZW5ndGggLSAxLCBpbmRleCk7XG4gICAgICAgICAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPD0gbWF4TGVuOyBpICs9IDEpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3Qga2V5ID0gZ2V0S2V5KGRhdGFbaV0pO1xuICAgICAgICAgICAgICAgICAgICBpdGVtVG9wID0gc3RhY2tUb3A7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGNhY2hlSGVpZ2h0ID0gaGVpZ2h0cy5nZXQoa2V5KTtcbiAgICAgICAgICAgICAgICAgICAgaXRlbUJvdHRvbSA9IGl0ZW1Ub3AgKyAoY2FjaGVIZWlnaHQgPT09IHVuZGVmaW5lZCA/IGl0ZW1IZWlnaHQgOiBjYWNoZUhlaWdodCk7XG4gICAgICAgICAgICAgICAgICAgIHN0YWNrVG9wID0gaXRlbUJvdHRvbTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgLy8gQ2hlY2sgaWYgbmVlZCBzeW5jIGhlaWdodCAodmlzaWJsZSByYW5nZSBoYXMgaXRlbSBub3QgcmVjb3JkIGhlaWdodClcbiAgICAgICAgICAgICAgICBsZXQgbGVmdEhlaWdodCA9IG1lcmdlZEFsaWduID09PSAndG9wJyA/IG9mZnNldCA6IGhlaWdodCAtIG9mZnNldDtcbiAgICAgICAgICAgICAgICBmb3IgKGxldCBpID0gbWF4TGVuOyBpID49IDA7IGkgLT0gMSkge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBrZXkgPSBnZXRLZXkoZGF0YVtpXSk7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGNhY2hlSGVpZ2h0ID0gaGVpZ2h0cy5nZXQoa2V5KTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKGNhY2hlSGVpZ2h0ID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG5lZWRDb2xsZWN0SGVpZ2h0ID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGxlZnRIZWlnaHQgLT0gY2FjaGVIZWlnaHQ7XG4gICAgICAgICAgICAgICAgICAgIGlmIChsZWZ0SGVpZ2h0IDw9IDApIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIC8vIFNjcm9sbCB0b1xuICAgICAgICAgICAgICAgIHN3aXRjaCAobWVyZ2VkQWxpZ24pIHtcbiAgICAgICAgICAgICAgICAgICAgY2FzZSAndG9wJzpcbiAgICAgICAgICAgICAgICAgICAgICAgIHRhcmdldFRvcCA9IGl0ZW1Ub3AgLSBvZmZzZXQ7XG4gICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgY2FzZSAnYm90dG9tJzpcbiAgICAgICAgICAgICAgICAgICAgICAgIHRhcmdldFRvcCA9IGl0ZW1Cb3R0b20gLSBoZWlnaHQgKyBvZmZzZXQ7XG4gICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgZGVmYXVsdDoge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgeyBzY3JvbGxUb3AgfSA9IGNvbnRhaW5lclJlZi5jdXJyZW50O1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc2Nyb2xsQm90dG9tID0gc2Nyb2xsVG9wICsgaGVpZ2h0O1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGl0ZW1Ub3AgPCBzY3JvbGxUb3ApIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBuZXdUYXJnZXRBbGlnbiA9ICd0b3AnO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgZWxzZSBpZiAoaXRlbUJvdHRvbSA+IHNjcm9sbEJvdHRvbSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5ld1RhcmdldEFsaWduID0gJ2JvdHRvbSc7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKHRhcmdldFRvcCAhPT0gbnVsbCkge1xuICAgICAgICAgICAgICAgICAgICBzeW5jU2Nyb2xsVG9wKHRhcmdldFRvcCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIC8vIE9uZSBtb3JlIHRpbWUgZm9yIHN5bmNcbiAgICAgICAgICAgICAgICBpZiAodGFyZ2V0VG9wICE9PSBzeW5jU3RhdGUubGFzdFRvcCkge1xuICAgICAgICAgICAgICAgICAgICBuZWVkQ29sbGVjdEhlaWdodCA9IHRydWU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLy8gVHJpZ2dlciBuZXh0IGVmZmVjdFxuICAgICAgICAgICAgaWYgKG5lZWRDb2xsZWN0SGVpZ2h0KSB7XG4gICAgICAgICAgICAgICAgc2V0U3luY1N0YXRlKE9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7fSwgc3luY1N0YXRlKSwgeyB0aW1lczogc3luY1N0YXRlLnRpbWVzICsgMSwgdGFyZ2V0QWxpZ246IG5ld1RhcmdldEFsaWduLCBsYXN0VG9wOiB0YXJnZXRUb3AgfSkpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGVsc2UgaWYgKChzeW5jU3RhdGUgPT09IG51bGwgfHwgc3luY1N0YXRlID09PSB2b2lkIDAgPyB2b2lkIDAgOiBzeW5jU3RhdGUudGltZXMpID09PSBNQVhfVElNRVMpIHtcbiAgICAgICAgICAgIGNvbnNvbGUud2FybignW1ZpcnR1YWxMaXN0XSBgc2Nyb2xsVG9gIHJlYWNoZWQgdGhlIG1heCBpdGVyYXRpb24gbGltaXQuJyk7XG4gICAgICAgIH1cbiAgICB9LCBbc3luY1N0YXRlLCBjb250YWluZXJSZWYuY3VycmVudF0pO1xuICAgIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PSBTY3JvbGwgVG8gPT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICAgcmV0dXJuIChhcmcpID0+IHtcbiAgICAgICAgLy8gV2hlbiBub3QgYXJndW1lbnQgcHJvdmlkZWQsIHdlIHRoaW5rIGRldiBtYXkgd2FudCB0byBzaG93IHRoZSBzY3JvbGxiYXJcbiAgICAgICAgaWYgKGFyZyA9PT0gbnVsbCB8fCBhcmcgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgdHJpZ2dlckZsYXNoKCk7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgLy8gTm9ybWFsIHNjcm9sbCBsb2dpY1xuICAgICAgICByYWYuY2FuY2VsKHNjcm9sbFJlZi5jdXJyZW50KTtcbiAgICAgICAgaWYgKHR5cGVvZiBhcmcgPT09ICdudW1iZXInKSB7XG4gICAgICAgICAgICBzeW5jU2Nyb2xsVG9wKGFyZyk7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSBpZiAoYXJnICYmIHR5cGVvZiBhcmcgPT09ICdvYmplY3QnKSB7XG4gICAgICAgICAgICBsZXQgaW5kZXg7XG4gICAgICAgICAgICBjb25zdCB7IGFsaWduIH0gPSBhcmc7XG4gICAgICAgICAgICBpZiAoJ2luZGV4JyBpbiBhcmcpIHtcbiAgICAgICAgICAgICAgICAoeyBpbmRleCB9ID0gYXJnKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgIGluZGV4ID0gZGF0YS5maW5kSW5kZXgoKGl0ZW0pID0+IGdldEtleShpdGVtKSA9PT0gYXJnLmtleSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjb25zdCB7IG9mZnNldCA9IDAgfSA9IGFyZztcbiAgICAgICAgICAgIHNldFN5bmNTdGF0ZSh7XG4gICAgICAgICAgICAgICAgdGltZXM6IDAsXG4gICAgICAgICAgICAgICAgaW5kZXgsXG4gICAgICAgICAgICAgICAgb2Zmc2V0LFxuICAgICAgICAgICAgICAgIG9yaWdpbkFsaWduOiBhbGlnbixcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgfTtcbn0iXSwic291cmNlUm9vdCI6Ii4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYyJ9
|