1 line
206 KiB
JavaScript
1 line
206 KiB
JavaScript
(window.yoastPremiumWebpackJsonp=window.yoastPremiumWebpackJsonp||[]).push([[11],[function(module,exports){eval("module.exports = window.wp.i18n;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMC5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy9leHRlcm5hbCBcIndpbmRvdy53cC5pMThuXCI/Y2Q4ZCJdLCJzb3VyY2VzQ29udGVudCI6WyJtb2R1bGUuZXhwb3J0cyA9IHdpbmRvdy53cC5pMThuOyJdLCJtYXBwaW5ncyI6IkFBQUEiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///0\n")},function(module,exports){eval("module.exports = window.wp.data;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMS5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy9leHRlcm5hbCBcIndpbmRvdy53cC5kYXRhXCI/YzQyMiJdLCJzb3VyY2VzQ29udGVudCI6WyJtb2R1bGUuZXhwb3J0cyA9IHdpbmRvdy53cC5kYXRhOyJdLCJtYXBwaW5ncyI6IkFBQUEiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///1\n")},function(module,exports,__webpack_require__){eval("/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nif (false) { var throwOnDirectAccess, ReactIs; } else {\n // By explicitly using `prop-types` you are opting into new production behavior.\n // http://fb.me/prop-types-in-prod\n module.exports = __webpack_require__(16)();\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMi5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy8vdmFyL2plbmtpbnMvd29ya3NwYWNlL1BsdWdpbi1SZWxlYXNlL3dvcmRwcmVzcy1zZW8tcHJlbWl1bS8ucmVwb3Mvd29yZHByZXNzLXNlby1wcmVtaXVtL25vZGVfbW9kdWxlcy9wcm9wLXR5cGVzL2luZGV4LmpzP2E1Y2MiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTMtcHJlc2VudCwgRmFjZWJvb2ssIEluYy5cbiAqXG4gKiBUaGlzIHNvdXJjZSBjb2RlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZSBmb3VuZCBpbiB0aGVcbiAqIExJQ0VOU0UgZmlsZSBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb3VyY2UgdHJlZS5cbiAqL1xuXG5pZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJykge1xuICB2YXIgUmVhY3RJcyA9IHJlcXVpcmUoJ3JlYWN0LWlzJyk7XG5cbiAgLy8gQnkgZXhwbGljaXRseSB1c2luZyBgcHJvcC10eXBlc2AgeW91IGFyZSBvcHRpbmcgaW50byBuZXcgZGV2ZWxvcG1lbnQgYmVoYXZpb3IuXG4gIC8vIGh0dHA6Ly9mYi5tZS9wcm9wLXR5cGVzLWluLXByb2RcbiAgdmFyIHRocm93T25EaXJlY3RBY2Nlc3MgPSB0cnVlO1xuICBtb2R1bGUuZXhwb3J0cyA9IHJlcXVpcmUoJy4vZmFjdG9yeVdpdGhUeXBlQ2hlY2tlcnMnKShSZWFjdElzLmlzRWxlbWVudCwgdGhyb3dPbkRpcmVjdEFjY2Vzcyk7XG59IGVsc2Uge1xuICAvLyBCeSBleHBsaWNpdGx5IHVzaW5nIGBwcm9wLXR5cGVzYCB5b3UgYXJlIG9wdGluZyBpbnRvIG5ldyBwcm9kdWN0aW9uIGJlaGF2aW9yLlxuICAvLyBodHRwOi8vZmIubWUvcHJvcC10eXBlcy1pbi1wcm9kXG4gIG1vZHVsZS5leHBvcnRzID0gcmVxdWlyZSgnLi9mYWN0b3J5V2l0aFRocm93aW5nU2hpbXMnKSgpO1xufVxuIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGdEQU9BO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7Iiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///2\n")},function(module,exports){eval("module.exports = window.lodash;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMy5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy9leHRlcm5hbCBcIndpbmRvdy5sb2Rhc2hcIj9hNjAxIl0sInNvdXJjZXNDb250ZW50IjpbIm1vZHVsZS5leHBvcnRzID0gd2luZG93LmxvZGFzaDsiXSwibWFwcGluZ3MiOiJBQUFBIiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///3\n")},function(module,exports){eval("module.exports = window.wp.element;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiNC5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy9leHRlcm5hbCBcIndpbmRvdy53cC5lbGVtZW50XCI/YTI5ZiJdLCJzb3VyY2VzQ29udGVudCI6WyJtb2R1bGUuZXhwb3J0cyA9IHdpbmRvdy53cC5lbGVtZW50OyJdLCJtYXBwaW5ncyI6IkFBQUEiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///4\n")},function(module,exports){eval("module.exports = React;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiNS5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy9leHRlcm5hbCBcIlJlYWN0XCI/YzQ4MSJdLCJzb3VyY2VzQ29udGVudCI6WyJtb2R1bGUuZXhwb3J0cyA9IFJlYWN0OyJdLCJtYXBwaW5ncyI6IkFBQUEiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///5\n")},function(module,exports){eval("module.exports = window.yoast.componentsNew;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiNi5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy9leHRlcm5hbCBcIndpbmRvdy55b2FzdC5jb21wb25lbnRzTmV3XCI/MWZlZiJdLCJzb3VyY2VzQ29udGVudCI6WyJtb2R1bGUuZXhwb3J0cyA9IHdpbmRvdy55b2FzdC5jb21wb25lbnRzTmV3OyJdLCJtYXBwaW5ncyI6IkFBQUEiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///6\n")},function(module,exports){eval("module.exports = window.wp.components;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiNy5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy9leHRlcm5hbCBcIndpbmRvdy53cC5jb21wb25lbnRzXCI/NTQ0MSJdLCJzb3VyY2VzQ29udGVudCI6WyJtb2R1bGUuZXhwb3J0cyA9IHdpbmRvdy53cC5jb21wb25lbnRzOyJdLCJtYXBwaW5ncyI6IkFBQUEiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///7\n")},function(module,exports){eval("module.exports = window.yoast.styledComponents;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiOC5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy9leHRlcm5hbCBcIndpbmRvdy55b2FzdC5zdHlsZWRDb21wb25lbnRzXCI/NjljZiJdLCJzb3VyY2VzQ29udGVudCI6WyJtb2R1bGUuZXhwb3J0cyA9IHdpbmRvdy55b2FzdC5zdHlsZWRDb21wb25lbnRzOyJdLCJtYXBwaW5ncyI6IkFBQUEiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///8\n")},function(module,exports){eval("module.exports = window.yoast.components;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiOS5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy9leHRlcm5hbCBcIndpbmRvdy55b2FzdC5jb21wb25lbnRzXCI/YjI0ZCJdLCJzb3VyY2VzQ29udGVudCI6WyJtb2R1bGUuZXhwb3J0cyA9IHdpbmRvdy55b2FzdC5jb21wb25lbnRzOyJdLCJtYXBwaW5ncyI6IkFBQUEiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///9\n")},function(module,exports){eval("module.exports = window.yoast.helpers;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMTAuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vZXh0ZXJuYWwgXCJ3aW5kb3cueW9hc3QuaGVscGVyc1wiPzY1YTMiXSwic291cmNlc0NvbnRlbnQiOlsibW9kdWxlLmV4cG9ydHMgPSB3aW5kb3cueW9hc3QuaGVscGVyczsiXSwibWFwcGluZ3MiOiJBQUFBIiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///10\n")},function(module,exports,__webpack_require__){"use strict";eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n\tvalue: true\n});\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; /**\n * External Dependencies\n */\n\n\n/**\n * Internal Dependencies\n */\n\n\nvar _react = __webpack_require__(5);\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _reactAddonsCreateFragment = __webpack_require__(20);\n\nvar _reactAddonsCreateFragment2 = _interopRequireDefault(_reactAddonsCreateFragment);\n\nvar _tokenize = __webpack_require__(23);\n\nvar _tokenize2 = _interopRequireDefault(_tokenize);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar currentMixedString = void 0;\n\nfunction getCloseIndex(openIndex, tokens) {\n\tvar openToken = tokens[openIndex],\n\t nestLevel = 0,\n\t token,\n\t i;\n\tfor (i = openIndex + 1; i < tokens.length; i++) {\n\t\ttoken = tokens[i];\n\t\tif (token.value === openToken.value) {\n\t\t\tif (token.type === 'componentOpen') {\n\t\t\t\tnestLevel++;\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tif (token.type === 'componentClose') {\n\t\t\t\tif (nestLevel === 0) {\n\t\t\t\t\treturn i;\n\t\t\t\t}\n\t\t\t\tnestLevel--;\n\t\t\t}\n\t\t}\n\t}\n\t// if we get this far, there was no matching close token\n\tthrow new Error('Missing closing component token `' + openToken.value + '`');\n}\n\nfunction buildChildren(tokens, components) {\n\tvar children = [],\n\t childrenObject = {},\n\t openComponent,\n\t clonedOpenComponent,\n\t openIndex,\n\t closeIndex,\n\t token,\n\t i,\n\t grandChildTokens,\n\t grandChildren,\n\t siblingTokens,\n\t siblings;\n\n\tfor (i = 0; i < tokens.length; i++) {\n\t\ttoken = tokens[i];\n\t\tif (token.type === 'string') {\n\t\t\tchildren.push(token.value);\n\t\t\tcontinue;\n\t\t}\n\t\t// component node should at least be set\n\t\tif (!components.hasOwnProperty(token.value) || typeof components[token.value] === 'undefined') {\n\t\t\tthrow new Error('Invalid interpolation, missing component node: `' + token.value + '`');\n\t\t}\n\t\t// should be either ReactElement or null (both type \"object\"), all other types deprecated\n\t\tif (_typeof(components[token.value]) !== 'object') {\n\t\t\tthrow new Error('Invalid interpolation, component node must be a ReactElement or null: `' + token.value + '`', '\\n> ' + currentMixedString);\n\t\t}\n\t\t// we should never see a componentClose token in this loop\n\t\tif (token.type === 'componentClose') {\n\t\t\tthrow new Error('Missing opening component token: `' + token.value + '`');\n\t\t}\n\t\tif (token.type === 'componentOpen') {\n\t\t\topenComponent = components[token.value];\n\t\t\topenIndex = i;\n\t\t\tbreak;\n\t\t}\n\t\t// componentSelfClosing token\n\t\tchildren.push(components[token.value]);\n\t\tcontinue;\n\t}\n\n\tif (openComponent) {\n\t\tcloseIndex = getCloseIndex(openIndex, tokens);\n\t\tgrandChildTokens = tokens.slice(openIndex + 1, closeIndex);\n\t\tgrandChildren = buildChildren(grandChildTokens, components);\n\t\tclonedOpenComponent = _react2.default.cloneElement(openComponent, {}, grandChildren);\n\t\tchildren.push(clonedOpenComponent);\n\n\t\tif (closeIndex < tokens.length - 1) {\n\t\t\tsiblingTokens = tokens.slice(closeIndex + 1);\n\t\t\tsiblings = buildChildren(siblingTokens, components);\n\t\t\tchildren = children.concat(siblings);\n\t\t}\n\t}\n\n\tif (children.length === 1) {\n\t\treturn children[0];\n\t}\n\n\tchildren.forEach(function (child, index) {\n\t\tif (child) {\n\t\t\tchildrenObject['interpolation-child-' + index] = child;\n\t\t}\n\t});\n\n\treturn (0, _reactAddonsCreateFragment2.default)(childrenObject);\n}\n\nfunction interpolate(options) {\n\tvar mixedString = options.mixedString,\n\t components = options.components,\n\t throwErrors = options.throwErrors;\n\n\n\tcurrentMixedString = mixedString;\n\n\tif (!components) {\n\t\treturn mixedString;\n\t}\n\n\tif ((typeof components === 'undefined' ? 'undefined' : _typeof(components)) !== 'object') {\n\t\tif (throwErrors) {\n\t\t\tthrow new Error('Interpolation Error: unable to process `' + mixedString + '` because components is not an object');\n\t\t}\n\n\t\treturn mixedString;\n\t}\n\n\tvar tokens = (0, _tokenize2.default)(mixedString);\n\n\ttry {\n\t\treturn buildChildren(tokens, components);\n\t} catch (error) {\n\t\tif (throwErrors) {\n\t\t\tthrow new Error('Interpolation Error: unable to process `' + mixedString + '` because of error `' + error.message + '`');\n\t\t}\n\n\t\treturn mixedString;\n\t}\n};\n\nexports.default = interpolate;\n//# sourceMappingURL=index.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMTEuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vL3Zhci9qZW5raW5zL3dvcmtzcGFjZS9QbHVnaW4tUmVsZWFzZS93b3JkcHJlc3Mtc2VvLXByZW1pdW0vLnJlcG9zL3dvcmRwcmVzcy1zZW8tcHJlbWl1bS9ub2RlX21vZHVsZXMvaW50ZXJwb2xhdGUtY29tcG9uZW50cy9saWIvaW5kZXguanM/ZWZkYiJdLCJzb3VyY2VzQ29udGVudCI6WyIndXNlIHN0cmljdCc7XG5cbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuXHR2YWx1ZTogdHJ1ZVxufSk7XG5cbnZhciBfdHlwZW9mID0gdHlwZW9mIFN5bWJvbCA9PT0gXCJmdW5jdGlvblwiICYmIHR5cGVvZiBTeW1ib2wuaXRlcmF0b3IgPT09IFwic3ltYm9sXCIgPyBmdW5jdGlvbiAob2JqKSB7IHJldHVybiB0eXBlb2Ygb2JqOyB9IDogZnVuY3Rpb24gKG9iaikgeyByZXR1cm4gb2JqICYmIHR5cGVvZiBTeW1ib2wgPT09IFwiZnVuY3Rpb25cIiAmJiBvYmouY29uc3RydWN0b3IgPT09IFN5bWJvbCAmJiBvYmogIT09IFN5bWJvbC5wcm90b3R5cGUgPyBcInN5bWJvbFwiIDogdHlwZW9mIG9iajsgfTsgLyoqXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiBFeHRlcm5hbCBEZXBlbmRlbmNpZXNcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqL1xuXG5cbi8qKlxuICogSW50ZXJuYWwgRGVwZW5kZW5jaWVzXG4gKi9cblxuXG52YXIgX3JlYWN0ID0gcmVxdWlyZSgncmVhY3QnKTtcblxudmFyIF9yZWFjdDIgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KF9yZWFjdCk7XG5cbnZhciBfcmVhY3RBZGRvbnNDcmVhdGVGcmFnbWVudCA9IHJlcXVpcmUoJ3JlYWN0LWFkZG9ucy1jcmVhdGUtZnJhZ21lbnQnKTtcblxudmFyIF9yZWFjdEFkZG9uc0NyZWF0ZUZyYWdtZW50MiA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQoX3JlYWN0QWRkb25zQ3JlYXRlRnJhZ21lbnQpO1xuXG52YXIgX3Rva2VuaXplID0gcmVxdWlyZSgnLi90b2tlbml6ZScpO1xuXG52YXIgX3Rva2VuaXplMiA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQoX3Rva2VuaXplKTtcblxuZnVuY3Rpb24gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChvYmopIHsgcmV0dXJuIG9iaiAmJiBvYmouX19lc01vZHVsZSA/IG9iaiA6IHsgZGVmYXVsdDogb2JqIH07IH1cblxudmFyIGN1cnJlbnRNaXhlZFN0cmluZyA9IHZvaWQgMDtcblxuZnVuY3Rpb24gZ2V0Q2xvc2VJbmRleChvcGVuSW5kZXgsIHRva2Vucykge1xuXHR2YXIgb3BlblRva2VuID0gdG9rZW5zW29wZW5JbmRleF0sXG5cdCAgICBuZXN0TGV2ZWwgPSAwLFxuXHQgICAgdG9rZW4sXG5cdCAgICBpO1xuXHRmb3IgKGkgPSBvcGVuSW5kZXggKyAxOyBpIDwgdG9rZW5zLmxlbmd0aDsgaSsrKSB7XG5cdFx0dG9rZW4gPSB0b2tlbnNbaV07XG5cdFx0aWYgKHRva2VuLnZhbHVlID09PSBvcGVuVG9rZW4udmFsdWUpIHtcblx0XHRcdGlmICh0b2tlbi50eXBlID09PSAnY29tcG9uZW50T3BlbicpIHtcblx0XHRcdFx0bmVzdExldmVsKys7XG5cdFx0XHRcdGNvbnRpbnVlO1xuXHRcdFx0fVxuXHRcdFx0aWYgKHRva2VuLnR5cGUgPT09ICdjb21wb25lbnRDbG9zZScpIHtcblx0XHRcdFx0aWYgKG5lc3RMZXZlbCA9PT0gMCkge1xuXHRcdFx0XHRcdHJldHVybiBpO1xuXHRcdFx0XHR9XG5cdFx0XHRcdG5lc3RMZXZlbC0tO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXHQvLyBpZiB3ZSBnZXQgdGhpcyBmYXIsIHRoZXJlIHdhcyBubyBtYXRjaGluZyBjbG9zZSB0b2tlblxuXHR0aHJvdyBuZXcgRXJyb3IoJ01pc3NpbmcgY2xvc2luZyBjb21wb25lbnQgdG9rZW4gYCcgKyBvcGVuVG9rZW4udmFsdWUgKyAnYCcpO1xufVxuXG5mdW5jdGlvbiBidWlsZENoaWxkcmVuKHRva2VucywgY29tcG9uZW50cykge1xuXHR2YXIgY2hpbGRyZW4gPSBbXSxcblx0ICAgIGNoaWxkcmVuT2JqZWN0ID0ge30sXG5cdCAgICBvcGVuQ29tcG9uZW50LFxuXHQgICAgY2xvbmVkT3BlbkNvbXBvbmVudCxcblx0ICAgIG9wZW5JbmRleCxcblx0ICAgIGNsb3NlSW5kZXgsXG5cdCAgICB0b2tlbixcblx0ICAgIGksXG5cdCAgICBncmFuZENoaWxkVG9rZW5zLFxuXHQgICAgZ3JhbmRDaGlsZHJlbixcblx0ICAgIHNpYmxpbmdUb2tlbnMsXG5cdCAgICBzaWJsaW5ncztcblxuXHRmb3IgKGkgPSAwOyBpIDwgdG9rZW5zLmxlbmd0aDsgaSsrKSB7XG5cdFx0dG9rZW4gPSB0b2tlbnNbaV07XG5cdFx0aWYgKHRva2VuLnR5cGUgPT09ICdzdHJpbmcnKSB7XG5cdFx0XHRjaGlsZHJlbi5wdXNoKHRva2VuLnZhbHVlKTtcblx0XHRcdGNvbnRpbnVlO1xuXHRcdH1cblx0XHQvLyBjb21wb25lbnQgbm9kZSBzaG91bGQgYXQgbGVhc3QgYmUgc2V0XG5cdFx0aWYgKCFjb21wb25lbnRzLmhhc093blByb3BlcnR5KHRva2VuLnZhbHVlKSB8fCB0eXBlb2YgY29tcG9uZW50c1t0b2tlbi52YWx1ZV0gPT09ICd1bmRlZmluZWQnKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoJ0ludmFsaWQgaW50ZXJwb2xhdGlvbiwgbWlzc2luZyBjb21wb25lbnQgbm9kZTogYCcgKyB0b2tlbi52YWx1ZSArICdgJyk7XG5cdFx0fVxuXHRcdC8vIHNob3VsZCBiZSBlaXRoZXIgUmVhY3RFbGVtZW50IG9yIG51bGwgKGJvdGggdHlwZSBcIm9iamVjdFwiKSwgYWxsIG90aGVyIHR5cGVzIGRlcHJlY2F0ZWRcblx0XHRpZiAoX3R5cGVvZihjb21wb25lbnRzW3Rva2VuLnZhbHVlXSkgIT09ICdvYmplY3QnKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoJ0ludmFsaWQgaW50ZXJwb2xhdGlvbiwgY29tcG9uZW50IG5vZGUgbXVzdCBiZSBhIFJlYWN0RWxlbWVudCBvciBudWxsOiBgJyArIHRva2VuLnZhbHVlICsgJ2AnLCAnXFxuPiAnICsgY3VycmVudE1peGVkU3RyaW5nKTtcblx0XHR9XG5cdFx0Ly8gd2Ugc2hvdWxkIG5ldmVyIHNlZSBhIGNvbXBvbmVudENsb3NlIHRva2VuIGluIHRoaXMgbG9vcFxuXHRcdGlmICh0b2tlbi50eXBlID09PSAnY29tcG9uZW50Q2xvc2UnKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoJ01pc3Npbmcgb3BlbmluZyBjb21wb25lbnQgdG9rZW46IGAnICsgdG9rZW4udmFsdWUgKyAnYCcpO1xuXHRcdH1cblx0XHRpZiAodG9rZW4udHlwZSA9PT0gJ2NvbXBvbmVudE9wZW4nKSB7XG5cdFx0XHRvcGVuQ29tcG9uZW50ID0gY29tcG9uZW50c1t0b2tlbi52YWx1ZV07XG5cdFx0XHRvcGVuSW5kZXggPSBpO1xuXHRcdFx0YnJlYWs7XG5cdFx0fVxuXHRcdC8vIGNvbXBvbmVudFNlbGZDbG9zaW5nIHRva2VuXG5cdFx0Y2hpbGRyZW4ucHVzaChjb21wb25lbnRzW3Rva2VuLnZhbHVlXSk7XG5cdFx0Y29udGludWU7XG5cdH1cblxuXHRpZiAob3BlbkNvbXBvbmVudCkge1xuXHRcdGNsb3NlSW5kZXggPSBnZXRDbG9zZUluZGV4KG9wZW5JbmRleCwgdG9rZW5zKTtcblx0XHRncmFuZENoaWxkVG9rZW5zID0gdG9rZW5zLnNsaWNlKG9wZW5JbmRleCArIDEsIGNsb3NlSW5kZXgpO1xuXHRcdGdyYW5kQ2hpbGRyZW4gPSBidWlsZENoaWxkcmVuKGdyYW5kQ2hpbGRUb2tlbnMsIGNvbXBvbmVudHMpO1xuXHRcdGNsb25lZE9wZW5Db21wb25lbnQgPSBfcmVhY3QyLmRlZmF1bHQuY2xvbmVFbGVtZW50KG9wZW5Db21wb25lbnQsIHt9LCBncmFuZENoaWxkcmVuKTtcblx0XHRjaGlsZHJlbi5wdXNoKGNsb25lZE9wZW5Db21wb25lbnQpO1xuXG5cdFx0aWYgKGNsb3NlSW5kZXggPCB0b2tlbnMubGVuZ3RoIC0gMSkge1xuXHRcdFx0c2libGluZ1Rva2VucyA9IHRva2Vucy5zbGljZShjbG9zZUluZGV4ICsgMSk7XG5cdFx0XHRzaWJsaW5ncyA9IGJ1aWxkQ2hpbGRyZW4oc2libGluZ1Rva2VucywgY29tcG9uZW50cyk7XG5cdFx0XHRjaGlsZHJlbiA9IGNoaWxkcmVuLmNvbmNhdChzaWJsaW5ncyk7XG5cdFx0fVxuXHR9XG5cblx0aWYgKGNoaWxkcmVuLmxlbmd0aCA9PT0gMSkge1xuXHRcdHJldHVybiBjaGlsZHJlblswXTtcblx0fVxuXG5cdGNoaWxkcmVuLmZvckVhY2goZnVuY3Rpb24gKGNoaWxkLCBpbmRleCkge1xuXHRcdGlmIChjaGlsZCkge1xuXHRcdFx0Y2hpbGRyZW5PYmplY3RbJ2ludGVycG9sYXRpb24tY2hpbGQtJyArIGluZGV4XSA9IGNoaWxkO1xuXHRcdH1cblx0fSk7XG5cblx0cmV0dXJuICgwLCBfcmVhY3RBZGRvbnNDcmVhdGVGcmFnbWVudDIuZGVmYXVsdCkoY2hpbGRyZW5PYmplY3QpO1xufVxuXG5mdW5jdGlvbiBpbnRlcnBvbGF0ZShvcHRpb25zKSB7XG5cdHZhciBtaXhlZFN0cmluZyA9IG9wdGlvbnMubWl4ZWRTdHJpbmcsXG5cdCAgICBjb21wb25lbnRzID0gb3B0aW9ucy5jb21wb25lbnRzLFxuXHQgICAgdGhyb3dFcnJvcnMgPSBvcHRpb25zLnRocm93RXJyb3JzO1xuXG5cblx0Y3VycmVudE1peGVkU3RyaW5nID0gbWl4ZWRTdHJpbmc7XG5cblx0aWYgKCFjb21wb25lbnRzKSB7XG5cdFx0cmV0dXJuIG1peGVkU3RyaW5nO1xuXHR9XG5cblx0aWYgKCh0eXBlb2YgY29tcG9uZW50cyA9PT0gJ3VuZGVmaW5lZCcgPyAndW5kZWZpbmVkJyA6IF90eXBlb2YoY29tcG9uZW50cykpICE9PSAnb2JqZWN0Jykge1xuXHRcdGlmICh0aHJvd0Vycm9ycykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKCdJbnRlcnBvbGF0aW9uIEVycm9yOiB1bmFibGUgdG8gcHJvY2VzcyBgJyArIG1peGVkU3RyaW5nICsgJ2AgYmVjYXVzZSBjb21wb25lbnRzIGlzIG5vdCBhbiBvYmplY3QnKTtcblx0XHR9XG5cblx0XHRyZXR1cm4gbWl4ZWRTdHJpbmc7XG5cdH1cblxuXHR2YXIgdG9rZW5zID0gKDAsIF90b2tlbml6ZTIuZGVmYXVsdCkobWl4ZWRTdHJpbmcpO1xuXG5cdHRyeSB7XG5cdFx0cmV0dXJuIGJ1aWxkQ2hpbGRyZW4odG9rZW5zLCBjb21wb25lbnRzKTtcblx0fSBjYXRjaCAoZXJyb3IpIHtcblx0XHRpZiAodGhyb3dFcnJvcnMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcignSW50ZXJwb2xhdGlvbiBFcnJvcjogdW5hYmxlIHRvIHByb2Nlc3MgYCcgKyBtaXhlZFN0cmluZyArICdgIGJlY2F1c2Ugb2YgZXJyb3IgYCcgKyBlcnJvci5tZXNzYWdlICsgJ2AnKTtcblx0XHR9XG5cblx0XHRyZXR1cm4gbWl4ZWRTdHJpbmc7XG5cdH1cbn07XG5cbmV4cG9ydHMuZGVmYXVsdCA9IGludGVycG9sYXRlO1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9aW5kZXguanMubWFwIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///11\n")},function(module,exports,__webpack_require__){"use strict";eval("\n\n/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\n\nfunction makeEmptyFunction(arg) {\n return function () {\n return arg;\n };\n}\n\n/**\n * This function accepts and discards inputs; it has no side effects. This is\n * primarily useful idiomatically for overridable function endpoints which\n * always need to be callable, since JS lacks a null-call idiom ala Cocoa.\n */\nvar emptyFunction = function emptyFunction() {};\n\nemptyFunction.thatReturns = makeEmptyFunction;\nemptyFunction.thatReturnsFalse = makeEmptyFunction(false);\nemptyFunction.thatReturnsTrue = makeEmptyFunction(true);\nemptyFunction.thatReturnsNull = makeEmptyFunction(null);\nemptyFunction.thatReturnsThis = function () {\n return this;\n};\nemptyFunction.thatReturnsArgument = function (arg) {\n return arg;\n};\n\nmodule.exports = emptyFunction;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMTIuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vL3Zhci9qZW5raW5zL3dvcmtzcGFjZS9QbHVnaW4tUmVsZWFzZS93b3JkcHJlc3Mtc2VvLXByZW1pdW0vLnJlcG9zL3dvcmRwcmVzcy1zZW8tcHJlbWl1bS9ub2RlX21vZHVsZXMvZmJqcy9saWIvZW1wdHlGdW5jdGlvbi5qcz9mOWMwIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG4vKipcbiAqIENvcHlyaWdodCAoYykgMjAxMy1wcmVzZW50LCBGYWNlYm9vaywgSW5jLlxuICpcbiAqIFRoaXMgc291cmNlIGNvZGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlIGZvdW5kIGluIHRoZVxuICogTElDRU5TRSBmaWxlIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvdXJjZSB0cmVlLlxuICpcbiAqIFxuICovXG5cbmZ1bmN0aW9uIG1ha2VFbXB0eUZ1bmN0aW9uKGFyZykge1xuICByZXR1cm4gZnVuY3Rpb24gKCkge1xuICAgIHJldHVybiBhcmc7XG4gIH07XG59XG5cbi8qKlxuICogVGhpcyBmdW5jdGlvbiBhY2NlcHRzIGFuZCBkaXNjYXJkcyBpbnB1dHM7IGl0IGhhcyBubyBzaWRlIGVmZmVjdHMuIFRoaXMgaXNcbiAqIHByaW1hcmlseSB1c2VmdWwgaWRpb21hdGljYWxseSBmb3Igb3ZlcnJpZGFibGUgZnVuY3Rpb24gZW5kcG9pbnRzIHdoaWNoXG4gKiBhbHdheXMgbmVlZCB0byBiZSBjYWxsYWJsZSwgc2luY2UgSlMgbGFja3MgYSBudWxsLWNhbGwgaWRpb20gYWxhIENvY29hLlxuICovXG52YXIgZW1wdHlGdW5jdGlvbiA9IGZ1bmN0aW9uIGVtcHR5RnVuY3Rpb24oKSB7fTtcblxuZW1wdHlGdW5jdGlvbi50aGF0UmV0dXJucyA9IG1ha2VFbXB0eUZ1bmN0aW9uO1xuZW1wdHlGdW5jdGlvbi50aGF0UmV0dXJuc0ZhbHNlID0gbWFrZUVtcHR5RnVuY3Rpb24oZmFsc2UpO1xuZW1wdHlGdW5jdGlvbi50aGF0UmV0dXJuc1RydWUgPSBtYWtlRW1wdHlGdW5jdGlvbih0cnVlKTtcbmVtcHR5RnVuY3Rpb24udGhhdFJldHVybnNOdWxsID0gbWFrZUVtcHR5RnVuY3Rpb24obnVsbCk7XG5lbXB0eUZ1bmN0aW9uLnRoYXRSZXR1cm5zVGhpcyA9IGZ1bmN0aW9uICgpIHtcbiAgcmV0dXJuIHRoaXM7XG59O1xuZW1wdHlGdW5jdGlvbi50aGF0UmV0dXJuc0FyZ3VtZW50ID0gZnVuY3Rpb24gKGFyZykge1xuICByZXR1cm4gYXJnO1xufTtcblxubW9kdWxlLmV4cG9ydHMgPSBlbXB0eUZ1bmN0aW9uOyJdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///12\n")},,,,function(module,exports,__webpack_require__){"use strict";eval("/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\n\nvar ReactPropTypesSecret = __webpack_require__(17);\n\nfunction emptyFunction() {}\nfunction emptyFunctionWithReset() {}\nemptyFunctionWithReset.resetWarningCache = emptyFunction;\n\nmodule.exports = function() {\n function shim(props, propName, componentName, location, propFullName, secret) {\n if (secret === ReactPropTypesSecret) {\n // It is still safe when called from React.\n return;\n }\n var err = new Error(\n 'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +\n 'Use PropTypes.checkPropTypes() to call them. ' +\n 'Read more at http://fb.me/use-check-prop-types'\n );\n err.name = 'Invariant Violation';\n throw err;\n };\n shim.isRequired = shim;\n function getShim() {\n return shim;\n };\n // Important!\n // Keep this list in sync with production version in `./factoryWithTypeCheckers.js`.\n var ReactPropTypes = {\n array: shim,\n bool: shim,\n func: shim,\n number: shim,\n object: shim,\n string: shim,\n symbol: shim,\n\n any: shim,\n arrayOf: getShim,\n element: shim,\n elementType: shim,\n instanceOf: getShim,\n node: shim,\n objectOf: getShim,\n oneOf: getShim,\n oneOfType: getShim,\n shape: getShim,\n exact: getShim,\n\n checkPropTypes: emptyFunctionWithReset,\n resetWarningCache: emptyFunction\n };\n\n ReactPropTypes.PropTypes = ReactPropTypes;\n\n return ReactPropTypes;\n};\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMTYuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vL3Zhci9qZW5raW5zL3dvcmtzcGFjZS9QbHVnaW4tUmVsZWFzZS93b3JkcHJlc3Mtc2VvLXByZW1pdW0vLnJlcG9zL3dvcmRwcmVzcy1zZW8tcHJlbWl1bS9ub2RlX21vZHVsZXMvcHJvcC10eXBlcy9mYWN0b3J5V2l0aFRocm93aW5nU2hpbXMuanM/ZGE1ZiJdLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIENvcHlyaWdodCAoYykgMjAxMy1wcmVzZW50LCBGYWNlYm9vaywgSW5jLlxuICpcbiAqIFRoaXMgc291cmNlIGNvZGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlIGZvdW5kIGluIHRoZVxuICogTElDRU5TRSBmaWxlIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvdXJjZSB0cmVlLlxuICovXG5cbid1c2Ugc3RyaWN0JztcblxudmFyIFJlYWN0UHJvcFR5cGVzU2VjcmV0ID0gcmVxdWlyZSgnLi9saWIvUmVhY3RQcm9wVHlwZXNTZWNyZXQnKTtcblxuZnVuY3Rpb24gZW1wdHlGdW5jdGlvbigpIHt9XG5mdW5jdGlvbiBlbXB0eUZ1bmN0aW9uV2l0aFJlc2V0KCkge31cbmVtcHR5RnVuY3Rpb25XaXRoUmVzZXQucmVzZXRXYXJuaW5nQ2FjaGUgPSBlbXB0eUZ1bmN0aW9uO1xuXG5tb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uKCkge1xuICBmdW5jdGlvbiBzaGltKHByb3BzLCBwcm9wTmFtZSwgY29tcG9uZW50TmFtZSwgbG9jYXRpb24sIHByb3BGdWxsTmFtZSwgc2VjcmV0KSB7XG4gICAgaWYgKHNlY3JldCA9PT0gUmVhY3RQcm9wVHlwZXNTZWNyZXQpIHtcbiAgICAgIC8vIEl0IGlzIHN0aWxsIHNhZmUgd2hlbiBjYWxsZWQgZnJvbSBSZWFjdC5cbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdmFyIGVyciA9IG5ldyBFcnJvcihcbiAgICAgICdDYWxsaW5nIFByb3BUeXBlcyB2YWxpZGF0b3JzIGRpcmVjdGx5IGlzIG5vdCBzdXBwb3J0ZWQgYnkgdGhlIGBwcm9wLXR5cGVzYCBwYWNrYWdlLiAnICtcbiAgICAgICdVc2UgUHJvcFR5cGVzLmNoZWNrUHJvcFR5cGVzKCkgdG8gY2FsbCB0aGVtLiAnICtcbiAgICAgICdSZWFkIG1vcmUgYXQgaHR0cDovL2ZiLm1lL3VzZS1jaGVjay1wcm9wLXR5cGVzJ1xuICAgICk7XG4gICAgZXJyLm5hbWUgPSAnSW52YXJpYW50IFZpb2xhdGlvbic7XG4gICAgdGhyb3cgZXJyO1xuICB9O1xuICBzaGltLmlzUmVxdWlyZWQgPSBzaGltO1xuICBmdW5jdGlvbiBnZXRTaGltKCkge1xuICAgIHJldHVybiBzaGltO1xuICB9O1xuICAvLyBJbXBvcnRhbnQhXG4gIC8vIEtlZXAgdGhpcyBsaXN0IGluIHN5bmMgd2l0aCBwcm9kdWN0aW9uIHZlcnNpb24gaW4gYC4vZmFjdG9yeVdpdGhUeXBlQ2hlY2tlcnMuanNgLlxuICB2YXIgUmVhY3RQcm9wVHlwZXMgPSB7XG4gICAgYXJyYXk6IHNoaW0sXG4gICAgYm9vbDogc2hpbSxcbiAgICBmdW5jOiBzaGltLFxuICAgIG51bWJlcjogc2hpbSxcbiAgICBvYmplY3Q6IHNoaW0sXG4gICAgc3RyaW5nOiBzaGltLFxuICAgIHN5bWJvbDogc2hpbSxcblxuICAgIGFueTogc2hpbSxcbiAgICBhcnJheU9mOiBnZXRTaGltLFxuICAgIGVsZW1lbnQ6IHNoaW0sXG4gICAgZWxlbWVudFR5cGU6IHNoaW0sXG4gICAgaW5zdGFuY2VPZjogZ2V0U2hpbSxcbiAgICBub2RlOiBzaGltLFxuICAgIG9iamVjdE9mOiBnZXRTaGltLFxuICAgIG9uZU9mOiBnZXRTaGltLFxuICAgIG9uZU9mVHlwZTogZ2V0U2hpbSxcbiAgICBzaGFwZTogZ2V0U2hpbSxcbiAgICBleGFjdDogZ2V0U2hpbSxcblxuICAgIGNoZWNrUHJvcFR5cGVzOiBlbXB0eUZ1bmN0aW9uV2l0aFJlc2V0LFxuICAgIHJlc2V0V2FybmluZ0NhY2hlOiBlbXB0eUZ1bmN0aW9uXG4gIH07XG5cbiAgUmVhY3RQcm9wVHlwZXMuUHJvcFR5cGVzID0gUmVhY3RQcm9wVHlwZXM7XG5cbiAgcmV0dXJuIFJlYWN0UHJvcFR5cGVzO1xufTtcbiJdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7Iiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///16\n")},function(module,exports,__webpack_require__){"use strict";eval("/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\n\nvar ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED';\n\nmodule.exports = ReactPropTypesSecret;\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMTcuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vL3Zhci9qZW5raW5zL3dvcmtzcGFjZS9QbHVnaW4tUmVsZWFzZS93b3JkcHJlc3Mtc2VvLXByZW1pdW0vLnJlcG9zL3dvcmRwcmVzcy1zZW8tcHJlbWl1bS9ub2RlX21vZHVsZXMvcHJvcC10eXBlcy9saWIvUmVhY3RQcm9wVHlwZXNTZWNyZXQuanM/ZjhmZSJdLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIENvcHlyaWdodCAoYykgMjAxMy1wcmVzZW50LCBGYWNlYm9vaywgSW5jLlxuICpcbiAqIFRoaXMgc291cmNlIGNvZGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlIGZvdW5kIGluIHRoZVxuICogTElDRU5TRSBmaWxlIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvdXJjZSB0cmVlLlxuICovXG5cbid1c2Ugc3RyaWN0JztcblxudmFyIFJlYWN0UHJvcFR5cGVzU2VjcmV0ID0gJ1NFQ1JFVF9ET19OT1RfUEFTU19USElTX09SX1lPVV9XSUxMX0JFX0ZJUkVEJztcblxubW9kdWxlLmV4cG9ydHMgPSBSZWFjdFByb3BUeXBlc1NlY3JldDtcbiJdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOyIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///17\n")},,,function(module,exports,__webpack_require__){"use strict";eval("/**\n * Copyright (c) 2015-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\n\nvar React = __webpack_require__(5);\n\nvar REACT_ELEMENT_TYPE =\n (typeof Symbol === 'function' && Symbol.for && Symbol.for('react.element')) ||\n 0xeac7;\n\nvar emptyFunction = __webpack_require__(12);\nvar invariant = __webpack_require__(21);\nvar warning = __webpack_require__(22);\n\nvar SEPARATOR = '.';\nvar SUBSEPARATOR = ':';\n\nvar didWarnAboutMaps = false;\n\nvar ITERATOR_SYMBOL = typeof Symbol === 'function' && Symbol.iterator;\nvar FAUX_ITERATOR_SYMBOL = '@@iterator'; // Before Symbol spec.\n\nfunction getIteratorFn(maybeIterable) {\n var iteratorFn =\n maybeIterable &&\n ((ITERATOR_SYMBOL && maybeIterable[ITERATOR_SYMBOL]) ||\n maybeIterable[FAUX_ITERATOR_SYMBOL]);\n if (typeof iteratorFn === 'function') {\n return iteratorFn;\n }\n}\n\nfunction escape(key) {\n var escapeRegex = /[=:]/g;\n var escaperLookup = {\n '=': '=0',\n ':': '=2'\n };\n var escapedString = ('' + key).replace(escapeRegex, function(match) {\n return escaperLookup[match];\n });\n\n return '$' + escapedString;\n}\n\nfunction getComponentKey(component, index) {\n // Do some typechecking here since we call this blindly. We want to ensure\n // that we don't block potential future ES APIs.\n if (component && typeof component === 'object' && component.key != null) {\n // Explicit key\n return escape(component.key);\n }\n // Implicit key determined by the index in the set\n return index.toString(36);\n}\n\nfunction traverseAllChildrenImpl(\n children,\n nameSoFar,\n callback,\n traverseContext\n) {\n var type = typeof children;\n\n if (type === 'undefined' || type === 'boolean') {\n // All of the above are perceived as null.\n children = null;\n }\n\n if (\n children === null ||\n type === 'string' ||\n type === 'number' ||\n // The following is inlined from ReactElement. This means we can optimize\n // some checks. React Fiber also inlines this logic for similar purposes.\n (type === 'object' && children.$$typeof === REACT_ELEMENT_TYPE)\n ) {\n callback(\n traverseContext,\n children,\n // If it's the only child, treat the name as if it was wrapped in an array\n // so that it's consistent if the number of children grows.\n nameSoFar === '' ? SEPARATOR + getComponentKey(children, 0) : nameSoFar\n );\n return 1;\n }\n\n var child;\n var nextName;\n var subtreeCount = 0; // Count of children found in the current subtree.\n var nextNamePrefix = nameSoFar === '' ? SEPARATOR : nameSoFar + SUBSEPARATOR;\n\n if (Array.isArray(children)) {\n for (var i = 0; i < children.length; i++) {\n child = children[i];\n nextName = nextNamePrefix + getComponentKey(child, i);\n subtreeCount += traverseAllChildrenImpl(\n child,\n nextName,\n callback,\n traverseContext\n );\n }\n } else {\n var iteratorFn = getIteratorFn(children);\n if (iteratorFn) {\n if (false) {}\n\n var iterator = iteratorFn.call(children);\n var step;\n var ii = 0;\n while (!(step = iterator.next()).done) {\n child = step.value;\n nextName = nextNamePrefix + getComponentKey(child, ii++);\n subtreeCount += traverseAllChildrenImpl(\n child,\n nextName,\n callback,\n traverseContext\n );\n }\n } else if (type === 'object') {\n var addendum = '';\n if (false) {}\n var childrenString = '' + children;\n invariant(\n false,\n 'Objects are not valid as a React child (found: %s).%s',\n childrenString === '[object Object]'\n ? 'object with keys {' + Object.keys(children).join(', ') + '}'\n : childrenString,\n addendum\n );\n }\n }\n\n return subtreeCount;\n}\n\nfunction traverseAllChildren(children, callback, traverseContext) {\n if (children == null) {\n return 0;\n }\n\n return traverseAllChildrenImpl(children, '', callback, traverseContext);\n}\n\nvar userProvidedKeyEscapeRegex = /\\/+/g;\nfunction escapeUserProvidedKey(text) {\n return ('' + text).replace(userProvidedKeyEscapeRegex, '$&/');\n}\n\nfunction cloneAndReplaceKey(oldElement, newKey) {\n return React.cloneElement(\n oldElement,\n {key: newKey},\n oldElement.props !== undefined ? oldElement.props.children : undefined\n );\n}\n\nvar DEFAULT_POOL_SIZE = 10;\nvar DEFAULT_POOLER = oneArgumentPooler;\n\nvar oneArgumentPooler = function(copyFieldsFrom) {\n var Klass = this;\n if (Klass.instancePool.length) {\n var instance = Klass.instancePool.pop();\n Klass.call(instance, copyFieldsFrom);\n return instance;\n } else {\n return new Klass(copyFieldsFrom);\n }\n};\n\nvar addPoolingTo = function addPoolingTo(CopyConstructor, pooler) {\n // Casting as any so that flow ignores the actual implementation and trusts\n // it to match the type we declared\n var NewKlass = CopyConstructor;\n NewKlass.instancePool = [];\n NewKlass.getPooled = pooler || DEFAULT_POOLER;\n if (!NewKlass.poolSize) {\n NewKlass.poolSize = DEFAULT_POOL_SIZE;\n }\n NewKlass.release = standardReleaser;\n return NewKlass;\n};\n\nvar standardReleaser = function standardReleaser(instance) {\n var Klass = this;\n invariant(\n instance instanceof Klass,\n 'Trying to release an instance into a pool of a different type.'\n );\n instance.destructor();\n if (Klass.instancePool.length < Klass.poolSize) {\n Klass.instancePool.push(instance);\n }\n};\n\nvar fourArgumentPooler = function fourArgumentPooler(a1, a2, a3, a4) {\n var Klass = this;\n if (Klass.instancePool.length) {\n var instance = Klass.instancePool.pop();\n Klass.call(instance, a1, a2, a3, a4);\n return instance;\n } else {\n return new Klass(a1, a2, a3, a4);\n }\n};\n\nfunction MapBookKeeping(mapResult, keyPrefix, mapFunction, mapContext) {\n this.result = mapResult;\n this.keyPrefix = keyPrefix;\n this.func = mapFunction;\n this.context = mapContext;\n this.count = 0;\n}\nMapBookKeeping.prototype.destructor = function() {\n this.result = null;\n this.keyPrefix = null;\n this.func = null;\n this.context = null;\n this.count = 0;\n};\naddPoolingTo(MapBookKeeping, fourArgumentPooler);\n\nfunction mapSingleChildIntoContext(bookKeeping, child, childKey) {\n var result = bookKeeping.result;\n var keyPrefix = bookKeeping.keyPrefix;\n var func = bookKeeping.func;\n var context = bookKeeping.context;\n\n var mappedChild = func.call(context, child, bookKeeping.count++);\n if (Array.isArray(mappedChild)) {\n mapIntoWithKeyPrefixInternal(\n mappedChild,\n result,\n childKey,\n emptyFunction.thatReturnsArgument\n );\n } else if (mappedChild != null) {\n if (React.isValidElement(mappedChild)) {\n mappedChild = cloneAndReplaceKey(\n mappedChild,\n // Keep both the (mapped) and old keys if they differ, just as\n // traverseAllChildren used to do for objects as children\n keyPrefix +\n (mappedChild.key && (!child || child.key !== mappedChild.key)\n ? escapeUserProvidedKey(mappedChild.key) + '/'\n : '') +\n childKey\n );\n }\n result.push(mappedChild);\n }\n}\n\nfunction mapIntoWithKeyPrefixInternal(children, array, prefix, func, context) {\n var escapedPrefix = '';\n if (prefix != null) {\n escapedPrefix = escapeUserProvidedKey(prefix) + '/';\n }\n var traverseContext = MapBookKeeping.getPooled(\n array,\n escapedPrefix,\n func,\n context\n );\n traverseAllChildren(children, mapSingleChildIntoContext, traverseContext);\n MapBookKeeping.release(traverseContext);\n}\n\nvar numericPropertyRegex = /^\\d+$/;\n\nvar warnedAboutNumeric = false;\n\nfunction createReactFragment(object) {\n if (typeof object !== 'object' || !object || Array.isArray(object)) {\n warning(\n false,\n 'React.addons.createFragment only accepts a single object. Got: %s',\n object\n );\n return object;\n }\n if (React.isValidElement(object)) {\n warning(\n false,\n 'React.addons.createFragment does not accept a ReactElement ' +\n 'without a wrapper object.'\n );\n return object;\n }\n\n invariant(\n object.nodeType !== 1,\n 'React.addons.createFragment(...): Encountered an invalid child; DOM ' +\n 'elements are not valid children of React components.'\n );\n\n var result = [];\n\n for (var key in object) {\n if (false) {}\n mapIntoWithKeyPrefixInternal(\n object[key],\n result,\n key,\n emptyFunction.thatReturnsArgument\n );\n }\n\n return result;\n}\n\nmodule.exports = createReactFragment;\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMjAuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vL3Zhci9qZW5raW5zL3dvcmtzcGFjZS9QbHVnaW4tUmVsZWFzZS93b3JkcHJlc3Mtc2VvLXByZW1pdW0vLnJlcG9zL3dvcmRwcmVzcy1zZW8tcHJlbWl1bS9ub2RlX21vZHVsZXMvcmVhY3QtYWRkb25zLWNyZWF0ZS1mcmFnbWVudC9pbmRleC5qcz8yZWQxIl0sInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQ29weXJpZ2h0IChjKSAyMDE1LXByZXNlbnQsIEZhY2Vib29rLCBJbmMuXG4gKlxuICogVGhpcyBzb3VyY2UgY29kZSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2UgZm91bmQgaW4gdGhlXG4gKiBMSUNFTlNFIGZpbGUgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc291cmNlIHRyZWUuXG4gKi9cblxuJ3VzZSBzdHJpY3QnO1xuXG52YXIgUmVhY3QgPSByZXF1aXJlKCdyZWFjdCcpO1xuXG52YXIgUkVBQ1RfRUxFTUVOVF9UWVBFID1cbiAgKHR5cGVvZiBTeW1ib2wgPT09ICdmdW5jdGlvbicgJiYgU3ltYm9sLmZvciAmJiBTeW1ib2wuZm9yKCdyZWFjdC5lbGVtZW50JykpIHx8XG4gIDB4ZWFjNztcblxudmFyIGVtcHR5RnVuY3Rpb24gPSByZXF1aXJlKCdmYmpzL2xpYi9lbXB0eUZ1bmN0aW9uJyk7XG52YXIgaW52YXJpYW50ID0gcmVxdWlyZSgnZmJqcy9saWIvaW52YXJpYW50Jyk7XG52YXIgd2FybmluZyA9IHJlcXVpcmUoJ2ZianMvbGliL3dhcm5pbmcnKTtcblxudmFyIFNFUEFSQVRPUiA9ICcuJztcbnZhciBTVUJTRVBBUkFUT1IgPSAnOic7XG5cbnZhciBkaWRXYXJuQWJvdXRNYXBzID0gZmFsc2U7XG5cbnZhciBJVEVSQVRPUl9TWU1CT0wgPSB0eXBlb2YgU3ltYm9sID09PSAnZnVuY3Rpb24nICYmIFN5bWJvbC5pdGVyYXRvcjtcbnZhciBGQVVYX0lURVJBVE9SX1NZTUJPTCA9ICdAQGl0ZXJhdG9yJzsgLy8gQmVmb3JlIFN5bWJvbCBzcGVjLlxuXG5mdW5jdGlvbiBnZXRJdGVyYXRvckZuKG1heWJlSXRlcmFibGUpIHtcbiAgdmFyIGl0ZXJhdG9yRm4gPVxuICAgIG1heWJlSXRlcmFibGUgJiZcbiAgICAoKElURVJBVE9SX1NZTUJPTCAmJiBtYXliZUl0ZXJhYmxlW0lURVJBVE9SX1NZTUJPTF0pIHx8XG4gICAgICBtYXliZUl0ZXJhYmxlW0ZBVVhfSVRFUkFUT1JfU1lNQk9MXSk7XG4gIGlmICh0eXBlb2YgaXRlcmF0b3JGbiA9PT0gJ2Z1bmN0aW9uJykge1xuICAgIHJldHVybiBpdGVyYXRvckZuO1xuICB9XG59XG5cbmZ1bmN0aW9uIGVzY2FwZShrZXkpIHtcbiAgdmFyIGVzY2FwZVJlZ2V4ID0gL1s9Ol0vZztcbiAgdmFyIGVzY2FwZXJMb29rdXAgPSB7XG4gICAgJz0nOiAnPTAnLFxuICAgICc6JzogJz0yJ1xuICB9O1xuICB2YXIgZXNjYXBlZFN0cmluZyA9ICgnJyArIGtleSkucmVwbGFjZShlc2NhcGVSZWdleCwgZnVuY3Rpb24obWF0Y2gpIHtcbiAgICByZXR1cm4gZXNjYXBlckxvb2t1cFttYXRjaF07XG4gIH0pO1xuXG4gIHJldHVybiAnJCcgKyBlc2NhcGVkU3RyaW5nO1xufVxuXG5mdW5jdGlvbiBnZXRDb21wb25lbnRLZXkoY29tcG9uZW50LCBpbmRleCkge1xuICAvLyBEbyBzb21lIHR5cGVjaGVja2luZyBoZXJlIHNpbmNlIHdlIGNhbGwgdGhpcyBibGluZGx5LiBXZSB3YW50IHRvIGVuc3VyZVxuICAvLyB0aGF0IHdlIGRvbid0IGJsb2NrIHBvdGVudGlhbCBmdXR1cmUgRVMgQVBJcy5cbiAgaWYgKGNvbXBvbmVudCAmJiB0eXBlb2YgY29tcG9uZW50ID09PSAnb2JqZWN0JyAmJiBjb21wb25lbnQua2V5ICE9IG51bGwpIHtcbiAgICAvLyBFeHBsaWNpdCBrZXlcbiAgICByZXR1cm4gZXNjYXBlKGNvbXBvbmVudC5rZXkpO1xuICB9XG4gIC8vIEltcGxpY2l0IGtleSBkZXRlcm1pbmVkIGJ5IHRoZSBpbmRleCBpbiB0aGUgc2V0XG4gIHJldHVybiBpbmRleC50b1N0cmluZygzNik7XG59XG5cbmZ1bmN0aW9uIHRyYXZlcnNlQWxsQ2hpbGRyZW5JbXBsKFxuICBjaGlsZHJlbixcbiAgbmFtZVNvRmFyLFxuICBjYWxsYmFjayxcbiAgdHJhdmVyc2VDb250ZXh0XG4pIHtcbiAgdmFyIHR5cGUgPSB0eXBlb2YgY2hpbGRyZW47XG5cbiAgaWYgKHR5cGUgPT09ICd1bmRlZmluZWQnIHx8IHR5cGUgPT09ICdib29sZWFuJykge1xuICAgIC8vIEFsbCBvZiB0aGUgYWJvdmUgYXJlIHBlcmNlaXZlZCBhcyBudWxsLlxuICAgIGNoaWxkcmVuID0gbnVsbDtcbiAgfVxuXG4gIGlmIChcbiAgICBjaGlsZHJlbiA9PT0gbnVsbCB8fFxuICAgIHR5cGUgPT09ICdzdHJpbmcnIHx8XG4gICAgdHlwZSA9PT0gJ251bWJlcicgfHxcbiAgICAvLyBUaGUgZm9sbG93aW5nIGlzIGlubGluZWQgZnJvbSBSZWFjdEVsZW1lbnQuIFRoaXMgbWVhbnMgd2UgY2FuIG9wdGltaXplXG4gICAgLy8gc29tZSBjaGVja3MuIFJlYWN0IEZpYmVyIGFsc28gaW5saW5lcyB0aGlzIGxvZ2ljIGZvciBzaW1pbGFyIHB1cnBvc2VzLlxuICAgICh0eXBlID09PSAnb2JqZWN0JyAmJiBjaGlsZHJlbi4kJHR5cGVvZiA9PT0gUkVBQ1RfRUxFTUVOVF9UWVBFKVxuICApIHtcbiAgICBjYWxsYmFjayhcbiAgICAgIHRyYXZlcnNlQ29udGV4dCxcbiAgICAgIGNoaWxkcmVuLFxuICAgICAgLy8gSWYgaXQncyB0aGUgb25seSBjaGlsZCwgdHJlYXQgdGhlIG5hbWUgYXMgaWYgaXQgd2FzIHdyYXBwZWQgaW4gYW4gYXJyYXlcbiAgICAgIC8vIHNvIHRoYXQgaXQncyBjb25zaXN0ZW50IGlmIHRoZSBudW1iZXIgb2YgY2hpbGRyZW4gZ3Jvd3MuXG4gICAgICBuYW1lU29GYXIgPT09ICcnID8gU0VQQVJBVE9SICsgZ2V0Q29tcG9uZW50S2V5KGNoaWxkcmVuLCAwKSA6IG5hbWVTb0ZhclxuICAgICk7XG4gICAgcmV0dXJuIDE7XG4gIH1cblxuICB2YXIgY2hpbGQ7XG4gIHZhciBuZXh0TmFtZTtcbiAgdmFyIHN1YnRyZWVDb3VudCA9IDA7IC8vIENvdW50IG9mIGNoaWxkcmVuIGZvdW5kIGluIHRoZSBjdXJyZW50IHN1YnRyZWUuXG4gIHZhciBuZXh0TmFtZVByZWZpeCA9IG5hbWVTb0ZhciA9PT0gJycgPyBTRVBBUkFUT1IgOiBuYW1lU29GYXIgKyBTVUJTRVBBUkFUT1I7XG5cbiAgaWYgKEFycmF5LmlzQXJyYXkoY2hpbGRyZW4pKSB7XG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBjaGlsZHJlbi5sZW5ndGg7IGkrKykge1xuICAgICAgY2hpbGQgPSBjaGlsZHJlbltpXTtcbiAgICAgIG5leHROYW1lID0gbmV4dE5hbWVQcmVmaXggKyBnZXRDb21wb25lbnRLZXkoY2hpbGQsIGkpO1xuICAgICAgc3VidHJlZUNvdW50ICs9IHRyYXZlcnNlQWxsQ2hpbGRyZW5JbXBsKFxuICAgICAgICBjaGlsZCxcbiAgICAgICAgbmV4dE5hbWUsXG4gICAgICAgIGNhbGxiYWNrLFxuICAgICAgICB0cmF2ZXJzZUNvbnRleHRcbiAgICAgICk7XG4gICAgfVxuICB9IGVsc2Uge1xuICAgIHZhciBpdGVyYXRvckZuID0gZ2V0SXRlcmF0b3JGbihjaGlsZHJlbik7XG4gICAgaWYgKGl0ZXJhdG9yRm4pIHtcbiAgICAgIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nKSB7XG4gICAgICAgIC8vIFdhcm4gYWJvdXQgdXNpbmcgTWFwcyBhcyBjaGlsZHJlblxuICAgICAgICBpZiAoaXRlcmF0b3JGbiA9PT0gY2hpbGRyZW4uZW50cmllcykge1xuICAgICAgICAgIHdhcm5pbmcoXG4gICAgICAgICAgICBkaWRXYXJuQWJvdXRNYXBzLFxuICAgICAgICAgICAgJ1VzaW5nIE1hcHMgYXMgY2hpbGRyZW4gaXMgdW5zdXBwb3J0ZWQgYW5kIHdpbGwgbGlrZWx5IHlpZWxkICcgK1xuICAgICAgICAgICAgICAndW5leHBlY3RlZCByZXN1bHRzLiBDb252ZXJ0IGl0IHRvIGEgc2VxdWVuY2UvaXRlcmFibGUgb2Yga2V5ZWQgJyArXG4gICAgICAgICAgICAgICdSZWFjdEVsZW1lbnRzIGluc3RlYWQuJ1xuICAgICAgICAgICk7XG4gICAgICAgICAgZGlkV2FybkFib3V0TWFwcyA9IHRydWU7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgdmFyIGl0ZXJhdG9yID0gaXRlcmF0b3JGbi5jYWxsKGNoaWxkcmVuKTtcbiAgICAgIHZhciBzdGVwO1xuICAgICAgdmFyIGlpID0gMDtcbiAgICAgIHdoaWxlICghKHN0ZXAgPSBpdGVyYXRvci5uZXh0KCkpLmRvbmUpIHtcbiAgICAgICAgY2hpbGQgPSBzdGVwLnZhbHVlO1xuICAgICAgICBuZXh0TmFtZSA9IG5leHROYW1lUHJlZml4ICsgZ2V0Q29tcG9uZW50S2V5KGNoaWxkLCBpaSsrKTtcbiAgICAgICAgc3VidHJlZUNvdW50ICs9IHRyYXZlcnNlQWxsQ2hpbGRyZW5JbXBsKFxuICAgICAgICAgIGNoaWxkLFxuICAgICAgICAgIG5leHROYW1lLFxuICAgICAgICAgIGNhbGxiYWNrLFxuICAgICAgICAgIHRyYXZlcnNlQ29udGV4dFxuICAgICAgICApO1xuICAgICAgfVxuICAgIH0gZWxzZSBpZiAodHlwZSA9PT0gJ29iamVjdCcpIHtcbiAgICAgIHZhciBhZGRlbmR1bSA9ICcnO1xuICAgICAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicpIHtcbiAgICAgICAgYWRkZW5kdW0gPVxuICAgICAgICAgICcgSWYgeW91IG1lYW50IHRvIHJlbmRlciBhIGNvbGxlY3Rpb24gb2YgY2hpbGRyZW4sIHVzZSBhbiBhcnJheSAnICtcbiAgICAgICAgICAnaW5zdGVhZCBvciB3cmFwIHRoZSBvYmplY3QgdXNpbmcgY3JlYXRlRnJhZ21lbnQob2JqZWN0KSBmcm9tIHRoZSAnICtcbiAgICAgICAgICAnUmVhY3QgYWRkLW9ucy4nO1xuICAgICAgfVxuICAgICAgdmFyIGNoaWxkcmVuU3RyaW5nID0gJycgKyBjaGlsZHJlbjtcbiAgICAgIGludmFyaWFudChcbiAgICAgICAgZmFsc2UsXG4gICAgICAgICdPYmplY3RzIGFyZSBub3QgdmFsaWQgYXMgYSBSZWFjdCBjaGlsZCAoZm91bmQ6ICVzKS4lcycsXG4gICAgICAgIGNoaWxkcmVuU3RyaW5nID09PSAnW29iamVjdCBPYmplY3RdJ1xuICAgICAgICAgID8gJ29iamVjdCB3aXRoIGtleXMgeycgKyBPYmplY3Qua2V5cyhjaGlsZHJlbikuam9pbignLCAnKSArICd9J1xuICAgICAgICAgIDogY2hpbGRyZW5TdHJpbmcsXG4gICAgICAgIGFkZGVuZHVtXG4gICAgICApO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBzdWJ0cmVlQ291bnQ7XG59XG5cbmZ1bmN0aW9uIHRyYXZlcnNlQWxsQ2hpbGRyZW4oY2hpbGRyZW4sIGNhbGxiYWNrLCB0cmF2ZXJzZUNvbnRleHQpIHtcbiAgaWYgKGNoaWxkcmVuID09IG51bGwpIHtcbiAgICByZXR1cm4gMDtcbiAgfVxuXG4gIHJldHVybiB0cmF2ZXJzZUFsbENoaWxkcmVuSW1wbChjaGlsZHJlbiwgJycsIGNhbGxiYWNrLCB0cmF2ZXJzZUNvbnRleHQpO1xufVxuXG52YXIgdXNlclByb3ZpZGVkS2V5RXNjYXBlUmVnZXggPSAvXFwvKy9nO1xuZnVuY3Rpb24gZXNjYXBlVXNlclByb3ZpZGVkS2V5KHRleHQpIHtcbiAgcmV0dXJuICgnJyArIHRleHQpLnJlcGxhY2UodXNlclByb3ZpZGVkS2V5RXNjYXBlUmVnZXgsICckJi8nKTtcbn1cblxuZnVuY3Rpb24gY2xvbmVBbmRSZXBsYWNlS2V5KG9sZEVsZW1lbnQsIG5ld0tleSkge1xuICByZXR1cm4gUmVhY3QuY2xvbmVFbGVtZW50KFxuICAgIG9sZEVsZW1lbnQsXG4gICAge2tleTogbmV3S2V5fSxcbiAgICBvbGRFbGVtZW50LnByb3BzICE9PSB1bmRlZmluZWQgPyBvbGRFbGVtZW50LnByb3BzLmNoaWxkcmVuIDogdW5kZWZpbmVkXG4gICk7XG59XG5cbnZhciBERUZBVUxUX1BPT0xfU0laRSA9IDEwO1xudmFyIERFRkFVTFRfUE9PTEVSID0gb25lQXJndW1lbnRQb29sZXI7XG5cbnZhciBvbmVBcmd1bWVudFBvb2xlciA9IGZ1bmN0aW9uKGNvcHlGaWVsZHNGcm9tKSB7XG4gIHZhciBLbGFzcyA9IHRoaXM7XG4gIGlmIChLbGFzcy5pbnN0YW5jZVBvb2wubGVuZ3RoKSB7XG4gICAgdmFyIGluc3RhbmNlID0gS2xhc3MuaW5zdGFuY2VQb29sLnBvcCgpO1xuICAgIEtsYXNzLmNhbGwoaW5zdGFuY2UsIGNvcHlGaWVsZHNGcm9tKTtcbiAgICByZXR1cm4gaW5zdGFuY2U7XG4gIH0gZWxzZSB7XG4gICAgcmV0dXJuIG5ldyBLbGFzcyhjb3B5RmllbGRzRnJvbSk7XG4gIH1cbn07XG5cbnZhciBhZGRQb29saW5nVG8gPSBmdW5jdGlvbiBhZGRQb29saW5nVG8oQ29weUNvbnN0cnVjdG9yLCBwb29sZXIpIHtcbiAgLy8gQ2FzdGluZyBhcyBhbnkgc28gdGhhdCBmbG93IGlnbm9yZXMgdGhlIGFjdHVhbCBpbXBsZW1lbnRhdGlvbiBhbmQgdHJ1c3RzXG4gIC8vIGl0IHRvIG1hdGNoIHRoZSB0eXBlIHdlIGRlY2xhcmVkXG4gIHZhciBOZXdLbGFzcyA9IENvcHlDb25zdHJ1Y3RvcjtcbiAgTmV3S2xhc3MuaW5zdGFuY2VQb29sID0gW107XG4gIE5ld0tsYXNzLmdldFBvb2xlZCA9IHBvb2xlciB8fCBERUZBVUxUX1BPT0xFUjtcbiAgaWYgKCFOZXdLbGFzcy5wb29sU2l6ZSkge1xuICAgIE5ld0tsYXNzLnBvb2xTaXplID0gREVGQVVMVF9QT09MX1NJWkU7XG4gIH1cbiAgTmV3S2xhc3MucmVsZWFzZSA9IHN0YW5kYXJkUmVsZWFzZXI7XG4gIHJldHVybiBOZXdLbGFzcztcbn07XG5cbnZhciBzdGFuZGFyZFJlbGVhc2VyID0gZnVuY3Rpb24gc3RhbmRhcmRSZWxlYXNlcihpbnN0YW5jZSkge1xuICB2YXIgS2xhc3MgPSB0aGlzO1xuICBpbnZhcmlhbnQoXG4gICAgaW5zdGFuY2UgaW5zdGFuY2VvZiBLbGFzcyxcbiAgICAnVHJ5aW5nIHRvIHJlbGVhc2UgYW4gaW5zdGFuY2UgaW50byBhIHBvb2wgb2YgYSBkaWZmZXJlbnQgdHlwZS4nXG4gICk7XG4gIGluc3RhbmNlLmRlc3RydWN0b3IoKTtcbiAgaWYgKEtsYXNzLmluc3RhbmNlUG9vbC5sZW5ndGggPCBLbGFzcy5wb29sU2l6ZSkge1xuICAgIEtsYXNzLmluc3RhbmNlUG9vbC5wdXNoKGluc3RhbmNlKTtcbiAgfVxufTtcblxudmFyIGZvdXJBcmd1bWVudFBvb2xlciA9IGZ1bmN0aW9uIGZvdXJBcmd1bWVudFBvb2xlcihhMSwgYTIsIGEzLCBhNCkge1xuICB2YXIgS2xhc3MgPSB0aGlzO1xuICBpZiAoS2xhc3MuaW5zdGFuY2VQb29sLmxlbmd0aCkge1xuICAgIHZhciBpbnN0YW5jZSA9IEtsYXNzLmluc3RhbmNlUG9vbC5wb3AoKTtcbiAgICBLbGFzcy5jYWxsKGluc3RhbmNlLCBhMSwgYTIsIGEzLCBhNCk7XG4gICAgcmV0dXJuIGluc3RhbmNlO1xuICB9IGVsc2Uge1xuICAgIHJldHVybiBuZXcgS2xhc3MoYTEsIGEyLCBhMywgYTQpO1xuICB9XG59O1xuXG5mdW5jdGlvbiBNYXBCb29rS2VlcGluZyhtYXBSZXN1bHQsIGtleVByZWZpeCwgbWFwRnVuY3Rpb24sIG1hcENvbnRleHQpIHtcbiAgdGhpcy5yZXN1bHQgPSBtYXBSZXN1bHQ7XG4gIHRoaXMua2V5UHJlZml4ID0ga2V5UHJlZml4O1xuICB0aGlzLmZ1bmMgPSBtYXBGdW5jdGlvbjtcbiAgdGhpcy5jb250ZXh0ID0gbWFwQ29udGV4dDtcbiAgdGhpcy5jb3VudCA9IDA7XG59XG5NYXBCb29rS2VlcGluZy5wcm90b3R5cGUuZGVzdHJ1Y3RvciA9IGZ1bmN0aW9uKCkge1xuICB0aGlzLnJlc3VsdCA9IG51bGw7XG4gIHRoaXMua2V5UHJlZml4ID0gbnVsbDtcbiAgdGhpcy5mdW5jID0gbnVsbDtcbiAgdGhpcy5jb250ZXh0ID0gbnVsbDtcbiAgdGhpcy5jb3VudCA9IDA7XG59O1xuYWRkUG9vbGluZ1RvKE1hcEJvb2tLZWVwaW5nLCBmb3VyQXJndW1lbnRQb29sZXIpO1xuXG5mdW5jdGlvbiBtYXBTaW5nbGVDaGlsZEludG9Db250ZXh0KGJvb2tLZWVwaW5nLCBjaGlsZCwgY2hpbGRLZXkpIHtcbiAgdmFyIHJlc3VsdCA9IGJvb2tLZWVwaW5nLnJlc3VsdDtcbiAgdmFyIGtleVByZWZpeCA9IGJvb2tLZWVwaW5nLmtleVByZWZpeDtcbiAgdmFyIGZ1bmMgPSBib29rS2VlcGluZy5mdW5jO1xuICB2YXIgY29udGV4dCA9IGJvb2tLZWVwaW5nLmNvbnRleHQ7XG5cbiAgdmFyIG1hcHBlZENoaWxkID0gZnVuYy5jYWxsKGNvbnRleHQsIGNoaWxkLCBib29rS2VlcGluZy5jb3VudCsrKTtcbiAgaWYgKEFycmF5LmlzQXJyYXkobWFwcGVkQ2hpbGQpKSB7XG4gICAgbWFwSW50b1dpdGhLZXlQcmVmaXhJbnRlcm5hbChcbiAgICAgIG1hcHBlZENoaWxkLFxuICAgICAgcmVzdWx0LFxuICAgICAgY2hpbGRLZXksXG4gICAgICBlbXB0eUZ1bmN0aW9uLnRoYXRSZXR1cm5zQXJndW1lbnRcbiAgICApO1xuICB9IGVsc2UgaWYgKG1hcHBlZENoaWxkICE9IG51bGwpIHtcbiAgICBpZiAoUmVhY3QuaXNWYWxpZEVsZW1lbnQobWFwcGVkQ2hpbGQpKSB7XG4gICAgICBtYXBwZWRDaGlsZCA9IGNsb25lQW5kUmVwbGFjZUtleShcbiAgICAgICAgbWFwcGVkQ2hpbGQsXG4gICAgICAgIC8vIEtlZXAgYm90aCB0aGUgKG1hcHBlZCkgYW5kIG9sZCBrZXlzIGlmIHRoZXkgZGlmZmVyLCBqdXN0IGFzXG4gICAgICAgIC8vIHRyYXZlcnNlQWxsQ2hpbGRyZW4gdXNlZCB0byBkbyBmb3Igb2JqZWN0cyBhcyBjaGlsZHJlblxuICAgICAgICBrZXlQcmVmaXggK1xuICAgICAgICAgIChtYXBwZWRDaGlsZC5rZXkgJiYgKCFjaGlsZCB8fCBjaGlsZC5rZXkgIT09IG1hcHBlZENoaWxkLmtleSlcbiAgICAgICAgICAgID8gZXNjYXBlVXNlclByb3ZpZGVkS2V5KG1hcHBlZENoaWxkLmtleSkgKyAnLydcbiAgICAgICAgICAgIDogJycpICtcbiAgICAgICAgICBjaGlsZEtleVxuICAgICAgKTtcbiAgICB9XG4gICAgcmVzdWx0LnB1c2gobWFwcGVkQ2hpbGQpO1xuICB9XG59XG5cbmZ1bmN0aW9uIG1hcEludG9XaXRoS2V5UHJlZml4SW50ZXJuYWwoY2hpbGRyZW4sIGFycmF5LCBwcmVmaXgsIGZ1bmMsIGNvbnRleHQpIHtcbiAgdmFyIGVzY2FwZWRQcmVmaXggPSAnJztcbiAgaWYgKHByZWZpeCAhPSBudWxsKSB7XG4gICAgZXNjYXBlZFByZWZpeCA9IGVzY2FwZVVzZXJQcm92aWRlZEtleShwcmVmaXgpICsgJy8nO1xuICB9XG4gIHZhciB0cmF2ZXJzZUNvbnRleHQgPSBNYXBCb29rS2VlcGluZy5nZXRQb29sZWQoXG4gICAgYXJyYXksXG4gICAgZXNjYXBlZFByZWZpeCxcbiAgICBmdW5jLFxuICAgIGNvbnRleHRcbiAgKTtcbiAgdHJhdmVyc2VBbGxDaGlsZHJlbihjaGlsZHJlbiwgbWFwU2luZ2xlQ2hpbGRJbnRvQ29udGV4dCwgdHJhdmVyc2VDb250ZXh0KTtcbiAgTWFwQm9va0tlZXBpbmcucmVsZWFzZSh0cmF2ZXJzZUNvbnRleHQpO1xufVxuXG52YXIgbnVtZXJpY1Byb3BlcnR5UmVnZXggPSAvXlxcZCskLztcblxudmFyIHdhcm5lZEFib3V0TnVtZXJpYyA9IGZhbHNlO1xuXG5mdW5jdGlvbiBjcmVhdGVSZWFjdEZyYWdtZW50KG9iamVjdCkge1xuICBpZiAodHlwZW9mIG9iamVjdCAhPT0gJ29iamVjdCcgfHwgIW9iamVjdCB8fCBBcnJheS5pc0FycmF5KG9iamVjdCkpIHtcbiAgICB3YXJuaW5nKFxuICAgICAgZmFsc2UsXG4gICAgICAnUmVhY3QuYWRkb25zLmNyZWF0ZUZyYWdtZW50IG9ubHkgYWNjZXB0cyBhIHNpbmdsZSBvYmplY3QuIEdvdDogJXMnLFxuICAgICAgb2JqZWN0XG4gICAgKTtcbiAgICByZXR1cm4gb2JqZWN0O1xuICB9XG4gIGlmIChSZWFjdC5pc1ZhbGlkRWxlbWVudChvYmplY3QpKSB7XG4gICAgd2FybmluZyhcbiAgICAgIGZhbHNlLFxuICAgICAgJ1JlYWN0LmFkZG9ucy5jcmVhdGVGcmFnbWVudCBkb2VzIG5vdCBhY2NlcHQgYSBSZWFjdEVsZW1lbnQgJyArXG4gICAgICAgICd3aXRob3V0IGEgd3JhcHBlciBvYmplY3QuJ1xuICAgICk7XG4gICAgcmV0dXJuIG9iamVjdDtcbiAgfVxuXG4gIGludmFyaWFudChcbiAgICBvYmplY3Qubm9kZVR5cGUgIT09IDEsXG4gICAgJ1JlYWN0LmFkZG9ucy5jcmVhdGVGcmFnbWVudCguLi4pOiBFbmNvdW50ZXJlZCBhbiBpbnZhbGlkIGNoaWxkOyBET00gJyArXG4gICAgICAnZWxlbWVudHMgYXJlIG5vdCB2YWxpZCBjaGlsZHJlbiBvZiBSZWFjdCBjb21wb25lbnRzLidcbiAgKTtcblxuICB2YXIgcmVzdWx0ID0gW107XG5cbiAgZm9yICh2YXIga2V5IGluIG9iamVjdCkge1xuICAgIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nKSB7XG4gICAgICBpZiAoIXdhcm5lZEFib3V0TnVtZXJpYyAmJiBudW1lcmljUHJvcGVydHlSZWdleC50ZXN0KGtleSkpIHtcbiAgICAgICAgd2FybmluZyhcbiAgICAgICAgICBmYWxzZSxcbiAgICAgICAgICAnUmVhY3QuYWRkb25zLmNyZWF0ZUZyYWdtZW50KC4uLik6IENoaWxkIG9iamVjdHMgc2hvdWxkIGhhdmUgJyArXG4gICAgICAgICAgICAnbm9uLW51bWVyaWMga2V5cyBzbyBvcmRlcmluZyBpcyBwcmVzZXJ2ZWQuJ1xuICAgICAgICApO1xuICAgICAgICB3YXJuZWRBYm91dE51bWVyaWMgPSB0cnVlO1xuICAgICAgfVxuICAgIH1cbiAgICBtYXBJbnRvV2l0aEtleVByZWZpeEludGVybmFsKFxuICAgICAgb2JqZWN0W2tleV0sXG4gICAgICByZXN1bHQsXG4gICAgICBrZXksXG4gICAgICBlbXB0eUZ1bmN0aW9uLnRoYXRSZXR1cm5zQXJndW1lbnRcbiAgICApO1xuICB9XG5cbiAgcmV0dXJuIHJlc3VsdDtcbn1cblxubW9kdWxlLmV4cG9ydHMgPSBjcmVhdGVSZWFjdEZyYWdtZW50O1xuIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxtQkFXQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsbUJBS0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsaUJBU0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7Iiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///20\n")},function(module,exports,__webpack_require__){"use strict";eval("/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\n\n\n/**\n * Use invariant() to assert state which your program assumes to be true.\n *\n * Provide sprintf-style format (only %s is supported) and arguments\n * to provide information about what broke and what you were\n * expecting.\n *\n * The invariant message will be stripped in production, but the invariant\n * will remain to ensure logic does not differ in production.\n */\n\nvar validateFormat = function validateFormat(format) {};\n\nif (false) {}\n\nfunction invariant(condition, format, a, b, c, d, e, f) {\n validateFormat(format);\n\n if (!condition) {\n var error;\n if (format === undefined) {\n error = new Error('Minified exception occurred; use the non-minified dev environment ' + 'for the full error message and additional helpful warnings.');\n } else {\n var args = [a, b, c, d, e, f];\n var argIndex = 0;\n error = new Error(format.replace(/%s/g, function () {\n return args[argIndex++];\n }));\n error.name = 'Invariant Violation';\n }\n\n error.framesToPop = 1; // we don't care about invariant's own frame\n throw error;\n }\n}\n\nmodule.exports = invariant;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMjEuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vL3Zhci9qZW5raW5zL3dvcmtzcGFjZS9QbHVnaW4tUmVsZWFzZS93b3JkcHJlc3Mtc2VvLXByZW1pdW0vLnJlcG9zL3dvcmRwcmVzcy1zZW8tcHJlbWl1bS9ub2RlX21vZHVsZXMvZmJqcy9saWIvaW52YXJpYW50LmpzP2EzZTEiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTMtcHJlc2VudCwgRmFjZWJvb2ssIEluYy5cbiAqXG4gKiBUaGlzIHNvdXJjZSBjb2RlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZSBmb3VuZCBpbiB0aGVcbiAqIExJQ0VOU0UgZmlsZSBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb3VyY2UgdHJlZS5cbiAqXG4gKi9cblxuJ3VzZSBzdHJpY3QnO1xuXG4vKipcbiAqIFVzZSBpbnZhcmlhbnQoKSB0byBhc3NlcnQgc3RhdGUgd2hpY2ggeW91ciBwcm9ncmFtIGFzc3VtZXMgdG8gYmUgdHJ1ZS5cbiAqXG4gKiBQcm92aWRlIHNwcmludGYtc3R5bGUgZm9ybWF0IChvbmx5ICVzIGlzIHN1cHBvcnRlZCkgYW5kIGFyZ3VtZW50c1xuICogdG8gcHJvdmlkZSBpbmZvcm1hdGlvbiBhYm91dCB3aGF0IGJyb2tlIGFuZCB3aGF0IHlvdSB3ZXJlXG4gKiBleHBlY3RpbmcuXG4gKlxuICogVGhlIGludmFyaWFudCBtZXNzYWdlIHdpbGwgYmUgc3RyaXBwZWQgaW4gcHJvZHVjdGlvbiwgYnV0IHRoZSBpbnZhcmlhbnRcbiAqIHdpbGwgcmVtYWluIHRvIGVuc3VyZSBsb2dpYyBkb2VzIG5vdCBkaWZmZXIgaW4gcHJvZHVjdGlvbi5cbiAqL1xuXG52YXIgdmFsaWRhdGVGb3JtYXQgPSBmdW5jdGlvbiB2YWxpZGF0ZUZvcm1hdChmb3JtYXQpIHt9O1xuXG5pZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJykge1xuICB2YWxpZGF0ZUZvcm1hdCA9IGZ1bmN0aW9uIHZhbGlkYXRlRm9ybWF0KGZvcm1hdCkge1xuICAgIGlmIChmb3JtYXQgPT09IHVuZGVmaW5lZCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdpbnZhcmlhbnQgcmVxdWlyZXMgYW4gZXJyb3IgbWVzc2FnZSBhcmd1bWVudCcpO1xuICAgIH1cbiAgfTtcbn1cblxuZnVuY3Rpb24gaW52YXJpYW50KGNvbmRpdGlvbiwgZm9ybWF0LCBhLCBiLCBjLCBkLCBlLCBmKSB7XG4gIHZhbGlkYXRlRm9ybWF0KGZvcm1hdCk7XG5cbiAgaWYgKCFjb25kaXRpb24pIHtcbiAgICB2YXIgZXJyb3I7XG4gICAgaWYgKGZvcm1hdCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICBlcnJvciA9IG5ldyBFcnJvcignTWluaWZpZWQgZXhjZXB0aW9uIG9jY3VycmVkOyB1c2UgdGhlIG5vbi1taW5pZmllZCBkZXYgZW52aXJvbm1lbnQgJyArICdmb3IgdGhlIGZ1bGwgZXJyb3IgbWVzc2FnZSBhbmQgYWRkaXRpb25hbCBoZWxwZnVsIHdhcm5pbmdzLicpO1xuICAgIH0gZWxzZSB7XG4gICAgICB2YXIgYXJncyA9IFthLCBiLCBjLCBkLCBlLCBmXTtcbiAgICAgIHZhciBhcmdJbmRleCA9IDA7XG4gICAgICBlcnJvciA9IG5ldyBFcnJvcihmb3JtYXQucmVwbGFjZSgvJXMvZywgZnVuY3Rpb24gKCkge1xuICAgICAgICByZXR1cm4gYXJnc1thcmdJbmRleCsrXTtcbiAgICAgIH0pKTtcbiAgICAgIGVycm9yLm5hbWUgPSAnSW52YXJpYW50IFZpb2xhdGlvbic7XG4gICAgfVxuXG4gICAgZXJyb3IuZnJhbWVzVG9Qb3AgPSAxOyAvLyB3ZSBkb24ndCBjYXJlIGFib3V0IGludmFyaWFudCdzIG93biBmcmFtZVxuICAgIHRocm93IGVycm9yO1xuICB9XG59XG5cbm1vZHVsZS5leHBvcnRzID0gaW52YXJpYW50OyJdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGFBTUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///21\n")},function(module,exports,__webpack_require__){"use strict";eval("/**\n * Copyright (c) 2014-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\n\n\nvar emptyFunction = __webpack_require__(12);\n\n/**\n * Similar to invariant but only logs a warning if the condition is not met.\n * This can be used to log issues in development environments in critical\n * paths. Removing the logging code for production environments will keep the\n * same logic and follow the same code paths.\n */\n\nvar warning = emptyFunction;\n\nif (false) { var printWarning; }\n\nmodule.exports = warning;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMjIuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vL3Zhci9qZW5raW5zL3dvcmtzcGFjZS9QbHVnaW4tUmVsZWFzZS93b3JkcHJlc3Mtc2VvLXByZW1pdW0vLnJlcG9zL3dvcmRwcmVzcy1zZW8tcHJlbWl1bS9ub2RlX21vZHVsZXMvZmJqcy9saWIvd2FybmluZy5qcz80Yjk4Il0sInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQ29weXJpZ2h0IChjKSAyMDE0LXByZXNlbnQsIEZhY2Vib29rLCBJbmMuXG4gKlxuICogVGhpcyBzb3VyY2UgY29kZSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2UgZm91bmQgaW4gdGhlXG4gKiBMSUNFTlNFIGZpbGUgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc291cmNlIHRyZWUuXG4gKlxuICovXG5cbid1c2Ugc3RyaWN0JztcblxudmFyIGVtcHR5RnVuY3Rpb24gPSByZXF1aXJlKCcuL2VtcHR5RnVuY3Rpb24nKTtcblxuLyoqXG4gKiBTaW1pbGFyIHRvIGludmFyaWFudCBidXQgb25seSBsb2dzIGEgd2FybmluZyBpZiB0aGUgY29uZGl0aW9uIGlzIG5vdCBtZXQuXG4gKiBUaGlzIGNhbiBiZSB1c2VkIHRvIGxvZyBpc3N1ZXMgaW4gZGV2ZWxvcG1lbnQgZW52aXJvbm1lbnRzIGluIGNyaXRpY2FsXG4gKiBwYXRocy4gUmVtb3ZpbmcgdGhlIGxvZ2dpbmcgY29kZSBmb3IgcHJvZHVjdGlvbiBlbnZpcm9ubWVudHMgd2lsbCBrZWVwIHRoZVxuICogc2FtZSBsb2dpYyBhbmQgZm9sbG93IHRoZSBzYW1lIGNvZGUgcGF0aHMuXG4gKi9cblxudmFyIHdhcm5pbmcgPSBlbXB0eUZ1bmN0aW9uO1xuXG5pZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJykge1xuICB2YXIgcHJpbnRXYXJuaW5nID0gZnVuY3Rpb24gcHJpbnRXYXJuaW5nKGZvcm1hdCkge1xuICAgIGZvciAodmFyIF9sZW4gPSBhcmd1bWVudHMubGVuZ3RoLCBhcmdzID0gQXJyYXkoX2xlbiA+IDEgPyBfbGVuIC0gMSA6IDApLCBfa2V5ID0gMTsgX2tleSA8IF9sZW47IF9rZXkrKykge1xuICAgICAgYXJnc1tfa2V5IC0gMV0gPSBhcmd1bWVudHNbX2tleV07XG4gICAgfVxuXG4gICAgdmFyIGFyZ0luZGV4ID0gMDtcbiAgICB2YXIgbWVzc2FnZSA9ICdXYXJuaW5nOiAnICsgZm9ybWF0LnJlcGxhY2UoLyVzL2csIGZ1bmN0aW9uICgpIHtcbiAgICAgIHJldHVybiBhcmdzW2FyZ0luZGV4KytdO1xuICAgIH0pO1xuICAgIGlmICh0eXBlb2YgY29uc29sZSAhPT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IobWVzc2FnZSk7XG4gICAgfVxuICAgIHRyeSB7XG4gICAgICAvLyAtLS0gV2VsY29tZSB0byBkZWJ1Z2dpbmcgUmVhY3QgLS0tXG4gICAgICAvLyBUaGlzIGVycm9yIHdhcyB0aHJvd24gYXMgYSBjb252ZW5pZW5jZSBzbyB0aGF0IHlvdSBjYW4gdXNlIHRoaXMgc3RhY2tcbiAgICAgIC8vIHRvIGZpbmQgdGhlIGNhbGxzaXRlIHRoYXQgY2F1c2VkIHRoaXMgd2FybmluZyB0byBmaXJlLlxuICAgICAgdGhyb3cgbmV3IEVycm9yKG1lc3NhZ2UpO1xuICAgIH0gY2F0Y2ggKHgpIHt9XG4gIH07XG5cbiAgd2FybmluZyA9IGZ1bmN0aW9uIHdhcm5pbmcoY29uZGl0aW9uLCBmb3JtYXQpIHtcbiAgICBpZiAoZm9ybWF0ID09PSB1bmRlZmluZWQpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignYHdhcm5pbmcoY29uZGl0aW9uLCBmb3JtYXQsIC4uLmFyZ3MpYCByZXF1aXJlcyBhIHdhcm5pbmcgJyArICdtZXNzYWdlIGFyZ3VtZW50Jyk7XG4gICAgfVxuXG4gICAgaWYgKGZvcm1hdC5pbmRleE9mKCdGYWlsZWQgQ29tcG9zaXRlIHByb3BUeXBlOiAnKSA9PT0gMCkge1xuICAgICAgcmV0dXJuOyAvLyBJZ25vcmUgQ29tcG9zaXRlQ29tcG9uZW50IHByb3B0eXBlIGNoZWNrLlxuICAgIH1cblxuICAgIGlmICghY29uZGl0aW9uKSB7XG4gICAgICBmb3IgKHZhciBfbGVuMiA9IGFyZ3VtZW50cy5sZW5ndGgsIGFyZ3MgPSBBcnJheShfbGVuMiA+IDIgPyBfbGVuMiAtIDIgOiAwKSwgX2tleTIgPSAyOyBfa2V5MiA8IF9sZW4yOyBfa2V5MisrKSB7XG4gICAgICAgIGFyZ3NbX2tleTIgLSAyXSA9IGFyZ3VtZW50c1tfa2V5Ml07XG4gICAgICB9XG5cbiAgICAgIHByaW50V2FybmluZy5hcHBseSh1bmRlZmluZWQsIFtmb3JtYXRdLmNvbmNhdChhcmdzKSk7XG4gICAgfVxuICB9O1xufVxuXG5tb2R1bGUuZXhwb3J0cyA9IHdhcm5pbmc7Il0sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxnQ0FzQ0E7QUFDQTtBQUNBIiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///22\n")},function(module,exports,__webpack_require__){"use strict";eval("\n\nfunction identifyToken(item) {\n\t// {{/example}}\n\tif (item.match(/^\\{\\{\\//)) {\n\t\treturn {\n\t\t\ttype: 'componentClose',\n\t\t\tvalue: item.replace(/\\W/g, '')\n\t\t};\n\t}\n\t// {{example /}}\n\tif (item.match(/\\/\\}\\}$/)) {\n\t\treturn {\n\t\t\ttype: 'componentSelfClosing',\n\t\t\tvalue: item.replace(/\\W/g, '')\n\t\t};\n\t}\n\t// {{example}}\n\tif (item.match(/^\\{\\{/)) {\n\t\treturn {\n\t\t\ttype: 'componentOpen',\n\t\t\tvalue: item.replace(/\\W/g, '')\n\t\t};\n\t}\n\treturn {\n\t\ttype: 'string',\n\t\tvalue: item\n\t};\n}\n\nmodule.exports = function (mixedString) {\n\tvar tokenStrings = mixedString.split(/(\\{\\{\\/?\\s*\\w+\\s*\\/?\\}\\})/g); // split to components and strings\n\treturn tokenStrings.map(identifyToken);\n};\n//# sourceMappingURL=tokenize.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMjMuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vL3Zhci9qZW5raW5zL3dvcmtzcGFjZS9QbHVnaW4tUmVsZWFzZS93b3JkcHJlc3Mtc2VvLXByZW1pdW0vLnJlcG9zL3dvcmRwcmVzcy1zZW8tcHJlbWl1bS9ub2RlX21vZHVsZXMvaW50ZXJwb2xhdGUtY29tcG9uZW50cy9saWIvdG9rZW5pemUuanM/YWY5ZiJdLCJzb3VyY2VzQ29udGVudCI6WyIndXNlIHN0cmljdCc7XG5cbmZ1bmN0aW9uIGlkZW50aWZ5VG9rZW4oaXRlbSkge1xuXHQvLyB7ey9leGFtcGxlfX1cblx0aWYgKGl0ZW0ubWF0Y2goL15cXHtcXHtcXC8vKSkge1xuXHRcdHJldHVybiB7XG5cdFx0XHR0eXBlOiAnY29tcG9uZW50Q2xvc2UnLFxuXHRcdFx0dmFsdWU6IGl0ZW0ucmVwbGFjZSgvXFxXL2csICcnKVxuXHRcdH07XG5cdH1cblx0Ly8ge3tleGFtcGxlIC99fVxuXHRpZiAoaXRlbS5tYXRjaCgvXFwvXFx9XFx9JC8pKSB7XG5cdFx0cmV0dXJuIHtcblx0XHRcdHR5cGU6ICdjb21wb25lbnRTZWxmQ2xvc2luZycsXG5cdFx0XHR2YWx1ZTogaXRlbS5yZXBsYWNlKC9cXFcvZywgJycpXG5cdFx0fTtcblx0fVxuXHQvLyB7e2V4YW1wbGV9fVxuXHRpZiAoaXRlbS5tYXRjaCgvXlxce1xcey8pKSB7XG5cdFx0cmV0dXJuIHtcblx0XHRcdHR5cGU6ICdjb21wb25lbnRPcGVuJyxcblx0XHRcdHZhbHVlOiBpdGVtLnJlcGxhY2UoL1xcVy9nLCAnJylcblx0XHR9O1xuXHR9XG5cdHJldHVybiB7XG5cdFx0dHlwZTogJ3N0cmluZycsXG5cdFx0dmFsdWU6IGl0ZW1cblx0fTtcbn1cblxubW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiAobWl4ZWRTdHJpbmcpIHtcblx0dmFyIHRva2VuU3RyaW5ncyA9IG1peGVkU3RyaW5nLnNwbGl0KC8oXFx7XFx7XFwvP1xccypcXHcrXFxzKlxcLz9cXH1cXH0pL2cpOyAvLyBzcGxpdCB0byBjb21wb25lbnRzIGFuZCBzdHJpbmdzXG5cdHJldHVybiB0b2tlblN0cmluZ3MubWFwKGlkZW50aWZ5VG9rZW4pO1xufTtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPXRva2VuaXplLmpzLm1hcCJdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///23\n")},,function(module,exports){eval("module.exports = window.yoast.styleGuide;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMjUuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vZXh0ZXJuYWwgXCJ3aW5kb3cueW9hc3Quc3R5bGVHdWlkZVwiP2RlZjkiXSwic291cmNlc0NvbnRlbnQiOlsibW9kdWxlLmV4cG9ydHMgPSB3aW5kb3cueW9hc3Quc3R5bGVHdWlkZTsiXSwibWFwcGluZ3MiOiJBQUFBIiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///25\n")},,,function(module,exports,__webpack_require__){"use strict";eval('\n\nObject.defineProperty(exports, "__esModule", {\n value: true\n});\nexports.default = linkSuggestionsIsSupported;\n\nvar _linkSuggestionsEnabled = __webpack_require__(37);\n\nvar _linkSuggestionsEnabled2 = _interopRequireDefault(_linkSuggestionsEnabled);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * Determines whether or not link suggestions is supported.\n *\n * @returns {boolean} Whether or not link suggestions is supported.\n */\nfunction linkSuggestionsIsSupported() {\n var contentEndpointsAvailable = window.wpseoPremiumMetaboxData.data.restApi.available && window.wpseoPremiumMetaboxData.data.restApi.contentEndpointsAvailable;\n\n return contentEndpointsAvailable && (0, _linkSuggestionsEnabled2.default)();\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMjguanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vYXNzZXRzL2pzL3NyYy9mdW5jdGlvbnMvbGlua1N1Z2dlc3Rpb25zSXNTdXBwb3J0ZWQuanM/YWYzNSJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgbGlua1N1Z2dlc3Rpb25zRW5hYmxlZCBmcm9tIFwiLi9saW5rU3VnZ2VzdGlvbnNFbmFibGVkXCI7XG5cbi8qKlxuICogRGV0ZXJtaW5lcyB3aGV0aGVyIG9yIG5vdCBsaW5rIHN1Z2dlc3Rpb25zIGlzIHN1cHBvcnRlZC5cbiAqXG4gKiBAcmV0dXJucyB7Ym9vbGVhbn0gV2hldGhlciBvciBub3QgbGluayBzdWdnZXN0aW9ucyBpcyBzdXBwb3J0ZWQuXG4gKi9cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIGxpbmtTdWdnZXN0aW9uc0lzU3VwcG9ydGVkKCkge1xuXHRjb25zdCBjb250ZW50RW5kcG9pbnRzQXZhaWxhYmxlID0gd2luZG93Lndwc2VvUHJlbWl1bU1ldGFib3hEYXRhLmRhdGEucmVzdEFwaS5hdmFpbGFibGUgJiZcblx0XHR3aW5kb3cud3BzZW9QcmVtaXVtTWV0YWJveERhdGEuZGF0YS5yZXN0QXBpLmNvbnRlbnRFbmRwb2ludHNBdmFpbGFibGU7XG5cblx0cmV0dXJuIGNvbnRlbnRFbmRwb2ludHNBdmFpbGFibGUgJiYgbGlua1N1Z2dlc3Rpb25zRW5hYmxlZCgpO1xufVxuIl0sIm1hcHBpbmdzIjoiOzs7OztBQU9BO0FBQ0E7QUFSQTtBQUNBOzs7OztBQUNBOzs7OztBQUtBO0FBQ0E7QUFDQTtBQUVBO0FBQ0EiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///28\n')},,,,,function(module,exports,__webpack_require__){"use strict";eval('\n\nObject.defineProperty(exports, "__esModule", {\n\tvalue: true\n});\nexports.getUnindexedWarning = undefined;\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; /* global ClipboardJS */\n\n\n/* Internal dependencies */\n\n\nvar _react = __webpack_require__(5);\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _propTypes = __webpack_require__(2);\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar _styledComponents = __webpack_require__(8);\n\nvar _styledComponents2 = _interopRequireDefault(_styledComponents);\n\nvar _interpolateComponents = __webpack_require__(11);\n\nvar _interpolateComponents2 = _interopRequireDefault(_interpolateComponents);\n\nvar _i18n = __webpack_require__(0);\n\nvar _a11y = __webpack_require__(34);\n\nvar _LinkSuggestion = __webpack_require__(35);\n\nvar _LinkSuggestion2 = _interopRequireDefault(_LinkSuggestion);\n\nvar _helpers = __webpack_require__(10);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar HelpTextLink = (0, _helpers.makeOutboundLink)();\n\nvar LinkSuggestionsWrapper = _styledComponents2.default.div.withConfig({\n\tdisplayName: "LinkSuggestions__LinkSuggestionsWrapper",\n\tcomponentId: "sc-1mipca3-0"\n})(["display:table-cell;"]);\n\nvar noRelevantPostsMessage = (0, _i18n.__)("We could not find any relevant articles on your website that you " + "could link to from your post.", "wordpress-seo-premium");\n\nvar introMessage = (0, _i18n.__)("To improve your site structure, consider linking to other relevant posts " + "or pages on your website.", "wordpress-seo-premium");\n\nvar articleLink = (0, _interpolateComponents2.default)({\n\t// Translators: Text between {{a}} and {{/a}} will be a link to an article about site structure.\n\tmixedString: (0, _i18n.__)("{{a}}Read our guide on internal linking for SEO{{/a}} to learn more.", "wordpress-seo-premium"),\n\tcomponents: {\n\t\t// eslint-disable-next-line jsx-a11y/anchor-has-content\n\t\ta: wp.element.createElement(HelpTextLink, { href: "https://yoa.st/site-structure-metabox" })\n\t}\n});\n\nvar yoastClipBoard = void 0;\n\n/**\n * @summary Handles visual feedback and keyboard focus on Clipboard copy success.\n *\n * @param {Object} evt Clipboard.js custom DOM event.\n * @returns {void}\n */\nvar clipboardSuccess = function clipboardSuccess(evt) {\n\tvar message = (0, _i18n.__)("Copied!", "wordpress-seo-premium");\n\n\t// Move focus back to the Clipboard trigger button.\n\tevt.trigger.focus();\n\t// Update the button `aria-label` attribute.\n\tevt.trigger.setAttribute("aria-label", message);\n\t// Update the button `data-label` attribute.\n\tevt.trigger.setAttribute("data-label", message);\n\t// Send audible message to the ARIA live region.\n\t(0, _a11y.speak)(message, "assertive");\n};\n\n/**\n * @summary Handles visual feedback on Clipboard copy error.\n *\n * @param {Object} evt Clipboard.js custom DOM event.\n * @returns {void}\n */\nvar clipboardError = function clipboardError(evt) {\n\tvar message = (0, _i18n.__)("Not supported!", "wordpress-seo-premium");\n\n\t// Update the button `aria-label` attribute.\n\tevt.trigger.el.setAttribute("aria-label", message);\n\t// Update the button `data-label` attribute.\n\tevt.trigger.setAttribute("data-label", message);\n\t// Send audible message to the ARIA live region.\n\t(0, _a11y.speak)(message, "assertive");\n};\n\n/**\n * Represents the Suggestions component.\n *\n * @returns {React.Element} The suggestions component.\n */\nvar LinkSuggestions = function LinkSuggestions(_ref) {\n\tvar suggestions = _ref.suggestions,\n\t maxSuggestions = _ref.maxSuggestions,\n\t customMessages = _ref.customMessages;\n\n\tif (suggestions.length === 0) {\n\t\tvar lengthMessage = customMessages.lengthMessage;\n\t\tlengthMessage = lengthMessage === "" ? noRelevantPostsMessage : lengthMessage;\n\n\t\treturn wp.element.createElement(\n\t\t\t"div",\n\t\t\tnull,\n\t\t\twp.element.createElement(\n\t\t\t\t"p",\n\t\t\t\tnull,\n\t\t\t\tlengthMessage\n\t\t\t),\n\t\t\twp.element.createElement(\n\t\t\t\t"p",\n\t\t\t\tnull,\n\t\t\t\tcustomMessages.metaMessage\n\t\t\t),\n\t\t\twp.element.createElement(\n\t\t\t\t"p",\n\t\t\t\tnull,\n\t\t\t\tarticleLink\n\t\t\t)\n\t\t);\n\t}\n\n\tif (suggestions.length > maxSuggestions) {\n\t\tsuggestions.length = maxSuggestions;\n\t}\n\n\treturn wp.element.createElement(\n\t\tLinkSuggestionsWrapper,\n\t\tnull,\n\t\twp.element.createElement(\n\t\t\t"p",\n\t\t\tnull,\n\t\t\tintroMessage,\n\t\t\t" ",\n\t\t\tarticleLink\n\t\t),\n\t\twp.element.createElement(\n\t\t\t"p",\n\t\t\tnull,\n\t\t\tcustomMessages.metaMessage\n\t\t),\n\t\tsuggestions.map(function (suggestion, key) {\n\t\t\treturn wp.element.createElement(_LinkSuggestion2.default, _extends({ key: key }, suggestion));\n\t\t})\n\t);\n};\n\nLinkSuggestions.propTypes = {\n\tsuggestions: _propTypes2.default.array.isRequired,\n\tmaxSuggestions: _propTypes2.default.number,\n\tcustomMessages: _propTypes2.default.object\n};\n\nLinkSuggestions.defaultProps = {\n\tmaxSuggestions: 10,\n\tcustomMessages: {\n\t\tlengthMessage: "",\n\t\tmetaMessage: ""\n\t}\n};\n\n/**\n * Starts prominent word analysis in a new tab.\n *\n * @returns {void}\n */\nvar startAnalyzing = function startAnalyzing() {\n\twindow.open("admin.php?page=wpseo_tools&start-indexation=true", "yoastSeoAnalyzeProminentWords");\n};\n\n/* eslint-disable-rule complexity */\n/**\n * Defines a message to render below the message about copy length in the Internal Linking Suggestions.\n *\n * @param {string} lengthMessage The message about more copy being needed.\n * @param {boolean} hasTitle Whether a title is available for the post.\n * @param {boolean} hasMetaDescription Whether a metadescription is available for the post.\n * @returns {*} Returns a metaMessage or nothing.\n */\nvar determineMetaMessage = function determineMetaMessage(lengthMessage, hasTitle, hasMetaDescription) {\n\tswitch (true) {\n\t\tcase hasMetaDescription && !hasTitle && lengthMessage === "":\n\t\t\treturn (0, _i18n.__)("Add a title to your post for the best internal linking suggestions.", "wordpress-seo-premium");\n\t\tcase !hasMetaDescription && hasTitle && lengthMessage === "":\n\t\t\treturn (0, _i18n.__)("Add a metadescription to your post for the best internal linking suggestions.", "wordpress-seo-premium");\n\t\tcase !hasMetaDescription && !hasTitle && lengthMessage === "":\n\t\t\treturn (0, _i18n.__)("Add a title and a metadescription to your post for the best internal linking suggestions.", "wordpress-seo-premium");\n\t\tcase hasMetaDescription && !hasTitle && lengthMessage !== "":\n\t\t\treturn (0, _i18n.__)("Also, add a title to your post for the best internal linking suggestions.", "wordpress-seo-premium");\n\t\tcase !hasMetaDescription && hasTitle && lengthMessage !== "":\n\t\t\treturn (0, _i18n.__)("Also, add a metadescription to your post for the best internal linking suggestions.", "wordpress-seo-premium");\n\t\tcase !hasMetaDescription && !hasTitle && lengthMessage !== "":\n\t\t\treturn (0, _i18n.__)("Also, add a title and a metadescription to your post for the best internal linking suggestions.", "wordpress-seo-premium");\n\t}\n};\n/* eslint-enable-rule complexity */\n\n/**\n * Defines a message to render in the Internal Linking Suggestions Component.\n *\n * @param {Object} args A compound object.\n * @param {boolean} args.hasWordsForLinking Whether wordsForLinking are available for the post.\n * @param {boolean} args.hasMetaDescription Whether a metadescription is available for the post.\n * @param {boolean} args.hasTitle Whether a title is available for the post.\n *\n * @returns {Object} messages Messages to pass to the component.\n * @returns {string} messages.lengthMessage A custom message concerning insufficient length of the copy.\n * @returns {string} messages.metaMessage A custom message concerning metadata missing in the copy.\n */\nvar determineSuggestionsCustomMessage = function determineSuggestionsCustomMessage(args) {\n\tvar lengthMessage = "";\n\n\tif (!args.hasWordsForLinking) {\n\t\tlengthMessage = (0, _i18n.__)("Once you add a bit more copy, we\'ll give you a list of related content here to which you could link in your post.", "wordpress-seo-premium");\n\t}\n\n\tvar metaMessage = determineMetaMessage(lengthMessage, args.hasTitle, args.hasMetaDescription);\n\n\treturn {\n\t\tlengthMessage: lengthMessage,\n\t\tmetaMessage: metaMessage\n\t};\n};\n\n/**\n * Generates a warning about the site not having been properly indexed.\n **\n * @returns {React.Element} The message or no element.\n */\nvar getUnindexedWarning = exports.getUnindexedWarning = function getUnindexedWarning() {\n\t/* translators: 1: link to yoast.com post about internal linking suggestion. 2: is anchor closing.\n 3: button to the recalculation option. 4: closing button */\n\tvar message = (0, _i18n.__)("We need to optimize your site’s SEO data so we can offer you the best %1$slinking suggestions%2$s." + "\\n\\n" + "%3$sStart SEO Data optimization%4$s", "wordpress-seo-premium");\n\n\tmessage = message.replace("%1$s", "{{a}}");\n\tmessage = message.replace("%2$s", "{{/a}}");\n\n\t// These are here to keep the string the same as in the PHP\n\tmessage = message.replace("%3$s", "{{startAnalysis}}");\n\tmessage = message.replace("%4$s", "{{/startAnalysis}}");\n\n\tmessage = message.replace("\\n\\n", "{{br /}}{{br /}}");\n\n\t// Disable reason: the anchor does have content, ESLint doesn\'t understand interpolateComponents\n\t/* eslint-disable jsx-a11y/anchor-has-content */\n\tmessage = (0, _interpolateComponents2.default)({\n\t\tmixedString: message,\n\t\tcomponents: {\n\t\t\t// eslint-disable-next-line react/jsx-no-target-blank\n\t\t\ta: wp.element.createElement("a", { href: "https://yoa.st/notification-internal-link", target: "_blank" }),\n\t\t\tstartAnalysis: wp.element.createElement("button", { type: "button", className: "button", onClick: startAnalyzing }),\n\t\t\tbr: wp.element.createElement("br", null)\n\t\t}\n\t});\n\t/* eslint-enable jsx-a11y/anchor-has-content */\n\n\treturn wp.element.createElement(\n\t\t"div",\n\t\t{ className: "notice notice-warning notice-alt wpseo-notice-breakout-inside yoast-links-suggestions-notice" },\n\t\twp.element.createElement(\n\t\t\t"p",\n\t\t\tnull,\n\t\t\tmessage\n\t\t)\n\t);\n};\n\n/**\n * Link suggestions metabox component.\n *\n * @param {Object} props The properties for this components.\n * @param {boolean} props.isLoading Whether this component should start of showing a loader.\n * @param {Array} props.suggestions The suggestions to render initially.\n *\n * @returns {JSX.Element} The rendered element.\n */\nvar Metabox = function Metabox(props) {\n\tif (props.isLoading) {\n\t\treturn wp.element.createElement(\n\t\t\t"div",\n\t\t\t{ className: "yoast-link-suggestions" },\n\t\t\twp.element.createElement(\n\t\t\t\t"p",\n\t\t\t\tnull,\n\t\t\t\t(0, _i18n.__)("It takes a few seconds to show you a list of related content to which you could link. " + "The suggestions will be shown here as soon as we have them.", "wordpress-seo-premium")\n\t\t\t)\n\t\t);\n\t}\n\n\tif (!yoastClipBoard) {\n\t\tyoastClipBoard = new ClipboardJS(".yoast-link-suggestion__copy");\n\t\tyoastClipBoard.on("success", clipboardSuccess);\n\t\tyoastClipBoard.on("error", clipboardError);\n\t}\n\n\tvar unindexedWarning = null;\n\tif (props.showUnindexedWarning) {\n\t\tunindexedWarning = getUnindexedWarning();\n\t}\n\n\tvar determineMessageParameters = _extends({}, props.messageData, {\n\t\thasWordsForLinking: Array.isArray(props.wordsForLinking) && props.wordsForLinking.length > 0\n\t});\n\n\tvar customMessages = determineSuggestionsCustomMessage(determineMessageParameters);\n\n\treturn wp.element.createElement(\n\t\t"div",\n\t\t{ className: "yoast-link-suggestions" },\n\t\tunindexedWarning,\n\t\twp.element.createElement(LinkSuggestions, { suggestions: props.suggestions, customMessages: customMessages })\n\t);\n};\n\nMetabox.propTypes = {\n\tsuggestions: _propTypes2.default.array.isRequired,\n\twordsForLinking: _propTypes2.default.array,\n\tmessageData: _propTypes2.default.object,\n\tisLoading: _propTypes2.default.bool.isRequired,\n\tshowUnindexedWarning: _propTypes2.default.bool\n};\n\nMetabox.defaultProps = {\n\tshowUnindexedWarning: false,\n\tmessageData: {\n\t\thasMetaDescription: false,\n\t\thasTitle: false\n\t},\n\twordsForLinking: []\n};\n\nexports.default = Metabox;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMzMuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vYXNzZXRzL2pzL3NyYy9jb21wb25lbnRzL0xpbmtTdWdnZXN0aW9ucy5qcz9kOTRkIl0sInNvdXJjZXNDb250ZW50IjpbIi8qIGdsb2JhbCBDbGlwYm9hcmRKUyAqL1xuaW1wb3J0IFJlYWN0IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tIFwicHJvcC10eXBlc1wiO1xuaW1wb3J0IHN0eWxlZCBmcm9tIFwic3R5bGVkLWNvbXBvbmVudHNcIjtcbmltcG9ydCBpbnRlcnBvbGF0ZUNvbXBvbmVudHMgZnJvbSBcImludGVycG9sYXRlLWNvbXBvbmVudHNcIjtcbmltcG9ydCB7IF9fIH0gZnJvbSBcIkB3b3JkcHJlc3MvaTE4blwiO1xuaW1wb3J0IHsgc3BlYWsgfSBmcm9tIFwiQHdvcmRwcmVzcy9hMTF5XCI7XG5cbmltcG9ydCBMaW5rU3VnZ2VzdGlvbiBmcm9tIFwiLi9MaW5rU3VnZ2VzdGlvblwiO1xuXG4vKiBJbnRlcm5hbCBkZXBlbmRlbmNpZXMgKi9cbmltcG9ydCB7IG1ha2VPdXRib3VuZExpbmsgfSBmcm9tIFwiQHlvYXN0L2hlbHBlcnNcIjtcblxuY29uc3QgSGVscFRleHRMaW5rID0gbWFrZU91dGJvdW5kTGluaygpO1xuXG5jb25zdCBMaW5rU3VnZ2VzdGlvbnNXcmFwcGVyID0gc3R5bGVkLmRpdmBcblx0ZGlzcGxheTogdGFibGUtY2VsbDtcbmA7XG5cbmNvbnN0IG5vUmVsZXZhbnRQb3N0c01lc3NhZ2UgPSBfXyggXCJXZSBjb3VsZCBub3QgZmluZCBhbnkgcmVsZXZhbnQgYXJ0aWNsZXMgb24geW91ciB3ZWJzaXRlIHRoYXQgeW91IFwiICtcblx0XCJjb3VsZCBsaW5rIHRvIGZyb20geW91ciBwb3N0LlwiLCBcIndvcmRwcmVzcy1zZW8tcHJlbWl1bVwiICk7XG5cbmNvbnN0IGludHJvTWVzc2FnZSA9IF9fKCBcIlRvIGltcHJvdmUgeW91ciBzaXRlIHN0cnVjdHVyZSwgY29uc2lkZXIgbGlua2luZyB0byBvdGhlciByZWxldmFudCBwb3N0cyBcIiArXG5cdFwib3IgcGFnZXMgb24geW91ciB3ZWJzaXRlLlwiLCBcIndvcmRwcmVzcy1zZW8tcHJlbWl1bVwiICk7XG5cbmNvbnN0IGFydGljbGVMaW5rID0gaW50ZXJwb2xhdGVDb21wb25lbnRzKCB7XG5cdC8vIFRyYW5zbGF0b3JzOiBUZXh0IGJldHdlZW4ge3thfX0gYW5kIHt7L2F9fSB3aWxsIGJlIGEgbGluayB0byBhbiBhcnRpY2xlIGFib3V0IHNpdGUgc3RydWN0dXJlLlxuXHRtaXhlZFN0cmluZzogX18oIFwie3thfX1SZWFkIG91ciBndWlkZSBvbiBpbnRlcm5hbCBsaW5raW5nIGZvciBTRU97ey9hfX0gdG8gbGVhcm4gbW9yZS5cIiwgXCJ3b3JkcHJlc3Mtc2VvLXByZW1pdW1cIiApLFxuXHRjb21wb25lbnRzOiB7XG5cdFx0Ly8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGpzeC1hMTF5L2FuY2hvci1oYXMtY29udGVudFxuXHRcdGE6IDxIZWxwVGV4dExpbmsgaHJlZj1cImh0dHBzOi8veW9hLnN0L3NpdGUtc3RydWN0dXJlLW1ldGFib3hcIiAvPixcblx0fSxcbn0gKTtcblxubGV0IHlvYXN0Q2xpcEJvYXJkO1xuXG4vKipcbiAqIEBzdW1tYXJ5IEhhbmRsZXMgdmlzdWFsIGZlZWRiYWNrIGFuZCBrZXlib2FyZCBmb2N1cyBvbiBDbGlwYm9hcmQgY29weSBzdWNjZXNzLlxuICpcbiAqIEBwYXJhbSB7T2JqZWN0fSBldnQgQ2xpcGJvYXJkLmpzIGN1c3RvbSBET00gZXZlbnQuXG4gKiBAcmV0dXJucyB7dm9pZH1cbiAqL1xuY29uc3QgY2xpcGJvYXJkU3VjY2VzcyA9ICggZXZ0ICkgPT4ge1xuXHRjb25zdCBtZXNzYWdlID0gX18oIFwiQ29waWVkIVwiLCBcIndvcmRwcmVzcy1zZW8tcHJlbWl1bVwiICk7XG5cblx0Ly8gTW92ZSBmb2N1cyBiYWNrIHRvIHRoZSBDbGlwYm9hcmQgdHJpZ2dlciBidXR0b24uXG5cdGV2dC50cmlnZ2VyLmZvY3VzKCk7XG5cdC8vIFVwZGF0ZSB0aGUgYnV0dG9uIGBhcmlhLWxhYmVsYCBhdHRyaWJ1dGUuXG5cdGV2dC50cmlnZ2VyLnNldEF0dHJpYnV0ZSggXCJhcmlhLWxhYmVsXCIsIG1lc3NhZ2UgKTtcblx0Ly8gVXBkYXRlIHRoZSBidXR0b24gYGRhdGEtbGFiZWxgIGF0dHJpYnV0ZS5cblx0ZXZ0LnRyaWdnZXIuc2V0QXR0cmlidXRlKCBcImRhdGEtbGFiZWxcIiwgbWVzc2FnZSApO1xuXHQvLyBTZW5kIGF1ZGlibGUgbWVzc2FnZSB0byB0aGUgQVJJQSBsaXZlIHJlZ2lvbi5cblx0c3BlYWsoIG1lc3NhZ2UsIFwiYXNzZXJ0aXZlXCIgKTtcbn07XG5cbi8qKlxuICogQHN1bW1hcnkgSGFuZGxlcyB2aXN1YWwgZmVlZGJhY2sgb24gQ2xpcGJvYXJkIGNvcHkgZXJyb3IuXG4gKlxuICogQHBhcmFtIHtPYmplY3R9IGV2dCBDbGlwYm9hcmQuanMgY3VzdG9tIERPTSBldmVudC5cbiAqIEByZXR1cm5zIHt2b2lkfVxuICovXG5jb25zdCBjbGlwYm9hcmRFcnJvciA9ICggZXZ0ICkgPT4ge1xuXHRjb25zdCBtZXNzYWdlID0gX18oIFwiTm90IHN1cHBvcnRlZCFcIiwgXCJ3b3JkcHJlc3Mtc2VvLXByZW1pdW1cIiApO1xuXG5cdC8vIFVwZGF0ZSB0aGUgYnV0dG9uIGBhcmlhLWxhYmVsYCBhdHRyaWJ1dGUuXG5cdGV2dC50cmlnZ2VyLmVsLnNldEF0dHJpYnV0ZSggXCJhcmlhLWxhYmVsXCIsIG1lc3NhZ2UgKTtcblx0Ly8gVXBkYXRlIHRoZSBidXR0b24gYGRhdGEtbGFiZWxgIGF0dHJpYnV0ZS5cblx0ZXZ0LnRyaWdnZXIuc2V0QXR0cmlidXRlKCBcImRhdGEtbGFiZWxcIiwgbWVzc2FnZSApO1xuXHQvLyBTZW5kIGF1ZGlibGUgbWVzc2FnZSB0byB0aGUgQVJJQSBsaXZlIHJlZ2lvbi5cblx0c3BlYWsoIG1lc3NhZ2UsIFwiYXNzZXJ0aXZlXCIgKTtcbn07XG5cbi8qKlxuICogUmVwcmVzZW50cyB0aGUgU3VnZ2VzdGlvbnMgY29tcG9uZW50LlxuICpcbiAqIEByZXR1cm5zIHtSZWFjdC5FbGVtZW50fSBUaGUgc3VnZ2VzdGlvbnMgY29tcG9uZW50LlxuICovXG5jb25zdCBMaW5rU3VnZ2VzdGlvbnMgPSAoIHsgc3VnZ2VzdGlvbnMsIG1heFN1Z2dlc3Rpb25zLCBjdXN0b21NZXNzYWdlcyB9ICkgPT4ge1xuXHRpZiAoIHN1Z2dlc3Rpb25zLmxlbmd0aCA9PT0gMCApIHtcblx0XHRsZXQgbGVuZ3RoTWVzc2FnZSA9IGN1c3RvbU1lc3NhZ2VzLmxlbmd0aE1lc3NhZ2U7XG5cdFx0bGVuZ3RoTWVzc2FnZSA9IGxlbmd0aE1lc3NhZ2UgPT09IFwiXCIgPyBub1JlbGV2YW50UG9zdHNNZXNzYWdlIDogbGVuZ3RoTWVzc2FnZTtcblxuXHRcdHJldHVybiAoXG5cdFx0XHQ8ZGl2PlxuXHRcdFx0XHQ8cD57IGxlbmd0aE1lc3NhZ2UgfTwvcD5cblx0XHRcdFx0PHA+eyBjdXN0b21NZXNzYWdlcy5tZXRhTWVzc2FnZSB9PC9wPlxuXHRcdFx0XHQ8cD57IGFydGljbGVMaW5rIH08L3A+XG5cdFx0XHQ8L2Rpdj5cblx0XHQpO1xuXHR9XG5cblx0aWYgKCBzdWdnZXN0aW9ucy5sZW5ndGggPiBtYXhTdWdnZXN0aW9ucyApIHtcblx0XHRzdWdnZXN0aW9ucy5sZW5ndGggPSBtYXhTdWdnZXN0aW9ucztcblx0fVxuXG5cdHJldHVybiAoXG5cdFx0PExpbmtTdWdnZXN0aW9uc1dyYXBwZXI+XG5cdFx0XHQ8cD57IGludHJvTWVzc2FnZSB9IHsgYXJ0aWNsZUxpbmsgfTwvcD5cblx0XHRcdDxwPnsgY3VzdG9tTWVzc2FnZXMubWV0YU1lc3NhZ2UgfTwvcD5cblx0XHRcdHsgc3VnZ2VzdGlvbnMubWFwKCAoIHN1Z2dlc3Rpb24sIGtleSApID0+IDxMaW5rU3VnZ2VzdGlvbiBrZXk9eyBrZXkgfSB7IC4uLnN1Z2dlc3Rpb24gfSAvPiApIH1cblx0XHQ8L0xpbmtTdWdnZXN0aW9uc1dyYXBwZXI+XG5cdCk7XG59O1xuXG5MaW5rU3VnZ2VzdGlvbnMucHJvcFR5cGVzID0ge1xuXHRzdWdnZXN0aW9uczogUHJvcFR5cGVzLmFycmF5LmlzUmVxdWlyZWQsXG5cdG1heFN1Z2dlc3Rpb25zOiBQcm9wVHlwZXMubnVtYmVyLFxuXHRjdXN0b21NZXNzYWdlczogUHJvcFR5cGVzLm9iamVjdCxcbn07XG5cbkxpbmtTdWdnZXN0aW9ucy5kZWZhdWx0UHJvcHMgPSB7XG5cdG1heFN1Z2dlc3Rpb25zOiAxMCxcblx0Y3VzdG9tTWVzc2FnZXM6IHtcblx0XHRsZW5ndGhNZXNzYWdlOiBcIlwiLFxuXHRcdG1ldGFNZXNzYWdlOiBcIlwiLFxuXHR9LFxufTtcblxuLyoqXG4gKiBTdGFydHMgcHJvbWluZW50IHdvcmQgYW5hbHlzaXMgaW4gYSBuZXcgdGFiLlxuICpcbiAqIEByZXR1cm5zIHt2b2lkfVxuICovXG5jb25zdCBzdGFydEFuYWx5emluZyA9ICgpID0+IHtcblx0d2luZG93Lm9wZW4oIFwiYWRtaW4ucGhwP3BhZ2U9d3BzZW9fdG9vbHMmc3RhcnQtaW5kZXhhdGlvbj10cnVlXCIsIFwieW9hc3RTZW9BbmFseXplUHJvbWluZW50V29yZHNcIiApO1xufTtcblxuLyogZXNsaW50LWRpc2FibGUtcnVsZSBjb21wbGV4aXR5ICovXG4vKipcbiAqIERlZmluZXMgYSBtZXNzYWdlIHRvIHJlbmRlciBiZWxvdyB0aGUgbWVzc2FnZSBhYm91dCBjb3B5IGxlbmd0aCBpbiB0aGUgSW50ZXJuYWwgTGlua2luZyBTdWdnZXN0aW9ucy5cbiAqXG4gKiBAcGFyYW0gICB7c3RyaW5nfSAgIGxlbmd0aE1lc3NhZ2UgICAgICAgVGhlIG1lc3NhZ2UgYWJvdXQgbW9yZSBjb3B5IGJlaW5nIG5lZWRlZC5cbiAqIEBwYXJhbSAgIHtib29sZWFufSAgaGFzVGl0bGUgICAgICAgICAgICBXaGV0aGVyIGEgdGl0bGUgaXMgYXZhaWxhYmxlIGZvciB0aGUgcG9zdC5cbiAqIEBwYXJhbSAgIHtib29sZWFufSAgaGFzTWV0YURlc2NyaXB0aW9uICBXaGV0aGVyIGEgbWV0YWRlc2NyaXB0aW9uIGlzIGF2YWlsYWJsZSBmb3IgdGhlIHBvc3QuXG4gKiBAcmV0dXJucyB7Kn0gICAgICAgIFJldHVybnMgYSBtZXRhTWVzc2FnZSBvciBub3RoaW5nLlxuICovXG5jb25zdCBkZXRlcm1pbmVNZXRhTWVzc2FnZSA9ICggbGVuZ3RoTWVzc2FnZSwgaGFzVGl0bGUsIGhhc01ldGFEZXNjcmlwdGlvbiApID0+IHtcblx0c3dpdGNoICggdHJ1ZSApIHtcblx0XHRjYXNlICggaGFzTWV0YURlc2NyaXB0aW9uICYmICEgaGFzVGl0bGUgJiYgbGVuZ3RoTWVzc2FnZSA9PT0gXCJcIiApOlxuXHRcdFx0cmV0dXJuIF9fKCBcIkFkZCBhIHRpdGxlIHRvIHlvdXIgcG9zdCBmb3IgdGhlIGJlc3QgaW50ZXJuYWwgbGlua2luZyBzdWdnZXN0aW9ucy5cIiwgXCJ3b3JkcHJlc3Mtc2VvLXByZW1pdW1cIiApO1xuXHRcdGNhc2UgKCAhIGhhc01ldGFEZXNjcmlwdGlvbiAmJiBoYXNUaXRsZSAmJiBsZW5ndGhNZXNzYWdlID09PSBcIlwiICk6XG5cdFx0XHRyZXR1cm4gX18oIFwiQWRkIGEgbWV0YWRlc2NyaXB0aW9uIHRvIHlvdXIgcG9zdCBmb3IgdGhlIGJlc3QgaW50ZXJuYWwgbGlua2luZyBzdWdnZXN0aW9ucy5cIiwgXCJ3b3JkcHJlc3Mtc2VvLXByZW1pdW1cIiApO1xuXHRcdGNhc2UgKCAhIGhhc01ldGFEZXNjcmlwdGlvbiAmJiAhIGhhc1RpdGxlICYmIGxlbmd0aE1lc3NhZ2UgPT09IFwiXCIgKTpcblx0XHRcdHJldHVybiBfXyggXCJBZGQgYSB0aXRsZSBhbmQgYSBtZXRhZGVzY3JpcHRpb24gdG8geW91ciBwb3N0IGZvciB0aGUgYmVzdCBpbnRlcm5hbCBsaW5raW5nIHN1Z2dlc3Rpb25zLlwiLCBcIndvcmRwcmVzcy1zZW8tcHJlbWl1bVwiICk7XG5cdFx0Y2FzZSAoIGhhc01ldGFEZXNjcmlwdGlvbiAmJiAhIGhhc1RpdGxlICAmJiBsZW5ndGhNZXNzYWdlICE9PSBcIlwiICk6XG5cdFx0XHRyZXR1cm4gX18oIFwiQWxzbywgYWRkIGEgdGl0bGUgdG8geW91ciBwb3N0IGZvciB0aGUgYmVzdCBpbnRlcm5hbCBsaW5raW5nIHN1Z2dlc3Rpb25zLlwiLCBcIndvcmRwcmVzcy1zZW8tcHJlbWl1bVwiICk7XG5cdFx0Y2FzZSAoICEgaGFzTWV0YURlc2NyaXB0aW9uICYmIGhhc1RpdGxlICAmJiBsZW5ndGhNZXNzYWdlICE9PSBcIlwiICk6XG5cdFx0XHRyZXR1cm4gX18oIFwiQWxzbywgYWRkIGEgbWV0YWRlc2NyaXB0aW9uIHRvIHlvdXIgcG9zdCBmb3IgdGhlIGJlc3QgaW50ZXJuYWwgbGlua2luZyBzdWdnZXN0aW9ucy5cIiwgXCJ3b3JkcHJlc3Mtc2VvLXByZW1pdW1cIiApO1xuXHRcdGNhc2UgKCAhIGhhc01ldGFEZXNjcmlwdGlvbiAmJiAhIGhhc1RpdGxlICAmJiBsZW5ndGhNZXNzYWdlICE9PSBcIlwiICk6XG5cdFx0XHRyZXR1cm4gX18oIFwiQWxzbywgYWRkIGEgdGl0bGUgYW5kIGEgbWV0YWRlc2NyaXB0aW9uIHRvIHlvdXIgcG9zdCBmb3IgdGhlIGJlc3QgaW50ZXJuYWwgbGlua2luZyBzdWdnZXN0aW9ucy5cIiwgXCJ3b3JkcHJlc3Mtc2VvLXByZW1pdW1cIiApO1xuXHR9XG59O1xuLyogZXNsaW50LWVuYWJsZS1ydWxlIGNvbXBsZXhpdHkgKi9cblxuLyoqXG4gKiBEZWZpbmVzIGEgbWVzc2FnZSB0byByZW5kZXIgaW4gdGhlIEludGVybmFsIExpbmtpbmcgU3VnZ2VzdGlvbnMgQ29tcG9uZW50LlxuICpcbiAqIEBwYXJhbSAgIHtPYmplY3R9ICAgIGFyZ3MgICAgICAgICAgICAgICAgICAgICAgQSBjb21wb3VuZCBvYmplY3QuXG4gKiBAcGFyYW0gICB7Ym9vbGVhbn0gICBhcmdzLmhhc1dvcmRzRm9yTGlua2luZyAgIFdoZXRoZXIgd29yZHNGb3JMaW5raW5nIGFyZSBhdmFpbGFibGUgZm9yIHRoZSBwb3N0LlxuICogQHBhcmFtICAge2Jvb2xlYW59ICAgYXJncy5oYXNNZXRhRGVzY3JpcHRpb24gICBXaGV0aGVyIGEgbWV0YWRlc2NyaXB0aW9uIGlzIGF2YWlsYWJsZSBmb3IgdGhlIHBvc3QuXG4gKiBAcGFyYW0gICB7Ym9vbGVhbn0gICBhcmdzLmhhc1RpdGxlICAgICAgICAgICAgIFdoZXRoZXIgYSB0aXRsZSBpcyBhdmFpbGFibGUgZm9yIHRoZSBwb3N0LlxuICpcbiAqIEByZXR1cm5zIHtPYmplY3R9ICAgIG1lc3NhZ2VzICAgICAgICAgICAgICAgICAgTWVzc2FnZXMgdG8gcGFzcyB0byB0aGUgY29tcG9uZW50LlxuICogQHJldHVybnMge3N0cmluZ30gICAgbWVzc2FnZXMubGVuZ3RoTWVzc2FnZSAgICBBIGN1c3RvbSBtZXNzYWdlIGNvbmNlcm5pbmcgaW5zdWZmaWNpZW50IGxlbmd0aCBvZiB0aGUgY29weS5cbiAqIEByZXR1cm5zIHtzdHJpbmd9ICAgIG1lc3NhZ2VzLm1ldGFNZXNzYWdlICAgICAgQSBjdXN0b20gbWVzc2FnZSBjb25jZXJuaW5nIG1ldGFkYXRhIG1pc3NpbmcgaW4gdGhlIGNvcHkuXG4gKi9cbmNvbnN0IGRldGVybWluZVN1Z2dlc3Rpb25zQ3VzdG9tTWVzc2FnZSA9ICggYXJncyApID0+IHtcblx0bGV0IGxlbmd0aE1lc3NhZ2UgPSBcIlwiO1xuXG5cdGlmICggISBhcmdzLmhhc1dvcmRzRm9yTGlua2luZyApIHtcblx0XHRsZW5ndGhNZXNzYWdlID0gX18oXG5cdFx0XHRcIk9uY2UgeW91IGFkZCBhIGJpdCBtb3JlIGNvcHksIHdlJ2xsIGdpdmUgeW91IGEgbGlzdCBvZiByZWxhdGVkIGNvbnRlbnQgaGVyZSB0byB3aGljaCB5b3UgY291bGQgbGluayBpbiB5b3VyIHBvc3QuXCIsXG5cdFx0XHRcIndvcmRwcmVzcy1zZW8tcHJlbWl1bVwiXG5cdFx0KTtcblx0fVxuXG5cdGNvbnN0IG1ldGFNZXNzYWdlID0gZGV0ZXJtaW5lTWV0YU1lc3NhZ2UoIGxlbmd0aE1lc3NhZ2UsIGFyZ3MuaGFzVGl0bGUsIGFyZ3MuaGFzTWV0YURlc2NyaXB0aW9uICk7XG5cblx0cmV0dXJuIHtcblx0XHRsZW5ndGhNZXNzYWdlLFxuXHRcdG1ldGFNZXNzYWdlLFxuXHR9O1xufTtcblxuLyoqXG4gKiBHZW5lcmF0ZXMgYSB3YXJuaW5nIGFib3V0IHRoZSBzaXRlIG5vdCBoYXZpbmcgYmVlbiBwcm9wZXJseSBpbmRleGVkLlxuICoqXG4gKiBAcmV0dXJucyB7UmVhY3QuRWxlbWVudH0gVGhlIG1lc3NhZ2Ugb3Igbm8gZWxlbWVudC5cbiAqL1xuZXhwb3J0IGNvbnN0IGdldFVuaW5kZXhlZFdhcm5pbmcgPSAoKSA9PiB7XG5cdC8qIHRyYW5zbGF0b3JzOiAxOiBsaW5rIHRvIHlvYXN0LmNvbSBwb3N0IGFib3V0IGludGVybmFsIGxpbmtpbmcgc3VnZ2VzdGlvbi4gMjogaXMgYW5jaG9yIGNsb3NpbmcuXG5cdDM6IGJ1dHRvbiB0byB0aGUgcmVjYWxjdWxhdGlvbiBvcHRpb24uIDQ6IGNsb3NpbmcgYnV0dG9uICovXG5cdGxldCBtZXNzYWdlID0gX18oIFwiV2UgbmVlZCB0byBvcHRpbWl6ZSB5b3VyIHNpdGXigJlzIFNFTyBkYXRhIHNvIHdlIGNhbiBvZmZlciB5b3UgdGhlIGJlc3QgJTEkc2xpbmtpbmcgc3VnZ2VzdGlvbnMlMiRzLlwiICtcblx0XHRcdFx0XHRcdFx0IFwiXFxuXFxuXCIgK1xuXHRcdFx0XHRcdFx0XHQgXCIlMyRzU3RhcnQgU0VPIERhdGEgb3B0aW1pemF0aW9uJTQkc1wiLCBcIndvcmRwcmVzcy1zZW8tcHJlbWl1bVwiICk7XG5cblx0bWVzc2FnZSA9IG1lc3NhZ2UucmVwbGFjZSggXCIlMSRzXCIsIFwie3thfX1cIiApO1xuXHRtZXNzYWdlID0gbWVzc2FnZS5yZXBsYWNlKCBcIiUyJHNcIiwgXCJ7ey9hfX1cIiApO1xuXG5cdC8vIFRoZXNlIGFyZSBoZXJlIHRvIGtlZXAgdGhlIHN0cmluZyB0aGUgc2FtZSBhcyBpbiB0aGUgUEhQXG5cdG1lc3NhZ2UgPSBtZXNzYWdlLnJlcGxhY2UoIFwiJTMkc1wiLCBcInt7c3RhcnRBbmFseXNpc319XCIgKTtcblx0bWVzc2FnZSA9IG1lc3NhZ2UucmVwbGFjZSggXCIlNCRzXCIsIFwie3svc3RhcnRBbmFseXNpc319XCIgKTtcblxuXHRtZXNzYWdlID0gbWVzc2FnZS5yZXBsYWNlKCBcIlxcblxcblwiLCBcInt7YnIgL319e3ticiAvfX1cIiApO1xuXG5cdC8vIERpc2FibGUgcmVhc29uOiB0aGUgYW5jaG9yIGRvZXMgaGF2ZSBjb250ZW50LCBFU0xpbnQgZG9lc24ndCB1bmRlcnN0YW5kIGludGVycG9sYXRlQ29tcG9uZW50c1xuXHQvKiBlc2xpbnQtZGlzYWJsZSBqc3gtYTExeS9hbmNob3ItaGFzLWNvbnRlbnQgKi9cblx0bWVzc2FnZSA9IGludGVycG9sYXRlQ29tcG9uZW50cygge1xuXHRcdG1peGVkU3RyaW5nOiBtZXNzYWdlLFxuXHRcdGNvbXBvbmVudHM6IHtcblx0XHRcdC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSByZWFjdC9qc3gtbm8tdGFyZ2V0LWJsYW5rXG5cdFx0XHRhOiA8YSBocmVmPVwiaHR0cHM6Ly95b2Euc3Qvbm90aWZpY2F0aW9uLWludGVybmFsLWxpbmtcIiB0YXJnZXQ9XCJfYmxhbmtcIiAvPixcblx0XHRcdHN0YXJ0QW5hbHlzaXM6IDxidXR0b24gdHlwZT1cImJ1dHRvblwiIGNsYXNzTmFtZT1cImJ1dHRvblwiIG9uQ2xpY2s9eyBzdGFydEFuYWx5emluZyB9IC8+LFxuXHRcdFx0YnI6IDxiciAvPixcblx0XHR9LFxuXHR9ICk7XG5cdC8qIGVzbGludC1lbmFibGUganN4LWExMXkvYW5jaG9yLWhhcy1jb250ZW50ICovXG5cblx0cmV0dXJuIDxkaXYgY2xhc3NOYW1lPVwibm90aWNlIG5vdGljZS13YXJuaW5nIG5vdGljZS1hbHQgd3BzZW8tbm90aWNlLWJyZWFrb3V0LWluc2lkZSB5b2FzdC1saW5rcy1zdWdnZXN0aW9ucy1ub3RpY2VcIj48cD57IG1lc3NhZ2UgfTwvcD48L2Rpdj47XG59O1xuXG4vKipcbiAqIExpbmsgc3VnZ2VzdGlvbnMgbWV0YWJveCBjb21wb25lbnQuXG4gKlxuICogQHBhcmFtIHtPYmplY3R9ICBwcm9wcyAgICAgICAgICAgICBUaGUgcHJvcGVydGllcyBmb3IgdGhpcyBjb21wb25lbnRzLlxuICogQHBhcmFtIHtib29sZWFufSBwcm9wcy5pc0xvYWRpbmcgICBXaGV0aGVyIHRoaXMgY29tcG9uZW50IHNob3VsZCBzdGFydCBvZiBzaG93aW5nIGEgbG9hZGVyLlxuICogQHBhcmFtIHtBcnJheX0gICBwcm9wcy5zdWdnZXN0aW9ucyBUaGUgc3VnZ2VzdGlvbnMgdG8gcmVuZGVyIGluaXRpYWxseS5cbiAqXG4gKiBAcmV0dXJucyB7SlNYLkVsZW1lbnR9IFRoZSByZW5kZXJlZCBlbGVtZW50LlxuICovXG5jb25zdCBNZXRhYm94ID0gKCBwcm9wcyApID0+IHtcblx0aWYgKCBwcm9wcy5pc0xvYWRpbmcgKSB7XG5cdFx0cmV0dXJuIDxkaXYgY2xhc3NOYW1lPVwieW9hc3QtbGluay1zdWdnZXN0aW9uc1wiPlxuXHRcdFx0PHA+eyBfXyggXCJJdCB0YWtlcyBhIGZldyBzZWNvbmRzIHRvIHNob3cgeW91IGEgbGlzdCBvZiByZWxhdGVkIGNvbnRlbnQgdG8gd2hpY2ggeW91IGNvdWxkIGxpbmsuIFwiICtcblx0XHRcdFx0XHRcdFx0XHQgIFwiVGhlIHN1Z2dlc3Rpb25zIHdpbGwgYmUgc2hvd24gaGVyZSBhcyBzb29uIGFzIHdlIGhhdmUgdGhlbS5cIiwgXCJ3b3JkcHJlc3Mtc2VvLXByZW1pdW1cIiApIH08L3A+XG5cdFx0PC9kaXY+O1xuXHR9XG5cblx0aWYgKCAhIHlvYXN0Q2xpcEJvYXJkICkge1xuXHRcdHlvYXN0Q2xpcEJvYXJkID0gbmV3IENsaXBib2FyZEpTKCBcIi55b2FzdC1saW5rLXN1Z2dlc3Rpb25fX2NvcHlcIiApO1xuXHRcdHlvYXN0Q2xpcEJvYXJkLm9uKCBcInN1Y2Nlc3NcIiwgY2xpcGJvYXJkU3VjY2VzcyApO1xuXHRcdHlvYXN0Q2xpcEJvYXJkLm9uKCBcImVycm9yXCIsIGNsaXBib2FyZEVycm9yICk7XG5cdH1cblxuXHRsZXQgdW5pbmRleGVkV2FybmluZyA9IG51bGw7XG5cdGlmICggcHJvcHMuc2hvd1VuaW5kZXhlZFdhcm5pbmcgKSB7XG5cdFx0dW5pbmRleGVkV2FybmluZyA9IGdldFVuaW5kZXhlZFdhcm5pbmcoKTtcblx0fVxuXG5cdGNvbnN0IGRldGVybWluZU1lc3NhZ2VQYXJhbWV0ZXJzID0ge1xuXHRcdC4uLnByb3BzLm1lc3NhZ2VEYXRhLFxuXHRcdGhhc1dvcmRzRm9yTGlua2luZzogQXJyYXkuaXNBcnJheSggcHJvcHMud29yZHNGb3JMaW5raW5nICkgJiYgcHJvcHMud29yZHNGb3JMaW5raW5nLmxlbmd0aCA+IDAsXG5cdH07XG5cblx0Y29uc3QgY3VzdG9tTWVzc2FnZXMgPSBkZXRlcm1pbmVTdWdnZXN0aW9uc0N1c3RvbU1lc3NhZ2UoIGRldGVybWluZU1lc3NhZ2VQYXJhbWV0ZXJzICk7XG5cblx0cmV0dXJuIDxkaXYgY2xhc3NOYW1lPVwieW9hc3QtbGluay1zdWdnZXN0aW9uc1wiPlxuXHRcdHsgdW5pbmRleGVkV2FybmluZyB9XG5cdFx0PExpbmtTdWdnZXN0aW9ucyBzdWdnZXN0aW9ucz17IHByb3BzLnN1Z2dlc3Rpb25zIH0gY3VzdG9tTWVzc2FnZXM9eyBjdXN0b21NZXNzYWdlcyB9IC8+XG5cdDwvZGl2Pjtcbn07XG5cbk1ldGFib3gucHJvcFR5cGVzID0ge1xuXHRzdWdnZXN0aW9uczogUHJvcFR5cGVzLmFycmF5LmlzUmVxdWlyZWQsXG5cdHdvcmRzRm9yTGlua2luZzogUHJvcFR5cGVzLmFycmF5LFxuXHRtZXNzYWdlRGF0YTogUHJvcFR5cGVzLm9iamVjdCxcblx0aXNMb2FkaW5nOiBQcm9wVHlwZXMuYm9vbC5pc1JlcXVpcmVkLFxuXHRzaG93VW5pbmRleGVkV2FybmluZzogUHJvcFR5cGVzLmJvb2wsXG59O1xuXG5NZXRhYm94LmRlZmF1bHRQcm9wcyA9IHtcblx0c2hvd1VuaW5kZXhlZFdhcm5pbmc6IGZhbHNlLFxuXHRtZXNzYWdlRGF0YToge1xuXHRcdGhhc01ldGFEZXNjcmlwdGlvbjogZmFsc2UsXG5cdFx0aGFzVGl0bGU6IGZhbHNlLFxuXHR9LFxuXHR3b3Jkc0Zvckxpbmtpbmc6IFtdLFxufTtcblxuZXhwb3J0IGRlZmF1bHQgTWV0YWJveDtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUFBO0FBQ0E7QUFDQTtBQVFBO0FBQ0E7QUFDQTtBQVhBO0FBQ0E7OztBQUFBO0FBQ0E7OztBQUFBO0FBQ0E7OztBQUFBO0FBQ0E7OztBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTs7O0FBRUE7QUFDQTs7O0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFHQTtBQUNBO0FBRUE7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUZBO0FBSEE7QUFDQTtBQVFBO0FBQ0E7QUFDQTs7Ozs7O0FBTUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7Ozs7O0FBTUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7OztBQUtBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUhBO0FBTUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFBQTtBQUFBO0FBSEE7QUFNQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFIQTtBQUNBO0FBS0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUZBO0FBRkE7QUFDQTtBQU9BOzs7OztBQUtBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7Ozs7Ozs7QUFRQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBWkE7QUFjQTtBQUNBO0FBQ0E7QUFDQTs7Ozs7Ozs7Ozs7O0FBWUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUlBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRkE7QUFJQTtBQUNBO0FBQ0E7Ozs7O0FBS0E7QUFDQTs7QUFFQTtBQUNBO0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBSkE7QUFGQTtBQVNBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7Ozs7Ozs7OztBQVNBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBREE7QUFJQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFGQTtBQUNBO0FBSUE7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFGQTtBQUlBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFMQTtBQUNBO0FBT0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUZBO0FBSUE7QUFOQTtBQUNBO0FBUUEiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///33\n')},function(module,exports){eval("module.exports = window.wp.a11y;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMzQuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vZXh0ZXJuYWwgXCJ3aW5kb3cud3AuYTExeVwiPzUzZmMiXSwic291cmNlc0NvbnRlbnQiOlsibW9kdWxlLmV4cG9ydHMgPSB3aW5kb3cud3AuYTExeTsiXSwibWFwcGluZ3MiOiJBQUFBIiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///34\n")},function(module,exports,__webpack_require__){"use strict";eval('\n\nObject.defineProperty(exports, "__esModule", {\n\tvalue: true\n});\n\nvar _react = __webpack_require__(5);\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _propTypes = __webpack_require__(2);\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar _styledComponents = __webpack_require__(8);\n\nvar _styledComponents2 = _interopRequireDefault(_styledComponents);\n\nvar _i18n = __webpack_require__(0);\n\nvar _styleGuide = __webpack_require__(25);\n\nvar _components = __webpack_require__(6);\n\nvar _helpers = __webpack_require__(10);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar LinkSuggestionWrapper = _styledComponents2.default.div.withConfig({\n\tdisplayName: "LinkSuggestion__LinkSuggestionWrapper",\n\tcomponentId: "sc-1gewdgc-0"\n})(["display:flex;align-items:normal;min-height:40px;margin:10px 0 5px;"]);\n\n/* eslint-disable max-len, quote-props */\nvar LinkSuggestionSVGIcon = (0, _helpers.createSvgIconComponent)({\n\t"copy": { viewbox: "0 0 448 512", path: "M433.941 65.941l-51.882-51.882A48 48 0 0 0 348.118 0H176c-26.51 0-48 21.49-48 48v48H48c-26.51 0-48 21.49-48 48v320c0 26.51 21.49 48 48 48h224c26.51 0 48-21.49 48-48v-48h80c26.51 0 48-21.49 48-48V99.882a48 48 0 0 0-14.059-33.941zM266 464H54a6 6 0 0 1-6-6V150a6 6 0 0 1 6-6h74v224c0 26.51 21.49 48 48 48h96v42a6 6 0 0 1-6 6zm128-96H182a6 6 0 0 1-6-6V54a6 6 0 0 1 6-6h106v88c0 13.255 10.745 24 24 24h88v202a6 6 0 0 1-6 6zm6-256h-64V48h9.632c1.591 0 3.117.632 4.243 1.757l48.368 48.368a6 6 0 0 1 1.757 4.243V112z" },\n\t"check": { viewbox: "0 0 512 512", path: "M173.898 439.404l-166.4-166.4c-9.997-9.997-9.997-26.206 0-36.204l36.203-36.204c9.997-9.998 26.207-9.998 36.204 0L192 312.69 432.095 72.596c9.997-9.997 26.207-9.997 36.204 0l36.203 36.204c9.997 9.997 9.997 26.206 0 36.204l-294.4 294.401c-9.998 9.997-26.207 9.997-36.204-.001z" }\n});\n/* eslint-enable */\n\nvar LinkSuggestionDivider = _styledComponents2.default.div.withConfig({\n\tdisplayName: "LinkSuggestion__LinkSuggestionDivider",\n\tcomponentId: "sc-1gewdgc-1"\n})(["background-color:#e5e5e5;width:100%;height:1px;"]);\n\nvar LinkSuggestionIcon = _styledComponents2.default.button.withConfig({\n\tdisplayName: "LinkSuggestion__LinkSuggestionIcon",\n\tcomponentId: "sc-1gewdgc-2"\n})(["box-sizing:border-box;flex:0 0 30px;height:30px;width:30px;background-color:", ";border-radius:5px;cursor:pointer;outline:none;border:1px solid ", ";margin-left:3px;&:focus{box-shadow:0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,0.8);}"], function (props) {\n\treturn props.iconBackground;\n}, function (props) {\n\treturn props.iconBorder;\n});\n\nLinkSuggestionIcon.props = {\n\ticonBackground: _propTypes2.default.string,\n\ticonBorder: _propTypes2.default.string\n};\n\nLinkSuggestionIcon.defaultProps = {\n\ticonBackground: _styleGuide.colors.$color_button,\n\ticonBorder: _styleGuide.colors.$color_button_border\n};\n\nvar LinkContainer = _styledComponents2.default.div.withConfig({\n\tdisplayName: "LinkSuggestion__LinkContainer",\n\tcomponentId: "sc-1gewdgc-3"\n})(["flex:auto;max-width:200px;"]);\n\nvar Link = (0, _helpers.makeOutboundLink)(_styledComponents2.default.a.withConfig({\n\tdisplayName: "LinkSuggestion__Link",\n\tcomponentId: "sc-1gewdgc-4"\n})(["text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;max-height:40px;margin-bottom:4px;-webkit-box-orient:vertical;overflow:hidden;padding:0 0 4px;"]));\n\nvar BadgesWrapper = _styledComponents2.default.div.withConfig({\n\tdisplayName: "LinkSuggestion__BadgesWrapper",\n\tcomponentId: "sc-1gewdgc-5"\n})(["flex-wrap:wrap;display:flex;flex-direction:row;justify-content:unset;margin-top:4px;"]);\n\nvar Badge = _styledComponents2.default.span.withConfig({\n\tdisplayName: "LinkSuggestion__Badge",\n\tcomponentId: "sc-1gewdgc-6"\n})(["white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:center;padding:3px 8px;font-size:0.85em;background-color:#f3f4f5;border-radius:2px;margin-bottom:4px;margin-right:4px;text-transform:lowercase;"]);\n\n/**\n * Represents a list of badges.\n *\n * @param {string[]} badges The badges.\n *\n * @returns {React.Element} The rendered badges.\n */\nvar Badges = function Badges(_ref) {\n\tvar badges = _ref.badges;\n\n\treturn wp.element.createElement(\n\t\tBadgesWrapper,\n\t\tnull,\n\t\tbadges.map(function (badge, key) {\n\t\t\treturn wp.element.createElement(\n\t\t\t\tBadge,\n\t\t\t\t{ key: key },\n\t\t\t\tbadge\n\t\t\t);\n\t\t})\n\t);\n};\n\nBadges.propTypes = {\n\tbadges: _propTypes2.default.array.isRequired\n};\n\n/**\n * Represents a suggestion component with a copy url to clipboard icon and a text value.\n *\n * @param {string} value The text value.\n * @param {string} url The URL.\n * @param {boolean} isActive Whether the URL is already in use in the text.\n * @param {string[]} labels The labels of suggested object (e.g. cornerstone, post, movie, category, etc.).\n *\n * @returns {React.Element} The rendered suggestion.\n *\n * @constructor\n */\nvar LinkSuggestion = function LinkSuggestion(_ref2) {\n\tvar value = _ref2.value,\n\t url = _ref2.url,\n\t isActive = _ref2.isActive,\n\t labels = _ref2.labels;\n\n\tvar label = (0, _i18n.__)("Copy link", "wordpress-seo-premium");\n\tvar ariaLabel = (0, _i18n.sprintf)(\n\t/* translators: %s expands to the link value */\n\t(0, _i18n.__)("Copy link to suggested article: %s", "wordpress-seo-premium"), value);\n\n\t/**\n * Resets the button aria-label and data-label to their default values.\n *\n * @param {Object} evt The blur SyntheticEvent on the button.\n *\n * @returns {void}\n */\n\tvar resetLabels = function resetLabels(evt) {\n\t\tevt.nativeEvent.target.setAttribute("aria-label", ariaLabel);\n\t\tevt.nativeEvent.target.setAttribute("data-label", label);\n\t};\n\n\tvar icon = "copy";\n\tvar iconColor = _styleGuide.colors.$color_black;\n\tvar iconBackground = _styleGuide.colors.$color_button;\n\tvar iconBorder = "#979797";\n\tif (isActive) {\n\t\ticon = "check";\n\t\ticonColor = _styleGuide.colors.$color_alert_success_text;\n\t\ticonBackground = _styleGuide.colors.$color_alert_success_background;\n\t\ticonBorder = _styleGuide.colors.$color_alert_success_background;\n\t}\n\n\treturn wp.element.createElement(\n\t\t"div",\n\t\tnull,\n\t\twp.element.createElement(LinkSuggestionDivider, null),\n\t\twp.element.createElement(\n\t\t\tLinkSuggestionWrapper,\n\t\t\t{ className: "yoast-link-suggestion__wrapper" },\n\t\t\twp.element.createElement(\n\t\t\t\tLinkContainer,\n\t\t\t\t{ className: "yoast-link-suggestion__container" },\n\t\t\t\twp.element.createElement(\n\t\t\t\t\tLink,\n\t\t\t\t\t{ href: url },\n\t\t\t\t\tvalue\n\t\t\t\t),\n\t\t\t\twp.element.createElement(Badges, { badges: labels })\n\t\t\t),\n\t\t\twp.element.createElement(\n\t\t\t\tLinkSuggestionIcon,\n\t\t\t\t{\n\t\t\t\t\ttype: "button",\n\t\t\t\t\tclassName: "yoast-link-suggestion__copy yoast-tooltip yoast-tooltip-alt yoast-tooltip-s",\n\t\t\t\t\tonBlur: resetLabels,\n\t\t\t\t\t"data-clipboard-text": url,\n\t\t\t\t\t"aria-label": ariaLabel,\n\t\t\t\t\t"data-label": label,\n\t\t\t\t\ticonBackground: iconBackground,\n\t\t\t\t\ticonBorder: iconBorder\n\t\t\t\t},\n\t\t\t\twp.element.createElement(LinkSuggestionSVGIcon, { icon: icon, color: iconColor }),\n\t\t\t\twp.element.createElement(\n\t\t\t\t\t_components.ScreenReaderText,\n\t\t\t\t\tnull,\n\t\t\t\t\tlabel\n\t\t\t\t)\n\t\t\t)\n\t\t)\n\t);\n};\n\nLinkSuggestion.propTypes = {\n\tvalue: _propTypes2.default.string.isRequired,\n\turl: _propTypes2.default.string.isRequired,\n\tisActive: _propTypes2.default.bool,\n\tlabels: _propTypes2.default.array.isRequired\n};\n\nLinkSuggestion.defaultProps = {\n\tisActive: false\n};\n\nexports.default = LinkSuggestion;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMzUuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vYXNzZXRzL2pzL3NyYy9jb21wb25lbnRzL0xpbmtTdWdnZXN0aW9uLmpzP2I0ODgiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tIFwicHJvcC10eXBlc1wiO1xuaW1wb3J0IHN0eWxlZCBmcm9tIFwic3R5bGVkLWNvbXBvbmVudHNcIjtcbmltcG9ydCB7IF9fLCBzcHJpbnRmIH0gZnJvbSBcIkB3b3JkcHJlc3MvaTE4blwiO1xuaW1wb3J0IHsgY29sb3JzIH0gZnJvbSBcIkB5b2FzdC9zdHlsZS1ndWlkZVwiO1xuaW1wb3J0IHsgU2NyZWVuUmVhZGVyVGV4dCB9IGZyb20gXCJAeW9hc3QvY29tcG9uZW50c1wiO1xuaW1wb3J0IHsgbWFrZU91dGJvdW5kTGluaywgY3JlYXRlU3ZnSWNvbkNvbXBvbmVudCB9IGZyb20gXCJAeW9hc3QvaGVscGVyc1wiO1xuXG5jb25zdCBMaW5rU3VnZ2VzdGlvbldyYXBwZXIgPSBzdHlsZWQuZGl2YFxuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogbm9ybWFsO1xuXHRtaW4taGVpZ2h0OiA0MHB4O1xuXHRtYXJnaW46IDEwcHggMCA1cHg7XG5gO1xuXG4vKiBlc2xpbnQtZGlzYWJsZSBtYXgtbGVuLCBxdW90ZS1wcm9wcyAqL1xuY29uc3QgTGlua1N1Z2dlc3Rpb25TVkdJY29uID0gY3JlYXRlU3ZnSWNvbkNvbXBvbmVudCgge1xuXHRcImNvcHlcIjogeyB2aWV3Ym94OiBcIjAgMCA0NDggNTEyXCIsIHBhdGg6IFwiTTQzMy45NDEgNjUuOTQxbC01MS44ODItNTEuODgyQTQ4IDQ4IDAgMCAwIDM0OC4xMTggMEgxNzZjLTI2LjUxIDAtNDggMjEuNDktNDggNDh2NDhINDhjLTI2LjUxIDAtNDggMjEuNDktNDggNDh2MzIwYzAgMjYuNTEgMjEuNDkgNDggNDggNDhoMjI0YzI2LjUxIDAgNDgtMjEuNDkgNDgtNDh2LTQ4aDgwYzI2LjUxIDAgNDgtMjEuNDkgNDgtNDhWOTkuODgyYTQ4IDQ4IDAgMCAwLTE0LjA1OS0zMy45NDF6TTI2NiA0NjRINTRhNiA2IDAgMCAxLTYtNlYxNTBhNiA2IDAgMCAxIDYtNmg3NHYyMjRjMCAyNi41MSAyMS40OSA0OCA0OCA0OGg5NnY0MmE2IDYgMCAwIDEtNiA2em0xMjgtOTZIMTgyYTYgNiAwIDAgMS02LTZWNTRhNiA2IDAgMCAxIDYtNmgxMDZ2ODhjMCAxMy4yNTUgMTAuNzQ1IDI0IDI0IDI0aDg4djIwMmE2IDYgMCAwIDEtNiA2em02LTI1NmgtNjRWNDhoOS42MzJjMS41OTEgMCAzLjExNy42MzIgNC4yNDMgMS43NTdsNDguMzY4IDQ4LjM2OGE2IDYgMCAwIDEgMS43NTcgNC4yNDNWMTEyelwiIH0sXG5cdFwiY2hlY2tcIjogeyB2aWV3Ym94OiBcIjAgMCA1MTIgNTEyXCIsIHBhdGg6IFwiTTE3My44OTggNDM5LjQwNGwtMTY2LjQtMTY2LjRjLTkuOTk3LTkuOTk3LTkuOTk3LTI2LjIwNiAwLTM2LjIwNGwzNi4yMDMtMzYuMjA0YzkuOTk3LTkuOTk4IDI2LjIwNy05Ljk5OCAzNi4yMDQgMEwxOTIgMzEyLjY5IDQzMi4wOTUgNzIuNTk2YzkuOTk3LTkuOTk3IDI2LjIwNy05Ljk5NyAzNi4yMDQgMGwzNi4yMDMgMzYuMjA0YzkuOTk3IDkuOTk3IDkuOTk3IDI2LjIwNiAwIDM2LjIwNGwtMjk0LjQgMjk0LjQwMWMtOS45OTggOS45OTctMjYuMjA3IDkuOTk3LTM2LjIwNC0uMDAxelwiIH0sXG59ICk7XG4vKiBlc2xpbnQtZW5hYmxlICovXG5cbmNvbnN0IExpbmtTdWdnZXN0aW9uRGl2aWRlciA9IHN0eWxlZC5kaXZgXG4gICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTVlNWU1O1xuICAgd2lkdGg6IDEwMCU7XG4gICBoZWlnaHQ6IDFweDtcbmA7XG5cbmNvbnN0IExpbmtTdWdnZXN0aW9uSWNvbiA9IHN0eWxlZC5idXR0b25gXG5cdGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG5cdGZsZXg6IDAgMCAzMHB4O1xuXHRoZWlnaHQ6IDMwcHg7XG5cdHdpZHRoOiAzMHB4O1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkeyBwcm9wcyA9PiBwcm9wcy5pY29uQmFja2dyb3VuZCB9O1xuXHRib3JkZXItcmFkaXVzOiA1cHg7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0b3V0bGluZTpub25lO1xuXHRib3JkZXI6IDFweCBzb2xpZCAkeyBwcm9wcyA9PiBwcm9wcy5pY29uQm9yZGVyIH07XG5cdG1hcmdpbi1sZWZ0OiAzcHg7XG5cblx0Jjpmb2N1cyB7XG5cdFx0Ym94LXNoYWRvdzogMCAwIDAgMXB4ICM1YjlkZDksIDAgMCAycHggMXB4IHJnYmEoMzAsIDE0MCwgMTkwLCAwLjgpO1xuXHR9XG5gO1xuXG5MaW5rU3VnZ2VzdGlvbkljb24ucHJvcHMgPSB7XG5cdGljb25CYWNrZ3JvdW5kOiBQcm9wVHlwZXMuc3RyaW5nLFxuXHRpY29uQm9yZGVyOiBQcm9wVHlwZXMuc3RyaW5nLFxufTtcblxuTGlua1N1Z2dlc3Rpb25JY29uLmRlZmF1bHRQcm9wcyA9IHtcblx0aWNvbkJhY2tncm91bmQ6IGNvbG9ycy4kY29sb3JfYnV0dG9uLFxuXHRpY29uQm9yZGVyOiBjb2xvcnMuJGNvbG9yX2J1dHRvbl9ib3JkZXIsXG59O1xuXG5jb25zdCBMaW5rQ29udGFpbmVyID0gc3R5bGVkLmRpdmBcblx0ZmxleDogYXV0bztcblx0bWF4LXdpZHRoOiAyMDBweDtcbmA7XG5cbmNvbnN0IExpbmsgPSBtYWtlT3V0Ym91bmRMaW5rKCBzdHlsZWQuYWBcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgICAtd2Via2l0LWxpbmUtY2xhbXA6IDI7XG4gICAgLyogLXdlYmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNhbDsgKi9cbiAgICAvKiAtbW96LWJveC1vcmllbnQ6IHZlcnRpY2FsOyAqL1xuICAgIG1heC1oZWlnaHQ6IDQwcHg7XG4gICAgbWFyZ2luLWJvdHRvbTogNHB4O1xuICAgIC13ZWJraXQtYm94LW9yaWVudDogdmVydGljYWw7XG5cdG92ZXJmbG93OiBoaWRkZW47XG5cdHBhZGRpbmc6IDAgMCA0cHg7XG5gICk7XG5cbmNvbnN0IEJhZGdlc1dyYXBwZXIgPSBzdHlsZWQuZGl2YFxuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAganVzdGlmeS1jb250ZW50OiB1bnNldDtcbiAgICBtYXJnaW4tdG9wOiA0cHg7XG5gO1xuXG5jb25zdCBCYWRnZSA9IHN0eWxlZC5zcGFuYFxuXHR3aGl0ZS1zcGFjZTogbm93cmFwO1xuXHRvdmVyZmxvdzogaGlkZGVuO1xuXHR0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcblx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRwYWRkaW5nOiAzcHggOHB4O1xuXHRmb250LXNpemU6IDAuODVlbTtcblx0YmFja2dyb3VuZC1jb2xvcjogI2YzZjRmNTtcblx0Ym9yZGVyLXJhZGl1czogMnB4O1xuXHRtYXJnaW4tYm90dG9tOiA0cHg7XG5cdG1hcmdpbi1yaWdodDogNHB4O1xuXHR0ZXh0LXRyYW5zZm9ybTogbG93ZXJjYXNlO1xuYDtcblxuLyoqXG4gKiBSZXByZXNlbnRzIGEgbGlzdCBvZiBiYWRnZXMuXG4gKlxuICogQHBhcmFtIHtzdHJpbmdbXX0gYmFkZ2VzIFRoZSBiYWRnZXMuXG4gKlxuICogQHJldHVybnMge1JlYWN0LkVsZW1lbnR9IFRoZSByZW5kZXJlZCBiYWRnZXMuXG4gKi9cbmNvbnN0IEJhZGdlcyA9ICggeyBiYWRnZXMgfSApID0+ICB7XG5cdHJldHVybiAoIDxCYWRnZXNXcmFwcGVyPlxuXHRcdHsgYmFkZ2VzLm1hcCggKCBiYWRnZSwga2V5ICkgPT4gPEJhZGdlIGtleT17IGtleSB9PnsgYmFkZ2UgfTwvQmFkZ2U+ICkgfVxuXHQ8L0JhZGdlc1dyYXBwZXI+ICk7XG59O1xuXG5CYWRnZXMucHJvcFR5cGVzID0ge1xuXHRiYWRnZXM6IFByb3BUeXBlcy5hcnJheS5pc1JlcXVpcmVkLFxufTtcblxuLyoqXG4gKiBSZXByZXNlbnRzIGEgc3VnZ2VzdGlvbiBjb21wb25lbnQgd2l0aCBhIGNvcHkgdXJsIHRvIGNsaXBib2FyZCBpY29uIGFuZCBhIHRleHQgdmFsdWUuXG4gKlxuICogQHBhcmFtIHtzdHJpbmd9ICAgdmFsdWUgICAgVGhlIHRleHQgdmFsdWUuXG4gKiBAcGFyYW0ge3N0cmluZ30gICB1cmwgICAgICBUaGUgVVJMLlxuICogQHBhcmFtIHtib29sZWFufSAgaXNBY3RpdmUgV2hldGhlciB0aGUgVVJMIGlzIGFscmVhZHkgaW4gdXNlIGluIHRoZSB0ZXh0LlxuICogQHBhcmFtIHtzdHJpbmdbXX0gbGFiZWxzICAgVGhlIGxhYmVscyBvZiBzdWdnZXN0ZWQgb2JqZWN0IChlLmcuIGNvcm5lcnN0b25lLCBwb3N0LCBtb3ZpZSwgY2F0ZWdvcnksIGV0Yy4pLlxuICpcbiAqIEByZXR1cm5zIHtSZWFjdC5FbGVtZW50fSBUaGUgcmVuZGVyZWQgc3VnZ2VzdGlvbi5cbiAqXG4gKiBAY29uc3RydWN0b3JcbiAqL1xuY29uc3QgTGlua1N1Z2dlc3Rpb24gPSAoIHsgdmFsdWUsIHVybCwgaXNBY3RpdmUsIGxhYmVscyB9ICkgPT4ge1xuXHRjb25zdCBsYWJlbCA9IF9fKCBcIkNvcHkgbGlua1wiLCBcIndvcmRwcmVzcy1zZW8tcHJlbWl1bVwiICk7XG5cdGNvbnN0IGFyaWFMYWJlbCA9IHNwcmludGYoXG5cdFx0LyogdHJhbnNsYXRvcnM6ICVzIGV4cGFuZHMgdG8gdGhlIGxpbmsgdmFsdWUgKi9cblx0XHRfXyggXCJDb3B5IGxpbmsgdG8gc3VnZ2VzdGVkIGFydGljbGU6ICVzXCIsIFwid29yZHByZXNzLXNlby1wcmVtaXVtXCIgKSxcblx0XHR2YWx1ZSxcblx0KTtcblxuXHQvKipcblx0ICogUmVzZXRzIHRoZSBidXR0b24gYXJpYS1sYWJlbCBhbmQgZGF0YS1sYWJlbCB0byB0aGVpciBkZWZhdWx0IHZhbHVlcy5cblx0ICpcblx0ICogQHBhcmFtIHtPYmplY3R9IGV2dCBUaGUgYmx1ciBTeW50aGV0aWNFdmVudCBvbiB0aGUgYnV0dG9uLlxuXHQgKlxuXHQgKiBAcmV0dXJucyB7dm9pZH1cblx0ICovXG5cdGNvbnN0IHJlc2V0TGFiZWxzID0gKCBldnQgKSA9PiB7XG5cdFx0ZXZ0Lm5hdGl2ZUV2ZW50LnRhcmdldC5zZXRBdHRyaWJ1dGUoIFwiYXJpYS1sYWJlbFwiLCBhcmlhTGFiZWwgKTtcblx0XHRldnQubmF0aXZlRXZlbnQudGFyZ2V0LnNldEF0dHJpYnV0ZSggXCJkYXRhLWxhYmVsXCIsIGxhYmVsICk7XG5cdH07XG5cblx0bGV0IGljb24gPSBcImNvcHlcIjtcblx0bGV0IGljb25Db2xvciA9IGNvbG9ycy4kY29sb3JfYmxhY2s7XG5cdGxldCBpY29uQmFja2dyb3VuZCA9IGNvbG9ycy4kY29sb3JfYnV0dG9uO1xuXHRsZXQgaWNvbkJvcmRlciA9IFwiIzk3OTc5N1wiO1xuXHRpZiAoIGlzQWN0aXZlICkge1xuXHRcdGljb24gPSBcImNoZWNrXCI7XG5cdFx0aWNvbkNvbG9yID0gY29sb3JzLiRjb2xvcl9hbGVydF9zdWNjZXNzX3RleHQ7XG5cdFx0aWNvbkJhY2tncm91bmQgPSBjb2xvcnMuJGNvbG9yX2FsZXJ0X3N1Y2Nlc3NfYmFja2dyb3VuZDtcblx0XHRpY29uQm9yZGVyID0gY29sb3JzLiRjb2xvcl9hbGVydF9zdWNjZXNzX2JhY2tncm91bmQ7XG5cdH1cblxuXHRyZXR1cm4gKFxuXHRcdDxkaXY+XG5cdFx0XHQ8TGlua1N1Z2dlc3Rpb25EaXZpZGVyIC8+XG5cdFx0XHQ8TGlua1N1Z2dlc3Rpb25XcmFwcGVyIGNsYXNzTmFtZT1cInlvYXN0LWxpbmstc3VnZ2VzdGlvbl9fd3JhcHBlclwiPlxuXHRcdFx0XHQ8TGlua0NvbnRhaW5lciBjbGFzc05hbWU9XCJ5b2FzdC1saW5rLXN1Z2dlc3Rpb25fX2NvbnRhaW5lclwiPlxuXHRcdFx0XHRcdDxMaW5rIGhyZWY9eyB1cmwgfT57IHZhbHVlIH08L0xpbms+XG5cdFx0XHRcdFx0PEJhZGdlcyBiYWRnZXM9eyBsYWJlbHMgfSAvPlxuXHRcdFx0XHQ8L0xpbmtDb250YWluZXI+XG5cdFx0XHRcdDxMaW5rU3VnZ2VzdGlvbkljb25cblx0XHRcdFx0XHR0eXBlPVwiYnV0dG9uXCJcblx0XHRcdFx0XHRjbGFzc05hbWU9XCJ5b2FzdC1saW5rLXN1Z2dlc3Rpb25fX2NvcHkgeW9hc3QtdG9vbHRpcCB5b2FzdC10b29sdGlwLWFsdCB5b2FzdC10b29sdGlwLXNcIlxuXHRcdFx0XHRcdG9uQmx1cj17IHJlc2V0TGFiZWxzIH1cblx0XHRcdFx0XHRkYXRhLWNsaXBib2FyZC10ZXh0PXsgdXJsIH1cblx0XHRcdFx0XHRhcmlhLWxhYmVsPXsgYXJpYUxhYmVsIH1cblx0XHRcdFx0XHRkYXRhLWxhYmVsPXsgbGFiZWwgfVxuXHRcdFx0XHRcdGljb25CYWNrZ3JvdW5kPXsgaWNvbkJhY2tncm91bmQgfVxuXHRcdFx0XHRcdGljb25Cb3JkZXI9eyBpY29uQm9yZGVyIH1cblx0XHRcdFx0PlxuXHRcdFx0XHRcdDxMaW5rU3VnZ2VzdGlvblNWR0ljb24gaWNvbj17IGljb24gfSBjb2xvcj17IGljb25Db2xvciB9IC8+XG5cdFx0XHRcdFx0PFNjcmVlblJlYWRlclRleHQ+eyBsYWJlbCB9PC9TY3JlZW5SZWFkZXJUZXh0PlxuXHRcdFx0XHQ8L0xpbmtTdWdnZXN0aW9uSWNvbj5cblx0XHRcdDwvTGlua1N1Z2dlc3Rpb25XcmFwcGVyPlxuXHRcdDwvZGl2PlxuXHQpO1xufTtcblxuTGlua1N1Z2dlc3Rpb24ucHJvcFR5cGVzID0ge1xuXHR2YWx1ZTogUHJvcFR5cGVzLnN0cmluZy5pc1JlcXVpcmVkLFxuXHR1cmw6IFByb3BUeXBlcy5zdHJpbmcuaXNSZXF1aXJlZCxcblx0aXNBY3RpdmU6IFByb3BUeXBlcy5ib29sLFxuXHRsYWJlbHM6IFByb3BUeXBlcy5hcnJheS5pc1JlcXVpcmVkLFxufTtcblxuTGlua1N1Z2dlc3Rpb24uZGVmYXVsdFByb3BzID0ge1xuXHRpc0FjdGl2ZTogZmFsc2UsXG59O1xuXG5leHBvcnQgZGVmYXVsdCBMaW5rU3VnZ2VzdGlvbjtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUE7QUFDQTs7O0FBQUE7QUFDQTs7O0FBQUE7QUFDQTs7O0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTs7O0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQU1BO0FBQ0E7QUFDQTtBQUNBO0FBRkE7QUFJQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUtBO0FBQUE7QUFBQTtBQUFBO0FBS0E7QUFBQTtBQUlBO0FBQUE7QUFDQTtBQU9BO0FBQ0E7QUFDQTtBQUZBO0FBQ0E7QUFJQTtBQUNBO0FBQ0E7QUFGQTtBQUNBO0FBSUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUlBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFZQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBT0E7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQWFBOzs7Ozs7O0FBT0E7QUFBQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFEQTtBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBREE7QUFDQTtBQUdBOzs7Ozs7Ozs7Ozs7QUFZQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBR0E7Ozs7Ozs7QUFPQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQ0E7QUFBQTtBQUFBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBRkE7QUFJQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBUkE7QUFVQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFYQTtBQUxBO0FBRkE7QUF1QkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFKQTtBQUNBO0FBTUE7QUFDQTtBQURBO0FBQ0E7QUFHQSIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///35\n')},,function(module,exports,__webpack_require__){"use strict";eval('\n\nObject.defineProperty(exports, "__esModule", {\n value: true\n});\nexports.default = linkSuggestionsEnabled;\n/**\n * Determines whether or not link suggestions are enabled.\n *\n * @returns {boolean} Whether or not link suggestions are enabled.\n */\nfunction linkSuggestionsEnabled() {\n return window.wpseoPremiumMetaboxData.data.linkSuggestionsEnabled === "enabled" && window.wpseoPremiumMetaboxData.data.linkSuggestionsAvailable;\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMzcuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vYXNzZXRzL2pzL3NyYy9mdW5jdGlvbnMvbGlua1N1Z2dlc3Rpb25zRW5hYmxlZC5qcz8yYWFlIl0sInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogRGV0ZXJtaW5lcyB3aGV0aGVyIG9yIG5vdCBsaW5rIHN1Z2dlc3Rpb25zIGFyZSBlbmFibGVkLlxuICpcbiAqIEByZXR1cm5zIHtib29sZWFufSBXaGV0aGVyIG9yIG5vdCBsaW5rIHN1Z2dlc3Rpb25zIGFyZSBlbmFibGVkLlxuICovXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBsaW5rU3VnZ2VzdGlvbnNFbmFibGVkKCkge1xuXHRyZXR1cm4gd2luZG93Lndwc2VvUHJlbWl1bU1ldGFib3hEYXRhLmRhdGEubGlua1N1Z2dlc3Rpb25zRW5hYmxlZCA9PT0gXCJlbmFibGVkXCIgJiZcblx0XHR3aW5kb3cud3BzZW9QcmVtaXVtTWV0YWJveERhdGEuZGF0YS5saW5rU3VnZ2VzdGlvbnNBdmFpbGFibGU7XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7O0FBS0E7QUFMQTs7Ozs7QUFLQTtBQUNBO0FBRUEiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///37\n')},function(module,exports){eval("module.exports = window.wp.blocks;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMzguanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vZXh0ZXJuYWwgXCJ3aW5kb3cud3AuYmxvY2tzXCI/NzljMCJdLCJzb3VyY2VzQ29udGVudCI6WyJtb2R1bGUuZXhwb3J0cyA9IHdpbmRvdy53cC5ibG9ja3M7Il0sIm1hcHBpbmdzIjoiQUFBQSIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///38\n")},,,,,,function(module,exports){eval("module.exports = window.wp.domReady;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiNDQuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vZXh0ZXJuYWwgXCJ3aW5kb3cud3AuZG9tUmVhZHlcIj83NmIyIl0sInNvdXJjZXNDb250ZW50IjpbIm1vZHVsZS5leHBvcnRzID0gd2luZG93LndwLmRvbVJlYWR5OyJdLCJtYXBwaW5ncyI6IkFBQUEiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///44\n")},function(module,exports){eval("module.exports = window.wp.blockEditor;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiNDUuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vZXh0ZXJuYWwgXCJ3aW5kb3cud3AuYmxvY2tFZGl0b3JcIj85ZThhIl0sInNvdXJjZXNDb250ZW50IjpbIm1vZHVsZS5leHBvcnRzID0gd2luZG93LndwLmJsb2NrRWRpdG9yOyJdLCJtYXBwaW5ncyI6IkFBQUEiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///45\n")},,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,function(module,exports,__webpack_require__){"use strict";eval('\n\nObject.defineProperty(exports, "__esModule", {\n\tvalue: true\n});\nexports.default = recurseOverBlocks;\n/**\n* Runs a function over all blocks, including nested blocks.\n*\n* @param {Object[]} blocks The blocks.\n* @param {function} callback The callback.\n*\n* @returns {void}\n*/\nfunction recurseOverBlocks(blocks, callback) {\n\tvar _iteratorNormalCompletion = true;\n\tvar _didIteratorError = false;\n\tvar _iteratorError = undefined;\n\n\ttry {\n\t\tfor (var _iterator = blocks[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n\t\t\tvar block = _step.value;\n\n\t\t\t// eslint-disable-next-line callback-return\n\t\t\tcallback(block);\n\t\t\tif (block.innerBlocks) {\n\t\t\t\trecurseOverBlocks(block.innerBlocks, callback);\n\t\t\t}\n\t\t}\n\t} catch (err) {\n\t\t_didIteratorError = true;\n\t\t_iteratorError = err;\n\t} finally {\n\t\ttry {\n\t\t\tif (!_iteratorNormalCompletion && _iterator.return) {\n\t\t\t\t_iterator.return();\n\t\t\t}\n\t\t} finally {\n\t\t\tif (_didIteratorError) {\n\t\t\t\tthrow _iteratorError;\n\t\t\t}\n\t\t}\n\t}\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiNzguanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vYXNzZXRzL2pzL3NyYy9mdW5jdGlvbnMvcmVjdXJzZU92ZXJCbG9ja3MuanM/NzY4NCJdLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiogUnVucyBhIGZ1bmN0aW9uIG92ZXIgYWxsIGJsb2NrcywgaW5jbHVkaW5nIG5lc3RlZCBibG9ja3MuXG4qXG4qIEBwYXJhbSB7T2JqZWN0W119IGJsb2NrcyAgIFRoZSBibG9ja3MuXG4qIEBwYXJhbSB7ZnVuY3Rpb259IGNhbGxiYWNrIFRoZSBjYWxsYmFjay5cbipcbiogQHJldHVybnMge3ZvaWR9XG4qL1xuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gcmVjdXJzZU92ZXJCbG9ja3MoIGJsb2NrcywgY2FsbGJhY2sgKSB7XG5cdGZvciAoIGNvbnN0IGJsb2NrIG9mIGJsb2NrcyApIHtcblx0XHQvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgY2FsbGJhY2stcmV0dXJuXG5cdFx0Y2FsbGJhY2soIGJsb2NrICk7XG5cdFx0aWYgKCBibG9jay5pbm5lckJsb2NrcyApIHtcblx0XHRcdHJlY3Vyc2VPdmVyQmxvY2tzKCBibG9jay5pbm5lckJsb2NrcywgY2FsbGJhY2sgKTtcblx0XHR9XG5cdH1cbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFRQTtBQVJBOzs7Ozs7OztBQVFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFEQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQVBBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFRQSIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///78\n')},,,,,,,,,,,,,,,,,,,,,,,,,,,,,function(module,exports,__webpack_require__){"use strict";eval("\n\nvar _relatedLinksBlock = __webpack_require__(108);\n\nvar _relatedLinksBlock2 = _interopRequireDefault(_relatedLinksBlock);\n\nvar _tableOfContentsBlock = __webpack_require__(109);\n\nvar _tableOfContentsBlock2 = _interopRequireDefault(_tableOfContentsBlock);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n// Internal dependencies.\n(0, _relatedLinksBlock2.default)();\n(0, _tableOfContentsBlock2.default)();//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMTA3LmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vL2Fzc2V0cy9qcy9zcmMvYmxvY2tzLmpzPzI4OTgiXSwic291cmNlc0NvbnRlbnQiOlsiLy8gSW50ZXJuYWwgZGVwZW5kZW5jaWVzLlxuaW1wb3J0IHJlZ2lzdGVyUmVsYXRlZFBvc3RzQmxvY2sgZnJvbSBcIi4vYmxvY2tzL3JlbGF0ZWQtbGlua3MtYmxvY2tcIjtcbmltcG9ydCByZWdpc3RlclRhYmxlT2ZDb250ZW50c0Jsb2NrIGZyb20gXCIuL2Jsb2Nrcy90YWJsZS1vZi1jb250ZW50cy1ibG9ja1wiO1xuXG5yZWdpc3RlclJlbGF0ZWRQb3N0c0Jsb2NrKCk7XG5yZWdpc3RlclRhYmxlT2ZDb250ZW50c0Jsb2NrKCk7XG4iXSwibWFwcGluZ3MiOiI7O0FBQ0E7QUFDQTs7O0FBQUE7QUFDQTs7Ozs7QUFIQTtBQUlBO0FBQ0EiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///107\n")},function(module,exports,__webpack_require__){"use strict";eval('\n\nObject.defineProperty(exports, "__esModule", {\n\tvalue: true\n});\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; /* global wpseoPremiumMetaboxData */\n// External dependencies.\n\n\n// Yoast dependencies.\n\n\n// Internal dependencies.\n\n\nexports.default = register;\n\nvar _blocks = __webpack_require__(38);\n\nvar _blockEditor = __webpack_require__(45);\n\nvar _components = __webpack_require__(7);\n\nvar _data = __webpack_require__(1);\n\nvar _domReady = __webpack_require__(44);\n\nvar _domReady2 = _interopRequireDefault(_domReady);\n\nvar _element = __webpack_require__(4);\n\nvar _i18n = __webpack_require__(0);\n\nvar _yoastComponents = __webpack_require__(9);\n\nvar _LinkSuggestions = __webpack_require__(33);\n\nvar _linkSuggestionsIsSupported = __webpack_require__(28);\n\nvar _linkSuggestionsIsSupported2 = _interopRequireDefault(_linkSuggestionsIsSupported);\n\nvar _recurseOverBlocks = __webpack_require__(78);\n\nvar _recurseOverBlocks2 = _interopRequireDefault(_recurseOverBlocks);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n// Yoast SEO free dependencies.\nvar createInterpolateElement = window.yoast.editorModules.helpers.createInterpolateElement;\n\n/**\n * Updates the status of a block if it\'s changed.\n *\n * @param {string} clientId The block client ID.\n * @param {string} newStatus The new status.\n * @param {string} oldStatus The old status.\n * @param {function} updateBlockAttributes Function to update the block attributes.\n *\n * @returns {void}\n */\nfunction updateStatus(clientId, newStatus, oldStatus, updateBlockAttributes) {\n\tif (newStatus !== oldStatus) {\n\t\tupdateBlockAttributes(clientId, { status: newStatus });\n\t}\n}\n\n/**\n * Sets the link suggestions on the given block.\n *\n * @param {string} clientId The client ID of the block.\n * @param {Object} attributes The block attributes.\n *\n * @returns {void}\n */\nfunction setSuggestions(clientId, attributes) {\n\tvar _select = (0, _data.select)("yoast-seo-premium/editor"),\n\t linkSuggestionsAreUnindexed = _select.linkSuggestionsAreUnindexed,\n\t getLinkSuggestions = _select.getLinkSuggestions,\n\t getWordsForLinking = _select.getWordsForLinking;\n\n\tvar _dispatch = (0, _data.dispatch)("core/block-editor"),\n\t updateBlockAttributes = _dispatch.updateBlockAttributes;\n\n\tif (linkSuggestionsAreUnindexed()) {\n\t\tupdateStatus(clientId, "unindexed", attributes.status, updateBlockAttributes);\n\t\treturn;\n\t}\n\n\tvar wordsForLinking = getWordsForLinking();\n\tif (!Array.isArray(wordsForLinking) || wordsForLinking.length === 0) {\n\t\tupdateStatus(clientId, "no-content", attributes.status, updateBlockAttributes);\n\t\treturn;\n\t}\n\n\tvar suggestions = getLinkSuggestions();\n\n\tif (suggestions.length === 0) {\n\t\tupdateStatus(clientId, "no-suggestions", attributes.status, updateBlockAttributes);\n\t\treturn;\n\t}\n\n\tif (attributes.status !== "loading") {\n\t\tupdateStatus(clientId, "has-suggestions", attributes.status, updateBlockAttributes);\n\t\treturn;\n\t}\n\n\tvar links = suggestions.map(function (suggestion, i) {\n\t\treturn wp.element.createElement(\n\t\t\t"li",\n\t\t\t{ key: i },\n\t\t\twp.element.createElement(\n\t\t\t\t"a",\n\t\t\t\t{ href: suggestion.url },\n\t\t\t\tsuggestion.value\n\t\t\t)\n\t\t);\n\t});\n\n\tupdateBlockAttributes(clientId, { values: links, status: "loaded" });\n}\n\n/**\n * Sets the link suggestions on the given block.\n *\n * @param {string} clientId The client ID of the block.\n *\n * @returns {void}\n */\nfunction updateSuggestions(clientId) {\n\tif (!(0, _data.select)("yoast-seo-premium/editor")) {\n\t\tsetTimeout(updateSuggestions.bind(null, clientId), 500);\n\t\treturn;\n\t}\n\n\tvar _select2 = (0, _data.select)("yoast-seo-premium/editor"),\n\t linkSuggestionsAreLoading = _select2.linkSuggestionsAreLoading;\n\n\tvar _select3 = (0, _data.select)("core/block-editor"),\n\t getBlockAttributes = _select3.getBlockAttributes;\n\n\tvar attributes = getBlockAttributes(clientId);\n\n\tif (attributes.status === "loaded") {\n\t\treturn;\n\t}\n\n\t// If the suggestions are still loading try again in 500ms.\n\tif (linkSuggestionsAreLoading()) {\n\t\tsetTimeout(updateSuggestions.bind(null, clientId), 500);\n\t\treturn;\n\t}\n\n\tsetSuggestions(clientId, attributes);\n}\n\n/**\n * Wraps a message in a notice.\n *\n * @param {string|JSX.Element} message The message.\n * @param {string} type The type of notice. Defaults to warning.\n *\n * @returns {JSX.Element} The message wrapped in a notice.\n */\nfunction wrapInNotice(message) {\n\tvar type = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : "warning";\n\n\tvar className = "notice notice-" + type + " notice-alt wpseo-notice-breakout-inside yoast-links-suggestions-notice";\n\treturn wp.element.createElement(\n\t\t"div",\n\t\t{ className: className },\n\t\twp.element.createElement(\n\t\t\t"p",\n\t\t\tnull,\n\t\t\tmessage\n\t\t)\n\t);\n}\n\n/**\n * Returns the warning to show if no suggestions were available.\n *\n * @param {string} status The block status.\n * @param {function} reloadSuggestions Function to reload the suggestions.\n *\n * @returns {JSX.Element} The warning.\n */\nfunction getNoSuggestionsWarning(status, reloadSuggestions) {\n\tif (status === "unindexed") {\n\t\treturn (0, _LinkSuggestions.getUnindexedWarning)();\n\t}\n\n\t// Different translate functions are used here to match usage in the LinkSuggestions component.\n\t// The yoast-components domain is used as this string should exactly match the same string there.\n\tvar message = (0, _i18n.__)("We could not find any relevant articles on your website that you could link to from your post.", "yoast-components");\n\tif (status === "no-content") {\n\t\tmessage = (0, _yoastComponents.translate)("Once you add a bit more copy, we\'ll give you a list of related content here to which you could link in your post.");\n\t}\n\tif (status === "loading") {\n\t\tmessage = (0, _yoastComponents.translate)("It takes a few seconds to show you a list of related content to which you could link. " + "The suggestions will be shown here as soon as we have them.");\n\t}\n\tif (status === "has-suggestions") {\n\t\tmessage = wp.element.createElement(\n\t\t\t_element.Fragment,\n\t\t\tnull,\n\t\t\tmessage,\n\t\t\twp.element.createElement("br", null),\n\t\t\twp.element.createElement("br", null),\n\t\t\twp.element.createElement(\n\t\t\t\t"button",\n\t\t\t\t{ type: "button", className: "button", onClick: reloadSuggestions },\n\t\t\t\t(0, _i18n.__)("Load suggestions", "wordpress-seo-premium")\n\t\t\t)\n\t\t);\n\t}\n\treturn wrapInNotice(message);\n}\n\n/* eslint-disable react/prop-types */\n/**\n * The edit function of the related links block.\n *\n * @param {Object} props The props.\n *\n * @returns {JSX.Element} The rendered edit.\n */\nfunction Edit(_ref) {\n\tvar clientId = _ref.clientId,\n\t attributes = _ref.attributes,\n\t setAttributes = _ref.setAttributes,\n\t mergeBlocks = _ref.mergeBlocks,\n\t onReplace = _ref.onReplace;\n\tvar values = attributes.values,\n\t status = attributes.status;\n\n\n\tif (!(0, _linkSuggestionsIsSupported2.default)() && status !== "loaded") {\n\t\treturn wrapInNotice(createInterpolateElement(\n\t\t// eslint-disable-next-line max-len\n\t\t(0, _i18n.__)("You have disabled the Link Suggestions feature, which is needed for Related Links to work. If you want to add related links, please enable Link Suggestions in the <a>Features settings.</a>", "wordpress-seo-premium"), {\n\t\t\t// eslint-disable-next-line react/jsx-no-target-blank\n\t\t\ta: wp.element.createElement(\n\t\t\t\t"a",\n\t\t\t\t{ href: wpseoPremiumMetaboxData.data.settingsPageUrl, target: "_blank" },\n\t\t\t\t"#21441-gutenberg"\n\t\t\t)\n\t\t}), "error");\n\t}\n\n\t/**\n * Reloads the suggestions.\n *\n * @returns {void}\n */\n\tvar reloadSuggestions = function reloadSuggestions() {\n\t\tsetAttributes({ status: "loading" });\n\t\tupdateSuggestions(clientId);\n\t};\n\n\tif (status !== "loaded") {\n\t\treturn getNoSuggestionsWarning(status, reloadSuggestions);\n\t}\n\n\t/**\n * The controls block.\n *\n * @returns {JSX.Element} The rendered controls.\n */\n\tvar controls = function controls() {\n\t\treturn wp.element.createElement(\n\t\t\t_blockEditor.BlockControls,\n\t\t\tnull,\n\t\t\twp.element.createElement(_components.ToolbarGroup, {\n\t\t\t\tcontrols: [{\n\t\t\t\t\ticon: "image-rotate",\n\t\t\t\t\ttitle: (0, _i18n.__)("Refresh suggestions", "wordpress-seo-premium"),\n\t\t\t\t\tisActive: false,\n\t\t\t\t\tonClick: reloadSuggestions\n\t\t\t\t}]\n\t\t\t})\n\t\t);\n\t};\n\n\tvar onChange = (0, _element.useCallback)(function (nextValues) {\n\t\tsetAttributes({ values: nextValues });\n\t}, [setAttributes]);\n\n\tvar onSplit = (0, _element.useCallback)(function (value) {\n\t\t(0, _blocks.createBlock)(name, _extends({}, attributes, { values: value }));\n\t}, [attributes]);\n\n\tvar onRemove = (0, _element.useCallback)(function () {\n\t\tonReplace([]);\n\t}, onReplace);\n\n\treturn wp.element.createElement(\n\t\t_blockEditor.RichText,\n\t\t{\n\t\t\tidentifier: "values",\n\t\t\tmultiline: "li",\n\t\t\ttagName: "ul",\n\t\t\tonChange: onChange,\n\t\t\tvalue: values,\n\t\t\tplaceholder: (0, _i18n.__)("Write list…", "wordpress-seo-premium"),\n\t\t\tonMerge: mergeBlocks,\n\t\t\tonSplit: onSplit,\n\t\t\tonReplace: onReplace,\n\t\t\tonRemove: onRemove\n\t\t},\n\t\tcontrols\n\t);\n}\n\n/**\n * Registers the dynamic blocks.\n *\n * @returns {void}\n */\nfunction registerBlock() {\n\t/* eslint-disable react/display-name */\n\t(0, _blocks.registerBlockType)("yoast-seo/related-links", {\n\t\ttitle: "Yoast Related Links",\n\t\ticon: "editor-ul",\n\t\tcategory: "yoast-internal-linking-blocks",\n\t\tdescription: (0, _i18n.__)("Adds a list of links related to this page.", "wordpress-seo-premium"),\n\t\tkeywords: [(0, _i18n.__)("seo", "wordpress-seo-premium"), (0, _i18n.__)("internal linking", "wordpress-seo-premium"), (0, _i18n.__)("site structure", "wordpress-seo-premium"), (0, _i18n.__)("related posts", "wordpress-seo-premium"), (0, _i18n.__)("related pages", "wordpress-seo-premium")],\n\t\tattributes: {\n\t\t\tstatus: {\n\t\t\t\ttype: "string",\n\t\t\t\t"default": "loading"\n\t\t\t},\n\t\t\tvalues: {\n\t\t\t\ttype: "string",\n\t\t\t\tsource: "html",\n\t\t\t\tselector: "ul",\n\t\t\t\tmultiline: "li",\n\t\t\t\t"default": ""\n\t\t\t}\n\t\t},\n\t\texample: {\n\t\t\tattributes: {\n\t\t\t\tstatus: "loaded",\n\t\t\t\tvalues: [wp.element.createElement(\n\t\t\t\t\t"li",\n\t\t\t\t\t{ key: 1 },\n\t\t\t\t\twp.element.createElement(\n\t\t\t\t\t\t"a",\n\t\t\t\t\t\t{ href: "https://example.org" },\n\t\t\t\t\t\t"Related link 1"\n\t\t\t\t\t)\n\t\t\t\t), wp.element.createElement(\n\t\t\t\t\t"li",\n\t\t\t\t\t{ key: 2 },\n\t\t\t\t\twp.element.createElement(\n\t\t\t\t\t\t"a",\n\t\t\t\t\t\t{ href: "https://example.org" },\n\t\t\t\t\t\t"Related link 2"\n\t\t\t\t\t)\n\t\t\t\t), wp.element.createElement(\n\t\t\t\t\t"li",\n\t\t\t\t\t{ key: 3 },\n\t\t\t\t\twp.element.createElement(\n\t\t\t\t\t\t"a",\n\t\t\t\t\t\t{ href: "https://example.org" },\n\t\t\t\t\t\t"Related link 3"\n\t\t\t\t\t)\n\t\t\t\t)]\n\t\t\t}\n\t\t},\n\t\t/**\n * Renders the block in the editor.\n *\n * @param {object} props The Props.\n * @returns {wp.Element} The component.\n */\n\t\tedit: Edit,\n\t\t/**\n * Saves nothing.\n *\n * @returns {JSX.Element} Nothing.\n */\n\t\tsave: function save(_ref2) {\n\t\t\tvar attributes = _ref2.attributes;\n\n\t\t\tif (attributes.status !== "loaded") {\n\t\t\t\treturn null;\n\t\t\t}\n\n\t\t\treturn wp.element.createElement(_blockEditor.RichText.Content, { tagName: "ul", multiline: "li", value: attributes.values });\n\t\t}\n\t});\n\t/* eslint-enable react/display-name */\n\t/* eslint-enable react/prop-type */\n}\n\n/**\n * Unregisters the dynamic blocks.\n *\n * @returns {void}\n */\nfunction unregisterBlock() {\n\t(0, _blocks.unregisterBlockType)("yoast-seo/related-links");\n}\n\n/**\n * Safely gets the link suggestions as the premium store registers late.\n *\n * @returns {array|null} The link suggestions. Null if the store hasn\'t loaded yet.\n */\nfunction safelyGetLinkSuggestions() {\n\tif ((0, _data.select)("yoast-seo-premium/editor")) {\n\t\treturn (0, _data.select)("yoast-seo-premium/editor").getLinkSuggestions();\n\t}\n\treturn null;\n}\n\n/**\n * Subscribes to the store to update blocks as they are added or suggestions are updated.\n *\n * @returns {void}\n */\nfunction subscribeToStore() {\n\tvar blockList = (0, _data.select)("core/block-editor").getBlocks();\n\tvar suggestions = safelyGetLinkSuggestions();\n\t// The premium store registers late so always check before using it.\n\n\t(0, _data.subscribe)(function () {\n\t\tvar updatedBlockList = (0, _data.select)("core/block-editor").getBlocks();\n\t\tvar updatedSuggestions = safelyGetLinkSuggestions();\n\t\tvar blockListUpdated = blockList !== updatedBlockList;\n\t\tvar suggestionsUpdated = suggestions !== updatedSuggestions;\n\n\t\tif (blockListUpdated || suggestionsUpdated) {\n\t\t\t(0, _recurseOverBlocks2.default)(updatedBlockList, function (block) {\n\t\t\t\tif (block.name !== "yoast-seo/related-links") {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\t// If the block list has updated only update block that are loading.\n\t\t\t\t// Otherwise we enter an infinite loop.\n\t\t\t\tif (blockListUpdated && block.attributes.status === "loading") {\n\t\t\t\t\tupdateSuggestions(block.clientId);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tif (suggestionsUpdated && block.attributes.status !== "loaded") {\n\t\t\t\t\tupdateSuggestions(block.clientId);\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\n\t\tblockList = updatedBlockList;\n\t\tsuggestions = updatedSuggestions;\n\t});\n}\n\n/**\n * Registers the block and subscribes to the store.\n *\n * @returns {void}\n */\nfunction register() {\n\t(0, _domReady2.default)(function () {\n\t\t// Missing dependency. When the metabox is disabled, the related links can not function.\n\t\tif (!window.wpseoPremiumMetaboxData) {\n\t\t\tunregisterBlock();\n\t\t\treturn;\n\t\t}\n\n\t\tsubscribeToStore();\n\t});\n\tregisterBlock();\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMTA4LmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vL2Fzc2V0cy9qcy9zcmMvYmxvY2tzL3JlbGF0ZWQtbGlua3MtYmxvY2suanM/ZWIyNiJdLCJzb3VyY2VzQ29udGVudCI6WyIvKiBnbG9iYWwgd3BzZW9QcmVtaXVtTWV0YWJveERhdGEgKi9cbi8vIEV4dGVybmFsIGRlcGVuZGVuY2llcy5cbmltcG9ydCB7IHJlZ2lzdGVyQmxvY2tUeXBlLCB1bnJlZ2lzdGVyQmxvY2tUeXBlLCBjcmVhdGVCbG9jayB9IGZyb20gXCJAd29yZHByZXNzL2Jsb2Nrc1wiO1xuaW1wb3J0IHsgQmxvY2tDb250cm9scywgUmljaFRleHQgfSBmcm9tIFwiQHdvcmRwcmVzcy9ibG9jay1lZGl0b3JcIjtcbmltcG9ydCB7IFRvb2xiYXJHcm91cCB9IGZyb20gXCJAd29yZHByZXNzL2NvbXBvbmVudHNcIjtcbmltcG9ydCB7IGRpc3BhdGNoLCBzZWxlY3QsIHN1YnNjcmliZSB9IGZyb20gXCJAd29yZHByZXNzL2RhdGFcIjtcbmltcG9ydCBkb21SZWFkeSBmcm9tIFwiQHdvcmRwcmVzcy9kb20tcmVhZHlcIjtcbmltcG9ydCB7IEZyYWdtZW50LCB1c2VDYWxsYmFjayB9IGZyb20gXCJAd29yZHByZXNzL2VsZW1lbnRcIjtcbmltcG9ydCB7IF9fIH0gZnJvbSBcIkB3b3JkcHJlc3MvaTE4blwiO1xuXG4vLyBZb2FzdCBkZXBlbmRlbmNpZXMuXG5pbXBvcnQgeyB0cmFuc2xhdGUgfSBmcm9tIFwieW9hc3QtY29tcG9uZW50c1wiO1xuXG4vLyBJbnRlcm5hbCBkZXBlbmRlbmNpZXMuXG5pbXBvcnQgeyBnZXRVbmluZGV4ZWRXYXJuaW5nIH0gZnJvbSBcIi4uL2NvbXBvbmVudHMvTGlua1N1Z2dlc3Rpb25zXCI7XG5pbXBvcnQgbGlua1N1Z2dlc3Rpb25zSXNTdXBwb3J0ZWQgZnJvbSBcIi4uL2Z1bmN0aW9ucy9saW5rU3VnZ2VzdGlvbnNJc1N1cHBvcnRlZFwiO1xuaW1wb3J0IHJlY3Vyc2VPdmVyQmxvY2tzIGZyb20gXCIuLi9mdW5jdGlvbnMvcmVjdXJzZU92ZXJCbG9ja3NcIjtcblxuLy8gWW9hc3QgU0VPIGZyZWUgZGVwZW5kZW5jaWVzLlxuY29uc3QgY3JlYXRlSW50ZXJwb2xhdGVFbGVtZW50ID0gd2luZG93LnlvYXN0LmVkaXRvck1vZHVsZXMuaGVscGVycy5jcmVhdGVJbnRlcnBvbGF0ZUVsZW1lbnQ7XG5cbi8qKlxuICogVXBkYXRlcyB0aGUgc3RhdHVzIG9mIGEgYmxvY2sgaWYgaXQncyBjaGFuZ2VkLlxuICpcbiAqIEBwYXJhbSB7c3RyaW5nfSAgIGNsaWVudElkICAgICAgICAgICAgICBUaGUgYmxvY2sgY2xpZW50IElELlxuICogQHBhcmFtIHtzdHJpbmd9ICAgbmV3U3RhdHVzICAgICAgICAgICAgIFRoZSBuZXcgc3RhdHVzLlxuICogQHBhcmFtIHtzdHJpbmd9ICAgb2xkU3RhdHVzICAgICAgICAgICAgIFRoZSBvbGQgc3RhdHVzLlxuICogQHBhcmFtIHtmdW5jdGlvbn0gdXBkYXRlQmxvY2tBdHRyaWJ1dGVzIEZ1bmN0aW9uIHRvIHVwZGF0ZSB0aGUgYmxvY2sgYXR0cmlidXRlcy5cbiAqXG4gKiBAcmV0dXJucyB7dm9pZH1cbiAqL1xuZnVuY3Rpb24gdXBkYXRlU3RhdHVzKCBjbGllbnRJZCwgbmV3U3RhdHVzLCBvbGRTdGF0dXMsIHVwZGF0ZUJsb2NrQXR0cmlidXRlcyApIHtcblx0aWYgKCBuZXdTdGF0dXMgIT09IG9sZFN0YXR1cyApIHtcblx0XHR1cGRhdGVCbG9ja0F0dHJpYnV0ZXMoIGNsaWVudElkLCB7IHN0YXR1czogbmV3U3RhdHVzIH0gKTtcblx0fVxufVxuXG4vKipcbiAqIFNldHMgdGhlIGxpbmsgc3VnZ2VzdGlvbnMgb24gdGhlIGdpdmVuIGJsb2NrLlxuICpcbiAqIEBwYXJhbSB7c3RyaW5nfSBjbGllbnRJZCAgIFRoZSBjbGllbnQgSUQgb2YgdGhlIGJsb2NrLlxuICogQHBhcmFtIHtPYmplY3R9IGF0dHJpYnV0ZXMgVGhlIGJsb2NrIGF0dHJpYnV0ZXMuXG4gKlxuICogQHJldHVybnMge3ZvaWR9XG4gKi9cbmZ1bmN0aW9uIHNldFN1Z2dlc3Rpb25zKCBjbGllbnRJZCwgYXR0cmlidXRlcyApIHtcblx0Y29uc3Qge1xuXHRcdGxpbmtTdWdnZXN0aW9uc0FyZVVuaW5kZXhlZCxcblx0XHRnZXRMaW5rU3VnZ2VzdGlvbnMsXG5cdFx0Z2V0V29yZHNGb3JMaW5raW5nLFxuXHR9ID0gc2VsZWN0KCBcInlvYXN0LXNlby1wcmVtaXVtL2VkaXRvclwiICk7XG5cdGNvbnN0IHsgdXBkYXRlQmxvY2tBdHRyaWJ1dGVzIH0gPSBkaXNwYXRjaCggXCJjb3JlL2Jsb2NrLWVkaXRvclwiICk7XG5cblx0aWYgKCBsaW5rU3VnZ2VzdGlvbnNBcmVVbmluZGV4ZWQoKSApIHtcblx0XHR1cGRhdGVTdGF0dXMoIGNsaWVudElkLCBcInVuaW5kZXhlZFwiLCBhdHRyaWJ1dGVzLnN0YXR1cywgdXBkYXRlQmxvY2tBdHRyaWJ1dGVzICk7XG5cdFx0cmV0dXJuO1xuXHR9XG5cblx0Y29uc3Qgd29yZHNGb3JMaW5raW5nID0gZ2V0V29yZHNGb3JMaW5raW5nKCk7XG5cdGlmICggISBBcnJheS5pc0FycmF5KCB3b3Jkc0ZvckxpbmtpbmcgKSB8fCB3b3Jkc0ZvckxpbmtpbmcubGVuZ3RoID09PSAwICkge1xuXHRcdHVwZGF0ZVN0YXR1cyggY2xpZW50SWQsIFwibm8tY29udGVudFwiLCBhdHRyaWJ1dGVzLnN0YXR1cywgdXBkYXRlQmxvY2tBdHRyaWJ1dGVzICk7XG5cdFx0cmV0dXJuO1xuXHR9XG5cblx0Y29uc3Qgc3VnZ2VzdGlvbnMgPSBnZXRMaW5rU3VnZ2VzdGlvbnMoKTtcblxuXHRpZiAoIHN1Z2dlc3Rpb25zLmxlbmd0aCA9PT0gMCApIHtcblx0XHR1cGRhdGVTdGF0dXMoIGNsaWVudElkLCBcIm5vLXN1Z2dlc3Rpb25zXCIsIGF0dHJpYnV0ZXMuc3RhdHVzLCB1cGRhdGVCbG9ja0F0dHJpYnV0ZXMgKTtcblx0XHRyZXR1cm47XG5cdH1cblxuXHRpZiAoIGF0dHJpYnV0ZXMuc3RhdHVzICE9PSBcImxvYWRpbmdcIiApIHtcblx0XHR1cGRhdGVTdGF0dXMoIGNsaWVudElkLCBcImhhcy1zdWdnZXN0aW9uc1wiLCBhdHRyaWJ1dGVzLnN0YXR1cywgdXBkYXRlQmxvY2tBdHRyaWJ1dGVzICk7XG5cdFx0cmV0dXJuO1xuXHR9XG5cblx0Y29uc3QgbGlua3MgPSBzdWdnZXN0aW9ucy5tYXAoICggc3VnZ2VzdGlvbiwgaSApID0+IDxsaSBrZXk9eyBpIH0+PGEgaHJlZj17IHN1Z2dlc3Rpb24udXJsIH0+eyBzdWdnZXN0aW9uLnZhbHVlIH08L2E+PC9saT4gKTtcblxuXHR1cGRhdGVCbG9ja0F0dHJpYnV0ZXMoIGNsaWVudElkLCB7IHZhbHVlczogbGlua3MsIHN0YXR1czogXCJsb2FkZWRcIiB9ICk7XG59XG5cbi8qKlxuICogU2V0cyB0aGUgbGluayBzdWdnZXN0aW9ucyBvbiB0aGUgZ2l2ZW4gYmxvY2suXG4gKlxuICogQHBhcmFtIHtzdHJpbmd9IGNsaWVudElkIFRoZSBjbGllbnQgSUQgb2YgdGhlIGJsb2NrLlxuICpcbiAqIEByZXR1cm5zIHt2b2lkfVxuICovXG5mdW5jdGlvbiB1cGRhdGVTdWdnZXN0aW9ucyggY2xpZW50SWQgKSB7XG5cdGlmICggISBzZWxlY3QoIFwieW9hc3Qtc2VvLXByZW1pdW0vZWRpdG9yXCIgKSApIHtcblx0XHRzZXRUaW1lb3V0KCB1cGRhdGVTdWdnZXN0aW9ucy5iaW5kKCBudWxsLCBjbGllbnRJZCApLCA1MDAgKTtcblx0XHRyZXR1cm47XG5cdH1cblxuXHRjb25zdCB7XHRsaW5rU3VnZ2VzdGlvbnNBcmVMb2FkaW5nIH0gPSBzZWxlY3QoIFwieW9hc3Qtc2VvLXByZW1pdW0vZWRpdG9yXCIgKTtcblx0Y29uc3QgeyBnZXRCbG9ja0F0dHJpYnV0ZXMgfSAgICAgICAgPSBzZWxlY3QoIFwiY29yZS9ibG9jay1lZGl0b3JcIiApO1xuXG5cdGNvbnN0IGF0dHJpYnV0ZXMgPSBnZXRCbG9ja0F0dHJpYnV0ZXMoIGNsaWVudElkICk7XG5cblx0aWYgKCBhdHRyaWJ1dGVzLnN0YXR1cyA9PT0gXCJsb2FkZWRcIiApIHtcblx0XHRyZXR1cm47XG5cdH1cblxuXHQvLyBJZiB0aGUgc3VnZ2VzdGlvbnMgYXJlIHN0aWxsIGxvYWRpbmcgdHJ5IGFnYWluIGluIDUwMG1zLlxuXHRpZiAoIGxpbmtTdWdnZXN0aW9uc0FyZUxvYWRpbmcoKSApIHtcblx0XHRzZXRUaW1lb3V0KCB1cGRhdGVTdWdnZXN0aW9ucy5iaW5kKCBudWxsLCBjbGllbnRJZCApLCA1MDAgKTtcblx0XHRyZXR1cm47XG5cdH1cblxuXHRzZXRTdWdnZXN0aW9ucyggY2xpZW50SWQsIGF0dHJpYnV0ZXMgKTtcbn1cblxuLyoqXG4gKiBXcmFwcyBhIG1lc3NhZ2UgaW4gYSBub3RpY2UuXG4gKlxuICogQHBhcmFtIHtzdHJpbmd8SlNYLkVsZW1lbnR9IG1lc3NhZ2UgVGhlIG1lc3NhZ2UuXG4gKiBAcGFyYW0ge3N0cmluZ30gICAgICAgICAgICAgdHlwZSAgICBUaGUgdHlwZSBvZiBub3RpY2UuIERlZmF1bHRzIHRvIHdhcm5pbmcuXG4gKlxuICogQHJldHVybnMge0pTWC5FbGVtZW50fSBUaGUgbWVzc2FnZSB3cmFwcGVkIGluIGEgbm90aWNlLlxuICovXG5mdW5jdGlvbiB3cmFwSW5Ob3RpY2UoIG1lc3NhZ2UsIHR5cGUgPSBcIndhcm5pbmdcIiApIHtcblx0Y29uc3QgY2xhc3NOYW1lID0gYG5vdGljZSBub3RpY2UtJHt0eXBlfSBub3RpY2UtYWx0IHdwc2VvLW5vdGljZS1icmVha291dC1pbnNpZGUgeW9hc3QtbGlua3Mtc3VnZ2VzdGlvbnMtbm90aWNlYDtcblx0cmV0dXJuIFx0PGRpdiBjbGFzc05hbWU9eyBjbGFzc05hbWUgfT5cblx0XHQ8cD57IG1lc3NhZ2UgfTwvcD5cblx0PC9kaXY+O1xufVxuXG4vKipcbiAqIFJldHVybnMgdGhlIHdhcm5pbmcgdG8gc2hvdyBpZiBubyBzdWdnZXN0aW9ucyB3ZXJlIGF2YWlsYWJsZS5cbiAqXG4gKiBAcGFyYW0ge3N0cmluZ30gICBzdGF0dXMgICAgICAgICAgICBUaGUgYmxvY2sgc3RhdHVzLlxuICogQHBhcmFtIHtmdW5jdGlvbn0gcmVsb2FkU3VnZ2VzdGlvbnMgRnVuY3Rpb24gdG8gcmVsb2FkIHRoZSBzdWdnZXN0aW9ucy5cbiAqXG4gKiBAcmV0dXJucyB7SlNYLkVsZW1lbnR9IFRoZSB3YXJuaW5nLlxuICovXG5mdW5jdGlvbiBnZXROb1N1Z2dlc3Rpb25zV2FybmluZyggc3RhdHVzLCByZWxvYWRTdWdnZXN0aW9ucyApIHtcblx0aWYgKCBzdGF0dXMgPT09IFwidW5pbmRleGVkXCIgKSB7XG5cdFx0cmV0dXJuIGdldFVuaW5kZXhlZFdhcm5pbmcoKTtcblx0fVxuXG5cdC8vIERpZmZlcmVudCB0cmFuc2xhdGUgZnVuY3Rpb25zIGFyZSB1c2VkIGhlcmUgdG8gbWF0Y2ggdXNhZ2UgaW4gdGhlIExpbmtTdWdnZXN0aW9ucyBjb21wb25lbnQuXG5cdC8vIFRoZSB5b2FzdC1jb21wb25lbnRzIGRvbWFpbiBpcyB1c2VkIGFzIHRoaXMgc3RyaW5nIHNob3VsZCBleGFjdGx5IG1hdGNoIHRoZSBzYW1lIHN0cmluZyB0aGVyZS5cblx0bGV0IG1lc3NhZ2UgPSBfXyggXCJXZSBjb3VsZCBub3QgZmluZCBhbnkgcmVsZXZhbnQgYXJ0aWNsZXMgb24geW91ciB3ZWJzaXRlIHRoYXQgeW91IGNvdWxkIGxpbmsgdG8gZnJvbSB5b3VyIHBvc3QuXCIsIFwieW9hc3QtY29tcG9uZW50c1wiICk7XG5cdGlmICggc3RhdHVzID09PSBcIm5vLWNvbnRlbnRcIiApIHtcblx0XHRtZXNzYWdlID0gdHJhbnNsYXRlKCBcIk9uY2UgeW91IGFkZCBhIGJpdCBtb3JlIGNvcHksIHdlJ2xsIGdpdmUgeW91IGEgbGlzdCBvZiByZWxhdGVkIGNvbnRlbnQgaGVyZSB0byB3aGljaCB5b3UgY291bGQgbGluayBpbiB5b3VyIHBvc3QuXCIgKTtcblx0fVxuXHRpZiAoIHN0YXR1cyA9PT0gXCJsb2FkaW5nXCIgKSB7XG5cdFx0bWVzc2FnZSA9IHRyYW5zbGF0ZSggXCJJdCB0YWtlcyBhIGZldyBzZWNvbmRzIHRvIHNob3cgeW91IGEgbGlzdCBvZiByZWxhdGVkIGNvbnRlbnQgdG8gd2hpY2ggeW91IGNvdWxkIGxpbmsuIFwiICtcblx0XHRcdFx0XCJUaGUgc3VnZ2VzdGlvbnMgd2lsbCBiZSBzaG93biBoZXJlIGFzIHNvb24gYXMgd2UgaGF2ZSB0aGVtLlwiICk7XG5cdH1cblx0aWYgKCBzdGF0dXMgPT09IFwiaGFzLXN1Z2dlc3Rpb25zXCIgKSB7XG5cdFx0bWVzc2FnZSA9IDxGcmFnbWVudD5cblx0XHRcdHsgbWVzc2FnZSB9XG5cdFx0XHQ8YnIgLz5cblx0XHRcdDxiciAvPlxuXHRcdFx0PGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgY2xhc3NOYW1lPVwiYnV0dG9uXCIgb25DbGljaz17IHJlbG9hZFN1Z2dlc3Rpb25zIH0+XG5cdFx0XHRcdHsgX18oIFwiTG9hZCBzdWdnZXN0aW9uc1wiLCBcIndvcmRwcmVzcy1zZW8tcHJlbWl1bVwiICkgfVxuXHRcdFx0PC9idXR0b24+XG5cdFx0PC9GcmFnbWVudD47XG5cdH1cblx0cmV0dXJuIHdyYXBJbk5vdGljZSggbWVzc2FnZSApO1xufVxuXG4vKiBlc2xpbnQtZGlzYWJsZSByZWFjdC9wcm9wLXR5cGVzICovXG4vKipcbiAqIFRoZSBlZGl0IGZ1bmN0aW9uIG9mIHRoZSByZWxhdGVkIGxpbmtzIGJsb2NrLlxuICpcbiAqIEBwYXJhbSB7T2JqZWN0fSBwcm9wcyBUaGUgcHJvcHMuXG4gKlxuICogQHJldHVybnMge0pTWC5FbGVtZW50fSBUaGUgcmVuZGVyZWQgZWRpdC5cbiAqL1xuZnVuY3Rpb24gRWRpdCggeyBjbGllbnRJZCwgYXR0cmlidXRlcywgc2V0QXR0cmlidXRlcywgbWVyZ2VCbG9ja3MsIG9uUmVwbGFjZSB9ICkge1xuXHRjb25zdCB7IHZhbHVlcywgc3RhdHVzIH0gPSBhdHRyaWJ1dGVzO1xuXG5cdGlmICggISBsaW5rU3VnZ2VzdGlvbnNJc1N1cHBvcnRlZCgpICYmIHN0YXR1cyAhPT0gXCJsb2FkZWRcIiApIHtcblx0XHRyZXR1cm4gd3JhcEluTm90aWNlKFxuXHRcdFx0Y3JlYXRlSW50ZXJwb2xhdGVFbGVtZW50KFxuXHRcdFx0XHQvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbWF4LWxlblxuXHRcdFx0XHRfXyggXCJZb3UgaGF2ZSBkaXNhYmxlZCB0aGUgTGluayBTdWdnZXN0aW9ucyBmZWF0dXJlLCB3aGljaCBpcyBuZWVkZWQgZm9yIFJlbGF0ZWQgTGlua3MgdG8gd29yay4gSWYgeW91IHdhbnQgdG8gYWRkIHJlbGF0ZWQgbGlua3MsIHBsZWFzZSBlbmFibGUgTGluayBTdWdnZXN0aW9ucyBpbiB0aGUgPGE+RmVhdHVyZXMgc2V0dGluZ3MuPC9hPlwiLCBcIndvcmRwcmVzcy1zZW8tcHJlbWl1bVwiICksXG5cdFx0XHRcdHtcblx0XHRcdFx0XHQvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcmVhY3QvanN4LW5vLXRhcmdldC1ibGFua1xuXHRcdFx0XHRcdGE6IDxhIGhyZWY9eyB3cHNlb1ByZW1pdW1NZXRhYm94RGF0YS5kYXRhLnNldHRpbmdzUGFnZVVybCB9IHRhcmdldD1cIl9ibGFua1wiPiMyMTQ0MS1ndXRlbmJlcmc8L2E+LFxuXHRcdFx0XHR9LFxuXHRcdFx0KSxcblx0XHRcdFwiZXJyb3JcIixcblx0XHQpO1xuXHR9XG5cblx0LyoqXG5cdCAqIFJlbG9hZHMgdGhlIHN1Z2dlc3Rpb25zLlxuXHQgKlxuXHQgKiBAcmV0dXJucyB7dm9pZH1cblx0ICovXG5cdGNvbnN0IHJlbG9hZFN1Z2dlc3Rpb25zID0gKCkgPT4ge1xuXHRcdHNldEF0dHJpYnV0ZXMoIHsgc3RhdHVzOiBcImxvYWRpbmdcIiB9ICk7XG5cdFx0dXBkYXRlU3VnZ2VzdGlvbnMoIGNsaWVudElkICk7XG5cdH07XG5cblx0aWYgKCBzdGF0dXMgIT09IFwibG9hZGVkXCIgKSB7XG5cdFx0cmV0dXJuIGdldE5vU3VnZ2VzdGlvbnNXYXJuaW5nKCBzdGF0dXMsIHJlbG9hZFN1Z2dlc3Rpb25zICk7XG5cdH1cblxuXHQvKipcblx0ICogVGhlIGNvbnRyb2xzIGJsb2NrLlxuXHQgKlxuXHQgKiBAcmV0dXJucyB7SlNYLkVsZW1lbnR9IFRoZSByZW5kZXJlZCBjb250cm9scy5cblx0ICovXG5cdGNvbnN0IGNvbnRyb2xzID0gKCkgPT4gKFxuXHRcdDxCbG9ja0NvbnRyb2xzPlxuXHRcdFx0PFRvb2xiYXJHcm91cFxuXHRcdFx0XHRjb250cm9scz17IFtcblx0XHRcdFx0XHR7XG5cdFx0XHRcdFx0XHRpY29uOiBcImltYWdlLXJvdGF0ZVwiLFxuXHRcdFx0XHRcdFx0dGl0bGU6IF9fKCBcIlJlZnJlc2ggc3VnZ2VzdGlvbnNcIiwgXCJ3b3JkcHJlc3Mtc2VvLXByZW1pdW1cIiApLFxuXHRcdFx0XHRcdFx0aXNBY3RpdmU6IGZhbHNlLFxuXHRcdFx0XHRcdFx0b25DbGljazogcmVsb2FkU3VnZ2VzdGlvbnMsXG5cdFx0XHRcdFx0fSxcblx0XHRcdFx0XSB9XG5cdFx0XHQvPlxuXHRcdDwvQmxvY2tDb250cm9scz5cblx0KTtcblxuXHRjb25zdCBvbkNoYW5nZSA9IHVzZUNhbGxiYWNrKCBuZXh0VmFsdWVzID0+IHtcblx0XHRzZXRBdHRyaWJ1dGVzKCB7IHZhbHVlczogbmV4dFZhbHVlcyB9ICk7XG5cdH0sIFsgc2V0QXR0cmlidXRlcyBdICk7XG5cblx0Y29uc3Qgb25TcGxpdCA9IHVzZUNhbGxiYWNrKCB2YWx1ZSA9PiB7XG5cdFx0Y3JlYXRlQmxvY2soIG5hbWUsIHsgLi4uYXR0cmlidXRlcywgdmFsdWVzOiB2YWx1ZSB9ICk7XG5cdH0sIFsgYXR0cmlidXRlcyBdICk7XG5cblx0Y29uc3Qgb25SZW1vdmUgPSB1c2VDYWxsYmFjayggKCkgPT4ge1xuXHRcdG9uUmVwbGFjZSggW10gKTtcblx0fSwgb25SZXBsYWNlICk7XG5cblx0cmV0dXJuIDxSaWNoVGV4dFxuXHRcdGlkZW50aWZpZXI9XCJ2YWx1ZXNcIlxuXHRcdG11bHRpbGluZT1cImxpXCJcblx0XHR0YWdOYW1lPVwidWxcIlxuXHRcdG9uQ2hhbmdlPXsgb25DaGFuZ2UgfVxuXHRcdHZhbHVlPXsgdmFsdWVzIH1cblx0XHRwbGFjZWhvbGRlcj17IF9fKCBcIldyaXRlIGxpc3TigKZcIiwgXCJ3b3JkcHJlc3Mtc2VvLXByZW1pdW1cIiApIH1cblx0XHRvbk1lcmdlPXsgbWVyZ2VCbG9ja3MgfVxuXHRcdG9uU3BsaXQ9eyBvblNwbGl0IH1cblx0XHRvblJlcGxhY2U9eyBvblJlcGxhY2UgfVxuXHRcdG9uUmVtb3ZlPXsgb25SZW1vdmUgfVxuXHQ+XG5cdFx0eyBjb250cm9scyB9XG5cdDwvUmljaFRleHQ+O1xufVxuXG4vKipcbiAqIFJlZ2lzdGVycyB0aGUgZHluYW1pYyBibG9ja3MuXG4gKlxuICogQHJldHVybnMge3ZvaWR9XG4gKi9cbmZ1bmN0aW9uIHJlZ2lzdGVyQmxvY2soKSB7XG5cdC8qIGVzbGludC1kaXNhYmxlIHJlYWN0L2Rpc3BsYXktbmFtZSAqL1xuXHRyZWdpc3RlckJsb2NrVHlwZSggXCJ5b2FzdC1zZW8vcmVsYXRlZC1saW5rc1wiLCB7XG5cdFx0dGl0bGU6IFwiWW9hc3QgUmVsYXRlZCBMaW5rc1wiLFxuXHRcdGljb246IFwiZWRpdG9yLXVsXCIsXG5cdFx0Y2F0ZWdvcnk6IFwieW9hc3QtaW50ZXJuYWwtbGlua2luZy1ibG9ja3NcIixcblx0XHRkZXNjcmlwdGlvbjogX18oIFwiQWRkcyBhIGxpc3Qgb2YgbGlua3MgcmVsYXRlZCB0byB0aGlzIHBhZ2UuXCIsIFwid29yZHByZXNzLXNlby1wcmVtaXVtXCIgKSxcblx0XHRrZXl3b3JkczogW1xuXHRcdFx0X18oIFwic2VvXCIsIFwid29yZHByZXNzLXNlby1wcmVtaXVtXCIgKSxcblx0XHRcdF9fKCBcImludGVybmFsIGxpbmtpbmdcIiwgXCJ3b3JkcHJlc3Mtc2VvLXByZW1pdW1cIiApLFxuXHRcdFx0X18oIFwic2l0ZSBzdHJ1Y3R1cmVcIiwgXCJ3b3JkcHJlc3Mtc2VvLXByZW1pdW1cIiApLFxuXHRcdFx0X18oIFwicmVsYXRlZCBwb3N0c1wiLCBcIndvcmRwcmVzcy1zZW8tcHJlbWl1bVwiICksXG5cdFx0XHRfXyggXCJyZWxhdGVkIHBhZ2VzXCIsIFwid29yZHByZXNzLXNlby1wcmVtaXVtXCIgKSxcblx0XHRdLFxuXHRcdGF0dHJpYnV0ZXM6IHtcblx0XHRcdHN0YXR1czoge1xuXHRcdFx0XHR0eXBlOiBcInN0cmluZ1wiLFxuXHRcdFx0XHRcImRlZmF1bHRcIjogXCJsb2FkaW5nXCIsXG5cdFx0XHR9LFxuXHRcdFx0dmFsdWVzOiB7XG5cdFx0XHRcdHR5cGU6IFwic3RyaW5nXCIsXG5cdFx0XHRcdHNvdXJjZTogXCJodG1sXCIsXG5cdFx0XHRcdHNlbGVjdG9yOiBcInVsXCIsXG5cdFx0XHRcdG11bHRpbGluZTogXCJsaVwiLFxuXHRcdFx0XHRcImRlZmF1bHRcIjogXCJcIixcblx0XHRcdH0sXG5cdFx0fSxcblx0XHRleGFtcGxlOiB7XG5cdFx0XHRhdHRyaWJ1dGVzOiB7XG5cdFx0XHRcdHN0YXR1czogXCJsb2FkZWRcIixcblx0XHRcdFx0dmFsdWVzOiBbXG5cdFx0XHRcdFx0PGxpIGtleT17IDEgfT48YSBocmVmPVwiaHR0cHM6Ly9leGFtcGxlLm9yZ1wiPlJlbGF0ZWQgbGluayAxPC9hPjwvbGk+LFxuXHRcdFx0XHRcdDxsaSBrZXk9eyAyIH0+PGEgaHJlZj1cImh0dHBzOi8vZXhhbXBsZS5vcmdcIj5SZWxhdGVkIGxpbmsgMjwvYT48L2xpPixcblx0XHRcdFx0XHQ8bGkga2V5PXsgMyB9PjxhIGhyZWY9XCJodHRwczovL2V4YW1wbGUub3JnXCI+UmVsYXRlZCBsaW5rIDM8L2E+PC9saT4sXG5cdFx0XHRcdF0sXG5cdFx0XHR9LFxuXHRcdH0sXG5cdFx0LyoqXG5cdFx0ICogUmVuZGVycyB0aGUgYmxvY2sgaW4gdGhlIGVkaXRvci5cblx0XHQgKlxuXHRcdCAqIEBwYXJhbSB7b2JqZWN0fSBwcm9wcyBUaGUgUHJvcHMuXG5cdFx0ICogQHJldHVybnMge3dwLkVsZW1lbnR9IFRoZSBjb21wb25lbnQuXG5cdFx0ICovXG5cdFx0ZWRpdDogRWRpdCxcblx0XHQvKipcblx0XHQgKiBTYXZlcyBub3RoaW5nLlxuXHRcdCAqXG5cdFx0ICogQHJldHVybnMge0pTWC5FbGVtZW50fSBOb3RoaW5nLlxuXHRcdCAqL1xuXHRcdHNhdmU6IGZ1bmN0aW9uKCB7IGF0dHJpYnV0ZXMgfSApIHtcblx0XHRcdGlmICggYXR0cmlidXRlcy5zdGF0dXMgIT09IFwibG9hZGVkXCIgKSB7XG5cdFx0XHRcdHJldHVybiBudWxsO1xuXHRcdFx0fVxuXG5cdFx0XHRyZXR1cm4gPFJpY2hUZXh0LkNvbnRlbnQgdGFnTmFtZT1cInVsXCIgbXVsdGlsaW5lPVwibGlcIiB2YWx1ZT17IGF0dHJpYnV0ZXMudmFsdWVzIH0gLz47XG5cdFx0fSxcblx0fSApO1xuXHQvKiBlc2xpbnQtZW5hYmxlIHJlYWN0L2Rpc3BsYXktbmFtZSAqL1xuXHQvKiBlc2xpbnQtZW5hYmxlIHJlYWN0L3Byb3AtdHlwZSAqL1xufVxuXG4vKipcbiAqIFVucmVnaXN0ZXJzIHRoZSBkeW5hbWljIGJsb2Nrcy5cbiAqXG4gKiBAcmV0dXJucyB7dm9pZH1cbiAqL1xuZnVuY3Rpb24gdW5yZWdpc3RlckJsb2NrKCkge1xuXHR1bnJlZ2lzdGVyQmxvY2tUeXBlKCBcInlvYXN0LXNlby9yZWxhdGVkLWxpbmtzXCIgKTtcbn1cblxuLyoqXG4gKiBTYWZlbHkgZ2V0cyB0aGUgbGluayBzdWdnZXN0aW9ucyBhcyB0aGUgcHJlbWl1bSBzdG9yZSByZWdpc3RlcnMgbGF0ZS5cbiAqXG4gKiBAcmV0dXJucyB7YXJyYXl8bnVsbH0gVGhlIGxpbmsgc3VnZ2VzdGlvbnMuIE51bGwgaWYgdGhlIHN0b3JlIGhhc24ndCBsb2FkZWQgeWV0LlxuICovXG5mdW5jdGlvbiBzYWZlbHlHZXRMaW5rU3VnZ2VzdGlvbnMoKSB7XG5cdGlmICggc2VsZWN0KCBcInlvYXN0LXNlby1wcmVtaXVtL2VkaXRvclwiICkgKSB7XG5cdFx0cmV0dXJuIHNlbGVjdCggXCJ5b2FzdC1zZW8tcHJlbWl1bS9lZGl0b3JcIiApLmdldExpbmtTdWdnZXN0aW9ucygpO1xuXHR9XG5cdHJldHVybiBudWxsO1xufVxuXG4vKipcbiAqIFN1YnNjcmliZXMgdG8gdGhlIHN0b3JlIHRvIHVwZGF0ZSBibG9ja3MgYXMgdGhleSBhcmUgYWRkZWQgb3Igc3VnZ2VzdGlvbnMgYXJlIHVwZGF0ZWQuXG4gKlxuICogQHJldHVybnMge3ZvaWR9XG4gKi9cbmZ1bmN0aW9uIHN1YnNjcmliZVRvU3RvcmUoKSB7XG5cdGxldCBibG9ja0xpc3QgICA9IHNlbGVjdCggXCJjb3JlL2Jsb2NrLWVkaXRvclwiICkuZ2V0QmxvY2tzKCk7XG5cdGxldCBzdWdnZXN0aW9ucyA9IHNhZmVseUdldExpbmtTdWdnZXN0aW9ucygpO1xuXHQvLyBUaGUgcHJlbWl1bSBzdG9yZSByZWdpc3RlcnMgbGF0ZSBzbyBhbHdheXMgY2hlY2sgYmVmb3JlIHVzaW5nIGl0LlxuXG5cdHN1YnNjcmliZSggKCkgPT4ge1xuXHRcdGNvbnN0IHVwZGF0ZWRCbG9ja0xpc3QgICA9IHNlbGVjdCggXCJjb3JlL2Jsb2NrLWVkaXRvclwiICkuZ2V0QmxvY2tzKCk7XG5cdFx0Y29uc3QgdXBkYXRlZFN1Z2dlc3Rpb25zID0gc2FmZWx5R2V0TGlua1N1Z2dlc3Rpb25zKCk7XG5cdFx0Y29uc3QgYmxvY2tMaXN0VXBkYXRlZCAgID0gYmxvY2tMaXN0ICE9PSB1cGRhdGVkQmxvY2tMaXN0O1xuXHRcdGNvbnN0IHN1Z2dlc3Rpb25zVXBkYXRlZCA9IHN1Z2dlc3Rpb25zICE9PSB1cGRhdGVkU3VnZ2VzdGlvbnM7XG5cblx0XHRpZiAoIGJsb2NrTGlzdFVwZGF0ZWQgfHwgc3VnZ2VzdGlvbnNVcGRhdGVkICkge1xuXHRcdFx0cmVjdXJzZU92ZXJCbG9ja3MoIHVwZGF0ZWRCbG9ja0xpc3QsIGJsb2NrID0+IHtcblx0XHRcdFx0aWYgKCBibG9jay5uYW1lICE9PSBcInlvYXN0LXNlby9yZWxhdGVkLWxpbmtzXCIgKSB7XG5cdFx0XHRcdFx0cmV0dXJuO1xuXHRcdFx0XHR9XG5cdFx0XHRcdC8vIElmIHRoZSBibG9jayBsaXN0IGhhcyB1cGRhdGVkIG9ubHkgdXBkYXRlIGJsb2NrIHRoYXQgYXJlIGxvYWRpbmcuXG5cdFx0XHRcdC8vIE90aGVyd2lzZSB3ZSBlbnRlciBhbiBpbmZpbml0ZSBsb29wLlxuXHRcdFx0XHRpZiAoIGJsb2NrTGlzdFVwZGF0ZWQgJiYgYmxvY2suYXR0cmlidXRlcy5zdGF0dXMgPT09IFwibG9hZGluZ1wiICkge1xuXHRcdFx0XHRcdHVwZGF0ZVN1Z2dlc3Rpb25zKCBibG9jay5jbGllbnRJZCApO1xuXHRcdFx0XHRcdHJldHVybjtcblx0XHRcdFx0fVxuXHRcdFx0XHRpZiAoIHN1Z2dlc3Rpb25zVXBkYXRlZCAmJiBibG9jay5hdHRyaWJ1dGVzLnN0YXR1cyAhPT0gXCJsb2FkZWRcIiApIHtcblx0XHRcdFx0XHR1cGRhdGVTdWdnZXN0aW9ucyggYmxvY2suY2xpZW50SWQgKTtcblx0XHRcdFx0fVxuXHRcdFx0fSApO1xuXHRcdH1cblxuXHRcdGJsb2NrTGlzdCAgID0gdXBkYXRlZEJsb2NrTGlzdDtcblx0XHRzdWdnZXN0aW9ucyA9IHVwZGF0ZWRTdWdnZXN0aW9ucztcblx0fSApO1xufVxuXG4vKipcbiAqIFJlZ2lzdGVycyB0aGUgYmxvY2sgYW5kIHN1YnNjcmliZXMgdG8gdGhlIHN0b3JlLlxuICpcbiAqIEByZXR1cm5zIHt2b2lkfVxuICovXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiByZWdpc3RlcigpIHtcblx0ZG9tUmVhZHkoICgpID0+IHtcblx0XHQvLyBNaXNzaW5nIGRlcGVuZGVuY3kuIFdoZW4gdGhlIG1ldGFib3ggaXMgZGlzYWJsZWQsIHRoZSByZWxhdGVkIGxpbmtzIGNhbiBub3QgZnVuY3Rpb24uXG5cdFx0aWYgKCAhIHdpbmRvdy53cHNlb1ByZW1pdW1NZXRhYm94RGF0YSApIHtcblx0XHRcdHVucmVnaXN0ZXJCbG9jaygpO1xuXHRcdFx0cmV0dXJuO1xuXHRcdH1cblxuXHRcdHN1YnNjcmliZVRvU3RvcmUoKTtcblx0fSApO1xuXHRyZWdpc3RlckJsb2NrKCk7XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBT0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBNldBO0FBQ0E7QUEzWEE7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7OztBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBRUE7QUFDQTtBQUVBO0FBQ0E7QUFBQTtBQUNBOzs7QUFBQTtBQUNBOzs7OztBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7Ozs7Ozs7O0FBVUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7Ozs7Ozs7O0FBUUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBREE7QUFBQTtBQUNBO0FBT0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7Ozs7O0FBT0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBTEE7QUFBQTtBQUNBO0FBREE7QUFBQTtBQUNBO0FBUUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7Ozs7Ozs7O0FBUUE7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQUE7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBREE7QUFHQTtBQUNBO0FBQ0E7Ozs7Ozs7O0FBUUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQ0E7QUFEQTtBQUpBO0FBUUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7Ozs7O0FBT0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUVBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUZBO0FBT0E7QUFDQTtBQUNBOzs7OztBQUtBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7OztBQUtBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBSkE7QUFGQTtBQURBO0FBREE7QUFDQTtBQWNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBVkE7QUFZQTtBQVpBO0FBY0E7QUFDQTtBQUNBOzs7OztBQUtBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFPQTtBQUNBO0FBQ0E7QUFDQTtBQUZBO0FBSUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBTEE7QUFMQTtBQWFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBTEE7QUFEQTtBQVVBOzs7Ozs7QUFNQTtBQUNBOzs7OztBQUtBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQXJEQTtBQXVEQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7OztBQUtBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7Ozs7O0FBS0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7Ozs7QUFLQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7Ozs7QUFLQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///108\n')},function(module,exports,__webpack_require__){"use strict";eval('\n\nObject.defineProperty(exports, "__esModule", {\n\tvalue: true\n});\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; // External dependencies.\n\n\n// Internal dependencies.\n\n\nexports.default = register;\n\nvar _lodash = __webpack_require__(3);\n\nvar _blocks = __webpack_require__(38);\n\nvar _blockEditor = __webpack_require__(45);\n\nvar _components = __webpack_require__(7);\n\nvar _data = __webpack_require__(1);\n\nvar _domReady = __webpack_require__(44);\n\nvar _domReady2 = _interopRequireDefault(_domReady);\n\nvar _element = __webpack_require__(4);\n\nvar _i18n = __webpack_require__(0);\n\nvar _headingLevelDropdown = __webpack_require__(110);\n\nvar _headingLevelDropdown2 = _interopRequireDefault(_headingLevelDropdown);\n\nvar _recurseOverBlocks = __webpack_require__(78);\n\nvar _recurseOverBlocks2 = _interopRequireDefault(_recurseOverBlocks);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n// This dummy element is used to strip all markup in getTextWithoutMarkup below.\nvar dummyElement = document.createElement("div");\n\n/**\n * Returns the text without markup.\n *\n * @param {string} text The text.\n *\n * @returns {string} The text without markup.\n */\nfunction getTextWithoutMarkup(text) {\n\tdummyElement.innerHTML = text;\n\treturn dummyElement.innerText;\n}\n\n/**\n * Generates an anchor.\n *\n * @param {Object} block The block.\n * @param {string[]} knownAnchors The known anchors.\n * @param {string[]} blocksThatWereNotHeadings The block client IDs that weren\'t headings in the previous state.\n * @param {Boolean} fillAllAnchors Whether or not all empty anchors should be filled.\n *\n * @returns {string} The anchor.\n */\nfunction generateAnchor(block, knownAnchors, blocksThatWereNotHeadings, fillAllAnchors) {\n\t// Gutenberg doesn\'t save empty strings.\n\t// So when anchor isn\'t set for a heading that already has content set an empty string.\n\t// However, if none of the headings have anchors, we should assume the page was old, and still give all headings an anchor.\n\tif ((0, _lodash.isNil)(block.attributes.anchor) && !fillAllAnchors && !(0, _lodash.isEmpty)(block.attributes.content) && !blocksThatWereNotHeadings.includes(block.clientId)) {\n\t\treturn "";\n\t}\n\n\tvar slug = getTextWithoutMarkup(block.attributes.content).toLowerCase()\n\t// Replace all non-word characters with dashes.\n\t.replace(/[^\\w]+/g, "-")\n\t// Remove leading and trailing dashes.\n\t.replace(/^-+|-+$/g, "");\n\tvar baseAnchor = "h-" + slug;\n\tvar anchor = baseAnchor;\n\tvar i = 0;\n\n\twhile (knownAnchors.includes(anchor)) {\n\t\ti += 1;\n\t\tanchor = baseAnchor + "-" + i;\n\t}\n\n\treturn anchor;\n}\n\n/**\n * Updates the anchor if required.\n *\n * @param {Block} block The block.\n * @param {Object} knownHeadings The known headings.\n * @param {string[]} knownAnchors The known anchors.\n * @param {string[]} blocksThatWereNotHeadings The block client IDs that weren\'t headings in the previous state.\n * @param {Boolean} fillAllAnchors Whether or not all empty anchors should be filled.\n *\n * @returns {string} The anchor.\n */\nfunction maybeUpdateAnchor(block, knownHeadings, knownAnchors, blocksThatWereNotHeadings, fillAllAnchors) {\n\tvar anchor = block.attributes.anchor;\n\n\t// If the block was previously unknown or has changed content and the anchor is empty or was set by us.\n\tif ((!knownHeadings[block.clientId] || knownHeadings[block.clientId].content !== block.attributes.content) && ((0, _lodash.isNil)(anchor) || anchor.startsWith("h-"))) {\n\t\tanchor = generateAnchor(block, knownAnchors, blocksThatWereNotHeadings, fillAllAnchors);\n\n\t\tif (anchor !== block.attributes.anchor) {\n\t\t\t(0, _data.dispatch)("core/block-editor").updateBlockAttributes(block.clientId, { anchor: anchor });\n\t\t}\n\t}\n\n\treturn anchor;\n}\n\n/**\n * Subscribes to the store to update blocks as they are added or suggestions are updated.\n *\n * @returns {void}\n */\nfunction subscribeToStore() {\n\tvar blockList = null;\n\tvar headingsHash = "";\n\tvar updatingHeadings = false;\n\tvar blocksThatWereNotHeadings = [];\n\tvar knownHeadings = {};\n\n\t(0, _data.subscribe)(function () {\n\t\tif (updatingHeadings) {\n\t\t\treturn;\n\t\t}\n\n\t\tvar updatedBlockList = (0, _data.select)("core/block-editor").getBlocks();\n\t\tvar knownAnchors = [];\n\n\t\t// If there have been any change in the blocks.\n\t\tif (blockList !== updatedBlockList) {\n\t\t\tvar headings = [];\n\t\t\tvar blocksThatAreNotHeadings = [];\n\t\t\tvar updatedHeadingsHash = "";\n\t\t\tupdatingHeadings = true;\n\n\t\t\t/*\n Loop over all blocks and test whether all headings don\'t have anchors.\n If so, assume this is an older page which headings were added before Yoast SEO 15.0.\n */\n\t\t\tvar headingAnchors = [];\n\t\t\t(0, _recurseOverBlocks2.default)(updatedBlockList, function (block) {\n\t\t\t\tif (block.name === "core/heading") {\n\t\t\t\t\theadingAnchors.push(block.attributes.anchor);\n\t\t\t\t}\n\t\t\t});\n\n\t\t\t// If all heading anchors are undefined, they should be populated.\n\t\t\tvar fillAllAnchors = headingAnchors.every(function (anchor) {\n\t\t\t\treturn (0, _lodash.isUndefined)(anchor);\n\t\t\t});\n\n\t\t\t// First loop over all core/heading blocks, give them anchors if necessary and collect all anchors.\n\t\t\t(0, _recurseOverBlocks2.default)(updatedBlockList, function (block) {\n\t\t\t\tif (block.name === "core/heading") {\n\t\t\t\t\tvar heading = block.attributes;\n\t\t\t\t\tvar content = getTextWithoutMarkup(heading.content);\n\t\t\t\t\tvar anchor = maybeUpdateAnchor(block, knownHeadings, knownAnchors, blocksThatWereNotHeadings, fillAllAnchors);\n\t\t\t\t\tknownHeadings[block.clientId] = heading;\n\n\t\t\t\t\t// Empty strings shouldn\'t be added to the table of contents.\n\t\t\t\t\tif (anchor === "" || (0, _lodash.isEmpty)(content)) {\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\n\t\t\t\t\tknownAnchors.push(anchor);\n\t\t\t\t\theadings.push({ content: content, href: "#" + anchor, level: heading.level });\n\t\t\t\t\tupdatedHeadingsHash += "$" + heading.level + ":" + anchor + ":" + content;\n\t\t\t\t} else {\n\t\t\t\t\tblocksThatAreNotHeadings.push(block.clientId);\n\t\t\t\t}\n\t\t\t});\n\n\t\t\t// Then loop over all table of content blocks and assign them the collected anchors.\n\t\t\t(0, _recurseOverBlocks2.default)(updatedBlockList, function (block) {\n\t\t\t\tif (block.name === "yoast-seo/table-of-contents") {\n\t\t\t\t\tvar hasHeadings = block.attributes.headings && block.attributes.headings.length > 0;\n\t\t\t\t\t// If we have new headings or the block didn\'t have headings previously.\n\t\t\t\t\tif (headingsHash !== updatedHeadingsHash || headings.length > 0 && !hasHeadings) {\n\t\t\t\t\t\t(0, _data.dispatch)("core/block-editor").updateBlockAttributes(block.clientId, { headings: headings });\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t});\n\n\t\t\tupdatingHeadings = false;\n\t\t\theadingsHash = updatedHeadingsHash;\n\t\t\tblocksThatWereNotHeadings = blocksThatAreNotHeadings;\n\t\t}\n\n\t\tblockList = updatedBlockList;\n\t});\n}\n\n/**\n * Gets the correct heading parent.\n *\n * @param {Object} heading The heading.\n * @param {number} level The level of the new heading.\n *\n * @returns {Object|null} The heading parent. Null if no heading can be found.\n */\nfunction getHeadingParent(heading, level) {\n\tvar current = heading;\n\n\t// Loop over the headings ancestry until we find one with a lower level.\n\twhile (current && current.level >= level) {\n\t\tcurrent = current.parent;\n\t}\n\n\treturn current;\n}\n\n/**\n * Structures headings.\n *\n * @param {array} headings The headings.\n *\n * @returns {array} The structured headings.\n */\nfunction structureHeadings(headings) {\n\tvar structuredHeadings = [];\n\tvar previousHeading = void 0;\n\n\tvar _iteratorNormalCompletion = true;\n\tvar _didIteratorError = false;\n\tvar _iteratorError = undefined;\n\n\ttry {\n\t\tfor (var _iterator = headings[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n\t\t\tvar heading = _step.value;\n\n\t\t\tvar level = parseInt(heading.level, 10);\n\t\t\tvar structuredHeading = _extends({ children: [], parent: null }, heading, { level: level });\n\t\t\tvar parent = getHeadingParent(previousHeading, level);\n\n\t\t\tif (parent) {\n\t\t\t\tstructuredHeading.parent = parent;\n\t\t\t\tparent.children.push(structuredHeading);\n\t\t\t} else {\n\t\t\t\tstructuredHeadings.push(structuredHeading);\n\t\t\t}\n\n\t\t\tpreviousHeading = structuredHeading;\n\t\t}\n\t} catch (err) {\n\t\t_didIteratorError = true;\n\t\t_iteratorError = err;\n\t} finally {\n\t\ttry {\n\t\t\tif (!_iteratorNormalCompletion && _iterator.return) {\n\t\t\t\t_iterator.return();\n\t\t\t}\n\t\t} finally {\n\t\t\tif (_didIteratorError) {\n\t\t\t\tthrow _iteratorError;\n\t\t\t}\n\t\t}\n\t}\n\n\treturn structuredHeadings;\n}\n\n/**\n * Renders a list of headings.\n *\n * @param {array} headings The headings, expected to be structured with structureHeadings.\n *\n * @returns {wp.Element} The list.\n */\nfunction renderHeadingList(headings) {\n\tvar elements = headings.map(function (heading) {\n\t\tvar children = null;\n\t\tif (heading.children && heading.children.length > 0) {\n\t\t\tchildren = renderHeadingList(heading.children);\n\t\t}\n\t\treturn wp.element.createElement(\n\t\t\t"li",\n\t\t\t{ key: heading.href },\n\t\t\twp.element.createElement(\n\t\t\t\t"a",\n\t\t\t\t{ href: heading.href, "data-level": heading.level },\n\t\t\t\theading.content\n\t\t\t),\n\t\t\tchildren\n\t\t);\n\t});\n\n\treturn wp.element.createElement(\n\t\t"ul",\n\t\tnull,\n\t\telements\n\t);\n}\n\n/**\n * Renders the table of contents.\n *\n * @param {array} headings The headings, expected to be unstructured.\n *\n * @returns {wp.Element} The table of contents.\n */\nfunction renderTableOfContents(headings) {\n\tif (!headings || headings.length === 0) {\n\t\treturn null;\n\t}\n\n\theadings = structureHeadings(headings);\n\treturn renderHeadingList(headings);\n}\n\n/**\n * Registers the dynamic blocks.\n *\n * @returns {void}\n */\nfunction registerBlock() {\n\t/* eslint-disable react/prop-types */\n\t/* eslint-disable react/display-name */\n\t(0, _blocks.registerBlockType)("yoast-seo/table-of-contents", {\n\t\ttitle: "Yoast Table of Contents",\n\t\ticon: "editor-ul",\n\t\tcategory: "yoast-internal-linking-blocks",\n\t\tdescription: (0, _i18n.__)("Adds a table of contents to this page.", "wordpress-seo-premium"),\n\t\tkeywords: [(0, _i18n.__)("seo", "wordpress-seo-premium"), (0, _i18n.__)("links", "wordpress-seo-premium"), (0, _i18n.__)("site structure", "wordpress-seo-premium"), (0, _i18n.__)("toc", "wordpress-seo-premium")],\n\t\tattributes: {\n\t\t\ttitle: {\n\t\t\t\ttype: "string",\n\t\t\t\tsource: "html",\n\t\t\t\tselector: "h2",\n\t\t\t\t"default": (0, _i18n.__)("Table of contents", "wordpress-seo-premium")\n\t\t\t},\n\t\t\tlevel: {\n\t\t\t\ttype: "number",\n\t\t\t\t"default": 2\n\t\t\t},\n\t\t\theadings: {\n\t\t\t\ttype: "array",\n\t\t\t\tsource: "query",\n\t\t\t\tselector: "a",\n\t\t\t\tquery: {\n\t\t\t\t\tcontent: {\n\t\t\t\t\t\ttype: "string",\n\t\t\t\t\t\tsource: "html"\n\t\t\t\t\t},\n\t\t\t\t\thref: {\n\t\t\t\t\t\ttype: "string",\n\t\t\t\t\t\tsource: "attribute",\n\t\t\t\t\t\tattribute: "href"\n\t\t\t\t\t},\n\t\t\t\t\tlevel: {\n\t\t\t\t\t\ttype: "string",\n\t\t\t\t\t\tsource: "attribute",\n\t\t\t\t\t\tattribute: "data-level"\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\texample: {\n\t\t\tattributes: {\n\t\t\t\theadings: [{\n\t\t\t\t\tcontent: "Heading 1",\n\t\t\t\t\thref: "#heading-1",\n\t\t\t\t\tlevel: "2"\n\t\t\t\t}, {\n\t\t\t\t\tcontent: "Subheading 1",\n\t\t\t\t\thref: "#subheading-1",\n\t\t\t\t\tlevel: "3"\n\t\t\t\t}, {\n\t\t\t\t\tcontent: "Subheading 2",\n\t\t\t\t\thref: "#subheading-2",\n\t\t\t\t\tlevel: "3"\n\t\t\t\t}, {\n\t\t\t\t\tcontent: "Heading 2",\n\t\t\t\t\thref: "#heading-2",\n\t\t\t\t\tlevel: "2"\n\t\t\t\t}]\n\t\t\t}\n\t\t},\n\t\t/**\n * Renders the block in the editor.\n *\n * @param {Object} props The props.\n *\n * @returns {wp.Element} The component.\n */\n\t\tedit: function edit(_ref) {\n\t\t\tvar attributes = _ref.attributes,\n\t\t\t setAttributes = _ref.setAttributes;\n\n\t\t\tvar onChangeTitle = (0, _element.useCallback)(function (title) {\n\t\t\t\treturn setAttributes({ title: title });\n\t\t\t}, [setAttributes]);\n\t\t\tvar onChangeLevel = (0, _element.useCallback)(function (level) {\n\t\t\t\treturn setAttributes({ level: level });\n\t\t\t}, [setAttributes]);\n\n\t\t\treturn wp.element.createElement(\n\t\t\t\t_element.Fragment,\n\t\t\t\tnull,\n\t\t\t\twp.element.createElement(\n\t\t\t\t\t_blockEditor.BlockControls,\n\t\t\t\t\tnull,\n\t\t\t\t\twp.element.createElement(\n\t\t\t\t\t\t_components.ToolbarGroup,\n\t\t\t\t\t\tnull,\n\t\t\t\t\t\twp.element.createElement(_headingLevelDropdown2.default, {\n\t\t\t\t\t\t\tselectedLevel: attributes.level,\n\t\t\t\t\t\t\tonChange: onChangeLevel\n\t\t\t\t\t\t})\n\t\t\t\t\t)\n\t\t\t\t),\n\t\t\t\twp.element.createElement(\n\t\t\t\t\t"div",\n\t\t\t\t\t{ className: "yoast-table-of-contents" },\n\t\t\t\t\twp.element.createElement(_blockEditor.RichText, { tagName: "h" + attributes.level, value: attributes.title, onChange: onChangeTitle }),\n\t\t\t\t\trenderTableOfContents(attributes.headings)\n\t\t\t\t)\n\t\t\t);\n\t\t},\n\t\t/**\n * Saves the block.\n *\n * @param {Object} props The props.\n *\n * @returns {wp.Element} The block.\n */\n\t\tsave: function save(_ref2) {\n\t\t\tvar attributes = _ref2.attributes;\n\n\t\t\tvar title = null;\n\t\t\tif (attributes.title) {\n\t\t\t\ttitle = wp.element.createElement(_blockEditor.RichText.Content, { tagName: "h" + attributes.level, value: attributes.title });\n\t\t\t}\n\n\t\t\treturn wp.element.createElement(\n\t\t\t\t"div",\n\t\t\t\t{ className: "yoast-table-of-contents" },\n\t\t\t\ttitle,\n\t\t\t\trenderTableOfContents(attributes.headings)\n\t\t\t);\n\t\t}\n\t});\n\t/* eslint-enable react/display-name */\n\t/* eslint-enable react/prop-types */\n}\n\n/**\n * Registers the table of contents block.\n *\n * @returns {void}\n */\nfunction register() {\n\t(0, _domReady2.default)(function () {\n\t\tsubscribeToStore();\n\t});\n\tregisterBlock();\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMTA5LmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vL2Fzc2V0cy9qcy9zcmMvYmxvY2tzL3RhYmxlLW9mLWNvbnRlbnRzLWJsb2NrLmpzPzAzOWUiXSwic291cmNlc0NvbnRlbnQiOlsiLy8gRXh0ZXJuYWwgZGVwZW5kZW5jaWVzLlxuaW1wb3J0IHsgaXNFbXB0eSwgaXNOaWwsIGlzVW5kZWZpbmVkIH0gZnJvbSBcImxvZGFzaFwiO1xuaW1wb3J0IHsgcmVnaXN0ZXJCbG9ja1R5cGUgfSBmcm9tIFwiQHdvcmRwcmVzcy9ibG9ja3NcIjtcbmltcG9ydCB7IEJsb2NrQ29udHJvbHMsIFJpY2hUZXh0IH0gZnJvbSBcIkB3b3JkcHJlc3MvYmxvY2stZWRpdG9yXCI7XG5pbXBvcnQgeyBUb29sYmFyR3JvdXAgfSBmcm9tIFwiQHdvcmRwcmVzcy9jb21wb25lbnRzXCI7XG5pbXBvcnQgeyBkaXNwYXRjaCwgc2VsZWN0LCBzdWJzY3JpYmUgfSBmcm9tIFwiQHdvcmRwcmVzcy9kYXRhXCI7XG5pbXBvcnQgZG9tUmVhZHkgZnJvbSBcIkB3b3JkcHJlc3MvZG9tLXJlYWR5XCI7XG5pbXBvcnQgeyBGcmFnbWVudCwgdXNlQ2FsbGJhY2sgfSBmcm9tIFwiQHdvcmRwcmVzcy9lbGVtZW50XCI7XG5pbXBvcnQgeyBfXyB9IGZyb20gXCJAd29yZHByZXNzL2kxOG5cIjtcbmltcG9ydCBIZWFkaW5nTGV2ZWxEcm9wZG93biBmcm9tIFwiQHdvcmRwcmVzcy9ibG9jay1saWJyYXJ5L2J1aWxkL2hlYWRpbmcvaGVhZGluZy1sZXZlbC1kcm9wZG93blwiO1xuXG4vLyBJbnRlcm5hbCBkZXBlbmRlbmNpZXMuXG5pbXBvcnQgcmVjdXJzZU92ZXJCbG9ja3MgZnJvbSBcIi4uL2Z1bmN0aW9ucy9yZWN1cnNlT3ZlckJsb2Nrc1wiO1xuXG4vLyBUaGlzIGR1bW15IGVsZW1lbnQgaXMgdXNlZCB0byBzdHJpcCBhbGwgbWFya3VwIGluIGdldFRleHRXaXRob3V0TWFya3VwIGJlbG93LlxuY29uc3QgZHVtbXlFbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCggXCJkaXZcIiApO1xuXG4vKipcbiAqIFJldHVybnMgdGhlIHRleHQgd2l0aG91dCBtYXJrdXAuXG4gKlxuICogQHBhcmFtIHtzdHJpbmd9IHRleHQgVGhlIHRleHQuXG4gKlxuICogQHJldHVybnMge3N0cmluZ30gVGhlIHRleHQgd2l0aG91dCBtYXJrdXAuXG4gKi9cbmZ1bmN0aW9uIGdldFRleHRXaXRob3V0TWFya3VwKCB0ZXh0ICkge1xuXHRkdW1teUVsZW1lbnQuaW5uZXJIVE1MID0gdGV4dDtcblx0cmV0dXJuIGR1bW15RWxlbWVudC5pbm5lclRleHQ7XG59XG5cbi8qKlxuICogR2VuZXJhdGVzIGFuIGFuY2hvci5cbiAqXG4gKiBAcGFyYW0ge09iamVjdH0gICBibG9jayAgICAgICAgICAgICAgICAgICAgIFRoZSBibG9jay5cbiAqIEBwYXJhbSB7c3RyaW5nW119IGtub3duQW5jaG9ycyAgICAgICAgICAgICAgVGhlIGtub3duIGFuY2hvcnMuXG4gKiBAcGFyYW0ge3N0cmluZ1tdfSBibG9ja3NUaGF0V2VyZU5vdEhlYWRpbmdzIFRoZSBibG9jayBjbGllbnQgSURzIHRoYXQgd2VyZW4ndCBoZWFkaW5ncyBpbiB0aGUgcHJldmlvdXMgc3RhdGUuXG4gKiBAcGFyYW0ge0Jvb2xlYW59ICBmaWxsQWxsQW5jaG9ycyAgICAgICAgICAgIFdoZXRoZXIgb3Igbm90IGFsbCBlbXB0eSBhbmNob3JzIHNob3VsZCBiZSBmaWxsZWQuXG4gKlxuICogQHJldHVybnMge3N0cmluZ30gVGhlIGFuY2hvci5cbiAqL1xuZnVuY3Rpb24gZ2VuZXJhdGVBbmNob3IoIGJsb2NrLCBrbm93bkFuY2hvcnMsIGJsb2Nrc1RoYXRXZXJlTm90SGVhZGluZ3MsIGZpbGxBbGxBbmNob3JzICkge1xuXHQvLyBHdXRlbmJlcmcgZG9lc24ndCBzYXZlIGVtcHR5IHN0cmluZ3MuXG5cdC8vIFNvIHdoZW4gYW5jaG9yIGlzbid0IHNldCBmb3IgYSBoZWFkaW5nIHRoYXQgYWxyZWFkeSBoYXMgY29udGVudCBzZXQgYW4gZW1wdHkgc3RyaW5nLlxuXHQvLyBIb3dldmVyLCBpZiBub25lIG9mIHRoZSBoZWFkaW5ncyBoYXZlIGFuY2hvcnMsIHdlIHNob3VsZCBhc3N1bWUgdGhlIHBhZ2Ugd2FzIG9sZCwgYW5kIHN0aWxsIGdpdmUgYWxsIGhlYWRpbmdzIGFuIGFuY2hvci5cblx0aWYgKFxuXHRcdCggaXNOaWwoIGJsb2NrLmF0dHJpYnV0ZXMuYW5jaG9yICkgJiYgISBmaWxsQWxsQW5jaG9ycyApICYmXG5cdFx0ISBpc0VtcHR5KCBibG9jay5hdHRyaWJ1dGVzLmNvbnRlbnQgKSAmJlxuXHRcdCEgYmxvY2tzVGhhdFdlcmVOb3RIZWFkaW5ncy5pbmNsdWRlcyggYmxvY2suY2xpZW50SWQgKVxuXHQpIHtcblx0XHRyZXR1cm4gXCJcIjtcblx0fVxuXG5cdGNvbnN0IHNsdWcgPSBnZXRUZXh0V2l0aG91dE1hcmt1cCggYmxvY2suYXR0cmlidXRlcy5jb250ZW50IClcblx0XHQudG9Mb3dlckNhc2UoKVxuXHRcdC8vIFJlcGxhY2UgYWxsIG5vbi13b3JkIGNoYXJhY3RlcnMgd2l0aCBkYXNoZXMuXG5cdFx0LnJlcGxhY2UoIC9bXlxcd10rL2csIFwiLVwiIClcblx0XHQvLyBSZW1vdmUgbGVhZGluZyBhbmQgdHJhaWxpbmcgZGFzaGVzLlxuXHRcdC5yZXBsYWNlKCAvXi0rfC0rJC9nLCBcIlwiICk7XG5cdGNvbnN0IGJhc2VBbmNob3IgPSBgaC0ke3NsdWd9YDtcblx0bGV0IGFuY2hvciAgICAgICA9IGJhc2VBbmNob3I7XG5cdGxldCBpICAgICAgICAgICAgPSAwO1xuXG5cdHdoaWxlICgga25vd25BbmNob3JzLmluY2x1ZGVzKCBhbmNob3IgKSApIHtcblx0XHRpICAgICArPSAxO1xuXHRcdGFuY2hvciA9IGJhc2VBbmNob3IgKyBcIi1cIiArIGk7XG5cdH1cblxuXHRyZXR1cm4gYW5jaG9yO1xufVxuXG4vKipcbiAqIFVwZGF0ZXMgdGhlIGFuY2hvciBpZiByZXF1aXJlZC5cbiAqXG4gKiBAcGFyYW0ge0Jsb2NrfSAgICBibG9jayAgICAgICAgICAgICAgICAgICAgIFRoZSBibG9jay5cbiAqIEBwYXJhbSB7T2JqZWN0fSAgIGtub3duSGVhZGluZ3MgICAgICAgICAgICAgVGhlIGtub3duIGhlYWRpbmdzLlxuICogQHBhcmFtIHtzdHJpbmdbXX0ga25vd25BbmNob3JzICAgICAgICAgICAgICBUaGUga25vd24gYW5jaG9ycy5cbiAqIEBwYXJhbSB7c3RyaW5nW119IGJsb2Nrc1RoYXRXZXJlTm90SGVhZGluZ3MgVGhlIGJsb2NrIGNsaWVudCBJRHMgdGhhdCB3ZXJlbid0IGhlYWRpbmdzIGluIHRoZSBwcmV2aW91cyBzdGF0ZS5cbiAqIEBwYXJhbSB7Qm9vbGVhbn0gIGZpbGxBbGxBbmNob3JzICAgICAgICAgICAgV2hldGhlciBvciBub3QgYWxsIGVtcHR5IGFuY2hvcnMgc2hvdWxkIGJlIGZpbGxlZC5cbiAqXG4gKiBAcmV0dXJucyB7c3RyaW5nfSBUaGUgYW5jaG9yLlxuICovXG5mdW5jdGlvbiBtYXliZVVwZGF0ZUFuY2hvciggYmxvY2ssIGtub3duSGVhZGluZ3MsIGtub3duQW5jaG9ycywgYmxvY2tzVGhhdFdlcmVOb3RIZWFkaW5ncywgZmlsbEFsbEFuY2hvcnMgKSB7XG5cdGxldCBhbmNob3IgPSBibG9jay5hdHRyaWJ1dGVzLmFuY2hvcjtcblxuXHQvLyBJZiB0aGUgYmxvY2sgd2FzIHByZXZpb3VzbHkgdW5rbm93biBvciBoYXMgY2hhbmdlZCBjb250ZW50IGFuZCB0aGUgYW5jaG9yIGlzIGVtcHR5IG9yIHdhcyBzZXQgYnkgdXMuXG5cdGlmIChcblx0XHQoICEga25vd25IZWFkaW5nc1sgYmxvY2suY2xpZW50SWQgXSB8fCBrbm93bkhlYWRpbmdzWyBibG9jay5jbGllbnRJZCBdLmNvbnRlbnQgIT09IGJsb2NrLmF0dHJpYnV0ZXMuY29udGVudCApICYmXG5cdFx0KCBpc05pbCggYW5jaG9yICkgfHwgYW5jaG9yLnN0YXJ0c1dpdGgoIFwiaC1cIiApIClcblx0KSB7XG5cdFx0YW5jaG9yID0gZ2VuZXJhdGVBbmNob3IoIGJsb2NrLCBrbm93bkFuY2hvcnMsIGJsb2Nrc1RoYXRXZXJlTm90SGVhZGluZ3MsIGZpbGxBbGxBbmNob3JzICk7XG5cblx0XHRpZiAoIGFuY2hvciAhPT0gYmxvY2suYXR0cmlidXRlcy5hbmNob3IgKSB7XG5cdFx0XHRkaXNwYXRjaCggXCJjb3JlL2Jsb2NrLWVkaXRvclwiICkudXBkYXRlQmxvY2tBdHRyaWJ1dGVzKCBibG9jay5jbGllbnRJZCwgeyBhbmNob3IgfSApO1xuXHRcdH1cblx0fVxuXG5cdHJldHVybiBhbmNob3I7XG59XG5cbi8qKlxuICogU3Vic2NyaWJlcyB0byB0aGUgc3RvcmUgdG8gdXBkYXRlIGJsb2NrcyBhcyB0aGV5IGFyZSBhZGRlZCBvciBzdWdnZXN0aW9ucyBhcmUgdXBkYXRlZC5cbiAqXG4gKiBAcmV0dXJucyB7dm9pZH1cbiAqL1xuZnVuY3Rpb24gc3Vic2NyaWJlVG9TdG9yZSgpIHtcblx0bGV0IGJsb2NrTGlzdCAgICAgICAgICAgICAgICAgPSBudWxsO1xuXHRsZXQgaGVhZGluZ3NIYXNoICAgICAgICAgICAgICA9IFwiXCI7XG5cdGxldCB1cGRhdGluZ0hlYWRpbmdzICAgICAgICAgID0gZmFsc2U7XG5cdGxldCBibG9ja3NUaGF0V2VyZU5vdEhlYWRpbmdzID0gW107XG5cdGNvbnN0IGtub3duSGVhZGluZ3MgICAgICAgICAgID0ge307XG5cblx0c3Vic2NyaWJlKCAoKSA9PiB7XG5cdFx0aWYgKCB1cGRhdGluZ0hlYWRpbmdzICkge1xuXHRcdFx0cmV0dXJuO1xuXHRcdH1cblxuXHRcdGNvbnN0IHVwZGF0ZWRCbG9ja0xpc3QgID0gc2VsZWN0KCBcImNvcmUvYmxvY2stZWRpdG9yXCIgKS5nZXRCbG9ja3MoKTtcblx0XHRjb25zdCBrbm93bkFuY2hvcnMgICAgICA9IFtdO1xuXG5cdFx0Ly8gSWYgdGhlcmUgaGF2ZSBiZWVuIGFueSBjaGFuZ2UgaW4gdGhlIGJsb2Nrcy5cblx0XHRpZiAoIGJsb2NrTGlzdCAhPT0gdXBkYXRlZEJsb2NrTGlzdCApIHtcblx0XHRcdGNvbnN0IGhlYWRpbmdzICAgICAgICAgICAgICAgICA9IFtdO1xuXHRcdFx0Y29uc3QgYmxvY2tzVGhhdEFyZU5vdEhlYWRpbmdzID0gW107XG5cdFx0XHRsZXQgdXBkYXRlZEhlYWRpbmdzSGFzaCAgICAgICAgPSBcIlwiO1xuXHRcdFx0dXBkYXRpbmdIZWFkaW5ncyAgICAgICAgICAgICAgID0gdHJ1ZTtcblxuXHRcdFx0Lypcblx0XHRcdExvb3Agb3ZlciBhbGwgYmxvY2tzIGFuZCB0ZXN0IHdoZXRoZXIgYWxsIGhlYWRpbmdzIGRvbid0IGhhdmUgYW5jaG9ycy5cblx0XHRcdElmIHNvLCBhc3N1bWUgdGhpcyBpcyBhbiBvbGRlciBwYWdlIHdoaWNoIGhlYWRpbmdzIHdlcmUgYWRkZWQgYmVmb3JlIFlvYXN0IFNFTyAxNS4wLlxuXHRcdFx0Ki9cblx0XHRcdGNvbnN0IGhlYWRpbmdBbmNob3JzID0gW107XG5cdFx0XHRyZWN1cnNlT3ZlckJsb2NrcyggdXBkYXRlZEJsb2NrTGlzdCwgYmxvY2sgPT4ge1xuXHRcdFx0XHRpZiAoIGJsb2NrLm5hbWUgPT09IFwiY29yZS9oZWFkaW5nXCIgKSB7XG5cdFx0XHRcdFx0aGVhZGluZ0FuY2hvcnMucHVzaCggYmxvY2suYXR0cmlidXRlcy5hbmNob3IgKTtcblx0XHRcdFx0fVxuXHRcdFx0fSApO1xuXG5cdFx0XHQvLyBJZiBhbGwgaGVhZGluZyBhbmNob3JzIGFyZSB1bmRlZmluZWQsIHRoZXkgc2hvdWxkIGJlIHBvcHVsYXRlZC5cblx0XHRcdGNvbnN0IGZpbGxBbGxBbmNob3JzID0gaGVhZGluZ0FuY2hvcnMuZXZlcnkoIGFuY2hvciA9PiBpc1VuZGVmaW5lZCggYW5jaG9yICkgKTtcblxuXHRcdFx0Ly8gRmlyc3QgbG9vcCBvdmVyIGFsbCBjb3JlL2hlYWRpbmcgYmxvY2tzLCBnaXZlIHRoZW0gYW5jaG9ycyBpZiBuZWNlc3NhcnkgYW5kIGNvbGxlY3QgYWxsIGFuY2hvcnMuXG5cdFx0XHRyZWN1cnNlT3ZlckJsb2NrcyggdXBkYXRlZEJsb2NrTGlzdCwgYmxvY2sgPT4ge1xuXHRcdFx0XHRpZiAoIGJsb2NrLm5hbWUgPT09IFwiY29yZS9oZWFkaW5nXCIgKSB7XG5cdFx0XHRcdFx0Y29uc3QgaGVhZGluZyAgICAgICAgICAgICAgICAgICA9IGJsb2NrLmF0dHJpYnV0ZXM7XG5cdFx0XHRcdFx0Y29uc3QgY29udGVudCAgICAgICAgICAgICAgICAgICA9IGdldFRleHRXaXRob3V0TWFya3VwKCBoZWFkaW5nLmNvbnRlbnQgKTtcblx0XHRcdFx0XHRjb25zdCBhbmNob3IgICAgICAgICAgICAgICAgICAgID0gbWF5YmVVcGRhdGVBbmNob3IoXG5cdFx0XHRcdFx0XHRibG9jayxcblx0XHRcdFx0XHRcdGtub3duSGVhZGluZ3MsXG5cdFx0XHRcdFx0XHRrbm93bkFuY2hvcnMsXG5cdFx0XHRcdFx0XHRibG9ja3NUaGF0V2VyZU5vdEhlYWRpbmdzLFxuXHRcdFx0XHRcdFx0ZmlsbEFsbEFuY2hvcnMsXG5cdFx0XHRcdFx0KTtcblx0XHRcdFx0XHRrbm93bkhlYWRpbmdzWyBibG9jay5jbGllbnRJZCBdID0gaGVhZGluZztcblxuXHRcdFx0XHRcdC8vIEVtcHR5IHN0cmluZ3Mgc2hvdWxkbid0IGJlIGFkZGVkIHRvIHRoZSB0YWJsZSBvZiBjb250ZW50cy5cblx0XHRcdFx0XHRpZiAoIGFuY2hvciA9PT0gXCJcIiB8fCBpc0VtcHR5KCBjb250ZW50ICkgKSB7XG5cdFx0XHRcdFx0XHRyZXR1cm47XG5cdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0a25vd25BbmNob3JzLnB1c2goIGFuY2hvciApO1xuXHRcdFx0XHRcdGhlYWRpbmdzLnB1c2goIHsgY29udGVudCwgaHJlZjogXCIjXCIgKyBhbmNob3IsIGxldmVsOiBoZWFkaW5nLmxldmVsIH0gKTtcblx0XHRcdFx0XHR1cGRhdGVkSGVhZGluZ3NIYXNoICs9IFwiJFwiICsgaGVhZGluZy5sZXZlbCArIFwiOlwiICsgYW5jaG9yICsgXCI6XCIgKyBjb250ZW50O1xuXHRcdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHRcdGJsb2Nrc1RoYXRBcmVOb3RIZWFkaW5ncy5wdXNoKCBibG9jay5jbGllbnRJZCApO1xuXHRcdFx0XHR9XG5cdFx0XHR9ICk7XG5cblx0XHRcdC8vIFRoZW4gbG9vcCBvdmVyIGFsbCB0YWJsZSBvZiBjb250ZW50IGJsb2NrcyBhbmQgYXNzaWduIHRoZW0gdGhlIGNvbGxlY3RlZCBhbmNob3JzLlxuXHRcdFx0cmVjdXJzZU92ZXJCbG9ja3MoIHVwZGF0ZWRCbG9ja0xpc3QsIGJsb2NrID0+IHtcblx0XHRcdFx0aWYgKCBibG9jay5uYW1lID09PSBcInlvYXN0LXNlby90YWJsZS1vZi1jb250ZW50c1wiICkge1xuXHRcdFx0XHRcdGNvbnN0IGhhc0hlYWRpbmdzID0gYmxvY2suYXR0cmlidXRlcy5oZWFkaW5ncyAmJiBibG9jay5hdHRyaWJ1dGVzLmhlYWRpbmdzLmxlbmd0aCA+IDA7XG5cdFx0XHRcdFx0Ly8gSWYgd2UgaGF2ZSBuZXcgaGVhZGluZ3Mgb3IgdGhlIGJsb2NrIGRpZG4ndCBoYXZlIGhlYWRpbmdzIHByZXZpb3VzbHkuXG5cdFx0XHRcdFx0aWYgKCBoZWFkaW5nc0hhc2ggIT09IHVwZGF0ZWRIZWFkaW5nc0hhc2ggfHwgKCBoZWFkaW5ncy5sZW5ndGggPiAwICYmICEgaGFzSGVhZGluZ3MgKSApIHtcblx0XHRcdFx0XHRcdGRpc3BhdGNoKCBcImNvcmUvYmxvY2stZWRpdG9yXCIgKS51cGRhdGVCbG9ja0F0dHJpYnV0ZXMoIGJsb2NrLmNsaWVudElkLCB7IGhlYWRpbmdzIH0gKTtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdH0gKTtcblxuXHRcdFx0dXBkYXRpbmdIZWFkaW5ncyAgICAgICAgICA9IGZhbHNlO1xuXHRcdFx0aGVhZGluZ3NIYXNoICAgICAgICAgICAgICA9IHVwZGF0ZWRIZWFkaW5nc0hhc2g7XG5cdFx0XHRibG9ja3NUaGF0V2VyZU5vdEhlYWRpbmdzID0gYmxvY2tzVGhhdEFyZU5vdEhlYWRpbmdzO1xuXHRcdH1cblxuXHRcdGJsb2NrTGlzdCA9IHVwZGF0ZWRCbG9ja0xpc3Q7XG5cdH0gKTtcbn1cblxuLyoqXG4gKiBHZXRzIHRoZSBjb3JyZWN0IGhlYWRpbmcgcGFyZW50LlxuICpcbiAqIEBwYXJhbSB7T2JqZWN0fSBoZWFkaW5nIFRoZSBoZWFkaW5nLlxuICogQHBhcmFtIHtudW1iZXJ9IGxldmVsICAgVGhlIGxldmVsIG9mIHRoZSBuZXcgaGVhZGluZy5cbiAqXG4gKiBAcmV0dXJucyB7T2JqZWN0fG51bGx9IFRoZSBoZWFkaW5nIHBhcmVudC4gTnVsbCBpZiBubyBoZWFkaW5nIGNhbiBiZSBmb3VuZC5cbiAqL1xuZnVuY3Rpb24gZ2V0SGVhZGluZ1BhcmVudCggaGVhZGluZywgbGV2ZWwgKSB7XG5cdGxldCBjdXJyZW50ID0gaGVhZGluZztcblxuXHQvLyBMb29wIG92ZXIgdGhlIGhlYWRpbmdzIGFuY2VzdHJ5IHVudGlsIHdlIGZpbmQgb25lIHdpdGggYSBsb3dlciBsZXZlbC5cblx0d2hpbGUgKCBjdXJyZW50ICYmIGN1cnJlbnQubGV2ZWwgPj0gbGV2ZWwgKSB7XG5cdFx0Y3VycmVudCA9IGN1cnJlbnQucGFyZW50O1xuXHR9XG5cblx0cmV0dXJuIGN1cnJlbnQ7XG59XG5cbi8qKlxuICogU3RydWN0dXJlcyBoZWFkaW5ncy5cbiAqXG4gKiBAcGFyYW0ge2FycmF5fSBoZWFkaW5ncyBUaGUgaGVhZGluZ3MuXG4gKlxuICogQHJldHVybnMge2FycmF5fSBUaGUgc3RydWN0dXJlZCBoZWFkaW5ncy5cbiAqL1xuZnVuY3Rpb24gc3RydWN0dXJlSGVhZGluZ3MoIGhlYWRpbmdzICkge1xuXHRjb25zdCBzdHJ1Y3R1cmVkSGVhZGluZ3MgPSBbXTtcblx0bGV0IHByZXZpb3VzSGVhZGluZztcblxuXHRmb3IgKCBjb25zdCBoZWFkaW5nIG9mIGhlYWRpbmdzICkge1xuXHRcdGNvbnN0IGxldmVsICAgICAgICAgICAgID0gcGFyc2VJbnQoIGhlYWRpbmcubGV2ZWwsIDEwICk7XG5cdFx0Y29uc3Qgc3RydWN0dXJlZEhlYWRpbmcgPSB7IGNoaWxkcmVuOiBbXSwgcGFyZW50OiBudWxsLCAuLi5oZWFkaW5nLCBsZXZlbCB9O1xuXHRcdGNvbnN0IHBhcmVudCAgICAgICAgICAgID0gZ2V0SGVhZGluZ1BhcmVudCggcHJldmlvdXNIZWFkaW5nLCBsZXZlbCApO1xuXG5cdFx0aWYgKCBwYXJlbnQgKSB7XG5cdFx0XHRzdHJ1Y3R1cmVkSGVhZGluZy5wYXJlbnQgPSBwYXJlbnQ7XG5cdFx0XHRwYXJlbnQuY2hpbGRyZW4ucHVzaCggc3RydWN0dXJlZEhlYWRpbmcgKTtcblx0XHR9IGVsc2Uge1xuXHRcdFx0c3RydWN0dXJlZEhlYWRpbmdzLnB1c2goIHN0cnVjdHVyZWRIZWFkaW5nICk7XG5cdFx0fVxuXG5cdFx0cHJldmlvdXNIZWFkaW5nID0gc3RydWN0dXJlZEhlYWRpbmc7XG5cdH1cblxuXHRyZXR1cm4gc3RydWN0dXJlZEhlYWRpbmdzO1xufVxuXG4vKipcbiAqIFJlbmRlcnMgYSBsaXN0IG9mIGhlYWRpbmdzLlxuICpcbiAqIEBwYXJhbSB7YXJyYXl9IGhlYWRpbmdzIFRoZSBoZWFkaW5ncywgZXhwZWN0ZWQgdG8gYmUgc3RydWN0dXJlZCB3aXRoIHN0cnVjdHVyZUhlYWRpbmdzLlxuICpcbiAqIEByZXR1cm5zIHt3cC5FbGVtZW50fSBUaGUgbGlzdC5cbiAqL1xuZnVuY3Rpb24gcmVuZGVySGVhZGluZ0xpc3QoIGhlYWRpbmdzICkge1xuXHRjb25zdCBlbGVtZW50cyA9IGhlYWRpbmdzLm1hcCggaGVhZGluZyA9PiB7XG5cdFx0bGV0IGNoaWxkcmVuID0gbnVsbDtcblx0XHRpZiAoIGhlYWRpbmcuY2hpbGRyZW4gJiYgaGVhZGluZy5jaGlsZHJlbi5sZW5ndGggPiAwICkge1xuXHRcdFx0Y2hpbGRyZW4gPSByZW5kZXJIZWFkaW5nTGlzdCggaGVhZGluZy5jaGlsZHJlbiApO1xuXHRcdH1cblx0XHRyZXR1cm4gPGxpIGtleT17IGhlYWRpbmcuaHJlZiB9PjxhIGhyZWY9eyBoZWFkaW5nLmhyZWYgfSBkYXRhLWxldmVsPXsgaGVhZGluZy5sZXZlbCB9PnsgaGVhZGluZy5jb250ZW50IH08L2E+eyBjaGlsZHJlbiB9PC9saT47XG5cdH0gKTtcblxuXHRyZXR1cm4gPHVsPnsgZWxlbWVudHMgfTwvdWw+O1xufVxuXG4vKipcbiAqIFJlbmRlcnMgdGhlIHRhYmxlIG9mIGNvbnRlbnRzLlxuICpcbiAqIEBwYXJhbSB7YXJyYXl9IGhlYWRpbmdzIFRoZSBoZWFkaW5ncywgZXhwZWN0ZWQgdG8gYmUgdW5zdHJ1Y3R1cmVkLlxuICpcbiAqIEByZXR1cm5zIHt3cC5FbGVtZW50fSBUaGUgdGFibGUgb2YgY29udGVudHMuXG4gKi9cbmZ1bmN0aW9uIHJlbmRlclRhYmxlT2ZDb250ZW50cyggaGVhZGluZ3MgKSB7XG5cdGlmICggISBoZWFkaW5ncyB8fCBoZWFkaW5ncy5sZW5ndGggPT09IDAgKSB7XG5cdFx0cmV0dXJuIG51bGw7XG5cdH1cblxuXHRoZWFkaW5ncyA9IHN0cnVjdHVyZUhlYWRpbmdzKCBoZWFkaW5ncyApO1xuXHRyZXR1cm4gcmVuZGVySGVhZGluZ0xpc3QoIGhlYWRpbmdzICk7XG59XG5cbi8qKlxuICogUmVnaXN0ZXJzIHRoZSBkeW5hbWljIGJsb2Nrcy5cbiAqXG4gKiBAcmV0dXJucyB7dm9pZH1cbiAqL1xuZnVuY3Rpb24gcmVnaXN0ZXJCbG9jaygpIHtcblx0LyogZXNsaW50LWRpc2FibGUgcmVhY3QvcHJvcC10eXBlcyAqL1xuXHQvKiBlc2xpbnQtZGlzYWJsZSByZWFjdC9kaXNwbGF5LW5hbWUgKi9cblx0cmVnaXN0ZXJCbG9ja1R5cGUoIFwieW9hc3Qtc2VvL3RhYmxlLW9mLWNvbnRlbnRzXCIsIHtcblx0XHR0aXRsZTogXCJZb2FzdCBUYWJsZSBvZiBDb250ZW50c1wiLFxuXHRcdGljb246IFwiZWRpdG9yLXVsXCIsXG5cdFx0Y2F0ZWdvcnk6IFwieW9hc3QtaW50ZXJuYWwtbGlua2luZy1ibG9ja3NcIixcblx0XHRkZXNjcmlwdGlvbjogX18oIFwiQWRkcyBhIHRhYmxlIG9mIGNvbnRlbnRzIHRvIHRoaXMgcGFnZS5cIiwgXCJ3b3JkcHJlc3Mtc2VvLXByZW1pdW1cIiApLFxuXHRcdGtleXdvcmRzOiBbXG5cdFx0XHRfXyggXCJzZW9cIiwgXCJ3b3JkcHJlc3Mtc2VvLXByZW1pdW1cIiApLFxuXHRcdFx0X18oIFwibGlua3NcIiwgXCJ3b3JkcHJlc3Mtc2VvLXByZW1pdW1cIiApLFxuXHRcdFx0X18oIFwic2l0ZSBzdHJ1Y3R1cmVcIiwgXCJ3b3JkcHJlc3Mtc2VvLXByZW1pdW1cIiApLFxuXHRcdFx0X18oIFwidG9jXCIsIFwid29yZHByZXNzLXNlby1wcmVtaXVtXCIgKSxcblx0XHRdLFxuXHRcdGF0dHJpYnV0ZXM6IHtcblx0XHRcdHRpdGxlOiB7XG5cdFx0XHRcdHR5cGU6IFwic3RyaW5nXCIsXG5cdFx0XHRcdHNvdXJjZTogXCJodG1sXCIsXG5cdFx0XHRcdHNlbGVjdG9yOiBcImgyXCIsXG5cdFx0XHRcdFwiZGVmYXVsdFwiOiBfXyggXCJUYWJsZSBvZiBjb250ZW50c1wiLCBcIndvcmRwcmVzcy1zZW8tcHJlbWl1bVwiICksXG5cdFx0XHR9LFxuXHRcdFx0bGV2ZWw6IHtcblx0XHRcdFx0dHlwZTogXCJudW1iZXJcIixcblx0XHRcdFx0XCJkZWZhdWx0XCI6IDIsXG5cdFx0XHR9LFxuXHRcdFx0aGVhZGluZ3M6IHtcblx0XHRcdFx0dHlwZTogXCJhcnJheVwiLFxuXHRcdFx0XHRzb3VyY2U6IFwicXVlcnlcIixcblx0XHRcdFx0c2VsZWN0b3I6IFwiYVwiLFxuXHRcdFx0XHRxdWVyeToge1xuXHRcdFx0XHRcdGNvbnRlbnQ6IHtcblx0XHRcdFx0XHRcdHR5cGU6IFwic3RyaW5nXCIsXG5cdFx0XHRcdFx0XHRzb3VyY2U6IFwiaHRtbFwiLFxuXHRcdFx0XHRcdH0sXG5cdFx0XHRcdFx0aHJlZjoge1xuXHRcdFx0XHRcdFx0dHlwZTogXCJzdHJpbmdcIixcblx0XHRcdFx0XHRcdHNvdXJjZTogXCJhdHRyaWJ1dGVcIixcblx0XHRcdFx0XHRcdGF0dHJpYnV0ZTogXCJocmVmXCIsXG5cdFx0XHRcdFx0fSxcblx0XHRcdFx0XHRsZXZlbDoge1xuXHRcdFx0XHRcdFx0dHlwZTogXCJzdHJpbmdcIixcblx0XHRcdFx0XHRcdHNvdXJjZTogXCJhdHRyaWJ1dGVcIixcblx0XHRcdFx0XHRcdGF0dHJpYnV0ZTogXCJkYXRhLWxldmVsXCIsXG5cdFx0XHRcdFx0fSxcblx0XHRcdFx0fSxcblx0XHRcdH0sXG5cdFx0fSxcblx0XHRleGFtcGxlOiB7XG5cdFx0XHRhdHRyaWJ1dGVzOiB7XG5cdFx0XHRcdGhlYWRpbmdzOiBbXG5cdFx0XHRcdFx0e1xuXHRcdFx0XHRcdFx0Y29udGVudDogXCJIZWFkaW5nIDFcIixcblx0XHRcdFx0XHRcdGhyZWY6IFwiI2hlYWRpbmctMVwiLFxuXHRcdFx0XHRcdFx0bGV2ZWw6IFwiMlwiLFxuXHRcdFx0XHRcdH0sXG5cdFx0XHRcdFx0e1xuXHRcdFx0XHRcdFx0Y29udGVudDogXCJTdWJoZWFkaW5nIDFcIixcblx0XHRcdFx0XHRcdGhyZWY6IFwiI3N1YmhlYWRpbmctMVwiLFxuXHRcdFx0XHRcdFx0bGV2ZWw6IFwiM1wiLFxuXHRcdFx0XHRcdH0sXG5cdFx0XHRcdFx0e1xuXHRcdFx0XHRcdFx0Y29udGVudDogXCJTdWJoZWFkaW5nIDJcIixcblx0XHRcdFx0XHRcdGhyZWY6IFwiI3N1YmhlYWRpbmctMlwiLFxuXHRcdFx0XHRcdFx0bGV2ZWw6IFwiM1wiLFxuXHRcdFx0XHRcdH0sXG5cdFx0XHRcdFx0e1xuXHRcdFx0XHRcdFx0Y29udGVudDogXCJIZWFkaW5nIDJcIixcblx0XHRcdFx0XHRcdGhyZWY6IFwiI2hlYWRpbmctMlwiLFxuXHRcdFx0XHRcdFx0bGV2ZWw6IFwiMlwiLFxuXHRcdFx0XHRcdH0sXG5cdFx0XHRcdF0sXG5cdFx0XHR9LFxuXHRcdH0sXG5cdFx0LyoqXG5cdFx0ICogUmVuZGVycyB0aGUgYmxvY2sgaW4gdGhlIGVkaXRvci5cblx0XHQgKlxuXHRcdCAqIEBwYXJhbSB7T2JqZWN0fSBwcm9wcyBUaGUgcHJvcHMuXG5cdFx0ICpcblx0XHQgKiBAcmV0dXJucyB7d3AuRWxlbWVudH0gVGhlIGNvbXBvbmVudC5cblx0XHQgKi9cblx0XHRlZGl0OiBmdW5jdGlvbiggeyBhdHRyaWJ1dGVzLCBzZXRBdHRyaWJ1dGVzIH0gKSB7XG5cdFx0XHRjb25zdCBvbkNoYW5nZVRpdGxlID0gdXNlQ2FsbGJhY2soIHRpdGxlID0+IHNldEF0dHJpYnV0ZXMoIHsgdGl0bGUgfSApLCBbIHNldEF0dHJpYnV0ZXMgXSApO1xuXHRcdFx0Y29uc3Qgb25DaGFuZ2VMZXZlbCA9IHVzZUNhbGxiYWNrKCBsZXZlbCA9PiBzZXRBdHRyaWJ1dGVzKCB7IGxldmVsIH0gKSwgWyBzZXRBdHRyaWJ1dGVzIF0gKTtcblxuXHRcdFx0cmV0dXJuIDxGcmFnbWVudD5cblx0XHRcdFx0PEJsb2NrQ29udHJvbHM+XG5cdFx0XHRcdFx0PFRvb2xiYXJHcm91cD5cblx0XHRcdFx0XHRcdDxIZWFkaW5nTGV2ZWxEcm9wZG93blxuXHRcdFx0XHRcdFx0XHRzZWxlY3RlZExldmVsPXsgYXR0cmlidXRlcy5sZXZlbCB9XG5cdFx0XHRcdFx0XHRcdG9uQ2hhbmdlPXsgb25DaGFuZ2VMZXZlbCB9XG5cdFx0XHRcdFx0XHQvPlxuXHRcdFx0XHRcdDwvVG9vbGJhckdyb3VwPlxuXHRcdFx0XHQ8L0Jsb2NrQ29udHJvbHM+XG5cdFx0XHRcdDxkaXYgY2xhc3NOYW1lPXsgXCJ5b2FzdC10YWJsZS1vZi1jb250ZW50c1wiIH0+XG5cdFx0XHRcdFx0PFJpY2hUZXh0IHRhZ05hbWU9eyBcImhcIiArIGF0dHJpYnV0ZXMubGV2ZWwgfSB2YWx1ZT17IGF0dHJpYnV0ZXMudGl0bGUgfSBvbkNoYW5nZT17IG9uQ2hhbmdlVGl0bGUgfSAvPlxuXHRcdFx0XHRcdHsgcmVuZGVyVGFibGVPZkNvbnRlbnRzKCBhdHRyaWJ1dGVzLmhlYWRpbmdzICkgfVxuXHRcdFx0XHQ8L2Rpdj5cblx0XHRcdDwvRnJhZ21lbnQ+O1xuXHRcdH0sXG5cdFx0LyoqXG5cdFx0ICogU2F2ZXMgdGhlIGJsb2NrLlxuXHRcdCAqXG5cdFx0ICogQHBhcmFtIHtPYmplY3R9IHByb3BzIFRoZSBwcm9wcy5cblx0XHQgKlxuXHRcdCAqIEByZXR1cm5zIHt3cC5FbGVtZW50fSBUaGUgYmxvY2suXG5cdFx0ICovXG5cdFx0c2F2ZTogZnVuY3Rpb24oIHsgYXR0cmlidXRlcyB9ICkge1xuXHRcdFx0bGV0IHRpdGxlID0gbnVsbDtcblx0XHRcdGlmICggYXR0cmlidXRlcy50aXRsZSApIHtcblx0XHRcdFx0dGl0bGUgPSA8UmljaFRleHQuQ29udGVudCB0YWdOYW1lPXsgXCJoXCIgKyBhdHRyaWJ1dGVzLmxldmVsIH0gdmFsdWU9eyBhdHRyaWJ1dGVzLnRpdGxlIH0gLz47XG5cdFx0XHR9XG5cblx0XHRcdHJldHVybiA8ZGl2IGNsYXNzTmFtZT17IFwieW9hc3QtdGFibGUtb2YtY29udGVudHNcIiB9PlxuXHRcdFx0XHR7IHRpdGxlIH1cblx0XHRcdFx0eyByZW5kZXJUYWJsZU9mQ29udGVudHMoIGF0dHJpYnV0ZXMuaGVhZGluZ3MgKSB9XG5cdFx0XHQ8L2Rpdj47XG5cdFx0fSxcblx0fSApO1xuXHQvKiBlc2xpbnQtZW5hYmxlIHJlYWN0L2Rpc3BsYXktbmFtZSAqL1xuXHQvKiBlc2xpbnQtZW5hYmxlIHJlYWN0L3Byb3AtdHlwZXMgKi9cbn1cblxuLyoqXG4gKiBSZWdpc3RlcnMgdGhlIHRhYmxlIG9mIGNvbnRlbnRzIGJsb2NrLlxuICpcbiAqIEByZXR1cm5zIHt2b2lkfVxuICovXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiByZWdpc3RlcigpIHtcblx0ZG9tUmVhZHkoICgpID0+IHtcblx0XHRzdWJzY3JpYmVUb1N0b3JlKCk7XG5cdH0gKTtcblx0cmVnaXN0ZXJCbG9jaygpO1xufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQTtBQUNBO0FBQ0E7QUFTQTtBQUNBO0FBQ0E7QUFvWUE7QUFDQTtBQWpaQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7OztBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTs7O0FBRUE7QUFDQTs7Ozs7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7Ozs7OztBQU9BO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7Ozs7Ozs7OztBQVVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFLQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBRkE7QUFJQTtBQUpBO0FBTUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7Ozs7Ozs7Ozs7O0FBV0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUlBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7Ozs7O0FBS0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7OztBQUlBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQU9BO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7Ozs7Ozs7QUFRQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7Ozs7Ozs7QUFPQTtBQUNBO0FBQ0E7QUFDQTtBQUhBO0FBQUE7QUFBQTtBQUNBO0FBREE7QUFJQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQWpCQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFrQkE7QUFDQTtBQUNBO0FBQ0E7Ozs7Ozs7QUFPQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBOzs7Ozs7O0FBT0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7Ozs7O0FBS0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBTUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBSkE7QUFNQTtBQUNBO0FBQ0E7QUFGQTtBQUlBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFGQTtBQUlBO0FBQ0E7QUFDQTtBQUNBO0FBSEE7QUFLQTtBQUNBO0FBQ0E7QUFDQTtBQUhBO0FBVkE7QUFKQTtBQVhBO0FBaUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUhBO0FBTUE7QUFDQTtBQUNBO0FBSEE7QUFNQTtBQUNBO0FBQ0E7QUFIQTtBQU1BO0FBQ0E7QUFDQTtBQUhBO0FBakJBO0FBREE7QUEwQkE7Ozs7Ozs7QUFPQTtBQUFBO0FBQUE7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQ0E7QUFBQTtBQUFBO0FBQ0E7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBRkE7QUFEQTtBQURBO0FBUUE7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUZBO0FBVEE7QUFjQTtBQUNBOzs7Ozs7O0FBT0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFGQTtBQUlBO0FBakhBO0FBbUhBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7Ozs7O0FBS0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///109\n')},function(module,exports,__webpack_require__){"use strict";eval('\n\nvar _interopRequireDefault = __webpack_require__(111);\n\nObject.defineProperty(exports, "__esModule", {\n value: true\n});\nexports.default = HeadingLevelDropdown;\n\nvar _element = __webpack_require__(4);\n\nvar _components = __webpack_require__(7);\n\nvar _i18n = __webpack_require__(0);\n\nvar _keycodes = __webpack_require__(112);\n\nvar _headingLevelIcon = _interopRequireDefault(__webpack_require__(113));\n\n/**\n * WordPress dependencies\n */\n\n/**\n * Internal dependencies\n */\nvar HEADING_LEVELS = [1, 2, 3, 4, 5, 6];\nvar POPOVER_PROPS = {\n className: \'block-library-heading-level-dropdown\',\n isAlternate: true\n};\n/** @typedef {import(\'@wordpress/element\').WPComponent} WPComponent */\n\n/**\n * HeadingLevelDropdown props.\n *\n * @typedef WPHeadingLevelDropdownProps\n *\n * @property {number} selectedLevel The chosen heading level.\n * @property {(newValue:number)=>any} onChange Callback to run when\n * toolbar value is changed.\n */\n\n/**\n * Dropdown for selecting a heading level (1 through 6).\n *\n * @param {WPHeadingLevelDropdownProps} props Component props.\n *\n * @return {WPComponent} The toolbar.\n */\n\nfunction HeadingLevelDropdown(_ref) {\n var selectedLevel = _ref.selectedLevel,\n onChange = _ref.onChange;\n return (0, _element.createElement)(_components.Dropdown, {\n popoverProps: POPOVER_PROPS,\n renderToggle: function renderToggle(_ref2) {\n var onToggle = _ref2.onToggle,\n isOpen = _ref2.isOpen;\n\n var openOnArrowDown = function openOnArrowDown(event) {\n if (!isOpen && event.keyCode === _keycodes.DOWN) {\n event.preventDefault();\n event.stopPropagation();\n onToggle();\n }\n };\n\n return (0, _element.createElement)(_components.ToolbarButton, {\n "aria-expanded": isOpen,\n "aria-haspopup": "true",\n icon: (0, _element.createElement)(_headingLevelIcon.default, {\n level: selectedLevel\n }),\n label: (0, _i18n.__)(\'Change heading level\'),\n onClick: onToggle,\n onKeyDown: openOnArrowDown,\n showTooltip: true\n });\n },\n renderContent: function renderContent() {\n return (0, _element.createElement)(_components.Toolbar, {\n className: "block-library-heading-level-toolbar",\n __experimentalAccessibilityLabel: (0, _i18n.__)(\'Change heading level\')\n }, (0, _element.createElement)(_components.ToolbarGroup, {\n isCollapsed: false,\n controls: HEADING_LEVELS.map(function (targetLevel) {\n var isActive = targetLevel === selectedLevel;\n return {\n icon: (0, _element.createElement)(_headingLevelIcon.default, {\n level: targetLevel,\n isPressed: isActive\n }),\n title: (0, _i18n.sprintf)( // translators: %s: heading level e.g: "1", "2", "3"\n (0, _i18n.__)(\'Heading %d\'), targetLevel),\n isActive: isActive,\n onClick: function onClick() {\n onChange(targetLevel);\n }\n };\n })\n }));\n }\n });\n}\n//# sourceMappingURL=heading-level-dropdown.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMTEwLmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy92YXIvamVua2lucy93b3Jrc3BhY2UvUGx1Z2luLVJlbGVhc2Uvd29yZHByZXNzLXNlby1wcmVtaXVtLy5yZXBvcy93b3JkcHJlc3Mtc2VvLXByZW1pdW0vbm9kZV9tb2R1bGVzL0B3b3JkcHJlc3MvYmxvY2stbGlicmFyeS9idWlsZC9oZWFkaW5nL2hlYWRpbmctbGV2ZWwtZHJvcGRvd24uanM/ZWEwNCJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxudmFyIF9pbnRlcm9wUmVxdWlyZURlZmF1bHQgPSByZXF1aXJlKFwiQGJhYmVsL3J1bnRpbWUvaGVscGVycy9pbnRlcm9wUmVxdWlyZURlZmF1bHRcIik7XG5cbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICB2YWx1ZTogdHJ1ZVxufSk7XG5leHBvcnRzLmRlZmF1bHQgPSBIZWFkaW5nTGV2ZWxEcm9wZG93bjtcblxudmFyIF9lbGVtZW50ID0gcmVxdWlyZShcIkB3b3JkcHJlc3MvZWxlbWVudFwiKTtcblxudmFyIF9jb21wb25lbnRzID0gcmVxdWlyZShcIkB3b3JkcHJlc3MvY29tcG9uZW50c1wiKTtcblxudmFyIF9pMThuID0gcmVxdWlyZShcIkB3b3JkcHJlc3MvaTE4blwiKTtcblxudmFyIF9rZXljb2RlcyA9IHJlcXVpcmUoXCJAd29yZHByZXNzL2tleWNvZGVzXCIpO1xuXG52YXIgX2hlYWRpbmdMZXZlbEljb24gPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KHJlcXVpcmUoXCIuL2hlYWRpbmctbGV2ZWwtaWNvblwiKSk7XG5cbi8qKlxuICogV29yZFByZXNzIGRlcGVuZGVuY2llc1xuICovXG5cbi8qKlxuICogSW50ZXJuYWwgZGVwZW5kZW5jaWVzXG4gKi9cbnZhciBIRUFESU5HX0xFVkVMUyA9IFsxLCAyLCAzLCA0LCA1LCA2XTtcbnZhciBQT1BPVkVSX1BST1BTID0ge1xuICBjbGFzc05hbWU6ICdibG9jay1saWJyYXJ5LWhlYWRpbmctbGV2ZWwtZHJvcGRvd24nLFxuICBpc0FsdGVybmF0ZTogdHJ1ZVxufTtcbi8qKiBAdHlwZWRlZiB7aW1wb3J0KCdAd29yZHByZXNzL2VsZW1lbnQnKS5XUENvbXBvbmVudH0gV1BDb21wb25lbnQgKi9cblxuLyoqXG4gKiBIZWFkaW5nTGV2ZWxEcm9wZG93biBwcm9wcy5cbiAqXG4gKiBAdHlwZWRlZiBXUEhlYWRpbmdMZXZlbERyb3Bkb3duUHJvcHNcbiAqXG4gKiBAcHJvcGVydHkge251bWJlcn0gICAgICAgICAgICAgICAgIHNlbGVjdGVkTGV2ZWwgVGhlIGNob3NlbiBoZWFkaW5nIGxldmVsLlxuICogQHByb3BlcnR5IHsobmV3VmFsdWU6bnVtYmVyKT0+YW55fSBvbkNoYW5nZSAgICAgIENhbGxiYWNrIHRvIHJ1biB3aGVuXG4gKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdG9vbGJhciB2YWx1ZSBpcyBjaGFuZ2VkLlxuICovXG5cbi8qKlxuICogRHJvcGRvd24gZm9yIHNlbGVjdGluZyBhIGhlYWRpbmcgbGV2ZWwgKDEgdGhyb3VnaCA2KS5cbiAqXG4gKiBAcGFyYW0ge1dQSGVhZGluZ0xldmVsRHJvcGRvd25Qcm9wc30gcHJvcHMgQ29tcG9uZW50IHByb3BzLlxuICpcbiAqIEByZXR1cm4ge1dQQ29tcG9uZW50fSBUaGUgdG9vbGJhci5cbiAqL1xuXG5mdW5jdGlvbiBIZWFkaW5nTGV2ZWxEcm9wZG93bihfcmVmKSB7XG4gIHZhciBzZWxlY3RlZExldmVsID0gX3JlZi5zZWxlY3RlZExldmVsLFxuICAgICAgb25DaGFuZ2UgPSBfcmVmLm9uQ2hhbmdlO1xuICByZXR1cm4gKDAsIF9lbGVtZW50LmNyZWF0ZUVsZW1lbnQpKF9jb21wb25lbnRzLkRyb3Bkb3duLCB7XG4gICAgcG9wb3ZlclByb3BzOiBQT1BPVkVSX1BST1BTLFxuICAgIHJlbmRlclRvZ2dsZTogZnVuY3Rpb24gcmVuZGVyVG9nZ2xlKF9yZWYyKSB7XG4gICAgICB2YXIgb25Ub2dnbGUgPSBfcmVmMi5vblRvZ2dsZSxcbiAgICAgICAgICBpc09wZW4gPSBfcmVmMi5pc09wZW47XG5cbiAgICAgIHZhciBvcGVuT25BcnJvd0Rvd24gPSBmdW5jdGlvbiBvcGVuT25BcnJvd0Rvd24oZXZlbnQpIHtcbiAgICAgICAgaWYgKCFpc09wZW4gJiYgZXZlbnQua2V5Q29kZSA9PT0gX2tleWNvZGVzLkRPV04pIHtcbiAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgICAgIG9uVG9nZ2xlKCk7XG4gICAgICAgIH1cbiAgICAgIH07XG5cbiAgICAgIHJldHVybiAoMCwgX2VsZW1lbnQuY3JlYXRlRWxlbWVudCkoX2NvbXBvbmVudHMuVG9vbGJhckJ1dHRvbiwge1xuICAgICAgICBcImFyaWEtZXhwYW5kZWRcIjogaXNPcGVuLFxuICAgICAgICBcImFyaWEtaGFzcG9wdXBcIjogXCJ0cnVlXCIsXG4gICAgICAgIGljb246ICgwLCBfZWxlbWVudC5jcmVhdGVFbGVtZW50KShfaGVhZGluZ0xldmVsSWNvbi5kZWZhdWx0LCB7XG4gICAgICAgICAgbGV2ZWw6IHNlbGVjdGVkTGV2ZWxcbiAgICAgICAgfSksXG4gICAgICAgIGxhYmVsOiAoMCwgX2kxOG4uX18pKCdDaGFuZ2UgaGVhZGluZyBsZXZlbCcpLFxuICAgICAgICBvbkNsaWNrOiBvblRvZ2dsZSxcbiAgICAgICAgb25LZXlEb3duOiBvcGVuT25BcnJvd0Rvd24sXG4gICAgICAgIHNob3dUb29sdGlwOiB0cnVlXG4gICAgICB9KTtcbiAgICB9LFxuICAgIHJlbmRlckNvbnRlbnQ6IGZ1bmN0aW9uIHJlbmRlckNvbnRlbnQoKSB7XG4gICAgICByZXR1cm4gKDAsIF9lbGVtZW50LmNyZWF0ZUVsZW1lbnQpKF9jb21wb25lbnRzLlRvb2xiYXIsIHtcbiAgICAgICAgY2xhc3NOYW1lOiBcImJsb2NrLWxpYnJhcnktaGVhZGluZy1sZXZlbC10b29sYmFyXCIsXG4gICAgICAgIF9fZXhwZXJpbWVudGFsQWNjZXNzaWJpbGl0eUxhYmVsOiAoMCwgX2kxOG4uX18pKCdDaGFuZ2UgaGVhZGluZyBsZXZlbCcpXG4gICAgICB9LCAoMCwgX2VsZW1lbnQuY3JlYXRlRWxlbWVudCkoX2NvbXBvbmVudHMuVG9vbGJhckdyb3VwLCB7XG4gICAgICAgIGlzQ29sbGFwc2VkOiBmYWxzZSxcbiAgICAgICAgY29udHJvbHM6IEhFQURJTkdfTEVWRUxTLm1hcChmdW5jdGlvbiAodGFyZ2V0TGV2ZWwpIHtcbiAgICAgICAgICB2YXIgaXNBY3RpdmUgPSB0YXJnZXRMZXZlbCA9PT0gc2VsZWN0ZWRMZXZlbDtcbiAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgaWNvbjogKDAsIF9lbGVtZW50LmNyZWF0ZUVsZW1lbnQpKF9oZWFkaW5nTGV2ZWxJY29uLmRlZmF1bHQsIHtcbiAgICAgICAgICAgICAgbGV2ZWw6IHRhcmdldExldmVsLFxuICAgICAgICAgICAgICBpc1ByZXNzZWQ6IGlzQWN0aXZlXG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIHRpdGxlOiAoMCwgX2kxOG4uc3ByaW50ZikoIC8vIHRyYW5zbGF0b3JzOiAlczogaGVhZGluZyBsZXZlbCBlLmc6IFwiMVwiLCBcIjJcIiwgXCIzXCJcbiAgICAgICAgICAgICgwLCBfaTE4bi5fXykoJ0hlYWRpbmcgJWQnKSwgdGFyZ2V0TGV2ZWwpLFxuICAgICAgICAgICAgaXNBY3RpdmU6IGlzQWN0aXZlLFxuICAgICAgICAgICAgb25DbGljazogZnVuY3Rpb24gb25DbGljaygpIHtcbiAgICAgICAgICAgICAgb25DaGFuZ2UodGFyZ2V0TGV2ZWwpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH07XG4gICAgICAgIH0pXG4gICAgICB9KSk7XG4gICAgfVxuICB9KTtcbn1cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWhlYWRpbmctbGV2ZWwtZHJvcGRvd24uanMubWFwIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///110\n')},function(module,exports){eval('function _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n "default": obj\n };\n}\n\nmodule.exports = _interopRequireDefault;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMTExLmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy92YXIvamVua2lucy93b3Jrc3BhY2UvUGx1Z2luLVJlbGVhc2Uvd29yZHByZXNzLXNlby1wcmVtaXVtLy5yZXBvcy93b3JkcHJlc3Mtc2VvLXByZW1pdW0vbm9kZV9tb2R1bGVzL0BiYWJlbC9ydW50aW1lL2hlbHBlcnMvaW50ZXJvcFJlcXVpcmVEZWZhdWx0LmpzPzFjZDEiXSwic291cmNlc0NvbnRlbnQiOlsiZnVuY3Rpb24gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChvYmopIHtcbiAgcmV0dXJuIG9iaiAmJiBvYmouX19lc01vZHVsZSA/IG9iaiA6IHtcbiAgICBcImRlZmF1bHRcIjogb2JqXG4gIH07XG59XG5cbm1vZHVsZS5leHBvcnRzID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdDsiXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///111\n')},function(module,exports){eval("module.exports = window.wp.keycodes;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMTEyLmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vL2V4dGVybmFsIFwid2luZG93LndwLmtleWNvZGVzXCI/ZTMzNSJdLCJzb3VyY2VzQ29udGVudCI6WyJtb2R1bGUuZXhwb3J0cyA9IHdpbmRvdy53cC5rZXljb2RlczsiXSwibWFwcGluZ3MiOiJBQUFBIiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///112\n")},function(module,exports,__webpack_require__){"use strict";eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = HeadingLevelIcon;\n\nvar _element = __webpack_require__(4);\n\nvar _components = __webpack_require__(7);\n\n/**\n * WordPress dependencies\n */\n\n/** @typedef {import('@wordpress/element').WPComponent} WPComponent */\n\n/**\n * HeadingLevelIcon props.\n *\n * @typedef WPHeadingLevelIconProps\n *\n * @property {number} level The heading level to show an icon for.\n * @property {?boolean} isPressed Whether or not the icon should appear pressed; default: false.\n */\n\n/**\n * Heading level icon.\n *\n * @param {WPHeadingLevelIconProps} props Component props.\n *\n * @return {?WPComponent} The icon.\n */\nfunction HeadingLevelIcon(_ref) {\n var level = _ref.level,\n _ref$isPressed = _ref.isPressed,\n isPressed = _ref$isPressed === void 0 ? false : _ref$isPressed;\n var levelToPath = {\n 1: 'M9 5h2v10H9v-4H5v4H3V5h2v4h4V5zm6.6 0c-.6.9-1.5 1.7-2.6 2v1h2v7h2V5h-1.4z',\n 2: 'M7 5h2v10H7v-4H3v4H1V5h2v4h4V5zm8 8c.5-.4.6-.6 1.1-1.1.4-.4.8-.8 1.2-1.3.3-.4.6-.8.9-1.3.2-.4.3-.8.3-1.3 0-.4-.1-.9-.3-1.3-.2-.4-.4-.7-.8-1-.3-.3-.7-.5-1.2-.6-.5-.2-1-.2-1.5-.2-.4 0-.7 0-1.1.1-.3.1-.7.2-1 .3-.3.1-.6.3-.9.5-.3.2-.6.4-.8.7l1.2 1.2c.3-.3.6-.5 1-.7.4-.2.7-.3 1.2-.3s.9.1 1.3.4c.3.3.5.7.5 1.1 0 .4-.1.8-.4 1.1-.3.5-.6.9-1 1.2-.4.4-1 .9-1.6 1.4-.6.5-1.4 1.1-2.2 1.6V15h8v-2H15z',\n 3: 'M12.1 12.2c.4.3.8.5 1.2.7.4.2.9.3 1.4.3.5 0 1-.1 1.4-.3.3-.1.5-.5.5-.8 0-.2 0-.4-.1-.6-.1-.2-.3-.3-.5-.4-.3-.1-.7-.2-1-.3-.5-.1-1-.1-1.5-.1V9.1c.7.1 1.5-.1 2.2-.4.4-.2.6-.5.6-.9 0-.3-.1-.6-.4-.8-.3-.2-.7-.3-1.1-.3-.4 0-.8.1-1.1.3-.4.2-.7.4-1.1.6l-1.2-1.4c.5-.4 1.1-.7 1.6-.9.5-.2 1.2-.3 1.8-.3.5 0 1 .1 1.6.2.4.1.8.3 1.2.5.3.2.6.5.8.8.2.3.3.7.3 1.1 0 .5-.2.9-.5 1.3-.4.4-.9.7-1.5.9v.1c.6.1 1.2.4 1.6.8.4.4.7.9.7 1.5 0 .4-.1.8-.3 1.2-.2.4-.5.7-.9.9-.4.3-.9.4-1.3.5-.5.1-1 .2-1.6.2-.8 0-1.6-.1-2.3-.4-.6-.2-1.1-.6-1.6-1l1.1-1.4zM7 9H3V5H1v10h2v-4h4v4h2V5H7v4z',\n 4: 'M9 15H7v-4H3v4H1V5h2v4h4V5h2v10zm10-2h-1v2h-2v-2h-5v-2l4-6h3v6h1v2zm-3-2V7l-2.8 4H16z',\n 5: 'M12.1 12.2c.4.3.7.5 1.1.7.4.2.9.3 1.3.3.5 0 1-.1 1.4-.4.4-.3.6-.7.6-1.1 0-.4-.2-.9-.6-1.1-.4-.3-.9-.4-1.4-.4H14c-.1 0-.3 0-.4.1l-.4.1-.5.2-1-.6.3-5h6.4v1.9h-4.3L14 8.8c.2-.1.5-.1.7-.2.2 0 .5-.1.7-.1.5 0 .9.1 1.4.2.4.1.8.3 1.1.6.3.2.6.6.8.9.2.4.3.9.3 1.4 0 .5-.1 1-.3 1.4-.2.4-.5.8-.9 1.1-.4.3-.8.5-1.3.7-.5.2-1 .3-1.5.3-.8 0-1.6-.1-2.3-.4-.6-.2-1.1-.6-1.6-1-.1-.1 1-1.5 1-1.5zM9 15H7v-4H3v4H1V5h2v4h4V5h2v10z',\n 6: 'M9 15H7v-4H3v4H1V5h2v4h4V5h2v10zm8.6-7.5c-.2-.2-.5-.4-.8-.5-.6-.2-1.3-.2-1.9 0-.3.1-.6.3-.8.5l-.6.9c-.2.5-.2.9-.2 1.4.4-.3.8-.6 1.2-.8.4-.2.8-.3 1.3-.3.4 0 .8 0 1.2.2.4.1.7.3 1 .6.3.3.5.6.7.9.2.4.3.8.3 1.3s-.1.9-.3 1.4c-.2.4-.5.7-.8 1-.4.3-.8.5-1.2.6-1 .3-2 .3-3 0-.5-.2-1-.5-1.4-.9-.4-.4-.8-.9-1-1.5-.2-.6-.3-1.3-.3-2.1s.1-1.6.4-2.3c.2-.6.6-1.2 1-1.6.4-.4.9-.7 1.4-.9.6-.3 1.1-.4 1.7-.4.7 0 1.4.1 2 .3.5.2 1 .5 1.4.8 0 .1-1.3 1.4-1.3 1.4zm-2.4 5.8c.2 0 .4 0 .6-.1.2 0 .4-.1.5-.2.1-.1.3-.3.4-.5.1-.2.1-.5.1-.7 0-.4-.1-.8-.4-1.1-.3-.2-.7-.3-1.1-.3-.3 0-.7.1-1 .2-.4.2-.7.4-1 .7 0 .3.1.7.3 1 .1.2.3.4.4.6.2.1.3.3.5.3.2.1.5.2.7.1z'\n };\n\n if (!levelToPath.hasOwnProperty(level)) {\n return null;\n }\n\n return (0, _element.createElement)(_components.SVG, {\n width: \"24\",\n height: \"24\",\n viewBox: \"0 0 20 20\",\n xmlns: \"http://www.w3.org/2000/svg\",\n isPressed: isPressed\n }, (0, _element.createElement)(_components.Path, {\n d: levelToPath[level]\n }));\n}\n//# sourceMappingURL=heading-level-icon.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMTEzLmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy92YXIvamVua2lucy93b3Jrc3BhY2UvUGx1Z2luLVJlbGVhc2Uvd29yZHByZXNzLXNlby1wcmVtaXVtLy5yZXBvcy93b3JkcHJlc3Mtc2VvLXByZW1pdW0vbm9kZV9tb2R1bGVzL0B3b3JkcHJlc3MvYmxvY2stbGlicmFyeS9idWlsZC9oZWFkaW5nL2hlYWRpbmctbGV2ZWwtaWNvbi5qcz8yOWMwIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgdmFsdWU6IHRydWVcbn0pO1xuZXhwb3J0cy5kZWZhdWx0ID0gSGVhZGluZ0xldmVsSWNvbjtcblxudmFyIF9lbGVtZW50ID0gcmVxdWlyZShcIkB3b3JkcHJlc3MvZWxlbWVudFwiKTtcblxudmFyIF9jb21wb25lbnRzID0gcmVxdWlyZShcIkB3b3JkcHJlc3MvY29tcG9uZW50c1wiKTtcblxuLyoqXG4gKiBXb3JkUHJlc3MgZGVwZW5kZW5jaWVzXG4gKi9cblxuLyoqIEB0eXBlZGVmIHtpbXBvcnQoJ0B3b3JkcHJlc3MvZWxlbWVudCcpLldQQ29tcG9uZW50fSBXUENvbXBvbmVudCAqL1xuXG4vKipcbiAqIEhlYWRpbmdMZXZlbEljb24gcHJvcHMuXG4gKlxuICogQHR5cGVkZWYgV1BIZWFkaW5nTGV2ZWxJY29uUHJvcHNcbiAqXG4gKiBAcHJvcGVydHkge251bWJlcn0gICBsZXZlbCAgICAgVGhlIGhlYWRpbmcgbGV2ZWwgdG8gc2hvdyBhbiBpY29uIGZvci5cbiAqIEBwcm9wZXJ0eSB7P2Jvb2xlYW59IGlzUHJlc3NlZCBXaGV0aGVyIG9yIG5vdCB0aGUgaWNvbiBzaG91bGQgYXBwZWFyIHByZXNzZWQ7IGRlZmF1bHQ6IGZhbHNlLlxuICovXG5cbi8qKlxuICogSGVhZGluZyBsZXZlbCBpY29uLlxuICpcbiAqIEBwYXJhbSB7V1BIZWFkaW5nTGV2ZWxJY29uUHJvcHN9IHByb3BzIENvbXBvbmVudCBwcm9wcy5cbiAqXG4gKiBAcmV0dXJuIHs/V1BDb21wb25lbnR9IFRoZSBpY29uLlxuICovXG5mdW5jdGlvbiBIZWFkaW5nTGV2ZWxJY29uKF9yZWYpIHtcbiAgdmFyIGxldmVsID0gX3JlZi5sZXZlbCxcbiAgICAgIF9yZWYkaXNQcmVzc2VkID0gX3JlZi5pc1ByZXNzZWQsXG4gICAgICBpc1ByZXNzZWQgPSBfcmVmJGlzUHJlc3NlZCA9PT0gdm9pZCAwID8gZmFsc2UgOiBfcmVmJGlzUHJlc3NlZDtcbiAgdmFyIGxldmVsVG9QYXRoID0ge1xuICAgIDE6ICdNOSA1aDJ2MTBIOXYtNEg1djRIM1Y1aDJ2NGg0VjV6bTYuNiAwYy0uNi45LTEuNSAxLjctMi42IDJ2MWgydjdoMlY1aC0xLjR6JyxcbiAgICAyOiAnTTcgNWgydjEwSDd2LTRIM3Y0SDFWNWgydjRoNFY1em04IDhjLjUtLjQuNi0uNiAxLjEtMS4xLjQtLjQuOC0uOCAxLjItMS4zLjMtLjQuNi0uOC45LTEuMy4yLS40LjMtLjguMy0xLjMgMC0uNC0uMS0uOS0uMy0xLjMtLjItLjQtLjQtLjctLjgtMS0uMy0uMy0uNy0uNS0xLjItLjYtLjUtLjItMS0uMi0xLjUtLjItLjQgMC0uNyAwLTEuMS4xLS4zLjEtLjcuMi0xIC4zLS4zLjEtLjYuMy0uOS41LS4zLjItLjYuNC0uOC43bDEuMiAxLjJjLjMtLjMuNi0uNSAxLS43LjQtLjIuNy0uMyAxLjItLjNzLjkuMSAxLjMuNGMuMy4zLjUuNy41IDEuMSAwIC40LS4xLjgtLjQgMS4xLS4zLjUtLjYuOS0xIDEuMi0uNC40LTEgLjktMS42IDEuNC0uNi41LTEuNCAxLjEtMi4yIDEuNlYxNWg4di0ySDE1eicsXG4gICAgMzogJ00xMi4xIDEyLjJjLjQuMy44LjUgMS4yLjcuNC4yLjkuMyAxLjQuMy41IDAgMS0uMSAxLjQtLjMuMy0uMS41LS41LjUtLjggMC0uMiAwLS40LS4xLS42LS4xLS4yLS4zLS4zLS41LS40LS4zLS4xLS43LS4yLTEtLjMtLjUtLjEtMS0uMS0xLjUtLjFWOS4xYy43LjEgMS41LS4xIDIuMi0uNC40LS4yLjYtLjUuNi0uOSAwLS4zLS4xLS42LS40LS44LS4zLS4yLS43LS4zLTEuMS0uMy0uNCAwLS44LjEtMS4xLjMtLjQuMi0uNy40LTEuMS42bC0xLjItMS40Yy41LS40IDEuMS0uNyAxLjYtLjkuNS0uMiAxLjItLjMgMS44LS4zLjUgMCAxIC4xIDEuNi4yLjQuMS44LjMgMS4yLjUuMy4yLjYuNS44LjguMi4zLjMuNy4zIDEuMSAwIC41LS4yLjktLjUgMS4zLS40LjQtLjkuNy0xLjUuOXYuMWMuNi4xIDEuMi40IDEuNi44LjQuNC43LjkuNyAxLjUgMCAuNC0uMS44LS4zIDEuMi0uMi40LS41LjctLjkuOS0uNC4zLS45LjQtMS4zLjUtLjUuMS0xIC4yLTEuNi4yLS44IDAtMS42LS4xLTIuMy0uNC0uNi0uMi0xLjEtLjYtMS42LTFsMS4xLTEuNHpNNyA5SDNWNUgxdjEwaDJ2LTRoNHY0aDJWNUg3djR6JyxcbiAgICA0OiAnTTkgMTVIN3YtNEgzdjRIMVY1aDJ2NGg0VjVoMnYxMHptMTAtMmgtMXYyaC0ydi0yaC01di0ybDQtNmgzdjZoMXYyem0tMy0yVjdsLTIuOCA0SDE2eicsXG4gICAgNTogJ00xMi4xIDEyLjJjLjQuMy43LjUgMS4xLjcuNC4yLjkuMyAxLjMuMy41IDAgMS0uMSAxLjQtLjQuNC0uMy42LS43LjYtMS4xIDAtLjQtLjItLjktLjYtMS4xLS40LS4zLS45LS40LTEuNC0uNEgxNGMtLjEgMC0uMyAwLS40LjFsLS40LjEtLjUuMi0xLS42LjMtNWg2LjR2MS45aC00LjNMMTQgOC44Yy4yLS4xLjUtLjEuNy0uMi4yIDAgLjUtLjEuNy0uMS41IDAgLjkuMSAxLjQuMi40LjEuOC4zIDEuMS42LjMuMi42LjYuOC45LjIuNC4zLjkuMyAxLjQgMCAuNS0uMSAxLS4zIDEuNC0uMi40LS41LjgtLjkgMS4xLS40LjMtLjguNS0xLjMuNy0uNS4yLTEgLjMtMS41LjMtLjggMC0xLjYtLjEtMi4zLS40LS42LS4yLTEuMS0uNi0xLjYtMS0uMS0uMSAxLTEuNSAxLTEuNXpNOSAxNUg3di00SDN2NEgxVjVoMnY0aDRWNWgydjEweicsXG4gICAgNjogJ005IDE1SDd2LTRIM3Y0SDFWNWgydjRoNFY1aDJ2MTB6bTguNi03LjVjLS4yLS4yLS41LS40LS44LS41LS42LS4yLTEuMy0uMi0xLjkgMC0uMy4xLS42LjMtLjguNWwtLjYuOWMtLjIuNS0uMi45LS4yIDEuNC40LS4zLjgtLjYgMS4yLS44LjQtLjIuOC0uMyAxLjMtLjMuNCAwIC44IDAgMS4yLjIuNC4xLjcuMyAxIC42LjMuMy41LjYuNy45LjIuNC4zLjguMyAxLjNzLS4xLjktLjMgMS40Yy0uMi40LS41LjctLjggMS0uNC4zLS44LjUtMS4yLjYtMSAuMy0yIC4zLTMgMC0uNS0uMi0xLS41LTEuNC0uOS0uNC0uNC0uOC0uOS0xLTEuNS0uMi0uNi0uMy0xLjMtLjMtMi4xcy4xLTEuNi40LTIuM2MuMi0uNi42LTEuMiAxLTEuNi40LS40LjktLjcgMS40LS45LjYtLjMgMS4xLS40IDEuNy0uNC43IDAgMS40LjEgMiAuMy41LjIgMSAuNSAxLjQuOCAwIC4xLTEuMyAxLjQtMS4zIDEuNHptLTIuNCA1LjhjLjIgMCAuNCAwIC42LS4xLjIgMCAuNC0uMS41LS4yLjEtLjEuMy0uMy40LS41LjEtLjIuMS0uNS4xLS43IDAtLjQtLjEtLjgtLjQtMS4xLS4zLS4yLS43LS4zLTEuMS0uMy0uMyAwLS43LjEtMSAuMi0uNC4yLS43LjQtMSAuNyAwIC4zLjEuNy4zIDEgLjEuMi4zLjQuNC42LjIuMS4zLjMuNS4zLjIuMS41LjIuNy4xeidcbiAgfTtcblxuICBpZiAoIWxldmVsVG9QYXRoLmhhc093blByb3BlcnR5KGxldmVsKSkge1xuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgcmV0dXJuICgwLCBfZWxlbWVudC5jcmVhdGVFbGVtZW50KShfY29tcG9uZW50cy5TVkcsIHtcbiAgICB3aWR0aDogXCIyNFwiLFxuICAgIGhlaWdodDogXCIyNFwiLFxuICAgIHZpZXdCb3g6IFwiMCAwIDIwIDIwXCIsXG4gICAgeG1sbnM6IFwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIixcbiAgICBpc1ByZXNzZWQ6IGlzUHJlc3NlZFxuICB9LCAoMCwgX2VsZW1lbnQuY3JlYXRlRWxlbWVudCkoX2NvbXBvbmVudHMuUGF0aCwge1xuICAgIGQ6IGxldmVsVG9QYXRoW2xldmVsXVxuICB9KSk7XG59XG4vLyMgc291cmNlTWFwcGluZ1VSTD1oZWFkaW5nLWxldmVsLWljb24uanMubWFwIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///113\n")}],[[107,0]]]); |