@pie-lib/plot 2.9.0-beta.0 → 2.10.0

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.
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/grid-draggable.jsx"],"names":["log","deltaFn","scale","snap","val","delta","normalized","inverted","invert","fixDecimalsArithmetic","toFixed","gridDraggable","opts","Comp","fromDelta","bounds","anchorPoint","graphProps","props","domain","range","x","step","y","e","onDragStart","document","activeElement","blur","setState","startX","clientX","startY","clientY","key","event","K","toUpperCase","end","start","state","Math","abs","out","grid","scaled","left","interval","right","top","bottom","node","svg","ownerSVGElement","createSVGPoint","point","touches","length","touch","getScreenCTM","matrixTransform","inverse","rect","getBoundingClientRect","clientLeft","clientTop","dd","rootNode","getRootNode","clientPoint","getClientPoint","rawX","rawY","xOutside","deltaX","min","max","yOutside","deltaY","onDrag","getScaledBounds","skipDragOutsideOfBounds","dragArg","applyDelta","undefined","pos","position","p","utils","getDelta","onDragStop","onClick","lastX","lastY","isClick","tiny","target","disabled","rest","onMouseDown","nativeEvent","preventDefault","isDragging","onStart","onStop","axis","React","Component","PropTypes","bool","func","onMove","GraphPropsType","isRequired"],"mappings":"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","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { GraphPropsType } from './types';\nimport { DraggableCore } from './draggable';\nimport debug from 'debug';\nimport * as utils from './utils';\nimport isFunction from 'lodash/isFunction';\nimport invariant from 'invariant';\nimport { clientPoint } from 'd3-selection';\n\nconst log = debug('pie-lib:plot:grid-draggable');\n\nexport const deltaFn = (scale, snap, val) => (delta) => {\n const normalized = delta + scale(0);\n const inverted = scale.invert(normalized);\n\n const fixDecimalsArithmetic = (snap(val + inverted).toFixed(4) * 1000) / 1000;\n\n return fixDecimalsArithmetic;\n};\n\n/**\n * Creates a Component that is draggable, within a bounded grid.\n * @param {*} opts\n */\nexport const gridDraggable = (opts) => (Comp) => {\n invariant(\n !!opts && isFunction(opts.fromDelta) && isFunction(opts.bounds) && isFunction(opts.anchorPoint),\n 'You must supply an object with: { anchorPoint: Function, fromDelta: Function, bounds: Function }',\n );\n return class GridDraggable extends React.Component {\n static propTypes = {\n disabled: PropTypes.bool,\n onDragStart: PropTypes.func,\n onDrag: PropTypes.func,\n onDragStop: PropTypes.func,\n onClick: PropTypes.func,\n onMove: PropTypes.func,\n graphProps: GraphPropsType.isRequired,\n };\n grid = () => {\n const { graphProps } = this.props;\n const { scale, domain, range } = graphProps;\n return {\n x: scale.x(domain.step) - scale.x(0),\n y: scale.y(range.step) - scale.y(0),\n };\n };\n onStart = (e) => {\n const { onDragStart } = this.props;\n if (document.activeElement) {\n document.activeElement.blur();\n }\n this.setState({ startX: e.clientX, startY: e.clientY });\n if (onDragStart) {\n onDragStart();\n }\n };\n position = () => {\n const { x, y } = opts.anchorPoint(this.props);\n const { graphProps } = this.props;\n const { scale, snap } = graphProps;\n\n return {\n anchorPoint: {\n x,\n y,\n },\n x: deltaFn(scale.x, snap.x, x),\n y: deltaFn(scale.y, snap.y, y),\n };\n };\n\n tiny = (key, event) => {\n const K = key.toUpperCase();\n const end = event[`client${K}`];\n const start = this.state[`start${K}`];\n const delta = Math.abs(end - start);\n const out = delta < Math.abs(this.grid()[key]) / 10;\n log('[tiny] key: ', key, 'delta: ', delta, 'out: ', out);\n return out;\n };\n\n getScaledBounds = () => {\n const bounds = opts.bounds(this.props, this.props.graphProps);\n log('bounds: ', bounds);\n const grid = this.grid();\n\n const scaled = {\n left: (bounds.left / grid.interval) * grid.x,\n right: (bounds.right / grid.interval) * grid.x,\n top: (bounds.top / grid.interval) * grid.y,\n bottom: (bounds.bottom / grid.interval) * grid.y,\n };\n log('[getScaledBounds]: ', scaled);\n return scaled;\n };\n\n /**\n * Retrieves the coordinates of a mouse or touch event relative to an SVG element.\n * This method has been overwritten from the d3-selection library's clientPoint to handle touch events and improve clarity.\n * @param {Element} node - The SVG element.\n * @param {Event} event - The mouse or touch event.\n * @returns {Array} - An array containing the coordinates [x, y] relative to the SVG element.\n */\n getClientPoint = (node, event) => {\n if (!node || !event) {\n return null;\n }\n const svg = node.ownerSVGElement || node;\n\n if (svg && svg.createSVGPoint) {\n let point = svg.createSVGPoint();\n // Check if it's a touch event and use the first touch point\n if (event.touches && event.touches.length > 0) {\n const touch = event.touches[0];\n point.x = touch.clientX;\n point.y = touch.clientY;\n } else {\n // Fall back to mouse event properties\n point.x = event.clientX;\n point.y = event.clientY;\n }\n if (node.getScreenCTM) {\n point = point.matrixTransform(node.getScreenCTM().inverse());\n return [point.x, point.y];\n } else {\n return null;\n }\n }\n\n const rect = node.getBoundingClientRect();\n if (rect) {\n return [event.clientX - rect.left - node.clientLeft, event.clientY - rect.top - node.clientTop];\n } else {\n return null;\n }\n };\n\n skipDragOutsideOfBounds = (dd, e, graphProps) => {\n // Ignore drag movement outside of the domain and range.\n const rootNode = graphProps.getRootNode();\n const clientPoint = this.getClientPoint(rootNode, e);\n\n if (clientPoint === null) {\n return true; // Indicate that the drag is outside of bounds\n }\n\n const [rawX, rawY] = clientPoint;\n const { scale, domain, range } = graphProps;\n let x = scale.x.invert(rawX);\n let y = scale.y.invert(rawY);\n\n const xOutside = (dd.deltaX > 0 && x < domain.min) || (dd.deltaX < 0 && x > domain.max);\n const yOutside = (dd.deltaY > 0 && y > range.max) || (dd.deltaY < 0 && y < range.min);\n return xOutside || yOutside;\n };\n\n onDrag = (e, dd) => {\n const { onDrag, graphProps } = this.props;\n\n if (!onDrag) {\n return;\n }\n\n const bounds = this.getScaledBounds();\n\n if (dd.deltaX < 0 && dd.deltaX < bounds.left) {\n return;\n }\n\n if (dd.deltaX > 0 && dd.deltaX > bounds.right) {\n return;\n }\n\n if (dd.deltaY < 0 && dd.deltaY < bounds.top) {\n return;\n }\n\n if (dd.deltaY > 0 && dd.deltaY > bounds.bottom) {\n return;\n }\n\n if (this.skipDragOutsideOfBounds(dd, e, graphProps)) {\n return;\n }\n\n const dragArg = this.applyDelta({ x: dd.deltaX, y: dd.deltaY });\n\n if (dragArg !== undefined || dragArg !== null) {\n onDrag(dragArg);\n }\n };\n\n getDelta = (point) => {\n const pos = this.position();\n\n const p = {\n x: pos.x(point.x),\n y: pos.y(point.y),\n };\n\n return utils.getDelta(pos.anchorPoint, p);\n };\n\n applyDelta = (point) => {\n const delta = this.getDelta(point);\n log('[applyDelta] delta:', delta);\n return opts.fromDelta(this.props, delta);\n };\n\n onStop = (e, dd) => {\n log('[onStop] dd:', dd);\n const { onDragStop, onClick } = this.props;\n\n if (onDragStop) {\n onDragStop();\n }\n\n log('[onStop] lastX/Y: ', dd.lastX, dd.lastY);\n const isClick = this.tiny('x', e) && this.tiny('y', e);\n\n if (isClick) {\n if (onClick) {\n log('call onClick');\n this.setState({ startX: null });\n const { graphProps } = this.props;\n const { scale, snap } = graphProps;\n const [rawX, rawY] = clientPoint(e.target, e);\n let x = scale.x.invert(rawX);\n let y = scale.y.invert(rawY);\n x = snap.x(x);\n y = snap.y(y);\n onClick({ x, y });\n return false;\n }\n }\n\n this.setState({ startX: null, startY: null });\n // return false to prevent state updates in the underlying draggable - a move will have triggered an update already.\n return false;\n };\n\n render() {\n const { disabled, ...rest } = this.props;\n const grid = this.grid();\n\n // prevent the text select icon from rendering.\n const onMouseDown = (e) => e.nativeEvent.preventDefault();\n\n /**\n * TODO: This shouldnt be necessary, we should be able to use the r-d classnames.\n * But they aren't being unset. If we continue with this lib, we'll have to fix this.\n */\n const isDragging = this.state ? !!this.state.startX : false;\n\n return (\n <DraggableCore\n disabled={disabled}\n onMouseDown={onMouseDown}\n onStart={this.onStart}\n onDrag={this.onDrag}\n onStop={this.onStop}\n axis={opts.axis || 'both'}\n grid={[grid.x, grid.y]}\n >\n <Comp {...rest} disabled={disabled} isDragging={isDragging} />\n </DraggableCore>\n );\n }\n };\n};\n"],"file":"grid-draggable.js"}
package/lib/index.js CHANGED
@@ -56,4 +56,4 @@ var _graphProps = require("./graph-props");
56
56
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
57
57
 
58
58
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
59
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9pbmRleC5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBOztBQUNBOztBQUNBOztBQUNBOzs7O0FBQ0E7Ozs7QUFDQTs7OztBQUNBIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJvb3QgZnJvbSAnLi9yb290JztcbmltcG9ydCBEcmFnZ2FibGUgZnJvbSAnLi9kcmFnZ2FibGUnO1xuaW1wb3J0IHsgZ3JpZERyYWdnYWJsZSB9IGZyb20gJy4vZ3JpZC1kcmFnZ2FibGUnO1xuaW1wb3J0ICogYXMgdXRpbHMgZnJvbSAnLi91dGlscyc7XG5pbXBvcnQgKiBhcyB0cmlnIGZyb20gJy4vdHJpZyc7XG5pbXBvcnQgKiBhcyB0eXBlcyBmcm9tICcuL3R5cGVzJztcbmltcG9ydCB7IGNyZWF0ZSBhcyBjcmVhdGVHcmFwaFByb3BzIH0gZnJvbSAnLi9ncmFwaC1wcm9wcyc7XG5cbmV4cG9ydCB7IFJvb3QsIERyYWdnYWJsZSwgZ3JpZERyYWdnYWJsZSwgdXRpbHMsIHRyaWcsIHR5cGVzLCBjcmVhdGVHcmFwaFByb3BzIH07XG4iXX0=
59
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/index.js"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;;;AACA;;;;AACA;;;;AACA","sourcesContent":["import Root from './root';\nimport Draggable from './draggable';\nimport { gridDraggable } from './grid-draggable';\nimport * as utils from './utils';\nimport * as trig from './trig';\nimport * as types from './types';\nimport { create as createGraphProps } from './graph-props';\n\nexport { Root, Draggable, gridDraggable, utils, trig, types, createGraphProps };\n"],"file":"index.js"}
package/lib/label.js CHANGED
@@ -173,4 +173,4 @@ var _default = (0, _styles.withStyles)(function (theme) {
173
173
  })(LabelComponent);
174
174
 
175
175
  exports["default"] = _default;
176
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9sYWJlbC5qc3giXSwibmFtZXMiOlsiTGFiZWxDb21wb25lbnQiLCJwcm9wcyIsImNsYXNzZXMiLCJkaXNhYmxlZExhYmVsIiwiZ3JhcGhIZWlnaHQiLCJncmFwaFdpZHRoIiwiaXNDaGFydEJvdHRvbUxhYmVsIiwiaXNEZWZpbmVDaGFydEJvdHRvbUxhYmVsIiwiaXNDaGFydExlZnRMYWJlbCIsImlzRGVmaW5lQ2hhcnRMZWZ0TGFiZWwiLCJwbGFjZWhvbGRlciIsInRleHQiLCJzaWRlIiwib25DaGFuZ2UiLCJtYXRoTWxPcHRpb25zIiwiY2hhcmFjdGVyc0xpbWl0IiwidGl0bGVIZWlnaHQiLCJyb3RhdGVkVG9Ib3Jpem9udGFsIiwic2V0Um90YXRlZFRvSG9yaXpvbnRhbCIsImFjdGl2ZVBsdWdpbnMiLCJpc0NoYXJ0IiwiY2hhcnRWYWx1ZSIsImRlZmF1bHRTdHlsZSIsIndpZHRoIiwidG9wIiwibGVmdCIsInJvdGF0ZWRTdHlsZSIsInJvdGF0ZUxhYmVsIiwiY2hhcnRMYWJlbCIsImF4aXNMYWJlbCIsInJvdGF0ZUxlZnRMYWJlbCIsInJvdGF0ZVJpZ2h0TGFiZWwiLCJlZGl0TGFiZWwiLCJjdXN0b21Cb3R0b20iLCJkaXNwbGF5Tm9uZSIsIl9faHRtbCIsInBvc2l0aW9uIiwibm9QYWRkaW5nIiwibm9Cb3JkZXIiLCJwcm9wVHlwZXMiLCJQcm9wVHlwZXMiLCJvYmplY3QiLCJib29sIiwibnVtYmVyIiwic3RyaW5nIiwiZnVuYyIsInRoZW1lIiwibGFiZWwiLCJmaWxsIiwiY29sb3IiLCJzZWNvbmRhcnkiLCJmb250U2l6ZSIsInR5cG9ncmFwaHkiLCJ0ZXh0QWxpZ24iLCJtYXJnaW4iLCJzcGFjaW5nIiwidW5pdCIsInBhZGRpbmciLCJwb2ludGVyRXZlbnRzIiwiYmFja2dyb3VuZENvbG9yIiwiYm9yZGVyUmFkaXVzIiwiYm94U2hhZG93IiwiekluZGV4IiwidHJhbnNmb3JtT3JpZ2luIiwidHJhbnNmb3JtU3R5bGUiLCJkaXNwbGF5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QUFBLE1BQU0sRUFBRTtBQUxDLEtBcEJ5QjtBQTJCcENoQyxJQUFBQSxlQUFlLEVBQUU7QUFDZiwyQkFBcUIsZ0JBRE47QUFFZmlDLE1BQUFBLGVBQWUsRUFBRSxLQUZGO0FBR2ZDLE1BQUFBLGNBQWMsRUFBRSxhQUhEO0FBSWY1QixNQUFBQSxRQUFRLEVBQUU7QUFKSyxLQTNCbUI7QUFpQ3BDTCxJQUFBQSxnQkFBZ0IsRUFBRTtBQUNoQiwyQkFBcUIsZUFETDtBQUVoQmdDLE1BQUFBLGVBQWUsRUFBRSxLQUZEO0FBR2hCQyxNQUFBQSxjQUFjLEVBQUUsYUFIQTtBQUloQjVCLE1BQUFBLFFBQVEsRUFBRTtBQUpNLEtBakNrQjtBQXVDcENILElBQUFBLFlBQVksRUFBRTtBQUNaRyxNQUFBQSxRQUFRLEVBQUU7QUFERSxLQXZDc0I7QUEwQ3BDRixJQUFBQSxXQUFXLEVBQUU7QUFDWCtCLE1BQUFBLE9BQU8sRUFBRTtBQURFO0FBMUN1QixHQUFaO0FBQUEsQ0FBWCxFQTZDWGpFLGNBN0NXLEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHsgdXNlU3RhdGUgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBjb2xvciwgUmVhZGFibGUgfSBmcm9tICdAcGllLWxpYi9yZW5kZXItdWknO1xuaW1wb3J0IGNuIGZyb20gJ2NsYXNzbmFtZXMnO1xuaW1wb3J0IEVkaXRhYmxlSHRtbCBmcm9tICdAcGllLWxpYi9lZGl0YWJsZS1odG1sJztcbmltcG9ydCB7IHdpdGhTdHlsZXMgfSBmcm9tICdAbWF0ZXJpYWwtdWkvY29yZS9zdHlsZXMnO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcbmltcG9ydCB7IGV4dHJhY3RUZXh0RnJvbUhUTUwsIGlzRW1wdHlTdHJpbmcgfSBmcm9tICcuL3V0aWxzJztcbmNvbnN0IExhYmVsQ29tcG9uZW50ID0gKHByb3BzKSA9PiB7XG4gIGNvbnN0IHtcbiAgICBjbGFzc2VzLFxuICAgIGRpc2FibGVkTGFiZWwsXG4gICAgZ3JhcGhIZWlnaHQsXG4gICAgZ3JhcGhXaWR0aCxcbiAgICBpc0NoYXJ0Qm90dG9tTGFiZWwsXG4gICAgaXNEZWZpbmVDaGFydEJvdHRvbUxhYmVsLFxuICAgIGlzQ2hhcnRMZWZ0TGFiZWwsXG4gICAgaXNEZWZpbmVDaGFydExlZnRMYWJlbCxcbiAgICBwbGFjZWhvbGRlcixcbiAgICB0ZXh0LFxuICAgIHNpZGUsXG4gICAgb25DaGFuZ2UsXG4gICAgbWF0aE1sT3B0aW9ucyA9IHt9LFxuICAgIGNoYXJhY3RlcnNMaW1pdCxcbiAgICB0aXRsZUhlaWdodCxcbiAgfSA9IHByb3BzO1xuICBjb25zdCBbcm90YXRlZFRvSG9yaXpvbnRhbCwgc2V0Um90YXRlZFRvSG9yaXpvbnRhbF0gPSB1c2VTdGF0ZShmYWxzZSk7XG4gIGNvbnN0IGFjdGl2ZVBsdWdpbnMgPSBbXG4gICAgJ2JvbGQnLFxuICAgICdpdGFsaWMnLFxuICAgICd1bmRlcmxpbmUnLFxuICAgICdzdHJpa2V0aHJvdWdoJyxcbiAgICAnbWF0aCcsXG4gICAgLy8gJ2xhbmd1YWdlQ2hhcmFjdGVycydcbiAgXTtcblxuICBjb25zdCBpc0NoYXJ0ID0gaXNDaGFydEJvdHRvbUxhYmVsIHx8IGlzQ2hhcnRMZWZ0TGFiZWwgfHwgaXNEZWZpbmVDaGFydEJvdHRvbUxhYmVsIHx8IGlzRGVmaW5lQ2hhcnRMZWZ0TGFiZWw7XG5cbiAgY29uc3QgY2hhcnRWYWx1ZSA9IHNpZGUgPT09ICdsZWZ0JyAmJiBpc0RlZmluZUNoYXJ0TGVmdExhYmVsICYmIGdyYXBoSGVpZ2h0IC0gMjIwO1xuICBjb25zdCBkZWZhdWx0U3R5bGUgPSB7XG4gICAgd2lkdGg6IGNoYXJ0VmFsdWUgfHwgKHNpZGUgPT09ICdsZWZ0JyB8fCBzaWRlID09PSAncmlnaHQnID8gZ3JhcGhIZWlnaHQgLSA4IDogZ3JhcGhXaWR0aCAtIDgpLFxuICAgIHRvcDpcbiAgICAgIGNoYXJ0VmFsdWUgfHxcbiAgICAgIChpc0NoYXJ0TGVmdExhYmVsICYmIGAke2dyYXBoSGVpZ2h0IC0gNzB9cHhgKSB8fFxuICAgICAgKHNpZGUgPT09ICdsZWZ0JyAmJiBgJHtncmFwaEhlaWdodCAtIDh9cHhgKSB8fFxuICAgICAgKGlzQ2hhcnRCb3R0b21MYWJlbCAmJiBgJHtncmFwaEhlaWdodCAtIDYwICsgdGl0bGVIZWlnaHR9cHhgKSB8fFxuICAgICAgKHNpZGUgPT09ICdib3R0b20nICYmIGAke2dyYXBoSGVpZ2h0IC0gMTIwICsgdGl0bGVIZWlnaHR9cHhgKSB8fFxuICAgICAgMCxcbiAgICBsZWZ0OlxuICAgICAgKHNpZGUgPT09ICdyaWdodCcgJiYgYCR7Z3JhcGhXaWR0aCAtIDh9cHhgKSB8fFxuICAgICAgKChpc0RlZmluZUNoYXJ0TGVmdExhYmVsIHx8IGlzRGVmaW5lQ2hhcnRCb3R0b21MYWJlbCkgJiYgJzQwcHgnKSB8fFxuICAgICAgKGlzQ2hhcnRCb3R0b21MYWJlbCAmJiAnLTEwcHgnKSB8fFxuICAgICAgMCxcbiAgfTtcblxuICBjb25zdCByb3RhdGVkU3R5bGUgPSB7XG4gICAgd2lkdGg6IGdyYXBoV2lkdGggLSA4LFxuICAgIHRvcDogKHNpZGUgPT09ICdyaWdodCcgJiYgYCR7Z3JhcGhIZWlnaHQgLSAyMn1weGApIHx8IDAsXG4gICAgbGVmdDogMCxcbiAgfTtcblxuICBjb25zdCByb3RhdGVMYWJlbCA9ICgpID0+ICFkaXNhYmxlZExhYmVsICYmIChzaWRlID09PSAnbGVmdCcgfHwgc2lkZSA9PT0gJ3JpZ2h0JykgJiYgc2V0Um90YXRlZFRvSG9yaXpvbnRhbCh0cnVlKTtcblxuICByZXR1cm4gKFxuICAgIDxSZWFkYWJsZSBmYWxzZT5cbiAgICAgIDxkaXZcbiAgICAgICAgY2xhc3NOYW1lPXtjbihpc0NoYXJ0ID8gY2xhc3Nlcy5jaGFydExhYmVsIDogY2xhc3Nlcy5heGlzTGFiZWwsIHtcbiAgICAgICAgICBbY2xhc3Nlcy5yb3RhdGVMZWZ0TGFiZWxdOiBzaWRlID09PSAnbGVmdCcgJiYgIXJvdGF0ZWRUb0hvcml6b250YWwsXG4gICAgICAgICAgW2NsYXNzZXMucm90YXRlUmlnaHRMYWJlbF06IHNpZGUgPT09ICdyaWdodCcgJiYgIXJvdGF0ZWRUb0hvcml6b250YWwsXG4gICAgICAgICAgW2NsYXNzZXMuZWRpdExhYmVsXTogcm90YXRlZFRvSG9yaXpvbnRhbCxcbiAgICAgICAgICBbY2xhc3Nlcy5jdXN0b21Cb3R0b21dOiBpc0NoYXJ0Qm90dG9tTGFiZWwgfHwgaXNEZWZpbmVDaGFydEJvdHRvbUxhYmVsLFxuICAgICAgICAgIFtjbGFzc2VzLmRpc3BsYXlOb25lXTogZGlzYWJsZWRMYWJlbCAmJiAhaXNDaGFydCAmJiBpc0VtcHR5U3RyaW5nKGV4dHJhY3RUZXh0RnJvbUhUTUwodGV4dCkpLFxuICAgICAgICB9KX1cbiAgICAgICAgc3R5bGU9e3JvdGF0ZWRUb0hvcml6b250YWwgPyByb3RhdGVkU3R5bGUgOiBkZWZhdWx0U3R5bGV9XG4gICAgICAgIG9uQ2xpY2s9e3JvdGF0ZUxhYmVsfVxuICAgICAgPlxuICAgICAgICB7ZGlzYWJsZWRMYWJlbCA/IChcbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT17Y2xhc3Nlcy5kaXNhYmxlZExhYmVsfSBkYW5nZXJvdXNseVNldElubmVySFRNTD17eyBfX2h0bWw6IHRleHQgfHwgJycgfX0gLz5cbiAgICAgICAgKSA6IChcbiAgICAgICAgICA8RWRpdGFibGVIdG1sXG4gICAgICAgICAgICBtYXJrdXA9e3RleHQgfHwgJyd9XG4gICAgICAgICAgICBvbkNoYW5nZT17b25DaGFuZ2V9XG4gICAgICAgICAgICBwbGFjZWhvbGRlcj17IWRpc2FibGVkTGFiZWwgJiYgcGxhY2Vob2xkZXJ9XG4gICAgICAgICAgICB0b29sYmFyT3B0cz17e1xuICAgICAgICAgICAgICBwb3NpdGlvbjogc2lkZSA9PT0gJ2JvdHRvbScgPyAndG9wJyA6ICdib3R0b20nLFxuICAgICAgICAgICAgICBub1BhZGRpbmc6IHRydWUsXG4gICAgICAgICAgICAgIG5vQm9yZGVyOiB0cnVlLFxuICAgICAgICAgICAgfX1cbiAgICAgICAgICAgIGRpc2FibGVTY3JvbGxiYXJcbiAgICAgICAgICAgIGFjdGl2ZVBsdWdpbnM9e2FjdGl2ZVBsdWdpbnN9XG4gICAgICAgICAgICBvbkRvbmU9eygpID0+IHNldFJvdGF0ZWRUb0hvcml6b250YWwoZmFsc2UpfVxuICAgICAgICAgICAgbWF0aE1sT3B0aW9ucz17bWF0aE1sT3B0aW9uc31cbiAgICAgICAgICAgIGNoYXJhY3RlcnNMaW1pdD17Y2hhcmFjdGVyc0xpbWl0fVxuICAgICAgICAgIC8+XG4gICAgICAgICl9XG4gICAgICA8L2Rpdj5cbiAgICA8L1JlYWRhYmxlPlxuICApO1xufTtcbkxhYmVsQ29tcG9uZW50LnByb3BUeXBlcyA9IHtcbiAgY2xhc3NlczogUHJvcFR5cGVzLm9iamVjdCxcbiAgZGlzYWJsZWRMYWJlbDogUHJvcFR5cGVzLmJvb2wsXG4gIGdyYXBoSGVpZ2h0OiBQcm9wVHlwZXMubnVtYmVyLFxuICBncmFwaFdpZHRoOiBQcm9wVHlwZXMubnVtYmVyLFxuICBpc0NoYXJ0Qm90dG9tTGFiZWw6IFByb3BUeXBlcy5ib29sLFxuICBpc0RlZmluZUNoYXJ0Qm90dG9tTGFiZWw6IFByb3BUeXBlcy5ib29sLFxuICBpc0NoYXJ0TGVmdExhYmVsOiBQcm9wVHlwZXMuYm9vbCxcbiAgaXNEZWZpbmVDaGFydExlZnRMYWJlbDogUHJvcFR5cGVzLmJvb2wsXG4gIHBsYWNlaG9sZGVyOiBQcm9wVHlwZXMuc3RyaW5nLFxuICB0ZXh0OiBQcm9wVHlwZXMuc3RyaW5nLFxuICBzaWRlOiBQcm9wVHlwZXMuc3RyaW5nLFxuICBvbkNoYW5nZTogUHJvcFR5cGVzLmZ1bmMsXG4gIG1hdGhNbE9wdGlvbnM6IFByb3BUeXBlcy5vYmplY3QsXG4gIGNoYXJhY3RlcnNMaW1pdDogUHJvcFR5cGVzLm51bWJlcixcbiAgdGl0bGVIZWlnaHQ6IFByb3BUeXBlcy5udW1iZXIsXG59O1xuXG5leHBvcnQgZGVmYXVsdCB3aXRoU3R5bGVzKCh0aGVtZSkgPT4gKHtcbiAgbGFiZWw6IHtcbiAgICBmaWxsOiBjb2xvci5zZWNvbmRhcnkoKSxcbiAgfSxcbiAgYXhpc0xhYmVsOiB7XG4gICAgZm9udFNpemU6IHRoZW1lLnR5cG9ncmFwaHkuZm9udFNpemUgLSAyLFxuICAgIHRleHRBbGlnbjogJ2NlbnRlcicsXG4gICAgbWFyZ2luOiB0aGVtZS5zcGFjaW5nLnVuaXQgLyAyLFxuICAgIHBhZGRpbmc6IGAke3RoZW1lLnNwYWNpbmcudW5pdCAvIDJ9cHggMGAsXG4gIH0sXG4gIGNoYXJ0TGFiZWw6IHtcbiAgICBmb250U2l6ZTogdGhlbWUudHlwb2dyYXBoeS5mb250U2l6ZSArIDIsXG4gICAgdGV4dEFsaWduOiAnY2VudGVyJyxcbiAgICBtYXJnaW46IHRoZW1lLnNwYWNpbmcudW5pdCAvIDIsXG4gICAgcGFkZGluZzogYCR7dGhlbWUuc3BhY2luZy51bml0IC8gMn1weCAwYCxcbiAgfSxcbiAgZGlzYWJsZWRMYWJlbDoge1xuICAgIHBvaW50ZXJFdmVudHM6ICdub25lJyxcbiAgICB3aWR0aDogJzEwMCUnLFxuICB9LFxuICBlZGl0TGFiZWw6IHtcbiAgICBwb3NpdGlvbjogJ2Fic29sdXRlJyxcbiAgICBiYWNrZ3JvdW5kQ29sb3I6ICd3aGl0ZScsXG4gICAgYm9yZGVyUmFkaXVzOiAnNHB4JyxcbiAgICBib3hTaGFkb3c6ICcwcHggNXB4IDhweCByZ2JhKDAsIDAsIDAsIDAuMTUpJyxcbiAgICB6SW5kZXg6IDEwLFxuICB9LFxuICByb3RhdGVMZWZ0TGFiZWw6IHtcbiAgICAnLXdlYmtpdC10cmFuc2Zvcm0nOiAncm90YXRlKC05MGRlZyknLFxuICAgIHRyYW5zZm9ybU9yaWdpbjogJzAgMCcsXG4gICAgdHJhbnNmb3JtU3R5bGU6ICdwcmVzZXJ2ZS0zZCcsXG4gICAgcG9zaXRpb246ICdhYnNvbHV0ZScsXG4gIH0sXG4gIHJvdGF0ZVJpZ2h0TGFiZWw6IHtcbiAgICAnLXdlYmtpdC10cmFuc2Zvcm0nOiAncm90YXRlKDkwZGVnKScsXG4gICAgdHJhbnNmb3JtT3JpZ2luOiAnMCAwJyxcbiAgICB0cmFuc2Zvcm1TdHlsZTogJ3ByZXNlcnZlLTNkJyxcbiAgICBwb3NpdGlvbjogJ2Fic29sdXRlJyxcbiAgfSxcbiAgY3VzdG9tQm90dG9tOiB7XG4gICAgcG9zaXRpb246ICdhYnNvbHV0ZScsXG4gIH0sXG4gIGRpc3BsYXlOb25lOiB7XG4gICAgZGlzcGxheTogJ25vbmUnLFxuICB9LFxufSkpKExhYmVsQ29tcG9uZW50KTtcbiJdfQ==
176
+ //# sourceMappingURL=label.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/label.jsx"],"names":["LabelComponent","props","classes","disabledLabel","graphHeight","graphWidth","isChartBottomLabel","isDefineChartBottomLabel","isChartLeftLabel","isDefineChartLeftLabel","placeholder","text","side","onChange","mathMlOptions","charactersLimit","titleHeight","rotatedToHorizontal","setRotatedToHorizontal","activePlugins","isChart","chartValue","defaultStyle","width","top","left","rotatedStyle","rotateLabel","chartLabel","axisLabel","rotateLeftLabel","rotateRightLabel","editLabel","customBottom","displayNone","__html","position","noPadding","noBorder","propTypes","PropTypes","object","bool","number","string","func","theme","label","fill","color","secondary","fontSize","typography","textAlign","margin","spacing","unit","padding","pointerEvents","backgroundColor","borderRadius","boxShadow","zIndex","transformOrigin","transformStyle","display"],"mappings":"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","sourcesContent":["import React, { useState } from 'react';\nimport { color, Readable } from '@pie-lib/render-ui';\nimport cn from 'classnames';\nimport EditableHtml from '@pie-lib/editable-html';\nimport { withStyles } from '@material-ui/core/styles';\nimport PropTypes from 'prop-types';\nimport { extractTextFromHTML, isEmptyString } from './utils';\nconst LabelComponent = (props) => {\n const {\n classes,\n disabledLabel,\n graphHeight,\n graphWidth,\n isChartBottomLabel,\n isDefineChartBottomLabel,\n isChartLeftLabel,\n isDefineChartLeftLabel,\n placeholder,\n text,\n side,\n onChange,\n mathMlOptions = {},\n charactersLimit,\n titleHeight,\n } = props;\n const [rotatedToHorizontal, setRotatedToHorizontal] = useState(false);\n const activePlugins = [\n 'bold',\n 'italic',\n 'underline',\n 'strikethrough',\n 'math',\n // 'languageCharacters'\n ];\n\n const isChart = isChartBottomLabel || isChartLeftLabel || isDefineChartBottomLabel || isDefineChartLeftLabel;\n\n const chartValue = side === 'left' && isDefineChartLeftLabel && graphHeight - 220;\n const defaultStyle = {\n width: chartValue || (side === 'left' || side === 'right' ? graphHeight - 8 : graphWidth - 8),\n top:\n chartValue ||\n (isChartLeftLabel && `${graphHeight - 70}px`) ||\n (side === 'left' && `${graphHeight - 8}px`) ||\n (isChartBottomLabel && `${graphHeight - 60 + titleHeight}px`) ||\n (side === 'bottom' && `${graphHeight - 120 + titleHeight}px`) ||\n 0,\n left:\n (side === 'right' && `${graphWidth - 8}px`) ||\n ((isDefineChartLeftLabel || isDefineChartBottomLabel) && '40px') ||\n (isChartBottomLabel && '-10px') ||\n 0,\n };\n\n const rotatedStyle = {\n width: graphWidth - 8,\n top: (side === 'right' && `${graphHeight - 22}px`) || 0,\n left: 0,\n };\n\n const rotateLabel = () => !disabledLabel && (side === 'left' || side === 'right') && setRotatedToHorizontal(true);\n\n return (\n <Readable false>\n <div\n className={cn(isChart ? classes.chartLabel : classes.axisLabel, {\n [classes.rotateLeftLabel]: side === 'left' && !rotatedToHorizontal,\n [classes.rotateRightLabel]: side === 'right' && !rotatedToHorizontal,\n [classes.editLabel]: rotatedToHorizontal,\n [classes.customBottom]: isChartBottomLabel || isDefineChartBottomLabel,\n [classes.displayNone]: disabledLabel && !isChart && isEmptyString(extractTextFromHTML(text)),\n })}\n style={rotatedToHorizontal ? rotatedStyle : defaultStyle}\n onClick={rotateLabel}\n >\n {disabledLabel ? (\n <div className={classes.disabledLabel} dangerouslySetInnerHTML={{ __html: text || '' }} />\n ) : (\n <EditableHtml\n markup={text || ''}\n onChange={onChange}\n placeholder={!disabledLabel && placeholder}\n toolbarOpts={{\n position: side === 'bottom' ? 'top' : 'bottom',\n noPadding: true,\n noBorder: true,\n }}\n disableScrollbar\n activePlugins={activePlugins}\n onDone={() => setRotatedToHorizontal(false)}\n mathMlOptions={mathMlOptions}\n charactersLimit={charactersLimit}\n />\n )}\n </div>\n </Readable>\n );\n};\nLabelComponent.propTypes = {\n classes: PropTypes.object,\n disabledLabel: PropTypes.bool,\n graphHeight: PropTypes.number,\n graphWidth: PropTypes.number,\n isChartBottomLabel: PropTypes.bool,\n isDefineChartBottomLabel: PropTypes.bool,\n isChartLeftLabel: PropTypes.bool,\n isDefineChartLeftLabel: PropTypes.bool,\n placeholder: PropTypes.string,\n text: PropTypes.string,\n side: PropTypes.string,\n onChange: PropTypes.func,\n mathMlOptions: PropTypes.object,\n charactersLimit: PropTypes.number,\n titleHeight: PropTypes.number,\n};\n\nexport default withStyles((theme) => ({\n label: {\n fill: color.secondary(),\n },\n axisLabel: {\n fontSize: theme.typography.fontSize - 2,\n textAlign: 'center',\n margin: theme.spacing.unit / 2,\n padding: `${theme.spacing.unit / 2}px 0`,\n },\n chartLabel: {\n fontSize: theme.typography.fontSize + 2,\n textAlign: 'center',\n margin: theme.spacing.unit / 2,\n padding: `${theme.spacing.unit / 2}px 0`,\n },\n disabledLabel: {\n pointerEvents: 'none',\n width: '100%',\n },\n editLabel: {\n position: 'absolute',\n backgroundColor: 'white',\n borderRadius: '4px',\n boxShadow: '0px 5px 8px rgba(0, 0, 0, 0.15)',\n zIndex: 10,\n },\n rotateLeftLabel: {\n '-webkit-transform': 'rotate(-90deg)',\n transformOrigin: '0 0',\n transformStyle: 'preserve-3d',\n position: 'absolute',\n },\n rotateRightLabel: {\n '-webkit-transform': 'rotate(90deg)',\n transformOrigin: '0 0',\n transformStyle: 'preserve-3d',\n position: 'absolute',\n },\n customBottom: {\n position: 'absolute',\n },\n displayNone: {\n display: 'none',\n },\n}))(LabelComponent);\n"],"file":"label.js"}
package/lib/root.js CHANGED
@@ -391,7 +391,6 @@ var styles = function styles(theme) {
391
391
  paddingTop: '6px'
392
392
  },
393
393
  topPixelIndicator: {
394
- color: _renderUi.color.defaults.PRIMARY_LIGHT,
395
394
  display: 'flex',
396
395
  flexDirection: 'column',
397
396
  alignItems: 'center',
@@ -406,7 +405,6 @@ var styles = function styles(theme) {
406
405
  marginRight: '6px'
407
406
  },
408
407
  sidePixelIndicator: {
409
- color: _renderUi.color.defaults.PRIMARY_LIGHT,
410
408
  textAlign: 'right',
411
409
  height: '20px',
412
410
  pointerEvents: 'none',
@@ -421,4 +419,4 @@ var styles = function styles(theme) {
421
419
  var _default = (0, _styles.withStyles)(styles)(Root);
422
420
 
423
421
  exports["default"] = _default;
424
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9yb290LmpzeCJdLCJuYW1lcyI6WyJSb290IiwicHJvcHMiLCJnIiwiZ3JhcGhQcm9wcyIsIm9uTW91c2VNb3ZlIiwic2NhbGUiLCJzbmFwIiwiY29vcmRzIiwiX2dyb3VwcyIsIngiLCJpbnZlcnQiLCJ5Iiwic25hcHBlZCIsIm5ld1ZhbHVlIiwic2lkZSIsImxhYmVscyIsIm9uQ2hhbmdlTGFiZWxzIiwiaXNDaGFydCIsInRpdGxlRWxlbWVudCIsImRvY3VtZW50IiwiZ2V0RWxlbWVudEJ5SWQiLCJ0aXRsZUhlaWdodCIsImNsaWVudEhlaWdodCIsInNldFN0YXRlIiwicHJldlRpdGxlIiwidGl0bGUiLCJzZXRUaW1lb3V0IiwibWVhc3VyZVRpdGxlSGVpZ2h0Iiwic3RhdGUiLCJvbiIsIm1vdXNlTW92ZSIsImJpbmQiLCJwcmV2UHJvcHMiLCJkaXNhYmxlZFRpdGxlIiwiZGlzYWJsZWRMYWJlbHMiLCJsYWJlbHNQbGFjZWhvbGRlcnMiLCJ0aXRsZVBsYWNlaG9sZGVyIiwiY2hpbGRyZW4iLCJjbGFzc2VzIiwiZGVmaW5lQ2hhcnQiLCJvbkNoYW5nZVRpdGxlIiwic2hvd0xhYmVscyIsInNob3dQaXhlbEd1aWRlcyIsInNob3dUaXRsZSIsInJvb3RSZWYiLCJtYXRoTWxPcHRpb25zIiwibGFiZWxzQ2hhcmFjdGVyc0xpbWl0Iiwic2l6ZSIsIndpZHRoIiwiaGVpZ2h0IiwiZG9tYWluIiwicmFuZ2UiLCJ0b3BQYWRkaW5nIiwibGVmdFBhZGRpbmciLCJsZWZ0IiwicmlnaHRQYWRkaW5nIiwicmlnaHQiLCJmaW5hbFdpZHRoIiwicGFkZGluZyIsImZpbmFsSGVpZ2h0IiwiYWN0aXZlVGl0bGVQbHVnaW5zIiwiYWN0dWFsSGVpZ2h0IiwibmJPZlZlcnRpY2FsTGluZXMiLCJwYXJzZUludCIsIm5iT2ZIb3Jpem9udGFsTGluZXMiLCJzaWRlR3JpZGxpbmVzUGFkZGluZyIsInJvb3QiLCJ0b3BQaXhlbEd1aWRlcyIsIm1hcmdpbkxlZnQiLCJBcnJheSIsImtleXMiLCJtYXAiLCJ2YWx1ZSIsInRvcFBpeGVsSW5kaWNhdG9yIiwiZGlzcGxheSIsImNoYXJ0VGl0bGUiLCJncmFwaFRpdGxlIiwiX19odG1sIiwicmlnaHRNYXJnaW4iLCJub1BhZGRpbmciLCJub0JvcmRlciIsImhhbmRsZUtleURvd24iLCJ0b3AiLCJvbkNoYW5nZUxhYmVsIiwid3JhcHBlciIsImNoYXJ0IiwiciIsImdyYXBoQm94Iiwic2lkZVBpeGVsR3VpZGVzIiwicGFkZGluZ1RvcCIsIm1hcmdpblRvcCIsInJldmVyc2UiLCJzaWRlUGl4ZWxJbmRpY2F0b3IiLCJib3R0b20iLCJSZWFjdCIsIkNvbXBvbmVudCIsIlByb3BUeXBlcyIsInN0cmluZyIsIkNoaWxkcmVuVHlwZSIsImJvb2wiLCJHcmFwaFByb3BzVHlwZSIsImlzUmVxdWlyZWQiLCJvYmplY3QiLCJmdW5jIiwibnVtYmVyIiwic3R5bGVzIiwidGhlbWUiLCJib3JkZXIiLCJjb2xvciIsInByaW1hcnlMaWdodCIsImRlZmF1bHRzIiwiVEVYVCIsImJhY2tncm91bmRDb2xvciIsInBhbGV0dGUiLCJjb21tb24iLCJ3aGl0ZSIsInRvdWNoQWN0aW9uIiwicG9zaXRpb24iLCJzdmciLCJwYWRkaW5nTGVmdCIsIm92ZXJmbG93IiwiY3Vyc29yIiwidXNlclNlbGVjdCIsImZvbnRTaXplIiwidHlwb2dyYXBoeSIsInNwYWNpbmciLCJ1bml0IiwidGV4dEFsaWduIiwicG9pbnRlckV2ZW50cyIsIm1hcmdpblJpZ2h0IiwiUFJJTUFSWV9MSUdIVCIsImZsZXhEaXJlY3Rpb24iLCJhbGlnbkl0ZW1zIiwibWFyZ2luQm90dG9tIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBRUE7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7Ozs7Ozs7Ozs7SUFFYUEsSTs7Ozs7QUFDWCxnQkFBWUMsS0FBWixFQUFtQjtBQUFBOztBQUFBO0FBQ2pCLDhCQUFNQSxLQUFO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LE1BQVgsRUFBbUJ6RyxJQUFuQixDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IENoaWxkcmVuVHlwZSB9IGZyb20gJy4vdHlwZXMnO1xuaW1wb3J0IHsgd2l0aFN0eWxlcyB9IGZyb20gJ0BtYXRlcmlhbC11aS9jb3JlL3N0eWxlcyc7XG5pbXBvcnQgeyBzZWxlY3QsIG1vdXNlIH0gZnJvbSAnZDMtc2VsZWN0aW9uJztcbmltcG9ydCBQcm9wVHlwZXMgZnJvbSAncHJvcC10eXBlcyc7XG5pbXBvcnQgeyBHcmFwaFByb3BzVHlwZSB9IGZyb20gJy4vdHlwZXMnO1xuaW1wb3J0IHsgY29sb3IsIFJlYWRhYmxlIH0gZnJvbSAnQHBpZS1saWIvcmVuZGVyLXVpJztcbmltcG9ydCBFZGl0YWJsZUh0bWwgZnJvbSAnQHBpZS1saWIvZWRpdGFibGUtaHRtbCc7XG5pbXBvcnQgY24gZnJvbSAnY2xhc3NuYW1lcyc7XG5pbXBvcnQgTGFiZWwgZnJvbSAnLi9sYWJlbCc7XG5pbXBvcnQgeyBleHRyYWN0VGV4dEZyb21IVE1MLCBpc0VtcHR5T2JqZWN0LCBpc0VtcHR5U3RyaW5nIH0gZnJvbSAnLi91dGlscyc7XG5cbmV4cG9ydCBjbGFzcyBSb290IGV4dGVuZHMgUmVhY3QuQ29tcG9uZW50IHtcbiAgY29uc3RydWN0b3IocHJvcHMpIHtcbiAgICBzdXBlcihwcm9wcyk7XG4gICAgdGhpcy5zdGF0ZSA9IHtcbiAgICAgIHRpdGxlSGVpZ2h0OiAwLFxuICAgIH07XG4gIH1cblxuICBzdGF0aWMgcHJvcFR5cGVzID0ge1xuICAgIHRpdGxlOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgIGNoaWxkcmVuOiBDaGlsZHJlblR5cGUsXG4gICAgZGVmaW5lQ2hhcnQ6IFByb3BUeXBlcy5ib29sLFxuICAgIGRpc2FibGVkTGFiZWxzOiBQcm9wVHlwZXMuYm9vbCxcbiAgICBkaXNhYmxlZFRpdGxlOiBQcm9wVHlwZXMuYm9vbCxcbiAgICBncmFwaFByb3BzOiBHcmFwaFByb3BzVHlwZS5pc1JlcXVpcmVkLFxuICAgIGlzQ2hhcnQ6IFByb3BUeXBlcy5ib29sLFxuICAgIGxhYmVsczogUHJvcFR5cGVzLm9iamVjdCxcbiAgICBsYWJlbHNQbGFjZWhvbGRlcnM6IFByb3BUeXBlcy5vYmplY3QsXG4gICAgb25DaGFuZ2VUaXRsZTogUHJvcFR5cGVzLmZ1bmMsXG4gICAgb25Nb3VzZU1vdmU6IFByb3BUeXBlcy5mdW5jLFxuICAgIGNsYXNzZXM6IFByb3BUeXBlcy5vYmplY3QuaXNSZXF1aXJlZCxcbiAgICBzaG93TGFiZWxzOiBQcm9wVHlwZXMuYm9vbCxcbiAgICBzaG93VGl0bGU6IFByb3BUeXBlcy5ib29sLFxuICAgIHNob3dQaXhlbEd1aWRlczogUHJvcFR5cGVzLmJvb2wsXG4gICAgcm9vdFJlZjogUHJvcFR5cGVzLmZ1bmMsXG4gICAgb25DaGFuZ2VMYWJlbHM6IFByb3BUeXBlcy5mdW5jLFxuICAgIHRpdGxlUGxhY2Vob2xkZXI6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgbWF0aE1sT3B0aW9uczogUHJvcFR5cGVzLm9iamVjdCxcbiAgICBsYWJlbHNDaGFyYWN0ZXJzTGltaXQ6IFByb3BUeXBlcy5udW1iZXIsXG4gIH07XG5cbiAgbW91c2VNb3ZlID0gKGcpID0+IHtcbiAgICBjb25zdCB7IGdyYXBoUHJvcHMsIG9uTW91c2VNb3ZlIH0gPSB0aGlzLnByb3BzO1xuXG4gICAgaWYgKCFvbk1vdXNlTW92ZSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IHsgc2NhbGUsIHNuYXAgfSA9IGdyYXBoUHJvcHM7XG4gICAgY29uc3QgY29vcmRzID0gbW91c2UoZy5fZ3JvdXBzWzBdWzBdKTtcbiAgICBjb25zdCB4ID0gc2NhbGUueC5pbnZlcnQoY29vcmRzWzBdKTtcbiAgICBjb25zdCB5ID0gc2NhbGUueS5pbnZlcnQoY29vcmRzWzFdKTtcblxuICAgIGNvbnN0IHNuYXBwZWQgPSB7XG4gICAgICB4OiBzbmFwLngoeCksXG4gICAgICB5OiBzbmFwLnkoeSksXG4gICAgfTtcblxuICAgIG9uTW91c2VNb3ZlKHNuYXBwZWQpO1xuICB9O1xuXG4gIGNvbXBvbmVudERpZE1vdW50KCkge1xuICAgIGNvbnN0IGcgPSBzZWxlY3QodGhpcy5nKTtcbiAgICBnLm9uKCdtb3VzZW1vdmUnLCB0aGlzLm1vdXNlTW92ZS5iaW5kKHRoaXMsIGcpKTtcbiAgICB0aGlzLm1lYXN1cmVUaXRsZUhlaWdodCgpO1xuICB9XG5cbiAgY29tcG9uZW50V2lsbFVubW91bnQoKSB7XG4gICAgY29uc3QgZyA9IHNlbGVjdCh0aGlzLmcpO1xuICAgIGcub24oJ21vdXNlbW92ZScsIG51bGwpO1xuICB9XG5cbiAgY29tcG9uZW50RGlkVXBkYXRlKHByZXZQcm9wcykge1xuICAgIGlmIChwcmV2UHJvcHMudGl0bGUgIT09IHRoaXMucHJvcHMudGl0bGUpIHtcbiAgICAgIHRoaXMubWVhc3VyZVRpdGxlSGVpZ2h0KCk7XG4gICAgfVxuICB9XG5cbiAgb25DaGFuZ2VMYWJlbCA9IChuZXdWYWx1ZSwgc2lkZSkgPT4ge1xuICAgIGNvbnN0IHsgbGFiZWxzLCBvbkNoYW5nZUxhYmVscywgaXNDaGFydCB9ID0gdGhpcy5wcm9wcztcblxuICAgIGlmICghb25DaGFuZ2VMYWJlbHMpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAoaXNDaGFydCkge1xuICAgICAgaWYgKHNpZGUgPT09ICdsZWZ0Jykge1xuICAgICAgICBvbkNoYW5nZUxhYmVscygncmFuZ2UnLCBuZXdWYWx1ZSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBvbkNoYW5nZUxhYmVscygnZG9tYWluJywgbmV3VmFsdWUpO1xuICAgICAgfVxuXG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgb25DaGFuZ2VMYWJlbHMoe1xuICAgICAgLi4ubGFiZWxzLFxuICAgICAgW3NpZGVdOiBuZXdWYWx1ZSxcbiAgICB9KTtcbiAgfTtcblxuICBtZWFzdXJlVGl0bGVIZWlnaHQgPSAoKSA9PiB7XG4gICAgY29uc3QgdGl0bGVFbGVtZW50ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2VkaXRhYmxlLXRpdGxlJyk7XG4gICAgaWYgKHRpdGxlRWxlbWVudCkge1xuICAgICAgY29uc3QgdGl0bGVIZWlnaHQgPSB0aXRsZUVsZW1lbnQuY2xpZW50SGVpZ2h0O1xuICAgICAgdGhpcy5zZXRTdGF0ZSh7IHRpdGxlSGVpZ2h0LCBwcmV2VGl0bGU6IHRoaXMucHJvcHMudGl0bGUgfSk7XG4gICAgfVxuICB9O1xuXG4gIGhhbmRsZUtleURvd24gPSAoKSA9PiB7XG4gICAgc2V0VGltZW91dCh0aGlzLm1lYXN1cmVUaXRsZUhlaWdodCwgMCk7XG4gIH07XG5cbiAgcmVuZGVyKCkge1xuICAgIGNvbnN0IHtcbiAgICAgIGRpc2FibGVkVGl0bGUsXG4gICAgICBkaXNhYmxlZExhYmVscyxcbiAgICAgIGxhYmVscyxcbiAgICAgIGxhYmVsc1BsYWNlaG9sZGVycyxcbiAgICAgIHRpdGxlUGxhY2Vob2xkZXIsXG4gICAgICBncmFwaFByb3BzLFxuICAgICAgY2hpbGRyZW4sXG4gICAgICBjbGFzc2VzLFxuICAgICAgZGVmaW5lQ2hhcnQsXG4gICAgICBvbkNoYW5nZVRpdGxlLFxuICAgICAgaXNDaGFydCxcbiAgICAgIHNob3dMYWJlbHMsXG4gICAgICBzaG93UGl4ZWxHdWlkZXMsXG4gICAgICBzaG93VGl0bGUsXG4gICAgICB0aXRsZSxcbiAgICAgIHJvb3RSZWYsXG4gICAgICBtYXRoTWxPcHRpb25zID0ge30sXG4gICAgICBsYWJlbHNDaGFyYWN0ZXJzTGltaXQsXG4gICAgfSA9IHRoaXMucHJvcHM7XG4gICAgY29uc3Qge1xuICAgICAgc2l6ZTogeyB3aWR0aCA9IDUwMCwgaGVpZ2h0ID0gNTAwIH0sXG4gICAgICBkb21haW4sXG4gICAgICByYW5nZSxcbiAgICB9ID0gZ3JhcGhQcm9wcztcblxuICAgIGNvbnN0IHRvcFBhZGRpbmcgPSA0MDtcbiAgICBjb25zdCBsZWZ0UGFkZGluZyA9IGlzRW1wdHlTdHJpbmcoZXh0cmFjdFRleHRGcm9tSFRNTChsYWJlbHM/LmxlZnQpKSAmJiBpc0VtcHR5T2JqZWN0KGxhYmVsc1BsYWNlaG9sZGVycykgPyA0OCA6IDcwO1xuICAgIGNvbnN0IHJpZ2h0UGFkZGluZyA9XG4gICAgICBpc0VtcHR5U3RyaW5nKGV4dHJhY3RUZXh0RnJvbUhUTUwobGFiZWxzPy5yaWdodCkpICYmIGlzRW1wdHlPYmplY3QobGFiZWxzUGxhY2Vob2xkZXJzKSA/IDQ4IDogNzA7XG4gICAgY29uc3QgZmluYWxXaWR0aCA9IHdpZHRoICsgbGVmdFBhZGRpbmcgKyByaWdodFBhZGRpbmcgKyAoZG9tYWluLnBhZGRpbmcgfHwgMCkgKiAyO1xuICAgIGNvbnN0IGZpbmFsSGVpZ2h0ID0gaGVpZ2h0ICsgdG9wUGFkZGluZyAqIDIgKyAocmFuZ2UucGFkZGluZyB8fCAwKSAqIDI7XG5cbiAgICBjb25zdCBhY3RpdmVUaXRsZVBsdWdpbnMgPSBbXG4gICAgICAnYm9sZCcsXG4gICAgICAnaXRhbGljJyxcbiAgICAgICd1bmRlcmxpbmUnLFxuICAgICAgJ3N1cGVyc2NyaXB0JyxcbiAgICAgICdzdWJzY3JpcHQnLFxuICAgICAgJ3N0cmlrZXRocm91Z2gnLFxuICAgICAgJ21hdGgnLFxuICAgICAgLy8gJ2xhbmd1YWdlQ2hhcmFjdGVycydcbiAgICBdO1xuXG4gICAgY29uc3QgYWN0dWFsSGVpZ2h0ID0gZGVmaW5lQ2hhcnQgJiYgc2hvd1BpeGVsR3VpZGVzID8gaGVpZ2h0IC0gMTYwIDogaGVpZ2h0O1xuICAgIGNvbnN0IG5iT2ZWZXJ0aWNhbExpbmVzID0gcGFyc2VJbnQod2lkdGggLyAxMDApO1xuICAgIGNvbnN0IG5iT2ZIb3Jpem9udGFsTGluZXMgPSBwYXJzZUludChhY3R1YWxIZWlnaHQgLyAxMDApO1xuICAgIGNvbnN0IHNpZGVHcmlkbGluZXNQYWRkaW5nID0gcGFyc2VJbnQoYWN0dWFsSGVpZ2h0ICUgMTAwKTtcbiAgICBjb25zdCB7IHRpdGxlSGVpZ2h0IH0gPSB0aGlzLnN0YXRlO1xuICAgIHJldHVybiAoXG4gICAgICA8ZGl2IGNsYXNzTmFtZT17Y2xhc3Nlcy5yb290fT5cbiAgICAgICAge3Nob3dQaXhlbEd1aWRlcyAmJiAoXG4gICAgICAgICAgPGRpdiBjbGFzc05hbWU9e2NsYXNzZXMudG9wUGl4ZWxHdWlkZXN9IHN0eWxlPXt7IG1hcmdpbkxlZnQ6IGlzQ2hhcnQgPyA4MCA6IHNob3dMYWJlbHMgPyAzMCA6IDEwIH19PlxuICAgICAgICAgICAge1suLi5BcnJheShuYk9mVmVydGljYWxMaW5lcyArIDEpLmtleXMoKV0ubWFwKCh2YWx1ZSkgPT4gKFxuICAgICAgICAgICAgICA8UmVhZGFibGUgZmFsc2Uga2V5PXtgdG9wLWd1aWRlLSR7dmFsdWV9YH0+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9e2NsYXNzZXMudG9wUGl4ZWxJbmRpY2F0b3J9PlxuICAgICAgICAgICAgICAgICAgPGRpdj57dmFsdWUgKiAxMDB9cHg8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDxkaXY+fDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8L1JlYWRhYmxlPlxuICAgICAgICAgICAgKSl9XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICl9XG4gICAgICAgIHtzaG93VGl0bGUgJiZcbiAgICAgICAgICAoZGlzYWJsZWRUaXRsZSA/IChcbiAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgaWQ9XCJlZGl0YWJsZS10aXRsZVwiXG4gICAgICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICAgICAgLi4uKGlzQ2hhcnQgJiYgeyB3aWR0aDogZmluYWxXaWR0aCB9KSxcbiAgICAgICAgICAgICAgICAuLi4oaXNFbXB0eVN0cmluZyhleHRyYWN0VGV4dEZyb21IVE1MKHRpdGxlKSkgJiYgeyBkaXNwbGF5OiAnbm9uZScgfSksXG4gICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgIGNsYXNzTmFtZT17Y24oaXNDaGFydCA/IGNsYXNzZXMuY2hhcnRUaXRsZSA6IGNsYXNzZXMuZ3JhcGhUaXRsZSwgY2xhc3Nlcy5kaXNhYmxlZFRpdGxlKX1cbiAgICAgICAgICAgICAgZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUw9e3sgX19odG1sOiB0aXRsZSB8fCAnJyB9fVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICApIDogKFxuICAgICAgICAgICAgPGRpdiBpZD1cImVkaXRhYmxlLXRpdGxlXCI+XG4gICAgICAgICAgICAgIDxFZGl0YWJsZUh0bWxcbiAgICAgICAgICAgICAgICBzdHlsZT17XG4gICAgICAgICAgICAgICAgICBpc0NoYXJ0ICYmIHtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IGZpbmFsV2lkdGgsXG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGNsYXNzTmFtZT17Y24oXG4gICAgICAgICAgICAgICAgICB7IFtjbGFzc2VzLnJpZ2h0TWFyZ2luXTogc2hvd1BpeGVsR3VpZGVzIH0sXG4gICAgICAgICAgICAgICAgICBpc0NoYXJ0ID8gY2xhc3Nlcy5jaGFydFRpdGxlIDogY2xhc3Nlcy5ncmFwaFRpdGxlLFxuICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgICAgbWFya3VwPXt0aXRsZSB8fCAnJ31cbiAgICAgICAgICAgICAgICBvbkNoYW5nZT17b25DaGFuZ2VUaXRsZX1cbiAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcj17XG4gICAgICAgICAgICAgICAgICAoZGVmaW5lQ2hhcnQgJiYgdGl0bGVQbGFjZWhvbGRlcikgfHwgKCFkaXNhYmxlZFRpdGxlICYmICdDbGljayBoZXJlIHRvIGFkZCBhIHRpdGxlIGZvciB0aGlzIGdyYXBoJylcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgdG9vbGJhck9wdHM9e3sgbm9QYWRkaW5nOiB0cnVlLCBub0JvcmRlcjogdHJ1ZSB9fVxuICAgICAgICAgICAgICAgIGFjdGl2ZVBsdWdpbnM9e2FjdGl2ZVRpdGxlUGx1Z2luc31cbiAgICAgICAgICAgICAgICBkaXNhYmxlU2Nyb2xsYmFyXG4gICAgICAgICAgICAgICAgb25LZXlEb3duPXt0aGlzLmhhbmRsZUtleURvd259XG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICApKX1cbiAgICAgICAge3Nob3dMYWJlbHMgJiYgIWlzQ2hhcnQgJiYgKFxuICAgICAgICAgIDxMYWJlbFxuICAgICAgICAgICAgc2lkZT1cInRvcFwiXG4gICAgICAgICAgICB0ZXh0PXtsYWJlbHMudG9wfVxuICAgICAgICAgICAgZGlzYWJsZWRMYWJlbD17ZGlzYWJsZWRMYWJlbHN9XG4gICAgICAgICAgICBwbGFjZWhvbGRlcj17bGFiZWxzUGxhY2Vob2xkZXJzPy50b3B9XG4gICAgICAgICAgICBncmFwaEhlaWdodD17ZmluYWxIZWlnaHR9XG4gICAgICAgICAgICBncmFwaFdpZHRoPXtmaW5hbFdpZHRofVxuICAgICAgICAgICAgb25DaGFuZ2U9eyh2YWx1ZSkgPT4gdGhpcy5vbkNoYW5nZUxhYmVsKHZhbHVlLCAndG9wJyl9XG4gICAgICAgICAgICBtYXRoTWxPcHRpb25zPXttYXRoTWxPcHRpb25zfVxuICAgICAgICAgICAgY2hhcmFjdGVyc0xpbWl0PXtsYWJlbHNDaGFyYWN0ZXJzTGltaXR9XG4gICAgICAgICAgLz5cbiAgICAgICAgKX1cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9e2NsYXNzZXMud3JhcHBlcn0+XG4gICAgICAgICAge3Nob3dMYWJlbHMgJiYgKFxuICAgICAgICAgICAgPExhYmVsXG4gICAgICAgICAgICAgIHNpZGU9XCJsZWZ0XCJcbiAgICAgICAgICAgICAgdGV4dD17bGFiZWxzLmxlZnR9XG4gICAgICAgICAgICAgIGRpc2FibGVkTGFiZWw9e2Rpc2FibGVkTGFiZWxzfVxuICAgICAgICAgICAgICBwbGFjZWhvbGRlcj17bGFiZWxzUGxhY2Vob2xkZXJzPy5sZWZ0fVxuICAgICAgICAgICAgICBncmFwaEhlaWdodD17ZmluYWxIZWlnaHR9XG4gICAgICAgICAgICAgIGdyYXBoV2lkdGg9e2ZpbmFsV2lkdGh9XG4gICAgICAgICAgICAgIGlzQ2hhcnRMZWZ0TGFiZWw9e2lzQ2hhcnQgJiYgIWRlZmluZUNoYXJ0fVxuICAgICAgICAgICAgICBpc0RlZmluZUNoYXJ0TGVmdExhYmVsPXtpc0NoYXJ0ICYmIGRlZmluZUNoYXJ0fVxuICAgICAgICAgICAgICBvbkNoYW5nZT17KHZhbHVlKSA9PiB0aGlzLm9uQ2hhbmdlTGFiZWwodmFsdWUsICdsZWZ0Jyl9XG4gICAgICAgICAgICAgIG1hdGhNbE9wdGlvbnM9e21hdGhNbE9wdGlvbnN9XG4gICAgICAgICAgICAgIGNoYXJhY3RlcnNMaW1pdD17bGFiZWxzQ2hhcmFjdGVyc0xpbWl0fVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICApfVxuICAgICAgICAgIDxzdmcgd2lkdGg9e2ZpbmFsV2lkdGh9IGhlaWdodD17ZmluYWxIZWlnaHR9IGNsYXNzTmFtZT17ZGVmaW5lQ2hhcnQgPyBjbGFzc2VzLmRlZmluZUNoYXJ0IDogY2xhc3Nlcy5jaGFydH0+XG4gICAgICAgICAgICA8Z1xuICAgICAgICAgICAgICByZWY9eyhyKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5nID0gcjtcbiAgICAgICAgICAgICAgICBpZiAocm9vdFJlZikge1xuICAgICAgICAgICAgICAgICAgcm9vdFJlZihyKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgIGNsYXNzTmFtZT17Y2xhc3Nlcy5ncmFwaEJveH1cbiAgICAgICAgICAgICAgdHJhbnNmb3JtPXtgdHJhbnNsYXRlKCR7bGVmdFBhZGRpbmcgKyAoZG9tYWluLnBhZGRpbmcgfHwgMCl9LCAke3RvcFBhZGRpbmcgKyAocmFuZ2UucGFkZGluZyB8fCAwKX0pYH1cbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAge2NoaWxkcmVufVxuICAgICAgICAgICAgPC9nPlxuICAgICAgICAgIDwvc3ZnPlxuICAgICAgICAgIHtzaG93TGFiZWxzICYmICFpc0NoYXJ0ICYmIChcbiAgICAgICAgICAgIDxMYWJlbFxuICAgICAgICAgICAgICBzaWRlPVwicmlnaHRcIlxuICAgICAgICAgICAgICB0ZXh0PXtsYWJlbHMucmlnaHR9XG4gICAgICAgICAgICAgIGRpc2FibGVkTGFiZWw9e2Rpc2FibGVkTGFiZWxzfVxuICAgICAgICAgICAgICBwbGFjZWhvbGRlcj17bGFiZWxzUGxhY2Vob2xkZXJzPy5yaWdodH1cbiAgICAgICAgICAgICAgZ3JhcGhIZWlnaHQ9e2ZpbmFsSGVpZ2h0fVxuICAgICAgICAgICAgICBncmFwaFdpZHRoPXtmaW5hbFdpZHRofVxuICAgICAgICAgICAgICBvbkNoYW5nZT17KHZhbHVlKSA9PiB0aGlzLm9uQ2hhbmdlTGFiZWwodmFsdWUsICdyaWdodCcpfVxuICAgICAgICAgICAgICBtYXRoTWxPcHRpb25zPXttYXRoTWxPcHRpb25zfVxuICAgICAgICAgICAgICBjaGFyYWN0ZXJzTGltaXQ9e2xhYmVsc0NoYXJhY3RlcnNMaW1pdH1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgKX1cbiAgICAgICAgICB7c2hvd1BpeGVsR3VpZGVzICYmIChcbiAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgY2xhc3NOYW1lPXtjbGFzc2VzLnNpZGVQaXhlbEd1aWRlc31cbiAgICAgICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgICAgICBwYWRkaW5nVG9wOiBzaWRlR3JpZGxpbmVzUGFkZGluZyxcbiAgICAgICAgICAgICAgICBtYXJnaW5Ub3A6IDMxLFxuICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICB7Wy4uLkFycmF5KG5iT2ZIb3Jpem9udGFsTGluZXMgKyAxKS5rZXlzKCldLnJldmVyc2UoKS5tYXAoKHZhbHVlKSA9PiAoXG4gICAgICAgICAgICAgICAgPFJlYWRhYmxlIGZhbHNlIGtleT17YHRvcC1ndWlkZS0ke3ZhbHVlfWB9PlxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9e2NsYXNzZXMuc2lkZVBpeGVsSW5kaWNhdG9yfT7ilIEge3ZhbHVlICogMTAwfXB4PC9kaXY+XG4gICAgICAgICAgICAgICAgPC9SZWFkYWJsZT5cbiAgICAgICAgICAgICAgKSl9XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICApfVxuICAgICAgICA8L2Rpdj5cbiAgICAgICAge3Nob3dMYWJlbHMgJiYgKFxuICAgICAgICAgIDxMYWJlbFxuICAgICAgICAgICAgc2lkZT1cImJvdHRvbVwiXG4gICAgICAgICAgICB0ZXh0PXtsYWJlbHMuYm90dG9tfVxuICAgICAgICAgICAgZGlzYWJsZWRMYWJlbD17ZGlzYWJsZWRMYWJlbHN9XG4gICAgICAgICAgICBwbGFjZWhvbGRlcj17bGFiZWxzUGxhY2Vob2xkZXJzPy5ib3R0b219XG4gICAgICAgICAgICBncmFwaEhlaWdodD17ZmluYWxIZWlnaHR9XG4gICAgICAgICAgICBncmFwaFdpZHRoPXtmaW5hbFdpZHRofVxuICAgICAgICAgICAgdGl0bGVIZWlnaHQ9e3RpdGxlSGVpZ2h0fVxuICAgICAgICAgICAgaXNDaGFydEJvdHRvbUxhYmVsPXtpc0NoYXJ0ICYmICFkZWZpbmVDaGFydH1cbiAgICAgICAgICAgIGlzRGVmaW5lQ2hhcnRCb3R0b21MYWJlbD17aXNDaGFydCAmJiBkZWZpbmVDaGFydH1cbiAgICAgICAgICAgIG9uQ2hhbmdlPXsodmFsdWUpID0+IHRoaXMub25DaGFuZ2VMYWJlbCh2YWx1ZSwgJ2JvdHRvbScpfVxuICAgICAgICAgICAgbWF0aE1sT3B0aW9ucz17bWF0aE1sT3B0aW9uc31cbiAgICAgICAgICAgIGNoYXJhY3RlcnNMaW1pdD17bGFiZWxzQ2hhcmFjdGVyc0xpbWl0fVxuICAgICAgICAgIC8+XG4gICAgICAgICl9XG4gICAgICA8L2Rpdj5cbiAgICApO1xuICB9XG59XG5cbi8vIHVzZSBkZWZhdWx0IGNvbG9yIHRoZW1lIHN0eWxlIHRvIGF2b2lkIGNvbG9yIGNvbnRyYXN0IGlzc3Vlc1xuY29uc3Qgc3R5bGVzID0gKHRoZW1lKSA9PiAoe1xuICByb290OiB7XG4gICAgYm9yZGVyOiBgc29saWQgMXB4ICR7Y29sb3IucHJpbWFyeUxpZ2h0KCl9YCxcbiAgICBjb2xvcjogY29sb3IuZGVmYXVsdHMuVEVYVCxcbiAgICBiYWNrZ3JvdW5kQ29sb3I6IHRoZW1lLnBhbGV0dGUuY29tbW9uLndoaXRlLFxuICAgIHRvdWNoQWN0aW9uOiAnbm9uZScsXG4gICAgcG9zaXRpb246ICdyZWxhdGl2ZScsXG4gIH0sXG4gIHdyYXBwZXI6IHtcbiAgICBkaXNwbGF5OiAnZmxleCcsXG4gICAgcG9zaXRpb246ICdyZWxhdGl2ZScsXG4gIH0sXG4gIHN2Zzoge30sXG4gIGRlZmluZUNoYXJ0OiB7XG4gICAgcGFkZGluZ0xlZnQ6ICc1MHB4JyxcbiAgICBvdmVyZmxvdzogJ3Zpc2libGUnLFxuICB9LFxuICBjaGFydDoge1xuICAgIG92ZXJmbG93OiAndmlzaWJsZScsXG4gIH0sXG4gIGdyYXBoQm94OiB7XG4gICAgY3Vyc29yOiAncG9pbnRlcicsXG4gICAgdXNlclNlbGVjdDogJ25vbmUnLFxuICB9LFxuICBncmFwaFRpdGxlOiB7XG4gICAgY29sb3I6IGNvbG9yLmRlZmF1bHRzLlRFWFQsXG4gICAgZm9udFNpemU6IHRoZW1lLnR5cG9ncmFwaHkuZm9udFNpemUgKyAyLFxuICAgIHBhZGRpbmc6IGAke3RoZW1lLnNwYWNpbmcudW5pdCAqIDEuNX1weCAke3RoZW1lLnNwYWNpbmcudW5pdCAvIDJ9cHggMGAsXG4gICAgdGV4dEFsaWduOiAnY2VudGVyJyxcbiAgfSxcbiAgY2hhcnRUaXRsZToge1xuICAgIGNvbG9yOiBjb2xvci5kZWZhdWx0cy5URVhULFxuICAgIGZvbnRTaXplOiB0aGVtZS50eXBvZ3JhcGh5LmZvbnRTaXplICsgNCxcbiAgICBwYWRkaW5nOiBgJHt0aGVtZS5zcGFjaW5nLnVuaXQgKiAxLjV9cHggJHt0aGVtZS5zcGFjaW5nLnVuaXQgLyAyfXB4IDBgLFxuICAgIHRleHRBbGlnbjogJ2NlbnRlcicsXG4gIH0sXG4gIGRpc2FibGVkVGl0bGU6IHtcbiAgICBwb2ludGVyRXZlbnRzOiAnbm9uZScsXG4gIH0sXG4gIHJpZ2h0TWFyZ2luOiB7XG4gICAgbWFyZ2luUmlnaHQ6ICc3NHB4JyxcbiAgfSxcbiAgdG9wUGl4ZWxHdWlkZXM6IHtcbiAgICBkaXNwbGF5OiAnZmxleCcsXG4gICAgcGFkZGluZ1RvcDogJzZweCcsXG4gIH0sXG4gIHRvcFBpeGVsSW5kaWNhdG9yOiB7XG4gICAgY29sb3I6IGNvbG9yLmRlZmF1bHRzLlBSSU1BUllfTElHSFQsXG4gICAgZGlzcGxheTogJ2ZsZXgnLFxuICAgIGZsZXhEaXJlY3Rpb246ICdjb2x1bW4nLFxuICAgIGFsaWduSXRlbXM6ICdjZW50ZXInLFxuICAgIHdpZHRoOiAnMTAwcHgnLFxuICAgIHBvaW50ZXJFdmVudHM6ICdub25lJyxcbiAgICB1c2VyU2VsZWN0OiAnbm9uZScsXG4gIH0sXG4gIHNpZGVQaXhlbEd1aWRlczoge1xuICAgIHdpZHRoOiAnNzBweCcsXG4gICAgZGlzcGxheTogJ2ZsZXgnLFxuICAgIGZsZXhEaXJlY3Rpb246ICdjb2x1bW4nLFxuICAgIG1hcmdpblJpZ2h0OiAnNnB4JyxcbiAgfSxcbiAgc2lkZVBpeGVsSW5kaWNhdG9yOiB7XG4gICAgY29sb3I6IGNvbG9yLmRlZmF1bHRzLlBSSU1BUllfTElHSFQsXG4gICAgdGV4dEFsaWduOiAncmlnaHQnLFxuICAgIGhlaWdodDogJzIwcHgnLFxuICAgIHBvaW50ZXJFdmVudHM6ICdub25lJyxcbiAgICB1c2VyU2VsZWN0OiAnbm9uZScsXG5cbiAgICAnJjpub3QoOmxhc3QtY2hpbGQpJzoge1xuICAgICAgbWFyZ2luQm90dG9tOiAnODBweCcsXG4gICAgfSxcbiAgfSxcbn0pO1xuXG5leHBvcnQgZGVmYXVsdCB3aXRoU3R5bGVzKHN0eWxlcykoUm9vdCk7XG4iXX0=
422
+ //# sourceMappingURL=root.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/root.jsx"],"names":["Root","props","g","graphProps","onMouseMove","scale","snap","coords","_groups","x","invert","y","snapped","newValue","side","labels","onChangeLabels","isChart","titleElement","document","getElementById","titleHeight","clientHeight","setState","prevTitle","title","setTimeout","measureTitleHeight","state","on","mouseMove","bind","prevProps","disabledTitle","disabledLabels","labelsPlaceholders","titlePlaceholder","children","classes","defineChart","onChangeTitle","showLabels","showPixelGuides","showTitle","rootRef","mathMlOptions","labelsCharactersLimit","size","width","height","domain","range","topPadding","leftPadding","left","rightPadding","right","finalWidth","padding","finalHeight","activeTitlePlugins","actualHeight","nbOfVerticalLines","parseInt","nbOfHorizontalLines","sideGridlinesPadding","root","topPixelGuides","marginLeft","Array","keys","map","value","topPixelIndicator","display","chartTitle","graphTitle","__html","rightMargin","noPadding","noBorder","handleKeyDown","top","onChangeLabel","wrapper","chart","r","graphBox","sidePixelGuides","paddingTop","marginTop","reverse","sidePixelIndicator","bottom","React","Component","PropTypes","string","ChildrenType","bool","GraphPropsType","isRequired","object","func","number","styles","theme","border","color","primaryLight","defaults","TEXT","backgroundColor","palette","common","white","touchAction","position","svg","paddingLeft","overflow","cursor","userSelect","fontSize","typography","spacing","unit","textAlign","pointerEvents","marginRight","flexDirection","alignItems","marginBottom"],"mappings":"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","sourcesContent":["import React from 'react';\nimport { ChildrenType } from './types';\nimport { withStyles } from '@material-ui/core/styles';\nimport { select, mouse } from 'd3-selection';\nimport PropTypes from 'prop-types';\nimport { GraphPropsType } from './types';\nimport { color, Readable } from '@pie-lib/render-ui';\nimport EditableHtml from '@pie-lib/editable-html';\nimport cn from 'classnames';\nimport Label from './label';\nimport { extractTextFromHTML, isEmptyObject, isEmptyString } from './utils';\n\nexport class Root extends React.Component {\n constructor(props) {\n super(props);\n this.state = {\n titleHeight: 0,\n };\n }\n\n static propTypes = {\n title: PropTypes.string,\n children: ChildrenType,\n defineChart: PropTypes.bool,\n disabledLabels: PropTypes.bool,\n disabledTitle: PropTypes.bool,\n graphProps: GraphPropsType.isRequired,\n isChart: PropTypes.bool,\n labels: PropTypes.object,\n labelsPlaceholders: PropTypes.object,\n onChangeTitle: PropTypes.func,\n onMouseMove: PropTypes.func,\n classes: PropTypes.object.isRequired,\n showLabels: PropTypes.bool,\n showTitle: PropTypes.bool,\n showPixelGuides: PropTypes.bool,\n rootRef: PropTypes.func,\n onChangeLabels: PropTypes.func,\n titlePlaceholder: PropTypes.string,\n mathMlOptions: PropTypes.object,\n labelsCharactersLimit: PropTypes.number,\n };\n\n mouseMove = (g) => {\n const { graphProps, onMouseMove } = this.props;\n\n if (!onMouseMove) {\n return;\n }\n\n const { scale, snap } = graphProps;\n const coords = mouse(g._groups[0][0]);\n const x = scale.x.invert(coords[0]);\n const y = scale.y.invert(coords[1]);\n\n const snapped = {\n x: snap.x(x),\n y: snap.y(y),\n };\n\n onMouseMove(snapped);\n };\n\n componentDidMount() {\n const g = select(this.g);\n g.on('mousemove', this.mouseMove.bind(this, g));\n this.measureTitleHeight();\n }\n\n componentWillUnmount() {\n const g = select(this.g);\n g.on('mousemove', null);\n }\n\n componentDidUpdate(prevProps) {\n if (prevProps.title !== this.props.title) {\n this.measureTitleHeight();\n }\n }\n\n onChangeLabel = (newValue, side) => {\n const { labels, onChangeLabels, isChart } = this.props;\n\n if (!onChangeLabels) {\n return;\n }\n\n if (isChart) {\n if (side === 'left') {\n onChangeLabels('range', newValue);\n } else {\n onChangeLabels('domain', newValue);\n }\n\n return;\n }\n\n onChangeLabels({\n ...labels,\n [side]: newValue,\n });\n };\n\n measureTitleHeight = () => {\n const titleElement = document.getElementById('editable-title');\n if (titleElement) {\n const titleHeight = titleElement.clientHeight;\n this.setState({ titleHeight, prevTitle: this.props.title });\n }\n };\n\n handleKeyDown = () => {\n setTimeout(this.measureTitleHeight, 0);\n };\n\n render() {\n const {\n disabledTitle,\n disabledLabels,\n labels,\n labelsPlaceholders,\n titlePlaceholder,\n graphProps,\n children,\n classes,\n defineChart,\n onChangeTitle,\n isChart,\n showLabels,\n showPixelGuides,\n showTitle,\n title,\n rootRef,\n mathMlOptions = {},\n labelsCharactersLimit,\n } = this.props;\n const {\n size: { width = 500, height = 500 },\n domain,\n range,\n } = graphProps;\n\n const topPadding = 40;\n const leftPadding = isEmptyString(extractTextFromHTML(labels?.left)) && isEmptyObject(labelsPlaceholders) ? 48 : 70;\n const rightPadding =\n isEmptyString(extractTextFromHTML(labels?.right)) && isEmptyObject(labelsPlaceholders) ? 48 : 70;\n const finalWidth = width + leftPadding + rightPadding + (domain.padding || 0) * 2;\n const finalHeight = height + topPadding * 2 + (range.padding || 0) * 2;\n\n const activeTitlePlugins = [\n 'bold',\n 'italic',\n 'underline',\n 'superscript',\n 'subscript',\n 'strikethrough',\n 'math',\n // 'languageCharacters'\n ];\n\n const actualHeight = defineChart && showPixelGuides ? height - 160 : height;\n const nbOfVerticalLines = parseInt(width / 100);\n const nbOfHorizontalLines = parseInt(actualHeight / 100);\n const sideGridlinesPadding = parseInt(actualHeight % 100);\n const { titleHeight } = this.state;\n return (\n <div className={classes.root}>\n {showPixelGuides && (\n <div className={classes.topPixelGuides} style={{ marginLeft: isChart ? 80 : showLabels ? 30 : 10 }}>\n {[...Array(nbOfVerticalLines + 1).keys()].map((value) => (\n <Readable false key={`top-guide-${value}`}>\n <div className={classes.topPixelIndicator}>\n <div>{value * 100}px</div>\n <div>|</div>\n </div>\n </Readable>\n ))}\n </div>\n )}\n {showTitle &&\n (disabledTitle ? (\n <div\n id=\"editable-title\"\n style={{\n ...(isChart && { width: finalWidth }),\n ...(isEmptyString(extractTextFromHTML(title)) && { display: 'none' }),\n }}\n className={cn(isChart ? classes.chartTitle : classes.graphTitle, classes.disabledTitle)}\n dangerouslySetInnerHTML={{ __html: title || '' }}\n />\n ) : (\n <div id=\"editable-title\">\n <EditableHtml\n style={\n isChart && {\n width: finalWidth,\n }\n }\n className={cn(\n { [classes.rightMargin]: showPixelGuides },\n isChart ? classes.chartTitle : classes.graphTitle,\n )}\n markup={title || ''}\n onChange={onChangeTitle}\n placeholder={\n (defineChart && titlePlaceholder) || (!disabledTitle && 'Click here to add a title for this graph')\n }\n toolbarOpts={{ noPadding: true, noBorder: true }}\n activePlugins={activeTitlePlugins}\n disableScrollbar\n onKeyDown={this.handleKeyDown}\n />\n </div>\n ))}\n {showLabels && !isChart && (\n <Label\n side=\"top\"\n text={labels.top}\n disabledLabel={disabledLabels}\n placeholder={labelsPlaceholders?.top}\n graphHeight={finalHeight}\n graphWidth={finalWidth}\n onChange={(value) => this.onChangeLabel(value, 'top')}\n mathMlOptions={mathMlOptions}\n charactersLimit={labelsCharactersLimit}\n />\n )}\n <div className={classes.wrapper}>\n {showLabels && (\n <Label\n side=\"left\"\n text={labels.left}\n disabledLabel={disabledLabels}\n placeholder={labelsPlaceholders?.left}\n graphHeight={finalHeight}\n graphWidth={finalWidth}\n isChartLeftLabel={isChart && !defineChart}\n isDefineChartLeftLabel={isChart && defineChart}\n onChange={(value) => this.onChangeLabel(value, 'left')}\n mathMlOptions={mathMlOptions}\n charactersLimit={labelsCharactersLimit}\n />\n )}\n <svg width={finalWidth} height={finalHeight} className={defineChart ? classes.defineChart : classes.chart}>\n <g\n ref={(r) => {\n this.g = r;\n if (rootRef) {\n rootRef(r);\n }\n }}\n className={classes.graphBox}\n transform={`translate(${leftPadding + (domain.padding || 0)}, ${topPadding + (range.padding || 0)})`}\n >\n {children}\n </g>\n </svg>\n {showLabels && !isChart && (\n <Label\n side=\"right\"\n text={labels.right}\n disabledLabel={disabledLabels}\n placeholder={labelsPlaceholders?.right}\n graphHeight={finalHeight}\n graphWidth={finalWidth}\n onChange={(value) => this.onChangeLabel(value, 'right')}\n mathMlOptions={mathMlOptions}\n charactersLimit={labelsCharactersLimit}\n />\n )}\n {showPixelGuides && (\n <div\n className={classes.sidePixelGuides}\n style={{\n paddingTop: sideGridlinesPadding,\n marginTop: 31,\n }}\n >\n {[...Array(nbOfHorizontalLines + 1).keys()].reverse().map((value) => (\n <Readable false key={`top-guide-${value}`}>\n <div className={classes.sidePixelIndicator}>━ {value * 100}px</div>\n </Readable>\n ))}\n </div>\n )}\n </div>\n {showLabels && (\n <Label\n side=\"bottom\"\n text={labels.bottom}\n disabledLabel={disabledLabels}\n placeholder={labelsPlaceholders?.bottom}\n graphHeight={finalHeight}\n graphWidth={finalWidth}\n titleHeight={titleHeight}\n isChartBottomLabel={isChart && !defineChart}\n isDefineChartBottomLabel={isChart && defineChart}\n onChange={(value) => this.onChangeLabel(value, 'bottom')}\n mathMlOptions={mathMlOptions}\n charactersLimit={labelsCharactersLimit}\n />\n )}\n </div>\n );\n }\n}\n\n// use default color theme style to avoid color contrast issues\nconst styles = (theme) => ({\n root: {\n border: `solid 1px ${color.primaryLight()}`,\n color: color.defaults.TEXT,\n backgroundColor: theme.palette.common.white,\n touchAction: 'none',\n position: 'relative',\n },\n wrapper: {\n display: 'flex',\n position: 'relative',\n },\n svg: {},\n defineChart: {\n paddingLeft: '50px',\n overflow: 'visible',\n },\n chart: {\n overflow: 'visible',\n },\n graphBox: {\n cursor: 'pointer',\n userSelect: 'none',\n },\n graphTitle: {\n color: color.defaults.TEXT,\n fontSize: theme.typography.fontSize + 2,\n padding: `${theme.spacing.unit * 1.5}px ${theme.spacing.unit / 2}px 0`,\n textAlign: 'center',\n },\n chartTitle: {\n color: color.defaults.TEXT,\n fontSize: theme.typography.fontSize + 4,\n padding: `${theme.spacing.unit * 1.5}px ${theme.spacing.unit / 2}px 0`,\n textAlign: 'center',\n },\n disabledTitle: {\n pointerEvents: 'none',\n },\n rightMargin: {\n marginRight: '74px',\n },\n topPixelGuides: {\n display: 'flex',\n paddingTop: '6px',\n },\n topPixelIndicator: {\n display: 'flex',\n flexDirection: 'column',\n alignItems: 'center',\n width: '100px',\n pointerEvents: 'none',\n userSelect: 'none',\n },\n sidePixelGuides: {\n width: '70px',\n display: 'flex',\n flexDirection: 'column',\n marginRight: '6px',\n },\n sidePixelIndicator: {\n textAlign: 'right',\n height: '20px',\n pointerEvents: 'none',\n userSelect: 'none',\n\n '&:not(:last-child)': {\n marginBottom: '80px',\n },\n },\n});\n\nexport default withStyles(styles)(Root);\n"],"file":"root.js"}
package/lib/trig.js CHANGED
@@ -193,4 +193,4 @@ var diffEdge = function diffEdge(bounds, a, b) {
193
193
  };
194
194
 
195
195
  exports.diffEdge = diffEdge;
196
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy90cmlnLmpzIl0sIm5hbWVzIjpbImxvZyIsInRvRGVncmVlcyIsInJhZGlhbnMiLCJNYXRoIiwiUEkiLCJ0b1JhZGlhbnMiLCJkZWdyZWVzIiwiYW5nbGUiLCJhIiwiYiIsInZkIiwieSIsImhkIiwieCIsImF0YW4yIiwiTklORVRZIiwiT05FX0VJR0hUWSIsIlRXT19TRVZFTlRZIiwiYWN1dGVYQW5nbGUiLCJhYnMiLCJhY3V0ZVlBbmdsZSIsImh5cG90ZW51c2UiLCJhbHBoYSIsIm91dCIsInNpbiIsImVkZ2VzIiwiZG9tYWluIiwicmFuZ2UiLCJkZXN0WCIsIm1heCIsIm1pbiIsImRlc3RZIiwiYVRvQiIsImRpZmZFZGdlIiwiZFgiLCJkWSIsImJUb0EiLCJnZXRPcHBvc2luZ1NpZGUiLCJoeXAiLCJnZXRTaG9ydGVzdFNpZGUiLCJ4aCIsInloIiwiTnVtYmVyIiwiaXNGaW5pdGUiLCJpc05hTiIsIkluZmluaXR5IiwiY29uc29sZSIsIndhcm4iLCJib3VuZHMiLCJsIiwiZW5hYmxlZCIsImJpbmQiLCJ4UmFkaWFucyIsInlSYWRpYW5zIiwieFNpZGUiLCJ4SCIsInlTaWRlIiwieUgiLCJzaWRlIiwiRXJyb3IiLCJwb2ludCIsIlBvaW50IiwibXVsdGlwbGllciIsIm11bHRCeVBvaW50Iiwibm9ybWFsaXplZCIsImFkZCJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBQUE7O0FBQ0E7O0FBQ0E7O0FBQ0EsSUFBTUEsR0FBRyxHQUFHLHVCQUFNLG1CQUFOLENBQVo7O0FBRU8sSUFBTUMsU0FBUyxHQUFHLFNBQVpBLFNBQVksQ0FBQ0MsT0FBRDtBQUFBLFNBQWFBLE9BQU8sSUFBSSxNQUFNQyxJQUFJLENBQUNDLEVBQWYsQ0FBcEI7QUFBQSxDQUFsQjs7OztBQUNBLElBQU1DLFNBQVMsR0FBRyxTQUFaQSxTQUFZLENBQUNDLE9BQUQ7QUFBQSxTQUFhQSxPQUFPLElBQUlILElBQUksQ0FBQ0MsRUFBTCxHQUFVLEdBQWQsQ0FBcEI7QUFBQSxDQUFsQjtBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7Ozs7O0FBQ08sSUFBTUcsS0FBSyxHQUFHLFNBQVJBLEtBQVEsQ0FBQ0MsQ0FBRCxFQUFJQyxDQUFKLEVBQVU7QUFDN0IsTUFBTUMsRUFBRSxHQUFHRCxDQUFDLENBQUNFLENBQUYsR0FBTUgsQ0FBQyxDQUFDRyxDQUFuQjtBQUNBLE1BQU1DLEVBQUUsR0FBR0gsQ0FBQyxDQUFDSSxDQUFGLEdBQU1MLENBQUMsQ0FBQ0ssQ0FBbkI7QUFDQWIsRUFBQUEsR0FBRyxDQUFDUSxDQUFELEVBQUlDLENBQUosRUFBTyxNQUFQLEVBQWVDLEVBQWYsRUFBbUIsTUFBbkIsRUFBMkJFLEVBQTNCLENBQUg7QUFDQSxNQUFNVixPQUFPLEdBQUdDLElBQUksQ0FBQ1csS0FBTCxDQUFXSixFQUFYLEVBQWVFLEVBQWYsQ0FBaEI7QUFDQSxTQUFPVixPQUFPLEdBQUcsQ0FBVixHQUFjQSxPQUFPLEdBQUdDLElBQUksQ0FBQ0MsRUFBTCxHQUFVLENBQWxDLEdBQXNDRixPQUE3QztBQUNELENBTk07OztBQVFQLElBQU1hLE1BQU0sR0FBR1osSUFBSSxDQUFDQyxFQUFMLEdBQVUsQ0FBekI7QUFDQSxJQUFNWSxVQUFVLEdBQUdiLElBQUksQ0FBQ0MsRUFBeEI7QUFDQSxJQUFNYSxXQUFXLEdBQUdELFVBQVUsR0FBR0QsTUFBakM7O0FBRU8sSUFBTUcsV0FBVyxHQUFHLFNBQWRBLFdBQWMsQ0FBQ1YsQ0FBRCxFQUFPO0FBQ2hDUixFQUFBQSxHQUFHLENBQUNDLFNBQVMsQ0FBQ08sQ0FBRCxDQUFWLENBQUg7O0FBRUEsTUFBSUEsQ0FBQyxHQUFHTyxNQUFSLEVBQWdCO0FBQ2QsV0FBT1AsQ0FBUDtBQUNEOztBQUVELE1BQUlBLENBQUMsR0FBR1EsVUFBUixFQUFvQjtBQUNsQixXQUFPYixJQUFJLENBQUNnQixHQUFMLENBQVNILFVBQVUsR0FBR1IsQ0FBdEIsQ0FBUDtBQUNEOztBQUVELE1BQUlBLENBQUMsR0FBR1MsV0FBUixFQUFxQjtBQUNuQixXQUFPZCxJQUFJLENBQUNnQixHQUFMLENBQVNILFVBQVUsR0FBR1IsQ0FBdEIsQ0FBUDtBQUNEOztBQUVELFNBQU9MLElBQUksQ0FBQ2dCLEdBQUwsQ0FBU2hCLElBQUksQ0FBQ0MsRUFBTCxHQUFVLENBQVYsR0FBY0ksQ0FBdkIsQ0FBUDtBQUNELENBaEJNOzs7O0FBa0JBLElBQU1ZLFdBQVcsR0FBRyxTQUFkQSxXQUFjLENBQUNaLENBQUQ7QUFBQSxTQUFPTyxNQUFNLEdBQUdHLFdBQVcsQ0FBQ1YsQ0FBRCxDQUEzQjtBQUFBLENBQXBCOzs7O0FBRUEsSUFBTWEsVUFBVSxHQUFHLFNBQWJBLFVBQWEsQ0FBQ2IsQ0FBRCxFQUFJYyxLQUFKLEVBQWM7QUFDdEMsTUFBTUMsR0FBRyxHQUFHcEIsSUFBSSxDQUFDZ0IsR0FBTCxDQUFTWCxDQUFDLEdBQUdMLElBQUksQ0FBQ3FCLEdBQUwsQ0FBU0YsS0FBVCxDQUFiLENBQVo7QUFFQSxTQUFPQyxHQUFQO0FBQ0QsQ0FKTTtBQU1QO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7OztBQUNPLElBQU1FLEtBQUssR0FBRyxTQUFSQSxLQUFRLENBQUNDLE1BQUQsRUFBU0MsS0FBVDtBQUFBLFNBQW1CLFVBQUNuQixDQUFELEVBQUlDLENBQUosRUFBVTtBQUNoRDtBQUNBLFFBQU1tQixLQUFLLEdBQUdwQixDQUFDLENBQUNLLENBQUYsR0FBTUosQ0FBQyxDQUFDSSxDQUFSLEdBQVlhLE1BQU0sQ0FBQ0csR0FBbkIsR0FBeUJILE1BQU0sQ0FBQ0ksR0FBOUM7QUFDQSxRQUFNQyxLQUFLLEdBQUd2QixDQUFDLENBQUNHLENBQUYsR0FBTUYsQ0FBQyxDQUFDRSxDQUFSLEdBQVlnQixLQUFLLENBQUNFLEdBQWxCLEdBQXdCRixLQUFLLENBQUNHLEdBQTVDO0FBQ0EsUUFBTUUsSUFBSSxHQUFHQyxRQUFRLENBQUMsZUFBR0wsS0FBSCxFQUFVRyxLQUFWLENBQUQsRUFBbUJ2QixDQUFuQixFQUFzQkMsQ0FBdEIsQ0FBckI7QUFFQSxRQUFNeUIsRUFBRSxHQUFHekIsQ0FBQyxDQUFDSSxDQUFGLEdBQU1MLENBQUMsQ0FBQ0ssQ0FBUixHQUFZYSxNQUFNLENBQUNHLEdBQW5CLEdBQXlCSCxNQUFNLENBQUNJLEdBQTNDO0FBQ0EsUUFBTUssRUFBRSxHQUFHMUIsQ0FBQyxDQUFDRSxDQUFGLEdBQU1ILENBQUMsQ0FBQ0csQ0FBUixHQUFZZ0IsS0FBSyxDQUFDRSxHQUFsQixHQUF3QkYsS0FBSyxDQUFDRyxHQUF6QztBQUNBLFFBQU1NLElBQUksR0FBR0gsUUFBUSxDQUFDLGVBQUdDLEVBQUgsRUFBT0MsRUFBUCxDQUFELEVBQWExQixDQUFiLEVBQWdCRCxDQUFoQixDQUFyQjtBQUNBLFdBQU8sQ0FBQ3dCLElBQUQsRUFBT0ksSUFBUCxDQUFQO0FBQ0QsR0FWb0I7QUFBQSxDQUFkO0FBWVA7Ozs7O0FBQ08sSUFBTUMsZUFBZSxHQUFHLFNBQWxCQSxlQUFrQixDQUFDQyxHQUFELEVBQU0vQixLQUFOLEVBQWdCO0FBQzdDUCxFQUFBQSxHQUFHLENBQUMseUJBQUQsRUFBNEJzQyxHQUE1QixFQUFpQyxRQUFqQyxFQUEyQy9CLEtBQTNDLENBQUg7QUFDQSxTQUFPSixJQUFJLENBQUNnQixHQUFMLENBQVNtQixHQUFHLEdBQUduQyxJQUFJLENBQUNxQixHQUFMLENBQVNqQixLQUFULENBQWYsQ0FBUDtBQUNELENBSE07Ozs7QUFLUCxJQUFNZ0MsZUFBZSxHQUFHLFNBQWxCQSxlQUFrQixDQUFDQyxFQUFELEVBQUtDLEVBQUwsRUFBWTtBQUNsQyxNQUFJQyxNQUFNLENBQUNDLFFBQVAsQ0FBZ0JILEVBQWhCLEtBQXVCRSxNQUFNLENBQUNDLFFBQVAsQ0FBZ0JGLEVBQWhCLENBQTNCLEVBQWdEO0FBQzlDLFFBQUlELEVBQUUsS0FBSyxDQUFQLElBQVlDLEVBQUUsR0FBRyxDQUFyQixFQUF3QjtBQUN0QixhQUFPLEdBQVA7QUFDRDs7QUFDRCxRQUFJQSxFQUFFLEtBQUssQ0FBUCxJQUFZRCxFQUFFLEdBQUcsQ0FBckIsRUFBd0I7QUFDdEIsYUFBTyxHQUFQO0FBQ0Q7O0FBQ0QsV0FBT0EsRUFBRSxHQUFHQyxFQUFMLEdBQVUsR0FBVixHQUFnQixHQUF2QjtBQUNEOztBQUNELE1BQUlHLEtBQUssQ0FBQ0osRUFBRCxDQUFMLElBQWEsQ0FBQ0ksS0FBSyxDQUFDSCxFQUFELENBQXZCLEVBQTZCO0FBQzNCLFdBQU8sR0FBUDtBQUNEOztBQUNELE1BQUksQ0FBQ0csS0FBSyxDQUFDSixFQUFELENBQU4sSUFBY0ksS0FBSyxDQUFDSCxFQUFELENBQXZCLEVBQTZCO0FBQzNCLFdBQU8sR0FBUDtBQUNEOztBQUNELE1BQUlELEVBQUUsS0FBS0ssUUFBWCxFQUFxQjtBQUNuQixXQUFPLEdBQVA7QUFDRDs7QUFDRCxNQUFJSixFQUFFLEtBQUtJLFFBQVgsRUFBcUI7QUFDbkIsV0FBTyxHQUFQO0FBQ0QsR0FyQmlDLENBdUJsQzs7O0FBQ0FDLEVBQUFBLE9BQU8sQ0FBQ0MsSUFBUixDQUFhLG1DQUFiLEVBQWtEUCxFQUFsRCxFQUFzRCxJQUF0RCxFQUE0REMsRUFBNUQ7QUFDRCxDQXpCRDtBQTBCQTtBQUNBO0FBQ0E7QUFDQTs7O0FBQ08sSUFBTVIsUUFBUSxHQUFHLFNBQVhBLFFBQVcsQ0FBQ2UsTUFBRCxFQUFTeEMsQ0FBVCxFQUFZQyxDQUFaLEVBQWtCO0FBQ3hDLE1BQUl3QyxDQUFDLEdBQUdqRCxHQUFHLENBQUNrRCxPQUFKLEdBQWNsRCxHQUFHLENBQUNtRCxJQUFKLENBQVNuRCxHQUFULHVCQUE0QlEsQ0FBQyxDQUFDSyxDQUE5QixjQUFtQ0wsQ0FBQyxDQUFDRyxDQUFyQyxpQkFBNkNGLENBQUMsQ0FBQ0ksQ0FBL0MsY0FBb0RKLENBQUMsQ0FBQ0UsQ0FBdEQsT0FBZCxHQUE0RSxZQUFNLENBQUUsQ0FBNUY7QUFDQSxNQUFNeUMsUUFBUSxHQUFHN0MsS0FBSyxDQUFDQyxDQUFELEVBQUlDLENBQUosQ0FBdEI7QUFDQXdDLEVBQUFBLENBQUMsQ0FBQyxTQUFELEVBQVloRCxTQUFTLENBQUNtRCxRQUFELENBQXJCLENBQUQ7QUFDQSxNQUFNQyxRQUFRLEdBQUdsRCxJQUFJLENBQUNnQixHQUFMLENBQVNpQyxRQUFRLEdBQUcvQyxTQUFTLENBQUMsRUFBRCxDQUE3QixDQUFqQjtBQUNBNEMsRUFBQUEsQ0FBQyxDQUFDLFNBQUQsRUFBWWhELFNBQVMsQ0FBQ29ELFFBQUQsQ0FBckIsQ0FBRDtBQUNBLE1BQU1DLEtBQUssR0FBR25ELElBQUksQ0FBQ2dCLEdBQUwsQ0FBU1gsQ0FBQyxDQUFDSyxDQUFGLEdBQU1tQyxNQUFNLENBQUNuQyxDQUF0QixDQUFkO0FBRUE7QUFDRjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBQ0UsTUFBTTBDLEVBQUUsR0FBR2xDLFVBQVUsQ0FBQ2lDLEtBQUQsRUFBUUQsUUFBUixDQUFyQjtBQUVBLE1BQU1HLEtBQUssR0FBR3JELElBQUksQ0FBQ2dCLEdBQUwsQ0FBU1gsQ0FBQyxDQUFDRyxDQUFGLEdBQU1xQyxNQUFNLENBQUNyQyxDQUF0QixDQUFkO0FBQ0EsTUFBTThDLEVBQUUsR0FBR3BDLFVBQVUsQ0FBQ21DLEtBQUQsRUFBUUosUUFBUixDQUFyQjtBQUVBSCxFQUFBQSxDQUFDLENBQUMsU0FBRCxFQUFZSyxLQUFaLEVBQW1CLElBQW5CLEVBQXlCQyxFQUF6QixDQUFEO0FBQ0FOLEVBQUFBLENBQUMsQ0FBQyxTQUFELEVBQVlPLEtBQVosRUFBbUIsSUFBbkIsRUFBeUJDLEVBQXpCLENBQUQ7QUFDQSxNQUFNQyxJQUFJLEdBQUduQixlQUFlLENBQUNnQixFQUFELEVBQUtFLEVBQUwsQ0FBNUI7O0FBRUEsTUFBSUMsSUFBSSxLQUFLLEdBQVQsSUFBZ0JBLElBQUksS0FBSyxHQUE3QixFQUFrQztBQUNoQyxVQUFNLElBQUlDLEtBQUosQ0FBVSxxQ0FBVixDQUFOO0FBQ0Q7O0FBQ0QsTUFBTUMsS0FBSyxHQUNURixJQUFJLEtBQUssR0FBVCxHQUFlLElBQUlHLHlCQUFKLENBQVVQLEtBQVYsRUFBaUJqQixlQUFlLENBQUNrQixFQUFELEVBQUtILFFBQUwsQ0FBaEMsQ0FBZixHQUFpRSxJQUFJUyx5QkFBSixDQUFVeEIsZUFBZSxDQUFDb0IsRUFBRCxFQUFLSixRQUFMLENBQXpCLEVBQXlDRyxLQUF6QyxDQURuRTtBQUdBUCxFQUFBQSxDQUFDLENBQUMsUUFBRCxFQUFXVyxLQUFYLENBQUQ7QUFDQSxNQUFNRSxVQUFVLEdBQUcsSUFBSUQseUJBQUosQ0FBVXBELENBQUMsQ0FBQ0ksQ0FBRixHQUFNTCxDQUFDLENBQUNLLENBQVIsR0FBWSxDQUFDLENBQWIsR0FBaUIsQ0FBM0IsRUFBOEJKLENBQUMsQ0FBQ0UsQ0FBRixHQUFNSCxDQUFDLENBQUNHLENBQVIsR0FBWSxDQUFDLENBQWIsR0FBaUIsQ0FBL0MsQ0FBbkI7QUFDQXNDLEVBQUFBLENBQUMsQ0FBQyxhQUFELEVBQWdCYSxVQUFoQixDQUFEO0FBQ0EsTUFBTXZDLEdBQUcsR0FBR3FDLEtBQUssQ0FBQ0csV0FBTixDQUFrQkQsVUFBbEIsQ0FBWjtBQUNBYixFQUFBQSxDQUFDLENBQUMsTUFBRCxFQUFTMUIsR0FBVCxDQUFEO0FBQ0EsTUFBTXlDLFVBQVUsR0FBR3pDLEdBQUcsQ0FBQzBDLEdBQUosQ0FBUSxJQUFJSix5QkFBSixDQUFVckQsQ0FBQyxDQUFDSyxDQUFaLEVBQWVMLENBQUMsQ0FBQ0csQ0FBakIsQ0FBUixDQUFuQjtBQUNBc0MsRUFBQUEsQ0FBQyxDQUFDLGFBQUQsRUFBZ0JlLFVBQWhCLENBQUQ7QUFDQSxTQUFPQSxVQUFQO0FBQ0QsQ0F0Q00iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyB4eSB9IGZyb20gJy4vdXRpbHMnO1xuaW1wb3J0IFBvaW50IGZyb20gJ0BtYXBib3gvcG9pbnQtZ2VvbWV0cnknO1xuaW1wb3J0IGRlYnVnIGZyb20gJ2RlYnVnJztcbmNvbnN0IGxvZyA9IGRlYnVnKCdwaWUtbGliOnBsb3Q6dHJpZycpO1xuXG5leHBvcnQgY29uc3QgdG9EZWdyZWVzID0gKHJhZGlhbnMpID0+IHJhZGlhbnMgKiAoMTgwIC8gTWF0aC5QSSk7XG5leHBvcnQgY29uc3QgdG9SYWRpYW5zID0gKGRlZ3JlZXMpID0+IGRlZ3JlZXMgKiAoTWF0aC5QSSAvIDE4MCk7XG4vKipcbiAqIHJldHVybiBhbmdsZSBpbiByYWRpYW5zIGJldHdlZW4gMiBwb2ludHMgdXNpbmcgY291bnRpbmcgZGVncmVlcyBjb3VudGVyIGNsb2Nrd2lzZVxuICpcbiAqIDAsMCArIDEsMSA9IDQ1IGluIHJhZGlhbnNcbiAqIDEsMSArIDAsMCA9IDQ1P1xuICogQHBhcmFtIHtQb2ludH0gYVxuICogQHBhcmFtIHtQb2ludH0gYlxuICovXG5leHBvcnQgY29uc3QgYW5nbGUgPSAoYSwgYikgPT4ge1xuICBjb25zdCB2ZCA9IGIueSAtIGEueTtcbiAgY29uc3QgaGQgPSBiLnggLSBhLng7XG4gIGxvZyhhLCBiLCAndmQ6ICcsIHZkLCAnaGQ6ICcsIGhkKTtcbiAgY29uc3QgcmFkaWFucyA9IE1hdGguYXRhbjIodmQsIGhkKTtcbiAgcmV0dXJuIHJhZGlhbnMgPCAwID8gcmFkaWFucyArIE1hdGguUEkgKiAyIDogcmFkaWFucztcbn07XG5cbmNvbnN0IE5JTkVUWSA9IE1hdGguUEkgLyAyO1xuY29uc3QgT05FX0VJR0hUWSA9IE1hdGguUEk7XG5jb25zdCBUV09fU0VWRU5UWSA9IE9ORV9FSUdIVFkgKyBOSU5FVFk7XG5cbmV4cG9ydCBjb25zdCBhY3V0ZVhBbmdsZSA9IChhKSA9PiB7XG4gIGxvZyh0b0RlZ3JlZXMoYSkpO1xuXG4gIGlmIChhIDwgTklORVRZKSB7XG4gICAgcmV0dXJuIGE7XG4gIH1cblxuICBpZiAoYSA8IE9ORV9FSUdIVFkpIHtcbiAgICByZXR1cm4gTWF0aC5hYnMoT05FX0VJR0hUWSAtIGEpO1xuICB9XG5cbiAgaWYgKGEgPCBUV09fU0VWRU5UWSkge1xuICAgIHJldHVybiBNYXRoLmFicyhPTkVfRUlHSFRZIC0gYSk7XG4gIH1cblxuICByZXR1cm4gTWF0aC5hYnMoTWF0aC5QSSAqIDIgLSBhKTtcbn07XG5cbmV4cG9ydCBjb25zdCBhY3V0ZVlBbmdsZSA9IChhKSA9PiBOSU5FVFkgLSBhY3V0ZVhBbmdsZShhKTtcblxuZXhwb3J0IGNvbnN0IGh5cG90ZW51c2UgPSAoYSwgYWxwaGEpID0+IHtcbiAgY29uc3Qgb3V0ID0gTWF0aC5hYnMoYSAvIE1hdGguc2luKGFscGhhKSk7XG5cbiAgcmV0dXJuIG91dDtcbn07XG5cbi8qKlxuICogcmV0dXJuIDIgZWRnZSBwb2ludHMgZm9yIGEsYiB3aXRoaW4gZG9tYWluICsgcmFuZ2UuXG4gKiAtIG9uZSBlZGdlIGlzIGZyb20gZm9sbG93aW5nIGEgLT4gYiB0byB0aGUgYm91bmRzXG4gKiAtIG9uZSBlZGdlIGlzIGZyb20gZm9sbG93aW5nIGIgLT4gYSB0byB0aGUgYm91bmRzXG4gKiBAcGFyYW0ge3ttaW46IG51bWJlciwgbWF4OiBudW1iZXJ9fSBkb21haW5cbiAqIEBwYXJhbSB7e21pbjogbnVtYmVyLCBtYXg6IG51bWJlcn19IHJhbmdlXG4gKiBAcGFyYW0ge3t4OiBudW1iZXIsIHk6IG51bWJlcn19IGFcbiAqIEBwYXJhbSB7e3g6IG51bWJlciwgeTogbnVtYmVyfX0gYlxuICogQHJldHVybnMgW3t4OiBudW1iZXIsIHk6IG51bWJlcn0sIHt4OiBudW1iZXIsIHk6IG51bWJlcn1dXG4gKi9cbmV4cG9ydCBjb25zdCBlZGdlcyA9IChkb21haW4sIHJhbmdlKSA9PiAoYSwgYikgPT4ge1xuICAvLyBjb25zdCB4RGVzdCA9XG4gIGNvbnN0IGRlc3RYID0gYS54IDwgYi54ID8gZG9tYWluLm1heCA6IGRvbWFpbi5taW47XG4gIGNvbnN0IGRlc3RZID0gYS55IDwgYi55ID8gcmFuZ2UubWF4IDogcmFuZ2UubWluO1xuICBjb25zdCBhVG9CID0gZGlmZkVkZ2UoeHkoZGVzdFgsIGRlc3RZKSwgYSwgYik7XG5cbiAgY29uc3QgZFggPSBiLnggPCBhLnggPyBkb21haW4ubWF4IDogZG9tYWluLm1pbjtcbiAgY29uc3QgZFkgPSBiLnkgPCBhLnkgPyByYW5nZS5tYXggOiByYW5nZS5taW47XG4gIGNvbnN0IGJUb0EgPSBkaWZmRWRnZSh4eShkWCwgZFkpLCBiLCBhKTtcbiAgcmV0dXJuIFthVG9CLCBiVG9BXTtcbn07XG5cbi8qKiBnZXQgbGVuZ3RoIG9mIHNpZGUgQSBvZiBhIHRyaWFuZ2xlIGZyb20gSCBhbmQgYW5nbGUgQWxwaGEgKi9cbmV4cG9ydCBjb25zdCBnZXRPcHBvc2luZ1NpZGUgPSAoaHlwLCBhbmdsZSkgPT4ge1xuICBsb2coJ1tnZXRPcHBvc2luZ1NpZGVdIGh5cDogJywgaHlwLCAnYW5nbGU6JywgYW5nbGUpO1xuICByZXR1cm4gTWF0aC5hYnMoaHlwICogTWF0aC5zaW4oYW5nbGUpKTtcbn07XG5cbmNvbnN0IGdldFNob3J0ZXN0U2lkZSA9ICh4aCwgeWgpID0+IHtcbiAgaWYgKE51bWJlci5pc0Zpbml0ZSh4aCkgJiYgTnVtYmVyLmlzRmluaXRlKHloKSkge1xuICAgIGlmICh4aCA9PT0gMCAmJiB5aCA+IDApIHtcbiAgICAgIHJldHVybiAneSc7XG4gICAgfVxuICAgIGlmICh5aCA9PT0gMCAmJiB4aCA+IDApIHtcbiAgICAgIHJldHVybiAneCc7XG4gICAgfVxuICAgIHJldHVybiB4aCA8IHloID8gJ3gnIDogJ3knO1xuICB9XG4gIGlmIChpc05hTih4aCkgJiYgIWlzTmFOKHloKSkge1xuICAgIHJldHVybiAneSc7XG4gIH1cbiAgaWYgKCFpc05hTih4aCkgJiYgaXNOYU4oeWgpKSB7XG4gICAgcmV0dXJuICd4JztcbiAgfVxuICBpZiAoeGggPT09IEluZmluaXR5KSB7XG4gICAgcmV0dXJuICd5JztcbiAgfVxuICBpZiAoeWggPT09IEluZmluaXR5KSB7XG4gICAgcmV0dXJuICd4JztcbiAgfVxuXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1jb25zb2xlXG4gIGNvbnNvbGUud2FybignaHlwb3RlbnVzZSAtIHdoaWNoIGlzIHNob3J0ZXI/IHg6JywgeGgsICd5OicsIHloKTtcbn07XG4vKipcbiAqIHJldHVybiB0aGUgZGlmZmVyZW5jZSBiZXR3ZWVuIGJvdW5kcyBhbmQgYSBhcyBhIFBvaW50XG4gKiBAcGFyYW0geyp9IGJvdW5kc1xuICovXG5leHBvcnQgY29uc3QgZGlmZkVkZ2UgPSAoYm91bmRzLCBhLCBiKSA9PiB7XG4gIGxldCBsID0gbG9nLmVuYWJsZWQgPyBsb2cuYmluZChsb2csIGBkaWZmRWRnZTogWyR7YS54fSwke2EueX0gLT4gJHtiLnh9LCR7Yi55fV1gKSA6ICgpID0+IHt9O1xuICBjb25zdCB4UmFkaWFucyA9IGFuZ2xlKGEsIGIpO1xuICBsKCd4IGFuZ2xlJywgdG9EZWdyZWVzKHhSYWRpYW5zKSk7XG4gIGNvbnN0IHlSYWRpYW5zID0gTWF0aC5hYnMoeFJhZGlhbnMgLSB0b1JhZGlhbnMoOTApKTtcbiAgbCgneSBhbmdsZScsIHRvRGVncmVlcyh5UmFkaWFucykpO1xuICBjb25zdCB4U2lkZSA9IE1hdGguYWJzKGEueCAtIGJvdW5kcy54KTtcblxuICAvKipcbiAgICogRHJhdyAyIHRyaWFuZ2xlczpcbiAgICogMSB3aXRoIGEgaG9yaXpvbnRhbCBsaW5lIGZyb20gYSB0byB0aGUgZ3JhcGggeCBlZGdlXG4gICAqIDEgd2l0aCBhIHZlcnRpY2FsIGxpbmUgZnJvbSBhIHRvIHRoZSBncmFwaCB5IGVkZ2VcbiAgICogQ2FsY3VsYXRlIHRoZSBoeXBvdGVudXNlIGZvciBib3RoLCB3aGljaGV2ZXIgaXMgc2hvcnRlclxuICAgKiBpbmRpY2F0ZXMgdGhhdCB3ZSBzaG91bGQgdXNlIHRoYXQgdHJpYW5nbGUgdG8gZ2V0IHRoZSBlZGdlIHBvaW50LlxuICAgKi9cbiAgY29uc3QgeEggPSBoeXBvdGVudXNlKHhTaWRlLCB5UmFkaWFucyk7XG5cbiAgY29uc3QgeVNpZGUgPSBNYXRoLmFicyhhLnkgLSBib3VuZHMueSk7XG4gIGNvbnN0IHlIID0gaHlwb3RlbnVzZSh5U2lkZSwgeFJhZGlhbnMpO1xuXG4gIGwoJ3g6IHNpZGUnLCB4U2lkZSwgJ2g6JywgeEgpO1xuICBsKCd5OiBzaWRlJywgeVNpZGUsICdoOicsIHlIKTtcbiAgY29uc3Qgc2lkZSA9IGdldFNob3J0ZXN0U2lkZSh4SCwgeUgpO1xuXG4gIGlmIChzaWRlICE9PSAneCcgJiYgc2lkZSAhPT0gJ3knKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdDYW50IGRlY2lkZSB3aGljaCBoeXBvdGVudXNlIHRvIHVzZScpO1xuICB9XG4gIGNvbnN0IHBvaW50ID1cbiAgICBzaWRlID09PSAneCcgPyBuZXcgUG9pbnQoeFNpZGUsIGdldE9wcG9zaW5nU2lkZSh4SCwgeFJhZGlhbnMpKSA6IG5ldyBQb2ludChnZXRPcHBvc2luZ1NpZGUoeUgsIHlSYWRpYW5zKSwgeVNpZGUpO1xuXG4gIGwoJ3BvaW50OicsIHBvaW50KTtcbiAgY29uc3QgbXVsdGlwbGllciA9IG5ldyBQb2ludChiLnggPCBhLnggPyAtMSA6IDEsIGIueSA8IGEueSA/IC0xIDogMSk7XG4gIGwoJ211bHRpcGxpZXI6JywgbXVsdGlwbGllcik7XG4gIGNvbnN0IG91dCA9IHBvaW50Lm11bHRCeVBvaW50KG11bHRpcGxpZXIpO1xuICBsKCdvdXQ6Jywgb3V0KTtcbiAgY29uc3Qgbm9ybWFsaXplZCA9IG91dC5hZGQobmV3IFBvaW50KGEueCwgYS55KSk7XG4gIGwoJ25vcm1hbGl6ZWQ6Jywgbm9ybWFsaXplZCk7XG4gIHJldHVybiBub3JtYWxpemVkO1xufTtcbiJdfQ==
196
+ //# sourceMappingURL=trig.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/trig.js"],"names":["log","toDegrees","radians","Math","PI","toRadians","degrees","angle","a","b","vd","y","hd","x","atan2","NINETY","ONE_EIGHTY","TWO_SEVENTY","acuteXAngle","abs","acuteYAngle","hypotenuse","alpha","out","sin","edges","domain","range","destX","max","min","destY","aToB","diffEdge","dX","dY","bToA","getOpposingSide","hyp","getShortestSide","xh","yh","Number","isFinite","isNaN","Infinity","console","warn","bounds","l","enabled","bind","xRadians","yRadians","xSide","xH","ySide","yH","side","Error","point","Point","multiplier","multByPoint","normalized","add"],"mappings":"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","sourcesContent":["import { xy } from './utils';\nimport Point from '@mapbox/point-geometry';\nimport debug from 'debug';\nconst log = debug('pie-lib:plot:trig');\n\nexport const toDegrees = (radians) => radians * (180 / Math.PI);\nexport const toRadians = (degrees) => degrees * (Math.PI / 180);\n/**\n * return angle in radians between 2 points using counting degrees counter clockwise\n *\n * 0,0 + 1,1 = 45 in radians\n * 1,1 + 0,0 = 45?\n * @param {Point} a\n * @param {Point} b\n */\nexport const angle = (a, b) => {\n const vd = b.y - a.y;\n const hd = b.x - a.x;\n log(a, b, 'vd: ', vd, 'hd: ', hd);\n const radians = Math.atan2(vd, hd);\n return radians < 0 ? radians + Math.PI * 2 : radians;\n};\n\nconst NINETY = Math.PI / 2;\nconst ONE_EIGHTY = Math.PI;\nconst TWO_SEVENTY = ONE_EIGHTY + NINETY;\n\nexport const acuteXAngle = (a) => {\n log(toDegrees(a));\n\n if (a < NINETY) {\n return a;\n }\n\n if (a < ONE_EIGHTY) {\n return Math.abs(ONE_EIGHTY - a);\n }\n\n if (a < TWO_SEVENTY) {\n return Math.abs(ONE_EIGHTY - a);\n }\n\n return Math.abs(Math.PI * 2 - a);\n};\n\nexport const acuteYAngle = (a) => NINETY - acuteXAngle(a);\n\nexport const hypotenuse = (a, alpha) => {\n const out = Math.abs(a / Math.sin(alpha));\n\n return out;\n};\n\n/**\n * return 2 edge points for a,b within domain + range.\n * - one edge is from following a -> b to the bounds\n * - one edge is from following b -> a to the bounds\n * @param {{min: number, max: number}} domain\n * @param {{min: number, max: number}} range\n * @param {{x: number, y: number}} a\n * @param {{x: number, y: number}} b\n * @returns [{x: number, y: number}, {x: number, y: number}]\n */\nexport const edges = (domain, range) => (a, b) => {\n // const xDest =\n const destX = a.x < b.x ? domain.max : domain.min;\n const destY = a.y < b.y ? range.max : range.min;\n const aToB = diffEdge(xy(destX, destY), a, b);\n\n const dX = b.x < a.x ? domain.max : domain.min;\n const dY = b.y < a.y ? range.max : range.min;\n const bToA = diffEdge(xy(dX, dY), b, a);\n return [aToB, bToA];\n};\n\n/** get length of side A of a triangle from H and angle Alpha */\nexport const getOpposingSide = (hyp, angle) => {\n log('[getOpposingSide] hyp: ', hyp, 'angle:', angle);\n return Math.abs(hyp * Math.sin(angle));\n};\n\nconst getShortestSide = (xh, yh) => {\n if (Number.isFinite(xh) && Number.isFinite(yh)) {\n if (xh === 0 && yh > 0) {\n return 'y';\n }\n if (yh === 0 && xh > 0) {\n return 'x';\n }\n return xh < yh ? 'x' : 'y';\n }\n if (isNaN(xh) && !isNaN(yh)) {\n return 'y';\n }\n if (!isNaN(xh) && isNaN(yh)) {\n return 'x';\n }\n if (xh === Infinity) {\n return 'y';\n }\n if (yh === Infinity) {\n return 'x';\n }\n\n // eslint-disable-next-line no-console\n console.warn('hypotenuse - which is shorter? x:', xh, 'y:', yh);\n};\n/**\n * return the difference between bounds and a as a Point\n * @param {*} bounds\n */\nexport const diffEdge = (bounds, a, b) => {\n let l = log.enabled ? log.bind(log, `diffEdge: [${a.x},${a.y} -> ${b.x},${b.y}]`) : () => {};\n const xRadians = angle(a, b);\n l('x angle', toDegrees(xRadians));\n const yRadians = Math.abs(xRadians - toRadians(90));\n l('y angle', toDegrees(yRadians));\n const xSide = Math.abs(a.x - bounds.x);\n\n /**\n * Draw 2 triangles:\n * 1 with a horizontal line from a to the graph x edge\n * 1 with a vertical line from a to the graph y edge\n * Calculate the hypotenuse for both, whichever is shorter\n * indicates that we should use that triangle to get the edge point.\n */\n const xH = hypotenuse(xSide, yRadians);\n\n const ySide = Math.abs(a.y - bounds.y);\n const yH = hypotenuse(ySide, xRadians);\n\n l('x: side', xSide, 'h:', xH);\n l('y: side', ySide, 'h:', yH);\n const side = getShortestSide(xH, yH);\n\n if (side !== 'x' && side !== 'y') {\n throw new Error('Cant decide which hypotenuse to use');\n }\n const point =\n side === 'x' ? new Point(xSide, getOpposingSide(xH, xRadians)) : new Point(getOpposingSide(yH, yRadians), ySide);\n\n l('point:', point);\n const multiplier = new Point(b.x < a.x ? -1 : 1, b.y < a.y ? -1 : 1);\n l('multiplier:', multiplier);\n const out = point.multByPoint(multiplier);\n l('out:', out);\n const normalized = out.add(new Point(a.x, a.y));\n l('normalized:', normalized);\n return normalized;\n};\n"],"file":"trig.js"}
package/lib/types.js CHANGED
@@ -65,4 +65,4 @@ var GraphPropsType = _propTypes["default"].shape({
65
65
  });
66
66
 
67
67
  exports.GraphPropsType = GraphPropsType;
68
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy90eXBlcy5qcyJdLCJuYW1lcyI6WyJCYXNlRG9tYWluUmFuZ2VUeXBlIiwibWluIiwiUHJvcFR5cGVzIiwibnVtYmVyIiwiaXNSZXF1aXJlZCIsIm1heCIsInN0ZXAiLCJEb21haW5UeXBlIiwic2hhcGUiLCJSYW5nZVR5cGUiLCJTaXplVHlwZSIsIndpZHRoIiwiaGVpZ2h0IiwiUG9pbnRUeXBlIiwieCIsInkiLCJDaGlsZHJlblR5cGUiLCJvbmVPZlR5cGUiLCJhcnJheU9mIiwibm9kZSIsIlNjYWxlVHlwZSIsImZ1bmMiLCJTbmFwVHlwZSIsIkdyYXBoUHJvcHNUeXBlIiwic2NhbGUiLCJzbmFwIiwiZG9tYWluIiwicmFuZ2UiLCJzaXplIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFBQTs7QUFFTyxJQUFNQSxtQkFBbUIsR0FBRztBQUNqQ0MsRUFBQUEsR0FBRyxFQUFFQyxzQkFBVUMsTUFBVixDQUFpQkMsVUFEVztBQUVqQ0MsRUFBQUEsR0FBRyxFQUFFSCxzQkFBVUMsTUFBVixDQUFpQkMsVUFGVztBQUdqQ0UsRUFBQUEsSUFBSSxFQUFFSixzQkFBVUM7QUFIaUIsQ0FBNUI7OztBQU1BLElBQU1JLFVBQVUsR0FBR0wsc0JBQVVNLEtBQVYsQ0FBZ0JSLG1CQUFoQixDQUFuQjs7OztBQUVBLElBQU1TLFNBQVMsR0FBR1Asc0JBQVVNLEtBQVYsQ0FBZ0JSLG1CQUFoQixDQUFsQjs7OztBQUVBLElBQU1VLFFBQVEsR0FBR1Isc0JBQVVNLEtBQVYsQ0FBZ0I7QUFDdENHLEVBQUFBLEtBQUssRUFBRVQsc0JBQVVDLE1BQVYsQ0FBaUJDLFVBRGM7QUFFdENRLEVBQUFBLE1BQU0sRUFBRVYsc0JBQVVDLE1BQVYsQ0FBaUJDO0FBRmEsQ0FBaEIsQ0FBakI7Ozs7QUFLQSxJQUFNUyxTQUFTLEdBQUdYLHNCQUFVTSxLQUFWLENBQWdCO0FBQ3ZDTSxFQUFBQSxDQUFDLEVBQUVaLHNCQUFVQyxNQUFWLENBQWlCQyxVQURtQjtBQUV2Q1csRUFBQUEsQ0FBQyxFQUFFYixzQkFBVUMsTUFBVixDQUFpQkM7QUFGbUIsQ0FBaEIsQ0FBbEI7Ozs7QUFLQSxJQUFNWSxZQUFZLEdBQUdkLHNCQUFVZSxTQUFWLENBQW9CLENBQUNmLHNCQUFVZ0IsT0FBVixDQUFrQmhCLHNCQUFVaUIsSUFBNUIsQ0FBRCxFQUFvQ2pCLHNCQUFVaUIsSUFBOUMsQ0FBcEIsRUFBeUVmLFVBQTlGOzs7O0FBRUEsSUFBTWdCLFNBQVMsR0FBR2xCLHNCQUFVTSxLQUFWLENBQWdCO0FBQ3ZDTSxFQUFBQSxDQUFDLEVBQUVaLHNCQUFVbUIsSUFBVixDQUFlakIsVUFEcUI7QUFFdkNXLEVBQUFBLENBQUMsRUFBRWIsc0JBQVVtQixJQUFWLENBQWVqQjtBQUZxQixDQUFoQixDQUFsQjs7OztBQUtBLElBQU1rQixRQUFRLEdBQUdwQixzQkFBVU0sS0FBVixDQUFnQjtBQUN0Q00sRUFBQUEsQ0FBQyxFQUFFWixzQkFBVW1CLElBQVYsQ0FBZWpCLFVBRG9CO0FBRXRDVyxFQUFBQSxDQUFDLEVBQUViLHNCQUFVbUIsSUFBVixDQUFlakI7QUFGb0IsQ0FBaEIsQ0FBakI7Ozs7QUFLQSxJQUFNbUIsY0FBYyxHQUFHckIsc0JBQVVNLEtBQVYsQ0FBZ0I7QUFDNUNnQixFQUFBQSxLQUFLLEVBQUVKLFNBQVMsQ0FBQ2hCLFVBRDJCO0FBRTVDcUIsRUFBQUEsSUFBSSxFQUFFSCxRQUFRLENBQUNsQixVQUY2QjtBQUc1Q3NCLEVBQUFBLE1BQU0sRUFBRW5CLFVBQVUsQ0FBQ0gsVUFIeUI7QUFJNUN1QixFQUFBQSxLQUFLLEVBQUVsQixTQUFTLENBQUNMLFVBSjJCO0FBSzVDd0IsRUFBQUEsSUFBSSxFQUFFbEIsUUFBUSxDQUFDTjtBQUw2QixDQUFoQixDQUF2QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBQcm9wVHlwZXMgZnJvbSAncHJvcC10eXBlcyc7XG5cbmV4cG9ydCBjb25zdCBCYXNlRG9tYWluUmFuZ2VUeXBlID0ge1xuICBtaW46IFByb3BUeXBlcy5udW1iZXIuaXNSZXF1aXJlZCxcbiAgbWF4OiBQcm9wVHlwZXMubnVtYmVyLmlzUmVxdWlyZWQsXG4gIHN0ZXA6IFByb3BUeXBlcy5udW1iZXIsXG59O1xuXG5leHBvcnQgY29uc3QgRG9tYWluVHlwZSA9IFByb3BUeXBlcy5zaGFwZShCYXNlRG9tYWluUmFuZ2VUeXBlKTtcblxuZXhwb3J0IGNvbnN0IFJhbmdlVHlwZSA9IFByb3BUeXBlcy5zaGFwZShCYXNlRG9tYWluUmFuZ2VUeXBlKTtcblxuZXhwb3J0IGNvbnN0IFNpemVUeXBlID0gUHJvcFR5cGVzLnNoYXBlKHtcbiAgd2lkdGg6IFByb3BUeXBlcy5udW1iZXIuaXNSZXF1aXJlZCxcbiAgaGVpZ2h0OiBQcm9wVHlwZXMubnVtYmVyLmlzUmVxdWlyZWQsXG59KTtcblxuZXhwb3J0IGNvbnN0IFBvaW50VHlwZSA9IFByb3BUeXBlcy5zaGFwZSh7XG4gIHg6IFByb3BUeXBlcy5udW1iZXIuaXNSZXF1aXJlZCxcbiAgeTogUHJvcFR5cGVzLm51bWJlci5pc1JlcXVpcmVkLFxufSk7XG5cbmV4cG9ydCBjb25zdCBDaGlsZHJlblR5cGUgPSBQcm9wVHlwZXMub25lT2ZUeXBlKFtQcm9wVHlwZXMuYXJyYXlPZihQcm9wVHlwZXMubm9kZSksIFByb3BUeXBlcy5ub2RlXSkuaXNSZXF1aXJlZDtcblxuZXhwb3J0IGNvbnN0IFNjYWxlVHlwZSA9IFByb3BUeXBlcy5zaGFwZSh7XG4gIHg6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gIHk6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG59KTtcblxuZXhwb3J0IGNvbnN0IFNuYXBUeXBlID0gUHJvcFR5cGVzLnNoYXBlKHtcbiAgeDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgeTogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbn0pO1xuXG5leHBvcnQgY29uc3QgR3JhcGhQcm9wc1R5cGUgPSBQcm9wVHlwZXMuc2hhcGUoe1xuICBzY2FsZTogU2NhbGVUeXBlLmlzUmVxdWlyZWQsXG4gIHNuYXA6IFNuYXBUeXBlLmlzUmVxdWlyZWQsXG4gIGRvbWFpbjogRG9tYWluVHlwZS5pc1JlcXVpcmVkLFxuICByYW5nZTogUmFuZ2VUeXBlLmlzUmVxdWlyZWQsXG4gIHNpemU6IFNpemVUeXBlLmlzUmVxdWlyZWQsXG59KTtcbiJdfQ==
68
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/types.js"],"names":["BaseDomainRangeType","min","PropTypes","number","isRequired","max","step","DomainType","shape","RangeType","SizeType","width","height","PointType","x","y","ChildrenType","oneOfType","arrayOf","node","ScaleType","func","SnapType","GraphPropsType","scale","snap","domain","range","size"],"mappings":";;;;;;;;;AAAA;;AAEO,IAAMA,mBAAmB,GAAG;AACjCC,EAAAA,GAAG,EAAEC,sBAAUC,MAAV,CAAiBC,UADW;AAEjCC,EAAAA,GAAG,EAAEH,sBAAUC,MAAV,CAAiBC,UAFW;AAGjCE,EAAAA,IAAI,EAAEJ,sBAAUC;AAHiB,CAA5B;;;AAMA,IAAMI,UAAU,GAAGL,sBAAUM,KAAV,CAAgBR,mBAAhB,CAAnB;;;;AAEA,IAAMS,SAAS,GAAGP,sBAAUM,KAAV,CAAgBR,mBAAhB,CAAlB;;;;AAEA,IAAMU,QAAQ,GAAGR,sBAAUM,KAAV,CAAgB;AACtCG,EAAAA,KAAK,EAAET,sBAAUC,MAAV,CAAiBC,UADc;AAEtCQ,EAAAA,MAAM,EAAEV,sBAAUC,MAAV,CAAiBC;AAFa,CAAhB,CAAjB;;;;AAKA,IAAMS,SAAS,GAAGX,sBAAUM,KAAV,CAAgB;AACvCM,EAAAA,CAAC,EAAEZ,sBAAUC,MAAV,CAAiBC,UADmB;AAEvCW,EAAAA,CAAC,EAAEb,sBAAUC,MAAV,CAAiBC;AAFmB,CAAhB,CAAlB;;;;AAKA,IAAMY,YAAY,GAAGd,sBAAUe,SAAV,CAAoB,CAACf,sBAAUgB,OAAV,CAAkBhB,sBAAUiB,IAA5B,CAAD,EAAoCjB,sBAAUiB,IAA9C,CAApB,EAAyEf,UAA9F;;;;AAEA,IAAMgB,SAAS,GAAGlB,sBAAUM,KAAV,CAAgB;AACvCM,EAAAA,CAAC,EAAEZ,sBAAUmB,IAAV,CAAejB,UADqB;AAEvCW,EAAAA,CAAC,EAAEb,sBAAUmB,IAAV,CAAejB;AAFqB,CAAhB,CAAlB;;;;AAKA,IAAMkB,QAAQ,GAAGpB,sBAAUM,KAAV,CAAgB;AACtCM,EAAAA,CAAC,EAAEZ,sBAAUmB,IAAV,CAAejB,UADoB;AAEtCW,EAAAA,CAAC,EAAEb,sBAAUmB,IAAV,CAAejB;AAFoB,CAAhB,CAAjB;;;;AAKA,IAAMmB,cAAc,GAAGrB,sBAAUM,KAAV,CAAgB;AAC5CgB,EAAAA,KAAK,EAAEJ,SAAS,CAAChB,UAD2B;AAE5CqB,EAAAA,IAAI,EAAEH,QAAQ,CAAClB,UAF6B;AAG5CsB,EAAAA,MAAM,EAAEnB,UAAU,CAACH,UAHyB;AAI5CuB,EAAAA,KAAK,EAAElB,SAAS,CAACL,UAJ2B;AAK5CwB,EAAAA,IAAI,EAAElB,QAAQ,CAACN;AAL6B,CAAhB,CAAvB","sourcesContent":["import PropTypes from 'prop-types';\n\nexport const BaseDomainRangeType = {\n min: PropTypes.number.isRequired,\n max: PropTypes.number.isRequired,\n step: PropTypes.number,\n};\n\nexport const DomainType = PropTypes.shape(BaseDomainRangeType);\n\nexport const RangeType = PropTypes.shape(BaseDomainRangeType);\n\nexport const SizeType = PropTypes.shape({\n width: PropTypes.number.isRequired,\n height: PropTypes.number.isRequired,\n});\n\nexport const PointType = PropTypes.shape({\n x: PropTypes.number.isRequired,\n y: PropTypes.number.isRequired,\n});\n\nexport const ChildrenType = PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node]).isRequired;\n\nexport const ScaleType = PropTypes.shape({\n x: PropTypes.func.isRequired,\n y: PropTypes.func.isRequired,\n});\n\nexport const SnapType = PropTypes.shape({\n x: PropTypes.func.isRequired,\n y: PropTypes.func.isRequired,\n});\n\nexport const GraphPropsType = PropTypes.shape({\n scale: ScaleType.isRequired,\n snap: SnapType.isRequired,\n domain: DomainType.isRequired,\n range: RangeType.isRequired,\n size: SizeType.isRequired,\n});\n"],"file":"types.js"}
package/lib/utils.js CHANGED
@@ -229,4 +229,4 @@ var isEmptyString = function isEmptyString(str) {
229
229
  };
230
230
 
231
231
  exports.isEmptyString = isEmptyString;
232
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy91dGlscy5qcyJdLCJuYW1lcyI6WyJ4eSIsIngiLCJ5IiwiYnVpbGRTaXplQXJyYXkiLCJzaXplIiwicGFkZGluZyIsIk51bWJlciIsImlzRmluaXRlIiwiTWF0aCIsIm1heCIsImhhbGYiLCJyb3VuZCIsInRpY2tDb3VudCIsIm1pbiIsInN0ZXAiLCJhYnMiLCJnZXRJbnRlcnZhbCIsImRvbWFpbiIsInRpY2tzIiwibWFqb3IiLCJtaW5vciIsIkVycm9yIiwiZGlzdGFuY2UiLCJtaW5vclRpY2tzIiwibm9ybWFsaXplZE1ham9yIiwiaXNOYU4iLCJkaXZpZGVyIiwicmF3IiwicGFyc2VGbG9hdCIsInRvRml4ZWQiLCJta1JhbmdlIiwiaW50ZXJ2YWwiLCJzcGxpY2UiLCJsZW5ndGgiLCJzbmFwVG8iLCJ2YWx1ZSIsInJuZyIsImZpbHRlciIsInYiLCJyZWR1Y2UiLCJwcmV2IiwiY3VyciIsImN1cnJlbnREaXN0YW5jZSIsInByZXZpb3VzRGlzdGFuY2UiLCJidWlsZFRpY2tNb2RlbCIsInNjYWxlRm4iLCJtYXAiLCJyIiwiaW5kZXgiLCJpc01ham9yIiwicG9seWdvblRvQXJlYSIsInBvaW50cyIsImgiLCJhcmVhIiwibGVmdCIsInRvcCIsImJvdHRvbSIsInJpZ2h0IiwiYSIsInAiLCJsaW5lVG9BcmVhIiwiZnJvbSIsInRvIiwiYm91bmRzIiwicmFuZ2UiLCJwb2ludCIsIm8iLCJQb2ludCIsImdldERlbHRhIiwic3ViIiwiYmFuZEtleSIsImQiLCJsYWJlbCIsImlzRG9tYWluUmFuZ2VFcXVhbCIsImdyYXBoUHJvcHMiLCJuZXh0R3JhcGhQcm9wcyIsImZpbmRMb25nZXN0V29yZCIsImxvbmdlc3RXb3JkIiwicmVwbGFjZSIsInNwbGl0Iiwic29ydCIsImIiLCJhbW91bnRUb0luY3JlYXNlV2lkdGgiLCJleHRyYWN0VGV4dEZyb21IVE1MIiwiaHRtbFN0cmluZyIsInBhcnNlciIsIkRPTVBhcnNlciIsImRvYyIsInBhcnNlRnJvbVN0cmluZyIsImJvZHkiLCJ0ZXh0Q29udGVudCIsImlzRW1wdHlPYmplY3QiLCJvYmoiLCJPYmplY3QiLCJrZXlzIiwiY29uc3RydWN0b3IiLCJpc0VtcHR5U3RyaW5nIiwic3RyIiwidHJpbSJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBRU8sSUFBTUEsRUFBRSxHQUFHLFNBQUxBLEVBQUssQ0FBQ0MsQ0FBRCxFQUFJQyxDQUFKO0FBQUEsU0FBVztBQUFFRCxJQUFBQSxDQUFDLEVBQURBLENBQUY7QUFBS0MsSUFBQUEsQ0FBQyxFQUFEQTtBQUFMLEdBQVg7QUFBQSxDQUFYOzs7O0FBRUEsSUFBTUMsY0FBYyxHQUFHLFNBQWpCQSxjQUFpQixDQUFDQyxJQUFELEVBQU9DLE9BQVAsRUFBbUI7QUFDL0NBLEVBQUFBLE9BQU8sR0FBR0MsTUFBTSxDQUFDQyxRQUFQLENBQWdCRixPQUFoQixJQUEyQkcsSUFBSSxDQUFDQyxHQUFMLENBQVNKLE9BQVQsRUFBa0IsQ0FBbEIsQ0FBM0IsR0FBa0QsQ0FBNUQ7QUFDQSw2QkFBVUEsT0FBTyxHQUFHRCxJQUFwQixFQUEwQixnQ0FBMUI7QUFDQSxNQUFNTSxJQUFJLEdBQUdGLElBQUksQ0FBQ0csS0FBTCxDQUFXTixPQUFPLEdBQUcsR0FBckIsQ0FBYjtBQUNBLFNBQU8sQ0FBQ0ssSUFBRCxFQUFPTixJQUFJLEdBQUdNLElBQWQsQ0FBUDtBQUNELENBTE07Ozs7QUFPQSxJQUFNRSxTQUFTLEdBQUcsU0FBWkEsU0FBWSxDQUFDQyxHQUFELEVBQU1KLEdBQU4sRUFBV0ssSUFBWCxFQUFvQjtBQUMzQyw2QkFBVUQsR0FBRyxHQUFHSixHQUFoQixFQUFxQiwyQkFBckI7QUFDQSxNQUFNTCxJQUFJLEdBQUdJLElBQUksQ0FBQ08sR0FBTCxDQUFTRixHQUFHLEdBQUdKLEdBQWYsQ0FBYjtBQUNBLFNBQU9ELElBQUksQ0FBQ0csS0FBTCxDQUFXUCxJQUFJLEdBQUdVLElBQWxCLENBQVA7QUFDRCxDQUpNOzs7O0FBTUEsU0FBU0UsV0FBVCxDQUFxQkMsTUFBckIsRUFBNkJDLEtBQTdCLEVBQW9DO0FBQ3pDLE1BQVFMLEdBQVIsR0FBcUJJLE1BQXJCLENBQVFKLEdBQVI7QUFBQSxNQUFhSixHQUFiLEdBQXFCUSxNQUFyQixDQUFhUixHQUFiO0FBQ0EsTUFBUVUsS0FBUixHQUF5QkQsS0FBekIsQ0FBUUMsS0FBUjtBQUFBLE1BQWVDLEtBQWYsR0FBeUJGLEtBQXpCLENBQWVFLEtBQWY7O0FBRUEsTUFBSVAsR0FBRyxJQUFJSixHQUFYLEVBQWdCO0FBQ2QsVUFBTSxJQUFJWSxLQUFKLHlCQUEyQlIsR0FBM0IsZ0JBQW9DSixHQUFwQyxFQUFOO0FBQ0Q7O0FBRUQsTUFBTWEsUUFBUSxHQUFHYixHQUFHLEdBQUdJLEdBQXZCO0FBQ0EsTUFBTVUsVUFBVSxHQUFHSCxLQUFLLEdBQUcsQ0FBUixHQUFZQSxLQUFLLEdBQUcsQ0FBcEIsR0FBd0IsQ0FBM0M7QUFDQSxNQUFNSSxlQUFlLEdBQUdMLEtBQUssR0FBRyxDQUFoQzs7QUFFQSxNQUFJTSxLQUFLLENBQUNELGVBQUQsQ0FBVCxFQUE0QjtBQUMxQixVQUFNLElBQUlILEtBQUosQ0FBVSxvQ0FBVixDQUFOO0FBQ0Q7O0FBRUQsTUFBSUcsZUFBZSxJQUFJLENBQXZCLEVBQTBCO0FBQ3hCLFVBQU0sSUFBSUgsS0FBSixDQUFVLG9DQUFWLENBQU47QUFDRDs7QUFFRCxNQUFNSyxPQUFPLEdBQUdGLGVBQWUsR0FBR0QsVUFBbEM7QUFDQSxNQUFNSSxHQUFHLEdBQUdMLFFBQVEsR0FBR0ksT0FBdkI7QUFDQSxTQUFPRSxVQUFVLENBQUN0QixNQUFNLENBQUNxQixHQUFELENBQU4sQ0FBWUUsT0FBWixDQUFvQixDQUFwQixDQUFELENBQWpCO0FBQ0Q7O0FBRUQsSUFBTUMsT0FBTyxHQUFHLFNBQVZBLE9BQVUsQ0FBQ2pCLEdBQUQsRUFBTUosR0FBTixFQUFXc0IsUUFBWCxFQUF3QjtBQUN0QyxNQUFNSixHQUFHLEdBQUcsdUJBQU1kLEdBQU4sRUFBV0osR0FBWCxFQUFnQnNCLFFBQWhCLENBQVo7QUFDQTs7QUFDQUosRUFBQUEsR0FBRyxDQUFDSyxNQUFKLENBQVdMLEdBQUcsQ0FBQ00sTUFBZixFQUF1QixDQUF2QixFQUEwQnhCLEdBQTFCO0FBQ0EsU0FBT2tCLEdBQVA7QUFDRCxDQUxEOztBQU9PLFNBQVNPLE1BQVQsQ0FBZ0JyQixHQUFoQixFQUFxQkosR0FBckIsRUFBMEJzQixRQUExQixFQUFvQ0ksS0FBcEMsRUFBMkM7QUFDaEQsTUFBSUEsS0FBSyxJQUFJMUIsR0FBYixFQUFrQjtBQUNoQixXQUFPQSxHQUFQO0FBQ0Q7O0FBRUQsTUFBSTBCLEtBQUssSUFBSXRCLEdBQWIsRUFBa0I7QUFDaEIsV0FBT0EsR0FBUDtBQUNEOztBQUVELE1BQUl1QixHQUFHLEdBQUdOLE9BQU8sQ0FBQ2pCLEdBQUQsRUFBTUosR0FBTixFQUFXc0IsUUFBWCxDQUFqQjtBQUVBSyxFQUFBQSxHQUFHLEdBQUdBLEdBQUcsQ0FBQ0MsTUFBSixDQUFXLFVBQUNDLENBQUQsRUFBTztBQUN0QixXQUFPOUIsSUFBSSxDQUFDTyxHQUFMLENBQVNvQixLQUFLLEdBQUdHLENBQWpCLEtBQXVCUCxRQUE5QjtBQUNELEdBRkssQ0FBTjtBQUlBLFNBQ0VLLEdBQUcsQ0FBQ0gsTUFBSixJQUNBRyxHQUFHLENBQUNHLE1BQUosQ0FBVyxVQUFDQyxJQUFELEVBQU9DLElBQVAsRUFBZ0I7QUFDekIsUUFBTUMsZUFBZSxHQUFHbEMsSUFBSSxDQUFDTyxHQUFMLENBQVMwQixJQUFJLEdBQUdOLEtBQWhCLENBQXhCO0FBQ0EsUUFBTVEsZ0JBQWdCLEdBQUduQyxJQUFJLENBQUNPLEdBQUwsQ0FBU3lCLElBQUksR0FBR0wsS0FBaEIsQ0FBekI7QUFDQSxXQUFPTyxlQUFlLElBQUlDLGdCQUFuQixHQUFzQ0YsSUFBdEMsR0FBNkNELElBQXBEO0FBQ0QsR0FKRCxDQUZGO0FBUUQ7O0FBRU0sU0FBU0ksY0FBVCxDQUF3QjNCLE1BQXhCLEVBQWdDQyxLQUFoQyxFQUF1Q2EsUUFBdkMsRUFBaURjLE9BQWpELEVBQTBEO0FBQy9ELE1BQU1ULEdBQUcsR0FBR04sT0FBTyxDQUFDYixNQUFNLENBQUNKLEdBQVIsRUFBYUksTUFBTSxDQUFDUixHQUFwQixFQUF5QnNCLFFBQXpCLENBQW5CO0FBRUEsU0FBT0ssR0FBRyxDQUFDVSxHQUFKLENBQVEsVUFBQ0MsQ0FBRCxFQUFJQyxLQUFKLEVBQWM7QUFDM0IsUUFBTUMsT0FBTyxHQUFHRCxLQUFLLElBQUk5QixLQUFLLENBQUNFLEtBQU4sR0FBYyxDQUFsQixDQUFMLEtBQThCLENBQTlDO0FBRUEsV0FBTztBQUNMZSxNQUFBQSxLQUFLLEVBQUVZLENBREY7QUFFTDVCLE1BQUFBLEtBQUssRUFBRThCLE9BRkY7QUFHTGhELE1BQUFBLENBQUMsRUFBRTRDLE9BQU8sQ0FBQ0UsQ0FBRDtBQUhMLEtBQVA7QUFLRCxHQVJNLENBQVA7QUFTRDs7QUFFTSxJQUFNRyxhQUFhLEdBQUcsU0FBaEJBLGFBQWdCLENBQUNDLE1BQUQsRUFBWTtBQUN2QyxNQUFNQyxDQUFDLEdBQUcsc0JBQUtELE1BQUwsQ0FBVjtBQUNBLE1BQU1FLElBQUksR0FBRztBQUNYQyxJQUFBQSxJQUFJLEVBQUVGLENBQUMsQ0FBQ25ELENBREc7QUFFWHNELElBQUFBLEdBQUcsRUFBRUgsQ0FBQyxDQUFDbEQsQ0FGSTtBQUdYc0QsSUFBQUEsTUFBTSxFQUFFSixDQUFDLENBQUNsRCxDQUhDO0FBSVh1RCxJQUFBQSxLQUFLLEVBQUVMLENBQUMsQ0FBQ25EO0FBSkUsR0FBYjtBQU1BLFNBQU8sc0JBQUtrRCxNQUFMLEVBQWFaLE1BQWIsQ0FBb0IsVUFBQ21CLENBQUQsRUFBSUMsQ0FBSixFQUFVO0FBQ25DRCxJQUFBQSxDQUFDLENBQUNKLElBQUYsR0FBUzlDLElBQUksQ0FBQ0ssR0FBTCxDQUFTNkMsQ0FBQyxDQUFDSixJQUFYLEVBQWlCSyxDQUFDLENBQUMxRCxDQUFuQixDQUFUO0FBQ0F5RCxJQUFBQSxDQUFDLENBQUNILEdBQUYsR0FBUS9DLElBQUksQ0FBQ0MsR0FBTCxDQUFTaUQsQ0FBQyxDQUFDSCxHQUFYLEVBQWdCSSxDQUFDLENBQUN6RCxDQUFsQixDQUFSO0FBQ0F3RCxJQUFBQSxDQUFDLENBQUNGLE1BQUYsR0FBV2hELElBQUksQ0FBQ0ssR0FBTCxDQUFTNkMsQ0FBQyxDQUFDRixNQUFYLEVBQW1CRyxDQUFDLENBQUN6RCxDQUFyQixDQUFYO0FBQ0F3RCxJQUFBQSxDQUFDLENBQUNELEtBQUYsR0FBVWpELElBQUksQ0FBQ0MsR0FBTCxDQUFTaUQsQ0FBQyxDQUFDRCxLQUFYLEVBQWtCRSxDQUFDLENBQUMxRCxDQUFwQixDQUFWO0FBQ0EsV0FBT3lELENBQVA7QUFDRCxHQU5NLEVBTUpMLElBTkksQ0FBUDtBQU9ELENBZk07Ozs7QUFpQkEsSUFBTU8sVUFBVSxHQUFHLFNBQWJBLFVBQWEsQ0FBQ0MsSUFBRCxFQUFPQyxFQUFQLEVBQWM7QUFDdEMsTUFBTVIsSUFBSSxHQUFHOUMsSUFBSSxDQUFDSyxHQUFMLENBQVNnRCxJQUFJLENBQUM1RCxDQUFkLEVBQWlCNkQsRUFBRSxDQUFDN0QsQ0FBcEIsQ0FBYjtBQUNBLE1BQU1zRCxHQUFHLEdBQUcvQyxJQUFJLENBQUNDLEdBQUwsQ0FBU29ELElBQUksQ0FBQzNELENBQWQsRUFBaUI0RCxFQUFFLENBQUM1RCxDQUFwQixDQUFaO0FBQ0EsTUFBTXNELE1BQU0sR0FBR2hELElBQUksQ0FBQ0ssR0FBTCxDQUFTZ0QsSUFBSSxDQUFDM0QsQ0FBZCxFQUFpQjRELEVBQUUsQ0FBQzVELENBQXBCLENBQWY7QUFDQSxNQUFNdUQsS0FBSyxHQUFHakQsSUFBSSxDQUFDQyxHQUFMLENBQVNvRCxJQUFJLENBQUM1RCxDQUFkLEVBQWlCNkQsRUFBRSxDQUFDN0QsQ0FBcEIsQ0FBZDtBQUNBLFNBQU87QUFBRXFELElBQUFBLElBQUksRUFBSkEsSUFBRjtBQUFRQyxJQUFBQSxHQUFHLEVBQUhBLEdBQVI7QUFBYUMsSUFBQUEsTUFBTSxFQUFOQSxNQUFiO0FBQXFCQyxJQUFBQSxLQUFLLEVBQUxBO0FBQXJCLEdBQVA7QUFDRCxDQU5NOzs7O0FBUUEsSUFBTU0sTUFBTSxHQUFHLFNBQVRBLE1BQVMsQ0FBQ1YsSUFBRCxFQUFPcEMsTUFBUCxFQUFlK0MsS0FBZixFQUF5QjtBQUM3QyxTQUFPO0FBQ0xWLElBQUFBLElBQUksRUFBRXJDLE1BQU0sQ0FBQ0osR0FBUCxHQUFhd0MsSUFBSSxDQUFDQyxJQURuQjtBQUVMRyxJQUFBQSxLQUFLLEVBQUVqRCxJQUFJLENBQUNPLEdBQUwsQ0FBU3NDLElBQUksQ0FBQ0ksS0FBTCxHQUFheEMsTUFBTSxDQUFDUixHQUE3QixDQUZGO0FBR0w4QyxJQUFBQSxHQUFHLEVBQUUvQyxJQUFJLENBQUNPLEdBQUwsQ0FBU3NDLElBQUksQ0FBQ0UsR0FBTCxHQUFXUyxLQUFLLENBQUN2RCxHQUExQixDQUhBO0FBSUwrQyxJQUFBQSxNQUFNLEVBQUVRLEtBQUssQ0FBQ25ELEdBQU4sR0FBWXdDLElBQUksQ0FBQ0c7QUFKcEIsR0FBUDtBQU1ELENBUE07Ozs7QUFTQSxJQUFNUyxLQUFLLEdBQUcsU0FBUkEsS0FBUSxDQUFDQyxDQUFEO0FBQUEsU0FBTyxJQUFJQyx5QkFBSixDQUFVRCxDQUFDLENBQUNqRSxDQUFaLEVBQWVpRSxDQUFDLENBQUNoRSxDQUFqQixDQUFQO0FBQUEsQ0FBZDs7OztBQUNBLElBQU1rRSxRQUFRLEdBQUcsU0FBWEEsUUFBVyxDQUFDUCxJQUFELEVBQU9DLEVBQVAsRUFBYztBQUNwQyxTQUFPRyxLQUFLLENBQUNILEVBQUQsQ0FBTCxDQUFVTyxHQUFWLENBQWNKLEtBQUssQ0FBQ0osSUFBRCxDQUFuQixDQUFQO0FBQ0QsQ0FGTTs7OztBQUlBLElBQU1TLE9BQU8sR0FBRyxTQUFWQSxPQUFVLENBQUNDLENBQUQsRUFBSXZCLEtBQUo7QUFBQSxtQkFBaUJBLEtBQWpCLGNBQTBCdUIsQ0FBQyxDQUFDQyxLQUFGLElBQVcsR0FBckM7QUFBQSxDQUFoQjs7OztBQUVBLElBQU1DLGtCQUFrQixHQUFHLFNBQXJCQSxrQkFBcUIsQ0FBQ0MsVUFBRCxFQUFhQyxjQUFiLEVBQWdDO0FBQ2hFLFNBQU8seUJBQVFELFVBQVUsQ0FBQ3pELE1BQW5CLEVBQTJCMEQsY0FBYyxDQUFDMUQsTUFBMUMsS0FBcUQseUJBQVF5RCxVQUFVLENBQUNWLEtBQW5CLEVBQTBCVyxjQUFjLENBQUNYLEtBQXpDLENBQTVEO0FBQ0QsQ0FGTSxDLENBSVA7Ozs7O0FBQ08sSUFBTVksZUFBZSxHQUFHLFNBQWxCQSxlQUFrQixDQUFDSixLQUFELEVBQVc7QUFDeEMsTUFBSUssV0FBVyxHQUFHLENBQUNMLEtBQUssSUFBSSxFQUFWLEVBQ2ZNLE9BRGUsQ0FDUCxVQURPLEVBQ0ssRUFETCxFQUVmQyxLQUZlLENBRVQsR0FGUyxFQUdmQyxJQUhlLENBR1YsVUFBQ3RCLENBQUQsRUFBSXVCLENBQUo7QUFBQSxXQUFVQSxDQUFDLENBQUNoRCxNQUFGLEdBQVd5QixDQUFDLENBQUN6QixNQUF2QjtBQUFBLEdBSFUsQ0FBbEI7QUFLQSxTQUFPNEMsV0FBVyxDQUFDLENBQUQsQ0FBWCxDQUFlNUMsTUFBdEI7QUFDRCxDQVBNLEMsQ0FTUDs7Ozs7QUFDTyxJQUFNaUQscUJBQXFCLEdBQUcsU0FBeEJBLHFCQUF3QixDQUFDTCxXQUFELEVBQWlCO0FBQ3BELE1BQUksQ0FBQ0EsV0FBTCxFQUFrQjtBQUNoQixXQUFPLENBQVA7QUFDRDs7QUFFRCxTQUFPQSxXQUFXLEdBQUcsRUFBckI7QUFDRCxDQU5NOzs7O0FBUUEsSUFBTU0sbUJBQW1CLEdBQUcsU0FBdEJBLG1CQUFzQixDQUFDQyxVQUFELEVBQWdCO0FBQUE7O0FBQ2pELE1BQU1DLE1BQU0sR0FBRyxJQUFJQyxTQUFKLEVBQWY7QUFDQSxNQUFNQyxHQUFHLEdBQUdGLE1BQUgsYUFBR0EsTUFBSCx1QkFBR0EsTUFBTSxDQUFFRyxlQUFSLENBQXdCSixVQUF4QixFQUFvQyxXQUFwQyxDQUFaO0FBQ0EsU0FBTyxDQUFBRyxHQUFHLFNBQUgsSUFBQUEsR0FBRyxXQUFILHlCQUFBQSxHQUFHLENBQUVFLElBQUwsd0RBQVdDLFdBQVgsS0FBMEIsRUFBakM7QUFDRCxDQUpNOzs7O0FBTUEsSUFBTUMsYUFBYSxHQUFHLFNBQWhCQSxhQUFnQixDQUFDQyxHQUFELEVBQVM7QUFDcEMsU0FBT0EsR0FBRyxJQUFJQyxNQUFNLENBQUNDLElBQVAsQ0FBWUYsR0FBWixFQUFpQjNELE1BQWpCLEtBQTRCLENBQW5DLElBQXdDMkQsR0FBRyxDQUFDRyxXQUFKLEtBQW9CRixNQUFuRTtBQUNELENBRk07Ozs7QUFJQSxJQUFNRyxhQUFhLEdBQUcsU0FBaEJBLGFBQWdCLENBQUNDLEdBQUQsRUFBUztBQUNwQyxTQUFPLE9BQU9BLEdBQVAsS0FBZSxRQUFmLElBQTJCQSxHQUFHLENBQUNDLElBQUosT0FBZSxFQUFqRDtBQUNELENBRk0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgaW52YXJpYW50IGZyb20gJ2ludmFyaWFudCc7XG5pbXBvcnQgcmFuZ2UgZnJvbSAnbG9kYXNoL3JhbmdlJztcbmltcG9ydCBQb2ludCBmcm9tICdAbWFwYm94L3BvaW50LWdlb21ldHJ5JztcbmltcG9ydCBoZWFkIGZyb20gJ2xvZGFzaC9oZWFkJztcbmltcG9ydCB0YWlsIGZyb20gJ2xvZGFzaC90YWlsJztcbmltcG9ydCBpc0VxdWFsIGZyb20gJ2xvZGFzaC9pc0VxdWFsJztcblxuZXhwb3J0IGNvbnN0IHh5ID0gKHgsIHkpID0+ICh7IHgsIHkgfSk7XG5cbmV4cG9ydCBjb25zdCBidWlsZFNpemVBcnJheSA9IChzaXplLCBwYWRkaW5nKSA9PiB7XG4gIHBhZGRpbmcgPSBOdW1iZXIuaXNGaW5pdGUocGFkZGluZykgPyBNYXRoLm1heChwYWRkaW5nLCAwKSA6IDA7XG4gIGludmFyaWFudChwYWRkaW5nIDwgc2l6ZSwgJ3BhZGRpbmcgbXVzdCBiZSBsZXNzIHRoYW4gc2l6ZScpO1xuICBjb25zdCBoYWxmID0gTWF0aC5yb3VuZChwYWRkaW5nICogMC41KTtcbiAgcmV0dXJuIFtoYWxmLCBzaXplIC0gaGFsZl07XG59O1xuXG5leHBvcnQgY29uc3QgdGlja0NvdW50ID0gKG1pbiwgbWF4LCBzdGVwKSA9PiB7XG4gIGludmFyaWFudChtaW4gPCBtYXgsICdtaW4gbXVzdCBiZSBsZXNzIHRoYW4gbWF4Jyk7XG4gIGNvbnN0IHNpemUgPSBNYXRoLmFicyhtaW4gLSBtYXgpO1xuICByZXR1cm4gTWF0aC5yb3VuZChzaXplIC8gc3RlcCk7XG59O1xuXG5leHBvcnQgZnVuY3Rpb24gZ2V0SW50ZXJ2YWwoZG9tYWluLCB0aWNrcykge1xuICBjb25zdCB7IG1pbiwgbWF4IH0gPSBkb21haW47XG4gIGNvbnN0IHsgbWFqb3IsIG1pbm9yIH0gPSB0aWNrcztcblxuICBpZiAobWluID49IG1heCkge1xuICAgIHRocm93IG5ldyBFcnJvcihgbWluIGlzID4gbWF4OiAke21pbn0gPiAke21heH1gKTtcbiAgfVxuXG4gIGNvbnN0IGRpc3RhbmNlID0gbWF4IC0gbWluO1xuICBjb25zdCBtaW5vclRpY2tzID0gbWlub3IgPiAwID8gbWlub3IgKyAxIDogMTtcbiAgY29uc3Qgbm9ybWFsaXplZE1ham9yID0gbWFqb3IgLSAxO1xuXG4gIGlmIChpc05hTihub3JtYWxpemVkTWFqb3IpKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdUaWNrIEZyZXF1ZW5jeSBtdXN0IGJlIDIgb3IgaGlnaGVyJyk7XG4gIH1cblxuICBpZiAobm9ybWFsaXplZE1ham9yIDw9IDApIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ1RpY2sgRnJlcXVlbmN5IG11c3QgYmUgMiBvciBoaWdoZXInKTtcbiAgfVxuXG4gIGNvbnN0IGRpdmlkZXIgPSBub3JtYWxpemVkTWFqb3IgKiBtaW5vclRpY2tzO1xuICBjb25zdCByYXcgPSBkaXN0YW5jZSAvIGRpdmlkZXI7XG4gIHJldHVybiBwYXJzZUZsb2F0KE51bWJlcihyYXcpLnRvRml4ZWQoNCkpO1xufVxuXG5jb25zdCBta1JhbmdlID0gKG1pbiwgbWF4LCBpbnRlcnZhbCkgPT4ge1xuICBjb25zdCByYXcgPSByYW5nZShtaW4sIG1heCwgaW50ZXJ2YWwpO1xuICAvKiBGaXggdGhlIGxhc3Qgc3RlcCBkdWUgdG8gcm91bmRpbmcgZXJyb3JzICovXG4gIHJhdy5zcGxpY2UocmF3Lmxlbmd0aCwgMSwgbWF4KTtcbiAgcmV0dXJuIHJhdztcbn07XG5cbmV4cG9ydCBmdW5jdGlvbiBzbmFwVG8obWluLCBtYXgsIGludGVydmFsLCB2YWx1ZSkge1xuICBpZiAodmFsdWUgPj0gbWF4KSB7XG4gICAgcmV0dXJuIG1heDtcbiAgfVxuXG4gIGlmICh2YWx1ZSA8PSBtaW4pIHtcbiAgICByZXR1cm4gbWluO1xuICB9XG5cbiAgbGV0IHJuZyA9IG1rUmFuZ2UobWluLCBtYXgsIGludGVydmFsKTtcblxuICBybmcgPSBybmcuZmlsdGVyKCh2KSA9PiB7XG4gICAgcmV0dXJuIE1hdGguYWJzKHZhbHVlIC0gdikgPD0gaW50ZXJ2YWw7XG4gIH0pO1xuXG4gIHJldHVybiAoXG4gICAgcm5nLmxlbmd0aCAmJlxuICAgIHJuZy5yZWR1Y2UoKHByZXYsIGN1cnIpID0+IHtcbiAgICAgIGNvbnN0IGN1cnJlbnREaXN0YW5jZSA9IE1hdGguYWJzKGN1cnIgLSB2YWx1ZSk7XG4gICAgICBjb25zdCBwcmV2aW91c0Rpc3RhbmNlID0gTWF0aC5hYnMocHJldiAtIHZhbHVlKTtcbiAgICAgIHJldHVybiBjdXJyZW50RGlzdGFuY2UgPD0gcHJldmlvdXNEaXN0YW5jZSA/IGN1cnIgOiBwcmV2O1xuICAgIH0pXG4gICk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBidWlsZFRpY2tNb2RlbChkb21haW4sIHRpY2tzLCBpbnRlcnZhbCwgc2NhbGVGbikge1xuICBjb25zdCBybmcgPSBta1JhbmdlKGRvbWFpbi5taW4sIGRvbWFpbi5tYXgsIGludGVydmFsKTtcblxuICByZXR1cm4gcm5nLm1hcCgociwgaW5kZXgpID0+IHtcbiAgICBjb25zdCBpc01ham9yID0gaW5kZXggJSAodGlja3MubWlub3IgKyAxKSA9PT0gMDtcblxuICAgIHJldHVybiB7XG4gICAgICB2YWx1ZTogcixcbiAgICAgIG1ham9yOiBpc01ham9yLFxuICAgICAgeDogc2NhbGVGbihyKSxcbiAgICB9O1xuICB9KTtcbn1cblxuZXhwb3J0IGNvbnN0IHBvbHlnb25Ub0FyZWEgPSAocG9pbnRzKSA9PiB7XG4gIGNvbnN0IGggPSBoZWFkKHBvaW50cyk7XG4gIGNvbnN0IGFyZWEgPSB7XG4gICAgbGVmdDogaC54LFxuICAgIHRvcDogaC55LFxuICAgIGJvdHRvbTogaC55LFxuICAgIHJpZ2h0OiBoLngsXG4gIH07XG4gIHJldHVybiB0YWlsKHBvaW50cykucmVkdWNlKChhLCBwKSA9PiB7XG4gICAgYS5sZWZ0ID0gTWF0aC5taW4oYS5sZWZ0LCBwLngpO1xuICAgIGEudG9wID0gTWF0aC5tYXgoYS50b3AsIHAueSk7XG4gICAgYS5ib3R0b20gPSBNYXRoLm1pbihhLmJvdHRvbSwgcC55KTtcbiAgICBhLnJpZ2h0ID0gTWF0aC5tYXgoYS5yaWdodCwgcC54KTtcbiAgICByZXR1cm4gYTtcbiAgfSwgYXJlYSk7XG59O1xuXG5leHBvcnQgY29uc3QgbGluZVRvQXJlYSA9IChmcm9tLCB0bykgPT4ge1xuICBjb25zdCBsZWZ0ID0gTWF0aC5taW4oZnJvbS54LCB0by54KTtcbiAgY29uc3QgdG9wID0gTWF0aC5tYXgoZnJvbS55LCB0by55KTtcbiAgY29uc3QgYm90dG9tID0gTWF0aC5taW4oZnJvbS55LCB0by55KTtcbiAgY29uc3QgcmlnaHQgPSBNYXRoLm1heChmcm9tLngsIHRvLngpO1xuICByZXR1cm4geyBsZWZ0LCB0b3AsIGJvdHRvbSwgcmlnaHQgfTtcbn07XG5cbmV4cG9ydCBjb25zdCBib3VuZHMgPSAoYXJlYSwgZG9tYWluLCByYW5nZSkgPT4ge1xuICByZXR1cm4ge1xuICAgIGxlZnQ6IGRvbWFpbi5taW4gLSBhcmVhLmxlZnQsXG4gICAgcmlnaHQ6IE1hdGguYWJzKGFyZWEucmlnaHQgLSBkb21haW4ubWF4KSxcbiAgICB0b3A6IE1hdGguYWJzKGFyZWEudG9wIC0gcmFuZ2UubWF4KSxcbiAgICBib3R0b206IHJhbmdlLm1pbiAtIGFyZWEuYm90dG9tLFxuICB9O1xufTtcblxuZXhwb3J0IGNvbnN0IHBvaW50ID0gKG8pID0+IG5ldyBQb2ludChvLngsIG8ueSk7XG5leHBvcnQgY29uc3QgZ2V0RGVsdGEgPSAoZnJvbSwgdG8pID0+IHtcbiAgcmV0dXJuIHBvaW50KHRvKS5zdWIocG9pbnQoZnJvbSkpO1xufTtcblxuZXhwb3J0IGNvbnN0IGJhbmRLZXkgPSAoZCwgaW5kZXgpID0+IGAke2luZGV4fS0ke2QubGFiZWwgfHwgJy0nfWA7XG5cbmV4cG9ydCBjb25zdCBpc0RvbWFpblJhbmdlRXF1YWwgPSAoZ3JhcGhQcm9wcywgbmV4dEdyYXBoUHJvcHMpID0+IHtcbiAgcmV0dXJuIGlzRXF1YWwoZ3JhcGhQcm9wcy5kb21haW4sIG5leHRHcmFwaFByb3BzLmRvbWFpbikgJiYgaXNFcXVhbChncmFwaFByb3BzLnJhbmdlLCBuZXh0R3JhcGhQcm9wcy5yYW5nZSk7XG59O1xuXG4vLyBmaW5kTG9uZ2VzdFdvcmQgaXMgYWxzbyB1c2VkIGluIGdyYXBoaW5nXG5leHBvcnQgY29uc3QgZmluZExvbmdlc3RXb3JkID0gKGxhYmVsKSA9PiB7XG4gIGxldCBsb25nZXN0V29yZCA9IChsYWJlbCB8fCAnJylcbiAgICAucmVwbGFjZSgvPFtePl0rPi9nLCAnJylcbiAgICAuc3BsaXQoJyAnKVxuICAgIC5zb3J0KChhLCBiKSA9PiBiLmxlbmd0aCAtIGEubGVuZ3RoKTtcblxuICByZXR1cm4gbG9uZ2VzdFdvcmRbMF0ubGVuZ3RoO1xufTtcblxuLy8gYW1vdW50VG9JbmNyZWFzZVdpZHRoIGlzIGFsc28gdXNlZCBpbiBncmFwaGluZ1xuZXhwb3J0IGNvbnN0IGFtb3VudFRvSW5jcmVhc2VXaWR0aCA9IChsb25nZXN0V29yZCkgPT4ge1xuICBpZiAoIWxvbmdlc3RXb3JkKSB7XG4gICAgcmV0dXJuIDA7XG4gIH1cblxuICByZXR1cm4gbG9uZ2VzdFdvcmQgKiAyMDtcbn07XG5cbmV4cG9ydCBjb25zdCBleHRyYWN0VGV4dEZyb21IVE1MID0gKGh0bWxTdHJpbmcpID0+IHtcbiAgY29uc3QgcGFyc2VyID0gbmV3IERPTVBhcnNlcigpO1xuICBjb25zdCBkb2MgPSBwYXJzZXI/LnBhcnNlRnJvbVN0cmluZyhodG1sU3RyaW5nLCAndGV4dC9odG1sJyk7XG4gIHJldHVybiBkb2M/LmJvZHk/LnRleHRDb250ZW50IHx8ICcnO1xufTtcblxuZXhwb3J0IGNvbnN0IGlzRW1wdHlPYmplY3QgPSAob2JqKSA9PiB7XG4gIHJldHVybiBvYmogJiYgT2JqZWN0LmtleXMob2JqKS5sZW5ndGggPT09IDAgJiYgb2JqLmNvbnN0cnVjdG9yID09PSBPYmplY3Q7XG59O1xuXG5leHBvcnQgY29uc3QgaXNFbXB0eVN0cmluZyA9IChzdHIpID0+IHtcbiAgcmV0dXJuIHR5cGVvZiBzdHIgPT09ICdzdHJpbmcnICYmIHN0ci50cmltKCkgPT09ICcnO1xufTtcbiJdfQ==
232
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/utils.js"],"names":["xy","x","y","buildSizeArray","size","padding","Number","isFinite","Math","max","half","round","tickCount","min","step","abs","getInterval","domain","ticks","major","minor","Error","distance","minorTicks","normalizedMajor","isNaN","divider","raw","parseFloat","toFixed","mkRange","interval","splice","length","snapTo","value","rng","filter","v","reduce","prev","curr","currentDistance","previousDistance","buildTickModel","scaleFn","map","r","index","isMajor","polygonToArea","points","h","area","left","top","bottom","right","a","p","lineToArea","from","to","bounds","range","point","o","Point","getDelta","sub","bandKey","d","label","isDomainRangeEqual","graphProps","nextGraphProps","findLongestWord","longestWord","replace","split","sort","b","amountToIncreaseWidth","extractTextFromHTML","htmlString","parser","DOMParser","doc","parseFromString","body","textContent","isEmptyObject","obj","Object","keys","constructor","isEmptyString","str","trim"],"mappings":"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","sourcesContent":["import invariant from 'invariant';\nimport range from 'lodash/range';\nimport Point from '@mapbox/point-geometry';\nimport head from 'lodash/head';\nimport tail from 'lodash/tail';\nimport isEqual from 'lodash/isEqual';\n\nexport const xy = (x, y) => ({ x, y });\n\nexport const buildSizeArray = (size, padding) => {\n padding = Number.isFinite(padding) ? Math.max(padding, 0) : 0;\n invariant(padding < size, 'padding must be less than size');\n const half = Math.round(padding * 0.5);\n return [half, size - half];\n};\n\nexport const tickCount = (min, max, step) => {\n invariant(min < max, 'min must be less than max');\n const size = Math.abs(min - max);\n return Math.round(size / step);\n};\n\nexport function getInterval(domain, ticks) {\n const { min, max } = domain;\n const { major, minor } = ticks;\n\n if (min >= max) {\n throw new Error(`min is > max: ${min} > ${max}`);\n }\n\n const distance = max - min;\n const minorTicks = minor > 0 ? minor + 1 : 1;\n const normalizedMajor = major - 1;\n\n if (isNaN(normalizedMajor)) {\n throw new Error('Tick Frequency must be 2 or higher');\n }\n\n if (normalizedMajor <= 0) {\n throw new Error('Tick Frequency must be 2 or higher');\n }\n\n const divider = normalizedMajor * minorTicks;\n const raw = distance / divider;\n return parseFloat(Number(raw).toFixed(4));\n}\n\nconst mkRange = (min, max, interval) => {\n const raw = range(min, max, interval);\n /* Fix the last step due to rounding errors */\n raw.splice(raw.length, 1, max);\n return raw;\n};\n\nexport function snapTo(min, max, interval, value) {\n if (value >= max) {\n return max;\n }\n\n if (value <= min) {\n return min;\n }\n\n let rng = mkRange(min, max, interval);\n\n rng = rng.filter((v) => {\n return Math.abs(value - v) <= interval;\n });\n\n return (\n rng.length &&\n rng.reduce((prev, curr) => {\n const currentDistance = Math.abs(curr - value);\n const previousDistance = Math.abs(prev - value);\n return currentDistance <= previousDistance ? curr : prev;\n })\n );\n}\n\nexport function buildTickModel(domain, ticks, interval, scaleFn) {\n const rng = mkRange(domain.min, domain.max, interval);\n\n return rng.map((r, index) => {\n const isMajor = index % (ticks.minor + 1) === 0;\n\n return {\n value: r,\n major: isMajor,\n x: scaleFn(r),\n };\n });\n}\n\nexport const polygonToArea = (points) => {\n const h = head(points);\n const area = {\n left: h.x,\n top: h.y,\n bottom: h.y,\n right: h.x,\n };\n return tail(points).reduce((a, p) => {\n a.left = Math.min(a.left, p.x);\n a.top = Math.max(a.top, p.y);\n a.bottom = Math.min(a.bottom, p.y);\n a.right = Math.max(a.right, p.x);\n return a;\n }, area);\n};\n\nexport const lineToArea = (from, to) => {\n const left = Math.min(from.x, to.x);\n const top = Math.max(from.y, to.y);\n const bottom = Math.min(from.y, to.y);\n const right = Math.max(from.x, to.x);\n return { left, top, bottom, right };\n};\n\nexport const bounds = (area, domain, range) => {\n return {\n left: domain.min - area.left,\n right: Math.abs(area.right - domain.max),\n top: Math.abs(area.top - range.max),\n bottom: range.min - area.bottom,\n };\n};\n\nexport const point = (o) => new Point(o.x, o.y);\nexport const getDelta = (from, to) => {\n return point(to).sub(point(from));\n};\n\nexport const bandKey = (d, index) => `${index}-${d.label || '-'}`;\n\nexport const isDomainRangeEqual = (graphProps, nextGraphProps) => {\n return isEqual(graphProps.domain, nextGraphProps.domain) && isEqual(graphProps.range, nextGraphProps.range);\n};\n\n// findLongestWord is also used in graphing\nexport const findLongestWord = (label) => {\n let longestWord = (label || '')\n .replace(/<[^>]+>/g, '')\n .split(' ')\n .sort((a, b) => b.length - a.length);\n\n return longestWord[0].length;\n};\n\n// amountToIncreaseWidth is also used in graphing\nexport const amountToIncreaseWidth = (longestWord) => {\n if (!longestWord) {\n return 0;\n }\n\n return longestWord * 20;\n};\n\nexport const extractTextFromHTML = (htmlString) => {\n const parser = new DOMParser();\n const doc = parser?.parseFromString(htmlString, 'text/html');\n return doc?.body?.textContent || '';\n};\n\nexport const isEmptyObject = (obj) => {\n return obj && Object.keys(obj).length === 0 && obj.constructor === Object;\n};\n\nexport const isEmptyString = (str) => {\n return typeof str === 'string' && str.trim() === '';\n};\n"],"file":"utils.js"}
package/package.json CHANGED
@@ -3,7 +3,7 @@
3
3
  "publishConfig": {
4
4
  "access": "public"
5
5
  },
6
- "version": "2.9.0-beta.0",
6
+ "version": "2.10.0",
7
7
  "description": "Some underlying components for building charts/graphs",
8
8
  "keywords": [
9
9
  "react",
@@ -18,26 +18,29 @@
18
18
  "dependencies": {
19
19
  "@mapbox/point-geometry": "^0.1.0",
20
20
  "@material-ui/core": "^3.8.3",
21
+ "@pie-lib/editable-html": "beta",
22
+ "@pie-lib/render-ui": "beta",
21
23
  "@vx/axis": "^0.0.183",
22
24
  "@vx/event": "^0.0.182",
23
25
  "@vx/grid": "^0.0.183",
24
26
  "@vx/point": "^0.0.182",
25
27
  "@vx/shape": "^0.0.183",
28
+ "assert": "^1.4.1",
26
29
  "classnames": "^2.2.6",
27
30
  "d3-scale": "^2.1.2",
28
31
  "d3-selection": "^1.3.2",
29
32
  "debug": "^4.1.1",
30
33
  "invariant": "^2.2.4",
31
34
  "lodash": "^4.17.11",
35
+ "prop-types": "^15.7.2",
32
36
  "react": "^16.8.1",
33
37
  "react-draggable": "^3.1.1",
34
38
  "react-redux": "^6.0.0",
35
- "redux": "^4.0.1",
36
- "redux-undo": "beta"
39
+ "redux": "^4.0.1"
37
40
  },
38
41
  "peerDependencies": {
39
42
  "react": "^16.8.1"
40
43
  },
41
- "gitHead": "3818c24530f62b5bb9be7a2c6aa5428f13a17e0a",
44
+ "gitHead": "ecb1ca31aa1c24d23af00d5ad04ce73ed8871057",
42
45
  "scripts": {}
43
46
  }
package/src/root.jsx CHANGED
@@ -353,7 +353,6 @@ const styles = (theme) => ({
353
353
  paddingTop: '6px',
354
354
  },
355
355
  topPixelIndicator: {
356
- color: color.defaults.PRIMARY_LIGHT,
357
356
  display: 'flex',
358
357
  flexDirection: 'column',
359
358
  alignItems: 'center',
@@ -368,7 +367,6 @@ const styles = (theme) => ({
368
367
  marginRight: '6px',
369
368
  },
370
369
  sidePixelIndicator: {
371
- color: color.defaults.PRIMARY_LIGHT,
372
370
  textAlign: 'right',
373
371
  height: '20px',
374
372
  pointerEvents: 'none',
@@ -1,33 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
- var _react = _interopRequireDefault(require("react"));
6
-
7
- var _enzyme = require("enzyme");
8
-
9
- var _draggable = _interopRequireDefault(require("../draggable"));
10
-
11
- var wrapper = function wrapper() {
12
- return (0, _enzyme.shallow)( /*#__PURE__*/_react["default"].createElement(_draggable["default"], null, /*#__PURE__*/_react["default"].createElement("div", null, "hellow")), {
13
- disableLifecycleMethods: true
14
- });
15
- };
16
-
17
- describe('draggable', function () {
18
- describe('local', function () {
19
- it('resets x/y in state', function () {
20
- var w = wrapper();
21
- w.setState({
22
- x: 1,
23
- y: 1
24
- });
25
- w.instance().componentWillReceiveProps({});
26
- expect(w.state()).toMatchObject({
27
- x: 0,
28
- y: 0
29
- });
30
- });
31
- });
32
- });
33
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9fX3Rlc3RzX18vZHJhZ2dhYmxlLnRlc3QuanN4Il0sIm5hbWVzIjpbIndyYXBwZXIiLCJkaXNhYmxlTGlmZWN5Y2xlTWV0aG9kcyIsImRlc2NyaWJlIiwiaXQiLCJ3Iiwic2V0U3RhdGUiLCJ4IiwieSIsImluc3RhbmNlIiwiY29tcG9uZW50V2lsbFJlY2VpdmVQcm9wcyIsImV4cGVjdCIsInN0YXRlIiwidG9NYXRjaE9iamVjdCJdLCJtYXBwaW5ncyI6Ijs7OztBQUFBOztBQUNBOztBQUNBOztBQUVBLElBQU1BLE9BQU8sR0FBRyxTQUFWQSxPQUFVLEdBQU07QUFDcEIsU0FBTyxtQ0FDTCxnQ0FBQyxxQkFBRCxxQkFDRSxzREFERixDQURLLEVBSUw7QUFBRUMsSUFBQUEsdUJBQXVCLEVBQUU7QUFBM0IsR0FKSyxDQUFQO0FBTUQsQ0FQRDs7QUFTQUMsUUFBUSxDQUFDLFdBQUQsRUFBYyxZQUFNO0FBQzFCQSxFQUFBQSxRQUFRLENBQUMsT0FBRCxFQUFVLFlBQU07QUFDdEJDLElBQUFBLEVBQUUsQ0FBQyxxQkFBRCxFQUF3QixZQUFNO0FBQzlCLFVBQU1DLENBQUMsR0FBR0osT0FBTyxFQUFqQjtBQUNBSSxNQUFBQSxDQUFDLENBQUNDLFFBQUYsQ0FBVztBQUFFQyxRQUFBQSxDQUFDLEVBQUUsQ0FBTDtBQUFRQyxRQUFBQSxDQUFDLEVBQUU7QUFBWCxPQUFYO0FBQ0FILE1BQUFBLENBQUMsQ0FBQ0ksUUFBRixHQUFhQyx5QkFBYixDQUF1QyxFQUF2QztBQUNBQyxNQUFBQSxNQUFNLENBQUNOLENBQUMsQ0FBQ08sS0FBRixFQUFELENBQU4sQ0FBa0JDLGFBQWxCLENBQWdDO0FBQUVOLFFBQUFBLENBQUMsRUFBRSxDQUFMO0FBQVFDLFFBQUFBLENBQUMsRUFBRTtBQUFYLE9BQWhDO0FBQ0QsS0FMQyxDQUFGO0FBTUQsR0FQTyxDQUFSO0FBUUQsQ0FUTyxDQUFSIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IHNoYWxsb3cgfSBmcm9tICdlbnp5bWUnO1xuaW1wb3J0IERyYWdnYWJsZSBmcm9tICcuLi9kcmFnZ2FibGUnO1xuXG5jb25zdCB3cmFwcGVyID0gKCkgPT4ge1xuICByZXR1cm4gc2hhbGxvdyhcbiAgICA8RHJhZ2dhYmxlPlxuICAgICAgPGRpdj5oZWxsb3c8L2Rpdj5cbiAgICA8L0RyYWdnYWJsZT4sXG4gICAgeyBkaXNhYmxlTGlmZWN5Y2xlTWV0aG9kczogdHJ1ZSB9LFxuICApO1xufTtcblxuZGVzY3JpYmUoJ2RyYWdnYWJsZScsICgpID0+IHtcbiAgZGVzY3JpYmUoJ2xvY2FsJywgKCkgPT4ge1xuICAgIGl0KCdyZXNldHMgeC95IGluIHN0YXRlJywgKCkgPT4ge1xuICAgICAgY29uc3QgdyA9IHdyYXBwZXIoKTtcbiAgICAgIHcuc2V0U3RhdGUoeyB4OiAxLCB5OiAxIH0pO1xuICAgICAgdy5pbnN0YW5jZSgpLmNvbXBvbmVudFdpbGxSZWNlaXZlUHJvcHMoe30pO1xuICAgICAgZXhwZWN0KHcuc3RhdGUoKSkudG9NYXRjaE9iamVjdCh7IHg6IDAsIHk6IDAgfSk7XG4gICAgfSk7XG4gIH0pO1xufSk7XG4iXX0=