@carto/kepler.gl 0.0.13 → 0.0.16

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.
@@ -7,6 +7,8 @@ Object.defineProperty(exports, "__esModule", {
7
7
  });
8
8
  exports["default"] = void 0;
9
9
 
10
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
11
+
10
12
  var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
11
13
 
12
14
  var _react = _interopRequireDefault(require("react"));
@@ -22,7 +24,9 @@ var propTypes = {
22
24
  height: _propTypes["default"].number,
23
25
  className: _propTypes["default"].string,
24
26
  isSelected: _propTypes["default"].bool,
25
- isReversed: _propTypes["default"].bool
27
+ isReversed: _propTypes["default"].bool,
28
+ children: _propTypes["default"].node,
29
+ rootProps: _propTypes["default"].object
26
30
  };
27
31
  var defaultProps = {
28
32
  height: 10,
@@ -51,11 +55,13 @@ var ColorPalette = function ColorPalette(_ref) {
51
55
  height = _ref.height,
52
56
  className = _ref.className,
53
57
  isSelected = _ref.isSelected,
54
- isReversed = _ref.isReversed;
55
- return /*#__PURE__*/_react["default"].createElement(PaletteContainer, {
58
+ isReversed = _ref.isReversed,
59
+ children = _ref.children,
60
+ rootProps = _ref.rootProps;
61
+ return /*#__PURE__*/_react["default"].createElement(PaletteContainer, (0, _extends2["default"])({
56
62
  className: className,
57
63
  isSelected: isSelected
58
- }, /*#__PURE__*/_react["default"].createElement(PaletteWrapper, {
64
+ }, Boolean(rootProps) && rootProps), /*#__PURE__*/_react["default"].createElement(PaletteWrapper, {
59
65
  style: {
60
66
  height: height,
61
67
  transform: "scale(".concat(isReversed ? -1 : 1, ", 1)")
@@ -67,11 +73,11 @@ var ColorPalette = function ColorPalette(_ref) {
67
73
  backgroundColor: color
68
74
  }
69
75
  });
70
- })));
76
+ })), Boolean(children) && children);
71
77
  };
72
78
 
73
79
  ColorPalette.propTypes = propTypes;
74
80
  ColorPalette.defaultProps = defaultProps;
75
81
  var _default = ColorPalette;
76
82
  exports["default"] = _default;
77
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL3NpZGUtcGFuZWwvbGF5ZXItcGFuZWwvY29sb3ItcGFsZXR0ZS5qcyJdLCJuYW1lcyI6WyJwcm9wVHlwZXMiLCJjb2xvcnMiLCJQcm9wVHlwZXMiLCJhcnJheU9mIiwic3RyaW5nIiwiaXNSZXF1aXJlZCIsImhlaWdodCIsIm51bWJlciIsImNsYXNzTmFtZSIsImlzU2VsZWN0ZWQiLCJib29sIiwiaXNSZXZlcnNlZCIsImRlZmF1bHRQcm9wcyIsIlBhbGV0dGVXcmFwcGVyIiwic3R5bGVkIiwiZGl2IiwiYXR0cnMiLCJQYWxldHRlQ29udGFpbmVyIiwicHJvcHMiLCJTdHlsZWRDb2xvckJsb2NrIiwiQ29sb3JQYWxldHRlIiwidHJhbnNmb3JtIiwibWFwIiwiY29sb3IiLCJpbmRleCIsImJhY2tncm91bmRDb2xvciJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7QUFvQkE7O0FBQ0E7O0FBQ0E7Ozs7QUFFQSxJQUFNQSxTQUFTLEdBQUc7QUFDaEJDLEVBQUFBLE1BQU0sRUFBRUMsc0JBQVVDLE9BQVYsQ0FBa0JELHNCQUFVRSxNQUE1QixFQUFvQ0MsVUFENUI7QUFFaEJDLEVBQUFBLE1BQU0sRUFBRUosc0JBQVVLLE1BRkY7QUFHaEJDLEVBQUFBLFNBQVMsRUFBRU4sc0JBQVVFLE1BSEw7QUFJaEJLLEVBQUFBLFVBQVUsRUFBRVAsc0JBQVVRLElBSk47QUFLaEJDLEVBQUFBLFVBQVUsRUFBRVQsc0JBQVVRO0FBTE4sQ0FBbEI7QUFRQSxJQUFNRSxZQUFZLEdBQUc7QUFDbkJOLEVBQUFBLE1BQU0sRUFBRSxFQURXO0FBRW5CTCxFQUFBQSxNQUFNLEVBQUUsRUFGVztBQUduQk8sRUFBQUEsU0FBUyxFQUFFLEVBSFE7QUFJbkJDLEVBQUFBLFVBQVUsRUFBRSxLQUpPO0FBS25CRSxFQUFBQSxVQUFVLEVBQUU7QUFMTyxDQUFyQjs7QUFRQSxJQUFNRSxjQUFjLEdBQUdDLDZCQUFPQyxHQUFQLENBQVdDLEtBQVgsQ0FBaUI7QUFDdENSLEVBQUFBLFNBQVMsRUFBRTtBQUQyQixDQUFqQixDQUFILGtPQUFwQjs7QUFXQSxJQUFNUyxnQkFBZ0IsR0FBR0gsNkJBQU9DLEdBQVAsQ0FBV0MsS0FBWCxDQUFpQjtBQUN4Q1IsRUFBQUEsU0FBUyxFQUFFO0FBRDZCLENBQWpCLENBQUgsMk9BT0osVUFBQVUsS0FBSztBQUFBLFNBQUtBLEtBQUssQ0FBQ1QsVUFBTixHQUFtQixTQUFuQixHQUErQixhQUFwQztBQUFBLENBUEQsQ0FBdEI7O0FBWUEsSUFBTVUsZ0JBQWdCLEdBQUdMLDZCQUFPQyxHQUFQLENBQVdDLEtBQVgsQ0FBaUI7QUFDeENSLEVBQUFBLFNBQVMsRUFBRTtBQUQ2QixDQUFqQixDQUFILDJHQUF0Qjs7QUFNQSxJQUFNWSxZQUFZLEdBQUcsU0FBZkEsWUFBZTtBQUFBLE1BQUVuQixNQUFGLFFBQUVBLE1BQUY7QUFBQSxNQUFVSyxNQUFWLFFBQVVBLE1BQVY7QUFBQSxNQUFrQkUsU0FBbEIsUUFBa0JBLFNBQWxCO0FBQUEsTUFBNkJDLFVBQTdCLFFBQTZCQSxVQUE3QjtBQUFBLE1BQXlDRSxVQUF6QyxRQUF5Q0EsVUFBekM7QUFBQSxzQkFDbkIsZ0NBQUMsZ0JBQUQ7QUFBa0IsSUFBQSxTQUFTLEVBQUVILFNBQTdCO0FBQXdDLElBQUEsVUFBVSxFQUFFQztBQUFwRCxrQkFDRSxnQ0FBQyxjQUFEO0FBQWdCLElBQUEsS0FBSyxFQUFFO0FBQUNILE1BQUFBLE1BQU0sRUFBTkEsTUFBRDtBQUFTZSxNQUFBQSxTQUFTLGtCQUFXVixVQUFVLEdBQUcsQ0FBQyxDQUFKLEdBQVEsQ0FBN0I7QUFBbEI7QUFBdkIsS0FDR1YsTUFBTSxDQUFDcUIsR0FBUCxDQUFXLFVBQUNDLEtBQUQsRUFBUUMsS0FBUjtBQUFBLHdCQUNWLGdDQUFDLGdCQUFEO0FBQWtCLE1BQUEsR0FBRyxZQUFLRCxLQUFMLGNBQWNDLEtBQWQsQ0FBckI7QUFBNEMsTUFBQSxLQUFLLEVBQUU7QUFBQ0MsUUFBQUEsZUFBZSxFQUFFRjtBQUFsQjtBQUFuRCxNQURVO0FBQUEsR0FBWCxDQURILENBREYsQ0FEbUI7QUFBQSxDQUFyQjs7QUFVQUgsWUFBWSxDQUFDcEIsU0FBYixHQUF5QkEsU0FBekI7QUFDQW9CLFlBQVksQ0FBQ1IsWUFBYixHQUE0QkEsWUFBNUI7ZUFFZVEsWSIsInNvdXJjZXNDb250ZW50IjpbIi8vIENvcHlyaWdodCAoYykgMjAyMSBVYmVyIFRlY2hub2xvZ2llcywgSW5jLlxuLy9cbi8vIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhIGNvcHlcbi8vIG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlIFwiU29mdHdhcmVcIiksIHRvIGRlYWxcbi8vIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHNcbi8vIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGxcbi8vIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpc1xuLy8gZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczpcbi8vXG4vLyBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpblxuLy8gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuXG4vL1xuLy8gVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFwiQVMgSVNcIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUlxuLy8gSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksXG4vLyBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEVcbi8vIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVJcbi8vIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sXG4vLyBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOXG4vLyBUSEUgU09GVFdBUkUuXG5cbmltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgUHJvcFR5cGVzIGZyb20gJ3Byb3AtdHlwZXMnO1xuaW1wb3J0IHN0eWxlZCBmcm9tICdzdHlsZWQtY29tcG9uZW50cyc7XG5cbmNvbnN0IHByb3BUeXBlcyA9IHtcbiAgY29sb3JzOiBQcm9wVHlwZXMuYXJyYXlPZihQcm9wVHlwZXMuc3RyaW5nKS5pc1JlcXVpcmVkLFxuICBoZWlnaHQ6IFByb3BUeXBlcy5udW1iZXIsXG4gIGNsYXNzTmFtZTogUHJvcFR5cGVzLnN0cmluZyxcbiAgaXNTZWxlY3RlZDogUHJvcFR5cGVzLmJvb2wsXG4gIGlzUmV2ZXJzZWQ6IFByb3BUeXBlcy5ib29sXG59O1xuXG5jb25zdCBkZWZhdWx0UHJvcHMgPSB7XG4gIGhlaWdodDogMTAsXG4gIGNvbG9yczogW10sXG4gIGNsYXNzTmFtZTogJycsXG4gIGlzU2VsZWN0ZWQ6IGZhbHNlLFxuICBpc1JldmVyc2VkOiBmYWxzZVxufTtcblxuY29uc3QgUGFsZXR0ZVdyYXBwZXIgPSBzdHlsZWQuZGl2LmF0dHJzKHtcbiAgY2xhc3NOYW1lOiAnY29sb3ItcmFuZ2UtcGFsZXR0ZV9faW5uZXInXG59KWBcbiAgYm9yZGVyLXJhZGl1czogMnB4O1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICBmbGV4LWdyb3c6IDE7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbmA7XG5cbmNvbnN0IFBhbGV0dGVDb250YWluZXIgPSBzdHlsZWQuZGl2LmF0dHJzKHtcbiAgY2xhc3NOYW1lOiAnY29sb3ItcmFuZ2UtcGFsZXR0ZSdcbn0pYFxuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWdyb3c6IDE7XG4gIGJvcmRlci13aWR0aDogMXB4O1xuICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICBib3JkZXItY29sb3I6ICR7cHJvcHMgPT4gKHByb3BzLmlzU2VsZWN0ZWQgPyAnI0ZGRkZGRicgOiAndHJhbnNwYXJlbnQnKX07XG4gIHBhZGRpbmc6IDRweDtcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xuYDtcblxuY29uc3QgU3R5bGVkQ29sb3JCbG9jayA9IHN0eWxlZC5kaXYuYXR0cnMoe1xuICBjbGFzc05hbWU6ICdjb2xvci1yYW5nZS1wYWxldHRlX19ibG9jaydcbn0pYFxuICBmbGV4LWdyb3c6IDE7XG5gO1xuXG5jb25zdCBDb2xvclBhbGV0dGUgPSAoe2NvbG9ycywgaGVpZ2h0LCBjbGFzc05hbWUsIGlzU2VsZWN0ZWQsIGlzUmV2ZXJzZWR9KSA9PiAoXG4gIDxQYWxldHRlQ29udGFpbmVyIGNsYXNzTmFtZT17Y2xhc3NOYW1lfSBpc1NlbGVjdGVkPXtpc1NlbGVjdGVkfT5cbiAgICA8UGFsZXR0ZVdyYXBwZXIgc3R5bGU9e3toZWlnaHQsIHRyYW5zZm9ybTogYHNjYWxlKCR7aXNSZXZlcnNlZCA/IC0xIDogMX0sIDEpYH19PlxuICAgICAge2NvbG9ycy5tYXAoKGNvbG9yLCBpbmRleCkgPT4gKFxuICAgICAgICA8U3R5bGVkQ29sb3JCbG9jayBrZXk9e2Ake2NvbG9yfS0ke2luZGV4fWB9IHN0eWxlPXt7YmFja2dyb3VuZENvbG9yOiBjb2xvcn19IC8+XG4gICAgICApKX1cbiAgICA8L1BhbGV0dGVXcmFwcGVyPlxuICA8L1BhbGV0dGVDb250YWluZXI+XG4pO1xuXG5Db2xvclBhbGV0dGUucHJvcFR5cGVzID0gcHJvcFR5cGVzO1xuQ29sb3JQYWxldHRlLmRlZmF1bHRQcm9wcyA9IGRlZmF1bHRQcm9wcztcblxuZXhwb3J0IGRlZmF1bHQgQ29sb3JQYWxldHRlO1xuIl19
83
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL3NpZGUtcGFuZWwvbGF5ZXItcGFuZWwvY29sb3ItcGFsZXR0ZS5qcyJdLCJuYW1lcyI6WyJwcm9wVHlwZXMiLCJjb2xvcnMiLCJQcm9wVHlwZXMiLCJhcnJheU9mIiwic3RyaW5nIiwiaXNSZXF1aXJlZCIsImhlaWdodCIsIm51bWJlciIsImNsYXNzTmFtZSIsImlzU2VsZWN0ZWQiLCJib29sIiwiaXNSZXZlcnNlZCIsImNoaWxkcmVuIiwibm9kZSIsInJvb3RQcm9wcyIsIm9iamVjdCIsImRlZmF1bHRQcm9wcyIsIlBhbGV0dGVXcmFwcGVyIiwic3R5bGVkIiwiZGl2IiwiYXR0cnMiLCJQYWxldHRlQ29udGFpbmVyIiwicHJvcHMiLCJTdHlsZWRDb2xvckJsb2NrIiwiQ29sb3JQYWxldHRlIiwiQm9vbGVhbiIsInRyYW5zZm9ybSIsIm1hcCIsImNvbG9yIiwiaW5kZXgiLCJiYWNrZ3JvdW5kQ29sb3IiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7QUFvQkE7O0FBQ0E7O0FBQ0E7Ozs7QUFFQSxJQUFNQSxTQUFTLEdBQUc7QUFDaEJDLEVBQUFBLE1BQU0sRUFBRUMsc0JBQVVDLE9BQVYsQ0FBa0JELHNCQUFVRSxNQUE1QixFQUFvQ0MsVUFENUI7QUFFaEJDLEVBQUFBLE1BQU0sRUFBRUosc0JBQVVLLE1BRkY7QUFHaEJDLEVBQUFBLFNBQVMsRUFBRU4sc0JBQVVFLE1BSEw7QUFJaEJLLEVBQUFBLFVBQVUsRUFBRVAsc0JBQVVRLElBSk47QUFLaEJDLEVBQUFBLFVBQVUsRUFBRVQsc0JBQVVRLElBTE47QUFNaEJFLEVBQUFBLFFBQVEsRUFBRVYsc0JBQVVXLElBTko7QUFPaEJDLEVBQUFBLFNBQVMsRUFBRVosc0JBQVVhO0FBUEwsQ0FBbEI7QUFVQSxJQUFNQyxZQUFZLEdBQUc7QUFDbkJWLEVBQUFBLE1BQU0sRUFBRSxFQURXO0FBRW5CTCxFQUFBQSxNQUFNLEVBQUUsRUFGVztBQUduQk8sRUFBQUEsU0FBUyxFQUFFLEVBSFE7QUFJbkJDLEVBQUFBLFVBQVUsRUFBRSxLQUpPO0FBS25CRSxFQUFBQSxVQUFVLEVBQUU7QUFMTyxDQUFyQjs7QUFRQSxJQUFNTSxjQUFjLEdBQUdDLDZCQUFPQyxHQUFQLENBQVdDLEtBQVgsQ0FBaUI7QUFDdENaLEVBQUFBLFNBQVMsRUFBRTtBQUQyQixDQUFqQixDQUFILGtPQUFwQjs7QUFXQSxJQUFNYSxnQkFBZ0IsR0FBR0gsNkJBQU9DLEdBQVAsQ0FBV0MsS0FBWCxDQUFpQjtBQUN4Q1osRUFBQUEsU0FBUyxFQUFFO0FBRDZCLENBQWpCLENBQUgsMk9BT0osVUFBQWMsS0FBSztBQUFBLFNBQUtBLEtBQUssQ0FBQ2IsVUFBTixHQUFtQixTQUFuQixHQUErQixhQUFwQztBQUFBLENBUEQsQ0FBdEI7O0FBWUEsSUFBTWMsZ0JBQWdCLEdBQUdMLDZCQUFPQyxHQUFQLENBQVdDLEtBQVgsQ0FBaUI7QUFDeENaLEVBQUFBLFNBQVMsRUFBRTtBQUQ2QixDQUFqQixDQUFILDJHQUF0Qjs7QUFNQSxJQUFNZ0IsWUFBWSxHQUFHLFNBQWZBLFlBQWU7QUFBQSxNQUFFdkIsTUFBRixRQUFFQSxNQUFGO0FBQUEsTUFBVUssTUFBVixRQUFVQSxNQUFWO0FBQUEsTUFBa0JFLFNBQWxCLFFBQWtCQSxTQUFsQjtBQUFBLE1BQTZCQyxVQUE3QixRQUE2QkEsVUFBN0I7QUFBQSxNQUF5Q0UsVUFBekMsUUFBeUNBLFVBQXpDO0FBQUEsTUFBcURDLFFBQXJELFFBQXFEQSxRQUFyRDtBQUFBLE1BQStERSxTQUEvRCxRQUErREEsU0FBL0Q7QUFBQSxzQkFDbkIsZ0NBQUMsZ0JBQUQ7QUFDRSxJQUFBLFNBQVMsRUFBRU4sU0FEYjtBQUVFLElBQUEsVUFBVSxFQUFFQztBQUZkLEtBR09nQixPQUFPLENBQUNYLFNBQUQsQ0FBUCxJQUFzQkEsU0FIN0IsZ0JBS0UsZ0NBQUMsY0FBRDtBQUFnQixJQUFBLEtBQUssRUFBRTtBQUFDUixNQUFBQSxNQUFNLEVBQU5BLE1BQUQ7QUFBU29CLE1BQUFBLFNBQVMsa0JBQVdmLFVBQVUsR0FBRyxDQUFDLENBQUosR0FBUSxDQUE3QjtBQUFsQjtBQUF2QixLQUNHVixNQUFNLENBQUMwQixHQUFQLENBQVcsVUFBQ0MsS0FBRCxFQUFRQyxLQUFSO0FBQUEsd0JBQ1YsZ0NBQUMsZ0JBQUQ7QUFBa0IsTUFBQSxHQUFHLFlBQUtELEtBQUwsY0FBY0MsS0FBZCxDQUFyQjtBQUE0QyxNQUFBLEtBQUssRUFBRTtBQUFDQyxRQUFBQSxlQUFlLEVBQUVGO0FBQWxCO0FBQW5ELE1BRFU7QUFBQSxHQUFYLENBREgsQ0FMRixFQVVHSCxPQUFPLENBQUNiLFFBQUQsQ0FBUCxJQUFxQkEsUUFWeEIsQ0FEbUI7QUFBQSxDQUFyQjs7QUFlQVksWUFBWSxDQUFDeEIsU0FBYixHQUF5QkEsU0FBekI7QUFDQXdCLFlBQVksQ0FBQ1IsWUFBYixHQUE0QkEsWUFBNUI7ZUFFZVEsWSIsInNvdXJjZXNDb250ZW50IjpbIi8vIENvcHlyaWdodCAoYykgMjAyMSBVYmVyIFRlY2hub2xvZ2llcywgSW5jLlxuLy9cbi8vIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhIGNvcHlcbi8vIG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlIFwiU29mdHdhcmVcIiksIHRvIGRlYWxcbi8vIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHNcbi8vIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGxcbi8vIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpc1xuLy8gZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczpcbi8vXG4vLyBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpblxuLy8gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuXG4vL1xuLy8gVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFwiQVMgSVNcIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUlxuLy8gSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksXG4vLyBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEVcbi8vIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVJcbi8vIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sXG4vLyBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOXG4vLyBUSEUgU09GVFdBUkUuXG5cbmltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgUHJvcFR5cGVzIGZyb20gJ3Byb3AtdHlwZXMnO1xuaW1wb3J0IHN0eWxlZCBmcm9tICdzdHlsZWQtY29tcG9uZW50cyc7XG5cbmNvbnN0IHByb3BUeXBlcyA9IHtcbiAgY29sb3JzOiBQcm9wVHlwZXMuYXJyYXlPZihQcm9wVHlwZXMuc3RyaW5nKS5pc1JlcXVpcmVkLFxuICBoZWlnaHQ6IFByb3BUeXBlcy5udW1iZXIsXG4gIGNsYXNzTmFtZTogUHJvcFR5cGVzLnN0cmluZyxcbiAgaXNTZWxlY3RlZDogUHJvcFR5cGVzLmJvb2wsXG4gIGlzUmV2ZXJzZWQ6IFByb3BUeXBlcy5ib29sLFxuICBjaGlsZHJlbjogUHJvcFR5cGVzLm5vZGUsXG4gIHJvb3RQcm9wczogUHJvcFR5cGVzLm9iamVjdFxufTtcblxuY29uc3QgZGVmYXVsdFByb3BzID0ge1xuICBoZWlnaHQ6IDEwLFxuICBjb2xvcnM6IFtdLFxuICBjbGFzc05hbWU6ICcnLFxuICBpc1NlbGVjdGVkOiBmYWxzZSxcbiAgaXNSZXZlcnNlZDogZmFsc2Vcbn07XG5cbmNvbnN0IFBhbGV0dGVXcmFwcGVyID0gc3R5bGVkLmRpdi5hdHRycyh7XG4gIGNsYXNzTmFtZTogJ2NvbG9yLXJhbmdlLXBhbGV0dGVfX2lubmVyJ1xufSlgXG4gIGJvcmRlci1yYWRpdXM6IDJweDtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgZmxleC1ncm93OiAxO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIG92ZXJmbG93OiBoaWRkZW47XG5gO1xuXG5jb25zdCBQYWxldHRlQ29udGFpbmVyID0gc3R5bGVkLmRpdi5hdHRycyh7XG4gIGNsYXNzTmFtZTogJ2NvbG9yLXJhbmdlLXBhbGV0dGUnXG59KWBcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1ncm93OiAxO1xuICBib3JkZXItd2lkdGg6IDFweDtcbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgYm9yZGVyLWNvbG9yOiAke3Byb3BzID0+IChwcm9wcy5pc1NlbGVjdGVkID8gJyNGRkZGRkYnIDogJ3RyYW5zcGFyZW50Jyl9O1xuICBwYWRkaW5nOiA0cHg7XG4gIGJvcmRlci1yYWRpdXM6IDRweDtcbmA7XG5cbmNvbnN0IFN0eWxlZENvbG9yQmxvY2sgPSBzdHlsZWQuZGl2LmF0dHJzKHtcbiAgY2xhc3NOYW1lOiAnY29sb3ItcmFuZ2UtcGFsZXR0ZV9fYmxvY2snXG59KWBcbiAgZmxleC1ncm93OiAxO1xuYDtcblxuY29uc3QgQ29sb3JQYWxldHRlID0gKHtjb2xvcnMsIGhlaWdodCwgY2xhc3NOYW1lLCBpc1NlbGVjdGVkLCBpc1JldmVyc2VkLCBjaGlsZHJlbiwgcm9vdFByb3BzfSkgPT4gKFxuICA8UGFsZXR0ZUNvbnRhaW5lclxuICAgIGNsYXNzTmFtZT17Y2xhc3NOYW1lfVxuICAgIGlzU2VsZWN0ZWQ9e2lzU2VsZWN0ZWR9XG4gICAgey4uLihCb29sZWFuKHJvb3RQcm9wcykgJiYgcm9vdFByb3BzKX1cbiAgPlxuICAgIDxQYWxldHRlV3JhcHBlciBzdHlsZT17e2hlaWdodCwgdHJhbnNmb3JtOiBgc2NhbGUoJHtpc1JldmVyc2VkID8gLTEgOiAxfSwgMSlgfX0+XG4gICAgICB7Y29sb3JzLm1hcCgoY29sb3IsIGluZGV4KSA9PiAoXG4gICAgICAgIDxTdHlsZWRDb2xvckJsb2NrIGtleT17YCR7Y29sb3J9LSR7aW5kZXh9YH0gc3R5bGU9e3tiYWNrZ3JvdW5kQ29sb3I6IGNvbG9yfX0gLz5cbiAgICAgICkpfVxuICAgIDwvUGFsZXR0ZVdyYXBwZXI+XG4gICAge0Jvb2xlYW4oY2hpbGRyZW4pICYmIGNoaWxkcmVufVxuICA8L1BhbGV0dGVDb250YWluZXI+XG4pO1xuXG5Db2xvclBhbGV0dGUucHJvcFR5cGVzID0gcHJvcFR5cGVzO1xuQ29sb3JQYWxldHRlLmRlZmF1bHRQcm9wcyA9IGRlZmF1bHRQcm9wcztcblxuZXhwb3J0IGRlZmF1bHQgQ29sb3JQYWxldHRlO1xuIl19
@@ -9,6 +9,8 @@ Object.defineProperty(exports, "__esModule", {
9
9
  });
10
10
  exports.ColorPaletteGroup = exports.PaletteConfig = exports["default"] = exports.ALL_STEPS = exports.ALL_TYPES = void 0;
11
11
 
12
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
13
+
12
14
  var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
13
15
 
14
16
  var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
@@ -25,6 +27,8 @@ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/de
25
27
 
26
28
  var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
27
29
 
30
+ var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
31
+
28
32
  var _react = _interopRequireWildcard(require("react"));
29
33
 
30
34
  var _propTypes = _interopRequireDefault(require("prop-types"));
@@ -53,17 +57,23 @@ var _colorUtils = require("../../../utils/color-utils");
53
57
 
54
58
  var _localization = require("../../../localization");
55
59
 
60
+ var _icons = require("../../common/icons");
61
+
56
62
  var _templateObject, _templateObject2, _templateObject3, _templateObject4;
57
63
 
64
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }
65
+
66
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
67
+
58
68
  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2["default"])(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2["default"])(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2["default"])(this, result); }; }
59
69
 
60
70
  function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
61
71
 
62
- var ALL_TYPES = (0, _lodash["default"])(_colorRanges.COLOR_RANGES.map(function (c) {
72
+ var ALL_TYPES = (0, _lodash["default"])(['all'].concat((0, _toConsumableArray2["default"])(_colorRanges.COLOR_RANGES.map(function (c) {
63
73
  return c.type;
64
74
  }).filter(function (ctype) {
65
75
  return ctype;
66
- }).concat(['all', 'custom']));
76
+ })), ['custom']));
67
77
  exports.ALL_TYPES = ALL_TYPES;
68
78
  var ALL_STEPS = (0, _lodash["default"])(_colorRanges.COLOR_RANGES.map(function (d) {
69
79
  return d.colors.length;
@@ -76,10 +86,11 @@ var StyledColorRangeSelector = _styledComponents["default"].div.attrs({
76
86
  className: 'color-range-selector'
77
87
  })(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n padding-bottom: 12px;\n"])));
78
88
 
79
- var StyledPaletteConfig = _styledComponents["default"].div(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])(["\n margin-bottom: 8px;\n display: flex;\n justify-content: space-between;\n align-items: center;\n .color-palette__config__label {\n flex-grow: 1;\n }\n .color-palette__config__select {\n flex-grow: 1;\n }\n .item-selector .item-selector__dropdown {\n ", ";\n }\n"])), function (props) {
89
+ var StyledPaletteConfig = _styledComponents["default"].div(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])(["\n margin-bottom: 8px;\n display: flex;\n justify-content: space-between;\n align-items: center;\n .color-palette__config__label {\n flex-grow: 1;\n }\n .color-palette__config__select {\n flex-grow: 1;\n }\n .item-selector .item-selector__dropdown {\n ", ";\n }\n .color-palette__config__button {\n svg {\n margin: 0;\n }\n }\n"])), function (props) {
80
90
  return props.theme.secondaryInput;
81
91
  });
82
92
 
93
+ var CONFIG_SETTINGS_CUSTOM_REVERSED_BUTTON_TYPE = 'custom-reversed-button';
83
94
  var CONFIG_SETTINGS = {
84
95
  type: {
85
96
  type: 'select',
@@ -90,12 +101,7 @@ var CONFIG_SETTINGS = {
90
101
  options: ALL_STEPS
91
102
  },
92
103
  reversed: {
93
- type: 'switch',
94
- options: [true, false]
95
- },
96
- custom: {
97
- label: 'customPalette',
98
- type: 'switch',
104
+ type: CONFIG_SETTINGS_CUSTOM_REVERSED_BUTTON_TYPE,
99
105
  options: [true, false]
100
106
  }
101
107
  };
@@ -135,7 +141,9 @@ var ColorRangeSelect = /*#__PURE__*/function (_Component) {
135
141
  var key = _ref.key,
136
142
  value = _ref.value;
137
143
 
138
- _this._setColorRangeConfig((0, _defineProperty2["default"])({}, key, value));
144
+ _this._setColorRangeConfig(_objectSpread((0, _defineProperty2["default"])({}, key, value), key === 'type' && {
145
+ custom: value === 'custom'
146
+ }));
139
147
  });
140
148
  (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "_onSetCustomPalette", function (config) {
141
149
  _this.props.setColorPaletteUI({
@@ -173,7 +181,11 @@ var ColorRangeSelect = /*#__PURE__*/function (_Component) {
173
181
  showSketcher = _this$props$colorPale.showSketcher,
174
182
  colorRangeConfig = _this$props$colorPale.colorRangeConfig;
175
183
  var filteredColorRanges = this.filteredColorRange(this.props);
176
- return /*#__PURE__*/_react["default"].createElement(StyledColorRangeSelector, null, /*#__PURE__*/_react["default"].createElement(StyledColorConfig, null, (colorRangeConfig.custom ? ['custom'] : Object.keys(colorRangeConfig)).map(function (key) {
184
+ return /*#__PURE__*/_react["default"].createElement(StyledColorRangeSelector, null, /*#__PURE__*/_react["default"].createElement(StyledColorConfig, {
185
+ className: "color-range-selector__config"
186
+ }, Object.keys(colorRangeConfig).filter(function (key) {
187
+ return Boolean(CONFIG_SETTINGS[key]) && (colorRangeConfig.custom ? key === 'type' : true);
188
+ }).map(function (key) {
177
189
  return /*#__PURE__*/_react["default"].createElement(PaletteConfig, {
178
190
  key: key,
179
191
  label: CONFIG_SETTINGS[key].label || key,
@@ -228,13 +240,13 @@ var PaletteConfig = function PaletteConfig(_ref2) {
228
240
  options = _ref2$config.options,
229
241
  _onChange = _ref2.onChange;
230
242
  return /*#__PURE__*/_react["default"].createElement(StyledPaletteConfig, {
231
- className: "color-palette__config",
243
+ className: "color-palette__config color-palette__config--".concat(label),
232
244
  onClick: function onClick(e) {
233
245
  return e.stopPropagation();
234
246
  }
235
247
  }, /*#__PURE__*/_react["default"].createElement("div", {
236
248
  className: "color-palette__config__label"
237
- }, /*#__PURE__*/_react["default"].createElement(_styledComponents2.PanelLabel, null, /*#__PURE__*/_react["default"].createElement(_localization.FormattedMessage, {
249
+ }, type !== CONFIG_SETTINGS_CUSTOM_REVERSED_BUTTON_TYPE && /*#__PURE__*/_react["default"].createElement(_styledComponents2.PanelLabel, null, /*#__PURE__*/_react["default"].createElement(_localization.FormattedMessage, {
238
250
  id: "color.".concat(label)
239
251
  }))), type === 'select' && /*#__PURE__*/_react["default"].createElement("div", {
240
252
  className: "color-palette__config__select"
@@ -251,7 +263,21 @@ var PaletteConfig = function PaletteConfig(_ref2) {
251
263
  return _onChange(!value);
252
264
  },
253
265
  secondary: true
254
- }));
266
+ }), type === CONFIG_SETTINGS_CUSTOM_REVERSED_BUTTON_TYPE && /*#__PURE__*/_react["default"].createElement(_styledComponents2.Button, (0, _extends2["default"])({
267
+ className: "color-palette__config__button ".concat(value ? 'color-palette__config__button--active' : ''),
268
+ "data-tip": true,
269
+ "data-for": "".concat(label, "-tooltip")
270
+ }, !value && {
271
+ link: true
272
+ }, {
273
+ onClick: function onClick() {
274
+ return _onChange(!value);
275
+ }
276
+ }), /*#__PURE__*/_react["default"].createElement(_icons.SwapHorizontal, null), /*#__PURE__*/_react["default"].createElement(_styledComponents2.Tooltip, {
277
+ id: "".concat(label, "-tooltip"),
278
+ effect: "solid",
279
+ place: "top"
280
+ }, label)));
255
281
  };
256
282
 
257
283
  exports.PaletteConfig = PaletteConfig;
@@ -278,10 +304,18 @@ var ColorPaletteGroup = function ColorPaletteGroup(_ref3) {
278
304
  }, /*#__PURE__*/_react["default"].createElement(_colorPalette["default"], {
279
305
  colors: colorRange.colors,
280
306
  isReversed: reversed,
281
- isSelected: colorRange.name === selected.name && reversed === Boolean(selected.reversed)
282
- }));
307
+ isSelected: colorRange.name === selected.name && reversed === Boolean(selected.reversed),
308
+ rootProps: {
309
+ 'data-tip': true,
310
+ 'data-for': "color-range-".concat(i, "-tooltip")
311
+ }
312
+ }, /*#__PURE__*/_react["default"].createElement(_styledComponents2.Tooltip, {
313
+ id: "color-range-".concat(i, "-tooltip"),
314
+ effect: "solid",
315
+ place: "top"
316
+ }, colorRange.name)));
283
317
  }));
284
318
  };
285
319
 
286
320
  exports.ColorPaletteGroup = ColorPaletteGroup;
287
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL3NpZGUtcGFuZWwvbGF5ZXItcGFuZWwvY29sb3ItcmFuZ2Utc2VsZWN0b3IuanMiXSwibmFtZXMiOlsiQUxMX1RZUEVTIiwiQ09MT1JfUkFOR0VTIiwibWFwIiwiYyIsInR5cGUiLCJmaWx0ZXIiLCJjdHlwZSIsImNvbmNhdCIsIkFMTF9TVEVQUyIsImQiLCJjb2xvcnMiLCJsZW5ndGgiLCJzb3J0IiwibnVtYmVyU29ydCIsIlN0eWxlZENvbG9yQ29uZmlnIiwic3R5bGVkIiwiZGl2IiwiU3R5bGVkQ29sb3JSYW5nZVNlbGVjdG9yIiwiYXR0cnMiLCJjbGFzc05hbWUiLCJTdHlsZWRQYWxldHRlQ29uZmlnIiwicHJvcHMiLCJ0aGVtZSIsInNlY29uZGFyeUlucHV0IiwiQ09ORklHX1NFVFRJTkdTIiwib3B0aW9ucyIsInN0ZXBzIiwicmV2ZXJzZWQiLCJjdXN0b20iLCJsYWJlbCIsIkNvbG9yUmFuZ2VTZWxlY3QiLCJjb2xvclJhbmdlcyIsImNvbG9yUGFsZXR0ZVVJIiwiY29sb3JSYW5nZUNvbmZpZyIsImNvbG9yUmFuZ2VzU2VsZWN0b3IiLCJjb25maWdUeXBlU2VsZWN0b3IiLCJjb25maWdTdGVwU2VsZWN0b3IiLCJjb2xvclJhbmdlIiwiaXNUeXBlIiwiaXNTdGVwIiwiTnVtYmVyIiwia2V5IiwidmFsdWUiLCJfc2V0Q29sb3JSYW5nZUNvbmZpZyIsImNvbmZpZyIsInNldENvbG9yUGFsZXR0ZVVJIiwiY3VzdG9tUGFsZXR0ZSIsIm5ld0NvbmZpZyIsInNob3dTa2V0Y2hlciIsInZhbCIsImZpbHRlcmVkQ29sb3JSYW5nZXMiLCJmaWx0ZXJlZENvbG9yUmFuZ2UiLCJPYmplY3QiLCJrZXlzIiwiX3VwZGF0ZUNvbmZpZyIsInNlbGVjdGVkQ29sb3JSYW5nZSIsIm9uU2VsZWN0Q29sb3JSYW5nZSIsIl9vblRvZ2dsZVNrZXRjaGVyIiwiX29uU2V0Q3VzdG9tUGFsZXR0ZSIsIl9vbkN1c3RvbVBhbGV0dGVDYW5jZWwiLCJDb21wb25lbnQiLCJQcm9wVHlwZXMiLCJvYmplY3QiLCJpc1JlcXVpcmVkIiwiZnVuYyIsImFycmF5T2YiLCJhbnkiLCJQYWxldHRlQ29uZmlnIiwib25DaGFuZ2UiLCJlIiwic3RvcFByb3BhZ2F0aW9uIiwiU3R5bGVkQ29sb3JSYW5nZSIsInBhbmVsQmFja2dyb3VuZEhvdmVyIiwiQ29sb3JQYWxldHRlR3JvdXAiLCJvblNlbGVjdCIsInNlbGVjdGVkIiwiaSIsIm5hbWUiLCJCb29sZWFuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFvQkE7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBRUE7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7Ozs7Ozs7O0FBRU8sSUFBTUEsU0FBUyxHQUFHLHdCQUN2QkMsMEJBQWFDLEdBQWIsQ0FBaUIsVUFBQUMsQ0FBQztBQUFBLFNBQUlBLENBQUMsQ0FBQ0MsSUFBTjtBQUFBLENBQWxCLEVBQ0dDLE1BREgsQ0FDVSxVQUFBQyxLQUFLO0FBQUEsU0FBSUEsS0FBSjtBQUFBLENBRGYsRUFFR0MsTUFGSCxDQUVVLENBQUMsS0FBRCxFQUFRLFFBQVIsQ0FGVixDQUR1QixDQUFsQjs7QUFNQSxJQUFNQyxTQUFTLEdBQUcsd0JBQUtQLDBCQUFhQyxHQUFiLENBQWlCLFVBQUFPLENBQUM7QUFBQSxTQUFJQSxDQUFDLENBQUNDLE1BQUYsQ0FBU0MsTUFBYjtBQUFBLENBQWxCLENBQUwsRUFBNkNDLElBQTdDLENBQWtEQyxxQkFBbEQsQ0FBbEI7OztBQUVQLElBQU1DLGlCQUFpQixHQUFHQyw2QkFBT0MsR0FBVixzSEFBdkI7O0FBSUEsSUFBTUMsd0JBQXdCLEdBQUdGLDZCQUFPQyxHQUFQLENBQVdFLEtBQVgsQ0FBaUI7QUFDaERDLEVBQUFBLFNBQVMsRUFBRTtBQURxQyxDQUFqQixDQUFILG1IQUE5Qjs7QUFNQSxJQUFNQyxtQkFBbUIsR0FBR0wsNkJBQU9DLEdBQVYsbVhBWW5CLFVB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QyxRQUFGLFNBQUVBLFFBQUY7QUFBQSxNQUFZK0MsUUFBWixTQUFZQSxRQUFaO0FBQUEsTUFBc0JDLFFBQXRCLFNBQXNCQSxRQUF0QjtBQUFBLE1BQWdDNUMsV0FBaEMsU0FBZ0NBLFdBQWhDO0FBQUEsc0JBQy9CO0FBQUssSUFBQSxTQUFTLEVBQUM7QUFBZixLQUNHQSxXQUFXLENBQUM3QixHQUFaLENBQWdCLFVBQUNtQyxVQUFELEVBQWF1QyxDQUFiO0FBQUEsd0JBQ2YsZ0NBQUMsZ0JBQUQ7QUFDRSxNQUFBLEdBQUcsWUFBS3ZDLFVBQVUsQ0FBQ3dDLElBQWhCLGNBQXdCRCxDQUF4QixDQURMO0FBRUUsTUFBQSxPQUFPLEVBQUUsaUJBQUFQLENBQUM7QUFBQSxlQUFJSyxRQUFRLENBQUMvQyxRQUFRLEdBQUcsbUNBQWtCLElBQWxCLEVBQXdCVSxVQUF4QixDQUFILEdBQXlDQSxVQUFsRCxFQUE4RGdDLENBQTlELENBQVo7QUFBQTtBQUZaLG9CQUlFLGdDQUFDLHdCQUFEO0FBQ0UsTUFBQSxNQUFNLEVBQUVoQyxVQUFVLENBQUMzQixNQURyQjtBQUVFLE1BQUEsVUFBVSxFQUFFaUIsUUFGZDtBQUdFLE1BQUEsVUFBVSxFQUFFVSxVQUFVLENBQUN3QyxJQUFYLEtBQW9CRixRQUFRLENBQUNFLElBQTdCLElBQXFDbEQsUUFBUSxLQUFLbUQsT0FBTyxDQUFDSCxRQUFRLENBQUNoRCxRQUFWO0FBSHZFLE1BSkYsQ0FEZTtBQUFBLEdBQWhCLENBREgsQ0FEK0I7QUFBQSxDQUExQiIsInNvdXJjZXNDb250ZW50IjpbIi8vIENvcHlyaWdodCAoYykgMjAyMSBVYmVyIFRlY2hub2xvZ2llcywgSW5jLlxuLy9cbi8vIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhIGNvcHlcbi8vIG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlIFwiU29mdHdhcmVcIiksIHRvIGRlYWxcbi8vIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHNcbi8vIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGxcbi8vIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpc1xuLy8gZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczpcbi8vXG4vLyBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpblxuLy8gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuXG4vL1xuLy8gVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFwiQVMgSVNcIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUlxuLy8gSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksXG4vLyBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEVcbi8vIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVJcbi8vIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sXG4vLyBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOXG4vLyBUSEUgU09GVFdBUkUuXG5cbmltcG9ydCBSZWFjdCwge0NvbXBvbmVudH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcbmltcG9ydCB1bmlxIGZyb20gJ2xvZGFzaC51bmlxJztcbmltcG9ydCBzdHlsZWQgZnJvbSAnc3R5bGVkLWNvbXBvbmVudHMnO1xuaW1wb3J0IHtjcmVhdGVTZWxlY3Rvcn0gZnJvbSAncmVzZWxlY3QnO1xuXG5pbXBvcnQgSXRlbVNlbGVjdG9yIGZyb20gJ2NvbXBvbmVudHMvY29tbW9uL2l0ZW0tc2VsZWN0b3IvaXRlbS1zZWxlY3Rvcic7XG5pbXBvcnQge1BhbmVsTGFiZWx9IGZyb20gJ2NvbXBvbmVudHMvY29tbW9uL3N0eWxlZC1jb21wb25lbnRzJztcbmltcG9ydCBTd2l0Y2ggZnJvbSAnY29tcG9uZW50cy9jb21tb24vc3dpdGNoJztcbmltcG9ydCBDb2xvclBhbGV0dGUgZnJvbSAnLi9jb2xvci1wYWxldHRlJztcbmltcG9ydCBDdXN0b21QYWxldHRlIGZyb20gJy4vY3VzdG9tLXBhbGV0dGUnO1xuaW1wb3J0IHtDT0xPUl9SQU5HRVN9IGZyb20gJ2NvbnN0YW50cy9jb2xvci1yYW5nZXMnO1xuaW1wb3J0IHtudW1iZXJTb3J0fSBmcm9tICd1dGlscy9kYXRhLXV0aWxzJztcbmltcG9ydCB7cmV2ZXJzZUNvbG9yUmFuZ2V9IGZyb20gJ3V0aWxzL2NvbG9yLXV0aWxzJztcbmltcG9ydCB7Rm9ybWF0dGVkTWVzc2FnZX0gZnJvbSAnbG9jYWxpemF0aW9uJztcblxuZXhwb3J0IGNvbnN0IEFMTF9UWVBFUyA9IHVuaXEoXG4gIENPTE9SX1JBTkdFUy5tYXAoYyA9PiBjLnR5cGUpXG4gICAgLmZpbHRlcihjdHlwZSA9PiBjdHlwZSlcbiAgICAuY29uY2F0KFsnYWxsJywgJ2N1c3RvbSddKVxuKTtcblxuZXhwb3J0IGNvbnN0IEFMTF9TVEVQUyA9IHVuaXEoQ09MT1JfUkFOR0VTLm1hcChkID0+IGQuY29sb3JzLmxlbmd0aCkpLnNvcnQobnVtYmVyU29ydCk7XG5cbmNvbnN0IFN0eWxlZENvbG9yQ29uZmlnID0gc3R5bGVkLmRpdmBcbiAgcGFkZGluZzogMTJweCAxMnB4IDAgMTJweDtcbmA7XG5cbmNvbnN0IFN0eWxlZENvbG9yUmFuZ2VTZWxlY3RvciA9IHN0eWxlZC5kaXYuYXR0cnMoe1xuICBjbGFzc05hbWU6ICdjb2xvci1yYW5nZS1zZWxlY3Rvcidcbn0pYFxuICBwYWRkaW5nLWJvdHRvbTogMTJweDtcbmA7XG5cbmNvbnN0IFN0eWxlZFBhbGV0dGVDb25maWcgPSBzdHlsZWQuZGl2YFxuICBtYXJnaW4tYm90dG9tOiA4cHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgLmNvbG9yLXBhbGV0dGVfX2NvbmZpZ19fbGFiZWwge1xuICAgIGZsZXgtZ3JvdzogMTtcbiAgfVxuICAuY29sb3ItcGFsZXR0ZV9fY29uZmlnX19zZWxlY3Qge1xuICAgIGZsZXgtZ3JvdzogMTtcbiAgfVxuICAuaXRlbS1zZWxlY3RvciAuaXRlbS1zZWxlY3Rvcl9fZHJvcGRvd24ge1xuICAgICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuc2Vjb25kYXJ5SW5wdXR9O1xuICB9XG5gO1xuXG5jb25zdCBDT05GSUdfU0VUVElOR1MgPSB7XG4gIHR5cGU6IHtcbiAgICB0eXBlOiAnc2VsZWN0JyxcbiAgICBvcHRpb25zOiBBTExfVFlQRVNcbiAgfSxcbiAgc3RlcHM6IHtcbiAgICB0eXBlOiAnc2VsZWN0JyxcbiAgICBvcHRpb25zOiBBTExfU1RFUFNcbiAgfSxcbiAgcmV2ZXJzZWQ6IHtcbiAgICB0eXBlOiAnc3dpdGNoJyxcbiAgICBvcHRpb25zOiBbdHJ1ZSwgZmFsc2VdXG4gIH0sXG4gIGN1c3RvbToge1xuICAgIGxhYmVsOiAnY3VzdG9tUGFsZXR0ZScsXG4gICAgdHlwZTogJ3N3aXRjaCcsXG4gICAgb3B0aW9uczogW3RydWUsIGZhbHNlXVxuICB9XG59O1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBDb2xvclJhbmdlU2VsZWN0IGV4dGVuZHMgQ29tcG9uZW50IHtcbiAgc3RhdGljIHByb3BUeXBlcyA9IHtcbiAgICBjb2xvclBhbGV0dGVVSTogUHJvcFR5cGVzLm9iamVjdC5pc1JlcXVpcmVkLFxuICAgIHNlbGVjdGVkQ29sb3JSYW5nZTogUHJvcFR5cGVzLm9iamVjdC5pc1JlcXVpcmVkLFxuICAgIG9uU2VsZWN0Q29sb3JSYW5nZTogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBzZXRDb2xvclBhbGV0dGVVSTogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICAvLyBvcHRpb25hbFxuICAgIGNvbG9yUmFuZ2VzOiBQcm9wVHlwZXMuYXJyYXlPZihQcm9wVHlwZXMuYW55KVxuICB9O1xuXG4gIHN0YXRpYyBkZWZhdWx0UHJvcHMgPSB7XG4gICAgY29sb3JSYW5nZXM6IENPTE9SX1JBTkdFUyxcbiAgICBvblNlbGVjdENvbG9yUmFuZ2U6ICgpID0+IHt9LFxuICAgIHNldENvbG9yUGFsZXR0ZVVJOiAoKSA9PiB7fVxuICB9O1xuXG4gIGNvbG9yUmFuZ2VzU2VsZWN0b3IgPSBwcm9wcyA9PiBwcm9wcy5jb2xvclJhbmdlcztcbiAgY29uZmlnVHlwZVNlbGVjdG9yID0gcHJvcHMgPT4gcHJvcHMuY29sb3JQYWxldHRlVUkuY29sb3JSYW5nZUNvbmZpZy50eXBlO1xuICBjb25maWdTdGVwU2VsZWN0b3IgPSBwcm9wcyA9PiBwcm9wcy5jb2xvclBhbGV0dGVVSS5jb2xvclJhbmdlQ29uZmlnLnN0ZXBzO1xuICBmaWx0ZXJlZENvbG9yUmFuZ2UgPSBjcmVhdGVTZWxlY3RvcihcbiAgICB0aGlzLmNvbG9yUmFuZ2VzU2VsZWN0b3IsXG4gICAgdGhpcy5jb25maWdUeXBlU2VsZWN0b3IsXG4gICAgdGhpcy5jb25maWdTdGVwU2VsZWN0b3IsXG4gICAgKGNvbG9yUmFuZ2VzLCB0eXBlLCBzdGVwcykgPT4ge1xuICAgICAgcmV0dXJuIGNvbG9yUmFuZ2VzLmZpbHRlcihjb2xvclJhbmdlID0+IHtcbiAgICAgICAgY29uc3QgaXNUeXBlID0gdHlwZSA9PT0gJ2FsbCcgfHwgdHlwZSA9PT0gY29sb3JSYW5nZS50eXBlO1xuICAgICAgICBjb25zdCBpc1N0ZXAgPSBOdW1iZXIoc3RlcHMpID09PSBjb2xvclJhbmdlLmNvbG9ycy5sZW5ndGg7XG5cbiAgICAgICAgcmV0dXJuIGlzVHlwZSAmJiBpc1N0ZXA7XG4gICAgICB9KTtcbiAgICB9XG4gICk7XG5cbiAgX3VwZGF0ZUNvbmZpZyA9ICh7a2V5LCB2YWx1ZX0pID0+IHtcbiAgICB0aGlzLl9zZXRDb2xvclJhbmdlQ29uZmlnKHtba2V5XTogdmFsdWV9KTtcbiAgfTtcblxuICBfb25TZXRDdXN0b21QYWxldHRlID0gY29uZmlnID0+IHtcbiAgICB0aGlzLnByb3BzLnNldENvbG9yUGFsZXR0ZVVJKHtcbiAgICAgIGN1c3RvbVBhbGV0dGU6IGNvbmZpZ1xuICAgIH0pO1xuICB9O1xuXG4gIF9zZXRDb2xvclJhbmdlQ29uZmlnID0gbmV3Q29uZmlnID0+IHtcbiAgICB0aGlzLnByb3BzLnNldENvbG9yUGFsZXR0ZVVJKHtcbiAgICAgIGNvbG9yUmFuZ2VDb25maWc6IG5ld0NvbmZpZ1xuICAgIH0pO1xuICB9O1xuXG4gIF9vbkN1c3RvbVBhbGV0dGVDYW5jZWwgPSBuZXdDb25maWcgPT4ge1xuICAgIHRoaXMucHJvcHMuc2V0Q29sb3JQYWxldHRlVUkoe1xuICAgICAgc2hvd1NrZXRjaGVyOiBmYWxzZSxcbiAgICAgIGNvbG9yUmFuZ2VDb25maWc6IHtjdXN0b206IGZhbHNlfVxuICAgIH0pO1xuICB9O1xuXG4gIF9vblRvZ2dsZVNrZXRjaGVyID0gdmFsID0+IHtcbiAgICB0aGlzLnByb3BzLnNldENvbG9yUGFsZXR0ZVVJKHtcbiAgICAgIHNob3dTa2V0Y2hlcjogdmFsXG4gICAgfSk7XG4gIH07XG5cbiAgcmVuZGVyKCkge1xuICAgIGNvbnN0IHtjdXN0b21QYWxldHRlLCBzaG93U2tldGNoZXIsIGNvbG9yUmFuZ2VDb25maWd9ID0gdGhpcy5wcm9wcy5jb2xvclBhbGV0dGVVSTtcblxuICAgIGNvbnN0IGZpbHRlcmVkQ29sb3JSYW5nZXMgPSB0aGlzLmZpbHRlcmVkQ29sb3JSYW5nZSh0aGlzLnByb3BzKTtcblxuICAgIHJldHVybiAoXG4gICAgICA8U3R5bGVkQ29sb3JSYW5nZVNlbGVjdG9yPlxuICAgICAgICA8U3R5bGVkQ29sb3JDb25maWc+XG4gICAgICAgICAgeyhjb2xvclJhbmdlQ29uZmlnLmN1c3RvbSA/IFsnY3VzdG9tJ10gOiBPYmplY3Qua2V5cyhjb2xvclJhbmdlQ29uZmlnKSkubWFwKGtleSA9PiAoXG4gICAgICAgICAgICA8UGFsZXR0ZUNvbmZpZ1xuICAgICAgICAgICAgICBrZXk9e2tleX1cbiAgICAgICAgICAgICAgbGFiZWw9e0NPTkZJR19TRVRUSU5HU1trZXldLmxhYmVsIHx8IGtleX1cbiAgICAgICAgICAgICAgY29uZmlnPXtDT05GSUdfU0VUVElOR1Nba2V5XX1cbiAgICAgICAgICAgICAgdmFsdWU9e2NvbG9yUmFuZ2VDb25maWdba2V5XX1cbiAgICAgICAgICAgICAgb25DaGFuZ2U9e3ZhbHVlID0+IHRoaXMuX3VwZGF0ZUNvbmZpZyh7a2V5LCB2YWx1ZX0pfVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICApKX1cbiAgICAgICAgPC9TdHlsZWRDb2xvckNvbmZpZz5cblxuICAgICAgICB7Y29sb3JSYW5nZUNvbmZpZy5jdXN0b20gPyAoXG4gICAgICAgICAgPEN1c3RvbVBhbGV0dGVcbiAgICAgICAgICAgIGN1c3RvbVBhbGV0dGU9e2N1c3RvbVBhbGV0dGV9XG4gICAgICAgICAgICBzaG93U2tldGNoZXI9e3Nob3dTa2V0Y2hlcn1cbiAgICAgICAgICAgIHNlbGVjdGVkPXt0aGlzLnByb3BzLnNlbGVjdGVkQ29sb3JSYW5nZX1cbiAgICAgICAgICAgIG9uQXBwbHk9e3RoaXMucHJvcHMub25TZWxlY3RDb2xvclJhbmdlfVxuICAgICAgICAgICAgb25Ub2dnbGVTa2V0Y2hlcj17dGhpcy5fb25Ub2dnbGVTa2V0Y2hlcn1cbiAgICAgICAgICAgIHNldEN1c3RvbVBhbGV0dGU9e3RoaXMuX29uU2V0Q3VzdG9tUGFsZXR0ZX1cbiAgICAgICAgICAgIG9uQ2FuY2VsPXt0aGlzLl9vbkN1c3RvbVBhbGV0dGVDYW5jZWx9XG4gICAgICAgICAgLz5cbiAgICAgICAgKSA6IChcbiAgICAgICAgICA8Q29sb3JQYWxldHRlR3JvdXBcbiAgICAgICAgICAgIGNvbG9yUmFuZ2VzPXtmaWx0ZXJlZENvbG9yUmFuZ2VzfVxuICAgICAgICAgICAgb25TZWxlY3Q9e3RoaXMucHJvcHMub25TZWxlY3RDb2xvclJhbmdlfVxuICAgICAgICAgICAgc2VsZWN0ZWQ9e3RoaXMucHJvcHMuc2VsZWN0ZWRDb2xvclJhbmdlfVxuICAgICAgICAgICAgcmV2ZXJzZWQ9e2NvbG9yUmFuZ2VDb25maWcucmV2ZXJzZWR9XG4gICAgICAgICAgLz5cbiAgICAgICAgKX1cbiAgICAgIDwvU3R5bGVkQ29sb3JSYW5nZVNlbGVjdG9yPlxuICAgICk7XG4gIH1cbn1cblxuZXhwb3J0IGNvbnN0IFBhbGV0dGVDb25maWcgPSAoe2xhYmVsLCB2YWx1ZSwgY29uZmlnOiB7dHlwZSwgb3B0aW9uc30sIG9uQ2hhbmdlfSkgPT4gKFxuICA8U3R5bGVkUGFsZXR0ZUNvbmZpZyBjbGFzc05hbWU9XCJjb2xvci1wYWxldHRlX19jb25maWdcIiBvbkNsaWNrPXtlID0+IGUuc3RvcFByb3BhZ2F0aW9uKCl9PlxuICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sb3ItcGFsZXR0ZV9fY29uZmlnX19sYWJlbFwiPlxuICAgICAgPFBhbmVsTGFiZWw+XG4gICAgICAgIDxGb3JtYXR0ZWRNZXNzYWdlIGlkPXtgY29sb3IuJHtsYWJlbH1gfSAvPlxuICAgICAgPC9QYW5lbExhYmVsPlxuICAgIDwvZGl2PlxuICAgIHt0eXBlID09PSAnc2VsZWN0JyAmJiAoXG4gICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbG9yLXBhbGV0dGVfX2NvbmZpZ19fc2VsZWN0XCI+XG4gICAgICAgIDxJdGVtU2VsZWN0b3JcbiAgICAgICAgICBzZWxlY3RlZEl0ZW1zPXt2YWx1ZX1cbiAgICAgICAgICBvcHRpb25zPXtvcHRpb25zfVxuICAgICAgICAgIG11bHRpU2VsZWN0PXtmYWxzZX1cbiAgICAgICAgICBzZWFyY2hhYmxlPXtmYWxzZX1cbiAgICAgICAgICBvbkNoYW5nZT17b25DaGFuZ2V9XG4gICAgICAgIC8+XG4gICAgICA8L2Rpdj5cbiAgICApfVxuICAgIHt0eXBlID09PSAnc3dpdGNoJyAmJiAoXG4gICAgICA8U3dpdGNoIGNoZWNrZWQ9e3ZhbHVlfSBpZD17YCR7bGFiZWx9LXRvZ2dsZWB9IG9uQ2hhbmdlPXsoKSA9PiBvbkNoYW5nZSghdmFsdWUpfSBzZWNvbmRhcnkgLz5cbiAgICApfVxuICA8L1N0eWxlZFBhbGV0dGVDb25maWc+XG4pO1xuXG5jb25zdCBTdHlsZWRDb2xvclJhbmdlID0gc3R5bGVkLmRpdi5hdHRycyh7XG4gIGNsYXNzTmFtZTogJ2NvbG9yLXBhbGV0dGUtb3V0ZXInXG59KWBcbiAgcGFkZGluZzogMCA4cHg7XG4gIDpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5wYW5lbEJhY2tncm91bmRIb3Zlcn07XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICB9XG5gO1xuXG5leHBvcnQgY29uc3QgQ29sb3JQYWxldHRlR3JvdXAgPSAoe3JldmVyc2VkLCBvblNlbGVjdCwgc2VsZWN0ZWQsIGNvbG9yUmFuZ2VzfSkgPT4gKFxuICA8ZGl2IGNsYXNzTmFtZT1cImNvbG9yLXBhbGV0dGVfX2dyb3VwXCI+XG4gICAge2NvbG9yUmFuZ2VzLm1hcCgoY29sb3JSYW5nZSwgaSkgPT4gKFxuICAgICAgPFN0eWxlZENvbG9yUmFuZ2VcbiAgICAgICAga2V5PXtgJHtjb2xvclJhbmdlLm5hbWV9LSR7aX1gfVxuICAgICAgICBvbkNsaWNrPXtlID0+IG9uU2VsZWN0KHJldmVyc2VkID8gcmV2ZXJzZUNvbG9yUmFuZ2UodHJ1ZSwgY29sb3JSYW5nZSkgOiBjb2xvclJhbmdlLCBlKX1cbiAgICAgID5cbiAgICAgICAgPENvbG9yUGFsZXR0ZVxuICAgICAgICAgIGNvbG9ycz17Y29sb3JSYW5nZS5jb2xvcnN9XG4gICAgICAgICAgaXNSZXZlcnNlZD17cmV2ZXJzZWR9XG4gICAgICAgICAgaXNTZWxlY3RlZD17Y29sb3JSYW5nZS5uYW1lID09PSBzZWxlY3RlZC5uYW1lICYmIHJldmVyc2VkID09PSBCb29sZWFuKHNlbGVjdGVkLnJldmVyc2VkKX1cbiAgICAgICAgLz5cbiAgICAgIDwvU3R5bGVkQ29sb3JSYW5nZT5cbiAgICApKX1cbiAgPC9kaXY+XG4pO1xuIl19
321
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL3NpZGUtcGFuZWwvbGF5ZXItcGFuZWwvY29sb3ItcmFuZ2Utc2VsZWN0b3IuanMiXSwibmFtZXMiOlsiQUxMX1RZUEVTIiwiQ09MT1JfUkFOR0VTIiwibWFwIiwiYyIsInR5cGUiLCJmaWx0ZXIiLCJjdHlwZSIsIkFMTF9TVEVQUyIsImQiLCJjb2xvcnMiLCJsZW5ndGgiLCJzb3J0IiwibnVtYmVyU29ydCIsIlN0eWxlZENvbG9yQ29uZmlnIiwic3R5bGVkIiwiZGl2IiwiU3R5bGVkQ29sb3JSYW5nZVNlbGVjdG9yIiwiYXR0cnMiLCJjbGFzc05hbWUiLCJTdHlsZWRQYWxldHRlQ29uZmlnIiwicHJvcHMiLCJ0aGVtZSIsInNlY29uZGFyeUlucHV0IiwiQ09ORklHX1NFVFRJTkdTX0NVU1RPTV9SRVZFUlNFRF9CVVRUT05fVFlQRSIsIkNPTkZJR19TRVRUSU5HUyIsIm9wdGlvbnMiLCJzdGVwcyIsInJldmVyc2VkIiwiQ29sb3JSYW5nZVNlbGVjdCIsImNvbG9yUmFuZ2VzIiwiY29sb3JQYWxldHRlVUkiLCJjb2xvclJhbmdlQ29uZmlnIiwiY29sb3JSYW5nZXNTZWxlY3RvciIsImNvbmZpZ1R5cGVTZWxlY3RvciIsImNvbmZpZ1N0ZXBTZWxlY3RvciIsImNvbG9yUmFuZ2UiLCJpc1R5cGUiLCJpc1N0ZXAiLCJOdW1iZXIiLCJrZXkiLCJ2YWx1ZSIsIl9zZXRDb2xvclJhbmdlQ29uZmlnIiwiY3VzdG9tIiwiY29uZmlnIiwic2V0Q29sb3JQYWxldHRlVUkiLCJjdXN0b21QYWxldHRlIiwibmV3Q29uZmlnIiwic2hvd1NrZXRjaGVyIiwidmFsIiwiZmlsdGVyZWRDb2xvclJhbmdlcyIsImZpbHRlcmVkQ29sb3JSYW5nZSIsIk9iamVjdCIsImtleXMiLCJCb29sZWFuIiwibGFiZWwiLCJfdXBkYXRlQ29uZmlnIiwic2VsZWN0ZWRDb2xvclJhbmdlIiwib25TZWxlY3RDb2xvclJhbmdlIiwiX29uVG9nZ2xlU2tldGNoZXIiLCJfb25TZXRDdXN0b21QYWxldHRlIiwiX29uQ3VzdG9tUGFsZXR0ZUNhbmNlbCIsIkNvbXBvbmVudCIsIlByb3BUeXBlcyIsIm9iamVjdCIsImlzUmVxdWlyZWQiLCJmdW5jIiwiYXJyYXlPZiIsImFueSIsIlBhbGV0dGVDb25maWciLCJvbkNoYW5nZSIsImUiLCJzdG9wUHJvcGFnYXRpb24iLCJsaW5rIiwiU3R5bGVkQ29sb3JSYW5nZSIsInBhbmVsQmFja2dyb3VuZEhvdmVyIiwiQ29sb3JQYWxldHRlR3JvdXAiLCJvblNlbGVjdCIsInNlbGVjdGVkIiwiaSIsIm5hbWUiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFvQkE7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBRUE7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7Ozs7Ozs7Ozs7OztBQUVPLElBQU1BLFNBQVMsR0FBRyx5QkFDdkIsS0FEdUIsNkNBRXBCQywwQkFBYUMsR0FBYixDQUFpQixVQUFBQyxDQUFDO0FBQUEsU0FBSUEsQ0FBQyxDQUFDQyxJQUFOO0FBQUEsQ0FBbEIsRUFBOEJDLE1BQTlCLENBQXFDLFVBQUFDLEtBQUs7QUFBQSxTQUFJQSxLQUFKO0FBQUEsQ0FBMUMsQ0FGb0IsSUFHdkIsUUFIdUIsR0FBbEI7O0FBTUEsSUFBTUMsU0FBUyxHQUFHLHdCQUFLTiwwQkFBYUMsR0FBYixDQUFpQixVQUFBTSxDQUFDO0FBQUEsU0FBSUEsQ0FBQyxDQUFDQyxNQUFGLENBQVNDLE1BQWI7QUFBQSxDQUFsQixDQUFMLEVBQTZDQyxJQUE3QyxDQUFrREMscUJBQWxELENBQWxCOzs7QUFFUCxJQUFNQyxpQkFBaUIsR0FBR0MsNkJBQU9DLEdBQVYsc0hBQXZCOztBQUlBLElBQU1DLHdCQUF3QixHQUFHRiw2QkFBT0MsR0FBUCxDQUFXRSxLQUFYLENBQWlCO0FBQ2hEQyxFQUFBQSxTQUFTLEVBQUU7QUFEcUMsQ0FBakIsQ0FBSCxtSEFBOUI7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QUFHLG1DQUFrQixJQUFsQixFQUF3QlEsVUFBeEIsQ0FBSCxHQUF5Q0EsVUFBbEQsRUFBOERtQyxDQUE5RCxDQUFaO0FBQUE7QUFGWixvQkFJRSxnQ0FBQyx3QkFBRDtBQUNFLE1BQUEsTUFBTSxFQUFFbkMsVUFBVSxDQUFDMUIsTUFEckI7QUFFRSxNQUFBLFVBQVUsRUFBRWtCLFFBRmQ7QUFHRSxNQUFBLFVBQVUsRUFBRVEsVUFBVSxDQUFDNEMsSUFBWCxLQUFvQkYsUUFBUSxDQUFDRSxJQUE3QixJQUFxQ3BELFFBQVEsS0FBSzBCLE9BQU8sQ0FBQ3dCLFFBQVEsQ0FBQ2xELFFBQVYsQ0FIdkU7QUFJRSxNQUFBLFNBQVMsRUFBRTtBQUNULG9CQUFZLElBREg7QUFFVCwwQ0FBMkJtRCxDQUEzQjtBQUZTO0FBSmIsb0JBU0UsZ0NBQUMsMEJBQUQ7QUFBUyxNQUFBLEVBQUUsd0JBQWlCQSxDQUFqQixhQUFYO0FBQXlDLE1BQUEsTUFBTSxFQUFDLE9BQWhEO0FBQXdELE1BQUEsS0FBSyxFQUFDO0FBQTlELE9BQ0czQyxVQUFVLENBQUM0QyxJQURkLENBVEYsQ0FKRixDQURlO0FBQUEsR0FBaEIsQ0FESCxDQUQrQjtBQUFBLENBQTFCIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQ29weXJpZ2h0IChjKSAyMDIxIFViZXIgVGVjaG5vbG9naWVzLCBJbmMuXG4vL1xuLy8gUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEgY29weVxuLy8gb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgXCJTb2Z0d2FyZVwiKSwgdG8gZGVhbFxuLy8gaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0c1xuLy8gdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbFxuLy8gY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzXG4vLyBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOlxuLy9cbi8vIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluXG4vLyBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS5cbi8vXG4vLyBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgXCJBUyBJU1wiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SXG4vLyBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSxcbi8vIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRVxuLy8gQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUlxuLy8gTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSxcbi8vIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU5cbi8vIFRIRSBTT0ZUV0FSRS5cblxuaW1wb3J0IFJlYWN0LCB7Q29tcG9uZW50fSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgUHJvcFR5cGVzIGZyb20gJ3Byb3AtdHlwZXMnO1xuaW1wb3J0IHVuaXEgZnJvbSAnbG9kYXNoLnVuaXEnO1xuaW1wb3J0IHN0eWxlZCBmcm9tICdzdHlsZWQtY29tcG9uZW50cyc7XG5pbXBvcnQge2NyZWF0ZVNlbGVjdG9yfSBmcm9tICdyZXNlbGVjdCc7XG5cbmltcG9ydCBJdGVtU2VsZWN0b3IgZnJvbSAnY29tcG9uZW50cy9jb21tb24vaXRlbS1zZWxlY3Rvci9pdGVtLXNlbGVjdG9yJztcbmltcG9ydCB7UGFuZWxMYWJlbCwgQnV0dG9uLCBUb29sdGlwfSBmcm9tICdjb21wb25lbnRzL2NvbW1vbi9zdHlsZWQtY29tcG9uZW50cyc7XG5pbXBvcnQgU3dpdGNoIGZyb20gJ2NvbXBvbmVudHMvY29tbW9uL3N3aXRjaCc7XG5pbXBvcnQgQ29sb3JQYWxldHRlIGZyb20gJy4vY29sb3ItcGFsZXR0ZSc7XG5pbXBvcnQgQ3VzdG9tUGFsZXR0ZSBmcm9tICcuL2N1c3RvbS1wYWxldHRlJztcbmltcG9ydCB7Q09MT1JfUkFOR0VTfSBmcm9tICdjb25zdGFudHMvY29sb3ItcmFuZ2VzJztcbmltcG9ydCB7bnVtYmVyU29ydH0gZnJvbSAndXRpbHMvZGF0YS11dGlscyc7XG5pbXBvcnQge3JldmVyc2VDb2xvclJhbmdlfSBmcm9tICd1dGlscy9jb2xvci11dGlscyc7XG5pbXBvcnQge0Zvcm1hdHRlZE1lc3NhZ2V9IGZyb20gJ2xvY2FsaXphdGlvbic7XG5pbXBvcnQge1N3YXBIb3Jpem9udGFsfSBmcm9tICdjb21wb25lbnRzL2NvbW1vbi9pY29ucyc7XG5cbmV4cG9ydCBjb25zdCBBTExfVFlQRVMgPSB1bmlxKFtcbiAgJ2FsbCcsXG4gIC4uLkNPTE9SX1JBTkdFUy5tYXAoYyA9PiBjLnR5cGUpLmZpbHRlcihjdHlwZSA9PiBjdHlwZSksXG4gICdjdXN0b20nXG5dKTtcblxuZXhwb3J0IGNvbnN0IEFMTF9TVEVQUyA9IHVuaXEoQ09MT1JfUkFOR0VTLm1hcChkID0+IGQuY29sb3JzLmxlbmd0aCkpLnNvcnQobnVtYmVyU29ydCk7XG5cbmNvbnN0IFN0eWxlZENvbG9yQ29uZmlnID0gc3R5bGVkLmRpdmBcbiAgcGFkZGluZzogMTJweCAxMnB4IDAgMTJweDtcbmA7XG5cbmNvbnN0IFN0eWxlZENvbG9yUmFuZ2VTZWxlY3RvciA9IHN0eWxlZC5kaXYuYXR0cnMoe1xuICBjbGFzc05hbWU6ICdjb2xvci1yYW5nZS1zZWxlY3Rvcidcbn0pYFxuICBwYWRkaW5nLWJvdHRvbTogMTJweDtcbmA7XG5cbmNvbnN0IFN0eWxlZFBhbGV0dGVDb25maWcgPSBzdHlsZWQuZGl2YFxuICBtYXJnaW4tYm90dG9tOiA4cHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgLmNvbG9yLXBhbGV0dGVfX2NvbmZpZ19fbGFiZWwge1xuICAgIGZsZXgtZ3JvdzogMTtcbiAgfVxuICAuY29sb3ItcGFsZXR0ZV9fY29uZmlnX19zZWxlY3Qge1xuICAgIGZsZXgtZ3JvdzogMTtcbiAgfVxuICAuaXRlbS1zZWxlY3RvciAuaXRlbS1zZWxlY3Rvcl9fZHJvcGRvd24ge1xuICAgICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuc2Vjb25kYXJ5SW5wdXR9O1xuICB9XG4gIC5jb2xvci1wYWxldHRlX19jb25maWdfX2J1dHRvbiB7XG4gICAgc3ZnIHtcbiAgICAgIG1hcmdpbjogMDtcbiAgICB9XG4gIH1cbmA7XG5cbmNvbnN0IENPTkZJR19TRVRUSU5HU19DVVNUT01fUkVWRVJTRURfQlVUVE9OX1RZUEUgPSAnY3VzdG9tLXJldmVyc2VkLWJ1dHRvbic7XG5cbmNvbnN0IENPTkZJR19TRVRUSU5HUyA9IHtcbiAgdHlwZToge1xuICAgIHR5cGU6ICdzZWxlY3QnLFxuICAgIG9wdGlvbnM6IEFMTF9UWVBFU1xuICB9LFxuICBzdGVwczoge1xuICAgIHR5cGU6ICdzZWxlY3QnLFxuICAgIG9wdGlvbnM6IEFMTF9TVEVQU1xuICB9LFxuICByZXZlcnNlZDoge1xuICAgIHR5cGU6IENPTkZJR19TRVRUSU5HU19DVVNUT01fUkVWRVJTRURfQlVUVE9OX1RZUEUsXG4gICAgb3B0aW9uczogW3RydWUsIGZhbHNlXVxuICB9XG59O1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBDb2xvclJhbmdlU2VsZWN0IGV4dGVuZHMgQ29tcG9uZW50IHtcbiAgc3RhdGljIHByb3BUeXBlcyA9IHtcbiAgICBjb2xvclBhbGV0dGVVSTogUHJvcFR5cGVzLm9iamVjdC5pc1JlcXVpcmVkLFxuICAgIHNlbGVjdGVkQ29sb3JSYW5nZTogUHJvcFR5cGVzLm9iamVjdC5pc1JlcXVpcmVkLFxuICAgIG9uU2VsZWN0Q29sb3JSYW5nZTogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBzZXRDb2xvclBhbGV0dGVVSTogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICAvLyBvcHRpb25hbFxuICAgIGNvbG9yUmFuZ2VzOiBQcm9wVHlwZXMuYXJyYXlPZihQcm9wVHlwZXMuYW55KVxuICB9O1xuXG4gIHN0YXRpYyBkZWZhdWx0UHJvcHMgPSB7XG4gICAgY29sb3JSYW5nZXM6IENPTE9SX1JBTkdFUyxcbiAgICBvblNlbGVjdENvbG9yUmFuZ2U6ICgpID0+IHt9LFxuICAgIHNldENvbG9yUGFsZXR0ZVVJOiAoKSA9PiB7fVxuICB9O1xuXG4gIGNvbG9yUmFuZ2VzU2VsZWN0b3IgPSBwcm9wcyA9PiBwcm9wcy5jb2xvclJhbmdlcztcbiAgY29uZmlnVHlwZVNlbGVjdG9yID0gcHJvcHMgPT4gcHJvcHMuY29sb3JQYWxldHRlVUkuY29sb3JSYW5nZUNvbmZpZy50eXBlO1xuICBjb25maWdTdGVwU2VsZWN0b3IgPSBwcm9wcyA9PiBwcm9wcy5jb2xvclBhbGV0dGVVSS5jb2xvclJhbmdlQ29uZmlnLnN0ZXBzO1xuICBmaWx0ZXJlZENvbG9yUmFuZ2UgPSBjcmVhdGVTZWxlY3RvcihcbiAgICB0aGlzLmNvbG9yUmFuZ2VzU2VsZWN0b3IsXG4gICAgdGhpcy5jb25maWdUeXBlU2VsZWN0b3IsXG4gICAgdGhpcy5jb25maWdTdGVwU2VsZWN0b3IsXG4gICAgKGNvbG9yUmFuZ2VzLCB0eXBlLCBzdGVwcykgPT4ge1xuICAgICAgcmV0dXJuIGNvbG9yUmFuZ2VzLmZpbHRlcihjb2xvclJhbmdlID0+IHtcbiAgICAgICAgY29uc3QgaXNUeXBlID0gdHlwZSA9PT0gJ2FsbCcgfHwgdHlwZSA9PT0gY29sb3JSYW5nZS50eXBlO1xuICAgICAgICBjb25zdCBpc1N0ZXAgPSBOdW1iZXIoc3RlcHMpID09PSBjb2xvclJhbmdlLmNvbG9ycy5sZW5ndGg7XG5cbiAgICAgICAgcmV0dXJuIGlzVHlwZSAmJiBpc1N0ZXA7XG4gICAgICB9KTtcbiAgICB9XG4gICk7XG5cbiAgX3VwZGF0ZUNvbmZpZyA9ICh7a2V5LCB2YWx1ZX0pID0+IHtcbiAgICB0aGlzLl9zZXRDb2xvclJhbmdlQ29uZmlnKHtcbiAgICAgIFtrZXldOiB2YWx1ZSxcbiAgICAgIC4uLihrZXkgPT09ICd0eXBlJyAmJiB7Y3VzdG9tOiB2YWx1ZSA9PT0gJ2N1c3RvbSd9KVxuICAgIH0pO1xuICB9O1xuXG4gIF9vblNldEN1c3RvbVBhbGV0dGUgPSBjb25maWcgPT4ge1xuICAgIHRoaXMucHJvcHMuc2V0Q29sb3JQYWxldHRlVUkoe1xuICAgICAgY3VzdG9tUGFsZXR0ZTogY29uZmlnXG4gICAgfSk7XG4gIH07XG5cbiAgX3NldENvbG9yUmFuZ2VDb25maWcgPSBuZXdDb25maWcgPT4ge1xuICAgIHRoaXMucHJvcHMuc2V0Q29sb3JQYWxldHRlVUkoe1xuICAgICAgY29sb3JSYW5nZUNvbmZpZzogbmV3Q29uZmlnXG4gICAgfSk7XG4gIH07XG5cbiAgX29uQ3VzdG9tUGFsZXR0ZUNhbmNlbCA9IG5ld0NvbmZpZyA9PiB7XG4gICAgdGhpcy5wcm9wcy5zZXRDb2xvclBhbGV0dGVVSSh7XG4gICAgICBzaG93U2tldGNoZXI6IGZhbHNlLFxuICAgICAgY29sb3JSYW5nZUNvbmZpZzoge2N1c3RvbTogZmFsc2V9XG4gICAgfSk7XG4gIH07XG5cbiAgX29uVG9nZ2xlU2tldGNoZXIgPSB2YWwgPT4ge1xuICAgIHRoaXMucHJvcHMuc2V0Q29sb3JQYWxldHRlVUkoe1xuICAgICAgc2hvd1NrZXRjaGVyOiB2YWxcbiAgICB9KTtcbiAgfTtcblxuICByZW5kZXIoKSB7XG4gICAgY29uc3Qge2N1c3RvbVBhbGV0dGUsIHNob3dTa2V0Y2hlciwgY29sb3JSYW5nZUNvbmZpZ30gPSB0aGlzLnByb3BzLmNvbG9yUGFsZXR0ZVVJO1xuXG4gICAgY29uc3QgZmlsdGVyZWRDb2xvclJhbmdlcyA9IHRoaXMuZmlsdGVyZWRDb2xvclJhbmdlKHRoaXMucHJvcHMpO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDxTdHlsZWRDb2xvclJhbmdlU2VsZWN0b3I+XG4gICAgICAgIDxTdHlsZWRDb2xvckNvbmZpZyBjbGFzc05hbWU9XCJjb2xvci1yYW5nZS1zZWxlY3Rvcl9fY29uZmlnXCI+XG4gICAgICAgICAge09iamVjdC5rZXlzKGNvbG9yUmFuZ2VDb25maWcpXG4gICAgICAgICAgICAuZmlsdGVyKFxuICAgICAgICAgICAgICBrZXkgPT5cbiAgICAgICAgICAgICAgICBCb29sZWFuKENPTkZJR19TRVRUSU5HU1trZXldKSAmJiAoY29sb3JSYW5nZUNvbmZpZy5jdXN0b20gPyBrZXkgPT09ICd0eXBlJyA6IHRydWUpXG4gICAgICAgICAgICApXG4gICAgICAgICAgICAubWFwKGtleSA9PiAoXG4gICAgICAgICAgICAgIDxQYWxldHRlQ29uZmlnXG4gICAgICAgICAgICAgICAga2V5PXtrZXl9XG4gICAgICAgICAgICAgICAgbGFiZWw9e0NPTkZJR19TRVRUSU5HU1trZXldLmxhYmVsIHx8IGtleX1cbiAgICAgICAgICAgICAgICBjb25maWc9e0NPTkZJR19TRVRUSU5HU1trZXldfVxuICAgICAgICAgICAgICAgIHZhbHVlPXtjb2xvclJhbmdlQ29uZmlnW2tleV19XG4gICAgICAgICAgICAgICAgb25DaGFuZ2U9e3ZhbHVlID0+IHRoaXMuX3VwZGF0ZUNvbmZpZyh7a2V5LCB2YWx1ZX0pfVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgKSl9XG4gICAgICAgIDwvU3R5bGVkQ29sb3JDb25maWc+XG5cbiAgICAgICAge2NvbG9yUmFuZ2VDb25maWcuY3VzdG9tID8gKFxuICAgICAgICAgIDxDdXN0b21QYWxldHRlXG4gICAgICAgICAgICBjdXN0b21QYWxldHRlPXtjdXN0b21QYWxldHRlfVxuICAgICAgICAgICAgc2hvd1NrZXRjaGVyPXtzaG93U2tldGNoZXJ9XG4gICAgICAgICAgICBzZWxlY3RlZD17dGhpcy5wcm9wcy5zZWxlY3RlZENvbG9yUmFuZ2V9XG4gICAgICAgICAgICBvbkFwcGx5PXt0aGlzLnByb3BzLm9uU2VsZWN0Q29sb3JSYW5nZX1cbiAgICAgICAgICAgIG9uVG9nZ2xlU2tldGNoZXI9e3RoaXMuX29uVG9nZ2xlU2tldGNoZXJ9XG4gICAgICAgICAgICBzZXRDdXN0b21QYWxldHRlPXt0aGlzLl9vblNldEN1c3RvbVBhbGV0dGV9XG4gICAgICAgICAgICBvbkNhbmNlbD17dGhpcy5fb25DdXN0b21QYWxldHRlQ2FuY2VsfVxuICAgICAgICAgIC8+XG4gICAgICAgICkgOiAoXG4gICAgICAgICAgPENvbG9yUGFsZXR0ZUdyb3VwXG4gICAgICAgICAgICBjb2xvclJhbmdlcz17ZmlsdGVyZWRDb2xvclJhbmdlc31cbiAgICAgICAgICAgIG9uU2VsZWN0PXt0aGlzLnByb3BzLm9uU2VsZWN0Q29sb3JSYW5nZX1cbiAgICAgICAgICAgIHNlbGVjdGVkPXt0aGlzLnByb3BzLnNlbGVjdGVkQ29sb3JSYW5nZX1cbiAgICAgICAgICAgIHJldmVyc2VkPXtjb2xvclJhbmdlQ29uZmlnLnJldmVyc2VkfVxuICAgICAgICAgIC8+XG4gICAgICAgICl9XG4gICAgICA8L1N0eWxlZENvbG9yUmFuZ2VTZWxlY3Rvcj5cbiAgICApO1xuICB9XG59XG5cbmV4cG9ydCBjb25zdCBQYWxldHRlQ29uZmlnID0gKHtsYWJlbCwgdmFsdWUsIGNvbmZpZzoge3R5cGUsIG9wdGlvbnN9LCBvbkNoYW5nZX0pID0+IChcbiAgPFN0eWxlZFBhbGV0dGVDb25maWdcbiAgICBjbGFzc05hbWU9e2Bjb2xvci1wYWxldHRlX19jb25maWcgY29sb3ItcGFsZXR0ZV9fY29uZmlnLS0ke2xhYmVsfWB9XG4gICAgb25DbGljaz17ZSA9PiBlLnN0b3BQcm9wYWdhdGlvbigpfVxuICA+XG4gICAgPGRpdiBjbGFzc05hbWU9XCJjb2xvci1wYWxldHRlX19jb25maWdfX2xhYmVsXCI+XG4gICAgICB7dHlwZSAhPT0gQ09ORklHX1NFVFRJTkdTX0NVU1RPTV9SRVZFUlNFRF9CVVRUT05fVFlQRSAmJiAoXG4gICAgICAgIDxQYW5lbExhYmVsPlxuICAgICAgICAgIDxGb3JtYXR0ZWRNZXNzYWdlIGlkPXtgY29sb3IuJHtsYWJlbH1gfSAvPlxuICAgICAgICA8L1BhbmVsTGFiZWw+XG4gICAgICApfVxuICAgIDwvZGl2PlxuICAgIHt0eXBlID09PSAnc2VsZWN0JyAmJiAoXG4gICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbG9yLXBhbGV0dGVfX2NvbmZpZ19fc2VsZWN0XCI+XG4gICAgICAgIDxJdGVtU2VsZWN0b3JcbiAgICAgICAgICBzZWxlY3RlZEl0ZW1zPXt2YWx1ZX1cbiAgICAgICAgICBvcHRpb25zPXtvcHRpb25zfVxuICAgICAgICAgIG11bHRpU2VsZWN0PXtmYWxzZX1cbiAgICAgICAgICBzZWFyY2hhYmxlPXtmYWxzZX1cbiAgICAgICAgICBvbkNoYW5nZT17b25DaGFuZ2V9XG4gICAgICAgIC8+XG4gICAgICA8L2Rpdj5cbiAgICApfVxuICAgIHt0eXBlID09PSAnc3dpdGNoJyAmJiAoXG4gICAgICA8U3dpdGNoIGNoZWNrZWQ9e3ZhbHVlfSBpZD17YCR7bGFiZWx9LXRvZ2dsZWB9IG9uQ2hhbmdlPXsoKSA9PiBvbkNoYW5nZSghdmFsdWUpfSBzZWNvbmRhcnkgLz5cbiAgICApfVxuICAgIHt0eXBlID09PSBDT05GSUdfU0VUVElOR1NfQ1VTVE9NX1JFVkVSU0VEX0JVVFRPTl9UWVBFICYmIChcbiAgICAgIDxCdXR0b25cbiAgICAgICAgY2xhc3NOYW1lPXtgY29sb3ItcGFsZXR0ZV9fY29uZmlnX19idXR0b24gJHtcbiAgICAgICAgICB2YWx1ZSA/ICdjb2xvci1wYWxldHRlX19jb25maWdfX2J1dHRvbi0tYWN0aXZlJyA6ICcnXG4gICAgICAgIH1gfVxuICAgICAgICBkYXRhLXRpcFxuICAgICAgICBkYXRhLWZvcj17YCR7bGFiZWx9LXRvb2x0aXBgfVxuICAgICAgICB7Li4uKCF2YWx1ZSAmJiB7bGluazogdHJ1ZX0pfVxuICAgICAgICBvbkNsaWNrPXsoKSA9PiBvbkNoYW5nZSghdmFsdWUpfVxuICAgICAgPlxuICAgICAgICA8U3dhcEhvcml6b250YWwgLz5cbiAgICAgICAgPFRvb2x0aXAgaWQ9e2Ake2xhYmVsfS10b29sdGlwYH0gZWZmZWN0PVwic29saWRcIiBwbGFjZT1cInRvcFwiPlxuICAgICAgICAgIHtsYWJlbH1cbiAgICAgICAgPC9Ub29sdGlwPlxuICAgICAgPC9CdXR0b24+XG4gICAgKX1cbiAgPC9TdHlsZWRQYWxldHRlQ29uZmlnPlxuKTtcblxuY29uc3QgU3R5bGVkQ29sb3JSYW5nZSA9IHN0eWxlZC5kaXYuYXR0cnMoe1xuICBjbGFzc05hbWU6ICdjb2xvci1wYWxldHRlLW91dGVyJ1xufSlgXG4gIHBhZGRpbmc6IDAgOHB4O1xuICA6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUucGFuZWxCYWNrZ3JvdW5kSG92ZXJ9O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgfVxuYDtcblxuZXhwb3J0IGNvbnN0IENvbG9yUGFsZXR0ZUdyb3VwID0gKHtyZXZlcnNlZCwgb25TZWxlY3QsIHNlbGVjdGVkLCBjb2xvclJhbmdlc30pID0+IChcbiAgPGRpdiBjbGFzc05hbWU9XCJjb2xvci1wYWxldHRlX19ncm91cFwiPlxuICAgIHtjb2xvclJhbmdlcy5tYXAoKGNvbG9yUmFuZ2UsIGkpID0+IChcbiAgICAgIDxTdHlsZWRDb2xvclJhbmdlXG4gICAgICAgIGtleT17YCR7Y29sb3JSYW5nZS5uYW1lfS0ke2l9YH1cbiAgICAgICAgb25DbGljaz17ZSA9PiBvblNlbGVjdChyZXZlcnNlZCA/IHJldmVyc2VDb2xvclJhbmdlKHRydWUsIGNvbG9yUmFuZ2UpIDogY29sb3JSYW5nZSwgZSl9XG4gICAgICA+XG4gICAgICAgIDxDb2xvclBhbGV0dGVcbiAgICAgICAgICBjb2xvcnM9e2NvbG9yUmFuZ2UuY29sb3JzfVxuICAgICAgICAgIGlzUmV2ZXJzZWQ9e3JldmVyc2VkfVxuICAgICAgICAgIGlzU2VsZWN0ZWQ9e2NvbG9yUmFuZ2UubmFtZSA9PT0gc2VsZWN0ZWQubmFtZSAmJiByZXZlcnNlZCA9PT0gQm9vbGVhbihzZWxlY3RlZC5yZXZlcnNlZCl9XG4gICAgICAgICAgcm9vdFByb3BzPXt7XG4gICAgICAgICAgICAnZGF0YS10aXAnOiB0cnVlLFxuICAgICAgICAgICAgJ2RhdGEtZm9yJzogYGNvbG9yLXJhbmdlLSR7aX0tdG9vbHRpcGBcbiAgICAgICAgICB9fVxuICAgICAgICA+XG4gICAgICAgICAgPFRvb2x0aXAgaWQ9e2Bjb2xvci1yYW5nZS0ke2l9LXRvb2x0aXBgfSBlZmZlY3Q9XCJzb2xpZFwiIHBsYWNlPVwidG9wXCI+XG4gICAgICAgICAgICB7Y29sb3JSYW5nZS5uYW1lfVxuICAgICAgICAgIDwvVG9vbHRpcD5cbiAgICAgICAgPC9Db2xvclBhbGV0dGU+XG4gICAgICA8L1N0eWxlZENvbG9yUmFuZ2U+XG4gICAgKSl9XG4gIDwvZGl2PlxuKTtcbiJdfQ==
@@ -49,6 +49,8 @@ var _customPicker = _interopRequireDefault(require("./custom-picker"));
49
49
 
50
50
  var _dataUtils = require("../../../utils/data-utils");
51
51
 
52
+ var _reactIntl = require("react-intl");
53
+
52
54
  var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9;
53
55
 
54
56
  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2["default"])(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2["default"])(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2["default"])(this, result); }; }
@@ -93,7 +95,9 @@ var StyledColorRange = _styledComponents["default"].div(_templateObject7 || (_te
93
95
 
94
96
  var StyledButtonContainer = _styledComponents["default"].div(_templateObject8 || (_templateObject8 = (0, _taggedTemplateLiteral2["default"])(["\n margin-top: 11px;\n display: flex;\n direction: rtl;\n"])));
95
97
 
96
- var StyledInlineInput = _styledComponents["default"].div(_templateObject9 || (_templateObject9 = (0, _taggedTemplateLiteral2["default"])(["\n margin-left: 12px;\n input {\n color: ", ";\n font-size: 10px;\n }\n"])), function (props) {
98
+ var StyledInlineInput = _styledComponents["default"].div.attrs({
99
+ className: 'custom-palette__input'
100
+ })(_templateObject9 || (_templateObject9 = (0, _taggedTemplateLiteral2["default"])(["\n margin-left: 12px;\n input {\n color: ", ";\n font-size: 10px;\n }\n"])), function (props) {
97
101
  return props.theme.textColorHl;
98
102
  });
99
103
 
@@ -175,8 +179,6 @@ var CustomPalette = /*#__PURE__*/function (_Component) {
175
179
  event.stopPropagation();
176
180
  event.preventDefault();
177
181
 
178
- _this.props.onCancel();
179
-
180
182
  _this.props.onApply(_this.props.customPalette, event);
181
183
  });
182
184
  (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "_onSortEnd", function (_ref4) {
@@ -258,24 +260,36 @@ var CustomPalette = /*#__PURE__*/function (_Component) {
258
260
  },
259
261
  id: "input-layer-label-".concat(index)
260
262
  })), /*#__PURE__*/_react["default"].createElement(StyledTrash, {
263
+ className: "custom-palette__trash",
261
264
  onClick: function onClick() {
262
265
  return _this2._onColorDelete(index);
263
266
  }
264
267
  }, /*#__PURE__*/_react["default"].createElement(_icons.Trash, {
265
268
  className: "trashbin"
266
269
  })));
267
- })), /*#__PURE__*/_react["default"].createElement(_styledComponents2.Button, {
270
+ })), /*#__PURE__*/_react["default"].createElement("div", {
271
+ className: "custom-palette-actions"
272
+ }, /*#__PURE__*/_react["default"].createElement(_styledComponents2.Button, {
268
273
  className: "add-step__button",
269
274
  link: true,
270
275
  onClick: this._onColorAdd
271
- }, "+ Add Step"), /*#__PURE__*/_react["default"].createElement(StyledLine, null), /*#__PURE__*/_react["default"].createElement(StyledButtonContainer, null, /*#__PURE__*/_react["default"].createElement(_styledComponents2.Button, {
276
+ }, /*#__PURE__*/_react["default"].createElement(_reactIntl.FormattedMessage, {
277
+ id: "customPalette.addStep"
278
+ })), /*#__PURE__*/_react["default"].createElement(StyledLine, {
279
+ className: "custom-palette-actions__separator"
280
+ }), /*#__PURE__*/_react["default"].createElement(StyledButtonContainer, null, /*#__PURE__*/_react["default"].createElement(_styledComponents2.Button, {
272
281
  className: "confirm-apply__button",
273
282
  link: true,
274
283
  onClick: this._onApply
275
- }, "Confirm"), /*#__PURE__*/_react["default"].createElement(_styledComponents2.Button, {
284
+ }, /*#__PURE__*/_react["default"].createElement(_reactIntl.FormattedMessage, {
285
+ id: "customPalette.apply"
286
+ })), /*#__PURE__*/_react["default"].createElement(_styledComponents2.Button, {
287
+ className: "cancel-apply__button",
276
288
  link: true,
277
289
  onClick: this.props.onCancel
278
- }, "Cancel")), /*#__PURE__*/_react["default"].createElement(_portaled["default"], {
290
+ }, /*#__PURE__*/_react["default"].createElement(_reactIntl.FormattedMessage, {
291
+ id: "customPalette.cancel"
292
+ })))), /*#__PURE__*/_react["default"].createElement(_portaled["default"], {
279
293
  isOpened: this.props.showSketcher !== false,
280
294
  left: 280,
281
295
  top: -300
@@ -301,4 +315,4 @@ var CustomPalette = /*#__PURE__*/function (_Component) {
301
315
  });
302
316
  var _default = CustomPalette;
303
317
  exports["default"] = _default;
304
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL3NpZGUtcGFuZWwvbGF5ZXItcGFuZWwvY3VzdG9tLXBhbGV0dGUuanMiXSwibmFtZXMiOlsiZHJhZ0hhbmRsZUFjdGl2ZSIsImNzcyIsInByb3BzIiwidGhlbWUiLCJ0ZXh0Q29sb3JIbCIsIlN0eWxlZFNvcnRhYmxlSXRlbSIsInN0eWxlZCIsImRpdiIsImRyb3Bkb3duV3JhcHBlcloiLCJwYW5lbEJhY2tncm91bmRIb3ZlciIsIlN0eWxlZERyYWdIYW5kbGUiLCJTdHlsZWRUcmFzaCIsInRleHRDb2xvciIsInN1YnRleHRDb2xvckFjdGl2ZSIsIlN0eWxlZExpbmUiLCJsYWJlbENvbG9yIiwiU3R5bGVkU3dhdGNoIiwiYXR0cnMiLCJjbGFzc05hbWUiLCJjb2xvciIsImJveFNoYWRvdyIsIlN0eWxlZENvbG9yUmFuZ2UiLCJTdHlsZWRCdXR0b25Db250YWluZXIiLCJTdHlsZWRJbmxpbmVJbnB1dCIsIlNvcnRhYmxlSXRlbSIsImNoaWxkcmVuIiwiaXNTb3J0aW5nIiwic29ydGluZyIsIldyYXBwZWRTb3J0YWJsZUNvbnRhaW5lciIsIkRyYWdIYW5kbGUiLCJDdXN0b21QYWxldHRlIiwiY29sb3JzIiwiY3VzdG9tUGFsZXR0ZSIsIm5ld0NvbG9ycyIsInNob3dTa2V0Y2hlciIsImhleCIsIl9zZXRDb2xvclBhbGV0dGVVSSIsImluZGV4IiwibGVuZ3RoIiwic3BsaWNlIiwib25Ub2dnbGVTa2V0Y2hlciIsImV2ZW50Iiwic3RvcFByb3BhZ2F0aW9uIiwicHJldmVudERlZmF1bHQiLCJvbkNhbmNlbCIsIm9uQXBwbHkiLCJvbGRJbmRleCIsIm5ld0luZGV4Iiwic2V0U3RhdGUiLCJ2YWx1ZSIsInRhcmdldCIsInRvVXBwZXJDYXNlIiwic2V0Q3VzdG9tUGFsZXR0ZSIsInJvb3QiLCJfb25Tb3J0RW5kIiwiX29uU29ydFN0YXJ0IiwibWFwIiwic3RhdGUiLCJfb25Td2F0Y2hDbGljayIsImUiLCJfaW5wdXRDb2xvckhleCIsIl9vbkNvbG9yRGVsZXRlIiwiX29uQ29sb3JBZGQiLCJfb25BcHBseSIsIl9vblBpY2tlclVwZGF0ZSIsIl9vblN3YXRjaENsb3NlIiwiQ29tcG9uZW50IiwiUHJvcFR5cGVzIiwic2hhcGUiLCJuYW1lIiwic3RyaW5nIiwidHlwZSIsImNhdGVnb3J5IiwiYXJyYXlPZiIsImZ1bmMiLCJvbmVPZlR5cGUiLCJib29sIiwibnVtYmVyIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQW9CQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFFQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7Ozs7Ozs7QUFFQSxJQUFNQSxnQkFBZ0IsT0FBR0MscUJBQUgsOEtBRVQsVUFBQUMsS0FBSztBQUFBLFNBQUlBLEtBQUssQ0FBQ0MsS0FBTixDQUFZQyxXQUFoQjtBQUFBLENBRkksQ0FBdEI7O0FBUUEsSUFBTUMsa0JBQWtCLEdBQUdDLDZCQUFPQyxHQUFWLHFXQUtYLFVBQUFMLEtBQUs7QUFBQSxTQUFJQSxLQUFLLENBQUNDLEtBQU4sQ0FBWUssZ0JBQVosR0FBK0IsQ0FBbkM7QUFBQSxDQUxNLEVBU0UsVUFBQU4sS0FBSztBQUFBLFNBQUlBLEtBQUssQ0FBQ0MsS0FBTixDQUFZTSxvQkFBaEI7QUFBQSxDQVRQLEVBVWhCVCxnQkFWZ0IsRUFlQSxVQUFBRSxLQUFLO0FBQUEsU0FBSUEsS0FBSyxDQUFDQyxLQUFOLENBQVlNLG9CQUFoQjtBQUFBLENBZkwsRUFnQmxCVCxnQkFoQmtCLENBQXhCOztBQW9CQSxJQUFNVSxnQkFBZ0IsR0FBR0osNkJBQU9DLEdBQVYsbUpBQXRCOztBQU1BLElBQU1JLFdBQVcsR0FBR0wsNkJBQU9DLEdBQVYsdVFBQ04sVUFBQUwsS0FBSztBQUFBLFNBQUlBLEtBQUssQ0FBQ0MsS0FBTixDQUFZUyxTQUFoQjtBQUFBLENBREMsRUFJRixVQUFBVixLQUFLO0FBQUEsU0FBSUEsS0FBSyxDQUFDQyxLQUFOLENBQVlVLGtCQUFoQjtB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IFViZXIgVGVjaG5vbG9naWVzLCBJbmMuXG4vL1xuLy8gUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEgY29weVxuLy8gb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgXCJTb2Z0d2FyZVwiKSwgdG8gZGVhbFxuLy8gaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0c1xuLy8gdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbFxuLy8gY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzXG4vLyBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOlxuLy9cbi8vIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluXG4vLyBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS5cbi8vXG4vLyBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgXCJBUyBJU1wiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SXG4vLyBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSxcbi8vIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRVxuLy8gQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUlxuLy8gTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSxcbi8vIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU5cbi8vIFRIRSBTT0ZUV0FSRS5cblxuaW1wb3J0IFJlYWN0LCB7Q29tcG9uZW50LCBjcmVhdGVSZWZ9IGZyb20gJ3JlYWN0JztcbmltcG9ydCBjbGFzc25hbWVzIGZyb20gJ2NsYXNzbmFtZXMnO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcbmltcG9ydCBzdHlsZWQsIHtjc3N9IGZyb20gJ3N0eWxlZC1jb21wb25lbnRzJztcbmltcG9ydCB7U29ydGFibGVDb250YWluZXIsIFNvcnRhYmxlRWxlbWVudCwgU29ydGFibGVIYW5kbGV9IGZyb20gJ3JlYWN0LXNvcnRhYmxlLWhvYyc7XG5pbXBvcnQgUG9ydGFsZWQgZnJvbSAnY29tcG9uZW50cy9jb21tb24vcG9ydGFsZWQnO1xuXG5pbXBvcnQge0J1dHRvbiwgSW5saW5lSW5wdXR9IGZyb20gJ2NvbXBvbmVudHMvY29tbW9uL3N0eWxlZC1jb21wb25lbnRzJztcbmltcG9ydCB7VmVydERvdHMsIFRyYXNofSBmcm9tICdjb21wb25lbnRzL2NvbW1vbi9pY29ucyc7XG5pbXBvcnQgQ29sb3JQYWxldHRlIGZyb20gJy4vY29sb3ItcGFsZXR0ZSc7XG5pbXBvcnQgQ3VzdG9tUGlja2VyIGZyb20gJy4vY3VzdG9tLXBpY2tlcic7XG5pbXBvcnQge2FycmF5TW92ZX0gZnJvbSAndXRpbHMvZGF0YS11dGlscyc7XG5cbmNvbnN0IGRyYWdIYW5kbGVBY3RpdmUgPSBjc3NgXG4gIC5sYXllcl9fZHJhZy1oYW5kbGUge1xuICAgIGNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnRleHRDb2xvckhsfTtcbiAgICBvcGFjaXR5OiAxO1xuICAgIGN1cnNvcjogbW92ZTtcbiAgfVxuYDtcblxuY29uc3QgU3R5bGVkU29ydGFibGVJdGVtID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgcGFkZGluZy10b3A6IDZweDtcbiAgcGFkZGluZy1ib3R0b206IDZweDtcbiAgei1pbmRleDogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5kcm9wZG93bldyYXBwZXJaICsgMX07XG5cbiAgOm5vdCguc29ydGluZykge1xuICAgIDpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnBhbmVsQmFja2dyb3VuZEhvdmVyfTtcbiAgICAgICR7ZHJhZ0hhbmRsZUFjdGl2ZX07XG4gICAgfVxuICB9XG5cbiAgJi5zb3J0aW5nLWNvbG9ycyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5wYW5lbEJhY2tncm91bmRIb3Zlcn07XG4gICAgJHtkcmFnSGFuZGxlQWN0aXZlfTtcbiAgfVxuYDtcblxuY29uc3QgU3R5bGVkRHJhZ0hhbmRsZSA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIG9wYWNpdHk6IDA7XG5gO1xuXG5jb25zdCBTdHlsZWRUcmFzaCA9IHN0eWxlZC5kaXZgXG4gIGNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnRleHRDb2xvcn07XG4gIHN2ZyB7XG4gICAgOmhvdmVyIHtcbiAgICAgIGNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnN1YnRleHRDb2xvckFjdGl2ZX07XG4gICAgfVxuICB9XG4gIGhlaWdodDogMTJweDtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogMTJweDtcbiAgOmhvdmVyIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gIH1cbmA7XG5cbmNvbnN0IFN0eWxlZExpbmUgPSBzdHlsZWQuZGl2YFxuICB3aWR0aDogY2FsYygxMDAlIC0gMTZweCk7XG4gIGhlaWdodDogMXB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLmxhYmVsQ29sb3J9O1xuICBtYXJnaW4tdG9wOiA4cHg7XG4gIG1hcmdpbi1sZWZ0OiA4cHg7XG5gO1xuXG5jb25zdCBTdHlsZWRTd2F0Y2ggPSBzdHlsZWQuZGl2LmF0dHJzKHtcbiAgY2xhc3NOYW1lOiAnY3VzdG9tLXBhbGV0dGVfX3N3YXRjaCdcbn0pYFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAke3Byb3BzID0+IHByb3BzLmNvbG9yfTtcbiAgd2lkdGg6IDMycHg7XG4gIGhlaWdodDogMThweDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICA6aG92ZXIge1xuICAgIGJveC1zaGFkb3c6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuYm94U2hhZG93fTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gIH1cbmA7XG5cbmNvbnN0IFN0eWxlZENvbG9yUmFuZ2UgPSBzdHlsZWQuZGl2YFxuICBwYWRkaW5nOiAwIDhweDtcbiAgOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnBhbmVsQmFja2dyb3VuZEhvdmVyfTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gIH1cbmA7XG5cbmNvbnN0IFN0eWxlZEJ1dHRvbkNvbnRhaW5lciA9IHN0eWxlZC5kaXZgXG4gIG1hcmdpbi10b3A6IDExcHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGRpcmVjdGlvbjogcnRsO1xuYDtcblxuY29uc3QgU3R5bGVkSW5saW5lSW5wdXQgPSBzdHlsZWQuZGl2YFxuICBtYXJnaW4tbGVmdDogMTJweDtcbiAgaW5wdXQge1xuICAgIGNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnRleHRDb2xvckhsfTtcbiAgICBmb250LXNpemU6IDEwcHg7XG4gIH1cbmA7XG5cbmNvbnN0IFNvcnRhYmxlSXRlbSA9IFNvcnRhYmxlRWxlbWVudCgoe2NoaWxkcmVuLCBpc1NvcnRpbmd9KSA9PiAoXG4gIDxTdHlsZWRTb3J0YWJsZUl0ZW1cbiAgICBjbGFzc05hbWU9e2NsYXNzbmFtZXMoJ2N1c3RvbS1wYWxldHRlX19zb3J0YWJsZS1pdGVtcycsIHtzb3J0aW5nOiBpc1NvcnRpbmd9KX1cbiAgPlxuICAgIHtjaGlsZHJlbn1cbiAgPC9TdHlsZWRTb3J0YWJsZUl0ZW0+XG4pKTtcblxuLy8gVE9ETzogU2hvdWxkIGNsYXNzTmFtZSBiZSBhcHBsaWVkIHRvIHRoZSBkaXYgaGVyZT9cbmNvbnN0IFdyYXBwZWRTb3J0YWJsZUNvbnRhaW5lciA9IFNvcnRhYmxlQ29udGFpbmVyKCh7Y2hpbGRyZW4sIGNsYXNzTmFtZX0pID0+IChcbiAgPGRpdiBjbGFzc05hbWU9e2NsYXNzTmFtZX0+e2NoaWxkcmVufTwvZGl2PlxuKSk7XG5cbmNvbnN0IERyYWdIYW5kbGUgPSBTb3J0YWJsZUhhbmRsZSgoe2NsYXNzTmFtZSwgY2hpbGRyZW59KSA9PiAoXG4gIDxTdHlsZWREcmFnSGFuZGxlIGNsYXNzTmFtZT17Y2xhc3NOYW1lfT57Y2hpbGRyZW59PC9TdHlsZWREcmFnSGFuZGxlPlxuKSk7XG5cbmNsYXNzIEN1c3RvbVBhbGV0dGUgZXh0ZW5kcyBDb21wb25lbnQge1xuICBzdGF0aWMgcHJvcFR5cGVzID0ge1xuICAgIGN1c3RvbVBhbGV0dGU6IFByb3BUeXBlcy5zaGFwZSh7XG4gICAgICBuYW1lOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgICAgdHlwZTogUHJvcFR5cGVzLnN0cmluZyxcbiAgICAgIGNhdGVnb3J5OiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgICAgY29sb3JzOiBQcm9wVHlwZXMuYXJyYXlPZihQcm9wVHlwZXMuc3RyaW5nKVxuICAgIH0pLFxuICAgIHNldEN1c3RvbVBhbGV0dGU6IFByb3BUeXBlcy5mdW5jLFxuICAgIHNob3dTa2V0Y2hlcjogUHJvcFR5cGVzLm9uZU9mVHlwZShbUHJvcFR5cGVzLmJvb2wsIFByb3BUeXBlcy5udW1iZXJdKVxuICB9O1xuXG4gIHN0YXRlID0ge1xuICAgIGlzU29ydGluZzogZmFsc2VcbiAgfTtcblxuICByb290ID0gY3JlYXRlUmVmKCk7XG5cbiAgX3NldENvbG9yUGFsZXR0ZVVJKGNvbG9ycykge1xuICAgIHRoaXMucHJvcHMuc2V0Q3VzdG9tUGFsZXR0ZSh7XG4gICAgICBjb2xvcnNcbiAgICB9KTtcbiAgfVxuXG4gIF9vblBpY2tlclVwZGF0ZSA9IGNvbG9yID0+IHtcbiAgICBjb25zdCB7Y29sb3JzfSA9IHRoaXMucHJvcHMuY3VzdG9tUGFsZXR0ZTtcbiAgICBjb25zdCBuZXdDb2xvcnMgPSBbLi4uY29sb3JzXTtcbiAgICBuZXdDb2xvcnNbdGhpcy5wcm9wcy5zaG93U2tldGNoZXJdID0gY29sb3IuaGV4O1xuICAgIHRoaXMuX3NldENvbG9yUGFsZXR0ZVVJKG5ld0NvbG9ycyk7XG4gIH07XG5cbiAgX29uQ29sb3JEZWxldGUgPSBpbmRleCA9PiB7XG4gICAgY29uc3Qge2NvbG9yc30gPSB0aGlzLnByb3BzLmN1c3RvbVBhbGV0dGU7XG4gICAgY29uc3QgbmV3Q29sb3JzID0gWy4uLmNvbG9yc107XG4gICAgaWYgKG5ld0NvbG9ycy5sZW5ndGggPiAxKSB7XG4gICAgICBuZXdDb2xvcnMuc3BsaWNlKGluZGV4LCAxKTtcbiAgICB9XG4gICAgdGhpcy5fc2V0Q29sb3JQYWxldHRlVUkobmV3Q29sb3JzKTtcbiAgfTtcblxuICBfb25Db2xvckFkZCA9ICgpID0+IHtcbiAgICBjb25zdCB7Y29sb3JzfSA9IHRoaXMucHJvcHMuY3VzdG9tUGFsZXR0ZTtcbiAgICAvLyBhZGQgdGhlIGxhc3QgY29sb3JcbiAgICBjb25zdCBuZXdDb2xvcnMgPSBbLi4uY29sb3JzLCBjb2xvcnNbY29sb3JzLmxlbmd0aCAtIDFdXTtcbiAgICB0aGlzLl9zZXRDb2xvclBhbGV0dGVVSShuZXdDb2xvcnMpO1xuICB9O1xuXG4gIF9vblN3YXRjaENsaWNrID0gaW5kZXggPT4ge1xuICAgIHRoaXMucHJvcHMub25Ub2dnbGVTa2V0Y2hlcihpbmRleCk7XG4gIH07XG5cbiAgX29uU3dhdGNoQ2xvc2UgPSAoKSA9PiB7XG4gICAgdGhpcy5wcm9wcy5vblRvZ2dsZVNrZXRjaGVyKGZhbHNlKTtcbiAgfTtcblxuICBfb25BcHBseSA9IGV2ZW50ID0+IHtcbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIHRoaXMucHJvcHMub25DYW5jZWwoKTtcbiAgICB0aGlzLnByb3BzLm9uQXBwbHkodGhpcy5wcm9wcy5jdXN0b21QYWxldHRlLCBldmVudCk7XG4gIH07XG5cbiAgX29uU29ydEVuZCA9ICh7b2xkSW5kZXgsIG5ld0luZGV4fSkgPT4ge1xuICAgIGNvbnN0IHtjb2xvcnN9ID0gdGhpcy5wcm9wcy5jdXN0b21QYWxldHRlO1xuICAgIGNvbnN0IG5ld0NvbG9ycyA9IGFycmF5TW92ZShjb2xvcnMsIG9sZEluZGV4LCBuZXdJbmRleCk7XG4gICAgdGhpcy5fc2V0Q29sb3JQYWxldHRlVUkobmV3Q29sb3JzKTtcbiAgICB0aGlzLnNldFN0YXRlKHtpc1NvcnRpbmc6IGZhbHNlfSk7XG4gIH07XG5cbiAgX29uU29ydFN0YXJ0ID0gKCkgPT4ge1xuICAgIHRoaXMuc2V0U3RhdGUoe2lzU29ydGluZzogdHJ1ZX0pO1xuICB9O1xuXG4gIF9pbnB1dENvbG9ySGV4ID0gKGluZGV4LCB7dGFyZ2V0OiB7dmFsdWV9fSkgPT4ge1xuICAgIGNvbnN0IHtjb2xvcnN9ID0gdGhpcy5wcm9wcy5jdXN0b21QYWxldHRlO1xuICAgIGNvbnN0IG5ld0NvbG9ycyA9IFsuLi5jb2xvcnNdO1xuICAgIG5ld0NvbG9yc1tpbmRleF0gPSB2YWx1ZS50b1VwcGVyQ2FzZSgpO1xuICAgIHRoaXMuX3NldENvbG9yUGFsZXR0ZVVJKG5ld0NvbG9ycyk7XG4gIH07XG5cbiAgcmVuZGVyKCkge1xuICAgIGNvbnN0IHtjb2xvcnN9ID0gdGhpcy5wcm9wcy5jdXN0b21QYWxldHRlO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY3VzdG9tLXBhbGV0dGUtcGFuZWxcIiByZWY9e3RoaXMucm9vdH0+XG4gICAgICAgIDxTdHlsZWRDb2xvclJhbmdlPlxuICAgICAgICAgIDxDb2xvclBhbGV0dGUgY29sb3JzPXtjb2xvcnN9IC8+XG4gICAgICAgIDwvU3R5bGVkQ29sb3JSYW5nZT5cbiAgICAgICAgPFdyYXBwZWRTb3J0YWJsZUNvbnRhaW5lclxuICAgICAgICAgIGNsYXNzTmFtZT1cImN1c3RvbS1wYWxldHRlLWNvbnRhaW5lclwiXG4gICAgICAgICAgb25Tb3J0RW5kPXt0aGlzLl9vblNvcnRFbmR9XG4gICAgICAgICAgb25Tb3J0U3RhcnQ9e3RoaXMuX29uU29ydFN0YXJ0fVxuICAgICAgICAgIGxvY2tBeGlzPVwieVwiXG4gICAgICAgICAgaGVscGVyQ2xhc3M9XCJzb3J0aW5nLWNvbG9yc1wiXG4gICAgICAgICAgdXNlRHJhZ0hhbmRsZVxuICAgICAgICA+XG4gICAgICAgICAge2NvbG9ycy5tYXAoKGNvbG9yLCBpbmRleCkgPT4gKFxuICAgICAgICAgICAgPFNvcnRhYmxlSXRlbSBrZXk9e2luZGV4fSBpbmRleD17aW5kZXh9IGlzU29ydGluZz17dGhpcy5zdGF0ZS5pc1NvcnRpbmd9PlxuICAgICAgICAgICAgICA8RHJhZ0hhbmRsZSBjbGFzc05hbWU9XCJsYXllcl9fZHJhZy1oYW5kbGVcIj5cbiAgICAgICAgICAgICAgICA8VmVydERvdHMgaGVpZ2h0PVwiMjBweFwiIC8+XG4gICAgICAgICAgICAgIDwvRHJhZ0hhbmRsZT5cbiAgICAgICAgICAgICAgPFN0eWxlZFN3YXRjaCBjb2xvcj17Y29sb3J9IG9uQ2xpY2s9eygpID0+IHRoaXMuX29uU3dhdGNoQ2xpY2soaW5kZXgpfSAvPlxuICAgICAgICAgICAgICA8U3R5bGVkSW5saW5lSW5wdXQ+XG4gICAgICAgICAgICAgICAgPElubGluZUlucHV0XG4gICAgICAgICAgICAgICAgICB0eXBlPVwidGV4dFwiXG4gICAgICAgICAgICAgICAgICBjbGFzc05hbWU9XCJjdXN0b20tcGFsZXR0ZS1oZXhfX2lucHV0XCJcbiAgICAgICAgICAgICAgICAgIHZhbHVlPXtjb2xvci50b1VwcGVyQ2FzZSgpfVxuICAgICAgICAgICAgICAgICAgb25DbGljaz17ZSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGUuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgICAgb25DaGFuZ2U9e2UgPT4gdGhpcy5faW5wdXRDb2xvckhleChpbmRleCwgZSl9XG4gICAgICAgICAgICAgICAgICBpZD17YGlucHV0LWxheWVyLWxhYmVsLSR7aW5kZXh9YH1cbiAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICA8L1N0eWxlZElubGluZUlucHV0PlxuICAgICAgICAgICAgICA8U3R5bGVkVHJhc2ggb25DbGljaz17KCkgPT4gdGhpcy5fb25Db2xvckRlbGV0ZShpbmRleCl9PlxuICAgICAgICAgICAgICAgIDxUcmFzaCBjbGFzc05hbWU9XCJ0cmFzaGJpblwiIC8+XG4gICAgICAgICAgICAgIDwvU3R5bGVkVHJhc2g+XG4gICAgICAgICAgICA8L1NvcnRhYmxlSXRlbT5cbiAgICAgICAgICApKX1cbiAgICAgICAgPC9XcmFwcGVkU29ydGFibGVDb250YWluZXI+XG4gICAgICAgIHsvKiBBZGQgU3RlcCBCdXR0b24gKi99XG4gICAgICAgIDxCdXR0b24gY2xhc3NOYW1lPVwiYWRkLXN0ZXBfX2J1dHRvblwiIGxpbmsgb25DbGljaz17dGhpcy5fb25Db2xvckFkZH0+XG4gICAgICAgICAgKyBBZGQgU3RlcFxuICAgICAgICA8L0J1dHRvbj5cbiAgICAgICAgPFN0eWxlZExpbmUgLz5cbiAgICAgICAgey8qIENhbmNlbCBvciBDb25maXJtIEJ1dHRvbnMgKi99XG4gICAgICAgIDxTdHlsZWRCdXR0b25Db250YWluZXI+XG4gICAgICAgICAgPEJ1dHRvbiBjbGFzc05hbWU9XCJjb25maXJtLWFwcGx5X19idXR0b25cIiBsaW5rIG9uQ2xpY2s9e3RoaXMuX29uQXBwbHl9PlxuICAgICAgICAgICAgQ29uZmlybVxuICAgICAgICAgIDwvQnV0dG9uPlxuICAgICAgICAgIDxCdXR0b24gbGluayBvbkNsaWNrPXt0aGlzLnByb3BzLm9uQ2FuY2VsfT5cbiAgICAgICAgICAgIENhbmNlbFxuICAgICAgICAgIDwvQnV0dG9uPlxuICAgICAgICA8L1N0eWxlZEJ1dHRvbkNvbnRhaW5lcj5cblxuICAgICAgICA8UG9ydGFsZWQgaXNPcGVuZWQ9e3RoaXMucHJvcHMuc2hvd1NrZXRjaGVyICE9PSBmYWxzZX0gbGVmdD17MjgwfSB0b3A9ey0zMDB9PlxuICAgICAgICAgIDxDdXN0b21QaWNrZXJcbiAgICAgICAgICAgIGNvbG9yPXtjb2xvcnNbdGhpcy5wcm9wcy5zaG93U2tldGNoZXJdfVxuICAgICAgICAgICAgb25DaGFuZ2U9e3RoaXMuX29uUGlja2VyVXBkYXRlfVxuICAgICAgICAgICAgb25Td2F0Y2hDbG9zZT17dGhpcy5fb25Td2F0Y2hDbG9zZX1cbiAgICAgICAgICAvPlxuICAgICAgICA8L1BvcnRhbGVkPlxuICAgICAgPC9kaXY+XG4gICAgKTtcbiAgfVxufVxuXG5leHBvcnQgZGVmYXVsdCBDdXN0b21QYWxldHRlO1xuIl19
318
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL3NpZGUtcGFuZWwvbGF5ZXItcGFuZWwvY3VzdG9tLXBhbGV0dGUuanMiXSwibmFtZXMiOlsiZHJhZ0hhbmRsZUFjdGl2ZSIsImNzcyIsInByb3BzIiwidGhlbWUiLCJ0ZXh0Q29sb3JIbCIsIlN0eWxlZFNvcnRhYmxlSXRlbSIsInN0eWxlZCIsImRpdiIsImRyb3Bkb3duV3JhcHBlcloiLCJwYW5lbEJhY2tncm91bmRIb3ZlciIsIlN0eWxlZERyYWdIYW5kbGUiLCJTdHlsZWRUcmFzaCIsInRleHRDb2xvciIsInN1YnRleHRDb2xvckFjdGl2ZSIsIlN0eWxlZExpbmUiLCJsYWJlbENvbG9yIiwiU3R5bGVkU3dhdGNoIiwiYXR0cnMiLCJjbGFzc05hbWUiLCJjb2xvciIsImJveFNoYWRvdyIsIlN0eWxlZENvbG9yUmFuZ2UiLCJTdHlsZWRCdXR0b25Db250YWluZXIiLCJTdHlsZWRJbmxpbmVJbnB1dCIsIlNvcnRhYmxlSXRlbSIsImNoaWxkcmVuIiwiaXNTb3J0aW5nIiwic29ydGluZyIsIldyYXBwZWRTb3J0YWJsZUNvbnRhaW5lciIsIkRyYWdIYW5kbGUiLCJDdXN0b21QYWxldHRlIiwiY29sb3JzIiwiY3VzdG9tUGFsZXR0ZSIsIm5ld0NvbG9ycyIsInNob3dTa2V0Y2hlciIsImhleCIsIl9zZXRDb2xvclBhbGV0dGVVSSIsImluZGV4IiwibGVuZ3RoIiwic3BsaWNlIiwib25Ub2dnbGVTa2V0Y2hlciIsImV2ZW50Iiwic3RvcFByb3BhZ2F0aW9uIiwicHJldmVudERlZmF1bHQiLCJvbkFwcGx5Iiwib2xkSW5kZXgiLCJuZXdJbmRleCIsInNldFN0YXRlIiwidmFsdWUiLCJ0YXJnZXQiLCJ0b1VwcGVyQ2FzZSIsInNldEN1c3RvbVBhbGV0dGUiLCJyb290IiwiX29uU29ydEVuZCIsIl9vblNvcnRTdGFydCIsIm1hcCIsInN0YXRlIiwiX29uU3dhdGNoQ2xpY2siLCJlIiwiX2lucHV0Q29sb3JIZXgiLCJfb25Db2xvckRlbGV0ZSIsIl9vbkNvbG9yQWRkIiwiX29uQXBwbHkiLCJvbkNhbmNlbCIsIl9vblBpY2tlclVwZGF0ZSIsIl9vblN3YXRjaENsb3NlIiwiQ29tcG9uZW50IiwiUHJvcFR5cGVzIiwic2hhcGUiLCJuYW1lIiwic3RyaW5nIiwidHlwZSIsImNhdGVnb3J5IiwiYXJyYXlPZiIsImZ1bmMiLCJvbmVPZlR5cGUiLCJib29sIiwibnVtYmVyIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQW9CQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFFQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7Ozs7Ozs7QUFFQSxJQUFNQSxnQkFBZ0IsT0FBR0MscUJBQUgsOEtBRVQsVUFBQUMsS0FBSztBQUFBLFNBQUlBLEtBQUssQ0FBQ0MsS0FBTixDQUFZQyxXQUFoQjtBQUFBLENBRkksQ0FBdEI7O0FBUUEsSUFBTUMsa0JBQWtCLEdBQUdDLDZCQUFPQyxHQUFWLHFXQUtYLFVBQUFMLEtBQUs7QUFBQSxTQUFJQSxLQUFLLENBQUNDLEtBQU4sQ0FBWUssZ0JBQVosR0FBK0IsQ0FBbkM7QUFBQSxDQUxNLEVBU0UsVUFBQU4sS0FBSztBQUFBLFNBQUlBLEtBQUssQ0FBQ0MsS0FBTixDQUFZTSxvQkFBaEI7QUFBQSxDQVRQLEVBVWhCVCxnQkFWZ0IsRUFlQSxVQUFBRSxLQUFLO0FBQUEsU0FBSUEsS0FBSyxDQUFDQyxLQUFOLENBQVlNLG9CQUFoQjtBQUFBLENBZkwsRUFnQmxCVCxnQkFoQmtCLENBQXhCOztBQW9CQSxJQUFNVSxnQkFBZ0IsR0FBR0osNkJBQU9DLEdBQVYsbUpBQXRCOztBQU1BLElBQU1JLFdBQVcsR0FBR0wsNkJBQU9DLEdBQVYsdVFBQ04sVUFBQUwsS0FBSztBQUFBLFNBQUlBLEtBQUssQ0FBQ0MsS0FBTixDQUFZUyxTQUFoQjtBQUFBLENBREMsRUFJRixVQUFBVixLQUFLO0FBQUEsU0FBSUEsS0FBSyxDQUFDQyxLQUFOLENBQVlVLGtC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N0JFLElBQUFBLFFBQVEsRUFBRUwsc0JBQVVHLE1BSFM7QUFJN0J2QyxJQUFBQSxNQUFNLEVBQUVvQyxzQkFBVU0sT0FBVixDQUFrQk4sc0JBQVVHLE1BQTVCO0FBSnFCLEdBQWhCLENBREU7QUFPakJuQixFQUFBQSxnQkFBZ0IsRUFBRWdCLHNCQUFVTyxJQVBYO0FBUWpCeEMsRUFBQUEsWUFBWSxFQUFFaUMsc0JBQVVRLFNBQVYsQ0FBb0IsQ0FBQ1Isc0JBQVVTLElBQVgsRUFBaUJULHNCQUFVVSxNQUEzQixDQUFwQjtBQVJHLEM7ZUFxSk4vQyxhIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQ29weXJpZ2h0IChjKSAyMDIxIFViZXIgVGVjaG5vbG9naWVzLCBJbmMuXG4vL1xuLy8gUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEgY29weVxuLy8gb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgXCJTb2Z0d2FyZVwiKSwgdG8gZGVhbFxuLy8gaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0c1xuLy8gdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbFxuLy8gY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzXG4vLyBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOlxuLy9cbi8vIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluXG4vLyBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS5cbi8vXG4vLyBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgXCJBUyBJU1wiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SXG4vLyBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSxcbi8vIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRVxuLy8gQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUlxuLy8gTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSxcbi8vIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU5cbi8vIFRIRSBTT0ZUV0FSRS5cblxuaW1wb3J0IFJlYWN0LCB7Q29tcG9uZW50LCBjcmVhdGVSZWZ9IGZyb20gJ3JlYWN0JztcbmltcG9ydCBjbGFzc25hbWVzIGZyb20gJ2NsYXNzbmFtZXMnO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcbmltcG9ydCBzdHlsZWQsIHtjc3N9IGZyb20gJ3N0eWxlZC1jb21wb25lbnRzJztcbmltcG9ydCB7U29ydGFibGVDb250YWluZXIsIFNvcnRhYmxlRWxlbWVudCwgU29ydGFibGVIYW5kbGV9IGZyb20gJ3JlYWN0LXNvcnRhYmxlLWhvYyc7XG5pbXBvcnQgUG9ydGFsZWQgZnJvbSAnY29tcG9uZW50cy9jb21tb24vcG9ydGFsZWQnO1xuXG5pbXBvcnQge0J1dHRvbiwgSW5saW5lSW5wdXR9IGZyb20gJ2NvbXBvbmVudHMvY29tbW9uL3N0eWxlZC1jb21wb25lbnRzJztcbmltcG9ydCB7VmVydERvdHMsIFRyYXNofSBmcm9tICdjb21wb25lbnRzL2NvbW1vbi9pY29ucyc7XG5pbXBvcnQgQ29sb3JQYWxldHRlIGZyb20gJy4vY29sb3ItcGFsZXR0ZSc7XG5pbXBvcnQgQ3VzdG9tUGlja2VyIGZyb20gJy4vY3VzdG9tLXBpY2tlcic7XG5pbXBvcnQge2FycmF5TW92ZX0gZnJvbSAndXRpbHMvZGF0YS11dGlscyc7XG5pbXBvcnQge0Zvcm1hdHRlZE1lc3NhZ2V9IGZyb20gJ3JlYWN0LWludGwnO1xuXG5jb25zdCBkcmFnSGFuZGxlQWN0aXZlID0gY3NzYFxuICAubGF5ZXJfX2RyYWctaGFuZGxlIHtcbiAgICBjb2xvcjogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS50ZXh0Q29sb3JIbH07XG4gICAgb3BhY2l0eTogMTtcbiAgICBjdXJzb3I6IG1vdmU7XG4gIH1cbmA7XG5cbmNvbnN0IFN0eWxlZFNvcnRhYmxlSXRlbSA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHBhZGRpbmctdG9wOiA2cHg7XG4gIHBhZGRpbmctYm90dG9tOiA2cHg7XG4gIHotaW5kZXg6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuZHJvcGRvd25XcmFwcGVyWiArIDF9O1xuXG4gIDpub3QoLnNvcnRpbmcpIHtcbiAgICA6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5wYW5lbEJhY2tncm91bmRIb3Zlcn07XG4gICAgICAke2RyYWdIYW5kbGVBY3RpdmV9O1xuICAgIH1cbiAgfVxuXG4gICYuc29ydGluZy1jb2xvcnMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUucGFuZWxCYWNrZ3JvdW5kSG92ZXJ9O1xuICAgICR7ZHJhZ0hhbmRsZUFjdGl2ZX07XG4gIH1cbmA7XG5cbmNvbnN0IFN0eWxlZERyYWdIYW5kbGUgPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBvcGFjaXR5OiAwO1xuYDtcblxuY29uc3QgU3R5bGVkVHJhc2ggPSBzdHlsZWQuZGl2YFxuICBjb2xvcjogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS50ZXh0Q29sb3J9O1xuICBzdmcge1xuICAgIDpob3ZlciB7XG4gICAgICBjb2xvcjogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5zdWJ0ZXh0Q29sb3JBY3RpdmV9O1xuICAgIH1cbiAgfVxuICBoZWlnaHQ6IDEycHg7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IDEycHg7XG4gIDpob3ZlciB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICB9XG5gO1xuXG5jb25zdCBTdHlsZWRMaW5lID0gc3R5bGVkLmRpdmBcbiAgd2lkdGg6IGNhbGMoMTAwJSAtIDE2cHgpO1xuICBoZWlnaHQ6IDFweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5sYWJlbENvbG9yfTtcbiAgbWFyZ2luLXRvcDogOHB4O1xuICBtYXJnaW4tbGVmdDogOHB4O1xuYDtcblxuY29uc3QgU3R5bGVkU3dhdGNoID0gc3R5bGVkLmRpdi5hdHRycyh7XG4gIGNsYXNzTmFtZTogJ2N1c3RvbS1wYWxldHRlX19zd2F0Y2gnXG59KWBcbiAgYmFja2dyb3VuZC1jb2xvcjogJHtwcm9wcyA9PiBwcm9wcy5jb2xvcn07XG4gIHdpZHRoOiAzMnB4O1xuICBoZWlnaHQ6IDE4cHg7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgOmhvdmVyIHtcbiAgICBib3gtc2hhZG93OiAke3Byb3BzID0+IHByb3BzLnRoZW1lLmJveFNoYWRvd307XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICB9XG5gO1xuXG5jb25zdCBTdHlsZWRDb2xvclJhbmdlID0gc3R5bGVkLmRpdmBcbiAgcGFkZGluZzogMCA4cHg7XG4gIDpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5wYW5lbEJhY2tncm91bmRIb3Zlcn07XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICB9XG5gO1xuXG5jb25zdCBTdHlsZWRCdXR0b25Db250YWluZXIgPSBzdHlsZWQuZGl2YFxuICBtYXJnaW4tdG9wOiAxMXB4O1xuICBkaXNwbGF5OiBmbGV4O1xuICBkaXJlY3Rpb246IHJ0bDtcbmA7XG5cbmNvbnN0IFN0eWxlZElubGluZUlucHV0ID0gc3R5bGVkLmRpdi5hdHRycyh7XG4gIGNsYXNzTmFtZTogJ2N1c3RvbS1wYWxldHRlX19pbnB1dCdcbn0pYFxuICBtYXJnaW4tbGVmdDogMTJweDtcbiAgaW5wdXQge1xuICAgIGNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnRleHRDb2xvckhsfTtcbiAgICBmb250LXNpemU6IDEwcHg7XG4gIH1cbmA7XG5cbmNvbnN0IFNvcnRhYmxlSXRlbSA9IFNvcnRhYmxlRWxlbWVudCgoe2NoaWxkcmVuLCBpc1NvcnRpbmd9KSA9PiAoXG4gIDxTdHlsZWRTb3J0YWJsZUl0ZW1cbiAgICBjbGFzc05hbWU9e2NsYXNzbmFtZXMoJ2N1c3RvbS1wYWxldHRlX19zb3J0YWJsZS1pdGVtcycsIHtzb3J0aW5nOiBpc1NvcnRpbmd9KX1cbiAgPlxuICAgIHtjaGlsZHJlbn1cbiAgPC9TdHlsZWRTb3J0YWJsZUl0ZW0+XG4pKTtcblxuLy8gVE9ETzogU2hvdWxkIGNsYXNzTmFtZSBiZSBhcHBsaWVkIHRvIHRoZSBkaXYgaGVyZT9cbmNvbnN0IFdyYXBwZWRTb3J0YWJsZUNvbnRhaW5lciA9IFNvcnRhYmxlQ29udGFpbmVyKCh7Y2hpbGRyZW4sIGNsYXNzTmFtZX0pID0+IChcbiAgPGRpdiBjbGFzc05hbWU9e2NsYXNzTmFtZX0+e2NoaWxkcmVufTwvZGl2PlxuKSk7XG5cbmNvbnN0IERyYWdIYW5kbGUgPSBTb3J0YWJsZUhhbmRsZSgoe2NsYXNzTmFtZSwgY2hpbGRyZW59KSA9PiAoXG4gIDxTdHlsZWREcmFnSGFuZGxlIGNsYXNzTmFtZT17Y2xhc3NOYW1lfT57Y2hpbGRyZW59PC9TdHlsZWREcmFnSGFuZGxlPlxuKSk7XG5cbmNsYXNzIEN1c3RvbVBhbGV0dGUgZXh0ZW5kcyBDb21wb25lbnQge1xuICBzdGF0aWMgcHJvcFR5cGVzID0ge1xuICAgIGN1c3RvbVBhbGV0dGU6IFByb3BUeXBlcy5zaGFwZSh7XG4gICAgICBuYW1lOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgICAgdHlwZTogUHJvcFR5cGVzLnN0cmluZyxcbiAgICAgIGNhdGVnb3J5OiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgICAgY29sb3JzOiBQcm9wVHlwZXMuYXJyYXlPZihQcm9wVHlwZXMuc3RyaW5nKVxuICAgIH0pLFxuICAgIHNldEN1c3RvbVBhbGV0dGU6IFByb3BUeXBlcy5mdW5jLFxuICAgIHNob3dTa2V0Y2hlcjogUHJvcFR5cGVzLm9uZU9mVHlwZShbUHJvcFR5cGVzLmJvb2wsIFByb3BUeXBlcy5udW1iZXJdKVxuICB9O1xuXG4gIHN0YXRlID0ge1xuICAgIGlzU29ydGluZzogZmFsc2VcbiAgfTtcblxuICByb290ID0gY3JlYXRlUmVmKCk7XG5cbiAgX3NldENvbG9yUGFsZXR0ZVVJKGNvbG9ycykge1xuICAgIHRoaXMucHJvcHMuc2V0Q3VzdG9tUGFsZXR0ZSh7XG4gICAgICBjb2xvcnNcbiAgICB9KTtcbiAgfVxuXG4gIF9vblBpY2tlclVwZGF0ZSA9IGNvbG9yID0+IHtcbiAgICBjb25zdCB7Y29sb3JzfSA9IHRoaXMucHJvcHMuY3VzdG9tUGFsZXR0ZTtcbiAgICBjb25zdCBuZXdDb2xvcnMgPSBbLi4uY29sb3JzXTtcbiAgICBuZXdDb2xvcnNbdGhpcy5wcm9wcy5zaG93U2tldGNoZXJdID0gY29sb3IuaGV4O1xuICAgIHRoaXMuX3NldENvbG9yUGFsZXR0ZVVJKG5ld0NvbG9ycyk7XG4gIH07XG5cbiAgX29uQ29sb3JEZWxldGUgPSBpbmRleCA9PiB7XG4gICAgY29uc3Qge2NvbG9yc30gPSB0aGlzLnByb3BzLmN1c3RvbVBhbGV0dGU7XG4gICAgY29uc3QgbmV3Q29sb3JzID0gWy4uLmNvbG9yc107XG4gICAgaWYgKG5ld0NvbG9ycy5sZW5ndGggPiAxKSB7XG4gICAgICBuZXdDb2xvcnMuc3BsaWNlKGluZGV4LCAxKTtcbiAgICB9XG4gICAgdGhpcy5fc2V0Q29sb3JQYWxldHRlVUkobmV3Q29sb3JzKTtcbiAgfTtcblxuICBfb25Db2xvckFkZCA9ICgpID0+IHtcbiAgICBjb25zdCB7Y29sb3JzfSA9IHRoaXMucHJvcHMuY3VzdG9tUGFsZXR0ZTtcbiAgICAvLyBhZGQgdGhlIGxhc3QgY29sb3JcbiAgICBjb25zdCBuZXdDb2xvcnMgPSBbLi4uY29sb3JzLCBjb2xvcnNbY29sb3JzLmxlbmd0aCAtIDFdXTtcbiAgICB0aGlzLl9zZXRDb2xvclBhbGV0dGVVSShuZXdDb2xvcnMpO1xuICB9O1xuXG4gIF9vblN3YXRjaENsaWNrID0gaW5kZXggPT4ge1xuICAgIHRoaXMucHJvcHMub25Ub2dnbGVTa2V0Y2hlcihpbmRleCk7XG4gIH07XG5cbiAgX29uU3dhdGNoQ2xvc2UgPSAoKSA9PiB7XG4gICAgdGhpcy5wcm9wcy5vblRvZ2dsZVNrZXRjaGVyKGZhbHNlKTtcbiAgfTtcblxuICBfb25BcHBseSA9IGV2ZW50ID0+IHtcbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIHRoaXMucHJvcHMub25BcHBseSh0aGlzLnByb3BzLmN1c3RvbVBhbGV0dGUsIGV2ZW50KTtcbiAgfTtcblxuICBfb25Tb3J0RW5kID0gKHtvbGRJbmRleCwgbmV3SW5kZXh9KSA9PiB7XG4gICAgY29uc3Qge2NvbG9yc30gPSB0aGlzLnByb3BzLmN1c3RvbVBhbGV0dGU7XG4gICAgY29uc3QgbmV3Q29sb3JzID0gYXJyYXlNb3ZlKGNvbG9ycywgb2xkSW5kZXgsIG5ld0luZGV4KTtcbiAgICB0aGlzLl9zZXRDb2xvclBhbGV0dGVVSShuZXdDb2xvcnMpO1xuICAgIHRoaXMuc2V0U3RhdGUoe2lzU29ydGluZzogZmFsc2V9KTtcbiAgfTtcblxuICBfb25Tb3J0U3RhcnQgPSAoKSA9PiB7XG4gICAgdGhpcy5zZXRTdGF0ZSh7aXNTb3J0aW5nOiB0cnVlfSk7XG4gIH07XG5cbiAgX2lucHV0Q29sb3JIZXggPSAoaW5kZXgsIHt0YXJnZXQ6IHt2YWx1ZX19KSA9PiB7XG4gICAgY29uc3Qge2NvbG9yc30gPSB0aGlzLnByb3BzLmN1c3RvbVBhbGV0dGU7XG4gICAgY29uc3QgbmV3Q29sb3JzID0gWy4uLmNvbG9yc107XG4gICAgbmV3Q29sb3JzW2luZGV4XSA9IHZhbHVlLnRvVXBwZXJDYXNlKCk7XG4gICAgdGhpcy5fc2V0Q29sb3JQYWxldHRlVUkobmV3Q29sb3JzKTtcbiAgfTtcblxuICByZW5kZXIoKSB7XG4gICAgY29uc3Qge2NvbG9yc30gPSB0aGlzLnByb3BzLmN1c3RvbVBhbGV0dGU7XG5cbiAgICByZXR1cm4gKFxuICAgICAgPGRpdiBjbGFzc05hbWU9XCJjdXN0b20tcGFsZXR0ZS1wYW5lbFwiIHJlZj17dGhpcy5yb290fT5cbiAgICAgICAgPFN0eWxlZENvbG9yUmFuZ2U+XG4gICAgICAgICAgPENvbG9yUGFsZXR0ZSBjb2xvcnM9e2NvbG9yc30gLz5cbiAgICAgICAgPC9TdHlsZWRDb2xvclJhbmdlPlxuICAgICAgICA8V3JhcHBlZFNvcnRhYmxlQ29udGFpbmVyXG4gICAgICAgICAgY2xhc3NOYW1lPVwiY3VzdG9tLXBhbGV0dGUtY29udGFpbmVyXCJcbiAgICAgICAgICBvblNvcnRFbmQ9e3RoaXMuX29uU29ydEVuZH1cbiAgICAgICAgICBvblNvcnRTdGFydD17dGhpcy5fb25Tb3J0U3RhcnR9XG4gICAgICAgICAgbG9ja0F4aXM9XCJ5XCJcbiAgICAgICAgICBoZWxwZXJDbGFzcz1cInNvcnRpbmctY29sb3JzXCJcbiAgICAgICAgICB1c2VEcmFnSGFuZGxlXG4gICAgICAgID5cbiAgICAgICAgICB7Y29sb3JzLm1hcCgoY29sb3IsIGluZGV4KSA9PiAoXG4gICAgICAgICAgICA8U29ydGFibGVJdGVtIGtleT17aW5kZXh9IGluZGV4PXtpbmRleH0gaXNTb3J0aW5nPXt0aGlzLnN0YXRlLmlzU29ydGluZ30+XG4gICAgICAgICAgICAgIDxEcmFnSGFuZGxlIGNsYXNzTmFtZT1cImxheWVyX19kcmFnLWhhbmRsZVwiPlxuICAgICAgICAgICAgICAgIDxWZXJ0RG90cyBoZWlnaHQ9XCIyMHB4XCIgLz5cbiAgICAgICAgICAgICAgPC9EcmFnSGFuZGxlPlxuICAgICAgICAgICAgICA8U3R5bGVkU3dhdGNoIGNvbG9yPXtjb2xvcn0gb25DbGljaz17KCkgPT4gdGhpcy5fb25Td2F0Y2hDbGljayhpbmRleCl9IC8+XG4gICAgICAgICAgICAgIDxTdHlsZWRJbmxpbmVJbnB1dD5cbiAgICAgICAgICAgICAgICA8SW5saW5lSW5wdXRcbiAgICAgICAgICAgICAgICAgIHR5cGU9XCJ0ZXh0XCJcbiAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT1cImN1c3RvbS1wYWxldHRlLWhleF9faW5wdXRcIlxuICAgICAgICAgICAgICAgICAgdmFsdWU9e2NvbG9yLnRvVXBwZXJDYXNlKCl9XG4gICAgICAgICAgICAgICAgICBvbkNsaWNrPXtlID0+IHtcbiAgICAgICAgICAgICAgICAgICAgZS5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgICBvbkNoYW5nZT17ZSA9PiB0aGlzLl9pbnB1dENvbG9ySGV4KGluZGV4LCBlKX1cbiAgICAgICAgICAgICAgICAgIGlkPXtgaW5wdXQtbGF5ZXItbGFiZWwtJHtpbmRleH1gfVxuICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgIDwvU3R5bGVkSW5saW5lSW5wdXQ+XG4gICAgICAgICAgICAgIDxTdHlsZWRUcmFzaFxuICAgICAgICAgICAgICAgIGNsYXNzTmFtZT1cImN1c3RvbS1wYWxldHRlX190cmFzaFwiXG4gICAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4gdGhpcy5fb25Db2xvckRlbGV0ZShpbmRleCl9XG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8VHJhc2ggY2xhc3NOYW1lPVwidHJhc2hiaW5cIiAvPlxuICAgICAgICAgICAgICA8L1N0eWxlZFRyYXNoPlxuICAgICAgICAgICAgPC9Tb3J0YWJsZUl0ZW0+XG4gICAgICAgICAgKSl9XG4gICAgICAgIDwvV3JhcHBlZFNvcnRhYmxlQ29udGFpbmVyPlxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImN1c3RvbS1wYWxldHRlLWFjdGlvbnNcIj5cbiAgICAgICAgICB7LyogQWRkIFN0ZXAgQnV0dG9uICovfVxuICAgICAgICAgIDxCdXR0b24gY2xhc3NOYW1lPVwiYWRkLXN0ZXBfX2J1dHRvblwiIGxpbmsgb25DbGljaz17dGhpcy5fb25Db2xvckFkZH0+XG4gICAgICAgICAgICA8Rm9ybWF0dGVkTWVzc2FnZSBpZD1cImN1c3RvbVBhbGV0dGUuYWRkU3RlcFwiIC8+XG4gICAgICAgICAgPC9CdXR0b24+XG4gICAgICAgICAgPFN0eWxlZExpbmUgY2xhc3NOYW1lPVwiY3VzdG9tLXBhbGV0dGUtYWN0aW9uc19fc2VwYXJhdG9yXCIgLz5cbiAgICAgICAgICB7LyogQ2FuY2VsIG9yIENvbmZpcm0gQnV0dG9ucyAqL31cbiAgICAgICAgICA8U3R5bGVkQnV0dG9uQ29udGFpbmVyPlxuICAgICAgICAgICAgPEJ1dHRvbiBjbGFzc05hbWU9XCJjb25maXJtLWFwcGx5X19idXR0b25cIiBsaW5rIG9uQ2xpY2s9e3RoaXMuX29uQXBwbHl9PlxuICAgICAgICAgICAgICA8Rm9ybWF0dGVkTWVzc2FnZSBpZD1cImN1c3RvbVBhbGV0dGUuYXBwbHlcIiAvPlxuICAgICAgICAgICAgPC9CdXR0b24+XG4gICAgICAgICAgICA8QnV0dG9uIGNsYXNzTmFtZT1cImNhbmNlbC1hcHBseV9fYnV0dG9uXCIgbGluayBvbkNsaWNrPXt0aGlzLnByb3BzLm9uQ2FuY2VsfT5cbiAgICAgICAgICAgICAgPEZvcm1hdHRlZE1lc3NhZ2UgaWQ9XCJjdXN0b21QYWxldHRlLmNhbmNlbFwiIC8+XG4gICAgICAgICAgICA8L0J1dHRvbj5cbiAgICAgICAgICA8L1N0eWxlZEJ1dHRvbkNvbnRhaW5lcj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxQb3J0YWxlZCBpc09wZW5lZD17dGhpcy5wcm9wcy5zaG93U2tldGNoZXIgIT09IGZhbHNlfSBsZWZ0PXsyODB9IHRvcD17LTMwMH0+XG4gICAgICAgICAgPEN1c3RvbVBpY2tlclxuICAgICAgICAgICAgY29sb3I9e2NvbG9yc1t0aGlzLnByb3BzLnNob3dTa2V0Y2hlcl19XG4gICAgICAgICAgICBvbkNoYW5nZT17dGhpcy5fb25QaWNrZXJVcGRhdGV9XG4gICAgICAgICAgICBvblN3YXRjaENsb3NlPXt0aGlzLl9vblN3YXRjaENsb3NlfVxuICAgICAgICAgIC8+XG4gICAgICAgIDwvUG9ydGFsZWQ+XG4gICAgICA8L2Rpdj5cbiAgICApO1xuICB9XG59XG5cbmV4cG9ydCBkZWZhdWx0IEN1c3RvbVBhbGV0dGU7XG4iXX0=