1 line
237 KiB
JavaScript
1 line
237 KiB
JavaScript
(window.yoastPremiumWebpackJsonp=window.yoastPremiumWebpackJsonp||[]).push([[10],[function(module,exports){eval("module.exports = window.wp.element;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMC5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy9leHRlcm5hbCBcIndpbmRvdy53cC5lbGVtZW50XCI/YTI5ZiJdLCJzb3VyY2VzQ29udGVudCI6WyJtb2R1bGUuZXhwb3J0cyA9IHdpbmRvdy53cC5lbGVtZW50OyJdLCJtYXBwaW5ncyI6IkFBQUEiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///0\n")},function(module,exports){eval("module.exports = window.wp.i18n;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMS5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy9leHRlcm5hbCBcIndpbmRvdy53cC5pMThuXCI/Y2Q4ZCJdLCJzb3VyY2VzQ29udGVudCI6WyJtb2R1bGUuZXhwb3J0cyA9IHdpbmRvdy53cC5pMThuOyJdLCJtYXBwaW5ncyI6IkFBQUEiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///1\n")},function(module,exports){eval("module.exports = window.lodash;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMi5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy9leHRlcm5hbCBcIndpbmRvdy5sb2Rhc2hcIj9hNjAxIl0sInNvdXJjZXNDb250ZW50IjpbIm1vZHVsZS5leHBvcnRzID0gd2luZG93LmxvZGFzaDsiXSwibWFwcGluZ3MiOiJBQUFBIiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///2\n")},function(module,exports){eval("module.exports = window.yoast.propTypes;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMy5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy9leHRlcm5hbCBcIndpbmRvdy55b2FzdC5wcm9wVHlwZXNcIj81ZmMyIl0sInNvdXJjZXNDb250ZW50IjpbIm1vZHVsZS5leHBvcnRzID0gd2luZG93LnlvYXN0LnByb3BUeXBlczsiXSwibWFwcGluZ3MiOiJBQUFBIiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///3\n")},function(module,exports){eval("module.exports = window.wp.data;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiNC5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy9leHRlcm5hbCBcIndpbmRvdy53cC5kYXRhXCI/YzQyMiJdLCJzb3VyY2VzQ29udGVudCI6WyJtb2R1bGUuZXhwb3J0cyA9IHdpbmRvdy53cC5kYXRhOyJdLCJtYXBwaW5ncyI6IkFBQUEiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///4\n")},function(module,exports){eval("module.exports = window.wp.components;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiNS5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy9leHRlcm5hbCBcIndpbmRvdy53cC5jb21wb25lbnRzXCI/NTQ0MSJdLCJzb3VyY2VzQ29udGVudCI6WyJtb2R1bGUuZXhwb3J0cyA9IHdpbmRvdy53cC5jb21wb25lbnRzOyJdLCJtYXBwaW5ncyI6IkFBQUEiLCJzb3VyY2VSb290IjoiIn0=\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.blockEditor;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiNy5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy9leHRlcm5hbCBcIndpbmRvdy53cC5ibG9ja0VkaXRvclwiPzllOGEiXSwic291cmNlc0NvbnRlbnQiOlsibW9kdWxlLmV4cG9ydHMgPSB3aW5kb3cud3AuYmxvY2tFZGl0b3I7Il0sIm1hcHBpbmdzIjoiQUFBQSIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///7\n")},function(module,exports){eval("module.exports = React;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiOC5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy9leHRlcm5hbCBcIlJlYWN0XCI/YzQ4MSJdLCJzb3VyY2VzQ29udGVudCI6WyJtb2R1bGUuZXhwb3J0cyA9IFJlYWN0OyJdLCJtYXBwaW5ncyI6IkFBQUEiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///8\n")},,,function(module,exports){eval("module.exports = window.yoast.styledComponents;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMTEuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vZXh0ZXJuYWwgXCJ3aW5kb3cueW9hc3Quc3R5bGVkQ29tcG9uZW50c1wiPzY5Y2YiXSwic291cmNlc0NvbnRlbnQiOlsibW9kdWxlLmV4cG9ydHMgPSB3aW5kb3cueW9hc3Quc3R5bGVkQ29tcG9uZW50czsiXSwibWFwcGluZ3MiOiJBQUFBIiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///11\n")},,function(module,exports){eval("module.exports = window.yoast.components;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMTMuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vZXh0ZXJuYWwgXCJ3aW5kb3cueW9hc3QuY29tcG9uZW50c1wiP2IyNGQiXSwic291cmNlc0NvbnRlbnQiOlsibW9kdWxlLmV4cG9ydHMgPSB3aW5kb3cueW9hc3QuY29tcG9uZW50czsiXSwibWFwcGluZ3MiOiJBQUFBIiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///13\n")},function(module,exports){eval("module.exports = window.yoast.helpers;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMTQuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vZXh0ZXJuYWwgXCJ3aW5kb3cueW9hc3QuaGVscGVyc1wiPzY1YTMiXSwic291cmNlc0NvbnRlbnQiOlsibW9kdWxlLmV4cG9ydHMgPSB3aW5kb3cueW9hc3QuaGVscGVyczsiXSwibWFwcGluZ3MiOiJBQUFBIiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///14\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__(8);\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _reactAddonsCreateFragment = __webpack_require__(25);\n\nvar _reactAddonsCreateFragment2 = _interopRequireDefault(_reactAddonsCreateFragment);\n\nvar _tokenize = __webpack_require__(28);\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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMTUuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vL3Zhci9qZW5raW5zL3dvcmtzcGFjZS9QbHVnaW4tUmVsZWFzZS93b3JkcHJlc3Mtc2VvLXByZW1pdW0vLnJlcG9zL3dvcmRwcmVzcy1zZW8tcHJlbWl1bS9ub2RlX21vZHVsZXMvaW50ZXJwb2xhdGUtY29tcG9uZW50cy9saWIvaW5kZXguanM/ZWZkYiJdLCJzb3VyY2VzQ29udGVudCI6WyIndXNlIHN0cmljdCc7XG5cbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuXHR2YWx1ZTogdHJ1ZVxufSk7XG5cbnZhciBfdHlwZW9mID0gdHlwZW9mIFN5bWJvbCA9PT0gXCJmdW5jdGlvblwiICYmIHR5cGVvZiBTeW1ib2wuaXRlcmF0b3IgPT09IFwic3ltYm9sXCIgPyBmdW5jdGlvbiAob2JqKSB7IHJldHVybiB0eXBlb2Ygb2JqOyB9IDogZnVuY3Rpb24gKG9iaikgeyByZXR1cm4gb2JqICYmIHR5cGVvZiBTeW1ib2wgPT09IFwiZnVuY3Rpb25cIiAmJiBvYmouY29uc3RydWN0b3IgPT09IFN5bWJvbCAmJiBvYmogIT09IFN5bWJvbC5wcm90b3R5cGUgPyBcInN5bWJvbFwiIDogdHlwZW9mIG9iajsgfTsgLyoqXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiBFeHRlcm5hbCBEZXBlbmRlbmNpZXNcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqL1xuXG5cbi8qKlxuICogSW50ZXJuYWwgRGVwZW5kZW5jaWVzXG4gKi9cblxuXG52YXIgX3JlYWN0ID0gcmVxdWlyZSgncmVhY3QnKTtcblxudmFyIF9yZWFjdDIgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KF9yZWFjdCk7XG5cbnZhciBfcmVhY3RBZGRvbnNDcmVhdGVGcmFnbWVudCA9IHJlcXVpcmUoJ3JlYWN0LWFkZG9ucy1jcmVhdGUtZnJhZ21lbnQnKTtcblxudmFyIF9yZWFjdEFkZG9uc0NyZWF0ZUZyYWdtZW50MiA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQoX3JlYWN0QWRkb25zQ3JlYXRlRnJhZ21lbnQpO1xuXG52YXIgX3Rva2VuaXplID0gcmVxdWlyZSgnLi90b2tlbml6ZScpO1xuXG52YXIgX3Rva2VuaXplMiA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQoX3Rva2VuaXplKTtcblxuZnVuY3Rpb24gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChvYmopIHsgcmV0dXJuIG9iaiAmJiBvYmouX19lc01vZHVsZSA/IG9iaiA6IHsgZGVmYXVsdDogb2JqIH07IH1cblxudmFyIGN1cnJlbnRNaXhlZFN0cmluZyA9IHZvaWQgMDtcblxuZnVuY3Rpb24gZ2V0Q2xvc2VJbmRleChvcGVuSW5kZXgsIHRva2Vucykge1xuXHR2YXIgb3BlblRva2VuID0gdG9rZW5zW29wZW5JbmRleF0sXG5cdCAgICBuZXN0TGV2ZWwgPSAwLFxuXHQgICAgdG9rZW4sXG5cdCAgICBpO1xuXHRmb3IgKGkgPSBvcGVuSW5kZXggKyAxOyBpIDwgdG9rZW5zLmxlbmd0aDsgaSsrKSB7XG5cdFx0dG9rZW4gPSB0b2tlbnNbaV07XG5cdFx0aWYgKHRva2VuLnZhbHVlID09PSBvcGVuVG9rZW4udmFsdWUpIHtcblx0XHRcdGlmICh0b2tlbi50eXBlID09PSAnY29tcG9uZW50T3BlbicpIHtcblx0XHRcdFx0bmVzdExldmVsKys7XG5cdFx0XHRcdGNvbnRpbnVlO1xuXHRcdFx0fVxuXHRcdFx0aWYgKHRva2VuLnR5cGUgPT09ICdjb21wb25lbnRDbG9zZScpIHtcblx0XHRcdFx0aWYgKG5lc3RMZXZlbCA9PT0gMCkge1xuXHRcdFx0XHRcdHJldHVybiBpO1xuXHRcdFx0XHR9XG5cdFx0XHRcdG5lc3RMZXZlbC0tO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXHQvLyBpZiB3ZSBnZXQgdGhpcyBmYXIsIHRoZXJlIHdhcyBubyBtYXRjaGluZyBjbG9zZSB0b2tlblxuXHR0aHJvdyBuZXcgRXJyb3IoJ01pc3NpbmcgY2xvc2luZyBjb21wb25lbnQgdG9rZW4gYCcgKyBvcGVuVG9rZW4udmFsdWUgKyAnYCcpO1xufVxuXG5mdW5jdGlvbiBidWlsZENoaWxkcmVuKHRva2VucywgY29tcG9uZW50cykge1xuXHR2YXIgY2hpbGRyZW4gPSBbXSxcblx0ICAgIGNoaWxkcmVuT2JqZWN0ID0ge30sXG5cdCAgICBvcGVuQ29tcG9uZW50LFxuXHQgICAgY2xvbmVkT3BlbkNvbXBvbmVudCxcblx0ICAgIG9wZW5JbmRleCxcblx0ICAgIGNsb3NlSW5kZXgsXG5cdCAgICB0b2tlbixcblx0ICAgIGksXG5cdCAgICBncmFuZENoaWxkVG9rZW5zLFxuXHQgICAgZ3JhbmRDaGlsZHJlbixcblx0ICAgIHNpYmxpbmdUb2tlbnMsXG5cdCAgICBzaWJsaW5ncztcblxuXHRmb3IgKGkgPSAwOyBpIDwgdG9rZW5zLmxlbmd0aDsgaSsrKSB7XG5cdFx0dG9rZW4gPSB0b2tlbnNbaV07XG5cdFx0aWYgKHRva2VuLnR5cGUgPT09ICdzdHJpbmcnKSB7XG5cdFx0XHRjaGlsZHJlbi5wdXNoKHRva2VuLnZhbHVlKTtcblx0XHRcdGNvbnRpbnVlO1xuXHRcdH1cblx0XHQvLyBjb21wb25lbnQgbm9kZSBzaG91bGQgYXQgbGVhc3QgYmUgc2V0XG5cdFx0aWYgKCFjb21wb25lbnRzLmhhc093blByb3BlcnR5KHRva2VuLnZhbHVlKSB8fCB0eXBlb2YgY29tcG9uZW50c1t0b2tlbi52YWx1ZV0gPT09ICd1bmRlZmluZWQnKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoJ0ludmFsaWQgaW50ZXJwb2xhdGlvbiwgbWlzc2luZyBjb21wb25lbnQgbm9kZTogYCcgKyB0b2tlbi52YWx1ZSArICdgJyk7XG5cdFx0fVxuXHRcdC8vIHNob3VsZCBiZSBlaXRoZXIgUmVhY3RFbGVtZW50IG9yIG51bGwgKGJvdGggdHlwZSBcIm9iamVjdFwiKSwgYWxsIG90aGVyIHR5cGVzIGRlcHJlY2F0ZWRcblx0XHRpZiAoX3R5cGVvZihjb21wb25lbnRzW3Rva2VuLnZhbHVlXSkgIT09ICdvYmplY3QnKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoJ0ludmFsaWQgaW50ZXJwb2xhdGlvbiwgY29tcG9uZW50IG5vZGUgbXVzdCBiZSBhIFJlYWN0RWxlbWVudCBvciBudWxsOiBgJyArIHRva2VuLnZhbHVlICsgJ2AnLCAnXFxuPiAnICsgY3VycmVudE1peGVkU3RyaW5nKTtcblx0XHR9XG5cdFx0Ly8gd2Ugc2hvdWxkIG5ldmVyIHNlZSBhIGNvbXBvbmVudENsb3NlIHRva2VuIGluIHRoaXMgbG9vcFxuXHRcdGlmICh0b2tlbi50eXBlID09PSAnY29tcG9uZW50Q2xvc2UnKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoJ01pc3Npbmcgb3BlbmluZyBjb21wb25lbnQgdG9rZW46IGAnICsgdG9rZW4udmFsdWUgKyAnYCcpO1xuXHRcdH1cblx0XHRpZiAodG9rZW4udHlwZSA9PT0gJ2NvbXBvbmVudE9wZW4nKSB7XG5cdFx0XHRvcGVuQ29tcG9uZW50ID0gY29tcG9uZW50c1t0b2tlbi52YWx1ZV07XG5cdFx0XHRvcGVuSW5kZXggPSBpO1xuXHRcdFx0YnJlYWs7XG5cdFx0fVxuXHRcdC8vIGNvbXBvbmVudFNlbGZDbG9zaW5nIHRva2VuXG5cdFx0Y2hpbGRyZW4ucHVzaChjb21wb25lbnRzW3Rva2VuLnZhbHVlXSk7XG5cdFx0Y29udGludWU7XG5cdH1cblxuXHRpZiAob3BlbkNvbXBvbmVudCkge1xuXHRcdGNsb3NlSW5kZXggPSBnZXRDbG9zZUluZGV4KG9wZW5JbmRleCwgdG9rZW5zKTtcblx0XHRncmFuZENoaWxkVG9rZW5zID0gdG9rZW5zLnNsaWNlKG9wZW5JbmRleCArIDEsIGNsb3NlSW5kZXgpO1xuXHRcdGdyYW5kQ2hpbGRyZW4gPSBidWlsZENoaWxkcmVuKGdyYW5kQ2hpbGRUb2tlbnMsIGNvbXBvbmVudHMpO1xuXHRcdGNsb25lZE9wZW5Db21wb25lbnQgPSBfcmVhY3QyLmRlZmF1bHQuY2xvbmVFbGVtZW50KG9wZW5Db21wb25lbnQsIHt9LCBncmFuZENoaWxkcmVuKTtcblx0XHRjaGlsZHJlbi5wdXNoKGNsb25lZE9wZW5Db21wb25lbnQpO1xuXG5cdFx0aWYgKGNsb3NlSW5kZXggPCB0b2tlbnMubGVuZ3RoIC0gMSkge1xuXHRcdFx0c2libGluZ1Rva2VucyA9IHRva2Vucy5zbGljZShjbG9zZUluZGV4ICsgMSk7XG5cdFx0XHRzaWJsaW5ncyA9IGJ1aWxkQ2hpbGRyZW4oc2libGluZ1Rva2VucywgY29tcG9uZW50cyk7XG5cdFx0XHRjaGlsZHJlbiA9IGNoaWxkcmVuLmNvbmNhdChzaWJsaW5ncyk7XG5cdFx0fVxuXHR9XG5cblx0aWYgKGNoaWxkcmVuLmxlbmd0aCA9PT0gMSkge1xuXHRcdHJldHVybiBjaGlsZHJlblswXTtcblx0fVxuXG5cdGNoaWxkcmVuLmZvckVhY2goZnVuY3Rpb24gKGNoaWxkLCBpbmRleCkge1xuXHRcdGlmIChjaGlsZCkge1xuXHRcdFx0Y2hpbGRyZW5PYmplY3RbJ2ludGVycG9sYXRpb24tY2hpbGQtJyArIGluZGV4XSA9IGNoaWxkO1xuXHRcdH1cblx0fSk7XG5cblx0cmV0dXJuICgwLCBfcmVhY3RBZGRvbnNDcmVhdGVGcmFnbWVudDIuZGVmYXVsdCkoY2hpbGRyZW5PYmplY3QpO1xufVxuXG5mdW5jdGlvbiBpbnRlcnBvbGF0ZShvcHRpb25zKSB7XG5cdHZhciBtaXhlZFN0cmluZyA9IG9wdGlvbnMubWl4ZWRTdHJpbmcsXG5cdCAgICBjb21wb25lbnRzID0gb3B0aW9ucy5jb21wb25lbnRzLFxuXHQgICAgdGhyb3dFcnJvcnMgPSBvcHRpb25zLnRocm93RXJyb3JzO1xuXG5cblx0Y3VycmVudE1peGVkU3RyaW5nID0gbWl4ZWRTdHJpbmc7XG5cblx0aWYgKCFjb21wb25lbnRzKSB7XG5cdFx0cmV0dXJuIG1peGVkU3RyaW5nO1xuXHR9XG5cblx0aWYgKCh0eXBlb2YgY29tcG9uZW50cyA9PT0gJ3VuZGVmaW5lZCcgPyAndW5kZWZpbmVkJyA6IF90eXBlb2YoY29tcG9uZW50cykpICE9PSAnb2JqZWN0Jykge1xuXHRcdGlmICh0aHJvd0Vycm9ycykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKCdJbnRlcnBvbGF0aW9uIEVycm9yOiB1bmFibGUgdG8gcHJvY2VzcyBgJyArIG1peGVkU3RyaW5nICsgJ2AgYmVjYXVzZSBjb21wb25lbnRzIGlzIG5vdCBhbiBvYmplY3QnKTtcblx0XHR9XG5cblx0XHRyZXR1cm4gbWl4ZWRTdHJpbmc7XG5cdH1cblxuXHR2YXIgdG9rZW5zID0gKDAsIF90b2tlbml6ZTIuZGVmYXVsdCkobWl4ZWRTdHJpbmcpO1xuXG5cdHRyeSB7XG5cdFx0cmV0dXJuIGJ1aWxkQ2hpbGRyZW4odG9rZW5zLCBjb21wb25lbnRzKTtcblx0fSBjYXRjaCAoZXJyb3IpIHtcblx0XHRpZiAodGhyb3dFcnJvcnMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcignSW50ZXJwb2xhdGlvbiBFcnJvcjogdW5hYmxlIHRvIHByb2Nlc3MgYCcgKyBtaXhlZFN0cmluZyArICdgIGJlY2F1c2Ugb2YgZXJyb3IgYCcgKyBlcnJvci5tZXNzYWdlICsgJ2AnKTtcblx0XHR9XG5cblx0XHRyZXR1cm4gbWl4ZWRTdHJpbmc7XG5cdH1cbn07XG5cbmV4cG9ydHMuZGVmYXVsdCA9IGludGVycG9sYXRlO1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9aW5kZXguanMubWFwIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///15\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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMTYuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vL3Zhci9qZW5raW5zL3dvcmtzcGFjZS9QbHVnaW4tUmVsZWFzZS93b3JkcHJlc3Mtc2VvLXByZW1pdW0vLnJlcG9zL3dvcmRwcmVzcy1zZW8tcHJlbWl1bS9ub2RlX21vZHVsZXMvZmJqcy9saWIvZW1wdHlGdW5jdGlvbi5qcz9mOWMwIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG4vKipcbiAqIENvcHlyaWdodCAoYykgMjAxMy1wcmVzZW50LCBGYWNlYm9vaywgSW5jLlxuICpcbiAqIFRoaXMgc291cmNlIGNvZGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlIGZvdW5kIGluIHRoZVxuICogTElDRU5TRSBmaWxlIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvdXJjZSB0cmVlLlxuICpcbiAqIFxuICovXG5cbmZ1bmN0aW9uIG1ha2VFbXB0eUZ1bmN0aW9uKGFyZykge1xuICByZXR1cm4gZnVuY3Rpb24gKCkge1xuICAgIHJldHVybiBhcmc7XG4gIH07XG59XG5cbi8qKlxuICogVGhpcyBmdW5jdGlvbiBhY2NlcHRzIGFuZCBkaXNjYXJkcyBpbnB1dHM7IGl0IGhhcyBubyBzaWRlIGVmZmVjdHMuIFRoaXMgaXNcbiAqIHByaW1hcmlseSB1c2VmdWwgaWRpb21hdGljYWxseSBmb3Igb3ZlcnJpZGFibGUgZnVuY3Rpb24gZW5kcG9pbnRzIHdoaWNoXG4gKiBhbHdheXMgbmVlZCB0byBiZSBjYWxsYWJsZSwgc2luY2UgSlMgbGFja3MgYSBudWxsLWNhbGwgaWRpb20gYWxhIENvY29hLlxuICovXG52YXIgZW1wdHlGdW5jdGlvbiA9IGZ1bmN0aW9uIGVtcHR5RnVuY3Rpb24oKSB7fTtcblxuZW1wdHlGdW5jdGlvbi50aGF0UmV0dXJucyA9IG1ha2VFbXB0eUZ1bmN0aW9uO1xuZW1wdHlGdW5jdGlvbi50aGF0UmV0dXJuc0ZhbHNlID0gbWFrZUVtcHR5RnVuY3Rpb24oZmFsc2UpO1xuZW1wdHlGdW5jdGlvbi50aGF0UmV0dXJuc1RydWUgPSBtYWtlRW1wdHlGdW5jdGlvbih0cnVlKTtcbmVtcHR5RnVuY3Rpb24udGhhdFJldHVybnNOdWxsID0gbWFrZUVtcHR5RnVuY3Rpb24obnVsbCk7XG5lbXB0eUZ1bmN0aW9uLnRoYXRSZXR1cm5zVGhpcyA9IGZ1bmN0aW9uICgpIHtcbiAgcmV0dXJuIHRoaXM7XG59O1xuZW1wdHlGdW5jdGlvbi50aGF0UmV0dXJuc0FyZ3VtZW50ID0gZnVuY3Rpb24gKGFyZykge1xuICByZXR1cm4gYXJnO1xufTtcblxubW9kdWxlLmV4cG9ydHMgPSBlbXB0eUZ1bmN0aW9uOyJdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///16\n")},,,function(module,exports){eval("module.exports = window.yoast.styleGuide;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMTkuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vZXh0ZXJuYWwgXCJ3aW5kb3cueW9hc3Quc3R5bGVHdWlkZVwiP2RlZjkiXSwic291cmNlc0NvbnRlbnQiOlsibW9kdWxlLmV4cG9ydHMgPSB3aW5kb3cueW9hc3Quc3R5bGVHdWlkZTsiXSwibWFwcGluZ3MiOiJBQUFBIiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///19\n")},,,,function(module,exports){eval("module.exports = window.wp.blocks;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMjMuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vZXh0ZXJuYWwgXCJ3aW5kb3cud3AuYmxvY2tzXCI/NzljMCJdLCJzb3VyY2VzQ29udGVudCI6WyJtb2R1bGUuZXhwb3J0cyA9IHdpbmRvdy53cC5ibG9ja3M7Il0sIm1hcHBpbmdzIjoiQUFBQSIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///23\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__(8);\n\nvar REACT_ELEMENT_TYPE =\n (typeof Symbol === 'function' && Symbol.for && Symbol.for('react.element')) ||\n 0xeac7;\n\nvar emptyFunction = __webpack_require__(16);\nvar invariant = __webpack_require__(26);\nvar warning = __webpack_require__(27);\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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMjUuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vL3Zhci9qZW5raW5zL3dvcmtzcGFjZS9QbHVnaW4tUmVsZWFzZS93b3JkcHJlc3Mtc2VvLXByZW1pdW0vLnJlcG9zL3dvcmRwcmVzcy1zZW8tcHJlbWl1bS9ub2RlX21vZHVsZXMvcmVhY3QtYWRkb25zLWNyZWF0ZS1mcmFnbWVudC9pbmRleC5qcz8yZWQxIl0sInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQ29weXJpZ2h0IChjKSAyMDE1LXByZXNlbnQsIEZhY2Vib29rLCBJbmMuXG4gKlxuICogVGhpcyBzb3VyY2UgY29kZSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2UgZm91bmQgaW4gdGhlXG4gKiBMSUNFTlNFIGZpbGUgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc291cmNlIHRyZWUuXG4gKi9cblxuJ3VzZSBzdHJpY3QnO1xuXG52YXIgUmVhY3QgPSByZXF1aXJlKCdyZWFjdCcpO1xuXG52YXIgUkVBQ1RfRUxFTUVOVF9UWVBFID1cbiAgKHR5cGVvZiBTeW1ib2wgPT09ICdmdW5jdGlvbicgJiYgU3ltYm9sLmZvciAmJiBTeW1ib2wuZm9yKCdyZWFjdC5lbGVtZW50JykpIHx8XG4gIDB4ZWFjNztcblxudmFyIGVtcHR5RnVuY3Rpb24gPSByZXF1aXJlKCdmYmpzL2xpYi9lbXB0eUZ1bmN0aW9uJyk7XG52YXIgaW52YXJpYW50ID0gcmVxdWlyZSgnZmJqcy9saWIvaW52YXJpYW50Jyk7XG52YXIgd2FybmluZyA9IHJlcXVpcmUoJ2ZianMvbGliL3dhcm5pbmcnKTtcblxudmFyIFNFUEFSQVRPUiA9ICcuJztcbnZhciBTVUJTRVBBUkFUT1IgPSAnOic7XG5cbnZhciBkaWRXYXJuQWJvdXRNYXBzID0gZmFsc2U7XG5cbnZhciBJVEVSQVRPUl9TWU1CT0wgPSB0eXBlb2YgU3ltYm9sID09PSAnZnVuY3Rpb24nICYmIFN5bWJvbC5pdGVyYXRvcjtcbnZhciBGQVVYX0lURVJBVE9SX1NZTUJPTCA9ICdAQGl0ZXJhdG9yJzsgLy8gQmVmb3JlIFN5bWJvbCBzcGVjLlxuXG5mdW5jdGlvbiBnZXRJdGVyYXRvckZuKG1heWJlSXRlcmFibGUpIHtcbiAgdmFyIGl0ZXJhdG9yRm4gPVxuICAgIG1heWJlSXRlcmFibGUgJiZcbiAgICAoKElURVJBVE9SX1NZTUJPTCAmJiBtYXliZUl0ZXJhYmxlW0lURVJBVE9SX1NZTUJPTF0pIHx8XG4gICAgICBtYXliZUl0ZXJhYmxlW0ZBVVhfSVRFUkFUT1JfU1lNQk9MXSk7XG4gIGlmICh0eXBlb2YgaXRlcmF0b3JGbiA9PT0gJ2Z1bmN0aW9uJykge1xuICAgIHJldHVybiBpdGVyYXRvckZuO1xuICB9XG59XG5cbmZ1bmN0aW9uIGVzY2FwZShrZXkpIHtcbiAgdmFyIGVzY2FwZVJlZ2V4ID0gL1s9Ol0vZztcbiAgdmFyIGVzY2FwZXJMb29rdXAgPSB7XG4gICAgJz0nOiAnPTAnLFxuICAgICc6JzogJz0yJ1xuICB9O1xuICB2YXIgZXNjYXBlZFN0cmluZyA9ICgnJyArIGtleSkucmVwbGFjZShlc2NhcGVSZWdleCwgZnVuY3Rpb24obWF0Y2gpIHtcbiAgICByZXR1cm4gZXNjYXBlckxvb2t1cFttYXRjaF07XG4gIH0pO1xuXG4gIHJldHVybiAnJCcgKyBlc2NhcGVkU3RyaW5nO1xufVxuXG5mdW5jdGlvbiBnZXRDb21wb25lbnRLZXkoY29tcG9uZW50LCBpbmRleCkge1xuICAvLyBEbyBzb21lIHR5cGVjaGVja2luZyBoZXJlIHNpbmNlIHdlIGNhbGwgdGhpcyBibGluZGx5LiBXZSB3YW50IHRvIGVuc3VyZVxuICAvLyB0aGF0IHdlIGRvbid0IGJsb2NrIHBvdGVudGlhbCBmdXR1cmUgRVMgQVBJcy5cbiAgaWYgKGNvbXBvbmVudCAmJiB0eXBlb2YgY29tcG9uZW50ID09PSAnb2JqZWN0JyAmJiBjb21wb25lbnQua2V5ICE9IG51bGwpIHtcbiAgICAvLyBFeHBsaWNpdCBrZXlcbiAgICByZXR1cm4gZXNjYXBlKGNvbXBvbmVudC5rZXkpO1xuICB9XG4gIC8vIEltcGxpY2l0IGtleSBkZXRlcm1pbmVkIGJ5IHRoZSBpbmRleCBpbiB0aGUgc2V0XG4gIHJldHVybiBpbmRleC50b1N0cmluZygzNik7XG59XG5cbmZ1bmN0aW9uIHRyYXZlcnNlQWxsQ2hpbGRyZW5JbXBsKFxuICBjaGlsZHJlbixcbiAgbmFtZVNvRmFyLFxuICBjYWxsYmFjayxcbiAgdHJhdmVyc2VDb250ZXh0XG4pIHtcbiAgdmFyIHR5cGUgPSB0eXBlb2YgY2hpbGRyZW47XG5cbiAgaWYgKHR5cGUgPT09ICd1bmRlZmluZWQnIHx8IHR5cGUgPT09ICdib29sZWFuJykge1xuICAgIC8vIEFsbCBvZiB0aGUgYWJvdmUgYXJlIHBlcmNlaXZlZCBhcyBudWxsLlxuICAgIGNoaWxkcmVuID0gbnVsbDtcbiAgfVxuXG4gIGlmIChcbiAgICBjaGlsZHJlbiA9PT0gbnVsbCB8fFxuICAgIHR5cGUgPT09ICdzdHJpbmcnIHx8XG4gICAgdHlwZSA9PT0gJ251bWJlcicgfHxcbiAgICAvLyBUaGUgZm9sbG93aW5nIGlzIGlubGluZWQgZnJvbSBSZWFjdEVsZW1lbnQuIFRoaXMgbWVhbnMgd2UgY2FuIG9wdGltaXplXG4gICAgLy8gc29tZSBjaGVja3MuIFJlYWN0IEZpYmVyIGFsc28gaW5saW5lcyB0aGlzIGxvZ2ljIGZvciBzaW1pbGFyIHB1cnBvc2VzLlxuICAgICh0eXBlID09PSAnb2JqZWN0JyAmJiBjaGlsZHJlbi4kJHR5cGVvZiA9PT0gUkVBQ1RfRUxFTUVOVF9UWVBFKVxuICApIHtcbiAgICBjYWxsYmFjayhcbiAgICAgIHRyYXZlcnNlQ29udGV4dCxcbiAgICAgIGNoaWxkcmVuLFxuICAgICAgLy8gSWYgaXQncyB0aGUgb25seSBjaGlsZCwgdHJlYXQgdGhlIG5hbWUgYXMgaWYgaXQgd2FzIHdyYXBwZWQgaW4gYW4gYXJyYXlcbiAgICAgIC8vIHNvIHRoYXQgaXQncyBjb25zaXN0ZW50IGlmIHRoZSBudW1iZXIgb2YgY2hpbGRyZW4gZ3Jvd3MuXG4gICAgICBuYW1lU29GYXIgPT09ICcnID8gU0VQQVJBVE9SICsgZ2V0Q29tcG9uZW50S2V5KGNoaWxkcmVuLCAwKSA6IG5hbWVTb0ZhclxuICAgICk7XG4gICAgcmV0dXJuIDE7XG4gIH1cblxuICB2YXIgY2hpbGQ7XG4gIHZhciBuZXh0TmFtZTtcbiAgdmFyIHN1YnRyZWVDb3VudCA9IDA7IC8vIENvdW50IG9mIGNoaWxkcmVuIGZvdW5kIGluIHRoZSBjdXJyZW50IHN1YnRyZWUuXG4gIHZhciBuZXh0TmFtZVByZWZpeCA9IG5hbWVTb0ZhciA9PT0gJycgPyBTRVBBUkFUT1IgOiBuYW1lU29GYXIgKyBTVUJTRVBBUkFUT1I7XG5cbiAgaWYgKEFycmF5LmlzQXJyYXkoY2hpbGRyZW4pKSB7XG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBjaGlsZHJlbi5sZW5ndGg7IGkrKykge1xuICAgICAgY2hpbGQgPSBjaGlsZHJlbltpXTtcbiAgICAgIG5leHROYW1lID0gbmV4dE5hbWVQcmVmaXggKyBnZXRDb21wb25lbnRLZXkoY2hpbGQsIGkpO1xuICAgICAgc3VidHJlZUNvdW50ICs9IHRyYXZlcnNlQWxsQ2hpbGRyZW5JbXBsKFxuICAgICAgICBjaGlsZCxcbiAgICAgICAgbmV4dE5hbWUsXG4gICAgICAgIGNhbGxiYWNrLFxuICAgICAgICB0cmF2ZXJzZUNvbnRleHRcbiAgICAgICk7XG4gICAgfVxuICB9IGVsc2Uge1xuICAgIHZhciBpdGVyYXRvckZuID0gZ2V0SXRlcmF0b3JGbihjaGlsZHJlbik7XG4gICAgaWYgKGl0ZXJhdG9yRm4pIHtcbiAgICAgIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nKSB7XG4gICAgICAgIC8vIFdhcm4gYWJvdXQgdXNpbmcgTWFwcyBhcyBjaGlsZHJlblxuICAgICAgICBpZiAoaXRlcmF0b3JGbiA9PT0gY2hpbGRyZW4uZW50cmllcykge1xuICAgICAgICAgIHdhcm5pbmcoXG4gICAgICAgICAgICBkaWRXYXJuQWJvdXRNYXBzLFxuICAgICAgICAgICAgJ1VzaW5nIE1hcHMgYXMgY2hpbGRyZW4gaXMgdW5zdXBwb3J0ZWQgYW5kIHdpbGwgbGlrZWx5IHlpZWxkICcgK1xuICAgICAgICAgICAgICAndW5leHBlY3RlZCByZXN1bHRzLiBDb252ZXJ0IGl0IHRvIGEgc2VxdWVuY2UvaXRlcmFibGUgb2Yga2V5ZWQgJyArXG4gICAgICAgICAgICAgICdSZWFjdEVsZW1lbnRzIGluc3RlYWQuJ1xuICAgICAgICAgICk7XG4gICAgICAgICAgZGlkV2FybkFib3V0TWFwcyA9IHRydWU7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgdmFyIGl0ZXJhdG9yID0gaXRlcmF0b3JGbi5jYWxsKGNoaWxkcmVuKTtcbiAgICAgIHZhciBzdGVwO1xuICAgICAgdmFyIGlpID0gMDtcbiAgICAgIHdoaWxlICghKHN0ZXAgPSBpdGVyYXRvci5uZXh0KCkpLmRvbmUpIHtcbiAgICAgICAgY2hpbGQgPSBzdGVwLnZhbHVlO1xuICAgICAgICBuZXh0TmFtZSA9IG5leHROYW1lUHJlZml4ICsgZ2V0Q29tcG9uZW50S2V5KGNoaWxkLCBpaSsrKTtcbiAgICAgICAgc3VidHJlZUNvdW50ICs9IHRyYXZlcnNlQWxsQ2hpbGRyZW5JbXBsKFxuICAgICAgICAgIGNoaWxkLFxuICAgICAgICAgIG5leHROYW1lLFxuICAgICAgICAgIGNhbGxiYWNrLFxuICAgICAgICAgIHRyYXZlcnNlQ29udGV4dFxuICAgICAgICApO1xuICAgICAgfVxuICAgIH0gZWxzZSBpZiAodHlwZSA9PT0gJ29iamVjdCcpIHtcbiAgICAgIHZhciBhZGRlbmR1bSA9ICcnO1xuICAgICAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicpIHtcbiAgICAgICAgYWRkZW5kdW0gPVxuICAgICAgICAgICcgSWYgeW91IG1lYW50IHRvIHJlbmRlciBhIGNvbGxlY3Rpb24gb2YgY2hpbGRyZW4sIHVzZSBhbiBhcnJheSAnICtcbiAgICAgICAgICAnaW5zdGVhZCBvciB3cmFwIHRoZSBvYmplY3QgdXNpbmcgY3JlYXRlRnJhZ21lbnQob2JqZWN0KSBmcm9tIHRoZSAnICtcbiAgICAgICAgICAnUmVhY3QgYWRkLW9ucy4nO1xuICAgICAgfVxuICAgICAgdmFyIGNoaWxkcmVuU3RyaW5nID0gJycgKyBjaGlsZHJlbjtcbiAgICAgIGludmFyaWFudChcbiAgICAgICAgZmFsc2UsXG4gICAgICAgICdPYmplY3RzIGFyZSBub3QgdmFsaWQgYXMgYSBSZWFjdCBjaGlsZCAoZm91bmQ6ICVzKS4lcycsXG4gICAgICAgIGNoaWxkcmVuU3RyaW5nID09PSAnW29iamVjdCBPYmplY3RdJ1xuICAgICAgICAgID8gJ29iamVjdCB3aXRoIGtleXMgeycgKyBPYmplY3Qua2V5cyhjaGlsZHJlbikuam9pbignLCAnKSArICd9J1xuICAgICAgICAgIDogY2hpbGRyZW5TdHJpbmcsXG4gICAgICAgIGFkZGVuZHVtXG4gICAgICApO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBzdWJ0cmVlQ291bnQ7XG59XG5cbmZ1bmN0aW9uIHRyYXZlcnNlQWxsQ2hpbGRyZW4oY2hpbGRyZW4sIGNhbGxiYWNrLCB0cmF2ZXJzZUNvbnRleHQpIHtcbiAgaWYgKGNoaWxkcmVuID09IG51bGwpIHtcbiAgICByZXR1cm4gMDtcbiAgfVxuXG4gIHJldHVybiB0cmF2ZXJzZUFsbENoaWxkcmVuSW1wbChjaGlsZHJlbiwgJycsIGNhbGxiYWNrLCB0cmF2ZXJzZUNvbnRleHQpO1xufVxuXG52YXIgdXNlclByb3ZpZGVkS2V5RXNjYXBlUmVnZXggPSAvXFwvKy9nO1xuZnVuY3Rpb24gZXNjYXBlVXNlclByb3ZpZGVkS2V5KHRleHQpIHtcbiAgcmV0dXJuICgnJyArIHRleHQpLnJlcGxhY2UodXNlclByb3ZpZGVkS2V5RXNjYXBlUmVnZXgsICckJi8nKTtcbn1cblxuZnVuY3Rpb24gY2xvbmVBbmRSZXBsYWNlS2V5KG9sZEVsZW1lbnQsIG5ld0tleSkge1xuICByZXR1cm4gUmVhY3QuY2xvbmVFbGVtZW50KFxuICAgIG9sZEVsZW1lbnQsXG4gICAge2tleTogbmV3S2V5fSxcbiAgICBvbGRFbGVtZW50LnByb3BzICE9PSB1bmRlZmluZWQgPyBvbGRFbGVtZW50LnByb3BzLmNoaWxkcmVuIDogdW5kZWZpbmVkXG4gICk7XG59XG5cbnZhciBERUZBVUxUX1BPT0xfU0laRSA9IDEwO1xudmFyIERFRkFVTFRfUE9PTEVSID0gb25lQXJndW1lbnRQb29sZXI7XG5cbnZhciBvbmVBcmd1bWVudFBvb2xlciA9IGZ1bmN0aW9uKGNvcHlGaWVsZHNGcm9tKSB7XG4gIHZhciBLbGFzcyA9IHRoaXM7XG4gIGlmIChLbGFzcy5pbnN0YW5jZVBvb2wubGVuZ3RoKSB7XG4gICAgdmFyIGluc3RhbmNlID0gS2xhc3MuaW5zdGFuY2VQb29sLnBvcCgpO1xuICAgIEtsYXNzLmNhbGwoaW5zdGFuY2UsIGNvcHlGaWVsZHNGcm9tKTtcbiAgICByZXR1cm4gaW5zdGFuY2U7XG4gIH0gZWxzZSB7XG4gICAgcmV0dXJuIG5ldyBLbGFzcyhjb3B5RmllbGRzRnJvbSk7XG4gIH1cbn07XG5cbnZhciBhZGRQb29saW5nVG8gPSBmdW5jdGlvbiBhZGRQb29saW5nVG8oQ29weUNvbnN0cnVjdG9yLCBwb29sZXIpIHtcbiAgLy8gQ2FzdGluZyBhcyBhbnkgc28gdGhhdCBmbG93IGlnbm9yZXMgdGhlIGFjdHVhbCBpbXBsZW1lbnRhdGlvbiBhbmQgdHJ1c3RzXG4gIC8vIGl0IHRvIG1hdGNoIHRoZSB0eXBlIHdlIGRlY2xhcmVkXG4gIHZhciBOZXdLbGFzcyA9IENvcHlDb25zdHJ1Y3RvcjtcbiAgTmV3S2xhc3MuaW5zdGFuY2VQb29sID0gW107XG4gIE5ld0tsYXNzLmdldFBvb2xlZCA9IHBvb2xlciB8fCBERUZBVUxUX1BPT0xFUjtcbiAgaWYgKCFOZXdLbGFzcy5wb29sU2l6ZSkge1xuICAgIE5ld0tsYXNzLnBvb2xTaXplID0gREVGQVVMVF9QT09MX1NJWkU7XG4gIH1cbiAgTmV3S2xhc3MucmVsZWFzZSA9IHN0YW5kYXJkUmVsZWFzZXI7XG4gIHJldHVybiBOZXdLbGFzcztcbn07XG5cbnZhciBzdGFuZGFyZFJlbGVhc2VyID0gZnVuY3Rpb24gc3RhbmRhcmRSZWxlYXNlcihpbnN0YW5jZSkge1xuICB2YXIgS2xhc3MgPSB0aGlzO1xuICBpbnZhcmlhbnQoXG4gICAgaW5zdGFuY2UgaW5zdGFuY2VvZiBLbGFzcyxcbiAgICAnVHJ5aW5nIHRvIHJlbGVhc2UgYW4gaW5zdGFuY2UgaW50byBhIHBvb2wgb2YgYSBkaWZmZXJlbnQgdHlwZS4nXG4gICk7XG4gIGluc3RhbmNlLmRlc3RydWN0b3IoKTtcbiAgaWYgKEtsYXNzLmluc3RhbmNlUG9vbC5sZW5ndGggPCBLbGFzcy5wb29sU2l6ZSkge1xuICAgIEtsYXNzLmluc3RhbmNlUG9vbC5wdXNoKGluc3RhbmNlKTtcbiAgfVxufTtcblxudmFyIGZvdXJBcmd1bWVudFBvb2xlciA9IGZ1bmN0aW9uIGZvdXJBcmd1bWVudFBvb2xlcihhMSwgYTIsIGEzLCBhNCkge1xuICB2YXIgS2xhc3MgPSB0aGlzO1xuICBpZiAoS2xhc3MuaW5zdGFuY2VQb29sLmxlbmd0aCkge1xuICAgIHZhciBpbnN0YW5jZSA9IEtsYXNzLmluc3RhbmNlUG9vbC5wb3AoKTtcbiAgICBLbGFzcy5jYWxsKGluc3RhbmNlLCBhMSwgYTIsIGEzLCBhNCk7XG4gICAgcmV0dXJuIGluc3RhbmNlO1xuICB9IGVsc2Uge1xuICAgIHJldHVybiBuZXcgS2xhc3MoYTEsIGEyLCBhMywgYTQpO1xuICB9XG59O1xuXG5mdW5jdGlvbiBNYXBCb29rS2VlcGluZyhtYXBSZXN1bHQsIGtleVByZWZpeCwgbWFwRnVuY3Rpb24sIG1hcENvbnRleHQpIHtcbiAgdGhpcy5yZXN1bHQgPSBtYXBSZXN1bHQ7XG4gIHRoaXMua2V5UHJlZml4ID0ga2V5UHJlZml4O1xuICB0aGlzLmZ1bmMgPSBtYXBGdW5jdGlvbjtcbiAgdGhpcy5jb250ZXh0ID0gbWFwQ29udGV4dDtcbiAgdGhpcy5jb3VudCA9IDA7XG59XG5NYXBCb29rS2VlcGluZy5wcm90b3R5cGUuZGVzdHJ1Y3RvciA9IGZ1bmN0aW9uKCkge1xuICB0aGlzLnJlc3VsdCA9IG51bGw7XG4gIHRoaXMua2V5UHJlZml4ID0gbnVsbDtcbiAgdGhpcy5mdW5jID0gbnVsbDtcbiAgdGhpcy5jb250ZXh0ID0gbnVsbDtcbiAgdGhpcy5jb3VudCA9IDA7XG59O1xuYWRkUG9vbGluZ1RvKE1hcEJvb2tLZWVwaW5nLCBmb3VyQXJndW1lbnRQb29sZXIpO1xuXG5mdW5jdGlvbiBtYXBTaW5nbGVDaGlsZEludG9Db250ZXh0KGJvb2tLZWVwaW5nLCBjaGlsZCwgY2hpbGRLZXkpIHtcbiAgdmFyIHJlc3VsdCA9IGJvb2tLZWVwaW5nLnJlc3VsdDtcbiAgdmFyIGtleVByZWZpeCA9IGJvb2tLZWVwaW5nLmtleVByZWZpeDtcbiAgdmFyIGZ1bmMgPSBib29rS2VlcGluZy5mdW5jO1xuICB2YXIgY29udGV4dCA9IGJvb2tLZWVwaW5nLmNvbnRleHQ7XG5cbiAgdmFyIG1hcHBlZENoaWxkID0gZnVuYy5jYWxsKGNvbnRleHQsIGNoaWxkLCBib29rS2VlcGluZy5jb3VudCsrKTtcbiAgaWYgKEFycmF5LmlzQXJyYXkobWFwcGVkQ2hpbGQpKSB7XG4gICAgbWFwSW50b1dpdGhLZXlQcmVmaXhJbnRlcm5hbChcbiAgICAgIG1hcHBlZENoaWxkLFxuICAgICAgcmVzdWx0LFxuICAgICAgY2hpbGRLZXksXG4gICAgICBlbXB0eUZ1bmN0aW9uLnRoYXRSZXR1cm5zQXJndW1lbnRcbiAgICApO1xuICB9IGVsc2UgaWYgKG1hcHBlZENoaWxkICE9IG51bGwpIHtcbiAgICBpZiAoUmVhY3QuaXNWYWxpZEVsZW1lbnQobWFwcGVkQ2hpbGQpKSB7XG4gICAgICBtYXBwZWRDaGlsZCA9IGNsb25lQW5kUmVwbGFjZUtleShcbiAgICAgICAgbWFwcGVkQ2hpbGQsXG4gICAgICAgIC8vIEtlZXAgYm90aCB0aGUgKG1hcHBlZCkgYW5kIG9sZCBrZXlzIGlmIHRoZXkgZGlmZmVyLCBqdXN0IGFzXG4gICAgICAgIC8vIHRyYXZlcnNlQWxsQ2hpbGRyZW4gdXNlZCB0byBkbyBmb3Igb2JqZWN0cyBhcyBjaGlsZHJlblxuICAgICAgICBrZXlQcmVmaXggK1xuICAgICAgICAgIChtYXBwZWRDaGlsZC5rZXkgJiYgKCFjaGlsZCB8fCBjaGlsZC5rZXkgIT09IG1hcHBlZENoaWxkLmtleSlcbiAgICAgICAgICAgID8gZXNjYXBlVXNlclByb3ZpZGVkS2V5KG1hcHBlZENoaWxkLmtleSkgKyAnLydcbiAgICAgICAgICAgIDogJycpICtcbiAgICAgICAgICBjaGlsZEtleVxuICAgICAgKTtcbiAgICB9XG4gICAgcmVzdWx0LnB1c2gobWFwcGVkQ2hpbGQpO1xuICB9XG59XG5cbmZ1bmN0aW9uIG1hcEludG9XaXRoS2V5UHJlZml4SW50ZXJuYWwoY2hpbGRyZW4sIGFycmF5LCBwcmVmaXgsIGZ1bmMsIGNvbnRleHQpIHtcbiAgdmFyIGVzY2FwZWRQcmVmaXggPSAnJztcbiAgaWYgKHByZWZpeCAhPSBudWxsKSB7XG4gICAgZXNjYXBlZFByZWZpeCA9IGVzY2FwZVVzZXJQcm92aWRlZEtleShwcmVmaXgpICsgJy8nO1xuICB9XG4gIHZhciB0cmF2ZXJzZUNvbnRleHQgPSBNYXBCb29rS2VlcGluZy5nZXRQb29sZWQoXG4gICAgYXJyYXksXG4gICAgZXNjYXBlZFByZWZpeCxcbiAgICBmdW5jLFxuICAgIGNvbnRleHRcbiAgKTtcbiAgdHJhdmVyc2VBbGxDaGlsZHJlbihjaGlsZHJlbiwgbWFwU2luZ2xlQ2hpbGRJbnRvQ29udGV4dCwgdHJhdmVyc2VDb250ZXh0KTtcbiAgTWFwQm9va0tlZXBpbmcucmVsZWFzZSh0cmF2ZXJzZUNvbnRleHQpO1xufVxuXG52YXIgbnVtZXJpY1Byb3BlcnR5UmVnZXggPSAvXlxcZCskLztcblxudmFyIHdhcm5lZEFib3V0TnVtZXJpYyA9IGZhbHNlO1xuXG5mdW5jdGlvbiBjcmVhdGVSZWFjdEZyYWdtZW50KG9iamVjdCkge1xuICBpZiAodHlwZW9mIG9iamVjdCAhPT0gJ29iamVjdCcgfHwgIW9iamVjdCB8fCBBcnJheS5pc0FycmF5KG9iamVjdCkpIHtcbiAgICB3YXJuaW5nKFxuICAgICAgZmFsc2UsXG4gICAgICAnUmVhY3QuYWRkb25zLmNyZWF0ZUZyYWdtZW50IG9ubHkgYWNjZXB0cyBhIHNpbmdsZSBvYmplY3QuIEdvdDogJXMnLFxuICAgICAgb2JqZWN0XG4gICAgKTtcbiAgICByZXR1cm4gb2JqZWN0O1xuICB9XG4gIGlmIChSZWFjdC5pc1ZhbGlkRWxlbWVudChvYmplY3QpKSB7XG4gICAgd2FybmluZyhcbiAgICAgIGZhbHNlLFxuICAgICAgJ1JlYWN0LmFkZG9ucy5jcmVhdGVGcmFnbWVudCBkb2VzIG5vdCBhY2NlcHQgYSBSZWFjdEVsZW1lbnQgJyArXG4gICAgICAgICd3aXRob3V0IGEgd3JhcHBlciBvYmplY3QuJ1xuICAgICk7XG4gICAgcmV0dXJuIG9iamVjdDtcbiAgfVxuXG4gIGludmFyaWFudChcbiAgICBvYmplY3Qubm9kZVR5cGUgIT09IDEsXG4gICAgJ1JlYWN0LmFkZG9ucy5jcmVhdGVGcmFnbWVudCguLi4pOiBFbmNvdW50ZXJlZCBhbiBpbnZhbGlkIGNoaWxkOyBET00gJyArXG4gICAgICAnZWxlbWVudHMgYXJlIG5vdCB2YWxpZCBjaGlsZHJlbiBvZiBSZWFjdCBjb21wb25lbnRzLidcbiAgKTtcblxuICB2YXIgcmVzdWx0ID0gW107XG5cbiAgZm9yICh2YXIga2V5IGluIG9iamVjdCkge1xuICAgIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nKSB7XG4gICAgICBpZiAoIXdhcm5lZEFib3V0TnVtZXJpYyAmJiBudW1lcmljUHJvcGVydHlSZWdleC50ZXN0KGtleSkpIHtcbiAgICAgICAgd2FybmluZyhcbiAgICAgICAgICBmYWxzZSxcbiAgICAgICAgICAnUmVhY3QuYWRkb25zLmNyZWF0ZUZyYWdtZW50KC4uLik6IENoaWxkIG9iamVjdHMgc2hvdWxkIGhhdmUgJyArXG4gICAgICAgICAgICAnbm9uLW51bWVyaWMga2V5cyBzbyBvcmRlcmluZyBpcyBwcmVzZXJ2ZWQuJ1xuICAgICAgICApO1xuICAgICAgICB3YXJuZWRBYm91dE51bWVyaWMgPSB0cnVlO1xuICAgICAgfVxuICAgIH1cbiAgICBtYXBJbnRvV2l0aEtleVByZWZpeEludGVybmFsKFxuICAgICAgb2JqZWN0W2tleV0sXG4gICAgICByZXN1bHQsXG4gICAgICBrZXksXG4gICAgICBlbXB0eUZ1bmN0aW9uLnRoYXRSZXR1cm5zQXJndW1lbnRcbiAgICApO1xuICB9XG5cbiAgcmV0dXJuIHJlc3VsdDtcbn1cblxubW9kdWxlLmV4cG9ydHMgPSBjcmVhdGVSZWFjdEZyYWdtZW50O1xuIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxtQkFXQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsbUJBS0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsaUJBU0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7Iiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///25\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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMjYuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vL3Zhci9qZW5raW5zL3dvcmtzcGFjZS9QbHVnaW4tUmVsZWFzZS93b3JkcHJlc3Mtc2VvLXByZW1pdW0vLnJlcG9zL3dvcmRwcmVzcy1zZW8tcHJlbWl1bS9ub2RlX21vZHVsZXMvZmJqcy9saWIvaW52YXJpYW50LmpzP2EzZTEiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTMtcHJlc2VudCwgRmFjZWJvb2ssIEluYy5cbiAqXG4gKiBUaGlzIHNvdXJjZSBjb2RlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZSBmb3VuZCBpbiB0aGVcbiAqIExJQ0VOU0UgZmlsZSBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb3VyY2UgdHJlZS5cbiAqXG4gKi9cblxuJ3VzZSBzdHJpY3QnO1xuXG4vKipcbiAqIFVzZSBpbnZhcmlhbnQoKSB0byBhc3NlcnQgc3RhdGUgd2hpY2ggeW91ciBwcm9ncmFtIGFzc3VtZXMgdG8gYmUgdHJ1ZS5cbiAqXG4gKiBQcm92aWRlIHNwcmludGYtc3R5bGUgZm9ybWF0IChvbmx5ICVzIGlzIHN1cHBvcnRlZCkgYW5kIGFyZ3VtZW50c1xuICogdG8gcHJvdmlkZSBpbmZvcm1hdGlvbiBhYm91dCB3aGF0IGJyb2tlIGFuZCB3aGF0IHlvdSB3ZXJlXG4gKiBleHBlY3RpbmcuXG4gKlxuICogVGhlIGludmFyaWFudCBtZXNzYWdlIHdpbGwgYmUgc3RyaXBwZWQgaW4gcHJvZHVjdGlvbiwgYnV0IHRoZSBpbnZhcmlhbnRcbiAqIHdpbGwgcmVtYWluIHRvIGVuc3VyZSBsb2dpYyBkb2VzIG5vdCBkaWZmZXIgaW4gcHJvZHVjdGlvbi5cbiAqL1xuXG52YXIgdmFsaWRhdGVGb3JtYXQgPSBmdW5jdGlvbiB2YWxpZGF0ZUZvcm1hdChmb3JtYXQpIHt9O1xuXG5pZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJykge1xuICB2YWxpZGF0ZUZvcm1hdCA9IGZ1bmN0aW9uIHZhbGlkYXRlRm9ybWF0KGZvcm1hdCkge1xuICAgIGlmIChmb3JtYXQgPT09IHVuZGVmaW5lZCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdpbnZhcmlhbnQgcmVxdWlyZXMgYW4gZXJyb3IgbWVzc2FnZSBhcmd1bWVudCcpO1xuICAgIH1cbiAgfTtcbn1cblxuZnVuY3Rpb24gaW52YXJpYW50KGNvbmRpdGlvbiwgZm9ybWF0LCBhLCBiLCBjLCBkLCBlLCBmKSB7XG4gIHZhbGlkYXRlRm9ybWF0KGZvcm1hdCk7XG5cbiAgaWYgKCFjb25kaXRpb24pIHtcbiAgICB2YXIgZXJyb3I7XG4gICAgaWYgKGZvcm1hdCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICBlcnJvciA9IG5ldyBFcnJvcignTWluaWZpZWQgZXhjZXB0aW9uIG9jY3VycmVkOyB1c2UgdGhlIG5vbi1taW5pZmllZCBkZXYgZW52aXJvbm1lbnQgJyArICdmb3IgdGhlIGZ1bGwgZXJyb3IgbWVzc2FnZSBhbmQgYWRkaXRpb25hbCBoZWxwZnVsIHdhcm5pbmdzLicpO1xuICAgIH0gZWxzZSB7XG4gICAgICB2YXIgYXJncyA9IFthLCBiLCBjLCBkLCBlLCBmXTtcbiAgICAgIHZhciBhcmdJbmRleCA9IDA7XG4gICAgICBlcnJvciA9IG5ldyBFcnJvcihmb3JtYXQucmVwbGFjZSgvJXMvZywgZnVuY3Rpb24gKCkge1xuICAgICAgICByZXR1cm4gYXJnc1thcmdJbmRleCsrXTtcbiAgICAgIH0pKTtcbiAgICAgIGVycm9yLm5hbWUgPSAnSW52YXJpYW50IFZpb2xhdGlvbic7XG4gICAgfVxuXG4gICAgZXJyb3IuZnJhbWVzVG9Qb3AgPSAxOyAvLyB3ZSBkb24ndCBjYXJlIGFib3V0IGludmFyaWFudCdzIG93biBmcmFtZVxuICAgIHRocm93IGVycm9yO1xuICB9XG59XG5cbm1vZHVsZS5leHBvcnRzID0gaW52YXJpYW50OyJdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGFBTUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///26\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__(16);\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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMjcuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vL3Zhci9qZW5raW5zL3dvcmtzcGFjZS9QbHVnaW4tUmVsZWFzZS93b3JkcHJlc3Mtc2VvLXByZW1pdW0vLnJlcG9zL3dvcmRwcmVzcy1zZW8tcHJlbWl1bS9ub2RlX21vZHVsZXMvZmJqcy9saWIvd2FybmluZy5qcz80Yjk4Il0sInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQ29weXJpZ2h0IChjKSAyMDE0LXByZXNlbnQsIEZhY2Vib29rLCBJbmMuXG4gKlxuICogVGhpcyBzb3VyY2UgY29kZSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2UgZm91bmQgaW4gdGhlXG4gKiBMSUNFTlNFIGZpbGUgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc291cmNlIHRyZWUuXG4gKlxuICovXG5cbid1c2Ugc3RyaWN0JztcblxudmFyIGVtcHR5RnVuY3Rpb24gPSByZXF1aXJlKCcuL2VtcHR5RnVuY3Rpb24nKTtcblxuLyoqXG4gKiBTaW1pbGFyIHRvIGludmFyaWFudCBidXQgb25seSBsb2dzIGEgd2FybmluZyBpZiB0aGUgY29uZGl0aW9uIGlzIG5vdCBtZXQuXG4gKiBUaGlzIGNhbiBiZSB1c2VkIHRvIGxvZyBpc3N1ZXMgaW4gZGV2ZWxvcG1lbnQgZW52aXJvbm1lbnRzIGluIGNyaXRpY2FsXG4gKiBwYXRocy4gUmVtb3ZpbmcgdGhlIGxvZ2dpbmcgY29kZSBmb3IgcHJvZHVjdGlvbiBlbnZpcm9ubWVudHMgd2lsbCBrZWVwIHRoZVxuICogc2FtZSBsb2dpYyBhbmQgZm9sbG93IHRoZSBzYW1lIGNvZGUgcGF0aHMuXG4gKi9cblxudmFyIHdhcm5pbmcgPSBlbXB0eUZ1bmN0aW9uO1xuXG5pZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJykge1xuICB2YXIgcHJpbnRXYXJuaW5nID0gZnVuY3Rpb24gcHJpbnRXYXJuaW5nKGZvcm1hdCkge1xuICAgIGZvciAodmFyIF9sZW4gPSBhcmd1bWVudHMubGVuZ3RoLCBhcmdzID0gQXJyYXkoX2xlbiA+IDEgPyBfbGVuIC0gMSA6IDApLCBfa2V5ID0gMTsgX2tleSA8IF9sZW47IF9rZXkrKykge1xuICAgICAgYXJnc1tfa2V5IC0gMV0gPSBhcmd1bWVudHNbX2tleV07XG4gICAgfVxuXG4gICAgdmFyIGFyZ0luZGV4ID0gMDtcbiAgICB2YXIgbWVzc2FnZSA9ICdXYXJuaW5nOiAnICsgZm9ybWF0LnJlcGxhY2UoLyVzL2csIGZ1bmN0aW9uICgpIHtcbiAgICAgIHJldHVybiBhcmdzW2FyZ0luZGV4KytdO1xuICAgIH0pO1xuICAgIGlmICh0eXBlb2YgY29uc29sZSAhPT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IobWVzc2FnZSk7XG4gICAgfVxuICAgIHRyeSB7XG4gICAgICAvLyAtLS0gV2VsY29tZSB0byBkZWJ1Z2dpbmcgUmVhY3QgLS0tXG4gICAgICAvLyBUaGlzIGVycm9yIHdhcyB0aHJvd24gYXMgYSBjb252ZW5pZW5jZSBzbyB0aGF0IHlvdSBjYW4gdXNlIHRoaXMgc3RhY2tcbiAgICAgIC8vIHRvIGZpbmQgdGhlIGNhbGxzaXRlIHRoYXQgY2F1c2VkIHRoaXMgd2FybmluZyB0byBmaXJlLlxuICAgICAgdGhyb3cgbmV3IEVycm9yKG1lc3NhZ2UpO1xuICAgIH0gY2F0Y2ggKHgpIHt9XG4gIH07XG5cbiAgd2FybmluZyA9IGZ1bmN0aW9uIHdhcm5pbmcoY29uZGl0aW9uLCBmb3JtYXQpIHtcbiAgICBpZiAoZm9ybWF0ID09PSB1bmRlZmluZWQpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignYHdhcm5pbmcoY29uZGl0aW9uLCBmb3JtYXQsIC4uLmFyZ3MpYCByZXF1aXJlcyBhIHdhcm5pbmcgJyArICdtZXNzYWdlIGFyZ3VtZW50Jyk7XG4gICAgfVxuXG4gICAgaWYgKGZvcm1hdC5pbmRleE9mKCdGYWlsZWQgQ29tcG9zaXRlIHByb3BUeXBlOiAnKSA9PT0gMCkge1xuICAgICAgcmV0dXJuOyAvLyBJZ25vcmUgQ29tcG9zaXRlQ29tcG9uZW50IHByb3B0eXBlIGNoZWNrLlxuICAgIH1cblxuICAgIGlmICghY29uZGl0aW9uKSB7XG4gICAgICBmb3IgKHZhciBfbGVuMiA9IGFyZ3VtZW50cy5sZW5ndGgsIGFyZ3MgPSBBcnJheShfbGVuMiA+IDIgPyBfbGVuMiAtIDIgOiAwKSwgX2tleTIgPSAyOyBfa2V5MiA8IF9sZW4yOyBfa2V5MisrKSB7XG4gICAgICAgIGFyZ3NbX2tleTIgLSAyXSA9IGFyZ3VtZW50c1tfa2V5Ml07XG4gICAgICB9XG5cbiAgICAgIHByaW50V2FybmluZy5hcHBseSh1bmRlZmluZWQsIFtmb3JtYXRdLmNvbmNhdChhcmdzKSk7XG4gICAgfVxuICB9O1xufVxuXG5tb2R1bGUuZXhwb3J0cyA9IHdhcm5pbmc7Il0sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxnQ0FzQ0E7QUFDQTtBQUNBIiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///27\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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMjguanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vL3Zhci9qZW5raW5zL3dvcmtzcGFjZS9QbHVnaW4tUmVsZWFzZS93b3JkcHJlc3Mtc2VvLXByZW1pdW0vLnJlcG9zL3dvcmRwcmVzcy1zZW8tcHJlbWl1bS9ub2RlX21vZHVsZXMvaW50ZXJwb2xhdGUtY29tcG9uZW50cy9saWIvdG9rZW5pemUuanM/YWY5ZiJdLCJzb3VyY2VzQ29udGVudCI6WyIndXNlIHN0cmljdCc7XG5cbmZ1bmN0aW9uIGlkZW50aWZ5VG9rZW4oaXRlbSkge1xuXHQvLyB7ey9leGFtcGxlfX1cblx0aWYgKGl0ZW0ubWF0Y2goL15cXHtcXHtcXC8vKSkge1xuXHRcdHJldHVybiB7XG5cdFx0XHR0eXBlOiAnY29tcG9uZW50Q2xvc2UnLFxuXHRcdFx0dmFsdWU6IGl0ZW0ucmVwbGFjZSgvXFxXL2csICcnKVxuXHRcdH07XG5cdH1cblx0Ly8ge3tleGFtcGxlIC99fVxuXHRpZiAoaXRlbS5tYXRjaCgvXFwvXFx9XFx9JC8pKSB7XG5cdFx0cmV0dXJuIHtcblx0XHRcdHR5cGU6ICdjb21wb25lbnRTZWxmQ2xvc2luZycsXG5cdFx0XHR2YWx1ZTogaXRlbS5yZXBsYWNlKC9cXFcvZywgJycpXG5cdFx0fTtcblx0fVxuXHQvLyB7e2V4YW1wbGV9fVxuXHRpZiAoaXRlbS5tYXRjaCgvXlxce1xcey8pKSB7XG5cdFx0cmV0dXJuIHtcblx0XHRcdHR5cGU6ICdjb21wb25lbnRPcGVuJyxcblx0XHRcdHZhbHVlOiBpdGVtLnJlcGxhY2UoL1xcVy9nLCAnJylcblx0XHR9O1xuXHR9XG5cdHJldHVybiB7XG5cdFx0dHlwZTogJ3N0cmluZycsXG5cdFx0dmFsdWU6IGl0ZW1cblx0fTtcbn1cblxubW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiAobWl4ZWRTdHJpbmcpIHtcblx0dmFyIHRva2VuU3RyaW5ncyA9IG1peGVkU3RyaW5nLnNwbGl0KC8oXFx7XFx7XFwvP1xccypcXHcrXFxzKlxcLz9cXH1cXH0pL2cpOyAvLyBzcGxpdCB0byBjb21wb25lbnRzIGFuZCBzdHJpbmdzXG5cdHJldHVybiB0b2tlblN0cmluZ3MubWFwKGlkZW50aWZ5VG9rZW4pO1xufTtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPXRva2VuaXplLmpzLm1hcCJdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///28\n")},,function(module,exports){eval("module.exports = window.wp.a11y;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMzAuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vZXh0ZXJuYWwgXCJ3aW5kb3cud3AuYTExeVwiPzUzZmMiXSwic291cmNlc0NvbnRlbnQiOlsibW9kdWxlLmV4cG9ydHMgPSB3aW5kb3cud3AuYTExeTsiXSwibWFwcGluZ3MiOiJBQUFBIiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///30\n")},function(module,__webpack_exports__,__webpack_require__){"use strict";eval("__webpack_require__.r(__webpack_exports__);\n\n// CONCATENATED MODULE: /var/jenkins/workspace/Plugin-Release/wordpress-seo-premium/.repos/wordpress-seo-premium/node_modules/@wordpress/keycodes/node_modules/@babel/runtime/helpers/esm/defineProperty.js\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n// CONCATENATED MODULE: /var/jenkins/workspace/Plugin-Release/wordpress-seo-premium/.repos/wordpress-seo-premium/node_modules/@wordpress/keycodes/node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js\nfunction _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n\n for (var i = 0, arr2 = new Array(len); i < len; i++) {\n arr2[i] = arr[i];\n }\n\n return arr2;\n}\n// CONCATENATED MODULE: /var/jenkins/workspace/Plugin-Release/wordpress-seo-premium/.repos/wordpress-seo-premium/node_modules/@wordpress/keycodes/node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js\n\nfunction _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) return _arrayLikeToArray(arr);\n}\n// CONCATENATED MODULE: /var/jenkins/workspace/Plugin-Release/wordpress-seo-premium/.repos/wordpress-seo-premium/node_modules/@wordpress/keycodes/node_modules/@babel/runtime/helpers/esm/iterableToArray.js\nfunction _iterableToArray(iter) {\n if (typeof Symbol !== \"undefined\" && Symbol.iterator in Object(iter)) return Array.from(iter);\n}\n// CONCATENATED MODULE: /var/jenkins/workspace/Plugin-Release/wordpress-seo-premium/.repos/wordpress-seo-premium/node_modules/@wordpress/keycodes/node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js\n\nfunction _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return _arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);\n}\n// CONCATENATED MODULE: /var/jenkins/workspace/Plugin-Release/wordpress-seo-premium/.repos/wordpress-seo-premium/node_modules/@wordpress/keycodes/node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js\nfunction _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\n// CONCATENATED MODULE: /var/jenkins/workspace/Plugin-Release/wordpress-seo-premium/.repos/wordpress-seo-premium/node_modules/@wordpress/keycodes/node_modules/@babel/runtime/helpers/esm/toConsumableArray.js\n\n\n\n\nfunction _toConsumableArray(arr) {\n return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread();\n}\n// EXTERNAL MODULE: external \"window.lodash\"\nvar external_window_lodash_ = __webpack_require__(2);\n\n// EXTERNAL MODULE: external \"window.wp.i18n\"\nvar external_window_wp_i18n_ = __webpack_require__(1);\n\n// CONCATENATED MODULE: /var/jenkins/workspace/Plugin-Release/wordpress-seo-premium/.repos/wordpress-seo-premium/node_modules/@wordpress/keycodes/build-module/platform.js\n/**\n * External dependencies\n */\n\n/**\n * Return true if platform is MacOS.\n *\n * @param {Object} _window window object by default; used for DI testing.\n *\n * @return {boolean} True if MacOS; false otherwise.\n */\n\nfunction isAppleOS() {\n var _window = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : window;\n\n var platform = _window.navigator.platform;\n return platform.indexOf('Mac') !== -1 || Object(external_window_lodash_[\"includes\"])(['iPad', 'iPhone'], platform);\n}\n//# sourceMappingURL=platform.js.map\n// CONCATENATED MODULE: /var/jenkins/workspace/Plugin-Release/wordpress-seo-premium/.repos/wordpress-seo-premium/node_modules/@wordpress/keycodes/build-module/index.js\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"BACKSPACE\", function() { return BACKSPACE; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"TAB\", function() { return TAB; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"ENTER\", function() { return ENTER; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"ESCAPE\", function() { return ESCAPE; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"SPACE\", function() { return SPACE; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"LEFT\", function() { return LEFT; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"UP\", function() { return UP; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"RIGHT\", function() { return RIGHT; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"DOWN\", function() { return DOWN; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"DELETE\", function() { return DELETE; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"F10\", function() { return F10; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"ALT\", function() { return ALT; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"CTRL\", function() { return CTRL; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"COMMAND\", function() { return COMMAND; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"SHIFT\", function() { return SHIFT; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"ZERO\", function() { return ZERO; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"modifiers\", function() { return modifiers; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"rawShortcut\", function() { return rawShortcut; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"displayShortcutList\", function() { return displayShortcutList; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"displayShortcut\", function() { return displayShortcut; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"shortcutAriaLabel\", function() { return shortcutAriaLabel; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"isKeyboardEvent\", function() { return isKeyboardEvent; });\n\n\n\n/**\n * Note: The order of the modifier keys in many of the [foo]Shortcut()\n * functions in this file are intentional and should not be changed. They're\n * designed to fit with the standard menu keyboard shortcuts shown in the\n * user's platform.\n *\n * For example, on MacOS menu shortcuts will place Shift before Command, but\n * on Windows Control will usually come first. So don't provide your own\n * shortcut combos directly to keyboardShortcut().\n */\n\n/**\n * External dependencies\n */\n\n/**\n * WordPress dependencies\n */\n\n\n/**\n * Internal dependencies\n */\n\n\n/**\n * @typedef {'primary'|'primaryShift'|'primaryAlt'|'secondary'|'access'|'ctrl'|'alt'|'ctrlShift'|'shift'|'shiftAlt'} WPKeycodeModifier\n */\n\n/**\n * An object of handler functions for each of the possible modifier\n * combinations. A handler will return a value for a given key.\n *\n * @typedef {Record<WPKeycodeModifier, (key:string)=>any>} WPKeycodeHandlerByModifier\n */\n\n/**\n * Keycode for BACKSPACE key.\n */\n\nvar BACKSPACE = 8;\n/**\n * Keycode for TAB key.\n */\n\nvar TAB = 9;\n/**\n * Keycode for ENTER key.\n */\n\nvar ENTER = 13;\n/**\n * Keycode for ESCAPE key.\n */\n\nvar ESCAPE = 27;\n/**\n * Keycode for SPACE key.\n */\n\nvar SPACE = 32;\n/**\n * Keycode for LEFT key.\n */\n\nvar LEFT = 37;\n/**\n * Keycode for UP key.\n */\n\nvar UP = 38;\n/**\n * Keycode for RIGHT key.\n */\n\nvar RIGHT = 39;\n/**\n * Keycode for DOWN key.\n */\n\nvar DOWN = 40;\n/**\n * Keycode for DELETE key.\n */\n\nvar DELETE = 46;\n/**\n * Keycode for F10 key.\n */\n\nvar F10 = 121;\n/**\n * Keycode for ALT key.\n */\n\nvar ALT = 'alt';\n/**\n * Keycode for CTRL key.\n */\n\nvar CTRL = 'ctrl';\n/**\n * Keycode for COMMAND/META key.\n */\n\nvar COMMAND = 'meta';\n/**\n * Keycode for SHIFT key.\n */\n\nvar SHIFT = 'shift';\n/**\n * Keycode for ZERO key.\n */\n\nvar ZERO = 48;\n/**\n * Object that contains functions that return the available modifier\n * depending on platform.\n *\n * - `primary`: takes a isApple function as a parameter.\n * - `primaryShift`: takes a isApple function as a parameter.\n * - `primaryAlt`: takes a isApple function as a parameter.\n * - `secondary`: takes a isApple function as a parameter.\n * - `access`: takes a isApple function as a parameter.\n * - `ctrl`\n * - `alt`\n * - `ctrlShift`\n * - `shift`\n * - `shiftAlt`\n */\n\nvar modifiers = {\n primary: function primary(_isApple) {\n return _isApple() ? [COMMAND] : [CTRL];\n },\n primaryShift: function primaryShift(_isApple) {\n return _isApple() ? [SHIFT, COMMAND] : [CTRL, SHIFT];\n },\n primaryAlt: function primaryAlt(_isApple) {\n return _isApple() ? [ALT, COMMAND] : [CTRL, ALT];\n },\n secondary: function secondary(_isApple) {\n return _isApple() ? [SHIFT, ALT, COMMAND] : [CTRL, SHIFT, ALT];\n },\n access: function access(_isApple) {\n return _isApple() ? [CTRL, ALT] : [SHIFT, ALT];\n },\n ctrl: function ctrl() {\n return [CTRL];\n },\n alt: function alt() {\n return [ALT];\n },\n ctrlShift: function ctrlShift() {\n return [CTRL, SHIFT];\n },\n shift: function shift() {\n return [SHIFT];\n },\n shiftAlt: function shiftAlt() {\n return [SHIFT, ALT];\n }\n};\n/**\n * An object that contains functions to get raw shortcuts.\n * E.g. rawShortcut.primary( 'm' ) will return 'meta+m' on Mac.\n * These are intended for user with the KeyboardShortcuts component or TinyMCE.\n *\n * @type {WPKeycodeHandlerByModifier} Keyed map of functions to raw shortcuts.\n */\n\nvar rawShortcut = Object(external_window_lodash_[\"mapValues\"])(modifiers, function (modifier) {\n return function (character) {\n var _isApple = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : isAppleOS;\n\n return [].concat(_toConsumableArray(modifier(_isApple)), [character.toLowerCase()]).join('+');\n };\n});\n/**\n * Return an array of the parts of a keyboard shortcut chord for display\n * E.g displayShortcutList.primary( 'm' ) will return [ '⌘', 'M' ] on Mac.\n *\n * @type {WPKeycodeHandlerByModifier} Keyed map of functions to shortcut\n * sequences.\n */\n\nvar displayShortcutList = Object(external_window_lodash_[\"mapValues\"])(modifiers, function (modifier) {\n return function (character) {\n var _replacementKeyMap;\n\n var _isApple = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : isAppleOS;\n\n var isApple = _isApple();\n\n var replacementKeyMap = (_replacementKeyMap = {}, _defineProperty(_replacementKeyMap, ALT, isApple ? '⌥' : 'Alt'), _defineProperty(_replacementKeyMap, CTRL, isApple ? '^' : 'Ctrl'), _defineProperty(_replacementKeyMap, COMMAND, '⌘'), _defineProperty(_replacementKeyMap, SHIFT, isApple ? '⇧' : 'Shift'), _replacementKeyMap);\n var modifierKeys = modifier(_isApple).reduce(function (accumulator, key) {\n var replacementKey = Object(external_window_lodash_[\"get\"])(replacementKeyMap, key, key); // If on the Mac, adhere to platform convention and don't show plus between keys.\n\n if (isApple) {\n return [].concat(_toConsumableArray(accumulator), [replacementKey]);\n }\n\n return [].concat(_toConsumableArray(accumulator), [replacementKey, '+']);\n }, []);\n var capitalizedCharacter = Object(external_window_lodash_[\"capitalize\"])(character);\n return [].concat(_toConsumableArray(modifierKeys), [capitalizedCharacter]);\n };\n});\n/**\n * An object that contains functions to display shortcuts.\n * E.g. displayShortcut.primary( 'm' ) will return '⌘M' on Mac.\n *\n * @type {WPKeycodeHandlerByModifier} Keyed map of functions to display\n * shortcuts.\n */\n\nvar displayShortcut = Object(external_window_lodash_[\"mapValues\"])(displayShortcutList, function (shortcutList) {\n return function (character) {\n var _isApple = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : isAppleOS;\n\n return shortcutList(character, _isApple).join('');\n };\n});\n/**\n * An object that contains functions to return an aria label for a keyboard shortcut.\n * E.g. shortcutAriaLabel.primary( '.' ) will return 'Command + Period' on Mac.\n *\n * @type {WPKeycodeHandlerByModifier} Keyed map of functions to shortcut ARIA\n * labels.\n */\n\nvar shortcutAriaLabel = Object(external_window_lodash_[\"mapValues\"])(modifiers, function (modifier) {\n return function (character) {\n var _replacementKeyMap2;\n\n var _isApple = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : isAppleOS;\n\n var isApple = _isApple();\n\n var replacementKeyMap = (_replacementKeyMap2 = {}, _defineProperty(_replacementKeyMap2, SHIFT, 'Shift'), _defineProperty(_replacementKeyMap2, COMMAND, isApple ? 'Command' : 'Control'), _defineProperty(_replacementKeyMap2, CTRL, 'Control'), _defineProperty(_replacementKeyMap2, ALT, isApple ? 'Option' : 'Alt'), _defineProperty(_replacementKeyMap2, ',', Object(external_window_wp_i18n_[\"__\"])('Comma')), _defineProperty(_replacementKeyMap2, '.', Object(external_window_wp_i18n_[\"__\"])('Period')), _defineProperty(_replacementKeyMap2, '`', Object(external_window_wp_i18n_[\"__\"])('Backtick')), _replacementKeyMap2);\n return [].concat(_toConsumableArray(modifier(_isApple)), [character]).map(function (key) {\n return Object(external_window_lodash_[\"capitalize\"])(Object(external_window_lodash_[\"get\"])(replacementKeyMap, key, key));\n }).join(isApple ? ' ' : ' + ');\n };\n});\n/**\n * From a given KeyboardEvent, returns an array of active modifier constants for\n * the event.\n *\n * @param {KeyboardEvent} event Keyboard event.\n *\n * @return {Array<ALT|CTRL|COMMAND|SHIFT>} Active modifier constants.\n */\n\nfunction getEventModifiers(event) {\n return [ALT, CTRL, COMMAND, SHIFT].filter(function (key) {\n return event[\"\".concat(key, \"Key\")];\n });\n}\n/**\n * An object that contains functions to check if a keyboard event matches a\n * predefined shortcut combination.\n * E.g. isKeyboardEvent.primary( event, 'm' ) will return true if the event\n * signals pressing ⌘M.\n *\n * @type {WPKeycodeHandlerByModifier} Keyed map of functions to match events.\n */\n\n\nvar isKeyboardEvent = Object(external_window_lodash_[\"mapValues\"])(modifiers, function (getModifiers) {\n return function (event, character) {\n var _isApple = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : isAppleOS;\n\n var mods = getModifiers(_isApple);\n var eventMods = getEventModifiers(event);\n\n if (Object(external_window_lodash_[\"xor\"])(mods, eventMods).length) {\n return false;\n }\n\n if (!character) {\n return Object(external_window_lodash_[\"includes\"])(mods, event.key.toLowerCase());\n }\n\n return event.key === character;\n };\n});\n//# sourceMappingURL=index.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMzEuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vL3Zhci9qZW5raW5zL3dvcmtzcGFjZS9QbHVnaW4tUmVsZWFzZS93b3JkcHJlc3Mtc2VvLXByZW1pdW0vLnJlcG9zL3dvcmRwcmVzcy1zZW8tcHJlbWl1bS9ub2RlX21vZHVsZXMvQHdvcmRwcmVzcy9rZXljb2Rlcy9ub2RlX21vZHVsZXMvQGJhYmVsL3J1bnRpbWUvaGVscGVycy9lc20vZGVmaW5lUHJvcGVydHkuanM/OTA3NCIsIndlYnBhY2s6Ly8vL3Zhci9qZW5raW5zL3dvcmtzcGFjZS9QbHVnaW4tUmVsZWFzZS93b3JkcHJlc3Mtc2VvLXByZW1pdW0vLnJlcG9zL3dvcmRwcmVzcy1zZW8tcHJlbWl1bS9ub2RlX21vZHVsZXMvQHdvcmRwcmVzcy9rZXljb2Rlcy9ub2RlX21vZHVsZXMvQGJhYmVsL3J1bnRpbWUvaGVscGVycy9lc20vYXJyYXlMaWtlVG9BcnJheS5qcz8xMzE1Iiwid2VicGFjazovLy8vdmFyL2plbmtpbnMvd29ya3NwYWNlL1BsdWdpbi1SZWxlYXNlL3dvcmRwcmVzcy1zZW8tcHJlbWl1bS8ucmVwb3Mvd29yZHByZXNzLXNlby1wcmVtaXVtL25vZGVfbW9kdWxlcy9Ad29yZHByZXNzL2tleWNvZGVzL25vZGVfbW9kdWxlcy9AYmFiZWwvcnVudGltZS9oZWxwZXJzL2VzbS9hcnJheVdpdGhvdXRIb2xlcy5qcz8zMjZhIiwid2VicGFjazovLy8vdmFyL2plbmtpbnMvd29ya3NwYWNlL1BsdWdpbi1SZWxlYXNlL3dvcmRwcmVzcy1zZW8tcHJlbWl1bS8ucmVwb3Mvd29yZHByZXNzLXNlby1wcmVtaXVtL25vZGVfbW9kdWxlcy9Ad29yZHByZXNzL2tleWNvZGVzL25vZGVfbW9kdWxlcy9AYmFiZWwvcnVudGltZS9oZWxwZXJzL2VzbS9pdGVyYWJsZVRvQXJyYXkuanM/ODU0NSIsIndlYnBhY2s6Ly8vL3Zhci9qZW5raW5zL3dvcmtzcGFjZS9QbHVnaW4tUmVsZWFzZS93b3JkcHJlc3Mtc2VvLXByZW1pdW0vLnJlcG9zL3dvcmRwcmVzcy1zZW8tcHJlbWl1bS9ub2RlX21vZHVsZXMvQHdvcmRwcmVzcy9rZXljb2Rlcy9ub2RlX21vZHVsZXMvQGJhYmVsL3J1bnRpbWUvaGVscGVycy9lc20vdW5zdXBwb3J0ZWRJdGVyYWJsZVRvQXJyYXkuanM/NDk0NSIsIndlYnBhY2s6Ly8vL3Zhci9qZW5raW5zL3dvcmtzcGFjZS9QbHVnaW4tUmVsZWFzZS93b3JkcHJlc3Mtc2VvLXByZW1pdW0vLnJlcG9zL3dvcmRwcmVzcy1zZW8tcHJlbWl1bS9ub2RlX21vZHVsZXMvQHdvcmRwcmVzcy9rZXljb2Rlcy9ub2RlX21vZHVsZXMvQGJhYmVsL3J1bnRpbWUvaGVscGVycy9lc20vbm9uSXRlcmFibGVTcHJlYWQuanM/YmUyOSIsIndlYnBhY2s6Ly8vL3Zhci9qZW5raW5zL3dvcmtzcGFjZS9QbHVnaW4tUmVsZWFzZS93b3JkcHJlc3Mtc2VvLXByZW1pdW0vLnJlcG9zL3dvcmRwcmVzcy1zZW8tcHJlbWl1bS9ub2RlX21vZHVsZXMvQHdvcmRwcmVzcy9rZXljb2Rlcy9ub2RlX21vZHVsZXMvQGJhYmVsL3J1bnRpbWUvaGVscGVycy9lc20vdG9Db25zdW1hYmxlQXJyYXkuanM/MGI0NCIsIndlYnBhY2s6Ly8vL3Zhci9qZW5raW5zL3dvcmtzcGFjZS9QbHVnaW4tUmVsZWFzZS93b3JkcHJlc3Mtc2VvLXByZW1pdW0vLnJlcG9zL3dvcmRwcmVzcy1zZW8tcHJlbWl1bS9ub2RlX21vZHVsZXMvQHdvcmRwcmVzcy9rZXljb2Rlcy9idWlsZC1tb2R1bGUvcGxhdGZvcm0uanM/MDBiOSIsIndlYnBhY2s6Ly8vL3Zhci9qZW5raW5zL3dvcmtzcGFjZS9QbHVnaW4tUmVsZWFzZS93b3JkcHJlc3Mtc2VvLXByZW1pdW0vLnJlcG9zL3dvcmRwcmVzcy1zZW8tcHJlbWl1bS9ub2RlX21vZHVsZXMvQHdvcmRwcmVzcy9rZXljb2Rlcy9idWlsZC1tb2R1bGUvaW5kZXguanM/MjA4ZCJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBfZGVmaW5lUHJvcGVydHkob2JqLCBrZXksIHZhbHVlKSB7XG4gIGlmIChrZXkgaW4gb2JqKSB7XG4gICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwga2V5LCB7XG4gICAgICB2YWx1ZTogdmFsdWUsXG4gICAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgICAgY29uZmlndXJhYmxlOiB0cnVlLFxuICAgICAgd3JpdGFibGU6IHRydWVcbiAgICB9KTtcbiAgfSBlbHNlIHtcbiAgICBvYmpba2V5XSA9IHZhbHVlO1xuICB9XG5cbiAgcmV0dXJuIG9iajtcbn0iLCJleHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBfYXJyYXlMaWtlVG9BcnJheShhcnIsIGxlbikge1xuICBpZiAobGVuID09IG51bGwgfHwgbGVuID4gYXJyLmxlbmd0aCkgbGVuID0gYXJyLmxlbmd0aDtcblxuICBmb3IgKHZhciBpID0gMCwgYXJyMiA9IG5ldyBBcnJheShsZW4pOyBpIDwgbGVuOyBpKyspIHtcbiAgICBhcnIyW2ldID0gYXJyW2ldO1xuICB9XG5cbiAgcmV0dXJuIGFycjI7XG59IiwiaW1wb3J0IGFycmF5TGlrZVRvQXJyYXkgZnJvbSBcIi4vYXJyYXlMaWtlVG9BcnJheVwiO1xuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gX2FycmF5V2l0aG91dEhvbGVzKGFycikge1xuICBpZiAoQXJyYXkuaXNBcnJheShhcnIpKSByZXR1cm4gYXJyYXlMaWtlVG9BcnJheShhcnIpO1xufSIsImV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIF9pdGVyYWJsZVRvQXJyYXkoaXRlcikge1xuICBpZiAodHlwZW9mIFN5bWJvbCAhPT0gXCJ1bmRlZmluZWRcIiAmJiBTeW1ib2wuaXRlcmF0b3IgaW4gT2JqZWN0KGl0ZXIpKSByZXR1cm4gQXJyYXkuZnJvbShpdGVyKTtcbn0iLCJpbXBvcnQgYXJyYXlMaWtlVG9BcnJheSBmcm9tIFwiLi9hcnJheUxpa2VUb0FycmF5XCI7XG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBfdW5zdXBwb3J0ZWRJdGVyYWJsZVRvQXJyYXkobywgbWluTGVuKSB7XG4gIGlmICghbykgcmV0dXJuO1xuICBpZiAodHlwZW9mIG8gPT09IFwic3RyaW5nXCIpIHJldHVybiBhcnJheUxpa2VUb0FycmF5KG8sIG1pbkxlbik7XG4gIHZhciBuID0gT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKG8pLnNsaWNlKDgsIC0xKTtcbiAgaWYgKG4gPT09IFwiT2JqZWN0XCIgJiYgby5jb25zdHJ1Y3RvcikgbiA9IG8uY29uc3RydWN0b3IubmFtZTtcbiAgaWYgKG4gPT09IFwiTWFwXCIgfHwgbiA9PT0gXCJTZXRcIikgcmV0dXJuIEFycmF5LmZyb20obyk7XG4gIGlmIChuID09PSBcIkFyZ3VtZW50c1wiIHx8IC9eKD86VWl8SSludCg/Ojh8MTZ8MzIpKD86Q2xhbXBlZCk/QXJyYXkkLy50ZXN0KG4pKSByZXR1cm4gYXJyYXlMaWtlVG9BcnJheShvLCBtaW5MZW4pO1xufSIsImV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIF9ub25JdGVyYWJsZVNwcmVhZCgpIHtcbiAgdGhyb3cgbmV3IFR5cGVFcnJvcihcIkludmFsaWQgYXR0ZW1wdCB0byBzcHJlYWQgbm9uLWl0ZXJhYmxlIGluc3RhbmNlLlxcbkluIG9yZGVyIHRvIGJlIGl0ZXJhYmxlLCBub24tYXJyYXkgb2JqZWN0cyBtdXN0IGhhdmUgYSBbU3ltYm9sLml0ZXJhdG9yXSgpIG1ldGhvZC5cIik7XG59IiwiaW1wb3J0IGFycmF5V2l0aG91dEhvbGVzIGZyb20gXCIuL2FycmF5V2l0aG91dEhvbGVzXCI7XG5pbXBvcnQgaXRlcmFibGVUb0FycmF5IGZyb20gXCIuL2l0ZXJhYmxlVG9BcnJheVwiO1xuaW1wb3J0IHVuc3VwcG9ydGVkSXRlcmFibGVUb0FycmF5IGZyb20gXCIuL3Vuc3VwcG9ydGVkSXRlcmFibGVUb0FycmF5XCI7XG5pbXBvcnQgbm9uSXRlcmFibGVTcHJlYWQgZnJvbSBcIi4vbm9uSXRlcmFibGVTcHJlYWRcIjtcbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIF90b0NvbnN1bWFibGVBcnJheShhcnIpIHtcbiAgcmV0dXJuIGFycmF5V2l0aG91dEhvbGVzKGFycikgfHwgaXRlcmFibGVUb0FycmF5KGFycikgfHwgdW5zdXBwb3J0ZWRJdGVyYWJsZVRvQXJyYXkoYXJyKSB8fCBub25JdGVyYWJsZVNwcmVhZCgpO1xufSIsIi8qKlxuICogRXh0ZXJuYWwgZGVwZW5kZW5jaWVzXG4gKi9cbmltcG9ydCB7IGluY2x1ZGVzIH0gZnJvbSAnbG9kYXNoJztcbi8qKlxuICogUmV0dXJuIHRydWUgaWYgcGxhdGZvcm0gaXMgTWFjT1MuXG4gKlxuICogQHBhcmFtIHtPYmplY3R9IF93aW5kb3cgICB3aW5kb3cgb2JqZWN0IGJ5IGRlZmF1bHQ7IHVzZWQgZm9yIERJIHRlc3RpbmcuXG4gKlxuICogQHJldHVybiB7Ym9vbGVhbn0gICAgICAgICBUcnVlIGlmIE1hY09TOyBmYWxzZSBvdGhlcndpc2UuXG4gKi9cblxuZXhwb3J0IGZ1bmN0aW9uIGlzQXBwbGVPUygpIHtcbiAgdmFyIF93aW5kb3cgPSBhcmd1bWVudHMubGVuZ3RoID4gMCAmJiBhcmd1bWVudHNbMF0gIT09IHVuZGVmaW5lZCA/IGFyZ3VtZW50c1swXSA6IHdpbmRvdztcblxuICB2YXIgcGxhdGZvcm0gPSBfd2luZG93Lm5hdmlnYXRvci5wbGF0Zm9ybTtcbiAgcmV0dXJuIHBsYXRmb3JtLmluZGV4T2YoJ01hYycpICE9PSAtMSB8fCBpbmNsdWRlcyhbJ2lQYWQnLCAnaVBob25lJ10sIHBsYXRmb3JtKTtcbn1cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPXBsYXRmb3JtLmpzLm1hcCIsImltcG9ydCBfZGVmaW5lUHJvcGVydHkgZnJvbSBcIkBiYWJlbC9ydW50aW1lL2hlbHBlcnMvZXNtL2RlZmluZVByb3BlcnR5XCI7XG5pbXBvcnQgX3RvQ29uc3VtYWJsZUFycmF5IGZyb20gXCJAYmFiZWwvcnVudGltZS9oZWxwZXJzL2VzbS90b0NvbnN1bWFibGVBcnJheVwiO1xuXG4vKipcbiAqIE5vdGU6IFRoZSBvcmRlciBvZiB0aGUgbW9kaWZpZXIga2V5cyBpbiBtYW55IG9mIHRoZSBbZm9vXVNob3J0Y3V0KClcbiAqIGZ1bmN0aW9ucyBpbiB0aGlzIGZpbGUgYXJlIGludGVudGlvbmFsIGFuZCBzaG91bGQgbm90IGJlIGNoYW5nZWQuIFRoZXkncmVcbiAqIGRlc2lnbmVkIHRvIGZpdCB3aXRoIHRoZSBzdGFuZGFyZCBtZW51IGtleWJvYXJkIHNob3J0Y3V0cyBzaG93biBpbiB0aGVcbiAqIHVzZXIncyBwbGF0Zm9ybS5cbiAqXG4gKiBGb3IgZXhhbXBsZSwgb24gTWFjT1MgbWVudSBzaG9ydGN1dHMgd2lsbCBwbGFjZSBTaGlmdCBiZWZvcmUgQ29tbWFuZCwgYnV0XG4gKiBvbiBXaW5kb3dzIENvbnRyb2wgd2lsbCB1c3VhbGx5IGNvbWUgZmlyc3QuIFNvIGRvbid0IHByb3ZpZGUgeW91ciBvd25cbiAqIHNob3J0Y3V0IGNvbWJvcyBkaXJlY3RseSB0byBrZXlib2FyZFNob3J0Y3V0KCkuXG4gKi9cblxuLyoqXG4gKiBFeHRlcm5hbCBkZXBlbmRlbmNpZXNcbiAqL1xuaW1wb3J0IHsgZ2V0LCBtYXBWYWx1ZXMsIGluY2x1ZGVzLCBjYXBpdGFsaXplLCB4b3IgfSBmcm9tICdsb2Rhc2gnO1xuLyoqXG4gKiBXb3JkUHJlc3MgZGVwZW5kZW5jaWVzXG4gKi9cblxuaW1wb3J0IHsgX18gfSBmcm9tICdAd29yZHByZXNzL2kxOG4nO1xuLyoqXG4gKiBJbnRlcm5hbCBkZXBlbmRlbmNpZXNcbiAqL1xuXG5pbXBvcnQgeyBpc0FwcGxlT1MgfSBmcm9tICcuL3BsYXRmb3JtJztcbi8qKlxuICogQHR5cGVkZWYgeydwcmltYXJ5J3wncHJpbWFyeVNoaWZ0J3wncHJpbWFyeUFsdCd8J3NlY29uZGFyeSd8J2FjY2Vzcyd8J2N0cmwnfCdhbHQnfCdjdHJsU2hpZnQnfCdzaGlmdCd8J3NoaWZ0QWx0J30gV1BLZXljb2RlTW9kaWZpZXJcbiAqL1xuXG4vKipcbiAqIEFuIG9iamVjdCBvZiBoYW5kbGVyIGZ1bmN0aW9ucyBmb3IgZWFjaCBvZiB0aGUgcG9zc2libGUgbW9kaWZpZXJcbiAqIGNvbWJpbmF0aW9ucy4gQSBoYW5kbGVyIHdpbGwgcmV0dXJuIGEgdmFsdWUgZm9yIGEgZ2l2ZW4ga2V5LlxuICpcbiAqIEB0eXBlZGVmIHtSZWNvcmQ8V1BLZXljb2RlTW9kaWZpZXIsIChrZXk6c3RyaW5nKT0+YW55Pn0gV1BLZXljb2RlSGFuZGxlckJ5TW9kaWZpZXJcbiAqL1xuXG4vKipcbiAqIEtleWNvZGUgZm9yIEJBQ0tTUEFDRSBrZXkuXG4gKi9cblxuZXhwb3J0IHZhciBCQUNLU1BBQ0UgPSA4O1xuLyoqXG4gKiBLZXljb2RlIGZvciBUQUIga2V5LlxuICovXG5cbmV4cG9ydCB2YXIgVEFCID0gOTtcbi8qKlxuICogS2V5Y29kZSBmb3IgRU5URVIga2V5LlxuICovXG5cbmV4cG9ydCB2YXIgRU5URVIgPSAxMztcbi8qKlxuICogS2V5Y29kZSBmb3IgRVNDQVBFIGtleS5cbiAqL1xuXG5leHBvcnQgdmFyIEVTQ0FQRSA9IDI3O1xuLyoqXG4gKiBLZXljb2RlIGZvciBTUEFDRSBrZXkuXG4gKi9cblxuZXhwb3J0IHZhciBTUEFDRSA9IDMyO1xuLyoqXG4gKiBLZXljb2RlIGZvciBMRUZUIGtleS5cbiAqL1xuXG5leHBvcnQgdmFyIExFRlQgPSAzNztcbi8qKlxuICogS2V5Y29kZSBmb3IgVVAga2V5LlxuICovXG5cbmV4cG9ydCB2YXIgVVAgPSAzODtcbi8qKlxuICogS2V5Y29kZSBmb3IgUklHSFQga2V5LlxuICovXG5cbmV4cG9ydCB2YXIgUklHSFQgPSAzOTtcbi8qKlxuICogS2V5Y29kZSBmb3IgRE9XTiBrZXkuXG4gKi9cblxuZXhwb3J0IHZhciBET1dOID0gNDA7XG4vKipcbiAqIEtleWNvZGUgZm9yIERFTEVURSBrZXkuXG4gKi9cblxuZXhwb3J0IHZhciBERUxFVEUgPSA0Njtcbi8qKlxuICogS2V5Y29kZSBmb3IgRjEwIGtleS5cbiAqL1xuXG5leHBvcnQgdmFyIEYxMCA9IDEyMTtcbi8qKlxuICogS2V5Y29kZSBmb3IgQUxUIGtleS5cbiAqL1xuXG5leHBvcnQgdmFyIEFMVCA9ICdhbHQnO1xuLyoqXG4gKiBLZXljb2RlIGZvciBDVFJMIGtleS5cbiAqL1xuXG5leHBvcnQgdmFyIENUUkwgPSAnY3RybCc7XG4vKipcbiAqIEtleWNvZGUgZm9yIENPTU1BTkQvTUVUQSBrZXkuXG4gKi9cblxuZXhwb3J0IHZhciBDT01NQU5EID0gJ21ldGEnO1xuLyoqXG4gKiBLZXljb2RlIGZvciBTSElGVCBrZXkuXG4gKi9cblxuZXhwb3J0IHZhciBTSElGVCA9ICdzaGlmdCc7XG4vKipcbiAqIEtleWNvZGUgZm9yIFpFUk8ga2V5LlxuICovXG5cbmV4cG9ydCB2YXIgWkVSTyA9IDQ4O1xuLyoqXG4gKiBPYmplY3QgdGhhdCBjb250YWlucyBmdW5jdGlvbnMgdGhhdCByZXR1cm4gdGhlIGF2YWlsYWJsZSBtb2RpZmllclxuICogZGVwZW5kaW5nIG9uIHBsYXRmb3JtLlxuICpcbiAqIC0gYHByaW1hcnlgOiB0YWtlcyBhIGlzQXBwbGUgZnVuY3Rpb24gYXMgYSBwYXJhbWV0ZXIuXG4gKiAtIGBwcmltYXJ5U2hpZnRgOiB0YWtlcyBhIGlzQXBwbGUgZnVuY3Rpb24gYXMgYSBwYXJhbWV0ZXIuXG4gKiAtIGBwcmltYXJ5QWx0YDogdGFrZXMgYSBpc0FwcGxlIGZ1bmN0aW9uIGFzIGEgcGFyYW1ldGVyLlxuICogLSBgc2Vjb25kYXJ5YDogdGFrZXMgYSBpc0FwcGxlIGZ1bmN0aW9uIGFzIGEgcGFyYW1ldGVyLlxuICogLSBgYWNjZXNzYDogdGFrZXMgYSBpc0FwcGxlIGZ1bmN0aW9uIGFzIGEgcGFyYW1ldGVyLlxuICogLSBgY3RybGBcbiAqIC0gYGFsdGBcbiAqIC0gYGN0cmxTaGlmdGBcbiAqIC0gYHNoaWZ0YFxuICogLSBgc2hpZnRBbHRgXG4gKi9cblxuZXhwb3J0IHZhciBtb2RpZmllcnMgPSB7XG4gIHByaW1hcnk6IGZ1bmN0aW9uIHByaW1hcnkoX2lzQXBwbGUpIHtcbiAgICByZXR1cm4gX2lzQXBwbGUoKSA/IFtDT01NQU5EXSA6IFtDVFJMXTtcbiAgfSxcbiAgcHJpbWFyeVNoaWZ0OiBmdW5jdGlvbiBwcmltYXJ5U2hpZnQoX2lzQXBwbGUpIHtcbiAgICByZXR1cm4gX2lzQXBwbGUoKSA/IFtTSElGVCwgQ09NTUFORF0gOiBbQ1RSTCwgU0hJRlRdO1xuICB9LFxuICBwcmltYXJ5QWx0OiBmdW5jdGlvbiBwcmltYXJ5QWx0KF9pc0FwcGxlKSB7XG4gICAgcmV0dXJuIF9pc0FwcGxlKCkgPyBbQUxULCBDT01NQU5EXSA6IFtDVFJMLCBBTFRdO1xuICB9LFxuICBzZWNvbmRhcnk6IGZ1bmN0aW9uIHNlY29uZGFyeShfaXNBcHBsZSkge1xuICAgIHJldHVybiBfaXNBcHBsZSgpID8gW1NISUZULCBBTFQsIENPTU1BTkRdIDogW0NUUkwsIFNISUZULCBBTFRdO1xuICB9LFxuICBhY2Nlc3M6IGZ1bmN0aW9uIGFjY2VzcyhfaXNBcHBsZSkge1xuICAgIHJldHVybiBfaXNBcHBsZSgpID8gW0NUUkwsIEFMVF0gOiBbU0hJRlQsIEFMVF07XG4gIH0sXG4gIGN0cmw6IGZ1bmN0aW9uIGN0cmwoKSB7XG4gICAgcmV0dXJuIFtDVFJMXTtcbiAgfSxcbiAgYWx0OiBmdW5jdGlvbiBhbHQoKSB7XG4gICAgcmV0dXJuIFtBTFRdO1xuICB9LFxuICBjdHJsU2hpZnQ6IGZ1bmN0aW9uIGN0cmxTaGlmdCgpIHtcbiAgICByZXR1cm4gW0NUUkwsIFNISUZUXTtcbiAgfSxcbiAgc2hpZnQ6IGZ1bmN0aW9uIHNoaWZ0KCkge1xuICAgIHJldHVybiBbU0hJRlRdO1xuICB9LFxuICBzaGlmdEFsdDogZnVuY3Rpb24gc2hpZnRBbHQoKSB7XG4gICAgcmV0dXJuIFtTSElGVCwgQUxUXTtcbiAgfVxufTtcbi8qKlxuICogQW4gb2JqZWN0IHRoYXQgY29udGFpbnMgZnVuY3Rpb25zIHRvIGdldCByYXcgc2hvcnRjdXRzLlxuICogRS5nLiByYXdTaG9ydGN1dC5wcmltYXJ5KCAnbScgKSB3aWxsIHJldHVybiAnbWV0YSttJyBvbiBNYWMuXG4gKiBUaGVzZSBhcmUgaW50ZW5kZWQgZm9yIHVzZXIgd2l0aCB0aGUgS2V5Ym9hcmRTaG9ydGN1dHMgY29tcG9uZW50IG9yIFRpbnlNQ0UuXG4gKlxuICogQHR5cGUge1dQS2V5Y29kZUhhbmRsZXJCeU1vZGlmaWVyfSBLZXllZCBtYXAgb2YgZnVuY3Rpb25zIHRvIHJhdyBzaG9ydGN1dHMuXG4gKi9cblxuZXhwb3J0IHZhciByYXdTaG9ydGN1dCA9IG1hcFZhbHVlcyhtb2RpZmllcnMsIGZ1bmN0aW9uIChtb2RpZmllcikge1xuICByZXR1cm4gZnVuY3Rpb24gKGNoYXJhY3Rlcikge1xuICAgIHZhciBfaXNBcHBsZSA9IGFyZ3VtZW50cy5sZW5ndGggPiAxICYmIGFyZ3VtZW50c1sxXSAhPT0gdW5kZWZpbmVkID8gYXJndW1lbnRzWzFdIDogaXNBcHBsZU9TO1xuXG4gICAgcmV0dXJuIFtdLmNvbmNhdChfdG9Db25zdW1hYmxlQXJyYXkobW9kaWZpZXIoX2lzQXBwbGUpKSwgW2NoYXJhY3Rlci50b0xvd2VyQ2FzZSgpXSkuam9pbignKycpO1xuICB9O1xufSk7XG4vKipcbiAqIFJldHVybiBhbiBhcnJheSBvZiB0aGUgcGFydHMgb2YgYSBrZXlib2FyZCBzaG9ydGN1dCBjaG9yZCBmb3IgZGlzcGxheVxuICogRS5nIGRpc3BsYXlTaG9ydGN1dExpc3QucHJpbWFyeSggJ20nICkgd2lsbCByZXR1cm4gWyAn4oyYJywgJ00nIF0gb24gTWFjLlxuICpcbiAqIEB0eXBlIHtXUEtleWNvZGVIYW5kbGVyQnlNb2RpZmllcn0gS2V5ZWQgbWFwIG9mIGZ1bmN0aW9ucyB0byBzaG9ydGN1dFxuICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZXF1ZW5jZXMuXG4gKi9cblxuZXhwb3J0IHZhciBkaXNwbGF5U2hvcnRjdXRMaXN0ID0gbWFwVmFsdWVzKG1vZGlmaWVycywgZnVuY3Rpb24gKG1vZGlmaWVyKSB7XG4gIHJldHVybiBmdW5jdGlvbiAoY2hhcmFjdGVyKSB7XG4gICAgdmFyIF9yZXBsYWNlbWVudEtleU1hcDtcblxuICAgIHZhciBfaXNBcHBsZSA9IGFyZ3VtZW50cy5sZW5ndGggPiAxICYmIGFyZ3VtZW50c1sxXSAhPT0gdW5kZWZpbmVkID8gYXJndW1lbnRzWzFdIDogaXNBcHBsZU9TO1xuXG4gICAgdmFyIGlzQXBwbGUgPSBfaXNBcHBsZSgpO1xuXG4gICAgdmFyIHJlcGxhY2VtZW50S2V5TWFwID0gKF9yZXBsYWNlbWVudEtleU1hcCA9IHt9LCBfZGVmaW5lUHJvcGVydHkoX3JlcGxhY2VtZW50S2V5TWFwLCBBTFQsIGlzQXBwbGUgPyAn4oylJyA6ICdBbHQnKSwgX2RlZmluZVByb3BlcnR5KF9yZXBsYWNlbWVudEtleU1hcCwgQ1RSTCwgaXNBcHBsZSA/ICdeJyA6ICdDdHJsJyksIF9kZWZpbmVQcm9wZXJ0eShfcmVwbGFjZW1lbnRLZXlNYXAsIENPTU1BTkQsICfijJgnKSwgX2RlZmluZVByb3BlcnR5KF9yZXBsYWNlbWVudEtleU1hcCwgU0hJRlQsIGlzQXBwbGUgPyAn4oenJyA6ICdTaGlmdCcpLCBfcmVwbGFjZW1lbnRLZXlNYXApO1xuICAgIHZhciBtb2RpZmllcktleXMgPSBtb2RpZmllcihfaXNBcHBsZSkucmVkdWNlKGZ1bmN0aW9uIChhY2N1bXVsYXRvciwga2V5KSB7XG4gICAgICB2YXIgcmVwbGFjZW1lbnRLZXkgPSBnZXQocmVwbGFjZW1lbnRLZXlNYXAsIGtleSwga2V5KTsgLy8gSWYgb24gdGhlIE1hYywgYWRoZXJlIHRvIHBsYXRmb3JtIGNvbnZlbnRpb24gYW5kIGRvbid0IHNob3cgcGx1cyBiZXR3ZWVuIGtleXMuXG5cbiAgICAgIGlmIChpc0FwcGxlKSB7XG4gICAgICAgIHJldHVybiBbXS5jb25jYXQoX3RvQ29uc3VtYWJsZUFycmF5KGFjY3VtdWxhdG9yKSwgW3JlcGxhY2VtZW50S2V5XSk7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBbXS5jb25jYXQoX3RvQ29uc3VtYWJsZUFycmF5KGFjY3VtdWxhdG9yKSwgW3JlcGxhY2VtZW50S2V5LCAnKyddKTtcbiAgICB9LCBbXSk7XG4gICAgdmFyIGNhcGl0YWxpemVkQ2hhcmFjdGVyID0gY2FwaXRhbGl6ZShjaGFyYWN0ZXIpO1xuICAgIHJldHVybiBbXS5jb25jYXQoX3RvQ29uc3VtYWJsZUFycmF5KG1vZGlmaWVyS2V5cyksIFtjYXBpdGFsaXplZENoYXJhY3Rlcl0pO1xuICB9O1xufSk7XG4vKipcbiAqIEFuIG9iamVjdCB0aGF0IGNvbnRhaW5zIGZ1bmN0aW9ucyB0byBkaXNwbGF5IHNob3J0Y3V0cy5cbiAqIEUuZy4gZGlzcGxheVNob3J0Y3V0LnByaW1hcnkoICdtJyApIHdpbGwgcmV0dXJuICfijJhNJyBvbiBNYWMuXG4gKlxuICogQHR5cGUge1dQS2V5Y29kZUhhbmRsZXJCeU1vZGlmaWVyfSBLZXllZCBtYXAgb2YgZnVuY3Rpb25zIHRvIGRpc3BsYXlcbiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2hvcnRjdXRzLlxuICovXG5cbmV4cG9ydCB2YXIgZGlzcGxheVNob3J0Y3V0ID0gbWFwVmFsdWVzKGRpc3BsYXlTaG9ydGN1dExpc3QsIGZ1bmN0aW9uIChzaG9ydGN1dExpc3QpIHtcbiAgcmV0dXJuIGZ1bmN0aW9uIChjaGFyYWN0ZXIpIHtcbiAgICB2YXIgX2lzQXBwbGUgPSBhcmd1bWVudHMubGVuZ3RoID4gMSAmJiBhcmd1bWVudHNbMV0gIT09IHVuZGVmaW5lZCA/IGFyZ3VtZW50c1sxXSA6IGlzQXBwbGVPUztcblxuICAgIHJldHVybiBzaG9ydGN1dExpc3QoY2hhcmFjdGVyLCBfaXNBcHBsZSkuam9pbignJyk7XG4gIH07XG59KTtcbi8qKlxuICogQW4gb2JqZWN0IHRoYXQgY29udGFpbnMgZnVuY3Rpb25zIHRvIHJldHVybiBhbiBhcmlhIGxhYmVsIGZvciBhIGtleWJvYXJkIHNob3J0Y3V0LlxuICogRS5nLiBzaG9ydGN1dEFyaWFMYWJlbC5wcmltYXJ5KCAnLicgKSB3aWxsIHJldHVybiAnQ29tbWFuZCArIFBlcmlvZCcgb24gTWFjLlxuICpcbiAqIEB0eXBlIHtXUEtleWNvZGVIYW5kbGVyQnlNb2RpZmllcn0gS2V5ZWQgbWFwIG9mIGZ1bmN0aW9ucyB0byBzaG9ydGN1dCBBUklBXG4gKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxhYmVscy5cbiAqL1xuXG5leHBvcnQgdmFyIHNob3J0Y3V0QXJpYUxhYmVsID0gbWFwVmFsdWVzKG1vZGlmaWVycywgZnVuY3Rpb24gKG1vZGlmaWVyKSB7XG4gIHJldHVybiBmdW5jdGlvbiAoY2hhcmFjdGVyKSB7XG4gICAgdmFyIF9yZXBsYWNlbWVudEtleU1hcDI7XG5cbiAgICB2YXIgX2lzQXBwbGUgPSBhcmd1bWVudHMubGVuZ3RoID4gMSAmJiBhcmd1bWVudHNbMV0gIT09IHVuZGVmaW5lZCA/IGFyZ3VtZW50c1sxXSA6IGlzQXBwbGVPUztcblxuICAgIHZhciBpc0FwcGxlID0gX2lzQXBwbGUoKTtcblxuICAgIHZhciByZXBsYWNlbWVudEtleU1hcCA9IChfcmVwbGFjZW1lbnRLZXlNYXAyID0ge30sIF9kZWZpbmVQcm9wZXJ0eShfcmVwbGFjZW1lbnRLZXlNYXAyLCBTSElGVCwgJ1NoaWZ0JyksIF9kZWZpbmVQcm9wZXJ0eShfcmVwbGFjZW1lbnRLZXlNYXAyLCBDT01NQU5ELCBpc0FwcGxlID8gJ0NvbW1hbmQnIDogJ0NvbnRyb2wnKSwgX2RlZmluZVByb3BlcnR5KF9yZXBsYWNlbWVudEtleU1hcDIsIENUUkwsICdDb250cm9sJyksIF9kZWZpbmVQcm9wZXJ0eShfcmVwbGFjZW1lbnRLZXlNYXAyLCBBTFQsIGlzQXBwbGUgPyAnT3B0aW9uJyA6ICdBbHQnKSwgX2RlZmluZVByb3BlcnR5KF9yZXBsYWNlbWVudEtleU1hcDIsICcsJywgX18oJ0NvbW1hJykpLCBfZGVmaW5lUHJvcGVydHkoX3JlcGxhY2VtZW50S2V5TWFwMiwgJy4nLCBfXygnUGVyaW9kJykpLCBfZGVmaW5lUHJvcGVydHkoX3JlcGxhY2VtZW50S2V5TWFwMiwgJ2AnLCBfXygnQmFja3RpY2snKSksIF9yZXBsYWNlbWVudEtleU1hcDIpO1xuICAgIHJldHVybiBbXS5jb25jYXQoX3RvQ29uc3VtYWJsZUFycmF5KG1vZGlmaWVyKF9pc0FwcGxlKSksIFtjaGFyYWN0ZXJdKS5tYXAoZnVuY3Rpb24gKGtleSkge1xuICAgICAgcmV0dXJuIGNhcGl0YWxpemUoZ2V0KHJlcGxhY2VtZW50S2V5TWFwLCBrZXksIGtleSkpO1xuICAgIH0pLmpvaW4oaXNBcHBsZSA/ICcgJyA6ICcgKyAnKTtcbiAgfTtcbn0pO1xuLyoqXG4gKiBGcm9tIGEgZ2l2ZW4gS2V5Ym9hcmRFdmVudCwgcmV0dXJucyBhbiBhcnJheSBvZiBhY3RpdmUgbW9kaWZpZXIgY29uc3RhbnRzIGZvclxuICogdGhlIGV2ZW50LlxuICpcbiAqIEBwYXJhbSB7S2V5Ym9hcmRFdmVudH0gZXZlbnQgS2V5Ym9hcmQgZXZlbnQuXG4gKlxuICogQHJldHVybiB7QXJyYXk8QUxUfENUUkx8Q09NTUFORHxTSElGVD59IEFjdGl2ZSBtb2RpZmllciBjb25zdGFudHMuXG4gKi9cblxuZnVuY3Rpb24gZ2V0RXZlbnRNb2RpZmllcnMoZXZlbnQpIHtcbiAgcmV0dXJuIFtBTFQsIENUUkwsIENPTU1BTkQsIFNISUZUXS5maWx0ZXIoZnVuY3Rpb24gKGtleSkge1xuICAgIHJldHVybiBldmVudFtcIlwiLmNvbmNhdChrZXksIFwiS2V5XCIpXTtcbiAgfSk7XG59XG4vKipcbiAqIEFuIG9iamVjdCB0aGF0IGNvbnRhaW5zIGZ1bmN0aW9ucyB0byBjaGVjayBpZiBhIGtleWJvYXJkIGV2ZW50IG1hdGNoZXMgYVxuICogcHJlZGVmaW5lZCBzaG9ydGN1dCBjb21iaW5hdGlvbi5cbiAqIEUuZy4gaXNLZXlib2FyZEV2ZW50LnByaW1hcnkoIGV2ZW50LCAnbScgKSB3aWxsIHJldHVybiB0cnVlIGlmIHRoZSBldmVudFxuICogc2lnbmFscyBwcmVzc2luZyDijJhNLlxuICpcbiAqIEB0eXBlIHtXUEtleWNvZGVIYW5kbGVyQnlNb2RpZmllcn0gS2V5ZWQgbWFwIG9mIGZ1bmN0aW9ucyB0byBtYXRjaCBldmVudHMuXG4gKi9cblxuXG5leHBvcnQgdmFyIGlzS2V5Ym9hcmRFdmVudCA9IG1hcFZhbHVlcyhtb2RpZmllcnMsIGZ1bmN0aW9uIChnZXRNb2RpZmllcnMpIHtcbiAgcmV0dXJuIGZ1bmN0aW9uIChldmVudCwgY2hhcmFjdGVyKSB7XG4gICAgdmFyIF9pc0FwcGxlID0gYXJndW1lbnRzLmxlbmd0aCA+IDIgJiYgYXJndW1lbnRzWzJdICE9PSB1bmRlZmluZWQgPyBhcmd1bWVudHNbMl0gOiBpc0FwcGxlT1M7XG5cbiAgICB2YXIgbW9kcyA9IGdldE1vZGlmaWVycyhfaXNBcHBsZSk7XG4gICAgdmFyIGV2ZW50TW9kcyA9IGdldEV2ZW50TW9kaWZpZXJzKGV2ZW50KTtcblxuICAgIGlmICh4b3IobW9kcywgZXZlbnRNb2RzKS5sZW5ndGgpIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG5cbiAgICBpZiAoIWNoYXJhY3Rlcikge1xuICAgICAgcmV0dXJuIGluY2x1ZGVzKG1vZHMsIGV2ZW50LmtleS50b0xvd2VyQ2FzZSgpKTtcbiAgICB9XG5cbiAgICByZXR1cm4gZXZlbnQua2V5ID09PSBjaGFyYWN0ZXI7XG4gIH07XG59KTtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWluZGV4LmpzLm1hcCJdLCJtYXBwaW5ncyI6Ijs7O0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUNiQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FDUkE7QUFDQTtBQUNBO0FBQ0E7O0FDSEE7QUFDQTtBQUNBOztBQ0ZBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUNSQTtBQUNBO0FBQ0E7O0FDRkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7Ozs7Ozs7O0FDTkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FDbEJBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///31\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__(44);\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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMzQuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vYXNzZXRzL2pzL3NyYy9mdW5jdGlvbnMvbGlua1N1Z2dlc3Rpb25zSXNTdXBwb3J0ZWQuanM/YWYzNSJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgbGlua1N1Z2dlc3Rpb25zRW5hYmxlZCBmcm9tIFwiLi9saW5rU3VnZ2VzdGlvbnNFbmFibGVkXCI7XG5cbi8qKlxuICogRGV0ZXJtaW5lcyB3aGV0aGVyIG9yIG5vdCBsaW5rIHN1Z2dlc3Rpb25zIGlzIHN1cHBvcnRlZC5cbiAqXG4gKiBAcmV0dXJucyB7Ym9vbGVhbn0gV2hldGhlciBvciBub3QgbGluayBzdWdnZXN0aW9ucyBpcyBzdXBwb3J0ZWQuXG4gKi9cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIGxpbmtTdWdnZXN0aW9uc0lzU3VwcG9ydGVkKCkge1xuXHRjb25zdCBjb250ZW50RW5kcG9pbnRzQXZhaWxhYmxlID0gd2luZG93Lndwc2VvUHJlbWl1bU1ldGFib3hEYXRhLmRhdGEucmVzdEFwaS5hdmFpbGFibGUgJiZcblx0XHR3aW5kb3cud3BzZW9QcmVtaXVtTWV0YWJveERhdGEuZGF0YS5yZXN0QXBpLmNvbnRlbnRFbmRwb2ludHNBdmFpbGFibGU7XG5cblx0cmV0dXJuIGNvbnRlbnRFbmRwb2ludHNBdmFpbGFibGUgJiYgbGlua1N1Z2dlc3Rpb25zRW5hYmxlZCgpO1xufVxuIl0sIm1hcHBpbmdzIjoiOzs7OztBQU9BO0FBQ0E7QUFSQTtBQUNBOzs7OztBQUNBOzs7OztBQUtBO0FBQ0E7QUFDQTtBQUVBO0FBQ0EiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///34\n')},function(module,exports){eval("module.exports = window.wp.domReady;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMzUuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vZXh0ZXJuYWwgXCJ3aW5kb3cud3AuZG9tUmVhZHlcIj83NmIyIl0sInNvdXJjZXNDb250ZW50IjpbIm1vZHVsZS5leHBvcnRzID0gd2luZG93LndwLmRvbVJlYWR5OyJdLCJtYXBwaW5ncyI6IkFBQUEiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///35\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, wpseoAdminL10n */\n\n\n/* Internal dependencies */\n\n\nvar _react = __webpack_require__(8);\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _propTypes = __webpack_require__(3);\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar _styledComponents = __webpack_require__(11);\n\nvar _styledComponents2 = _interopRequireDefault(_styledComponents);\n\nvar _interpolateComponents = __webpack_require__(15);\n\nvar _interpolateComponents2 = _interopRequireDefault(_interpolateComponents);\n\nvar _i18n = __webpack_require__(1);\n\nvar _a11y = __webpack_require__(30);\n\nvar _LinkSuggestion = __webpack_require__(42);\n\nvar _LinkSuggestion2 = _interopRequireDefault(_LinkSuggestion);\n\nvar _helpers = __webpack_require__(14);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar LinkSuggestionsWrapper = _styledComponents2.default.div.withConfig({\n\tdisplayName: "LinkSuggestions__LinkSuggestionsWrapper",\n\tcomponentId: "sc-1mipca3-0"\n})(["display:table-cell;"]);\n\n/* eslint-disable max-len */\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");\nvar introMessage = (0, _i18n.__)("To improve your site structure, consider linking to other relevant posts or pages on your website.", "wordpress-seo-premium");\n/* eslint-enable max-len */\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 * Creates a link to the site structure article on yoast.com.\n *\n * @returns {React.Element} The link.\n */\nfunction createArticleLinks() {\n\tvar HelpTextLink = (0, _helpers.makeOutboundLink)();\n\n\treturn (0, _interpolateComponents2.default)({\n\t\t// Translators: Text between {{a}} and {{/a}} will be a link to an article about site structure.\n\t\tmixedString: (0, _i18n.__)("{{a}}Read our guide on internal linking for SEO{{/a}} to learn more.", "wordpress-seo-premium"),\n\t\tcomponents: {\n\t\t\t// eslint-disable-next-line jsx-a11y/anchor-has-content\n\t\t\ta: wp.element.createElement(HelpTextLink, { href: wpseoAdminL10n["shortlinks.site_structure_metabox"] })\n\t\t}\n\t});\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\tvar articleLink = createArticleLinks();\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: wpseoAdminL10n["shortlinks.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 * @param {Object} props.suggester The LinkSuggester component.\n *\n * @returns {JSX.Element} The rendered element.\n */\nvar Metabox = function Metabox(props) {\n\t// The effect is ran on mount and cleaned up on unmount.\n\t// That is when the Internal Linking Suggestions collapsible in the sidebar is opened/closed.\n\t// The empty array tells React that the effect doesn’t depend on any values from props or state, so it never needs to re-run.\n\t(0, _react.useEffect)(function () {\n\t\tprops.suggester.subscribe();\n\t\treturn function () {\n\t\t\tprops.suggester.unsubscribe();\n\t\t};\n\t}, []);\n\n\tif (props.isLoading) {\n\t\t/* eslint-disable max-len */\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\t/* eslint-enable max-len */\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\tsuggester: _propTypes2.default.object,\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\tsuggester: null,\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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiNDEuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vYXNzZXRzL2pzL3NyYy9jb21wb25lbnRzL0xpbmtTdWdnZXN0aW9ucy5qcz9kOTRkIl0sInNvdXJjZXNDb250ZW50IjpbIi8qIGdsb2JhbCBDbGlwYm9hcmRKUywgd3BzZW9BZG1pbkwxMG4gKi9cbmltcG9ydCBSZWFjdCwgeyB1c2VFZmZlY3QgfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCBQcm9wVHlwZXMgZnJvbSBcInByb3AtdHlwZXNcIjtcbmltcG9ydCBzdHlsZWQgZnJvbSBcInN0eWxlZC1jb21wb25lbnRzXCI7XG5pbXBvcnQgaW50ZXJwb2xhdGVDb21wb25lbnRzIGZyb20gXCJpbnRlcnBvbGF0ZS1jb21wb25lbnRzXCI7XG5pbXBvcnQgeyBfXyB9IGZyb20gXCJAd29yZHByZXNzL2kxOG5cIjtcbmltcG9ydCB7IHNwZWFrIH0gZnJvbSBcIkB3b3JkcHJlc3MvYTExeVwiO1xuXG5pbXBvcnQgTGlua1N1Z2dlc3Rpb24gZnJvbSBcIi4vTGlua1N1Z2dlc3Rpb25cIjtcblxuLyogSW50ZXJuYWwgZGVwZW5kZW5jaWVzICovXG5pbXBvcnQgeyBtYWtlT3V0Ym91bmRMaW5rIH0gZnJvbSBcIkB5b2FzdC9oZWxwZXJzXCI7XG5cbmNvbnN0IExpbmtTdWdnZXN0aW9uc1dyYXBwZXIgPSBzdHlsZWQuZGl2YFxuXHRkaXNwbGF5OiB0YWJsZS1jZWxsO1xuYDtcblxuLyogZXNsaW50LWRpc2FibGUgbWF4LWxlbiAqL1xuY29uc3Qgbm9SZWxldmFudFBvc3RzTWVzc2FnZSA9IF9fKCBcIldlIGNvdWxkIG5vdCBmaW5kIGFueSByZWxldmFudCBhcnRpY2xlcyBvbiB5b3VyIHdlYnNpdGUgdGhhdCB5b3UgY291bGQgbGluayB0byBmcm9tIHlvdXIgcG9zdC5cIiwgXCJ3b3JkcHJlc3Mtc2VvLXByZW1pdW1cIiApO1xuY29uc3QgaW50cm9NZXNzYWdlICAgICAgICAgICA9IF9fKCBcIlRvIGltcHJvdmUgeW91ciBzaXRlIHN0cnVjdHVyZSwgY29uc2lkZXIgbGlua2luZyB0byBvdGhlciByZWxldmFudCBwb3N0cyBvciBwYWdlcyBvbiB5b3VyIHdlYnNpdGUuXCIsIFwid29yZHByZXNzLXNlby1wcmVtaXVtXCIgKTtcbi8qIGVzbGludC1lbmFibGUgbWF4LWxlbiAqL1xuXG5sZXQgeW9hc3RDbGlwQm9hcmQ7XG5cbi8qKlxuICogQHN1bW1hcnkgSGFuZGxlcyB2aXN1YWwgZmVlZGJhY2sgYW5kIGtleWJvYXJkIGZvY3VzIG9uIENsaXBib2FyZCBjb3B5IHN1Y2Nlc3MuXG4gKlxuICogQHBhcmFtIHtPYmplY3R9IGV2dCBDbGlwYm9hcmQuanMgY3VzdG9tIERPTSBldmVudC5cbiAqIEByZXR1cm5zIHt2b2lkfVxuICovXG5jb25zdCBjbGlwYm9hcmRTdWNjZXNzID0gKCBldnQgKSA9PiB7XG5cdGNvbnN0IG1lc3NhZ2UgPSBfXyggXCJDb3BpZWQhXCIsIFwid29yZHByZXNzLXNlby1wcmVtaXVtXCIgKTtcblxuXHQvLyBNb3ZlIGZvY3VzIGJhY2sgdG8gdGhlIENsaXBib2FyZCB0cmlnZ2VyIGJ1dHRvbi5cblx0ZXZ0LnRyaWdnZXIuZm9jdXMoKTtcblx0Ly8gVXBkYXRlIHRoZSBidXR0b24gYGFyaWEtbGFiZWxgIGF0dHJpYnV0ZS5cblx0ZXZ0LnRyaWdnZXIuc2V0QXR0cmlidXRlKCBcImFyaWEtbGFiZWxcIiwgbWVzc2FnZSApO1xuXHQvLyBVcGRhdGUgdGhlIGJ1dHRvbiBgZGF0YS1sYWJlbGAgYXR0cmlidXRlLlxuXHRldnQudHJpZ2dlci5zZXRBdHRyaWJ1dGUoIFwiZGF0YS1sYWJlbFwiLCBtZXNzYWdlICk7XG5cdC8vIFNlbmQgYXVkaWJsZSBtZXNzYWdlIHRvIHRoZSBBUklBIGxpdmUgcmVnaW9uLlxuXHRzcGVhayggbWVzc2FnZSwgXCJhc3NlcnRpdmVcIiApO1xufTtcblxuLyoqXG4gKiBAc3VtbWFyeSBIYW5kbGVzIHZpc3VhbCBmZWVkYmFjayBvbiBDbGlwYm9hcmQgY29weSBlcnJvci5cbiAqXG4gKiBAcGFyYW0ge09iamVjdH0gZXZ0IENsaXBib2FyZC5qcyBjdXN0b20gRE9NIGV2ZW50LlxuICogQHJldHVybnMge3ZvaWR9XG4gKi9cbmNvbnN0IGNsaXBib2FyZEVycm9yID0gKCBldnQgKSA9PiB7XG5cdGNvbnN0IG1lc3NhZ2UgPSBfXyggXCJOb3Qgc3VwcG9ydGVkIVwiLCBcIndvcmRwcmVzcy1zZW8tcHJlbWl1bVwiICk7XG5cblx0Ly8gVXBkYXRlIHRoZSBidXR0b24gYGFyaWEtbGFiZWxgIGF0dHJpYnV0ZS5cblx0ZXZ0LnRyaWdnZXIuZWwuc2V0QXR0cmlidXRlKCBcImFyaWEtbGFiZWxcIiwgbWVzc2FnZSApO1xuXHQvLyBVcGRhdGUgdGhlIGJ1dHRvbiBgZGF0YS1sYWJlbGAgYXR0cmlidXRlLlxuXHRldnQudHJpZ2dlci5zZXRBdHRyaWJ1dGUoIFwiZGF0YS1sYWJlbFwiLCBtZXNzYWdlICk7XG5cdC8vIFNlbmQgYXVkaWJsZSBtZXNzYWdlIHRvIHRoZSBBUklBIGxpdmUgcmVnaW9uLlxuXHRzcGVhayggbWVzc2FnZSwgXCJhc3NlcnRpdmVcIiApO1xufTtcblxuLyoqXG4gKiBDcmVhdGVzIGEgbGluayB0byB0aGUgc2l0ZSBzdHJ1Y3R1cmUgYXJ0aWNsZSBvbiB5b2FzdC5jb20uXG4gKlxuICogQHJldHVybnMge1JlYWN0LkVsZW1lbnR9IFRoZSBsaW5rLlxuICovXG5mdW5jdGlvbiBjcmVhdGVBcnRpY2xlTGlua3MoKSB7XG5cdGNvbnN0IEhlbHBUZXh0TGluayA9IG1ha2VPdXRib3VuZExpbmsoKTtcblxuXHRyZXR1cm4gaW50ZXJwb2xhdGVDb21wb25lbnRzKCB7XG5cdFx0Ly8gVHJhbnNsYXRvcnM6IFRleHQgYmV0d2VlbiB7e2F9fSBhbmQge3svYX19IHdpbGwgYmUgYSBsaW5rIHRvIGFuIGFydGljbGUgYWJvdXQgc2l0ZSBzdHJ1Y3R1cmUuXG5cdFx0bWl4ZWRTdHJpbmc6IF9fKCBcInt7YX19UmVhZCBvdXIgZ3VpZGUgb24gaW50ZXJuYWwgbGlua2luZyBmb3IgU0VPe3svYX19IHRvIGxlYXJuIG1vcmUuXCIsIFwid29yZHByZXNzLXNlby1wcmVtaXVtXCIgKSxcblx0XHRjb21wb25lbnRzOiB7XG5cdFx0XHQvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUganN4LWExMXkvYW5jaG9yLWhhcy1jb250ZW50XG5cdFx0XHRhOiA8SGVscFRleHRMaW5rIGhyZWY9eyB3cHNlb0FkbWluTDEwblsgXCJzaG9ydGxpbmtzLnNpdGVfc3RydWN0dXJlX21ldGFib3hcIiBdIH0gLz4sXG5cdFx0fSxcblx0fSApO1xufVxuXG4vKipcbiAqIFJlcHJlc2VudHMgdGhlIFN1Z2dlc3Rpb25zIGNvbXBvbmVudC5cbiAqXG4gKiBAcmV0dXJucyB7UmVhY3QuRWxlbWVudH0gVGhlIHN1Z2dlc3Rpb25zIGNvbXBvbmVudC5cbiAqL1xuY29uc3QgTGlua1N1Z2dlc3Rpb25zID0gKCB7IHN1Z2dlc3Rpb25zLCBtYXhTdWdnZXN0aW9ucywgY3VzdG9tTWVzc2FnZXMgfSApID0+IHtcblx0Y29uc3QgYXJ0aWNsZUxpbmsgPSBjcmVhdGVBcnRpY2xlTGlua3MoKTtcblxuXHRpZiAoIHN1Z2dlc3Rpb25zLmxlbmd0aCA9PT0gMCApIHtcblx0XHRsZXQgbGVuZ3RoTWVzc2FnZSA9IGN1c3RvbU1lc3NhZ2VzLmxlbmd0aE1lc3NhZ2U7XG5cdFx0bGVuZ3RoTWVzc2FnZSA9IGxlbmd0aE1lc3NhZ2UgPT09IFwiXCIgPyBub1JlbGV2YW50UG9zdHNNZXNzYWdlIDogbGVuZ3RoTWVzc2FnZTtcblxuXHRcdHJldHVybiAoXG5cdFx0XHQ8ZGl2PlxuXHRcdFx0XHQ8cD57IGxlbmd0aE1lc3NhZ2UgfTwvcD5cblx0XHRcdFx0PHA+eyBjdXN0b21NZXNzYWdlcy5tZXRhTWVzc2FnZSB9PC9wPlxuXHRcdFx0XHQ8cD57IGFydGljbGVMaW5rIH08L3A+XG5cdFx0XHQ8L2Rpdj5cblx0XHQpO1xuXHR9XG5cblx0aWYgKCBzdWdnZXN0aW9ucy5sZW5ndGggPiBtYXhTdWdnZXN0aW9ucyApIHtcblx0XHRzdWdnZXN0aW9ucy5sZW5ndGggPSBtYXhTdWdnZXN0aW9ucztcblx0fVxuXG5cdHJldHVybiAoXG5cdFx0PExpbmtTdWdnZXN0aW9uc1dyYXBwZXI+XG5cdFx0XHQ8cD57IGludHJvTWVzc2FnZSB9IHsgYXJ0aWNsZUxpbmsgfTwvcD5cblx0XHRcdDxwPnsgY3VzdG9tTWVzc2FnZXMubWV0YU1lc3NhZ2UgfTwvcD5cblx0XHRcdHsgc3VnZ2VzdGlvbnMubWFwKCAoIHN1Z2dlc3Rpb24sIGtleSApID0+IDxMaW5rU3VnZ2VzdGlvbiBrZXk9eyBrZXkgfSB7IC4uLnN1Z2dlc3Rpb24gfSAvPiApIH1cblx0XHQ8L0xpbmtTdWdnZXN0aW9uc1dyYXBwZXI+XG5cdCk7XG59O1xuXG5MaW5rU3VnZ2VzdGlvbnMucHJvcFR5cGVzID0ge1xuXHRzdWdnZXN0aW9uczogUHJvcFR5cGVzLmFycmF5LmlzUmVxdWlyZWQsXG5cdG1heFN1Z2dlc3Rpb25zOiBQcm9wVHlwZXMubnVtYmVyLFxuXHRjdXN0b21NZXNzYWdlczogUHJvcFR5cGVzLm9iamVjdCxcbn07XG5cbkxpbmtTdWdnZXN0aW9ucy5kZWZhdWx0UHJvcHMgPSB7XG5cdG1heFN1Z2dlc3Rpb25zOiAxMCxcblx0Y3VzdG9tTWVzc2FnZXM6IHtcblx0XHRsZW5ndGhNZXNzYWdlOiBcIlwiLFxuXHRcdG1ldGFNZXNzYWdlOiBcIlwiLFxuXHR9LFxufTtcblxuLyoqXG4gKiBTdGFydHMgcHJvbWluZW50IHdvcmQgYW5hbHlzaXMgaW4gYSBuZXcgdGFiLlxuICpcbiAqIEByZXR1cm5zIHt2b2lkfVxuICovXG5jb25zdCBzdGFydEFuYWx5emluZyA9ICgpID0+IHtcblx0d2luZG93Lm9wZW4oIFwiYWRtaW4ucGhwP3BhZ2U9d3BzZW9fdG9vbHMmc3RhcnQtaW5kZXhhdGlvbj10cnVlXCIsIFwieW9hc3RTZW9BbmFseXplUHJvbWluZW50V29yZHNcIiApO1xufTtcblxuLyogZXNsaW50LWRpc2FibGUtcnVsZSBjb21wbGV4aXR5ICovXG4vKipcbiAqIERlZmluZXMgYSBtZXNzYWdlIHRvIHJlbmRlciBiZWxvdyB0aGUgbWVzc2FnZSBhYm91dCBjb3B5IGxlbmd0aCBpbiB0aGUgSW50ZXJuYWwgTGlua2luZyBTdWdnZXN0aW9ucy5cbiAqXG4gKiBAcGFyYW0gICB7c3RyaW5nfSAgIGxlbmd0aE1lc3NhZ2UgICAgICAgVGhlIG1lc3NhZ2UgYWJvdXQgbW9yZSBjb3B5IGJlaW5nIG5lZWRlZC5cbiAqIEBwYXJhbSAgIHtib29sZWFufSAgaGFzVGl0bGUgICAgICAgICAgICBXaGV0aGVyIGEgdGl0bGUgaXMgYXZhaWxhYmxlIGZvciB0aGUgcG9zdC5cbiAqIEBwYXJhbSAgIHtib29sZWFufSAgaGFzTWV0YURlc2NyaXB0aW9uICBXaGV0aGVyIGEgbWV0YWRlc2NyaXB0aW9uIGlzIGF2YWlsYWJsZSBmb3IgdGhlIHBvc3QuXG4gKiBAcmV0dXJucyB7Kn0gICAgICAgIFJldHVybnMgYSBtZXRhTWVzc2FnZSBvciBub3RoaW5nLlxuICovXG5jb25zdCBkZXRlcm1pbmVNZXRhTWVzc2FnZSA9ICggbGVuZ3RoTWVzc2FnZSwgaGFzVGl0bGUsIGhhc01ldGFEZXNjcmlwdGlvbiApID0+IHtcblx0c3dpdGNoICggdHJ1ZSApIHtcblx0XHRjYXNlICggaGFzTWV0YURlc2NyaXB0aW9uICYmICEgaGFzVGl0bGUgJiYgbGVuZ3RoTWVzc2FnZSA9PT0gXCJcIiApOlxuXHRcdFx0cmV0dXJuIF9fKCBcIkFkZCBhIHRpdGxlIHRvIHlvdXIgcG9zdCBmb3IgdGhlIGJlc3QgaW50ZXJuYWwgbGlua2luZyBzdWdnZXN0aW9ucy5cIiwgXCJ3b3JkcHJlc3Mtc2VvLXByZW1pdW1cIiApO1xuXHRcdGNhc2UgKCAhIGhhc01ldGFEZXNjcmlwdGlvbiAmJiBoYXNUaXRsZSAmJiBsZW5ndGhNZXNzYWdlID09PSBcIlwiICk6XG5cdFx0XHRyZXR1cm4gX18oIFwiQWRkIGEgbWV0YWRlc2NyaXB0aW9uIHRvIHlvdXIgcG9zdCBmb3IgdGhlIGJlc3QgaW50ZXJuYWwgbGlua2luZyBzdWdnZXN0aW9ucy5cIiwgXCJ3b3JkcHJlc3Mtc2VvLXByZW1pdW1cIiApO1xuXHRcdGNhc2UgKCAhIGhhc01ldGFEZXNjcmlwdGlvbiAmJiAhIGhhc1RpdGxlICYmIGxlbmd0aE1lc3NhZ2UgPT09IFwiXCIgKTpcblx0XHRcdHJldHVybiBfXyggXCJBZGQgYSB0aXRsZSBhbmQgYSBtZXRhZGVzY3JpcHRpb24gdG8geW91ciBwb3N0IGZvciB0aGUgYmVzdCBpbnRlcm5hbCBsaW5raW5nIHN1Z2dlc3Rpb25zLlwiLCBcIndvcmRwcmVzcy1zZW8tcHJlbWl1bVwiICk7XG5cdFx0Y2FzZSAoIGhhc01ldGFEZXNjcmlwdGlvbiAmJiAhIGhhc1RpdGxlICAmJiBsZW5ndGhNZXNzYWdlICE9PSBcIlwiICk6XG5cdFx0XHRyZXR1cm4gX18oIFwiQWxzbywgYWRkIGEgdGl0bGUgdG8geW91ciBwb3N0IGZvciB0aGUgYmVzdCBpbnRlcm5hbCBsaW5raW5nIHN1Z2dlc3Rpb25zLlwiLCBcIndvcmRwcmVzcy1zZW8tcHJlbWl1bVwiICk7XG5cdFx0Y2FzZSAoICEgaGFzTWV0YURlc2NyaXB0aW9uICYmIGhhc1RpdGxlICAmJiBsZW5ndGhNZXNzYWdlICE9PSBcIlwiICk6XG5cdFx0XHRyZXR1cm4gX18oIFwiQWxzbywgYWRkIGEgbWV0YWRlc2NyaXB0aW9uIHRvIHlvdXIgcG9zdCBmb3IgdGhlIGJlc3QgaW50ZXJuYWwgbGlua2luZyBzdWdnZXN0aW9ucy5cIiwgXCJ3b3JkcHJlc3Mtc2VvLXByZW1pdW1cIiApO1xuXHRcdGNhc2UgKCAhIGhhc01ldGFEZXNjcmlwdGlvbiAmJiAhIGhhc1RpdGxlICAmJiBsZW5ndGhNZXNzYWdlICE9PSBcIlwiICk6XG5cdFx0XHRyZXR1cm4gX18oIFwiQWxzbywgYWRkIGEgdGl0bGUgYW5kIGEgbWV0YWRlc2NyaXB0aW9uIHRvIHlvdXIgcG9zdCBmb3IgdGhlIGJlc3QgaW50ZXJuYWwgbGlua2luZyBzdWdnZXN0aW9ucy5cIiwgXCJ3b3JkcHJlc3Mtc2VvLXByZW1pdW1cIiApO1xuXHR9XG59O1xuLyogZXNsaW50LWVuYWJsZS1ydWxlIGNvbXBsZXhpdHkgKi9cblxuLyoqXG4gKiBEZWZpbmVzIGEgbWVzc2FnZSB0byByZW5kZXIgaW4gdGhlIEludGVybmFsIExpbmtpbmcgU3VnZ2VzdGlvbnMgQ29tcG9uZW50LlxuICpcbiAqIEBwYXJhbSAgIHtPYmplY3R9ICAgIGFyZ3MgICAgICAgICAgICAgICAgICAgICAgQSBjb21wb3VuZCBvYmplY3QuXG4gKiBAcGFyYW0gICB7Ym9vbGVhbn0gICBhcmdzLmhhc1dvcmRzRm9yTGlua2luZyAgIFdoZXRoZXIgd29yZHNGb3JMaW5raW5nIGFyZSBhdmFpbGFibGUgZm9yIHRoZSBwb3N0LlxuICogQHBhcmFtICAge2Jvb2xlYW59ICAgYXJncy5oYXNNZXRhRGVzY3JpcHRpb24gICBXaGV0aGVyIGEgbWV0YWRlc2NyaXB0aW9uIGlzIGF2YWlsYWJsZSBmb3IgdGhlIHBvc3QuXG4gKiBAcGFyYW0gICB7Ym9vbGVhbn0gICBhcmdzLmhhc1RpdGxlICAgICAgICAgICAgIFdoZXRoZXIgYSB0aXRsZSBpcyBhdmFpbGFibGUgZm9yIHRoZSBwb3N0LlxuICpcbiAqIEByZXR1cm5zIHtPYmplY3R9ICAgIG1lc3NhZ2VzICAgICAgICAgICAgICAgICAgTWVzc2FnZXMgdG8gcGFzcyB0byB0aGUgY29tcG9uZW50LlxuICogQHJldHVybnMge3N0cmluZ30gICAgbWVzc2FnZXMubGVuZ3RoTWVzc2FnZSAgICBBIGN1c3RvbSBtZXNzYWdlIGNvbmNlcm5pbmcgaW5zdWZmaWNpZW50IGxlbmd0aCBvZiB0aGUgY29weS5cbiAqIEByZXR1cm5zIHtzdHJpbmd9ICAgIG1lc3NhZ2VzLm1ldGFNZXNzYWdlICAgICAgQSBjdXN0b20gbWVzc2FnZSBjb25jZXJuaW5nIG1ldGFkYXRhIG1pc3NpbmcgaW4gdGhlIGNvcHkuXG4gKi9cbmNvbnN0IGRldGVybWluZVN1Z2dlc3Rpb25zQ3VzdG9tTWVzc2FnZSA9ICggYXJncyApID0+IHtcblx0bGV0IGxlbmd0aE1lc3NhZ2UgPSBcIlwiO1xuXG5cdGlmICggISBhcmdzLmhhc1dvcmRzRm9yTGlua2luZyApIHtcblx0XHRsZW5ndGhNZXNzYWdlID0gX18oXG5cdFx0XHRcIk9uY2UgeW91IGFkZCBhIGJpdCBtb3JlIGNvcHksIHdlJ2xsIGdpdmUgeW91IGEgbGlzdCBvZiByZWxhdGVkIGNvbnRlbnQgaGVyZSB0byB3aGljaCB5b3UgY291bGQgbGluayBpbiB5b3VyIHBvc3QuXCIsXG5cdFx0XHRcIndvcmRwcmVzcy1zZW8tcHJlbWl1bVwiLFxuXHRcdCk7XG5cdH1cblxuXHRjb25zdCBtZXRhTWVzc2FnZSA9IGRldGVybWluZU1ldGFNZXNzYWdlKCBsZW5ndGhNZXNzYWdlLCBhcmdzLmhhc1RpdGxlLCBhcmdzLmhhc01ldGFEZXNjcmlwdGlvbiApO1xuXG5cdHJldHVybiB7XG5cdFx0bGVuZ3RoTWVzc2FnZSxcblx0XHRtZXRhTWVzc2FnZSxcblx0fTtcbn07XG5cbi8qKlxuICogR2VuZXJhdGVzIGEgd2FybmluZyBhYm91dCB0aGUgc2l0ZSBub3QgaGF2aW5nIGJlZW4gcHJvcGVybHkgaW5kZXhlZC5cbiAqKlxuICogQHJldHVybnMge1JlYWN0LkVsZW1lbnR9IFRoZSBtZXNzYWdlIG9yIG5vIGVsZW1lbnQuXG4gKi9cbmV4cG9ydCBjb25zdCBnZXRVbmluZGV4ZWRXYXJuaW5nID0gKCkgPT4ge1xuXHQvKiB0cmFuc2xhdG9yczogMTogbGluayB0byB5b2FzdC5jb20gcG9zdCBhYm91dCBpbnRlcm5hbCBsaW5raW5nIHN1Z2dlc3Rpb24uIDI6IGlzIGFuY2hvciBjbG9zaW5nLlxuXHQzOiBidXR0b24gdG8gdGhlIHJlY2FsY3VsYXRpb24gb3B0aW9uLiA0OiBjbG9zaW5nIGJ1dHRvbiAqL1xuXHRsZXQgbWVzc2FnZSA9IF9fKFxuXHRcdFwiV2UgbmVlZCB0byBvcHRpbWl6ZSB5b3VyIHNpdGXigJlzIFNFTyBkYXRhIHNvIHdlIGNhbiBvZmZlciB5b3UgdGhlIGJlc3QgJTEkc2xpbmtpbmcgc3VnZ2VzdGlvbnMlMiRzLlxcblxcbiUzJHNTdGFydCBTRU8gRGF0YSBvcHRpbWl6YXRpb24lNCRzXCIsXG5cdFx0XCJ3b3JkcHJlc3Mtc2VvLXByZW1pdW1cIixcblx0KTtcblxuXHRtZXNzYWdlID0gbWVzc2FnZS5yZXBsYWNlKCBcIiUxJHNcIiwgXCJ7e2F9fVwiICk7XG5cdG1lc3NhZ2UgPSBtZXNzYWdlLnJlcGxhY2UoIFwiJTIkc1wiLCBcInt7L2F9fVwiICk7XG5cblx0Ly8gVGhlc2UgYXJlIGhlcmUgdG8ga2VlcCB0aGUgc3RyaW5nIHRoZSBzYW1lIGFzIGluIHRoZSBQSFBcblx0bWVzc2FnZSA9IG1lc3NhZ2UucmVwbGFjZSggXCIlMyRzXCIsIFwie3tzdGFydEFuYWx5c2lzfX1cIiApO1xuXHRtZXNzYWdlID0gbWVzc2FnZS5yZXBsYWNlKCBcIiU0JHNcIiwgXCJ7ey9zdGFydEFuYWx5c2lzfX1cIiApO1xuXG5cdG1lc3NhZ2UgPSBtZXNzYWdlLnJlcGxhY2UoIFwiXFxuXFxuXCIsIFwie3ticiAvfX17e2JyIC99fVwiICk7XG5cblx0Ly8gRGlzYWJsZSByZWFzb246IHRoZSBhbmNob3IgZG9lcyBoYXZlIGNvbnRlbnQsIEVTTGludCBkb2Vzbid0IHVuZGVyc3RhbmQgaW50ZXJwb2xhdGVDb21wb25lbnRzXG5cdC8qIGVzbGludC1kaXNhYmxlIGpzeC1hMTF5L2FuY2hvci1oYXMtY29udGVudCAqL1xuXHRtZXNzYWdlID0gaW50ZXJwb2xhdGVDb21wb25lbnRzKCB7XG5cdFx0bWl4ZWRTdHJpbmc6IG1lc3NhZ2UsXG5cdFx0Y29tcG9uZW50czoge1xuXHRcdFx0Ly8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHJlYWN0L2pzeC1uby10YXJnZXQtYmxhbmtcblx0XHRcdGE6IDxhIGhyZWY9eyB3cHNlb0FkbWluTDEwblsgXCJzaG9ydGxpbmtzLm5vdGlmaWNhdGlvbl9pbnRlcm5hbF9saW5rXCIgXSB9IHRhcmdldD1cIl9ibGFua1wiIC8+LFxuXHRcdFx0c3RhcnRBbmFseXNpczogPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgY2xhc3NOYW1lPVwiYnV0dG9uXCIgb25DbGljaz17IHN0YXJ0QW5hbHl6aW5nIH0gLz4sXG5cdFx0XHRicjogPGJyIC8+LFxuXHRcdH0sXG5cdH0gKTtcblx0LyogZXNsaW50LWVuYWJsZSBqc3gtYTExeS9hbmNob3ItaGFzLWNvbnRlbnQgKi9cblxuXHRyZXR1cm4gPGRpdiBjbGFzc05hbWU9XCJub3RpY2Ugbm90aWNlLXdhcm5pbmcgbm90aWNlLWFsdCB3cHNlby1ub3RpY2UtYnJlYWtvdXQtaW5zaWRlIHlvYXN0LWxpbmtzLXN1Z2dlc3Rpb25zLW5vdGljZVwiPjxwPnsgbWVzc2FnZSB9PC9wPjwvZGl2Pjtcbn07XG5cbi8qKlxuICogTGluayBzdWdnZXN0aW9ucyBtZXRhYm94IGNvbXBvbmVudC5cbiAqXG4gKiBAcGFyYW0ge09iamVjdH0gIHByb3BzICAgICAgICAgICAgIFRoZSBwcm9wZXJ0aWVzIGZvciB0aGlzIGNvbXBvbmVudHMuXG4gKiBAcGFyYW0ge2Jvb2xlYW59IHByb3BzLmlzTG9hZGluZyAgIFdoZXRoZXIgdGhpcyBjb21wb25lbnQgc2hvdWxkIHN0YXJ0IG9mIHNob3dpbmcgYSBsb2FkZXIuXG4gKiBAcGFyYW0ge0FycmF5fSAgIHByb3BzLnN1Z2dlc3Rpb25zIFRoZSBzdWdnZXN0aW9ucyB0byByZW5kZXIgaW5pdGlhbGx5LlxuICogQHBhcmFtIHtPYmplY3R9ICBwcm9wcy5zdWdnZXN0ZXIgICBUaGUgTGlua1N1Z2dlc3RlciBjb21wb25lbnQuXG4gKlxuICogQHJldHVybnMge0pTWC5FbGVtZW50fSBUaGUgcmVuZGVyZWQgZWxlbWVudC5cbiAqL1xuY29uc3QgTWV0YWJveCA9ICggcHJvcHMgKSA9PiB7XG5cdC8vIFRoZSBlZmZlY3QgaXMgcmFuIG9uIG1vdW50IGFuZCBjbGVhbmVkIHVwIG9uIHVubW91bnQuXG5cdC8vIFRoYXQgaXMgd2hlbiB0aGUgSW50ZXJuYWwgTGlua2luZyBTdWdnZXN0aW9ucyBjb2xsYXBzaWJsZSBpbiB0aGUgc2lkZWJhciBpcyBvcGVuZWQvY2xvc2VkLlxuXHQvLyBUaGUgZW1wdHkgYXJyYXkgdGVsbHMgUmVhY3QgdGhhdCB0aGUgZWZmZWN0IGRvZXNu4oCZdCBkZXBlbmQgb24gYW55IHZhbHVlcyBmcm9tIHByb3BzIG9yIHN0YXRlLCBzbyBpdCBuZXZlciBuZWVkcyB0byByZS1ydW4uXG5cdHVzZUVmZmVjdCggKCkgPT4ge1xuXHRcdHByb3BzLnN1Z2dlc3Rlci5zdWJzY3JpYmUoKTtcblx0XHRyZXR1cm4gKCkgPT4ge1xuXHRcdFx0cHJvcHMuc3VnZ2VzdGVyLnVuc3Vic2NyaWJlKCk7XG5cdFx0fTtcblx0fSwgW10gKTtcblxuXHRpZiAoIHByb3BzLmlzTG9hZGluZyApIHtcblx0XHQvKiBlc2xpbnQtZGlzYWJsZSBtYXgtbGVuICovXG5cdFx0cmV0dXJuIDxkaXYgY2xhc3NOYW1lPVwieW9hc3QtbGluay1zdWdnZXN0aW9uc1wiPlxuXHRcdFx0PHA+eyBfXyggXCJJdCB0YWtlcyBhIGZldyBzZWNvbmRzIHRvIHNob3cgeW91IGEgbGlzdCBvZiByZWxhdGVkIGNvbnRlbnQgdG8gd2hpY2ggeW91IGNvdWxkIGxpbmsuIFRoZSBzdWdnZXN0aW9ucyB3aWxsIGJlIHNob3duIGhlcmUgYXMgc29vbiBhcyB3ZSBoYXZlIHRoZW0uXCIsIFwid29yZHByZXNzLXNlby1wcmVtaXVtXCIgKSB9PC9wPlxuXHRcdDwvZGl2Pjtcblx0XHQvKiBlc2xpbnQtZW5hYmxlIG1heC1sZW4gKi9cblx0fVxuXG5cdGlmICggISB5b2FzdENsaXBCb2FyZCApIHtcblx0XHR5b2FzdENsaXBCb2FyZCA9IG5ldyBDbGlwYm9hcmRKUyggXCIueW9hc3QtbGluay1zdWdnZXN0aW9uX19jb3B5XCIgKTtcblx0XHR5b2FzdENsaXBCb2FyZC5vbiggXCJzdWNjZXNzXCIsIGNsaXBib2FyZFN1Y2Nlc3MgKTtcblx0XHR5b2FzdENsaXBCb2FyZC5vbiggXCJlcnJvclwiLCBjbGlwYm9hcmRFcnJvciApO1xuXHR9XG5cblx0bGV0IHVuaW5kZXhlZFdhcm5pbmcgPSBudWxsO1xuXHRpZiAoIHByb3BzLnNob3dVbmluZGV4ZWRXYXJuaW5nICkge1xuXHRcdHVuaW5kZXhlZFdhcm5pbmcgPSBnZXRVbmluZGV4ZWRXYXJuaW5nKCk7XG5cdH1cblxuXHRjb25zdCBkZXRlcm1pbmVNZXNzYWdlUGFyYW1ldGVycyA9IHtcblx0XHQuLi5wcm9wcy5tZXNzYWdlRGF0YSxcblx0XHRoYXNXb3Jkc0Zvckxpbmtpbmc6IEFycmF5LmlzQXJyYXkoIHByb3BzLndvcmRzRm9yTGlua2luZyApICYmIHByb3BzLndvcmRzRm9yTGlua2luZy5sZW5ndGggPiAwLFxuXHR9O1xuXG5cdGNvbnN0IGN1c3RvbU1lc3NhZ2VzID0gZGV0ZXJtaW5lU3VnZ2VzdGlvbnNDdXN0b21NZXNzYWdlKCBkZXRlcm1pbmVNZXNzYWdlUGFyYW1ldGVycyApO1xuXG5cdHJldHVybiA8ZGl2IGNsYXNzTmFtZT1cInlvYXN0LWxpbmstc3VnZ2VzdGlvbnNcIj5cblx0XHR7IHVuaW5kZXhlZFdhcm5pbmcgfVxuXHRcdDxMaW5rU3VnZ2VzdGlvbnMgc3VnZ2VzdGlvbnM9eyBwcm9wcy5zdWdnZXN0aW9ucyB9IGN1c3RvbU1lc3NhZ2VzPXsgY3VzdG9tTWVzc2FnZXMgfSAvPlxuXHQ8L2Rpdj47XG59O1xuXG5NZXRhYm94LnByb3BUeXBlcyA9IHtcblx0c3VnZ2VzdGVyOiBQcm9wVHlwZXMub2JqZWN0LFxuXHRzdWdnZXN0aW9uczogUHJvcFR5cGVzLmFycmF5LmlzUmVxdWlyZWQsXG5cdHdvcmRzRm9yTGlua2luZzogUHJvcFR5cGVzLmFycmF5LFxuXHRtZXNzYWdlRGF0YTogUHJvcFR5cGVzLm9iamVjdCxcblx0aXNMb2FkaW5nOiBQcm9wVHlwZXMuYm9vbC5pc1JlcXVpcmVkLFxuXHRzaG93VW5pbmRleGVkV2FybmluZzogUHJvcFR5cGVzLmJvb2wsXG59O1xuXG5NZXRhYm94LmRlZmF1bHRQcm9wcyA9IHtcblx0c3VnZ2VzdGVyOiBudWxsLFxuXHRzaG93VW5pbmRleGVkV2FybmluZzogZmFsc2UsXG5cdG1lc3NhZ2VEYXRhOiB7XG5cdFx0aGFzTWV0YURlc2NyaXB0aW9uOiBmYWxzZSxcblx0XHRoYXNUaXRsZTogZmFsc2UsXG5cdH0sXG5cdHdvcmRzRm9yTGlua2luZzogW10sXG59O1xuXG5leHBvcnQgZGVmYXVsdCBNZXRhYm94O1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBQUE7QUFDQTtBQUNBO0FBUUE7QUFDQTtBQUNBO0FBWEE7QUFDQTs7O0FBQUE7QUFDQTs7O0FBQUE7QUFDQTs7O0FBQUE7QUFDQTs7O0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBOzs7QUFFQTtBQUNBOzs7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7Ozs7O0FBTUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7Ozs7O0FBTUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7OztBQUtBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUZBO0FBSEE7QUFRQTtBQUNBO0FBQ0E7Ozs7O0FBS0E7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUhBO0FBTUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFBQTtBQUFBO0FBSEE7QUFNQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFIQTtBQUNBO0FBS0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUZBO0FBRkE7QUFDQTtBQU9BOzs7OztBQUtBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7Ozs7Ozs7QUFRQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBWkE7QUFjQTtBQUNBO0FBQ0E7QUFDQTs7Ozs7Ozs7Ozs7O0FBWUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUlBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRkE7QUFJQTtBQUNBO0FBQ0E7Ozs7O0FBS0E7QUFDQTs7QUFFQTtBQUNBO0FBSUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBSkE7QUFGQTtBQVNBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7Ozs7Ozs7Ozs7QUFVQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFEQTtBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBRkE7QUFDQTtBQUlBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBRkE7QUFJQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFOQTtBQUNBO0FBUUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRkE7QUFJQTtBQVBBO0FBQ0E7QUFTQSIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///41\n')},function(module,exports,__webpack_require__){"use strict";eval('\n\nObject.defineProperty(exports, "__esModule", {\n\tvalue: true\n});\n\nvar _react = __webpack_require__(8);\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _propTypes = __webpack_require__(3);\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar _styledComponents = __webpack_require__(11);\n\nvar _styledComponents2 = _interopRequireDefault(_styledComponents);\n\nvar _i18n = __webpack_require__(1);\n\nvar _styleGuide = __webpack_require__(19);\n\nvar _components = __webpack_require__(6);\n\nvar _helpers = __webpack_require__(14);\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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiNDIuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vYXNzZXRzL2pzL3NyYy9jb21wb25lbnRzL0xpbmtTdWdnZXN0aW9uLmpzP2I0ODgiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tIFwicHJvcC10eXBlc1wiO1xuaW1wb3J0IHN0eWxlZCBmcm9tIFwic3R5bGVkLWNvbXBvbmVudHNcIjtcbmltcG9ydCB7IF9fLCBzcHJpbnRmIH0gZnJvbSBcIkB3b3JkcHJlc3MvaTE4blwiO1xuaW1wb3J0IHsgY29sb3JzIH0gZnJvbSBcIkB5b2FzdC9zdHlsZS1ndWlkZVwiO1xuaW1wb3J0IHsgU2NyZWVuUmVhZGVyVGV4dCB9IGZyb20gXCJAeW9hc3QvY29tcG9uZW50c1wiO1xuaW1wb3J0IHsgbWFrZU91dGJvdW5kTGluaywgY3JlYXRlU3ZnSWNvbkNvbXBvbmVudCB9IGZyb20gXCJAeW9hc3QvaGVscGVyc1wiO1xuXG5jb25zdCBMaW5rU3VnZ2VzdGlvbldyYXBwZXIgPSBzdHlsZWQuZGl2YFxuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogbm9ybWFsO1xuXHRtaW4taGVpZ2h0OiA0MHB4O1xuXHRtYXJnaW46IDEwcHggMCA1cHg7XG5gO1xuXG4vKiBlc2xpbnQtZGlzYWJsZSBtYXgtbGVuLCBxdW90ZS1wcm9wcyAqL1xuY29uc3QgTGlua1N1Z2dlc3Rpb25TVkdJY29uID0gY3JlYXRlU3ZnSWNvbkNvbXBvbmVudCgge1xuXHRcImNvcHlcIjogeyB2aWV3Ym94OiBcIjAgMCA0NDggNTEyXCIsIHBhdGg6IFwiTTQzMy45NDEgNjUuOTQxbC01MS44ODItNTEuODgyQTQ4IDQ4IDAgMCAwIDM0OC4xMTggMEgxNzZjLTI2LjUxIDAtNDggMjEuNDktNDggNDh2NDhINDhjLTI2LjUxIDAtNDggMjEuNDktNDggNDh2MzIwYzAgMjYuNTEgMjEuNDkgNDggNDggNDhoMjI0YzI2LjUxIDAgNDgtMjEuNDkgNDgtNDh2LTQ4aDgwYzI2LjUxIDAgNDgtMjEuNDkgNDgtNDhWOTkuODgyYTQ4IDQ4IDAgMCAwLTE0LjA1OS0zMy45NDF6TTI2NiA0NjRINTRhNiA2IDAgMCAxLTYtNlYxNTBhNiA2IDAgMCAxIDYtNmg3NHYyMjRjMCAyNi41MSAyMS40OSA0OCA0OCA0OGg5NnY0MmE2IDYgMCAwIDEtNiA2em0xMjgtOTZIMTgyYTYgNiAwIDAgMS02LTZWNTRhNiA2IDAgMCAxIDYtNmgxMDZ2ODhjMCAxMy4yNTUgMTAuNzQ1IDI0IDI0IDI0aDg4djIwMmE2IDYgMCAwIDEtNiA2em02LTI1NmgtNjRWNDhoOS42MzJjMS41OTEgMCAzLjExNy42MzIgNC4yNDMgMS43NTdsNDguMzY4IDQ4LjM2OGE2IDYgMCAwIDEgMS43NTcgNC4yNDNWMTEyelwiIH0sXG5cdFwiY2hlY2tcIjogeyB2aWV3Ym94OiBcIjAgMCA1MTIgNTEyXCIsIHBhdGg6IFwiTTE3My44OTggNDM5LjQwNGwtMTY2LjQtMTY2LjRjLTkuOTk3LTkuOTk3LTkuOTk3LTI2LjIwNiAwLTM2LjIwNGwzNi4yMDMtMzYuMjA0YzkuOTk3LTkuOTk4IDI2LjIwNy05Ljk5OCAzNi4yMDQgMEwxOTIgMzEyLjY5IDQzMi4wOTUgNzIuNTk2YzkuOTk3LTkuOTk3IDI2LjIwNy05Ljk5NyAzNi4yMDQgMGwzNi4yMDMgMzYuMjA0YzkuOTk3IDkuOTk3IDkuOTk3IDI2LjIwNiAwIDM2LjIwNGwtMjk0LjQgMjk0LjQwMWMtOS45OTggOS45OTctMjYuMjA3IDkuOTk3LTM2LjIwNC0uMDAxelwiIH0sXG59ICk7XG4vKiBlc2xpbnQtZW5hYmxlICovXG5cbmNvbnN0IExpbmtTdWdnZXN0aW9uRGl2aWRlciA9IHN0eWxlZC5kaXZgXG4gICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTVlNWU1O1xuICAgd2lkdGg6IDEwMCU7XG4gICBoZWlnaHQ6IDFweDtcbmA7XG5cbmNvbnN0IExpbmtTdWdnZXN0aW9uSWNvbiA9IHN0eWxlZC5idXR0b25gXG5cdGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG5cdGZsZXg6IDAgMCAzMHB4O1xuXHRoZWlnaHQ6IDMwcHg7XG5cdHdpZHRoOiAzMHB4O1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkeyBwcm9wcyA9PiBwcm9wcy5pY29uQmFja2dyb3VuZCB9O1xuXHRib3JkZXItcmFkaXVzOiA1cHg7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0b3V0bGluZTpub25lO1xuXHRib3JkZXI6IDFweCBzb2xpZCAkeyBwcm9wcyA9PiBwcm9wcy5pY29uQm9yZGVyIH07XG5cdG1hcmdpbi1sZWZ0OiAzcHg7XG5cblx0Jjpmb2N1cyB7XG5cdFx0Ym94LXNoYWRvdzogMCAwIDAgMXB4ICM1YjlkZDksIDAgMCAycHggMXB4IHJnYmEoMzAsIDE0MCwgMTkwLCAwLjgpO1xuXHR9XG5gO1xuXG5MaW5rU3VnZ2VzdGlvbkljb24ucHJvcHMgPSB7XG5cdGljb25CYWNrZ3JvdW5kOiBQcm9wVHlwZXMuc3RyaW5nLFxuXHRpY29uQm9yZGVyOiBQcm9wVHlwZXMuc3RyaW5nLFxufTtcblxuTGlua1N1Z2dlc3Rpb25JY29uLmRlZmF1bHRQcm9wcyA9IHtcblx0aWNvbkJhY2tncm91bmQ6IGNvbG9ycy4kY29sb3JfYnV0dG9uLFxuXHRpY29uQm9yZGVyOiBjb2xvcnMuJGNvbG9yX2J1dHRvbl9ib3JkZXIsXG59O1xuXG5jb25zdCBMaW5rQ29udGFpbmVyID0gc3R5bGVkLmRpdmBcblx0ZmxleDogYXV0bztcblx0bWF4LXdpZHRoOiAyMDBweDtcbmA7XG5cbmNvbnN0IExpbmsgPSBtYWtlT3V0Ym91bmRMaW5rKCBzdHlsZWQuYWBcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgICAtd2Via2l0LWxpbmUtY2xhbXA6IDI7XG4gICAgLyogLXdlYmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNhbDsgKi9cbiAgICAvKiAtbW96LWJveC1vcmllbnQ6IHZlcnRpY2FsOyAqL1xuICAgIG1heC1oZWlnaHQ6IDQwcHg7XG4gICAgbWFyZ2luLWJvdHRvbTogNHB4O1xuICAgIC13ZWJraXQtYm94LW9yaWVudDogdmVydGljYWw7XG5cdG92ZXJmbG93OiBoaWRkZW47XG5cdHBhZGRpbmc6IDAgMCA0cHg7XG5gICk7XG5cbmNvbnN0IEJhZGdlc1dyYXBwZXIgPSBzdHlsZWQuZGl2YFxuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAganVzdGlmeS1jb250ZW50OiB1bnNldDtcbiAgICBtYXJnaW4tdG9wOiA0cHg7XG5gO1xuXG5jb25zdCBCYWRnZSA9IHN0eWxlZC5zcGFuYFxuXHR3aGl0ZS1zcGFjZTogbm93cmFwO1xuXHRvdmVyZmxvdzogaGlkZGVuO1xuXHR0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcblx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRwYWRkaW5nOiAzcHggOHB4O1xuXHRmb250LXNpemU6IDAuODVlbTtcblx0YmFja2dyb3VuZC1jb2xvcjogI2YzZjRmNTtcblx0Ym9yZGVyLXJhZGl1czogMnB4O1xuXHRtYXJnaW4tYm90dG9tOiA0cHg7XG5cdG1hcmdpbi1yaWdodDogNHB4O1xuXHR0ZXh0LXRyYW5zZm9ybTogbG93ZXJjYXNlO1xuYDtcblxuLyoqXG4gKiBSZXByZXNlbnRzIGEgbGlzdCBvZiBiYWRnZXMuXG4gKlxuICogQHBhcmFtIHtzdHJpbmdbXX0gYmFkZ2VzIFRoZSBiYWRnZXMuXG4gKlxuICogQHJldHVybnMge1JlYWN0LkVsZW1lbnR9IFRoZSByZW5kZXJlZCBiYWRnZXMuXG4gKi9cbmNvbnN0IEJhZGdlcyA9ICggeyBiYWRnZXMgfSApID0+ICB7XG5cdHJldHVybiAoIDxCYWRnZXNXcmFwcGVyPlxuXHRcdHsgYmFkZ2VzLm1hcCggKCBiYWRnZSwga2V5ICkgPT4gPEJhZGdlIGtleT17IGtleSB9PnsgYmFkZ2UgfTwvQmFkZ2U+ICkgfVxuXHQ8L0JhZGdlc1dyYXBwZXI+ICk7XG59O1xuXG5CYWRnZXMucHJvcFR5cGVzID0ge1xuXHRiYWRnZXM6IFByb3BUeXBlcy5hcnJheS5pc1JlcXVpcmVkLFxufTtcblxuLyoqXG4gKiBSZXByZXNlbnRzIGEgc3VnZ2VzdGlvbiBjb21wb25lbnQgd2l0aCBhIGNvcHkgdXJsIHRvIGNsaXBib2FyZCBpY29uIGFuZCBhIHRleHQgdmFsdWUuXG4gKlxuICogQHBhcmFtIHtzdHJpbmd9ICAgdmFsdWUgICAgVGhlIHRleHQgdmFsdWUuXG4gKiBAcGFyYW0ge3N0cmluZ30gICB1cmwgICAgICBUaGUgVVJMLlxuICogQHBhcmFtIHtib29sZWFufSAgaXNBY3RpdmUgV2hldGhlciB0aGUgVVJMIGlzIGFscmVhZHkgaW4gdXNlIGluIHRoZSB0ZXh0LlxuICogQHBhcmFtIHtzdHJpbmdbXX0gbGFiZWxzICAgVGhlIGxhYmVscyBvZiBzdWdnZXN0ZWQgb2JqZWN0IChlLmcuIGNvcm5lcnN0b25lLCBwb3N0LCBtb3ZpZSwgY2F0ZWdvcnksIGV0Yy4pLlxuICpcbiAqIEByZXR1cm5zIHtSZWFjdC5FbGVtZW50fSBUaGUgcmVuZGVyZWQgc3VnZ2VzdGlvbi5cbiAqXG4gKiBAY29uc3RydWN0b3JcbiAqL1xuY29uc3QgTGlua1N1Z2dlc3Rpb24gPSAoIHsgdmFsdWUsIHVybCwgaXNBY3RpdmUsIGxhYmVscyB9ICkgPT4ge1xuXHRjb25zdCBsYWJlbCA9IF9fKCBcIkNvcHkgbGlua1wiLCBcIndvcmRwcmVzcy1zZW8tcHJlbWl1bVwiICk7XG5cdGNvbnN0IGFyaWFMYWJlbCA9IHNwcmludGYoXG5cdFx0LyogdHJhbnNsYXRvcnM6ICVzIGV4cGFuZHMgdG8gdGhlIGxpbmsgdmFsdWUgKi9cblx0XHRfXyggXCJDb3B5IGxpbmsgdG8gc3VnZ2VzdGVkIGFydGljbGU6ICVzXCIsIFwid29yZHByZXNzLXNlby1wcmVtaXVtXCIgKSxcblx0XHR2YWx1ZSxcblx0KTtcblxuXHQvKipcblx0ICogUmVzZXRzIHRoZSBidXR0b24gYXJpYS1sYWJlbCBhbmQgZGF0YS1sYWJlbCB0byB0aGVpciBkZWZhdWx0IHZhbHVlcy5cblx0ICpcblx0ICogQHBhcmFtIHtPYmplY3R9IGV2dCBUaGUgYmx1ciBTeW50aGV0aWNFdmVudCBvbiB0aGUgYnV0dG9uLlxuXHQgKlxuXHQgKiBAcmV0dXJucyB7dm9pZH1cblx0ICovXG5cdGNvbnN0IHJlc2V0TGFiZWxzID0gKCBldnQgKSA9PiB7XG5cdFx0ZXZ0Lm5hdGl2ZUV2ZW50LnRhcmdldC5zZXRBdHRyaWJ1dGUoIFwiYXJpYS1sYWJlbFwiLCBhcmlhTGFiZWwgKTtcblx0XHRldnQubmF0aXZlRXZlbnQudGFyZ2V0LnNldEF0dHJpYnV0ZSggXCJkYXRhLWxhYmVsXCIsIGxhYmVsICk7XG5cdH07XG5cblx0bGV0IGljb24gPSBcImNvcHlcIjtcblx0bGV0IGljb25Db2xvciA9IGNvbG9ycy4kY29sb3JfYmxhY2s7XG5cdGxldCBpY29uQmFja2dyb3VuZCA9IGNvbG9ycy4kY29sb3JfYnV0dG9uO1xuXHRsZXQgaWNvbkJvcmRlciA9IFwiIzk3OTc5N1wiO1xuXHRpZiAoIGlzQWN0aXZlICkge1xuXHRcdGljb24gPSBcImNoZWNrXCI7XG5cdFx0aWNvbkNvbG9yID0gY29sb3JzLiRjb2xvcl9hbGVydF9zdWNjZXNzX3RleHQ7XG5cdFx0aWNvbkJhY2tncm91bmQgPSBjb2xvcnMuJGNvbG9yX2FsZXJ0X3N1Y2Nlc3NfYmFja2dyb3VuZDtcblx0XHRpY29uQm9yZGVyID0gY29sb3JzLiRjb2xvcl9hbGVydF9zdWNjZXNzX2JhY2tncm91bmQ7XG5cdH1cblxuXHRyZXR1cm4gKFxuXHRcdDxkaXY+XG5cdFx0XHQ8TGlua1N1Z2dlc3Rpb25EaXZpZGVyIC8+XG5cdFx0XHQ8TGlua1N1Z2dlc3Rpb25XcmFwcGVyIGNsYXNzTmFtZT1cInlvYXN0LWxpbmstc3VnZ2VzdGlvbl9fd3JhcHBlclwiPlxuXHRcdFx0XHQ8TGlua0NvbnRhaW5lciBjbGFzc05hbWU9XCJ5b2FzdC1saW5rLXN1Z2dlc3Rpb25fX2NvbnRhaW5lclwiPlxuXHRcdFx0XHRcdDxMaW5rIGhyZWY9eyB1cmwgfT57IHZhbHVlIH08L0xpbms+XG5cdFx0XHRcdFx0PEJhZGdlcyBiYWRnZXM9eyBsYWJlbHMgfSAvPlxuXHRcdFx0XHQ8L0xpbmtDb250YWluZXI+XG5cdFx0XHRcdDxMaW5rU3VnZ2VzdGlvbkljb25cblx0XHRcdFx0XHR0eXBlPVwiYnV0dG9uXCJcblx0XHRcdFx0XHRjbGFzc05hbWU9XCJ5b2FzdC1saW5rLXN1Z2dlc3Rpb25fX2NvcHkgeW9hc3QtdG9vbHRpcCB5b2FzdC10b29sdGlwLWFsdCB5b2FzdC10b29sdGlwLXNcIlxuXHRcdFx0XHRcdG9uQmx1cj17IHJlc2V0TGFiZWxzIH1cblx0XHRcdFx0XHRkYXRhLWNsaXBib2FyZC10ZXh0PXsgdXJsIH1cblx0XHRcdFx0XHRhcmlhLWxhYmVsPXsgYXJpYUxhYmVsIH1cblx0XHRcdFx0XHRkYXRhLWxhYmVsPXsgbGFiZWwgfVxuXHRcdFx0XHRcdGljb25CYWNrZ3JvdW5kPXsgaWNvbkJhY2tncm91bmQgfVxuXHRcdFx0XHRcdGljb25Cb3JkZXI9eyBpY29uQm9yZGVyIH1cblx0XHRcdFx0PlxuXHRcdFx0XHRcdDxMaW5rU3VnZ2VzdGlvblNWR0ljb24gaWNvbj17IGljb24gfSBjb2xvcj17IGljb25Db2xvciB9IC8+XG5cdFx0XHRcdFx0PFNjcmVlblJlYWRlclRleHQ+eyBsYWJlbCB9PC9TY3JlZW5SZWFkZXJUZXh0PlxuXHRcdFx0XHQ8L0xpbmtTdWdnZXN0aW9uSWNvbj5cblx0XHRcdDwvTGlua1N1Z2dlc3Rpb25XcmFwcGVyPlxuXHRcdDwvZGl2PlxuXHQpO1xufTtcblxuTGlua1N1Z2dlc3Rpb24ucHJvcFR5cGVzID0ge1xuXHR2YWx1ZTogUHJvcFR5cGVzLnN0cmluZy5pc1JlcXVpcmVkLFxuXHR1cmw6IFByb3BUeXBlcy5zdHJpbmcuaXNSZXF1aXJlZCxcblx0aXNBY3RpdmU6IFByb3BUeXBlcy5ib29sLFxuXHRsYWJlbHM6IFByb3BUeXBlcy5hcnJheS5pc1JlcXVpcmVkLFxufTtcblxuTGlua1N1Z2dlc3Rpb24uZGVmYXVsdFByb3BzID0ge1xuXHRpc0FjdGl2ZTogZmFsc2UsXG59O1xuXG5leHBvcnQgZGVmYXVsdCBMaW5rU3VnZ2VzdGlvbjtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUE7QUFDQTs7O0FBQUE7QUFDQTs7O0FBQUE7QUFDQTs7O0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTs7O0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQU1BO0FBQ0E7QUFDQTtBQUNBO0FBRkE7QUFJQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUtBO0FBQUE7QUFBQTtBQUFBO0FBS0E7QUFBQTtBQUlBO0FBQUE7QUFDQTtBQU9BO0FBQ0E7QUFDQTtBQUZBO0FBQ0E7QUFJQTtBQUNBO0FBQ0E7QUFGQTtBQUNBO0FBSUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUlBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFZQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBT0E7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQWFBOzs7Ozs7O0FBT0E7QUFBQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFEQTtBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBREE7QUFDQTtBQUdBOzs7Ozs7Ozs7Ozs7QUFZQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBR0E7Ozs7Ozs7QUFPQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQ0E7QUFBQTtBQUFBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBRkE7QUFJQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBUkE7QUFVQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFYQTtBQUxBO0FBRkE7QUF1QkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFKQTtBQUNBO0FBTUE7QUFDQTtBQURBO0FBQ0E7QUFHQSIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///42\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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiNDQuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vYXNzZXRzL2pzL3NyYy9mdW5jdGlvbnMvbGlua1N1Z2dlc3Rpb25zRW5hYmxlZC5qcz8yYWFlIl0sInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogRGV0ZXJtaW5lcyB3aGV0aGVyIG9yIG5vdCBsaW5rIHN1Z2dlc3Rpb25zIGFyZSBlbmFibGVkLlxuICpcbiAqIEByZXR1cm5zIHtib29sZWFufSBXaGV0aGVyIG9yIG5vdCBsaW5rIHN1Z2dlc3Rpb25zIGFyZSBlbmFibGVkLlxuICovXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBsaW5rU3VnZ2VzdGlvbnNFbmFibGVkKCkge1xuXHRyZXR1cm4gd2luZG93Lndwc2VvUHJlbWl1bU1ldGFib3hEYXRhLmRhdGEubGlua1N1Z2dlc3Rpb25zRW5hYmxlZCA9PT0gXCJlbmFibGVkXCIgJiZcblx0XHR3aW5kb3cud3BzZW9QcmVtaXVtTWV0YWJveERhdGEuZGF0YS5saW5rU3VnZ2VzdGlvbnNBdmFpbGFibGU7XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7O0FBS0E7QUFMQTs7Ozs7QUFLQTtBQUNBO0FBRUEiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///44\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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiODIuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vYXNzZXRzL2pzL3NyYy9mdW5jdGlvbnMvcmVjdXJzZU92ZXJCbG9ja3MuanM/NzY4NCJdLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiogUnVucyBhIGZ1bmN0aW9uIG92ZXIgYWxsIGJsb2NrcywgaW5jbHVkaW5nIG5lc3RlZCBibG9ja3MuXG4qXG4qIEBwYXJhbSB7T2JqZWN0W119IGJsb2NrcyAgIFRoZSBibG9ja3MuXG4qIEBwYXJhbSB7ZnVuY3Rpb259IGNhbGxiYWNrIFRoZSBjYWxsYmFjay5cbipcbiogQHJldHVybnMge3ZvaWR9XG4qL1xuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gcmVjdXJzZU92ZXJCbG9ja3MoIGJsb2NrcywgY2FsbGJhY2sgKSB7XG5cdGZvciAoIGNvbnN0IGJsb2NrIG9mIGJsb2NrcyApIHtcblx0XHQvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgY2FsbGJhY2stcmV0dXJuXG5cdFx0Y2FsbGJhY2soIGJsb2NrICk7XG5cdFx0aWYgKCBibG9jay5pbm5lckJsb2NrcyApIHtcblx0XHRcdHJlY3Vyc2VPdmVyQmxvY2tzKCBibG9jay5pbm5lckJsb2NrcywgY2FsbGJhY2sgKTtcblx0XHR9XG5cdH1cbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFRQTtBQVJBOzs7Ozs7OztBQVFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFEQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQVBBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFRQSIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///82\n')},,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,function(module,exports,__webpack_require__){"use strict";eval("\n\nvar _relatedLinksBlock = __webpack_require__(115);\n\nvar _relatedLinksBlock2 = _interopRequireDefault(_relatedLinksBlock);\n\nvar _tableOfContentsBlock = __webpack_require__(116);\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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMTE0LmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vL2Fzc2V0cy9qcy9zcmMvYmxvY2tzLmpzPzI4OTgiXSwic291cmNlc0NvbnRlbnQiOlsiLy8gSW50ZXJuYWwgZGVwZW5kZW5jaWVzLlxuaW1wb3J0IHJlZ2lzdGVyUmVsYXRlZFBvc3RzQmxvY2sgZnJvbSBcIi4vYmxvY2tzL3JlbGF0ZWQtbGlua3MtYmxvY2tcIjtcbmltcG9ydCByZWdpc3RlclRhYmxlT2ZDb250ZW50c0Jsb2NrIGZyb20gXCIuL2Jsb2Nrcy90YWJsZS1vZi1jb250ZW50cy1ibG9ja1wiO1xuXG5yZWdpc3RlclJlbGF0ZWRQb3N0c0Jsb2NrKCk7XG5yZWdpc3RlclRhYmxlT2ZDb250ZW50c0Jsb2NrKCk7XG4iXSwibWFwcGluZ3MiOiI7O0FBQ0E7QUFDQTs7O0FBQUE7QUFDQTs7Ozs7QUFIQTtBQUlBO0FBQ0EiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///114\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 YoastSEO wpseoPremiumMetaboxData */\n// External dependencies.\n\n\n// Yoast dependencies.\n\n\n// Internal dependencies.\n\n\nexports.default = register;\n\nvar _blocks = __webpack_require__(23);\n\nvar _blockEditor = __webpack_require__(7);\n\nvar _components = __webpack_require__(5);\n\nvar _data = __webpack_require__(4);\n\nvar _domReady = __webpack_require__(35);\n\nvar _domReady2 = _interopRequireDefault(_domReady);\n\nvar _element = __webpack_require__(0);\n\nvar _i18n = __webpack_require__(1);\n\nvar _lodash = __webpack_require__(2);\n\nvar _yoastComponents = __webpack_require__(13);\n\nvar _LinkSuggestions = __webpack_require__(41);\n\nvar _linkSuggestionsIsSupported = __webpack_require__(34);\n\nvar _linkSuggestionsIsSupported2 = _interopRequireDefault(_linkSuggestionsIsSupported);\n\nvar _recurseOverBlocks = __webpack_require__(82);\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 linkSuggester = (0, _lodash.get)(YoastSEO, "analysis.linkSuggester");\n\tif (linkSuggester) {\n\t\tYoastSEO.analysis.linkSuggester.update();\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\t/**\n * Reloads the suggestions.\n *\n * @returns {void}\n */\n\n\tvar reloadSuggestions = function reloadSuggestions() {\n\t\tsetAttributes({ status: "loading" });\n\t\tupdateSuggestions(clientId);\n\t};\n\n\t(0, _element.useEffect)(function () {\n\t\tif (status !== "loaded") {\n\t\t\treloadSuggestions();\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\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\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\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: (0, _i18n.__)("Yoast Related Links", "wordpress-seo-premium"),\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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMTE1LmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vL2Fzc2V0cy9qcy9zcmMvYmxvY2tzL3JlbGF0ZWQtbGlua3MtYmxvY2suanM/ZWIyNiJdLCJzb3VyY2VzQ29udGVudCI6WyIvKiBnbG9iYWwgWW9hc3RTRU8gd3BzZW9QcmVtaXVtTWV0YWJveERhdGEgKi9cbi8vIEV4dGVybmFsIGRlcGVuZGVuY2llcy5cbmltcG9ydCB7IHJlZ2lzdGVyQmxvY2tUeXBlLCB1bnJlZ2lzdGVyQmxvY2tUeXBlLCBjcmVhdGVCbG9jayB9IGZyb20gXCJAd29yZHByZXNzL2Jsb2Nrc1wiO1xuaW1wb3J0IHsgQmxvY2tDb250cm9scywgUmljaFRleHQgfSBmcm9tIFwiQHdvcmRwcmVzcy9ibG9jay1lZGl0b3JcIjtcbmltcG9ydCB7IFRvb2xiYXJHcm91cCB9IGZyb20gXCJAd29yZHByZXNzL2NvbXBvbmVudHNcIjtcbmltcG9ydCB7IGRpc3BhdGNoLCBzZWxlY3QsIHN1YnNjcmliZSB9IGZyb20gXCJAd29yZHByZXNzL2RhdGFcIjtcbmltcG9ydCBkb21SZWFkeSBmcm9tIFwiQHdvcmRwcmVzcy9kb20tcmVhZHlcIjtcbmltcG9ydCB7IEZyYWdtZW50LCB1c2VDYWxsYmFjaywgdXNlRWZmZWN0IH0gZnJvbSBcIkB3b3JkcHJlc3MvZWxlbWVudFwiO1xuaW1wb3J0IHsgX18gfSBmcm9tIFwiQHdvcmRwcmVzcy9pMThuXCI7XG5pbXBvcnQgeyBnZXQgfSBmcm9tIFwibG9kYXNoXCI7XG5cbi8vIFlvYXN0IGRlcGVuZGVuY2llcy5cbmltcG9ydCB7IHRyYW5zbGF0ZSB9IGZyb20gXCJ5b2FzdC1jb21wb25lbnRzXCI7XG5cbi8vIEludGVybmFsIGRlcGVuZGVuY2llcy5cbmltcG9ydCB7IGdldFVuaW5kZXhlZFdhcm5pbmcgfSBmcm9tIFwiLi4vY29tcG9uZW50cy9MaW5rU3VnZ2VzdGlvbnNcIjtcbmltcG9ydCBsaW5rU3VnZ2VzdGlvbnNJc1N1cHBvcnRlZCBmcm9tIFwiLi4vZnVuY3Rpb25zL2xpbmtTdWdnZXN0aW9uc0lzU3VwcG9ydGVkXCI7XG5pbXBvcnQgcmVjdXJzZU92ZXJCbG9ja3MgZnJvbSBcIi4uL2Z1bmN0aW9ucy9yZWN1cnNlT3ZlckJsb2Nrc1wiO1xuXG4vLyBZb2FzdCBTRU8gZnJlZSBkZXBlbmRlbmNpZXMuXG5jb25zdCBjcmVhdGVJbnRlcnBvbGF0ZUVsZW1lbnQgPSB3aW5kb3cueW9hc3QuZWRpdG9yTW9kdWxlcy5oZWxwZXJzLmNyZWF0ZUludGVycG9sYXRlRWxlbWVudDtcblxuLyoqXG4gKiBVcGRhdGVzIHRoZSBzdGF0dXMgb2YgYSBibG9jayBpZiBpdCdzIGNoYW5nZWQuXG4gKlxuICogQHBhcmFtIHtzdHJpbmd9ICAgY2xpZW50SWQgICAgICAgICAgICAgIFRoZSBibG9jayBjbGllbnQgSUQuXG4gKiBAcGFyYW0ge3N0cmluZ30gICBuZXdTdGF0dXMgICAgICAgICAgICAgVGhlIG5ldyBzdGF0dXMuXG4gKiBAcGFyYW0ge3N0cmluZ30gICBvbGRTdGF0dXMgICAgICAgICAgICAgVGhlIG9sZCBzdGF0dXMuXG4gKiBAcGFyYW0ge2Z1bmN0aW9ufSB1cGRhdGVCbG9ja0F0dHJpYnV0ZXMgRnVuY3Rpb24gdG8gdXBkYXRlIHRoZSBibG9jayBhdHRyaWJ1dGVzLlxuICpcbiAqIEByZXR1cm5zIHt2b2lkfVxuICovXG5mdW5jdGlvbiB1cGRhdGVTdGF0dXMoIGNsaWVudElkLCBuZXdTdGF0dXMsIG9sZFN0YXR1cywgdXBkYXRlQmxvY2tBdHRyaWJ1dGVzICkge1xuXHRpZiAoIG5ld1N0YXR1cyAhPT0gb2xkU3RhdHVzICkge1xuXHRcdHVwZGF0ZUJsb2NrQXR0cmlidXRlcyggY2xpZW50SWQsIHsgc3RhdHVzOiBuZXdTdGF0dXMgfSApO1xuXHR9XG59XG5cbi8qKlxuICogU2V0cyB0aGUgbGluayBzdWdnZXN0aW9ucyBvbiB0aGUgZ2l2ZW4gYmxvY2suXG4gKlxuICogQHBhcmFtIHtzdHJpbmd9IGNsaWVudElkICAgVGhlIGNsaWVudCBJRCBvZiB0aGUgYmxvY2suXG4gKiBAcGFyYW0ge09iamVjdH0gYXR0cmlidXRlcyBUaGUgYmxvY2sgYXR0cmlidXRlcy5cbiAqXG4gKiBAcmV0dXJucyB7dm9pZH1cbiAqL1xuZnVuY3Rpb24gc2V0U3VnZ2VzdGlvbnMoIGNsaWVudElkLCBhdHRyaWJ1dGVzICkge1xuXHRjb25zdCB7XG5cdFx0bGlua1N1Z2dlc3Rpb25zQXJlVW5pbmRleGVkLFxuXHRcdGdldExpbmtTdWdnZXN0aW9ucyxcblx0XHRnZXRXb3Jkc0ZvckxpbmtpbmcsXG5cdH0gPSBzZWxlY3QoIFwieW9hc3Qtc2VvLXByZW1pdW0vZWRpdG9yXCIgKTtcblx0Y29uc3QgeyB1cGRhdGVCbG9ja0F0dHJpYnV0ZXMgfSA9IGRpc3BhdGNoKCBcImNvcmUvYmxvY2stZWRpdG9yXCIgKTtcblxuXHRpZiAoIGxpbmtTdWdnZXN0aW9uc0FyZVVuaW5kZXhlZCgpICkge1xuXHRcdHVwZGF0ZVN0YXR1cyggY2xpZW50SWQsIFwidW5pbmRleGVkXCIsIGF0dHJpYnV0ZXMuc3RhdHVzLCB1cGRhdGVCbG9ja0F0dHJpYnV0ZXMgKTtcblx0XHRyZXR1cm47XG5cdH1cblxuXHRjb25zdCB3b3Jkc0ZvckxpbmtpbmcgPSBnZXRXb3Jkc0ZvckxpbmtpbmcoKTtcblx0aWYgKCAhIEFycmF5LmlzQXJyYXkoIHdvcmRzRm9yTGlua2luZyApIHx8IHdvcmRzRm9yTGlua2luZy5sZW5ndGggPT09IDAgKSB7XG5cdFx0dXBkYXRlU3RhdHVzKCBjbGllbnRJZCwgXCJuby1jb250ZW50XCIsIGF0dHJpYnV0ZXMuc3RhdHVzLCB1cGRhdGVCbG9ja0F0dHJpYnV0ZXMgKTtcblx0XHRyZXR1cm47XG5cdH1cblxuXHRjb25zdCBzdWdnZXN0aW9ucyA9IGdldExpbmtTdWdnZXN0aW9ucygpO1xuXG5cdGlmICggc3VnZ2VzdGlvbnMubGVuZ3RoID09PSAwICkge1xuXHRcdHVwZGF0ZVN0YXR1cyggY2xpZW50SWQsIFwibm8tc3VnZ2VzdGlvbnNcIiwgYXR0cmlidXRlcy5zdGF0dXMsIHVwZGF0ZUJsb2NrQXR0cmlidXRlcyApO1xuXHRcdHJldHVybjtcblx0fVxuXG5cdGlmICggYXR0cmlidXRlcy5zdGF0dXMgIT09IFwibG9hZGluZ1wiICkge1xuXHRcdHVwZGF0ZVN0YXR1cyggY2xpZW50SWQsIFwiaGFzLXN1Z2dlc3Rpb25zXCIsIGF0dHJpYnV0ZXMuc3RhdHVzLCB1cGRhdGVCbG9ja0F0dHJpYnV0ZXMgKTtcblx0XHRyZXR1cm47XG5cdH1cblxuXHRjb25zdCBsaW5rcyA9IHN1Z2dlc3Rpb25zLm1hcCggKCBzdWdnZXN0aW9uLCBpICkgPT4gPGxpIGtleT17IGkgfT48YSBocmVmPXsgc3VnZ2VzdGlvbi51cmwgfT57IHN1Z2dlc3Rpb24udmFsdWUgfTwvYT48L2xpPiApO1xuXG5cdHVwZGF0ZUJsb2NrQXR0cmlidXRlcyggY2xpZW50SWQsIHsgdmFsdWVzOiBsaW5rcywgc3RhdHVzOiBcImxvYWRlZFwiIH0gKTtcbn1cblxuLyoqXG4gKiBTZXRzIHRoZSBsaW5rIHN1Z2dlc3Rpb25zIG9uIHRoZSBnaXZlbiBibG9jay5cbiAqXG4gKiBAcGFyYW0ge3N0cmluZ30gY2xpZW50SWQgVGhlIGNsaWVudCBJRCBvZiB0aGUgYmxvY2suXG4gKlxuICogQHJldHVybnMge3ZvaWR9XG4gKi9cbmZ1bmN0aW9uIHVwZGF0ZVN1Z2dlc3Rpb25zKCBjbGllbnRJZCApIHtcblx0aWYgKCAhIHNlbGVjdCggXCJ5b2FzdC1zZW8tcHJlbWl1bS9lZGl0b3JcIiApICkge1xuXHRcdHNldFRpbWVvdXQoIHVwZGF0ZVN1Z2dlc3Rpb25zLmJpbmQoIG51bGwsIGNsaWVudElkICksIDUwMCApO1xuXHRcdHJldHVybjtcblx0fVxuXG5cdGNvbnN0IGxpbmtTdWdnZXN0ZXIgPSBnZXQoIFlvYXN0U0VPLCBcImFuYWx5c2lzLmxpbmtTdWdnZXN0ZXJcIiApO1xuXHRpZiAoIGxpbmtTdWdnZXN0ZXIgKSB7XG5cdFx0WW9hc3RTRU8uYW5hbHlzaXMubGlua1N1Z2dlc3Rlci51cGRhdGUoKTtcblx0fVxuXG5cdGNvbnN0IHtcdGxpbmtTdWdnZXN0aW9uc0FyZUxvYWRpbmcgfSA9IHNlbGVjdCggXCJ5b2FzdC1zZW8tcHJlbWl1bS9lZGl0b3JcIiApO1xuXHRjb25zdCB7IGdldEJsb2NrQXR0cmlidXRlcyB9ICAgICAgICA9IHNlbGVjdCggXCJjb3JlL2Jsb2NrLWVkaXRvclwiICk7XG5cblx0Y29uc3QgYXR0cmlidXRlcyA9IGdldEJsb2NrQXR0cmlidXRlcyggY2xpZW50SWQgKTtcblxuXHRpZiAoIGF0dHJpYnV0ZXMuc3RhdHVzID09PSBcImxvYWRlZFwiICkge1xuXHRcdHJldHVybjtcblx0fVxuXG5cdC8vIElmIHRoZSBzdWdnZXN0aW9ucyBhcmUgc3RpbGwgbG9hZGluZyB0cnkgYWdhaW4gaW4gNTAwbXMuXG5cdGlmICggbGlua1N1Z2dlc3Rpb25zQXJlTG9hZGluZygpICkge1xuXHRcdHNldFRpbWVvdXQoIHVwZGF0ZVN1Z2dlc3Rpb25zLmJpbmQoIG51bGwsIGNsaWVudElkICksIDUwMCApO1xuXHRcdHJldHVybjtcblx0fVxuXG5cdHNldFN1Z2dlc3Rpb25zKCBjbGllbnRJZCwgYXR0cmlidXRlcyApO1xufVxuXG4vKipcbiAqIFdyYXBzIGEgbWVzc2FnZSBpbiBhIG5vdGljZS5cbiAqXG4gKiBAcGFyYW0ge3N0cmluZ3xKU1guRWxlbWVudH0gbWVzc2FnZSBUaGUgbWVzc2FnZS5cbiAqIEBwYXJhbSB7c3RyaW5nfSAgICAgICAgICAgICB0eXBlICAgIFRoZSB0eXBlIG9mIG5vdGljZS4gRGVmYXVsdHMgdG8gd2FybmluZy5cbiAqXG4gKiBAcmV0dXJucyB7SlNYLkVsZW1lbnR9IFRoZSBtZXNzYWdlIHdyYXBwZWQgaW4gYSBub3RpY2UuXG4gKi9cbmZ1bmN0aW9uIHdyYXBJbk5vdGljZSggbWVzc2FnZSwgdHlwZSA9IFwid2FybmluZ1wiICkge1xuXHRjb25zdCBjbGFzc05hbWUgPSBgbm90aWNlIG5vdGljZS0ke3R5cGV9IG5vdGljZS1hbHQgd3BzZW8tbm90aWNlLWJyZWFrb3V0LWluc2lkZSB5b2FzdC1saW5rcy1zdWdnZXN0aW9ucy1ub3RpY2VgO1xuXHRyZXR1cm4gXHQ8ZGl2IGNsYXNzTmFtZT17IGNsYXNzTmFtZSB9PlxuXHRcdDxwPnsgbWVzc2FnZSB9PC9wPlxuXHQ8L2Rpdj47XG59XG5cbi8qKlxuICogUmV0dXJucyB0aGUgd2FybmluZyB0byBzaG93IGlmIG5vIHN1Z2dlc3Rpb25zIHdlcmUgYXZhaWxhYmxlLlxuICpcbiAqIEBwYXJhbSB7c3RyaW5nfSAgIHN0YXR1cyAgICAgICAgICAgIFRoZSBibG9jayBzdGF0dXMuXG4gKiBAcGFyYW0ge2Z1bmN0aW9ufSByZWxvYWRTdWdnZXN0aW9ucyBGdW5jdGlvbiB0byByZWxvYWQgdGhlIHN1Z2dlc3Rpb25zLlxuICpcbiAqIEByZXR1cm5zIHtKU1guRWxlbWVudH0gVGhlIHdhcm5pbmcuXG4gKi9cbmZ1bmN0aW9uIGdldE5vU3VnZ2VzdGlvbnNXYXJuaW5nKCBzdGF0dXMsIHJlbG9hZFN1Z2dlc3Rpb25zICkge1xuXHRpZiAoIHN0YXR1cyA9PT0gXCJ1bmluZGV4ZWRcIiApIHtcblx0XHRyZXR1cm4gZ2V0VW5pbmRleGVkV2FybmluZygpO1xuXHR9XG5cblx0Ly8gRGlmZmVyZW50IHRyYW5zbGF0ZSBmdW5jdGlvbnMgYXJlIHVzZWQgaGVyZSB0byBtYXRjaCB1c2FnZSBpbiB0aGUgTGlua1N1Z2dlc3Rpb25zIGNvbXBvbmVudC5cblx0Ly8gVGhlIHlvYXN0LWNvbXBvbmVudHMgZG9tYWluIGlzIHVzZWQgYXMgdGhpcyBzdHJpbmcgc2hvdWxkIGV4YWN0bHkgbWF0Y2ggdGhlIHNhbWUgc3RyaW5nIHRoZXJlLlxuXHRsZXQgbWVzc2FnZSA9IF9fKCBcIldlIGNvdWxkIG5vdCBmaW5kIGFueSByZWxldmFudCBhcnRpY2xlcyBvbiB5b3VyIHdlYnNpdGUgdGhhdCB5b3UgY291bGQgbGluayB0byBmcm9tIHlvdXIgcG9zdC5cIiwgXCJ5b2FzdC1jb21wb25lbnRzXCIgKTtcblx0aWYgKCBzdGF0dXMgPT09IFwibm8tY29udGVudFwiICkge1xuXHRcdG1lc3NhZ2UgPSB0cmFuc2xhdGUoIFwiT25jZSB5b3UgYWRkIGEgYml0IG1vcmUgY29weSwgd2UnbGwgZ2l2ZSB5b3UgYSBsaXN0IG9mIHJlbGF0ZWQgY29udGVudCBoZXJlIHRvIHdoaWNoIHlvdSBjb3VsZCBsaW5rIGluIHlvdXIgcG9zdC5cIiApO1xuXHR9XG5cdGlmICggc3RhdHVzID09PSBcImxvYWRpbmdcIiApIHtcblx0XHRtZXNzYWdlID0gdHJhbnNsYXRlKCBcIkl0IHRha2VzIGEgZmV3IHNlY29uZHMgdG8gc2hvdyB5b3UgYSBsaXN0IG9mIHJlbGF0ZWQgY29udGVudCB0byB3aGljaCB5b3UgY291bGQgbGluay4gXCIgK1xuXHRcdFx0XHRcIlRoZSBzdWdnZXN0aW9ucyB3aWxsIGJlIHNob3duIGhlcmUgYXMgc29vbiBhcyB3ZSBoYXZlIHRoZW0uXCIgKTtcblx0fVxuXHRpZiAoIHN0YXR1cyA9PT0gXCJoYXMtc3VnZ2VzdGlvbnNcIiApIHtcblx0XHRtZXNzYWdlID0gPEZyYWdtZW50PlxuXHRcdFx0eyBtZXNzYWdlIH1cblx0XHRcdDxiciAvPlxuXHRcdFx0PGJyIC8+XG5cdFx0XHQ8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBjbGFzc05hbWU9XCJidXR0b25cIiBvbkNsaWNrPXsgcmVsb2FkU3VnZ2VzdGlvbnMgfT5cblx0XHRcdFx0eyBfXyggXCJMb2FkIHN1Z2dlc3Rpb25zXCIsIFwid29yZHByZXNzLXNlby1wcmVtaXVtXCIgKSB9XG5cdFx0XHQ8L2J1dHRvbj5cblx0XHQ8L0ZyYWdtZW50Pjtcblx0fVxuXHRyZXR1cm4gd3JhcEluTm90aWNlKCBtZXNzYWdlICk7XG59XG5cbi8qIGVzbGludC1kaXNhYmxlIHJlYWN0L3Byb3AtdHlwZXMgKi9cbi8qKlxuICogVGhlIGVkaXQgZnVuY3Rpb24gb2YgdGhlIHJlbGF0ZWQgbGlua3MgYmxvY2suXG4gKlxuICogQHBhcmFtIHtPYmplY3R9IHByb3BzIFRoZSBwcm9wcy5cbiAqXG4gKiBAcmV0dXJucyB7SlNYLkVsZW1lbnR9IFRoZSByZW5kZXJlZCBlZGl0LlxuICovXG5mdW5jdGlvbiBFZGl0KCB7IGNsaWVudElkLCBhdHRyaWJ1dGVzLCBzZXRBdHRyaWJ1dGVzLCBtZXJnZUJsb2Nrcywgb25SZXBsYWNlIH0gKSB7XG5cdGNvbnN0IHsgdmFsdWVzLCBzdGF0dXMgfSA9IGF0dHJpYnV0ZXM7XG5cblx0LyoqXG5cdCAqIFJlbG9hZHMgdGhlIHN1Z2dlc3Rpb25zLlxuXHQgKlxuXHQgKiBAcmV0dXJucyB7dm9pZH1cblx0ICovXG5cdGNvbnN0IHJlbG9hZFN1Z2dlc3Rpb25zID0gKCkgPT4ge1xuXHRcdHNldEF0dHJpYnV0ZXMoIHsgc3RhdHVzOiBcImxvYWRpbmdcIiB9ICk7XG5cdFx0dXBkYXRlU3VnZ2VzdGlvbnMoIGNsaWVudElkICk7XG5cdH07XG5cblx0dXNlRWZmZWN0KCAoKSA9PiB7XG5cdFx0aWYgKCBzdGF0dXMgIT09IFwibG9hZGVkXCIgKSB7XG5cdFx0XHRyZWxvYWRTdWdnZXN0aW9ucygpO1xuXHRcdH1cblx0fSwgW10gKTtcblxuXHRjb25zdCBvbkNoYW5nZSA9IHVzZUNhbGxiYWNrKCBuZXh0VmFsdWVzID0+IHtcblx0XHRzZXRBdHRyaWJ1dGVzKCB7IHZhbHVlczogbmV4dFZhbHVlcyB9ICk7XG5cdH0sIFsgc2V0QXR0cmlidXRlcyBdICk7XG5cblx0Y29uc3Qgb25TcGxpdCA9IHVzZUNhbGxiYWNrKCB2YWx1ZSA9PiB7XG5cdFx0Y3JlYXRlQmxvY2soIG5hbWUsIHsgLi4uYXR0cmlidXRlcywgdmFsdWVzOiB2YWx1ZSB9ICk7XG5cdH0sIFsgYXR0cmlidXRlcyBdICk7XG5cblx0Y29uc3Qgb25SZW1vdmUgPSB1c2VDYWxsYmFjayggKCkgPT4ge1xuXHRcdG9uUmVwbGFjZSggW10gKTtcblx0fSwgb25SZXBsYWNlICk7XG5cblx0aWYgKCAhIGxpbmtTdWdnZXN0aW9uc0lzU3VwcG9ydGVkKCkgJiYgc3RhdHVzICE9PSBcImxvYWRlZFwiICkge1xuXHRcdHJldHVybiB3cmFwSW5Ob3RpY2UoXG5cdFx0XHRjcmVhdGVJbnRlcnBvbGF0ZUVsZW1lbnQoXG5cdFx0XHRcdC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBtYXgtbGVuXG5cdFx0XHRcdF9fKCBcIllvdSBoYXZlIGRpc2FibGVkIHRoZSBMaW5rIFN1Z2dlc3Rpb25zIGZlYXR1cmUsIHdoaWNoIGlzIG5lZWRlZCBmb3IgUmVsYXRlZCBMaW5rcyB0byB3b3JrLiBJZiB5b3Ugd2FudCB0byBhZGQgcmVsYXRlZCBsaW5rcywgcGxlYXNlIGVuYWJsZSBMaW5rIFN1Z2dlc3Rpb25zIGluIHRoZSA8YT5GZWF0dXJlcyBzZXR0aW5ncy48L2E+XCIsIFwid29yZHByZXNzLXNlby1wcmVtaXVtXCIgKSxcblx0XHRcdFx0e1xuXHRcdFx0XHRcdC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSByZWFjdC9qc3gtbm8tdGFyZ2V0LWJsYW5rXG5cdFx0XHRcdFx0YTogPGEgaHJlZj17IHdwc2VvUHJlbWl1bU1ldGFib3hEYXRhLmRhdGEuc2V0dGluZ3NQYWdlVXJsIH0gdGFyZ2V0PVwiX2JsYW5rXCI+IzIxNDQxLWd1dGVuYmVyZzwvYT4sXG5cdFx0XHRcdH0sXG5cdFx0XHQpLFxuXHRcdFx0XCJlcnJvclwiLFxuXHRcdCk7XG5cdH1cblxuXHRpZiAoIHN0YXR1cyAhPT0gXCJsb2FkZWRcIiApIHtcblx0XHRyZXR1cm4gZ2V0Tm9TdWdnZXN0aW9uc1dhcm5pbmcoIHN0YXR1cywgcmVsb2FkU3VnZ2VzdGlvbnMgKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBUaGUgY29udHJvbHMgYmxvY2suXG5cdCAqXG5cdCAqIEByZXR1cm5zIHtKU1guRWxlbWVudH0gVGhlIHJlbmRlcmVkIGNvbnRyb2xzLlxuXHQgKi9cblx0Y29uc3QgY29udHJvbHMgPSAoKSA9PiAoXG5cdFx0PEJsb2NrQ29udHJvbHM+XG5cdFx0XHQ8VG9vbGJhckdyb3VwXG5cdFx0XHRcdGNvbnRyb2xzPXsgW1xuXHRcdFx0XHRcdHtcblx0XHRcdFx0XHRcdGljb246IFwiaW1hZ2Utcm90YXRlXCIsXG5cdFx0XHRcdFx0XHR0aXRsZTogX18oIFwiUmVmcmVzaCBzdWdnZXN0aW9uc1wiLCBcIndvcmRwcmVzcy1zZW8tcHJlbWl1bVwiICksXG5cdFx0XHRcdFx0XHRpc0FjdGl2ZTogZmFsc2UsXG5cdFx0XHRcdFx0XHRvbkNsaWNrOiByZWxvYWRTdWdnZXN0aW9ucyxcblx0XHRcdFx0XHR9LFxuXHRcdFx0XHRdIH1cblx0XHRcdC8+XG5cdFx0PC9CbG9ja0NvbnRyb2xzPlxuXHQpO1xuXG5cdHJldHVybiA8UmljaFRleHRcblx0XHRpZGVudGlmaWVyPVwidmFsdWVzXCJcblx0XHRtdWx0aWxpbmU9XCJsaVwiXG5cdFx0dGFnTmFtZT1cInVsXCJcblx0XHRvbkNoYW5nZT17IG9uQ2hhbmdlIH1cblx0XHR2YWx1ZT17IHZhbHVlcyB9XG5cdFx0cGxhY2Vob2xkZXI9eyBfXyggXCJXcml0ZSBsaXN04oCmXCIsIFwid29yZHByZXNzLXNlby1wcmVtaXVtXCIgKSB9XG5cdFx0b25NZXJnZT17IG1lcmdlQmxvY2tzIH1cblx0XHRvblNwbGl0PXsgb25TcGxpdCB9XG5cdFx0b25SZXBsYWNlPXsgb25SZXBsYWNlIH1cblx0XHRvblJlbW92ZT17IG9uUmVtb3ZlIH1cblx0PlxuXHRcdHsgY29udHJvbHMgfVxuXHQ8L1JpY2hUZXh0Pjtcbn1cblxuLyoqXG4gKiBSZWdpc3RlcnMgdGhlIGR5bmFtaWMgYmxvY2tzLlxuICpcbiAqIEByZXR1cm5zIHt2b2lkfVxuICovXG5mdW5jdGlvbiByZWdpc3RlckJsb2NrKCkge1xuXHQvKiBlc2xpbnQtZGlzYWJsZSByZWFjdC9kaXNwbGF5LW5hbWUgKi9cblx0cmVnaXN0ZXJCbG9ja1R5cGUoIFwieW9hc3Qtc2VvL3JlbGF0ZWQtbGlua3NcIiwge1xuXHRcdHRpdGxlOiBfXyggXCJZb2FzdCBSZWxhdGVkIExpbmtzXCIsIFwid29yZHByZXNzLXNlby1wcmVtaXVtXCIgKSxcblx0XHRpY29uOiBcImVkaXRvci11bFwiLFxuXHRcdGNhdGVnb3J5OiBcInlvYXN0LWludGVybmFsLWxpbmtpbmctYmxvY2tzXCIsXG5cdFx0ZGVzY3JpcHRpb246IF9fKCBcIkFkZHMgYSBsaXN0IG9mIGxpbmtzIHJlbGF0ZWQgdG8gdGhpcyBwYWdlLlwiLCBcIndvcmRwcmVzcy1zZW8tcHJlbWl1bVwiICksXG5cdFx0a2V5d29yZHM6IFtcblx0XHRcdF9fKCBcInNlb1wiLCBcIndvcmRwcmVzcy1zZW8tcHJlbWl1bVwiICksXG5cdFx0XHRfXyggXCJpbnRlcm5hbCBsaW5raW5nXCIsIFwid29yZHByZXNzLXNlby1wcmVtaXVtXCIgKSxcblx0XHRcdF9fKCBcInNpdGUgc3RydWN0dXJlXCIsIFwid29yZHByZXNzLXNlby1wcmVtaXVtXCIgKSxcblx0XHRcdF9fKCBcInJlbGF0ZWQgcG9zdHNcIiwgXCJ3b3JkcHJlc3Mtc2VvLXByZW1pdW1cIiApLFxuXHRcdFx0X18oIFwicmVsYXRlZCBwYWdlc1wiLCBcIndvcmRwcmVzcy1zZW8tcHJlbWl1bVwiICksXG5cdFx0XSxcblx0XHRhdHRyaWJ1dGVzOiB7XG5cdFx0XHRzdGF0dXM6IHtcblx0XHRcdFx0dHlwZTogXCJzdHJpbmdcIixcblx0XHRcdFx0XCJkZWZhdWx0XCI6IFwibG9hZGluZ1wiLFxuXHRcdFx0fSxcblx0XHRcdHZhbHVlczoge1xuXHRcdFx0XHR0eXBlOiBcInN0cmluZ1wiLFxuXHRcdFx0XHRzb3VyY2U6IFwiaHRtbFwiLFxuXHRcdFx0XHRzZWxlY3RvcjogXCJ1bFwiLFxuXHRcdFx0XHRtdWx0aWxpbmU6IFwibGlcIixcblx0XHRcdFx0XCJkZWZhdWx0XCI6IFwiXCIsXG5cdFx0XHR9LFxuXHRcdH0sXG5cdFx0ZXhhbXBsZToge1xuXHRcdFx0YXR0cmlidXRlczoge1xuXHRcdFx0XHRzdGF0dXM6IFwibG9hZGVkXCIsXG5cdFx0XHRcdHZhbHVlczogW1xuXHRcdFx0XHRcdDxsaSBrZXk9eyAxIH0+PGEgaHJlZj1cImh0dHBzOi8vZXhhbXBsZS5vcmdcIj5SZWxhdGVkIGxpbmsgMTwvYT48L2xpPixcblx0XHRcdFx0XHQ8bGkga2V5PXsgMiB9PjxhIGhyZWY9XCJodHRwczovL2V4YW1wbGUub3JnXCI+UmVsYXRlZCBsaW5rIDI8L2E+PC9saT4sXG5cdFx0XHRcdFx0PGxpIGtleT17IDMgfT48YSBocmVmPVwiaHR0cHM6Ly9leGFtcGxlLm9yZ1wiPlJlbGF0ZWQgbGluayAzPC9hPjwvbGk+LFxuXHRcdFx0XHRdLFxuXHRcdFx0fSxcblx0XHR9LFxuXHRcdC8qKlxuXHRcdCAqIFJlbmRlcnMgdGhlIGJsb2NrIGluIHRoZSBlZGl0b3IuXG5cdFx0ICpcblx0XHQgKiBAcGFyYW0ge29iamVjdH0gcHJvcHMgVGhlIFByb3BzLlxuXHRcdCAqIEByZXR1cm5zIHt3cC5FbGVtZW50fSBUaGUgY29tcG9uZW50LlxuXHRcdCAqL1xuXHRcdGVkaXQ6IEVkaXQsXG5cdFx0LyoqXG5cdFx0ICogU2F2ZXMgbm90aGluZy5cblx0XHQgKlxuXHRcdCAqIEByZXR1cm5zIHtKU1guRWxlbWVudH0gTm90aGluZy5cblx0XHQgKi9cblx0XHRzYXZlOiBmdW5jdGlvbiggeyBhdHRyaWJ1dGVzIH0gKSB7XG5cdFx0XHRpZiAoIGF0dHJpYnV0ZXMuc3RhdHVzICE9PSBcImxvYWRlZFwiICkge1xuXHRcdFx0XHRyZXR1cm4gbnVsbDtcblx0XHRcdH1cblxuXHRcdFx0cmV0dXJuIDxSaWNoVGV4dC5Db250ZW50IHRhZ05hbWU9XCJ1bFwiIG11bHRpbGluZT1cImxpXCIgdmFsdWU9eyBhdHRyaWJ1dGVzLnZhbHVlcyB9IC8+O1xuXHRcdH0sXG5cdH0gKTtcblx0LyogZXNsaW50LWVuYWJsZSByZWFjdC9kaXNwbGF5LW5hbWUgKi9cblx0LyogZXNsaW50LWVuYWJsZSByZWFjdC9wcm9wLXR5cGUgKi9cbn1cblxuLyoqXG4gKiBVbnJlZ2lzdGVycyB0aGUgZHluYW1pYyBibG9ja3MuXG4gKlxuICogQHJldHVybnMge3ZvaWR9XG4gKi9cbmZ1bmN0aW9uIHVucmVnaXN0ZXJCbG9jaygpIHtcblx0dW5yZWdpc3RlckJsb2NrVHlwZSggXCJ5b2FzdC1zZW8vcmVsYXRlZC1saW5rc1wiICk7XG59XG5cbi8qKlxuICogU2FmZWx5IGdldHMgdGhlIGxpbmsgc3VnZ2VzdGlvbnMgYXMgdGhlIHByZW1pdW0gc3RvcmUgcmVnaXN0ZXJzIGxhdGUuXG4gKlxuICogQHJldHVybnMge2FycmF5fG51bGx9IFRoZSBsaW5rIHN1Z2dlc3Rpb25zLiBOdWxsIGlmIHRoZSBzdG9yZSBoYXNuJ3QgbG9hZGVkIHlldC5cbiAqL1xuZnVuY3Rpb24gc2FmZWx5R2V0TGlua1N1Z2dlc3Rpb25zKCkge1xuXHRpZiAoIHNlbGVjdCggXCJ5b2FzdC1zZW8tcHJlbWl1bS9lZGl0b3JcIiApICkge1xuXHRcdHJldHVybiBzZWxlY3QoIFwieW9hc3Qtc2VvLXByZW1pdW0vZWRpdG9yXCIgKS5nZXRMaW5rU3VnZ2VzdGlvbnMoKTtcblx0fVxuXHRyZXR1cm4gbnVsbDtcbn1cblxuLyoqXG4gKiBTdWJzY3JpYmVzIHRvIHRoZSBzdG9yZSB0byB1cGRhdGUgYmxvY2tzIGFzIHRoZXkgYXJlIGFkZGVkIG9yIHN1Z2dlc3Rpb25zIGFyZSB1cGRhdGVkLlxuICpcbiAqIEByZXR1cm5zIHt2b2lkfVxuICovXG5mdW5jdGlvbiBzdWJzY3JpYmVUb1N0b3JlKCkge1xuXHRsZXQgYmxvY2tMaXN0ICAgPSBzZWxlY3QoIFwiY29yZS9ibG9jay1lZGl0b3JcIiApLmdldEJsb2NrcygpO1xuXHRsZXQgc3VnZ2VzdGlvbnMgPSBzYWZlbHlHZXRMaW5rU3VnZ2VzdGlvbnMoKTtcblx0Ly8gVGhlIHByZW1pdW0gc3RvcmUgcmVnaXN0ZXJzIGxhdGUgc28gYWx3YXlzIGNoZWNrIGJlZm9yZSB1c2luZyBpdC5cblxuXHRzdWJzY3JpYmUoICgpID0+IHtcblx0XHRjb25zdCB1cGRhdGVkQmxvY2tMaXN0ICAgPSBzZWxlY3QoIFwiY29yZS9ibG9jay1lZGl0b3JcIiApLmdldEJsb2NrcygpO1xuXHRcdGNvbnN0IHVwZGF0ZWRTdWdnZXN0aW9ucyA9IHNhZmVseUdldExpbmtTdWdnZXN0aW9ucygpO1xuXHRcdGNvbnN0IGJsb2NrTGlzdFVwZGF0ZWQgICA9IGJsb2NrTGlzdCAhPT0gdXBkYXRlZEJsb2NrTGlzdDtcblx0XHRjb25zdCBzdWdnZXN0aW9uc1VwZGF0ZWQgPSBzdWdnZXN0aW9ucyAhPT0gdXBkYXRlZFN1Z2dlc3Rpb25zO1xuXG5cdFx0aWYgKCBibG9ja0xpc3RVcGRhdGVkIHx8IHN1Z2dlc3Rpb25zVXBkYXRlZCApIHtcblx0XHRcdHJlY3Vyc2VPdmVyQmxvY2tzKCB1cGRhdGVkQmxvY2tMaXN0LCBibG9jayA9PiB7XG5cdFx0XHRcdGlmICggYmxvY2submFtZSAhPT0gXCJ5b2FzdC1zZW8vcmVsYXRlZC1saW5rc1wiICkge1xuXHRcdFx0XHRcdHJldHVybjtcblx0XHRcdFx0fVxuXHRcdFx0XHQvLyBJZiB0aGUgYmxvY2sgbGlzdCBoYXMgdXBkYXRlZCBvbmx5IHVwZGF0ZSBibG9jayB0aGF0IGFyZSBsb2FkaW5nLlxuXHRcdFx0XHQvLyBPdGhlcndpc2Ugd2UgZW50ZXIgYW4gaW5maW5pdGUgbG9vcC5cblx0XHRcdFx0aWYgKCBibG9ja0xpc3RVcGRhdGVkICYmIGJsb2NrLmF0dHJpYnV0ZXMuc3RhdHVzID09PSBcImxvYWRpbmdcIiApIHtcblx0XHRcdFx0XHR1cGRhdGVTdWdnZXN0aW9ucyggYmxvY2suY2xpZW50SWQgKTtcblx0XHRcdFx0XHRyZXR1cm47XG5cdFx0XHRcdH1cblx0XHRcdFx0aWYgKCBzdWdnZXN0aW9uc1VwZGF0ZWQgJiYgYmxvY2suYXR0cmlidXRlcy5zdGF0dXMgIT09IFwibG9hZGVkXCIgKSB7XG5cdFx0XHRcdFx0dXBkYXRlU3VnZ2VzdGlvbnMoIGJsb2NrLmNsaWVudElkICk7XG5cdFx0XHRcdH1cblx0XHRcdH0gKTtcblx0XHR9XG5cblx0XHRibG9ja0xpc3QgICA9IHVwZGF0ZWRCbG9ja0xpc3Q7XG5cdFx0c3VnZ2VzdGlvbnMgPSB1cGRhdGVkU3VnZ2VzdGlvbnM7XG5cdH0gKTtcbn1cblxuLyoqXG4gKiBSZWdpc3RlcnMgdGhlIGJsb2NrIGFuZCBzdWJzY3JpYmVzIHRvIHRoZSBzdG9yZS5cbiAqXG4gKiBAcmV0dXJucyB7dm9pZH1cbiAqL1xuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gcmVnaXN0ZXIoKSB7XG5cdGRvbVJlYWR5KCAoKSA9PiB7XG5cdFx0Ly8gTWlzc2luZyBkZXBlbmRlbmN5LiBXaGVuIHRoZSBtZXRhYm94IGlzIGRpc2FibGVkLCB0aGUgcmVsYXRlZCBsaW5rcyBjYW4gbm90IGZ1bmN0aW9uLlxuXHRcdGlmICggISB3aW5kb3cud3BzZW9QcmVtaXVtTWV0YWJveERhdGEgKSB7XG5cdFx0XHR1bnJlZ2lzdGVyQmxvY2soKTtcblx0XHRcdHJldHVybjtcblx0XHR9XG5cblx0XHRzdWJzY3JpYmVUb1N0b3JlKCk7XG5cdH0gKTtcblx0cmVnaXN0ZXJCbG9jaygpO1xufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQVFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQXdYQTtBQUNBO0FBdllBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBOzs7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFFQTtBQUNBO0FBRUE7QUFDQTtBQUFBO0FBQ0E7OztBQUFBO0FBQ0E7Ozs7O0FBQ0E7QUFDQTtBQUNBO0FBQ0E7Ozs7Ozs7Ozs7QUFVQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7Ozs7Ozs7QUFRQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFEQTtBQUFBO0FBQ0E7QUFPQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7Ozs7Ozs7QUFPQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBVkE7QUFBQTtBQUNBO0FBREE7QUFBQTtBQUNBO0FBYUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7Ozs7Ozs7O0FBUUE7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQUE7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBREE7QUFHQTtBQUNBO0FBQ0E7Ozs7Ozs7O0FBUUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQ0E7QUFEQTtBQUpBO0FBUUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7Ozs7O0FBT0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBRUE7Ozs7OztBQUtBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUVBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUZBO0FBT0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7Ozs7O0FBS0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFKQTtBQUZBO0FBREE7QUFEQTtBQUNBO0FBY0E7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFWQTtBQVlBO0FBWkE7QUFjQTtBQUNBO0FBQ0E7Ozs7O0FBS0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQU9BO0FBQ0E7QUFDQTtBQUNBO0FBRkE7QUFJQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFMQTtBQUxBO0FBYUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFMQTtBQURBO0FBVUE7Ozs7OztBQU1BO0FBQ0E7Ozs7O0FBS0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBckRBO0FBdURBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7Ozs7O0FBS0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7Ozs7QUFLQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7OztBQUtBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7OztBQUtBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///115\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__(2);\n\nvar _blocks = __webpack_require__(23);\n\nvar _blockEditor = __webpack_require__(7);\n\nvar _components = __webpack_require__(5);\n\nvar _data = __webpack_require__(4);\n\nvar _domReady = __webpack_require__(35);\n\nvar _domReady2 = _interopRequireDefault(_domReady);\n\nvar _element = __webpack_require__(0);\n\nvar _i18n = __webpack_require__(1);\n\nvar _headingLevelDropdown = __webpack_require__(117);\n\nvar _headingLevelDropdown2 = _interopRequireDefault(_headingLevelDropdown);\n\nvar _recurseOverBlocks = __webpack_require__(82);\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 * Get the slug from the content.\n *\n * @param {string} content The block content.\n *\n * @returns {string} Returns the slug.\n */\nfunction getSlug(content) {\n\tvar regexp = new RegExp("[^\\\\p{L}\\\\p{N}]+", "gu");\n\t// Get the slug.\n\treturn (0, _lodash.trim)((0, _lodash.deburr)(getTextWithoutMarkup(content)).replace(regexp, "-").toLowerCase(), "-");\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 = getSlug(block.attributes.content);\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: (0, _i18n.__)("Yoast Table of Contents", "wordpress-seo-premium"),\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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMTE2LmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vL2Fzc2V0cy9qcy9zcmMvYmxvY2tzL3RhYmxlLW9mLWNvbnRlbnRzLWJsb2NrLmpzPzAzOWUiXSwic291cmNlc0NvbnRlbnQiOlsiLy8gRXh0ZXJuYWwgZGVwZW5kZW5jaWVzLlxuaW1wb3J0IHsgZGVidXJyLCBpc0VtcHR5LCBpc05pbCwgaXNVbmRlZmluZWQsIHRyaW0gfSBmcm9tIFwibG9kYXNoXCI7XG5pbXBvcnQgeyByZWdpc3RlckJsb2NrVHlwZSB9IGZyb20gXCJAd29yZHByZXNzL2Jsb2Nrc1wiO1xuaW1wb3J0IHsgQmxvY2tDb250cm9scywgUmljaFRleHQgfSBmcm9tIFwiQHdvcmRwcmVzcy9ibG9jay1lZGl0b3JcIjtcbmltcG9ydCB7IFRvb2xiYXJHcm91cCB9IGZyb20gXCJAd29yZHByZXNzL2NvbXBvbmVudHNcIjtcbmltcG9ydCB7IGRpc3BhdGNoLCBzZWxlY3QsIHN1YnNjcmliZSB9IGZyb20gXCJAd29yZHByZXNzL2RhdGFcIjtcbmltcG9ydCBkb21SZWFkeSBmcm9tIFwiQHdvcmRwcmVzcy9kb20tcmVhZHlcIjtcbmltcG9ydCB7IEZyYWdtZW50LCB1c2VDYWxsYmFjayB9IGZyb20gXCJAd29yZHByZXNzL2VsZW1lbnRcIjtcbmltcG9ydCB7IF9fIH0gZnJvbSBcIkB3b3JkcHJlc3MvaTE4blwiO1xuaW1wb3J0IEhlYWRpbmdMZXZlbERyb3Bkb3duIGZyb20gXCJAd29yZHByZXNzL2Jsb2NrLWxpYnJhcnkvYnVpbGQvaGVhZGluZy9oZWFkaW5nLWxldmVsLWRyb3Bkb3duXCI7XG5cbi8vIEludGVybmFsIGRlcGVuZGVuY2llcy5cbmltcG9ydCByZWN1cnNlT3ZlckJsb2NrcyBmcm9tIFwiLi4vZnVuY3Rpb25zL3JlY3Vyc2VPdmVyQmxvY2tzXCI7XG5cbi8vIFRoaXMgZHVtbXkgZWxlbWVudCBpcyB1c2VkIHRvIHN0cmlwIGFsbCBtYXJrdXAgaW4gZ2V0VGV4dFdpdGhvdXRNYXJrdXAgYmVsb3cuXG5jb25zdCBkdW1teUVsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCBcImRpdlwiICk7XG5cbi8qKlxuICogUmV0dXJucyB0aGUgdGV4dCB3aXRob3V0IG1hcmt1cC5cbiAqXG4gKiBAcGFyYW0ge3N0cmluZ30gdGV4dCBUaGUgdGV4dC5cbiAqXG4gKiBAcmV0dXJucyB7c3RyaW5nfSBUaGUgdGV4dCB3aXRob3V0IG1hcmt1cC5cbiAqL1xuZnVuY3Rpb24gZ2V0VGV4dFdpdGhvdXRNYXJrdXAoIHRleHQgKSB7XG5cdGR1bW15RWxlbWVudC5pbm5lckhUTUwgPSB0ZXh0O1xuXHRyZXR1cm4gZHVtbXlFbGVtZW50LmlubmVyVGV4dDtcbn1cblxuLyoqXG4gKiBHZXQgdGhlIHNsdWcgZnJvbSB0aGUgY29udGVudC5cbiAqXG4gKiBAcGFyYW0ge3N0cmluZ30gY29udGVudCBUaGUgYmxvY2sgY29udGVudC5cbiAqXG4gKiBAcmV0dXJucyB7c3RyaW5nfSBSZXR1cm5zIHRoZSBzbHVnLlxuICovXG5mdW5jdGlvbiBnZXRTbHVnKCBjb250ZW50ICkge1xuXHRjb25zdCByZWdleHAgPSBuZXcgUmVnRXhwKCBcIlteXFxcXHB7TH1cXFxccHtOfV0rXCIsIFwiZ3VcIiApO1xuXHQvLyBHZXQgdGhlIHNsdWcuXG5cdHJldHVybiB0cmltKFxuXHRcdGRlYnVyciggZ2V0VGV4dFdpdGhvdXRNYXJrdXAoIGNvbnRlbnQgKSApXG5cdFx0XHQucmVwbGFjZSggcmVnZXhwLCBcIi1cIiApXG5cdFx0XHQudG9Mb3dlckNhc2UoKSxcblx0XHRcIi1cIixcblx0KTtcbn1cblxuLyoqXG4gKiBHZW5lcmF0ZXMgYW4gYW5jaG9yLlxuICpcbiAqIEBwYXJhbSB7T2JqZWN0fSAgIGJsb2NrICAgICAgICAgICAgICAgICAgICAgVGhlIGJsb2NrLlxuICogQHBhcmFtIHtzdHJpbmdbXX0ga25vd25BbmNob3JzICAgICAgICAgICAgICBUaGUga25vd24gYW5jaG9ycy5cbiAqIEBwYXJhbSB7c3RyaW5nW119IGJsb2Nrc1RoYXRXZXJlTm90SGVhZGluZ3MgVGhlIGJsb2NrIGNsaWVudCBJRHMgdGhhdCB3ZXJlbid0IGhlYWRpbmdzIGluIHRoZSBwcmV2aW91cyBzdGF0ZS5cbiAqIEBwYXJhbSB7Qm9vbGVhbn0gIGZpbGxBbGxBbmNob3JzICAgICAgICAgICAgV2hldGhlciBvciBub3QgYWxsIGVtcHR5IGFuY2hvcnMgc2hvdWxkIGJlIGZpbGxlZC5cbiAqXG4gKiBAcmV0dXJucyB7c3RyaW5nfSBUaGUgYW5jaG9yLlxuICovXG5mdW5jdGlvbiBnZW5lcmF0ZUFuY2hvciggYmxvY2ssIGtub3duQW5jaG9ycywgYmxvY2tzVGhhdFdlcmVOb3RIZWFkaW5ncywgZmlsbEFsbEFuY2hvcnMgKSB7XG5cdC8vIEd1dGVuYmVyZyBkb2Vzbid0IHNhdmUgZW1wdHkgc3RyaW5ncy5cblx0Ly8gU28gd2hlbiBhbmNob3IgaXNuJ3Qgc2V0IGZvciBhIGhlYWRpbmcgdGhhdCBhbHJlYWR5IGhhcyBjb250ZW50IHNldCBhbiBlbXB0eSBzdHJpbmcuXG5cdC8vIEhvd2V2ZXIsIGlmIG5vbmUgb2YgdGhlIGhlYWRpbmdzIGhhdmUgYW5jaG9ycywgd2Ugc2hvdWxkIGFzc3VtZSB0aGUgcGFnZSB3YXMgb2xkLCBhbmQgc3RpbGwgZ2l2ZSBhbGwgaGVhZGluZ3MgYW4gYW5jaG9yLlxuXHRpZiAoXG5cdFx0KCBpc05pbCggYmxvY2suYXR0cmlidXRlcy5hbmNob3IgKSAmJiAhIGZpbGxBbGxBbmNob3JzICkgJiZcblx0XHQhIGlzRW1wdHkoIGJsb2NrLmF0dHJpYnV0ZXMuY29udGVudCApICYmXG5cdFx0ISBibG9ja3NUaGF0V2VyZU5vdEhlYWRpbmdzLmluY2x1ZGVzKCBibG9jay5jbGllbnRJZCApXG5cdCkge1xuXHRcdHJldHVybiBcIlwiO1xuXHR9XG5cblx0Y29uc3Qgc2x1ZyA9IGdldFNsdWcoIGJsb2NrLmF0dHJpYnV0ZXMuY29udGVudCApO1xuXHRjb25zdCBiYXNlQW5jaG9yID0gYGgtJHtzbHVnfWA7XG5cdGxldCBhbmNob3IgICAgICAgPSBiYXNlQW5jaG9yO1xuXHRsZXQgaSAgICAgICAgICAgID0gMDtcblxuXHR3aGlsZSAoIGtub3duQW5jaG9ycy5pbmNsdWRlcyggYW5jaG9yICkgKSB7XG5cdFx0aSAgICAgKz0gMTtcblx0XHRhbmNob3IgPSBiYXNlQW5jaG9yICsgXCItXCIgKyBpO1xuXHR9XG5cblx0cmV0dXJuIGFuY2hvcjtcbn1cblxuLyoqXG4gKiBVcGRhdGVzIHRoZSBhbmNob3IgaWYgcmVxdWlyZWQuXG4gKlxuICogQHBhcmFtIHtCbG9ja30gICAgYmxvY2sgICAgICAgICAgICAgICAgICAgICBUaGUgYmxvY2suXG4gKiBAcGFyYW0ge09iamVjdH0gICBrbm93bkhlYWRpbmdzICAgICAgICAgICAgIFRoZSBrbm93biBoZWFkaW5ncy5cbiAqIEBwYXJhbSB7c3RyaW5nW119IGtub3duQW5jaG9ycyAgICAgICAgICAgICAgVGhlIGtub3duIGFuY2hvcnMuXG4gKiBAcGFyYW0ge3N0cmluZ1tdfSBibG9ja3NUaGF0V2VyZU5vdEhlYWRpbmdzIFRoZSBibG9jayBjbGllbnQgSURzIHRoYXQgd2VyZW4ndCBoZWFkaW5ncyBpbiB0aGUgcHJldmlvdXMgc3RhdGUuXG4gKiBAcGFyYW0ge0Jvb2xlYW59ICBmaWxsQWxsQW5jaG9ycyAgICAgICAgICAgIFdoZXRoZXIgb3Igbm90IGFsbCBlbXB0eSBhbmNob3JzIHNob3VsZCBiZSBmaWxsZWQuXG4gKlxuICogQHJldHVybnMge3N0cmluZ30gVGhlIGFuY2hvci5cbiAqL1xuZnVuY3Rpb24gbWF5YmVVcGRhdGVBbmNob3IoIGJsb2NrLCBrbm93bkhlYWRpbmdzLCBrbm93bkFuY2hvcnMsIGJsb2Nrc1RoYXRXZXJlTm90SGVhZGluZ3MsIGZpbGxBbGxBbmNob3JzICkge1xuXHRsZXQgYW5jaG9yID0gYmxvY2suYXR0cmlidXRlcy5hbmNob3I7XG5cblx0Ly8gSWYgdGhlIGJsb2NrIHdhcyBwcmV2aW91c2x5IHVua25vd24gb3IgaGFzIGNoYW5nZWQgY29udGVudCBhbmQgdGhlIGFuY2hvciBpcyBlbXB0eSBvciB3YXMgc2V0IGJ5IHVzLlxuXHRpZiAoXG5cdFx0KCAhIGtub3duSGVhZGluZ3NbIGJsb2NrLmNsaWVudElkIF0gfHwga25vd25IZWFkaW5nc1sgYmxvY2suY2xpZW50SWQgXS5jb250ZW50ICE9PSBibG9jay5hdHRyaWJ1dGVzLmNvbnRlbnQgKSAmJlxuXHRcdCggaXNOaWwoIGFuY2hvciApIHx8IGFuY2hvci5zdGFydHNXaXRoKCBcImgtXCIgKSApXG5cdCkge1xuXHRcdGFuY2hvciA9IGdlbmVyYXRlQW5jaG9yKCBibG9jaywga25vd25BbmNob3JzLCBibG9ja3NUaGF0V2VyZU5vdEhlYWRpbmdzLCBmaWxsQWxsQW5jaG9ycyApO1xuXG5cdFx0aWYgKCBhbmNob3IgIT09IGJsb2NrLmF0dHJpYnV0ZXMuYW5jaG9yICkge1xuXHRcdFx0ZGlzcGF0Y2goIFwiY29yZS9ibG9jay1lZGl0b3JcIiApLnVwZGF0ZUJsb2NrQXR0cmlidXRlcyggYmxvY2suY2xpZW50SWQsIHsgYW5jaG9yIH0gKTtcblx0XHR9XG5cdH1cblxuXHRyZXR1cm4gYW5jaG9yO1xufVxuXG4vKipcbiAqIFN1YnNjcmliZXMgdG8gdGhlIHN0b3JlIHRvIHVwZGF0ZSBibG9ja3MgYXMgdGhleSBhcmUgYWRkZWQgb3Igc3VnZ2VzdGlvbnMgYXJlIHVwZGF0ZWQuXG4gKlxuICogQHJldHVybnMge3ZvaWR9XG4gKi9cbmZ1bmN0aW9uIHN1YnNjcmliZVRvU3RvcmUoKSB7XG5cdGxldCBibG9ja0xpc3QgICAgICAgICAgICAgICAgID0gbnVsbDtcblx0bGV0IGhlYWRpbmdzSGFzaCAgICAgICAgICAgICAgPSBcIlwiO1xuXHRsZXQgdXBkYXRpbmdIZWFkaW5ncyAgICAgICAgICA9IGZhbHNlO1xuXHRsZXQgYmxvY2tzVGhhdFdlcmVOb3RIZWFkaW5ncyA9IFtdO1xuXHRjb25zdCBrbm93bkhlYWRpbmdzICAgICAgICAgICA9IHt9O1xuXG5cdHN1YnNjcmliZSggKCkgPT4ge1xuXHRcdGlmICggdXBkYXRpbmdIZWFkaW5ncyApIHtcblx0XHRcdHJldHVybjtcblx0XHR9XG5cblx0XHRjb25zdCB1cGRhdGVkQmxvY2tMaXN0ICA9IHNlbGVjdCggXCJjb3JlL2Jsb2NrLWVkaXRvclwiICkuZ2V0QmxvY2tzKCk7XG5cdFx0Y29uc3Qga25vd25BbmNob3JzICAgICAgPSBbXTtcblxuXHRcdC8vIElmIHRoZXJlIGhhdmUgYmVlbiBhbnkgY2hhbmdlIGluIHRoZSBibG9ja3MuXG5cdFx0aWYgKCBibG9ja0xpc3QgIT09IHVwZGF0ZWRCbG9ja0xpc3QgKSB7XG5cdFx0XHRjb25zdCBoZWFkaW5ncyAgICAgICAgICAgICAgICAgPSBbXTtcblx0XHRcdGNvbnN0IGJsb2Nrc1RoYXRBcmVOb3RIZWFkaW5ncyA9IFtdO1xuXHRcdFx0bGV0IHVwZGF0ZWRIZWFkaW5nc0hhc2ggICAgICAgID0gXCJcIjtcblx0XHRcdHVwZGF0aW5nSGVhZGluZ3MgICAgICAgICAgICAgICA9IHRydWU7XG5cblx0XHRcdC8qXG5cdFx0XHRMb29wIG92ZXIgYWxsIGJsb2NrcyBhbmQgdGVzdCB3aGV0aGVyIGFsbCBoZWFkaW5ncyBkb24ndCBoYXZlIGFuY2hvcnMuXG5cdFx0XHRJZiBzbywgYXNzdW1lIHRoaXMgaXMgYW4gb2xkZXIgcGFnZSB3aGljaCBoZWFkaW5ncyB3ZXJlIGFkZGVkIGJlZm9yZSBZb2FzdCBTRU8gMTUuMC5cblx0XHRcdCovXG5cdFx0XHRjb25zdCBoZWFkaW5nQW5jaG9ycyA9IFtdO1xuXHRcdFx0cmVjdXJzZU92ZXJCbG9ja3MoIHVwZGF0ZWRCbG9ja0xpc3QsIGJsb2NrID0+IHtcblx0XHRcdFx0aWYgKCBibG9jay5uYW1lID09PSBcImNvcmUvaGVhZGluZ1wiICkge1xuXHRcdFx0XHRcdGhlYWRpbmdBbmNob3JzLnB1c2goIGJsb2NrLmF0dHJpYnV0ZXMuYW5jaG9yICk7XG5cdFx0XHRcdH1cblx0XHRcdH0gKTtcblxuXHRcdFx0Ly8gSWYgYWxsIGhlYWRpbmcgYW5jaG9ycyBhcmUgdW5kZWZpbmVkLCB0aGV5IHNob3VsZCBiZSBwb3B1bGF0ZWQuXG5cdFx0XHRjb25zdCBmaWxsQWxsQW5jaG9ycyA9IGhlYWRpbmdBbmNob3JzLmV2ZXJ5KCBhbmNob3IgPT4gaXNVbmRlZmluZWQoIGFuY2hvciApICk7XG5cblx0XHRcdC8vIEZpcnN0IGxvb3Agb3ZlciBhbGwgY29yZS9oZWFkaW5nIGJsb2NrcywgZ2l2ZSB0aGVtIGFuY2hvcnMgaWYgbmVjZXNzYXJ5IGFuZCBjb2xsZWN0IGFsbCBhbmNob3JzLlxuXHRcdFx0cmVjdXJzZU92ZXJCbG9ja3MoIHVwZGF0ZWRCbG9ja0xpc3QsIGJsb2NrID0+IHtcblx0XHRcdFx0aWYgKCBibG9jay5uYW1lID09PSBcImNvcmUvaGVhZGluZ1wiICkge1xuXHRcdFx0XHRcdGNvbnN0IGhlYWRpbmcgICAgICAgICAgICAgICAgICAgPSBibG9jay5hdHRyaWJ1dGVzO1xuXHRcdFx0XHRcdGNvbnN0IGNvbnRlbnQgICAgICAgICAgICAgICAgICAgPSBnZXRUZXh0V2l0aG91dE1hcmt1cCggaGVhZGluZy5jb250ZW50ICk7XG5cdFx0XHRcdFx0Y29uc3QgYW5jaG9yICAgICAgICAgICAgICAgICAgICA9IG1heWJlVXBkYXRlQW5jaG9yKFxuXHRcdFx0XHRcdFx0YmxvY2ssXG5cdFx0XHRcdFx0XHRrbm93bkhlYWRpbmdzLFxuXHRcdFx0XHRcdFx0a25vd25BbmNob3JzLFxuXHRcdFx0XHRcdFx0YmxvY2tzVGhhdFdlcmVOb3RIZWFkaW5ncyxcblx0XHRcdFx0XHRcdGZpbGxBbGxBbmNob3JzLFxuXHRcdFx0XHRcdCk7XG5cdFx0XHRcdFx0a25vd25IZWFkaW5nc1sgYmxvY2suY2xpZW50SWQgXSA9IGhlYWRpbmc7XG5cblx0XHRcdFx0XHQvLyBFbXB0eSBzdHJpbmdzIHNob3VsZG4ndCBiZSBhZGRlZCB0byB0aGUgdGFibGUgb2YgY29udGVudHMuXG5cdFx0XHRcdFx0aWYgKCBhbmNob3IgPT09IFwiXCIgfHwgaXNFbXB0eSggY29udGVudCApICkge1xuXHRcdFx0XHRcdFx0cmV0dXJuO1xuXHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdGtub3duQW5jaG9ycy5wdXNoKCBhbmNob3IgKTtcblx0XHRcdFx0XHRoZWFkaW5ncy5wdXNoKCB7IGNvbnRlbnQsIGhyZWY6IFwiI1wiICsgYW5jaG9yLCBsZXZlbDogaGVhZGluZy5sZXZlbCB9ICk7XG5cdFx0XHRcdFx0dXBkYXRlZEhlYWRpbmdzSGFzaCArPSBcIiRcIiArIGhlYWRpbmcubGV2ZWwgKyBcIjpcIiArIGFuY2hvciArIFwiOlwiICsgY29udGVudDtcblx0XHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0XHRibG9ja3NUaGF0QXJlTm90SGVhZGluZ3MucHVzaCggYmxvY2suY2xpZW50SWQgKTtcblx0XHRcdFx0fVxuXHRcdFx0fSApO1xuXG5cdFx0XHQvLyBUaGVuIGxvb3Agb3ZlciBhbGwgdGFibGUgb2YgY29udGVudCBibG9ja3MgYW5kIGFzc2lnbiB0aGVtIHRoZSBjb2xsZWN0ZWQgYW5jaG9ycy5cblx0XHRcdHJlY3Vyc2VPdmVyQmxvY2tzKCB1cGRhdGVkQmxvY2tMaXN0LCBibG9jayA9PiB7XG5cdFx0XHRcdGlmICggYmxvY2submFtZSA9PT0gXCJ5b2FzdC1zZW8vdGFibGUtb2YtY29udGVudHNcIiApIHtcblx0XHRcdFx0XHRjb25zdCBoYXNIZWFkaW5ncyA9IGJsb2NrLmF0dHJpYnV0ZXMuaGVhZGluZ3MgJiYgYmxvY2suYXR0cmlidXRlcy5oZWFkaW5ncy5sZW5ndGggPiAwO1xuXHRcdFx0XHRcdC8vIElmIHdlIGhhdmUgbmV3IGhlYWRpbmdzIG9yIHRoZSBibG9jayBkaWRuJ3QgaGF2ZSBoZWFkaW5ncyBwcmV2aW91c2x5LlxuXHRcdFx0XHRcdGlmICggaGVhZGluZ3NIYXNoICE9PSB1cGRhdGVkSGVhZGluZ3NIYXNoIHx8ICggaGVhZGluZ3MubGVuZ3RoID4gMCAmJiAhIGhhc0hlYWRpbmdzICkgKSB7XG5cdFx0XHRcdFx0XHRkaXNwYXRjaCggXCJjb3JlL2Jsb2NrLWVkaXRvclwiICkudXBkYXRlQmxvY2tBdHRyaWJ1dGVzKCBibG9jay5jbGllbnRJZCwgeyBoZWFkaW5ncyB9ICk7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHR9ICk7XG5cblx0XHRcdHVwZGF0aW5nSGVhZGluZ3MgICAgICAgICAgPSBmYWxzZTtcblx0XHRcdGhlYWRpbmdzSGFzaCAgICAgICAgICAgICAgPSB1cGRhdGVkSGVhZGluZ3NIYXNoO1xuXHRcdFx0YmxvY2tzVGhhdFdlcmVOb3RIZWFkaW5ncyA9IGJsb2Nrc1RoYXRBcmVOb3RIZWFkaW5ncztcblx0XHR9XG5cblx0XHRibG9ja0xpc3QgPSB1cGRhdGVkQmxvY2tMaXN0O1xuXHR9ICk7XG59XG5cbi8qKlxuICogR2V0cyB0aGUgY29ycmVjdCBoZWFkaW5nIHBhcmVudC5cbiAqXG4gKiBAcGFyYW0ge09iamVjdH0gaGVhZGluZyBUaGUgaGVhZGluZy5cbiAqIEBwYXJhbSB7bnVtYmVyfSBsZXZlbCAgIFRoZSBsZXZlbCBvZiB0aGUgbmV3IGhlYWRpbmcuXG4gKlxuICogQHJldHVybnMge09iamVjdHxudWxsfSBUaGUgaGVhZGluZyBwYXJlbnQuIE51bGwgaWYgbm8gaGVhZGluZyBjYW4gYmUgZm91bmQuXG4gKi9cbmZ1bmN0aW9uIGdldEhlYWRpbmdQYXJlbnQoIGhlYWRpbmcsIGxldmVsICkge1xuXHRsZXQgY3VycmVudCA9IGhlYWRpbmc7XG5cblx0Ly8gTG9vcCBvdmVyIHRoZSBoZWFkaW5ncyBhbmNlc3RyeSB1bnRpbCB3ZSBmaW5kIG9uZSB3aXRoIGEgbG93ZXIgbGV2ZWwuXG5cdHdoaWxlICggY3VycmVudCAmJiBjdXJyZW50LmxldmVsID49IGxldmVsICkge1xuXHRcdGN1cnJlbnQgPSBjdXJyZW50LnBhcmVudDtcblx0fVxuXG5cdHJldHVybiBjdXJyZW50O1xufVxuXG4vKipcbiAqIFN0cnVjdHVyZXMgaGVhZGluZ3MuXG4gKlxuICogQHBhcmFtIHthcnJheX0gaGVhZGluZ3MgVGhlIGhlYWRpbmdzLlxuICpcbiAqIEByZXR1cm5zIHthcnJheX0gVGhlIHN0cnVjdHVyZWQgaGVhZGluZ3MuXG4gKi9cbmZ1bmN0aW9uIHN0cnVjdHVyZUhlYWRpbmdzKCBoZWFkaW5ncyApIHtcblx0Y29uc3Qgc3RydWN0dXJlZEhlYWRpbmdzID0gW107XG5cdGxldCBwcmV2aW91c0hlYWRpbmc7XG5cblx0Zm9yICggY29uc3QgaGVhZGluZyBvZiBoZWFkaW5ncyApIHtcblx0XHRjb25zdCBsZXZlbCAgICAgICAgICAgICA9IHBhcnNlSW50KCBoZWFkaW5nLmxldmVsLCAxMCApO1xuXHRcdGNvbnN0IHN0cnVjdHVyZWRIZWFkaW5nID0geyBjaGlsZHJlbjogW10sIHBhcmVudDogbnVsbCwgLi4uaGVhZGluZywgbGV2ZWwgfTtcblx0XHRjb25zdCBwYXJlbnQgICAgICAgICAgICA9IGdldEhlYWRpbmdQYXJlbnQoIHByZXZpb3VzSGVhZGluZywgbGV2ZWwgKTtcblxuXHRcdGlmICggcGFyZW50ICkge1xuXHRcdFx0c3RydWN0dXJlZEhlYWRpbmcucGFyZW50ID0gcGFyZW50O1xuXHRcdFx0cGFyZW50LmNoaWxkcmVuLnB1c2goIHN0cnVjdHVyZWRIZWFkaW5nICk7XG5cdFx0fSBlbHNlIHtcblx0XHRcdHN0cnVjdHVyZWRIZWFkaW5ncy5wdXNoKCBzdHJ1Y3R1cmVkSGVhZGluZyApO1xuXHRcdH1cblxuXHRcdHByZXZpb3VzSGVhZGluZyA9IHN0cnVjdHVyZWRIZWFkaW5nO1xuXHR9XG5cblx0cmV0dXJuIHN0cnVjdHVyZWRIZWFkaW5ncztcbn1cblxuLyoqXG4gKiBSZW5kZXJzIGEgbGlzdCBvZiBoZWFkaW5ncy5cbiAqXG4gKiBAcGFyYW0ge2FycmF5fSBoZWFkaW5ncyBUaGUgaGVhZGluZ3MsIGV4cGVjdGVkIHRvIGJlIHN0cnVjdHVyZWQgd2l0aCBzdHJ1Y3R1cmVIZWFkaW5ncy5cbiAqXG4gKiBAcmV0dXJucyB7d3AuRWxlbWVudH0gVGhlIGxpc3QuXG4gKi9cbmZ1bmN0aW9uIHJlbmRlckhlYWRpbmdMaXN0KCBoZWFkaW5ncyApIHtcblx0Y29uc3QgZWxlbWVudHMgPSBoZWFkaW5ncy5tYXAoIGhlYWRpbmcgPT4ge1xuXHRcdGxldCBjaGlsZHJlbiA9IG51bGw7XG5cdFx0aWYgKCBoZWFkaW5nLmNoaWxkcmVuICYmIGhlYWRpbmcuY2hpbGRyZW4ubGVuZ3RoID4gMCApIHtcblx0XHRcdGNoaWxkcmVuID0gcmVuZGVySGVhZGluZ0xpc3QoIGhlYWRpbmcuY2hpbGRyZW4gKTtcblx0XHR9XG5cdFx0cmV0dXJuIDxsaSBrZXk9eyBoZWFkaW5nLmhyZWYgfT48YSBocmVmPXsgaGVhZGluZy5ocmVmIH0gZGF0YS1sZXZlbD17IGhlYWRpbmcubGV2ZWwgfT57IGhlYWRpbmcuY29udGVudCB9PC9hPnsgY2hpbGRyZW4gfTwvbGk+O1xuXHR9ICk7XG5cblx0cmV0dXJuIDx1bD57IGVsZW1lbnRzIH08L3VsPjtcbn1cblxuLyoqXG4gKiBSZW5kZXJzIHRoZSB0YWJsZSBvZiBjb250ZW50cy5cbiAqXG4gKiBAcGFyYW0ge2FycmF5fSBoZWFkaW5ncyBUaGUgaGVhZGluZ3MsIGV4cGVjdGVkIHRvIGJlIHVuc3RydWN0dXJlZC5cbiAqXG4gKiBAcmV0dXJucyB7d3AuRWxlbWVudH0gVGhlIHRhYmxlIG9mIGNvbnRlbnRzLlxuICovXG5mdW5jdGlvbiByZW5kZXJUYWJsZU9mQ29udGVudHMoIGhlYWRpbmdzICkge1xuXHRpZiAoICEgaGVhZGluZ3MgfHwgaGVhZGluZ3MubGVuZ3RoID09PSAwICkge1xuXHRcdHJldHVybiBudWxsO1xuXHR9XG5cblx0aGVhZGluZ3MgPSBzdHJ1Y3R1cmVIZWFkaW5ncyggaGVhZGluZ3MgKTtcblx0cmV0dXJuIHJlbmRlckhlYWRpbmdMaXN0KCBoZWFkaW5ncyApO1xufVxuXG4vKipcbiAqIFJlZ2lzdGVycyB0aGUgZHluYW1pYyBibG9ja3MuXG4gKlxuICogQHJldHVybnMge3ZvaWR9XG4gKi9cbmZ1bmN0aW9uIHJlZ2lzdGVyQmxvY2soKSB7XG5cdC8qIGVzbGludC1kaXNhYmxlIHJlYWN0L3Byb3AtdHlwZXMgKi9cblx0LyogZXNsaW50LWRpc2FibGUgcmVhY3QvZGlzcGxheS1uYW1lICovXG5cdHJlZ2lzdGVyQmxvY2tUeXBlKCBcInlvYXN0LXNlby90YWJsZS1vZi1jb250ZW50c1wiLCB7XG5cdFx0dGl0bGU6IF9fKCBcIllvYXN0IFRhYmxlIG9mIENvbnRlbnRzXCIsIFwid29yZHByZXNzLXNlby1wcmVtaXVtXCIgKSxcblx0XHRpY29uOiBcImVkaXRvci11bFwiLFxuXHRcdGNhdGVnb3J5OiBcInlvYXN0LWludGVybmFsLWxpbmtpbmctYmxvY2tzXCIsXG5cdFx0ZGVzY3JpcHRpb246IF9fKCBcIkFkZHMgYSB0YWJsZSBvZiBjb250ZW50cyB0byB0aGlzIHBhZ2UuXCIsIFwid29yZHByZXNzLXNlby1wcmVtaXVtXCIgKSxcblx0XHRrZXl3b3JkczogW1xuXHRcdFx0X18oIFwic2VvXCIsIFwid29yZHByZXNzLXNlby1wcmVtaXVtXCIgKSxcblx0XHRcdF9fKCBcImxpbmtzXCIsIFwid29yZHByZXNzLXNlby1wcmVtaXVtXCIgKSxcblx0XHRcdF9fKCBcInNpdGUgc3RydWN0dXJlXCIsIFwid29yZHByZXNzLXNlby1wcmVtaXVtXCIgKSxcblx0XHRcdF9fKCBcInRvY1wiLCBcIndvcmRwcmVzcy1zZW8tcHJlbWl1bVwiICksXG5cdFx0XSxcblx0XHRhdHRyaWJ1dGVzOiB7XG5cdFx0XHR0aXRsZToge1xuXHRcdFx0XHR0eXBlOiBcInN0cmluZ1wiLFxuXHRcdFx0XHRzb3VyY2U6IFwiaHRtbFwiLFxuXHRcdFx0XHRzZWxlY3RvcjogXCJoMlwiLFxuXHRcdFx0XHRcImRlZmF1bHRcIjogX18oIFwiVGFibGUgb2YgY29udGVudHNcIiwgXCJ3b3JkcHJlc3Mtc2VvLXByZW1pdW1cIiApLFxuXHRcdFx0fSxcblx0XHRcdGxldmVsOiB7XG5cdFx0XHRcdHR5cGU6IFwibnVtYmVyXCIsXG5cdFx0XHRcdFwiZGVmYXVsdFwiOiAyLFxuXHRcdFx0fSxcblx0XHRcdGhlYWRpbmdzOiB7XG5cdFx0XHRcdHR5cGU6IFwiYXJyYXlcIixcblx0XHRcdFx0c291cmNlOiBcInF1ZXJ5XCIsXG5cdFx0XHRcdHNlbGVjdG9yOiBcImFcIixcblx0XHRcdFx0cXVlcnk6IHtcblx0XHRcdFx0XHRjb250ZW50OiB7XG5cdFx0XHRcdFx0XHR0eXBlOiBcInN0cmluZ1wiLFxuXHRcdFx0XHRcdFx0c291cmNlOiBcImh0bWxcIixcblx0XHRcdFx0XHR9LFxuXHRcdFx0XHRcdGhyZWY6IHtcblx0XHRcdFx0XHRcdHR5cGU6IFwic3RyaW5nXCIsXG5cdFx0XHRcdFx0XHRzb3VyY2U6IFwiYXR0cmlidXRlXCIsXG5cdFx0XHRcdFx0XHRhdHRyaWJ1dGU6IFwiaHJlZlwiLFxuXHRcdFx0XHRcdH0sXG5cdFx0XHRcdFx0bGV2ZWw6IHtcblx0XHRcdFx0XHRcdHR5cGU6IFwic3RyaW5nXCIsXG5cdFx0XHRcdFx0XHRzb3VyY2U6IFwiYXR0cmlidXRlXCIsXG5cdFx0XHRcdFx0XHRhdHRyaWJ1dGU6IFwiZGF0YS1sZXZlbFwiLFxuXHRcdFx0XHRcdH0sXG5cdFx0XHRcdH0sXG5cdFx0XHR9LFxuXHRcdH0sXG5cdFx0ZXhhbXBsZToge1xuXHRcdFx0YXR0cmlidXRlczoge1xuXHRcdFx0XHRoZWFkaW5nczogW1xuXHRcdFx0XHRcdHtcblx0XHRcdFx0XHRcdGNvbnRlbnQ6IFwiSGVhZGluZyAxXCIsXG5cdFx0XHRcdFx0XHRocmVmOiBcIiNoZWFkaW5nLTFcIixcblx0XHRcdFx0XHRcdGxldmVsOiBcIjJcIixcblx0XHRcdFx0XHR9LFxuXHRcdFx0XHRcdHtcblx0XHRcdFx0XHRcdGNvbnRlbnQ6IFwiU3ViaGVhZGluZyAxXCIsXG5cdFx0XHRcdFx0XHRocmVmOiBcIiNzdWJoZWFkaW5nLTFcIixcblx0XHRcdFx0XHRcdGxldmVsOiBcIjNcIixcblx0XHRcdFx0XHR9LFxuXHRcdFx0XHRcdHtcblx0XHRcdFx0XHRcdGNvbnRlbnQ6IFwiU3ViaGVhZGluZyAyXCIsXG5cdFx0XHRcdFx0XHRocmVmOiBcIiNzdWJoZWFkaW5nLTJcIixcblx0XHRcdFx0XHRcdGxldmVsOiBcIjNcIixcblx0XHRcdFx0XHR9LFxuXHRcdFx0XHRcdHtcblx0XHRcdFx0XHRcdGNvbnRlbnQ6IFwiSGVhZGluZyAyXCIsXG5cdFx0XHRcdFx0XHRocmVmOiBcIiNoZWFkaW5nLTJcIixcblx0XHRcdFx0XHRcdGxldmVsOiBcIjJcIixcblx0XHRcdFx0XHR9LFxuXHRcdFx0XHRdLFxuXHRcdFx0fSxcblx0XHR9LFxuXHRcdC8qKlxuXHRcdCAqIFJlbmRlcnMgdGhlIGJsb2NrIGluIHRoZSBlZGl0b3IuXG5cdFx0ICpcblx0XHQgKiBAcGFyYW0ge09iamVjdH0gcHJvcHMgVGhlIHByb3BzLlxuXHRcdCAqXG5cdFx0ICogQHJldHVybnMge3dwLkVsZW1lbnR9IFRoZSBjb21wb25lbnQuXG5cdFx0ICovXG5cdFx0ZWRpdDogZnVuY3Rpb24oIHsgYXR0cmlidXRlcywgc2V0QXR0cmlidXRlcyB9ICkge1xuXHRcdFx0Y29uc3Qgb25DaGFuZ2VUaXRsZSA9IHVzZUNhbGxiYWNrKCB0aXRsZSA9PiBzZXRBdHRyaWJ1dGVzKCB7IHRpdGxlIH0gKSwgWyBzZXRBdHRyaWJ1dGVzIF0gKTtcblx0XHRcdGNvbnN0IG9uQ2hhbmdlTGV2ZWwgPSB1c2VDYWxsYmFjayggbGV2ZWwgPT4gc2V0QXR0cmlidXRlcyggeyBsZXZlbCB9ICksIFsgc2V0QXR0cmlidXRlcyBdICk7XG5cblx0XHRcdHJldHVybiA8RnJhZ21lbnQ+XG5cdFx0XHRcdDxCbG9ja0NvbnRyb2xzPlxuXHRcdFx0XHRcdDxUb29sYmFyR3JvdXA+XG5cdFx0XHRcdFx0XHQ8SGVhZGluZ0xldmVsRHJvcGRvd25cblx0XHRcdFx0XHRcdFx0c2VsZWN0ZWRMZXZlbD17IGF0dHJpYnV0ZXMubGV2ZWwgfVxuXHRcdFx0XHRcdFx0XHRvbkNoYW5nZT17IG9uQ2hhbmdlTGV2ZWwgfVxuXHRcdFx0XHRcdFx0Lz5cblx0XHRcdFx0XHQ8L1Rvb2xiYXJHcm91cD5cblx0XHRcdFx0PC9CbG9ja0NvbnRyb2xzPlxuXHRcdFx0XHQ8ZGl2IGNsYXNzTmFtZT17IFwieW9hc3QtdGFibGUtb2YtY29udGVudHNcIiB9PlxuXHRcdFx0XHRcdDxSaWNoVGV4dCB0YWdOYW1lPXsgXCJoXCIgKyBhdHRyaWJ1dGVzLmxldmVsIH0gdmFsdWU9eyBhdHRyaWJ1dGVzLnRpdGxlIH0gb25DaGFuZ2U9eyBvbkNoYW5nZVRpdGxlIH0gLz5cblx0XHRcdFx0XHR7IHJlbmRlclRhYmxlT2ZDb250ZW50cyggYXR0cmlidXRlcy5oZWFkaW5ncyApIH1cblx0XHRcdFx0PC9kaXY+XG5cdFx0XHQ8L0ZyYWdtZW50Pjtcblx0XHR9LFxuXHRcdC8qKlxuXHRcdCAqIFNhdmVzIHRoZSBibG9jay5cblx0XHQgKlxuXHRcdCAqIEBwYXJhbSB7T2JqZWN0fSBwcm9wcyBUaGUgcHJvcHMuXG5cdFx0ICpcblx0XHQgKiBAcmV0dXJucyB7d3AuRWxlbWVudH0gVGhlIGJsb2NrLlxuXHRcdCAqL1xuXHRcdHNhdmU6IGZ1bmN0aW9uKCB7IGF0dHJpYnV0ZXMgfSApIHtcblx0XHRcdGxldCB0aXRsZSA9IG51bGw7XG5cdFx0XHRpZiAoIGF0dHJpYnV0ZXMudGl0bGUgKSB7XG5cdFx0XHRcdHRpdGxlID0gPFJpY2hUZXh0LkNvbnRlbnQgdGFnTmFtZT17IFwiaFwiICsgYXR0cmlidXRlcy5sZXZlbCB9IHZhbHVlPXsgYXR0cmlidXRlcy50aXRsZSB9IC8+O1xuXHRcdFx0fVxuXG5cdFx0XHRyZXR1cm4gPGRpdiBjbGFzc05hbWU9eyBcInlvYXN0LXRhYmxlLW9mLWNvbnRlbnRzXCIgfT5cblx0XHRcdFx0eyB0aXRsZSB9XG5cdFx0XHRcdHsgcmVuZGVyVGFibGVPZkNvbnRlbnRzKCBhdHRyaWJ1dGVzLmhlYWRpbmdzICkgfVxuXHRcdFx0PC9kaXY+O1xuXHRcdH0sXG5cdH0gKTtcblx0LyogZXNsaW50LWVuYWJsZSByZWFjdC9kaXNwbGF5LW5hbWUgKi9cblx0LyogZXNsaW50LWVuYWJsZSByZWFjdC9wcm9wLXR5cGVzICovXG59XG5cbi8qKlxuICogUmVnaXN0ZXJzIHRoZSB0YWJsZSBvZiBjb250ZW50cyBibG9jay5cbiAqXG4gKiBAcmV0dXJucyB7dm9pZH1cbiAqL1xuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gcmVnaXN0ZXIoKSB7XG5cdGRvbVJlYWR5KCAoKSA9PiB7XG5cdFx0c3Vic2NyaWJlVG9TdG9yZSgpO1xuXHR9ICk7XG5cdHJlZ2lzdGVyQmxvY2soKTtcbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUE7QUFDQTtBQUNBO0FBU0E7QUFDQTtBQUNBO0FBaVpBO0FBQ0E7QUE5WkE7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBOzs7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7OztBQUVBO0FBQ0E7Ozs7O0FBQ0E7QUFDQTtBQUNBO0FBQ0E7Ozs7Ozs7QUFPQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7Ozs7Ozs7QUFPQTtBQUNBO0FBQ0E7QUFDQTtBQU1BO0FBQ0E7QUFDQTs7Ozs7Ozs7OztBQVVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFLQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7Ozs7Ozs7OztBQVdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFJQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7OztBQUtBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7Ozs7QUFJQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFPQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7Ozs7Ozs7O0FBUUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7Ozs7O0FBT0E7QUFDQTtBQUNBO0FBQ0E7QUFIQTtBQUFBO0FBQUE7QUFDQTtBQURBO0FBSUE7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFqQkE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBa0JBO0FBQ0E7QUFDQTtBQUNBOzs7Ozs7O0FBT0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTs7Ozs7OztBQU9BO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7OztBQUtBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQU1BO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUpBO0FBTUE7QUFDQTtBQUNBO0FBRkE7QUFJQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRkE7QUFJQTtBQUNBO0FBQ0E7QUFDQTtBQUhBO0FBS0E7QUFDQTtBQUNBO0FBQ0E7QUFIQTtBQVZBO0FBSkE7QUFYQTtBQWlDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFIQTtBQU1BO0FBQ0E7QUFDQTtBQUhBO0FBTUE7QUFDQTtBQUNBO0FBSEE7QUFNQTtBQUNBO0FBQ0E7QUFIQTtBQWpCQTtBQURBO0FBMEJBOzs7Ozs7O0FBT0E7QUFBQTtBQUFBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUNBO0FBQUE7QUFBQTtBQUNBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUZBO0FBREE7QUFEQTtBQVFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFGQTtBQVRBO0FBY0E7QUFDQTs7Ozs7OztBQU9BO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBRkE7QUFJQTtBQWpIQTtBQW1IQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7OztBQUtBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///116\n')},function(module,exports,__webpack_require__){"use strict";eval('\n\nvar _interopRequireDefault = __webpack_require__(118);\n\nObject.defineProperty(exports, "__esModule", {\n value: true\n});\nexports.default = HeadingLevelDropdown;\n\nvar _element = __webpack_require__(0);\n\nvar _components = __webpack_require__(5);\n\nvar _i18n = __webpack_require__(1);\n\nvar _keycodes = __webpack_require__(31);\n\nvar _headingLevelIcon = _interopRequireDefault(__webpack_require__(119));\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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMTE3LmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy92YXIvamVua2lucy93b3Jrc3BhY2UvUGx1Z2luLVJlbGVhc2Uvd29yZHByZXNzLXNlby1wcmVtaXVtLy5yZXBvcy93b3JkcHJlc3Mtc2VvLXByZW1pdW0vbm9kZV9tb2R1bGVzL0B3b3JkcHJlc3MvYmxvY2stbGlicmFyeS9idWlsZC9oZWFkaW5nL2hlYWRpbmctbGV2ZWwtZHJvcGRvd24uanM/ZWEwNCJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxudmFyIF9pbnRlcm9wUmVxdWlyZURlZmF1bHQgPSByZXF1aXJlKFwiQGJhYmVsL3J1bnRpbWUvaGVscGVycy9pbnRlcm9wUmVxdWlyZURlZmF1bHRcIik7XG5cbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICB2YWx1ZTogdHJ1ZVxufSk7XG5leHBvcnRzLmRlZmF1bHQgPSBIZWFkaW5nTGV2ZWxEcm9wZG93bjtcblxudmFyIF9lbGVtZW50ID0gcmVxdWlyZShcIkB3b3JkcHJlc3MvZWxlbWVudFwiKTtcblxudmFyIF9jb21wb25lbnRzID0gcmVxdWlyZShcIkB3b3JkcHJlc3MvY29tcG9uZW50c1wiKTtcblxudmFyIF9pMThuID0gcmVxdWlyZShcIkB3b3JkcHJlc3MvaTE4blwiKTtcblxudmFyIF9rZXljb2RlcyA9IHJlcXVpcmUoXCJAd29yZHByZXNzL2tleWNvZGVzXCIpO1xuXG52YXIgX2hlYWRpbmdMZXZlbEljb24gPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KHJlcXVpcmUoXCIuL2hlYWRpbmctbGV2ZWwtaWNvblwiKSk7XG5cbi8qKlxuICogV29yZFByZXNzIGRlcGVuZGVuY2llc1xuICovXG5cbi8qKlxuICogSW50ZXJuYWwgZGVwZW5kZW5jaWVzXG4gKi9cbnZhciBIRUFESU5HX0xFVkVMUyA9IFsxLCAyLCAzLCA0LCA1LCA2XTtcbnZhciBQT1BPVkVSX1BST1BTID0ge1xuICBjbGFzc05hbWU6ICdibG9jay1saWJyYXJ5LWhlYWRpbmctbGV2ZWwtZHJvcGRvd24nLFxuICBpc0FsdGVybmF0ZTogdHJ1ZVxufTtcbi8qKiBAdHlwZWRlZiB7aW1wb3J0KCdAd29yZHByZXNzL2VsZW1lbnQnKS5XUENvbXBvbmVudH0gV1BDb21wb25lbnQgKi9cblxuLyoqXG4gKiBIZWFkaW5nTGV2ZWxEcm9wZG93biBwcm9wcy5cbiAqXG4gKiBAdHlwZWRlZiBXUEhlYWRpbmdMZXZlbERyb3Bkb3duUHJvcHNcbiAqXG4gKiBAcHJvcGVydHkge251bWJlcn0gICAgICAgICAgICAgICAgIHNlbGVjdGVkTGV2ZWwgVGhlIGNob3NlbiBoZWFkaW5nIGxldmVsLlxuICogQHByb3BlcnR5IHsobmV3VmFsdWU6bnVtYmVyKT0+YW55fSBvbkNoYW5nZSAgICAgIENhbGxiYWNrIHRvIHJ1biB3aGVuXG4gKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdG9vbGJhciB2YWx1ZSBpcyBjaGFuZ2VkLlxuICovXG5cbi8qKlxuICogRHJvcGRvd24gZm9yIHNlbGVjdGluZyBhIGhlYWRpbmcgbGV2ZWwgKDEgdGhyb3VnaCA2KS5cbiAqXG4gKiBAcGFyYW0ge1dQSGVhZGluZ0xldmVsRHJvcGRvd25Qcm9wc30gcHJvcHMgQ29tcG9uZW50IHByb3BzLlxuICpcbiAqIEByZXR1cm4ge1dQQ29tcG9uZW50fSBUaGUgdG9vbGJhci5cbiAqL1xuXG5mdW5jdGlvbiBIZWFkaW5nTGV2ZWxEcm9wZG93bihfcmVmKSB7XG4gIHZhciBzZWxlY3RlZExldmVsID0gX3JlZi5zZWxlY3RlZExldmVsLFxuICAgICAgb25DaGFuZ2UgPSBfcmVmLm9uQ2hhbmdlO1xuICByZXR1cm4gKDAsIF9lbGVtZW50LmNyZWF0ZUVsZW1lbnQpKF9jb21wb25lbnRzLkRyb3Bkb3duLCB7XG4gICAgcG9wb3ZlclByb3BzOiBQT1BPVkVSX1BST1BTLFxuICAgIHJlbmRlclRvZ2dsZTogZnVuY3Rpb24gcmVuZGVyVG9nZ2xlKF9yZWYyKSB7XG4gICAgICB2YXIgb25Ub2dnbGUgPSBfcmVmMi5vblRvZ2dsZSxcbiAgICAgICAgICBpc09wZW4gPSBfcmVmMi5pc09wZW47XG5cbiAgICAgIHZhciBvcGVuT25BcnJvd0Rvd24gPSBmdW5jdGlvbiBvcGVuT25BcnJvd0Rvd24oZXZlbnQpIHtcbiAgICAgICAgaWYgKCFpc09wZW4gJiYgZXZlbnQua2V5Q29kZSA9PT0gX2tleWNvZGVzLkRPV04pIHtcbiAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgICAgIG9uVG9nZ2xlKCk7XG4gICAgICAgIH1cbiAgICAgIH07XG5cbiAgICAgIHJldHVybiAoMCwgX2VsZW1lbnQuY3JlYXRlRWxlbWVudCkoX2NvbXBvbmVudHMuVG9vbGJhckJ1dHRvbiwge1xuICAgICAgICBcImFyaWEtZXhwYW5kZWRcIjogaXNPcGVuLFxuICAgICAgICBcImFyaWEtaGFzcG9wdXBcIjogXCJ0cnVlXCIsXG4gICAgICAgIGljb246ICgwLCBfZWxlbWVudC5jcmVhdGVFbGVtZW50KShfaGVhZGluZ0xldmVsSWNvbi5kZWZhdWx0LCB7XG4gICAgICAgICAgbGV2ZWw6IHNlbGVjdGVkTGV2ZWxcbiAgICAgICAgfSksXG4gICAgICAgIGxhYmVsOiAoMCwgX2kxOG4uX18pKCdDaGFuZ2UgaGVhZGluZyBsZXZlbCcpLFxuICAgICAgICBvbkNsaWNrOiBvblRvZ2dsZSxcbiAgICAgICAgb25LZXlEb3duOiBvcGVuT25BcnJvd0Rvd24sXG4gICAgICAgIHNob3dUb29sdGlwOiB0cnVlXG4gICAgICB9KTtcbiAgICB9LFxuICAgIHJlbmRlckNvbnRlbnQ6IGZ1bmN0aW9uIHJlbmRlckNvbnRlbnQoKSB7XG4gICAgICByZXR1cm4gKDAsIF9lbGVtZW50LmNyZWF0ZUVsZW1lbnQpKF9jb21wb25lbnRzLlRvb2xiYXIsIHtcbiAgICAgICAgY2xhc3NOYW1lOiBcImJsb2NrLWxpYnJhcnktaGVhZGluZy1sZXZlbC10b29sYmFyXCIsXG4gICAgICAgIF9fZXhwZXJpbWVudGFsQWNjZXNzaWJpbGl0eUxhYmVsOiAoMCwgX2kxOG4uX18pKCdDaGFuZ2UgaGVhZGluZyBsZXZlbCcpXG4gICAgICB9LCAoMCwgX2VsZW1lbnQuY3JlYXRlRWxlbWVudCkoX2NvbXBvbmVudHMuVG9vbGJhckdyb3VwLCB7XG4gICAgICAgIGlzQ29sbGFwc2VkOiBmYWxzZSxcbiAgICAgICAgY29udHJvbHM6IEhFQURJTkdfTEVWRUxTLm1hcChmdW5jdGlvbiAodGFyZ2V0TGV2ZWwpIHtcbiAgICAgICAgICB2YXIgaXNBY3RpdmUgPSB0YXJnZXRMZXZlbCA9PT0gc2VsZWN0ZWRMZXZlbDtcbiAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgaWNvbjogKDAsIF9lbGVtZW50LmNyZWF0ZUVsZW1lbnQpKF9oZWFkaW5nTGV2ZWxJY29uLmRlZmF1bHQsIHtcbiAgICAgICAgICAgICAgbGV2ZWw6IHRhcmdldExldmVsLFxuICAgICAgICAgICAgICBpc1ByZXNzZWQ6IGlzQWN0aXZlXG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIHRpdGxlOiAoMCwgX2kxOG4uc3ByaW50ZikoIC8vIHRyYW5zbGF0b3JzOiAlczogaGVhZGluZyBsZXZlbCBlLmc6IFwiMVwiLCBcIjJcIiwgXCIzXCJcbiAgICAgICAgICAgICgwLCBfaTE4bi5fXykoJ0hlYWRpbmcgJWQnKSwgdGFyZ2V0TGV2ZWwpLFxuICAgICAgICAgICAgaXNBY3RpdmU6IGlzQWN0aXZlLFxuICAgICAgICAgICAgb25DbGljazogZnVuY3Rpb24gb25DbGljaygpIHtcbiAgICAgICAgICAgICAgb25DaGFuZ2UodGFyZ2V0TGV2ZWwpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH07XG4gICAgICAgIH0pXG4gICAgICB9KSk7XG4gICAgfVxuICB9KTtcbn1cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWhlYWRpbmctbGV2ZWwtZHJvcGRvd24uanMubWFwIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///117\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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMTE4LmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy92YXIvamVua2lucy93b3Jrc3BhY2UvUGx1Z2luLVJlbGVhc2Uvd29yZHByZXNzLXNlby1wcmVtaXVtLy5yZXBvcy93b3JkcHJlc3Mtc2VvLXByZW1pdW0vbm9kZV9tb2R1bGVzL0B3b3JkcHJlc3MvYmxvY2stbGlicmFyeS9ub2RlX21vZHVsZXMvQGJhYmVsL3J1bnRpbWUvaGVscGVycy9pbnRlcm9wUmVxdWlyZURlZmF1bHQuanM/ZmNlNyJdLCJzb3VyY2VzQ29udGVudCI6WyJmdW5jdGlvbiBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KG9iaikge1xuICByZXR1cm4gb2JqICYmIG9iai5fX2VzTW9kdWxlID8gb2JqIDoge1xuICAgIFwiZGVmYXVsdFwiOiBvYmpcbiAgfTtcbn1cblxubW9kdWxlLmV4cG9ydHMgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0OyJdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///118\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__(0);\n\nvar _components = __webpack_require__(5);\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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMTE5LmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy92YXIvamVua2lucy93b3Jrc3BhY2UvUGx1Z2luLVJlbGVhc2Uvd29yZHByZXNzLXNlby1wcmVtaXVtLy5yZXBvcy93b3JkcHJlc3Mtc2VvLXByZW1pdW0vbm9kZV9tb2R1bGVzL0B3b3JkcHJlc3MvYmxvY2stbGlicmFyeS9idWlsZC9oZWFkaW5nL2hlYWRpbmctbGV2ZWwtaWNvbi5qcz8yOWMwIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgdmFsdWU6IHRydWVcbn0pO1xuZXhwb3J0cy5kZWZhdWx0ID0gSGVhZGluZ0xldmVsSWNvbjtcblxudmFyIF9lbGVtZW50ID0gcmVxdWlyZShcIkB3b3JkcHJlc3MvZWxlbWVudFwiKTtcblxudmFyIF9jb21wb25lbnRzID0gcmVxdWlyZShcIkB3b3JkcHJlc3MvY29tcG9uZW50c1wiKTtcblxuLyoqXG4gKiBXb3JkUHJlc3MgZGVwZW5kZW5jaWVzXG4gKi9cblxuLyoqIEB0eXBlZGVmIHtpbXBvcnQoJ0B3b3JkcHJlc3MvZWxlbWVudCcpLldQQ29tcG9uZW50fSBXUENvbXBvbmVudCAqL1xuXG4vKipcbiAqIEhlYWRpbmdMZXZlbEljb24gcHJvcHMuXG4gKlxuICogQHR5cGVkZWYgV1BIZWFkaW5nTGV2ZWxJY29uUHJvcHNcbiAqXG4gKiBAcHJvcGVydHkge251bWJlcn0gICBsZXZlbCAgICAgVGhlIGhlYWRpbmcgbGV2ZWwgdG8gc2hvdyBhbiBpY29uIGZvci5cbiAqIEBwcm9wZXJ0eSB7P2Jvb2xlYW59IGlzUHJlc3NlZCBXaGV0aGVyIG9yIG5vdCB0aGUgaWNvbiBzaG91bGQgYXBwZWFyIHByZXNzZWQ7IGRlZmF1bHQ6IGZhbHNlLlxuICovXG5cbi8qKlxuICogSGVhZGluZyBsZXZlbCBpY29uLlxuICpcbiAqIEBwYXJhbSB7V1BIZWFkaW5nTGV2ZWxJY29uUHJvcHN9IHByb3BzIENvbXBvbmVudCBwcm9wcy5cbiAqXG4gKiBAcmV0dXJuIHs/V1BDb21wb25lbnR9IFRoZSBpY29uLlxuICovXG5mdW5jdGlvbiBIZWFkaW5nTGV2ZWxJY29uKF9yZWYpIHtcbiAgdmFyIGxldmVsID0gX3JlZi5sZXZlbCxcbiAgICAgIF9yZWYkaXNQcmVzc2VkID0gX3JlZi5pc1ByZXNzZWQsXG4gICAgICBpc1ByZXNzZWQgPSBfcmVmJGlzUHJlc3NlZCA9PT0gdm9pZCAwID8gZmFsc2UgOiBfcmVmJGlzUHJlc3NlZDtcbiAgdmFyIGxldmVsVG9QYXRoID0ge1xuICAgIDE6ICdNOSA1aDJ2MTBIOXYtNEg1djRIM1Y1aDJ2NGg0VjV6bTYuNiAwYy0uNi45LTEuNSAxLjctMi42IDJ2MWgydjdoMlY1aC0xLjR6JyxcbiAgICAyOiAnTTcgNWgydjEwSDd2LTRIM3Y0SDFWNWgydjRoNFY1em04IDhjLjUtLjQuNi0uNiAxLjEtMS4xLjQtLjQuOC0uOCAxLjItMS4zLjMtLjQuNi0uOC45LTEuMy4yLS40LjMtLjguMy0xLjMgMC0uNC0uMS0uOS0uMy0xLjMtLjItLjQtLjQtLjctLjgtMS0uMy0uMy0uNy0uNS0xLjItLjYtLjUtLjItMS0uMi0xLjUtLjItLjQgMC0uNyAwLTEuMS4xLS4zLjEtLjcuMi0xIC4zLS4zLjEtLjYuMy0uOS41LS4zLjItLjYuNC0uOC43bDEuMiAxLjJjLjMtLjMuNi0uNSAxLS43LjQtLjIuNy0uMyAxLjItLjNzLjkuMSAxLjMuNGMuMy4zLjUuNy41IDEuMSAwIC40LS4xLjgtLjQgMS4xLS4zLjUtLjYuOS0xIDEuMi0uNC40LTEgLjktMS42IDEuNC0uNi41LTEuNCAxLjEtMi4yIDEuNlYxNWg4di0ySDE1eicsXG4gICAgMzogJ00xMi4xIDEyLjJjLjQuMy44LjUgMS4yLjcuNC4yLjkuMyAxLjQuMy41IDAgMS0uMSAxLjQtLjMuMy0uMS41LS41LjUtLjggMC0uMiAwLS40LS4xLS42LS4xLS4yLS4zLS4zLS41LS40LS4zLS4xLS43LS4yLTEtLjMtLjUtLjEtMS0uMS0xLjUtLjFWOS4xYy43LjEgMS41LS4xIDIuMi0uNC40LS4yLjYtLjUuNi0uOSAwLS4zLS4xLS42LS40LS44LS4zLS4yLS43LS4zLTEuMS0uMy0uNCAwLS44LjEtMS4xLjMtLjQuMi0uNy40LTEuMS42bC0xLjItMS40Yy41LS40IDEuMS0uNyAxLjYtLjkuNS0uMiAxLjItLjMgMS44LS4zLjUgMCAxIC4xIDEuNi4yLjQuMS44LjMgMS4yLjUuMy4yLjYuNS44LjguMi4zLjMuNy4zIDEuMSAwIC41LS4yLjktLjUgMS4zLS40LjQtLjkuNy0xLjUuOXYuMWMuNi4xIDEuMi40IDEuNi44LjQuNC43LjkuNyAxLjUgMCAuNC0uMS44LS4zIDEuMi0uMi40LS41LjctLjkuOS0uNC4zLS45LjQtMS4zLjUtLjUuMS0xIC4yLTEuNi4yLS44IDAtMS42LS4xLTIuMy0uNC0uNi0uMi0xLjEtLjYtMS42LTFsMS4xLTEuNHpNNyA5SDNWNUgxdjEwaDJ2LTRoNHY0aDJWNUg3djR6JyxcbiAgICA0OiAnTTkgMTVIN3YtNEgzdjRIMVY1aDJ2NGg0VjVoMnYxMHptMTAtMmgtMXYyaC0ydi0yaC01di0ybDQtNmgzdjZoMXYyem0tMy0yVjdsLTIuOCA0SDE2eicsXG4gICAgNTogJ00xMi4xIDEyLjJjLjQuMy43LjUgMS4xLjcuNC4yLjkuMyAxLjMuMy41IDAgMS0uMSAxLjQtLjQuNC0uMy42LS43LjYtMS4xIDAtLjQtLjItLjktLjYtMS4xLS40LS4zLS45LS40LTEuNC0uNEgxNGMtLjEgMC0uMyAwLS40LjFsLS40LjEtLjUuMi0xLS42LjMtNWg2LjR2MS45aC00LjNMMTQgOC44Yy4yLS4xLjUtLjEuNy0uMi4yIDAgLjUtLjEuNy0uMS41IDAgLjkuMSAxLjQuMi40LjEuOC4zIDEuMS42LjMuMi42LjYuOC45LjIuNC4zLjkuMyAxLjQgMCAuNS0uMSAxLS4zIDEuNC0uMi40LS41LjgtLjkgMS4xLS40LjMtLjguNS0xLjMuNy0uNS4yLTEgLjMtMS41LjMtLjggMC0xLjYtLjEtMi4zLS40LS42LS4yLTEuMS0uNi0xLjYtMS0uMS0uMSAxLTEuNSAxLTEuNXpNOSAxNUg3di00SDN2NEgxVjVoMnY0aDRWNWgydjEweicsXG4gICAgNjogJ005IDE1SDd2LTRIM3Y0SDFWNWgydjRoNFY1aDJ2MTB6bTguNi03LjVjLS4yLS4yLS41LS40LS44LS41LS42LS4yLTEuMy0uMi0xLjkgMC0uMy4xLS42LjMtLjguNWwtLjYuOWMtLjIuNS0uMi45LS4yIDEuNC40LS4zLjgtLjYgMS4yLS44LjQtLjIuOC0uMyAxLjMtLjMuNCAwIC44IDAgMS4yLjIuNC4xLjcuMyAxIC42LjMuMy41LjYuNy45LjIuNC4zLjguMyAxLjNzLS4xLjktLjMgMS40Yy0uMi40LS41LjctLjggMS0uNC4zLS44LjUtMS4yLjYtMSAuMy0yIC4zLTMgMC0uNS0uMi0xLS41LTEuNC0uOS0uNC0uNC0uOC0uOS0xLTEuNS0uMi0uNi0uMy0xLjMtLjMtMi4xcy4xLTEuNi40LTIuM2MuMi0uNi42LTEuMiAxLTEuNi40LS40LjktLjcgMS40LS45LjYtLjMgMS4xLS40IDEuNy0uNC43IDAgMS40LjEgMiAuMy41LjIgMSAuNSAxLjQuOCAwIC4xLTEuMyAxLjQtMS4zIDEuNHptLTIuNCA1LjhjLjIgMCAuNCAwIC42LS4xLjIgMCAuNC0uMS41LS4yLjEtLjEuMy0uMy40LS41LjEtLjIuMS0uNS4xLS43IDAtLjQtLjEtLjgtLjQtMS4xLS4zLS4yLS43LS4zLTEuMS0uMy0uMyAwLS43LjEtMSAuMi0uNC4yLS43LjQtMSAuNyAwIC4zLjEuNy4zIDEgLjEuMi4zLjQuNC42LjIuMS4zLjMuNS4zLjIuMS41LjIuNy4xeidcbiAgfTtcblxuICBpZiAoIWxldmVsVG9QYXRoLmhhc093blByb3BlcnR5KGxldmVsKSkge1xuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgcmV0dXJuICgwLCBfZWxlbWVudC5jcmVhdGVFbGVtZW50KShfY29tcG9uZW50cy5TVkcsIHtcbiAgICB3aWR0aDogXCIyNFwiLFxuICAgIGhlaWdodDogXCIyNFwiLFxuICAgIHZpZXdCb3g6IFwiMCAwIDIwIDIwXCIsXG4gICAgeG1sbnM6IFwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIixcbiAgICBpc1ByZXNzZWQ6IGlzUHJlc3NlZFxuICB9LCAoMCwgX2VsZW1lbnQuY3JlYXRlRWxlbWVudCkoX2NvbXBvbmVudHMuUGF0aCwge1xuICAgIGQ6IGxldmVsVG9QYXRoW2xldmVsXVxuICB9KSk7XG59XG4vLyMgc291cmNlTWFwcGluZ1VSTD1oZWFkaW5nLWxldmVsLWljb24uanMubWFwIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///119\n")}],[[114,0]]]); |