@carto/kepler.gl 0.0.65-alpha.labels.4 → 0.0.65-alpha.labels.5

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.
@@ -58,7 +58,7 @@ exports.StyledLayerConfigGroupAction = StyledLayerConfigGroupAction;
58
58
 
59
59
  var ConfigGroupCollapsibleContent = _styledComponents["default"].div.attrs({
60
60
  className: 'layer-config-group__content__collapsible'
61
- })(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n overflow: visible;\n transition: max-height 0.3s ease-out;\n height: max-content;\n max-height: 600px;\n"])));
61
+ })(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n overflow: visible;\n transition: max-height 0.3s ease-out;\n height: max-content;\n max-height: 650px;\n"])));
62
62
 
63
63
  exports.ConfigGroupCollapsibleContent = ConfigGroupCollapsibleContent;
64
64
 
@@ -68,7 +68,7 @@ var ConfigGroupCollapsibleHeader = _styledComponents["default"].div.attrs({
68
68
 
69
69
  exports.ConfigGroupCollapsibleHeader = ConfigGroupCollapsibleHeader;
70
70
 
71
- var StyledLayerConfigGroup = _styledComponents["default"].div(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2["default"])(["\n padding-left: ", "px;\n margin-bottom: ", "px;\n\n &.disabled {\n opacity: 0.3;\n pointer-events: none;\n }\n &.collapsed {\n .layer-config-group__header__collapsible {\n overflow: visible;\n max-height: 600px;\n }\n .layer-config-group__content {\n .layer-config-group__content__collapsible {\n overflow: hidden;\n max-height: 0;\n }\n }\n }\n"])), function (props) {
71
+ var StyledLayerConfigGroup = _styledComponents["default"].div(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2["default"])(["\n padding-left: ", "px;\n margin-bottom: ", "px;\n\n &.disabled {\n opacity: 0.3;\n pointer-events: none;\n }\n &.collapsed {\n .layer-config-group__header__collapsible {\n overflow: visible;\n max-height: 650px;\n }\n .layer-config-group__content {\n .layer-config-group__content__collapsible {\n overflow: hidden;\n max-height: 0;\n }\n }\n }\n"])), function (props) {
72
72
  return props.theme.layerConfigGroupPaddingLeft;
73
73
  }, function (props) {
74
74
  return props.theme.layerConfigGroupMarginBottom;
@@ -242,4 +242,4 @@ function LayerConfigGroupFactory(LayerConfigGroupLabel) {
242
242
 
243
243
  var _default = LayerConfigGroupFactory;
244
244
  exports["default"] = _default;
245
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL3NpZGUtcGFuZWwvbGF5ZXItcGFuZWwvbGF5ZXItY29uZmlnLWdyb3VwLmpzIl0sIm5hbWVzIjpbIlN0eWxlZExheWVyQ29uZmlnR3JvdXBBY3Rpb24iLCJzdHlsZWQiLCJkaXYiLCJwcm9wcyIsInRoZW1lIiwidGV4dENvbG9yIiwiQ29uZmlnR3JvdXBDb2xsYXBzaWJsZUNvbnRlbnQiLCJhdHRycyIsImNsYXNzTmFtZSIsIkNvbmZpZ0dyb3VwQ29sbGFwc2libGVIZWFkZXIiLCJTdHlsZWRMYXllckNvbmZpZ0dyb3VwIiwibGF5ZXJDb25maWdHcm91cFBhZGRpbmdMZWZ0IiwibGF5ZXJDb25maWdHcm91cE1hcmdpbkJvdHRvbSIsIlN0eWxlZENvbmZpZ0dyb3VwSGVhZGVyIiwidGV4dENvbG9ySGwiLCJDb25maWdHcm91cENvbnRlbnQiLCJTdHlsZWRMYXllckNvbmZpZ0dyb3VwU3dpdGNoIiwic3dpdGNoV2lkdGgiLCJzd2l0Y2hMYWJlbE1hcmdpbiIsIkxheWVyQ29uZmlnR3JvdXBMYWJlbEZhY3RvcnkiLCJkZXBzIiwiSW5mb0hlbHBlckZhY3RvcnkiLCJJbmZvSGVscGVyIiwiU3R5bGVkTGF5ZXJDb25maWdHcm91cExhYmVsIiwibGF5ZXJDb25maWdHcm91cExhYmVsQm9yZGVyTGVmdCIsImxhYmVsQ29sb3IiLCJsYXllckNvbmZpZ0dyb3VwTGFiZWxNYXJnaW4iLCJsYXllckNvbmZpZ0dyb3VwTGFiZWxQYWRkaW5nIiwibGF5ZXJDb25maWdHcm91cExhYmVsTGFiZWxNYXJnaW4iLCJsYXllckNvbmZpZ0dyb3VwTGFiZWxMYWJlbEZvbnRTaXplIiwiTGF5ZXJDb25maWdHcm91cExhYmVsIiwibGFiZWwiLCJkZXNjcmlwdGlvbiIsIkxheWVyQ29uZmlnR3JvdXBGYWN0b3J5IiwiTGF5ZXJDb25maWdHcm91cCIsImNvbGxhcHNlZCIsImNoaWxkcmVuIiwicHJvcGVydHkiLCJzd2l0Y2hUb29sdGlwIiwibGF5ZXIiLCJvbkNoYW5nZSIsImNvbGxhcHNpYmxlIiwiZGlzYWJsZWQiLCJDb2xsYXBzZUJ1dHRvbiIsInN0YXRlIiwiaWQiLCJjb25maWciLCJ2aXNDb25maWciLCJzZXRTdGF0ZSIsImV4cGFuZGVkIiwiQ29tcG9uZW50IiwiaGVpZ2h0Il0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBb0JBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOzs7Ozs7OztBQUVPLElBQU1BLDRCQUE0QixHQUFHQyw2QkFBT0MsR0FBVixtSkFHOUIsVUFBQUMsS0FBSztBQUFBLFNBQUlBLEtBQUssQ0FBQ0MsS0FBTixDQUFZQyxTQUFoQjtBQUFBLENBSHlCLENBQWxDOzs7O0FBTUEsSUFBTUMsNkJBQTZCLEdBQUdMLDZCQUFPQyxHQUFQLENBQVdLLEtBQVgsQ0FBaUI7QUFDNURDLEVBQUFBLFNBQVMsRUFBRTtBQURpRCxDQUFqQixDQUFILHVNQUFuQzs7OztBQVNBLElBQU1DLDRCQUE0QixHQUFHUiw2QkFBT0MsR0FBUCxDQUFXSyxLQUFYLENBQWlCO0FBQzNEQyxFQUFBQSxTQUFTLEVBQUU7QUFEZ0QsQ0FBakIsQ0FBSCx1SkFBbEM7Ozs7QUFRQSxJQUFNRSxzQkFBc0IsR0FBR1QsNkJBQU9DLEdBQVYsOGVBQ2pCLFVBQUFDLEtBQUs7QUFBQSxTQUFJQSxLQUFLLENBQUNDLEtBQU4sQ0FBWU8sMkJBQWhCO0FBQUEsQ0FEWSxFQUVoQixVQUFBUixLQUFLO0FBQUEsU0FBSUEsS0FBSyxDQUFDQyxLQUFOLENBQVlRLDRCQUFoQjtBQUFBLENBRlcsQ0FBNUI7Ozs7QUFzQlAsSUFBTUMsdUJBQXVCLEdBQUdaLDZCQUFPQyxHQUFWLHNXQVNkLFVBQUFDLEtBQUs7QUFBQSxTQUFJQSxLQUFLLENBQUNDLEtBQU4sQ0FBWVUsV0FBaEI7QUFBQSxDQVRTLEVBYWQsVUFBQVgsS0FBSztBQUFBLFNBQUlBLEtBQUssQ0FBQ0MsS0FBTixDQUFZVSxXQUFoQjtBQUFB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RDtBQUFlLFFBQUEsTUFBTSxFQUFFQTtBQUF2QixRQUFkO0FBQUE7QUFOSSxHQUY4QjtBQXNGdEQsdUNBQVNqQixnQkFBVDtBQUVBLFNBQU9BLGdCQUFQO0FBQ0Q7O2VBRWNELHVCIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQ29weXJpZ2h0IChjKSAyMDIyIFViZXIgVGVjaG5vbG9naWVzLCBJbmMuXG4vL1xuLy8gUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEgY29weVxuLy8gb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgXCJTb2Z0d2FyZVwiKSwgdG8gZGVhbFxuLy8gaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0c1xuLy8gdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbFxuLy8gY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzXG4vLyBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOlxuLy9cbi8vIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluXG4vLyBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS5cbi8vXG4vLyBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgXCJBUyBJU1wiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SXG4vLyBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSxcbi8vIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRVxuLy8gQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUlxuLy8gTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSxcbi8vIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU5cbi8vIFRIRSBTT0ZUV0FSRS5cblxuaW1wb3J0IFJlYWN0LCB7Q29tcG9uZW50fSBmcm9tICdyZWFjdCc7XG5pbXBvcnQge3BvbHlmaWxsfSBmcm9tICdyZWFjdC1saWZlY3ljbGVzLWNvbXBhdCc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ3N0eWxlZC1jb21wb25lbnRzJztcbmltcG9ydCB7VG9vbHRpcH0gZnJvbSAnY29tcG9uZW50cy9jb21tb24vc3R5bGVkLWNvbXBvbmVudHMnO1xuaW1wb3J0IGNsYXNzbmFtZXMgZnJvbSAnY2xhc3NuYW1lcyc7XG5pbXBvcnQge0Zvcm1hdHRlZE1lc3NhZ2V9IGZyb20gJ3JlYWN0LWludGwnO1xuaW1wb3J0IFN3aXRjaCBmcm9tICdjb21wb25lbnRzL2NvbW1vbi9zd2l0Y2gnO1xuaW1wb3J0IEluZm9IZWxwZXJGYWN0b3J5IGZyb20gJ2NvbXBvbmVudHMvY29tbW9uL2luZm8taGVscGVyJztcbmltcG9ydCB7VmVydFRocmVlRG90c30gZnJvbSAnY29tcG9uZW50cy9jb21tb24vaWNvbnMnO1xuXG5leHBvcnQgY29uc3QgU3R5bGVkTGF5ZXJDb25maWdHcm91cEFjdGlvbiA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnRleHRDb2xvcn07XG5gO1xuXG5leHBvcnQgY29uc3QgQ29uZmlnR3JvdXBDb2xsYXBzaWJsZUNvbnRlbnQgPSBzdHlsZWQuZGl2LmF0dHJzKHtcbiAgY2xhc3NOYW1lOiAnbGF5ZXItY29uZmlnLWdyb3VwX19jb250ZW50X19jb2xsYXBzaWJsZSdcbn0pYFxuICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgdHJhbnNpdGlvbjogbWF4LWhlaWdodCAwLjNzIGVhc2Utb3V0O1xuICBoZWlnaHQ6IG1heC1jb250ZW50O1xuICBtYXgtaGVpZ2h0OiA2MDBweDtcbmA7XG5cbmV4cG9ydCBjb25zdCBDb25maWdHcm91cENvbGxhcHNpYmxlSGVhZGVyID0gc3R5bGVkLmRpdi5hdHRycyh7XG4gIGNsYXNzTmFtZTogJ2xheWVyLWNvbmZpZy1ncm91cF9faGVhZGVyX19jb2xsYXBzaWJsZSdcbn0pYFxuICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgbWF4LWhlaWdodDogMDtcbmA7XG5cbmV4cG9ydCBjb25zdCBTdHlsZWRMYXllckNvbmZpZ0dyb3VwID0gc3R5bGVkLmRpdmBcbiAgcGFkZGluZy1sZWZ0OiAke3Byb3BzID0+IHByb3BzLnRoZW1lLmxheWVyQ29uZmlnR3JvdXBQYWRkaW5nTGVmdH1weDtcbiAgbWFyZ2luLWJvdHRvbTogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5sYXllckNvbmZpZ0dyb3VwTWFyZ2luQm90dG9tfXB4O1xuXG4gICYuZGlzYWJsZWQge1xuICAgIG9wYWNpdHk6IDAuMztcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgfVxuICAmLmNvbGxhcHNlZCB7XG4gICAgLmxheWVyLWNvbmZpZy1ncm91cF9faGVhZGVyX19jb2xsYXBzaWJsZSB7XG4gICAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICAgIG1heC1oZWlnaHQ6IDYwMHB4O1xuICAgIH1cbiAgICAubGF5ZXItY29uZmlnLWdyb3VwX19jb250ZW50IHtcbiAgICAgIC5sYXllci1jb25maWctZ3JvdXBfX2NvbnRlbnRfX2NvbGxhcHNpYmxlIHtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgbWF4LWhlaWdodDogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbmA7XG5cbmNvbnN0IFN0eWxlZENvbmZpZ0dyb3VwSGVhZGVyID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBtYXJnaW4tYm90dG9tOiAxMnB4O1xuXG4gIDpob3ZlciB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIC5sYXllci1jb25maWctZ3JvdXBfX2xhYmVsIHtcbiAgICAgIGNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnRleHRDb2xvckhsfTtcbiAgICB9XG5cbiAgICAubGF5ZXItY29uZmlnLWdyb3VwX19hY3Rpb24ge1xuICAgICAgY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUudGV4dENvbG9ySGx9O1xuICAgIH1cbiAgfVxuYDtcblxuY29uc3QgQ29uZmlnR3JvdXBDb250ZW50ID0gc3R5bGVkLmRpdmBcbiAgJi5kaXNhYmxlZCB7XG4gICAgb3BhY2l0eTogMC4zO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICoge1xuICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgfVxuICB9XG5gO1xuXG5jb25zdCBTdHlsZWRMYXllckNvbmZpZ0dyb3VwU3dpdGNoID0gc3R5bGVkLmRpdmBcbiAgd2lkdGg6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuc3dpdGNoV2lkdGh9cHg7XG4gIG1hcmdpbi1yaWdodDogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5zd2l0Y2hMYWJlbE1hcmdpbn1weDtcbmA7XG5cbkxheWVyQ29uZmlnR3JvdXBMYWJlbEZhY3RvcnkuZGVwcyA9IFtJbmZvSGVscGVyRmFjdG9yeV07XG5cbmV4cG9ydCBmdW5jdGlvbiBMYXllckNvbmZpZ0dyb3VwTGFiZWxGYWN0b3J5KEluZm9IZWxwZXIpIHtcbiAgY29uc3QgU3R5bGVkTGF5ZXJDb25maWdHcm91cExhYmVsID0gc3R5bGVkLmRpdmBcbiAgICBib3JkZXItbGVmdDogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5sYXllckNvbmZpZ0dyb3VwTGFiZWxCb3JkZXJMZWZ0fSBzb2xpZFxuICAgICAgJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5sYWJlbENvbG9yfTtcbiAgICBsaW5lLWhlaWdodDogMTJweDtcbiAgICBtYXJnaW4tbGVmdDogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5sYXllckNvbmZpZ0dyb3VwTGFiZWxNYXJnaW59O1xuICAgIHBhZGRpbmctbGVmdDogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5sYXllckNvbmZpZ0dyb3VwTGFiZWxQYWRkaW5nfTtcblxuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAgIHNwYW4ge1xuICAgICAgY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUudGV4dENvbG9yfTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICBsZXR0ZXItc3BhY2luZzogMC4ycHg7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAke3Byb3BzID0+IHByb3BzLnRoZW1lLmxheWVyQ29uZmlnR3JvdXBMYWJlbExhYmVsTWFyZ2lufTtcbiAgICAgIGZvbnQtc2l6ZTogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5sYXllckNvbmZpZ0dyb3VwTGFiZWxMYWJlbEZvbnRTaXplfTtcbiAgICB9XG4gIGA7XG5cbiAgY29uc3QgTGF5ZXJDb25maWdHcm91cExhYmVsID0gKHtsYWJlbCwgZGVzY3JpcHRpb259KSA9PiAoXG4gICAgPFN0eWxlZExheWVyQ29uZmlnR3JvdXBMYWJlbCBjbGFzc05hbWU9XCJsYXllci1jb25maWctZ3JvdXBfX2xhYmVsXCI+XG4gICAgICA8c3Bhbj5cbiAgICAgICAgPEZvcm1hdHRlZE1lc3NhZ2UgaWQ9e2xhYmVsIHx8ICdtaXNjLmVtcHR5J30gZGVmYXVsdE1lc3NhZ2U9e2xhYmVsfSAvPlxuICAgICAgPC9zcGFuPlxuICAgICAge2Rlc2NyaXB0aW9uICYmIDxJbmZvSGVscGVyIGRlc2NyaXB0aW9uPXtkZXNjcmlwdGlvbn0gaWQ9e2xhYmVsfSAvPn1cbiAgICA8L1N0eWxlZExheWVyQ29uZmlnR3JvdXBMYWJlbD5cbiAgKTtcblxuICByZXR1cm4gTGF5ZXJDb25maWdHcm91cExhYmVsO1xufVxuXG5MYXllckNvbmZpZ0dyb3VwRmFjdG9yeS5kZXBzID0gW0xheWVyQ29uZmlnR3JvdXBMYWJlbEZhY3RvcnldO1xuXG5mdW5jdGlvbiBMYXllckNvbmZpZ0dyb3VwRmFjdG9yeShMYXllckNvbmZpZ0dyb3VwTGFiZWwpIHtcbiAgY2xhc3MgTGF5ZXJDb25maWdHcm91cCBleHRlbmRzIENvbXBvbmVudCB7XG4gICAgc3RhdGljIGRlZmF1bHRQcm9wcyA9IHtcbiAgICAgIGNvbGxhcHNpYmxlOiBmYWxzZSxcbiAgICAgIGV4cGFuZGVkOiBmYWxzZSxcbiAgICAgIG9uQ2hhbmdlOiAoKSA9PiB7fSxcbiAgICAgIGRlc2NyaXB0aW9uOiBudWxsLFxuICAgICAgZGlzYWJsZWQ6IGZhbHNlLFxuICAgICAgQ29sbGFwc2VCdXR0b246ICh7aGVpZ2h0fSkgPT4gPFZlcnRUaHJlZURvdHMgaGVpZ2h0PXtoZWlnaHR9IC8+XG4gICAgfTtcblxuICAgIHN0YXRpYyBnZXREZXJpdmVkU3RhdGVGcm9tUHJvcHMocHJvcHMsIHN0YXRlKSB7XG4gICAgICAvLyAgaW52b2tlZCBhZnRlciBhIGNvbXBvbmVudCBpcyBpbnN0YW50aWF0ZWQgYXMgd2VsbCBhcyBiZWZvcmUgaXQgaXMgcmUtcmVuZGVyZWRcbiAgICAgIGlmIChwcm9wcy5leHBhbmRlZCAmJiBzdGF0ZS5jb2xsYXBzZWQpIHtcbiAgICAgICAgcmV0dXJuIHtjb2xsYXBzZWQ6IGZhbHNlfTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgc3RhdGUgPSB7XG4gICAgICBjb2xsYXBzZWQ6IHRydWVcbiAgICB9O1xuXG4gICAgcmVuZGVyKCkge1xuICAgICAgY29uc3Qge1xuICAgICAgICBsYWJlbCxcbiAgICAgICAgY2hpbGRyZW4sXG4gICAgICAgIHByb3BlcnR5LFxuICAgICAgICBzd2l0Y2hUb29sdGlwLFxuICAgICAgICBsYXllcixcbiAgICAgICAgb25DaGFuZ2UsXG4gICAgICAgIGNvbGxhcHNpYmxlLFxuICAgICAgICBkZXNjcmlwdGlvbixcbiAgICAgICAgZGlzYWJsZWQsXG4gICAgICAgIENvbGxhcHNlQnV0dG9uXG4gICAgICB9ID0gdGhpcy5wcm9wcztcblxuICAgICAgY29uc3Qge2NvbGxhcHNlZH0gPSB0aGlzLnN0YXRlO1xuXG4gICAgICByZXR1cm4gKFxuICAgICAgICA8U3R5bGVkTGF5ZXJDb25maWdHcm91cFxuICAgICAgICAgIGNsYXNzTmFtZT17Y2xhc3NuYW1lcygnbGF5ZXItY29uZmlnLWdyb3VwJywge1xuICAgICAgICAgICAgY29sbGFwc2VkOiBjb2xsYXBzZWQgfHwgZGlzYWJsZWQsXG4gICAgICAgICAgICBkaXNhYmxlZFxuICAgICAgICAgIH0pfVxuICAgICAgICA+XG4gICAgICAgICAgPFN0eWxlZENvbmZpZ0dyb3VwSGVhZGVyIGNsYXNzTmFtZT1cImxheWVyLWNvbmZpZy1ncm91cF9faGVhZGVyXCI+XG4gICAgICAgICAgICA8TGF5ZXJDb25maWdHcm91cExhYmVsIGxhYmVsPXtsYWJlbH0gZGVzY3JpcHRpb249e2Rlc2NyaXB0aW9ufSAvPlxuICAgICAgICAgICAgPFN0eWxlZExheWVyQ29uZmlnR3JvdXBBY3Rpb24gY2xhc3NOYW1lPVwibGF5ZXItY29uZmlnLWdyb3VwX19hY3Rpb25cIj5cbiAgICAgICAgICAgICAge3Byb3BlcnR5ID8gKFxuICAgICAgICAgICAgICAgIDxTdHlsZWRMYXllckNvbmZpZ0dyb3VwU3dpdGNoIGRhdGEtdGlwIGRhdGEtZm9yPXtgJHtsYXllci5pZH0tJHtsYWJlbH0tdG9vbHRpcGB9PlxuICAgICAgICAgICAgICAgICAgPFN3aXRjaFxuICAgICAgICAgICAgICAgICAgICBjaGVja2VkPXtsYXllci5jb25maWcudmlzQ29uZmlnW3Byb3BlcnR5XX1cbiAgICAgICAgICAgICAgICAgICAgaWQ9e2Ake2xheWVyLmlkfS0ke3Byb3BlcnR5fWB9XG4gICAgICAgICAgICAgICAgICAgIGRpc2FibGVkPXtkaXNhYmxlZH1cbiAgICAgICAgICAgICAgICAgICAgb25DaGFuZ2U9eygpID0+IG9uQ2hhbmdlKHtbcHJvcGVydHldOiAhbGF5ZXIuY29uZmlnLnZpc0NvbmZpZ1twcm9wZXJ0eV19KX1cbiAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICB7c3dpdGNoVG9vbHRpcCA/IChcbiAgICAgICAgICAgICAgICAgICAgPFRvb2x0aXAgaWQ9e2Ake2xheWVyLmlkfS0ke2xhYmVsfS10b29sdGlwYH0gZWZmZWN0PVwic29saWRcIiBwbGFjZT1cInRvcFwiPlxuICAgICAgICAgICAgICAgICAgICAgIHtzd2l0Y2hUb29sdGlwfVxuICAgICAgICAgICAgICAgICAgICA8L1Rvb2x0aXA+XG4gICAgICAgICAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgICAgICAgICA8L1N0eWxlZExheWVyQ29uZmlnR3JvdXBTd2l0Y2g+XG4gICAgICAgICAgICAgICkgOiBudWxsfVxuICAgICAgICAgICAgICB7Y29sbGFwc2libGUgPyAoXG4gICAgICAgICAgICAgICAgPENvbGxhcHNlQnV0dG9uXG4gICAgICAgICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiB0aGlzLnNldFN0YXRlKHtjb2xsYXBzZWQ6ICF0aGlzLnN0YXRlLmNvbGxhcHNlZH0pfVxuICAgICAgICAgICAgICAgICAgYWN0aXZlPXshdGhpcy5zdGF0ZS5jb2xsYXBzZWR9XG4gICAgICAgICAgICAgICAgICBoZWlnaHQ9XCIxOHB4XCJcbiAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgICAgIDwvU3R5bGVkTGF5ZXJDb25maWdHcm91cEFjdGlvbj5cbiAgICAgICAgICA8L1N0eWxlZENvbmZpZ0dyb3VwSGVhZGVyPlxuICAgICAgICAgIDxDb25maWdHcm91cENvbnRlbnRcbiAgICAgICAgICAgIGNsYXNzTmFtZT17Y2xhc3NuYW1lcygnbGF5ZXItY29uZmlnLWdyb3VwX19jb250ZW50Jywge1xuICAgICAgICAgICAgICBkaXNhYmxlZDogKHByb3BlcnR5ICYmICFsYXllci5jb25maWcudmlzQ29uZmlnW3Byb3BlcnR5XSkgfHwgZGlzYWJsZWRcbiAgICAgICAgICAgIH0pfVxuICAgICAgICAgID5cbiAgICAgICAgICAgIHtjaGlsZHJlbn1cbiAgICAgICAgICA8L0NvbmZpZ0dyb3VwQ29udGVudD5cbiAgICAgICAgPC9TdHlsZWRMYXllckNvbmZpZ0dyb3VwPlxuICAgICAgKTtcbiAgICB9XG4gIH1cblxuICBwb2x5ZmlsbChMYXllckNvbmZpZ0dyb3VwKTtcblxuICByZXR1cm4gTGF5ZXJDb25maWdHcm91cDtcbn1cblxuZXhwb3J0IGRlZmF1bHQgTGF5ZXJDb25maWdHcm91cEZhY3Rvcnk7XG4iXX0=
245
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL3NpZGUtcGFuZWwvbGF5ZXItcGFuZWwvbGF5ZXItY29uZmlnLWdyb3VwLmpzIl0sIm5hbWVzIjpbIlN0eWxlZExheWVyQ29uZmlnR3JvdXBBY3Rpb24iLCJzdHlsZWQiLCJkaXYiLCJwcm9wcyIsInRoZW1lIiwidGV4dENvbG9yIiwiQ29uZmlnR3JvdXBDb2xsYXBzaWJsZUNvbnRlbnQiLCJhdHRycyIsImNsYXNzTmFtZSIsIkNvbmZpZ0dyb3VwQ29sbGFwc2libGVIZWFkZXIiLCJTdHlsZWRMYXllckNvbmZpZ0dyb3VwIiwibGF5ZXJDb25maWdHcm91cFBhZGRpbmdMZWZ0IiwibGF5ZXJDb25maWdHcm91cE1hcmdpbkJvdHRvbSIsIlN0eWxlZENvbmZpZ0dyb3VwSGVhZGVyIiwidGV4dENvbG9ySGwiLCJDb25maWdHcm91cENvbnRlbnQiLCJTdHlsZWRMYXllckNvbmZpZ0dyb3VwU3dpdGNoIiwic3dpdGNoV2lkdGgiLCJzd2l0Y2hMYWJlbE1hcmdpbiIsIkxheWVyQ29uZmlnR3JvdXBMYWJlbEZhY3RvcnkiLCJkZXBzIiwiSW5mb0hlbHBlckZhY3RvcnkiLCJJbmZvSGVscGVyIiwiU3R5bGVkTGF5ZXJDb25maWdHcm91cExhYmVsIiwibGF5ZXJDb25maWdHcm91cExhYmVsQm9yZGVyTGVmdCIsImxhYmVsQ29sb3IiLCJsYXllckNvbmZpZ0dyb3VwTGFiZWxNYXJnaW4iLCJsYXllckNvbmZpZ0dyb3VwTGFiZWxQYWRkaW5nIiwibGF5ZXJDb25maWdHcm91cExhYmVsTGFiZWxNYXJnaW4iLCJsYXllckNvbmZpZ0dyb3VwTGFiZWxMYWJlbEZvbnRTaXplIiwiTGF5ZXJDb25maWdHcm91cExhYmVsIiwibGFiZWwiLCJkZXNjcmlwdGlvbiIsIkxheWVyQ29uZmlnR3JvdXBGYWN0b3J5IiwiTGF5ZXJDb25maWdHcm91cCIsImNvbGxhcHNlZCIsImNoaWxkcmVuIiwicHJvcGVydHkiLCJzd2l0Y2hUb29sdGlwIiwibGF5ZXIiLCJvbkNoYW5nZSIsImNvbGxhcHNpYmxlIiwiZGlzYWJsZWQiLCJDb2xsYXBzZUJ1dHRvbiIsInN0YXRlIiwiaWQiLCJjb25maWciLCJ2aXNDb25maWciLCJzZXRTdGF0ZSIsImV4cGFuZGVkIiwiQ29tcG9uZW50IiwiaGVpZ2h0Il0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBb0JBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOzs7Ozs7OztBQUVPLElBQU1BLDRCQUE0QixHQUFHQyw2QkFBT0MsR0FBVixtSkFHOUIsVUFBQUMsS0FBSztBQUFBLFNBQUlBLEtBQUssQ0FBQ0MsS0FBTixDQUFZQyxTQUFoQjtBQUFBLENBSHlCLENBQWxDOzs7O0FBTUEsSUFBTUMsNkJBQTZCLEdBQUdMLDZCQUFPQyxHQUFQLENBQVdLLEtBQVgsQ0FBaUI7QUFDNURDLEVBQUFBLFNBQVMsRUFBRTtBQURpRCxDQUFqQixDQUFILHVNQUFuQzs7OztBQVNBLElBQU1DLDRCQUE0QixHQUFHUiw2QkFBT0MsR0FBUCxDQUFXSyxLQUFYLENBQWlCO0FBQzNEQyxFQUFBQSxTQUFTLEVBQUU7QUFEZ0QsQ0FBakIsQ0FBSCx1SkFBbEM7Ozs7QUFRQSxJQUFNRSxzQkFBc0IsR0FBR1QsNkJBQU9DLEdBQVYsOGVBQ2pCLFVBQUFDLEtBQUs7QUFBQSxTQUFJQSxLQUFLLENBQUNDLEtBQU4sQ0FBWU8sMkJBQWhCO0FBQUEsQ0FEWSxFQUVoQixVQUFBUixLQUFLO0FBQUEsU0FBSUEsS0FBSyxDQUFDQyxLQUFOLENBQVlRLDRCQUFoQjtBQUFBLENBRlcsQ0FBNUI7Ozs7QUFzQlAsSUFBTUMsdUJBQXVCLEdBQUdaLDZCQUFPQyxHQUFWLHNXQVNkLFVBQUFDLEtBQUs7QUFBQSxTQUFJQSxLQUFLLENBQUNDLEtBQU4sQ0FBWVUsV0FBaEI7QUFBQSxDQVRTLEVBYWQsVUFBQVgsS0FBSztBQUFBLFNBQUlBLEtBQUssQ0FBQ0MsS0FBTixDQUFZVSxXQUFoQjtBQUFB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RDtBQUFlLFFBQUEsTUFBTSxFQUFFQTtBQUF2QixRQUFkO0FBQUE7QUFOSSxHQUY4QjtBQXNGdEQsdUNBQVNqQixnQkFBVDtBQUVBLFNBQU9BLGdCQUFQO0FBQ0Q7O2VBRWNELHVCIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQ29weXJpZ2h0IChjKSAyMDIyIFViZXIgVGVjaG5vbG9naWVzLCBJbmMuXG4vL1xuLy8gUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEgY29weVxuLy8gb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgXCJTb2Z0d2FyZVwiKSwgdG8gZGVhbFxuLy8gaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0c1xuLy8gdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbFxuLy8gY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzXG4vLyBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOlxuLy9cbi8vIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluXG4vLyBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS5cbi8vXG4vLyBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgXCJBUyBJU1wiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SXG4vLyBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSxcbi8vIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRVxuLy8gQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUlxuLy8gTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSxcbi8vIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU5cbi8vIFRIRSBTT0ZUV0FSRS5cblxuaW1wb3J0IFJlYWN0LCB7Q29tcG9uZW50fSBmcm9tICdyZWFjdCc7XG5pbXBvcnQge3BvbHlmaWxsfSBmcm9tICdyZWFjdC1saWZlY3ljbGVzLWNvbXBhdCc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ3N0eWxlZC1jb21wb25lbnRzJztcbmltcG9ydCB7VG9vbHRpcH0gZnJvbSAnY29tcG9uZW50cy9jb21tb24vc3R5bGVkLWNvbXBvbmVudHMnO1xuaW1wb3J0IGNsYXNzbmFtZXMgZnJvbSAnY2xhc3NuYW1lcyc7XG5pbXBvcnQge0Zvcm1hdHRlZE1lc3NhZ2V9IGZyb20gJ3JlYWN0LWludGwnO1xuaW1wb3J0IFN3aXRjaCBmcm9tICdjb21wb25lbnRzL2NvbW1vbi9zd2l0Y2gnO1xuaW1wb3J0IEluZm9IZWxwZXJGYWN0b3J5IGZyb20gJ2NvbXBvbmVudHMvY29tbW9uL2luZm8taGVscGVyJztcbmltcG9ydCB7VmVydFRocmVlRG90c30gZnJvbSAnY29tcG9uZW50cy9jb21tb24vaWNvbnMnO1xuXG5leHBvcnQgY29uc3QgU3R5bGVkTGF5ZXJDb25maWdHcm91cEFjdGlvbiA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnRleHRDb2xvcn07XG5gO1xuXG5leHBvcnQgY29uc3QgQ29uZmlnR3JvdXBDb2xsYXBzaWJsZUNvbnRlbnQgPSBzdHlsZWQuZGl2LmF0dHJzKHtcbiAgY2xhc3NOYW1lOiAnbGF5ZXItY29uZmlnLWdyb3VwX19jb250ZW50X19jb2xsYXBzaWJsZSdcbn0pYFxuICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgdHJhbnNpdGlvbjogbWF4LWhlaWdodCAwLjNzIGVhc2Utb3V0O1xuICBoZWlnaHQ6IG1heC1jb250ZW50O1xuICBtYXgtaGVpZ2h0OiA2NTBweDtcbmA7XG5cbmV4cG9ydCBjb25zdCBDb25maWdHcm91cENvbGxhcHNpYmxlSGVhZGVyID0gc3R5bGVkLmRpdi5hdHRycyh7XG4gIGNsYXNzTmFtZTogJ2xheWVyLWNvbmZpZy1ncm91cF9faGVhZGVyX19jb2xsYXBzaWJsZSdcbn0pYFxuICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgbWF4LWhlaWdodDogMDtcbmA7XG5cbmV4cG9ydCBjb25zdCBTdHlsZWRMYXllckNvbmZpZ0dyb3VwID0gc3R5bGVkLmRpdmBcbiAgcGFkZGluZy1sZWZ0OiAke3Byb3BzID0+IHByb3BzLnRoZW1lLmxheWVyQ29uZmlnR3JvdXBQYWRkaW5nTGVmdH1weDtcbiAgbWFyZ2luLWJvdHRvbTogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5sYXllckNvbmZpZ0dyb3VwTWFyZ2luQm90dG9tfXB4O1xuXG4gICYuZGlzYWJsZWQge1xuICAgIG9wYWNpdHk6IDAuMztcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgfVxuICAmLmNvbGxhcHNlZCB7XG4gICAgLmxheWVyLWNvbmZpZy1ncm91cF9faGVhZGVyX19jb2xsYXBzaWJsZSB7XG4gICAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICAgIG1heC1oZWlnaHQ6IDY1MHB4O1xuICAgIH1cbiAgICAubGF5ZXItY29uZmlnLWdyb3VwX19jb250ZW50IHtcbiAgICAgIC5sYXllci1jb25maWctZ3JvdXBfX2NvbnRlbnRfX2NvbGxhcHNpYmxlIHtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgbWF4LWhlaWdodDogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbmA7XG5cbmNvbnN0IFN0eWxlZENvbmZpZ0dyb3VwSGVhZGVyID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBtYXJnaW4tYm90dG9tOiAxMnB4O1xuXG4gIDpob3ZlciB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIC5sYXllci1jb25maWctZ3JvdXBfX2xhYmVsIHtcbiAgICAgIGNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnRleHRDb2xvckhsfTtcbiAgICB9XG5cbiAgICAubGF5ZXItY29uZmlnLWdyb3VwX19hY3Rpb24ge1xuICAgICAgY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUudGV4dENvbG9ySGx9O1xuICAgIH1cbiAgfVxuYDtcblxuY29uc3QgQ29uZmlnR3JvdXBDb250ZW50ID0gc3R5bGVkLmRpdmBcbiAgJi5kaXNhYmxlZCB7XG4gICAgb3BhY2l0eTogMC4zO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICoge1xuICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgfVxuICB9XG5gO1xuXG5jb25zdCBTdHlsZWRMYXllckNvbmZpZ0dyb3VwU3dpdGNoID0gc3R5bGVkLmRpdmBcbiAgd2lkdGg6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuc3dpdGNoV2lkdGh9cHg7XG4gIG1hcmdpbi1yaWdodDogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5zd2l0Y2hMYWJlbE1hcmdpbn1weDtcbmA7XG5cbkxheWVyQ29uZmlnR3JvdXBMYWJlbEZhY3RvcnkuZGVwcyA9IFtJbmZvSGVscGVyRmFjdG9yeV07XG5cbmV4cG9ydCBmdW5jdGlvbiBMYXllckNvbmZpZ0dyb3VwTGFiZWxGYWN0b3J5KEluZm9IZWxwZXIpIHtcbiAgY29uc3QgU3R5bGVkTGF5ZXJDb25maWdHcm91cExhYmVsID0gc3R5bGVkLmRpdmBcbiAgICBib3JkZXItbGVmdDogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5sYXllckNvbmZpZ0dyb3VwTGFiZWxCb3JkZXJMZWZ0fSBzb2xpZFxuICAgICAgJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5sYWJlbENvbG9yfTtcbiAgICBsaW5lLWhlaWdodDogMTJweDtcbiAgICBtYXJnaW4tbGVmdDogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5sYXllckNvbmZpZ0dyb3VwTGFiZWxNYXJnaW59O1xuICAgIHBhZGRpbmctbGVmdDogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5sYXllckNvbmZpZ0dyb3VwTGFiZWxQYWRkaW5nfTtcblxuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAgIHNwYW4ge1xuICAgICAgY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUudGV4dENvbG9yfTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICBsZXR0ZXItc3BhY2luZzogMC4ycHg7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAke3Byb3BzID0+IHByb3BzLnRoZW1lLmxheWVyQ29uZmlnR3JvdXBMYWJlbExhYmVsTWFyZ2lufTtcbiAgICAgIGZvbnQtc2l6ZTogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5sYXllckNvbmZpZ0dyb3VwTGFiZWxMYWJlbEZvbnRTaXplfTtcbiAgICB9XG4gIGA7XG5cbiAgY29uc3QgTGF5ZXJDb25maWdHcm91cExhYmVsID0gKHtsYWJlbCwgZGVzY3JpcHRpb259KSA9PiAoXG4gICAgPFN0eWxlZExheWVyQ29uZmlnR3JvdXBMYWJlbCBjbGFzc05hbWU9XCJsYXllci1jb25maWctZ3JvdXBfX2xhYmVsXCI+XG4gICAgICA8c3Bhbj5cbiAgICAgICAgPEZvcm1hdHRlZE1lc3NhZ2UgaWQ9e2xhYmVsIHx8ICdtaXNjLmVtcHR5J30gZGVmYXVsdE1lc3NhZ2U9e2xhYmVsfSAvPlxuICAgICAgPC9zcGFuPlxuICAgICAge2Rlc2NyaXB0aW9uICYmIDxJbmZvSGVscGVyIGRlc2NyaXB0aW9uPXtkZXNjcmlwdGlvbn0gaWQ9e2xhYmVsfSAvPn1cbiAgICA8L1N0eWxlZExheWVyQ29uZmlnR3JvdXBMYWJlbD5cbiAgKTtcblxuICByZXR1cm4gTGF5ZXJDb25maWdHcm91cExhYmVsO1xufVxuXG5MYXllckNvbmZpZ0dyb3VwRmFjdG9yeS5kZXBzID0gW0xheWVyQ29uZmlnR3JvdXBMYWJlbEZhY3RvcnldO1xuXG5mdW5jdGlvbiBMYXllckNvbmZpZ0dyb3VwRmFjdG9yeShMYXllckNvbmZpZ0dyb3VwTGFiZWwpIHtcbiAgY2xhc3MgTGF5ZXJDb25maWdHcm91cCBleHRlbmRzIENvbXBvbmVudCB7XG4gICAgc3RhdGljIGRlZmF1bHRQcm9wcyA9IHtcbiAgICAgIGNvbGxhcHNpYmxlOiBmYWxzZSxcbiAgICAgIGV4cGFuZGVkOiBmYWxzZSxcbiAgICAgIG9uQ2hhbmdlOiAoKSA9PiB7fSxcbiAgICAgIGRlc2NyaXB0aW9uOiBudWxsLFxuICAgICAgZGlzYWJsZWQ6IGZhbHNlLFxuICAgICAgQ29sbGFwc2VCdXR0b246ICh7aGVpZ2h0fSkgPT4gPFZlcnRUaHJlZURvdHMgaGVpZ2h0PXtoZWlnaHR9IC8+XG4gICAgfTtcblxuICAgIHN0YXRpYyBnZXREZXJpdmVkU3RhdGVGcm9tUHJvcHMocHJvcHMsIHN0YXRlKSB7XG4gICAgICAvLyAgaW52b2tlZCBhZnRlciBhIGNvbXBvbmVudCBpcyBpbnN0YW50aWF0ZWQgYXMgd2VsbCBhcyBiZWZvcmUgaXQgaXMgcmUtcmVuZGVyZWRcbiAgICAgIGlmIChwcm9wcy5leHBhbmRlZCAmJiBzdGF0ZS5jb2xsYXBzZWQpIHtcbiAgICAgICAgcmV0dXJuIHtjb2xsYXBzZWQ6IGZhbHNlfTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgc3RhdGUgPSB7XG4gICAgICBjb2xsYXBzZWQ6IHRydWVcbiAgICB9O1xuXG4gICAgcmVuZGVyKCkge1xuICAgICAgY29uc3Qge1xuICAgICAgICBsYWJlbCxcbiAgICAgICAgY2hpbGRyZW4sXG4gICAgICAgIHByb3BlcnR5LFxuICAgICAgICBzd2l0Y2hUb29sdGlwLFxuICAgICAgICBsYXllcixcbiAgICAgICAgb25DaGFuZ2UsXG4gICAgICAgIGNvbGxhcHNpYmxlLFxuICAgICAgICBkZXNjcmlwdGlvbixcbiAgICAgICAgZGlzYWJsZWQsXG4gICAgICAgIENvbGxhcHNlQnV0dG9uXG4gICAgICB9ID0gdGhpcy5wcm9wcztcblxuICAgICAgY29uc3Qge2NvbGxhcHNlZH0gPSB0aGlzLnN0YXRlO1xuXG4gICAgICByZXR1cm4gKFxuICAgICAgICA8U3R5bGVkTGF5ZXJDb25maWdHcm91cFxuICAgICAgICAgIGNsYXNzTmFtZT17Y2xhc3NuYW1lcygnbGF5ZXItY29uZmlnLWdyb3VwJywge1xuICAgICAgICAgICAgY29sbGFwc2VkOiBjb2xsYXBzZWQgfHwgZGlzYWJsZWQsXG4gICAgICAgICAgICBkaXNhYmxlZFxuICAgICAgICAgIH0pfVxuICAgICAgICA+XG4gICAgICAgICAgPFN0eWxlZENvbmZpZ0dyb3VwSGVhZGVyIGNsYXNzTmFtZT1cImxheWVyLWNvbmZpZy1ncm91cF9faGVhZGVyXCI+XG4gICAgICAgICAgICA8TGF5ZXJDb25maWdHcm91cExhYmVsIGxhYmVsPXtsYWJlbH0gZGVzY3JpcHRpb249e2Rlc2NyaXB0aW9ufSAvPlxuICAgICAgICAgICAgPFN0eWxlZExheWVyQ29uZmlnR3JvdXBBY3Rpb24gY2xhc3NOYW1lPVwibGF5ZXItY29uZmlnLWdyb3VwX19hY3Rpb25cIj5cbiAgICAgICAgICAgICAge3Byb3BlcnR5ID8gKFxuICAgICAgICAgICAgICAgIDxTdHlsZWRMYXllckNvbmZpZ0dyb3VwU3dpdGNoIGRhdGEtdGlwIGRhdGEtZm9yPXtgJHtsYXllci5pZH0tJHtsYWJlbH0tdG9vbHRpcGB9PlxuICAgICAgICAgICAgICAgICAgPFN3aXRjaFxuICAgICAgICAgICAgICAgICAgICBjaGVja2VkPXtsYXllci5jb25maWcudmlzQ29uZmlnW3Byb3BlcnR5XX1cbiAgICAgICAgICAgICAgICAgICAgaWQ9e2Ake2xheWVyLmlkfS0ke3Byb3BlcnR5fWB9XG4gICAgICAgICAgICAgICAgICAgIGRpc2FibGVkPXtkaXNhYmxlZH1cbiAgICAgICAgICAgICAgICAgICAgb25DaGFuZ2U9eygpID0+IG9uQ2hhbmdlKHtbcHJvcGVydHldOiAhbGF5ZXIuY29uZmlnLnZpc0NvbmZpZ1twcm9wZXJ0eV19KX1cbiAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICB7c3dpdGNoVG9vbHRpcCA/IChcbiAgICAgICAgICAgICAgICAgICAgPFRvb2x0aXAgaWQ9e2Ake2xheWVyLmlkfS0ke2xhYmVsfS10b29sdGlwYH0gZWZmZWN0PVwic29saWRcIiBwbGFjZT1cInRvcFwiPlxuICAgICAgICAgICAgICAgICAgICAgIHtzd2l0Y2hUb29sdGlwfVxuICAgICAgICAgICAgICAgICAgICA8L1Rvb2x0aXA+XG4gICAgICAgICAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgICAgICAgICA8L1N0eWxlZExheWVyQ29uZmlnR3JvdXBTd2l0Y2g+XG4gICAgICAgICAgICAgICkgOiBudWxsfVxuICAgICAgICAgICAgICB7Y29sbGFwc2libGUgPyAoXG4gICAgICAgICAgICAgICAgPENvbGxhcHNlQnV0dG9uXG4gICAgICAgICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiB0aGlzLnNldFN0YXRlKHtjb2xsYXBzZWQ6ICF0aGlzLnN0YXRlLmNvbGxhcHNlZH0pfVxuICAgICAgICAgICAgICAgICAgYWN0aXZlPXshdGhpcy5zdGF0ZS5jb2xsYXBzZWR9XG4gICAgICAgICAgICAgICAgICBoZWlnaHQ9XCIxOHB4XCJcbiAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgICAgIDwvU3R5bGVkTGF5ZXJDb25maWdHcm91cEFjdGlvbj5cbiAgICAgICAgICA8L1N0eWxlZENvbmZpZ0dyb3VwSGVhZGVyPlxuICAgICAgICAgIDxDb25maWdHcm91cENvbnRlbnRcbiAgICAgICAgICAgIGNsYXNzTmFtZT17Y2xhc3NuYW1lcygnbGF5ZXItY29uZmlnLWdyb3VwX19jb250ZW50Jywge1xuICAgICAgICAgICAgICBkaXNhYmxlZDogKHByb3BlcnR5ICYmICFsYXllci5jb25maWcudmlzQ29uZmlnW3Byb3BlcnR5XSkgfHwgZGlzYWJsZWRcbiAgICAgICAgICAgIH0pfVxuICAgICAgICAgID5cbiAgICAgICAgICAgIHtjaGlsZHJlbn1cbiAgICAgICAgICA8L0NvbmZpZ0dyb3VwQ29udGVudD5cbiAgICAgICAgPC9TdHlsZWRMYXllckNvbmZpZ0dyb3VwPlxuICAgICAgKTtcbiAgICB9XG4gIH1cblxuICBwb2x5ZmlsbChMYXllckNvbmZpZ0dyb3VwKTtcblxuICByZXR1cm4gTGF5ZXJDb25maWdHcm91cDtcbn1cblxuZXhwb3J0IGRlZmF1bHQgTGF5ZXJDb25maWdHcm91cEZhY3Rvcnk7XG4iXX0=
@@ -134,7 +134,7 @@ var KEPLER_GL_NAME = 'kepler.gl'; // __PACKAGE_VERSION__ is automatically inject
134
134
  // an empty string which will allow us to retrieve the latest umd version
135
135
 
136
136
  exports.KEPLER_GL_NAME = KEPLER_GL_NAME;
137
- var KEPLER_GL_VERSION = "0.0.65-alpha.labels.4";
137
+ var KEPLER_GL_VERSION = "0.0.65-alpha.labels.5";
138
138
  exports.KEPLER_GL_VERSION = KEPLER_GL_VERSION;
139
139
  var KEPLER_GL_WEBSITE = 'http://kepler.gl/';
140
140
  exports.KEPLER_GL_WEBSITE = KEPLER_GL_WEBSITE;
@@ -7,6 +7,8 @@ Object.defineProperty(exports, "__esModule", {
7
7
  });
8
8
  exports.PointLabelLayer = void 0;
9
9
 
10
+ var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
11
+
10
12
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
11
13
 
12
14
  var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
@@ -102,15 +104,25 @@ var PointLabelLayer = /*#__PURE__*/function (_CompositeLayer) {
102
104
  anchor = _this$props.getTextAnchor,
103
105
  alignment = _this$props.getAlignmentBaseline,
104
106
  getRadius = _this$props.getRadius,
107
+ getSecondaryText = _this$props.getSecondaryText,
105
108
  radiusScale = _this$props.radiusScale,
109
+ secondarySizeScale = _this$props.secondarySizeScale,
106
110
  sizeScale = _this$props.sizeScale;
107
111
  var xMult = anchor === 'middle' ? 0 : anchor === 'start' ? 1 : -1;
108
- var yMult = alignment === 'center' ? 0 : alignment === 'bottom' ? 1 : -1; // Place secondary label under main label (spacing 1 / 3 main label font size)
109
-
110
- var yOffset = secondary ? (1 + 1 / 3) * sizeScale : 0; // Padding based on font size (font size / 4)
112
+ var yMult = alignment === 'center' ? 0 : alignment === 'bottom' ? 1 : -1; // Padding based on font size (font size / 4)
111
113
 
112
114
  var xPadding = sizeScale / 4;
113
- var yPadding = sizeScale + 1 / 4; // Padding based on point radius (radius/ 4)
115
+ var yPadding = sizeScale + 1 / 4; // Place secondary label under main label (spacing 1 / 3 main label font size)
116
+
117
+ var secondaryOffset = 1 / 3 * sizeScale - 0.6 * (yMult - 1) * yPadding;
118
+ var yOffset = secondary ? secondaryOffset : 0; // Special case, position relative to secondary label
119
+
120
+ if (anchor === 'middle' && alignment === 'top' && getSecondaryText) {
121
+ yOffset -= secondaryOffset;
122
+ yOffset -= secondarySizeScale;
123
+ yOffset += sizeScale;
124
+ } // Padding based on point radius (radius/ 4)
125
+
114
126
 
115
127
  var radiusPadding = 1 + 1 / 4;
116
128
  return typeof getRadius === 'function' ? function (d) {
@@ -158,15 +170,19 @@ var PointLabelLayer = /*#__PURE__*/function (_CompositeLayer) {
158
170
  }
159
171
  }, {
160
172
  key: "renderTextLayer",
161
- value: function renderTextLayer(id, props) {
173
+ value: function renderTextLayer(id, _ref2) {
174
+ var updateTriggersOverride = _ref2.updateTriggers,
175
+ props = (0, _objectWithoutProperties2["default"])(_ref2, ["updateTriggers"]);
162
176
  var _this$props3 = this.props,
163
177
  data = _this$props3.data,
178
+ characterSet = _this$props3.characterSet,
164
179
  fontFamily = _this$props3.fontFamily,
165
180
  fontSettings = _this$props3.fontSettings,
166
181
  fontWeight = _this$props3.fontWeight,
167
182
  outlineColor = _this$props3.outlineColor,
168
183
  outlineWidth = _this$props3.outlineWidth,
169
184
  sizeScale = _this$props3.sizeScale,
185
+ radiusScale = _this$props3.radiusScale,
170
186
  getAlignmentBaseline = _this$props3.getAlignmentBaseline,
171
187
  getColor = _this$props3.getColor,
172
188
  getPosition = _this$props3.getPosition,
@@ -175,6 +191,7 @@ var PointLabelLayer = /*#__PURE__*/function (_CompositeLayer) {
175
191
  return new EnhancedTextLayer(this.getSubLayerProps({
176
192
  id: id,
177
193
  data: data,
194
+ characterSet: characterSet,
178
195
  fontFamily: fontFamily,
179
196
  fontSettings: fontSettings,
180
197
  fontWeight: fontWeight,
@@ -185,7 +202,9 @@ var PointLabelLayer = /*#__PURE__*/function (_CompositeLayer) {
185
202
  getColor: getColor,
186
203
  getPosition: getPosition,
187
204
  getTextAnchor: getTextAnchor,
188
- updateTriggers: updateTriggers
205
+ updateTriggers: _objectSpread(_objectSpread(_objectSpread({}, updateTriggers), updateTriggersOverride), {}, {
206
+ getPixelOffset: [updateTriggers.getRadius, updateTriggers.getTextAnchor, updateTriggers.getAlignmentBaseline, radiusScale, sizeScale]
207
+ })
189
208
  }), {
190
209
  getSize: 1
191
210
  }, // DEBUG
@@ -216,6 +235,7 @@ var PointLabelLayer = /*#__PURE__*/function (_CompositeLayer) {
216
235
  }), getSecondaryText && this.renderTextLayer('secondary', _objectSpread(_objectSpread(_objectSpread({
217
236
  getText: getSecondaryText,
218
237
  getPixelOffset: this.calculatePixelOffset(true),
238
+ getAlignmentBaseline: 'top',
219
239
  updateTriggers: {
220
240
  getText: updateTriggers.getSecondaryText
221
241
  }
@@ -234,4 +254,4 @@ var PointLabelLayer = /*#__PURE__*/function (_CompositeLayer) {
234
254
 
235
255
  exports.PointLabelLayer = PointLabelLayer;
236
256
  (0, _defineProperty2["default"])(PointLabelLayer, "defaultProps", defaultProps);
237
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9kZWNrZ2wtbGF5ZXJzL3BvaW50LWxhYmVsLWxheWVyL3BvaW50LWxhYmVsLWxheWVyLmpzIl0sIm5hbWVzIjpbIlNIT1dfVEVYVF9CT1JERVIiLCJMRUZUIiwiVE9QIiwiUklHSFQiLCJCT1RUT00iLCJFbmhhbmNlZFRleHRMYXllciIsImxheWVyIiwicmVuZGVyUGFzcyIsImJhY2tncm91bmQiLCJpZCIsImluY2x1ZGVzIiwicHJvcHMiLCJnZXRCb3JkZXJXaWR0aCIsIlRleHRMYXllciIsImRlZmF1bHRQcm9wcyIsImZvbnRTZXR0aW5ncyIsInR5cGUiLCJ2YWx1ZSIsIm9wdGlvbmFsIiwiY29tcGFyZSIsImdldFJhZGl1cyIsInJhZGl1c1NjYWxlIiwibWluIiwiUG9pbnRMYWJlbExheWVyIiwic2Vjb25kYXJ5IiwiYW5jaG9yIiwiZ2V0VGV4dEFuY2hvciIsImFsaWdubWVudCIsImdldEFsaWdubWVudEJhc2VsaW5lIiwic2l6ZVNjYWxlIiwieE11bHQiLCJ5TXVsdCIsInlPZmZzZXQiLCJ4UGFkZGluZyIsInlQYWRkaW5nIiwicmFkaXVzUGFkZGluZyIsImQiLCJyIiwiZ2V0UGl4ZWxPZmZzZXQiLCJwYWRkaW5nWCIsInBhZGRpbmdZIiwiYmFja2dyb3VuZFBhZGRpbmciLCJwaXhlbE9mZnNldCIsIkFycmF5IiwiaXNBcnJheSIsImRhdGEiLCJmb250RmFtaWx5IiwiZm9udFdlaWdodCIsIm91dGxpbmVDb2xvciIsIm91dGxpbmVXaWR0aCIsImdldENvbG9yIiwiZ2V0UG9zaXRpb24iLCJ1cGRhdGVUcmlnZ2VycyIsImdldFN1YkxheWVyUHJvcHMiLCJnZXRTaXplIiwiZ2V0QmFja2dyb3VuZENvbG9yIiwiZ2V0Qm9yZGVyQ29sb3IiLCJnZXRUZXh0IiwiZ2V0U2Vjb25kYXJ5Q29sb3IiLCJnZXRTZWNvbmRhcnlUZXh0Iiwic2Vjb25kYXJ5T3V0bGluZUNvbG9yIiwic2Vjb25kYXJ5U2l6ZVNjYWxlIiwiY2FsY3VsYXRlUGl4ZWxPZmZzZXQiLCJjYWxjdWxhdGVCYWNrZ3JvdW5kUGFkZGluZyIsIm91dCIsInJlbmRlclRleHRMYXllciIsIkNvbXBvc2l0ZUxheWVyIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTs7QUFDQTs7Ozs7Ozs7OztBQUVBO0FBQ0EsSUFBTUEsZ0JBQWdCLEdBQUcsS0FBekI7SUFFT0MsSSxHQUE2QixDO0lBQXZCQyxHLEdBQTBCLEM7SUFBckJDLEssR0FBd0IsQztJQUFqQkMsTSxHQUFvQixDOztJQUN2Q0MsaUI7Ozs7Ozs7Ozs7OztXQUNKLDhCQUFvQztBQUFBLFVBQXBCQyxLQUFvQixRQUFwQkEsS0FBb0I7QUFBQSxVQUFiQyxVQUFhLFFBQWJBLFVBQWE7QUFDbEMsVUFBTUMsVUFBVSxHQUFHRixLQUFLLENBQUNHLEVBQU4sQ0FBU0MsUUFBVCxDQUFrQixvQkFBbEIsQ0FBbkI7O0FBQ0EsVUFBSUgsVUFBVSxLQUFLLFdBQW5CLEVBQWdDO0FBQzlCLGVBQU9DLFVBQVAsQ0FEOEIsQ0FDWDtBQUNwQixPQUZELE1BRU87QUFDTCxlQUFPLENBQUNBLFVBQUQsSUFBZ0JSLGdCQUFnQixJQUFJLEtBQUtXLEtBQUwsQ0FBV0MsY0FBdEQsQ0FESyxDQUNrRTtBQUN4RTtBQUNGOzs7RUFSNkJDLGlCLEdBV2hDOzs7QUFDQUEsa0JBQVVDLFlBQVYsQ0FBdUJDLFlBQXZCLEdBQXNDO0FBQUNDLEVBQUFBLElBQUksRUFBRSxRQUFQO0FBQWlCQyxFQUFBQSxLQUFLLEVBQUUsRUFBeEI7QUFBNEJDLEVBQUFBLFFBQVEsRUFBRSxJQUF0QztBQUE0Q0MsRUFBQUEsT0FBTyxFQUFFO0FBQXJELENBQXRDOztBQUVBLElBQU1MLFlBQVksbUNBQ2JELGtCQUFVQyxZQURHO0FBRWhCTSxFQUFBQSxTQUFTLEVBQUU7QUFBQ0osSUFBQUEsSUFBSSxFQUFFLFVBQVA7QUFBbUJDLElBQUFBLEtBQUssRUFBRTtBQUExQixHQUZLO0FBR2hCSSxFQUFBQSxXQUFXLEVBQUU7QUFBQ0wsSUFBQUEsSUFBSSxFQUFF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STtBQUFDWixRQUFBQSxZQUFZLEVBQUVZO0FBQWYsT0FSL0IsRUFSUSxDQUFaO0FBb0JBLGFBQU9JLEdBQVA7QUFDRDs7O0VBdEprQ0Usb0I7OztpQ0FBeEIzQyxlLGtCQUNXVCxZIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21wb3NpdGVMYXllcn0gZnJvbSAnQGRlY2suZ2wvY29yZSc7XG5pbXBvcnQge1RleHRMYXllcn0gZnJvbSAnQGRlY2suZ2wvbGF5ZXJzJztcblxuLy8gVE9ETyByZW1vdmUgcHJpb3IgdG8gcmVsZWFzZVxuY29uc3QgU0hPV19URVhUX0JPUkRFUiA9IGZhbHNlO1xuXG5jb25zdCBbTEVGVCwgVE9QLCBSSUdIVCwgQk9UVE9NXSA9IFswLCAxLCAyLCAzXTtcbmNsYXNzIEVuaGFuY2VkVGV4dExheWVyIGV4dGVuZHMgVGV4dExheWVyIHtcbiAgZmlsdGVyU3ViTGF5ZXIoe2xheWVyLCByZW5kZXJQYXNzfSkge1xuICAgIGNvbnN0IGJhY2tncm91bmQgPSBsYXllci5pZC5pbmNsdWRlcygncHJpbWFyeS1iYWNrZ3JvdW5kJyk7XG4gICAgaWYgKHJlbmRlclBhc3MgPT09ICdjb2xsaXNpb24nKSB7XG4gICAgICByZXR1cm4gYmFja2dyb3VuZDsgLy8gT25seSBkcmF3IHByaW1hcnkgYmFja2dyb3VuZCBsYXllciBpbiBjb2xsaXNpb24gcGFzc1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gIWJhY2tncm91bmQgfHwgKFNIT1dfVEVYVF9CT1JERVIgJiYgdGhpcy5wcm9wcy5nZXRCb3JkZXJXaWR0aCk7IC8vIERvIG5vdCBkcmF3IGJhY2tncm91bmQgbGF5ZXIgaW4gb3RoZXIgcGFzc2VzXG4gICAgfVxuICB9XG59XG5cbi8vIFRPRE8gcmVtb3ZlIG9uY2UgaHR0cHM6Ly9naXRodWIuY29tL3Zpc2dsL2RlY2suZ2wvcHVsbC83NzU3IG91dFxuVGV4dExheWVyLmRlZmF1bHRQcm9wcy5mb250U2V0dGluZ3MgPSB7dHlwZTogJ29iamVjdCcsIHZhbHVlOiB7fSwgb3B0aW9uYWw6IHRydWUsIGNvbXBhcmU6IDF9O1xuXG5jb25zdCBkZWZhdWx0UHJvcHMgPSB7XG4gIC4uLlRleHRMYXllci5kZWZhdWx0UHJvcHMsXG4gIGdldFJhZGl1czoge3R5cGU6ICdhY2Nlc3NvcicsIHZhbHVlOiAxfSxcbiAgcmFkaXVzU2NhbGU6IHt0eXBlOiAnbnVtYmVyJywgbWluOiAwLCB2YWx1ZTogMX1cbn07XG5cbmV4cG9ydCBjbGFzcyBQb2ludExhYmVsTGF5ZXIgZXh0ZW5kcyBDb21wb3NpdGVMYXllciB7XG4gIHN0YXRpYyBkZWZhdWx0UHJvcHMgPSBkZWZhdWx0UHJvcHM7XG5cbiAgY2FsY3VsYXRlUGl4ZWxPZmZzZXQoc2Vjb25kYXJ5KSB7XG4gICAgY29uc3Qge1xuICAgICAgZ2V0VGV4dEFuY2hvcjogYW5jaG9yLFxuICAgICAgZ2V0QWxpZ25tZW50QmFzZWxpbmU6IGFsaWdubWVudCxcbiAgICAgIGdldFJhZGl1cyxcbiAgICAgIHJhZGl1c1NjYWxlLFxuICAgICAgc2l6ZVNjYWxlXG4gICAgfSA9IHRoaXMucHJvcHM7XG4gICAgY29uc3QgeE11bHQgPSBhbmNob3IgPT09ICdtaWRkbGUnID8gMCA6IGFuY2hvciA9PT0gJ3N0YXJ0JyA/IDEgOiAtMTtcbiAgICBjb25zdCB5TXVsdCA9IGFsaWdubWVudCA9PT0gJ2NlbnRlcicgPyAwIDogYWxpZ25tZW50ID09PSAnYm90dG9tJyA/IDEgOiAtMTtcblxuICAgIC8vIFBsYWNlIHNlY29uZGFyeSBsYWJlbCB1bmRlciBtYWluIGxhYmVsIChzcGFjaW5nIDEgLyAzIG1haW4gbGFiZWwgZm9udCBzaXplKVxuICAgIGNvbnN0IHlPZmZzZXQgPSBzZWNvbmRhcnkgPyAoMSArIDEgLyAzKSAqIHNpemVTY2FsZSA6IDA7XG5cbiAgICAvLyBQYWRkaW5nIGJhc2VkIG9uIGZvbnQgc2l6ZSAoZm9udCBzaXplIC8gNClcbiAgICBjb25zdCB4UGFkZGluZyA9IHNpemVTY2FsZSAvIDQ7XG4gICAgY29uc3QgeVBhZGRpbmcgPSBzaXplU2NhbGUgKyAxIC8gNDtcblxuICAgIC8vIFBhZGRpbmcgYmFzZWQgb24gcG9pbnQgcmFkaXVzIChyYWRpdXMvIDQpXG4gICAgY29uc3QgcmFkaXVzUGFkZGluZyA9IDEgKyAxIC8gNDtcblxuICAgIHJldHVybiB0eXBlb2YgZ2V0UmFkaXVzID09PSAnZnVuY3Rpb24nXG4gICAgICA/IGQgPT4ge1xuICAgICAgICAgIGNvbnN0IHIgPSAoZCA/IGdldFJhZGl1cyhkKSA6IDEpICogcmFkaXVzU2NhbGUgKiByYWRpdXNQYWRkaW5nO1xuICAgICAgICAgIHJldHVybiBbeE11bHQgKiAociArIHhQYWRkaW5nKSwgeU11bHQgKiAociArIHlQYWRkaW5nKSArIHlPZmZzZXRdO1xuICAgICAgICB9XG4gICAgICA6IFtcbiAgICAgICAgICB4TXVsdCAqIChnZXRSYWRpdXMgKiByYWRpdXNTY2FsZSAqIHJhZGl1c1BhZGRpbmcgKyB4UGFkZGluZyksXG4gICAgICAgICAgeU11bHQgKiAoZ2V0UmFkaXVzICogcmFkaXVzU2NhbGUgKiByYWRpdXNQYWRkaW5nICsgeVBhZGRpbmcpICsgeU9mZnNldFxuICAgICAgICBdO1xuICB9XG5cbiAgY2FsY3VsYXRlQmFja2dyb3VuZFBhZGRpbmcoZ2V0UGl4ZWxPZmZzZXQpIHtcbiAgICBjb25zdCB7Z2V0VGV4dEFuY2hvcjogYW5jaG9yLCBnZXRBbGlnbm1lbnRCYXNlbGluZTogYWxpZ25tZW50LCBzaXplU2NhbGV9ID0gdGhpcy5wcm9wcztcblxuICAgIC8vIEhldXJpc3RpY3MgdG8gYXZvaWQgbGFiZWwgb3ZlcmxhcCAoc2hvdWxkIHdlIGJhc2UgdGhpcyBvbiB0aGUgdGV4dCBsZW5ndGg/KVxuICAgIGNvbnN0IHBhZGRpbmdYID0gMTIgKiBzaXplU2NhbGU7XG4gICAgY29uc3QgcGFkZGluZ1kgPSAzICogc2l6ZVNjYWxlO1xuICAgIGNvbnN0IGJhY2tncm91bmRQYWRkaW5nID0gWzAsIDAsIDAsIDBdO1xuICAgIGlmIChhbGlnbm1lbnQgPT09ICd0b3AnKSB7XG4gICAgICBiYWNrZ3JvdW5kUGFkZGluZ1tUT1BdID0gcGFkZGluZ1k7XG4gICAgfSBlbHNlIGlmIChhbGlnbm1lbnQgPT09ICdib3R0b20nKSB7XG4gICAgICBiYWNrZ3JvdW5kUGFkZGluZ1tCT1RUT01dID0gcGFkZGluZ1k7XG4gICAgfSBlbHNlIHtcbiAgICAgIGJhY2tncm91bmRQYWRkaW5nW1RPUF0gPSAwLjUgKiBwYWRkaW5nWTtcbiAgICAgIGJhY2tncm91bmRQYWRkaW5nW0JPVFRPTV0gPSAwLjUgKiBwYWRkaW5nWTtcbiAgICB9XG4gICAgaWYgKGFuY2hvciA9PT0gJ3N0YXJ0Jykge1xuICAgICAgYmFja2dyb3VuZFBhZGRpbmdbTEVGVF0gPSBwYWRkaW5nWDtcbiAgICB9IGVsc2UgaWYgKGFuY2hvciA9PT0gJ2VuZCcpIHtcbiAgICAgIGJhY2tncm91bmRQYWRkaW5nW1JJR0hUXSA9IHBhZGRpbmdYO1xuICAgIH0gZWxzZSB7XG4gICAgICBiYWNrZ3JvdW5kUGFkZGluZ1tMRUZUXSA9IDAuNSAqIHBhZGRpbmdYO1xuICAgICAgYmFja2dyb3VuZFBhZGRpbmdbUklHSFRdID0gMC41ICogcGFkZGluZ1g7XG4gICAgfVxuXG4gICAgLy8gRm9yIGdldFJhZGl1cyBmdW5jdGlvbiwgaW52b2tlIHdpdGhvdXQgZGF0YSwgYXMgdGhlcmUgaXMgbm8gYmFja2dyb3VuZFBhZGRpbmcgYWNjZXNzb3JcbiAgICBjb25zdCBwaXhlbE9mZnNldCA9IEFycmF5LmlzQXJyYXkoZ2V0UGl4ZWxPZmZzZXQpID8gZ2V0UGl4ZWxPZmZzZXQgOiBnZXRQaXhlbE9mZnNldCgpO1xuICAgIGJhY2tncm91bmRQYWRkaW5nW0xFRlRdICs9IHBpeGVsT2Zmc2V0WzBdO1xuICAgIGJhY2tncm91bmRQYWRkaW5nW1JJR0hUXSAtPSBwaXhlbE9mZnNldFswXTtcbiAgICBiYWNrZ3JvdW5kUGFkZGluZ1tUT1BdICs9IHBpeGVsT2Zmc2V0WzFdO1xuICAgIGJhY2tncm91bmRQYWRkaW5nW0JPVFRPTV0gLT0gcGl4ZWxPZmZzZXRbMV07XG5cbiAgICByZXR1cm4gYmFja2dyb3VuZFBhZGRpbmc7XG4gIH1cblxuICByZW5kZXJUZXh0TGF5ZXIoaWQsIHByb3BzKSB7XG4gICAgY29uc3Qge1xuICAgICAgZGF0YSxcblxuICAgICAgZm9udEZhbWlseSxcbiAgICAgIGZvbnRTZXR0aW5ncyxcbiAgICAgIGZvbnRXZWlnaHQsXG4gICAgICBvdXRsaW5lQ29sb3IsXG4gICAgICBvdXRsaW5lV2lkdGgsXG4gICAgICBzaXplU2NhbGUsXG5cbiAgICAgIGdldEFsaWdubWVudEJhc2VsaW5lLFxuICAgICAgZ2V0Q29sb3IsXG4gICAgICBnZXRQb3NpdGlvbixcbiAgICAgIGdldFRleHRBbmNob3IsXG5cbiAgICAgIHVwZGF0ZVRyaWdnZXJzXG4gICAgfSA9IHRoaXMucHJvcHM7XG5cbiAgICByZXR1cm4gbmV3IEVuaGFuY2VkVGV4dExheWVyKFxuICAgICAgdGhpcy5nZXRTdWJMYXllclByb3BzKHtcbiAgICAgICAgaWQsXG4gICAgICAgIGRhdGE6IGRhdGEsXG5cbiAgICAgICAgZm9udEZhbWlseSxcbiAgICAgICAgZm9udFNldHRpbmdzLFxuICAgICAgICBmb250V2VpZ2h0LFxuICAgICAgICBvdXRsaW5lQ29sb3IsXG4gICAgICAgIG91dGxpbmVXaWR0aCxcbiAgICAgICAgc2l6ZVNjYWxlLFxuXG4gICAgICAgIGdldEFsaWdubWVudEJhc2VsaW5lLFxuICAgICAgICBnZXRDb2xvcixcbiAgICAgICAgZ2V0UG9zaXRpb24sXG4gICAgICAgIGdldFRleHRBbmNob3IsXG5cbiAgICAgICAgdXBkYXRlVHJpZ2dlcnNcbiAgICAgIH0pLFxuICAgICAge1xuICAgICAgICBnZXRTaXplOiAxXG4gICAgICB9LFxuICAgICAgLy8gREVCVUdcbiAgICAgIFNIT1dfVEVYVF9CT1JERVJcbiAgICAgICAgPyB7Z2V0QmFja2dyb3VuZENvbG9yOiBbMCwgMCwgMCwgMF0sIGdldEJvcmRlckNvbG9yOiBbMjU1LCAwLCAwLCA4MF0sIGdldEJvcmRlcldpZHRoOiAxfVxuICAgICAgICA6IHt9LFxuICAgICAgcHJvcHNcbiAgICApO1xuICB9XG5cbiAgcmVuZGVyTGF5ZXJzKCkge1xuICAgIGNvbnN0IHtcbiAgICAgIGdldFRleHQsXG4gICAgICBnZXRTZWNvbmRhcnlDb2xvcixcbiAgICAgIGdldFNlY29uZGFyeVRleHQsXG4gICAgICBzZWNvbmRhcnlPdXRsaW5lQ29sb3IsXG4gICAgICBzZWNvbmRhcnlTaXplU2NhbGUsXG4gICAgICB1cGRhdGVUcmlnZ2Vyc1xuICAgIH0gPSB0aGlzLnByb3BzO1xuICAgIGNvbnN0IGdldFBpeGVsT2Zmc2V0ID0gdGhpcy5jYWxjdWxhdGVQaXhlbE9mZnNldChmYWxzZSk7XG4gICAgY29uc3QgYmFja2dyb3VuZFBhZGRpbmcgPSB0aGlzLmNhbGN1bGF0ZUJhY2tncm91bmRQYWRkaW5nKGdldFBpeGVsT2Zmc2V0KTtcbiAgICBjb25zdCBvdXQgPSBbXG4gICAgICB0aGlzLnJlbmRlclRleHRMYXllcigncHJpbWFyeScsIHtcbiAgICAgICAgYmFja2dyb3VuZFBhZGRpbmcsXG4gICAgICAgIGdldFRleHQsXG4gICAgICAgIGdldFBpeGVsT2Zmc2V0LFxuICAgICAgICBiYWNrZ3JvdW5kOiB0cnVlIC8vIE9ubHkgdXNlIGJhY2tncm91bmQgZm9yIHByaW1hcnkgbGFiZWwgZm9yIGZhc3RlciBjb2xsaXNpb25zXG4gICAgICB9KSxcbiAgICAgIGdldFNlY29uZGFyeVRleHQgJiZcbiAgICAgICAgdGhpcy5yZW5kZXJUZXh0TGF5ZXIoJ3NlY29uZGFyeScsIHtcbiAgICAgICAgICBnZXRUZXh0OiBnZXRTZWNvbmRhcnlUZXh0LFxuICAgICAgICAgIGdldFBpeGVsT2Zmc2V0OiB0aGlzLmNhbGN1bGF0ZVBpeGVsT2Zmc2V0KHRydWUpLFxuICAgICAgICAgIHVwZGF0ZVRyaWdnZXJzOiB7Z2V0VGV4dDogdXBkYXRlVHJpZ2dlcnMuZ2V0U2Vjb25kYXJ5VGV4dH0sXG5cbiAgICAgICAgICAvLyBPcHRpb25hbCBvdmVycmlkZXNcbiAgICAgICAgICAuLi4oZ2V0U2Vjb25kYXJ5Q29sb3IgJiYge2dldENvbG9yOiBnZXRTZWNvbmRhcnlDb2xvcn0pLFxuICAgICAgICAgIC4uLihzZWNvbmRhcnlTaXplU2NhbGUgJiYge3NpemVTY2FsZTogc2Vjb25kYXJ5U2l6ZVNjYWxlfSksXG4gICAgICAgICAgLi4uKHNlY29uZGFyeU91dGxpbmVDb2xvciAmJiB7b3V0bGluZUNvbG9yOiBzZWNvbmRhcnlPdXRsaW5lQ29sb3J9KVxuICAgICAgICB9KVxuICAgIF07XG5cbiAgICByZXR1cm4gb3V0O1xuICB9XG59XG4iXX0=
257
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9kZWNrZ2wtbGF5ZXJzL3BvaW50LWxhYmVsLWxheWVyL3BvaW50LWxhYmVsLWxheWVyLmpzIl0sIm5hbWVzIjpbIlNIT1dfVEVYVF9CT1JERVIiLCJMRUZUIiwiVE9QIiwiUklHSFQiLCJCT1RUT00iLCJFbmhhbmNlZFRleHRMYXllciIsImxheWVyIiwicmVuZGVyUGFzcyIsImJhY2tncm91bmQiLCJpZCIsImluY2x1ZGVzIiwicHJvcHMiLCJnZXRCb3JkZXJXaWR0aCIsIlRleHRMYXllciIsImRlZmF1bHRQcm9wcyIsImZvbnRTZXR0aW5ncyIsInR5cGUiLCJ2YWx1ZSIsIm9wdGlvbmFsIiwiY29tcGFyZSIsImdldFJhZGl1cyIsInJhZGl1c1NjYWxlIiwibWluIiwiUG9pbnRMYWJlbExheWVyIiwic2Vjb25kYXJ5IiwiYW5jaG9yIiwiZ2V0VGV4dEFuY2hvciIsImFsaWdubWVudCIsImdldEFsaWdubWVudEJhc2VsaW5lIiwiZ2V0U2Vjb25kYXJ5VGV4dCIsInNlY29uZGFyeVNpemVTY2FsZSIsInNpemVTY2FsZSIsInhNdWx0IiwieU11bHQiLCJ4UGFkZGluZyIsInlQYWRkaW5nIiwic2Vjb25kYXJ5T2Zmc2V0IiwieU9mZnNldCIsInJhZGl1c1BhZGRpbmciLCJkIiwiciIsImdldFBpeGVsT2Zmc2V0IiwicGFkZGluZ1giLCJwYWRkaW5nWSIsImJhY2tncm91bmRQYWRkaW5nIiwicGl4ZWxPZmZzZXQiLCJBcnJheSIsImlzQXJyYXkiLCJ1cGRhdGVUcmlnZ2Vyc092ZXJyaWRlIiwidXBkYXRlVHJpZ2dlcnMiLCJkYXRhIiwiY2hhcmFjdGVyU2V0IiwiZm9udEZhbWlseSIsImZvbnRXZWlnaHQiLCJvdXRsaW5lQ29sb3IiLCJvdXRsaW5lV2lkdGgiLCJnZXRDb2xvciIsImdldFBvc2l0aW9uIiwiZ2V0U3ViTGF5ZXJQcm9wcyIsImdldFNpemUiLCJnZXRCYWNrZ3JvdW5kQ29sb3IiLCJnZXRCb3JkZXJDb2xvciIsImdldFRleHQiLCJnZXRTZWNvbmRhcnlDb2xvciIsInNlY29uZGFyeU91dGxpbmVDb2xvciIsImNhbGN1bGF0ZVBpeGVsT2Zmc2V0IiwiY2FsY3VsYXRlQmFja2dyb3VuZFBhZGRpbmciLCJvdXQiLCJyZW5kZXJUZXh0TGF5ZXIiLCJDb21wb3NpdGVMYXllciJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTs7QUFDQTs7Ozs7Ozs7OztBQUVBO0FBQ0EsSUFBTUEsZ0JBQWdCLEdBQUcsS0FBekI7SUFFT0MsSSxHQUE2QixDO0lBQXZCQyxHLEdBQTBCLEM7SUFBckJDLEssR0FBd0IsQztJQUFqQkMsTSxHQUFvQixDOztJQUN2Q0MsaUI7Ozs7Ozs7Ozs7OztXQUNKLDhCQUFvQztBQUFBLFVBQXBCQyxLQUFvQixRQUFwQkEsS0FBb0I7QUFBQSxVQUFiQyxVQUFhLFFBQWJBLFVBQWE7QUFDbEMsVUFBTUMsVUFBVSxHQUFHRixLQUFLLENBQUNHLEVBQU4sQ0FBU0MsUUFBVCxDQUFrQixvQkFBbEIsQ0FBbkI7O0FBQ0EsVUFBSUgsVUFBVSxLQUFLLFdBQW5CLEVBQWdDO0FBQzlCLGVBQU9DLFVBQVAsQ0FEOEIsQ0FDWDtBQUNwQixPQUZELE1BRU87QUFDTCxlQUFPLENBQUNBLFVBQUQsSUFBZ0JSLGdCQUFnQixJQUFJLEtBQUtXLEtBQUwsQ0FBV0MsY0FBdEQsQ0FESyxDQUNrRTtBQUN4RTtBQUNGOzs7RUFSNkJDLGlCLEdBV2hDOzs7QUFDQUEsa0JBQVVDLFlBQVYsQ0FBdUJDLFlBQXZCLEdBQXNDO0FBQUNDLEVBQUFBLElBQUksRUFBRSxRQUFQO0FBQWlCQyxFQUFBQSxLQUFLLEVBQUUsRUFBeEI7QUFBNEJDLEVBQUFBLFFBQVEsRUFBRSxJQUF0QztBQUE0Q0MsRUFBQUEsT0FBTyxFQUFFO0FBQXJELENBQXRDOztBQUVBLElBQU1MLFlBQVksbUNBQ2JELGtCQUFVQyxZQURHO0FBRWhCTSxFQUFBQSxTQUFTLEVBQUU7QUFBQ0osSUFBQUEsSUFBSSxFQUFFLFVBQVA7QUFBbUJDLElBQUFBLEtBQUss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QixjQVBXLGdCQU9YQSxjQVBXO0FBU2IsVUFBTVIsY0FBYyxHQUFHLEtBQUt3QixvQkFBTCxDQUEwQixLQUExQixDQUF2QjtBQUNBLFVBQU1yQixpQkFBaUIsR0FBRyxLQUFLc0IsMEJBQUwsQ0FBZ0N6QixjQUFoQyxDQUExQjtBQUNBLFVBQU0wQixHQUFHLEdBQUcsQ0FDVixLQUFLQyxlQUFMLENBQXFCLFNBQXJCLEVBQWdDO0FBQzlCeEIsUUFBQUEsaUJBQWlCLEVBQWpCQSxpQkFEOEI7QUFFOUJrQixRQUFBQSxPQUFPLEVBQVBBLE9BRjhCO0FBRzlCckIsUUFBQUEsY0FBYyxFQUFkQSxjQUg4QjtBQUk5QmpDLFFBQUFBLFVBQVUsRUFBRSxJQUprQixDQUliOztBQUphLE9BQWhDLENBRFUsRUFPVnFCLGdCQUFnQixJQUNkLEtBQUt1QyxlQUFMLENBQXFCLFdBQXJCO0FBQ0VOLFFBQUFBLE9BQU8sRUFBRWpDLGdCQURYO0FBRUVZLFFBQUFBLGNBQWMsRUFBRSxLQUFLd0Isb0JBQUwsQ0FBMEIsSUFBMUIsQ0FGbEI7QUFHRXJDLFFBQUFBLG9CQUFvQixFQUFFLEtBSHhCO0FBSUVxQixRQUFBQSxjQUFjLEVBQUU7QUFBQ2EsVUFBQUEsT0FBTyxFQUFFYixjQUFjLENBQUNwQjtBQUF6QjtBQUpsQixTQU9Na0MsaUJBQWlCLElBQUk7QUFBQ1AsUUFBQUEsUUFBUSxFQUFFTztBQUFYLE9BUDNCLEdBUU1qQyxrQkFBa0IsSUFBSTtBQUFDQyxRQUFBQSxTQUFTLEVBQUVEO0FBQVosT0FSNUIsR0FTTWtDLHFCQUFxQixJQUFJO0FBQUNWLFFBQUFBLFlBQVksRUFBRVU7QUFBZixPQVQvQixFQVJRLENBQVo7QUFxQkEsYUFBT0csR0FBUDtBQUNEOzs7RUE5S2tDRSxvQjs7O2lDQUF4QjlDLGUsa0JBQ1dULFkiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvc2l0ZUxheWVyfSBmcm9tICdAZGVjay5nbC9jb3JlJztcbmltcG9ydCB7VGV4dExheWVyfSBmcm9tICdAZGVjay5nbC9sYXllcnMnO1xuXG4vLyBUT0RPIHJlbW92ZSBwcmlvciB0byByZWxlYXNlXG5jb25zdCBTSE9XX1RFWFRfQk9SREVSID0gZmFsc2U7XG5cbmNvbnN0IFtMRUZULCBUT1AsIFJJR0hULCBCT1RUT01dID0gWzAsIDEsIDIsIDNdO1xuY2xhc3MgRW5oYW5jZWRUZXh0TGF5ZXIgZXh0ZW5kcyBUZXh0TGF5ZXIge1xuICBmaWx0ZXJTdWJMYXllcih7bGF5ZXIsIHJlbmRlclBhc3N9KSB7XG4gICAgY29uc3QgYmFja2dyb3VuZCA9IGxheWVyLmlkLmluY2x1ZGVzKCdwcmltYXJ5LWJhY2tncm91bmQnKTtcbiAgICBpZiAocmVuZGVyUGFzcyA9PT0gJ2NvbGxpc2lvbicpIHtcbiAgICAgIHJldHVybiBiYWNrZ3JvdW5kOyAvLyBPbmx5IGRyYXcgcHJpbWFyeSBiYWNrZ3JvdW5kIGxheWVyIGluIGNvbGxpc2lvbiBwYXNzXG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiAhYmFja2dyb3VuZCB8fCAoU0hPV19URVhUX0JPUkRFUiAmJiB0aGlzLnByb3BzLmdldEJvcmRlcldpZHRoKTsgLy8gRG8gbm90IGRyYXcgYmFja2dyb3VuZCBsYXllciBpbiBvdGhlciBwYXNzZXNcbiAgICB9XG4gIH1cbn1cblxuLy8gVE9ETyByZW1vdmUgb25jZSBodHRwczovL2dpdGh1Yi5jb20vdmlzZ2wvZGVjay5nbC9wdWxsLzc3NTcgb3V0XG5UZXh0TGF5ZXIuZGVmYXVsdFByb3BzLmZvbnRTZXR0aW5ncyA9IHt0eXBlOiAnb2JqZWN0JywgdmFsdWU6IHt9LCBvcHRpb25hbDogdHJ1ZSwgY29tcGFyZTogMX07XG5cbmNvbnN0IGRlZmF1bHRQcm9wcyA9IHtcbiAgLi4uVGV4dExheWVyLmRlZmF1bHRQcm9wcyxcbiAgZ2V0UmFkaXVzOiB7dHlwZTogJ2FjY2Vzc29yJywgdmFsdWU6IDF9LFxuICByYWRpdXNTY2FsZToge3R5cGU6ICdudW1iZXInLCBtaW46IDAsIHZhbHVlOiAxfVxufTtcblxuZXhwb3J0IGNsYXNzIFBvaW50TGFiZWxMYXllciBleHRlbmRzIENvbXBvc2l0ZUxheWVyIHtcbiAgc3RhdGljIGRlZmF1bHRQcm9wcyA9IGRlZmF1bHRQcm9wcztcblxuICBjYWxjdWxhdGVQaXhlbE9mZnNldChzZWNvbmRhcnkpIHtcbiAgICBjb25zdCB7XG4gICAgICBnZXRUZXh0QW5jaG9yOiBhbmNob3IsXG4gICAgICBnZXRBbGlnbm1lbnRCYXNlbGluZTogYWxpZ25tZW50LFxuICAgICAgZ2V0UmFkaXVzLFxuICAgICAgZ2V0U2Vjb25kYXJ5VGV4dCxcbiAgICAgIHJhZGl1c1NjYWxlLFxuICAgICAgc2Vjb25kYXJ5U2l6ZVNjYWxlLFxuICAgICAgc2l6ZVNjYWxlXG4gICAgfSA9IHRoaXMucHJvcHM7XG4gICAgY29uc3QgeE11bHQgPSBhbmNob3IgPT09ICdtaWRkbGUnID8gMCA6IGFuY2hvciA9PT0gJ3N0YXJ0JyA/IDEgOiAtMTtcbiAgICBjb25zdCB5TXVsdCA9IGFsaWdubWVudCA9PT0gJ2NlbnRlcicgPyAwIDogYWxpZ25tZW50ID09PSAnYm90dG9tJyA/IDEgOiAtMTtcblxuICAgIC8vIFBhZGRpbmcgYmFzZWQgb24gZm9udCBzaXplIChmb250IHNpemUgLyA0KVxuICAgIGNvbnN0IHhQYWRkaW5nID0gc2l6ZVNjYWxlIC8gNDtcbiAgICBjb25zdCB5UGFkZGluZyA9IHNpemVTY2FsZSArIDEgLyA0O1xuXG4gICAgLy8gUGxhY2Ugc2Vjb25kYXJ5IGxhYmVsIHVuZGVyIG1haW4gbGFiZWwgKHNwYWNpbmcgMSAvIDMgbWFpbiBsYWJlbCBmb250IHNpemUpXG4gICAgY29uc3Qgc2Vjb25kYXJ5T2Zmc2V0ID0gKDEgLyAzKSAqIHNpemVTY2FsZSAtIDAuNiAqICh5TXVsdCAtIDEpICogeVBhZGRpbmc7XG4gICAgbGV0IHlPZmZzZXQgPSBzZWNvbmRhcnkgPyBzZWNvbmRhcnlPZmZzZXQgOiAwO1xuXG4gICAgLy8gU3BlY2lhbCBjYXNlLCBwb3NpdGlvbiByZWxhdGl2ZSB0byBzZWNvbmRhcnkgbGFiZWxcbiAgICBpZiAoYW5jaG9yID09PSAnbWlkZGxlJyAmJiBhbGlnbm1lbnQgPT09ICd0b3AnICYmIGdldFNlY29uZGFyeVRleHQpIHtcbiAgICAgIHlPZmZzZXQgLT0gc2Vjb25kYXJ5T2Zmc2V0O1xuICAgICAgeU9mZnNldCAtPSBzZWNvbmRhcnlTaXplU2NhbGU7XG4gICAgICB5T2Zmc2V0ICs9IHNpemVTY2FsZTtcbiAgICB9XG5cbiAgICAvLyBQYWRkaW5nIGJhc2VkIG9uIHBvaW50IHJhZGl1cyAocmFkaXVzLyA0KVxuICAgIGNvbnN0IHJhZGl1c1BhZGRpbmcgPSAxICsgMSAvIDQ7XG5cbiAgICByZXR1cm4gdHlwZW9mIGdldFJhZGl1cyA9PT0gJ2Z1bmN0aW9uJ1xuICAgICAgPyBkID0+IHtcbiAgICAgICAgICBjb25zdCByID0gKGQgPyBnZXRSYWRpdXMoZCkgOiAxKSAqIHJhZGl1c1NjYWxlICogcmFkaXVzUGFkZGluZztcbiAgICAgICAgICByZXR1cm4gW3hNdWx0ICogKHIgKyB4UGFkZGluZyksIHlNdWx0ICogKHIgKyB5UGFkZGluZykgKyB5T2Zmc2V0XTtcbiAgICAgICAgfVxuICAgICAgOiBbXG4gICAgICAgICAgeE11bHQgKiAoZ2V0UmFkaXVzICogcmFkaXVzU2NhbGUgKiByYWRpdXNQYWRkaW5nICsgeFBhZGRpbmcpLFxuICAgICAgICAgIHlNdWx0ICogKGdldFJhZGl1cyAqIHJhZGl1c1NjYWxlICogcmFkaXVzUGFkZGluZyArIHlQYWRkaW5nKSArIHlPZmZzZXRcbiAgICAgICAgXTtcbiAgfVxuXG4gIGNhbGN1bGF0ZUJhY2tncm91bmRQYWRkaW5nKGdldFBpeGVsT2Zmc2V0KSB7XG4gICAgY29uc3Qge2dldFRleHRBbmNob3I6IGFuY2hvciwgZ2V0QWxpZ25tZW50QmFzZWxpbmU6IGFsaWdubWVudCwgc2l6ZVNjYWxlfSA9IHRoaXMucHJvcHM7XG5cbiAgICAvLyBIZXVyaXN0aWNzIHRvIGF2b2lkIGxhYmVsIG92ZXJsYXAgKHNob3VsZCB3ZSBiYXNlIHRoaXMgb24gdGhlIHRleHQgbGVuZ3RoPylcbiAgICBjb25zdCBwYWRkaW5nWCA9IDEyICogc2l6ZVNjYWxlO1xuICAgIGNvbnN0IHBhZGRpbmdZID0gMyAqIHNpemVTY2FsZTtcbiAgICBjb25zdCBiYWNrZ3JvdW5kUGFkZGluZyA9IFswLCAwLCAwLCAwXTtcbiAgICBpZiAoYWxpZ25tZW50ID09PSAndG9wJykge1xuICAgICAgYmFja2dyb3VuZFBhZGRpbmdbVE9QXSA9IHBhZGRpbmdZO1xuICAgIH0gZWxzZSBpZiAoYWxpZ25tZW50ID09PSAnYm90dG9tJykge1xuICAgICAgYmFja2dyb3VuZFBhZGRpbmdbQk9UVE9NXSA9IHBhZGRpbmdZO1xuICAgIH0gZWxzZSB7XG4gICAgICBiYWNrZ3JvdW5kUGFkZGluZ1tUT1BdID0gMC41ICogcGFkZGluZ1k7XG4gICAgICBiYWNrZ3JvdW5kUGFkZGluZ1tCT1RUT01dID0gMC41ICogcGFkZGluZ1k7XG4gICAgfVxuICAgIGlmIChhbmNob3IgPT09ICdzdGFydCcpIHtcbiAgICAgIGJhY2tncm91bmRQYWRkaW5nW0xFRlRdID0gcGFkZGluZ1g7XG4gICAgfSBlbHNlIGlmIChhbmNob3IgPT09ICdlbmQnKSB7XG4gICAgICBiYWNrZ3JvdW5kUGFkZGluZ1tSSUdIVF0gPSBwYWRkaW5nWDtcbiAgICB9IGVsc2Uge1xuICAgICAgYmFja2dyb3VuZFBhZGRpbmdbTEVGVF0gPSAwLjUgKiBwYWRkaW5nWDtcbiAgICAgIGJhY2tncm91bmRQYWRkaW5nW1JJR0hUXSA9IDAuNSAqIHBhZGRpbmdYO1xuICAgIH1cblxuICAgIC8vIEZvciBnZXRSYWRpdXMgZnVuY3Rpb24sIGludm9rZSB3aXRob3V0IGRhdGEsIGFzIHRoZXJlIGlzIG5vIGJhY2tncm91bmRQYWRkaW5nIGFjY2Vzc29yXG4gICAgY29uc3QgcGl4ZWxPZmZzZXQgPSBBcnJheS5pc0FycmF5KGdldFBpeGVsT2Zmc2V0KSA/IGdldFBpeGVsT2Zmc2V0IDogZ2V0UGl4ZWxPZmZzZXQoKTtcbiAgICBiYWNrZ3JvdW5kUGFkZGluZ1tMRUZUXSArPSBwaXhlbE9mZnNldFswXTtcbiAgICBiYWNrZ3JvdW5kUGFkZGluZ1tSSUdIVF0gLT0gcGl4ZWxPZmZzZXRbMF07XG4gICAgYmFja2dyb3VuZFBhZGRpbmdbVE9QXSArPSBwaXhlbE9mZnNldFsxXTtcbiAgICBiYWNrZ3JvdW5kUGFkZGluZ1tCT1RUT01dIC09IHBpeGVsT2Zmc2V0WzFdO1xuXG4gICAgcmV0dXJuIGJhY2tncm91bmRQYWRkaW5nO1xuICB9XG5cbiAgcmVuZGVyVGV4dExheWVyKGlkLCB7dXBkYXRlVHJpZ2dlcnM6IHVwZGF0ZVRyaWdnZXJzT3ZlcnJpZGUsIC4uLnByb3BzfSkge1xuICAgIGNvbnN0IHtcbiAgICAgIGRhdGEsXG5cbiAgICAgIGNoYXJhY3RlclNldCxcbiAgICAgIGZvbnRGYW1pbHksXG4gICAgICBmb250U2V0dGluZ3MsXG4gICAgICBmb250V2VpZ2h0LFxuICAgICAgb3V0bGluZUNvbG9yLFxuICAgICAgb3V0bGluZVdpZHRoLFxuICAgICAgc2l6ZVNjYWxlLFxuICAgICAgcmFkaXVzU2NhbGUsXG5cbiAgICAgIGdldEFsaWdubWVudEJhc2VsaW5lLFxuICAgICAgZ2V0Q29sb3IsXG4gICAgICBnZXRQb3NpdGlvbixcbiAgICAgIGdldFRleHRBbmNob3IsXG5cbiAgICAgIHVwZGF0ZVRyaWdnZXJzXG4gICAgfSA9IHRoaXMucHJvcHM7XG5cbiAgICByZXR1cm4gbmV3IEVuaGFuY2VkVGV4dExheWVyKFxuICAgICAgdGhpcy5nZXRTdWJMYXllclByb3BzKHtcbiAgICAgICAgaWQsXG4gICAgICAgIGRhdGE6IGRhdGEsXG5cbiAgICAgICAgY2hhcmFjdGVyU2V0LFxuICAgICAgICBmb250RmFtaWx5LFxuICAgICAgICBmb250U2V0dGluZ3MsXG4gICAgICAgIGZvbnRXZWlnaHQsXG4gICAgICAgIG91dGxpbmVDb2xvcixcbiAgICAgICAgb3V0bGluZVdpZHRoLFxuICAgICAgICBzaXplU2NhbGUsXG5cbiAgICAgICAgZ2V0QWxpZ25tZW50QmFzZWxpbmUsXG4gICAgICAgIGdldENvbG9yLFxuICAgICAgICBnZXRQb3NpdGlvbixcbiAgICAgICAgZ2V0VGV4dEFuY2hvcixcblxuICAgICAgICB1cGRhdGVUcmlnZ2Vyczoge1xuICAgICAgICAgIC4uLnVwZGF0ZVRyaWdnZXJzLFxuICAgICAgICAgIC4uLnVwZGF0ZVRyaWdnZXJzT3ZlcnJpZGUsXG4gICAgICAgICAgZ2V0UGl4ZWxPZmZzZXQ6IFtcbiAgICAgICAgICAgIHVwZGF0ZVRyaWdnZXJzLmdldFJhZGl1cyxcbiAgICAgICAgICAgIHVwZGF0ZVRyaWdnZXJzLmdldFRleHRBbmNob3IsXG4gICAgICAgICAgICB1cGRhdGVUcmlnZ2Vycy5nZXRBbGlnbm1lbnRCYXNlbGluZSxcbiAgICAgICAgICAgIHJhZGl1c1NjYWxlLFxuICAgICAgICAgICAgc2l6ZVNjYWxlXG4gICAgICAgICAgXVxuICAgICAgICB9XG4gICAgICB9KSxcbiAgICAgIHtcbiAgICAgICAgZ2V0U2l6ZTogMVxuICAgICAgfSxcbiAgICAgIC8vIERFQlVHXG4gICAgICBTSE9XX1RFWFRfQk9SREVSXG4gICAgICAgID8ge2dldEJhY2tncm91bmRDb2xvcjogWzAsIDAsIDAsIDBdLCBnZXRCb3JkZXJDb2xvcjogWzI1NSwgMCwgMCwgODBdLCBnZXRCb3JkZXJXaWR0aDogMX1cbiAgICAgICAgOiB7fSxcbiAgICAgIHByb3BzXG4gICAgKTtcbiAgfVxuXG4gIHJlbmRlckxheWVycygpIHtcbiAgICBjb25zdCB7XG4gICAgICBnZXRUZXh0LFxuICAgICAgZ2V0U2Vjb25kYXJ5Q29sb3IsXG4gICAgICBnZXRTZWNvbmRhcnlUZXh0LFxuICAgICAgc2Vjb25kYXJ5T3V0bGluZUNvbG9yLFxuICAgICAgc2Vjb25kYXJ5U2l6ZVNjYWxlLFxuICAgICAgdXBkYXRlVHJpZ2dlcnNcbiAgICB9ID0gdGhpcy5wcm9wcztcbiAgICBjb25zdCBnZXRQaXhlbE9mZnNldCA9IHRoaXMuY2FsY3VsYXRlUGl4ZWxPZmZzZXQoZmFsc2UpO1xuICAgIGNvbnN0IGJhY2tncm91bmRQYWRkaW5nID0gdGhpcy5jYWxjdWxhdGVCYWNrZ3JvdW5kUGFkZGluZyhnZXRQaXhlbE9mZnNldCk7XG4gICAgY29uc3Qgb3V0ID0gW1xuICAgICAgdGhpcy5yZW5kZXJUZXh0TGF5ZXIoJ3ByaW1hcnknLCB7XG4gICAgICAgIGJhY2tncm91bmRQYWRkaW5nLFxuICAgICAgICBnZXRUZXh0LFxuICAgICAgICBnZXRQaXhlbE9mZnNldCxcbiAgICAgICAgYmFja2dyb3VuZDogdHJ1ZSAvLyBPbmx5IHVzZSBiYWNrZ3JvdW5kIGZvciBwcmltYXJ5IGxhYmVsIGZvciBmYXN0ZXIgY29sbGlzaW9uc1xuICAgICAgfSksXG4gICAgICBnZXRTZWNvbmRhcnlUZXh0ICYmXG4gICAgICAgIHRoaXMucmVuZGVyVGV4dExheWVyKCdzZWNvbmRhcnknLCB7XG4gICAgICAgICAgZ2V0VGV4dDogZ2V0U2Vjb25kYXJ5VGV4dCxcbiAgICAgICAgICBnZXRQaXhlbE9mZnNldDogdGhpcy5jYWxjdWxhdGVQaXhlbE9mZnNldCh0cnVlKSxcbiAgICAgICAgICBnZXRBbGlnbm1lbnRCYXNlbGluZTogJ3RvcCcsXG4gICAgICAgICAgdXBkYXRlVHJpZ2dlcnM6IHtnZXRUZXh0OiB1cGRhdGVUcmlnZ2Vycy5nZXRTZWNvbmRhcnlUZXh0fSxcblxuICAgICAgICAgIC8vIE9wdGlvbmFsIG92ZXJyaWRlc1xuICAgICAgICAgIC4uLihnZXRTZWNvbmRhcnlDb2xvciAmJiB7Z2V0Q29sb3I6IGdldFNlY29uZGFyeUNvbG9yfSksXG4gICAgICAgICAgLi4uKHNlY29uZGFyeVNpemVTY2FsZSAmJiB7c2l6ZVNjYWxlOiBzZWNvbmRhcnlTaXplU2NhbGV9KSxcbiAgICAgICAgICAuLi4oc2Vjb25kYXJ5T3V0bGluZUNvbG9yICYmIHtvdXRsaW5lQ29sb3I6IHNlY29uZGFyeU91dGxpbmVDb2xvcn0pXG4gICAgICAgIH0pXG4gICAgXTtcblxuICAgIHJldHVybiBvdXQ7XG4gIH1cbn1cbiJdfQ==