adui
Version:
<div> <img src="https://wxa.wxs.qq.com/mpweb/delivery/legacy/wxadtouch/upload/t1/od834zef_52939fc6.png" style="margin:40px 0 0 -8px; background-color: #fcfcfc; box-shadow: none;" /> </div>
124 lines (123 loc) • 28.3 kB
JavaScript
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
Object.defineProperty(exports, "__esModule", {
value: true
});
exports["default"] = void 0;
var _react = _interopRequireWildcard(require("react"));
var _propTypes = _interopRequireDefault(require("prop-types"));
var _classnames = _interopRequireDefault(require("classnames"));
var _icon = _interopRequireDefault(require("../icon"));
var _spinner = _interopRequireDefault(require("../spinner"));
var _Group = _interopRequireDefault(require("./Group"));
var _configProvider = require("../config-provider");
var _Context = require("./Context");
require("./style");
var _excluded = ["active", "children", "className", "disabled", "href", "leftIcon", "rightIcon", "intent", "loading", "onClick", "size", "theme"];
function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(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; }
function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
function _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var s = Object.getOwnPropertySymbols(e); for (r = 0; r < s.length; r++) o = s[r], t.includes(o) || {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }
function _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (e.includes(n)) continue; t[n] = r[n]; } return t; }
var prefix = "adui-channels-button";
var Button = (0, _react.forwardRef)(function (_ref, ref) {
var active = _ref.active,
children = _ref.children,
className = _ref.className,
disabledProp = _ref.disabled,
href = _ref.href,
leftIcon = _ref.leftIcon,
rightIcon = _ref.rightIcon,
intentProp = _ref.intent,
loading = _ref.loading,
onClick = _ref.onClick,
sizeProp = _ref.size,
themeProp = _ref.theme,
otherProps = _objectWithoutProperties(_ref, _excluded);
var _useContext = (0, _react.useContext)(_Context.ButtonGroupContext),
disabledContext = _useContext.disabled,
intentContext = _useContext.intent,
sizeContext = _useContext.size,
themeContext = _useContext.theme;
var _useContext2 = (0, _react.useContext)(_configProvider.ConfigContext),
sizeConfigContext = _useContext2.size;
var disabled = disabledProp === null ? disabledContext : disabledProp;
var intent = intentProp === null ? intentContext : intentProp;
var size = (0, _configProvider.getComputedSize)(sizeProp, sizeContext, sizeConfigContext);
var theme = themeProp === null ? themeContext : themeProp;
var classSet = (0, _classnames["default"])(className, "".concat(prefix, "-base"), "".concat(prefix, "-").concat(intent), "".concat(prefix, "-").concat(size), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty({}, "".concat(prefix, "-").concat(theme), theme), "".concat(prefix, "-active"), active), "".concat(prefix, "-hasLeftIcon"), !!leftIcon || !children), "".concat(prefix, "-hasRightIcon"), !!rightIcon || !children), "".concat(prefix, "-disabled"), disabled && !loading), "".concat(prefix, "-loading"), loading));
var handleClick = function handleClick(e) {
if (!disabled && !loading && onClick) {
onClick(e);
}
};
var tagProps = _objectSpread({
className: classSet,
disabled: !!disabled,
href: href,
onClick: handleClick,
ref: ref,
target: href && "_blank"
}, otherProps);
var tagChildren = _react["default"].createElement(_react["default"].Fragment, null, !!leftIcon && _react["default"].createElement(_icon["default"], {
size: 18,
className: "".concat(prefix, "-leftIcon"),
icon: leftIcon
}), !!children && _react["default"].createElement("span", {
className: "".concat(prefix, "-content")
}, children), !!rightIcon && _react["default"].createElement(_icon["default"], {
size: 18,
className: "".concat(prefix, "-rightIcon"),
icon: rightIcon
}), loading && _react["default"].createElement("div", {
className: "".concat(prefix, "-spinner")
}, _react["default"].createElement(_spinner["default"], {
color: theme === "light" || intent === "normal" ? null : "#fff",
intent: theme === "light" ? intent : "normal"
})));
if (href) {
return _react["default"].createElement("a", tagProps, tagChildren);
}
return _react["default"].createElement("button", _extends({
type: "button"
}, tagProps), tagChildren);
});
Button.type = "Button";
Button.Group = _Group["default"];
Button.displayName = "Button";
Button.propTypes = {
active: _propTypes["default"].bool,
children: _propTypes["default"].node,
className: _propTypes["default"].string,
disabled: _propTypes["default"].bool,
href: _propTypes["default"].string,
intent: _propTypes["default"].oneOf(["normal", "primary", "success", "warning", "danger"]),
leftIcon: _propTypes["default"].any,
loading: _propTypes["default"].bool,
onClick: _propTypes["default"].func,
rightIcon: _propTypes["default"].any,
size: _propTypes["default"].oneOf(["mini", "small", "medium", "large"]),
theme: _propTypes["default"].oneOf([null, "light"])
};
Button.defaultProps = {
active: false,
children: "",
className: undefined,
disabled: null,
href: undefined,
intent: "primary",
leftIcon: undefined,
loading: false,
onClick: null,
rightIcon: undefined,
size: "small",
theme: null
};
var _default = exports["default"] = Button;
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfcHJvcFR5cGVzIiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsIl9jbGFzc25hbWVzIiwiX2ljb24iLCJfc3Bpbm5lciIsIl9Hcm91cCIsIl9jb25maWdQcm92aWRlciIsIl9Db250ZXh0IiwiX2V4Y2x1ZGVkIiwiZSIsIl9fZXNNb2R1bGUiLCJfZ2V0UmVxdWlyZVdpbGRjYXJkQ2FjaGUiLCJXZWFrTWFwIiwiciIsInQiLCJfdHlwZW9mIiwiaGFzIiwiZ2V0IiwibiIsIl9fcHJvdG9fXyIsImEiLCJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsInUiLCJoYXNPd25Qcm9wZXJ0eSIsImNhbGwiLCJpIiwic2V0IiwiX2V4dGVuZHMiLCJhc3NpZ24iLCJiaW5kIiwiYXJndW1lbnRzIiwibGVuZ3RoIiwiYXBwbHkiLCJvd25LZXlzIiwia2V5cyIsImdldE93blByb3BlcnR5U3ltYm9scyIsIm8iLCJmaWx0ZXIiLCJlbnVtZXJhYmxlIiwicHVzaCIsIl9vYmplY3RTcHJlYWQiLCJmb3JFYWNoIiwiX2RlZmluZVByb3BlcnR5IiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9ycyIsImRlZmluZVByb3BlcnRpZXMiLCJfdG9Qcm9wZXJ0eUtleSIsInZhbHVlIiwiY29uZmlndXJhYmxlIiwid3JpdGFibGUiLCJfdG9QcmltaXRpdmUiLCJTeW1ib2wiLCJ0b1ByaW1pdGl2ZSIsIlR5cGVFcnJvciIsIlN0cmluZyIsIk51bWJlciIsIl9vYmplY3RXaXRob3V0UHJvcGVydGllcyIsIl9vYmplY3RXaXRob3V0UHJvcGVydGllc0xvb3NlIiwicyIsImluY2x1ZGVzIiwicHJvcGVydHlJc0VudW1lcmFibGUiLCJwcmVmaXgiLCJCdXR0b24iLCJmb3J3YXJkUmVmIiwiX3JlZiIsInJlZiIsImFjdGl2ZSIsImNoaWxkcmVuIiwiY2xhc3NOYW1lIiwiZGlzYWJsZWRQcm9wIiwiZGlzYWJsZWQiLCJocmVmIiwibGVmdEljb24iLCJyaWdodEljb24iLCJpbnRlbnRQcm9wIiwiaW50ZW50IiwibG9hZGluZyIsIm9uQ2xpY2siLCJzaXplUHJvcCIsInNpemUiLCJ0aGVtZVByb3AiLCJ0aGVtZSIsIm90aGVyUHJvcHMiLCJfdXNlQ29udGV4dCIsInVzZUNvbnRleHQiLCJCdXR0b25Hcm91cENvbnRleHQiLCJkaXNhYmxlZENvbnRleHQiLCJpbnRlbnRDb250ZXh0Iiwic2l6ZUNvbnRleHQiLCJ0aGVtZUNvbnRleHQiLCJfdXNlQ29udGV4dDIiLCJDb25maWdDb250ZXh0Iiwic2l6ZUNvbmZpZ0NvbnRleHQiLCJnZXRDb21wdXRlZFNpemUiLCJjbGFzc1NldCIsImNsYXNzTmFtZXMiLCJjb25jYXQiLCJoYW5kbGVDbGljayIsInRhZ1Byb3BzIiwidGFyZ2V0IiwidGFnQ2hpbGRyZW4iLCJjcmVhdGVFbGVtZW50IiwiRnJhZ21lbnQiLCJpY29uIiwiY29sb3IiLCJ0eXBlIiwiR3JvdXAiLCJkaXNwbGF5TmFtZSIsInByb3BUeXBlcyIsIlByb3BUeXBlcyIsImJvb2wiLCJub2RlIiwic3RyaW5nIiwib25lT2YiLCJhbnkiLCJmdW5jIiwiZGVmYXVsdFByb3BzIiwidW5kZWZpbmVkIiwiX2RlZmF1bHQiLCJleHBvcnRzIl0sInNvdXJjZXMiOlsiLi4vLi4vY29tcG9uZW50cy9jaGFubmVscy1idXR0b24vQnV0dG9uLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHsgZm9yd2FyZFJlZiwgdXNlQ29udGV4dCB9IGZyb20gXCJyZWFjdFwiXG5pbXBvcnQgUHJvcFR5cGVzIGZyb20gXCJwcm9wLXR5cGVzXCJcbmltcG9ydCBjbGFzc05hbWVzIGZyb20gXCJjbGFzc25hbWVzXCJcbmltcG9ydCBJY29uLCB7IEljb25OYW1lcyB9IGZyb20gXCIuLi9pY29uXCJcbmltcG9ydCBTcGlubmVyIGZyb20gXCIuLi9zcGlubmVyXCJcbmltcG9ydCBHcm91cCBmcm9tIFwiLi9Hcm91cFwiXG5pbXBvcnQgeyBDb25maWdDb250ZXh0LCBnZXRDb21wdXRlZFNpemUgfSBmcm9tIFwiLi4vY29uZmlnLXByb3ZpZGVyXCJcbmltcG9ydCB7IEJ1dHRvbkdyb3VwQ29udGV4dCB9IGZyb20gXCIuL0NvbnRleHRcIlxuaW1wb3J0IFwiLi9zdHlsZVwiXG5cbmNvbnN0IHByZWZpeCA9IFwiYWR1aS1jaGFubmVscy1idXR0b25cIlxuXG5leHBvcnQgaW50ZXJmYWNlIElCdXR0b25Qcm9wcyB7XG4gIFtrZXk6IHN0cmluZ106IGFueVxuICAvKipcbiAgICogYWN0aXZlIOeKtuaAge+8jOeUqOS6jiBCdXR0b24uR3JvdXAg5LitXG4gICAqL1xuICBhY3RpdmU/OiBib29sZWFuXG4gIC8qKlxuICAgKiDlrZDoioLngrlcbiAgICovXG4gIGNoaWxkcmVuPzogUmVhY3QuUmVhY3ROb2RlXG4gIC8qKlxuICAgKiDpmYTliqDnsbvlkI1cbiAgICovXG4gIGNsYXNzTmFtZT86IHN0cmluZ1xuICAvKipcbiAgICog5piv5ZCm56aB55SoXG4gICAqL1xuICBkaXNhYmxlZD86IGJvb2xlYW4gfCBudWxsXG4gIC8qKlxuICAgKiDkvb/nlKggaHJlZu+8jOWwhiA8YnV0dG9uIC8+IOi9rOWMluS4uiA8YSAvPiDmoIfnrb7vvIzov5nml7blgJnkuZ/lj6/ku6XkvKDlhaUgdGFyZ2V0PVwiX2JsYW5rXCIg562JIDxhIC8+IOagh+etvueahOWxnuaAp1xuICAgKi9cbiAgaHJlZj86IHN0cmluZ1xuICAvKipcbiAgICog57G75Z6LXG4gICAqL1xuICBpbnRlbnQ/OiBcIm5vcm1hbFwiIHwgXCJwcmltYXJ5XCIgfCBcInN1Y2Nlc3NcIiB8IFwid2FybmluZ1wiIHwgXCJkYW5nZXJcIlxuICAvKipcbiAgICog5bem5Zu+5qCHXG4gICAqL1xuICBsZWZ0SWNvbj86IEljb25OYW1lc1xuICAvKipcbiAgICog5piv5ZCm5Yqg6L29XG4gICAqL1xuICBsb2FkaW5nPzogYm9vbGVhblxuICAvKipcbiAgICog54K55Ye75LqL5Lu255qEIGhhbmRsZXJcbiAgICovXG4gIG9uQ2xpY2s/OlxuICAgIHwgbnVsbFxuICAgIHwgKChlOiBSZWFjdC5Nb3VzZUV2ZW50PEhUTUxCdXR0b25FbGVtZW50IHwgSFRNTEFuY2hvckVsZW1lbnQ+KSA9PiB2b2lkKVxuICAvKipcbiAgICog5Y+z5Zu+5qCHXG4gICAqL1xuICByaWdodEljb24/OiBJY29uTmFtZXNcbiAgLyoqXG4gICAqIOWwuuWvuFxuICAgKi9cbiAgc2l6ZT86IFwibWluaVwiIHwgXCJzbWFsbFwiIHwgXCJtZWRpdW1cIiB8IFwibGFyZ2VcIlxuICAvKipcbiAgICog5Li76aKYXG4gICAqL1xuICB0aGVtZT86IG51bGwgfCBcImxpZ2h0XCJcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJQnV0dG9uXG4gIGV4dGVuZHMgUmVhY3QuRm9yd2FyZFJlZkV4b3RpY0NvbXBvbmVudDxcbiAgICBJQnV0dG9uUHJvcHMgJiBSZWFjdC5SZWZBdHRyaWJ1dGVzPGFueT5cbiAgPiB7XG4gIEdyb3VwOiB0eXBlb2YgR3JvdXBcbiAgdHlwZTogc3RyaW5nXG59XG5cbi8qKlxuICog5oyJ6ZKu55So5LqO6Kem5Y+R5LiA5Liq5paw5Lu75Yqh44CB5paw5rWB56iL562J55qE5Y2z5pe26KGM5Yqo44CCXG4gKi9cbi8vIEB0cy1pZ25vcmVcbmNvbnN0IEJ1dHRvbjogSUJ1dHRvbiA9IGZvcndhcmRSZWYoXG4gIChcbiAgICB7XG4gICAgICBhY3RpdmUsXG4gICAgICBjaGlsZHJlbixcbiAgICAgIGNsYXNzTmFtZSxcbiAgICAgIGRpc2FibGVkOiBkaXNhYmxlZFByb3AsXG4gICAgICBocmVmLFxuICAgICAgbGVmdEljb24sXG4gICAgICByaWdodEljb24sXG4gICAgICBpbnRlbnQ6IGludGVudFByb3AsXG4gICAgICBsb2FkaW5nLFxuICAgICAgb25DbGljayxcbiAgICAgIHNpemU6IHNpemVQcm9wLFxuICAgICAgdGhlbWU6IHRoZW1lUHJvcCxcbiAgICAgIC4uLm90aGVyUHJvcHNcbiAgICB9OiBJQnV0dG9uUHJvcHMsXG4gICAgcmVmXG4gICkgPT4ge1xuICAgIGNvbnN0IHtcbiAgICAgIGRpc2FibGVkOiBkaXNhYmxlZENvbnRleHQsXG4gICAgICBpbnRlbnQ6IGludGVudENvbnRleHQsXG4gICAgICBzaXplOiBzaXplQ29udGV4dCxcbiAgICAgIHRoZW1lOiB0aGVtZUNvbnRleHQsXG4gICAgfSA9IHVzZUNvbnRleHQoQnV0dG9uR3JvdXBDb250ZXh0KVxuICAgIGNvbnN0IHsgc2l6ZTogc2l6ZUNvbmZpZ0NvbnRleHQgfSA9IHVzZUNvbnRleHQoQ29uZmlnQ29udGV4dClcblxuICAgIGNvbnN0IGRpc2FibGVkID0gZGlzYWJsZWRQcm9wID09PSBudWxsID8gZGlzYWJsZWRDb250ZXh0IDogZGlzYWJsZWRQcm9wXG4gICAgY29uc3QgaW50ZW50ID0gaW50ZW50UHJvcCA9PT0gbnVsbCA/IGludGVudENvbnRleHQgOiBpbnRlbnRQcm9wXG4gICAgY29uc3Qgc2l6ZSA9IGdldENvbXB1dGVkU2l6ZShzaXplUHJvcCwgc2l6ZUNvbnRleHQsIHNpemVDb25maWdDb250ZXh0KVxuICAgIGNvbnN0IHRoZW1lID0gdGhlbWVQcm9wID09PSBudWxsID8gdGhlbWVDb250ZXh0IDogdGhlbWVQcm9wXG5cbiAgICBjb25zdCBjbGFzc1NldCA9IGNsYXNzTmFtZXMoXG4gICAgICBjbGFzc05hbWUsXG4gICAgICBgJHtwcmVmaXh9LWJhc2VgLFxuICAgICAgYCR7cHJlZml4fS0ke2ludGVudH1gLFxuICAgICAgYCR7cHJlZml4fS0ke3NpemV9YCxcbiAgICAgIHtcbiAgICAgICAgW2Ake3ByZWZpeH0tJHt0aGVtZX1gXTogdGhlbWUsXG4gICAgICAgIFtgJHtwcmVmaXh9LWFjdGl2ZWBdOiBhY3RpdmUsXG4gICAgICAgIFtgJHtwcmVmaXh9LWhhc0xlZnRJY29uYF06ICEhbGVmdEljb24gfHwgIWNoaWxkcmVuLFxuICAgICAgICBbYCR7cHJlZml4fS1oYXNSaWdodEljb25gXTogISFyaWdodEljb24gfHwgIWNoaWxkcmVuLFxuICAgICAgICBbYCR7cHJlZml4fS1kaXNhYmxlZGBdOiBkaXNhYmxlZCAmJiAhbG9hZGluZyxcbiAgICAgICAgW2Ake3ByZWZpeH0tbG9hZGluZ2BdOiBsb2FkaW5nLFxuICAgICAgfVxuICAgIClcblxuICAgIGNvbnN0IGhhbmRsZUNsaWNrID0gKFxuICAgICAgZTogUmVhY3QuTW91c2VFdmVudDxIVE1MQnV0dG9uRWxlbWVudCB8IEhUTUxBbmNob3JFbGVtZW50PlxuICAgICkgPT4ge1xuICAgICAgaWYgKCFkaXNhYmxlZCAmJiAhbG9hZGluZyAmJiBvbkNsaWNrKSB7XG4gICAgICAgIG9uQ2xpY2soZSlcbiAgICAgIH1cbiAgICB9XG5cbiAgICBjb25zdCB0YWdQcm9wcyA9IHtcbiAgICAgIGNsYXNzTmFtZTogY2xhc3NTZXQsXG4gICAgICBkaXNhYmxlZDogISFkaXNhYmxlZCxcbiAgICAgIGhyZWYsXG4gICAgICBvbkNsaWNrOiBoYW5kbGVDbGljayxcbiAgICAgIHJlZixcbiAgICAgIHRhcmdldDogaHJlZiAmJiBcIl9ibGFua1wiLFxuICAgICAgLi4ub3RoZXJQcm9wcyxcbiAgICB9XG5cbiAgICBjb25zdCB0YWdDaGlsZHJlbiA9IChcbiAgICAgIDw+XG4gICAgICAgIHshIWxlZnRJY29uICYmIChcbiAgICAgICAgICA8SWNvbiBzaXplPXsxOH0gY2xhc3NOYW1lPXtgJHtwcmVmaXh9LWxlZnRJY29uYH0gaWNvbj17bGVmdEljb259IC8+XG4gICAgICAgICl9XG4gICAgICAgIHshIWNoaWxkcmVuICYmIDxzcGFuIGNsYXNzTmFtZT17YCR7cHJlZml4fS1jb250ZW50YH0+e2NoaWxkcmVufTwvc3Bhbj59XG4gICAgICAgIHshIXJpZ2h0SWNvbiAmJiAoXG4gICAgICAgICAgPEljb24gc2l6ZT17MTh9IGNsYXNzTmFtZT17YCR7cHJlZml4fS1yaWdodEljb25gfSBpY29uPXtyaWdodEljb259IC8+XG4gICAgICAgICl9XG4gICAgICAgIHtsb2FkaW5nICYmIChcbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT17YCR7cHJlZml4fS1zcGlubmVyYH0+XG4gICAgICAgICAgICA8U3Bpbm5lclxuICAgICAgICAgICAgICBjb2xvcj17dGhlbWUgPT09IFwibGlnaHRcIiB8fCBpbnRlbnQgPT09IFwibm9ybWFsXCIgPyBudWxsIDogXCIjZmZmXCJ9XG4gICAgICAgICAgICAgIGludGVudD17dGhlbWUgPT09IFwibGlnaHRcIiA/IGludGVudCA6IFwibm9ybWFsXCJ9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICApfVxuICAgICAgPC8+XG4gICAgKVxuXG4gICAgaWYgKGhyZWYpIHtcbiAgICAgIHJldHVybiA8YSB7Li4udGFnUHJvcHN9Pnt0YWdDaGlsZHJlbn08L2E+XG4gICAgfVxuICAgIHJldHVybiAoXG4gICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiB7Li4udGFnUHJvcHN9PlxuICAgICAgICB7dGFnQ2hpbGRyZW59XG4gICAgICA8L2J1dHRvbj5cbiAgICApXG4gIH1cbilcblxuQnV0dG9uLnR5cGUgPSBcIkJ1dHRvblwiXG5cbkJ1dHRvbi5Hcm91cCA9IEdyb3VwXG5cbkJ1dHRvbi5kaXNwbGF5TmFtZSA9IFwiQnV0dG9uXCJcblxuQnV0dG9uLnByb3BUeXBlcyA9IHtcbiAgLyoqXG4gICAqIGFjdGl2ZSDnirbmgIHvvIznlKjkuo4gQnV0dG9uLkdyb3VwIOS4rVxuICAgKi9cbiAgYWN0aXZlOiBQcm9wVHlwZXMuYm9vbCxcbiAgLyoqXG4gICAqIOWtkOiKgueCuVxuICAgKi9cbiAgY2hpbGRyZW46IFByb3BUeXBlcy5ub2RlLFxuICAvKipcbiAgICog6ZmE5Yqg57G75ZCNXG4gICAqL1xuICBjbGFzc05hbWU6IFByb3BUeXBlcy5zdHJpbmcsXG4gIC8qKlxuICAgKiDmmK/lkKbnpoHnlKhcbiAgICovXG4gIGRpc2FibGVkOiBQcm9wVHlwZXMuYm9vbCxcbiAgLyoqXG4gICAqIOS9v+eUqCBocmVm77yM5bCGIDxidXR0b24gLz4g6L2s5YyW5Li6IDxhIC8+IOagh+etvu+8jOi/meaXtuWAmeS5n+WPr+S7peS8oOWFpSB0YXJnZXQ9XCJfYmxhbmtcIiDnrYkgPGEgLz4g5qCH562+55qE5bGe5oCnXG4gICAqL1xuICBocmVmOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAvKipcbiAgICog57G75Z6LXG4gICAqL1xuICBpbnRlbnQ6IFByb3BUeXBlcy5vbmVPZihbXG4gICAgXCJub3JtYWxcIixcbiAgICBcInByaW1hcnlcIixcbiAgICBcInN1Y2Nlc3NcIixcbiAgICBcIndhcm5pbmdcIixcbiAgICBcImRhbmdlclwiLFxuICBdKSxcbiAgLyoqXG4gICAqIOW3puWbvuagh1xuICAgKi9cbiAgbGVmdEljb246IFByb3BUeXBlcy5hbnksXG4gIC8qKlxuICAgKiDmmK/lkKbliqDovb1cbiAgICovXG4gIGxvYWRpbmc6IFByb3BUeXBlcy5ib29sLFxuICAvKipcbiAgICog54K55Ye75LqL5Lu255qEIGhhbmRsZXJcbiAgICovXG4gIG9uQ2xpY2s6IFByb3BUeXBlcy5mdW5jLFxuICAvKipcbiAgICog5Y+z5Zu+5qCHXG4gICAqL1xuICByaWdodEljb246IFByb3BUeXBlcy5hbnksXG4gIC8qKlxuICAgKiDlsLrlr7hcbiAgICovXG4gIHNpemU6IFByb3BUeXBlcy5vbmVPZihbXCJtaW5pXCIsIFwic21hbGxcIiwgXCJtZWRpdW1cIiwgXCJsYXJnZVwiXSksXG4gIC8qKlxuICAgKiDkuLvpophcbiAgICovXG4gIHRoZW1lOiBQcm9wVHlwZXMub25lT2YoW251bGwsIFwibGlnaHRcIl0pLFxufVxuXG5CdXR0b24uZGVmYXVsdFByb3BzID0ge1xuICBhY3RpdmU6IGZhbHNlLFxuICBjaGlsZHJlbjogXCJcIixcbiAgY2xhc3NOYW1lOiB1bmRlZmluZWQsXG4gIGRpc2FibGVkOiBudWxsLFxuICBocmVmOiB1bmRlZmluZWQsXG4gIGludGVudDogXCJwcmltYXJ5XCIsXG4gIGxlZnRJY29uOiB1bmRlZmluZWQsXG4gIGxvYWRpbmc6IGZhbHNlLFxuICBvbkNsaWNrOiBudWxsLFxuICByaWdodEljb246IHVuZGVmaW5lZCxcbiAgc2l6ZTogXCJzbWFsbFwiLFxuICB0aGVtZTogbnVsbCxcbn1cblxuZXhwb3J0IGRlZmF1bHQgQnV0dG9uXG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFBQSxJQUFBQSxNQUFBLEdBQUFDLHVCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBQyxVQUFBLEdBQUFDLHNCQUFBLENBQUFGLE9BQUE7QUFDQSxJQUFBRyxXQUFBLEdBQUFELHNCQUFBLENBQUFGLE9BQUE7QUFDQSxJQUFBSSxLQUFBLEdBQUFGLHNCQUFBLENBQUFGLE9BQUE7QUFDQSxJQUFBSyxRQUFBLEdBQUFILHNCQUFBLENBQUFGLE9BQUE7QUFDQSxJQUFBTSxNQUFBLEdBQUFKLHNCQUFBLENBQUFGLE9BQUE7QUFDQSxJQUFBTyxlQUFBLEdBQUFQLE9BQUE7QUFDQSxJQUFBUSxRQUFBLEdBQUFSLE9BQUE7QUFDQUEsT0FBQTtBQUFnQixJQUFBUyxTQUFBO0FBQUEsU0FBQVAsdUJBQUFRLENBQUEsV0FBQUEsQ0FBQSxJQUFBQSxDQUFBLENBQUFDLFVBQUEsR0FBQUQsQ0FBQSxnQkFBQUEsQ0FBQTtBQUFBLFNBQUFFLHlCQUFBRixDQUFBLDZCQUFBRyxPQUFBLG1CQUFBQyxDQUFBLE9BQUFELE9BQUEsSUFBQUUsQ0FBQSxPQUFBRixPQUFBLFlBQUFELHdCQUFBLFlBQUFBLHlCQUFBRixDQUFBLFdBQUFBLENBQUEsR0FBQUssQ0FBQSxHQUFBRCxDQUFBLEtBQUFKLENBQUE7QUFBQSxTQUFBWCx3QkFBQVcsQ0FBQSxFQUFBSSxDQUFBLFNBQUFBLENBQUEsSUFBQUosQ0FBQSxJQUFBQSxDQUFBLENBQUFDLFVBQUEsU0FBQUQsQ0FBQSxlQUFBQSxDQUFBLGdCQUFBTSxPQUFBLENBQUFOLENBQUEsMEJBQUFBLENBQUEsc0JBQUFBLENBQUEsUUFBQUssQ0FBQSxHQUFBSCx3QkFBQSxDQUFBRSxDQUFBLE9BQUFDLENBQUEsSUFBQUEsQ0FBQSxDQUFBRSxHQUFBLENBQUFQ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
;