0.495dd6dd7e801967b64f.js 1.3 MB

1
  1. webpackJsonp([0],{"5z6/":function(module,exports){eval('module.exports = "(function(a,b){if(\\"function\\"==typeof define&&define.amd)define([],b);else if(\\"undefined\\"!=typeof exports)b();else{b(),a.FileSaver={exports:{}}.exports}})(this,function(){\\"use strict\\";function b(a,b){return\\"undefined\\"==typeof b?b={autoBom:!1}:\\"object\\"!=typeof b&&(console.warn(\\"Deprecated: Expected third argument to be a object\\"),b={autoBom:!b}),b.autoBom&&/^\\\\s*(?:text\\\\/\\\\S*|application\\\\/xml|\\\\S*\\\\/\\\\S*\\\\+xml)\\\\s*;.*charset\\\\s*=\\\\s*utf-8/i.test(a.type)?new Blob([\\"\\\\uFEFF\\",a],{type:a.type}):a}function c(a,b,c){var d=new XMLHttpRequest;d.open(\\"GET\\",a),d.responseType=\\"blob\\",d.onload=function(){g(d.response,b,c)},d.onerror=function(){console.error(\\"could not download file\\")},d.send()}function d(a){var b=new XMLHttpRequest;b.open(\\"HEAD\\",a,!1);try{b.send()}catch(a){}return 200<=b.status&&299>=b.status}function e(a){try{a.dispatchEvent(new MouseEvent(\\"click\\"))}catch(c){var b=document.createEvent(\\"MouseEvents\\");b.initMouseEvent(\\"click\\",!0,!0,window,0,0,0,80,20,!1,!1,!1,!1,0,null),a.dispatchEvent(b)}}var f=\\"object\\"==typeof window&&window.window===window?window:\\"object\\"==typeof self&&self.self===self?self:\\"object\\"==typeof global&&global.global===global?global:void 0,a=f.navigator&&/Macintosh/.test(navigator.userAgent)&&/AppleWebKit/.test(navigator.userAgent)&&!/Safari/.test(navigator.userAgent),g=f.saveAs||(\\"object\\"!=typeof window||window!==f?function(){}:\\"download\\"in HTMLAnchorElement.prototype&&!a?function(b,g,h){var i=f.URL||f.webkitURL,j=document.createElement(\\"a\\");g=g||b.name||\\"download\\",j.download=g,j.rel=\\"noopener\\",\\"string\\"==typeof b?(j.href=b,j.origin===location.origin?e(j):d(j.href)?c(b,g,h):e(j,j.target=\\"_blank\\")):(j.href=i.createObjectURL(b),setTimeout(function(){i.revokeObjectURL(j.href)},4E4),setTimeout(function(){e(j)},0))}:\\"msSaveOrOpenBlob\\"in navigator?function(f,g,h){if(g=g||f.name||\\"download\\",\\"string\\"!=typeof f)navigator.msSaveOrOpenBlob(b(f,h),g);else if(d(f))c(f,g,h);else{var i=document.createElement(\\"a\\");i.href=f,i.target=\\"_blank\\",setTimeout(function(){e(i)})}}:function(b,d,e,g){if(g=g||open(\\"\\",\\"_blank\\"),g&&(g.document.title=g.document.body.innerText=\\"downloading...\\"),\\"string\\"==typeof b)return c(b,d,e);var h=\\"application/octet-stream\\"===b.type,i=/constructor/i.test(f.HTMLElement)||f.safari,j=/CriOS\\\\/[\\\\d]+/.test(navigator.userAgent);if((j||h&&i||a)&&\\"undefined\\"!=typeof FileReader){var k=new FileReader;k.onloadend=function(){var a=k.result;a=j?a:a.replace(/^data:[^;]*;/,\\"data:attachment/file;\\"),g?g.location.href=a:location=a,g=null},k.readAsDataURL(b)}else{var l=f.URL||f.webkitURL,m=l.createObjectURL(b);g?g.location=m:location.href=m,g=null,setTimeout(function(){l.revokeObjectURL(m)},4E4)}});f.saveAs=g.saveAs=g,\\"undefined\\"!=typeof module&&(module.exports=g)});\\n\\n//# sourceMappingURL=FileSaver.min.js.map"//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiNXo2Ly5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9maWxlLXNhdmVyL2Rpc3QvRmlsZVNhdmVyLm1pbi5qcz9mZGM3Il0sInNvdXJjZXNDb250ZW50IjpbIm1vZHVsZS5leHBvcnRzID0gXCIoZnVuY3Rpb24oYSxiKXtpZihcXFwiZnVuY3Rpb25cXFwiPT10eXBlb2YgZGVmaW5lJiZkZWZpbmUuYW1kKWRlZmluZShbXSxiKTtlbHNlIGlmKFxcXCJ1bmRlZmluZWRcXFwiIT10eXBlb2YgZXhwb3J0cyliKCk7ZWxzZXtiKCksYS5GaWxlU2F2ZXI9e2V4cG9ydHM6e319LmV4cG9ydHN9fSkodGhpcyxmdW5jdGlvbigpe1xcXCJ1c2Ugc3RyaWN0XFxcIjtmdW5jdGlvbiBiKGEsYil7cmV0dXJuXFxcInVuZGVmaW5lZFxcXCI9PXR5cGVvZiBiP2I9e2F1dG9Cb206ITF9OlxcXCJvYmplY3RcXFwiIT10eXBlb2YgYiYmKGNvbnNvbGUud2FybihcXFwiRGVwcmVjYXRlZDogRXhwZWN0ZWQgdGhpcmQgYXJndW1lbnQgdG8gYmUgYSBvYmplY3RcXFwiKSxiPXthdXRvQm9tOiFifSksYi5hdXRvQm9tJiYvXlxcXFxzKig/OnRleHRcXFxcL1xcXFxTKnxhcHBsaWNhdGlvblxcXFwveG1sfFxcXFxTKlxcXFwvXFxcXFMqXFxcXCt4bWwpXFxcXHMqOy4qY2hhcnNldFxcXFxzKj1cXFxccyp1dGYtOC9pLnRlc3QoYS50eXBlKT9uZXcgQmxvYihbXFxcIlxcXFx1RkVGRlxcXCIsYV0se3R5cGU6YS50eXBlfSk6YX1mdW5jdGlvbiBjKGEsYixjKXt2YXIgZD1uZXcgWE1MSHR0cFJlcXVlc3Q7ZC5vcGVuKFxcXCJHRVRcXFwiLGEpLGQucmVzcG9uc2VUeXBlPVxcXCJibG9iXFxcIixkLm9ubG9hZD1mdW5jdGlvbigpe2coZC5yZXNwb25zZSxiLGMpfSxkLm9uZXJyb3I9ZnVuY3Rpb24oKXtjb25zb2xlLmVycm9yKFxcXCJjb3VsZCBub3QgZG93bmxvYWQgZmlsZVxcXCIpfSxkLnNlbmQoKX1mdW5jdGlvbiBkKGEpe3ZhciBiPW5ldyBYTUxIdHRwUmVxdWVzdDtiLm9wZW4oXFxcIkhFQURcXFwiLGEsITEpO3RyeXtiLnNlbmQoKX1jYXRjaChhKXt9cmV0dXJuIDIwMDw9Yi5zdGF0dXMmJjI5OT49Yi5zdGF0dXN9ZnVuY3Rpb24gZShhKXt0cnl7YS5kaXNwYXRjaEV2ZW50KG5ldyBNb3VzZUV2ZW50KFxcXCJjbGlja1xcXCIpKX1jYXRjaChjKXt2YXIgYj1kb2N1bWVudC5jcmVhdGVFdmVudChcXFwiTW91c2VFdmVudHNcXFwiKTtiLmluaXRNb3VzZUV2ZW50KFxcXCJjbGlja1xcXCIsITAsITAsd2luZG93LDAsMCwwLDgwLDIwLCExLCExLCExLCExLDAsbnVsbCksYS5kaXNwYXRjaEV2ZW50KGIpfX12YXIgZj1cXFwib2JqZWN0XFxcIj09dHlwZW9mIHdpbmRvdyYmd2luZG93LndpbmRvdz09PXdpbmRvdz93aW5kb3c6XFxcIm9iamVjdFxcXCI9PXR5cGVvZiBzZWxmJiZzZWxmLnNlbGY9PT1zZWxmP3NlbGY6XFxcIm9iamVjdFxcXCI9PXR5cGVvZiBnbG9iYWwmJmdsb2JhbC5nbG9iYWw9PT1nbG9iYWw/Z2xvYmFsOnZvaWQgMCxhPWYubmF2aWdhdG9yJiYvTWFjaW50b3NoLy50ZXN0KG5hdmlnYXRvci51c2VyQWdlbnQpJiYvQXBwbGVXZWJLaXQvLnRlc3QobmF2aWdhdG9yLnVzZXJBZ2VudCkmJiEvU2FmYXJpLy50ZXN0KG5hdmlnYXRvci51c2VyQWdlbnQpLGc9Zi5zYXZlQXN8fChcXFwib2JqZWN0XFxcIiE9dHlwZW9mIHdpbmRvd3x8d2luZG93IT09Zj9mdW5jdGlvbigpe306XFxcImRvd25sb2FkXFxcImluIEhUTUxBbmNob3JFbGVtZW50LnByb3RvdHlwZSYmIWE/ZnVuY3Rpb24oYixnLGgpe3ZhciBpPWYuVVJMfHxmLndlYmtpdFVSTCxqPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXFxcImFcXFwiKTtnPWd8fGIubmFtZXx8XFxcImRvd25sb2FkXFxcIixqLmRvd25sb2FkPWcsai5yZWw9XFxcIm5vb3BlbmVyXFxcIixcXFwic3RyaW5nXFxcIj09dHlwZW9mIGI/KGouaHJlZj1iLGoub3JpZ2luPT09bG9jYXRpb24ub3JpZ2luP2Uoaik6ZChqLmhyZWYpP2MoYixnLGgpOmUoaixqLnRhcmdldD1cXFwiX2JsYW5rXFxcIikpOihqLmhyZWY9aS5jcmVhdGVPYmplY3RVUkwoYiksc2V0VGltZW91dChmdW5jdGlvbigpe2kucmV2b2tlT2JqZWN0VVJMKGouaHJlZil9LDRFNCksc2V0VGltZW91dChmdW5jdGlvbigpe2Uoail9LDApKX06XFxcIm1zU2F2ZU9yT3BlbkJsb2JcXFwiaW4gbmF2aWdhdG9yP2Z1bmN0aW9uKGYsZyxoKXtpZihnPWd8fGYubmFtZXx8XFxcImRvd25sb2FkXFxcIixcXFwic3RyaW5nXFxcIiE9dHlwZW9mIGYpbmF2aWdhdG9yLm1zU2F2ZU9yT3BlbkJsb2IoYihmLGgpLGcpO2Vsc2UgaWYoZChmKSljKGYsZyxoKTtlbHNle3ZhciBpPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXFxcImFcXFwiKTtpLmhyZWY9ZixpLnRhcmdldD1cXFwiX2JsYW5rXFxcIixzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7ZShpKX0pfX06ZnVuY3Rpb24oYixkLGUsZyl7aWYoZz1nfHxvcGVuKFxcXCJcXFwiLFxcXCJfYmxhbmtcXFwiKSxnJiYoZy5kb2N1bWVudC50aXRsZT1nLmRvY3VtZW50LmJvZHkuaW5uZXJUZXh0PVxcXCJkb3dubG9hZGluZy4uLlxcXCIpLFxcXCJzdHJpbmdcXFwiPT10eXBlb2YgYilyZXR1cm4gYyhiLGQsZSk7dmFyIGg9XFxcImFwcGxpY2F0aW9uL29jdGV0LXN0cmVhbVxcXCI9PT1iLnR5cGUsaT0vY29uc3RydWN0b3IvaS50ZXN0KGYuSFRNTEVsZW1lbnQpfHxmLnNhZmFyaSxqPS9DcmlPU1xcXFwvW1xcXFxkXSsvLnRlc3QobmF2aWdhdG9yLnVzZXJBZ2VudCk7aWYoKGp8fGgmJml8fGEpJiZcXFwidW5kZWZpbmVkXFxcIiE9dHlwZW9mIEZpbGVSZWFkZXIpe3ZhciBrPW5ldyBGaWxlUmVhZGVyO2sub25sb2FkZW5kPWZ1bmN0aW9uKCl7dmFyIGE9ay5yZXN1bHQ7YT1qP2E6YS5yZXBsYWNlKC9eZGF0YTpbXjtdKjsvLFxcXCJkYXRhOmF0dGFjaG1lbnQvZmlsZTtcXFwiKSxnP2cubG9jYXRpb24uaHJlZj1hOmxvY2F0aW9uPWEsZz1udWxsfSxrLnJlYWRBc0RhdGFVUkwoYil9ZWxzZXt2YXIgbD1mLlVSTHx8Zi53ZWJraXRVUkwsbT1sLmNyZWF0ZU9iamVjdFVSTChiKTtnP2cubG9jYXRpb249bTpsb2NhdGlvbi5ocmVmPW0sZz1udWxsLHNldFRpbWVvdXQoZnVuY3Rpb24oKXtsLnJldm9rZU9iamVjdFVSTChtKX0sNEU0KX19KTtmLnNhdmVBcz1nLnNhdmVBcz1nLFxcXCJ1bmRlZmluZWRcXFwiIT10eXBlb2YgbW9kdWxlJiYobW9kdWxlLmV4cG9ydHM9Zyl9KTtcXG5cXG4vLyMgc291cmNlTWFwcGluZ1VSTD1GaWxlU2F2ZXIubWluLmpzLm1hcFwiXG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9ub2RlX21vZHVsZXMvcmF3LWxvYWRlciEuL25vZGVfbW9kdWxlcy9maWxlLXNhdmVyL2Rpc3QvRmlsZVNhdmVyLm1pbi5qc1xuLy8gbW9kdWxlIGlkID0gNXo2L1xuLy8gbW9kdWxlIGNodW5rcyA9IDAiXSwibWFwcGluZ3MiOiJBQUFBIiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///5z6/\n')},"Ia/g":function(module,exports,__webpack_require__){eval('__webpack_require__("P+fo")(__webpack_require__("pe0Z"))//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSWEvZy5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy94bHN4L2Rpc3QveGxzeC5jb3JlLm1pbi5qcz81ZGZlIl0sInNvdXJjZXNDb250ZW50IjpbInJlcXVpcmUoXCIhIUY6XFxcXGNvY29yb2JvXFxcXHBibC10ZWFjaGVyLXRhYmxlXFxcXG5vZGVfbW9kdWxlc1xcXFxzY3JpcHQtbG9hZGVyXFxcXGFkZFNjcmlwdC5qc1wiKShyZXF1aXJlKFwiISFGOlxcXFxjb2Nvcm9ib1xcXFxwYmwtdGVhY2hlci10YWJsZVxcXFxub2RlX21vZHVsZXNcXFxccmF3LWxvYWRlclxcXFxpbmRleC5qcyFGOlxcXFxjb2Nvcm9ib1xcXFxwYmwtdGVhY2hlci10YWJsZVxcXFxub2RlX21vZHVsZXNcXFxceGxzeFxcXFxkaXN0XFxcXHhsc3guY29yZS5taW4uanNcIikpXG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9ub2RlX21vZHVsZXMvc2NyaXB0LWxvYWRlciEuL25vZGVfbW9kdWxlcy94bHN4L2Rpc3QveGxzeC5jb3JlLm1pbi5qc1xuLy8gbW9kdWxlIGlkID0gSWEvZ1xuLy8gbW9kdWxlIGNodW5rcyA9IDAiXSwibWFwcGluZ3MiOiJBQUFBIiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///Ia/g\n')},"P+fo":function(module,exports){eval('/*\n\tMIT License http://www.opensource.org/licenses/mit-license.php\n\tAuthor Tobias Koppers @sokra\n*/\nmodule.exports = function(src) {\n\tfunction log(error) {\n\t\t(typeof console !== "undefined")\n\t\t&& (console.error || console.log)("[Script Loader]", error);\n\t}\n\n\t// Check for IE =< 8\n\tfunction isIE() {\n\t\treturn typeof attachEvent !== "undefined" && typeof addEventListener === "undefined";\n\t}\n\n\ttry {\n\t\tif (typeof execScript !== "undefined" && isIE()) {\n\t\t\texecScript(src);\n\t\t} else if (typeof eval !== "undefined") {\n\t\t\teval.call(null, src);\n\t\t} else {\n\t\t\tlog("EvalError: No eval function available");\n\t\t}\n\t} catch (error) {\n\t\tlog(error);\n\t}\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUCtmby5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9zY3JpcHQtbG9hZGVyL2FkZFNjcmlwdC5qcz8zZmU3Il0sInNvdXJjZXNDb250ZW50IjpbIi8qXG5cdE1JVCBMaWNlbnNlIGh0dHA6Ly93d3cub3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvbWl0LWxpY2Vuc2UucGhwXG5cdEF1dGhvciBUb2JpYXMgS29wcGVycyBAc29rcmFcbiovXG5tb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uKHNyYykge1xuXHRmdW5jdGlvbiBsb2coZXJyb3IpIHtcblx0XHQodHlwZW9mIGNvbnNvbGUgIT09IFwidW5kZWZpbmVkXCIpXG5cdFx0JiYgKGNvbnNvbGUuZXJyb3IgfHwgY29uc29sZS5sb2cpKFwiW1NjcmlwdCBMb2FkZXJdXCIsIGVycm9yKTtcblx0fVxuXG5cdC8vIENoZWNrIGZvciBJRSA9PCA4XG5cdGZ1bmN0aW9uIGlzSUUoKSB7XG5cdFx0cmV0dXJuIHR5cGVvZiBhdHRhY2hFdmVudCAhPT0gXCJ1bmRlZmluZWRcIiAmJiB0eXBlb2YgYWRkRXZlbnRMaXN0ZW5lciA9PT0gXCJ1bmRlZmluZWRcIjtcblx0fVxuXG5cdHRyeSB7XG5cdFx0aWYgKHR5cGVvZiBleGVjU2NyaXB0ICE9PSBcInVuZGVmaW5lZFwiICYmIGlzSUUoKSkge1xuXHRcdFx0ZXhlY1NjcmlwdChzcmMpO1xuXHRcdH0gZWxzZSBpZiAodHlwZW9mIGV2YWwgIT09IFwidW5kZWZpbmVkXCIpIHtcblx0XHRcdGV2YWwuY2FsbChudWxsLCBzcmMpO1xuXHRcdH0gZWxzZSB7XG5cdFx0XHRsb2coXCJFdmFsRXJyb3I6IE5vIGV2YWwgZnVuY3Rpb24gYXZhaWxhYmxlXCIpO1xuXHRcdH1cblx0fSBjYXRjaCAoZXJyb3IpIHtcblx0XHRsb2coZXJyb3IpO1xuXHR9XG59XG5cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL25vZGVfbW9kdWxlcy9zY3JpcHQtbG9hZGVyL2FkZFNjcmlwdC5qc1xuLy8gbW9kdWxlIGlkID0gUCtmb1xuLy8gbW9kdWxlIGNodW5rcyA9IDAiXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTsiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///P+fo\n')},WUKT:function(module,__webpack_exports__,__webpack_require__){"use strict";eval("Object.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony export (immutable) */ __webpack_exports__[\"export_table_to_excel\"] = export_table_to_excel;\n/* harmony export (immutable) */ __webpack_exports__[\"export_json_to_excel\"] = export_json_to_excel;\n/* eslint-disable */\n__webpack_require__(\"aOHy\");\n__webpack_require__(\"wvCI\");\n__webpack_require__(\"Ia/g\");\n\nfunction generateArray(table) {\n var out = [];\n var rows = table.querySelectorAll('tr');\n var ranges = [];\n for (var R = 0; R < rows.length; ++R) {\n var outRow = [];\n var row = rows[R];\n var columns = row.querySelectorAll('td');\n for (var C = 0; C < columns.length; ++C) {\n var cell = columns[C];\n var colspan = cell.getAttribute('colspan');\n var rowspan = cell.getAttribute('rowspan');\n var cellValue = cell.innerText;\n if (cellValue !== \"\" && cellValue == +cellValue) cellValue = +cellValue;\n\n //Skip ranges\n ranges.forEach(function (range) {\n if (R >= range.s.r && R <= range.e.r && outRow.length >= range.s.c && outRow.length <= range.e.c) {\n for (var i = 0; i <= range.e.c - range.s.c; ++i) {\n outRow.push(null);\n }\n }\n });\n\n //Handle Row Span\n if (rowspan || colspan) {\n rowspan = rowspan || 1;\n colspan = colspan || 1;\n ranges.push({\n s: {\n r: R,\n c: outRow.length\n },\n e: {\n r: R + rowspan - 1,\n c: outRow.length + colspan - 1\n }\n });\n };\n\n //Handle Value\n outRow.push(cellValue !== \"\" ? cellValue : null);\n\n //Handle Colspan\n if (colspan) for (var k = 0; k < colspan - 1; ++k) {\n outRow.push(null);\n }\n }\n out.push(outRow);\n }\n return [out, ranges];\n};\n\nfunction datenum(v, date1904) {\n if (date1904) v += 1462;\n var epoch = Date.parse(v);\n return (epoch - new Date(Date.UTC(1899, 11, 30))) / (24 * 60 * 60 * 1000);\n}\n\nfunction sheet_from_array_of_arrays(data, opts) {\n var ws = {};\n var range = {\n s: {\n c: 10000000,\n r: 10000000\n },\n e: {\n c: 0,\n r: 0\n }\n };\n for (var R = 0; R != data.length; ++R) {\n for (var C = 0; C != data[R].length; ++C) {\n if (range.s.r > R) range.s.r = R;\n if (range.s.c > C) range.s.c = C;\n if (range.e.r < R) range.e.r = R;\n if (range.e.c < C) range.e.c = C;\n var cell = {\n v: data[R][C]\n };\n if (cell.v == null) continue;\n var cell_ref = XLSX.utils.encode_cell({\n c: C,\n r: R\n });\n\n if (typeof cell.v === 'number') cell.t = 'n';else if (typeof cell.v === 'boolean') cell.t = 'b';else if (cell.v instanceof Date) {\n cell.t = 'n';\n cell.z = XLSX.SSF._table[14];\n cell.v = datenum(cell.v);\n } else cell.t = 's';\n\n ws[cell_ref] = cell;\n }\n }\n if (range.s.c < 10000000) ws['!ref'] = XLSX.utils.encode_range(range);\n return ws;\n}\n\nfunction Workbook() {\n if (!(this instanceof Workbook)) return new Workbook();\n this.SheetNames = [];\n this.Sheets = {};\n}\n\nfunction s2ab(s) {\n var buf = new ArrayBuffer(s.length);\n var view = new Uint8Array(buf);\n for (var i = 0; i != s.length; ++i) {\n view[i] = s.charCodeAt(i) & 0xFF;\n }return buf;\n}\n\nfunction export_table_to_excel(id) {\n var theTable = document.getElementById(id);\n console.log('a');\n var oo = generateArray(theTable);\n var ranges = oo[1];\n\n /* original data */\n var data = oo[0];\n var ws_name = \"SheetJS\";\n console.log(data);\n\n var wb = new Workbook(),\n ws = sheet_from_array_of_arrays(data);\n\n /* add ranges to worksheet */\n // ws['!cols'] = ['apple', 'banan'];\n ws['!merges'] = ranges;\n\n /* add worksheet to workbook */\n wb.SheetNames.push(ws_name);\n wb.Sheets[ws_name] = ws;\n\n var wbout = XLSX.write(wb, {\n bookType: 'xlsx',\n bookSST: false,\n type: 'binary'\n });\n\n saveAs(new Blob([s2ab(wbout)], {\n type: \"application/octet-stream\"\n }), \"test.xlsx\");\n}\n\nfunction formatJson(jsonData) {\n console.log(jsonData);\n}\nfunction export_json_to_excel(th, jsonData, defaultTitle) {\n\n /* original data */\n\n var data = jsonData;\n data.unshift(th);\n var ws_name = \"SheetJS\";\n\n var wb = new Workbook(),\n ws = sheet_from_array_of_arrays(data);\n\n /* add worksheet to workbook */\n wb.SheetNames.push(ws_name);\n wb.Sheets[ws_name] = ws;\n\n var wbout = XLSX.write(wb, {\n bookType: 'xlsx',\n bookSST: false,\n type: 'binary'\n });\n var title = defaultTitle || '列表';\n saveAs(new Blob([s2ab(wbout)], {\n type: \"application/octet-stream\"\n }), title + \".xlsx\");\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiV1VLVC5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy9zcmMvY29tbW9uL0V4cG9ydDJFeGNlbC5qcz84MzNiIl0sInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlICovXHJcbnJlcXVpcmUoJ3NjcmlwdC1sb2FkZXIhZmlsZS1zYXZlcicpO1xyXG5yZXF1aXJlKCdzY3JpcHQtbG9hZGVyIS4vQmxvYicpO1xyXG5yZXF1aXJlKCdzY3JpcHQtbG9hZGVyIXhsc3gvZGlzdC94bHN4LmNvcmUubWluJyk7XHJcblxyXG5mdW5jdGlvbiBnZW5lcmF0ZUFycmF5KHRhYmxlKSB7XHJcbiAgdmFyIG91dCA9IFtdO1xyXG4gIHZhciByb3dzID0gdGFibGUucXVlcnlTZWxlY3RvckFsbCgndHInKTtcclxuICB2YXIgcmFuZ2VzID0gW107XHJcbiAgZm9yICh2YXIgUiA9IDA7IFIgPCByb3dzLmxlbmd0aDsgKytSKSB7XHJcbiAgICB2YXIgb3V0Um93ID0gW107XHJcbiAgICB2YXIgcm93ID0gcm93c1tSXTtcclxuICAgIHZhciBjb2x1bW5zID0gcm93LnF1ZXJ5U2VsZWN0b3JBbGwoJ3RkJyk7XHJcbiAgICBmb3IgKHZhciBDID0gMDsgQyA8IGNvbHVtbnMubGVuZ3RoOyArK0MpIHtcclxuICAgICAgdmFyIGNlbGwgPSBjb2x1bW5zW0NdO1xyXG4gICAgICB2YXIgY29sc3BhbiA9IGNlbGwuZ2V0QXR0cmlidXRlKCdjb2xzcGFuJyk7XHJcbiAgICAgIHZhciByb3dzcGFuID0gY2VsbC5nZXRBdHRyaWJ1dGUoJ3Jvd3NwYW4nKTtcclxuICAgICAgdmFyIGNlbGxWYWx1ZSA9IGNlbGwuaW5uZXJUZXh0O1xyXG4gICAgICBpZiAoY2VsbFZhbHVlICE9PSBcIlwiICYmIGNlbGxWYWx1ZSA9PSArY2VsbFZhbHVlKSBjZWxsVmFsdWUgPSArY2VsbFZhbHVlO1xyXG5cclxuICAgICAgLy9Ta2lwIHJhbmdlc1xyXG4gICAgICByYW5nZXMuZm9yRWFjaChmdW5jdGlvbiAocmFuZ2UpIHtcclxuICAgICAgICBpZiAoUiA+PSByYW5nZS5zLnIgJiYgUiA8PSByYW5nZS5lLnIgJiYgb3V0Um93Lmxlbmd0aCA+PSByYW5nZS5zLmMgJiYgb3V0Um93Lmxlbmd0aCA8PSByYW5nZS5lLmMpIHtcclxuICAgICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDw9IHJhbmdlLmUuYyAtIHJhbmdlLnMuYzsgKytpKSBvdXRSb3cucHVzaChudWxsKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG5cclxuICAgICAgLy9IYW5kbGUgUm93IFNwYW5cclxuICAgICAgaWYgKHJvd3NwYW4gfHwgY29sc3Bhbikge1xyXG4gICAgICAgIHJvd3NwYW4gPSByb3dzcGFuIHx8IDE7XHJcbiAgICAgICAgY29sc3BhbiA9IGNvbHNwYW4gfHwgMTtcclxuICAgICAgICByYW5nZXMucHVzaCh7XHJcbiAgICAgICAgICBzOiB7XHJcbiAgICAgICAgICAgIHI6IFIsXHJcbiAgICAgICAgICAgIGM6IG91dFJvdy5sZW5ndGhcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgICBlOiB7XHJcbiAgICAgICAgICAgIHI6IFIgKyByb3dzcGFuIC0gMSxcclxuICAgICAgICAgICAgYzogb3V0Um93Lmxlbmd0aCArIGNvbHNwYW4gLSAxXHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH07XHJcblxyXG4gICAgICAvL0hhbmRsZSBWYWx1ZVxyXG4gICAgICBvdXRSb3cucHVzaChjZWxsVmFsdWUgIT09IFwiXCIgPyBjZWxsVmFsdWUgOiBudWxsKTtcclxuXHJcbiAgICAgIC8vSGFuZGxlIENvbHNwYW5cclxuICAgICAgaWYgKGNvbHNwYW4pXHJcbiAgICAgICAgZm9yICh2YXIgayA9IDA7IGsgPCBjb2xzcGFuIC0gMTsgKytrKSBvdXRSb3cucHVzaChudWxsKTtcclxuICAgIH1cclxuICAgIG91dC5wdXNoKG91dFJvdyk7XHJcbiAgfVxyXG4gIHJldHVybiBbb3V0LCByYW5nZXNdO1xyXG59O1xyXG5cclxuZnVuY3Rpb24gZGF0ZW51bSh2LCBkYXRlMTkwNCkge1xyXG4gIGlmIChkYXRlMTkwNCkgdiArPSAxNDYyO1xyXG4gIHZhciBlcG9jaCA9IERhdGUucGFyc2Uodik7XHJcbiAgcmV0dXJuIChlcG9jaCAtIG5ldyBEYXRlKERhdGUuVVRDKDE4OTksIDExLCAzMCkpKSAvICgyNCAqIDYwICogNjAgKiAxMDAwKTtcclxufVxyXG5cclxuZnVuY3Rpb24gc2hlZXRfZnJvbV9hcnJheV9vZl9hcnJheXMoZGF0YSwgb3B0cykge1xyXG4gIHZhciB3cyA9IHt9O1xyXG4gIHZhciByYW5nZSA9IHtcclxuICAgIHM6IHtcclxuICAgICAgYzogMTAwMDAwMDAsXHJcbiAgICAgIHI6IDEwMDAwMDAwXHJcbiAgICB9LFxyXG4gICAgZToge1xyXG4gICAgICBjOiAwLFxyXG4gICAgICByOiAwXHJcbiAgICB9XHJcbiAgfTtcclxuICBmb3IgKHZhciBSID0gMDsgUiAhPSBkYXRhLmxlbmd0aDsgKytSKSB7XHJcbiAgICBmb3IgKHZhciBDID0gMDsgQyAhPSBkYXRhW1JdLmxlbmd0aDsgKytDKSB7XHJcbiAgICAgIGlmIChyYW5nZS5zLnIgPiBSKSByYW5nZS5zLnIgPSBSO1xyXG4gICAgICBpZiAocmFuZ2Uucy5jID4gQykgcmFuZ2Uucy5jID0gQztcclxuICAgICAgaWYgKHJhbmdlLmUuciA8IFIpIHJhbmdlLmUuciA9IFI7XHJcbiAgICAgIGlmIChyYW5nZS5lLmMgPCBDKSByYW5nZS5lLmMgPSBDO1xyXG4gICAgICB2YXIgY2VsbCA9IHtcclxuICAgICAgICB2OiBkYXRhW1JdW0NdXHJcbiAgICAgIH07XHJcbiAgICAgIGlmIChjZWxsLnYgPT0gbnVsbCkgY29udGludWU7XHJcbiAgICAgIHZhciBjZWxsX3JlZiA9IFhMU1gudXRpbHMuZW5jb2RlX2NlbGwoe1xyXG4gICAgICAgIGM6IEMsXHJcbiAgICAgICAgcjogUlxyXG4gICAgICB9KTtcclxuXHJcbiAgICAgIGlmICh0eXBlb2YgY2VsbC52ID09PSAnbnVtYmVyJykgY2VsbC50ID0gJ24nO1xyXG4gICAgICBlbHNlIGlmICh0eXBlb2YgY2VsbC52ID09PSAnYm9vbGVhbicpIGNlbGwudCA9ICdiJztcclxuICAgICAgZWxzZSBpZiAoY2VsbC52IGluc3RhbmNlb2YgRGF0ZSkge1xyXG4gICAgICAgIGNlbGwudCA9ICduJztcclxuICAgICAgICBjZWxsLnogPSBYTFNYLlNTRi5fdGFibGVbMTRdO1xyXG4gICAgICAgIGNlbGwudiA9IGRhdGVudW0oY2VsbC52KTtcclxuICAgICAgfSBlbHNlIGNlbGwudCA9ICdzJztcclxuXHJcbiAgICAgIHdzW2NlbGxfcmVmXSA9IGNlbGw7XHJcbiAgICB9XHJcbiAgfVxyXG4gIGlmIChyYW5nZS5zLmMgPCAxMDAwMDAwMCkgd3NbJyFyZWYnXSA9IFhMU1gudXRpbHMuZW5jb2RlX3JhbmdlKHJhbmdlKTtcclxuICByZXR1cm4gd3M7XHJcbn1cclxuXHJcbmZ1bmN0aW9uIFdvcmtib29rKCkge1xyXG4gIGlmICghKHRoaXMgaW5zdGFuY2VvZiBXb3JrYm9vaykpIHJldHVybiBuZXcgV29ya2Jvb2soKTtcclxuICB0aGlzLlNoZWV0TmFtZXMgPSBbXTtcclxuICB0aGlzLlNoZWV0cyA9IHt9O1xyXG59XHJcblxyXG5mdW5jdGlvbiBzMmFiKHMpIHtcclxuICB2YXIgYnVmID0gbmV3IEFycmF5QnVmZmVyKHMubGVuZ3RoKTtcclxuICB2YXIgdmlldyA9IG5ldyBVaW50OEFycmF5KGJ1Zik7XHJcbiAgZm9yICh2YXIgaSA9IDA7IGkgIT0gcy5sZW5ndGg7ICsraSkgdmlld1tpXSA9IHMuY2hhckNvZGVBdChpKSAmIDB4RkY7XHJcbiAgcmV0dXJuIGJ1ZjtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGV4cG9ydF90YWJsZV90b19leGNlbChpZCkge1xyXG4gIHZhciB0aGVUYWJsZSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGlkKTtcclxuICBjb25zb2xlLmxvZygnYScpXHJcbiAgdmFyIG9vID0gZ2VuZXJhdGVBcnJheSh0aGVUYWJsZSk7XHJcbiAgdmFyIHJhbmdlcyA9IG9vWzFdO1xyXG5cclxuICAvKiBvcmlnaW5hbCBkYXRhICovXHJcbiAgdmFyIGRhdGEgPSBvb1swXTtcclxuICB2YXIgd3NfbmFtZSA9IFwiU2hlZXRKU1wiO1xyXG4gIGNvbnNvbGUubG9nKGRhdGEpO1xyXG5cclxuICB2YXIgd2IgPSBuZXcgV29ya2Jvb2soKSxcclxuICAgIHdzID0gc2hlZXRfZnJvbV9hcnJheV9vZl9hcnJheXMoZGF0YSk7XHJcblxyXG4gIC8qIGFkZCByYW5nZXMgdG8gd29ya3NoZWV0ICovXHJcbiAgLy8gd3NbJyFjb2xzJ10gPSBbJ2FwcGxlJywgJ2JhbmFuJ107XHJcbiAgd3NbJyFtZXJnZXMnXSA9IHJhbmdlcztcclxuXHJcbiAgLyogYWRkIHdvcmtzaGVldCB0byB3b3JrYm9vayAqL1xyXG4gIHdiLlNoZWV0TmFtZXMucHVzaCh3c19uYW1lKTtcclxuICB3Yi5TaGVldHNbd3NfbmFtZV0gPSB3cztcclxuXHJcbiAgdmFyIHdib3V0ID0gWExTWC53cml0ZSh3Yiwge1xyXG4gICAgYm9va1R5cGU6ICd4bHN4JyxcclxuICAgIGJvb2tTU1Q6IGZhbHNlLFxyXG4gICAgdHlwZTogJ2JpbmFyeSdcclxuICB9KTtcclxuXHJcbiAgc2F2ZUFzKG5ldyBCbG9iKFtzMmFiKHdib3V0KV0sIHtcclxuICAgIHR5cGU6IFwiYXBwbGljYXRpb24vb2N0ZXQtc3RyZWFtXCJcclxuICB9KSwgXCJ0ZXN0Lnhsc3hcIilcclxufVxyXG5cclxuZnVuY3Rpb24gZm9ybWF0SnNvbihqc29uRGF0YSkge1xyXG4gIGNvbnNvbGUubG9nKGpzb25EYXRhKVxyXG59XHJcbmV4cG9ydCBmdW5jdGlvbiBleHBvcnRfanNvbl90b19leGNlbCh0aCwganNvbkRhdGEsIGRlZmF1bHRUaXRsZSkge1xyXG5cclxuICAvKiBvcmlnaW5hbCBkYXRhICovXHJcblxyXG4gIHZhciBkYXRhID0ganNvbkRhdGE7XHJcbiAgZGF0YS51bnNoaWZ0KHRoKTtcclxuICB2YXIgd3NfbmFtZSA9IFwiU2hlZXRKU1wiO1xyXG5cclxuICB2YXIgd2IgPSBuZXcgV29ya2Jvb2soKSxcclxuICAgIHdzID0gc2hlZXRfZnJvbV9hcnJheV9vZl9hcnJheXMoZGF0YSk7XHJcblxyXG5cclxuICAvKiBhZGQgd29ya3NoZWV0IHRvIHdvcmtib29rICovXHJcbiAgd2IuU2hlZXROYW1lcy5wdXNoKHdzX25hbWUpO1xyXG4gIHdiLlNoZWV0c1t3c19uYW1lXSA9IHdzO1xyXG5cclxuICB2YXIgd2JvdXQgPSBYTFNYLndyaXRlKHdiLCB7XHJcbiAgICBib29rVHlwZTogJ3hsc3gnLFxyXG4gICAgYm9va1NTVDogZmFsc2UsXHJcbiAgICB0eXBlOiAnYmluYXJ5J1xyXG4gIH0pO1xyXG4gIHZhciB0aXRsZSA9IGRlZmF1bHRUaXRsZSB8fCAn5YiX6KGoJ1xyXG4gIHNhdmVBcyhuZXcgQmxvYihbczJhYih3Ym91dCldLCB7XHJcbiAgICB0eXBlOiBcImFwcGxpY2F0aW9uL29jdGV0LXN0cmVhbVwiXHJcbiAgfSksIHRpdGxlICsgXCIueGxzeFwiKVxyXG59XG5cblxuLy8gV0VCUEFDSyBGT09URVIgLy9cbi8vIHNyYy9jb21tb24vRXhwb3J0MkV4Y2VsLmpzIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUZBO0FBSUE7QUFDQTtBQUNBO0FBRkE7QUFMQTtBQVVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUZBO0FBSUE7QUFDQTtBQUNBO0FBRkE7QUFMQTtBQVVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFEQTtBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBRkE7QUFDQTtBQUlBO0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFIQTtBQUNBO0FBS0E7QUFDQTtBQURBO0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBSEE7QUFLQTtBQUNBO0FBQ0E7QUFEQTtBQUdBIiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///WUKT\n")},aOHy:function(module,exports,__webpack_require__){eval('__webpack_require__("P+fo")(__webpack_require__("5z6/"))//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYU9IeS5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9maWxlLXNhdmVyL2Rpc3QvRmlsZVNhdmVyLm1pbi5qcz80YzZmIl0sInNvdXJjZXNDb250ZW50IjpbInJlcXVpcmUoXCIhIUY6XFxcXGNvY29yb2JvXFxcXHBibC10ZWFjaGVyLXRhYmxlXFxcXG5vZGVfbW9kdWxlc1xcXFxzY3JpcHQtbG9hZGVyXFxcXGFkZFNjcmlwdC5qc1wiKShyZXF1aXJlKFwiISFGOlxcXFxjb2Nvcm9ib1xcXFxwYmwtdGVhY2hlci10YWJsZVxcXFxub2RlX21vZHVsZXNcXFxccmF3LWxvYWRlclxcXFxpbmRleC5qcyFGOlxcXFxjb2Nvcm9ib1xcXFxwYmwtdGVhY2hlci10YWJsZVxcXFxub2RlX21vZHVsZXNcXFxcZmlsZS1zYXZlclxcXFxkaXN0XFxcXEZpbGVTYXZlci5taW4uanNcIikpXG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9ub2RlX21vZHVsZXMvc2NyaXB0LWxvYWRlciEuL25vZGVfbW9kdWxlcy9maWxlLXNhdmVyL2Rpc3QvRmlsZVNhdmVyLm1pbi5qc1xuLy8gbW9kdWxlIGlkID0gYU9IeVxuLy8gbW9kdWxlIGNodW5rcyA9IDAiXSwibWFwcGluZ3MiOiJBQUFBIiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///aOHy\n')},pe0Z:function(module,exports){eval('module.exports = "/*! xlsx.js (C) 2013-present SheetJS -- http://sheetjs.com */\\nvar DO_NOT_EXPORT_CODEPAGE=true;var DO_NOT_EXPORT_JSZIP=true;(function(e){if(\\"object\\"==typeof exports&&\\"undefined\\"!=typeof module&&\\"undefined\\"==typeof DO_NOT_EXPORT_JSZIP)module.exports=e();else if(\\"function\\"==typeof define&&define.amd&&\\"undefined\\"==typeof DO_NOT_EXPORT_JSZIP){JSZipSync=e();define([],e)}else{var r;\\"undefined\\"!=typeof globalThis?r=globalThis:\\"undefined\\"!=typeof window?r=window:\\"undefined\\"!=typeof global?r=global:\\"undefined\\"!=typeof $&&$.global?r=$.global:\\"undefined\\"!=typeof self&&(r=self),r.JSZipSync=e()}})(function(){var e,r,t;return function a(e,r,t){function n(s,f){if(!r[s]){if(!e[s]){var o=typeof require==\\"function\\"&&require;if(!f&&o)return o(s,!0);if(i)return i(s,!0);throw new Error(\\"Cannot find module \'\\"+s+\\"\'\\")}var l=r[s]={exports:{}};e[s][0].call(l.exports,function(r){var t=e[s][1][r];return n(t?t:r)},l,l.exports,a,e,r,t)}return r[s].exports}var i=typeof require==\\"function\\"&&require;for(var s=0;s<t.length;s++)n(t[s]);return n}({1:[function(e,r,t){\\"use strict\\";var a=\\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\\";t.encode=function(e,r){var t=\\"\\";var n,i,s,f,o,l,c;var u=0;while(u<e.length){n=e.charCodeAt(u++);i=e.charCodeAt(u++);s=e.charCodeAt(u++);f=n>>2;o=(n&3)<<4|i>>4;l=(i&15)<<2|s>>6;c=s&63;if(isNaN(i)){l=c=64}else if(isNaN(s)){c=64}t=t+a.charAt(f)+a.charAt(o)+a.charAt(l)+a.charAt(c)}return t};t.decode=function(e,r){var t=\\"\\";var n,i,s;var f,o,l,c;var u=0;e=e.replace(/[^A-Za-z0-9\\\\+\\\\/\\\\=]/g,\\"\\");while(u<e.length){f=a.indexOf(e.charAt(u++));o=a.indexOf(e.charAt(u++));l=a.indexOf(e.charAt(u++));c=a.indexOf(e.charAt(u++));n=f<<2|o>>4;i=(o&15)<<4|l>>2;s=(l&3)<<6|c;t=t+String.fromCharCode(n);if(l!=64){t=t+String.fromCharCode(i)}if(c!=64){t=t+String.fromCharCode(s)}}return t}},{}],2:[function(e,r,t){\\"use strict\\";function a(){this.compressedSize=0;this.uncompressedSize=0;this.crc32=0;this.compressionMethod=null;this.compressedContent=null}a.prototype={getContent:function(){return null},getCompressedContent:function(){return null}};r.exports=a},{}],3:[function(e,r,t){\\"use strict\\";t.STORE={magic:\\"\\\\0\\\\0\\",compress:function(e){return e},uncompress:function(e){return e},compressInputType:null,uncompressInputType:null};t.DEFLATE=e(\\"./flate\\")},{\\"./flate\\":8}],4:[function(e,r,t){\\"use strict\\";var a=e(\\"./utils\\");var n=[0,1996959894,3993919788,2567524794,124634137,1886057615,3915621685,2657392035,249268274,2044508324,3772115230,2547177864,162941995,2125561021,3887607047,2428444049,498536548,1789927666,4089016648,2227061214,450548861,1843258603,4107580753,2211677639,325883990,1684777152,4251122042,2321926636,335633487,1661365465,4195302755,2366115317,997073096,1281953886,3579855332,2724688242,1006888145,1258607687,3524101629,2768942443,901097722,1119000684,3686517206,2898065728,853044451,1172266101,3705015759,2882616665,651767980,1373503546,3369554304,3218104598,565507253,1454621731,3485111705,3099436303,671266974,1594198024,3322730930,2970347812,795835527,1483230225,3244367275,3060149565,1994146192,31158534,2563907772,4023717930,1907459465,112637215,2680153253,3904427059,2013776290,251722036,2517215374,3775830040,2137656763,141376813,2439277719,3865271297,1802195444,476864866,2238001368,4066508878,1812370925,453092731,2181625025,4111451223,1706088902,314042704,2344532202,4240017532,1658658271,366619977,2362670323,4224994405,1303535960,984961486,2747007092,3569037538,1256170817,1037604311,2765210733,3554079995,1131014506,879679996,2909243462,3663771856,1141124467,855842277,2852801631,3708648649,1342533948,654459306,3188396048,3373015174,1466479909,544179635,3110523913,3462522015,1591671054,702138776,2966460450,3352799412,1504918807,783551873,3082640443,3233442989,3988292384,2596254646,62317068,1957810842,3939845945,2647816111,81470997,1943803523,3814918930,2489596804,225274430,2053790376,3826175755,2466906013,167816743,2097651377,4027552580,2265490386,503444072,1762050814,4150417245,2154129355,426522225,1852507879,4275313526,2312317920,282753626,1742555852,4189708143,2394877945,397917763,1622183637,3604390888,2714866558,953729732,1340076626,3518719985,2797360999,1068828381,1219638859,3624741850,2936675148,906185462,1090812512,3747672003,2825379669,829329135,1181335161,3412177804,3160834842,628085408,1382605366,3423369109,3138078467,570562233,1426400815,3317316542,2998733608,733239954,1555261956,3268935591,3050360625,752459403,1541320221,2607071920,3965973030,1969922972,40735498,2617837225,3943577151,1913087877,83908371,2512341634,3803740692,2075208622,213261112,2463272603,3855990285,2094854071,198958881,2262029012,4057260610,1759359992,534414190,2176718541,4139329115,1873836001,414664567,2282248934,4279200368,1711684554,285281116,2405801727,4167216745,1634467795,376229701,2685067896,3608007406,1308918612,956543938,2808555105,3495958263,1231636301,1047427035,2932959818,3654703836,1088359270,936918e3,2847714899,3736837829,1202900863,817233897,3183342108,3401237130,1404277552,615818150,3134207493,3453421203,1423857449,601450431,3009837614,3294710456,1567103746,711928724,3020668471,3272380065,1510334235,755167117];r.exports=function i(e,r){if(typeof e===\\"undefined\\"||!e.length){return 0}var t=a.getTypeOf(e)!==\\"string\\";if(typeof r==\\"undefined\\"){r=0}var i=0;var s=0;var f=0;r=r^-1;for(var o=0,l=e.length;o<l;o++){f=t?e[o]:e.charCodeAt(o);s=(r^f)&255;i=n[s];r=r>>>8^i}return r^-1}},{\\"./utils\\":21}],5:[function(e,r,t){\\"use strict\\";var a=e(\\"./utils\\");function n(e){this.data=null;this.length=0;this.index=0}n.prototype={checkOffset:function(e){this.checkIndex(this.index+e)},checkIndex:function(e){if(this.length<e||e<0){throw new Error(\\"End of data reached (data length = \\"+this.length+\\", asked index = \\"+e+\\"). Corrupted zip ?\\")}},setIndex:function(e){this.checkIndex(e);this.index=e},skip:function(e){this.setIndex(this.index+e)},byteAt:function(e){},readInt:function(e){var r=0,t;this.checkOffset(e);for(t=this.index+e-1;t>=this.index;t--){r=(r<<8)+this.byteAt(t)}this.index+=e;return r},readString:function(e){return a.transformTo(\\"string\\",this.readData(e))},readData:function(e){},lastIndexOfSignature:function(e){},readDate:function(){var e=this.readInt(4);return new Date((e>>25&127)+1980,(e>>21&15)-1,e>>16&31,e>>11&31,e>>5&63,(e&31)<<1)}};r.exports=n},{\\"./utils\\":21}],6:[function(e,r,t){\\"use strict\\";t.base64=false;t.binary=false;t.dir=false;t.createFolders=false;t.date=null;t.compression=null;t.comment=null},{}],7:[function(e,r,t){\\"use strict\\";var a=e(\\"./utils\\");t.string2binary=function(e){return a.string2binary(e)};t.string2Uint8Array=function(e){return a.transformTo(\\"uint8array\\",e)};t.uint8Array2String=function(e){return a.transformTo(\\"string\\",e)};t.string2Blob=function(e){var r=a.transformTo(\\"arraybuffer\\",e);return a.arrayBuffer2Blob(r)};t.arrayBuffer2Blob=function(e){return a.arrayBuffer2Blob(e)};t.transformTo=function(e,r){return a.transformTo(e,r)};t.getTypeOf=function(e){return a.getTypeOf(e)};t.checkSupport=function(e){return a.checkSupport(e)};t.MAX_VALUE_16BITS=a.MAX_VALUE_16BITS;t.MAX_VALUE_32BITS=a.MAX_VALUE_32BITS;t.pretty=function(e){return a.pretty(e)};t.findCompression=function(e){return a.findCompression(e)};t.isRegExp=function(e){return a.isRegExp(e)}},{\\"./utils\\":21}],8:[function(e,r,t){\\"use strict\\";var a=typeof Uint8Array!==\\"undefined\\"&&typeof Uint16Array!==\\"undefined\\"&&typeof Uint32Array!==\\"undefined\\";var n=e(\\"pako\\");t.uncompressInputType=a?\\"uint8array\\":\\"array\\";t.compressInputType=a?\\"uint8array\\":\\"array\\";t.magic=\\"\\\\b\\\\0\\";t.compress=function(e){return n.deflateRaw(e)};t.uncompress=function(e){return n.inflateRaw(e)}},{pako:24}],9:[function(e,r,t){\\"use strict\\";var a=e(\\"./base64\\");function n(e,r){if(!(this instanceof n))return new n(e,r);this.files={};this.comment=null;this.root=\\"\\";if(e){this.load(e,r)}this.clone=function(){var e=new n;for(var r in this){if(typeof this[r]!==\\"function\\"){e[r]=this[r]}}return e}}n.prototype=e(\\"./object\\");n.prototype.load=e(\\"./load\\");n.support=e(\\"./support\\");n.defaults=e(\\"./defaults\\");n.utils=e(\\"./deprecatedPublicUtils\\");n.base64={encode:function(e){return a.encode(e)},decode:function(e){return a.decode(e)}};n.compressions=e(\\"./compressions\\");r.exports=n},{\\"./base64\\":1,\\"./compressions\\":3,\\"./defaults\\":6,\\"./deprecatedPublicUtils\\":7,\\"./load\\":10,\\"./object\\":13,\\"./support\\":17}],10:[function(e,r,t){\\"use strict\\";var a=e(\\"./base64\\");var n=e(\\"./zipEntries\\");r.exports=function(e,r){var t,i,s,f;r=r||{};if(r.base64){e=a.decode(e)}i=new n(e,r);t=i.files;for(s=0;s<t.length;s++){f=t[s];this.file(f.fileName,f.decompressed,{binary:true,optimizedBinaryString:true,date:f.date,dir:f.dir,comment:f.fileComment.length?f.fileComment:null,createFolders:r.createFolders})}if(i.zipComment.length){this.comment=i.zipComment}return this}},{\\"./base64\\":1,\\"./zipEntries\\":22}],11:[function(e,r,t){(function(e){\\"use strict\\";var t=function(){};if(typeof e!==\\"undefined\\"){var a=!e.from;if(!a)try{e.from(\\"foo\\",\\"utf8\\")}catch(n){a=true}t=a?function(r,t){return t?new e(r,t):new e(r)}:e.from.bind(e);if(!e.alloc)e.alloc=function(r){return new e(r)}}r.exports=function(r,a){return typeof r==\\"number\\"?e.alloc(r):t(r,a)};r.exports.test=function(r){return e.isBuffer(r)}}).call(this,typeof Buffer!==\\"undefined\\"?Buffer:undefined)},{}],12:[function(e,r,t){\\"use strict\\";var a=e(\\"./uint8ArrayReader\\");function n(e){this.data=e;this.length=this.data.length;this.index=0}n.prototype=new a;n.prototype.readData=function(e){this.checkOffset(e);var r=this.data.slice(this.index,this.index+e);this.index+=e;return r};r.exports=n},{\\"./uint8ArrayReader\\":18}],13:[function(e,r,t){\\"use strict\\";var a=e(\\"./support\\");var n=e(\\"./utils\\");var i=e(\\"./crc32\\");var s=e(\\"./signature\\");var f=e(\\"./defaults\\");var o=e(\\"./base64\\");var l=e(\\"./compressions\\");var c=e(\\"./compressedObject\\");var u=e(\\"./nodeBuffer\\");var h=e(\\"./utf8\\");var d=e(\\"./stringWriter\\");var v=e(\\"./uint8ArrayWriter\\");var p=function(e){if(e._data instanceof c){e._data=e._data.getContent();e.options.binary=true;e.options.base64=false;if(n.getTypeOf(e._data)===\\"uint8array\\"){var r=e._data;e._data=new Uint8Array(r.length);if(r.length!==0){e._data.set(r,0)}}}return e._data};var m=function(e){var r=p(e),t=n.getTypeOf(r);if(t===\\"string\\"){if(!e.options.binary){if(a.nodebuffer){return u(r,\\"utf-8\\")}}return e.asBinary()}return r};var b=function(e){var r=p(this);if(r===null||typeof r===\\"undefined\\"){return\\"\\"}if(this.options.base64){r=o.decode(r)}if(e&&this.options.binary){r=y.utf8decode(r)}else{r=n.transformTo(\\"string\\",r)}if(!e&&!this.options.binary){r=n.transformTo(\\"string\\",y.utf8encode(r))}return r};var g=function(e,r,t){this.name=e;this.dir=t.dir;this.date=t.date;this.comment=t.comment;this._data=r;this.options=t;this._initialMetadata={dir:t.dir,date:t.date}};g.prototype={asText:function(){return b.call(this,true)},asBinary:function(){return b.call(this,false)},asNodeBuffer:function(){var e=m(this);return n.transformTo(\\"nodebuffer\\",e)},asUint8Array:function(){var e=m(this);return n.transformTo(\\"uint8array\\",e)},asArrayBuffer:function(){return this.asUint8Array().buffer}};var w=function(e,r){var t=\\"\\",a;for(a=0;a<r;a++){t+=String.fromCharCode(e&255);e=e>>>8}return t};var k=function(){var e={},r,t;for(r=0;r<arguments.length;r++){for(t in arguments[r]){if(arguments[r].hasOwnProperty(t)&&typeof e[t]===\\"undefined\\"){e[t]=arguments[r][t]}}}return e};var E=function(e){e=e||{};if(e.base64===true&&(e.binary===null||e.binary===undefined)){e.binary=true}e=k(e,f);e.date=e.date||new Date;if(e.compression!==null)e.compression=e.compression.toUpperCase();return e};var S=function(e,r,t){var a=n.getTypeOf(r),i;t=E(t);if(t.createFolders&&(i=_(e))){C.call(this,i,true)}if(t.dir||r===null||typeof r===\\"undefined\\"){t.base64=false;t.binary=false;r=null}else if(a===\\"string\\"){if(t.binary&&!t.base64){if(t.optimizedBinaryString!==true){r=n.string2binary(r)}}}else{t.base64=false;t.binary=true;if(!a&&!(r instanceof c)){throw new Error(\\"The data of \'\\"+e+\\"\' is in an unsupported format !\\")}if(a===\\"arraybuffer\\"){r=n.transformTo(\\"uint8array\\",r)}}var s=new g(e,r,t);this.files[e]=s;return s};var _=function(e){if(e.slice(-1)==\\"/\\"){e=e.substring(0,e.length-1)}var r=e.lastIndexOf(\\"/\\");return r>0?e.substring(0,r):\\"\\"};var C=function(e,r){if(e.slice(-1)!=\\"/\\"){e+=\\"/\\"}r=typeof r!==\\"undefined\\"?r:false;if(!this.files[e]){S.call(this,e,null,{dir:true,createFolders:r})}return this.files[e]};var B=function(e,r){var t=new c,a;if(e._data instanceof c){t.uncompressedSize=e._data.uncompressedSize;t.crc32=e._data.crc32;if(t.uncompressedSize===0||e.dir){r=l[\\"STORE\\"];t.compressedContent=\\"\\";t.crc32=0}else if(e._data.compressionMethod===r.magic){t.compressedContent=e._data.getCompressedContent()}else{a=e._data.getContent();t.compressedContent=r.compress(n.transformTo(r.compressInputType,a))}}else{a=m(e);if(!a||a.length===0||e.dir){r=l[\\"STORE\\"];a=\\"\\"}t.uncompressedSize=a.length;t.crc32=i(a);t.compressedContent=r.compress(n.transformTo(r.compressInputType,a))}t.compressedSize=t.compressedContent.length;t.compressionMethod=r.magic;return t};var T=function(e,r,t,a){var f=t.compressedContent,o=n.transformTo(\\"string\\",h.utf8encode(r.name)),l=r.comment||\\"\\",c=n.transformTo(\\"string\\",h.utf8encode(l)),u=o.length!==r.name.length,d=c.length!==l.length,v=r.options,p,m,b=\\"\\",g=\\"\\",k=\\"\\",E,S;if(r._initialMetadata.dir!==r.dir){E=r.dir}else{E=v.dir}if(r._initialMetadata.date!==r.date){S=r.date}else{S=v.date}p=S.getHours();p=p<<6;p=p|S.getMinutes();p=p<<5;p=p|S.getSeconds()/2;m=S.getFullYear()-1980;m=m<<4;m=m|S.getMonth()+1;m=m<<5;m=m|S.getDate();if(u){g=w(1,1)+w(i(o),4)+o;b+=\\"up\\"+w(g.length,2)+g}if(d){k=w(1,1)+w(this.crc32(c),4)+c;b+=\\"uc\\"+w(k.length,2)+k}var _=\\"\\";_+=\\"\\\\n\\\\0\\";_+=u||d?\\"\\\\0\\\\b\\":\\"\\\\0\\\\0\\";_+=t.compressionMethod;_+=w(p,2);_+=w(m,2);_+=w(t.crc32,4);_+=w(t.compressedSize,4);_+=w(t.uncompressedSize,4);_+=w(o.length,2);_+=w(b.length,2);var C=s.LOCAL_FILE_HEADER+_+o+b;var B=s.CENTRAL_FILE_HEADER+\\"\\u0014\\\\0\\"+_+w(c.length,2)+\\"\\\\0\\\\0\\"+\\"\\\\0\\\\0\\"+(E===true?\\"\\u0010\\\\0\\\\0\\\\0\\":\\"\\\\0\\\\0\\\\0\\\\0\\")+w(a,4)+o+b+c;return{fileRecord:C,dirRecord:B,compressedObject:t}};var y={load:function(e,r){throw new Error(\\"Load method is not defined. Is the file jszip-load.js included ?\\")},filter:function(e){var r=[],t,a,n,i;for(t in this.files){if(!this.files.hasOwnProperty(t)){continue}n=this.files[t];i=new g(n.name,n._data,k(n.options));a=t.slice(this.root.length,t.length);if(t.slice(0,this.root.length)===this.root&&e(a,i)){r.push(i)}}return r},file:function(e,r,t){if(arguments.length===1){if(n.isRegExp(e)){var a=e;return this.filter(function(e,r){return!r.dir&&a.test(e)})}else{return this.filter(function(r,t){return!t.dir&&r===e})[0]||null}}else{e=this.root+e;S.call(this,e,r,t)}return this},folder:function(e){if(!e){return this}if(n.isRegExp(e)){return this.filter(function(r,t){return t.dir&&e.test(r)})}var r=this.root+e;var t=C.call(this,r);var a=this.clone();a.root=t.name;return a},remove:function(e){e=this.root+e;var r=this.files[e];if(!r){if(e.slice(-1)!=\\"/\\"){e+=\\"/\\"}r=this.files[e]}if(r&&!r.dir){delete this.files[e]}else{var t=this.filter(function(r,t){return t.name.slice(0,e.length)===e});for(var a=0;a<t.length;a++){delete this.files[t[a].name]}}return this},generate:function(e){e=k(e||{},{base64:true,compression:\\"STORE\\",type:\\"base64\\",comment:null});n.checkSupport(e.type);var r=[],t=0,a=0,i,f,c=n.transformTo(\\"string\\",this.utf8encode(e.comment||this.comment||\\"\\"));for(var u in this.files){if(!this.files.hasOwnProperty(u)){continue}var h=this.files[u];var p=h.options.compression||e.compression.toUpperCase();var m=l[p];if(!m){throw new Error(p+\\" is not a valid compression method !\\")}var b=B.call(this,h,m);var g=T.call(this,u,h,b,t);t+=g.fileRecord.length+b.compressedSize;a+=g.dirRecord.length;r.push(g)}var E=\\"\\";E=s.CENTRAL_DIRECTORY_END+\\"\\\\0\\\\0\\"+\\"\\\\0\\\\0\\"+w(r.length,2)+w(r.length,2)+w(a,4)+w(t,4)+w(c.length,2)+c;var S=e.type.toLowerCase();if(S===\\"uint8array\\"||S===\\"arraybuffer\\"||S===\\"blob\\"||S===\\"nodebuffer\\"){i=new v(t+a+E.length)}else{i=new d(t+a+E.length)}for(f=0;f<r.length;f++){i.append(r[f].fileRecord);i.append(r[f].compressedObject.compressedContent)}for(f=0;f<r.length;f++){i.append(r[f].dirRecord)}i.append(E);var _=i.finalize();switch(e.type.toLowerCase()){case\\"uint8array\\":;case\\"arraybuffer\\":;case\\"nodebuffer\\":return n.transformTo(e.type.toLowerCase(),_);case\\"blob\\":return n.arrayBuffer2Blob(n.transformTo(\\"arraybuffer\\",_));case\\"base64\\":return e.base64?o.encode(_):_;default:return _;}},crc32:function(e,r){return i(e,r)},utf8encode:function(e){return n.transformTo(\\"string\\",h.utf8encode(e))},utf8decode:function(e){return h.utf8decode(e)}};r.exports=y},{\\"./base64\\":1,\\"./compressedObject\\":2,\\"./compressions\\":3,\\"./crc32\\":4,\\"./defaults\\":6,\\"./nodeBuffer\\":11,\\"./signature\\":14,\\"./stringWriter\\":16,\\"./support\\":17,\\"./uint8ArrayWriter\\":19,\\"./utf8\\":20,\\"./utils\\":21}],14:[function(e,r,t){\\"use strict\\";t.LOCAL_FILE_HEADER=\\"PK\\u0003\\u0004\\";t.CENTRAL_FILE_HEADER=\\"PK\\u0001\\u0002\\";t.CENTRAL_DIRECTORY_END=\\"PK\\u0005\\u0006\\";t.ZIP64_CENTRAL_DIRECTORY_LOCATOR=\\"PK\\u0006\\u0007\\";t.ZIP64_CENTRAL_DIRECTORY_END=\\"PK\\u0006\\u0006\\";t.DATA_DESCRIPTOR=\\"PK\\u0007\\\\b\\"},{}],15:[function(e,r,t){\\"use strict\\";var a=e(\\"./dataReader\\");var n=e(\\"./utils\\");function i(e,r){this.data=e;if(!r){this.data=n.string2binary(this.data)}this.length=this.data.length;this.index=0}i.prototype=new a;i.prototype.byteAt=function(e){return this.data.charCodeAt(e)};i.prototype.lastIndexOfSignature=function(e){return this.data.lastIndexOf(e)};i.prototype.readData=function(e){this.checkOffset(e);var r=this.data.slice(this.index,this.index+e);this.index+=e;return r};r.exports=i},{\\"./dataReader\\":5,\\"./utils\\":21}],16:[function(e,r,t){\\"use strict\\";var a=e(\\"./utils\\");var n=function(){this.data=[]};n.prototype={append:function(e){e=a.transformTo(\\"string\\",e);this.data.push(e)},finalize:function(){return this.data.join(\\"\\")}};r.exports=n},{\\"./utils\\":21}],17:[function(e,r,t){(function(e){\\"use strict\\";t.base64=true;t.array=true;t.string=true;t.arraybuffer=typeof ArrayBuffer!==\\"undefined\\"&&typeof Uint8Array!==\\"undefined\\";t.nodebuffer=typeof e!==\\"undefined\\";t.uint8array=typeof Uint8Array!==\\"undefined\\";if(typeof ArrayBuffer===\\"undefined\\"){t.blob=false}else{var r=new ArrayBuffer(0);try{t.blob=new Blob([r],{type:\\"application/zip\\"}).size===0}catch(a){try{var n=window.BlobBuilder||window.WebKitBlobBuilder||window.MozBlobBuilder||window.MSBlobBuilder;var i=new n;i.append(r);t.blob=i.getBlob(\\"application/zip\\").size===0}catch(a){t.blob=false}}}}).call(this,typeof Buffer!==\\"undefined\\"?Buffer:undefined)},{}],18:[function(e,r,t){\\"use strict\\";var a=e(\\"./dataReader\\");function n(e){if(e){this.data=e;this.length=this.data.length;this.index=0}}n.prototype=new a;n.prototype.byteAt=function(e){return this.data[e]};n.prototype.lastIndexOfSignature=function(e){var r=e.charCodeAt(0),t=e.charCodeAt(1),a=e.charCodeAt(2),n=e.charCodeAt(3);for(var i=this.length-4;i>=0;--i){if(this.data[i]===r&&this.data[i+1]===t&&this.data[i+2]===a&&this.data[i+3]===n){return i}}return-1};n.prototype.readData=function(e){this.checkOffset(e);if(e===0){return new Uint8Array(0)}var r=this.data.subarray(this.index,this.index+e);this.index+=e;return r};r.exports=n},{\\"./dataReader\\":5}],19:[function(e,r,t){\\"use strict\\";var a=e(\\"./utils\\");var n=function(e){this.data=new Uint8Array(e);this.index=0};n.prototype={append:function(e){if(e.length!==0){e=a.transformTo(\\"uint8array\\",e);this.data.set(e,this.index);this.index+=e.length}},finalize:function(){return this.data}};r.exports=n},{\\"./utils\\":21}],20:[function(e,r,t){\\"use strict\\";var a=e(\\"./utils\\");var n=e(\\"./support\\");var i=e(\\"./nodeBuffer\\");var s=new Array(256);for(var f=0;f<256;f++){s[f]=f>=252?6:f>=248?5:f>=240?4:f>=224?3:f>=192?2:1}s[254]=s[254]=1;var o=function(e){var r,t,a,i,s,f=e.length,o=0;for(i=0;i<f;i++){t=e.charCodeAt(i);if((t&64512)===55296&&i+1<f){a=e.charCodeAt(i+1);if((a&64512)===56320){t=65536+(t-55296<<10)+(a-56320);i++}}o+=t<128?1:t<2048?2:t<65536?3:4}if(n.uint8array){r=new Uint8Array(o)}else{r=new Array(o)}for(s=0,i=0;s<o;i++){t=e.charCodeAt(i);if((t&64512)===55296&&i+1<f){a=e.charCodeAt(i+1);if((a&64512)===56320){t=65536+(t-55296<<10)+(a-56320);i++}}if(t<128){r[s++]=t}else if(t<2048){r[s++]=192|t>>>6;r[s++]=128|t&63}else if(t<65536){r[s++]=224|t>>>12;r[s++]=128|t>>>6&63;r[s++]=128|t&63}else{r[s++]=240|t>>>18;r[s++]=128|t>>>12&63;r[s++]=128|t>>>6&63;r[s++]=128|t&63}}return r};var l=function(e,r){var t;r=r||e.length;if(r>e.length){r=e.length}t=r-1;while(t>=0&&(e[t]&192)===128){t--}if(t<0){return r}if(t===0){return r}return t+s[e[t]]>r?t:r};var c=function(e){var r,t,n,i,f;var o=e.length;var l=new Array(o*2);for(n=0,t=0;t<o;){i=e[t++];if(i<128){l[n++]=i;continue}f=s[i];if(f>4){l[n++]=65533;t+=f-1;continue}i&=f===2?31:f===3?15:7;while(f>1&&t<o){i=i<<6|e[t++]&63;f--}if(f>1){l[n++]=65533;continue}if(i<65536){l[n++]=i}else{i-=65536;l[n++]=55296|i>>10&1023;l[n++]=56320|i&1023}}if(l.length!==n){if(l.subarray){l=l.subarray(0,n)}else{l.length=n}}return a.applyFromCharCode(l)};t.utf8encode=function u(e){if(n.nodebuffer){return i(e,\\"utf-8\\")}return o(e)};t.utf8decode=function h(e){if(n.nodebuffer){return a.transformTo(\\"nodebuffer\\",e).toString(\\"utf-8\\")}e=a.transformTo(n.uint8array?\\"uint8array\\":\\"array\\",e);var r=[],t=0,i=e.length,s=65536;while(t<i){var f=l(e,Math.min(t+s,i));if(n.uint8array){r.push(c(e.subarray(t,f)))}else{r.push(c(e.slice(t,f)))}t=f}return r.join(\\"\\")}},{\\"./nodeBuffer\\":11,\\"./support\\":17,\\"./utils\\":21}],21:[function(e,r,t){\\"use strict\\";var a=e(\\"./support\\");var n=e(\\"./compressions\\");var i=e(\\"./nodeBuffer\\");t.string2binary=function(e){var r=\\"\\";for(var t=0;t<e.length;t++){r+=String.fromCharCode(e.charCodeAt(t)&255)}return r};t.arrayBuffer2Blob=function(e){t.checkSupport(\\"blob\\");try{return new Blob([e],{type:\\"application/zip\\"})}catch(r){try{var a=window.BlobBuilder||window.WebKitBlobBuilder||window.MozBlobBuilder||window.MSBlobBuilder;var n=new a;n.append(e);return n.getBlob(\\"application/zip\\")}catch(r){throw new Error(\\"Bug : can\'t construct the Blob.\\")}}};function s(e){return e}function f(e,r){for(var t=0;t<e.length;++t){r[t]=e.charCodeAt(t)&255}return r}function o(e){var r=65536;var a=[],n=e.length,s=t.getTypeOf(e),f=0,o=true;try{switch(s){case\\"uint8array\\":String.fromCharCode.apply(null,new Uint8Array(0));break;case\\"nodebuffer\\":String.fromCharCode.apply(null,i(0));break;}}catch(l){o=false}if(!o){var c=\\"\\";for(var u=0;u<e.length;u++){c+=String.fromCharCode(e[u])}return c}while(f<n&&r>1){try{if(s===\\"array\\"||s===\\"nodebuffer\\"){a.push(String.fromCharCode.apply(null,e.slice(f,Math.min(f+r,n))))}else{a.push(String.fromCharCode.apply(null,e.subarray(f,Math.min(f+r,n))))}f+=r}catch(l){r=Math.floor(r/2)}}return a.join(\\"\\")}t.applyFromCharCode=o;function l(e,r){for(var t=0;t<e.length;t++){r[t]=e[t]}return r}var c={};c[\\"string\\"]={string:s,array:function(e){return f(e,new Array(e.length))},arraybuffer:function(e){return c[\\"string\\"][\\"uint8array\\"](e).buffer},uint8array:function(e){return f(e,new Uint8Array(e.length))},nodebuffer:function(e){return f(e,i(e.length))}};c[\\"array\\"]={string:o,array:s,arraybuffer:function(e){return new Uint8Array(e).buffer},uint8array:function(e){return new Uint8Array(e)},nodebuffer:function(e){return i(e)}};c[\\"arraybuffer\\"]={string:function(e){return o(new Uint8Array(e))},array:function(e){return l(new Uint8Array(e),new Array(e.byteLength))},arraybuffer:s,uint8array:function(e){return new Uint8Array(e)},nodebuffer:function(e){return i(new Uint8Array(e))}};c[\\"uint8array\\"]={string:o,array:function(e){return l(e,new Array(e.length))},arraybuffer:function(e){return e.buffer},uint8array:s,nodebuffer:function(e){return i(e)}};c[\\"nodebuffer\\"]={string:o,array:function(e){return l(e,new Array(e.length))},arraybuffer:function(e){return c[\\"nodebuffer\\"][\\"uint8array\\"](e).buffer},uint8array:function(e){return l(e,new Uint8Array(e.length))},nodebuffer:s};t.transformTo=function(e,r){if(!r){r=\\"\\"}if(!e){return r}t.checkSupport(e);var a=t.getTypeOf(r);var n=c[a][e](r);return n};t.getTypeOf=function(e){if(typeof e===\\"string\\"){return\\"string\\"}if(Object.prototype.toString.call(e)===\\"[object Array]\\"){return\\"array\\"}if(a.nodebuffer&&i.test(e)){return\\"nodebuffer\\"}if(a.uint8array&&e instanceof Uint8Array){return\\"uint8array\\"}if(a.arraybuffer&&e instanceof ArrayBuffer){return\\"arraybuffer\\"}};t.checkSupport=function(e){var r=a[e.toLowerCase()];if(!r){throw new Error(e+\\" is not supported by this browser\\")}};t.MAX_VALUE_16BITS=65535;t.MAX_VALUE_32BITS=-1;t.pretty=function(e){var r=\\"\\",t,a;for(a=0;a<(e||\\"\\").length;a++){t=e.charCodeAt(a);r+=\\"\\\\\\\\x\\"+(t<16?\\"0\\":\\"\\")+t.toString(16).toUpperCase()}return r};t.findCompression=function(e){for(var r in n){if(!n.hasOwnProperty(r)){continue}if(n[r].magic===e){return n[r]}}return null};t.isRegExp=function(e){return Object.prototype.toString.call(e)===\\"[object RegExp]\\"}},{\\"./compressions\\":3,\\"./nodeBuffer\\":11,\\"./support\\":17}],22:[function(e,r,t){\\"use strict\\";var a=e(\\"./stringReader\\");var n=e(\\"./nodeBufferReader\\");var i=e(\\"./uint8ArrayReader\\");var s=e(\\"./utils\\");var f=e(\\"./signature\\");var o=e(\\"./zipEntry\\");var l=e(\\"./support\\");var c=e(\\"./object\\");function u(e,r){this.files=[];this.loadOptions=r;if(e){this.load(e)}}u.prototype={checkSignature:function(e){var r=this.reader.readString(4);if(r!==e){throw new Error(\\"Corrupted zip or bug : unexpected signature \\"+\\"(\\"+s.pretty(r)+\\", expected \\"+s.pretty(e)+\\")\\")}},readBlockEndOfCentral:function(){this.diskNumber=this.reader.readInt(2);this.diskWithCentralDirStart=this.reader.readInt(2);this.centralDirRecordsOnThisDisk=this.reader.readInt(2);this.centralDirRecords=this.reader.readInt(2);this.centralDirSize=this.reader.readInt(4);this.centralDirOffset=this.reader.readInt(4);this.zipCommentLength=this.reader.readInt(2);this.zipComment=this.reader.readString(this.zipCommentLength);this.zipComment=c.utf8decode(this.zipComment)},readBlockZip64EndOfCentral:function(){this.zip64EndOfCentralSize=this.reader.readInt(8);this.versionMadeBy=this.reader.readString(2);this.versionNeeded=this.reader.readInt(2);this.diskNumber=this.reader.readInt(4);this.diskWithCentralDirStart=this.reader.readInt(4);this.centralDirRecordsOnThisDisk=this.reader.readInt(8);this.centralDirRecords=this.reader.readInt(8);this.centralDirSize=this.reader.readInt(8);this.centralDirOffset=this.reader.readInt(8);this.zip64ExtensibleData={};var e=this.zip64EndOfCentralSize-44,r=0,t,a,n;while(r<e){t=this.reader.readInt(2);a=this.reader.readInt(4);n=this.reader.readString(a);this.zip64ExtensibleData[t]={id:t,length:a,value:n}}},readBlockZip64EndOfCentralLocator:function(){this.diskWithZip64CentralDirStart=this.reader.readInt(4);this.relativeOffsetEndOfZip64CentralDir=this.reader.readInt(8);this.disksCount=this.reader.readInt(4);if(this.disksCount>1){throw new Error(\\"Multi-volumes zip are not supported\\")}},readLocalFiles:function(){var e,r;for(e=0;e<this.files.length;e++){r=this.files[e];this.reader.setIndex(r.localHeaderOffset);this.checkSignature(f.LOCAL_FILE_HEADER);r.readLocalPart(this.reader);r.handleUTF8()}},readCentralDir:function(){var e;this.reader.setIndex(this.centralDirOffset);while(this.reader.readString(4)===f.CENTRAL_FILE_HEADER){e=new o({zip64:this.zip64},this.loadOptions);e.readCentralPart(this.reader);this.files.push(e)}},readEndOfCentral:function(){var e=this.reader.lastIndexOfSignature(f.CENTRAL_DIRECTORY_END);if(e===-1){throw new Error(\\"Corrupted zip : can\'t find end of central directory\\")}this.reader.setIndex(e);this.checkSignature(f.CENTRAL_DIRECTORY_END);this.readBlockEndOfCentral();if(this.diskNumber===s.MAX_VALUE_16BITS||this.diskWithCentralDirStart===s.MAX_VALUE_16BITS||this.centralDirRecordsOnThisDisk===s.MAX_VALUE_16BITS||this.centralDirRecords===s.MAX_VALUE_16BITS||this.centralDirSize===s.MAX_VALUE_32BITS||this.centralDirOffset===s.MAX_VALUE_32BITS){this.zip64=true;e=this.reader.lastIndexOfSignature(f.ZIP64_CENTRAL_DIRECTORY_LOCATOR);if(e===-1){throw new Error(\\"Corrupted zip : can\'t find the ZIP64 end of central directory locator\\")}this.reader.setIndex(e);this.checkSignature(f.ZIP64_CENTRAL_DIRECTORY_LOCATOR);this.readBlockZip64EndOfCentralLocator();this.reader.setIndex(this.relativeOffsetEndOfZip64CentralDir);this.checkSignature(f.ZIP64_CENTRAL_DIRECTORY_END);this.readBlockZip64EndOfCentral()}},prepareReader:function(e){var r=s.getTypeOf(e);if(r===\\"string\\"&&!l.uint8array){this.reader=new a(e,this.loadOptions.optimizedBinaryString)}else if(r===\\"nodebuffer\\"){this.reader=new n(e)}else{this.reader=new i(s.transformTo(\\"uint8array\\",e))}},load:function(e){this.prepareReader(e);this.readEndOfCentral();this.readCentralDir();this.readLocalFiles()}};r.exports=u},{\\"./nodeBufferReader\\":12,\\"./object\\":13,\\"./signature\\":14,\\"./stringReader\\":15,\\"./support\\":17,\\"./uint8ArrayReader\\":18,\\"./utils\\":21,\\"./zipEntry\\":23}],23:[function(e,r,t){\\"use strict\\";var a=e(\\"./stringReader\\");var n=e(\\"./utils\\");var i=e(\\"./compressedObject\\");var s=e(\\"./object\\");function f(e,r){this.options=e;this.loadOptions=r}f.prototype={isEncrypted:function(){return(this.bitFlag&1)===1},useUTF8:function(){return(this.bitFlag&2048)===2048},prepareCompressedContent:function(e,r,t){return function(){var a=e.index;e.setIndex(r);var n=e.readData(t);e.setIndex(a);return n}},prepareContent:function(e,r,t,a,i){return function(){var e=n.transformTo(a.uncompressInputType,this.getCompressedContent());var r=a.uncompress(e);if(r.length!==i){throw new Error(\\"Bug : uncompressed data size mismatch\\")}return r}},readLocalPart:function(e){var r,t;e.skip(22);this.fileNameLength=e.readInt(2);t=e.readInt(2);this.fileName=e.readString(this.fileNameLength);e.skip(t);if(this.compressedSize==-1||this.uncompressedSize==-1){throw new Error(\\"Bug or corrupted zip : didn\'t get enough informations from the central directory \\"+\\"(compressedSize == -1 || uncompressedSize == -1)\\")}r=n.findCompression(this.compressionMethod);if(r===null){throw new Error(\\"Corrupted zip : compression \\"+n.pretty(this.compressionMethod)+\\" unknown (inner file : \\"+this.fileName+\\")\\")}this.decompressed=new i;this.decompressed.compressedSize=this.compressedSize;this.decompressed.uncompressedSize=this.uncompressedSize;this.decompressed.crc32=this.crc32;this.decompressed.compressionMethod=this.compressionMethod;this.decompressed.getCompressedContent=this.prepareCompressedContent(e,e.index,this.compressedSize,r);this.decompressed.getContent=this.prepareContent(e,e.index,this.compressedSize,r,this.uncompressedSize);if(this.loadOptions.checkCRC32){this.decompressed=n.transformTo(\\"string\\",this.decompressed.getContent());if(s.crc32(this.decompressed)!==this.crc32){throw new Error(\\"Corrupted zip : CRC32 mismatch\\")}}},readCentralPart:function(e){this.versionMadeBy=e.readString(2);this.versionNeeded=e.readInt(2);this.bitFlag=e.readInt(2);this.compressionMethod=e.readString(2);this.date=e.readDate();this.crc32=e.readInt(4);this.compressedSize=e.readInt(4);this.uncompressedSize=e.readInt(4);this.fileNameLength=e.readInt(2);this.extraFieldsLength=e.readInt(2);this.fileCommentLength=e.readInt(2);this.diskNumberStart=e.readInt(2);this.internalFileAttributes=e.readInt(2);this.externalFileAttributes=e.readInt(4);this.localHeaderOffset=e.readInt(4);if(this.isEncrypted()){throw new Error(\\"Encrypted zip are not supported\\")}this.fileName=e.readString(this.fileNameLength);this.readExtraFields(e);this.parseZIP64ExtraField(e);this.fileComment=e.readString(this.fileCommentLength);this.dir=this.externalFileAttributes&16?true:false},parseZIP64ExtraField:function(e){if(!this.extraFields[1]){return}var r=new a(this.extraFields[1].value);if(this.uncompressedSize===n.MAX_VALUE_32BITS){this.uncompressedSize=r.readInt(8)}if(this.compressedSize===n.MAX_VALUE_32BITS){this.compressedSize=r.readInt(8)}if(this.localHeaderOffset===n.MAX_VALUE_32BITS){this.localHeaderOffset=r.readInt(8)}if(this.diskNumberStart===n.MAX_VALUE_32BITS){this.diskNumberStart=r.readInt(4)}},readExtraFields:function(e){var r=e.index,t,a,n;this.extraFields=this.extraFields||{};while(e.index<r+this.extraFieldsLength){t=e.readInt(2);a=e.readInt(2);n=e.readString(a);this.extraFields[t]={id:t,length:a,value:n}}},handleUTF8:function(){if(this.useUTF8()){this.fileName=s.utf8decode(this.fileName);this.fileComment=s.utf8decode(this.fileComment)}else{var e=this.findExtraFieldUnicodePath();if(e!==null){this.fileName=e}var r=this.findExtraFieldUnicodeComment();if(r!==null){this.fileComment=r}}},findExtraFieldUnicodePath:function(){var e=this.extraFields[28789];if(e){var r=new a(e.value);if(r.readInt(1)!==1){\\nreturn null}if(s.crc32(this.fileName)!==r.readInt(4)){return null}return s.utf8decode(r.readString(e.length-5))}return null},findExtraFieldUnicodeComment:function(){var e=this.extraFields[25461];if(e){var r=new a(e.value);if(r.readInt(1)!==1){return null}if(s.crc32(this.fileComment)!==r.readInt(4)){return null}return s.utf8decode(r.readString(e.length-5))}return null}};r.exports=f},{\\"./compressedObject\\":2,\\"./object\\":13,\\"./stringReader\\":15,\\"./utils\\":21}],24:[function(e,r,t){\\"use strict\\";var a=e(\\"./lib/utils/common\\").assign;var n=e(\\"./lib/deflate\\");var i=e(\\"./lib/inflate\\");var s=e(\\"./lib/zlib/constants\\");var f={};a(f,n,i,s);r.exports=f},{\\"./lib/deflate\\":25,\\"./lib/inflate\\":26,\\"./lib/utils/common\\":27,\\"./lib/zlib/constants\\":30}],25:[function(e,r,t){\\"use strict\\";var a=e(\\"./zlib/deflate.js\\");var n=e(\\"./utils/common\\");var i=e(\\"./utils/strings\\");var s=e(\\"./zlib/messages\\");var f=e(\\"./zlib/zstream\\");var o=0;var l=4;var c=0;var u=1;var h=-1;var d=0;var v=8;var p=function(e){this.options=n.assign({level:h,method:v,chunkSize:16384,windowBits:15,memLevel:8,strategy:d,to:\\"\\"},e||{});var r=this.options;if(r.raw&&r.windowBits>0){r.windowBits=-r.windowBits}else if(r.gzip&&r.windowBits>0&&r.windowBits<16){r.windowBits+=16}this.err=0;this.msg=\\"\\";this.ended=false;this.chunks=[];this.strm=new f;this.strm.avail_out=0;var t=a.deflateInit2(this.strm,r.level,r.method,r.windowBits,r.memLevel,r.strategy);if(t!==c){throw new Error(s[t])}if(r.header){a.deflateSetHeader(this.strm,r.header)}};p.prototype.push=function(e,r){var t=this.strm;var s=this.options.chunkSize;var f,h;if(this.ended){return false}h=r===~~r?r:r===true?l:o;if(typeof e===\\"string\\"){t.input=i.string2buf(e)}else{t.input=e}t.next_in=0;t.avail_in=t.input.length;do{if(t.avail_out===0){t.output=new n.Buf8(s);t.next_out=0;t.avail_out=s}f=a.deflate(t,h);if(f!==u&&f!==c){this.onEnd(f);this.ended=true;return false}if(t.avail_out===0||t.avail_in===0&&h===l){if(this.options.to===\\"string\\"){this.onData(i.buf2binstring(n.shrinkBuf(t.output,t.next_out)))}else{this.onData(n.shrinkBuf(t.output,t.next_out))}}}while((t.avail_in>0||t.avail_out===0)&&f!==u);if(h===l){f=a.deflateEnd(this.strm);this.onEnd(f);this.ended=true;return f===c}return true};p.prototype.onData=function(e){this.chunks.push(e)};p.prototype.onEnd=function(e){if(e===c){if(this.options.to===\\"string\\"){this.result=this.chunks.join(\\"\\")}else{this.result=n.flattenChunks(this.chunks)}}this.chunks=[];this.err=e;this.msg=this.strm.msg};function m(e,r){var t=new p(r);t.push(e,true);if(t.err){throw t.msg}return t.result}function b(e,r){r=r||{};r.raw=true;return m(e,r)}function g(e,r){r=r||{};r.gzip=true;return m(e,r)}t.Deflate=p;t.deflate=m;t.deflateRaw=b;t.gzip=g},{\\"./utils/common\\":27,\\"./utils/strings\\":28,\\"./zlib/deflate.js\\":32,\\"./zlib/messages\\":37,\\"./zlib/zstream\\":39}],26:[function(e,r,t){\\"use strict\\";var a=e(\\"./zlib/inflate.js\\");var n=e(\\"./utils/common\\");var i=e(\\"./utils/strings\\");var s=e(\\"./zlib/constants\\");var f=e(\\"./zlib/messages\\");var o=e(\\"./zlib/zstream\\");var l=e(\\"./zlib/gzheader\\");var c=function(e){this.options=n.assign({chunkSize:16384,windowBits:0,to:\\"\\"},e||{});var r=this.options;if(r.raw&&r.windowBits>=0&&r.windowBits<16){r.windowBits=-r.windowBits;if(r.windowBits===0){r.windowBits=-15}}if(r.windowBits>=0&&r.windowBits<16&&!(e&&e.windowBits)){r.windowBits+=32}if(r.windowBits>15&&r.windowBits<48){if((r.windowBits&15)===0){r.windowBits|=15}}this.err=0;this.msg=\\"\\";this.ended=false;this.chunks=[];this.strm=new o;this.strm.avail_out=0;var t=a.inflateInit2(this.strm,r.windowBits);if(t!==s.Z_OK){throw new Error(f[t])}this.header=new l;a.inflateGetHeader(this.strm,this.header)};c.prototype.push=function(e,r){var t=this.strm;var f=this.options.chunkSize;var o,l;var c,u,h;if(this.ended){return false}l=r===~~r?r:r===true?s.Z_FINISH:s.Z_NO_FLUSH;if(typeof e===\\"string\\"){t.input=i.binstring2buf(e)}else{t.input=e}t.next_in=0;t.avail_in=t.input.length;do{if(t.avail_out===0){t.output=new n.Buf8(f);t.next_out=0;t.avail_out=f}o=a.inflate(t,s.Z_NO_FLUSH);if(o!==s.Z_STREAM_END&&o!==s.Z_OK){this.onEnd(o);this.ended=true;return false}if(t.next_out){if(t.avail_out===0||o===s.Z_STREAM_END||t.avail_in===0&&l===s.Z_FINISH){if(this.options.to===\\"string\\"){c=i.utf8border(t.output,t.next_out);u=t.next_out-c;h=i.buf2string(t.output,c);t.next_out=u;t.avail_out=f-u;if(u){n.arraySet(t.output,t.output,c,u,0)}this.onData(h)}else{this.onData(n.shrinkBuf(t.output,t.next_out))}}}}while(t.avail_in>0&&o!==s.Z_STREAM_END);if(o===s.Z_STREAM_END){l=s.Z_FINISH}if(l===s.Z_FINISH){o=a.inflateEnd(this.strm);this.onEnd(o);this.ended=true;return o===s.Z_OK}return true};c.prototype.onData=function(e){this.chunks.push(e)};c.prototype.onEnd=function(e){if(e===s.Z_OK){if(this.options.to===\\"string\\"){this.result=this.chunks.join(\\"\\")}else{this.result=n.flattenChunks(this.chunks)}}this.chunks=[];this.err=e;this.msg=this.strm.msg};function u(e,r){var t=new c(r);t.push(e,true);if(t.err){throw t.msg}return t.result}function h(e,r){r=r||{};r.raw=true;return u(e,r)}t.Inflate=c;t.inflate=u;t.inflateRaw=h;t.ungzip=u},{\\"./utils/common\\":27,\\"./utils/strings\\":28,\\"./zlib/constants\\":30,\\"./zlib/gzheader\\":33,\\"./zlib/inflate.js\\":35,\\"./zlib/messages\\":37,\\"./zlib/zstream\\":39}],27:[function(e,r,t){\\"use strict\\";var a=typeof Uint8Array!==\\"undefined\\"&&typeof Uint16Array!==\\"undefined\\"&&typeof Int32Array!==\\"undefined\\";t.assign=function(e){var r=Array.prototype.slice.call(arguments,1);while(r.length){var t=r.shift();if(!t){continue}if(typeof t!==\\"object\\"){throw new TypeError(t+\\"must be non-object\\")}for(var a in t){if(t.hasOwnProperty(a)){e[a]=t[a]}}}return e};t.shrinkBuf=function(e,r){if(e.length===r){return e}if(e.subarray){return e.subarray(0,r)}e.length=r;return e};var n={arraySet:function(e,r,t,a,n){if(r.subarray&&e.subarray){e.set(r.subarray(t,t+a),n);return}for(var i=0;i<a;i++){e[n+i]=r[t+i]}},flattenChunks:function(e){var r,t,a,n,i,s;a=0;for(r=0,t=e.length;r<t;r++){a+=e[r].length}s=new Uint8Array(a);n=0;for(r=0,t=e.length;r<t;r++){i=e[r];s.set(i,n);n+=i.length}return s}};var i={arraySet:function(e,r,t,a,n){for(var i=0;i<a;i++){e[n+i]=r[t+i]}},flattenChunks:function(e){return[].concat.apply([],e)}};t.setTyped=function(e){if(e){t.Buf8=Uint8Array;t.Buf16=Uint16Array;t.Buf32=Int32Array;t.assign(t,n)}else{t.Buf8=Array;t.Buf16=Array;t.Buf32=Array;t.assign(t,i)}};t.setTyped(a)},{}],28:[function(e,r,t){\\"use strict\\";var a=e(\\"./common\\");var n=true;var i=true;try{String.fromCharCode.apply(null,[0])}catch(s){n=false}try{String.fromCharCode.apply(null,new Uint8Array(1))}catch(s){i=false}var f=new a.Buf8(256);for(var o=0;o<256;o++){f[o]=o>=252?6:o>=248?5:o>=240?4:o>=224?3:o>=192?2:1}f[254]=f[254]=1;t.string2buf=function(e){var r,t,n,i,s,f=e.length,o=0;for(i=0;i<f;i++){t=e.charCodeAt(i);if((t&64512)===55296&&i+1<f){n=e.charCodeAt(i+1);if((n&64512)===56320){t=65536+(t-55296<<10)+(n-56320);i++}}o+=t<128?1:t<2048?2:t<65536?3:4}r=new a.Buf8(o);for(s=0,i=0;s<o;i++){t=e.charCodeAt(i);if((t&64512)===55296&&i+1<f){n=e.charCodeAt(i+1);if((n&64512)===56320){t=65536+(t-55296<<10)+(n-56320);i++}}if(t<128){r[s++]=t}else if(t<2048){r[s++]=192|t>>>6;r[s++]=128|t&63}else if(t<65536){r[s++]=224|t>>>12;r[s++]=128|t>>>6&63;r[s++]=128|t&63}else{r[s++]=240|t>>>18;r[s++]=128|t>>>12&63;r[s++]=128|t>>>6&63;r[s++]=128|t&63}}return r};function l(e,r){if(r<65537){if(e.subarray&&i||!e.subarray&&n){return String.fromCharCode.apply(null,a.shrinkBuf(e,r))}}var t=\\"\\";for(var s=0;s<r;s++){t+=String.fromCharCode(e[s])}return t}t.buf2binstring=function(e){return l(e,e.length)};t.binstring2buf=function(e){var r=new a.Buf8(e.length);for(var t=0,n=r.length;t<n;t++){r[t]=e.charCodeAt(t)}return r};t.buf2string=function(e,r){var t,a,n,i;var s=r||e.length;var o=new Array(s*2);for(a=0,t=0;t<s;){n=e[t++];if(n<128){o[a++]=n;continue}i=f[n];if(i>4){o[a++]=65533;t+=i-1;continue}n&=i===2?31:i===3?15:7;while(i>1&&t<s){n=n<<6|e[t++]&63;i--}if(i>1){o[a++]=65533;continue}if(n<65536){o[a++]=n}else{n-=65536;o[a++]=55296|n>>10&1023;o[a++]=56320|n&1023}}return l(o,a)};t.utf8border=function(e,r){var t;r=r||e.length;if(r>e.length){r=e.length}t=r-1;while(t>=0&&(e[t]&192)===128){t--}if(t<0){return r}if(t===0){return r}return t+f[e[t]]>r?t:r}},{\\"./common\\":27}],29:[function(e,r,t){\\"use strict\\";function a(e,r,t,a){var n=e&65535|0,i=e>>>16&65535|0,s=0;while(t!==0){s=t>2e3?2e3:t;t-=s;do{n=n+r[a++]|0;i=i+n|0}while(--s);n%=65521;i%=65521}return n|i<<16|0}r.exports=a},{}],30:[function(e,r,t){r.exports={Z_NO_FLUSH:0,Z_PARTIAL_FLUSH:1,Z_SYNC_FLUSH:2,Z_FULL_FLUSH:3,Z_FINISH:4,Z_BLOCK:5,Z_TREES:6,Z_OK:0,Z_STREAM_END:1,Z_NEED_DICT:2,Z_ERRNO:-1,Z_STREAM_ERROR:-2,Z_DATA_ERROR:-3,Z_BUF_ERROR:-5,Z_NO_COMPRESSION:0,Z_BEST_SPEED:1,Z_BEST_COMPRESSION:9,Z_DEFAULT_COMPRESSION:-1,Z_FILTERED:1,Z_HUFFMAN_ONLY:2,Z_RLE:3,Z_FIXED:4,Z_DEFAULT_STRATEGY:0,Z_BINARY:0,Z_TEXT:1,Z_UNKNOWN:2,Z_DEFLATED:8}},{}],31:[function(e,r,t){\\"use strict\\";function a(){var e,r=[];for(var t=0;t<256;t++){e=t;for(var a=0;a<8;a++){e=e&1?3988292384^e>>>1:e>>>1}r[t]=e}return r}var n=a();function i(e,r,t,a){var i=n,s=a+t;e=e^-1;for(var f=a;f<s;f++){e=e>>>8^i[(e^r[f])&255]}return e^-1}r.exports=i},{}],32:[function(e,r,t){\\"use strict\\";var a=e(\\"../utils/common\\");var n=e(\\"./trees\\");var i=e(\\"./adler32\\");var s=e(\\"./crc32\\");var f=e(\\"./messages\\");var o=0;var l=1;var c=3;var u=4;var h=5;var d=0;var v=1;var p=-2;var m=-3;var b=-5;var g=-1;var w=1;var k=2;var E=3;var S=4;var _=0;var C=2;var B=8;var T=9;var y=15;var x=8;var A=29;var I=256;var R=I+1+A;var O=30;var D=19;var F=2*R+1;var P=15;var N=3;var L=258;var M=L+N+1;var U=32;var z=42;var H=69;var W=73;var V=91;var X=103;var G=113;var j=666;var K=1;var $=2;var Y=3;var Z=4;var J=3;function Q(e,r){e.msg=f[r];return r}function q(e){return(e<<1)-(e>4?9:0)}function ee(e){var r=e.length;while(--r>=0){e[r]=0}}function re(e){var r=e.state;var t=r.pending;if(t>e.avail_out){t=e.avail_out}if(t===0){return}a.arraySet(e.output,r.pending_buf,r.pending_out,t,e.next_out);e.next_out+=t;r.pending_out+=t;e.total_out+=t;e.avail_out-=t;r.pending-=t;if(r.pending===0){r.pending_out=0}}function te(e,r){n._tr_flush_block(e,e.block_start>=0?e.block_start:-1,e.strstart-e.block_start,r);e.block_start=e.strstart;re(e.strm)}function ae(e,r){e.pending_buf[e.pending++]=r}function ne(e,r){e.pending_buf[e.pending++]=r>>>8&255;e.pending_buf[e.pending++]=r&255}function ie(e,r,t,n){var f=e.avail_in;if(f>n){f=n}if(f===0){return 0}e.avail_in-=f;a.arraySet(r,e.input,e.next_in,f,t);if(e.state.wrap===1){e.adler=i(e.adler,r,f,t)}else if(e.state.wrap===2){e.adler=s(e.adler,r,f,t)}e.next_in+=f;e.total_in+=f;return f}function se(e,r){var t=e.max_chain_length;var a=e.strstart;var n;var i;var s=e.prev_length;var f=e.nice_match;var o=e.strstart>e.w_size-M?e.strstart-(e.w_size-M):0;var l=e.window;var c=e.w_mask;var u=e.prev;var h=e.strstart+L;var d=l[a+s-1];var v=l[a+s];if(e.prev_length>=e.good_match){t>>=2}if(f>e.lookahead){f=e.lookahead}do{n=r;if(l[n+s]!==v||l[n+s-1]!==d||l[n]!==l[a]||l[++n]!==l[a+1]){continue}a+=2;n++;do{}while(l[++a]===l[++n]&&l[++a]===l[++n]&&l[++a]===l[++n]&&l[++a]===l[++n]&&l[++a]===l[++n]&&l[++a]===l[++n]&&l[++a]===l[++n]&&l[++a]===l[++n]&&a<h);i=L-(h-a);a=h-L;if(i>s){e.match_start=r;s=i;if(i>=f){break}d=l[a+s-1];v=l[a+s]}}while((r=u[r&c])>o&&--t!==0);if(s<=e.lookahead){return s}return e.lookahead}function fe(e){var r=e.w_size;var t,n,i,s,f;do{s=e.window_size-e.lookahead-e.strstart;if(e.strstart>=r+(r-M)){a.arraySet(e.window,e.window,r,r,0);e.match_start-=r;e.strstart-=r;e.block_start-=r;n=e.hash_size;t=n;do{i=e.head[--t];e.head[t]=i>=r?i-r:0}while(--n);n=r;t=n;do{i=e.prev[--t];e.prev[t]=i>=r?i-r:0}while(--n);s+=r}if(e.strm.avail_in===0){break}n=ie(e.strm,e.window,e.strstart+e.lookahead,s);e.lookahead+=n;if(e.lookahead+e.insert>=N){f=e.strstart-e.insert;e.ins_h=e.window[f];e.ins_h=(e.ins_h<<e.hash_shift^e.window[f+1])&e.hash_mask;while(e.insert){e.ins_h=(e.ins_h<<e.hash_shift^e.window[f+N-1])&e.hash_mask;e.prev[f&e.w_mask]=e.head[e.ins_h];e.head[e.ins_h]=f;f++;e.insert--;if(e.lookahead+e.insert<N){break}}}}while(e.lookahead<M&&e.strm.avail_in!==0)}function oe(e,r){var t=65535;if(t>e.pending_buf_size-5){t=e.pending_buf_size-5}for(;;){if(e.lookahead<=1){fe(e);if(e.lookahead===0&&r===o){return K}if(e.lookahead===0){break}}e.strstart+=e.lookahead;e.lookahead=0;var a=e.block_start+t;if(e.strstart===0||e.strstart>=a){e.lookahead=e.strstart-a;e.strstart=a;te(e,false);if(e.strm.avail_out===0){return K}}if(e.strstart-e.block_start>=e.w_size-M){te(e,false);if(e.strm.avail_out===0){return K}}}e.insert=0;if(r===u){te(e,true);if(e.strm.avail_out===0){return Y}return Z}if(e.strstart>e.block_start){te(e,false);if(e.strm.avail_out===0){return K}}return K}function le(e,r){var t;var a;for(;;){if(e.lookahead<M){fe(e);if(e.lookahead<M&&r===o){return K}if(e.lookahead===0){break}}t=0;if(e.lookahead>=N){e.ins_h=(e.ins_h<<e.hash_shift^e.window[e.strstart+N-1])&e.hash_mask;t=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h];e.head[e.ins_h]=e.strstart}if(t!==0&&e.strstart-t<=e.w_size-M){e.match_length=se(e,t)}if(e.match_length>=N){a=n._tr_tally(e,e.strstart-e.match_start,e.match_length-N);e.lookahead-=e.match_length;if(e.match_length<=e.max_lazy_match&&e.lookahead>=N){e.match_length--;do{e.strstart++;e.ins_h=(e.ins_h<<e.hash_shift^e.window[e.strstart+N-1])&e.hash_mask;t=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h];e.head[e.ins_h]=e.strstart}while(--e.match_length!==0);e.strstart++}else{e.strstart+=e.match_length;e.match_length=0;e.ins_h=e.window[e.strstart];e.ins_h=(e.ins_h<<e.hash_shift^e.window[e.strstart+1])&e.hash_mask}}else{a=n._tr_tally(e,0,e.window[e.strstart]);e.lookahead--;e.strstart++}if(a){te(e,false);if(e.strm.avail_out===0){return K}}}e.insert=e.strstart<N-1?e.strstart:N-1;if(r===u){te(e,true);if(e.strm.avail_out===0){return Y}return Z}if(e.last_lit){te(e,false);if(e.strm.avail_out===0){return K}}return $}function ce(e,r){var t;var a;var i;for(;;){if(e.lookahead<M){fe(e);if(e.lookahead<M&&r===o){return K}if(e.lookahead===0){break}}t=0;if(e.lookahead>=N){e.ins_h=(e.ins_h<<e.hash_shift^e.window[e.strstart+N-1])&e.hash_mask;t=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h];e.head[e.ins_h]=e.strstart}e.prev_length=e.match_length;e.prev_match=e.match_start;e.match_length=N-1;if(t!==0&&e.prev_length<e.max_lazy_match&&e.strstart-t<=e.w_size-M){e.match_length=se(e,t);if(e.match_length<=5&&(e.strategy===w||e.match_length===N&&e.strstart-e.match_start>4096)){e.match_length=N-1}}if(e.prev_length>=N&&e.match_length<=e.prev_length){i=e.strstart+e.lookahead-N;a=n._tr_tally(e,e.strstart-1-e.prev_match,e.prev_length-N);e.lookahead-=e.prev_length-1;e.prev_length-=2;do{if(++e.strstart<=i){e.ins_h=(e.ins_h<<e.hash_shift^e.window[e.strstart+N-1])&e.hash_mask;t=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h];e.head[e.ins_h]=e.strstart}}while(--e.prev_length!==0);e.match_available=0;e.match_length=N-1;e.strstart++;if(a){te(e,false);if(e.strm.avail_out===0){return K}}}else if(e.match_available){a=n._tr_tally(e,0,e.window[e.strstart-1]);if(a){te(e,false)}e.strstart++;e.lookahead--;if(e.strm.avail_out===0){return K}}else{e.match_available=1;e.strstart++;e.lookahead--}}if(e.match_available){a=n._tr_tally(e,0,e.window[e.strstart-1]);e.match_available=0}e.insert=e.strstart<N-1?e.strstart:N-1;if(r===u){te(e,true);if(e.strm.avail_out===0){return Y}return Z}if(e.last_lit){te(e,false);if(e.strm.avail_out===0){return K}}return $}function ue(e,r){var t;var a;var i,s;var f=e.window;for(;;){if(e.lookahead<=L){fe(e);if(e.lookahead<=L&&r===o){return K}if(e.lookahead===0){break}}e.match_length=0;if(e.lookahead>=N&&e.strstart>0){i=e.strstart-1;a=f[i];if(a===f[++i]&&a===f[++i]&&a===f[++i]){s=e.strstart+L;do{}while(a===f[++i]&&a===f[++i]&&a===f[++i]&&a===f[++i]&&a===f[++i]&&a===f[++i]&&a===f[++i]&&a===f[++i]&&i<s);e.match_length=L-(s-i);if(e.match_length>e.lookahead){e.match_length=e.lookahead}}}if(e.match_length>=N){t=n._tr_tally(e,1,e.match_length-N);e.lookahead-=e.match_length;e.strstart+=e.match_length;e.match_length=0}else{t=n._tr_tally(e,0,e.window[e.strstart]);e.lookahead--;e.strstart++}if(t){te(e,false);if(e.strm.avail_out===0){return K}}}e.insert=0;if(r===u){te(e,true);if(e.strm.avail_out===0){return Y}return Z}if(e.last_lit){te(e,false);if(e.strm.avail_out===0){return K}}return $}function he(e,r){var t;for(;;){if(e.lookahead===0){fe(e);if(e.lookahead===0){if(r===o){return K}break}}e.match_length=0;t=n._tr_tally(e,0,e.window[e.strstart]);e.lookahead--;e.strstart++;if(t){te(e,false);if(e.strm.avail_out===0){return K}}}e.insert=0;if(r===u){te(e,true);if(e.strm.avail_out===0){return Y}return Z}if(e.last_lit){te(e,false);if(e.strm.avail_out===0){return K}}return $}var de=function(e,r,t,a,n){this.good_length=e;this.max_lazy=r;this.nice_length=t;this.max_chain=a;this.func=n};var ve;ve=[new de(0,0,0,0,oe),new de(4,4,8,4,le),new de(4,5,16,8,le),new de(4,6,32,32,le),new de(4,4,16,16,ce),new de(8,16,32,32,ce),new de(8,16,128,128,ce),new de(8,32,128,256,ce),new de(32,128,258,1024,ce),new de(32,258,258,4096,ce)];function pe(e){e.window_size=2*e.w_size;ee(e.head);e.max_lazy_match=ve[e.level].max_lazy;e.good_match=ve[e.level].good_length;e.nice_match=ve[e.level].nice_length;e.max_chain_length=ve[e.level].max_chain;e.strstart=0;e.block_start=0;e.lookahead=0;e.insert=0;e.match_length=e.prev_length=N-1;e.match_available=0;e.ins_h=0}function me(){this.strm=null;this.status=0;this.pending_buf=null;this.pending_buf_size=0;this.pending_out=0;this.pending=0;this.wrap=0;this.gzhead=null;this.gzindex=0;this.method=B;this.last_flush=-1;this.w_size=0;this.w_bits=0;this.w_mask=0;this.window=null;this.window_size=0;this.prev=null;this.head=null;this.ins_h=0;this.hash_size=0;this.hash_bits=0;this.hash_mask=0;this.hash_shift=0;this.block_start=0;this.match_length=0;this.prev_match=0;this.match_available=0;this.strstart=0;this.match_start=0;this.lookahead=0;this.prev_length=0;this.max_chain_length=0;this.max_lazy_match=0;this.level=0;this.strategy=0;this.good_match=0;this.nice_match=0;this.dyn_ltree=new a.Buf16(F*2);this.dyn_dtree=new a.Buf16((2*O+1)*2);this.bl_tree=new a.Buf16((2*D+1)*2);ee(this.dyn_ltree);ee(this.dyn_dtree);ee(this.bl_tree);this.l_desc=null;this.d_desc=null;this.bl_desc=null;this.bl_count=new a.Buf16(P+1);this.heap=new a.Buf16(2*R+1);ee(this.heap);this.heap_len=0;this.heap_max=0;this.depth=new a.Buf16(2*R+1);ee(this.depth);this.l_buf=0;this.lit_bufsize=0;this.last_lit=0;this.d_buf=0;this.opt_len=0;this.static_len=0;this.matches=0;this.insert=0;this.bi_buf=0;this.bi_valid=0}function be(e){var r;if(!e||!e.state){return Q(e,p)}e.total_in=e.total_out=0;e.data_type=C;r=e.state;r.pending=0;r.pending_out=0;if(r.wrap<0){r.wrap=-r.wrap}r.status=r.wrap?z:G;e.adler=r.wrap===2?0:1;r.last_flush=o;n._tr_init(r);return d}function ge(e){var r=be(e);if(r===d){pe(e.state)}return r}function we(e,r){if(!e||!e.state){return p}if(e.state.wrap!==2){return p}e.state.gzhead=r;return d}function ke(e,r,t,n,i,s){if(!e){return p}var f=1;if(r===g){r=6}if(n<0){f=0;n=-n}else if(n>15){f=2;n-=16}if(i<1||i>T||t!==B||n<8||n>15||r<0||r>9||s<0||s>S){return Q(e,p)}if(n===8){n=9}var o=new me;e.state=o;o.strm=e;o.wrap=f;o.gzhead=null;o.w_bits=n;o.w_size=1<<o.w_bits;o.w_mask=o.w_size-1;o.hash_bits=i+7;o.hash_size=1<<o.hash_bits;o.hash_mask=o.hash_size-1;o.hash_shift=~~((o.hash_bits+N-1)/N);o.window=new a.Buf8(o.w_size*2);o.head=new a.Buf16(o.hash_size);o.prev=new a.Buf16(o.w_size);o.lit_bufsize=1<<i+6;o.pending_buf_size=o.lit_bufsize*4;o.pending_buf=new a.Buf8(o.pending_buf_size);o.d_buf=o.lit_bufsize>>1;o.l_buf=(1+2)*o.lit_bufsize;o.level=r;o.strategy=s;o.method=t;return ge(e)}function Ee(e,r){return ke(e,r,B,y,x,_)}function Se(e,r){var t,a;var i,f;if(!e||!e.state||r>h||r<0){return e?Q(e,p):p}a=e.state;if(!e.output||!e.input&&e.avail_in!==0||a.status===j&&r!==u){return Q(e,e.avail_out===0?b:p)}a.strm=e;t=a.last_flush;a.last_flush=r;if(a.status===z){if(a.wrap===2){e.adler=0;ae(a,31);ae(a,139);ae(a,8);if(!a.gzhead){ae(a,0);ae(a,0);ae(a,0);ae(a,0);ae(a,0);ae(a,a.level===9?2:a.strategy>=k||a.level<2?4:0);ae(a,J);a.status=G}else{ae(a,(a.gzhead.text?1:0)+(a.gzhead.hcrc?2:0)+(!a.gzhead.extra?0:4)+(!a.gzhead.name?0:8)+(!a.gzhead.comment?0:16));ae(a,a.gzhead.time&255);ae(a,a.gzhead.time>>8&255);ae(a,a.gzhead.time>>16&255);ae(a,a.gzhead.time>>24&255);ae(a,a.level===9?2:a.strategy>=k||a.level<2?4:0);ae(a,a.gzhead.os&255);if(a.gzhead.extra&&a.gzhead.extra.length){ae(a,a.gzhead.extra.length&255);ae(a,a.gzhead.extra.length>>8&255)}if(a.gzhead.hcrc){e.adler=s(e.adler,a.pending_buf,a.pending,0)}a.gzindex=0;a.status=H}}else{var m=B+(a.w_bits-8<<4)<<8;var g=-1;if(a.strategy>=k||a.level<2){g=0}else if(a.level<6){g=1}else if(a.level===6){g=2}else{g=3}m|=g<<6;if(a.strstart!==0){m|=U}m+=31-m%31;a.status=G;ne(a,m);if(a.strstart!==0){ne(a,e.adler>>>16);ne(a,e.adler&65535)}e.adler=1}}if(a.status===H){if(a.gzhead.extra){i=a.pending;while(a.gzindex<(a.gzhead.extra.length&65535)){if(a.pending===a.pending_buf_size){if(a.gzhead.hcrc&&a.pending>i){e.adler=s(e.adler,a.pending_buf,a.pending-i,i)}re(e);i=a.pending;if(a.pending===a.pending_buf_size){break}}ae(a,a.gzhead.extra[a.gzindex]&255);a.gzindex++}if(a.gzhead.hcrc&&a.pending>i){e.adler=s(e.adler,a.pending_buf,a.pending-i,i)}if(a.gzindex===a.gzhead.extra.length){a.gzindex=0;a.status=W}}else{a.status=W}}if(a.status===W){if(a.gzhead.name){i=a.pending;do{if(a.pending===a.pending_buf_size){if(a.gzhead.hcrc&&a.pending>i){e.adler=s(e.adler,a.pending_buf,a.pending-i,i)}re(e);i=a.pending;if(a.pending===a.pending_buf_size){f=1;break}}if(a.gzindex<a.gzhead.name.length){f=a.gzhead.name.charCodeAt(a.gzindex++)&255}else{f=0}ae(a,f)}while(f!==0);if(a.gzhead.hcrc&&a.pending>i){e.adler=s(e.adler,a.pending_buf,a.pending-i,i)}if(f===0){a.gzindex=0;a.status=V}}else{a.status=V}}if(a.status===V){if(a.gzhead.comment){i=a.pending;do{if(a.pending===a.pending_buf_size){if(a.gzhead.hcrc&&a.pending>i){e.adler=s(e.adler,a.pending_buf,a.pending-i,i)}re(e);i=a.pending;if(a.pending===a.pending_buf_size){f=1;break}}if(a.gzindex<a.gzhead.comment.length){f=a.gzhead.comment.charCodeAt(a.gzindex++)&255}else{f=0}ae(a,f)}while(f!==0);if(a.gzhead.hcrc&&a.pending>i){e.adler=s(e.adler,a.pending_buf,a.pending-i,i)}if(f===0){a.status=X}}else{a.status=X}}if(a.status===X){if(a.gzhead.hcrc){if(a.pending+2>a.pending_buf_size){re(e)}if(a.pending+2<=a.pending_buf_size){ae(a,e.adler&255);ae(a,e.adler>>8&255);e.adler=0;a.status=G}}else{a.status=G}}if(a.pending!==0){re(e);if(e.avail_out===0){a.last_flush=-1;return d}}else if(e.avail_in===0&&q(r)<=q(t)&&r!==u){return Q(e,b)}if(a.status===j&&e.avail_in!==0){return Q(e,b)}if(e.avail_in!==0||a.lookahead!==0||r!==o&&a.status!==j){var w=a.strategy===k?he(a,r):a.strategy===E?ue(a,r):ve[a.level].func(a,r);if(w===Y||w===Z){a.status=j}if(w===K||w===Y){if(e.avail_out===0){a.last_flush=-1}return d}if(w===$){if(r===l){n._tr_align(a)}else if(r!==h){n._tr_stored_block(a,0,0,false);if(r===c){ee(a.head);if(a.lookahead===0){a.strstart=0;a.block_start=0;a.insert=0}}}re(e);if(e.avail_out===0){a.last_flush=-1;return d}}}if(r!==u){return d}if(a.wrap<=0){return v}if(a.wrap===2){ae(a,e.adler&255);ae(a,e.adler>>8&255);ae(a,e.adler>>16&255);ae(a,e.adler>>24&255);ae(a,e.total_in&255);ae(a,e.total_in>>8&255);ae(a,e.total_in>>16&255);ae(a,e.total_in>>24&255)}else{ne(a,e.adler>>>16);ne(a,e.adler&65535)}re(e);if(a.wrap>0){a.wrap=-a.wrap}return a.pending!==0?d:v}function _e(e){var r;if(!e||!e.state){return p}r=e.state.status;if(r!==z&&r!==H&&r!==W&&r!==V&&r!==X&&r!==G&&r!==j){return Q(e,p)}e.state=null;return r===G?Q(e,m):d}t.deflateInit=Ee;t.deflateInit2=ke;t.deflateReset=ge;t.deflateResetKeep=be;t.deflateSetHeader=we;t.deflate=Se;t.deflateEnd=_e;t.deflateInfo=\\"pako deflate (from Nodeca project)\\"},{\\"../utils/common\\":27,\\"./adler32\\":29,\\"./crc32\\":31,\\"./messages\\":37,\\"./trees\\":38}],33:[function(e,r,t){\\"use strict\\";function a(){this.text=0;this.time=0;this.xflags=0;this.os=0;this.extra=null;this.extra_len=0;this.name=\\"\\";this.comment=\\"\\";this.hcrc=0;this.done=false}r.exports=a},{}],34:[function(e,r,t){\\"use strict\\";var a=30;var n=12;r.exports=function i(e,r){var t;var i;var s;var f;var o;var l;var c;var u;var h;var d;var v;var p;var m;var b;var g;var w;var k;var E;var S;var _;var C;var B;var T;var y,x;t=e.state;i=e.next_in;y=e.input;s=i+(e.avail_in-5);f=e.next_out;x=e.output;o=f-(r-e.avail_out);l=f+(e.avail_out-257);c=t.dmax;u=t.wsize;h=t.whave;d=t.wnext;v=t.window;p=t.hold;m=t.bits;b=t.lencode;g=t.distcode;w=(1<<t.lenbits)-1;k=(1<<t.distbits)-1;e:do{if(m<15){p+=y[i++]<<m;m+=8;p+=y[i++]<<m;m+=8}E=b[p&w];r:for(;;){S=E>>>24;p>>>=S;m-=S;S=E>>>16&255;if(S===0){x[f++]=E&65535}else if(S&16){_=E&65535;S&=15;if(S){if(m<S){p+=y[i++]<<m;m+=8}_+=p&(1<<S)-1;p>>>=S;m-=S}if(m<15){p+=y[i++]<<m;m+=8;p+=y[i++]<<m;m+=8}E=g[p&k];t:for(;;){S=E>>>24;p>>>=S;m-=S;S=E>>>16&255;if(S&16){C=E&65535;S&=15;if(m<S){p+=y[i++]<<m;m+=8;if(m<S){p+=y[i++]<<m;m+=8}}C+=p&(1<<S)-1;if(C>c){e.msg=\\"invalid distance too far back\\";t.mode=a;break e}p>>>=S;m-=S;S=f-o;if(C>S){S=C-S;if(S>h){if(t.sane){e.msg=\\"invalid distance too far back\\";t.mode=a;break e}}B=0;T=v;if(d===0){B+=u-S;if(S<_){_-=S;do{x[f++]=v[B++]}while(--S);B=f-C;T=x}}else if(d<S){B+=u+d-S;S-=d;if(S<_){_-=S;do{x[f++]=v[B++]}while(--S);B=0;if(d<_){S=d;_-=S;do{x[f++]=v[B++]}while(--S);B=f-C;T=x}}}else{B+=d-S;if(S<_){_-=S;do{x[f++]=v[B++]}while(--S);B=f-C;T=x}}while(_>2){x[f++]=T[B++];x[f++]=T[B++];x[f++]=T[B++];_-=3}if(_){x[f++]=T[B++];if(_>1){x[f++]=T[B++]}}}else{B=f-C;do{x[f++]=x[B++];x[f++]=x[B++];x[f++]=x[B++];_-=3}while(_>2);if(_){x[f++]=x[B++];if(_>1){x[f++]=x[B++]}}}}else if((S&64)===0){E=g[(E&65535)+(p&(1<<S)-1)];continue t}else{e.msg=\\"invalid distance code\\";t.mode=a;break e}break}}else if((S&64)===0){E=b[(E&65535)+(p&(1<<S)-1)];continue r}else if(S&32){t.mode=n;break e}else{e.msg=\\"invalid literal/length code\\";t.mode=a;break e}break}}while(i<s&&f<l);_=m>>3;i-=_;m-=_<<3;p&=(1<<m)-1;e.next_in=i;e.next_out=f;e.avail_in=i<s?5+(s-i):5-(i-s);e.avail_out=f<l?257+(l-f):257-(f-l);t.hold=p;t.bits=m;return}},{}],35:[function(e,r,t){\\"use strict\\";var a=e(\\"../utils/common\\");var n=e(\\"./adler32\\");var i=e(\\"./crc32\\");var s=e(\\"./inffast\\");var f=e(\\"./inftrees\\");var o=0;var l=1;var c=2;var u=4;var h=5;var d=6;var v=0;var p=1;var m=2;var b=-2;var g=-3;var w=-4;var k=-5;var E=8;var S=1;var _=2;var C=3;var B=4;var T=5;var y=6;var x=7;var A=8;var I=9;var R=10;var O=11;var D=12;var F=13;var P=14;var N=15;var L=16;var M=17;var U=18;var z=19;var H=20;var W=21;var V=22;var X=23;var G=24;var j=25;var K=26;var $=27;var Y=28;var Z=29;var J=30;var Q=31;var q=32;var ee=852;var re=592;var te=15;var ae=te;function ne(e){return(e>>>24&255)+(e>>>8&65280)+((e&65280)<<8)+((e&255)<<24)}function ie(){this.mode=0;this.last=false;this.wrap=0;this.havedict=false;this.flags=0;this.dmax=0;this.check=0;this.total=0;this.head=null;this.wbits=0;this.wsize=0;this.whave=0;this.wnext=0;this.window=null;this.hold=0;this.bits=0;this.length=0;this.offset=0;this.extra=0;this.lencode=null;this.distcode=null;this.lenbits=0;this.distbits=0;this.ncode=0;this.nlen=0;this.ndist=0;this.have=0;this.next=null;this.lens=new a.Buf16(320);this.work=new a.Buf16(288);this.lendyn=null;this.distdyn=null;this.sane=0;this.back=0;this.was=0}function se(e){var r;if(!e||!e.state){return b}r=e.state;e.total_in=e.total_out=r.total=0;e.msg=\\"\\";if(r.wrap){e.adler=r.wrap&1}r.mode=S;r.last=0;r.havedict=0;r.dmax=32768;r.head=null;r.hold=0;r.bits=0;r.lencode=r.lendyn=new a.Buf32(ee);r.distcode=r.distdyn=new a.Buf32(re);r.sane=1;r.back=-1;return v}function fe(e){var r;if(!e||!e.state){return b}r=e.state;r.wsize=0;r.whave=0;r.wnext=0;return se(e)}function oe(e,r){var t;var a;if(!e||!e.state){return b}a=e.state;if(r<0){t=0;r=-r}else{t=(r>>4)+1;if(r<48){r&=15}}if(r&&(r<8||r>15)){return b}if(a.window!==null&&a.wbits!==r){a.window=null}a.wrap=t;a.wbits=r;return fe(e)}function le(e,r){var t;var a;if(!e){return b}a=new ie;e.state=a;a.window=null;t=oe(e,r);if(t!==v){e.state=null}return t}function ce(e){return le(e,ae)}var ue=true;var he,de;function ve(e){if(ue){var r;he=new a.Buf32(512);de=new a.Buf32(32);r=0;while(r<144){e.lens[r++]=8}while(r<256){e.lens[r++]=9}while(r<280){e.lens[r++]=7}while(r<288){e.lens[r++]=8}f(l,e.lens,0,288,he,0,e.work,{bits:9});r=0;while(r<32){e.lens[r++]=5}f(c,e.lens,0,32,de,0,e.work,{bits:5});ue=false}e.lencode=he;e.lenbits=9;e.distcode=de;e.distbits=5}function pe(e,r,t,n){var i;var s=e.state;if(s.window===null){s.wsize=1<<s.wbits;s.wnext=0;s.whave=0;s.window=new a.Buf8(s.wsize)}if(n>=s.wsize){a.arraySet(s.window,r,t-s.wsize,s.wsize,0);s.wnext=0;s.whave=s.wsize}else{i=s.wsize-s.wnext;if(i>n){i=n}a.arraySet(s.window,r,t-n,i,s.wnext);n-=i;if(n){a.arraySet(s.window,r,t-n,n,0);s.wnext=n;s.whave=s.wsize}else{s.wnext+=i;if(s.wnext===s.wsize){s.wnext=0}if(s.whave<s.wsize){s.whave+=i}}}return 0}function me(e,r){var t;var ee,re;var te;var ae;var ie,se;var fe;var oe;var le,ce;var ue;var he;var de;var me=0;var be,ge,we;var ke,Ee,Se;var _e;var Ce;var Be=new a.Buf8(4);var Te;var ye;var xe=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15];if(!e||!e.state||!e.output||!e.input&&e.avail_in!==0){return b}t=e.state;if(t.mode===D){t.mode=F}ae=e.next_out;re=e.output;se=e.avail_out;te=e.next_in;ee=e.input;ie=e.avail_in;fe=t.hold;oe=t.bits;le=ie;ce=se;Ce=v;e:for(;;){switch(t.mode){case S:if(t.wrap===0){t.mode=F;break}while(oe<16){if(ie===0){break e}ie--;fe+=ee[te++]<<oe;oe+=8}if(t.wrap&2&&fe===35615){t.check=0;Be[0]=fe&255;Be[1]=fe>>>8&255;t.check=i(t.check,Be,2,0);fe=0;oe=0;t.mode=_;break}t.flags=0;if(t.head){t.head.done=false}if(!(t.wrap&1)||(((fe&255)<<8)+(fe>>8))%31){e.msg=\\"incorrect header check\\";t.mode=J;break}if((fe&15)!==E){e.msg=\\"unknown compression method\\";t.mode=J;break}fe>>>=4;oe-=4;_e=(fe&15)+8;if(t.wbits===0){t.wbits=_e}else if(_e>t.wbits){e.msg=\\"invalid window size\\";t.mode=J;break}t.dmax=1<<_e;e.adler=t.check=1;t.mode=fe&512?R:D;fe=0;oe=0;break;case _:while(oe<16){if(ie===0){break e}ie--;fe+=ee[te++]<<oe;oe+=8}t.flags=fe;if((t.flags&255)!==E){e.msg=\\"unknown compression method\\";t.mode=J;break}if(t.flags&57344){e.msg=\\"unknown header flags set\\";t.mode=J;break}if(t.head){t.head.text=fe>>8&1}if(t.flags&512){Be[0]=fe&255;Be[1]=fe>>>8&255;t.check=i(t.check,Be,2,0)}fe=0;oe=0;t.mode=C;case C:while(oe<32){if(ie===0){break e}ie--;fe+=ee[te++]<<oe;oe+=8}if(t.head){t.head.time=fe}if(t.flags&512){Be[0]=fe&255;Be[1]=fe>>>8&255;Be[2]=fe>>>16&255;Be[3]=fe>>>24&255;t.check=i(t.check,Be,4,0)}fe=0;oe=0;t.mode=B;case B:while(oe<16){if(ie===0){break e}ie--;fe+=ee[te++]<<oe;oe+=8}if(t.head){t.head.xflags=fe&255;t.head.os=fe>>8}if(t.flags&512){Be[0]=fe&255;Be[1]=fe>>>8&255;t.check=i(t.check,Be,2,0)}fe=0;oe=0;t.mode=T;case T:if(t.flags&1024){while(oe<16){if(ie===0){break e}ie--;fe+=ee[te++]<<oe;oe+=8}t.length=fe;if(t.head){t.head.extra_len=fe}if(t.flags&512){Be[0]=fe&255;Be[1]=fe>>>8&255;t.check=i(t.check,Be,2,0)}fe=0;oe=0}else if(t.head){t.head.extra=null}t.mode=y;case y:if(t.flags&1024){ue=t.length;if(ue>ie){ue=ie}if(ue){if(t.head){_e=t.head.extra_len-t.length;if(!t.head.extra){t.head.extra=new Array(t.head.extra_len)}a.arraySet(t.head.extra,ee,te,ue,_e)}if(t.flags&512){t.check=i(t.check,ee,ue,te)}ie-=ue;te+=ue;t.length-=ue}if(t.length){break e}}t.length=0;t.mode=x;case x:if(t.flags&2048){if(ie===0){break e}ue=0;do{_e=ee[te+ue++];if(t.head&&_e&&t.length<65536){t.head.name+=String.fromCharCode(_e)}}while(_e&&ue<ie);if(t.flags&512){t.check=i(t.check,ee,ue,te)}ie-=ue;te+=ue;if(_e){break e}}else if(t.head){t.head.name=null}t.length=0;t.mode=A;case A:if(t.flags&4096){if(ie===0){break e}ue=0;do{_e=ee[te+ue++];if(t.head&&_e&&t.length<65536){t.head.comment+=String.fromCharCode(_e)}}while(_e&&ue<ie);if(t.flags&512){t.check=i(t.check,ee,ue,te)}ie-=ue;te+=ue;if(_e){break e}}else if(t.head){t.head.comment=null}t.mode=I;case I:if(t.flags&512){while(oe<16){if(ie===0){break e}ie--;fe+=ee[te++]<<oe;oe+=8}if(fe!==(t.check&65535)){e.msg=\\"header crc mismatch\\";t.mode=J;break}fe=0;oe=0}if(t.head){t.head.hcrc=t.flags>>9&1;t.head.done=true}e.adler=t.check=0;t.mode=D;break;case R:while(oe<32){if(ie===0){break e}ie--;fe+=ee[te++]<<oe;oe+=8}e.adler=t.check=ne(fe);fe=0;oe=0;t.mode=O;case O:if(t.havedict===0){e.next_out=ae;e.avail_out=se;e.next_in=te;e.avail_in=ie;t.hold=fe;t.bits=oe;return m}e.adler=t.check=1;t.mode=D;case D:\\nif(r===h||r===d){break e};case F:if(t.last){fe>>>=oe&7;oe-=oe&7;t.mode=$;break}while(oe<3){if(ie===0){break e}ie--;fe+=ee[te++]<<oe;oe+=8}t.last=fe&1;fe>>>=1;oe-=1;switch(fe&3){case 0:t.mode=P;break;case 1:ve(t);t.mode=H;if(r===d){fe>>>=2;oe-=2;break e}break;case 2:t.mode=M;break;case 3:e.msg=\\"invalid block type\\";t.mode=J;}fe>>>=2;oe-=2;break;case P:fe>>>=oe&7;oe-=oe&7;while(oe<32){if(ie===0){break e}ie--;fe+=ee[te++]<<oe;oe+=8}if((fe&65535)!==(fe>>>16^65535)){e.msg=\\"invalid stored block lengths\\";t.mode=J;break}t.length=fe&65535;fe=0;oe=0;t.mode=N;if(r===d){break e};case N:t.mode=L;case L:ue=t.length;if(ue){if(ue>ie){ue=ie}if(ue>se){ue=se}if(ue===0){break e}a.arraySet(re,ee,te,ue,ae);ie-=ue;te+=ue;se-=ue;ae+=ue;t.length-=ue;break}t.mode=D;break;case M:while(oe<14){if(ie===0){break e}ie--;fe+=ee[te++]<<oe;oe+=8}t.nlen=(fe&31)+257;fe>>>=5;oe-=5;t.ndist=(fe&31)+1;fe>>>=5;oe-=5;t.ncode=(fe&15)+4;fe>>>=4;oe-=4;if(t.nlen>286||t.ndist>30){e.msg=\\"too many length or distance symbols\\";t.mode=J;break}t.have=0;t.mode=U;case U:while(t.have<t.ncode){while(oe<3){if(ie===0){break e}ie--;fe+=ee[te++]<<oe;oe+=8}t.lens[xe[t.have++]]=fe&7;fe>>>=3;oe-=3}while(t.have<19){t.lens[xe[t.have++]]=0}t.lencode=t.lendyn;t.lenbits=7;Te={bits:t.lenbits};Ce=f(o,t.lens,0,19,t.lencode,0,t.work,Te);t.lenbits=Te.bits;if(Ce){e.msg=\\"invalid code lengths set\\";t.mode=J;break}t.have=0;t.mode=z;case z:while(t.have<t.nlen+t.ndist){for(;;){me=t.lencode[fe&(1<<t.lenbits)-1];be=me>>>24;ge=me>>>16&255;we=me&65535;if(be<=oe){break}if(ie===0){break e}ie--;fe+=ee[te++]<<oe;oe+=8}if(we<16){fe>>>=be;oe-=be;t.lens[t.have++]=we}else{if(we===16){ye=be+2;while(oe<ye){if(ie===0){break e}ie--;fe+=ee[te++]<<oe;oe+=8}fe>>>=be;oe-=be;if(t.have===0){e.msg=\\"invalid bit length repeat\\";t.mode=J;break}_e=t.lens[t.have-1];ue=3+(fe&3);fe>>>=2;oe-=2}else if(we===17){ye=be+3;while(oe<ye){if(ie===0){break e}ie--;fe+=ee[te++]<<oe;oe+=8}fe>>>=be;oe-=be;_e=0;ue=3+(fe&7);fe>>>=3;oe-=3}else{ye=be+7;while(oe<ye){if(ie===0){break e}ie--;fe+=ee[te++]<<oe;oe+=8}fe>>>=be;oe-=be;_e=0;ue=11+(fe&127);fe>>>=7;oe-=7}if(t.have+ue>t.nlen+t.ndist){e.msg=\\"invalid bit length repeat\\";t.mode=J;break}while(ue--){t.lens[t.have++]=_e}}}if(t.mode===J){break}if(t.lens[256]===0){e.msg=\\"invalid code -- missing end-of-block\\";t.mode=J;break}t.lenbits=9;Te={bits:t.lenbits};Ce=f(l,t.lens,0,t.nlen,t.lencode,0,t.work,Te);t.lenbits=Te.bits;if(Ce){e.msg=\\"invalid literal/lengths set\\";t.mode=J;break}t.distbits=6;t.distcode=t.distdyn;Te={bits:t.distbits};Ce=f(c,t.lens,t.nlen,t.ndist,t.distcode,0,t.work,Te);t.distbits=Te.bits;if(Ce){e.msg=\\"invalid distances set\\";t.mode=J;break}t.mode=H;if(r===d){break e};case H:t.mode=W;case W:if(ie>=6&&se>=258){e.next_out=ae;e.avail_out=se;e.next_in=te;e.avail_in=ie;t.hold=fe;t.bits=oe;s(e,ce);ae=e.next_out;re=e.output;se=e.avail_out;te=e.next_in;ee=e.input;ie=e.avail_in;fe=t.hold;oe=t.bits;if(t.mode===D){t.back=-1}break}t.back=0;for(;;){me=t.lencode[fe&(1<<t.lenbits)-1];be=me>>>24;ge=me>>>16&255;we=me&65535;if(be<=oe){break}if(ie===0){break e}ie--;fe+=ee[te++]<<oe;oe+=8}if(ge&&(ge&240)===0){ke=be;Ee=ge;Se=we;for(;;){me=t.lencode[Se+((fe&(1<<ke+Ee)-1)>>ke)];be=me>>>24;ge=me>>>16&255;we=me&65535;if(ke+be<=oe){break}if(ie===0){break e}ie--;fe+=ee[te++]<<oe;oe+=8}fe>>>=ke;oe-=ke;t.back+=ke}fe>>>=be;oe-=be;t.back+=be;t.length=we;if(ge===0){t.mode=K;break}if(ge&32){t.back=-1;t.mode=D;break}if(ge&64){e.msg=\\"invalid literal/length code\\";t.mode=J;break}t.extra=ge&15;t.mode=V;case V:if(t.extra){ye=t.extra;while(oe<ye){if(ie===0){break e}ie--;fe+=ee[te++]<<oe;oe+=8}t.length+=fe&(1<<t.extra)-1;fe>>>=t.extra;oe-=t.extra;t.back+=t.extra}t.was=t.length;t.mode=X;case X:for(;;){me=t.distcode[fe&(1<<t.distbits)-1];be=me>>>24;ge=me>>>16&255;we=me&65535;if(be<=oe){break}if(ie===0){break e}ie--;fe+=ee[te++]<<oe;oe+=8}if((ge&240)===0){ke=be;Ee=ge;Se=we;for(;;){me=t.distcode[Se+((fe&(1<<ke+Ee)-1)>>ke)];be=me>>>24;ge=me>>>16&255;we=me&65535;if(ke+be<=oe){break}if(ie===0){break e}ie--;fe+=ee[te++]<<oe;oe+=8}fe>>>=ke;oe-=ke;t.back+=ke}fe>>>=be;oe-=be;t.back+=be;if(ge&64){e.msg=\\"invalid distance code\\";t.mode=J;break}t.offset=we;t.extra=ge&15;t.mode=G;case G:if(t.extra){ye=t.extra;while(oe<ye){if(ie===0){break e}ie--;fe+=ee[te++]<<oe;oe+=8}t.offset+=fe&(1<<t.extra)-1;fe>>>=t.extra;oe-=t.extra;t.back+=t.extra}if(t.offset>t.dmax){e.msg=\\"invalid distance too far back\\";t.mode=J;break}t.mode=j;case j:if(se===0){break e}ue=ce-se;if(t.offset>ue){ue=t.offset-ue;if(ue>t.whave){if(t.sane){e.msg=\\"invalid distance too far back\\";t.mode=J;break}}if(ue>t.wnext){ue-=t.wnext;he=t.wsize-ue}else{he=t.wnext-ue}if(ue>t.length){ue=t.length}de=t.window}else{de=re;he=ae-t.offset;ue=t.length}if(ue>se){ue=se}se-=ue;t.length-=ue;do{re[ae++]=de[he++]}while(--ue);if(t.length===0){t.mode=W}break;case K:if(se===0){break e}re[ae++]=t.length;se--;t.mode=W;break;case $:if(t.wrap){while(oe<32){if(ie===0){break e}ie--;fe|=ee[te++]<<oe;oe+=8}ce-=se;e.total_out+=ce;t.total+=ce;if(ce){e.adler=t.check=t.flags?i(t.check,re,ce,ae-ce):n(t.check,re,ce,ae-ce)}ce=se;if((t.flags?fe:ne(fe))!==t.check){e.msg=\\"incorrect data check\\";t.mode=J;break}fe=0;oe=0}t.mode=Y;case Y:if(t.wrap&&t.flags){while(oe<32){if(ie===0){break e}ie--;fe+=ee[te++]<<oe;oe+=8}if(fe!==(t.total&4294967295)){e.msg=\\"incorrect length check\\";t.mode=J;break}fe=0;oe=0}t.mode=Z;case Z:Ce=p;break e;case J:Ce=g;break e;case Q:return w;case q:;default:return b;}}e.next_out=ae;e.avail_out=se;e.next_in=te;e.avail_in=ie;t.hold=fe;t.bits=oe;if(t.wsize||ce!==e.avail_out&&t.mode<J&&(t.mode<$||r!==u)){if(pe(e,e.output,e.next_out,ce-e.avail_out)){t.mode=Q;return w}}le-=e.avail_in;ce-=e.avail_out;e.total_in+=le;e.total_out+=ce;t.total+=ce;if(t.wrap&&ce){e.adler=t.check=t.flags?i(t.check,re,ce,e.next_out-ce):n(t.check,re,ce,e.next_out-ce)}e.data_type=t.bits+(t.last?64:0)+(t.mode===D?128:0)+(t.mode===H||t.mode===N?256:0);if((le===0&&ce===0||r===u)&&Ce===v){Ce=k}return Ce}function be(e){if(!e||!e.state){return b}var r=e.state;if(r.window){r.window=null}e.state=null;return v}function ge(e,r){var t;if(!e||!e.state){return b}t=e.state;if((t.wrap&2)===0){return b}t.head=r;r.done=false;return v}t.inflateReset=fe;t.inflateReset2=oe;t.inflateResetKeep=se;t.inflateInit=ce;t.inflateInit2=le;t.inflate=me;t.inflateEnd=be;t.inflateGetHeader=ge;t.inflateInfo=\\"pako inflate (from Nodeca project)\\"},{\\"../utils/common\\":27,\\"./adler32\\":29,\\"./crc32\\":31,\\"./inffast\\":34,\\"./inftrees\\":36}],36:[function(e,r,t){\\"use strict\\";var a=e(\\"../utils/common\\");var n=15;var i=852;var s=592;var f=0;var o=1;var l=2;var c=[3,4,5,6,7,8,9,10,11,13,15,17,19,23,27,31,35,43,51,59,67,83,99,115,131,163,195,227,258,0,0];var u=[16,16,16,16,16,16,16,16,17,17,17,17,18,18,18,18,19,19,19,19,20,20,20,20,21,21,21,21,16,72,78];var h=[1,2,3,4,5,7,9,13,17,25,33,49,65,97,129,193,257,385,513,769,1025,1537,2049,3073,4097,6145,8193,12289,16385,24577,0,0];var d=[16,16,16,16,17,17,18,18,19,19,20,20,21,21,22,22,23,23,24,24,25,25,26,26,27,27,28,28,29,29,64,64];r.exports=function v(e,r,t,p,m,b,g,w){var k=w.bits;var E=0;var S=0;var _=0,C=0;var B=0;var T=0;var y=0;var x=0;var A=0;var I=0;var R;var O;var D;var F;var P;var N=null;var L=0;var M;var U=new a.Buf16(n+1);var z=new a.Buf16(n+1);var H=null;var W=0;var V,X,G;for(E=0;E<=n;E++){U[E]=0}for(S=0;S<p;S++){U[r[t+S]]++}B=k;for(C=n;C>=1;C--){if(U[C]!==0){break}}if(B>C){B=C}if(C===0){m[b++]=1<<24|64<<16|0;m[b++]=1<<24|64<<16|0;w.bits=1;return 0}for(_=1;_<C;_++){if(U[_]!==0){break}}if(B<_){B=_}x=1;for(E=1;E<=n;E++){x<<=1;x-=U[E];if(x<0){return-1}}if(x>0&&(e===f||C!==1)){return-1}z[1]=0;for(E=1;E<n;E++){z[E+1]=z[E]+U[E]}for(S=0;S<p;S++){if(r[t+S]!==0){g[z[r[t+S]]++]=S}}if(e===f){N=H=g;M=19}else if(e===o){N=c;L-=257;H=u;W-=257;M=256}else{N=h;H=d;M=-1}I=0;S=0;E=_;P=b;T=B;y=0;D=-1;A=1<<B;F=A-1;if(e===o&&A>i||e===l&&A>s){return 1}var j=0;for(;;){j++;V=E-y;if(g[S]<M){X=0;G=g[S]}else if(g[S]>M){X=H[W+g[S]];G=N[L+g[S]]}else{X=32+64;G=0}R=1<<E-y;O=1<<T;_=O;do{O-=R;m[P+(I>>y)+O]=V<<24|X<<16|G|0}while(O!==0);R=1<<E-1;while(I&R){R>>=1}if(R!==0){I&=R-1;I+=R}else{I=0}S++;if(--U[E]===0){if(E===C){break}E=r[t+g[S]]}if(E>B&&(I&F)!==D){if(y===0){y=B}P+=_;T=E-y;x=1<<T;while(T+y<C){x-=U[T+y];if(x<=0){break}T++;x<<=1}A+=1<<T;if(e===o&&A>i||e===l&&A>s){return 1}D=I&F;m[D]=B<<24|T<<16|P-b|0}}if(I!==0){m[P+I]=E-y<<24|64<<16|0}w.bits=B;return 0}},{\\"../utils/common\\":27}],37:[function(e,r,t){\\"use strict\\";r.exports={2:\\"need dictionary\\",1:\\"stream end\\",0:\\"\\",\\"-1\\":\\"file error\\",\\"-2\\":\\"stream error\\",\\"-3\\":\\"data error\\",\\"-4\\":\\"insufficient memory\\",\\"-5\\":\\"buffer error\\",\\"-6\\":\\"incompatible version\\"}},{}],38:[function(e,r,t){\\"use strict\\";var a=e(\\"../utils/common\\");var n=4;var i=0;var s=1;var f=2;function o(e){var r=e.length;while(--r>=0){e[r]=0}}var l=0;var c=1;var u=2;var h=3;var d=258;var v=29;var p=256;var m=p+1+v;var b=30;var g=19;var w=2*m+1;var k=15;var E=16;var S=7;var _=256;var C=16;var B=17;var T=18;var y=[0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0];var x=[0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13];var A=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7];var I=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15];var R=512;var O=new Array((m+2)*2);o(O);var D=new Array(b*2);o(D);var F=new Array(R);o(F);var P=new Array(d-h+1);o(P);var N=new Array(v);o(N);var L=new Array(b);o(L);var M=function(e,r,t,a,n){this.static_tree=e;this.extra_bits=r;this.extra_base=t;this.elems=a;this.max_length=n;this.has_stree=e&&e.length};var U;var z;var H;var W=function(e,r){this.dyn_tree=e;this.max_code=0;this.stat_desc=r};function V(e){return e<256?F[e]:F[256+(e>>>7)]}function X(e,r){e.pending_buf[e.pending++]=r&255;e.pending_buf[e.pending++]=r>>>8&255}function G(e,r,t){if(e.bi_valid>E-t){e.bi_buf|=r<<e.bi_valid&65535;X(e,e.bi_buf);e.bi_buf=r>>E-e.bi_valid;e.bi_valid+=t-E}else{e.bi_buf|=r<<e.bi_valid&65535;e.bi_valid+=t}}function j(e,r,t){G(e,t[r*2],t[r*2+1])}function K(e,r){var t=0;do{t|=e&1;e>>>=1;t<<=1}while(--r>0);return t>>>1}function $(e){if(e.bi_valid===16){X(e,e.bi_buf);e.bi_buf=0;e.bi_valid=0}else if(e.bi_valid>=8){e.pending_buf[e.pending++]=e.bi_buf&255;e.bi_buf>>=8;e.bi_valid-=8}}function Y(e,r){var t=r.dyn_tree;var a=r.max_code;var n=r.stat_desc.static_tree;var i=r.stat_desc.has_stree;var s=r.stat_desc.extra_bits;var f=r.stat_desc.extra_base;var o=r.stat_desc.max_length;var l;var c,u;var h;var d;var v;var p=0;for(h=0;h<=k;h++){e.bl_count[h]=0}t[e.heap[e.heap_max]*2+1]=0;for(l=e.heap_max+1;l<w;l++){c=e.heap[l];h=t[t[c*2+1]*2+1]+1;if(h>o){h=o;p++}t[c*2+1]=h;if(c>a){continue}e.bl_count[h]++;d=0;if(c>=f){d=s[c-f]}v=t[c*2];e.opt_len+=v*(h+d);if(i){e.static_len+=v*(n[c*2+1]+d)}}if(p===0){return}do{h=o-1;while(e.bl_count[h]===0){h--}e.bl_count[h]--;e.bl_count[h+1]+=2;e.bl_count[o]--;p-=2}while(p>0);for(h=o;h!==0;h--){c=e.bl_count[h];while(c!==0){u=e.heap[--l];if(u>a){continue}if(t[u*2+1]!==h){e.opt_len+=(h-t[u*2+1])*t[u*2];t[u*2+1]=h}c--}}}function Z(e,r,t){var a=new Array(k+1);var n=0;var i;var s;for(i=1;i<=k;i++){a[i]=n=n+t[i-1]<<1}for(s=0;s<=r;s++){var f=e[s*2+1];if(f===0){continue}e[s*2]=K(a[f]++,f)}}function J(){var e;var r;var t;var a;var n;var i=new Array(k+1);t=0;for(a=0;a<v-1;a++){N[a]=t;for(e=0;e<1<<y[a];e++){P[t++]=a}}P[t-1]=a;n=0;for(a=0;a<16;a++){L[a]=n;for(e=0;e<1<<x[a];e++){F[n++]=a}}n>>=7;for(;a<b;a++){L[a]=n<<7;for(e=0;e<1<<x[a]-7;e++){F[256+n++]=a}}for(r=0;r<=k;r++){i[r]=0}e=0;while(e<=143){O[e*2+1]=8;e++;i[8]++}while(e<=255){O[e*2+1]=9;e++;i[9]++}while(e<=279){O[e*2+1]=7;e++;i[7]++}while(e<=287){O[e*2+1]=8;e++;i[8]++}Z(O,m+1,i);for(e=0;e<b;e++){D[e*2+1]=5;D[e*2]=K(e,5)}U=new M(O,y,p+1,m,k);z=new M(D,x,0,b,k);H=new M(new Array(0),A,0,g,S)}function Q(e){var r;for(r=0;r<m;r++){e.dyn_ltree[r*2]=0}for(r=0;r<b;r++){e.dyn_dtree[r*2]=0}for(r=0;r<g;r++){e.bl_tree[r*2]=0}e.dyn_ltree[_*2]=1;e.opt_len=e.static_len=0;e.last_lit=e.matches=0}function q(e){if(e.bi_valid>8){X(e,e.bi_buf)}else if(e.bi_valid>0){e.pending_buf[e.pending++]=e.bi_buf}e.bi_buf=0;e.bi_valid=0}function ee(e,r,t,n){q(e);if(n){X(e,t);X(e,~t)}a.arraySet(e.pending_buf,e.window,r,t,e.pending);e.pending+=t}function re(e,r,t,a){var n=r*2;var i=t*2;return e[n]<e[i]||e[n]===e[i]&&a[r]<=a[t]}function te(e,r,t){var a=e.heap[t];var n=t<<1;while(n<=e.heap_len){if(n<e.heap_len&&re(r,e.heap[n+1],e.heap[n],e.depth)){n++}if(re(r,a,e.heap[n],e.depth)){break}e.heap[t]=e.heap[n];t=n;n<<=1}e.heap[t]=a}function ae(e,r,t){var a;var n;var i=0;var s;var f;if(e.last_lit!==0){do{a=e.pending_buf[e.d_buf+i*2]<<8|e.pending_buf[e.d_buf+i*2+1];n=e.pending_buf[e.l_buf+i];i++;if(a===0){j(e,n,r)}else{s=P[n];j(e,s+p+1,r);f=y[s];if(f!==0){n-=N[s];G(e,n,f)}a--;s=V(a);j(e,s,t);f=x[s];if(f!==0){a-=L[s];G(e,a,f)}}}while(i<e.last_lit)}j(e,_,r)}function ne(e,r){var t=r.dyn_tree;var a=r.stat_desc.static_tree;var n=r.stat_desc.has_stree;var i=r.stat_desc.elems;var s,f;var o=-1;var l;e.heap_len=0;e.heap_max=w;for(s=0;s<i;s++){if(t[s*2]!==0){e.heap[++e.heap_len]=o=s;e.depth[s]=0}else{t[s*2+1]=0}}while(e.heap_len<2){l=e.heap[++e.heap_len]=o<2?++o:0;t[l*2]=1;e.depth[l]=0;e.opt_len--;if(n){e.static_len-=a[l*2+1]}}r.max_code=o;for(s=e.heap_len>>1;s>=1;s--){te(e,t,s)}l=i;do{s=e.heap[1];e.heap[1]=e.heap[e.heap_len--];te(e,t,1);f=e.heap[1];e.heap[--e.heap_max]=s;e.heap[--e.heap_max]=f;t[l*2]=t[s*2]+t[f*2];e.depth[l]=(e.depth[s]>=e.depth[f]?e.depth[s]:e.depth[f])+1;t[s*2+1]=t[f*2+1]=l;e.heap[1]=l++;te(e,t,1)}while(e.heap_len>=2);e.heap[--e.heap_max]=e.heap[1];Y(e,r);Z(t,o,e.bl_count)}function ie(e,r,t){var a;var n=-1;var i;var s=r[0*2+1];var f=0;var o=7;var l=4;if(s===0){o=138;l=3}r[(t+1)*2+1]=65535;for(a=0;a<=t;a++){i=s;s=r[(a+1)*2+1];if(++f<o&&i===s){continue}else if(f<l){e.bl_tree[i*2]+=f}else if(i!==0){if(i!==n){e.bl_tree[i*2]++}e.bl_tree[C*2]++}else if(f<=10){e.bl_tree[B*2]++}else{e.bl_tree[T*2]++}f=0;n=i;if(s===0){o=138;l=3}else if(i===s){o=6;l=3}else{o=7;l=4}}}function se(e,r,t){var a;var n=-1;var i;var s=r[0*2+1];var f=0;var o=7;var l=4;if(s===0){o=138;l=3}for(a=0;a<=t;a++){i=s;s=r[(a+1)*2+1];if(++f<o&&i===s){continue}else if(f<l){do{j(e,i,e.bl_tree)}while(--f!==0)}else if(i!==0){if(i!==n){j(e,i,e.bl_tree);f--}j(e,C,e.bl_tree);G(e,f-3,2)}else if(f<=10){j(e,B,e.bl_tree);G(e,f-3,3)}else{j(e,T,e.bl_tree);G(e,f-11,7)}f=0;n=i;if(s===0){o=138;l=3}else if(i===s){o=6;l=3}else{o=7;l=4}}}function fe(e){var r;ie(e,e.dyn_ltree,e.l_desc.max_code);ie(e,e.dyn_dtree,e.d_desc.max_code);ne(e,e.bl_desc);for(r=g-1;r>=3;r--){if(e.bl_tree[I[r]*2+1]!==0){break}}e.opt_len+=3*(r+1)+5+5+4;return r}function oe(e,r,t,a){var n;G(e,r-257,5);G(e,t-1,5);G(e,a-4,4);for(n=0;n<a;n++){G(e,e.bl_tree[I[n]*2+1],3)}se(e,e.dyn_ltree,r-1);se(e,e.dyn_dtree,t-1)}function le(e){var r=4093624447;var t;for(t=0;t<=31;t++,r>>>=1){if(r&1&&e.dyn_ltree[t*2]!==0){return i}}if(e.dyn_ltree[9*2]!==0||e.dyn_ltree[10*2]!==0||e.dyn_ltree[13*2]!==0){return s}for(t=32;t<p;t++){if(e.dyn_ltree[t*2]!==0){return s}}return i}var ce=false;function ue(e){if(!ce){J();ce=true}e.l_desc=new W(e.dyn_ltree,U);e.d_desc=new W(e.dyn_dtree,z);e.bl_desc=new W(e.bl_tree,H);e.bi_buf=0;e.bi_valid=0;Q(e)}function he(e,r,t,a){G(e,(l<<1)+(a?1:0),3);ee(e,r,t,true)}function de(e){G(e,c<<1,3);j(e,_,O);$(e)}function ve(e,r,t,a){var i,s;var o=0;if(e.level>0){if(e.strm.data_type===f){e.strm.data_type=le(e)}ne(e,e.l_desc);ne(e,e.d_desc);o=fe(e);i=e.opt_len+3+7>>>3;s=e.static_len+3+7>>>3;if(s<=i){i=s}}else{i=s=t+5}if(t+4<=i&&r!==-1){he(e,r,t,a)}else if(e.strategy===n||s===i){G(e,(c<<1)+(a?1:0),3);ae(e,O,D)}else{G(e,(u<<1)+(a?1:0),3);oe(e,e.l_desc.max_code+1,e.d_desc.max_code+1,o+1);ae(e,e.dyn_ltree,e.dyn_dtree)}Q(e);if(a){q(e)}}function pe(e,r,t){e.pending_buf[e.d_buf+e.last_lit*2]=r>>>8&255;e.pending_buf[e.d_buf+e.last_lit*2+1]=r&255;e.pending_buf[e.l_buf+e.last_lit]=t&255;e.last_lit++;if(r===0){e.dyn_ltree[t*2]++}else{e.matches++;r--;e.dyn_ltree[(P[t]+p+1)*2]++;e.dyn_dtree[V(r)*2]++}return e.last_lit===e.lit_bufsize-1}t._tr_init=ue;t._tr_stored_block=he;t._tr_flush_block=ve;t._tr_tally=pe;t._tr_align=de},{\\"../utils/common\\":27}],39:[function(e,r,t){\\"use strict\\";function a(){this.input=null;this.next_in=0;this.avail_in=0;this.total_in=0;this.output=null;this.next_out=0;this.avail_out=0;this.total_out=0;this.msg=\\"\\";this.state=null;this.data_type=2;this.adler=0}r.exports=a},{}]},{},[9])(9)});var XLSX={};function make_xlsx_lib(e){e.version=\\"0.16.9\\";var r=1200,t=1252;if(typeof module!==\\"undefined\\"&&typeof require!==\\"undefined\\"){if(typeof cptable===\\"undefined\\"){if(typeof global!==\\"undefined\\")global.cptable=undefined;else if(typeof window!==\\"undefined\\")window.cptable=undefined}}var a=[874,932,936,949,950];for(var n=0;n<=8;++n)a.push(1250+n);var i={0:1252,1:65001,2:65001,77:1e4,128:932,129:949,130:1361,134:936,136:950,161:1253,162:1254,163:1258,177:1255,178:1256,186:1257,204:1251,222:874,238:1250,255:1252,69:6969};var s=function(e){if(a.indexOf(e)==-1)return;t=i[0]=e};function f(){s(1252)}var o=function(e){r=e;s(e)};function l(){o(1200);f()}function c(e){var r=[];for(var t=0,a=e.length;t<a;++t)r[t]=e.charCodeAt(t);return r}function u(e){var r=[];for(var t=0;t<e.length>>1;++t)r[t]=String.fromCharCode(e.charCodeAt(2*t)+(e.charCodeAt(2*t+1)<<8));return r.join(\\"\\")}function h(e){var r=[];for(var t=0;t<e.length>>1;++t)r[t]=String.fromCharCode(e.charCodeAt(2*t+1)+(e.charCodeAt(2*t)<<8));return r.join(\\"\\")}var d=function(e){var r=e.charCodeAt(0),t=e.charCodeAt(1);if(r==255&&t==254)return u(e.slice(2));if(r==254&&t==255)return h(e.slice(2));if(r==65279)return e.slice(1);return e};var v=function cb(e){return String.fromCharCode(e)};var p=function ub(e){return String.fromCharCode(e)};if(typeof cptable!==\\"undefined\\"){o=function(e){r=e;s(e)};d=function(e){if(e.charCodeAt(0)===255&&e.charCodeAt(1)===254){return cptable.utils.decode(1200,c(e.slice(2)))}return e};v=function hb(e){if(r===1200)return String.fromCharCode(e);return cptable.utils.decode(r,[e&255,e>>8])[0]};p=function db(e){return cptable.utils.decode(t,[e])[0]}}var m=null;var b=true;var g=function vb(){var e=\\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\\";return{encode:function(r){var t=\\"\\";var a=0,n=0,i=0,s=0,f=0,o=0,l=0;for(var c=0;c<r.length;){a=r.charCodeAt(c++);s=a>>2;n=r.charCodeAt(c++);f=(a&3)<<4|n>>4;i=r.charCodeAt(c++);o=(n&15)<<2|i>>6;l=i&63;if(isNaN(n)){o=l=64}else if(isNaN(i)){l=64}t+=e.charAt(s)+e.charAt(f)+e.charAt(o)+e.charAt(l)}return t},decode:function r(t){var a=\\"\\";var n=0,i=0,s=0,f=0,o=0,l=0,c=0;t=t.replace(/[^\\\\w\\\\+\\\\/\\\\=]/g,\\"\\");for(var u=0;u<t.length;){f=e.indexOf(t.charAt(u++));o=e.indexOf(t.charAt(u++));n=f<<2|o>>4;a+=String.fromCharCode(n);l=e.indexOf(t.charAt(u++));i=(o&15)<<4|l>>2;if(l!==64){a+=String.fromCharCode(i)}c=e.indexOf(t.charAt(u++));s=(l&3)<<6|c;if(c!==64){a+=String.fromCharCode(s)}}return a}}}();var w=typeof Buffer!==\\"undefined\\"&&typeof process!==\\"undefined\\"&&typeof process.versions!==\\"undefined\\"&&!!process.versions.node;var k=function(){};if(typeof Buffer!==\\"undefined\\"){var E=!Buffer.from;if(!E)try{Buffer.from(\\"foo\\",\\"utf8\\")}catch(S){E=true}k=E?function(e,r){return r?new Buffer(e,r):new Buffer(e)}:Buffer.from.bind(Buffer);if(!Buffer.alloc)Buffer.alloc=function(e){return new Buffer(e)};if(!Buffer.allocUnsafe)Buffer.allocUnsafe=function(e){return new Buffer(e)}}function _(e){return w?Buffer.alloc(e):new Array(e)}function C(e){return w?Buffer.allocUnsafe(e):new Array(e)}var B=function pb(e){if(w)return k(e,\\"binary\\");return e.split(\\"\\").map(function(e){return e.charCodeAt(0)&255})};function T(e){if(typeof ArrayBuffer===\\"undefined\\")return B(e);var r=new ArrayBuffer(e.length),t=new Uint8Array(r);for(var a=0;a!=e.length;++a)t[a]=e.charCodeAt(a)&255;return r}function y(e){if(Array.isArray(e))return e.map(function(e){return String.fromCharCode(e)}).join(\\"\\");var r=[];for(var t=0;t<e.length;++t)r[t]=String.fromCharCode(e[t]);return r.join(\\"\\")}function x(e){if(typeof Uint8Array===\\"undefined\\")throw new Error(\\"Unsupported\\");return new Uint8Array(e)}function A(e){if(typeof ArrayBuffer==\\"undefined\\")throw new Error(\\"Unsupported\\");if(e instanceof ArrayBuffer)return A(new Uint8Array(e));var r=new Array(e.length);for(var t=0;t<e.length;++t)r[t]=e[t];return r}var I=function(e){return[].concat.apply([],e)};var R=/\\\\u0000/g,O=/[\\\\u0001-\\\\u0006]/g;var D={};var F=function mb(e){e.version=\\"0.11.2\\";function r(e){var r=\\"\\",t=e.length-1;while(t>=0)r+=e.charAt(t--);return r}function t(e,r){var t=\\"\\";while(t.length<r)t+=e;return t}function a(e,r){var a=\\"\\"+e;return a.length>=r?a:t(\\"0\\",r-a.length)+a}function n(e,r){var a=\\"\\"+e;return a.length>=r?a:t(\\" \\",r-a.length)+a}function i(e,r){var a=\\"\\"+e;return a.length>=r?a:a+t(\\" \\",r-a.length)}function s(e,r){var a=\\"\\"+Math.round(e);return a.length>=r?a:t(\\"0\\",r-a.length)+a}function f(e,r){var a=\\"\\"+e;return a.length>=r?a:t(\\"0\\",r-a.length)+a}var o=Math.pow(2,32);function l(e,r){if(e>o||e<-o)return s(e,r);var t=Math.round(e);return f(t,r)}function c(e,r){r=r||0;return e.length>=7+r&&(e.charCodeAt(r)|32)===103&&(e.charCodeAt(r+1)|32)===101&&(e.charCodeAt(r+2)|32)===110&&(e.charCodeAt(r+3)|32)===101&&(e.charCodeAt(r+4)|32)===114&&(e.charCodeAt(r+5)|32)===97&&(e.charCodeAt(r+6)|32)===108}var u=[[\\"Sun\\",\\"Sunday\\"],[\\"Mon\\",\\"Monday\\"],[\\"Tue\\",\\"Tuesday\\"],[\\"Wed\\",\\"Wednesday\\"],[\\"Thu\\",\\"Thursday\\"],[\\"Fri\\",\\"Friday\\"],[\\"Sat\\",\\"Saturday\\"]];var h=[[\\"J\\",\\"Jan\\",\\"January\\"],[\\"F\\",\\"Feb\\",\\"February\\"],[\\"M\\",\\"Mar\\",\\"March\\"],[\\"A\\",\\"Apr\\",\\"April\\"],[\\"M\\",\\"May\\",\\"May\\"],[\\"J\\",\\"Jun\\",\\"June\\"],[\\"J\\",\\"Jul\\",\\"July\\"],[\\"A\\",\\"Aug\\",\\"August\\"],[\\"S\\",\\"Sep\\",\\"September\\"],[\\"O\\",\\"Oct\\",\\"October\\"],[\\"N\\",\\"Nov\\",\\"November\\"],[\\"D\\",\\"Dec\\",\\"December\\"]];function d(e){e[0]=\\"General\\";e[1]=\\"0\\";e[2]=\\"0.00\\";e[3]=\\"#,##0\\";e[4]=\\"#,##0.00\\";e[9]=\\"0%\\";e[10]=\\"0.00%\\";e[11]=\\"0.00E+00\\";e[12]=\\"# ?/?\\";e[13]=\\"# ??/??\\";e[14]=\\"m/d/yy\\";e[15]=\\"d-mmm-yy\\";e[16]=\\"d-mmm\\";e[17]=\\"mmm-yy\\";e[18]=\\"h:mm AM/PM\\";e[19]=\\"h:mm:ss AM/PM\\";e[20]=\\"h:mm\\";e[21]=\\"h:mm:ss\\";e[22]=\\"m/d/yy h:mm\\";e[37]=\\"#,##0 ;(#,##0)\\";e[38]=\\"#,##0 ;[Red](#,##0)\\";e[39]=\\"#,##0.00;(#,##0.00)\\";e[40]=\\"#,##0.00;[Red](#,##0.00)\\";e[45]=\\"mm:ss\\";e[46]=\\"[h]:mm:ss\\";e[47]=\\"mmss.0\\";e[48]=\\"##0.0E+0\\";e[49]=\\"@\\";e[56]=\'\\"上午/下午 \\"hh\\"時\\"mm\\"分\\"ss\\"秒 \\"\'}var v={};d(v);var p=[];var m=0;for(m=5;m<=8;++m)p[m]=32+m;for(m=23;m<=26;++m)p[m]=0;for(m=27;m<=31;++m)p[m]=14;for(m=50;m<=58;++m)p[m]=14;for(m=59;m<=62;++m)p[m]=m-58;for(m=67;m<=68;++m)p[m]=m-58;for(m=72;m<=75;++m)p[m]=m-58;for(m=67;m<=68;++m)p[m]=m-57;for(m=76;m<=78;++m)p[m]=m-56;for(m=79;m<=81;++m)p[m]=m-34;var b=[];b[5]=b[63]=\'\\"$\\"#,##0_);\\\\\\\\(\\"$\\"#,##0\\\\\\\\)\';b[6]=b[64]=\'\\"$\\"#,##0_);[Red]\\\\\\\\(\\"$\\"#,##0\\\\\\\\)\';b[7]=b[65]=\'\\"$\\"#,##0.00_);\\\\\\\\(\\"$\\"#,##0.00\\\\\\\\)\';b[8]=b[66]=\'\\"$\\"#,##0.00_);[Red]\\\\\\\\(\\"$\\"#,##0.00\\\\\\\\)\';b[41]=\'_(* #,##0_);_(* \\\\\\\\(#,##0\\\\\\\\);_(* \\"-\\"_);_(@_)\';b[42]=\'_(\\"$\\"* #,##0_);_(\\"$\\"* \\\\\\\\(#,##0\\\\\\\\);_(\\"$\\"* \\"-\\"_);_(@_)\';b[43]=\'_(* #,##0.00_);_(* \\\\\\\\(#,##0.00\\\\\\\\);_(* \\"-\\"??_);_(@_)\';b[44]=\'_(\\"$\\"* #,##0.00_);_(\\"$\\"* \\\\\\\\(#,##0.00\\\\\\\\);_(\\"$\\"* \\"-\\"??_);_(@_)\';function g(e,r,t){var a=e<0?-1:1;var n=e*a;var i=0,s=1,f=0;var o=1,l=0,c=0;var u=Math.floor(n);while(l<r){u=Math.floor(n);f=u*s+i;c=u*l+o;if(n-u<5e-8)break;n=1/(n-u);i=s;s=f;o=l;l=c}if(c>r){if(l>r){c=o;f=i}else{c=l;f=s}}if(!t)return[0,a*f,c];var h=Math.floor(a*f/c);return[h,a*f-h*c,c]}function w(e,r,t){if(e>2958465||e<0)return null;var a=e|0,n=Math.floor(86400*(e-a)),i=0;var s=[];var f={D:a,T:n,u:86400*(e-a)-n,y:0,m:0,d:0,H:0,M:0,S:0,q:0};if(Math.abs(f.u)<1e-6)f.u=0;if(r&&r.date1904)a+=1462;if(f.u>.9999){f.u=0;if(++n==86400){f.T=n=0;++a;++f.D}}if(a===60){s=t?[1317,10,29]:[1900,2,29];i=3}else if(a===0){s=t?[1317,8,29]:[1900,1,0];i=6}else{if(a>60)--a;var o=new Date(1900,0,1);o.setDate(o.getDate()+a-1);s=[o.getFullYear(),o.getMonth()+1,o.getDate()];i=o.getDay();if(a<60)i=(i+6)%7;if(t)i=y(o,s)}f.y=s[0];f.m=s[1];f.d=s[2];f.S=n%60;n=Math.floor(n/60);f.M=n%60;n=Math.floor(n/60);f.H=n;f.q=i;return f}e.parse_date_code=w;var k=new Date(1899,11,31,0,0,0);var E=k.getTime();var S=new Date(1900,2,1,0,0,0);function _(e,r){var t=e.getTime();if(r)t-=1461*24*60*60*1e3;else if(e>=S)t+=24*60*60*1e3;return(t-(E+(e.getTimezoneOffset()-k.getTimezoneOffset())*6e4))/(24*60*60*1e3)}function C(e){return e.toString(10)}e._general_int=C;var B=function H(){var e=/(?:\\\\.0*|(\\\\.\\\\d*[1-9])0+)$/;function r(r){return r.indexOf(\\".\\")==-1?r:r.replace(e,\\"$1\\")}var t=/(?:\\\\.0*|(\\\\.\\\\d*[1-9])0+)[Ee]/;var a=/(E[+-])(\\\\d)$/;function n(e){if(e.indexOf(\\"E\\")==-1)return e;return e.replace(t,\\"$1E\\").replace(a,\\"$10$2\\")}function i(e){var t=e<0?12:11;var a=r(e.toFixed(12));if(a.length<=t)return a;a=e.toPrecision(10);if(a.length<=t)return a;return e.toExponential(5)}function s(e){var t=r(e.toFixed(11));return t.length>(e<0?12:11)||t===\\"0\\"||t===\\"-0\\"?e.toPrecision(6):t}function f(e){var t=Math.floor(Math.log(Math.abs(e))*Math.LOG10E),a;if(t>=-4&&t<=-1)a=e.toPrecision(10+t);else if(Math.abs(t)<=9)a=i(e);else if(t===10)a=e.toFixed(10).substr(0,12);else a=s(e);return r(n(a.toUpperCase()))}return f}();e._general_num=B;function T(e,r){switch(typeof e){case\\"string\\":return e;case\\"boolean\\":return e?\\"TRUE\\":\\"FALSE\\";case\\"number\\":return(e|0)===e?e.toString(10):B(e);case\\"undefined\\":return\\"\\";case\\"object\\":if(e==null)return\\"\\";if(e instanceof Date)return U(14,_(e,r&&r.date1904),r);}throw new Error(\\"unsupported value in General format: \\"+e)}e._general=T;function y(e,r){r[0]-=581;var t=e.getDay();if(e<60)t=(t+6)%7;return t}function x(e,r,t,n){var i=\\"\\",s=0,f=0,o=t.y,l,c=0;switch(e){case 98:o=t.y+543;case 121:switch(r.length){case 1:;case 2:l=o%100;c=2;break;default:l=o%1e4;c=4;break;}break;case 109:switch(r.length){case 1:;case 2:l=t.m;c=r.length;break;case 3:return h[t.m-1][1];case 5:return h[t.m-1][0];default:return h[t.m-1][2];}break;case 100:switch(r.length){case 1:;case 2:l=t.d;c=r.length;break;case 3:return u[t.q][0];default:return u[t.q][1];}break;case 104:switch(r.length){case 1:;case 2:l=1+(t.H+11)%12;c=r.length;break;default:throw\\"bad hour format: \\"+r;}break;case 72:switch(r.length){case 1:;case 2:l=t.H;c=r.length;break;default:throw\\"bad hour format: \\"+r;}break;case 77:switch(r.length){case 1:;case 2:l=t.M;c=r.length;break;default:throw\\"bad minute format: \\"+r;}break;case 115:if(r!=\\"s\\"&&r!=\\"ss\\"&&r!=\\".0\\"&&r!=\\".00\\"&&r!=\\".000\\")throw\\"bad second format: \\"+r;if(t.u===0&&(r==\\"s\\"||r==\\"ss\\"))return a(t.S,r.length);if(n>=2)f=n===3?1e3:100;else f=n===1?10:1;s=Math.round(f*(t.S+t.u));if(s>=60*f)s=0;if(r===\\"s\\")return s===0?\\"0\\":\\"\\"+s/f;i=a(s,2+n);if(r===\\"ss\\")return i.substr(0,2);return\\".\\"+i.substr(2,r.length-1);case 90:switch(r){case\\"[h]\\":;case\\"[hh]\\":l=t.D*24+t.H;break;case\\"[m]\\":;case\\"[mm]\\":l=(t.D*24+t.H)*60+t.M;break;case\\"[s]\\":;case\\"[ss]\\":l=((t.D*24+t.H)*60+t.M)*60+Math.round(t.S+t.u);break;default:throw\\"bad abstime format: \\"+r;}c=r.length===3?1:2;break;case 101:l=o;c=1;break;}var d=c>0?a(l,c):\\"\\";return d}function A(e){var r=3;if(e.length<=r)return e;var t=e.length%r,a=e.substr(0,t);for(;t!=e.length;t+=r)a+=(a.length>0?\\",\\":\\"\\")+e.substr(t,r);return a}var I=function W(){var e=/%/g;function s(r,a,n){var i=a.replace(e,\\"\\"),s=a.length-i.length;return I(r,i,n*Math.pow(10,2*s))+t(\\"%\\",s)}function f(e,r,t){var a=r.length-1;while(r.charCodeAt(a-1)===44)--a;return I(e,r.substr(0,a),t/Math.pow(10,3*(r.length-a)))}function o(e,r){var t;var a=e.indexOf(\\"E\\")-e.indexOf(\\".\\")-1;if(e.match(/^#+0.0E\\\\+0$/)){if(r==0)return\\"0.0E+0\\";else if(r<0)return\\"-\\"+o(e,-r);var n=e.indexOf(\\".\\");if(n===-1)n=e.indexOf(\\"E\\");var i=Math.floor(Math.log(r)*Math.LOG10E)%n;if(i<0)i+=n;t=(r/Math.pow(10,i)).toPrecision(a+1+(n+i)%n);if(t.indexOf(\\"e\\")===-1){var s=Math.floor(Math.log(r)*Math.LOG10E);if(t.indexOf(\\".\\")===-1)t=t.charAt(0)+\\".\\"+t.substr(1)+\\"E+\\"+(s-t.length+i);else t+=\\"E+\\"+(s-i);while(t.substr(0,2)===\\"0.\\"){t=t.charAt(0)+t.substr(2,n)+\\".\\"+t.substr(2+n);t=t.replace(/^0+([1-9])/,\\"$1\\").replace(/^0+\\\\./,\\"0.\\")}t=t.replace(/\\\\+-/,\\"-\\")}t=t.replace(/^([+-]?)(\\\\d*)\\\\.(\\\\d*)[Ee]/,function(e,r,t,a){return r+t+a.substr(0,(n+i)%n)+\\".\\"+a.substr(i)+\\"E\\"})}else t=r.toExponential(a);if(e.match(/E\\\\+00$/)&&t.match(/e[+-]\\\\d$/))t=t.substr(0,t.length-1)+\\"0\\"+t.charAt(t.length-1);if(e.match(/E\\\\-/)&&t.match(/e\\\\+/))t=t.replace(/e\\\\+/,\\"e\\");return t.replace(\\"e\\",\\"E\\")}var c=/# (\\\\?+)( ?)\\\\/( ?)(\\\\d+)/;function u(e,r,i){var s=parseInt(e[4],10),f=Math.round(r*s),o=Math.floor(f/s);var l=f-o*s,c=s;return i+(o===0?\\"\\":\\"\\"+o)+\\" \\"+(l===0?t(\\" \\",e[1].length+1+e[4].length):n(l,e[1].length)+e[2]+\\"/\\"+e[3]+a(c,e[4].length))}function h(e,r,a){return a+(r===0?\\"\\":\\"\\"+r)+t(\\" \\",e[1].length+2+e[4].length)}var d=/^#*0*\\\\.([0#]+)/;var v=/\\\\).*[0#]/;var p=/\\\\(###\\\\) ###\\\\\\\\?-####/;function m(e){var r=\\"\\",t;for(var a=0;a!=e.length;++a)switch(t=e.charCodeAt(a)){case 35:break;case 63:r+=\\" \\";break;case 48:r+=\\"0\\";break;default:r+=String.fromCharCode(t);}return r}function b(e,r){var t=Math.pow(10,r);return\\"\\"+Math.round(e*t)/t}function w(e,r){var t=e-Math.floor(e),a=Math.pow(10,r);if(r<(\\"\\"+Math.round(t*a)).length)return 0;return Math.round(t*a)}function k(e,r){if(r<(\\"\\"+Math.round((e-Math.floor(e))*Math.pow(10,r))).length){return 1}return 0}function E(e){if(e<2147483647&&e>-2147483648)return\\"\\"+(e>=0?e|0:e-1|0);return\\"\\"+Math.floor(e)}function S(e,h,_){if(e.charCodeAt(0)===40&&!h.match(v)){var C=h.replace(/\\\\( */,\\"\\").replace(/ \\\\)/,\\"\\").replace(/\\\\)/,\\"\\");if(_>=0)return S(\\"n\\",C,_);return\\"(\\"+S(\\"n\\",C,-_)+\\")\\"}if(h.charCodeAt(h.length-1)===44)return f(e,h,_);if(h.indexOf(\\"%\\")!==-1)return s(e,h,_);if(h.indexOf(\\"E\\")!==-1)return o(h,_);if(h.charCodeAt(0)===36)return\\"$\\"+S(e,h.substr(h.charAt(1)==\\" \\"?2:1),_);var B;var T,y,x,R=Math.abs(_),O=_<0?\\"-\\":\\"\\";if(h.match(/^00+$/))return O+l(R,h.length);if(h.match(/^[#?]+$/)){B=l(_,0);if(B===\\"0\\")B=\\"\\";return B.length>h.length?B:m(h.substr(0,h.length-B.length))+B}if(T=h.match(c))return u(T,R,O);if(h.match(/^#+0+$/))return O+l(R,h.length-h.indexOf(\\"0\\"));if(T=h.match(d)){B=b(_,T[1].length).replace(/^([^\\\\.]+)$/,\\"$1.\\"+m(T[1])).replace(/\\\\.$/,\\".\\"+m(T[1])).replace(/\\\\.(\\\\d*)$/,function(e,r){return\\".\\"+r+t(\\"0\\",m(T[1]).length-r.length)});return h.indexOf(\\"0.\\")!==-1?B:B.replace(/^0\\\\./,\\".\\")}h=h.replace(/^#+([0.])/,\\"$1\\");if(T=h.match(/^(0*)\\\\.(#*)$/)){return O+b(R,T[2].length).replace(/\\\\.(\\\\d*[1-9])0*$/,\\".$1\\").replace(/^(-?\\\\d*)$/,\\"$1.\\").replace(/^0\\\\./,T[1].length?\\"0.\\":\\".\\")}if(T=h.match(/^#{1,3},##0(\\\\.?)$/))return O+A(l(R,0));if(T=h.match(/^#,##0\\\\.([#0]*0)$/)){return _<0?\\"-\\"+S(e,h,-_):A(\\"\\"+(Math.floor(_)+k(_,T[1].length)))+\\".\\"+a(w(_,T[1].length),T[1].length)}if(T=h.match(/^#,#*,#0/))return S(e,h.replace(/^#,#*,/,\\"\\"),_);if(T=h.match(/^([0#]+)(\\\\\\\\?-([0#]+))+$/)){B=r(S(e,h.replace(/[\\\\\\\\-]/g,\\"\\"),_));y=0;return r(r(h.replace(/\\\\\\\\/g,\\"\\")).replace(/[0#]/g,function(e){return y<B.length?B.charAt(y++):e===\\"0\\"?\\"0\\":\\"\\"}))}if(h.match(p)){B=S(e,\\"##########\\",_);return\\"(\\"+B.substr(0,3)+\\") \\"+B.substr(3,3)+\\"-\\"+B.substr(6)}var D=\\"\\";if(T=h.match(/^([#0?]+)( ?)\\\\/( ?)([#0?]+)/)){y=Math.min(T[4].length,7);x=g(R,Math.pow(10,y)-1,false);B=\\"\\"+O;D=I(\\"n\\",T[1],x[1]);if(D.charAt(D.length-1)==\\" \\")D=D.substr(0,D.length-1)+\\"0\\";B+=D+T[2]+\\"/\\"+T[3];D=i(x[2],y);if(D.length<T[4].length)D=m(T[4].substr(T[4].length-D.length))+D;B+=D;return B}if(T=h.match(/^# ([#0?]+)( ?)\\\\/( ?)([#0?]+)/)){y=Math.min(Math.max(T[1].length,T[4].length),7);x=g(R,Math.pow(10,y)-1,true);return O+(x[0]||(x[1]?\\"\\":\\"0\\"))+\\" \\"+(x[1]?n(x[1],y)+T[2]+\\"/\\"+T[3]+i(x[2],y):t(\\" \\",2*y+1+T[2].length+T[3].length))}if(T=h.match(/^[#0?]+$/)){B=l(_,0);if(h.length<=B.length)return B;return m(h.substr(0,h.length-B.length))+B}if(T=h.match(/^([#0?]+)\\\\.([#0]+)$/)){B=\\"\\"+_.toFixed(Math.min(T[2].length,10)).replace(/([^0])0+$/,\\"$1\\");y=B.indexOf(\\".\\");var F=h.indexOf(\\".\\")-y,P=h.length-B.length-F;return m(h.substr(0,F)+B+h.substr(h.length-P))}if(T=h.match(/^00,000\\\\.([#0]*0)$/)){y=w(_,T[1].length);return _<0?\\"-\\"+S(e,h,-_):A(E(_)).replace(/^\\\\d,\\\\d{3}$/,\\"0$&\\").replace(/^\\\\d*$/,function(e){return\\"00,\\"+(e.length<3?a(0,3-e.length):\\"\\")+e})+\\".\\"+a(y,T[1].length)}switch(h){case\\"###,##0.00\\":return S(e,\\"#,##0.00\\",_);case\\"###,###\\":;case\\"##,###\\":;case\\"#,###\\":var N=A(l(R,0));return N!==\\"0\\"?O+N:\\"\\";case\\"###,###.00\\":return S(e,\\"###,##0.00\\",_).replace(/^0\\\\./,\\".\\");case\\"#,###.00\\":return S(e,\\"#,##0.00\\",_).replace(/^0\\\\./,\\".\\");default:;}throw new Error(\\"unsupported format |\\"+h+\\"|\\")}function _(e,r,t){var a=r.length-1;while(r.charCodeAt(a-1)===44)--a;return I(e,r.substr(0,a),t/Math.pow(10,3*(r.length-a)))}function C(r,a,n){var i=a.replace(e,\\"\\"),s=a.length-i.length;return I(r,i,n*Math.pow(10,2*s))+t(\\"%\\",s)}function B(e,r){var t;var a=e.indexOf(\\"E\\")-e.indexOf(\\".\\")-1;if(e.match(/^#+0.0E\\\\+0$/)){if(r==0)return\\"0.0E+0\\";else if(r<0)return\\"-\\"+B(e,-r);var n=e.indexOf(\\".\\");if(n===-1)n=e.indexOf(\\"E\\");var i=Math.floor(Math.log(r)*Math.LOG10E)%n;\\nif(i<0)i+=n;t=(r/Math.pow(10,i)).toPrecision(a+1+(n+i)%n);if(!t.match(/[Ee]/)){var s=Math.floor(Math.log(r)*Math.LOG10E);if(t.indexOf(\\".\\")===-1)t=t.charAt(0)+\\".\\"+t.substr(1)+\\"E+\\"+(s-t.length+i);else t+=\\"E+\\"+(s-i);t=t.replace(/\\\\+-/,\\"-\\")}t=t.replace(/^([+-]?)(\\\\d*)\\\\.(\\\\d*)[Ee]/,function(e,r,t,a){return r+t+a.substr(0,(n+i)%n)+\\".\\"+a.substr(i)+\\"E\\"})}else t=r.toExponential(a);if(e.match(/E\\\\+00$/)&&t.match(/e[+-]\\\\d$/))t=t.substr(0,t.length-1)+\\"0\\"+t.charAt(t.length-1);if(e.match(/E\\\\-/)&&t.match(/e\\\\+/))t=t.replace(/e\\\\+/,\\"e\\");return t.replace(\\"e\\",\\"E\\")}function T(e,s,f){if(e.charCodeAt(0)===40&&!s.match(v)){var o=s.replace(/\\\\( */,\\"\\").replace(/ \\\\)/,\\"\\").replace(/\\\\)/,\\"\\");if(f>=0)return T(\\"n\\",o,f);return\\"(\\"+T(\\"n\\",o,-f)+\\")\\"}if(s.charCodeAt(s.length-1)===44)return _(e,s,f);if(s.indexOf(\\"%\\")!==-1)return C(e,s,f);if(s.indexOf(\\"E\\")!==-1)return B(s,f);if(s.charCodeAt(0)===36)return\\"$\\"+T(e,s.substr(s.charAt(1)==\\" \\"?2:1),f);var l;var u,b,w,k=Math.abs(f),E=f<0?\\"-\\":\\"\\";if(s.match(/^00+$/))return E+a(k,s.length);if(s.match(/^[#?]+$/)){l=\\"\\"+f;if(f===0)l=\\"\\";return l.length>s.length?l:m(s.substr(0,s.length-l.length))+l}if(u=s.match(c))return h(u,k,E);if(s.match(/^#+0+$/))return E+a(k,s.length-s.indexOf(\\"0\\"));if(u=s.match(d)){l=(\\"\\"+f).replace(/^([^\\\\.]+)$/,\\"$1.\\"+m(u[1])).replace(/\\\\.$/,\\".\\"+m(u[1]));l=l.replace(/\\\\.(\\\\d*)$/,function(e,r){return\\".\\"+r+t(\\"0\\",m(u[1]).length-r.length)});return s.indexOf(\\"0.\\")!==-1?l:l.replace(/^0\\\\./,\\".\\")}s=s.replace(/^#+([0.])/,\\"$1\\");if(u=s.match(/^(0*)\\\\.(#*)$/)){return E+(\\"\\"+k).replace(/\\\\.(\\\\d*[1-9])0*$/,\\".$1\\").replace(/^(-?\\\\d*)$/,\\"$1.\\").replace(/^0\\\\./,u[1].length?\\"0.\\":\\".\\")}if(u=s.match(/^#{1,3},##0(\\\\.?)$/))return E+A(\\"\\"+k);if(u=s.match(/^#,##0\\\\.([#0]*0)$/)){return f<0?\\"-\\"+T(e,s,-f):A(\\"\\"+f)+\\".\\"+t(\\"0\\",u[1].length)}if(u=s.match(/^#,#*,#0/))return T(e,s.replace(/^#,#*,/,\\"\\"),f);if(u=s.match(/^([0#]+)(\\\\\\\\?-([0#]+))+$/)){l=r(T(e,s.replace(/[\\\\\\\\-]/g,\\"\\"),f));b=0;return r(r(s.replace(/\\\\\\\\/g,\\"\\")).replace(/[0#]/g,function(e){return b<l.length?l.charAt(b++):e===\\"0\\"?\\"0\\":\\"\\"}))}if(s.match(p)){l=T(e,\\"##########\\",f);return\\"(\\"+l.substr(0,3)+\\") \\"+l.substr(3,3)+\\"-\\"+l.substr(6)}var S=\\"\\";if(u=s.match(/^([#0?]+)( ?)\\\\/( ?)([#0?]+)/)){b=Math.min(u[4].length,7);w=g(k,Math.pow(10,b)-1,false);l=\\"\\"+E;S=I(\\"n\\",u[1],w[1]);if(S.charAt(S.length-1)==\\" \\")S=S.substr(0,S.length-1)+\\"0\\";l+=S+u[2]+\\"/\\"+u[3];S=i(w[2],b);if(S.length<u[4].length)S=m(u[4].substr(u[4].length-S.length))+S;l+=S;return l}if(u=s.match(/^# ([#0?]+)( ?)\\\\/( ?)([#0?]+)/)){b=Math.min(Math.max(u[1].length,u[4].length),7);w=g(k,Math.pow(10,b)-1,true);return E+(w[0]||(w[1]?\\"\\":\\"0\\"))+\\" \\"+(w[1]?n(w[1],b)+u[2]+\\"/\\"+u[3]+i(w[2],b):t(\\" \\",2*b+1+u[2].length+u[3].length))}if(u=s.match(/^[#0?]+$/)){l=\\"\\"+f;if(s.length<=l.length)return l;return m(s.substr(0,s.length-l.length))+l}if(u=s.match(/^([#0]+)\\\\.([#0]+)$/)){l=\\"\\"+f.toFixed(Math.min(u[2].length,10)).replace(/([^0])0+$/,\\"$1\\");b=l.indexOf(\\".\\");var y=s.indexOf(\\".\\")-b,x=s.length-l.length-y;return m(s.substr(0,y)+l+s.substr(s.length-x))}if(u=s.match(/^00,000\\\\.([#0]*0)$/)){return f<0?\\"-\\"+T(e,s,-f):A(\\"\\"+f).replace(/^\\\\d,\\\\d{3}$/,\\"0$&\\").replace(/^\\\\d*$/,function(e){return\\"00,\\"+(e.length<3?a(0,3-e.length):\\"\\")+e})+\\".\\"+a(0,u[1].length)}switch(s){case\\"###,###\\":;case\\"##,###\\":;case\\"#,###\\":var R=A(\\"\\"+k);return R!==\\"0\\"?E+R:\\"\\";default:if(s.match(/\\\\.[0#?]*$/))return T(e,s.slice(0,s.lastIndexOf(\\".\\")),f)+m(s.slice(s.lastIndexOf(\\".\\")));}throw new Error(\\"unsupported format |\\"+s+\\"|\\")}return function y(e,r,t){return(t|0)===t?T(e,r,t):S(e,r,t)}}();function R(e){var r=[];var t=false;for(var a=0,n=0;a<e.length;++a)switch(e.charCodeAt(a)){case 34:t=!t;break;case 95:;case 42:;case 92:++a;break;case 59:r[r.length]=e.substr(n,a-n);n=a+1;}r[r.length]=e.substr(n);if(t===true)throw new Error(\\"Format |\\"+e+\\"| unterminated string \\");return r}e._split=R;var O=/\\\\[[HhMmSs\\\\u0E0A\\\\u0E19\\\\u0E17]*\\\\]/;function D(e){var r=0,t=\\"\\",a=\\"\\";while(r<e.length){switch(t=e.charAt(r)){case\\"G\\":if(c(e,r))r+=6;r++;break;case\'\\"\':for(;e.charCodeAt(++r)!==34&&r<e.length;){}++r;break;case\\"\\\\\\\\\\":r+=2;break;case\\"_\\":r+=2;break;case\\"@\\":++r;break;case\\"B\\":;case\\"b\\":if(e.charAt(r+1)===\\"1\\"||e.charAt(r+1)===\\"2\\")return true;case\\"M\\":;case\\"D\\":;case\\"Y\\":;case\\"H\\":;case\\"S\\":;case\\"E\\":;case\\"m\\":;case\\"d\\":;case\\"y\\":;case\\"h\\":;case\\"s\\":;case\\"e\\":;case\\"g\\":return true;case\\"A\\":;case\\"a\\":;case\\"上\\":if(e.substr(r,3).toUpperCase()===\\"A/P\\")return true;if(e.substr(r,5).toUpperCase()===\\"AM/PM\\")return true;if(e.substr(r,5).toUpperCase()===\\"上午/下午\\")return true;++r;break;case\\"[\\":a=t;while(e.charAt(r++)!==\\"]\\"&&r<e.length)a+=e.charAt(r);if(a.match(O))return true;break;case\\".\\":;case\\"0\\":;case\\"#\\":while(r<e.length&&(\\"0#?.,E+-%\\".indexOf(t=e.charAt(++r))>-1||t==\\"\\\\\\\\\\"&&e.charAt(r+1)==\\"-\\"&&\\"0#\\".indexOf(e.charAt(r+2))>-1)){}break;case\\"?\\":while(e.charAt(++r)===t){}break;case\\"*\\":++r;if(e.charAt(r)==\\" \\"||e.charAt(r)==\\"*\\")++r;break;case\\"(\\":;case\\")\\":++r;break;case\\"1\\":;case\\"2\\":;case\\"3\\":;case\\"4\\":;case\\"5\\":;case\\"6\\":;case\\"7\\":;case\\"8\\":;case\\"9\\":while(r<e.length&&\\"0123456789\\".indexOf(e.charAt(++r))>-1){}break;case\\" \\":++r;break;default:++r;break;}}return false}e.is_date=D;function F(e,r,t,a){var n=[],i=\\"\\",s=0,f=\\"\\",o=\\"t\\",l,u,h;var d=\\"H\\";while(s<e.length){switch(f=e.charAt(s)){case\\"G\\":if(!c(e,s))throw new Error(\\"unrecognized character \\"+f+\\" in \\"+e);n[n.length]={t:\\"G\\",v:\\"General\\"};s+=7;break;case\'\\"\':for(i=\\"\\";(h=e.charCodeAt(++s))!==34&&s<e.length;)i+=String.fromCharCode(h);n[n.length]={t:\\"t\\",v:i};++s;break;case\\"\\\\\\\\\\":var v=e.charAt(++s),p=v===\\"(\\"||v===\\")\\"?v:\\"t\\";n[n.length]={t:p,v:v};++s;break;case\\"_\\":n[n.length]={t:\\"t\\",v:\\" \\"};s+=2;break;case\\"@\\":n[n.length]={t:\\"T\\",v:r};++s;break;case\\"B\\":;case\\"b\\":if(e.charAt(s+1)===\\"1\\"||e.charAt(s+1)===\\"2\\"){if(l==null){l=w(r,t,e.charAt(s+1)===\\"2\\");if(l==null)return\\"\\"}n[n.length]={t:\\"X\\",v:e.substr(s,2)};o=f;s+=2;break};case\\"M\\":;case\\"D\\":;case\\"Y\\":;case\\"H\\":;case\\"S\\":;case\\"E\\":f=f.toLowerCase();case\\"m\\":;case\\"d\\":;case\\"y\\":;case\\"h\\":;case\\"s\\":;case\\"e\\":;case\\"g\\":if(r<0)return\\"\\";if(l==null){l=w(r,t);if(l==null)return\\"\\"}i=f;while(++s<e.length&&e.charAt(s).toLowerCase()===f)i+=f;if(f===\\"m\\"&&o.toLowerCase()===\\"h\\")f=\\"M\\";if(f===\\"h\\")f=d;n[n.length]={t:f,v:i};o=f;break;case\\"A\\":;case\\"a\\":;case\\"上\\":var m={t:f,v:f};if(l==null)l=w(r,t);if(e.substr(s,3).toUpperCase()===\\"A/P\\"){if(l!=null)m.v=l.H>=12?\\"P\\":\\"A\\";m.t=\\"T\\";d=\\"h\\";s+=3}else if(e.substr(s,5).toUpperCase()===\\"AM/PM\\"){if(l!=null)m.v=l.H>=12?\\"PM\\":\\"AM\\";m.t=\\"T\\";s+=5;d=\\"h\\"}else if(e.substr(s,5).toUpperCase()===\\"上午/下午\\"){if(l!=null)m.v=l.H>=12?\\"下午\\":\\"上午\\";m.t=\\"T\\";s+=5;d=\\"h\\"}else{m.t=\\"t\\";++s}if(l==null&&m.t===\\"T\\")return\\"\\";n[n.length]=m;o=f;break;case\\"[\\":i=f;while(e.charAt(s++)!==\\"]\\"&&s<e.length)i+=e.charAt(s);if(i.slice(-1)!==\\"]\\")throw\'unterminated \\"[\\" block: |\'+i+\\"|\\";if(i.match(O)){if(l==null){l=w(r,t);if(l==null)return\\"\\"}n[n.length]={t:\\"Z\\",v:i.toLowerCase()};o=i.charAt(1)}else if(i.indexOf(\\"$\\")>-1){i=(i.match(/\\\\$([^-\\\\[\\\\]]*)/)||[])[1]||\\"$\\";if(!D(e))n[n.length]={t:\\"t\\",v:i}}break;case\\".\\":if(l!=null){i=f;while(++s<e.length&&(f=e.charAt(s))===\\"0\\")i+=f;n[n.length]={t:\\"s\\",v:i};break};case\\"0\\":;case\\"#\\":i=f;while(++s<e.length&&\\"0#?.,E+-%\\".indexOf(f=e.charAt(s))>-1)i+=f;n[n.length]={t:\\"n\\",v:i};break;case\\"?\\":i=f;while(e.charAt(++s)===f)i+=f;n[n.length]={t:f,v:i};o=f;break;case\\"*\\":++s;if(e.charAt(s)==\\" \\"||e.charAt(s)==\\"*\\")++s;break;case\\"(\\":;case\\")\\":n[n.length]={t:a===1?\\"t\\":f,v:f};++s;break;case\\"1\\":;case\\"2\\":;case\\"3\\":;case\\"4\\":;case\\"5\\":;case\\"6\\":;case\\"7\\":;case\\"8\\":;case\\"9\\":i=f;while(s<e.length&&\\"0123456789\\".indexOf(e.charAt(++s))>-1)i+=e.charAt(s);n[n.length]={t:\\"D\\",v:i};break;case\\" \\":n[n.length]={t:f,v:f};++s;break;case\\"$\\":n[n.length]={t:\\"t\\",v:\\"$\\"};++s;break;default:if(\\",$-+/():!^&\'~{}<>=€acfijklopqrtuvwxzP\\".indexOf(f)===-1)throw new Error(\\"unrecognized character \\"+f+\\" in \\"+e);n[n.length]={t:\\"t\\",v:f};++s;break;}}var b=0,g=0,k;for(s=n.length-1,o=\\"t\\";s>=0;--s){switch(n[s].t){case\\"h\\":;case\\"H\\":n[s].t=d;o=\\"h\\";if(b<1)b=1;break;case\\"s\\":if(k=n[s].v.match(/\\\\.0+$/))g=Math.max(g,k[0].length-1);if(b<3)b=3;case\\"d\\":;case\\"y\\":;case\\"M\\":;case\\"e\\":o=n[s].t;break;case\\"m\\":if(o===\\"s\\"){n[s].t=\\"M\\";if(b<2)b=2}break;case\\"X\\":break;case\\"Z\\":if(b<1&&n[s].v.match(/[Hh]/))b=1;if(b<2&&n[s].v.match(/[Mm]/))b=2;if(b<3&&n[s].v.match(/[Ss]/))b=3;}}switch(b){case 0:break;case 1:if(l.u>=.5){l.u=0;++l.S}if(l.S>=60){l.S=0;++l.M}if(l.M>=60){l.M=0;++l.H}break;case 2:if(l.u>=.5){l.u=0;++l.S}if(l.S>=60){l.S=0;++l.M}break;}var E=\\"\\",S;for(s=0;s<n.length;++s){switch(n[s].t){case\\"t\\":;case\\"T\\":;case\\" \\":;case\\"D\\":break;case\\"X\\":n[s].v=\\"\\";n[s].t=\\";\\";break;case\\"d\\":;case\\"m\\":;case\\"y\\":;case\\"h\\":;case\\"H\\":;case\\"M\\":;case\\"s\\":;case\\"e\\":;case\\"b\\":;case\\"Z\\":n[s].v=x(n[s].t.charCodeAt(0),n[s].v,l,g);n[s].t=\\"t\\";break;case\\"n\\":;case\\"?\\":S=s+1;while(n[S]!=null&&((f=n[S].t)===\\"?\\"||f===\\"D\\"||(f===\\" \\"||f===\\"t\\")&&n[S+1]!=null&&(n[S+1].t===\\"?\\"||n[S+1].t===\\"t\\"&&n[S+1].v===\\"/\\")||n[s].t===\\"(\\"&&(f===\\" \\"||f===\\"n\\"||f===\\")\\")||f===\\"t\\"&&(n[S].v===\\"/\\"||n[S].v===\\" \\"&&n[S+1]!=null&&n[S+1].t==\\"?\\"))){n[s].v+=n[S].v;n[S]={v:\\"\\",t:\\";\\"};++S}E+=n[s].v;s=S-1;break;case\\"G\\":n[s].t=\\"t\\";n[s].v=T(r,t);break;}}var _=\\"\\",C,B;if(E.length>0){if(E.charCodeAt(0)==40){C=r<0&&E.charCodeAt(0)===45?-r:r;B=I(\\"n\\",E,C)}else{C=r<0&&a>1?-r:r;B=I(\\"n\\",E,C);if(C<0&&n[0]&&n[0].t==\\"t\\"){B=B.substr(1);n[0].v=\\"-\\"+n[0].v}}S=B.length-1;var y=n.length;for(s=0;s<n.length;++s)if(n[s]!=null&&n[s].t!=\\"t\\"&&n[s].v.indexOf(\\".\\")>-1){y=s;break}var A=n.length;if(y===n.length&&B.indexOf(\\"E\\")===-1){for(s=n.length-1;s>=0;--s){if(n[s]==null||\\"n?\\".indexOf(n[s].t)===-1)continue;if(S>=n[s].v.length-1){S-=n[s].v.length;n[s].v=B.substr(S+1,n[s].v.length)}else if(S<0)n[s].v=\\"\\";else{n[s].v=B.substr(0,S+1);S=-1}n[s].t=\\"t\\";A=s}if(S>=0&&A<n.length)n[A].v=B.substr(0,S+1)+n[A].v}else if(y!==n.length&&B.indexOf(\\"E\\")===-1){S=B.indexOf(\\".\\")-1;for(s=y;s>=0;--s){if(n[s]==null||\\"n?\\".indexOf(n[s].t)===-1)continue;u=n[s].v.indexOf(\\".\\")>-1&&s===y?n[s].v.indexOf(\\".\\")-1:n[s].v.length-1;_=n[s].v.substr(u+1);for(;u>=0;--u){if(S>=0&&(n[s].v.charAt(u)===\\"0\\"||n[s].v.charAt(u)===\\"#\\"))_=B.charAt(S--)+_}n[s].v=_;n[s].t=\\"t\\";A=s}if(S>=0&&A<n.length)n[A].v=B.substr(0,S+1)+n[A].v;S=B.indexOf(\\".\\")+1;for(s=y;s<n.length;++s){if(n[s]==null||\\"n?(\\".indexOf(n[s].t)===-1&&s!==y)continue;u=n[s].v.indexOf(\\".\\")>-1&&s===y?n[s].v.indexOf(\\".\\")+1:0;_=n[s].v.substr(0,u);for(;u<n[s].v.length;++u){if(S<B.length)_+=B.charAt(S++)}n[s].v=_;n[s].t=\\"t\\";A=s}}}for(s=0;s<n.length;++s)if(n[s]!=null&&\\"n?\\".indexOf(n[s].t)>-1){C=a>1&&r<0&&s>0&&n[s-1].v===\\"-\\"?-r:r;n[s].v=I(n[s].t,n[s].v,C);n[s].t=\\"t\\"}var R=\\"\\";for(s=0;s!==n.length;++s)if(n[s]!=null)R+=n[s].v;return R}e._eval=F;var P=/\\\\[[=<>]/;var N=/\\\\[(=|>[=]?|<[>=]?)(-?\\\\d+(?:\\\\.\\\\d*)?)\\\\]/;function L(e,r){if(r==null)return false;var t=parseFloat(r[2]);switch(r[1]){case\\"=\\":if(e==t)return true;break;case\\">\\":if(e>t)return true;break;case\\"<\\":if(e<t)return true;break;case\\"<>\\":if(e!=t)return true;break;case\\">=\\":if(e>=t)return true;break;case\\"<=\\":if(e<=t)return true;break;}return false}function M(e,r){var t=R(e);var a=t.length,n=t[a-1].indexOf(\\"@\\");if(a<4&&n>-1)--a;if(t.length>4)throw new Error(\\"cannot find right format for |\\"+t.join(\\"|\\")+\\"|\\");if(typeof r!==\\"number\\")return[4,t.length===4||n>-1?t[t.length-1]:\\"@\\"];switch(t.length){case 1:t=n>-1?[\\"General\\",\\"General\\",\\"General\\",t[0]]:[t[0],t[0],t[0],\\"@\\"];break;case 2:t=n>-1?[t[0],t[0],t[0],t[1]]:[t[0],t[1],t[0],\\"@\\"];break;case 3:t=n>-1?[t[0],t[1],t[0],t[2]]:[t[0],t[1],t[2],\\"@\\"];break;case 4:break;}var i=r>0?t[0]:r<0?t[1]:t[2];if(t[0].indexOf(\\"[\\")===-1&&t[1].indexOf(\\"[\\")===-1)return[a,i];if(t[0].match(P)!=null||t[1].match(P)!=null){var s=t[0].match(N);var f=t[1].match(N);return L(r,s)?[a,t[0]]:L(r,f)?[a,t[1]]:[a,t[s!=null&&f!=null?2:1]]}return[a,i]}function U(e,r,t){if(t==null)t={};var a=\\"\\";switch(typeof e){case\\"string\\":if(e==\\"m/d/yy\\"&&t.dateNF)a=t.dateNF;else a=e;break;case\\"number\\":if(e==14&&t.dateNF)a=t.dateNF;else a=(t.table!=null?t.table:v)[e];if(a==null)a=t.table&&t.table[p[e]]||v[p[e]];if(a==null)a=b[e]||\\"General\\";break;}if(c(a,0))return T(r,t);if(r instanceof Date)r=_(r,t.date1904);var n=M(a,r);if(c(n[1]))return T(r,t);if(r===true)r=\\"TRUE\\";else if(r===false)r=\\"FALSE\\";else if(r===\\"\\"||r==null)return\\"\\";return F(n[1],r,t,n[0])}function z(e,r){if(typeof r!=\\"number\\"){r=+r||-1;for(var t=0;t<392;++t){if(v[t]==undefined){if(r<0)r=t;continue}if(v[t]==e){r=t;break}}if(r<0)r=391}v[r]=e;return r}e.load=z;e._table=v;e.get_table=function V(){return v};e.load_table=function X(e){for(var r=0;r!=392;++r)if(e[r]!==undefined)z(e[r],r)};e.init_table=d;e.format=U};F(D);var P={\\"General Number\\":\\"General\\",\\"General Date\\":D._table[22],\\"Long Date\\":\\"dddd, mmmm dd, yyyy\\",\\"Medium Date\\":D._table[15],\\"Short Date\\":D._table[14],\\"Long Time\\":D._table[19],\\"Medium Time\\":D._table[18],\\"Short Time\\":D._table[20],Currency:\'\\"$\\"#,##0.00_);[Red]\\\\\\\\(\\"$\\"#,##0.00\\\\\\\\)\',Fixed:D._table[2],Standard:D._table[4],Percent:D._table[10],Scientific:D._table[11],\\"Yes/No\\":\'\\"Yes\\";\\"Yes\\";\\"No\\";@\',\\"True/False\\":\'\\"True\\";\\"True\\";\\"False\\";@\',\\"On/Off\\":\'\\"Yes\\";\\"Yes\\";\\"No\\";@\'};var N={5:\'\\"$\\"#,##0_);\\\\\\\\(\\"$\\"#,##0\\\\\\\\)\',6:\'\\"$\\"#,##0_);[Red]\\\\\\\\(\\"$\\"#,##0\\\\\\\\)\',7:\'\\"$\\"#,##0.00_);\\\\\\\\(\\"$\\"#,##0.00\\\\\\\\)\',8:\'\\"$\\"#,##0.00_);[Red]\\\\\\\\(\\"$\\"#,##0.00\\\\\\\\)\',23:\\"General\\",24:\\"General\\",25:\\"General\\",26:\\"General\\",27:\\"m/d/yy\\",28:\\"m/d/yy\\",29:\\"m/d/yy\\",30:\\"m/d/yy\\",31:\\"m/d/yy\\",32:\\"h:mm:ss\\",33:\\"h:mm:ss\\",34:\\"h:mm:ss\\",35:\\"h:mm:ss\\",36:\\"m/d/yy\\",41:\'_(* #,##0_);_(* (#,##0);_(* \\"-\\"_);_(@_)\',42:\'_(\\"$\\"* #,##0_);_(\\"$\\"* (#,##0);_(\\"$\\"* \\"-\\"_);_(@_)\',43:\'_(* #,##0.00_);_(* (#,##0.00);_(* \\"-\\"??_);_(@_)\',44:\'_(\\"$\\"* #,##0.00_);_(\\"$\\"* (#,##0.00);_(\\"$\\"* \\"-\\"??_);_(@_)\',50:\\"m/d/yy\\",51:\\"m/d/yy\\",52:\\"m/d/yy\\",53:\\"m/d/yy\\",54:\\"m/d/yy\\",55:\\"m/d/yy\\",56:\\"m/d/yy\\",57:\\"m/d/yy\\",58:\\"m/d/yy\\",59:\\"0\\",60:\\"0.00\\",61:\\"#,##0\\",62:\\"#,##0.00\\",63:\'\\"$\\"#,##0_);\\\\\\\\(\\"$\\"#,##0\\\\\\\\)\',64:\'\\"$\\"#,##0_);[Red]\\\\\\\\(\\"$\\"#,##0\\\\\\\\)\',65:\'\\"$\\"#,##0.00_);\\\\\\\\(\\"$\\"#,##0.00\\\\\\\\)\',66:\'\\"$\\"#,##0.00_);[Red]\\\\\\\\(\\"$\\"#,##0.00\\\\\\\\)\',67:\\"0%\\",68:\\"0.00%\\",69:\\"# ?/?\\",70:\\"# ??/??\\",71:\\"m/d/yy\\",72:\\"m/d/yy\\",73:\\"d-mmm-yy\\",74:\\"d-mmm\\",75:\\"mmm-yy\\",76:\\"h:mm\\",77:\\"h:mm:ss\\",78:\\"m/d/yy h:mm\\",79:\\"mm:ss\\",80:\\"[h]:mm:ss\\",81:\\"mmss.0\\"};var L=/[dD]+|[mM]+|[yYeE]+|[Hh]+|[Ss]+/g;function M(e){var r=typeof e==\\"number\\"?D._table[e]:e;r=r.replace(L,\\"(\\\\\\\\d+)\\");return new RegExp(\\"^\\"+r+\\"$\\")}function U(e,r,t){var a=-1,n=-1,i=-1,s=-1,f=-1,o=-1;(r.match(L)||[]).forEach(function(e,r){var l=parseInt(t[r+1],10);switch(e.toLowerCase().charAt(0)){case\\"y\\":a=l;break;case\\"d\\":i=l;break;case\\"h\\":s=l;break;case\\"s\\":o=l;break;case\\"m\\":if(s>=0)f=l;else n=l;break;}});if(o>=0&&f==-1&&n>=0){f=n;n=-1}var l=(\\"\\"+(a>=0?a:(new Date).getFullYear())).slice(-4)+\\"-\\"+(\\"00\\"+(n>=1?n:1)).slice(-2)+\\"-\\"+(\\"00\\"+(i>=1?i:1)).slice(-2);if(l.length==7)l=\\"0\\"+l;if(l.length==8)l=\\"20\\"+l;var c=(\\"00\\"+(s>=0?s:0)).slice(-2)+\\":\\"+(\\"00\\"+(f>=0?f:0)).slice(-2)+\\":\\"+(\\"00\\"+(o>=0?o:0)).slice(-2);if(s==-1&&f==-1&&o==-1)return l;if(a==-1&&n==-1&&i==-1)return c;return l+\\"T\\"+c}var z=true;var H;(function(e){e(H={})})(function(e){e.version=\\"1.2.0\\";function r(){var e=0,r=new Array(256);for(var t=0;t!=256;++t){e=t;e=e&1?-306674912^e>>>1:e>>>1;e=e&1?-306674912^e>>>1:e>>>1;e=e&1?-306674912^e>>>1:e>>>1;e=e&1?-306674912^e>>>1:e>>>1;e=e&1?-306674912^e>>>1:e>>>1;e=e&1?-306674912^e>>>1:e>>>1;e=e&1?-306674912^e>>>1:e>>>1;e=e&1?-306674912^e>>>1:e>>>1;r[t]=e}return typeof Int32Array!==\\"undefined\\"?new Int32Array(r):r}var t=r();function a(e,r){var a=r^-1,n=e.length-1;for(var i=0;i<n;){a=a>>>8^t[(a^e.charCodeAt(i++))&255];a=a>>>8^t[(a^e.charCodeAt(i++))&255]}if(i===n)a=a>>>8^t[(a^e.charCodeAt(i))&255];return a^-1}function n(e,r){if(e.length>1e4)return i(e,r);var a=r^-1,n=e.length-3;for(var s=0;s<n;){a=a>>>8^t[(a^e[s++])&255];a=a>>>8^t[(a^e[s++])&255];a=a>>>8^t[(a^e[s++])&255];a=a>>>8^t[(a^e[s++])&255]}while(s<n+3)a=a>>>8^t[(a^e[s++])&255];return a^-1}function i(e,r){var a=r^-1,n=e.length-7;for(var i=0;i<n;){a=a>>>8^t[(a^e[i++])&255];a=a>>>8^t[(a^e[i++])&255];a=a>>>8^t[(a^e[i++])&255];a=a>>>8^t[(a^e[i++])&255];a=a>>>8^t[(a^e[i++])&255];a=a>>>8^t[(a^e[i++])&255];a=a>>>8^t[(a^e[i++])&255];a=a>>>8^t[(a^e[i++])&255]}while(i<n+7)a=a>>>8^t[(a^e[i++])&255];return a^-1}function s(e,r){var a=r^-1;for(var n=0,i=e.length,s,f;n<i;){s=e.charCodeAt(n++);if(s<128){a=a>>>8^t[(a^s)&255]}else if(s<2048){a=a>>>8^t[(a^(192|s>>6&31))&255];a=a>>>8^t[(a^(128|s&63))&255]}else if(s>=55296&&s<57344){s=(s&1023)+64;f=e.charCodeAt(n++)&1023;a=a>>>8^t[(a^(240|s>>8&7))&255];a=a>>>8^t[(a^(128|s>>2&63))&255];a=a>>>8^t[(a^(128|f>>6&15|(s&3)<<4))&255];a=a>>>8^t[(a^(128|f&63))&255]}else{a=a>>>8^t[(a^(224|s>>12&15))&255];a=a>>>8^t[(a^(128|s>>6&63))&255];a=a>>>8^t[(a^(128|s&63))&255]}}return a^-1}e.table=t;e.bstr=a;e.buf=n;e.str=s});var W=function bb(){var e={};e.version=\\"1.1.4\\";function r(e,r){var t=e.split(\\"/\\"),a=r.split(\\"/\\");for(var n=0,i=0,s=Math.min(t.length,a.length);n<s;++n){if(i=t[n].length-a[n].length)return i;if(t[n]!=a[n])return t[n]<a[n]?-1:1}return t.length-a.length}function t(e){if(e.charAt(e.length-1)==\\"/\\")return e.slice(0,-1).indexOf(\\"/\\")===-1?e:t(e.slice(0,-1));var r=e.lastIndexOf(\\"/\\");return r===-1?e:e.slice(0,r+1)}function a(e){if(e.charAt(e.length-1)==\\"/\\")return a(e.slice(0,-1));var r=e.lastIndexOf(\\"/\\");return r===-1?e:e.slice(r+1)}function n(e,r){if(typeof r===\\"string\\")r=new Date(r);var t=r.getHours();t=t<<6|r.getMinutes();t=t<<5|r.getSeconds()>>>1;e._W(2,t);var a=r.getFullYear()-1980;a=a<<4|r.getMonth()+1;a=a<<5|r.getDate();e._W(2,a)}function i(e){var r=e._R(2)&65535;var t=e._R(2)&65535;var a=new Date;var n=t&31;t>>>=5;var i=t&15;t>>>=4;a.setMilliseconds(0);a.setFullYear(t+1980);a.setMonth(i-1);a.setDate(n);var s=r&31;r>>>=5;var f=r&63;r>>>=6;a.setHours(r);a.setMinutes(f);a.setSeconds(s<<1);return a}function s(e){Yr(e,0);var r={};var t=0;while(e.l<=e.length-4){var a=e._R(2);var n=e._R(2),i=e.l+n;var s={};switch(a){case 21589:{t=e._R(1);if(t&1)s.mtime=e._R(4);if(n>5){if(t&2)s.atime=e._R(4);if(t&4)s.ctime=e._R(4)}if(s.mtime)s.mt=new Date(s.mtime*1e3)}break;}e.l=i;r[a]=s}return r}var f;function o(){return f||(f=require(\\"fs\\"))}function l(e,r){if(e[0]==80&&e[1]==75)return Te(e,r);if(e.length<512)throw new Error(\\"CFB file size \\"+e.length+\\" < 512\\");var t=3;var a=512;var n=0;var i=0;var s=0;var f=0;var o=0;var l=[];var v=e.slice(0,512);Yr(v,0);var m=c(v);t=m[0];switch(t){case 3:a=512;break;case 4:a=4096;break;case 0:if(m[1]==0)return Te(e,r);default:throw new Error(\\"Major Version: Expected 3 or 4 saw \\"+t);}if(a!==512){v=e.slice(0,a);Yr(v,28)}var g=e.slice(0,a);u(v,t);var w=v._R(4,\\"i\\");if(t===3&&w!==0)throw new Error(\\"# Directory Sectors: Expected 0 saw \\"+w);v.l+=4;s=v._R(4,\\"i\\");v.l+=4;v.chk(\\"00100000\\",\\"Mini Stream Cutoff Size: \\");f=v._R(4,\\"i\\");n=v._R(4,\\"i\\");o=v._R(4,\\"i\\");i=v._R(4,\\"i\\");for(var E=-1,S=0;S<109;++S){E=v._R(4,\\"i\\");if(E<0)break;l[S]=E}var _=h(e,a);p(o,i,_,a,l);var C=b(_,s,l,a);C[s].name=\\"!Directory\\";if(n>0&&f!==N)C[f].name=\\"!MiniFAT\\";C[l[0]].name=\\"!FAT\\";C.fat_addrs=l;C.ssz=a;var B={},T=[],y=[],x=[];k(s,C,_,T,n,B,y,f);d(y,x,T);T.shift();var A={FileIndex:y,FullPaths:x};if(r&&r.raw)A.raw={header:g,sectors:_};return A}function c(e){if(e[e.l]==80&&e[e.l+1]==75)return[0,0];e.chk(L,\\"Header Signature: \\");e.l+=16;var r=e._R(2,\\"u\\");return[e._R(2,\\"u\\"),r]}function u(e,r){var t=9;e.l+=2;switch(t=e._R(2)){case 9:if(r!=3)throw new Error(\\"Sector Shift: Expected 9 saw \\"+t);break;case 12:if(r!=4)throw new Error(\\"Sector Shift: Expected 12 saw \\"+t);break;default:throw new Error(\\"Sector Shift: Expected 9 or 12 saw \\"+t);}e.chk(\\"0600\\",\\"Mini Sector Shift: \\");e.chk(\\"000000000000\\",\\"Reserved: \\")}function h(e,r){var t=Math.ceil(e.length/r)-1;var a=[];for(var n=1;n<t;++n)a[n-1]=e.slice(n*r,(n+1)*r);a[t-1]=e.slice(t*r);return a}function d(e,r,t){var a=0,n=0,i=0,s=0,f=0,o=t.length;var l=[],c=[];for(;a<o;++a){l[a]=c[a]=a;r[a]=t[a]}for(;f<c.length;++f){a=c[f];n=e[a].L;i=e[a].R;s=e[a].C;if(l[a]===a){if(n!==-1&&l[n]!==n)l[a]=l[n];if(i!==-1&&l[i]!==i)l[a]=l[i]}if(s!==-1)l[s]=a;if(n!==-1&&a!=l[a]){l[n]=l[a];if(c.lastIndexOf(n)<f)c.push(n)}if(i!==-1&&a!=l[a]){l[i]=l[a];if(c.lastIndexOf(i)<f)c.push(i)}}for(a=1;a<o;++a)if(l[a]===a){if(i!==-1&&l[i]!==i)l[a]=l[i];else if(n!==-1&&l[n]!==n)l[a]=l[n]}for(a=1;a<o;++a){if(e[a].type===0)continue;f=a;if(f!=l[f])do{f=l[f];r[a]=r[f]+\\"/\\"+r[a]}while(f!==0&&-1!==l[f]&&f!=l[f]);l[a]=-1}r[0]+=\\"/\\";for(a=1;a<o;++a){if(e[a].type!==2)r[a]+=\\"/\\"}}function v(e,r,t){var a=e.start,n=e.size;var i=[];var s=a;while(t&&n>0&&s>=0){i.push(r.slice(s*P,s*P+P));n-=P;s=Hr(t,s*4)}if(i.length===0)return Jr(0);return I(i).slice(0,e.size)}function p(e,r,t,a,n){var i=N;if(e===N){if(r!==0)throw new Error(\\"DIFAT chain shorter than expected\\")}else if(e!==-1){var s=t[e],f=(a>>>2)-1;if(!s)return;for(var o=0;o<f;++o){if((i=Hr(s,o*4))===N)break;n.push(i)}p(Hr(s,a-4),r-1,t,a,n)}}function m(e,r,t,a,n){var i=[],s=[];if(!n)n=[];var f=a-1,o=0,l=0;for(o=r;o>=0;){n[o]=true;i[i.length]=o;s.push(e[o]);var c=t[Math.floor(o*4/a)];l=o*4&f;if(a<4+l)throw new Error(\\"FAT boundary crossed: \\"+o+\\" 4 \\"+a);if(!e[c])break;o=Hr(e[c],l)}return{nodes:i,data:mr([s])}}function b(e,r,t,a){var n=e.length,i=[];var s=[],f=[],o=[];var l=a-1,c=0,u=0,h=0,d=0;for(c=0;c<n;++c){f=[];h=c+r;if(h>=n)h-=n;if(s[h])continue;o=[];var v=[];for(u=h;u>=0;){v[u]=true;s[u]=true;f[f.length]=u;o.push(e[u]);var p=t[Math.floor(u*4/a)];d=u*4&l;if(a<4+d)throw new Error(\\"FAT boundary crossed: \\"+u+\\" 4 \\"+a);if(!e[p])break;u=Hr(e[p],d);if(v[u])break}i[h]={nodes:f,data:mr([o])}}return i}function k(e,r,t,a,n,i,s,f){var o=0,l=a.length?2:0;var c=r[e].data;var u=0,h=0,d;for(;u<c.length;u+=128){var p=c.slice(u,u+128);Yr(p,64);h=p._R(2);d=gr(p,0,h-l);a.push(d);var b={name:d,type:p._R(1),color:p._R(1),L:p._R(4,\\"i\\"),R:p._R(4,\\"i\\"),C:p._R(4,\\"i\\"),clsid:p._R(16),state:p._R(4,\\"i\\"),start:0,size:0};var g=p._R(2)+p._R(2)+p._R(2)+p._R(2);if(g!==0)b.ct=E(p,p.l-8);var w=p._R(2)+p._R(2)+p._R(2)+p._R(2);if(w!==0)b.mt=E(p,p.l-8);b.start=p._R(4,\\"i\\");b.size=p._R(4,\\"i\\");if(b.size<0&&b.start<0){b.size=b.type=0;b.start=N;b.name=\\"\\"}if(b.type===5){o=b.start;if(n>0&&o!==N)r[o].name=\\"!StreamData\\"}else if(b.size>=4096){b.storage=\\"fat\\";if(r[b.start]===undefined)r[b.start]=m(t,b.start,r.fat_addrs,r.ssz);r[b.start].name=b.name;b.content=r[b.start].data.slice(0,b.size)}else{b.storage=\\"minifat\\";if(b.size<0)b.size=0;else if(o!==N&&b.start!==N&&r[o]){b.content=v(b,r[o].data,(r[f]||{}).data)}}if(b.content)Yr(b.content,0);i[d]=b;s.push(b)}}function E(e,r){return new Date((zr(e,r+4)/1e7*Math.pow(2,32)+zr(e,r)/1e7-11644473600)*1e3)}function S(e,r){o();return l(f.readFileSync(e),r)}function T(e,r){switch(r&&r.type||\\"base64\\"){case\\"file\\":return S(e,r);case\\"base64\\":return l(B(g.decode(e)),r);case\\"binary\\":return l(B(e),r);}return l(e,r)}function y(e,r){var t=r||{},a=t.root||\\"Root Entry\\";if(!e.FullPaths)e.FullPaths=[];if(!e.FileIndex)e.FileIndex=[];if(e.FullPaths.length!==e.FileIndex.length)throw new Error(\\"inconsistent CFB structure\\");if(e.FullPaths.length===0){e.FullPaths[0]=a+\\"/\\";e.FileIndex[0]={name:a,type:5}}if(t.CLSID)e.FileIndex[0].clsid=t.CLSID;x(e)}function x(e){var r=\\"\\u0001Sh33tJ5\\";if(W.find(e,\\"/\\"+r))return;var t=Jr(4);t[0]=55;t[1]=t[3]=50;t[2]=54;e.FileIndex.push({name:r,type:2,content:t,size:4,L:69,R:69,C:69});e.FullPaths.push(e.FullPaths[0]+r);A(e)}function A(e,n){y(e);var i=false,s=false;for(var f=e.FullPaths.length-1;f>=0;--f){var o=e.FileIndex[f];switch(o.type){case 0:if(s)i=true;else{e.FileIndex.pop();e.FullPaths.pop()}break;case 1:;case 2:;case 5:s=true;if(isNaN(o.R*o.L*o.C))i=true;if(o.R>-1&&o.L>-1&&o.R==o.L)i=true;break;default:i=true;break;}}if(!i&&!n)return;var l=new Date(1987,1,19),c=0;var u=[];for(f=0;f<e.FullPaths.length;++f){if(e.FileIndex[f].type===0)continue;u.push([e.FullPaths[f],e.FileIndex[f]])}for(f=0;f<u.length;++f){var h=t(u[f][0]);s=false;for(c=0;c<u.length;++c)if(u[c][0]===h)s=true;if(!s)u.push([h,{name:a(h).replace(\\"/\\",\\"\\"),type:1,clsid:U,ct:l,mt:l,content:null}])}u.sort(function(e,t){return r(e[0],t[0])});e.FullPaths=[];e.FileIndex=[];for(f=0;f<u.length;++f){e.FullPaths[f]=u[f][0];e.FileIndex[f]=u[f][1]}for(f=0;f<u.length;++f){var d=e.FileIndex[f];var v=e.FullPaths[f];d.name=a(v).replace(\\"/\\",\\"\\");d.L=d.R=d.C=-(d.color=1);d.size=d.content?d.content.length:0;d.start=0;d.clsid=d.clsid||U;if(f===0){d.C=u.length>1?1:-1;d.size=0;d.type=5}else if(v.slice(-1)==\\"/\\"){for(c=f+1;c<u.length;++c)if(t(e.FullPaths[c])==v)break;d.C=c>=u.length?-1:c;for(c=f+1;c<u.length;++c)if(t(e.FullPaths[c])==t(v))break;d.R=c>=u.length?-1:c;d.type=1}else{if(t(e.FullPaths[f+1]||\\"\\")==t(v))d.R=f+1;d.type=2}}}function D(e,r){var t=r||{};A(e);if(t.fileType==\\"zip\\")return xe(e,t);var a=function(e){var r=0,t=0;for(var a=0;a<e.FileIndex.length;++a){var n=e.FileIndex[a];if(!n.content)continue;var i=n.content.length;if(i>0){if(i<4096)r+=i+63>>6;else t+=i+511>>9}}var s=e.FullPaths.length+3>>2;var f=r+7>>3;var o=r+127>>7;var l=f+t+s+o;var c=l+127>>7;var u=c<=109?0:Math.ceil((c-109)/127);while(l+c+u+127>>7>c)u=++c<=109?0:Math.ceil((c-109)/127);var h=[1,u,c,o,s,t,r,0];e.FileIndex[0].size=r<<6;h[7]=(e.FileIndex[0].start=h[0]+h[1]+h[2]+h[3]+h[4]+h[5])+(h[6]+7>>3);return h}(e);var n=Jr(a[7]<<9);var i=0,s=0;{for(i=0;i<8;++i)n._W(1,M[i]);for(i=0;i<8;++i)n._W(2,0);n._W(2,62);n._W(2,3);n._W(2,65534);n._W(2,9);n._W(2,6);for(i=0;i<3;++i)n._W(2,0);n._W(4,0);n._W(4,a[2]);n._W(4,a[0]+a[1]+a[2]+a[3]-1);n._W(4,0);n._W(4,1<<12);n._W(4,a[3]?a[0]+a[1]+a[2]-1:N);n._W(4,a[3]);n._W(-4,a[1]?a[0]-1:N);n._W(4,a[1]);for(i=0;i<109;++i)n._W(-4,i<a[2]?a[1]+i:-1)}if(a[1]){for(s=0;s<a[1];++s){for(;i<236+s*127;++i)n._W(-4,i<a[2]?a[1]+i:-1);n._W(-4,s===a[1]-1?N:s+1)}}var f=function(e){for(s+=e;i<s-1;++i)n._W(-4,i+1);if(e){++i;n._W(-4,N)}};s=i=0;for(s+=a[1];i<s;++i)n._W(-4,z.DIFSECT);for(s+=a[2];i<s;++i)n._W(-4,z.FATSECT);f(a[3]);f(a[4]);var o=0,l=0;var c=e.FileIndex[0];for(;o<e.FileIndex.length;++o){c=e.FileIndex[o];if(!c.content)continue;l=c.content.length;if(l<4096)continue;c.start=s;f(l+511>>9)}f(a[6]+7>>3);while(n.l&511)n._W(-4,z.ENDOFCHAIN);s=i=0;for(o=0;o<e.FileIndex.length;++o){c=e.FileIndex[o];if(!c.content)continue;l=c.content.length;if(!l||l>=4096)continue;c.start=s;f(l+63>>6)}while(n.l&511)n._W(-4,z.ENDOFCHAIN);for(i=0;i<a[4]<<2;++i){var u=e.FullPaths[i];if(!u||u.length===0){for(o=0;o<17;++o)n._W(4,0);for(o=0;o<3;++o)n._W(4,-1);for(o=0;o<12;++o)n._W(4,0);continue}c=e.FileIndex[i];if(i===0)c.start=c.size?c.start-1:N;var h=i===0&&t.root||c.name;l=2*(h.length+1);n._W(64,h,\\"utf16le\\");n._W(2,l);n._W(1,c.type);n._W(1,c.color);n._W(-4,c.L);n._W(-4,c.R);n._W(-4,c.C);if(!c.clsid)for(o=0;o<4;++o)n._W(4,0);else n._W(16,c.clsid,\\"hex\\");n._W(4,c.state||0);n._W(4,0);n._W(4,0);n._W(4,0);n._W(4,0);n._W(4,c.start);n._W(4,c.size);n._W(4,0)}for(i=1;i<e.FileIndex.length;++i){c=e.FileIndex[i];if(c.size>=4096){n.l=c.start+1<<9;for(o=0;o<c.size;++o)n._W(1,c.content[o]);for(;o&511;++o)n._W(1,0)}}for(i=1;i<e.FileIndex.length;++i){c=e.FileIndex[i];if(c.size>0&&c.size<4096){for(o=0;o<c.size;++o)n._W(1,c.content[o]);for(;o&63;++o)n._W(1,0)}}while(n.l<n.length)n._W(1,0);return n}function F(e,r){var t=e.FullPaths.map(function(e){return e.toUpperCase()});var a=t.map(function(e){var r=e.split(\\"/\\");return r[r.length-(e.slice(-1)==\\"/\\"?2:1)]});var n=false;if(r.charCodeAt(0)===47){n=true;r=t[0].slice(0,-1)+r}else n=r.indexOf(\\"/\\")!==-1;var i=r.toUpperCase();var s=n===true?t.indexOf(i):a.indexOf(i);if(s!==-1)return e.FileIndex[s];var f=!i.match(O);i=i.replace(R,\\"\\");if(f)i=i.replace(O,\\"!\\");for(s=0;s<t.length;++s){if((f?t[s].replace(O,\\"!\\"):t[s]).replace(R,\\"\\")==i)return e.FileIndex[s];if((f?a[s].replace(O,\\"!\\"):a[s]).replace(R,\\"\\")==i)return e.FileIndex[s]}return null}var P=64;var N=-2;var L=\\"d0cf11e0a1b11ae1\\";var M=[208,207,17,224,161,177,26,225];var U=\\"00000000000000000000000000000000\\";var z={MAXREGSECT:-6,DIFSECT:-4,FATSECT:-3,ENDOFCHAIN:N,FREESECT:-1,HEADER_SIGNATURE:L,HEADER_MINOR_VERSION:\\"3e00\\",MAXREGSID:-6,NOSTREAM:-1,HEADER_CLSID:U,EntryTypes:[\\"unknown\\",\\"storage\\",\\"stream\\",\\"lockbytes\\",\\"property\\",\\"root\\"]};function V(e,r,t){o();var a=D(e,t);f.writeFileSync(r,a)}function X(e){var r=new Array(e.length);for(var t=0;t<e.length;++t)r[t]=String.fromCharCode(e[t]);return r.join(\\"\\")}function G(e,r){var t=D(e,r);switch(r&&r.type){case\\"file\\":o();f.writeFileSync(r.filename,t);return t;case\\"binary\\":return X(t);case\\"base64\\":return g.encode(X(t));}return t}var j;function K(e){try{var r=e.InflateRaw;var t=new r;t._processChunk(new Uint8Array([3,0]),t._finishFlushFlag);if(t.bytesRead)j=e;else throw new Error(\\"zlib does not expose bytesRead\\")}catch(a){console.error(\\"cannot use native zlib: \\"+(a.message||a))}}function $(e,r){if(!j)return Ce(e,r);var t=j.InflateRaw;var a=new t;var n=a._processChunk(e.slice(e.l),a._finishFlushFlag);e.l+=a.bytesRead;return n}function Y(e){return j?j.deflateRawSync(e):he(e)}var Z=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15];var J=[3,4,5,6,7,8,9,10,11,13,15,17,19,23,27,31,35,43,51,59,67,83,99,115,131,163,195,227,258];var Q=[1,2,3,4,5,7,9,13,17,25,33,49,65,97,129,193,257,385,513,769,1025,1537,2049,3073,4097,6145,8193,12289,16385,24577];function q(e){var r=(e<<1|e<<11)&139536|(e<<5|e<<15)&558144;return(r>>16|r>>8|r)&255}var ee=typeof Uint8Array!==\\"undefined\\";var re=ee?new Uint8Array(1<<8):[];for(var te=0;te<1<<8;++te)re[te]=q(te);function ae(e,r){var t=re[e&255];if(r<=8)return t>>>8-r;t=t<<8|re[e>>8&255];if(r<=16)return t>>>16-r;t=t<<8|re[e>>16&255];return t>>>24-r}function ne(e,r){var t=r&7,a=r>>>3;return(e[a]|(t<=6?0:e[a+1]<<8))>>>t&3}function ie(e,r){var t=r&7,a=r>>>3;return(e[a]|(t<=5?0:e[a+1]<<8))>>>t&7}function se(e,r){var t=r&7,a=r>>>3;return(e[a]|(t<=4?0:e[a+1]<<8))>>>t&15}function fe(e,r){var t=r&7,a=r>>>3;return(e[a]|(t<=3?0:e[a+1]<<8))>>>t&31}function oe(e,r){var t=r&7,a=r>>>3;return(e[a]|(t<=1?0:e[a+1]<<8))>>>t&127}function le(e,r,t){var a=r&7,n=r>>>3,i=(1<<t)-1;var s=e[n]>>>a;if(t<8-a)return s&i;s|=e[n+1]<<8-a;if(t<16-a)return s&i;s|=e[n+2]<<16-a;if(t<24-a)return s&i;s|=e[n+3]<<24-a;return s&i}function ce(e,r){var t=e.length,a=2*t>r?2*t:r+5,n=0;if(t>=r)return e;if(w){var i=C(a);if(e.copy)e.copy(i);else for(;n<e.length;++n)i[n]=e[n];return i}else if(ee){var s=new Uint8Array(a);if(s.set)s.set(e);else for(;n<e.length;++n)s[n]=e[n];return s}e.length=a;return e}function ue(e){var r=new Array(e);for(var t=0;t<e;++t)r[t]=0;return r}var he=function(){var e=function(){return function e(r,t){var a=0;while(a<r.length){var n=Math.min(65535,r.length-a);var i=a+n==r.length;t._W(1,+i);t._W(2,n);t._W(2,~n&65535);while(n-- >0)t[t.l++]=r[a++]}return t.l}}();return function(r){var t=Jr(50+Math.floor(r.length*1.1));var a=e(r,t);return t.slice(0,a)}}();function de(e,r,t){var a=1,n=0,i=0,s=0,f=0,o=e.length;var l=ee?new Uint16Array(32):ue(32);for(i=0;i<32;++i)l[i]=0;for(i=o;i<t;++i)e[i]=0;o=e.length;var c=ee?new Uint16Array(o):ue(o);for(i=0;i<o;++i){l[n=e[i]]++;if(a<n)a=n;c[i]=0}l[0]=0;for(i=1;i<=a;++i)l[i+16]=f=f+l[i-1]<<1;for(i=0;i<o;++i){f=e[i];if(f!=0)c[i]=l[f+16]++}var u=0;for(i=0;i<o;++i){u=e[i];if(u!=0){f=ae(c[i],a)>>a-u;for(s=(1<<a+4-u)-1;s>=0;--s)r[f|s<<u]=u&15|i<<4}}return a}var ve=ee?new Uint16Array(512):ue(512);var pe=ee?new Uint16Array(32):ue(32);if(!ee){for(var me=0;me<512;++me)ve[me]=0;for(me=0;me<32;++me)pe[me]=0}(function(){var e=[];var r=0;for(;r<32;r++)e.push(5);de(e,pe,32);var t=[];r=0;for(;r<=143;r++)t.push(8);for(;r<=255;r++)t.push(9);for(;r<=279;r++)t.push(7);for(;r<=287;r++)t.push(8);de(t,ve,288)})();var be=ee?new Uint16Array(32768):ue(32768);var ge=ee?new Uint16Array(32768):ue(32768);var we=ee?new Uint16Array(128):ue(128);var ke=1,Ee=1;function Se(e,r){var t=fe(e,r)+257;r+=5;var a=fe(e,r)+1;r+=5;var n=se(e,r)+4;r+=4;var i=0;var s=ee?new Uint8Array(19):ue(19);var f=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0];var o=1;var l=ee?new Uint8Array(8):ue(8);var c=ee?new Uint8Array(8):ue(8);var u=s.length;for(var h=0;h<n;++h){s[Z[h]]=i=ie(e,r);if(o<i)o=i;l[i]++;r+=3}var d=0;l[0]=0;for(h=1;h<=o;++h)c[h]=d=d+l[h-1]<<1;for(h=0;h<u;++h)if((d=s[h])!=0)f[h]=c[d]++;\\nvar v=0;for(h=0;h<u;++h){v=s[h];if(v!=0){d=re[f[h]]>>8-v;for(var p=(1<<7-v)-1;p>=0;--p)we[d|p<<v]=v&7|h<<3}}var m=[];o=1;for(;m.length<t+a;){d=we[oe(e,r)];r+=d&7;switch(d>>>=3){case 16:i=3+ne(e,r);r+=2;d=m[m.length-1];while(i-- >0)m.push(d);break;case 17:i=3+ie(e,r);r+=3;while(i-- >0)m.push(0);break;case 18:i=11+oe(e,r);r+=7;while(i-- >0)m.push(0);break;default:m.push(d);if(o<d)o=d;break;}}var b=m.slice(0,t),g=m.slice(t);for(h=t;h<286;++h)b[h]=0;for(h=a;h<30;++h)g[h]=0;ke=de(b,be,286);Ee=de(g,ge,30);return r}function _e(e,r){if(e[0]==3&&!(e[1]&3)){return[_(r),2]}var t=0;var a=0;var n=C(r?r:1<<18);var i=0;var s=n.length>>>0;var f=0,o=0;while((a&1)==0){a=ie(e,t);t+=3;if(a>>>1==0){if(t&7)t+=8-(t&7);var l=e[t>>>3]|e[(t>>>3)+1]<<8;t+=32;if(!r&&s<i+l){n=ce(n,i+l);s=n.length}if(typeof e.copy===\\"function\\"){e.copy(n,i,t>>>3,(t>>>3)+l);i+=l;t+=8*l}else while(l-- >0){n[i++]=e[t>>>3];t+=8}continue}else if(a>>>1==1){f=9;o=5}else{t=Se(e,t);f=ke;o=Ee}if(!r&&s<i+32767){n=ce(n,i+32767);s=n.length}for(;;){var c=le(e,t,f);var u=a>>>1==1?ve[c]:be[c];t+=u&15;u>>>=4;if((u>>>8&255)===0)n[i++]=u;else if(u==256)break;else{u-=257;var h=u<8?0:u-4>>2;if(h>5)h=0;var d=i+J[u];if(h>0){d+=le(e,t,h);t+=h}c=le(e,t,o);u=a>>>1==1?pe[c]:ge[c];t+=u&15;u>>>=4;var v=u<4?0:u-2>>1;var p=Q[u];if(v>0){p+=le(e,t,v);t+=v}if(!r&&s<d){n=ce(n,d);s=n.length}while(i<d){n[i]=n[i-p];++i}}}}return[r?n:n.slice(0,i),t+7>>>3]}function Ce(e,r){var t=e.slice(e.l||0);var a=_e(t,r);e.l+=a[1];return a[0]}function Be(e,r){if(e){if(typeof console!==\\"undefined\\")console.error(r)}else throw new Error(r)}function Te(e,r){var t=e;Yr(t,0);var a=[],n=[];var i={FileIndex:a,FullPaths:n};y(i,{root:r.root});var f=t.length-4;while((t[f]!=80||t[f+1]!=75||t[f+2]!=5||t[f+3]!=6)&&f>=0)--f;t.l=f+4;t.l+=4;var o=t._R(2);t.l+=6;var l=t._R(4);t.l=l;for(f=0;f<o;++f){t.l+=20;var c=t._R(4);var u=t._R(4);var h=t._R(2);var d=t._R(2);var v=t._R(2);t.l+=8;var p=t._R(4);var m=s(t.slice(t.l+h,t.l+h+d));t.l+=h+d+v;var b=t.l;t.l=p+4;ye(t,c,u,i,m);t.l=b}return i}function ye(e,r,t,a,n){e.l+=2;var f=e._R(2);var o=e._R(2);var l=i(e);if(f&8257)throw new Error(\\"Unsupported ZIP encryption\\");var c=e._R(4);var u=e._R(4);var h=e._R(4);var d=e._R(2);var v=e._R(2);var p=\\"\\";for(var m=0;m<d;++m)p+=String.fromCharCode(e[e.l++]);if(v){var b=s(e.slice(e.l,e.l+v));if((b[21589]||{}).mt)l=b[21589].mt;if(((n||{})[21589]||{}).mt)l=n[21589].mt}e.l+=v;var g=e.slice(e.l,e.l+u);switch(o){case 8:g=$(e,h);break;case 0:break;default:throw new Error(\\"Unsupported ZIP Compression method \\"+o);}var w=false;if(f&8){c=e._R(4);if(c==134695760){c=e._R(4);w=true}u=e._R(4);h=e._R(4)}if(u!=r)Be(w,\\"Bad compressed size: \\"+r+\\" != \\"+u);if(h!=t)Be(w,\\"Bad uncompressed size: \\"+t+\\" != \\"+h);var k=H.buf(g,0);if(c>>0!=k>>0)Be(w,\\"Bad CRC32 checksum: \\"+c+\\" != \\"+k);Ie(a,p,g,{unsafe:true,mt:l})}function xe(e,r){var t=r||{};var a=[],i=[];var s=Jr(1);var f=t.compression?8:0,o=0;var l=false;if(l)o|=8;var c=0,u=0;var h=0,d=0;var v=e.FullPaths[0],p=v,m=e.FileIndex[0];var b=[];var g=0;for(c=1;c<e.FullPaths.length;++c){p=e.FullPaths[c].slice(v.length);m=e.FileIndex[c];if(!m.size||!m.content||p==\\"\\u0001Sh33tJ5\\")continue;var w=h;var k=Jr(p.length);for(u=0;u<p.length;++u)k._W(1,p.charCodeAt(u)&127);k=k.slice(0,k.l);b[d]=H.buf(m.content,0);var E=m.content;if(f==8)E=Y(E);s=Jr(30);s._W(4,67324752);s._W(2,20);s._W(2,o);s._W(2,f);if(m.mt)n(s,m.mt);else s._W(4,0);s._W(-4,o&8?0:b[d]);s._W(4,o&8?0:E.length);s._W(4,o&8?0:m.content.length);s._W(2,k.length);s._W(2,0);h+=s.length;a.push(s);h+=k.length;a.push(k);h+=E.length;a.push(E);if(o&8){s=Jr(12);s._W(-4,b[d]);s._W(4,E.length);s._W(4,m.content.length);h+=s.l;a.push(s)}s=Jr(46);s._W(4,33639248);s._W(2,0);s._W(2,20);s._W(2,o);s._W(2,f);s._W(4,0);s._W(-4,b[d]);s._W(4,E.length);s._W(4,m.content.length);s._W(2,k.length);s._W(2,0);s._W(2,0);s._W(2,0);s._W(2,0);s._W(4,0);s._W(4,w);g+=s.l;i.push(s);g+=k.length;i.push(k);++d}s=Jr(22);s._W(4,101010256);s._W(2,0);s._W(2,0);s._W(2,d);s._W(2,d);s._W(4,g);s._W(4,h);s._W(2,0);return I([I(a),I(i),s])}function Ae(e){var r={};y(r,e);return r}function Ie(e,r,t,n){var i=n&&n.unsafe;if(!i)y(e);var s=!i&&W.find(e,r);if(!s){var f=e.FullPaths[0];if(r.slice(0,f.length)==f)f=r;else{if(f.slice(-1)!=\\"/\\")f+=\\"/\\";f=(f+r).replace(\\"//\\",\\"/\\")}s={name:a(r),type:2};e.FileIndex.push(s);e.FullPaths.push(f);if(!i)W.utils.cfb_gc(e)}s.content=t;s.size=t?t.length:0;if(n){if(n.CLSID)s.clsid=n.CLSID;if(n.mt)s.mt=n.mt;if(n.ct)s.ct=n.ct}return s}function Re(e,r){y(e);var t=W.find(e,r);if(t)for(var a=0;a<e.FileIndex.length;++a)if(e.FileIndex[a]==t){e.FileIndex.splice(a,1);e.FullPaths.splice(a,1);return true}return false}function Oe(e,r,t){y(e);var n=W.find(e,r);if(n)for(var i=0;i<e.FileIndex.length;++i)if(e.FileIndex[i]==n){e.FileIndex[i].name=a(t);e.FullPaths[i]=t;return true}return false}function De(e){A(e,true)}e.find=F;e.read=T;e.parse=l;e.write=G;e.writeFile=V;e.utils={cfb_new:Ae,cfb_add:Ie,cfb_del:Re,cfb_mov:Oe,cfb_gc:De,ReadShift:Vr,CheckField:$r,prep_blob:Yr,bconcat:I,use_zlib:K,_deflateRaw:he,_inflateRaw:Ce,consts:z};return e}();if(typeof require!==\\"undefined\\"&&typeof module!==\\"undefined\\"&&typeof z===\\"undefined\\"){module.exports=W}var V;if(typeof require!==\\"undefined\\")try{V=require(\\"fs\\")}catch(S){}function X(e){if(typeof e===\\"string\\")return T(e);if(Array.isArray(e))return x(e);return e}function G(e,r,t){if(typeof V!==\\"undefined\\"&&V.writeFileSync)return t?V.writeFileSync(e,r,t):V.writeFileSync(e,r);var a=t==\\"utf8\\"?Ze(r):r;if(typeof IE_SaveFile!==\\"undefined\\")return IE_SaveFile(a,e);if(typeof Blob!==\\"undefined\\"){var n=new Blob([X(a)],{type:\\"application/octet-stream\\"});if(typeof navigator!==\\"undefined\\"&&navigator.msSaveBlob)return navigator.msSaveBlob(n,e);if(typeof saveAs!==\\"undefined\\")return saveAs(n,e);if(typeof URL!==\\"undefined\\"&&typeof document!==\\"undefined\\"&&document.createElement&&URL.createObjectURL){var i=URL.createObjectURL(n);if(typeof chrome===\\"object\\"&&typeof(chrome.downloads||{}).download==\\"function\\"){if(URL.revokeObjectURL&&typeof setTimeout!==\\"undefined\\")setTimeout(function(){URL.revokeObjectURL(i)},6e4);return chrome.downloads.download({url:i,filename:e,saveAs:true})}var s=document.createElement(\\"a\\");if(s.download!=null){s.download=e;s.href=i;document.body.appendChild(s);s.click();document.body.removeChild(s);if(URL.revokeObjectURL&&typeof setTimeout!==\\"undefined\\")setTimeout(function(){URL.revokeObjectURL(i)},6e4);return i}}}if(typeof $!==\\"undefined\\"&&typeof File!==\\"undefined\\"&&typeof Folder!==\\"undefined\\")try{var f=File(e);f.open(\\"w\\");f.encoding=\\"binary\\";if(Array.isArray(r))r=y(r);f.write(r);f.close();return r}catch(o){if(!o.message||!o.message.match(/onstruct/))throw o}throw new Error(\\"cannot save file \\"+e)}function j(e){if(typeof V!==\\"undefined\\")return V.readFileSync(e);if(typeof $!==\\"undefined\\"&&typeof File!==\\"undefined\\"&&typeof Folder!==\\"undefined\\")try{var r=File(e);r.open(\\"r\\");r.encoding=\\"binary\\";var t=r.read();r.close();return t}catch(a){if(!a.message||!a.message.match(/onstruct/))throw a}throw new Error(\\"Cannot access file \\"+e)}function K(e){var r=Object.keys(e),t=[];for(var a=0;a<r.length;++a)if(Object.prototype.hasOwnProperty.call(e,r[a]))t.push(r[a]);return t}function Y(e,r){var t=[],a=K(e);for(var n=0;n!==a.length;++n)if(t[e[a[n]][r]]==null)t[e[a[n]][r]]=a[n];return t}function Z(e){var r=[],t=K(e);for(var a=0;a!==t.length;++a)r[e[t[a]]]=t[a];return r}function J(e){var r=[],t=K(e);for(var a=0;a!==t.length;++a)r[e[t[a]]]=parseInt(t[a],10);return r}function Q(e){var r=[],t=K(e);for(var a=0;a!==t.length;++a){if(r[e[t[a]]]==null)r[e[t[a]]]=[];r[e[t[a]]].push(t[a])}return r}var q=new Date(1899,11,30,0,0,0);function ee(e,r){var t=e.getTime();if(r)t-=1462*24*60*60*1e3;var a=q.getTime()+(e.getTimezoneOffset()-q.getTimezoneOffset())*6e4;return(t-a)/(24*60*60*1e3)}var re=new Date;var te=q.getTime()+(re.getTimezoneOffset()-q.getTimezoneOffset())*6e4;var ae=re.getTimezoneOffset();function ne(e){var r=new Date;r.setTime(e*24*60*60*1e3+te);if(r.getTimezoneOffset()!==ae){r.setTime(r.getTime()+(r.getTimezoneOffset()-ae)*6e4)}return r}function ie(e){var r=0,t=0,a=false;var n=e.match(/P([0-9\\\\.]+Y)?([0-9\\\\.]+M)?([0-9\\\\.]+D)?T([0-9\\\\.]+H)?([0-9\\\\.]+M)?([0-9\\\\.]+S)?/);if(!n)throw new Error(\\"|\\"+e+\\"| is not an ISO8601 Duration\\");for(var i=1;i!=n.length;++i){if(!n[i])continue;t=1;if(i>3)a=true;switch(n[i].slice(n[i].length-1)){case\\"Y\\":throw new Error(\\"Unsupported ISO Duration Field: \\"+n[i].slice(n[i].length-1));case\\"D\\":t*=24;case\\"H\\":t*=60;case\\"M\\":if(!a)throw new Error(\\"Unsupported ISO Duration Field: M\\");else t*=60;case\\"S\\":break;}r+=t*parseInt(n[i],10)}return r}var se=new Date(\\"2017-02-19T19:06:09.000Z\\");if(isNaN(se.getFullYear()))se=new Date(\\"2/19/17\\");var fe=se.getFullYear()==2017;function oe(e,r){var t=new Date(e);if(fe){if(r>0)t.setTime(t.getTime()+t.getTimezoneOffset()*60*1e3);else if(r<0)t.setTime(t.getTime()-t.getTimezoneOffset()*60*1e3);return t}if(e instanceof Date)return e;if(se.getFullYear()==1917&&!isNaN(t.getFullYear())){var a=t.getFullYear();if(e.indexOf(\\"\\"+a)>-1)return t;t.setFullYear(t.getFullYear()+100);return t}var n=e.match(/\\\\d+/g)||[\\"2017\\",\\"2\\",\\"19\\",\\"0\\",\\"0\\",\\"0\\"];var i=new Date(+n[0],+n[1]-1,+n[2],+n[3]||0,+n[4]||0,+n[5]||0);if(e.indexOf(\\"Z\\")>-1)i=new Date(i.getTime()-i.getTimezoneOffset()*60*1e3);return i}function le(e){var r=\\"\\";for(var t=0;t!=e.length;++t)r+=String.fromCharCode(e[t]);return r}function ce(e){if(typeof JSON!=\\"undefined\\"&&!Array.isArray(e))return JSON.parse(JSON.stringify(e));if(typeof e!=\\"object\\"||e==null)return e;if(e instanceof Date)return new Date(e.getTime());var r={};for(var t in e)if(Object.prototype.hasOwnProperty.call(e,t))r[t]=ce(e[t]);return r}function ue(e,r){var t=\\"\\";while(t.length<r)t+=e;return t}function he(e){var r=Number(e);if(!isNaN(r))return r;if(!/\\\\d/.test(e))return r;var t=1;var a=e.replace(/([\\\\d]),([\\\\d])/g,\\"$1$2\\").replace(/[$]/g,\\"\\").replace(/[%]/g,function(){t*=100;return\\"\\"});if(!isNaN(r=Number(a)))return r/t;a=a.replace(/[(](.*)[)]/,function(e,r){t=-t;return r});if(!isNaN(r=Number(a)))return r/t;return r}function de(e){var r=new Date(e),t=new Date(NaN);var a=r.getYear(),n=r.getMonth(),i=r.getDate();if(isNaN(i))return t;if(a<0||a>8099)return t;if((n>0||i>1)&&a!=101)return r;if(e.toLowerCase().match(/jan|feb|mar|apr|may|jun|jul|aug|sep|oct|nov|dec/))return r;if(e.match(/[^-0-9:,\\\\/\\\\\\\\]/))return t;return r}var ve=\\"abacaba\\".split(/(:?b)/i).length==5;function pe(e,r,t){if(ve||typeof r==\\"string\\")return e.split(r);var a=e.split(r),n=[a[0]];for(var i=1;i<a.length;++i){n.push(t);n.push(a[i])}return n}function me(e){if(!e)return null;if(e.data)return d(e.data);if(e.asNodeBuffer&&w)return d(e.asNodeBuffer().toString(\\"binary\\"));if(e.asBinary)return d(e.asBinary());if(e._data&&e._data.getContent)return d(le(Array.prototype.slice.call(e._data.getContent(),0)));if(e.content&&e.type)return d(le(e.content));return null}function be(e){if(!e)return null;if(e.data)return c(e.data);if(e.asNodeBuffer&&w)return e.asNodeBuffer();if(e._data&&e._data.getContent){var r=e._data.getContent();if(typeof r==\\"string\\")return c(r);return Array.prototype.slice.call(r)}if(e.content&&e.type)return e.content;return null}function ge(e){return e&&e.name.slice(-4)===\\".bin\\"?be(e):me(e)}function we(e,r){var t=e.FullPaths||K(e.files);var a=r.toLowerCase(),n=a.replace(/\\\\//g,\\"\\\\\\\\\\");for(var i=0;i<t.length;++i){var s=t[i].toLowerCase();if(a==s||n==s)return e.files[t[i]]}return null}function ke(e,r){var t=we(e,r);if(t==null)throw new Error(\\"Cannot find file \\"+r+\\" in zip\\");return t}function Ee(e,r,t){if(!t)return ge(ke(e,r));if(!r)return null;try{return Ee(e,r)}catch(a){return null}}function Se(e,r,t){if(!t)return me(ke(e,r));if(!r)return null;try{return Se(e,r)}catch(a){return null}}function _e(e){var r=e.FullPaths||K(e.files),t=[];for(var a=0;a<r.length;++a)if(r[a].slice(-1)!=\\"/\\")t.push(r[a]);return t.sort()}function Ce(e,r,t){if(e.FullPaths)W.utils.cfb_add(e,r,t);else e.file(r,t)}var Be;if(typeof JSZipSync!==\\"undefined\\")Be=JSZipSync;if(typeof exports!==\\"undefined\\"){if(typeof module!==\\"undefined\\"&&module.exports){if(typeof Be===\\"undefined\\")Be=undefined}}function Te(){if(!Be)return W.utils.cfb_new();return new Be}function ye(e,r){var t;if(Be)switch(r.type){case\\"base64\\":t=new Be(e,{base64:true});break;case\\"binary\\":;case\\"array\\":t=new Be(e,{base64:false});break;case\\"buffer\\":t=new Be(e);break;default:throw new Error(\\"Unrecognized type \\"+r.type);}else switch(r.type){case\\"base64\\":t=W.read(e,{type:\\"base64\\"});break;case\\"binary\\":t=W.read(e,{type:\\"binary\\"});break;case\\"buffer\\":;case\\"array\\":t=W.read(e,{type:\\"buffer\\"});break;default:throw new Error(\\"Unrecognized type \\"+r.type);}return t}function xe(e,r){if(e.charAt(0)==\\"/\\")return e.slice(1);var t=r.split(\\"/\\");if(r.slice(-1)!=\\"/\\")t.pop();var a=e.split(\\"/\\");while(a.length!==0){var n=a.shift();if(n===\\"..\\")t.pop();else if(n!==\\".\\")t.push(n)}return t.join(\\"/\\")}var Ae=\'<?xml version=\\"1.0\\" encoding=\\"UTF-8\\" standalone=\\"yes\\"?>\\\\r\\\\n\';var Ie=/([^\\"\\\\s?>\\\\/]+)\\\\s*=\\\\s*((?:\\")([^\\"]*)(?:\\")|(?:\')([^\']*)(?:\')|([^\'\\">\\\\s]+))/g;var Re=/<[\\\\/\\\\?]?[a-zA-Z0-9:_-]+(?:\\\\s+[^\\"\\\\s?>\\\\/]+\\\\s*=\\\\s*(?:\\"[^\\"]*\\"|\'[^\']*\'|[^\'\\">\\\\s=]+))*\\\\s?[\\\\/\\\\?]?>/gm;if(!Ae.match(Re))Re=/<[^>]*>/g;var Oe=/<\\\\w*:/,De=/<(\\\\/?)\\\\w+:/;function Fe(e,r,t){var a={};var n=0,i=0;for(;n!==e.length;++n)if((i=e.charCodeAt(n))===32||i===10||i===13)break;if(!r)a[0]=e.slice(0,n);if(n===e.length)return a;var s=e.match(Ie),f=0,o=\\"\\",l=0,c=\\"\\",u=\\"\\",h=1;if(s)for(l=0;l!=s.length;++l){u=s[l];for(i=0;i!=u.length;++i)if(u.charCodeAt(i)===61)break;c=u.slice(0,i).trim();while(u.charCodeAt(i+1)==32)++i;h=(n=u.charCodeAt(i+1))==34||n==39?1:0;o=u.slice(i+1+h,u.length-h);for(f=0;f!=c.length;++f)if(c.charCodeAt(f)===58)break;if(f===c.length){if(c.indexOf(\\"_\\")>0)c=c.slice(0,c.indexOf(\\"_\\"));a[c]=o;if(!t)a[c.toLowerCase()]=o}else{var d=(f===5&&c.slice(0,5)===\\"xmlns\\"?\\"xmlns\\":\\"\\")+c.slice(f+1);if(a[d]&&c.slice(f-3,f)==\\"ext\\")continue;a[d]=o;if(!t)a[d.toLowerCase()]=o}}return a}function Pe(e){return e.replace(De,\\"<$1\\")}var Ne={\\"&quot;\\":\'\\"\',\\"&apos;\\":\\"\'\\",\\"&gt;\\":\\">\\",\\"&lt;\\":\\"<\\",\\"&amp;\\":\\"&\\"};var Le=Z(Ne);var Me=function(){var e=/&(?:quot|apos|gt|lt|amp|#x?([\\\\da-fA-F]+));/gi,r=/_x([\\\\da-fA-F]{4})_/gi;return function t(a){var n=a+\\"\\",i=n.indexOf(\\"<![CDATA[\\");if(i==-1)return n.replace(e,function(e,r){return Ne[e]||String.fromCharCode(parseInt(r,e.indexOf(\\"x\\")>-1?16:10))||e}).replace(r,function(e,r){return String.fromCharCode(parseInt(r,16))});var s=n.indexOf(\\"]]>\\");return t(n.slice(0,i))+n.slice(i+9,s)+t(n.slice(s+3))}}();var Ue=/[&<>\'\\"]/g,ze=/[\\\\u0000-\\\\u0008\\\\u000b-\\\\u001f]/g;function He(e){var r=e+\\"\\";return r.replace(Ue,function(e){return Le[e]}).replace(ze,function(e){return\\"_x\\"+(\\"000\\"+e.charCodeAt(0).toString(16)).slice(-4)+\\"_\\"})}function We(e){return He(e).replace(/ /g,\\"_x0020_\\")}var Ve=/[\\\\u0000-\\\\u001f]/g;function Xe(e){var r=e+\\"\\";return r.replace(Ue,function(e){return Le[e]}).replace(/\\\\n/g,\\"<br/>\\").replace(Ve,function(e){return\\"&#x\\"+(\\"000\\"+e.charCodeAt(0).toString(16)).slice(-4)+\\";\\"})}function Ge(e){var r=e+\\"\\";return r.replace(Ue,function(e){return Le[e]}).replace(Ve,function(e){return\\"&#x\\"+e.charCodeAt(0).toString(16).toUpperCase()+\\";\\"})}var je=function(){var e=/&#(\\\\d+);/g;function r(e,r){return String.fromCharCode(parseInt(r,10))}return function t(a){return a.replace(e,r)}}();var Ke=function(){return function e(r){return r.replace(/(\\\\r\\\\n|[\\\\r\\\\n])/g,\\"&#10;\\")}}();function $e(e){switch(e){case 1:;case true:;case\\"1\\":;case\\"true\\":;case\\"TRUE\\":return true;default:return false;}}var Ye=function gb(e){var r=\\"\\",t=0,a=0,n=0,i=0,s=0,f=0;while(t<e.length){a=e.charCodeAt(t++);if(a<128){r+=String.fromCharCode(a);continue}n=e.charCodeAt(t++);if(a>191&&a<224){s=(a&31)<<6;s|=n&63;r+=String.fromCharCode(s);continue}i=e.charCodeAt(t++);if(a<240){r+=String.fromCharCode((a&15)<<12|(n&63)<<6|i&63);continue}s=e.charCodeAt(t++);f=((a&7)<<18|(n&63)<<12|(i&63)<<6|s&63)-65536;r+=String.fromCharCode(55296+(f>>>10&1023));r+=String.fromCharCode(56320+(f&1023))}return r};var Ze=function(e){var r=[],t=0,a=0,n=0;while(t<e.length){a=e.charCodeAt(t++);switch(true){case a<128:r.push(String.fromCharCode(a));break;case a<2048:r.push(String.fromCharCode(192+(a>>6)));r.push(String.fromCharCode(128+(a&63)));break;case a>=55296&&a<57344:a-=55296;n=e.charCodeAt(t++)-56320+(a<<10);r.push(String.fromCharCode(240+(n>>18&7)));r.push(String.fromCharCode(144+(n>>12&63)));r.push(String.fromCharCode(128+(n>>6&63)));r.push(String.fromCharCode(128+(n&63)));break;default:r.push(String.fromCharCode(224+(a>>12)));r.push(String.fromCharCode(128+(a>>6&63)));r.push(String.fromCharCode(128+(a&63)));}}return r.join(\\"\\")};if(w){var Je=function wb(e){var r=Buffer.alloc(2*e.length),t,a,n=1,i=0,s=0,f;for(a=0;a<e.length;a+=n){n=1;if((f=e.charCodeAt(a))<128)t=f;else if(f<224){t=(f&31)*64+(e.charCodeAt(a+1)&63);n=2}else if(f<240){t=(f&15)*4096+(e.charCodeAt(a+1)&63)*64+(e.charCodeAt(a+2)&63);n=3}else{n=4;t=(f&7)*262144+(e.charCodeAt(a+1)&63)*4096+(e.charCodeAt(a+2)&63)*64+(e.charCodeAt(a+3)&63);t-=65536;s=55296+(t>>>10&1023);t=56320+(t&1023)}if(s!==0){r[i++]=s&255;r[i++]=s>>>8;s=0}r[i++]=t%256;r[i++]=t>>>8}return r.slice(0,i).toString(\\"ucs2\\")};var Qe=\\"foo bar baz☃🍣\\";if(Ye(Qe)==Je(Qe))Ye=Je;var qe=function kb(e){return k(e,\\"binary\\").toString(\\"utf8\\")};if(Ye(Qe)==qe(Qe))Ye=qe;Ze=function(e){return k(e,\\"utf8\\").toString(\\"binary\\")}}var er=function(){var e={};return function r(t,a){var n=t+\\"|\\"+(a||\\"\\");if(e[n])return e[n];return e[n]=new RegExp(\\"<(?:\\\\\\\\w+:)?\\"+t+\'(?: xml:space=\\"preserve\\")?(?:[^>]*)>([\\\\\\\\s\\\\\\\\S]*?)</(?:\\\\\\\\w+:)?\'+t+\\">\\",a||\\"\\")}}();var rr=function(){var e=[[\\"nbsp\\",\\" \\"],[\\"middot\\",\\"·\\"],[\\"quot\\",\'\\"\'],[\\"apos\\",\\"\'\\"],[\\"gt\\",\\">\\"],[\\"lt\\",\\"<\\"],[\\"amp\\",\\"&\\"]].map(function(e){return[new RegExp(\\"&\\"+e[0]+\\";\\",\\"ig\\"),e[1]]});return function r(t){var a=t.replace(/^[\\\\t\\\\n\\\\r ]+/,\\"\\").replace(/[\\\\t\\\\n\\\\r ]+$/,\\"\\").replace(/>\\\\s+/g,\\">\\").replace(/\\\\s+</g,\\"<\\").replace(/[\\\\t\\\\n\\\\r ]+/g,\\" \\").replace(/<\\\\s*[bB][rR]\\\\s*\\\\/?>/g,\\"\\\\n\\").replace(/<[^>]*>/g,\\"\\");for(var n=0;n<e.length;++n)a=a.replace(e[n][0],e[n][1]);return a}}();var tr=function(){var e={};return function r(t){if(e[t]!==undefined)return e[t];return e[t]=new RegExp(\\"<(?:vt:)?\\"+t+\\">([\\\\\\\\s\\\\\\\\S]*?)</(?:vt:)?\\"+t+\\">\\",\\"g\\")}}();var ar=/<\\\\/?(?:vt:)?variant>/g,nr=/<(?:vt:)([^>]*)>([\\\\s\\\\S]*)</;function ir(e,r){var t=Fe(e);var a=e.match(tr(t.baseType))||[];var n=[];if(a.length!=t.size){if(r.WTF)throw new Error(\\"unexpected vector length \\"+a.length+\\" != \\"+t.size);return n}a.forEach(function(e){var r=e.replace(ar,\\"\\").match(nr);if(r)n.push({v:Ye(r[2]),t:r[1]})});return n}var sr=/(^\\\\s|\\\\s$|\\\\n)/;function fr(e,r){return\\"<\\"+e+(r.match(sr)?\' xml:space=\\"preserve\\"\':\\"\\")+\\">\\"+r+\\"</\\"+e+\\">\\"}function or(e){return K(e).map(function(r){return\\" \\"+r+\'=\\"\'+e[r]+\'\\"\'}).join(\\"\\")}function lr(e,r,t){return\\"<\\"+e+(t!=null?or(t):\\"\\")+(r!=null?(r.match(sr)?\' xml:space=\\"preserve\\"\':\\"\\")+\\">\\"+r+\\"</\\"+e:\\"/\\")+\\">\\"}function cr(e,r){try{return e.toISOString().replace(/\\\\.\\\\d*/,\\"\\")}catch(t){if(r)throw t}return\\"\\"}function ur(e,r){switch(typeof e){case\\"string\\":var t=lr(\\"vt:lpwstr\\",He(e));if(r)t=t.replace(/&quot;/g,\\"_x0022_\\");return t;case\\"number\\":return lr((e|0)==e?\\"vt:i4\\":\\"vt:r8\\",He(String(e)));case\\"boolean\\":return lr(\\"vt:bool\\",e?\\"true\\":\\"false\\");}if(e instanceof Date)return lr(\\"vt:filetime\\",cr(e));throw new Error(\\"Unable to serialize \\"+e)}var hr={dc:\\"http://purl.org/dc/elements/1.1/\\",dcterms:\\"http://purl.org/dc/terms/\\",dcmitype:\\"http://purl.org/dc/dcmitype/\\",mx:\\"http://schemas.microsoft.com/office/mac/excel/2008/main\\",r:\\"http://schemas.openxmlformats.org/officeDocument/2006/relationships\\",sjs:\\"http://schemas.openxmlformats.org/package/2006/sheetjs/core-properties\\",vt:\\"http://schemas.openxmlformats.org/officeDocument/2006/docPropsVTypes\\",xsi:\\"http://www.w3.org/2001/XMLSchema-instance\\",xsd:\\"http://www.w3.org/2001/XMLSchema\\"};hr.main=[\\"http://schemas.openxmlformats.org/spreadsheetml/2006/main\\",\\"http://purl.oclc.org/ooxml/spreadsheetml/main\\",\\"http://schemas.microsoft.com/office/excel/2006/main\\",\\"http://schemas.microsoft.com/office/excel/2006/2\\"];var dr={o:\\"urn:schemas-microsoft-com:office:office\\",x:\\"urn:schemas-microsoft-com:office:excel\\",ss:\\"urn:schemas-microsoft-com:office:spreadsheet\\",dt:\\"uuid:C2F41010-65B3-11d1-A29F-00AA00C14882\\",mv:\\"http://macVmlSchemaUri\\",v:\\"urn:schemas-microsoft-com:vml\\",html:\\"http://www.w3.org/TR/REC-html40\\"};function vr(e,r){var t=1-2*(e[r+7]>>>7);var a=((e[r+7]&127)<<4)+(e[r+6]>>>4&15);var n=e[r+6]&15;for(var i=5;i>=0;--i)n=n*256+e[r+i];if(a==2047)return n==0?t*Infinity:NaN;if(a==0)a=-1022;else{a-=1023;n+=Math.pow(2,52)}return t*Math.pow(2,a-52)*n}function pr(e,r,t){var a=(r<0||1/r==-Infinity?1:0)<<7,n=0,i=0;var s=a?-r:r;if(!isFinite(s)){n=2047;i=isNaN(r)?26985:0}else if(s==0)n=i=0;else{n=Math.floor(Math.log(s)/Math.LN2);i=s*Math.pow(2,52-n);if(n<=-1023&&(!isFinite(i)||i<Math.pow(2,52))){n=-1022}else{i-=Math.pow(2,52);n+=1023}}for(var f=0;f<=5;++f,i/=256)e[t+f]=i&255;e[t+6]=(n&15)<<4|i&15;e[t+7]=n>>4|a}var mr=function(e){var r=[],t=10240;for(var a=0;a<e[0].length;++a)if(e[0][a])for(var n=0,i=e[0][a].length;n<i;n+=t)r.push.apply(r,e[0][a].slice(n,n+t));return r};var br=mr;var gr=function(e,r,t){var a=[];for(var n=r;n<t;n+=2)a.push(String.fromCharCode(Mr(e,n)));return a.join(\\"\\").replace(R,\\"\\")};var wr=gr;var kr=function(e,r,t){var a=[];for(var n=r;n<r+t;++n)a.push((\\"0\\"+e[n].toString(16)).slice(-2));return a.join(\\"\\")};var Er=kr;var Sr=function(e,r,t){var a=[];for(var n=r;n<t;n++)a.push(String.fromCharCode(Lr(e,n)));return a.join(\\"\\")};var _r=Sr;var Cr=function(e,r){var t=zr(e,r);return t>0?Sr(e,r+4,r+4+t-1):\\"\\"};var Br=Cr;var Tr=function(e,r){var t=zr(e,r);return t>0?Sr(e,r+4,r+4+t-1):\\"\\"};var yr=Tr;var xr=function(e,r){var t=2*zr(e,r);return t>0?Sr(e,r+4,r+4+t-1):\\"\\"};var Ar=xr;var Ir,Rr;Ir=Rr=function Eb(e,r){var t=zr(e,r);return t>0?gr(e,r+4,r+4+t):\\"\\"};var Or=function(e,r){var t=zr(e,r);return t>0?Sr(e,r+4,r+4+t):\\"\\"};var Dr=Or;var Fr,Pr;Fr=Pr=function(e,r){return vr(e,r)};var Nr=function Sb(e){return Array.isArray(e)};if(w){gr=function(e,r,t){if(!Buffer.isBuffer(e))return wr(e,r,t);return e.toString(\\"utf16le\\",r,t).replace(R,\\"\\")};kr=function(e,r,t){return Buffer.isBuffer(e)?e.toString(\\"hex\\",r,r+t):Er(e,r,t)};Cr=function _b(e,r){if(!Buffer.isBuffer(e))return Br(e,r);var t=e.readUInt32LE(r);return t>0?e.toString(\\"utf8\\",r+4,r+4+t-1):\\"\\"};Tr=function Cb(e,r){if(!Buffer.isBuffer(e))return yr(e,r);var t=e.readUInt32LE(r);return t>0?e.toString(\\"utf8\\",r+4,r+4+t-1):\\"\\"};xr=function Bb(e,r){if(!Buffer.isBuffer(e))return Ar(e,r);var t=2*e.readUInt32LE(r);return e.toString(\\"utf16le\\",r+4,r+4+t-1)};Ir=function Tb(e,r){if(!Buffer.isBuffer(e))return Rr(e,r);var t=e.readUInt32LE(r);return e.toString(\\"utf16le\\",r+4,r+4+t)};Or=function yb(e,r){if(!Buffer.isBuffer(e))return Dr(e,r);var t=e.readUInt32LE(r);return e.toString(\\"utf8\\",r+4,r+4+t)};Sr=function xb(e,r,t){return Buffer.isBuffer(e)?e.toString(\\"utf8\\",r,t):_r(e,r,t)};mr=function(e){return e[0].length>0&&Buffer.isBuffer(e[0][0])?Buffer.concat(e[0]):br(e)};I=function(e){return Buffer.isBuffer(e[0])?Buffer.concat(e):[].concat.apply([],e)};Fr=function Ab(e,r){if(Buffer.isBuffer(e))return e.readDoubleLE(r);return Pr(e,r)};Nr=function Ib(e){return Buffer.isBuffer(e)||Array.isArray(e)}}if(typeof cptable!==\\"undefined\\"){gr=function(e,r,t){return cptable.utils.decode(1200,e.slice(r,t)).replace(R,\\"\\")};Sr=function(e,r,t){return cptable.utils.decode(65001,e.slice(r,t))};Cr=function(e,r){var a=zr(e,r);return a>0?cptable.utils.decode(t,e.slice(r+4,r+4+a-1)):\\"\\"};Tr=function(e,t){var a=zr(e,t);return a>0?cptable.utils.decode(r,e.slice(t+4,t+4+a-1)):\\"\\"};xr=function(e,r){var t=2*zr(e,r);return t>0?cptable.utils.decode(1200,e.slice(r+4,r+4+t-1)):\\"\\"};Ir=function(e,r){var t=zr(e,r);return t>0?cptable.utils.decode(1200,e.slice(r+4,r+4+t)):\\"\\"};Or=function(e,r){var t=zr(e,r);return t>0?cptable.utils.decode(65001,e.slice(r+4,r+4+t)):\\"\\"}}var Lr=function(e,r){return e[r]};var Mr=function(e,r){return e[r+1]*(1<<8)+e[r]};var Ur=function(e,r){var t=e[r+1]*(1<<8)+e[r];return t<32768?t:(65535-t+1)*-1};var zr=function(e,r){return e[r+3]*(1<<24)+(e[r+2]<<16)+(e[r+1]<<8)+e[r]};var Hr=function(e,r){return e[r+3]<<24|e[r+2]<<16|e[r+1]<<8|e[r]};var Wr=function(e,r){return e[r]<<24|e[r+1]<<16|e[r+2]<<8|e[r+3]};function Vr(e,t){var a=\\"\\",n,i,s=[],f,o,l,c;switch(t){case\\"dbcs\\":c=this.l;if(w&&Buffer.isBuffer(this))a=this.slice(this.l,this.l+2*e).toString(\\"utf16le\\");else for(l=0;l<e;++l){a+=String.fromCharCode(Mr(this,c));c+=2}e*=2;break;case\\"utf8\\":a=Sr(this,this.l,this.l+e);break;case\\"utf16le\\":e*=2;a=gr(this,this.l,this.l+e);break;case\\"wstr\\":if(typeof cptable!==\\"undefined\\")a=cptable.utils.decode(r,this.slice(this.l,this.l+2*e));else return Vr.call(this,e,\\"dbcs\\");e=2*e;break;case\\"lpstr-ansi\\":a=Cr(this,this.l);e=4+zr(this,this.l);break;case\\"lpstr-cp\\":a=Tr(this,this.l);e=4+zr(this,this.l);break;case\\"lpwstr\\":a=xr(this,this.l);e=4+2*zr(this,this.l);break;case\\"lpp4\\":e=4+zr(this,this.l);a=Ir(this,this.l);if(e&2)e+=2;break;case\\"8lpp4\\":e=4+zr(this,this.l);a=Or(this,this.l);if(e&3)e+=4-(e&3);break;case\\"cstr\\":e=0;a=\\"\\";while((f=Lr(this,this.l+e++))!==0)s.push(v(f));a=s.join(\\"\\");break;case\\"_wstr\\":e=0;a=\\"\\";while((f=Mr(this,this.l+e))!==0){s.push(v(f));e+=2}e+=2;a=s.join(\\"\\");break;case\\"dbcs-cont\\":a=\\"\\";c=this.l;for(l=0;l<e;++l){if(this.lens&&this.lens.indexOf(c)!==-1){f=Lr(this,c);this.l=c+1;o=Vr.call(this,e-l,f?\\"dbcs-cont\\":\\"sbcs-cont\\");return s.join(\\"\\")+o}s.push(v(Mr(this,c)));c+=2}a=s.join(\\"\\");e*=2;break;case\\"cpstr\\":if(typeof cptable!==\\"undefined\\"){a=cptable.utils.decode(r,this.slice(this.l,this.l+e));break};case\\"sbcs-cont\\":a=\\"\\";c=this.l;for(l=0;l!=e;++l){if(this.lens&&this.lens.indexOf(c)!==-1){f=Lr(this,c);this.l=c+1;o=Vr.call(this,e-l,f?\\"dbcs-cont\\":\\"sbcs-cont\\");return s.join(\\"\\")+o}s.push(v(Lr(this,c)));c+=1}a=s.join(\\"\\");break;default:switch(e){case 1:n=Lr(this,this.l);this.l++;return n;case 2:n=(t===\\"i\\"?Ur:Mr)(this,this.l);this.l+=2;return n;case 4:;case-4:if(t===\\"i\\"||(this[this.l+3]&128)===0){n=(e>0?Hr:Wr)(this,this.l);this.l+=4;return n}else{i=zr(this,this.l);this.l+=4}return i;case 8:;case-8:if(t===\\"f\\"){if(e==8)i=Fr(this,this.l);else i=Fr([this[this.l+7],this[this.l+6],this[this.l+5],this[this.l+4],this[this.l+3],this[this.l+2],this[this.l+1],this[this.l+0]],0);this.l+=8;return i}else e=8;case 16:a=kr(this,this.l,e);break;};}this.l+=e;return a}var Xr=function(e,r,t){e[t]=r&255;e[t+1]=r>>>8&255;e[t+2]=r>>>16&255;e[t+3]=r>>>24&255};var Gr=function(e,r,t){e[t]=r&255;e[t+1]=r>>8&255;e[t+2]=r>>16&255;e[t+3]=r>>24&255};var jr=function(e,r,t){e[t]=r&255;e[t+1]=r>>>8&255};function Kr(e,r,a){var n=0,i=0;if(a===\\"dbcs\\"){for(i=0;i!=r.length;++i)jr(this,r.charCodeAt(i),this.l+2*i);n=2*r.length}else if(a===\\"sbcs\\"){if(typeof cptable!==\\"undefined\\"&&t==874){for(i=0;i!=r.length;++i){var s=cptable.utils.encode(t,r.charAt(i));this[this.l+i]=s[0]}}else{r=r.replace(/[^\\\\x00-\\\\x7F]/g,\\"_\\");for(i=0;i!=r.length;++i)this[this.l+i]=r.charCodeAt(i)&255}n=r.length}else if(a===\\"hex\\"){for(;i<e;++i){this[this.l++]=parseInt(r.slice(2*i,2*i+2),16)||0}return this}else if(a===\\"utf16le\\"){var f=Math.min(this.l+e,this.length);for(i=0;i<Math.min(r.length,e);++i){var o=r.charCodeAt(i);this[this.l++]=o&255;this[this.l++]=o>>8}while(this.l<f)this[this.l++]=0;return this}else switch(e){case 1:n=1;this[this.l]=r&255;break;case 2:n=2;this[this.l]=r&255;r>>>=8;this[this.l+1]=r&255;break;case 3:n=3;this[this.l]=r&255;r>>>=8;this[this.l+1]=r&255;r>>>=8;this[this.l+2]=r&255;break;case 4:n=4;Xr(this,r,this.l);break;case 8:n=8;if(a===\\"f\\"){pr(this,r,this.l);break};case 16:break;case-4:n=4;Gr(this,r,this.l);break;}this.l+=n;return this}function $r(e,r){var t=kr(this,this.l,e.length>>1);if(t!==e)throw new Error(r+\\"Expected \\"+e+\\" saw \\"+t);this.l+=e.length>>1}function Yr(e,r){e.l=r;e._R=Vr;e.chk=$r;e._W=Kr}function Zr(e,r){e.l+=r}function Jr(e){var r=_(e);Yr(r,0);return r}function Qr(e,r,t){if(!e)return;var a,n,i;Yr(e,e.l||0);var s=e.length,f=0,o=0;while(e.l<s){f=e._R(1);if(f&128)f=(f&127)+((e._R(1)&127)<<7);var l=Dp[f]||Dp[65535];a=e._R(1);i=a&127;for(n=1;n<4&&a&128;++n)i+=((a=e._R(1))&127)<<7*n;o=e.l+i;var c=(l.f||Zr)(e,i,t);e.l=o;if(r(c,l.n,f))return}}function qr(){var e=[],r=w?256:2048;var t=function o(e){var r=Jr(e);Yr(r,0);return r};var a=t(r);var n=function l(){if(!a)return;if(a.length>a.l){a=a.slice(0,a.l);a.l=a.length}if(a.length>0)e.push(a);a=null};var i=function c(e){if(a&&e<a.length-a.l)return a;n();return a=t(Math.max(e+1,r))};var s=function u(){n();return mr([e])};var f=function h(e){n();a=e;if(a.l==null)a.l=a.length;i(r)};return{next:i,push:f,end:s,_bufs:e}}function et(e,r,t,a){var n=+Fp[r],i;if(isNaN(n))return;if(!a)a=Dp[n].p||(t||[]).length||0;i=1+(n>=128?1:0)+1;if(a>=128)++i;if(a>=16384)++i;if(a>=2097152)++i;var s=e.next(i);if(n<=127)s._W(1,n);else{s._W(1,(n&127)+128);s._W(1,n>>7)}for(var f=0;f!=4;++f){if(a>=128){s._W(1,(a&127)+128);a>>=7}else{s._W(1,a);break}}if(a>0&&Nr(t))e.push(t)}function rt(e,r,t){var a=ce(e);if(r.s){if(a.cRel)a.c+=r.s.c;if(a.rRel)a.r+=r.s.r}else{if(a.cRel)a.c+=r.c;if(a.rRel)a.r+=r.r}if(!t||t.biff<12){while(a.c>=256)a.c-=256;while(a.r>=65536)a.r-=65536}return a}function tt(e,r,t){var a=ce(e);a.s=rt(a.s,r.s,t);a.e=rt(a.e,r.s,t);return a}function at(e,r){if(e.cRel&&e.c<0){e=ce(e);while(e.c<0)e.c+=r>8?16384:256}if(e.rRel&&e.r<0){e=ce(e);while(e.r<0)e.r+=r>8?1048576:r>5?65536:16384}var t=bt(e);if(!e.cRel&&e.cRel!=null)t=dt(t);if(!e.rRel&&e.rRel!=null)t=lt(t);return t}function nt(e,r){if(e.s.r==0&&!e.s.rRel){if(e.e.r==(r.biff>=12?1048575:r.biff>=8?65536:16384)&&!e.e.rRel){return(e.s.cRel?\\"\\":\\"$\\")+ht(e.s.c)+\\":\\"+(e.e.cRel?\\"\\":\\"$\\")+ht(e.e.c)}}if(e.s.c==0&&!e.s.cRel){if(e.e.c==(r.biff>=12?16383:255)&&!e.e.cRel){return(e.s.rRel?\\"\\":\\"$\\")+ot(e.s.r)+\\":\\"+(e.e.rRel?\\"\\":\\"$\\")+ot(e.e.r)}}return at(e.s,r.biff)+\\":\\"+at(e.e,r.biff)}var it={};var st=function(e,r){var t;if(typeof r!==\\"undefined\\")t=r;else if(typeof require!==\\"undefined\\"){try{t=undefined}catch(a){t=null}}e.rc4=function(e,r){var t=new Array(256);var a=0,n=0,i=0,s=0;for(n=0;n!=256;++n)t[n]=n;for(n=0;n!=256;++n){i=i+t[n]+e[n%e.length].charCodeAt(0)&255;s=t[n];t[n]=t[i];t[i]=s}n=i=0;var f=_(r.length);for(a=0;a!=r.length;++a){n=n+1&255;i=(i+t[n])%256;s=t[n];t[n]=t[i];t[i]=s;f[a]=r[a]^t[t[n]+t[i]&255]}return f};e.md5=function(e){if(!t)throw new Error(\\"Unsupported crypto\\");return t.createHash(\\"md5\\").update(e).digest(\\"hex\\")}};st(it,typeof crypto!==\\"undefined\\"?crypto:undefined);function ft(e){return parseInt(ct(e),10)-1}function ot(e){return\\"\\"+(e+1)}function lt(e){return e.replace(/([A-Z]|^)(\\\\d+)$/,\\"$1$$$2\\")}function ct(e){return e.replace(/\\\\$(\\\\d+)$/,\\"$1\\")}function ut(e){var r=vt(e),t=0,a=0;for(;a!==r.length;++a)t=26*t+r.charCodeAt(a)-64;return t-1}function ht(e){if(e<0)throw new Error(\\"invalid column \\"+e);var r=\\"\\";for(++e;e;e=Math.floor((e-1)/26))r=String.fromCharCode((e-1)%26+65)+r;return r}function dt(e){return e.replace(/^([A-Z])/,\\"$$$1\\")}function vt(e){return e.replace(/^\\\\$([A-Z])/,\\"$1\\")}function pt(e){return e.replace(/(\\\\$?[A-Z]*)(\\\\$?\\\\d*)/,\\"$1,$2\\").split(\\",\\")}function mt(e){var r=0,t=0;for(var a=0;a<e.length;++a){var n=e.charCodeAt(a);if(n>=48&&n<=57)r=10*r+(n-48);else if(n>=65&&n<=90)t=26*t+(n-64)}return{c:t-1,r:r-1}}function bt(e){var r=e.c+1;var t=\\"\\";for(;r;r=(r-1)/26|0)t=String.fromCharCode((r-1)%26+65)+t;return t+(e.r+1)}function gt(e){var r=e.indexOf(\\":\\");if(r==-1)return{s:mt(e),e:mt(e)};return{s:mt(e.slice(0,r)),e:mt(e.slice(r+1))}}function wt(e,r){if(typeof r===\\"undefined\\"||typeof r===\\"number\\"){return wt(e.s,e.e)}if(typeof e!==\\"string\\")e=bt(e);if(typeof r!==\\"string\\")r=bt(r);return e==r?e:e+\\":\\"+r}function kt(e){var r={s:{c:0,r:0},e:{c:0,r:0}};var t=0,a=0,n=0;var i=e.length;for(t=0;a<i;++a){if((n=e.charCodeAt(a)-64)<1||n>26)break;t=26*t+n}r.s.c=--t;for(t=0;a<i;++a){if((n=e.charCodeAt(a)-48)<0||n>9)break;t=10*t+n}r.s.r=--t;if(a===i||e.charCodeAt(++a)===58){r.e.c=r.s.c;r.e.r=r.s.r;return r}for(t=0;a!=i;++a){\\nif((n=e.charCodeAt(a)-64)<1||n>26)break;t=26*t+n}r.e.c=--t;for(t=0;a!=i;++a){if((n=e.charCodeAt(a)-48)<0||n>9)break;t=10*t+n}r.e.r=--t;return r}function Et(e,r){var t=e.t==\\"d\\"&&r instanceof Date;if(e.z!=null)try{return e.w=D.format(e.z,t?ee(r):r)}catch(a){}try{return e.w=D.format((e.XF||{}).numFmtId||(t?14:0),t?ee(r):r)}catch(a){return\\"\\"+r}}function St(e,r,t){if(e==null||e.t==null||e.t==\\"z\\")return\\"\\";if(e.w!==undefined)return e.w;if(e.t==\\"d\\"&&!e.z&&t&&t.dateNF)e.z=t.dateNF;if(r==undefined)return Et(e,e.v);return Et(e,r)}function _t(e,r){var t=r&&r.sheet?r.sheet:\\"Sheet1\\";var a={};a[t]=e;return{SheetNames:[t],Sheets:a}}function Ct(e,r,t){var a=t||{};var n=e?Array.isArray(e):a.dense;if(m!=null&&n==null)n=m;var i=e||(n?[]:{});var s=0,f=0;if(i&&a.origin!=null){if(typeof a.origin==\\"number\\")s=a.origin;else{var o=typeof a.origin==\\"string\\"?mt(a.origin):a.origin;s=o.r;f=o.c}if(!i[\\"!ref\\"])i[\\"!ref\\"]=\\"A1:A1\\"}var l={s:{c:1e7,r:1e7},e:{c:0,r:0}};if(i[\\"!ref\\"]){var c=kt(i[\\"!ref\\"]);l.s.c=c.s.c;l.s.r=c.s.r;l.e.c=Math.max(l.e.c,c.e.c);l.e.r=Math.max(l.e.r,c.e.r);if(s==-1)l.e.r=s=c.e.r+1}for(var u=0;u!=r.length;++u){if(!r[u])continue;if(!Array.isArray(r[u]))throw new Error(\\"aoa_to_sheet expects an array of arrays\\");for(var h=0;h!=r[u].length;++h){if(typeof r[u][h]===\\"undefined\\")continue;var d={v:r[u][h]};var v=s+u,p=f+h;if(l.s.r>v)l.s.r=v;if(l.s.c>p)l.s.c=p;if(l.e.r<v)l.e.r=v;if(l.e.c<p)l.e.c=p;if(r[u][h]&&typeof r[u][h]===\\"object\\"&&!Array.isArray(r[u][h])&&!(r[u][h]instanceof Date))d=r[u][h];else{if(Array.isArray(d.v)){d.f=r[u][h][1];d.v=d.v[0]}if(d.v===null){if(d.f)d.t=\\"n\\";else if(!a.sheetStubs)continue;else d.t=\\"z\\"}else if(typeof d.v===\\"number\\")d.t=\\"n\\";else if(typeof d.v===\\"boolean\\")d.t=\\"b\\";else if(d.v instanceof Date){d.z=a.dateNF||D._table[14];if(a.cellDates){d.t=\\"d\\";d.w=D.format(d.z,ee(d.v))}else{d.t=\\"n\\";d.v=ee(d.v);d.w=D.format(d.z,d.v)}}else d.t=\\"s\\"}if(n){if(!i[v])i[v]=[];if(i[v][p]&&i[v][p].z)d.z=i[v][p].z;i[v][p]=d}else{var b=bt({c:p,r:v});if(i[b]&&i[b].z)d.z=i[b].z;i[b]=d}}}if(l.s.c<1e7)i[\\"!ref\\"]=wt(l);return i}function Bt(e,r){return Ct(null,e,r)}function Tt(e,r){if(!r)r=Jr(4);r._W(4,e);return r}function yt(e){var r=e._R(4);return r===0?\\"\\":e._R(r,\\"dbcs\\")}function xt(e,r){var t=false;if(r==null){t=true;r=Jr(4+2*e.length)}r._W(4,e.length);if(e.length>0)r._W(0,e,\\"dbcs\\");return t?r.slice(0,r.l):r}function At(e){return{ich:e._R(2),ifnt:e._R(2)}}function It(e,r){if(!r)r=Jr(4);r._W(2,e.ich||0);r._W(2,e.ifnt||0);return r}function Rt(e,r){var t=e.l;var a=e._R(1);var n=yt(e);var i=[];var s={t:n,h:n};if((a&1)!==0){var f=e._R(4);for(var o=0;o!=f;++o)i.push(At(e));s.r=i}else s.r=[{ich:0,ifnt:0}];e.l=t+r;return s}function Ot(e,r){var t=false;if(r==null){t=true;r=Jr(15+4*e.t.length)}r._W(1,0);xt(e.t,r);return t?r.slice(0,r.l):r}var Dt=Rt;function Ft(e,r){var t=false;if(r==null){t=true;r=Jr(23+4*e.t.length)}r._W(1,1);xt(e.t,r);r._W(4,1);It({ich:0,ifnt:0},r);return t?r.slice(0,r.l):r}function Pt(e){var r=e._R(4);var t=e._R(2);t+=e._R(1)<<16;e.l++;return{c:r,iStyleRef:t}}function Nt(e,r){if(r==null)r=Jr(8);r._W(-4,e.c);r._W(3,e.iStyleRef||e.s);r._W(1,0);return r}var Lt=yt;var Mt=xt;function Ut(e){var r=e._R(4);return r===0||r===4294967295?\\"\\":e._R(r,\\"dbcs\\")}function zt(e,r){var t=false;if(r==null){t=true;r=Jr(127)}r._W(4,e.length>0?e.length:4294967295);if(e.length>0)r._W(0,e,\\"dbcs\\");return t?r.slice(0,r.l):r}var Ht=yt;var Wt=Ut;var Vt=zt;function Xt(e){var r=e.slice(e.l,e.l+4);var t=r[0]&1,a=r[0]&2;e.l+=4;r[0]&=252;var n=a===0?Fr([0,0,0,0,r[0],r[1],r[2],r[3]],0):Hr(r,0)>>2;return t?n/100:n}function Gt(e,r){if(r==null)r=Jr(4);var t=0,a=0,n=e*100;if(e==(e|0)&&e>=-(1<<29)&&e<1<<29){a=1}else if(n==(n|0)&&n>=-(1<<29)&&n<1<<29){a=1;t=1}if(a)r._W(-4,((t?n:e)<<2)+(t+2));else throw new Error(\\"unsupported RkNumber \\"+e)}function jt(e){var r={s:{},e:{}};r.s.r=e._R(4);r.e.r=e._R(4);r.s.c=e._R(4);r.e.c=e._R(4);return r}function Kt(e,r){if(!r)r=Jr(16);r._W(4,e.s.r);r._W(4,e.e.r);r._W(4,e.s.c);r._W(4,e.e.c);return r}var $t=jt;var Yt=Kt;function Zt(e){return e._R(8,\\"f\\")}function Jt(e,r){return(r||Jr(8))._W(8,e,\\"f\\")}function Qt(e){var r={};var t=e._R(1);var a=t>>>1;var n=e._R(1);var i=e._R(2,\\"i\\");var s=e._R(1);var f=e._R(1);var o=e._R(1);e.l++;switch(a){case 0:r.auto=1;break;case 1:r.index=n;var l=ya[n];if(l)r.rgb=oo(l);break;case 2:r.rgb=oo([s,f,o]);break;case 3:r.theme=n;break;}if(i!=0)r.tint=i>0?i/32767:i/32768;return r}function qt(e,r){if(!r)r=Jr(8);if(!e||e.auto){r._W(4,0);r._W(4,0);return r}if(e.index!=null){r._W(1,2);r._W(1,e.index)}else if(e.theme!=null){r._W(1,6);r._W(1,e.theme)}else{r._W(1,5);r._W(1,0)}var t=e.tint||0;if(t>0)t*=32767;else if(t<0)t*=32768;r._W(2,t);if(!e.rgb||e.theme!=null){r._W(2,0);r._W(1,0);r._W(1,0)}else{var a=e.rgb||\\"FFFFFF\\";if(typeof a==\\"number\\")a=(\\"000000\\"+a.toString(16)).slice(-6);r._W(1,parseInt(a.slice(0,2),16));r._W(1,parseInt(a.slice(2,4),16));r._W(1,parseInt(a.slice(4,6),16));r._W(1,255)}return r}function ea(e){var r=e._R(1);e.l++;var t={fBold:r&1,fItalic:r&2,fUnderline:r&4,fStrikeout:r&8,fOutline:r&16,fShadow:r&32,fCondense:r&64,fExtend:r&128};return t}function ra(e,r){if(!r)r=Jr(2);var t=(e.italic?2:0)|(e.strike?8:0)|(e.outline?16:0)|(e.shadow?32:0)|(e.condense?64:0)|(e.extend?128:0);r._W(1,t);r._W(1,0);return r}function ta(e,r){var t={2:\\"BITMAP\\",3:\\"METAFILEPICT\\",8:\\"DIB\\",14:\\"ENHMETAFILE\\"};var a=e._R(4);switch(a){case 0:return\\"\\";case 4294967295:;case 4294967294:return t[e._R(4)]||\\"\\";}if(a>400)throw new Error(\\"Unsupported Clipboard: \\"+a.toString(16));e.l-=4;return e._R(0,r==1?\\"lpstr\\":\\"lpwstr\\")}function aa(e){return ta(e,1)}function na(e){return ta(e,2)}var ia=2;var sa=3;var fa=11;var oa=12;var la=19;var ca=30;var ua=64;var ha=65;var da=71;var va=4096;var pa=80;var ma=81;var ba=[pa,ma];var ga={1:{n:\\"CodePage\\",t:ia},2:{n:\\"Category\\",t:pa},3:{n:\\"PresentationFormat\\",t:pa},4:{n:\\"ByteCount\\",t:sa},5:{n:\\"LineCount\\",t:sa},6:{n:\\"ParagraphCount\\",t:sa},7:{n:\\"SlideCount\\",t:sa},8:{n:\\"NoteCount\\",t:sa},9:{n:\\"HiddenCount\\",t:sa},10:{n:\\"MultimediaClipCount\\",t:sa},11:{n:\\"ScaleCrop\\",t:fa},12:{n:\\"HeadingPairs\\",t:va|oa},13:{n:\\"TitlesOfParts\\",t:va|ca},14:{n:\\"Manager\\",t:pa},15:{n:\\"Company\\",t:pa},16:{n:\\"LinksUpToDate\\",t:fa},17:{n:\\"CharacterCount\\",t:sa},19:{n:\\"SharedDoc\\",t:fa},22:{n:\\"HyperlinksChanged\\",t:fa},23:{n:\\"AppVersion\\",t:sa,p:\\"version\\"},24:{n:\\"DigSig\\",t:ha},26:{n:\\"ContentType\\",t:pa},27:{n:\\"ContentStatus\\",t:pa},28:{n:\\"Language\\",t:pa},29:{n:\\"Version\\",t:pa},255:{}};var wa={1:{n:\\"CodePage\\",t:ia},2:{n:\\"Title\\",t:pa},3:{n:\\"Subject\\",t:pa},4:{n:\\"Author\\",t:pa},5:{n:\\"Keywords\\",t:pa},6:{n:\\"Comments\\",t:pa},7:{n:\\"Template\\",t:pa},8:{n:\\"LastAuthor\\",t:pa},9:{n:\\"RevNumber\\",t:pa},10:{n:\\"EditTime\\",t:ua},11:{n:\\"LastPrinted\\",t:ua},12:{n:\\"CreatedDate\\",t:ua},13:{n:\\"ModifiedDate\\",t:ua},14:{n:\\"PageCount\\",t:sa},15:{n:\\"WordCount\\",t:sa},16:{n:\\"CharCount\\",t:sa},17:{n:\\"Thumbnail\\",t:da},18:{n:\\"Application\\",t:pa},19:{n:\\"DocSecurity\\",t:sa},255:{}};var ka={2147483648:{n:\\"Locale\\",t:la},2147483651:{n:\\"Behavior\\",t:la},1919054434:{}};(function(){for(var e in ka)if(Object.prototype.hasOwnProperty.call(ka,e))ga[e]=wa[e]=ka[e]})();var Ea=Y(ga,\\"n\\");var Sa=Y(wa,\\"n\\");var _a={1:\\"US\\",2:\\"CA\\",3:\\"\\",7:\\"RU\\",20:\\"EG\\",30:\\"GR\\",31:\\"NL\\",32:\\"BE\\",33:\\"FR\\",34:\\"ES\\",36:\\"HU\\",39:\\"IT\\",41:\\"CH\\",43:\\"AT\\",44:\\"GB\\",45:\\"DK\\",46:\\"SE\\",47:\\"NO\\",48:\\"PL\\",49:\\"DE\\",52:\\"MX\\",55:\\"BR\\",61:\\"AU\\",64:\\"NZ\\",66:\\"TH\\",81:\\"JP\\",82:\\"KR\\",84:\\"VN\\",86:\\"CN\\",90:\\"TR\\",105:\\"JS\\",213:\\"DZ\\",216:\\"MA\\",218:\\"LY\\",351:\\"PT\\",354:\\"IS\\",358:\\"FI\\",420:\\"CZ\\",886:\\"TW\\",961:\\"LB\\",962:\\"JO\\",963:\\"SY\\",964:\\"IQ\\",965:\\"KW\\",966:\\"SA\\",971:\\"AE\\",972:\\"IL\\",974:\\"QA\\",981:\\"IR\\",65535:\\"US\\"};var Ca=[null,\\"solid\\",\\"mediumGray\\",\\"darkGray\\",\\"lightGray\\",\\"darkHorizontal\\",\\"darkVertical\\",\\"darkDown\\",\\"darkUp\\",\\"darkGrid\\",\\"darkTrellis\\",\\"lightHorizontal\\",\\"lightVertical\\",\\"lightDown\\",\\"lightUp\\",\\"lightGrid\\",\\"lightTrellis\\",\\"gray125\\",\\"gray0625\\"];function Ba(e){return e.map(function(e){return[e>>16&255,e>>8&255,e&255]})}var Ta=Ba([0,16777215,16711680,65280,255,16776960,16711935,65535,0,16777215,16711680,65280,255,16776960,16711935,65535,8388608,32768,128,8421376,8388736,32896,12632256,8421504,10066431,10040166,16777164,13434879,6684774,16744576,26316,13421823,128,16711935,16776960,65535,8388736,8388608,32896,255,52479,13434879,13434828,16777113,10079487,16751052,13408767,16764057,3368703,3394764,10079232,16763904,16750848,16737792,6710937,9868950,13158,3381606,13056,3355392,10040064,10040166,3355545,3355443,16777215,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]);var ya=ce(Ta);var xa={0:\\"#NULL!\\",7:\\"#DIV/0!\\",15:\\"#VALUE!\\",23:\\"#REF!\\",29:\\"#NAME?\\",36:\\"#NUM!\\",42:\\"#N/A\\",43:\\"#GETTING_DATA\\",255:\\"#WTF?\\"};var Aa=J(xa);var Ia={\\"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml\\":\\"workbooks\\",\\"application/vnd.ms-excel.binIndexWs\\":\\"TODO\\",\\"application/vnd.ms-excel.intlmacrosheet\\":\\"TODO\\",\\"application/vnd.ms-excel.binIndexMs\\":\\"TODO\\",\\"application/vnd.openxmlformats-package.core-properties+xml\\":\\"coreprops\\",\\"application/vnd.openxmlformats-officedocument.custom-properties+xml\\":\\"custprops\\",\\"application/vnd.openxmlformats-officedocument.extended-properties+xml\\":\\"extprops\\",\\"application/vnd.openxmlformats-officedocument.customXmlProperties+xml\\":\\"TODO\\",\\"application/vnd.openxmlformats-officedocument.spreadsheetml.customProperty\\":\\"TODO\\",\\"application/vnd.ms-excel.pivotTable\\":\\"TODO\\",\\"application/vnd.openxmlformats-officedocument.spreadsheetml.pivotTable+xml\\":\\"TODO\\",\\"application/vnd.openxmlformats-officedocument.drawingml.chart+xml\\":\\"TODO\\",\\"application/vnd.ms-office.chartcolorstyle+xml\\":\\"TODO\\",\\"application/vnd.ms-office.chartstyle+xml\\":\\"TODO\\",\\"application/vnd.ms-office.chartex+xml\\":\\"TODO\\",\\"application/vnd.ms-excel.calcChain\\":\\"calcchains\\",\\"application/vnd.openxmlformats-officedocument.spreadsheetml.calcChain+xml\\":\\"calcchains\\",\\"application/vnd.openxmlformats-officedocument.spreadsheetml.printerSettings\\":\\"TODO\\",\\"application/vnd.ms-office.activeX\\":\\"TODO\\",\\"application/vnd.ms-office.activeX+xml\\":\\"TODO\\",\\"application/vnd.ms-excel.attachedToolbars\\":\\"TODO\\",\\"application/vnd.ms-excel.connections\\":\\"TODO\\",\\"application/vnd.openxmlformats-officedocument.spreadsheetml.connections+xml\\":\\"TODO\\",\\"application/vnd.ms-excel.externalLink\\":\\"links\\",\\"application/vnd.openxmlformats-officedocument.spreadsheetml.externalLink+xml\\":\\"links\\",\\"application/vnd.ms-excel.sheetMetadata\\":\\"TODO\\",\\"application/vnd.openxmlformats-officedocument.spreadsheetml.sheetMetadata+xml\\":\\"TODO\\",\\"application/vnd.ms-excel.pivotCacheDefinition\\":\\"TODO\\",\\"application/vnd.ms-excel.pivotCacheRecords\\":\\"TODO\\",\\"application/vnd.openxmlformats-officedocument.spreadsheetml.pivotCacheDefinition+xml\\":\\"TODO\\",\\"application/vnd.openxmlformats-officedocument.spreadsheetml.pivotCacheRecords+xml\\":\\"TODO\\",\\"application/vnd.ms-excel.queryTable\\":\\"TODO\\",\\"application/vnd.openxmlformats-officedocument.spreadsheetml.queryTable+xml\\":\\"TODO\\",\\"application/vnd.ms-excel.userNames\\":\\"TODO\\",\\"application/vnd.ms-excel.revisionHeaders\\":\\"TODO\\",\\"application/vnd.ms-excel.revisionLog\\":\\"TODO\\",\\"application/vnd.openxmlformats-officedocument.spreadsheetml.revisionHeaders+xml\\":\\"TODO\\",\\"application/vnd.openxmlformats-officedocument.spreadsheetml.revisionLog+xml\\":\\"TODO\\",\\"application/vnd.openxmlformats-officedocument.spreadsheetml.userNames+xml\\":\\"TODO\\",\\"application/vnd.ms-excel.tableSingleCells\\":\\"TODO\\",\\"application/vnd.openxmlformats-officedocument.spreadsheetml.tableSingleCells+xml\\":\\"TODO\\",\\"application/vnd.ms-excel.slicer\\":\\"TODO\\",\\"application/vnd.ms-excel.slicerCache\\":\\"TODO\\",\\"application/vnd.ms-excel.slicer+xml\\":\\"TODO\\",\\"application/vnd.ms-excel.slicerCache+xml\\":\\"TODO\\",\\"application/vnd.ms-excel.wsSortMap\\":\\"TODO\\",\\"application/vnd.ms-excel.table\\":\\"TODO\\",\\"application/vnd.openxmlformats-officedocument.spreadsheetml.table+xml\\":\\"TODO\\",\\"application/vnd.openxmlformats-officedocument.theme+xml\\":\\"themes\\",\\"application/vnd.openxmlformats-officedocument.themeOverride+xml\\":\\"TODO\\",\\"application/vnd.ms-excel.Timeline+xml\\":\\"TODO\\",\\"application/vnd.ms-excel.TimelineCache+xml\\":\\"TODO\\",\\"application/vnd.ms-office.vbaProject\\":\\"vba\\",\\"application/vnd.ms-office.vbaProjectSignature\\":\\"vba\\",\\"application/vnd.ms-office.volatileDependencies\\":\\"TODO\\",\\"application/vnd.openxmlformats-officedocument.spreadsheetml.volatileDependencies+xml\\":\\"TODO\\",\\"application/vnd.ms-excel.controlproperties+xml\\":\\"TODO\\",\\"application/vnd.openxmlformats-officedocument.model+data\\":\\"TODO\\",\\"application/vnd.ms-excel.Survey+xml\\":\\"TODO\\",\\"application/vnd.openxmlformats-officedocument.drawing+xml\\":\\"drawings\\",\\"application/vnd.openxmlformats-officedocument.drawingml.chartshapes+xml\\":\\"TODO\\",\\"application/vnd.openxmlformats-officedocument.drawingml.diagramColors+xml\\":\\"TODO\\",\\"application/vnd.openxmlformats-officedocument.drawingml.diagramData+xml\\":\\"TODO\\",\\"application/vnd.openxmlformats-officedocument.drawingml.diagramLayout+xml\\":\\"TODO\\",\\"application/vnd.openxmlformats-officedocument.drawingml.diagramStyle+xml\\":\\"TODO\\",\\"application/vnd.openxmlformats-officedocument.vmlDrawing\\":\\"TODO\\",\\"application/vnd.openxmlformats-package.relationships+xml\\":\\"rels\\",\\"application/vnd.openxmlformats-officedocument.oleObject\\":\\"TODO\\",\\"image/png\\":\\"TODO\\",sheet:\\"js\\"};var Ra=function(){var e={workbooks:{xlsx:\\"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml\\",xlsm:\\"application/vnd.ms-excel.sheet.macroEnabled.main+xml\\",xlsb:\\"application/vnd.ms-excel.sheet.binary.macroEnabled.main\\",xlam:\\"application/vnd.ms-excel.addin.macroEnabled.main+xml\\",xltx:\\"application/vnd.openxmlformats-officedocument.spreadsheetml.template.main+xml\\"},strs:{xlsx:\\"application/vnd.openxmlformats-officedocument.spreadsheetml.sharedStrings+xml\\",xlsb:\\"application/vnd.ms-excel.sharedStrings\\"},comments:{xlsx:\\"application/vnd.openxmlformats-officedocument.spreadsheetml.comments+xml\\",xlsb:\\"application/vnd.ms-excel.comments\\"},sheets:{xlsx:\\"application/vnd.openxmlformats-officedocument.spreadsheetml.worksheet+xml\\",xlsb:\\"application/vnd.ms-excel.worksheet\\"},charts:{xlsx:\\"application/vnd.openxmlformats-officedocument.spreadsheetml.chartsheet+xml\\",xlsb:\\"application/vnd.ms-excel.chartsheet\\"},dialogs:{xlsx:\\"application/vnd.openxmlformats-officedocument.spreadsheetml.dialogsheet+xml\\",xlsb:\\"application/vnd.ms-excel.dialogsheet\\"},macros:{xlsx:\\"application/vnd.ms-excel.macrosheet+xml\\",xlsb:\\"application/vnd.ms-excel.macrosheet\\"},styles:{xlsx:\\"application/vnd.openxmlformats-officedocument.spreadsheetml.styles+xml\\",xlsb:\\"application/vnd.ms-excel.styles\\"}};K(e).forEach(function(r){[\\"xlsm\\",\\"xlam\\"].forEach(function(t){if(!e[r][t])e[r][t]=e[r].xlsx})});K(e).forEach(function(r){K(e[r]).forEach(function(t){Ia[e[r][t]]=r})});return e}();var Oa=Q(Ia);hr.CT=\\"http://schemas.openxmlformats.org/package/2006/content-types\\";function Da(){return{workbooks:[],sheets:[],charts:[],dialogs:[],macros:[],rels:[],strs:[],comments:[],links:[],coreprops:[],extprops:[],custprops:[],themes:[],styles:[],calcchains:[],vba:[],drawings:[],TODO:[],xmlns:\\"\\"}}function Fa(e){var r=Da();if(!e||!e.match)return r;var t={};(e.match(Re)||[]).forEach(function(e){var a=Fe(e);switch(a[0].replace(Oe,\\"<\\")){case\\"<?xml\\":break;case\\"<Types\\":r.xmlns=a[\\"xmlns\\"+(a[0].match(/<(\\\\w+):/)||[\\"\\",\\"\\"])[1]];break;case\\"<Default\\":t[a.Extension]=a.ContentType;break;case\\"<Override\\":if(r[Ia[a.ContentType]]!==undefined)r[Ia[a.ContentType]].push(a.PartName);break;}});if(r.xmlns!==hr.CT)throw new Error(\\"Unknown Namespace: \\"+r.xmlns);r.calcchain=r.calcchains.length>0?r.calcchains[0]:\\"\\";r.sst=r.strs.length>0?r.strs[0]:\\"\\";r.style=r.styles.length>0?r.styles[0]:\\"\\";r.defaults=t;delete r.calcchains;return r}var Pa=lr(\\"Types\\",null,{xmlns:hr.CT,\\"xmlns:xsd\\":hr.xsd,\\"xmlns:xsi\\":hr.xsi});var Na=[[\\"xml\\",\\"application/xml\\"],[\\"bin\\",\\"application/vnd.ms-excel.sheet.binary.macroEnabled.main\\"],[\\"vml\\",\\"application/vnd.openxmlformats-officedocument.vmlDrawing\\"],[\\"data\\",\\"application/vnd.openxmlformats-officedocument.model+data\\"],[\\"bmp\\",\\"image/bmp\\"],[\\"png\\",\\"image/png\\"],[\\"gif\\",\\"image/gif\\"],[\\"emf\\",\\"image/x-emf\\"],[\\"wmf\\",\\"image/x-wmf\\"],[\\"jpg\\",\\"image/jpeg\\"],[\\"jpeg\\",\\"image/jpeg\\"],[\\"tif\\",\\"image/tiff\\"],[\\"tiff\\",\\"image/tiff\\"],[\\"pdf\\",\\"application/pdf\\"],[\\"rels\\",Oa.rels[0]]].map(function(e){return lr(\\"Default\\",null,{Extension:e[0],ContentType:e[1]})});function La(e,r){var t=[],a;t[t.length]=Ae;t[t.length]=Pa;t=t.concat(Na);var n=function(n){if(e[n]&&e[n].length>0){a=e[n][0];t[t.length]=lr(\\"Override\\",null,{PartName:(a[0]==\\"/\\"?\\"\\":\\"/\\")+a,ContentType:Ra[n][r.bookType||\\"xlsx\\"]})}};var i=function(a){(e[a]||[]).forEach(function(e){t[t.length]=lr(\\"Override\\",null,{PartName:(e[0]==\\"/\\"?\\"\\":\\"/\\")+e,ContentType:Ra[a][r.bookType||\\"xlsx\\"]})})};var s=function(r){(e[r]||[]).forEach(function(e){t[t.length]=lr(\\"Override\\",null,{PartName:(e[0]==\\"/\\"?\\"\\":\\"/\\")+e,ContentType:Oa[r][0]})})};n(\\"workbooks\\");i(\\"sheets\\");i(\\"charts\\");s(\\"themes\\");[\\"strs\\",\\"styles\\"].forEach(n);[\\"coreprops\\",\\"extprops\\",\\"custprops\\"].forEach(s);s(\\"vba\\");s(\\"comments\\");s(\\"drawings\\");if(t.length>2){t[t.length]=\\"</Types>\\";t[1]=t[1].replace(\\"/>\\",\\">\\")}return t.join(\\"\\")}var Ma={WB:\\"http://schemas.openxmlformats.org/officeDocument/2006/relationships/officeDocument\\",SHEET:\\"http://sheetjs.openxmlformats.org/officeDocument/2006/relationships/officeDocument\\",HLINK:\\"http://schemas.openxmlformats.org/officeDocument/2006/relationships/hyperlink\\",VML:\\"http://schemas.openxmlformats.org/officeDocument/2006/relationships/vmlDrawing\\",XPATH:\\"http://schemas.openxmlformats.org/officeDocument/2006/relationships/externalLinkPath\\",XMISS:\\"http://schemas.microsoft.com/office/2006/relationships/xlExternalLinkPath/xlPathMissing\\",XLINK:\\"http://schemas.openxmlformats.org/officeDocument/2006/relationships/externalLink\\",CXML:\\"http://schemas.openxmlformats.org/officeDocument/2006/relationships/customXml\\",CXMLP:\\"http://schemas.openxmlformats.org/officeDocument/2006/relationships/customXmlProps\\",VBA:\\"http://schemas.microsoft.com/office/2006/relationships/vbaProject\\"};function Ua(e){var r=e.lastIndexOf(\\"/\\");return e.slice(0,r+1)+\\"_rels/\\"+e.slice(r+1)+\\".rels\\"}function za(e,r){var t={\\"!id\\":{}};if(!e)return t;if(r.charAt(0)!==\\"/\\"){r=\\"/\\"+r}var a={};(e.match(Re)||[]).forEach(function(e){var n=Fe(e);if(n[0]===\\"<Relationship\\"){var i={};i.Type=n.Type;i.Target=n.Target;i.Id=n.Id;i.TargetMode=n.TargetMode;var s=n.TargetMode===\\"External\\"?n.Target:xe(n.Target,r);t[s]=i;a[n.Id]=i}});t[\\"!id\\"]=a;return t}hr.RELS=\\"http://schemas.openxmlformats.org/package/2006/relationships\\";var Ha=lr(\\"Relationships\\",null,{xmlns:hr.RELS});function Wa(e){var r=[Ae,Ha];K(e[\\"!id\\"]).forEach(function(t){r[r.length]=lr(\\"Relationship\\",null,e[\\"!id\\"][t])});if(r.length>2){r[r.length]=\\"</Relationships>\\";r[1]=r[1].replace(\\"/>\\",\\">\\")}return r.join(\\"\\")}var Va=[Ma.HLINK,Ma.XPATH,Ma.XMISS];function Xa(e,r,t,a,n,i){if(!n)n={};if(!e[\\"!id\\"])e[\\"!id\\"]={};if(r<0)for(r=1;e[\\"!id\\"][\\"rId\\"+r];++r){}n.Id=\\"rId\\"+r;n.Type=a;n.Target=t;if(i)n.TargetMode=i;else if(Va.indexOf(n.Type)>-1)n.TargetMode=\\"External\\";if(e[\\"!id\\"][n.Id])throw new Error(\\"Cannot rewrite rId \\"+r);e[\\"!id\\"][n.Id]=n;e[(\\"/\\"+n.Target).replace(\\"//\\",\\"/\\")]=n;return r}var Ga=\\"application/vnd.oasis.opendocument.spreadsheet\\";function ja(e,r){var t=sp(e);var a;var n;while(a=fp.exec(t))switch(a[3]){case\\"manifest\\":break;case\\"file-entry\\":n=Fe(a[0],false);if(n.path==\\"/\\"&&n.type!==Ga)throw new Error(\\"This OpenDocument is not a spreadsheet\\");break;case\\"encryption-data\\":;case\\"algorithm\\":;case\\"start-key-generation\\":;case\\"key-derivation\\":throw new Error(\\"Unsupported ODS Encryption\\");default:if(r&&r.WTF)throw a;}}function Ka(e){var r=[Ae];r.push(\'<manifest:manifest xmlns:manifest=\\"urn:oasis:names:tc:opendocument:xmlns:manifest:1.0\\" manifest:version=\\"1.2\\">\\\\n\');r.push(\' <manifest:file-entry manifest:full-path=\\"/\\" manifest:version=\\"1.2\\" manifest:media-type=\\"application/vnd.oasis.opendocument.spreadsheet\\"/>\\\\n\');for(var t=0;t<e.length;++t)r.push(\' <manifest:file-entry manifest:full-path=\\"\'+e[t][0]+\'\\" manifest:media-type=\\"\'+e[t][1]+\'\\"/>\\\\n\');r.push(\\"</manifest:manifest>\\");return r.join(\\"\\")}function $a(e,r,t){return[\' <rdf:Description rdf:about=\\"\'+e+\'\\">\\\\n\',\' <rdf:type rdf:resource=\\"http://docs.oasis-open.org/ns/office/1.2/meta/\'+(t||\\"odf\\")+\\"#\\"+r+\'\\"/>\\\\n\',\\" </rdf:Description>\\\\n\\"].join(\\"\\")}function Ya(e,r){return[\' <rdf:Description rdf:about=\\"\'+e+\'\\">\\\\n\',\' <ns0:hasPart xmlns:ns0=\\"http://docs.oasis-open.org/ns/office/1.2/meta/pkg#\\" rdf:resource=\\"\'+r+\'\\"/>\\\\n\',\\" </rdf:Description>\\\\n\\"].join(\\"\\")}function Za(e){var r=[Ae];r.push(\'<rdf:RDF xmlns:rdf=\\"http://www.w3.org/1999/02/22-rdf-syntax-ns#\\">\\\\n\');for(var t=0;t!=e.length;++t){r.push($a(e[t][0],e[t][1]));r.push(Ya(\\"\\",e[t][0]))}r.push($a(\\"\\",\\"Document\\",\\"pkg\\"));r.push(\\"</rdf:RDF>\\");return r.join(\\"\\")}var Ja=function(){var r=\'<?xml version=\\"1.0\\" encoding=\\"UTF-8\\" standalone=\\"yes\\"?><office:document-meta xmlns:office=\\"urn:oasis:names:tc:opendocument:xmlns:office:1.0\\" xmlns:meta=\\"urn:oasis:names:tc:opendocument:xmlns:meta:1.0\\" xmlns:dc=\\"http://purl.org/dc/elements/1.1/\\" xmlns:xlink=\\"http://www.w3.org/1999/xlink\\" office:version=\\"1.2\\"><office:meta><meta:generator>Sheet\'+\\"JS \\"+e.version+\\"</meta:generator></office:meta></office:document-meta>\\";return function t(){return r}}();var Qa=[[\\"cp:category\\",\\"Category\\"],[\\"cp:contentStatus\\",\\"ContentStatus\\"],[\\"cp:keywords\\",\\"Keywords\\"],[\\"cp:lastModifiedBy\\",\\"LastAuthor\\"],[\\"cp:lastPrinted\\",\\"LastPrinted\\"],[\\"cp:revision\\",\\"RevNumber\\"],[\\"cp:version\\",\\"Version\\"],[\\"dc:creator\\",\\"Author\\"],[\\"dc:description\\",\\"Comments\\"],[\\"dc:identifier\\",\\"Identifier\\"],[\\"dc:language\\",\\"Language\\"],[\\"dc:subject\\",\\"Subject\\"],[\\"dc:title\\",\\"Title\\"],[\\"dcterms:created\\",\\"CreatedDate\\",\\"date\\"],[\\"dcterms:modified\\",\\"ModifiedDate\\",\\"date\\"]];hr.CORE_PROPS=\\"http://schemas.openxmlformats.org/package/2006/metadata/core-properties\\";Ma.CORE_PROPS=\\"http://schemas.openxmlformats.org/package/2006/relationships/metadata/core-properties\\";var qa=function(){var e=new Array(Qa.length);for(var r=0;r<Qa.length;++r){var t=Qa[r];var a=\\"(?:\\"+t[0].slice(0,t[0].indexOf(\\":\\"))+\\":)\\"+t[0].slice(t[0].indexOf(\\":\\")+1);e[r]=new RegExp(\\"<\\"+a+\\"[^>]*>([\\\\\\\\s\\\\\\\\S]*?)</\\"+a+\\">\\")}return e}();function en(e){var r={};e=Ye(e);for(var t=0;t<Qa.length;++t){var a=Qa[t],n=e.match(qa[t]);if(n!=null&&n.length>0)r[a[1]]=Me(n[1]);if(a[2]===\\"date\\"&&r[a[1]])r[a[1]]=oe(r[a[1]])}return r}var rn=lr(\\"cp:coreProperties\\",null,{\\"xmlns:cp\\":hr.CORE_PROPS,\\"xmlns:dc\\":hr.dc,\\"xmlns:dcterms\\":hr.dcterms,\\"xmlns:dcmitype\\":hr.dcmitype,\\"xmlns:xsi\\":hr.xsi});function tn(e,r,t,a,n){if(n[e]!=null||r==null||r===\\"\\")return;n[e]=r;r=He(r);a[a.length]=t?lr(e,r,t):fr(e,r)}function an(e,r){var t=r||{};var a=[Ae,rn],n={};if(!e&&!t.Props)return a.join(\\"\\");if(e){if(e.CreatedDate!=null)tn(\\"dcterms:created\\",typeof e.CreatedDate===\\"string\\"?e.CreatedDate:cr(e.CreatedDate,t.WTF),{\\"xsi:type\\":\\"dcterms:W3CDTF\\"},a,n);if(e.ModifiedDate!=null)tn(\\"dcterms:modified\\",typeof e.ModifiedDate===\\"string\\"?e.ModifiedDate:cr(e.ModifiedDate,t.WTF),{\\"xsi:type\\":\\"dcterms:W3CDTF\\"},a,n)}for(var i=0;i!=Qa.length;++i){var s=Qa[i];var f=t.Props&&t.Props[s[1]]!=null?t.Props[s[1]]:e?e[s[1]]:null;if(f===true)f=\\"1\\";else if(f===false)f=\\"0\\";else if(typeof f==\\"number\\")f=String(f);if(f!=null)tn(s[0],f,null,a,n)}if(a.length>2){a[a.length]=\\"</cp:coreProperties>\\";a[1]=a[1].replace(\\"/>\\",\\">\\")}return a.join(\\"\\")}var nn=[[\\"Application\\",\\"Application\\",\\"string\\"],[\\"AppVersion\\",\\"AppVersion\\",\\"string\\"],[\\"Company\\",\\"Company\\",\\"string\\"],[\\"DocSecurity\\",\\"DocSecurity\\",\\"string\\"],[\\"Manager\\",\\"Manager\\",\\"string\\"],[\\"HyperlinksChanged\\",\\"HyperlinksChanged\\",\\"bool\\"],[\\"SharedDoc\\",\\"SharedDoc\\",\\"bool\\"],[\\"LinksUpToDate\\",\\"LinksUpToDate\\",\\"bool\\"],[\\"ScaleCrop\\",\\"ScaleCrop\\",\\"bool\\"],[\\"HeadingPairs\\",\\"HeadingPairs\\",\\"raw\\"],[\\"TitlesOfParts\\",\\"TitlesOfParts\\",\\"raw\\"]];hr.EXT_PROPS=\\"http://schemas.openxmlformats.org/officeDocument/2006/extended-properties\\";Ma.EXT_PROPS=\\"http://schemas.openxmlformats.org/officeDocument/2006/relationships/extended-properties\\";var sn=[\\"Worksheets\\",\\"SheetNames\\",\\"NamedRanges\\",\\"DefinedNames\\",\\"Chartsheets\\",\\"ChartNames\\"];function fn(e,r,t,a){var n=[];if(typeof e==\\"string\\")n=ir(e,a);else for(var i=0;i<e.length;++i)n=n.concat(e[i].map(function(e){return{v:e}}));var s=typeof r==\\"string\\"?ir(r,a).map(function(e){return e.v}):r;var f=0,o=0;if(s.length>0)for(var l=0;l!==n.length;l+=2){o=+n[l+1].v;switch(n[l].v){case\\"Worksheets\\":;case\\"工作表\\":;case\\"Листы\\":;case\\"أوراق العمل\\":;case\\"ワークシート\\":;case\\"גליונות עבודה\\":;case\\"Arbeitsblätter\\":;case\\"Çalışma Sayfaları\\":;case\\"Feuilles de calcul\\":;case\\"Fogli di lavoro\\":;case\\"Folhas de cálculo\\":;case\\"Planilhas\\":;case\\"Regneark\\":;case\\"Hojas de cálculo\\":;case\\"Werkbladen\\":t.Worksheets=o;t.SheetNames=s.slice(f,f+o);break;case\\"Named Ranges\\":;case\\"Rangos con nombre\\":;case\\"名前付き一覧\\":;case\\"Benannte Bereiche\\":;case\\"Navngivne områder\\":t.NamedRanges=o;t.DefinedNames=s.slice(f,f+o);break;case\\"Charts\\":;case\\"Diagramme\\":t.Chartsheets=o;t.ChartNames=s.slice(f,f+o);break;}f+=o}}function on(e,r,t){var a={};if(!r)r={};e=Ye(e);nn.forEach(function(t){var n=(e.match(er(t[0]))||[])[1];switch(t[2]){case\\"string\\":if(n)r[t[1]]=Me(n);break;case\\"bool\\":r[t[1]]=n===\\"true\\";break;case\\"raw\\":var i=e.match(new RegExp(\\"<\\"+t[0]+\\"[^>]*>([\\\\\\\\s\\\\\\\\S]*?)</\\"+t[0]+\\">\\"));if(i&&i.length>0)a[t[1]]=i[1];break;}});if(a.HeadingPairs&&a.TitlesOfParts)fn(a.HeadingPairs,a.TitlesOfParts,r,t);return r}var ln=lr(\\"Properties\\",null,{xmlns:hr.EXT_PROPS,\\"xmlns:vt\\":hr.vt});function cn(e){var r=[],t=lr;if(!e)e={};e.Application=\\"SheetJS\\";r[r.length]=Ae;r[r.length]=ln;nn.forEach(function(a){if(e[a[1]]===undefined)return;var n;switch(a[2]){case\\"string\\":n=He(String(e[a[1]]));break;case\\"bool\\":n=e[a[1]]?\\"true\\":\\"false\\";break;}if(n!==undefined)r[r.length]=t(a[0],n)});r[r.length]=t(\\"HeadingPairs\\",t(\\"vt:vector\\",t(\\"vt:variant\\",\\"<vt:lpstr>Worksheets</vt:lpstr>\\")+t(\\"vt:variant\\",t(\\"vt:i4\\",String(e.Worksheets))),{size:2,baseType:\\"variant\\"}));r[r.length]=t(\\"TitlesOfParts\\",t(\\"vt:vector\\",e.SheetNames.map(function(e){return\\"<vt:lpstr>\\"+He(e)+\\"</vt:lpstr>\\"}).join(\\"\\"),{size:e.Worksheets,baseType:\\"lpstr\\"}));if(r.length>2){r[r.length]=\\"</Properties>\\";r[1]=r[1].replace(\\"/>\\",\\">\\")}return r.join(\\"\\")}hr.CUST_PROPS=\\"http://schemas.openxmlformats.org/officeDocument/2006/custom-properties\\";Ma.CUST_PROPS=\\"http://schemas.openxmlformats.org/officeDocument/2006/relationships/custom-properties\\";var un=/<[^>]+>[^<]*/g;function hn(e,r){var t={},a=\\"\\";var n=e.match(un);if(n)for(var i=0;i!=n.length;++i){var s=n[i],f=Fe(s);switch(f[0]){case\\"<?xml\\":break;case\\"<Properties\\":break;case\\"<property\\":a=Me(f.name);break;case\\"</property>\\":a=null;break;default:if(s.indexOf(\\"<vt:\\")===0){var o=s.split(\\">\\");var l=o[0].slice(4),c=o[1];switch(l){case\\"lpstr\\":;case\\"bstr\\":;case\\"lpwstr\\":t[a]=Me(c);break;case\\"bool\\":t[a]=$e(c);break;case\\"i1\\":;case\\"i2\\":;case\\"i4\\":;case\\"i8\\":;case\\"int\\":;case\\"uint\\":t[a]=parseInt(c,10);break;case\\"r4\\":;case\\"r8\\":;case\\"decimal\\":t[a]=parseFloat(c);break;case\\"filetime\\":;case\\"date\\":t[a]=oe(c);break;case\\"cy\\":;case\\"error\\":t[a]=Me(c);break;default:if(l.slice(-1)==\\"/\\")break;if(r.WTF&&typeof console!==\\"undefined\\")console.warn(\\"Unexpected\\",s,l,o);}}else if(s.slice(0,2)===\\"</\\"){}else if(r.WTF)throw new Error(s);}}return t}var dn=lr(\\"Properties\\",null,{xmlns:hr.CUST_PROPS,\\"xmlns:vt\\":hr.vt});function vn(e){var r=[Ae,dn];if(!e)return r.join(\\"\\");var t=1;K(e).forEach(function a(n){++t;r[r.length]=lr(\\"property\\",ur(e[n],true),{fmtid:\\"{D5CDD505-2E9C-101B-9397-08002B2CF9AE}\\",pid:t,name:He(n)})});if(r.length>2){r[r.length]=\\"</Properties>\\";r[1]=r[1].replace(\\"/>\\",\\">\\")}return r.join(\\"\\")}var pn={Title:\\"Title\\",Subject:\\"Subject\\",Author:\\"Author\\",Keywords:\\"Keywords\\",Comments:\\"Description\\",LastAuthor:\\"LastAuthor\\",RevNumber:\\"Revision\\",Application:\\"AppName\\",LastPrinted:\\"LastPrinted\\",CreatedDate:\\"Created\\",ModifiedDate:\\"LastSaved\\",Category:\\"Category\\",Manager:\\"Manager\\",Company:\\"Company\\",AppVersion:\\"Version\\",ContentStatus:\\"ContentStatus\\",Identifier:\\"Identifier\\",Language:\\"Language\\"};var mn=Z(pn);function bn(e,r,t){r=mn[r]||r;e[r]=t}function gn(e,r){var t=[];K(pn).map(function(e){for(var r=0;r<Qa.length;++r)if(Qa[r][1]==e)return Qa[r];for(r=0;r<nn.length;++r)if(nn[r][1]==e)return nn[r];throw e}).forEach(function(a){if(e[a[1]]==null)return;var n=r&&r.Props&&r.Props[a[1]]!=null?r.Props[a[1]]:e[a[1]];switch(a[2]){case\\"date\\":n=new Date(n).toISOString().replace(/\\\\.\\\\d*Z/,\\"Z\\");break;}if(typeof n==\\"number\\")n=String(n);else if(n===true||n===false){n=n?\\"1\\":\\"0\\"}else if(n instanceof Date)n=new Date(n).toISOString().replace(/\\\\.\\\\d*Z/,\\"\\");t.push(fr(pn[a[1]]||a[1],n))});return lr(\\"DocumentProperties\\",t.join(\\"\\"),{xmlns:dr.o})}function wn(e,r){var t=[\\"Worksheets\\",\\"SheetNames\\"];var a=\\"CustomDocumentProperties\\";var n=[];if(e)K(e).forEach(function(r){if(!Object.prototype.hasOwnProperty.call(e,r))return;for(var a=0;a<Qa.length;++a)if(r==Qa[a][1])return;for(a=0;a<nn.length;++a)if(r==nn[a][1])return;for(a=0;a<t.length;++a)if(r==t[a])return;var i=e[r];var s=\\"string\\";if(typeof i==\\"number\\"){s=\\"float\\";i=String(i)}else if(i===true||i===false){s=\\"boolean\\";i=i?\\"1\\":\\"0\\"}else i=String(i);n.push(lr(We(r),i,{\\"dt:dt\\":s}))});if(r)K(r).forEach(function(t){if(!Object.prototype.hasOwnProperty.call(r,t))return;if(e&&Object.prototype.hasOwnProperty.call(e,t))return;var a=r[t];var i=\\"string\\";if(typeof a==\\"number\\"){i=\\"float\\";a=String(a)}else if(a===true||a===false){i=\\"boolean\\";a=a?\\"1\\":\\"0\\"}else if(a instanceof Date){i=\\"dateTime.tz\\";a=a.toISOString()}else a=String(a);n.push(lr(We(t),a,{\\"dt:dt\\":i}))});return\\"<\\"+a+\' xmlns=\\"\'+dr.o+\'\\">\'+n.join(\\"\\")+\\"</\\"+a+\\">\\"}function kn(e){var r=e._R(4),t=e._R(4);return new Date((t/1e7*Math.pow(2,32)+r/1e7-11644473600)*1e3).toISOString().replace(/\\\\.000/,\\"\\")}function En(e){var r=typeof e==\\"string\\"?new Date(Date.parse(e)):e;var t=r.getTime()/1e3+11644473600;var a=t%Math.pow(2,32),n=(t-a)/Math.pow(2,32);a*=1e7;n*=1e7;var i=a/Math.pow(2,32)|0;if(i>0){a=a%Math.pow(2,32);n+=i}var s=Jr(8);s._W(4,a);s._W(4,n);return s}function Sn(e,r,t){var a=e.l;var n=e._R(0,\\"lpstr-cp\\");if(t)while(e.l-a&3)++e.l;return n}function _n(e,r,t){var a=e._R(0,\\"lpwstr\\");if(t)e.l+=4-(a.length+1&3)&3;return a}function Cn(e,r,t){if(r===31)return _n(e);return Sn(e,r,t)}function Bn(e,r,t){return Cn(e,r,t===false?0:4)}function Tn(e,r){if(!r)throw new Error(\\"VtUnalignedString must have positive length\\");return Cn(e,r,0)}function yn(e){var r=e._R(4);var t=[];for(var a=0;a!=r;++a)t[a]=e._R(0,\\"lpstr-cp\\").replace(R,\\"\\");return t}function xn(e){return yn(e)}function An(e){var r=Pn(e,ma);var t=Pn(e,sa);return[r,t]}function In(e){var r=e._R(4);var t=[];for(var a=0;a!=r/2;++a)t.push(An(e));return t}function Rn(e){return In(e)}function On(e,r){var t=e._R(4);var a={};for(var n=0;n!=t;++n){var i=e._R(4);var s=e._R(4);a[i]=e._R(s,r===1200?\\"utf16le\\":\\"utf8\\").replace(R,\\"\\").replace(O,\\"!\\");if(r===1200&&s%2)e.l+=2}if(e.l&3)e.l=e.l>>2+1<<2;return a}function Dn(e){var r=e._R(4);var t=e.slice(e.l,e.l+r);e.l+=r;if((r&3)>0)e.l+=4-(r&3)&3;return t}function Fn(e){var r={};r.Size=e._R(4);e.l+=r.Size+3-(r.Size-1)%4;return r}function Pn(e,r,t){var a=e._R(2),n,i=t||{};e.l+=2;if(r!==oa)if(a!==r&&ba.indexOf(r)===-1)throw new Error(\\"Expected type \\"+r+\\" saw \\"+a);switch(r===oa?a:r){case 2:n=e._R(2,\\"i\\");if(!i.raw)e.l+=2;return n;case 3:n=e._R(4,\\"i\\");return n;case 11:return e._R(4)!==0;case 19:n=e._R(4);return n;case 30:return Sn(e,a,4).replace(R,\\"\\");case 31:return _n(e);case 64:return kn(e);case 65:return Dn(e);case 71:return Fn(e);case 80:return Bn(e,a,!i.raw).replace(R,\\"\\");case 81:return Tn(e,a).replace(R,\\"\\");case 4108:return Rn(e);case 4126:return xn(e);default:throw new Error(\\"TypedPropertyValue unrecognized type \\"+r+\\" \\"+a);}}function Nn(e,r){var t=Jr(4),a=Jr(4);t._W(4,e==80?31:e);switch(e){case 3:a._W(-4,r);break;case 5:a=Jr(8);a._W(8,r,\\"f\\");break;case 11:a._W(4,r?1:0);break;case 64:a=En(r);break;case 31:;case 80:a=Jr(4+2*(r.length+1)+(r.length%2?0:2));a._W(4,r.length+1);a._W(0,r,\\"dbcs\\");while(a.l!=a.length)a._W(1,0);break;default:throw new Error(\\"TypedPropertyValue unrecognized type \\"+e+\\" \\"+r);\\n;}return I([t,a])}function Ln(e,r){var t=e.l;var a=e._R(4);var n=e._R(4);var i=[],s=0;var f=0;var l=-1,c={};for(s=0;s!=n;++s){var u=e._R(4);var h=e._R(4);i[s]=[u,h+t]}i.sort(function(e,r){return e[1]-r[1]});var d={};for(s=0;s!=n;++s){if(e.l!==i[s][1]){var v=true;if(s>0&&r)switch(r[i[s-1][0]].t){case 2:if(e.l+2===i[s][1]){e.l+=2;v=false}break;case 80:if(e.l<=i[s][1]){e.l=i[s][1];v=false}break;case 4108:if(e.l<=i[s][1]){e.l=i[s][1];v=false}break;}if((!r||s==0)&&e.l<=i[s][1]){v=false;e.l=i[s][1]}if(v)throw new Error(\\"Read Error: Expected address \\"+i[s][1]+\\" at \\"+e.l+\\" :\\"+s)}if(r){var p=r[i[s][0]];d[p.n]=Pn(e,p.t,{raw:true});if(p.p===\\"version\\")d[p.n]=String(d[p.n]>>16)+\\".\\"+(\\"0000\\"+String(d[p.n]&65535)).slice(-4);if(p.n==\\"CodePage\\")switch(d[p.n]){case 0:d[p.n]=1252;case 874:;case 932:;case 936:;case 949:;case 950:;case 1250:;case 1251:;case 1253:;case 1254:;case 1255:;case 1256:;case 1257:;case 1258:;case 1e4:;case 1200:;case 1201:;case 1252:;case 65e3:;case-536:;case 65001:;case-535:o(f=d[p.n]>>>0&65535);break;default:throw new Error(\\"Unsupported CodePage: \\"+d[p.n]);}}else{if(i[s][0]===1){f=d.CodePage=Pn(e,ia);o(f);if(l!==-1){var m=e.l;e.l=i[l][1];c=On(e,f);e.l=m}}else if(i[s][0]===0){if(f===0){l=s;e.l=i[s+1][1];continue}c=On(e,f)}else{var b=c[i[s][0]];var g;switch(e[e.l]){case 65:e.l+=4;g=Dn(e);break;case 30:e.l+=4;g=Bn(e,e[e.l-4]).replace(/\\\\u0000+$/,\\"\\");break;case 31:e.l+=4;g=Bn(e,e[e.l-4]).replace(/\\\\u0000+$/,\\"\\");break;case 3:e.l+=4;g=e._R(4,\\"i\\");break;case 19:e.l+=4;g=e._R(4);break;case 5:e.l+=4;g=e._R(8,\\"f\\");break;case 11:e.l+=4;g=jn(e,4);break;case 64:e.l+=4;g=oe(kn(e));break;default:throw new Error(\\"unparsed value: \\"+e[e.l]);}d[b]=g}}}e.l=t+a;return d}var Mn=[\\"CodePage\\",\\"Thumbnail\\",\\"_PID_LINKBASE\\",\\"_PID_HLINKS\\",\\"SystemIdentifier\\",\\"FMTID\\"].concat(sn);function Un(e){switch(typeof e){case\\"boolean\\":return 11;case\\"number\\":return(e|0)==e?3:5;case\\"string\\":return 31;case\\"object\\":if(e instanceof Date)return 64;break;}return-1}function zn(e,r,t){var a=Jr(8),n=[],i=[];var s=8,f=0;var o=Jr(8),l=Jr(8);o._W(4,2);o._W(4,1200);l._W(4,1);i.push(o);n.push(l);s+=8+o.length;if(!r){l=Jr(8);l._W(4,0);n.unshift(l);var c=[Jr(4)];c[0]._W(4,e.length);for(f=0;f<e.length;++f){var u=e[f][0];o=Jr(4+4+2*(u.length+1)+(u.length%2?0:2));o._W(4,f+2);o._W(4,u.length+1);o._W(0,u,\\"dbcs\\");while(o.l!=o.length)o._W(1,0);c.push(o)}o=I(c);i.unshift(o);s+=8+o.length}for(f=0;f<e.length;++f){if(r&&!r[e[f][0]])continue;if(Mn.indexOf(e[f][0])>-1)continue;if(e[f][1]==null)continue;var h=e[f][1],d=0;if(r){d=+r[e[f][0]];var v=t[d];if(v.p==\\"version\\"&&typeof h==\\"string\\"){var p=h.split(\\".\\");h=(+p[0]<<16)+(+p[1]||0)}o=Nn(v.t,h)}else{var m=Un(h);if(m==-1){m=31;h=String(h)}o=Nn(m,h)}i.push(o);l=Jr(8);l._W(4,!r?2+f:d);n.push(l);s+=8+o.length}var b=8*(i.length+1);for(f=0;f<i.length;++f){n[f]._W(4,b);b+=i[f].length}a._W(4,s);a._W(4,i.length);return I([a].concat(n).concat(i))}function Hn(e,r,t){var a=e.content;if(!a)return{};Yr(a,0);var n,i,s,f,o=0;a.chk(\\"feff\\",\\"Byte Order: \\");a._R(2);var l=a._R(4);var c=a._R(16);if(c!==W.utils.consts.HEADER_CLSID&&c!==t)throw new Error(\\"Bad PropertySet CLSID \\"+c);n=a._R(4);if(n!==1&&n!==2)throw new Error(\\"Unrecognized #Sets: \\"+n);i=a._R(16);f=a._R(4);if(n===1&&f!==a.l)throw new Error(\\"Length mismatch: \\"+f+\\" !== \\"+a.l);else if(n===2){s=a._R(16);o=a._R(4)}var u=Ln(a,r);var h={SystemIdentifier:l};for(var d in u)h[d]=u[d];h.FMTID=i;if(n===1)return h;if(o-a.l==2)a.l+=2;if(a.l!==o)throw new Error(\\"Length mismatch 2: \\"+a.l+\\" !== \\"+o);var v;try{v=Ln(a,null)}catch(p){}for(d in v)h[d]=v[d];h.FMTID=[i,s];return h}function Wn(e,r,t,a,n,i){var s=Jr(n?68:48);var f=[s];s._W(2,65534);s._W(2,0);s._W(4,842412599);s._W(16,W.utils.consts.HEADER_CLSID,\\"hex\\");s._W(4,n?2:1);s._W(16,r,\\"hex\\");s._W(4,n?68:48);var o=zn(e,t,a);f.push(o);if(n){var l=zn(n,null,null);s._W(16,i,\\"hex\\");s._W(4,68+o.length);f.push(l)}return I(f)}function Vn(e,r){e._R(r);return null}function Xn(e,r){if(!r)r=Jr(e);for(var t=0;t<e;++t)r._W(1,0);return r}function Gn(e,r,t){var a=[],n=e.l+r;while(e.l<n)a.push(t(e,n-e.l));if(n!==e.l)throw new Error(\\"Slurp error\\");return a}function jn(e,r){return e._R(r)===1}function Kn(e,r){if(!r)r=Jr(2);r._W(2,+!!e);return r}function $n(e){return e._R(2,\\"u\\")}function Yn(e,r){if(!r)r=Jr(2);r._W(2,e);return r}function Zn(e,r){return Gn(e,r,$n)}function Jn(e){var r=e._R(1),t=e._R(1);return t===1?r:r===1}function Qn(e,r,t){if(!t)t=Jr(2);t._W(1,+e);t._W(1,r==\\"e\\"?1:0);return t}function qn(e,t,a){var n=e._R(a&&a.biff>=12?2:1);var i=\\"sbcs-cont\\";var s=r;if(a&&a.biff>=8)r=1200;if(!a||a.biff==8){var f=e._R(1);if(f){i=\\"dbcs-cont\\"}}else if(a.biff==12){i=\\"wstr\\"}if(a.biff>=2&&a.biff<=5)i=\\"cpstr\\";var o=n?e._R(n,i):\\"\\";r=s;return o}function ei(e){var t=r;r=1200;var a=e._R(2),n=e._R(1);var i=n&4,s=n&8;var f=1+(n&1);var o=0,l;var c={};if(s)o=e._R(2);if(i)l=e._R(4);var u=f==2?\\"dbcs-cont\\":\\"sbcs-cont\\";var h=a===0?\\"\\":e._R(a,u);if(s)e.l+=4*o;if(i)e.l+=l;c.t=h;if(!s){c.raw=\\"<t>\\"+c.t+\\"</t>\\";c.r=c.t}r=t;return c}function ri(e){var r=e.t||\\"\\",t=1;var a=Jr(3+(t>1?2:0));a._W(2,r.length);a._W(1,(t>1?8:0)|1);if(t>1)a._W(2,t);var n=Jr(2*r.length);n._W(2*r.length,r,\\"utf16le\\");var i=[a,n];return I(i)}function ti(e,r,t){var a;if(t){if(t.biff>=2&&t.biff<=5)return e._R(r,\\"cpstr\\");if(t.biff>=12)return e._R(r,\\"dbcs-cont\\")}var n=e._R(1);if(n===0){a=e._R(r,\\"sbcs-cont\\")}else{a=e._R(r,\\"dbcs-cont\\")}return a}function ai(e,r,t){var a=e._R(t&&t.biff==2?1:2);if(a===0){e.l++;return\\"\\"}return ti(e,a,t)}function ni(e,r,t){if(t.biff>5)return ai(e,r,t);var a=e._R(1);if(a===0){e.l++;return\\"\\"}return e._R(a,t.biff<=4||!e.lens?\\"cpstr\\":\\"sbcs-cont\\")}function ii(e,r,t){if(!t)t=Jr(3+2*e.length);t._W(2,e.length);t._W(1,1);t._W(31,e,\\"utf16le\\");return t}function si(e){var r=e._R(1);e.l++;var t=e._R(2);e.l+=2;return[r,t]}function fi(e){var r=e._R(4),t=e.l;var a=false;if(r>24){e.l+=r-24;if(e._R(16)===\\"795881f43b1d7f48af2c825dc4852763\\")a=true;e.l=t}var n=e._R((a?r-24:r)>>1,\\"utf16le\\").replace(R,\\"\\");if(a)e.l+=24;return n}function oi(e){e.l+=2;var r=e._R(0,\\"lpstr-ansi\\");e.l+=2;if(e._R(2)!=57005)throw new Error(\\"Bad FileMoniker\\");var t=e._R(4);if(t===0)return r.replace(/\\\\\\\\/g,\\"/\\");var a=e._R(4);if(e._R(2)!=3)throw new Error(\\"Bad FileMoniker\\");var n=e._R(a>>1,\\"utf16le\\").replace(R,\\"\\");return n}function li(e,r){var t=e._R(16);r-=16;switch(t){case\\"e0c9ea79f9bace118c8200aa004ba90b\\":return fi(e,r);case\\"0303000000000000c000000000000046\\":return oi(e,r);default:throw new Error(\\"Unsupported Moniker \\"+t);}}function ci(e){var r=e._R(4);var t=r>0?e._R(r,\\"utf16le\\").replace(R,\\"\\"):\\"\\";return t}function ui(e,r){var t=e.l+r;var a=e._R(4);if(a!==2)throw new Error(\\"Unrecognized streamVersion: \\"+a);var n=e._R(2);e.l+=2;var i,s,f,o,l=\\"\\",c,u;if(n&16)i=ci(e,t-e.l);if(n&128)s=ci(e,t-e.l);if((n&257)===257)f=ci(e,t-e.l);if((n&257)===1)o=li(e,t-e.l);if(n&8)l=ci(e,t-e.l);if(n&32)c=e._R(16);if(n&64)u=kn(e);e.l=t;var h=s||f||o||\\"\\";if(h&&l)h+=\\"#\\"+l;if(!h)h=\\"#\\"+l;var d={Target:h};if(c)d.guid=c;if(u)d.time=u;if(i)d.Tooltip=i;return d}function hi(e){var r=Jr(512),t=0;var a=e.Target;var n=a.indexOf(\\"#\\")>-1?31:23;switch(a.charAt(0)){case\\"#\\":n=28;break;case\\".\\":n&=~2;break;}r._W(4,2);r._W(4,n);var i=[8,6815827,6619237,4849780,83];for(t=0;t<i.length;++t)r._W(4,i[t]);if(n==28){a=a.slice(1);r._W(4,a.length+1);for(t=0;t<a.length;++t)r._W(2,a.charCodeAt(t));r._W(2,0)}else if(n&2){i=\\"e0 c9 ea 79 f9 ba ce 11 8c 82 00 aa 00 4b a9 0b\\".split(\\" \\");for(t=0;t<i.length;++t)r._W(1,parseInt(i[t],16));r._W(4,2*(a.length+1));for(t=0;t<a.length;++t)r._W(2,a.charCodeAt(t));r._W(2,0)}else{i=\\"03 03 00 00 00 00 00 00 c0 00 00 00 00 00 00 46\\".split(\\" \\");for(t=0;t<i.length;++t)r._W(1,parseInt(i[t],16));var s=0;while(a.slice(s*3,s*3+3)==\\"../\\"||a.slice(s*3,s*3+3)==\\"..\\\\\\\\\\")++s;r._W(2,s);r._W(4,a.length+1);for(t=0;t<a.length;++t)r._W(1,a.charCodeAt(t)&255);r._W(1,0);r._W(2,65535);r._W(2,57005);for(t=0;t<6;++t)r._W(4,0)}return r.slice(0,r.l)}function di(e){var r=e._R(1),t=e._R(1),a=e._R(1),n=e._R(1);return[r,t,a,n]}function vi(e,r){var t=di(e,r);t[3]=0;return t}function pi(e){var r=e._R(2);var t=e._R(2);var a=e._R(2);return{r:r,c:t,ixfe:a}}function mi(e,r,t,a){if(!a)a=Jr(6);a._W(2,e);a._W(2,r);a._W(2,t||0);return a}function bi(e){var r=e._R(2);var t=e._R(2);e.l+=8;return{type:r,flags:t}}function gi(e,r,t){return r===0?\\"\\":ni(e,r,t)}function wi(e,r,t){var a=t.biff>8?4:2;var n=e._R(a),i=e._R(a,\\"i\\"),s=e._R(a,\\"i\\");return[n,i,s]}function ki(e){var r=e._R(2);var t=Xt(e);return[r,t]}function Ei(e,r,t){e.l+=4;r-=4;var a=e.l+r;var n=qn(e,r,t);var i=e._R(2);a-=e.l;if(i!==a)throw new Error(\\"Malformed AddinUdf: padding = \\"+a+\\" != \\"+i);e.l+=i;return n}function Si(e){var r=e._R(2);var t=e._R(2);var a=e._R(2);var n=e._R(2);return{s:{c:a,r:r},e:{c:n,r:t}}}function _i(e,r){if(!r)r=Jr(8);r._W(2,e.s.r);r._W(2,e.e.r);r._W(2,e.s.c);r._W(2,e.e.c);return r}function Ci(e){var r=e._R(2);var t=e._R(2);var a=e._R(1);var n=e._R(1);return{s:{c:a,r:r},e:{c:n,r:t}}}var Bi=Ci;function Ti(e){e.l+=4;var r=e._R(2);var t=e._R(2);var a=e._R(2);e.l+=12;return[t,r,a]}function yi(e){var r={};e.l+=4;e.l+=16;r.fSharedNote=e._R(2);e.l+=4;return r}function xi(e){var r={};e.l+=4;e.cf=e._R(2);return r}function Ai(e){e.l+=2;e.l+=e._R(2)}var Ii={0:Ai,4:Ai,5:Ai,6:Ai,7:xi,8:Ai,9:Ai,10:Ai,11:Ai,12:Ai,13:yi,14:Ai,15:Ai,16:Ai,17:Ai,18:Ai,19:Ai,20:Ai,21:Ti};function Ri(e,r){var t=e.l+r;var a=[];while(e.l<t){var n=e._R(2);e.l-=2;try{a.push(Ii[n](e,t-e.l))}catch(i){e.l=t;return a}}if(e.l!=t)e.l=t;return a}function Oi(e,r){var t={BIFFVer:0,dt:0};t.BIFFVer=e._R(2);r-=2;if(r>=2){t.dt=e._R(2);e.l-=2}switch(t.BIFFVer){case 1536:;case 1280:;case 1024:;case 768:;case 512:;case 2:;case 7:break;default:if(r>6)throw new Error(\\"Unexpected BIFF Ver \\"+t.BIFFVer);}e._R(r);return t}function Di(e,r,t){var a=1536,n=16;switch(t.bookType){case\\"biff8\\":break;case\\"biff5\\":a=1280;n=8;break;case\\"biff4\\":a=4;n=6;break;case\\"biff3\\":a=3;n=6;break;case\\"biff2\\":a=2;n=4;break;case\\"xla\\":break;default:throw new Error(\\"unsupported BIFF version\\");}var i=Jr(n);i._W(2,a);i._W(2,r);if(n>4)i._W(2,29282);if(n>6)i._W(2,1997);if(n>8){i._W(2,49161);i._W(2,1);i._W(2,1798);i._W(2,0)}return i}function Fi(e,r){if(r===0)return 1200;if(e._R(2)!==1200){}return 1200}function Pi(e,r,t){if(t.enc){e.l+=r;return\\"\\"}var a=e.l;var n=ni(e,0,t);e._R(r+a-e.l);return n}function Ni(e,r){var t=!r||r.biff==8;var a=Jr(t?112:54);a._W(r.biff==8?2:1,7);if(t)a._W(1,0);a._W(4,859007059);a._W(4,5458548|(t?0:536870912));while(a.l<a.length)a._W(1,t?0:32);return a}function Li(e,r,t){var a=t&&t.biff==8||r==2?e._R(2):(e.l+=r,0);return{fDialog:a&16}}function Mi(e,r,t){var a=e._R(4);var n=e._R(1)&3;var i=e._R(1);switch(i){case 0:i=\\"Worksheet\\";break;case 1:i=\\"Macrosheet\\";break;case 2:i=\\"Chartsheet\\";break;case 6:i=\\"VBAModule\\";break;}var s=qn(e,0,t);if(s.length===0)s=\\"Sheet1\\";return{pos:a,hs:n,dt:i,name:s}}function Ui(e,r){var t=!r||r.biff>=8?2:1;var a=Jr(8+t*e.name.length);a._W(4,e.pos);a._W(1,e.hs||0);a._W(1,e.dt);a._W(1,e.name.length);if(r.biff>=8)a._W(1,1);a._W(t*e.name.length,e.name,r.biff<8?\\"sbcs\\":\\"utf16le\\");var n=a.slice(0,a.l);n.l=a.l;return n}function zi(e,r){var t=e.l+r;var a=e._R(4);var n=e._R(4);var i=[];for(var s=0;s!=n&&e.l<t;++s){i.push(ei(e))}i.Count=a;i.Unique=n;return i}function Hi(e,r){var t=Jr(8);t._W(4,e.Count);t._W(4,e.Unique);var a=[];for(var n=0;n<e.length;++n)a[n]=ri(e[n],r);var i=I([t].concat(a));i.parts=[t.length].concat(a.map(function(e){return e.length}));return i}function Wi(e,r){var t={};t.dsst=e._R(2);e.l+=r-2;return t}function Vi(e){var r={};r.r=e._R(2);r.c=e._R(2);r.cnt=e._R(2)-r.c;var t=e._R(2);e.l+=4;var a=e._R(1);e.l+=3;if(a&7)r.level=a&7;if(a&32)r.hidden=true;if(a&64)r.hpt=t/20;return r}function Xi(e){var r=bi(e);if(r.type!=2211)throw new Error(\\"Invalid Future Record \\"+r.type);var t=e._R(4);return t!==0}function Gi(e){e._R(2);return e._R(4)}function ji(e,r,t){var a=0;if(!(t&&t.biff==2)){a=e._R(2)}var n=e._R(2);if(t&&t.biff==2){a=1-(n>>15);n&=32767}var i={Unsynced:a&1,DyZero:(a&2)>>1,ExAsc:(a&4)>>2,ExDsc:(a&8)>>3};return[i,n]}function Ki(e){var r=e._R(2),t=e._R(2),a=e._R(2),n=e._R(2);var i=e._R(2),s=e._R(2),f=e._R(2);var o=e._R(2),l=e._R(2);return{Pos:[r,t],Dim:[a,n],Flags:i,CurTab:s,FirstTab:f,Selected:o,TabRatio:l}}function $i(){var e=Jr(18);e._W(2,0);e._W(2,0);e._W(2,29280);e._W(2,17600);e._W(2,56);e._W(2,0);e._W(2,0);e._W(2,1);e._W(2,500);return e}function Yi(e,r,t){if(t&&t.biff>=2&&t.biff<5)return{};var a=e._R(2);return{RTL:a&64}}function Zi(e){var r=Jr(18),t=1718;if(e&&e.RTL)t|=64;r._W(2,t);r._W(4,0);r._W(4,64);r._W(4,0);r._W(4,0);return r}function Ji(){}function Qi(e,r,t){var a={dyHeight:e._R(2),fl:e._R(2)};switch(t&&t.biff||8){case 2:break;case 3:;case 4:e.l+=2;break;default:e.l+=10;break;}a.name=qn(e,0,t);return a}function qi(e,r){var t=e.name||\\"Arial\\";var a=r&&r.biff==5,n=a?15+t.length:16+2*t.length;var i=Jr(n);i._W(2,(e.sz||12)*20);i._W(4,0);i._W(2,400);i._W(4,0);i._W(2,0);i._W(1,t.length);if(!a)i._W(1,1);i._W((a?1:2)*t.length,t,a?\\"sbcs\\":\\"utf16le\\");return i}function es(e){var r=pi(e);r.isst=e._R(4);return r}function rs(e,r,t,a){var n=Jr(10);mi(e,r,a,n);n._W(4,t);return n}function ts(e,r,t){var a=e.l+r;var n=pi(e,6);if(t.biff==2)e.l++;var i=ai(e,a-e.l,t);n.val=i;return n}function as(e,r,t,a,n){var i=!n||n.biff==8;var s=Jr(6+2+ +i+(1+i)*t.length);mi(e,r,a,s);s._W(2,t.length);if(i)s._W(1,1);s._W((1+i)*t.length,t,i?\\"utf16le\\":\\"sbcs\\");return s}function ns(e,r,t){var a=e._R(2);var n=ni(e,0,t);return[a,n]}function is(e,r,t,a){var n=t&&t.biff==5;if(!a)a=Jr(n?3+r.length:5+2*r.length);a._W(2,e);a._W(n?1:2,r.length);if(!n)a._W(1,1);a._W((n?1:2)*r.length,r,n?\\"sbcs\\":\\"utf16le\\");var i=a.length>a.l?a.slice(0,a.l):a;if(i.l==null)i.l=i.length;return i}var ss=ni;function fs(e,r,t){var a=e.l+r;var n=t.biff==8||!t.biff?4:2;var i=e._R(n),s=e._R(n);var f=e._R(2),o=e._R(2);e.l=a;return{s:{r:i,c:f},e:{r:s,c:o}}}function os(e,r){var t=r.biff==8||!r.biff?4:2;var a=Jr(2*t+6);a._W(t,e.s.r);a._W(t,e.e.r+1);a._W(2,e.s.c);a._W(2,e.e.c+1);a._W(2,0);return a}function ls(e){var r=e._R(2),t=e._R(2);var a=ki(e);return{r:r,c:t,ixfe:a[0],rknum:a[1]}}function cs(e,r){var t=e.l+r-2;var a=e._R(2),n=e._R(2);var i=[];while(e.l<t)i.push(ki(e));if(e.l!==t)throw new Error(\\"MulRK read error\\");var s=e._R(2);if(i.length!=s-n+1)throw new Error(\\"MulRK length mismatch\\");return{r:a,c:n,C:s,rkrec:i}}function us(e,r){var t=e.l+r-2;var a=e._R(2),n=e._R(2);var i=[];while(e.l<t)i.push(e._R(2));if(e.l!==t)throw new Error(\\"MulBlank read error\\");var s=e._R(2);if(i.length!=s-n+1)throw new Error(\\"MulBlank length mismatch\\");return{r:a,c:n,C:s,ixfe:i}}function hs(e,r,t,a){var n={};var i=e._R(4),s=e._R(4);var f=e._R(4),o=e._R(2);n.patternType=Ca[f>>26];if(!a.cellStyles)return n;n.alc=i&7;n.fWrap=i>>3&1;n.alcV=i>>4&7;n.fJustLast=i>>7&1;n.trot=i>>8&255;n.cIndent=i>>16&15;n.fShrinkToFit=i>>20&1;n.iReadOrder=i>>22&2;n.fAtrNum=i>>26&1;n.fAtrFnt=i>>27&1;n.fAtrAlc=i>>28&1;n.fAtrBdr=i>>29&1;n.fAtrPat=i>>30&1;n.fAtrProt=i>>31&1;n.dgLeft=s&15;n.dgRight=s>>4&15;n.dgTop=s>>8&15;n.dgBottom=s>>12&15;n.icvLeft=s>>16&127;n.icvRight=s>>23&127;n.grbitDiag=s>>30&3;n.icvTop=f&127;n.icvBottom=f>>7&127;n.icvDiag=f>>14&127;n.dgDiag=f>>21&15;n.icvFore=o&127;n.icvBack=o>>7&127;n.fsxButton=o>>14&1;return n}function ds(e,r,t){var a={};a.ifnt=e._R(2);a.numFmtId=e._R(2);a.flags=e._R(2);a.fStyle=a.flags>>2&1;r-=6;a.data=hs(e,r,a.fStyle,t);return a}function vs(e,r,t,a){var n=t&&t.biff==5;if(!a)a=Jr(n?16:20);a._W(2,0);if(e.style){a._W(2,e.numFmtId||0);a._W(2,65524)}else{a._W(2,e.numFmtId||0);a._W(2,r<<4)}a._W(4,0);a._W(4,0);if(!n)a._W(4,0);a._W(2,0);return a}function ps(e){e.l+=4;var r=[e._R(2),e._R(2)];if(r[0]!==0)r[0]--;if(r[1]!==0)r[1]--;if(r[0]>7||r[1]>7)throw new Error(\\"Bad Gutters: \\"+r.join(\\"|\\"));return r}function ms(e){var r=Jr(8);r._W(4,0);r._W(2,e[0]?e[0]+1:0);r._W(2,e[1]?e[1]+1:0);return r}function bs(e,r,t){var a=pi(e,6);if(t.biff==2)++e.l;var n=Jn(e,2);a.val=n;a.t=n===true||n===false?\\"b\\":\\"e\\";return a}function gs(e,r,t,a,n,i){var s=Jr(8);mi(e,r,a,s);Qn(t,i,s);return s}function ws(e){var r=pi(e,6);var t=Zt(e,8);r.val=t;return r}function ks(e,r,t,a){var n=Jr(14);mi(e,r,a,n);Jt(t,n);return n}var Es=gi;function Ss(e,r,t){var a=e.l+r;var n=e._R(2);var i=e._R(2);t.sbcch=i;if(i==1025||i==14849)return[i,n];if(i<1||i>255)throw new Error(\\"Unexpected SupBook type: \\"+i);var s=ti(e,i);var f=[];while(a>e.l)f.push(ai(e));return[i,n,s,f]}function _s(e,r,t){var a=e._R(2);var n;var i={fBuiltIn:a&1,fWantAdvise:a>>>1&1,fWantPict:a>>>2&1,fOle:a>>>3&1,fOleLink:a>>>4&1,cf:a>>>5&1023,fIcon:a>>>15&1};if(t.sbcch===14849)n=Ei(e,r-2,t);i.body=n||e._R(r-2);if(typeof n===\\"string\\")i.Name=n;return i}var Cs=[\\"_xlnm.Consolidate_Area\\",\\"_xlnm.Auto_Open\\",\\"_xlnm.Auto_Close\\",\\"_xlnm.Extract\\",\\"_xlnm.Database\\",\\"_xlnm.Criteria\\",\\"_xlnm.Print_Area\\",\\"_xlnm.Print_Titles\\",\\"_xlnm.Recorder\\",\\"_xlnm.Data_Form\\",\\"_xlnm.Auto_Activate\\",\\"_xlnm.Auto_Deactivate\\",\\"_xlnm.Sheet_Title\\",\\"_xlnm._FilterDatabase\\"];function Bs(e,r,t){var a=e.l+r;var n=e._R(2);var i=e._R(1);var s=e._R(1);var f=e._R(t&&t.biff==2?1:2);var o=0;if(!t||t.biff>=5){if(t.biff!=5)e.l+=2;o=e._R(2);if(t.biff==5)e.l+=2;e.l+=4}var l=ti(e,s,t);if(n&32)l=Cs[l.charCodeAt(0)];var c=a-e.l;if(t&&t.biff==2)--c;var u=a==e.l||f===0?[]:Vu(e,c,t,f);return{chKey:i,Name:l,itab:o,rgce:u}}function Ts(e,r,t){if(t.biff<8)return ys(e,r,t);var a=[],n=e.l+r,i=e._R(t.biff>8?4:2);while(i--!==0)a.push(wi(e,t.biff>8?12:6,t));if(e.l!=n)throw new Error(\\"Bad ExternSheet: \\"+e.l+\\" != \\"+n);return a}function ys(e,r,t){if(e[e.l+1]==3)e[e.l]++;var a=qn(e,r,t);return a.charCodeAt(0)==3?a.slice(1):a}function xs(e,r,t){if(t.biff<8){e.l+=r;return}var a=e._R(2);var n=e._R(2);var i=ti(e,a,t);var s=ti(e,n,t);return[i,s]}function As(e,r,t){var a=Ci(e,6);e.l++;var n=e._R(1);r-=8;return[Xu(e,r,t),n,a]}function Is(e,r,t){var a=Bi(e,6);switch(t.biff){case 2:e.l++;r-=7;break;case 3:;case 4:e.l+=2;r-=8;break;default:e.l+=6;r-=12;}return[a,Hu(e,r,t,a)]}function Rs(e){var r=e._R(4)!==0;var t=e._R(4)!==0;var a=e._R(4);return[r,t,a]}function Os(e,r,t){if(t.biff<8)return;var a=e._R(2),n=e._R(2);var i=e._R(2),s=e._R(2);var f=ni(e,0,t);if(t.biff<8)e._R(1);return[{r:a,c:n},f,s,i]}function Ds(e,r,t){return Os(e,r,t)}function Fs(e,r){var t=[];var a=e._R(2);while(a--)t.push(Si(e,r));return t}function Ps(e){var r=Jr(2+e.length*8);r._W(2,e.length);for(var t=0;t<e.length;++t)_i(e[t],r);return r}function Ns(e,r,t){if(t&&t.biff<8)return Ms(e,r,t);var a=Ti(e,22);var n=Ri(e,r-22,a[1]);return{cmo:a,ft:n}}var Ls=[];Ls[8]=function(e,r){var t=e.l+r;e.l+=10;var a=e._R(2);e.l+=4;e.l+=2;e.l+=2;e.l+=2;e.l+=4;var n=e._R(1);e.l+=n;e.l=t;return{fmt:a}};function Ms(e,r,t){e.l+=4;var a=e._R(2);var n=e._R(2);var i=e._R(2);e.l+=2;e.l+=2;e.l+=2;e.l+=2;e.l+=2;e.l+=2;e.l+=2;e.l+=2;e.l+=2;e.l+=6;r-=36;var s=[];s.push((Ls[a]||Zr)(e,r,t));return{cmo:[n,a,i],ft:s}}function Us(e,r,t){var a=e.l;var n=\\"\\";try{e.l+=4;var i=(t.lastobj||{cmo:[0,0]}).cmo[1];var s;if([0,5,7,11,12,14].indexOf(i)==-1)e.l+=6;else s=si(e,6,t);var f=e._R(2);e._R(2);$n(e,2);var o=e._R(2);e.l+=o;for(var l=1;l<e.lens.length-1;++l){if(e.l-a!=e.lens[l])throw new Error(\\"TxO: bad continue record\\");var c=e[e.l];var u=ti(e,e.lens[l+1]-e.lens[l]-1);n+=u;if(n.length>=(c?f:2*f))break}if(n.length!==f&&n.length!==f*2){throw new Error(\\"cchText: \\"+f+\\" != \\"+n.length)}e.l=a+r;return{t:n}}catch(h){e.l=a+r;return{t:n}}}function zs(e,r){var t=Si(e,8);e.l+=16;var a=ui(e,r-24);return[t,a]}function Hs(e){var r=Jr(24);var t=mt(e[0]);r._W(2,t.r);r._W(2,t.r);r._W(2,t.c);r._W(2,t.c);var a=\\"d0 c9 ea 79 f9 ba ce 11 8c 82 00 aa 00 4b a9 0b\\".split(\\" \\");for(var n=0;n<16;++n)r._W(1,parseInt(a[n],16));return I([r,hi(e[1])])}function Ws(e,r){e._R(2);var t=Si(e,8);var a=e._R((r-10)/2,\\"dbcs-cont\\");a=a.replace(R,\\"\\");return[t,a]}function Vs(e){var r=e[1].Tooltip;var t=Jr(10+2*(r.length+1));t._W(2,2048);var a=mt(e[0]);t._W(2,a.r);t._W(2,a.r);t._W(2,a.c);t._W(2,a.c);for(var n=0;n<r.length;++n)t._W(2,r.charCodeAt(n));t._W(2,0);return t}function Xs(e){var r=[0,0],t;t=e._R(2);r[0]=_a[t]||t;t=e._R(2);r[1]=_a[t]||t;return r}function Gs(e){if(!e)e=Jr(4);e._W(2,1);e._W(2,1);return e}function js(e){var r=e._R(2);var t=[];while(r-- >0)t.push(vi(e,8));return t}function Ks(e){var r=e._R(2);var t=[];while(r-- >0)t.push(vi(e,8));return t}function $s(e){e.l+=2;var r={cxfs:0,crc:0};r.cxfs=e._R(2);r.crc=e._R(4);return r}function Ys(e,r,t){if(!t.cellStyles)return Zr(e,r);var a=t&&t.biff>=12?4:2;var n=e._R(a);var i=e._R(a);var s=e._R(a);var f=e._R(a);var o=e._R(2);if(a==2)e.l+=2;var l={s:n,e:i,w:s,ixfe:f,flags:o};if(t.biff>=5||!t.biff)l.level=o>>8&7;return l}function Zs(e,r){var t={};if(r<32)return t;e.l+=16;t.header=Zt(e,8);t.footer=Zt(e,8);e.l+=2;return t}function Js(e,r,t){var a={area:false};if(t.biff!=5){e.l+=r;return a}var n=e._R(1);e.l+=3;if(n&16)a.area=true;return a}function Qs(e){var r=Jr(2*e);for(var t=0;t<e;++t)r._W(2,t+1);return r}var qs=pi;var ef=Zn;var rf=ai;function tf(e){var r=e._R(2);var t=e._R(2);var a=e._R(4);var n={fmt:r,env:t,len:a,data:e.slice(e.l,e.l+a)};e.l+=a;return n}function af(e,r,t){var a=pi(e,6);++e.l;var n=ni(e,r-7,t);a.t=\\"str\\";a.val=n;return a}function nf(e){var r=pi(e,6);++e.l;var t=Zt(e,8);r.t=\\"n\\";r.val=t;return r}function sf(e,r,t){var a=Jr(15);Up(a,e,r);a._W(8,t,\\"f\\");return a}function ff(e){var r=pi(e,6);++e.l;var t=e._R(2);r.t=\\"n\\";r.val=t;return r}function of(e,r,t){var a=Jr(9);Up(a,e,r);a._W(2,t);return a}function lf(e){var r=e._R(1);if(r===0){e.l++;return\\"\\"}return e._R(r,\\"sbcs-cont\\")}function cf(e,r){e.l+=6;e.l+=2;e.l+=1;e.l+=3;e.l+=1;e.l+=r-13}function uf(e,r,t){var a=e.l+r;var n=pi(e,6);var i=e._R(2);var s=ti(e,i,t);e.l=a;n.t=\\"str\\";n.val=s;return n}var hf=function(){var e={1:437,2:850,3:1252,4:1e4,100:852,101:866,102:865,103:861,104:895,105:620,106:737,107:857,120:950,121:949,122:936,123:932,124:874,125:1255,126:1256,150:10007,151:10029,152:10006,200:1250,201:1251,202:1254,203:1253,0:20127,8:865,9:437,10:850,11:437,13:437,14:850,15:437,16:850,17:437,18:850,19:932,20:850,21:437,22:850,23:865,24:437,25:437,26:850,27:437,28:863,29:850,31:852,34:852,35:852,36:860,37:850,38:866,55:850,64:852,77:936,78:949,79:950,80:874,87:1252,88:1252,89:1252,255:16969};var r=Z({1:437,2:850,3:1252,4:1e4,100:852,101:866,102:865,103:861,104:895,105:620,106:737,107:857,120:950,121:949,122:936,123:932,124:874,125:1255,126:1256,150:10007,151:10029,152:10006,200:1250,201:1251,202:1254,203:1253,0:20127});var a=[2,3,48,49,131,139,140,245];function n(r,t){var a=[];var n=_(1);switch(t.type){case\\"base64\\":n=B(g.decode(r));break;case\\"binary\\":n=B(r);break;case\\"buffer\\":;case\\"array\\":n=r;break;}Yr(n,0);var i=n._R(1);var s=false;var f=false,o=false;switch(i){case 2:;case 3:break;case 48:f=true;s=true;break;case 49:f=true;break;case 131:s=true;break;case 139:s=true;break;case 140:s=true;o=true;break;case 245:s=true;break;default:throw new Error(\\"DBF Unsupported Version: \\"+i.toString(16));}var l=0,c=0;if(i==2)l=n._R(2);n.l+=3;if(i!=2)l=n._R(4);if(i!=2)c=n._R(2);var u=n._R(2);var h=1252;if(i!=2){n.l+=16;n._R(1);if(n[n.l]!==0)h=e[n[n.l]];n.l+=1;n.l+=2}if(o)n.l+=36;var d=[],v={};var p=c-10-(f?264:0),m=o?32:11;while(i==2?n.l<n.length&&n[n.l]!=13:n.l<p){v={};v.name=cptable.utils.decode(h,n.slice(n.l,n.l+m)).replace(/[\\\\u0000\\\\r\\\\n].*$/g,\\"\\");n.l+=m;v.type=String.fromCharCode(n._R(1));if(i!=2&&!o)v.offset=n._R(4);v.len=n._R(1);if(i==2)v.offset=n._R(2);v.dec=n._R(1);if(v.name.length)d.push(v);if(i!=2)n.l+=o?13:14;switch(v.type){case\\"B\\":if((!f||v.len!=8)&&t.WTF)console.log(\\"Skipping \\"+v.name+\\":\\"+v.type);break;case\\"G\\":;case\\"P\\":if(t.WTF)console.log(\\"Skipping \\"+v.name+\\":\\"+v.type);break;case\\"C\\":;case\\"D\\":;case\\"F\\":;case\\"I\\":;case\\"L\\":;case\\"M\\":;case\\"N\\":;case\\"O\\":;case\\"T\\":;case\\"Y\\":;case\\"0\\":;case\\"@\\":;case\\"+\\":break;default:throw new Error(\\"Unknown Field Type: \\"+v.type);}}if(n[n.l]!==13)n.l=c-1;else if(i==2)n.l=521;if(i!=2){if(n._R(1)!==13)throw new Error(\\"DBF Terminator not found \\"+n.l+\\" \\"+n[n.l]);n.l=c}var b=0,w=0;a[0]=[];for(w=0;w!=d.length;++w)a[0][w]=d[w].name;while(l-- >0){if(n[n.l]===42){n.l+=u;continue}++n.l;a[++b]=[];w=0;for(w=0;w!=d.length;++w){var k=n.slice(n.l,n.l+d[w].len);n.l+=d[w].len;Yr(k,0);var E=cptable.utils.decode(h,k);switch(d[w].type){case\\"C\\":a[b][w]=cptable.utils.decode(h,k);a[b][w]=a[b][w].trim();break;case\\"D\\":if(E.length===8)a[b][w]=new Date(+E.slice(0,4),+E.slice(4,6)-1,+E.slice(6,8));else a[b][w]=E;break;case\\"F\\":a[b][w]=parseFloat(E.trim());break;case\\"+\\":;case\\"I\\":a[b][w]=o?k._R(-4,\\"i\\")^2147483648:k._R(4,\\"i\\");break;case\\"L\\":switch(E.toUpperCase()){case\\"Y\\":;case\\"T\\":a[b][w]=true;break;case\\"N\\":;case\\"F\\":a[b][w]=false;break;case\\" \\":;case\\"?\\":a[b][w]=false;break;default:throw new Error(\\"DBF Unrecognized L:|\\"+E+\\"|\\");}break;case\\"M\\":if(!s)throw new Error(\\"DBF Unexpected MEMO for type \\"+i.toString(16));a[b][w]=\\"##MEMO##\\"+(o?parseInt(E.trim(),10):k._R(4));break;case\\"N\\":a[b][w]=+E.replace(/\\\\u0000/g,\\"\\").trim();break;case\\"@\\":a[b][w]=new Date(k._R(-8,\\"f\\")-621356832e5);break;case\\"T\\":a[b][w]=new Date((k._R(4)-2440588)*864e5+k._R(4));break;case\\"Y\\":a[b][w]=k._R(4,\\"i\\")/1e4;break;case\\"O\\":a[b][w]=-k._R(-8,\\"f\\");break;case\\"B\\":if(f&&d[w].len==8){a[b][w]=k._R(8,\\"f\\");break};case\\"G\\":;case\\"P\\":k.l+=d[w].len;break;case\\"0\\":if(d[w].name===\\"_NullFlags\\")break;default:throw new Error(\\"DBF Unsupported data type \\"+d[w].type);}}}if(i!=2)if(n.l<n.length&&n[n.l++]!=26)throw new Error(\\"DBF EOF Marker missing \\"+(n.l-1)+\\" of \\"+n.length+\\" \\"+n[n.l-1].toString(16));if(t&&t.sheetRows)a=a.slice(0,t.sheetRows);return a}function i(e,r){var t=r||{};if(!t.dateNF)t.dateNF=\\"yyyymmdd\\";return Bt(n(e,t),t)}function s(e,r){try{return _t(i(e,r),r)}catch(t){if(r&&r.WTF)throw t}return{SheetNames:[],Sheets:{}}}var f={B:8,C:250,L:1,D:8,\\"?\\":0,\\"\\":0};function l(e,a){var n=a||{};if(+n.codepage>=0)o(+n.codepage);if(n.type==\\"string\\")throw new Error(\\"Cannot write DBF to JS string\\");var i=qr();var s=rb(e,{header:1,raw:true,cellDates:true});var l=s[0],c=s.slice(1);var u=0,h=0,d=0,v=1;for(u=0;u<l.length;++u){if(u==null)continue;++d;if(typeof l[u]===\\"number\\")l[u]=l[u].toString(10);if(typeof l[u]!==\\"string\\")throw new Error(\\"DBF Invalid column name \\"+l[u]+\\" |\\"+typeof l[u]+\\"|\\");if(l.indexOf(l[u])!==u)for(h=0;h<1024;++h)if(l.indexOf(l[u]+\\"_\\"+h)==-1){l[u]+=\\"_\\"+h;break}}var p=kt(e[\\"!ref\\"]);var m=[];for(u=0;u<=p.e.c-p.s.c;++u){var b=[];for(h=0;h<c.length;++h){if(c[h][u]!=null)b.push(c[h][u])}if(b.length==0||l[u]==null){m[u]=\\"?\\";continue}var g=\\"\\",w=\\"\\";for(h=0;h<b.length;++h){switch(typeof b[h]){case\\"number\\":w=\\"B\\";break;case\\"string\\":w=\\"C\\";break;case\\"boolean\\":w=\\"L\\";break;case\\"object\\":w=b[h]instanceof Date?\\"D\\":\\"C\\";break;default:w=\\"C\\";}g=g&&g!=w?\\"C\\":w;if(g==\\"C\\")break}v+=f[g]||0;m[u]=g}var k=i.next(32);k._W(4,318902576);k._W(4,c.length);k._W(2,296+32*d);k._W(2,v);for(u=0;u<4;++u)k._W(4,0);k._W(4,0|(+r[t]||3)<<8);for(u=0,h=0;u<l.length;++u){if(l[u]==null)continue;var E=i.next(32);var S=(l[u].slice(-10)+\\"\\\\0\\\\0\\\\0\\\\0\\\\0\\\\0\\\\0\\\\0\\\\0\\\\0\\\\0\\").slice(0,11);E._W(1,S,\\"sbcs\\");E._W(1,m[u]==\\"?\\"?\\"C\\":m[u],\\"sbcs\\");E._W(4,h);E._W(1,f[m[u]]||0);E._W(1,0);E._W(1,2);E._W(4,0);E._W(1,0);E._W(4,0);E._W(4,0);h+=f[m[u]]||0}var _=i.next(264);_._W(4,13);for(u=0;u<65;++u)_._W(4,0);for(u=0;u<c.length;++u){var C=i.next(v);C._W(1,0);for(h=0;h<l.length;++h){if(l[h]==null)continue;switch(m[h]){case\\"L\\":C._W(1,c[u][h]==null?63:c[u][h]?84:70);break;case\\"B\\":C._W(8,c[u][h]||0,\\"f\\");break;case\\"D\\":if(!c[u][h])C._W(8,\\"00000000\\",\\"sbcs\\");else{C._W(4,(\\"0000\\"+c[u][h].getFullYear()).slice(-4),\\"sbcs\\");C._W(2,(\\"00\\"+(c[u][h].getMonth()+1)).slice(-2),\\"sbcs\\");C._W(2,(\\"00\\"+c[u][h].getDate()).slice(-2),\\"sbcs\\")}break;case\\"C\\":var B=String(c[u][h]||\\"\\");C._W(1,B,\\"sbcs\\");for(d=0;d<250-B.length;++d)C._W(1,32);break;}}}i.next(1)._W(1,26);return i.end()}return{versions:a,to_workbook:s,to_sheet:i,from_sheet:l}}();var df=function(){var e={AA:\\"À\\",BA:\\"Á\\",CA:\\"Â\\",DA:195,HA:\\"Ä\\",JA:197,AE:\\"È\\",BE:\\"É\\",CE:\\"Ê\\",HE:\\"Ë\\",AI:\\"Ì\\",BI:\\"Í\\",CI:\\"Î\\",HI:\\"Ï\\",AO:\\"Ò\\",BO:\\"Ó\\",CO:\\"Ô\\",DO:213,HO:\\"Ö\\",AU:\\"Ù\\",BU:\\"Ú\\",CU:\\"Û\\",HU:\\"Ü\\",Aa:\\"à\\",Ba:\\"á\\",Ca:\\"â\\",Da:227,Ha:\\"ä\\",Ja:229,Ae:\\"è\\",Be:\\"é\\",Ce:\\"ê\\",He:\\"ë\\",Ai:\\"ì\\",Bi:\\"í\\",Ci:\\"î\\",Hi:\\"ï\\",Ao:\\"ò\\",Bo:\\"ó\\",Co:\\"ô\\",Do:245,Ho:\\"ö\\",Au:\\"ù\\",Bu:\\"ú\\",Cu:\\"û\\",Hu:\\"ü\\",KC:\\"Ç\\",Kc:\\"ç\\",q:\\"æ\\",z:\\"œ\\",a:\\"Æ\\",j:\\"Œ\\",DN:209,Dn:241,Hy:255,S:169,c:170,R:174,B:180,0:176,1:177,2:178,3:179,5:181,6:182,7:183,Q:185,k:186,b:208,i:216,l:222,s:240,y:248,\\"!\\":161,\'\\"\':162,\\"#\\":163,\\"(\\":164,\\"%\\":165,\\"\'\\":167,\\"H \\":168,\\"+\\":171,\\";\\":187,\\"<\\":188,\\"=\\":189,\\">\\":190,\\"?\\":191,\\"{\\":223};var r=new RegExp(\\"\\u001bN(\\"+K(e).join(\\"|\\").replace(/\\\\|\\\\|\\\\|/,\\"|\\\\\\\\||\\").replace(/([?()+])/g,\\"\\\\\\\\$1\\")+\\"|\\\\\\\\|)\\",\\"gm\\");var t=function(r,t){var a=e[t];return typeof a==\\"number\\"?p(a):a};var a=function(e,r,t){var a=r.charCodeAt(0)-32<<4|t.charCodeAt(0)-48;return a==59?e:p(a)};e[\\"|\\"]=254;function n(e,r){switch(r.type){case\\"base64\\":return i(g.decode(e),r);case\\"binary\\":return i(e,r);case\\"buffer\\":return i(e.toString(\\"binary\\"),r);case\\"array\\":return i(le(e),r);}throw new Error(\\"Unrecognized type \\"+r.type)}function i(e,n){var i=e.split(/[\\\\n\\\\r]+/),s=-1,f=-1,l=0,c=0,u=[];var h=[];var d=null;var v={},p=[],m=[],b=[];var g=0,w;if(+n.codepage>=0)o(+n.codepage);for(;l!==i.length;++l){g=0;var k=i[l].trim().replace(/\\\\x1B([\\\\x20-\\\\x2F])([\\\\x30-\\\\x3F])/g,a).replace(r,t);var E=k.replace(/;;/g,\\"\\\\0\\").split(\\";\\").map(function(e){\\nreturn e.replace(/\\\\u0000/g,\\";\\")});var S=E[0],_;if(k.length>0)switch(S){case\\"ID\\":break;case\\"E\\":break;case\\"B\\":break;case\\"O\\":break;case\\"P\\":if(E[1].charAt(0)==\\"P\\")h.push(k.slice(3).replace(/;;/g,\\";\\"));break;case\\"C\\":var C=false,B=false;for(c=1;c<E.length;++c)switch(E[c].charAt(0)){case\\"X\\":f=parseInt(E[c].slice(1))-1;B=true;break;case\\"Y\\":s=parseInt(E[c].slice(1))-1;if(!B)f=0;for(w=u.length;w<=s;++w)u[w]=[];break;case\\"K\\":_=E[c].slice(1);if(_.charAt(0)===\'\\"\')_=_.slice(1,_.length-1);else if(_===\\"TRUE\\")_=true;else if(_===\\"FALSE\\")_=false;else if(!isNaN(he(_))){_=he(_);if(d!==null&&D.is_date(d))_=ne(_)}else if(!isNaN(de(_).getDate())){_=oe(_)}if(typeof cptable!==\\"undefined\\"&&typeof _==\\"string\\"&&(n||{}).type!=\\"string\\"&&(n||{}).codepage)_=cptable.utils.decode(n.codepage,_);C=true;break;case\\"E\\":var T=nc(E[c].slice(1),{r:s,c:f});u[s][f]=[u[s][f],T];break;default:if(n&&n.WTF)throw new Error(\\"SYLK bad record \\"+k);}if(C){u[s][f]=_;d=null}break;case\\"F\\":var y=0;for(c=1;c<E.length;++c)switch(E[c].charAt(0)){case\\"X\\":f=parseInt(E[c].slice(1))-1;++y;break;case\\"Y\\":s=parseInt(E[c].slice(1))-1;for(w=u.length;w<=s;++w)u[w]=[];break;case\\"M\\":g=parseInt(E[c].slice(1))/20;break;case\\"F\\":break;case\\"G\\":break;case\\"P\\":d=h[parseInt(E[c].slice(1))];break;case\\"S\\":break;case\\"D\\":break;case\\"N\\":break;case\\"W\\":b=E[c].slice(1).split(\\" \\");for(w=parseInt(b[0],10);w<=parseInt(b[1],10);++w){g=parseInt(b[2],10);m[w-1]=g===0?{hidden:true}:{wch:g};So(m[w-1])}break;case\\"C\\":f=parseInt(E[c].slice(1))-1;if(!m[f])m[f]={};break;case\\"R\\":s=parseInt(E[c].slice(1))-1;if(!p[s])p[s]={};if(g>0){p[s].hpt=g;p[s].hpx=To(g)}else if(g===0)p[s].hidden=true;break;default:if(n&&n.WTF)throw new Error(\\"SYLK bad record \\"+k);}if(y<1)d=null;break;default:if(n&&n.WTF)throw new Error(\\"SYLK bad record \\"+k);}}if(p.length>0)v[\\"!rows\\"]=p;if(m.length>0)v[\\"!cols\\"]=m;if(n&&n.sheetRows)u=u.slice(0,n.sheetRows);return[u,v]}function s(e,r){var t=n(e,r);var a=t[0],i=t[1];var s=Bt(a,r);K(i).forEach(function(e){s[e]=i[e]});return s}function f(e,r){return _t(s(e,r),r)}function l(e,r,t,a){var n=\\"C;Y\\"+(t+1)+\\";X\\"+(a+1)+\\";K\\";switch(e.t){case\\"n\\":n+=e.v||0;if(e.f&&!e.F)n+=\\";E\\"+sc(e.f,{r:t,c:a});break;case\\"b\\":n+=e.v?\\"TRUE\\":\\"FALSE\\";break;case\\"e\\":n+=e.w||e.v;break;case\\"d\\":n+=\'\\"\'+(e.w||e.v)+\'\\"\';break;case\\"s\\":n+=\'\\"\'+e.v.replace(/\\"/g,\\"\\")+\'\\"\';break;}return n}function c(e,r){r.forEach(function(r,t){var a=\\"F;W\\"+(t+1)+\\" \\"+(t+1)+\\" \\";if(r.hidden)a+=\\"0\\";else{if(typeof r.width==\\"number\\")r.wpx=bo(r.width);if(typeof r.wpx==\\"number\\")r.wch=go(r.wpx);if(typeof r.wch==\\"number\\")a+=Math.round(r.wch)}if(a.charAt(a.length-1)!=\\" \\")e.push(a)})}function u(e,r){r.forEach(function(r,t){var a=\\"F;\\";if(r.hidden)a+=\\"M0;\\";else if(r.hpt)a+=\\"M\\"+20*r.hpt+\\";\\";else if(r.hpx)a+=\\"M\\"+20*Bo(r.hpx)+\\";\\";if(a.length>2)e.push(a+\\"R\\"+(t+1))})}function h(e,r){var t=[\\"ID;PWXL;N;E\\"],a=[];var n=kt(e[\\"!ref\\"]),i;var s=Array.isArray(e);var f=\\"\\\\r\\\\n\\";t.push(\\"P;PGeneral\\");t.push(\\"F;P0;DG0G8;M255\\");if(e[\\"!cols\\"])c(t,e[\\"!cols\\"]);if(e[\\"!rows\\"])u(t,e[\\"!rows\\"]);t.push(\\"B;Y\\"+(n.e.r-n.s.r+1)+\\";X\\"+(n.e.c-n.s.c+1)+\\";D\\"+[n.s.c,n.s.r,n.e.c,n.e.r].join(\\" \\"));for(var o=n.s.r;o<=n.e.r;++o){for(var h=n.s.c;h<=n.e.c;++h){var d=bt({r:o,c:h});i=s?(e[o]||[])[h]:e[d];if(!i||i.v==null&&(!i.f||i.F))continue;a.push(l(i,e,o,h,r))}}return t.join(f)+f+a.join(f)+f+\\"E\\"+f}return{to_workbook:f,to_sheet:s,from_sheet:h}}();var vf=function(){function e(e,t){switch(t.type){case\\"base64\\":return r(g.decode(e),t);case\\"binary\\":return r(e,t);case\\"buffer\\":return r(e.toString(\\"binary\\"),t);case\\"array\\":return r(le(e),t);}throw new Error(\\"Unrecognized type \\"+t.type)}function r(e,r){var t=e.split(\\"\\\\n\\"),a=-1,n=-1,i=0,s=[];for(;i!==t.length;++i){if(t[i].trim()===\\"BOT\\"){s[++a]=[];n=0;continue}if(a<0)continue;var f=t[i].trim().split(\\",\\");var o=f[0],l=f[1];++i;var c=t[i].trim();switch(+o){case-1:if(c===\\"BOT\\"){s[++a]=[];n=0;continue}else if(c!==\\"EOD\\")throw new Error(\\"Unrecognized DIF special command \\"+c);break;case 0:if(c===\\"TRUE\\")s[a][n]=true;else if(c===\\"FALSE\\")s[a][n]=false;else if(!isNaN(he(l)))s[a][n]=he(l);else if(!isNaN(de(l).getDate()))s[a][n]=oe(l);else s[a][n]=l;++n;break;case 1:c=c.slice(1,c.length-1);s[a][n++]=c!==\\"\\"?c:null;break;}if(c===\\"EOD\\")break}if(r&&r.sheetRows)s=s.slice(0,r.sheetRows);return s}function t(r,t){return Bt(e(r,t),t)}function a(e,r){return _t(t(e,r),r)}var n=function(){var e=function t(e,r,a,n,i){e.push(r);e.push(a+\\",\\"+n);e.push(\'\\"\'+i.replace(/\\"/g,\'\\"\\"\')+\'\\"\')};var r=function a(e,r,t,n){e.push(r+\\",\\"+t);e.push(r==1?\'\\"\'+n.replace(/\\"/g,\'\\"\\"\')+\'\\"\':n)};return function n(t){var a=[];var n=kt(t[\\"!ref\\"]),i;var s=Array.isArray(t);e(a,\\"TABLE\\",0,1,\\"sheetjs\\");e(a,\\"VECTORS\\",0,n.e.r-n.s.r+1,\\"\\");e(a,\\"TUPLES\\",0,n.e.c-n.s.c+1,\\"\\");e(a,\\"DATA\\",0,0,\\"\\");for(var f=n.s.r;f<=n.e.r;++f){r(a,-1,0,\\"BOT\\");for(var o=n.s.c;o<=n.e.c;++o){var l=bt({r:f,c:o});i=s?(t[f]||[])[o]:t[l];if(!i){r(a,1,0,\\"\\");continue}switch(i.t){case\\"n\\":var c=b?i.w:i.v;if(!c&&i.v!=null)c=i.v;if(c==null){if(b&&i.f&&!i.F)r(a,1,0,\\"=\\"+i.f);else r(a,1,0,\\"\\")}else r(a,0,c,\\"V\\");break;case\\"b\\":r(a,0,i.v?1:0,i.v?\\"TRUE\\":\\"FALSE\\");break;case\\"s\\":r(a,1,0,!b||isNaN(i.v)?i.v:\'=\\"\'+i.v+\'\\"\');break;case\\"d\\":if(!i.w)i.w=D.format(i.z||D._table[14],ee(oe(i.v)));if(b)r(a,0,i.w,\\"V\\");else r(a,1,0,i.w);break;default:r(a,1,0,\\"\\");}}}r(a,-1,0,\\"EOD\\");var u=\\"\\\\r\\\\n\\";var h=a.join(u);return h}}();return{to_workbook:a,to_sheet:t,from_sheet:n}}();var pf=function(){function e(e){return e.replace(/\\\\\\\\b/g,\\"\\\\\\\\\\").replace(/\\\\\\\\c/g,\\":\\").replace(/\\\\\\\\n/g,\\"\\\\n\\")}function r(e){return e.replace(/\\\\\\\\/g,\\"\\\\\\\\b\\").replace(/:/g,\\"\\\\\\\\c\\").replace(/\\\\n/g,\\"\\\\\\\\n\\")}function t(r,t){var a=r.split(\\"\\\\n\\"),n=-1,i=-1,s=0,f=[];for(;s!==a.length;++s){var o=a[s].trim().split(\\":\\");if(o[0]!==\\"cell\\")continue;var l=mt(o[1]);if(f.length<=l.r)for(n=f.length;n<=l.r;++n)if(!f[n])f[n]=[];n=l.r;i=l.c;switch(o[2]){case\\"t\\":f[n][i]=e(o[3]);break;case\\"v\\":f[n][i]=+o[3];break;case\\"vtf\\":var c=o[o.length-1];case\\"vtc\\":switch(o[3]){case\\"nl\\":f[n][i]=+o[4]?true:false;break;default:f[n][i]=+o[4];break;}if(o[2]==\\"vtf\\")f[n][i]=[f[n][i],c];}}if(t&&t.sheetRows)f=f.slice(0,t.sheetRows);return f}function a(e,r){return Bt(t(e,r),r)}function n(e,r){return _t(a(e,r),r)}var i=[\\"socialcalc:version:1.5\\",\\"MIME-Version: 1.0\\",\\"Content-Type: multipart/mixed; boundary=SocialCalcSpreadsheetControlSave\\"].join(\\"\\\\n\\");var s=[\\"--SocialCalcSpreadsheetControlSave\\",\\"Content-type: text/plain; charset=UTF-8\\"].join(\\"\\\\n\\")+\\"\\\\n\\";var f=[\\"# SocialCalc Spreadsheet Control Save\\",\\"part:sheet\\"].join(\\"\\\\n\\");var o=\\"--SocialCalcSpreadsheetControlSave--\\";function l(e){if(!e||!e[\\"!ref\\"])return\\"\\";var t=[],a=[],n,i=\\"\\";var s=gt(e[\\"!ref\\"]);var f=Array.isArray(e);for(var o=s.s.r;o<=s.e.r;++o){for(var l=s.s.c;l<=s.e.c;++l){i=bt({r:o,c:l});n=f?(e[o]||[])[l]:e[i];if(!n||n.v==null||n.t===\\"z\\")continue;a=[\\"cell\\",i,\\"t\\"];switch(n.t){case\\"s\\":;case\\"str\\":a.push(r(n.v));break;case\\"n\\":if(!n.f){a[2]=\\"v\\";a[3]=n.v}else{a[2]=\\"vtf\\";a[3]=\\"n\\";a[4]=n.v;a[5]=r(n.f)}break;case\\"b\\":a[2]=\\"vt\\"+(n.f?\\"f\\":\\"c\\");a[3]=\\"nl\\";a[4]=n.v?\\"1\\":\\"0\\";a[5]=r(n.f||(n.v?\\"TRUE\\":\\"FALSE\\"));break;case\\"d\\":var c=ee(oe(n.v));a[2]=\\"vtc\\";a[3]=\\"nd\\";a[4]=\\"\\"+c;a[5]=n.w||D.format(n.z||D._table[14],c);break;case\\"e\\":continue;}t.push(a.join(\\":\\"))}}t.push(\\"sheet:c:\\"+(s.e.c-s.s.c+1)+\\":r:\\"+(s.e.r-s.s.r+1)+\\":tvf:1\\");t.push(\\"valueformat:1:text-wiki\\");return t.join(\\"\\\\n\\")}function c(e){return[i,s,f,s,l(e),o].join(\\"\\\\n\\")}return{to_workbook:n,to_sheet:a,from_sheet:c}}();var mf=function(){function e(e,r,t,a,n){if(n.raw)r[t][a]=e;else if(e===\\"TRUE\\")r[t][a]=true;else if(e===\\"FALSE\\")r[t][a]=false;else if(e===\\"\\"){}else if(!isNaN(he(e)))r[t][a]=he(e);else if(!isNaN(de(e).getDate()))r[t][a]=oe(e);else r[t][a]=e}function r(r,t){var a=t||{};var n=[];if(!r||r.length===0)return n;var i=r.split(/[\\\\r\\\\n]/);var s=i.length-1;while(s>=0&&i[s].length===0)--s;var f=10,o=0;var l=0;for(;l<=s;++l){o=i[l].indexOf(\\" \\");if(o==-1)o=i[l].length;else o++;f=Math.max(f,o)}for(l=0;l<=s;++l){n[l]=[];var c=0;e(i[l].slice(0,f).trim(),n,l,c,a);for(c=1;c<=(i[l].length-f)/10+1;++c)e(i[l].slice(f+(c-1)*10,f+c*10).trim(),n,l,c,a)}if(a.sheetRows)n=n.slice(0,a.sheetRows);return n}var t={44:\\",\\",9:\\"\\\\t\\",59:\\";\\"};var a={44:3,9:2,59:1};function n(e){var r={},n=false,i=0,s=0;for(;i<e.length;++i){if((s=e.charCodeAt(i))==34)n=!n;else if(!n&&s in t)r[s]=(r[s]||0)+1}s=[];for(i in r)if(Object.prototype.hasOwnProperty.call(r,i)){s.push([r[i],i])}if(!s.length){r=a;for(i in r)if(Object.prototype.hasOwnProperty.call(r,i)){s.push([r[i],i])}}s.sort(function(e,r){return e[0]-r[0]||a[e[1]]-a[r[1]]});return t[s.pop()[1]]}function i(e,r){var t=r||{};var a=\\"\\";if(m!=null&&t.dense==null)t.dense=m;var i=t.dense?[]:{};var s={s:{c:0,r:0},e:{c:0,r:0}};if(e.slice(0,4)==\\"sep=\\"){if(e.charCodeAt(5)==13&&e.charCodeAt(6)==10){a=e.charAt(4);e=e.slice(7)}else if(e.charCodeAt(5)==13||e.charCodeAt(5)==10){a=e.charAt(4);e=e.slice(6)}}else a=n(e.slice(0,1024));var f=0,o=0,l=0;var c=0,u=0,h=a.charCodeAt(0),d=false,v=0;e=e.replace(/\\\\r\\\\n/gm,\\"\\\\n\\");var p=t.dateNF!=null?M(t.dateNF):null;function b(){var r=e.slice(c,u);var a={};if(r.charAt(0)==\'\\"\'&&r.charAt(r.length-1)==\'\\"\')r=r.slice(1,-1).replace(/\\"\\"/g,\'\\"\');if(r.length===0)a.t=\\"z\\";else if(t.raw){a.t=\\"s\\";a.v=r}else if(r.trim().length===0){a.t=\\"s\\";a.v=r}else if(r.charCodeAt(0)==61){if(r.charCodeAt(1)==34&&r.charCodeAt(r.length-1)==34){a.t=\\"s\\";a.v=r.slice(2,-1).replace(/\\"\\"/g,\'\\"\')}else if(lc(r)){a.t=\\"n\\";a.f=r.slice(1)}else{a.t=\\"s\\";a.v=r}}else if(r==\\"TRUE\\"){a.t=\\"b\\";a.v=true}else if(r==\\"FALSE\\"){a.t=\\"b\\";a.v=false}else if(!isNaN(l=he(r))){a.t=\\"n\\";if(t.cellText!==false)a.w=r;a.v=l}else if(!isNaN(de(r).getDate())||p&&r.match(p)){a.z=t.dateNF||D._table[14];var n=0;if(p&&r.match(p)){r=U(r,t.dateNF,r.match(p)||[]);n=1}if(t.cellDates){a.t=\\"d\\";a.v=oe(r,n)}else{a.t=\\"n\\";a.v=ee(oe(r,n))}if(t.cellText!==false)a.w=D.format(a.z,a.v instanceof Date?ee(a.v):a.v);if(!t.cellNF)delete a.z}else{a.t=\\"s\\";a.v=r}if(a.t==\\"z\\"){}else if(t.dense){if(!i[f])i[f]=[];i[f][o]=a}else i[bt({c:o,r:f})]=a;c=u+1;if(s.e.c<o)s.e.c=o;if(s.e.r<f)s.e.r=f;if(v==h)++o;else{o=0;++f;if(t.sheetRows&&t.sheetRows<=f)return true}}e:for(;u<e.length;++u)switch(v=e.charCodeAt(u)){case 34:d=!d;break;case h:;case 10:;case 13:if(!d&&b())break e;break;default:break;}if(u-c>0)b();i[\\"!ref\\"]=wt(s);return i}function s(e,t){if(!(t&&t.PRN))return i(e,t);if(e.slice(0,4)==\\"sep=\\")return i(e,t);if(e.indexOf(\\"\\\\t\\")>=0||e.indexOf(\\",\\")>=0||e.indexOf(\\";\\")>=0)return i(e,t);return Bt(r(e,t),t)}function f(e,r){var t=\\"\\",a=r.type==\\"string\\"?[0,0,0,0]:Fm(e,r);switch(r.type){case\\"base64\\":t=g.decode(e);break;case\\"binary\\":t=e;break;case\\"buffer\\":if(r.codepage==65001)t=e.toString(\\"utf8\\");else if(r.codepage&&typeof cptable!==\\"undefined\\")t=cptable.utils.decode(r.codepage,e);else t=e.toString(\\"binary\\");break;case\\"array\\":t=le(e);break;case\\"string\\":t=e;break;default:throw new Error(\\"Unrecognized type \\"+r.type);}if(a[0]==239&&a[1]==187&&a[2]==191)t=Ye(t.slice(3));else if(r.type==\\"binary\\"&&typeof cptable!==\\"undefined\\"&&r.codepage)t=cptable.utils.decode(r.codepage,cptable.utils.encode(1252,t));if(t.slice(0,19)==\\"socialcalc:version:\\")return pf.to_sheet(r.type==\\"string\\"?t:Ye(t),r);return s(t,r)}function o(e,r){return _t(f(e,r),r)}function l(e){var r=[];var t=kt(e[\\"!ref\\"]),a;var n=Array.isArray(e);for(var i=t.s.r;i<=t.e.r;++i){var s=[];for(var f=t.s.c;f<=t.e.c;++f){var o=bt({r:i,c:f});a=n?(e[i]||[])[f]:e[o];if(!a||a.v==null){s.push(\\" \\");continue}var l=(a.w||(St(a),a.w)||\\"\\").slice(0,10);while(l.length<10)l+=\\" \\";s.push(l+(f===0?\\" \\":\\"\\"))}r.push(s.join(\\"\\"))}return r.join(\\"\\\\n\\")}return{to_workbook:o,to_sheet:f,from_sheet:l}}();function bf(e,r){var t=r||{},a=!!t.WTF;t.WTF=true;try{var n=df.to_workbook(e,t);t.WTF=a;return n}catch(i){t.WTF=a;if(!i.message.match(/SYLK bad record ID/)&&a)throw i;return mf.to_workbook(e,r)}}var gf=function(){function e(e,r,t){if(!e)return;Yr(e,e.l||0);var a=t.Enum||w;while(e.l<e.length){var n=e._R(2);var i=a[n]||a[255];var s=e._R(2);var f=e.l+s;var o=(i.f||Zr)(e,s,t);e.l=f;if(r(o,i.n,n))return}}function r(e,r){switch(r.type){case\\"base64\\":return t(B(g.decode(e)),r);case\\"binary\\":return t(B(e),r);case\\"buffer\\":;case\\"array\\":return t(e,r);}throw\\"Unsupported type \\"+r.type}function t(r,t){if(!r)return r;var a=t||{};if(m!=null&&a.dense==null)a.dense=m;var n=a.dense?[]:{},i=\\"Sheet1\\",s=0;var f={},o=[i];var l={s:{r:0,c:0},e:{r:0,c:0}};var c=a.sheetRows||0;if(r[2]==2)a.Enum=w;else if(r[2]==26)a.Enum=k;else if(r[2]==14){a.Enum=k;a.qpro=true;r.l=0}else throw new Error(\\"Unrecognized LOTUS BOF \\"+r[2]);e(r,function(e,t,u){if(r[2]==2)switch(u){case 0:a.vers=e;if(e>=4096)a.qpro=true;break;case 6:l=e;break;case 15:if(!a.qpro)e[1].v=e[1].v.slice(1);case 13:;case 14:;case 16:;case 51:if(u==14&&(e[2]&112)==112&&(e[2]&15)>1&&(e[2]&15)<15){e[1].z=a.dateNF||D._table[14];if(a.cellDates){e[1].t=\\"d\\";e[1].v=ne(e[1].v)}}if(a.dense){if(!n[e[0].r])n[e[0].r]=[];n[e[0].r][e[0].c]=e[1]}else n[bt(e[0])]=e[1];break;}else switch(u){case 22:e[1].v=e[1].v.slice(1);case 23:;case 24:;case 25:;case 37:;case 39:;case 40:if(e[3]>s){n[\\"!ref\\"]=wt(l);f[i]=n;n=a.dense?[]:{};l={s:{r:0,c:0},e:{r:0,c:0}};s=e[3];i=\\"Sheet\\"+(s+1);o.push(i)}if(c>0&&e[0].r>=c)break;if(a.dense){if(!n[e[0].r])n[e[0].r]=[];n[e[0].r][e[0].c]=e[1]}else n[bt(e[0])]=e[1];if(l.e.c<e[0].c)l.e.c=e[0].c;if(l.e.r<e[0].r)l.e.r=e[0].r;break;default:break;}},a);n[\\"!ref\\"]=wt(l);f[i]=n;return{SheetNames:o,Sheets:f}}function a(e){var r={s:{c:0,r:0},e:{c:0,r:0}};r.s.c=e._R(2);r.s.r=e._R(2);r.e.c=e._R(2);r.e.r=e._R(2);if(r.s.c==65535)r.s.c=r.e.c=r.s.r=r.e.r=0;return r}function n(e,r,t){var a=[{c:0,r:0},{t:\\"n\\",v:0},0];if(t.qpro&&t.vers!=20768){a[0].c=e._R(1);e.l++;a[0].r=e._R(2);e.l+=2}else{a[2]=e._R(1);a[0].c=e._R(2);a[0].r=e._R(2)}return a}function i(e,r,t){var a=e.l+r;var i=n(e,r,t);i[1].t=\\"s\\";if(t.vers==20768){e.l++;var s=e._R(1);i[1].v=e._R(s,\\"utf8\\");return i}if(t.qpro)e.l++;i[1].v=e._R(a-e.l,\\"cstr\\");return i}function s(e,r,t){var a=n(e,r,t);a[1].v=e._R(2,\\"i\\");return a}function f(e,r,t){var a=n(e,r,t);a[1].v=e._R(8,\\"f\\");return a}function o(e,r,t){var a=e.l+r;var i=n(e,r,t);i[1].v=e._R(8,\\"f\\");if(t.qpro)e.l=a;else{var s=e._R(2);e.l+=s}return i}function l(e){var r=[{c:0,r:0},{t:\\"n\\",v:0},0];r[0].r=e._R(2);r[3]=e[e.l++];r[0].c=e[e.l++];return r}function c(e,r){var t=l(e,r);t[1].t=\\"s\\";t[1].v=e._R(r-4,\\"cstr\\");return t}function u(e,r){var t=l(e,r);t[1].v=e._R(2);var a=t[1].v>>1;if(t[1].v&1){switch(a&7){case 1:a=(a>>3)*500;break;case 2:a=(a>>3)/20;break;case 4:a=(a>>3)/2e3;break;case 6:a=(a>>3)/16;break;case 7:a=(a>>3)/64;break;default:throw\\"unknown NUMBER_18 encoding \\"+(a&7);}}t[1].v=a;return t}function h(e,r){var t=l(e,r);var a=e._R(4);var n=e._R(4);var i=e._R(2);if(i==65535){t[1].v=0;return t}var s=i&32768;i=(i&32767)-16446;t[1].v=(s*2-1)*((i>0?n<<i:n>>>-i)+(i>-32?a<<i+32:a>>>-(i+32)));return t}function d(e,r){var t=h(e,14);e.l+=r-14;return t}function v(e,r){var t=l(e,r);var a=e._R(4);t[1].v=a>>6;return t}function p(e,r){var t=l(e,r);var a=e._R(8,\\"f\\");t[1].v=a;return t}function b(e,r){var t=p(e,14);e.l+=r-10;return t}var w={0:{n:\\"BOF\\",f:$n},1:{n:\\"EOF\\"},2:{n:\\"CALCMODE\\"},3:{n:\\"CALCORDER\\"},4:{n:\\"SPLIT\\"},5:{n:\\"SYNC\\"},6:{n:\\"RANGE\\",f:a},7:{n:\\"WINDOW1\\"},8:{n:\\"COLW1\\"},9:{n:\\"WINTWO\\"},10:{n:\\"COLW2\\"},11:{n:\\"NAME\\"},12:{n:\\"BLANK\\"},13:{n:\\"INTEGER\\",f:s},14:{n:\\"NUMBER\\",f:f},15:{n:\\"LABEL\\",f:i},16:{n:\\"FORMULA\\",f:o},24:{n:\\"TABLE\\"},25:{n:\\"ORANGE\\"},26:{n:\\"PRANGE\\"},27:{n:\\"SRANGE\\"},28:{n:\\"FRANGE\\"},29:{n:\\"KRANGE1\\"},32:{n:\\"HRANGE\\"},35:{n:\\"KRANGE2\\"},36:{n:\\"PROTEC\\"},37:{n:\\"FOOTER\\"},38:{n:\\"HEADER\\"},39:{n:\\"SETUP\\"},40:{n:\\"MARGINS\\"},41:{n:\\"LABELFMT\\"},42:{n:\\"TITLES\\"},43:{n:\\"SHEETJS\\"},45:{n:\\"GRAPH\\"},46:{n:\\"NGRAPH\\"},47:{n:\\"CALCCOUNT\\"},48:{n:\\"UNFORMATTED\\"},49:{n:\\"CURSORW12\\"},50:{n:\\"WINDOW\\"},51:{n:\\"STRING\\",f:i},55:{n:\\"PASSWORD\\"},56:{n:\\"LOCKED\\"},60:{n:\\"QUERY\\"},61:{n:\\"QUERYNAME\\"},62:{n:\\"PRINT\\"},63:{n:\\"PRINTNAME\\"},64:{n:\\"GRAPH2\\"},65:{n:\\"GRAPHNAME\\"},66:{n:\\"ZOOM\\"},67:{n:\\"SYMSPLIT\\"},68:{n:\\"NSROWS\\"},69:{n:\\"NSCOLS\\"},70:{n:\\"RULER\\"},71:{n:\\"NNAME\\"},72:{n:\\"ACOMM\\"},73:{n:\\"AMACRO\\"},74:{n:\\"PARSE\\"},255:{n:\\"\\",f:Zr}};var k={0:{n:\\"BOF\\"},1:{n:\\"EOF\\"},3:{n:\\"??\\"},4:{n:\\"??\\"},5:{n:\\"??\\"},6:{n:\\"??\\"},7:{n:\\"??\\"},9:{n:\\"??\\"},10:{n:\\"??\\"},11:{n:\\"??\\"},12:{n:\\"??\\"},14:{n:\\"??\\"},15:{n:\\"??\\"},16:{n:\\"??\\"},17:{n:\\"??\\"},18:{n:\\"??\\"},19:{n:\\"??\\"},21:{n:\\"??\\"},22:{n:\\"LABEL16\\",f:c},23:{n:\\"NUMBER17\\",f:h},24:{n:\\"NUMBER18\\",f:u},25:{n:\\"FORMULA19\\",f:d},26:{n:\\"??\\"},27:{n:\\"??\\"},28:{n:\\"??\\"},29:{n:\\"??\\"},30:{n:\\"??\\"},31:{n:\\"??\\"},33:{n:\\"??\\"},37:{n:\\"NUMBER25\\",f:v},39:{n:\\"NUMBER27\\",f:p},40:{n:\\"FORMULA28\\",f:b},255:{n:\\"\\",f:Zr}};return{to_workbook:r}}();function wf(e){var r={},t=e.match(Re),a=0;var n=false;if(t)for(;a!=t.length;++a){var s=Fe(t[a]);switch(s[0].replace(/\\\\w*:/g,\\"\\")){case\\"<condense\\":break;case\\"<extend\\":break;case\\"<shadow\\":if(!s.val)break;case\\"<shadow>\\":;case\\"<shadow/>\\":r.shadow=1;break;case\\"</shadow>\\":break;case\\"<charset\\":if(s.val==\\"1\\")break;r.cp=i[parseInt(s.val,10)];break;case\\"<outline\\":if(!s.val)break;case\\"<outline>\\":;case\\"<outline/>\\":r.outline=1;break;case\\"</outline>\\":break;case\\"<rFont\\":r.name=s.val;break;case\\"<sz\\":r.sz=s.val;break;case\\"<strike\\":if(!s.val)break;case\\"<strike>\\":;case\\"<strike/>\\":r.strike=1;break;case\\"</strike>\\":break;case\\"<u\\":if(!s.val)break;switch(s.val){case\\"double\\":r.uval=\\"double\\";break;case\\"singleAccounting\\":r.uval=\\"single-accounting\\";break;case\\"doubleAccounting\\":r.uval=\\"double-accounting\\";break;};case\\"<u>\\":;case\\"<u/>\\":r.u=1;break;case\\"</u>\\":break;case\\"<b\\":if(s.val==\\"0\\")break;case\\"<b>\\":;case\\"<b/>\\":r.b=1;break;case\\"</b>\\":break;case\\"<i\\":if(s.val==\\"0\\")break;case\\"<i>\\":;case\\"<i/>\\":r.i=1;break;case\\"</i>\\":break;case\\"<color\\":if(s.rgb)r.color=s.rgb.slice(2,8);break;case\\"<family\\":r.family=s.val;break;case\\"<vertAlign\\":r.valign=s.val;break;case\\"<scheme\\":break;case\\"<extLst\\":;case\\"<extLst>\\":;case\\"</extLst>\\":break;case\\"<ext\\":n=true;break;case\\"</ext>\\":n=false;break;default:if(s[0].charCodeAt(1)!==47&&!n)throw new Error(\\"Unrecognized rich format \\"+s[0]);}}return r}var kf=function(){var e=er(\\"t\\"),r=er(\\"rPr\\");function t(t){var a=t.match(e);if(!a)return{t:\\"s\\",v:\\"\\"};var n={t:\\"s\\",v:Me(a[1])};var i=t.match(r);if(i)n.s=wf(i[1]);return n}var a=/<(?:\\\\w+:)?r>/g,n=/<\\\\/(?:\\\\w+:)?r>/;return function i(e){return e.replace(a,\\"\\").split(n).map(t).filter(function(e){return e.v})}}();var Ef=function Rb(){var e=/(\\\\r\\\\n|\\\\n)/g;function r(e,r,t){var a=[];if(e.u)a.push(\\"text-decoration: underline;\\");if(e.uval)a.push(\\"text-underline-style:\\"+e.uval+\\";\\");if(e.sz)a.push(\\"font-size:\\"+e.sz+\\"pt;\\");if(e.outline)a.push(\\"text-effect: outline;\\");if(e.shadow)a.push(\\"text-shadow: auto;\\");r.push(\'<span style=\\"\'+a.join(\\"\\")+\'\\">\');if(e.b){r.push(\\"<b>\\");t.push(\\"</b>\\")}if(e.i){r.push(\\"<i>\\");t.push(\\"</i>\\")}if(e.strike){r.push(\\"<s>\\");t.push(\\"</s>\\")}var n=e.valign||\\"\\";if(n==\\"superscript\\"||n==\\"super\\")n=\\"sup\\";else if(n==\\"subscript\\")n=\\"sub\\";if(n!=\\"\\"){r.push(\\"<\\"+n+\\">\\");t.push(\\"</\\"+n+\\">\\")}t.push(\\"</span>\\");return e}function t(t){var a=[[],t.v,[]];if(!t.v)return\\"\\";if(t.s)r(t.s,a[0],a[2]);return a[0].join(\\"\\")+a[1].replace(e,\\"<br/>\\")+a[2].join(\\"\\")}return function a(e){return e.map(t).join(\\"\\")}}();var Sf=/<(?:\\\\w+:)?t[^>]*>([^<]*)<\\\\/(?:\\\\w+:)?t>/g,_f=/<(?:\\\\w+:)?r>/;var Cf=/<(?:\\\\w+:)?rPh.*?>([\\\\s\\\\S]*?)<\\\\/(?:\\\\w+:)?rPh>/g;function Bf(e,r){var t=r?r.cellHTML:true;var a={};if(!e)return{t:\\"\\"};if(e.match(/^\\\\s*<(?:\\\\w+:)?t[^>]*>/)){a.t=Me(Ye(e.slice(e.indexOf(\\">\\")+1).split(/<\\\\/(?:\\\\w+:)?t>/)[0]||\\"\\"));a.r=Ye(e);if(t)a.h=Xe(a.t)}else if(e.match(_f)){a.r=Ye(e);a.t=Me(Ye((e.replace(Cf,\\"\\").match(Sf)||[]).join(\\"\\").replace(Re,\\"\\")));if(t)a.h=Ef(kf(a.r))}return a}var Tf=/<(?:\\\\w+:)?sst([^>]*)>([\\\\s\\\\S]*)<\\\\/(?:\\\\w+:)?sst>/;var yf=/<(?:\\\\w+:)?(?:si|sstItem)>/g;var xf=/<\\\\/(?:\\\\w+:)?(?:si|sstItem)>/;function Af(e,r){var t=[],a=\\"\\";if(!e)return t;var n=e.match(Tf);if(n){a=n[2].replace(yf,\\"\\").split(xf);for(var i=0;i!=a.length;++i){var s=Bf(a[i].trim(),r);if(s!=null)t[t.length]=s}n=Fe(n[1]);t.Count=n.count;t.Unique=n.uniqueCount}return t}Ma.SST=\\"http://schemas.openxmlformats.org/officeDocument/2006/relationships/sharedStrings\\";var If=/^\\\\s|\\\\s$|[\\\\t\\\\n\\\\r]/;function Rf(e,r){if(!r.bookSST)return\\"\\";var t=[Ae];t[t.length]=lr(\\"sst\\",null,{xmlns:hr.main[0],count:e.Count,uniqueCount:e.Unique});for(var a=0;a!=e.length;++a){if(e[a]==null)continue;var n=e[a];var i=\\"<si>\\";if(n.r)i+=n.r;else{i+=\\"<t\\";if(!n.t)n.t=\\"\\";if(n.t.match(If))i+=\' xml:space=\\"preserve\\"\';i+=\\">\\"+He(n.t)+\\"</t>\\"}i+=\\"</si>\\";t[t.length]=i}if(t.length>2){t[t.length]=\\"</sst>\\";t[1]=t[1].replace(\\"/>\\",\\">\\")}return t.join(\\"\\")}function Of(e){return[e._R(4),e._R(4)]}function Df(e,r){var t=[];var a=false;Qr(e,function n(e,i,s){switch(s){case 159:t.Count=e[0];t.Unique=e[1];break;case 19:t.push(e);break;case 160:return true;case 35:a=true;break;case 36:a=false;break;default:if(i.indexOf(\\"Begin\\")>0){}else if(i.indexOf(\\"End\\")>0){}if(!a||r.WTF)throw new Error(\\"Unexpected record \\"+s+\\" \\"+i);}});return t}function Ff(e,r){if(!r)r=Jr(8);r._W(4,e.Count);r._W(4,e.Unique);return r}var Pf=Ot;function Nf(e){var r=qr();et(r,\\"BrtBeginSst\\",Ff(e));for(var t=0;t<e.length;++t)et(r,\\"BrtSSTItem\\",Pf(e[t]));et(r,\\"BrtEndSst\\");return r.end()}function Lf(e){if(typeof cptable!==\\"undefined\\")return cptable.utils.encode(t,e);var r=[],a=e.split(\\"\\");for(var n=0;n<a.length;++n)r[n]=a[n].charCodeAt(0);return r}function Mf(e,r){var t={};t.Major=e._R(2);t.Minor=e._R(2);if(r>=4)e.l+=r-4;return t}function Uf(e){var r={};r.id=e._R(0,\\"lpp4\\");r.R=Mf(e,4);r.U=Mf(e,4);r.W=Mf(e,4);return r}function zf(e){var r=e._R(4);var t=e.l+r-4;var a={};var n=e._R(4);var i=[];while(n-- >0)i.push({t:e._R(4),v:e._R(0,\\"lpp4\\")});a.name=e._R(0,\\"lpp4\\");a.comps=i;if(e.l!=t)throw new Error(\\"Bad DataSpaceMapEntry: \\"+e.l+\\" != \\"+t);return a}function Hf(e){var r=[];e.l+=4;var t=e._R(4);while(t-- >0)r.push(zf(e));return r}function Wf(e){var r=[];e.l+=4;var t=e._R(4);while(t-- >0)r.push(e._R(0,\\"lpp4\\"));return r}function Vf(e){var r={};e._R(4);e.l+=4;r.id=e._R(0,\\"lpp4\\");r.name=e._R(0,\\"lpp4\\");r.R=Mf(e,4);r.U=Mf(e,4);r.W=Mf(e,4);return r}function Xf(e){var r=Vf(e);r.ename=e._R(0,\\"8lpp4\\");r.blksz=e._R(4);r.cmode=e._R(4);if(e._R(4)!=4)throw new Error(\\"Bad !Primary record\\");return r}function Gf(e,r){var t=e.l+r;var a={};a.Flags=e._R(4)&63;e.l+=4;a.AlgID=e._R(4);var n=false;switch(a.AlgID){case 26126:;case 26127:;case 26128:n=a.Flags==36;break;case 26625:n=a.Flags==4;break;case 0:n=a.Flags==16||a.Flags==4||a.Flags==36;break;default:throw\\"Unrecognized encryption algorithm: \\"+a.AlgID;}if(!n)throw new Error(\\"Encryption Flags/AlgID mismatch\\");a.AlgIDHash=e._R(4);a.KeySize=e._R(4);a.ProviderType=e._R(4);e.l+=8;a.CSPName=e._R(t-e.l>>1,\\"utf16le\\");e.l=t;return a}function jf(e,r){var t={},a=e.l+r;e.l+=4;t.Salt=e.slice(e.l,e.l+16);e.l+=16;t.Verifier=e.slice(e.l,e.l+16);e.l+=16;e._R(4);t.VerifierHash=e.slice(e.l,a);e.l=a;return t}function Kf(e){var r=Mf(e);switch(r.Minor){case 2:return[r.Minor,$f(e,r)];case 3:return[r.Minor,Yf(e,r)];case 4:return[r.Minor,Zf(e,r)];}throw new Error(\\"ECMA-376 Encrypted file unrecognized Version: \\"+r.Minor)}function $f(e){var r=e._R(4);if((r&63)!=36)throw new Error(\\"EncryptionInfo mismatch\\");var t=e._R(4);var a=Gf(e,t);var n=jf(e,e.length-e.l);return{t:\\"Std\\",h:a,v:n}}function Yf(){throw new Error(\\"File is password-protected: ECMA-376 Extensible\\")}function Zf(e){var r=[\\"saltSize\\",\\"blockSize\\",\\"keyBits\\",\\"hashSize\\",\\"cipherAlgorithm\\",\\"cipherChaining\\",\\"hashAlgorithm\\",\\"saltValue\\"];e.l+=4;var t=e._R(e.length-e.l,\\"utf8\\");var a={};t.replace(Re,function n(e){var t=Fe(e);switch(Pe(t[0])){case\\"<?xml\\":break;case\\"<encryption\\":;case\\"</encryption>\\":break;case\\"<keyData\\":r.forEach(function(e){a[e]=t[e]});break;case\\"<dataIntegrity\\":a.encryptedHmacKey=t.encryptedHmacKey;a.encryptedHmacValue=t.encryptedHmacValue;break;case\\"<keyEncryptors>\\":;case\\"<keyEncryptors\\":a.encs=[];break;case\\"</keyEncryptors>\\":break;case\\"<keyEncryptor\\":a.uri=t.uri;break;case\\"</keyEncryptor>\\":break;case\\"<encryptedKey\\":a.encs.push(t);break;default:throw t[0];}});return a}function Jf(e,r){var t={};var a=t.EncryptionVersionInfo=Mf(e,4);r-=4;if(a.Minor!=2)throw new Error(\\"unrecognized minor version code: \\"+a.Minor);if(a.Major>4||a.Major<2)throw new Error(\\"unrecognized major version code: \\"+a.Major);t.Flags=e._R(4);r-=4;var n=e._R(4);r-=4;t.EncryptionHeader=Gf(e,n);r-=n;t.EncryptionVerifier=jf(e,r);return t}function Qf(e){var r={};var t=r.EncryptionVersionInfo=Mf(e,4);if(t.Major!=1||t.Minor!=1)throw\\"unrecognized version code \\"+t.Major+\\" : \\"+t.Minor;r.Salt=e._R(16);r.EncryptedVerifier=e._R(16);r.EncryptedVerifierHash=e._R(16);return r}function qf(e){var r=0,t;var a=Lf(e);var n=a.length+1,i,s;var f,o,l;t=_(n);t[0]=a.length;for(i=1;i!=n;++i)t[i]=a[i-1];for(i=n-1;i>=0;--i){s=t[i];f=(r&16384)===0?0:1;o=r<<1&32767;l=f|o;r=l^s}return r^52811}var eo=function(){var e=[187,255,255,186,255,255,185,128,0,190,15,0,191,15,0];var r=[57840,7439,52380,33984,4364,3600,61902,12606,6258,57657,54287,34041,10252,43370,20163];var t=[44796,19929,39858,10053,20106,40212,10761,31585,63170,64933,60267,50935,40399,11199,17763,35526,1453,2906,5812,11624,23248,885,1770,3540,7080,14160,28320,56640,55369,41139,20807,41614,21821,43642,17621,28485,56970,44341,19019,38038,14605,29210,60195,50791,40175,10751,21502,43004,24537,18387,36774,3949,7898,15796,31592,63184,47201,24803,49606,37805,14203,28406,56812,17824,35648,1697,3394,6788,13576,27152,43601,17539,35078,557,1114,2228,4456,30388,60776,51953,34243,7079,14158,28316,14128,28256,56512,43425,17251,34502,7597,13105,26210,52420,35241,883,1766,3532,4129,8258,16516,33032,4657,9314,18628];var a=function(e){return(e/2|e*128)&255};var n=function(e,r){return a(e^r)};var i=function(e){var a=r[e.length-1];var n=104;for(var i=e.length-1;i>=0;--i){var s=e[i];for(var f=0;f!=7;++f){if(s&64)a^=t[n];s*=2;--n}}return a};return function(r){var t=Lf(r);var a=i(t);var s=t.length;var f=_(16);for(var o=0;o!=16;++o)f[o]=0;var l,c,u;if((s&1)===1){l=a>>8;f[s]=n(e[0],l);--s;l=a&255;c=t[t.length-1];f[s]=n(c,l)}while(s>0){--s;l=a>>8;f[s]=n(t[s],l);--s;l=a&255;f[s]=n(t[s],l)}s=15;u=15-t.length;while(u>0){l=a>>8;f[s]=n(e[u],l);--s;--u;l=a&255;f[s]=n(t[s],l);--s;--u}return f}}();var ro=function(e,r,t,a,n){if(!n)n=r;if(!a)a=eo(e);var i,s;for(i=0;i!=r.length;++i){s=r[i];s^=a[t];s=(s>>5|s<<3)&255;n[i]=s;++t}return[n,t,a]};var to=function(e){var r=0,t=eo(e);return function(e){var a=ro(\\"\\",e,r,t);r=a[1];return a[0]}};function ao(e,r,t,a){var n={key:$n(e),verificationBytes:$n(e)};if(t.password)n.verifier=qf(t.password);a.valid=n.verificationBytes===n.verifier;if(a.valid)a.insitu=to(t.password);return n}function no(e,r,t){var a=t||{};a.Info=e._R(2);e.l-=2;if(a.Info===1)a.Data=Qf(e,r);else a.Data=Jf(e,r);return a}function io(e,r,t){var a={Type:t.biff>=8?e._R(2):0};if(a.Type)no(e,r-2,a);else ao(e,t.biff>=8?r:r-2,t,a);return a}var so=function(){function e(e,t){switch(t.type){case\\"base64\\":return r(g.decode(e),t);case\\"binary\\":return r(e,t);case\\"buffer\\":return r(e.toString(\\"binary\\"),t);case\\"array\\":return r(le(e),t);}throw new Error(\\"Unrecognized type \\"+t.type)}function r(e,r){var t=r||{};var a=t.dense?[]:{};var n={s:{c:0,r:0},e:{c:0,r:0}};if(!e.match(/\\\\\\\\trowd/))throw new Error(\\"RTF missing table\\");a[\\"!ref\\"]=wt(n);return a}function t(r,t){return _t(e(r,t),t)}function a(e){var r=[\\"{\\\\\\\\rtf1\\\\\\\\ansi\\"];var t=kt(e[\\"!ref\\"]),a;var n=Array.isArray(e);for(var i=t.s.r;i<=t.e.r;++i){r.push(\\"\\\\\\\\trowd\\\\\\\\trautofit1\\");for(var s=t.s.c;s<=t.e.c;++s)r.push(\\"\\\\\\\\cellx\\"+(s+1));r.push(\\"\\\\\\\\pard\\\\\\\\intbl\\");for(s=t.s.c;s<=t.e.c;++s){var f=bt({r:i,c:s});a=n?(e[i]||[])[s]:e[f];if(!a||a.v==null&&(!a.f||a.F))continue;r.push(\\" \\"+(a.w||(St(a),a.w)));r.push(\\"\\\\\\\\cell\\")}r.push(\\"\\\\\\\\pard\\\\\\\\intbl\\\\\\\\row\\")}return r.join(\\"\\")+\\"}\\"}return{to_workbook:t,to_sheet:e,from_sheet:a}}();function fo(e){var r=e.slice(e[0]===\\"#\\"?1:0).slice(0,6);return[parseInt(r.slice(0,2),16),parseInt(r.slice(2,4),16),parseInt(r.slice(4,6),16)]}function oo(e){for(var r=0,t=1;r!=3;++r)t=t*256+(e[r]>255?255:e[r]<0?0:e[r]);return t.toString(16).toUpperCase().slice(1)}function lo(e){var r=e[0]/255,t=e[1]/255,a=e[2]/255;var n=Math.max(r,t,a),i=Math.min(r,t,a),s=n-i;if(s===0)return[0,0,r];var f=0,o=0,l=n+i;o=s/(l>1?2-l:l);switch(n){case r:f=((t-a)/s+6)%6;break;case t:f=(a-r)/s+2;break;case a:f=(r-t)/s+4;break;}return[f/6,o,l/2]}function co(e){var r=e[0],t=e[1],a=e[2];var n=t*2*(a<.5?a:1-a),i=a-n/2;var s=[i,i,i],f=6*r;var o;if(t!==0)switch(f|0){case 0:;case 6:o=n*f;s[0]+=n;s[1]+=o;break;case 1:o=n*(2-f);s[0]+=o;s[1]+=n;break;case 2:o=n*(f-2);s[1]+=n;s[2]+=o;break;case 3:o=n*(4-f);s[1]+=o;s[2]+=n;break;case 4:o=n*(f-4);s[2]+=n;s[0]+=o;break;case 5:o=n*(6-f);s[2]+=o;s[0]+=n;break;}for(var l=0;l!=3;++l)s[l]=Math.round(s[l]*255);return s}function uo(e,r){if(r===0)return e;var t=lo(fo(e));if(r<0)t[2]=t[2]*(1+r);else t[2]=1-(1-t[2])*(1-r);return oo(co(t))}var ho=6,vo=15,po=1,mo=ho;function bo(e){return Math.floor((e+Math.round(128/mo)/256)*mo)}function go(e){return Math.floor((e-5)/mo*100+.5)/100}function wo(e){return Math.round((e*mo+5)/mo*256)/256}function ko(e){return wo(go(bo(e)))}function Eo(e){var r=Math.abs(e-ko(e)),t=mo;if(r>.005)for(mo=po;mo<vo;++mo)if(Math.abs(e-ko(e))<=r){r=Math.abs(e-ko(e));t=mo}mo=t}function So(e){if(e.width){e.wpx=bo(e.width);e.wch=go(e.wpx);e.MDW=mo}else if(e.wpx){e.wch=go(e.wpx);e.width=wo(e.wch);e.MDW=mo}else if(typeof e.wch==\\"number\\"){e.width=wo(e.wch);e.wpx=bo(e.width);e.MDW=mo}if(e.customWidth)delete e.customWidth}var _o=96,Co=_o;function Bo(e){return e*96/Co}function To(e){return e*Co/96}var yo={None:\\"none\\",Solid:\\"solid\\",Gray50:\\"mediumGray\\",Gray75:\\"darkGray\\",Gray25:\\"lightGray\\",HorzStripe:\\"darkHorizontal\\",VertStripe:\\"darkVertical\\",ReverseDiagStripe:\\"darkDown\\",DiagStripe:\\"darkUp\\",DiagCross:\\"darkGrid\\",ThickDiagCross:\\"darkTrellis\\",ThinHorzStripe:\\"lightHorizontal\\",ThinVertStripe:\\"lightVertical\\",ThinReverseDiagStripe:\\"lightDown\\",ThinHorzCross:\\"lightGrid\\"};function xo(e,r,t,a){r.Borders=[];var n={};var i=false;(e[0].match(Re)||[]).forEach(function(e){var t=Fe(e);switch(Pe(t[0])){case\\"<borders\\":;case\\"<borders>\\":;case\\"</borders>\\":break;case\\"<border\\":;case\\"<border>\\":;case\\"<border/>\\":n={};if(t.diagonalUp)n.diagonalUp=$e(t.diagonalUp);if(t.diagonalDown)n.diagonalDown=$e(t.diagonalDown);r.Borders.push(n);break;case\\"</border>\\":break;case\\"<left/>\\":break;case\\"<left\\":;case\\"<left>\\":break;case\\"</left>\\":break;case\\"<right/>\\":break;case\\"<right\\":;case\\"<right>\\":break;case\\"</right>\\":break;case\\"<top/>\\":break;case\\"<top\\":;case\\"<top>\\":break;case\\"</top>\\":break;case\\"<bottom/>\\":break;case\\"<bottom\\":;case\\"<bottom>\\":break;case\\"</bottom>\\":break;case\\"<diagonal\\":;case\\"<diagonal>\\":;case\\"<diagonal/>\\":break;case\\"</diagonal>\\":break;case\\"<horizontal\\":;case\\"<horizontal>\\":;case\\"<horizontal/>\\":break;case\\"</horizontal>\\":break;case\\"<vertical\\":;case\\"<vertical>\\":;case\\"<vertical/>\\":break;case\\"</vertical>\\":break;case\\"<start\\":;case\\"<start>\\":;case\\"<start/>\\":break;case\\"</start>\\":break;case\\"<end\\":;case\\"<end>\\":;case\\"<end/>\\":break;case\\"</end>\\":break;case\\"<color\\":;case\\"<color>\\":break;case\\"<color/>\\":;case\\"</color>\\":break;case\\"<extLst\\":;case\\"<extLst>\\":;case\\"</extLst>\\":break;case\\"<ext\\":i=true;break;case\\"</ext>\\":i=false;break;default:if(a&&a.WTF){if(!i)throw new Error(\\"unrecognized \\"+t[0]+\\" in borders\\")};}})}function Ao(e,r,t,a){r.Fills=[];var n={};var i=false;(e[0].match(Re)||[]).forEach(function(e){var t=Fe(e);switch(Pe(t[0])){case\\"<fills\\":;case\\"<fills>\\":;case\\"</fills>\\":break;case\\"<fill>\\":;case\\"<fill\\":;case\\"<fill/>\\":n={};r.Fills.push(n);break;case\\"</fill>\\":break;case\\"<gradientFill>\\":break;case\\"<gradientFill\\":;case\\"</gradientFill>\\":r.Fills.push(n);n={};break;case\\"<patternFill\\":;case\\"<patternFill>\\":if(t.patternType)n.patternType=t.patternType;break;case\\"<patternFill/>\\":;case\\"</patternFill>\\":break;case\\"<bgColor\\":if(!n.bgColor)n.bgColor={};if(t.indexed)n.bgColor.indexed=parseInt(t.indexed,10);if(t.theme)n.bgColor.theme=parseInt(t.theme,10);if(t.tint)n.bgColor.tint=parseFloat(t.tint);if(t.rgb)n.bgColor.rgb=t.rgb.slice(-6);break;case\\"<bgColor/>\\":;case\\"</bgColor>\\":break;case\\"<fgColor\\":if(!n.fgColor)n.fgColor={};if(t.theme)n.fgColor.theme=parseInt(t.theme,10);if(t.tint)n.fgColor.tint=parseFloat(t.tint);if(t.rgb!=null)n.fgColor.rgb=t.rgb.slice(-6);\\nbreak;case\\"<fgColor/>\\":;case\\"</fgColor>\\":break;case\\"<stop\\":;case\\"<stop/>\\":break;case\\"</stop>\\":break;case\\"<color\\":;case\\"<color/>\\":break;case\\"</color>\\":break;case\\"<extLst\\":;case\\"<extLst>\\":;case\\"</extLst>\\":break;case\\"<ext\\":i=true;break;case\\"</ext>\\":i=false;break;default:if(a&&a.WTF){if(!i)throw new Error(\\"unrecognized \\"+t[0]+\\" in fills\\")};}})}function Io(e,r,t,a){r.Fonts=[];var n={};var s=false;(e[0].match(Re)||[]).forEach(function(e){var f=Fe(e);switch(Pe(f[0])){case\\"<fonts\\":;case\\"<fonts>\\":;case\\"</fonts>\\":break;case\\"<font\\":;case\\"<font>\\":break;case\\"</font>\\":;case\\"<font/>\\":r.Fonts.push(n);n={};break;case\\"<name\\":if(f.val)n.name=Ye(f.val);break;case\\"<name/>\\":;case\\"</name>\\":break;case\\"<b\\":n.bold=f.val?$e(f.val):1;break;case\\"<b/>\\":n.bold=1;break;case\\"<i\\":n.italic=f.val?$e(f.val):1;break;case\\"<i/>\\":n.italic=1;break;case\\"<u\\":switch(f.val){case\\"none\\":n.underline=0;break;case\\"single\\":n.underline=1;break;case\\"double\\":n.underline=2;break;case\\"singleAccounting\\":n.underline=33;break;case\\"doubleAccounting\\":n.underline=34;break;}break;case\\"<u/>\\":n.underline=1;break;case\\"<strike\\":n.strike=f.val?$e(f.val):1;break;case\\"<strike/>\\":n.strike=1;break;case\\"<outline\\":n.outline=f.val?$e(f.val):1;break;case\\"<outline/>\\":n.outline=1;break;case\\"<shadow\\":n.shadow=f.val?$e(f.val):1;break;case\\"<shadow/>\\":n.shadow=1;break;case\\"<condense\\":n.condense=f.val?$e(f.val):1;break;case\\"<condense/>\\":n.condense=1;break;case\\"<extend\\":n.extend=f.val?$e(f.val):1;break;case\\"<extend/>\\":n.extend=1;break;case\\"<sz\\":if(f.val)n.sz=+f.val;break;case\\"<sz/>\\":;case\\"</sz>\\":break;case\\"<vertAlign\\":if(f.val)n.vertAlign=f.val;break;case\\"<vertAlign/>\\":;case\\"</vertAlign>\\":break;case\\"<family\\":if(f.val)n.family=parseInt(f.val,10);break;case\\"<family/>\\":;case\\"</family>\\":break;case\\"<scheme\\":if(f.val)n.scheme=f.val;break;case\\"<scheme/>\\":;case\\"</scheme>\\":break;case\\"<charset\\":if(f.val==\\"1\\")break;f.codepage=i[parseInt(f.val,10)];break;case\\"<color\\":if(!n.color)n.color={};if(f.auto)n.color.auto=$e(f.auto);if(f.rgb)n.color.rgb=f.rgb.slice(-6);else if(f.indexed){n.color.index=parseInt(f.indexed,10);var o=ya[n.color.index];if(n.color.index==81)o=ya[1];if(!o)throw new Error(e);n.color.rgb=o[0].toString(16)+o[1].toString(16)+o[2].toString(16)}else if(f.theme){n.color.theme=parseInt(f.theme,10);if(f.tint)n.color.tint=parseFloat(f.tint);if(f.theme&&t.themeElements&&t.themeElements.clrScheme){n.color.rgb=uo(t.themeElements.clrScheme[n.color.theme].rgb,n.color.tint||0)}}break;case\\"<color/>\\":;case\\"</color>\\":break;case\\"<AlternateContent\\":s=true;break;case\\"</AlternateContent>\\":s=false;break;case\\"<extLst\\":;case\\"<extLst>\\":;case\\"</extLst>\\":break;case\\"<ext\\":s=true;break;case\\"</ext>\\":s=false;break;default:if(a&&a.WTF){if(!s)throw new Error(\\"unrecognized \\"+f[0]+\\" in fonts\\")};}})}function Ro(e,r,t){r.NumberFmt=[];var a=K(D._table);for(var n=0;n<a.length;++n)r.NumberFmt[a[n]]=D._table[a[n]];var i=e[0].match(Re);if(!i)return;for(n=0;n<i.length;++n){var s=Fe(i[n]);switch(Pe(s[0])){case\\"<numFmts\\":;case\\"</numFmts>\\":;case\\"<numFmts/>\\":;case\\"<numFmts>\\":break;case\\"<numFmt\\":{var f=Me(Ye(s.formatCode)),o=parseInt(s.numFmtId,10);r.NumberFmt[o]=f;if(o>0){if(o>392){for(o=392;o>60;--o)if(r.NumberFmt[o]==null)break;r.NumberFmt[o]=f}D.load(f,o)}}break;case\\"</numFmt>\\":break;default:if(t.WTF)throw new Error(\\"unrecognized \\"+s[0]+\\" in numFmts\\");}}}function Oo(e){var r=[\\"<numFmts>\\"];[[5,8],[23,26],[41,44],[50,392]].forEach(function(t){for(var a=t[0];a<=t[1];++a)if(e[a]!=null)r[r.length]=lr(\\"numFmt\\",null,{numFmtId:a,formatCode:He(e[a])})});if(r.length===1)return\\"\\";r[r.length]=\\"</numFmts>\\";r[0]=lr(\\"numFmts\\",null,{count:r.length-2}).replace(\\"/>\\",\\">\\");return r.join(\\"\\")}var Do=[\\"numFmtId\\",\\"fillId\\",\\"fontId\\",\\"borderId\\",\\"xfId\\"];var Fo=[\\"applyAlignment\\",\\"applyBorder\\",\\"applyFill\\",\\"applyFont\\",\\"applyNumberFormat\\",\\"applyProtection\\",\\"pivotButton\\",\\"quotePrefix\\"];function Po(e,r,t){r.CellXf=[];var a;var n=false;(e[0].match(Re)||[]).forEach(function(e){var i=Fe(e),s=0;switch(Pe(i[0])){case\\"<cellXfs\\":;case\\"<cellXfs>\\":;case\\"<cellXfs/>\\":;case\\"</cellXfs>\\":break;case\\"<xf\\":;case\\"<xf/>\\":a=i;delete a[0];for(s=0;s<Do.length;++s)if(a[Do[s]])a[Do[s]]=parseInt(a[Do[s]],10);for(s=0;s<Fo.length;++s)if(a[Fo[s]])a[Fo[s]]=$e(a[Fo[s]]);if(a.numFmtId>392){for(s=392;s>60;--s)if(r.NumberFmt[a.numFmtId]==r.NumberFmt[s]){a.numFmtId=s;break}}r.CellXf.push(a);break;case\\"</xf>\\":break;case\\"<alignment\\":;case\\"<alignment/>\\":var f={};if(i.vertical)f.vertical=i.vertical;if(i.horizontal)f.horizontal=i.horizontal;if(i.textRotation!=null)f.textRotation=i.textRotation;if(i.indent)f.indent=i.indent;if(i.wrapText)f.wrapText=$e(i.wrapText);a.alignment=f;break;case\\"</alignment>\\":break;case\\"<protection\\":break;case\\"</protection>\\":;case\\"<protection/>\\":break;case\\"<AlternateContent\\":n=true;break;case\\"</AlternateContent>\\":n=false;break;case\\"<extLst\\":;case\\"<extLst>\\":;case\\"</extLst>\\":break;case\\"<ext\\":n=true;break;case\\"</ext>\\":n=false;break;default:if(t&&t.WTF){if(!n)throw new Error(\\"unrecognized \\"+i[0]+\\" in cellXfs\\")};}})}function No(e){var r=[];r[r.length]=lr(\\"cellXfs\\",null);e.forEach(function(e){r[r.length]=lr(\\"xf\\",null,e)});r[r.length]=\\"</cellXfs>\\";if(r.length===2)return\\"\\";r[0]=lr(\\"cellXfs\\",null,{count:r.length-2}).replace(\\"/>\\",\\">\\");return r.join(\\"\\")}var Lo=function Ob(){var e=/<(?:\\\\w+:)?numFmts([^>]*)>[\\\\S\\\\s]*?<\\\\/(?:\\\\w+:)?numFmts>/;var r=/<(?:\\\\w+:)?cellXfs([^>]*)>[\\\\S\\\\s]*?<\\\\/(?:\\\\w+:)?cellXfs>/;var t=/<(?:\\\\w+:)?fills([^>]*)>[\\\\S\\\\s]*?<\\\\/(?:\\\\w+:)?fills>/;var a=/<(?:\\\\w+:)?fonts([^>]*)>[\\\\S\\\\s]*?<\\\\/(?:\\\\w+:)?fonts>/;var n=/<(?:\\\\w+:)?borders([^>]*)>[\\\\S\\\\s]*?<\\\\/(?:\\\\w+:)?borders>/;return function i(s,f,o){var l={};if(!s)return l;s=s.replace(/\x3c!--([\\\\s\\\\S]*?)--\x3e/gm,\\"\\").replace(/<!DOCTYPE[^\\\\[]*\\\\[[^\\\\]]*\\\\]>/gm,\\"\\");var c;if(c=s.match(e))Ro(c,l,o);if(c=s.match(a))Io(c,l,f,o);if(c=s.match(t))Ao(c,l,f,o);if(c=s.match(n))xo(c,l,f,o);if(c=s.match(r))Po(c,l,o);return l}}();var Mo=lr(\\"styleSheet\\",null,{xmlns:hr.main[0],\\"xmlns:vt\\":hr.vt});Ma.STY=\\"http://schemas.openxmlformats.org/officeDocument/2006/relationships/styles\\";function Uo(e,r){var t=[Ae,Mo],a;if(e.SSF&&(a=Oo(e.SSF))!=null)t[t.length]=a;t[t.length]=\'<fonts count=\\"1\\"><font><sz val=\\"12\\"/><color theme=\\"1\\"/><name val=\\"Calibri\\"/><family val=\\"2\\"/><scheme val=\\"minor\\"/></font></fonts>\';t[t.length]=\'<fills count=\\"2\\"><fill><patternFill patternType=\\"none\\"/></fill><fill><patternFill patternType=\\"gray125\\"/></fill></fills>\';t[t.length]=\'<borders count=\\"1\\"><border><left/><right/><top/><bottom/><diagonal/></border></borders>\';t[t.length]=\'<cellStyleXfs count=\\"1\\"><xf numFmtId=\\"0\\" fontId=\\"0\\" fillId=\\"0\\" borderId=\\"0\\"/></cellStyleXfs>\';if(a=No(r.cellXfs))t[t.length]=a;t[t.length]=\'<cellStyles count=\\"1\\"><cellStyle name=\\"Normal\\" xfId=\\"0\\" builtinId=\\"0\\"/></cellStyles>\';t[t.length]=\'<dxfs count=\\"0\\"/>\';t[t.length]=\'<tableStyles count=\\"0\\" defaultTableStyle=\\"TableStyleMedium9\\" defaultPivotStyle=\\"PivotStyleMedium4\\"/>\';if(t.length>2){t[t.length]=\\"</styleSheet>\\";t[1]=t[1].replace(\\"/>\\",\\">\\")}return t.join(\\"\\")}function zo(e,r){var t=e._R(2);var a=yt(e,r-2);return[t,a]}function Ho(e,r,t){if(!t)t=Jr(6+4*r.length);t._W(2,e);xt(r,t);var a=t.length>t.l?t.slice(0,t.l):t;if(t.l==null)t.l=t.length;return a}function Wo(e,r,t){var a={};a.sz=e._R(2)/20;var n=ea(e,2,t);if(n.fItalic)a.italic=1;if(n.fCondense)a.condense=1;if(n.fExtend)a.extend=1;if(n.fShadow)a.shadow=1;if(n.fOutline)a.outline=1;if(n.fStrikeout)a.strike=1;var i=e._R(2);if(i===700)a.bold=1;switch(e._R(2)){case 1:a.vertAlign=\\"superscript\\";break;case 2:a.vertAlign=\\"subscript\\";break;}var s=e._R(1);if(s!=0)a.underline=s;var f=e._R(1);if(f>0)a.family=f;var o=e._R(1);if(o>0)a.charset=o;e.l++;a.color=Qt(e,8);switch(e._R(1)){case 1:a.scheme=\\"major\\";break;case 2:a.scheme=\\"minor\\";break;}a.name=yt(e,r-21);return a}function Vo(e,r){if(!r)r=Jr(25+4*32);r._W(2,e.sz*20);ra(e,r);r._W(2,e.bold?700:400);var t=0;if(e.vertAlign==\\"superscript\\")t=1;else if(e.vertAlign==\\"subscript\\")t=2;r._W(2,t);r._W(1,e.underline||0);r._W(1,e.family||0);r._W(1,e.charset||0);r._W(1,0);qt(e.color,r);var a=0;if(e.scheme==\\"major\\")a=1;if(e.scheme==\\"minor\\")a=2;r._W(1,a);xt(e.name,r);return r.length>r.l?r.slice(0,r.l):r}var Xo=[\\"none\\",\\"solid\\",\\"mediumGray\\",\\"darkGray\\",\\"lightGray\\",\\"darkHorizontal\\",\\"darkVertical\\",\\"darkDown\\",\\"darkUp\\",\\"darkGrid\\",\\"darkTrellis\\",\\"lightHorizontal\\",\\"lightVertical\\",\\"lightDown\\",\\"lightUp\\",\\"lightGrid\\",\\"lightTrellis\\",\\"gray125\\",\\"gray0625\\"];var Go=Z(Xo);var jo=Zr;function Ko(e,r){if(!r)r=Jr(4*3+8*7+16*1);var t=Go[e.patternType];if(t==null)t=40;r._W(4,t);var a=0;if(t!=40){qt({auto:1},r);qt({auto:1},r);for(;a<12;++a)r._W(4,0)}else{for(;a<4;++a)r._W(4,0);for(;a<12;++a)r._W(4,0)}return r.length>r.l?r.slice(0,r.l):r}function $o(e,r){var t=e.l+r;var a=e._R(2);var n=e._R(2);e.l=t;return{ixfe:a,numFmtId:n}}function Yo(e,r,t){if(!t)t=Jr(16);t._W(2,r||0);t._W(2,e.numFmtId||0);t._W(2,0);t._W(2,0);t._W(2,0);t._W(1,0);t._W(1,0);var a=0;t._W(1,a);t._W(1,0);t._W(1,0);t._W(1,0);return t}function Zo(e,r){if(!r)r=Jr(10);r._W(1,0);r._W(1,0);r._W(4,0);r._W(4,0);return r}var Jo=Zr;function Qo(e,r){if(!r)r=Jr(51);r._W(1,0);Zo(null,r);Zo(null,r);Zo(null,r);Zo(null,r);Zo(null,r);return r.length>r.l?r.slice(0,r.l):r}function qo(e,r){if(!r)r=Jr(12+4*10);r._W(4,e.xfId);r._W(2,1);r._W(1,+e.builtinId);r._W(1,0);zt(e.name||\\"\\",r);return r.length>r.l?r.slice(0,r.l):r}function el(e,r,t){var a=Jr(4+256*2*4);a._W(4,e);zt(r,a);zt(t,a);return a.length>a.l?a.slice(0,a.l):a}function rl(e,r,t){var a={};a.NumberFmt=[];for(var n in D._table)a.NumberFmt[n]=D._table[n];a.CellXf=[];a.Fonts=[];var i=[];var s=false;Qr(e,function f(e,n,o){switch(o){case 44:a.NumberFmt[e[0]]=e[1];D.load(e[1],e[0]);break;case 43:a.Fonts.push(e);if(e.color.theme!=null&&r&&r.themeElements&&r.themeElements.clrScheme){e.color.rgb=uo(r.themeElements.clrScheme[e.color.theme].rgb,e.color.tint||0)}break;case 1025:break;case 45:break;case 46:break;case 47:if(i[i.length-1]==\\"BrtBeginCellXFs\\"){a.CellXf.push(e)}break;case 48:;case 507:;case 572:;case 475:break;case 1171:;case 2102:;case 1130:;case 512:;case 2095:;case 3072:break;case 35:s=true;break;case 36:s=false;break;case 37:i.push(n);s=true;break;case 38:i.pop();s=false;break;default:if((n||\\"\\").indexOf(\\"Begin\\")>0)i.push(n);else if((n||\\"\\").indexOf(\\"End\\")>0)i.pop();else if(!s||t.WTF&&i[i.length-1]!=\\"BrtACBegin\\")throw new Error(\\"Unexpected record \\"+o+\\" \\"+n);}});return a}function tl(e,r){if(!r)return;var t=0;[[5,8],[23,26],[41,44],[50,392]].forEach(function(e){for(var a=e[0];a<=e[1];++a)if(r[a]!=null)++t});if(t==0)return;et(e,\\"BrtBeginFmts\\",Tt(t));[[5,8],[23,26],[41,44],[50,392]].forEach(function(t){for(var a=t[0];a<=t[1];++a)if(r[a]!=null)et(e,\\"BrtFmt\\",Ho(a,r[a]))});et(e,\\"BrtEndFmts\\")}function al(e){var r=1;if(r==0)return;et(e,\\"BrtBeginFonts\\",Tt(r));et(e,\\"BrtFont\\",Vo({sz:12,color:{theme:1},name:\\"Calibri\\",family:2,scheme:\\"minor\\"}));et(e,\\"BrtEndFonts\\")}function nl(e){var r=2;if(r==0)return;et(e,\\"BrtBeginFills\\",Tt(r));et(e,\\"BrtFill\\",Ko({patternType:\\"none\\"}));et(e,\\"BrtFill\\",Ko({patternType:\\"gray125\\"}));et(e,\\"BrtEndFills\\")}function il(e){var r=1;if(r==0)return;et(e,\\"BrtBeginBorders\\",Tt(r));et(e,\\"BrtBorder\\",Qo({}));et(e,\\"BrtEndBorders\\")}function sl(e){var r=1;et(e,\\"BrtBeginCellStyleXFs\\",Tt(r));et(e,\\"BrtXF\\",Yo({numFmtId:0,fontId:0,fillId:0,borderId:0},65535));et(e,\\"BrtEndCellStyleXFs\\")}function fl(e,r){et(e,\\"BrtBeginCellXFs\\",Tt(r.length));r.forEach(function(r){et(e,\\"BrtXF\\",Yo(r,0))});et(e,\\"BrtEndCellXFs\\")}function ol(e){var r=1;et(e,\\"BrtBeginStyles\\",Tt(r));et(e,\\"BrtStyle\\",qo({xfId:0,builtinId:0,name:\\"Normal\\"}));et(e,\\"BrtEndStyles\\")}function ll(e){var r=0;et(e,\\"BrtBeginDXFs\\",Tt(r));et(e,\\"BrtEndDXFs\\")}function cl(e){var r=0;et(e,\\"BrtBeginTableStyles\\",el(r,\\"TableStyleMedium9\\",\\"PivotStyleMedium4\\"));et(e,\\"BrtEndTableStyles\\")}function ul(){return}function hl(e,r){var t=qr();et(t,\\"BrtBeginStyleSheet\\");tl(t,e.SSF);al(t,e);nl(t,e);il(t,e);sl(t,e);fl(t,r.cellXfs);ol(t,e);ll(t,e);cl(t,e);ul(t,e);et(t,\\"BrtEndStyleSheet\\");return t.end()}Ma.THEME=\\"http://schemas.openxmlformats.org/officeDocument/2006/relationships/theme\\";var dl=[\\"</a:lt1>\\",\\"</a:dk1>\\",\\"</a:lt2>\\",\\"</a:dk2>\\",\\"</a:accent1>\\",\\"</a:accent2>\\",\\"</a:accent3>\\",\\"</a:accent4>\\",\\"</a:accent5>\\",\\"</a:accent6>\\",\\"</a:hlink>\\",\\"</a:folHlink>\\"];function vl(e,r,t){r.themeElements.clrScheme=[];var a={};(e[0].match(Re)||[]).forEach(function(e){var n=Fe(e);switch(n[0]){case\\"<a:clrScheme\\":;case\\"</a:clrScheme>\\":break;case\\"<a:srgbClr\\":a.rgb=n.val;break;case\\"<a:sysClr\\":a.rgb=n.lastClr;break;case\\"<a:dk1>\\":;case\\"</a:dk1>\\":;case\\"<a:lt1>\\":;case\\"</a:lt1>\\":;case\\"<a:dk2>\\":;case\\"</a:dk2>\\":;case\\"<a:lt2>\\":;case\\"</a:lt2>\\":;case\\"<a:accent1>\\":;case\\"</a:accent1>\\":;case\\"<a:accent2>\\":;case\\"</a:accent2>\\":;case\\"<a:accent3>\\":;case\\"</a:accent3>\\":;case\\"<a:accent4>\\":;case\\"</a:accent4>\\":;case\\"<a:accent5>\\":;case\\"</a:accent5>\\":;case\\"<a:accent6>\\":;case\\"</a:accent6>\\":;case\\"<a:hlink>\\":;case\\"</a:hlink>\\":;case\\"<a:folHlink>\\":;case\\"</a:folHlink>\\":if(n[0].charAt(1)===\\"/\\"){r.themeElements.clrScheme[dl.indexOf(n[0])]=a;a={}}else{a.name=n[0].slice(3,n[0].length-1)}break;default:if(t&&t.WTF)throw new Error(\\"Unrecognized \\"+n[0]+\\" in clrScheme\\");}})}function pl(){}function ml(){}var bl=/<a:clrScheme([^>]*)>[\\\\s\\\\S]*<\\\\/a:clrScheme>/;var gl=/<a:fontScheme([^>]*)>[\\\\s\\\\S]*<\\\\/a:fontScheme>/;var wl=/<a:fmtScheme([^>]*)>[\\\\s\\\\S]*<\\\\/a:fmtScheme>/;function kl(e,r,t){r.themeElements={};var a;[[\\"clrScheme\\",bl,vl],[\\"fontScheme\\",gl,pl],[\\"fmtScheme\\",wl,ml]].forEach(function(n){if(!(a=e.match(n[1])))throw new Error(n[0]+\\" not found in themeElements\\");n[2](a,r,t)})}var El=/<a:themeElements([^>]*)>[\\\\s\\\\S]*<\\\\/a:themeElements>/;function Sl(e,r){if(!e||e.length===0)return Sl(_l());var t;var a={};if(!(t=e.match(El)))throw new Error(\\"themeElements not found in theme\\");kl(t[0],a,r);a.raw=e;return a}function _l(e,r){if(r&&r.themeXLSX)return r.themeXLSX;if(e&&typeof e.raw==\\"string\\")return e.raw;var t=[Ae];t[t.length]=\'<a:theme xmlns:a=\\"http://schemas.openxmlformats.org/drawingml/2006/main\\" name=\\"Office Theme\\">\';t[t.length]=\\"<a:themeElements>\\";t[t.length]=\'<a:clrScheme name=\\"Office\\">\';t[t.length]=\'<a:dk1><a:sysClr val=\\"windowText\\" lastClr=\\"000000\\"/></a:dk1>\';t[t.length]=\'<a:lt1><a:sysClr val=\\"window\\" lastClr=\\"FFFFFF\\"/></a:lt1>\';t[t.length]=\'<a:dk2><a:srgbClr val=\\"1F497D\\"/></a:dk2>\';t[t.length]=\'<a:lt2><a:srgbClr val=\\"EEECE1\\"/></a:lt2>\';t[t.length]=\'<a:accent1><a:srgbClr val=\\"4F81BD\\"/></a:accent1>\';t[t.length]=\'<a:accent2><a:srgbClr val=\\"C0504D\\"/></a:accent2>\';t[t.length]=\'<a:accent3><a:srgbClr val=\\"9BBB59\\"/></a:accent3>\';t[t.length]=\'<a:accent4><a:srgbClr val=\\"8064A2\\"/></a:accent4>\';t[t.length]=\'<a:accent5><a:srgbClr val=\\"4BACC6\\"/></a:accent5>\';t[t.length]=\'<a:accent6><a:srgbClr val=\\"F79646\\"/></a:accent6>\';t[t.length]=\'<a:hlink><a:srgbClr val=\\"0000FF\\"/></a:hlink>\';t[t.length]=\'<a:folHlink><a:srgbClr val=\\"800080\\"/></a:folHlink>\';t[t.length]=\\"</a:clrScheme>\\";t[t.length]=\'<a:fontScheme name=\\"Office\\">\';t[t.length]=\\"<a:majorFont>\\";t[t.length]=\'<a:latin typeface=\\"Cambria\\"/>\';t[t.length]=\'<a:ea typeface=\\"\\"/>\';t[t.length]=\'<a:cs typeface=\\"\\"/>\';t[t.length]=\'<a:font script=\\"Jpan\\" typeface=\\"MS Pゴシック\\"/>\';t[t.length]=\'<a:font script=\\"Hang\\" typeface=\\"맑은 고딕\\"/>\';t[t.length]=\'<a:font script=\\"Hans\\" typeface=\\"宋体\\"/>\';t[t.length]=\'<a:font script=\\"Hant\\" typeface=\\"新細明體\\"/>\';t[t.length]=\'<a:font script=\\"Arab\\" typeface=\\"Times New Roman\\"/>\';t[t.length]=\'<a:font script=\\"Hebr\\" typeface=\\"Times New Roman\\"/>\';t[t.length]=\'<a:font script=\\"Thai\\" typeface=\\"Tahoma\\"/>\';t[t.length]=\'<a:font script=\\"Ethi\\" typeface=\\"Nyala\\"/>\';t[t.length]=\'<a:font script=\\"Beng\\" typeface=\\"Vrinda\\"/>\';t[t.length]=\'<a:font script=\\"Gujr\\" typeface=\\"Shruti\\"/>\';t[t.length]=\'<a:font script=\\"Khmr\\" typeface=\\"MoolBoran\\"/>\';t[t.length]=\'<a:font script=\\"Knda\\" typeface=\\"Tunga\\"/>\';t[t.length]=\'<a:font script=\\"Guru\\" typeface=\\"Raavi\\"/>\';t[t.length]=\'<a:font script=\\"Cans\\" typeface=\\"Euphemia\\"/>\';t[t.length]=\'<a:font script=\\"Cher\\" typeface=\\"Plantagenet Cherokee\\"/>\';t[t.length]=\'<a:font script=\\"Yiii\\" typeface=\\"Microsoft Yi Baiti\\"/>\';t[t.length]=\'<a:font script=\\"Tibt\\" typeface=\\"Microsoft Himalaya\\"/>\';t[t.length]=\'<a:font script=\\"Thaa\\" typeface=\\"MV Boli\\"/>\';t[t.length]=\'<a:font script=\\"Deva\\" typeface=\\"Mangal\\"/>\';t[t.length]=\'<a:font script=\\"Telu\\" typeface=\\"Gautami\\"/>\';t[t.length]=\'<a:font script=\\"Taml\\" typeface=\\"Latha\\"/>\';t[t.length]=\'<a:font script=\\"Syrc\\" typeface=\\"Estrangelo Edessa\\"/>\';t[t.length]=\'<a:font script=\\"Orya\\" typeface=\\"Kalinga\\"/>\';t[t.length]=\'<a:font script=\\"Mlym\\" typeface=\\"Kartika\\"/>\';t[t.length]=\'<a:font script=\\"Laoo\\" typeface=\\"DokChampa\\"/>\';t[t.length]=\'<a:font script=\\"Sinh\\" typeface=\\"Iskoola Pota\\"/>\';t[t.length]=\'<a:font script=\\"Mong\\" typeface=\\"Mongolian Baiti\\"/>\';t[t.length]=\'<a:font script=\\"Viet\\" typeface=\\"Times New Roman\\"/>\';t[t.length]=\'<a:font script=\\"Uigh\\" typeface=\\"Microsoft Uighur\\"/>\';t[t.length]=\'<a:font script=\\"Geor\\" typeface=\\"Sylfaen\\"/>\';t[t.length]=\\"</a:majorFont>\\";t[t.length]=\\"<a:minorFont>\\";t[t.length]=\'<a:latin typeface=\\"Calibri\\"/>\';t[t.length]=\'<a:ea typeface=\\"\\"/>\';t[t.length]=\'<a:cs typeface=\\"\\"/>\';t[t.length]=\'<a:font script=\\"Jpan\\" typeface=\\"MS Pゴシック\\"/>\';t[t.length]=\'<a:font script=\\"Hang\\" typeface=\\"맑은 고딕\\"/>\';t[t.length]=\'<a:font script=\\"Hans\\" typeface=\\"宋体\\"/>\';t[t.length]=\'<a:font script=\\"Hant\\" typeface=\\"新細明體\\"/>\';t[t.length]=\'<a:font script=\\"Arab\\" typeface=\\"Arial\\"/>\';t[t.length]=\'<a:font script=\\"Hebr\\" typeface=\\"Arial\\"/>\';t[t.length]=\'<a:font script=\\"Thai\\" typeface=\\"Tahoma\\"/>\';t[t.length]=\'<a:font script=\\"Ethi\\" typeface=\\"Nyala\\"/>\';t[t.length]=\'<a:font script=\\"Beng\\" typeface=\\"Vrinda\\"/>\';t[t.length]=\'<a:font script=\\"Gujr\\" typeface=\\"Shruti\\"/>\';t[t.length]=\'<a:font script=\\"Khmr\\" typeface=\\"DaunPenh\\"/>\';t[t.length]=\'<a:font script=\\"Knda\\" typeface=\\"Tunga\\"/>\';t[t.length]=\'<a:font script=\\"Guru\\" typeface=\\"Raavi\\"/>\';t[t.length]=\'<a:font script=\\"Cans\\" typeface=\\"Euphemia\\"/>\';t[t.length]=\'<a:font script=\\"Cher\\" typeface=\\"Plantagenet Cherokee\\"/>\';t[t.length]=\'<a:font script=\\"Yiii\\" typeface=\\"Microsoft Yi Baiti\\"/>\';t[t.length]=\'<a:font script=\\"Tibt\\" typeface=\\"Microsoft Himalaya\\"/>\';t[t.length]=\'<a:font script=\\"Thaa\\" typeface=\\"MV Boli\\"/>\';t[t.length]=\'<a:font script=\\"Deva\\" typeface=\\"Mangal\\"/>\';t[t.length]=\'<a:font script=\\"Telu\\" typeface=\\"Gautami\\"/>\';t[t.length]=\'<a:font script=\\"Taml\\" typeface=\\"Latha\\"/>\';t[t.length]=\'<a:font script=\\"Syrc\\" typeface=\\"Estrangelo Edessa\\"/>\';t[t.length]=\'<a:font script=\\"Orya\\" typeface=\\"Kalinga\\"/>\';t[t.length]=\'<a:font script=\\"Mlym\\" typeface=\\"Kartika\\"/>\';t[t.length]=\'<a:font script=\\"Laoo\\" typeface=\\"DokChampa\\"/>\';t[t.length]=\'<a:font script=\\"Sinh\\" typeface=\\"Iskoola Pota\\"/>\';t[t.length]=\'<a:font script=\\"Mong\\" typeface=\\"Mongolian Baiti\\"/>\';t[t.length]=\'<a:font script=\\"Viet\\" typeface=\\"Arial\\"/>\';t[t.length]=\'<a:font script=\\"Uigh\\" typeface=\\"Microsoft Uighur\\"/>\';t[t.length]=\'<a:font script=\\"Geor\\" typeface=\\"Sylfaen\\"/>\';t[t.length]=\\"</a:minorFont>\\";t[t.length]=\\"</a:fontScheme>\\";t[t.length]=\'<a:fmtScheme name=\\"Office\\">\';t[t.length]=\\"<a:fillStyleLst>\\";t[t.length]=\'<a:solidFill><a:schemeClr val=\\"phClr\\"/></a:solidFill>\';t[t.length]=\'<a:gradFill rotWithShape=\\"1\\">\';t[t.length]=\\"<a:gsLst>\\";t[t.length]=\'<a:gs pos=\\"0\\"><a:schemeClr val=\\"phClr\\"><a:tint val=\\"50000\\"/><a:satMod val=\\"300000\\"/></a:schemeClr></a:gs>\';t[t.length]=\'<a:gs pos=\\"35000\\"><a:schemeClr val=\\"phClr\\"><a:tint val=\\"37000\\"/><a:satMod val=\\"300000\\"/></a:schemeClr></a:gs>\';t[t.length]=\'<a:gs pos=\\"100000\\"><a:schemeClr val=\\"phClr\\"><a:tint val=\\"15000\\"/><a:satMod val=\\"350000\\"/></a:schemeClr></a:gs>\';t[t.length]=\\"</a:gsLst>\\";t[t.length]=\'<a:lin ang=\\"16200000\\" scaled=\\"1\\"/>\';t[t.length]=\\"</a:gradFill>\\";t[t.length]=\'<a:gradFill rotWithShape=\\"1\\">\';t[t.length]=\\"<a:gsLst>\\";t[t.length]=\'<a:gs pos=\\"0\\"><a:schemeClr val=\\"phClr\\"><a:tint val=\\"100000\\"/><a:shade val=\\"100000\\"/><a:satMod val=\\"130000\\"/></a:schemeClr></a:gs>\';t[t.length]=\'<a:gs pos=\\"100000\\"><a:schemeClr val=\\"phClr\\"><a:tint val=\\"50000\\"/><a:shade val=\\"100000\\"/><a:satMod val=\\"350000\\"/></a:schemeClr></a:gs>\';t[t.length]=\\"</a:gsLst>\\";t[t.length]=\'<a:lin ang=\\"16200000\\" scaled=\\"0\\"/>\';t[t.length]=\\"</a:gradFill>\\";t[t.length]=\\"</a:fillStyleLst>\\";t[t.length]=\\"<a:lnStyleLst>\\";t[t.length]=\'<a:ln w=\\"9525\\" cap=\\"flat\\" cmpd=\\"sng\\" algn=\\"ctr\\"><a:solidFill><a:schemeClr val=\\"phClr\\"><a:shade val=\\"95000\\"/><a:satMod val=\\"105000\\"/></a:schemeClr></a:solidFill><a:prstDash val=\\"solid\\"/></a:ln>\';t[t.length]=\'<a:ln w=\\"25400\\" cap=\\"flat\\" cmpd=\\"sng\\" algn=\\"ctr\\"><a:solidFill><a:schemeClr val=\\"phClr\\"/></a:solidFill><a:prstDash val=\\"solid\\"/></a:ln>\';t[t.length]=\'<a:ln w=\\"38100\\" cap=\\"flat\\" cmpd=\\"sng\\" algn=\\"ctr\\"><a:solidFill><a:schemeClr val=\\"phClr\\"/></a:solidFill><a:prstDash val=\\"solid\\"/></a:ln>\';t[t.length]=\\"</a:lnStyleLst>\\";t[t.length]=\\"<a:effectStyleLst>\\";t[t.length]=\\"<a:effectStyle>\\";t[t.length]=\\"<a:effectLst>\\";t[t.length]=\'<a:outerShdw blurRad=\\"40000\\" dist=\\"20000\\" dir=\\"5400000\\" rotWithShape=\\"0\\"><a:srgbClr val=\\"000000\\"><a:alpha val=\\"38000\\"/></a:srgbClr></a:outerShdw>\';t[t.length]=\\"</a:effectLst>\\";t[t.length]=\\"</a:effectStyle>\\";t[t.length]=\\"<a:effectStyle>\\";t[t.length]=\\"<a:effectLst>\\";t[t.length]=\'<a:outerShdw blurRad=\\"40000\\" dist=\\"23000\\" dir=\\"5400000\\" rotWithShape=\\"0\\"><a:srgbClr val=\\"000000\\"><a:alpha val=\\"35000\\"/></a:srgbClr></a:outerShdw>\';t[t.length]=\\"</a:effectLst>\\";t[t.length]=\\"</a:effectStyle>\\";t[t.length]=\\"<a:effectStyle>\\";t[t.length]=\\"<a:effectLst>\\";t[t.length]=\'<a:outerShdw blurRad=\\"40000\\" dist=\\"23000\\" dir=\\"5400000\\" rotWithShape=\\"0\\"><a:srgbClr val=\\"000000\\"><a:alpha val=\\"35000\\"/></a:srgbClr></a:outerShdw>\';t[t.length]=\\"</a:effectLst>\\";t[t.length]=\'<a:scene3d><a:camera prst=\\"orthographicFront\\"><a:rot lat=\\"0\\" lon=\\"0\\" rev=\\"0\\"/></a:camera><a:lightRig rig=\\"threePt\\" dir=\\"t\\"><a:rot lat=\\"0\\" lon=\\"0\\" rev=\\"1200000\\"/></a:lightRig></a:scene3d>\';t[t.length]=\'<a:sp3d><a:bevelT w=\\"63500\\" h=\\"25400\\"/></a:sp3d>\';t[t.length]=\\"</a:effectStyle>\\";t[t.length]=\\"</a:effectStyleLst>\\";t[t.length]=\\"<a:bgFillStyleLst>\\";t[t.length]=\'<a:solidFill><a:schemeClr val=\\"phClr\\"/></a:solidFill>\';t[t.length]=\'<a:gradFill rotWithShape=\\"1\\">\';t[t.length]=\\"<a:gsLst>\\";t[t.length]=\'<a:gs pos=\\"0\\"><a:schemeClr val=\\"phClr\\"><a:tint val=\\"40000\\"/><a:satMod val=\\"350000\\"/></a:schemeClr></a:gs>\';t[t.length]=\'<a:gs pos=\\"40000\\"><a:schemeClr val=\\"phClr\\"><a:tint val=\\"45000\\"/><a:shade val=\\"99000\\"/><a:satMod val=\\"350000\\"/></a:schemeClr></a:gs>\';t[t.length]=\'<a:gs pos=\\"100000\\"><a:schemeClr val=\\"phClr\\"><a:shade val=\\"20000\\"/><a:satMod val=\\"255000\\"/></a:schemeClr></a:gs>\';t[t.length]=\\"</a:gsLst>\\";t[t.length]=\'<a:path path=\\"circle\\"><a:fillToRect l=\\"50000\\" t=\\"-80000\\" r=\\"50000\\" b=\\"180000\\"/></a:path>\';t[t.length]=\\"</a:gradFill>\\";t[t.length]=\'<a:gradFill rotWithShape=\\"1\\">\';t[t.length]=\\"<a:gsLst>\\";t[t.length]=\'<a:gs pos=\\"0\\"><a:schemeClr val=\\"phClr\\"><a:tint val=\\"80000\\"/><a:satMod val=\\"300000\\"/></a:schemeClr></a:gs>\';t[t.length]=\'<a:gs pos=\\"100000\\"><a:schemeClr val=\\"phClr\\"><a:shade val=\\"30000\\"/><a:satMod val=\\"200000\\"/></a:schemeClr></a:gs>\';t[t.length]=\\"</a:gsLst>\\";t[t.length]=\'<a:path path=\\"circle\\"><a:fillToRect l=\\"50000\\" t=\\"50000\\" r=\\"50000\\" b=\\"50000\\"/></a:path>\';t[t.length]=\\"</a:gradFill>\\";t[t.length]=\\"</a:bgFillStyleLst>\\";t[t.length]=\\"</a:fmtScheme>\\";t[t.length]=\\"</a:themeElements>\\";t[t.length]=\\"<a:objectDefaults>\\";t[t.length]=\\"<a:spDef>\\";t[t.length]=\'<a:spPr/><a:bodyPr/><a:lstStyle/><a:style><a:lnRef idx=\\"1\\"><a:schemeClr val=\\"accent1\\"/></a:lnRef><a:fillRef idx=\\"3\\"><a:schemeClr val=\\"accent1\\"/></a:fillRef><a:effectRef idx=\\"2\\"><a:schemeClr val=\\"accent1\\"/></a:effectRef><a:fontRef idx=\\"minor\\"><a:schemeClr val=\\"lt1\\"/></a:fontRef></a:style>\';t[t.length]=\\"</a:spDef>\\";t[t.length]=\\"<a:lnDef>\\";t[t.length]=\'<a:spPr/><a:bodyPr/><a:lstStyle/><a:style><a:lnRef idx=\\"2\\"><a:schemeClr val=\\"accent1\\"/></a:lnRef><a:fillRef idx=\\"0\\"><a:schemeClr val=\\"accent1\\"/></a:fillRef><a:effectRef idx=\\"1\\"><a:schemeClr val=\\"accent1\\"/></a:effectRef><a:fontRef idx=\\"minor\\"><a:schemeClr val=\\"tx1\\"/></a:fontRef></a:style>\';t[t.length]=\\"</a:lnDef>\\";t[t.length]=\\"</a:objectDefaults>\\";t[t.length]=\\"<a:extraClrSchemeLst/>\\";t[t.length]=\\"</a:theme>\\";return t.join(\\"\\")}function Cl(e,r,t){var a=e.l+r;var n=e._R(4);if(n===124226)return;if(!t.cellStyles||!Be){e.l=a;return}var i=e.slice(e.l);e.l=a;var s;try{s=new Be(i)}catch(f){return}var o=Se(s,\\"theme/theme/theme1.xml\\",true);if(!o)return;return Sl(o,t)}function Bl(e){return e._R(4)}function Tl(e){var r={};r.xclrType=e._R(2);r.nTintShade=e._R(2);switch(r.xclrType){case 0:e.l+=4;break;case 1:r.xclrValue=yl(e,4);break;case 2:r.xclrValue=di(e,4);break;case 3:r.xclrValue=Bl(e,4);break;case 4:e.l+=4;break;}e.l+=8;return r}function yl(e,r){return Zr(e,r)}function xl(e,r){return Zr(e,r)}function Al(e){var r=e._R(2);var t=e._R(2)-4;var a=[r];switch(r){case 4:;case 5:;case 7:;case 8:;case 9:;case 10:;case 11:;case 13:a[1]=Tl(e,t);break;case 6:a[1]=xl(e,t);break;case 14:;case 15:a[1]=e._R(t===1?1:2);break;default:throw new Error(\\"Unrecognized ExtProp type: \\"+r+\\" \\"+t);}return a}function Il(e,r){var t=e.l+r;e.l+=2;var a=e._R(2);e.l+=2;var n=e._R(2);var i=[];while(n-- >0)i.push(Al(e,t-e.l));return{ixfe:a,ext:i}}function Rl(e,r){r.forEach(function(e){switch(e[0]){case 4:break;case 5:break;case 6:break;case 7:break;case 8:break;case 9:break;case 10:break;case 11:break;case 13:break;case 14:break;case 15:break;}})}function Ol(e){var r=[];if(!e)return r;var t=1;(e.match(Re)||[]).forEach(function(e){var a=Fe(e);switch(a[0]){case\\"<?xml\\":break;case\\"<calcChain\\":;case\\"<calcChain>\\":;case\\"</calcChain>\\":break;case\\"<c\\":delete a[0];if(a.i)t=a.i;else a.i=t;r.push(a);break;}});return r}function Dl(e){var r={};r.i=e._R(4);var t={};t.r=e._R(4);t.c=e._R(4);r.r=bt(t);var a=e._R(1);if(a&2)r.l=\\"1\\";if(a&8)r.a=\\"1\\";return r}function Fl(e,r,t){var a=[];var n=false;Qr(e,function i(e,r,s){switch(s){case 63:a.push(e);break;default:if((r||\\"\\").indexOf(\\"Begin\\")>0){}else if((r||\\"\\").indexOf(\\"End\\")>0){}else if(!n||t.WTF)throw new Error(\\"Unexpected record \\"+s+\\" \\"+r);}});return a}function Pl(){}function Nl(e,r,t,a){if(!e)return e;var n=a||{};var i=false,s=false;Qr(e,function f(e,r,t){if(s)return;switch(t){case 359:;case 363:;case 364:;case 366:;case 367:;case 368:;case 369:;case 370:;case 371:;case 472:;case 577:;case 578:;case 579:;case 580:;case 581:;case 582:;case 583:;case 584:;case 585:;case 586:;case 587:break;case 35:i=true;break;case 36:i=false;break;default:if((r||\\"\\").indexOf(\\"Begin\\")>0){}else if((r||\\"\\").indexOf(\\"End\\")>0){}else if(!i||n.WTF)throw new Error(\\"Unexpected record \\"+t.toString(16)+\\" \\"+r);}},n)}Ma.IMG=\\"http://schemas.openxmlformats.org/officeDocument/2006/relationships/image\\";Ma.DRAW=\\"http://schemas.openxmlformats.org/officeDocument/2006/relationships/drawing\\";function Ll(e,r){if(!e)return\\"??\\";var t=(e.match(/<c:chart [^>]*r:id=\\"([^\\"]*)\\"/)||[\\"\\",\\"\\"])[1];return r[\\"!id\\"][t].Target}var Ml=1024;function Ul(e,r){var t=[21600,21600];var a=[\\"m0,0l0\\",t[1],t[0],t[1],t[0],\\"0xe\\"].join(\\",\\");var n=[lr(\\"xml\\",null,{\\"xmlns:v\\":dr.v,\\"xmlns:o\\":dr.o,\\"xmlns:x\\":dr.x,\\"xmlns:mv\\":dr.mv}).replace(/\\\\/>/,\\">\\"),lr(\\"o:shapelayout\\",lr(\\"o:idmap\\",null,{\\"v:ext\\":\\"edit\\",data:e}),{\\"v:ext\\":\\"edit\\"}),lr(\\"v:shapetype\\",[lr(\\"v:stroke\\",null,{joinstyle:\\"miter\\"}),lr(\\"v:path\\",null,{gradientshapeok:\\"t\\",\\"o:connecttype\\":\\"rect\\"})].join(\\"\\"),{id:\\"_x0000_t202\\",\\"o:spt\\":202,coordsize:t.join(\\",\\"),path:a})];while(Ml<e*1e3)Ml+=1e3;r.forEach(function(e){var r=mt(e[0]);var t={color2:\\"#BEFF82\\",type:\\"gradient\\"};if(t.type==\\"gradient\\")t.angle=\\"-180\\";var a=t.type==\\"gradient\\"?lr(\\"o:fill\\",null,{type:\\"gradientUnscaled\\",\\"v:ext\\":\\"view\\"}):null;var i=lr(\\"v:fill\\",a,t);var s={on:\\"t\\",obscured:\\"t\\"};++Ml;n=n.concat([\\"<v:shape\\"+or({id:\\"_x0000_s\\"+Ml,type:\\"#_x0000_t202\\",style:\\"position:absolute; margin-left:80pt;margin-top:5pt;width:104pt;height:64pt;z-index:10\\"+(e[1].hidden?\\";visibility:hidden\\":\\"\\"),fillcolor:\\"#ECFAD4\\",strokecolor:\\"#edeaa1\\"})+\\">\\",i,lr(\\"v:shadow\\",null,s),lr(\\"v:path\\",null,{\\"o:connecttype\\":\\"none\\"}),\'<v:textbox><div style=\\"text-align:left\\"></div></v:textbox>\',\'<x:ClientData ObjectType=\\"Note\\">\',\\"<x:MoveWithCells/>\\",\\"<x:SizeWithCells/>\\",fr(\\"x:Anchor\\",[r.c+1,0,r.r+1,0,r.c+3,20,r.r+5,20].join(\\",\\")),fr(\\"x:AutoFill\\",\\"False\\"),fr(\\"x:Row\\",String(r.r)),fr(\\"x:Column\\",String(r.c)),e[1].hidden?\\"\\":\\"<x:Visible/>\\",\\"</x:ClientData>\\",\\"</v:shape>\\"])});n.push(\\"</xml>\\");return n.join(\\"\\")}Ma.CMNT=\\"http://schemas.openxmlformats.org/officeDocument/2006/relationships/comments\\";function zl(e,r){var t=Array.isArray(e);var a;r.forEach(function(r){var n=mt(r.ref);if(t){if(!e[n.r])e[n.r]=[];a=e[n.r][n.c]}else a=e[r.ref];if(!a){a={t:\\"z\\"};if(t)e[n.r][n.c]=a;else e[r.ref]=a;var i=kt(e[\\"!ref\\"]||\\"BDWGO1000001:A1\\");if(i.s.r>n.r)i.s.r=n.r;if(i.e.r<n.r)i.e.r=n.r;if(i.s.c>n.c)i.s.c=n.c;if(i.e.c<n.c)i.e.c=n.c;var s=wt(i);if(s!==e[\\"!ref\\"])e[\\"!ref\\"]=s}if(!a.c)a.c=[];var f={a:r.author,t:r.t,r:r.r};if(r.h)f.h=r.h;a.c.push(f)})}function Hl(e,r){if(e.match(/<(?:\\\\w+:)?comments *\\\\/>/))return[];var t=[];var a=[];var n=e.match(/<(?:\\\\w+:)?authors>([\\\\s\\\\S]*)<\\\\/(?:\\\\w+:)?authors>/);if(n&&n[1])n[1].split(/<\\\\/\\\\w*:?author>/).forEach(function(e){if(e===\\"\\"||e.trim()===\\"\\")return;var r=e.match(/<(?:\\\\w+:)?author[^>]*>(.*)/);if(r)t.push(r[1])});var i=e.match(/<(?:\\\\w+:)?commentList>([\\\\s\\\\S]*)<\\\\/(?:\\\\w+:)?commentList>/);if(i&&i[1])i[1].split(/<\\\\/\\\\w*:?comment>/).forEach(function(e){if(e===\\"\\"||e.trim()===\\"\\")return;var n=e.match(/<(?:\\\\w+:)?comment[^>]*>/);if(!n)return;var i=Fe(n[0]);var s={author:i.authorId&&t[i.authorId]||\\"sheetjsghost\\",ref:i.ref,guid:i.guid};var f=mt(i.ref);if(r.sheetRows&&r.sheetRows<=f.r)return;var o=e.match(/<(?:\\\\w+:)?text>([\\\\s\\\\S]*)<\\\\/(?:\\\\w+:)?text>/);var l=!!o&&!!o[1]&&Bf(o[1])||{r:\\"\\",t:\\"\\",h:\\"\\"};s.r=l.r;if(l.r==\\"<t></t>\\")l.t=l.h=\\"\\";s.t=l.t.replace(/\\\\r\\\\n/g,\\"\\\\n\\").replace(/\\\\r/g,\\"\\\\n\\");if(r.cellHTML)s.h=l.h;a.push(s)});return a}var Wl=lr(\\"comments\\",null,{xmlns:hr.main[0]});function Vl(e){var r=[Ae,Wl];var t=[];r.push(\\"<authors>\\");e.forEach(function(e){e[1].forEach(function(e){var a=He(e.a);if(t.indexOf(a)>-1)return;t.push(a);r.push(\\"<author>\\"+a+\\"</author>\\")})});r.push(\\"</authors>\\");r.push(\\"<commentList>\\");e.forEach(function(e){e[1].forEach(function(a){r.push(\'<comment ref=\\"\'+e[0]+\'\\" authorId=\\"\'+t.indexOf(He(a.a))+\'\\"><text>\');r.push(fr(\\"t\\",a.t==null?\\"\\":He(a.t)));r.push(\\"</text></comment>\\")})});r.push(\\"</commentList>\\");if(r.length>2){r[r.length]=\\"</comments>\\";r[1]=r[1].replace(\\"/>\\",\\">\\")}return r.join(\\"\\")}function Xl(e){var r={};r.iauthor=e._R(4);var t=$t(e,16);r.rfx=t.s;r.ref=bt(t.s);e.l+=16;return r}function Gl(e,r){if(r==null)r=Jr(36);r._W(4,e[1].iauthor);Yt(e[0],r);r._W(4,0);r._W(4,0);r._W(4,0);r._W(4,0);return r}var jl=yt;function Kl(e){return xt(e.slice(0,54))}function $l(e,r){var t=[];var a=[];var n={};var i=false;Qr(e,function s(e,f,o){switch(o){case 632:a.push(e);break;case 635:n=e;break;case 637:n.t=e.t;n.h=e.h;n.r=e.r;break;case 636:n.author=a[n.iauthor];delete n.iauthor;if(r.sheetRows&&n.rfx&&r.sheetRows<=n.rfx.r)break;if(!n.t)n.t=\\"\\";delete n.rfx;t.push(n);break;case 3072:break;case 35:i=true;break;case 36:i=false;break;case 37:break;case 38:break;default:if((f||\\"\\").indexOf(\\"Begin\\")>0){}else if((f||\\"\\").indexOf(\\"End\\")>0){}else if(!i||r.WTF)throw new Error(\\"Unexpected record \\"+o+\\" \\"+f);}});return t}function Yl(e){var r=qr();var t=[];et(r,\\"BrtBeginComments\\");et(r,\\"BrtBeginCommentAuthors\\");e.forEach(function(e){e[1].forEach(function(e){if(t.indexOf(e.a)>-1)return;t.push(e.a.slice(0,54));et(r,\\"BrtCommentAuthor\\",Kl(e.a))})});et(r,\\"BrtEndCommentAuthors\\");et(r,\\"BrtBeginCommentList\\");e.forEach(function(e){e[1].forEach(function(a){a.iauthor=t.indexOf(a.a);var n={s:mt(e[0]),e:mt(e[0])};et(r,\\"BrtBeginComment\\",Gl([n,a]));if(a.t&&a.t.length>0)et(r,\\"BrtCommentText\\",Ft(a));et(r,\\"BrtEndComment\\");delete a.iauthor})});et(r,\\"BrtEndCommentList\\");et(r,\\"BrtEndComments\\");return r.end()}var Zl=\\"application/vnd.ms-office.vbaProject\\";function Jl(e){var r=W.utils.cfb_new({root:\\"R\\"});e.FullPaths.forEach(function(t,a){if(t.slice(-1)===\\"/\\"||!t.match(/_VBA_PROJECT_CUR/))return;var n=t.replace(/^[^\\\\/]*/,\\"R\\").replace(/\\\\/_VBA_PROJECT_CUR\\\\u0000*/,\\"\\");W.utils.cfb_add(r,n,e.FileIndex[a].content)});return W.write(r)}function Ql(e,r){\\nr.FullPaths.forEach(function(t,a){if(a==0)return;var n=t.replace(/[^\\\\/]*[\\\\/]/,\\"/_VBA_PROJECT_CUR/\\");if(n.slice(-1)!==\\"/\\")W.utils.cfb_add(e,n,r.FileIndex[a].content)})}var ql=[\\"xlsb\\",\\"xlsm\\",\\"xlam\\",\\"biff8\\",\\"xla\\"];Ma.DS=\\"http://schemas.openxmlformats.org/officeDocument/2006/relationships/dialogsheet\\";Ma.MS=\\"http://schemas.microsoft.com/office/2006/relationships/xlMacrosheet\\";function ec(){return{\\"!type\\":\\"dialog\\"}}function rc(){return{\\"!type\\":\\"dialog\\"}}function tc(){return{\\"!type\\":\\"macro\\"}}function ac(){return{\\"!type\\":\\"macro\\"}}var nc=function(){var e=/(^|[^A-Za-z_])R(\\\\[?-?\\\\d+\\\\]|[1-9]\\\\d*|)C(\\\\[?-?\\\\d+\\\\]|[1-9]\\\\d*|)(?![A-Za-z0-9_])/g;var r={r:0,c:0};function t(e,t,a,n){var i=false,s=false;if(a.length==0)s=true;else if(a.charAt(0)==\\"[\\"){s=true;a=a.slice(1,-1)}if(n.length==0)i=true;else if(n.charAt(0)==\\"[\\"){i=true;n=n.slice(1,-1)}var f=a.length>0?parseInt(a,10)|0:0,o=n.length>0?parseInt(n,10)|0:0;if(i)o+=r.c;else--o;if(s)f+=r.r;else--f;return t+(i?\\"\\":\\"$\\")+ht(o)+(s?\\"\\":\\"$\\")+ot(f)}return function a(n,i){r=i;return n.replace(e,t)}}();var ic=/(^|[^._A-Z0-9])([$]?)([A-Z]{1,2}|[A-W][A-Z]{2}|X[A-E][A-Z]|XF[A-D])([$]?)(10[0-3]\\\\d{4}|104[0-7]\\\\d{3}|1048[0-4]\\\\d{2}|10485[0-6]\\\\d|104857[0-6]|[1-9]\\\\d{0,5})(?![_.\\\\(A-Za-z0-9])/g;var sc=function(){return function e(r,t){return r.replace(ic,function(e,r,a,n,i,s){var f=ut(n)-(a?0:t.c);var o=ft(s)-(i?0:t.r);var l=o==0?\\"\\":!i?\\"[\\"+o+\\"]\\":o+1;var c=f==0?\\"\\":!a?\\"[\\"+f+\\"]\\":f+1;return r+\\"R\\"+l+\\"C\\"+c})}}();function fc(e,r){return e.replace(ic,function(e,t,a,n,i,s){return t+(a==\\"$\\"?a+n:ht(ut(n)+r.c))+(i==\\"$\\"?i+s:ot(ft(s)+r.r))})}function oc(e,r,t){var a=gt(r),n=a.s,i=mt(t);var s={r:i.r-n.r,c:i.c-n.c};return fc(e,s)}function lc(e){if(e.length==1)return false;return true}function cc(e){return e.replace(/_xlfn\\\\./g,\\"\\")}function uc(e){e.l+=1;return}function hc(e,r){var t=e._R(r==1?1:2);return[t&16383,t>>14&1,t>>15&1]}function dc(e,r,t){var a=2;if(t){if(t.biff>=2&&t.biff<=5)return vc(e,r,t);else if(t.biff==12)a=4}var n=e._R(a),i=e._R(a);var s=hc(e,2);var f=hc(e,2);return{s:{r:n,c:s[0],cRel:s[1],rRel:s[2]},e:{r:i,c:f[0],cRel:f[1],rRel:f[2]}}}function vc(e){var r=hc(e,2),t=hc(e,2);var a=e._R(1);var n=e._R(1);return{s:{r:r[0],c:a,cRel:r[1],rRel:r[2]},e:{r:t[0],c:n,cRel:t[1],rRel:t[2]}}}function pc(e,r,t){if(t.biff<8)return vc(e,r,t);var a=e._R(t.biff==12?4:2),n=e._R(t.biff==12?4:2);var i=hc(e,2);var s=hc(e,2);return{s:{r:a,c:i[0],cRel:i[1],rRel:i[2]},e:{r:n,c:s[0],cRel:s[1],rRel:s[2]}}}function mc(e,r,t){if(t&&t.biff>=2&&t.biff<=5)return bc(e,r,t);var a=e._R(t&&t.biff==12?4:2);var n=hc(e,2);return{r:a,c:n[0],cRel:n[1],rRel:n[2]}}function bc(e){var r=hc(e,2);var t=e._R(1);return{r:r[0],c:t,cRel:r[1],rRel:r[2]}}function gc(e){var r=e._R(2);var t=e._R(2);return{r:r,c:t&255,fQuoted:!!(t&16384),cRel:t>>15,rRel:t>>15}}function wc(e,r,t){var a=t&&t.biff?t.biff:8;if(a>=2&&a<=5)return kc(e,r,t);var n=e._R(a>=12?4:2);var i=e._R(2);var s=(i&16384)>>14,f=(i&32768)>>15;i&=16383;if(f==1)while(n>524287)n-=1048576;if(s==1)while(i>8191)i=i-16384;return{r:n,c:i,cRel:s,rRel:f}}function kc(e){var r=e._R(2);var t=e._R(1);var a=(r&32768)>>15,n=(r&16384)>>14;r&=16383;if(a==1&&r>=8192)r=r-16384;if(n==1&&t>=128)t=t-256;return{r:r,c:t,cRel:n,rRel:a}}function Ec(e,r,t){var a=(e[e.l++]&96)>>5;var n=dc(e,t.biff>=2&&t.biff<=5?6:8,t);return[a,n]}function Sc(e,r,t){var a=(e[e.l++]&96)>>5;var n=e._R(2,\\"i\\");var i=8;if(t)switch(t.biff){case 5:e.l+=12;i=6;break;case 12:i=12;break;}var s=dc(e,i,t);return[a,n,s]}function _c(e,r,t){var a=(e[e.l++]&96)>>5;e.l+=t&&t.biff>8?12:t.biff<8?6:8;return[a]}function Cc(e,r,t){var a=(e[e.l++]&96)>>5;var n=e._R(2);var i=8;if(t)switch(t.biff){case 5:e.l+=12;i=6;break;case 12:i=12;break;}e.l+=i;return[a,n]}function Bc(e,r,t){var a=(e[e.l++]&96)>>5;var n=pc(e,r-1,t);return[a,n]}function Tc(e,r,t){var a=(e[e.l++]&96)>>5;e.l+=t.biff==2?6:t.biff==12?14:7;return[a]}function yc(e){var r=e[e.l+1]&1;var t=1;e.l+=4;return[r,t]}function xc(e,r,t){e.l+=2;var a=e._R(t&&t.biff==2?1:2);var n=[];for(var i=0;i<=a;++i)n.push(e._R(t&&t.biff==2?1:2));return n}function Ac(e,r,t){var a=e[e.l+1]&255?1:0;e.l+=2;return[a,e._R(t&&t.biff==2?1:2)]}function Ic(e,r,t){var a=e[e.l+1]&255?1:0;e.l+=2;return[a,e._R(t&&t.biff==2?1:2)]}function Rc(e){var r=e[e.l+1]&255?1:0;e.l+=2;return[r,e._R(2)]}function Oc(e,r,t){var a=e[e.l+1]&255?1:0;e.l+=t&&t.biff==2?3:4;return[a]}function Dc(e){var r=e._R(1),t=e._R(1);return[r,t]}function Fc(e){e._R(2);return Dc(e,2)}function Pc(e){e._R(2);return Dc(e,2)}function Nc(e,r,t){var a=(e[e.l]&96)>>5;e.l+=1;var n=mc(e,0,t);return[a,n]}function Lc(e,r,t){var a=(e[e.l]&96)>>5;e.l+=1;var n=wc(e,0,t);return[a,n]}function Mc(e,r,t){var a=(e[e.l]&96)>>5;e.l+=1;var n=e._R(2);if(t&&t.biff==5)e.l+=12;var i=mc(e,0,t);return[a,n,i]}function Uc(e,r,t){var a=(e[e.l]&96)>>5;e.l+=1;var n=e._R(t&&t.biff<=3?1:2);return[th[n],rh[n],a]}function zc(e,r,t){var a=e[e.l++];var n=e._R(1),i=t&&t.biff<=3?[a==88?-1:0,e._R(1)]:Hc(e);return[n,(i[0]===0?rh:eh)[i[1]]]}function Hc(e){return[e[e.l+1]>>7,e._R(2)&32767]}function Wc(e,r,t){e.l+=t&&t.biff==2?3:4;return}function Vc(e,r,t){e.l++;if(t&&t.biff==12)return[e._R(4,\\"i\\"),0];var a=e._R(2);var n=e._R(t&&t.biff==2?1:2);return[a,n]}function Xc(e){e.l++;return xa[e._R(1)]}function Gc(e){e.l++;return e._R(2)}function jc(e){e.l++;return e._R(1)!==0}function Kc(e){e.l++;return Zt(e,8)}function $c(e,r,t){e.l++;return qn(e,r-1,t)}function Yc(e,r){var t=[e._R(1)];if(r==12)switch(t[0]){case 2:t[0]=4;break;case 4:t[0]=16;break;case 0:t[0]=1;break;case 1:t[0]=2;break;}switch(t[0]){case 4:t[1]=jn(e,1)?\\"TRUE\\":\\"FALSE\\";if(r!=12)e.l+=7;break;case 37:;case 16:t[1]=xa[e[e.l]];e.l+=r==12?4:8;break;case 0:e.l+=8;break;case 1:t[1]=Zt(e,8);break;case 2:t[1]=ni(e,0,{biff:r>0&&r<8?2:r});break;default:throw new Error(\\"Bad SerAr: \\"+t[0]);}return t}function Zc(e,r,t){var a=e._R(t.biff==12?4:2);var n=[];for(var i=0;i!=a;++i)n.push((t.biff==12?$t:Si)(e,8));return n}function Jc(e,r,t){var a=0,n=0;if(t.biff==12){a=e._R(4);n=e._R(4)}else{n=1+e._R(1);a=1+e._R(2)}if(t.biff>=2&&t.biff<8){--a;if(--n==0)n=256}for(var i=0,s=[];i!=a&&(s[i]=[]);++i)for(var f=0;f!=n;++f)s[i][f]=Yc(e,t.biff);return s}function Qc(e,r,t){var a=e._R(1)>>>5&3;var n=!t||t.biff>=8?4:2;var i=e._R(n);switch(t.biff){case 2:e.l+=5;break;case 3:;case 4:e.l+=8;break;case 5:e.l+=12;break;}return[a,0,i]}function qc(e,r,t){if(t.biff==5)return eu(e,r,t);var a=e._R(1)>>>5&3;var n=e._R(2);var i=e._R(4);return[a,n,i]}function eu(e){var r=e._R(1)>>>5&3;var t=e._R(2,\\"i\\");e.l+=8;var a=e._R(2);e.l+=12;return[r,t,a]}function ru(e,r,t){var a=e._R(1)>>>5&3;e.l+=t&&t.biff==2?3:4;var n=e._R(t&&t.biff==2?1:2);return[a,n]}function tu(e,r,t){var a=e._R(1)>>>5&3;var n=e._R(t&&t.biff==2?1:2);return[a,n]}function au(e,r,t){var a=e._R(1)>>>5&3;e.l+=4;if(t.biff<8)e.l--;if(t.biff==12)e.l+=2;return[a]}function nu(e,r,t){var a=(e[e.l++]&96)>>5;var n=e._R(2);var i=4;if(t)switch(t.biff){case 5:i=15;break;case 12:i=6;break;}e.l+=i;return[a,n]}var iu=Zr;var su=Zr;var fu=Zr;function ou(e,r,t){e.l+=2;return[gc(e,4,t)]}function lu(e){e.l+=6;return[]}var cu=ou;var uu=lu;var hu=lu;var du=ou;function vu(e){e.l+=2;return[$n(e),e._R(2)&1]}var pu=ou;var mu=vu;var bu=lu;var gu=ou;var wu=ou;var ku=[\\"Data\\",\\"All\\",\\"Headers\\",\\"??\\",\\"?Data2\\",\\"??\\",\\"?DataHeaders\\",\\"??\\",\\"Totals\\",\\"??\\",\\"??\\",\\"??\\",\\"?DataTotals\\",\\"??\\",\\"??\\",\\"??\\",\\"?Current\\"];function Eu(e){e.l+=2;var r=e._R(2);var t=e._R(2);var a=e._R(4);var n=e._R(2);var i=e._R(2);var s=ku[t>>2&31];return{ixti:r,coltype:t&3,rt:s,idx:a,c:n,C:i}}function Su(e){e.l+=2;return[e._R(4)]}function _u(e,r,t){e.l+=5;e.l+=2;e.l+=t.biff==2?1:4;return[\\"PTGSHEET\\"]}function Cu(e,r,t){e.l+=t.biff==2?4:5;return[\\"PTGENDSHEET\\"]}function Bu(e){var r=e._R(1)>>>5&3;var t=e._R(2);return[r,t]}function Tu(e){var r=e._R(1)>>>5&3;var t=e._R(2);return[r,t]}function yu(e){e.l+=4;return[0,0]}var xu={1:{n:\\"PtgExp\\",f:Vc},2:{n:\\"PtgTbl\\",f:fu},3:{n:\\"PtgAdd\\",f:uc},4:{n:\\"PtgSub\\",f:uc},5:{n:\\"PtgMul\\",f:uc},6:{n:\\"PtgDiv\\",f:uc},7:{n:\\"PtgPower\\",f:uc},8:{n:\\"PtgConcat\\",f:uc},9:{n:\\"PtgLt\\",f:uc},10:{n:\\"PtgLe\\",f:uc},11:{n:\\"PtgEq\\",f:uc},12:{n:\\"PtgGe\\",f:uc},13:{n:\\"PtgGt\\",f:uc},14:{n:\\"PtgNe\\",f:uc},15:{n:\\"PtgIsect\\",f:uc},16:{n:\\"PtgUnion\\",f:uc},17:{n:\\"PtgRange\\",f:uc},18:{n:\\"PtgUplus\\",f:uc},19:{n:\\"PtgUminus\\",f:uc},20:{n:\\"PtgPercent\\",f:uc},21:{n:\\"PtgParen\\",f:uc},22:{n:\\"PtgMissArg\\",f:uc},23:{n:\\"PtgStr\\",f:$c},26:{n:\\"PtgSheet\\",f:_u},27:{n:\\"PtgEndSheet\\",f:Cu},28:{n:\\"PtgErr\\",f:Xc},29:{n:\\"PtgBool\\",f:jc},30:{n:\\"PtgInt\\",f:Gc},31:{n:\\"PtgNum\\",f:Kc},32:{n:\\"PtgArray\\",f:Tc},33:{n:\\"PtgFunc\\",f:Uc},34:{n:\\"PtgFuncVar\\",f:zc},35:{n:\\"PtgName\\",f:Qc},36:{n:\\"PtgRef\\",f:Nc},37:{n:\\"PtgArea\\",f:Ec},38:{n:\\"PtgMemArea\\",f:ru},39:{n:\\"PtgMemErr\\",f:iu},40:{n:\\"PtgMemNoMem\\",f:su},41:{n:\\"PtgMemFunc\\",f:tu},42:{n:\\"PtgRefErr\\",f:au},43:{n:\\"PtgAreaErr\\",f:_c},44:{n:\\"PtgRefN\\",f:Lc},45:{n:\\"PtgAreaN\\",f:Bc},46:{n:\\"PtgMemAreaN\\",f:Bu},47:{n:\\"PtgMemNoMemN\\",f:Tu},57:{n:\\"PtgNameX\\",f:qc},58:{n:\\"PtgRef3d\\",f:Mc},59:{n:\\"PtgArea3d\\",f:Sc},60:{n:\\"PtgRefErr3d\\",f:nu},61:{n:\\"PtgAreaErr3d\\",f:Cc},255:{}};var Au={64:32,96:32,65:33,97:33,66:34,98:34,67:35,99:35,68:36,100:36,69:37,101:37,70:38,102:38,71:39,103:39,72:40,104:40,73:41,105:41,74:42,106:42,75:43,107:43,76:44,108:44,77:45,109:45,78:46,110:46,79:47,111:47,88:34,120:34,89:57,121:57,90:58,122:58,91:59,123:59,92:60,124:60,93:61,125:61};(function(){for(var e in Au)xu[e]=xu[Au[e]]})();var Iu={1:{n:\\"PtgElfLel\\",f:vu},2:{n:\\"PtgElfRw\\",f:gu},3:{n:\\"PtgElfCol\\",f:cu},6:{n:\\"PtgElfRwV\\",f:wu},7:{n:\\"PtgElfColV\\",f:du},10:{n:\\"PtgElfRadical\\",f:pu},11:{n:\\"PtgElfRadicalS\\",f:bu},13:{n:\\"PtgElfColS\\",f:uu},15:{n:\\"PtgElfColSV\\",f:hu},16:{n:\\"PtgElfRadicalLel\\",f:mu},25:{n:\\"PtgList\\",f:Eu},29:{n:\\"PtgSxName\\",f:Su},255:{}};var Ru={0:{n:\\"PtgAttrNoop\\",f:yu},1:{n:\\"PtgAttrSemi\\",f:Oc},2:{n:\\"PtgAttrIf\\",f:Ic},4:{n:\\"PtgAttrChoose\\",f:xc},8:{n:\\"PtgAttrGoto\\",f:Ac},16:{n:\\"PtgAttrSum\\",f:Wc},32:{n:\\"PtgAttrBaxcel\\",f:yc},64:{n:\\"PtgAttrSpace\\",f:Fc},65:{n:\\"PtgAttrSpaceSemi\\",f:Pc},128:{n:\\"PtgAttrIfError\\",f:Rc},255:{}};Ru[33]=Ru[32];function Ou(e,r,t,a){if(a.biff<8)return Zr(e,r);var n=e.l+r;var i=[];for(var s=0;s!==t.length;++s){switch(t[s][0]){case\\"PtgArray\\":t[s][1]=Jc(e,0,a);i.push(t[s][1]);break;case\\"PtgMemArea\\":t[s][2]=Zc(e,t[s][1],a);i.push(t[s][2]);break;case\\"PtgExp\\":if(a&&a.biff==12){t[s][1][1]=e._R(4);i.push(t[s][1])}break;case\\"PtgList\\":;case\\"PtgElfRadicalS\\":;case\\"PtgElfColS\\":;case\\"PtgElfColSV\\":throw\\"Unsupported \\"+t[s][0];default:break;}}r=n-e.l;if(r!==0)i.push(Zr(e,r));return i}function Du(e,r,t){var a=e.l+r;var n,i,s=[];while(a!=e.l){r=a-e.l;i=e[e.l];n=xu[i];if(i===24||i===25)n=(i===24?Iu:Ru)[e[e.l+1]];if(!n||!n.f){Zr(e,r)}else{s.push([n.n,n.f(e,r,t)])}}return s}function Fu(e){var r=[];for(var t=0;t<e.length;++t){var a=e[t],n=[];for(var i=0;i<a.length;++i){var s=a[i];if(s)switch(s[0]){case 2:n.push(\'\\"\'+s[1].replace(/\\"/g,\'\\"\\"\')+\'\\"\');break;default:n.push(s[1]);}else n.push(\\"\\")}r.push(n.join(\\",\\"))}return r.join(\\";\\")}var Pu={PtgAdd:\\"+\\",PtgConcat:\\"&\\",PtgDiv:\\"/\\",PtgEq:\\"=\\",PtgGe:\\">=\\",PtgGt:\\">\\",PtgLe:\\"<=\\",PtgLt:\\"<\\",PtgMul:\\"*\\",PtgNe:\\"<>\\",PtgPower:\\"^\\",PtgSub:\\"-\\"};var Nu=new RegExp(/[^\\\\w\\\\u4E00-\\\\u9FFF\\\\u3040-\\\\u30FF]/);function Lu(e,r){if(!e&&!(r&&r.biff<=5&&r.biff>=2))throw new Error(\\"empty sheet name\\");if(Nu.test(e))return\\"\'\\"+e+\\"\'\\";return e}function Mu(e,r,t){if(!e)return\\"SH33TJSERR0\\";if(t.biff>8&&(!e.XTI||!e.XTI[r]))return e.SheetNames[r];if(!e.XTI)return\\"SH33TJSERR6\\";var a=e.XTI[r];if(t.biff<8){if(r>1e4)r-=65536;if(r<0)r=-r;return r==0?\\"\\":e.XTI[r-1]}if(!a)return\\"SH33TJSERR1\\";var n=\\"\\";if(t.biff>8)switch(e[a[0]][0]){case 357:n=a[1]==-1?\\"#REF\\":e.SheetNames[a[1]];return a[1]==a[2]?n:n+\\":\\"+e.SheetNames[a[2]];case 358:if(t.SID!=null)return e.SheetNames[t.SID];return\\"SH33TJSSAME\\"+e[a[0]][0];case 355:;default:return\\"SH33TJSSRC\\"+e[a[0]][0];}switch(e[a[0]][0][0]){case 1025:n=a[1]==-1?\\"#REF\\":e.SheetNames[a[1]]||\\"SH33TJSERR3\\";return a[1]==a[2]?n:n+\\":\\"+e.SheetNames[a[2]];case 14849:return e[a[0]].slice(1).map(function(e){return e.Name}).join(\\";;\\");default:if(!e[a[0]][0][3])return\\"SH33TJSERR2\\";n=a[1]==-1?\\"#REF\\":e[a[0]][0][3][a[1]]||\\"SH33TJSERR4\\";return a[1]==a[2]?n:n+\\":\\"+e[a[0]][0][3][a[2]];}}function Uu(e,r,t){return Lu(Mu(e,r,t),t)}function zu(e,r,t,a,n){var i=n&&n.biff||8;var s={s:{c:0,r:0},e:{c:0,r:0}};var f=[],o,l,c,u=0,h=0,d,v=\\"\\";if(!e[0]||!e[0][0])return\\"\\";var p=-1,m=\\"\\";for(var b=0,g=e[0].length;b<g;++b){var w=e[0][b];switch(w[0]){case\\"PtgUminus\\":f.push(\\"-\\"+f.pop());break;case\\"PtgUplus\\":f.push(\\"+\\"+f.pop());break;case\\"PtgPercent\\":f.push(f.pop()+\\"%\\");break;case\\"PtgAdd\\":;case\\"PtgConcat\\":;case\\"PtgDiv\\":;case\\"PtgEq\\":;case\\"PtgGe\\":;case\\"PtgGt\\":;case\\"PtgLe\\":;case\\"PtgLt\\":;case\\"PtgMul\\":;case\\"PtgNe\\":;case\\"PtgPower\\":;case\\"PtgSub\\":o=f.pop();l=f.pop();if(p>=0){switch(e[0][p][1][0]){case 0:m=ue(\\" \\",e[0][p][1][1]);break;case 1:m=ue(\\"\\\\r\\",e[0][p][1][1]);break;default:m=\\"\\";if(n.WTF)throw new Error(\\"Unexpected PtgAttrSpaceType \\"+e[0][p][1][0]);}l=l+m;p=-1}f.push(l+Pu[w[0]]+o);break;case\\"PtgIsect\\":o=f.pop();l=f.pop();f.push(l+\\" \\"+o);break;case\\"PtgUnion\\":o=f.pop();l=f.pop();f.push(l+\\",\\"+o);break;case\\"PtgRange\\":o=f.pop();l=f.pop();f.push(l+\\":\\"+o);break;case\\"PtgAttrChoose\\":break;case\\"PtgAttrGoto\\":break;case\\"PtgAttrIf\\":break;case\\"PtgAttrIfError\\":break;case\\"PtgRef\\":c=rt(w[1][1],s,n);f.push(at(c,i));break;case\\"PtgRefN\\":c=t?rt(w[1][1],t,n):w[1][1];f.push(at(c,i));break;case\\"PtgRef3d\\":u=w[1][1];c=rt(w[1][2],s,n);v=Uu(a,u,n);var k=v;f.push(v+\\"!\\"+at(c,i));break;case\\"PtgFunc\\":;case\\"PtgFuncVar\\":var E=w[1][0],S=w[1][1];if(!E)E=0;E&=127;var _=E==0?[]:f.slice(-E);f.length-=E;if(S===\\"User\\")S=_.shift();f.push(S+\\"(\\"+_.join(\\",\\")+\\")\\");break;case\\"PtgBool\\":f.push(w[1]?\\"TRUE\\":\\"FALSE\\");break;case\\"PtgInt\\":f.push(w[1]);break;case\\"PtgNum\\":f.push(String(w[1]));break;case\\"PtgStr\\":f.push(\'\\"\'+w[1].replace(/\\"/g,\'\\"\\"\')+\'\\"\');break;case\\"PtgErr\\":f.push(w[1]);break;case\\"PtgAreaN\\":d=tt(w[1][1],t?{s:t}:s,n);f.push(nt(d,n));break;case\\"PtgArea\\":d=tt(w[1][1],s,n);f.push(nt(d,n));break;case\\"PtgArea3d\\":u=w[1][1];d=w[1][2];v=Uu(a,u,n);f.push(v+\\"!\\"+nt(d,n));break;case\\"PtgAttrSum\\":f.push(\\"SUM(\\"+f.pop()+\\")\\");break;case\\"PtgAttrBaxcel\\":;case\\"PtgAttrSemi\\":break;case\\"PtgName\\":h=w[1][2];var C=(a.names||[])[h-1]||(a[0]||[])[h];var B=C?C.Name:\\"SH33TJSNAME\\"+String(h);if(B in ah)B=ah[B];f.push(B);break;case\\"PtgNameX\\":var T=w[1][1];h=w[1][2];var y;if(n.biff<=5){if(T<0)T=-T;if(a[T])y=a[T][h]}else{var x=\\"\\";if(((a[T]||[])[0]||[])[0]==14849){}else if(((a[T]||[])[0]||[])[0]==1025){if(a[T][h]&&a[T][h].itab>0){x=a.SheetNames[a[T][h].itab-1]+\\"!\\"}}else x=a.SheetNames[h-1]+\\"!\\";if(a[T]&&a[T][h])x+=a[T][h].Name;else if(a[0]&&a[0][h])x+=a[0][h].Name;else{var A=Mu(a,T,n).split(\\";;\\");if(A[h-1])x=A[h-1];else x+=\\"SH33TJSERRX\\"}f.push(x);break}if(!y)y={Name:\\"SH33TJSERRY\\"};f.push(y.Name);break;case\\"PtgParen\\":var I=\\"(\\",R=\\")\\";if(p>=0){m=\\"\\";switch(e[0][p][1][0]){case 2:I=ue(\\" \\",e[0][p][1][1])+I;break;case 3:I=ue(\\"\\\\r\\",e[0][p][1][1])+I;break;case 4:R=ue(\\" \\",e[0][p][1][1])+R;break;case 5:R=ue(\\"\\\\r\\",e[0][p][1][1])+R;break;default:if(n.WTF)throw new Error(\\"Unexpected PtgAttrSpaceType \\"+e[0][p][1][0]);}p=-1}f.push(I+f.pop()+R);break;case\\"PtgRefErr\\":f.push(\\"#REF!\\");break;case\\"PtgRefErr3d\\":f.push(\\"#REF!\\");break;case\\"PtgExp\\":c={c:w[1][1],r:w[1][0]};var O={c:t.c,r:t.r};if(a.sharedf[bt(c)]){var D=a.sharedf[bt(c)];f.push(zu(D,s,O,a,n))}else{var F=false;for(o=0;o!=a.arrayf.length;++o){l=a.arrayf[o];if(c.c<l[0].s.c||c.c>l[0].e.c)continue;if(c.r<l[0].s.r||c.r>l[0].e.r)continue;f.push(zu(l[1],s,O,a,n));F=true;break}if(!F)f.push(w[1])}break;case\\"PtgArray\\":f.push(\\"{\\"+Fu(w[1])+\\"}\\");break;case\\"PtgMemArea\\":break;case\\"PtgAttrSpace\\":;case\\"PtgAttrSpaceSemi\\":p=b;break;case\\"PtgTbl\\":break;case\\"PtgMemErr\\":break;case\\"PtgMissArg\\":f.push(\\"\\");break;case\\"PtgAreaErr\\":f.push(\\"#REF!\\");break;case\\"PtgAreaErr3d\\":f.push(\\"#REF!\\");break;case\\"PtgList\\":f.push(\\"Table\\"+w[1].idx+\\"[#\\"+w[1].rt+\\"]\\");break;case\\"PtgMemAreaN\\":;case\\"PtgMemNoMemN\\":;case\\"PtgAttrNoop\\":;case\\"PtgSheet\\":;case\\"PtgEndSheet\\":break;case\\"PtgMemFunc\\":break;case\\"PtgMemNoMem\\":break;case\\"PtgElfCol\\":;case\\"PtgElfColS\\":;case\\"PtgElfColSV\\":;case\\"PtgElfColV\\":;case\\"PtgElfLel\\":;case\\"PtgElfRadical\\":;case\\"PtgElfRadicalLel\\":;case\\"PtgElfRadicalS\\":;case\\"PtgElfRw\\":;case\\"PtgElfRwV\\":throw new Error(\\"Unsupported ELFs\\");case\\"PtgSxName\\":throw new Error(\\"Unrecognized Formula Token: \\"+String(w));default:throw new Error(\\"Unrecognized Formula Token: \\"+String(w));}var P=[\\"PtgAttrSpace\\",\\"PtgAttrSpaceSemi\\",\\"PtgAttrGoto\\"];if(n.biff!=3)if(p>=0&&P.indexOf(e[0][b][0])==-1){w=e[0][p];var N=true;switch(w[1][0]){case 4:N=false;case 0:m=ue(\\" \\",w[1][1]);break;case 5:N=false;case 1:m=ue(\\"\\\\r\\",w[1][1]);break;default:m=\\"\\";if(n.WTF)throw new Error(\\"Unexpected PtgAttrSpaceType \\"+w[1][0]);}f.push((N?m:\\"\\")+f.pop()+(N?\\"\\":m));p=-1}}if(f.length>1&&n.WTF)throw new Error(\\"bad formula stack\\");return f[0]}function Hu(e,r,t){var a=e.l+r,n=t.biff==2?1:2;var i,s=e._R(n);if(s==65535)return[[],Zr(e,r-2)];var f=Du(e,s,t);if(r!==s+n)i=Ou(e,r-s-n,f,t);e.l=a;return[f,i]}function Wu(e,r,t){var a=e.l+r,n=t.biff==2?1:2;var i,s=e._R(n);if(s==65535)return[[],Zr(e,r-2)];var f=Du(e,s,t);if(r!==s+n)i=Ou(e,r-s-n,f,t);e.l=a;return[f,i]}function Vu(e,r,t,a){var n=e.l+r;var i=Du(e,a,t);var s;if(n!==e.l)s=Ou(e,n-e.l,i,t);return[i,s]}function Xu(e,r,t){var a=e.l+r;var n,i=e._R(2);var s=Du(e,i,t);if(i==65535)return[[],Zr(e,r-2)];if(r!==i+2)n=Ou(e,a-i-2,s,t);return[s,n]}function Gu(e){var r;if(Mr(e,e.l+6)!==65535)return[Zt(e),\\"n\\"];switch(e[e.l]){case 0:e.l+=8;return[\\"String\\",\\"s\\"];case 1:r=e[e.l+2]===1;e.l+=8;return[r,\\"b\\"];case 2:r=e[e.l+2];e.l+=8;return[r,\\"e\\"];case 3:e.l+=8;return[\\"\\",\\"s\\"];}return[]}function ju(e){if(e==null){var r=Jr(8);r._W(1,3);r._W(1,0);r._W(2,0);r._W(2,0);r._W(2,65535);return r}else if(typeof e==\\"number\\")return Jt(e);return Jt(0)}function Ku(e,r,t){var a=e.l+r;var n=pi(e,6);if(t.biff==2)++e.l;var i=Gu(e,8);var s=e._R(1);if(t.biff!=2){e._R(1);if(t.biff>=5){e._R(4)}}var f=Wu(e,a-e.l,t);return{cell:n,val:i[0],formula:f,shared:s>>3&1,tt:i[1]}}function $u(e,r,t,a,n){var i=mi(r,t,n);var s=ju(e.v);var f=Jr(6);var o=1|32;f._W(2,o);f._W(4,0);var l=Jr(e.bf.length);for(var c=0;c<e.bf.length;++c)l[c]=e.bf[c];var u=I([i,s,f,l]);return u}function Yu(e,r,t){var a=e._R(4);var n=Du(e,a,t);var i=e._R(4);var s=i>0?Ou(e,i,n,t):null;return[n,s]}var Zu=Yu;var Ju=Yu;var Qu=Yu;var qu=Yu;var eh={0:\\"BEEP\\",1:\\"OPEN\\",2:\\"OPEN.LINKS\\",3:\\"CLOSE.ALL\\",4:\\"SAVE\\",5:\\"SAVE.AS\\",6:\\"FILE.DELETE\\",7:\\"PAGE.SETUP\\",8:\\"PRINT\\",9:\\"PRINTER.SETUP\\",10:\\"QUIT\\",11:\\"NEW.WINDOW\\",12:\\"ARRANGE.ALL\\",13:\\"WINDOW.SIZE\\",14:\\"WINDOW.MOVE\\",15:\\"FULL\\",16:\\"CLOSE\\",17:\\"RUN\\",22:\\"SET.PRINT.AREA\\",23:\\"SET.PRINT.TITLES\\",24:\\"SET.PAGE.BREAK\\",25:\\"REMOVE.PAGE.BREAK\\",26:\\"FONT\\",27:\\"DISPLAY\\",28:\\"PROTECT.DOCUMENT\\",29:\\"PRECISION\\",30:\\"A1.R1C1\\",31:\\"CALCULATE.NOW\\",32:\\"CALCULATION\\",34:\\"DATA.FIND\\",35:\\"EXTRACT\\",36:\\"DATA.DELETE\\",37:\\"SET.DATABASE\\",38:\\"SET.CRITERIA\\",39:\\"SORT\\",40:\\"DATA.SERIES\\",41:\\"TABLE\\",42:\\"FORMAT.NUMBER\\",43:\\"ALIGNMENT\\",44:\\"STYLE\\",45:\\"BORDER\\",46:\\"CELL.PROTECTION\\",47:\\"COLUMN.WIDTH\\",48:\\"UNDO\\",49:\\"CUT\\",50:\\"COPY\\",51:\\"PASTE\\",52:\\"CLEAR\\",53:\\"PASTE.SPECIAL\\",54:\\"EDIT.DELETE\\",55:\\"INSERT\\",56:\\"FILL.RIGHT\\",57:\\"FILL.DOWN\\",61:\\"DEFINE.NAME\\",62:\\"CREATE.NAMES\\",63:\\"FORMULA.GOTO\\",64:\\"FORMULA.FIND\\",65:\\"SELECT.LAST.CELL\\",66:\\"SHOW.ACTIVE.CELL\\",67:\\"GALLERY.AREA\\",68:\\"GALLERY.BAR\\",69:\\"GALLERY.COLUMN\\",70:\\"GALLERY.LINE\\",71:\\"GALLERY.PIE\\",72:\\"GALLERY.SCATTER\\",73:\\"COMBINATION\\",74:\\"PREFERRED\\",75:\\"ADD.OVERLAY\\",76:\\"GRIDLINES\\",77:\\"SET.PREFERRED\\",78:\\"AXES\\",79:\\"LEGEND\\",80:\\"ATTACH.TEXT\\",81:\\"ADD.ARROW\\",82:\\"SELECT.CHART\\",83:\\"SELECT.PLOT.AREA\\",84:\\"PATTERNS\\",85:\\"MAIN.CHART\\",86:\\"OVERLAY\\",87:\\"SCALE\\",88:\\"FORMAT.LEGEND\\",89:\\"FORMAT.TEXT\\",90:\\"EDIT.REPEAT\\",91:\\"PARSE\\",92:\\"JUSTIFY\\",93:\\"HIDE\\",94:\\"UNHIDE\\",95:\\"WORKSPACE\\",96:\\"FORMULA\\",97:\\"FORMULA.FILL\\",98:\\"FORMULA.ARRAY\\",99:\\"DATA.FIND.NEXT\\",100:\\"DATA.FIND.PREV\\",101:\\"FORMULA.FIND.NEXT\\",102:\\"FORMULA.FIND.PREV\\",103:\\"ACTIVATE\\",104:\\"ACTIVATE.NEXT\\",105:\\"ACTIVATE.PREV\\",106:\\"UNLOCKED.NEXT\\",107:\\"UNLOCKED.PREV\\",108:\\"COPY.PICTURE\\",109:\\"SELECT\\",110:\\"DELETE.NAME\\",111:\\"DELETE.FORMAT\\",112:\\"VLINE\\",113:\\"HLINE\\",114:\\"VPAGE\\",115:\\"HPAGE\\",116:\\"VSCROLL\\",117:\\"HSCROLL\\",118:\\"ALERT\\",119:\\"NEW\\",120:\\"CANCEL.COPY\\",121:\\"SHOW.CLIPBOARD\\",122:\\"MESSAGE\\",124:\\"PASTE.LINK\\",125:\\"APP.ACTIVATE\\",126:\\"DELETE.ARROW\\",127:\\"ROW.HEIGHT\\",128:\\"FORMAT.MOVE\\",129:\\"FORMAT.SIZE\\",130:\\"FORMULA.REPLACE\\",131:\\"SEND.KEYS\\",132:\\"SELECT.SPECIAL\\",133:\\"APPLY.NAMES\\",134:\\"REPLACE.FONT\\",135:\\"FREEZE.PANES\\",136:\\"SHOW.INFO\\",137:\\"SPLIT\\",138:\\"ON.WINDOW\\",139:\\"ON.DATA\\",140:\\"DISABLE.INPUT\\",142:\\"OUTLINE\\",143:\\"LIST.NAMES\\",144:\\"FILE.CLOSE\\",145:\\"SAVE.WORKBOOK\\",146:\\"DATA.FORM\\",147:\\"COPY.CHART\\",148:\\"ON.TIME\\",149:\\"WAIT\\",150:\\"FORMAT.FONT\\",151:\\"FILL.UP\\",152:\\"FILL.LEFT\\",153:\\"DELETE.OVERLAY\\",155:\\"SHORT.MENUS\\",159:\\"SET.UPDATE.STATUS\\",161:\\"COLOR.PALETTE\\",162:\\"DELETE.STYLE\\",163:\\"WINDOW.RESTORE\\",164:\\"WINDOW.MAXIMIZE\\",166:\\"CHANGE.LINK\\",167:\\"CALCULATE.DOCUMENT\\",168:\\"ON.KEY\\",169:\\"APP.RESTORE\\",170:\\"APP.MOVE\\",171:\\"APP.SIZE\\",172:\\"APP.MINIMIZE\\",173:\\"APP.MAXIMIZE\\",174:\\"BRING.TO.FRONT\\",175:\\"SEND.TO.BACK\\",185:\\"MAIN.CHART.TYPE\\",186:\\"OVERLAY.CHART.TYPE\\",187:\\"SELECT.END\\",188:\\"OPEN.MAIL\\",189:\\"SEND.MAIL\\",190:\\"STANDARD.FONT\\",191:\\"CONSOLIDATE\\",192:\\"SORT.SPECIAL\\",193:\\"GALLERY.3D.AREA\\",194:\\"GALLERY.3D.COLUMN\\",195:\\"GALLERY.3D.LINE\\",196:\\"GALLERY.3D.PIE\\",197:\\"VIEW.3D\\",198:\\"GOAL.SEEK\\",199:\\"WORKGROUP\\",200:\\"FILL.GROUP\\",201:\\"UPDATE.LINK\\",202:\\"PROMOTE\\",203:\\"DEMOTE\\",204:\\"SHOW.DETAIL\\",206:\\"UNGROUP\\",207:\\"OBJECT.PROPERTIES\\",208:\\"SAVE.NEW.OBJECT\\",209:\\"SHARE\\",210:\\"SHARE.NAME\\",211:\\"DUPLICATE\\",212:\\"APPLY.STYLE\\",213:\\"ASSIGN.TO.OBJECT\\",214:\\"OBJECT.PROTECTION\\",215:\\"HIDE.OBJECT\\",216:\\"SET.EXTRACT\\",217:\\"CREATE.PUBLISHER\\",218:\\"SUBSCRIBE.TO\\",219:\\"ATTRIBUTES\\",220:\\"SHOW.TOOLBAR\\",222:\\"PRINT.PREVIEW\\",223:\\"EDIT.COLOR\\",224:\\"SHOW.LEVELS\\",225:\\"FORMAT.MAIN\\",226:\\"FORMAT.OVERLAY\\",227:\\"ON.RECALC\\",228:\\"EDIT.SERIES\\",229:\\"DEFINE.STYLE\\",240:\\"LINE.PRINT\\",243:\\"ENTER.DATA\\",249:\\"GALLERY.RADAR\\",250:\\"MERGE.STYLES\\",251:\\"EDITION.OPTIONS\\",252:\\"PASTE.PICTURE\\",253:\\"PASTE.PICTURE.LINK\\",254:\\"SPELLING\\",256:\\"ZOOM\\",259:\\"INSERT.OBJECT\\",260:\\"WINDOW.MINIMIZE\\",265:\\"SOUND.NOTE\\",266:\\"SOUND.PLAY\\",267:\\"FORMAT.SHAPE\\",268:\\"EXTEND.POLYGON\\",269:\\"FORMAT.AUTO\\",272:\\"GALLERY.3D.BAR\\",273:\\"GALLERY.3D.SURFACE\\",274:\\"FILL.AUTO\\",276:\\"CUSTOMIZE.TOOLBAR\\",277:\\"ADD.TOOL\\",278:\\"EDIT.OBJECT\\",279:\\"ON.DOUBLECLICK\\",280:\\"ON.ENTRY\\",281:\\"WORKBOOK.ADD\\",282:\\"WORKBOOK.MOVE\\",283:\\"WORKBOOK.COPY\\",284:\\"WORKBOOK.OPTIONS\\",285:\\"SAVE.WORKSPACE\\",288:\\"CHART.WIZARD\\",289:\\"DELETE.TOOL\\",290:\\"MOVE.TOOL\\",291:\\"WORKBOOK.SELECT\\",292:\\"WORKBOOK.ACTIVATE\\",293:\\"ASSIGN.TO.TOOL\\",295:\\"COPY.TOOL\\",296:\\"RESET.TOOL\\",297:\\"CONSTRAIN.NUMERIC\\",298:\\"PASTE.TOOL\\",302:\\"WORKBOOK.NEW\\",305:\\"SCENARIO.CELLS\\",306:\\"SCENARIO.DELETE\\",307:\\"SCENARIO.ADD\\",308:\\"SCENARIO.EDIT\\",309:\\"SCENARIO.SHOW\\",310:\\"SCENARIO.SHOW.NEXT\\",311:\\"SCENARIO.SUMMARY\\",312:\\"PIVOT.TABLE.WIZARD\\",313:\\"PIVOT.FIELD.PROPERTIES\\",314:\\"PIVOT.FIELD\\",315:\\"PIVOT.ITEM\\",316:\\"PIVOT.ADD.FIELDS\\",318:\\"OPTIONS.CALCULATION\\",319:\\"OPTIONS.EDIT\\",320:\\"OPTIONS.VIEW\\",321:\\"ADDIN.MANAGER\\",322:\\"MENU.EDITOR\\",323:\\"ATTACH.TOOLBARS\\",324:\\"VBAActivate\\",325:\\"OPTIONS.CHART\\",328:\\"VBA.INSERT.FILE\\",330:\\"VBA.PROCEDURE.DEFINITION\\",336:\\"ROUTING.SLIP\\",338:\\"ROUTE.DOCUMENT\\",339:\\"MAIL.LOGON\\",342:\\"INSERT.PICTURE\\",343:\\"EDIT.TOOL\\",344:\\"GALLERY.DOUGHNUT\\",350:\\"CHART.TREND\\",352:\\"PIVOT.ITEM.PROPERTIES\\",354:\\"WORKBOOK.INSERT\\",355:\\"OPTIONS.TRANSITION\\",356:\\"OPTIONS.GENERAL\\",370:\\"FILTER.ADVANCED\\",373:\\"MAIL.ADD.MAILER\\",374:\\"MAIL.DELETE.MAILER\\",375:\\"MAIL.REPLY\\",376:\\"MAIL.REPLY.ALL\\",377:\\"MAIL.FORWARD\\",378:\\"MAIL.NEXT.LETTER\\",379:\\"DATA.LABEL\\",380:\\"INSERT.TITLE\\",381:\\"FONT.PROPERTIES\\",382:\\"MACRO.OPTIONS\\",383:\\"WORKBOOK.HIDE\\",384:\\"WORKBOOK.UNHIDE\\",385:\\"WORKBOOK.DELETE\\",386:\\"WORKBOOK.NAME\\",388:\\"GALLERY.CUSTOM\\",390:\\"ADD.CHART.AUTOFORMAT\\",391:\\"DELETE.CHART.AUTOFORMAT\\",392:\\"CHART.ADD.DATA\\",393:\\"AUTO.OUTLINE\\",394:\\"TAB.ORDER\\",395:\\"SHOW.DIALOG\\",396:\\"SELECT.ALL\\",397:\\"UNGROUP.SHEETS\\",398:\\"SUBTOTAL.CREATE\\",399:\\"SUBTOTAL.REMOVE\\",400:\\"RENAME.OBJECT\\",412:\\"WORKBOOK.SCROLL\\",413:\\"WORKBOOK.NEXT\\",414:\\"WORKBOOK.PREV\\",415:\\"WORKBOOK.TAB.SPLIT\\",416:\\"FULL.SCREEN\\",417:\\"WORKBOOK.PROTECT\\",420:\\"SCROLLBAR.PROPERTIES\\",421:\\"PIVOT.SHOW.PAGES\\",422:\\"TEXT.TO.COLUMNS\\",423:\\"FORMAT.CHARTTYPE\\",424:\\"LINK.FORMAT\\",425:\\"TRACER.DISPLAY\\",430:\\"TRACER.NAVIGATE\\",431:\\"TRACER.CLEAR\\",432:\\"TRACER.ERROR\\",433:\\"PIVOT.FIELD.GROUP\\",434:\\"PIVOT.FIELD.UNGROUP\\",435:\\"CHECKBOX.PROPERTIES\\",436:\\"LABEL.PROPERTIES\\",437:\\"LISTBOX.PROPERTIES\\",438:\\"EDITBOX.PROPERTIES\\",439:\\"PIVOT.REFRESH\\",440:\\"LINK.COMBO\\",441:\\"OPEN.TEXT\\",442:\\"HIDE.DIALOG\\",443:\\"SET.DIALOG.FOCUS\\",444:\\"ENABLE.OBJECT\\",445:\\"PUSHBUTTON.PROPERTIES\\",446:\\"SET.DIALOG.DEFAULT\\",447:\\"FILTER\\",448:\\"FILTER.SHOW.ALL\\",449:\\"CLEAR.OUTLINE\\",450:\\"FUNCTION.WIZARD\\",451:\\"ADD.LIST.ITEM\\",452:\\"SET.LIST.ITEM\\",453:\\"REMOVE.LIST.ITEM\\",454:\\"SELECT.LIST.ITEM\\",455:\\"SET.CONTROL.VALUE\\",456:\\"SAVE.COPY.AS\\",458:\\"OPTIONS.LISTS.ADD\\",459:\\"OPTIONS.LISTS.DELETE\\",460:\\"SERIES.AXES\\",461:\\"SERIES.X\\",462:\\"SERIES.Y\\",463:\\"ERRORBAR.X\\",464:\\"ERRORBAR.Y\\",465:\\"FORMAT.CHART\\",466:\\"SERIES.ORDER\\",467:\\"MAIL.LOGOFF\\",468:\\"CLEAR.ROUTING.SLIP\\",469:\\"APP.ACTIVATE.MICROSOFT\\",470:\\"MAIL.EDIT.MAILER\\",471:\\"ON.SHEET\\",472:\\"STANDARD.WIDTH\\",473:\\"SCENARIO.MERGE\\",474:\\"SUMMARY.INFO\\",475:\\"FIND.FILE\\",476:\\"ACTIVE.CELL.FONT\\",477:\\"ENABLE.TIPWIZARD\\",478:\\"VBA.MAKE.ADDIN\\",480:\\"INSERTDATATABLE\\",481:\\"WORKGROUP.OPTIONS\\",482:\\"MAIL.SEND.MAILER\\",485:\\"AUTOCORRECT\\",489:\\"POST.DOCUMENT\\",491:\\"PICKLIST\\",493:\\"VIEW.SHOW\\",494:\\"VIEW.DEFINE\\",495:\\"VIEW.DELETE\\",509:\\"SHEET.BACKGROUND\\",510:\\"INSERT.MAP.OBJECT\\",511:\\"OPTIONS.MENONO\\",517:\\"MSOCHECKS\\",518:\\"NORMAL\\",519:\\"LAYOUT\\",520:\\"RM.PRINT.AREA\\",521:\\"CLEAR.PRINT.AREA\\",522:\\"ADD.PRINT.AREA\\",523:\\"MOVE.BRK\\",545:\\"HIDECURR.NOTE\\",546:\\"HIDEALL.NOTES\\",547:\\"DELETE.NOTE\\",548:\\"TRAVERSE.NOTES\\",549:\\"ACTIVATE.NOTES\\",620:\\"PROTECT.REVISIONS\\",621:\\"UNPROTECT.REVISIONS\\",647:\\"OPTIONS.ME\\",653:\\"WEB.PUBLISH\\",667:\\"NEWWEBQUERY\\",673:\\"PIVOT.TABLE.CHART\\",753:\\"OPTIONS.SAVE\\",755:\\"OPTIONS.SPELL\\",808:\\"HIDEALL.INKANNOTS\\"};var rh={0:\\"COUNT\\",1:\\"IF\\",2:\\"ISNA\\",3:\\"ISERROR\\",4:\\"SUM\\",5:\\"AVERAGE\\",6:\\"MIN\\",7:\\"MAX\\",8:\\"ROW\\",9:\\"COLUMN\\",10:\\"NA\\",11:\\"NPV\\",12:\\"STDEV\\",13:\\"DOLLAR\\",14:\\"FIXED\\",15:\\"SIN\\",16:\\"COS\\",17:\\"TAN\\",18:\\"ATAN\\",19:\\"PI\\",20:\\"SQRT\\",21:\\"EXP\\",22:\\"LN\\",23:\\"LOG10\\",24:\\"ABS\\",25:\\"INT\\",26:\\"SIGN\\",27:\\"ROUND\\",28:\\"LOOKUP\\",29:\\"INDEX\\",30:\\"REPT\\",31:\\"MID\\",32:\\"LEN\\",33:\\"VALUE\\",34:\\"TRUE\\",35:\\"FALSE\\",36:\\"AND\\",37:\\"OR\\",38:\\"NOT\\",39:\\"MOD\\",40:\\"DCOUNT\\",41:\\"DSUM\\",42:\\"DAVERAGE\\",43:\\"DMIN\\",44:\\"DMAX\\",45:\\"DSTDEV\\",46:\\"VAR\\",47:\\"DVAR\\",48:\\"TEXT\\",49:\\"LINEST\\",50:\\"TREND\\",51:\\"LOGEST\\",52:\\"GROWTH\\",53:\\"GOTO\\",54:\\"HALT\\",55:\\"RETURN\\",56:\\"PV\\",57:\\"FV\\",58:\\"NPER\\",59:\\"PMT\\",60:\\"RATE\\",61:\\"MIRR\\",62:\\"IRR\\",63:\\"RAND\\",64:\\"MATCH\\",65:\\"DATE\\",66:\\"TIME\\",67:\\"DAY\\",68:\\"MONTH\\",69:\\"YEAR\\",70:\\"WEEKDAY\\",71:\\"HOUR\\",72:\\"MINUTE\\",73:\\"SECOND\\",74:\\"NOW\\",75:\\"AREAS\\",76:\\"ROWS\\",77:\\"COLUMNS\\",78:\\"OFFSET\\",79:\\"ABSREF\\",80:\\"RELREF\\",81:\\"ARGUMENT\\",82:\\"SEARCH\\",83:\\"TRANSPOSE\\",84:\\"ERROR\\",85:\\"STEP\\",86:\\"TYPE\\",87:\\"ECHO\\",88:\\"SET.NAME\\",89:\\"CALLER\\",90:\\"DEREF\\",91:\\"WINDOWS\\",92:\\"SERIES\\",93:\\"DOCUMENTS\\",94:\\"ACTIVE.CELL\\",95:\\"SELECTION\\",96:\\"RESULT\\",97:\\"ATAN2\\",98:\\"ASIN\\",99:\\"ACOS\\",100:\\"CHOOSE\\",101:\\"HLOOKUP\\",102:\\"VLOOKUP\\",103:\\"LINKS\\",104:\\"INPUT\\",105:\\"ISREF\\",106:\\"GET.FORMULA\\",107:\\"GET.NAME\\",108:\\"SET.VALUE\\",109:\\"LOG\\",110:\\"EXEC\\",111:\\"CHAR\\",112:\\"LOWER\\",113:\\"UPPER\\",114:\\"PROPER\\",115:\\"LEFT\\",116:\\"RIGHT\\",117:\\"EXACT\\",118:\\"TRIM\\",119:\\"REPLACE\\",120:\\"SUBSTITUTE\\",121:\\"CODE\\",122:\\"NAMES\\",123:\\"DIRECTORY\\",124:\\"FIND\\",125:\\"CELL\\",126:\\"ISERR\\",127:\\"ISTEXT\\",128:\\"ISNUMBER\\",129:\\"ISBLANK\\",130:\\"T\\",131:\\"N\\",132:\\"FOPEN\\",133:\\"FCLOSE\\",134:\\"FSIZE\\",135:\\"FREADLN\\",136:\\"FREAD\\",137:\\"FWRITELN\\",138:\\"FWRITE\\",139:\\"FPOS\\",140:\\"DATEVALUE\\",141:\\"TIMEVALUE\\",142:\\"SLN\\",143:\\"SYD\\",144:\\"DDB\\",145:\\"GET.DEF\\",146:\\"REFTEXT\\",147:\\"TEXTREF\\",148:\\"INDIRECT\\",149:\\"REGISTER\\",150:\\"CALL\\",151:\\"ADD.BAR\\",152:\\"ADD.MENU\\",153:\\"ADD.COMMAND\\",154:\\"ENABLE.COMMAND\\",155:\\"CHECK.COMMAND\\",156:\\"RENAME.COMMAND\\",157:\\"SHOW.BAR\\",158:\\"DELETE.MENU\\",159:\\"DELETE.COMMAND\\",160:\\"GET.CHART.ITEM\\",161:\\"DIALOG.BOX\\",162:\\"CLEAN\\",163:\\"MDETERM\\",164:\\"MINVERSE\\",165:\\"MMULT\\",166:\\"FILES\\",167:\\"IPMT\\",168:\\"PPMT\\",169:\\"COUNTA\\",170:\\"CANCEL.KEY\\",171:\\"FOR\\",172:\\"WHILE\\",173:\\"BREAK\\",174:\\"NEXT\\",175:\\"INITIATE\\",176:\\"REQUEST\\",177:\\"POKE\\",178:\\"EXECUTE\\",179:\\"TERMINATE\\",180:\\"RESTART\\",181:\\"HELP\\",182:\\"GET.BAR\\",183:\\"PRODUCT\\",184:\\"FACT\\",185:\\"GET.CELL\\",186:\\"GET.WORKSPACE\\",187:\\"GET.WINDOW\\",188:\\"GET.DOCUMENT\\",189:\\"DPRODUCT\\",190:\\"ISNONTEXT\\",191:\\"GET.NOTE\\",192:\\"NOTE\\",193:\\"STDEVP\\",194:\\"VARP\\",195:\\"DSTDEVP\\",196:\\"DVARP\\",197:\\"TRUNC\\",198:\\"ISLOGICAL\\",199:\\"DCOUNTA\\",200:\\"DELETE.BAR\\",201:\\"UNREGISTER\\",204:\\"USDOLLAR\\",205:\\"FINDB\\",206:\\"SEARCHB\\",207:\\"REPLACEB\\",208:\\"LEFTB\\",209:\\"RIGHTB\\",210:\\"MIDB\\",211:\\"LENB\\",212:\\"ROUNDUP\\",213:\\"ROUNDDOWN\\",214:\\"ASC\\",215:\\"DBCS\\",216:\\"RANK\\",219:\\"ADDRESS\\",220:\\"DAYS360\\",221:\\"TODAY\\",222:\\"VDB\\",223:\\"ELSE\\",224:\\"ELSE.IF\\",225:\\"END.IF\\",226:\\"FOR.CELL\\",227:\\"MEDIAN\\",228:\\"SUMPRODUCT\\",229:\\"SINH\\",230:\\"COSH\\",231:\\"TANH\\",232:\\"ASINH\\",233:\\"ACOSH\\",234:\\"ATANH\\",235:\\"DGET\\",236:\\"CREATE.OBJECT\\",237:\\"VOLATILE\\",238:\\"LAST.ERROR\\",239:\\"CUSTOM.UNDO\\",240:\\"CUSTOM.REPEAT\\",241:\\"FORMULA.CONVERT\\",242:\\"GET.LINK.INFO\\",243:\\"TEXT.BOX\\",244:\\"INFO\\",245:\\"GROUP\\",246:\\"GET.OBJECT\\",247:\\"DB\\",248:\\"PAUSE\\",251:\\"RESUME\\",252:\\"FREQUENCY\\",253:\\"ADD.TOOLBAR\\",254:\\"DELETE.TOOLBAR\\",255:\\"User\\",256:\\"RESET.TOOLBAR\\",257:\\"EVALUATE\\",258:\\"GET.TOOLBAR\\",259:\\"GET.TOOL\\",260:\\"SPELLING.CHECK\\",261:\\"ERROR.TYPE\\",262:\\"APP.TITLE\\",263:\\"WINDOW.TITLE\\",264:\\"SAVE.TOOLBAR\\",265:\\"ENABLE.TOOL\\",266:\\"PRESS.TOOL\\",267:\\"REGISTER.ID\\",268:\\"GET.WORKBOOK\\",269:\\"AVEDEV\\",270:\\"BETADIST\\",271:\\"GAMMALN\\",272:\\"BETAINV\\",273:\\"BINOMDIST\\",274:\\"CHIDIST\\",275:\\"CHIINV\\",276:\\"COMBIN\\",277:\\"CONFIDENCE\\",278:\\"CRITBINOM\\",279:\\"EVEN\\",280:\\"EXPONDIST\\",281:\\"FDIST\\",282:\\"FINV\\",283:\\"FISHER\\",284:\\"FISHERINV\\",285:\\"FLOOR\\",286:\\"GAMMADIST\\",287:\\"GAMMAINV\\",288:\\"CEILING\\",289:\\"HYPGEOMDIST\\",290:\\"LOGNORMDIST\\",291:\\"LOGINV\\",292:\\"NEGBINOMDIST\\",293:\\"NORMDIST\\",294:\\"NORMSDIST\\",295:\\"NORMINV\\",296:\\"NORMSINV\\",297:\\"STANDARDIZE\\",298:\\"ODD\\",299:\\"PERMUT\\",300:\\"POISSON\\",301:\\"TDIST\\",302:\\"WEIBULL\\",303:\\"SUMXMY2\\",304:\\"SUMX2MY2\\",305:\\"SUMX2PY2\\",306:\\"CHITEST\\",307:\\"CORREL\\",308:\\"COVAR\\",309:\\"FORECAST\\",310:\\"FTEST\\",311:\\"INTERCEPT\\",312:\\"PEARSON\\",313:\\"RSQ\\",314:\\"STEYX\\",315:\\"SLOPE\\",316:\\"TTEST\\",317:\\"PROB\\",318:\\"DEVSQ\\",319:\\"GEOMEAN\\",320:\\"HARMEAN\\",321:\\"SUMSQ\\",322:\\"KURT\\",323:\\"SKEW\\",324:\\"ZTEST\\",325:\\"LARGE\\",326:\\"SMALL\\",327:\\"QUARTILE\\",328:\\"PERCENTILE\\",329:\\"PERCENTRANK\\",330:\\"MODE\\",331:\\"TRIMMEAN\\",332:\\"TINV\\",334:\\"MOVIE.COMMAND\\",335:\\"GET.MOVIE\\",336:\\"CONCATENATE\\",337:\\"POWER\\",338:\\"PIVOT.ADD.DATA\\",339:\\"GET.PIVOT.TABLE\\",340:\\"GET.PIVOT.FIELD\\",341:\\"GET.PIVOT.ITEM\\",342:\\"RADIANS\\",343:\\"DEGREES\\",344:\\"SUBTOTAL\\",345:\\"SUMIF\\",346:\\"COUNTIF\\",347:\\"COUNTBLANK\\",348:\\"SCENARIO.GET\\",349:\\"OPTIONS.LISTS.GET\\",350:\\"ISPMT\\",351:\\"DATEDIF\\",352:\\"DATESTRING\\",353:\\"NUMBERSTRING\\",354:\\"ROMAN\\",355:\\"OPEN.DIALOG\\",356:\\"SAVE.DIALOG\\",357:\\"VIEW.GET\\",358:\\"GETPIVOTDATA\\",359:\\"HYPERLINK\\",360:\\"PHONETIC\\",361:\\"AVERAGEA\\",362:\\"MAXA\\",363:\\"MINA\\",364:\\"STDEVPA\\",365:\\"VARPA\\",366:\\"STDEVA\\",367:\\"VARA\\",368:\\"BAHTTEXT\\",369:\\"THAIDAYOFWEEK\\",370:\\"THAIDIGIT\\",371:\\"THAIMONTHOFYEAR\\",372:\\"THAINUMSOUND\\",373:\\"THAINUMSTRING\\",374:\\"THAISTRINGLENGTH\\",375:\\"ISTHAIDIGIT\\",376:\\"ROUNDBAHTDOWN\\",377:\\"ROUNDBAHTUP\\",378:\\"THAIYEAR\\",379:\\"RTD\\",380:\\"CUBEVALUE\\",381:\\"CUBEMEMBER\\",382:\\"CUBEMEMBERPROPERTY\\",383:\\"CUBERANKEDMEMBER\\",384:\\"HEX2BIN\\",385:\\"HEX2DEC\\",386:\\"HEX2OCT\\",387:\\"DEC2BIN\\",388:\\"DEC2HEX\\",389:\\"DEC2OCT\\",390:\\"OCT2BIN\\",391:\\"OCT2HEX\\",392:\\"OCT2DEC\\",393:\\"BIN2DEC\\",394:\\"BIN2OCT\\",395:\\"BIN2HEX\\",396:\\"IMSUB\\",397:\\"IMDIV\\",398:\\"IMPOWER\\",399:\\"IMABS\\",400:\\"IMSQRT\\",401:\\"IMLN\\",402:\\"IMLOG2\\",403:\\"IMLOG10\\",404:\\"IMSIN\\",405:\\"IMCOS\\",406:\\"IMEXP\\",407:\\"IMARGUMENT\\",408:\\"IMCONJUGATE\\",409:\\"IMAGINARY\\",410:\\"IMREAL\\",411:\\"COMPLEX\\",412:\\"IMSUM\\",413:\\"IMPRODUCT\\",414:\\"SERIESSUM\\",415:\\"FACTDOUBLE\\",416:\\"SQRTPI\\",417:\\"QUOTIENT\\",418:\\"DELTA\\",419:\\"GESTEP\\",420:\\"ISEVEN\\",421:\\"ISODD\\",422:\\"MROUND\\",423:\\"ERF\\",424:\\"ERFC\\",425:\\"BESSELJ\\",426:\\"BESSELK\\",427:\\"BESSELY\\",428:\\"BESSELI\\",429:\\"XIRR\\",430:\\"XNPV\\",431:\\"PRICEMAT\\",432:\\"YIELDMAT\\",433:\\"INTRATE\\",434:\\"RECEIVED\\",435:\\"DISC\\",436:\\"PRICEDISC\\",437:\\"YIELDDISC\\",438:\\"TBILLEQ\\",439:\\"TBILLPRICE\\",440:\\"TBILLYIELD\\",441:\\"PRICE\\",442:\\"YIELD\\",443:\\"DOLLARDE\\",444:\\"DOLLARFR\\",445:\\"NOMINAL\\",446:\\"EFFECT\\",447:\\"CUMPRINC\\",\\n448:\\"CUMIPMT\\",449:\\"EDATE\\",450:\\"EOMONTH\\",451:\\"YEARFRAC\\",452:\\"COUPDAYBS\\",453:\\"COUPDAYS\\",454:\\"COUPDAYSNC\\",455:\\"COUPNCD\\",456:\\"COUPNUM\\",457:\\"COUPPCD\\",458:\\"DURATION\\",459:\\"MDURATION\\",460:\\"ODDLPRICE\\",461:\\"ODDLYIELD\\",462:\\"ODDFPRICE\\",463:\\"ODDFYIELD\\",464:\\"RANDBETWEEN\\",465:\\"WEEKNUM\\",466:\\"AMORDEGRC\\",467:\\"AMORLINC\\",468:\\"CONVERT\\",724:\\"SHEETJS\\",469:\\"ACCRINT\\",470:\\"ACCRINTM\\",471:\\"WORKDAY\\",472:\\"NETWORKDAYS\\",473:\\"GCD\\",474:\\"MULTINOMIAL\\",475:\\"LCM\\",476:\\"FVSCHEDULE\\",477:\\"CUBEKPIMEMBER\\",478:\\"CUBESET\\",479:\\"CUBESETCOUNT\\",480:\\"IFERROR\\",481:\\"COUNTIFS\\",482:\\"SUMIFS\\",483:\\"AVERAGEIF\\",484:\\"AVERAGEIFS\\"};var th={2:1,3:1,10:0,15:1,16:1,17:1,18:1,19:0,20:1,21:1,22:1,23:1,24:1,25:1,26:1,27:2,30:2,31:3,32:1,33:1,34:0,35:0,38:1,39:2,40:3,41:3,42:3,43:3,44:3,45:3,47:3,48:2,53:1,61:3,63:0,65:3,66:3,67:1,68:1,69:1,70:1,71:1,72:1,73:1,74:0,75:1,76:1,77:1,79:2,80:2,83:1,85:0,86:1,89:0,90:1,94:0,95:0,97:2,98:1,99:1,101:3,102:3,105:1,106:1,108:2,111:1,112:1,113:1,114:1,117:2,118:1,119:4,121:1,126:1,127:1,128:1,129:1,130:1,131:1,133:1,134:1,135:1,136:2,137:2,138:2,140:1,141:1,142:3,143:4,144:4,161:1,162:1,163:1,164:1,165:2,172:1,175:2,176:2,177:3,178:2,179:1,184:1,186:1,189:3,190:1,195:3,196:3,197:1,198:1,199:3,201:1,207:4,210:3,211:1,212:2,213:2,214:1,215:1,225:0,229:1,230:1,231:1,232:1,233:1,234:1,235:3,244:1,247:4,252:2,257:1,261:1,271:1,273:4,274:2,275:2,276:2,277:3,278:3,279:1,280:3,281:3,282:3,283:1,284:1,285:2,286:4,287:3,288:2,289:4,290:3,291:3,292:3,293:4,294:1,295:3,296:1,297:3,298:1,299:2,300:3,301:3,302:4,303:2,304:2,305:2,306:2,307:2,308:2,309:3,310:2,311:2,312:2,313:2,314:2,315:2,316:4,325:2,326:2,327:2,328:2,331:2,332:2,337:2,342:1,343:1,346:2,347:1,350:4,351:3,352:1,353:2,360:1,368:1,369:1,370:1,371:1,372:1,373:1,374:1,375:1,376:1,377:1,378:1,382:3,385:1,392:1,393:1,396:2,397:2,398:2,399:1,400:1,401:1,402:1,403:1,404:1,405:1,406:1,407:1,408:1,409:1,410:1,414:4,415:1,416:1,417:2,420:1,421:1,422:2,424:1,425:2,426:2,427:2,428:2,430:3,438:3,439:3,440:3,443:2,444:2,445:2,446:2,447:6,448:6,449:2,450:2,464:2,468:3,476:2,479:1,480:2,65535:0};var ah={\\"_xlfn.ACOT\\":\\"ACOT\\",\\"_xlfn.ACOTH\\":\\"ACOTH\\",\\"_xlfn.AGGREGATE\\":\\"AGGREGATE\\",\\"_xlfn.ARABIC\\":\\"ARABIC\\",\\"_xlfn.AVERAGEIF\\":\\"AVERAGEIF\\",\\"_xlfn.AVERAGEIFS\\":\\"AVERAGEIFS\\",\\"_xlfn.BASE\\":\\"BASE\\",\\"_xlfn.BETA.DIST\\":\\"BETA.DIST\\",\\"_xlfn.BETA.INV\\":\\"BETA.INV\\",\\"_xlfn.BINOM.DIST\\":\\"BINOM.DIST\\",\\"_xlfn.BINOM.DIST.RANGE\\":\\"BINOM.DIST.RANGE\\",\\"_xlfn.BINOM.INV\\":\\"BINOM.INV\\",\\"_xlfn.BITAND\\":\\"BITAND\\",\\"_xlfn.BITLSHIFT\\":\\"BITLSHIFT\\",\\"_xlfn.BITOR\\":\\"BITOR\\",\\"_xlfn.BITRSHIFT\\":\\"BITRSHIFT\\",\\"_xlfn.BITXOR\\":\\"BITXOR\\",\\"_xlfn.CEILING.MATH\\":\\"CEILING.MATH\\",\\"_xlfn.CEILING.PRECISE\\":\\"CEILING.PRECISE\\",\\"_xlfn.CHISQ.DIST\\":\\"CHISQ.DIST\\",\\"_xlfn.CHISQ.DIST.RT\\":\\"CHISQ.DIST.RT\\",\\"_xlfn.CHISQ.INV\\":\\"CHISQ.INV\\",\\"_xlfn.CHISQ.INV.RT\\":\\"CHISQ.INV.RT\\",\\"_xlfn.CHISQ.TEST\\":\\"CHISQ.TEST\\",\\"_xlfn.COMBINA\\":\\"COMBINA\\",\\"_xlfn.CONCAT\\":\\"CONCAT\\",\\"_xlfn.CONFIDENCE.NORM\\":\\"CONFIDENCE.NORM\\",\\"_xlfn.CONFIDENCE.T\\":\\"CONFIDENCE.T\\",\\"_xlfn.COT\\":\\"COT\\",\\"_xlfn.COTH\\":\\"COTH\\",\\"_xlfn.COUNTIFS\\":\\"COUNTIFS\\",\\"_xlfn.COVARIANCE.P\\":\\"COVARIANCE.P\\",\\"_xlfn.COVARIANCE.S\\":\\"COVARIANCE.S\\",\\"_xlfn.CSC\\":\\"CSC\\",\\"_xlfn.CSCH\\":\\"CSCH\\",\\"_xlfn.DAYS\\":\\"DAYS\\",\\"_xlfn.DECIMAL\\":\\"DECIMAL\\",\\"_xlfn.ECMA.CEILING\\":\\"ECMA.CEILING\\",\\"_xlfn.ERF.PRECISE\\":\\"ERF.PRECISE\\",\\"_xlfn.ERFC.PRECISE\\":\\"ERFC.PRECISE\\",\\"_xlfn.EXPON.DIST\\":\\"EXPON.DIST\\",\\"_xlfn.F.DIST\\":\\"F.DIST\\",\\"_xlfn.F.DIST.RT\\":\\"F.DIST.RT\\",\\"_xlfn.F.INV\\":\\"F.INV\\",\\"_xlfn.F.INV.RT\\":\\"F.INV.RT\\",\\"_xlfn.F.TEST\\":\\"F.TEST\\",\\"_xlfn.FILTERXML\\":\\"FILTERXML\\",\\"_xlfn.FLOOR.MATH\\":\\"FLOOR.MATH\\",\\"_xlfn.FLOOR.PRECISE\\":\\"FLOOR.PRECISE\\",\\"_xlfn.FORECAST.ETS\\":\\"FORECAST.ETS\\",\\"_xlfn.FORECAST.ETS.CONFINT\\":\\"FORECAST.ETS.CONFINT\\",\\"_xlfn.FORECAST.ETS.SEASONALITY\\":\\"FORECAST.ETS.SEASONALITY\\",\\"_xlfn.FORECAST.ETS.STAT\\":\\"FORECAST.ETS.STAT\\",\\"_xlfn.FORECAST.LINEAR\\":\\"FORECAST.LINEAR\\",\\"_xlfn.FORMULATEXT\\":\\"FORMULATEXT\\",\\"_xlfn.GAMMA\\":\\"GAMMA\\",\\"_xlfn.GAMMA.DIST\\":\\"GAMMA.DIST\\",\\"_xlfn.GAMMA.INV\\":\\"GAMMA.INV\\",\\"_xlfn.GAMMALN.PRECISE\\":\\"GAMMALN.PRECISE\\",\\"_xlfn.GAUSS\\":\\"GAUSS\\",\\"_xlfn.HYPGEOM.DIST\\":\\"HYPGEOM.DIST\\",\\"_xlfn.IFERROR\\":\\"IFERROR\\",\\"_xlfn.IFNA\\":\\"IFNA\\",\\"_xlfn.IFS\\":\\"IFS\\",\\"_xlfn.IMCOSH\\":\\"IMCOSH\\",\\"_xlfn.IMCOT\\":\\"IMCOT\\",\\"_xlfn.IMCSC\\":\\"IMCSC\\",\\"_xlfn.IMCSCH\\":\\"IMCSCH\\",\\"_xlfn.IMSEC\\":\\"IMSEC\\",\\"_xlfn.IMSECH\\":\\"IMSECH\\",\\"_xlfn.IMSINH\\":\\"IMSINH\\",\\"_xlfn.IMTAN\\":\\"IMTAN\\",\\"_xlfn.ISFORMULA\\":\\"ISFORMULA\\",\\"_xlfn.ISO.CEILING\\":\\"ISO.CEILING\\",\\"_xlfn.ISOWEEKNUM\\":\\"ISOWEEKNUM\\",\\"_xlfn.LOGNORM.DIST\\":\\"LOGNORM.DIST\\",\\"_xlfn.LOGNORM.INV\\":\\"LOGNORM.INV\\",\\"_xlfn.MAXIFS\\":\\"MAXIFS\\",\\"_xlfn.MINIFS\\":\\"MINIFS\\",\\"_xlfn.MODE.MULT\\":\\"MODE.MULT\\",\\"_xlfn.MODE.SNGL\\":\\"MODE.SNGL\\",\\"_xlfn.MUNIT\\":\\"MUNIT\\",\\"_xlfn.NEGBINOM.DIST\\":\\"NEGBINOM.DIST\\",\\"_xlfn.NETWORKDAYS.INTL\\":\\"NETWORKDAYS.INTL\\",\\"_xlfn.NIGBINOM\\":\\"NIGBINOM\\",\\"_xlfn.NORM.DIST\\":\\"NORM.DIST\\",\\"_xlfn.NORM.INV\\":\\"NORM.INV\\",\\"_xlfn.NORM.S.DIST\\":\\"NORM.S.DIST\\",\\"_xlfn.NORM.S.INV\\":\\"NORM.S.INV\\",\\"_xlfn.NUMBERVALUE\\":\\"NUMBERVALUE\\",\\"_xlfn.PDURATION\\":\\"PDURATION\\",\\"_xlfn.PERCENTILE.EXC\\":\\"PERCENTILE.EXC\\",\\"_xlfn.PERCENTILE.INC\\":\\"PERCENTILE.INC\\",\\"_xlfn.PERCENTRANK.EXC\\":\\"PERCENTRANK.EXC\\",\\"_xlfn.PERCENTRANK.INC\\":\\"PERCENTRANK.INC\\",\\"_xlfn.PERMUTATIONA\\":\\"PERMUTATIONA\\",\\"_xlfn.PHI\\":\\"PHI\\",\\"_xlfn.POISSON.DIST\\":\\"POISSON.DIST\\",\\"_xlfn.QUARTILE.EXC\\":\\"QUARTILE.EXC\\",\\"_xlfn.QUARTILE.INC\\":\\"QUARTILE.INC\\",\\"_xlfn.QUERYSTRING\\":\\"QUERYSTRING\\",\\"_xlfn.RANK.AVG\\":\\"RANK.AVG\\",\\"_xlfn.RANK.EQ\\":\\"RANK.EQ\\",\\"_xlfn.RRI\\":\\"RRI\\",\\"_xlfn.SEC\\":\\"SEC\\",\\"_xlfn.SECH\\":\\"SECH\\",\\"_xlfn.SHEET\\":\\"SHEET\\",\\"_xlfn.SHEETS\\":\\"SHEETS\\",\\"_xlfn.SKEW.P\\":\\"SKEW.P\\",\\"_xlfn.STDEV.P\\":\\"STDEV.P\\",\\"_xlfn.STDEV.S\\":\\"STDEV.S\\",\\"_xlfn.SUMIFS\\":\\"SUMIFS\\",\\"_xlfn.SWITCH\\":\\"SWITCH\\",\\"_xlfn.T.DIST\\":\\"T.DIST\\",\\"_xlfn.T.DIST.2T\\":\\"T.DIST.2T\\",\\"_xlfn.T.DIST.RT\\":\\"T.DIST.RT\\",\\"_xlfn.T.INV\\":\\"T.INV\\",\\"_xlfn.T.INV.2T\\":\\"T.INV.2T\\",\\"_xlfn.T.TEST\\":\\"T.TEST\\",\\"_xlfn.TEXTJOIN\\":\\"TEXTJOIN\\",\\"_xlfn.UNICHAR\\":\\"UNICHAR\\",\\"_xlfn.UNICODE\\":\\"UNICODE\\",\\"_xlfn.VAR.P\\":\\"VAR.P\\",\\"_xlfn.VAR.S\\":\\"VAR.S\\",\\"_xlfn.WEBSERVICE\\":\\"WEBSERVICE\\",\\"_xlfn.WEIBULL.DIST\\":\\"WEIBULL.DIST\\",\\"_xlfn.WORKDAY.INTL\\":\\"WORKDAY.INTL\\",\\"_xlfn.XOR\\":\\"XOR\\",\\"_xlfn.Z.TEST\\":\\"Z.TEST\\"};function nh(e){if(e.slice(0,3)==\\"of:\\")e=e.slice(3);if(e.charCodeAt(0)==61){e=e.slice(1);if(e.charCodeAt(0)==61)e=e.slice(1)}e=e.replace(/COM\\\\.MICROSOFT\\\\./g,\\"\\");e=e.replace(/\\\\[((?:\\\\.[A-Z]+[0-9]+)(?::\\\\.[A-Z]+[0-9]+)?)\\\\]/g,function(e,r){return r.replace(/\\\\./g,\\"\\")});e=e.replace(/\\\\[.(#[A-Z]*[?!])\\\\]/g,\\"$1\\");return e.replace(/[;~]/g,\\",\\").replace(/\\\\|/g,\\";\\")}function ih(e){var r=\\"of:=\\"+e.replace(ic,\\"$1[.$2$3$4$5]\\").replace(/\\\\]:\\\\[/g,\\":\\");return r.replace(/;/g,\\"|\\").replace(/,/g,\\";\\")}function sh(e){var r=e.split(\\":\\");var t=r[0].split(\\".\\")[0];return[t,r[0].split(\\".\\")[1]+(r.length>1?\\":\\"+(r[1].split(\\".\\")[1]||r[1].split(\\".\\")[0]):\\"\\")]}function fh(e){return e.replace(/\\\\./,\\"!\\")}var oh={};var lh={};Ma.WS=[\\"http://schemas.openxmlformats.org/officeDocument/2006/relationships/worksheet\\",\\"http://purl.oclc.org/ooxml/officeDocument/relationships/worksheet\\"];var ch=typeof Map!==\\"undefined\\";function uh(e,r,t){var a=0,n=e.length;if(t){if(ch?t.has(r):Object.prototype.hasOwnProperty.call(t,r)){var i=ch?t.get(r):t[r];for(;a<i.length;++a){if(e[i[a]].t===r){e.Count++;return i[a]}}}}else for(;a<n;++a){if(e[a].t===r){e.Count++;return a}}e[n]={t:r};e.Count++;e.Unique++;if(t){if(ch){if(!t.has(r))t.set(r,[]);t.get(r).push(n)}else{if(!Object.prototype.hasOwnProperty.call(t,r))t[r]=[];t[r].push(n)}}return n}function hh(e,r){var t={min:e+1,max:e+1};var a=-1;if(r.MDW)mo=r.MDW;if(r.width!=null)t.customWidth=1;else if(r.wpx!=null)a=go(r.wpx);else if(r.wch!=null)a=r.wch;if(a>-1){t.width=wo(a);t.customWidth=1}else if(r.width!=null)t.width=r.width;if(r.hidden)t.hidden=true;return t}function dh(e,r){if(!e)return;var t=[.7,.7,.75,.75,.3,.3];if(r==\\"xlml\\")t=[1,1,1,1,.5,.5];if(e.left==null)e.left=t[0];if(e.right==null)e.right=t[1];if(e.top==null)e.top=t[2];if(e.bottom==null)e.bottom=t[3];if(e.header==null)e.header=t[4];if(e.footer==null)e.footer=t[5]}function vh(e,r,t){var a=t.revssf[r.z!=null?r.z:\\"General\\"];var n=60,i=e.length;if(a==null&&t.ssf){for(;n<392;++n)if(t.ssf[n]==null){D.load(r.z,n);t.ssf[n]=r.z;t.revssf[r.z]=a=n;break}}for(n=0;n!=i;++n)if(e[n].numFmtId===a)return n;e[i]={numFmtId:a,fontId:0,fillId:0,borderId:0,xfId:0,applyNumberFormat:1};return i}function ph(e,r,t,a,n,i){try{if(a.cellNF)e.z=D._table[r]}catch(s){if(a.WTF)throw s}if(e.t===\\"z\\")return;if(e.t===\\"d\\"&&typeof e.v===\\"string\\")e.v=oe(e.v);if(!a||a.cellText!==false)try{if(D._table[r]==null)D.load(N[r]||\\"General\\",r);if(e.t===\\"e\\")e.w=e.w||xa[e.v];else if(r===0){if(e.t===\\"n\\"){if((e.v|0)===e.v)e.w=D._general_int(e.v);else e.w=D._general_num(e.v)}else if(e.t===\\"d\\"){var f=ee(e.v);if((f|0)===f)e.w=D._general_int(f);else e.w=D._general_num(f)}else if(e.v===undefined)return\\"\\";else e.w=D._general(e.v,lh)}else if(e.t===\\"d\\")e.w=D.format(r,ee(e.v),lh);else e.w=D.format(r,e.v,lh)}catch(s){if(a.WTF)throw s}if(!a.cellStyles)return;if(t!=null)try{e.s=i.Fills[t];if(e.s.fgColor&&e.s.fgColor.theme&&!e.s.fgColor.rgb){e.s.fgColor.rgb=uo(n.themeElements.clrScheme[e.s.fgColor.theme].rgb,e.s.fgColor.tint||0);if(a.WTF)e.s.fgColor.raw_rgb=n.themeElements.clrScheme[e.s.fgColor.theme].rgb}if(e.s.bgColor&&e.s.bgColor.theme){e.s.bgColor.rgb=uo(n.themeElements.clrScheme[e.s.bgColor.theme].rgb,e.s.bgColor.tint||0);if(a.WTF)e.s.bgColor.raw_rgb=n.themeElements.clrScheme[e.s.bgColor.theme].rgb}}catch(s){if(a.WTF&&i.Fills)throw s}}function mh(e,r,t){if(e&&e[\\"!ref\\"]){var a=kt(e[\\"!ref\\"]);if(a.e.c<a.s.c||a.e.r<a.s.r)throw new Error(\\"Bad range (\\"+t+\\"): \\"+e[\\"!ref\\"])}}function bh(e,r){var t=kt(r);if(t.s.r<=t.e.r&&t.s.c<=t.e.c&&t.s.r>=0&&t.s.c>=0)e[\\"!ref\\"]=wt(t)}var gh=/<(?:\\\\w:)?mergeCell ref=\\"[A-Z0-9:]+\\"\\\\s*[\\\\/]?>/g;var wh=/<(?:\\\\w+:)?sheetData[^>]*>([\\\\s\\\\S]*)<\\\\/(?:\\\\w+:)?sheetData>/;var kh=/<(?:\\\\w:)?hyperlink [^>]*>/gm;var Eh=/\\"(\\\\w*:\\\\w*)\\"/;var Sh=/<(?:\\\\w:)?col\\\\b[^>]*[\\\\/]?>/g;var _h=/<(?:\\\\w:)?autoFilter[^>]*([\\\\/]|>([\\\\s\\\\S]*)<\\\\/(?:\\\\w:)?autoFilter)>/g;var Ch=/<(?:\\\\w:)?pageMargins[^>]*\\\\/>/g;var Bh=/<(?:\\\\w:)?sheetPr\\\\b(?:[^>a-z][^>]*)?\\\\/>/;var Th=/<(?:\\\\w:)?sheetViews[^>]*(?:[\\\\/]|>([\\\\s\\\\S]*)<\\\\/(?:\\\\w:)?sheetViews)>/;function yh(e,r,t,a,n,i,s){if(!e)return e;if(!a)a={\\"!id\\":{}};if(m!=null&&r.dense==null)r.dense=m;var f=r.dense?[]:{};var o={s:{r:2e6,c:2e6},e:{r:0,c:0}};var l=\\"\\",c=\\"\\";var u=e.match(wh);if(u){l=e.slice(0,u.index);c=e.slice(u.index+u[0].length)}else l=c=e;var h=l.match(Bh);if(h)Ah(h[0],f,n,t);var d=(l.match(/<(?:\\\\w*:)?dimension/)||{index:-1}).index;if(d>0){var v=l.slice(d,d+50).match(Eh);if(v)bh(f,v[1])}var p=l.match(Th);if(p&&p[1])Wh(p[1],n);var b=[];if(r.cellStyles){var g=l.match(Sh);if(g)Lh(b,g)}if(u)Gh(u[1],f,r,o,i,s);var w=c.match(_h);if(w)f[\\"!autofilter\\"]=Uh(w[0]);var k=[];var E=c.match(gh);if(E)for(d=0;d!=E.length;++d)k[d]=kt(E[d].slice(E[d].indexOf(\'\\"\')+1));var S=c.match(kh);if(S)Fh(f,S,a);var _=c.match(Ch);if(_)f[\\"!margins\\"]=Ph(Fe(_[0]));if(!f[\\"!ref\\"]&&o.e.c>=o.s.c&&o.e.r>=o.s.r)f[\\"!ref\\"]=wt(o);if(r.sheetRows>0&&f[\\"!ref\\"]){var C=kt(f[\\"!ref\\"]);if(r.sheetRows<=+C.e.r){C.e.r=r.sheetRows-1;if(C.e.r>o.e.r)C.e.r=o.e.r;if(C.e.r<C.s.r)C.s.r=C.e.r;if(C.e.c>o.e.c)C.e.c=o.e.c;if(C.e.c<C.s.c)C.s.c=C.e.c;f[\\"!fullref\\"]=f[\\"!ref\\"];f[\\"!ref\\"]=wt(C)}}if(b.length>0)f[\\"!cols\\"]=b;if(k.length>0)f[\\"!merges\\"]=k;return f}function xh(e){if(e.length===0)return\\"\\";var r=\'<mergeCells count=\\"\'+e.length+\'\\">\';for(var t=0;t!=e.length;++t)r+=\'<mergeCell ref=\\"\'+wt(e[t])+\'\\"/>\';return r+\\"</mergeCells>\\"}function Ah(e,r,t,a){var n=Fe(e);if(!t.Sheets[a])t.Sheets[a]={};if(n.codeName)t.Sheets[a].CodeName=Me(Ye(n.codeName))}function Ih(e,r,t,a,n){var i=false;var s={},f=null;if(a.bookType!==\\"xlsx\\"&&r.vbaraw){var o=r.SheetNames[t];try{if(r.Workbook)o=r.Workbook.Sheets[t].CodeName||o}catch(l){}i=true;s.codeName=Ze(He(o))}if(e&&e[\\"!outline\\"]){var c={summaryBelow:1,summaryRight:1};if(e[\\"!outline\\"].above)c.summaryBelow=0;if(e[\\"!outline\\"].left)c.summaryRight=0;f=(f||\\"\\")+lr(\\"outlinePr\\",null,c)}if(!i&&!f)return;n[n.length]=lr(\\"sheetPr\\",f,s)}var Rh=[\\"objects\\",\\"scenarios\\",\\"selectLockedCells\\",\\"selectUnlockedCells\\"];var Oh=[\\"formatColumns\\",\\"formatRows\\",\\"formatCells\\",\\"insertColumns\\",\\"insertRows\\",\\"insertHyperlinks\\",\\"deleteColumns\\",\\"deleteRows\\",\\"sort\\",\\"autoFilter\\",\\"pivotTables\\"];function Dh(e){var r={sheet:1};Rh.forEach(function(t){if(e[t]!=null&&e[t])r[t]=\\"1\\"});Oh.forEach(function(t){if(e[t]!=null&&!e[t])r[t]=\\"0\\"});if(e.password)r.password=qf(e.password).toString(16).toUpperCase();return lr(\\"sheetProtection\\",null,r)}function Fh(e,r,t){var a=Array.isArray(e);for(var n=0;n!=r.length;++n){var i=Fe(Ye(r[n]),true);if(!i.ref)return;var s=((t||{})[\\"!id\\"]||[])[i.id];if(s){i.Target=s.Target;if(i.location)i.Target+=\\"#\\"+i.location}else{i.Target=\\"#\\"+i.location;s={Target:i.Target,TargetMode:\\"Internal\\"}}i.Rel=s;if(i.tooltip){i.Tooltip=i.tooltip;delete i.tooltip}var f=kt(i.ref);for(var o=f.s.r;o<=f.e.r;++o)for(var l=f.s.c;l<=f.e.c;++l){var c=bt({c:l,r:o});if(a){if(!e[o])e[o]=[];if(!e[o][l])e[o][l]={t:\\"z\\",v:undefined};e[o][l].l=i}else{if(!e[c])e[c]={t:\\"z\\",v:undefined};e[c].l=i}}}}function Ph(e){var r={};[\\"left\\",\\"right\\",\\"top\\",\\"bottom\\",\\"header\\",\\"footer\\"].forEach(function(t){if(e[t])r[t]=parseFloat(e[t])});return r}function Nh(e){dh(e);return lr(\\"pageMargins\\",null,e)}function Lh(e,r){var t=false;for(var a=0;a!=r.length;++a){var n=Fe(r[a],true);if(n.hidden)n.hidden=$e(n.hidden);var i=parseInt(n.min,10)-1,s=parseInt(n.max,10)-1;delete n.min;delete n.max;n.width=+n.width;if(!t&&n.width){t=true;Eo(n.width)}So(n);while(i<=s)e[i++]=ce(n)}}function Mh(e,r){var t=[\\"<cols>\\"],a;for(var n=0;n!=r.length;++n){if(!(a=r[n]))continue;t[t.length]=lr(\\"col\\",null,hh(n,a))}t[t.length]=\\"</cols>\\";return t.join(\\"\\")}function Uh(e){var r={ref:(e.match(/ref=\\"([^\\"]*)\\"/)||[])[1]};return r}function zh(e,r,t,a){var n=typeof e.ref==\\"string\\"?e.ref:wt(e.ref);if(!t.Workbook)t.Workbook={Sheets:[]};if(!t.Workbook.Names)t.Workbook.Names=[];var i=t.Workbook.Names;var s=gt(n);if(s.s.r==s.e.r){s.e.r=gt(r[\\"!ref\\"]).e.r;n=wt(s)}for(var f=0;f<i.length;++f){var o=i[f];if(o.Name!=\\"_xlnm._FilterDatabase\\")continue;if(o.Sheet!=a)continue;o.Ref=\\"\'\\"+t.SheetNames[a]+\\"\'!\\"+n;break}if(f==i.length)i.push({Name:\\"_xlnm._FilterDatabase\\",Sheet:a,Ref:\\"\'\\"+t.SheetNames[a]+\\"\'!\\"+n});return lr(\\"autoFilter\\",null,{ref:n})}var Hh=/<(?:\\\\w:)?sheetView(?:[^>a-z][^>]*)?\\\\/?>/;function Wh(e,r){if(!r.Views)r.Views=[{}];(e.match(Hh)||[]).forEach(function(e,t){var a=Fe(e);if(!r.Views[t])r.Views[t]={};if($e(a.rightToLeft))r.Views[t].RTL=true})}function Vh(e,r,t,a){var n={workbookViewId:\\"0\\"};if((((a||{}).Workbook||{}).Views||[])[0])n.rightToLeft=a.Workbook.Views[0].RTL?\\"1\\":\\"0\\";return lr(\\"sheetViews\\",lr(\\"sheetView\\",null,n),{})}function Xh(e,r,t,a){if(e.v===undefined&&typeof e.f!==\\"string\\"||e.t===\\"z\\")return\\"\\";var n=\\"\\";var i=e.t,s=e.v;if(e.t!==\\"z\\")switch(e.t){case\\"b\\":n=e.v?\\"1\\":\\"0\\";break;case\\"n\\":n=\\"\\"+e.v;break;case\\"e\\":n=xa[e.v];break;case\\"d\\":if(a&&a.cellDates)n=oe(e.v,-1).toISOString();else{e=ce(e);e.t=\\"n\\";n=\\"\\"+(e.v=ee(oe(e.v)))}if(typeof e.z===\\"undefined\\")e.z=D._table[14];break;default:n=e.v;break;}var f=fr(\\"v\\",He(n)),o={r:r};var l=vh(a.cellXfs,e,a);if(l!==0)o.s=l;switch(e.t){case\\"n\\":break;case\\"d\\":o.t=\\"d\\";break;case\\"b\\":o.t=\\"b\\";break;case\\"e\\":o.t=\\"e\\";break;case\\"z\\":break;default:if(e.v==null){delete e.t;break}if(a&&a.bookSST){f=fr(\\"v\\",\\"\\"+uh(a.Strings,e.v,a.revStrings));o.t=\\"s\\";break}o.t=\\"str\\";break;}if(e.t!=i){e.t=i;e.v=s}if(typeof e.f==\\"string\\"&&e.f){var c=e.F&&e.F.slice(0,r.length)==r?{t:\\"array\\",ref:e.F}:null;f=lr(\\"f\\",He(e.f),c)+(e.v!=null?f:\\"\\")}if(e.l)t[\\"!links\\"].push([r,e.l]);if(e.c)t[\\"!comments\\"].push([r,e.c]);return lr(\\"c\\",f,o)}var Gh=function(){var e=/<(?:\\\\w+:)?c[ \\\\/>]/,r=/<\\\\/(?:\\\\w+:)?row>/;var t=/r=[\\"\']([^\\"\']*)[\\"\']/,a=/<(?:\\\\w+:)?is>([\\\\S\\\\s]*?)<\\\\/(?:\\\\w+:)?is>/;var n=/ref=[\\"\']([^\\"\']*)[\\"\']/;var i=er(\\"v\\"),s=er(\\"f\\");return function f(o,l,c,u,h,d){var v=0,p=\\"\\",m=[],b=[],g=0,w=0,k=0,E=\\"\\",S;var _,C=0,B=0;var T,y;var x=0,A=0;var I=Array.isArray(d.CellXf),R;var O=[];var F=[];var P=Array.isArray(l);var N=[],L={},M=false;var U=!!c.sheetStubs;for(var z=o.split(r),H=0,W=z.length;H!=W;++H){p=z[H].trim();var V=p.length;if(V===0)continue;for(v=0;v<V;++v)if(p.charCodeAt(v)===62)break;++v;_=Fe(p.slice(0,v),true);C=_.r!=null?parseInt(_.r,10):C+1;B=-1;if(c.sheetRows&&c.sheetRows<C)continue;if(u.s.r>C-1)u.s.r=C-1;if(u.e.r<C-1)u.e.r=C-1;if(c&&c.cellStyles){L={};M=false;if(_.ht){M=true;L.hpt=parseFloat(_.ht);L.hpx=To(L.hpt)}if(_.hidden==\\"1\\"){M=true;L.hidden=true}if(_.outlineLevel!=null){M=true;L.level=+_.outlineLevel}if(M)N[C-1]=L}m=p.slice(v).split(e);for(var X=0;X!=m.length;++X)if(m[X].trim().charAt(0)!=\\"<\\")break;m=m.slice(X);for(v=0;v!=m.length;++v){p=m[v].trim();if(p.length===0)continue;b=p.match(t);g=v;w=0;k=0;p=\\"<c \\"+(p.slice(0,1)==\\"<\\"?\\">\\":\\"\\")+p;if(b!=null&&b.length===2){g=0;E=b[1];for(w=0;w!=E.length;++w){if((k=E.charCodeAt(w)-64)<1||k>26)break;g=26*g+k}--g;B=g}else++B;for(w=0;w!=p.length;++w)if(p.charCodeAt(w)===62)break;++w;_=Fe(p.slice(0,w),true);if(!_.r)_.r=bt({r:C-1,c:B});E=p.slice(w);S={t:\\"\\"};if((b=E.match(i))!=null&&b[1]!==\\"\\")S.v=Me(b[1]);if(c.cellFormula){if((b=E.match(s))!=null&&b[1]!==\\"\\"){S.f=Me(Ye(b[1])).replace(/\\\\r\\\\n/g,\\"\\\\n\\");if(!c.xlfn)S.f=cc(S.f);if(b[0].indexOf(\'t=\\"array\\"\')>-1){S.F=(E.match(n)||[])[1];if(S.F.indexOf(\\":\\")>-1)O.push([kt(S.F),S.F])}else if(b[0].indexOf(\'t=\\"shared\\"\')>-1){y=Fe(b[0]);var G=Me(Ye(b[1]));if(!c.xlfn)G=cc(G);F[parseInt(y.si,10)]=[y,G,_.r]}}else if(b=E.match(/<f[^>]*\\\\/>/)){y=Fe(b[0]);if(F[y.si])S.f=oc(F[y.si][1],F[y.si][2],_.r)}var j=mt(_.r);for(w=0;w<O.length;++w)if(j.r>=O[w][0].s.r&&j.r<=O[w][0].e.r)if(j.c>=O[w][0].s.c&&j.c<=O[w][0].e.c)S.F=O[w][1]}if(_.t==null&&S.v===undefined){if(S.f||S.F){S.v=0;S.t=\\"n\\"}else if(!U)continue;else S.t=\\"z\\"}else S.t=_.t||\\"n\\";if(u.s.c>B)u.s.c=B;if(u.e.c<B)u.e.c=B;switch(S.t){case\\"n\\":if(S.v==\\"\\"||S.v==null){if(!U)continue;S.t=\\"z\\"}else S.v=parseFloat(S.v);break;case\\"s\\":if(typeof S.v==\\"undefined\\"){if(!U)continue;S.t=\\"z\\"}else{T=oh[parseInt(S.v,10)];S.v=T.t;S.r=T.r;if(c.cellHTML)S.h=T.h}break;case\\"str\\":S.t=\\"s\\";S.v=S.v!=null?Ye(S.v):\\"\\";if(c.cellHTML)S.h=Xe(S.v);break;case\\"inlineStr\\":b=E.match(a);S.t=\\"s\\";if(b!=null&&(T=Bf(b[1]))){S.v=T.t;if(c.cellHTML)S.h=T.h}else S.v=\\"\\";break;case\\"b\\":S.v=$e(S.v);break;case\\"d\\":if(c.cellDates)S.v=oe(S.v,1);else{S.v=ee(oe(S.v,1));S.t=\\"n\\"}break;case\\"e\\":if(!c||c.cellText!==false)S.w=S.v;S.v=Aa[S.v];break;}x=A=0;R=null;if(I&&_.s!==undefined){R=d.CellXf[_.s];if(R!=null){if(R.numFmtId!=null)x=R.numFmtId;if(c.cellStyles){if(R.fillId!=null)A=R.fillId}}}ph(S,x,A,c,h,d);if(c.cellDates&&I&&S.t==\\"n\\"&&D.is_date(D._table[x])){S.t=\\"d\\";S.v=ne(S.v)}if(P){var K=mt(_.r);if(!l[K.r])l[K.r]=[];l[K.r][K.c]=S}else l[_.r]=S}}if(N.length>0)l[\\"!rows\\"]=N}}();function jh(e,r,t,a){var n=[],i=[],s=kt(e[\\"!ref\\"]),f=\\"\\",o,l=\\"\\",c=[],u=0,h=0,d=e[\\"!rows\\"];var v=Array.isArray(e);var p={r:l},m,b=-1;for(h=s.s.c;h<=s.e.c;++h)c[h]=ht(h);for(u=s.s.r;u<=s.e.r;++u){i=[];l=ot(u);for(h=s.s.c;h<=s.e.c;++h){o=c[h]+l;var g=v?(e[u]||[])[h]:e[o];if(g===undefined)continue;if((f=Xh(g,o,e,r,t,a))!=null)i.push(f)}if(i.length>0||d&&d[u]){p={r:l};if(d&&d[u]){m=d[u];if(m.hidden)p.hidden=1;b=-1;if(m.hpx)b=Bo(m.hpx);else if(m.hpt)b=m.hpt;if(b>-1){p.ht=b;p.customHeight=1}if(m.level){p.outlineLevel=m.level}}n[n.length]=lr(\\"row\\",i.join(\\"\\"),p)}}if(d)for(;u<d.length;++u){if(d&&d[u]){p={r:u+1};m=d[u];if(m.hidden)p.hidden=1;b=-1;if(m.hpx)b=Bo(m.hpx);else if(m.hpt)b=m.hpt;if(b>-1){p.ht=b;p.customHeight=1}if(m.level){p.outlineLevel=m.level}n[n.length]=lr(\\"row\\",\\"\\",p)}}return n.join(\\"\\")}var Kh=lr(\\"worksheet\\",null,{xmlns:hr.main[0],\\"xmlns:r\\":hr.r});function $h(e,r,t,a){var n=[Ae,Kh];var i=t.SheetNames[e],s=0,f=\\"\\";var o=t.Sheets[i];if(o==null)o={};var l=o[\\"!ref\\"]||\\"A1\\";var c=kt(l);if(c.e.c>16383||c.e.r>1048575){if(r.WTF)throw new Error(\\"Range \\"+l+\\" exceeds format limit A1:XFD1048576\\");c.e.c=Math.min(c.e.c,16383);c.e.r=Math.min(c.e.c,1048575);l=wt(c)}if(!a)a={};o[\\"!comments\\"]=[];var u=[];Ih(o,t,e,r,n);n[n.length]=lr(\\"dimension\\",null,{ref:l});n[n.length]=Vh(o,r,e,t);if(r.sheetFormat)n[n.length]=lr(\\"sheetFormatPr\\",null,{defaultRowHeight:r.sheetFormat.defaultRowHeight||\\"16\\",baseColWidth:r.sheetFormat.baseColWidth||\\"10\\",outlineLevelRow:r.sheetFormat.outlineLevelRow||\\"7\\"});if(o[\\"!cols\\"]!=null&&o[\\"!cols\\"].length>0)n[n.length]=Mh(o,o[\\"!cols\\"]);n[s=n.length]=\\"<sheetData/>\\";o[\\"!links\\"]=[];if(o[\\"!ref\\"]!=null){f=jh(o,r,e,t,a);if(f.length>0)n[n.length]=f}if(n.length>s+1){n[n.length]=\\"</sheetData>\\";n[s]=n[s].replace(\\"/>\\",\\">\\")}if(o[\\"!protect\\"]!=null)n[n.length]=Dh(o[\\"!protect\\"]);if(o[\\"!autofilter\\"]!=null)n[n.length]=zh(o[\\"!autofilter\\"],o,t,e);if(o[\\"!merges\\"]!=null&&o[\\"!merges\\"].length>0)n[n.length]=xh(o[\\"!merges\\"]);var h=-1,d,v=-1;if(o[\\"!links\\"].length>0){n[n.length]=\\"<hyperlinks>\\";o[\\"!links\\"].forEach(function(e){if(!e[1].Target)return;d={ref:e[0]};if(e[1].Target.charAt(0)!=\\"#\\"){v=Xa(a,-1,He(e[1].Target).replace(/#.*$/,\\"\\"),Ma.HLINK);d[\\"r:id\\"]=\\"rId\\"+v}if((h=e[1].Target.indexOf(\\"#\\"))>-1)d.location=He(e[1].Target.slice(h+1));if(e[1].Tooltip)d.tooltip=He(e[1].Tooltip);n[n.length]=lr(\\"hyperlink\\",null,d)});n[n.length]=\\"</hyperlinks>\\"}delete o[\\"!links\\"];if(o[\\"!margins\\"]!=null)n[n.length]=Nh(o[\\"!margins\\"]);if(!r||r.ignoreEC||r.ignoreEC==void 0)n[n.length]=fr(\\"ignoredErrors\\",lr(\\"ignoredError\\",null,{numberStoredAsText:1,sqref:l}));if(u.length>0){v=Xa(a,-1,\\"../drawings/drawing\\"+(e+1)+\\".xml\\",Ma.DRAW);n[n.length]=lr(\\"drawing\\",null,{\\"r:id\\":\\"rId\\"+v});o[\\"!drawing\\"]=u}if(o[\\"!comments\\"].length>0){v=Xa(a,-1,\\"../drawings/vmlDrawing\\"+(e+1)+\\".vml\\",Ma.VML);n[n.length]=lr(\\"legacyDrawing\\",null,{\\"r:id\\":\\"rId\\"+v});o[\\"!legacy\\"]=v}if(n.length>1){n[n.length]=\\"</worksheet>\\";n[1]=n[1].replace(\\"/>\\",\\">\\")}return n.join(\\"\\")}function Yh(e,r){var t={};var a=e.l+r;t.r=e._R(4);e.l+=4;var n=e._R(2);e.l+=1;var i=e._R(1);e.l=a;if(i&7)t.level=i&7;if(i&16)t.hidden=true;if(i&32)t.hpt=n/20;return t}function Zh(e,r,t){var a=Jr(17+8*16);var n=(t[\\"!rows\\"]||[])[e]||{};a._W(4,e);a._W(4,0);var i=320;if(n.hpx)i=Bo(n.hpx)*20;else if(n.hpt)i=n.hpt*20;a._W(2,i);a._W(1,0);var s=0;if(n.level)s|=n.level;if(n.hidden)s|=16;if(n.hpx||n.hpt)s|=32;a._W(1,s);a._W(1,0);var f=0,o=a.l;a.l+=4;var l={r:e,c:0};for(var c=0;c<16;++c){if(r.s.c>c+1<<10||r.e.c<c<<10)continue;var u=-1,h=-1;for(var d=c<<10;d<c+1<<10;++d){l.c=d;var v=Array.isArray(t)?(t[l.r]||[])[l.c]:t[bt(l)];if(v){if(u<0)u=d;h=d}}if(u<0)continue;++f;a._W(4,u);a._W(4,h)}var p=a.l;a.l=o;a._W(4,f);a.l=p;return a.length>a.l?a.slice(0,a.l):a}function Jh(e,r,t,a){var n=Zh(a,t,r);if(n.length>17||(r[\\"!rows\\"]||[])[a])et(e,\\"BrtRowHdr\\",n)}var Qh=$t;var qh=Yt;function ed(){}function rd(e,r){var t={};e.l+=19;t.name=Lt(e,r-19);return t}function td(e,r){if(r==null)r=Jr(84+4*e.length);for(var t=0;t<3;++t)r._W(1,0);qt({auto:1},r);r._W(-4,-1);r._W(-4,-1);Mt(e,r);return r.slice(0,r.l)}function ad(e){var r=Pt(e);return[r]}function nd(e,r,t){if(t==null)t=Jr(8);return Nt(r,t)}function id(e){var r=Pt(e);var t=e._R(1);return[r,t,\\"b\\"]}function sd(e,r,t){if(t==null)t=Jr(9);Nt(r,t);t._W(1,e.v?1:0);return t}function fd(e){var r=Pt(e);var t=e._R(1);return[r,t,\\"e\\"]}function od(e){var r=Pt(e);var t=e._R(4);return[r,t,\\"s\\"]}function ld(e,r,t){if(t==null)t=Jr(12);Nt(r,t);t._W(4,r.v);return t}function cd(e){var r=Pt(e);var t=Zt(e);return[r,t,\\"n\\"]}function ud(e,r,t){if(t==null)t=Jr(16);Nt(r,t);Jt(e.v,t);return t}function hd(e){var r=Pt(e);var t=Xt(e);return[r,t,\\"n\\"]}function dd(e,r,t){if(t==null)t=Jr(12);Nt(r,t);Gt(e.v,t);return t}function vd(e){var r=Pt(e);var t=yt(e);return[r,t,\\"str\\"]}function pd(e,r,t){if(t==null)t=Jr(12+4*e.v.length);Nt(r,t);xt(e.v,t);return t.length>t.l?t.slice(0,t.l):t}function md(e,r,t){var a=e.l+r;var n=Pt(e);n.r=t[\\"!row\\"];var i=e._R(1);var s=[n,i,\\"b\\"];if(t.cellFormula){e.l+=2;var f=Ju(e,a-e.l,t);s[3]=zu(f,null,n,t.supbooks,t)}else e.l=a;return s}function bd(e,r,t){var a=e.l+r;var n=Pt(e);n.r=t[\\"!row\\"];var i=e._R(1);var s=[n,i,\\"e\\"];if(t.cellFormula){e.l+=2;var f=Ju(e,a-e.l,t);s[3]=zu(f,null,n,t.supbooks,t)}else e.l=a;return s}function gd(e,r,t){var a=e.l+r;var n=Pt(e);n.r=t[\\"!row\\"];var i=Zt(e);var s=[n,i,\\"n\\"];if(t.cellFormula){e.l+=2;var f=Ju(e,a-e.l,t);s[3]=zu(f,null,n,t.supbooks,t)}else e.l=a;return s}function wd(e,r,t){var a=e.l+r;var n=Pt(e);n.r=t[\\"!row\\"];var i=yt(e);var s=[n,i,\\"str\\"];if(t.cellFormula){e.l+=2;var f=Ju(e,a-e.l,t);s[3]=zu(f,null,n,t.supbooks,t)}else e.l=a;return s}var kd=$t;var Ed=Yt;function Sd(e,r){if(r==null)r=Jr(4);r._W(4,e);return r}function _d(e,r){var t=e.l+r;var a=$t(e,16);var n=Ut(e);var i=yt(e);var s=yt(e);var f=yt(e);e.l=t;var o={rfx:a,relId:n,loc:i,display:f};if(s)o.Tooltip=s;return o}function Cd(e,r){var t=Jr(50+4*(e[1].Target.length+(e[1].Tooltip||\\"\\").length));Yt({s:mt(e[0]),e:mt(e[0])},t);Vt(\\"rId\\"+r,t);var a=e[1].Target.indexOf(\\"#\\");var n=a==-1?\\"\\":e[1].Target.slice(a+1);xt(n||\\"\\",t);xt(e[1].Tooltip||\\"\\",t);xt(\\"\\",t);return t.slice(0,t.l)}function Bd(){}function Td(e,r,t){var a=e.l+r;var n=jt(e,16);var i=e._R(1);var s=[n];s[2]=i;if(t.cellFormula){var f=Zu(e,a-e.l,t);s[1]=f}else e.l=a;return s}function yd(e,r,t){var a=e.l+r;var n=$t(e,16);var i=[n];if(t.cellFormula){var s=qu(e,a-e.l,t);i[1]=s;e.l=a}else e.l=a;return i}function xd(e,r,t){if(t==null)t=Jr(18);var a=hh(e,r);t._W(-4,e);t._W(-4,e);t._W(4,(a.width||10)*256);t._W(4,0);var n=0;if(r.hidden)n|=1;if(typeof a.width==\\"number\\")n|=2;if(r.level)n|=r.level<<8;t._W(2,n);return t}var Ad=[\\"left\\",\\"right\\",\\"top\\",\\"bottom\\",\\"header\\",\\"footer\\"];function Id(e){var r={};Ad.forEach(function(t){r[t]=Zt(e,8)});return r}function Rd(e,r){if(r==null)r=Jr(6*8);dh(e);Ad.forEach(function(t){Jt(e[t],r)});return r}function Od(e){var r=e._R(2);e.l+=28;return{RTL:r&32}}function Dd(e,r,t){if(t==null)t=Jr(30);var a=924;if((((r||{}).Views||[])[0]||{}).RTL)a|=32;t._W(2,a);t._W(4,0);t._W(4,0);t._W(4,0);t._W(1,0);t._W(1,0);t._W(2,0);t._W(2,100);t._W(2,0);t._W(2,0);t._W(2,0);t._W(4,0);return t}function Fd(e){var r=Jr(24);r._W(4,4);r._W(4,1);Yt(e,r);return r}function Pd(e,r){if(r==null)r=Jr(16*4+2);r._W(2,e.password?qf(e.password):0);r._W(4,1);[[\\"objects\\",false],[\\"scenarios\\",false],[\\"formatCells\\",true],[\\"formatColumns\\",true],[\\"formatRows\\",true],[\\"insertColumns\\",true],[\\"insertRows\\",true],[\\"insertHyperlinks\\",true],[\\"deleteColumns\\",true],[\\"deleteRows\\",true],[\\"selectLockedCells\\",false],[\\"sort\\",true],[\\"autoFilter\\",true],[\\"pivotTables\\",true],[\\"selectUnlockedCells\\",false]].forEach(function(t){if(t[1])r._W(4,e[t[0]]!=null&&!e[t[0]]?1:0);else r._W(4,e[t[0]]!=null&&e[t[0]]?0:1)});return r}function Nd(){}function Ld(){}function Md(e,r,t,a,n,i,s){if(!e)return e;var f=r||{};if(!a)a={\\"!id\\":{}};if(m!=null&&f.dense==null)f.dense=m;var o=f.dense?[]:{};var l;var c={s:{r:2e6,c:2e6},e:{r:0,c:0}};var u=[];var h=false,d=false;var v,p,b,g,w,k,E,S,_;var C=[];f.biff=12;f[\\"!row\\"]=0;var B=0,T=false;var y=[];var x={};var A=f.supbooks||n.supbooks||[[]];A.sharedf=x;A.arrayf=y;A.SheetNames=n.SheetNames||n.Sheets.map(function(e){return e.name});if(!f.supbooks){f.supbooks=A;if(n.Names)for(var I=0;I<n.Names.length;++I)A[0][I+1]=n.Names[I]}var R=[],O=[];var F=false;Qr(e,function N(e,r,m){if(d)return;switch(m){case 148:l=e;break;case 0:v=e;if(f.sheetRows&&f.sheetRows<=v.r)d=true;S=ot(g=v.r);f[\\"!row\\"]=v.r;if(e.hidden||e.hpt||e.level!=null){if(e.hpt)e.hpx=To(e.hpt);O[e.r]=e}break;case 2:;case 3:;case 4:;case 5:;case 6:;case 7:;case 8:;case 9:;case 10:;case 11:p={t:e[2]};switch(e[2]){case\\"n\\":p.v=e[1];break;case\\"s\\":E=oh[e[1]];p.v=E.t;p.r=E.r;break;case\\"b\\":p.v=e[1]?true:false;break;case\\"e\\":p.v=e[1];if(f.cellText!==false)p.w=xa[p.v];break;case\\"str\\":p.t=\\"s\\";p.v=e[1];break;}if(b=s.CellXf[e[0].iStyleRef])ph(p,b.numFmtId,null,f,i,s);w=e[0].c;if(f.dense){if(!o[g])o[g]=[];o[g][w]=p}else o[ht(w)+S]=p;if(f.cellFormula){T=false;for(B=0;B<y.length;++B){var I=y[B];if(v.r>=I[0].s.r&&v.r<=I[0].e.r)if(w>=I[0].s.c&&w<=I[0].e.c){p.F=wt(I[0]);T=true}}if(!T&&e.length>3)p.f=e[3]}if(c.s.r>v.r)c.s.r=v.r;if(c.s.c>w)c.s.c=w;if(c.e.r<v.r)c.e.r=v.r;if(c.e.c<w)c.e.c=w;if(f.cellDates&&b&&p.t==\\"n\\"&&D.is_date(D._table[b.numFmtId])){var P=D.parse_date_code(p.v);if(P){p.t=\\"d\\";p.v=new Date(P.y,P.m-1,P.d,P.H,P.M,P.S,P.u)}}break;case 1:if(!f.sheetStubs||h)break;p={t:\\"z\\",v:undefined};w=e[0].c;if(f.dense){if(!o[g])o[g]=[];o[g][w]=p}else o[ht(w)+S]=p;if(c.s.r>v.r)c.s.r=v.r;if(c.s.c>w)c.s.c=w;if(c.e.r<v.r)c.e.r=v.r;if(c.e.c<w)c.e.c=w;break;case 176:C.push(e);break;case 494:var N=a[\\"!id\\"][e.relId];if(N){e.Target=N.Target;if(e.loc)e.Target+=\\"#\\"+e.loc;e.Rel=N}else if(e.relId==\\"\\"){e.Target=\\"#\\"+e.loc}for(g=e.rfx.s.r;g<=e.rfx.e.r;++g)for(w=e.rfx.s.c;w<=e.rfx.e.c;++w){if(f.dense){if(!o[g])o[g]=[];if(!o[g][w])o[g][w]={t:\\"z\\",v:undefined};o[g][w].l=e}else{k=bt({c:w,r:g});if(!o[k])o[k]={t:\\"z\\",v:undefined};o[k].l=e}}break;case 426:if(!f.cellFormula)break;y.push(e);_=f.dense?o[g][w]:o[ht(w)+S];_.f=zu(e[1],c,{r:v.r,c:w},A,f);_.F=wt(e[0]);break;case 427:if(!f.cellFormula)break;x[bt(e[0].s)]=e[1];_=f.dense?o[g][w]:o[ht(w)+S];_.f=zu(e[1],c,{r:v.r,c:w},A,f);break;case 60:if(!f.cellStyles)break;while(e.e>=e.s){R[e.e--]={width:e.w/256,hidden:!!(e.flags&1),level:e.level};if(!F){F=true;Eo(e.w/256)}So(R[e.e+1])}break;case 161:o[\\"!autofilter\\"]={ref:wt(e)};break;case 476:o[\\"!margins\\"]=e;break;case 147:if(!n.Sheets[t])n.Sheets[t]={};if(e.name)n.Sheets[t].CodeName=e.name;break;case 137:if(!n.Views)n.Views=[{}];if(!n.Views[0])n.Views[0]={};if(e.RTL)n.Views[0].RTL=true;break;case 485:break;case 64:;case 1053:break;case 151:break;case 175:;case 644:;case 625:;case 562:;case 396:;case 1112:;case 1146:;case 471:;case 1050:;case 649:;case 1105:;case 49:;case 589:;case 607:;case 564:;case 1055:;case 168:;case 174:;case 1180:;case 499:;case 507:;case 550:;case 171:;case 167:;case 1177:;case 169:;case 1181:;case 551:;case 552:;case 661:;case 639:;case 478:;case 537:;case 477:;case 536:;case 1103:;case 680:;case 1104:;case 1024:;case 152:;case 663:;case 535:;case 678:;case 504:;case 1043:;case 428:;case 170:;case 3072:;case 50:;case 2070:;case 1045:break;case 35:h=true;break;case 36:h=false;break;case 37:u.push(r);h=true;break;case 38:u.pop();h=false;break;default:if((r||\\"\\").indexOf(\\"Begin\\")>0){}else if((r||\\"\\").indexOf(\\"End\\")>0){}else if(!h||f.WTF)throw new Error(\\"Unexpected record \\"+m+\\" \\"+r);}},f);delete f.supbooks;delete f[\\"!row\\"];if(!o[\\"!ref\\"]&&(c.s.r<2e6||l&&(l.e.r>0||l.e.c>0||l.s.r>0||l.s.c>0)))o[\\"!ref\\"]=wt(l||c);if(f.sheetRows&&o[\\"!ref\\"]){var P=kt(o[\\"!ref\\"]);if(f.sheetRows<=+P.e.r){P.e.r=f.sheetRows-1;if(P.e.r>c.e.r)P.e.r=c.e.r;if(P.e.r<P.s.r)P.s.r=P.e.r;if(P.e.c>c.e.c)P.e.c=c.e.c;if(P.e.c<P.s.c)P.s.c=P.e.c;o[\\"!fullref\\"]=o[\\"!ref\\"];o[\\"!ref\\"]=wt(P)}}if(C.length>0)o[\\"!merges\\"]=C;if(R.length>0)o[\\"!cols\\"]=R;if(O.length>0)o[\\"!rows\\"]=O;return o}function Ud(e,r,t,a,n,i){if(r.v===undefined)return;var s=\\"\\";switch(r.t){case\\"b\\":s=r.v?\\"1\\":\\"0\\";break;case\\"d\\":r=ce(r);r.z=r.z||D._table[14];r.v=ee(oe(r.v));r.t=\\"n\\";break;case\\"n\\":;case\\"e\\":s=\\"\\"+r.v;break;default:s=r.v;break;}var f={r:t,c:a};f.s=vh(n.cellXfs,r,n);if(r.l)i[\\"!links\\"].push([bt(f),r.l]);if(r.c)i[\\"!comments\\"].push([bt(f),r.c]);switch(r.t){case\\"s\\":;case\\"str\\":if(n.bookSST){s=uh(n.Strings,r.v,n.revStrings);f.t=\\"s\\";f.v=s;et(e,\\"BrtCellIsst\\",ld(r,f))}else{f.t=\\"str\\";et(e,\\"BrtCellSt\\",pd(r,f))}return;case\\"n\\":if(r.v==(r.v|0)&&r.v>-1e3&&r.v<1e3)et(e,\\"BrtCellRk\\",dd(r,f));else et(e,\\"BrtCellReal\\",ud(r,f));return;case\\"b\\":f.t=\\"b\\";et(e,\\"BrtCellBool\\",sd(r,f));return;case\\"e\\":f.t=\\"e\\";break;}et(e,\\"BrtCellBlank\\",nd(r,f))}function zd(e,r,t,a){var n=kt(r[\\"!ref\\"]||\\"A1\\"),i,s=\\"\\",f=[];et(e,\\"BrtBeginSheetData\\");var o=Array.isArray(r);var l=n.e.r;if(r[\\"!rows\\"])l=Math.max(n.e.r,r[\\"!rows\\"].length-1);for(var c=n.s.r;c<=l;++c){s=ot(c);Jh(e,r,n,c);if(c<=n.e.r)for(var u=n.s.c;u<=n.e.c;++u){if(c===n.s.r)f[u]=ht(u);i=f[u]+s;var h=o?(r[c]||[])[u]:r[i];if(!h)continue;Ud(e,h,c,u,a,r)}}et(e,\\"BrtEndSheetData\\")}function Hd(e,r){if(!r||!r[\\"!merges\\"])return;et(e,\\"BrtBeginMergeCells\\",Sd(r[\\"!merges\\"].length));r[\\"!merges\\"].forEach(function(r){et(e,\\"BrtMergeCell\\",Ed(r))});et(e,\\"BrtEndMergeCells\\")}function Wd(e,r){if(!r||!r[\\"!cols\\"])return;et(e,\\"BrtBeginColInfos\\");r[\\"!cols\\"].forEach(function(r,t){if(r)et(e,\\"BrtColInfo\\",xd(t,r))});et(e,\\"BrtEndColInfos\\")}function Vd(e,r){if(!r||!r[\\"!ref\\"])return;et(e,\\"BrtBeginCellIgnoreECs\\");et(e,\\"BrtCellIgnoreEC\\",Fd(kt(r[\\"!ref\\"])));et(e,\\"BrtEndCellIgnoreECs\\")}function Xd(e,r,t){r[\\"!links\\"].forEach(function(r){\\nif(!r[1].Target)return;var a=Xa(t,-1,r[1].Target.replace(/#.*$/,\\"\\"),Ma.HLINK);et(e,\\"BrtHLink\\",Cd(r,a))});delete r[\\"!links\\"]}function Gd(e,r,t,a){if(r[\\"!comments\\"].length>0){var n=Xa(a,-1,\\"../drawings/vmlDrawing\\"+(t+1)+\\".vml\\",Ma.VML);et(e,\\"BrtLegacyDrawing\\",Vt(\\"rId\\"+n));r[\\"!legacy\\"]=n}}function jd(e,r,t,a){if(!r[\\"!autofilter\\"])return;var n=r[\\"!autofilter\\"];var i=typeof n.ref===\\"string\\"?n.ref:wt(n.ref);if(!t.Workbook)t.Workbook={Sheets:[]};if(!t.Workbook.Names)t.Workbook.Names=[];var s=t.Workbook.Names;var f=gt(i);if(f.s.r==f.e.r){f.e.r=gt(r[\\"!ref\\"]).e.r;i=wt(f)}for(var o=0;o<s.length;++o){var l=s[o];if(l.Name!=\\"_xlnm._FilterDatabase\\")continue;if(l.Sheet!=a)continue;l.Ref=\\"\'\\"+t.SheetNames[a]+\\"\'!\\"+i;break}if(o==s.length)s.push({Name:\\"_xlnm._FilterDatabase\\",Sheet:a,Ref:\\"\'\\"+t.SheetNames[a]+\\"\'!\\"+i});et(e,\\"BrtBeginAFilter\\",Yt(kt(i)));et(e,\\"BrtEndAFilter\\")}function Kd(e,r,t){et(e,\\"BrtBeginWsViews\\");{et(e,\\"BrtBeginWsView\\",Dd(r,t));et(e,\\"BrtEndWsView\\")}et(e,\\"BrtEndWsViews\\")}function $d(){}function Yd(e,r){if(!r[\\"!protect\\"])return;et(e,\\"BrtSheetProtection\\",Pd(r[\\"!protect\\"]))}function Zd(e,r,t,a){var n=qr();var i=t.SheetNames[e],s=t.Sheets[i]||{};var f=i;try{if(t&&t.Workbook)f=t.Workbook.Sheets[e].CodeName||f}catch(o){}var l=kt(s[\\"!ref\\"]||\\"A1\\");if(l.e.c>16383||l.e.r>1048575){if(r.WTF)throw new Error(\\"Range \\"+(s[\\"!ref\\"]||\\"A1\\")+\\" exceeds format limit A1:XFD1048576\\");l.e.c=Math.min(l.e.c,16383);l.e.r=Math.min(l.e.c,1048575)}s[\\"!links\\"]=[];s[\\"!comments\\"]=[];et(n,\\"BrtBeginSheet\\");if(t.vbaraw)et(n,\\"BrtWsProp\\",td(f));et(n,\\"BrtWsDim\\",qh(l));Kd(n,s,t.Workbook);$d(n,s);Wd(n,s,e,r,t);zd(n,s,e,r,t);Yd(n,s);jd(n,s,t,e);Hd(n,s);Xd(n,s,a);if(s[\\"!margins\\"])et(n,\\"BrtMargins\\",Rd(s[\\"!margins\\"]));if(!r||r.ignoreEC||r.ignoreEC==void 0)Vd(n,s);Gd(n,s,e,a);et(n,\\"BrtEndSheet\\");return n.end()}Ma.CHART=\\"http://schemas.openxmlformats.org/officeDocument/2006/relationships/chart\\";Ma.CHARTEX=\\"http://schemas.microsoft.com/office/2014/relationships/chartEx\\";function Jd(e){var r=[];var t=e.match(/^<c:numCache>/);var a;(e.match(/<c:pt idx=\\"(\\\\d*)\\">(.*?)<\\\\/c:pt>/gm)||[]).forEach(function(e){var a=e.match(/<c:pt idx=\\"(\\\\d*?)\\"><c:v>(.*)<\\\\/c:v><\\\\/c:pt>/);if(!a)return;r[+a[1]]=t?+a[2]:a[2]});var n=Me((e.match(/<c:formatCode>([\\\\s\\\\S]*?)<\\\\/c:formatCode>/)||[\\"\\",\\"General\\"])[1]);(e.match(/<c:f>(.*?)<\\\\/c:f>/gm)||[]).forEach(function(e){a=e.replace(/<.*?>/g,\\"\\")});return[r,n,a]}function Qd(e,r,t,a,n,i){var s=i||{\\"!type\\":\\"chart\\"};if(!e)return i;var f=0,o=0,l=\\"A\\";var c={s:{r:2e6,c:2e6},e:{r:0,c:0}};(e.match(/<c:numCache>[\\\\s\\\\S]*?<\\\\/c:numCache>/gm)||[]).forEach(function(e){var r=Jd(e);c.s.r=c.s.c=0;c.e.c=f;l=ht(f);r[0].forEach(function(e,t){s[l+ot(t)]={t:\\"n\\",v:e,z:r[1]};o=t});if(c.e.r<o)c.e.r=o;++f});if(f>0)s[\\"!ref\\"]=wt(c);return s}Ma.CS=\\"http://schemas.openxmlformats.org/officeDocument/2006/relationships/chartsheet\\";var qd=lr(\\"chartsheet\\",null,{xmlns:hr.main[0],\\"xmlns:r\\":hr.r});function ev(e,r,t,a,n){if(!e)return e;if(!a)a={\\"!id\\":{}};var i={\\"!type\\":\\"chart\\",\\"!drawel\\":null,\\"!rel\\":\\"\\"};var s;var f=e.match(Bh);if(f)Ah(f[0],i,n,t);if(s=e.match(/drawing r:id=\\"(.*?)\\"/))i[\\"!rel\\"]=s[1];if(a[\\"!id\\"][i[\\"!rel\\"]])i[\\"!drawel\\"]=a[\\"!id\\"][i[\\"!rel\\"]];return i}function rv(e,r,t,a){var n=[Ae,qd];n[n.length]=lr(\\"drawing\\",null,{\\"r:id\\":\\"rId1\\"});Xa(a,-1,\\"../drawings/drawing\\"+(e+1)+\\".xml\\",Ma.DRAW);if(n.length>2){n[n.length]=\\"</chartsheet>\\";n[1]=n[1].replace(\\"/>\\",\\">\\")}return n.join(\\"\\")}function tv(e,r){e.l+=10;var t=yt(e,r-10);return{name:t}}function av(e,r,t,a,n){if(!e)return e;if(!a)a={\\"!id\\":{}};var i={\\"!type\\":\\"chart\\",\\"!drawel\\":null,\\"!rel\\":\\"\\"};var s=[];var f=false;Qr(e,function o(e,a,l){switch(l){case 550:i[\\"!rel\\"]=e;break;case 651:if(!n.Sheets[t])n.Sheets[t]={};if(e.name)n.Sheets[t].CodeName=e.name;break;case 562:;case 652:;case 669:;case 679:;case 551:;case 552:;case 476:;case 3072:break;case 35:f=true;break;case 36:f=false;break;case 37:s.push(a);break;case 38:s.pop();break;default:if((a||\\"\\").indexOf(\\"Begin\\")>0)s.push(a);else if((a||\\"\\").indexOf(\\"End\\")>0)s.pop();else if(!f||r.WTF)throw new Error(\\"Unexpected record \\"+l+\\" \\"+a);}},r);if(a[\\"!id\\"][i[\\"!rel\\"]])i[\\"!drawel\\"]=a[\\"!id\\"][i[\\"!rel\\"]];return i}function nv(){var e=qr();et(e,\\"BrtBeginSheet\\");et(e,\\"BrtEndSheet\\");return e.end()}var iv=[[\\"allowRefreshQuery\\",false,\\"bool\\"],[\\"autoCompressPictures\\",true,\\"bool\\"],[\\"backupFile\\",false,\\"bool\\"],[\\"checkCompatibility\\",false,\\"bool\\"],[\\"CodeName\\",\\"\\"],[\\"date1904\\",false,\\"bool\\"],[\\"defaultThemeVersion\\",0,\\"int\\"],[\\"filterPrivacy\\",false,\\"bool\\"],[\\"hidePivotFieldList\\",false,\\"bool\\"],[\\"promptedSolutions\\",false,\\"bool\\"],[\\"publishItems\\",false,\\"bool\\"],[\\"refreshAllConnections\\",false,\\"bool\\"],[\\"saveExternalLinkValues\\",true,\\"bool\\"],[\\"showBorderUnselectedTables\\",true,\\"bool\\"],[\\"showInkAnnotation\\",true,\\"bool\\"],[\\"showObjects\\",\\"all\\"],[\\"showPivotChartFilter\\",false,\\"bool\\"],[\\"updateLinks\\",\\"userSet\\"]];var sv=[[\\"activeTab\\",0,\\"int\\"],[\\"autoFilterDateGrouping\\",true,\\"bool\\"],[\\"firstSheet\\",0,\\"int\\"],[\\"minimized\\",false,\\"bool\\"],[\\"showHorizontalScroll\\",true,\\"bool\\"],[\\"showSheetTabs\\",true,\\"bool\\"],[\\"showVerticalScroll\\",true,\\"bool\\"],[\\"tabRatio\\",600,\\"int\\"],[\\"visibility\\",\\"visible\\"]];var fv=[];var ov=[[\\"calcCompleted\\",\\"true\\"],[\\"calcMode\\",\\"auto\\"],[\\"calcOnSave\\",\\"true\\"],[\\"concurrentCalc\\",\\"true\\"],[\\"fullCalcOnLoad\\",\\"false\\"],[\\"fullPrecision\\",\\"true\\"],[\\"iterate\\",\\"false\\"],[\\"iterateCount\\",\\"100\\"],[\\"iterateDelta\\",\\"0.001\\"],[\\"refMode\\",\\"A1\\"]];function lv(e,r){for(var t=0;t!=e.length;++t){var a=e[t];for(var n=0;n!=r.length;++n){var i=r[n];if(a[i[0]]==null)a[i[0]]=i[1];else switch(i[2]){case\\"bool\\":if(typeof a[i[0]]==\\"string\\")a[i[0]]=$e(a[i[0]]);break;case\\"int\\":if(typeof a[i[0]]==\\"string\\")a[i[0]]=parseInt(a[i[0]],10);break;}}}}function cv(e,r){for(var t=0;t!=r.length;++t){var a=r[t];if(e[a[0]]==null)e[a[0]]=a[1];else switch(a[2]){case\\"bool\\":if(typeof e[a[0]]==\\"string\\")e[a[0]]=$e(e[a[0]]);break;case\\"int\\":if(typeof e[a[0]]==\\"string\\")e[a[0]]=parseInt(e[a[0]],10);break;}}}function uv(e){cv(e.WBProps,iv);cv(e.CalcPr,ov);lv(e.WBView,sv);lv(e.Sheets,fv);lh.date1904=$e(e.WBProps.date1904)}function hv(e){if(!e.Workbook)return\\"false\\";if(!e.Workbook.WBProps)return\\"false\\";return $e(e.Workbook.WBProps.date1904)?\\"true\\":\\"false\\"}var dv=\\"][*?/\\\\\\\\\\".split(\\"\\");function vv(e,r){if(e.length>31){if(r)return false;throw new Error(\\"Sheet names cannot exceed 31 chars\\")}var t=true;dv.forEach(function(a){if(e.indexOf(a)==-1)return;if(!r)throw new Error(\\"Sheet name cannot contain : \\\\\\\\ / ? * [ ]\\");t=false});return t}function pv(e,r,t){e.forEach(function(a,n){vv(a);for(var i=0;i<n;++i)if(a==e[i])throw new Error(\\"Duplicate Sheet Name: \\"+a);if(t){var s=r&&r[n]&&r[n].CodeName||a;if(s.charCodeAt(0)==95&&s.length>22)throw new Error(\\"Bad Code Name: Worksheet\\"+s)}})}function mv(e){if(!e||!e.SheetNames||!e.Sheets)throw new Error(\\"Invalid Workbook\\");if(!e.SheetNames.length)throw new Error(\\"Workbook is empty\\");var r=e.Workbook&&e.Workbook.Sheets||[];pv(e.SheetNames,r,!!e.vbaraw);for(var t=0;t<e.SheetNames.length;++t)mh(e.Sheets[e.SheetNames[t]],e.SheetNames[t],t)}var bv=/<\\\\w+:workbook/;function gv(e,r){if(!e)throw new Error(\\"Could not find file\\");var t={AppVersion:{},WBProps:{},WBView:[],Sheets:[],CalcPr:{},Names:[],xmlns:\\"\\"};var a=false,n=\\"xmlns\\";var i={},s=0;e.replace(Re,function f(o,l){var c=Fe(o);switch(Pe(c[0])){case\\"<?xml\\":break;case\\"<workbook\\":if(o.match(bv))n=\\"xmlns\\"+o.match(/<(\\\\w+):/)[1];t.xmlns=c[n];break;case\\"</workbook>\\":break;case\\"<fileVersion\\":delete c[0];t.AppVersion=c;break;case\\"<fileVersion/>\\":;case\\"</fileVersion>\\":break;case\\"<fileSharing\\":break;case\\"<fileSharing/>\\":break;case\\"<workbookPr\\":;case\\"<workbookPr/>\\":iv.forEach(function(e){if(c[e[0]]==null)return;switch(e[2]){case\\"bool\\":t.WBProps[e[0]]=$e(c[e[0]]);break;case\\"int\\":t.WBProps[e[0]]=parseInt(c[e[0]],10);break;default:t.WBProps[e[0]]=c[e[0]];}});if(c.codeName)t.WBProps.CodeName=Ye(c.codeName);break;case\\"</workbookPr>\\":break;case\\"<workbookProtection\\":break;case\\"<workbookProtection/>\\":break;case\\"<bookViews\\":;case\\"<bookViews>\\":;case\\"</bookViews>\\":break;case\\"<workbookView\\":;case\\"<workbookView/>\\":delete c[0];t.WBView.push(c);break;case\\"</workbookView>\\":break;case\\"<sheets\\":;case\\"<sheets>\\":;case\\"</sheets>\\":break;case\\"<sheet\\":switch(c.state){case\\"hidden\\":c.Hidden=1;break;case\\"veryHidden\\":c.Hidden=2;break;default:c.Hidden=0;}delete c.state;c.name=Me(Ye(c.name));delete c[0];t.Sheets.push(c);break;case\\"</sheet>\\":break;case\\"<functionGroups\\":;case\\"<functionGroups/>\\":break;case\\"<functionGroup\\":break;case\\"<externalReferences\\":;case\\"</externalReferences>\\":;case\\"<externalReferences>\\":break;case\\"<externalReference\\":break;case\\"<definedNames/>\\":break;case\\"<definedNames>\\":;case\\"<definedNames\\":a=true;break;case\\"</definedNames>\\":a=false;break;case\\"<definedName\\":{i={};i.Name=Ye(c.name);if(c.comment)i.Comment=c.comment;if(c.localSheetId)i.Sheet=+c.localSheetId;if($e(c.hidden||\\"0\\"))i.Hidden=true;s=l+o.length}break;case\\"</definedName>\\":{i.Ref=Me(Ye(e.slice(s,l)));t.Names.push(i)}break;case\\"<definedName/>\\":break;case\\"<calcPr\\":delete c[0];t.CalcPr=c;break;case\\"<calcPr/>\\":delete c[0];t.CalcPr=c;break;case\\"</calcPr>\\":break;case\\"<oleSize\\":break;case\\"<customWorkbookViews>\\":;case\\"</customWorkbookViews>\\":;case\\"<customWorkbookViews\\":break;case\\"<customWorkbookView\\":;case\\"</customWorkbookView>\\":break;case\\"<pivotCaches>\\":;case\\"</pivotCaches>\\":;case\\"<pivotCaches\\":break;case\\"<pivotCache\\":break;case\\"<smartTagPr\\":;case\\"<smartTagPr/>\\":break;case\\"<smartTagTypes\\":;case\\"<smartTagTypes>\\":;case\\"</smartTagTypes>\\":break;case\\"<smartTagType\\":break;case\\"<webPublishing\\":;case\\"<webPublishing/>\\":break;case\\"<fileRecoveryPr\\":;case\\"<fileRecoveryPr/>\\":break;case\\"<webPublishObjects>\\":;case\\"<webPublishObjects\\":;case\\"</webPublishObjects>\\":break;case\\"<webPublishObject\\":break;case\\"<extLst\\":;case\\"<extLst>\\":;case\\"</extLst>\\":;case\\"<extLst/>\\":break;case\\"<ext\\":a=true;break;case\\"</ext>\\":a=false;break;case\\"<ArchID\\":break;case\\"<AlternateContent\\":;case\\"<AlternateContent>\\":a=true;break;case\\"</AlternateContent>\\":a=false;break;case\\"<revisionPtr\\":break;default:if(!a&&r.WTF)throw new Error(\\"unrecognized \\"+c[0]+\\" in workbook\\");}return o});if(hr.main.indexOf(t.xmlns)===-1)throw new Error(\\"Unknown Namespace: \\"+t.xmlns);uv(t);return t}var wv=lr(\\"workbook\\",null,{xmlns:hr.main[0],\\"xmlns:r\\":hr.r});function kv(e){var r=[Ae];r[r.length]=wv;var t=e.Workbook&&(e.Workbook.Names||[]).length>0;var a={codeName:\\"ThisWorkbook\\"};if(e.Workbook&&e.Workbook.WBProps){iv.forEach(function(r){if(e.Workbook.WBProps[r[0]]==null)return;if(e.Workbook.WBProps[r[0]]==r[1])return;a[r[0]]=e.Workbook.WBProps[r[0]]});if(e.Workbook.WBProps.CodeName){a.codeName=e.Workbook.WBProps.CodeName;delete a.CodeName}}r[r.length]=lr(\\"workbookPr\\",null,a);var n=e.Workbook&&e.Workbook.Sheets||[];var i=0;if(n&&n[0]&&!!n[0].Hidden){r[r.length]=\\"<bookViews>\\";for(i=0;i!=e.SheetNames.length;++i){if(!n[i])break;if(!n[i].Hidden)break}if(i==e.SheetNames.length)i=0;r[r.length]=\'<workbookView firstSheet=\\"\'+i+\'\\" activeTab=\\"\'+i+\'\\"/>\';r[r.length]=\\"</bookViews>\\"}r[r.length]=\\"<sheets>\\";for(i=0;i!=e.SheetNames.length;++i){var s={name:He(e.SheetNames[i].slice(0,31))};s.sheetId=\\"\\"+(i+1);s[\\"r:id\\"]=\\"rId\\"+(i+1);if(n[i])switch(n[i].Hidden){case 1:s.state=\\"hidden\\";break;case 2:s.state=\\"veryHidden\\";break;}r[r.length]=lr(\\"sheet\\",null,s)}r[r.length]=\\"</sheets>\\";if(t){r[r.length]=\\"<definedNames>\\";if(e.Workbook&&e.Workbook.Names)e.Workbook.Names.forEach(function(e){var t={name:e.Name};if(e.Comment)t.comment=e.Comment;if(e.Sheet!=null)t.localSheetId=\\"\\"+e.Sheet;if(e.Hidden)t.hidden=\\"1\\";if(!e.Ref)return;r[r.length]=lr(\\"definedName\\",He(e.Ref),t)});r[r.length]=\\"</definedNames>\\"}if(r.length>2){r[r.length]=\\"</workbook>\\";r[1]=r[1].replace(\\"/>\\",\\">\\")}return r.join(\\"\\")}function Ev(e,r){var t={};t.Hidden=e._R(4);t.iTabID=e._R(4);t.strRelID=Wt(e,r-8);t.name=yt(e);return t}function Sv(e,r){if(!r)r=Jr(127);r._W(4,e.Hidden);r._W(4,e.iTabID);Vt(e.strRelID,r);xt(e.name.slice(0,31),r);return r.length>r.l?r.slice(0,r.l):r}function _v(e,r){var t={};var a=e._R(4);t.defaultThemeVersion=e._R(4);var n=r>8?yt(e):\\"\\";if(n.length>0)t.CodeName=n;t.autoCompressPictures=!!(a&65536);t.backupFile=!!(a&64);t.checkCompatibility=!!(a&4096);t.date1904=!!(a&1);t.filterPrivacy=!!(a&8);t.hidePivotFieldList=!!(a&1024);t.promptedSolutions=!!(a&16);t.publishItems=!!(a&2048);t.refreshAllConnections=!!(a&262144);t.saveExternalLinkValues=!!(a&128);t.showBorderUnselectedTables=!!(a&4);t.showInkAnnotation=!!(a&32);t.showObjects=[\\"all\\",\\"placeholders\\",\\"none\\"][a>>13&3];t.showPivotChartFilter=!!(a&32768);t.updateLinks=[\\"userSet\\",\\"never\\",\\"always\\"][a>>8&3];return t}function Cv(e,r){if(!r)r=Jr(72);var t=0;if(e){if(e.filterPrivacy)t|=8}r._W(4,t);r._W(4,0);Mt(e&&e.CodeName||\\"ThisWorkbook\\",r);return r.slice(0,r.l)}function Bv(e,r){var t={};e._R(4);t.ArchID=e._R(4);e.l+=r-8;return t}function Tv(e,r,t){var a=e.l+r;e.l+=4;e.l+=1;var n=e._R(4);var i=Ht(e);var s=Qu(e,0,t);var f=Ut(e);e.l=a;var o={Name:i,Ptg:s};if(n<268435455)o.Sheet=n;if(f)o.Comment=f;return o}function yv(e,r){var t={AppVersion:{},WBProps:{},WBView:[],Sheets:[],CalcPr:{},xmlns:\\"\\"};var a=[];var n=false;if(!r)r={};r.biff=12;var i=[];var s=[[]];s.SheetNames=[];s.XTI=[];Qr(e,function f(e,o,l){switch(l){case 156:s.SheetNames.push(e.name);t.Sheets.push(e);break;case 153:t.WBProps=e;break;case 39:if(e.Sheet!=null)r.SID=e.Sheet;e.Ref=zu(e.Ptg,null,null,s,r);delete r.SID;delete e.Ptg;i.push(e);break;case 1036:break;case 357:;case 358:;case 355:;case 667:if(!s[0].length)s[0]=[l,e];else s.push([l,e]);s[s.length-1].XTI=[];break;case 362:if(s.length===0){s[0]=[];s[0].XTI=[]}s[s.length-1].XTI=s[s.length-1].XTI.concat(e);s.XTI=s.XTI.concat(e);break;case 361:break;case 3072:;case 3073:;case 2071:;case 534:;case 677:;case 158:;case 157:;case 610:;case 2050:;case 155:;case 548:;case 676:;case 128:;case 665:;case 2128:;case 2125:;case 549:;case 2053:;case 596:;case 2076:;case 2075:;case 2082:;case 397:;case 154:;case 1117:;case 553:;case 2091:break;case 35:a.push(o);n=true;break;case 36:a.pop();n=false;break;case 37:a.push(o);n=true;break;case 38:a.pop();n=false;break;case 16:break;default:if((o||\\"\\").indexOf(\\"Begin\\")>0){}else if((o||\\"\\").indexOf(\\"End\\")>0){}else if(!n||r.WTF&&a[a.length-1]!=\\"BrtACBegin\\"&&a[a.length-1]!=\\"BrtFRTBegin\\")throw new Error(\\"Unexpected record \\"+l+\\" \\"+o);}},r);uv(t);t.Names=i;t.supbooks=s;return t}function xv(e,r){et(e,\\"BrtBeginBundleShs\\");for(var t=0;t!=r.SheetNames.length;++t){var a=r.Workbook&&r.Workbook.Sheets&&r.Workbook.Sheets[t]&&r.Workbook.Sheets[t].Hidden||0;var n={Hidden:a,iTabID:t+1,strRelID:\\"rId\\"+(t+1),name:r.SheetNames[t]};et(e,\\"BrtBundleSh\\",Sv(n))}et(e,\\"BrtEndBundleShs\\")}function Av(r,t){if(!t)t=Jr(127);for(var a=0;a!=4;++a)t._W(4,0);xt(\\"SheetJS\\",t);xt(e.version,t);xt(e.version,t);xt(\\"7262\\",t);t.length=t.l;return t.length>t.l?t.slice(0,t.l):t}function Iv(e,r){if(!r)r=Jr(29);r._W(-4,0);r._W(-4,460);r._W(4,28800);r._W(4,17600);r._W(4,500);r._W(4,e);r._W(4,e);var t=120;r._W(1,t);return r.length>r.l?r.slice(0,r.l):r}function Rv(e,r){if(!r.Workbook||!r.Workbook.Sheets)return;var t=r.Workbook.Sheets;var a=0,n=-1,i=-1;for(;a<t.length;++a){if(!t[a]||!t[a].Hidden&&n==-1)n=a;else if(t[a].Hidden==1&&i==-1)i=a}if(i>n)return;et(e,\\"BrtBeginBookViews\\");et(e,\\"BrtBookView\\",Iv(n));et(e,\\"BrtEndBookViews\\")}function Ov(e,r){var t=qr();et(t,\\"BrtBeginBook\\");et(t,\\"BrtFileVersion\\",Av());et(t,\\"BrtWbProp\\",Cv(e.Workbook&&e.Workbook.WBProps||null));Rv(t,e,r);xv(t,e,r);et(t,\\"BrtEndBook\\");return t.end()}function Dv(e,r,t){if(r.slice(-4)===\\".bin\\")return yv(e,t);return gv(e,t)}function Fv(e,r,t,a,n,i,s,f){if(r.slice(-4)===\\".bin\\")return Md(e,a,t,n,i,s,f);return yh(e,a,t,n,i,s,f)}function Pv(e,r,t,a,n,i,s,f){if(r.slice(-4)===\\".bin\\")return av(e,a,t,n,i,s,f);return ev(e,a,t,n,i,s,f)}function Nv(e,r,t,a,n,i,s,f){if(r.slice(-4)===\\".bin\\")return tc(e,a,t,n,i,s,f);return ac(e,a,t,n,i,s,f)}function Lv(e,r,t,a,n,i,s,f){if(r.slice(-4)===\\".bin\\")return ec(e,a,t,n,i,s,f);return rc(e,a,t,n,i,s,f)}function Mv(e,r,t,a){if(r.slice(-4)===\\".bin\\")return rl(e,t,a);return Lo(e,t,a)}function Uv(e,r,t){return Sl(e,t)}function zv(e,r,t){if(r.slice(-4)===\\".bin\\")return Df(e,t);return Af(e,t)}function Hv(e,r,t){if(r.slice(-4)===\\".bin\\")return $l(e,t);return Hl(e,t)}function Wv(e,r,t){if(r.slice(-4)===\\".bin\\")return Fl(e,r,t);return Ol(e,r,t)}function Vv(e,r,t,a){if(t.slice(-4)===\\".bin\\")return Nl(e,r,t,a);return Pl(e,r,t,a)}function Xv(e,r,t){return(r.slice(-4)===\\".bin\\"?Ov:kv)(e,t)}function Gv(e,r,t,a,n){return(r.slice(-4)===\\".bin\\"?Zd:$h)(e,t,a,n)}function jv(e,r,t,a,n){return(r.slice(-4)===\\".bin\\"?nv:rv)(e,t,a,n)}function Kv(e,r,t){return(r.slice(-4)===\\".bin\\"?hl:Uo)(e,t)}function $v(e,r,t){return(r.slice(-4)===\\".bin\\"?Nf:Rf)(e,t)}function Yv(e,r,t){return(r.slice(-4)===\\".bin\\"?Yl:Vl)(e,t)}var Zv=/([\\\\w:]+)=((?:\\")([^\\"]*)(?:\\")|(?:\')([^\']*)(?:\'))/g;var Jv=/([\\\\w:]+)=((?:\\")(?:[^\\"]*)(?:\\")|(?:\')(?:[^\']*)(?:\'))/;function Qv(e,r){var t=e.split(/\\\\s+/);var a=[];if(!r)a[0]=t[0];if(t.length===1)return a;var n=e.match(Zv),i,s,f,o;if(n)for(o=0;o!=n.length;++o){i=n[o].match(Jv);if((s=i[1].indexOf(\\":\\"))===-1)a[i[1]]=i[2].slice(1,i[2].length-1);else{if(i[1].slice(0,6)===\\"xmlns:\\")f=\\"xmlns\\"+i[1].slice(6);else f=i[1].slice(s+1);a[f]=i[2].slice(1,i[2].length-1)}}return a}function qv(e){var r=e.split(/\\\\s+/);var t={};if(r.length===1)return t;var a=e.match(Zv),n,i,s,f;if(a)for(f=0;f!=a.length;++f){n=a[f].match(Jv);if((i=n[1].indexOf(\\":\\"))===-1)t[n[1]]=n[2].slice(1,n[2].length-1);else{if(n[1].slice(0,6)===\\"xmlns:\\")s=\\"xmlns\\"+n[1].slice(6);else s=n[1].slice(i+1);t[s]=n[2].slice(1,n[2].length-1)}}return t}function ep(e,r){var t=P[e]||Me(e);if(t===\\"General\\")return D._general(r);return D.format(t,r)}function rp(e,r,t,a){var n=a;switch((t[0].match(/dt:dt=\\"([\\\\w.]+)\\"/)||[\\"\\",\\"\\"])[1]){case\\"boolean\\":n=$e(a);break;case\\"i2\\":;case\\"int\\":n=parseInt(a,10);break;case\\"r4\\":;case\\"float\\":n=parseFloat(a);break;case\\"date\\":;case\\"dateTime.tz\\":n=oe(a);break;case\\"i8\\":;case\\"string\\":;case\\"fixed\\":;case\\"uuid\\":;case\\"bin.base64\\":break;default:throw new Error(\\"bad custprop:\\"+t[0]);}e[Me(r)]=n}function tp(e,r,t){if(e.t===\\"z\\")return;if(!t||t.cellText!==false)try{if(e.t===\\"e\\"){e.w=e.w||xa[e.v]}else if(r===\\"General\\"){if(e.t===\\"n\\"){if((e.v|0)===e.v)e.w=D._general_int(e.v);else e.w=D._general_num(e.v)}else e.w=D._general(e.v)}else e.w=ep(r||\\"General\\",e.v)}catch(a){if(t.WTF)throw a}try{var n=P[r]||r||\\"General\\";if(t.cellNF)e.z=n;if(t.cellDates&&e.t==\\"n\\"&&D.is_date(n)){var i=D.parse_date_code(e.v);if(i){e.t=\\"d\\";e.v=new Date(i.y,i.m-1,i.d,i.H,i.M,i.S,i.u)}}}catch(a){if(t.WTF)throw a}}function ap(e,r,t){if(t.cellStyles){if(r.Interior){var a=r.Interior;if(a.Pattern)a.patternType=yo[a.Pattern]||a.Pattern}}e[r.ID]=r}function np(e,r,t,a,n,i,s,f,o,l){var c=\\"General\\",u=a.StyleID,h={};l=l||{};var d=[];var v=0;if(u===undefined&&f)u=f.StyleID;if(u===undefined&&s)u=s.StyleID;while(i[u]!==undefined){if(i[u].nf)c=i[u].nf;if(i[u].Interior)d.push(i[u].Interior);if(!i[u].Parent)break;u=i[u].Parent}switch(t.Type){case\\"Boolean\\":a.t=\\"b\\";a.v=$e(e);break;case\\"String\\":a.t=\\"s\\";a.r=je(Me(e));a.v=e.indexOf(\\"<\\")>-1?Me(r||e).replace(/<.*?>/g,\\"\\"):a.r;break;case\\"DateTime\\":if(e.slice(-1)!=\\"Z\\")e+=\\"Z\\";a.v=(oe(e)-new Date(Date.UTC(1899,11,30)))/(24*60*60*1e3);if(a.v!==a.v)a.v=Me(e);else if(a.v<60)a.v=a.v-1;if(!c||c==\\"General\\")c=\\"yyyy-mm-dd\\";case\\"Number\\":if(a.v===undefined)a.v=+e;if(!a.t)a.t=\\"n\\";break;case\\"Error\\":a.t=\\"e\\";a.v=Aa[e];if(l.cellText!==false)a.w=e;break;default:if(e==\\"\\"&&r==\\"\\"){a.t=\\"z\\"}else{a.t=\\"s\\";a.v=je(r||e)}break;}tp(a,c,l);if(l.cellFormula!==false){if(a.Formula){var p=Me(a.Formula);if(p.charCodeAt(0)==61)p=p.slice(1);a.f=nc(p,n);delete a.Formula;if(a.ArrayRange==\\"RC\\")a.F=nc(\\"RC:RC\\",n);else if(a.ArrayRange){a.F=nc(a.ArrayRange,n);o.push([kt(a.F),a.F])}}else{for(v=0;v<o.length;++v)if(n.r>=o[v][0].s.r&&n.r<=o[v][0].e.r)if(n.c>=o[v][0].s.c&&n.c<=o[v][0].e.c)a.F=o[v][1]}}if(l.cellStyles){d.forEach(function(e){if(!h.patternType&&e.patternType)h.patternType=e.patternType});a.s=h}if(a.StyleID!==undefined)a.ixfe=a.StyleID}function ip(e){e.t=e.v||\\"\\";e.t=e.t.replace(/\\\\r\\\\n/g,\\"\\\\n\\").replace(/\\\\r/g,\\"\\\\n\\");e.v=e.w=e.ixfe=undefined}function sp(e){if(w&&Buffer.isBuffer(e))return e.toString(\\"utf8\\");if(typeof e===\\"string\\")return e;if(typeof Uint8Array!==\\"undefined\\"&&e instanceof Uint8Array)return Ye(y(A(e)));throw new Error(\\"Bad input format: expected Buffer or string\\")}var fp=/<(\\\\/?)([^\\\\s?><!\\\\/:]*:|)([^\\\\s?<>:\\\\/]+)(?:[\\\\s?:\\\\/][^>]*)?>/gm;function op(e,r){var t=r||{};F(D);var a=d(sp(e));if(t.type==\\"binary\\"||t.type==\\"array\\"||t.type==\\"base64\\"){if(typeof cptable!==\\"undefined\\")a=cptable.utils.decode(65001,c(a));else a=Ye(a)}var n=a.slice(0,1024).toLowerCase(),i=false;if(n.indexOf(\\"<?xml\\")==-1)[\\"html\\",\\"table\\",\\"head\\",\\"meta\\",\\"script\\",\\"style\\",\\"div\\"].forEach(function(e){if(n.indexOf(\\"<\\"+e)>=0)i=true});if(i)return rm.to_workbook(a,t);var s;var f=[],o;if(m!=null&&t.dense==null)t.dense=m;var l={},u=[],h=t.dense?[]:{},v=\\"\\";var p={},b={},g={};var w=Qv(\'<Data ss:Type=\\"String\\">\'),k=0;var E=0,S=0;var _={s:{r:2e6,c:2e6},e:{r:0,c:0}};var C={},B={};var T=\\"\\",y=0;var x=[];var A={},I={},R=0,O=[];var N=[],L={};var M=[],U,z=false;var H=[];var W=[],V={},X=0,G=0;var j={Sheets:[],WBProps:{date1904:false}},K={};fp.lastIndex=0;a=a.replace(/\x3c!--([\\\\s\\\\S]*?)--\x3e/gm,\\"\\");var $=\\"\\";while(s=fp.exec(a))switch(s[3]=($=s[3]).toLowerCase()){case\\"data\\":if($==\\"data\\"){if(s[1]===\\"/\\"){if((o=f.pop())[0]!==s[3])throw new Error(\\"Bad state: \\"+o.join(\\"|\\"))}else if(s[0].charAt(s[0].length-2)!==\\"/\\")f.push([s[3],true]);break}if(f[f.length-1][1])break;if(s[1]===\\"/\\")np(a.slice(k,s.index),T,w,f[f.length-1][0]==\\"comment\\"?L:b,{c:E,r:S},C,M[E],g,H,t);else{T=\\"\\";w=Qv(s[0]);k=s.index+s[0].length}break;case\\"cell\\":if(s[1]===\\"/\\"){if(N.length>0)b.c=N;if((!t.sheetRows||t.sheetRows>S)&&b.v!==undefined){if(t.dense){if(!h[S])h[S]=[];h[S][E]=b}else h[ht(E)+ot(S)]=b}if(b.HRef){b.l={Target:b.HRef};if(b.HRefScreenTip)b.l.Tooltip=b.HRefScreenTip;delete b.HRef;delete b.HRefScreenTip}if(b.MergeAcross||b.MergeDown){X=E+(parseInt(b.MergeAcross,10)|0);G=S+(parseInt(b.MergeDown,10)|0);x.push({s:{c:E,r:S},e:{c:X,r:G}})}if(!t.sheetStubs){if(b.MergeAcross)E=X+1;else++E}else if(b.MergeAcross||b.MergeDown){for(var Y=E;Y<=X;++Y){for(var Z=S;Z<=G;++Z){if(Y>E||Z>S){if(t.dense){if(!h[Z])h[Z]=[];h[Z][Y]={t:\\"z\\"}}else h[ht(Y)+ot(Z)]={t:\\"z\\"}}}}E=X+1}else++E}else{b=qv(s[0]);if(b.Index)E=+b.Index-1;if(E<_.s.c)_.s.c=E;if(E>_.e.c)_.e.c=E;if(s[0].slice(-2)===\\"/>\\")++E;N=[]}break;case\\"row\\":if(s[1]===\\"/\\"||s[0].slice(-2)===\\"/>\\"){if(S<_.s.r)_.s.r=S;if(S>_.e.r)_.e.r=S;if(s[0].slice(-2)===\\"/>\\"){g=Qv(s[0]);if(g.Index)S=+g.Index-1}E=0;++S}else{g=Qv(s[0]);if(g.Index)S=+g.Index-1;V={};if(g.AutoFitHeight==\\"0\\"||g.Height){V.hpx=parseInt(g.Height,10);V.hpt=Bo(V.hpx);W[S]=V}if(g.Hidden==\\"1\\"){V.hidden=true;W[S]=V}}break;case\\"worksheet\\":if(s[1]===\\"/\\"){if((o=f.pop())[0]!==s[3])throw new Error(\\"Bad state: \\"+o.join(\\"|\\"));u.push(v);if(_.s.r<=_.e.r&&_.s.c<=_.e.c){h[\\"!ref\\"]=wt(_);if(t.sheetRows&&t.sheetRows<=_.e.r){h[\\"!fullref\\"]=h[\\"!ref\\"];_.e.r=t.sheetRows-1;h[\\"!ref\\"]=wt(_)}}if(x.length)h[\\"!merges\\"]=x;if(M.length>0)h[\\"!cols\\"]=M;if(W.length>0)h[\\"!rows\\"]=W;l[v]=h}else{_={s:{r:2e6,c:2e6},e:{r:0,c:0}};S=E=0;f.push([s[3],false]);o=Qv(s[0]);v=Me(o.Name);h=t.dense?[]:{};x=[];H=[];W=[];K={name:v,Hidden:0};j.Sheets.push(K)}break;case\\"table\\":if(s[1]===\\"/\\"){if((o=f.pop())[0]!==s[3])throw new Error(\\"Bad state: \\"+o.join(\\"|\\"))}else if(s[0].slice(-2)==\\"/>\\")break;else{p=Qv(s[0]);f.push([s[3],false]);M=[];z=false}break;case\\"style\\":if(s[1]===\\"/\\")ap(C,B,t);else B=Qv(s[0]);break;case\\"numberformat\\":B.nf=Me(Qv(s[0]).Format||\\"General\\");if(P[B.nf])B.nf=P[B.nf];for(var J=0;J!=392;++J)if(D._table[J]==B.nf)break;if(J==392)for(J=57;J!=392;++J)if(D._table[J]==null){D.load(B.nf,J);break}break;case\\"column\\":if(f[f.length-1][0]!==\\"table\\")break;U=Qv(s[0]);if(U.Hidden){U.hidden=true;delete U.Hidden}if(U.Width)U.wpx=parseInt(U.Width,10);if(!z&&U.wpx>10){z=true;mo=ho;for(var Q=0;Q<M.length;++Q)if(M[Q])So(M[Q])}if(z)So(U);M[U.Index-1||M.length]=U;for(var q=0;q<+U.Span;++q)M[M.length]=ce(U);break;case\\"namedrange\\":if(s[1]===\\"/\\")break;if(!j.Names)j.Names=[];var ee=Fe(s[0]);var re={Name:ee.Name,Ref:nc(ee.RefersTo.slice(1),{r:0,c:0})};if(j.Sheets.length>0)re.Sheet=j.Sheets.length-1;j.Names.push(re);break;case\\"namedcell\\":break;case\\"b\\":break;case\\"i\\":break;case\\"u\\":break;case\\"s\\":break;case\\"em\\":break;case\\"h2\\":break;case\\"h3\\":break;case\\"sub\\":break;case\\"sup\\":break;case\\"span\\":break;case\\"alignment\\":break;case\\"borders\\":break;case\\"border\\":break;case\\"font\\":if(s[0].slice(-2)===\\"/>\\")break;else if(s[1]===\\"/\\")T+=a.slice(y,s.index);else y=s.index+s[0].length;break;case\\"interior\\":if(!t.cellStyles)break;B.Interior=Qv(s[0]);break;case\\"protection\\":break;case\\"author\\":;case\\"title\\":;case\\"description\\":;case\\"created\\":;case\\"keywords\\":;case\\"subject\\":;case\\"category\\":;case\\"company\\":;case\\"lastauthor\\":;case\\"lastsaved\\":;case\\"lastprinted\\":;case\\"version\\":;case\\"revision\\":;case\\"totaltime\\":;case\\"hyperlinkbase\\":;case\\"manager\\":;case\\"contentstatus\\":;case\\"identifier\\":;case\\"language\\":;case\\"appname\\":if(s[0].slice(-2)===\\"/>\\")break;else if(s[1]===\\"/\\")bn(A,$,a.slice(R,s.index));else R=s.index+s[0].length;break;case\\"paragraphs\\":break;case\\"styles\\":;case\\"workbook\\":if(s[1]===\\"/\\"){if((o=f.pop())[0]!==s[3])throw new Error(\\"Bad state: \\"+o.join(\\"|\\"))}else f.push([s[3],false]);break;case\\"comment\\":if(s[1]===\\"/\\"){if((o=f.pop())[0]!==s[3])throw new Error(\\"Bad state: \\"+o.join(\\"|\\"));ip(L);N.push(L)}else{f.push([s[3],false]);o=Qv(s[0]);L={a:o.Author}}break;case\\"autofilter\\":if(s[1]===\\"/\\"){if((o=f.pop())[0]!==s[3])throw new Error(\\"Bad state: \\"+o.join(\\"|\\"))}else if(s[0].charAt(s[0].length-2)!==\\"/\\"){var te=Qv(s[0]);h[\\"!autofilter\\"]={ref:nc(te.Range).replace(/\\\\$/g,\\"\\")};f.push([s[3],true])}break;case\\"name\\":break;case\\"datavalidation\\":if(s[1]===\\"/\\"){if((o=f.pop())[0]!==s[3])throw new Error(\\"Bad state: \\"+o.join(\\"|\\"))}else{if(s[0].charAt(s[0].length-2)!==\\"/\\")f.push([s[3],true])}break;case\\"pixelsperinch\\":break;case\\"componentoptions\\":;case\\"documentproperties\\":;case\\"customdocumentproperties\\":;case\\"officedocumentsettings\\":;case\\"pivottable\\":;case\\"pivotcache\\":;case\\"names\\":;case\\"mapinfo\\":;case\\"pagebreaks\\":;case\\"querytable\\":;case\\"sorting\\":;case\\"schema\\":;case\\"conditionalformatting\\":;case\\"smarttagtype\\":;case\\"smarttags\\":;case\\"excelworkbook\\":;case\\"workbookoptions\\":;case\\"worksheetoptions\\":if(s[1]===\\"/\\"){if((o=f.pop())[0]!==s[3])throw new Error(\\"Bad state: \\"+o.join(\\"|\\"))}else if(s[0].charAt(s[0].length-2)!==\\"/\\")f.push([s[3],true]);break;default:if(f.length==0&&s[3]==\\"document\\")return lm(a,t);if(f.length==0&&s[3]==\\"uof\\")return lm(a,t);var ae=true;switch(f[f.length-1][0]){case\\"officedocumentsettings\\":switch(s[3]){case\\"allowpng\\":break;case\\"removepersonalinformation\\":break;case\\"downloadcomponents\\":break;case\\"locationofcomponents\\":break;case\\"colors\\":break;case\\"color\\":break;case\\"index\\":break;case\\"rgb\\":break;case\\"targetscreensize\\":break;case\\"readonlyrecommended\\":break;default:ae=false;}break;case\\"componentoptions\\":switch(s[3]){case\\"toolbar\\":break;case\\"hideofficelogo\\":break;case\\"spreadsheetautofit\\":break;case\\"label\\":break;case\\"caption\\":break;case\\"maxheight\\":break;case\\"maxwidth\\":break;case\\"nextsheetnumber\\":break;default:ae=false;}break;case\\"excelworkbook\\":switch(s[3]){case\\"date1904\\":j.WBProps.date1904=true;break;case\\"windowheight\\":break;case\\"windowwidth\\":break;case\\"windowtopx\\":break;case\\"windowtopy\\":break;case\\"tabratio\\":break;case\\"protectstructure\\":break;case\\"protectwindow\\":break;case\\"protectwindows\\":break;case\\"activesheet\\":break;case\\"displayinknotes\\":break;case\\"firstvisiblesheet\\":break;case\\"supbook\\":break;case\\"sheetname\\":break;case\\"sheetindex\\":break;case\\"sheetindexfirst\\":break;case\\"sheetindexlast\\":break;case\\"dll\\":break;case\\"acceptlabelsinformulas\\":break;case\\"donotsavelinkvalues\\":break;case\\"iteration\\":break;case\\"maxiterations\\":break;case\\"maxchange\\":break;case\\"path\\":break;case\\"xct\\":break;case\\"count\\":break;case\\"selectedsheets\\":break;case\\"calculation\\":break;case\\"uncalced\\":break;case\\"startupprompt\\":break;case\\"crn\\":break;case\\"externname\\":break;case\\"formula\\":break;case\\"colfirst\\":break;case\\"collast\\":break;case\\"wantadvise\\":break;case\\"boolean\\":break;case\\"error\\":break;case\\"text\\":break;case\\"ole\\":break;case\\"noautorecover\\":break;case\\"publishobjects\\":break;case\\"donotcalculatebeforesave\\":break;case\\"number\\":break;case\\"refmoder1c1\\":break;case\\"embedsavesmarttags\\":break;default:ae=false;}break;case\\"workbookoptions\\":switch(s[3]){case\\"owcversion\\":break;case\\"height\\":break;case\\"width\\":break;default:ae=false;}break;case\\"worksheetoptions\\":switch(s[3]){case\\"visible\\":if(s[0].slice(-2)===\\"/>\\"){}else if(s[1]===\\"/\\")switch(a.slice(R,s.index)){case\\"SheetHidden\\":K.Hidden=1;break;case\\"SheetVeryHidden\\":K.Hidden=2;break;}else R=s.index+s[0].length;break;case\\"header\\":if(!h[\\"!margins\\"])dh(h[\\"!margins\\"]={},\\"xlml\\");h[\\"!margins\\"].header=Fe(s[0]).Margin;break;case\\"footer\\":if(!h[\\"!margins\\"])dh(h[\\"!margins\\"]={},\\"xlml\\");h[\\"!margins\\"].footer=Fe(s[0]).Margin;break;case\\"pagemargins\\":var ne=Fe(s[0]);if(!h[\\"!margins\\"])dh(h[\\"!margins\\"]={},\\"xlml\\");if(ne.Top)h[\\"!margins\\"].top=ne.Top;if(ne.Left)h[\\"!margins\\"].left=ne.Left;if(ne.Right)h[\\"!margins\\"].right=ne.Right;if(ne.Bottom)h[\\"!margins\\"].bottom=ne.Bottom;break;case\\"displayrighttoleft\\":if(!j.Views)j.Views=[];if(!j.Views[0])j.Views[0]={};j.Views[0].RTL=true;break;case\\"freezepanes\\":break;case\\"frozennosplit\\":break;case\\"splithorizontal\\":;case\\"splitvertical\\":break;case\\"donotdisplaygridlines\\":break;case\\"activerow\\":break;case\\"activecol\\":break;case\\"toprowbottompane\\":break;case\\"leftcolumnrightpane\\":break;case\\"unsynced\\":break;case\\"print\\":break;case\\"panes\\":break;case\\"scale\\":break;case\\"pane\\":break;case\\"number\\":break;case\\"layout\\":break;case\\"pagesetup\\":break;case\\"selected\\":break;case\\"protectobjects\\":break;case\\"enableselection\\":break;case\\"protectscenarios\\":break;case\\"validprinterinfo\\":break;case\\"horizontalresolution\\":break;case\\"verticalresolution\\":break;case\\"numberofcopies\\":break;case\\"activepane\\":break;case\\"toprowvisible\\":break;case\\"leftcolumnvisible\\":break;case\\"fittopage\\":break;case\\"rangeselection\\":break;case\\"papersizeindex\\":break;case\\"pagelayoutzoom\\":break;case\\"pagebreakzoom\\":break;case\\"filteron\\":break;case\\"fitwidth\\":break;case\\"fitheight\\":break;case\\"commentslayout\\":break;case\\"zoom\\":break;case\\"lefttoright\\":break;case\\"gridlines\\":break;case\\"allowsort\\":break;case\\"allowfilter\\":break;case\\"allowinsertrows\\":break;case\\"allowdeleterows\\":break;case\\"allowinsertcols\\":break;case\\"allowdeletecols\\":break;case\\"allowinserthyperlinks\\":break;case\\"allowformatcells\\":break;case\\"allowsizecols\\":break;case\\"allowsizerows\\":break;case\\"nosummaryrowsbelowdetail\\":break;case\\"tabcolorindex\\":break;case\\"donotdisplayheadings\\":break;case\\"showpagelayoutzoom\\":break;case\\"nosummarycolumnsrightdetail\\":break;case\\"blackandwhite\\":break;case\\"donotdisplayzeros\\":break;case\\"displaypagebreak\\":break;case\\"rowcolheadings\\":break;case\\"donotdisplayoutline\\":break;case\\"noorientation\\":break;case\\"allowusepivottables\\":break;case\\"zeroheight\\":break;case\\"viewablerange\\":break;case\\"selection\\":break;case\\"protectcontents\\":break;default:ae=false;}break;case\\"pivottable\\":;case\\"pivotcache\\":switch(s[3]){case\\"immediateitemsondrop\\":break;case\\"showpagemultipleitemlabel\\":break;case\\"compactrowindent\\":break;case\\"location\\":break;case\\"pivotfield\\":break;case\\"orientation\\":break;case\\"layoutform\\":break;case\\"layoutsubtotallocation\\":break;case\\"layoutcompactrow\\":break;case\\"position\\":break;case\\"pivotitem\\":break;case\\"datatype\\":break;case\\"datafield\\":break;case\\"sourcename\\":break;case\\"parentfield\\":break;case\\"ptlineitems\\":break;case\\"ptlineitem\\":break;case\\"countofsameitems\\":break;case\\"item\\":break;case\\"itemtype\\":break;case\\"ptsource\\":break;case\\"cacheindex\\":break;case\\"consolidationreference\\":break;case\\"filename\\":break;case\\"reference\\":break;case\\"nocolumngrand\\":break;case\\"norowgrand\\":break;case\\"blanklineafteritems\\":break;case\\"hidden\\":break;case\\"subtotal\\":break;case\\"basefield\\":break;case\\"mapchilditems\\":break;case\\"function\\":break;case\\"refreshonfileopen\\":break;case\\"printsettitles\\":break;case\\"mergelabels\\":break;case\\"defaultversion\\":break;case\\"refreshname\\":break;case\\"refreshdate\\":break;case\\"refreshdatecopy\\":break;case\\"versionlastrefresh\\":break;case\\"versionlastupdate\\":break;case\\"versionupdateablemin\\":break;case\\"versionrefreshablemin\\":break;case\\"calculation\\":break;default:ae=false;}break;case\\"pagebreaks\\":switch(s[3]){case\\"colbreaks\\":break;case\\"colbreak\\":\\nbreak;case\\"rowbreaks\\":break;case\\"rowbreak\\":break;case\\"colstart\\":break;case\\"colend\\":break;case\\"rowend\\":break;default:ae=false;}break;case\\"autofilter\\":switch(s[3]){case\\"autofiltercolumn\\":break;case\\"autofiltercondition\\":break;case\\"autofilterand\\":break;case\\"autofilteror\\":break;default:ae=false;}break;case\\"querytable\\":switch(s[3]){case\\"id\\":break;case\\"autoformatfont\\":break;case\\"autoformatpattern\\":break;case\\"querysource\\":break;case\\"querytype\\":break;case\\"enableredirections\\":break;case\\"refreshedinxl9\\":break;case\\"urlstring\\":break;case\\"htmltables\\":break;case\\"connection\\":break;case\\"commandtext\\":break;case\\"refreshinfo\\":break;case\\"notitles\\":break;case\\"nextid\\":break;case\\"columninfo\\":break;case\\"overwritecells\\":break;case\\"donotpromptforfile\\":break;case\\"textwizardsettings\\":break;case\\"source\\":break;case\\"number\\":break;case\\"decimal\\":break;case\\"thousandseparator\\":break;case\\"trailingminusnumbers\\":break;case\\"formatsettings\\":break;case\\"fieldtype\\":break;case\\"delimiters\\":break;case\\"tab\\":break;case\\"comma\\":break;case\\"autoformatname\\":break;case\\"versionlastedit\\":break;case\\"versionlastrefresh\\":break;default:ae=false;}break;case\\"datavalidation\\":switch(s[3]){case\\"range\\":break;case\\"type\\":break;case\\"min\\":break;case\\"max\\":break;case\\"sort\\":break;case\\"descending\\":break;case\\"order\\":break;case\\"casesensitive\\":break;case\\"value\\":break;case\\"errorstyle\\":break;case\\"errormessage\\":break;case\\"errortitle\\":break;case\\"inputmessage\\":break;case\\"inputtitle\\":break;case\\"combohide\\":break;case\\"inputhide\\":break;case\\"condition\\":break;case\\"qualifier\\":break;case\\"useblank\\":break;case\\"value1\\":break;case\\"value2\\":break;case\\"format\\":break;case\\"cellrangelist\\":break;default:ae=false;}break;case\\"sorting\\":;case\\"conditionalformatting\\":switch(s[3]){case\\"range\\":break;case\\"type\\":break;case\\"min\\":break;case\\"max\\":break;case\\"sort\\":break;case\\"descending\\":break;case\\"order\\":break;case\\"casesensitive\\":break;case\\"value\\":break;case\\"errorstyle\\":break;case\\"errormessage\\":break;case\\"errortitle\\":break;case\\"cellrangelist\\":break;case\\"inputmessage\\":break;case\\"inputtitle\\":break;case\\"combohide\\":break;case\\"inputhide\\":break;case\\"condition\\":break;case\\"qualifier\\":break;case\\"useblank\\":break;case\\"value1\\":break;case\\"value2\\":break;case\\"format\\":break;default:ae=false;}break;case\\"mapinfo\\":;case\\"schema\\":;case\\"data\\":switch(s[3]){case\\"map\\":break;case\\"entry\\":break;case\\"range\\":break;case\\"xpath\\":break;case\\"field\\":break;case\\"xsdtype\\":break;case\\"filteron\\":break;case\\"aggregate\\":break;case\\"elementtype\\":break;case\\"attributetype\\":break;case\\"schema\\":;case\\"element\\":;case\\"complextype\\":;case\\"datatype\\":;case\\"all\\":;case\\"attribute\\":;case\\"extends\\":break;case\\"row\\":break;default:ae=false;}break;case\\"smarttags\\":break;default:ae=false;break;}if(ae)break;if(s[3].match(/!\\\\[CDATA/))break;if(!f[f.length-1][1])throw\\"Unrecognized tag: \\"+s[3]+\\"|\\"+f.join(\\"|\\");if(f[f.length-1][0]===\\"customdocumentproperties\\"){if(s[0].slice(-2)===\\"/>\\")break;else if(s[1]===\\"/\\")rp(I,$,O,a.slice(R,s.index));else{O=s;R=s.index+s[0].length}break}if(t.WTF)throw\\"Unrecognized tag: \\"+s[3]+\\"|\\"+f.join(\\"|\\");}var ie={};if(!t.bookSheets&&!t.bookProps)ie.Sheets=l;ie.SheetNames=u;ie.Workbook=j;ie.SSF=D.get_table();ie.Props=A;ie.Custprops=I;return ie}function lp(e,r){Bm(r=r||{});switch(r.type||\\"base64\\"){case\\"base64\\":return op(g.decode(e),r);case\\"binary\\":;case\\"buffer\\":;case\\"file\\":return op(e,r);case\\"array\\":return op(y(e),r);}}function cp(e,r){var t=[];if(e.Props)t.push(gn(e.Props,r));if(e.Custprops)t.push(wn(e.Props,e.Custprops,r));return t.join(\\"\\")}function up(){return\\"\\"}function hp(e,r){var t=[\'<Style ss:ID=\\"Default\\" ss:Name=\\"Normal\\"><NumberFormat/></Style>\'];r.cellXfs.forEach(function(e,r){var a=[];a.push(lr(\\"NumberFormat\\",null,{\\"ss:Format\\":He(D._table[e.numFmtId])}));var n={\\"ss:ID\\":\\"s\\"+(21+r)};t.push(lr(\\"Style\\",a.join(\\"\\"),n))});return lr(\\"Styles\\",t.join(\\"\\"))}function dp(e){return lr(\\"NamedRange\\",null,{\\"ss:Name\\":e.Name,\\"ss:RefersTo\\":\\"=\\"+sc(e.Ref,{r:0,c:0})})}function vp(e){if(!((e||{}).Workbook||{}).Names)return\\"\\";var r=e.Workbook.Names;var t=[];for(var a=0;a<r.length;++a){var n=r[a];if(n.Sheet!=null)continue;if(n.Name.match(/^_xlfn\\\\./))continue;t.push(dp(n))}return lr(\\"Names\\",t.join(\\"\\"))}function pp(e,r,t,a){if(!e)return\\"\\";if(!((a||{}).Workbook||{}).Names)return\\"\\";var n=a.Workbook.Names;var i=[];for(var s=0;s<n.length;++s){var f=n[s];if(f.Sheet!=t)continue;if(f.Name.match(/^_xlfn\\\\./))continue;i.push(dp(f))}return i.join(\\"\\")}function mp(e,r,t,a){if(!e)return\\"\\";var n=[];if(e[\\"!margins\\"]){n.push(\\"<PageSetup>\\");if(e[\\"!margins\\"].header)n.push(lr(\\"Header\\",null,{\\"x:Margin\\":e[\\"!margins\\"].header}));if(e[\\"!margins\\"].footer)n.push(lr(\\"Footer\\",null,{\\"x:Margin\\":e[\\"!margins\\"].footer}));n.push(lr(\\"PageMargins\\",null,{\\"x:Bottom\\":e[\\"!margins\\"].bottom||\\"0.75\\",\\"x:Left\\":e[\\"!margins\\"].left||\\"0.7\\",\\"x:Right\\":e[\\"!margins\\"].right||\\"0.7\\",\\"x:Top\\":e[\\"!margins\\"].top||\\"0.75\\"}));n.push(\\"</PageSetup>\\")}if(a&&a.Workbook&&a.Workbook.Sheets&&a.Workbook.Sheets[t]){if(a.Workbook.Sheets[t].Hidden)n.push(lr(\\"Visible\\",a.Workbook.Sheets[t].Hidden==1?\\"SheetHidden\\":\\"SheetVeryHidden\\",{}));else{for(var i=0;i<t;++i)if(a.Workbook.Sheets[i]&&!a.Workbook.Sheets[i].Hidden)break;if(i==t)n.push(\\"<Selected/>\\")}}if(((((a||{}).Workbook||{}).Views||[])[0]||{}).RTL)n.push(\\"<DisplayRightToLeft/>\\");if(e[\\"!protect\\"]){n.push(fr(\\"ProtectContents\\",\\"True\\"));if(e[\\"!protect\\"].objects)n.push(fr(\\"ProtectObjects\\",\\"True\\"));if(e[\\"!protect\\"].scenarios)n.push(fr(\\"ProtectScenarios\\",\\"True\\"));if(e[\\"!protect\\"].selectLockedCells!=null&&!e[\\"!protect\\"].selectLockedCells)n.push(fr(\\"EnableSelection\\",\\"NoSelection\\"));else if(e[\\"!protect\\"].selectUnlockedCells!=null&&!e[\\"!protect\\"].selectUnlockedCells)n.push(fr(\\"EnableSelection\\",\\"UnlockedCells\\"));[[\\"formatCells\\",\\"AllowFormatCells\\"],[\\"formatColumns\\",\\"AllowSizeCols\\"],[\\"formatRows\\",\\"AllowSizeRows\\"],[\\"insertColumns\\",\\"AllowInsertCols\\"],[\\"insertRows\\",\\"AllowInsertRows\\"],[\\"insertHyperlinks\\",\\"AllowInsertHyperlinks\\"],[\\"deleteColumns\\",\\"AllowDeleteCols\\"],[\\"deleteRows\\",\\"AllowDeleteRows\\"],[\\"sort\\",\\"AllowSort\\"],[\\"autoFilter\\",\\"AllowFilter\\"],[\\"pivotTables\\",\\"AllowUsePivotTables\\"]].forEach(function(r){if(e[\\"!protect\\"][r[0]])n.push(\\"<\\"+r[1]+\\"/>\\")})}if(n.length==0)return\\"\\";return lr(\\"WorksheetOptions\\",n.join(\\"\\"),{xmlns:dr.x})}function bp(e){return e.map(function(e){var r=Ke(e.t||\\"\\");var t=lr(\\"ss:Data\\",r,{xmlns:\\"http://www.w3.org/TR/REC-html40\\"});return lr(\\"Comment\\",t,{\\"ss:Author\\":e.a})}).join(\\"\\")}function gp(e,r,t,a,n,i,s){if(!e||e.v==undefined&&e.f==undefined)return\\"\\";var f={};if(e.f)f[\\"ss:Formula\\"]=\\"=\\"+He(sc(e.f,s));if(e.F&&e.F.slice(0,r.length)==r){var o=mt(e.F.slice(r.length+1));f[\\"ss:ArrayRange\\"]=\\"RC:R\\"+(o.r==s.r?\\"\\":\\"[\\"+(o.r-s.r)+\\"]\\")+\\"C\\"+(o.c==s.c?\\"\\":\\"[\\"+(o.c-s.c)+\\"]\\")}if(e.l&&e.l.Target){f[\\"ss:HRef\\"]=He(e.l.Target);if(e.l.Tooltip)f[\\"x:HRefScreenTip\\"]=He(e.l.Tooltip)}if(t[\\"!merges\\"]){var l=t[\\"!merges\\"];for(var c=0;c!=l.length;++c){if(l[c].s.c!=s.c||l[c].s.r!=s.r)continue;if(l[c].e.c>l[c].s.c)f[\\"ss:MergeAcross\\"]=l[c].e.c-l[c].s.c;if(l[c].e.r>l[c].s.r)f[\\"ss:MergeDown\\"]=l[c].e.r-l[c].s.r}}var u=\\"\\",h=\\"\\";switch(e.t){case\\"z\\":if(!a.sheetStubs)return\\"\\";break;case\\"n\\":u=\\"Number\\";h=String(e.v);break;case\\"b\\":u=\\"Boolean\\";h=e.v?\\"1\\":\\"0\\";break;case\\"e\\":u=\\"Error\\";h=xa[e.v];break;case\\"d\\":u=\\"DateTime\\";h=new Date(e.v).toISOString();if(e.z==null)e.z=e.z||D._table[14];break;case\\"s\\":u=\\"String\\";h=Ge(e.v||\\"\\");break;}var d=vh(a.cellXfs,e,a);f[\\"ss:StyleID\\"]=\\"s\\"+(21+d);f[\\"ss:Index\\"]=s.c+1;var v=e.v!=null?h:\\"\\";var p=e.t==\\"z\\"?\\"\\":\'<Data ss:Type=\\"\'+u+\'\\">\'+v+\\"</Data>\\";if((e.c||[]).length>0)p+=bp(e.c);return lr(\\"Cell\\",p,f)}function wp(e,r){var t=\'<Row ss:Index=\\"\'+(e+1)+\'\\"\';if(r){if(r.hpt&&!r.hpx)r.hpx=To(r.hpt);if(r.hpx)t+=\' ss:AutoFitHeight=\\"0\\" ss:Height=\\"\'+r.hpx+\'\\"\';if(r.hidden)t+=\' ss:Hidden=\\"1\\"\'}return t+\\">\\"}function kp(e,r,t,a){if(!e[\\"!ref\\"])return\\"\\";var n=kt(e[\\"!ref\\"]);var i=e[\\"!merges\\"]||[],s=0;var f=[];if(e[\\"!cols\\"])e[\\"!cols\\"].forEach(function(e,r){So(e);var t=!!e.width;var a=hh(r,e);var n={\\"ss:Index\\":r+1};if(t)n[\\"ss:Width\\"]=bo(a.width);if(e.hidden)n[\\"ss:Hidden\\"]=\\"1\\";f.push(lr(\\"Column\\",null,n))});var o=Array.isArray(e);for(var l=n.s.r;l<=n.e.r;++l){var c=[wp(l,(e[\\"!rows\\"]||[])[l])];for(var u=n.s.c;u<=n.e.c;++u){var h=false;for(s=0;s!=i.length;++s){if(i[s].s.c>u)continue;if(i[s].s.r>l)continue;if(i[s].e.c<u)continue;if(i[s].e.r<l)continue;if(i[s].s.c!=u||i[s].s.r!=l)h=true;break}if(h)continue;var d={r:l,c:u};var v=bt(d),p=o?(e[l]||[])[u]:e[v];c.push(gp(p,v,e,r,t,a,d))}c.push(\\"</Row>\\");if(c.length>2)f.push(c.join(\\"\\"))}return f.join(\\"\\")}function Ep(e,r,t){var a=[];var n=t.SheetNames[e];var i=t.Sheets[n];var s=i?pp(i,r,e,t):\\"\\";if(s.length>0)a.push(\\"<Names>\\"+s+\\"</Names>\\");s=i?kp(i,r,e,t):\\"\\";if(s.length>0)a.push(\\"<Table>\\"+s+\\"</Table>\\");a.push(mp(i,r,e,t));return a.join(\\"\\")}function Sp(e,r){if(!r)r={};if(!e.SSF)e.SSF=D.get_table();if(e.SSF){F(D);D.load_table(e.SSF);r.revssf=J(e.SSF);r.revssf[e.SSF[65535]]=0;r.ssf=e.SSF;r.cellXfs=[];vh(r.cellXfs,{},{revssf:{General:0}})}var t=[];t.push(cp(e,r));t.push(up(e,r));t.push(\\"\\");t.push(\\"\\");for(var a=0;a<e.SheetNames.length;++a)t.push(lr(\\"Worksheet\\",Ep(a,r,e),{\\"ss:Name\\":He(e.SheetNames[a])}));t[2]=hp(e,r);t[3]=vp(e,r);return Ae+lr(\\"Workbook\\",t.join(\\"\\"),{xmlns:dr.ss,\\"xmlns:o\\":dr.o,\\"xmlns:x\\":dr.x,\\"xmlns:ss\\":dr.ss,\\"xmlns:dt\\":dr.dt,\\"xmlns:html\\":dr.html})}function _p(e){var r={};var t=e.content;t.l=28;r.AnsiUserType=t._R(0,\\"lpstr-ansi\\");r.AnsiClipboardFormat=aa(t);if(t.length-t.l<=4)return r;var a=t._R(4);if(a==0||a>40)return r;t.l-=4;r.Reserved1=t._R(0,\\"lpstr-ansi\\");if(t.length-t.l<=4)return r;a=t._R(4);if(a!==1907505652)return r;r.UnicodeClipboardFormat=na(t);a=t._R(4);if(a==0||a>40)return r;t.l-=4;r.Reserved2=t._R(0,\\"lpwstr\\")}function Cp(e,r,t,a){var n=t;var i=[];var s=r.slice(r.l,r.l+n);if(a&&a.enc&&a.enc.insitu)switch(e.n){case\\"BOF\\":;case\\"FilePass\\":;case\\"FileLock\\":;case\\"InterfaceHdr\\":;case\\"RRDInfo\\":;case\\"RRDHead\\":;case\\"UsrExcl\\":break;default:if(s.length===0)break;a.enc.insitu(s);}i.push(s);r.l+=n;var f=Pp[Mr(r,r.l)];var o=0;while(f!=null&&f.n.slice(0,8)===\\"Continue\\"){n=Mr(r,r.l+2);o=r.l+4;if(f.n==\\"ContinueFrt\\")o+=4;else if(f.n.slice(0,11)==\\"ContinueFrt\\")o+=12;i.push(r.slice(o,r.l+4+n));r.l+=4+n;f=Pp[Mr(r,r.l)]}var l=I(i);Yr(l,0);var c=0;l.lens=[];for(var u=0;u<i.length;++u){l.lens.push(c);c+=i[u].length}return e.f(l,l.length,a)}function Bp(e,r,t){if(e.t===\\"z\\")return;if(!e.XF)return;var a=0;try{a=e.z||e.XF.numFmtId||0;if(r.cellNF)e.z=D._table[a]}catch(n){if(r.WTF)throw n}if(!r||r.cellText!==false)try{if(e.t===\\"e\\"){e.w=e.w||xa[e.v]}else if(a===0||a==\\"General\\"){if(e.t===\\"n\\"){if((e.v|0)===e.v)e.w=D._general_int(e.v);else e.w=D._general_num(e.v)}else e.w=D._general(e.v)}else e.w=D.format(a,e.v,{date1904:!!t})}catch(n){if(r.WTF)throw n}if(r.cellDates&&a&&e.t==\\"n\\"&&D.is_date(D._table[a]||String(a))){var i=D.parse_date_code(e.v);if(i){e.t=\\"d\\";e.v=new Date(i.y,i.m-1,i.d,i.H,i.M,i.S,i.u)}}}function Tp(e,r,t){return{v:e,ixfe:r,t:t}}function yp(e,r){var t={opts:{}};var a={};if(m!=null&&r.dense==null)r.dense=m;var n=r.dense?[]:{};var i={};var s={};var f=null;var l=[];var c=\\"\\";var u={};var h,d=\\"\\",v,p,b,g;var w={};var k=[];var E;var S;var _=true;var C=[];var B=[];var T={Sheets:[],WBProps:{date1904:false},Views:[{}]},y={};var x=function we(e){if(e<8)return ya[e];if(e<64)return B[e-8]||ya[e];return ya[e]};var A=function ke(e,r,t){var a=r.XF.data;if(!a||!a.patternType||!t||!t.cellStyles)return;r.s={};r.s.patternType=a.patternType;var n;if(n=oo(x(a.icvFore))){r.s.fgColor={rgb:n}}if(n=oo(x(a.icvBack))){r.s.bgColor={rgb:n}}};var I=function Ee(e,r,t){if(V>1)return;if(t.sheetRows&&e.r>=t.sheetRows)_=false;if(!_)return;if(t.cellStyles&&r.XF&&r.XF.data)A(e,r,t);delete r.ixfe;delete r.XF;h=e;d=bt(e);if(!s||!s.s||!s.e)s={s:{r:0,c:0},e:{r:0,c:0}};if(e.r<s.s.r)s.s.r=e.r;if(e.c<s.s.c)s.s.c=e.c;if(e.r+1>s.e.r)s.e.r=e.r+1;if(e.c+1>s.e.c)s.e.c=e.c+1;if(t.cellFormula&&r.f){for(var a=0;a<k.length;++a){if(k[a][0].s.c>e.c||k[a][0].s.r>e.r)continue;if(k[a][0].e.c<e.c||k[a][0].e.r<e.r)continue;r.F=wt(k[a][0]);if(k[a][0].s.c!=e.c||k[a][0].s.r!=e.r)delete r.f;if(r.f)r.f=\\"\\"+zu(k[a][1],s,e,H,R);break}}{if(t.dense){if(!n[e.r])n[e.r]=[];n[e.r][e.c]=r}else n[d]=r}};var R={enc:false,sbcch:0,snames:[],sharedf:w,arrayf:k,rrtabid:[],lastuser:\\"\\",biff:8,codepage:0,winlocked:0,cellStyles:!!r&&!!r.cellStyles,WTF:!!r&&!!r.wtf};if(r.password)R.password=r.password;var O;var F=[];var P=[];var N=[],L=[];var M=0,U=0;var z=false;var H=[];H.SheetNames=R.snames;H.sharedf=R.sharedf;H.arrayf=R.arrayf;H.names=[];H.XTI=[];var W=\\"\\";var V=0;var X=0,G=[];var j=[];var $;R.codepage=1200;o(1200);var Y=false;while(e.l<e.length-1){var Z=e.l;var J=e._R(2);if(J===0&&W===\\"EOF\\")break;var Q=e.l===e.length?0:e._R(2);var q=Pp[J];if(q&&q.f){if(r.bookSheets){if(W===\\"BoundSheet8\\"&&q.n!==\\"BoundSheet8\\")break}W=q.n;if(q.r===2||q.r==12){var ee=e._R(2);Q-=2;if(!R.enc&&ee!==J&&((ee&255)<<8|ee>>8)!==J)throw new Error(\\"rt mismatch: \\"+ee+\\"!=\\"+J);if(q.r==12){e.l+=10;Q-=10}}var re={};if(q.n===\\"EOF\\")re=q.f(e,Q,R);else re=Cp(q,e,Q,R);var te=q.n;if(V==0&&te!=\\"BOF\\")continue;switch(te){case\\"Date1904\\":t.opts.Date1904=T.WBProps.date1904=re;break;case\\"WriteProtect\\":t.opts.WriteProtect=true;break;case\\"FilePass\\":if(!R.enc)e.l=0;R.enc=re;if(!r.password)throw new Error(\\"File is password-protected\\");if(re.valid==null)throw new Error(\\"Encryption scheme unsupported\\");if(!re.valid)throw new Error(\\"Password is incorrect\\");break;case\\"WriteAccess\\":R.lastuser=re;break;case\\"FileSharing\\":break;case\\"CodePage\\":var ae=Number(re);switch(ae){case 21010:ae=1200;break;case 32768:ae=1e4;break;case 32769:ae=1252;break;}o(R.codepage=ae);Y=true;break;case\\"RRTabId\\":R.rrtabid=re;break;case\\"WinProtect\\":R.winlocked=re;break;case\\"Template\\":break;case\\"BookBool\\":break;case\\"UsesELFs\\":break;case\\"MTRSettings\\":break;case\\"RefreshAll\\":;case\\"CalcCount\\":;case\\"CalcDelta\\":;case\\"CalcIter\\":;case\\"CalcMode\\":;case\\"CalcPrecision\\":;case\\"CalcSaveRecalc\\":t.opts[te]=re;break;case\\"CalcRefMode\\":R.CalcRefMode=re;break;case\\"Uncalced\\":break;case\\"ForceFullCalculation\\":t.opts.FullCalc=re;break;case\\"WsBool\\":if(re.fDialog)n[\\"!type\\"]=\\"dialog\\";break;case\\"XF\\":C.push(re);break;case\\"ExtSST\\":break;case\\"BookExt\\":break;case\\"RichTextStream\\":break;case\\"BkHim\\":break;case\\"SupBook\\":H.push([re]);H[H.length-1].XTI=[];break;case\\"ExternName\\":H[H.length-1].push(re);break;case\\"Index\\":break;case\\"Lbl\\":$={Name:re.Name,Ref:zu(re.rgce,s,null,H,R)};if(re.itab>0)$.Sheet=re.itab-1;H.names.push($);if(!H[0]){H[0]=[];H[0].XTI=[]}H[H.length-1].push(re);if(re.Name==\\"_xlnm._FilterDatabase\\"&&re.itab>0)if(re.rgce&&re.rgce[0]&&re.rgce[0][0]&&re.rgce[0][0][0]==\\"PtgArea3d\\")j[re.itab-1]={ref:wt(re.rgce[0][0][1][2])};break;case\\"ExternCount\\":R.ExternCount=re;break;case\\"ExternSheet\\":if(H.length==0){H[0]=[];H[0].XTI=[]}H[H.length-1].XTI=H[H.length-1].XTI.concat(re);H.XTI=H.XTI.concat(re);break;case\\"NameCmt\\":if(R.biff<8)break;if($!=null)$.Comment=re[1];break;case\\"Protect\\":n[\\"!protect\\"]=re;break;case\\"Password\\":if(re!==0&&R.WTF)console.error(\\"Password verifier: \\"+re);break;case\\"Prot4Rev\\":;case\\"Prot4RevPass\\":break;case\\"BoundSheet8\\":{i[re.pos]=re;R.snames.push(re.name)}break;case\\"EOF\\":{if(--V)break;if(s.e){if(s.e.r>0&&s.e.c>0){s.e.r--;s.e.c--;n[\\"!ref\\"]=wt(s);if(r.sheetRows&&r.sheetRows<=s.e.r){var ne=s.e.r;s.e.r=r.sheetRows-1;n[\\"!fullref\\"]=n[\\"!ref\\"];n[\\"!ref\\"]=wt(s);s.e.r=ne}s.e.r++;s.e.c++}if(F.length>0)n[\\"!merges\\"]=F;if(P.length>0)n[\\"!objects\\"]=P;if(N.length>0)n[\\"!cols\\"]=N;if(L.length>0)n[\\"!rows\\"]=L;T.Sheets.push(y)}if(c===\\"\\")u=n;else a[c]=n;n=r.dense?[]:{}}break;case\\"BOF\\":{if(R.biff===8)R.biff={9:2,521:3,1033:4}[J]||{512:2,768:3,1024:4,1280:5,1536:8,2:2,7:2}[re.BIFFVer]||8;if(R.biff==8&&re.BIFFVer==0&&re.dt==16)R.biff=2;if(V++)break;_=true;n=r.dense?[]:{};if(R.biff<8&&!Y){Y=true;o(R.codepage=r.codepage||1252)}if(R.biff<5){if(c===\\"\\")c=\\"Sheet1\\";s={s:{r:0,c:0},e:{r:0,c:0}};var ie={pos:e.l-Q,name:c};i[ie.pos]=ie;R.snames.push(c)}else c=(i[Z]||{name:\\"\\"}).name;if(re.dt==32)n[\\"!type\\"]=\\"chart\\";if(re.dt==64)n[\\"!type\\"]=\\"macro\\";F=[];P=[];R.arrayf=k=[];N=[];L=[];M=U=0;z=false;y={Hidden:(i[Z]||{hs:0}).hs,name:c}}break;case\\"Number\\":;case\\"BIFF2NUM\\":;case\\"BIFF2INT\\":{if(n[\\"!type\\"]==\\"chart\\")if(r.dense?(n[re.r]||[])[re.c]:n[bt({c:re.c,r:re.r})])++re.c;E={ixfe:re.ixfe,XF:C[re.ixfe]||{},v:re.val,t:\\"n\\"};if(X>0)E.z=G[E.ixfe>>8&31];Bp(E,r,t.opts.Date1904);I({c:re.c,r:re.r},E,r)}break;case\\"BoolErr\\":{E={ixfe:re.ixfe,XF:C[re.ixfe],v:re.val,t:re.t};if(X>0)E.z=G[E.ixfe>>8&31];Bp(E,r,t.opts.Date1904);I({c:re.c,r:re.r},E,r)}break;case\\"RK\\":{E={ixfe:re.ixfe,XF:C[re.ixfe],v:re.rknum,t:\\"n\\"};if(X>0)E.z=G[E.ixfe>>8&31];Bp(E,r,t.opts.Date1904);I({c:re.c,r:re.r},E,r)}break;case\\"MulRk\\":{for(var se=re.c;se<=re.C;++se){var fe=re.rkrec[se-re.c][0];E={ixfe:fe,XF:C[fe],v:re.rkrec[se-re.c][1],t:\\"n\\"};if(X>0)E.z=G[E.ixfe>>8&31];Bp(E,r,t.opts.Date1904);I({c:se,r:re.r},E,r)}}break;case\\"Formula\\":{if(re.val==\\"String\\"){f=re;break}E=Tp(re.val,re.cell.ixfe,re.tt);E.XF=C[E.ixfe];if(r.cellFormula){var oe=re.formula;if(oe&&oe[0]&&oe[0][0]&&oe[0][0][0]==\\"PtgExp\\"){var le=oe[0][0][1][0],ce=oe[0][0][1][1];var ue=bt({r:le,c:ce});if(w[ue])E.f=\\"\\"+zu(re.formula,s,re.cell,H,R);else E.F=((r.dense?(n[le]||[])[ce]:n[ue])||{}).F}else E.f=\\"\\"+zu(re.formula,s,re.cell,H,R)}if(X>0)E.z=G[E.ixfe>>8&31];Bp(E,r,t.opts.Date1904);I(re.cell,E,r);f=re}break;case\\"String\\":{if(f){f.val=re;E=Tp(re,f.cell.ixfe,\\"s\\");E.XF=C[E.ixfe];if(r.cellFormula){E.f=\\"\\"+zu(f.formula,s,f.cell,H,R)}if(X>0)E.z=G[E.ixfe>>8&31];Bp(E,r,t.opts.Date1904);I(f.cell,E,r);f=null}else throw new Error(\\"String record expects Formula\\")}break;case\\"Array\\":{k.push(re);var he=bt(re[0].s);v=r.dense?(n[re[0].s.r]||[])[re[0].s.c]:n[he];if(r.cellFormula&&v){if(!f)break;if(!he||!v)break;v.f=\\"\\"+zu(re[1],s,re[0],H,R);v.F=wt(re[0])}}break;case\\"ShrFmla\\":{if(!_)break;if(!r.cellFormula)break;if(d){if(!f)break;w[bt(f.cell)]=re[0];v=r.dense?(n[f.cell.r]||[])[f.cell.c]:n[bt(f.cell)];(v||{}).f=\\"\\"+zu(re[0],s,h,H,R)}}break;case\\"LabelSst\\":E=Tp(l[re.isst].t,re.ixfe,\\"s\\");if(l[re.isst].h)E.h=l[re.isst].h;E.XF=C[E.ixfe];if(X>0)E.z=G[E.ixfe>>8&31];Bp(E,r,t.opts.Date1904);I({c:re.c,r:re.r},E,r);break;case\\"Blank\\":if(r.sheetStubs){E={ixfe:re.ixfe,XF:C[re.ixfe],t:\\"z\\"};if(X>0)E.z=G[E.ixfe>>8&31];Bp(E,r,t.opts.Date1904);I({c:re.c,r:re.r},E,r)}break;case\\"MulBlank\\":if(r.sheetStubs){for(var de=re.c;de<=re.C;++de){var ve=re.ixfe[de-re.c];E={ixfe:ve,XF:C[ve],t:\\"z\\"};if(X>0)E.z=G[E.ixfe>>8&31];Bp(E,r,t.opts.Date1904);I({c:de,r:re.r},E,r)}}break;case\\"RString\\":;case\\"Label\\":;case\\"BIFF2STR\\":E=Tp(re.val,re.ixfe,\\"s\\");E.XF=C[E.ixfe];if(X>0)E.z=G[E.ixfe>>8&31];Bp(E,r,t.opts.Date1904);I({c:re.c,r:re.r},E,r);break;case\\"Dimensions\\":{if(V===1)s=re}break;case\\"SST\\":{l=re}break;case\\"Format\\":{if(R.biff==4){G[X++]=re[1];for(var pe=0;pe<X+163;++pe)if(D._table[pe]==re[1])break;if(pe>=163)D.load(re[1],X+163)}else D.load(re[1],re[0])}break;case\\"BIFF2FORMAT\\":{G[X++]=re;for(var me=0;me<X+163;++me)if(D._table[me]==re)break;if(me>=163)D.load(re,X+163)}break;case\\"MergeCells\\":F=F.concat(re);break;case\\"Obj\\":P[re.cmo[0]]=R.lastobj=re;break;case\\"TxO\\":R.lastobj.TxO=re;break;case\\"ImData\\":R.lastobj.ImData=re;break;case\\"HLink\\":{for(g=re[0].s.r;g<=re[0].e.r;++g)for(b=re[0].s.c;b<=re[0].e.c;++b){v=r.dense?(n[g]||[])[b]:n[bt({c:b,r:g})];if(v)v.l=re[1]}}break;case\\"HLinkTooltip\\":{for(g=re[0].s.r;g<=re[0].e.r;++g)for(b=re[0].s.c;b<=re[0].e.c;++b){v=r.dense?(n[g]||[])[b]:n[bt({c:b,r:g})];if(v&&v.l)v.l.Tooltip=re[1]}}break;case\\"Note\\":{if(R.biff<=5&&R.biff>=2)break;v=r.dense?(n[re[0].r]||[])[re[0].c]:n[bt(re[0])];var be=P[re[2]];if(!v){if(r.dense){if(!n[re[0].r])n[re[0].r]=[];v=n[re[0].r][re[0].c]={t:\\"z\\"}}else{v=n[bt(re[0])]={t:\\"z\\"}}s.e.r=Math.max(s.e.r,re[0].r);s.s.r=Math.min(s.s.r,re[0].r);s.e.c=Math.max(s.e.c,re[0].c);s.s.c=Math.min(s.s.c,re[0].c)}if(!v.c)v.c=[];p={a:re[1],t:be.TxO.t};v.c.push(p)}break;default:switch(q.n){case\\"ClrtClient\\":break;case\\"XFExt\\":Rl(C[re.ixfe],re.ext);break;case\\"DefColWidth\\":M=re;break;case\\"DefaultRowHeight\\":U=re[1];break;case\\"ColInfo\\":{if(!R.cellStyles)break;while(re.e>=re.s){N[re.e--]={width:re.w/256};if(!z){z=true;Eo(re.w/256)}So(N[re.e+1])}}break;case\\"Row\\":{var ge={};if(re.level!=null){L[re.r]=ge;ge.level=re.level}if(re.hidden){L[re.r]=ge;ge.hidden=true}if(re.hpt){L[re.r]=ge;ge.hpt=re.hpt;ge.hpx=To(re.hpt)}}break;case\\"LeftMargin\\":;case\\"RightMargin\\":;case\\"TopMargin\\":;case\\"BottomMargin\\":if(!n[\\"!margins\\"])dh(n[\\"!margins\\"]={});n[\\"!margins\\"][te.slice(0,-6).toLowerCase()]=re;break;case\\"Setup\\":if(!n[\\"!margins\\"])dh(n[\\"!margins\\"]={});n[\\"!margins\\"].header=re.header;n[\\"!margins\\"].footer=re.footer;break;case\\"Window2\\":if(re.RTL)T.Views[0].RTL=true;break;case\\"Header\\":break;case\\"Footer\\":break;case\\"HCenter\\":break;case\\"VCenter\\":break;case\\"Pls\\":break;case\\"GCW\\":break;case\\"LHRecord\\":break;case\\"DBCell\\":break;case\\"EntExU2\\":break;case\\"SxView\\":break;case\\"Sxvd\\":break;case\\"SXVI\\":break;case\\"SXVDEx\\":break;case\\"SxIvd\\":break;case\\"SXString\\":break;case\\"Sync\\":break;case\\"Addin\\":break;case\\"SXDI\\":break;case\\"SXLI\\":break;case\\"SXEx\\":break;case\\"QsiSXTag\\":break;case\\"Selection\\":break;case\\"Feat\\":break;case\\"FeatHdr\\":;case\\"FeatHdr11\\":break;case\\"Feature11\\":;case\\"Feature12\\":;case\\"List12\\":break;case\\"Country\\":S=re;break;case\\"RecalcId\\":break;case\\"DxGCol\\":break;case\\"Fbi\\":;case\\"Fbi2\\":;case\\"GelFrame\\":break;case\\"Font\\":break;case\\"XFCRC\\":break;case\\"Style\\":break;case\\"StyleExt\\":break;case\\"Palette\\":B=re;break;case\\"Theme\\":O=re;break;case\\"ScenarioProtect\\":break;case\\"ObjProtect\\":break;case\\"CondFmt12\\":break;case\\"Table\\":break;case\\"TableStyles\\":break;case\\"TableStyle\\":break;case\\"TableStyleElement\\":break;case\\"SXStreamID\\":break;case\\"SXVS\\":break;case\\"DConRef\\":break;case\\"SXAddl\\":break;case\\"DConBin\\":break;case\\"DConName\\":break;case\\"SXPI\\":break;case\\"SxFormat\\":break;case\\"SxSelect\\":break;case\\"SxRule\\":break;case\\"SxFilt\\":break;case\\"SxItm\\":break;case\\"SxDXF\\":break;case\\"ScenMan\\":break;case\\"DCon\\":break;case\\"CellWatch\\":break;case\\"PrintRowCol\\":break;case\\"PrintGrid\\":break;case\\"PrintSize\\":break;case\\"XCT\\":break;case\\"CRN\\":break;case\\"Scl\\":{}break;case\\"SheetExt\\":{}break;case\\"SheetExtOptional\\":{}break;case\\"ObNoMacros\\":{}break;case\\"ObProj\\":{}break;case\\"CodeName\\":{if(!c)T.WBProps.CodeName=re||\\"ThisWorkbook\\";else y.CodeName=re||y.name}break;case\\"GUIDTypeLib\\":{}break;case\\"WOpt\\":break;case\\"PhoneticInfo\\":break;case\\"OleObjectSize\\":break;case\\"DXF\\":;case\\"DXFN\\":;case\\"DXFN12\\":;case\\"DXFN12List\\":;case\\"DXFN12NoCB\\":break;case\\"Dv\\":;case\\"DVal\\":break;case\\"BRAI\\":;case\\"Series\\":;case\\"SeriesText\\":break;case\\"DConn\\":break;case\\"DbOrParamQry\\":break;case\\"DBQueryExt\\":break;case\\"OleDbConn\\":break;case\\"ExtString\\":break;case\\"IFmtRecord\\":break;case\\"CondFmt\\":;case\\"CF\\":;case\\"CF12\\":;case\\"CFEx\\":break;case\\"Excel9File\\":break;case\\"Units\\":break;case\\"InterfaceHdr\\":;case\\"Mms\\":;case\\"InterfaceEnd\\":;case\\"DSF\\":break;case\\"BuiltInFnGroupCount\\":break;case\\"Window1\\":;case\\"HideObj\\":;case\\"GridSet\\":;case\\"Guts\\":;case\\"UserBView\\":;case\\"UserSViewBegin\\":;case\\"UserSViewEnd\\":break;case\\"Pane\\":break;default:switch(q.n){case\\"Dat\\":;case\\"Begin\\":;case\\"End\\":;case\\"StartBlock\\":;case\\"EndBlock\\":;case\\"Frame\\":;case\\"Area\\":;case\\"Axis\\":;case\\"AxisLine\\":;case\\"Tick\\":break;case\\"AxesUsed\\":;case\\"CrtLayout12\\":;case\\"CrtLayout12A\\":;case\\"CrtLink\\":;case\\"CrtLine\\":;case\\"CrtMlFrt\\":;case\\"CrtMlFrtContinue\\":break;case\\"LineFormat\\":;case\\"AreaFormat\\":;case\\"Chart\\":;case\\"Chart3d\\":;case\\"Chart3DBarShape\\":;case\\"ChartFormat\\":;case\\"ChartFrtInfo\\":break;case\\"PlotArea\\":;case\\"PlotGrowth\\":break;case\\"SeriesList\\":;case\\"SerParent\\":;case\\"SerAuxTrend\\":break;case\\"DataFormat\\":;case\\"SerToCrt\\":;case\\"FontX\\":break;case\\"CatSerRange\\":;case\\"AxcExt\\":;case\\"SerFmt\\":break;case\\"ShtProps\\":break;case\\"DefaultText\\":;case\\"Text\\":;case\\"CatLab\\":break;case\\"DataLabExtContents\\":break;case\\"Legend\\":;case\\"LegendException\\":break;case\\"Pie\\":;case\\"Scatter\\":break;case\\"PieFormat\\":;case\\"MarkerFormat\\":break;case\\"StartObject\\":;case\\"EndObject\\":break;case\\"AlRuns\\":;case\\"ObjectLink\\":break;case\\"SIIndex\\":break;case\\"AttachedLabel\\":;case\\"YMult\\":break;case\\"Line\\":;case\\"Bar\\":break;case\\"Surf\\":break;case\\"AxisParent\\":break;case\\"Pos\\":break;case\\"ValueRange\\":break;case\\"SXViewEx9\\":break;case\\"SXViewLink\\":break;case\\"PivotChartBits\\":break;case\\"SBaseRef\\":break;case\\"TextPropsStream\\":break;case\\"LnExt\\":break;case\\"MkrExt\\":break;case\\"CrtCoopt\\":break;case\\"Qsi\\":;case\\"Qsif\\":;case\\"Qsir\\":;case\\"QsiSXTag\\":break;case\\"TxtQry\\":break;case\\"FilterMode\\":break;case\\"AutoFilter\\":;case\\"AutoFilterInfo\\":break;case\\"AutoFilter12\\":break;case\\"DropDownObjIds\\":break;case\\"Sort\\":break;case\\"SortData\\":break;case\\"ShapePropsStream\\":break;case\\"MsoDrawing\\":;case\\"MsoDrawingGroup\\":;case\\"MsoDrawingSelection\\":break;case\\"WebPub\\":;case\\"AutoWebPub\\":break;case\\"HeaderFooter\\":;case\\"HFPicture\\":;case\\"PLV\\":;case\\"HorizontalPageBreaks\\":;case\\"VerticalPageBreaks\\":break;case\\"Backup\\":;case\\"CompressPictures\\":;case\\"Compat12\\":break;case\\"Continue\\":;case\\"ContinueFrt12\\":break;case\\"FrtFontList\\":;case\\"FrtWrapper\\":break;default:switch(q.n){case\\"TabIdConf\\":;case\\"Radar\\":;case\\"RadarArea\\":;case\\"DropBar\\":;case\\"Intl\\":;case\\"CoordList\\":;case\\"SerAuxErrBar\\":break;case\\"BIFF2FONTCLR\\":;case\\"BIFF2FMTCNT\\":;case\\"BIFF2FONTXTRA\\":break;case\\"BIFF2XF\\":;case\\"BIFF3XF\\":;case\\"BIFF4XF\\":break;case\\"BIFF4FMTCNT\\":;case\\"BIFF2ROW\\":;case\\"BIFF2WINDOW2\\":break;case\\"SCENARIO\\":;case\\"DConBin\\":;case\\"PicF\\":;case\\"DataLabExt\\":;case\\"Lel\\":;case\\"BopPop\\":;case\\"BopPopCustom\\":;case\\"RealTimeData\\":;case\\"Name\\":break;case\\"LHNGraph\\":;case\\"FnGroupName\\":;case\\"AddMenu\\":;case\\"LPr\\":break;case\\"ListObj\\":;case\\"ListField\\":break;case\\"RRSort\\":break;case\\"BigName\\":break;case\\"ToolbarHdr\\":;case\\"ToolbarEnd\\":break;case\\"DDEObjName\\":break;case\\"FRTArchId$\\":break;default:if(r.WTF)throw\\"Unrecognized Record \\"+q.n;};};};}}else e.l+=Q}t.SheetNames=K(i).sort(function(e,r){return Number(e)-Number(r)}).map(function(e){return i[e].name});if(!r.bookSheets)t.Sheets=a;if(t.Sheets)j.forEach(function(e,r){t.Sheets[t.SheetNames[r]][\\"!autofilter\\"]=e});t.Preamble=u;t.Strings=l;t.SSF=D.get_table();if(R.enc)t.Encryption=R.enc;if(O)t.Themes=O;t.Metadata={};if(S!==undefined)t.Metadata.Country=S;if(H.names.length>0)T.Names=H.names;t.Workbook=T;return t}var xp={SI:\\"e0859ff2f94f6810ab9108002b27b3d9\\",DSI:\\"02d5cdd59c2e1b10939708002b2cf9ae\\",UDI:\\"05d5cdd59c2e1b10939708002b2cf9ae\\"};function Ap(e,r,t){var a=W.find(e,\\"!DocumentSummaryInformation\\");if(a&&a.size>0)try{var n=Hn(a,ga,xp.DSI);for(var i in n)r[i]=n[i]}catch(s){if(t.WTF)throw s}var f=W.find(e,\\"!SummaryInformation\\");if(f&&f.size>0)try{var o=Hn(f,wa,xp.SI);for(var l in o)if(r[l]==null)r[l]=o[l]}catch(s){if(t.WTF)throw s}if(r.HeadingPairs&&r.TitlesOfParts){fn(r.HeadingPairs,r.TitlesOfParts,r,t);delete r.HeadingPairs;delete r.TitlesOfParts}}function Ip(e,r){var t=[],a=[],n=[];var i=0,s;if(e.Props){s=K(e.Props);for(i=0;i<s.length;++i)(Object.prototype.hasOwnProperty.call(Ea,s[i])?t:Object.prototype.hasOwnProperty.call(Sa,s[i])?a:n).push([s[i],e.Props[s[i]]])}if(e.Custprops){s=K(e.Custprops);for(i=0;i<s.length;++i)if(!Object.prototype.hasOwnProperty.call(e.Props||{},s[i]))(Object.prototype.hasOwnProperty.call(Ea,s[i])?t:Object.prototype.hasOwnProperty.call(Sa,s[i])?a:n).push([s[i],e.Custprops[s[i]]])}var f=[];for(i=0;i<n.length;++i){if(Mn.indexOf(n[i][0])>-1)continue;if(n[i][1]==null)continue;f.push(n[i])}if(a.length)W.utils.cfb_add(r,\\"/\\u0005SummaryInformation\\",Wn(a,xp.SI,Sa,wa));if(t.length||f.length)W.utils.cfb_add(r,\\"/\\u0005DocumentSummaryInformation\\",Wn(t,xp.DSI,Ea,ga,f.length?f:null,xp.UDI))}function Rp(e,r){if(!r)r={};Bm(r);l();if(r.codepage)s(r.codepage);var t,a;if(e.FullPaths){if(W.find(e,\\"/encryption\\"))throw new Error(\\"File is password-protected\\");t=W.find(e,\\"!CompObj\\");a=W.find(e,\\"/Workbook\\")||W.find(e,\\"/Book\\")}else{switch(r.type){case\\"base64\\":e=B(g.decode(e));break;case\\"binary\\":e=B(e);break;case\\"buffer\\":break;case\\"array\\":if(!Array.isArray(e))e=Array.prototype.slice.call(e);break;}Yr(e,0);a={content:e}}var n;var i;if(t)_p(t);if(r.bookProps&&!r.bookSheets)n={};else{var f=w?\\"buffer\\":\\"array\\";if(a&&a.content)n=yp(a.content,r);else if((i=W.find(e,\\"PerfectOffice_MAIN\\"))&&i.content)n=gf.to_workbook(i.content,(r.type=f,r));else if((i=W.find(e,\\"NativeContent_MAIN\\"))&&i.content)n=gf.to_workbook(i.content,(r.type=f,r));else throw new Error(\\"Cannot find Workbook stream\\");if(r.bookVBA&&e.FullPaths&&W.find(e,\\"/_VBA_PROJECT_CUR/VBA/dir\\"))n.vbaraw=Jl(e)}var o={};if(e.FullPaths)Ap(e,o,r);n.Props=n.Custprops=o;if(r.bookFiles)n.cfb=e;return n}function Op(e,r){var t=r||{};var a=W.utils.cfb_new({root:\\"R\\"});var n=\\"/Workbook\\";switch(t.bookType||\\"xls\\"){case\\"xls\\":t.bookType=\\"biff8\\";case\\"xla\\":if(!t.bookType)t.bookType=\\"xla\\";case\\"biff8\\":n=\\"/Workbook\\";t.biff=8;break;case\\"biff5\\":n=\\"/Book\\";t.biff=5;break;default:throw new Error(\\"invalid type \\"+t.bookType+\\" for XLS CFB\\");}W.utils.cfb_add(a,n,em(e,t));if(t.biff==8&&(e.Props||e.Custprops))Ip(e,a);if(t.biff==8&&e.vbaraw)Ql(a,W.read(e.vbaraw,{type:typeof e.vbaraw==\\"string\\"?\\"binary\\":\\"buffer\\"}));return a}var Dp={0:{n:\\"BrtRowHdr\\",f:Yh},1:{n:\\"BrtCellBlank\\",f:ad},2:{n:\\"BrtCellRk\\",f:hd},3:{n:\\"BrtCellError\\",f:fd},4:{n:\\"BrtCellBool\\",f:id},5:{n:\\"BrtCellReal\\",f:cd},6:{n:\\"BrtCellSt\\",f:vd},7:{n:\\"BrtCellIsst\\",f:od},8:{n:\\"BrtFmlaString\\",f:wd},9:{n:\\"BrtFmlaNum\\",f:gd},10:{n:\\"BrtFmlaBool\\",f:md},11:{n:\\"BrtFmlaError\\",f:bd},16:{n:\\"BrtFRTArchID$\\",f:Bv},19:{n:\\"BrtSSTItem\\",f:Rt},20:{n:\\"BrtPCDIMissing\\"},21:{n:\\"BrtPCDINumber\\"},22:{n:\\"BrtPCDIBoolean\\"},23:{n:\\"BrtPCDIError\\"},24:{n:\\"BrtPCDIString\\"},25:{n:\\"BrtPCDIDatetime\\"},26:{n:\\"BrtPCDIIndex\\"},27:{n:\\"BrtPCDIAMissing\\"},28:{n:\\"BrtPCDIANumber\\"},29:{n:\\"BrtPCDIABoolean\\"},30:{n:\\"BrtPCDIAError\\"},31:{n:\\"BrtPCDIAString\\"},32:{n:\\"BrtPCDIADatetime\\"},33:{n:\\"BrtPCRRecord\\"},34:{n:\\"BrtPCRRecordDt\\"},35:{n:\\"BrtFRTBegin\\"},36:{n:\\"BrtFRTEnd\\"},37:{n:\\"BrtACBegin\\"},38:{n:\\"BrtACEnd\\"},39:{n:\\"BrtName\\",f:Tv},40:{n:\\"BrtIndexRowBlock\\"},42:{n:\\"BrtIndexBlock\\"},43:{n:\\"BrtFont\\",f:Wo},44:{n:\\"BrtFmt\\",f:zo},45:{n:\\"BrtFill\\",f:jo},46:{n:\\"BrtBorder\\",f:Jo},47:{n:\\"BrtXF\\",f:$o},48:{n:\\"BrtStyle\\"},49:{n:\\"BrtCellMeta\\"},50:{n:\\"BrtValueMeta\\"},51:{n:\\"BrtMdb\\"},52:{n:\\"BrtBeginFmd\\"},53:{n:\\"BrtEndFmd\\"},54:{n:\\"BrtBeginMdx\\"},55:{n:\\"BrtEndMdx\\"},56:{n:\\"BrtBeginMdxTuple\\"},57:{n:\\"BrtEndMdxTuple\\"},58:{n:\\"BrtMdxMbrIstr\\"},59:{n:\\"BrtStr\\"},60:{n:\\"BrtColInfo\\",f:Ys},62:{n:\\"BrtCellRString\\"},63:{n:\\"BrtCalcChainItem$\\",f:Dl},64:{n:\\"BrtDVal\\",f:Nd},65:{n:\\"BrtSxvcellNum\\"},66:{n:\\"BrtSxvcellStr\\"},67:{n:\\"BrtSxvcellBool\\"},68:{n:\\"BrtSxvcellErr\\"},69:{n:\\"BrtSxvcellDate\\"},70:{n:\\"BrtSxvcellNil\\"},128:{n:\\"BrtFileVersion\\"},129:{n:\\"BrtBeginSheet\\"},130:{n:\\"BrtEndSheet\\"},131:{n:\\"BrtBeginBook\\",f:Zr,p:0},132:{n:\\"BrtEndBook\\"},133:{n:\\"BrtBeginWsViews\\"},134:{n:\\"BrtEndWsViews\\"},135:{n:\\"BrtBeginBookViews\\"},136:{n:\\"BrtEndBookViews\\"},137:{n:\\"BrtBeginWsView\\",f:Od},138:{n:\\"BrtEndWsView\\"},139:{n:\\"BrtBeginCsViews\\"},140:{n:\\"BrtEndCsViews\\"},141:{n:\\"BrtBeginCsView\\"},142:{n:\\"BrtEndCsView\\"},143:{n:\\"BrtBeginBundleShs\\"},144:{n:\\"BrtEndBundleShs\\"},145:{n:\\"BrtBeginSheetData\\"},146:{n:\\"BrtEndSheetData\\"},147:{n:\\"BrtWsProp\\",f:rd},148:{n:\\"BrtWsDim\\",f:Qh,p:16},151:{n:\\"BrtPane\\",f:Bd},152:{n:\\"BrtSel\\"},153:{n:\\"BrtWbProp\\",f:_v},154:{n:\\"BrtWbFactoid\\"},155:{n:\\"BrtFileRecover\\"},156:{n:\\"BrtBundleSh\\",f:Ev},157:{n:\\"BrtCalcProp\\"},158:{n:\\"BrtBookView\\"},159:{n:\\"BrtBeginSst\\",f:Of},160:{n:\\"BrtEndSst\\"},161:{n:\\"BrtBeginAFilter\\",f:$t},162:{n:\\"BrtEndAFilter\\"},163:{n:\\"BrtBeginFilterColumn\\"},164:{n:\\"BrtEndFilterColumn\\"},165:{n:\\"BrtBeginFilters\\"},166:{n:\\"BrtEndFilters\\"},167:{n:\\"BrtFilter\\"},168:{n:\\"BrtColorFilter\\"},169:{n:\\"BrtIconFilter\\"},170:{n:\\"BrtTop10Filter\\"},171:{n:\\"BrtDynamicFilter\\"},172:{n:\\"BrtBeginCustomFilters\\"},173:{n:\\"BrtEndCustomFilters\\"},174:{n:\\"BrtCustomFilter\\"},175:{n:\\"BrtAFilterDateGroupItem\\"},176:{n:\\"BrtMergeCell\\",f:kd},177:{n:\\"BrtBeginMergeCells\\"},178:{n:\\"BrtEndMergeCells\\"},179:{n:\\"BrtBeginPivotCacheDef\\"},180:{n:\\"BrtEndPivotCacheDef\\"},181:{n:\\"BrtBeginPCDFields\\"},182:{n:\\"BrtEndPCDFields\\"},183:{n:\\"BrtBeginPCDField\\"},184:{n:\\"BrtEndPCDField\\"},185:{n:\\"BrtBeginPCDSource\\"},186:{n:\\"BrtEndPCDSource\\"},187:{n:\\"BrtBeginPCDSRange\\"},188:{n:\\"BrtEndPCDSRange\\"},189:{n:\\"BrtBeginPCDFAtbl\\"},190:{n:\\"BrtEndPCDFAtbl\\"},191:{n:\\"BrtBeginPCDIRun\\"},192:{n:\\"BrtEndPCDIRun\\"},193:{n:\\"BrtBeginPivotCacheRecords\\"},194:{n:\\"BrtEndPivotCacheRecords\\"},195:{n:\\"BrtBeginPCDHierarchies\\"},196:{n:\\"BrtEndPCDHierarchies\\"},197:{n:\\"BrtBeginPCDHierarchy\\"},198:{n:\\"BrtEndPCDHierarchy\\"},199:{n:\\"BrtBeginPCDHFieldsUsage\\"},200:{n:\\"BrtEndPCDHFieldsUsage\\"},201:{n:\\"BrtBeginExtConnection\\"},202:{n:\\"BrtEndExtConnection\\"},203:{n:\\"BrtBeginECDbProps\\"},204:{n:\\"BrtEndECDbProps\\"},205:{n:\\"BrtBeginECOlapProps\\"},206:{n:\\"BrtEndECOlapProps\\"},207:{n:\\"BrtBeginPCDSConsol\\"},208:{n:\\"BrtEndPCDSConsol\\"},209:{n:\\"BrtBeginPCDSCPages\\"\\n},210:{n:\\"BrtEndPCDSCPages\\"},211:{n:\\"BrtBeginPCDSCPage\\"},212:{n:\\"BrtEndPCDSCPage\\"},213:{n:\\"BrtBeginPCDSCPItem\\"},214:{n:\\"BrtEndPCDSCPItem\\"},215:{n:\\"BrtBeginPCDSCSets\\"},216:{n:\\"BrtEndPCDSCSets\\"},217:{n:\\"BrtBeginPCDSCSet\\"},218:{n:\\"BrtEndPCDSCSet\\"},219:{n:\\"BrtBeginPCDFGroup\\"},220:{n:\\"BrtEndPCDFGroup\\"},221:{n:\\"BrtBeginPCDFGItems\\"},222:{n:\\"BrtEndPCDFGItems\\"},223:{n:\\"BrtBeginPCDFGRange\\"},224:{n:\\"BrtEndPCDFGRange\\"},225:{n:\\"BrtBeginPCDFGDiscrete\\"},226:{n:\\"BrtEndPCDFGDiscrete\\"},227:{n:\\"BrtBeginPCDSDTupleCache\\"},228:{n:\\"BrtEndPCDSDTupleCache\\"},229:{n:\\"BrtBeginPCDSDTCEntries\\"},230:{n:\\"BrtEndPCDSDTCEntries\\"},231:{n:\\"BrtBeginPCDSDTCEMembers\\"},232:{n:\\"BrtEndPCDSDTCEMembers\\"},233:{n:\\"BrtBeginPCDSDTCEMember\\"},234:{n:\\"BrtEndPCDSDTCEMember\\"},235:{n:\\"BrtBeginPCDSDTCQueries\\"},236:{n:\\"BrtEndPCDSDTCQueries\\"},237:{n:\\"BrtBeginPCDSDTCQuery\\"},238:{n:\\"BrtEndPCDSDTCQuery\\"},239:{n:\\"BrtBeginPCDSDTCSets\\"},240:{n:\\"BrtEndPCDSDTCSets\\"},241:{n:\\"BrtBeginPCDSDTCSet\\"},242:{n:\\"BrtEndPCDSDTCSet\\"},243:{n:\\"BrtBeginPCDCalcItems\\"},244:{n:\\"BrtEndPCDCalcItems\\"},245:{n:\\"BrtBeginPCDCalcItem\\"},246:{n:\\"BrtEndPCDCalcItem\\"},247:{n:\\"BrtBeginPRule\\"},248:{n:\\"BrtEndPRule\\"},249:{n:\\"BrtBeginPRFilters\\"},250:{n:\\"BrtEndPRFilters\\"},251:{n:\\"BrtBeginPRFilter\\"},252:{n:\\"BrtEndPRFilter\\"},253:{n:\\"BrtBeginPNames\\"},254:{n:\\"BrtEndPNames\\"},255:{n:\\"BrtBeginPName\\"},256:{n:\\"BrtEndPName\\"},257:{n:\\"BrtBeginPNPairs\\"},258:{n:\\"BrtEndPNPairs\\"},259:{n:\\"BrtBeginPNPair\\"},260:{n:\\"BrtEndPNPair\\"},261:{n:\\"BrtBeginECWebProps\\"},262:{n:\\"BrtEndECWebProps\\"},263:{n:\\"BrtBeginEcWpTables\\"},264:{n:\\"BrtEndECWPTables\\"},265:{n:\\"BrtBeginECParams\\"},266:{n:\\"BrtEndECParams\\"},267:{n:\\"BrtBeginECParam\\"},268:{n:\\"BrtEndECParam\\"},269:{n:\\"BrtBeginPCDKPIs\\"},270:{n:\\"BrtEndPCDKPIs\\"},271:{n:\\"BrtBeginPCDKPI\\"},272:{n:\\"BrtEndPCDKPI\\"},273:{n:\\"BrtBeginDims\\"},274:{n:\\"BrtEndDims\\"},275:{n:\\"BrtBeginDim\\"},276:{n:\\"BrtEndDim\\"},277:{n:\\"BrtIndexPartEnd\\"},278:{n:\\"BrtBeginStyleSheet\\"},279:{n:\\"BrtEndStyleSheet\\"},280:{n:\\"BrtBeginSXView\\"},281:{n:\\"BrtEndSXVI\\"},282:{n:\\"BrtBeginSXVI\\"},283:{n:\\"BrtBeginSXVIs\\"},284:{n:\\"BrtEndSXVIs\\"},285:{n:\\"BrtBeginSXVD\\"},286:{n:\\"BrtEndSXVD\\"},287:{n:\\"BrtBeginSXVDs\\"},288:{n:\\"BrtEndSXVDs\\"},289:{n:\\"BrtBeginSXPI\\"},290:{n:\\"BrtEndSXPI\\"},291:{n:\\"BrtBeginSXPIs\\"},292:{n:\\"BrtEndSXPIs\\"},293:{n:\\"BrtBeginSXDI\\"},294:{n:\\"BrtEndSXDI\\"},295:{n:\\"BrtBeginSXDIs\\"},296:{n:\\"BrtEndSXDIs\\"},297:{n:\\"BrtBeginSXLI\\"},298:{n:\\"BrtEndSXLI\\"},299:{n:\\"BrtBeginSXLIRws\\"},300:{n:\\"BrtEndSXLIRws\\"},301:{n:\\"BrtBeginSXLICols\\"},302:{n:\\"BrtEndSXLICols\\"},303:{n:\\"BrtBeginSXFormat\\"},304:{n:\\"BrtEndSXFormat\\"},305:{n:\\"BrtBeginSXFormats\\"},306:{n:\\"BrtEndSxFormats\\"},307:{n:\\"BrtBeginSxSelect\\"},308:{n:\\"BrtEndSxSelect\\"},309:{n:\\"BrtBeginISXVDRws\\"},310:{n:\\"BrtEndISXVDRws\\"},311:{n:\\"BrtBeginISXVDCols\\"},312:{n:\\"BrtEndISXVDCols\\"},313:{n:\\"BrtEndSXLocation\\"},314:{n:\\"BrtBeginSXLocation\\"},315:{n:\\"BrtEndSXView\\"},316:{n:\\"BrtBeginSXTHs\\"},317:{n:\\"BrtEndSXTHs\\"},318:{n:\\"BrtBeginSXTH\\"},319:{n:\\"BrtEndSXTH\\"},320:{n:\\"BrtBeginISXTHRws\\"},321:{n:\\"BrtEndISXTHRws\\"},322:{n:\\"BrtBeginISXTHCols\\"},323:{n:\\"BrtEndISXTHCols\\"},324:{n:\\"BrtBeginSXTDMPS\\"},325:{n:\\"BrtEndSXTDMPs\\"},326:{n:\\"BrtBeginSXTDMP\\"},327:{n:\\"BrtEndSXTDMP\\"},328:{n:\\"BrtBeginSXTHItems\\"},329:{n:\\"BrtEndSXTHItems\\"},330:{n:\\"BrtBeginSXTHItem\\"},331:{n:\\"BrtEndSXTHItem\\"},332:{n:\\"BrtBeginMetadata\\"},333:{n:\\"BrtEndMetadata\\"},334:{n:\\"BrtBeginEsmdtinfo\\"},335:{n:\\"BrtMdtinfo\\"},336:{n:\\"BrtEndEsmdtinfo\\"},337:{n:\\"BrtBeginEsmdb\\"},338:{n:\\"BrtEndEsmdb\\"},339:{n:\\"BrtBeginEsfmd\\"},340:{n:\\"BrtEndEsfmd\\"},341:{n:\\"BrtBeginSingleCells\\"},342:{n:\\"BrtEndSingleCells\\"},343:{n:\\"BrtBeginList\\"},344:{n:\\"BrtEndList\\"},345:{n:\\"BrtBeginListCols\\"},346:{n:\\"BrtEndListCols\\"},347:{n:\\"BrtBeginListCol\\"},348:{n:\\"BrtEndListCol\\"},349:{n:\\"BrtBeginListXmlCPr\\"},350:{n:\\"BrtEndListXmlCPr\\"},351:{n:\\"BrtListCCFmla\\"},352:{n:\\"BrtListTrFmla\\"},353:{n:\\"BrtBeginExternals\\"},354:{n:\\"BrtEndExternals\\"},355:{n:\\"BrtSupBookSrc\\",f:Wt},357:{n:\\"BrtSupSelf\\"},358:{n:\\"BrtSupSame\\"},359:{n:\\"BrtSupTabs\\"},360:{n:\\"BrtBeginSupBook\\"},361:{n:\\"BrtPlaceholderName\\"},362:{n:\\"BrtExternSheet\\",f:Ts},363:{n:\\"BrtExternTableStart\\"},364:{n:\\"BrtExternTableEnd\\"},366:{n:\\"BrtExternRowHdr\\"},367:{n:\\"BrtExternCellBlank\\"},368:{n:\\"BrtExternCellReal\\"},369:{n:\\"BrtExternCellBool\\"},370:{n:\\"BrtExternCellError\\"},371:{n:\\"BrtExternCellString\\"},372:{n:\\"BrtBeginEsmdx\\"},373:{n:\\"BrtEndEsmdx\\"},374:{n:\\"BrtBeginMdxSet\\"},375:{n:\\"BrtEndMdxSet\\"},376:{n:\\"BrtBeginMdxMbrProp\\"},377:{n:\\"BrtEndMdxMbrProp\\"},378:{n:\\"BrtBeginMdxKPI\\"},379:{n:\\"BrtEndMdxKPI\\"},380:{n:\\"BrtBeginEsstr\\"},381:{n:\\"BrtEndEsstr\\"},382:{n:\\"BrtBeginPRFItem\\"},383:{n:\\"BrtEndPRFItem\\"},384:{n:\\"BrtBeginPivotCacheIDs\\"},385:{n:\\"BrtEndPivotCacheIDs\\"},386:{n:\\"BrtBeginPivotCacheID\\"},387:{n:\\"BrtEndPivotCacheID\\"},388:{n:\\"BrtBeginISXVIs\\"},389:{n:\\"BrtEndISXVIs\\"},390:{n:\\"BrtBeginColInfos\\"},391:{n:\\"BrtEndColInfos\\"},392:{n:\\"BrtBeginRwBrk\\"},393:{n:\\"BrtEndRwBrk\\"},394:{n:\\"BrtBeginColBrk\\"},395:{n:\\"BrtEndColBrk\\"},396:{n:\\"BrtBrk\\"},397:{n:\\"BrtUserBookView\\"},398:{n:\\"BrtInfo\\"},399:{n:\\"BrtCUsr\\"},400:{n:\\"BrtUsr\\"},401:{n:\\"BrtBeginUsers\\"},403:{n:\\"BrtEOF\\"},404:{n:\\"BrtUCR\\"},405:{n:\\"BrtRRInsDel\\"},406:{n:\\"BrtRREndInsDel\\"},407:{n:\\"BrtRRMove\\"},408:{n:\\"BrtRREndMove\\"},409:{n:\\"BrtRRChgCell\\"},410:{n:\\"BrtRREndChgCell\\"},411:{n:\\"BrtRRHeader\\"},412:{n:\\"BrtRRUserView\\"},413:{n:\\"BrtRRRenSheet\\"},414:{n:\\"BrtRRInsertSh\\"},415:{n:\\"BrtRRDefName\\"},416:{n:\\"BrtRRNote\\"},417:{n:\\"BrtRRConflict\\"},418:{n:\\"BrtRRTQSIF\\"},419:{n:\\"BrtRRFormat\\"},420:{n:\\"BrtRREndFormat\\"},421:{n:\\"BrtRRAutoFmt\\"},422:{n:\\"BrtBeginUserShViews\\"},423:{n:\\"BrtBeginUserShView\\"},424:{n:\\"BrtEndUserShView\\"},425:{n:\\"BrtEndUserShViews\\"},426:{n:\\"BrtArrFmla\\",f:Td},427:{n:\\"BrtShrFmla\\",f:yd},428:{n:\\"BrtTable\\"},429:{n:\\"BrtBeginExtConnections\\"},430:{n:\\"BrtEndExtConnections\\"},431:{n:\\"BrtBeginPCDCalcMems\\"},432:{n:\\"BrtEndPCDCalcMems\\"},433:{n:\\"BrtBeginPCDCalcMem\\"},434:{n:\\"BrtEndPCDCalcMem\\"},435:{n:\\"BrtBeginPCDHGLevels\\"},436:{n:\\"BrtEndPCDHGLevels\\"},437:{n:\\"BrtBeginPCDHGLevel\\"},438:{n:\\"BrtEndPCDHGLevel\\"},439:{n:\\"BrtBeginPCDHGLGroups\\"},440:{n:\\"BrtEndPCDHGLGroups\\"},441:{n:\\"BrtBeginPCDHGLGroup\\"},442:{n:\\"BrtEndPCDHGLGroup\\"},443:{n:\\"BrtBeginPCDHGLGMembers\\"},444:{n:\\"BrtEndPCDHGLGMembers\\"},445:{n:\\"BrtBeginPCDHGLGMember\\"},446:{n:\\"BrtEndPCDHGLGMember\\"},447:{n:\\"BrtBeginQSI\\"},448:{n:\\"BrtEndQSI\\"},449:{n:\\"BrtBeginQSIR\\"},450:{n:\\"BrtEndQSIR\\"},451:{n:\\"BrtBeginDeletedNames\\"},452:{n:\\"BrtEndDeletedNames\\"},453:{n:\\"BrtBeginDeletedName\\"},454:{n:\\"BrtEndDeletedName\\"},455:{n:\\"BrtBeginQSIFs\\"},456:{n:\\"BrtEndQSIFs\\"},457:{n:\\"BrtBeginQSIF\\"},458:{n:\\"BrtEndQSIF\\"},459:{n:\\"BrtBeginAutoSortScope\\"},460:{n:\\"BrtEndAutoSortScope\\"},461:{n:\\"BrtBeginConditionalFormatting\\"},462:{n:\\"BrtEndConditionalFormatting\\"},463:{n:\\"BrtBeginCFRule\\"},464:{n:\\"BrtEndCFRule\\"},465:{n:\\"BrtBeginIconSet\\"},466:{n:\\"BrtEndIconSet\\"},467:{n:\\"BrtBeginDatabar\\"},468:{n:\\"BrtEndDatabar\\"},469:{n:\\"BrtBeginColorScale\\"},470:{n:\\"BrtEndColorScale\\"},471:{n:\\"BrtCFVO\\"},472:{n:\\"BrtExternValueMeta\\"},473:{n:\\"BrtBeginColorPalette\\"},474:{n:\\"BrtEndColorPalette\\"},475:{n:\\"BrtIndexedColor\\"},476:{n:\\"BrtMargins\\",f:Id},477:{n:\\"BrtPrintOptions\\"},478:{n:\\"BrtPageSetup\\"},479:{n:\\"BrtBeginHeaderFooter\\"},480:{n:\\"BrtEndHeaderFooter\\"},481:{n:\\"BrtBeginSXCrtFormat\\"},482:{n:\\"BrtEndSXCrtFormat\\"},483:{n:\\"BrtBeginSXCrtFormats\\"},484:{n:\\"BrtEndSXCrtFormats\\"},485:{n:\\"BrtWsFmtInfo\\",f:ed},486:{n:\\"BrtBeginMgs\\"},487:{n:\\"BrtEndMGs\\"},488:{n:\\"BrtBeginMGMaps\\"},489:{n:\\"BrtEndMGMaps\\"},490:{n:\\"BrtBeginMG\\"},491:{n:\\"BrtEndMG\\"},492:{n:\\"BrtBeginMap\\"},493:{n:\\"BrtEndMap\\"},494:{n:\\"BrtHLink\\",f:_d},495:{n:\\"BrtBeginDCon\\"},496:{n:\\"BrtEndDCon\\"},497:{n:\\"BrtBeginDRefs\\"},498:{n:\\"BrtEndDRefs\\"},499:{n:\\"BrtDRef\\"},500:{n:\\"BrtBeginScenMan\\"},501:{n:\\"BrtEndScenMan\\"},502:{n:\\"BrtBeginSct\\"},503:{n:\\"BrtEndSct\\"},504:{n:\\"BrtSlc\\"},505:{n:\\"BrtBeginDXFs\\"},506:{n:\\"BrtEndDXFs\\"},507:{n:\\"BrtDXF\\"},508:{n:\\"BrtBeginTableStyles\\"},509:{n:\\"BrtEndTableStyles\\"},510:{n:\\"BrtBeginTableStyle\\"},511:{n:\\"BrtEndTableStyle\\"},512:{n:\\"BrtTableStyleElement\\"},513:{n:\\"BrtTableStyleClient\\"},514:{n:\\"BrtBeginVolDeps\\"},515:{n:\\"BrtEndVolDeps\\"},516:{n:\\"BrtBeginVolType\\"},517:{n:\\"BrtEndVolType\\"},518:{n:\\"BrtBeginVolMain\\"},519:{n:\\"BrtEndVolMain\\"},520:{n:\\"BrtBeginVolTopic\\"},521:{n:\\"BrtEndVolTopic\\"},522:{n:\\"BrtVolSubtopic\\"},523:{n:\\"BrtVolRef\\"},524:{n:\\"BrtVolNum\\"},525:{n:\\"BrtVolErr\\"},526:{n:\\"BrtVolStr\\"},527:{n:\\"BrtVolBool\\"},528:{n:\\"BrtBeginCalcChain$\\"},529:{n:\\"BrtEndCalcChain$\\"},530:{n:\\"BrtBeginSortState\\"},531:{n:\\"BrtEndSortState\\"},532:{n:\\"BrtBeginSortCond\\"},533:{n:\\"BrtEndSortCond\\"},534:{n:\\"BrtBookProtection\\"},535:{n:\\"BrtSheetProtection\\"},536:{n:\\"BrtRangeProtection\\"},537:{n:\\"BrtPhoneticInfo\\"},538:{n:\\"BrtBeginECTxtWiz\\"},539:{n:\\"BrtEndECTxtWiz\\"},540:{n:\\"BrtBeginECTWFldInfoLst\\"},541:{n:\\"BrtEndECTWFldInfoLst\\"},542:{n:\\"BrtBeginECTwFldInfo\\"},548:{n:\\"BrtFileSharing\\"},549:{n:\\"BrtOleSize\\"},550:{n:\\"BrtDrawing\\",f:Wt},551:{n:\\"BrtLegacyDrawing\\"},552:{n:\\"BrtLegacyDrawingHF\\"},553:{n:\\"BrtWebOpt\\"},554:{n:\\"BrtBeginWebPubItems\\"},555:{n:\\"BrtEndWebPubItems\\"},556:{n:\\"BrtBeginWebPubItem\\"},557:{n:\\"BrtEndWebPubItem\\"},558:{n:\\"BrtBeginSXCondFmt\\"},559:{n:\\"BrtEndSXCondFmt\\"},560:{n:\\"BrtBeginSXCondFmts\\"},561:{n:\\"BrtEndSXCondFmts\\"},562:{n:\\"BrtBkHim\\"},564:{n:\\"BrtColor\\"},565:{n:\\"BrtBeginIndexedColors\\"},566:{n:\\"BrtEndIndexedColors\\"},569:{n:\\"BrtBeginMRUColors\\"},570:{n:\\"BrtEndMRUColors\\"},572:{n:\\"BrtMRUColor\\"},573:{n:\\"BrtBeginDVals\\"},574:{n:\\"BrtEndDVals\\"},577:{n:\\"BrtSupNameStart\\"},578:{n:\\"BrtSupNameValueStart\\"},579:{n:\\"BrtSupNameValueEnd\\"},580:{n:\\"BrtSupNameNum\\"},581:{n:\\"BrtSupNameErr\\"},582:{n:\\"BrtSupNameSt\\"},583:{n:\\"BrtSupNameNil\\"},584:{n:\\"BrtSupNameBool\\"},585:{n:\\"BrtSupNameFmla\\"},586:{n:\\"BrtSupNameBits\\"},587:{n:\\"BrtSupNameEnd\\"},588:{n:\\"BrtEndSupBook\\"},589:{n:\\"BrtCellSmartTagProperty\\"},590:{n:\\"BrtBeginCellSmartTag\\"},591:{n:\\"BrtEndCellSmartTag\\"},592:{n:\\"BrtBeginCellSmartTags\\"},593:{n:\\"BrtEndCellSmartTags\\"},594:{n:\\"BrtBeginSmartTags\\"},595:{n:\\"BrtEndSmartTags\\"},596:{n:\\"BrtSmartTagType\\"},597:{n:\\"BrtBeginSmartTagTypes\\"},598:{n:\\"BrtEndSmartTagTypes\\"},599:{n:\\"BrtBeginSXFilters\\"},600:{n:\\"BrtEndSXFilters\\"},601:{n:\\"BrtBeginSXFILTER\\"},602:{n:\\"BrtEndSXFilter\\"},603:{n:\\"BrtBeginFills\\"},604:{n:\\"BrtEndFills\\"},605:{n:\\"BrtBeginCellWatches\\"},606:{n:\\"BrtEndCellWatches\\"},607:{n:\\"BrtCellWatch\\"},608:{n:\\"BrtBeginCRErrs\\"},609:{n:\\"BrtEndCRErrs\\"},610:{n:\\"BrtCrashRecErr\\"},611:{n:\\"BrtBeginFonts\\"},612:{n:\\"BrtEndFonts\\"},613:{n:\\"BrtBeginBorders\\"},614:{n:\\"BrtEndBorders\\"},615:{n:\\"BrtBeginFmts\\"},616:{n:\\"BrtEndFmts\\"},617:{n:\\"BrtBeginCellXFs\\"},618:{n:\\"BrtEndCellXFs\\"},619:{n:\\"BrtBeginStyles\\"},620:{n:\\"BrtEndStyles\\"},625:{n:\\"BrtBigName\\"},626:{n:\\"BrtBeginCellStyleXFs\\"},627:{n:\\"BrtEndCellStyleXFs\\"},628:{n:\\"BrtBeginComments\\"},629:{n:\\"BrtEndComments\\"},630:{n:\\"BrtBeginCommentAuthors\\"},631:{n:\\"BrtEndCommentAuthors\\"},632:{n:\\"BrtCommentAuthor\\",f:jl},633:{n:\\"BrtBeginCommentList\\"},634:{n:\\"BrtEndCommentList\\"},635:{n:\\"BrtBeginComment\\",f:Xl},636:{n:\\"BrtEndComment\\"},637:{n:\\"BrtCommentText\\",f:Dt},638:{n:\\"BrtBeginOleObjects\\"},639:{n:\\"BrtOleObject\\"},640:{n:\\"BrtEndOleObjects\\"},641:{n:\\"BrtBeginSxrules\\"},642:{n:\\"BrtEndSxRules\\"},643:{n:\\"BrtBeginActiveXControls\\"},644:{n:\\"BrtActiveX\\"},645:{n:\\"BrtEndActiveXControls\\"},646:{n:\\"BrtBeginPCDSDTCEMembersSortBy\\"},648:{n:\\"BrtBeginCellIgnoreECs\\"},649:{n:\\"BrtCellIgnoreEC\\"},650:{n:\\"BrtEndCellIgnoreECs\\"},651:{n:\\"BrtCsProp\\",f:tv},652:{n:\\"BrtCsPageSetup\\"},653:{n:\\"BrtBeginUserCsViews\\"},654:{n:\\"BrtEndUserCsViews\\"},655:{n:\\"BrtBeginUserCsView\\"},656:{n:\\"BrtEndUserCsView\\"},657:{n:\\"BrtBeginPcdSFCIEntries\\"},658:{n:\\"BrtEndPCDSFCIEntries\\"},659:{n:\\"BrtPCDSFCIEntry\\"},660:{n:\\"BrtBeginListParts\\"},661:{n:\\"BrtListPart\\"},662:{n:\\"BrtEndListParts\\"},663:{n:\\"BrtSheetCalcProp\\"},664:{n:\\"BrtBeginFnGroup\\"},665:{n:\\"BrtFnGroup\\"},666:{n:\\"BrtEndFnGroup\\"},667:{n:\\"BrtSupAddin\\"},668:{n:\\"BrtSXTDMPOrder\\"},669:{n:\\"BrtCsProtection\\"},671:{n:\\"BrtBeginWsSortMap\\"},672:{n:\\"BrtEndWsSortMap\\"},673:{n:\\"BrtBeginRRSort\\"},674:{n:\\"BrtEndRRSort\\"},675:{n:\\"BrtRRSortItem\\"},676:{n:\\"BrtFileSharingIso\\"},677:{n:\\"BrtBookProtectionIso\\"},678:{n:\\"BrtSheetProtectionIso\\"},679:{n:\\"BrtCsProtectionIso\\"},680:{n:\\"BrtRangeProtectionIso\\"},681:{n:\\"BrtDValList\\"},1024:{n:\\"BrtRwDescent\\"},1025:{n:\\"BrtKnownFonts\\"},1026:{n:\\"BrtBeginSXTupleSet\\"},1027:{n:\\"BrtEndSXTupleSet\\"},1028:{n:\\"BrtBeginSXTupleSetHeader\\"},1029:{n:\\"BrtEndSXTupleSetHeader\\"},1030:{n:\\"BrtSXTupleSetHeaderItem\\"},1031:{n:\\"BrtBeginSXTupleSetData\\"},1032:{n:\\"BrtEndSXTupleSetData\\"},1033:{n:\\"BrtBeginSXTupleSetRow\\"},1034:{n:\\"BrtEndSXTupleSetRow\\"},1035:{n:\\"BrtSXTupleSetRowItem\\"},1036:{n:\\"BrtNameExt\\"},1037:{n:\\"BrtPCDH14\\"},1038:{n:\\"BrtBeginPCDCalcMem14\\"},1039:{n:\\"BrtEndPCDCalcMem14\\"},1040:{n:\\"BrtSXTH14\\"},1041:{n:\\"BrtBeginSparklineGroup\\"},1042:{n:\\"BrtEndSparklineGroup\\"},1043:{n:\\"BrtSparkline\\"},1044:{n:\\"BrtSXDI14\\"},1045:{n:\\"BrtWsFmtInfoEx14\\"},1046:{n:\\"BrtBeginConditionalFormatting14\\"},1047:{n:\\"BrtEndConditionalFormatting14\\"},1048:{n:\\"BrtBeginCFRule14\\"},1049:{n:\\"BrtEndCFRule14\\"},1050:{n:\\"BrtCFVO14\\"},1051:{n:\\"BrtBeginDatabar14\\"},1052:{n:\\"BrtBeginIconSet14\\"},1053:{n:\\"BrtDVal14\\",f:Ld},1054:{n:\\"BrtBeginDVals14\\"},1055:{n:\\"BrtColor14\\"},1056:{n:\\"BrtBeginSparklines\\"},1057:{n:\\"BrtEndSparklines\\"},1058:{n:\\"BrtBeginSparklineGroups\\"},1059:{n:\\"BrtEndSparklineGroups\\"},1061:{n:\\"BrtSXVD14\\"},1062:{n:\\"BrtBeginSXView14\\"},1063:{n:\\"BrtEndSXView14\\"},1064:{n:\\"BrtBeginSXView16\\"},1065:{n:\\"BrtEndSXView16\\"},1066:{n:\\"BrtBeginPCD14\\"},1067:{n:\\"BrtEndPCD14\\"},1068:{n:\\"BrtBeginExtConn14\\"},1069:{n:\\"BrtEndExtConn14\\"},1070:{n:\\"BrtBeginSlicerCacheIDs\\"},1071:{n:\\"BrtEndSlicerCacheIDs\\"},1072:{n:\\"BrtBeginSlicerCacheID\\"},1073:{n:\\"BrtEndSlicerCacheID\\"},1075:{n:\\"BrtBeginSlicerCache\\"},1076:{n:\\"BrtEndSlicerCache\\"},1077:{n:\\"BrtBeginSlicerCacheDef\\"},1078:{n:\\"BrtEndSlicerCacheDef\\"},1079:{n:\\"BrtBeginSlicersEx\\"},1080:{n:\\"BrtEndSlicersEx\\"},1081:{n:\\"BrtBeginSlicerEx\\"},1082:{n:\\"BrtEndSlicerEx\\"},1083:{n:\\"BrtBeginSlicer\\"},1084:{n:\\"BrtEndSlicer\\"},1085:{n:\\"BrtSlicerCachePivotTables\\"},1086:{n:\\"BrtBeginSlicerCacheOlapImpl\\"},1087:{n:\\"BrtEndSlicerCacheOlapImpl\\"},1088:{n:\\"BrtBeginSlicerCacheLevelsData\\"},1089:{n:\\"BrtEndSlicerCacheLevelsData\\"},1090:{n:\\"BrtBeginSlicerCacheLevelData\\"},1091:{n:\\"BrtEndSlicerCacheLevelData\\"},1092:{n:\\"BrtBeginSlicerCacheSiRanges\\"},1093:{n:\\"BrtEndSlicerCacheSiRanges\\"},1094:{n:\\"BrtBeginSlicerCacheSiRange\\"},1095:{n:\\"BrtEndSlicerCacheSiRange\\"},1096:{n:\\"BrtSlicerCacheOlapItem\\"},1097:{n:\\"BrtBeginSlicerCacheSelections\\"},1098:{n:\\"BrtSlicerCacheSelection\\"},1099:{n:\\"BrtEndSlicerCacheSelections\\"},1100:{n:\\"BrtBeginSlicerCacheNative\\"},1101:{n:\\"BrtEndSlicerCacheNative\\"},1102:{n:\\"BrtSlicerCacheNativeItem\\"},1103:{n:\\"BrtRangeProtection14\\"},1104:{n:\\"BrtRangeProtectionIso14\\"},1105:{n:\\"BrtCellIgnoreEC14\\"},1111:{n:\\"BrtList14\\"},1112:{n:\\"BrtCFIcon\\"},1113:{n:\\"BrtBeginSlicerCachesPivotCacheIDs\\"},1114:{n:\\"BrtEndSlicerCachesPivotCacheIDs\\"},1115:{n:\\"BrtBeginSlicers\\"},1116:{n:\\"BrtEndSlicers\\"},1117:{n:\\"BrtWbProp14\\"},1118:{n:\\"BrtBeginSXEdit\\"},1119:{n:\\"BrtEndSXEdit\\"},1120:{n:\\"BrtBeginSXEdits\\"},1121:{n:\\"BrtEndSXEdits\\"},1122:{n:\\"BrtBeginSXChange\\"},1123:{n:\\"BrtEndSXChange\\"},1124:{n:\\"BrtBeginSXChanges\\"},1125:{n:\\"BrtEndSXChanges\\"},1126:{n:\\"BrtSXTupleItems\\"},1128:{n:\\"BrtBeginSlicerStyle\\"},1129:{n:\\"BrtEndSlicerStyle\\"},1130:{n:\\"BrtSlicerStyleElement\\"},1131:{n:\\"BrtBeginStyleSheetExt14\\"},1132:{n:\\"BrtEndStyleSheetExt14\\"},1133:{n:\\"BrtBeginSlicerCachesPivotCacheID\\"},1134:{n:\\"BrtEndSlicerCachesPivotCacheID\\"},1135:{n:\\"BrtBeginConditionalFormattings\\"},1136:{n:\\"BrtEndConditionalFormattings\\"},1137:{n:\\"BrtBeginPCDCalcMemExt\\"},1138:{n:\\"BrtEndPCDCalcMemExt\\"},1139:{n:\\"BrtBeginPCDCalcMemsExt\\"},1140:{n:\\"BrtEndPCDCalcMemsExt\\"},1141:{n:\\"BrtPCDField14\\"},1142:{n:\\"BrtBeginSlicerStyles\\"},1143:{n:\\"BrtEndSlicerStyles\\"},1144:{n:\\"BrtBeginSlicerStyleElements\\"},1145:{n:\\"BrtEndSlicerStyleElements\\"},1146:{n:\\"BrtCFRuleExt\\"},1147:{n:\\"BrtBeginSXCondFmt14\\"},1148:{n:\\"BrtEndSXCondFmt14\\"},1149:{n:\\"BrtBeginSXCondFmts14\\"},1150:{n:\\"BrtEndSXCondFmts14\\"},1152:{n:\\"BrtBeginSortCond14\\"},1153:{n:\\"BrtEndSortCond14\\"},1154:{n:\\"BrtEndDVals14\\"},1155:{n:\\"BrtEndIconSet14\\"},1156:{n:\\"BrtEndDatabar14\\"},1157:{n:\\"BrtBeginColorScale14\\"},1158:{n:\\"BrtEndColorScale14\\"},1159:{n:\\"BrtBeginSxrules14\\"},1160:{n:\\"BrtEndSxrules14\\"},1161:{n:\\"BrtBeginPRule14\\"},1162:{n:\\"BrtEndPRule14\\"},1163:{n:\\"BrtBeginPRFilters14\\"},1164:{n:\\"BrtEndPRFilters14\\"},1165:{n:\\"BrtBeginPRFilter14\\"},1166:{n:\\"BrtEndPRFilter14\\"},1167:{n:\\"BrtBeginPRFItem14\\"},1168:{n:\\"BrtEndPRFItem14\\"},1169:{n:\\"BrtBeginCellIgnoreECs14\\"},1170:{n:\\"BrtEndCellIgnoreECs14\\"},1171:{n:\\"BrtDxf14\\"},1172:{n:\\"BrtBeginDxF14s\\"},1173:{n:\\"BrtEndDxf14s\\"},1177:{n:\\"BrtFilter14\\"},1178:{n:\\"BrtBeginCustomFilters14\\"},1180:{n:\\"BrtCustomFilter14\\"},1181:{n:\\"BrtIconFilter14\\"},1182:{n:\\"BrtPivotCacheConnectionName\\"},2048:{n:\\"BrtBeginDecoupledPivotCacheIDs\\"},2049:{n:\\"BrtEndDecoupledPivotCacheIDs\\"},2050:{n:\\"BrtDecoupledPivotCacheID\\"},2051:{n:\\"BrtBeginPivotTableRefs\\"},2052:{n:\\"BrtEndPivotTableRefs\\"},2053:{n:\\"BrtPivotTableRef\\"},2054:{n:\\"BrtSlicerCacheBookPivotTables\\"},2055:{n:\\"BrtBeginSxvcells\\"},2056:{n:\\"BrtEndSxvcells\\"},2057:{n:\\"BrtBeginSxRow\\"},2058:{n:\\"BrtEndSxRow\\"},2060:{n:\\"BrtPcdCalcMem15\\"},2067:{n:\\"BrtQsi15\\"},2068:{n:\\"BrtBeginWebExtensions\\"},2069:{n:\\"BrtEndWebExtensions\\"},2070:{n:\\"BrtWebExtension\\"},2071:{n:\\"BrtAbsPath15\\"},2072:{n:\\"BrtBeginPivotTableUISettings\\"},2073:{n:\\"BrtEndPivotTableUISettings\\"},2075:{n:\\"BrtTableSlicerCacheIDs\\"},2076:{n:\\"BrtTableSlicerCacheID\\"},2077:{n:\\"BrtBeginTableSlicerCache\\"},2078:{n:\\"BrtEndTableSlicerCache\\"},2079:{n:\\"BrtSxFilter15\\"},2080:{n:\\"BrtBeginTimelineCachePivotCacheIDs\\"},2081:{n:\\"BrtEndTimelineCachePivotCacheIDs\\"},2082:{n:\\"BrtTimelineCachePivotCacheID\\"},2083:{n:\\"BrtBeginTimelineCacheIDs\\"},2084:{n:\\"BrtEndTimelineCacheIDs\\"},2085:{n:\\"BrtBeginTimelineCacheID\\"},2086:{n:\\"BrtEndTimelineCacheID\\"},2087:{n:\\"BrtBeginTimelinesEx\\"},2088:{n:\\"BrtEndTimelinesEx\\"},2089:{n:\\"BrtBeginTimelineEx\\"},2090:{n:\\"BrtEndTimelineEx\\"},2091:{n:\\"BrtWorkBookPr15\\"},2092:{n:\\"BrtPCDH15\\"},2093:{n:\\"BrtBeginTimelineStyle\\"},2094:{n:\\"BrtEndTimelineStyle\\"},2095:{n:\\"BrtTimelineStyleElement\\"},2096:{n:\\"BrtBeginTimelineStylesheetExt15\\"},2097:{n:\\"BrtEndTimelineStylesheetExt15\\"},2098:{n:\\"BrtBeginTimelineStyles\\"},2099:{n:\\"BrtEndTimelineStyles\\"},2100:{n:\\"BrtBeginTimelineStyleElements\\"},2101:{n:\\"BrtEndTimelineStyleElements\\"},2102:{n:\\"BrtDxf15\\"},2103:{n:\\"BrtBeginDxfs15\\"},2104:{n:\\"brtEndDxfs15\\"},2105:{n:\\"BrtSlicerCacheHideItemsWithNoData\\"},2106:{n:\\"BrtBeginItemUniqueNames\\"},2107:{n:\\"BrtEndItemUniqueNames\\"},2108:{n:\\"BrtItemUniqueName\\"},2109:{n:\\"BrtBeginExtConn15\\"},2110:{n:\\"BrtEndExtConn15\\"},2111:{n:\\"BrtBeginOledbPr15\\"},2112:{n:\\"BrtEndOledbPr15\\"},2113:{n:\\"BrtBeginDataFeedPr15\\"},2114:{n:\\"BrtEndDataFeedPr15\\"},2115:{n:\\"BrtTextPr15\\"},2116:{n:\\"BrtRangePr15\\"},2117:{n:\\"BrtDbCommand15\\"},2118:{n:\\"BrtBeginDbTables15\\"},2119:{n:\\"BrtEndDbTables15\\"},2120:{n:\\"BrtDbTable15\\"},2121:{n:\\"BrtBeginDataModel\\"},2122:{n:\\"BrtEndDataModel\\"},2123:{n:\\"BrtBeginModelTables\\"},2124:{n:\\"BrtEndModelTables\\"},2125:{n:\\"BrtModelTable\\"},2126:{n:\\"BrtBeginModelRelationships\\"},2127:{n:\\"BrtEndModelRelationships\\"},2128:{n:\\"BrtModelRelationship\\"},2129:{n:\\"BrtBeginECTxtWiz15\\"},2130:{n:\\"BrtEndECTxtWiz15\\"},2131:{n:\\"BrtBeginECTWFldInfoLst15\\"},2132:{n:\\"BrtEndECTWFldInfoLst15\\"},2133:{n:\\"BrtBeginECTWFldInfo15\\"},2134:{n:\\"BrtFieldListActiveItem\\"},2135:{n:\\"BrtPivotCacheIdVersion\\"},2136:{n:\\"BrtSXDI15\\"},2137:{n:\\"BrtBeginModelTimeGroupings\\"},2138:{n:\\"BrtEndModelTimeGroupings\\"},2139:{n:\\"BrtBeginModelTimeGrouping\\"},2140:{n:\\"BrtEndModelTimeGrouping\\"},2141:{n:\\"BrtModelTimeGroupingCalcCol\\"},3072:{n:\\"BrtUid\\"},3073:{n:\\"BrtRevisionPtr\\"},5095:{n:\\"BrtBeginCalcFeatures\\"},5096:{n:\\"BrtEndCalcFeatures\\"},5097:{n:\\"BrtCalcFeature\\"},65535:{n:\\"\\"}};var Fp=Y(Dp,\\"n\\");var Pp={3:{n:\\"BIFF2NUM\\",f:nf},4:{n:\\"BIFF2STR\\",f:af},6:{n:\\"Formula\\",f:Ku},9:{n:\\"BOF\\",f:Oi},10:{n:\\"EOF\\",f:Vn},12:{n:\\"CalcCount\\",f:$n},13:{n:\\"CalcMode\\",f:$n},14:{n:\\"CalcPrecision\\",f:jn},15:{n:\\"CalcRefMode\\",f:jn},16:{n:\\"CalcDelta\\",f:Zt},17:{n:\\"CalcIter\\",f:jn},18:{n:\\"Protect\\",f:jn},19:{n:\\"Password\\",f:$n},20:{n:\\"Header\\",f:Es},21:{n:\\"Footer\\",f:Es},23:{n:\\"ExternSheet\\",f:Ts},24:{n:\\"Lbl\\",f:Bs},25:{n:\\"WinProtect\\",f:jn},26:{n:\\"VerticalPageBreaks\\"},27:{n:\\"HorizontalPageBreaks\\"},28:{n:\\"Note\\",f:Ds},29:{n:\\"Selection\\"},34:{n:\\"Date1904\\",f:jn},35:{n:\\"ExternName\\",f:_s},36:{n:\\"COLWIDTH\\"},38:{n:\\"LeftMargin\\",f:Zt},39:{n:\\"RightMargin\\",f:Zt},40:{n:\\"TopMargin\\",f:Zt},41:{n:\\"BottomMargin\\",f:Zt},42:{n:\\"PrintRowCol\\",f:jn},43:{n:\\"PrintGrid\\",f:jn},47:{n:\\"FilePass\\",f:io},49:{n:\\"Font\\",f:Qi},51:{n:\\"PrintSize\\",f:$n},60:{n:\\"Continue\\"},61:{n:\\"Window1\\",f:Ki},64:{n:\\"Backup\\",f:jn},65:{n:\\"Pane\\",f:Ji},66:{n:\\"CodePage\\",f:$n},77:{n:\\"Pls\\"},80:{n:\\"DCon\\"},81:{n:\\"DConRef\\"},82:{n:\\"DConName\\"},85:{n:\\"DefColWidth\\",f:$n},89:{n:\\"XCT\\"},90:{n:\\"CRN\\"},91:{n:\\"FileSharing\\"},92:{n:\\"WriteAccess\\",f:Pi},93:{n:\\"Obj\\",f:Ns},94:{n:\\"Uncalced\\"},95:{n:\\"CalcSaveRecalc\\",f:jn},96:{n:\\"Template\\"},97:{n:\\"Intl\\"},99:{n:\\"ObjProtect\\",f:jn},125:{n:\\"ColInfo\\",f:Ys},128:{n:\\"Guts\\",f:ps},129:{n:\\"WsBool\\",f:Li},130:{n:\\"GridSet\\",f:$n},131:{n:\\"HCenter\\",f:jn},132:{n:\\"VCenter\\",f:jn},133:{n:\\"BoundSheet8\\",f:Mi},134:{n:\\"WriteProtect\\"},140:{n:\\"Country\\",f:Xs},141:{n:\\"HideObj\\",f:$n},144:{n:\\"Sort\\"},146:{n:\\"Palette\\",f:Ks},151:{n:\\"Sync\\"},152:{n:\\"LPr\\"},153:{n:\\"DxGCol\\"},154:{n:\\"FnGroupName\\"},155:{n:\\"FilterMode\\"},156:{n:\\"BuiltInFnGroupCount\\",f:$n},157:{n:\\"AutoFilterInfo\\"},158:{n:\\"AutoFilter\\"},160:{n:\\"Scl\\",f:ef},161:{n:\\"Setup\\",f:Zs},174:{n:\\"ScenMan\\"},175:{n:\\"SCENARIO\\"},176:{n:\\"SxView\\"},177:{n:\\"Sxvd\\"},178:{n:\\"SXVI\\"},180:{n:\\"SxIvd\\"},181:{n:\\"SXLI\\"},182:{n:\\"SXPI\\"},184:{n:\\"DocRoute\\"},185:{n:\\"RecipName\\"},189:{n:\\"MulRk\\",f:cs},190:{n:\\"MulBlank\\",f:us},193:{n:\\"Mms\\",f:Vn},197:{n:\\"SXDI\\"},198:{n:\\"SXDB\\"},199:{n:\\"SXFDB\\"},200:{n:\\"SXDBB\\"},201:{n:\\"SXNum\\"},202:{n:\\"SxBool\\",f:jn},203:{n:\\"SxErr\\"},204:{n:\\"SXInt\\"},205:{n:\\"SXString\\"},206:{n:\\"SXDtr\\"},207:{n:\\"SxNil\\"},208:{n:\\"SXTbl\\"},209:{n:\\"SXTBRGIITM\\"},210:{n:\\"SxTbpg\\"},211:{n:\\"ObProj\\"},213:{n:\\"SXStreamID\\"},215:{n:\\"DBCell\\"},216:{n:\\"SXRng\\"},217:{n:\\"SxIsxoper\\"},218:{n:\\"BookBool\\",f:$n},220:{n:\\"DbOrParamQry\\"},221:{n:\\"ScenarioProtect\\",f:jn},222:{n:\\"OleObjectSize\\"},224:{n:\\"XF\\",f:ds},225:{n:\\"InterfaceHdr\\",f:Fi},226:{n:\\"InterfaceEnd\\",f:Vn},227:{n:\\"SXVS\\"},229:{n:\\"MergeCells\\",f:Fs},233:{n:\\"BkHim\\"},235:{n:\\"MsoDrawingGroup\\"},236:{n:\\"MsoDrawing\\"},237:{n:\\"MsoDrawingSelection\\"},239:{n:\\"PhoneticInfo\\"},240:{n:\\"SxRule\\"},241:{n:\\"SXEx\\"},242:{n:\\"SxFilt\\"},244:{n:\\"SxDXF\\"},245:{n:\\"SxItm\\"},246:{n:\\"SxName\\"},247:{n:\\"SxSelect\\"},248:{n:\\"SXPair\\"},249:{n:\\"SxFmla\\"},251:{n:\\"SxFormat\\"},252:{n:\\"SST\\",f:zi},253:{n:\\"LabelSst\\",f:es},255:{n:\\"ExtSST\\",f:Wi},256:{n:\\"SXVDEx\\"},259:{n:\\"SXFormula\\"},290:{n:\\"SXDBEx\\"},311:{n:\\"RRDInsDel\\"},312:{n:\\"RRDHead\\"},315:{n:\\"RRDChgCell\\"},317:{n:\\"RRTabId\\",f:Zn},318:{n:\\"RRDRenSheet\\"},319:{n:\\"RRSort\\"},320:{n:\\"RRDMove\\"},330:{n:\\"RRFormat\\"},331:{n:\\"RRAutoFmt\\"},333:{n:\\"RRInsertSh\\"},334:{n:\\"RRDMoveBegin\\"},335:{n:\\"RRDMoveEnd\\"},336:{n:\\"RRDInsDelBegin\\"},337:{n:\\"RRDInsDelEnd\\"},338:{n:\\"RRDConflict\\"},339:{n:\\"RRDDefName\\"},340:{n:\\"RRDRstEtxp\\"},351:{n:\\"LRng\\"},352:{n:\\"UsesELFs\\",f:jn},353:{n:\\"DSF\\",f:Vn},401:{n:\\"CUsr\\"},402:{n:\\"CbUsr\\"},403:{n:\\"UsrInfo\\"},404:{n:\\"UsrExcl\\"},405:{n:\\"FileLock\\"},406:{n:\\"RRDInfo\\"},407:{n:\\"BCUsrs\\"},408:{n:\\"UsrChk\\"},425:{n:\\"UserBView\\"},426:{n:\\"UserSViewBegin\\"},427:{n:\\"UserSViewEnd\\"},428:{n:\\"RRDUserView\\"},429:{n:\\"Qsi\\"},430:{n:\\"SupBook\\",f:Ss},431:{n:\\"Prot4Rev\\",f:jn},432:{n:\\"CondFmt\\"},433:{n:\\"CF\\"},434:{n:\\"DVal\\"},437:{n:\\"DConBin\\"},438:{n:\\"TxO\\",f:Us},439:{n:\\"RefreshAll\\",f:jn},440:{n:\\"HLink\\",f:zs},441:{n:\\"Lel\\"},442:{n:\\"CodeName\\",f:ai},443:{n:\\"SXFDBType\\"},444:{n:\\"Prot4RevPass\\",f:$n},445:{n:\\"ObNoMacros\\"},446:{n:\\"Dv\\"},448:{n:\\"Excel9File\\",f:Vn},449:{n:\\"RecalcId\\",f:Gi,r:2},450:{n:\\"EntExU2\\",f:Vn},512:{n:\\"Dimensions\\",f:fs},513:{n:\\"Blank\\",f:qs},515:{n:\\"Number\\",f:ws},516:{n:\\"Label\\",f:ts},517:{n:\\"BoolErr\\",f:bs},518:{n:\\"Formula\\",f:Ku},519:{n:\\"String\\",f:rf},520:{n:\\"Row\\",f:Vi},523:{n:\\"Index\\"},545:{n:\\"Array\\",f:Is},549:{n:\\"DefaultRowHeight\\",f:ji},566:{n:\\"Table\\"},574:{n:\\"Window2\\",f:Yi},638:{n:\\"RK\\",f:ls},659:{n:\\"Style\\"},1030:{n:\\"Formula\\",f:Ku},1048:{n:\\"BigName\\"},1054:{n:\\"Format\\",f:ns},1084:{n:\\"ContinueBigName\\"},1212:{n:\\"ShrFmla\\",f:As},2048:{n:\\"HLinkTooltip\\",f:Ws},2049:{n:\\"WebPub\\"},2050:{n:\\"QsiSXTag\\"},2051:{n:\\"DBQueryExt\\"},2052:{n:\\"ExtString\\"},2053:{n:\\"TxtQry\\"},2054:{n:\\"Qsir\\"},2055:{n:\\"Qsif\\"},2056:{n:\\"RRDTQSIF\\"},2057:{n:\\"BOF\\",f:Oi},2058:{n:\\"OleDbConn\\"},2059:{n:\\"WOpt\\"},2060:{n:\\"SXViewEx\\"},2061:{n:\\"SXTH\\"},2062:{n:\\"SXPIEx\\"},2063:{n:\\"SXVDTEx\\"},2064:{n:\\"SXViewEx9\\"},2066:{n:\\"ContinueFrt\\"},2067:{n:\\"RealTimeData\\"},2128:{n:\\"ChartFrtInfo\\"},2129:{n:\\"FrtWrapper\\"},2130:{n:\\"StartBlock\\"},2131:{n:\\"EndBlock\\"},2132:{n:\\"StartObject\\"},2133:{n:\\"EndObject\\"},2134:{n:\\"CatLab\\"},2135:{n:\\"YMult\\"},2136:{n:\\"SXViewLink\\"},2137:{n:\\"PivotChartBits\\"},2138:{n:\\"FrtFontList\\"},2146:{n:\\"SheetExt\\"},2147:{n:\\"BookExt\\",r:12},2148:{n:\\"SXAddl\\"},2149:{n:\\"CrErr\\"},2150:{n:\\"HFPicture\\"},2151:{n:\\"FeatHdr\\",f:Vn},2152:{n:\\"Feat\\"},2154:{n:\\"DataLabExt\\"},2155:{n:\\"DataLabExtContents\\"},2156:{n:\\"CellWatch\\"},2161:{n:\\"FeatHdr11\\"},2162:{n:\\"Feature11\\"},2164:{n:\\"DropDownObjIds\\"},2165:{n:\\"ContinueFrt11\\"},2166:{n:\\"DConn\\"},2167:{n:\\"List12\\"},2168:{n:\\"Feature12\\"},2169:{n:\\"CondFmt12\\"},2170:{n:\\"CF12\\"},2171:{n:\\"CFEx\\"},2172:{n:\\"XFCRC\\",f:$s,r:12},2173:{n:\\"XFExt\\",f:Il,r:12},2174:{n:\\"AutoFilter12\\"},2175:{n:\\"ContinueFrt12\\"},2180:{n:\\"MDTInfo\\"},2181:{n:\\"MDXStr\\"},2182:{n:\\"MDXTuple\\"},2183:{n:\\"MDXSet\\"},2184:{n:\\"MDXProp\\"},2185:{n:\\"MDXKPI\\"},2186:{n:\\"MDB\\"},2187:{n:\\"PLV\\"},2188:{n:\\"Compat12\\",f:jn,r:12},2189:{n:\\"DXF\\"},2190:{n:\\"TableStyles\\",r:12},2191:{n:\\"TableStyle\\"},2192:{n:\\"TableStyleElement\\"},2194:{n:\\"StyleExt\\"},2195:{n:\\"NamePublish\\"},2196:{n:\\"NameCmt\\",f:xs,r:12},2197:{n:\\"SortData\\"},2198:{n:\\"Theme\\",f:Cl,r:12},2199:{n:\\"GUIDTypeLib\\"},2200:{n:\\"FnGrp12\\"},2201:{n:\\"NameFnGrp12\\"},2202:{n:\\"MTRSettings\\",f:Rs,r:12},2203:{n:\\"CompressPictures\\",f:Vn},2204:{n:\\"HeaderFooter\\"},2205:{n:\\"CrtLayout12\\"},2206:{n:\\"CrtMlFrt\\"},2207:{n:\\"CrtMlFrtContinue\\"},2211:{n:\\"ForceFullCalculation\\",f:Xi},2212:{n:\\"ShapePropsStream\\"},2213:{n:\\"TextPropsStream\\"},2214:{n:\\"RichTextStream\\"},2215:{n:\\"CrtLayout12A\\"},4097:{n:\\"Units\\"},4098:{n:\\"Chart\\"},4099:{n:\\"Series\\"},4102:{n:\\"DataFormat\\"},4103:{n:\\"LineFormat\\"},4105:{n:\\"MarkerFormat\\"},4106:{n:\\"AreaFormat\\"},4107:{n:\\"PieFormat\\"},4108:{n:\\"AttachedLabel\\"},4109:{n:\\"SeriesText\\"},4116:{n:\\"ChartFormat\\"},4117:{n:\\"Legend\\"},4118:{n:\\"SeriesList\\"},4119:{n:\\"Bar\\"},4120:{n:\\"Line\\"},4121:{n:\\"Pie\\"},4122:{n:\\"Area\\"},4123:{n:\\"Scatter\\"},4124:{n:\\"CrtLine\\"},4125:{n:\\"Axis\\"},4126:{n:\\"Tick\\"},4127:{n:\\"ValueRange\\"},4128:{n:\\"CatSerRange\\"},4129:{n:\\"AxisLine\\"},4130:{n:\\"CrtLink\\"},4132:{n:\\"DefaultText\\"},4133:{n:\\"Text\\"},4134:{n:\\"FontX\\",f:$n},4135:{n:\\"ObjectLink\\"},4146:{n:\\"Frame\\"},4147:{n:\\"Begin\\"},4148:{n:\\"End\\"},4149:{n:\\"PlotArea\\"},4154:{n:\\"Chart3d\\"},4156:{n:\\"PicF\\"},4157:{n:\\"DropBar\\"},4158:{n:\\"Radar\\"},4159:{n:\\"Surf\\"},4160:{n:\\"RadarArea\\"},4161:{n:\\"AxisParent\\"},4163:{n:\\"LegendException\\"},4164:{n:\\"ShtProps\\",f:Js},4165:{n:\\"SerToCrt\\"},4166:{n:\\"AxesUsed\\"},4168:{n:\\"SBaseRef\\"},4170:{n:\\"SerParent\\"},4171:{n:\\"SerAuxTrend\\"},4174:{n:\\"IFmtRecord\\"},4175:{n:\\"Pos\\"},4176:{n:\\"AlRuns\\"},4177:{n:\\"BRAI\\"},4187:{n:\\"SerAuxErrBar\\"},4188:{n:\\"ClrtClient\\",f:js},4189:{n:\\"SerFmt\\"},4191:{n:\\"Chart3DBarShape\\"},4192:{n:\\"Fbi\\"},4193:{n:\\"BopPop\\"},4194:{n:\\"AxcExt\\"},4195:{n:\\"Dat\\"},4196:{n:\\"PlotGrowth\\"},4197:{n:\\"SIIndex\\"},4198:{n:\\"GelFrame\\"},4199:{n:\\"BopPopCustom\\"},4200:{n:\\"Fbi2\\"},0:{n:\\"Dimensions\\",f:fs},2:{n:\\"BIFF2INT\\",f:ff},5:{n:\\"BoolErr\\",f:bs},7:{n:\\"String\\",f:lf},8:{n:\\"BIFF2ROW\\"},11:{n:\\"Index\\"},22:{n:\\"ExternCount\\",f:$n},30:{n:\\"BIFF2FORMAT\\",f:ss},31:{n:\\"BIFF2FMTCNT\\"},32:{n:\\"BIFF2COLINFO\\"},33:{n:\\"Array\\",f:Is},37:{n:\\"DefaultRowHeight\\",f:ji},50:{n:\\"BIFF2FONTXTRA\\",f:cf},52:{n:\\"DDEObjName\\"},62:{n:\\"BIFF2WINDOW2\\"},67:{n:\\"BIFF2XF\\"},69:{n:\\"BIFF2FONTCLR\\"},86:{n:\\"BIFF4FMTCNT\\"},126:{n:\\"RK\\"},127:{n:\\"ImData\\",f:tf},135:{n:\\"Addin\\"},136:{n:\\"Edg\\"},137:{n:\\"Pub\\"},145:{n:\\"Sub\\"},148:{n:\\"LHRecord\\"},149:{n:\\"LHNGraph\\"},150:{n:\\"Sound\\"},169:{n:\\"CoordList\\"},171:{n:\\"GCW\\"},188:{n:\\"ShrFmla\\"},191:{n:\\"ToolbarHdr\\"},192:{n:\\"ToolbarEnd\\"},194:{n:\\"AddMenu\\"},195:{n:\\"DelMenu\\"},214:{n:\\"RString\\",f:uf},223:{n:\\"UDDesc\\"},234:{n:\\"TabIdConf\\"},354:{n:\\"XL5Modify\\"},421:{n:\\"FileSharing2\\"},521:{n:\\"BOF\\",f:Oi},536:{n:\\"Lbl\\",f:Bs},547:{n:\\"ExternName\\",f:_s},561:{n:\\"Font\\"},579:{n:\\"BIFF3XF\\"},1033:{n:\\"BOF\\",f:Oi},1091:{n:\\"BIFF4XF\\"},2157:{n:\\"FeatInfo\\"},2163:{n:\\"FeatInfo11\\"},2177:{n:\\"SXAddl12\\"},2240:{n:\\"AutoWebPub\\"},2241:{n:\\"ListObj\\"},2242:{n:\\"ListField\\"},2243:{n:\\"ListDV\\"},2244:{n:\\"ListCondFmt\\"},2245:{n:\\"ListCF\\"},2246:{n:\\"FMQry\\"},2247:{n:\\"FMSQry\\"},2248:{n:\\"PLV\\"},2249:{n:\\"LnExt\\"},2250:{n:\\"MkrExt\\"},2251:{n:\\"CrtCoopt\\"},2262:{n:\\"FRTArchId$\\",r:12},29282:{}};var Np=Y(Pp,\\"n\\");function Lp(e,r,t,a){var n=+r||+Np[r];if(isNaN(n))return;var i=a||(t||[]).length||0;var s=e.next(4);s._W(2,n);s._W(2,i);if(i>0&&Nr(t))e.push(t)}function Mp(e,r,t,a){var n=a||(t||[]).length||0;if(n<=8224)return Lp(e,r,t,n);var i=+r||+Np[r];if(isNaN(i))return;var s=t.parts||[],f=0;var o=0,l=0;while(l+(s[f]||8224)<=8224){l+=s[f]||8224;f++}var c=e.next(4);c._W(2,i);c._W(2,l);e.push(t.slice(o,o+l));o+=l;while(o<n){c=e.next(4);c._W(2,60);l=0;while(l+(s[f]||8224)<=8224){l+=s[f]||8224;f++}c._W(2,l);e.push(t.slice(o,o+l));o+=l}}function Up(e,r,t){if(!e)e=Jr(7);e._W(2,r);e._W(2,t);e._W(2,0);e._W(1,0);return e}function zp(e,r,t,a){var n=Jr(9);Up(n,e,r);if(a==\\"e\\"){n._W(1,t);n._W(1,1)}else{n._W(1,t?1:0);n._W(1,0)}return n}function Hp(e,r,t){var a=Jr(8+2*t.length);Up(a,e,r);a._W(1,t.length);a._W(t.length,t,\\"sbcs\\");return a.l<a.length?a.slice(0,a.l):a}function Wp(e,r,t,a){if(r.v!=null)switch(r.t){case\\"d\\":;case\\"n\\":var n=r.t==\\"d\\"?ee(oe(r.v)):r.v;if(n==(n|0)&&n>=0&&n<65536)Lp(e,2,of(t,a,n));else Lp(e,3,sf(t,a,n));return;case\\"b\\":;case\\"e\\":Lp(e,5,zp(t,a,r.v,r.t));return;case\\"s\\":;case\\"str\\":Lp(e,4,Hp(t,a,r.v));return;}Lp(e,1,Up(null,t,a))}function Vp(e,r,t,a){var n=Array.isArray(r);var i=kt(r[\\"!ref\\"]||\\"A1\\"),s,f=\\"\\",o=[];if(i.e.c>255||i.e.r>16383){if(a.WTF)throw new Error(\\"Range \\"+(r[\\"!ref\\"]||\\"A1\\")+\\" exceeds format limit A1:IV16384\\");i.e.c=Math.min(i.e.c,255);i.e.r=Math.min(i.e.c,16383);s=wt(i)}for(var l=i.s.r;l<=i.e.r;++l){f=ot(l);for(var c=i.s.c;c<=i.e.c;++c){if(l===i.s.r)o[c]=ht(c);s=o[c]+f;var u=n?(r[l]||[])[c]:r[s];if(!u)continue;Wp(e,u,l,c,a)}}}function Xp(e,r){var t=r||{};if(m!=null&&t.dense==null)t.dense=m;var a=qr();var n=0;for(var i=0;i<e.SheetNames.length;++i)if(e.SheetNames[i]==t.sheet)n=i;if(n==0&&!!t.sheet&&e.SheetNames[0]!=t.sheet)throw new Error(\\"Sheet not found: \\"+t.sheet);Lp(a,9,Di(e,16,t));Vp(a,e.Sheets[e.SheetNames[n]],n,t,e);Lp(a,10);return a.end()}function Gp(e,r,t){Lp(e,\\"Font\\",qi({sz:12,color:{theme:1},name:\\"Arial\\",family:2,scheme:\\"minor\\"},t))}function jp(e,r,t){if(!r)return;[[5,8],[23,26],[41,44],[50,392]].forEach(function(a){for(var n=a[0];n<=a[1];++n)if(r[n]!=null)Lp(e,\\"Format\\",is(n,r[n],t))})}function Kp(e,r){var t=Jr(19);t._W(4,2151);t._W(4,0);t._W(4,0);t._W(2,3);t._W(1,1);t._W(4,0);Lp(e,\\"FeatHdr\\",t);t=Jr(39);t._W(4,2152);t._W(4,0);t._W(4,0);t._W(2,3);t._W(1,0);t._W(4,0);t._W(2,1);t._W(4,4);t._W(2,0);_i(kt(r[\\"!ref\\"]||\\"A1\\"),t);t._W(4,4);Lp(e,\\"Feat\\",t)}function $p(e,r){for(var t=0;t<16;++t)Lp(e,\\"XF\\",vs({numFmtId:0,style:true},0,r));r.cellXfs.forEach(function(t){Lp(e,\\"XF\\",vs(t,0,r))})}function Yp(e,r){for(var t=0;t<r[\\"!links\\"].length;++t){var a=r[\\"!links\\"][t];Lp(e,\\"HLink\\",Hs(a));if(a[1].Tooltip)Lp(e,\\"HLinkTooltip\\",Vs(a))}delete r[\\"!links\\"]}function Zp(e,r,t,a,n){var i=16+vh(n.cellXfs,r,n);if(r.v==null&&!r.bf){Lp(e,\\"Blank\\",mi(t,a,i));return}if(r.bf)Lp(e,\\"Formula\\",$u(r,t,a,n,i));else switch(r.t){case\\"d\\":;case\\"n\\":var s=r.t==\\"d\\"?ee(oe(r.v)):r.v;Lp(e,\\"Number\\",ks(t,a,s,i,n));break;case\\"b\\":;case\\"e\\":Lp(e,517,gs(t,a,r.v,i,n,r.t));break;case\\"s\\":;case\\"str\\":if(n.bookSST){var f=uh(n.Strings,r.v,n.revStrings);Lp(e,\\"LabelSst\\",rs(t,a,f,i,n))}else Lp(e,\\"Label\\",as(t,a,r.v,i,n));break;default:Lp(e,\\"Blank\\",mi(t,a,i));}}function Jp(e,r,t){var a=qr();var n=t.SheetNames[e],i=t.Sheets[n]||{};var s=(t||{}).Workbook||{};var f=(s.Sheets||[])[e]||{};var o=Array.isArray(i);var l=r.biff==8;var c,u=\\"\\",h=[];var d=kt(i[\\"!ref\\"]||\\"A1\\");var v=l?65536:16384;if(d.e.c>255||d.e.r>=v){if(r.WTF)throw new Error(\\"Range \\"+(i[\\"!ref\\"]||\\"A1\\")+\\" exceeds format limit A1:IV16384\\");d.e.c=Math.min(d.e.c,255);d.e.r=Math.min(d.e.c,v-1)}Lp(a,2057,Di(t,16,r));Lp(a,\\"CalcMode\\",Yn(1));Lp(a,\\"CalcCount\\",Yn(100));Lp(a,\\"CalcRefMode\\",Kn(true));Lp(a,\\"CalcIter\\",Kn(false));Lp(a,\\"CalcDelta\\",Jt(.001));Lp(a,\\"CalcSaveRecalc\\",Kn(true));Lp(a,\\"PrintRowCol\\",Kn(false));Lp(a,\\"PrintGrid\\",Kn(false));Lp(a,\\"GridSet\\",Yn(1));Lp(a,\\"Guts\\",ms([0,0]));Lp(a,\\"HCenter\\",Kn(false));Lp(a,\\"VCenter\\",Kn(false));\\nLp(a,512,os(d,r));if(l)i[\\"!links\\"]=[];for(var p=d.s.r;p<=d.e.r;++p){u=ot(p);for(var m=d.s.c;m<=d.e.c;++m){if(p===d.s.r)h[m]=ht(m);c=h[m]+u;var b=o?(i[p]||[])[m]:i[c];if(!b)continue;Zp(a,b,p,m,r);if(l&&b.l)i[\\"!links\\"].push([c,b.l])}}var g=f.CodeName||f.name||n;if(l)Lp(a,\\"Window2\\",Zi((s.Views||[])[0]));if(l&&(i[\\"!merges\\"]||[]).length)Lp(a,\\"MergeCells\\",Ps(i[\\"!merges\\"]));if(l)Yp(a,i);Lp(a,\\"CodeName\\",ii(g,r));if(l)Kp(a,i);Lp(a,\\"EOF\\");return a.end()}function Qp(e,r,t){var a=qr();var n=(e||{}).Workbook||{};var i=n.Sheets||[];var s=n.WBProps||{};var f=t.biff==8,o=t.biff==5;Lp(a,2057,Di(e,5,t));if(t.bookType==\\"xla\\")Lp(a,\\"Addin\\");Lp(a,\\"InterfaceHdr\\",f?Yn(1200):null);Lp(a,\\"Mms\\",Xn(2));if(o)Lp(a,\\"ToolbarHdr\\");if(o)Lp(a,\\"ToolbarEnd\\");Lp(a,\\"InterfaceEnd\\");Lp(a,\\"WriteAccess\\",Ni(\\"SheetJS\\",t));Lp(a,\\"CodePage\\",Yn(f?1200:1252));if(f)Lp(a,\\"DSF\\",Yn(0));if(f)Lp(a,\\"Excel9File\\");Lp(a,\\"RRTabId\\",Qs(e.SheetNames.length));if(f&&e.vbaraw)Lp(a,\\"ObProj\\");if(f&&e.vbaraw){var l=s.CodeName||\\"ThisWorkbook\\";Lp(a,\\"CodeName\\",ii(l,t))}Lp(a,\\"BuiltInFnGroupCount\\",Yn(17));Lp(a,\\"WinProtect\\",Kn(false));Lp(a,\\"Protect\\",Kn(false));Lp(a,\\"Password\\",Yn(0));if(f)Lp(a,\\"Prot4Rev\\",Kn(false));if(f)Lp(a,\\"Prot4RevPass\\",Yn(0));Lp(a,\\"Window1\\",$i(t));Lp(a,\\"Backup\\",Kn(false));Lp(a,\\"HideObj\\",Yn(0));Lp(a,\\"Date1904\\",Kn(hv(e)==\\"true\\"));Lp(a,\\"CalcPrecision\\",Kn(true));if(f)Lp(a,\\"RefreshAll\\",Kn(false));Lp(a,\\"BookBool\\",Yn(0));Gp(a,e,t);jp(a,e.SSF,t);$p(a,t);if(f)Lp(a,\\"UsesELFs\\",Kn(false));var c=a.end();var u=qr();if(f)Lp(u,\\"Country\\",Gs());if(f&&t.Strings)Mp(u,\\"SST\\",Hi(t.Strings,t));Lp(u,\\"EOF\\");var h=u.end();var d=qr();var v=0,p=0;for(p=0;p<e.SheetNames.length;++p)v+=(f?12:11)+(f?2:1)*e.SheetNames[p].length;var m=c.length+v+h.length;for(p=0;p<e.SheetNames.length;++p){var b=i[p]||{};Lp(d,\\"BoundSheet8\\",Ui({pos:m,hs:b.Hidden||0,dt:0,name:e.SheetNames[p]},t));m+=r[p].length}var g=d.end();if(v!=g.length)throw new Error(\\"BS8 \\"+v+\\" != \\"+g.length);var w=[];if(c.length)w.push(c);if(g.length)w.push(g);if(h.length)w.push(h);return mr([w])}function qp(e,r){var t=r||{};var a=[];if(e&&!e.SSF){e.SSF=D.get_table()}if(e&&e.SSF){F(D);D.load_table(e.SSF);t.revssf=J(e.SSF);t.revssf[e.SSF[65535]]=0;t.ssf=e.SSF}t.Strings=[];t.Strings.Count=0;t.Strings.Unique=0;Tm(t);t.cellXfs=[];vh(t.cellXfs,{},{revssf:{General:0}});if(!e.Props)e.Props={};for(var n=0;n<e.SheetNames.length;++n)a[a.length]=Jp(n,t,e);a.unshift(Qp(e,a,t));return mr([a])}function em(e,r){var t=r||{};switch(t.biff||2){case 8:;case 5:return qp(e,r);case 4:;case 3:;case 2:return Xp(e,r);}throw new Error(\\"invalid type \\"+t.bookType+\\" for BIFF\\")}var rm=function(){function e(e,r){var t=r||{};if(m!=null&&t.dense==null)t.dense=m;var a=t.dense?[]:{};e=e.replace(/\x3c!--.*?--\x3e/g,\\"\\");var n=e.match(/<table/i);if(!n)throw new Error(\\"Invalid HTML: could not find <table>\\");var i=e.match(/<\\\\/table/i);var s=n.index,f=i&&i.index||e.length;var o=pe(e.slice(s,f),/(:?<tr[^>]*>)/i,\\"<tr>\\");var l=-1,c=0,u=0,h=0;var d={s:{r:1e7,c:1e7},e:{r:0,c:0}};var v=[];for(s=0;s<o.length;++s){var p=o[s].trim();var b=p.slice(0,3).toLowerCase();if(b==\\"<tr\\"){++l;if(t.sheetRows&&t.sheetRows<=l){--l;break}c=0;continue}if(b!=\\"<td\\"&&b!=\\"<th\\")continue;var g=p.split(/<\\\\/t[dh]>/i);for(f=0;f<g.length;++f){var w=g[f].trim();if(!w.match(/<t[dh]/i))continue;var k=w,E=0;while(k.charAt(0)==\\"<\\"&&(E=k.indexOf(\\">\\"))>-1)k=k.slice(E+1);for(var S=0;S<v.length;++S){var _=v[S];if(_.s.c==c&&_.s.r<l&&l<=_.e.r){c=_.e.c+1;S=-1}}var C=Fe(w.slice(0,w.indexOf(\\">\\")));h=C.colspan?+C.colspan:1;if((u=+C.rowspan)>1||h>1)v.push({s:{r:l,c:c},e:{r:l+(u||1)-1,c:c+h-1}});var B=C.t||\\"\\";if(!k.length){c+=h;continue}k=rr(k);if(d.s.r>l)d.s.r=l;if(d.e.r<l)d.e.r=l;if(d.s.c>c)d.s.c=c;if(d.e.c<c)d.e.c=c;if(!k.length)continue;var T={t:\\"s\\",v:k};if(t.raw||!k.trim().length||B==\\"s\\"){}else if(k===\\"TRUE\\")T={t:\\"b\\",v:true};else if(k===\\"FALSE\\")T={t:\\"b\\",v:false};else if(!isNaN(he(k)))T={t:\\"n\\",v:he(k)};else if(!isNaN(de(k).getDate())){T={t:\\"d\\",v:oe(k)};if(!t.cellDates)T={t:\\"n\\",v:ee(T.v)};T.z=t.dateNF||D._table[14]}if(t.dense){if(!a[l])a[l]=[];a[l][c]=T}else a[bt({r:l,c:c})]=T;c+=h}}a[\\"!ref\\"]=wt(d);if(v.length)a[\\"!merges\\"]=v;return a}function r(r,t){return _t(e(r,t),t)}function t(e,r,t,a){var n=e[\\"!merges\\"]||[];var i=[];for(var s=r.s.c;s<=r.e.c;++s){var f=0,o=0;for(var l=0;l<n.length;++l){if(n[l].s.r>t||n[l].s.c>s)continue;if(n[l].e.r<t||n[l].e.c<s)continue;if(n[l].s.r<t||n[l].s.c<s){f=-1;break}f=n[l].e.r-n[l].s.r+1;o=n[l].e.c-n[l].s.c+1;break}if(f<0)continue;var c=bt({r:t,c:s});var u=a.dense?(e[t]||[])[s]:e[c];var h=u&&u.v!=null&&(u.h||Xe(u.w||(St(u),u.w)||\\"\\"))||\\"\\";var d={};if(f>1)d.rowspan=f;if(o>1)d.colspan=o;d.t=u&&u.t||\\"z\\";if(a.editable)h=\'<span contenteditable=\\"true\\">\'+h+\\"</span>\\";d.id=(a.id||\\"sjs\\")+\\"-\\"+c;if(d.t!=\\"z\\"){d.v=u.v;if(u.z!=null)d.z=u.z}i.push(lr(\\"td\\",h,d))}var v=\\"<tr>\\";return v+i.join(\\"\\")+\\"</tr>\\"}function a(e,r,t){var a=[];return a.join(\\"\\")+\\"<table\\"+(t&&t.id?\' id=\\"\'+t.id+\'\\"\':\\"\\")+\\">\\"}var n=\'<html><head><meta charset=\\"utf-8\\"/><title>SheetJS Table Export</title></head><body>\';var i=\\"</body></html>\\";function s(e,r){var s=r||{};var f=s.header!=null?s.header:n;var o=s.footer!=null?s.footer:i;var l=[f];var c=gt(e[\\"!ref\\"]);s.dense=Array.isArray(e);l.push(a(e,c,s));for(var u=c.s.r;u<=c.e.r;++u)l.push(t(e,c,u,s));l.push(\\"</table>\\"+o);return l.join(\\"\\")}return{to_workbook:r,to_sheet:e,_row:t,BEGIN:n,END:i,_preamble:a,from_sheet:s}}();function tm(e,r,t){var a=t||{};if(m!=null)a.dense=m;var n=0,i=0;if(a.origin!=null){if(typeof a.origin==\\"number\\")n=a.origin;else{var s=typeof a.origin==\\"string\\"?mt(a.origin):a.origin;n=s.r;i=s.c}}var f=r.getElementsByTagName(\\"tr\\");var o=Math.min(a.sheetRows||1e7,f.length);var l={s:{r:0,c:0},e:{r:n,c:i}};if(e[\\"!ref\\"]){var c=gt(e[\\"!ref\\"]);l.s.r=Math.min(l.s.r,c.s.r);l.s.c=Math.min(l.s.c,c.s.c);l.e.r=Math.max(l.e.r,c.e.r);l.e.c=Math.max(l.e.c,c.e.c);if(n==-1)l.e.r=n=c.e.r+1}var u=[],h=0;var d=e[\\"!rows\\"]||(e[\\"!rows\\"]=[]);var v=0,p=0,b=0,g=0,w=0,k=0;if(!e[\\"!cols\\"])e[\\"!cols\\"]=[];for(;v<f.length&&p<o;++v){var E=f[v];if(im(E)){if(a.display)continue;d[p]={hidden:true}}var S=E.children;for(b=g=0;b<S.length;++b){var _=S[b];if(a.display&&im(_))continue;var C=_.hasAttribute(\\"v\\")?_.getAttribute(\\"v\\"):rr(_.innerHTML);var B=_.getAttribute(\\"z\\");for(h=0;h<u.length;++h){var T=u[h];if(T.s.c==g+i&&T.s.r<p+n&&p+n<=T.e.r){g=T.e.c+1-i;h=-1}}k=+_.getAttribute(\\"colspan\\")||1;if((w=+_.getAttribute(\\"rowspan\\")||1)>1||k>1)u.push({s:{r:p+n,c:g+i},e:{r:p+n+(w||1)-1,c:g+i+(k||1)-1}});var y={t:\\"s\\",v:C};var x=_.getAttribute(\\"t\\")||\\"\\";if(C!=null){if(C.length==0)y.t=x||\\"z\\";else if(a.raw||C.trim().length==0||x==\\"s\\"){}else if(C===\\"TRUE\\")y={t:\\"b\\",v:true};else if(C===\\"FALSE\\")y={t:\\"b\\",v:false};else if(!isNaN(he(C)))y={t:\\"n\\",v:he(C)};else if(!isNaN(de(C).getDate())){y={t:\\"d\\",v:oe(C)};if(!a.cellDates)y={t:\\"n\\",v:ee(y.v)};y.z=a.dateNF||D._table[14]}}if(y.z===undefined&&B!=null)y.z=B;if(a.dense){if(!e[p+n])e[p+n]=[];e[p+n][g+i]=y}else e[bt({c:g+i,r:p+n})]=y;if(l.e.c<g+i)l.e.c=g+i;g+=k}++p}if(u.length)e[\\"!merges\\"]=(e[\\"!merges\\"]||[]).concat(u);l.e.r=Math.max(l.e.r,p-1+n);e[\\"!ref\\"]=wt(l);if(p>=o)e[\\"!fullref\\"]=wt((l.e.r=f.length-v+p-1+n,l));return e}function am(e,r){var t=r||{};var a=t.dense?[]:{};return tm(a,e,r)}function nm(e,r){return _t(am(e,r),r)}function im(e){var r=\\"\\";var t=sm(e);if(t)r=t(e).getPropertyValue(\\"display\\");if(!r)r=e.style.display;return r===\\"none\\"}function sm(e){if(e.ownerDocument.defaultView&&typeof e.ownerDocument.defaultView.getComputedStyle===\\"function\\")return e.ownerDocument.defaultView.getComputedStyle;if(typeof getComputedStyle===\\"function\\")return getComputedStyle;return null}var fm=function(){var e=function(e){var r=e.replace(/[\\\\t\\\\r\\\\n]/g,\\" \\").trim().replace(/ +/g,\\" \\").replace(/<text:s\\\\/>/g,\\" \\").replace(/<text:s text:c=\\"(\\\\d+)\\"\\\\/>/g,function(e,r){return Array(parseInt(r,10)+1).join(\\" \\")}).replace(/<text:tab[^>]*\\\\/>/g,\\"\\\\t\\").replace(/<text:line-break\\\\/>/g,\\"\\\\n\\");var t=Me(r.replace(/<[^>]*>/g,\\"\\"));return[t]};var r={day:[\\"d\\",\\"dd\\"],month:[\\"m\\",\\"mm\\"],year:[\\"y\\",\\"yy\\"],hours:[\\"h\\",\\"hh\\"],minutes:[\\"m\\",\\"mm\\"],seconds:[\\"s\\",\\"ss\\"],\\"am-pm\\":[\\"A/P\\",\\"AM/PM\\"],\\"day-of-week\\":[\\"ddd\\",\\"dddd\\"],era:[\\"e\\",\\"ee\\"],quarter:[\\"\\\\\\\\Qm\\",\'m\\\\\\\\\\"th quarter\\"\']};return function t(a,n){var i=n||{};if(m!=null&&i.dense==null)i.dense=m;var s=sp(a);var f=[],o;var l;var c={name:\\"\\"},u=\\"\\",h=0;var d;var v;var p={},b=[];var g=i.dense?[]:{};var w,k;var E={value:\\"\\"};var S=\\"\\",_=0,C;var B=[];var T=-1,y=-1,x={s:{r:1e6,c:1e7},e:{r:0,c:0}};var A=0;var I={};var R=[],O={},D=0,F=0;var P=[],N=1,L=1;var M=[];var U={Names:[]};var z={};var H=[\\"\\",\\"\\"];var W=[],V={};var X=\\"\\",G=0;var j=false,K=false;var $=0;fp.lastIndex=0;s=s.replace(/\x3c!--([\\\\s\\\\S]*?)--\x3e/gm,\\"\\").replace(/<!DOCTYPE[^\\\\[]*\\\\[[^\\\\]]*\\\\]>/gm,\\"\\");while(w=fp.exec(s))switch(w[3]=w[3].replace(/_.*$/,\\"\\")){case\\"table\\":;case\\"工作表\\":if(w[1]===\\"/\\"){if(x.e.c>=x.s.c&&x.e.r>=x.s.r)g[\\"!ref\\"]=wt(x);else g[\\"!ref\\"]=\\"A1:A1\\";if(i.sheetRows>0&&i.sheetRows<=x.e.r){g[\\"!fullref\\"]=g[\\"!ref\\"];x.e.r=i.sheetRows-1;g[\\"!ref\\"]=wt(x)}if(R.length)g[\\"!merges\\"]=R;if(P.length)g[\\"!rows\\"]=P;d.name=d[\\"名称\\"]||d.name;if(typeof JSON!==\\"undefined\\")JSON.stringify(d);b.push(d.name);p[d.name]=g;K=false}else if(w[0].charAt(w[0].length-2)!==\\"/\\"){d=Fe(w[0],false);T=y=-1;x.s.r=x.s.c=1e7;x.e.r=x.e.c=0;g=i.dense?[]:{};R=[];P=[];K=true}break;case\\"table-row-group\\":if(w[1]===\\"/\\")--A;else++A;break;case\\"table-row\\":;case\\"行\\":if(w[1]===\\"/\\"){T+=N;N=1;break}v=Fe(w[0],false);if(v[\\"行号\\"])T=v[\\"行号\\"]-1;else if(T==-1)T=0;N=+v[\\"number-rows-repeated\\"]||1;if(N<10)for($=0;$<N;++$)if(A>0)P[T+$]={level:A};y=-1;break;case\\"covered-table-cell\\":if(w[1]!==\\"/\\")++y;if(i.sheetStubs){if(i.dense){if(!g[T])g[T]=[];g[T][y]={t:\\"z\\"}}else g[bt({r:T,c:y})]={t:\\"z\\"}}S=\\"\\";B=[];break;case\\"table-cell\\":;case\\"数据\\":if(w[0].charAt(w[0].length-2)===\\"/\\"){++y;E=Fe(w[0],false);L=parseInt(E[\\"number-columns-repeated\\"]||\\"1\\",10);k={t:\\"z\\",v:null};if(E.formula&&i.cellFormula!=false)k.f=nh(Me(E.formula));if((E[\\"数据类型\\"]||E[\\"value-type\\"])==\\"string\\"){k.t=\\"s\\";k.v=Me(E[\\"string-value\\"]||\\"\\");if(i.dense){if(!g[T])g[T]=[];g[T][y]=k}else{g[bt({r:T,c:y})]=k}}y+=L-1}else if(w[1]!==\\"/\\"){++y;L=1;var Y=N?T+N-1:T;if(y>x.e.c)x.e.c=y;if(y<x.s.c)x.s.c=y;if(T<x.s.r)x.s.r=T;if(Y>x.e.r)x.e.r=Y;E=Fe(w[0],false);W=[];V={};k={t:E[\\"数据类型\\"]||E[\\"value-type\\"],v:null};if(i.cellFormula){if(E.formula)E.formula=Me(E.formula);if(E[\\"number-matrix-columns-spanned\\"]&&E[\\"number-matrix-rows-spanned\\"]){D=parseInt(E[\\"number-matrix-rows-spanned\\"],10)||0;F=parseInt(E[\\"number-matrix-columns-spanned\\"],10)||0;O={s:{r:T,c:y},e:{r:T+D-1,c:y+F-1}};k.F=wt(O);M.push([O,k.F])}if(E.formula)k.f=nh(E.formula);else for($=0;$<M.length;++$)if(T>=M[$][0].s.r&&T<=M[$][0].e.r)if(y>=M[$][0].s.c&&y<=M[$][0].e.c)k.F=M[$][1]}if(E[\\"number-columns-spanned\\"]||E[\\"number-rows-spanned\\"]){D=parseInt(E[\\"number-rows-spanned\\"],10)||0;F=parseInt(E[\\"number-columns-spanned\\"],10)||0;O={s:{r:T,c:y},e:{r:T+D-1,c:y+F-1}};R.push(O)}if(E[\\"number-columns-repeated\\"])L=parseInt(E[\\"number-columns-repeated\\"],10);switch(k.t){case\\"boolean\\":k.t=\\"b\\";k.v=$e(E[\\"boolean-value\\"]);break;case\\"float\\":k.t=\\"n\\";k.v=parseFloat(E.value);break;case\\"percentage\\":k.t=\\"n\\";k.v=parseFloat(E.value);break;case\\"currency\\":k.t=\\"n\\";k.v=parseFloat(E.value);break;case\\"date\\":k.t=\\"d\\";k.v=oe(E[\\"date-value\\"]);if(!i.cellDates){k.t=\\"n\\";k.v=ee(k.v)}k.z=\\"m/d/yy\\";break;case\\"time\\":k.t=\\"n\\";k.v=ie(E[\\"time-value\\"])/86400;break;case\\"number\\":k.t=\\"n\\";k.v=parseFloat(E[\\"数据数值\\"]);break;default:if(k.t===\\"string\\"||k.t===\\"text\\"||!k.t){k.t=\\"s\\";if(E[\\"string-value\\"]!=null){S=Me(E[\\"string-value\\"]);B=[]}}else throw new Error(\\"Unsupported value type \\"+k.t);}}else{j=false;if(k.t===\\"s\\"){k.v=S||\\"\\";if(B.length)k.R=B;j=_==0}if(z.Target)k.l=z;if(W.length>0){k.c=W;W=[]}if(S&&i.cellText!==false)k.w=S;if(j){k.t=\\"z\\";delete k.v}if(!j||i.sheetStubs){if(!(i.sheetRows&&i.sheetRows<=T)){for(var Z=0;Z<N;++Z){L=parseInt(E[\\"number-columns-repeated\\"]||\\"1\\",10);if(i.dense){if(!g[T+Z])g[T+Z]=[];g[T+Z][y]=Z==0?k:ce(k);while(--L>0)g[T+Z][y+L]=ce(k)}else{g[bt({r:T+Z,c:y})]=k;while(--L>0)g[bt({r:T+Z,c:y+L})]=ce(k)}if(x.e.c<=y)x.e.c=y}}}L=parseInt(E[\\"number-columns-repeated\\"]||\\"1\\",10);y+=L-1;L=0;k={};S=\\"\\";B=[]}z={};break;case\\"document\\":;case\\"document-content\\":;case\\"电子表格文档\\":;case\\"spreadsheet\\":;case\\"主体\\":;case\\"scripts\\":;case\\"styles\\":;case\\"font-face-decls\\":;case\\"master-styles\\":if(w[1]===\\"/\\"){if((o=f.pop())[0]!==w[3])throw\\"Bad state: \\"+o}else if(w[0].charAt(w[0].length-2)!==\\"/\\")f.push([w[3],true]);break;case\\"annotation\\":if(w[1]===\\"/\\"){if((o=f.pop())[0]!==w[3])throw\\"Bad state: \\"+o;V.t=S;if(B.length)V.R=B;V.a=X;W.push(V)}else if(w[0].charAt(w[0].length-2)!==\\"/\\"){f.push([w[3],false])}X=\\"\\";G=0;S=\\"\\";_=0;B=[];break;case\\"creator\\":if(w[1]===\\"/\\"){X=s.slice(G,w.index)}else G=w.index+w[0].length;break;case\\"meta\\":;case\\"元数据\\":;case\\"settings\\":;case\\"config-item-set\\":;case\\"config-item-map-indexed\\":;case\\"config-item-map-entry\\":;case\\"config-item-map-named\\":;case\\"shapes\\":;case\\"frame\\":;case\\"text-box\\":;case\\"image\\":;case\\"data-pilot-tables\\":;case\\"list-style\\":;case\\"form\\":;case\\"dde-links\\":;case\\"event-listeners\\":;case\\"chart\\":if(w[1]===\\"/\\"){if((o=f.pop())[0]!==w[3])throw\\"Bad state: \\"+o}else if(w[0].charAt(w[0].length-2)!==\\"/\\")f.push([w[3],false]);S=\\"\\";_=0;B=[];break;case\\"scientific-number\\":break;case\\"currency-symbol\\":break;case\\"currency-style\\":break;case\\"number-style\\":;case\\"percentage-style\\":;case\\"date-style\\":;case\\"time-style\\":if(w[1]===\\"/\\"){I[c.name]=u;if((o=f.pop())[0]!==w[3])throw\\"Bad state: \\"+o}else if(w[0].charAt(w[0].length-2)!==\\"/\\"){u=\\"\\";c=Fe(w[0],false);f.push([w[3],true])}break;case\\"script\\":break;case\\"libraries\\":break;case\\"automatic-styles\\":break;case\\"default-style\\":;case\\"page-layout\\":break;case\\"style\\":break;case\\"map\\":break;case\\"font-face\\":break;case\\"paragraph-properties\\":break;case\\"table-properties\\":break;case\\"table-column-properties\\":break;case\\"table-row-properties\\":break;case\\"table-cell-properties\\":break;case\\"number\\":switch(f[f.length-1][0]){case\\"time-style\\":;case\\"date-style\\":l=Fe(w[0],false);u+=r[w[3]][l.style===\\"long\\"?1:0];break;}break;case\\"fraction\\":break;case\\"day\\":;case\\"month\\":;case\\"year\\":;case\\"era\\":;case\\"day-of-week\\":;case\\"week-of-year\\":;case\\"quarter\\":;case\\"hours\\":;case\\"minutes\\":;case\\"seconds\\":;case\\"am-pm\\":switch(f[f.length-1][0]){case\\"time-style\\":;case\\"date-style\\":l=Fe(w[0],false);u+=r[w[3]][l.style===\\"long\\"?1:0];break;}break;case\\"boolean-style\\":break;case\\"boolean\\":break;case\\"text-style\\":break;case\\"text\\":if(w[0].slice(-2)===\\"/>\\")break;else if(w[1]===\\"/\\")switch(f[f.length-1][0]){case\\"number-style\\":;case\\"date-style\\":;case\\"time-style\\":u+=s.slice(h,w.index);break;}else h=w.index+w[0].length;break;case\\"named-range\\":l=Fe(w[0],false);H=sh(l[\\"cell-range-address\\"]);var J={Name:l.name,Ref:H[0]+\\"!\\"+H[1]};if(K)J.Sheet=b.length;U.Names.push(J);break;case\\"text-content\\":break;case\\"text-properties\\":break;case\\"embedded-text\\":break;case\\"body\\":;case\\"电子表格\\":break;case\\"forms\\":break;case\\"table-column\\":break;case\\"table-header-rows\\":break;case\\"table-rows\\":break;case\\"table-column-group\\":break;case\\"table-header-columns\\":break;case\\"table-columns\\":break;case\\"null-date\\":break;case\\"graphic-properties\\":break;case\\"calculation-settings\\":break;case\\"named-expressions\\":break;case\\"label-range\\":break;case\\"label-ranges\\":break;case\\"named-expression\\":break;case\\"sort\\":break;case\\"sort-by\\":break;case\\"sort-groups\\":break;case\\"tab\\":break;case\\"line-break\\":break;case\\"span\\":break;case\\"p\\":;case\\"文本串\\":if([\\"master-styles\\"].indexOf(f[f.length-1][0])>-1)break;if(w[1]===\\"/\\"&&(!E||!E[\\"string-value\\"])){var Q=e(s.slice(_,w.index),C);S=(S.length>0?S+\\"\\\\n\\":\\"\\")+Q[0]}else{C=Fe(w[0],false);_=w.index+w[0].length}break;case\\"s\\":break;case\\"database-range\\":if(w[1]===\\"/\\")break;try{H=sh(Fe(w[0])[\\"target-range-address\\"]);p[H[0]][\\"!autofilter\\"]={ref:H[1]}}catch(q){}break;case\\"date\\":break;case\\"object\\":break;case\\"title\\":;case\\"标题\\":break;case\\"desc\\":break;case\\"binary-data\\":break;case\\"table-source\\":break;case\\"scenario\\":break;case\\"iteration\\":break;case\\"content-validations\\":break;case\\"content-validation\\":break;case\\"help-message\\":break;case\\"error-message\\":break;case\\"database-ranges\\":break;case\\"filter\\":break;case\\"filter-and\\":break;case\\"filter-or\\":break;case\\"filter-condition\\":break;case\\"list-level-style-bullet\\":break;case\\"list-level-style-number\\":break;case\\"list-level-properties\\":break;case\\"sender-firstname\\":;case\\"sender-lastname\\":;case\\"sender-initials\\":;case\\"sender-title\\":;case\\"sender-position\\":;case\\"sender-email\\":;case\\"sender-phone-private\\":;case\\"sender-fax\\":;case\\"sender-company\\":;case\\"sender-phone-work\\":;case\\"sender-street\\":;case\\"sender-city\\":;case\\"sender-postal-code\\":;case\\"sender-country\\":;case\\"sender-state-or-province\\":;case\\"author-name\\":;case\\"author-initials\\":;case\\"chapter\\":;case\\"file-name\\":;case\\"template-name\\":;case\\"sheet-name\\":break;case\\"event-listener\\":break;case\\"initial-creator\\":;case\\"creation-date\\":;case\\"print-date\\":;case\\"generator\\":;case\\"document-statistic\\":;case\\"user-defined\\":;case\\"editing-duration\\":;case\\"editing-cycles\\":break;case\\"config-item\\":break;case\\"page-number\\":break;case\\"page-count\\":break;case\\"time\\":break;case\\"cell-range-source\\":break;case\\"detective\\":break;case\\"operation\\":break;case\\"highlighted-range\\":break;case\\"data-pilot-table\\":;case\\"source-cell-range\\":;case\\"source-service\\":;case\\"data-pilot-field\\":;case\\"data-pilot-level\\":;case\\"data-pilot-subtotals\\":;case\\"data-pilot-subtotal\\":;case\\"data-pilot-members\\":;case\\"data-pilot-member\\":;case\\"data-pilot-display-info\\":;case\\"data-pilot-sort-info\\":;case\\"data-pilot-layout-info\\":;case\\"data-pilot-field-reference\\":;case\\"data-pilot-groups\\":;case\\"data-pilot-group\\":;case\\"data-pilot-group-member\\":break;case\\"rect\\":break;case\\"dde-connection-decls\\":;case\\"dde-connection-decl\\":;case\\"dde-link\\":;case\\"dde-source\\":break;case\\"properties\\":break;case\\"property\\":break;case\\"a\\":if(w[1]!==\\"/\\"){z=Fe(w[0],false);if(!z.href)break;z.Target=z.href;delete z.href;if(z.Target.charAt(0)==\\"#\\"&&z.Target.indexOf(\\".\\")>-1){H=sh(z.Target.slice(1));z.Target=\\"#\\"+H[0]+\\"!\\"+H[1]}}break;case\\"table-protection\\":break;case\\"data-pilot-grand-total\\":break;case\\"office-document-common-attrs\\":break;default:switch(w[2]){case\\"dc:\\":;case\\"calcext:\\":;case\\"loext:\\":;case\\"ooo:\\":;case\\"chartooo:\\":;case\\"draw:\\":;case\\"style:\\":;case\\"chart:\\":;case\\"form:\\":;case\\"uof:\\":;case\\"表:\\":;case\\"字:\\":break;default:if(i.WTF)throw new Error(w);};}var re={Sheets:p,SheetNames:b,Workbook:U};if(i.bookSheets)delete re.Sheets;return re}}();function om(e,r){r=r||{};var t=!!we(e,\\"objectdata\\");if(t)ja(Ee(e,\\"META-INF/manifest.xml\\"),r);var a=Se(e,\\"content.xml\\");if(!a)throw new Error(\\"Missing content.xml in \\"+(t?\\"ODS\\":\\"UOF\\")+\\" file\\");var n=fm(t?a:Ye(a),r);if(we(e,\\"meta.xml\\"))n.Props=en(Ee(e,\\"meta.xml\\"));return n}function lm(e,r){return fm(e,r)}var cm=function(){var e=\\"<office:document-styles \\"+or({\\"xmlns:office\\":\\"urn:oasis:names:tc:opendocument:xmlns:office:1.0\\",\\"xmlns:table\\":\\"urn:oasis:names:tc:opendocument:xmlns:table:1.0\\",\\"xmlns:style\\":\\"urn:oasis:names:tc:opendocument:xmlns:style:1.0\\",\\"xmlns:text\\":\\"urn:oasis:names:tc:opendocument:xmlns:text:1.0\\",\\"xmlns:draw\\":\\"urn:oasis:names:tc:opendocument:xmlns:drawing:1.0\\",\\"xmlns:fo\\":\\"urn:oasis:names:tc:opendocument:xmlns:xsl-fo-compatible:1.0\\",\\"xmlns:xlink\\":\\"http://www.w3.org/1999/xlink\\",\\"xmlns:dc\\":\\"http://purl.org/dc/elements/1.1/\\",\\"xmlns:number\\":\\"urn:oasis:names:tc:opendocument:xmlns:datastyle:1.0\\",\\"xmlns:svg\\":\\"urn:oasis:names:tc:opendocument:xmlns:svg-compatible:1.0\\",\\"xmlns:of\\":\\"urn:oasis:names:tc:opendocument:xmlns:of:1.2\\",\\"office:version\\":\\"1.2\\"})+\\"></office:document-styles>\\";return function r(){return Ae+e}}();var um=function(){var e=function(e){return He(e).replace(/ +/g,function(e){return\'<text:s text:c=\\"\'+e.length+\'\\"/>\'}).replace(/\\\\t/g,\\"<text:tab/>\\").replace(/\\\\n/g,\\"<text:line-break/>\\").replace(/^ /,\\"<text:s/>\\").replace(/ $/,\\"<text:s/>\\")};var r=\\" <table:table-cell />\\\\n\\";var t=\\" <table:covered-table-cell/>\\\\n\\";var a=function(a,n,i){var s=[];s.push(\' <table:table table:name=\\"\'+He(n.SheetNames[i])+\'\\" table:style-name=\\"ta1\\">\\\\n\');var f=0,o=0,l=gt(a[\\"!ref\\"]);var c=a[\\"!merges\\"]||[],u=0;var h=Array.isArray(a);for(f=0;f<l.s.r;++f)s.push(\\" <table:table-row></table:table-row>\\\\n\\");for(;f<=l.e.r;++f){s.push(\\" <table:table-row>\\\\n\\");for(o=0;o<l.s.c;++o)s.push(r);for(;o<=l.e.c;++o){var d=false,v={},p=\\"\\";for(u=0;u!=c.length;++u){if(c[u].s.c>o)continue;if(c[u].s.r>f)continue;if(c[u].e.c<o)continue;if(c[u].e.r<f)continue;if(c[u].s.c!=o||c[u].s.r!=f)d=true;v[\\"table:number-columns-spanned\\"]=c[u].e.c-c[u].s.c+1;v[\\"table:number-rows-spanned\\"]=c[u].e.r-c[u].s.r+1;break}if(d){s.push(t);continue}var m=bt({r:f,c:o}),b=h?(a[f]||[])[o]:a[m];if(b&&b.f){v[\\"table:formula\\"]=He(ih(b.f));if(b.F){if(b.F.slice(0,m.length)==m){var g=gt(b.F);v[\\"table:number-matrix-columns-spanned\\"]=g.e.c-g.s.c+1;v[\\"table:number-matrix-rows-spanned\\"]=g.e.r-g.s.r+1}}}if(!b){s.push(r);continue}switch(b.t){case\\"b\\":p=b.v?\\"TRUE\\":\\"FALSE\\";v[\\"office:value-type\\"]=\\"boolean\\";v[\\"office:boolean-value\\"]=b.v?\\"true\\":\\"false\\";break;case\\"n\\":p=b.w||String(b.v||0);v[\\"office:value-type\\"]=\\"float\\";v[\\"office:value\\"]=b.v||0;break;case\\"s\\":;case\\"str\\":p=b.v==null?\\"\\":b.v;v[\\"office:value-type\\"]=\\"string\\";break;case\\"d\\":p=b.w||oe(b.v).toISOString();v[\\"office:value-type\\"]=\\"date\\";v[\\"office:date-value\\"]=oe(b.v).toISOString();v[\\"table:style-name\\"]=\\"ce1\\";break;default:s.push(r);continue;}var w=e(p);if(b.l&&b.l.Target){var k=b.l.Target;k=k.charAt(0)==\\"#\\"?\\"#\\"+fh(k.slice(1)):k;w=lr(\\"text:a\\",w,{\\"xlink:href\\":k})}s.push(\\" \\"+lr(\\"table:table-cell\\",lr(\\"text:p\\",w,{}),v)+\\"\\\\n\\")}s.push(\\" </table:table-row>\\\\n\\")}s.push(\\" </table:table>\\\\n\\");return s.join(\\"\\")};var n=function(e){e.push(\\" <office:automatic-styles>\\\\n\\");e.push(\' <number:date-style style:name=\\"N37\\" number:automatic-order=\\"true\\">\\\\n\');e.push(\' <number:month number:style=\\"long\\"/>\\\\n\');e.push(\\" <number:text>/</number:text>\\\\n\\");e.push(\' <number:day number:style=\\"long\\"/>\\\\n\');e.push(\\" <number:text>/</number:text>\\\\n\\");e.push(\\" <number:year/>\\\\n\\");e.push(\\" </number:date-style>\\\\n\\");e.push(\' <style:style style:name=\\"ta1\\" style:family=\\"table\\">\\\\n\');e.push(\' <style:table-properties table:display=\\"true\\" style:writing-mode=\\"lr-tb\\"/>\\\\n\');e.push(\\" </style:style>\\\\n\\");e.push(\' <style:style style:name=\\"ce1\\" style:family=\\"table-cell\\" style:parent-style-name=\\"Default\\" style:data-style-name=\\"N37\\"/>\\\\n\');e.push(\\" </office:automatic-styles>\\\\n\\")};return function i(e,r){var t=[Ae];var i=or({\\"xmlns:office\\":\\"urn:oasis:names:tc:opendocument:xmlns:office:1.0\\",\\"xmlns:table\\":\\"urn:oasis:names:tc:opendocument:xmlns:table:1.0\\",\\"xmlns:style\\":\\"urn:oasis:names:tc:opendocument:xmlns:style:1.0\\",\\"xmlns:text\\":\\"urn:oasis:names:tc:opendocument:xmlns:text:1.0\\",\\"xmlns:draw\\":\\"urn:oasis:names:tc:opendocument:xmlns:drawing:1.0\\",\\"xmlns:fo\\":\\"urn:oasis:names:tc:opendocument:xmlns:xsl-fo-compatible:1.0\\",\\"xmlns:xlink\\":\\"http://www.w3.org/1999/xlink\\",\\"xmlns:dc\\":\\"http://purl.org/dc/elements/1.1/\\",\\"xmlns:meta\\":\\"urn:oasis:names:tc:opendocument:xmlns:meta:1.0\\",\\"xmlns:number\\":\\"urn:oasis:names:tc:opendocument:xmlns:datastyle:1.0\\",\\"xmlns:presentation\\":\\"urn:oasis:names:tc:opendocument:xmlns:presentation:1.0\\",\\"xmlns:svg\\":\\"urn:oasis:names:tc:opendocument:xmlns:svg-compatible:1.0\\",\\"xmlns:chart\\":\\"urn:oasis:names:tc:opendocument:xmlns:chart:1.0\\",\\"xmlns:dr3d\\":\\"urn:oasis:names:tc:opendocument:xmlns:dr3d:1.0\\",\\"xmlns:math\\":\\"http://www.w3.org/1998/Math/MathML\\",\\"xmlns:form\\":\\"urn:oasis:names:tc:opendocument:xmlns:form:1.0\\",\\"xmlns:script\\":\\"urn:oasis:names:tc:opendocument:xmlns:script:1.0\\",\\"xmlns:ooo\\":\\"http://openoffice.org/2004/office\\",\\"xmlns:ooow\\":\\"http://openoffice.org/2004/writer\\",\\"xmlns:oooc\\":\\"http://openoffice.org/2004/calc\\",\\"xmlns:dom\\":\\"http://www.w3.org/2001/xml-events\\",\\"xmlns:xforms\\":\\"http://www.w3.org/2002/xforms\\",\\"xmlns:xsd\\":\\"http://www.w3.org/2001/XMLSchema\\",\\"xmlns:xsi\\":\\"http://www.w3.org/2001/XMLSchema-instance\\",\\"xmlns:sheet\\":\\"urn:oasis:names:tc:opendocument:sh33tjs:1.0\\",\\"xmlns:rpt\\":\\"http://openoffice.org/2005/report\\",\\"xmlns:of\\":\\"urn:oasis:names:tc:opendocument:xmlns:of:1.2\\",\\"xmlns:xhtml\\":\\"http://www.w3.org/1999/xhtml\\",\\"xmlns:grddl\\":\\"http://www.w3.org/2003/g/data-view#\\",\\"xmlns:tableooo\\":\\"http://openoffice.org/2009/table\\",\\"xmlns:drawooo\\":\\"http://openoffice.org/2010/draw\\",\\"xmlns:calcext\\":\\"urn:org:documentfoundation:names:experimental:calc:xmlns:calcext:1.0\\",\\"xmlns:loext\\":\\"urn:org:documentfoundation:names:experimental:office:xmlns:loext:1.0\\",\\"xmlns:field\\":\\"urn:openoffice:names:experimental:ooo-ms-interop:xmlns:field:1.0\\",\\"xmlns:formx\\":\\"urn:openoffice:names:experimental:ooxml-odf-interop:xmlns:form:1.0\\",\\"xmlns:css3t\\":\\"http://www.w3.org/TR/css3-text/\\",\\"office:version\\":\\"1.2\\"});var s=or({\\"xmlns:config\\":\\"urn:oasis:names:tc:opendocument:xmlns:config:1.0\\",\\"office:mimetype\\":\\"application/vnd.oasis.opendocument.spreadsheet\\"});if(r.bookType==\\"fods\\")t.push(\\"<office:document\\"+i+s+\\">\\\\n\\");else t.push(\\"<office:document-content\\"+i+\\">\\\\n\\");n(t);t.push(\\" <office:body>\\\\n\\");t.push(\\" <office:spreadsheet>\\\\n\\");for(var f=0;f!=e.SheetNames.length;++f)t.push(a(e.Sheets[e.SheetNames[f]],e,f,r));t.push(\\" </office:spreadsheet>\\\\n\\");t.push(\\" </office:body>\\\\n\\");if(r.bookType==\\"fods\\")t.push(\\"</office:document>\\");else t.push(\\"</office:document-content>\\");return t.join(\\"\\")}}();function hm(e,r){if(r.bookType==\\"fods\\")return um(e,r);var t=Te();var a=\\"\\";var n=[];var i=[];a=\\"mimetype\\";Ce(t,a,\\"application/vnd.oasis.opendocument.spreadsheet\\");a=\\"content.xml\\";Ce(t,a,um(e,r));n.push([a,\\"text/xml\\"]);i.push([a,\\"ContentFile\\"]);a=\\"styles.xml\\";Ce(t,a,cm(e,r));n.push([a,\\"text/xml\\"]);i.push([a,\\"StylesFile\\"]);a=\\"meta.xml\\";Ce(t,a,Ja());n.push([a,\\"text/xml\\"]);i.push([a,\\"MetadataFile\\"]);a=\\"manifest.rdf\\";Ce(t,a,Za(i));n.push([a,\\"application/rdf+xml\\"]);a=\\"META-INF/manifest.xml\\";Ce(t,a,Ka(n));return t}function dm(e,r){if(!r)return 0;var t=e.SheetNames.indexOf(r);if(t==-1)throw new Error(\\"Sheet not found: \\"+r);return t}function vm(e){return function r(t,a){var n=dm(t,a.sheet);return e.from_sheet(t.Sheets[t.SheetNames[n]],a,t)}}var pm=vm(rm);var mm=vm({from_sheet:nb});var bm=vm(typeof df!==\\"undefined\\"?df:{});var gm=vm(typeof vf!==\\"undefined\\"?vf:{});var wm=vm(typeof mf!==\\"undefined\\"?mf:{});var km=vm(typeof so!==\\"undefined\\"?so:{});var Em=vm({from_sheet:ib});var Sm=vm(typeof hf!==\\"undefined\\"?hf:{});var _m=vm(typeof pf!==\\"undefined\\"?pf:{});function Cm(e){return function r(t){for(var a=0;a!=e.length;++a){var n=e[a];if(t[n[0]]===undefined)t[n[0]]=n[1];if(n[2]===\\"n\\")t[n[0]]=Number(t[n[0]])}}}var Bm=function(e){Cm([[\\"cellNF\\",false],[\\"cellHTML\\",true],[\\"cellFormula\\",true],[\\"cellStyles\\",false],[\\"cellText\\",true],[\\"cellDates\\",false],[\\"sheetStubs\\",false],[\\"sheetRows\\",0,\\"n\\"],[\\"bookDeps\\",false],[\\"bookSheets\\",false],[\\"bookProps\\",false],[\\"bookFiles\\",false],[\\"bookVBA\\",false],[\\"password\\",\\"\\"],[\\"WTF\\",false]])(e)};var Tm=Cm([[\\"cellDates\\",false],[\\"bookSST\\",false],[\\"bookType\\",\\"xlsx\\"],[\\"compression\\",false],[\\"WTF\\",false]]);function ym(e){if(Ma.WS.indexOf(e)>-1)return\\"sheet\\";if(Ma.CS&&e==Ma.CS)return\\"chart\\";if(Ma.DS&&e==Ma.DS)return\\"dialog\\";if(Ma.MS&&e==Ma.MS)return\\"macro\\";return e&&e.length?e:\\"sheet\\"}function xm(e,r){if(!e)return 0;try{e=r.map(function a(r){if(!r.id)r.id=r.strRelID;return[r.name,e[\\"!id\\"][r.id].Target,ym(e[\\"!id\\"][r.id].Type)]})}catch(t){return null}return!e||e.length===0?null:e}function Am(e,r,t,a,n,i,s,f,o,l,c,u){try{i[a]=za(Se(e,t,true),r);var h=Ee(e,r);var d;switch(f){case\\"sheet\\":d=Fv(h,r,n,o,i[a],l,c,u);break;case\\"chart\\":d=Pv(h,r,n,o,i[a],l,c,u);if(!d||!d[\\"!drawel\\"])break;var v=xe(d[\\"!drawel\\"].Target,r);var p=Ua(v);var m=Ll(Se(e,v,true),za(Se(e,p,true),v));var b=xe(m,v);var g=Ua(b);d=Qd(Se(e,b,true),b,o,za(Se(e,g,true),b),l,d);break;case\\"macro\\":d=Nv(h,r,n,o,i[a],l,c,u);break;case\\"dialog\\":d=Lv(h,r,n,o,i[a],l,c,u);break;default:throw new Error(\\"Unrecognized sheet type \\"+f);}s[a]=d;var w=[];if(i&&i[a])K(i[a]).forEach(function(t){if(i[a][t].Type==Ma.CMNT){var n=xe(i[a][t].Target,r);w=Hv(Ee(e,n,true),n,o);if(!w||!w.length)return;zl(d,w)}})}catch(k){if(o.WTF)throw k}}function Im(e){return e.charAt(0)==\\"/\\"?e.slice(1):e}function Rm(e,r){F(D);r=r||{};Bm(r);if(we(e,\\"META-INF/manifest.xml\\"))return om(e,r);if(we(e,\\"objectdata.xml\\"))return om(e,r);if(we(e,\\"Index/Document.iwa\\"))throw new Error(\\"Unsupported NUMBERS file\\");var t=_e(e);var a=Fa(Se(e,\\"[Content_Types].xml\\"));var n=false;var i,s;if(a.workbooks.length===0){s=\\"xl/workbook.xml\\";if(Ee(e,s,true))a.workbooks.push(s)}if(a.workbooks.length===0){s=\\"xl/workbook.bin\\";if(!Ee(e,s,true))throw new Error(\\"Could not find workbook\\");a.workbooks.push(s);n=true}if(a.workbooks[0].slice(-3)==\\"bin\\")n=true;var f={};var o={};if(!r.bookSheets&&!r.bookProps){oh=[];if(a.sst)try{oh=zv(Ee(e,Im(a.sst)),a.sst,r)}catch(l){if(r.WTF)throw l}if(r.cellStyles&&a.themes.length)f=Uv(Se(e,a.themes[0].replace(/^\\\\//,\\"\\"),true)||\\"\\",a.themes[0],r);if(a.style)o=Mv(Ee(e,Im(a.style)),a.style,f,r)}a.links.map(function(t){try{var a=za(Se(e,Ua(Im(t))),t);return Vv(Ee(e,Im(t)),a,t,r)}catch(n){}});var c=Dv(Ee(e,Im(a.workbooks[0])),a.workbooks[0],r);var u={},h=\\"\\";if(a.coreprops.length){h=Ee(e,Im(a.coreprops[0]),true);if(h)u=en(h);if(a.extprops.length!==0){h=Ee(e,Im(a.extprops[0]),true);if(h)on(h,u,r)}}var d={};if(!r.bookSheets||r.bookProps){if(a.custprops.length!==0){h=Se(e,Im(a.custprops[0]),true);if(h)d=hn(h,r)}}var v={};if(r.bookSheets||r.bookProps){if(c.Sheets)i=c.Sheets.map(function I(e){return e.name});else if(u.Worksheets&&u.SheetNames.length>0)i=u.SheetNames;if(r.bookProps){v.Props=u;v.Custprops=d}if(r.bookSheets&&typeof i!==\\"undefined\\")v.SheetNames=i;if(r.bookSheets?v.SheetNames:r.bookProps)return v}i={};var p={};if(r.bookDeps&&a.calcchain)p=Wv(Ee(e,Im(a.calcchain)),a.calcchain,r);var m=0;var b={};var g,w;{var k=c.Sheets;u.Worksheets=k.length;u.SheetNames=[];for(var E=0;E!=k.length;++E){u.SheetNames[E]=k[E].name}}var S=n?\\"bin\\":\\"xml\\";var _=a.workbooks[0].lastIndexOf(\\"/\\");var C=(a.workbooks[0].slice(0,_+1)+\\"_rels/\\"+a.workbooks[0].slice(_+1)+\\".rels\\").replace(/^\\\\//,\\"\\");if(!we(e,C))C=\\"xl/_rels/workbook.\\"+S+\\".rels\\";var B=za(Se(e,C,true),C);if(B)B=xm(B,c.Sheets);var T=Ee(e,\\"xl/worksheets/sheet.xml\\",true)?1:0;e:for(m=0;m!=u.Worksheets;++m){var y=\\"sheet\\";if(B&&B[m]){g=\\"xl/\\"+B[m][1].replace(/[\\\\/]?xl\\\\//,\\"\\");if(!we(e,g))g=B[m][1];if(!we(e,g))g=C.replace(/_rels\\\\/.*$/,\\"\\")+B[m][1];y=B[m][2]}else{g=\\"xl/worksheets/sheet\\"+(m+1-T)+\\".\\"+S;g=g.replace(/sheet0\\\\./,\\"sheet.\\")}w=g.replace(/^(.*)(\\\\/)([^\\\\/]*)$/,\\"$1/_rels/$3.rels\\");if(r&&r.sheets!=null)switch(typeof r.sheets){case\\"number\\":if(m!=r.sheets)continue e;break;case\\"string\\":if(u.SheetNames[m].toLowerCase()!=r.sheets.toLowerCase())continue e;break;default:if(Array.isArray&&Array.isArray(r.sheets)){var x=false;for(var A=0;A!=r.sheets.length;++A){if(typeof r.sheets[A]==\\"number\\"&&r.sheets[A]==m)x=1;if(typeof r.sheets[A]==\\"string\\"&&r.sheets[A].toLowerCase()==u.SheetNames[m].toLowerCase())x=1}if(!x)continue e};}Am(e,g,w,u.SheetNames[m],m,b,i,y,r,c,f,o)}v={Directory:a,Workbook:c,Props:u,Custprops:d,Deps:p,Sheets:i,SheetNames:u.SheetNames,Strings:oh,Styles:o,Themes:f,SSF:D.get_table()};if(r&&r.bookFiles){v.keys=t;v.files=e.files}if(r&&r.bookVBA){if(a.vba.length>0)v.vbaraw=Ee(e,Im(a.vba[0]),true);else if(a.defaults&&a.defaults.bin===Zl)v.vbaraw=Ee(e,\\"xl/vbaProject.bin\\",true)}return v}function Om(e,r){var t=r||{};var a=\\"Workbook\\",n=W.find(e,a);try{a=\\"/!DataSpaces/Version\\";n=W.find(e,a);if(!n||!n.content)throw new Error(\\"ECMA-376 Encrypted file missing \\"+a);Uf(n.content);a=\\"/!DataSpaces/DataSpaceMap\\";n=W.find(e,a);if(!n||!n.content)throw new Error(\\"ECMA-376 Encrypted file missing \\"+a);var i=Hf(n.content);if(i.length!==1||i[0].comps.length!==1||i[0].comps[0].t!==0||i[0].name!==\\"StrongEncryptionDataSpace\\"||i[0].comps[0].v!==\\"EncryptedPackage\\")throw new Error(\\"ECMA-376 Encrypted file bad \\"+a);a=\\"/!DataSpaces/DataSpaceInfo/StrongEncryptionDataSpace\\";n=W.find(e,a);if(!n||!n.content)throw new Error(\\"ECMA-376 Encrypted file missing \\"+a);var s=Wf(n.content);if(s.length!=1||s[0]!=\\"StrongEncryptionTransform\\")throw new Error(\\"ECMA-376 Encrypted file bad \\"+a);a=\\"/!DataSpaces/TransformInfo/StrongEncryptionTransform/!Primary\\";n=W.find(e,a);if(!n||!n.content)throw new Error(\\"ECMA-376 Encrypted file missing \\"+a);Xf(n.content)}catch(f){}a=\\"/EncryptionInfo\\";n=W.find(e,a);if(!n||!n.content)throw new Error(\\"ECMA-376 Encrypted file missing \\"+a);var o=Kf(n.content);a=\\"/EncryptedPackage\\";n=W.find(e,a);if(!n||!n.content)throw new Error(\\"ECMA-376 Encrypted file missing \\"+a);if(o[0]==4&&typeof decrypt_agile!==\\"undefined\\")return decrypt_agile(o[1],n.content,t.password||\\"\\",t);if(o[0]==2&&typeof decrypt_std76!==\\"undefined\\")return decrypt_std76(o[1],n.content,t.password||\\"\\",t);\\nthrow new Error(\\"File is password-protected\\")}function Dm(e,r){Ml=1024;if(r.bookType==\\"ods\\")return hm(e,r);if(e&&!e.SSF){e.SSF=D.get_table()}if(e&&e.SSF){F(D);D.load_table(e.SSF);r.revssf=J(e.SSF);r.revssf[e.SSF[65535]]=0;r.ssf=e.SSF}r.rels={};r.wbrels={};r.Strings=[];r.Strings.Count=0;r.Strings.Unique=0;if(ch)r.revStrings=new Map;else{r.revStrings={};r.revStrings.foo=[];delete r.revStrings.foo}var t=r.bookType==\\"xlsb\\"?\\"bin\\":\\"xml\\";var a=ql.indexOf(r.bookType)>-1;var n=Da();Tm(r=r||{});var i=Te();var s=\\"\\",f=0;r.cellXfs=[];vh(r.cellXfs,{},{revssf:{General:0}});if(!e.Props)e.Props={};s=\\"docProps/core.xml\\";Ce(i,s,an(e.Props,r));n.coreprops.push(s);Xa(r.rels,2,s,Ma.CORE_PROPS);s=\\"docProps/app.xml\\";if(e.Props&&e.Props.SheetNames){}else if(!e.Workbook||!e.Workbook.Sheets)e.Props.SheetNames=e.SheetNames;else{var o=[];for(var l=0;l<e.SheetNames.length;++l)if((e.Workbook.Sheets[l]||{}).Hidden!=2)o.push(e.SheetNames[l]);e.Props.SheetNames=o}e.Props.Worksheets=e.Props.SheetNames.length;Ce(i,s,cn(e.Props,r));n.extprops.push(s);Xa(r.rels,3,s,Ma.EXT_PROPS);if(e.Custprops!==e.Props&&K(e.Custprops||{}).length>0){s=\\"docProps/custom.xml\\";Ce(i,s,vn(e.Custprops,r));n.custprops.push(s);Xa(r.rels,4,s,Ma.CUST_PROPS)}for(f=1;f<=e.SheetNames.length;++f){var c={\\"!id\\":{}};var u=e.Sheets[e.SheetNames[f-1]];var h=(u||{})[\\"!type\\"]||\\"sheet\\";switch(h){case\\"chart\\":;default:s=\\"xl/worksheets/sheet\\"+f+\\".\\"+t;Ce(i,s,Gv(f-1,s,r,e,c));n.sheets.push(s);Xa(r.wbrels,-1,\\"worksheets/sheet\\"+f+\\".\\"+t,Ma.WS[0]);}if(u){var d=u[\\"!comments\\"];var v=false;if(d&&d.length>0){var p=\\"xl/comments\\"+f+\\".\\"+t;Ce(i,p,Yv(d,p,r));n.comments.push(p);Xa(c,-1,\\"../comments\\"+f+\\".\\"+t,Ma.CMNT);v=true}if(u[\\"!legacy\\"]){if(v)Ce(i,\\"xl/drawings/vmlDrawing\\"+f+\\".vml\\",Ul(f,u[\\"!comments\\"]))}delete u[\\"!comments\\"];delete u[\\"!legacy\\"]}if(c[\\"!id\\"].rId1)Ce(i,Ua(s),Wa(c))}if(r.Strings!=null&&r.Strings.length>0){s=\\"xl/sharedStrings.\\"+t;Ce(i,s,$v(r.Strings,s,r));n.strs.push(s);Xa(r.wbrels,-1,\\"sharedStrings.\\"+t,Ma.SST)}s=\\"xl/workbook.\\"+t;Ce(i,s,Xv(e,s,r));n.workbooks.push(s);Xa(r.rels,1,s,Ma.WB);s=\\"xl/theme/theme1.xml\\";Ce(i,s,_l(e.Themes,r));n.themes.push(s);Xa(r.wbrels,-1,\\"theme/theme1.xml\\",Ma.THEME);s=\\"xl/styles.\\"+t;Ce(i,s,Kv(e,s,r));n.styles.push(s);Xa(r.wbrels,-1,\\"styles.\\"+t,Ma.STY);if(e.vbaraw&&a){s=\\"xl/vbaProject.bin\\";Ce(i,s,e.vbaraw);n.vba.push(s);Xa(r.wbrels,-1,\\"vbaProject.bin\\",Ma.VBA)}Ce(i,\\"[Content_Types].xml\\",La(n,r));Ce(i,\\"_rels/.rels\\",Wa(r.rels));Ce(i,\\"xl/_rels/workbook.\\"+t+\\".rels\\",Wa(r.wbrels));delete r.revssf;delete r.ssf;return i}function Fm(e,r){var t=\\"\\";switch((r||{}).type||\\"base64\\"){case\\"buffer\\":return[e[0],e[1],e[2],e[3],e[4],e[5],e[6],e[7]];case\\"base64\\":t=g.decode(e.slice(0,12));break;case\\"binary\\":t=e;break;case\\"array\\":return[e[0],e[1],e[2],e[3],e[4],e[5],e[6],e[7]];default:throw new Error(\\"Unrecognized type \\"+(r&&r.type||\\"undefined\\"));}return[t.charCodeAt(0),t.charCodeAt(1),t.charCodeAt(2),t.charCodeAt(3),t.charCodeAt(4),t.charCodeAt(5),t.charCodeAt(6),t.charCodeAt(7)]}function Pm(e,r){if(W.find(e,\\"EncryptedPackage\\"))return Om(e,r);return Rp(e,r)}function Nm(e,r){var t,a=e;var n=r||{};if(!n.type)n.type=w&&Buffer.isBuffer(e)?\\"buffer\\":\\"base64\\";t=ye(a,n);return Rm(t,n)}function Lm(e,r){var t=0;e:while(t<e.length)switch(e.charCodeAt(t)){case 10:;case 13:;case 32:++t;break;case 60:return lp(e.slice(t),r);default:break e;}return mf.to_workbook(e,r)}function Mm(e,r){var t=\\"\\",a=Fm(e,r);switch(r.type){case\\"base64\\":t=g.decode(e);break;case\\"binary\\":t=e;break;case\\"buffer\\":t=e.toString(\\"binary\\");break;case\\"array\\":t=le(e);break;default:throw new Error(\\"Unrecognized type \\"+r.type);}if(a[0]==239&&a[1]==187&&a[2]==191)t=Ye(t);return Lm(t,r)}function Um(e,r){var t=e;if(r.type==\\"base64\\")t=g.decode(t);t=cptable.utils.decode(1200,t.slice(2),\\"str\\");r.type=\\"binary\\";return Lm(t,r)}function zm(e){return!e.match(/[^\\\\x00-\\\\x7F]/)?e:Ze(e)}function Hm(e,r,t,a){if(a){t.type=\\"string\\";return mf.to_workbook(e,t)}return mf.to_workbook(r,t)}function Wm(e,r){l();if(typeof ArrayBuffer!==\\"undefined\\"&&e instanceof ArrayBuffer)return Wm(new Uint8Array(e),r);var t=e,a=[0,0,0,0],n=false;var i=r||{};if(i.cellStyles){i.cellNF=true;i.sheetStubs=true}lh={};if(i.dateNF)lh.dateNF=i.dateNF;if(!i.type)i.type=w&&Buffer.isBuffer(e)?\\"buffer\\":\\"base64\\";if(i.type==\\"file\\"){i.type=w?\\"buffer\\":\\"binary\\";t=j(e)}if(i.type==\\"string\\"){n=true;i.type=\\"binary\\";i.codepage=65001;t=zm(e)}if(i.type==\\"array\\"&&typeof Uint8Array!==\\"undefined\\"&&e instanceof Uint8Array&&typeof ArrayBuffer!==\\"undefined\\"){var s=new ArrayBuffer(3),f=new Uint8Array(s);f.foo=\\"bar\\";if(!f.foo){i=ce(i);i.type=\\"array\\";return Wm(A(t),i)}}switch((a=Fm(t,i))[0]){case 208:if(a[1]===207&&a[2]===17&&a[3]===224&&a[4]===161&&a[5]===177&&a[6]===26&&a[7]===225)return Pm(W.read(t,i),i);break;case 9:if(a[1]<=4)return Rp(t,i);break;case 60:return lp(t,i);case 73:if(a[1]===68)return bf(t,i);break;case 84:if(a[1]===65&&a[2]===66&&a[3]===76)return vf.to_workbook(t,i);break;case 80:return a[1]===75&&a[2]<9&&a[3]<9?Nm(t,i):Hm(e,t,i,n);case 239:return a[3]===60?lp(t,i):Hm(e,t,i,n);case 255:if(a[1]===254){return Um(t,i)}break;case 0:if(a[1]===0&&a[2]>=2&&a[3]===0)return gf.to_workbook(t,i);break;case 3:;case 131:;case 139:;case 140:return hf.to_workbook(t,i);case 123:if(a[1]===92&&a[2]===114&&a[3]===116)return so.to_workbook(t,i);break;case 10:;case 13:;case 32:return Mm(t,i);}if(hf.versions.indexOf(a[0])>-1&&a[2]<=12&&a[3]<=31)return hf.to_workbook(t,i);return Hm(e,t,i,n)}function Vm(e,r){var t=r||{};t.type=\\"file\\";return Wm(e,t)}function Xm(e,r){switch(r.type){case\\"base64\\":;case\\"binary\\":break;case\\"buffer\\":;case\\"array\\":r.type=\\"\\";break;case\\"file\\":return G(r.file,W.write(e,{type:w?\\"buffer\\":\\"\\"}));case\\"string\\":throw new Error(\\"\'string\' output type invalid for \'\\"+r.bookType+\\"\' files\\");default:throw new Error(\\"Unrecognized type \\"+r.type);}return W.write(e,r)}function Gm(e,r){var t=r||{};var a=Dm(e,t);var n={};if(t.compression)n.compression=\\"DEFLATE\\";if(t.password)n.type=w?\\"nodebuffer\\":\\"string\\";else switch(t.type){case\\"base64\\":n.type=\\"base64\\";break;case\\"binary\\":n.type=\\"string\\";break;case\\"string\\":throw new Error(\\"\'string\' output type invalid for \'\\"+t.bookType+\\"\' files\\");case\\"buffer\\":;case\\"file\\":n.type=w?\\"nodebuffer\\":\\"string\\";break;default:throw new Error(\\"Unrecognized type \\"+t.type);}var i=a.FullPaths?W.write(a,{fileType:\\"zip\\",type:{nodebuffer:\\"buffer\\",string:\\"binary\\"}[n.type]||n.type}):a.generate(n);if(t.password&&typeof encrypt_agile!==\\"undefined\\")return Xm(encrypt_agile(i,t.password),t);if(t.type===\\"file\\")return G(t.file,i);return t.type==\\"string\\"?Ye(i):i}function jm(e,r){var t=r||{};var a=Op(e,t);return Xm(a,t)}function Km(e,r,t){if(!t)t=\\"\\";var a=t+e;switch(r.type){case\\"base64\\":return g.encode(Ze(a));case\\"binary\\":return Ze(a);case\\"string\\":return e;case\\"file\\":return G(r.file,a,\\"utf8\\");case\\"buffer\\":{if(w)return k(a,\\"utf8\\");else return Km(a,{type:\\"binary\\"}).split(\\"\\").map(function(e){return e.charCodeAt(0)})};}throw new Error(\\"Unrecognized type \\"+r.type)}function $m(e,r){switch(r.type){case\\"base64\\":return g.encode(e);case\\"binary\\":return e;case\\"string\\":return e;case\\"file\\":return G(r.file,e,\\"binary\\");case\\"buffer\\":{if(w)return k(e,\\"binary\\");else return e.split(\\"\\").map(function(e){return e.charCodeAt(0)})};}throw new Error(\\"Unrecognized type \\"+r.type)}function Ym(e,r){switch(r.type){case\\"string\\":;case\\"base64\\":;case\\"binary\\":var t=\\"\\";for(var a=0;a<e.length;++a)t+=String.fromCharCode(e[a]);return r.type==\\"base64\\"?g.encode(t):r.type==\\"string\\"?Ye(t):t;case\\"file\\":return G(r.file,e);case\\"buffer\\":return e;default:throw new Error(\\"Unrecognized type \\"+r.type);}}function Zm(e,r){l();mv(e);var t=r||{};if(t.cellStyles){t.cellNF=true;t.sheetStubs=true}if(t.type==\\"array\\"){t.type=\\"binary\\";var a=Zm(e,t);t.type=\\"array\\";return T(a)}switch(t.bookType||\\"xlsb\\"){case\\"xml\\":;case\\"xlml\\":return Km(Sp(e,t),t);case\\"slk\\":;case\\"sylk\\":return Km(bm(e,t),t);case\\"htm\\":;case\\"html\\":return Km(pm(e,t),t);case\\"txt\\":return $m(Em(e,t),t);case\\"csv\\":return Km(mm(e,t),t,\\"\\\\ufeff\\");case\\"dif\\":return Km(gm(e,t),t);case\\"dbf\\":return Ym(Sm(e,t),t);case\\"prn\\":return Km(wm(e,t),t);case\\"rtf\\":return Km(km(e,t),t);case\\"eth\\":return Km(_m(e,t),t);case\\"fods\\":return Km(hm(e,t),t);case\\"biff2\\":if(!t.biff)t.biff=2;case\\"biff3\\":if(!t.biff)t.biff=3;case\\"biff4\\":if(!t.biff)t.biff=4;return Ym(em(e,t),t);case\\"biff5\\":if(!t.biff)t.biff=5;case\\"biff8\\":;case\\"xla\\":;case\\"xls\\":if(!t.biff)t.biff=8;return jm(e,t);case\\"xlsx\\":;case\\"xlsm\\":;case\\"xlam\\":;case\\"xlsb\\":;case\\"ods\\":return Gm(e,t);default:throw new Error(\\"Unrecognized bookType |\\"+t.bookType+\\"|\\");}}function Jm(e){if(e.bookType)return;var r={xls:\\"biff8\\",htm:\\"html\\",slk:\\"sylk\\",socialcalc:\\"eth\\",Sh33tJS:\\"WTF\\"};var t=e.file.slice(e.file.lastIndexOf(\\".\\")).toLowerCase();if(t.match(/^\\\\.[a-z]+$/))e.bookType=t.slice(1);e.bookType=r[e.bookType]||e.bookType}function Qm(e,r,t){var a=t||{};a.type=\\"file\\";a.file=r;Jm(a);return Zm(e,a)}function qm(e,r,t,a){var n=t||{};n.type=\\"file\\";n.file=e;Jm(n);n.type=\\"buffer\\";var i=a;if(!(i instanceof Function))i=t;return V.writeFile(e,Zm(r,n),i)}function eb(e,r,t,a,n,i,s,f){var o=ot(t);var l=f.defval,c=f.raw||!Object.prototype.hasOwnProperty.call(f,\\"raw\\");var u=true;var h=n===1?[]:{};if(n!==1){if(Object.defineProperty)try{Object.defineProperty(h,\\"__rowNum__\\",{value:t,enumerable:false})}catch(d){h.__rowNum__=t}else h.__rowNum__=t}if(!s||e[t])for(var v=r.s.c;v<=r.e.c;++v){var p=s?e[t][v]:e[a[v]+o];if(p===undefined||p.t===undefined){if(l===undefined)continue;if(i[v]!=null){h[i[v]]=l}continue}var m=p.v;switch(p.t){case\\"z\\":if(m==null)break;continue;case\\"e\\":m=void 0;break;case\\"s\\":;case\\"d\\":;case\\"b\\":;case\\"n\\":break;default:throw new Error(\\"unrecognized type \\"+p.t);}if(i[v]!=null){if(m==null){if(l!==undefined)h[i[v]]=l;else if(c&&m===null)h[i[v]]=null;else continue}else{h[i[v]]=c||f.rawNumbers&&p.t==\\"n\\"?m:St(p,m,f)}if(m!=null)u=false}}return{row:h,isempty:u}}function rb(e,r){if(e==null||e[\\"!ref\\"]==null)return[];var t={t:\\"n\\",v:0},a=0,n=1,i=[],s=0,f=\\"\\";var o={s:{r:0,c:0},e:{r:0,c:0}};var l=r||{};var c=l.range!=null?l.range:e[\\"!ref\\"];if(l.header===1)a=1;else if(l.header===\\"A\\")a=2;else if(Array.isArray(l.header))a=3;else if(l.header==null)a=0;switch(typeof c){case\\"string\\":o=kt(c);break;case\\"number\\":o=kt(e[\\"!ref\\"]);o.s.r=c;break;default:o=c;}if(a>0)n=0;var u=ot(o.s.r);var h=[];var d=[];var v=0,p=0;var m=Array.isArray(e);var b=o.s.r,g=0,w=0;if(m&&!e[b])e[b]=[];for(g=o.s.c;g<=o.e.c;++g){h[g]=ht(g);t=m?e[b][g]:e[h[g]+u];switch(a){case 1:i[g]=g-o.s.c;break;case 2:i[g]=h[g];break;case 3:i[g]=l.header[g-o.s.c];break;default:if(t==null)t={w:\\"__EMPTY\\",t:\\"s\\"};f=s=St(t,null,l);p=0;for(w=0;w<i.length;++w)if(i[w]==f)f=s+\\"_\\"+ ++p;i[g]=f;}}for(b=o.s.r+n;b<=o.e.r;++b){var k=eb(e,o,b,h,a,i,m,l);if(k.isempty===false||(a===1?l.blankrows!==false:!!l.blankrows))d[v++]=k.row}d.length=v;return d}var tb=/\\"/g;function ab(e,r,t,a,n,i,s,f){var o=true;var l=[],c=\\"\\",u=ot(t);for(var h=r.s.c;h<=r.e.c;++h){if(!a[h])continue;var d=f.dense?(e[t]||[])[h]:e[a[h]+u];if(d==null)c=\\"\\";else if(d.v!=null){o=false;c=\\"\\"+(f.rawNumbers&&d.t==\\"n\\"?d.v:St(d,null,f));for(var v=0,p=0;v!==c.length;++v)if((p=c.charCodeAt(v))===n||p===i||p===34||f.forceQuotes){c=\'\\"\'+c.replace(tb,\'\\"\\"\')+\'\\"\';break}if(c==\\"ID\\")c=\'\\"ID\\"\'}else if(d.f!=null&&!d.F){o=false;c=\\"=\\"+d.f;if(c.indexOf(\\",\\")>=0)c=\'\\"\'+c.replace(tb,\'\\"\\"\')+\'\\"\'}else c=\\"\\";l.push(c)}if(f.blankrows===false&&o)return null;return l.join(s)}function nb(e,r){var t=[];var a=r==null?{}:r;if(e==null||e[\\"!ref\\"]==null)return\\"\\";var n=kt(e[\\"!ref\\"]);var i=a.FS!==undefined?a.FS:\\",\\",s=i.charCodeAt(0);var f=a.RS!==undefined?a.RS:\\"\\\\n\\",o=f.charCodeAt(0);var l=new RegExp((i==\\"|\\"?\\"\\\\\\\\|\\":i)+\\"+$\\");var c=\\"\\",u=[];a.dense=Array.isArray(e);var h=a.skipHidden&&e[\\"!cols\\"]||[];var d=a.skipHidden&&e[\\"!rows\\"]||[];for(var v=n.s.c;v<=n.e.c;++v)if(!(h[v]||{}).hidden)u[v]=ht(v);for(var p=n.s.r;p<=n.e.r;++p){if((d[p]||{}).hidden)continue;c=ab(e,n,p,u,s,o,i,a);if(c==null){continue}if(a.strip)c=c.replace(l,\\"\\");t.push(c+f)}delete a.dense;return t.join(\\"\\")}function ib(e,r){if(!r)r={};r.FS=\\"\\\\t\\";r.RS=\\"\\\\n\\";var t=nb(e,r);if(typeof cptable==\\"undefined\\"||r.type==\\"string\\")return t;var a=cptable.utils.encode(1200,t,\\"str\\");return String.fromCharCode(255)+String.fromCharCode(254)+a}function sb(e){var r=\\"\\",t,a=\\"\\";if(e==null||e[\\"!ref\\"]==null)return[];var n=kt(e[\\"!ref\\"]),i=\\"\\",s=[],f;var o=[];var l=Array.isArray(e);for(f=n.s.c;f<=n.e.c;++f)s[f]=ht(f);for(var c=n.s.r;c<=n.e.r;++c){i=ot(c);for(f=n.s.c;f<=n.e.c;++f){r=s[f]+i;t=l?(e[c]||[])[f]:e[r];a=\\"\\";if(t===undefined)continue;else if(t.F!=null){r=t.F;if(!t.f)continue;a=t.f;if(r.indexOf(\\":\\")==-1)r=r+\\":\\"+r}if(t.f!=null)a=t.f;else if(t.t==\\"z\\")continue;else if(t.t==\\"n\\"&&t.v!=null)a=\\"\\"+t.v;else if(t.t==\\"b\\")a=t.v?\\"TRUE\\":\\"FALSE\\";else if(t.w!==undefined)a=\\"\'\\"+t.w;else if(t.v===undefined)continue;else if(t.t==\\"s\\")a=\\"\'\\"+t.v;else a=\\"\\"+t.v;o[o.length]=r+\\"=\\"+a}}return o}function fb(e,r,t){var a=t||{};var n=+!a.skipHeader;var i=e||{};var s=0,f=0;if(i&&a.origin!=null){if(typeof a.origin==\\"number\\")s=a.origin;else{var o=typeof a.origin==\\"string\\"?mt(a.origin):a.origin;s=o.r;f=o.c}}var l;var c={s:{c:0,r:0},e:{c:f,r:s+r.length-1+n}};if(i[\\"!ref\\"]){var u=kt(i[\\"!ref\\"]);c.e.c=Math.max(c.e.c,u.e.c);c.e.r=Math.max(c.e.r,u.e.r);if(s==-1){s=u.e.r+1;c.e.r=s+r.length-1+n}}else{if(s==-1){s=0;c.e.r=r.length-1+n}}var h=a.header||[],d=0;r.forEach(function(e,r){K(e).forEach(function(t){if((d=h.indexOf(t))==-1)h[d=h.length]=t;var o=e[t];var c=\\"z\\";var u=\\"\\";var v=bt({c:f+d,r:s+r+n});l=lb.sheet_get_cell(i,v);if(o&&typeof o===\\"object\\"&&!(o instanceof Date)){i[v]=o}else{if(typeof o==\\"number\\")c=\\"n\\";else if(typeof o==\\"boolean\\")c=\\"b\\";else if(typeof o==\\"string\\")c=\\"s\\";else if(o instanceof Date){c=\\"d\\";if(!a.cellDates){c=\\"n\\";o=ee(o)}u=a.dateNF||D._table[14]}if(!l)i[v]=l={t:c,v:o};else{l.t=c;l.v=o;delete l.w;delete l.R;if(u)l.z=u}if(u)l.z=u}})});c.e.c=Math.max(c.e.c,f+h.length-1);var v=ot(s);if(n)for(d=0;d<h.length;++d)i[ht(d+f)+v]={t:\\"s\\",v:h[d]};i[\\"!ref\\"]=wt(c);return i}function ob(e,r){return fb(null,e,r)}var lb={encode_col:ht,encode_row:ot,encode_cell:bt,encode_range:wt,decode_col:ut,decode_row:ft,split_cell:pt,decode_cell:mt,decode_range:gt,format_cell:St,get_formulae:sb,make_csv:nb,make_json:rb,make_formulae:sb,sheet_add_aoa:Ct,sheet_add_json:fb,sheet_add_dom:tm,aoa_to_sheet:Bt,json_to_sheet:ob,table_to_sheet:am,table_to_book:nm,sheet_to_csv:nb,sheet_to_txt:ib,sheet_to_json:rb,sheet_to_html:rm.from_sheet,sheet_to_formulae:sb,sheet_to_row_object_array:rb};(function(e){e.consts=e.consts||{};function r(r){r.forEach(function(r){e.consts[r[0]]=r[1]})}function t(e,r,t){return e[r]!=null?e[r]:e[r]=t}function a(e,r,t){if(typeof r==\\"string\\"){if(Array.isArray(e)){var n=mt(r);if(!e[n.r])e[n.r]=[];return e[n.r][n.c]||(e[n.r][n.c]={t:\\"z\\"})}return e[r]||(e[r]={t:\\"z\\"})}if(typeof r!=\\"number\\")return a(e,bt(r));return a(e,bt({r:r,c:t||0}))}e.sheet_get_cell=a;function n(e,r){if(typeof r==\\"number\\"){if(r>=0&&e.SheetNames.length>r)return r;throw new Error(\\"Cannot find sheet # \\"+r)}else if(typeof r==\\"string\\"){var t=e.SheetNames.indexOf(r);if(t>-1)return t;throw new Error(\\"Cannot find sheet name |\\"+r+\\"|\\")}else throw new Error(\\"Cannot find sheet |\\"+r+\\"|\\")}e.book_new=function(){return{SheetNames:[],Sheets:{}}};e.book_append_sheet=function(e,r,t){if(!t)for(var a=1;a<=65535;++a,t=undefined)if(e.SheetNames.indexOf(t=\\"Sheet\\"+a)==-1)break;if(!t||e.SheetNames.length>=65535)throw new Error(\\"Too many worksheets\\");vv(t);if(e.SheetNames.indexOf(t)>=0)throw new Error(\\"Worksheet with name |\\"+t+\\"| already exists!\\");e.SheetNames.push(t);e.Sheets[t]=r};e.book_set_sheet_visibility=function(e,r,a){t(e,\\"Workbook\\",{});t(e.Workbook,\\"Sheets\\",[]);var i=n(e,r);t(e.Workbook.Sheets,i,{});switch(a){case 0:;case 1:;case 2:break;default:throw new Error(\\"Bad sheet visibility setting \\"+a);}e.Workbook.Sheets[i].Hidden=a};r([[\\"SHEET_VISIBLE\\",0],[\\"SHEET_HIDDEN\\",1],[\\"SHEET_VERY_HIDDEN\\",2]]);e.cell_set_number_format=function(e,r){e.z=r;return e};e.cell_set_hyperlink=function(e,r,t){if(!r){delete e.l}else{e.l={Target:r};if(t)e.l.Tooltip=t}return e};e.cell_set_internal_link=function(r,t,a){return e.cell_set_hyperlink(r,\\"#\\"+t,a)};e.cell_add_comment=function(e,r,t){if(!e.c)e.c=[];e.c.push({t:r,a:t||\\"SheetJS\\"})};e.sheet_set_array_formula=function(e,r,t){var n=typeof r!=\\"string\\"?r:kt(r);var i=typeof r==\\"string\\"?r:wt(r);for(var s=n.s.r;s<=n.e.r;++s)for(var f=n.s.c;f<=n.e.c;++f){var o=a(e,s,f);o.t=\\"n\\";o.F=i;delete o.v;if(s==n.s.r&&f==n.s.c)o.f=t}return e};return e})(lb);if(w&&typeof require!=\\"undefined\\")(function(){var r={}.Readable;var t=function(e,t){var a=r();var n=t==null?{}:t;if(e==null||e[\\"!ref\\"]==null){a.push(null);return a}var i=kt(e[\\"!ref\\"]);var s=n.FS!==undefined?n.FS:\\",\\",f=s.charCodeAt(0);var o=n.RS!==undefined?n.RS:\\"\\\\n\\",l=o.charCodeAt(0);var c=new RegExp((s==\\"|\\"?\\"\\\\\\\\|\\":s)+\\"+$\\");var u=\\"\\",h=[];n.dense=Array.isArray(e);var d=n.skipHidden&&e[\\"!cols\\"]||[];var v=n.skipHidden&&e[\\"!rows\\"]||[];for(var p=i.s.c;p<=i.e.c;++p)if(!(d[p]||{}).hidden)h[p]=ht(p);var m=i.s.r;var b=false;a._read=function(){if(!b){b=true;return a.push(\\"\\\\ufeff\\")}while(m<=i.e.r){++m;if((v[m-1]||{}).hidden)continue;u=ab(e,i,m-1,h,f,l,s,n);if(u!=null){if(n.strip)u=u.replace(c,\\"\\");a.push(u+o);break}}if(m>i.e.r)return a.push(null)};return a};var a=function(e,t){var a=r();var n=t||{};var i=n.header!=null?n.header:rm.BEGIN;var s=n.footer!=null?n.footer:rm.END;a.push(i);var f=gt(e[\\"!ref\\"]);n.dense=Array.isArray(e);a.push(rm._preamble(e,f,n));var o=f.s.r;var l=false;a._read=function(){if(o>f.e.r){if(!l){l=true;a.push(\\"</table>\\"+s)}return a.push(null)}while(o<=f.e.r){a.push(rm._row(e,f,o,n));++o;break}};return a};var n=function(e,t){var a=r({objectMode:true});if(e==null||e[\\"!ref\\"]==null){a.push(null);return a}var n={t:\\"n\\",v:0},i=0,s=1,f=[],o=0,l=\\"\\";var c={s:{r:0,c:0},e:{r:0,c:0}};var u=t||{};var h=u.range!=null?u.range:e[\\"!ref\\"];if(u.header===1)i=1;else if(u.header===\\"A\\")i=2;else if(Array.isArray(u.header))i=3;switch(typeof h){case\\"string\\":c=kt(h);break;case\\"number\\":c=kt(e[\\"!ref\\"]);c.s.r=h;break;default:c=h;}if(i>0)s=0;var d=ot(c.s.r);var v=[];var p=0;var m=Array.isArray(e);var b=c.s.r,g=0,w=0;if(m&&!e[b])e[b]=[];for(g=c.s.c;g<=c.e.c;++g){v[g]=ht(g);n=m?e[b][g]:e[v[g]+d];switch(i){case 1:f[g]=g-c.s.c;break;case 2:f[g]=v[g];break;case 3:f[g]=u.header[g-c.s.c];break;default:if(n==null)n={w:\\"__EMPTY\\",t:\\"s\\"};l=o=St(n,null,u);p=0;for(w=0;w<f.length;++w)if(f[w]==l)l=o+\\"_\\"+ ++p;f[g]=l;}}b=c.s.r+s;a._read=function(){if(b>c.e.r)return a.push(null);while(b<=c.e.r){var r=eb(e,c,b,v,i,f,m,u);++b;if(r.isempty===false||(i===1?u.blankrows!==false:!!u.blankrows)){a.push(r.row);break}}};return a};e.stream={to_json:n,to_html:a,to_csv:t}})();if(typeof Rp!==\\"undefined\\")e.parse_xlscfb=Rp;e.parse_zip=Rm;e.read=Wm;e.readFile=Vm;e.readFileSync=Vm;e.write=Zm;e.writeFile=Qm;e.writeFileSync=Qm;e.writeFileAsync=qm;e.utils=lb;e.SSF=D;if(typeof W!==\\"undefined\\")e.CFB=W}if(typeof exports!==\\"undefined\\")make_xlsx_lib(exports);else if(typeof module!==\\"undefined\\"&&module.exports)make_xlsx_lib(module.exports);else if(typeof define===\\"function\\"&&define.amd)define(function(){if(!XLSX.version)make_xlsx_lib(XLSX);return XLSX});else make_xlsx_lib(XLSX);var XLS=XLSX,ODS=XLSX;\\n"//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGUwWi5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy94bHN4L2Rpc3QveGxzeC5jb3JlLm1pbi5qcz84ZWU4Il0sInNvdXJjZXNDb250ZW50IjpbIm1vZHVsZS5leHBvcnRzID0gXCIvKiEgeGxzeC5qcyAoQykgMjAxMy1wcmVzZW50IFNoZWV0SlMgLS0gaHR0cDovL3NoZWV0anMuY29tICovXFxudmFyIERPX05PVF9FWFBPUlRfQ09ERVBBR0U9dHJ1ZTt2YXIgRE9fTk9UX0VYUE9SVF9KU1pJUD10cnVlOyhmdW5jdGlvbihlKXtpZihcXFwib2JqZWN0XFxcIj09dHlwZW9mIGV4cG9ydHMmJlxcXCJ1bmRlZmluZWRcXFwiIT10eXBlb2YgbW9kdWxlJiZcXFwidW5kZWZpbmVkXFxcIj09dHlwZW9mIERPX05PVF9FWFBPUlRfSlNaSVApbW9kdWxlLmV4cG9ydHM9ZSgpO2Vsc2UgaWYoXFxcImZ1bmN0aW9uXFxcIj09dHlwZW9mIGRlZmluZSYmZGVmaW5lLmFtZCYmXFxcInVuZGVmaW5lZFxcXCI9PXR5cGVvZiBET19OT1RfRVhQT1JUX0pTWklQKXtKU1ppcFN5bmM9ZSgpO2RlZmluZShbXSxlKX1lbHNle3ZhciByO1xcXCJ1bmRlZmluZWRcXFwiIT10eXBlb2YgZ2xvYmFsVGhpcz9yPWdsb2JhbFRoaXM6XFxcInVuZGVmaW5lZFxcXCIhPXR5cGVvZiB3aW5kb3c/cj13aW5kb3c6XFxcInVuZGVmaW5lZFxcXCIhPXR5cGVvZiBnbG9iYWw/cj1nbG9iYWw6XFxcInVuZGVmaW5lZFxcXCIhPXR5cGVvZiAkJiYkLmdsb2JhbD9yPSQuZ2xvYmFsOlxcXCJ1bmRlZmluZWRcXFwiIT10eXBlb2Ygc2VsZiYmKHI9c2VsZiksci5KU1ppcFN5bmM9ZSgpfX0pKGZ1bmN0aW9uKCl7dmFyIGUscix0O3JldHVybiBmdW5jdGlvbiBhKGUscix0KXtmdW5jdGlvbiBuKHMsZil7aWYoIXJbc10pe2lmKCFlW3NdKXt2YXIgbz10eXBlb2YgcmVxdWlyZT09XFxcImZ1bmN0aW9uXFxcIiYmcmVxdWlyZTtpZighZiYmbylyZXR1cm4gbyhzLCEwKTtpZihpKXJldHVybiBpKHMsITApO3Rocm93IG5ldyBFcnJvcihcXFwiQ2Fubm90IGZpbmQgbW9kdWxlICdcXFwiK3MrXFxcIidcXFwiKX12YXIgbD1yW3NdPXtleHBvcnRzOnt9fTtlW3NdWzBdLmNhbGwobC5leHBvcnRzLGZ1bmN0aW9uKHIpe3ZhciB0PWVbc11bMV1bcl07cmV0dXJuIG4odD90OnIpfSxsLGwuZXhwb3J0cyxhLGUscix0KX1yZXR1cm4gcltzXS5leHBvcnRzfXZhciBpPXR5cGVvZiByZXF1aXJlPT1cXFwiZnVuY3Rpb25cXFwiJiZyZXF1aXJlO2Zvcih2YXIgcz0wO3M8dC5sZW5ndGg7cysrKW4odFtzXSk7cmV0dXJuIG59KHsxOltmdW5jdGlvbihlLHIsdCl7XFxcInVzZSBzdHJpY3RcXFwiO3ZhciBhPVxcXCJBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWmFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6MDEyMzQ1Njc4OSsvPVxcXCI7dC5lbmNvZGU9ZnVuY3Rpb24oZSxyKXt2YXIgdD1cXFwiXFxcIjt2YXIgbixpLHMsZixvLGwsYzt2YXIgdT0wO3doaWxlKHU8ZS5sZW5ndGgpe249ZS5jaGFyQ29kZUF0KHUrKyk7aT1lLmNoYXJDb2RlQXQodSsrKTtzPWUuY2hhckNvZGVBdCh1KyspO2Y9bj4+MjtvPShuJjMpPDw0fGk+PjQ7bD0oaSYxNSk8PDJ8cz4+NjtjPXMmNjM7aWYoaXNOYU4oaSkpe2w9Yz02NH1lbHNlIGlmKGlzTmFOKHMpKXtjPTY0fXQ9dCthLmNoYXJBdChmKSthLmNoYXJBdChvKSthLmNoYXJBdChsKSthLmNoYXJBdChjKX1yZXR1cm4gdH07dC5kZWNvZGU9ZnVuY3Rpb24oZSxyKXt2YXIgdD1cXFwiXFxcIjt2YXIgbixpLHM7dmFyIGYsbyxsLGM7dmFyIHU9MDtlPWUucmVwbGFjZSgvW15BLVphLXowLTlcXFxcK1xcXFwvXFxcXD1dL2csXFxcIlxcXCIpO3doaWxlKHU8ZS5sZW5ndGgpe2Y9YS5pbmRleE9mKGUuY2hhckF0KHUrKykpO289YS5pbmRleE9mKGUuY2hhckF0KHUrKykpO2w9YS5pbmRleE9mKGUuY2hhckF0KHUrKykpO2M9YS5pbmRleE9mKGUuY2hhckF0KHUrKykpO249Zjw8MnxvPj40O2k9KG8mMTUpPDw0fGw+PjI7cz0obCYzKTw8NnxjO3Q9dCtTdHJpbmcuZnJvbUNoYXJDb2RlKG4pO2lmKGwhPTY0KXt0PXQrU3RyaW5nLmZyb21DaGFyQ29kZShpKX1pZihjIT02NCl7dD10K1N0cmluZy5mcm9tQ2hhckNvZGUocyl9fXJldHVybiB0fX0se31dLDI6W2Z1bmN0aW9uKGUscix0KXtcXFwidXNlIHN0cmljdFxcXCI7ZnVuY3Rpb24gYSgpe3RoaXMuY29tcHJlc3NlZFNpemU9MDt0aGlzLnVuY29tcHJlc3NlZFNpemU9MDt0aGlzLmNyYzMyPTA7dGhpcy5jb21wcmVzc2lvbk1ldGhvZD1udWxsO3RoaXMuY29tcHJlc3NlZENvbnRlbnQ9bnVsbH1hLnByb3RvdHlwZT17Z2V0Q29udGVudDpmdW5jdGlvbigpe3JldHVybiBudWxsfSxnZXRDb21wcmVzc2VkQ29udGVudDpmdW5jdGlvbigpe3JldHVybiBudWxsfX07ci5leHBvcnRzPWF9LHt9XSwzOltmdW5jdGlvbihlLHIsdCl7XFxcInVzZSBzdHJpY3RcXFwiO3QuU1RPUkU9e21hZ2ljOlxcXCJcXFxcMFxcXFwwXFxcIixjb21wcmVzczpmdW5jdGlvbihlKXtyZXR1cm4gZX0sdW5jb21wcmVzczpmdW5jdGlvbihlKXtyZXR1cm4gZX0sY29tcHJlc3NJbnB1dFR5cGU6bnVsbCx1bmNvbXByZXNzSW5wdXRUeXBlOm51bGx9O3QuREVGTEFURT1lKFxcXCIuL2ZsYXRlXFxcIil9LHtcXFwiLi9mbGF0ZVxcXCI6OH1dLDQ6W2Z1bmN0aW9uKGUscix0KXtcXFwidXNlIHN0cmljdFxcXCI7dmFyIGE9ZShcXFwiLi91dGlsc1xcXCIpO3ZhciBuPVswLDE5OTY5NTk4OTQsMzk5MzkxOTc4OCwyNTY3NTI0Nzk0LDEyNDYzNDEzNywxODg2MDU3NjE1LDM5MTU2MjE2ODUsMjY1NzM5MjAzNSwyNDkyNjgyNzQsMjA0NDUwODMyNCwzNzcyMTE1MjMwLDI1NDcxNzc4NjQsMTYyOTQxOTk1LDIxMjU1NjEwMjEsMzg4NzYwNzA0NywyNDI4NDQ0MDQ5LDQ5ODUzNjU0OCwxNzg5OTI3NjY2LDQwODkwMTY2NDgsMjIyNzA2MTIxNCw0NTA1NDg4NjEsMTg0MzI1ODYwMyw0MTA3NTgwNzUzLDIyMTE2Nzc2MzksMzI1ODgzOTkwLDE2ODQ3NzcxNTIsNDI1MTEyMjA0MiwyMzIxOTI2NjM2LDMzNTYzMzQ4NywxNjYxMzY1NDY1LDQxOTUzMDI3NTUsMjM2NjExNTMxNyw5OTcwNzMwOTYsMTI4MTk1Mzg4NiwzNTc5ODU1MzMyLDI3MjQ2ODgyNDIsMTAwNjg4ODE0NSwxMjU4NjA3Njg3LDM1MjQxMDE2MjksMjc2ODk0MjQ0Myw5MDEwOTc3MjIsMTExOTAwMDY4NCwzNjg2NTE3MjA2LDI4OTgwNjU3MjgsODUzMDQ0NDUxLDExNzIyNjYxMDEsMzcwNTAxNTc1OSwyODgyNjE2NjY1LDY1MTc2Nzk4MCwxMzczNTAzNTQ2LDMzNjk1NTQzMDQsMzIxODEwNDU5OCw1NjU1MDcyNTMsMTQ1NDYyMTczMSwzNDg1MTExNzA1LDMwOTk0MzYzMDMsNjcxMjY2OTc0LDE1OTQxOTgwMjQsMzMyMjczMDkzMCwyOTcwMzQ3ODEyLDc5NTgzNTUyNywxNDgzMjMwMjI1LDMyNDQzNjcyNzUsMzA2MDE0OTU2NSwxOTk0MTQ2MTkyLDMxMTU4NTM0LDI1NjM5MDc3NzIsNDAyMzcxNzkzMCwxOTA3NDU5NDY1LDExMjYzNzIxNSwyNjgwMTUzMjUzLDM5MDQ0MjcwNTksMjAxMzc3NjI5MCwyNTE3MjIwMzYsMjUxNzIxNTM3NCwzNzc1ODMwMDQwLDIxMzc2NTY3NjMsMTQxMzc2ODEzLDI0MzkyNzc3MTksMzg2NTI3MTI5NywxODAyMTk1NDQ0LDQ3Njg2NDg2NiwyMjM4MDAxMzY4LDQwNjY1MDg4NzgsMTgxMjM3MDkyNSw0NTMwOTI3MzEsMjE4MTYyNTAyNSw0MTExNDUxMjIzLDE3MDYwODg5MDIsMzE0MDQyNzA0LDIzNDQ1MzIyMDIsNDI0MDAxNzUzMiwxNjU4NjU4MjcxLDM2NjYxOTk3NywyMzYyNjcwMzIzLDQyMjQ5OTQ0MDUsMTMwMzUzNTk2MCw5ODQ5NjE0ODYsMjc0NzAwNzA5MiwzNTY5MDM3NTM4LDEyNTYxNzA4MTcsMTAzNzYwNDMxMSwyNzY1MjEwNzMzLDM1NTQwNzk5OTUsMTEzMTAxNDUwNiw4Nzk2Nzk5OTYsMjkwOTI0MzQ2MiwzNjYzNzcxODU2LDExNDExMjQ0NjcsODU1ODQyMjc3LDI4NTI4MDE2MzEsMzcwODY0ODY0OSwxMzQyNTMzOTQ4LDY1NDQ1OTMwNiwzMTg4Mzk2MDQ4LDMzNzMwMTUxNzQsMTQ2NjQ3OTkwOSw1NDQxNzk2MzUsMzExMDUyMzkxMywzNDYyNTIyMDE1LDE1OTE2NzEwNTQsNzAyMTM4Nzc2LDI5NjY0NjA0NTAsMzM1Mjc5OTQxMiwxNTA0OTE4ODA3LDc4MzU1MTg3MywzMDgyNjQwNDQzLDMyMzM0NDI5ODksMzk4ODI5MjM4NCwyNTk2MjU0NjQ2LDYyMzE3MDY4LDE5NTc4MTA4NDIsMzkzOTg0NTk0NSwyNjQ3ODE2MTExLDgxNDcwOTk3LDE5NDM4MDM1MjMsMzgxNDkxODkzMCwyNDg5NTk2ODA0LDIyNTI3NDQzMCwyMDUzNzkwMzc2LDM4MjYxNzU3NTUsMjQ2NjkwNjAxMywxNjc4MTY3NDMsMjA5NzY1MTM3Nyw0MDI3NTUyNTgwLDIyNjU0OTAzODYsNTAzNDQ0MDcyLDE3NjIwNTA4MTQsNDE1MDQxNzI0NSwyMTU0MTI5MzU1LDQyNjUyMjIyNSwxODUyNTA3ODc5LDQyNzUzMTM1MjYsMjMxMjMxNzkyMCwyODI3NTM2MjYsMTc0MjU1NTg1Miw0MTg5NzA4MTQzLDIzOTQ4Nzc5NDUsMzk3OTE3NzYzLDE2MjIxODM2MzcsMzYwNDM5MDg4OCwyNzE0ODY2NTU4LDk1MzcyOTczMiwxMzQwMDc2NjI2LDM1MTg3MTk5ODUsMjc5NzM2MDk5OSwxMDY4ODI4MzgxLDEyMTk2Mzg4NTksMzYyNDc0MTg1MCwyOTM2Njc1MTQ4LDkwNjE4NTQ2MiwxMDkwODEyNTEyLDM3NDc2NzIwMDMsMjgyNTM3OTY2OSw4MjkzMjkxMzUsMTE4MTMzNTE2MSwzNDEyMTc3ODA0LDMxNjA4MzQ4NDIsNjI4MDg1NDA4LDEzODI2MDUzNjYsMzQyMzM2OTEwOSwzMTM4MDc4NDY3LDU3MDU2MjIzMywxNDI2NDAwODE1LDMzMTczMTY1NDIsMjk5ODczMzYwOCw3MzMyMzk5NTQsMTU1NTI2MTk1NiwzMjY4OTM1NTkxLDMwNTAzNjA2MjUsNzUyNDU5NDAzLDE1NDEzMjAyMjEsMjYwNzA3MTkyMCwzOTY1OTczMDMwLDE5Njk5MjI5NzIsNDA3MzU0OTgsMjYxNzgzNzIyNSwzOTQzNTc3MTUxLDE5MTMwODc4NzcsODM5MDgzNzEsMjUxMjM0MTYzNCwzODAzNzQwNjkyLDIwNzUyMDg2MjIsMjEzMjYxMTEyLDI0NjMyNzI2MDMsMzg1NTk5MDI4NSwyMDk0ODU0MDcxLDE5ODk1ODg4MSwyMjYyMDI5MDEyLDQwNTcyNjA2MTAsMTc1OTM1OTk5Miw1MzQ0MTQxOTAsMjE3NjcxODU0MSw0MTM5MzI5MTE1LDE4NzM4MzYwMDEsNDE0NjY0NTY3LDIyODIyNDg5MzQsNDI3OTIwMDM2OCwxNzExNjg0NTU0LDI4NTI4MTExNiwyNDA1ODAxNzI3LDQxNjcyMTY3NDUsMTYzNDQ2Nzc5NSwzNzYyMjk3MDEsMjY4NTA2Nzg5NiwzNjA4MDA3NDA2LDEzMDg5MTg2MTIsOTU2NTQzOTM4LDI4MDg1NTUxMDUsMzQ5NTk1ODI2MywxMjMxNjM2MzAxLDEwNDc0MjcwMzUsMjkzMjk1OTgxOCwzNjU0NzAzODM2LDEwODgzNTkyNzAsOTM2OTE4ZTMsMjg0NzcxNDg5OSwzNzM2ODM3ODI5LDEyMDI5MDA4NjMsODE3MjMzODk3LDMxODMzNDIxMDgsMzQwMTIzNzEzMCwxNDA0Mjc3NTUyLDYxNTgxODE1MCwzMTM0MjA3NDkzLDM0NTM0MjEyMDMsMTQyMzg1NzQ0OSw2MDE0NTA0MzEsMzAwOTgzNzYxNCwzMjk0NzEwNDU2LDE1NjcxMDM3NDYsNzExOTI4NzI0LDMwMjA2Njg0NzEsMzI3MjM4MDA2NSwxNTEwMzM0MjM1LDc1NTE2NzExN107ci5leHBvcnRzPWZ1bmN0aW9uIGkoZSxyKXtpZih0eXBlb2YgZT09PVxcXCJ1bmRlZmluZWRcXFwifHwhZS5sZW5ndGgpe3JldHVybiAwfXZhciB0PWEuZ2V0VHlwZU9mKGUpIT09XFxcInN0cmluZ1xcXCI7aWYodHlwZW9mIHI9PVxcXCJ1bmRlZmluZWRcXFwiKXtyPTB9dmFyIGk9MDt2YXIgcz0wO3ZhciBmPTA7cj1yXi0xO2Zvcih2YXIgbz0wLGw9ZS5sZW5ndGg7bzxsO28rKyl7Zj10P2Vbb106ZS5jaGFyQ29kZUF0KG8pO3M9KHJeZikmMjU1O2k9bltzXTtyPXI+Pj44Xml9cmV0dXJuIHJeLTF9fSx7XFxcIi4vdXRpbHNcXFwiOjIxfV0sNTpbZnVuY3Rpb24oZSxyLHQpe1xcXCJ1c2Ugc3RyaWN0XFxcIjt2YXIgYT1lKFxcXCIuL3V0aWxzXFxcIik7ZnVuY3Rpb24gbihlKXt0aGlzLmRhdGE9bnVsbDt0aGlzLmxlbmd0aD0wO3RoaXMuaW5kZXg9MH1uLnByb3RvdHlwZT17Y2hlY2tPZmZzZXQ6ZnVuY3Rpb24oZSl7dGhpcy5jaGVja0luZGV4KHRoaXMuaW5kZXgrZSl9LGNoZWNrSW5kZXg6ZnVuY3Rpb24oZSl7aWYodGhpcy5sZW5ndGg8ZXx8ZTwwKXt0aHJvdyBuZXcgRXJyb3IoXFxcIkVuZCBvZiBkYXRhIHJlYWNoZWQgKGRhdGEgbGVuZ3RoID0gXFxcIit0aGlzLmxlbmd0aCtcXFwiLCBhc2tlZCBpbmRleCA9IFxcXCIrZStcXFwiKS4gQ29ycnVwdGVkIHppcCA/XFxcIil9fSxzZXRJbmRleDpmdW5jdGlvbihlKXt0aGlzLmNoZWNrSW5kZXgoZSk7dGhpcy5pbmRleD1lfSxza2lwOmZ1bmN0aW9uKGUpe3RoaXMuc2V0SW5kZXgodGhpcy5pbmRleCtlKX0sYnl0ZUF0OmZ1bmN0aW9uKGUpe30scmVhZEludDpmdW5jdGlvbihlKXt2YXIgcj0wLHQ7dGhpcy5jaGVja09mZnNldChlKTtmb3IodD10aGlzLmluZGV4K2UtMTt0Pj10aGlzLmluZGV4O3QtLSl7cj0ocjw8OCkrdGhpcy5ieXRlQXQodCl9dGhpcy5pbmRleCs9ZTtyZXR1cm4gcn0scmVhZFN0cmluZzpmdW5jdGlvbihlKXtyZXR1cm4gYS50cmFuc2Zvcm1UbyhcXFwic3RyaW5nXFxcIix0aGlzLnJlYWREYXRhKGUpKX0scmVhZERhdGE6ZnVuY3Rpb24oZSl7fSxsYXN0SW5kZXhPZlNpZ25hdHVyZTpmdW5jdGlvbihlKXt9LHJlYWREYXRlOmZ1bmN0aW9uKCl7dmFyIGU9dGhpcy5yZWFkSW50KDQpO3JldHVybiBuZXcgRGF0ZSgoZT4+MjUmMTI3KSsxOTgwLChlPj4yMSYxNSktMSxlPj4xNiYzMSxlPj4xMSYzMSxlPj41JjYzLChlJjMxKTw8MSl9fTtyLmV4cG9ydHM9bn0se1xcXCIuL3V0aWxzXFxcIjoyMX1dLDY6W2Z1bmN0aW9uKGUscix0KXtcXFwidXNlIHN0cmljdFxcXCI7dC5iYXNlNjQ9ZmFsc2U7dC5iaW5hcnk9ZmFsc2U7dC5kaXI9ZmFsc2U7dC5jcmVhdGVGb2xkZXJzPWZhbHNlO3QuZGF0ZT1udWxsO3QuY29tcHJlc3Npb249bnVsbDt0LmNvbW1lbnQ9bnVsbH0se31dLDc6W2Z1bmN0aW9uKGUscix0KXtcXFwidXNlIHN0cmljdFxcXCI7dmFyIGE9ZShcXFwiLi91dGlsc1xcXCIpO3Quc3RyaW5nMmJpbmFyeT1mdW5jdGlvbihlKXtyZXR1cm4gYS5zdHJpbmcyYmluYXJ5KGUpfTt0LnN0cmluZzJVaW50OEFycmF5PWZ1bmN0aW9uKGUpe3JldHVybiBhLnRyYW5zZm9ybVRvKFxcXCJ1aW50OGFycmF5XFxcIixlKX07dC51aW50OEFycmF5MlN0cmluZz1mdW5jdGlvbihlKXtyZXR1cm4gYS50cmFuc2Zvcm1UbyhcXFwic3RyaW5nXFxcIixlKX07dC5zdHJpbmcyQmxvYj1mdW5jdGlvbihlKXt2YXIgcj1hLnRyYW5zZm9ybVRvKFxcXCJhcnJheWJ1ZmZlclxcXCIsZSk7cmV0dXJuIGEuYXJyYXlCdWZmZXIyQmxvYihyKX07dC5hcnJheUJ1ZmZlcjJCbG9iPWZ1bmN0aW9uKGUpe3JldHVybiBhLmFycmF5QnVmZmVyMkJsb2IoZSl9O3QudHJhbnNmb3JtVG89ZnVuY3Rpb24oZSxyKXtyZXR1cm4gYS50cmFuc2Zvcm1UbyhlLHIpfTt0LmdldFR5cGVPZj1mdW5jdGlvbihlKXtyZXR1cm4gYS5nZXRUeXBlT2YoZSl9O3QuY2hlY2tTdXBwb3J0PWZ1bmN0aW9uKGUpe3JldHVybiBhLmNoZWNrU3VwcG9ydChlKX07dC5NQVhfVkFMVUVfMTZCSVRTPWEuTUFYX1ZBTFVFXzE2QklUUzt0Lk1BWF9WQUxVRV8zMkJJVFM9YS5NQVhfVkFMVUVfMzJCSVRTO3QucHJldHR5PWZ1bmN0aW9uKGUpe3JldHVybiBhLnByZXR0eShlKX07dC5maW5kQ29tcHJlc3Npb249ZnVuY3Rpb24oZSl7cmV0dXJuIGEuZmluZENvbXByZXNzaW9uKGUpfTt0LmlzUmVnRXhwPWZ1bmN0aW9uKGUpe3JldHVybiBhLmlzUmVnRXhwKGUpfX0se1xcXCIuL3V0aWxzXFxcIjoyMX1dLDg6W2Z1bmN0aW9uKGUscix0KXtcXFwidXNlIHN0cmljdFxcXCI7dmFyIGE9dHlwZW9mIFVpbnQ4QXJyYXkhPT1cXFwidW5kZWZpbmVkXFxcIiYmdHlwZW9mIFVpbnQxNkFycmF5IT09XFxcInVuZGVmaW5lZFxcXCImJnR5cGVvZiBVaW50MzJBcnJheSE9PVxcXCJ1bmRlZmluZWRcXFwiO3ZhciBuPWUoXFxcInBha29cXFwiKTt0LnVuY29tcHJlc3NJbnB1dFR5cGU9YT9cXFwidWludDhhcnJheVxcXCI6XFxcImFycmF5XFxcIjt0LmNvbXByZXNzSW5wdXRUeXBlPWE/XFxcInVpbnQ4YXJyYXlcXFwiOlxcXCJhcnJheVxcXCI7dC5tYWdpYz1cXFwiXFxcXGJcXFxcMFxcXCI7dC5jb21wcmVzcz1mdW5jdGlvbihlKXtyZXR1cm4gbi5kZWZsYXRlUmF3KGUpfTt0LnVuY29tcHJlc3M9ZnVuY3Rpb24oZSl7cmV0dXJuIG4uaW5mbGF0ZVJhdyhlKX19LHtwYWtvOjI0fV0sOTpbZnVuY3Rpb24oZSxyLHQpe1xcXCJ1c2Ugc3RyaWN0XFxcIjt2YXIgYT1lKFxcXCIuL2Jhc2U2NFxcXCIpO2Z1bmN0aW9uIG4oZSxyKXtpZighKHRoaXMgaW5zdGFuY2VvZiBuKSlyZXR1cm4gbmV3IG4oZSxyKTt0aGlzLmZpbGVzPXt9O3RoaXMuY29tbWVudD1udWxsO3RoaXMucm9vdD1cXFwiXFxcIjtpZihlKXt0aGlzLmxvYWQoZSxyKX10aGlzLmNsb25lPWZ1bmN0aW9uKCl7dmFyIGU9bmV3IG47Zm9yKHZhciByIGluIHRoaXMpe2lmKHR5cGVvZiB0aGlzW3JdIT09XFxcImZ1bmN0aW9uXFxcIil7ZVtyXT10aGlzW3JdfX1yZXR1cm4gZX19bi5wcm90b3R5cGU9ZShcXFwiLi9vYmplY3RcXFwiKTtuLnByb3RvdHlwZS5sb2FkPWUoXFxcIi4vbG9hZFxcXCIpO24uc3VwcG9ydD1lKFxcXCIuL3N1cHBvcnRcXFwiKTtuLmRlZmF1bHRzPWUoXFxcIi4vZGVmYXVsdHNcXFwiKTtuLnV0aWxzPWUoXFxcIi4vZGVwcmVjYXRlZFB1YmxpY1V0aWxzXFxcIik7bi5iYXNlNjQ9e2VuY29kZTpmdW5jdGlvbihlKXtyZXR1cm4gYS5lbmNvZGUoZSl9LGRlY29kZTpmdW5jdGlvbihlKXtyZXR1cm4gYS5kZWNvZGUoZSl9fTtuLmNvbXByZXNzaW9ucz1lKFxcXCIuL2NvbXByZXNzaW9uc1xcXCIpO3IuZXhwb3J0cz1ufSx7XFxcIi4vYmFzZTY0XFxcIjoxLFxcXCIuL2NvbXByZXNzaW9uc1xcXCI6MyxcXFwiLi9kZWZhdWx0c1xcXCI6NixcXFwiLi9kZXByZWNhdGVkUHVibGljVXRpbHNcXFwiOjcsXFxcIi4vbG9hZFxcXCI6MTAsXFxcIi4vb2JqZWN0XFxcIjoxMyxcXFwiLi9zdXBwb3J0XFxcIjoxN31dLDEwOltmdW5jdGlvbihlLHIsdCl7XFxcInVzZSBzdHJpY3RcXFwiO3ZhciBhPWUoXFxcIi4vYmFzZTY0XFxcIik7dmFyIG49ZShcXFwiLi96aXBFbnRyaWVzXFxcIik7ci5leHBvcnRzPWZ1bmN0aW9uKGUscil7dmFyIHQsaSxzLGY7cj1yfHx7fTtpZihyLmJhc2U2NCl7ZT1hLmRlY29kZShlKX1pPW5ldyBuKGUscik7dD1pLmZpbGVzO2ZvcihzPTA7czx0Lmxlbmd0aDtzKyspe2Y9dFtzXTt0aGlzLmZpbGUoZi5maWxlTmFtZSxmLmRlY29tcHJlc3NlZCx7YmluYXJ5OnRydWUsb3B0aW1pemVkQmluYXJ5U3RyaW5nOnRydWUsZGF0ZTpmLmRhdGUsZGlyOmYuZGlyLGNvbW1lbnQ6Zi5maWxlQ29tbWVudC5sZW5ndGg/Zi5maWxlQ29tbWVudDpudWxsLGNyZWF0ZUZvbGRlcnM6ci5jcmVhdGVGb2xkZXJzfSl9aWYoaS56aXBDb21tZW50Lmxlbmd0aCl7dGhpcy5jb21tZW50PWkuemlwQ29tbWVudH1yZXR1cm4gdGhpc319LHtcXFwiLi9iYXNlNjRcXFwiOjEsXFxcIi4vemlwRW50cmllc1xcXCI6MjJ9XSwxMTpbZnVuY3Rpb24oZSxyLHQpeyhmdW5jdGlvbihlKXtcXFwidXNlIHN0cmljdFxcXCI7dmFyIHQ9ZnVuY3Rpb24oKXt9O2lmKHR5cGVvZiBlIT09XFxcInVuZGVmaW5lZFxcXCIpe3ZhciBhPSFlLmZyb207aWYoIWEpdHJ5e2UuZnJvbShcXFwiZm9vXFxcIixcXFwidXRmOFxcXCIpfWNhdGNoKG4pe2E9dHJ1ZX10PWE/ZnVuY3Rpb24ocix0KXtyZXR1cm4gdD9uZXcgZShyLHQpOm5ldyBlKHIpfTplLmZyb20uYmluZChlKTtpZighZS5hbGxvYyllLmFsbG9jPWZ1bmN0aW9uKHIpe3JldHVybiBuZXcgZShyKX19ci5leHBvcnRzPWZ1bmN0aW9uKHIsYSl7cmV0dXJuIHR5cGVvZiByPT1cXFwibnVtYmVyXFxcIj9lLmFsbG9jKHIpOnQocixhKX07ci5leHBvcnRzLnRlc3Q9ZnVuY3Rpb24ocil7cmV0dXJuIGUuaXNCdWZmZXIocil9fSkuY2FsbCh0aGlzLHR5cGVvZiBCdWZmZXIhPT1cXFwidW5kZWZpbmVkXFxcIj9CdWZmZXI6dW5kZWZpbmVkKX0se31dLDEyOltmdW5jdGlvbihlLHIsdCl7XFxcInVzZSBzdHJpY3RcXFwiO3ZhciBhPWUoXFxcIi4vdWludDhBcnJheVJlYWRlclxcXCIpO2Z1bmN0aW9uIG4oZSl7dGhpcy5kYXRhPWU7dGhpcy5sZW5ndGg9dGhpcy5kYXRhLmxlbmd0aDt0aGlzLmluZGV4PTB9bi5wcm90b3R5cGU9bmV3IGE7bi5wcm90b3R5cGUucmVhZERhdGE9ZnVuY3Rpb24oZSl7dGhpcy5jaGVja09mZnNldChlKTt2YXIgcj10aGlzLmRhdGEuc2xpY2UodGhpcy5pbmRleCx0aGlzLmluZGV4K2UpO3RoaXMuaW5kZXgrPWU7cmV0dXJuIHJ9O3IuZXhwb3J0cz1ufSx7XFxcIi4vdWludDhBcnJheVJlYWRlclxcXCI6MTh9XSwxMzpbZnVuY3Rpb24oZSxyLHQpe1xcXCJ1c2Ugc3RyaWN0XFxcIjt2YXIgYT1lKFxcXCIuL3N1cHBvcnRcXFwiKTt2YXIgbj1lKFxcXCIuL3V0aWxzXFxcIik7dmFyIGk9ZShcXFwiLi9jcmMzMlxcXCIpO3ZhciBzPWUoXFxcIi4vc2lnbmF0dXJlXFxcIik7dmFyIGY9ZShcXFwiLi9kZWZhdWx0c1xcXCIpO3ZhciBvPWUoXFxcIi4vYmFzZTY0XFxcIik7dmFyIGw9ZShcXFwiLi9jb21wcmVzc2lvbnNcXFwiKTt2YXIgYz1lKFxcXCIuL2NvbXByZXNzZWRPYmplY3RcXFwiKTt2YXIgdT1lKFxcXCIuL25vZGVCdWZmZXJcXFwiKTt2YXIgaD1lKFxcXCIuL3V0ZjhcXFwiKTt2YXIgZD1lKFxcXCIuL3N0cmluZ1dyaXRlclxcXCIpO3ZhciB2PWUoXFxcIi4vdWludDhBcnJheVdyaXRlclxcXCIpO3ZhciBwPWZ1bmN0aW9uKGUpe2lmKGUuX2RhdGEgaW5zdGFuY2VvZiBjKXtlLl9kYXRhPWUuX2RhdGEuZ2V0Q29udGVudCgpO2Uub3B0aW9ucy5iaW5hcnk9dHJ1ZTtlLm9wdGlvbnMuYmFzZTY0PWZhbHNlO2lmKG4uZ2V0VHlwZU9mKGUuX2RhdGEpPT09XFxcInVpbnQ4YXJyYXlcXFwiKXt2YXIgcj1lLl9kYXRhO2UuX2RhdGE9bmV3IFVpbnQ4QXJyYXkoci5sZW5ndGgpO2lmKHIubGVuZ3RoIT09MCl7ZS5fZGF0YS5zZXQociwwKX19fXJldHVybiBlLl9kYXRhfTt2YXIgbT1mdW5jdGlvbihlKXt2YXIgcj1wKGUpLHQ9bi5nZXRUeXBlT2Yocik7aWYodD09PVxcXCJzdHJpbmdcXFwiKXtpZighZS5vcHRpb25zLmJpbmFyeSl7aWYoYS5ub2RlYnVmZmVyKXtyZXR1cm4gdShyLFxcXCJ1dGYtOFxcXCIpfX1yZXR1cm4gZS5hc0JpbmFyeSgpfXJldHVybiByfTt2YXIgYj1mdW5jdGlvbihlKXt2YXIgcj1wKHRoaXMpO2lmKHI9PT1udWxsfHx0eXBlb2Ygcj09PVxcXCJ1bmRlZmluZWRcXFwiKXtyZXR1cm5cXFwiXFxcIn1pZih0aGlzLm9wdGlvbnMuYmFzZTY0KXtyPW8uZGVjb2RlKHIpfWlmKGUmJnRoaXMub3B0aW9ucy5iaW5hcnkpe3I9eS51dGY4ZGVjb2RlKHIpfWVsc2V7cj1uLnRyYW5zZm9ybVRvKFxcXCJzdHJpbmdcXFwiLHIpfWlmKCFlJiYhdGhpcy5vcHRpb25zLmJpbmFyeSl7cj1uLnRyYW5zZm9ybVRvKFxcXCJzdHJpbmdcXFwiLHkudXRmOGVuY29kZShyKSl9cmV0dXJuIHJ9O3ZhciBnPWZ1bmN0aW9uKGUscix0KXt0aGlzLm5hbWU9ZTt0aGlzLmRpcj10LmRpcjt0aGlzLmRhdGU9dC5kYXRlO3RoaXMuY29tbWVudD10LmNvbW1lbnQ7dGhpcy5fZGF0YT1yO3RoaXMub3B0aW9ucz10O3RoaXMuX2luaXRpYWxNZXRhZGF0YT17ZGlyOnQuZGlyLGRhdGU6dC5kYXRlfX07Zy5wcm90b3R5cGU9e2FzVGV4dDpmdW5jdGlvbigpe3JldHVybiBiLmNhbGwodGhpcyx0cnVlKX0sYXNCaW5hcnk6ZnVuY3Rpb24oKXtyZXR1cm4gYi5jYWxsKHRoaXMsZmFsc2UpfSxhc05vZGVCdWZmZXI6ZnVuY3Rpb24oKXt2YXIgZT1tKHRoaXMpO3JldHVybiBuLnRyYW5zZm9ybVRvKFxcXCJub2RlYnVmZmVyXFxcIixlKX0sYXNVaW50OEFycmF5OmZ1bmN0aW9uKCl7dmFyIGU9bSh0aGlzKTtyZXR1cm4gbi50cmFuc2Zvcm1UbyhcXFwidWludDhhcnJheVxcXCIsZSl9LGFzQXJyYXlCdWZmZXI6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5hc1VpbnQ4QXJyYXkoKS5idWZmZXJ9fTt2YXIgdz1mdW5jdGlvbihlLHIpe3ZhciB0PVxcXCJcXFwiLGE7Zm9yKGE9MDthPHI7YSsrKXt0Kz1TdHJpbmcuZnJvbUNoYXJDb2RlKGUmMjU1KTtlPWU+Pj44fXJldHVybiB0fTt2YXIgaz1mdW5jdGlvbigpe3ZhciBlPXt9LHIsdDtmb3Iocj0wO3I8YXJndW1lbnRzLmxlbmd0aDtyKyspe2Zvcih0IGluIGFyZ3VtZW50c1tyXSl7aWYoYXJndW1lbnRzW3JdLmhhc093blByb3BlcnR5KHQpJiZ0eXBlb2YgZVt0XT09PVxcXCJ1bmRlZmluZWRcXFwiKXtlW3RdPWFyZ3VtZW50c1tyXVt0XX19fXJldHVybiBlfTt2YXIgRT1mdW5jdGlvbihlKXtlPWV8fHt9O2lmKGUuYmFzZTY0PT09dHJ1ZSYmKGUuYmluYXJ5PT09bnVsbHx8ZS5iaW5hcnk9PT11bmRlZmluZWQpKXtlLmJpbmFyeT10cnVlfWU9ayhlLGYpO2UuZGF0ZT1lLmRhdGV8fG5ldyBEYXRlO2lmKGUuY29tcHJlc3Npb24hPT1udWxsKWUuY29tcHJlc3Npb249ZS5jb21wcmVzc2lvbi50b1VwcGVyQ2FzZSgpO3JldHVybiBlfTt2YXIgUz1mdW5jdGlvbihlLHIsdCl7dmFyIGE9bi5nZXRUeXBlT2YociksaTt0PUUodCk7aWYodC5jcmVhdGVGb2xkZXJzJiYoaT1fKGUpKSl7Qy5jYWxsKHRoaXMsaSx0cnVlKX1pZih0LmRpcnx8cj09PW51bGx8fHR5cGVvZiByPT09XFxcInVuZGVmaW5lZFxcXCIpe3QuYmFzZTY0PWZhbHNlO3QuYmluYXJ5PWZhbHNlO3I9bnVsbH1lbHNlIGlmKGE9PT1cXFwic3RyaW5nXFxcIil7aWYodC5iaW5hcnkmJiF0LmJhc2U2NCl7aWYodC5vcHRpbWl6ZWRCaW5hcnlTdHJpbmchPT10cnVlKXtyPW4uc3RyaW5nMmJpbmFyeShyKX19fWVsc2V7dC5iYXNlNjQ9ZmFsc2U7dC5iaW5hcnk9dHJ1ZTtpZighYSYmIShyIGluc3RhbmNlb2YgYykpe3Rocm93IG5ldyBFcnJvcihcXFwiVGhlIGRhdGEgb2YgJ1xcXCIrZStcXFwiJyBpcyBpbiBhbiB1bnN1cHBvcnRlZCBmb3JtYXQgIVxcXCIpfWlmKGE9PT1cXFwiYXJyYXlidWZmZXJcXFwiKXtyPW4udHJhbnNmb3JtVG8oXFxcInVpbnQ4YXJyYXlcXFwiLHIpfX12YXIgcz1uZXcgZyhlLHIsdCk7dGhpcy5maWxlc1tlXT1zO3JldHVybiBzfTt2YXIgXz1mdW5jdGlvbihlKXtpZihlLnNsaWNlKC0xKT09XFxcIi9cXFwiKXtlPWUuc3Vic3RyaW5nKDAsZS5sZW5ndGgtMSl9dmFyIHI9ZS5sYXN0SW5kZXhPZihcXFwiL1xcXCIpO3JldHVybiByPjA/ZS5zdWJzdHJpbmcoMCxyKTpcXFwiXFxcIn07dmFyIEM9ZnVuY3Rpb24oZSxyKXtpZihlLnNsaWNlKC0xKSE9XFxcIi9cXFwiKXtlKz1cXFwiL1xcXCJ9cj10eXBlb2YgciE9PVxcXCJ1bmRlZmluZWRcXFwiP3I6ZmFsc2U7aWYoIXRoaXMuZmlsZXNbZV0pe1MuY2FsbCh0aGlzLGUsbnVsbCx7ZGlyOnRydWUsY3JlYXRlRm9sZGVyczpyfSl9cmV0dXJuIHRoaXMuZmlsZXNbZV19O3ZhciBCPWZ1bmN0aW9uKGUscil7dmFyIHQ9bmV3IGMsYTtpZihlLl9kYXRhIGluc3RhbmNlb2YgYyl7dC51bmNvbXByZXNzZWRTaXplPWUuX2RhdGEudW5jb21wcmVzc2VkU2l6ZTt0LmNyYzMyPWUuX2RhdGEuY3JjMzI7aWYodC51bmNvbXByZXNzZWRTaXplPT09MHx8ZS5kaXIpe3I9bFtcXFwiU1RPUkVcXFwiXTt0LmNvbXByZXNzZWRDb250ZW50PVxcXCJcXFwiO3QuY3JjMzI9MH1lbHNlIGlmKGUuX2RhdGEuY29tcHJlc3Npb25NZXRob2Q9PT1yLm1hZ2ljKXt0LmNvbXByZXNzZWRDb250ZW50PWUuX2RhdGEuZ2V0Q29tcHJlc3NlZENvbnRlbnQoKX1lbHNle2E9ZS5fZGF0YS5nZXRDb250ZW50KCk7dC5jb21wcmVzc2VkQ29udGVudD1yLmNvbXByZXNzKG4udHJhbnNmb3JtVG8oci5jb21wcmVzc0lucHV0VHlwZSxhKSl9fWVsc2V7YT1tKGUpO2lmKCFhfHxhLmxlbmd0aD09PTB8fGUuZGlyKXtyPWxbXFxcIlNUT1JFXFxcIl07YT1cXFwiXFxcIn10LnVuY29tcHJlc3NlZFNpemU9YS5sZW5ndGg7dC5jcmMzMj1pKGEpO3QuY29tcHJlc3NlZENvbnRlbnQ9ci5jb21wcmVzcyhuLnRyYW5zZm9ybVRvKHIuY29tcHJlc3NJbnB1dFR5cGUsYSkpfXQuY29tcHJlc3NlZFNpemU9dC5jb21wcmVzc2VkQ29udGVudC5sZW5ndGg7dC5jb21wcmVzc2lvbk1ldGhvZD1yLm1hZ2ljO3JldHVybiB0fTt2YXIgVD1mdW5jdGlvbihlLHIsdCxhKXt2YXIgZj10LmNvbXByZXNzZWRDb250ZW50LG89bi50cmFuc2Zvcm1UbyhcXFwic3RyaW5nXFxcIixoLnV0ZjhlbmNvZGUoci5uYW1lKSksbD1yLmNvbW1lbnR8fFxcXCJcXFwiLGM9bi50cmFuc2Zvcm1UbyhcXFwic3RyaW5nXFxcIixoLnV0ZjhlbmNvZGUobCkpLHU9by5sZW5ndGghPT1yLm5hbWUubGVuZ3RoLGQ9Yy5sZW5ndGghPT1sLmxlbmd0aCx2PXIub3B0aW9ucyxwLG0sYj1cXFwiXFxcIixnPVxcXCJcXFwiLGs9XFxcIlxcXCIsRSxTO2lmKHIuX2luaXRpYWxNZXRhZGF0YS5kaXIhPT1yLmRpcil7RT1yLmRpcn1lbHNle0U9di5kaXJ9aWYoci5faW5pdGlhbE1ldGFkYXRhLmRhdGUhPT1yLmRhdGUpe1M9ci5kYXRlfWVsc2V7Uz12LmRhdGV9cD1TLmdldEhvdXJzKCk7cD1wPDw2O3A9cHxTLmdldE1pbnV0ZXMoKTtwPXA8PDU7cD1wfFMuZ2V0U2Vjb25kcygpLzI7bT1TLmdldEZ1bGxZZWFyKCktMTk4MDttPW08PDQ7bT1tfFMuZ2V0TW9udGgoKSsxO209bTw8NTttPW18Uy5nZXREYXRlKCk7aWYodSl7Zz13KDEsMSkrdyhpKG8pLDQpK287Yis9XFxcInVwXFxcIit3KGcubGVuZ3RoLDIpK2d9aWYoZCl7az13KDEsMSkrdyh0aGlzLmNyYzMyKGMpLDQpK2M7Yis9XFxcInVjXFxcIit3KGsubGVuZ3RoLDIpK2t9dmFyIF89XFxcIlxcXCI7Xys9XFxcIlxcXFxuXFxcXDBcXFwiO18rPXV8fGQ/XFxcIlxcXFwwXFxcXGJcXFwiOlxcXCJcXFxcMFxcXFwwXFxcIjtfKz10LmNvbXByZXNzaW9uTWV0aG9kO18rPXcocCwyKTtfKz13KG0sMik7Xys9dyh0LmNyYzMyLDQpO18rPXcodC5jb21wcmVzc2VkU2l6ZSw0KTtfKz13KHQudW5jb21wcmVzc2VkU2l6ZSw0KTtfKz13KG8ubGVuZ3RoLDIpO18rPXcoYi5sZW5ndGgsMik7dmFyIEM9cy5MT0NBTF9GSUxFX0hFQURFUitfK28rYjt2YXIgQj1zLkNFTlRSQUxfRklMRV9IRUFERVIrXFxcIlxcdTAwMTRcXFxcMFxcXCIrXyt3KGMubGVuZ3RoLDIpK1xcXCJcXFxcMFxcXFwwXFxcIitcXFwiXFxcXDBcXFxcMFxcXCIrKEU9PT10cnVlP1xcXCJcXHUwMDEwXFxcXDBcXFxcMFxcXFwwXFxcIjpcXFwiXFxcXDBcXFxcMFxcXFwwXFxcXDBcXFwiKSt3KGEsNCkrbytiK2M7cmV0dXJue2ZpbGVSZWNvcmQ6QyxkaXJSZWNvcmQ6Qixjb21wcmVzc2VkT2JqZWN0OnR9fTt2YXIgeT17bG9hZDpmdW5jdGlvbihlLHIpe3Rocm93IG5ldyBFcnJvcihcXFwiTG9hZCBtZXRob2QgaXMgbm90IGRlZmluZWQuIElzIHRoZSBmaWxlIGpzemlwLWxvYWQuanMgaW5jbHVkZWQgP1xcXCIpfSxmaWx0ZXI6ZnVuY3Rpb24oZSl7dmFyIHI9W10sdCxhLG4saTtmb3IodCBpbiB0aGlzLmZpbGVzKXtpZighdGhpcy5maWxlcy5oYXNPd25Qcm9wZXJ0eSh0KSl7Y29udGludWV9bj10aGlzLmZpbGVzW3RdO2k9bmV3IGcobi5uYW1lLG4uX2RhdGEsayhuLm9wdGlvbnMpKTthPXQuc2xpY2UodGhpcy5yb290Lmxlbmd0aCx0Lmxlbmd0aCk7aWYodC5zbGljZSgwLHRoaXMucm9vdC5sZW5ndGgpPT09dGhpcy5yb290JiZlKGEsaSkpe3IucHVzaChpKX19cmV0dXJuIHJ9LGZpbGU6ZnVuY3Rpb24oZSxyLHQpe2lmKGFyZ3VtZW50cy5sZW5ndGg9PT0xKXtpZihuLmlzUmVnRXhwKGUpKXt2YXIgYT1lO3JldHVybiB0aGlzLmZpbHRlcihmdW5jdGlvbihlLHIpe3JldHVybiFyLmRpciYmYS50ZXN0KGUpfSl9ZWxzZXtyZXR1cm4gdGhpcy5maWx0ZXIoZnVuY3Rpb24ocix0KXtyZXR1cm4hdC5kaXImJnI9PT1lfSlbMF18fG51bGx9fWVsc2V7ZT10aGlzLnJvb3QrZTtTLmNhbGwodGhpcyxlLHIsdCl9cmV0dXJuIHRoaXN9LGZvbGRlcjpmdW5jdGlvbihlKXtpZighZSl7cmV0dXJuIHRoaXN9aWYobi5pc1JlZ0V4cChlKSl7cmV0dXJuIHRoaXMuZmlsdGVyKGZ1bmN0aW9uKHIsdCl7cmV0dXJuIHQuZGlyJiZlLnRlc3Qocil9KX12YXIgcj10aGlzLnJvb3QrZTt2YXIgdD1DLmNhbGwodGhpcyxyKTt2YXIgYT10aGlzLmNsb25lKCk7YS5yb290PXQubmFtZTtyZXR1cm4gYX0scmVtb3ZlOmZ1bmN0aW9uKGUpe2U9dGhpcy5yb290K2U7dmFyIHI9dGhpcy5maWxlc1tlXTtpZighcil7aWYoZS5zbGljZSgtMSkhPVxcXCIvXFxcIil7ZSs9XFxcIi9cXFwifXI9dGhpcy5maWxlc1tlXX1pZihyJiYhci5kaXIpe2RlbGV0ZSB0aGlzLmZpbGVzW2VdfWVsc2V7dmFyIHQ9dGhpcy5maWx0ZXIoZnVuY3Rpb24ocix0KXtyZXR1cm4gdC5uYW1lLnNsaWNlKDAsZS5sZW5ndGgpPT09ZX0pO2Zvcih2YXIgYT0wO2E8dC5sZW5ndGg7YSsrKXtkZWxldGUgdGhpcy5maWxlc1t0W2FdLm5hbWVdfX1yZXR1cm4gdGhpc30sZ2VuZXJhdGU6ZnVuY3Rpb24oZSl7ZT1rKGV8fHt9LHtiYXNlNjQ6dHJ1ZSxjb21wcmVzc2lvbjpcXFwiU1RPUkVcXFwiLHR5cGU6XFxcImJhc2U2NFxcXCIsY29tbWVudDpudWxsfSk7bi5jaGVja1N1cHBvcnQoZS50eXBlKTt2YXIgcj1bXSx0PTAsYT0wLGksZixjPW4udHJhbnNmb3JtVG8oXFxcInN0cmluZ1xcXCIsdGhpcy51dGY4ZW5jb2RlKGUuY29tbWVudHx8dGhpcy5jb21tZW50fHxcXFwiXFxcIikpO2Zvcih2YXIgdSBpbiB0aGlzLmZpbGVzKXtpZighdGhpcy5maWxlcy5oYXNPd25Qcm9wZXJ0eSh1KSl7Y29udGludWV9dmFyIGg9dGhpcy5maWxlc1t1XTt2YXIgcD1oLm9wdGlvbnMuY29tcHJlc3Npb258fGUuY29tcHJlc3Npb24udG9VcHBlckNhc2UoKTt2YXIgbT1sW3BdO2lmKCFtKXt0aHJvdyBuZXcgRXJyb3IocCtcXFwiIGlzIG5vdCBhIHZhbGlkIGNvbXByZXNzaW9uIG1ldGhvZCAhXFxcIil9dmFyIGI9Qi5jYWxsKHRoaXMsaCxtKTt2YXIgZz1ULmNhbGwodGhpcyx1LGgsYix0KTt0Kz1nLmZpbGVSZWNvcmQubGVuZ3RoK2IuY29tcHJlc3NlZFNpemU7YSs9Zy5kaXJSZWNvcmQubGVuZ3RoO3IucHVzaChnKX12YXIgRT1cXFwiXFxcIjtFPXMuQ0VOVFJBTF9ESVJFQ1RPUllfRU5EK1xcXCJcXFxcMFxcXFwwXFxcIitcXFwiXFxcXDBcXFxcMFxcXCIrdyhyLmxlbmd0aCwyKSt3KHIubGVuZ3RoLDIpK3coYSw0KSt3KHQsNCkrdyhjLmxlbmd0aCwyKStjO3ZhciBTPWUudHlwZS50b0xvd2VyQ2FzZSgpO2lmKFM9PT1cXFwidWludDhhcnJheVxcXCJ8fFM9PT1cXFwiYXJyYXlidWZmZXJcXFwifHxTPT09XFxcImJsb2JcXFwifHxTPT09XFxcIm5vZGVidWZmZXJcXFwiKXtpPW5ldyB2KHQrYStFLmxlbmd0aCl9ZWxzZXtpPW5ldyBkKHQrYStFLmxlbmd0aCl9Zm9yKGY9MDtmPHIubGVuZ3RoO2YrKyl7aS5hcHBlbmQocltmXS5maWxlUmVjb3JkKTtpLmFwcGVuZChyW2ZdLmNvbXByZXNzZWRPYmplY3QuY29tcHJlc3NlZENvbnRlbnQpfWZvcihmPTA7ZjxyLmxlbmd0aDtmKyspe2kuYXBwZW5kKHJbZl0uZGlyUmVjb3JkKX1pLmFwcGVuZChFKTt2YXIgXz1pLmZpbmFsaXplKCk7c3dpdGNoKGUudHlwZS50b0xvd2VyQ2FzZSgpKXtjYXNlXFxcInVpbnQ4YXJyYXlcXFwiOjtjYXNlXFxcImFycmF5YnVmZmVyXFxcIjo7Y2FzZVxcXCJub2RlYnVmZmVyXFxcIjpyZXR1cm4gbi50cmFuc2Zvcm1UbyhlLnR5cGUudG9Mb3dlckNhc2UoKSxfKTtjYXNlXFxcImJsb2JcXFwiOnJldHVybiBuLmFycmF5QnVmZmVyMkJsb2Iobi50cmFuc2Zvcm1UbyhcXFwiYXJyYXlidWZmZXJcXFwiLF8pKTtjYXNlXFxcImJhc2U2NFxcXCI6cmV0dXJuIGUuYmFzZTY0P28uZW5jb2RlKF8pOl87ZGVmYXVsdDpyZXR1cm4gXzt9fSxjcmMzMjpmdW5jdGlvbihlLHIpe3JldHVybiBpKGUscil9LHV0ZjhlbmNvZGU6ZnVuY3Rpb24oZSl7cmV0dXJuIG4udHJhbnNmb3JtVG8oXFxcInN0cmluZ1xcXCIsaC51dGY4ZW5jb2RlKGUpKX0sdXRmOGRlY29kZTpmdW5jdGlvbihlKXtyZXR1cm4gaC51dGY4ZGVjb2RlKGUpfX07ci5leHBvcnRzPXl9LHtcXFwiLi9iYXNlNjRcXFwiOjEsXFxcIi4vY29tcHJlc3NlZE9iamVjdFxcXCI6MixcXFwiLi9jb21wcmVzc2lvbnNcXFwiOjMsXFxcIi4vY3JjMzJcXFwiOjQsXFxcIi4vZGVmYXVsdHNcXFwiOjYsXFxcIi4vbm9kZUJ1ZmZlclxcXCI6MTEsXFxcIi4vc2lnbmF0dXJlXFxcIjoxNCxcXFwiLi9zdHJpbmdXcml0ZXJcXFwiOjE2LFxcXCIuL3N1cHBvcnRcXFwiOjE3LFxcXCIuL3VpbnQ4QXJyYXlXcml0ZXJcXFwiOjE5LFxcXCIuL3V0ZjhcXFwiOjIwLFxcXCIuL3V0aWxzXFxcIjoyMX1dLDE0OltmdW5jdGlvbihlLHIsdCl7XFxcInVzZSBzdHJpY3RcXFwiO3QuTE9DQUxfRklMRV9IRUFERVI9XFxcIlBLXFx1MDAwM1xcdTAwMDRcXFwiO3QuQ0VOVFJBTF9GSUxFX0hFQURFUj1cXFwiUEtcXHUwMDAxXFx1MDAwMlxcXCI7dC5DRU5UUkFMX0RJUkVDVE9SWV9FTkQ9XFxcIlBLXFx1MDAwNVxcdTAwMDZcXFwiO3QuWklQNjRfQ0VOVFJBTF9ESVJFQ1RPUllfTE9DQVRPUj1cXFwiUEtcXHUwMDA2XFx1MDAwN1xcXCI7dC5aSVA2NF9DRU5UUkFMX0RJUkVDVE9SWV9FTkQ9XFxcIlBLXFx1MDAwNlxcdTAwMDZcXFwiO3QuREFUQV9ERVNDUklQVE9SPVxcXCJQS1xcdTAwMDdcXFxcYlxcXCJ9LHt9XSwxNTpbZnVuY3Rpb24oZSxyLHQpe1xcXCJ1c2Ugc3RyaWN0XFxcIjt2YXIgYT1lKFxcXCIuL2RhdGFSZWFkZXJcXFwiKTt2YXIgbj1lKFxcXCIuL3V0aWxzXFxcIik7ZnVuY3Rpb24gaShlLHIpe3RoaXMuZGF0YT1lO2lmKCFyKXt0aGlzLmRhdGE9bi5zdHJpbmcyYmluYXJ5KHRoaXMuZGF0YSl9dGhpcy5sZW5ndGg9dGhpcy5kYXRhLmxlbmd0aDt0aGlzLmluZGV4PTB9aS5wcm90b3R5cGU9bmV3IGE7aS5wcm90b3R5cGUuYnl0ZUF0PWZ1bmN0aW9uKGUpe3JldHVybiB0aGlzLmRhdGEuY2hhckNvZGVBdChlKX07aS5wcm90b3R5cGUubGFzdEluZGV4T2ZTaWduYXR1cmU9ZnVuY3Rpb24oZSl7cmV0dXJuIHRoaXMuZGF0YS5sYXN0SW5kZXhPZihlKX07aS5wcm90b3R5cGUucmVhZERhdGE9ZnVuY3Rpb24oZSl7dGhpcy5jaGVja09mZnNldChlKTt2YXIgcj10aGlzLmRhdGEuc2xpY2UodGhpcy5pbmRleCx0aGlzLmluZGV4K2UpO3RoaXMuaW5kZXgrPWU7cmV0dXJuIHJ9O3IuZXhwb3J0cz1pfSx7XFxcIi4vZGF0YVJlYWRlclxcXCI6NSxcXFwiLi91dGlsc1xcXCI6MjF9XSwxNjpbZnVuY3Rpb24oZSxyLHQpe1xcXCJ1c2Ugc3RyaWN0XFxcIjt2YXIgYT1lKFxcXCIuL3V0aWxzXFxcIik7dmFyIG49ZnVuY3Rpb24oKXt0aGlzLmRhdGE9W119O24ucHJvdG90eXBlPXthcHBlbmQ6ZnVuY3Rpb24oZSl7ZT1hLnRyYW5zZm9ybVRvKFxcXCJzdHJpbmdcXFwiLGUpO3RoaXMuZGF0YS5wdXNoKGUpfSxmaW5hbGl6ZTpmdW5jdGlvbigpe3JldHVybiB0aGlzLmRhdGEuam9pbihcXFwiXFxcIil9fTtyLmV4cG9ydHM9bn0se1xcXCIuL3V0aWxzXFxcIjoyMX1dLDE3OltmdW5jdGlvbihlLHIsdCl7KGZ1bmN0aW9uKGUpe1xcXCJ1c2Ugc3RyaWN0XFxcIjt0LmJhc2U2ND10cnVlO3QuYXJyYXk9dHJ1ZTt0LnN0cmluZz10cnVlO3QuYXJyYXlidWZmZXI9dHlwZW9mIEFycmF5QnVmZmVyIT09XFxcInVuZGVmaW5lZFxcXCImJnR5cGVvZiBVaW50OEFycmF5IT09XFxcInVuZGVmaW5lZFxcXCI7dC5ub2RlYnVmZmVyPXR5cGVvZiBlIT09XFxcInVuZGVmaW5lZFxcXCI7dC51aW50OGFycmF5PXR5cGVvZiBVaW50OEFycmF5IT09XFxcInVuZGVmaW5lZFxcXCI7aWYodHlwZW9mIEFycmF5QnVmZmVyPT09XFxcInVuZGVmaW5lZFxcXCIpe3QuYmxvYj1mYWxzZX1lbHNle3ZhciByPW5ldyBBcnJheUJ1ZmZlcigwKTt0cnl7dC5ibG9iPW5ldyBCbG9iKFtyXSx7dHlwZTpcXFwiYXBwbGljYXRpb24vemlwXFxcIn0pLnNpemU9PT0wfWNhdGNoKGEpe3RyeXt2YXIgbj13aW5kb3cuQmxvYkJ1aWxkZXJ8fHdpbmRvdy5XZWJLaXRCbG9iQnVpbGRlcnx8d2luZG93Lk1vekJsb2JCdWlsZGVyfHx3aW5kb3cuTVNCbG9iQnVpbGRlcjt2YXIgaT1uZXcgbjtpLmFwcGVuZChyKTt0LmJsb2I9aS5nZXRCbG9iKFxcXCJhcHBsaWNhdGlvbi96aXBcXFwiKS5zaXplPT09MH1jYXRjaChhKXt0LmJsb2I9ZmFsc2V9fX19KS5jYWxsKHRoaXMsdHlwZW9mIEJ1ZmZlciE9PVxcXCJ1bmRlZmluZWRcXFwiP0J1ZmZlcjp1bmRlZmluZWQpfSx7fV0sMTg6W2Z1bmN0aW9uKGUscix0KXtcXFwidXNlIHN0cmljdFxcXCI7dmFyIGE9ZShcXFwiLi9kYXRhUmVhZGVyXFxcIik7ZnVuY3Rpb24gbihlKXtpZihlKXt0aGlzLmRhdGE9ZTt0aGlzLmxlbmd0aD10aGlzLmRhdGEubGVuZ3RoO3RoaXMuaW5kZXg9MH19bi5wcm90b3R5cGU9bmV3IGE7bi5wcm90b3R5cGUuYnl0ZUF0PWZ1bmN0aW9uKGUpe3JldHVybiB0aGlzLmRhdGFbZV19O24ucHJvdG90eXBlLmxhc3RJbmRleE9mU2lnbmF0dXJlPWZ1bmN0aW9uKGUpe3ZhciByPWUuY2hhckNvZGVBdCgwKSx0PWUuY2hhckNvZGVBdCgxKSxhPWUuY2hhckNvZGVBdCgyKSxuPWUuY2hhckNvZGVBdCgzKTtmb3IodmFyIGk9dGhpcy5sZW5ndGgtNDtpPj0wOy0taSl7aWYodGhpcy5kYXRhW2ldPT09ciYmdGhpcy5kYXRhW2krMV09PT10JiZ0aGlzLmRhdGFbaSsyXT09PWEmJnRoaXMuZGF0YVtpKzNdPT09bil7cmV0dXJuIGl9fXJldHVybi0xfTtuLnByb3RvdHlwZS5yZWFkRGF0YT1mdW5jdGlvbihlKXt0aGlzLmNoZWNrT2Zmc2V0KGUpO2lmKGU9PT0wKXtyZXR1cm4gbmV3IFVpbnQ4QXJyYXkoMCl9dmFyIHI9dGhpcy5kYXRhLnN1YmFycmF5KHRoaXMuaW5kZXgsdGhpcy5pbmRleCtlKTt0aGlzLmluZGV4Kz1lO3JldHVybiByfTtyLmV4cG9ydHM9bn0se1xcXCIuL2RhdGFSZWFkZXJcXFwiOjV9XSwxOTpbZnVuY3Rpb24oZSxyLHQpe1xcXCJ1c2Ugc3RyaWN0XFxcIjt2YXIgYT1lKFxcXCIuL3V0aWxzXFxcIik7dmFyIG49ZnVuY3Rpb24oZSl7dGhpcy5kYXRhPW5ldyBVaW50OEFycmF5KGUpO3RoaXMuaW5kZXg9MH07bi5wcm90b3R5cGU9e2FwcGVuZDpmdW5jdGlvbihlKXtpZihlLmxlbmd0aCE9PTApe2U9YS50cmFuc2Zvcm1UbyhcXFwidWludDhhcnJheVxcXCIsZSk7dGhpcy5kYXRhLnNldChlLHRoaXMuaW5kZXgpO3RoaXMuaW5kZXgrPWUubGVuZ3RofX0sZmluYWxpemU6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5kYXRhfX07ci5leHBvcnRzPW59LHtcXFwiLi91dGlsc1xcXCI6MjF9XSwyMDpbZnVuY3Rpb24oZSxyLHQpe1xcXCJ1c2Ugc3RyaWN0XFxcIjt2YXIgYT1lKFxcXCIuL3V0aWxzXFxcIik7dmFyIG49ZShcXFwiLi9zdXBwb3J0XFxcIik7dmFyIGk9ZShcXFwiLi9ub2RlQnVmZmVyXFxcIik7dmFyIHM9bmV3IEFycmF5KDI1Nik7Zm9yKHZhciBmPTA7ZjwyNTY7ZisrKXtzW2ZdPWY+PTI1Mj82OmY+PTI0OD81OmY+PTI0MD80OmY+PTIyND8zOmY+PTE5Mj8yOjF9c1syNTRdPXNbMjU0XT0xO3ZhciBvPWZ1bmN0aW9uKGUpe3ZhciByLHQsYSxpLHMsZj1lLmxlbmd0aCxvPTA7Zm9yKGk9MDtpPGY7aSsrKXt0PWUuY2hhckNvZGVBdChpKTtpZigodCY2NDUxMik9PT01NTI5NiYmaSsxPGYpe2E9ZS5jaGFyQ29kZUF0KGkrMSk7aWYoKGEmNjQ1MTIpPT09NTYzMjApe3Q9NjU1MzYrKHQtNTUyOTY8PDEwKSsoYS01NjMyMCk7aSsrfX1vKz10PDEyOD8xOnQ8MjA0OD8yOnQ8NjU1MzY/Mzo0fWlmKG4udWludDhhcnJheSl7cj1uZXcgVWludDhBcnJheShvKX1lbHNle3I9bmV3IEFycmF5KG8pfWZvcihzPTAsaT0wO3M8bztpKyspe3Q9ZS5jaGFyQ29kZUF0KGkpO2lmKCh0JjY0NTEyKT09PTU1Mjk2JiZpKzE8Zil7YT1lLmNoYXJDb2RlQXQoaSsxKTtpZigoYSY2NDUxMik9PT01NjMyMCl7dD02NTUzNisodC01NTI5Njw8MTApKyhhLTU2MzIwKTtpKyt9fWlmKHQ8MTI4KXtyW3MrK109dH1lbHNlIGlmKHQ8MjA0OCl7cltzKytdPTE5Mnx0Pj4+NjtyW3MrK109MTI4fHQmNjN9ZWxzZSBpZih0PDY1NTM2KXtyW3MrK109MjI0fHQ+Pj4xMjtyW3MrK109MTI4fHQ+Pj42JjYzO3JbcysrXT0xMjh8dCY2M31lbHNle3JbcysrXT0yNDB8dD4+PjE4O3JbcysrXT0xMjh8dD4+PjEyJjYzO3JbcysrXT0xMjh8dD4+PjYmNjM7cltzKytdPTEyOHx0JjYzfX1yZXR1cm4gcn07dmFyIGw9ZnVuY3Rpb24oZSxyKXt2YXIgdDtyPXJ8fGUubGVuZ3RoO2lmKHI+ZS5sZW5ndGgpe3I9ZS5sZW5ndGh9dD1yLTE7d2hpbGUodD49MCYmKGVbdF0mMTkyKT09PTEyOCl7dC0tfWlmKHQ8MCl7cmV0dXJuIHJ9aWYodD09PTApe3JldHVybiByfXJldHVybiB0K3NbZVt0XV0+cj90OnJ9O3ZhciBjPWZ1bmN0aW9uKGUpe3ZhciByLHQsbixpLGY7dmFyIG89ZS5sZW5ndGg7dmFyIGw9bmV3IEFycmF5KG8qMik7Zm9yKG49MCx0PTA7dDxvOyl7aT1lW3QrK107aWYoaTwxMjgpe2xbbisrXT1pO2NvbnRpbnVlfWY9c1tpXTtpZihmPjQpe2xbbisrXT02NTUzMzt0Kz1mLTE7Y29udGludWV9aSY9Zj09PTI/MzE6Zj09PTM/MTU6Nzt3aGlsZShmPjEmJnQ8byl7aT1pPDw2fGVbdCsrXSY2MztmLS19aWYoZj4xKXtsW24rK109NjU1MzM7Y29udGludWV9aWYoaTw2NTUzNil7bFtuKytdPWl9ZWxzZXtpLT02NTUzNjtsW24rK109NTUyOTZ8aT4+MTAmMTAyMztsW24rK109NTYzMjB8aSYxMDIzfX1pZihsLmxlbmd0aCE9PW4pe2lmKGwuc3ViYXJyYXkpe2w9bC5zdWJhcnJheSgwLG4pfWVsc2V7bC5sZW5ndGg9bn19cmV0dXJuIGEuYXBwbHlGcm9tQ2hhckNvZGUobCl9O3QudXRmOGVuY29kZT1mdW5jdGlvbiB1KGUpe2lmKG4ubm9kZWJ1ZmZlcil7cmV0dXJuIGkoZSxcXFwidXRmLThcXFwiKX1yZXR1cm4gbyhlKX07dC51dGY4ZGVjb2RlPWZ1bmN0aW9uIGgoZSl7aWYobi5ub2RlYnVmZmVyKXtyZXR1cm4gYS50cmFuc2Zvcm1UbyhcXFwibm9kZWJ1ZmZlclxcXCIsZSkudG9TdHJpbmcoXFxcInV0Zi04XFxcIil9ZT1hLnRyYW5zZm9ybVRvKG4udWludDhhcnJheT9cXFwidWludDhhcnJheVxcXCI6XFxcImFycmF5XFxcIixlKTt2YXIgcj1bXSx0PTAsaT1lLmxlbmd0aCxzPTY1NTM2O3doaWxlKHQ8aSl7dmFyIGY9bChlLE1hdGgubWluKHQrcyxpKSk7aWYobi51aW50OGFycmF5KXtyLnB1c2goYyhlLnN1YmFycmF5KHQsZikpKX1lbHNle3IucHVzaChjKGUuc2xpY2UodCxmKSkpfXQ9Zn1yZXR1cm4gci5qb2luKFxcXCJcXFwiKX19LHtcXFwiLi9ub2RlQnVmZmVyXFxcIjoxMSxcXFwiLi9zdXBwb3J0XFxcIjoxNyxcXFwiLi91dGlsc1xcXCI6MjF9XSwyMTpbZnVuY3Rpb24oZSxyLHQpe1xcXCJ1c2Ugc3RyaWN0XFxcIjt2YXIgYT1lKFxcXCIuL3N1cHBvcnRcXFwiKTt2YXIgbj1lKFxcXCIuL2NvbXByZXNzaW9uc1xcXCIpO3ZhciBpPWUoXFxcIi4vbm9kZUJ1ZmZlclxcXCIpO3Quc3RyaW5nMmJpbmFyeT1mdW5jdGlvbihlKXt2YXIgcj1cXFwiXFxcIjtmb3IodmFyIHQ9MDt0PGUubGVuZ3RoO3QrKyl7cis9U3RyaW5nLmZyb21DaGFyQ29kZShlLmNoYXJDb2RlQXQodCkmMjU1KX1yZXR1cm4gcn07dC5hcnJheUJ1ZmZlcjJCbG9iPWZ1bmN0aW9uKGUpe3QuY2hlY2tTdXBwb3J0KFxcXCJibG9iXFxcIik7dHJ5e3JldHVybiBuZXcgQmxvYihbZV0se3R5cGU6XFxcImFwcGxpY2F0aW9uL3ppcFxcXCJ9KX1jYXRjaChyKXt0cnl7dmFyIGE9d2luZG93LkJsb2JCdWlsZGVyfHx3aW5kb3cuV2ViS2l0QmxvYkJ1aWxkZXJ8fHdpbmRvdy5Nb3pCbG9iQnVpbGRlcnx8d2luZG93Lk1TQmxvYkJ1aWxkZXI7dmFyIG49bmV3IGE7bi5hcHBlbmQoZSk7cmV0dXJuIG4uZ2V0QmxvYihcXFwiYXBwbGljYXRpb24vemlwXFxcIil9Y2F0Y2gocil7dGhyb3cgbmV3IEVycm9yKFxcXCJCdWcgOiBjYW4ndCBjb25zdHJ1Y3QgdGhlIEJsb2IuXFxcIil9fX07ZnVuY3Rpb24gcyhlKXtyZXR1cm4gZX1mdW5jdGlvbiBmKGUscil7Zm9yKHZhciB0PTA7dDxlLmxlbmd0aDsrK3Qpe3JbdF09ZS5jaGFyQ29kZUF0KHQpJjI1NX1yZXR1cm4gcn1mdW5jdGlvbiBvKGUpe3ZhciByPTY1NTM2O3ZhciBhPVtdLG49ZS5sZW5ndGgscz10LmdldFR5cGVPZihlKSxmPTAsbz10cnVlO3RyeXtzd2l0Y2gocyl7Y2FzZVxcXCJ1aW50OGFycmF5XFxcIjpTdHJpbmcuZnJvbUNoYXJDb2RlLmFwcGx5KG51bGwsbmV3IFVpbnQ4QXJyYXkoMCkpO2JyZWFrO2Nhc2VcXFwibm9kZWJ1ZmZlclxcXCI6U3RyaW5nLmZyb21DaGFyQ29kZS5hcHBseShudWxsLGkoMCkpO2JyZWFrO319Y2F0Y2gobCl7bz1mYWxzZX1pZighbyl7dmFyIGM9XFxcIlxcXCI7Zm9yKHZhciB1PTA7dTxlLmxlbmd0aDt1Kyspe2MrPVN0cmluZy5mcm9tQ2hhckNvZGUoZVt1XSl9cmV0dXJuIGN9d2hpbGUoZjxuJiZyPjEpe3RyeXtpZihzPT09XFxcImFycmF5XFxcInx8cz09PVxcXCJub2RlYnVmZmVyXFxcIil7YS5wdXNoKFN0cmluZy5mcm9tQ2hhckNvZGUuYXBwbHkobnVsbCxlLnNsaWNlKGYsTWF0aC5taW4oZityLG4pKSkpfWVsc2V7YS5wdXNoKFN0cmluZy5mcm9tQ2hhckNvZGUuYXBwbHkobnVsbCxlLnN1YmFycmF5KGYsTWF0aC5taW4oZityLG4pKSkpfWYrPXJ9Y2F0Y2gobCl7cj1NYXRoLmZsb29yKHIvMil9fXJldHVybiBhLmpvaW4oXFxcIlxcXCIpfXQuYXBwbHlGcm9tQ2hhckNvZGU9bztmdW5jdGlvbiBsKGUscil7Zm9yKHZhciB0PTA7dDxlLmxlbmd0aDt0Kyspe3JbdF09ZVt0XX1yZXR1cm4gcn12YXIgYz17fTtjW1xcXCJzdHJpbmdcXFwiXT17c3RyaW5nOnMsYXJyYXk6ZnVuY3Rpb24oZSl7cmV0dXJuIGYoZSxuZXcgQXJyYXkoZS5sZW5ndGgpKX0sYXJyYXlidWZmZXI6ZnVuY3Rpb24oZSl7cmV0dXJuIGNbXFxcInN0cmluZ1xcXCJdW1xcXCJ1aW50OGFycmF5XFxcIl0oZSkuYnVmZmVyfSx1aW50OGFycmF5OmZ1bmN0aW9uKGUpe3JldHVybiBmKGUsbmV3IFVpbnQ4QXJyYXkoZS5sZW5ndGgpKX0sbm9kZWJ1ZmZlcjpmdW5jdGlvbihlKXtyZXR1cm4gZihlLGkoZS5sZW5ndGgpKX19O2NbXFxcImFycmF5XFxcIl09e3N0cmluZzpvLGFycmF5OnMsYXJyYXlidWZmZXI6ZnVuY3Rpb24oZSl7cmV0dXJuIG5ldyBVaW50OEFycmF5KGUpLmJ1ZmZlcn0sdWludDhhcnJheTpmdW5jdGlvbihlKXtyZXR1cm4gbmV3IFVpbnQ4QXJyYXkoZSl9LG5vZGVidWZmZXI6ZnVuY3Rpb24oZSl7cmV0dXJuIGkoZSl9fTtjW1xcXCJhcnJheWJ1ZmZlclxcXCJdPXtzdHJpbmc6ZnVuY3Rpb24oZSl7cmV0dXJuIG8obmV3IFVpbnQ4QXJyYXkoZSkpfSxhcnJheTpmdW5jdGlvbihlKXtyZXR1cm4gbChuZXcgVWludDhBcnJheShlKSxuZXcgQXJyYXkoZS5ieXRlTGVuZ3RoKSl9LGFycmF5YnVmZmVyOnMsdWludDhhcnJheTpmdW5jdGlvbihlKXtyZXR1cm4gbmV3IFVpbnQ4QXJyYXkoZSl9LG5vZGVidWZmZXI6ZnVuY3Rpb24oZSl7cmV0dXJuIGkobmV3IFVpbnQ4QXJyYXkoZSkpfX07Y1tcXFwidWludDhhcnJheVxcXCJdPXtzdHJpbmc6byxhcnJheTpmdW5jdGlvbihlKXtyZXR1cm4gbChlLG5ldyBBcnJheShlLmxlbmd0aCkpfSxhcnJheWJ1ZmZlcjpmdW5jdGlvbihlKXtyZXR1cm4gZS5idWZmZXJ9LHVpbnQ4YXJyYXk6cyxub2RlYnVmZmVyOmZ1bmN0aW9uKGUpe3JldHVybiBpKGUpfX07Y1tcXFwibm9kZWJ1ZmZlclxcXCJdPXtzdHJpbmc6byxhcnJheTpmdW5jdGlvbihlKXtyZXR1cm4gbChlLG5ldyBBcnJheShlLmxlbmd0aCkpfSxhcnJheWJ1ZmZlcjpmdW5jdGlvbihlKXtyZXR1cm4gY1tcXFwibm9kZWJ1ZmZlclxcXCJdW1xcXCJ1aW50OGFycmF5XFxcIl0oZSkuYnVmZmVyfSx1aW50OGFycmF5OmZ1bmN0aW9uKGUpe3JldHVybiBsKGUsbmV3IFVpbnQ4QXJyYXkoZS5sZW5ndGgpKX0sbm9kZWJ1ZmZlcjpzfTt0LnRyYW5zZm9ybVRvPWZ1bmN0aW9uKGUscil7aWYoIXIpe3I9XFxcIlxcXCJ9aWYoIWUpe3JldHVybiByfXQuY2hlY2tTdXBwb3J0KGUpO3ZhciBhPXQuZ2V0VHlwZU9mKHIpO3ZhciBuPWNbYV1bZV0ocik7cmV0dXJuIG59O3QuZ2V0VHlwZU9mPWZ1bmN0aW9uKGUpe2lmKHR5cGVvZiBlPT09XFxcInN0cmluZ1xcXCIpe3JldHVyblxcXCJzdHJpbmdcXFwifWlmKE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChlKT09PVxcXCJbb2JqZWN0IEFycmF5XVxcXCIpe3JldHVyblxcXCJhcnJheVxcXCJ9aWYoYS5ub2RlYnVmZmVyJiZpLnRlc3QoZSkpe3JldHVyblxcXCJub2RlYnVmZmVyXFxcIn1pZihhLnVpbnQ4YXJyYXkmJmUgaW5zdGFuY2VvZiBVaW50OEFycmF5KXtyZXR1cm5cXFwidWludDhhcnJheVxcXCJ9aWYoYS5hcnJheWJ1ZmZlciYmZSBpbnN0YW5jZW9mIEFycmF5QnVmZmVyKXtyZXR1cm5cXFwiYXJyYXlidWZmZXJcXFwifX07dC5jaGVja1N1cHBvcnQ9ZnVuY3Rpb24oZSl7dmFyIHI9YVtlLnRvTG93ZXJDYXNlKCldO2lmKCFyKXt0aHJvdyBuZXcgRXJyb3IoZStcXFwiIGlzIG5vdCBzdXBwb3J0ZWQgYnkgdGhpcyBicm93c2VyXFxcIil9fTt0Lk1BWF9WQUxVRV8xNkJJVFM9NjU1MzU7dC5NQVhfVkFMVUVfMzJCSVRTPS0xO3QucHJldHR5PWZ1bmN0aW9uKGUpe3ZhciByPVxcXCJcXFwiLHQsYTtmb3IoYT0wO2E8KGV8fFxcXCJcXFwiKS5sZW5ndGg7YSsrKXt0PWUuY2hhckNvZGVBdChhKTtyKz1cXFwiXFxcXFxcXFx4XFxcIisodDwxNj9cXFwiMFxcXCI6XFxcIlxcXCIpK3QudG9TdHJpbmcoMTYpLnRvVXBwZXJDYXNlKCl9cmV0dXJuIHJ9O3QuZmluZENvbXByZXNzaW9uPWZ1bmN0aW9uKGUpe2Zvcih2YXIgciBpbiBuKXtpZighbi5oYXNPd25Qcm9wZXJ0eShyKSl7Y29udGludWV9aWYobltyXS5tYWdpYz09PWUpe3JldHVybiBuW3JdfX1yZXR1cm4gbnVsbH07dC5pc1JlZ0V4cD1mdW5jdGlvbihlKXtyZXR1cm4gT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKGUpPT09XFxcIltvYmplY3QgUmVnRXhwXVxcXCJ9fSx7XFxcIi4vY29tcHJlc3Npb25zXFxcIjozLFxcXCIuL25vZGVCdWZmZXJcXFwiOjExLFxcXCIuL3N1cHBvcnRcXFwiOjE3fV0sMjI6W2Z1bmN0aW9uKGUscix0KXtcXFwidXNlIHN0cmljdFxcXCI7dmFyIGE9ZShcXFwiLi9zdHJpbmdSZWFkZXJcXFwiKTt2YXIgbj1lKFxcXCIuL25vZGVCdWZmZXJSZWFkZXJcXFwiKTt2YXIgaT1lKFxcXCIuL3VpbnQ4QXJyYXlSZWFkZXJcXFwiKTt2YXIgcz1lKFxcXCIuL3V0aWxzXFxcIik7dmFyIGY9ZShcXFwiLi9zaWduYXR1cmVcXFwiKTt2YXIgbz1lKFxcXCIuL3ppcEVudHJ5XFxcIik7dmFyIGw9ZShcXFwiLi9zdXBwb3J0XFxcIik7dmFyIGM9ZShcXFwiLi9vYmplY3RcXFwiKTtmdW5jdGlvbiB1KGUscil7dGhpcy5maWxlcz1bXTt0aGlzLmxvYWRPcHRpb25zPXI7aWYoZSl7dGhpcy5sb2FkKGUpfX11LnByb3RvdHlwZT17Y2hlY2tTaWduYXR1cmU6ZnVuY3Rpb24oZSl7dmFyIHI9dGhpcy5yZWFkZXIucmVhZFN0cmluZyg0KTtpZihyIT09ZSl7dGhyb3cgbmV3IEVycm9yKFxcXCJDb3JydXB0ZWQgemlwIG9yIGJ1ZyA6IHVuZXhwZWN0ZWQgc2lnbmF0dXJlIFxcXCIrXFxcIihcXFwiK3MucHJldHR5KHIpK1xcXCIsIGV4cGVjdGVkIFxcXCIrcy5wcmV0dHkoZSkrXFxcIilcXFwiKX19LHJlYWRCbG9ja0VuZE9mQ2VudHJhbDpmdW5jdGlvbigpe3RoaXMuZGlza051bWJlcj10aGlzLnJlYWRlci5yZWFkSW50KDIpO3RoaXMuZGlza1dpdGhDZW50cmFsRGlyU3RhcnQ9dGhpcy5yZWFkZXIucmVhZEludCgyKTt0aGlzLmNlbnRyYWxEaXJSZWNvcmRzT25UaGlzRGlzaz10aGlzLnJlYWRlci5yZWFkSW50KDIpO3RoaXMuY2VudHJhbERpclJlY29yZHM9dGhpcy5yZWFkZXIucmVhZEludCgyKTt0aGlzLmNlbnRyYWxEaXJTaXplPXRoaXMucmVhZGVyLnJlYWRJbnQoNCk7dGhpcy5jZW50cmFsRGlyT2Zmc2V0PXRoaXMucmVhZGVyLnJlYWRJbnQoNCk7dGhpcy56aXBDb21tZW50TGVuZ3RoPXRoaXMucmVhZGVyLnJlYWRJbnQoMik7dGhpcy56aXBDb21tZW50PXRoaXMucmVhZGVyLnJlYWRTdHJpbmcodGhpcy56aXBDb21tZW50TGVuZ3RoKTt0aGlzLnppcENvbW1lbnQ9Yy51dGY4ZGVjb2RlKHRoaXMuemlwQ29tbWVudCl9LHJlYWRCbG9ja1ppcDY0RW5kT2ZDZW50cmFsOmZ1bmN0aW9uKCl7dGhpcy56aXA2NEVuZE9mQ2VudHJhbFNpemU9dGhpcy5yZWFkZXIucmVhZEludCg4KTt0aGlzLnZlcnNpb25NYWRlQnk9dGhpcy5yZWFkZXIucmVhZFN0cmluZygyKTt0aGlzLnZlcnNpb25OZWVkZWQ9dGhpcy5yZWFkZXIucmVhZEludCgyKTt0aGlzLmRpc2tOdW1iZXI9dGhpcy5yZWFkZXIucmVhZEludCg0KTt0aGlzLmRpc2tXaXRoQ2VudHJhbERpclN0YXJ0PXRoaXMucmVhZGVyLnJlYWRJbnQoNCk7dGhpcy5jZW50cmFsRGlyUmVjb3Jkc09uVGhpc0Rpc2s9dGhpcy5yZWFkZXIucmVhZEludCg4KTt0aGlzLmNlbnRyYWxEaXJSZWNvcmRzPXRoaXMucmVhZGVyLnJlYWRJbnQoOCk7dGhpcy5jZW50cmFsRGlyU2l6ZT10aGlzLnJlYWRlci5yZWFkSW50KDgpO3RoaXMuY2VudHJhbERpck9mZnNldD10aGlzLnJlYWRlci5yZWFkSW50KDgpO3RoaXMuemlwNjRFeHRlbnNpYmxlRGF0YT17fTt2YXIgZT10aGlzLnppcDY0RW5kT2ZDZW50cmFsU2l6ZS00NCxyPTAsdCxhLG47d2hpbGUocjxlKXt0PXRoaXMucmVhZGVyLnJlYWRJbnQoMik7YT10aGlzLnJlYWRlci5yZWFkSW50KDQpO249dGhpcy5yZWFkZXIucmVhZFN0cmluZyhhKTt0aGlzLnppcDY0RXh0ZW5zaWJsZURhdGFbdF09e2lkOnQsbGVuZ3RoOmEsdmFsdWU6bn19fSxyZWFkQmxvY2taaXA2NEVuZE9mQ2VudHJhbExvY2F0b3I6ZnVuY3Rpb24oKXt0aGlzLmRpc2tXaXRoWmlwNjRDZW50cmFsRGlyU3RhcnQ9dGhpcy5yZWFkZXIucmVhZEludCg0KTt0aGlzLnJlbGF0aXZlT2Zmc2V0RW5kT2ZaaXA2NENlbnRyYWxEaXI9dGhpcy5yZWFkZXIucmVhZEludCg4KTt0aGlzLmRpc2tzQ291bnQ9dGhpcy5yZWFkZXIucmVhZEludCg0KTtpZih0aGlzLmRpc2tzQ291bnQ+MSl7dGhyb3cgbmV3IEVycm9yKFxcXCJNdWx0aS12b2x1bWVzIHppcCBhcmUgbm90IHN1cHBvcnRlZFxcXCIpfX0scmVhZExvY2FsRmlsZXM6ZnVuY3Rpb24oKXt2YXIgZSxyO2ZvcihlPTA7ZTx0aGlzLmZpbGVzLmxlbmd0aDtlKyspe3I9dGhpcy5maWxlc1tlXTt0aGlzLnJlYWRlci5zZXRJbmRleChyLmxvY2FsSGVhZGVyT2Zmc2V0KTt0aGlzLmNoZWNrU2lnbmF0dXJlKGYuTE9DQUxfRklMRV9IRUFERVIpO3IucmVhZExvY2FsUGFydCh0aGlzLnJlYWRlcik7ci5oYW5kbGVVVEY4KCl9fSxyZWFkQ2VudHJhbERpcjpmdW5jdGlvbigpe3ZhciBlO3RoaXMucmVhZGVyLnNldEluZGV4KHRoaXMuY2VudHJhbERpck9mZnNldCk7d2hpbGUodGhpcy5yZWFkZXIucmVhZFN0cmluZyg0KT09PWYuQ0VOVFJBTF9GSUxFX0hFQURFUil7ZT1uZXcgbyh7emlwNjQ6dGhpcy56aXA2NH0sdGhpcy5sb2FkT3B0aW9ucyk7ZS5yZWFkQ2VudHJhbFBhcnQodGhpcy5yZWFkZXIpO3RoaXMuZmlsZXMucHVzaChlKX19LHJlYWRFbmRPZkNlbnRyYWw6ZnVuY3Rpb24oKXt2YXIgZT10aGlzLnJlYWRlci5sYXN0SW5kZXhPZlNpZ25hdHVyZShmLkNFTlRSQUxfRElSRUNUT1JZX0VORCk7aWYoZT09PS0xKXt0aHJvdyBuZXcgRXJyb3IoXFxcIkNvcnJ1cHRlZCB6aXAgOiBjYW4ndCBmaW5kIGVuZCBvZiBjZW50cmFsIGRpcmVjdG9yeVxcXCIpfXRoaXMucmVhZGVyLnNldEluZGV4KGUpO3RoaXMuY2hlY2tTaWduYXR1cmUoZi5DRU5UUkFMX0RJUkVDVE9SWV9FTkQpO3RoaXMucmVhZEJsb2NrRW5kT2ZDZW50cmFsKCk7aWYodGhpcy5kaXNrTnVtYmVyPT09cy5NQVhfVkFMVUVfMTZCSVRTfHx0aGlzLmRpc2tXaXRoQ2VudHJhbERpclN0YXJ0PT09cy5NQVhfVkFMVUVfMTZCSVRTfHx0aGlzLmNlbnRyYWxEaXJSZWNvcmRzT25UaGlzRGlzaz09PXMuTUFYX1ZBTFVFXzE2QklUU3x8dGhpcy5jZW50cmFsRGlyUmVjb3Jkcz09PXMuTUFYX1ZBTFVFXzE2QklUU3x8dGhpcy5jZW50cmFsRGlyU2l6ZT09PXMuTUFYX1ZBTFVFXzMyQklUU3x8dGhpcy5jZW50cmFsRGlyT2Zmc2V0PT09cy5NQVhfVkFMVUVfMzJCSVRTKXt0aGlzLnppcDY0PXRydWU7ZT10aGlzLnJlYWRlci5sYXN0SW5kZXhPZlNpZ25hdHVyZShmLlpJUDY0X0NFTlRSQUxfRElSRUNUT1JZX0xPQ0FUT1IpO2lmKGU9PT0tMSl7dGhyb3cgbmV3IEVycm9yKFxcXCJDb3JydXB0ZWQgemlwIDogY2FuJ3QgZmluZCB0aGUgWklQNjQgZW5kIG9mIGNlbnRyYWwgZGlyZWN0b3J5IGxvY2F0b3JcXFwiKX10aGlzLnJlYWRlci5zZXRJbmRleChlKTt0aGlzLmNoZWNrU2lnbmF0dXJlKGYuWklQNjRfQ0VOVFJBTF9ESVJFQ1RPUllfTE9DQVRPUik7dGhpcy5yZWFkQmxvY2taaXA2NEVuZE9mQ2VudHJhbExvY2F0b3IoKTt0aGlzLnJlYWRlci5zZXRJbmRleCh0aGlzLnJlbGF0aXZlT2Zmc2V0RW5kT2ZaaXA2NENlbnRyYWxEaXIpO3RoaXMuY2hlY2tTaWduYXR1cmUoZi5aSVA2NF9DRU5UUkFMX0RJUkVDVE9SWV9FTkQpO3RoaXMucmVhZEJsb2NrWmlwNjRFbmRPZkNlbnRyYWwoKX19LHByZXBhcmVSZWFkZXI6ZnVuY3Rpb24oZSl7dmFyIHI9cy5nZXRUeXBlT2YoZSk7aWYocj09PVxcXCJzdHJpbmdcXFwiJiYhbC51aW50OGFycmF5KXt0aGlzLnJlYWRlcj1uZXcgYShlLHRoaXMubG9hZE9wdGlvbnMub3B0aW1pemVkQmluYXJ5U3RyaW5nKX1lbHNlIGlmKHI9PT1cXFwibm9kZWJ1ZmZlclxcXCIpe3RoaXMucmVhZGVyPW5ldyBuKGUpfWVsc2V7dGhpcy5yZWFkZXI9bmV3IGkocy50cmFuc2Zvcm1UbyhcXFwidWludDhhcnJheVxcXCIsZSkpfX0sbG9hZDpmdW5jdGlvbihlKXt0aGlzLnByZXBhcmVSZWFkZXIoZSk7dGhpcy5yZWFkRW5kT2ZDZW50cmFsKCk7dGhpcy5yZWFkQ2VudHJhbERpcigpO3RoaXMucmVhZExvY2FsRmlsZXMoKX19O3IuZXhwb3J0cz11fSx7XFxcIi4vbm9kZUJ1ZmZlclJlYWRlclxcXCI6MTIsXFxcIi4vb2JqZWN0XFxcIjoxMyxcXFwiLi9zaWduYXR1cmVcXFwiOjE0LFxcXCIuL3N0cmluZ1JlYWRlclxcXCI6MTUsXFxcIi4vc3VwcG9ydFxcXCI6MTcsXFxcIi4vdWludDhBcnJheVJlYWRlclxcXCI6MTgsXFxcIi4vdXRpbHNcXFwiOjIxLFxcXCIuL3ppcEVudHJ5XFxcIjoyM31dLDIzOltmdW5jdGlvbihlLHIsdCl7XFxcInVzZSBzdHJpY3RcXFwiO3ZhciBhPWUoXFxcIi4vc3RyaW5nUmVhZGVyXFxcIik7dmFyIG49ZShcXFwiLi91dGlsc1xcXCIpO3ZhciBpPWUoXFxcIi4vY29tcHJlc3NlZE9iamVjdFxcXCIpO3ZhciBzPWUoXFxcIi4vb2JqZWN0XFxcIik7ZnVuY3Rpb24gZihlLHIpe3RoaXMub3B0aW9ucz1lO3RoaXMubG9hZE9wdGlvbnM9cn1mLnByb3RvdHlwZT17aXNFbmNyeXB0ZWQ6ZnVuY3Rpb24oKXtyZXR1cm4odGhpcy5iaXRGbGFnJjEpPT09MX0sdXNlVVRGODpmdW5jdGlvbigpe3JldHVybih0aGlzLmJpdEZsYWcmMjA0OCk9PT0yMDQ4fSxwcmVwYXJlQ29tcHJlc3NlZENvbnRlbnQ6ZnVuY3Rpb24oZSxyLHQpe3JldHVybiBmdW5jdGlvbigpe3ZhciBhPWUuaW5kZXg7ZS5zZXRJbmRleChyKTt2YXIgbj1lLnJlYWREYXRhKHQpO2Uuc2V0SW5kZXgoYSk7cmV0dXJuIG59fSxwcmVwYXJlQ29udGVudDpmdW5jdGlvbihlLHIsdCxhLGkpe3JldHVybiBmdW5jdGlvbigpe3ZhciBlPW4udHJhbnNmb3JtVG8oYS51bmNvbXByZXNzSW5wdXRUeXBlLHRoaXMuZ2V0Q29tcHJlc3NlZENvbnRlbnQoKSk7dmFyIHI9YS51bmNvbXByZXNzKGUpO2lmKHIubGVuZ3RoIT09aSl7dGhyb3cgbmV3IEVycm9yKFxcXCJCdWcgOiB1bmNvbXByZXNzZWQgZGF0YSBzaXplIG1pc21hdGNoXFxcIil9cmV0dXJuIHJ9fSxyZWFkTG9jYWxQYXJ0OmZ1bmN0aW9uKGUpe3ZhciByLHQ7ZS5za2lwKDIyKTt0aGlzLmZpbGVOYW1lTGVuZ3RoPWUucmVhZEludCgyKTt0PWUucmVhZEludCgyKTt0aGlzLmZpbGVOYW1lPWUucmVhZFN0cmluZyh0aGlzLmZpbGVOYW1lTGVuZ3RoKTtlLnNraXAodCk7aWYodGhpcy5jb21wcmVzc2VkU2l6ZT09LTF8fHRoaXMudW5jb21wcmVzc2VkU2l6ZT09LTEpe3Rocm93IG5ldyBFcnJvcihcXFwiQnVnIG9yIGNvcnJ1cHRlZCB6aXAgOiBkaWRuJ3QgZ2V0IGVub3VnaCBpbmZvcm1hdGlvbnMgZnJvbSB0aGUgY2VudHJhbCBkaXJlY3RvcnkgXFxcIitcXFwiKGNvbXByZXNzZWRTaXplID09IC0xIHx8IHVuY29tcHJlc3NlZFNpemUgPT0gLTEpXFxcIil9cj1uLmZpbmRDb21wcmVzc2lvbih0aGlzLmNvbXByZXNzaW9uTWV0aG9kKTtpZihyPT09bnVsbCl7dGhyb3cgbmV3IEVycm9yKFxcXCJDb3JydXB0ZWQgemlwIDogY29tcHJlc3Npb24gXFxcIituLnByZXR0eSh0aGlzLmNvbXByZXNzaW9uTWV0aG9kKStcXFwiIHVua25vd24gKGlubmVyIGZpbGUgOiBcXFwiK3RoaXMuZmlsZU5hbWUrXFxcIilcXFwiKX10aGlzLmRlY29tcHJlc3NlZD1uZXcgaTt0aGlzLmRlY29tcHJlc3NlZC5jb21wcmVzc2VkU2l6ZT10aGlzLmNvbXByZXNzZWRTaXplO3RoaXMuZGVjb21wcmVzc2VkLnVuY29tcHJlc3NlZFNpemU9dGhpcy51bmNvbXByZXNzZWRTaXplO3RoaXMuZGVjb21wcmVzc2VkLmNyYzMyPXRoaXMuY3JjMzI7dGhpcy5kZWNvbXByZXNzZWQuY29tcHJlc3Npb25NZXRob2Q9dGhpcy5jb21wcmVzc2lvbk1ldGhvZDt0aGlzLmRlY29tcHJlc3NlZC5nZXRDb21wcmVzc2VkQ29udGVudD10aGlzLnByZXBhcmVDb21wcmVzc2VkQ29udGVudChlLGUuaW5kZXgsdGhpcy5jb21wcmVzc2VkU2l6ZSxyKTt0aGlzLmRlY29tcHJlc3NlZC5nZXRDb250ZW50PXRoaXMucHJlcGFyZUNvbnRlbnQoZSxlLmluZGV4LHRoaXMuY29tcHJlc3NlZFNpemUscix0aGlzLnVuY29tcHJlc3NlZFNpemUpO2lmKHRoaXMubG9hZE9wdGlvbnMuY2hlY2tDUkMzMil7dGhpcy5kZWNvbXByZXNzZWQ9bi50cmFuc2Zvcm1UbyhcXFwic3RyaW5nXFxcIix0aGlzLmRlY29tcHJlc3NlZC5nZXRDb250ZW50KCkpO2lmKHMuY3JjMzIodGhpcy5kZWNvbXByZXNzZWQpIT09dGhpcy5jcmMzMil7dGhyb3cgbmV3IEVycm9yKFxcXCJDb3JydXB0ZWQgemlwIDogQ1JDMzIgbWlzbWF0Y2hcXFwiKX19fSxyZWFkQ2VudHJhbFBhcnQ6ZnVuY3Rpb24oZSl7dGhpcy52ZXJzaW9uTWFkZUJ5PWUucmVhZFN0cmluZygyKTt0aGlzLnZlcnNpb25OZWVkZWQ9ZS5yZWFkSW50KDIpO3RoaXMuYml0RmxhZz1lLnJlYWRJbnQoMik7dGhpcy5jb21wcmVzc2lvbk1ldGhvZD1lLnJlYWRTdHJpbmcoMik7dGhpcy5kYXRlPWUucmVhZERhdGUoKTt0aGlzLmNyYzMyPWUucmVhZEludCg0KTt0aGlzLmNvbXByZXNzZWRTaXplPWUucmVhZEludCg0KTt0aGlzLnVuY29tcHJlc3NlZFNpemU9ZS5yZWFkSW50KDQpO3RoaXMuZmlsZU5hbWVMZW5ndGg9ZS5yZWFkSW50KDIpO3RoaXMuZXh0cmFGaWVsZHNMZW5ndGg9ZS5yZWFkSW50KDIpO3RoaXMuZmlsZUNvbW1lbnRMZW5ndGg9ZS5yZWFkSW50KDIpO3RoaXMuZGlza051bWJlclN0YXJ0PWUucmVhZEludCgyKTt0aGlzLmludGVybmFsRmlsZUF0dHJpYnV0ZXM9ZS5yZWFkSW50KDIpO3RoaXMuZXh0ZXJuYWxGaWxlQXR0cmlidXRlcz1lLnJlYWRJbnQoNCk7dGhpcy5sb2NhbEhlYWRlck9mZnNldD1lLnJlYWRJbnQoNCk7aWYodGhpcy5pc0VuY3J5cHRlZCgpKXt0aHJvdyBuZXcgRXJyb3IoXFxcIkVuY3J5cHRlZCB6aXAgYXJlIG5vdCBzdXBwb3J0ZWRcXFwiKX10aGlzLmZpbGVOYW1lPWUucmVhZFN0cmluZyh0aGlzLmZpbGVOYW1lTGVuZ3RoKTt0aGlzLnJlYWRFeHRyYUZpZWxkcyhlKTt0aGlzLnBhcnNlWklQNjRFeHRyYUZpZWxkKGUpO3RoaXMuZmlsZUNvbW1lbnQ9ZS5yZWFkU3RyaW5nKHRoaXMuZmlsZUNvbW1lbnRMZW5ndGgpO3RoaXMuZGlyPXRoaXMuZXh0ZXJuYWxGaWxlQXR0cmlidXRlcyYxNj90cnVlOmZhbHNlfSxwYXJzZVpJUDY0RXh0cmFGaWVsZDpmdW5jdGlvbihlKXtpZighdGhpcy5leHRyYUZpZWxkc1sxXSl7cmV0dXJufXZhciByPW5ldyBhKHRoaXMuZXh0cmFGaWVsZHNbMV0udmFsdWUpO2lmKHRoaXMudW5jb21wcmVzc2VkU2l6ZT09PW4uTUFYX1ZBTFVFXzMyQklUUyl7dGhpcy51bmNvbXByZXNzZWRTaXplPXIucmVhZEludCg4KX1pZih0aGlzLmNvbXByZXNzZWRTaXplPT09bi5NQVhfVkFMVUVfMzJCSVRTKXt0aGlzLmNvbXByZXNzZWRTaXplPXIucmVhZEludCg4KX1pZih0aGlzLmxvY2FsSGVhZGVyT2Zmc2V0PT09bi5NQVhfVkFMVUVfMzJCSVRTKXt0aGlzLmxvY2FsSGVhZGVyT2Zmc2V0PXIucmVhZEludCg4KX1pZih0aGlzLmRpc2tOdW1iZXJTdGFydD09PW4uTUFYX1ZBTFVFXzMyQklUUyl7dGhpcy5kaXNrTnVtYmVyU3RhcnQ9ci5yZWFkSW50KDQpfX0scmVhZEV4dHJhRmllbGRzOmZ1bmN0aW9uKGUpe3ZhciByPWUuaW5kZXgsdCxhLG47dGhpcy5leHRyYUZpZWxkcz10aGlzLmV4dHJhRmllbGRzfHx7fTt3aGlsZShlLmluZGV4PHIrdGhpcy5leHRyYUZpZWxkc0xlbmd0aCl7dD1lLnJlYWRJbnQoMik7YT1lLnJlYWRJbnQoMik7bj1lLnJlYWRTdHJpbmcoYSk7dGhpcy5leHRyYUZpZWxkc1t0XT17aWQ6dCxsZW5ndGg6YSx2YWx1ZTpufX19LGhhbmRsZVVURjg6ZnVuY3Rpb24oKXtpZih0aGlzLnVzZVVURjgoKSl7dGhpcy5maWxlTmFtZT1zLnV0ZjhkZWNvZGUodGhpcy5maWxlTmFtZSk7dGhpcy5maWxlQ29tbWVudD1zLnV0ZjhkZWNvZGUodGhpcy5maWxlQ29tbWVudCl9ZWxzZXt2YXIgZT10aGlzLmZpbmRFeHRyYUZpZWxkVW5pY29kZVBhdGgoKTtpZihlIT09bnVsbCl7dGhpcy5maWxlTmFtZT1lfXZhciByPXRoaXMuZmluZEV4dHJhRmllbGRVbmljb2RlQ29tbWVudCgpO2lmKHIhPT1udWxsKXt0aGlzLmZpbGVDb21tZW50PXJ9fX0sZmluZEV4dHJhRmllbGRVbmljb2RlUGF0aDpmdW5jdGlvbigpe3ZhciBlPXRoaXMuZXh0cmFGaWVsZHNbMjg3ODldO2lmKGUpe3ZhciByPW5ldyBhKGUudmFsdWUpO2lmKHIucmVhZEludCgxKSE9PTEpe1xcbnJldHVybiBudWxsfWlmKHMuY3JjMzIodGhpcy5maWxlTmFtZSkhPT1yLnJlYWRJbnQoNCkpe3JldHVybiBudWxsfXJldHVybiBzLnV0ZjhkZWNvZGUoci5yZWFkU3RyaW5nKGUubGVuZ3RoLTUpKX1yZXR1cm4gbnVsbH0sZmluZEV4dHJhRmllbGRVbmljb2RlQ29tbWVudDpmdW5jdGlvbigpe3ZhciBlPXRoaXMuZXh0cmFGaWVsZHNbMjU0NjFdO2lmKGUpe3ZhciByPW5ldyBhKGUudmFsdWUpO2lmKHIucmVhZEludCgxKSE9PTEpe3JldHVybiBudWxsfWlmKHMuY3JjMzIodGhpcy5maWxlQ29tbWVudCkhPT1yLnJlYWRJbnQoNCkpe3JldHVybiBudWxsfXJldHVybiBzLnV0ZjhkZWNvZGUoci5yZWFkU3RyaW5nKGUubGVuZ3RoLTUpKX1yZXR1cm4gbnVsbH19O3IuZXhwb3J0cz1mfSx7XFxcIi4vY29tcHJlc3NlZE9iamVjdFxcXCI6MixcXFwiLi9vYmplY3RcXFwiOjEzLFxcXCIuL3N0cmluZ1JlYWRlclxcXCI6MTUsXFxcIi4vdXRpbHNcXFwiOjIxfV0sMjQ6W2Z1bmN0aW9uKGUscix0KXtcXFwidXNlIHN0cmljdFxcXCI7dmFyIGE9ZShcXFwiLi9saWIvdXRpbHMvY29tbW9uXFxcIikuYXNzaWduO3ZhciBuPWUoXFxcIi4vbGliL2RlZmxhdGVcXFwiKTt2YXIgaT1lKFxcXCIuL2xpYi9pbmZsYXRlXFxcIik7dmFyIHM9ZShcXFwiLi9saWIvemxpYi9jb25zdGFudHNcXFwiKTt2YXIgZj17fTthKGYsbixpLHMpO3IuZXhwb3J0cz1mfSx7XFxcIi4vbGliL2RlZmxhdGVcXFwiOjI1LFxcXCIuL2xpYi9pbmZsYXRlXFxcIjoyNixcXFwiLi9saWIvdXRpbHMvY29tbW9uXFxcIjoyNyxcXFwiLi9saWIvemxpYi9jb25zdGFudHNcXFwiOjMwfV0sMjU6W2Z1bmN0aW9uKGUscix0KXtcXFwidXNlIHN0cmljdFxcXCI7dmFyIGE9ZShcXFwiLi96bGliL2RlZmxhdGUuanNcXFwiKTt2YXIgbj1lKFxcXCIuL3V0aWxzL2NvbW1vblxcXCIpO3ZhciBpPWUoXFxcIi4vdXRpbHMvc3RyaW5nc1xcXCIpO3ZhciBzPWUoXFxcIi4vemxpYi9tZXNzYWdlc1xcXCIpO3ZhciBmPWUoXFxcIi4vemxpYi96c3RyZWFtXFxcIik7dmFyIG89MDt2YXIgbD00O3ZhciBjPTA7dmFyIHU9MTt2YXIgaD0tMTt2YXIgZD0wO3ZhciB2PTg7dmFyIHA9ZnVuY3Rpb24oZSl7dGhpcy5vcHRpb25zPW4uYXNzaWduKHtsZXZlbDpoLG1ldGhvZDp2LGNodW5rU2l6ZToxNjM4NCx3aW5kb3dCaXRzOjE1LG1lbUxldmVsOjgsc3RyYXRlZ3k6ZCx0bzpcXFwiXFxcIn0sZXx8e30pO3ZhciByPXRoaXMub3B0aW9ucztpZihyLnJhdyYmci53aW5kb3dCaXRzPjApe3Iud2luZG93Qml0cz0tci53aW5kb3dCaXRzfWVsc2UgaWYoci5nemlwJiZyLndpbmRvd0JpdHM+MCYmci53aW5kb3dCaXRzPDE2KXtyLndpbmRvd0JpdHMrPTE2fXRoaXMuZXJyPTA7dGhpcy5tc2c9XFxcIlxcXCI7dGhpcy5lbmRlZD1mYWxzZTt0aGlzLmNodW5rcz1bXTt0aGlzLnN0cm09bmV3IGY7dGhpcy5zdHJtLmF2YWlsX291dD0wO3ZhciB0PWEuZGVmbGF0ZUluaXQyKHRoaXMuc3RybSxyLmxldmVsLHIubWV0aG9kLHIud2luZG93Qml0cyxyLm1lbUxldmVsLHIuc3RyYXRlZ3kpO2lmKHQhPT1jKXt0aHJvdyBuZXcgRXJyb3Ioc1t0XSl9aWYoci5oZWFkZXIpe2EuZGVmbGF0ZVNldEhlYWRlcih0aGlzLnN0cm0sci5oZWFkZXIpfX07cC5wcm90b3R5cGUucHVzaD1mdW5jdGlvbihlLHIpe3ZhciB0PXRoaXMuc3RybTt2YXIgcz10aGlzLm9wdGlvbnMuY2h1bmtTaXplO3ZhciBmLGg7aWYodGhpcy5lbmRlZCl7cmV0dXJuIGZhbHNlfWg9cj09PX5+cj9yOnI9PT10cnVlP2w6bztpZih0eXBlb2YgZT09PVxcXCJzdHJpbmdcXFwiKXt0LmlucHV0PWkuc3RyaW5nMmJ1ZihlKX1lbHNle3QuaW5wdXQ9ZX10Lm5leHRfaW49MDt0LmF2YWlsX2luPXQuaW5wdXQubGVuZ3RoO2Rve2lmKHQuYXZhaWxfb3V0PT09MCl7dC5vdXRwdXQ9bmV3IG4uQnVmOChzKTt0Lm5leHRfb3V0PTA7dC5hdmFpbF9vdXQ9c31mPWEuZGVmbGF0ZSh0LGgpO2lmKGYhPT11JiZmIT09Yyl7dGhpcy5vbkVuZChmKTt0aGlzLmVuZGVkPXRydWU7cmV0dXJuIGZhbHNlfWlmKHQuYXZhaWxfb3V0PT09MHx8dC5hdmFpbF9pbj09PTAmJmg9PT1sKXtpZih0aGlzLm9wdGlvbnMudG89PT1cXFwic3RyaW5nXFxcIil7dGhpcy5vbkRhdGEoaS5idWYyYmluc3RyaW5nKG4uc2hyaW5rQnVmKHQub3V0cHV0LHQubmV4dF9vdXQpKSl9ZWxzZXt0aGlzLm9uRGF0YShuLnNocmlua0J1Zih0Lm91dHB1dCx0Lm5leHRfb3V0KSl9fX13aGlsZSgodC5hdmFpbF9pbj4wfHx0LmF2YWlsX291dD09PTApJiZmIT09dSk7aWYoaD09PWwpe2Y9YS5kZWZsYXRlRW5kKHRoaXMuc3RybSk7dGhpcy5vbkVuZChmKTt0aGlzLmVuZGVkPXRydWU7cmV0dXJuIGY9PT1jfXJldHVybiB0cnVlfTtwLnByb3RvdHlwZS5vbkRhdGE9ZnVuY3Rpb24oZSl7dGhpcy5jaHVua3MucHVzaChlKX07cC5wcm90b3R5cGUub25FbmQ9ZnVuY3Rpb24oZSl7aWYoZT09PWMpe2lmKHRoaXMub3B0aW9ucy50bz09PVxcXCJzdHJpbmdcXFwiKXt0aGlzLnJlc3VsdD10aGlzLmNodW5rcy5qb2luKFxcXCJcXFwiKX1lbHNle3RoaXMucmVzdWx0PW4uZmxhdHRlbkNodW5rcyh0aGlzLmNodW5rcyl9fXRoaXMuY2h1bmtzPVtdO3RoaXMuZXJyPWU7dGhpcy5tc2c9dGhpcy5zdHJtLm1zZ307ZnVuY3Rpb24gbShlLHIpe3ZhciB0PW5ldyBwKHIpO3QucHVzaChlLHRydWUpO2lmKHQuZXJyKXt0aHJvdyB0Lm1zZ31yZXR1cm4gdC5yZXN1bHR9ZnVuY3Rpb24gYihlLHIpe3I9cnx8e307ci5yYXc9dHJ1ZTtyZXR1cm4gbShlLHIpfWZ1bmN0aW9uIGcoZSxyKXtyPXJ8fHt9O3IuZ3ppcD10cnVlO3JldHVybiBtKGUscil9dC5EZWZsYXRlPXA7dC5kZWZsYXRlPW07dC5kZWZsYXRlUmF3PWI7dC5nemlwPWd9LHtcXFwiLi91dGlscy9jb21tb25cXFwiOjI3LFxcXCIuL3V0aWxzL3N0cmluZ3NcXFwiOjI4LFxcXCIuL3psaWIvZGVmbGF0ZS5qc1xcXCI6MzIsXFxcIi4vemxpYi9tZXNzYWdlc1xcXCI6MzcsXFxcIi4vemxpYi96c3RyZWFtXFxcIjozOX1dLDI2OltmdW5jdGlvbihlLHIsdCl7XFxcInVzZSBzdHJpY3RcXFwiO3ZhciBhPWUoXFxcIi4vemxpYi9pbmZsYXRlLmpzXFxcIik7dmFyIG49ZShcXFwiLi91dGlscy9jb21tb25cXFwiKTt2YXIgaT1lKFxcXCIuL3V0aWxzL3N0cmluZ3NcXFwiKTt2YXIgcz1lKFxcXCIuL3psaWIvY29uc3RhbnRzXFxcIik7dmFyIGY9ZShcXFwiLi96bGliL21lc3NhZ2VzXFxcIik7dmFyIG89ZShcXFwiLi96bGliL3pzdHJlYW1cXFwiKTt2YXIgbD1lKFxcXCIuL3psaWIvZ3poZWFkZXJcXFwiKTt2YXIgYz1mdW5jdGlvbihlKXt0aGlzLm9wdGlvbnM9bi5hc3NpZ24oe2NodW5rU2l6ZToxNjM4NCx3aW5kb3dCaXRzOjAsdG86XFxcIlxcXCJ9LGV8fHt9KTt2YXIgcj10aGlzLm9wdGlvbnM7aWYoci5yYXcmJnIud2luZG93Qml0cz49MCYmci53aW5kb3dCaXRzPDE2KXtyLndpbmRvd0JpdHM9LXIud2luZG93Qml0cztpZihyLndpbmRvd0JpdHM9PT0wKXtyLndpbmRvd0JpdHM9LTE1fX1pZihyLndpbmRvd0JpdHM+PTAmJnIud2luZG93Qml0czwxNiYmIShlJiZlLndpbmRvd0JpdHMpKXtyLndpbmRvd0JpdHMrPTMyfWlmKHIud2luZG93Qml0cz4xNSYmci53aW5kb3dCaXRzPDQ4KXtpZigoci53aW5kb3dCaXRzJjE1KT09PTApe3Iud2luZG93Qml0c3w9MTV9fXRoaXMuZXJyPTA7dGhpcy5tc2c9XFxcIlxcXCI7dGhpcy5lbmRlZD1mYWxzZTt0aGlzLmNodW5rcz1bXTt0aGlzLnN0cm09bmV3IG87dGhpcy5zdHJtLmF2YWlsX291dD0wO3ZhciB0PWEuaW5mbGF0ZUluaXQyKHRoaXMuc3RybSxyLndpbmRvd0JpdHMpO2lmKHQhPT1zLlpfT0spe3Rocm93IG5ldyBFcnJvcihmW3RdKX10aGlzLmhlYWRlcj1uZXcgbDthLmluZmxhdGVHZXRIZWFkZXIodGhpcy5zdHJtLHRoaXMuaGVhZGVyKX07Yy5wcm90b3R5cGUucHVzaD1mdW5jdGlvbihlLHIpe3ZhciB0PXRoaXMuc3RybTt2YXIgZj10aGlzLm9wdGlvbnMuY2h1bmtTaXplO3ZhciBvLGw7dmFyIGMsdSxoO2lmKHRoaXMuZW5kZWQpe3JldHVybiBmYWxzZX1sPXI9PT1+fnI/cjpyPT09dHJ1ZT9zLlpfRklOSVNIOnMuWl9OT19GTFVTSDtpZih0eXBlb2YgZT09PVxcXCJzdHJpbmdcXFwiKXt0LmlucHV0PWkuYmluc3RyaW5nMmJ1ZihlKX1lbHNle3QuaW5wdXQ9ZX10Lm5leHRfaW49MDt0LmF2YWlsX2luPXQuaW5wdXQubGVuZ3RoO2Rve2lmKHQuYXZhaWxfb3V0PT09MCl7dC5vdXRwdXQ9bmV3IG4uQnVmOChmKTt0Lm5leHRfb3V0PTA7dC5hdmFpbF9vdXQ9Zn1vPWEuaW5mbGF0ZSh0LHMuWl9OT19GTFVTSCk7aWYobyE9PXMuWl9TVFJFQU1fRU5EJiZvIT09cy5aX09LKXt0aGlzLm9uRW5kKG8pO3RoaXMuZW5kZWQ9dHJ1ZTtyZXR1cm4gZmFsc2V9aWYodC5uZXh0X291dCl7aWYodC5hdmFpbF9vdXQ9PT0wfHxvPT09cy5aX1NUUkVBTV9FTkR8fHQuYXZhaWxfaW49PT0wJiZsPT09cy5aX0ZJTklTSCl7aWYodGhpcy5vcHRpb25zLnRvPT09XFxcInN0cmluZ1xcXCIpe2M9aS51dGY4Ym9yZGVyKHQub3V0cHV0LHQubmV4dF9vdXQpO3U9dC5uZXh0X291dC1jO2g9aS5idWYyc3RyaW5nKHQub3V0cHV0LGMpO3QubmV4dF9vdXQ9dTt0LmF2YWlsX291dD1mLXU7aWYodSl7bi5hcnJheVNldCh0Lm91dHB1dCx0Lm91dHB1dCxjLHUsMCl9dGhpcy5vbkRhdGEoaCl9ZWxzZXt0aGlzLm9uRGF0YShuLnNocmlua0J1Zih0Lm91dHB1dCx0Lm5leHRfb3V0KSl9fX19d2hpbGUodC5hdmFpbF9pbj4wJiZvIT09cy5aX1NUUkVBTV9FTkQpO2lmKG89PT1zLlpfU1RSRUFNX0VORCl7bD1zLlpfRklOSVNIfWlmKGw9PT1zLlpfRklOSVNIKXtvPWEuaW5mbGF0ZUVuZCh0aGlzLnN0cm0pO3RoaXMub25FbmQobyk7dGhpcy5lbmRlZD10cnVlO3JldHVybiBvPT09cy5aX09LfXJldHVybiB0cnVlfTtjLnByb3RvdHlwZS5vbkRhdGE9ZnVuY3Rpb24oZSl7dGhpcy5jaHVua3MucHVzaChlKX07Yy5wcm90b3R5cGUub25FbmQ9ZnVuY3Rpb24oZSl7aWYoZT09PXMuWl9PSyl7aWYodGhpcy5vcHRpb25zLnRvPT09XFxcInN0cmluZ1xcXCIpe3RoaXMucmVzdWx0PXRoaXMuY2h1bmtzLmpvaW4oXFxcIlxcXCIpfWVsc2V7dGhpcy5yZXN1bHQ9bi5mbGF0dGVuQ2h1bmtzKHRoaXMuY2h1bmtzKX19dGhpcy5jaHVua3M9W107dGhpcy5lcnI9ZTt0aGlzLm1zZz10aGlzLnN0cm0ubXNnfTtmdW5jdGlvbiB1KGUscil7dmFyIHQ9bmV3IGMocik7dC5wdXNoKGUsdHJ1ZSk7aWYodC5lcnIpe3Rocm93IHQubXNnfXJldHVybiB0LnJlc3VsdH1mdW5jdGlvbiBoKGUscil7cj1yfHx7fTtyLnJhdz10cnVlO3JldHVybiB1KGUscil9dC5JbmZsYXRlPWM7dC5pbmZsYXRlPXU7dC5pbmZsYXRlUmF3PWg7dC51bmd6aXA9dX0se1xcXCIuL3V0aWxzL2NvbW1vblxcXCI6MjcsXFxcIi4vdXRpbHMvc3RyaW5nc1xcXCI6MjgsXFxcIi4vemxpYi9jb25zdGFudHNcXFwiOjMwLFxcXCIuL3psaWIvZ3poZWFkZXJcXFwiOjMzLFxcXCIuL3psaWIvaW5mbGF0ZS5qc1xcXCI6MzUsXFxcIi4vemxpYi9tZXNzYWdlc1xcXCI6MzcsXFxcIi4vemxpYi96c3RyZWFtXFxcIjozOX1dLDI3OltmdW5jdGlvbihlLHIsdCl7XFxcInVzZSBzdHJpY3RcXFwiO3ZhciBhPXR5cGVvZiBVaW50OEFycmF5IT09XFxcInVuZGVmaW5lZFxcXCImJnR5cGVvZiBVaW50MTZBcnJheSE9PVxcXCJ1bmRlZmluZWRcXFwiJiZ0eXBlb2YgSW50MzJBcnJheSE9PVxcXCJ1bmRlZmluZWRcXFwiO3QuYXNzaWduPWZ1bmN0aW9uKGUpe3ZhciByPUFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKGFyZ3VtZW50cywxKTt3aGlsZShyLmxlbmd0aCl7dmFyIHQ9ci5zaGlmdCgpO2lmKCF0KXtjb250aW51ZX1pZih0eXBlb2YgdCE9PVxcXCJvYmplY3RcXFwiKXt0aHJvdyBuZXcgVHlwZUVycm9yKHQrXFxcIm11c3QgYmUgbm9uLW9iamVjdFxcXCIpfWZvcih2YXIgYSBpbiB0KXtpZih0Lmhhc093blByb3BlcnR5KGEpKXtlW2FdPXRbYV19fX1yZXR1cm4gZX07dC5zaHJpbmtCdWY9ZnVuY3Rpb24oZSxyKXtpZihlLmxlbmd0aD09PXIpe3JldHVybiBlfWlmKGUuc3ViYXJyYXkpe3JldHVybiBlLnN1YmFycmF5KDAscil9ZS5sZW5ndGg9cjtyZXR1cm4gZX07dmFyIG49e2FycmF5U2V0OmZ1bmN0aW9uKGUscix0LGEsbil7aWYoci5zdWJhcnJheSYmZS5zdWJhcnJheSl7ZS5zZXQoci5zdWJhcnJheSh0LHQrYSksbik7cmV0dXJufWZvcih2YXIgaT0wO2k8YTtpKyspe2VbbitpXT1yW3QraV19fSxmbGF0dGVuQ2h1bmtzOmZ1bmN0aW9uKGUpe3ZhciByLHQsYSxuLGksczthPTA7Zm9yKHI9MCx0PWUubGVuZ3RoO3I8dDtyKyspe2ErPWVbcl0ubGVuZ3RofXM9bmV3IFVpbnQ4QXJyYXkoYSk7bj0wO2ZvcihyPTAsdD1lLmxlbmd0aDtyPHQ7cisrKXtpPWVbcl07cy5zZXQoaSxuKTtuKz1pLmxlbmd0aH1yZXR1cm4gc319O3ZhciBpPXthcnJheVNldDpmdW5jdGlvbihlLHIsdCxhLG4pe2Zvcih2YXIgaT0wO2k8YTtpKyspe2VbbitpXT1yW3QraV19fSxmbGF0dGVuQ2h1bmtzOmZ1bmN0aW9uKGUpe3JldHVybltdLmNvbmNhdC5hcHBseShbXSxlKX19O3Quc2V0VHlwZWQ9ZnVuY3Rpb24oZSl7aWYoZSl7dC5CdWY4PVVpbnQ4QXJyYXk7dC5CdWYxNj1VaW50MTZBcnJheTt0LkJ1ZjMyPUludDMyQXJyYXk7dC5hc3NpZ24odCxuKX1lbHNle3QuQnVmOD1BcnJheTt0LkJ1ZjE2PUFycmF5O3QuQnVmMzI9QXJyYXk7dC5hc3NpZ24odCxpKX19O3Quc2V0VHlwZWQoYSl9LHt9XSwyODpbZnVuY3Rpb24oZSxyLHQpe1xcXCJ1c2Ugc3RyaWN0XFxcIjt2YXIgYT1lKFxcXCIuL2NvbW1vblxcXCIpO3ZhciBuPXRydWU7dmFyIGk9dHJ1ZTt0cnl7U3RyaW5nLmZyb21DaGFyQ29kZS5hcHBseShudWxsLFswXSl9Y2F0Y2gocyl7bj1mYWxzZX10cnl7U3RyaW5nLmZyb21DaGFyQ29kZS5hcHBseShudWxsLG5ldyBVaW50OEFycmF5KDEpKX1jYXRjaChzKXtpPWZhbHNlfXZhciBmPW5ldyBhLkJ1ZjgoMjU2KTtmb3IodmFyIG89MDtvPDI1NjtvKyspe2Zbb109bz49MjUyPzY6bz49MjQ4PzU6bz49MjQwPzQ6bz49MjI0PzM6bz49MTkyPzI6MX1mWzI1NF09ZlsyNTRdPTE7dC5zdHJpbmcyYnVmPWZ1bmN0aW9uKGUpe3ZhciByLHQsbixpLHMsZj1lLmxlbmd0aCxvPTA7Zm9yKGk9MDtpPGY7aSsrKXt0PWUuY2hhckNvZGVBdChpKTtpZigodCY2NDUxMik9PT01NTI5NiYmaSsxPGYpe249ZS5jaGFyQ29kZUF0KGkrMSk7aWYoKG4mNjQ1MTIpPT09NTYzMjApe3Q9NjU1MzYrKHQtNTUyOTY8PDEwKSsobi01NjMyMCk7aSsrfX1vKz10PDEyOD8xOnQ8MjA0OD8yOnQ8NjU1MzY/Mzo0fXI9bmV3IGEuQnVmOChvKTtmb3Iocz0wLGk9MDtzPG87aSsrKXt0PWUuY2hhckNvZGVBdChpKTtpZigodCY2NDUxMik9PT01NTI5NiYmaSsxPGYpe249ZS5jaGFyQ29kZUF0KGkrMSk7aWYoKG4mNjQ1MTIpPT09NTYzMjApe3Q9NjU1MzYrKHQtNTUyOTY8PDEwKSsobi01NjMyMCk7aSsrfX1pZih0PDEyOCl7cltzKytdPXR9ZWxzZSBpZih0PDIwNDgpe3JbcysrXT0xOTJ8dD4+PjY7cltzKytdPTEyOHx0JjYzfWVsc2UgaWYodDw2NTUzNil7cltzKytdPTIyNHx0Pj4+MTI7cltzKytdPTEyOHx0Pj4+NiY2MztyW3MrK109MTI4fHQmNjN9ZWxzZXtyW3MrK109MjQwfHQ+Pj4xODtyW3MrK109MTI4fHQ+Pj4xMiY2MztyW3MrK109MTI4fHQ+Pj42JjYzO3JbcysrXT0xMjh8dCY2M319cmV0dXJuIHJ9O2Z1bmN0aW9uIGwoZSxyKXtpZihyPDY1NTM3KXtpZihlLnN1YmFycmF5JiZpfHwhZS5zdWJhcnJheSYmbil7cmV0dXJuIFN0cmluZy5mcm9tQ2hhckNvZGUuYXBwbHkobnVsbCxhLnNocmlua0J1ZihlLHIpKX19dmFyIHQ9XFxcIlxcXCI7Zm9yKHZhciBzPTA7czxyO3MrKyl7dCs9U3RyaW5nLmZyb21DaGFyQ29kZShlW3NdKX1yZXR1cm4gdH10LmJ1ZjJiaW5zdHJpbmc9ZnVuY3Rpb24oZSl7cmV0dXJuIGwoZSxlLmxlbmd0aCl9O3QuYmluc3RyaW5nMmJ1Zj1mdW5jdGlvbihlKXt2YXIgcj1uZXcgYS5CdWY4KGUubGVuZ3RoKTtmb3IodmFyIHQ9MCxuPXIubGVuZ3RoO3Q8bjt0Kyspe3JbdF09ZS5jaGFyQ29kZUF0KHQpfXJldHVybiByfTt0LmJ1ZjJzdHJpbmc9ZnVuY3Rpb24oZSxyKXt2YXIgdCxhLG4saTt2YXIgcz1yfHxlLmxlbmd0aDt2YXIgbz1uZXcgQXJyYXkocyoyKTtmb3IoYT0wLHQ9MDt0PHM7KXtuPWVbdCsrXTtpZihuPDEyOCl7b1thKytdPW47Y29udGludWV9aT1mW25dO2lmKGk+NCl7b1thKytdPTY1NTMzO3QrPWktMTtjb250aW51ZX1uJj1pPT09Mj8zMTppPT09Mz8xNTo3O3doaWxlKGk+MSYmdDxzKXtuPW48PDZ8ZVt0KytdJjYzO2ktLX1pZihpPjEpe29bYSsrXT02NTUzMztjb250aW51ZX1pZihuPDY1NTM2KXtvW2ErK109bn1lbHNle24tPTY1NTM2O29bYSsrXT01NTI5NnxuPj4xMCYxMDIzO29bYSsrXT01NjMyMHxuJjEwMjN9fXJldHVybiBsKG8sYSl9O3QudXRmOGJvcmRlcj1mdW5jdGlvbihlLHIpe3ZhciB0O3I9cnx8ZS5sZW5ndGg7aWYocj5lLmxlbmd0aCl7cj1lLmxlbmd0aH10PXItMTt3aGlsZSh0Pj0wJiYoZVt0XSYxOTIpPT09MTI4KXt0LS19aWYodDwwKXtyZXR1cm4gcn1pZih0PT09MCl7cmV0dXJuIHJ9cmV0dXJuIHQrZltlW3RdXT5yP3Q6cn19LHtcXFwiLi9jb21tb25cXFwiOjI3fV0sMjk6W2Z1bmN0aW9uKGUscix0KXtcXFwidXNlIHN0cmljdFxcXCI7ZnVuY3Rpb24gYShlLHIsdCxhKXt2YXIgbj1lJjY1NTM1fDAsaT1lPj4+MTYmNjU1MzV8MCxzPTA7d2hpbGUodCE9PTApe3M9dD4yZTM/MmUzOnQ7dC09cztkb3tuPW4rclthKytdfDA7aT1pK258MH13aGlsZSgtLXMpO24lPTY1NTIxO2klPTY1NTIxfXJldHVybiBufGk8PDE2fDB9ci5leHBvcnRzPWF9LHt9XSwzMDpbZnVuY3Rpb24oZSxyLHQpe3IuZXhwb3J0cz17Wl9OT19GTFVTSDowLFpfUEFSVElBTF9GTFVTSDoxLFpfU1lOQ19GTFVTSDoyLFpfRlVMTF9GTFVTSDozLFpfRklOSVNIOjQsWl9CTE9DSzo1LFpfVFJFRVM6NixaX09LOjAsWl9TVFJFQU1fRU5EOjEsWl9ORUVEX0RJQ1Q6MixaX0VSUk5POi0xLFpfU1RSRUFNX0VSUk9SOi0yLFpfREFUQV9FUlJPUjotMyxaX0JVRl9FUlJPUjotNSxaX05PX0NPTVBSRVNTSU9OOjAsWl9CRVNUX1NQRUVEOjEsWl9CRVNUX0NPTVBSRVNTSU9OOjksWl9ERUZBVUxUX0NPTVBSRVNTSU9OOi0xLFpfRklMVEVSRUQ6MSxaX0hVRkZNQU5fT05MWToyLFpfUkxFOjMsWl9GSVhFRDo0LFpfREVGQVVMVF9TVFJBVEVHWTowLFpfQklOQVJZOjAsWl9URVhUOjEsWl9VTktOT1dOOjIsWl9ERUZMQVRFRDo4fX0se31dLDMxOltmdW5jdGlvbihlLHIsdCl7XFxcInVzZSBzdHJpY3RcXFwiO2Z1bmN0aW9uIGEoKXt2YXIgZSxyPVtdO2Zvcih2YXIgdD0wO3Q8MjU2O3QrKyl7ZT10O2Zvcih2YXIgYT0wO2E8ODthKyspe2U9ZSYxPzM5ODgyOTIzODReZT4+PjE6ZT4+PjF9clt0XT1lfXJldHVybiByfXZhciBuPWEoKTtmdW5jdGlvbiBpKGUscix0LGEpe3ZhciBpPW4scz1hK3Q7ZT1lXi0xO2Zvcih2YXIgZj1hO2Y8cztmKyspe2U9ZT4+PjheaVsoZV5yW2ZdKSYyNTVdfXJldHVybiBlXi0xfXIuZXhwb3J0cz1pfSx7fV0sMzI6W2Z1bmN0aW9uKGUscix0KXtcXFwidXNlIHN0cmljdFxcXCI7dmFyIGE9ZShcXFwiLi4vdXRpbHMvY29tbW9uXFxcIik7dmFyIG49ZShcXFwiLi90cmVlc1xcXCIpO3ZhciBpPWUoXFxcIi4vYWRsZXIzMlxcXCIpO3ZhciBzPWUoXFxcIi4vY3JjMzJcXFwiKTt2YXIgZj1lKFxcXCIuL21lc3NhZ2VzXFxcIik7dmFyIG89MDt2YXIgbD0xO3ZhciBjPTM7dmFyIHU9NDt2YXIgaD01O3ZhciBkPTA7dmFyIHY9MTt2YXIgcD0tMjt2YXIgbT0tMzt2YXIgYj0tNTt2YXIgZz0tMTt2YXIgdz0xO3ZhciBrPTI7dmFyIEU9Mzt2YXIgUz00O3ZhciBfPTA7dmFyIEM9Mjt2YXIgQj04O3ZhciBUPTk7dmFyIHk9MTU7dmFyIHg9ODt2YXIgQT0yOTt2YXIgST0yNTY7dmFyIFI9SSsxK0E7dmFyIE89MzA7dmFyIEQ9MTk7dmFyIEY9MipSKzE7dmFyIFA9MTU7dmFyIE49Mzt2YXIgTD0yNTg7dmFyIE09TCtOKzE7dmFyIFU9MzI7dmFyIHo9NDI7dmFyIEg9Njk7dmFyIFc9NzM7dmFyIFY9OTE7dmFyIFg9MTAzO3ZhciBHPTExMzt2YXIgaj02NjY7dmFyIEs9MTt2YXIgJD0yO3ZhciBZPTM7dmFyIFo9NDt2YXIgSj0zO2Z1bmN0aW9uIFEoZSxyKXtlLm1zZz1mW3JdO3JldHVybiByfWZ1bmN0aW9uIHEoZSl7cmV0dXJuKGU8PDEpLShlPjQ/OTowKX1mdW5jdGlvbiBlZShlKXt2YXIgcj1lLmxlbmd0aDt3aGlsZSgtLXI+PTApe2Vbcl09MH19ZnVuY3Rpb24gcmUoZSl7dmFyIHI9ZS5zdGF0ZTt2YXIgdD1yLnBlbmRpbmc7aWYodD5lLmF2YWlsX291dCl7dD1lLmF2YWlsX291dH1pZih0PT09MCl7cmV0dXJufWEuYXJyYXlTZXQoZS5vdXRwdXQsci5wZW5kaW5nX2J1ZixyLnBlbmRpbmdfb3V0LHQsZS5uZXh0X291dCk7ZS5uZXh0X291dCs9dDtyLnBlbmRpbmdfb3V0Kz10O2UudG90YWxfb3V0Kz10O2UuYXZhaWxfb3V0LT10O3IucGVuZGluZy09dDtpZihyLnBlbmRpbmc9PT0wKXtyLnBlbmRpbmdfb3V0PTB9fWZ1bmN0aW9uIHRlKGUscil7bi5fdHJfZmx1c2hfYmxvY2soZSxlLmJsb2NrX3N0YXJ0Pj0wP2UuYmxvY2tfc3RhcnQ6LTEsZS5zdHJzdGFydC1lLmJsb2NrX3N0YXJ0LHIpO2UuYmxvY2tfc3RhcnQ9ZS5zdHJzdGFydDtyZShlLnN0cm0pfWZ1bmN0aW9uIGFlKGUscil7ZS5wZW5kaW5nX2J1ZltlLnBlbmRpbmcrK109cn1mdW5jdGlvbiBuZShlLHIpe2UucGVuZGluZ19idWZbZS5wZW5kaW5nKytdPXI+Pj44JjI1NTtlLnBlbmRpbmdfYnVmW2UucGVuZGluZysrXT1yJjI1NX1mdW5jdGlvbiBpZShlLHIsdCxuKXt2YXIgZj1lLmF2YWlsX2luO2lmKGY+bil7Zj1ufWlmKGY9PT0wKXtyZXR1cm4gMH1lLmF2YWlsX2luLT1mO2EuYXJyYXlTZXQocixlLmlucHV0LGUubmV4dF9pbixmLHQpO2lmKGUuc3RhdGUud3JhcD09PTEpe2UuYWRsZXI9aShlLmFkbGVyLHIsZix0KX1lbHNlIGlmKGUuc3RhdGUud3JhcD09PTIpe2UuYWRsZXI9cyhlLmFkbGVyLHIsZix0KX1lLm5leHRfaW4rPWY7ZS50b3RhbF9pbis9ZjtyZXR1cm4gZn1mdW5jdGlvbiBzZShlLHIpe3ZhciB0PWUubWF4X2NoYWluX2xlbmd0aDt2YXIgYT1lLnN0cnN0YXJ0O3ZhciBuO3ZhciBpO3ZhciBzPWUucHJldl9sZW5ndGg7dmFyIGY9ZS5uaWNlX21hdGNoO3ZhciBvPWUuc3Ryc3RhcnQ+ZS53X3NpemUtTT9lLnN0cnN0YXJ0LShlLndfc2l6ZS1NKTowO3ZhciBsPWUud2luZG93O3ZhciBjPWUud19tYXNrO3ZhciB1PWUucHJldjt2YXIgaD1lLnN0cnN0YXJ0K0w7dmFyIGQ9bFthK3MtMV07dmFyIHY9bFthK3NdO2lmKGUucHJldl9sZW5ndGg+PWUuZ29vZF9tYXRjaCl7dD4+PTJ9aWYoZj5lLmxvb2thaGVhZCl7Zj1lLmxvb2thaGVhZH1kb3tuPXI7aWYobFtuK3NdIT09dnx8bFtuK3MtMV0hPT1kfHxsW25dIT09bFthXXx8bFsrK25dIT09bFthKzFdKXtjb250aW51ZX1hKz0yO24rKztkb3t9d2hpbGUobFsrK2FdPT09bFsrK25dJiZsWysrYV09PT1sWysrbl0mJmxbKythXT09PWxbKytuXSYmbFsrK2FdPT09bFsrK25dJiZsWysrYV09PT1sWysrbl0mJmxbKythXT09PWxbKytuXSYmbFsrK2FdPT09bFsrK25dJiZsWysrYV09PT1sWysrbl0mJmE8aCk7aT1MLShoLWEpO2E9aC1MO2lmKGk+cyl7ZS5tYXRjaF9zdGFydD1yO3M9aTtpZihpPj1mKXticmVha31kPWxbYStzLTFdO3Y9bFthK3NdfX13aGlsZSgocj11W3ImY10pPm8mJi0tdCE9PTApO2lmKHM8PWUubG9va2FoZWFkKXtyZXR1cm4gc31yZXR1cm4gZS5sb29rYWhlYWR9ZnVuY3Rpb24gZmUoZSl7dmFyIHI9ZS53X3NpemU7dmFyIHQsbixpLHMsZjtkb3tzPWUud2luZG93X3NpemUtZS5sb29rYWhlYWQtZS5zdHJzdGFydDtpZihlLnN0cnN0YXJ0Pj1yKyhyLU0pKXthLmFycmF5U2V0KGUud2luZG93LGUud2luZG93LHIsciwwKTtlLm1hdGNoX3N0YXJ0LT1yO2Uuc3Ryc3RhcnQtPXI7ZS5ibG9ja19zdGFydC09cjtuPWUuaGFzaF9zaXplO3Q9bjtkb3tpPWUuaGVhZFstLXRdO2UuaGVhZFt0XT1pPj1yP2ktcjowfXdoaWxlKC0tbik7bj1yO3Q9bjtkb3tpPWUucHJldlstLXRdO2UucHJldlt0XT1pPj1yP2ktcjowfXdoaWxlKC0tbik7cys9cn1pZihlLnN0cm0uYXZhaWxfaW49PT0wKXticmVha31uPWllKGUuc3RybSxlLndpbmRvdyxlLnN0cnN0YXJ0K2UubG9va2FoZWFkLHMpO2UubG9va2FoZWFkKz1uO2lmKGUubG9va2FoZWFkK2UuaW5zZXJ0Pj1OKXtmPWUuc3Ryc3RhcnQtZS5pbnNlcnQ7ZS5pbnNfaD1lLndpbmRvd1tmXTtlLmluc19oPShlLmluc19oPDxlLmhhc2hfc2hpZnReZS53aW5kb3dbZisxXSkmZS5oYXNoX21hc2s7d2hpbGUoZS5pbnNlcnQpe2UuaW5zX2g9KGUuaW5zX2g8PGUuaGFzaF9zaGlmdF5lLndpbmRvd1tmK04tMV0pJmUuaGFzaF9tYXNrO2UucHJldltmJmUud19tYXNrXT1lLmhlYWRbZS5pbnNfaF07ZS5oZWFkW2UuaW5zX2hdPWY7ZisrO2UuaW5zZXJ0LS07aWYoZS5sb29rYWhlYWQrZS5pbnNlcnQ8Til7YnJlYWt9fX19d2hpbGUoZS5sb29rYWhlYWQ8TSYmZS5zdHJtLmF2YWlsX2luIT09MCl9ZnVuY3Rpb24gb2UoZSxyKXt2YXIgdD02NTUzNTtpZih0PmUucGVuZGluZ19idWZfc2l6ZS01KXt0PWUucGVuZGluZ19idWZfc2l6ZS01fWZvcig7Oyl7aWYoZS5sb29rYWhlYWQ8PTEpe2ZlKGUpO2lmKGUubG9va2FoZWFkPT09MCYmcj09PW8pe3JldHVybiBLfWlmKGUubG9va2FoZWFkPT09MCl7YnJlYWt9fWUuc3Ryc3RhcnQrPWUubG9va2FoZWFkO2UubG9va2FoZWFkPTA7dmFyIGE9ZS5ibG9ja19zdGFydCt0O2lmKGUuc3Ryc3RhcnQ9PT0wfHxlLnN0cnN0YXJ0Pj1hKXtlLmxvb2thaGVhZD1lLnN0cnN0YXJ0LWE7ZS5zdHJzdGFydD1hO3RlKGUsZmFsc2UpO2lmKGUuc3RybS5hdmFpbF9vdXQ9PT0wKXtyZXR1cm4gS319aWYoZS5zdHJzdGFydC1lLmJsb2NrX3N0YXJ0Pj1lLndfc2l6ZS1NKXt0ZShlLGZhbHNlKTtpZihlLnN0cm0uYXZhaWxfb3V0PT09MCl7cmV0dXJuIEt9fX1lLmluc2VydD0wO2lmKHI9PT11KXt0ZShlLHRydWUpO2lmKGUuc3RybS5hdmFpbF9vdXQ9PT0wKXtyZXR1cm4gWX1yZXR1cm4gWn1pZihlLnN0cnN0YXJ0PmUuYmxvY2tfc3RhcnQpe3RlKGUsZmFsc2UpO2lmKGUuc3RybS5hdmFpbF9vdXQ9PT0wKXtyZXR1cm4gS319cmV0dXJuIEt9ZnVuY3Rpb24gbGUoZSxyKXt2YXIgdDt2YXIgYTtmb3IoOzspe2lmKGUubG9va2FoZWFkPE0pe2ZlKGUpO2lmKGUubG9va2FoZWFkPE0mJnI9PT1vKXtyZXR1cm4gS31pZihlLmxvb2thaGVhZD09PTApe2JyZWFrfX10PTA7aWYoZS5sb29rYWhlYWQ+PU4pe2UuaW5zX2g9KGUuaW5zX2g8PGUuaGFzaF9zaGlmdF5lLndpbmRvd1tlLnN0cnN0YXJ0K04tMV0pJmUuaGFzaF9tYXNrO3Q9ZS5wcmV2W2Uuc3Ryc3RhcnQmZS53X21hc2tdPWUuaGVhZFtlLmluc19oXTtlLmhlYWRbZS5pbnNfaF09ZS5zdHJzdGFydH1pZih0IT09MCYmZS5zdHJzdGFydC10PD1lLndfc2l6ZS1NKXtlLm1hdGNoX2xlbmd0aD1zZShlLHQpfWlmKGUubWF0Y2hfbGVuZ3RoPj1OKXthPW4uX3RyX3RhbGx5KGUsZS5zdHJzdGFydC1lLm1hdGNoX3N0YXJ0LGUubWF0Y2hfbGVuZ3RoLU4pO2UubG9va2FoZWFkLT1lLm1hdGNoX2xlbmd0aDtpZihlLm1hdGNoX2xlbmd0aDw9ZS5tYXhfbGF6eV9tYXRjaCYmZS5sb29rYWhlYWQ+PU4pe2UubWF0Y2hfbGVuZ3RoLS07ZG97ZS5zdHJzdGFydCsrO2UuaW5zX2g9KGUuaW5zX2g8PGUuaGFzaF9zaGlmdF5lLndpbmRvd1tlLnN0cnN0YXJ0K04tMV0pJmUuaGFzaF9tYXNrO3Q9ZS5wcmV2W2Uuc3Ryc3RhcnQmZS53X21hc2tdPWUuaGVhZFtlLmluc19oXTtlLmhlYWRbZS5pbnNfaF09ZS5zdHJzdGFydH13aGlsZSgtLWUubWF0Y2hfbGVuZ3RoIT09MCk7ZS5zdHJzdGFydCsrfWVsc2V7ZS5zdHJzdGFydCs9ZS5tYXRjaF9sZW5ndGg7ZS5tYXRjaF9sZW5ndGg9MDtlLmluc19oPWUud2luZG93W2Uuc3Ryc3RhcnRdO2UuaW5zX2g9KGUuaW5zX2g8PGUuaGFzaF9zaGlmdF5lLndpbmRvd1tlLnN0cnN0YXJ0KzFdKSZlLmhhc2hfbWFza319ZWxzZXthPW4uX3RyX3RhbGx5KGUsMCxlLndpbmRvd1tlLnN0cnN0YXJ0XSk7ZS5sb29rYWhlYWQtLTtlLnN0cnN0YXJ0Kyt9aWYoYSl7dGUoZSxmYWxzZSk7aWYoZS5zdHJtLmF2YWlsX291dD09PTApe3JldHVybiBLfX19ZS5pbnNlcnQ9ZS5zdHJzdGFydDxOLTE/ZS5zdHJzdGFydDpOLTE7aWYocj09PXUpe3RlKGUsdHJ1ZSk7aWYoZS5zdHJtLmF2YWlsX291dD09PTApe3JldHVybiBZfXJldHVybiBafWlmKGUubGFzdF9saXQpe3RlKGUsZmFsc2UpO2lmKGUuc3RybS5hdmFpbF9vdXQ9PT0wKXtyZXR1cm4gS319cmV0dXJuICR9ZnVuY3Rpb24gY2UoZSxyKXt2YXIgdDt2YXIgYTt2YXIgaTtmb3IoOzspe2lmKGUubG9va2FoZWFkPE0pe2ZlKGUpO2lmKGUubG9va2FoZWFkPE0mJnI9PT1vKXtyZXR1cm4gS31pZihlLmxvb2thaGVhZD09PTApe2JyZWFrfX10PTA7aWYoZS5sb29rYWhlYWQ+PU4pe2UuaW5zX2g9KGUuaW5zX2g8PGUuaGFzaF9zaGlmdF5lLndpbmRvd1tlLnN0cnN0YXJ0K04tMV0pJmUuaGFzaF9tYXNrO3Q9ZS5wcmV2W2Uuc3Ryc3RhcnQmZS53X21hc2tdPWUuaGVhZFtlLmluc19oXTtlLmhlYWRbZS5pbnNfaF09ZS5zdHJzdGFydH1lLnByZXZfbGVuZ3RoPWUubWF0Y2hfbGVuZ3RoO2UucHJldl9tYXRjaD1lLm1hdGNoX3N0YXJ0O2UubWF0Y2hfbGVuZ3RoPU4tMTtpZih0IT09MCYmZS5wcmV2X2xlbmd0aDxlLm1heF9sYXp5X21hdGNoJiZlLnN0cnN0YXJ0LXQ8PWUud19zaXplLU0pe2UubWF0Y2hfbGVuZ3RoPXNlKGUsdCk7aWYoZS5tYXRjaF9sZW5ndGg8PTUmJihlLnN0cmF0ZWd5PT09d3x8ZS5tYXRjaF9sZW5ndGg9PT1OJiZlLnN0cnN0YXJ0LWUubWF0Y2hfc3RhcnQ+NDA5Nikpe2UubWF0Y2hfbGVuZ3RoPU4tMX19aWYoZS5wcmV2X2xlbmd0aD49TiYmZS5tYXRjaF9sZW5ndGg8PWUucHJldl9sZW5ndGgpe2k9ZS5zdHJzdGFydCtlLmxvb2thaGVhZC1OO2E9bi5fdHJfdGFsbHkoZSxlLnN0cnN0YXJ0LTEtZS5wcmV2X21hdGNoLGUucHJldl9sZW5ndGgtTik7ZS5sb29rYWhlYWQtPWUucHJldl9sZW5ndGgtMTtlLnByZXZfbGVuZ3RoLT0yO2Rve2lmKCsrZS5zdHJzdGFydDw9aSl7ZS5pbnNfaD0oZS5pbnNfaDw8ZS5oYXNoX3NoaWZ0XmUud2luZG93W2Uuc3Ryc3RhcnQrTi0xXSkmZS5oYXNoX21hc2s7dD1lLnByZXZbZS5zdHJzdGFydCZlLndfbWFza109ZS5oZWFkW2UuaW5zX2hdO2UuaGVhZFtlLmluc19oXT1lLnN0cnN0YXJ0fX13aGlsZSgtLWUucHJldl9sZW5ndGghPT0wKTtlLm1hdGNoX2F2YWlsYWJsZT0wO2UubWF0Y2hfbGVuZ3RoPU4tMTtlLnN0cnN0YXJ0Kys7aWYoYSl7dGUoZSxmYWxzZSk7aWYoZS5zdHJtLmF2YWlsX291dD09PTApe3JldHVybiBLfX19ZWxzZSBpZihlLm1hdGNoX2F2YWlsYWJsZSl7YT1uLl90cl90YWxseShlLDAsZS53aW5kb3dbZS5zdHJzdGFydC0xXSk7aWYoYSl7dGUoZSxmYWxzZSl9ZS5zdHJzdGFydCsrO2UubG9va2FoZWFkLS07aWYoZS5zdHJtLmF2YWlsX291dD09PTApe3JldHVybiBLfX1lbHNle2UubWF0Y2hfYXZhaWxhYmxlPTE7ZS5zdHJzdGFydCsrO2UubG9va2FoZWFkLS19fWlmKGUubWF0Y2hfYXZhaWxhYmxlKXthPW4uX3RyX3RhbGx5KGUsMCxlLndpbmRvd1tlLnN0cnN0YXJ0LTFdKTtlLm1hdGNoX2F2YWlsYWJsZT0wfWUuaW5zZXJ0PWUuc3Ryc3RhcnQ8Ti0xP2Uuc3Ryc3RhcnQ6Ti0xO2lmKHI9PT11KXt0ZShlLHRydWUpO2lmKGUuc3RybS5hdmFpbF9vdXQ9PT0wKXtyZXR1cm4gWX1yZXR1cm4gWn1pZihlLmxhc3RfbGl0KXt0ZShlLGZhbHNlKTtpZihlLnN0cm0uYXZhaWxfb3V0PT09MCl7cmV0dXJuIEt9fXJldHVybiAkfWZ1bmN0aW9uIHVlKGUscil7dmFyIHQ7dmFyIGE7dmFyIGksczt2YXIgZj1lLndpbmRvdztmb3IoOzspe2lmKGUubG9va2FoZWFkPD1MKXtmZShlKTtpZihlLmxvb2thaGVhZDw9TCYmcj09PW8pe3JldHVybiBLfWlmKGUubG9va2FoZWFkPT09MCl7YnJlYWt9fWUubWF0Y2hfbGVuZ3RoPTA7aWYoZS5sb29rYWhlYWQ+PU4mJmUuc3Ryc3RhcnQ+MCl7aT1lLnN0cnN0YXJ0LTE7YT1mW2ldO2lmKGE9PT1mWysraV0mJmE9PT1mWysraV0mJmE9PT1mWysraV0pe3M9ZS5zdHJzdGFydCtMO2Rve313aGlsZShhPT09ZlsrK2ldJiZhPT09ZlsrK2ldJiZhPT09ZlsrK2ldJiZhPT09ZlsrK2ldJiZhPT09ZlsrK2ldJiZhPT09ZlsrK2ldJiZhPT09ZlsrK2ldJiZhPT09ZlsrK2ldJiZpPHMpO2UubWF0Y2hfbGVuZ3RoPUwtKHMtaSk7aWYoZS5tYXRjaF9sZW5ndGg+ZS5sb29rYWhlYWQpe2UubWF0Y2hfbGVuZ3RoPWUubG9va2FoZWFkfX19aWYoZS5tYXRjaF9sZW5ndGg+PU4pe3Q9bi5fdHJfdGFsbHkoZSwxLGUubWF0Y2hfbGVuZ3RoLU4pO2UubG9va2FoZWFkLT1lLm1hdGNoX2xlbmd0aDtlLnN0cnN0YXJ0Kz1lLm1hdGNoX2xlbmd0aDtlLm1hdGNoX2xlbmd0aD0wfWVsc2V7dD1uLl90cl90YWxseShlLDAsZS53aW5kb3dbZS5zdHJzdGFydF0pO2UubG9va2FoZWFkLS07ZS5zdHJzdGFydCsrfWlmKHQpe3RlKGUsZmFsc2UpO2lmKGUuc3RybS5hdmFpbF9vdXQ9PT0wKXtyZXR1cm4gS319fWUuaW5zZXJ0PTA7aWYocj09PXUpe3RlKGUsdHJ1ZSk7aWYoZS5zdHJtLmF2YWlsX291dD09PTApe3JldHVybiBZfXJldHVybiBafWlmKGUubGFzdF9saXQpe3RlKGUsZmFsc2UpO2lmKGUuc3RybS5hdmFpbF9vdXQ9PT0wKXtyZXR1cm4gS319cmV0dXJuICR9ZnVuY3Rpb24gaGUoZSxyKXt2YXIgdDtmb3IoOzspe2lmKGUubG9va2FoZWFkPT09MCl7ZmUoZSk7aWYoZS5sb29rYWhlYWQ9PT0wKXtpZihyPT09byl7cmV0dXJuIEt9YnJlYWt9fWUubWF0Y2hfbGVuZ3RoPTA7dD1uLl90cl90YWxseShlLDAsZS53aW5kb3dbZS5zdHJzdGFydF0pO2UubG9va2FoZWFkLS07ZS5zdHJzdGFydCsrO2lmKHQpe3RlKGUsZmFsc2UpO2lmKGUuc3RybS5hdmFpbF9vdXQ9PT0wKXtyZXR1cm4gS319fWUuaW5zZXJ0PTA7aWYocj09PXUpe3RlKGUsdHJ1ZSk7aWYoZS5zdHJtLmF2YWlsX291dD09PTApe3JldHVybiBZfXJldHVybiBafWlmKGUubGFzdF9saXQpe3RlKGUsZmFsc2UpO2lmKGUuc3RybS5hdmFpbF9vdXQ9PT0wKXtyZXR1cm4gS319cmV0dXJuICR9dmFyIGRlPWZ1bmN0aW9uKGUscix0LGEsbil7dGhpcy5nb29kX2xlbmd0aD1lO3RoaXMubWF4X2xhenk9cjt0aGlzLm5pY2VfbGVuZ3RoPXQ7dGhpcy5tYXhfY2hhaW49YTt0aGlzLmZ1bmM9bn07dmFyIHZlO3ZlPVtuZXcgZGUoMCwwLDAsMCxvZSksbmV3IGRlKDQsNCw4LDQsbGUpLG5ldyBkZSg0LDUsMTYsOCxsZSksbmV3IGRlKDQsNiwzMiwzMixsZSksbmV3IGRlKDQsNCwxNiwxNixjZSksbmV3IGRlKDgsMTYsMzIsMzIsY2UpLG5ldyBkZSg4LDE2LDEyOCwxMjgsY2UpLG5ldyBkZSg4LDMyLDEyOCwyNTYsY2UpLG5ldyBkZSgzMiwxMjgsMjU4LDEwMjQsY2UpLG5ldyBkZSgzMiwyNTgsMjU4LDQwOTYsY2UpXTtmdW5jdGlvbiBwZShlKXtlLndpbmRvd19zaXplPTIqZS53X3NpemU7ZWUoZS5oZWFkKTtlLm1heF9sYXp5X21hdGNoPXZlW2UubGV2ZWxdLm1heF9sYXp5O2UuZ29vZF9tYXRjaD12ZVtlLmxldmVsXS5nb29kX2xlbmd0aDtlLm5pY2VfbWF0Y2g9dmVbZS5sZXZlbF0ubmljZV9sZW5ndGg7ZS5tYXhfY2hhaW5fbGVuZ3RoPXZlW2UubGV2ZWxdLm1heF9jaGFpbjtlLnN0cnN0YXJ0PTA7ZS5ibG9ja19zdGFydD0wO2UubG9va2FoZWFkPTA7ZS5pbnNlcnQ9MDtlLm1hdGNoX2xlbmd0aD1lLnByZXZfbGVuZ3RoPU4tMTtlLm1hdGNoX2F2YWlsYWJsZT0wO2UuaW5zX2g9MH1mdW5jdGlvbiBtZSgpe3RoaXMuc3RybT1udWxsO3RoaXMuc3RhdHVzPTA7dGhpcy5wZW5kaW5nX2J1Zj1udWxsO3RoaXMucGVuZGluZ19idWZfc2l6ZT0wO3RoaXMucGVuZGluZ19vdXQ9MDt0aGlzLnBlbmRpbmc9MDt0aGlzLndyYXA9MDt0aGlzLmd6aGVhZD1udWxsO3RoaXMuZ3ppbmRleD0wO3RoaXMubWV0aG9kPUI7dGhpcy5sYXN0X2ZsdXNoPS0xO3RoaXMud19zaXplPTA7dGhpcy53X2JpdHM9MDt0aGlzLndfbWFzaz0wO3RoaXMud2luZG93PW51bGw7dGhpcy53aW5kb3dfc2l6ZT0wO3RoaXMucHJldj1udWxsO3RoaXMuaGVhZD1udWxsO3RoaXMuaW5zX2g9MDt0aGlzLmhhc2hfc2l6ZT0wO3RoaXMuaGFzaF9iaXRzPTA7dGhpcy5oYXNoX21hc2s9MDt0aGlzLmhhc2hfc2hpZnQ9MDt0aGlzLmJsb2NrX3N0YXJ0PTA7dGhpcy5tYXRjaF9sZW5ndGg9MDt0aGlzLnByZXZfbWF0Y2g9MDt0aGlzLm1hdGNoX2F2YWlsYWJsZT0wO3RoaXMuc3Ryc3RhcnQ9MDt0aGlzLm1hdGNoX3N0YXJ0PTA7dGhpcy5sb29rYWhlYWQ9MDt0aGlzLnByZXZfbGVuZ3RoPTA7dGhpcy5tYXhfY2hhaW5fbGVuZ3RoPTA7dGhpcy5tYXhfbGF6eV9tYXRjaD0wO3RoaXMubGV2ZWw9MDt0aGlzLnN0cmF0ZWd5PTA7dGhpcy5nb29kX21hdGNoPTA7dGhpcy5uaWNlX21hdGNoPTA7dGhpcy5keW5fbHRyZWU9bmV3IGEuQnVmMTYoRioyKTt0aGlzLmR5bl9kdHJlZT1uZXcgYS5CdWYxNigoMipPKzEpKjIpO3RoaXMuYmxfdHJlZT1uZXcgYS5CdWYxNigoMipEKzEpKjIpO2VlKHRoaXMuZHluX2x0cmVlKTtlZSh0aGlzLmR5bl9kdHJlZSk7ZWUodGhpcy5ibF90cmVlKTt0aGlzLmxfZGVzYz1udWxsO3RoaXMuZF9kZXNjPW51bGw7dGhpcy5ibF9kZXNjPW51bGw7dGhpcy5ibF9jb3VudD1uZXcgYS5CdWYxNihQKzEpO3RoaXMuaGVhcD1uZXcgYS5CdWYxNigyKlIrMSk7ZWUodGhpcy5oZWFwKTt0aGlzLmhlYXBfbGVuPTA7dGhpcy5oZWFwX21heD0wO3RoaXMuZGVwdGg9bmV3IGEuQnVmMTYoMipSKzEpO2VlKHRoaXMuZGVwdGgpO3RoaXMubF9idWY9MDt0aGlzLmxpdF9idWZzaXplPTA7dGhpcy5sYXN0X2xpdD0wO3RoaXMuZF9idWY9MDt0aGlzLm9wdF9sZW49MDt0aGlzLnN0YXRpY19sZW49MDt0aGlzLm1hdGNoZXM9MDt0aGlzLmluc2VydD0wO3RoaXMuYmlfYnVmPTA7dGhpcy5iaV92YWxpZD0wfWZ1bmN0aW9uIGJlKGUpe3ZhciByO2lmKCFlfHwhZS5zdGF0ZSl7cmV0dXJuIFEoZSxwKX1lLnRvdGFsX2luPWUudG90YWxfb3V0PTA7ZS5kYXRhX3R5cGU9QztyPWUuc3RhdGU7ci5wZW5kaW5nPTA7ci5wZW5kaW5nX291dD0wO2lmKHIud3JhcDwwKXtyLndyYXA9LXIud3JhcH1yLnN0YXR1cz1yLndyYXA/ejpHO2UuYWRsZXI9ci53cmFwPT09Mj8wOjE7ci5sYXN0X2ZsdXNoPW87bi5fdHJfaW5pdChyKTtyZXR1cm4gZH1mdW5jdGlvbiBnZShlKXt2YXIgcj1iZShlKTtpZihyPT09ZCl7cGUoZS5zdGF0ZSl9cmV0dXJuIHJ9ZnVuY3Rpb24gd2UoZSxyKXtpZighZXx8IWUuc3RhdGUpe3JldHVybiBwfWlmKGUuc3RhdGUud3JhcCE9PTIpe3JldHVybiBwfWUuc3RhdGUuZ3poZWFkPXI7cmV0dXJuIGR9ZnVuY3Rpb24ga2UoZSxyLHQsbixpLHMpe2lmKCFlKXtyZXR1cm4gcH12YXIgZj0xO2lmKHI9PT1nKXtyPTZ9aWYobjwwKXtmPTA7bj0tbn1lbHNlIGlmKG4+MTUpe2Y9MjtuLT0xNn1pZihpPDF8fGk+VHx8dCE9PUJ8fG48OHx8bj4xNXx8cjwwfHxyPjl8fHM8MHx8cz5TKXtyZXR1cm4gUShlLHApfWlmKG49PT04KXtuPTl9dmFyIG89bmV3IG1lO2Uuc3RhdGU9bztvLnN0cm09ZTtvLndyYXA9ZjtvLmd6aGVhZD1udWxsO28ud19iaXRzPW47by53X3NpemU9MTw8by53X2JpdHM7by53X21hc2s9by53X3NpemUtMTtvLmhhc2hfYml0cz1pKzc7by5oYXNoX3NpemU9MTw8by5oYXNoX2JpdHM7by5oYXNoX21hc2s9by5oYXNoX3NpemUtMTtvLmhhc2hfc2hpZnQ9fn4oKG8uaGFzaF9iaXRzK04tMSkvTik7by53aW5kb3c9bmV3IGEuQnVmOChvLndfc2l6ZSoyKTtvLmhlYWQ9bmV3IGEuQnVmMTYoby5oYXNoX3NpemUpO28ucHJldj1uZXcgYS5CdWYxNihvLndfc2l6ZSk7by5saXRfYnVmc2l6ZT0xPDxpKzY7by5wZW5kaW5nX2J1Zl9zaXplPW8ubGl0X2J1ZnNpemUqNDtvLnBlbmRpbmdfYnVmPW5ldyBhLkJ1Zjgoby5wZW5kaW5nX2J1Zl9zaXplKTtvLmRfYnVmPW8ubGl0X2J1ZnNpemU+PjE7by5sX2J1Zj0oMSsyKSpvLmxpdF9idWZzaXplO28ubGV2ZWw9cjtvLnN0cmF0ZWd5PXM7by5tZXRob2Q9dDtyZXR1cm4gZ2UoZSl9ZnVuY3Rpb24gRWUoZSxyKXtyZXR1cm4ga2UoZSxyLEIseSx4LF8pfWZ1bmN0aW9uIFNlKGUscil7dmFyIHQsYTt2YXIgaSxmO2lmKCFlfHwhZS5zdGF0ZXx8cj5ofHxyPDApe3JldHVybiBlP1EoZSxwKTpwfWE9ZS5zdGF0ZTtpZighZS5vdXRwdXR8fCFlLmlucHV0JiZlLmF2YWlsX2luIT09MHx8YS5zdGF0dXM9PT1qJiZyIT09dSl7cmV0dXJuIFEoZSxlLmF2YWlsX291dD09PTA/YjpwKX1hLnN0cm09ZTt0PWEubGFzdF9mbHVzaDthLmxhc3RfZmx1c2g9cjtpZihhLnN0YXR1cz09PXope2lmKGEud3JhcD09PTIpe2UuYWRsZXI9MDthZShhLDMxKTthZShhLDEzOSk7YWUoYSw4KTtpZighYS5nemhlYWQpe2FlKGEsMCk7YWUoYSwwKTthZShhLDApO2FlKGEsMCk7YWUoYSwwKTthZShhLGEubGV2ZWw9PT05PzI6YS5zdHJhdGVneT49a3x8YS5sZXZlbDwyPzQ6MCk7YWUoYSxKKTthLnN0YXR1cz1HfWVsc2V7YWUoYSwoYS5nemhlYWQudGV4dD8xOjApKyhhLmd6aGVhZC5oY3JjPzI6MCkrKCFhLmd6aGVhZC5leHRyYT8wOjQpKyghYS5nemhlYWQubmFtZT8wOjgpKyghYS5nemhlYWQuY29tbWVudD8wOjE2KSk7YWUoYSxhLmd6aGVhZC50aW1lJjI1NSk7YWUoYSxhLmd6aGVhZC50aW1lPj44JjI1NSk7YWUoYSxhLmd6aGVhZC50aW1lPj4xNiYyNTUpO2FlKGEsYS5nemhlYWQudGltZT4+MjQmMjU1KTthZShhLGEubGV2ZWw9PT05PzI6YS5zdHJhdGVneT49a3x8YS5sZXZlbDwyPzQ6MCk7YWUoYSxhLmd6aGVhZC5vcyYyNTUpO2lmKGEuZ3poZWFkLmV4dHJhJiZhLmd6aGVhZC5leHRyYS5sZW5ndGgpe2FlKGEsYS5nemhlYWQuZXh0cmEubGVuZ3RoJjI1NSk7YWUoYSxhLmd6aGVhZC5leHRyYS5sZW5ndGg+PjgmMjU1KX1pZihhLmd6aGVhZC5oY3JjKXtlLmFkbGVyPXMoZS5hZGxlcixhLnBlbmRpbmdfYnVmLGEucGVuZGluZywwKX1hLmd6aW5kZXg9MDthLnN0YXR1cz1IfX1lbHNle3ZhciBtPUIrKGEud19iaXRzLTg8PDQpPDw4O3ZhciBnPS0xO2lmKGEuc3RyYXRlZ3k+PWt8fGEubGV2ZWw8Mil7Zz0wfWVsc2UgaWYoYS5sZXZlbDw2KXtnPTF9ZWxzZSBpZihhLmxldmVsPT09Nil7Zz0yfWVsc2V7Zz0zfW18PWc8PDY7aWYoYS5zdHJzdGFydCE9PTApe218PVV9bSs9MzEtbSUzMTthLnN0YXR1cz1HO25lKGEsbSk7aWYoYS5zdHJzdGFydCE9PTApe25lKGEsZS5hZGxlcj4+PjE2KTtuZShhLGUuYWRsZXImNjU1MzUpfWUuYWRsZXI9MX19aWYoYS5zdGF0dXM9PT1IKXtpZihhLmd6aGVhZC5leHRyYSl7aT1hLnBlbmRpbmc7d2hpbGUoYS5nemluZGV4PChhLmd6aGVhZC5leHRyYS5sZW5ndGgmNjU1MzUpKXtpZihhLnBlbmRpbmc9PT1hLnBlbmRpbmdfYnVmX3NpemUpe2lmKGEuZ3poZWFkLmhjcmMmJmEucGVuZGluZz5pKXtlLmFkbGVyPXMoZS5hZGxlcixhLnBlbmRpbmdfYnVmLGEucGVuZGluZy1pLGkpfXJlKGUpO2k9YS5wZW5kaW5nO2lmKGEucGVuZGluZz09PWEucGVuZGluZ19idWZfc2l6ZSl7YnJlYWt9fWFlKGEsYS5nemhlYWQuZXh0cmFbYS5nemluZGV4XSYyNTUpO2EuZ3ppbmRleCsrfWlmKGEuZ3poZWFkLmhjcmMmJmEucGVuZGluZz5pKXtlLmFkbGVyPXMoZS5hZGxlcixhLnBlbmRpbmdfYnVmLGEucGVuZGluZy1pLGkpfWlmKGEuZ3ppbmRleD09PWEuZ3poZWFkLmV4dHJhLmxlbmd0aCl7YS5nemluZGV4PTA7YS5zdGF0dXM9V319ZWxzZXthLnN0YXR1cz1XfX1pZihhLnN0YXR1cz09PVcpe2lmKGEuZ3poZWFkLm5hbWUpe2k9YS5wZW5kaW5nO2Rve2lmKGEucGVuZGluZz09PWEucGVuZGluZ19idWZfc2l6ZSl7aWYoYS5nemhlYWQuaGNyYyYmYS5wZW5kaW5nPmkpe2UuYWRsZXI9cyhlLmFkbGVyLGEucGVuZGluZ19idWYsYS5wZW5kaW5nLWksaSl9cmUoZSk7aT1hLnBlbmRpbmc7aWYoYS5wZW5kaW5nPT09YS5wZW5kaW5nX2J1Zl9zaXplKXtmPTE7YnJlYWt9fWlmKGEuZ3ppbmRleDxhLmd6aGVhZC5uYW1lLmxlbmd0aCl7Zj1hLmd6aGVhZC5uYW1lLmNoYXJDb2RlQXQoYS5nemluZGV4KyspJjI1NX1lbHNle2Y9MH1hZShhLGYpfXdoaWxlKGYhPT0wKTtpZihhLmd6aGVhZC5oY3JjJiZhLnBlbmRpbmc+aSl7ZS5hZGxlcj1zKGUuYWRsZXIsYS5wZW5kaW5nX2J1ZixhLnBlbmRpbmctaSxpKX1pZihmPT09MCl7YS5nemluZGV4PTA7YS5zdGF0dXM9Vn19ZWxzZXthLnN0YXR1cz1WfX1pZihhLnN0YXR1cz09PVYpe2lmKGEuZ3poZWFkLmNvbW1lbnQpe2k9YS5wZW5kaW5nO2Rve2lmKGEucGVuZGluZz09PWEucGVuZGluZ19idWZfc2l6ZSl7aWYoYS5nemhlYWQuaGNyYyYmYS5wZW5kaW5nPmkpe2UuYWRsZXI9cyhlLmFkbGVyLGEucGVuZGluZ19idWYsYS5wZW5kaW5nLWksaSl9cmUoZSk7aT1hLnBlbmRpbmc7aWYoYS5wZW5kaW5nPT09YS5wZW5kaW5nX2J1Zl9zaXplKXtmPTE7YnJlYWt9fWlmKGEuZ3ppbmRleDxhLmd6aGVhZC5jb21tZW50Lmxlbmd0aCl7Zj1hLmd6aGVhZC5jb21tZW50LmNoYXJDb2RlQXQoYS5nemluZGV4KyspJjI1NX1lbHNle2Y9MH1hZShhLGYpfXdoaWxlKGYhPT0wKTtpZihhLmd6aGVhZC5oY3JjJiZhLnBlbmRpbmc+aSl7ZS5hZGxlcj1zKGUuYWRsZXIsYS5wZW5kaW5nX2J1ZixhLnBlbmRpbmctaSxpKX1pZihmPT09MCl7YS5zdGF0dXM9WH19ZWxzZXthLnN0YXR1cz1YfX1pZihhLnN0YXR1cz09PVgpe2lmKGEuZ3poZWFkLmhjcmMpe2lmKGEucGVuZGluZysyPmEucGVuZGluZ19idWZfc2l6ZSl7cmUoZSl9aWYoYS5wZW5kaW5nKzI8PWEucGVuZGluZ19idWZfc2l6ZSl7YWUoYSxlLmFkbGVyJjI1NSk7YWUoYSxlLmFkbGVyPj44JjI1NSk7ZS5hZGxlcj0wO2Euc3RhdHVzPUd9fWVsc2V7YS5zdGF0dXM9R319aWYoYS5wZW5kaW5nIT09MCl7cmUoZSk7aWYoZS5hdmFpbF9vdXQ9PT0wKXthLmxhc3RfZmx1c2g9LTE7cmV0dXJuIGR9fWVsc2UgaWYoZS5hdmFpbF9pbj09PTAmJnEocik8PXEodCkmJnIhPT11KXtyZXR1cm4gUShlLGIpfWlmKGEuc3RhdHVzPT09aiYmZS5hdmFpbF9pbiE9PTApe3JldHVybiBRKGUsYil9aWYoZS5hdmFpbF9pbiE9PTB8fGEubG9va2FoZWFkIT09MHx8ciE9PW8mJmEuc3RhdHVzIT09ail7dmFyIHc9YS5zdHJhdGVneT09PWs/aGUoYSxyKTphLnN0cmF0ZWd5PT09RT91ZShhLHIpOnZlW2EubGV2ZWxdLmZ1bmMoYSxyKTtpZih3PT09WXx8dz09PVope2Euc3RhdHVzPWp9aWYodz09PUt8fHc9PT1ZKXtpZihlLmF2YWlsX291dD09PTApe2EubGFzdF9mbHVzaD0tMX1yZXR1cm4gZH1pZih3PT09JCl7aWYocj09PWwpe24uX3RyX2FsaWduKGEpfWVsc2UgaWYociE9PWgpe24uX3RyX3N0b3JlZF9ibG9jayhhLDAsMCxmYWxzZSk7aWYocj09PWMpe2VlKGEuaGVhZCk7aWYoYS5sb29rYWhlYWQ9PT0wKXthLnN0cnN0YXJ0PTA7YS5ibG9ja19zdGFydD0wO2EuaW5zZXJ0PTB9fX1yZShlKTtpZihlLmF2YWlsX291dD09PTApe2EubGFzdF9mbHVzaD0tMTtyZXR1cm4gZH19fWlmKHIhPT11KXtyZXR1cm4gZH1pZihhLndyYXA8PTApe3JldHVybiB2fWlmKGEud3JhcD09PTIpe2FlKGEsZS5hZGxlciYyNTUpO2FlKGEsZS5hZGxlcj4+OCYyNTUpO2FlKGEsZS5hZGxlcj4+MTYmMjU1KTthZShhLGUuYWRsZXI+PjI0JjI1NSk7YWUoYSxlLnRvdGFsX2luJjI1NSk7YWUoYSxlLnRvdGFsX2luPj44JjI1NSk7YWUoYSxlLnRvdGFsX2luPj4xNiYyNTUpO2FlKGEsZS50b3RhbF9pbj4+MjQmMjU1KX1lbHNle25lKGEsZS5hZGxlcj4+PjE2KTtuZShhLGUuYWRsZXImNjU1MzUpfXJlKGUpO2lmKGEud3JhcD4wKXthLndyYXA9LWEud3JhcH1yZXR1cm4gYS5wZW5kaW5nIT09MD9kOnZ9ZnVuY3Rpb24gX2UoZSl7dmFyIHI7aWYoIWV8fCFlLnN0YXRlKXtyZXR1cm4gcH1yPWUuc3RhdGUuc3RhdHVzO2lmKHIhPT16JiZyIT09SCYmciE9PVcmJnIhPT1WJiZyIT09WCYmciE9PUcmJnIhPT1qKXtyZXR1cm4gUShlLHApfWUuc3RhdGU9bnVsbDtyZXR1cm4gcj09PUc/UShlLG0pOmR9dC5kZWZsYXRlSW5pdD1FZTt0LmRlZmxhdGVJbml0Mj1rZTt0LmRlZmxhdGVSZXNldD1nZTt0LmRlZmxhdGVSZXNldEtlZXA9YmU7dC5kZWZsYXRlU2V0SGVhZGVyPXdlO3QuZGVmbGF0ZT1TZTt0LmRlZmxhdGVFbmQ9X2U7dC5kZWZsYXRlSW5mbz1cXFwicGFrbyBkZWZsYXRlIChmcm9tIE5vZGVjYSBwcm9qZWN0KVxcXCJ9LHtcXFwiLi4vdXRpbHMvY29tbW9uXFxcIjoyNyxcXFwiLi9hZGxlcjMyXFxcIjoyOSxcXFwiLi9jcmMzMlxcXCI6MzEsXFxcIi4vbWVzc2FnZXNcXFwiOjM3LFxcXCIuL3RyZWVzXFxcIjozOH1dLDMzOltmdW5jdGlvbihlLHIsdCl7XFxcInVzZSBzdHJpY3RcXFwiO2Z1bmN0aW9uIGEoKXt0aGlzLnRleHQ9MDt0aGlzLnRpbWU9MDt0aGlzLnhmbGFncz0wO3RoaXMub3M9MDt0aGlzLmV4dHJhPW51bGw7dGhpcy5leHRyYV9sZW49MDt0aGlzLm5hbWU9XFxcIlxcXCI7dGhpcy5jb21tZW50PVxcXCJcXFwiO3RoaXMuaGNyYz0wO3RoaXMuZG9uZT1mYWxzZX1yLmV4cG9ydHM9YX0se31dLDM0OltmdW5jdGlvbihlLHIsdCl7XFxcInVzZSBzdHJpY3RcXFwiO3ZhciBhPTMwO3ZhciBuPTEyO3IuZXhwb3J0cz1mdW5jdGlvbiBpKGUscil7dmFyIHQ7dmFyIGk7dmFyIHM7dmFyIGY7dmFyIG87dmFyIGw7dmFyIGM7dmFyIHU7dmFyIGg7dmFyIGQ7dmFyIHY7dmFyIHA7dmFyIG07dmFyIGI7dmFyIGc7dmFyIHc7dmFyIGs7dmFyIEU7dmFyIFM7dmFyIF87dmFyIEM7dmFyIEI7dmFyIFQ7dmFyIHkseDt0PWUuc3RhdGU7aT1lLm5leHRfaW47eT1lLmlucHV0O3M9aSsoZS5hdmFpbF9pbi01KTtmPWUubmV4dF9vdXQ7eD1lLm91dHB1dDtvPWYtKHItZS5hdmFpbF9vdXQpO2w9ZisoZS5hdmFpbF9vdXQtMjU3KTtjPXQuZG1heDt1PXQud3NpemU7aD10LndoYXZlO2Q9dC53bmV4dDt2PXQud2luZG93O3A9dC5ob2xkO209dC5iaXRzO2I9dC5sZW5jb2RlO2c9dC5kaXN0Y29kZTt3PSgxPDx0LmxlbmJpdHMpLTE7az0oMTw8dC5kaXN0Yml0cyktMTtlOmRve2lmKG08MTUpe3ArPXlbaSsrXTw8bTttKz04O3ArPXlbaSsrXTw8bTttKz04fUU9YltwJnddO3I6Zm9yKDs7KXtTPUU+Pj4yNDtwPj4+PVM7bS09UztTPUU+Pj4xNiYyNTU7aWYoUz09PTApe3hbZisrXT1FJjY1NTM1fWVsc2UgaWYoUyYxNil7Xz1FJjY1NTM1O1MmPTE1O2lmKFMpe2lmKG08Uyl7cCs9eVtpKytdPDxtO20rPTh9Xys9cCYoMTw8UyktMTtwPj4+PVM7bS09U31pZihtPDE1KXtwKz15W2krK108PG07bSs9ODtwKz15W2krK108PG07bSs9OH1FPWdbcCZrXTt0OmZvcig7Oyl7Uz1FPj4+MjQ7cD4+Pj1TO20tPVM7Uz1FPj4+MTYmMjU1O2lmKFMmMTYpe0M9RSY2NTUzNTtTJj0xNTtpZihtPFMpe3ArPXlbaSsrXTw8bTttKz04O2lmKG08Uyl7cCs9eVtpKytdPDxtO20rPTh9fUMrPXAmKDE8PFMpLTE7aWYoQz5jKXtlLm1zZz1cXFwiaW52YWxpZCBkaXN0YW5jZSB0b28gZmFyIGJhY2tcXFwiO3QubW9kZT1hO2JyZWFrIGV9cD4+Pj1TO20tPVM7Uz1mLW87aWYoQz5TKXtTPUMtUztpZihTPmgpe2lmKHQuc2FuZSl7ZS5tc2c9XFxcImludmFsaWQgZGlzdGFuY2UgdG9vIGZhciBiYWNrXFxcIjt0Lm1vZGU9YTticmVhayBlfX1CPTA7VD12O2lmKGQ9PT0wKXtCKz11LVM7aWYoUzxfKXtfLT1TO2Rve3hbZisrXT12W0IrK119d2hpbGUoLS1TKTtCPWYtQztUPXh9fWVsc2UgaWYoZDxTKXtCKz11K2QtUztTLT1kO2lmKFM8Xyl7Xy09Uztkb3t4W2YrK109dltCKytdfXdoaWxlKC0tUyk7Qj0wO2lmKGQ8Xyl7Uz1kO18tPVM7ZG97eFtmKytdPXZbQisrXX13aGlsZSgtLVMpO0I9Zi1DO1Q9eH19fWVsc2V7Qis9ZC1TO2lmKFM8Xyl7Xy09Uztkb3t4W2YrK109dltCKytdfXdoaWxlKC0tUyk7Qj1mLUM7VD14fX13aGlsZShfPjIpe3hbZisrXT1UW0IrK107eFtmKytdPVRbQisrXTt4W2YrK109VFtCKytdO18tPTN9aWYoXyl7eFtmKytdPVRbQisrXTtpZihfPjEpe3hbZisrXT1UW0IrK119fX1lbHNle0I9Zi1DO2Rve3hbZisrXT14W0IrK107eFtmKytdPXhbQisrXTt4W2YrK109eFtCKytdO18tPTN9d2hpbGUoXz4yKTtpZihfKXt4W2YrK109eFtCKytdO2lmKF8+MSl7eFtmKytdPXhbQisrXX19fX1lbHNlIGlmKChTJjY0KT09PTApe0U9Z1soRSY2NTUzNSkrKHAmKDE8PFMpLTEpXTtjb250aW51ZSB0fWVsc2V7ZS5tc2c9XFxcImludmFsaWQgZGlzdGFuY2UgY29kZVxcXCI7dC5tb2RlPWE7YnJlYWsgZX1icmVha319ZWxzZSBpZigoUyY2NCk9PT0wKXtFPWJbKEUmNjU1MzUpKyhwJigxPDxTKS0xKV07Y29udGludWUgcn1lbHNlIGlmKFMmMzIpe3QubW9kZT1uO2JyZWFrIGV9ZWxzZXtlLm1zZz1cXFwiaW52YWxpZCBsaXRlcmFsL2xlbmd0aCBjb2RlXFxcIjt0Lm1vZGU9YTticmVhayBlfWJyZWFrfX13aGlsZShpPHMmJmY8bCk7Xz1tPj4zO2ktPV87bS09Xzw8MztwJj0oMTw8bSktMTtlLm5leHRfaW49aTtlLm5leHRfb3V0PWY7ZS5hdmFpbF9pbj1pPHM/NSsocy1pKTo1LShpLXMpO2UuYXZhaWxfb3V0PWY8bD8yNTcrKGwtZik6MjU3LShmLWwpO3QuaG9sZD1wO3QuYml0cz1tO3JldHVybn19LHt9XSwzNTpbZnVuY3Rpb24oZSxyLHQpe1xcXCJ1c2Ugc3RyaWN0XFxcIjt2YXIgYT1lKFxcXCIuLi91dGlscy9jb21tb25cXFwiKTt2YXIgbj1lKFxcXCIuL2FkbGVyMzJcXFwiKTt2YXIgaT1lKFxcXCIuL2NyYzMyXFxcIik7dmFyIHM9ZShcXFwiLi9pbmZmYXN0XFxcIik7dmFyIGY9ZShcXFwiLi9pbmZ0cmVlc1xcXCIpO3ZhciBvPTA7dmFyIGw9MTt2YXIgYz0yO3ZhciB1PTQ7dmFyIGg9NTt2YXIgZD02O3ZhciB2PTA7dmFyIHA9MTt2YXIgbT0yO3ZhciBiPS0yO3ZhciBnPS0zO3ZhciB3PS00O3ZhciBrPS01O3ZhciBFPTg7dmFyIFM9MTt2YXIgXz0yO3ZhciBDPTM7dmFyIEI9NDt2YXIgVD01O3ZhciB5PTY7dmFyIHg9Nzt2YXIgQT04O3ZhciBJPTk7dmFyIFI9MTA7dmFyIE89MTE7dmFyIEQ9MTI7dmFyIEY9MTM7dmFyIFA9MTQ7dmFyIE49MTU7dmFyIEw9MTY7dmFyIE09MTc7dmFyIFU9MTg7dmFyIHo9MTk7dmFyIEg9MjA7dmFyIFc9MjE7dmFyIFY9MjI7dmFyIFg9MjM7dmFyIEc9MjQ7dmFyIGo9MjU7dmFyIEs9MjY7dmFyICQ9Mjc7dmFyIFk9Mjg7dmFyIFo9Mjk7dmFyIEo9MzA7dmFyIFE9MzE7dmFyIHE9MzI7dmFyIGVlPTg1Mjt2YXIgcmU9NTkyO3ZhciB0ZT0xNTt2YXIgYWU9dGU7ZnVuY3Rpb24gbmUoZSl7cmV0dXJuKGU+Pj4yNCYyNTUpKyhlPj4+OCY2NTI4MCkrKChlJjY1MjgwKTw8OCkrKChlJjI1NSk8PDI0KX1mdW5jdGlvbiBpZSgpe3RoaXMubW9kZT0wO3RoaXMubGFzdD1mYWxzZTt0aGlzLndyYXA9MDt0aGlzLmhhdmVkaWN0PWZhbHNlO3RoaXMuZmxhZ3M9MDt0aGlzLmRtYXg9MDt0aGlzLmNoZWNrPTA7dGhpcy50b3RhbD0wO3RoaXMuaGVhZD1udWxsO3RoaXMud2JpdHM9MDt0aGlzLndzaXplPTA7dGhpcy53aGF2ZT0wO3RoaXMud25leHQ9MDt0aGlzLndpbmRvdz1udWxsO3RoaXMuaG9sZD0wO3RoaXMuYml0cz0wO3RoaXMubGVuZ3RoPTA7dGhpcy5vZmZzZXQ9MDt0aGlzLmV4dHJhPTA7dGhpcy5sZW5jb2RlPW51bGw7dGhpcy5kaXN0Y29kZT1udWxsO3RoaXMubGVuYml0cz0wO3RoaXMuZGlzdGJpdHM9MDt0aGlzLm5jb2RlPTA7dGhpcy5ubGVuPTA7dGhpcy5uZGlzdD0wO3RoaXMuaGF2ZT0wO3RoaXMubmV4dD1udWxsO3RoaXMubGVucz1uZXcgYS5CdWYxNigzMjApO3RoaXMud29yaz1uZXcgYS5CdWYxNigyODgpO3RoaXMubGVuZHluPW51bGw7dGhpcy5kaXN0ZHluPW51bGw7dGhpcy5zYW5lPTA7dGhpcy5iYWNrPTA7dGhpcy53YXM9MH1mdW5jdGlvbiBzZShlKXt2YXIgcjtpZighZXx8IWUuc3RhdGUpe3JldHVybiBifXI9ZS5zdGF0ZTtlLnRvdGFsX2luPWUudG90YWxfb3V0PXIudG90YWw9MDtlLm1zZz1cXFwiXFxcIjtpZihyLndyYXApe2UuYWRsZXI9ci53cmFwJjF9ci5tb2RlPVM7ci5sYXN0PTA7ci5oYXZlZGljdD0wO3IuZG1heD0zMjc2ODtyLmhlYWQ9bnVsbDtyLmhvbGQ9MDtyLmJpdHM9MDtyLmxlbmNvZGU9ci5sZW5keW49bmV3IGEuQnVmMzIoZWUpO3IuZGlzdGNvZGU9ci5kaXN0ZHluPW5ldyBhLkJ1ZjMyKHJlKTtyLnNhbmU9MTtyLmJhY2s9LTE7cmV0dXJuIHZ9ZnVuY3Rpb24gZmUoZSl7dmFyIHI7aWYoIWV8fCFlLnN0YXRlKXtyZXR1cm4gYn1yPWUuc3RhdGU7ci53c2l6ZT0wO3Iud2hhdmU9MDtyLnduZXh0PTA7cmV0dXJuIHNlKGUpfWZ1bmN0aW9uIG9lKGUscil7dmFyIHQ7dmFyIGE7aWYoIWV8fCFlLnN0YXRlKXtyZXR1cm4gYn1hPWUuc3RhdGU7aWYocjwwKXt0PTA7cj0tcn1lbHNle3Q9KHI+PjQpKzE7aWYocjw0OCl7ciY9MTV9fWlmKHImJihyPDh8fHI+MTUpKXtyZXR1cm4gYn1pZihhLndpbmRvdyE9PW51bGwmJmEud2JpdHMhPT1yKXthLndpbmRvdz1udWxsfWEud3JhcD10O2Eud2JpdHM9cjtyZXR1cm4gZmUoZSl9ZnVuY3Rpb24gbGUoZSxyKXt2YXIgdDt2YXIgYTtpZighZSl7cmV0dXJuIGJ9YT1uZXcgaWU7ZS5zdGF0ZT1hO2Eud2luZG93PW51bGw7dD1vZShlLHIpO2lmKHQhPT12KXtlLnN0YXRlPW51bGx9cmV0dXJuIHR9ZnVuY3Rpb24gY2UoZSl7cmV0dXJuIGxlKGUsYWUpfXZhciB1ZT10cnVlO3ZhciBoZSxkZTtmdW5jdGlvbiB2ZShlKXtpZih1ZSl7dmFyIHI7aGU9bmV3IGEuQnVmMzIoNTEyKTtkZT1uZXcgYS5CdWYzMigzMik7cj0wO3doaWxlKHI8MTQ0KXtlLmxlbnNbcisrXT04fXdoaWxlKHI8MjU2KXtlLmxlbnNbcisrXT05fXdoaWxlKHI8MjgwKXtlLmxlbnNbcisrXT03fXdoaWxlKHI8Mjg4KXtlLmxlbnNbcisrXT04fWYobCxlLmxlbnMsMCwyODgsaGUsMCxlLndvcmsse2JpdHM6OX0pO3I9MDt3aGlsZShyPDMyKXtlLmxlbnNbcisrXT01fWYoYyxlLmxlbnMsMCwzMixkZSwwLGUud29yayx7Yml0czo1fSk7dWU9ZmFsc2V9ZS5sZW5jb2RlPWhlO2UubGVuYml0cz05O2UuZGlzdGNvZGU9ZGU7ZS5kaXN0Yml0cz01fWZ1bmN0aW9uIHBlKGUscix0LG4pe3ZhciBpO3ZhciBzPWUuc3RhdGU7aWYocy53aW5kb3c9PT1udWxsKXtzLndzaXplPTE8PHMud2JpdHM7cy53bmV4dD0wO3Mud2hhdmU9MDtzLndpbmRvdz1uZXcgYS5CdWY4KHMud3NpemUpfWlmKG4+PXMud3NpemUpe2EuYXJyYXlTZXQocy53aW5kb3cscix0LXMud3NpemUscy53c2l6ZSwwKTtzLnduZXh0PTA7cy53aGF2ZT1zLndzaXplfWVsc2V7aT1zLndzaXplLXMud25leHQ7aWYoaT5uKXtpPW59YS5hcnJheVNldChzLndpbmRvdyxyLHQtbixpLHMud25leHQpO24tPWk7aWYobil7YS5hcnJheVNldChzLndpbmRvdyxyLHQtbixuLDApO3Mud25leHQ9bjtzLndoYXZlPXMud3NpemV9ZWxzZXtzLnduZXh0Kz1pO2lmKHMud25leHQ9PT1zLndzaXplKXtzLnduZXh0PTB9aWYocy53aGF2ZTxzLndzaXplKXtzLndoYXZlKz1pfX19cmV0dXJuIDB9ZnVuY3Rpb24gbWUoZSxyKXt2YXIgdDt2YXIgZWUscmU7dmFyIHRlO3ZhciBhZTt2YXIgaWUsc2U7dmFyIGZlO3ZhciBvZTt2YXIgbGUsY2U7dmFyIHVlO3ZhciBoZTt2YXIgZGU7dmFyIG1lPTA7dmFyIGJlLGdlLHdlO3ZhciBrZSxFZSxTZTt2YXIgX2U7dmFyIENlO3ZhciBCZT1uZXcgYS5CdWY4KDQpO3ZhciBUZTt2YXIgeWU7dmFyIHhlPVsxNiwxNywxOCwwLDgsNyw5LDYsMTAsNSwxMSw0LDEyLDMsMTMsMiwxNCwxLDE1XTtpZighZXx8IWUuc3RhdGV8fCFlLm91dHB1dHx8IWUuaW5wdXQmJmUuYXZhaWxfaW4hPT0wKXtyZXR1cm4gYn10PWUuc3RhdGU7aWYodC5tb2RlPT09RCl7dC5tb2RlPUZ9YWU9ZS5uZXh0X291dDtyZT1lLm91dHB1dDtzZT1lLmF2YWlsX291dDt0ZT1lLm5leHRfaW47ZWU9ZS5pbnB1dDtpZT1lLmF2YWlsX2luO2ZlPXQuaG9sZDtvZT10LmJpdHM7bGU9aWU7Y2U9c2U7Q2U9djtlOmZvcig7Oyl7c3dpdGNoKHQubW9kZSl7Y2FzZSBTOmlmKHQud3JhcD09PTApe3QubW9kZT1GO2JyZWFrfXdoaWxlKG9lPDE2KXtpZihpZT09PTApe2JyZWFrIGV9aWUtLTtmZSs9ZWVbdGUrK108PG9lO29lKz04fWlmKHQud3JhcCYyJiZmZT09PTM1NjE1KXt0LmNoZWNrPTA7QmVbMF09ZmUmMjU1O0JlWzFdPWZlPj4+OCYyNTU7dC5jaGVjaz1pKHQuY2hlY2ssQmUsMiwwKTtmZT0wO29lPTA7dC5tb2RlPV87YnJlYWt9dC5mbGFncz0wO2lmKHQuaGVhZCl7dC5oZWFkLmRvbmU9ZmFsc2V9aWYoISh0LndyYXAmMSl8fCgoKGZlJjI1NSk8PDgpKyhmZT4+OCkpJTMxKXtlLm1zZz1cXFwiaW5jb3JyZWN0IGhlYWRlciBjaGVja1xcXCI7dC5tb2RlPUo7YnJlYWt9aWYoKGZlJjE1KSE9PUUpe2UubXNnPVxcXCJ1bmtub3duIGNvbXByZXNzaW9uIG1ldGhvZFxcXCI7dC5tb2RlPUo7YnJlYWt9ZmU+Pj49NDtvZS09NDtfZT0oZmUmMTUpKzg7aWYodC53Yml0cz09PTApe3Qud2JpdHM9X2V9ZWxzZSBpZihfZT50LndiaXRzKXtlLm1zZz1cXFwiaW52YWxpZCB3aW5kb3cgc2l6ZVxcXCI7dC5tb2RlPUo7YnJlYWt9dC5kbWF4PTE8PF9lO2UuYWRsZXI9dC5jaGVjaz0xO3QubW9kZT1mZSY1MTI/UjpEO2ZlPTA7b2U9MDticmVhaztjYXNlIF86d2hpbGUob2U8MTYpe2lmKGllPT09MCl7YnJlYWsgZX1pZS0tO2ZlKz1lZVt0ZSsrXTw8b2U7b2UrPTh9dC5mbGFncz1mZTtpZigodC5mbGFncyYyNTUpIT09RSl7ZS5tc2c9XFxcInVua25vd24gY29tcHJlc3Npb24gbWV0aG9kXFxcIjt0Lm1vZGU9SjticmVha31pZih0LmZsYWdzJjU3MzQ0KXtlLm1zZz1cXFwidW5rbm93biBoZWFkZXIgZmxhZ3Mgc2V0XFxcIjt0Lm1vZGU9SjticmVha31pZih0LmhlYWQpe3QuaGVhZC50ZXh0PWZlPj44JjF9aWYodC5mbGFncyY1MTIpe0JlWzBdPWZlJjI1NTtCZVsxXT1mZT4+PjgmMjU1O3QuY2hlY2s9aSh0LmNoZWNrLEJlLDIsMCl9ZmU9MDtvZT0wO3QubW9kZT1DO2Nhc2UgQzp3aGlsZShvZTwzMil7aWYoaWU9PT0wKXticmVhayBlfWllLS07ZmUrPWVlW3RlKytdPDxvZTtvZSs9OH1pZih0LmhlYWQpe3QuaGVhZC50aW1lPWZlfWlmKHQuZmxhZ3MmNTEyKXtCZVswXT1mZSYyNTU7QmVbMV09ZmU+Pj44JjI1NTtCZVsyXT1mZT4+PjE2JjI1NTtCZVszXT1mZT4+PjI0JjI1NTt0LmNoZWNrPWkodC5jaGVjayxCZSw0LDApfWZlPTA7b2U9MDt0Lm1vZGU9QjtjYXNlIEI6d2hpbGUob2U8MTYpe2lmKGllPT09MCl7YnJlYWsgZX1pZS0tO2ZlKz1lZVt0ZSsrXTw8b2U7b2UrPTh9aWYodC5oZWFkKXt0LmhlYWQueGZsYWdzPWZlJjI1NTt0LmhlYWQub3M9ZmU+Pjh9aWYodC5mbGFncyY1MTIpe0JlWzBdPWZlJjI1NTtCZVsxXT1mZT4+PjgmMjU1O3QuY2hlY2s9aSh0LmNoZWNrLEJlLDIsMCl9ZmU9MDtvZT0wO3QubW9kZT1UO2Nhc2UgVDppZih0LmZsYWdzJjEwMjQpe3doaWxlKG9lPDE2KXtpZihpZT09PTApe2JyZWFrIGV9aWUtLTtmZSs9ZWVbdGUrK108PG9lO29lKz04fXQubGVuZ3RoPWZlO2lmKHQuaGVhZCl7dC5oZWFkLmV4dHJhX2xlbj1mZX1pZih0LmZsYWdzJjUxMil7QmVbMF09ZmUmMjU1O0JlWzFdPWZlPj4+OCYyNTU7dC5jaGVjaz1pKHQuY2hlY2ssQmUsMiwwKX1mZT0wO29lPTB9ZWxzZSBpZih0LmhlYWQpe3QuaGVhZC5leHRyYT1udWxsfXQubW9kZT15O2Nhc2UgeTppZih0LmZsYWdzJjEwMjQpe3VlPXQubGVuZ3RoO2lmKHVlPmllKXt1ZT1pZX1pZih1ZSl7aWYodC5oZWFkKXtfZT10LmhlYWQuZXh0cmFfbGVuLXQubGVuZ3RoO2lmKCF0LmhlYWQuZXh0cmEpe3QuaGVhZC5leHRyYT1uZXcgQXJyYXkodC5oZWFkLmV4dHJhX2xlbil9YS5hcnJheVNldCh0LmhlYWQuZXh0cmEsZWUsdGUsdWUsX2UpfWlmKHQuZmxhZ3MmNTEyKXt0LmNoZWNrPWkodC5jaGVjayxlZSx1ZSx0ZSl9aWUtPXVlO3RlKz11ZTt0Lmxlbmd0aC09dWV9aWYodC5sZW5ndGgpe2JyZWFrIGV9fXQubGVuZ3RoPTA7dC5tb2RlPXg7Y2FzZSB4OmlmKHQuZmxhZ3MmMjA0OCl7aWYoaWU9PT0wKXticmVhayBlfXVlPTA7ZG97X2U9ZWVbdGUrdWUrK107aWYodC5oZWFkJiZfZSYmdC5sZW5ndGg8NjU1MzYpe3QuaGVhZC5uYW1lKz1TdHJpbmcuZnJvbUNoYXJDb2RlKF9lKX19d2hpbGUoX2UmJnVlPGllKTtpZih0LmZsYWdzJjUxMil7dC5jaGVjaz1pKHQuY2hlY2ssZWUsdWUsdGUpfWllLT11ZTt0ZSs9dWU7aWYoX2Upe2JyZWFrIGV9fWVsc2UgaWYodC5oZWFkKXt0LmhlYWQubmFtZT1udWxsfXQubGVuZ3RoPTA7dC5tb2RlPUE7Y2FzZSBBOmlmKHQuZmxhZ3MmNDA5Nil7aWYoaWU9PT0wKXticmVhayBlfXVlPTA7ZG97X2U9ZWVbdGUrdWUrK107aWYodC5oZWFkJiZfZSYmdC5sZW5ndGg8NjU1MzYpe3QuaGVhZC5jb21tZW50Kz1TdHJpbmcuZnJvbUNoYXJDb2RlKF9lKX19d2hpbGUoX2UmJnVlPGllKTtpZih0LmZsYWdzJjUxMil7dC5jaGVjaz1pKHQuY2hlY2ssZWUsdWUsdGUpfWllLT11ZTt0ZSs9dWU7aWYoX2Upe2JyZWFrIGV9fWVsc2UgaWYodC5oZWFkKXt0LmhlYWQuY29tbWVudD1udWxsfXQubW9kZT1JO2Nhc2UgSTppZih0LmZsYWdzJjUxMil7d2hpbGUob2U8MTYpe2lmKGllPT09MCl7YnJlYWsgZX1pZS0tO2ZlKz1lZVt0ZSsrXTw8b2U7b2UrPTh9aWYoZmUhPT0odC5jaGVjayY2NTUzNSkpe2UubXNnPVxcXCJoZWFkZXIgY3JjIG1pc21hdGNoXFxcIjt0Lm1vZGU9SjticmVha31mZT0wO29lPTB9aWYodC5oZWFkKXt0LmhlYWQuaGNyYz10LmZsYWdzPj45JjE7dC5oZWFkLmRvbmU9dHJ1ZX1lLmFkbGVyPXQuY2hlY2s9MDt0Lm1vZGU9RDticmVhaztjYXNlIFI6d2hpbGUob2U8MzIpe2lmKGllPT09MCl7YnJlYWsgZX1pZS0tO2ZlKz1lZVt0ZSsrXTw8b2U7b2UrPTh9ZS5hZGxlcj10LmNoZWNrPW5lKGZlKTtmZT0wO29lPTA7dC5tb2RlPU87Y2FzZSBPOmlmKHQuaGF2ZWRpY3Q9PT0wKXtlLm5leHRfb3V0PWFlO2UuYXZhaWxfb3V0PXNlO2UubmV4dF9pbj10ZTtlLmF2YWlsX2luPWllO3QuaG9sZD1mZTt0LmJpdHM9b2U7cmV0dXJuIG19ZS5hZGxlcj10LmNoZWNrPTE7dC5tb2RlPUQ7Y2FzZSBEOlxcbmlmKHI9PT1ofHxyPT09ZCl7YnJlYWsgZX07Y2FzZSBGOmlmKHQubGFzdCl7ZmU+Pj49b2UmNztvZS09b2UmNzt0Lm1vZGU9JDticmVha313aGlsZShvZTwzKXtpZihpZT09PTApe2JyZWFrIGV9aWUtLTtmZSs9ZWVbdGUrK108PG9lO29lKz04fXQubGFzdD1mZSYxO2ZlPj4+PTE7b2UtPTE7c3dpdGNoKGZlJjMpe2Nhc2UgMDp0Lm1vZGU9UDticmVhaztjYXNlIDE6dmUodCk7dC5tb2RlPUg7aWYocj09PWQpe2ZlPj4+PTI7b2UtPTI7YnJlYWsgZX1icmVhaztjYXNlIDI6dC5tb2RlPU07YnJlYWs7Y2FzZSAzOmUubXNnPVxcXCJpbnZhbGlkIGJsb2NrIHR5cGVcXFwiO3QubW9kZT1KO31mZT4+Pj0yO29lLT0yO2JyZWFrO2Nhc2UgUDpmZT4+Pj1vZSY3O29lLT1vZSY3O3doaWxlKG9lPDMyKXtpZihpZT09PTApe2JyZWFrIGV9aWUtLTtmZSs9ZWVbdGUrK108PG9lO29lKz04fWlmKChmZSY2NTUzNSkhPT0oZmU+Pj4xNl42NTUzNSkpe2UubXNnPVxcXCJpbnZhbGlkIHN0b3JlZCBibG9jayBsZW5ndGhzXFxcIjt0Lm1vZGU9SjticmVha310Lmxlbmd0aD1mZSY2NTUzNTtmZT0wO29lPTA7dC5tb2RlPU47aWYocj09PWQpe2JyZWFrIGV9O2Nhc2UgTjp0Lm1vZGU9TDtjYXNlIEw6dWU9dC5sZW5ndGg7aWYodWUpe2lmKHVlPmllKXt1ZT1pZX1pZih1ZT5zZSl7dWU9c2V9aWYodWU9PT0wKXticmVhayBlfWEuYXJyYXlTZXQocmUsZWUsdGUsdWUsYWUpO2llLT11ZTt0ZSs9dWU7c2UtPXVlO2FlKz11ZTt0Lmxlbmd0aC09dWU7YnJlYWt9dC5tb2RlPUQ7YnJlYWs7Y2FzZSBNOndoaWxlKG9lPDE0KXtpZihpZT09PTApe2JyZWFrIGV9aWUtLTtmZSs9ZWVbdGUrK108PG9lO29lKz04fXQubmxlbj0oZmUmMzEpKzI1NztmZT4+Pj01O29lLT01O3QubmRpc3Q9KGZlJjMxKSsxO2ZlPj4+PTU7b2UtPTU7dC5uY29kZT0oZmUmMTUpKzQ7ZmU+Pj49NDtvZS09NDtpZih0Lm5sZW4+Mjg2fHx0Lm5kaXN0PjMwKXtlLm1zZz1cXFwidG9vIG1hbnkgbGVuZ3RoIG9yIGRpc3RhbmNlIHN5bWJvbHNcXFwiO3QubW9kZT1KO2JyZWFrfXQuaGF2ZT0wO3QubW9kZT1VO2Nhc2UgVTp3aGlsZSh0LmhhdmU8dC5uY29kZSl7d2hpbGUob2U8Myl7aWYoaWU9PT0wKXticmVhayBlfWllLS07ZmUrPWVlW3RlKytdPDxvZTtvZSs9OH10LmxlbnNbeGVbdC5oYXZlKytdXT1mZSY3O2ZlPj4+PTM7b2UtPTN9d2hpbGUodC5oYXZlPDE5KXt0LmxlbnNbeGVbdC5oYXZlKytdXT0wfXQubGVuY29kZT10LmxlbmR5bjt0LmxlbmJpdHM9NztUZT17Yml0czp0LmxlbmJpdHN9O0NlPWYobyx0LmxlbnMsMCwxOSx0LmxlbmNvZGUsMCx0LndvcmssVGUpO3QubGVuYml0cz1UZS5iaXRzO2lmKENlKXtlLm1zZz1cXFwiaW52YWxpZCBjb2RlIGxlbmd0aHMgc2V0XFxcIjt0Lm1vZGU9SjticmVha310LmhhdmU9MDt0Lm1vZGU9ejtjYXNlIHo6d2hpbGUodC5oYXZlPHQubmxlbit0Lm5kaXN0KXtmb3IoOzspe21lPXQubGVuY29kZVtmZSYoMTw8dC5sZW5iaXRzKS0xXTtiZT1tZT4+PjI0O2dlPW1lPj4+MTYmMjU1O3dlPW1lJjY1NTM1O2lmKGJlPD1vZSl7YnJlYWt9aWYoaWU9PT0wKXticmVhayBlfWllLS07ZmUrPWVlW3RlKytdPDxvZTtvZSs9OH1pZih3ZTwxNil7ZmU+Pj49YmU7b2UtPWJlO3QubGVuc1t0LmhhdmUrK109d2V9ZWxzZXtpZih3ZT09PTE2KXt5ZT1iZSsyO3doaWxlKG9lPHllKXtpZihpZT09PTApe2JyZWFrIGV9aWUtLTtmZSs9ZWVbdGUrK108PG9lO29lKz04fWZlPj4+PWJlO29lLT1iZTtpZih0LmhhdmU9PT0wKXtlLm1zZz1cXFwiaW52YWxpZCBiaXQgbGVuZ3RoIHJlcGVhdFxcXCI7dC5tb2RlPUo7YnJlYWt9X2U9dC5sZW5zW3QuaGF2ZS0xXTt1ZT0zKyhmZSYzKTtmZT4+Pj0yO29lLT0yfWVsc2UgaWYod2U9PT0xNyl7eWU9YmUrMzt3aGlsZShvZTx5ZSl7aWYoaWU9PT0wKXticmVhayBlfWllLS07ZmUrPWVlW3RlKytdPDxvZTtvZSs9OH1mZT4+Pj1iZTtvZS09YmU7X2U9MDt1ZT0zKyhmZSY3KTtmZT4+Pj0zO29lLT0zfWVsc2V7eWU9YmUrNzt3aGlsZShvZTx5ZSl7aWYoaWU9PT0wKXticmVhayBlfWllLS07ZmUrPWVlW3RlKytdPDxvZTtvZSs9OH1mZT4+Pj1iZTtvZS09YmU7X2U9MDt1ZT0xMSsoZmUmMTI3KTtmZT4+Pj03O29lLT03fWlmKHQuaGF2ZSt1ZT50Lm5sZW4rdC5uZGlzdCl7ZS5tc2c9XFxcImludmFsaWQgYml0IGxlbmd0aCByZXBlYXRcXFwiO3QubW9kZT1KO2JyZWFrfXdoaWxlKHVlLS0pe3QubGVuc1t0LmhhdmUrK109X2V9fX1pZih0Lm1vZGU9PT1KKXticmVha31pZih0LmxlbnNbMjU2XT09PTApe2UubXNnPVxcXCJpbnZhbGlkIGNvZGUgLS0gbWlzc2luZyBlbmQtb2YtYmxvY2tcXFwiO3QubW9kZT1KO2JyZWFrfXQubGVuYml0cz05O1RlPXtiaXRzOnQubGVuYml0c307Q2U9ZihsLHQubGVucywwLHQubmxlbix0LmxlbmNvZGUsMCx0LndvcmssVGUpO3QubGVuYml0cz1UZS5iaXRzO2lmKENlKXtlLm1zZz1cXFwiaW52YWxpZCBsaXRlcmFsL2xlbmd0aHMgc2V0XFxcIjt0Lm1vZGU9SjticmVha310LmRpc3RiaXRzPTY7dC5kaXN0Y29kZT10LmRpc3RkeW47VGU9e2JpdHM6dC5kaXN0Yml0c307Q2U9ZihjLHQubGVucyx0Lm5sZW4sdC5uZGlzdCx0LmRpc3Rjb2RlLDAsdC53b3JrLFRlKTt0LmRpc3RiaXRzPVRlLmJpdHM7aWYoQ2Upe2UubXNnPVxcXCJpbnZhbGlkIGRpc3RhbmNlcyBzZXRcXFwiO3QubW9kZT1KO2JyZWFrfXQubW9kZT1IO2lmKHI9PT1kKXticmVhayBlfTtjYXNlIEg6dC5tb2RlPVc7Y2FzZSBXOmlmKGllPj02JiZzZT49MjU4KXtlLm5leHRfb3V0PWFlO2UuYXZhaWxfb3V0PXNlO2UubmV4dF9pbj10ZTtlLmF2YWlsX2luPWllO3QuaG9sZD1mZTt0LmJpdHM9b2U7cyhlLGNlKTthZT1lLm5leHRfb3V0O3JlPWUub3V0cHV0O3NlPWUuYXZhaWxfb3V0O3RlPWUubmV4dF9pbjtlZT1lLmlucHV0O2llPWUuYXZhaWxfaW47ZmU9dC5ob2xkO29lPXQuYml0cztpZih0Lm1vZGU9PT1EKXt0LmJhY2s9LTF9YnJlYWt9dC5iYWNrPTA7Zm9yKDs7KXttZT10LmxlbmNvZGVbZmUmKDE8PHQubGVuYml0cyktMV07YmU9bWU+Pj4yNDtnZT1tZT4+PjE2JjI1NTt3ZT1tZSY2NTUzNTtpZihiZTw9b2Upe2JyZWFrfWlmKGllPT09MCl7YnJlYWsgZX1pZS0tO2ZlKz1lZVt0ZSsrXTw8b2U7b2UrPTh9aWYoZ2UmJihnZSYyNDApPT09MCl7a2U9YmU7RWU9Z2U7U2U9d2U7Zm9yKDs7KXttZT10LmxlbmNvZGVbU2UrKChmZSYoMTw8a2UrRWUpLTEpPj5rZSldO2JlPW1lPj4+MjQ7Z2U9bWU+Pj4xNiYyNTU7d2U9bWUmNjU1MzU7aWYoa2UrYmU8PW9lKXticmVha31pZihpZT09PTApe2JyZWFrIGV9aWUtLTtmZSs9ZWVbdGUrK108PG9lO29lKz04fWZlPj4+PWtlO29lLT1rZTt0LmJhY2srPWtlfWZlPj4+PWJlO29lLT1iZTt0LmJhY2srPWJlO3QubGVuZ3RoPXdlO2lmKGdlPT09MCl7dC5tb2RlPUs7YnJlYWt9aWYoZ2UmMzIpe3QuYmFjaz0tMTt0Lm1vZGU9RDticmVha31pZihnZSY2NCl7ZS5tc2c9XFxcImludmFsaWQgbGl0ZXJhbC9sZW5ndGggY29kZVxcXCI7dC5tb2RlPUo7YnJlYWt9dC5leHRyYT1nZSYxNTt0Lm1vZGU9VjtjYXNlIFY6aWYodC5leHRyYSl7eWU9dC5leHRyYTt3aGlsZShvZTx5ZSl7aWYoaWU9PT0wKXticmVhayBlfWllLS07ZmUrPWVlW3RlKytdPDxvZTtvZSs9OH10Lmxlbmd0aCs9ZmUmKDE8PHQuZXh0cmEpLTE7ZmU+Pj49dC5leHRyYTtvZS09dC5leHRyYTt0LmJhY2srPXQuZXh0cmF9dC53YXM9dC5sZW5ndGg7dC5tb2RlPVg7Y2FzZSBYOmZvcig7Oyl7bWU9dC5kaXN0Y29kZVtmZSYoMTw8dC5kaXN0Yml0cyktMV07YmU9bWU+Pj4yNDtnZT1tZT4+PjE2JjI1NTt3ZT1tZSY2NTUzNTtpZihiZTw9b2Upe2JyZWFrfWlmKGllPT09MCl7YnJlYWsgZX1pZS0tO2ZlKz1lZVt0ZSsrXTw8b2U7b2UrPTh9aWYoKGdlJjI0MCk9PT0wKXtrZT1iZTtFZT1nZTtTZT13ZTtmb3IoOzspe21lPXQuZGlzdGNvZGVbU2UrKChmZSYoMTw8a2UrRWUpLTEpPj5rZSldO2JlPW1lPj4+MjQ7Z2U9bWU+Pj4xNiYyNTU7d2U9bWUmNjU1MzU7aWYoa2UrYmU8PW9lKXticmVha31pZihpZT09PTApe2JyZWFrIGV9aWUtLTtmZSs9ZWVbdGUrK108PG9lO29lKz04fWZlPj4+PWtlO29lLT1rZTt0LmJhY2srPWtlfWZlPj4+PWJlO29lLT1iZTt0LmJhY2srPWJlO2lmKGdlJjY0KXtlLm1zZz1cXFwiaW52YWxpZCBkaXN0YW5jZSBjb2RlXFxcIjt0Lm1vZGU9SjticmVha310Lm9mZnNldD13ZTt0LmV4dHJhPWdlJjE1O3QubW9kZT1HO2Nhc2UgRzppZih0LmV4dHJhKXt5ZT10LmV4dHJhO3doaWxlKG9lPHllKXtpZihpZT09PTApe2JyZWFrIGV9aWUtLTtmZSs9ZWVbdGUrK108PG9lO29lKz04fXQub2Zmc2V0Kz1mZSYoMTw8dC5leHRyYSktMTtmZT4+Pj10LmV4dHJhO29lLT10LmV4dHJhO3QuYmFjays9dC5leHRyYX1pZih0Lm9mZnNldD50LmRtYXgpe2UubXNnPVxcXCJpbnZhbGlkIGRpc3RhbmNlIHRvbyBmYXIgYmFja1xcXCI7dC5tb2RlPUo7YnJlYWt9dC5tb2RlPWo7Y2FzZSBqOmlmKHNlPT09MCl7YnJlYWsgZX11ZT1jZS1zZTtpZih0Lm9mZnNldD51ZSl7dWU9dC5vZmZzZXQtdWU7aWYodWU+dC53aGF2ZSl7aWYodC5zYW5lKXtlLm1zZz1cXFwiaW52YWxpZCBkaXN0YW5jZSB0b28gZmFyIGJhY2tcXFwiO3QubW9kZT1KO2JyZWFrfX1pZih1ZT50LnduZXh0KXt1ZS09dC53bmV4dDtoZT10LndzaXplLXVlfWVsc2V7aGU9dC53bmV4dC11ZX1pZih1ZT50Lmxlbmd0aCl7dWU9dC5sZW5ndGh9ZGU9dC53aW5kb3d9ZWxzZXtkZT1yZTtoZT1hZS10Lm9mZnNldDt1ZT10Lmxlbmd0aH1pZih1ZT5zZSl7dWU9c2V9c2UtPXVlO3QubGVuZ3RoLT11ZTtkb3tyZVthZSsrXT1kZVtoZSsrXX13aGlsZSgtLXVlKTtpZih0Lmxlbmd0aD09PTApe3QubW9kZT1XfWJyZWFrO2Nhc2UgSzppZihzZT09PTApe2JyZWFrIGV9cmVbYWUrK109dC5sZW5ndGg7c2UtLTt0Lm1vZGU9VzticmVhaztjYXNlICQ6aWYodC53cmFwKXt3aGlsZShvZTwzMil7aWYoaWU9PT0wKXticmVhayBlfWllLS07ZmV8PWVlW3RlKytdPDxvZTtvZSs9OH1jZS09c2U7ZS50b3RhbF9vdXQrPWNlO3QudG90YWwrPWNlO2lmKGNlKXtlLmFkbGVyPXQuY2hlY2s9dC5mbGFncz9pKHQuY2hlY2sscmUsY2UsYWUtY2UpOm4odC5jaGVjayxyZSxjZSxhZS1jZSl9Y2U9c2U7aWYoKHQuZmxhZ3M/ZmU6bmUoZmUpKSE9PXQuY2hlY2spe2UubXNnPVxcXCJpbmNvcnJlY3QgZGF0YSBjaGVja1xcXCI7dC5tb2RlPUo7YnJlYWt9ZmU9MDtvZT0wfXQubW9kZT1ZO2Nhc2UgWTppZih0LndyYXAmJnQuZmxhZ3Mpe3doaWxlKG9lPDMyKXtpZihpZT09PTApe2JyZWFrIGV9aWUtLTtmZSs9ZWVbdGUrK108PG9lO29lKz04fWlmKGZlIT09KHQudG90YWwmNDI5NDk2NzI5NSkpe2UubXNnPVxcXCJpbmNvcnJlY3QgbGVuZ3RoIGNoZWNrXFxcIjt0Lm1vZGU9SjticmVha31mZT0wO29lPTB9dC5tb2RlPVo7Y2FzZSBaOkNlPXA7YnJlYWsgZTtjYXNlIEo6Q2U9ZzticmVhayBlO2Nhc2UgUTpyZXR1cm4gdztjYXNlIHE6O2RlZmF1bHQ6cmV0dXJuIGI7fX1lLm5leHRfb3V0PWFlO2UuYXZhaWxfb3V0PXNlO2UubmV4dF9pbj10ZTtlLmF2YWlsX2luPWllO3QuaG9sZD1mZTt0LmJpdHM9b2U7aWYodC53c2l6ZXx8Y2UhPT1lLmF2YWlsX291dCYmdC5tb2RlPEomJih0Lm1vZGU8JHx8ciE9PXUpKXtpZihwZShlLGUub3V0cHV0LGUubmV4dF9vdXQsY2UtZS5hdmFpbF9vdXQpKXt0Lm1vZGU9UTtyZXR1cm4gd319bGUtPWUuYXZhaWxfaW47Y2UtPWUuYXZhaWxfb3V0O2UudG90YWxfaW4rPWxlO2UudG90YWxfb3V0Kz1jZTt0LnRvdGFsKz1jZTtpZih0LndyYXAmJmNlKXtlLmFkbGVyPXQuY2hlY2s9dC5mbGFncz9pKHQuY2hlY2sscmUsY2UsZS5uZXh0X291dC1jZSk6bih0LmNoZWNrLHJlLGNlLGUubmV4dF9vdXQtY2UpfWUuZGF0YV90eXBlPXQuYml0cysodC5sYXN0PzY0OjApKyh0Lm1vZGU9PT1EPzEyODowKSsodC5tb2RlPT09SHx8dC5tb2RlPT09Tj8yNTY6MCk7aWYoKGxlPT09MCYmY2U9PT0wfHxyPT09dSkmJkNlPT09dil7Q2U9a31yZXR1cm4gQ2V9ZnVuY3Rpb24gYmUoZSl7aWYoIWV8fCFlLnN0YXRlKXtyZXR1cm4gYn12YXIgcj1lLnN0YXRlO2lmKHIud2luZG93KXtyLndpbmRvdz1udWxsfWUuc3RhdGU9bnVsbDtyZXR1cm4gdn1mdW5jdGlvbiBnZShlLHIpe3ZhciB0O2lmKCFlfHwhZS5zdGF0ZSl7cmV0dXJuIGJ9dD1lLnN0YXRlO2lmKCh0LndyYXAmMik9PT0wKXtyZXR1cm4gYn10LmhlYWQ9cjtyLmRvbmU9ZmFsc2U7cmV0dXJuIHZ9dC5pbmZsYXRlUmVzZXQ9ZmU7dC5pbmZsYXRlUmVzZXQyPW9lO3QuaW5mbGF0ZVJlc2V0S2VlcD1zZTt0LmluZmxhdGVJbml0PWNlO3QuaW5mbGF0ZUluaXQyPWxlO3QuaW5mbGF0ZT1tZTt0LmluZmxhdGVFbmQ9YmU7dC5pbmZsYXRlR2V0SGVhZGVyPWdlO3QuaW5mbGF0ZUluZm89XFxcInBha28gaW5mbGF0ZSAoZnJvbSBOb2RlY2EgcHJvamVjdClcXFwifSx7XFxcIi4uL3V0aWxzL2NvbW1vblxcXCI6MjcsXFxcIi4vYWRsZXIzMlxcXCI6MjksXFxcIi4vY3JjMzJcXFwiOjMxLFxcXCIuL2luZmZhc3RcXFwiOjM0LFxcXCIuL2luZnRyZWVzXFxcIjozNn1dLDM2OltmdW5jdGlvbihlLHIsdCl7XFxcInVzZSBzdHJpY3RcXFwiO3ZhciBhPWUoXFxcIi4uL3V0aWxzL2NvbW1vblxcXCIpO3ZhciBuPTE1O3ZhciBpPTg1Mjt2YXIgcz01OTI7dmFyIGY9MDt2YXIgbz0xO3ZhciBsPTI7dmFyIGM9WzMsNCw1LDYsNyw4LDksMTAsMTEsMTMsMTUsMTcsMTksMjMsMjcsMzEsMzUsNDMsNTEsNTksNjcsODMsOTksMTE1LDEzMSwxNjMsMTk1LDIyNywyNTgsMCwwXTt2YXIgdT1bMTYsMTYsMTYsMTYsMTYsMTYsMTYsMTYsMTcsMTcsMTcsMTcsMTgsMTgsMTgsMTgsMTksMTksMTksMTksMjAsMjAsMjAsMjAsMjEsMjEsMjEsMjEsMTYsNzIsNzhdO3ZhciBoPVsxLDIsMyw0LDUsNyw5LDEzLDE3LDI1LDMzLDQ5LDY1LDk3LDEyOSwxOTMsMjU3LDM4NSw1MTMsNzY5LDEwMjUsMTUzNywyMDQ5LDMwNzMsNDA5Nyw2MTQ1LDgxOTMsMTIyODksMTYzODUsMjQ1NzcsMCwwXTt2YXIgZD1bMTYsMTYsMTYsMTYsMTcsMTcsMTgsMTgsMTksMTksMjAsMjAsMjEsMjEsMjIsMjIsMjMsMjMsMjQsMjQsMjUsMjUsMjYsMjYsMjcsMjcsMjgsMjgsMjksMjksNjQsNjRdO3IuZXhwb3J0cz1mdW5jdGlvbiB2KGUscix0LHAsbSxiLGcsdyl7dmFyIGs9dy5iaXRzO3ZhciBFPTA7dmFyIFM9MDt2YXIgXz0wLEM9MDt2YXIgQj0wO3ZhciBUPTA7dmFyIHk9MDt2YXIgeD0wO3ZhciBBPTA7dmFyIEk9MDt2YXIgUjt2YXIgTzt2YXIgRDt2YXIgRjt2YXIgUDt2YXIgTj1udWxsO3ZhciBMPTA7dmFyIE07dmFyIFU9bmV3IGEuQnVmMTYobisxKTt2YXIgej1uZXcgYS5CdWYxNihuKzEpO3ZhciBIPW51bGw7dmFyIFc9MDt2YXIgVixYLEc7Zm9yKEU9MDtFPD1uO0UrKyl7VVtFXT0wfWZvcihTPTA7UzxwO1MrKyl7VVtyW3QrU11dKyt9Qj1rO2ZvcihDPW47Qz49MTtDLS0pe2lmKFVbQ10hPT0wKXticmVha319aWYoQj5DKXtCPUN9aWYoQz09PTApe21bYisrXT0xPDwyNHw2NDw8MTZ8MDttW2IrK109MTw8MjR8NjQ8PDE2fDA7dy5iaXRzPTE7cmV0dXJuIDB9Zm9yKF89MTtfPEM7XysrKXtpZihVW19dIT09MCl7YnJlYWt9fWlmKEI8Xyl7Qj1ffXg9MTtmb3IoRT0xO0U8PW47RSsrKXt4PDw9MTt4LT1VW0VdO2lmKHg8MCl7cmV0dXJuLTF9fWlmKHg+MCYmKGU9PT1mfHxDIT09MSkpe3JldHVybi0xfXpbMV09MDtmb3IoRT0xO0U8bjtFKyspe3pbRSsxXT16W0VdK1VbRV19Zm9yKFM9MDtTPHA7UysrKXtpZihyW3QrU10hPT0wKXtnW3pbclt0K1NdXSsrXT1TfX1pZihlPT09Zil7Tj1IPWc7TT0xOX1lbHNlIGlmKGU9PT1vKXtOPWM7TC09MjU3O0g9dTtXLT0yNTc7TT0yNTZ9ZWxzZXtOPWg7SD1kO009LTF9ST0wO1M9MDtFPV87UD1iO1Q9Qjt5PTA7RD0tMTtBPTE8PEI7Rj1BLTE7aWYoZT09PW8mJkE+aXx8ZT09PWwmJkE+cyl7cmV0dXJuIDF9dmFyIGo9MDtmb3IoOzspe2orKztWPUUteTtpZihnW1NdPE0pe1g9MDtHPWdbU119ZWxzZSBpZihnW1NdPk0pe1g9SFtXK2dbU11dO0c9TltMK2dbU11dfWVsc2V7WD0zMis2NDtHPTB9Uj0xPDxFLXk7Tz0xPDxUO189Tztkb3tPLT1SO21bUCsoST4+eSkrT109Vjw8MjR8WDw8MTZ8R3wwfXdoaWxlKE8hPT0wKTtSPTE8PEUtMTt3aGlsZShJJlIpe1I+Pj0xfWlmKFIhPT0wKXtJJj1SLTE7SSs9Un1lbHNle0k9MH1TKys7aWYoLS1VW0VdPT09MCl7aWYoRT09PUMpe2JyZWFrfUU9clt0K2dbU11dfWlmKEU+QiYmKEkmRikhPT1EKXtpZih5PT09MCl7eT1CfVArPV87VD1FLXk7eD0xPDxUO3doaWxlKFQreTxDKXt4LT1VW1QreV07aWYoeDw9MCl7YnJlYWt9VCsrO3g8PD0xfUErPTE8PFQ7aWYoZT09PW8mJkE+aXx8ZT09PWwmJkE+cyl7cmV0dXJuIDF9RD1JJkY7bVtEXT1CPDwyNHxUPDwxNnxQLWJ8MH19aWYoSSE9PTApe21bUCtJXT1FLXk8PDI0fDY0PDwxNnwwfXcuYml0cz1CO3JldHVybiAwfX0se1xcXCIuLi91dGlscy9jb21tb25cXFwiOjI3fV0sMzc6W2Z1bmN0aW9uKGUscix0KXtcXFwidXNlIHN0cmljdFxcXCI7ci5leHBvcnRzPXsyOlxcXCJuZWVkIGRpY3Rpb25hcnlcXFwiLDE6XFxcInN0cmVhbSBlbmRcXFwiLDA6XFxcIlxcXCIsXFxcIi0xXFxcIjpcXFwiZmlsZSBlcnJvclxcXCIsXFxcIi0yXFxcIjpcXFwic3RyZWFtIGVycm9yXFxcIixcXFwiLTNcXFwiOlxcXCJkYXRhIGVycm9yXFxcIixcXFwiLTRcXFwiOlxcXCJpbnN1ZmZpY2llbnQgbWVtb3J5XFxcIixcXFwiLTVcXFwiOlxcXCJidWZmZXIgZXJyb3JcXFwiLFxcXCItNlxcXCI6XFxcImluY29tcGF0aWJsZSB2ZXJzaW9uXFxcIn19LHt9XSwzODpbZnVuY3Rpb24oZSxyLHQpe1xcXCJ1c2Ugc3RyaWN0XFxcIjt2YXIgYT1lKFxcXCIuLi91dGlscy9jb21tb25cXFwiKTt2YXIgbj00O3ZhciBpPTA7dmFyIHM9MTt2YXIgZj0yO2Z1bmN0aW9uIG8oZSl7dmFyIHI9ZS5sZW5ndGg7d2hpbGUoLS1yPj0wKXtlW3JdPTB9fXZhciBsPTA7dmFyIGM9MTt2YXIgdT0yO3ZhciBoPTM7dmFyIGQ9MjU4O3ZhciB2PTI5O3ZhciBwPTI1Njt2YXIgbT1wKzErdjt2YXIgYj0zMDt2YXIgZz0xOTt2YXIgdz0yKm0rMTt2YXIgaz0xNTt2YXIgRT0xNjt2YXIgUz03O3ZhciBfPTI1Njt2YXIgQz0xNjt2YXIgQj0xNzt2YXIgVD0xODt2YXIgeT1bMCwwLDAsMCwwLDAsMCwwLDEsMSwxLDEsMiwyLDIsMiwzLDMsMywzLDQsNCw0LDQsNSw1LDUsNSwwXTt2YXIgeD1bMCwwLDAsMCwxLDEsMiwyLDMsMyw0LDQsNSw1LDYsNiw3LDcsOCw4LDksOSwxMCwxMCwxMSwxMSwxMiwxMiwxMywxM107dmFyIEE9WzAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMiwzLDddO3ZhciBJPVsxNiwxNywxOCwwLDgsNyw5LDYsMTAsNSwxMSw0LDEyLDMsMTMsMiwxNCwxLDE1XTt2YXIgUj01MTI7dmFyIE89bmV3IEFycmF5KChtKzIpKjIpO28oTyk7dmFyIEQ9bmV3IEFycmF5KGIqMik7byhEKTt2YXIgRj1uZXcgQXJyYXkoUik7byhGKTt2YXIgUD1uZXcgQXJyYXkoZC1oKzEpO28oUCk7dmFyIE49bmV3IEFycmF5KHYpO28oTik7dmFyIEw9bmV3IEFycmF5KGIpO28oTCk7dmFyIE09ZnVuY3Rpb24oZSxyLHQsYSxuKXt0aGlzLnN0YXRpY190cmVlPWU7dGhpcy5leHRyYV9iaXRzPXI7dGhpcy5leHRyYV9iYXNlPXQ7dGhpcy5lbGVtcz1hO3RoaXMubWF4X2xlbmd0aD1uO3RoaXMuaGFzX3N0cmVlPWUmJmUubGVuZ3RofTt2YXIgVTt2YXIgejt2YXIgSDt2YXIgVz1mdW5jdGlvbihlLHIpe3RoaXMuZHluX3RyZWU9ZTt0aGlzLm1heF9jb2RlPTA7dGhpcy5zdGF0X2Rlc2M9cn07ZnVuY3Rpb24gVihlKXtyZXR1cm4gZTwyNTY/RltlXTpGWzI1NisoZT4+PjcpXX1mdW5jdGlvbiBYKGUscil7ZS5wZW5kaW5nX2J1ZltlLnBlbmRpbmcrK109ciYyNTU7ZS5wZW5kaW5nX2J1ZltlLnBlbmRpbmcrK109cj4+PjgmMjU1fWZ1bmN0aW9uIEcoZSxyLHQpe2lmKGUuYmlfdmFsaWQ+RS10KXtlLmJpX2J1Znw9cjw8ZS5iaV92YWxpZCY2NTUzNTtYKGUsZS5iaV9idWYpO2UuYmlfYnVmPXI+PkUtZS5iaV92YWxpZDtlLmJpX3ZhbGlkKz10LUV9ZWxzZXtlLmJpX2J1Znw9cjw8ZS5iaV92YWxpZCY2NTUzNTtlLmJpX3ZhbGlkKz10fX1mdW5jdGlvbiBqKGUscix0KXtHKGUsdFtyKjJdLHRbcioyKzFdKX1mdW5jdGlvbiBLKGUscil7dmFyIHQ9MDtkb3t0fD1lJjE7ZT4+Pj0xO3Q8PD0xfXdoaWxlKC0tcj4wKTtyZXR1cm4gdD4+PjF9ZnVuY3Rpb24gJChlKXtpZihlLmJpX3ZhbGlkPT09MTYpe1goZSxlLmJpX2J1Zik7ZS5iaV9idWY9MDtlLmJpX3ZhbGlkPTB9ZWxzZSBpZihlLmJpX3ZhbGlkPj04KXtlLnBlbmRpbmdfYnVmW2UucGVuZGluZysrXT1lLmJpX2J1ZiYyNTU7ZS5iaV9idWY+Pj04O2UuYmlfdmFsaWQtPTh9fWZ1bmN0aW9uIFkoZSxyKXt2YXIgdD1yLmR5bl90cmVlO3ZhciBhPXIubWF4X2NvZGU7dmFyIG49ci5zdGF0X2Rlc2Muc3RhdGljX3RyZWU7dmFyIGk9ci5zdGF0X2Rlc2MuaGFzX3N0cmVlO3ZhciBzPXIuc3RhdF9kZXNjLmV4dHJhX2JpdHM7dmFyIGY9ci5zdGF0X2Rlc2MuZXh0cmFfYmFzZTt2YXIgbz1yLnN0YXRfZGVzYy5tYXhfbGVuZ3RoO3ZhciBsO3ZhciBjLHU7dmFyIGg7dmFyIGQ7dmFyIHY7dmFyIHA9MDtmb3IoaD0wO2g8PWs7aCsrKXtlLmJsX2NvdW50W2hdPTB9dFtlLmhlYXBbZS5oZWFwX21heF0qMisxXT0wO2ZvcihsPWUuaGVhcF9tYXgrMTtsPHc7bCsrKXtjPWUuaGVhcFtsXTtoPXRbdFtjKjIrMV0qMisxXSsxO2lmKGg+byl7aD1vO3ArK310W2MqMisxXT1oO2lmKGM+YSl7Y29udGludWV9ZS5ibF9jb3VudFtoXSsrO2Q9MDtpZihjPj1mKXtkPXNbYy1mXX12PXRbYyoyXTtlLm9wdF9sZW4rPXYqKGgrZCk7aWYoaSl7ZS5zdGF0aWNfbGVuKz12KihuW2MqMisxXStkKX19aWYocD09PTApe3JldHVybn1kb3toPW8tMTt3aGlsZShlLmJsX2NvdW50W2hdPT09MCl7aC0tfWUuYmxfY291bnRbaF0tLTtlLmJsX2NvdW50W2grMV0rPTI7ZS5ibF9jb3VudFtvXS0tO3AtPTJ9d2hpbGUocD4wKTtmb3IoaD1vO2ghPT0wO2gtLSl7Yz1lLmJsX2NvdW50W2hdO3doaWxlKGMhPT0wKXt1PWUuaGVhcFstLWxdO2lmKHU+YSl7Y29udGludWV9aWYodFt1KjIrMV0hPT1oKXtlLm9wdF9sZW4rPShoLXRbdSoyKzFdKSp0W3UqMl07dFt1KjIrMV09aH1jLS19fX1mdW5jdGlvbiBaKGUscix0KXt2YXIgYT1uZXcgQXJyYXkoaysxKTt2YXIgbj0wO3ZhciBpO3ZhciBzO2ZvcihpPTE7aTw9aztpKyspe2FbaV09bj1uK3RbaS0xXTw8MX1mb3Iocz0wO3M8PXI7cysrKXt2YXIgZj1lW3MqMisxXTtpZihmPT09MCl7Y29udGludWV9ZVtzKjJdPUsoYVtmXSsrLGYpfX1mdW5jdGlvbiBKKCl7dmFyIGU7dmFyIHI7dmFyIHQ7dmFyIGE7dmFyIG47dmFyIGk9bmV3IEFycmF5KGsrMSk7dD0wO2ZvcihhPTA7YTx2LTE7YSsrKXtOW2FdPXQ7Zm9yKGU9MDtlPDE8PHlbYV07ZSsrKXtQW3QrK109YX19UFt0LTFdPWE7bj0wO2ZvcihhPTA7YTwxNjthKyspe0xbYV09bjtmb3IoZT0wO2U8MTw8eFthXTtlKyspe0ZbbisrXT1hfX1uPj49Nztmb3IoO2E8YjthKyspe0xbYV09bjw8Nztmb3IoZT0wO2U8MTw8eFthXS03O2UrKyl7RlsyNTYrbisrXT1hfX1mb3Iocj0wO3I8PWs7cisrKXtpW3JdPTB9ZT0wO3doaWxlKGU8PTE0Myl7T1tlKjIrMV09ODtlKys7aVs4XSsrfXdoaWxlKGU8PTI1NSl7T1tlKjIrMV09OTtlKys7aVs5XSsrfXdoaWxlKGU8PTI3OSl7T1tlKjIrMV09NztlKys7aVs3XSsrfXdoaWxlKGU8PTI4Nyl7T1tlKjIrMV09ODtlKys7aVs4XSsrfVooTyxtKzEsaSk7Zm9yKGU9MDtlPGI7ZSsrKXtEW2UqMisxXT01O0RbZSoyXT1LKGUsNSl9VT1uZXcgTShPLHkscCsxLG0sayk7ej1uZXcgTShELHgsMCxiLGspO0g9bmV3IE0obmV3IEFycmF5KDApLEEsMCxnLFMpfWZ1bmN0aW9uIFEoZSl7dmFyIHI7Zm9yKHI9MDtyPG07cisrKXtlLmR5bl9sdHJlZVtyKjJdPTB9Zm9yKHI9MDtyPGI7cisrKXtlLmR5bl9kdHJlZVtyKjJdPTB9Zm9yKHI9MDtyPGc7cisrKXtlLmJsX3RyZWVbcioyXT0wfWUuZHluX2x0cmVlW18qMl09MTtlLm9wdF9sZW49ZS5zdGF0aWNfbGVuPTA7ZS5sYXN0X2xpdD1lLm1hdGNoZXM9MH1mdW5jdGlvbiBxKGUpe2lmKGUuYmlfdmFsaWQ+OCl7WChlLGUuYmlfYnVmKX1lbHNlIGlmKGUuYmlfdmFsaWQ+MCl7ZS5wZW5kaW5nX2J1ZltlLnBlbmRpbmcrK109ZS5iaV9idWZ9ZS5iaV9idWY9MDtlLmJpX3ZhbGlkPTB9ZnVuY3Rpb24gZWUoZSxyLHQsbil7cShlKTtpZihuKXtYKGUsdCk7WChlLH50KX1hLmFycmF5U2V0KGUucGVuZGluZ19idWYsZS53aW5kb3cscix0LGUucGVuZGluZyk7ZS5wZW5kaW5nKz10fWZ1bmN0aW9uIHJlKGUscix0LGEpe3ZhciBuPXIqMjt2YXIgaT10KjI7cmV0dXJuIGVbbl08ZVtpXXx8ZVtuXT09PWVbaV0mJmFbcl08PWFbdF19ZnVuY3Rpb24gdGUoZSxyLHQpe3ZhciBhPWUuaGVhcFt0XTt2YXIgbj10PDwxO3doaWxlKG48PWUuaGVhcF9sZW4pe2lmKG48ZS5oZWFwX2xlbiYmcmUocixlLmhlYXBbbisxXSxlLmhlYXBbbl0sZS5kZXB0aCkpe24rK31pZihyZShyLGEsZS5oZWFwW25dLGUuZGVwdGgpKXticmVha31lLmhlYXBbdF09ZS5oZWFwW25dO3Q9bjtuPDw9MX1lLmhlYXBbdF09YX1mdW5jdGlvbiBhZShlLHIsdCl7dmFyIGE7dmFyIG47dmFyIGk9MDt2YXIgczt2YXIgZjtpZihlLmxhc3RfbGl0IT09MCl7ZG97YT1lLnBlbmRpbmdfYnVmW2UuZF9idWYraSoyXTw8OHxlLnBlbmRpbmdfYnVmW2UuZF9idWYraSoyKzFdO249ZS5wZW5kaW5nX2J1ZltlLmxfYnVmK2ldO2krKztpZihhPT09MCl7aihlLG4scil9ZWxzZXtzPVBbbl07aihlLHMrcCsxLHIpO2Y9eVtzXTtpZihmIT09MCl7bi09TltzXTtHKGUsbixmKX1hLS07cz1WKGEpO2ooZSxzLHQpO2Y9eFtzXTtpZihmIT09MCl7YS09TFtzXTtHKGUsYSxmKX19fXdoaWxlKGk8ZS5sYXN0X2xpdCl9aihlLF8scil9ZnVuY3Rpb24gbmUoZSxyKXt2YXIgdD1yLmR5bl90cmVlO3ZhciBhPXIuc3RhdF9kZXNjLnN0YXRpY190cmVlO3ZhciBuPXIuc3RhdF9kZXNjLmhhc19zdHJlZTt2YXIgaT1yLnN0YXRfZGVzYy5lbGVtczt2YXIgcyxmO3ZhciBvPS0xO3ZhciBsO2UuaGVhcF9sZW49MDtlLmhlYXBfbWF4PXc7Zm9yKHM9MDtzPGk7cysrKXtpZih0W3MqMl0hPT0wKXtlLmhlYXBbKytlLmhlYXBfbGVuXT1vPXM7ZS5kZXB0aFtzXT0wfWVsc2V7dFtzKjIrMV09MH19d2hpbGUoZS5oZWFwX2xlbjwyKXtsPWUuaGVhcFsrK2UuaGVhcF9sZW5dPW88Mj8rK286MDt0W2wqMl09MTtlLmRlcHRoW2xdPTA7ZS5vcHRfbGVuLS07aWYobil7ZS5zdGF0aWNfbGVuLT1hW2wqMisxXX19ci5tYXhfY29kZT1vO2ZvcihzPWUuaGVhcF9sZW4+PjE7cz49MTtzLS0pe3RlKGUsdCxzKX1sPWk7ZG97cz1lLmhlYXBbMV07ZS5oZWFwWzFdPWUuaGVhcFtlLmhlYXBfbGVuLS1dO3RlKGUsdCwxKTtmPWUuaGVhcFsxXTtlLmhlYXBbLS1lLmhlYXBfbWF4XT1zO2UuaGVhcFstLWUuaGVhcF9tYXhdPWY7dFtsKjJdPXRbcyoyXSt0W2YqMl07ZS5kZXB0aFtsXT0oZS5kZXB0aFtzXT49ZS5kZXB0aFtmXT9lLmRlcHRoW3NdOmUuZGVwdGhbZl0pKzE7dFtzKjIrMV09dFtmKjIrMV09bDtlLmhlYXBbMV09bCsrO3RlKGUsdCwxKX13aGlsZShlLmhlYXBfbGVuPj0yKTtlLmhlYXBbLS1lLmhlYXBfbWF4XT1lLmhlYXBbMV07WShlLHIpO1oodCxvLGUuYmxfY291bnQpfWZ1bmN0aW9uIGllKGUscix0KXt2YXIgYTt2YXIgbj0tMTt2YXIgaTt2YXIgcz1yWzAqMisxXTt2YXIgZj0wO3ZhciBvPTc7dmFyIGw9NDtpZihzPT09MCl7bz0xMzg7bD0zfXJbKHQrMSkqMisxXT02NTUzNTtmb3IoYT0wO2E8PXQ7YSsrKXtpPXM7cz1yWyhhKzEpKjIrMV07aWYoKytmPG8mJmk9PT1zKXtjb250aW51ZX1lbHNlIGlmKGY8bCl7ZS5ibF90cmVlW2kqMl0rPWZ9ZWxzZSBpZihpIT09MCl7aWYoaSE9PW4pe2UuYmxfdHJlZVtpKjJdKyt9ZS5ibF90cmVlW0MqMl0rK31lbHNlIGlmKGY8PTEwKXtlLmJsX3RyZWVbQioyXSsrfWVsc2V7ZS5ibF90cmVlW1QqMl0rK31mPTA7bj1pO2lmKHM9PT0wKXtvPTEzODtsPTN9ZWxzZSBpZihpPT09cyl7bz02O2w9M31lbHNle289NztsPTR9fX1mdW5jdGlvbiBzZShlLHIsdCl7dmFyIGE7dmFyIG49LTE7dmFyIGk7dmFyIHM9clswKjIrMV07dmFyIGY9MDt2YXIgbz03O3ZhciBsPTQ7aWYocz09PTApe289MTM4O2w9M31mb3IoYT0wO2E8PXQ7YSsrKXtpPXM7cz1yWyhhKzEpKjIrMV07aWYoKytmPG8mJmk9PT1zKXtjb250aW51ZX1lbHNlIGlmKGY8bCl7ZG97aihlLGksZS5ibF90cmVlKX13aGlsZSgtLWYhPT0wKX1lbHNlIGlmKGkhPT0wKXtpZihpIT09bil7aihlLGksZS5ibF90cmVlKTtmLS19aihlLEMsZS5ibF90cmVlKTtHKGUsZi0zLDIpfWVsc2UgaWYoZjw9MTApe2ooZSxCLGUuYmxfdHJlZSk7RyhlLGYtMywzKX1lbHNle2ooZSxULGUuYmxfdHJlZSk7RyhlLGYtMTEsNyl9Zj0wO249aTtpZihzPT09MCl7bz0xMzg7bD0zfWVsc2UgaWYoaT09PXMpe289NjtsPTN9ZWxzZXtvPTc7bD00fX19ZnVuY3Rpb24gZmUoZSl7dmFyIHI7aWUoZSxlLmR5bl9sdHJlZSxlLmxfZGVzYy5tYXhfY29kZSk7aWUoZSxlLmR5bl9kdHJlZSxlLmRfZGVzYy5tYXhfY29kZSk7bmUoZSxlLmJsX2Rlc2MpO2ZvcihyPWctMTtyPj0zO3ItLSl7aWYoZS5ibF90cmVlW0lbcl0qMisxXSE9PTApe2JyZWFrfX1lLm9wdF9sZW4rPTMqKHIrMSkrNSs1KzQ7cmV0dXJuIHJ9ZnVuY3Rpb24gb2UoZSxyLHQsYSl7dmFyIG47RyhlLHItMjU3LDUpO0coZSx0LTEsNSk7RyhlLGEtNCw0KTtmb3Iobj0wO248YTtuKyspe0coZSxlLmJsX3RyZWVbSVtuXSoyKzFdLDMpfXNlKGUsZS5keW5fbHRyZWUsci0xKTtzZShlLGUuZHluX2R0cmVlLHQtMSl9ZnVuY3Rpb24gbGUoZSl7dmFyIHI9NDA5MzYyNDQ0Nzt2YXIgdDtmb3IodD0wO3Q8PTMxO3QrKyxyPj4+PTEpe2lmKHImMSYmZS5keW5fbHRyZWVbdCoyXSE9PTApe3JldHVybiBpfX1pZihlLmR5bl9sdHJlZVs5KjJdIT09MHx8ZS5keW5fbHRyZWVbMTAqMl0hPT0wfHxlLmR5bl9sdHJlZVsxMyoyXSE9PTApe3JldHVybiBzfWZvcih0PTMyO3Q8cDt0Kyspe2lmKGUuZHluX2x0cmVlW3QqMl0hPT0wKXtyZXR1cm4gc319cmV0dXJuIGl9dmFyIGNlPWZhbHNlO2Z1bmN0aW9uIHVlKGUpe2lmKCFjZSl7SigpO2NlPXRydWV9ZS5sX2Rlc2M9bmV3IFcoZS5keW5fbHRyZWUsVSk7ZS5kX2Rlc2M9bmV3IFcoZS5keW5fZHRyZWUseik7ZS5ibF9kZXNjPW5ldyBXKGUuYmxfdHJlZSxIKTtlLmJpX2J1Zj0wO2UuYmlfdmFsaWQ9MDtRKGUpfWZ1bmN0aW9uIGhlKGUscix0LGEpe0coZSwobDw8MSkrKGE/MTowKSwzKTtlZShlLHIsdCx0cnVlKX1mdW5jdGlvbiBkZShlKXtHKGUsYzw8MSwzKTtqKGUsXyxPKTskKGUpfWZ1bmN0aW9uIHZlKGUscix0LGEpe3ZhciBpLHM7dmFyIG89MDtpZihlLmxldmVsPjApe2lmKGUuc3RybS5kYXRhX3R5cGU9PT1mKXtlLnN0cm0uZGF0YV90eXBlPWxlKGUpfW5lKGUsZS5sX2Rlc2MpO25lKGUsZS5kX2Rlc2MpO289ZmUoZSk7aT1lLm9wdF9sZW4rMys3Pj4+MztzPWUuc3RhdGljX2xlbiszKzc+Pj4zO2lmKHM8PWkpe2k9c319ZWxzZXtpPXM9dCs1fWlmKHQrNDw9aSYmciE9PS0xKXtoZShlLHIsdCxhKX1lbHNlIGlmKGUuc3RyYXRlZ3k9PT1ufHxzPT09aSl7RyhlLChjPDwxKSsoYT8xOjApLDMpO2FlKGUsTyxEKX1lbHNle0coZSwodTw8MSkrKGE/MTowKSwzKTtvZShlLGUubF9kZXNjLm1heF9jb2RlKzEsZS5kX2Rlc2MubWF4X2NvZGUrMSxvKzEpO2FlKGUsZS5keW5fbHRyZWUsZS5keW5fZHRyZWUpfVEoZSk7aWYoYSl7cShlKX19ZnVuY3Rpb24gcGUoZSxyLHQpe2UucGVuZGluZ19idWZbZS5kX2J1ZitlLmxhc3RfbGl0KjJdPXI+Pj44JjI1NTtlLnBlbmRpbmdfYnVmW2UuZF9idWYrZS5sYXN0X2xpdCoyKzFdPXImMjU1O2UucGVuZGluZ19idWZbZS5sX2J1ZitlLmxhc3RfbGl0XT10JjI1NTtlLmxhc3RfbGl0Kys7aWYocj09PTApe2UuZHluX2x0cmVlW3QqMl0rK31lbHNle2UubWF0Y2hlcysrO3ItLTtlLmR5bl9sdHJlZVsoUFt0XStwKzEpKjJdKys7ZS5keW5fZHRyZWVbVihyKSoyXSsrfXJldHVybiBlLmxhc3RfbGl0PT09ZS5saXRfYnVmc2l6ZS0xfXQuX3RyX2luaXQ9dWU7dC5fdHJfc3RvcmVkX2Jsb2NrPWhlO3QuX3RyX2ZsdXNoX2Jsb2NrPXZlO3QuX3RyX3RhbGx5PXBlO3QuX3RyX2FsaWduPWRlfSx7XFxcIi4uL3V0aWxzL2NvbW1vblxcXCI6Mjd9XSwzOTpbZnVuY3Rpb24oZSxyLHQpe1xcXCJ1c2Ugc3RyaWN0XFxcIjtmdW5jdGlvbiBhKCl7dGhpcy5pbnB1dD1udWxsO3RoaXMubmV4dF9pbj0wO3RoaXMuYXZhaWxfaW49MDt0aGlzLnRvdGFsX2luPTA7dGhpcy5vdXRwdXQ9bnVsbDt0aGlzLm5leHRfb3V0PTA7dGhpcy5hdmFpbF9vdXQ9MDt0aGlzLnRvdGFsX291dD0wO3RoaXMubXNnPVxcXCJcXFwiO3RoaXMuc3RhdGU9bnVsbDt0aGlzLmRhdGFfdHlwZT0yO3RoaXMuYWRsZXI9MH1yLmV4cG9ydHM9YX0se31dfSx7fSxbOV0pKDkpfSk7dmFyIFhMU1g9e307ZnVuY3Rpb24gbWFrZV94bHN4X2xpYihlKXtlLnZlcnNpb249XFxcIjAuMTYuOVxcXCI7dmFyIHI9MTIwMCx0PTEyNTI7aWYodHlwZW9mIG1vZHVsZSE9PVxcXCJ1bmRlZmluZWRcXFwiJiZ0eXBlb2YgcmVxdWlyZSE9PVxcXCJ1bmRlZmluZWRcXFwiKXtpZih0eXBlb2YgY3B0YWJsZT09PVxcXCJ1bmRlZmluZWRcXFwiKXtpZih0eXBlb2YgZ2xvYmFsIT09XFxcInVuZGVmaW5lZFxcXCIpZ2xvYmFsLmNwdGFibGU9dW5kZWZpbmVkO2Vsc2UgaWYodHlwZW9mIHdpbmRvdyE9PVxcXCJ1bmRlZmluZWRcXFwiKXdpbmRvdy5jcHRhYmxlPXVuZGVmaW5lZH19dmFyIGE9Wzg3NCw5MzIsOTM2LDk0OSw5NTBdO2Zvcih2YXIgbj0wO248PTg7KytuKWEucHVzaCgxMjUwK24pO3ZhciBpPXswOjEyNTIsMTo2NTAwMSwyOjY1MDAxLDc3OjFlNCwxMjg6OTMyLDEyOTo5NDksMTMwOjEzNjEsMTM0OjkzNiwxMzY6OTUwLDE2MToxMjUzLDE2MjoxMjU0LDE2MzoxMjU4LDE3NzoxMjU1LDE3ODoxMjU2LDE4NjoxMjU3LDIwNDoxMjUxLDIyMjo4NzQsMjM4OjEyNTAsMjU1OjEyNTIsNjk6Njk2OX07dmFyIHM9ZnVuY3Rpb24oZSl7aWYoYS5pbmRleE9mKGUpPT0tMSlyZXR1cm47dD1pWzBdPWV9O2Z1bmN0aW9uIGYoKXtzKDEyNTIpfXZhciBvPWZ1bmN0aW9uKGUpe3I9ZTtzKGUpfTtmdW5jdGlvbiBsKCl7bygxMjAwKTtmKCl9ZnVuY3Rpb24gYyhlKXt2YXIgcj1bXTtmb3IodmFyIHQ9MCxhPWUubGVuZ3RoO3Q8YTsrK3Qpclt0XT1lLmNoYXJDb2RlQXQodCk7cmV0dXJuIHJ9ZnVuY3Rpb24gdShlKXt2YXIgcj1bXTtmb3IodmFyIHQ9MDt0PGUubGVuZ3RoPj4xOysrdClyW3RdPVN0cmluZy5mcm9tQ2hhckNvZGUoZS5jaGFyQ29kZUF0KDIqdCkrKGUuY2hhckNvZGVBdCgyKnQrMSk8PDgpKTtyZXR1cm4gci5qb2luKFxcXCJcXFwiKX1mdW5jdGlvbiBoKGUpe3ZhciByPVtdO2Zvcih2YXIgdD0wO3Q8ZS5sZW5ndGg+PjE7Kyt0KXJbdF09U3RyaW5nLmZyb21DaGFyQ29kZShlLmNoYXJDb2RlQXQoMip0KzEpKyhlLmNoYXJDb2RlQXQoMip0KTw8OCkpO3JldHVybiByLmpvaW4oXFxcIlxcXCIpfXZhciBkPWZ1bmN0aW9uKGUpe3ZhciByPWUuY2hhckNvZGVBdCgwKSx0PWUuY2hhckNvZGVBdCgxKTtpZihyPT0yNTUmJnQ9PTI1NClyZXR1cm4gdShlLnNsaWNlKDIpKTtpZihyPT0yNTQmJnQ9PTI1NSlyZXR1cm4gaChlLnNsaWNlKDIpKTtpZihyPT02NTI3OSlyZXR1cm4gZS5zbGljZSgxKTtyZXR1cm4gZX07dmFyIHY9ZnVuY3Rpb24gY2IoZSl7cmV0dXJuIFN0cmluZy5mcm9tQ2hhckNvZGUoZSl9O3ZhciBwPWZ1bmN0aW9uIHViKGUpe3JldHVybiBTdHJpbmcuZnJvbUNoYXJDb2RlKGUpfTtpZih0eXBlb2YgY3B0YWJsZSE9PVxcXCJ1bmRlZmluZWRcXFwiKXtvPWZ1bmN0aW9uKGUpe3I9ZTtzKGUpfTtkPWZ1bmN0aW9uKGUpe2lmKGUuY2hhckNvZGVBdCgwKT09PTI1NSYmZS5jaGFyQ29kZUF0KDEpPT09MjU0KXtyZXR1cm4gY3B0YWJsZS51dGlscy5kZWNvZGUoMTIwMCxjKGUuc2xpY2UoMikpKX1yZXR1cm4gZX07dj1mdW5jdGlvbiBoYihlKXtpZihyPT09MTIwMClyZXR1cm4gU3RyaW5nLmZyb21DaGFyQ29kZShlKTtyZXR1cm4gY3B0YWJsZS51dGlscy5kZWNvZGUocixbZSYyNTUsZT4+OF0pWzBdfTtwPWZ1bmN0aW9uIGRiKGUpe3JldHVybiBjcHRhYmxlLnV0aWxzLmRlY29kZSh0LFtlXSlbMF19fXZhciBtPW51bGw7dmFyIGI9dHJ1ZTt2YXIgZz1mdW5jdGlvbiB2Yigpe3ZhciBlPVxcXCJBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWmFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6MDEyMzQ1Njc4OSsvPVxcXCI7cmV0dXJue2VuY29kZTpmdW5jdGlvbihyKXt2YXIgdD1cXFwiXFxcIjt2YXIgYT0wLG49MCxpPTAscz0wLGY9MCxvPTAsbD0wO2Zvcih2YXIgYz0wO2M8ci5sZW5ndGg7KXthPXIuY2hhckNvZGVBdChjKyspO3M9YT4+MjtuPXIuY2hhckNvZGVBdChjKyspO2Y9KGEmMyk8PDR8bj4+NDtpPXIuY2hhckNvZGVBdChjKyspO289KG4mMTUpPDwyfGk+PjY7bD1pJjYzO2lmKGlzTmFOKG4pKXtvPWw9NjR9ZWxzZSBpZihpc05hTihpKSl7bD02NH10Kz1lLmNoYXJBdChzKStlLmNoYXJBdChmKStlLmNoYXJBdChvKStlLmNoYXJBdChsKX1yZXR1cm4gdH0sZGVjb2RlOmZ1bmN0aW9uIHIodCl7dmFyIGE9XFxcIlxcXCI7dmFyIG49MCxpPTAscz0wLGY9MCxvPTAsbD0wLGM9MDt0PXQucmVwbGFjZSgvW15cXFxcd1xcXFwrXFxcXC9cXFxcPV0vZyxcXFwiXFxcIik7Zm9yKHZhciB1PTA7dTx0Lmxlbmd0aDspe2Y9ZS5pbmRleE9mKHQuY2hhckF0KHUrKykpO289ZS5pbmRleE9mKHQuY2hhckF0KHUrKykpO249Zjw8MnxvPj40O2ErPVN0cmluZy5mcm9tQ2hhckNvZGUobik7bD1lLmluZGV4T2YodC5jaGFyQXQodSsrKSk7aT0obyYxNSk8PDR8bD4+MjtpZihsIT09NjQpe2ErPVN0cmluZy5mcm9tQ2hhckNvZGUoaSl9Yz1lLmluZGV4T2YodC5jaGFyQXQodSsrKSk7cz0obCYzKTw8NnxjO2lmKGMhPT02NCl7YSs9U3RyaW5nLmZyb21DaGFyQ29kZShzKX19cmV0dXJuIGF9fX0oKTt2YXIgdz10eXBlb2YgQnVmZmVyIT09XFxcInVuZGVmaW5lZFxcXCImJnR5cGVvZiBwcm9jZXNzIT09XFxcInVuZGVmaW5lZFxcXCImJnR5cGVvZiBwcm9jZXNzLnZlcnNpb25zIT09XFxcInVuZGVmaW5lZFxcXCImJiEhcHJvY2Vzcy52ZXJzaW9ucy5ub2RlO3ZhciBrPWZ1bmN0aW9uKCl7fTtpZih0eXBlb2YgQnVmZmVyIT09XFxcInVuZGVmaW5lZFxcXCIpe3ZhciBFPSFCdWZmZXIuZnJvbTtpZighRSl0cnl7QnVmZmVyLmZyb20oXFxcImZvb1xcXCIsXFxcInV0ZjhcXFwiKX1jYXRjaChTKXtFPXRydWV9az1FP2Z1bmN0aW9uKGUscil7cmV0dXJuIHI/bmV3IEJ1ZmZlcihlLHIpOm5ldyBCdWZmZXIoZSl9OkJ1ZmZlci5mcm9tLmJpbmQoQnVmZmVyKTtpZighQnVmZmVyLmFsbG9jKUJ1ZmZlci5hbGxvYz1mdW5jdGlvbihlKXtyZXR1cm4gbmV3IEJ1ZmZlcihlKX07aWYoIUJ1ZmZlci5hbGxvY1Vuc2FmZSlCdWZmZXIuYWxsb2NVbnNhZmU9ZnVuY3Rpb24oZSl7cmV0dXJuIG5ldyBCdWZmZXIoZSl9fWZ1bmN0aW9uIF8oZSl7cmV0dXJuIHc/QnVmZmVyLmFsbG9jKGUpOm5ldyBBcnJheShlKX1mdW5jdGlvbiBDKGUpe3JldHVybiB3P0J1ZmZlci5hbGxvY1Vuc2FmZShlKTpuZXcgQXJyYXkoZSl9dmFyIEI9ZnVuY3Rpb24gcGIoZSl7aWYodylyZXR1cm4gayhlLFxcXCJiaW5hcnlcXFwiKTtyZXR1cm4gZS5zcGxpdChcXFwiXFxcIikubWFwKGZ1bmN0aW9uKGUpe3JldHVybiBlLmNoYXJDb2RlQXQoMCkmMjU1fSl9O2Z1bmN0aW9uIFQoZSl7aWYodHlwZW9mIEFycmF5QnVmZmVyPT09XFxcInVuZGVmaW5lZFxcXCIpcmV0dXJuIEIoZSk7dmFyIHI9bmV3IEFycmF5QnVmZmVyKGUubGVuZ3RoKSx0PW5ldyBVaW50OEFycmF5KHIpO2Zvcih2YXIgYT0wO2EhPWUubGVuZ3RoOysrYSl0W2FdPWUuY2hhckNvZGVBdChhKSYyNTU7cmV0dXJuIHJ9ZnVuY3Rpb24geShlKXtpZihBcnJheS5pc0FycmF5KGUpKXJldHVybiBlLm1hcChmdW5jdGlvbihlKXtyZXR1cm4gU3RyaW5nLmZyb21DaGFyQ29kZShlKX0pLmpvaW4oXFxcIlxcXCIpO3ZhciByPVtdO2Zvcih2YXIgdD0wO3Q8ZS5sZW5ndGg7Kyt0KXJbdF09U3RyaW5nLmZyb21DaGFyQ29kZShlW3RdKTtyZXR1cm4gci5qb2luKFxcXCJcXFwiKX1mdW5jdGlvbiB4KGUpe2lmKHR5cGVvZiBVaW50OEFycmF5PT09XFxcInVuZGVmaW5lZFxcXCIpdGhyb3cgbmV3IEVycm9yKFxcXCJVbnN1cHBvcnRlZFxcXCIpO3JldHVybiBuZXcgVWludDhBcnJheShlKX1mdW5jdGlvbiBBKGUpe2lmKHR5cGVvZiBBcnJheUJ1ZmZlcj09XFxcInVuZGVmaW5lZFxcXCIpdGhyb3cgbmV3IEVycm9yKFxcXCJVbnN1cHBvcnRlZFxcXCIpO2lmKGUgaW5zdGFuY2VvZiBBcnJheUJ1ZmZlcilyZXR1cm4gQShuZXcgVWludDhBcnJheShlKSk7dmFyIHI9bmV3IEFycmF5KGUubGVuZ3RoKTtmb3IodmFyIHQ9MDt0PGUubGVuZ3RoOysrdClyW3RdPWVbdF07cmV0dXJuIHJ9dmFyIEk9ZnVuY3Rpb24oZSl7cmV0dXJuW10uY29uY2F0LmFwcGx5KFtdLGUpfTt2YXIgUj0vXFxcXHUwMDAwL2csTz0vW1xcXFx1MDAwMS1cXFxcdTAwMDZdL2c7dmFyIEQ9e307dmFyIEY9ZnVuY3Rpb24gbWIoZSl7ZS52ZXJzaW9uPVxcXCIwLjExLjJcXFwiO2Z1bmN0aW9uIHIoZSl7dmFyIHI9XFxcIlxcXCIsdD1lLmxlbmd0aC0xO3doaWxlKHQ+PTApcis9ZS5jaGFyQXQodC0tKTtyZXR1cm4gcn1mdW5jdGlvbiB0KGUscil7dmFyIHQ9XFxcIlxcXCI7d2hpbGUodC5sZW5ndGg8cil0Kz1lO3JldHVybiB0fWZ1bmN0aW9uIGEoZSxyKXt2YXIgYT1cXFwiXFxcIitlO3JldHVybiBhLmxlbmd0aD49cj9hOnQoXFxcIjBcXFwiLHItYS5sZW5ndGgpK2F9ZnVuY3Rpb24gbihlLHIpe3ZhciBhPVxcXCJcXFwiK2U7cmV0dXJuIGEubGVuZ3RoPj1yP2E6dChcXFwiIFxcXCIsci1hLmxlbmd0aCkrYX1mdW5jdGlvbiBpKGUscil7dmFyIGE9XFxcIlxcXCIrZTtyZXR1cm4gYS5sZW5ndGg+PXI/YTphK3QoXFxcIiBcXFwiLHItYS5sZW5ndGgpfWZ1bmN0aW9uIHMoZSxyKXt2YXIgYT1cXFwiXFxcIitNYXRoLnJvdW5kKGUpO3JldHVybiBhLmxlbmd0aD49cj9hOnQoXFxcIjBcXFwiLHItYS5sZW5ndGgpK2F9ZnVuY3Rpb24gZihlLHIpe3ZhciBhPVxcXCJcXFwiK2U7cmV0dXJuIGEubGVuZ3RoPj1yP2E6dChcXFwiMFxcXCIsci1hLmxlbmd0aCkrYX12YXIgbz1NYXRoLnBvdygyLDMyKTtmdW5jdGlvbiBsKGUscil7aWYoZT5vfHxlPC1vKXJldHVybiBzKGUscik7dmFyIHQ9TWF0aC5yb3VuZChlKTtyZXR1cm4gZih0LHIpfWZ1bmN0aW9uIGMoZSxyKXtyPXJ8fDA7cmV0dXJuIGUubGVuZ3RoPj03K3ImJihlLmNoYXJDb2RlQXQocil8MzIpPT09MTAzJiYoZS5jaGFyQ29kZUF0KHIrMSl8MzIpPT09MTAxJiYoZS5jaGFyQ29kZUF0KHIrMil8MzIpPT09MTEwJiYoZS5jaGFyQ29kZUF0KHIrMyl8MzIpPT09MTAxJiYoZS5jaGFyQ29kZUF0KHIrNCl8MzIpPT09MTE0JiYoZS5jaGFyQ29kZUF0KHIrNSl8MzIpPT09OTcmJihlLmNoYXJDb2RlQXQocis2KXwzMik9PT0xMDh9dmFyIHU9W1tcXFwiU3VuXFxcIixcXFwiU3VuZGF5XFxcIl0sW1xcXCJNb25cXFwiLFxcXCJNb25kYXlcXFwiXSxbXFxcIlR1ZVxcXCIsXFxcIlR1ZXNkYXlcXFwiXSxbXFxcIldlZFxcXCIsXFxcIldlZG5lc2RheVxcXCJdLFtcXFwiVGh1XFxcIixcXFwiVGh1cnNkYXlcXFwiXSxbXFxcIkZyaVxcXCIsXFxcIkZyaWRheVxcXCJdLFtcXFwiU2F0XFxcIixcXFwiU2F0dXJkYXlcXFwiXV07dmFyIGg9W1tcXFwiSlxcXCIsXFxcIkphblxcXCIsXFxcIkphbnVhcnlcXFwiXSxbXFxcIkZcXFwiLFxcXCJGZWJcXFwiLFxcXCJGZWJydWFyeVxcXCJdLFtcXFwiTVxcXCIsXFxcIk1hclxcXCIsXFxcIk1hcmNoXFxcIl0sW1xcXCJBXFxcIixcXFwiQXByXFxcIixcXFwiQXByaWxcXFwiXSxbXFxcIk1cXFwiLFxcXCJNYXlcXFwiLFxcXCJNYXlcXFwiXSxbXFxcIkpcXFwiLFxcXCJKdW5cXFwiLFxcXCJKdW5lXFxcIl0sW1xcXCJKXFxcIixcXFwiSnVsXFxcIixcXFwiSnVseVxcXCJdLFtcXFwiQVxcXCIsXFxcIkF1Z1xcXCIsXFxcIkF1Z3VzdFxcXCJdLFtcXFwiU1xcXCIsXFxcIlNlcFxcXCIsXFxcIlNlcHRlbWJlclxcXCJdLFtcXFwiT1xcXCIsXFxcIk9jdFxcXCIsXFxcIk9jdG9iZXJcXFwiXSxbXFxcIk5cXFwiLFxcXCJOb3ZcXFwiLFxcXCJOb3ZlbWJlclxcXCJdLFtcXFwiRFxcXCIsXFxcIkRlY1xcXCIsXFxcIkRlY2VtYmVyXFxcIl1dO2Z1bmN0aW9uIGQoZSl7ZVswXT1cXFwiR2VuZXJhbFxcXCI7ZVsxXT1cXFwiMFxcXCI7ZVsyXT1cXFwiMC4wMFxcXCI7ZVszXT1cXFwiIywjIzBcXFwiO2VbNF09XFxcIiMsIyMwLjAwXFxcIjtlWzldPVxcXCIwJVxcXCI7ZVsxMF09XFxcIjAuMDAlXFxcIjtlWzExXT1cXFwiMC4wMEUrMDBcXFwiO2VbMTJdPVxcXCIjID8vP1xcXCI7ZVsxM109XFxcIiMgPz8vPz9cXFwiO2VbMTRdPVxcXCJtL2QveXlcXFwiO2VbMTVdPVxcXCJkLW1tbS15eVxcXCI7ZVsxNl09XFxcImQtbW1tXFxcIjtlWzE3XT1cXFwibW1tLXl5XFxcIjtlWzE4XT1cXFwiaDptbSBBTS9QTVxcXCI7ZVsxOV09XFxcImg6bW06c3MgQU0vUE1cXFwiO2VbMjBdPVxcXCJoOm1tXFxcIjtlWzIxXT1cXFwiaDptbTpzc1xcXCI7ZVsyMl09XFxcIm0vZC95eSBoOm1tXFxcIjtlWzM3XT1cXFwiIywjIzAgOygjLCMjMClcXFwiO2VbMzhdPVxcXCIjLCMjMCA7W1JlZF0oIywjIzApXFxcIjtlWzM5XT1cXFwiIywjIzAuMDA7KCMsIyMwLjAwKVxcXCI7ZVs0MF09XFxcIiMsIyMwLjAwO1tSZWRdKCMsIyMwLjAwKVxcXCI7ZVs0NV09XFxcIm1tOnNzXFxcIjtlWzQ2XT1cXFwiW2hdOm1tOnNzXFxcIjtlWzQ3XT1cXFwibW1zcy4wXFxcIjtlWzQ4XT1cXFwiIyMwLjBFKzBcXFwiO2VbNDldPVxcXCJAXFxcIjtlWzU2XT0nXFxcIuS4iuWNiC/kuIvljYggXFxcImhoXFxcIuaZglxcXCJtbVxcXCLliIZcXFwic3NcXFwi56eSIFxcXCInfXZhciB2PXt9O2Qodik7dmFyIHA9W107dmFyIG09MDtmb3IobT01O208PTg7KyttKXBbbV09MzIrbTtmb3IobT0yMzttPD0yNjsrK20pcFttXT0wO2ZvcihtPTI3O208PTMxOysrbSlwW21dPTE0O2ZvcihtPTUwO208PTU4OysrbSlwW21dPTE0O2ZvcihtPTU5O208PTYyOysrbSlwW21dPW0tNTg7Zm9yKG09Njc7bTw9Njg7KyttKXBbbV09bS01ODtmb3IobT03MjttPD03NTsrK20pcFttXT1tLTU4O2ZvcihtPTY3O208PTY4OysrbSlwW21dPW0tNTc7Zm9yKG09NzY7bTw9Nzg7KyttKXBbbV09bS01Njtmb3IobT03OTttPD04MTsrK20pcFttXT1tLTM0O3ZhciBiPVtdO2JbNV09Yls2M109J1xcXCIkXFxcIiMsIyMwXyk7XFxcXFxcXFwoXFxcIiRcXFwiIywjIzBcXFxcXFxcXCknO2JbNl09Yls2NF09J1xcXCIkXFxcIiMsIyMwXyk7W1JlZF1cXFxcXFxcXChcXFwiJFxcXCIjLCMjMFxcXFxcXFxcKSc7Yls3XT1iWzY1XT0nXFxcIiRcXFwiIywjIzAuMDBfKTtcXFxcXFxcXChcXFwiJFxcXCIjLCMjMC4wMFxcXFxcXFxcKSc7Yls4XT1iWzY2XT0nXFxcIiRcXFwiIywjIzAuMDBfKTtbUmVkXVxcXFxcXFxcKFxcXCIkXFxcIiMsIyMwLjAwXFxcXFxcXFwpJztiWzQxXT0nXygqICMsIyMwXyk7XygqIFxcXFxcXFxcKCMsIyMwXFxcXFxcXFwpO18oKiBcXFwiLVxcXCJfKTtfKEBfKSc7Yls0Ml09J18oXFxcIiRcXFwiKiAjLCMjMF8pO18oXFxcIiRcXFwiKiBcXFxcXFxcXCgjLCMjMFxcXFxcXFxcKTtfKFxcXCIkXFxcIiogXFxcIi1cXFwiXyk7XyhAXyknO2JbNDNdPSdfKCogIywjIzAuMDBfKTtfKCogXFxcXFxcXFwoIywjIzAuMDBcXFxcXFxcXCk7XygqIFxcXCItXFxcIj8/Xyk7XyhAXyknO2JbNDRdPSdfKFxcXCIkXFxcIiogIywjIzAuMDBfKTtfKFxcXCIkXFxcIiogXFxcXFxcXFwoIywjIzAuMDBcXFxcXFxcXCk7XyhcXFwiJFxcXCIqIFxcXCItXFxcIj8/Xyk7XyhAXyknO2Z1bmN0aW9uIGcoZSxyLHQpe3ZhciBhPWU8MD8tMToxO3ZhciBuPWUqYTt2YXIgaT0wLHM9MSxmPTA7dmFyIG89MSxsPTAsYz0wO3ZhciB1PU1hdGguZmxvb3Iobik7d2hpbGUobDxyKXt1PU1hdGguZmxvb3Iobik7Zj11KnMraTtjPXUqbCtvO2lmKG4tdTw1ZS04KWJyZWFrO249MS8obi11KTtpPXM7cz1mO289bDtsPWN9aWYoYz5yKXtpZihsPnIpe2M9bztmPWl9ZWxzZXtjPWw7Zj1zfX1pZighdClyZXR1cm5bMCxhKmYsY107dmFyIGg9TWF0aC5mbG9vcihhKmYvYyk7cmV0dXJuW2gsYSpmLWgqYyxjXX1mdW5jdGlvbiB3KGUscix0KXtpZihlPjI5NTg0NjV8fGU8MClyZXR1cm4gbnVsbDt2YXIgYT1lfDAsbj1NYXRoLmZsb29yKDg2NDAwKihlLWEpKSxpPTA7dmFyIHM9W107dmFyIGY9e0Q6YSxUOm4sdTo4NjQwMCooZS1hKS1uLHk6MCxtOjAsZDowLEg6MCxNOjAsUzowLHE6MH07aWYoTWF0aC5hYnMoZi51KTwxZS02KWYudT0wO2lmKHImJnIuZGF0ZTE5MDQpYSs9MTQ2MjtpZihmLnU+Ljk5OTkpe2YudT0wO2lmKCsrbj09ODY0MDApe2YuVD1uPTA7KythOysrZi5EfX1pZihhPT09NjApe3M9dD9bMTMxNywxMCwyOV06WzE5MDAsMiwyOV07aT0zfWVsc2UgaWYoYT09PTApe3M9dD9bMTMxNyw4LDI5XTpbMTkwMCwxLDBdO2k9Nn1lbHNle2lmKGE+NjApLS1hO3ZhciBvPW5ldyBEYXRlKDE5MDAsMCwxKTtvLnNldERhdGUoby5nZXREYXRlKCkrYS0xKTtzPVtvLmdldEZ1bGxZZWFyKCksby5nZXRNb250aCgpKzEsby5nZXREYXRlKCldO2k9by5nZXREYXkoKTtpZihhPDYwKWk9KGkrNiklNztpZih0KWk9eShvLHMpfWYueT1zWzBdO2YubT1zWzFdO2YuZD1zWzJdO2YuUz1uJTYwO249TWF0aC5mbG9vcihuLzYwKTtmLk09biU2MDtuPU1hdGguZmxvb3Iobi82MCk7Zi5IPW47Zi5xPWk7cmV0dXJuIGZ9ZS5wYXJzZV9kYXRlX2NvZGU9dzt2YXIgaz1uZXcgRGF0ZSgxODk5LDExLDMxLDAsMCwwKTt2YXIgRT1rLmdldFRpbWUoKTt2YXIgUz1uZXcgRGF0ZSgxOTAwLDIsMSwwLDAsMCk7ZnVuY3Rpb24gXyhlLHIpe3ZhciB0PWUuZ2V0VGltZSgpO2lmKHIpdC09MTQ2MSoyNCo2MCo2MCoxZTM7ZWxzZSBpZihlPj1TKXQrPTI0KjYwKjYwKjFlMztyZXR1cm4odC0oRSsoZS5nZXRUaW1lem9uZU9mZnNldCgpLWsuZ2V0VGltZXpvbmVPZmZzZXQoKSkqNmU0KSkvKDI0KjYwKjYwKjFlMyl9ZnVuY3Rpb24gQyhlKXtyZXR1cm4gZS50b1N0cmluZygxMCl9ZS5fZ2VuZXJhbF9pbnQ9Qzt2YXIgQj1mdW5jdGlvbiBIKCl7dmFyIGU9Lyg/OlxcXFwuMCp8KFxcXFwuXFxcXGQqWzEtOV0pMCspJC87ZnVuY3Rpb24gcihyKXtyZXR1cm4gci5pbmRleE9mKFxcXCIuXFxcIik9PS0xP3I6ci5yZXBsYWNlKGUsXFxcIiQxXFxcIil9dmFyIHQ9Lyg/OlxcXFwuMCp8KFxcXFwuXFxcXGQqWzEtOV0pMCspW0VlXS87dmFyIGE9LyhFWystXSkoXFxcXGQpJC87ZnVuY3Rpb24gbihlKXtpZihlLmluZGV4T2YoXFxcIkVcXFwiKT09LTEpcmV0dXJuIGU7cmV0dXJuIGUucmVwbGFjZSh0LFxcXCIkMUVcXFwiKS5yZXBsYWNlKGEsXFxcIiQxMCQyXFxcIil9ZnVuY3Rpb24gaShlKXt2YXIgdD1lPDA/MTI6MTE7dmFyIGE9cihlLnRvRml4ZWQoMTIpKTtpZihhLmxlbmd0aDw9dClyZXR1cm4gYTthPWUudG9QcmVjaXNpb24oMTApO2lmKGEubGVuZ3RoPD10KXJldHVybiBhO3JldHVybiBlLnRvRXhwb25lbnRpYWwoNSl9ZnVuY3Rpb24gcyhlKXt2YXIgdD1yKGUudG9GaXhlZCgxMSkpO3JldHVybiB0Lmxlbmd0aD4oZTwwPzEyOjExKXx8dD09PVxcXCIwXFxcInx8dD09PVxcXCItMFxcXCI/ZS50b1ByZWNpc2lvbig2KTp0fWZ1bmN0aW9uIGYoZSl7dmFyIHQ9TWF0aC5mbG9vcihNYXRoLmxvZyhNYXRoLmFicyhlKSkqTWF0aC5MT0cxMEUpLGE7aWYodD49LTQmJnQ8PS0xKWE9ZS50b1ByZWNpc2lvbigxMCt0KTtlbHNlIGlmKE1hdGguYWJzKHQpPD05KWE9aShlKTtlbHNlIGlmKHQ9PT0xMClhPWUudG9GaXhlZCgxMCkuc3Vic3RyKDAsMTIpO2Vsc2UgYT1zKGUpO3JldHVybiByKG4oYS50b1VwcGVyQ2FzZSgpKSl9cmV0dXJuIGZ9KCk7ZS5fZ2VuZXJhbF9udW09QjtmdW5jdGlvbiBUKGUscil7c3dpdGNoKHR5cGVvZiBlKXtjYXNlXFxcInN0cmluZ1xcXCI6cmV0dXJuIGU7Y2FzZVxcXCJib29sZWFuXFxcIjpyZXR1cm4gZT9cXFwiVFJVRVxcXCI6XFxcIkZBTFNFXFxcIjtjYXNlXFxcIm51bWJlclxcXCI6cmV0dXJuKGV8MCk9PT1lP2UudG9TdHJpbmcoMTApOkIoZSk7Y2FzZVxcXCJ1bmRlZmluZWRcXFwiOnJldHVyblxcXCJcXFwiO2Nhc2VcXFwib2JqZWN0XFxcIjppZihlPT1udWxsKXJldHVyblxcXCJcXFwiO2lmKGUgaW5zdGFuY2VvZiBEYXRlKXJldHVybiBVKDE0LF8oZSxyJiZyLmRhdGUxOTA0KSxyKTt9dGhyb3cgbmV3IEVycm9yKFxcXCJ1bnN1cHBvcnRlZCB2YWx1ZSBpbiBHZW5lcmFsIGZvcm1hdDogXFxcIitlKX1lLl9nZW5lcmFsPVQ7ZnVuY3Rpb24geShlLHIpe3JbMF0tPTU4MTt2YXIgdD1lLmdldERheSgpO2lmKGU8NjApdD0odCs2KSU3O3JldHVybiB0fWZ1bmN0aW9uIHgoZSxyLHQsbil7dmFyIGk9XFxcIlxcXCIscz0wLGY9MCxvPXQueSxsLGM9MDtzd2l0Y2goZSl7Y2FzZSA5ODpvPXQueSs1NDM7Y2FzZSAxMjE6c3dpdGNoKHIubGVuZ3RoKXtjYXNlIDE6O2Nhc2UgMjpsPW8lMTAwO2M9MjticmVhaztkZWZhdWx0Omw9byUxZTQ7Yz00O2JyZWFrO31icmVhaztjYXNlIDEwOTpzd2l0Y2goci5sZW5ndGgpe2Nhc2UgMTo7Y2FzZSAyOmw9dC5tO2M9ci5sZW5ndGg7YnJlYWs7Y2FzZSAzOnJldHVybiBoW3QubS0xXVsxXTtjYXNlIDU6cmV0dXJuIGhbdC5tLTFdWzBdO2RlZmF1bHQ6cmV0dXJuIGhbdC5tLTFdWzJdO31icmVhaztjYXNlIDEwMDpzd2l0Y2goci5sZW5ndGgpe2Nhc2UgMTo7Y2FzZSAyOmw9dC5kO2M9ci5sZW5ndGg7YnJlYWs7Y2FzZSAzOnJldHVybiB1W3QucV1bMF07ZGVmYXVsdDpyZXR1cm4gdVt0LnFdWzFdO31icmVhaztjYXNlIDEwNDpzd2l0Y2goci5sZW5ndGgpe2Nhc2UgMTo7Y2FzZSAyOmw9MSsodC5IKzExKSUxMjtjPXIubGVuZ3RoO2JyZWFrO2RlZmF1bHQ6dGhyb3dcXFwiYmFkIGhvdXIgZm9ybWF0OiBcXFwiK3I7fWJyZWFrO2Nhc2UgNzI6c3dpdGNoKHIubGVuZ3RoKXtjYXNlIDE6O2Nhc2UgMjpsPXQuSDtjPXIubGVuZ3RoO2JyZWFrO2RlZmF1bHQ6dGhyb3dcXFwiYmFkIGhvdXIgZm9ybWF0OiBcXFwiK3I7fWJyZWFrO2Nhc2UgNzc6c3dpdGNoKHIubGVuZ3RoKXtjYXNlIDE6O2Nhc2UgMjpsPXQuTTtjPXIubGVuZ3RoO2JyZWFrO2RlZmF1bHQ6dGhyb3dcXFwiYmFkIG1pbnV0ZSBmb3JtYXQ6IFxcXCIrcjt9YnJlYWs7Y2FzZSAxMTU6aWYociE9XFxcInNcXFwiJiZyIT1cXFwic3NcXFwiJiZyIT1cXFwiLjBcXFwiJiZyIT1cXFwiLjAwXFxcIiYmciE9XFxcIi4wMDBcXFwiKXRocm93XFxcImJhZCBzZWNvbmQgZm9ybWF0OiBcXFwiK3I7aWYodC51PT09MCYmKHI9PVxcXCJzXFxcInx8cj09XFxcInNzXFxcIikpcmV0dXJuIGEodC5TLHIubGVuZ3RoKTtpZihuPj0yKWY9bj09PTM/MWUzOjEwMDtlbHNlIGY9bj09PTE/MTA6MTtzPU1hdGgucm91bmQoZioodC5TK3QudSkpO2lmKHM+PTYwKmYpcz0wO2lmKHI9PT1cXFwic1xcXCIpcmV0dXJuIHM9PT0wP1xcXCIwXFxcIjpcXFwiXFxcIitzL2Y7aT1hKHMsMituKTtpZihyPT09XFxcInNzXFxcIilyZXR1cm4gaS5zdWJzdHIoMCwyKTtyZXR1cm5cXFwiLlxcXCIraS5zdWJzdHIoMixyLmxlbmd0aC0xKTtjYXNlIDkwOnN3aXRjaChyKXtjYXNlXFxcIltoXVxcXCI6O2Nhc2VcXFwiW2hoXVxcXCI6bD10LkQqMjQrdC5IO2JyZWFrO2Nhc2VcXFwiW21dXFxcIjo7Y2FzZVxcXCJbbW1dXFxcIjpsPSh0LkQqMjQrdC5IKSo2MCt0Lk07YnJlYWs7Y2FzZVxcXCJbc11cXFwiOjtjYXNlXFxcIltzc11cXFwiOmw9KCh0LkQqMjQrdC5IKSo2MCt0Lk0pKjYwK01hdGgucm91bmQodC5TK3QudSk7YnJlYWs7ZGVmYXVsdDp0aHJvd1xcXCJiYWQgYWJzdGltZSBmb3JtYXQ6IFxcXCIrcjt9Yz1yLmxlbmd0aD09PTM/MToyO2JyZWFrO2Nhc2UgMTAxOmw9bztjPTE7YnJlYWs7fXZhciBkPWM+MD9hKGwsYyk6XFxcIlxcXCI7cmV0dXJuIGR9ZnVuY3Rpb24gQShlKXt2YXIgcj0zO2lmKGUubGVuZ3RoPD1yKXJldHVybiBlO3ZhciB0PWUubGVuZ3RoJXIsYT1lLnN1YnN0cigwLHQpO2Zvcig7dCE9ZS5sZW5ndGg7dCs9cilhKz0oYS5sZW5ndGg+MD9cXFwiLFxcXCI6XFxcIlxcXCIpK2Uuc3Vic3RyKHQscik7cmV0dXJuIGF9dmFyIEk9ZnVuY3Rpb24gVygpe3ZhciBlPS8lL2c7ZnVuY3Rpb24gcyhyLGEsbil7dmFyIGk9YS5yZXBsYWNlKGUsXFxcIlxcXCIpLHM9YS5sZW5ndGgtaS5sZW5ndGg7cmV0dXJuIEkocixpLG4qTWF0aC5wb3coMTAsMipzKSkrdChcXFwiJVxcXCIscyl9ZnVuY3Rpb24gZihlLHIsdCl7dmFyIGE9ci5sZW5ndGgtMTt3aGlsZShyLmNoYXJDb2RlQXQoYS0xKT09PTQ0KS0tYTtyZXR1cm4gSShlLHIuc3Vic3RyKDAsYSksdC9NYXRoLnBvdygxMCwzKihyLmxlbmd0aC1hKSkpfWZ1bmN0aW9uIG8oZSxyKXt2YXIgdDt2YXIgYT1lLmluZGV4T2YoXFxcIkVcXFwiKS1lLmluZGV4T2YoXFxcIi5cXFwiKS0xO2lmKGUubWF0Y2goL14jKzAuMEVcXFxcKzAkLykpe2lmKHI9PTApcmV0dXJuXFxcIjAuMEUrMFxcXCI7ZWxzZSBpZihyPDApcmV0dXJuXFxcIi1cXFwiK28oZSwtcik7dmFyIG49ZS5pbmRleE9mKFxcXCIuXFxcIik7aWYobj09PS0xKW49ZS5pbmRleE9mKFxcXCJFXFxcIik7dmFyIGk9TWF0aC5mbG9vcihNYXRoLmxvZyhyKSpNYXRoLkxPRzEwRSklbjtpZihpPDApaSs9bjt0PShyL01hdGgucG93KDEwLGkpKS50b1ByZWNpc2lvbihhKzErKG4raSklbik7aWYodC5pbmRleE9mKFxcXCJlXFxcIik9PT0tMSl7dmFyIHM9TWF0aC5mbG9vcihNYXRoLmxvZyhyKSpNYXRoLkxPRzEwRSk7aWYodC5pbmRleE9mKFxcXCIuXFxcIik9PT0tMSl0PXQuY2hhckF0KDApK1xcXCIuXFxcIit0LnN1YnN0cigxKStcXFwiRStcXFwiKyhzLXQubGVuZ3RoK2kpO2Vsc2UgdCs9XFxcIkUrXFxcIisocy1pKTt3aGlsZSh0LnN1YnN0cigwLDIpPT09XFxcIjAuXFxcIil7dD10LmNoYXJBdCgwKSt0LnN1YnN0cigyLG4pK1xcXCIuXFxcIit0LnN1YnN0cigyK24pO3Q9dC5yZXBsYWNlKC9eMCsoWzEtOV0pLyxcXFwiJDFcXFwiKS5yZXBsYWNlKC9eMCtcXFxcLi8sXFxcIjAuXFxcIil9dD10LnJlcGxhY2UoL1xcXFwrLS8sXFxcIi1cXFwiKX10PXQucmVwbGFjZSgvXihbKy1dPykoXFxcXGQqKVxcXFwuKFxcXFxkKilbRWVdLyxmdW5jdGlvbihlLHIsdCxhKXtyZXR1cm4gcit0K2Euc3Vic3RyKDAsKG4raSklbikrXFxcIi5cXFwiK2Euc3Vic3RyKGkpK1xcXCJFXFxcIn0pfWVsc2UgdD1yLnRvRXhwb25lbnRpYWwoYSk7aWYoZS5tYXRjaCgvRVxcXFwrMDAkLykmJnQubWF0Y2goL2VbKy1dXFxcXGQkLykpdD10LnN1YnN0cigwLHQubGVuZ3RoLTEpK1xcXCIwXFxcIit0LmNoYXJBdCh0Lmxlbmd0aC0xKTtpZihlLm1hdGNoKC9FXFxcXC0vKSYmdC5tYXRjaCgvZVxcXFwrLykpdD10LnJlcGxhY2UoL2VcXFxcKy8sXFxcImVcXFwiKTtyZXR1cm4gdC5yZXBsYWNlKFxcXCJlXFxcIixcXFwiRVxcXCIpfXZhciBjPS8jIChcXFxcPyspKCA/KVxcXFwvKCA/KShcXFxcZCspLztmdW5jdGlvbiB1KGUscixpKXt2YXIgcz1wYXJzZUludChlWzRdLDEwKSxmPU1hdGgucm91bmQocipzKSxvPU1hdGguZmxvb3IoZi9zKTt2YXIgbD1mLW8qcyxjPXM7cmV0dXJuIGkrKG89PT0wP1xcXCJcXFwiOlxcXCJcXFwiK28pK1xcXCIgXFxcIisobD09PTA/dChcXFwiIFxcXCIsZVsxXS5sZW5ndGgrMStlWzRdLmxlbmd0aCk6bihsLGVbMV0ubGVuZ3RoKStlWzJdK1xcXCIvXFxcIitlWzNdK2EoYyxlWzRdLmxlbmd0aCkpfWZ1bmN0aW9uIGgoZSxyLGEpe3JldHVybiBhKyhyPT09MD9cXFwiXFxcIjpcXFwiXFxcIityKSt0KFxcXCIgXFxcIixlWzFdLmxlbmd0aCsyK2VbNF0ubGVuZ3RoKX12YXIgZD0vXiMqMCpcXFxcLihbMCNdKykvO3ZhciB2PS9cXFxcKS4qWzAjXS87dmFyIHA9L1xcXFwoIyMjXFxcXCkgIyMjXFxcXFxcXFw/LSMjIyMvO2Z1bmN0aW9uIG0oZSl7dmFyIHI9XFxcIlxcXCIsdDtmb3IodmFyIGE9MDthIT1lLmxlbmd0aDsrK2Epc3dpdGNoKHQ9ZS5jaGFyQ29kZUF0KGEpKXtjYXNlIDM1OmJyZWFrO2Nhc2UgNjM6cis9XFxcIiBcXFwiO2JyZWFrO2Nhc2UgNDg6cis9XFxcIjBcXFwiO2JyZWFrO2RlZmF1bHQ6cis9U3RyaW5nLmZyb21DaGFyQ29kZSh0KTt9cmV0dXJuIHJ9ZnVuY3Rpb24gYihlLHIpe3ZhciB0PU1hdGgucG93KDEwLHIpO3JldHVyblxcXCJcXFwiK01hdGgucm91bmQoZSp0KS90fWZ1bmN0aW9uIHcoZSxyKXt2YXIgdD1lLU1hdGguZmxvb3IoZSksYT1NYXRoLnBvdygxMCxyKTtpZihyPChcXFwiXFxcIitNYXRoLnJvdW5kKHQqYSkpLmxlbmd0aClyZXR1cm4gMDtyZXR1cm4gTWF0aC5yb3VuZCh0KmEpfWZ1bmN0aW9uIGsoZSxyKXtpZihyPChcXFwiXFxcIitNYXRoLnJvdW5kKChlLU1hdGguZmxvb3IoZSkpKk1hdGgucG93KDEwLHIpKSkubGVuZ3RoKXtyZXR1cm4gMX1yZXR1cm4gMH1mdW5jdGlvbiBFKGUpe2lmKGU8MjE0NzQ4MzY0NyYmZT4tMjE0NzQ4MzY0OClyZXR1cm5cXFwiXFxcIisoZT49MD9lfDA6ZS0xfDApO3JldHVyblxcXCJcXFwiK01hdGguZmxvb3IoZSl9ZnVuY3Rpb24gUyhlLGgsXyl7aWYoZS5jaGFyQ29kZUF0KDApPT09NDAmJiFoLm1hdGNoKHYpKXt2YXIgQz1oLnJlcGxhY2UoL1xcXFwoICovLFxcXCJcXFwiKS5yZXBsYWNlKC8gXFxcXCkvLFxcXCJcXFwiKS5yZXBsYWNlKC9cXFxcKS8sXFxcIlxcXCIpO2lmKF8+PTApcmV0dXJuIFMoXFxcIm5cXFwiLEMsXyk7cmV0dXJuXFxcIihcXFwiK1MoXFxcIm5cXFwiLEMsLV8pK1xcXCIpXFxcIn1pZihoLmNoYXJDb2RlQXQoaC5sZW5ndGgtMSk9PT00NClyZXR1cm4gZihlLGgsXyk7aWYoaC5pbmRleE9mKFxcXCIlXFxcIikhPT0tMSlyZXR1cm4gcyhlLGgsXyk7aWYoaC5pbmRleE9mKFxcXCJFXFxcIikhPT0tMSlyZXR1cm4gbyhoLF8pO2lmKGguY2hhckNvZGVBdCgwKT09PTM2KXJldHVyblxcXCIkXFxcIitTKGUsaC5zdWJzdHIoaC5jaGFyQXQoMSk9PVxcXCIgXFxcIj8yOjEpLF8pO3ZhciBCO3ZhciBULHkseCxSPU1hdGguYWJzKF8pLE89XzwwP1xcXCItXFxcIjpcXFwiXFxcIjtpZihoLm1hdGNoKC9eMDArJC8pKXJldHVybiBPK2woUixoLmxlbmd0aCk7aWYoaC5tYXRjaCgvXlsjP10rJC8pKXtCPWwoXywwKTtpZihCPT09XFxcIjBcXFwiKUI9XFxcIlxcXCI7cmV0dXJuIEIubGVuZ3RoPmgubGVuZ3RoP0I6bShoLnN1YnN0cigwLGgubGVuZ3RoLUIubGVuZ3RoKSkrQn1pZihUPWgubWF0Y2goYykpcmV0dXJuIHUoVCxSLE8pO2lmKGgubWF0Y2goL14jKzArJC8pKXJldHVybiBPK2woUixoLmxlbmd0aC1oLmluZGV4T2YoXFxcIjBcXFwiKSk7aWYoVD1oLm1hdGNoKGQpKXtCPWIoXyxUWzFdLmxlbmd0aCkucmVwbGFjZSgvXihbXlxcXFwuXSspJC8sXFxcIiQxLlxcXCIrbShUWzFdKSkucmVwbGFjZSgvXFxcXC4kLyxcXFwiLlxcXCIrbShUWzFdKSkucmVwbGFjZSgvXFxcXC4oXFxcXGQqKSQvLGZ1bmN0aW9uKGUscil7cmV0dXJuXFxcIi5cXFwiK3IrdChcXFwiMFxcXCIsbShUWzFdKS5sZW5ndGgtci5sZW5ndGgpfSk7cmV0dXJuIGguaW5kZXhPZihcXFwiMC5cXFwiKSE9PS0xP0I6Qi5yZXBsYWNlKC9eMFxcXFwuLyxcXFwiLlxcXCIpfWg9aC5yZXBsYWNlKC9eIysoWzAuXSkvLFxcXCIkMVxcXCIpO2lmKFQ9aC5tYXRjaCgvXigwKilcXFxcLigjKikkLykpe3JldHVybiBPK2IoUixUWzJdLmxlbmd0aCkucmVwbGFjZSgvXFxcXC4oXFxcXGQqWzEtOV0pMCokLyxcXFwiLiQxXFxcIikucmVwbGFjZSgvXigtP1xcXFxkKikkLyxcXFwiJDEuXFxcIikucmVwbGFjZSgvXjBcXFxcLi8sVFsxXS5sZW5ndGg/XFxcIjAuXFxcIjpcXFwiLlxcXCIpfWlmKFQ9aC5tYXRjaCgvXiN7MSwzfSwjIzAoXFxcXC4/KSQvKSlyZXR1cm4gTytBKGwoUiwwKSk7aWYoVD1oLm1hdGNoKC9eIywjIzBcXFxcLihbIzBdKjApJC8pKXtyZXR1cm4gXzwwP1xcXCItXFxcIitTKGUsaCwtXyk6QShcXFwiXFxcIisoTWF0aC5mbG9vcihfKStrKF8sVFsxXS5sZW5ndGgpKSkrXFxcIi5cXFwiK2EodyhfLFRbMV0ubGVuZ3RoKSxUWzFdLmxlbmd0aCl9aWYoVD1oLm1hdGNoKC9eIywjKiwjMC8pKXJldHVybiBTKGUsaC5yZXBsYWNlKC9eIywjKiwvLFxcXCJcXFwiKSxfKTtpZihUPWgubWF0Y2goL14oWzAjXSspKFxcXFxcXFxcPy0oWzAjXSspKSskLykpe0I9cihTKGUsaC5yZXBsYWNlKC9bXFxcXFxcXFwtXS9nLFxcXCJcXFwiKSxfKSk7eT0wO3JldHVybiByKHIoaC5yZXBsYWNlKC9cXFxcXFxcXC9nLFxcXCJcXFwiKSkucmVwbGFjZSgvWzAjXS9nLGZ1bmN0aW9uKGUpe3JldHVybiB5PEIubGVuZ3RoP0IuY2hhckF0KHkrKyk6ZT09PVxcXCIwXFxcIj9cXFwiMFxcXCI6XFxcIlxcXCJ9KSl9aWYoaC5tYXRjaChwKSl7Qj1TKGUsXFxcIiMjIyMjIyMjIyNcXFwiLF8pO3JldHVyblxcXCIoXFxcIitCLnN1YnN0cigwLDMpK1xcXCIpIFxcXCIrQi5zdWJzdHIoMywzKStcXFwiLVxcXCIrQi5zdWJzdHIoNil9dmFyIEQ9XFxcIlxcXCI7aWYoVD1oLm1hdGNoKC9eKFsjMD9dKykoID8pXFxcXC8oID8pKFsjMD9dKykvKSl7eT1NYXRoLm1pbihUWzRdLmxlbmd0aCw3KTt4PWcoUixNYXRoLnBvdygxMCx5KS0xLGZhbHNlKTtCPVxcXCJcXFwiK087RD1JKFxcXCJuXFxcIixUWzFdLHhbMV0pO2lmKEQuY2hhckF0KEQubGVuZ3RoLTEpPT1cXFwiIFxcXCIpRD1ELnN1YnN0cigwLEQubGVuZ3RoLTEpK1xcXCIwXFxcIjtCKz1EK1RbMl0rXFxcIi9cXFwiK1RbM107RD1pKHhbMl0seSk7aWYoRC5sZW5ndGg8VFs0XS5sZW5ndGgpRD1tKFRbNF0uc3Vic3RyKFRbNF0ubGVuZ3RoLUQubGVuZ3RoKSkrRDtCKz1EO3JldHVybiBCfWlmKFQ9aC5tYXRjaCgvXiMgKFsjMD9dKykoID8pXFxcXC8oID8pKFsjMD9dKykvKSl7eT1NYXRoLm1pbihNYXRoLm1heChUWzFdLmxlbmd0aCxUWzRdLmxlbmd0aCksNyk7eD1nKFIsTWF0aC5wb3coMTAseSktMSx0cnVlKTtyZXR1cm4gTysoeFswXXx8KHhbMV0/XFxcIlxcXCI6XFxcIjBcXFwiKSkrXFxcIiBcXFwiKyh4WzFdP24oeFsxXSx5KStUWzJdK1xcXCIvXFxcIitUWzNdK2koeFsyXSx5KTp0KFxcXCIgXFxcIiwyKnkrMStUWzJdLmxlbmd0aCtUWzNdLmxlbmd0aCkpfWlmKFQ9aC5tYXRjaCgvXlsjMD9dKyQvKSl7Qj1sKF8sMCk7aWYoaC5sZW5ndGg8PUIubGVuZ3RoKXJldHVybiBCO3JldHVybiBtKGguc3Vic3RyKDAsaC5sZW5ndGgtQi5sZW5ndGgpKStCfWlmKFQ9aC5tYXRjaCgvXihbIzA/XSspXFxcXC4oWyMwXSspJC8pKXtCPVxcXCJcXFwiK18udG9GaXhlZChNYXRoLm1pbihUWzJdLmxlbmd0aCwxMCkpLnJlcGxhY2UoLyhbXjBdKTArJC8sXFxcIiQxXFxcIik7eT1CLmluZGV4T2YoXFxcIi5cXFwiKTt2YXIgRj1oLmluZGV4T2YoXFxcIi5cXFwiKS15LFA9aC5sZW5ndGgtQi5sZW5ndGgtRjtyZXR1cm4gbShoLnN1YnN0cigwLEYpK0IraC5zdWJzdHIoaC5sZW5ndGgtUCkpfWlmKFQ9aC5tYXRjaCgvXjAwLDAwMFxcXFwuKFsjMF0qMCkkLykpe3k9dyhfLFRbMV0ubGVuZ3RoKTtyZXR1cm4gXzwwP1xcXCItXFxcIitTKGUsaCwtXyk6QShFKF8pKS5yZXBsYWNlKC9eXFxcXGQsXFxcXGR7M30kLyxcXFwiMCQmXFxcIikucmVwbGFjZSgvXlxcXFxkKiQvLGZ1bmN0aW9uKGUpe3JldHVyblxcXCIwMCxcXFwiKyhlLmxlbmd0aDwzP2EoMCwzLWUubGVuZ3RoKTpcXFwiXFxcIikrZX0pK1xcXCIuXFxcIithKHksVFsxXS5sZW5ndGgpfXN3aXRjaChoKXtjYXNlXFxcIiMjIywjIzAuMDBcXFwiOnJldHVybiBTKGUsXFxcIiMsIyMwLjAwXFxcIixfKTtjYXNlXFxcIiMjIywjIyNcXFwiOjtjYXNlXFxcIiMjLCMjI1xcXCI6O2Nhc2VcXFwiIywjIyNcXFwiOnZhciBOPUEobChSLDApKTtyZXR1cm4gTiE9PVxcXCIwXFxcIj9PK046XFxcIlxcXCI7Y2FzZVxcXCIjIyMsIyMjLjAwXFxcIjpyZXR1cm4gUyhlLFxcXCIjIyMsIyMwLjAwXFxcIixfKS5yZXBsYWNlKC9eMFxcXFwuLyxcXFwiLlxcXCIpO2Nhc2VcXFwiIywjIyMuMDBcXFwiOnJldHVybiBTKGUsXFxcIiMsIyMwLjAwXFxcIixfKS5yZXBsYWNlKC9eMFxcXFwuLyxcXFwiLlxcXCIpO2RlZmF1bHQ6O310aHJvdyBuZXcgRXJyb3IoXFxcInVuc3VwcG9ydGVkIGZvcm1hdCB8XFxcIitoK1xcXCJ8XFxcIil9ZnVuY3Rpb24gXyhlLHIsdCl7dmFyIGE9ci5sZW5ndGgtMTt3aGlsZShyLmNoYXJDb2RlQXQoYS0xKT09PTQ0KS0tYTtyZXR1cm4gSShlLHIuc3Vic3RyKDAsYSksdC9NYXRoLnBvdygxMCwzKihyLmxlbmd0aC1hKSkpfWZ1bmN0aW9uIEMocixhLG4pe3ZhciBpPWEucmVwbGFjZShlLFxcXCJcXFwiKSxzPWEubGVuZ3RoLWkubGVuZ3RoO3JldHVybiBJKHIsaSxuKk1hdGgucG93KDEwLDIqcykpK3QoXFxcIiVcXFwiLHMpfWZ1bmN0aW9uIEIoZSxyKXt2YXIgdDt2YXIgYT1lLmluZGV4T2YoXFxcIkVcXFwiKS1lLmluZGV4T2YoXFxcIi5cXFwiKS0xO2lmKGUubWF0Y2goL14jKzAuMEVcXFxcKzAkLykpe2lmKHI9PTApcmV0dXJuXFxcIjAuMEUrMFxcXCI7ZWxzZSBpZihyPDApcmV0dXJuXFxcIi1cXFwiK0IoZSwtcik7dmFyIG49ZS5pbmRleE9mKFxcXCIuXFxcIik7aWYobj09PS0xKW49ZS5pbmRleE9mKFxcXCJFXFxcIik7dmFyIGk9TWF0aC5mbG9vcihNYXRoLmxvZyhyKSpNYXRoLkxPRzEwRSklbjtcXG5pZihpPDApaSs9bjt0PShyL01hdGgucG93KDEwLGkpKS50b1ByZWNpc2lvbihhKzErKG4raSklbik7aWYoIXQubWF0Y2goL1tFZV0vKSl7dmFyIHM9TWF0aC5mbG9vcihNYXRoLmxvZyhyKSpNYXRoLkxPRzEwRSk7aWYodC5pbmRleE9mKFxcXCIuXFxcIik9PT0tMSl0PXQuY2hhckF0KDApK1xcXCIuXFxcIit0LnN1YnN0cigxKStcXFwiRStcXFwiKyhzLXQubGVuZ3RoK2kpO2Vsc2UgdCs9XFxcIkUrXFxcIisocy1pKTt0PXQucmVwbGFjZSgvXFxcXCstLyxcXFwiLVxcXCIpfXQ9dC5yZXBsYWNlKC9eKFsrLV0/KShcXFxcZCopXFxcXC4oXFxcXGQqKVtFZV0vLGZ1bmN0aW9uKGUscix0LGEpe3JldHVybiByK3QrYS5zdWJzdHIoMCwobitpKSVuKStcXFwiLlxcXCIrYS5zdWJzdHIoaSkrXFxcIkVcXFwifSl9ZWxzZSB0PXIudG9FeHBvbmVudGlhbChhKTtpZihlLm1hdGNoKC9FXFxcXCswMCQvKSYmdC5tYXRjaCgvZVsrLV1cXFxcZCQvKSl0PXQuc3Vic3RyKDAsdC5sZW5ndGgtMSkrXFxcIjBcXFwiK3QuY2hhckF0KHQubGVuZ3RoLTEpO2lmKGUubWF0Y2goL0VcXFxcLS8pJiZ0Lm1hdGNoKC9lXFxcXCsvKSl0PXQucmVwbGFjZSgvZVxcXFwrLyxcXFwiZVxcXCIpO3JldHVybiB0LnJlcGxhY2UoXFxcImVcXFwiLFxcXCJFXFxcIil9ZnVuY3Rpb24gVChlLHMsZil7aWYoZS5jaGFyQ29kZUF0KDApPT09NDAmJiFzLm1hdGNoKHYpKXt2YXIgbz1zLnJlcGxhY2UoL1xcXFwoICovLFxcXCJcXFwiKS5yZXBsYWNlKC8gXFxcXCkvLFxcXCJcXFwiKS5yZXBsYWNlKC9cXFxcKS8sXFxcIlxcXCIpO2lmKGY+PTApcmV0dXJuIFQoXFxcIm5cXFwiLG8sZik7cmV0dXJuXFxcIihcXFwiK1QoXFxcIm5cXFwiLG8sLWYpK1xcXCIpXFxcIn1pZihzLmNoYXJDb2RlQXQocy5sZW5ndGgtMSk9PT00NClyZXR1cm4gXyhlLHMsZik7aWYocy5pbmRleE9mKFxcXCIlXFxcIikhPT0tMSlyZXR1cm4gQyhlLHMsZik7aWYocy5pbmRleE9mKFxcXCJFXFxcIikhPT0tMSlyZXR1cm4gQihzLGYpO2lmKHMuY2hhckNvZGVBdCgwKT09PTM2KXJldHVyblxcXCIkXFxcIitUKGUscy5zdWJzdHIocy5jaGFyQXQoMSk9PVxcXCIgXFxcIj8yOjEpLGYpO3ZhciBsO3ZhciB1LGIsdyxrPU1hdGguYWJzKGYpLEU9ZjwwP1xcXCItXFxcIjpcXFwiXFxcIjtpZihzLm1hdGNoKC9eMDArJC8pKXJldHVybiBFK2EoayxzLmxlbmd0aCk7aWYocy5tYXRjaCgvXlsjP10rJC8pKXtsPVxcXCJcXFwiK2Y7aWYoZj09PTApbD1cXFwiXFxcIjtyZXR1cm4gbC5sZW5ndGg+cy5sZW5ndGg/bDptKHMuc3Vic3RyKDAscy5sZW5ndGgtbC5sZW5ndGgpKStsfWlmKHU9cy5tYXRjaChjKSlyZXR1cm4gaCh1LGssRSk7aWYocy5tYXRjaCgvXiMrMCskLykpcmV0dXJuIEUrYShrLHMubGVuZ3RoLXMuaW5kZXhPZihcXFwiMFxcXCIpKTtpZih1PXMubWF0Y2goZCkpe2w9KFxcXCJcXFwiK2YpLnJlcGxhY2UoL14oW15cXFxcLl0rKSQvLFxcXCIkMS5cXFwiK20odVsxXSkpLnJlcGxhY2UoL1xcXFwuJC8sXFxcIi5cXFwiK20odVsxXSkpO2w9bC5yZXBsYWNlKC9cXFxcLihcXFxcZCopJC8sZnVuY3Rpb24oZSxyKXtyZXR1cm5cXFwiLlxcXCIrcit0KFxcXCIwXFxcIixtKHVbMV0pLmxlbmd0aC1yLmxlbmd0aCl9KTtyZXR1cm4gcy5pbmRleE9mKFxcXCIwLlxcXCIpIT09LTE/bDpsLnJlcGxhY2UoL14wXFxcXC4vLFxcXCIuXFxcIil9cz1zLnJlcGxhY2UoL14jKyhbMC5dKS8sXFxcIiQxXFxcIik7aWYodT1zLm1hdGNoKC9eKDAqKVxcXFwuKCMqKSQvKSl7cmV0dXJuIEUrKFxcXCJcXFwiK2spLnJlcGxhY2UoL1xcXFwuKFxcXFxkKlsxLTldKTAqJC8sXFxcIi4kMVxcXCIpLnJlcGxhY2UoL14oLT9cXFxcZCopJC8sXFxcIiQxLlxcXCIpLnJlcGxhY2UoL14wXFxcXC4vLHVbMV0ubGVuZ3RoP1xcXCIwLlxcXCI6XFxcIi5cXFwiKX1pZih1PXMubWF0Y2goL14jezEsM30sIyMwKFxcXFwuPykkLykpcmV0dXJuIEUrQShcXFwiXFxcIitrKTtpZih1PXMubWF0Y2goL14jLCMjMFxcXFwuKFsjMF0qMCkkLykpe3JldHVybiBmPDA/XFxcIi1cXFwiK1QoZSxzLC1mKTpBKFxcXCJcXFwiK2YpK1xcXCIuXFxcIit0KFxcXCIwXFxcIix1WzFdLmxlbmd0aCl9aWYodT1zLm1hdGNoKC9eIywjKiwjMC8pKXJldHVybiBUKGUscy5yZXBsYWNlKC9eIywjKiwvLFxcXCJcXFwiKSxmKTtpZih1PXMubWF0Y2goL14oWzAjXSspKFxcXFxcXFxcPy0oWzAjXSspKSskLykpe2w9cihUKGUscy5yZXBsYWNlKC9bXFxcXFxcXFwtXS9nLFxcXCJcXFwiKSxmKSk7Yj0wO3JldHVybiByKHIocy5yZXBsYWNlKC9cXFxcXFxcXC9nLFxcXCJcXFwiKSkucmVwbGFjZSgvWzAjXS9nLGZ1bmN0aW9uKGUpe3JldHVybiBiPGwubGVuZ3RoP2wuY2hhckF0KGIrKyk6ZT09PVxcXCIwXFxcIj9cXFwiMFxcXCI6XFxcIlxcXCJ9KSl9aWYocy5tYXRjaChwKSl7bD1UKGUsXFxcIiMjIyMjIyMjIyNcXFwiLGYpO3JldHVyblxcXCIoXFxcIitsLnN1YnN0cigwLDMpK1xcXCIpIFxcXCIrbC5zdWJzdHIoMywzKStcXFwiLVxcXCIrbC5zdWJzdHIoNil9dmFyIFM9XFxcIlxcXCI7aWYodT1zLm1hdGNoKC9eKFsjMD9dKykoID8pXFxcXC8oID8pKFsjMD9dKykvKSl7Yj1NYXRoLm1pbih1WzRdLmxlbmd0aCw3KTt3PWcoayxNYXRoLnBvdygxMCxiKS0xLGZhbHNlKTtsPVxcXCJcXFwiK0U7Uz1JKFxcXCJuXFxcIix1WzFdLHdbMV0pO2lmKFMuY2hhckF0KFMubGVuZ3RoLTEpPT1cXFwiIFxcXCIpUz1TLnN1YnN0cigwLFMubGVuZ3RoLTEpK1xcXCIwXFxcIjtsKz1TK3VbMl0rXFxcIi9cXFwiK3VbM107Uz1pKHdbMl0sYik7aWYoUy5sZW5ndGg8dVs0XS5sZW5ndGgpUz1tKHVbNF0uc3Vic3RyKHVbNF0ubGVuZ3RoLVMubGVuZ3RoKSkrUztsKz1TO3JldHVybiBsfWlmKHU9cy5tYXRjaCgvXiMgKFsjMD9dKykoID8pXFxcXC8oID8pKFsjMD9dKykvKSl7Yj1NYXRoLm1pbihNYXRoLm1heCh1WzFdLmxlbmd0aCx1WzRdLmxlbmd0aCksNyk7dz1nKGssTWF0aC5wb3coMTAsYiktMSx0cnVlKTtyZXR1cm4gRSsod1swXXx8KHdbMV0/XFxcIlxcXCI6XFxcIjBcXFwiKSkrXFxcIiBcXFwiKyh3WzFdP24od1sxXSxiKSt1WzJdK1xcXCIvXFxcIit1WzNdK2kod1syXSxiKTp0KFxcXCIgXFxcIiwyKmIrMSt1WzJdLmxlbmd0aCt1WzNdLmxlbmd0aCkpfWlmKHU9cy5tYXRjaCgvXlsjMD9dKyQvKSl7bD1cXFwiXFxcIitmO2lmKHMubGVuZ3RoPD1sLmxlbmd0aClyZXR1cm4gbDtyZXR1cm4gbShzLnN1YnN0cigwLHMubGVuZ3RoLWwubGVuZ3RoKSkrbH1pZih1PXMubWF0Y2goL14oWyMwXSspXFxcXC4oWyMwXSspJC8pKXtsPVxcXCJcXFwiK2YudG9GaXhlZChNYXRoLm1pbih1WzJdLmxlbmd0aCwxMCkpLnJlcGxhY2UoLyhbXjBdKTArJC8sXFxcIiQxXFxcIik7Yj1sLmluZGV4T2YoXFxcIi5cXFwiKTt2YXIgeT1zLmluZGV4T2YoXFxcIi5cXFwiKS1iLHg9cy5sZW5ndGgtbC5sZW5ndGgteTtyZXR1cm4gbShzLnN1YnN0cigwLHkpK2wrcy5zdWJzdHIocy5sZW5ndGgteCkpfWlmKHU9cy5tYXRjaCgvXjAwLDAwMFxcXFwuKFsjMF0qMCkkLykpe3JldHVybiBmPDA/XFxcIi1cXFwiK1QoZSxzLC1mKTpBKFxcXCJcXFwiK2YpLnJlcGxhY2UoL15cXFxcZCxcXFxcZHszfSQvLFxcXCIwJCZcXFwiKS5yZXBsYWNlKC9eXFxcXGQqJC8sZnVuY3Rpb24oZSl7cmV0dXJuXFxcIjAwLFxcXCIrKGUubGVuZ3RoPDM/YSgwLDMtZS5sZW5ndGgpOlxcXCJcXFwiKStlfSkrXFxcIi5cXFwiK2EoMCx1WzFdLmxlbmd0aCl9c3dpdGNoKHMpe2Nhc2VcXFwiIyMjLCMjI1xcXCI6O2Nhc2VcXFwiIyMsIyMjXFxcIjo7Y2FzZVxcXCIjLCMjI1xcXCI6dmFyIFI9QShcXFwiXFxcIitrKTtyZXR1cm4gUiE9PVxcXCIwXFxcIj9FK1I6XFxcIlxcXCI7ZGVmYXVsdDppZihzLm1hdGNoKC9cXFxcLlswIz9dKiQvKSlyZXR1cm4gVChlLHMuc2xpY2UoMCxzLmxhc3RJbmRleE9mKFxcXCIuXFxcIikpLGYpK20ocy5zbGljZShzLmxhc3RJbmRleE9mKFxcXCIuXFxcIikpKTt9dGhyb3cgbmV3IEVycm9yKFxcXCJ1bnN1cHBvcnRlZCBmb3JtYXQgfFxcXCIrcytcXFwifFxcXCIpfXJldHVybiBmdW5jdGlvbiB5KGUscix0KXtyZXR1cm4odHwwKT09PXQ/VChlLHIsdCk6UyhlLHIsdCl9fSgpO2Z1bmN0aW9uIFIoZSl7dmFyIHI9W107dmFyIHQ9ZmFsc2U7Zm9yKHZhciBhPTAsbj0wO2E8ZS5sZW5ndGg7KythKXN3aXRjaChlLmNoYXJDb2RlQXQoYSkpe2Nhc2UgMzQ6dD0hdDticmVhaztjYXNlIDk1OjtjYXNlIDQyOjtjYXNlIDkyOisrYTticmVhaztjYXNlIDU5OnJbci5sZW5ndGhdPWUuc3Vic3RyKG4sYS1uKTtuPWErMTt9cltyLmxlbmd0aF09ZS5zdWJzdHIobik7aWYodD09PXRydWUpdGhyb3cgbmV3IEVycm9yKFxcXCJGb3JtYXQgfFxcXCIrZStcXFwifCB1bnRlcm1pbmF0ZWQgc3RyaW5nIFxcXCIpO3JldHVybiByfWUuX3NwbGl0PVI7dmFyIE89L1xcXFxbW0hoTW1Tc1xcXFx1MEUwQVxcXFx1MEUxOVxcXFx1MEUxN10qXFxcXF0vO2Z1bmN0aW9uIEQoZSl7dmFyIHI9MCx0PVxcXCJcXFwiLGE9XFxcIlxcXCI7d2hpbGUocjxlLmxlbmd0aCl7c3dpdGNoKHQ9ZS5jaGFyQXQocikpe2Nhc2VcXFwiR1xcXCI6aWYoYyhlLHIpKXIrPTY7cisrO2JyZWFrO2Nhc2UnXFxcIic6Zm9yKDtlLmNoYXJDb2RlQXQoKytyKSE9PTM0JiZyPGUubGVuZ3RoOyl7fSsrcjticmVhaztjYXNlXFxcIlxcXFxcXFxcXFxcIjpyKz0yO2JyZWFrO2Nhc2VcXFwiX1xcXCI6cis9MjticmVhaztjYXNlXFxcIkBcXFwiOisrcjticmVhaztjYXNlXFxcIkJcXFwiOjtjYXNlXFxcImJcXFwiOmlmKGUuY2hhckF0KHIrMSk9PT1cXFwiMVxcXCJ8fGUuY2hhckF0KHIrMSk9PT1cXFwiMlxcXCIpcmV0dXJuIHRydWU7Y2FzZVxcXCJNXFxcIjo7Y2FzZVxcXCJEXFxcIjo7Y2FzZVxcXCJZXFxcIjo7Y2FzZVxcXCJIXFxcIjo7Y2FzZVxcXCJTXFxcIjo7Y2FzZVxcXCJFXFxcIjo7Y2FzZVxcXCJtXFxcIjo7Y2FzZVxcXCJkXFxcIjo7Y2FzZVxcXCJ5XFxcIjo7Y2FzZVxcXCJoXFxcIjo7Y2FzZVxcXCJzXFxcIjo7Y2FzZVxcXCJlXFxcIjo7Y2FzZVxcXCJnXFxcIjpyZXR1cm4gdHJ1ZTtjYXNlXFxcIkFcXFwiOjtjYXNlXFxcImFcXFwiOjtjYXNlXFxcIuS4ilxcXCI6aWYoZS5zdWJzdHIociwzKS50b1VwcGVyQ2FzZSgpPT09XFxcIkEvUFxcXCIpcmV0dXJuIHRydWU7aWYoZS5zdWJzdHIociw1KS50b1VwcGVyQ2FzZSgpPT09XFxcIkFNL1BNXFxcIilyZXR1cm4gdHJ1ZTtpZihlLnN1YnN0cihyLDUpLnRvVXBwZXJDYXNlKCk9PT1cXFwi5LiK5Y2IL+S4i+WNiFxcXCIpcmV0dXJuIHRydWU7KytyO2JyZWFrO2Nhc2VcXFwiW1xcXCI6YT10O3doaWxlKGUuY2hhckF0KHIrKykhPT1cXFwiXVxcXCImJnI8ZS5sZW5ndGgpYSs9ZS5jaGFyQXQocik7aWYoYS5tYXRjaChPKSlyZXR1cm4gdHJ1ZTticmVhaztjYXNlXFxcIi5cXFwiOjtjYXNlXFxcIjBcXFwiOjtjYXNlXFxcIiNcXFwiOndoaWxlKHI8ZS5sZW5ndGgmJihcXFwiMCM/LixFKy0lXFxcIi5pbmRleE9mKHQ9ZS5jaGFyQXQoKytyKSk+LTF8fHQ9PVxcXCJcXFxcXFxcXFxcXCImJmUuY2hhckF0KHIrMSk9PVxcXCItXFxcIiYmXFxcIjAjXFxcIi5pbmRleE9mKGUuY2hhckF0KHIrMikpPi0xKSl7fWJyZWFrO2Nhc2VcXFwiP1xcXCI6d2hpbGUoZS5jaGFyQXQoKytyKT09PXQpe31icmVhaztjYXNlXFxcIipcXFwiOisrcjtpZihlLmNoYXJBdChyKT09XFxcIiBcXFwifHxlLmNoYXJBdChyKT09XFxcIipcXFwiKSsrcjticmVhaztjYXNlXFxcIihcXFwiOjtjYXNlXFxcIilcXFwiOisrcjticmVhaztjYXNlXFxcIjFcXFwiOjtjYXNlXFxcIjJcXFwiOjtjYXNlXFxcIjNcXFwiOjtjYXNlXFxcIjRcXFwiOjtjYXNlXFxcIjVcXFwiOjtjYXNlXFxcIjZcXFwiOjtjYXNlXFxcIjdcXFwiOjtjYXNlXFxcIjhcXFwiOjtjYXNlXFxcIjlcXFwiOndoaWxlKHI8ZS5sZW5ndGgmJlxcXCIwMTIzNDU2Nzg5XFxcIi5pbmRleE9mKGUuY2hhckF0KCsrcikpPi0xKXt9YnJlYWs7Y2FzZVxcXCIgXFxcIjorK3I7YnJlYWs7ZGVmYXVsdDorK3I7YnJlYWs7fX1yZXR1cm4gZmFsc2V9ZS5pc19kYXRlPUQ7ZnVuY3Rpb24gRihlLHIsdCxhKXt2YXIgbj1bXSxpPVxcXCJcXFwiLHM9MCxmPVxcXCJcXFwiLG89XFxcInRcXFwiLGwsdSxoO3ZhciBkPVxcXCJIXFxcIjt3aGlsZShzPGUubGVuZ3RoKXtzd2l0Y2goZj1lLmNoYXJBdChzKSl7Y2FzZVxcXCJHXFxcIjppZighYyhlLHMpKXRocm93IG5ldyBFcnJvcihcXFwidW5yZWNvZ25pemVkIGNoYXJhY3RlciBcXFwiK2YrXFxcIiBpbiBcXFwiK2UpO25bbi5sZW5ndGhdPXt0OlxcXCJHXFxcIix2OlxcXCJHZW5lcmFsXFxcIn07cys9NzticmVhaztjYXNlJ1xcXCInOmZvcihpPVxcXCJcXFwiOyhoPWUuY2hhckNvZGVBdCgrK3MpKSE9PTM0JiZzPGUubGVuZ3RoOylpKz1TdHJpbmcuZnJvbUNoYXJDb2RlKGgpO25bbi5sZW5ndGhdPXt0OlxcXCJ0XFxcIix2Oml9OysrczticmVhaztjYXNlXFxcIlxcXFxcXFxcXFxcIjp2YXIgdj1lLmNoYXJBdCgrK3MpLHA9dj09PVxcXCIoXFxcInx8dj09PVxcXCIpXFxcIj92OlxcXCJ0XFxcIjtuW24ubGVuZ3RoXT17dDpwLHY6dn07KytzO2JyZWFrO2Nhc2VcXFwiX1xcXCI6bltuLmxlbmd0aF09e3Q6XFxcInRcXFwiLHY6XFxcIiBcXFwifTtzKz0yO2JyZWFrO2Nhc2VcXFwiQFxcXCI6bltuLmxlbmd0aF09e3Q6XFxcIlRcXFwiLHY6cn07KytzO2JyZWFrO2Nhc2VcXFwiQlxcXCI6O2Nhc2VcXFwiYlxcXCI6aWYoZS5jaGFyQXQocysxKT09PVxcXCIxXFxcInx8ZS5jaGFyQXQocysxKT09PVxcXCIyXFxcIil7aWYobD09bnVsbCl7bD13KHIsdCxlLmNoYXJBdChzKzEpPT09XFxcIjJcXFwiKTtpZihsPT1udWxsKXJldHVyblxcXCJcXFwifW5bbi5sZW5ndGhdPXt0OlxcXCJYXFxcIix2OmUuc3Vic3RyKHMsMil9O289ZjtzKz0yO2JyZWFrfTtjYXNlXFxcIk1cXFwiOjtjYXNlXFxcIkRcXFwiOjtjYXNlXFxcIllcXFwiOjtjYXNlXFxcIkhcXFwiOjtjYXNlXFxcIlNcXFwiOjtjYXNlXFxcIkVcXFwiOmY9Zi50b0xvd2VyQ2FzZSgpO2Nhc2VcXFwibVxcXCI6O2Nhc2VcXFwiZFxcXCI6O2Nhc2VcXFwieVxcXCI6O2Nhc2VcXFwiaFxcXCI6O2Nhc2VcXFwic1xcXCI6O2Nhc2VcXFwiZVxcXCI6O2Nhc2VcXFwiZ1xcXCI6aWYocjwwKXJldHVyblxcXCJcXFwiO2lmKGw9PW51bGwpe2w9dyhyLHQpO2lmKGw9PW51bGwpcmV0dXJuXFxcIlxcXCJ9aT1mO3doaWxlKCsrczxlLmxlbmd0aCYmZS5jaGFyQXQocykudG9Mb3dlckNhc2UoKT09PWYpaSs9ZjtpZihmPT09XFxcIm1cXFwiJiZvLnRvTG93ZXJDYXNlKCk9PT1cXFwiaFxcXCIpZj1cXFwiTVxcXCI7aWYoZj09PVxcXCJoXFxcIilmPWQ7bltuLmxlbmd0aF09e3Q6Zix2Oml9O289ZjticmVhaztjYXNlXFxcIkFcXFwiOjtjYXNlXFxcImFcXFwiOjtjYXNlXFxcIuS4ilxcXCI6dmFyIG09e3Q6Zix2OmZ9O2lmKGw9PW51bGwpbD13KHIsdCk7aWYoZS5zdWJzdHIocywzKS50b1VwcGVyQ2FzZSgpPT09XFxcIkEvUFxcXCIpe2lmKGwhPW51bGwpbS52PWwuSD49MTI/XFxcIlBcXFwiOlxcXCJBXFxcIjttLnQ9XFxcIlRcXFwiO2Q9XFxcImhcXFwiO3MrPTN9ZWxzZSBpZihlLnN1YnN0cihzLDUpLnRvVXBwZXJDYXNlKCk9PT1cXFwiQU0vUE1cXFwiKXtpZihsIT1udWxsKW0udj1sLkg+PTEyP1xcXCJQTVxcXCI6XFxcIkFNXFxcIjttLnQ9XFxcIlRcXFwiO3MrPTU7ZD1cXFwiaFxcXCJ9ZWxzZSBpZihlLnN1YnN0cihzLDUpLnRvVXBwZXJDYXNlKCk9PT1cXFwi5LiK5Y2IL+S4i+WNiFxcXCIpe2lmKGwhPW51bGwpbS52PWwuSD49MTI/XFxcIuS4i+WNiFxcXCI6XFxcIuS4iuWNiFxcXCI7bS50PVxcXCJUXFxcIjtzKz01O2Q9XFxcImhcXFwifWVsc2V7bS50PVxcXCJ0XFxcIjsrK3N9aWYobD09bnVsbCYmbS50PT09XFxcIlRcXFwiKXJldHVyblxcXCJcXFwiO25bbi5sZW5ndGhdPW07bz1mO2JyZWFrO2Nhc2VcXFwiW1xcXCI6aT1mO3doaWxlKGUuY2hhckF0KHMrKykhPT1cXFwiXVxcXCImJnM8ZS5sZW5ndGgpaSs9ZS5jaGFyQXQocyk7aWYoaS5zbGljZSgtMSkhPT1cXFwiXVxcXCIpdGhyb3cndW50ZXJtaW5hdGVkIFxcXCJbXFxcIiBibG9jazogfCcraStcXFwifFxcXCI7aWYoaS5tYXRjaChPKSl7aWYobD09bnVsbCl7bD13KHIsdCk7aWYobD09bnVsbClyZXR1cm5cXFwiXFxcIn1uW24ubGVuZ3RoXT17dDpcXFwiWlxcXCIsdjppLnRvTG93ZXJDYXNlKCl9O289aS5jaGFyQXQoMSl9ZWxzZSBpZihpLmluZGV4T2YoXFxcIiRcXFwiKT4tMSl7aT0oaS5tYXRjaCgvXFxcXCQoW14tXFxcXFtcXFxcXV0qKS8pfHxbXSlbMV18fFxcXCIkXFxcIjtpZighRChlKSluW24ubGVuZ3RoXT17dDpcXFwidFxcXCIsdjppfX1icmVhaztjYXNlXFxcIi5cXFwiOmlmKGwhPW51bGwpe2k9Zjt3aGlsZSgrK3M8ZS5sZW5ndGgmJihmPWUuY2hhckF0KHMpKT09PVxcXCIwXFxcIilpKz1mO25bbi5sZW5ndGhdPXt0OlxcXCJzXFxcIix2Oml9O2JyZWFrfTtjYXNlXFxcIjBcXFwiOjtjYXNlXFxcIiNcXFwiOmk9Zjt3aGlsZSgrK3M8ZS5sZW5ndGgmJlxcXCIwIz8uLEUrLSVcXFwiLmluZGV4T2YoZj1lLmNoYXJBdChzKSk+LTEpaSs9ZjtuW24ubGVuZ3RoXT17dDpcXFwiblxcXCIsdjppfTticmVhaztjYXNlXFxcIj9cXFwiOmk9Zjt3aGlsZShlLmNoYXJBdCgrK3MpPT09ZilpKz1mO25bbi5sZW5ndGhdPXt0OmYsdjppfTtvPWY7YnJlYWs7Y2FzZVxcXCIqXFxcIjorK3M7aWYoZS5jaGFyQXQocyk9PVxcXCIgXFxcInx8ZS5jaGFyQXQocyk9PVxcXCIqXFxcIikrK3M7YnJlYWs7Y2FzZVxcXCIoXFxcIjo7Y2FzZVxcXCIpXFxcIjpuW24ubGVuZ3RoXT17dDphPT09MT9cXFwidFxcXCI6Zix2OmZ9OysrczticmVhaztjYXNlXFxcIjFcXFwiOjtjYXNlXFxcIjJcXFwiOjtjYXNlXFxcIjNcXFwiOjtjYXNlXFxcIjRcXFwiOjtjYXNlXFxcIjVcXFwiOjtjYXNlXFxcIjZcXFwiOjtjYXNlXFxcIjdcXFwiOjtjYXNlXFxcIjhcXFwiOjtjYXNlXFxcIjlcXFwiOmk9Zjt3aGlsZShzPGUubGVuZ3RoJiZcXFwiMDEyMzQ1Njc4OVxcXCIuaW5kZXhPZihlLmNoYXJBdCgrK3MpKT4tMSlpKz1lLmNoYXJBdChzKTtuW24ubGVuZ3RoXT17dDpcXFwiRFxcXCIsdjppfTticmVhaztjYXNlXFxcIiBcXFwiOm5bbi5sZW5ndGhdPXt0OmYsdjpmfTsrK3M7YnJlYWs7Y2FzZVxcXCIkXFxcIjpuW24ubGVuZ3RoXT17dDpcXFwidFxcXCIsdjpcXFwiJFxcXCJ9OysrczticmVhaztkZWZhdWx0OmlmKFxcXCIsJC0rLygpOiFeJid+e308Pj3igqxhY2Zpamtsb3BxcnR1dnd4elBcXFwiLmluZGV4T2YoZik9PT0tMSl0aHJvdyBuZXcgRXJyb3IoXFxcInVucmVjb2duaXplZCBjaGFyYWN0ZXIgXFxcIitmK1xcXCIgaW4gXFxcIitlKTtuW24ubGVuZ3RoXT17dDpcXFwidFxcXCIsdjpmfTsrK3M7YnJlYWs7fX12YXIgYj0wLGc9MCxrO2ZvcihzPW4ubGVuZ3RoLTEsbz1cXFwidFxcXCI7cz49MDstLXMpe3N3aXRjaChuW3NdLnQpe2Nhc2VcXFwiaFxcXCI6O2Nhc2VcXFwiSFxcXCI6bltzXS50PWQ7bz1cXFwiaFxcXCI7aWYoYjwxKWI9MTticmVhaztjYXNlXFxcInNcXFwiOmlmKGs9bltzXS52Lm1hdGNoKC9cXFxcLjArJC8pKWc9TWF0aC5tYXgoZyxrWzBdLmxlbmd0aC0xKTtpZihiPDMpYj0zO2Nhc2VcXFwiZFxcXCI6O2Nhc2VcXFwieVxcXCI6O2Nhc2VcXFwiTVxcXCI6O2Nhc2VcXFwiZVxcXCI6bz1uW3NdLnQ7YnJlYWs7Y2FzZVxcXCJtXFxcIjppZihvPT09XFxcInNcXFwiKXtuW3NdLnQ9XFxcIk1cXFwiO2lmKGI8MiliPTJ9YnJlYWs7Y2FzZVxcXCJYXFxcIjpicmVhaztjYXNlXFxcIlpcXFwiOmlmKGI8MSYmbltzXS52Lm1hdGNoKC9bSGhdLykpYj0xO2lmKGI8MiYmbltzXS52Lm1hdGNoKC9bTW1dLykpYj0yO2lmKGI8MyYmbltzXS52Lm1hdGNoKC9bU3NdLykpYj0zO319c3dpdGNoKGIpe2Nhc2UgMDpicmVhaztjYXNlIDE6aWYobC51Pj0uNSl7bC51PTA7KytsLlN9aWYobC5TPj02MCl7bC5TPTA7KytsLk19aWYobC5NPj02MCl7bC5NPTA7KytsLkh9YnJlYWs7Y2FzZSAyOmlmKGwudT49LjUpe2wudT0wOysrbC5TfWlmKGwuUz49NjApe2wuUz0wOysrbC5NfWJyZWFrO312YXIgRT1cXFwiXFxcIixTO2ZvcihzPTA7czxuLmxlbmd0aDsrK3Mpe3N3aXRjaChuW3NdLnQpe2Nhc2VcXFwidFxcXCI6O2Nhc2VcXFwiVFxcXCI6O2Nhc2VcXFwiIFxcXCI6O2Nhc2VcXFwiRFxcXCI6YnJlYWs7Y2FzZVxcXCJYXFxcIjpuW3NdLnY9XFxcIlxcXCI7bltzXS50PVxcXCI7XFxcIjticmVhaztjYXNlXFxcImRcXFwiOjtjYXNlXFxcIm1cXFwiOjtjYXNlXFxcInlcXFwiOjtjYXNlXFxcImhcXFwiOjtjYXNlXFxcIkhcXFwiOjtjYXNlXFxcIk1cXFwiOjtjYXNlXFxcInNcXFwiOjtjYXNlXFxcImVcXFwiOjtjYXNlXFxcImJcXFwiOjtjYXNlXFxcIlpcXFwiOm5bc10udj14KG5bc10udC5jaGFyQ29kZUF0KDApLG5bc10udixsLGcpO25bc10udD1cXFwidFxcXCI7YnJlYWs7Y2FzZVxcXCJuXFxcIjo7Y2FzZVxcXCI/XFxcIjpTPXMrMTt3aGlsZShuW1NdIT1udWxsJiYoKGY9bltTXS50KT09PVxcXCI/XFxcInx8Zj09PVxcXCJEXFxcInx8KGY9PT1cXFwiIFxcXCJ8fGY9PT1cXFwidFxcXCIpJiZuW1MrMV0hPW51bGwmJihuW1MrMV0udD09PVxcXCI/XFxcInx8bltTKzFdLnQ9PT1cXFwidFxcXCImJm5bUysxXS52PT09XFxcIi9cXFwiKXx8bltzXS50PT09XFxcIihcXFwiJiYoZj09PVxcXCIgXFxcInx8Zj09PVxcXCJuXFxcInx8Zj09PVxcXCIpXFxcIil8fGY9PT1cXFwidFxcXCImJihuW1NdLnY9PT1cXFwiL1xcXCJ8fG5bU10udj09PVxcXCIgXFxcIiYmbltTKzFdIT1udWxsJiZuW1MrMV0udD09XFxcIj9cXFwiKSkpe25bc10udis9bltTXS52O25bU109e3Y6XFxcIlxcXCIsdDpcXFwiO1xcXCJ9OysrU31FKz1uW3NdLnY7cz1TLTE7YnJlYWs7Y2FzZVxcXCJHXFxcIjpuW3NdLnQ9XFxcInRcXFwiO25bc10udj1UKHIsdCk7YnJlYWs7fX12YXIgXz1cXFwiXFxcIixDLEI7aWYoRS5sZW5ndGg+MCl7aWYoRS5jaGFyQ29kZUF0KDApPT00MCl7Qz1yPDAmJkUuY2hhckNvZGVBdCgwKT09PTQ1Py1yOnI7Qj1JKFxcXCJuXFxcIixFLEMpfWVsc2V7Qz1yPDAmJmE+MT8tcjpyO0I9SShcXFwiblxcXCIsRSxDKTtpZihDPDAmJm5bMF0mJm5bMF0udD09XFxcInRcXFwiKXtCPUIuc3Vic3RyKDEpO25bMF0udj1cXFwiLVxcXCIrblswXS52fX1TPUIubGVuZ3RoLTE7dmFyIHk9bi5sZW5ndGg7Zm9yKHM9MDtzPG4ubGVuZ3RoOysrcylpZihuW3NdIT1udWxsJiZuW3NdLnQhPVxcXCJ0XFxcIiYmbltzXS52LmluZGV4T2YoXFxcIi5cXFwiKT4tMSl7eT1zO2JyZWFrfXZhciBBPW4ubGVuZ3RoO2lmKHk9PT1uLmxlbmd0aCYmQi5pbmRleE9mKFxcXCJFXFxcIik9PT0tMSl7Zm9yKHM9bi5sZW5ndGgtMTtzPj0wOy0tcyl7aWYobltzXT09bnVsbHx8XFxcIm4/XFxcIi5pbmRleE9mKG5bc10udCk9PT0tMSljb250aW51ZTtpZihTPj1uW3NdLnYubGVuZ3RoLTEpe1MtPW5bc10udi5sZW5ndGg7bltzXS52PUIuc3Vic3RyKFMrMSxuW3NdLnYubGVuZ3RoKX1lbHNlIGlmKFM8MCluW3NdLnY9XFxcIlxcXCI7ZWxzZXtuW3NdLnY9Qi5zdWJzdHIoMCxTKzEpO1M9LTF9bltzXS50PVxcXCJ0XFxcIjtBPXN9aWYoUz49MCYmQTxuLmxlbmd0aCluW0FdLnY9Qi5zdWJzdHIoMCxTKzEpK25bQV0udn1lbHNlIGlmKHkhPT1uLmxlbmd0aCYmQi5pbmRleE9mKFxcXCJFXFxcIik9PT0tMSl7Uz1CLmluZGV4T2YoXFxcIi5cXFwiKS0xO2ZvcihzPXk7cz49MDstLXMpe2lmKG5bc109PW51bGx8fFxcXCJuP1xcXCIuaW5kZXhPZihuW3NdLnQpPT09LTEpY29udGludWU7dT1uW3NdLnYuaW5kZXhPZihcXFwiLlxcXCIpPi0xJiZzPT09eT9uW3NdLnYuaW5kZXhPZihcXFwiLlxcXCIpLTE6bltzXS52Lmxlbmd0aC0xO189bltzXS52LnN1YnN0cih1KzEpO2Zvcig7dT49MDstLXUpe2lmKFM+PTAmJihuW3NdLnYuY2hhckF0KHUpPT09XFxcIjBcXFwifHxuW3NdLnYuY2hhckF0KHUpPT09XFxcIiNcXFwiKSlfPUIuY2hhckF0KFMtLSkrX31uW3NdLnY9XztuW3NdLnQ9XFxcInRcXFwiO0E9c31pZihTPj0wJiZBPG4ubGVuZ3RoKW5bQV0udj1CLnN1YnN0cigwLFMrMSkrbltBXS52O1M9Qi5pbmRleE9mKFxcXCIuXFxcIikrMTtmb3Iocz15O3M8bi5sZW5ndGg7KytzKXtpZihuW3NdPT1udWxsfHxcXFwibj8oXFxcIi5pbmRleE9mKG5bc10udCk9PT0tMSYmcyE9PXkpY29udGludWU7dT1uW3NdLnYuaW5kZXhPZihcXFwiLlxcXCIpPi0xJiZzPT09eT9uW3NdLnYuaW5kZXhPZihcXFwiLlxcXCIpKzE6MDtfPW5bc10udi5zdWJzdHIoMCx1KTtmb3IoO3U8bltzXS52Lmxlbmd0aDsrK3Upe2lmKFM8Qi5sZW5ndGgpXys9Qi5jaGFyQXQoUysrKX1uW3NdLnY9XztuW3NdLnQ9XFxcInRcXFwiO0E9c319fWZvcihzPTA7czxuLmxlbmd0aDsrK3MpaWYobltzXSE9bnVsbCYmXFxcIm4/XFxcIi5pbmRleE9mKG5bc10udCk+LTEpe0M9YT4xJiZyPDAmJnM+MCYmbltzLTFdLnY9PT1cXFwiLVxcXCI/LXI6cjtuW3NdLnY9SShuW3NdLnQsbltzXS52LEMpO25bc10udD1cXFwidFxcXCJ9dmFyIFI9XFxcIlxcXCI7Zm9yKHM9MDtzIT09bi5sZW5ndGg7KytzKWlmKG5bc10hPW51bGwpUis9bltzXS52O3JldHVybiBSfWUuX2V2YWw9Rjt2YXIgUD0vXFxcXFtbPTw+XS87dmFyIE49L1xcXFxbKD18Pls9XT98PFs+PV0/KSgtP1xcXFxkKyg/OlxcXFwuXFxcXGQqKT8pXFxcXF0vO2Z1bmN0aW9uIEwoZSxyKXtpZihyPT1udWxsKXJldHVybiBmYWxzZTt2YXIgdD1wYXJzZUZsb2F0KHJbMl0pO3N3aXRjaChyWzFdKXtjYXNlXFxcIj1cXFwiOmlmKGU9PXQpcmV0dXJuIHRydWU7YnJlYWs7Y2FzZVxcXCI+XFxcIjppZihlPnQpcmV0dXJuIHRydWU7YnJlYWs7Y2FzZVxcXCI8XFxcIjppZihlPHQpcmV0dXJuIHRydWU7YnJlYWs7Y2FzZVxcXCI8PlxcXCI6aWYoZSE9dClyZXR1cm4gdHJ1ZTticmVhaztjYXNlXFxcIj49XFxcIjppZihlPj10KXJldHVybiB0cnVlO2JyZWFrO2Nhc2VcXFwiPD1cXFwiOmlmKGU8PXQpcmV0dXJuIHRydWU7YnJlYWs7fXJldHVybiBmYWxzZX1mdW5jdGlvbiBNKGUscil7dmFyIHQ9UihlKTt2YXIgYT10Lmxlbmd0aCxuPXRbYS0xXS5pbmRleE9mKFxcXCJAXFxcIik7aWYoYTw0JiZuPi0xKS0tYTtpZih0Lmxlbmd0aD40KXRocm93IG5ldyBFcnJvcihcXFwiY2Fubm90IGZpbmQgcmlnaHQgZm9ybWF0IGZvciB8XFxcIit0LmpvaW4oXFxcInxcXFwiKStcXFwifFxcXCIpO2lmKHR5cGVvZiByIT09XFxcIm51bWJlclxcXCIpcmV0dXJuWzQsdC5sZW5ndGg9PT00fHxuPi0xP3RbdC5sZW5ndGgtMV06XFxcIkBcXFwiXTtzd2l0Y2godC5sZW5ndGgpe2Nhc2UgMTp0PW4+LTE/W1xcXCJHZW5lcmFsXFxcIixcXFwiR2VuZXJhbFxcXCIsXFxcIkdlbmVyYWxcXFwiLHRbMF1dOlt0WzBdLHRbMF0sdFswXSxcXFwiQFxcXCJdO2JyZWFrO2Nhc2UgMjp0PW4+LTE/W3RbMF0sdFswXSx0WzBdLHRbMV1dOlt0WzBdLHRbMV0sdFswXSxcXFwiQFxcXCJdO2JyZWFrO2Nhc2UgMzp0PW4+LTE/W3RbMF0sdFsxXSx0WzBdLHRbMl1dOlt0WzBdLHRbMV0sdFsyXSxcXFwiQFxcXCJdO2JyZWFrO2Nhc2UgNDpicmVhazt9dmFyIGk9cj4wP3RbMF06cjwwP3RbMV06dFsyXTtpZih0WzBdLmluZGV4T2YoXFxcIltcXFwiKT09PS0xJiZ0WzFdLmluZGV4T2YoXFxcIltcXFwiKT09PS0xKXJldHVyblthLGldO2lmKHRbMF0ubWF0Y2goUCkhPW51bGx8fHRbMV0ubWF0Y2goUCkhPW51bGwpe3ZhciBzPXRbMF0ubWF0Y2goTik7dmFyIGY9dFsxXS5tYXRjaChOKTtyZXR1cm4gTChyLHMpP1thLHRbMF1dOkwocixmKT9bYSx0WzFdXTpbYSx0W3MhPW51bGwmJmYhPW51bGw/MjoxXV19cmV0dXJuW2EsaV19ZnVuY3Rpb24gVShlLHIsdCl7aWYodD09bnVsbCl0PXt9O3ZhciBhPVxcXCJcXFwiO3N3aXRjaCh0eXBlb2YgZSl7Y2FzZVxcXCJzdHJpbmdcXFwiOmlmKGU9PVxcXCJtL2QveXlcXFwiJiZ0LmRhdGVORilhPXQuZGF0ZU5GO2Vsc2UgYT1lO2JyZWFrO2Nhc2VcXFwibnVtYmVyXFxcIjppZihlPT0xNCYmdC5kYXRlTkYpYT10LmRhdGVORjtlbHNlIGE9KHQudGFibGUhPW51bGw/dC50YWJsZTp2KVtlXTtpZihhPT1udWxsKWE9dC50YWJsZSYmdC50YWJsZVtwW2VdXXx8dltwW2VdXTtpZihhPT1udWxsKWE9YltlXXx8XFxcIkdlbmVyYWxcXFwiO2JyZWFrO31pZihjKGEsMCkpcmV0dXJuIFQocix0KTtpZihyIGluc3RhbmNlb2YgRGF0ZSlyPV8ocix0LmRhdGUxOTA0KTt2YXIgbj1NKGEscik7aWYoYyhuWzFdKSlyZXR1cm4gVChyLHQpO2lmKHI9PT10cnVlKXI9XFxcIlRSVUVcXFwiO2Vsc2UgaWYocj09PWZhbHNlKXI9XFxcIkZBTFNFXFxcIjtlbHNlIGlmKHI9PT1cXFwiXFxcInx8cj09bnVsbClyZXR1cm5cXFwiXFxcIjtyZXR1cm4gRihuWzFdLHIsdCxuWzBdKX1mdW5jdGlvbiB6KGUscil7aWYodHlwZW9mIHIhPVxcXCJudW1iZXJcXFwiKXtyPStyfHwtMTtmb3IodmFyIHQ9MDt0PDM5MjsrK3Qpe2lmKHZbdF09PXVuZGVmaW5lZCl7aWYocjwwKXI9dDtjb250aW51ZX1pZih2W3RdPT1lKXtyPXQ7YnJlYWt9fWlmKHI8MClyPTM5MX12W3JdPWU7cmV0dXJuIHJ9ZS5sb2FkPXo7ZS5fdGFibGU9djtlLmdldF90YWJsZT1mdW5jdGlvbiBWKCl7cmV0dXJuIHZ9O2UubG9hZF90YWJsZT1mdW5jdGlvbiBYKGUpe2Zvcih2YXIgcj0wO3IhPTM5MjsrK3IpaWYoZVtyXSE9PXVuZGVmaW5lZCl6KGVbcl0scil9O2UuaW5pdF90YWJsZT1kO2UuZm9ybWF0PVV9O0YoRCk7dmFyIFA9e1xcXCJHZW5lcmFsIE51bWJlclxcXCI6XFxcIkdlbmVyYWxcXFwiLFxcXCJHZW5lcmFsIERhdGVcXFwiOkQuX3RhYmxlWzIyXSxcXFwiTG9uZyBEYXRlXFxcIjpcXFwiZGRkZCwgbW1tbSBkZCwgeXl5eVxcXCIsXFxcIk1lZGl1bSBEYXRlXFxcIjpELl90YWJsZVsxNV0sXFxcIlNob3J0IERhdGVcXFwiOkQuX3RhYmxlWzE0XSxcXFwiTG9uZyBUaW1lXFxcIjpELl90YWJsZVsxOV0sXFxcIk1lZGl1bSBUaW1lXFxcIjpELl90YWJsZVsxOF0sXFxcIlNob3J0IFRpbWVcXFwiOkQuX3RhYmxlWzIwXSxDdXJyZW5jeTonXFxcIiRcXFwiIywjIzAuMDBfKTtbUmVkXVxcXFxcXFxcKFxcXCIkXFxcIiMsIyMwLjAwXFxcXFxcXFwpJyxGaXhlZDpELl90YWJsZVsyXSxTdGFuZGFyZDpELl90YWJsZVs0XSxQZXJjZW50OkQuX3RhYmxlWzEwXSxTY2llbnRpZmljOkQuX3RhYmxlWzExXSxcXFwiWWVzL05vXFxcIjonXFxcIlllc1xcXCI7XFxcIlllc1xcXCI7XFxcIk5vXFxcIjtAJyxcXFwiVHJ1ZS9GYWxzZVxcXCI6J1xcXCJUcnVlXFxcIjtcXFwiVHJ1ZVxcXCI7XFxcIkZhbHNlXFxcIjtAJyxcXFwiT24vT2ZmXFxcIjonXFxcIlllc1xcXCI7XFxcIlllc1xcXCI7XFxcIk5vXFxcIjtAJ307dmFyIE49ezU6J1xcXCIkXFxcIiMsIyMwXyk7XFxcXFxcXFwoXFxcIiRcXFwiIywjIzBcXFxcXFxcXCknLDY6J1xcXCIkXFxcIiMsIyMwXyk7W1JlZF1cXFxcXFxcXChcXFwiJFxcXCIjLCMjMFxcXFxcXFxcKScsNzonXFxcIiRcXFwiIywjIzAuMDBfKTtcXFxcXFxcXChcXFwiJFxcXCIjLCMjMC4wMFxcXFxcXFxcKScsODonXFxcIiRcXFwiIywjIzAuMDBfKTtbUmVkXVxcXFxcXFxcKFxcXCIkXFxcIiMsIyMwLjAwXFxcXFxcXFwpJywyMzpcXFwiR2VuZXJhbFxcXCIsMjQ6XFxcIkdlbmVyYWxcXFwiLDI1OlxcXCJHZW5lcmFsXFxcIiwyNjpcXFwiR2VuZXJhbFxcXCIsMjc6XFxcIm0vZC95eVxcXCIsMjg6XFxcIm0vZC95eVxcXCIsMjk6XFxcIm0vZC95eVxcXCIsMzA6XFxcIm0vZC95eVxcXCIsMzE6XFxcIm0vZC95eVxcXCIsMzI6XFxcImg6bW06c3NcXFwiLDMzOlxcXCJoOm1tOnNzXFxcIiwzNDpcXFwiaDptbTpzc1xcXCIsMzU6XFxcImg6bW06c3NcXFwiLDM2OlxcXCJtL2QveXlcXFwiLDQxOidfKCogIywjIzBfKTtfKCogKCMsIyMwKTtfKCogXFxcIi1cXFwiXyk7XyhAXyknLDQyOidfKFxcXCIkXFxcIiogIywjIzBfKTtfKFxcXCIkXFxcIiogKCMsIyMwKTtfKFxcXCIkXFxcIiogXFxcIi1cXFwiXyk7XyhAXyknLDQzOidfKCogIywjIzAuMDBfKTtfKCogKCMsIyMwLjAwKTtfKCogXFxcIi1cXFwiPz9fKTtfKEBfKScsNDQ6J18oXFxcIiRcXFwiKiAjLCMjMC4wMF8pO18oXFxcIiRcXFwiKiAoIywjIzAuMDApO18oXFxcIiRcXFwiKiBcXFwiLVxcXCI/P18pO18oQF8pJyw1MDpcXFwibS9kL3l5XFxcIiw1MTpcXFwibS9kL3l5XFxcIiw1MjpcXFwibS9kL3l5XFxcIiw1MzpcXFwibS9kL3l5XFxcIiw1NDpcXFwibS9kL3l5XFxcIiw1NTpcXFwibS9kL3l5XFxcIiw1NjpcXFwibS9kL3l5XFxcIiw1NzpcXFwibS9kL3l5XFxcIiw1ODpcXFwibS9kL3l5XFxcIiw1OTpcXFwiMFxcXCIsNjA6XFxcIjAuMDBcXFwiLDYxOlxcXCIjLCMjMFxcXCIsNjI6XFxcIiMsIyMwLjAwXFxcIiw2MzonXFxcIiRcXFwiIywjIzBfKTtcXFxcXFxcXChcXFwiJFxcXCIjLCMjMFxcXFxcXFxcKScsNjQ6J1xcXCIkXFxcIiMsIyMwXyk7W1JlZF1cXFxcXFxcXChcXFwiJFxcXCIjLCMjMFxcXFxcXFxcKScsNjU6J1xcXCIkXFxcIiMsIyMwLjAwXyk7XFxcXFxcXFwoXFxcIiRcXFwiIywjIzAuMDBcXFxcXFxcXCknLDY2OidcXFwiJFxcXCIjLCMjMC4wMF8pO1tSZWRdXFxcXFxcXFwoXFxcIiRcXFwiIywjIzAuMDBcXFxcXFxcXCknLDY3OlxcXCIwJVxcXCIsNjg6XFxcIjAuMDAlXFxcIiw2OTpcXFwiIyA/Lz9cXFwiLDcwOlxcXCIjID8/Lz8/XFxcIiw3MTpcXFwibS9kL3l5XFxcIiw3MjpcXFwibS9kL3l5XFxcIiw3MzpcXFwiZC1tbW0teXlcXFwiLDc0OlxcXCJkLW1tbVxcXCIsNzU6XFxcIm1tbS15eVxcXCIsNzY6XFxcImg6bW1cXFwiLDc3OlxcXCJoOm1tOnNzXFxcIiw3ODpcXFwibS9kL3l5IGg6bW1cXFwiLDc5OlxcXCJtbTpzc1xcXCIsODA6XFxcIltoXTptbTpzc1xcXCIsODE6XFxcIm1tc3MuMFxcXCJ9O3ZhciBMPS9bZERdK3xbbU1dK3xbeVllRV0rfFtIaF0rfFtTc10rL2c7ZnVuY3Rpb24gTShlKXt2YXIgcj10eXBlb2YgZT09XFxcIm51bWJlclxcXCI/RC5fdGFibGVbZV06ZTtyPXIucmVwbGFjZShMLFxcXCIoXFxcXFxcXFxkKylcXFwiKTtyZXR1cm4gbmV3IFJlZ0V4cChcXFwiXlxcXCIrcitcXFwiJFxcXCIpfWZ1bmN0aW9uIFUoZSxyLHQpe3ZhciBhPS0xLG49LTEsaT0tMSxzPS0xLGY9LTEsbz0tMTsoci5tYXRjaChMKXx8W10pLmZvckVhY2goZnVuY3Rpb24oZSxyKXt2YXIgbD1wYXJzZUludCh0W3IrMV0sMTApO3N3aXRjaChlLnRvTG93ZXJDYXNlKCkuY2hhckF0KDApKXtjYXNlXFxcInlcXFwiOmE9bDticmVhaztjYXNlXFxcImRcXFwiOmk9bDticmVhaztjYXNlXFxcImhcXFwiOnM9bDticmVhaztjYXNlXFxcInNcXFwiOm89bDticmVhaztjYXNlXFxcIm1cXFwiOmlmKHM+PTApZj1sO2Vsc2Ugbj1sO2JyZWFrO319KTtpZihvPj0wJiZmPT0tMSYmbj49MCl7Zj1uO249LTF9dmFyIGw9KFxcXCJcXFwiKyhhPj0wP2E6KG5ldyBEYXRlKS5nZXRGdWxsWWVhcigpKSkuc2xpY2UoLTQpK1xcXCItXFxcIisoXFxcIjAwXFxcIisobj49MT9uOjEpKS5zbGljZSgtMikrXFxcIi1cXFwiKyhcXFwiMDBcXFwiKyhpPj0xP2k6MSkpLnNsaWNlKC0yKTtpZihsLmxlbmd0aD09NylsPVxcXCIwXFxcIitsO2lmKGwubGVuZ3RoPT04KWw9XFxcIjIwXFxcIitsO3ZhciBjPShcXFwiMDBcXFwiKyhzPj0wP3M6MCkpLnNsaWNlKC0yKStcXFwiOlxcXCIrKFxcXCIwMFxcXCIrKGY+PTA/ZjowKSkuc2xpY2UoLTIpK1xcXCI6XFxcIisoXFxcIjAwXFxcIisobz49MD9vOjApKS5zbGljZSgtMik7aWYocz09LTEmJmY9PS0xJiZvPT0tMSlyZXR1cm4gbDtpZihhPT0tMSYmbj09LTEmJmk9PS0xKXJldHVybiBjO3JldHVybiBsK1xcXCJUXFxcIitjfXZhciB6PXRydWU7dmFyIEg7KGZ1bmN0aW9uKGUpe2UoSD17fSl9KShmdW5jdGlvbihlKXtlLnZlcnNpb249XFxcIjEuMi4wXFxcIjtmdW5jdGlvbiByKCl7dmFyIGU9MCxyPW5ldyBBcnJheSgyNTYpO2Zvcih2YXIgdD0wO3QhPTI1NjsrK3Qpe2U9dDtlPWUmMT8tMzA2Njc0OTEyXmU+Pj4xOmU+Pj4xO2U9ZSYxPy0zMDY2NzQ5MTJeZT4+PjE6ZT4+PjE7ZT1lJjE/LTMwNjY3NDkxMl5lPj4+MTplPj4+MTtlPWUmMT8tMzA2Njc0OTEyXmU+Pj4xOmU+Pj4xO2U9ZSYxPy0zMDY2NzQ5MTJeZT4+PjE6ZT4+PjE7ZT1lJjE/LTMwNjY3NDkxMl5lPj4+MTplPj4+MTtlPWUmMT8tMzA2Njc0OTEyXmU+Pj4xOmU+Pj4xO2U9ZSYxPy0zMDY2NzQ5MTJeZT4+PjE6ZT4+PjE7clt0XT1lfXJldHVybiB0eXBlb2YgSW50MzJBcnJheSE9PVxcXCJ1bmRlZmluZWRcXFwiP25ldyBJbnQzMkFycmF5KHIpOnJ9dmFyIHQ9cigpO2Z1bmN0aW9uIGEoZSxyKXt2YXIgYT1yXi0xLG49ZS5sZW5ndGgtMTtmb3IodmFyIGk9MDtpPG47KXthPWE+Pj44XnRbKGFeZS5jaGFyQ29kZUF0KGkrKykpJjI1NV07YT1hPj4+OF50WyhhXmUuY2hhckNvZGVBdChpKyspKSYyNTVdfWlmKGk9PT1uKWE9YT4+PjhedFsoYV5lLmNoYXJDb2RlQXQoaSkpJjI1NV07cmV0dXJuIGFeLTF9ZnVuY3Rpb24gbihlLHIpe2lmKGUubGVuZ3RoPjFlNClyZXR1cm4gaShlLHIpO3ZhciBhPXJeLTEsbj1lLmxlbmd0aC0zO2Zvcih2YXIgcz0wO3M8bjspe2E9YT4+PjhedFsoYV5lW3MrK10pJjI1NV07YT1hPj4+OF50WyhhXmVbcysrXSkmMjU1XTthPWE+Pj44XnRbKGFeZVtzKytdKSYyNTVdO2E9YT4+PjhedFsoYV5lW3MrK10pJjI1NV19d2hpbGUoczxuKzMpYT1hPj4+OF50WyhhXmVbcysrXSkmMjU1XTtyZXR1cm4gYV4tMX1mdW5jdGlvbiBpKGUscil7dmFyIGE9cl4tMSxuPWUubGVuZ3RoLTc7Zm9yKHZhciBpPTA7aTxuOyl7YT1hPj4+OF50WyhhXmVbaSsrXSkmMjU1XTthPWE+Pj44XnRbKGFeZVtpKytdKSYyNTVdO2E9YT4+PjhedFsoYV5lW2krK10pJjI1NV07YT1hPj4+OF50WyhhXmVbaSsrXSkmMjU1XTthPWE+Pj44XnRbKGFeZVtpKytdKSYyNTVdO2E9YT4+PjhedFsoYV5lW2krK10pJjI1NV07YT1hPj4+OF50WyhhXmVbaSsrXSkmMjU1XTthPWE+Pj44XnRbKGFeZVtpKytdKSYyNTVdfXdoaWxlKGk8bis3KWE9YT4+PjhedFsoYV5lW2krK10pJjI1NV07cmV0dXJuIGFeLTF9ZnVuY3Rpb24gcyhlLHIpe3ZhciBhPXJeLTE7Zm9yKHZhciBuPTAsaT1lLmxlbmd0aCxzLGY7bjxpOyl7cz1lLmNoYXJDb2RlQXQobisrKTtpZihzPDEyOCl7YT1hPj4+OF50WyhhXnMpJjI1NV19ZWxzZSBpZihzPDIwNDgpe2E9YT4+PjhedFsoYV4oMTkyfHM+PjYmMzEpKSYyNTVdO2E9YT4+PjhedFsoYV4oMTI4fHMmNjMpKSYyNTVdfWVsc2UgaWYocz49NTUyOTYmJnM8NTczNDQpe3M9KHMmMTAyMykrNjQ7Zj1lLmNoYXJDb2RlQXQobisrKSYxMDIzO2E9YT4+PjhedFsoYV4oMjQwfHM+PjgmNykpJjI1NV07YT1hPj4+OF50WyhhXigxMjh8cz4+MiY2MykpJjI1NV07YT1hPj4+OF50WyhhXigxMjh8Zj4+NiYxNXwocyYzKTw8NCkpJjI1NV07YT1hPj4+OF50WyhhXigxMjh8ZiY2MykpJjI1NV19ZWxzZXthPWE+Pj44XnRbKGFeKDIyNHxzPj4xMiYxNSkpJjI1NV07YT1hPj4+OF50WyhhXigxMjh8cz4+NiY2MykpJjI1NV07YT1hPj4+OF50WyhhXigxMjh8cyY2MykpJjI1NV19fXJldHVybiBhXi0xfWUudGFibGU9dDtlLmJzdHI9YTtlLmJ1Zj1uO2Uuc3RyPXN9KTt2YXIgVz1mdW5jdGlvbiBiYigpe3ZhciBlPXt9O2UudmVyc2lvbj1cXFwiMS4xLjRcXFwiO2Z1bmN0aW9uIHIoZSxyKXt2YXIgdD1lLnNwbGl0KFxcXCIvXFxcIiksYT1yLnNwbGl0KFxcXCIvXFxcIik7Zm9yKHZhciBuPTAsaT0wLHM9TWF0aC5taW4odC5sZW5ndGgsYS5sZW5ndGgpO248czsrK24pe2lmKGk9dFtuXS5sZW5ndGgtYVtuXS5sZW5ndGgpcmV0dXJuIGk7aWYodFtuXSE9YVtuXSlyZXR1cm4gdFtuXTxhW25dPy0xOjF9cmV0dXJuIHQubGVuZ3RoLWEubGVuZ3RofWZ1bmN0aW9uIHQoZSl7aWYoZS5jaGFyQXQoZS5sZW5ndGgtMSk9PVxcXCIvXFxcIilyZXR1cm4gZS5zbGljZSgwLC0xKS5pbmRleE9mKFxcXCIvXFxcIik9PT0tMT9lOnQoZS5zbGljZSgwLC0xKSk7dmFyIHI9ZS5sYXN0SW5kZXhPZihcXFwiL1xcXCIpO3JldHVybiByPT09LTE/ZTplLnNsaWNlKDAscisxKX1mdW5jdGlvbiBhKGUpe2lmKGUuY2hhckF0KGUubGVuZ3RoLTEpPT1cXFwiL1xcXCIpcmV0dXJuIGEoZS5zbGljZSgwLC0xKSk7dmFyIHI9ZS5sYXN0SW5kZXhPZihcXFwiL1xcXCIpO3JldHVybiByPT09LTE/ZTplLnNsaWNlKHIrMSl9ZnVuY3Rpb24gbihlLHIpe2lmKHR5cGVvZiByPT09XFxcInN0cmluZ1xcXCIpcj1uZXcgRGF0ZShyKTt2YXIgdD1yLmdldEhvdXJzKCk7dD10PDw2fHIuZ2V0TWludXRlcygpO3Q9dDw8NXxyLmdldFNlY29uZHMoKT4+PjE7ZS5fVygyLHQpO3ZhciBhPXIuZ2V0RnVsbFllYXIoKS0xOTgwO2E9YTw8NHxyLmdldE1vbnRoKCkrMTthPWE8PDV8ci5nZXREYXRlKCk7ZS5fVygyLGEpfWZ1bmN0aW9uIGkoZSl7dmFyIHI9ZS5fUigyKSY2NTUzNTt2YXIgdD1lLl9SKDIpJjY1NTM1O3ZhciBhPW5ldyBEYXRlO3ZhciBuPXQmMzE7dD4+Pj01O3ZhciBpPXQmMTU7dD4+Pj00O2Euc2V0TWlsbGlzZWNvbmRzKDApO2Euc2V0RnVsbFllYXIodCsxOTgwKTthLnNldE1vbnRoKGktMSk7YS5zZXREYXRlKG4pO3ZhciBzPXImMzE7cj4+Pj01O3ZhciBmPXImNjM7cj4+Pj02O2Euc2V0SG91cnMocik7YS5zZXRNaW51dGVzKGYpO2Euc2V0U2Vjb25kcyhzPDwxKTtyZXR1cm4gYX1mdW5jdGlvbiBzKGUpe1lyKGUsMCk7dmFyIHI9e307dmFyIHQ9MDt3aGlsZShlLmw8PWUubGVuZ3RoLTQpe3ZhciBhPWUuX1IoMik7dmFyIG49ZS5fUigyKSxpPWUubCtuO3ZhciBzPXt9O3N3aXRjaChhKXtjYXNlIDIxNTg5Ont0PWUuX1IoMSk7aWYodCYxKXMubXRpbWU9ZS5fUig0KTtpZihuPjUpe2lmKHQmMilzLmF0aW1lPWUuX1IoNCk7aWYodCY0KXMuY3RpbWU9ZS5fUig0KX1pZihzLm10aW1lKXMubXQ9bmV3IERhdGUocy5tdGltZSoxZTMpfWJyZWFrO31lLmw9aTtyW2FdPXN9cmV0dXJuIHJ9dmFyIGY7ZnVuY3Rpb24gbygpe3JldHVybiBmfHwoZj1yZXF1aXJlKFxcXCJmc1xcXCIpKX1mdW5jdGlvbiBsKGUscil7aWYoZVswXT09ODAmJmVbMV09PTc1KXJldHVybiBUZShlLHIpO2lmKGUubGVuZ3RoPDUxMil0aHJvdyBuZXcgRXJyb3IoXFxcIkNGQiBmaWxlIHNpemUgXFxcIitlLmxlbmd0aCtcXFwiIDwgNTEyXFxcIik7dmFyIHQ9Mzt2YXIgYT01MTI7dmFyIG49MDt2YXIgaT0wO3ZhciBzPTA7dmFyIGY9MDt2YXIgbz0wO3ZhciBsPVtdO3ZhciB2PWUuc2xpY2UoMCw1MTIpO1lyKHYsMCk7dmFyIG09Yyh2KTt0PW1bMF07c3dpdGNoKHQpe2Nhc2UgMzphPTUxMjticmVhaztjYXNlIDQ6YT00MDk2O2JyZWFrO2Nhc2UgMDppZihtWzFdPT0wKXJldHVybiBUZShlLHIpO2RlZmF1bHQ6dGhyb3cgbmV3IEVycm9yKFxcXCJNYWpvciBWZXJzaW9uOiBFeHBlY3RlZCAzIG9yIDQgc2F3IFxcXCIrdCk7fWlmKGEhPT01MTIpe3Y9ZS5zbGljZSgwLGEpO1lyKHYsMjgpfXZhciBnPWUuc2xpY2UoMCxhKTt1KHYsdCk7dmFyIHc9di5fUig0LFxcXCJpXFxcIik7aWYodD09PTMmJnchPT0wKXRocm93IG5ldyBFcnJvcihcXFwiIyBEaXJlY3RvcnkgU2VjdG9yczogRXhwZWN0ZWQgMCBzYXcgXFxcIit3KTt2LmwrPTQ7cz12Ll9SKDQsXFxcImlcXFwiKTt2LmwrPTQ7di5jaGsoXFxcIjAwMTAwMDAwXFxcIixcXFwiTWluaSBTdHJlYW0gQ3V0b2ZmIFNpemU6IFxcXCIpO2Y9di5fUig0LFxcXCJpXFxcIik7bj12Ll9SKDQsXFxcImlcXFwiKTtvPXYuX1IoNCxcXFwiaVxcXCIpO2k9di5fUig0LFxcXCJpXFxcIik7Zm9yKHZhciBFPS0xLFM9MDtTPDEwOTsrK1Mpe0U9di5fUig0LFxcXCJpXFxcIik7aWYoRTwwKWJyZWFrO2xbU109RX12YXIgXz1oKGUsYSk7cChvLGksXyxhLGwpO3ZhciBDPWIoXyxzLGwsYSk7Q1tzXS5uYW1lPVxcXCIhRGlyZWN0b3J5XFxcIjtpZihuPjAmJmYhPT1OKUNbZl0ubmFtZT1cXFwiIU1pbmlGQVRcXFwiO0NbbFswXV0ubmFtZT1cXFwiIUZBVFxcXCI7Qy5mYXRfYWRkcnM9bDtDLnNzej1hO3ZhciBCPXt9LFQ9W10seT1bXSx4PVtdO2socyxDLF8sVCxuLEIseSxmKTtkKHkseCxUKTtULnNoaWZ0KCk7dmFyIEE9e0ZpbGVJbmRleDp5LEZ1bGxQYXRoczp4fTtpZihyJiZyLnJhdylBLnJhdz17aGVhZGVyOmcsc2VjdG9yczpffTtyZXR1cm4gQX1mdW5jdGlvbiBjKGUpe2lmKGVbZS5sXT09ODAmJmVbZS5sKzFdPT03NSlyZXR1cm5bMCwwXTtlLmNoayhMLFxcXCJIZWFkZXIgU2lnbmF0dXJlOiBcXFwiKTtlLmwrPTE2O3ZhciByPWUuX1IoMixcXFwidVxcXCIpO3JldHVybltlLl9SKDIsXFxcInVcXFwiKSxyXX1mdW5jdGlvbiB1KGUscil7dmFyIHQ9OTtlLmwrPTI7c3dpdGNoKHQ9ZS5fUigyKSl7Y2FzZSA5OmlmKHIhPTMpdGhyb3cgbmV3IEVycm9yKFxcXCJTZWN0b3IgU2hpZnQ6IEV4cGVjdGVkIDkgc2F3IFxcXCIrdCk7YnJlYWs7Y2FzZSAxMjppZihyIT00KXRocm93IG5ldyBFcnJvcihcXFwiU2VjdG9yIFNoaWZ0OiBFeHBlY3RlZCAxMiBzYXcgXFxcIit0KTticmVhaztkZWZhdWx0OnRocm93IG5ldyBFcnJvcihcXFwiU2VjdG9yIFNoaWZ0OiBFeHBlY3RlZCA5IG9yIDEyIHNhdyBcXFwiK3QpO31lLmNoayhcXFwiMDYwMFxcXCIsXFxcIk1pbmkgU2VjdG9yIFNoaWZ0OiBcXFwiKTtlLmNoayhcXFwiMDAwMDAwMDAwMDAwXFxcIixcXFwiUmVzZXJ2ZWQ6IFxcXCIpfWZ1bmN0aW9uIGgoZSxyKXt2YXIgdD1NYXRoLmNlaWwoZS5sZW5ndGgvciktMTt2YXIgYT1bXTtmb3IodmFyIG49MTtuPHQ7KytuKWFbbi0xXT1lLnNsaWNlKG4qciwobisxKSpyKTthW3QtMV09ZS5zbGljZSh0KnIpO3JldHVybiBhfWZ1bmN0aW9uIGQoZSxyLHQpe3ZhciBhPTAsbj0wLGk9MCxzPTAsZj0wLG89dC5sZW5ndGg7dmFyIGw9W10sYz1bXTtmb3IoO2E8bzsrK2Epe2xbYV09Y1thXT1hO3JbYV09dFthXX1mb3IoO2Y8Yy5sZW5ndGg7KytmKXthPWNbZl07bj1lW2FdLkw7aT1lW2FdLlI7cz1lW2FdLkM7aWYobFthXT09PWEpe2lmKG4hPT0tMSYmbFtuXSE9PW4pbFthXT1sW25dO2lmKGkhPT0tMSYmbFtpXSE9PWkpbFthXT1sW2ldfWlmKHMhPT0tMSlsW3NdPWE7aWYobiE9PS0xJiZhIT1sW2FdKXtsW25dPWxbYV07aWYoYy5sYXN0SW5kZXhPZihuKTxmKWMucHVzaChuKX1pZihpIT09LTEmJmEhPWxbYV0pe2xbaV09bFthXTtpZihjLmxhc3RJbmRleE9mKGkpPGYpYy5wdXNoKGkpfX1mb3IoYT0xO2E8bzsrK2EpaWYobFthXT09PWEpe2lmKGkhPT0tMSYmbFtpXSE9PWkpbFthXT1sW2ldO2Vsc2UgaWYobiE9PS0xJiZsW25dIT09bilsW2FdPWxbbl19Zm9yKGE9MTthPG87KythKXtpZihlW2FdLnR5cGU9PT0wKWNvbnRpbnVlO2Y9YTtpZihmIT1sW2ZdKWRve2Y9bFtmXTtyW2FdPXJbZl0rXFxcIi9cXFwiK3JbYV19d2hpbGUoZiE9PTAmJi0xIT09bFtmXSYmZiE9bFtmXSk7bFthXT0tMX1yWzBdKz1cXFwiL1xcXCI7Zm9yKGE9MTthPG87KythKXtpZihlW2FdLnR5cGUhPT0yKXJbYV0rPVxcXCIvXFxcIn19ZnVuY3Rpb24gdihlLHIsdCl7dmFyIGE9ZS5zdGFydCxuPWUuc2l6ZTt2YXIgaT1bXTt2YXIgcz1hO3doaWxlKHQmJm4+MCYmcz49MCl7aS5wdXNoKHIuc2xpY2UocypQLHMqUCtQKSk7bi09UDtzPUhyKHQscyo0KX1pZihpLmxlbmd0aD09PTApcmV0dXJuIEpyKDApO3JldHVybiBJKGkpLnNsaWNlKDAsZS5zaXplKX1mdW5jdGlvbiBwKGUscix0LGEsbil7dmFyIGk9TjtpZihlPT09Til7aWYociE9PTApdGhyb3cgbmV3IEVycm9yKFxcXCJESUZBVCBjaGFpbiBzaG9ydGVyIHRoYW4gZXhwZWN0ZWRcXFwiKX1lbHNlIGlmKGUhPT0tMSl7dmFyIHM9dFtlXSxmPShhPj4+MiktMTtpZighcylyZXR1cm47Zm9yKHZhciBvPTA7bzxmOysrbyl7aWYoKGk9SHIocyxvKjQpKT09PU4pYnJlYWs7bi5wdXNoKGkpfXAoSHIocyxhLTQpLHItMSx0LGEsbil9fWZ1bmN0aW9uIG0oZSxyLHQsYSxuKXt2YXIgaT1bXSxzPVtdO2lmKCFuKW49W107dmFyIGY9YS0xLG89MCxsPTA7Zm9yKG89cjtvPj0wOyl7bltvXT10cnVlO2lbaS5sZW5ndGhdPW87cy5wdXNoKGVbb10pO3ZhciBjPXRbTWF0aC5mbG9vcihvKjQvYSldO2w9byo0JmY7aWYoYTw0K2wpdGhyb3cgbmV3IEVycm9yKFxcXCJGQVQgYm91bmRhcnkgY3Jvc3NlZDogXFxcIitvK1xcXCIgNCBcXFwiK2EpO2lmKCFlW2NdKWJyZWFrO289SHIoZVtjXSxsKX1yZXR1cm57bm9kZXM6aSxkYXRhOm1yKFtzXSl9fWZ1bmN0aW9uIGIoZSxyLHQsYSl7dmFyIG49ZS5sZW5ndGgsaT1bXTt2YXIgcz1bXSxmPVtdLG89W107dmFyIGw9YS0xLGM9MCx1PTAsaD0wLGQ9MDtmb3IoYz0wO2M8bjsrK2Mpe2Y9W107aD1jK3I7aWYoaD49biloLT1uO2lmKHNbaF0pY29udGludWU7bz1bXTt2YXIgdj1bXTtmb3IodT1oO3U+PTA7KXt2W3VdPXRydWU7c1t1XT10cnVlO2ZbZi5sZW5ndGhdPXU7by5wdXNoKGVbdV0pO3ZhciBwPXRbTWF0aC5mbG9vcih1KjQvYSldO2Q9dSo0Jmw7aWYoYTw0K2QpdGhyb3cgbmV3IEVycm9yKFxcXCJGQVQgYm91bmRhcnkgY3Jvc3NlZDogXFxcIit1K1xcXCIgNCBcXFwiK2EpO2lmKCFlW3BdKWJyZWFrO3U9SHIoZVtwXSxkKTtpZih2W3VdKWJyZWFrfWlbaF09e25vZGVzOmYsZGF0YTptcihbb10pfX1yZXR1cm4gaX1mdW5jdGlvbiBrKGUscix0LGEsbixpLHMsZil7dmFyIG89MCxsPWEubGVuZ3RoPzI6MDt2YXIgYz1yW2VdLmRhdGE7dmFyIHU9MCxoPTAsZDtmb3IoO3U8Yy5sZW5ndGg7dSs9MTI4KXt2YXIgcD1jLnNsaWNlKHUsdSsxMjgpO1lyKHAsNjQpO2g9cC5fUigyKTtkPWdyKHAsMCxoLWwpO2EucHVzaChkKTt2YXIgYj17bmFtZTpkLHR5cGU6cC5fUigxKSxjb2xvcjpwLl9SKDEpLEw6cC5fUig0LFxcXCJpXFxcIiksUjpwLl9SKDQsXFxcImlcXFwiKSxDOnAuX1IoNCxcXFwiaVxcXCIpLGNsc2lkOnAuX1IoMTYpLHN0YXRlOnAuX1IoNCxcXFwiaVxcXCIpLHN0YXJ0OjAsc2l6ZTowfTt2YXIgZz1wLl9SKDIpK3AuX1IoMikrcC5fUigyKStwLl9SKDIpO2lmKGchPT0wKWIuY3Q9RShwLHAubC04KTt2YXIgdz1wLl9SKDIpK3AuX1IoMikrcC5fUigyKStwLl9SKDIpO2lmKHchPT0wKWIubXQ9RShwLHAubC04KTtiLnN0YXJ0PXAuX1IoNCxcXFwiaVxcXCIpO2Iuc2l6ZT1wLl9SKDQsXFxcImlcXFwiKTtpZihiLnNpemU8MCYmYi5zdGFydDwwKXtiLnNpemU9Yi50eXBlPTA7Yi5zdGFydD1OO2IubmFtZT1cXFwiXFxcIn1pZihiLnR5cGU9PT01KXtvPWIuc3RhcnQ7aWYobj4wJiZvIT09TilyW29dLm5hbWU9XFxcIiFTdHJlYW1EYXRhXFxcIn1lbHNlIGlmKGIuc2l6ZT49NDA5Nil7Yi5zdG9yYWdlPVxcXCJmYXRcXFwiO2lmKHJbYi5zdGFydF09PT11bmRlZmluZWQpcltiLnN0YXJ0XT1tKHQsYi5zdGFydCxyLmZhdF9hZGRycyxyLnNzeik7cltiLnN0YXJ0XS5uYW1lPWIubmFtZTtiLmNvbnRlbnQ9cltiLnN0YXJ0XS5kYXRhLnNsaWNlKDAsYi5zaXplKX1lbHNle2Iuc3RvcmFnZT1cXFwibWluaWZhdFxcXCI7aWYoYi5zaXplPDApYi5zaXplPTA7ZWxzZSBpZihvIT09TiYmYi5zdGFydCE9PU4mJnJbb10pe2IuY29udGVudD12KGIscltvXS5kYXRhLChyW2ZdfHx7fSkuZGF0YSl9fWlmKGIuY29udGVudClZcihiLmNvbnRlbnQsMCk7aVtkXT1iO3MucHVzaChiKX19ZnVuY3Rpb24gRShlLHIpe3JldHVybiBuZXcgRGF0ZSgoenIoZSxyKzQpLzFlNypNYXRoLnBvdygyLDMyKSt6cihlLHIpLzFlNy0xMTY0NDQ3MzYwMCkqMWUzKX1mdW5jdGlvbiBTKGUscil7bygpO3JldHVybiBsKGYucmVhZEZpbGVTeW5jKGUpLHIpfWZ1bmN0aW9uIFQoZSxyKXtzd2l0Y2gociYmci50eXBlfHxcXFwiYmFzZTY0XFxcIil7Y2FzZVxcXCJmaWxlXFxcIjpyZXR1cm4gUyhlLHIpO2Nhc2VcXFwiYmFzZTY0XFxcIjpyZXR1cm4gbChCKGcuZGVjb2RlKGUpKSxyKTtjYXNlXFxcImJpbmFyeVxcXCI6cmV0dXJuIGwoQihlKSxyKTt9cmV0dXJuIGwoZSxyKX1mdW5jdGlvbiB5KGUscil7dmFyIHQ9cnx8e30sYT10LnJvb3R8fFxcXCJSb290IEVudHJ5XFxcIjtpZighZS5GdWxsUGF0aHMpZS5GdWxsUGF0aHM9W107aWYoIWUuRmlsZUluZGV4KWUuRmlsZUluZGV4PVtdO2lmKGUuRnVsbFBhdGhzLmxlbmd0aCE9PWUuRmlsZUluZGV4Lmxlbmd0aCl0aHJvdyBuZXcgRXJyb3IoXFxcImluY29uc2lzdGVudCBDRkIgc3RydWN0dXJlXFxcIik7aWYoZS5GdWxsUGF0aHMubGVuZ3RoPT09MCl7ZS5GdWxsUGF0aHNbMF09YStcXFwiL1xcXCI7ZS5GaWxlSW5kZXhbMF09e25hbWU6YSx0eXBlOjV9fWlmKHQuQ0xTSUQpZS5GaWxlSW5kZXhbMF0uY2xzaWQ9dC5DTFNJRDt4KGUpfWZ1bmN0aW9uIHgoZSl7dmFyIHI9XFxcIlxcdTAwMDFTaDMzdEo1XFxcIjtpZihXLmZpbmQoZSxcXFwiL1xcXCIrcikpcmV0dXJuO3ZhciB0PUpyKDQpO3RbMF09NTU7dFsxXT10WzNdPTUwO3RbMl09NTQ7ZS5GaWxlSW5kZXgucHVzaCh7bmFtZTpyLHR5cGU6Mixjb250ZW50OnQsc2l6ZTo0LEw6NjksUjo2OSxDOjY5fSk7ZS5GdWxsUGF0aHMucHVzaChlLkZ1bGxQYXRoc1swXStyKTtBKGUpfWZ1bmN0aW9uIEEoZSxuKXt5KGUpO3ZhciBpPWZhbHNlLHM9ZmFsc2U7Zm9yKHZhciBmPWUuRnVsbFBhdGhzLmxlbmd0aC0xO2Y+PTA7LS1mKXt2YXIgbz1lLkZpbGVJbmRleFtmXTtzd2l0Y2goby50eXBlKXtjYXNlIDA6aWYocylpPXRydWU7ZWxzZXtlLkZpbGVJbmRleC5wb3AoKTtlLkZ1bGxQYXRocy5wb3AoKX1icmVhaztjYXNlIDE6O2Nhc2UgMjo7Y2FzZSA1OnM9dHJ1ZTtpZihpc05hTihvLlIqby5MKm8uQykpaT10cnVlO2lmKG8uUj4tMSYmby5MPi0xJiZvLlI9PW8uTClpPXRydWU7YnJlYWs7ZGVmYXVsdDppPXRydWU7YnJlYWs7fX1pZighaSYmIW4pcmV0dXJuO3ZhciBsPW5ldyBEYXRlKDE5ODcsMSwxOSksYz0wO3ZhciB1PVtdO2ZvcihmPTA7ZjxlLkZ1bGxQYXRocy5sZW5ndGg7KytmKXtpZihlLkZpbGVJbmRleFtmXS50eXBlPT09MCljb250aW51ZTt1LnB1c2goW2UuRnVsbFBhdGhzW2ZdLGUuRmlsZUluZGV4W2ZdXSl9Zm9yKGY9MDtmPHUubGVuZ3RoOysrZil7dmFyIGg9dCh1W2ZdWzBdKTtzPWZhbHNlO2ZvcihjPTA7Yzx1Lmxlbmd0aDsrK2MpaWYodVtjXVswXT09PWgpcz10cnVlO2lmKCFzKXUucHVzaChbaCx7bmFtZTphKGgpLnJlcGxhY2UoXFxcIi9cXFwiLFxcXCJcXFwiKSx0eXBlOjEsY2xzaWQ6VSxjdDpsLG10OmwsY29udGVudDpudWxsfV0pfXUuc29ydChmdW5jdGlvbihlLHQpe3JldHVybiByKGVbMF0sdFswXSl9KTtlLkZ1bGxQYXRocz1bXTtlLkZpbGVJbmRleD1bXTtmb3IoZj0wO2Y8dS5sZW5ndGg7KytmKXtlLkZ1bGxQYXRoc1tmXT11W2ZdWzBdO2UuRmlsZUluZGV4W2ZdPXVbZl1bMV19Zm9yKGY9MDtmPHUubGVuZ3RoOysrZil7dmFyIGQ9ZS5GaWxlSW5kZXhbZl07dmFyIHY9ZS5GdWxsUGF0aHNbZl07ZC5uYW1lPWEodikucmVwbGFjZShcXFwiL1xcXCIsXFxcIlxcXCIpO2QuTD1kLlI9ZC5DPS0oZC5jb2xvcj0xKTtkLnNpemU9ZC5jb250ZW50P2QuY29udGVudC5sZW5ndGg6MDtkLnN0YXJ0PTA7ZC5jbHNpZD1kLmNsc2lkfHxVO2lmKGY9PT0wKXtkLkM9dS5sZW5ndGg+MT8xOi0xO2Quc2l6ZT0wO2QudHlwZT01fWVsc2UgaWYodi5zbGljZSgtMSk9PVxcXCIvXFxcIil7Zm9yKGM9ZisxO2M8dS5sZW5ndGg7KytjKWlmKHQoZS5GdWxsUGF0aHNbY10pPT12KWJyZWFrO2QuQz1jPj11Lmxlbmd0aD8tMTpjO2ZvcihjPWYrMTtjPHUubGVuZ3RoOysrYylpZih0KGUuRnVsbFBhdGhzW2NdKT09dCh2KSlicmVhaztkLlI9Yz49dS5sZW5ndGg/LTE6YztkLnR5cGU9MX1lbHNle2lmKHQoZS5GdWxsUGF0aHNbZisxXXx8XFxcIlxcXCIpPT10KHYpKWQuUj1mKzE7ZC50eXBlPTJ9fX1mdW5jdGlvbiBEKGUscil7dmFyIHQ9cnx8e307QShlKTtpZih0LmZpbGVUeXBlPT1cXFwiemlwXFxcIilyZXR1cm4geGUoZSx0KTt2YXIgYT1mdW5jdGlvbihlKXt2YXIgcj0wLHQ9MDtmb3IodmFyIGE9MDthPGUuRmlsZUluZGV4Lmxlbmd0aDsrK2Epe3ZhciBuPWUuRmlsZUluZGV4W2FdO2lmKCFuLmNvbnRlbnQpY29udGludWU7dmFyIGk9bi5jb250ZW50Lmxlbmd0aDtpZihpPjApe2lmKGk8NDA5NilyKz1pKzYzPj42O2Vsc2UgdCs9aSs1MTE+Pjl9fXZhciBzPWUuRnVsbFBhdGhzLmxlbmd0aCszPj4yO3ZhciBmPXIrNz4+Mzt2YXIgbz1yKzEyNz4+Nzt2YXIgbD1mK3QrcytvO3ZhciBjPWwrMTI3Pj43O3ZhciB1PWM8PTEwOT8wOk1hdGguY2VpbCgoYy0xMDkpLzEyNyk7d2hpbGUobCtjK3UrMTI3Pj43PmMpdT0rK2M8PTEwOT8wOk1hdGguY2VpbCgoYy0xMDkpLzEyNyk7dmFyIGg9WzEsdSxjLG8scyx0LHIsMF07ZS5GaWxlSW5kZXhbMF0uc2l6ZT1yPDw2O2hbN109KGUuRmlsZUluZGV4WzBdLnN0YXJ0PWhbMF0raFsxXStoWzJdK2hbM10raFs0XStoWzVdKSsoaFs2XSs3Pj4zKTtyZXR1cm4gaH0oZSk7dmFyIG49SnIoYVs3XTw8OSk7dmFyIGk9MCxzPTA7e2ZvcihpPTA7aTw4OysraSluLl9XKDEsTVtpXSk7Zm9yKGk9MDtpPDg7KytpKW4uX1coMiwwKTtuLl9XKDIsNjIpO24uX1coMiwzKTtuLl9XKDIsNjU1MzQpO24uX1coMiw5KTtuLl9XKDIsNik7Zm9yKGk9MDtpPDM7KytpKW4uX1coMiwwKTtuLl9XKDQsMCk7bi5fVyg0LGFbMl0pO24uX1coNCxhWzBdK2FbMV0rYVsyXSthWzNdLTEpO24uX1coNCwwKTtuLl9XKDQsMTw8MTIpO24uX1coNCxhWzNdP2FbMF0rYVsxXSthWzJdLTE6Tik7bi5fVyg0LGFbM10pO24uX1coLTQsYVsxXT9hWzBdLTE6Tik7bi5fVyg0LGFbMV0pO2ZvcihpPTA7aTwxMDk7KytpKW4uX1coLTQsaTxhWzJdP2FbMV0raTotMSl9aWYoYVsxXSl7Zm9yKHM9MDtzPGFbMV07KytzKXtmb3IoO2k8MjM2K3MqMTI3OysraSluLl9XKC00LGk8YVsyXT9hWzFdK2k6LTEpO24uX1coLTQscz09PWFbMV0tMT9OOnMrMSl9fXZhciBmPWZ1bmN0aW9uKGUpe2ZvcihzKz1lO2k8cy0xOysraSluLl9XKC00LGkrMSk7aWYoZSl7KytpO24uX1coLTQsTil9fTtzPWk9MDtmb3Iocys9YVsxXTtpPHM7KytpKW4uX1coLTQsei5ESUZTRUNUKTtmb3Iocys9YVsyXTtpPHM7KytpKW4uX1coLTQsei5GQVRTRUNUKTtmKGFbM10pO2YoYVs0XSk7dmFyIG89MCxsPTA7dmFyIGM9ZS5GaWxlSW5kZXhbMF07Zm9yKDtvPGUuRmlsZUluZGV4Lmxlbmd0aDsrK28pe2M9ZS5GaWxlSW5kZXhbb107aWYoIWMuY29udGVudCljb250aW51ZTtsPWMuY29udGVudC5sZW5ndGg7aWYobDw0MDk2KWNvbnRpbnVlO2Muc3RhcnQ9cztmKGwrNTExPj45KX1mKGFbNl0rNz4+Myk7d2hpbGUobi5sJjUxMSluLl9XKC00LHouRU5ET0ZDSEFJTik7cz1pPTA7Zm9yKG89MDtvPGUuRmlsZUluZGV4Lmxlbmd0aDsrK28pe2M9ZS5GaWxlSW5kZXhbb107aWYoIWMuY29udGVudCljb250aW51ZTtsPWMuY29udGVudC5sZW5ndGg7aWYoIWx8fGw+PTQwOTYpY29udGludWU7Yy5zdGFydD1zO2YobCs2Mz4+Nil9d2hpbGUobi5sJjUxMSluLl9XKC00LHouRU5ET0ZDSEFJTik7Zm9yKGk9MDtpPGFbNF08PDI7KytpKXt2YXIgdT1lLkZ1bGxQYXRoc1tpXTtpZighdXx8dS5sZW5ndGg9PT0wKXtmb3Iobz0wO288MTc7KytvKW4uX1coNCwwKTtmb3Iobz0wO288MzsrK28pbi5fVyg0LC0xKTtmb3Iobz0wO288MTI7KytvKW4uX1coNCwwKTtjb250aW51ZX1jPWUuRmlsZUluZGV4W2ldO2lmKGk9PT0wKWMuc3RhcnQ9Yy5zaXplP2Muc3RhcnQtMTpOO3ZhciBoPWk9PT0wJiZ0LnJvb3R8fGMubmFtZTtsPTIqKGgubGVuZ3RoKzEpO24uX1coNjQsaCxcXFwidXRmMTZsZVxcXCIpO24uX1coMixsKTtuLl9XKDEsYy50eXBlKTtuLl9XKDEsYy5jb2xvcik7bi5fVygtNCxjLkwpO24uX1coLTQsYy5SKTtuLl9XKC00LGMuQyk7aWYoIWMuY2xzaWQpZm9yKG89MDtvPDQ7KytvKW4uX1coNCwwKTtlbHNlIG4uX1coMTYsYy5jbHNpZCxcXFwiaGV4XFxcIik7bi5fVyg0LGMuc3RhdGV8fDApO24uX1coNCwwKTtuLl9XKDQsMCk7bi5fVyg0LDApO24uX1coNCwwKTtuLl9XKDQsYy5zdGFydCk7bi5fVyg0LGMuc2l6ZSk7bi5fVyg0LDApfWZvcihpPTE7aTxlLkZpbGVJbmRleC5sZW5ndGg7KytpKXtjPWUuRmlsZUluZGV4W2ldO2lmKGMuc2l6ZT49NDA5Nil7bi5sPWMuc3RhcnQrMTw8OTtmb3Iobz0wO288Yy5zaXplOysrbyluLl9XKDEsYy5jb250ZW50W29dKTtmb3IoO28mNTExOysrbyluLl9XKDEsMCl9fWZvcihpPTE7aTxlLkZpbGVJbmRleC5sZW5ndGg7KytpKXtjPWUuRmlsZUluZGV4W2ldO2lmKGMuc2l6ZT4wJiZjLnNpemU8NDA5Nil7Zm9yKG89MDtvPGMuc2l6ZTsrK28pbi5fVygxLGMuY29udGVudFtvXSk7Zm9yKDtvJjYzOysrbyluLl9XKDEsMCl9fXdoaWxlKG4ubDxuLmxlbmd0aCluLl9XKDEsMCk7cmV0dXJuIG59ZnVuY3Rpb24gRihlLHIpe3ZhciB0PWUuRnVsbFBhdGhzLm1hcChmdW5jdGlvbihlKXtyZXR1cm4gZS50b1VwcGVyQ2FzZSgpfSk7dmFyIGE9dC5tYXAoZnVuY3Rpb24oZSl7dmFyIHI9ZS5zcGxpdChcXFwiL1xcXCIpO3JldHVybiByW3IubGVuZ3RoLShlLnNsaWNlKC0xKT09XFxcIi9cXFwiPzI6MSldfSk7dmFyIG49ZmFsc2U7aWYoci5jaGFyQ29kZUF0KDApPT09NDcpe249dHJ1ZTtyPXRbMF0uc2xpY2UoMCwtMSkrcn1lbHNlIG49ci5pbmRleE9mKFxcXCIvXFxcIikhPT0tMTt2YXIgaT1yLnRvVXBwZXJDYXNlKCk7dmFyIHM9bj09PXRydWU/dC5pbmRleE9mKGkpOmEuaW5kZXhPZihpKTtpZihzIT09LTEpcmV0dXJuIGUuRmlsZUluZGV4W3NdO3ZhciBmPSFpLm1hdGNoKE8pO2k9aS5yZXBsYWNlKFIsXFxcIlxcXCIpO2lmKGYpaT1pLnJlcGxhY2UoTyxcXFwiIVxcXCIpO2ZvcihzPTA7czx0Lmxlbmd0aDsrK3Mpe2lmKChmP3Rbc10ucmVwbGFjZShPLFxcXCIhXFxcIik6dFtzXSkucmVwbGFjZShSLFxcXCJcXFwiKT09aSlyZXR1cm4gZS5GaWxlSW5kZXhbc107aWYoKGY/YVtzXS5yZXBsYWNlKE8sXFxcIiFcXFwiKTphW3NdKS5yZXBsYWNlKFIsXFxcIlxcXCIpPT1pKXJldHVybiBlLkZpbGVJbmRleFtzXX1yZXR1cm4gbnVsbH12YXIgUD02NDt2YXIgTj0tMjt2YXIgTD1cXFwiZDBjZjExZTBhMWIxMWFlMVxcXCI7dmFyIE09WzIwOCwyMDcsMTcsMjI0LDE2MSwxNzcsMjYsMjI1XTt2YXIgVT1cXFwiMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBcXFwiO3ZhciB6PXtNQVhSRUdTRUNUOi02LERJRlNFQ1Q6LTQsRkFUU0VDVDotMyxFTkRPRkNIQUlOOk4sRlJFRVNFQ1Q6LTEsSEVBREVSX1NJR05BVFVSRTpMLEhFQURFUl9NSU5PUl9WRVJTSU9OOlxcXCIzZTAwXFxcIixNQVhSRUdTSUQ6LTYsTk9TVFJFQU06LTEsSEVBREVSX0NMU0lEOlUsRW50cnlUeXBlczpbXFxcInVua25vd25cXFwiLFxcXCJzdG9yYWdlXFxcIixcXFwic3RyZWFtXFxcIixcXFwibG9ja2J5dGVzXFxcIixcXFwicHJvcGVydHlcXFwiLFxcXCJyb290XFxcIl19O2Z1bmN0aW9uIFYoZSxyLHQpe28oKTt2YXIgYT1EKGUsdCk7Zi53cml0ZUZpbGVTeW5jKHIsYSl9ZnVuY3Rpb24gWChlKXt2YXIgcj1uZXcgQXJyYXkoZS5sZW5ndGgpO2Zvcih2YXIgdD0wO3Q8ZS5sZW5ndGg7Kyt0KXJbdF09U3RyaW5nLmZyb21DaGFyQ29kZShlW3RdKTtyZXR1cm4gci5qb2luKFxcXCJcXFwiKX1mdW5jdGlvbiBHKGUscil7dmFyIHQ9RChlLHIpO3N3aXRjaChyJiZyLnR5cGUpe2Nhc2VcXFwiZmlsZVxcXCI6bygpO2Yud3JpdGVGaWxlU3luYyhyLmZpbGVuYW1lLHQpO3JldHVybiB0O2Nhc2VcXFwiYmluYXJ5XFxcIjpyZXR1cm4gWCh0KTtjYXNlXFxcImJhc2U2NFxcXCI6cmV0dXJuIGcuZW5jb2RlKFgodCkpO31yZXR1cm4gdH12YXIgajtmdW5jdGlvbiBLKGUpe3RyeXt2YXIgcj1lLkluZmxhdGVSYXc7dmFyIHQ9bmV3IHI7dC5fcHJvY2Vzc0NodW5rKG5ldyBVaW50OEFycmF5KFszLDBdKSx0Ll9maW5pc2hGbHVzaEZsYWcpO2lmKHQuYnl0ZXNSZWFkKWo9ZTtlbHNlIHRocm93IG5ldyBFcnJvcihcXFwiemxpYiBkb2VzIG5vdCBleHBvc2UgYnl0ZXNSZWFkXFxcIil9Y2F0Y2goYSl7Y29uc29sZS5lcnJvcihcXFwiY2Fubm90IHVzZSBuYXRpdmUgemxpYjogXFxcIisoYS5tZXNzYWdlfHxhKSl9fWZ1bmN0aW9uICQoZSxyKXtpZighailyZXR1cm4gQ2UoZSxyKTt2YXIgdD1qLkluZmxhdGVSYXc7dmFyIGE9bmV3IHQ7dmFyIG49YS5fcHJvY2Vzc0NodW5rKGUuc2xpY2UoZS5sKSxhLl9maW5pc2hGbHVzaEZsYWcpO2UubCs9YS5ieXRlc1JlYWQ7cmV0dXJuIG59ZnVuY3Rpb24gWShlKXtyZXR1cm4gaj9qLmRlZmxhdGVSYXdTeW5jKGUpOmhlKGUpfXZhciBaPVsxNiwxNywxOCwwLDgsNyw5LDYsMTAsNSwxMSw0LDEyLDMsMTMsMiwxNCwxLDE1XTt2YXIgSj1bMyw0LDUsNiw3LDgsOSwxMCwxMSwxMywxNSwxNywxOSwyMywyNywzMSwzNSw0Myw1MSw1OSw2Nyw4Myw5OSwxMTUsMTMxLDE2MywxOTUsMjI3LDI1OF07dmFyIFE9WzEsMiwzLDQsNSw3LDksMTMsMTcsMjUsMzMsNDksNjUsOTcsMTI5LDE5MywyNTcsMzg1LDUxMyw3NjksMTAyNSwxNTM3LDIwNDksMzA3Myw0MDk3LDYxNDUsODE5MywxMjI4OSwxNjM4NSwyNDU3N107ZnVuY3Rpb24gcShlKXt2YXIgcj0oZTw8MXxlPDwxMSkmMTM5NTM2fChlPDw1fGU8PDE1KSY1NTgxNDQ7cmV0dXJuKHI+PjE2fHI+Pjh8cikmMjU1fXZhciBlZT10eXBlb2YgVWludDhBcnJheSE9PVxcXCJ1bmRlZmluZWRcXFwiO3ZhciByZT1lZT9uZXcgVWludDhBcnJheSgxPDw4KTpbXTtmb3IodmFyIHRlPTA7dGU8MTw8ODsrK3RlKXJlW3RlXT1xKHRlKTtmdW5jdGlvbiBhZShlLHIpe3ZhciB0PXJlW2UmMjU1XTtpZihyPD04KXJldHVybiB0Pj4+OC1yO3Q9dDw8OHxyZVtlPj44JjI1NV07aWYocjw9MTYpcmV0dXJuIHQ+Pj4xNi1yO3Q9dDw8OHxyZVtlPj4xNiYyNTVdO3JldHVybiB0Pj4+MjQtcn1mdW5jdGlvbiBuZShlLHIpe3ZhciB0PXImNyxhPXI+Pj4zO3JldHVybihlW2FdfCh0PD02PzA6ZVthKzFdPDw4KSk+Pj50JjN9ZnVuY3Rpb24gaWUoZSxyKXt2YXIgdD1yJjcsYT1yPj4+MztyZXR1cm4oZVthXXwodDw9NT8wOmVbYSsxXTw8OCkpPj4+dCY3fWZ1bmN0aW9uIHNlKGUscil7dmFyIHQ9ciY3LGE9cj4+PjM7cmV0dXJuKGVbYV18KHQ8PTQ/MDplW2ErMV08PDgpKT4+PnQmMTV9ZnVuY3Rpb24gZmUoZSxyKXt2YXIgdD1yJjcsYT1yPj4+MztyZXR1cm4oZVthXXwodDw9Mz8wOmVbYSsxXTw8OCkpPj4+dCYzMX1mdW5jdGlvbiBvZShlLHIpe3ZhciB0PXImNyxhPXI+Pj4zO3JldHVybihlW2FdfCh0PD0xPzA6ZVthKzFdPDw4KSk+Pj50JjEyN31mdW5jdGlvbiBsZShlLHIsdCl7dmFyIGE9ciY3LG49cj4+PjMsaT0oMTw8dCktMTt2YXIgcz1lW25dPj4+YTtpZih0PDgtYSlyZXR1cm4gcyZpO3N8PWVbbisxXTw8OC1hO2lmKHQ8MTYtYSlyZXR1cm4gcyZpO3N8PWVbbisyXTw8MTYtYTtpZih0PDI0LWEpcmV0dXJuIHMmaTtzfD1lW24rM108PDI0LWE7cmV0dXJuIHMmaX1mdW5jdGlvbiBjZShlLHIpe3ZhciB0PWUubGVuZ3RoLGE9Mip0PnI/Mip0OnIrNSxuPTA7aWYodD49cilyZXR1cm4gZTtpZih3KXt2YXIgaT1DKGEpO2lmKGUuY29weSllLmNvcHkoaSk7ZWxzZSBmb3IoO248ZS5sZW5ndGg7KytuKWlbbl09ZVtuXTtyZXR1cm4gaX1lbHNlIGlmKGVlKXt2YXIgcz1uZXcgVWludDhBcnJheShhKTtpZihzLnNldClzLnNldChlKTtlbHNlIGZvcig7bjxlLmxlbmd0aDsrK24pc1tuXT1lW25dO3JldHVybiBzfWUubGVuZ3RoPWE7cmV0dXJuIGV9ZnVuY3Rpb24gdWUoZSl7dmFyIHI9bmV3IEFycmF5KGUpO2Zvcih2YXIgdD0wO3Q8ZTsrK3Qpclt0XT0wO3JldHVybiByfXZhciBoZT1mdW5jdGlvbigpe3ZhciBlPWZ1bmN0aW9uKCl7cmV0dXJuIGZ1bmN0aW9uIGUocix0KXt2YXIgYT0wO3doaWxlKGE8ci5sZW5ndGgpe3ZhciBuPU1hdGgubWluKDY1NTM1LHIubGVuZ3RoLWEpO3ZhciBpPWErbj09ci5sZW5ndGg7dC5fVygxLCtpKTt0Ll9XKDIsbik7dC5fVygyLH5uJjY1NTM1KTt3aGlsZShuLS0gPjApdFt0LmwrK109clthKytdfXJldHVybiB0Lmx9fSgpO3JldHVybiBmdW5jdGlvbihyKXt2YXIgdD1Kcig1MCtNYXRoLmZsb29yKHIubGVuZ3RoKjEuMSkpO3ZhciBhPWUocix0KTtyZXR1cm4gdC5zbGljZSgwLGEpfX0oKTtmdW5jdGlvbiBkZShlLHIsdCl7dmFyIGE9MSxuPTAsaT0wLHM9MCxmPTAsbz1lLmxlbmd0aDt2YXIgbD1lZT9uZXcgVWludDE2QXJyYXkoMzIpOnVlKDMyKTtmb3IoaT0wO2k8MzI7KytpKWxbaV09MDtmb3IoaT1vO2k8dDsrK2kpZVtpXT0wO289ZS5sZW5ndGg7dmFyIGM9ZWU/bmV3IFVpbnQxNkFycmF5KG8pOnVlKG8pO2ZvcihpPTA7aTxvOysraSl7bFtuPWVbaV1dKys7aWYoYTxuKWE9bjtjW2ldPTB9bFswXT0wO2ZvcihpPTE7aTw9YTsrK2kpbFtpKzE2XT1mPWYrbFtpLTFdPDwxO2ZvcihpPTA7aTxvOysraSl7Zj1lW2ldO2lmKGYhPTApY1tpXT1sW2YrMTZdKyt9dmFyIHU9MDtmb3IoaT0wO2k8bzsrK2kpe3U9ZVtpXTtpZih1IT0wKXtmPWFlKGNbaV0sYSk+PmEtdTtmb3Iocz0oMTw8YSs0LXUpLTE7cz49MDstLXMpcltmfHM8PHVdPXUmMTV8aTw8NH19cmV0dXJuIGF9dmFyIHZlPWVlP25ldyBVaW50MTZBcnJheSg1MTIpOnVlKDUxMik7dmFyIHBlPWVlP25ldyBVaW50MTZBcnJheSgzMik6dWUoMzIpO2lmKCFlZSl7Zm9yKHZhciBtZT0wO21lPDUxMjsrK21lKXZlW21lXT0wO2ZvcihtZT0wO21lPDMyOysrbWUpcGVbbWVdPTB9KGZ1bmN0aW9uKCl7dmFyIGU9W107dmFyIHI9MDtmb3IoO3I8MzI7cisrKWUucHVzaCg1KTtkZShlLHBlLDMyKTt2YXIgdD1bXTtyPTA7Zm9yKDtyPD0xNDM7cisrKXQucHVzaCg4KTtmb3IoO3I8PTI1NTtyKyspdC5wdXNoKDkpO2Zvcig7cjw9Mjc5O3IrKyl0LnB1c2goNyk7Zm9yKDtyPD0yODc7cisrKXQucHVzaCg4KTtkZSh0LHZlLDI4OCl9KSgpO3ZhciBiZT1lZT9uZXcgVWludDE2QXJyYXkoMzI3NjgpOnVlKDMyNzY4KTt2YXIgZ2U9ZWU/bmV3IFVpbnQxNkFycmF5KDMyNzY4KTp1ZSgzMjc2OCk7dmFyIHdlPWVlP25ldyBVaW50MTZBcnJheSgxMjgpOnVlKDEyOCk7dmFyIGtlPTEsRWU9MTtmdW5jdGlvbiBTZShlLHIpe3ZhciB0PWZlKGUscikrMjU3O3IrPTU7dmFyIGE9ZmUoZSxyKSsxO3IrPTU7dmFyIG49c2UoZSxyKSs0O3IrPTQ7dmFyIGk9MDt2YXIgcz1lZT9uZXcgVWludDhBcnJheSgxOSk6dWUoMTkpO3ZhciBmPVswLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwXTt2YXIgbz0xO3ZhciBsPWVlP25ldyBVaW50OEFycmF5KDgpOnVlKDgpO3ZhciBjPWVlP25ldyBVaW50OEFycmF5KDgpOnVlKDgpO3ZhciB1PXMubGVuZ3RoO2Zvcih2YXIgaD0wO2g8bjsrK2gpe3NbWltoXV09aT1pZShlLHIpO2lmKG88aSlvPWk7bFtpXSsrO3IrPTN9dmFyIGQ9MDtsWzBdPTA7Zm9yKGg9MTtoPD1vOysraCljW2hdPWQ9ZCtsW2gtMV08PDE7Zm9yKGg9MDtoPHU7KytoKWlmKChkPXNbaF0pIT0wKWZbaF09Y1tkXSsrO1xcbnZhciB2PTA7Zm9yKGg9MDtoPHU7KytoKXt2PXNbaF07aWYodiE9MCl7ZD1yZVtmW2hdXT4+OC12O2Zvcih2YXIgcD0oMTw8Ny12KS0xO3A+PTA7LS1wKXdlW2R8cDw8dl09diY3fGg8PDN9fXZhciBtPVtdO289MTtmb3IoO20ubGVuZ3RoPHQrYTspe2Q9d2Vbb2UoZSxyKV07cis9ZCY3O3N3aXRjaChkPj4+PTMpe2Nhc2UgMTY6aT0zK25lKGUscik7cis9MjtkPW1bbS5sZW5ndGgtMV07d2hpbGUoaS0tID4wKW0ucHVzaChkKTticmVhaztjYXNlIDE3Omk9MytpZShlLHIpO3IrPTM7d2hpbGUoaS0tID4wKW0ucHVzaCgwKTticmVhaztjYXNlIDE4Omk9MTErb2UoZSxyKTtyKz03O3doaWxlKGktLSA+MCltLnB1c2goMCk7YnJlYWs7ZGVmYXVsdDptLnB1c2goZCk7aWYobzxkKW89ZDticmVhazt9fXZhciBiPW0uc2xpY2UoMCx0KSxnPW0uc2xpY2UodCk7Zm9yKGg9dDtoPDI4NjsrK2gpYltoXT0wO2ZvcihoPWE7aDwzMDsrK2gpZ1toXT0wO2tlPWRlKGIsYmUsMjg2KTtFZT1kZShnLGdlLDMwKTtyZXR1cm4gcn1mdW5jdGlvbiBfZShlLHIpe2lmKGVbMF09PTMmJiEoZVsxXSYzKSl7cmV0dXJuW18ociksMl19dmFyIHQ9MDt2YXIgYT0wO3ZhciBuPUMocj9yOjE8PDE4KTt2YXIgaT0wO3ZhciBzPW4ubGVuZ3RoPj4+MDt2YXIgZj0wLG89MDt3aGlsZSgoYSYxKT09MCl7YT1pZShlLHQpO3QrPTM7aWYoYT4+PjE9PTApe2lmKHQmNyl0Kz04LSh0JjcpO3ZhciBsPWVbdD4+PjNdfGVbKHQ+Pj4zKSsxXTw8ODt0Kz0zMjtpZighciYmczxpK2wpe249Y2UobixpK2wpO3M9bi5sZW5ndGh9aWYodHlwZW9mIGUuY29weT09PVxcXCJmdW5jdGlvblxcXCIpe2UuY29weShuLGksdD4+PjMsKHQ+Pj4zKStsKTtpKz1sO3QrPTgqbH1lbHNlIHdoaWxlKGwtLSA+MCl7bltpKytdPWVbdD4+PjNdO3QrPTh9Y29udGludWV9ZWxzZSBpZihhPj4+MT09MSl7Zj05O289NX1lbHNle3Q9U2UoZSx0KTtmPWtlO289RWV9aWYoIXImJnM8aSszMjc2Nyl7bj1jZShuLGkrMzI3NjcpO3M9bi5sZW5ndGh9Zm9yKDs7KXt2YXIgYz1sZShlLHQsZik7dmFyIHU9YT4+PjE9PTE/dmVbY106YmVbY107dCs9dSYxNTt1Pj4+PTQ7aWYoKHU+Pj44JjI1NSk9PT0wKW5baSsrXT11O2Vsc2UgaWYodT09MjU2KWJyZWFrO2Vsc2V7dS09MjU3O3ZhciBoPXU8OD8wOnUtND4+MjtpZihoPjUpaD0wO3ZhciBkPWkrSlt1XTtpZihoPjApe2QrPWxlKGUsdCxoKTt0Kz1ofWM9bGUoZSx0LG8pO3U9YT4+PjE9PTE/cGVbY106Z2VbY107dCs9dSYxNTt1Pj4+PTQ7dmFyIHY9dTw0PzA6dS0yPj4xO3ZhciBwPVFbdV07aWYodj4wKXtwKz1sZShlLHQsdik7dCs9dn1pZighciYmczxkKXtuPWNlKG4sZCk7cz1uLmxlbmd0aH13aGlsZShpPGQpe25baV09bltpLXBdOysraX19fX1yZXR1cm5bcj9uOm4uc2xpY2UoMCxpKSx0Kzc+Pj4zXX1mdW5jdGlvbiBDZShlLHIpe3ZhciB0PWUuc2xpY2UoZS5sfHwwKTt2YXIgYT1fZSh0LHIpO2UubCs9YVsxXTtyZXR1cm4gYVswXX1mdW5jdGlvbiBCZShlLHIpe2lmKGUpe2lmKHR5cGVvZiBjb25zb2xlIT09XFxcInVuZGVmaW5lZFxcXCIpY29uc29sZS5lcnJvcihyKX1lbHNlIHRocm93IG5ldyBFcnJvcihyKX1mdW5jdGlvbiBUZShlLHIpe3ZhciB0PWU7WXIodCwwKTt2YXIgYT1bXSxuPVtdO3ZhciBpPXtGaWxlSW5kZXg6YSxGdWxsUGF0aHM6bn07eShpLHtyb290OnIucm9vdH0pO3ZhciBmPXQubGVuZ3RoLTQ7d2hpbGUoKHRbZl0hPTgwfHx0W2YrMV0hPTc1fHx0W2YrMl0hPTV8fHRbZiszXSE9NikmJmY+PTApLS1mO3QubD1mKzQ7dC5sKz00O3ZhciBvPXQuX1IoMik7dC5sKz02O3ZhciBsPXQuX1IoNCk7dC5sPWw7Zm9yKGY9MDtmPG87KytmKXt0LmwrPTIwO3ZhciBjPXQuX1IoNCk7dmFyIHU9dC5fUig0KTt2YXIgaD10Ll9SKDIpO3ZhciBkPXQuX1IoMik7dmFyIHY9dC5fUigyKTt0LmwrPTg7dmFyIHA9dC5fUig0KTt2YXIgbT1zKHQuc2xpY2UodC5sK2gsdC5sK2grZCkpO3QubCs9aCtkK3Y7dmFyIGI9dC5sO3QubD1wKzQ7eWUodCxjLHUsaSxtKTt0Lmw9Yn1yZXR1cm4gaX1mdW5jdGlvbiB5ZShlLHIsdCxhLG4pe2UubCs9Mjt2YXIgZj1lLl9SKDIpO3ZhciBvPWUuX1IoMik7dmFyIGw9aShlKTtpZihmJjgyNTcpdGhyb3cgbmV3IEVycm9yKFxcXCJVbnN1cHBvcnRlZCBaSVAgZW5jcnlwdGlvblxcXCIpO3ZhciBjPWUuX1IoNCk7dmFyIHU9ZS5fUig0KTt2YXIgaD1lLl9SKDQpO3ZhciBkPWUuX1IoMik7dmFyIHY9ZS5fUigyKTt2YXIgcD1cXFwiXFxcIjtmb3IodmFyIG09MDttPGQ7KyttKXArPVN0cmluZy5mcm9tQ2hhckNvZGUoZVtlLmwrK10pO2lmKHYpe3ZhciBiPXMoZS5zbGljZShlLmwsZS5sK3YpKTtpZigoYlsyMTU4OV18fHt9KS5tdClsPWJbMjE1ODldLm10O2lmKCgobnx8e30pWzIxNTg5XXx8e30pLm10KWw9blsyMTU4OV0ubXR9ZS5sKz12O3ZhciBnPWUuc2xpY2UoZS5sLGUubCt1KTtzd2l0Y2gobyl7Y2FzZSA4Omc9JChlLGgpO2JyZWFrO2Nhc2UgMDpicmVhaztkZWZhdWx0OnRocm93IG5ldyBFcnJvcihcXFwiVW5zdXBwb3J0ZWQgWklQIENvbXByZXNzaW9uIG1ldGhvZCBcXFwiK28pO312YXIgdz1mYWxzZTtpZihmJjgpe2M9ZS5fUig0KTtpZihjPT0xMzQ2OTU3NjApe2M9ZS5fUig0KTt3PXRydWV9dT1lLl9SKDQpO2g9ZS5fUig0KX1pZih1IT1yKUJlKHcsXFxcIkJhZCBjb21wcmVzc2VkIHNpemU6IFxcXCIrcitcXFwiICE9IFxcXCIrdSk7aWYoaCE9dClCZSh3LFxcXCJCYWQgdW5jb21wcmVzc2VkIHNpemU6IFxcXCIrdCtcXFwiICE9IFxcXCIraCk7dmFyIGs9SC5idWYoZywwKTtpZihjPj4wIT1rPj4wKUJlKHcsXFxcIkJhZCBDUkMzMiBjaGVja3N1bTogXFxcIitjK1xcXCIgIT0gXFxcIitrKTtJZShhLHAsZyx7dW5zYWZlOnRydWUsbXQ6bH0pfWZ1bmN0aW9uIHhlKGUscil7dmFyIHQ9cnx8e307dmFyIGE9W10saT1bXTt2YXIgcz1KcigxKTt2YXIgZj10LmNvbXByZXNzaW9uPzg6MCxvPTA7dmFyIGw9ZmFsc2U7aWYobClvfD04O3ZhciBjPTAsdT0wO3ZhciBoPTAsZD0wO3ZhciB2PWUuRnVsbFBhdGhzWzBdLHA9dixtPWUuRmlsZUluZGV4WzBdO3ZhciBiPVtdO3ZhciBnPTA7Zm9yKGM9MTtjPGUuRnVsbFBhdGhzLmxlbmd0aDsrK2Mpe3A9ZS5GdWxsUGF0aHNbY10uc2xpY2Uodi5sZW5ndGgpO209ZS5GaWxlSW5kZXhbY107aWYoIW0uc2l6ZXx8IW0uY29udGVudHx8cD09XFxcIlxcdTAwMDFTaDMzdEo1XFxcIiljb250aW51ZTt2YXIgdz1oO3ZhciBrPUpyKHAubGVuZ3RoKTtmb3IodT0wO3U8cC5sZW5ndGg7Kyt1KWsuX1coMSxwLmNoYXJDb2RlQXQodSkmMTI3KTtrPWsuc2xpY2UoMCxrLmwpO2JbZF09SC5idWYobS5jb250ZW50LDApO3ZhciBFPW0uY29udGVudDtpZihmPT04KUU9WShFKTtzPUpyKDMwKTtzLl9XKDQsNjczMjQ3NTIpO3MuX1coMiwyMCk7cy5fVygyLG8pO3MuX1coMixmKTtpZihtLm10KW4ocyxtLm10KTtlbHNlIHMuX1coNCwwKTtzLl9XKC00LG8mOD8wOmJbZF0pO3MuX1coNCxvJjg/MDpFLmxlbmd0aCk7cy5fVyg0LG8mOD8wOm0uY29udGVudC5sZW5ndGgpO3MuX1coMixrLmxlbmd0aCk7cy5fVygyLDApO2grPXMubGVuZ3RoO2EucHVzaChzKTtoKz1rLmxlbmd0aDthLnB1c2goayk7aCs9RS5sZW5ndGg7YS5wdXNoKEUpO2lmKG8mOCl7cz1KcigxMik7cy5fVygtNCxiW2RdKTtzLl9XKDQsRS5sZW5ndGgpO3MuX1coNCxtLmNvbnRlbnQubGVuZ3RoKTtoKz1zLmw7YS5wdXNoKHMpfXM9SnIoNDYpO3MuX1coNCwzMzYzOTI0OCk7cy5fVygyLDApO3MuX1coMiwyMCk7cy5fVygyLG8pO3MuX1coMixmKTtzLl9XKDQsMCk7cy5fVygtNCxiW2RdKTtzLl9XKDQsRS5sZW5ndGgpO3MuX1coNCxtLmNvbnRlbnQubGVuZ3RoKTtzLl9XKDIsay5sZW5ndGgpO3MuX1coMiwwKTtzLl9XKDIsMCk7cy5fVygyLDApO3MuX1coMiwwKTtzLl9XKDQsMCk7cy5fVyg0LHcpO2crPXMubDtpLnB1c2gocyk7Zys9ay5sZW5ndGg7aS5wdXNoKGspOysrZH1zPUpyKDIyKTtzLl9XKDQsMTAxMDEwMjU2KTtzLl9XKDIsMCk7cy5fVygyLDApO3MuX1coMixkKTtzLl9XKDIsZCk7cy5fVyg0LGcpO3MuX1coNCxoKTtzLl9XKDIsMCk7cmV0dXJuIEkoW0koYSksSShpKSxzXSl9ZnVuY3Rpb24gQWUoZSl7dmFyIHI9e307eShyLGUpO3JldHVybiByfWZ1bmN0aW9uIEllKGUscix0LG4pe3ZhciBpPW4mJm4udW5zYWZlO2lmKCFpKXkoZSk7dmFyIHM9IWkmJlcuZmluZChlLHIpO2lmKCFzKXt2YXIgZj1lLkZ1bGxQYXRoc1swXTtpZihyLnNsaWNlKDAsZi5sZW5ndGgpPT1mKWY9cjtlbHNle2lmKGYuc2xpY2UoLTEpIT1cXFwiL1xcXCIpZis9XFxcIi9cXFwiO2Y9KGYrcikucmVwbGFjZShcXFwiLy9cXFwiLFxcXCIvXFxcIil9cz17bmFtZTphKHIpLHR5cGU6Mn07ZS5GaWxlSW5kZXgucHVzaChzKTtlLkZ1bGxQYXRocy5wdXNoKGYpO2lmKCFpKVcudXRpbHMuY2ZiX2djKGUpfXMuY29udGVudD10O3Muc2l6ZT10P3QubGVuZ3RoOjA7aWYobil7aWYobi5DTFNJRClzLmNsc2lkPW4uQ0xTSUQ7aWYobi5tdClzLm10PW4ubXQ7aWYobi5jdClzLmN0PW4uY3R9cmV0dXJuIHN9ZnVuY3Rpb24gUmUoZSxyKXt5KGUpO3ZhciB0PVcuZmluZChlLHIpO2lmKHQpZm9yKHZhciBhPTA7YTxlLkZpbGVJbmRleC5sZW5ndGg7KythKWlmKGUuRmlsZUluZGV4W2FdPT10KXtlLkZpbGVJbmRleC5zcGxpY2UoYSwxKTtlLkZ1bGxQYXRocy5zcGxpY2UoYSwxKTtyZXR1cm4gdHJ1ZX1yZXR1cm4gZmFsc2V9ZnVuY3Rpb24gT2UoZSxyLHQpe3koZSk7dmFyIG49Vy5maW5kKGUscik7aWYobilmb3IodmFyIGk9MDtpPGUuRmlsZUluZGV4Lmxlbmd0aDsrK2kpaWYoZS5GaWxlSW5kZXhbaV09PW4pe2UuRmlsZUluZGV4W2ldLm5hbWU9YSh0KTtlLkZ1bGxQYXRoc1tpXT10O3JldHVybiB0cnVlfXJldHVybiBmYWxzZX1mdW5jdGlvbiBEZShlKXtBKGUsdHJ1ZSl9ZS5maW5kPUY7ZS5yZWFkPVQ7ZS5wYXJzZT1sO2Uud3JpdGU9RztlLndyaXRlRmlsZT1WO2UudXRpbHM9e2NmYl9uZXc6QWUsY2ZiX2FkZDpJZSxjZmJfZGVsOlJlLGNmYl9tb3Y6T2UsY2ZiX2djOkRlLFJlYWRTaGlmdDpWcixDaGVja0ZpZWxkOiRyLHByZXBfYmxvYjpZcixiY29uY2F0OkksdXNlX3psaWI6SyxfZGVmbGF0ZVJhdzpoZSxfaW5mbGF0ZVJhdzpDZSxjb25zdHM6en07cmV0dXJuIGV9KCk7aWYodHlwZW9mIHJlcXVpcmUhPT1cXFwidW5kZWZpbmVkXFxcIiYmdHlwZW9mIG1vZHVsZSE9PVxcXCJ1bmRlZmluZWRcXFwiJiZ0eXBlb2Ygej09PVxcXCJ1bmRlZmluZWRcXFwiKXttb2R1bGUuZXhwb3J0cz1XfXZhciBWO2lmKHR5cGVvZiByZXF1aXJlIT09XFxcInVuZGVmaW5lZFxcXCIpdHJ5e1Y9cmVxdWlyZShcXFwiZnNcXFwiKX1jYXRjaChTKXt9ZnVuY3Rpb24gWChlKXtpZih0eXBlb2YgZT09PVxcXCJzdHJpbmdcXFwiKXJldHVybiBUKGUpO2lmKEFycmF5LmlzQXJyYXkoZSkpcmV0dXJuIHgoZSk7cmV0dXJuIGV9ZnVuY3Rpb24gRyhlLHIsdCl7aWYodHlwZW9mIFYhPT1cXFwidW5kZWZpbmVkXFxcIiYmVi53cml0ZUZpbGVTeW5jKXJldHVybiB0P1Yud3JpdGVGaWxlU3luYyhlLHIsdCk6Vi53cml0ZUZpbGVTeW5jKGUscik7dmFyIGE9dD09XFxcInV0ZjhcXFwiP1plKHIpOnI7aWYodHlwZW9mIElFX1NhdmVGaWxlIT09XFxcInVuZGVmaW5lZFxcXCIpcmV0dXJuIElFX1NhdmVGaWxlKGEsZSk7aWYodHlwZW9mIEJsb2IhPT1cXFwidW5kZWZpbmVkXFxcIil7dmFyIG49bmV3IEJsb2IoW1goYSldLHt0eXBlOlxcXCJhcHBsaWNhdGlvbi9vY3RldC1zdHJlYW1cXFwifSk7aWYodHlwZW9mIG5hdmlnYXRvciE9PVxcXCJ1bmRlZmluZWRcXFwiJiZuYXZpZ2F0b3IubXNTYXZlQmxvYilyZXR1cm4gbmF2aWdhdG9yLm1zU2F2ZUJsb2IobixlKTtpZih0eXBlb2Ygc2F2ZUFzIT09XFxcInVuZGVmaW5lZFxcXCIpcmV0dXJuIHNhdmVBcyhuLGUpO2lmKHR5cGVvZiBVUkwhPT1cXFwidW5kZWZpbmVkXFxcIiYmdHlwZW9mIGRvY3VtZW50IT09XFxcInVuZGVmaW5lZFxcXCImJmRvY3VtZW50LmNyZWF0ZUVsZW1lbnQmJlVSTC5jcmVhdGVPYmplY3RVUkwpe3ZhciBpPVVSTC5jcmVhdGVPYmplY3RVUkwobik7aWYodHlwZW9mIGNocm9tZT09PVxcXCJvYmplY3RcXFwiJiZ0eXBlb2YoY2hyb21lLmRvd25sb2Fkc3x8e30pLmRvd25sb2FkPT1cXFwiZnVuY3Rpb25cXFwiKXtpZihVUkwucmV2b2tlT2JqZWN0VVJMJiZ0eXBlb2Ygc2V0VGltZW91dCE9PVxcXCJ1bmRlZmluZWRcXFwiKXNldFRpbWVvdXQoZnVuY3Rpb24oKXtVUkwucmV2b2tlT2JqZWN0VVJMKGkpfSw2ZTQpO3JldHVybiBjaHJvbWUuZG93bmxvYWRzLmRvd25sb2FkKHt1cmw6aSxmaWxlbmFtZTplLHNhdmVBczp0cnVlfSl9dmFyIHM9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcXFwiYVxcXCIpO2lmKHMuZG93bmxvYWQhPW51bGwpe3MuZG93bmxvYWQ9ZTtzLmhyZWY9aTtkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHMpO3MuY2xpY2soKTtkb2N1bWVudC5ib2R5LnJlbW92ZUNoaWxkKHMpO2lmKFVSTC5yZXZva2VPYmplY3RVUkwmJnR5cGVvZiBzZXRUaW1lb3V0IT09XFxcInVuZGVmaW5lZFxcXCIpc2V0VGltZW91dChmdW5jdGlvbigpe1VSTC5yZXZva2VPYmplY3RVUkwoaSl9LDZlNCk7cmV0dXJuIGl9fX1pZih0eXBlb2YgJCE9PVxcXCJ1bmRlZmluZWRcXFwiJiZ0eXBlb2YgRmlsZSE9PVxcXCJ1bmRlZmluZWRcXFwiJiZ0eXBlb2YgRm9sZGVyIT09XFxcInVuZGVmaW5lZFxcXCIpdHJ5e3ZhciBmPUZpbGUoZSk7Zi5vcGVuKFxcXCJ3XFxcIik7Zi5lbmNvZGluZz1cXFwiYmluYXJ5XFxcIjtpZihBcnJheS5pc0FycmF5KHIpKXI9eShyKTtmLndyaXRlKHIpO2YuY2xvc2UoKTtyZXR1cm4gcn1jYXRjaChvKXtpZighby5tZXNzYWdlfHwhby5tZXNzYWdlLm1hdGNoKC9vbnN0cnVjdC8pKXRocm93IG99dGhyb3cgbmV3IEVycm9yKFxcXCJjYW5ub3Qgc2F2ZSBmaWxlIFxcXCIrZSl9ZnVuY3Rpb24gaihlKXtpZih0eXBlb2YgViE9PVxcXCJ1bmRlZmluZWRcXFwiKXJldHVybiBWLnJlYWRGaWxlU3luYyhlKTtpZih0eXBlb2YgJCE9PVxcXCJ1bmRlZmluZWRcXFwiJiZ0eXBlb2YgRmlsZSE9PVxcXCJ1bmRlZmluZWRcXFwiJiZ0eXBlb2YgRm9sZGVyIT09XFxcInVuZGVmaW5lZFxcXCIpdHJ5e3ZhciByPUZpbGUoZSk7ci5vcGVuKFxcXCJyXFxcIik7ci5lbmNvZGluZz1cXFwiYmluYXJ5XFxcIjt2YXIgdD1yLnJlYWQoKTtyLmNsb3NlKCk7cmV0dXJuIHR9Y2F0Y2goYSl7aWYoIWEubWVzc2FnZXx8IWEubWVzc2FnZS5tYXRjaCgvb25zdHJ1Y3QvKSl0aHJvdyBhfXRocm93IG5ldyBFcnJvcihcXFwiQ2Fubm90IGFjY2VzcyBmaWxlIFxcXCIrZSl9ZnVuY3Rpb24gSyhlKXt2YXIgcj1PYmplY3Qua2V5cyhlKSx0PVtdO2Zvcih2YXIgYT0wO2E8ci5sZW5ndGg7KythKWlmKE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChlLHJbYV0pKXQucHVzaChyW2FdKTtyZXR1cm4gdH1mdW5jdGlvbiBZKGUscil7dmFyIHQ9W10sYT1LKGUpO2Zvcih2YXIgbj0wO24hPT1hLmxlbmd0aDsrK24paWYodFtlW2Fbbl1dW3JdXT09bnVsbCl0W2VbYVtuXV1bcl1dPWFbbl07cmV0dXJuIHR9ZnVuY3Rpb24gWihlKXt2YXIgcj1bXSx0PUsoZSk7Zm9yKHZhciBhPTA7YSE9PXQubGVuZ3RoOysrYSlyW2VbdFthXV1dPXRbYV07cmV0dXJuIHJ9ZnVuY3Rpb24gSihlKXt2YXIgcj1bXSx0PUsoZSk7Zm9yKHZhciBhPTA7YSE9PXQubGVuZ3RoOysrYSlyW2VbdFthXV1dPXBhcnNlSW50KHRbYV0sMTApO3JldHVybiByfWZ1bmN0aW9uIFEoZSl7dmFyIHI9W10sdD1LKGUpO2Zvcih2YXIgYT0wO2EhPT10Lmxlbmd0aDsrK2Epe2lmKHJbZVt0W2FdXV09PW51bGwpcltlW3RbYV1dXT1bXTtyW2VbdFthXV1dLnB1c2godFthXSl9cmV0dXJuIHJ9dmFyIHE9bmV3IERhdGUoMTg5OSwxMSwzMCwwLDAsMCk7ZnVuY3Rpb24gZWUoZSxyKXt2YXIgdD1lLmdldFRpbWUoKTtpZihyKXQtPTE0NjIqMjQqNjAqNjAqMWUzO3ZhciBhPXEuZ2V0VGltZSgpKyhlLmdldFRpbWV6b25lT2Zmc2V0KCktcS5nZXRUaW1lem9uZU9mZnNldCgpKSo2ZTQ7cmV0dXJuKHQtYSkvKDI0KjYwKjYwKjFlMyl9dmFyIHJlPW5ldyBEYXRlO3ZhciB0ZT1xLmdldFRpbWUoKSsocmUuZ2V0VGltZXpvbmVPZmZzZXQoKS1xLmdldFRpbWV6b25lT2Zmc2V0KCkpKjZlNDt2YXIgYWU9cmUuZ2V0VGltZXpvbmVPZmZzZXQoKTtmdW5jdGlvbiBuZShlKXt2YXIgcj1uZXcgRGF0ZTtyLnNldFRpbWUoZSoyNCo2MCo2MCoxZTMrdGUpO2lmKHIuZ2V0VGltZXpvbmVPZmZzZXQoKSE9PWFlKXtyLnNldFRpbWUoci5nZXRUaW1lKCkrKHIuZ2V0VGltZXpvbmVPZmZzZXQoKS1hZSkqNmU0KX1yZXR1cm4gcn1mdW5jdGlvbiBpZShlKXt2YXIgcj0wLHQ9MCxhPWZhbHNlO3ZhciBuPWUubWF0Y2goL1AoWzAtOVxcXFwuXStZKT8oWzAtOVxcXFwuXStNKT8oWzAtOVxcXFwuXStEKT9UKFswLTlcXFxcLl0rSCk/KFswLTlcXFxcLl0rTSk/KFswLTlcXFxcLl0rUyk/Lyk7aWYoIW4pdGhyb3cgbmV3IEVycm9yKFxcXCJ8XFxcIitlK1xcXCJ8IGlzIG5vdCBhbiBJU084NjAxIER1cmF0aW9uXFxcIik7Zm9yKHZhciBpPTE7aSE9bi5sZW5ndGg7KytpKXtpZighbltpXSljb250aW51ZTt0PTE7aWYoaT4zKWE9dHJ1ZTtzd2l0Y2gobltpXS5zbGljZShuW2ldLmxlbmd0aC0xKSl7Y2FzZVxcXCJZXFxcIjp0aHJvdyBuZXcgRXJyb3IoXFxcIlVuc3VwcG9ydGVkIElTTyBEdXJhdGlvbiBGaWVsZDogXFxcIituW2ldLnNsaWNlKG5baV0ubGVuZ3RoLTEpKTtjYXNlXFxcIkRcXFwiOnQqPTI0O2Nhc2VcXFwiSFxcXCI6dCo9NjA7Y2FzZVxcXCJNXFxcIjppZighYSl0aHJvdyBuZXcgRXJyb3IoXFxcIlVuc3VwcG9ydGVkIElTTyBEdXJhdGlvbiBGaWVsZDogTVxcXCIpO2Vsc2UgdCo9NjA7Y2FzZVxcXCJTXFxcIjpicmVhazt9cis9dCpwYXJzZUludChuW2ldLDEwKX1yZXR1cm4gcn12YXIgc2U9bmV3IERhdGUoXFxcIjIwMTctMDItMTlUMTk6MDY6MDkuMDAwWlxcXCIpO2lmKGlzTmFOKHNlLmdldEZ1bGxZZWFyKCkpKXNlPW5ldyBEYXRlKFxcXCIyLzE5LzE3XFxcIik7dmFyIGZlPXNlLmdldEZ1bGxZZWFyKCk9PTIwMTc7ZnVuY3Rpb24gb2UoZSxyKXt2YXIgdD1uZXcgRGF0ZShlKTtpZihmZSl7aWYocj4wKXQuc2V0VGltZSh0LmdldFRpbWUoKSt0LmdldFRpbWV6b25lT2Zmc2V0KCkqNjAqMWUzKTtlbHNlIGlmKHI8MCl0LnNldFRpbWUodC5nZXRUaW1lKCktdC5nZXRUaW1lem9uZU9mZnNldCgpKjYwKjFlMyk7cmV0dXJuIHR9aWYoZSBpbnN0YW5jZW9mIERhdGUpcmV0dXJuIGU7aWYoc2UuZ2V0RnVsbFllYXIoKT09MTkxNyYmIWlzTmFOKHQuZ2V0RnVsbFllYXIoKSkpe3ZhciBhPXQuZ2V0RnVsbFllYXIoKTtpZihlLmluZGV4T2YoXFxcIlxcXCIrYSk+LTEpcmV0dXJuIHQ7dC5zZXRGdWxsWWVhcih0LmdldEZ1bGxZZWFyKCkrMTAwKTtyZXR1cm4gdH12YXIgbj1lLm1hdGNoKC9cXFxcZCsvZyl8fFtcXFwiMjAxN1xcXCIsXFxcIjJcXFwiLFxcXCIxOVxcXCIsXFxcIjBcXFwiLFxcXCIwXFxcIixcXFwiMFxcXCJdO3ZhciBpPW5ldyBEYXRlKCtuWzBdLCtuWzFdLTEsK25bMl0sK25bM118fDAsK25bNF18fDAsK25bNV18fDApO2lmKGUuaW5kZXhPZihcXFwiWlxcXCIpPi0xKWk9bmV3IERhdGUoaS5nZXRUaW1lKCktaS5nZXRUaW1lem9uZU9mZnNldCgpKjYwKjFlMyk7cmV0dXJuIGl9ZnVuY3Rpb24gbGUoZSl7dmFyIHI9XFxcIlxcXCI7Zm9yKHZhciB0PTA7dCE9ZS5sZW5ndGg7Kyt0KXIrPVN0cmluZy5mcm9tQ2hhckNvZGUoZVt0XSk7cmV0dXJuIHJ9ZnVuY3Rpb24gY2UoZSl7aWYodHlwZW9mIEpTT04hPVxcXCJ1bmRlZmluZWRcXFwiJiYhQXJyYXkuaXNBcnJheShlKSlyZXR1cm4gSlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeShlKSk7aWYodHlwZW9mIGUhPVxcXCJvYmplY3RcXFwifHxlPT1udWxsKXJldHVybiBlO2lmKGUgaW5zdGFuY2VvZiBEYXRlKXJldHVybiBuZXcgRGF0ZShlLmdldFRpbWUoKSk7dmFyIHI9e307Zm9yKHZhciB0IGluIGUpaWYoT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGUsdCkpclt0XT1jZShlW3RdKTtyZXR1cm4gcn1mdW5jdGlvbiB1ZShlLHIpe3ZhciB0PVxcXCJcXFwiO3doaWxlKHQubGVuZ3RoPHIpdCs9ZTtyZXR1cm4gdH1mdW5jdGlvbiBoZShlKXt2YXIgcj1OdW1iZXIoZSk7aWYoIWlzTmFOKHIpKXJldHVybiByO2lmKCEvXFxcXGQvLnRlc3QoZSkpcmV0dXJuIHI7dmFyIHQ9MTt2YXIgYT1lLnJlcGxhY2UoLyhbXFxcXGRdKSwoW1xcXFxkXSkvZyxcXFwiJDEkMlxcXCIpLnJlcGxhY2UoL1skXS9nLFxcXCJcXFwiKS5yZXBsYWNlKC9bJV0vZyxmdW5jdGlvbigpe3QqPTEwMDtyZXR1cm5cXFwiXFxcIn0pO2lmKCFpc05hTihyPU51bWJlcihhKSkpcmV0dXJuIHIvdDthPWEucmVwbGFjZSgvWyhdKC4qKVspXS8sZnVuY3Rpb24oZSxyKXt0PS10O3JldHVybiByfSk7aWYoIWlzTmFOKHI9TnVtYmVyKGEpKSlyZXR1cm4gci90O3JldHVybiByfWZ1bmN0aW9uIGRlKGUpe3ZhciByPW5ldyBEYXRlKGUpLHQ9bmV3IERhdGUoTmFOKTt2YXIgYT1yLmdldFllYXIoKSxuPXIuZ2V0TW9udGgoKSxpPXIuZ2V0RGF0ZSgpO2lmKGlzTmFOKGkpKXJldHVybiB0O2lmKGE8MHx8YT44MDk5KXJldHVybiB0O2lmKChuPjB8fGk+MSkmJmEhPTEwMSlyZXR1cm4gcjtpZihlLnRvTG93ZXJDYXNlKCkubWF0Y2goL2phbnxmZWJ8bWFyfGFwcnxtYXl8anVufGp1bHxhdWd8c2VwfG9jdHxub3Z8ZGVjLykpcmV0dXJuIHI7aWYoZS5tYXRjaCgvW14tMC05OixcXFxcL1xcXFxcXFxcXS8pKXJldHVybiB0O3JldHVybiByfXZhciB2ZT1cXFwiYWJhY2FiYVxcXCIuc3BsaXQoLyg6P2IpL2kpLmxlbmd0aD09NTtmdW5jdGlvbiBwZShlLHIsdCl7aWYodmV8fHR5cGVvZiByPT1cXFwic3RyaW5nXFxcIilyZXR1cm4gZS5zcGxpdChyKTt2YXIgYT1lLnNwbGl0KHIpLG49W2FbMF1dO2Zvcih2YXIgaT0xO2k8YS5sZW5ndGg7KytpKXtuLnB1c2godCk7bi5wdXNoKGFbaV0pfXJldHVybiBufWZ1bmN0aW9uIG1lKGUpe2lmKCFlKXJldHVybiBudWxsO2lmKGUuZGF0YSlyZXR1cm4gZChlLmRhdGEpO2lmKGUuYXNOb2RlQnVmZmVyJiZ3KXJldHVybiBkKGUuYXNOb2RlQnVmZmVyKCkudG9TdHJpbmcoXFxcImJpbmFyeVxcXCIpKTtpZihlLmFzQmluYXJ5KXJldHVybiBkKGUuYXNCaW5hcnkoKSk7aWYoZS5fZGF0YSYmZS5fZGF0YS5nZXRDb250ZW50KXJldHVybiBkKGxlKEFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKGUuX2RhdGEuZ2V0Q29udGVudCgpLDApKSk7aWYoZS5jb250ZW50JiZlLnR5cGUpcmV0dXJuIGQobGUoZS5jb250ZW50KSk7cmV0dXJuIG51bGx9ZnVuY3Rpb24gYmUoZSl7aWYoIWUpcmV0dXJuIG51bGw7aWYoZS5kYXRhKXJldHVybiBjKGUuZGF0YSk7aWYoZS5hc05vZGVCdWZmZXImJncpcmV0dXJuIGUuYXNOb2RlQnVmZmVyKCk7aWYoZS5fZGF0YSYmZS5fZGF0YS5nZXRDb250ZW50KXt2YXIgcj1lLl9kYXRhLmdldENvbnRlbnQoKTtpZih0eXBlb2Ygcj09XFxcInN0cmluZ1xcXCIpcmV0dXJuIGMocik7cmV0dXJuIEFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKHIpfWlmKGUuY29udGVudCYmZS50eXBlKXJldHVybiBlLmNvbnRlbnQ7cmV0dXJuIG51bGx9ZnVuY3Rpb24gZ2UoZSl7cmV0dXJuIGUmJmUubmFtZS5zbGljZSgtNCk9PT1cXFwiLmJpblxcXCI/YmUoZSk6bWUoZSl9ZnVuY3Rpb24gd2UoZSxyKXt2YXIgdD1lLkZ1bGxQYXRoc3x8SyhlLmZpbGVzKTt2YXIgYT1yLnRvTG93ZXJDYXNlKCksbj1hLnJlcGxhY2UoL1xcXFwvL2csXFxcIlxcXFxcXFxcXFxcIik7Zm9yKHZhciBpPTA7aTx0Lmxlbmd0aDsrK2kpe3ZhciBzPXRbaV0udG9Mb3dlckNhc2UoKTtpZihhPT1zfHxuPT1zKXJldHVybiBlLmZpbGVzW3RbaV1dfXJldHVybiBudWxsfWZ1bmN0aW9uIGtlKGUscil7dmFyIHQ9d2UoZSxyKTtpZih0PT1udWxsKXRocm93IG5ldyBFcnJvcihcXFwiQ2Fubm90IGZpbmQgZmlsZSBcXFwiK3IrXFxcIiBpbiB6aXBcXFwiKTtyZXR1cm4gdH1mdW5jdGlvbiBFZShlLHIsdCl7aWYoIXQpcmV0dXJuIGdlKGtlKGUscikpO2lmKCFyKXJldHVybiBudWxsO3RyeXtyZXR1cm4gRWUoZSxyKX1jYXRjaChhKXtyZXR1cm4gbnVsbH19ZnVuY3Rpb24gU2UoZSxyLHQpe2lmKCF0KXJldHVybiBtZShrZShlLHIpKTtpZighcilyZXR1cm4gbnVsbDt0cnl7cmV0dXJuIFNlKGUscil9Y2F0Y2goYSl7cmV0dXJuIG51bGx9fWZ1bmN0aW9uIF9lKGUpe3ZhciByPWUuRnVsbFBhdGhzfHxLKGUuZmlsZXMpLHQ9W107Zm9yKHZhciBhPTA7YTxyLmxlbmd0aDsrK2EpaWYoclthXS5zbGljZSgtMSkhPVxcXCIvXFxcIil0LnB1c2goclthXSk7cmV0dXJuIHQuc29ydCgpfWZ1bmN0aW9uIENlKGUscix0KXtpZihlLkZ1bGxQYXRocylXLnV0aWxzLmNmYl9hZGQoZSxyLHQpO2Vsc2UgZS5maWxlKHIsdCl9dmFyIEJlO2lmKHR5cGVvZiBKU1ppcFN5bmMhPT1cXFwidW5kZWZpbmVkXFxcIilCZT1KU1ppcFN5bmM7aWYodHlwZW9mIGV4cG9ydHMhPT1cXFwidW5kZWZpbmVkXFxcIil7aWYodHlwZW9mIG1vZHVsZSE9PVxcXCJ1bmRlZmluZWRcXFwiJiZtb2R1bGUuZXhwb3J0cyl7aWYodHlwZW9mIEJlPT09XFxcInVuZGVmaW5lZFxcXCIpQmU9dW5kZWZpbmVkfX1mdW5jdGlvbiBUZSgpe2lmKCFCZSlyZXR1cm4gVy51dGlscy5jZmJfbmV3KCk7cmV0dXJuIG5ldyBCZX1mdW5jdGlvbiB5ZShlLHIpe3ZhciB0O2lmKEJlKXN3aXRjaChyLnR5cGUpe2Nhc2VcXFwiYmFzZTY0XFxcIjp0PW5ldyBCZShlLHtiYXNlNjQ6dHJ1ZX0pO2JyZWFrO2Nhc2VcXFwiYmluYXJ5XFxcIjo7Y2FzZVxcXCJhcnJheVxcXCI6dD1uZXcgQmUoZSx7YmFzZTY0OmZhbHNlfSk7YnJlYWs7Y2FzZVxcXCJidWZmZXJcXFwiOnQ9bmV3IEJlKGUpO2JyZWFrO2RlZmF1bHQ6dGhyb3cgbmV3IEVycm9yKFxcXCJVbnJlY29nbml6ZWQgdHlwZSBcXFwiK3IudHlwZSk7fWVsc2Ugc3dpdGNoKHIudHlwZSl7Y2FzZVxcXCJiYXNlNjRcXFwiOnQ9Vy5yZWFkKGUse3R5cGU6XFxcImJhc2U2NFxcXCJ9KTticmVhaztjYXNlXFxcImJpbmFyeVxcXCI6dD1XLnJlYWQoZSx7dHlwZTpcXFwiYmluYXJ5XFxcIn0pO2JyZWFrO2Nhc2VcXFwiYnVmZmVyXFxcIjo7Y2FzZVxcXCJhcnJheVxcXCI6dD1XLnJlYWQoZSx7dHlwZTpcXFwiYnVmZmVyXFxcIn0pO2JyZWFrO2RlZmF1bHQ6dGhyb3cgbmV3IEVycm9yKFxcXCJVbnJlY29nbml6ZWQgdHlwZSBcXFwiK3IudHlwZSk7fXJldHVybiB0fWZ1bmN0aW9uIHhlKGUscil7aWYoZS5jaGFyQXQoMCk9PVxcXCIvXFxcIilyZXR1cm4gZS5zbGljZSgxKTt2YXIgdD1yLnNwbGl0KFxcXCIvXFxcIik7aWYoci5zbGljZSgtMSkhPVxcXCIvXFxcIil0LnBvcCgpO3ZhciBhPWUuc3BsaXQoXFxcIi9cXFwiKTt3aGlsZShhLmxlbmd0aCE9PTApe3ZhciBuPWEuc2hpZnQoKTtpZihuPT09XFxcIi4uXFxcIil0LnBvcCgpO2Vsc2UgaWYobiE9PVxcXCIuXFxcIil0LnB1c2gobil9cmV0dXJuIHQuam9pbihcXFwiL1xcXCIpfXZhciBBZT0nPD94bWwgdmVyc2lvbj1cXFwiMS4wXFxcIiBlbmNvZGluZz1cXFwiVVRGLThcXFwiIHN0YW5kYWxvbmU9XFxcInllc1xcXCI/PlxcXFxyXFxcXG4nO3ZhciBJZT0vKFteXFxcIlxcXFxzPz5cXFxcL10rKVxcXFxzKj1cXFxccyooKD86XFxcIikoW15cXFwiXSopKD86XFxcIil8KD86JykoW14nXSopKD86Jyl8KFteJ1xcXCI+XFxcXHNdKykpL2c7dmFyIFJlPS88W1xcXFwvXFxcXD9dP1thLXpBLVowLTk6Xy1dKyg/OlxcXFxzK1teXFxcIlxcXFxzPz5cXFxcL10rXFxcXHMqPVxcXFxzKig/OlxcXCJbXlxcXCJdKlxcXCJ8J1teJ10qJ3xbXidcXFwiPlxcXFxzPV0rKSkqXFxcXHM/W1xcXFwvXFxcXD9dPz4vZ207aWYoIUFlLm1hdGNoKFJlKSlSZT0vPFtePl0qPi9nO3ZhciBPZT0vPFxcXFx3KjovLERlPS88KFxcXFwvPylcXFxcdys6LztmdW5jdGlvbiBGZShlLHIsdCl7dmFyIGE9e307dmFyIG49MCxpPTA7Zm9yKDtuIT09ZS5sZW5ndGg7KytuKWlmKChpPWUuY2hhckNvZGVBdChuKSk9PT0zMnx8aT09PTEwfHxpPT09MTMpYnJlYWs7aWYoIXIpYVswXT1lLnNsaWNlKDAsbik7aWYobj09PWUubGVuZ3RoKXJldHVybiBhO3ZhciBzPWUubWF0Y2goSWUpLGY9MCxvPVxcXCJcXFwiLGw9MCxjPVxcXCJcXFwiLHU9XFxcIlxcXCIsaD0xO2lmKHMpZm9yKGw9MDtsIT1zLmxlbmd0aDsrK2wpe3U9c1tsXTtmb3IoaT0wO2khPXUubGVuZ3RoOysraSlpZih1LmNoYXJDb2RlQXQoaSk9PT02MSlicmVhaztjPXUuc2xpY2UoMCxpKS50cmltKCk7d2hpbGUodS5jaGFyQ29kZUF0KGkrMSk9PTMyKSsraTtoPShuPXUuY2hhckNvZGVBdChpKzEpKT09MzR8fG49PTM5PzE6MDtvPXUuc2xpY2UoaSsxK2gsdS5sZW5ndGgtaCk7Zm9yKGY9MDtmIT1jLmxlbmd0aDsrK2YpaWYoYy5jaGFyQ29kZUF0KGYpPT09NTgpYnJlYWs7aWYoZj09PWMubGVuZ3RoKXtpZihjLmluZGV4T2YoXFxcIl9cXFwiKT4wKWM9Yy5zbGljZSgwLGMuaW5kZXhPZihcXFwiX1xcXCIpKTthW2NdPW87aWYoIXQpYVtjLnRvTG93ZXJDYXNlKCldPW99ZWxzZXt2YXIgZD0oZj09PTUmJmMuc2xpY2UoMCw1KT09PVxcXCJ4bWxuc1xcXCI/XFxcInhtbG5zXFxcIjpcXFwiXFxcIikrYy5zbGljZShmKzEpO2lmKGFbZF0mJmMuc2xpY2UoZi0zLGYpPT1cXFwiZXh0XFxcIiljb250aW51ZTthW2RdPW87aWYoIXQpYVtkLnRvTG93ZXJDYXNlKCldPW99fXJldHVybiBhfWZ1bmN0aW9uIFBlKGUpe3JldHVybiBlLnJlcGxhY2UoRGUsXFxcIjwkMVxcXCIpfXZhciBOZT17XFxcIiZxdW90O1xcXCI6J1xcXCInLFxcXCImYXBvcztcXFwiOlxcXCInXFxcIixcXFwiJmd0O1xcXCI6XFxcIj5cXFwiLFxcXCImbHQ7XFxcIjpcXFwiPFxcXCIsXFxcIiZhbXA7XFxcIjpcXFwiJlxcXCJ9O3ZhciBMZT1aKE5lKTt2YXIgTWU9ZnVuY3Rpb24oKXt2YXIgZT0vJig/OnF1b3R8YXBvc3xndHxsdHxhbXB8I3g/KFtcXFxcZGEtZkEtRl0rKSk7L2dpLHI9L194KFtcXFxcZGEtZkEtRl17NH0pXy9naTtyZXR1cm4gZnVuY3Rpb24gdChhKXt2YXIgbj1hK1xcXCJcXFwiLGk9bi5pbmRleE9mKFxcXCI8IVtDREFUQVtcXFwiKTtpZihpPT0tMSlyZXR1cm4gbi5yZXBsYWNlKGUsZnVuY3Rpb24oZSxyKXtyZXR1cm4gTmVbZV18fFN0cmluZy5mcm9tQ2hhckNvZGUocGFyc2VJbnQocixlLmluZGV4T2YoXFxcInhcXFwiKT4tMT8xNjoxMCkpfHxlfSkucmVwbGFjZShyLGZ1bmN0aW9uKGUscil7cmV0dXJuIFN0cmluZy5mcm9tQ2hhckNvZGUocGFyc2VJbnQociwxNikpfSk7dmFyIHM9bi5pbmRleE9mKFxcXCJdXT5cXFwiKTtyZXR1cm4gdChuLnNsaWNlKDAsaSkpK24uc2xpY2UoaSs5LHMpK3Qobi5zbGljZShzKzMpKX19KCk7dmFyIFVlPS9bJjw+J1xcXCJdL2csemU9L1tcXFxcdTAwMDAtXFxcXHUwMDA4XFxcXHUwMDBiLVxcXFx1MDAxZl0vZztmdW5jdGlvbiBIZShlKXt2YXIgcj1lK1xcXCJcXFwiO3JldHVybiByLnJlcGxhY2UoVWUsZnVuY3Rpb24oZSl7cmV0dXJuIExlW2VdfSkucmVwbGFjZSh6ZSxmdW5jdGlvbihlKXtyZXR1cm5cXFwiX3hcXFwiKyhcXFwiMDAwXFxcIitlLmNoYXJDb2RlQXQoMCkudG9TdHJpbmcoMTYpKS5zbGljZSgtNCkrXFxcIl9cXFwifSl9ZnVuY3Rpb24gV2UoZSl7cmV0dXJuIEhlKGUpLnJlcGxhY2UoLyAvZyxcXFwiX3gwMDIwX1xcXCIpfXZhciBWZT0vW1xcXFx1MDAwMC1cXFxcdTAwMWZdL2c7ZnVuY3Rpb24gWGUoZSl7dmFyIHI9ZStcXFwiXFxcIjtyZXR1cm4gci5yZXBsYWNlKFVlLGZ1bmN0aW9uKGUpe3JldHVybiBMZVtlXX0pLnJlcGxhY2UoL1xcXFxuL2csXFxcIjxici8+XFxcIikucmVwbGFjZShWZSxmdW5jdGlvbihlKXtyZXR1cm5cXFwiJiN4XFxcIisoXFxcIjAwMFxcXCIrZS5jaGFyQ29kZUF0KDApLnRvU3RyaW5nKDE2KSkuc2xpY2UoLTQpK1xcXCI7XFxcIn0pfWZ1bmN0aW9uIEdlKGUpe3ZhciByPWUrXFxcIlxcXCI7cmV0dXJuIHIucmVwbGFjZShVZSxmdW5jdGlvbihlKXtyZXR1cm4gTGVbZV19KS5yZXBsYWNlKFZlLGZ1bmN0aW9uKGUpe3JldHVyblxcXCImI3hcXFwiK2UuY2hhckNvZGVBdCgwKS50b1N0cmluZygxNikudG9VcHBlckNhc2UoKStcXFwiO1xcXCJ9KX12YXIgamU9ZnVuY3Rpb24oKXt2YXIgZT0vJiMoXFxcXGQrKTsvZztmdW5jdGlvbiByKGUscil7cmV0dXJuIFN0cmluZy5mcm9tQ2hhckNvZGUocGFyc2VJbnQociwxMCkpfXJldHVybiBmdW5jdGlvbiB0KGEpe3JldHVybiBhLnJlcGxhY2UoZSxyKX19KCk7dmFyIEtlPWZ1bmN0aW9uKCl7cmV0dXJuIGZ1bmN0aW9uIGUocil7cmV0dXJuIHIucmVwbGFjZSgvKFxcXFxyXFxcXG58W1xcXFxyXFxcXG5dKS9nLFxcXCImIzEwO1xcXCIpfX0oKTtmdW5jdGlvbiAkZShlKXtzd2l0Y2goZSl7Y2FzZSAxOjtjYXNlIHRydWU6O2Nhc2VcXFwiMVxcXCI6O2Nhc2VcXFwidHJ1ZVxcXCI6O2Nhc2VcXFwiVFJVRVxcXCI6cmV0dXJuIHRydWU7ZGVmYXVsdDpyZXR1cm4gZmFsc2U7fX12YXIgWWU9ZnVuY3Rpb24gZ2IoZSl7dmFyIHI9XFxcIlxcXCIsdD0wLGE9MCxuPTAsaT0wLHM9MCxmPTA7d2hpbGUodDxlLmxlbmd0aCl7YT1lLmNoYXJDb2RlQXQodCsrKTtpZihhPDEyOCl7cis9U3RyaW5nLmZyb21DaGFyQ29kZShhKTtjb250aW51ZX1uPWUuY2hhckNvZGVBdCh0KyspO2lmKGE+MTkxJiZhPDIyNCl7cz0oYSYzMSk8PDY7c3w9biY2MztyKz1TdHJpbmcuZnJvbUNoYXJDb2RlKHMpO2NvbnRpbnVlfWk9ZS5jaGFyQ29kZUF0KHQrKyk7aWYoYTwyNDApe3IrPVN0cmluZy5mcm9tQ2hhckNvZGUoKGEmMTUpPDwxMnwobiY2Myk8PDZ8aSY2Myk7Y29udGludWV9cz1lLmNoYXJDb2RlQXQodCsrKTtmPSgoYSY3KTw8MTh8KG4mNjMpPDwxMnwoaSY2Myk8PDZ8cyY2MyktNjU1MzY7cis9U3RyaW5nLmZyb21DaGFyQ29kZSg1NTI5NisoZj4+PjEwJjEwMjMpKTtyKz1TdHJpbmcuZnJvbUNoYXJDb2RlKDU2MzIwKyhmJjEwMjMpKX1yZXR1cm4gcn07dmFyIFplPWZ1bmN0aW9uKGUpe3ZhciByPVtdLHQ9MCxhPTAsbj0wO3doaWxlKHQ8ZS5sZW5ndGgpe2E9ZS5jaGFyQ29kZUF0KHQrKyk7c3dpdGNoKHRydWUpe2Nhc2UgYTwxMjg6ci5wdXNoKFN0cmluZy5mcm9tQ2hhckNvZGUoYSkpO2JyZWFrO2Nhc2UgYTwyMDQ4OnIucHVzaChTdHJpbmcuZnJvbUNoYXJDb2RlKDE5MisoYT4+NikpKTtyLnB1c2goU3RyaW5nLmZyb21DaGFyQ29kZSgxMjgrKGEmNjMpKSk7YnJlYWs7Y2FzZSBhPj01NTI5NiYmYTw1NzM0NDphLT01NTI5NjtuPWUuY2hhckNvZGVBdCh0KyspLTU2MzIwKyhhPDwxMCk7ci5wdXNoKFN0cmluZy5mcm9tQ2hhckNvZGUoMjQwKyhuPj4xOCY3KSkpO3IucHVzaChTdHJpbmcuZnJvbUNoYXJDb2RlKDE0NCsobj4+MTImNjMpKSk7ci5wdXNoKFN0cmluZy5mcm9tQ2hhckNvZGUoMTI4KyhuPj42JjYzKSkpO3IucHVzaChTdHJpbmcuZnJvbUNoYXJDb2RlKDEyOCsobiY2MykpKTticmVhaztkZWZhdWx0OnIucHVzaChTdHJpbmcuZnJvbUNoYXJDb2RlKDIyNCsoYT4+MTIpKSk7ci5wdXNoKFN0cmluZy5mcm9tQ2hhckNvZGUoMTI4KyhhPj42JjYzKSkpO3IucHVzaChTdHJpbmcuZnJvbUNoYXJDb2RlKDEyOCsoYSY2MykpKTt9fXJldHVybiByLmpvaW4oXFxcIlxcXCIpfTtpZih3KXt2YXIgSmU9ZnVuY3Rpb24gd2IoZSl7dmFyIHI9QnVmZmVyLmFsbG9jKDIqZS5sZW5ndGgpLHQsYSxuPTEsaT0wLHM9MCxmO2ZvcihhPTA7YTxlLmxlbmd0aDthKz1uKXtuPTE7aWYoKGY9ZS5jaGFyQ29kZUF0KGEpKTwxMjgpdD1mO2Vsc2UgaWYoZjwyMjQpe3Q9KGYmMzEpKjY0KyhlLmNoYXJDb2RlQXQoYSsxKSY2Myk7bj0yfWVsc2UgaWYoZjwyNDApe3Q9KGYmMTUpKjQwOTYrKGUuY2hhckNvZGVBdChhKzEpJjYzKSo2NCsoZS5jaGFyQ29kZUF0KGErMikmNjMpO249M31lbHNle249NDt0PShmJjcpKjI2MjE0NCsoZS5jaGFyQ29kZUF0KGErMSkmNjMpKjQwOTYrKGUuY2hhckNvZGVBdChhKzIpJjYzKSo2NCsoZS5jaGFyQ29kZUF0KGErMykmNjMpO3QtPTY1NTM2O3M9NTUyOTYrKHQ+Pj4xMCYxMDIzKTt0PTU2MzIwKyh0JjEwMjMpfWlmKHMhPT0wKXtyW2krK109cyYyNTU7cltpKytdPXM+Pj44O3M9MH1yW2krK109dCUyNTY7cltpKytdPXQ+Pj44fXJldHVybiByLnNsaWNlKDAsaSkudG9TdHJpbmcoXFxcInVjczJcXFwiKX07dmFyIFFlPVxcXCJmb28gYmFyIGJhesOiwpjCg8Owwp/CjcKjXFxcIjtpZihZZShRZSk9PUplKFFlKSlZZT1KZTt2YXIgcWU9ZnVuY3Rpb24ga2IoZSl7cmV0dXJuIGsoZSxcXFwiYmluYXJ5XFxcIikudG9TdHJpbmcoXFxcInV0ZjhcXFwiKX07aWYoWWUoUWUpPT1xZShRZSkpWWU9cWU7WmU9ZnVuY3Rpb24oZSl7cmV0dXJuIGsoZSxcXFwidXRmOFxcXCIpLnRvU3RyaW5nKFxcXCJiaW5hcnlcXFwiKX19dmFyIGVyPWZ1bmN0aW9uKCl7dmFyIGU9e307cmV0dXJuIGZ1bmN0aW9uIHIodCxhKXt2YXIgbj10K1xcXCJ8XFxcIisoYXx8XFxcIlxcXCIpO2lmKGVbbl0pcmV0dXJuIGVbbl07cmV0dXJuIGVbbl09bmV3IFJlZ0V4cChcXFwiPCg/OlxcXFxcXFxcdys6KT9cXFwiK3QrJyg/OiB4bWw6c3BhY2U9XFxcInByZXNlcnZlXFxcIik/KD86W14+XSopPihbXFxcXFxcXFxzXFxcXFxcXFxTXSo/KTwvKD86XFxcXFxcXFx3KzopPycrdCtcXFwiPlxcXCIsYXx8XFxcIlxcXCIpfX0oKTt2YXIgcnI9ZnVuY3Rpb24oKXt2YXIgZT1bW1xcXCJuYnNwXFxcIixcXFwiIFxcXCJdLFtcXFwibWlkZG90XFxcIixcXFwiwrdcXFwiXSxbXFxcInF1b3RcXFwiLCdcXFwiJ10sW1xcXCJhcG9zXFxcIixcXFwiJ1xcXCJdLFtcXFwiZ3RcXFwiLFxcXCI+XFxcIl0sW1xcXCJsdFxcXCIsXFxcIjxcXFwiXSxbXFxcImFtcFxcXCIsXFxcIiZcXFwiXV0ubWFwKGZ1bmN0aW9uKGUpe3JldHVybltuZXcgUmVnRXhwKFxcXCImXFxcIitlWzBdK1xcXCI7XFxcIixcXFwiaWdcXFwiKSxlWzFdXX0pO3JldHVybiBmdW5jdGlvbiByKHQpe3ZhciBhPXQucmVwbGFjZSgvXltcXFxcdFxcXFxuXFxcXHIgXSsvLFxcXCJcXFwiKS5yZXBsYWNlKC9bXFxcXHRcXFxcblxcXFxyIF0rJC8sXFxcIlxcXCIpLnJlcGxhY2UoLz5cXFxccysvZyxcXFwiPlxcXCIpLnJlcGxhY2UoL1xcXFxzKzwvZyxcXFwiPFxcXCIpLnJlcGxhY2UoL1tcXFxcdFxcXFxuXFxcXHIgXSsvZyxcXFwiIFxcXCIpLnJlcGxhY2UoLzxcXFxccypbYkJdW3JSXVxcXFxzKlxcXFwvPz4vZyxcXFwiXFxcXG5cXFwiKS5yZXBsYWNlKC88W14+XSo+L2csXFxcIlxcXCIpO2Zvcih2YXIgbj0wO248ZS5sZW5ndGg7KytuKWE9YS5yZXBsYWNlKGVbbl1bMF0sZVtuXVsxXSk7cmV0dXJuIGF9fSgpO3ZhciB0cj1mdW5jdGlvbigpe3ZhciBlPXt9O3JldHVybiBmdW5jdGlvbiByKHQpe2lmKGVbdF0hPT11bmRlZmluZWQpcmV0dXJuIGVbdF07cmV0dXJuIGVbdF09bmV3IFJlZ0V4cChcXFwiPCg/OnZ0Oik/XFxcIit0K1xcXCI+KFtcXFxcXFxcXHNcXFxcXFxcXFNdKj8pPC8oPzp2dDopP1xcXCIrdCtcXFwiPlxcXCIsXFxcImdcXFwiKX19KCk7dmFyIGFyPS88XFxcXC8/KD86dnQ6KT92YXJpYW50Pi9nLG5yPS88KD86dnQ6KShbXj5dKik+KFtcXFxcc1xcXFxTXSopPC87ZnVuY3Rpb24gaXIoZSxyKXt2YXIgdD1GZShlKTt2YXIgYT1lLm1hdGNoKHRyKHQuYmFzZVR5cGUpKXx8W107dmFyIG49W107aWYoYS5sZW5ndGghPXQuc2l6ZSl7aWYoci5XVEYpdGhyb3cgbmV3IEVycm9yKFxcXCJ1bmV4cGVjdGVkIHZlY3RvciBsZW5ndGggXFxcIithLmxlbmd0aCtcXFwiICE9IFxcXCIrdC5zaXplKTtyZXR1cm4gbn1hLmZvckVhY2goZnVuY3Rpb24oZSl7dmFyIHI9ZS5yZXBsYWNlKGFyLFxcXCJcXFwiKS5tYXRjaChucik7aWYociluLnB1c2goe3Y6WWUoclsyXSksdDpyWzFdfSl9KTtyZXR1cm4gbn12YXIgc3I9LyheXFxcXHN8XFxcXHMkfFxcXFxuKS87ZnVuY3Rpb24gZnIoZSxyKXtyZXR1cm5cXFwiPFxcXCIrZSsoci5tYXRjaChzcik/JyB4bWw6c3BhY2U9XFxcInByZXNlcnZlXFxcIic6XFxcIlxcXCIpK1xcXCI+XFxcIityK1xcXCI8L1xcXCIrZStcXFwiPlxcXCJ9ZnVuY3Rpb24gb3IoZSl7cmV0dXJuIEsoZSkubWFwKGZ1bmN0aW9uKHIpe3JldHVyblxcXCIgXFxcIityKyc9XFxcIicrZVtyXSsnXFxcIid9KS5qb2luKFxcXCJcXFwiKX1mdW5jdGlvbiBscihlLHIsdCl7cmV0dXJuXFxcIjxcXFwiK2UrKHQhPW51bGw/b3IodCk6XFxcIlxcXCIpKyhyIT1udWxsPyhyLm1hdGNoKHNyKT8nIHhtbDpzcGFjZT1cXFwicHJlc2VydmVcXFwiJzpcXFwiXFxcIikrXFxcIj5cXFwiK3IrXFxcIjwvXFxcIitlOlxcXCIvXFxcIikrXFxcIj5cXFwifWZ1bmN0aW9uIGNyKGUscil7dHJ5e3JldHVybiBlLnRvSVNPU3RyaW5nKCkucmVwbGFjZSgvXFxcXC5cXFxcZCovLFxcXCJcXFwiKX1jYXRjaCh0KXtpZihyKXRocm93IHR9cmV0dXJuXFxcIlxcXCJ9ZnVuY3Rpb24gdXIoZSxyKXtzd2l0Y2godHlwZW9mIGUpe2Nhc2VcXFwic3RyaW5nXFxcIjp2YXIgdD1scihcXFwidnQ6bHB3c3RyXFxcIixIZShlKSk7aWYocil0PXQucmVwbGFjZSgvJnF1b3Q7L2csXFxcIl94MDAyMl9cXFwiKTtyZXR1cm4gdDtjYXNlXFxcIm51bWJlclxcXCI6cmV0dXJuIGxyKChlfDApPT1lP1xcXCJ2dDppNFxcXCI6XFxcInZ0OnI4XFxcIixIZShTdHJpbmcoZSkpKTtjYXNlXFxcImJvb2xlYW5cXFwiOnJldHVybiBscihcXFwidnQ6Ym9vbFxcXCIsZT9cXFwidHJ1ZVxcXCI6XFxcImZhbHNlXFxcIik7fWlmKGUgaW5zdGFuY2VvZiBEYXRlKXJldHVybiBscihcXFwidnQ6ZmlsZXRpbWVcXFwiLGNyKGUpKTt0aHJvdyBuZXcgRXJyb3IoXFxcIlVuYWJsZSB0byBzZXJpYWxpemUgXFxcIitlKX12YXIgaHI9e2RjOlxcXCJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xL1xcXCIsZGN0ZXJtczpcXFwiaHR0cDovL3B1cmwub3JnL2RjL3Rlcm1zL1xcXCIsZGNtaXR5cGU6XFxcImh0dHA6Ly9wdXJsLm9yZy9kYy9kY21pdHlwZS9cXFwiLG14OlxcXCJodHRwOi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL29mZmljZS9tYWMvZXhjZWwvMjAwOC9tYWluXFxcIixyOlxcXCJodHRwOi8vc2NoZW1hcy5vcGVueG1sZm9ybWF0cy5vcmcvb2ZmaWNlRG9jdW1lbnQvMjAwNi9yZWxhdGlvbnNoaXBzXFxcIixzanM6XFxcImh0dHA6Ly9zY2hlbWFzLm9wZW54bWxmb3JtYXRzLm9yZy9wYWNrYWdlLzIwMDYvc2hlZXRqcy9jb3JlLXByb3BlcnRpZXNcXFwiLHZ0OlxcXCJodHRwOi8vc2NoZW1hcy5vcGVueG1sZm9ybWF0cy5vcmcvb2ZmaWNlRG9jdW1lbnQvMjAwNi9kb2NQcm9wc1ZUeXBlc1xcXCIseHNpOlxcXCJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1pbnN0YW5jZVxcXCIseHNkOlxcXCJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYVxcXCJ9O2hyLm1haW49W1xcXCJodHRwOi8vc2NoZW1hcy5vcGVueG1sZm9ybWF0cy5vcmcvc3ByZWFkc2hlZXRtbC8yMDA2L21haW5cXFwiLFxcXCJodHRwOi8vcHVybC5vY2xjLm9yZy9vb3htbC9zcHJlYWRzaGVldG1sL21haW5cXFwiLFxcXCJodHRwOi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL29mZmljZS9leGNlbC8yMDA2L21haW5cXFwiLFxcXCJodHRwOi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL29mZmljZS9leGNlbC8yMDA2LzJcXFwiXTt2YXIgZHI9e286XFxcInVybjpzY2hlbWFzLW1pY3Jvc29mdC1jb206b2ZmaWNlOm9mZmljZVxcXCIseDpcXFwidXJuOnNjaGVtYXMtbWljcm9zb2Z0LWNvbTpvZmZpY2U6ZXhjZWxcXFwiLHNzOlxcXCJ1cm46c2NoZW1hcy1taWNyb3NvZnQtY29tOm9mZmljZTpzcHJlYWRzaGVldFxcXCIsZHQ6XFxcInV1aWQ6QzJGNDEwMTAtNjVCMy0xMWQxLUEyOUYtMDBBQTAwQzE0ODgyXFxcIixtdjpcXFwiaHR0cDovL21hY1ZtbFNjaGVtYVVyaVxcXCIsdjpcXFwidXJuOnNjaGVtYXMtbWljcm9zb2Z0LWNvbTp2bWxcXFwiLGh0bWw6XFxcImh0dHA6Ly93d3cudzMub3JnL1RSL1JFQy1odG1sNDBcXFwifTtmdW5jdGlvbiB2cihlLHIpe3ZhciB0PTEtMiooZVtyKzddPj4+Nyk7dmFyIGE9KChlW3IrN10mMTI3KTw8NCkrKGVbcis2XT4+PjQmMTUpO3ZhciBuPWVbcis2XSYxNTtmb3IodmFyIGk9NTtpPj0wOy0taSluPW4qMjU2K2VbcitpXTtpZihhPT0yMDQ3KXJldHVybiBuPT0wP3QqSW5maW5pdHk6TmFOO2lmKGE9PTApYT0tMTAyMjtlbHNle2EtPTEwMjM7bis9TWF0aC5wb3coMiw1Mil9cmV0dXJuIHQqTWF0aC5wb3coMixhLTUyKSpufWZ1bmN0aW9uIHByKGUscix0KXt2YXIgYT0ocjwwfHwxL3I9PS1JbmZpbml0eT8xOjApPDw3LG49MCxpPTA7dmFyIHM9YT8tcjpyO2lmKCFpc0Zpbml0ZShzKSl7bj0yMDQ3O2k9aXNOYU4ocik/MjY5ODU6MH1lbHNlIGlmKHM9PTApbj1pPTA7ZWxzZXtuPU1hdGguZmxvb3IoTWF0aC5sb2cocykvTWF0aC5MTjIpO2k9cypNYXRoLnBvdygyLDUyLW4pO2lmKG48PS0xMDIzJiYoIWlzRmluaXRlKGkpfHxpPE1hdGgucG93KDIsNTIpKSl7bj0tMTAyMn1lbHNle2ktPU1hdGgucG93KDIsNTIpO24rPTEwMjN9fWZvcih2YXIgZj0wO2Y8PTU7KytmLGkvPTI1NillW3QrZl09aSYyNTU7ZVt0KzZdPShuJjE1KTw8NHxpJjE1O2VbdCs3XT1uPj40fGF9dmFyIG1yPWZ1bmN0aW9uKGUpe3ZhciByPVtdLHQ9MTAyNDA7Zm9yKHZhciBhPTA7YTxlWzBdLmxlbmd0aDsrK2EpaWYoZVswXVthXSlmb3IodmFyIG49MCxpPWVbMF1bYV0ubGVuZ3RoO248aTtuKz10KXIucHVzaC5hcHBseShyLGVbMF1bYV0uc2xpY2UobixuK3QpKTtyZXR1cm4gcn07dmFyIGJyPW1yO3ZhciBncj1mdW5jdGlvbihlLHIsdCl7dmFyIGE9W107Zm9yKHZhciBuPXI7bjx0O24rPTIpYS5wdXNoKFN0cmluZy5mcm9tQ2hhckNvZGUoTXIoZSxuKSkpO3JldHVybiBhLmpvaW4oXFxcIlxcXCIpLnJlcGxhY2UoUixcXFwiXFxcIil9O3ZhciB3cj1ncjt2YXIga3I9ZnVuY3Rpb24oZSxyLHQpe3ZhciBhPVtdO2Zvcih2YXIgbj1yO248cit0OysrbilhLnB1c2goKFxcXCIwXFxcIitlW25dLnRvU3RyaW5nKDE2KSkuc2xpY2UoLTIpKTtyZXR1cm4gYS5qb2luKFxcXCJcXFwiKX07dmFyIEVyPWtyO3ZhciBTcj1mdW5jdGlvbihlLHIsdCl7dmFyIGE9W107Zm9yKHZhciBuPXI7bjx0O24rKylhLnB1c2goU3RyaW5nLmZyb21DaGFyQ29kZShMcihlLG4pKSk7cmV0dXJuIGEuam9pbihcXFwiXFxcIil9O3ZhciBfcj1Tcjt2YXIgQ3I9ZnVuY3Rpb24oZSxyKXt2YXIgdD16cihlLHIpO3JldHVybiB0PjA/U3IoZSxyKzQscis0K3QtMSk6XFxcIlxcXCJ9O3ZhciBCcj1Dcjt2YXIgVHI9ZnVuY3Rpb24oZSxyKXt2YXIgdD16cihlLHIpO3JldHVybiB0PjA/U3IoZSxyKzQscis0K3QtMSk6XFxcIlxcXCJ9O3ZhciB5cj1Ucjt2YXIgeHI9ZnVuY3Rpb24oZSxyKXt2YXIgdD0yKnpyKGUscik7cmV0dXJuIHQ+MD9TcihlLHIrNCxyKzQrdC0xKTpcXFwiXFxcIn07dmFyIEFyPXhyO3ZhciBJcixScjtJcj1Scj1mdW5jdGlvbiBFYihlLHIpe3ZhciB0PXpyKGUscik7cmV0dXJuIHQ+MD9ncihlLHIrNCxyKzQrdCk6XFxcIlxcXCJ9O3ZhciBPcj1mdW5jdGlvbihlLHIpe3ZhciB0PXpyKGUscik7cmV0dXJuIHQ+MD9TcihlLHIrNCxyKzQrdCk6XFxcIlxcXCJ9O3ZhciBEcj1Pcjt2YXIgRnIsUHI7RnI9UHI9ZnVuY3Rpb24oZSxyKXtyZXR1cm4gdnIoZSxyKX07dmFyIE5yPWZ1bmN0aW9uIFNiKGUpe3JldHVybiBBcnJheS5pc0FycmF5KGUpfTtpZih3KXtncj1mdW5jdGlvbihlLHIsdCl7aWYoIUJ1ZmZlci5pc0J1ZmZlcihlKSlyZXR1cm4gd3IoZSxyLHQpO3JldHVybiBlLnRvU3RyaW5nKFxcXCJ1dGYxNmxlXFxcIixyLHQpLnJlcGxhY2UoUixcXFwiXFxcIil9O2tyPWZ1bmN0aW9uKGUscix0KXtyZXR1cm4gQnVmZmVyLmlzQnVmZmVyKGUpP2UudG9TdHJpbmcoXFxcImhleFxcXCIscixyK3QpOkVyKGUscix0KX07Q3I9ZnVuY3Rpb24gX2IoZSxyKXtpZighQnVmZmVyLmlzQnVmZmVyKGUpKXJldHVybiBCcihlLHIpO3ZhciB0PWUucmVhZFVJbnQzMkxFKHIpO3JldHVybiB0PjA/ZS50b1N0cmluZyhcXFwidXRmOFxcXCIscis0LHIrNCt0LTEpOlxcXCJcXFwifTtUcj1mdW5jdGlvbiBDYihlLHIpe2lmKCFCdWZmZXIuaXNCdWZmZXIoZSkpcmV0dXJuIHlyKGUscik7dmFyIHQ9ZS5yZWFkVUludDMyTEUocik7cmV0dXJuIHQ+MD9lLnRvU3RyaW5nKFxcXCJ1dGY4XFxcIixyKzQscis0K3QtMSk6XFxcIlxcXCJ9O3hyPWZ1bmN0aW9uIEJiKGUscil7aWYoIUJ1ZmZlci5pc0J1ZmZlcihlKSlyZXR1cm4gQXIoZSxyKTt2YXIgdD0yKmUucmVhZFVJbnQzMkxFKHIpO3JldHVybiBlLnRvU3RyaW5nKFxcXCJ1dGYxNmxlXFxcIixyKzQscis0K3QtMSl9O0lyPWZ1bmN0aW9uIFRiKGUscil7aWYoIUJ1ZmZlci5pc0J1ZmZlcihlKSlyZXR1cm4gUnIoZSxyKTt2YXIgdD1lLnJlYWRVSW50MzJMRShyKTtyZXR1cm4gZS50b1N0cmluZyhcXFwidXRmMTZsZVxcXCIscis0LHIrNCt0KX07T3I9ZnVuY3Rpb24geWIoZSxyKXtpZighQnVmZmVyLmlzQnVmZmVyKGUpKXJldHVybiBEcihlLHIpO3ZhciB0PWUucmVhZFVJbnQzMkxFKHIpO3JldHVybiBlLnRvU3RyaW5nKFxcXCJ1dGY4XFxcIixyKzQscis0K3QpfTtTcj1mdW5jdGlvbiB4YihlLHIsdCl7cmV0dXJuIEJ1ZmZlci5pc0J1ZmZlcihlKT9lLnRvU3RyaW5nKFxcXCJ1dGY4XFxcIixyLHQpOl9yKGUscix0KX07bXI9ZnVuY3Rpb24oZSl7cmV0dXJuIGVbMF0ubGVuZ3RoPjAmJkJ1ZmZlci5pc0J1ZmZlcihlWzBdWzBdKT9CdWZmZXIuY29uY2F0KGVbMF0pOmJyKGUpfTtJPWZ1bmN0aW9uKGUpe3JldHVybiBCdWZmZXIuaXNCdWZmZXIoZVswXSk/QnVmZmVyLmNvbmNhdChlKTpbXS5jb25jYXQuYXBwbHkoW10sZSl9O0ZyPWZ1bmN0aW9uIEFiKGUscil7aWYoQnVmZmVyLmlzQnVmZmVyKGUpKXJldHVybiBlLnJlYWREb3VibGVMRShyKTtyZXR1cm4gUHIoZSxyKX07TnI9ZnVuY3Rpb24gSWIoZSl7cmV0dXJuIEJ1ZmZlci5pc0J1ZmZlcihlKXx8QXJyYXkuaXNBcnJheShlKX19aWYodHlwZW9mIGNwdGFibGUhPT1cXFwidW5kZWZpbmVkXFxcIil7Z3I9ZnVuY3Rpb24oZSxyLHQpe3JldHVybiBjcHRhYmxlLnV0aWxzLmRlY29kZSgxMjAwLGUuc2xpY2Uocix0KSkucmVwbGFjZShSLFxcXCJcXFwiKX07U3I9ZnVuY3Rpb24oZSxyLHQpe3JldHVybiBjcHRhYmxlLnV0aWxzLmRlY29kZSg2NTAwMSxlLnNsaWNlKHIsdCkpfTtDcj1mdW5jdGlvbihlLHIpe3ZhciBhPXpyKGUscik7cmV0dXJuIGE+MD9jcHRhYmxlLnV0aWxzLmRlY29kZSh0LGUuc2xpY2Uocis0LHIrNCthLTEpKTpcXFwiXFxcIn07VHI9ZnVuY3Rpb24oZSx0KXt2YXIgYT16cihlLHQpO3JldHVybiBhPjA/Y3B0YWJsZS51dGlscy5kZWNvZGUocixlLnNsaWNlKHQrNCx0KzQrYS0xKSk6XFxcIlxcXCJ9O3hyPWZ1bmN0aW9uKGUscil7dmFyIHQ9Mip6cihlLHIpO3JldHVybiB0PjA/Y3B0YWJsZS51dGlscy5kZWNvZGUoMTIwMCxlLnNsaWNlKHIrNCxyKzQrdC0xKSk6XFxcIlxcXCJ9O0lyPWZ1bmN0aW9uKGUscil7dmFyIHQ9enIoZSxyKTtyZXR1cm4gdD4wP2NwdGFibGUudXRpbHMuZGVjb2RlKDEyMDAsZS5zbGljZShyKzQscis0K3QpKTpcXFwiXFxcIn07T3I9ZnVuY3Rpb24oZSxyKXt2YXIgdD16cihlLHIpO3JldHVybiB0PjA/Y3B0YWJsZS51dGlscy5kZWNvZGUoNjUwMDEsZS5zbGljZShyKzQscis0K3QpKTpcXFwiXFxcIn19dmFyIExyPWZ1bmN0aW9uKGUscil7cmV0dXJuIGVbcl19O3ZhciBNcj1mdW5jdGlvbihlLHIpe3JldHVybiBlW3IrMV0qKDE8PDgpK2Vbcl19O3ZhciBVcj1mdW5jdGlvbihlLHIpe3ZhciB0PWVbcisxXSooMTw8OCkrZVtyXTtyZXR1cm4gdDwzMjc2OD90Oig2NTUzNS10KzEpKi0xfTt2YXIgenI9ZnVuY3Rpb24oZSxyKXtyZXR1cm4gZVtyKzNdKigxPDwyNCkrKGVbcisyXTw8MTYpKyhlW3IrMV08PDgpK2Vbcl19O3ZhciBIcj1mdW5jdGlvbihlLHIpe3JldHVybiBlW3IrM108PDI0fGVbcisyXTw8MTZ8ZVtyKzFdPDw4fGVbcl19O3ZhciBXcj1mdW5jdGlvbihlLHIpe3JldHVybiBlW3JdPDwyNHxlW3IrMV08PDE2fGVbcisyXTw8OHxlW3IrM119O2Z1bmN0aW9uIFZyKGUsdCl7dmFyIGE9XFxcIlxcXCIsbixpLHM9W10sZixvLGwsYztzd2l0Y2godCl7Y2FzZVxcXCJkYmNzXFxcIjpjPXRoaXMubDtpZih3JiZCdWZmZXIuaXNCdWZmZXIodGhpcykpYT10aGlzLnNsaWNlKHRoaXMubCx0aGlzLmwrMiplKS50b1N0cmluZyhcXFwidXRmMTZsZVxcXCIpO2Vsc2UgZm9yKGw9MDtsPGU7KytsKXthKz1TdHJpbmcuZnJvbUNoYXJDb2RlKE1yKHRoaXMsYykpO2MrPTJ9ZSo9MjticmVhaztjYXNlXFxcInV0ZjhcXFwiOmE9U3IodGhpcyx0aGlzLmwsdGhpcy5sK2UpO2JyZWFrO2Nhc2VcXFwidXRmMTZsZVxcXCI6ZSo9MjthPWdyKHRoaXMsdGhpcy5sLHRoaXMubCtlKTticmVhaztjYXNlXFxcIndzdHJcXFwiOmlmKHR5cGVvZiBjcHRhYmxlIT09XFxcInVuZGVmaW5lZFxcXCIpYT1jcHRhYmxlLnV0aWxzLmRlY29kZShyLHRoaXMuc2xpY2UodGhpcy5sLHRoaXMubCsyKmUpKTtlbHNlIHJldHVybiBWci5jYWxsKHRoaXMsZSxcXFwiZGJjc1xcXCIpO2U9MiplO2JyZWFrO2Nhc2VcXFwibHBzdHItYW5zaVxcXCI6YT1Dcih0aGlzLHRoaXMubCk7ZT00K3pyKHRoaXMsdGhpcy5sKTticmVhaztjYXNlXFxcImxwc3RyLWNwXFxcIjphPVRyKHRoaXMsdGhpcy5sKTtlPTQrenIodGhpcyx0aGlzLmwpO2JyZWFrO2Nhc2VcXFwibHB3c3RyXFxcIjphPXhyKHRoaXMsdGhpcy5sKTtlPTQrMip6cih0aGlzLHRoaXMubCk7YnJlYWs7Y2FzZVxcXCJscHA0XFxcIjplPTQrenIodGhpcyx0aGlzLmwpO2E9SXIodGhpcyx0aGlzLmwpO2lmKGUmMillKz0yO2JyZWFrO2Nhc2VcXFwiOGxwcDRcXFwiOmU9NCt6cih0aGlzLHRoaXMubCk7YT1Pcih0aGlzLHRoaXMubCk7aWYoZSYzKWUrPTQtKGUmMyk7YnJlYWs7Y2FzZVxcXCJjc3RyXFxcIjplPTA7YT1cXFwiXFxcIjt3aGlsZSgoZj1Mcih0aGlzLHRoaXMubCtlKyspKSE9PTApcy5wdXNoKHYoZikpO2E9cy5qb2luKFxcXCJcXFwiKTticmVhaztjYXNlXFxcIl93c3RyXFxcIjplPTA7YT1cXFwiXFxcIjt3aGlsZSgoZj1Ncih0aGlzLHRoaXMubCtlKSkhPT0wKXtzLnB1c2godihmKSk7ZSs9Mn1lKz0yO2E9cy5qb2luKFxcXCJcXFwiKTticmVhaztjYXNlXFxcImRiY3MtY29udFxcXCI6YT1cXFwiXFxcIjtjPXRoaXMubDtmb3IobD0wO2w8ZTsrK2wpe2lmKHRoaXMubGVucyYmdGhpcy5sZW5zLmluZGV4T2YoYykhPT0tMSl7Zj1Mcih0aGlzLGMpO3RoaXMubD1jKzE7bz1Wci5jYWxsKHRoaXMsZS1sLGY/XFxcImRiY3MtY29udFxcXCI6XFxcInNiY3MtY29udFxcXCIpO3JldHVybiBzLmpvaW4oXFxcIlxcXCIpK299cy5wdXNoKHYoTXIodGhpcyxjKSkpO2MrPTJ9YT1zLmpvaW4oXFxcIlxcXCIpO2UqPTI7YnJlYWs7Y2FzZVxcXCJjcHN0clxcXCI6aWYodHlwZW9mIGNwdGFibGUhPT1cXFwidW5kZWZpbmVkXFxcIil7YT1jcHRhYmxlLnV0aWxzLmRlY29kZShyLHRoaXMuc2xpY2UodGhpcy5sLHRoaXMubCtlKSk7YnJlYWt9O2Nhc2VcXFwic2Jjcy1jb250XFxcIjphPVxcXCJcXFwiO2M9dGhpcy5sO2ZvcihsPTA7bCE9ZTsrK2wpe2lmKHRoaXMubGVucyYmdGhpcy5sZW5zLmluZGV4T2YoYykhPT0tMSl7Zj1Mcih0aGlzLGMpO3RoaXMubD1jKzE7bz1Wci5jYWxsKHRoaXMsZS1sLGY/XFxcImRiY3MtY29udFxcXCI6XFxcInNiY3MtY29udFxcXCIpO3JldHVybiBzLmpvaW4oXFxcIlxcXCIpK299cy5wdXNoKHYoTHIodGhpcyxjKSkpO2MrPTF9YT1zLmpvaW4oXFxcIlxcXCIpO2JyZWFrO2RlZmF1bHQ6c3dpdGNoKGUpe2Nhc2UgMTpuPUxyKHRoaXMsdGhpcy5sKTt0aGlzLmwrKztyZXR1cm4gbjtjYXNlIDI6bj0odD09PVxcXCJpXFxcIj9VcjpNcikodGhpcyx0aGlzLmwpO3RoaXMubCs9MjtyZXR1cm4gbjtjYXNlIDQ6O2Nhc2UtNDppZih0PT09XFxcImlcXFwifHwodGhpc1t0aGlzLmwrM10mMTI4KT09PTApe249KGU+MD9IcjpXcikodGhpcyx0aGlzLmwpO3RoaXMubCs9NDtyZXR1cm4gbn1lbHNle2k9enIodGhpcyx0aGlzLmwpO3RoaXMubCs9NH1yZXR1cm4gaTtjYXNlIDg6O2Nhc2UtODppZih0PT09XFxcImZcXFwiKXtpZihlPT04KWk9RnIodGhpcyx0aGlzLmwpO2Vsc2UgaT1GcihbdGhpc1t0aGlzLmwrN10sdGhpc1t0aGlzLmwrNl0sdGhpc1t0aGlzLmwrNV0sdGhpc1t0aGlzLmwrNF0sdGhpc1t0aGlzLmwrM10sdGhpc1t0aGlzLmwrMl0sdGhpc1t0aGlzLmwrMV0sdGhpc1t0aGlzLmwrMF1dLDApO3RoaXMubCs9ODtyZXR1cm4gaX1lbHNlIGU9ODtjYXNlIDE2OmE9a3IodGhpcyx0aGlzLmwsZSk7YnJlYWs7fTt9dGhpcy5sKz1lO3JldHVybiBhfXZhciBYcj1mdW5jdGlvbihlLHIsdCl7ZVt0XT1yJjI1NTtlW3QrMV09cj4+PjgmMjU1O2VbdCsyXT1yPj4+MTYmMjU1O2VbdCszXT1yPj4+MjQmMjU1fTt2YXIgR3I9ZnVuY3Rpb24oZSxyLHQpe2VbdF09ciYyNTU7ZVt0KzFdPXI+PjgmMjU1O2VbdCsyXT1yPj4xNiYyNTU7ZVt0KzNdPXI+PjI0JjI1NX07dmFyIGpyPWZ1bmN0aW9uKGUscix0KXtlW3RdPXImMjU1O2VbdCsxXT1yPj4+OCYyNTV9O2Z1bmN0aW9uIEtyKGUscixhKXt2YXIgbj0wLGk9MDtpZihhPT09XFxcImRiY3NcXFwiKXtmb3IoaT0wO2khPXIubGVuZ3RoOysraSlqcih0aGlzLHIuY2hhckNvZGVBdChpKSx0aGlzLmwrMippKTtuPTIqci5sZW5ndGh9ZWxzZSBpZihhPT09XFxcInNiY3NcXFwiKXtpZih0eXBlb2YgY3B0YWJsZSE9PVxcXCJ1bmRlZmluZWRcXFwiJiZ0PT04NzQpe2ZvcihpPTA7aSE9ci5sZW5ndGg7KytpKXt2YXIgcz1jcHRhYmxlLnV0aWxzLmVuY29kZSh0LHIuY2hhckF0KGkpKTt0aGlzW3RoaXMubCtpXT1zWzBdfX1lbHNle3I9ci5yZXBsYWNlKC9bXlxcXFx4MDAtXFxcXHg3Rl0vZyxcXFwiX1xcXCIpO2ZvcihpPTA7aSE9ci5sZW5ndGg7KytpKXRoaXNbdGhpcy5sK2ldPXIuY2hhckNvZGVBdChpKSYyNTV9bj1yLmxlbmd0aH1lbHNlIGlmKGE9PT1cXFwiaGV4XFxcIil7Zm9yKDtpPGU7KytpKXt0aGlzW3RoaXMubCsrXT1wYXJzZUludChyLnNsaWNlKDIqaSwyKmkrMiksMTYpfHwwfXJldHVybiB0aGlzfWVsc2UgaWYoYT09PVxcXCJ1dGYxNmxlXFxcIil7dmFyIGY9TWF0aC5taW4odGhpcy5sK2UsdGhpcy5sZW5ndGgpO2ZvcihpPTA7aTxNYXRoLm1pbihyLmxlbmd0aCxlKTsrK2kpe3ZhciBvPXIuY2hhckNvZGVBdChpKTt0aGlzW3RoaXMubCsrXT1vJjI1NTt0aGlzW3RoaXMubCsrXT1vPj44fXdoaWxlKHRoaXMubDxmKXRoaXNbdGhpcy5sKytdPTA7cmV0dXJuIHRoaXN9ZWxzZSBzd2l0Y2goZSl7Y2FzZSAxOm49MTt0aGlzW3RoaXMubF09ciYyNTU7YnJlYWs7Y2FzZSAyOm49Mjt0aGlzW3RoaXMubF09ciYyNTU7cj4+Pj04O3RoaXNbdGhpcy5sKzFdPXImMjU1O2JyZWFrO2Nhc2UgMzpuPTM7dGhpc1t0aGlzLmxdPXImMjU1O3I+Pj49ODt0aGlzW3RoaXMubCsxXT1yJjI1NTtyPj4+PTg7dGhpc1t0aGlzLmwrMl09ciYyNTU7YnJlYWs7Y2FzZSA0Om49NDtYcih0aGlzLHIsdGhpcy5sKTticmVhaztjYXNlIDg6bj04O2lmKGE9PT1cXFwiZlxcXCIpe3ByKHRoaXMscix0aGlzLmwpO2JyZWFrfTtjYXNlIDE2OmJyZWFrO2Nhc2UtNDpuPTQ7R3IodGhpcyxyLHRoaXMubCk7YnJlYWs7fXRoaXMubCs9bjtyZXR1cm4gdGhpc31mdW5jdGlvbiAkcihlLHIpe3ZhciB0PWtyKHRoaXMsdGhpcy5sLGUubGVuZ3RoPj4xKTtpZih0IT09ZSl0aHJvdyBuZXcgRXJyb3IocitcXFwiRXhwZWN0ZWQgXFxcIitlK1xcXCIgc2F3IFxcXCIrdCk7dGhpcy5sKz1lLmxlbmd0aD4+MX1mdW5jdGlvbiBZcihlLHIpe2UubD1yO2UuX1I9VnI7ZS5jaGs9JHI7ZS5fVz1Lcn1mdW5jdGlvbiBacihlLHIpe2UubCs9cn1mdW5jdGlvbiBKcihlKXt2YXIgcj1fKGUpO1lyKHIsMCk7cmV0dXJuIHJ9ZnVuY3Rpb24gUXIoZSxyLHQpe2lmKCFlKXJldHVybjt2YXIgYSxuLGk7WXIoZSxlLmx8fDApO3ZhciBzPWUubGVuZ3RoLGY9MCxvPTA7d2hpbGUoZS5sPHMpe2Y9ZS5fUigxKTtpZihmJjEyOClmPShmJjEyNykrKChlLl9SKDEpJjEyNyk8PDcpO3ZhciBsPURwW2ZdfHxEcFs2NTUzNV07YT1lLl9SKDEpO2k9YSYxMjc7Zm9yKG49MTtuPDQmJmEmMTI4OysrbilpKz0oKGE9ZS5fUigxKSkmMTI3KTw8NypuO289ZS5sK2k7dmFyIGM9KGwuZnx8WnIpKGUsaSx0KTtlLmw9bztpZihyKGMsbC5uLGYpKXJldHVybn19ZnVuY3Rpb24gcXIoKXt2YXIgZT1bXSxyPXc/MjU2OjIwNDg7dmFyIHQ9ZnVuY3Rpb24gbyhlKXt2YXIgcj1KcihlKTtZcihyLDApO3JldHVybiByfTt2YXIgYT10KHIpO3ZhciBuPWZ1bmN0aW9uIGwoKXtpZighYSlyZXR1cm47aWYoYS5sZW5ndGg+YS5sKXthPWEuc2xpY2UoMCxhLmwpO2EubD1hLmxlbmd0aH1pZihhLmxlbmd0aD4wKWUucHVzaChhKTthPW51bGx9O3ZhciBpPWZ1bmN0aW9uIGMoZSl7aWYoYSYmZTxhLmxlbmd0aC1hLmwpcmV0dXJuIGE7bigpO3JldHVybiBhPXQoTWF0aC5tYXgoZSsxLHIpKX07dmFyIHM9ZnVuY3Rpb24gdSgpe24oKTtyZXR1cm4gbXIoW2VdKX07dmFyIGY9ZnVuY3Rpb24gaChlKXtuKCk7YT1lO2lmKGEubD09bnVsbClhLmw9YS5sZW5ndGg7aShyKX07cmV0dXJue25leHQ6aSxwdXNoOmYsZW5kOnMsX2J1ZnM6ZX19ZnVuY3Rpb24gZXQoZSxyLHQsYSl7dmFyIG49K0ZwW3JdLGk7aWYoaXNOYU4obikpcmV0dXJuO2lmKCFhKWE9RHBbbl0ucHx8KHR8fFtdKS5sZW5ndGh8fDA7aT0xKyhuPj0xMjg/MTowKSsxO2lmKGE+PTEyOCkrK2k7aWYoYT49MTYzODQpKytpO2lmKGE+PTIwOTcxNTIpKytpO3ZhciBzPWUubmV4dChpKTtpZihuPD0xMjcpcy5fVygxLG4pO2Vsc2V7cy5fVygxLChuJjEyNykrMTI4KTtzLl9XKDEsbj4+Nyl9Zm9yKHZhciBmPTA7ZiE9NDsrK2Ype2lmKGE+PTEyOCl7cy5fVygxLChhJjEyNykrMTI4KTthPj49N31lbHNle3MuX1coMSxhKTticmVha319aWYoYT4wJiZOcih0KSllLnB1c2godCl9ZnVuY3Rpb24gcnQoZSxyLHQpe3ZhciBhPWNlKGUpO2lmKHIucyl7aWYoYS5jUmVsKWEuYys9ci5zLmM7aWYoYS5yUmVsKWEucis9ci5zLnJ9ZWxzZXtpZihhLmNSZWwpYS5jKz1yLmM7aWYoYS5yUmVsKWEucis9ci5yfWlmKCF0fHx0LmJpZmY8MTIpe3doaWxlKGEuYz49MjU2KWEuYy09MjU2O3doaWxlKGEucj49NjU1MzYpYS5yLT02NTUzNn1yZXR1cm4gYX1mdW5jdGlvbiB0dChlLHIsdCl7dmFyIGE9Y2UoZSk7YS5zPXJ0KGEucyxyLnMsdCk7YS5lPXJ0KGEuZSxyLnMsdCk7cmV0dXJuIGF9ZnVuY3Rpb24gYXQoZSxyKXtpZihlLmNSZWwmJmUuYzwwKXtlPWNlKGUpO3doaWxlKGUuYzwwKWUuYys9cj44PzE2Mzg0OjI1Nn1pZihlLnJSZWwmJmUucjwwKXtlPWNlKGUpO3doaWxlKGUucjwwKWUucis9cj44PzEwNDg1NzY6cj41PzY1NTM2OjE2Mzg0fXZhciB0PWJ0KGUpO2lmKCFlLmNSZWwmJmUuY1JlbCE9bnVsbCl0PWR0KHQpO2lmKCFlLnJSZWwmJmUuclJlbCE9bnVsbCl0PWx0KHQpO3JldHVybiB0fWZ1bmN0aW9uIG50KGUscil7aWYoZS5zLnI9PTAmJiFlLnMuclJlbCl7aWYoZS5lLnI9PShyLmJpZmY+PTEyPzEwNDg1NzU6ci5iaWZmPj04PzY1NTM2OjE2Mzg0KSYmIWUuZS5yUmVsKXtyZXR1cm4oZS5zLmNSZWw/XFxcIlxcXCI6XFxcIiRcXFwiKStodChlLnMuYykrXFxcIjpcXFwiKyhlLmUuY1JlbD9cXFwiXFxcIjpcXFwiJFxcXCIpK2h0KGUuZS5jKX19aWYoZS5zLmM9PTAmJiFlLnMuY1JlbCl7aWYoZS5lLmM9PShyLmJpZmY+PTEyPzE2MzgzOjI1NSkmJiFlLmUuY1JlbCl7cmV0dXJuKGUucy5yUmVsP1xcXCJcXFwiOlxcXCIkXFxcIikrb3QoZS5zLnIpK1xcXCI6XFxcIisoZS5lLnJSZWw/XFxcIlxcXCI6XFxcIiRcXFwiKStvdChlLmUucil9fXJldHVybiBhdChlLnMsci5iaWZmKStcXFwiOlxcXCIrYXQoZS5lLHIuYmlmZil9dmFyIGl0PXt9O3ZhciBzdD1mdW5jdGlvbihlLHIpe3ZhciB0O2lmKHR5cGVvZiByIT09XFxcInVuZGVmaW5lZFxcXCIpdD1yO2Vsc2UgaWYodHlwZW9mIHJlcXVpcmUhPT1cXFwidW5kZWZpbmVkXFxcIil7dHJ5e3Q9dW5kZWZpbmVkfWNhdGNoKGEpe3Q9bnVsbH19ZS5yYzQ9ZnVuY3Rpb24oZSxyKXt2YXIgdD1uZXcgQXJyYXkoMjU2KTt2YXIgYT0wLG49MCxpPTAscz0wO2ZvcihuPTA7biE9MjU2Oysrbil0W25dPW47Zm9yKG49MDtuIT0yNTY7KytuKXtpPWkrdFtuXStlW24lZS5sZW5ndGhdLmNoYXJDb2RlQXQoMCkmMjU1O3M9dFtuXTt0W25dPXRbaV07dFtpXT1zfW49aT0wO3ZhciBmPV8oci5sZW5ndGgpO2ZvcihhPTA7YSE9ci5sZW5ndGg7KythKXtuPW4rMSYyNTU7aT0oaSt0W25dKSUyNTY7cz10W25dO3Rbbl09dFtpXTt0W2ldPXM7ZlthXT1yW2FdXnRbdFtuXSt0W2ldJjI1NV19cmV0dXJuIGZ9O2UubWQ1PWZ1bmN0aW9uKGUpe2lmKCF0KXRocm93IG5ldyBFcnJvcihcXFwiVW5zdXBwb3J0ZWQgY3J5cHRvXFxcIik7cmV0dXJuIHQuY3JlYXRlSGFzaChcXFwibWQ1XFxcIikudXBkYXRlKGUpLmRpZ2VzdChcXFwiaGV4XFxcIil9fTtzdChpdCx0eXBlb2YgY3J5cHRvIT09XFxcInVuZGVmaW5lZFxcXCI/Y3J5cHRvOnVuZGVmaW5lZCk7ZnVuY3Rpb24gZnQoZSl7cmV0dXJuIHBhcnNlSW50KGN0KGUpLDEwKS0xfWZ1bmN0aW9uIG90KGUpe3JldHVyblxcXCJcXFwiKyhlKzEpfWZ1bmN0aW9uIGx0KGUpe3JldHVybiBlLnJlcGxhY2UoLyhbQS1aXXxeKShcXFxcZCspJC8sXFxcIiQxJCQkMlxcXCIpfWZ1bmN0aW9uIGN0KGUpe3JldHVybiBlLnJlcGxhY2UoL1xcXFwkKFxcXFxkKykkLyxcXFwiJDFcXFwiKX1mdW5jdGlvbiB1dChlKXt2YXIgcj12dChlKSx0PTAsYT0wO2Zvcig7YSE9PXIubGVuZ3RoOysrYSl0PTI2KnQrci5jaGFyQ29kZUF0KGEpLTY0O3JldHVybiB0LTF9ZnVuY3Rpb24gaHQoZSl7aWYoZTwwKXRocm93IG5ldyBFcnJvcihcXFwiaW52YWxpZCBjb2x1bW4gXFxcIitlKTt2YXIgcj1cXFwiXFxcIjtmb3IoKytlO2U7ZT1NYXRoLmZsb29yKChlLTEpLzI2KSlyPVN0cmluZy5mcm9tQ2hhckNvZGUoKGUtMSklMjYrNjUpK3I7cmV0dXJuIHJ9ZnVuY3Rpb24gZHQoZSl7cmV0dXJuIGUucmVwbGFjZSgvXihbQS1aXSkvLFxcXCIkJCQxXFxcIil9ZnVuY3Rpb24gdnQoZSl7cmV0dXJuIGUucmVwbGFjZSgvXlxcXFwkKFtBLVpdKS8sXFxcIiQxXFxcIil9ZnVuY3Rpb24gcHQoZSl7cmV0dXJuIGUucmVwbGFjZSgvKFxcXFwkP1tBLVpdKikoXFxcXCQ/XFxcXGQqKS8sXFxcIiQxLCQyXFxcIikuc3BsaXQoXFxcIixcXFwiKX1mdW5jdGlvbiBtdChlKXt2YXIgcj0wLHQ9MDtmb3IodmFyIGE9MDthPGUubGVuZ3RoOysrYSl7dmFyIG49ZS5jaGFyQ29kZUF0KGEpO2lmKG4+PTQ4JiZuPD01NylyPTEwKnIrKG4tNDgpO2Vsc2UgaWYobj49NjUmJm48PTkwKXQ9MjYqdCsobi02NCl9cmV0dXJue2M6dC0xLHI6ci0xfX1mdW5jdGlvbiBidChlKXt2YXIgcj1lLmMrMTt2YXIgdD1cXFwiXFxcIjtmb3IoO3I7cj0oci0xKS8yNnwwKXQ9U3RyaW5nLmZyb21DaGFyQ29kZSgoci0xKSUyNis2NSkrdDtyZXR1cm4gdCsoZS5yKzEpfWZ1bmN0aW9uIGd0KGUpe3ZhciByPWUuaW5kZXhPZihcXFwiOlxcXCIpO2lmKHI9PS0xKXJldHVybntzOm10KGUpLGU6bXQoZSl9O3JldHVybntzOm10KGUuc2xpY2UoMCxyKSksZTptdChlLnNsaWNlKHIrMSkpfX1mdW5jdGlvbiB3dChlLHIpe2lmKHR5cGVvZiByPT09XFxcInVuZGVmaW5lZFxcXCJ8fHR5cGVvZiByPT09XFxcIm51bWJlclxcXCIpe3JldHVybiB3dChlLnMsZS5lKX1pZih0eXBlb2YgZSE9PVxcXCJzdHJpbmdcXFwiKWU9YnQoZSk7aWYodHlwZW9mIHIhPT1cXFwic3RyaW5nXFxcIilyPWJ0KHIpO3JldHVybiBlPT1yP2U6ZStcXFwiOlxcXCIrcn1mdW5jdGlvbiBrdChlKXt2YXIgcj17czp7YzowLHI6MH0sZTp7YzowLHI6MH19O3ZhciB0PTAsYT0wLG49MDt2YXIgaT1lLmxlbmd0aDtmb3IodD0wO2E8aTsrK2Epe2lmKChuPWUuY2hhckNvZGVBdChhKS02NCk8MXx8bj4yNilicmVhazt0PTI2KnQrbn1yLnMuYz0tLXQ7Zm9yKHQ9MDthPGk7KythKXtpZigobj1lLmNoYXJDb2RlQXQoYSktNDgpPDB8fG4+OSlicmVhazt0PTEwKnQrbn1yLnMucj0tLXQ7aWYoYT09PWl8fGUuY2hhckNvZGVBdCgrK2EpPT09NTgpe3IuZS5jPXIucy5jO3IuZS5yPXIucy5yO3JldHVybiByfWZvcih0PTA7YSE9aTsrK2Epe1xcbmlmKChuPWUuY2hhckNvZGVBdChhKS02NCk8MXx8bj4yNilicmVhazt0PTI2KnQrbn1yLmUuYz0tLXQ7Zm9yKHQ9MDthIT1pOysrYSl7aWYoKG49ZS5jaGFyQ29kZUF0KGEpLTQ4KTwwfHxuPjkpYnJlYWs7dD0xMCp0K259ci5lLnI9LS10O3JldHVybiByfWZ1bmN0aW9uIEV0KGUscil7dmFyIHQ9ZS50PT1cXFwiZFxcXCImJnIgaW5zdGFuY2VvZiBEYXRlO2lmKGUueiE9bnVsbCl0cnl7cmV0dXJuIGUudz1ELmZvcm1hdChlLnosdD9lZShyKTpyKX1jYXRjaChhKXt9dHJ5e3JldHVybiBlLnc9RC5mb3JtYXQoKGUuWEZ8fHt9KS5udW1GbXRJZHx8KHQ/MTQ6MCksdD9lZShyKTpyKX1jYXRjaChhKXtyZXR1cm5cXFwiXFxcIityfX1mdW5jdGlvbiBTdChlLHIsdCl7aWYoZT09bnVsbHx8ZS50PT1udWxsfHxlLnQ9PVxcXCJ6XFxcIilyZXR1cm5cXFwiXFxcIjtpZihlLnchPT11bmRlZmluZWQpcmV0dXJuIGUudztpZihlLnQ9PVxcXCJkXFxcIiYmIWUueiYmdCYmdC5kYXRlTkYpZS56PXQuZGF0ZU5GO2lmKHI9PXVuZGVmaW5lZClyZXR1cm4gRXQoZSxlLnYpO3JldHVybiBFdChlLHIpfWZ1bmN0aW9uIF90KGUscil7dmFyIHQ9ciYmci5zaGVldD9yLnNoZWV0OlxcXCJTaGVldDFcXFwiO3ZhciBhPXt9O2FbdF09ZTtyZXR1cm57U2hlZXROYW1lczpbdF0sU2hlZXRzOmF9fWZ1bmN0aW9uIEN0KGUscix0KXt2YXIgYT10fHx7fTt2YXIgbj1lP0FycmF5LmlzQXJyYXkoZSk6YS5kZW5zZTtpZihtIT1udWxsJiZuPT1udWxsKW49bTt2YXIgaT1lfHwobj9bXTp7fSk7dmFyIHM9MCxmPTA7aWYoaSYmYS5vcmlnaW4hPW51bGwpe2lmKHR5cGVvZiBhLm9yaWdpbj09XFxcIm51bWJlclxcXCIpcz1hLm9yaWdpbjtlbHNle3ZhciBvPXR5cGVvZiBhLm9yaWdpbj09XFxcInN0cmluZ1xcXCI/bXQoYS5vcmlnaW4pOmEub3JpZ2luO3M9by5yO2Y9by5jfWlmKCFpW1xcXCIhcmVmXFxcIl0paVtcXFwiIXJlZlxcXCJdPVxcXCJBMTpBMVxcXCJ9dmFyIGw9e3M6e2M6MWU3LHI6MWU3fSxlOntjOjAscjowfX07aWYoaVtcXFwiIXJlZlxcXCJdKXt2YXIgYz1rdChpW1xcXCIhcmVmXFxcIl0pO2wucy5jPWMucy5jO2wucy5yPWMucy5yO2wuZS5jPU1hdGgubWF4KGwuZS5jLGMuZS5jKTtsLmUucj1NYXRoLm1heChsLmUucixjLmUucik7aWYocz09LTEpbC5lLnI9cz1jLmUucisxfWZvcih2YXIgdT0wO3UhPXIubGVuZ3RoOysrdSl7aWYoIXJbdV0pY29udGludWU7aWYoIUFycmF5LmlzQXJyYXkoclt1XSkpdGhyb3cgbmV3IEVycm9yKFxcXCJhb2FfdG9fc2hlZXQgZXhwZWN0cyBhbiBhcnJheSBvZiBhcnJheXNcXFwiKTtmb3IodmFyIGg9MDtoIT1yW3VdLmxlbmd0aDsrK2gpe2lmKHR5cGVvZiByW3VdW2hdPT09XFxcInVuZGVmaW5lZFxcXCIpY29udGludWU7dmFyIGQ9e3Y6clt1XVtoXX07dmFyIHY9cyt1LHA9ZitoO2lmKGwucy5yPnYpbC5zLnI9djtpZihsLnMuYz5wKWwucy5jPXA7aWYobC5lLnI8dilsLmUucj12O2lmKGwuZS5jPHApbC5lLmM9cDtpZihyW3VdW2hdJiZ0eXBlb2Ygclt1XVtoXT09PVxcXCJvYmplY3RcXFwiJiYhQXJyYXkuaXNBcnJheShyW3VdW2hdKSYmIShyW3VdW2hdaW5zdGFuY2VvZiBEYXRlKSlkPXJbdV1baF07ZWxzZXtpZihBcnJheS5pc0FycmF5KGQudikpe2QuZj1yW3VdW2hdWzFdO2Qudj1kLnZbMF19aWYoZC52PT09bnVsbCl7aWYoZC5mKWQudD1cXFwiblxcXCI7ZWxzZSBpZighYS5zaGVldFN0dWJzKWNvbnRpbnVlO2Vsc2UgZC50PVxcXCJ6XFxcIn1lbHNlIGlmKHR5cGVvZiBkLnY9PT1cXFwibnVtYmVyXFxcIilkLnQ9XFxcIm5cXFwiO2Vsc2UgaWYodHlwZW9mIGQudj09PVxcXCJib29sZWFuXFxcIilkLnQ9XFxcImJcXFwiO2Vsc2UgaWYoZC52IGluc3RhbmNlb2YgRGF0ZSl7ZC56PWEuZGF0ZU5GfHxELl90YWJsZVsxNF07aWYoYS5jZWxsRGF0ZXMpe2QudD1cXFwiZFxcXCI7ZC53PUQuZm9ybWF0KGQueixlZShkLnYpKX1lbHNle2QudD1cXFwiblxcXCI7ZC52PWVlKGQudik7ZC53PUQuZm9ybWF0KGQueixkLnYpfX1lbHNlIGQudD1cXFwic1xcXCJ9aWYobil7aWYoIWlbdl0paVt2XT1bXTtpZihpW3ZdW3BdJiZpW3ZdW3BdLnopZC56PWlbdl1bcF0uejtpW3ZdW3BdPWR9ZWxzZXt2YXIgYj1idCh7YzpwLHI6dn0pO2lmKGlbYl0mJmlbYl0ueilkLno9aVtiXS56O2lbYl09ZH19fWlmKGwucy5jPDFlNylpW1xcXCIhcmVmXFxcIl09d3QobCk7cmV0dXJuIGl9ZnVuY3Rpb24gQnQoZSxyKXtyZXR1cm4gQ3QobnVsbCxlLHIpfWZ1bmN0aW9uIFR0KGUscil7aWYoIXIpcj1Kcig0KTtyLl9XKDQsZSk7cmV0dXJuIHJ9ZnVuY3Rpb24geXQoZSl7dmFyIHI9ZS5fUig0KTtyZXR1cm4gcj09PTA/XFxcIlxcXCI6ZS5fUihyLFxcXCJkYmNzXFxcIil9ZnVuY3Rpb24geHQoZSxyKXt2YXIgdD1mYWxzZTtpZihyPT1udWxsKXt0PXRydWU7cj1Kcig0KzIqZS5sZW5ndGgpfXIuX1coNCxlLmxlbmd0aCk7aWYoZS5sZW5ndGg+MClyLl9XKDAsZSxcXFwiZGJjc1xcXCIpO3JldHVybiB0P3Iuc2xpY2UoMCxyLmwpOnJ9ZnVuY3Rpb24gQXQoZSl7cmV0dXJue2ljaDplLl9SKDIpLGlmbnQ6ZS5fUigyKX19ZnVuY3Rpb24gSXQoZSxyKXtpZighcilyPUpyKDQpO3IuX1coMixlLmljaHx8MCk7ci5fVygyLGUuaWZudHx8MCk7cmV0dXJuIHJ9ZnVuY3Rpb24gUnQoZSxyKXt2YXIgdD1lLmw7dmFyIGE9ZS5fUigxKTt2YXIgbj15dChlKTt2YXIgaT1bXTt2YXIgcz17dDpuLGg6bn07aWYoKGEmMSkhPT0wKXt2YXIgZj1lLl9SKDQpO2Zvcih2YXIgbz0wO28hPWY7KytvKWkucHVzaChBdChlKSk7cy5yPWl9ZWxzZSBzLnI9W3tpY2g6MCxpZm50OjB9XTtlLmw9dCtyO3JldHVybiBzfWZ1bmN0aW9uIE90KGUscil7dmFyIHQ9ZmFsc2U7aWYocj09bnVsbCl7dD10cnVlO3I9SnIoMTUrNCplLnQubGVuZ3RoKX1yLl9XKDEsMCk7eHQoZS50LHIpO3JldHVybiB0P3Iuc2xpY2UoMCxyLmwpOnJ9dmFyIER0PVJ0O2Z1bmN0aW9uIEZ0KGUscil7dmFyIHQ9ZmFsc2U7aWYocj09bnVsbCl7dD10cnVlO3I9SnIoMjMrNCplLnQubGVuZ3RoKX1yLl9XKDEsMSk7eHQoZS50LHIpO3IuX1coNCwxKTtJdCh7aWNoOjAsaWZudDowfSxyKTtyZXR1cm4gdD9yLnNsaWNlKDAsci5sKTpyfWZ1bmN0aW9uIFB0KGUpe3ZhciByPWUuX1IoNCk7dmFyIHQ9ZS5fUigyKTt0Kz1lLl9SKDEpPDwxNjtlLmwrKztyZXR1cm57YzpyLGlTdHlsZVJlZjp0fX1mdW5jdGlvbiBOdChlLHIpe2lmKHI9PW51bGwpcj1Kcig4KTtyLl9XKC00LGUuYyk7ci5fVygzLGUuaVN0eWxlUmVmfHxlLnMpO3IuX1coMSwwKTtyZXR1cm4gcn12YXIgTHQ9eXQ7dmFyIE10PXh0O2Z1bmN0aW9uIFV0KGUpe3ZhciByPWUuX1IoNCk7cmV0dXJuIHI9PT0wfHxyPT09NDI5NDk2NzI5NT9cXFwiXFxcIjplLl9SKHIsXFxcImRiY3NcXFwiKX1mdW5jdGlvbiB6dChlLHIpe3ZhciB0PWZhbHNlO2lmKHI9PW51bGwpe3Q9dHJ1ZTtyPUpyKDEyNyl9ci5fVyg0LGUubGVuZ3RoPjA/ZS5sZW5ndGg6NDI5NDk2NzI5NSk7aWYoZS5sZW5ndGg+MClyLl9XKDAsZSxcXFwiZGJjc1xcXCIpO3JldHVybiB0P3Iuc2xpY2UoMCxyLmwpOnJ9dmFyIEh0PXl0O3ZhciBXdD1VdDt2YXIgVnQ9enQ7ZnVuY3Rpb24gWHQoZSl7dmFyIHI9ZS5zbGljZShlLmwsZS5sKzQpO3ZhciB0PXJbMF0mMSxhPXJbMF0mMjtlLmwrPTQ7clswXSY9MjUyO3ZhciBuPWE9PT0wP0ZyKFswLDAsMCwwLHJbMF0sclsxXSxyWzJdLHJbM11dLDApOkhyKHIsMCk+PjI7cmV0dXJuIHQ/bi8xMDA6bn1mdW5jdGlvbiBHdChlLHIpe2lmKHI9PW51bGwpcj1Kcig0KTt2YXIgdD0wLGE9MCxuPWUqMTAwO2lmKGU9PShlfDApJiZlPj0tKDE8PDI5KSYmZTwxPDwyOSl7YT0xfWVsc2UgaWYobj09KG58MCkmJm4+PS0oMTw8MjkpJiZuPDE8PDI5KXthPTE7dD0xfWlmKGEpci5fVygtNCwoKHQ/bjplKTw8MikrKHQrMikpO2Vsc2UgdGhyb3cgbmV3IEVycm9yKFxcXCJ1bnN1cHBvcnRlZCBSa051bWJlciBcXFwiK2UpfWZ1bmN0aW9uIGp0KGUpe3ZhciByPXtzOnt9LGU6e319O3Iucy5yPWUuX1IoNCk7ci5lLnI9ZS5fUig0KTtyLnMuYz1lLl9SKDQpO3IuZS5jPWUuX1IoNCk7cmV0dXJuIHJ9ZnVuY3Rpb24gS3QoZSxyKXtpZighcilyPUpyKDE2KTtyLl9XKDQsZS5zLnIpO3IuX1coNCxlLmUucik7ci5fVyg0LGUucy5jKTtyLl9XKDQsZS5lLmMpO3JldHVybiByfXZhciAkdD1qdDt2YXIgWXQ9S3Q7ZnVuY3Rpb24gWnQoZSl7cmV0dXJuIGUuX1IoOCxcXFwiZlxcXCIpfWZ1bmN0aW9uIEp0KGUscil7cmV0dXJuKHJ8fEpyKDgpKS5fVyg4LGUsXFxcImZcXFwiKX1mdW5jdGlvbiBRdChlKXt2YXIgcj17fTt2YXIgdD1lLl9SKDEpO3ZhciBhPXQ+Pj4xO3ZhciBuPWUuX1IoMSk7dmFyIGk9ZS5fUigyLFxcXCJpXFxcIik7dmFyIHM9ZS5fUigxKTt2YXIgZj1lLl9SKDEpO3ZhciBvPWUuX1IoMSk7ZS5sKys7c3dpdGNoKGEpe2Nhc2UgMDpyLmF1dG89MTticmVhaztjYXNlIDE6ci5pbmRleD1uO3ZhciBsPXlhW25dO2lmKGwpci5yZ2I9b28obCk7YnJlYWs7Y2FzZSAyOnIucmdiPW9vKFtzLGYsb10pO2JyZWFrO2Nhc2UgMzpyLnRoZW1lPW47YnJlYWs7fWlmKGkhPTApci50aW50PWk+MD9pLzMyNzY3OmkvMzI3Njg7cmV0dXJuIHJ9ZnVuY3Rpb24gcXQoZSxyKXtpZighcilyPUpyKDgpO2lmKCFlfHxlLmF1dG8pe3IuX1coNCwwKTtyLl9XKDQsMCk7cmV0dXJuIHJ9aWYoZS5pbmRleCE9bnVsbCl7ci5fVygxLDIpO3IuX1coMSxlLmluZGV4KX1lbHNlIGlmKGUudGhlbWUhPW51bGwpe3IuX1coMSw2KTtyLl9XKDEsZS50aGVtZSl9ZWxzZXtyLl9XKDEsNSk7ci5fVygxLDApfXZhciB0PWUudGludHx8MDtpZih0PjApdCo9MzI3Njc7ZWxzZSBpZih0PDApdCo9MzI3Njg7ci5fVygyLHQpO2lmKCFlLnJnYnx8ZS50aGVtZSE9bnVsbCl7ci5fVygyLDApO3IuX1coMSwwKTtyLl9XKDEsMCl9ZWxzZXt2YXIgYT1lLnJnYnx8XFxcIkZGRkZGRlxcXCI7aWYodHlwZW9mIGE9PVxcXCJudW1iZXJcXFwiKWE9KFxcXCIwMDAwMDBcXFwiK2EudG9TdHJpbmcoMTYpKS5zbGljZSgtNik7ci5fVygxLHBhcnNlSW50KGEuc2xpY2UoMCwyKSwxNikpO3IuX1coMSxwYXJzZUludChhLnNsaWNlKDIsNCksMTYpKTtyLl9XKDEscGFyc2VJbnQoYS5zbGljZSg0LDYpLDE2KSk7ci5fVygxLDI1NSl9cmV0dXJuIHJ9ZnVuY3Rpb24gZWEoZSl7dmFyIHI9ZS5fUigxKTtlLmwrKzt2YXIgdD17ZkJvbGQ6ciYxLGZJdGFsaWM6ciYyLGZVbmRlcmxpbmU6ciY0LGZTdHJpa2VvdXQ6ciY4LGZPdXRsaW5lOnImMTYsZlNoYWRvdzpyJjMyLGZDb25kZW5zZTpyJjY0LGZFeHRlbmQ6ciYxMjh9O3JldHVybiB0fWZ1bmN0aW9uIHJhKGUscil7aWYoIXIpcj1KcigyKTt2YXIgdD0oZS5pdGFsaWM/MjowKXwoZS5zdHJpa2U/ODowKXwoZS5vdXRsaW5lPzE2OjApfChlLnNoYWRvdz8zMjowKXwoZS5jb25kZW5zZT82NDowKXwoZS5leHRlbmQ/MTI4OjApO3IuX1coMSx0KTtyLl9XKDEsMCk7cmV0dXJuIHJ9ZnVuY3Rpb24gdGEoZSxyKXt2YXIgdD17MjpcXFwiQklUTUFQXFxcIiwzOlxcXCJNRVRBRklMRVBJQ1RcXFwiLDg6XFxcIkRJQlxcXCIsMTQ6XFxcIkVOSE1FVEFGSUxFXFxcIn07dmFyIGE9ZS5fUig0KTtzd2l0Y2goYSl7Y2FzZSAwOnJldHVyblxcXCJcXFwiO2Nhc2UgNDI5NDk2NzI5NTo7Y2FzZSA0Mjk0OTY3Mjk0OnJldHVybiB0W2UuX1IoNCldfHxcXFwiXFxcIjt9aWYoYT40MDApdGhyb3cgbmV3IEVycm9yKFxcXCJVbnN1cHBvcnRlZCBDbGlwYm9hcmQ6IFxcXCIrYS50b1N0cmluZygxNikpO2UubC09NDtyZXR1cm4gZS5fUigwLHI9PTE/XFxcImxwc3RyXFxcIjpcXFwibHB3c3RyXFxcIil9ZnVuY3Rpb24gYWEoZSl7cmV0dXJuIHRhKGUsMSl9ZnVuY3Rpb24gbmEoZSl7cmV0dXJuIHRhKGUsMil9dmFyIGlhPTI7dmFyIHNhPTM7dmFyIGZhPTExO3ZhciBvYT0xMjt2YXIgbGE9MTk7dmFyIGNhPTMwO3ZhciB1YT02NDt2YXIgaGE9NjU7dmFyIGRhPTcxO3ZhciB2YT00MDk2O3ZhciBwYT04MDt2YXIgbWE9ODE7dmFyIGJhPVtwYSxtYV07dmFyIGdhPXsxOntuOlxcXCJDb2RlUGFnZVxcXCIsdDppYX0sMjp7bjpcXFwiQ2F0ZWdvcnlcXFwiLHQ6cGF9LDM6e246XFxcIlByZXNlbnRhdGlvbkZvcm1hdFxcXCIsdDpwYX0sNDp7bjpcXFwiQnl0ZUNvdW50XFxcIix0OnNhfSw1OntuOlxcXCJMaW5lQ291bnRcXFwiLHQ6c2F9LDY6e246XFxcIlBhcmFncmFwaENvdW50XFxcIix0OnNhfSw3OntuOlxcXCJTbGlkZUNvdW50XFxcIix0OnNhfSw4OntuOlxcXCJOb3RlQ291bnRcXFwiLHQ6c2F9LDk6e246XFxcIkhpZGRlbkNvdW50XFxcIix0OnNhfSwxMDp7bjpcXFwiTXVsdGltZWRpYUNsaXBDb3VudFxcXCIsdDpzYX0sMTE6e246XFxcIlNjYWxlQ3JvcFxcXCIsdDpmYX0sMTI6e246XFxcIkhlYWRpbmdQYWlyc1xcXCIsdDp2YXxvYX0sMTM6e246XFxcIlRpdGxlc09mUGFydHNcXFwiLHQ6dmF8Y2F9LDE0OntuOlxcXCJNYW5hZ2VyXFxcIix0OnBhfSwxNTp7bjpcXFwiQ29tcGFueVxcXCIsdDpwYX0sMTY6e246XFxcIkxpbmtzVXBUb0RhdGVcXFwiLHQ6ZmF9LDE3OntuOlxcXCJDaGFyYWN0ZXJDb3VudFxcXCIsdDpzYX0sMTk6e246XFxcIlNoYXJlZERvY1xcXCIsdDpmYX0sMjI6e246XFxcIkh5cGVybGlua3NDaGFuZ2VkXFxcIix0OmZhfSwyMzp7bjpcXFwiQXBwVmVyc2lvblxcXCIsdDpzYSxwOlxcXCJ2ZXJzaW9uXFxcIn0sMjQ6e246XFxcIkRpZ1NpZ1xcXCIsdDpoYX0sMjY6e246XFxcIkNvbnRlbnRUeXBlXFxcIix0OnBhfSwyNzp7bjpcXFwiQ29udGVudFN0YXR1c1xcXCIsdDpwYX0sMjg6e246XFxcIkxhbmd1YWdlXFxcIix0OnBhfSwyOTp7bjpcXFwiVmVyc2lvblxcXCIsdDpwYX0sMjU1Ont9fTt2YXIgd2E9ezE6e246XFxcIkNvZGVQYWdlXFxcIix0OmlhfSwyOntuOlxcXCJUaXRsZVxcXCIsdDpwYX0sMzp7bjpcXFwiU3ViamVjdFxcXCIsdDpwYX0sNDp7bjpcXFwiQXV0aG9yXFxcIix0OnBhfSw1OntuOlxcXCJLZXl3b3Jkc1xcXCIsdDpwYX0sNjp7bjpcXFwiQ29tbWVudHNcXFwiLHQ6cGF9LDc6e246XFxcIlRlbXBsYXRlXFxcIix0OnBhfSw4OntuOlxcXCJMYXN0QXV0aG9yXFxcIix0OnBhfSw5OntuOlxcXCJSZXZOdW1iZXJcXFwiLHQ6cGF9LDEwOntuOlxcXCJFZGl0VGltZVxcXCIsdDp1YX0sMTE6e246XFxcIkxhc3RQcmludGVkXFxcIix0OnVhfSwxMjp7bjpcXFwiQ3JlYXRlZERhdGVcXFwiLHQ6dWF9LDEzOntuOlxcXCJNb2RpZmllZERhdGVcXFwiLHQ6dWF9LDE0OntuOlxcXCJQYWdlQ291bnRcXFwiLHQ6c2F9LDE1OntuOlxcXCJXb3JkQ291bnRcXFwiLHQ6c2F9LDE2OntuOlxcXCJDaGFyQ291bnRcXFwiLHQ6c2F9LDE3OntuOlxcXCJUaHVtYm5haWxcXFwiLHQ6ZGF9LDE4OntuOlxcXCJBcHBsaWNhdGlvblxcXCIsdDpwYX0sMTk6e246XFxcIkRvY1NlY3VyaXR5XFxcIix0OnNhfSwyNTU6e319O3ZhciBrYT17MjE0NzQ4MzY0ODp7bjpcXFwiTG9jYWxlXFxcIix0OmxhfSwyMTQ3NDgzNjUxOntuOlxcXCJCZWhhdmlvclxcXCIsdDpsYX0sMTkxOTA1NDQzNDp7fX07KGZ1bmN0aW9uKCl7Zm9yKHZhciBlIGluIGthKWlmKE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChrYSxlKSlnYVtlXT13YVtlXT1rYVtlXX0pKCk7dmFyIEVhPVkoZ2EsXFxcIm5cXFwiKTt2YXIgU2E9WSh3YSxcXFwiblxcXCIpO3ZhciBfYT17MTpcXFwiVVNcXFwiLDI6XFxcIkNBXFxcIiwzOlxcXCJcXFwiLDc6XFxcIlJVXFxcIiwyMDpcXFwiRUdcXFwiLDMwOlxcXCJHUlxcXCIsMzE6XFxcIk5MXFxcIiwzMjpcXFwiQkVcXFwiLDMzOlxcXCJGUlxcXCIsMzQ6XFxcIkVTXFxcIiwzNjpcXFwiSFVcXFwiLDM5OlxcXCJJVFxcXCIsNDE6XFxcIkNIXFxcIiw0MzpcXFwiQVRcXFwiLDQ0OlxcXCJHQlxcXCIsNDU6XFxcIkRLXFxcIiw0NjpcXFwiU0VcXFwiLDQ3OlxcXCJOT1xcXCIsNDg6XFxcIlBMXFxcIiw0OTpcXFwiREVcXFwiLDUyOlxcXCJNWFxcXCIsNTU6XFxcIkJSXFxcIiw2MTpcXFwiQVVcXFwiLDY0OlxcXCJOWlxcXCIsNjY6XFxcIlRIXFxcIiw4MTpcXFwiSlBcXFwiLDgyOlxcXCJLUlxcXCIsODQ6XFxcIlZOXFxcIiw4NjpcXFwiQ05cXFwiLDkwOlxcXCJUUlxcXCIsMTA1OlxcXCJKU1xcXCIsMjEzOlxcXCJEWlxcXCIsMjE2OlxcXCJNQVxcXCIsMjE4OlxcXCJMWVxcXCIsMzUxOlxcXCJQVFxcXCIsMzU0OlxcXCJJU1xcXCIsMzU4OlxcXCJGSVxcXCIsNDIwOlxcXCJDWlxcXCIsODg2OlxcXCJUV1xcXCIsOTYxOlxcXCJMQlxcXCIsOTYyOlxcXCJKT1xcXCIsOTYzOlxcXCJTWVxcXCIsOTY0OlxcXCJJUVxcXCIsOTY1OlxcXCJLV1xcXCIsOTY2OlxcXCJTQVxcXCIsOTcxOlxcXCJBRVxcXCIsOTcyOlxcXCJJTFxcXCIsOTc0OlxcXCJRQVxcXCIsOTgxOlxcXCJJUlxcXCIsNjU1MzU6XFxcIlVTXFxcIn07dmFyIENhPVtudWxsLFxcXCJzb2xpZFxcXCIsXFxcIm1lZGl1bUdyYXlcXFwiLFxcXCJkYXJrR3JheVxcXCIsXFxcImxpZ2h0R3JheVxcXCIsXFxcImRhcmtIb3Jpem9udGFsXFxcIixcXFwiZGFya1ZlcnRpY2FsXFxcIixcXFwiZGFya0Rvd25cXFwiLFxcXCJkYXJrVXBcXFwiLFxcXCJkYXJrR3JpZFxcXCIsXFxcImRhcmtUcmVsbGlzXFxcIixcXFwibGlnaHRIb3Jpem9udGFsXFxcIixcXFwibGlnaHRWZXJ0aWNhbFxcXCIsXFxcImxpZ2h0RG93blxcXCIsXFxcImxpZ2h0VXBcXFwiLFxcXCJsaWdodEdyaWRcXFwiLFxcXCJsaWdodFRyZWxsaXNcXFwiLFxcXCJncmF5MTI1XFxcIixcXFwiZ3JheTA2MjVcXFwiXTtmdW5jdGlvbiBCYShlKXtyZXR1cm4gZS5tYXAoZnVuY3Rpb24oZSl7cmV0dXJuW2U+PjE2JjI1NSxlPj44JjI1NSxlJjI1NV19KX12YXIgVGE9QmEoWzAsMTY3NzcyMTUsMTY3MTE2ODAsNjUyODAsMjU1LDE2Nzc2OTYwLDE2NzExOTM1LDY1NTM1LDAsMTY3NzcyMTUsMTY3MTE2ODAsNjUyODAsMjU1LDE2Nzc2OTYwLDE2NzExOTM1LDY1NTM1LDgzODg2MDgsMzI3NjgsMTI4LDg0MjEzNzYsODM4ODczNiwzMjg5NiwxMjYzMjI1Niw4NDIxNTA0LDEwMDY2NDMxLDEwMDQwMTY2LDE2Nzc3MTY0LDEzNDM0ODc5LDY2ODQ3NzQsMTY3NDQ1NzYsMjYzMTYsMTM0MjE4MjMsMTI4LDE2NzExOTM1LDE2Nzc2OTYwLDY1NTM1LDgzODg3MzYsODM4ODYwOCwzMjg5NiwyNTUsNTI0NzksMTM0MzQ4NzksMTM0MzQ4MjgsMTY3NzcxMTMsMTAwNzk0ODcsMTY3NTEwNTIsMTM0MDg3NjcsMTY3NjQwNTcsMzM2ODcwMywzMzk0NzY0LDEwMDc5MjMyLDE2NzYzOTA0LDE2NzUwODQ4LDE2NzM3NzkyLDY3MTA5MzcsOTg2ODk1MCwxMzE1OCwzMzgxNjA2LDEzMDU2LDMzNTUzOTIsMTAwNDAwNjQsMTAwNDAxNjYsMzM1NTU0NSwzMzU1NDQzLDE2Nzc3MjE1LDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMF0pO3ZhciB5YT1jZShUYSk7dmFyIHhhPXswOlxcXCIjTlVMTCFcXFwiLDc6XFxcIiNESVYvMCFcXFwiLDE1OlxcXCIjVkFMVUUhXFxcIiwyMzpcXFwiI1JFRiFcXFwiLDI5OlxcXCIjTkFNRT9cXFwiLDM2OlxcXCIjTlVNIVxcXCIsNDI6XFxcIiNOL0FcXFwiLDQzOlxcXCIjR0VUVElOR19EQVRBXFxcIiwyNTU6XFxcIiNXVEY/XFxcIn07dmFyIEFhPUooeGEpO3ZhciBJYT17XFxcImFwcGxpY2F0aW9uL3ZuZC5vcGVueG1sZm9ybWF0cy1vZmZpY2Vkb2N1bWVudC5zcHJlYWRzaGVldG1sLnNoZWV0Lm1haW4reG1sXFxcIjpcXFwid29ya2Jvb2tzXFxcIixcXFwiYXBwbGljYXRpb24vdm5kLm1zLWV4Y2VsLmJpbkluZGV4V3NcXFwiOlxcXCJUT0RPXFxcIixcXFwiYXBwbGljYXRpb24vdm5kLm1zLWV4Y2VsLmludGxtYWNyb3NoZWV0XFxcIjpcXFwiVE9ET1xcXCIsXFxcImFwcGxpY2F0aW9uL3ZuZC5tcy1leGNlbC5iaW5JbmRleE1zXFxcIjpcXFwiVE9ET1xcXCIsXFxcImFwcGxpY2F0aW9uL3ZuZC5vcGVueG1sZm9ybWF0cy1wYWNrYWdlLmNvcmUtcHJvcGVydGllcyt4bWxcXFwiOlxcXCJjb3JlcHJvcHNcXFwiLFxcXCJhcHBsaWNhdGlvbi92bmQub3BlbnhtbGZvcm1hdHMtb2ZmaWNlZG9jdW1lbnQuY3VzdG9tLXByb3BlcnRpZXMreG1sXFxcIjpcXFwiY3VzdHByb3BzXFxcIixcXFwiYXBwbGljYXRpb24vdm5kLm9wZW54bWxmb3JtYXRzLW9mZmljZWRvY3VtZW50LmV4dGVuZGVkLXByb3BlcnRpZXMreG1sXFxcIjpcXFwiZXh0cHJvcHNcXFwiLFxcXCJhcHBsaWNhdGlvbi92bmQub3BlbnhtbGZvcm1hdHMtb2ZmaWNlZG9jdW1lbnQuY3VzdG9tWG1sUHJvcGVydGllcyt4bWxcXFwiOlxcXCJUT0RPXFxcIixcXFwiYXBwbGljYXRpb24vdm5kLm9wZW54bWxmb3JtYXRzLW9mZmljZWRvY3VtZW50LnNwcmVhZHNoZWV0bWwuY3VzdG9tUHJvcGVydHlcXFwiOlxcXCJUT0RPXFxcIixcXFwiYXBwbGljYXRpb24vdm5kLm1zLWV4Y2VsLnBpdm90VGFibGVcXFwiOlxcXCJUT0RPXFxcIixcXFwiYXBwbGljYXRpb24vdm5kLm9wZW54bWxmb3JtYXRzLW9mZmljZWRvY3VtZW50LnNwcmVhZHNoZWV0bWwucGl2b3RUYWJsZSt4bWxcXFwiOlxcXCJUT0RPXFxcIixcXFwiYXBwbGljYXRpb24vdm5kLm9wZW54bWxmb3JtYXRzLW9mZmljZWRvY3VtZW50LmRyYXdpbmdtbC5jaGFydCt4bWxcXFwiOlxcXCJUT0RPXFxcIixcXFwiYXBwbGljYXRpb24vdm5kLm1zLW9mZmljZS5jaGFydGNvbG9yc3R5bGUreG1sXFxcIjpcXFwiVE9ET1xcXCIsXFxcImFwcGxpY2F0aW9uL3ZuZC5tcy1vZmZpY2UuY2hhcnRzdHlsZSt4bWxcXFwiOlxcXCJUT0RPXFxcIixcXFwiYXBwbGljYXRpb24vdm5kLm1zLW9mZmljZS5jaGFydGV4K3htbFxcXCI6XFxcIlRPRE9cXFwiLFxcXCJhcHBsaWNhdGlvbi92bmQubXMtZXhjZWwuY2FsY0NoYWluXFxcIjpcXFwiY2FsY2NoYWluc1xcXCIsXFxcImFwcGxpY2F0aW9uL3ZuZC5vcGVueG1sZm9ybWF0cy1vZmZpY2Vkb2N1bWVudC5zcHJlYWRzaGVldG1sLmNhbGNDaGFpbit4bWxcXFwiOlxcXCJjYWxjY2hhaW5zXFxcIixcXFwiYXBwbGljYXRpb24vdm5kLm9wZW54bWxmb3JtYXRzLW9mZmljZWRvY3VtZW50LnNwcmVhZHNoZWV0bWwucHJpbnRlclNldHRpbmdzXFxcIjpcXFwiVE9ET1xcXCIsXFxcImFwcGxpY2F0aW9uL3ZuZC5tcy1vZmZpY2UuYWN0aXZlWFxcXCI6XFxcIlRPRE9cXFwiLFxcXCJhcHBsaWNhdGlvbi92bmQubXMtb2ZmaWNlLmFjdGl2ZVgreG1sXFxcIjpcXFwiVE9ET1xcXCIsXFxcImFwcGxpY2F0aW9uL3ZuZC5tcy1leGNlbC5hdHRhY2hlZFRvb2xiYXJzXFxcIjpcXFwiVE9ET1xcXCIsXFxcImFwcGxpY2F0aW9uL3ZuZC5tcy1leGNlbC5jb25uZWN0aW9uc1xcXCI6XFxcIlRPRE9cXFwiLFxcXCJhcHBsaWNhdGlvbi92bmQub3BlbnhtbGZvcm1hdHMtb2ZmaWNlZG9jdW1lbnQuc3ByZWFkc2hlZXRtbC5jb25uZWN0aW9ucyt4bWxcXFwiOlxcXCJUT0RPXFxcIixcXFwiYXBwbGljYXRpb24vdm5kLm1zLWV4Y2VsLmV4dGVybmFsTGlua1xcXCI6XFxcImxpbmtzXFxcIixcXFwiYXBwbGljYXRpb24vdm5kLm9wZW54bWxmb3JtYXRzLW9mZmljZWRvY3VtZW50LnNwcmVhZHNoZWV0bWwuZXh0ZXJuYWxMaW5rK3htbFxcXCI6XFxcImxpbmtzXFxcIixcXFwiYXBwbGljYXRpb24vdm5kLm1zLWV4Y2VsLnNoZWV0TWV0YWRhdGFcXFwiOlxcXCJUT0RPXFxcIixcXFwiYXBwbGljYXRpb24vdm5kLm9wZW54bWxmb3JtYXRzLW9mZmljZWRvY3VtZW50LnNwcmVhZHNoZWV0bWwuc2hlZXRNZXRhZGF0YSt4bWxcXFwiOlxcXCJUT0RPXFxcIixcXFwiYXBwbGljYXRpb24vdm5kLm1zLWV4Y2VsLnBpdm90Q2FjaGVEZWZpbml0aW9uXFxcIjpcXFwiVE9ET1xcXCIsXFxcImFwcGxpY2F0aW9uL3ZuZC5tcy1leGNlbC5waXZvdENhY2hlUmVjb3Jkc1xcXCI6XFxcIlRPRE9cXFwiLFxcXCJhcHBsaWNhdGlvbi92bmQub3BlbnhtbGZvcm1hdHMtb2ZmaWNlZG9jdW1lbnQuc3ByZWFkc2hlZXRtbC5waXZvdENhY2hlRGVmaW5pdGlvbit4bWxcXFwiOlxcXCJUT0RPXFxcIixcXFwiYXBwbGljYXRpb24vdm5kLm9wZW54bWxmb3JtYXRzLW9mZmljZWRvY3VtZW50LnNwcmVhZHNoZWV0bWwucGl2b3RDYWNoZVJlY29yZHMreG1sXFxcIjpcXFwiVE9ET1xcXCIsXFxcImFwcGxpY2F0aW9uL3ZuZC5tcy1leGNlbC5xdWVyeVRhYmxlXFxcIjpcXFwiVE9ET1xcXCIsXFxcImFwcGxpY2F0aW9uL3ZuZC5vcGVueG1sZm9ybWF0cy1vZmZpY2Vkb2N1bWVudC5zcHJlYWRzaGVldG1sLnF1ZXJ5VGFibGUreG1sXFxcIjpcXFwiVE9ET1xcXCIsXFxcImFwcGxpY2F0aW9uL3ZuZC5tcy1leGNlbC51c2VyTmFtZXNcXFwiOlxcXCJUT0RPXFxcIixcXFwiYXBwbGljYXRpb24vdm5kLm1zLWV4Y2VsLnJldmlzaW9uSGVhZGVyc1xcXCI6XFxcIlRPRE9cXFwiLFxcXCJhcHBsaWNhdGlvbi92bmQubXMtZXhjZWwucmV2aXNpb25Mb2dcXFwiOlxcXCJUT0RPXFxcIixcXFwiYXBwbGljYXRpb24vdm5kLm9wZW54bWxmb3JtYXRzLW9mZmljZWRvY3VtZW50LnNwcmVhZHNoZWV0bWwucmV2aXNpb25IZWFkZXJzK3htbFxcXCI6XFxcIlRPRE9cXFwiLFxcXCJhcHBsaWNhdGlvbi92bmQub3BlbnhtbGZvcm1hdHMtb2ZmaWNlZG9jdW1lbnQuc3ByZWFkc2hlZXRtbC5yZXZpc2lvbkxvZyt4bWxcXFwiOlxcXCJUT0RPXFxcIixcXFwiYXBwbGljYXRpb24vdm5kLm9wZW54bWxmb3JtYXRzLW9mZmljZWRvY3VtZW50LnNwcmVhZHNoZWV0bWwudXNlck5hbWVzK3htbFxcXCI6XFxcIlRPRE9cXFwiLFxcXCJhcHBsaWNhdGlvbi92bmQubXMtZXhjZWwudGFibGVTaW5nbGVDZWxsc1xcXCI6XFxcIlRPRE9cXFwiLFxcXCJhcHBsaWNhdGlvbi92bmQub3BlbnhtbGZvcm1hdHMtb2ZmaWNlZG9jdW1lbnQuc3ByZWFkc2hlZXRtbC50YWJsZVNpbmdsZUNlbGxzK3htbFxcXCI6XFxcIlRPRE9cXFwiLFxcXCJhcHBsaWNhdGlvbi92bmQubXMtZXhjZWwuc2xpY2VyXFxcIjpcXFwiVE9ET1xcXCIsXFxcImFwcGxpY2F0aW9uL3ZuZC5tcy1leGNlbC5zbGljZXJDYWNoZVxcXCI6XFxcIlRPRE9cXFwiLFxcXCJhcHBsaWNhdGlvbi92bmQubXMtZXhjZWwuc2xpY2VyK3htbFxcXCI6XFxcIlRPRE9cXFwiLFxcXCJhcHBsaWNhdGlvbi92bmQubXMtZXhjZWwuc2xpY2VyQ2FjaGUreG1sXFxcIjpcXFwiVE9ET1xcXCIsXFxcImFwcGxpY2F0aW9uL3ZuZC5tcy1leGNlbC53c1NvcnRNYXBcXFwiOlxcXCJUT0RPXFxcIixcXFwiYXBwbGljYXRpb24vdm5kLm1zLWV4Y2VsLnRhYmxlXFxcIjpcXFwiVE9ET1xcXCIsXFxcImFwcGxpY2F0aW9uL3ZuZC5vcGVueG1sZm9ybWF0cy1vZmZpY2Vkb2N1bWVudC5zcHJlYWRzaGVldG1sLnRhYmxlK3htbFxcXCI6XFxcIlRPRE9cXFwiLFxcXCJhcHBsaWNhdGlvbi92bmQub3BlbnhtbGZvcm1hdHMtb2ZmaWNlZG9jdW1lbnQudGhlbWUreG1sXFxcIjpcXFwidGhlbWVzXFxcIixcXFwiYXBwbGljYXRpb24vdm5kLm9wZW54bWxmb3JtYXRzLW9mZmljZWRvY3VtZW50LnRoZW1lT3ZlcnJpZGUreG1sXFxcIjpcXFwiVE9ET1xcXCIsXFxcImFwcGxpY2F0aW9uL3ZuZC5tcy1leGNlbC5UaW1lbGluZSt4bWxcXFwiOlxcXCJUT0RPXFxcIixcXFwiYXBwbGljYXRpb24vdm5kLm1zLWV4Y2VsLlRpbWVsaW5lQ2FjaGUreG1sXFxcIjpcXFwiVE9ET1xcXCIsXFxcImFwcGxpY2F0aW9uL3ZuZC5tcy1vZmZpY2UudmJhUHJvamVjdFxcXCI6XFxcInZiYVxcXCIsXFxcImFwcGxpY2F0aW9uL3ZuZC5tcy1vZmZpY2UudmJhUHJvamVjdFNpZ25hdHVyZVxcXCI6XFxcInZiYVxcXCIsXFxcImFwcGxpY2F0aW9uL3ZuZC5tcy1vZmZpY2Uudm9sYXRpbGVEZXBlbmRlbmNpZXNcXFwiOlxcXCJUT0RPXFxcIixcXFwiYXBwbGljYXRpb24vdm5kLm9wZW54bWxmb3JtYXRzLW9mZmljZWRvY3VtZW50LnNwcmVhZHNoZWV0bWwudm9sYXRpbGVEZXBlbmRlbmNpZXMreG1sXFxcIjpcXFwiVE9ET1xcXCIsXFxcImFwcGxpY2F0aW9uL3ZuZC5tcy1leGNlbC5jb250cm9scHJvcGVydGllcyt4bWxcXFwiOlxcXCJUT0RPXFxcIixcXFwiYXBwbGljYXRpb24vdm5kLm9wZW54bWxmb3JtYXRzLW9mZmljZWRvY3VtZW50Lm1vZGVsK2RhdGFcXFwiOlxcXCJUT0RPXFxcIixcXFwiYXBwbGljYXRpb24vdm5kLm1zLWV4Y2VsLlN1cnZleSt4bWxcXFwiOlxcXCJUT0RPXFxcIixcXFwiYXBwbGljYXRpb24vdm5kLm9wZW54bWxmb3JtYXRzLW9mZmljZWRvY3VtZW50LmRyYXdpbmcreG1sXFxcIjpcXFwiZHJhd2luZ3NcXFwiLFxcXCJhcHBsaWNhdGlvbi92bmQub3BlbnhtbGZvcm1hdHMtb2ZmaWNlZG9jdW1lbnQuZHJhd2luZ21sLmNoYXJ0c2hhcGVzK3htbFxcXCI6XFxcIlRPRE9cXFwiLFxcXCJhcHBsaWNhdGlvbi92bmQub3BlbnhtbGZvcm1hdHMtb2ZmaWNlZG9jdW1lbnQuZHJhd2luZ21sLmRpYWdyYW1Db2xvcnMreG1sXFxcIjpcXFwiVE9ET1xcXCIsXFxcImFwcGxpY2F0aW9uL3ZuZC5vcGVueG1sZm9ybWF0cy1vZmZpY2Vkb2N1bWVudC5kcmF3aW5nbWwuZGlhZ3JhbURhdGEreG1sXFxcIjpcXFwiVE9ET1xcXCIsXFxcImFwcGxpY2F0aW9uL3ZuZC5vcGVueG1sZm9ybWF0cy1vZmZpY2Vkb2N1bWVudC5kcmF3aW5nbWwuZGlhZ3JhbUxheW91dCt4bWxcXFwiOlxcXCJUT0RPXFxcIixcXFwiYXBwbGljYXRpb24vdm5kLm9wZW54bWxmb3JtYXRzLW9mZmljZWRvY3VtZW50LmRyYXdpbmdtbC5kaWFncmFtU3R5bGUreG1sXFxcIjpcXFwiVE9ET1xcXCIsXFxcImFwcGxpY2F0aW9uL3ZuZC5vcGVueG1sZm9ybWF0cy1vZmZpY2Vkb2N1bWVudC52bWxEcmF3aW5nXFxcIjpcXFwiVE9ET1xcXCIsXFxcImFwcGxpY2F0aW9uL3ZuZC5vcGVueG1sZm9ybWF0cy1wYWNrYWdlLnJlbGF0aW9uc2hpcHMreG1sXFxcIjpcXFwicmVsc1xcXCIsXFxcImFwcGxpY2F0aW9uL3ZuZC5vcGVueG1sZm9ybWF0cy1vZmZpY2Vkb2N1bWVudC5vbGVPYmplY3RcXFwiOlxcXCJUT0RPXFxcIixcXFwiaW1hZ2UvcG5nXFxcIjpcXFwiVE9ET1xcXCIsc2hlZXQ6XFxcImpzXFxcIn07dmFyIFJhPWZ1bmN0aW9uKCl7dmFyIGU9e3dvcmtib29rczp7eGxzeDpcXFwiYXBwbGljYXRpb24vdm5kLm9wZW54bWxmb3JtYXRzLW9mZmljZWRvY3VtZW50LnNwcmVhZHNoZWV0bWwuc2hlZXQubWFpbit4bWxcXFwiLHhsc206XFxcImFwcGxpY2F0aW9uL3ZuZC5tcy1leGNlbC5zaGVldC5tYWNyb0VuYWJsZWQubWFpbit4bWxcXFwiLHhsc2I6XFxcImFwcGxpY2F0aW9uL3ZuZC5tcy1leGNlbC5zaGVldC5iaW5hcnkubWFjcm9FbmFibGVkLm1haW5cXFwiLHhsYW06XFxcImFwcGxpY2F0aW9uL3ZuZC5tcy1leGNlbC5hZGRpbi5tYWNyb0VuYWJsZWQubWFpbit4bWxcXFwiLHhsdHg6XFxcImFwcGxpY2F0aW9uL3ZuZC5vcGVueG1sZm9ybWF0cy1vZmZpY2Vkb2N1bWVudC5zcHJlYWRzaGVldG1sLnRlbXBsYXRlLm1haW4reG1sXFxcIn0sc3Ryczp7eGxzeDpcXFwiYXBwbGljYXRpb24vdm5kLm9wZW54bWxmb3JtYXRzLW9mZmljZWRvY3VtZW50LnNwcmVhZHNoZWV0bWwuc2hhcmVkU3RyaW5ncyt4bWxcXFwiLHhsc2I6XFxcImFwcGxpY2F0aW9uL3ZuZC5tcy1leGNlbC5zaGFyZWRTdHJpbmdzXFxcIn0sY29tbWVudHM6e3hsc3g6XFxcImFwcGxpY2F0aW9uL3ZuZC5vcGVueG1sZm9ybWF0cy1vZmZpY2Vkb2N1bWVudC5zcHJlYWRzaGVldG1sLmNvbW1lbnRzK3htbFxcXCIseGxzYjpcXFwiYXBwbGljYXRpb24vdm5kLm1zLWV4Y2VsLmNvbW1lbnRzXFxcIn0sc2hlZXRzOnt4bHN4OlxcXCJhcHBsaWNhdGlvbi92bmQub3BlbnhtbGZvcm1hdHMtb2ZmaWNlZG9jdW1lbnQuc3ByZWFkc2hlZXRtbC53b3Jrc2hlZXQreG1sXFxcIix4bHNiOlxcXCJhcHBsaWNhdGlvbi92bmQubXMtZXhjZWwud29ya3NoZWV0XFxcIn0sY2hhcnRzOnt4bHN4OlxcXCJhcHBsaWNhdGlvbi92bmQub3BlbnhtbGZvcm1hdHMtb2ZmaWNlZG9jdW1lbnQuc3ByZWFkc2hlZXRtbC5jaGFydHNoZWV0K3htbFxcXCIseGxzYjpcXFwiYXBwbGljYXRpb24vdm5kLm1zLWV4Y2VsLmNoYXJ0c2hlZXRcXFwifSxkaWFsb2dzOnt4bHN4OlxcXCJhcHBsaWNhdGlvbi92bmQub3BlbnhtbGZvcm1hdHMtb2ZmaWNlZG9jdW1lbnQuc3ByZWFkc2hlZXRtbC5kaWFsb2dzaGVldCt4bWxcXFwiLHhsc2I6XFxcImFwcGxpY2F0aW9uL3ZuZC5tcy1leGNlbC5kaWFsb2dzaGVldFxcXCJ9LG1hY3Jvczp7eGxzeDpcXFwiYXBwbGljYXRpb24vdm5kLm1zLWV4Y2VsLm1hY3Jvc2hlZXQreG1sXFxcIix4bHNiOlxcXCJhcHBsaWNhdGlvbi92bmQubXMtZXhjZWwubWFjcm9zaGVldFxcXCJ9LHN0eWxlczp7eGxzeDpcXFwiYXBwbGljYXRpb24vdm5kLm9wZW54bWxmb3JtYXRzLW9mZmljZWRvY3VtZW50LnNwcmVhZHNoZWV0bWwuc3R5bGVzK3htbFxcXCIseGxzYjpcXFwiYXBwbGljYXRpb24vdm5kLm1zLWV4Y2VsLnN0eWxlc1xcXCJ9fTtLKGUpLmZvckVhY2goZnVuY3Rpb24ocil7W1xcXCJ4bHNtXFxcIixcXFwieGxhbVxcXCJdLmZvckVhY2goZnVuY3Rpb24odCl7aWYoIWVbcl1bdF0pZVtyXVt0XT1lW3JdLnhsc3h9KX0pO0soZSkuZm9yRWFjaChmdW5jdGlvbihyKXtLKGVbcl0pLmZvckVhY2goZnVuY3Rpb24odCl7SWFbZVtyXVt0XV09cn0pfSk7cmV0dXJuIGV9KCk7dmFyIE9hPVEoSWEpO2hyLkNUPVxcXCJodHRwOi8vc2NoZW1hcy5vcGVueG1sZm9ybWF0cy5vcmcvcGFja2FnZS8yMDA2L2NvbnRlbnQtdHlwZXNcXFwiO2Z1bmN0aW9uIERhKCl7cmV0dXJue3dvcmtib29rczpbXSxzaGVldHM6W10sY2hhcnRzOltdLGRpYWxvZ3M6W10sbWFjcm9zOltdLHJlbHM6W10sc3RyczpbXSxjb21tZW50czpbXSxsaW5rczpbXSxjb3JlcHJvcHM6W10sZXh0cHJvcHM6W10sY3VzdHByb3BzOltdLHRoZW1lczpbXSxzdHlsZXM6W10sY2FsY2NoYWluczpbXSx2YmE6W10sZHJhd2luZ3M6W10sVE9ETzpbXSx4bWxuczpcXFwiXFxcIn19ZnVuY3Rpb24gRmEoZSl7dmFyIHI9RGEoKTtpZighZXx8IWUubWF0Y2gpcmV0dXJuIHI7dmFyIHQ9e307KGUubWF0Y2goUmUpfHxbXSkuZm9yRWFjaChmdW5jdGlvbihlKXt2YXIgYT1GZShlKTtzd2l0Y2goYVswXS5yZXBsYWNlKE9lLFxcXCI8XFxcIikpe2Nhc2VcXFwiPD94bWxcXFwiOmJyZWFrO2Nhc2VcXFwiPFR5cGVzXFxcIjpyLnhtbG5zPWFbXFxcInhtbG5zXFxcIisoYVswXS5tYXRjaCgvPChcXFxcdyspOi8pfHxbXFxcIlxcXCIsXFxcIlxcXCJdKVsxXV07YnJlYWs7Y2FzZVxcXCI8RGVmYXVsdFxcXCI6dFthLkV4dGVuc2lvbl09YS5Db250ZW50VHlwZTticmVhaztjYXNlXFxcIjxPdmVycmlkZVxcXCI6aWYocltJYVthLkNvbnRlbnRUeXBlXV0hPT11bmRlZmluZWQpcltJYVthLkNvbnRlbnRUeXBlXV0ucHVzaChhLlBhcnROYW1lKTticmVhazt9fSk7aWYoci54bWxucyE9PWhyLkNUKXRocm93IG5ldyBFcnJvcihcXFwiVW5rbm93biBOYW1lc3BhY2U6IFxcXCIrci54bWxucyk7ci5jYWxjY2hhaW49ci5jYWxjY2hhaW5zLmxlbmd0aD4wP3IuY2FsY2NoYWluc1swXTpcXFwiXFxcIjtyLnNzdD1yLnN0cnMubGVuZ3RoPjA/ci5zdHJzWzBdOlxcXCJcXFwiO3Iuc3R5bGU9ci5zdHlsZXMubGVuZ3RoPjA/ci5zdHlsZXNbMF06XFxcIlxcXCI7ci5kZWZhdWx0cz10O2RlbGV0ZSByLmNhbGNjaGFpbnM7cmV0dXJuIHJ9dmFyIFBhPWxyKFxcXCJUeXBlc1xcXCIsbnVsbCx7eG1sbnM6aHIuQ1QsXFxcInhtbG5zOnhzZFxcXCI6aHIueHNkLFxcXCJ4bWxuczp4c2lcXFwiOmhyLnhzaX0pO3ZhciBOYT1bW1xcXCJ4bWxcXFwiLFxcXCJhcHBsaWNhdGlvbi94bWxcXFwiXSxbXFxcImJpblxcXCIsXFxcImFwcGxpY2F0aW9uL3ZuZC5tcy1leGNlbC5zaGVldC5iaW5hcnkubWFjcm9FbmFibGVkLm1haW5cXFwiXSxbXFxcInZtbFxcXCIsXFxcImFwcGxpY2F0aW9uL3ZuZC5vcGVueG1sZm9ybWF0cy1vZmZpY2Vkb2N1bWVudC52bWxEcmF3aW5nXFxcIl0sW1xcXCJkYXRhXFxcIixcXFwiYXBwbGljYXRpb24vdm5kLm9wZW54bWxmb3JtYXRzLW9mZmljZWRvY3VtZW50Lm1vZGVsK2RhdGFcXFwiXSxbXFxcImJtcFxcXCIsXFxcImltYWdlL2JtcFxcXCJdLFtcXFwicG5nXFxcIixcXFwiaW1hZ2UvcG5nXFxcIl0sW1xcXCJnaWZcXFwiLFxcXCJpbWFnZS9naWZcXFwiXSxbXFxcImVtZlxcXCIsXFxcImltYWdlL3gtZW1mXFxcIl0sW1xcXCJ3bWZcXFwiLFxcXCJpbWFnZS94LXdtZlxcXCJdLFtcXFwianBnXFxcIixcXFwiaW1hZ2UvanBlZ1xcXCJdLFtcXFwianBlZ1xcXCIsXFxcImltYWdlL2pwZWdcXFwiXSxbXFxcInRpZlxcXCIsXFxcImltYWdlL3RpZmZcXFwiXSxbXFxcInRpZmZcXFwiLFxcXCJpbWFnZS90aWZmXFxcIl0sW1xcXCJwZGZcXFwiLFxcXCJhcHBsaWNhdGlvbi9wZGZcXFwiXSxbXFxcInJlbHNcXFwiLE9hLnJlbHNbMF1dXS5tYXAoZnVuY3Rpb24oZSl7cmV0dXJuIGxyKFxcXCJEZWZhdWx0XFxcIixudWxsLHtFeHRlbnNpb246ZVswXSxDb250ZW50VHlwZTplWzFdfSl9KTtmdW5jdGlvbiBMYShlLHIpe3ZhciB0PVtdLGE7dFt0Lmxlbmd0aF09QWU7dFt0Lmxlbmd0aF09UGE7dD10LmNvbmNhdChOYSk7dmFyIG49ZnVuY3Rpb24obil7aWYoZVtuXSYmZVtuXS5sZW5ndGg+MCl7YT1lW25dWzBdO3RbdC5sZW5ndGhdPWxyKFxcXCJPdmVycmlkZVxcXCIsbnVsbCx7UGFydE5hbWU6KGFbMF09PVxcXCIvXFxcIj9cXFwiXFxcIjpcXFwiL1xcXCIpK2EsQ29udGVudFR5cGU6UmFbbl1bci5ib29rVHlwZXx8XFxcInhsc3hcXFwiXX0pfX07dmFyIGk9ZnVuY3Rpb24oYSl7KGVbYV18fFtdKS5mb3JFYWNoKGZ1bmN0aW9uKGUpe3RbdC5sZW5ndGhdPWxyKFxcXCJPdmVycmlkZVxcXCIsbnVsbCx7UGFydE5hbWU6KGVbMF09PVxcXCIvXFxcIj9cXFwiXFxcIjpcXFwiL1xcXCIpK2UsQ29udGVudFR5cGU6UmFbYV1bci5ib29rVHlwZXx8XFxcInhsc3hcXFwiXX0pfSl9O3ZhciBzPWZ1bmN0aW9uKHIpeyhlW3JdfHxbXSkuZm9yRWFjaChmdW5jdGlvbihlKXt0W3QubGVuZ3RoXT1scihcXFwiT3ZlcnJpZGVcXFwiLG51bGwse1BhcnROYW1lOihlWzBdPT1cXFwiL1xcXCI/XFxcIlxcXCI6XFxcIi9cXFwiKStlLENvbnRlbnRUeXBlOk9hW3JdWzBdfSl9KX07bihcXFwid29ya2Jvb2tzXFxcIik7aShcXFwic2hlZXRzXFxcIik7aShcXFwiY2hhcnRzXFxcIik7cyhcXFwidGhlbWVzXFxcIik7W1xcXCJzdHJzXFxcIixcXFwic3R5bGVzXFxcIl0uZm9yRWFjaChuKTtbXFxcImNvcmVwcm9wc1xcXCIsXFxcImV4dHByb3BzXFxcIixcXFwiY3VzdHByb3BzXFxcIl0uZm9yRWFjaChzKTtzKFxcXCJ2YmFcXFwiKTtzKFxcXCJjb21tZW50c1xcXCIpO3MoXFxcImRyYXdpbmdzXFxcIik7aWYodC5sZW5ndGg+Mil7dFt0Lmxlbmd0aF09XFxcIjwvVHlwZXM+XFxcIjt0WzFdPXRbMV0ucmVwbGFjZShcXFwiLz5cXFwiLFxcXCI+XFxcIil9cmV0dXJuIHQuam9pbihcXFwiXFxcIil9dmFyIE1hPXtXQjpcXFwiaHR0cDovL3NjaGVtYXMub3BlbnhtbGZvcm1hdHMub3JnL29mZmljZURvY3VtZW50LzIwMDYvcmVsYXRpb25zaGlwcy9vZmZpY2VEb2N1bWVudFxcXCIsU0hFRVQ6XFxcImh0dHA6Ly9zaGVldGpzLm9wZW54bWxmb3JtYXRzLm9yZy9vZmZpY2VEb2N1bWVudC8yMDA2L3JlbGF0aW9uc2hpcHMvb2ZmaWNlRG9jdW1lbnRcXFwiLEhMSU5LOlxcXCJodHRwOi8vc2NoZW1hcy5vcGVueG1sZm9ybWF0cy5vcmcvb2ZmaWNlRG9jdW1lbnQvMjAwNi9yZWxhdGlvbnNoaXBzL2h5cGVybGlua1xcXCIsVk1MOlxcXCJodHRwOi8vc2NoZW1hcy5vcGVueG1sZm9ybWF0cy5vcmcvb2ZmaWNlRG9jdW1lbnQvMjAwNi9yZWxhdGlvbnNoaXBzL3ZtbERyYXdpbmdcXFwiLFhQQVRIOlxcXCJodHRwOi8vc2NoZW1hcy5vcGVueG1sZm9ybWF0cy5vcmcvb2ZmaWNlRG9jdW1lbnQvMjAwNi9yZWxhdGlvbnNoaXBzL2V4dGVybmFsTGlua1BhdGhcXFwiLFhNSVNTOlxcXCJodHRwOi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL29mZmljZS8yMDA2L3JlbGF0aW9uc2hpcHMveGxFeHRlcm5hbExpbmtQYXRoL3hsUGF0aE1pc3NpbmdcXFwiLFhMSU5LOlxcXCJodHRwOi8vc2NoZW1hcy5vcGVueG1sZm9ybWF0cy5vcmcvb2ZmaWNlRG9jdW1lbnQvMjAwNi9yZWxhdGlvbnNoaXBzL2V4dGVybmFsTGlua1xcXCIsQ1hNTDpcXFwiaHR0cDovL3NjaGVtYXMub3BlbnhtbGZvcm1hdHMub3JnL29mZmljZURvY3VtZW50LzIwMDYvcmVsYXRpb25zaGlwcy9jdXN0b21YbWxcXFwiLENYTUxQOlxcXCJodHRwOi8vc2NoZW1hcy5vcGVueG1sZm9ybWF0cy5vcmcvb2ZmaWNlRG9jdW1lbnQvMjAwNi9yZWxhdGlvbnNoaXBzL2N1c3RvbVhtbFByb3BzXFxcIixWQkE6XFxcImh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vb2ZmaWNlLzIwMDYvcmVsYXRpb25zaGlwcy92YmFQcm9qZWN0XFxcIn07ZnVuY3Rpb24gVWEoZSl7dmFyIHI9ZS5sYXN0SW5kZXhPZihcXFwiL1xcXCIpO3JldHVybiBlLnNsaWNlKDAscisxKStcXFwiX3JlbHMvXFxcIitlLnNsaWNlKHIrMSkrXFxcIi5yZWxzXFxcIn1mdW5jdGlvbiB6YShlLHIpe3ZhciB0PXtcXFwiIWlkXFxcIjp7fX07aWYoIWUpcmV0dXJuIHQ7aWYoci5jaGFyQXQoMCkhPT1cXFwiL1xcXCIpe3I9XFxcIi9cXFwiK3J9dmFyIGE9e307KGUubWF0Y2goUmUpfHxbXSkuZm9yRWFjaChmdW5jdGlvbihlKXt2YXIgbj1GZShlKTtpZihuWzBdPT09XFxcIjxSZWxhdGlvbnNoaXBcXFwiKXt2YXIgaT17fTtpLlR5cGU9bi5UeXBlO2kuVGFyZ2V0PW4uVGFyZ2V0O2kuSWQ9bi5JZDtpLlRhcmdldE1vZGU9bi5UYXJnZXRNb2RlO3ZhciBzPW4uVGFyZ2V0TW9kZT09PVxcXCJFeHRlcm5hbFxcXCI/bi5UYXJnZXQ6eGUobi5UYXJnZXQscik7dFtzXT1pO2Fbbi5JZF09aX19KTt0W1xcXCIhaWRcXFwiXT1hO3JldHVybiB0fWhyLlJFTFM9XFxcImh0dHA6Ly9zY2hlbWFzLm9wZW54bWxmb3JtYXRzLm9yZy9wYWNrYWdlLzIwMDYvcmVsYXRpb25zaGlwc1xcXCI7dmFyIEhhPWxyKFxcXCJSZWxhdGlvbnNoaXBzXFxcIixudWxsLHt4bWxuczpoci5SRUxTfSk7ZnVuY3Rpb24gV2EoZSl7dmFyIHI9W0FlLEhhXTtLKGVbXFxcIiFpZFxcXCJdKS5mb3JFYWNoKGZ1bmN0aW9uKHQpe3Jbci5sZW5ndGhdPWxyKFxcXCJSZWxhdGlvbnNoaXBcXFwiLG51bGwsZVtcXFwiIWlkXFxcIl1bdF0pfSk7aWYoci5sZW5ndGg+Mil7cltyLmxlbmd0aF09XFxcIjwvUmVsYXRpb25zaGlwcz5cXFwiO3JbMV09clsxXS5yZXBsYWNlKFxcXCIvPlxcXCIsXFxcIj5cXFwiKX1yZXR1cm4gci5qb2luKFxcXCJcXFwiKX12YXIgVmE9W01hLkhMSU5LLE1hLlhQQVRILE1hLlhNSVNTXTtmdW5jdGlvbiBYYShlLHIsdCxhLG4saSl7aWYoIW4pbj17fTtpZighZVtcXFwiIWlkXFxcIl0pZVtcXFwiIWlkXFxcIl09e307aWYocjwwKWZvcihyPTE7ZVtcXFwiIWlkXFxcIl1bXFxcInJJZFxcXCIrcl07KytyKXt9bi5JZD1cXFwicklkXFxcIityO24uVHlwZT1hO24uVGFyZ2V0PXQ7aWYoaSluLlRhcmdldE1vZGU9aTtlbHNlIGlmKFZhLmluZGV4T2Yobi5UeXBlKT4tMSluLlRhcmdldE1vZGU9XFxcIkV4dGVybmFsXFxcIjtpZihlW1xcXCIhaWRcXFwiXVtuLklkXSl0aHJvdyBuZXcgRXJyb3IoXFxcIkNhbm5vdCByZXdyaXRlIHJJZCBcXFwiK3IpO2VbXFxcIiFpZFxcXCJdW24uSWRdPW47ZVsoXFxcIi9cXFwiK24uVGFyZ2V0KS5yZXBsYWNlKFxcXCIvL1xcXCIsXFxcIi9cXFwiKV09bjtyZXR1cm4gcn12YXIgR2E9XFxcImFwcGxpY2F0aW9uL3ZuZC5vYXNpcy5vcGVuZG9jdW1lbnQuc3ByZWFkc2hlZXRcXFwiO2Z1bmN0aW9uIGphKGUscil7dmFyIHQ9c3AoZSk7dmFyIGE7dmFyIG47d2hpbGUoYT1mcC5leGVjKHQpKXN3aXRjaChhWzNdKXtjYXNlXFxcIm1hbmlmZXN0XFxcIjpicmVhaztjYXNlXFxcImZpbGUtZW50cnlcXFwiOm49RmUoYVswXSxmYWxzZSk7aWYobi5wYXRoPT1cXFwiL1xcXCImJm4udHlwZSE9PUdhKXRocm93IG5ldyBFcnJvcihcXFwiVGhpcyBPcGVuRG9jdW1lbnQgaXMgbm90IGEgc3ByZWFkc2hlZXRcXFwiKTticmVhaztjYXNlXFxcImVuY3J5cHRpb24tZGF0YVxcXCI6O2Nhc2VcXFwiYWxnb3JpdGhtXFxcIjo7Y2FzZVxcXCJzdGFydC1rZXktZ2VuZXJhdGlvblxcXCI6O2Nhc2VcXFwia2V5LWRlcml2YXRpb25cXFwiOnRocm93IG5ldyBFcnJvcihcXFwiVW5zdXBwb3J0ZWQgT0RTIEVuY3J5cHRpb25cXFwiKTtkZWZhdWx0OmlmKHImJnIuV1RGKXRocm93IGE7fX1mdW5jdGlvbiBLYShlKXt2YXIgcj1bQWVdO3IucHVzaCgnPG1hbmlmZXN0Om1hbmlmZXN0IHhtbG5zOm1hbmlmZXN0PVxcXCJ1cm46b2FzaXM6bmFtZXM6dGM6b3BlbmRvY3VtZW50OnhtbG5zOm1hbmlmZXN0OjEuMFxcXCIgbWFuaWZlc3Q6dmVyc2lvbj1cXFwiMS4yXFxcIj5cXFxcbicpO3IucHVzaCgnICA8bWFuaWZlc3Q6ZmlsZS1lbnRyeSBtYW5pZmVzdDpmdWxsLXBhdGg9XFxcIi9cXFwiIG1hbmlmZXN0OnZlcnNpb249XFxcIjEuMlxcXCIgbWFuaWZlc3Q6bWVkaWEtdHlwZT1cXFwiYXBwbGljYXRpb24vdm5kLm9hc2lzLm9wZW5kb2N1bWVudC5zcHJlYWRzaGVldFxcXCIvPlxcXFxuJyk7Zm9yKHZhciB0PTA7dDxlLmxlbmd0aDsrK3Qpci5wdXNoKCcgIDxtYW5pZmVzdDpmaWxlLWVudHJ5IG1hbmlmZXN0OmZ1bGwtcGF0aD1cXFwiJytlW3RdWzBdKydcXFwiIG1hbmlmZXN0Om1lZGlhLXR5cGU9XFxcIicrZVt0XVsxXSsnXFxcIi8+XFxcXG4nKTtyLnB1c2goXFxcIjwvbWFuaWZlc3Q6bWFuaWZlc3Q+XFxcIik7cmV0dXJuIHIuam9pbihcXFwiXFxcIil9ZnVuY3Rpb24gJGEoZSxyLHQpe3JldHVyblsnICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD1cXFwiJytlKydcXFwiPlxcXFxuJywnICAgIDxyZGY6dHlwZSByZGY6cmVzb3VyY2U9XFxcImh0dHA6Ly9kb2NzLm9hc2lzLW9wZW4ub3JnL25zL29mZmljZS8xLjIvbWV0YS8nKyh0fHxcXFwib2RmXFxcIikrXFxcIiNcXFwiK3IrJ1xcXCIvPlxcXFxuJyxcXFwiICA8L3JkZjpEZXNjcmlwdGlvbj5cXFxcblxcXCJdLmpvaW4oXFxcIlxcXCIpfWZ1bmN0aW9uIFlhKGUscil7cmV0dXJuWycgIDxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PVxcXCInK2UrJ1xcXCI+XFxcXG4nLCcgICAgPG5zMDpoYXNQYXJ0IHhtbG5zOm5zMD1cXFwiaHR0cDovL2RvY3Mub2FzaXMtb3Blbi5vcmcvbnMvb2ZmaWNlLzEuMi9tZXRhL3BrZyNcXFwiIHJkZjpyZXNvdXJjZT1cXFwiJytyKydcXFwiLz5cXFxcbicsXFxcIiAgPC9yZGY6RGVzY3JpcHRpb24+XFxcXG5cXFwiXS5qb2luKFxcXCJcXFwiKX1mdW5jdGlvbiBaYShlKXt2YXIgcj1bQWVdO3IucHVzaCgnPHJkZjpSREYgeG1sbnM6cmRmPVxcXCJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjXFxcIj5cXFxcbicpO2Zvcih2YXIgdD0wO3QhPWUubGVuZ3RoOysrdCl7ci5wdXNoKCRhKGVbdF1bMF0sZVt0XVsxXSkpO3IucHVzaChZYShcXFwiXFxcIixlW3RdWzBdKSl9ci5wdXNoKCRhKFxcXCJcXFwiLFxcXCJEb2N1bWVudFxcXCIsXFxcInBrZ1xcXCIpKTtyLnB1c2goXFxcIjwvcmRmOlJERj5cXFwiKTtyZXR1cm4gci5qb2luKFxcXCJcXFwiKX12YXIgSmE9ZnVuY3Rpb24oKXt2YXIgcj0nPD94bWwgdmVyc2lvbj1cXFwiMS4wXFxcIiBlbmNvZGluZz1cXFwiVVRGLThcXFwiIHN0YW5kYWxvbmU9XFxcInllc1xcXCI/PjxvZmZpY2U6ZG9jdW1lbnQtbWV0YSB4bWxuczpvZmZpY2U9XFxcInVybjpvYXNpczpuYW1lczp0YzpvcGVuZG9jdW1lbnQ6eG1sbnM6b2ZmaWNlOjEuMFxcXCIgeG1sbnM6bWV0YT1cXFwidXJuOm9hc2lzOm5hbWVzOnRjOm9wZW5kb2N1bWVudDp4bWxuczptZXRhOjEuMFxcXCIgeG1sbnM6ZGM9XFxcImh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvXFxcIiB4bWxuczp4bGluaz1cXFwiaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGlua1xcXCIgb2ZmaWNlOnZlcnNpb249XFxcIjEuMlxcXCI+PG9mZmljZTptZXRhPjxtZXRhOmdlbmVyYXRvcj5TaGVldCcrXFxcIkpTIFxcXCIrZS52ZXJzaW9uK1xcXCI8L21ldGE6Z2VuZXJhdG9yPjwvb2ZmaWNlOm1ldGE+PC9vZmZpY2U6ZG9jdW1lbnQtbWV0YT5cXFwiO3JldHVybiBmdW5jdGlvbiB0KCl7cmV0dXJuIHJ9fSgpO3ZhciBRYT1bW1xcXCJjcDpjYXRlZ29yeVxcXCIsXFxcIkNhdGVnb3J5XFxcIl0sW1xcXCJjcDpjb250ZW50U3RhdHVzXFxcIixcXFwiQ29udGVudFN0YXR1c1xcXCJdLFtcXFwiY3A6a2V5d29yZHNcXFwiLFxcXCJLZXl3b3Jkc1xcXCJdLFtcXFwiY3A6bGFzdE1vZGlmaWVkQnlcXFwiLFxcXCJMYXN0QXV0aG9yXFxcIl0sW1xcXCJjcDpsYXN0UHJpbnRlZFxcXCIsXFxcIkxhc3RQcmludGVkXFxcIl0sW1xcXCJjcDpyZXZpc2lvblxcXCIsXFxcIlJldk51bWJlclxcXCJdLFtcXFwiY3A6dmVyc2lvblxcXCIsXFxcIlZlcnNpb25cXFwiXSxbXFxcImRjOmNyZWF0b3JcXFwiLFxcXCJBdXRob3JcXFwiXSxbXFxcImRjOmRlc2NyaXB0aW9uXFxcIixcXFwiQ29tbWVudHNcXFwiXSxbXFxcImRjOmlkZW50aWZpZXJcXFwiLFxcXCJJZGVudGlmaWVyXFxcIl0sW1xcXCJkYzpsYW5ndWFnZVxcXCIsXFxcIkxhbmd1YWdlXFxcIl0sW1xcXCJkYzpzdWJqZWN0XFxcIixcXFwiU3ViamVjdFxcXCJdLFtcXFwiZGM6dGl0bGVcXFwiLFxcXCJUaXRsZVxcXCJdLFtcXFwiZGN0ZXJtczpjcmVhdGVkXFxcIixcXFwiQ3JlYXRlZERhdGVcXFwiLFxcXCJkYXRlXFxcIl0sW1xcXCJkY3Rlcm1zOm1vZGlmaWVkXFxcIixcXFwiTW9kaWZpZWREYXRlXFxcIixcXFwiZGF0ZVxcXCJdXTtoci5DT1JFX1BST1BTPVxcXCJodHRwOi8vc2NoZW1hcy5vcGVueG1sZm9ybWF0cy5vcmcvcGFja2FnZS8yMDA2L21ldGFkYXRhL2NvcmUtcHJvcGVydGllc1xcXCI7TWEuQ09SRV9QUk9QUz1cXFwiaHR0cDovL3NjaGVtYXMub3BlbnhtbGZvcm1hdHMub3JnL3BhY2thZ2UvMjAwNi9yZWxhdGlvbnNoaXBzL21ldGFkYXRhL2NvcmUtcHJvcGVydGllc1xcXCI7dmFyIHFhPWZ1bmN0aW9uKCl7dmFyIGU9bmV3IEFycmF5KFFhLmxlbmd0aCk7Zm9yKHZhciByPTA7cjxRYS5sZW5ndGg7KytyKXt2YXIgdD1RYVtyXTt2YXIgYT1cXFwiKD86XFxcIit0WzBdLnNsaWNlKDAsdFswXS5pbmRleE9mKFxcXCI6XFxcIikpK1xcXCI6KVxcXCIrdFswXS5zbGljZSh0WzBdLmluZGV4T2YoXFxcIjpcXFwiKSsxKTtlW3JdPW5ldyBSZWdFeHAoXFxcIjxcXFwiK2ErXFxcIltePl0qPihbXFxcXFxcXFxzXFxcXFxcXFxTXSo/KTwvXFxcIithK1xcXCI+XFxcIil9cmV0dXJuIGV9KCk7ZnVuY3Rpb24gZW4oZSl7dmFyIHI9e307ZT1ZZShlKTtmb3IodmFyIHQ9MDt0PFFhLmxlbmd0aDsrK3Qpe3ZhciBhPVFhW3RdLG49ZS5tYXRjaChxYVt0XSk7aWYobiE9bnVsbCYmbi5sZW5ndGg+MClyW2FbMV1dPU1lKG5bMV0pO2lmKGFbMl09PT1cXFwiZGF0ZVxcXCImJnJbYVsxXV0pclthWzFdXT1vZShyW2FbMV1dKX1yZXR1cm4gcn12YXIgcm49bHIoXFxcImNwOmNvcmVQcm9wZXJ0aWVzXFxcIixudWxsLHtcXFwieG1sbnM6Y3BcXFwiOmhyLkNPUkVfUFJPUFMsXFxcInhtbG5zOmRjXFxcIjpoci5kYyxcXFwieG1sbnM6ZGN0ZXJtc1xcXCI6aHIuZGN0ZXJtcyxcXFwieG1sbnM6ZGNtaXR5cGVcXFwiOmhyLmRjbWl0eXBlLFxcXCJ4bWxuczp4c2lcXFwiOmhyLnhzaX0pO2Z1bmN0aW9uIHRuKGUscix0LGEsbil7aWYobltlXSE9bnVsbHx8cj09bnVsbHx8cj09PVxcXCJcXFwiKXJldHVybjtuW2VdPXI7cj1IZShyKTthW2EubGVuZ3RoXT10P2xyKGUscix0KTpmcihlLHIpfWZ1bmN0aW9uIGFuKGUscil7dmFyIHQ9cnx8e307dmFyIGE9W0FlLHJuXSxuPXt9O2lmKCFlJiYhdC5Qcm9wcylyZXR1cm4gYS5qb2luKFxcXCJcXFwiKTtpZihlKXtpZihlLkNyZWF0ZWREYXRlIT1udWxsKXRuKFxcXCJkY3Rlcm1zOmNyZWF0ZWRcXFwiLHR5cGVvZiBlLkNyZWF0ZWREYXRlPT09XFxcInN0cmluZ1xcXCI/ZS5DcmVhdGVkRGF0ZTpjcihlLkNyZWF0ZWREYXRlLHQuV1RGKSx7XFxcInhzaTp0eXBlXFxcIjpcXFwiZGN0ZXJtczpXM0NEVEZcXFwifSxhLG4pO2lmKGUuTW9kaWZpZWREYXRlIT1udWxsKXRuKFxcXCJkY3Rlcm1zOm1vZGlmaWVkXFxcIix0eXBlb2YgZS5Nb2RpZmllZERhdGU9PT1cXFwic3RyaW5nXFxcIj9lLk1vZGlmaWVkRGF0ZTpjcihlLk1vZGlmaWVkRGF0ZSx0LldURikse1xcXCJ4c2k6dHlwZVxcXCI6XFxcImRjdGVybXM6VzNDRFRGXFxcIn0sYSxuKX1mb3IodmFyIGk9MDtpIT1RYS5sZW5ndGg7KytpKXt2YXIgcz1RYVtpXTt2YXIgZj10LlByb3BzJiZ0LlByb3BzW3NbMV1dIT1udWxsP3QuUHJvcHNbc1sxXV06ZT9lW3NbMV1dOm51bGw7aWYoZj09PXRydWUpZj1cXFwiMVxcXCI7ZWxzZSBpZihmPT09ZmFsc2UpZj1cXFwiMFxcXCI7ZWxzZSBpZih0eXBlb2YgZj09XFxcIm51bWJlclxcXCIpZj1TdHJpbmcoZik7aWYoZiE9bnVsbCl0bihzWzBdLGYsbnVsbCxhLG4pfWlmKGEubGVuZ3RoPjIpe2FbYS5sZW5ndGhdPVxcXCI8L2NwOmNvcmVQcm9wZXJ0aWVzPlxcXCI7YVsxXT1hWzFdLnJlcGxhY2UoXFxcIi8+XFxcIixcXFwiPlxcXCIpfXJldHVybiBhLmpvaW4oXFxcIlxcXCIpfXZhciBubj1bW1xcXCJBcHBsaWNhdGlvblxcXCIsXFxcIkFwcGxpY2F0aW9uXFxcIixcXFwic3RyaW5nXFxcIl0sW1xcXCJBcHBWZXJzaW9uXFxcIixcXFwiQXBwVmVyc2lvblxcXCIsXFxcInN0cmluZ1xcXCJdLFtcXFwiQ29tcGFueVxcXCIsXFxcIkNvbXBhbnlcXFwiLFxcXCJzdHJpbmdcXFwiXSxbXFxcIkRvY1NlY3VyaXR5XFxcIixcXFwiRG9jU2VjdXJpdHlcXFwiLFxcXCJzdHJpbmdcXFwiXSxbXFxcIk1hbmFnZXJcXFwiLFxcXCJNYW5hZ2VyXFxcIixcXFwic3RyaW5nXFxcIl0sW1xcXCJIeXBlcmxpbmtzQ2hhbmdlZFxcXCIsXFxcIkh5cGVybGlua3NDaGFuZ2VkXFxcIixcXFwiYm9vbFxcXCJdLFtcXFwiU2hhcmVkRG9jXFxcIixcXFwiU2hhcmVkRG9jXFxcIixcXFwiYm9vbFxcXCJdLFtcXFwiTGlua3NVcFRvRGF0ZVxcXCIsXFxcIkxpbmtzVXBUb0RhdGVcXFwiLFxcXCJib29sXFxcIl0sW1xcXCJTY2FsZUNyb3BcXFwiLFxcXCJTY2FsZUNyb3BcXFwiLFxcXCJib29sXFxcIl0sW1xcXCJIZWFkaW5nUGFpcnNcXFwiLFxcXCJIZWFkaW5nUGFpcnNcXFwiLFxcXCJyYXdcXFwiXSxbXFxcIlRpdGxlc09mUGFydHNcXFwiLFxcXCJUaXRsZXNPZlBhcnRzXFxcIixcXFwicmF3XFxcIl1dO2hyLkVYVF9QUk9QUz1cXFwiaHR0cDovL3NjaGVtYXMub3BlbnhtbGZvcm1hdHMub3JnL29mZmljZURvY3VtZW50LzIwMDYvZXh0ZW5kZWQtcHJvcGVydGllc1xcXCI7TWEuRVhUX1BST1BTPVxcXCJodHRwOi8vc2NoZW1hcy5vcGVueG1sZm9ybWF0cy5vcmcvb2ZmaWNlRG9jdW1lbnQvMjAwNi9yZWxhdGlvbnNoaXBzL2V4dGVuZGVkLXByb3BlcnRpZXNcXFwiO3ZhciBzbj1bXFxcIldvcmtzaGVldHNcXFwiLFxcXCJTaGVldE5hbWVzXFxcIixcXFwiTmFtZWRSYW5nZXNcXFwiLFxcXCJEZWZpbmVkTmFtZXNcXFwiLFxcXCJDaGFydHNoZWV0c1xcXCIsXFxcIkNoYXJ0TmFtZXNcXFwiXTtmdW5jdGlvbiBmbihlLHIsdCxhKXt2YXIgbj1bXTtpZih0eXBlb2YgZT09XFxcInN0cmluZ1xcXCIpbj1pcihlLGEpO2Vsc2UgZm9yKHZhciBpPTA7aTxlLmxlbmd0aDsrK2kpbj1uLmNvbmNhdChlW2ldLm1hcChmdW5jdGlvbihlKXtyZXR1cm57djplfX0pKTt2YXIgcz10eXBlb2Ygcj09XFxcInN0cmluZ1xcXCI/aXIocixhKS5tYXAoZnVuY3Rpb24oZSl7cmV0dXJuIGUudn0pOnI7dmFyIGY9MCxvPTA7aWYocy5sZW5ndGg+MClmb3IodmFyIGw9MDtsIT09bi5sZW5ndGg7bCs9Mil7bz0rbltsKzFdLnY7c3dpdGNoKG5bbF0udil7Y2FzZVxcXCJXb3Jrc2hlZXRzXFxcIjo7Y2FzZVxcXCLlt6XkvZzooahcXFwiOjtjYXNlXFxcItCb0LjRgdGC0YtcXFwiOjtjYXNlXFxcItij2YjYsdin2YIg2KfZhNi52YXZhFxcXCI6O2Nhc2VcXFwi44Ov44O844Kv44K344O844OIXFxcIjo7Y2FzZVxcXCLXktec15nXldeg15XXqiDXoteR15XXk9eUXFxcIjo7Y2FzZVxcXCJBcmJlaXRzYmzDpHR0ZXJcXFwiOjtjYXNlXFxcIsOHYWzEscWfbWEgU2F5ZmFsYXLEsVxcXCI6O2Nhc2VcXFwiRmV1aWxsZXMgZGUgY2FsY3VsXFxcIjo7Y2FzZVxcXCJGb2dsaSBkaSBsYXZvcm9cXFwiOjtjYXNlXFxcIkZvbGhhcyBkZSBjw6FsY3Vsb1xcXCI6O2Nhc2VcXFwiUGxhbmlsaGFzXFxcIjo7Y2FzZVxcXCJSZWduZWFya1xcXCI6O2Nhc2VcXFwiSG9qYXMgZGUgY8OhbGN1bG9cXFwiOjtjYXNlXFxcIldlcmtibGFkZW5cXFwiOnQuV29ya3NoZWV0cz1vO3QuU2hlZXROYW1lcz1zLnNsaWNlKGYsZitvKTticmVhaztjYXNlXFxcIk5hbWVkIFJhbmdlc1xcXCI6O2Nhc2VcXFwiUmFuZ29zIGNvbiBub21icmVcXFwiOjtjYXNlXFxcIuWQjeWJjeS7mOOBjeS4gOimp1xcXCI6O2Nhc2VcXFwiQmVuYW5udGUgQmVyZWljaGVcXFwiOjtjYXNlXFxcIk5hdm5naXZuZSBvbXLDpWRlclxcXCI6dC5OYW1lZFJhbmdlcz1vO3QuRGVmaW5lZE5hbWVzPXMuc2xpY2UoZixmK28pO2JyZWFrO2Nhc2VcXFwiQ2hhcnRzXFxcIjo7Y2FzZVxcXCJEaWFncmFtbWVcXFwiOnQuQ2hhcnRzaGVldHM9bzt0LkNoYXJ0TmFtZXM9cy5zbGljZShmLGYrbyk7YnJlYWs7fWYrPW99fWZ1bmN0aW9uIG9uKGUscix0KXt2YXIgYT17fTtpZighcilyPXt9O2U9WWUoZSk7bm4uZm9yRWFjaChmdW5jdGlvbih0KXt2YXIgbj0oZS5tYXRjaChlcih0WzBdKSl8fFtdKVsxXTtzd2l0Y2godFsyXSl7Y2FzZVxcXCJzdHJpbmdcXFwiOmlmKG4pclt0WzFdXT1NZShuKTticmVhaztjYXNlXFxcImJvb2xcXFwiOnJbdFsxXV09bj09PVxcXCJ0cnVlXFxcIjticmVhaztjYXNlXFxcInJhd1xcXCI6dmFyIGk9ZS5tYXRjaChuZXcgUmVnRXhwKFxcXCI8XFxcIit0WzBdK1xcXCJbXj5dKj4oW1xcXFxcXFxcc1xcXFxcXFxcU10qPyk8L1xcXCIrdFswXStcXFwiPlxcXCIpKTtpZihpJiZpLmxlbmd0aD4wKWFbdFsxXV09aVsxXTticmVhazt9fSk7aWYoYS5IZWFkaW5nUGFpcnMmJmEuVGl0bGVzT2ZQYXJ0cylmbihhLkhlYWRpbmdQYWlycyxhLlRpdGxlc09mUGFydHMscix0KTtyZXR1cm4gcn12YXIgbG49bHIoXFxcIlByb3BlcnRpZXNcXFwiLG51bGwse3htbG5zOmhyLkVYVF9QUk9QUyxcXFwieG1sbnM6dnRcXFwiOmhyLnZ0fSk7ZnVuY3Rpb24gY24oZSl7dmFyIHI9W10sdD1scjtpZighZSllPXt9O2UuQXBwbGljYXRpb249XFxcIlNoZWV0SlNcXFwiO3Jbci5sZW5ndGhdPUFlO3Jbci5sZW5ndGhdPWxuO25uLmZvckVhY2goZnVuY3Rpb24oYSl7aWYoZVthWzFdXT09PXVuZGVmaW5lZClyZXR1cm47dmFyIG47c3dpdGNoKGFbMl0pe2Nhc2VcXFwic3RyaW5nXFxcIjpuPUhlKFN0cmluZyhlW2FbMV1dKSk7YnJlYWs7Y2FzZVxcXCJib29sXFxcIjpuPWVbYVsxXV0/XFxcInRydWVcXFwiOlxcXCJmYWxzZVxcXCI7YnJlYWs7fWlmKG4hPT11bmRlZmluZWQpcltyLmxlbmd0aF09dChhWzBdLG4pfSk7cltyLmxlbmd0aF09dChcXFwiSGVhZGluZ1BhaXJzXFxcIix0KFxcXCJ2dDp2ZWN0b3JcXFwiLHQoXFxcInZ0OnZhcmlhbnRcXFwiLFxcXCI8dnQ6bHBzdHI+V29ya3NoZWV0czwvdnQ6bHBzdHI+XFxcIikrdChcXFwidnQ6dmFyaWFudFxcXCIsdChcXFwidnQ6aTRcXFwiLFN0cmluZyhlLldvcmtzaGVldHMpKSkse3NpemU6MixiYXNlVHlwZTpcXFwidmFyaWFudFxcXCJ9KSk7cltyLmxlbmd0aF09dChcXFwiVGl0bGVzT2ZQYXJ0c1xcXCIsdChcXFwidnQ6dmVjdG9yXFxcIixlLlNoZWV0TmFtZXMubWFwKGZ1bmN0aW9uKGUpe3JldHVyblxcXCI8dnQ6bHBzdHI+XFxcIitIZShlKStcXFwiPC92dDpscHN0cj5cXFwifSkuam9pbihcXFwiXFxcIikse3NpemU6ZS5Xb3Jrc2hlZXRzLGJhc2VUeXBlOlxcXCJscHN0clxcXCJ9KSk7aWYoci5sZW5ndGg+Mil7cltyLmxlbmd0aF09XFxcIjwvUHJvcGVydGllcz5cXFwiO3JbMV09clsxXS5yZXBsYWNlKFxcXCIvPlxcXCIsXFxcIj5cXFwiKX1yZXR1cm4gci5qb2luKFxcXCJcXFwiKX1oci5DVVNUX1BST1BTPVxcXCJodHRwOi8vc2NoZW1hcy5vcGVueG1sZm9ybWF0cy5vcmcvb2ZmaWNlRG9jdW1lbnQvMjAwNi9jdXN0b20tcHJvcGVydGllc1xcXCI7TWEuQ1VTVF9QUk9QUz1cXFwiaHR0cDovL3NjaGVtYXMub3BlbnhtbGZvcm1hdHMub3JnL29mZmljZURvY3VtZW50LzIwMDYvcmVsYXRpb25zaGlwcy9jdXN0b20tcHJvcGVydGllc1xcXCI7dmFyIHVuPS88W14+XSs+W148XSovZztmdW5jdGlvbiBobihlLHIpe3ZhciB0PXt9LGE9XFxcIlxcXCI7dmFyIG49ZS5tYXRjaCh1bik7aWYobilmb3IodmFyIGk9MDtpIT1uLmxlbmd0aDsrK2kpe3ZhciBzPW5baV0sZj1GZShzKTtzd2l0Y2goZlswXSl7Y2FzZVxcXCI8P3htbFxcXCI6YnJlYWs7Y2FzZVxcXCI8UHJvcGVydGllc1xcXCI6YnJlYWs7Y2FzZVxcXCI8cHJvcGVydHlcXFwiOmE9TWUoZi5uYW1lKTticmVhaztjYXNlXFxcIjwvcHJvcGVydHk+XFxcIjphPW51bGw7YnJlYWs7ZGVmYXVsdDppZihzLmluZGV4T2YoXFxcIjx2dDpcXFwiKT09PTApe3ZhciBvPXMuc3BsaXQoXFxcIj5cXFwiKTt2YXIgbD1vWzBdLnNsaWNlKDQpLGM9b1sxXTtzd2l0Y2gobCl7Y2FzZVxcXCJscHN0clxcXCI6O2Nhc2VcXFwiYnN0clxcXCI6O2Nhc2VcXFwibHB3c3RyXFxcIjp0W2FdPU1lKGMpO2JyZWFrO2Nhc2VcXFwiYm9vbFxcXCI6dFthXT0kZShjKTticmVhaztjYXNlXFxcImkxXFxcIjo7Y2FzZVxcXCJpMlxcXCI6O2Nhc2VcXFwiaTRcXFwiOjtjYXNlXFxcImk4XFxcIjo7Y2FzZVxcXCJpbnRcXFwiOjtjYXNlXFxcInVpbnRcXFwiOnRbYV09cGFyc2VJbnQoYywxMCk7YnJlYWs7Y2FzZVxcXCJyNFxcXCI6O2Nhc2VcXFwicjhcXFwiOjtjYXNlXFxcImRlY2ltYWxcXFwiOnRbYV09cGFyc2VGbG9hdChjKTticmVhaztjYXNlXFxcImZpbGV0aW1lXFxcIjo7Y2FzZVxcXCJkYXRlXFxcIjp0W2FdPW9lKGMpO2JyZWFrO2Nhc2VcXFwiY3lcXFwiOjtjYXNlXFxcImVycm9yXFxcIjp0W2FdPU1lKGMpO2JyZWFrO2RlZmF1bHQ6aWYobC5zbGljZSgtMSk9PVxcXCIvXFxcIilicmVhaztpZihyLldURiYmdHlwZW9mIGNvbnNvbGUhPT1cXFwidW5kZWZpbmVkXFxcIiljb25zb2xlLndhcm4oXFxcIlVuZXhwZWN0ZWRcXFwiLHMsbCxvKTt9fWVsc2UgaWYocy5zbGljZSgwLDIpPT09XFxcIjwvXFxcIil7fWVsc2UgaWYoci5XVEYpdGhyb3cgbmV3IEVycm9yKHMpO319cmV0dXJuIHR9dmFyIGRuPWxyKFxcXCJQcm9wZXJ0aWVzXFxcIixudWxsLHt4bWxuczpoci5DVVNUX1BST1BTLFxcXCJ4bWxuczp2dFxcXCI6aHIudnR9KTtmdW5jdGlvbiB2bihlKXt2YXIgcj1bQWUsZG5dO2lmKCFlKXJldHVybiByLmpvaW4oXFxcIlxcXCIpO3ZhciB0PTE7SyhlKS5mb3JFYWNoKGZ1bmN0aW9uIGEobil7Kyt0O3Jbci5sZW5ndGhdPWxyKFxcXCJwcm9wZXJ0eVxcXCIsdXIoZVtuXSx0cnVlKSx7Zm10aWQ6XFxcIntENUNERDUwNS0yRTlDLTEwMUItOTM5Ny0wODAwMkIyQ0Y5QUV9XFxcIixwaWQ6dCxuYW1lOkhlKG4pfSl9KTtpZihyLmxlbmd0aD4yKXtyW3IubGVuZ3RoXT1cXFwiPC9Qcm9wZXJ0aWVzPlxcXCI7clsxXT1yWzFdLnJlcGxhY2UoXFxcIi8+XFxcIixcXFwiPlxcXCIpfXJldHVybiByLmpvaW4oXFxcIlxcXCIpfXZhciBwbj17VGl0bGU6XFxcIlRpdGxlXFxcIixTdWJqZWN0OlxcXCJTdWJqZWN0XFxcIixBdXRob3I6XFxcIkF1dGhvclxcXCIsS2V5d29yZHM6XFxcIktleXdvcmRzXFxcIixDb21tZW50czpcXFwiRGVzY3JpcHRpb25cXFwiLExhc3RBdXRob3I6XFxcIkxhc3RBdXRob3JcXFwiLFJldk51bWJlcjpcXFwiUmV2aXNpb25cXFwiLEFwcGxpY2F0aW9uOlxcXCJBcHBOYW1lXFxcIixMYXN0UHJpbnRlZDpcXFwiTGFzdFByaW50ZWRcXFwiLENyZWF0ZWREYXRlOlxcXCJDcmVhdGVkXFxcIixNb2RpZmllZERhdGU6XFxcIkxhc3RTYXZlZFxcXCIsQ2F0ZWdvcnk6XFxcIkNhdGVnb3J5XFxcIixNYW5hZ2VyOlxcXCJNYW5hZ2VyXFxcIixDb21wYW55OlxcXCJDb21wYW55XFxcIixBcHBWZXJzaW9uOlxcXCJWZXJzaW9uXFxcIixDb250ZW50U3RhdHVzOlxcXCJDb250ZW50U3RhdHVzXFxcIixJZGVudGlmaWVyOlxcXCJJZGVudGlmaWVyXFxcIixMYW5ndWFnZTpcXFwiTGFuZ3VhZ2VcXFwifTt2YXIgbW49Wihwbik7ZnVuY3Rpb24gYm4oZSxyLHQpe3I9bW5bcl18fHI7ZVtyXT10fWZ1bmN0aW9uIGduKGUscil7dmFyIHQ9W107SyhwbikubWFwKGZ1bmN0aW9uKGUpe2Zvcih2YXIgcj0wO3I8UWEubGVuZ3RoOysrcilpZihRYVtyXVsxXT09ZSlyZXR1cm4gUWFbcl07Zm9yKHI9MDtyPG5uLmxlbmd0aDsrK3IpaWYobm5bcl1bMV09PWUpcmV0dXJuIG5uW3JdO3Rocm93IGV9KS5mb3JFYWNoKGZ1bmN0aW9uKGEpe2lmKGVbYVsxXV09PW51bGwpcmV0dXJuO3ZhciBuPXImJnIuUHJvcHMmJnIuUHJvcHNbYVsxXV0hPW51bGw/ci5Qcm9wc1thWzFdXTplW2FbMV1dO3N3aXRjaChhWzJdKXtjYXNlXFxcImRhdGVcXFwiOm49bmV3IERhdGUobikudG9JU09TdHJpbmcoKS5yZXBsYWNlKC9cXFxcLlxcXFxkKlovLFxcXCJaXFxcIik7YnJlYWs7fWlmKHR5cGVvZiBuPT1cXFwibnVtYmVyXFxcIiluPVN0cmluZyhuKTtlbHNlIGlmKG49PT10cnVlfHxuPT09ZmFsc2Upe249bj9cXFwiMVxcXCI6XFxcIjBcXFwifWVsc2UgaWYobiBpbnN0YW5jZW9mIERhdGUpbj1uZXcgRGF0ZShuKS50b0lTT1N0cmluZygpLnJlcGxhY2UoL1xcXFwuXFxcXGQqWi8sXFxcIlxcXCIpO3QucHVzaChmcihwblthWzFdXXx8YVsxXSxuKSl9KTtyZXR1cm4gbHIoXFxcIkRvY3VtZW50UHJvcGVydGllc1xcXCIsdC5qb2luKFxcXCJcXFwiKSx7eG1sbnM6ZHIub30pfWZ1bmN0aW9uIHduKGUscil7dmFyIHQ9W1xcXCJXb3Jrc2hlZXRzXFxcIixcXFwiU2hlZXROYW1lc1xcXCJdO3ZhciBhPVxcXCJDdXN0b21Eb2N1bWVudFByb3BlcnRpZXNcXFwiO3ZhciBuPVtdO2lmKGUpSyhlKS5mb3JFYWNoKGZ1bmN0aW9uKHIpe2lmKCFPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoZSxyKSlyZXR1cm47Zm9yKHZhciBhPTA7YTxRYS5sZW5ndGg7KythKWlmKHI9PVFhW2FdWzFdKXJldHVybjtmb3IoYT0wO2E8bm4ubGVuZ3RoOysrYSlpZihyPT1ublthXVsxXSlyZXR1cm47Zm9yKGE9MDthPHQubGVuZ3RoOysrYSlpZihyPT10W2FdKXJldHVybjt2YXIgaT1lW3JdO3ZhciBzPVxcXCJzdHJpbmdcXFwiO2lmKHR5cGVvZiBpPT1cXFwibnVtYmVyXFxcIil7cz1cXFwiZmxvYXRcXFwiO2k9U3RyaW5nKGkpfWVsc2UgaWYoaT09PXRydWV8fGk9PT1mYWxzZSl7cz1cXFwiYm9vbGVhblxcXCI7aT1pP1xcXCIxXFxcIjpcXFwiMFxcXCJ9ZWxzZSBpPVN0cmluZyhpKTtuLnB1c2gobHIoV2UociksaSx7XFxcImR0OmR0XFxcIjpzfSkpfSk7aWYocilLKHIpLmZvckVhY2goZnVuY3Rpb24odCl7aWYoIU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChyLHQpKXJldHVybjtpZihlJiZPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoZSx0KSlyZXR1cm47dmFyIGE9clt0XTt2YXIgaT1cXFwic3RyaW5nXFxcIjtpZih0eXBlb2YgYT09XFxcIm51bWJlclxcXCIpe2k9XFxcImZsb2F0XFxcIjthPVN0cmluZyhhKX1lbHNlIGlmKGE9PT10cnVlfHxhPT09ZmFsc2Upe2k9XFxcImJvb2xlYW5cXFwiO2E9YT9cXFwiMVxcXCI6XFxcIjBcXFwifWVsc2UgaWYoYSBpbnN0YW5jZW9mIERhdGUpe2k9XFxcImRhdGVUaW1lLnR6XFxcIjthPWEudG9JU09TdHJpbmcoKX1lbHNlIGE9U3RyaW5nKGEpO24ucHVzaChscihXZSh0KSxhLHtcXFwiZHQ6ZHRcXFwiOml9KSl9KTtyZXR1cm5cXFwiPFxcXCIrYSsnIHhtbG5zPVxcXCInK2RyLm8rJ1xcXCI+JytuLmpvaW4oXFxcIlxcXCIpK1xcXCI8L1xcXCIrYStcXFwiPlxcXCJ9ZnVuY3Rpb24ga24oZSl7dmFyIHI9ZS5fUig0KSx0PWUuX1IoNCk7cmV0dXJuIG5ldyBEYXRlKCh0LzFlNypNYXRoLnBvdygyLDMyKStyLzFlNy0xMTY0NDQ3MzYwMCkqMWUzKS50b0lTT1N0cmluZygpLnJlcGxhY2UoL1xcXFwuMDAwLyxcXFwiXFxcIil9ZnVuY3Rpb24gRW4oZSl7dmFyIHI9dHlwZW9mIGU9PVxcXCJzdHJpbmdcXFwiP25ldyBEYXRlKERhdGUucGFyc2UoZSkpOmU7dmFyIHQ9ci5nZXRUaW1lKCkvMWUzKzExNjQ0NDczNjAwO3ZhciBhPXQlTWF0aC5wb3coMiwzMiksbj0odC1hKS9NYXRoLnBvdygyLDMyKTthKj0xZTc7bio9MWU3O3ZhciBpPWEvTWF0aC5wb3coMiwzMil8MDtpZihpPjApe2E9YSVNYXRoLnBvdygyLDMyKTtuKz1pfXZhciBzPUpyKDgpO3MuX1coNCxhKTtzLl9XKDQsbik7cmV0dXJuIHN9ZnVuY3Rpb24gU24oZSxyLHQpe3ZhciBhPWUubDt2YXIgbj1lLl9SKDAsXFxcImxwc3RyLWNwXFxcIik7aWYodCl3aGlsZShlLmwtYSYzKSsrZS5sO3JldHVybiBufWZ1bmN0aW9uIF9uKGUscix0KXt2YXIgYT1lLl9SKDAsXFxcImxwd3N0clxcXCIpO2lmKHQpZS5sKz00LShhLmxlbmd0aCsxJjMpJjM7cmV0dXJuIGF9ZnVuY3Rpb24gQ24oZSxyLHQpe2lmKHI9PT0zMSlyZXR1cm4gX24oZSk7cmV0dXJuIFNuKGUscix0KX1mdW5jdGlvbiBCbihlLHIsdCl7cmV0dXJuIENuKGUscix0PT09ZmFsc2U/MDo0KX1mdW5jdGlvbiBUbihlLHIpe2lmKCFyKXRocm93IG5ldyBFcnJvcihcXFwiVnRVbmFsaWduZWRTdHJpbmcgbXVzdCBoYXZlIHBvc2l0aXZlIGxlbmd0aFxcXCIpO3JldHVybiBDbihlLHIsMCl9ZnVuY3Rpb24geW4oZSl7dmFyIHI9ZS5fUig0KTt2YXIgdD1bXTtmb3IodmFyIGE9MDthIT1yOysrYSl0W2FdPWUuX1IoMCxcXFwibHBzdHItY3BcXFwiKS5yZXBsYWNlKFIsXFxcIlxcXCIpO3JldHVybiB0fWZ1bmN0aW9uIHhuKGUpe3JldHVybiB5bihlKX1mdW5jdGlvbiBBbihlKXt2YXIgcj1QbihlLG1hKTt2YXIgdD1QbihlLHNhKTtyZXR1cm5bcix0XX1mdW5jdGlvbiBJbihlKXt2YXIgcj1lLl9SKDQpO3ZhciB0PVtdO2Zvcih2YXIgYT0wO2EhPXIvMjsrK2EpdC5wdXNoKEFuKGUpKTtyZXR1cm4gdH1mdW5jdGlvbiBSbihlKXtyZXR1cm4gSW4oZSl9ZnVuY3Rpb24gT24oZSxyKXt2YXIgdD1lLl9SKDQpO3ZhciBhPXt9O2Zvcih2YXIgbj0wO24hPXQ7KytuKXt2YXIgaT1lLl9SKDQpO3ZhciBzPWUuX1IoNCk7YVtpXT1lLl9SKHMscj09PTEyMDA/XFxcInV0ZjE2bGVcXFwiOlxcXCJ1dGY4XFxcIikucmVwbGFjZShSLFxcXCJcXFwiKS5yZXBsYWNlKE8sXFxcIiFcXFwiKTtpZihyPT09MTIwMCYmcyUyKWUubCs9Mn1pZihlLmwmMyllLmw9ZS5sPj4yKzE8PDI7cmV0dXJuIGF9ZnVuY3Rpb24gRG4oZSl7dmFyIHI9ZS5fUig0KTt2YXIgdD1lLnNsaWNlKGUubCxlLmwrcik7ZS5sKz1yO2lmKChyJjMpPjApZS5sKz00LShyJjMpJjM7cmV0dXJuIHR9ZnVuY3Rpb24gRm4oZSl7dmFyIHI9e307ci5TaXplPWUuX1IoNCk7ZS5sKz1yLlNpemUrMy0oci5TaXplLTEpJTQ7cmV0dXJuIHJ9ZnVuY3Rpb24gUG4oZSxyLHQpe3ZhciBhPWUuX1IoMiksbixpPXR8fHt9O2UubCs9MjtpZihyIT09b2EpaWYoYSE9PXImJmJhLmluZGV4T2Yocik9PT0tMSl0aHJvdyBuZXcgRXJyb3IoXFxcIkV4cGVjdGVkIHR5cGUgXFxcIityK1xcXCIgc2F3IFxcXCIrYSk7c3dpdGNoKHI9PT1vYT9hOnIpe2Nhc2UgMjpuPWUuX1IoMixcXFwiaVxcXCIpO2lmKCFpLnJhdyllLmwrPTI7cmV0dXJuIG47Y2FzZSAzOm49ZS5fUig0LFxcXCJpXFxcIik7cmV0dXJuIG47Y2FzZSAxMTpyZXR1cm4gZS5fUig0KSE9PTA7Y2FzZSAxOTpuPWUuX1IoNCk7cmV0dXJuIG47Y2FzZSAzMDpyZXR1cm4gU24oZSxhLDQpLnJlcGxhY2UoUixcXFwiXFxcIik7Y2FzZSAzMTpyZXR1cm4gX24oZSk7Y2FzZSA2NDpyZXR1cm4ga24oZSk7Y2FzZSA2NTpyZXR1cm4gRG4oZSk7Y2FzZSA3MTpyZXR1cm4gRm4oZSk7Y2FzZSA4MDpyZXR1cm4gQm4oZSxhLCFpLnJhdykucmVwbGFjZShSLFxcXCJcXFwiKTtjYXNlIDgxOnJldHVybiBUbihlLGEpLnJlcGxhY2UoUixcXFwiXFxcIik7Y2FzZSA0MTA4OnJldHVybiBSbihlKTtjYXNlIDQxMjY6cmV0dXJuIHhuKGUpO2RlZmF1bHQ6dGhyb3cgbmV3IEVycm9yKFxcXCJUeXBlZFByb3BlcnR5VmFsdWUgdW5yZWNvZ25pemVkIHR5cGUgXFxcIityK1xcXCIgXFxcIithKTt9fWZ1bmN0aW9uIE5uKGUscil7dmFyIHQ9SnIoNCksYT1Kcig0KTt0Ll9XKDQsZT09ODA/MzE6ZSk7c3dpdGNoKGUpe2Nhc2UgMzphLl9XKC00LHIpO2JyZWFrO2Nhc2UgNTphPUpyKDgpO2EuX1coOCxyLFxcXCJmXFxcIik7YnJlYWs7Y2FzZSAxMTphLl9XKDQscj8xOjApO2JyZWFrO2Nhc2UgNjQ6YT1FbihyKTticmVhaztjYXNlIDMxOjtjYXNlIDgwOmE9SnIoNCsyKihyLmxlbmd0aCsxKSsoci5sZW5ndGglMj8wOjIpKTthLl9XKDQsci5sZW5ndGgrMSk7YS5fVygwLHIsXFxcImRiY3NcXFwiKTt3aGlsZShhLmwhPWEubGVuZ3RoKWEuX1coMSwwKTticmVhaztkZWZhdWx0OnRocm93IG5ldyBFcnJvcihcXFwiVHlwZWRQcm9wZXJ0eVZhbHVlIHVucmVjb2duaXplZCB0eXBlIFxcXCIrZStcXFwiIFxcXCIrcik7XFxuO31yZXR1cm4gSShbdCxhXSl9ZnVuY3Rpb24gTG4oZSxyKXt2YXIgdD1lLmw7dmFyIGE9ZS5fUig0KTt2YXIgbj1lLl9SKDQpO3ZhciBpPVtdLHM9MDt2YXIgZj0wO3ZhciBsPS0xLGM9e307Zm9yKHM9MDtzIT1uOysrcyl7dmFyIHU9ZS5fUig0KTt2YXIgaD1lLl9SKDQpO2lbc109W3UsaCt0XX1pLnNvcnQoZnVuY3Rpb24oZSxyKXtyZXR1cm4gZVsxXS1yWzFdfSk7dmFyIGQ9e307Zm9yKHM9MDtzIT1uOysrcyl7aWYoZS5sIT09aVtzXVsxXSl7dmFyIHY9dHJ1ZTtpZihzPjAmJnIpc3dpdGNoKHJbaVtzLTFdWzBdXS50KXtjYXNlIDI6aWYoZS5sKzI9PT1pW3NdWzFdKXtlLmwrPTI7dj1mYWxzZX1icmVhaztjYXNlIDgwOmlmKGUubDw9aVtzXVsxXSl7ZS5sPWlbc11bMV07dj1mYWxzZX1icmVhaztjYXNlIDQxMDg6aWYoZS5sPD1pW3NdWzFdKXtlLmw9aVtzXVsxXTt2PWZhbHNlfWJyZWFrO31pZigoIXJ8fHM9PTApJiZlLmw8PWlbc11bMV0pe3Y9ZmFsc2U7ZS5sPWlbc11bMV19aWYodil0aHJvdyBuZXcgRXJyb3IoXFxcIlJlYWQgRXJyb3I6IEV4cGVjdGVkIGFkZHJlc3MgXFxcIitpW3NdWzFdK1xcXCIgYXQgXFxcIitlLmwrXFxcIiA6XFxcIitzKX1pZihyKXt2YXIgcD1yW2lbc11bMF1dO2RbcC5uXT1QbihlLHAudCx7cmF3OnRydWV9KTtpZihwLnA9PT1cXFwidmVyc2lvblxcXCIpZFtwLm5dPVN0cmluZyhkW3Aubl0+PjE2KStcXFwiLlxcXCIrKFxcXCIwMDAwXFxcIitTdHJpbmcoZFtwLm5dJjY1NTM1KSkuc2xpY2UoLTQpO2lmKHAubj09XFxcIkNvZGVQYWdlXFxcIilzd2l0Y2goZFtwLm5dKXtjYXNlIDA6ZFtwLm5dPTEyNTI7Y2FzZSA4NzQ6O2Nhc2UgOTMyOjtjYXNlIDkzNjo7Y2FzZSA5NDk6O2Nhc2UgOTUwOjtjYXNlIDEyNTA6O2Nhc2UgMTI1MTo7Y2FzZSAxMjUzOjtjYXNlIDEyNTQ6O2Nhc2UgMTI1NTo7Y2FzZSAxMjU2OjtjYXNlIDEyNTc6O2Nhc2UgMTI1ODo7Y2FzZSAxZTQ6O2Nhc2UgMTIwMDo7Y2FzZSAxMjAxOjtjYXNlIDEyNTI6O2Nhc2UgNjVlMzo7Y2FzZS01MzY6O2Nhc2UgNjUwMDE6O2Nhc2UtNTM1Om8oZj1kW3Aubl0+Pj4wJjY1NTM1KTticmVhaztkZWZhdWx0OnRocm93IG5ldyBFcnJvcihcXFwiVW5zdXBwb3J0ZWQgQ29kZVBhZ2U6IFxcXCIrZFtwLm5dKTt9fWVsc2V7aWYoaVtzXVswXT09PTEpe2Y9ZC5Db2RlUGFnZT1QbihlLGlhKTtvKGYpO2lmKGwhPT0tMSl7dmFyIG09ZS5sO2UubD1pW2xdWzFdO2M9T24oZSxmKTtlLmw9bX19ZWxzZSBpZihpW3NdWzBdPT09MCl7aWYoZj09PTApe2w9cztlLmw9aVtzKzFdWzFdO2NvbnRpbnVlfWM9T24oZSxmKX1lbHNle3ZhciBiPWNbaVtzXVswXV07dmFyIGc7c3dpdGNoKGVbZS5sXSl7Y2FzZSA2NTplLmwrPTQ7Zz1EbihlKTticmVhaztjYXNlIDMwOmUubCs9NDtnPUJuKGUsZVtlLmwtNF0pLnJlcGxhY2UoL1xcXFx1MDAwMCskLyxcXFwiXFxcIik7YnJlYWs7Y2FzZSAzMTplLmwrPTQ7Zz1CbihlLGVbZS5sLTRdKS5yZXBsYWNlKC9cXFxcdTAwMDArJC8sXFxcIlxcXCIpO2JyZWFrO2Nhc2UgMzplLmwrPTQ7Zz1lLl9SKDQsXFxcImlcXFwiKTticmVhaztjYXNlIDE5OmUubCs9NDtnPWUuX1IoNCk7YnJlYWs7Y2FzZSA1OmUubCs9NDtnPWUuX1IoOCxcXFwiZlxcXCIpO2JyZWFrO2Nhc2UgMTE6ZS5sKz00O2c9am4oZSw0KTticmVhaztjYXNlIDY0OmUubCs9NDtnPW9lKGtuKGUpKTticmVhaztkZWZhdWx0OnRocm93IG5ldyBFcnJvcihcXFwidW5wYXJzZWQgdmFsdWU6IFxcXCIrZVtlLmxdKTt9ZFtiXT1nfX19ZS5sPXQrYTtyZXR1cm4gZH12YXIgTW49W1xcXCJDb2RlUGFnZVxcXCIsXFxcIlRodW1ibmFpbFxcXCIsXFxcIl9QSURfTElOS0JBU0VcXFwiLFxcXCJfUElEX0hMSU5LU1xcXCIsXFxcIlN5c3RlbUlkZW50aWZpZXJcXFwiLFxcXCJGTVRJRFxcXCJdLmNvbmNhdChzbik7ZnVuY3Rpb24gVW4oZSl7c3dpdGNoKHR5cGVvZiBlKXtjYXNlXFxcImJvb2xlYW5cXFwiOnJldHVybiAxMTtjYXNlXFxcIm51bWJlclxcXCI6cmV0dXJuKGV8MCk9PWU/Mzo1O2Nhc2VcXFwic3RyaW5nXFxcIjpyZXR1cm4gMzE7Y2FzZVxcXCJvYmplY3RcXFwiOmlmKGUgaW5zdGFuY2VvZiBEYXRlKXJldHVybiA2NDticmVhazt9cmV0dXJuLTF9ZnVuY3Rpb24gem4oZSxyLHQpe3ZhciBhPUpyKDgpLG49W10saT1bXTt2YXIgcz04LGY9MDt2YXIgbz1Kcig4KSxsPUpyKDgpO28uX1coNCwyKTtvLl9XKDQsMTIwMCk7bC5fVyg0LDEpO2kucHVzaChvKTtuLnB1c2gobCk7cys9OCtvLmxlbmd0aDtpZighcil7bD1Kcig4KTtsLl9XKDQsMCk7bi51bnNoaWZ0KGwpO3ZhciBjPVtKcig0KV07Y1swXS5fVyg0LGUubGVuZ3RoKTtmb3IoZj0wO2Y8ZS5sZW5ndGg7KytmKXt2YXIgdT1lW2ZdWzBdO289SnIoNCs0KzIqKHUubGVuZ3RoKzEpKyh1Lmxlbmd0aCUyPzA6MikpO28uX1coNCxmKzIpO28uX1coNCx1Lmxlbmd0aCsxKTtvLl9XKDAsdSxcXFwiZGJjc1xcXCIpO3doaWxlKG8ubCE9by5sZW5ndGgpby5fVygxLDApO2MucHVzaChvKX1vPUkoYyk7aS51bnNoaWZ0KG8pO3MrPTgrby5sZW5ndGh9Zm9yKGY9MDtmPGUubGVuZ3RoOysrZil7aWYociYmIXJbZVtmXVswXV0pY29udGludWU7aWYoTW4uaW5kZXhPZihlW2ZdWzBdKT4tMSljb250aW51ZTtpZihlW2ZdWzFdPT1udWxsKWNvbnRpbnVlO3ZhciBoPWVbZl1bMV0sZD0wO2lmKHIpe2Q9K3JbZVtmXVswXV07dmFyIHY9dFtkXTtpZih2LnA9PVxcXCJ2ZXJzaW9uXFxcIiYmdHlwZW9mIGg9PVxcXCJzdHJpbmdcXFwiKXt2YXIgcD1oLnNwbGl0KFxcXCIuXFxcIik7aD0oK3BbMF08PDE2KSsoK3BbMV18fDApfW89Tm4odi50LGgpfWVsc2V7dmFyIG09VW4oaCk7aWYobT09LTEpe209MzE7aD1TdHJpbmcoaCl9bz1ObihtLGgpfWkucHVzaChvKTtsPUpyKDgpO2wuX1coNCwhcj8yK2Y6ZCk7bi5wdXNoKGwpO3MrPTgrby5sZW5ndGh9dmFyIGI9OCooaS5sZW5ndGgrMSk7Zm9yKGY9MDtmPGkubGVuZ3RoOysrZil7bltmXS5fVyg0LGIpO2IrPWlbZl0ubGVuZ3RofWEuX1coNCxzKTthLl9XKDQsaS5sZW5ndGgpO3JldHVybiBJKFthXS5jb25jYXQobikuY29uY2F0KGkpKX1mdW5jdGlvbiBIbihlLHIsdCl7dmFyIGE9ZS5jb250ZW50O2lmKCFhKXJldHVybnt9O1lyKGEsMCk7dmFyIG4saSxzLGYsbz0wO2EuY2hrKFxcXCJmZWZmXFxcIixcXFwiQnl0ZSBPcmRlcjogXFxcIik7YS5fUigyKTt2YXIgbD1hLl9SKDQpO3ZhciBjPWEuX1IoMTYpO2lmKGMhPT1XLnV0aWxzLmNvbnN0cy5IRUFERVJfQ0xTSUQmJmMhPT10KXRocm93IG5ldyBFcnJvcihcXFwiQmFkIFByb3BlcnR5U2V0IENMU0lEIFxcXCIrYyk7bj1hLl9SKDQpO2lmKG4hPT0xJiZuIT09Mil0aHJvdyBuZXcgRXJyb3IoXFxcIlVucmVjb2duaXplZCAjU2V0czogXFxcIituKTtpPWEuX1IoMTYpO2Y9YS5fUig0KTtpZihuPT09MSYmZiE9PWEubCl0aHJvdyBuZXcgRXJyb3IoXFxcIkxlbmd0aCBtaXNtYXRjaDogXFxcIitmK1xcXCIgIT09IFxcXCIrYS5sKTtlbHNlIGlmKG49PT0yKXtzPWEuX1IoMTYpO289YS5fUig0KX12YXIgdT1MbihhLHIpO3ZhciBoPXtTeXN0ZW1JZGVudGlmaWVyOmx9O2Zvcih2YXIgZCBpbiB1KWhbZF09dVtkXTtoLkZNVElEPWk7aWYobj09PTEpcmV0dXJuIGg7aWYoby1hLmw9PTIpYS5sKz0yO2lmKGEubCE9PW8pdGhyb3cgbmV3IEVycm9yKFxcXCJMZW5ndGggbWlzbWF0Y2ggMjogXFxcIithLmwrXFxcIiAhPT0gXFxcIitvKTt2YXIgdjt0cnl7dj1MbihhLG51bGwpfWNhdGNoKHApe31mb3IoZCBpbiB2KWhbZF09dltkXTtoLkZNVElEPVtpLHNdO3JldHVybiBofWZ1bmN0aW9uIFduKGUscix0LGEsbixpKXt2YXIgcz1KcihuPzY4OjQ4KTt2YXIgZj1bc107cy5fVygyLDY1NTM0KTtzLl9XKDIsMCk7cy5fVyg0LDg0MjQxMjU5OSk7cy5fVygxNixXLnV0aWxzLmNvbnN0cy5IRUFERVJfQ0xTSUQsXFxcImhleFxcXCIpO3MuX1coNCxuPzI6MSk7cy5fVygxNixyLFxcXCJoZXhcXFwiKTtzLl9XKDQsbj82ODo0OCk7dmFyIG89em4oZSx0LGEpO2YucHVzaChvKTtpZihuKXt2YXIgbD16bihuLG51bGwsbnVsbCk7cy5fVygxNixpLFxcXCJoZXhcXFwiKTtzLl9XKDQsNjgrby5sZW5ndGgpO2YucHVzaChsKX1yZXR1cm4gSShmKX1mdW5jdGlvbiBWbihlLHIpe2UuX1Iocik7cmV0dXJuIG51bGx9ZnVuY3Rpb24gWG4oZSxyKXtpZighcilyPUpyKGUpO2Zvcih2YXIgdD0wO3Q8ZTsrK3Qpci5fVygxLDApO3JldHVybiByfWZ1bmN0aW9uIEduKGUscix0KXt2YXIgYT1bXSxuPWUubCtyO3doaWxlKGUubDxuKWEucHVzaCh0KGUsbi1lLmwpKTtpZihuIT09ZS5sKXRocm93IG5ldyBFcnJvcihcXFwiU2x1cnAgZXJyb3JcXFwiKTtyZXR1cm4gYX1mdW5jdGlvbiBqbihlLHIpe3JldHVybiBlLl9SKHIpPT09MX1mdW5jdGlvbiBLbihlLHIpe2lmKCFyKXI9SnIoMik7ci5fVygyLCshIWUpO3JldHVybiByfWZ1bmN0aW9uICRuKGUpe3JldHVybiBlLl9SKDIsXFxcInVcXFwiKX1mdW5jdGlvbiBZbihlLHIpe2lmKCFyKXI9SnIoMik7ci5fVygyLGUpO3JldHVybiByfWZ1bmN0aW9uIFpuKGUscil7cmV0dXJuIEduKGUsciwkbil9ZnVuY3Rpb24gSm4oZSl7dmFyIHI9ZS5fUigxKSx0PWUuX1IoMSk7cmV0dXJuIHQ9PT0xP3I6cj09PTF9ZnVuY3Rpb24gUW4oZSxyLHQpe2lmKCF0KXQ9SnIoMik7dC5fVygxLCtlKTt0Ll9XKDEscj09XFxcImVcXFwiPzE6MCk7cmV0dXJuIHR9ZnVuY3Rpb24gcW4oZSx0LGEpe3ZhciBuPWUuX1IoYSYmYS5iaWZmPj0xMj8yOjEpO3ZhciBpPVxcXCJzYmNzLWNvbnRcXFwiO3ZhciBzPXI7aWYoYSYmYS5iaWZmPj04KXI9MTIwMDtpZighYXx8YS5iaWZmPT04KXt2YXIgZj1lLl9SKDEpO2lmKGYpe2k9XFxcImRiY3MtY29udFxcXCJ9fWVsc2UgaWYoYS5iaWZmPT0xMil7aT1cXFwid3N0clxcXCJ9aWYoYS5iaWZmPj0yJiZhLmJpZmY8PTUpaT1cXFwiY3BzdHJcXFwiO3ZhciBvPW4/ZS5fUihuLGkpOlxcXCJcXFwiO3I9cztyZXR1cm4gb31mdW5jdGlvbiBlaShlKXt2YXIgdD1yO3I9MTIwMDt2YXIgYT1lLl9SKDIpLG49ZS5fUigxKTt2YXIgaT1uJjQscz1uJjg7dmFyIGY9MSsobiYxKTt2YXIgbz0wLGw7dmFyIGM9e307aWYocylvPWUuX1IoMik7aWYoaSlsPWUuX1IoNCk7dmFyIHU9Zj09Mj9cXFwiZGJjcy1jb250XFxcIjpcXFwic2Jjcy1jb250XFxcIjt2YXIgaD1hPT09MD9cXFwiXFxcIjplLl9SKGEsdSk7aWYocyllLmwrPTQqbztpZihpKWUubCs9bDtjLnQ9aDtpZighcyl7Yy5yYXc9XFxcIjx0PlxcXCIrYy50K1xcXCI8L3Q+XFxcIjtjLnI9Yy50fXI9dDtyZXR1cm4gY31mdW5jdGlvbiByaShlKXt2YXIgcj1lLnR8fFxcXCJcXFwiLHQ9MTt2YXIgYT1KcigzKyh0PjE/MjowKSk7YS5fVygyLHIubGVuZ3RoKTthLl9XKDEsKHQ+MT84OjApfDEpO2lmKHQ+MSlhLl9XKDIsdCk7dmFyIG49SnIoMipyLmxlbmd0aCk7bi5fVygyKnIubGVuZ3RoLHIsXFxcInV0ZjE2bGVcXFwiKTt2YXIgaT1bYSxuXTtyZXR1cm4gSShpKX1mdW5jdGlvbiB0aShlLHIsdCl7dmFyIGE7aWYodCl7aWYodC5iaWZmPj0yJiZ0LmJpZmY8PTUpcmV0dXJuIGUuX1IocixcXFwiY3BzdHJcXFwiKTtpZih0LmJpZmY+PTEyKXJldHVybiBlLl9SKHIsXFxcImRiY3MtY29udFxcXCIpfXZhciBuPWUuX1IoMSk7aWYobj09PTApe2E9ZS5fUihyLFxcXCJzYmNzLWNvbnRcXFwiKX1lbHNle2E9ZS5fUihyLFxcXCJkYmNzLWNvbnRcXFwiKX1yZXR1cm4gYX1mdW5jdGlvbiBhaShlLHIsdCl7dmFyIGE9ZS5fUih0JiZ0LmJpZmY9PTI/MToyKTtpZihhPT09MCl7ZS5sKys7cmV0dXJuXFxcIlxcXCJ9cmV0dXJuIHRpKGUsYSx0KX1mdW5jdGlvbiBuaShlLHIsdCl7aWYodC5iaWZmPjUpcmV0dXJuIGFpKGUscix0KTt2YXIgYT1lLl9SKDEpO2lmKGE9PT0wKXtlLmwrKztyZXR1cm5cXFwiXFxcIn1yZXR1cm4gZS5fUihhLHQuYmlmZjw9NHx8IWUubGVucz9cXFwiY3BzdHJcXFwiOlxcXCJzYmNzLWNvbnRcXFwiKX1mdW5jdGlvbiBpaShlLHIsdCl7aWYoIXQpdD1KcigzKzIqZS5sZW5ndGgpO3QuX1coMixlLmxlbmd0aCk7dC5fVygxLDEpO3QuX1coMzEsZSxcXFwidXRmMTZsZVxcXCIpO3JldHVybiB0fWZ1bmN0aW9uIHNpKGUpe3ZhciByPWUuX1IoMSk7ZS5sKys7dmFyIHQ9ZS5fUigyKTtlLmwrPTI7cmV0dXJuW3IsdF19ZnVuY3Rpb24gZmkoZSl7dmFyIHI9ZS5fUig0KSx0PWUubDt2YXIgYT1mYWxzZTtpZihyPjI0KXtlLmwrPXItMjQ7aWYoZS5fUigxNik9PT1cXFwiNzk1ODgxZjQzYjFkN2Y0OGFmMmM4MjVkYzQ4NTI3NjNcXFwiKWE9dHJ1ZTtlLmw9dH12YXIgbj1lLl9SKChhP3ItMjQ6cik+PjEsXFxcInV0ZjE2bGVcXFwiKS5yZXBsYWNlKFIsXFxcIlxcXCIpO2lmKGEpZS5sKz0yNDtyZXR1cm4gbn1mdW5jdGlvbiBvaShlKXtlLmwrPTI7dmFyIHI9ZS5fUigwLFxcXCJscHN0ci1hbnNpXFxcIik7ZS5sKz0yO2lmKGUuX1IoMikhPTU3MDA1KXRocm93IG5ldyBFcnJvcihcXFwiQmFkIEZpbGVNb25pa2VyXFxcIik7dmFyIHQ9ZS5fUig0KTtpZih0PT09MClyZXR1cm4gci5yZXBsYWNlKC9cXFxcXFxcXC9nLFxcXCIvXFxcIik7dmFyIGE9ZS5fUig0KTtpZihlLl9SKDIpIT0zKXRocm93IG5ldyBFcnJvcihcXFwiQmFkIEZpbGVNb25pa2VyXFxcIik7dmFyIG49ZS5fUihhPj4xLFxcXCJ1dGYxNmxlXFxcIikucmVwbGFjZShSLFxcXCJcXFwiKTtyZXR1cm4gbn1mdW5jdGlvbiBsaShlLHIpe3ZhciB0PWUuX1IoMTYpO3ItPTE2O3N3aXRjaCh0KXtjYXNlXFxcImUwYzllYTc5ZjliYWNlMTE4YzgyMDBhYTAwNGJhOTBiXFxcIjpyZXR1cm4gZmkoZSxyKTtjYXNlXFxcIjAzMDMwMDAwMDAwMDAwMDBjMDAwMDAwMDAwMDAwMDQ2XFxcIjpyZXR1cm4gb2koZSxyKTtkZWZhdWx0OnRocm93IG5ldyBFcnJvcihcXFwiVW5zdXBwb3J0ZWQgTW9uaWtlciBcXFwiK3QpO319ZnVuY3Rpb24gY2koZSl7dmFyIHI9ZS5fUig0KTt2YXIgdD1yPjA/ZS5fUihyLFxcXCJ1dGYxNmxlXFxcIikucmVwbGFjZShSLFxcXCJcXFwiKTpcXFwiXFxcIjtyZXR1cm4gdH1mdW5jdGlvbiB1aShlLHIpe3ZhciB0PWUubCtyO3ZhciBhPWUuX1IoNCk7aWYoYSE9PTIpdGhyb3cgbmV3IEVycm9yKFxcXCJVbnJlY29nbml6ZWQgc3RyZWFtVmVyc2lvbjogXFxcIithKTt2YXIgbj1lLl9SKDIpO2UubCs9Mjt2YXIgaSxzLGYsbyxsPVxcXCJcXFwiLGMsdTtpZihuJjE2KWk9Y2koZSx0LWUubCk7aWYobiYxMjgpcz1jaShlLHQtZS5sKTtpZigobiYyNTcpPT09MjU3KWY9Y2koZSx0LWUubCk7aWYoKG4mMjU3KT09PTEpbz1saShlLHQtZS5sKTtpZihuJjgpbD1jaShlLHQtZS5sKTtpZihuJjMyKWM9ZS5fUigxNik7aWYobiY2NCl1PWtuKGUpO2UubD10O3ZhciBoPXN8fGZ8fG98fFxcXCJcXFwiO2lmKGgmJmwpaCs9XFxcIiNcXFwiK2w7aWYoIWgpaD1cXFwiI1xcXCIrbDt2YXIgZD17VGFyZ2V0Omh9O2lmKGMpZC5ndWlkPWM7aWYodSlkLnRpbWU9dTtpZihpKWQuVG9vbHRpcD1pO3JldHVybiBkfWZ1bmN0aW9uIGhpKGUpe3ZhciByPUpyKDUxMiksdD0wO3ZhciBhPWUuVGFyZ2V0O3ZhciBuPWEuaW5kZXhPZihcXFwiI1xcXCIpPi0xPzMxOjIzO3N3aXRjaChhLmNoYXJBdCgwKSl7Y2FzZVxcXCIjXFxcIjpuPTI4O2JyZWFrO2Nhc2VcXFwiLlxcXCI6biY9fjI7YnJlYWs7fXIuX1coNCwyKTtyLl9XKDQsbik7dmFyIGk9WzgsNjgxNTgyNyw2NjE5MjM3LDQ4NDk3ODAsODNdO2Zvcih0PTA7dDxpLmxlbmd0aDsrK3Qpci5fVyg0LGlbdF0pO2lmKG49PTI4KXthPWEuc2xpY2UoMSk7ci5fVyg0LGEubGVuZ3RoKzEpO2Zvcih0PTA7dDxhLmxlbmd0aDsrK3Qpci5fVygyLGEuY2hhckNvZGVBdCh0KSk7ci5fVygyLDApfWVsc2UgaWYobiYyKXtpPVxcXCJlMCBjOSBlYSA3OSBmOSBiYSBjZSAxMSA4YyA4MiAwMCBhYSAwMCA0YiBhOSAwYlxcXCIuc3BsaXQoXFxcIiBcXFwiKTtmb3IodD0wO3Q8aS5sZW5ndGg7Kyt0KXIuX1coMSxwYXJzZUludChpW3RdLDE2KSk7ci5fVyg0LDIqKGEubGVuZ3RoKzEpKTtmb3IodD0wO3Q8YS5sZW5ndGg7Kyt0KXIuX1coMixhLmNoYXJDb2RlQXQodCkpO3IuX1coMiwwKX1lbHNle2k9XFxcIjAzIDAzIDAwIDAwIDAwIDAwIDAwIDAwIGMwIDAwIDAwIDAwIDAwIDAwIDAwIDQ2XFxcIi5zcGxpdChcXFwiIFxcXCIpO2Zvcih0PTA7dDxpLmxlbmd0aDsrK3Qpci5fVygxLHBhcnNlSW50KGlbdF0sMTYpKTt2YXIgcz0wO3doaWxlKGEuc2xpY2UocyozLHMqMyszKT09XFxcIi4uL1xcXCJ8fGEuc2xpY2UocyozLHMqMyszKT09XFxcIi4uXFxcXFxcXFxcXFwiKSsrcztyLl9XKDIscyk7ci5fVyg0LGEubGVuZ3RoKzEpO2Zvcih0PTA7dDxhLmxlbmd0aDsrK3Qpci5fVygxLGEuY2hhckNvZGVBdCh0KSYyNTUpO3IuX1coMSwwKTtyLl9XKDIsNjU1MzUpO3IuX1coMiw1NzAwNSk7Zm9yKHQ9MDt0PDY7Kyt0KXIuX1coNCwwKX1yZXR1cm4gci5zbGljZSgwLHIubCl9ZnVuY3Rpb24gZGkoZSl7dmFyIHI9ZS5fUigxKSx0PWUuX1IoMSksYT1lLl9SKDEpLG49ZS5fUigxKTtyZXR1cm5bcix0LGEsbl19ZnVuY3Rpb24gdmkoZSxyKXt2YXIgdD1kaShlLHIpO3RbM109MDtyZXR1cm4gdH1mdW5jdGlvbiBwaShlKXt2YXIgcj1lLl9SKDIpO3ZhciB0PWUuX1IoMik7dmFyIGE9ZS5fUigyKTtyZXR1cm57cjpyLGM6dCxpeGZlOmF9fWZ1bmN0aW9uIG1pKGUscix0LGEpe2lmKCFhKWE9SnIoNik7YS5fVygyLGUpO2EuX1coMixyKTthLl9XKDIsdHx8MCk7cmV0dXJuIGF9ZnVuY3Rpb24gYmkoZSl7dmFyIHI9ZS5fUigyKTt2YXIgdD1lLl9SKDIpO2UubCs9ODtyZXR1cm57dHlwZTpyLGZsYWdzOnR9fWZ1bmN0aW9uIGdpKGUscix0KXtyZXR1cm4gcj09PTA/XFxcIlxcXCI6bmkoZSxyLHQpfWZ1bmN0aW9uIHdpKGUscix0KXt2YXIgYT10LmJpZmY+OD80OjI7dmFyIG49ZS5fUihhKSxpPWUuX1IoYSxcXFwiaVxcXCIpLHM9ZS5fUihhLFxcXCJpXFxcIik7cmV0dXJuW24saSxzXX1mdW5jdGlvbiBraShlKXt2YXIgcj1lLl9SKDIpO3ZhciB0PVh0KGUpO3JldHVybltyLHRdfWZ1bmN0aW9uIEVpKGUscix0KXtlLmwrPTQ7ci09NDt2YXIgYT1lLmwrcjt2YXIgbj1xbihlLHIsdCk7dmFyIGk9ZS5fUigyKTthLT1lLmw7aWYoaSE9PWEpdGhyb3cgbmV3IEVycm9yKFxcXCJNYWxmb3JtZWQgQWRkaW5VZGY6IHBhZGRpbmcgPSBcXFwiK2ErXFxcIiAhPSBcXFwiK2kpO2UubCs9aTtyZXR1cm4gbn1mdW5jdGlvbiBTaShlKXt2YXIgcj1lLl9SKDIpO3ZhciB0PWUuX1IoMik7dmFyIGE9ZS5fUigyKTt2YXIgbj1lLl9SKDIpO3JldHVybntzOntjOmEscjpyfSxlOntjOm4scjp0fX19ZnVuY3Rpb24gX2koZSxyKXtpZighcilyPUpyKDgpO3IuX1coMixlLnMucik7ci5fVygyLGUuZS5yKTtyLl9XKDIsZS5zLmMpO3IuX1coMixlLmUuYyk7cmV0dXJuIHJ9ZnVuY3Rpb24gQ2koZSl7dmFyIHI9ZS5fUigyKTt2YXIgdD1lLl9SKDIpO3ZhciBhPWUuX1IoMSk7dmFyIG49ZS5fUigxKTtyZXR1cm57czp7YzphLHI6cn0sZTp7YzpuLHI6dH19fXZhciBCaT1DaTtmdW5jdGlvbiBUaShlKXtlLmwrPTQ7dmFyIHI9ZS5fUigyKTt2YXIgdD1lLl9SKDIpO3ZhciBhPWUuX1IoMik7ZS5sKz0xMjtyZXR1cm5bdCxyLGFdfWZ1bmN0aW9uIHlpKGUpe3ZhciByPXt9O2UubCs9NDtlLmwrPTE2O3IuZlNoYXJlZE5vdGU9ZS5fUigyKTtlLmwrPTQ7cmV0dXJuIHJ9ZnVuY3Rpb24geGkoZSl7dmFyIHI9e307ZS5sKz00O2UuY2Y9ZS5fUigyKTtyZXR1cm4gcn1mdW5jdGlvbiBBaShlKXtlLmwrPTI7ZS5sKz1lLl9SKDIpfXZhciBJaT17MDpBaSw0OkFpLDU6QWksNjpBaSw3OnhpLDg6QWksOTpBaSwxMDpBaSwxMTpBaSwxMjpBaSwxMzp5aSwxNDpBaSwxNTpBaSwxNjpBaSwxNzpBaSwxODpBaSwxOTpBaSwyMDpBaSwyMTpUaX07ZnVuY3Rpb24gUmkoZSxyKXt2YXIgdD1lLmwrcjt2YXIgYT1bXTt3aGlsZShlLmw8dCl7dmFyIG49ZS5fUigyKTtlLmwtPTI7dHJ5e2EucHVzaChJaVtuXShlLHQtZS5sKSl9Y2F0Y2goaSl7ZS5sPXQ7cmV0dXJuIGF9fWlmKGUubCE9dCllLmw9dDtyZXR1cm4gYX1mdW5jdGlvbiBPaShlLHIpe3ZhciB0PXtCSUZGVmVyOjAsZHQ6MH07dC5CSUZGVmVyPWUuX1IoMik7ci09MjtpZihyPj0yKXt0LmR0PWUuX1IoMik7ZS5sLT0yfXN3aXRjaCh0LkJJRkZWZXIpe2Nhc2UgMTUzNjo7Y2FzZSAxMjgwOjtjYXNlIDEwMjQ6O2Nhc2UgNzY4OjtjYXNlIDUxMjo7Y2FzZSAyOjtjYXNlIDc6YnJlYWs7ZGVmYXVsdDppZihyPjYpdGhyb3cgbmV3IEVycm9yKFxcXCJVbmV4cGVjdGVkIEJJRkYgVmVyIFxcXCIrdC5CSUZGVmVyKTt9ZS5fUihyKTtyZXR1cm4gdH1mdW5jdGlvbiBEaShlLHIsdCl7dmFyIGE9MTUzNixuPTE2O3N3aXRjaCh0LmJvb2tUeXBlKXtjYXNlXFxcImJpZmY4XFxcIjpicmVhaztjYXNlXFxcImJpZmY1XFxcIjphPTEyODA7bj04O2JyZWFrO2Nhc2VcXFwiYmlmZjRcXFwiOmE9NDtuPTY7YnJlYWs7Y2FzZVxcXCJiaWZmM1xcXCI6YT0zO249NjticmVhaztjYXNlXFxcImJpZmYyXFxcIjphPTI7bj00O2JyZWFrO2Nhc2VcXFwieGxhXFxcIjpicmVhaztkZWZhdWx0OnRocm93IG5ldyBFcnJvcihcXFwidW5zdXBwb3J0ZWQgQklGRiB2ZXJzaW9uXFxcIik7fXZhciBpPUpyKG4pO2kuX1coMixhKTtpLl9XKDIscik7aWYobj40KWkuX1coMiwyOTI4Mik7aWYobj42KWkuX1coMiwxOTk3KTtpZihuPjgpe2kuX1coMiw0OTE2MSk7aS5fVygyLDEpO2kuX1coMiwxNzk4KTtpLl9XKDIsMCl9cmV0dXJuIGl9ZnVuY3Rpb24gRmkoZSxyKXtpZihyPT09MClyZXR1cm4gMTIwMDtpZihlLl9SKDIpIT09MTIwMCl7fXJldHVybiAxMjAwfWZ1bmN0aW9uIFBpKGUscix0KXtpZih0LmVuYyl7ZS5sKz1yO3JldHVyblxcXCJcXFwifXZhciBhPWUubDt2YXIgbj1uaShlLDAsdCk7ZS5fUihyK2EtZS5sKTtyZXR1cm4gbn1mdW5jdGlvbiBOaShlLHIpe3ZhciB0PSFyfHxyLmJpZmY9PTg7dmFyIGE9SnIodD8xMTI6NTQpO2EuX1coci5iaWZmPT04PzI6MSw3KTtpZih0KWEuX1coMSwwKTthLl9XKDQsODU5MDA3MDU5KTthLl9XKDQsNTQ1ODU0OHwodD8wOjUzNjg3MDkxMikpO3doaWxlKGEubDxhLmxlbmd0aClhLl9XKDEsdD8wOjMyKTtyZXR1cm4gYX1mdW5jdGlvbiBMaShlLHIsdCl7dmFyIGE9dCYmdC5iaWZmPT04fHxyPT0yP2UuX1IoMik6KGUubCs9ciwwKTtyZXR1cm57ZkRpYWxvZzphJjE2fX1mdW5jdGlvbiBNaShlLHIsdCl7dmFyIGE9ZS5fUig0KTt2YXIgbj1lLl9SKDEpJjM7dmFyIGk9ZS5fUigxKTtzd2l0Y2goaSl7Y2FzZSAwOmk9XFxcIldvcmtzaGVldFxcXCI7YnJlYWs7Y2FzZSAxOmk9XFxcIk1hY3Jvc2hlZXRcXFwiO2JyZWFrO2Nhc2UgMjppPVxcXCJDaGFydHNoZWV0XFxcIjticmVhaztjYXNlIDY6aT1cXFwiVkJBTW9kdWxlXFxcIjticmVhazt9dmFyIHM9cW4oZSwwLHQpO2lmKHMubGVuZ3RoPT09MClzPVxcXCJTaGVldDFcXFwiO3JldHVybntwb3M6YSxoczpuLGR0OmksbmFtZTpzfX1mdW5jdGlvbiBVaShlLHIpe3ZhciB0PSFyfHxyLmJpZmY+PTg/MjoxO3ZhciBhPUpyKDgrdCplLm5hbWUubGVuZ3RoKTthLl9XKDQsZS5wb3MpO2EuX1coMSxlLmhzfHwwKTthLl9XKDEsZS5kdCk7YS5fVygxLGUubmFtZS5sZW5ndGgpO2lmKHIuYmlmZj49OClhLl9XKDEsMSk7YS5fVyh0KmUubmFtZS5sZW5ndGgsZS5uYW1lLHIuYmlmZjw4P1xcXCJzYmNzXFxcIjpcXFwidXRmMTZsZVxcXCIpO3ZhciBuPWEuc2xpY2UoMCxhLmwpO24ubD1hLmw7cmV0dXJuIG59ZnVuY3Rpb24gemkoZSxyKXt2YXIgdD1lLmwrcjt2YXIgYT1lLl9SKDQpO3ZhciBuPWUuX1IoNCk7dmFyIGk9W107Zm9yKHZhciBzPTA7cyE9biYmZS5sPHQ7KytzKXtpLnB1c2goZWkoZSkpfWkuQ291bnQ9YTtpLlVuaXF1ZT1uO3JldHVybiBpfWZ1bmN0aW9uIEhpKGUscil7dmFyIHQ9SnIoOCk7dC5fVyg0LGUuQ291bnQpO3QuX1coNCxlLlVuaXF1ZSk7dmFyIGE9W107Zm9yKHZhciBuPTA7bjxlLmxlbmd0aDsrK24pYVtuXT1yaShlW25dLHIpO3ZhciBpPUkoW3RdLmNvbmNhdChhKSk7aS5wYXJ0cz1bdC5sZW5ndGhdLmNvbmNhdChhLm1hcChmdW5jdGlvbihlKXtyZXR1cm4gZS5sZW5ndGh9KSk7cmV0dXJuIGl9ZnVuY3Rpb24gV2koZSxyKXt2YXIgdD17fTt0LmRzc3Q9ZS5fUigyKTtlLmwrPXItMjtyZXR1cm4gdH1mdW5jdGlvbiBWaShlKXt2YXIgcj17fTtyLnI9ZS5fUigyKTtyLmM9ZS5fUigyKTtyLmNudD1lLl9SKDIpLXIuYzt2YXIgdD1lLl9SKDIpO2UubCs9NDt2YXIgYT1lLl9SKDEpO2UubCs9MztpZihhJjcpci5sZXZlbD1hJjc7aWYoYSYzMilyLmhpZGRlbj10cnVlO2lmKGEmNjQpci5ocHQ9dC8yMDtyZXR1cm4gcn1mdW5jdGlvbiBYaShlKXt2YXIgcj1iaShlKTtpZihyLnR5cGUhPTIyMTEpdGhyb3cgbmV3IEVycm9yKFxcXCJJbnZhbGlkIEZ1dHVyZSBSZWNvcmQgXFxcIityLnR5cGUpO3ZhciB0PWUuX1IoNCk7cmV0dXJuIHQhPT0wfWZ1bmN0aW9uIEdpKGUpe2UuX1IoMik7cmV0dXJuIGUuX1IoNCl9ZnVuY3Rpb24gamkoZSxyLHQpe3ZhciBhPTA7aWYoISh0JiZ0LmJpZmY9PTIpKXthPWUuX1IoMil9dmFyIG49ZS5fUigyKTtpZih0JiZ0LmJpZmY9PTIpe2E9MS0obj4+MTUpO24mPTMyNzY3fXZhciBpPXtVbnN5bmNlZDphJjEsRHlaZXJvOihhJjIpPj4xLEV4QXNjOihhJjQpPj4yLEV4RHNjOihhJjgpPj4zfTtyZXR1cm5baSxuXX1mdW5jdGlvbiBLaShlKXt2YXIgcj1lLl9SKDIpLHQ9ZS5fUigyKSxhPWUuX1IoMiksbj1lLl9SKDIpO3ZhciBpPWUuX1IoMikscz1lLl9SKDIpLGY9ZS5fUigyKTt2YXIgbz1lLl9SKDIpLGw9ZS5fUigyKTtyZXR1cm57UG9zOltyLHRdLERpbTpbYSxuXSxGbGFnczppLEN1clRhYjpzLEZpcnN0VGFiOmYsU2VsZWN0ZWQ6byxUYWJSYXRpbzpsfX1mdW5jdGlvbiAkaSgpe3ZhciBlPUpyKDE4KTtlLl9XKDIsMCk7ZS5fVygyLDApO2UuX1coMiwyOTI4MCk7ZS5fVygyLDE3NjAwKTtlLl9XKDIsNTYpO2UuX1coMiwwKTtlLl9XKDIsMCk7ZS5fVygyLDEpO2UuX1coMiw1MDApO3JldHVybiBlfWZ1bmN0aW9uIFlpKGUscix0KXtpZih0JiZ0LmJpZmY+PTImJnQuYmlmZjw1KXJldHVybnt9O3ZhciBhPWUuX1IoMik7cmV0dXJue1JUTDphJjY0fX1mdW5jdGlvbiBaaShlKXt2YXIgcj1KcigxOCksdD0xNzE4O2lmKGUmJmUuUlRMKXR8PTY0O3IuX1coMix0KTtyLl9XKDQsMCk7ci5fVyg0LDY0KTtyLl9XKDQsMCk7ci5fVyg0LDApO3JldHVybiByfWZ1bmN0aW9uIEppKCl7fWZ1bmN0aW9uIFFpKGUscix0KXt2YXIgYT17ZHlIZWlnaHQ6ZS5fUigyKSxmbDplLl9SKDIpfTtzd2l0Y2godCYmdC5iaWZmfHw4KXtjYXNlIDI6YnJlYWs7Y2FzZSAzOjtjYXNlIDQ6ZS5sKz0yO2JyZWFrO2RlZmF1bHQ6ZS5sKz0xMDticmVhazt9YS5uYW1lPXFuKGUsMCx0KTtyZXR1cm4gYX1mdW5jdGlvbiBxaShlLHIpe3ZhciB0PWUubmFtZXx8XFxcIkFyaWFsXFxcIjt2YXIgYT1yJiZyLmJpZmY9PTUsbj1hPzE1K3QubGVuZ3RoOjE2KzIqdC5sZW5ndGg7dmFyIGk9SnIobik7aS5fVygyLChlLnN6fHwxMikqMjApO2kuX1coNCwwKTtpLl9XKDIsNDAwKTtpLl9XKDQsMCk7aS5fVygyLDApO2kuX1coMSx0Lmxlbmd0aCk7aWYoIWEpaS5fVygxLDEpO2kuX1coKGE/MToyKSp0Lmxlbmd0aCx0LGE/XFxcInNiY3NcXFwiOlxcXCJ1dGYxNmxlXFxcIik7cmV0dXJuIGl9ZnVuY3Rpb24gZXMoZSl7dmFyIHI9cGkoZSk7ci5pc3N0PWUuX1IoNCk7cmV0dXJuIHJ9ZnVuY3Rpb24gcnMoZSxyLHQsYSl7dmFyIG49SnIoMTApO21pKGUscixhLG4pO24uX1coNCx0KTtyZXR1cm4gbn1mdW5jdGlvbiB0cyhlLHIsdCl7dmFyIGE9ZS5sK3I7dmFyIG49cGkoZSw2KTtpZih0LmJpZmY9PTIpZS5sKys7dmFyIGk9YWkoZSxhLWUubCx0KTtuLnZhbD1pO3JldHVybiBufWZ1bmN0aW9uIGFzKGUscix0LGEsbil7dmFyIGk9IW58fG4uYmlmZj09ODt2YXIgcz1Kcig2KzIrICtpKygxK2kpKnQubGVuZ3RoKTttaShlLHIsYSxzKTtzLl9XKDIsdC5sZW5ndGgpO2lmKGkpcy5fVygxLDEpO3MuX1coKDEraSkqdC5sZW5ndGgsdCxpP1xcXCJ1dGYxNmxlXFxcIjpcXFwic2Jjc1xcXCIpO3JldHVybiBzfWZ1bmN0aW9uIG5zKGUscix0KXt2YXIgYT1lLl9SKDIpO3ZhciBuPW5pKGUsMCx0KTtyZXR1cm5bYSxuXX1mdW5jdGlvbiBpcyhlLHIsdCxhKXt2YXIgbj10JiZ0LmJpZmY9PTU7aWYoIWEpYT1KcihuPzMrci5sZW5ndGg6NSsyKnIubGVuZ3RoKTthLl9XKDIsZSk7YS5fVyhuPzE6MixyLmxlbmd0aCk7aWYoIW4pYS5fVygxLDEpO2EuX1coKG4/MToyKSpyLmxlbmd0aCxyLG4/XFxcInNiY3NcXFwiOlxcXCJ1dGYxNmxlXFxcIik7dmFyIGk9YS5sZW5ndGg+YS5sP2Euc2xpY2UoMCxhLmwpOmE7aWYoaS5sPT1udWxsKWkubD1pLmxlbmd0aDtyZXR1cm4gaX12YXIgc3M9bmk7ZnVuY3Rpb24gZnMoZSxyLHQpe3ZhciBhPWUubCtyO3ZhciBuPXQuYmlmZj09OHx8IXQuYmlmZj80OjI7dmFyIGk9ZS5fUihuKSxzPWUuX1Iobik7dmFyIGY9ZS5fUigyKSxvPWUuX1IoMik7ZS5sPWE7cmV0dXJue3M6e3I6aSxjOmZ9LGU6e3I6cyxjOm99fX1mdW5jdGlvbiBvcyhlLHIpe3ZhciB0PXIuYmlmZj09OHx8IXIuYmlmZj80OjI7dmFyIGE9SnIoMip0KzYpO2EuX1codCxlLnMucik7YS5fVyh0LGUuZS5yKzEpO2EuX1coMixlLnMuYyk7YS5fVygyLGUuZS5jKzEpO2EuX1coMiwwKTtyZXR1cm4gYX1mdW5jdGlvbiBscyhlKXt2YXIgcj1lLl9SKDIpLHQ9ZS5fUigyKTt2YXIgYT1raShlKTtyZXR1cm57cjpyLGM6dCxpeGZlOmFbMF0scmtudW06YVsxXX19ZnVuY3Rpb24gY3MoZSxyKXt2YXIgdD1lLmwrci0yO3ZhciBhPWUuX1IoMiksbj1lLl9SKDIpO3ZhciBpPVtdO3doaWxlKGUubDx0KWkucHVzaChraShlKSk7aWYoZS5sIT09dCl0aHJvdyBuZXcgRXJyb3IoXFxcIk11bFJLIHJlYWQgZXJyb3JcXFwiKTt2YXIgcz1lLl9SKDIpO2lmKGkubGVuZ3RoIT1zLW4rMSl0aHJvdyBuZXcgRXJyb3IoXFxcIk11bFJLIGxlbmd0aCBtaXNtYXRjaFxcXCIpO3JldHVybntyOmEsYzpuLEM6cyxya3JlYzppfX1mdW5jdGlvbiB1cyhlLHIpe3ZhciB0PWUubCtyLTI7dmFyIGE9ZS5fUigyKSxuPWUuX1IoMik7dmFyIGk9W107d2hpbGUoZS5sPHQpaS5wdXNoKGUuX1IoMikpO2lmKGUubCE9PXQpdGhyb3cgbmV3IEVycm9yKFxcXCJNdWxCbGFuayByZWFkIGVycm9yXFxcIik7dmFyIHM9ZS5fUigyKTtpZihpLmxlbmd0aCE9cy1uKzEpdGhyb3cgbmV3IEVycm9yKFxcXCJNdWxCbGFuayBsZW5ndGggbWlzbWF0Y2hcXFwiKTtyZXR1cm57cjphLGM6bixDOnMsaXhmZTppfX1mdW5jdGlvbiBocyhlLHIsdCxhKXt2YXIgbj17fTt2YXIgaT1lLl9SKDQpLHM9ZS5fUig0KTt2YXIgZj1lLl9SKDQpLG89ZS5fUigyKTtuLnBhdHRlcm5UeXBlPUNhW2Y+PjI2XTtpZighYS5jZWxsU3R5bGVzKXJldHVybiBuO24uYWxjPWkmNztuLmZXcmFwPWk+PjMmMTtuLmFsY1Y9aT4+NCY3O24uZkp1c3RMYXN0PWk+PjcmMTtuLnRyb3Q9aT4+OCYyNTU7bi5jSW5kZW50PWk+PjE2JjE1O24uZlNocmlua1RvRml0PWk+PjIwJjE7bi5pUmVhZE9yZGVyPWk+PjIyJjI7bi5mQXRyTnVtPWk+PjI2JjE7bi5mQXRyRm50PWk+PjI3JjE7bi5mQXRyQWxjPWk+PjI4JjE7bi5mQXRyQmRyPWk+PjI5JjE7bi5mQXRyUGF0PWk+PjMwJjE7bi5mQXRyUHJvdD1pPj4zMSYxO24uZGdMZWZ0PXMmMTU7bi5kZ1JpZ2h0PXM+PjQmMTU7bi5kZ1RvcD1zPj44JjE1O24uZGdCb3R0b209cz4+MTImMTU7bi5pY3ZMZWZ0PXM+PjE2JjEyNztuLmljdlJpZ2h0PXM+PjIzJjEyNztuLmdyYml0RGlhZz1zPj4zMCYzO24uaWN2VG9wPWYmMTI3O24uaWN2Qm90dG9tPWY+PjcmMTI3O24uaWN2RGlhZz1mPj4xNCYxMjc7bi5kZ0RpYWc9Zj4+MjEmMTU7bi5pY3ZGb3JlPW8mMTI3O24uaWN2QmFjaz1vPj43JjEyNztuLmZzeEJ1dHRvbj1vPj4xNCYxO3JldHVybiBufWZ1bmN0aW9uIGRzKGUscix0KXt2YXIgYT17fTthLmlmbnQ9ZS5fUigyKTthLm51bUZtdElkPWUuX1IoMik7YS5mbGFncz1lLl9SKDIpO2EuZlN0eWxlPWEuZmxhZ3M+PjImMTtyLT02O2EuZGF0YT1ocyhlLHIsYS5mU3R5bGUsdCk7cmV0dXJuIGF9ZnVuY3Rpb24gdnMoZSxyLHQsYSl7dmFyIG49dCYmdC5iaWZmPT01O2lmKCFhKWE9SnIobj8xNjoyMCk7YS5fVygyLDApO2lmKGUuc3R5bGUpe2EuX1coMixlLm51bUZtdElkfHwwKTthLl9XKDIsNjU1MjQpfWVsc2V7YS5fVygyLGUubnVtRm10SWR8fDApO2EuX1coMixyPDw0KX1hLl9XKDQsMCk7YS5fVyg0LDApO2lmKCFuKWEuX1coNCwwKTthLl9XKDIsMCk7cmV0dXJuIGF9ZnVuY3Rpb24gcHMoZSl7ZS5sKz00O3ZhciByPVtlLl9SKDIpLGUuX1IoMildO2lmKHJbMF0hPT0wKXJbMF0tLTtpZihyWzFdIT09MClyWzFdLS07aWYoclswXT43fHxyWzFdPjcpdGhyb3cgbmV3IEVycm9yKFxcXCJCYWQgR3V0dGVyczogXFxcIityLmpvaW4oXFxcInxcXFwiKSk7cmV0dXJuIHJ9ZnVuY3Rpb24gbXMoZSl7dmFyIHI9SnIoOCk7ci5fVyg0LDApO3IuX1coMixlWzBdP2VbMF0rMTowKTtyLl9XKDIsZVsxXT9lWzFdKzE6MCk7cmV0dXJuIHJ9ZnVuY3Rpb24gYnMoZSxyLHQpe3ZhciBhPXBpKGUsNik7aWYodC5iaWZmPT0yKSsrZS5sO3ZhciBuPUpuKGUsMik7YS52YWw9bjthLnQ9bj09PXRydWV8fG49PT1mYWxzZT9cXFwiYlxcXCI6XFxcImVcXFwiO3JldHVybiBhfWZ1bmN0aW9uIGdzKGUscix0LGEsbixpKXt2YXIgcz1Kcig4KTttaShlLHIsYSxzKTtRbih0LGkscyk7cmV0dXJuIHN9ZnVuY3Rpb24gd3MoZSl7dmFyIHI9cGkoZSw2KTt2YXIgdD1adChlLDgpO3IudmFsPXQ7cmV0dXJuIHJ9ZnVuY3Rpb24ga3MoZSxyLHQsYSl7dmFyIG49SnIoMTQpO21pKGUscixhLG4pO0p0KHQsbik7cmV0dXJuIG59dmFyIEVzPWdpO2Z1bmN0aW9uIFNzKGUscix0KXt2YXIgYT1lLmwrcjt2YXIgbj1lLl9SKDIpO3ZhciBpPWUuX1IoMik7dC5zYmNjaD1pO2lmKGk9PTEwMjV8fGk9PTE0ODQ5KXJldHVybltpLG5dO2lmKGk8MXx8aT4yNTUpdGhyb3cgbmV3IEVycm9yKFxcXCJVbmV4cGVjdGVkIFN1cEJvb2sgdHlwZTogXFxcIitpKTt2YXIgcz10aShlLGkpO3ZhciBmPVtdO3doaWxlKGE+ZS5sKWYucHVzaChhaShlKSk7cmV0dXJuW2ksbixzLGZdfWZ1bmN0aW9uIF9zKGUscix0KXt2YXIgYT1lLl9SKDIpO3ZhciBuO3ZhciBpPXtmQnVpbHRJbjphJjEsZldhbnRBZHZpc2U6YT4+PjEmMSxmV2FudFBpY3Q6YT4+PjImMSxmT2xlOmE+Pj4zJjEsZk9sZUxpbms6YT4+PjQmMSxjZjphPj4+NSYxMDIzLGZJY29uOmE+Pj4xNSYxfTtpZih0LnNiY2NoPT09MTQ4NDkpbj1FaShlLHItMix0KTtpLmJvZHk9bnx8ZS5fUihyLTIpO2lmKHR5cGVvZiBuPT09XFxcInN0cmluZ1xcXCIpaS5OYW1lPW47cmV0dXJuIGl9dmFyIENzPVtcXFwiX3hsbm0uQ29uc29saWRhdGVfQXJlYVxcXCIsXFxcIl94bG5tLkF1dG9fT3BlblxcXCIsXFxcIl94bG5tLkF1dG9fQ2xvc2VcXFwiLFxcXCJfeGxubS5FeHRyYWN0XFxcIixcXFwiX3hsbm0uRGF0YWJhc2VcXFwiLFxcXCJfeGxubS5Dcml0ZXJpYVxcXCIsXFxcIl94bG5tLlByaW50X0FyZWFcXFwiLFxcXCJfeGxubS5QcmludF9UaXRsZXNcXFwiLFxcXCJfeGxubS5SZWNvcmRlclxcXCIsXFxcIl94bG5tLkRhdGFfRm9ybVxcXCIsXFxcIl94bG5tLkF1dG9fQWN0aXZhdGVcXFwiLFxcXCJfeGxubS5BdXRvX0RlYWN0aXZhdGVcXFwiLFxcXCJfeGxubS5TaGVldF9UaXRsZVxcXCIsXFxcIl94bG5tLl9GaWx0ZXJEYXRhYmFzZVxcXCJdO2Z1bmN0aW9uIEJzKGUscix0KXt2YXIgYT1lLmwrcjt2YXIgbj1lLl9SKDIpO3ZhciBpPWUuX1IoMSk7dmFyIHM9ZS5fUigxKTt2YXIgZj1lLl9SKHQmJnQuYmlmZj09Mj8xOjIpO3ZhciBvPTA7aWYoIXR8fHQuYmlmZj49NSl7aWYodC5iaWZmIT01KWUubCs9MjtvPWUuX1IoMik7aWYodC5iaWZmPT01KWUubCs9MjtlLmwrPTR9dmFyIGw9dGkoZSxzLHQpO2lmKG4mMzIpbD1Dc1tsLmNoYXJDb2RlQXQoMCldO3ZhciBjPWEtZS5sO2lmKHQmJnQuYmlmZj09MiktLWM7dmFyIHU9YT09ZS5sfHxmPT09MD9bXTpWdShlLGMsdCxmKTtyZXR1cm57Y2hLZXk6aSxOYW1lOmwsaXRhYjpvLHJnY2U6dX19ZnVuY3Rpb24gVHMoZSxyLHQpe2lmKHQuYmlmZjw4KXJldHVybiB5cyhlLHIsdCk7dmFyIGE9W10sbj1lLmwrcixpPWUuX1IodC5iaWZmPjg/NDoyKTt3aGlsZShpLS0hPT0wKWEucHVzaCh3aShlLHQuYmlmZj44PzEyOjYsdCkpO2lmKGUubCE9bil0aHJvdyBuZXcgRXJyb3IoXFxcIkJhZCBFeHRlcm5TaGVldDogXFxcIitlLmwrXFxcIiAhPSBcXFwiK24pO3JldHVybiBhfWZ1bmN0aW9uIHlzKGUscix0KXtpZihlW2UubCsxXT09MyllW2UubF0rKzt2YXIgYT1xbihlLHIsdCk7cmV0dXJuIGEuY2hhckNvZGVBdCgwKT09Mz9hLnNsaWNlKDEpOmF9ZnVuY3Rpb24geHMoZSxyLHQpe2lmKHQuYmlmZjw4KXtlLmwrPXI7cmV0dXJufXZhciBhPWUuX1IoMik7dmFyIG49ZS5fUigyKTt2YXIgaT10aShlLGEsdCk7dmFyIHM9dGkoZSxuLHQpO3JldHVybltpLHNdfWZ1bmN0aW9uIEFzKGUscix0KXt2YXIgYT1DaShlLDYpO2UubCsrO3ZhciBuPWUuX1IoMSk7ci09ODtyZXR1cm5bWHUoZSxyLHQpLG4sYV19ZnVuY3Rpb24gSXMoZSxyLHQpe3ZhciBhPUJpKGUsNik7c3dpdGNoKHQuYmlmZil7Y2FzZSAyOmUubCsrO3ItPTc7YnJlYWs7Y2FzZSAzOjtjYXNlIDQ6ZS5sKz0yO3ItPTg7YnJlYWs7ZGVmYXVsdDplLmwrPTY7ci09MTI7fXJldHVyblthLEh1KGUscix0LGEpXX1mdW5jdGlvbiBScyhlKXt2YXIgcj1lLl9SKDQpIT09MDt2YXIgdD1lLl9SKDQpIT09MDt2YXIgYT1lLl9SKDQpO3JldHVybltyLHQsYV19ZnVuY3Rpb24gT3MoZSxyLHQpe2lmKHQuYmlmZjw4KXJldHVybjt2YXIgYT1lLl9SKDIpLG49ZS5fUigyKTt2YXIgaT1lLl9SKDIpLHM9ZS5fUigyKTt2YXIgZj1uaShlLDAsdCk7aWYodC5iaWZmPDgpZS5fUigxKTtyZXR1cm5be3I6YSxjOm59LGYscyxpXX1mdW5jdGlvbiBEcyhlLHIsdCl7cmV0dXJuIE9zKGUscix0KX1mdW5jdGlvbiBGcyhlLHIpe3ZhciB0PVtdO3ZhciBhPWUuX1IoMik7d2hpbGUoYS0tKXQucHVzaChTaShlLHIpKTtyZXR1cm4gdH1mdW5jdGlvbiBQcyhlKXt2YXIgcj1KcigyK2UubGVuZ3RoKjgpO3IuX1coMixlLmxlbmd0aCk7Zm9yKHZhciB0PTA7dDxlLmxlbmd0aDsrK3QpX2koZVt0XSxyKTtyZXR1cm4gcn1mdW5jdGlvbiBOcyhlLHIsdCl7aWYodCYmdC5iaWZmPDgpcmV0dXJuIE1zKGUscix0KTt2YXIgYT1UaShlLDIyKTt2YXIgbj1SaShlLHItMjIsYVsxXSk7cmV0dXJue2NtbzphLGZ0Om59fXZhciBMcz1bXTtMc1s4XT1mdW5jdGlvbihlLHIpe3ZhciB0PWUubCtyO2UubCs9MTA7dmFyIGE9ZS5fUigyKTtlLmwrPTQ7ZS5sKz0yO2UubCs9MjtlLmwrPTI7ZS5sKz00O3ZhciBuPWUuX1IoMSk7ZS5sKz1uO2UubD10O3JldHVybntmbXQ6YX19O2Z1bmN0aW9uIE1zKGUscix0KXtlLmwrPTQ7dmFyIGE9ZS5fUigyKTt2YXIgbj1lLl9SKDIpO3ZhciBpPWUuX1IoMik7ZS5sKz0yO2UubCs9MjtlLmwrPTI7ZS5sKz0yO2UubCs9MjtlLmwrPTI7ZS5sKz0yO2UubCs9MjtlLmwrPTI7ZS5sKz02O3ItPTM2O3ZhciBzPVtdO3MucHVzaCgoTHNbYV18fFpyKShlLHIsdCkpO3JldHVybntjbW86W24sYSxpXSxmdDpzfX1mdW5jdGlvbiBVcyhlLHIsdCl7dmFyIGE9ZS5sO3ZhciBuPVxcXCJcXFwiO3RyeXtlLmwrPTQ7dmFyIGk9KHQubGFzdG9ianx8e2NtbzpbMCwwXX0pLmNtb1sxXTt2YXIgcztpZihbMCw1LDcsMTEsMTIsMTRdLmluZGV4T2YoaSk9PS0xKWUubCs9NjtlbHNlIHM9c2koZSw2LHQpO3ZhciBmPWUuX1IoMik7ZS5fUigyKTskbihlLDIpO3ZhciBvPWUuX1IoMik7ZS5sKz1vO2Zvcih2YXIgbD0xO2w8ZS5sZW5zLmxlbmd0aC0xOysrbCl7aWYoZS5sLWEhPWUubGVuc1tsXSl0aHJvdyBuZXcgRXJyb3IoXFxcIlR4TzogYmFkIGNvbnRpbnVlIHJlY29yZFxcXCIpO3ZhciBjPWVbZS5sXTt2YXIgdT10aShlLGUubGVuc1tsKzFdLWUubGVuc1tsXS0xKTtuKz11O2lmKG4ubGVuZ3RoPj0oYz9mOjIqZikpYnJlYWt9aWYobi5sZW5ndGghPT1mJiZuLmxlbmd0aCE9PWYqMil7dGhyb3cgbmV3IEVycm9yKFxcXCJjY2hUZXh0OiBcXFwiK2YrXFxcIiAhPSBcXFwiK24ubGVuZ3RoKX1lLmw9YStyO3JldHVybnt0Om59fWNhdGNoKGgpe2UubD1hK3I7cmV0dXJue3Q6bn19fWZ1bmN0aW9uIHpzKGUscil7dmFyIHQ9U2koZSw4KTtlLmwrPTE2O3ZhciBhPXVpKGUsci0yNCk7cmV0dXJuW3QsYV19ZnVuY3Rpb24gSHMoZSl7dmFyIHI9SnIoMjQpO3ZhciB0PW10KGVbMF0pO3IuX1coMix0LnIpO3IuX1coMix0LnIpO3IuX1coMix0LmMpO3IuX1coMix0LmMpO3ZhciBhPVxcXCJkMCBjOSBlYSA3OSBmOSBiYSBjZSAxMSA4YyA4MiAwMCBhYSAwMCA0YiBhOSAwYlxcXCIuc3BsaXQoXFxcIiBcXFwiKTtmb3IodmFyIG49MDtuPDE2OysrbilyLl9XKDEscGFyc2VJbnQoYVtuXSwxNikpO3JldHVybiBJKFtyLGhpKGVbMV0pXSl9ZnVuY3Rpb24gV3MoZSxyKXtlLl9SKDIpO3ZhciB0PVNpKGUsOCk7dmFyIGE9ZS5fUigoci0xMCkvMixcXFwiZGJjcy1jb250XFxcIik7YT1hLnJlcGxhY2UoUixcXFwiXFxcIik7cmV0dXJuW3QsYV19ZnVuY3Rpb24gVnMoZSl7dmFyIHI9ZVsxXS5Ub29sdGlwO3ZhciB0PUpyKDEwKzIqKHIubGVuZ3RoKzEpKTt0Ll9XKDIsMjA0OCk7dmFyIGE9bXQoZVswXSk7dC5fVygyLGEucik7dC5fVygyLGEucik7dC5fVygyLGEuYyk7dC5fVygyLGEuYyk7Zm9yKHZhciBuPTA7bjxyLmxlbmd0aDsrK24pdC5fVygyLHIuY2hhckNvZGVBdChuKSk7dC5fVygyLDApO3JldHVybiB0fWZ1bmN0aW9uIFhzKGUpe3ZhciByPVswLDBdLHQ7dD1lLl9SKDIpO3JbMF09X2FbdF18fHQ7dD1lLl9SKDIpO3JbMV09X2FbdF18fHQ7cmV0dXJuIHJ9ZnVuY3Rpb24gR3MoZSl7aWYoIWUpZT1Kcig0KTtlLl9XKDIsMSk7ZS5fVygyLDEpO3JldHVybiBlfWZ1bmN0aW9uIGpzKGUpe3ZhciByPWUuX1IoMik7dmFyIHQ9W107d2hpbGUoci0tID4wKXQucHVzaCh2aShlLDgpKTtyZXR1cm4gdH1mdW5jdGlvbiBLcyhlKXt2YXIgcj1lLl9SKDIpO3ZhciB0PVtdO3doaWxlKHItLSA+MCl0LnB1c2godmkoZSw4KSk7cmV0dXJuIHR9ZnVuY3Rpb24gJHMoZSl7ZS5sKz0yO3ZhciByPXtjeGZzOjAsY3JjOjB9O3IuY3hmcz1lLl9SKDIpO3IuY3JjPWUuX1IoNCk7cmV0dXJuIHJ9ZnVuY3Rpb24gWXMoZSxyLHQpe2lmKCF0LmNlbGxTdHlsZXMpcmV0dXJuIFpyKGUscik7dmFyIGE9dCYmdC5iaWZmPj0xMj80OjI7dmFyIG49ZS5fUihhKTt2YXIgaT1lLl9SKGEpO3ZhciBzPWUuX1IoYSk7dmFyIGY9ZS5fUihhKTt2YXIgbz1lLl9SKDIpO2lmKGE9PTIpZS5sKz0yO3ZhciBsPXtzOm4sZTppLHc6cyxpeGZlOmYsZmxhZ3M6b307aWYodC5iaWZmPj01fHwhdC5iaWZmKWwubGV2ZWw9bz4+OCY3O3JldHVybiBsfWZ1bmN0aW9uIFpzKGUscil7dmFyIHQ9e307aWYocjwzMilyZXR1cm4gdDtlLmwrPTE2O3QuaGVhZGVyPVp0KGUsOCk7dC5mb290ZXI9WnQoZSw4KTtlLmwrPTI7cmV0dXJuIHR9ZnVuY3Rpb24gSnMoZSxyLHQpe3ZhciBhPXthcmVhOmZhbHNlfTtpZih0LmJpZmYhPTUpe2UubCs9cjtyZXR1cm4gYX12YXIgbj1lLl9SKDEpO2UubCs9MztpZihuJjE2KWEuYXJlYT10cnVlO3JldHVybiBhfWZ1bmN0aW9uIFFzKGUpe3ZhciByPUpyKDIqZSk7Zm9yKHZhciB0PTA7dDxlOysrdClyLl9XKDIsdCsxKTtyZXR1cm4gcn12YXIgcXM9cGk7dmFyIGVmPVpuO3ZhciByZj1haTtmdW5jdGlvbiB0ZihlKXt2YXIgcj1lLl9SKDIpO3ZhciB0PWUuX1IoMik7dmFyIGE9ZS5fUig0KTt2YXIgbj17Zm10OnIsZW52OnQsbGVuOmEsZGF0YTplLnNsaWNlKGUubCxlLmwrYSl9O2UubCs9YTtyZXR1cm4gbn1mdW5jdGlvbiBhZihlLHIsdCl7dmFyIGE9cGkoZSw2KTsrK2UubDt2YXIgbj1uaShlLHItNyx0KTthLnQ9XFxcInN0clxcXCI7YS52YWw9bjtyZXR1cm4gYX1mdW5jdGlvbiBuZihlKXt2YXIgcj1waShlLDYpOysrZS5sO3ZhciB0PVp0KGUsOCk7ci50PVxcXCJuXFxcIjtyLnZhbD10O3JldHVybiByfWZ1bmN0aW9uIHNmKGUscix0KXt2YXIgYT1KcigxNSk7VXAoYSxlLHIpO2EuX1coOCx0LFxcXCJmXFxcIik7cmV0dXJuIGF9ZnVuY3Rpb24gZmYoZSl7dmFyIHI9cGkoZSw2KTsrK2UubDt2YXIgdD1lLl9SKDIpO3IudD1cXFwiblxcXCI7ci52YWw9dDtyZXR1cm4gcn1mdW5jdGlvbiBvZihlLHIsdCl7dmFyIGE9SnIoOSk7VXAoYSxlLHIpO2EuX1coMix0KTtyZXR1cm4gYX1mdW5jdGlvbiBsZihlKXt2YXIgcj1lLl9SKDEpO2lmKHI9PT0wKXtlLmwrKztyZXR1cm5cXFwiXFxcIn1yZXR1cm4gZS5fUihyLFxcXCJzYmNzLWNvbnRcXFwiKX1mdW5jdGlvbiBjZihlLHIpe2UubCs9NjtlLmwrPTI7ZS5sKz0xO2UubCs9MztlLmwrPTE7ZS5sKz1yLTEzfWZ1bmN0aW9uIHVmKGUscix0KXt2YXIgYT1lLmwrcjt2YXIgbj1waShlLDYpO3ZhciBpPWUuX1IoMik7dmFyIHM9dGkoZSxpLHQpO2UubD1hO24udD1cXFwic3RyXFxcIjtuLnZhbD1zO3JldHVybiBufXZhciBoZj1mdW5jdGlvbigpe3ZhciBlPXsxOjQzNywyOjg1MCwzOjEyNTIsNDoxZTQsMTAwOjg1MiwxMDE6ODY2LDEwMjo4NjUsMTAzOjg2MSwxMDQ6ODk1LDEwNTo2MjAsMTA2OjczNywxMDc6ODU3LDEyMDo5NTAsMTIxOjk0OSwxMjI6OTM2LDEyMzo5MzIsMTI0Ojg3NCwxMjU6MTI1NSwxMjY6MTI1NiwxNTA6MTAwMDcsMTUxOjEwMDI5LDE1MjoxMDAwNiwyMDA6MTI1MCwyMDE6MTI1MSwyMDI6MTI1NCwyMDM6MTI1MywwOjIwMTI3LDg6ODY1LDk6NDM3LDEwOjg1MCwxMTo0MzcsMTM6NDM3LDE0Ojg1MCwxNTo0MzcsMTY6ODUwLDE3OjQzNywxODo4NTAsMTk6OTMyLDIwOjg1MCwyMTo0MzcsMjI6ODUwLDIzOjg2NSwyNDo0MzcsMjU6NDM3LDI2Ojg1MCwyNzo0MzcsMjg6ODYzLDI5Ojg1MCwzMTo4NTIsMzQ6ODUyLDM1Ojg1MiwzNjo4NjAsMzc6ODUwLDM4Ojg2Niw1NTo4NTAsNjQ6ODUyLDc3OjkzNiw3ODo5NDksNzk6OTUwLDgwOjg3NCw4NzoxMjUyLDg4OjEyNTIsODk6MTI1MiwyNTU6MTY5Njl9O3ZhciByPVooezE6NDM3LDI6ODUwLDM6MTI1Miw0OjFlNCwxMDA6ODUyLDEwMTo4NjYsMTAyOjg2NSwxMDM6ODYxLDEwNDo4OTUsMTA1OjYyMCwxMDY6NzM3LDEwNzo4NTcsMTIwOjk1MCwxMjE6OTQ5LDEyMjo5MzYsMTIzOjkzMiwxMjQ6ODc0LDEyNToxMjU1LDEyNjoxMjU2LDE1MDoxMDAwNywxNTE6MTAwMjksMTUyOjEwMDA2LDIwMDoxMjUwLDIwMToxMjUxLDIwMjoxMjU0LDIwMzoxMjUzLDA6MjAxMjd9KTt2YXIgYT1bMiwzLDQ4LDQ5LDEzMSwxMzksMTQwLDI0NV07ZnVuY3Rpb24gbihyLHQpe3ZhciBhPVtdO3ZhciBuPV8oMSk7c3dpdGNoKHQudHlwZSl7Y2FzZVxcXCJiYXNlNjRcXFwiOm49QihnLmRlY29kZShyKSk7YnJlYWs7Y2FzZVxcXCJiaW5hcnlcXFwiOm49QihyKTticmVhaztjYXNlXFxcImJ1ZmZlclxcXCI6O2Nhc2VcXFwiYXJyYXlcXFwiOm49cjticmVhazt9WXIobiwwKTt2YXIgaT1uLl9SKDEpO3ZhciBzPWZhbHNlO3ZhciBmPWZhbHNlLG89ZmFsc2U7c3dpdGNoKGkpe2Nhc2UgMjo7Y2FzZSAzOmJyZWFrO2Nhc2UgNDg6Zj10cnVlO3M9dHJ1ZTticmVhaztjYXNlIDQ5OmY9dHJ1ZTticmVhaztjYXNlIDEzMTpzPXRydWU7YnJlYWs7Y2FzZSAxMzk6cz10cnVlO2JyZWFrO2Nhc2UgMTQwOnM9dHJ1ZTtvPXRydWU7YnJlYWs7Y2FzZSAyNDU6cz10cnVlO2JyZWFrO2RlZmF1bHQ6dGhyb3cgbmV3IEVycm9yKFxcXCJEQkYgVW5zdXBwb3J0ZWQgVmVyc2lvbjogXFxcIitpLnRvU3RyaW5nKDE2KSk7fXZhciBsPTAsYz0wO2lmKGk9PTIpbD1uLl9SKDIpO24ubCs9MztpZihpIT0yKWw9bi5fUig0KTtpZihpIT0yKWM9bi5fUigyKTt2YXIgdT1uLl9SKDIpO3ZhciBoPTEyNTI7aWYoaSE9Mil7bi5sKz0xNjtuLl9SKDEpO2lmKG5bbi5sXSE9PTApaD1lW25bbi5sXV07bi5sKz0xO24ubCs9Mn1pZihvKW4ubCs9MzY7dmFyIGQ9W10sdj17fTt2YXIgcD1jLTEwLShmPzI2NDowKSxtPW8/MzI6MTE7d2hpbGUoaT09Mj9uLmw8bi5sZW5ndGgmJm5bbi5sXSE9MTM6bi5sPHApe3Y9e307di5uYW1lPWNwdGFibGUudXRpbHMuZGVjb2RlKGgsbi5zbGljZShuLmwsbi5sK20pKS5yZXBsYWNlKC9bXFxcXHUwMDAwXFxcXHJcXFxcbl0uKiQvZyxcXFwiXFxcIik7bi5sKz1tO3YudHlwZT1TdHJpbmcuZnJvbUNoYXJDb2RlKG4uX1IoMSkpO2lmKGkhPTImJiFvKXYub2Zmc2V0PW4uX1IoNCk7di5sZW49bi5fUigxKTtpZihpPT0yKXYub2Zmc2V0PW4uX1IoMik7di5kZWM9bi5fUigxKTtpZih2Lm5hbWUubGVuZ3RoKWQucHVzaCh2KTtpZihpIT0yKW4ubCs9bz8xMzoxNDtzd2l0Y2godi50eXBlKXtjYXNlXFxcIkJcXFwiOmlmKCghZnx8di5sZW4hPTgpJiZ0LldURiljb25zb2xlLmxvZyhcXFwiU2tpcHBpbmcgXFxcIit2Lm5hbWUrXFxcIjpcXFwiK3YudHlwZSk7YnJlYWs7Y2FzZVxcXCJHXFxcIjo7Y2FzZVxcXCJQXFxcIjppZih0LldURiljb25zb2xlLmxvZyhcXFwiU2tpcHBpbmcgXFxcIit2Lm5hbWUrXFxcIjpcXFwiK3YudHlwZSk7YnJlYWs7Y2FzZVxcXCJDXFxcIjo7Y2FzZVxcXCJEXFxcIjo7Y2FzZVxcXCJGXFxcIjo7Y2FzZVxcXCJJXFxcIjo7Y2FzZVxcXCJMXFxcIjo7Y2FzZVxcXCJNXFxcIjo7Y2FzZVxcXCJOXFxcIjo7Y2FzZVxcXCJPXFxcIjo7Y2FzZVxcXCJUXFxcIjo7Y2FzZVxcXCJZXFxcIjo7Y2FzZVxcXCIwXFxcIjo7Y2FzZVxcXCJAXFxcIjo7Y2FzZVxcXCIrXFxcIjpicmVhaztkZWZhdWx0OnRocm93IG5ldyBFcnJvcihcXFwiVW5rbm93biBGaWVsZCBUeXBlOiBcXFwiK3YudHlwZSk7fX1pZihuW24ubF0hPT0xMyluLmw9Yy0xO2Vsc2UgaWYoaT09MiluLmw9NTIxO2lmKGkhPTIpe2lmKG4uX1IoMSkhPT0xMyl0aHJvdyBuZXcgRXJyb3IoXFxcIkRCRiBUZXJtaW5hdG9yIG5vdCBmb3VuZCBcXFwiK24ubCtcXFwiIFxcXCIrbltuLmxdKTtuLmw9Y312YXIgYj0wLHc9MDthWzBdPVtdO2Zvcih3PTA7dyE9ZC5sZW5ndGg7Kyt3KWFbMF1bd109ZFt3XS5uYW1lO3doaWxlKGwtLSA+MCl7aWYobltuLmxdPT09NDIpe24ubCs9dTtjb250aW51ZX0rK24ubDthWysrYl09W107dz0wO2Zvcih3PTA7dyE9ZC5sZW5ndGg7Kyt3KXt2YXIgaz1uLnNsaWNlKG4ubCxuLmwrZFt3XS5sZW4pO24ubCs9ZFt3XS5sZW47WXIoaywwKTt2YXIgRT1jcHRhYmxlLnV0aWxzLmRlY29kZShoLGspO3N3aXRjaChkW3ddLnR5cGUpe2Nhc2VcXFwiQ1xcXCI6YVtiXVt3XT1jcHRhYmxlLnV0aWxzLmRlY29kZShoLGspO2FbYl1bd109YVtiXVt3XS50cmltKCk7YnJlYWs7Y2FzZVxcXCJEXFxcIjppZihFLmxlbmd0aD09PTgpYVtiXVt3XT1uZXcgRGF0ZSgrRS5zbGljZSgwLDQpLCtFLnNsaWNlKDQsNiktMSwrRS5zbGljZSg2LDgpKTtlbHNlIGFbYl1bd109RTticmVhaztjYXNlXFxcIkZcXFwiOmFbYl1bd109cGFyc2VGbG9hdChFLnRyaW0oKSk7YnJlYWs7Y2FzZVxcXCIrXFxcIjo7Y2FzZVxcXCJJXFxcIjphW2JdW3ddPW8/ay5fUigtNCxcXFwiaVxcXCIpXjIxNDc0ODM2NDg6ay5fUig0LFxcXCJpXFxcIik7YnJlYWs7Y2FzZVxcXCJMXFxcIjpzd2l0Y2goRS50b1VwcGVyQ2FzZSgpKXtjYXNlXFxcIllcXFwiOjtjYXNlXFxcIlRcXFwiOmFbYl1bd109dHJ1ZTticmVhaztjYXNlXFxcIk5cXFwiOjtjYXNlXFxcIkZcXFwiOmFbYl1bd109ZmFsc2U7YnJlYWs7Y2FzZVxcXCIgXFxcIjo7Y2FzZVxcXCI/XFxcIjphW2JdW3ddPWZhbHNlO2JyZWFrO2RlZmF1bHQ6dGhyb3cgbmV3IEVycm9yKFxcXCJEQkYgVW5yZWNvZ25pemVkIEw6fFxcXCIrRStcXFwifFxcXCIpO31icmVhaztjYXNlXFxcIk1cXFwiOmlmKCFzKXRocm93IG5ldyBFcnJvcihcXFwiREJGIFVuZXhwZWN0ZWQgTUVNTyBmb3IgdHlwZSBcXFwiK2kudG9TdHJpbmcoMTYpKTthW2JdW3ddPVxcXCIjI01FTU8jI1xcXCIrKG8/cGFyc2VJbnQoRS50cmltKCksMTApOmsuX1IoNCkpO2JyZWFrO2Nhc2VcXFwiTlxcXCI6YVtiXVt3XT0rRS5yZXBsYWNlKC9cXFxcdTAwMDAvZyxcXFwiXFxcIikudHJpbSgpO2JyZWFrO2Nhc2VcXFwiQFxcXCI6YVtiXVt3XT1uZXcgRGF0ZShrLl9SKC04LFxcXCJmXFxcIiktNjIxMzU2ODMyZTUpO2JyZWFrO2Nhc2VcXFwiVFxcXCI6YVtiXVt3XT1uZXcgRGF0ZSgoay5fUig0KS0yNDQwNTg4KSo4NjRlNStrLl9SKDQpKTticmVhaztjYXNlXFxcIllcXFwiOmFbYl1bd109ay5fUig0LFxcXCJpXFxcIikvMWU0O2JyZWFrO2Nhc2VcXFwiT1xcXCI6YVtiXVt3XT0tay5fUigtOCxcXFwiZlxcXCIpO2JyZWFrO2Nhc2VcXFwiQlxcXCI6aWYoZiYmZFt3XS5sZW49PTgpe2FbYl1bd109ay5fUig4LFxcXCJmXFxcIik7YnJlYWt9O2Nhc2VcXFwiR1xcXCI6O2Nhc2VcXFwiUFxcXCI6ay5sKz1kW3ddLmxlbjticmVhaztjYXNlXFxcIjBcXFwiOmlmKGRbd10ubmFtZT09PVxcXCJfTnVsbEZsYWdzXFxcIilicmVhaztkZWZhdWx0OnRocm93IG5ldyBFcnJvcihcXFwiREJGIFVuc3VwcG9ydGVkIGRhdGEgdHlwZSBcXFwiK2Rbd10udHlwZSk7fX19aWYoaSE9MilpZihuLmw8bi5sZW5ndGgmJm5bbi5sKytdIT0yNil0aHJvdyBuZXcgRXJyb3IoXFxcIkRCRiBFT0YgTWFya2VyIG1pc3NpbmcgXFxcIisobi5sLTEpK1xcXCIgb2YgXFxcIituLmxlbmd0aCtcXFwiIFxcXCIrbltuLmwtMV0udG9TdHJpbmcoMTYpKTtpZih0JiZ0LnNoZWV0Um93cylhPWEuc2xpY2UoMCx0LnNoZWV0Um93cyk7cmV0dXJuIGF9ZnVuY3Rpb24gaShlLHIpe3ZhciB0PXJ8fHt9O2lmKCF0LmRhdGVORil0LmRhdGVORj1cXFwieXl5eW1tZGRcXFwiO3JldHVybiBCdChuKGUsdCksdCl9ZnVuY3Rpb24gcyhlLHIpe3RyeXtyZXR1cm4gX3QoaShlLHIpLHIpfWNhdGNoKHQpe2lmKHImJnIuV1RGKXRocm93IHR9cmV0dXJue1NoZWV0TmFtZXM6W10sU2hlZXRzOnt9fX12YXIgZj17Qjo4LEM6MjUwLEw6MSxEOjgsXFxcIj9cXFwiOjAsXFxcIlxcXCI6MH07ZnVuY3Rpb24gbChlLGEpe3ZhciBuPWF8fHt9O2lmKCtuLmNvZGVwYWdlPj0wKW8oK24uY29kZXBhZ2UpO2lmKG4udHlwZT09XFxcInN0cmluZ1xcXCIpdGhyb3cgbmV3IEVycm9yKFxcXCJDYW5ub3Qgd3JpdGUgREJGIHRvIEpTIHN0cmluZ1xcXCIpO3ZhciBpPXFyKCk7dmFyIHM9cmIoZSx7aGVhZGVyOjEscmF3OnRydWUsY2VsbERhdGVzOnRydWV9KTt2YXIgbD1zWzBdLGM9cy5zbGljZSgxKTt2YXIgdT0wLGg9MCxkPTAsdj0xO2Zvcih1PTA7dTxsLmxlbmd0aDsrK3Upe2lmKHU9PW51bGwpY29udGludWU7KytkO2lmKHR5cGVvZiBsW3VdPT09XFxcIm51bWJlclxcXCIpbFt1XT1sW3VdLnRvU3RyaW5nKDEwKTtpZih0eXBlb2YgbFt1XSE9PVxcXCJzdHJpbmdcXFwiKXRocm93IG5ldyBFcnJvcihcXFwiREJGIEludmFsaWQgY29sdW1uIG5hbWUgXFxcIitsW3VdK1xcXCIgfFxcXCIrdHlwZW9mIGxbdV0rXFxcInxcXFwiKTtpZihsLmluZGV4T2YobFt1XSkhPT11KWZvcihoPTA7aDwxMDI0OysraClpZihsLmluZGV4T2YobFt1XStcXFwiX1xcXCIraCk9PS0xKXtsW3VdKz1cXFwiX1xcXCIraDticmVha319dmFyIHA9a3QoZVtcXFwiIXJlZlxcXCJdKTt2YXIgbT1bXTtmb3IodT0wO3U8PXAuZS5jLXAucy5jOysrdSl7dmFyIGI9W107Zm9yKGg9MDtoPGMubGVuZ3RoOysraCl7aWYoY1toXVt1XSE9bnVsbCliLnB1c2goY1toXVt1XSl9aWYoYi5sZW5ndGg9PTB8fGxbdV09PW51bGwpe21bdV09XFxcIj9cXFwiO2NvbnRpbnVlfXZhciBnPVxcXCJcXFwiLHc9XFxcIlxcXCI7Zm9yKGg9MDtoPGIubGVuZ3RoOysraCl7c3dpdGNoKHR5cGVvZiBiW2hdKXtjYXNlXFxcIm51bWJlclxcXCI6dz1cXFwiQlxcXCI7YnJlYWs7Y2FzZVxcXCJzdHJpbmdcXFwiOnc9XFxcIkNcXFwiO2JyZWFrO2Nhc2VcXFwiYm9vbGVhblxcXCI6dz1cXFwiTFxcXCI7YnJlYWs7Y2FzZVxcXCJvYmplY3RcXFwiOnc9YltoXWluc3RhbmNlb2YgRGF0ZT9cXFwiRFxcXCI6XFxcIkNcXFwiO2JyZWFrO2RlZmF1bHQ6dz1cXFwiQ1xcXCI7fWc9ZyYmZyE9dz9cXFwiQ1xcXCI6dztpZihnPT1cXFwiQ1xcXCIpYnJlYWt9dis9ZltnXXx8MDttW3VdPWd9dmFyIGs9aS5uZXh0KDMyKTtrLl9XKDQsMzE4OTAyNTc2KTtrLl9XKDQsYy5sZW5ndGgpO2suX1coMiwyOTYrMzIqZCk7ay5fVygyLHYpO2Zvcih1PTA7dTw0OysrdSlrLl9XKDQsMCk7ay5fVyg0LDB8KCtyW3RdfHwzKTw8OCk7Zm9yKHU9MCxoPTA7dTxsLmxlbmd0aDsrK3Upe2lmKGxbdV09PW51bGwpY29udGludWU7dmFyIEU9aS5uZXh0KDMyKTt2YXIgUz0obFt1XS5zbGljZSgtMTApK1xcXCJcXFxcMFxcXFwwXFxcXDBcXFxcMFxcXFwwXFxcXDBcXFxcMFxcXFwwXFxcXDBcXFxcMFxcXFwwXFxcIikuc2xpY2UoMCwxMSk7RS5fVygxLFMsXFxcInNiY3NcXFwiKTtFLl9XKDEsbVt1XT09XFxcIj9cXFwiP1xcXCJDXFxcIjptW3VdLFxcXCJzYmNzXFxcIik7RS5fVyg0LGgpO0UuX1coMSxmW21bdV1dfHwwKTtFLl9XKDEsMCk7RS5fVygxLDIpO0UuX1coNCwwKTtFLl9XKDEsMCk7RS5fVyg0LDApO0UuX1coNCwwKTtoKz1mW21bdV1dfHwwfXZhciBfPWkubmV4dCgyNjQpO18uX1coNCwxMyk7Zm9yKHU9MDt1PDY1OysrdSlfLl9XKDQsMCk7Zm9yKHU9MDt1PGMubGVuZ3RoOysrdSl7dmFyIEM9aS5uZXh0KHYpO0MuX1coMSwwKTtmb3IoaD0wO2g8bC5sZW5ndGg7KytoKXtpZihsW2hdPT1udWxsKWNvbnRpbnVlO3N3aXRjaChtW2hdKXtjYXNlXFxcIkxcXFwiOkMuX1coMSxjW3VdW2hdPT1udWxsPzYzOmNbdV1baF0/ODQ6NzApO2JyZWFrO2Nhc2VcXFwiQlxcXCI6Qy5fVyg4LGNbdV1baF18fDAsXFxcImZcXFwiKTticmVhaztjYXNlXFxcIkRcXFwiOmlmKCFjW3VdW2hdKUMuX1coOCxcXFwiMDAwMDAwMDBcXFwiLFxcXCJzYmNzXFxcIik7ZWxzZXtDLl9XKDQsKFxcXCIwMDAwXFxcIitjW3VdW2hdLmdldEZ1bGxZZWFyKCkpLnNsaWNlKC00KSxcXFwic2Jjc1xcXCIpO0MuX1coMiwoXFxcIjAwXFxcIisoY1t1XVtoXS5nZXRNb250aCgpKzEpKS5zbGljZSgtMiksXFxcInNiY3NcXFwiKTtDLl9XKDIsKFxcXCIwMFxcXCIrY1t1XVtoXS5nZXREYXRlKCkpLnNsaWNlKC0yKSxcXFwic2Jjc1xcXCIpfWJyZWFrO2Nhc2VcXFwiQ1xcXCI6dmFyIEI9U3RyaW5nKGNbdV1baF18fFxcXCJcXFwiKTtDLl9XKDEsQixcXFwic2Jjc1xcXCIpO2ZvcihkPTA7ZDwyNTAtQi5sZW5ndGg7KytkKUMuX1coMSwzMik7YnJlYWs7fX19aS5uZXh0KDEpLl9XKDEsMjYpO3JldHVybiBpLmVuZCgpfXJldHVybnt2ZXJzaW9uczphLHRvX3dvcmtib29rOnMsdG9fc2hlZXQ6aSxmcm9tX3NoZWV0Omx9fSgpO3ZhciBkZj1mdW5jdGlvbigpe3ZhciBlPXtBQTpcXFwiw4BcXFwiLEJBOlxcXCLDgVxcXCIsQ0E6XFxcIsOCXFxcIixEQToxOTUsSEE6XFxcIsOEXFxcIixKQToxOTcsQUU6XFxcIsOIXFxcIixCRTpcXFwiw4lcXFwiLENFOlxcXCLDilxcXCIsSEU6XFxcIsOLXFxcIixBSTpcXFwiw4xcXFwiLEJJOlxcXCLDjVxcXCIsQ0k6XFxcIsOOXFxcIixISTpcXFwiw49cXFwiLEFPOlxcXCLDklxcXCIsQk86XFxcIsOTXFxcIixDTzpcXFwiw5RcXFwiLERPOjIxMyxITzpcXFwiw5ZcXFwiLEFVOlxcXCLDmVxcXCIsQlU6XFxcIsOaXFxcIixDVTpcXFwiw5tcXFwiLEhVOlxcXCLDnFxcXCIsQWE6XFxcIsOgXFxcIixCYTpcXFwiw6FcXFwiLENhOlxcXCLDolxcXCIsRGE6MjI3LEhhOlxcXCLDpFxcXCIsSmE6MjI5LEFlOlxcXCLDqFxcXCIsQmU6XFxcIsOpXFxcIixDZTpcXFwiw6pcXFwiLEhlOlxcXCLDq1xcXCIsQWk6XFxcIsOsXFxcIixCaTpcXFwiw61cXFwiLENpOlxcXCLDrlxcXCIsSGk6XFxcIsOvXFxcIixBbzpcXFwiw7JcXFwiLEJvOlxcXCLDs1xcXCIsQ286XFxcIsO0XFxcIixEbzoyNDUsSG86XFxcIsO2XFxcIixBdTpcXFwiw7lcXFwiLEJ1OlxcXCLDulxcXCIsQ3U6XFxcIsO7XFxcIixIdTpcXFwiw7xcXFwiLEtDOlxcXCLDh1xcXCIsS2M6XFxcIsOnXFxcIixxOlxcXCLDplxcXCIsejpcXFwixZNcXFwiLGE6XFxcIsOGXFxcIixqOlxcXCLFklxcXCIsRE46MjA5LERuOjI0MSxIeToyNTUsUzoxNjksYzoxNzAsUjoxNzQsQjoxODAsMDoxNzYsMToxNzcsMjoxNzgsMzoxNzksNToxODEsNjoxODIsNzoxODMsUToxODUsazoxODYsYjoyMDgsaToyMTYsbDoyMjIsczoyNDAseToyNDgsXFxcIiFcXFwiOjE2MSwnXFxcIic6MTYyLFxcXCIjXFxcIjoxNjMsXFxcIihcXFwiOjE2NCxcXFwiJVxcXCI6MTY1LFxcXCInXFxcIjoxNjcsXFxcIkggXFxcIjoxNjgsXFxcIitcXFwiOjE3MSxcXFwiO1xcXCI6MTg3LFxcXCI8XFxcIjoxODgsXFxcIj1cXFwiOjE4OSxcXFwiPlxcXCI6MTkwLFxcXCI/XFxcIjoxOTEsXFxcIntcXFwiOjIyM307dmFyIHI9bmV3IFJlZ0V4cChcXFwiXFx1MDAxYk4oXFxcIitLKGUpLmpvaW4oXFxcInxcXFwiKS5yZXBsYWNlKC9cXFxcfFxcXFx8XFxcXHwvLFxcXCJ8XFxcXFxcXFx8fFxcXCIpLnJlcGxhY2UoLyhbPygpK10pL2csXFxcIlxcXFxcXFxcJDFcXFwiKStcXFwifFxcXFxcXFxcfClcXFwiLFxcXCJnbVxcXCIpO3ZhciB0PWZ1bmN0aW9uKHIsdCl7dmFyIGE9ZVt0XTtyZXR1cm4gdHlwZW9mIGE9PVxcXCJudW1iZXJcXFwiP3AoYSk6YX07dmFyIGE9ZnVuY3Rpb24oZSxyLHQpe3ZhciBhPXIuY2hhckNvZGVBdCgwKS0zMjw8NHx0LmNoYXJDb2RlQXQoMCktNDg7cmV0dXJuIGE9PTU5P2U6cChhKX07ZVtcXFwifFxcXCJdPTI1NDtmdW5jdGlvbiBuKGUscil7c3dpdGNoKHIudHlwZSl7Y2FzZVxcXCJiYXNlNjRcXFwiOnJldHVybiBpKGcuZGVjb2RlKGUpLHIpO2Nhc2VcXFwiYmluYXJ5XFxcIjpyZXR1cm4gaShlLHIpO2Nhc2VcXFwiYnVmZmVyXFxcIjpyZXR1cm4gaShlLnRvU3RyaW5nKFxcXCJiaW5hcnlcXFwiKSxyKTtjYXNlXFxcImFycmF5XFxcIjpyZXR1cm4gaShsZShlKSxyKTt9dGhyb3cgbmV3IEVycm9yKFxcXCJVbnJlY29nbml6ZWQgdHlwZSBcXFwiK3IudHlwZSl9ZnVuY3Rpb24gaShlLG4pe3ZhciBpPWUuc3BsaXQoL1tcXFxcblxcXFxyXSsvKSxzPS0xLGY9LTEsbD0wLGM9MCx1PVtdO3ZhciBoPVtdO3ZhciBkPW51bGw7dmFyIHY9e30scD1bXSxtPVtdLGI9W107dmFyIGc9MCx3O2lmKCtuLmNvZGVwYWdlPj0wKW8oK24uY29kZXBhZ2UpO2Zvcig7bCE9PWkubGVuZ3RoOysrbCl7Zz0wO3ZhciBrPWlbbF0udHJpbSgpLnJlcGxhY2UoL1xcXFx4MUIoW1xcXFx4MjAtXFxcXHgyRl0pKFtcXFxceDMwLVxcXFx4M0ZdKS9nLGEpLnJlcGxhY2Uocix0KTt2YXIgRT1rLnJlcGxhY2UoLzs7L2csXFxcIlxcXFwwXFxcIikuc3BsaXQoXFxcIjtcXFwiKS5tYXAoZnVuY3Rpb24oZSl7XFxucmV0dXJuIGUucmVwbGFjZSgvXFxcXHUwMDAwL2csXFxcIjtcXFwiKX0pO3ZhciBTPUVbMF0sXztpZihrLmxlbmd0aD4wKXN3aXRjaChTKXtjYXNlXFxcIklEXFxcIjpicmVhaztjYXNlXFxcIkVcXFwiOmJyZWFrO2Nhc2VcXFwiQlxcXCI6YnJlYWs7Y2FzZVxcXCJPXFxcIjpicmVhaztjYXNlXFxcIlBcXFwiOmlmKEVbMV0uY2hhckF0KDApPT1cXFwiUFxcXCIpaC5wdXNoKGsuc2xpY2UoMykucmVwbGFjZSgvOzsvZyxcXFwiO1xcXCIpKTticmVhaztjYXNlXFxcIkNcXFwiOnZhciBDPWZhbHNlLEI9ZmFsc2U7Zm9yKGM9MTtjPEUubGVuZ3RoOysrYylzd2l0Y2goRVtjXS5jaGFyQXQoMCkpe2Nhc2VcXFwiWFxcXCI6Zj1wYXJzZUludChFW2NdLnNsaWNlKDEpKS0xO0I9dHJ1ZTticmVhaztjYXNlXFxcIllcXFwiOnM9cGFyc2VJbnQoRVtjXS5zbGljZSgxKSktMTtpZighQilmPTA7Zm9yKHc9dS5sZW5ndGg7dzw9czsrK3cpdVt3XT1bXTticmVhaztjYXNlXFxcIktcXFwiOl89RVtjXS5zbGljZSgxKTtpZihfLmNoYXJBdCgwKT09PSdcXFwiJylfPV8uc2xpY2UoMSxfLmxlbmd0aC0xKTtlbHNlIGlmKF89PT1cXFwiVFJVRVxcXCIpXz10cnVlO2Vsc2UgaWYoXz09PVxcXCJGQUxTRVxcXCIpXz1mYWxzZTtlbHNlIGlmKCFpc05hTihoZShfKSkpe189aGUoXyk7aWYoZCE9PW51bGwmJkQuaXNfZGF0ZShkKSlfPW5lKF8pfWVsc2UgaWYoIWlzTmFOKGRlKF8pLmdldERhdGUoKSkpe189b2UoXyl9aWYodHlwZW9mIGNwdGFibGUhPT1cXFwidW5kZWZpbmVkXFxcIiYmdHlwZW9mIF89PVxcXCJzdHJpbmdcXFwiJiYobnx8e30pLnR5cGUhPVxcXCJzdHJpbmdcXFwiJiYobnx8e30pLmNvZGVwYWdlKV89Y3B0YWJsZS51dGlscy5kZWNvZGUobi5jb2RlcGFnZSxfKTtDPXRydWU7YnJlYWs7Y2FzZVxcXCJFXFxcIjp2YXIgVD1uYyhFW2NdLnNsaWNlKDEpLHtyOnMsYzpmfSk7dVtzXVtmXT1bdVtzXVtmXSxUXTticmVhaztkZWZhdWx0OmlmKG4mJm4uV1RGKXRocm93IG5ldyBFcnJvcihcXFwiU1lMSyBiYWQgcmVjb3JkIFxcXCIrayk7fWlmKEMpe3Vbc11bZl09XztkPW51bGx9YnJlYWs7Y2FzZVxcXCJGXFxcIjp2YXIgeT0wO2ZvcihjPTE7YzxFLmxlbmd0aDsrK2Mpc3dpdGNoKEVbY10uY2hhckF0KDApKXtjYXNlXFxcIlhcXFwiOmY9cGFyc2VJbnQoRVtjXS5zbGljZSgxKSktMTsrK3k7YnJlYWs7Y2FzZVxcXCJZXFxcIjpzPXBhcnNlSW50KEVbY10uc2xpY2UoMSkpLTE7Zm9yKHc9dS5sZW5ndGg7dzw9czsrK3cpdVt3XT1bXTticmVhaztjYXNlXFxcIk1cXFwiOmc9cGFyc2VJbnQoRVtjXS5zbGljZSgxKSkvMjA7YnJlYWs7Y2FzZVxcXCJGXFxcIjpicmVhaztjYXNlXFxcIkdcXFwiOmJyZWFrO2Nhc2VcXFwiUFxcXCI6ZD1oW3BhcnNlSW50KEVbY10uc2xpY2UoMSkpXTticmVhaztjYXNlXFxcIlNcXFwiOmJyZWFrO2Nhc2VcXFwiRFxcXCI6YnJlYWs7Y2FzZVxcXCJOXFxcIjpicmVhaztjYXNlXFxcIldcXFwiOmI9RVtjXS5zbGljZSgxKS5zcGxpdChcXFwiIFxcXCIpO2Zvcih3PXBhcnNlSW50KGJbMF0sMTApO3c8PXBhcnNlSW50KGJbMV0sMTApOysrdyl7Zz1wYXJzZUludChiWzJdLDEwKTttW3ctMV09Zz09PTA/e2hpZGRlbjp0cnVlfTp7d2NoOmd9O1NvKG1bdy0xXSl9YnJlYWs7Y2FzZVxcXCJDXFxcIjpmPXBhcnNlSW50KEVbY10uc2xpY2UoMSkpLTE7aWYoIW1bZl0pbVtmXT17fTticmVhaztjYXNlXFxcIlJcXFwiOnM9cGFyc2VJbnQoRVtjXS5zbGljZSgxKSktMTtpZighcFtzXSlwW3NdPXt9O2lmKGc+MCl7cFtzXS5ocHQ9ZztwW3NdLmhweD1UbyhnKX1lbHNlIGlmKGc9PT0wKXBbc10uaGlkZGVuPXRydWU7YnJlYWs7ZGVmYXVsdDppZihuJiZuLldURil0aHJvdyBuZXcgRXJyb3IoXFxcIlNZTEsgYmFkIHJlY29yZCBcXFwiK2spO31pZih5PDEpZD1udWxsO2JyZWFrO2RlZmF1bHQ6aWYobiYmbi5XVEYpdGhyb3cgbmV3IEVycm9yKFxcXCJTWUxLIGJhZCByZWNvcmQgXFxcIitrKTt9fWlmKHAubGVuZ3RoPjApdltcXFwiIXJvd3NcXFwiXT1wO2lmKG0ubGVuZ3RoPjApdltcXFwiIWNvbHNcXFwiXT1tO2lmKG4mJm4uc2hlZXRSb3dzKXU9dS5zbGljZSgwLG4uc2hlZXRSb3dzKTtyZXR1cm5bdSx2XX1mdW5jdGlvbiBzKGUscil7dmFyIHQ9bihlLHIpO3ZhciBhPXRbMF0saT10WzFdO3ZhciBzPUJ0KGEscik7SyhpKS5mb3JFYWNoKGZ1bmN0aW9uKGUpe3NbZV09aVtlXX0pO3JldHVybiBzfWZ1bmN0aW9uIGYoZSxyKXtyZXR1cm4gX3QocyhlLHIpLHIpfWZ1bmN0aW9uIGwoZSxyLHQsYSl7dmFyIG49XFxcIkM7WVxcXCIrKHQrMSkrXFxcIjtYXFxcIisoYSsxKStcXFwiO0tcXFwiO3N3aXRjaChlLnQpe2Nhc2VcXFwiblxcXCI6bis9ZS52fHwwO2lmKGUuZiYmIWUuRiluKz1cXFwiO0VcXFwiK3NjKGUuZix7cjp0LGM6YX0pO2JyZWFrO2Nhc2VcXFwiYlxcXCI6bis9ZS52P1xcXCJUUlVFXFxcIjpcXFwiRkFMU0VcXFwiO2JyZWFrO2Nhc2VcXFwiZVxcXCI6bis9ZS53fHxlLnY7YnJlYWs7Y2FzZVxcXCJkXFxcIjpuKz0nXFxcIicrKGUud3x8ZS52KSsnXFxcIic7YnJlYWs7Y2FzZVxcXCJzXFxcIjpuKz0nXFxcIicrZS52LnJlcGxhY2UoL1xcXCIvZyxcXFwiXFxcIikrJ1xcXCInO2JyZWFrO31yZXR1cm4gbn1mdW5jdGlvbiBjKGUscil7ci5mb3JFYWNoKGZ1bmN0aW9uKHIsdCl7dmFyIGE9XFxcIkY7V1xcXCIrKHQrMSkrXFxcIiBcXFwiKyh0KzEpK1xcXCIgXFxcIjtpZihyLmhpZGRlbilhKz1cXFwiMFxcXCI7ZWxzZXtpZih0eXBlb2Ygci53aWR0aD09XFxcIm51bWJlclxcXCIpci53cHg9Ym8oci53aWR0aCk7aWYodHlwZW9mIHIud3B4PT1cXFwibnVtYmVyXFxcIilyLndjaD1nbyhyLndweCk7aWYodHlwZW9mIHIud2NoPT1cXFwibnVtYmVyXFxcIilhKz1NYXRoLnJvdW5kKHIud2NoKX1pZihhLmNoYXJBdChhLmxlbmd0aC0xKSE9XFxcIiBcXFwiKWUucHVzaChhKX0pfWZ1bmN0aW9uIHUoZSxyKXtyLmZvckVhY2goZnVuY3Rpb24ocix0KXt2YXIgYT1cXFwiRjtcXFwiO2lmKHIuaGlkZGVuKWErPVxcXCJNMDtcXFwiO2Vsc2UgaWYoci5ocHQpYSs9XFxcIk1cXFwiKzIwKnIuaHB0K1xcXCI7XFxcIjtlbHNlIGlmKHIuaHB4KWErPVxcXCJNXFxcIisyMCpCbyhyLmhweCkrXFxcIjtcXFwiO2lmKGEubGVuZ3RoPjIpZS5wdXNoKGErXFxcIlJcXFwiKyh0KzEpKX0pfWZ1bmN0aW9uIGgoZSxyKXt2YXIgdD1bXFxcIklEO1BXWEw7TjtFXFxcIl0sYT1bXTt2YXIgbj1rdChlW1xcXCIhcmVmXFxcIl0pLGk7dmFyIHM9QXJyYXkuaXNBcnJheShlKTt2YXIgZj1cXFwiXFxcXHJcXFxcblxcXCI7dC5wdXNoKFxcXCJQO1BHZW5lcmFsXFxcIik7dC5wdXNoKFxcXCJGO1AwO0RHMEc4O00yNTVcXFwiKTtpZihlW1xcXCIhY29sc1xcXCJdKWModCxlW1xcXCIhY29sc1xcXCJdKTtpZihlW1xcXCIhcm93c1xcXCJdKXUodCxlW1xcXCIhcm93c1xcXCJdKTt0LnB1c2goXFxcIkI7WVxcXCIrKG4uZS5yLW4ucy5yKzEpK1xcXCI7WFxcXCIrKG4uZS5jLW4ucy5jKzEpK1xcXCI7RFxcXCIrW24ucy5jLG4ucy5yLG4uZS5jLG4uZS5yXS5qb2luKFxcXCIgXFxcIikpO2Zvcih2YXIgbz1uLnMucjtvPD1uLmUucjsrK28pe2Zvcih2YXIgaD1uLnMuYztoPD1uLmUuYzsrK2gpe3ZhciBkPWJ0KHtyOm8sYzpofSk7aT1zPyhlW29dfHxbXSlbaF06ZVtkXTtpZighaXx8aS52PT1udWxsJiYoIWkuZnx8aS5GKSljb250aW51ZTthLnB1c2gobChpLGUsbyxoLHIpKX19cmV0dXJuIHQuam9pbihmKStmK2Euam9pbihmKStmK1xcXCJFXFxcIitmfXJldHVybnt0b193b3JrYm9vazpmLHRvX3NoZWV0OnMsZnJvbV9zaGVldDpofX0oKTt2YXIgdmY9ZnVuY3Rpb24oKXtmdW5jdGlvbiBlKGUsdCl7c3dpdGNoKHQudHlwZSl7Y2FzZVxcXCJiYXNlNjRcXFwiOnJldHVybiByKGcuZGVjb2RlKGUpLHQpO2Nhc2VcXFwiYmluYXJ5XFxcIjpyZXR1cm4gcihlLHQpO2Nhc2VcXFwiYnVmZmVyXFxcIjpyZXR1cm4gcihlLnRvU3RyaW5nKFxcXCJiaW5hcnlcXFwiKSx0KTtjYXNlXFxcImFycmF5XFxcIjpyZXR1cm4gcihsZShlKSx0KTt9dGhyb3cgbmV3IEVycm9yKFxcXCJVbnJlY29nbml6ZWQgdHlwZSBcXFwiK3QudHlwZSl9ZnVuY3Rpb24gcihlLHIpe3ZhciB0PWUuc3BsaXQoXFxcIlxcXFxuXFxcIiksYT0tMSxuPS0xLGk9MCxzPVtdO2Zvcig7aSE9PXQubGVuZ3RoOysraSl7aWYodFtpXS50cmltKCk9PT1cXFwiQk9UXFxcIil7c1srK2FdPVtdO249MDtjb250aW51ZX1pZihhPDApY29udGludWU7dmFyIGY9dFtpXS50cmltKCkuc3BsaXQoXFxcIixcXFwiKTt2YXIgbz1mWzBdLGw9ZlsxXTsrK2k7dmFyIGM9dFtpXS50cmltKCk7c3dpdGNoKCtvKXtjYXNlLTE6aWYoYz09PVxcXCJCT1RcXFwiKXtzWysrYV09W107bj0wO2NvbnRpbnVlfWVsc2UgaWYoYyE9PVxcXCJFT0RcXFwiKXRocm93IG5ldyBFcnJvcihcXFwiVW5yZWNvZ25pemVkIERJRiBzcGVjaWFsIGNvbW1hbmQgXFxcIitjKTticmVhaztjYXNlIDA6aWYoYz09PVxcXCJUUlVFXFxcIilzW2FdW25dPXRydWU7ZWxzZSBpZihjPT09XFxcIkZBTFNFXFxcIilzW2FdW25dPWZhbHNlO2Vsc2UgaWYoIWlzTmFOKGhlKGwpKSlzW2FdW25dPWhlKGwpO2Vsc2UgaWYoIWlzTmFOKGRlKGwpLmdldERhdGUoKSkpc1thXVtuXT1vZShsKTtlbHNlIHNbYV1bbl09bDsrK247YnJlYWs7Y2FzZSAxOmM9Yy5zbGljZSgxLGMubGVuZ3RoLTEpO3NbYV1bbisrXT1jIT09XFxcIlxcXCI/YzpudWxsO2JyZWFrO31pZihjPT09XFxcIkVPRFxcXCIpYnJlYWt9aWYociYmci5zaGVldFJvd3Mpcz1zLnNsaWNlKDAsci5zaGVldFJvd3MpO3JldHVybiBzfWZ1bmN0aW9uIHQocix0KXtyZXR1cm4gQnQoZShyLHQpLHQpfWZ1bmN0aW9uIGEoZSxyKXtyZXR1cm4gX3QodChlLHIpLHIpfXZhciBuPWZ1bmN0aW9uKCl7dmFyIGU9ZnVuY3Rpb24gdChlLHIsYSxuLGkpe2UucHVzaChyKTtlLnB1c2goYStcXFwiLFxcXCIrbik7ZS5wdXNoKCdcXFwiJytpLnJlcGxhY2UoL1xcXCIvZywnXFxcIlxcXCInKSsnXFxcIicpfTt2YXIgcj1mdW5jdGlvbiBhKGUscix0LG4pe2UucHVzaChyK1xcXCIsXFxcIit0KTtlLnB1c2gocj09MT8nXFxcIicrbi5yZXBsYWNlKC9cXFwiL2csJ1xcXCJcXFwiJykrJ1xcXCInOm4pfTtyZXR1cm4gZnVuY3Rpb24gbih0KXt2YXIgYT1bXTt2YXIgbj1rdCh0W1xcXCIhcmVmXFxcIl0pLGk7dmFyIHM9QXJyYXkuaXNBcnJheSh0KTtlKGEsXFxcIlRBQkxFXFxcIiwwLDEsXFxcInNoZWV0anNcXFwiKTtlKGEsXFxcIlZFQ1RPUlNcXFwiLDAsbi5lLnItbi5zLnIrMSxcXFwiXFxcIik7ZShhLFxcXCJUVVBMRVNcXFwiLDAsbi5lLmMtbi5zLmMrMSxcXFwiXFxcIik7ZShhLFxcXCJEQVRBXFxcIiwwLDAsXFxcIlxcXCIpO2Zvcih2YXIgZj1uLnMucjtmPD1uLmUucjsrK2Ype3IoYSwtMSwwLFxcXCJCT1RcXFwiKTtmb3IodmFyIG89bi5zLmM7bzw9bi5lLmM7KytvKXt2YXIgbD1idCh7cjpmLGM6b30pO2k9cz8odFtmXXx8W10pW29dOnRbbF07aWYoIWkpe3IoYSwxLDAsXFxcIlxcXCIpO2NvbnRpbnVlfXN3aXRjaChpLnQpe2Nhc2VcXFwiblxcXCI6dmFyIGM9Yj9pLnc6aS52O2lmKCFjJiZpLnYhPW51bGwpYz1pLnY7aWYoYz09bnVsbCl7aWYoYiYmaS5mJiYhaS5GKXIoYSwxLDAsXFxcIj1cXFwiK2kuZik7ZWxzZSByKGEsMSwwLFxcXCJcXFwiKX1lbHNlIHIoYSwwLGMsXFxcIlZcXFwiKTticmVhaztjYXNlXFxcImJcXFwiOnIoYSwwLGkudj8xOjAsaS52P1xcXCJUUlVFXFxcIjpcXFwiRkFMU0VcXFwiKTticmVhaztjYXNlXFxcInNcXFwiOnIoYSwxLDAsIWJ8fGlzTmFOKGkudik/aS52Oic9XFxcIicraS52KydcXFwiJyk7YnJlYWs7Y2FzZVxcXCJkXFxcIjppZighaS53KWkudz1ELmZvcm1hdChpLnp8fEQuX3RhYmxlWzE0XSxlZShvZShpLnYpKSk7aWYoYilyKGEsMCxpLncsXFxcIlZcXFwiKTtlbHNlIHIoYSwxLDAsaS53KTticmVhaztkZWZhdWx0OnIoYSwxLDAsXFxcIlxcXCIpO319fXIoYSwtMSwwLFxcXCJFT0RcXFwiKTt2YXIgdT1cXFwiXFxcXHJcXFxcblxcXCI7dmFyIGg9YS5qb2luKHUpO3JldHVybiBofX0oKTtyZXR1cm57dG9fd29ya2Jvb2s6YSx0b19zaGVldDp0LGZyb21fc2hlZXQ6bn19KCk7dmFyIHBmPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gZShlKXtyZXR1cm4gZS5yZXBsYWNlKC9cXFxcXFxcXGIvZyxcXFwiXFxcXFxcXFxcXFwiKS5yZXBsYWNlKC9cXFxcXFxcXGMvZyxcXFwiOlxcXCIpLnJlcGxhY2UoL1xcXFxcXFxcbi9nLFxcXCJcXFxcblxcXCIpfWZ1bmN0aW9uIHIoZSl7cmV0dXJuIGUucmVwbGFjZSgvXFxcXFxcXFwvZyxcXFwiXFxcXFxcXFxiXFxcIikucmVwbGFjZSgvOi9nLFxcXCJcXFxcXFxcXGNcXFwiKS5yZXBsYWNlKC9cXFxcbi9nLFxcXCJcXFxcXFxcXG5cXFwiKX1mdW5jdGlvbiB0KHIsdCl7dmFyIGE9ci5zcGxpdChcXFwiXFxcXG5cXFwiKSxuPS0xLGk9LTEscz0wLGY9W107Zm9yKDtzIT09YS5sZW5ndGg7KytzKXt2YXIgbz1hW3NdLnRyaW0oKS5zcGxpdChcXFwiOlxcXCIpO2lmKG9bMF0hPT1cXFwiY2VsbFxcXCIpY29udGludWU7dmFyIGw9bXQob1sxXSk7aWYoZi5sZW5ndGg8PWwucilmb3Iobj1mLmxlbmd0aDtuPD1sLnI7KytuKWlmKCFmW25dKWZbbl09W107bj1sLnI7aT1sLmM7c3dpdGNoKG9bMl0pe2Nhc2VcXFwidFxcXCI6ZltuXVtpXT1lKG9bM10pO2JyZWFrO2Nhc2VcXFwidlxcXCI6ZltuXVtpXT0rb1szXTticmVhaztjYXNlXFxcInZ0ZlxcXCI6dmFyIGM9b1tvLmxlbmd0aC0xXTtjYXNlXFxcInZ0Y1xcXCI6c3dpdGNoKG9bM10pe2Nhc2VcXFwibmxcXFwiOmZbbl1baV09K29bNF0/dHJ1ZTpmYWxzZTticmVhaztkZWZhdWx0OmZbbl1baV09K29bNF07YnJlYWs7fWlmKG9bMl09PVxcXCJ2dGZcXFwiKWZbbl1baV09W2Zbbl1baV0sY107fX1pZih0JiZ0LnNoZWV0Um93cylmPWYuc2xpY2UoMCx0LnNoZWV0Um93cyk7cmV0dXJuIGZ9ZnVuY3Rpb24gYShlLHIpe3JldHVybiBCdCh0KGUscikscil9ZnVuY3Rpb24gbihlLHIpe3JldHVybiBfdChhKGUscikscil9dmFyIGk9W1xcXCJzb2NpYWxjYWxjOnZlcnNpb246MS41XFxcIixcXFwiTUlNRS1WZXJzaW9uOiAxLjBcXFwiLFxcXCJDb250ZW50LVR5cGU6IG11bHRpcGFydC9taXhlZDsgYm91bmRhcnk9U29jaWFsQ2FsY1NwcmVhZHNoZWV0Q29udHJvbFNhdmVcXFwiXS5qb2luKFxcXCJcXFxcblxcXCIpO3ZhciBzPVtcXFwiLS1Tb2NpYWxDYWxjU3ByZWFkc2hlZXRDb250cm9sU2F2ZVxcXCIsXFxcIkNvbnRlbnQtdHlwZTogdGV4dC9wbGFpbjsgY2hhcnNldD1VVEYtOFxcXCJdLmpvaW4oXFxcIlxcXFxuXFxcIikrXFxcIlxcXFxuXFxcIjt2YXIgZj1bXFxcIiMgU29jaWFsQ2FsYyBTcHJlYWRzaGVldCBDb250cm9sIFNhdmVcXFwiLFxcXCJwYXJ0OnNoZWV0XFxcIl0uam9pbihcXFwiXFxcXG5cXFwiKTt2YXIgbz1cXFwiLS1Tb2NpYWxDYWxjU3ByZWFkc2hlZXRDb250cm9sU2F2ZS0tXFxcIjtmdW5jdGlvbiBsKGUpe2lmKCFlfHwhZVtcXFwiIXJlZlxcXCJdKXJldHVyblxcXCJcXFwiO3ZhciB0PVtdLGE9W10sbixpPVxcXCJcXFwiO3ZhciBzPWd0KGVbXFxcIiFyZWZcXFwiXSk7dmFyIGY9QXJyYXkuaXNBcnJheShlKTtmb3IodmFyIG89cy5zLnI7bzw9cy5lLnI7KytvKXtmb3IodmFyIGw9cy5zLmM7bDw9cy5lLmM7KytsKXtpPWJ0KHtyOm8sYzpsfSk7bj1mPyhlW29dfHxbXSlbbF06ZVtpXTtpZighbnx8bi52PT1udWxsfHxuLnQ9PT1cXFwielxcXCIpY29udGludWU7YT1bXFxcImNlbGxcXFwiLGksXFxcInRcXFwiXTtzd2l0Y2gobi50KXtjYXNlXFxcInNcXFwiOjtjYXNlXFxcInN0clxcXCI6YS5wdXNoKHIobi52KSk7YnJlYWs7Y2FzZVxcXCJuXFxcIjppZighbi5mKXthWzJdPVxcXCJ2XFxcIjthWzNdPW4udn1lbHNle2FbMl09XFxcInZ0ZlxcXCI7YVszXT1cXFwiblxcXCI7YVs0XT1uLnY7YVs1XT1yKG4uZil9YnJlYWs7Y2FzZVxcXCJiXFxcIjphWzJdPVxcXCJ2dFxcXCIrKG4uZj9cXFwiZlxcXCI6XFxcImNcXFwiKTthWzNdPVxcXCJubFxcXCI7YVs0XT1uLnY/XFxcIjFcXFwiOlxcXCIwXFxcIjthWzVdPXIobi5mfHwobi52P1xcXCJUUlVFXFxcIjpcXFwiRkFMU0VcXFwiKSk7YnJlYWs7Y2FzZVxcXCJkXFxcIjp2YXIgYz1lZShvZShuLnYpKTthWzJdPVxcXCJ2dGNcXFwiO2FbM109XFxcIm5kXFxcIjthWzRdPVxcXCJcXFwiK2M7YVs1XT1uLnd8fEQuZm9ybWF0KG4uenx8RC5fdGFibGVbMTRdLGMpO2JyZWFrO2Nhc2VcXFwiZVxcXCI6Y29udGludWU7fXQucHVzaChhLmpvaW4oXFxcIjpcXFwiKSl9fXQucHVzaChcXFwic2hlZXQ6YzpcXFwiKyhzLmUuYy1zLnMuYysxKStcXFwiOnI6XFxcIisocy5lLnItcy5zLnIrMSkrXFxcIjp0dmY6MVxcXCIpO3QucHVzaChcXFwidmFsdWVmb3JtYXQ6MTp0ZXh0LXdpa2lcXFwiKTtyZXR1cm4gdC5qb2luKFxcXCJcXFxcblxcXCIpfWZ1bmN0aW9uIGMoZSl7cmV0dXJuW2kscyxmLHMsbChlKSxvXS5qb2luKFxcXCJcXFxcblxcXCIpfXJldHVybnt0b193b3JrYm9vazpuLHRvX3NoZWV0OmEsZnJvbV9zaGVldDpjfX0oKTt2YXIgbWY9ZnVuY3Rpb24oKXtmdW5jdGlvbiBlKGUscix0LGEsbil7aWYobi5yYXcpclt0XVthXT1lO2Vsc2UgaWYoZT09PVxcXCJUUlVFXFxcIilyW3RdW2FdPXRydWU7ZWxzZSBpZihlPT09XFxcIkZBTFNFXFxcIilyW3RdW2FdPWZhbHNlO2Vsc2UgaWYoZT09PVxcXCJcXFwiKXt9ZWxzZSBpZighaXNOYU4oaGUoZSkpKXJbdF1bYV09aGUoZSk7ZWxzZSBpZighaXNOYU4oZGUoZSkuZ2V0RGF0ZSgpKSlyW3RdW2FdPW9lKGUpO2Vsc2Ugclt0XVthXT1lfWZ1bmN0aW9uIHIocix0KXt2YXIgYT10fHx7fTt2YXIgbj1bXTtpZighcnx8ci5sZW5ndGg9PT0wKXJldHVybiBuO3ZhciBpPXIuc3BsaXQoL1tcXFxcclxcXFxuXS8pO3ZhciBzPWkubGVuZ3RoLTE7d2hpbGUocz49MCYmaVtzXS5sZW5ndGg9PT0wKS0tczt2YXIgZj0xMCxvPTA7dmFyIGw9MDtmb3IoO2w8PXM7KytsKXtvPWlbbF0uaW5kZXhPZihcXFwiIFxcXCIpO2lmKG89PS0xKW89aVtsXS5sZW5ndGg7ZWxzZSBvKys7Zj1NYXRoLm1heChmLG8pfWZvcihsPTA7bDw9czsrK2wpe25bbF09W107dmFyIGM9MDtlKGlbbF0uc2xpY2UoMCxmKS50cmltKCksbixsLGMsYSk7Zm9yKGM9MTtjPD0oaVtsXS5sZW5ndGgtZikvMTArMTsrK2MpZShpW2xdLnNsaWNlKGYrKGMtMSkqMTAsZitjKjEwKS50cmltKCksbixsLGMsYSl9aWYoYS5zaGVldFJvd3Mpbj1uLnNsaWNlKDAsYS5zaGVldFJvd3MpO3JldHVybiBufXZhciB0PXs0NDpcXFwiLFxcXCIsOTpcXFwiXFxcXHRcXFwiLDU5OlxcXCI7XFxcIn07dmFyIGE9ezQ0OjMsOToyLDU5OjF9O2Z1bmN0aW9uIG4oZSl7dmFyIHI9e30sbj1mYWxzZSxpPTAscz0wO2Zvcig7aTxlLmxlbmd0aDsrK2kpe2lmKChzPWUuY2hhckNvZGVBdChpKSk9PTM0KW49IW47ZWxzZSBpZighbiYmcyBpbiB0KXJbc109KHJbc118fDApKzF9cz1bXTtmb3IoaSBpbiByKWlmKE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChyLGkpKXtzLnB1c2goW3JbaV0saV0pfWlmKCFzLmxlbmd0aCl7cj1hO2ZvcihpIGluIHIpaWYoT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHIsaSkpe3MucHVzaChbcltpXSxpXSl9fXMuc29ydChmdW5jdGlvbihlLHIpe3JldHVybiBlWzBdLXJbMF18fGFbZVsxXV0tYVtyWzFdXX0pO3JldHVybiB0W3MucG9wKClbMV1dfWZ1bmN0aW9uIGkoZSxyKXt2YXIgdD1yfHx7fTt2YXIgYT1cXFwiXFxcIjtpZihtIT1udWxsJiZ0LmRlbnNlPT1udWxsKXQuZGVuc2U9bTt2YXIgaT10LmRlbnNlP1tdOnt9O3ZhciBzPXtzOntjOjAscjowfSxlOntjOjAscjowfX07aWYoZS5zbGljZSgwLDQpPT1cXFwic2VwPVxcXCIpe2lmKGUuY2hhckNvZGVBdCg1KT09MTMmJmUuY2hhckNvZGVBdCg2KT09MTApe2E9ZS5jaGFyQXQoNCk7ZT1lLnNsaWNlKDcpfWVsc2UgaWYoZS5jaGFyQ29kZUF0KDUpPT0xM3x8ZS5jaGFyQ29kZUF0KDUpPT0xMCl7YT1lLmNoYXJBdCg0KTtlPWUuc2xpY2UoNil9fWVsc2UgYT1uKGUuc2xpY2UoMCwxMDI0KSk7dmFyIGY9MCxvPTAsbD0wO3ZhciBjPTAsdT0wLGg9YS5jaGFyQ29kZUF0KDApLGQ9ZmFsc2Usdj0wO2U9ZS5yZXBsYWNlKC9cXFxcclxcXFxuL2dtLFxcXCJcXFxcblxcXCIpO3ZhciBwPXQuZGF0ZU5GIT1udWxsP00odC5kYXRlTkYpOm51bGw7ZnVuY3Rpb24gYigpe3ZhciByPWUuc2xpY2UoYyx1KTt2YXIgYT17fTtpZihyLmNoYXJBdCgwKT09J1xcXCInJiZyLmNoYXJBdChyLmxlbmd0aC0xKT09J1xcXCInKXI9ci5zbGljZSgxLC0xKS5yZXBsYWNlKC9cXFwiXFxcIi9nLCdcXFwiJyk7aWYoci5sZW5ndGg9PT0wKWEudD1cXFwielxcXCI7ZWxzZSBpZih0LnJhdyl7YS50PVxcXCJzXFxcIjthLnY9cn1lbHNlIGlmKHIudHJpbSgpLmxlbmd0aD09PTApe2EudD1cXFwic1xcXCI7YS52PXJ9ZWxzZSBpZihyLmNoYXJDb2RlQXQoMCk9PTYxKXtpZihyLmNoYXJDb2RlQXQoMSk9PTM0JiZyLmNoYXJDb2RlQXQoci5sZW5ndGgtMSk9PTM0KXthLnQ9XFxcInNcXFwiO2Eudj1yLnNsaWNlKDIsLTEpLnJlcGxhY2UoL1xcXCJcXFwiL2csJ1xcXCInKX1lbHNlIGlmKGxjKHIpKXthLnQ9XFxcIm5cXFwiO2EuZj1yLnNsaWNlKDEpfWVsc2V7YS50PVxcXCJzXFxcIjthLnY9cn19ZWxzZSBpZihyPT1cXFwiVFJVRVxcXCIpe2EudD1cXFwiYlxcXCI7YS52PXRydWV9ZWxzZSBpZihyPT1cXFwiRkFMU0VcXFwiKXthLnQ9XFxcImJcXFwiO2Eudj1mYWxzZX1lbHNlIGlmKCFpc05hTihsPWhlKHIpKSl7YS50PVxcXCJuXFxcIjtpZih0LmNlbGxUZXh0IT09ZmFsc2UpYS53PXI7YS52PWx9ZWxzZSBpZighaXNOYU4oZGUocikuZ2V0RGF0ZSgpKXx8cCYmci5tYXRjaChwKSl7YS56PXQuZGF0ZU5GfHxELl90YWJsZVsxNF07dmFyIG49MDtpZihwJiZyLm1hdGNoKHApKXtyPVUocix0LmRhdGVORixyLm1hdGNoKHApfHxbXSk7bj0xfWlmKHQuY2VsbERhdGVzKXthLnQ9XFxcImRcXFwiO2Eudj1vZShyLG4pfWVsc2V7YS50PVxcXCJuXFxcIjthLnY9ZWUob2UocixuKSl9aWYodC5jZWxsVGV4dCE9PWZhbHNlKWEudz1ELmZvcm1hdChhLnosYS52IGluc3RhbmNlb2YgRGF0ZT9lZShhLnYpOmEudik7aWYoIXQuY2VsbE5GKWRlbGV0ZSBhLnp9ZWxzZXthLnQ9XFxcInNcXFwiO2Eudj1yfWlmKGEudD09XFxcInpcXFwiKXt9ZWxzZSBpZih0LmRlbnNlKXtpZighaVtmXSlpW2ZdPVtdO2lbZl1bb109YX1lbHNlIGlbYnQoe2M6byxyOmZ9KV09YTtjPXUrMTtpZihzLmUuYzxvKXMuZS5jPW87aWYocy5lLnI8ZilzLmUucj1mO2lmKHY9PWgpKytvO2Vsc2V7bz0wOysrZjtpZih0LnNoZWV0Um93cyYmdC5zaGVldFJvd3M8PWYpcmV0dXJuIHRydWV9fWU6Zm9yKDt1PGUubGVuZ3RoOysrdSlzd2l0Y2godj1lLmNoYXJDb2RlQXQodSkpe2Nhc2UgMzQ6ZD0hZDticmVhaztjYXNlIGg6O2Nhc2UgMTA6O2Nhc2UgMTM6aWYoIWQmJmIoKSlicmVhayBlO2JyZWFrO2RlZmF1bHQ6YnJlYWs7fWlmKHUtYz4wKWIoKTtpW1xcXCIhcmVmXFxcIl09d3Qocyk7cmV0dXJuIGl9ZnVuY3Rpb24gcyhlLHQpe2lmKCEodCYmdC5QUk4pKXJldHVybiBpKGUsdCk7aWYoZS5zbGljZSgwLDQpPT1cXFwic2VwPVxcXCIpcmV0dXJuIGkoZSx0KTtpZihlLmluZGV4T2YoXFxcIlxcXFx0XFxcIik+PTB8fGUuaW5kZXhPZihcXFwiLFxcXCIpPj0wfHxlLmluZGV4T2YoXFxcIjtcXFwiKT49MClyZXR1cm4gaShlLHQpO3JldHVybiBCdChyKGUsdCksdCl9ZnVuY3Rpb24gZihlLHIpe3ZhciB0PVxcXCJcXFwiLGE9ci50eXBlPT1cXFwic3RyaW5nXFxcIj9bMCwwLDAsMF06Rm0oZSxyKTtzd2l0Y2goci50eXBlKXtjYXNlXFxcImJhc2U2NFxcXCI6dD1nLmRlY29kZShlKTticmVhaztjYXNlXFxcImJpbmFyeVxcXCI6dD1lO2JyZWFrO2Nhc2VcXFwiYnVmZmVyXFxcIjppZihyLmNvZGVwYWdlPT02NTAwMSl0PWUudG9TdHJpbmcoXFxcInV0ZjhcXFwiKTtlbHNlIGlmKHIuY29kZXBhZ2UmJnR5cGVvZiBjcHRhYmxlIT09XFxcInVuZGVmaW5lZFxcXCIpdD1jcHRhYmxlLnV0aWxzLmRlY29kZShyLmNvZGVwYWdlLGUpO2Vsc2UgdD1lLnRvU3RyaW5nKFxcXCJiaW5hcnlcXFwiKTticmVhaztjYXNlXFxcImFycmF5XFxcIjp0PWxlKGUpO2JyZWFrO2Nhc2VcXFwic3RyaW5nXFxcIjp0PWU7YnJlYWs7ZGVmYXVsdDp0aHJvdyBuZXcgRXJyb3IoXFxcIlVucmVjb2duaXplZCB0eXBlIFxcXCIrci50eXBlKTt9aWYoYVswXT09MjM5JiZhWzFdPT0xODcmJmFbMl09PTE5MSl0PVllKHQuc2xpY2UoMykpO2Vsc2UgaWYoci50eXBlPT1cXFwiYmluYXJ5XFxcIiYmdHlwZW9mIGNwdGFibGUhPT1cXFwidW5kZWZpbmVkXFxcIiYmci5jb2RlcGFnZSl0PWNwdGFibGUudXRpbHMuZGVjb2RlKHIuY29kZXBhZ2UsY3B0YWJsZS51dGlscy5lbmNvZGUoMTI1Mix0KSk7aWYodC5zbGljZSgwLDE5KT09XFxcInNvY2lhbGNhbGM6dmVyc2lvbjpcXFwiKXJldHVybiBwZi50b19zaGVldChyLnR5cGU9PVxcXCJzdHJpbmdcXFwiP3Q6WWUodCkscik7cmV0dXJuIHModCxyKX1mdW5jdGlvbiBvKGUscil7cmV0dXJuIF90KGYoZSxyKSxyKX1mdW5jdGlvbiBsKGUpe3ZhciByPVtdO3ZhciB0PWt0KGVbXFxcIiFyZWZcXFwiXSksYTt2YXIgbj1BcnJheS5pc0FycmF5KGUpO2Zvcih2YXIgaT10LnMucjtpPD10LmUucjsrK2kpe3ZhciBzPVtdO2Zvcih2YXIgZj10LnMuYztmPD10LmUuYzsrK2Ype3ZhciBvPWJ0KHtyOmksYzpmfSk7YT1uPyhlW2ldfHxbXSlbZl06ZVtvXTtpZighYXx8YS52PT1udWxsKXtzLnB1c2goXFxcIiAgICAgICAgICBcXFwiKTtjb250aW51ZX12YXIgbD0oYS53fHwoU3QoYSksYS53KXx8XFxcIlxcXCIpLnNsaWNlKDAsMTApO3doaWxlKGwubGVuZ3RoPDEwKWwrPVxcXCIgXFxcIjtzLnB1c2gobCsoZj09PTA/XFxcIiBcXFwiOlxcXCJcXFwiKSl9ci5wdXNoKHMuam9pbihcXFwiXFxcIikpfXJldHVybiByLmpvaW4oXFxcIlxcXFxuXFxcIil9cmV0dXJue3RvX3dvcmtib29rOm8sdG9fc2hlZXQ6Zixmcm9tX3NoZWV0Omx9fSgpO2Z1bmN0aW9uIGJmKGUscil7dmFyIHQ9cnx8e30sYT0hIXQuV1RGO3QuV1RGPXRydWU7dHJ5e3ZhciBuPWRmLnRvX3dvcmtib29rKGUsdCk7dC5XVEY9YTtyZXR1cm4gbn1jYXRjaChpKXt0LldURj1hO2lmKCFpLm1lc3NhZ2UubWF0Y2goL1NZTEsgYmFkIHJlY29yZCBJRC8pJiZhKXRocm93IGk7cmV0dXJuIG1mLnRvX3dvcmtib29rKGUscil9fXZhciBnZj1mdW5jdGlvbigpe2Z1bmN0aW9uIGUoZSxyLHQpe2lmKCFlKXJldHVybjtZcihlLGUubHx8MCk7dmFyIGE9dC5FbnVtfHx3O3doaWxlKGUubDxlLmxlbmd0aCl7dmFyIG49ZS5fUigyKTt2YXIgaT1hW25dfHxhWzI1NV07dmFyIHM9ZS5fUigyKTt2YXIgZj1lLmwrczt2YXIgbz0oaS5mfHxacikoZSxzLHQpO2UubD1mO2lmKHIobyxpLm4sbikpcmV0dXJufX1mdW5jdGlvbiByKGUscil7c3dpdGNoKHIudHlwZSl7Y2FzZVxcXCJiYXNlNjRcXFwiOnJldHVybiB0KEIoZy5kZWNvZGUoZSkpLHIpO2Nhc2VcXFwiYmluYXJ5XFxcIjpyZXR1cm4gdChCKGUpLHIpO2Nhc2VcXFwiYnVmZmVyXFxcIjo7Y2FzZVxcXCJhcnJheVxcXCI6cmV0dXJuIHQoZSxyKTt9dGhyb3dcXFwiVW5zdXBwb3J0ZWQgdHlwZSBcXFwiK3IudHlwZX1mdW5jdGlvbiB0KHIsdCl7aWYoIXIpcmV0dXJuIHI7dmFyIGE9dHx8e307aWYobSE9bnVsbCYmYS5kZW5zZT09bnVsbClhLmRlbnNlPW07dmFyIG49YS5kZW5zZT9bXTp7fSxpPVxcXCJTaGVldDFcXFwiLHM9MDt2YXIgZj17fSxvPVtpXTt2YXIgbD17czp7cjowLGM6MH0sZTp7cjowLGM6MH19O3ZhciBjPWEuc2hlZXRSb3dzfHwwO2lmKHJbMl09PTIpYS5FbnVtPXc7ZWxzZSBpZihyWzJdPT0yNilhLkVudW09aztlbHNlIGlmKHJbMl09PTE0KXthLkVudW09azthLnFwcm89dHJ1ZTtyLmw9MH1lbHNlIHRocm93IG5ldyBFcnJvcihcXFwiVW5yZWNvZ25pemVkIExPVFVTIEJPRiBcXFwiK3JbMl0pO2UocixmdW5jdGlvbihlLHQsdSl7aWYoclsyXT09Milzd2l0Y2godSl7Y2FzZSAwOmEudmVycz1lO2lmKGU+PTQwOTYpYS5xcHJvPXRydWU7YnJlYWs7Y2FzZSA2Omw9ZTticmVhaztjYXNlIDE1OmlmKCFhLnFwcm8pZVsxXS52PWVbMV0udi5zbGljZSgxKTtjYXNlIDEzOjtjYXNlIDE0OjtjYXNlIDE2OjtjYXNlIDUxOmlmKHU9PTE0JiYoZVsyXSYxMTIpPT0xMTImJihlWzJdJjE1KT4xJiYoZVsyXSYxNSk8MTUpe2VbMV0uej1hLmRhdGVORnx8RC5fdGFibGVbMTRdO2lmKGEuY2VsbERhdGVzKXtlWzFdLnQ9XFxcImRcXFwiO2VbMV0udj1uZShlWzFdLnYpfX1pZihhLmRlbnNlKXtpZighbltlWzBdLnJdKW5bZVswXS5yXT1bXTtuW2VbMF0ucl1bZVswXS5jXT1lWzFdfWVsc2UgbltidChlWzBdKV09ZVsxXTticmVhazt9ZWxzZSBzd2l0Y2godSl7Y2FzZSAyMjplWzFdLnY9ZVsxXS52LnNsaWNlKDEpO2Nhc2UgMjM6O2Nhc2UgMjQ6O2Nhc2UgMjU6O2Nhc2UgMzc6O2Nhc2UgMzk6O2Nhc2UgNDA6aWYoZVszXT5zKXtuW1xcXCIhcmVmXFxcIl09d3QobCk7ZltpXT1uO249YS5kZW5zZT9bXTp7fTtsPXtzOntyOjAsYzowfSxlOntyOjAsYzowfX07cz1lWzNdO2k9XFxcIlNoZWV0XFxcIisocysxKTtvLnB1c2goaSl9aWYoYz4wJiZlWzBdLnI+PWMpYnJlYWs7aWYoYS5kZW5zZSl7aWYoIW5bZVswXS5yXSluW2VbMF0ucl09W107bltlWzBdLnJdW2VbMF0uY109ZVsxXX1lbHNlIG5bYnQoZVswXSldPWVbMV07aWYobC5lLmM8ZVswXS5jKWwuZS5jPWVbMF0uYztpZihsLmUucjxlWzBdLnIpbC5lLnI9ZVswXS5yO2JyZWFrO2RlZmF1bHQ6YnJlYWs7fX0sYSk7bltcXFwiIXJlZlxcXCJdPXd0KGwpO2ZbaV09bjtyZXR1cm57U2hlZXROYW1lczpvLFNoZWV0czpmfX1mdW5jdGlvbiBhKGUpe3ZhciByPXtzOntjOjAscjowfSxlOntjOjAscjowfX07ci5zLmM9ZS5fUigyKTtyLnMucj1lLl9SKDIpO3IuZS5jPWUuX1IoMik7ci5lLnI9ZS5fUigyKTtpZihyLnMuYz09NjU1MzUpci5zLmM9ci5lLmM9ci5zLnI9ci5lLnI9MDtyZXR1cm4gcn1mdW5jdGlvbiBuKGUscix0KXt2YXIgYT1be2M6MCxyOjB9LHt0OlxcXCJuXFxcIix2OjB9LDBdO2lmKHQucXBybyYmdC52ZXJzIT0yMDc2OCl7YVswXS5jPWUuX1IoMSk7ZS5sKys7YVswXS5yPWUuX1IoMik7ZS5sKz0yfWVsc2V7YVsyXT1lLl9SKDEpO2FbMF0uYz1lLl9SKDIpO2FbMF0ucj1lLl9SKDIpfXJldHVybiBhfWZ1bmN0aW9uIGkoZSxyLHQpe3ZhciBhPWUubCtyO3ZhciBpPW4oZSxyLHQpO2lbMV0udD1cXFwic1xcXCI7aWYodC52ZXJzPT0yMDc2OCl7ZS5sKys7dmFyIHM9ZS5fUigxKTtpWzFdLnY9ZS5fUihzLFxcXCJ1dGY4XFxcIik7cmV0dXJuIGl9aWYodC5xcHJvKWUubCsrO2lbMV0udj1lLl9SKGEtZS5sLFxcXCJjc3RyXFxcIik7cmV0dXJuIGl9ZnVuY3Rpb24gcyhlLHIsdCl7dmFyIGE9bihlLHIsdCk7YVsxXS52PWUuX1IoMixcXFwiaVxcXCIpO3JldHVybiBhfWZ1bmN0aW9uIGYoZSxyLHQpe3ZhciBhPW4oZSxyLHQpO2FbMV0udj1lLl9SKDgsXFxcImZcXFwiKTtyZXR1cm4gYX1mdW5jdGlvbiBvKGUscix0KXt2YXIgYT1lLmwrcjt2YXIgaT1uKGUscix0KTtpWzFdLnY9ZS5fUig4LFxcXCJmXFxcIik7aWYodC5xcHJvKWUubD1hO2Vsc2V7dmFyIHM9ZS5fUigyKTtlLmwrPXN9cmV0dXJuIGl9ZnVuY3Rpb24gbChlKXt2YXIgcj1be2M6MCxyOjB9LHt0OlxcXCJuXFxcIix2OjB9LDBdO3JbMF0ucj1lLl9SKDIpO3JbM109ZVtlLmwrK107clswXS5jPWVbZS5sKytdO3JldHVybiByfWZ1bmN0aW9uIGMoZSxyKXt2YXIgdD1sKGUscik7dFsxXS50PVxcXCJzXFxcIjt0WzFdLnY9ZS5fUihyLTQsXFxcImNzdHJcXFwiKTtyZXR1cm4gdH1mdW5jdGlvbiB1KGUscil7dmFyIHQ9bChlLHIpO3RbMV0udj1lLl9SKDIpO3ZhciBhPXRbMV0udj4+MTtpZih0WzFdLnYmMSl7c3dpdGNoKGEmNyl7Y2FzZSAxOmE9KGE+PjMpKjUwMDticmVhaztjYXNlIDI6YT0oYT4+MykvMjA7YnJlYWs7Y2FzZSA0OmE9KGE+PjMpLzJlMzticmVhaztjYXNlIDY6YT0oYT4+MykvMTY7YnJlYWs7Y2FzZSA3OmE9KGE+PjMpLzY0O2JyZWFrO2RlZmF1bHQ6dGhyb3dcXFwidW5rbm93biBOVU1CRVJfMTggZW5jb2RpbmcgXFxcIisoYSY3KTt9fXRbMV0udj1hO3JldHVybiB0fWZ1bmN0aW9uIGgoZSxyKXt2YXIgdD1sKGUscik7dmFyIGE9ZS5fUig0KTt2YXIgbj1lLl9SKDQpO3ZhciBpPWUuX1IoMik7aWYoaT09NjU1MzUpe3RbMV0udj0wO3JldHVybiB0fXZhciBzPWkmMzI3Njg7aT0oaSYzMjc2NyktMTY0NDY7dFsxXS52PShzKjItMSkqKChpPjA/bjw8aTpuPj4+LWkpKyhpPi0zMj9hPDxpKzMyOmE+Pj4tKGkrMzIpKSk7cmV0dXJuIHR9ZnVuY3Rpb24gZChlLHIpe3ZhciB0PWgoZSwxNCk7ZS5sKz1yLTE0O3JldHVybiB0fWZ1bmN0aW9uIHYoZSxyKXt2YXIgdD1sKGUscik7dmFyIGE9ZS5fUig0KTt0WzFdLnY9YT4+NjtyZXR1cm4gdH1mdW5jdGlvbiBwKGUscil7dmFyIHQ9bChlLHIpO3ZhciBhPWUuX1IoOCxcXFwiZlxcXCIpO3RbMV0udj1hO3JldHVybiB0fWZ1bmN0aW9uIGIoZSxyKXt2YXIgdD1wKGUsMTQpO2UubCs9ci0xMDtyZXR1cm4gdH12YXIgdz17MDp7bjpcXFwiQk9GXFxcIixmOiRufSwxOntuOlxcXCJFT0ZcXFwifSwyOntuOlxcXCJDQUxDTU9ERVxcXCJ9LDM6e246XFxcIkNBTENPUkRFUlxcXCJ9LDQ6e246XFxcIlNQTElUXFxcIn0sNTp7bjpcXFwiU1lOQ1xcXCJ9LDY6e246XFxcIlJBTkdFXFxcIixmOmF9LDc6e246XFxcIldJTkRPVzFcXFwifSw4OntuOlxcXCJDT0xXMVxcXCJ9LDk6e246XFxcIldJTlRXT1xcXCJ9LDEwOntuOlxcXCJDT0xXMlxcXCJ9LDExOntuOlxcXCJOQU1FXFxcIn0sMTI6e246XFxcIkJMQU5LXFxcIn0sMTM6e246XFxcIklOVEVHRVJcXFwiLGY6c30sMTQ6e246XFxcIk5VTUJFUlxcXCIsZjpmfSwxNTp7bjpcXFwiTEFCRUxcXFwiLGY6aX0sMTY6e246XFxcIkZPUk1VTEFcXFwiLGY6b30sMjQ6e246XFxcIlRBQkxFXFxcIn0sMjU6e246XFxcIk9SQU5HRVxcXCJ9LDI2OntuOlxcXCJQUkFOR0VcXFwifSwyNzp7bjpcXFwiU1JBTkdFXFxcIn0sMjg6e246XFxcIkZSQU5HRVxcXCJ9LDI5OntuOlxcXCJLUkFOR0UxXFxcIn0sMzI6e246XFxcIkhSQU5HRVxcXCJ9LDM1OntuOlxcXCJLUkFOR0UyXFxcIn0sMzY6e246XFxcIlBST1RFQ1xcXCJ9LDM3OntuOlxcXCJGT09URVJcXFwifSwzODp7bjpcXFwiSEVBREVSXFxcIn0sMzk6e246XFxcIlNFVFVQXFxcIn0sNDA6e246XFxcIk1BUkdJTlNcXFwifSw0MTp7bjpcXFwiTEFCRUxGTVRcXFwifSw0Mjp7bjpcXFwiVElUTEVTXFxcIn0sNDM6e246XFxcIlNIRUVUSlNcXFwifSw0NTp7bjpcXFwiR1JBUEhcXFwifSw0Njp7bjpcXFwiTkdSQVBIXFxcIn0sNDc6e246XFxcIkNBTENDT1VOVFxcXCJ9LDQ4OntuOlxcXCJVTkZPUk1BVFRFRFxcXCJ9LDQ5OntuOlxcXCJDVVJTT1JXMTJcXFwifSw1MDp7bjpcXFwiV0lORE9XXFxcIn0sNTE6e246XFxcIlNUUklOR1xcXCIsZjppfSw1NTp7bjpcXFwiUEFTU1dPUkRcXFwifSw1Njp7bjpcXFwiTE9DS0VEXFxcIn0sNjA6e246XFxcIlFVRVJZXFxcIn0sNjE6e246XFxcIlFVRVJZTkFNRVxcXCJ9LDYyOntuOlxcXCJQUklOVFxcXCJ9LDYzOntuOlxcXCJQUklOVE5BTUVcXFwifSw2NDp7bjpcXFwiR1JBUEgyXFxcIn0sNjU6e246XFxcIkdSQVBITkFNRVxcXCJ9LDY2OntuOlxcXCJaT09NXFxcIn0sNjc6e246XFxcIlNZTVNQTElUXFxcIn0sNjg6e246XFxcIk5TUk9XU1xcXCJ9LDY5OntuOlxcXCJOU0NPTFNcXFwifSw3MDp7bjpcXFwiUlVMRVJcXFwifSw3MTp7bjpcXFwiTk5BTUVcXFwifSw3Mjp7bjpcXFwiQUNPTU1cXFwifSw3Mzp7bjpcXFwiQU1BQ1JPXFxcIn0sNzQ6e246XFxcIlBBUlNFXFxcIn0sMjU1OntuOlxcXCJcXFwiLGY6WnJ9fTt2YXIgaz17MDp7bjpcXFwiQk9GXFxcIn0sMTp7bjpcXFwiRU9GXFxcIn0sMzp7bjpcXFwiPz9cXFwifSw0OntuOlxcXCI/P1xcXCJ9LDU6e246XFxcIj8/XFxcIn0sNjp7bjpcXFwiPz9cXFwifSw3OntuOlxcXCI/P1xcXCJ9LDk6e246XFxcIj8/XFxcIn0sMTA6e246XFxcIj8/XFxcIn0sMTE6e246XFxcIj8/XFxcIn0sMTI6e246XFxcIj8/XFxcIn0sMTQ6e246XFxcIj8/XFxcIn0sMTU6e246XFxcIj8/XFxcIn0sMTY6e246XFxcIj8/XFxcIn0sMTc6e246XFxcIj8/XFxcIn0sMTg6e246XFxcIj8/XFxcIn0sMTk6e246XFxcIj8/XFxcIn0sMjE6e246XFxcIj8/XFxcIn0sMjI6e246XFxcIkxBQkVMMTZcXFwiLGY6Y30sMjM6e246XFxcIk5VTUJFUjE3XFxcIixmOmh9LDI0OntuOlxcXCJOVU1CRVIxOFxcXCIsZjp1fSwyNTp7bjpcXFwiRk9STVVMQTE5XFxcIixmOmR9LDI2OntuOlxcXCI/P1xcXCJ9LDI3OntuOlxcXCI/P1xcXCJ9LDI4OntuOlxcXCI/P1xcXCJ9LDI5OntuOlxcXCI/P1xcXCJ9LDMwOntuOlxcXCI/P1xcXCJ9LDMxOntuOlxcXCI/P1xcXCJ9LDMzOntuOlxcXCI/P1xcXCJ9LDM3OntuOlxcXCJOVU1CRVIyNVxcXCIsZjp2fSwzOTp7bjpcXFwiTlVNQkVSMjdcXFwiLGY6cH0sNDA6e246XFxcIkZPUk1VTEEyOFxcXCIsZjpifSwyNTU6e246XFxcIlxcXCIsZjpacn19O3JldHVybnt0b193b3JrYm9vazpyfX0oKTtmdW5jdGlvbiB3ZihlKXt2YXIgcj17fSx0PWUubWF0Y2goUmUpLGE9MDt2YXIgbj1mYWxzZTtpZih0KWZvcig7YSE9dC5sZW5ndGg7KythKXt2YXIgcz1GZSh0W2FdKTtzd2l0Y2goc1swXS5yZXBsYWNlKC9cXFxcdyo6L2csXFxcIlxcXCIpKXtjYXNlXFxcIjxjb25kZW5zZVxcXCI6YnJlYWs7Y2FzZVxcXCI8ZXh0ZW5kXFxcIjpicmVhaztjYXNlXFxcIjxzaGFkb3dcXFwiOmlmKCFzLnZhbClicmVhaztjYXNlXFxcIjxzaGFkb3c+XFxcIjo7Y2FzZVxcXCI8c2hhZG93Lz5cXFwiOnIuc2hhZG93PTE7YnJlYWs7Y2FzZVxcXCI8L3NoYWRvdz5cXFwiOmJyZWFrO2Nhc2VcXFwiPGNoYXJzZXRcXFwiOmlmKHMudmFsPT1cXFwiMVxcXCIpYnJlYWs7ci5jcD1pW3BhcnNlSW50KHMudmFsLDEwKV07YnJlYWs7Y2FzZVxcXCI8b3V0bGluZVxcXCI6aWYoIXMudmFsKWJyZWFrO2Nhc2VcXFwiPG91dGxpbmU+XFxcIjo7Y2FzZVxcXCI8b3V0bGluZS8+XFxcIjpyLm91dGxpbmU9MTticmVhaztjYXNlXFxcIjwvb3V0bGluZT5cXFwiOmJyZWFrO2Nhc2VcXFwiPHJGb250XFxcIjpyLm5hbWU9cy52YWw7YnJlYWs7Y2FzZVxcXCI8c3pcXFwiOnIuc3o9cy52YWw7YnJlYWs7Y2FzZVxcXCI8c3RyaWtlXFxcIjppZighcy52YWwpYnJlYWs7Y2FzZVxcXCI8c3RyaWtlPlxcXCI6O2Nhc2VcXFwiPHN0cmlrZS8+XFxcIjpyLnN0cmlrZT0xO2JyZWFrO2Nhc2VcXFwiPC9zdHJpa2U+XFxcIjpicmVhaztjYXNlXFxcIjx1XFxcIjppZighcy52YWwpYnJlYWs7c3dpdGNoKHMudmFsKXtjYXNlXFxcImRvdWJsZVxcXCI6ci51dmFsPVxcXCJkb3VibGVcXFwiO2JyZWFrO2Nhc2VcXFwic2luZ2xlQWNjb3VudGluZ1xcXCI6ci51dmFsPVxcXCJzaW5nbGUtYWNjb3VudGluZ1xcXCI7YnJlYWs7Y2FzZVxcXCJkb3VibGVBY2NvdW50aW5nXFxcIjpyLnV2YWw9XFxcImRvdWJsZS1hY2NvdW50aW5nXFxcIjticmVhazt9O2Nhc2VcXFwiPHU+XFxcIjo7Y2FzZVxcXCI8dS8+XFxcIjpyLnU9MTticmVhaztjYXNlXFxcIjwvdT5cXFwiOmJyZWFrO2Nhc2VcXFwiPGJcXFwiOmlmKHMudmFsPT1cXFwiMFxcXCIpYnJlYWs7Y2FzZVxcXCI8Yj5cXFwiOjtjYXNlXFxcIjxiLz5cXFwiOnIuYj0xO2JyZWFrO2Nhc2VcXFwiPC9iPlxcXCI6YnJlYWs7Y2FzZVxcXCI8aVxcXCI6aWYocy52YWw9PVxcXCIwXFxcIilicmVhaztjYXNlXFxcIjxpPlxcXCI6O2Nhc2VcXFwiPGkvPlxcXCI6ci5pPTE7YnJlYWs7Y2FzZVxcXCI8L2k+XFxcIjpicmVhaztjYXNlXFxcIjxjb2xvclxcXCI6aWYocy5yZ2Ipci5jb2xvcj1zLnJnYi5zbGljZSgyLDgpO2JyZWFrO2Nhc2VcXFwiPGZhbWlseVxcXCI6ci5mYW1pbHk9cy52YWw7YnJlYWs7Y2FzZVxcXCI8dmVydEFsaWduXFxcIjpyLnZhbGlnbj1zLnZhbDticmVhaztjYXNlXFxcIjxzY2hlbWVcXFwiOmJyZWFrO2Nhc2VcXFwiPGV4dExzdFxcXCI6O2Nhc2VcXFwiPGV4dExzdD5cXFwiOjtjYXNlXFxcIjwvZXh0THN0PlxcXCI6YnJlYWs7Y2FzZVxcXCI8ZXh0XFxcIjpuPXRydWU7YnJlYWs7Y2FzZVxcXCI8L2V4dD5cXFwiOm49ZmFsc2U7YnJlYWs7ZGVmYXVsdDppZihzWzBdLmNoYXJDb2RlQXQoMSkhPT00NyYmIW4pdGhyb3cgbmV3IEVycm9yKFxcXCJVbnJlY29nbml6ZWQgcmljaCBmb3JtYXQgXFxcIitzWzBdKTt9fXJldHVybiByfXZhciBrZj1mdW5jdGlvbigpe3ZhciBlPWVyKFxcXCJ0XFxcIikscj1lcihcXFwiclByXFxcIik7ZnVuY3Rpb24gdCh0KXt2YXIgYT10Lm1hdGNoKGUpO2lmKCFhKXJldHVybnt0OlxcXCJzXFxcIix2OlxcXCJcXFwifTt2YXIgbj17dDpcXFwic1xcXCIsdjpNZShhWzFdKX07dmFyIGk9dC5tYXRjaChyKTtpZihpKW4ucz13ZihpWzFdKTtyZXR1cm4gbn12YXIgYT0vPCg/OlxcXFx3KzopP3I+L2csbj0vPFxcXFwvKD86XFxcXHcrOik/cj4vO3JldHVybiBmdW5jdGlvbiBpKGUpe3JldHVybiBlLnJlcGxhY2UoYSxcXFwiXFxcIikuc3BsaXQobikubWFwKHQpLmZpbHRlcihmdW5jdGlvbihlKXtyZXR1cm4gZS52fSl9fSgpO3ZhciBFZj1mdW5jdGlvbiBSYigpe3ZhciBlPS8oXFxcXHJcXFxcbnxcXFxcbikvZztmdW5jdGlvbiByKGUscix0KXt2YXIgYT1bXTtpZihlLnUpYS5wdXNoKFxcXCJ0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcXFwiKTtpZihlLnV2YWwpYS5wdXNoKFxcXCJ0ZXh0LXVuZGVybGluZS1zdHlsZTpcXFwiK2UudXZhbCtcXFwiO1xcXCIpO2lmKGUuc3opYS5wdXNoKFxcXCJmb250LXNpemU6XFxcIitlLnN6K1xcXCJwdDtcXFwiKTtpZihlLm91dGxpbmUpYS5wdXNoKFxcXCJ0ZXh0LWVmZmVjdDogb3V0bGluZTtcXFwiKTtpZihlLnNoYWRvdylhLnB1c2goXFxcInRleHQtc2hhZG93OiBhdXRvO1xcXCIpO3IucHVzaCgnPHNwYW4gc3R5bGU9XFxcIicrYS5qb2luKFxcXCJcXFwiKSsnXFxcIj4nKTtpZihlLmIpe3IucHVzaChcXFwiPGI+XFxcIik7dC5wdXNoKFxcXCI8L2I+XFxcIil9aWYoZS5pKXtyLnB1c2goXFxcIjxpPlxcXCIpO3QucHVzaChcXFwiPC9pPlxcXCIpfWlmKGUuc3RyaWtlKXtyLnB1c2goXFxcIjxzPlxcXCIpO3QucHVzaChcXFwiPC9zPlxcXCIpfXZhciBuPWUudmFsaWdufHxcXFwiXFxcIjtpZihuPT1cXFwic3VwZXJzY3JpcHRcXFwifHxuPT1cXFwic3VwZXJcXFwiKW49XFxcInN1cFxcXCI7ZWxzZSBpZihuPT1cXFwic3Vic2NyaXB0XFxcIiluPVxcXCJzdWJcXFwiO2lmKG4hPVxcXCJcXFwiKXtyLnB1c2goXFxcIjxcXFwiK24rXFxcIj5cXFwiKTt0LnB1c2goXFxcIjwvXFxcIituK1xcXCI+XFxcIil9dC5wdXNoKFxcXCI8L3NwYW4+XFxcIik7cmV0dXJuIGV9ZnVuY3Rpb24gdCh0KXt2YXIgYT1bW10sdC52LFtdXTtpZighdC52KXJldHVyblxcXCJcXFwiO2lmKHQucylyKHQucyxhWzBdLGFbMl0pO3JldHVybiBhWzBdLmpvaW4oXFxcIlxcXCIpK2FbMV0ucmVwbGFjZShlLFxcXCI8YnIvPlxcXCIpK2FbMl0uam9pbihcXFwiXFxcIil9cmV0dXJuIGZ1bmN0aW9uIGEoZSl7cmV0dXJuIGUubWFwKHQpLmpvaW4oXFxcIlxcXCIpfX0oKTt2YXIgU2Y9LzwoPzpcXFxcdys6KT90W14+XSo+KFtePF0qKTxcXFxcLyg/OlxcXFx3KzopP3Q+L2csX2Y9LzwoPzpcXFxcdys6KT9yPi87dmFyIENmPS88KD86XFxcXHcrOik/clBoLio/PihbXFxcXHNcXFxcU10qPyk8XFxcXC8oPzpcXFxcdys6KT9yUGg+L2c7ZnVuY3Rpb24gQmYoZSxyKXt2YXIgdD1yP3IuY2VsbEhUTUw6dHJ1ZTt2YXIgYT17fTtpZighZSlyZXR1cm57dDpcXFwiXFxcIn07aWYoZS5tYXRjaCgvXlxcXFxzKjwoPzpcXFxcdys6KT90W14+XSo+Lykpe2EudD1NZShZZShlLnNsaWNlKGUuaW5kZXhPZihcXFwiPlxcXCIpKzEpLnNwbGl0KC88XFxcXC8oPzpcXFxcdys6KT90Pi8pWzBdfHxcXFwiXFxcIikpO2Eucj1ZZShlKTtpZih0KWEuaD1YZShhLnQpfWVsc2UgaWYoZS5tYXRjaChfZikpe2Eucj1ZZShlKTthLnQ9TWUoWWUoKGUucmVwbGFjZShDZixcXFwiXFxcIikubWF0Y2goU2YpfHxbXSkuam9pbihcXFwiXFxcIikucmVwbGFjZShSZSxcXFwiXFxcIikpKTtpZih0KWEuaD1FZihrZihhLnIpKX1yZXR1cm4gYX12YXIgVGY9LzwoPzpcXFxcdys6KT9zc3QoW14+XSopPihbXFxcXHNcXFxcU10qKTxcXFxcLyg/OlxcXFx3KzopP3NzdD4vO3ZhciB5Zj0vPCg/OlxcXFx3KzopPyg/OnNpfHNzdEl0ZW0pPi9nO3ZhciB4Zj0vPFxcXFwvKD86XFxcXHcrOik/KD86c2l8c3N0SXRlbSk+LztmdW5jdGlvbiBBZihlLHIpe3ZhciB0PVtdLGE9XFxcIlxcXCI7aWYoIWUpcmV0dXJuIHQ7dmFyIG49ZS5tYXRjaChUZik7aWYobil7YT1uWzJdLnJlcGxhY2UoeWYsXFxcIlxcXCIpLnNwbGl0KHhmKTtmb3IodmFyIGk9MDtpIT1hLmxlbmd0aDsrK2kpe3ZhciBzPUJmKGFbaV0udHJpbSgpLHIpO2lmKHMhPW51bGwpdFt0Lmxlbmd0aF09c31uPUZlKG5bMV0pO3QuQ291bnQ9bi5jb3VudDt0LlVuaXF1ZT1uLnVuaXF1ZUNvdW50fXJldHVybiB0fU1hLlNTVD1cXFwiaHR0cDovL3NjaGVtYXMub3BlbnhtbGZvcm1hdHMub3JnL29mZmljZURvY3VtZW50LzIwMDYvcmVsYXRpb25zaGlwcy9zaGFyZWRTdHJpbmdzXFxcIjt2YXIgSWY9L15cXFxcc3xcXFxccyR8W1xcXFx0XFxcXG5cXFxccl0vO2Z1bmN0aW9uIFJmKGUscil7aWYoIXIuYm9va1NTVClyZXR1cm5cXFwiXFxcIjt2YXIgdD1bQWVdO3RbdC5sZW5ndGhdPWxyKFxcXCJzc3RcXFwiLG51bGwse3htbG5zOmhyLm1haW5bMF0sY291bnQ6ZS5Db3VudCx1bmlxdWVDb3VudDplLlVuaXF1ZX0pO2Zvcih2YXIgYT0wO2EhPWUubGVuZ3RoOysrYSl7aWYoZVthXT09bnVsbCljb250aW51ZTt2YXIgbj1lW2FdO3ZhciBpPVxcXCI8c2k+XFxcIjtpZihuLnIpaSs9bi5yO2Vsc2V7aSs9XFxcIjx0XFxcIjtpZighbi50KW4udD1cXFwiXFxcIjtpZihuLnQubWF0Y2goSWYpKWkrPScgeG1sOnNwYWNlPVxcXCJwcmVzZXJ2ZVxcXCInO2krPVxcXCI+XFxcIitIZShuLnQpK1xcXCI8L3Q+XFxcIn1pKz1cXFwiPC9zaT5cXFwiO3RbdC5sZW5ndGhdPWl9aWYodC5sZW5ndGg+Mil7dFt0Lmxlbmd0aF09XFxcIjwvc3N0PlxcXCI7dFsxXT10WzFdLnJlcGxhY2UoXFxcIi8+XFxcIixcXFwiPlxcXCIpfXJldHVybiB0LmpvaW4oXFxcIlxcXCIpfWZ1bmN0aW9uIE9mKGUpe3JldHVybltlLl9SKDQpLGUuX1IoNCldfWZ1bmN0aW9uIERmKGUscil7dmFyIHQ9W107dmFyIGE9ZmFsc2U7UXIoZSxmdW5jdGlvbiBuKGUsaSxzKXtzd2l0Y2gocyl7Y2FzZSAxNTk6dC5Db3VudD1lWzBdO3QuVW5pcXVlPWVbMV07YnJlYWs7Y2FzZSAxOTp0LnB1c2goZSk7YnJlYWs7Y2FzZSAxNjA6cmV0dXJuIHRydWU7Y2FzZSAzNTphPXRydWU7YnJlYWs7Y2FzZSAzNjphPWZhbHNlO2JyZWFrO2RlZmF1bHQ6aWYoaS5pbmRleE9mKFxcXCJCZWdpblxcXCIpPjApe31lbHNlIGlmKGkuaW5kZXhPZihcXFwiRW5kXFxcIik+MCl7fWlmKCFhfHxyLldURil0aHJvdyBuZXcgRXJyb3IoXFxcIlVuZXhwZWN0ZWQgcmVjb3JkIFxcXCIrcytcXFwiIFxcXCIraSk7fX0pO3JldHVybiB0fWZ1bmN0aW9uIEZmKGUscil7aWYoIXIpcj1Kcig4KTtyLl9XKDQsZS5Db3VudCk7ci5fVyg0LGUuVW5pcXVlKTtyZXR1cm4gcn12YXIgUGY9T3Q7ZnVuY3Rpb24gTmYoZSl7dmFyIHI9cXIoKTtldChyLFxcXCJCcnRCZWdpblNzdFxcXCIsRmYoZSkpO2Zvcih2YXIgdD0wO3Q8ZS5sZW5ndGg7Kyt0KWV0KHIsXFxcIkJydFNTVEl0ZW1cXFwiLFBmKGVbdF0pKTtldChyLFxcXCJCcnRFbmRTc3RcXFwiKTtyZXR1cm4gci5lbmQoKX1mdW5jdGlvbiBMZihlKXtpZih0eXBlb2YgY3B0YWJsZSE9PVxcXCJ1bmRlZmluZWRcXFwiKXJldHVybiBjcHRhYmxlLnV0aWxzLmVuY29kZSh0LGUpO3ZhciByPVtdLGE9ZS5zcGxpdChcXFwiXFxcIik7Zm9yKHZhciBuPTA7bjxhLmxlbmd0aDsrK24pcltuXT1hW25dLmNoYXJDb2RlQXQoMCk7cmV0dXJuIHJ9ZnVuY3Rpb24gTWYoZSxyKXt2YXIgdD17fTt0Lk1ham9yPWUuX1IoMik7dC5NaW5vcj1lLl9SKDIpO2lmKHI+PTQpZS5sKz1yLTQ7cmV0dXJuIHR9ZnVuY3Rpb24gVWYoZSl7dmFyIHI9e307ci5pZD1lLl9SKDAsXFxcImxwcDRcXFwiKTtyLlI9TWYoZSw0KTtyLlU9TWYoZSw0KTtyLlc9TWYoZSw0KTtyZXR1cm4gcn1mdW5jdGlvbiB6ZihlKXt2YXIgcj1lLl9SKDQpO3ZhciB0PWUubCtyLTQ7dmFyIGE9e307dmFyIG49ZS5fUig0KTt2YXIgaT1bXTt3aGlsZShuLS0gPjApaS5wdXNoKHt0OmUuX1IoNCksdjplLl9SKDAsXFxcImxwcDRcXFwiKX0pO2EubmFtZT1lLl9SKDAsXFxcImxwcDRcXFwiKTthLmNvbXBzPWk7aWYoZS5sIT10KXRocm93IG5ldyBFcnJvcihcXFwiQmFkIERhdGFTcGFjZU1hcEVudHJ5OiBcXFwiK2UubCtcXFwiICE9IFxcXCIrdCk7cmV0dXJuIGF9ZnVuY3Rpb24gSGYoZSl7dmFyIHI9W107ZS5sKz00O3ZhciB0PWUuX1IoNCk7d2hpbGUodC0tID4wKXIucHVzaCh6ZihlKSk7cmV0dXJuIHJ9ZnVuY3Rpb24gV2YoZSl7dmFyIHI9W107ZS5sKz00O3ZhciB0PWUuX1IoNCk7d2hpbGUodC0tID4wKXIucHVzaChlLl9SKDAsXFxcImxwcDRcXFwiKSk7cmV0dXJuIHJ9ZnVuY3Rpb24gVmYoZSl7dmFyIHI9e307ZS5fUig0KTtlLmwrPTQ7ci5pZD1lLl9SKDAsXFxcImxwcDRcXFwiKTtyLm5hbWU9ZS5fUigwLFxcXCJscHA0XFxcIik7ci5SPU1mKGUsNCk7ci5VPU1mKGUsNCk7ci5XPU1mKGUsNCk7cmV0dXJuIHJ9ZnVuY3Rpb24gWGYoZSl7dmFyIHI9VmYoZSk7ci5lbmFtZT1lLl9SKDAsXFxcIjhscHA0XFxcIik7ci5ibGtzej1lLl9SKDQpO3IuY21vZGU9ZS5fUig0KTtpZihlLl9SKDQpIT00KXRocm93IG5ldyBFcnJvcihcXFwiQmFkICFQcmltYXJ5IHJlY29yZFxcXCIpO3JldHVybiByfWZ1bmN0aW9uIEdmKGUscil7dmFyIHQ9ZS5sK3I7dmFyIGE9e307YS5GbGFncz1lLl9SKDQpJjYzO2UubCs9NDthLkFsZ0lEPWUuX1IoNCk7dmFyIG49ZmFsc2U7c3dpdGNoKGEuQWxnSUQpe2Nhc2UgMjYxMjY6O2Nhc2UgMjYxMjc6O2Nhc2UgMjYxMjg6bj1hLkZsYWdzPT0zNjticmVhaztjYXNlIDI2NjI1Om49YS5GbGFncz09NDticmVhaztjYXNlIDA6bj1hLkZsYWdzPT0xNnx8YS5GbGFncz09NHx8YS5GbGFncz09MzY7YnJlYWs7ZGVmYXVsdDp0aHJvd1xcXCJVbnJlY29nbml6ZWQgZW5jcnlwdGlvbiBhbGdvcml0aG06IFxcXCIrYS5BbGdJRDt9aWYoIW4pdGhyb3cgbmV3IEVycm9yKFxcXCJFbmNyeXB0aW9uIEZsYWdzL0FsZ0lEIG1pc21hdGNoXFxcIik7YS5BbGdJREhhc2g9ZS5fUig0KTthLktleVNpemU9ZS5fUig0KTthLlByb3ZpZGVyVHlwZT1lLl9SKDQpO2UubCs9ODthLkNTUE5hbWU9ZS5fUih0LWUubD4+MSxcXFwidXRmMTZsZVxcXCIpO2UubD10O3JldHVybiBhfWZ1bmN0aW9uIGpmKGUscil7dmFyIHQ9e30sYT1lLmwrcjtlLmwrPTQ7dC5TYWx0PWUuc2xpY2UoZS5sLGUubCsxNik7ZS5sKz0xNjt0LlZlcmlmaWVyPWUuc2xpY2UoZS5sLGUubCsxNik7ZS5sKz0xNjtlLl9SKDQpO3QuVmVyaWZpZXJIYXNoPWUuc2xpY2UoZS5sLGEpO2UubD1hO3JldHVybiB0fWZ1bmN0aW9uIEtmKGUpe3ZhciByPU1mKGUpO3N3aXRjaChyLk1pbm9yKXtjYXNlIDI6cmV0dXJuW3IuTWlub3IsJGYoZSxyKV07Y2FzZSAzOnJldHVybltyLk1pbm9yLFlmKGUscildO2Nhc2UgNDpyZXR1cm5bci5NaW5vcixaZihlLHIpXTt9dGhyb3cgbmV3IEVycm9yKFxcXCJFQ01BLTM3NiBFbmNyeXB0ZWQgZmlsZSB1bnJlY29nbml6ZWQgVmVyc2lvbjogXFxcIityLk1pbm9yKX1mdW5jdGlvbiAkZihlKXt2YXIgcj1lLl9SKDQpO2lmKChyJjYzKSE9MzYpdGhyb3cgbmV3IEVycm9yKFxcXCJFbmNyeXB0aW9uSW5mbyBtaXNtYXRjaFxcXCIpO3ZhciB0PWUuX1IoNCk7dmFyIGE9R2YoZSx0KTt2YXIgbj1qZihlLGUubGVuZ3RoLWUubCk7cmV0dXJue3Q6XFxcIlN0ZFxcXCIsaDphLHY6bn19ZnVuY3Rpb24gWWYoKXt0aHJvdyBuZXcgRXJyb3IoXFxcIkZpbGUgaXMgcGFzc3dvcmQtcHJvdGVjdGVkOiBFQ01BLTM3NiBFeHRlbnNpYmxlXFxcIil9ZnVuY3Rpb24gWmYoZSl7dmFyIHI9W1xcXCJzYWx0U2l6ZVxcXCIsXFxcImJsb2NrU2l6ZVxcXCIsXFxcImtleUJpdHNcXFwiLFxcXCJoYXNoU2l6ZVxcXCIsXFxcImNpcGhlckFsZ29yaXRobVxcXCIsXFxcImNpcGhlckNoYWluaW5nXFxcIixcXFwiaGFzaEFsZ29yaXRobVxcXCIsXFxcInNhbHRWYWx1ZVxcXCJdO2UubCs9NDt2YXIgdD1lLl9SKGUubGVuZ3RoLWUubCxcXFwidXRmOFxcXCIpO3ZhciBhPXt9O3QucmVwbGFjZShSZSxmdW5jdGlvbiBuKGUpe3ZhciB0PUZlKGUpO3N3aXRjaChQZSh0WzBdKSl7Y2FzZVxcXCI8P3htbFxcXCI6YnJlYWs7Y2FzZVxcXCI8ZW5jcnlwdGlvblxcXCI6O2Nhc2VcXFwiPC9lbmNyeXB0aW9uPlxcXCI6YnJlYWs7Y2FzZVxcXCI8a2V5RGF0YVxcXCI6ci5mb3JFYWNoKGZ1bmN0aW9uKGUpe2FbZV09dFtlXX0pO2JyZWFrO2Nhc2VcXFwiPGRhdGFJbnRlZ3JpdHlcXFwiOmEuZW5jcnlwdGVkSG1hY0tleT10LmVuY3J5cHRlZEhtYWNLZXk7YS5lbmNyeXB0ZWRIbWFjVmFsdWU9dC5lbmNyeXB0ZWRIbWFjVmFsdWU7YnJlYWs7Y2FzZVxcXCI8a2V5RW5jcnlwdG9ycz5cXFwiOjtjYXNlXFxcIjxrZXlFbmNyeXB0b3JzXFxcIjphLmVuY3M9W107YnJlYWs7Y2FzZVxcXCI8L2tleUVuY3J5cHRvcnM+XFxcIjpicmVhaztjYXNlXFxcIjxrZXlFbmNyeXB0b3JcXFwiOmEudXJpPXQudXJpO2JyZWFrO2Nhc2VcXFwiPC9rZXlFbmNyeXB0b3I+XFxcIjpicmVhaztjYXNlXFxcIjxlbmNyeXB0ZWRLZXlcXFwiOmEuZW5jcy5wdXNoKHQpO2JyZWFrO2RlZmF1bHQ6dGhyb3cgdFswXTt9fSk7cmV0dXJuIGF9ZnVuY3Rpb24gSmYoZSxyKXt2YXIgdD17fTt2YXIgYT10LkVuY3J5cHRpb25WZXJzaW9uSW5mbz1NZihlLDQpO3ItPTQ7aWYoYS5NaW5vciE9Mil0aHJvdyBuZXcgRXJyb3IoXFxcInVucmVjb2duaXplZCBtaW5vciB2ZXJzaW9uIGNvZGU6IFxcXCIrYS5NaW5vcik7aWYoYS5NYWpvcj40fHxhLk1ham9yPDIpdGhyb3cgbmV3IEVycm9yKFxcXCJ1bnJlY29nbml6ZWQgbWFqb3IgdmVyc2lvbiBjb2RlOiBcXFwiK2EuTWFqb3IpO3QuRmxhZ3M9ZS5fUig0KTtyLT00O3ZhciBuPWUuX1IoNCk7ci09NDt0LkVuY3J5cHRpb25IZWFkZXI9R2YoZSxuKTtyLT1uO3QuRW5jcnlwdGlvblZlcmlmaWVyPWpmKGUscik7cmV0dXJuIHR9ZnVuY3Rpb24gUWYoZSl7dmFyIHI9e307dmFyIHQ9ci5FbmNyeXB0aW9uVmVyc2lvbkluZm89TWYoZSw0KTtpZih0Lk1ham9yIT0xfHx0Lk1pbm9yIT0xKXRocm93XFxcInVucmVjb2duaXplZCB2ZXJzaW9uIGNvZGUgXFxcIit0Lk1ham9yK1xcXCIgOiBcXFwiK3QuTWlub3I7ci5TYWx0PWUuX1IoMTYpO3IuRW5jcnlwdGVkVmVyaWZpZXI9ZS5fUigxNik7ci5FbmNyeXB0ZWRWZXJpZmllckhhc2g9ZS5fUigxNik7cmV0dXJuIHJ9ZnVuY3Rpb24gcWYoZSl7dmFyIHI9MCx0O3ZhciBhPUxmKGUpO3ZhciBuPWEubGVuZ3RoKzEsaSxzO3ZhciBmLG8sbDt0PV8obik7dFswXT1hLmxlbmd0aDtmb3IoaT0xO2khPW47KytpKXRbaV09YVtpLTFdO2ZvcihpPW4tMTtpPj0wOy0taSl7cz10W2ldO2Y9KHImMTYzODQpPT09MD8wOjE7bz1yPDwxJjMyNzY3O2w9ZnxvO3I9bF5zfXJldHVybiByXjUyODExfXZhciBlbz1mdW5jdGlvbigpe3ZhciBlPVsxODcsMjU1LDI1NSwxODYsMjU1LDI1NSwxODUsMTI4LDAsMTkwLDE1LDAsMTkxLDE1LDBdO3ZhciByPVs1Nzg0MCw3NDM5LDUyMzgwLDMzOTg0LDQzNjQsMzYwMCw2MTkwMiwxMjYwNiw2MjU4LDU3NjU3LDU0Mjg3LDM0MDQxLDEwMjUyLDQzMzcwLDIwMTYzXTt2YXIgdD1bNDQ3OTYsMTk5MjksMzk4NTgsMTAwNTMsMjAxMDYsNDAyMTIsMTA3NjEsMzE1ODUsNjMxNzAsNjQ5MzMsNjAyNjcsNTA5MzUsNDAzOTksMTExOTksMTc3NjMsMzU1MjYsMTQ1MywyOTA2LDU4MTIsMTE2MjQsMjMyNDgsODg1LDE3NzAsMzU0MCw3MDgwLDE0MTYwLDI4MzIwLDU2NjQwLDU1MzY5LDQxMTM5LDIwODA3LDQxNjE0LDIxODIxLDQzNjQyLDE3NjIxLDI4NDg1LDU2OTcwLDQ0MzQxLDE5MDE5LDM4MDM4LDE0NjA1LDI5MjEwLDYwMTk1LDUwNzkxLDQwMTc1LDEwNzUxLDIxNTAyLDQzMDA0LDI0NTM3LDE4Mzg3LDM2Nzc0LDM5NDksNzg5OCwxNTc5NiwzMTU5Miw2MzE4NCw0NzIwMSwyNDgwMyw0OTYwNiwzNzgwNSwxNDIwMywyODQwNiw1NjgxMiwxNzgyNCwzNTY0OCwxNjk3LDMzOTQsNjc4OCwxMzU3NiwyNzE1Miw0MzYwMSwxNzUzOSwzNTA3OCw1NTcsMTExNCwyMjI4LDQ0NTYsMzAzODgsNjA3NzYsNTE5NTMsMzQyNDMsNzA3OSwxNDE1OCwyODMxNiwxNDEyOCwyODI1Niw1NjUxMiw0MzQyNSwxNzI1MSwzNDUwMiw3NTk3LDEzMTA1LDI2MjEwLDUyNDIwLDM1MjQxLDg4MywxNzY2LDM1MzIsNDEyOSw4MjU4LDE2NTE2LDMzMDMyLDQ2NTcsOTMxNCwxODYyOF07dmFyIGE9ZnVuY3Rpb24oZSl7cmV0dXJuKGUvMnxlKjEyOCkmMjU1fTt2YXIgbj1mdW5jdGlvbihlLHIpe3JldHVybiBhKGVecil9O3ZhciBpPWZ1bmN0aW9uKGUpe3ZhciBhPXJbZS5sZW5ndGgtMV07dmFyIG49MTA0O2Zvcih2YXIgaT1lLmxlbmd0aC0xO2k+PTA7LS1pKXt2YXIgcz1lW2ldO2Zvcih2YXIgZj0wO2YhPTc7KytmKXtpZihzJjY0KWFePXRbbl07cyo9MjstLW59fXJldHVybiBhfTtyZXR1cm4gZnVuY3Rpb24ocil7dmFyIHQ9TGYocik7dmFyIGE9aSh0KTt2YXIgcz10Lmxlbmd0aDt2YXIgZj1fKDE2KTtmb3IodmFyIG89MDtvIT0xNjsrK28pZltvXT0wO3ZhciBsLGMsdTtpZigocyYxKT09PTEpe2w9YT4+ODtmW3NdPW4oZVswXSxsKTstLXM7bD1hJjI1NTtjPXRbdC5sZW5ndGgtMV07ZltzXT1uKGMsbCl9d2hpbGUocz4wKXstLXM7bD1hPj44O2Zbc109bih0W3NdLGwpOy0tcztsPWEmMjU1O2Zbc109bih0W3NdLGwpfXM9MTU7dT0xNS10Lmxlbmd0aDt3aGlsZSh1PjApe2w9YT4+ODtmW3NdPW4oZVt1XSxsKTstLXM7LS11O2w9YSYyNTU7ZltzXT1uKHRbc10sbCk7LS1zOy0tdX1yZXR1cm4gZn19KCk7dmFyIHJvPWZ1bmN0aW9uKGUscix0LGEsbil7aWYoIW4pbj1yO2lmKCFhKWE9ZW8oZSk7dmFyIGkscztmb3IoaT0wO2khPXIubGVuZ3RoOysraSl7cz1yW2ldO3NePWFbdF07cz0ocz4+NXxzPDwzKSYyNTU7bltpXT1zOysrdH1yZXR1cm5bbix0LGFdfTt2YXIgdG89ZnVuY3Rpb24oZSl7dmFyIHI9MCx0PWVvKGUpO3JldHVybiBmdW5jdGlvbihlKXt2YXIgYT1ybyhcXFwiXFxcIixlLHIsdCk7cj1hWzFdO3JldHVybiBhWzBdfX07ZnVuY3Rpb24gYW8oZSxyLHQsYSl7dmFyIG49e2tleTokbihlKSx2ZXJpZmljYXRpb25CeXRlczokbihlKX07aWYodC5wYXNzd29yZCluLnZlcmlmaWVyPXFmKHQucGFzc3dvcmQpO2EudmFsaWQ9bi52ZXJpZmljYXRpb25CeXRlcz09PW4udmVyaWZpZXI7aWYoYS52YWxpZClhLmluc2l0dT10byh0LnBhc3N3b3JkKTtyZXR1cm4gbn1mdW5jdGlvbiBubyhlLHIsdCl7dmFyIGE9dHx8e307YS5JbmZvPWUuX1IoMik7ZS5sLT0yO2lmKGEuSW5mbz09PTEpYS5EYXRhPVFmKGUscik7ZWxzZSBhLkRhdGE9SmYoZSxyKTtyZXR1cm4gYX1mdW5jdGlvbiBpbyhlLHIsdCl7dmFyIGE9e1R5cGU6dC5iaWZmPj04P2UuX1IoMik6MH07aWYoYS5UeXBlKW5vKGUsci0yLGEpO2Vsc2UgYW8oZSx0LmJpZmY+PTg/cjpyLTIsdCxhKTtyZXR1cm4gYX12YXIgc289ZnVuY3Rpb24oKXtmdW5jdGlvbiBlKGUsdCl7c3dpdGNoKHQudHlwZSl7Y2FzZVxcXCJiYXNlNjRcXFwiOnJldHVybiByKGcuZGVjb2RlKGUpLHQpO2Nhc2VcXFwiYmluYXJ5XFxcIjpyZXR1cm4gcihlLHQpO2Nhc2VcXFwiYnVmZmVyXFxcIjpyZXR1cm4gcihlLnRvU3RyaW5nKFxcXCJiaW5hcnlcXFwiKSx0KTtjYXNlXFxcImFycmF5XFxcIjpyZXR1cm4gcihsZShlKSx0KTt9dGhyb3cgbmV3IEVycm9yKFxcXCJVbnJlY29nbml6ZWQgdHlwZSBcXFwiK3QudHlwZSl9ZnVuY3Rpb24gcihlLHIpe3ZhciB0PXJ8fHt9O3ZhciBhPXQuZGVuc2U/W106e307dmFyIG49e3M6e2M6MCxyOjB9LGU6e2M6MCxyOjB9fTtpZighZS5tYXRjaCgvXFxcXFxcXFx0cm93ZC8pKXRocm93IG5ldyBFcnJvcihcXFwiUlRGIG1pc3NpbmcgdGFibGVcXFwiKTthW1xcXCIhcmVmXFxcIl09d3Qobik7cmV0dXJuIGF9ZnVuY3Rpb24gdChyLHQpe3JldHVybiBfdChlKHIsdCksdCl9ZnVuY3Rpb24gYShlKXt2YXIgcj1bXFxcIntcXFxcXFxcXHJ0ZjFcXFxcXFxcXGFuc2lcXFwiXTt2YXIgdD1rdChlW1xcXCIhcmVmXFxcIl0pLGE7dmFyIG49QXJyYXkuaXNBcnJheShlKTtmb3IodmFyIGk9dC5zLnI7aTw9dC5lLnI7KytpKXtyLnB1c2goXFxcIlxcXFxcXFxcdHJvd2RcXFxcXFxcXHRyYXV0b2ZpdDFcXFwiKTtmb3IodmFyIHM9dC5zLmM7czw9dC5lLmM7KytzKXIucHVzaChcXFwiXFxcXFxcXFxjZWxseFxcXCIrKHMrMSkpO3IucHVzaChcXFwiXFxcXFxcXFxwYXJkXFxcXFxcXFxpbnRibFxcXCIpO2ZvcihzPXQucy5jO3M8PXQuZS5jOysrcyl7dmFyIGY9YnQoe3I6aSxjOnN9KTthPW4/KGVbaV18fFtdKVtzXTplW2ZdO2lmKCFhfHxhLnY9PW51bGwmJighYS5mfHxhLkYpKWNvbnRpbnVlO3IucHVzaChcXFwiIFxcXCIrKGEud3x8KFN0KGEpLGEudykpKTtyLnB1c2goXFxcIlxcXFxcXFxcY2VsbFxcXCIpfXIucHVzaChcXFwiXFxcXFxcXFxwYXJkXFxcXFxcXFxpbnRibFxcXFxcXFxccm93XFxcIil9cmV0dXJuIHIuam9pbihcXFwiXFxcIikrXFxcIn1cXFwifXJldHVybnt0b193b3JrYm9vazp0LHRvX3NoZWV0OmUsZnJvbV9zaGVldDphfX0oKTtmdW5jdGlvbiBmbyhlKXt2YXIgcj1lLnNsaWNlKGVbMF09PT1cXFwiI1xcXCI/MTowKS5zbGljZSgwLDYpO3JldHVybltwYXJzZUludChyLnNsaWNlKDAsMiksMTYpLHBhcnNlSW50KHIuc2xpY2UoMiw0KSwxNikscGFyc2VJbnQoci5zbGljZSg0LDYpLDE2KV19ZnVuY3Rpb24gb28oZSl7Zm9yKHZhciByPTAsdD0xO3IhPTM7KytyKXQ9dCoyNTYrKGVbcl0+MjU1PzI1NTplW3JdPDA/MDplW3JdKTtyZXR1cm4gdC50b1N0cmluZygxNikudG9VcHBlckNhc2UoKS5zbGljZSgxKX1mdW5jdGlvbiBsbyhlKXt2YXIgcj1lWzBdLzI1NSx0PWVbMV0vMjU1LGE9ZVsyXS8yNTU7dmFyIG49TWF0aC5tYXgocix0LGEpLGk9TWF0aC5taW4ocix0LGEpLHM9bi1pO2lmKHM9PT0wKXJldHVyblswLDAscl07dmFyIGY9MCxvPTAsbD1uK2k7bz1zLyhsPjE/Mi1sOmwpO3N3aXRjaChuKXtjYXNlIHI6Zj0oKHQtYSkvcys2KSU2O2JyZWFrO2Nhc2UgdDpmPShhLXIpL3MrMjticmVhaztjYXNlIGE6Zj0oci10KS9zKzQ7YnJlYWs7fXJldHVybltmLzYsbyxsLzJdfWZ1bmN0aW9uIGNvKGUpe3ZhciByPWVbMF0sdD1lWzFdLGE9ZVsyXTt2YXIgbj10KjIqKGE8LjU/YToxLWEpLGk9YS1uLzI7dmFyIHM9W2ksaSxpXSxmPTYqcjt2YXIgbztpZih0IT09MClzd2l0Y2goZnwwKXtjYXNlIDA6O2Nhc2UgNjpvPW4qZjtzWzBdKz1uO3NbMV0rPW87YnJlYWs7Y2FzZSAxOm89biooMi1mKTtzWzBdKz1vO3NbMV0rPW47YnJlYWs7Y2FzZSAyOm89biooZi0yKTtzWzFdKz1uO3NbMl0rPW87YnJlYWs7Y2FzZSAzOm89biooNC1mKTtzWzFdKz1vO3NbMl0rPW47YnJlYWs7Y2FzZSA0Om89biooZi00KTtzWzJdKz1uO3NbMF0rPW87YnJlYWs7Y2FzZSA1Om89biooNi1mKTtzWzJdKz1vO3NbMF0rPW47YnJlYWs7fWZvcih2YXIgbD0wO2whPTM7KytsKXNbbF09TWF0aC5yb3VuZChzW2xdKjI1NSk7cmV0dXJuIHN9ZnVuY3Rpb24gdW8oZSxyKXtpZihyPT09MClyZXR1cm4gZTt2YXIgdD1sbyhmbyhlKSk7aWYocjwwKXRbMl09dFsyXSooMStyKTtlbHNlIHRbMl09MS0oMS10WzJdKSooMS1yKTtyZXR1cm4gb28oY28odCkpfXZhciBobz02LHZvPTE1LHBvPTEsbW89aG87ZnVuY3Rpb24gYm8oZSl7cmV0dXJuIE1hdGguZmxvb3IoKGUrTWF0aC5yb3VuZCgxMjgvbW8pLzI1NikqbW8pfWZ1bmN0aW9uIGdvKGUpe3JldHVybiBNYXRoLmZsb29yKChlLTUpL21vKjEwMCsuNSkvMTAwfWZ1bmN0aW9uIHdvKGUpe3JldHVybiBNYXRoLnJvdW5kKChlKm1vKzUpL21vKjI1NikvMjU2fWZ1bmN0aW9uIGtvKGUpe3JldHVybiB3byhnbyhibyhlKSkpfWZ1bmN0aW9uIEVvKGUpe3ZhciByPU1hdGguYWJzKGUta28oZSkpLHQ9bW87aWYocj4uMDA1KWZvcihtbz1wbzttbzx2bzsrK21vKWlmKE1hdGguYWJzKGUta28oZSkpPD1yKXtyPU1hdGguYWJzKGUta28oZSkpO3Q9bW99bW89dH1mdW5jdGlvbiBTbyhlKXtpZihlLndpZHRoKXtlLndweD1ibyhlLndpZHRoKTtlLndjaD1nbyhlLndweCk7ZS5NRFc9bW99ZWxzZSBpZihlLndweCl7ZS53Y2g9Z28oZS53cHgpO2Uud2lkdGg9d28oZS53Y2gpO2UuTURXPW1vfWVsc2UgaWYodHlwZW9mIGUud2NoPT1cXFwibnVtYmVyXFxcIil7ZS53aWR0aD13byhlLndjaCk7ZS53cHg9Ym8oZS53aWR0aCk7ZS5NRFc9bW99aWYoZS5jdXN0b21XaWR0aClkZWxldGUgZS5jdXN0b21XaWR0aH12YXIgX289OTYsQ289X287ZnVuY3Rpb24gQm8oZSl7cmV0dXJuIGUqOTYvQ299ZnVuY3Rpb24gVG8oZSl7cmV0dXJuIGUqQ28vOTZ9dmFyIHlvPXtOb25lOlxcXCJub25lXFxcIixTb2xpZDpcXFwic29saWRcXFwiLEdyYXk1MDpcXFwibWVkaXVtR3JheVxcXCIsR3JheTc1OlxcXCJkYXJrR3JheVxcXCIsR3JheTI1OlxcXCJsaWdodEdyYXlcXFwiLEhvcnpTdHJpcGU6XFxcImRhcmtIb3Jpem9udGFsXFxcIixWZXJ0U3RyaXBlOlxcXCJkYXJrVmVydGljYWxcXFwiLFJldmVyc2VEaWFnU3RyaXBlOlxcXCJkYXJrRG93blxcXCIsRGlhZ1N0cmlwZTpcXFwiZGFya1VwXFxcIixEaWFnQ3Jvc3M6XFxcImRhcmtHcmlkXFxcIixUaGlja0RpYWdDcm9zczpcXFwiZGFya1RyZWxsaXNcXFwiLFRoaW5Ib3J6U3RyaXBlOlxcXCJsaWdodEhvcml6b250YWxcXFwiLFRoaW5WZXJ0U3RyaXBlOlxcXCJsaWdodFZlcnRpY2FsXFxcIixUaGluUmV2ZXJzZURpYWdTdHJpcGU6XFxcImxpZ2h0RG93blxcXCIsVGhpbkhvcnpDcm9zczpcXFwibGlnaHRHcmlkXFxcIn07ZnVuY3Rpb24geG8oZSxyLHQsYSl7ci5Cb3JkZXJzPVtdO3ZhciBuPXt9O3ZhciBpPWZhbHNlOyhlWzBdLm1hdGNoKFJlKXx8W10pLmZvckVhY2goZnVuY3Rpb24oZSl7dmFyIHQ9RmUoZSk7c3dpdGNoKFBlKHRbMF0pKXtjYXNlXFxcIjxib3JkZXJzXFxcIjo7Y2FzZVxcXCI8Ym9yZGVycz5cXFwiOjtjYXNlXFxcIjwvYm9yZGVycz5cXFwiOmJyZWFrO2Nhc2VcXFwiPGJvcmRlclxcXCI6O2Nhc2VcXFwiPGJvcmRlcj5cXFwiOjtjYXNlXFxcIjxib3JkZXIvPlxcXCI6bj17fTtpZih0LmRpYWdvbmFsVXApbi5kaWFnb25hbFVwPSRlKHQuZGlhZ29uYWxVcCk7aWYodC5kaWFnb25hbERvd24pbi5kaWFnb25hbERvd249JGUodC5kaWFnb25hbERvd24pO3IuQm9yZGVycy5wdXNoKG4pO2JyZWFrO2Nhc2VcXFwiPC9ib3JkZXI+XFxcIjpicmVhaztjYXNlXFxcIjxsZWZ0Lz5cXFwiOmJyZWFrO2Nhc2VcXFwiPGxlZnRcXFwiOjtjYXNlXFxcIjxsZWZ0PlxcXCI6YnJlYWs7Y2FzZVxcXCI8L2xlZnQ+XFxcIjpicmVhaztjYXNlXFxcIjxyaWdodC8+XFxcIjpicmVhaztjYXNlXFxcIjxyaWdodFxcXCI6O2Nhc2VcXFwiPHJpZ2h0PlxcXCI6YnJlYWs7Y2FzZVxcXCI8L3JpZ2h0PlxcXCI6YnJlYWs7Y2FzZVxcXCI8dG9wLz5cXFwiOmJyZWFrO2Nhc2VcXFwiPHRvcFxcXCI6O2Nhc2VcXFwiPHRvcD5cXFwiOmJyZWFrO2Nhc2VcXFwiPC90b3A+XFxcIjpicmVhaztjYXNlXFxcIjxib3R0b20vPlxcXCI6YnJlYWs7Y2FzZVxcXCI8Ym90dG9tXFxcIjo7Y2FzZVxcXCI8Ym90dG9tPlxcXCI6YnJlYWs7Y2FzZVxcXCI8L2JvdHRvbT5cXFwiOmJyZWFrO2Nhc2VcXFwiPGRpYWdvbmFsXFxcIjo7Y2FzZVxcXCI8ZGlhZ29uYWw+XFxcIjo7Y2FzZVxcXCI8ZGlhZ29uYWwvPlxcXCI6YnJlYWs7Y2FzZVxcXCI8L2RpYWdvbmFsPlxcXCI6YnJlYWs7Y2FzZVxcXCI8aG9yaXpvbnRhbFxcXCI6O2Nhc2VcXFwiPGhvcml6b250YWw+XFxcIjo7Y2FzZVxcXCI8aG9yaXpvbnRhbC8+XFxcIjpicmVhaztjYXNlXFxcIjwvaG9yaXpvbnRhbD5cXFwiOmJyZWFrO2Nhc2VcXFwiPHZlcnRpY2FsXFxcIjo7Y2FzZVxcXCI8dmVydGljYWw+XFxcIjo7Y2FzZVxcXCI8dmVydGljYWwvPlxcXCI6YnJlYWs7Y2FzZVxcXCI8L3ZlcnRpY2FsPlxcXCI6YnJlYWs7Y2FzZVxcXCI8c3RhcnRcXFwiOjtjYXNlXFxcIjxzdGFydD5cXFwiOjtjYXNlXFxcIjxzdGFydC8+XFxcIjpicmVhaztjYXNlXFxcIjwvc3RhcnQ+XFxcIjpicmVhaztjYXNlXFxcIjxlbmRcXFwiOjtjYXNlXFxcIjxlbmQ+XFxcIjo7Y2FzZVxcXCI8ZW5kLz5cXFwiOmJyZWFrO2Nhc2VcXFwiPC9lbmQ+XFxcIjpicmVhaztjYXNlXFxcIjxjb2xvclxcXCI6O2Nhc2VcXFwiPGNvbG9yPlxcXCI6YnJlYWs7Y2FzZVxcXCI8Y29sb3IvPlxcXCI6O2Nhc2VcXFwiPC9jb2xvcj5cXFwiOmJyZWFrO2Nhc2VcXFwiPGV4dExzdFxcXCI6O2Nhc2VcXFwiPGV4dExzdD5cXFwiOjtjYXNlXFxcIjwvZXh0THN0PlxcXCI6YnJlYWs7Y2FzZVxcXCI8ZXh0XFxcIjppPXRydWU7YnJlYWs7Y2FzZVxcXCI8L2V4dD5cXFwiOmk9ZmFsc2U7YnJlYWs7ZGVmYXVsdDppZihhJiZhLldURil7aWYoIWkpdGhyb3cgbmV3IEVycm9yKFxcXCJ1bnJlY29nbml6ZWQgXFxcIit0WzBdK1xcXCIgaW4gYm9yZGVyc1xcXCIpfTt9fSl9ZnVuY3Rpb24gQW8oZSxyLHQsYSl7ci5GaWxscz1bXTt2YXIgbj17fTt2YXIgaT1mYWxzZTsoZVswXS5tYXRjaChSZSl8fFtdKS5mb3JFYWNoKGZ1bmN0aW9uKGUpe3ZhciB0PUZlKGUpO3N3aXRjaChQZSh0WzBdKSl7Y2FzZVxcXCI8ZmlsbHNcXFwiOjtjYXNlXFxcIjxmaWxscz5cXFwiOjtjYXNlXFxcIjwvZmlsbHM+XFxcIjpicmVhaztjYXNlXFxcIjxmaWxsPlxcXCI6O2Nhc2VcXFwiPGZpbGxcXFwiOjtjYXNlXFxcIjxmaWxsLz5cXFwiOm49e307ci5GaWxscy5wdXNoKG4pO2JyZWFrO2Nhc2VcXFwiPC9maWxsPlxcXCI6YnJlYWs7Y2FzZVxcXCI8Z3JhZGllbnRGaWxsPlxcXCI6YnJlYWs7Y2FzZVxcXCI8Z3JhZGllbnRGaWxsXFxcIjo7Y2FzZVxcXCI8L2dyYWRpZW50RmlsbD5cXFwiOnIuRmlsbHMucHVzaChuKTtuPXt9O2JyZWFrO2Nhc2VcXFwiPHBhdHRlcm5GaWxsXFxcIjo7Y2FzZVxcXCI8cGF0dGVybkZpbGw+XFxcIjppZih0LnBhdHRlcm5UeXBlKW4ucGF0dGVyblR5cGU9dC5wYXR0ZXJuVHlwZTticmVhaztjYXNlXFxcIjxwYXR0ZXJuRmlsbC8+XFxcIjo7Y2FzZVxcXCI8L3BhdHRlcm5GaWxsPlxcXCI6YnJlYWs7Y2FzZVxcXCI8YmdDb2xvclxcXCI6aWYoIW4uYmdDb2xvciluLmJnQ29sb3I9e307aWYodC5pbmRleGVkKW4uYmdDb2xvci5pbmRleGVkPXBhcnNlSW50KHQuaW5kZXhlZCwxMCk7aWYodC50aGVtZSluLmJnQ29sb3IudGhlbWU9cGFyc2VJbnQodC50aGVtZSwxMCk7aWYodC50aW50KW4uYmdDb2xvci50aW50PXBhcnNlRmxvYXQodC50aW50KTtpZih0LnJnYiluLmJnQ29sb3IucmdiPXQucmdiLnNsaWNlKC02KTticmVhaztjYXNlXFxcIjxiZ0NvbG9yLz5cXFwiOjtjYXNlXFxcIjwvYmdDb2xvcj5cXFwiOmJyZWFrO2Nhc2VcXFwiPGZnQ29sb3JcXFwiOmlmKCFuLmZnQ29sb3Ipbi5mZ0NvbG9yPXt9O2lmKHQudGhlbWUpbi5mZ0NvbG9yLnRoZW1lPXBhcnNlSW50KHQudGhlbWUsMTApO2lmKHQudGludCluLmZnQ29sb3IudGludD1wYXJzZUZsb2F0KHQudGludCk7aWYodC5yZ2IhPW51bGwpbi5mZ0NvbG9yLnJnYj10LnJnYi5zbGljZSgtNik7XFxuYnJlYWs7Y2FzZVxcXCI8ZmdDb2xvci8+XFxcIjo7Y2FzZVxcXCI8L2ZnQ29sb3I+XFxcIjpicmVhaztjYXNlXFxcIjxzdG9wXFxcIjo7Y2FzZVxcXCI8c3RvcC8+XFxcIjpicmVhaztjYXNlXFxcIjwvc3RvcD5cXFwiOmJyZWFrO2Nhc2VcXFwiPGNvbG9yXFxcIjo7Y2FzZVxcXCI8Y29sb3IvPlxcXCI6YnJlYWs7Y2FzZVxcXCI8L2NvbG9yPlxcXCI6YnJlYWs7Y2FzZVxcXCI8ZXh0THN0XFxcIjo7Y2FzZVxcXCI8ZXh0THN0PlxcXCI6O2Nhc2VcXFwiPC9leHRMc3Q+XFxcIjpicmVhaztjYXNlXFxcIjxleHRcXFwiOmk9dHJ1ZTticmVhaztjYXNlXFxcIjwvZXh0PlxcXCI6aT1mYWxzZTticmVhaztkZWZhdWx0OmlmKGEmJmEuV1RGKXtpZighaSl0aHJvdyBuZXcgRXJyb3IoXFxcInVucmVjb2duaXplZCBcXFwiK3RbMF0rXFxcIiBpbiBmaWxsc1xcXCIpfTt9fSl9ZnVuY3Rpb24gSW8oZSxyLHQsYSl7ci5Gb250cz1bXTt2YXIgbj17fTt2YXIgcz1mYWxzZTsoZVswXS5tYXRjaChSZSl8fFtdKS5mb3JFYWNoKGZ1bmN0aW9uKGUpe3ZhciBmPUZlKGUpO3N3aXRjaChQZShmWzBdKSl7Y2FzZVxcXCI8Zm9udHNcXFwiOjtjYXNlXFxcIjxmb250cz5cXFwiOjtjYXNlXFxcIjwvZm9udHM+XFxcIjpicmVhaztjYXNlXFxcIjxmb250XFxcIjo7Y2FzZVxcXCI8Zm9udD5cXFwiOmJyZWFrO2Nhc2VcXFwiPC9mb250PlxcXCI6O2Nhc2VcXFwiPGZvbnQvPlxcXCI6ci5Gb250cy5wdXNoKG4pO249e307YnJlYWs7Y2FzZVxcXCI8bmFtZVxcXCI6aWYoZi52YWwpbi5uYW1lPVllKGYudmFsKTticmVhaztjYXNlXFxcIjxuYW1lLz5cXFwiOjtjYXNlXFxcIjwvbmFtZT5cXFwiOmJyZWFrO2Nhc2VcXFwiPGJcXFwiOm4uYm9sZD1mLnZhbD8kZShmLnZhbCk6MTticmVhaztjYXNlXFxcIjxiLz5cXFwiOm4uYm9sZD0xO2JyZWFrO2Nhc2VcXFwiPGlcXFwiOm4uaXRhbGljPWYudmFsPyRlKGYudmFsKToxO2JyZWFrO2Nhc2VcXFwiPGkvPlxcXCI6bi5pdGFsaWM9MTticmVhaztjYXNlXFxcIjx1XFxcIjpzd2l0Y2goZi52YWwpe2Nhc2VcXFwibm9uZVxcXCI6bi51bmRlcmxpbmU9MDticmVhaztjYXNlXFxcInNpbmdsZVxcXCI6bi51bmRlcmxpbmU9MTticmVhaztjYXNlXFxcImRvdWJsZVxcXCI6bi51bmRlcmxpbmU9MjticmVhaztjYXNlXFxcInNpbmdsZUFjY291bnRpbmdcXFwiOm4udW5kZXJsaW5lPTMzO2JyZWFrO2Nhc2VcXFwiZG91YmxlQWNjb3VudGluZ1xcXCI6bi51bmRlcmxpbmU9MzQ7YnJlYWs7fWJyZWFrO2Nhc2VcXFwiPHUvPlxcXCI6bi51bmRlcmxpbmU9MTticmVhaztjYXNlXFxcIjxzdHJpa2VcXFwiOm4uc3RyaWtlPWYudmFsPyRlKGYudmFsKToxO2JyZWFrO2Nhc2VcXFwiPHN0cmlrZS8+XFxcIjpuLnN0cmlrZT0xO2JyZWFrO2Nhc2VcXFwiPG91dGxpbmVcXFwiOm4ub3V0bGluZT1mLnZhbD8kZShmLnZhbCk6MTticmVhaztjYXNlXFxcIjxvdXRsaW5lLz5cXFwiOm4ub3V0bGluZT0xO2JyZWFrO2Nhc2VcXFwiPHNoYWRvd1xcXCI6bi5zaGFkb3c9Zi52YWw/JGUoZi52YWwpOjE7YnJlYWs7Y2FzZVxcXCI8c2hhZG93Lz5cXFwiOm4uc2hhZG93PTE7YnJlYWs7Y2FzZVxcXCI8Y29uZGVuc2VcXFwiOm4uY29uZGVuc2U9Zi52YWw/JGUoZi52YWwpOjE7YnJlYWs7Y2FzZVxcXCI8Y29uZGVuc2UvPlxcXCI6bi5jb25kZW5zZT0xO2JyZWFrO2Nhc2VcXFwiPGV4dGVuZFxcXCI6bi5leHRlbmQ9Zi52YWw/JGUoZi52YWwpOjE7YnJlYWs7Y2FzZVxcXCI8ZXh0ZW5kLz5cXFwiOm4uZXh0ZW5kPTE7YnJlYWs7Y2FzZVxcXCI8c3pcXFwiOmlmKGYudmFsKW4uc3o9K2YudmFsO2JyZWFrO2Nhc2VcXFwiPHN6Lz5cXFwiOjtjYXNlXFxcIjwvc3o+XFxcIjpicmVhaztjYXNlXFxcIjx2ZXJ0QWxpZ25cXFwiOmlmKGYudmFsKW4udmVydEFsaWduPWYudmFsO2JyZWFrO2Nhc2VcXFwiPHZlcnRBbGlnbi8+XFxcIjo7Y2FzZVxcXCI8L3ZlcnRBbGlnbj5cXFwiOmJyZWFrO2Nhc2VcXFwiPGZhbWlseVxcXCI6aWYoZi52YWwpbi5mYW1pbHk9cGFyc2VJbnQoZi52YWwsMTApO2JyZWFrO2Nhc2VcXFwiPGZhbWlseS8+XFxcIjo7Y2FzZVxcXCI8L2ZhbWlseT5cXFwiOmJyZWFrO2Nhc2VcXFwiPHNjaGVtZVxcXCI6aWYoZi52YWwpbi5zY2hlbWU9Zi52YWw7YnJlYWs7Y2FzZVxcXCI8c2NoZW1lLz5cXFwiOjtjYXNlXFxcIjwvc2NoZW1lPlxcXCI6YnJlYWs7Y2FzZVxcXCI8Y2hhcnNldFxcXCI6aWYoZi52YWw9PVxcXCIxXFxcIilicmVhaztmLmNvZGVwYWdlPWlbcGFyc2VJbnQoZi52YWwsMTApXTticmVhaztjYXNlXFxcIjxjb2xvclxcXCI6aWYoIW4uY29sb3Ipbi5jb2xvcj17fTtpZihmLmF1dG8pbi5jb2xvci5hdXRvPSRlKGYuYXV0byk7aWYoZi5yZ2Ipbi5jb2xvci5yZ2I9Zi5yZ2Iuc2xpY2UoLTYpO2Vsc2UgaWYoZi5pbmRleGVkKXtuLmNvbG9yLmluZGV4PXBhcnNlSW50KGYuaW5kZXhlZCwxMCk7dmFyIG89eWFbbi5jb2xvci5pbmRleF07aWYobi5jb2xvci5pbmRleD09ODEpbz15YVsxXTtpZighbyl0aHJvdyBuZXcgRXJyb3IoZSk7bi5jb2xvci5yZ2I9b1swXS50b1N0cmluZygxNikrb1sxXS50b1N0cmluZygxNikrb1syXS50b1N0cmluZygxNil9ZWxzZSBpZihmLnRoZW1lKXtuLmNvbG9yLnRoZW1lPXBhcnNlSW50KGYudGhlbWUsMTApO2lmKGYudGludCluLmNvbG9yLnRpbnQ9cGFyc2VGbG9hdChmLnRpbnQpO2lmKGYudGhlbWUmJnQudGhlbWVFbGVtZW50cyYmdC50aGVtZUVsZW1lbnRzLmNsclNjaGVtZSl7bi5jb2xvci5yZ2I9dW8odC50aGVtZUVsZW1lbnRzLmNsclNjaGVtZVtuLmNvbG9yLnRoZW1lXS5yZ2Isbi5jb2xvci50aW50fHwwKX19YnJlYWs7Y2FzZVxcXCI8Y29sb3IvPlxcXCI6O2Nhc2VcXFwiPC9jb2xvcj5cXFwiOmJyZWFrO2Nhc2VcXFwiPEFsdGVybmF0ZUNvbnRlbnRcXFwiOnM9dHJ1ZTticmVhaztjYXNlXFxcIjwvQWx0ZXJuYXRlQ29udGVudD5cXFwiOnM9ZmFsc2U7YnJlYWs7Y2FzZVxcXCI8ZXh0THN0XFxcIjo7Y2FzZVxcXCI8ZXh0THN0PlxcXCI6O2Nhc2VcXFwiPC9leHRMc3Q+XFxcIjpicmVhaztjYXNlXFxcIjxleHRcXFwiOnM9dHJ1ZTticmVhaztjYXNlXFxcIjwvZXh0PlxcXCI6cz1mYWxzZTticmVhaztkZWZhdWx0OmlmKGEmJmEuV1RGKXtpZighcyl0aHJvdyBuZXcgRXJyb3IoXFxcInVucmVjb2duaXplZCBcXFwiK2ZbMF0rXFxcIiBpbiBmb250c1xcXCIpfTt9fSl9ZnVuY3Rpb24gUm8oZSxyLHQpe3IuTnVtYmVyRm10PVtdO3ZhciBhPUsoRC5fdGFibGUpO2Zvcih2YXIgbj0wO248YS5sZW5ndGg7KytuKXIuTnVtYmVyRm10W2Fbbl1dPUQuX3RhYmxlW2Fbbl1dO3ZhciBpPWVbMF0ubWF0Y2goUmUpO2lmKCFpKXJldHVybjtmb3Iobj0wO248aS5sZW5ndGg7KytuKXt2YXIgcz1GZShpW25dKTtzd2l0Y2goUGUoc1swXSkpe2Nhc2VcXFwiPG51bUZtdHNcXFwiOjtjYXNlXFxcIjwvbnVtRm10cz5cXFwiOjtjYXNlXFxcIjxudW1GbXRzLz5cXFwiOjtjYXNlXFxcIjxudW1GbXRzPlxcXCI6YnJlYWs7Y2FzZVxcXCI8bnVtRm10XFxcIjp7dmFyIGY9TWUoWWUocy5mb3JtYXRDb2RlKSksbz1wYXJzZUludChzLm51bUZtdElkLDEwKTtyLk51bWJlckZtdFtvXT1mO2lmKG8+MCl7aWYobz4zOTIpe2ZvcihvPTM5MjtvPjYwOy0tbylpZihyLk51bWJlckZtdFtvXT09bnVsbClicmVhaztyLk51bWJlckZtdFtvXT1mfUQubG9hZChmLG8pfX1icmVhaztjYXNlXFxcIjwvbnVtRm10PlxcXCI6YnJlYWs7ZGVmYXVsdDppZih0LldURil0aHJvdyBuZXcgRXJyb3IoXFxcInVucmVjb2duaXplZCBcXFwiK3NbMF0rXFxcIiBpbiBudW1GbXRzXFxcIik7fX19ZnVuY3Rpb24gT28oZSl7dmFyIHI9W1xcXCI8bnVtRm10cz5cXFwiXTtbWzUsOF0sWzIzLDI2XSxbNDEsNDRdLFs1MCwzOTJdXS5mb3JFYWNoKGZ1bmN0aW9uKHQpe2Zvcih2YXIgYT10WzBdO2E8PXRbMV07KythKWlmKGVbYV0hPW51bGwpcltyLmxlbmd0aF09bHIoXFxcIm51bUZtdFxcXCIsbnVsbCx7bnVtRm10SWQ6YSxmb3JtYXRDb2RlOkhlKGVbYV0pfSl9KTtpZihyLmxlbmd0aD09PTEpcmV0dXJuXFxcIlxcXCI7cltyLmxlbmd0aF09XFxcIjwvbnVtRm10cz5cXFwiO3JbMF09bHIoXFxcIm51bUZtdHNcXFwiLG51bGwse2NvdW50OnIubGVuZ3RoLTJ9KS5yZXBsYWNlKFxcXCIvPlxcXCIsXFxcIj5cXFwiKTtyZXR1cm4gci5qb2luKFxcXCJcXFwiKX12YXIgRG89W1xcXCJudW1GbXRJZFxcXCIsXFxcImZpbGxJZFxcXCIsXFxcImZvbnRJZFxcXCIsXFxcImJvcmRlcklkXFxcIixcXFwieGZJZFxcXCJdO3ZhciBGbz1bXFxcImFwcGx5QWxpZ25tZW50XFxcIixcXFwiYXBwbHlCb3JkZXJcXFwiLFxcXCJhcHBseUZpbGxcXFwiLFxcXCJhcHBseUZvbnRcXFwiLFxcXCJhcHBseU51bWJlckZvcm1hdFxcXCIsXFxcImFwcGx5UHJvdGVjdGlvblxcXCIsXFxcInBpdm90QnV0dG9uXFxcIixcXFwicXVvdGVQcmVmaXhcXFwiXTtmdW5jdGlvbiBQbyhlLHIsdCl7ci5DZWxsWGY9W107dmFyIGE7dmFyIG49ZmFsc2U7KGVbMF0ubWF0Y2goUmUpfHxbXSkuZm9yRWFjaChmdW5jdGlvbihlKXt2YXIgaT1GZShlKSxzPTA7c3dpdGNoKFBlKGlbMF0pKXtjYXNlXFxcIjxjZWxsWGZzXFxcIjo7Y2FzZVxcXCI8Y2VsbFhmcz5cXFwiOjtjYXNlXFxcIjxjZWxsWGZzLz5cXFwiOjtjYXNlXFxcIjwvY2VsbFhmcz5cXFwiOmJyZWFrO2Nhc2VcXFwiPHhmXFxcIjo7Y2FzZVxcXCI8eGYvPlxcXCI6YT1pO2RlbGV0ZSBhWzBdO2ZvcihzPTA7czxEby5sZW5ndGg7KytzKWlmKGFbRG9bc11dKWFbRG9bc11dPXBhcnNlSW50KGFbRG9bc11dLDEwKTtmb3Iocz0wO3M8Rm8ubGVuZ3RoOysrcylpZihhW0ZvW3NdXSlhW0ZvW3NdXT0kZShhW0ZvW3NdXSk7aWYoYS5udW1GbXRJZD4zOTIpe2ZvcihzPTM5MjtzPjYwOy0tcylpZihyLk51bWJlckZtdFthLm51bUZtdElkXT09ci5OdW1iZXJGbXRbc10pe2EubnVtRm10SWQ9czticmVha319ci5DZWxsWGYucHVzaChhKTticmVhaztjYXNlXFxcIjwveGY+XFxcIjpicmVhaztjYXNlXFxcIjxhbGlnbm1lbnRcXFwiOjtjYXNlXFxcIjxhbGlnbm1lbnQvPlxcXCI6dmFyIGY9e307aWYoaS52ZXJ0aWNhbClmLnZlcnRpY2FsPWkudmVydGljYWw7aWYoaS5ob3Jpem9udGFsKWYuaG9yaXpvbnRhbD1pLmhvcml6b250YWw7aWYoaS50ZXh0Um90YXRpb24hPW51bGwpZi50ZXh0Um90YXRpb249aS50ZXh0Um90YXRpb247aWYoaS5pbmRlbnQpZi5pbmRlbnQ9aS5pbmRlbnQ7aWYoaS53cmFwVGV4dClmLndyYXBUZXh0PSRlKGkud3JhcFRleHQpO2EuYWxpZ25tZW50PWY7YnJlYWs7Y2FzZVxcXCI8L2FsaWdubWVudD5cXFwiOmJyZWFrO2Nhc2VcXFwiPHByb3RlY3Rpb25cXFwiOmJyZWFrO2Nhc2VcXFwiPC9wcm90ZWN0aW9uPlxcXCI6O2Nhc2VcXFwiPHByb3RlY3Rpb24vPlxcXCI6YnJlYWs7Y2FzZVxcXCI8QWx0ZXJuYXRlQ29udGVudFxcXCI6bj10cnVlO2JyZWFrO2Nhc2VcXFwiPC9BbHRlcm5hdGVDb250ZW50PlxcXCI6bj1mYWxzZTticmVhaztjYXNlXFxcIjxleHRMc3RcXFwiOjtjYXNlXFxcIjxleHRMc3Q+XFxcIjo7Y2FzZVxcXCI8L2V4dExzdD5cXFwiOmJyZWFrO2Nhc2VcXFwiPGV4dFxcXCI6bj10cnVlO2JyZWFrO2Nhc2VcXFwiPC9leHQ+XFxcIjpuPWZhbHNlO2JyZWFrO2RlZmF1bHQ6aWYodCYmdC5XVEYpe2lmKCFuKXRocm93IG5ldyBFcnJvcihcXFwidW5yZWNvZ25pemVkIFxcXCIraVswXStcXFwiIGluIGNlbGxYZnNcXFwiKX07fX0pfWZ1bmN0aW9uIE5vKGUpe3ZhciByPVtdO3Jbci5sZW5ndGhdPWxyKFxcXCJjZWxsWGZzXFxcIixudWxsKTtlLmZvckVhY2goZnVuY3Rpb24oZSl7cltyLmxlbmd0aF09bHIoXFxcInhmXFxcIixudWxsLGUpfSk7cltyLmxlbmd0aF09XFxcIjwvY2VsbFhmcz5cXFwiO2lmKHIubGVuZ3RoPT09MilyZXR1cm5cXFwiXFxcIjtyWzBdPWxyKFxcXCJjZWxsWGZzXFxcIixudWxsLHtjb3VudDpyLmxlbmd0aC0yfSkucmVwbGFjZShcXFwiLz5cXFwiLFxcXCI+XFxcIik7cmV0dXJuIHIuam9pbihcXFwiXFxcIil9dmFyIExvPWZ1bmN0aW9uIE9iKCl7dmFyIGU9LzwoPzpcXFxcdys6KT9udW1GbXRzKFtePl0qKT5bXFxcXFNcXFxcc10qPzxcXFxcLyg/OlxcXFx3KzopP251bUZtdHM+Lzt2YXIgcj0vPCg/OlxcXFx3KzopP2NlbGxYZnMoW14+XSopPltcXFxcU1xcXFxzXSo/PFxcXFwvKD86XFxcXHcrOik/Y2VsbFhmcz4vO3ZhciB0PS88KD86XFxcXHcrOik/ZmlsbHMoW14+XSopPltcXFxcU1xcXFxzXSo/PFxcXFwvKD86XFxcXHcrOik/ZmlsbHM+Lzt2YXIgYT0vPCg/OlxcXFx3KzopP2ZvbnRzKFtePl0qKT5bXFxcXFNcXFxcc10qPzxcXFxcLyg/OlxcXFx3KzopP2ZvbnRzPi87dmFyIG49LzwoPzpcXFxcdys6KT9ib3JkZXJzKFtePl0qKT5bXFxcXFNcXFxcc10qPzxcXFxcLyg/OlxcXFx3KzopP2JvcmRlcnM+LztyZXR1cm4gZnVuY3Rpb24gaShzLGYsbyl7dmFyIGw9e307aWYoIXMpcmV0dXJuIGw7cz1zLnJlcGxhY2UoLzwhLS0oW1xcXFxzXFxcXFNdKj8pLS0+L2dtLFxcXCJcXFwiKS5yZXBsYWNlKC88IURPQ1RZUEVbXlxcXFxbXSpcXFxcW1teXFxcXF1dKlxcXFxdPi9nbSxcXFwiXFxcIik7dmFyIGM7aWYoYz1zLm1hdGNoKGUpKVJvKGMsbCxvKTtpZihjPXMubWF0Y2goYSkpSW8oYyxsLGYsbyk7aWYoYz1zLm1hdGNoKHQpKUFvKGMsbCxmLG8pO2lmKGM9cy5tYXRjaChuKSl4byhjLGwsZixvKTtpZihjPXMubWF0Y2gocikpUG8oYyxsLG8pO3JldHVybiBsfX0oKTt2YXIgTW89bHIoXFxcInN0eWxlU2hlZXRcXFwiLG51bGwse3htbG5zOmhyLm1haW5bMF0sXFxcInhtbG5zOnZ0XFxcIjpoci52dH0pO01hLlNUWT1cXFwiaHR0cDovL3NjaGVtYXMub3BlbnhtbGZvcm1hdHMub3JnL29mZmljZURvY3VtZW50LzIwMDYvcmVsYXRpb25zaGlwcy9zdHlsZXNcXFwiO2Z1bmN0aW9uIFVvKGUscil7dmFyIHQ9W0FlLE1vXSxhO2lmKGUuU1NGJiYoYT1PbyhlLlNTRikpIT1udWxsKXRbdC5sZW5ndGhdPWE7dFt0Lmxlbmd0aF09Jzxmb250cyBjb3VudD1cXFwiMVxcXCI+PGZvbnQ+PHN6IHZhbD1cXFwiMTJcXFwiLz48Y29sb3IgdGhlbWU9XFxcIjFcXFwiLz48bmFtZSB2YWw9XFxcIkNhbGlicmlcXFwiLz48ZmFtaWx5IHZhbD1cXFwiMlxcXCIvPjxzY2hlbWUgdmFsPVxcXCJtaW5vclxcXCIvPjwvZm9udD48L2ZvbnRzPic7dFt0Lmxlbmd0aF09JzxmaWxscyBjb3VudD1cXFwiMlxcXCI+PGZpbGw+PHBhdHRlcm5GaWxsIHBhdHRlcm5UeXBlPVxcXCJub25lXFxcIi8+PC9maWxsPjxmaWxsPjxwYXR0ZXJuRmlsbCBwYXR0ZXJuVHlwZT1cXFwiZ3JheTEyNVxcXCIvPjwvZmlsbD48L2ZpbGxzPic7dFt0Lmxlbmd0aF09Jzxib3JkZXJzIGNvdW50PVxcXCIxXFxcIj48Ym9yZGVyPjxsZWZ0Lz48cmlnaHQvPjx0b3AvPjxib3R0b20vPjxkaWFnb25hbC8+PC9ib3JkZXI+PC9ib3JkZXJzPic7dFt0Lmxlbmd0aF09JzxjZWxsU3R5bGVYZnMgY291bnQ9XFxcIjFcXFwiPjx4ZiBudW1GbXRJZD1cXFwiMFxcXCIgZm9udElkPVxcXCIwXFxcIiBmaWxsSWQ9XFxcIjBcXFwiIGJvcmRlcklkPVxcXCIwXFxcIi8+PC9jZWxsU3R5bGVYZnM+JztpZihhPU5vKHIuY2VsbFhmcykpdFt0Lmxlbmd0aF09YTt0W3QubGVuZ3RoXT0nPGNlbGxTdHlsZXMgY291bnQ9XFxcIjFcXFwiPjxjZWxsU3R5bGUgbmFtZT1cXFwiTm9ybWFsXFxcIiB4ZklkPVxcXCIwXFxcIiBidWlsdGluSWQ9XFxcIjBcXFwiLz48L2NlbGxTdHlsZXM+Jzt0W3QubGVuZ3RoXT0nPGR4ZnMgY291bnQ9XFxcIjBcXFwiLz4nO3RbdC5sZW5ndGhdPSc8dGFibGVTdHlsZXMgY291bnQ9XFxcIjBcXFwiIGRlZmF1bHRUYWJsZVN0eWxlPVxcXCJUYWJsZVN0eWxlTWVkaXVtOVxcXCIgZGVmYXVsdFBpdm90U3R5bGU9XFxcIlBpdm90U3R5bGVNZWRpdW00XFxcIi8+JztpZih0Lmxlbmd0aD4yKXt0W3QubGVuZ3RoXT1cXFwiPC9zdHlsZVNoZWV0PlxcXCI7dFsxXT10WzFdLnJlcGxhY2UoXFxcIi8+XFxcIixcXFwiPlxcXCIpfXJldHVybiB0LmpvaW4oXFxcIlxcXCIpfWZ1bmN0aW9uIHpvKGUscil7dmFyIHQ9ZS5fUigyKTt2YXIgYT15dChlLHItMik7cmV0dXJuW3QsYV19ZnVuY3Rpb24gSG8oZSxyLHQpe2lmKCF0KXQ9SnIoNis0KnIubGVuZ3RoKTt0Ll9XKDIsZSk7eHQocix0KTt2YXIgYT10Lmxlbmd0aD50Lmw/dC5zbGljZSgwLHQubCk6dDtpZih0Lmw9PW51bGwpdC5sPXQubGVuZ3RoO3JldHVybiBhfWZ1bmN0aW9uIFdvKGUscix0KXt2YXIgYT17fTthLnN6PWUuX1IoMikvMjA7dmFyIG49ZWEoZSwyLHQpO2lmKG4uZkl0YWxpYylhLml0YWxpYz0xO2lmKG4uZkNvbmRlbnNlKWEuY29uZGVuc2U9MTtpZihuLmZFeHRlbmQpYS5leHRlbmQ9MTtpZihuLmZTaGFkb3cpYS5zaGFkb3c9MTtpZihuLmZPdXRsaW5lKWEub3V0bGluZT0xO2lmKG4uZlN0cmlrZW91dClhLnN0cmlrZT0xO3ZhciBpPWUuX1IoMik7aWYoaT09PTcwMClhLmJvbGQ9MTtzd2l0Y2goZS5fUigyKSl7Y2FzZSAxOmEudmVydEFsaWduPVxcXCJzdXBlcnNjcmlwdFxcXCI7YnJlYWs7Y2FzZSAyOmEudmVydEFsaWduPVxcXCJzdWJzY3JpcHRcXFwiO2JyZWFrO312YXIgcz1lLl9SKDEpO2lmKHMhPTApYS51bmRlcmxpbmU9czt2YXIgZj1lLl9SKDEpO2lmKGY+MClhLmZhbWlseT1mO3ZhciBvPWUuX1IoMSk7aWYobz4wKWEuY2hhcnNldD1vO2UubCsrO2EuY29sb3I9UXQoZSw4KTtzd2l0Y2goZS5fUigxKSl7Y2FzZSAxOmEuc2NoZW1lPVxcXCJtYWpvclxcXCI7YnJlYWs7Y2FzZSAyOmEuc2NoZW1lPVxcXCJtaW5vclxcXCI7YnJlYWs7fWEubmFtZT15dChlLHItMjEpO3JldHVybiBhfWZ1bmN0aW9uIFZvKGUscil7aWYoIXIpcj1KcigyNSs0KjMyKTtyLl9XKDIsZS5zeioyMCk7cmEoZSxyKTtyLl9XKDIsZS5ib2xkPzcwMDo0MDApO3ZhciB0PTA7aWYoZS52ZXJ0QWxpZ249PVxcXCJzdXBlcnNjcmlwdFxcXCIpdD0xO2Vsc2UgaWYoZS52ZXJ0QWxpZ249PVxcXCJzdWJzY3JpcHRcXFwiKXQ9MjtyLl9XKDIsdCk7ci5fVygxLGUudW5kZXJsaW5lfHwwKTtyLl9XKDEsZS5mYW1pbHl8fDApO3IuX1coMSxlLmNoYXJzZXR8fDApO3IuX1coMSwwKTtxdChlLmNvbG9yLHIpO3ZhciBhPTA7aWYoZS5zY2hlbWU9PVxcXCJtYWpvclxcXCIpYT0xO2lmKGUuc2NoZW1lPT1cXFwibWlub3JcXFwiKWE9MjtyLl9XKDEsYSk7eHQoZS5uYW1lLHIpO3JldHVybiByLmxlbmd0aD5yLmw/ci5zbGljZSgwLHIubCk6cn12YXIgWG89W1xcXCJub25lXFxcIixcXFwic29saWRcXFwiLFxcXCJtZWRpdW1HcmF5XFxcIixcXFwiZGFya0dyYXlcXFwiLFxcXCJsaWdodEdyYXlcXFwiLFxcXCJkYXJrSG9yaXpvbnRhbFxcXCIsXFxcImRhcmtWZXJ0aWNhbFxcXCIsXFxcImRhcmtEb3duXFxcIixcXFwiZGFya1VwXFxcIixcXFwiZGFya0dyaWRcXFwiLFxcXCJkYXJrVHJlbGxpc1xcXCIsXFxcImxpZ2h0SG9yaXpvbnRhbFxcXCIsXFxcImxpZ2h0VmVydGljYWxcXFwiLFxcXCJsaWdodERvd25cXFwiLFxcXCJsaWdodFVwXFxcIixcXFwibGlnaHRHcmlkXFxcIixcXFwibGlnaHRUcmVsbGlzXFxcIixcXFwiZ3JheTEyNVxcXCIsXFxcImdyYXkwNjI1XFxcIl07dmFyIEdvPVooWG8pO3ZhciBqbz1acjtmdW5jdGlvbiBLbyhlLHIpe2lmKCFyKXI9SnIoNCozKzgqNysxNioxKTt2YXIgdD1Hb1tlLnBhdHRlcm5UeXBlXTtpZih0PT1udWxsKXQ9NDA7ci5fVyg0LHQpO3ZhciBhPTA7aWYodCE9NDApe3F0KHthdXRvOjF9LHIpO3F0KHthdXRvOjF9LHIpO2Zvcig7YTwxMjsrK2Epci5fVyg0LDApfWVsc2V7Zm9yKDthPDQ7KythKXIuX1coNCwwKTtmb3IoO2E8MTI7KythKXIuX1coNCwwKX1yZXR1cm4gci5sZW5ndGg+ci5sP3Iuc2xpY2UoMCxyLmwpOnJ9ZnVuY3Rpb24gJG8oZSxyKXt2YXIgdD1lLmwrcjt2YXIgYT1lLl9SKDIpO3ZhciBuPWUuX1IoMik7ZS5sPXQ7cmV0dXJue2l4ZmU6YSxudW1GbXRJZDpufX1mdW5jdGlvbiBZbyhlLHIsdCl7aWYoIXQpdD1KcigxNik7dC5fVygyLHJ8fDApO3QuX1coMixlLm51bUZtdElkfHwwKTt0Ll9XKDIsMCk7dC5fVygyLDApO3QuX1coMiwwKTt0Ll9XKDEsMCk7dC5fVygxLDApO3ZhciBhPTA7dC5fVygxLGEpO3QuX1coMSwwKTt0Ll9XKDEsMCk7dC5fVygxLDApO3JldHVybiB0fWZ1bmN0aW9uIFpvKGUscil7aWYoIXIpcj1KcigxMCk7ci5fVygxLDApO3IuX1coMSwwKTtyLl9XKDQsMCk7ci5fVyg0LDApO3JldHVybiByfXZhciBKbz1acjtmdW5jdGlvbiBRbyhlLHIpe2lmKCFyKXI9SnIoNTEpO3IuX1coMSwwKTtabyhudWxsLHIpO1pvKG51bGwscik7Wm8obnVsbCxyKTtabyhudWxsLHIpO1pvKG51bGwscik7cmV0dXJuIHIubGVuZ3RoPnIubD9yLnNsaWNlKDAsci5sKTpyfWZ1bmN0aW9uIHFvKGUscil7aWYoIXIpcj1KcigxMis0KjEwKTtyLl9XKDQsZS54ZklkKTtyLl9XKDIsMSk7ci5fVygxLCtlLmJ1aWx0aW5JZCk7ci5fVygxLDApO3p0KGUubmFtZXx8XFxcIlxcXCIscik7cmV0dXJuIHIubGVuZ3RoPnIubD9yLnNsaWNlKDAsci5sKTpyfWZ1bmN0aW9uIGVsKGUscix0KXt2YXIgYT1Kcig0KzI1NioyKjQpO2EuX1coNCxlKTt6dChyLGEpO3p0KHQsYSk7cmV0dXJuIGEubGVuZ3RoPmEubD9hLnNsaWNlKDAsYS5sKTphfWZ1bmN0aW9uIHJsKGUscix0KXt2YXIgYT17fTthLk51bWJlckZtdD1bXTtmb3IodmFyIG4gaW4gRC5fdGFibGUpYS5OdW1iZXJGbXRbbl09RC5fdGFibGVbbl07YS5DZWxsWGY9W107YS5Gb250cz1bXTt2YXIgaT1bXTt2YXIgcz1mYWxzZTtRcihlLGZ1bmN0aW9uIGYoZSxuLG8pe3N3aXRjaChvKXtjYXNlIDQ0OmEuTnVtYmVyRm10W2VbMF1dPWVbMV07RC5sb2FkKGVbMV0sZVswXSk7YnJlYWs7Y2FzZSA0MzphLkZvbnRzLnB1c2goZSk7aWYoZS5jb2xvci50aGVtZSE9bnVsbCYmciYmci50aGVtZUVsZW1lbnRzJiZyLnRoZW1lRWxlbWVudHMuY2xyU2NoZW1lKXtlLmNvbG9yLnJnYj11byhyLnRoZW1lRWxlbWVudHMuY2xyU2NoZW1lW2UuY29sb3IudGhlbWVdLnJnYixlLmNvbG9yLnRpbnR8fDApfWJyZWFrO2Nhc2UgMTAyNTpicmVhaztjYXNlIDQ1OmJyZWFrO2Nhc2UgNDY6YnJlYWs7Y2FzZSA0NzppZihpW2kubGVuZ3RoLTFdPT1cXFwiQnJ0QmVnaW5DZWxsWEZzXFxcIil7YS5DZWxsWGYucHVzaChlKX1icmVhaztjYXNlIDQ4OjtjYXNlIDUwNzo7Y2FzZSA1NzI6O2Nhc2UgNDc1OmJyZWFrO2Nhc2UgMTE3MTo7Y2FzZSAyMTAyOjtjYXNlIDExMzA6O2Nhc2UgNTEyOjtjYXNlIDIwOTU6O2Nhc2UgMzA3MjpicmVhaztjYXNlIDM1OnM9dHJ1ZTticmVhaztjYXNlIDM2OnM9ZmFsc2U7YnJlYWs7Y2FzZSAzNzppLnB1c2gobik7cz10cnVlO2JyZWFrO2Nhc2UgMzg6aS5wb3AoKTtzPWZhbHNlO2JyZWFrO2RlZmF1bHQ6aWYoKG58fFxcXCJcXFwiKS5pbmRleE9mKFxcXCJCZWdpblxcXCIpPjApaS5wdXNoKG4pO2Vsc2UgaWYoKG58fFxcXCJcXFwiKS5pbmRleE9mKFxcXCJFbmRcXFwiKT4wKWkucG9wKCk7ZWxzZSBpZighc3x8dC5XVEYmJmlbaS5sZW5ndGgtMV0hPVxcXCJCcnRBQ0JlZ2luXFxcIil0aHJvdyBuZXcgRXJyb3IoXFxcIlVuZXhwZWN0ZWQgcmVjb3JkIFxcXCIrbytcXFwiIFxcXCIrbik7fX0pO3JldHVybiBhfWZ1bmN0aW9uIHRsKGUscil7aWYoIXIpcmV0dXJuO3ZhciB0PTA7W1s1LDhdLFsyMywyNl0sWzQxLDQ0XSxbNTAsMzkyXV0uZm9yRWFjaChmdW5jdGlvbihlKXtmb3IodmFyIGE9ZVswXTthPD1lWzFdOysrYSlpZihyW2FdIT1udWxsKSsrdH0pO2lmKHQ9PTApcmV0dXJuO2V0KGUsXFxcIkJydEJlZ2luRm10c1xcXCIsVHQodCkpO1tbNSw4XSxbMjMsMjZdLFs0MSw0NF0sWzUwLDM5Ml1dLmZvckVhY2goZnVuY3Rpb24odCl7Zm9yKHZhciBhPXRbMF07YTw9dFsxXTsrK2EpaWYoclthXSE9bnVsbClldChlLFxcXCJCcnRGbXRcXFwiLEhvKGEsclthXSkpfSk7ZXQoZSxcXFwiQnJ0RW5kRm10c1xcXCIpfWZ1bmN0aW9uIGFsKGUpe3ZhciByPTE7aWYocj09MClyZXR1cm47ZXQoZSxcXFwiQnJ0QmVnaW5Gb250c1xcXCIsVHQocikpO2V0KGUsXFxcIkJydEZvbnRcXFwiLFZvKHtzejoxMixjb2xvcjp7dGhlbWU6MX0sbmFtZTpcXFwiQ2FsaWJyaVxcXCIsZmFtaWx5OjIsc2NoZW1lOlxcXCJtaW5vclxcXCJ9KSk7ZXQoZSxcXFwiQnJ0RW5kRm9udHNcXFwiKX1mdW5jdGlvbiBubChlKXt2YXIgcj0yO2lmKHI9PTApcmV0dXJuO2V0KGUsXFxcIkJydEJlZ2luRmlsbHNcXFwiLFR0KHIpKTtldChlLFxcXCJCcnRGaWxsXFxcIixLbyh7cGF0dGVyblR5cGU6XFxcIm5vbmVcXFwifSkpO2V0KGUsXFxcIkJydEZpbGxcXFwiLEtvKHtwYXR0ZXJuVHlwZTpcXFwiZ3JheTEyNVxcXCJ9KSk7ZXQoZSxcXFwiQnJ0RW5kRmlsbHNcXFwiKX1mdW5jdGlvbiBpbChlKXt2YXIgcj0xO2lmKHI9PTApcmV0dXJuO2V0KGUsXFxcIkJydEJlZ2luQm9yZGVyc1xcXCIsVHQocikpO2V0KGUsXFxcIkJydEJvcmRlclxcXCIsUW8oe30pKTtldChlLFxcXCJCcnRFbmRCb3JkZXJzXFxcIil9ZnVuY3Rpb24gc2woZSl7dmFyIHI9MTtldChlLFxcXCJCcnRCZWdpbkNlbGxTdHlsZVhGc1xcXCIsVHQocikpO2V0KGUsXFxcIkJydFhGXFxcIixZbyh7bnVtRm10SWQ6MCxmb250SWQ6MCxmaWxsSWQ6MCxib3JkZXJJZDowfSw2NTUzNSkpO2V0KGUsXFxcIkJydEVuZENlbGxTdHlsZVhGc1xcXCIpfWZ1bmN0aW9uIGZsKGUscil7ZXQoZSxcXFwiQnJ0QmVnaW5DZWxsWEZzXFxcIixUdChyLmxlbmd0aCkpO3IuZm9yRWFjaChmdW5jdGlvbihyKXtldChlLFxcXCJCcnRYRlxcXCIsWW8ociwwKSl9KTtldChlLFxcXCJCcnRFbmRDZWxsWEZzXFxcIil9ZnVuY3Rpb24gb2woZSl7dmFyIHI9MTtldChlLFxcXCJCcnRCZWdpblN0eWxlc1xcXCIsVHQocikpO2V0KGUsXFxcIkJydFN0eWxlXFxcIixxbyh7eGZJZDowLGJ1aWx0aW5JZDowLG5hbWU6XFxcIk5vcm1hbFxcXCJ9KSk7ZXQoZSxcXFwiQnJ0RW5kU3R5bGVzXFxcIil9ZnVuY3Rpb24gbGwoZSl7dmFyIHI9MDtldChlLFxcXCJCcnRCZWdpbkRYRnNcXFwiLFR0KHIpKTtldChlLFxcXCJCcnRFbmREWEZzXFxcIil9ZnVuY3Rpb24gY2woZSl7dmFyIHI9MDtldChlLFxcXCJCcnRCZWdpblRhYmxlU3R5bGVzXFxcIixlbChyLFxcXCJUYWJsZVN0eWxlTWVkaXVtOVxcXCIsXFxcIlBpdm90U3R5bGVNZWRpdW00XFxcIikpO2V0KGUsXFxcIkJydEVuZFRhYmxlU3R5bGVzXFxcIil9ZnVuY3Rpb24gdWwoKXtyZXR1cm59ZnVuY3Rpb24gaGwoZSxyKXt2YXIgdD1xcigpO2V0KHQsXFxcIkJydEJlZ2luU3R5bGVTaGVldFxcXCIpO3RsKHQsZS5TU0YpO2FsKHQsZSk7bmwodCxlKTtpbCh0LGUpO3NsKHQsZSk7ZmwodCxyLmNlbGxYZnMpO29sKHQsZSk7bGwodCxlKTtjbCh0LGUpO3VsKHQsZSk7ZXQodCxcXFwiQnJ0RW5kU3R5bGVTaGVldFxcXCIpO3JldHVybiB0LmVuZCgpfU1hLlRIRU1FPVxcXCJodHRwOi8vc2NoZW1hcy5vcGVueG1sZm9ybWF0cy5vcmcvb2ZmaWNlRG9jdW1lbnQvMjAwNi9yZWxhdGlvbnNoaXBzL3RoZW1lXFxcIjt2YXIgZGw9W1xcXCI8L2E6bHQxPlxcXCIsXFxcIjwvYTpkazE+XFxcIixcXFwiPC9hOmx0Mj5cXFwiLFxcXCI8L2E6ZGsyPlxcXCIsXFxcIjwvYTphY2NlbnQxPlxcXCIsXFxcIjwvYTphY2NlbnQyPlxcXCIsXFxcIjwvYTphY2NlbnQzPlxcXCIsXFxcIjwvYTphY2NlbnQ0PlxcXCIsXFxcIjwvYTphY2NlbnQ1PlxcXCIsXFxcIjwvYTphY2NlbnQ2PlxcXCIsXFxcIjwvYTpobGluaz5cXFwiLFxcXCI8L2E6Zm9sSGxpbms+XFxcIl07ZnVuY3Rpb24gdmwoZSxyLHQpe3IudGhlbWVFbGVtZW50cy5jbHJTY2hlbWU9W107dmFyIGE9e307KGVbMF0ubWF0Y2goUmUpfHxbXSkuZm9yRWFjaChmdW5jdGlvbihlKXt2YXIgbj1GZShlKTtzd2l0Y2goblswXSl7Y2FzZVxcXCI8YTpjbHJTY2hlbWVcXFwiOjtjYXNlXFxcIjwvYTpjbHJTY2hlbWU+XFxcIjpicmVhaztjYXNlXFxcIjxhOnNyZ2JDbHJcXFwiOmEucmdiPW4udmFsO2JyZWFrO2Nhc2VcXFwiPGE6c3lzQ2xyXFxcIjphLnJnYj1uLmxhc3RDbHI7YnJlYWs7Y2FzZVxcXCI8YTpkazE+XFxcIjo7Y2FzZVxcXCI8L2E6ZGsxPlxcXCI6O2Nhc2VcXFwiPGE6bHQxPlxcXCI6O2Nhc2VcXFwiPC9hOmx0MT5cXFwiOjtjYXNlXFxcIjxhOmRrMj5cXFwiOjtjYXNlXFxcIjwvYTpkazI+XFxcIjo7Y2FzZVxcXCI8YTpsdDI+XFxcIjo7Y2FzZVxcXCI8L2E6bHQyPlxcXCI6O2Nhc2VcXFwiPGE6YWNjZW50MT5cXFwiOjtjYXNlXFxcIjwvYTphY2NlbnQxPlxcXCI6O2Nhc2VcXFwiPGE6YWNjZW50Mj5cXFwiOjtjYXNlXFxcIjwvYTphY2NlbnQyPlxcXCI6O2Nhc2VcXFwiPGE6YWNjZW50Mz5cXFwiOjtjYXNlXFxcIjwvYTphY2NlbnQzPlxcXCI6O2Nhc2VcXFwiPGE6YWNjZW50ND5cXFwiOjtjYXNlXFxcIjwvYTphY2NlbnQ0PlxcXCI6O2Nhc2VcXFwiPGE6YWNjZW50NT5cXFwiOjtjYXNlXFxcIjwvYTphY2NlbnQ1PlxcXCI6O2Nhc2VcXFwiPGE6YWNjZW50Nj5cXFwiOjtjYXNlXFxcIjwvYTphY2NlbnQ2PlxcXCI6O2Nhc2VcXFwiPGE6aGxpbms+XFxcIjo7Y2FzZVxcXCI8L2E6aGxpbms+XFxcIjo7Y2FzZVxcXCI8YTpmb2xIbGluaz5cXFwiOjtjYXNlXFxcIjwvYTpmb2xIbGluaz5cXFwiOmlmKG5bMF0uY2hhckF0KDEpPT09XFxcIi9cXFwiKXtyLnRoZW1lRWxlbWVudHMuY2xyU2NoZW1lW2RsLmluZGV4T2YoblswXSldPWE7YT17fX1lbHNle2EubmFtZT1uWzBdLnNsaWNlKDMsblswXS5sZW5ndGgtMSl9YnJlYWs7ZGVmYXVsdDppZih0JiZ0LldURil0aHJvdyBuZXcgRXJyb3IoXFxcIlVucmVjb2duaXplZCBcXFwiK25bMF0rXFxcIiBpbiBjbHJTY2hlbWVcXFwiKTt9fSl9ZnVuY3Rpb24gcGwoKXt9ZnVuY3Rpb24gbWwoKXt9dmFyIGJsPS88YTpjbHJTY2hlbWUoW14+XSopPltcXFxcc1xcXFxTXSo8XFxcXC9hOmNsclNjaGVtZT4vO3ZhciBnbD0vPGE6Zm9udFNjaGVtZShbXj5dKik+W1xcXFxzXFxcXFNdKjxcXFxcL2E6Zm9udFNjaGVtZT4vO3ZhciB3bD0vPGE6Zm10U2NoZW1lKFtePl0qKT5bXFxcXHNcXFxcU10qPFxcXFwvYTpmbXRTY2hlbWU+LztmdW5jdGlvbiBrbChlLHIsdCl7ci50aGVtZUVsZW1lbnRzPXt9O3ZhciBhO1tbXFxcImNsclNjaGVtZVxcXCIsYmwsdmxdLFtcXFwiZm9udFNjaGVtZVxcXCIsZ2wscGxdLFtcXFwiZm10U2NoZW1lXFxcIix3bCxtbF1dLmZvckVhY2goZnVuY3Rpb24obil7aWYoIShhPWUubWF0Y2goblsxXSkpKXRocm93IG5ldyBFcnJvcihuWzBdK1xcXCIgbm90IGZvdW5kIGluIHRoZW1lRWxlbWVudHNcXFwiKTtuWzJdKGEscix0KX0pfXZhciBFbD0vPGE6dGhlbWVFbGVtZW50cyhbXj5dKik+W1xcXFxzXFxcXFNdKjxcXFxcL2E6dGhlbWVFbGVtZW50cz4vO2Z1bmN0aW9uIFNsKGUscil7aWYoIWV8fGUubGVuZ3RoPT09MClyZXR1cm4gU2woX2woKSk7dmFyIHQ7dmFyIGE9e307aWYoISh0PWUubWF0Y2goRWwpKSl0aHJvdyBuZXcgRXJyb3IoXFxcInRoZW1lRWxlbWVudHMgbm90IGZvdW5kIGluIHRoZW1lXFxcIik7a2wodFswXSxhLHIpO2EucmF3PWU7cmV0dXJuIGF9ZnVuY3Rpb24gX2woZSxyKXtpZihyJiZyLnRoZW1lWExTWClyZXR1cm4gci50aGVtZVhMU1g7aWYoZSYmdHlwZW9mIGUucmF3PT1cXFwic3RyaW5nXFxcIilyZXR1cm4gZS5yYXc7dmFyIHQ9W0FlXTt0W3QubGVuZ3RoXT0nPGE6dGhlbWUgeG1sbnM6YT1cXFwiaHR0cDovL3NjaGVtYXMub3BlbnhtbGZvcm1hdHMub3JnL2RyYXdpbmdtbC8yMDA2L21haW5cXFwiIG5hbWU9XFxcIk9mZmljZSBUaGVtZVxcXCI+Jzt0W3QubGVuZ3RoXT1cXFwiPGE6dGhlbWVFbGVtZW50cz5cXFwiO3RbdC5sZW5ndGhdPSc8YTpjbHJTY2hlbWUgbmFtZT1cXFwiT2ZmaWNlXFxcIj4nO3RbdC5sZW5ndGhdPSc8YTpkazE+PGE6c3lzQ2xyIHZhbD1cXFwid2luZG93VGV4dFxcXCIgbGFzdENscj1cXFwiMDAwMDAwXFxcIi8+PC9hOmRrMT4nO3RbdC5sZW5ndGhdPSc8YTpsdDE+PGE6c3lzQ2xyIHZhbD1cXFwid2luZG93XFxcIiBsYXN0Q2xyPVxcXCJGRkZGRkZcXFwiLz48L2E6bHQxPic7dFt0Lmxlbmd0aF09JzxhOmRrMj48YTpzcmdiQ2xyIHZhbD1cXFwiMUY0OTdEXFxcIi8+PC9hOmRrMj4nO3RbdC5sZW5ndGhdPSc8YTpsdDI+PGE6c3JnYkNsciB2YWw9XFxcIkVFRUNFMVxcXCIvPjwvYTpsdDI+Jzt0W3QubGVuZ3RoXT0nPGE6YWNjZW50MT48YTpzcmdiQ2xyIHZhbD1cXFwiNEY4MUJEXFxcIi8+PC9hOmFjY2VudDE+Jzt0W3QubGVuZ3RoXT0nPGE6YWNjZW50Mj48YTpzcmdiQ2xyIHZhbD1cXFwiQzA1MDREXFxcIi8+PC9hOmFjY2VudDI+Jzt0W3QubGVuZ3RoXT0nPGE6YWNjZW50Mz48YTpzcmdiQ2xyIHZhbD1cXFwiOUJCQjU5XFxcIi8+PC9hOmFjY2VudDM+Jzt0W3QubGVuZ3RoXT0nPGE6YWNjZW50ND48YTpzcmdiQ2xyIHZhbD1cXFwiODA2NEEyXFxcIi8+PC9hOmFjY2VudDQ+Jzt0W3QubGVuZ3RoXT0nPGE6YWNjZW50NT48YTpzcmdiQ2xyIHZhbD1cXFwiNEJBQ0M2XFxcIi8+PC9hOmFjY2VudDU+Jzt0W3QubGVuZ3RoXT0nPGE6YWNjZW50Nj48YTpzcmdiQ2xyIHZhbD1cXFwiRjc5NjQ2XFxcIi8+PC9hOmFjY2VudDY+Jzt0W3QubGVuZ3RoXT0nPGE6aGxpbms+PGE6c3JnYkNsciB2YWw9XFxcIjAwMDBGRlxcXCIvPjwvYTpobGluaz4nO3RbdC5sZW5ndGhdPSc8YTpmb2xIbGluaz48YTpzcmdiQ2xyIHZhbD1cXFwiODAwMDgwXFxcIi8+PC9hOmZvbEhsaW5rPic7dFt0Lmxlbmd0aF09XFxcIjwvYTpjbHJTY2hlbWU+XFxcIjt0W3QubGVuZ3RoXT0nPGE6Zm9udFNjaGVtZSBuYW1lPVxcXCJPZmZpY2VcXFwiPic7dFt0Lmxlbmd0aF09XFxcIjxhOm1ham9yRm9udD5cXFwiO3RbdC5sZW5ndGhdPSc8YTpsYXRpbiB0eXBlZmFjZT1cXFwiQ2FtYnJpYVxcXCIvPic7dFt0Lmxlbmd0aF09JzxhOmVhIHR5cGVmYWNlPVxcXCJcXFwiLz4nO3RbdC5sZW5ndGhdPSc8YTpjcyB0eXBlZmFjZT1cXFwiXFxcIi8+Jzt0W3QubGVuZ3RoXT0nPGE6Zm9udCBzY3JpcHQ9XFxcIkpwYW5cXFwiIHR5cGVmYWNlPVxcXCLvvK3vvLMg77yw44K044K344OD44KvXFxcIi8+Jzt0W3QubGVuZ3RoXT0nPGE6Zm9udCBzY3JpcHQ9XFxcIkhhbmdcXFwiIHR5cGVmYWNlPVxcXCLrp5HsnYAg6rOg65SVXFxcIi8+Jzt0W3QubGVuZ3RoXT0nPGE6Zm9udCBzY3JpcHQ9XFxcIkhhbnNcXFwiIHR5cGVmYWNlPVxcXCLlrovkvZNcXFwiLz4nO3RbdC5sZW5ndGhdPSc8YTpmb250IHNjcmlwdD1cXFwiSGFudFxcXCIgdHlwZWZhY2U9XFxcIuaWsOe0sOaYjumrlFxcXCIvPic7dFt0Lmxlbmd0aF09JzxhOmZvbnQgc2NyaXB0PVxcXCJBcmFiXFxcIiB0eXBlZmFjZT1cXFwiVGltZXMgTmV3IFJvbWFuXFxcIi8+Jzt0W3QubGVuZ3RoXT0nPGE6Zm9udCBzY3JpcHQ9XFxcIkhlYnJcXFwiIHR5cGVmYWNlPVxcXCJUaW1lcyBOZXcgUm9tYW5cXFwiLz4nO3RbdC5sZW5ndGhdPSc8YTpmb250IHNjcmlwdD1cXFwiVGhhaVxcXCIgdHlwZWZhY2U9XFxcIlRhaG9tYVxcXCIvPic7dFt0Lmxlbmd0aF09JzxhOmZvbnQgc2NyaXB0PVxcXCJFdGhpXFxcIiB0eXBlZmFjZT1cXFwiTnlhbGFcXFwiLz4nO3RbdC5sZW5ndGhdPSc8YTpmb250IHNjcmlwdD1cXFwiQmVuZ1xcXCIgdHlwZWZhY2U9XFxcIlZyaW5kYVxcXCIvPic7dFt0Lmxlbmd0aF09JzxhOmZvbnQgc2NyaXB0PVxcXCJHdWpyXFxcIiB0eXBlZmFjZT1cXFwiU2hydXRpXFxcIi8+Jzt0W3QubGVuZ3RoXT0nPGE6Zm9udCBzY3JpcHQ9XFxcIktobXJcXFwiIHR5cGVmYWNlPVxcXCJNb29sQm9yYW5cXFwiLz4nO3RbdC5sZW5ndGhdPSc8YTpmb250IHNjcmlwdD1cXFwiS25kYVxcXCIgdHlwZWZhY2U9XFxcIlR1bmdhXFxcIi8+Jzt0W3QubGVuZ3RoXT0nPGE6Zm9udCBzY3JpcHQ9XFxcIkd1cnVcXFwiIHR5cGVmYWNlPVxcXCJSYWF2aVxcXCIvPic7dFt0Lmxlbmd0aF09JzxhOmZvbnQgc2NyaXB0PVxcXCJDYW5zXFxcIiB0eXBlZmFjZT1cXFwiRXVwaGVtaWFcXFwiLz4nO3RbdC5sZW5ndGhdPSc8YTpmb250IHNjcmlwdD1cXFwiQ2hlclxcXCIgdHlwZWZhY2U9XFxcIlBsYW50YWdlbmV0IENoZXJva2VlXFxcIi8+Jzt0W3QubGVuZ3RoXT0nPGE6Zm9udCBzY3JpcHQ9XFxcIllpaWlcXFwiIHR5cGVmYWNlPVxcXCJNaWNyb3NvZnQgWWkgQmFpdGlcXFwiLz4nO3RbdC5sZW5ndGhdPSc8YTpmb250IHNjcmlwdD1cXFwiVGlidFxcXCIgdHlwZWZhY2U9XFxcIk1pY3Jvc29mdCBIaW1hbGF5YVxcXCIvPic7dFt0Lmxlbmd0aF09JzxhOmZvbnQgc2NyaXB0PVxcXCJUaGFhXFxcIiB0eXBlZmFjZT1cXFwiTVYgQm9saVxcXCIvPic7dFt0Lmxlbmd0aF09JzxhOmZvbnQgc2NyaXB0PVxcXCJEZXZhXFxcIiB0eXBlZmFjZT1cXFwiTWFuZ2FsXFxcIi8+Jzt0W3QubGVuZ3RoXT0nPGE6Zm9udCBzY3JpcHQ9XFxcIlRlbHVcXFwiIHR5cGVmYWNlPVxcXCJHYXV0YW1pXFxcIi8+Jzt0W3QubGVuZ3RoXT0nPGE6Zm9udCBzY3JpcHQ9XFxcIlRhbWxcXFwiIHR5cGVmYWNlPVxcXCJMYXRoYVxcXCIvPic7dFt0Lmxlbmd0aF09JzxhOmZvbnQgc2NyaXB0PVxcXCJTeXJjXFxcIiB0eXBlZmFjZT1cXFwiRXN0cmFuZ2VsbyBFZGVzc2FcXFwiLz4nO3RbdC5sZW5ndGhdPSc8YTpmb250IHNjcmlwdD1cXFwiT3J5YVxcXCIgdHlwZWZhY2U9XFxcIkthbGluZ2FcXFwiLz4nO3RbdC5sZW5ndGhdPSc8YTpmb250IHNjcmlwdD1cXFwiTWx5bVxcXCIgdHlwZWZhY2U9XFxcIkthcnRpa2FcXFwiLz4nO3RbdC5sZW5ndGhdPSc8YTpmb250IHNjcmlwdD1cXFwiTGFvb1xcXCIgdHlwZWZhY2U9XFxcIkRva0NoYW1wYVxcXCIvPic7dFt0Lmxlbmd0aF09JzxhOmZvbnQgc2NyaXB0PVxcXCJTaW5oXFxcIiB0eXBlZmFjZT1cXFwiSXNrb29sYSBQb3RhXFxcIi8+Jzt0W3QubGVuZ3RoXT0nPGE6Zm9udCBzY3JpcHQ9XFxcIk1vbmdcXFwiIHR5cGVmYWNlPVxcXCJNb25nb2xpYW4gQmFpdGlcXFwiLz4nO3RbdC5sZW5ndGhdPSc8YTpmb250IHNjcmlwdD1cXFwiVmlldFxcXCIgdHlwZWZhY2U9XFxcIlRpbWVzIE5ldyBSb21hblxcXCIvPic7dFt0Lmxlbmd0aF09JzxhOmZvbnQgc2NyaXB0PVxcXCJVaWdoXFxcIiB0eXBlZmFjZT1cXFwiTWljcm9zb2Z0IFVpZ2h1clxcXCIvPic7dFt0Lmxlbmd0aF09JzxhOmZvbnQgc2NyaXB0PVxcXCJHZW9yXFxcIiB0eXBlZmFjZT1cXFwiU3lsZmFlblxcXCIvPic7dFt0Lmxlbmd0aF09XFxcIjwvYTptYWpvckZvbnQ+XFxcIjt0W3QubGVuZ3RoXT1cXFwiPGE6bWlub3JGb250PlxcXCI7dFt0Lmxlbmd0aF09JzxhOmxhdGluIHR5cGVmYWNlPVxcXCJDYWxpYnJpXFxcIi8+Jzt0W3QubGVuZ3RoXT0nPGE6ZWEgdHlwZWZhY2U9XFxcIlxcXCIvPic7dFt0Lmxlbmd0aF09JzxhOmNzIHR5cGVmYWNlPVxcXCJcXFwiLz4nO3RbdC5sZW5ndGhdPSc8YTpmb250IHNjcmlwdD1cXFwiSnBhblxcXCIgdHlwZWZhY2U9XFxcIu+8re+8syDvvLDjgrTjgrfjg4Pjgq9cXFwiLz4nO3RbdC5sZW5ndGhdPSc8YTpmb250IHNjcmlwdD1cXFwiSGFuZ1xcXCIgdHlwZWZhY2U9XFxcIuunkeydgCDqs6DrlJVcXFwiLz4nO3RbdC5sZW5ndGhdPSc8YTpmb250IHNjcmlwdD1cXFwiSGFuc1xcXCIgdHlwZWZhY2U9XFxcIuWui+S9k1xcXCIvPic7dFt0Lmxlbmd0aF09JzxhOmZvbnQgc2NyaXB0PVxcXCJIYW50XFxcIiB0eXBlZmFjZT1cXFwi5paw57Sw5piO6auUXFxcIi8+Jzt0W3QubGVuZ3RoXT0nPGE6Zm9udCBzY3JpcHQ9XFxcIkFyYWJcXFwiIHR5cGVmYWNlPVxcXCJBcmlhbFxcXCIvPic7dFt0Lmxlbmd0aF09JzxhOmZvbnQgc2NyaXB0PVxcXCJIZWJyXFxcIiB0eXBlZmFjZT1cXFwiQXJpYWxcXFwiLz4nO3RbdC5sZW5ndGhdPSc8YTpmb250IHNjcmlwdD1cXFwiVGhhaVxcXCIgdHlwZWZhY2U9XFxcIlRhaG9tYVxcXCIvPic7dFt0Lmxlbmd0aF09JzxhOmZvbnQgc2NyaXB0PVxcXCJFdGhpXFxcIiB0eXBlZmFjZT1cXFwiTnlhbGFcXFwiLz4nO3RbdC5sZW5ndGhdPSc8YTpmb250IHNjcmlwdD1cXFwiQmVuZ1xcXCIgdHlwZWZhY2U9XFxcIlZyaW5kYVxcXCIvPic7dFt0Lmxlbmd0aF09JzxhOmZvbnQgc2NyaXB0PVxcXCJHdWpyXFxcIiB0eXBlZmFjZT1cXFwiU2hydXRpXFxcIi8+Jzt0W3QubGVuZ3RoXT0nPGE6Zm9udCBzY3JpcHQ9XFxcIktobXJcXFwiIHR5cGVmYWNlPVxcXCJEYXVuUGVuaFxcXCIvPic7dFt0Lmxlbmd0aF09JzxhOmZvbnQgc2NyaXB0PVxcXCJLbmRhXFxcIiB0eXBlZmFjZT1cXFwiVHVuZ2FcXFwiLz4nO3RbdC5sZW5ndGhdPSc8YTpmb250IHNjcmlwdD1cXFwiR3VydVxcXCIgdHlwZWZhY2U9XFxcIlJhYXZpXFxcIi8+Jzt0W3QubGVuZ3RoXT0nPGE6Zm9udCBzY3JpcHQ9XFxcIkNhbnNcXFwiIHR5cGVmYWNlPVxcXCJFdXBoZW1pYVxcXCIvPic7dFt0Lmxlbmd0aF09JzxhOmZvbnQgc2NyaXB0PVxcXCJDaGVyXFxcIiB0eXBlZmFjZT1cXFwiUGxhbnRhZ2VuZXQgQ2hlcm9rZWVcXFwiLz4nO3RbdC5sZW5ndGhdPSc8YTpmb250IHNjcmlwdD1cXFwiWWlpaVxcXCIgdHlwZWZhY2U9XFxcIk1pY3Jvc29mdCBZaSBCYWl0aVxcXCIvPic7dFt0Lmxlbmd0aF09JzxhOmZvbnQgc2NyaXB0PVxcXCJUaWJ0XFxcIiB0eXBlZmFjZT1cXFwiTWljcm9zb2Z0IEhpbWFsYXlhXFxcIi8+Jzt0W3QubGVuZ3RoXT0nPGE6Zm9udCBzY3JpcHQ9XFxcIlRoYWFcXFwiIHR5cGVmYWNlPVxcXCJNViBCb2xpXFxcIi8+Jzt0W3QubGVuZ3RoXT0nPGE6Zm9udCBzY3JpcHQ9XFxcIkRldmFcXFwiIHR5cGVmYWNlPVxcXCJNYW5nYWxcXFwiLz4nO3RbdC5sZW5ndGhdPSc8YTpmb250IHNjcmlwdD1cXFwiVGVsdVxcXCIgdHlwZWZhY2U9XFxcIkdhdXRhbWlcXFwiLz4nO3RbdC5sZW5ndGhdPSc8YTpmb250IHNjcmlwdD1cXFwiVGFtbFxcXCIgdHlwZWZhY2U9XFxcIkxhdGhhXFxcIi8+Jzt0W3QubGVuZ3RoXT0nPGE6Zm9udCBzY3JpcHQ9XFxcIlN5cmNcXFwiIHR5cGVmYWNlPVxcXCJFc3RyYW5nZWxvIEVkZXNzYVxcXCIvPic7dFt0Lmxlbmd0aF09JzxhOmZvbnQgc2NyaXB0PVxcXCJPcnlhXFxcIiB0eXBlZmFjZT1cXFwiS2FsaW5nYVxcXCIvPic7dFt0Lmxlbmd0aF09JzxhOmZvbnQgc2NyaXB0PVxcXCJNbHltXFxcIiB0eXBlZmFjZT1cXFwiS2FydGlrYVxcXCIvPic7dFt0Lmxlbmd0aF09JzxhOmZvbnQgc2NyaXB0PVxcXCJMYW9vXFxcIiB0eXBlZmFjZT1cXFwiRG9rQ2hhbXBhXFxcIi8+Jzt0W3QubGVuZ3RoXT0nPGE6Zm9udCBzY3JpcHQ9XFxcIlNpbmhcXFwiIHR5cGVmYWNlPVxcXCJJc2tvb2xhIFBvdGFcXFwiLz4nO3RbdC5sZW5ndGhdPSc8YTpmb250IHNjcmlwdD1cXFwiTW9uZ1xcXCIgdHlwZWZhY2U9XFxcIk1vbmdvbGlhbiBCYWl0aVxcXCIvPic7dFt0Lmxlbmd0aF09JzxhOmZvbnQgc2NyaXB0PVxcXCJWaWV0XFxcIiB0eXBlZmFjZT1cXFwiQXJpYWxcXFwiLz4nO3RbdC5sZW5ndGhdPSc8YTpmb250IHNjcmlwdD1cXFwiVWlnaFxcXCIgdHlwZWZhY2U9XFxcIk1pY3Jvc29mdCBVaWdodXJcXFwiLz4nO3RbdC5sZW5ndGhdPSc8YTpmb250IHNjcmlwdD1cXFwiR2VvclxcXCIgdHlwZWZhY2U9XFxcIlN5bGZhZW5cXFwiLz4nO3RbdC5sZW5ndGhdPVxcXCI8L2E6bWlub3JGb250PlxcXCI7dFt0Lmxlbmd0aF09XFxcIjwvYTpmb250U2NoZW1lPlxcXCI7dFt0Lmxlbmd0aF09JzxhOmZtdFNjaGVtZSBuYW1lPVxcXCJPZmZpY2VcXFwiPic7dFt0Lmxlbmd0aF09XFxcIjxhOmZpbGxTdHlsZUxzdD5cXFwiO3RbdC5sZW5ndGhdPSc8YTpzb2xpZEZpbGw+PGE6c2NoZW1lQ2xyIHZhbD1cXFwicGhDbHJcXFwiLz48L2E6c29saWRGaWxsPic7dFt0Lmxlbmd0aF09JzxhOmdyYWRGaWxsIHJvdFdpdGhTaGFwZT1cXFwiMVxcXCI+Jzt0W3QubGVuZ3RoXT1cXFwiPGE6Z3NMc3Q+XFxcIjt0W3QubGVuZ3RoXT0nPGE6Z3MgcG9zPVxcXCIwXFxcIj48YTpzY2hlbWVDbHIgdmFsPVxcXCJwaENsclxcXCI+PGE6dGludCB2YWw9XFxcIjUwMDAwXFxcIi8+PGE6c2F0TW9kIHZhbD1cXFwiMzAwMDAwXFxcIi8+PC9hOnNjaGVtZUNscj48L2E6Z3M+Jzt0W3QubGVuZ3RoXT0nPGE6Z3MgcG9zPVxcXCIzNTAwMFxcXCI+PGE6c2NoZW1lQ2xyIHZhbD1cXFwicGhDbHJcXFwiPjxhOnRpbnQgdmFsPVxcXCIzNzAwMFxcXCIvPjxhOnNhdE1vZCB2YWw9XFxcIjMwMDAwMFxcXCIvPjwvYTpzY2hlbWVDbHI+PC9hOmdzPic7dFt0Lmxlbmd0aF09JzxhOmdzIHBvcz1cXFwiMTAwMDAwXFxcIj48YTpzY2hlbWVDbHIgdmFsPVxcXCJwaENsclxcXCI+PGE6dGludCB2YWw9XFxcIjE1MDAwXFxcIi8+PGE6c2F0TW9kIHZhbD1cXFwiMzUwMDAwXFxcIi8+PC9hOnNjaGVtZUNscj48L2E6Z3M+Jzt0W3QubGVuZ3RoXT1cXFwiPC9hOmdzTHN0PlxcXCI7dFt0Lmxlbmd0aF09JzxhOmxpbiBhbmc9XFxcIjE2MjAwMDAwXFxcIiBzY2FsZWQ9XFxcIjFcXFwiLz4nO3RbdC5sZW5ndGhdPVxcXCI8L2E6Z3JhZEZpbGw+XFxcIjt0W3QubGVuZ3RoXT0nPGE6Z3JhZEZpbGwgcm90V2l0aFNoYXBlPVxcXCIxXFxcIj4nO3RbdC5sZW5ndGhdPVxcXCI8YTpnc0xzdD5cXFwiO3RbdC5sZW5ndGhdPSc8YTpncyBwb3M9XFxcIjBcXFwiPjxhOnNjaGVtZUNsciB2YWw9XFxcInBoQ2xyXFxcIj48YTp0aW50IHZhbD1cXFwiMTAwMDAwXFxcIi8+PGE6c2hhZGUgdmFsPVxcXCIxMDAwMDBcXFwiLz48YTpzYXRNb2QgdmFsPVxcXCIxMzAwMDBcXFwiLz48L2E6c2NoZW1lQ2xyPjwvYTpncz4nO3RbdC5sZW5ndGhdPSc8YTpncyBwb3M9XFxcIjEwMDAwMFxcXCI+PGE6c2NoZW1lQ2xyIHZhbD1cXFwicGhDbHJcXFwiPjxhOnRpbnQgdmFsPVxcXCI1MDAwMFxcXCIvPjxhOnNoYWRlIHZhbD1cXFwiMTAwMDAwXFxcIi8+PGE6c2F0TW9kIHZhbD1cXFwiMzUwMDAwXFxcIi8+PC9hOnNjaGVtZUNscj48L2E6Z3M+Jzt0W3QubGVuZ3RoXT1cXFwiPC9hOmdzTHN0PlxcXCI7dFt0Lmxlbmd0aF09JzxhOmxpbiBhbmc9XFxcIjE2MjAwMDAwXFxcIiBzY2FsZWQ9XFxcIjBcXFwiLz4nO3RbdC5sZW5ndGhdPVxcXCI8L2E6Z3JhZEZpbGw+XFxcIjt0W3QubGVuZ3RoXT1cXFwiPC9hOmZpbGxTdHlsZUxzdD5cXFwiO3RbdC5sZW5ndGhdPVxcXCI8YTpsblN0eWxlTHN0PlxcXCI7dFt0Lmxlbmd0aF09JzxhOmxuIHc9XFxcIjk1MjVcXFwiIGNhcD1cXFwiZmxhdFxcXCIgY21wZD1cXFwic25nXFxcIiBhbGduPVxcXCJjdHJcXFwiPjxhOnNvbGlkRmlsbD48YTpzY2hlbWVDbHIgdmFsPVxcXCJwaENsclxcXCI+PGE6c2hhZGUgdmFsPVxcXCI5NTAwMFxcXCIvPjxhOnNhdE1vZCB2YWw9XFxcIjEwNTAwMFxcXCIvPjwvYTpzY2hlbWVDbHI+PC9hOnNvbGlkRmlsbD48YTpwcnN0RGFzaCB2YWw9XFxcInNvbGlkXFxcIi8+PC9hOmxuPic7dFt0Lmxlbmd0aF09JzxhOmxuIHc9XFxcIjI1NDAwXFxcIiBjYXA9XFxcImZsYXRcXFwiIGNtcGQ9XFxcInNuZ1xcXCIgYWxnbj1cXFwiY3RyXFxcIj48YTpzb2xpZEZpbGw+PGE6c2NoZW1lQ2xyIHZhbD1cXFwicGhDbHJcXFwiLz48L2E6c29saWRGaWxsPjxhOnByc3REYXNoIHZhbD1cXFwic29saWRcXFwiLz48L2E6bG4+Jzt0W3QubGVuZ3RoXT0nPGE6bG4gdz1cXFwiMzgxMDBcXFwiIGNhcD1cXFwiZmxhdFxcXCIgY21wZD1cXFwic25nXFxcIiBhbGduPVxcXCJjdHJcXFwiPjxhOnNvbGlkRmlsbD48YTpzY2hlbWVDbHIgdmFsPVxcXCJwaENsclxcXCIvPjwvYTpzb2xpZEZpbGw+PGE6cHJzdERhc2ggdmFsPVxcXCJzb2xpZFxcXCIvPjwvYTpsbj4nO3RbdC5sZW5ndGhdPVxcXCI8L2E6bG5TdHlsZUxzdD5cXFwiO3RbdC5sZW5ndGhdPVxcXCI8YTplZmZlY3RTdHlsZUxzdD5cXFwiO3RbdC5sZW5ndGhdPVxcXCI8YTplZmZlY3RTdHlsZT5cXFwiO3RbdC5sZW5ndGhdPVxcXCI8YTplZmZlY3RMc3Q+XFxcIjt0W3QubGVuZ3RoXT0nPGE6b3V0ZXJTaGR3IGJsdXJSYWQ9XFxcIjQwMDAwXFxcIiBkaXN0PVxcXCIyMDAwMFxcXCIgZGlyPVxcXCI1NDAwMDAwXFxcIiByb3RXaXRoU2hhcGU9XFxcIjBcXFwiPjxhOnNyZ2JDbHIgdmFsPVxcXCIwMDAwMDBcXFwiPjxhOmFscGhhIHZhbD1cXFwiMzgwMDBcXFwiLz48L2E6c3JnYkNscj48L2E6b3V0ZXJTaGR3Pic7dFt0Lmxlbmd0aF09XFxcIjwvYTplZmZlY3RMc3Q+XFxcIjt0W3QubGVuZ3RoXT1cXFwiPC9hOmVmZmVjdFN0eWxlPlxcXCI7dFt0Lmxlbmd0aF09XFxcIjxhOmVmZmVjdFN0eWxlPlxcXCI7dFt0Lmxlbmd0aF09XFxcIjxhOmVmZmVjdExzdD5cXFwiO3RbdC5sZW5ndGhdPSc8YTpvdXRlclNoZHcgYmx1clJhZD1cXFwiNDAwMDBcXFwiIGRpc3Q9XFxcIjIzMDAwXFxcIiBkaXI9XFxcIjU0MDAwMDBcXFwiIHJvdFdpdGhTaGFwZT1cXFwiMFxcXCI+PGE6c3JnYkNsciB2YWw9XFxcIjAwMDAwMFxcXCI+PGE6YWxwaGEgdmFsPVxcXCIzNTAwMFxcXCIvPjwvYTpzcmdiQ2xyPjwvYTpvdXRlclNoZHc+Jzt0W3QubGVuZ3RoXT1cXFwiPC9hOmVmZmVjdExzdD5cXFwiO3RbdC5sZW5ndGhdPVxcXCI8L2E6ZWZmZWN0U3R5bGU+XFxcIjt0W3QubGVuZ3RoXT1cXFwiPGE6ZWZmZWN0U3R5bGU+XFxcIjt0W3QubGVuZ3RoXT1cXFwiPGE6ZWZmZWN0THN0PlxcXCI7dFt0Lmxlbmd0aF09JzxhOm91dGVyU2hkdyBibHVyUmFkPVxcXCI0MDAwMFxcXCIgZGlzdD1cXFwiMjMwMDBcXFwiIGRpcj1cXFwiNTQwMDAwMFxcXCIgcm90V2l0aFNoYXBlPVxcXCIwXFxcIj48YTpzcmdiQ2xyIHZhbD1cXFwiMDAwMDAwXFxcIj48YTphbHBoYSB2YWw9XFxcIjM1MDAwXFxcIi8+PC9hOnNyZ2JDbHI+PC9hOm91dGVyU2hkdz4nO3RbdC5sZW5ndGhdPVxcXCI8L2E6ZWZmZWN0THN0PlxcXCI7dFt0Lmxlbmd0aF09JzxhOnNjZW5lM2Q+PGE6Y2FtZXJhIHByc3Q9XFxcIm9ydGhvZ3JhcGhpY0Zyb250XFxcIj48YTpyb3QgbGF0PVxcXCIwXFxcIiBsb249XFxcIjBcXFwiIHJldj1cXFwiMFxcXCIvPjwvYTpjYW1lcmE+PGE6bGlnaHRSaWcgcmlnPVxcXCJ0aHJlZVB0XFxcIiBkaXI9XFxcInRcXFwiPjxhOnJvdCBsYXQ9XFxcIjBcXFwiIGxvbj1cXFwiMFxcXCIgcmV2PVxcXCIxMjAwMDAwXFxcIi8+PC9hOmxpZ2h0UmlnPjwvYTpzY2VuZTNkPic7dFt0Lmxlbmd0aF09JzxhOnNwM2Q+PGE6YmV2ZWxUIHc9XFxcIjYzNTAwXFxcIiBoPVxcXCIyNTQwMFxcXCIvPjwvYTpzcDNkPic7dFt0Lmxlbmd0aF09XFxcIjwvYTplZmZlY3RTdHlsZT5cXFwiO3RbdC5sZW5ndGhdPVxcXCI8L2E6ZWZmZWN0U3R5bGVMc3Q+XFxcIjt0W3QubGVuZ3RoXT1cXFwiPGE6YmdGaWxsU3R5bGVMc3Q+XFxcIjt0W3QubGVuZ3RoXT0nPGE6c29saWRGaWxsPjxhOnNjaGVtZUNsciB2YWw9XFxcInBoQ2xyXFxcIi8+PC9hOnNvbGlkRmlsbD4nO3RbdC5sZW5ndGhdPSc8YTpncmFkRmlsbCByb3RXaXRoU2hhcGU9XFxcIjFcXFwiPic7dFt0Lmxlbmd0aF09XFxcIjxhOmdzTHN0PlxcXCI7dFt0Lmxlbmd0aF09JzxhOmdzIHBvcz1cXFwiMFxcXCI+PGE6c2NoZW1lQ2xyIHZhbD1cXFwicGhDbHJcXFwiPjxhOnRpbnQgdmFsPVxcXCI0MDAwMFxcXCIvPjxhOnNhdE1vZCB2YWw9XFxcIjM1MDAwMFxcXCIvPjwvYTpzY2hlbWVDbHI+PC9hOmdzPic7dFt0Lmxlbmd0aF09JzxhOmdzIHBvcz1cXFwiNDAwMDBcXFwiPjxhOnNjaGVtZUNsciB2YWw9XFxcInBoQ2xyXFxcIj48YTp0aW50IHZhbD1cXFwiNDUwMDBcXFwiLz48YTpzaGFkZSB2YWw9XFxcIjk5MDAwXFxcIi8+PGE6c2F0TW9kIHZhbD1cXFwiMzUwMDAwXFxcIi8+PC9hOnNjaGVtZUNscj48L2E6Z3M+Jzt0W3QubGVuZ3RoXT0nPGE6Z3MgcG9zPVxcXCIxMDAwMDBcXFwiPjxhOnNjaGVtZUNsciB2YWw9XFxcInBoQ2xyXFxcIj48YTpzaGFkZSB2YWw9XFxcIjIwMDAwXFxcIi8+PGE6c2F0TW9kIHZhbD1cXFwiMjU1MDAwXFxcIi8+PC9hOnNjaGVtZUNscj48L2E6Z3M+Jzt0W3QubGVuZ3RoXT1cXFwiPC9hOmdzTHN0PlxcXCI7dFt0Lmxlbmd0aF09JzxhOnBhdGggcGF0aD1cXFwiY2lyY2xlXFxcIj48YTpmaWxsVG9SZWN0IGw9XFxcIjUwMDAwXFxcIiB0PVxcXCItODAwMDBcXFwiIHI9XFxcIjUwMDAwXFxcIiBiPVxcXCIxODAwMDBcXFwiLz48L2E6cGF0aD4nO3RbdC5sZW5ndGhdPVxcXCI8L2E6Z3JhZEZpbGw+XFxcIjt0W3QubGVuZ3RoXT0nPGE6Z3JhZEZpbGwgcm90V2l0aFNoYXBlPVxcXCIxXFxcIj4nO3RbdC5sZW5ndGhdPVxcXCI8YTpnc0xzdD5cXFwiO3RbdC5sZW5ndGhdPSc8YTpncyBwb3M9XFxcIjBcXFwiPjxhOnNjaGVtZUNsciB2YWw9XFxcInBoQ2xyXFxcIj48YTp0aW50IHZhbD1cXFwiODAwMDBcXFwiLz48YTpzYXRNb2QgdmFsPVxcXCIzMDAwMDBcXFwiLz48L2E6c2NoZW1lQ2xyPjwvYTpncz4nO3RbdC5sZW5ndGhdPSc8YTpncyBwb3M9XFxcIjEwMDAwMFxcXCI+PGE6c2NoZW1lQ2xyIHZhbD1cXFwicGhDbHJcXFwiPjxhOnNoYWRlIHZhbD1cXFwiMzAwMDBcXFwiLz48YTpzYXRNb2QgdmFsPVxcXCIyMDAwMDBcXFwiLz48L2E6c2NoZW1lQ2xyPjwvYTpncz4nO3RbdC5sZW5ndGhdPVxcXCI8L2E6Z3NMc3Q+XFxcIjt0W3QubGVuZ3RoXT0nPGE6cGF0aCBwYXRoPVxcXCJjaXJjbGVcXFwiPjxhOmZpbGxUb1JlY3QgbD1cXFwiNTAwMDBcXFwiIHQ9XFxcIjUwMDAwXFxcIiByPVxcXCI1MDAwMFxcXCIgYj1cXFwiNTAwMDBcXFwiLz48L2E6cGF0aD4nO3RbdC5sZW5ndGhdPVxcXCI8L2E6Z3JhZEZpbGw+XFxcIjt0W3QubGVuZ3RoXT1cXFwiPC9hOmJnRmlsbFN0eWxlTHN0PlxcXCI7dFt0Lmxlbmd0aF09XFxcIjwvYTpmbXRTY2hlbWU+XFxcIjt0W3QubGVuZ3RoXT1cXFwiPC9hOnRoZW1lRWxlbWVudHM+XFxcIjt0W3QubGVuZ3RoXT1cXFwiPGE6b2JqZWN0RGVmYXVsdHM+XFxcIjt0W3QubGVuZ3RoXT1cXFwiPGE6c3BEZWY+XFxcIjt0W3QubGVuZ3RoXT0nPGE6c3BQci8+PGE6Ym9keVByLz48YTpsc3RTdHlsZS8+PGE6c3R5bGU+PGE6bG5SZWYgaWR4PVxcXCIxXFxcIj48YTpzY2hlbWVDbHIgdmFsPVxcXCJhY2NlbnQxXFxcIi8+PC9hOmxuUmVmPjxhOmZpbGxSZWYgaWR4PVxcXCIzXFxcIj48YTpzY2hlbWVDbHIgdmFsPVxcXCJhY2NlbnQxXFxcIi8+PC9hOmZpbGxSZWY+PGE6ZWZmZWN0UmVmIGlkeD1cXFwiMlxcXCI+PGE6c2NoZW1lQ2xyIHZhbD1cXFwiYWNjZW50MVxcXCIvPjwvYTplZmZlY3RSZWY+PGE6Zm9udFJlZiBpZHg9XFxcIm1pbm9yXFxcIj48YTpzY2hlbWVDbHIgdmFsPVxcXCJsdDFcXFwiLz48L2E6Zm9udFJlZj48L2E6c3R5bGU+Jzt0W3QubGVuZ3RoXT1cXFwiPC9hOnNwRGVmPlxcXCI7dFt0Lmxlbmd0aF09XFxcIjxhOmxuRGVmPlxcXCI7dFt0Lmxlbmd0aF09JzxhOnNwUHIvPjxhOmJvZHlQci8+PGE6bHN0U3R5bGUvPjxhOnN0eWxlPjxhOmxuUmVmIGlkeD1cXFwiMlxcXCI+PGE6c2NoZW1lQ2xyIHZhbD1cXFwiYWNjZW50MVxcXCIvPjwvYTpsblJlZj48YTpmaWxsUmVmIGlkeD1cXFwiMFxcXCI+PGE6c2NoZW1lQ2xyIHZhbD1cXFwiYWNjZW50MVxcXCIvPjwvYTpmaWxsUmVmPjxhOmVmZmVjdFJlZiBpZHg9XFxcIjFcXFwiPjxhOnNjaGVtZUNsciB2YWw9XFxcImFjY2VudDFcXFwiLz48L2E6ZWZmZWN0UmVmPjxhOmZvbnRSZWYgaWR4PVxcXCJtaW5vclxcXCI+PGE6c2NoZW1lQ2xyIHZhbD1cXFwidHgxXFxcIi8+PC9hOmZvbnRSZWY+PC9hOnN0eWxlPic7dFt0Lmxlbmd0aF09XFxcIjwvYTpsbkRlZj5cXFwiO3RbdC5sZW5ndGhdPVxcXCI8L2E6b2JqZWN0RGVmYXVsdHM+XFxcIjt0W3QubGVuZ3RoXT1cXFwiPGE6ZXh0cmFDbHJTY2hlbWVMc3QvPlxcXCI7dFt0Lmxlbmd0aF09XFxcIjwvYTp0aGVtZT5cXFwiO3JldHVybiB0LmpvaW4oXFxcIlxcXCIpfWZ1bmN0aW9uIENsKGUscix0KXt2YXIgYT1lLmwrcjt2YXIgbj1lLl9SKDQpO2lmKG49PT0xMjQyMjYpcmV0dXJuO2lmKCF0LmNlbGxTdHlsZXN8fCFCZSl7ZS5sPWE7cmV0dXJufXZhciBpPWUuc2xpY2UoZS5sKTtlLmw9YTt2YXIgczt0cnl7cz1uZXcgQmUoaSl9Y2F0Y2goZil7cmV0dXJufXZhciBvPVNlKHMsXFxcInRoZW1lL3RoZW1lL3RoZW1lMS54bWxcXFwiLHRydWUpO2lmKCFvKXJldHVybjtyZXR1cm4gU2wobyx0KX1mdW5jdGlvbiBCbChlKXtyZXR1cm4gZS5fUig0KX1mdW5jdGlvbiBUbChlKXt2YXIgcj17fTtyLnhjbHJUeXBlPWUuX1IoMik7ci5uVGludFNoYWRlPWUuX1IoMik7c3dpdGNoKHIueGNsclR5cGUpe2Nhc2UgMDplLmwrPTQ7YnJlYWs7Y2FzZSAxOnIueGNsclZhbHVlPXlsKGUsNCk7YnJlYWs7Y2FzZSAyOnIueGNsclZhbHVlPWRpKGUsNCk7YnJlYWs7Y2FzZSAzOnIueGNsclZhbHVlPUJsKGUsNCk7YnJlYWs7Y2FzZSA0OmUubCs9NDticmVhazt9ZS5sKz04O3JldHVybiByfWZ1bmN0aW9uIHlsKGUscil7cmV0dXJuIFpyKGUscil9ZnVuY3Rpb24geGwoZSxyKXtyZXR1cm4gWnIoZSxyKX1mdW5jdGlvbiBBbChlKXt2YXIgcj1lLl9SKDIpO3ZhciB0PWUuX1IoMiktNDt2YXIgYT1bcl07c3dpdGNoKHIpe2Nhc2UgNDo7Y2FzZSA1OjtjYXNlIDc6O2Nhc2UgODo7Y2FzZSA5OjtjYXNlIDEwOjtjYXNlIDExOjtjYXNlIDEzOmFbMV09VGwoZSx0KTticmVhaztjYXNlIDY6YVsxXT14bChlLHQpO2JyZWFrO2Nhc2UgMTQ6O2Nhc2UgMTU6YVsxXT1lLl9SKHQ9PT0xPzE6Mik7YnJlYWs7ZGVmYXVsdDp0aHJvdyBuZXcgRXJyb3IoXFxcIlVucmVjb2duaXplZCBFeHRQcm9wIHR5cGU6IFxcXCIrcitcXFwiIFxcXCIrdCk7fXJldHVybiBhfWZ1bmN0aW9uIElsKGUscil7dmFyIHQ9ZS5sK3I7ZS5sKz0yO3ZhciBhPWUuX1IoMik7ZS5sKz0yO3ZhciBuPWUuX1IoMik7dmFyIGk9W107d2hpbGUobi0tID4wKWkucHVzaChBbChlLHQtZS5sKSk7cmV0dXJue2l4ZmU6YSxleHQ6aX19ZnVuY3Rpb24gUmwoZSxyKXtyLmZvckVhY2goZnVuY3Rpb24oZSl7c3dpdGNoKGVbMF0pe2Nhc2UgNDpicmVhaztjYXNlIDU6YnJlYWs7Y2FzZSA2OmJyZWFrO2Nhc2UgNzpicmVhaztjYXNlIDg6YnJlYWs7Y2FzZSA5OmJyZWFrO2Nhc2UgMTA6YnJlYWs7Y2FzZSAxMTpicmVhaztjYXNlIDEzOmJyZWFrO2Nhc2UgMTQ6YnJlYWs7Y2FzZSAxNTpicmVhazt9fSl9ZnVuY3Rpb24gT2woZSl7dmFyIHI9W107aWYoIWUpcmV0dXJuIHI7dmFyIHQ9MTsoZS5tYXRjaChSZSl8fFtdKS5mb3JFYWNoKGZ1bmN0aW9uKGUpe3ZhciBhPUZlKGUpO3N3aXRjaChhWzBdKXtjYXNlXFxcIjw/eG1sXFxcIjpicmVhaztjYXNlXFxcIjxjYWxjQ2hhaW5cXFwiOjtjYXNlXFxcIjxjYWxjQ2hhaW4+XFxcIjo7Y2FzZVxcXCI8L2NhbGNDaGFpbj5cXFwiOmJyZWFrO2Nhc2VcXFwiPGNcXFwiOmRlbGV0ZSBhWzBdO2lmKGEuaSl0PWEuaTtlbHNlIGEuaT10O3IucHVzaChhKTticmVhazt9fSk7cmV0dXJuIHJ9ZnVuY3Rpb24gRGwoZSl7dmFyIHI9e307ci5pPWUuX1IoNCk7dmFyIHQ9e307dC5yPWUuX1IoNCk7dC5jPWUuX1IoNCk7ci5yPWJ0KHQpO3ZhciBhPWUuX1IoMSk7aWYoYSYyKXIubD1cXFwiMVxcXCI7aWYoYSY4KXIuYT1cXFwiMVxcXCI7cmV0dXJuIHJ9ZnVuY3Rpb24gRmwoZSxyLHQpe3ZhciBhPVtdO3ZhciBuPWZhbHNlO1FyKGUsZnVuY3Rpb24gaShlLHIscyl7c3dpdGNoKHMpe2Nhc2UgNjM6YS5wdXNoKGUpO2JyZWFrO2RlZmF1bHQ6aWYoKHJ8fFxcXCJcXFwiKS5pbmRleE9mKFxcXCJCZWdpblxcXCIpPjApe31lbHNlIGlmKChyfHxcXFwiXFxcIikuaW5kZXhPZihcXFwiRW5kXFxcIik+MCl7fWVsc2UgaWYoIW58fHQuV1RGKXRocm93IG5ldyBFcnJvcihcXFwiVW5leHBlY3RlZCByZWNvcmQgXFxcIitzK1xcXCIgXFxcIityKTt9fSk7cmV0dXJuIGF9ZnVuY3Rpb24gUGwoKXt9ZnVuY3Rpb24gTmwoZSxyLHQsYSl7aWYoIWUpcmV0dXJuIGU7dmFyIG49YXx8e307dmFyIGk9ZmFsc2Uscz1mYWxzZTtRcihlLGZ1bmN0aW9uIGYoZSxyLHQpe2lmKHMpcmV0dXJuO3N3aXRjaCh0KXtjYXNlIDM1OTo7Y2FzZSAzNjM6O2Nhc2UgMzY0OjtjYXNlIDM2Njo7Y2FzZSAzNjc6O2Nhc2UgMzY4OjtjYXNlIDM2OTo7Y2FzZSAzNzA6O2Nhc2UgMzcxOjtjYXNlIDQ3Mjo7Y2FzZSA1Nzc6O2Nhc2UgNTc4OjtjYXNlIDU3OTo7Y2FzZSA1ODA6O2Nhc2UgNTgxOjtjYXNlIDU4Mjo7Y2FzZSA1ODM6O2Nhc2UgNTg0OjtjYXNlIDU4NTo7Y2FzZSA1ODY6O2Nhc2UgNTg3OmJyZWFrO2Nhc2UgMzU6aT10cnVlO2JyZWFrO2Nhc2UgMzY6aT1mYWxzZTticmVhaztkZWZhdWx0OmlmKChyfHxcXFwiXFxcIikuaW5kZXhPZihcXFwiQmVnaW5cXFwiKT4wKXt9ZWxzZSBpZigocnx8XFxcIlxcXCIpLmluZGV4T2YoXFxcIkVuZFxcXCIpPjApe31lbHNlIGlmKCFpfHxuLldURil0aHJvdyBuZXcgRXJyb3IoXFxcIlVuZXhwZWN0ZWQgcmVjb3JkIFxcXCIrdC50b1N0cmluZygxNikrXFxcIiBcXFwiK3IpO319LG4pfU1hLklNRz1cXFwiaHR0cDovL3NjaGVtYXMub3BlbnhtbGZvcm1hdHMub3JnL29mZmljZURvY3VtZW50LzIwMDYvcmVsYXRpb25zaGlwcy9pbWFnZVxcXCI7TWEuRFJBVz1cXFwiaHR0cDovL3NjaGVtYXMub3BlbnhtbGZvcm1hdHMub3JnL29mZmljZURvY3VtZW50LzIwMDYvcmVsYXRpb25zaGlwcy9kcmF3aW5nXFxcIjtmdW5jdGlvbiBMbChlLHIpe2lmKCFlKXJldHVyblxcXCI/P1xcXCI7dmFyIHQ9KGUubWF0Y2goLzxjOmNoYXJ0IFtePl0qcjppZD1cXFwiKFteXFxcIl0qKVxcXCIvKXx8W1xcXCJcXFwiLFxcXCJcXFwiXSlbMV07cmV0dXJuIHJbXFxcIiFpZFxcXCJdW3RdLlRhcmdldH12YXIgTWw9MTAyNDtmdW5jdGlvbiBVbChlLHIpe3ZhciB0PVsyMTYwMCwyMTYwMF07dmFyIGE9W1xcXCJtMCwwbDBcXFwiLHRbMV0sdFswXSx0WzFdLHRbMF0sXFxcIjB4ZVxcXCJdLmpvaW4oXFxcIixcXFwiKTt2YXIgbj1bbHIoXFxcInhtbFxcXCIsbnVsbCx7XFxcInhtbG5zOnZcXFwiOmRyLnYsXFxcInhtbG5zOm9cXFwiOmRyLm8sXFxcInhtbG5zOnhcXFwiOmRyLngsXFxcInhtbG5zOm12XFxcIjpkci5tdn0pLnJlcGxhY2UoL1xcXFwvPi8sXFxcIj5cXFwiKSxscihcXFwibzpzaGFwZWxheW91dFxcXCIsbHIoXFxcIm86aWRtYXBcXFwiLG51bGwse1xcXCJ2OmV4dFxcXCI6XFxcImVkaXRcXFwiLGRhdGE6ZX0pLHtcXFwidjpleHRcXFwiOlxcXCJlZGl0XFxcIn0pLGxyKFxcXCJ2OnNoYXBldHlwZVxcXCIsW2xyKFxcXCJ2OnN0cm9rZVxcXCIsbnVsbCx7am9pbnN0eWxlOlxcXCJtaXRlclxcXCJ9KSxscihcXFwidjpwYXRoXFxcIixudWxsLHtncmFkaWVudHNoYXBlb2s6XFxcInRcXFwiLFxcXCJvOmNvbm5lY3R0eXBlXFxcIjpcXFwicmVjdFxcXCJ9KV0uam9pbihcXFwiXFxcIikse2lkOlxcXCJfeDAwMDBfdDIwMlxcXCIsXFxcIm86c3B0XFxcIjoyMDIsY29vcmRzaXplOnQuam9pbihcXFwiLFxcXCIpLHBhdGg6YX0pXTt3aGlsZShNbDxlKjFlMylNbCs9MWUzO3IuZm9yRWFjaChmdW5jdGlvbihlKXt2YXIgcj1tdChlWzBdKTt2YXIgdD17Y29sb3IyOlxcXCIjQkVGRjgyXFxcIix0eXBlOlxcXCJncmFkaWVudFxcXCJ9O2lmKHQudHlwZT09XFxcImdyYWRpZW50XFxcIil0LmFuZ2xlPVxcXCItMTgwXFxcIjt2YXIgYT10LnR5cGU9PVxcXCJncmFkaWVudFxcXCI/bHIoXFxcIm86ZmlsbFxcXCIsbnVsbCx7dHlwZTpcXFwiZ3JhZGllbnRVbnNjYWxlZFxcXCIsXFxcInY6ZXh0XFxcIjpcXFwidmlld1xcXCJ9KTpudWxsO3ZhciBpPWxyKFxcXCJ2OmZpbGxcXFwiLGEsdCk7dmFyIHM9e29uOlxcXCJ0XFxcIixvYnNjdXJlZDpcXFwidFxcXCJ9OysrTWw7bj1uLmNvbmNhdChbXFxcIjx2OnNoYXBlXFxcIitvcih7aWQ6XFxcIl94MDAwMF9zXFxcIitNbCx0eXBlOlxcXCIjX3gwMDAwX3QyMDJcXFwiLHN0eWxlOlxcXCJwb3NpdGlvbjphYnNvbHV0ZTsgbWFyZ2luLWxlZnQ6ODBwdDttYXJnaW4tdG9wOjVwdDt3aWR0aDoxMDRwdDtoZWlnaHQ6NjRwdDt6LWluZGV4OjEwXFxcIisoZVsxXS5oaWRkZW4/XFxcIjt2aXNpYmlsaXR5OmhpZGRlblxcXCI6XFxcIlxcXCIpLGZpbGxjb2xvcjpcXFwiI0VDRkFENFxcXCIsc3Ryb2tlY29sb3I6XFxcIiNlZGVhYTFcXFwifSkrXFxcIj5cXFwiLGksbHIoXFxcInY6c2hhZG93XFxcIixudWxsLHMpLGxyKFxcXCJ2OnBhdGhcXFwiLG51bGwse1xcXCJvOmNvbm5lY3R0eXBlXFxcIjpcXFwibm9uZVxcXCJ9KSwnPHY6dGV4dGJveD48ZGl2IHN0eWxlPVxcXCJ0ZXh0LWFsaWduOmxlZnRcXFwiPjwvZGl2Pjwvdjp0ZXh0Ym94PicsJzx4OkNsaWVudERhdGEgT2JqZWN0VHlwZT1cXFwiTm90ZVxcXCI+JyxcXFwiPHg6TW92ZVdpdGhDZWxscy8+XFxcIixcXFwiPHg6U2l6ZVdpdGhDZWxscy8+XFxcIixmcihcXFwieDpBbmNob3JcXFwiLFtyLmMrMSwwLHIucisxLDAsci5jKzMsMjAsci5yKzUsMjBdLmpvaW4oXFxcIixcXFwiKSksZnIoXFxcIng6QXV0b0ZpbGxcXFwiLFxcXCJGYWxzZVxcXCIpLGZyKFxcXCJ4OlJvd1xcXCIsU3RyaW5nKHIucikpLGZyKFxcXCJ4OkNvbHVtblxcXCIsU3RyaW5nKHIuYykpLGVbMV0uaGlkZGVuP1xcXCJcXFwiOlxcXCI8eDpWaXNpYmxlLz5cXFwiLFxcXCI8L3g6Q2xpZW50RGF0YT5cXFwiLFxcXCI8L3Y6c2hhcGU+XFxcIl0pfSk7bi5wdXNoKFxcXCI8L3htbD5cXFwiKTtyZXR1cm4gbi5qb2luKFxcXCJcXFwiKX1NYS5DTU5UPVxcXCJodHRwOi8vc2NoZW1hcy5vcGVueG1sZm9ybWF0cy5vcmcvb2ZmaWNlRG9jdW1lbnQvMjAwNi9yZWxhdGlvbnNoaXBzL2NvbW1lbnRzXFxcIjtmdW5jdGlvbiB6bChlLHIpe3ZhciB0PUFycmF5LmlzQXJyYXkoZSk7dmFyIGE7ci5mb3JFYWNoKGZ1bmN0aW9uKHIpe3ZhciBuPW10KHIucmVmKTtpZih0KXtpZighZVtuLnJdKWVbbi5yXT1bXTthPWVbbi5yXVtuLmNdfWVsc2UgYT1lW3IucmVmXTtpZighYSl7YT17dDpcXFwielxcXCJ9O2lmKHQpZVtuLnJdW24uY109YTtlbHNlIGVbci5yZWZdPWE7dmFyIGk9a3QoZVtcXFwiIXJlZlxcXCJdfHxcXFwiQkRXR08xMDAwMDAxOkExXFxcIik7aWYoaS5zLnI+bi5yKWkucy5yPW4ucjtpZihpLmUucjxuLnIpaS5lLnI9bi5yO2lmKGkucy5jPm4uYylpLnMuYz1uLmM7aWYoaS5lLmM8bi5jKWkuZS5jPW4uYzt2YXIgcz13dChpKTtpZihzIT09ZVtcXFwiIXJlZlxcXCJdKWVbXFxcIiFyZWZcXFwiXT1zfWlmKCFhLmMpYS5jPVtdO3ZhciBmPXthOnIuYXV0aG9yLHQ6ci50LHI6ci5yfTtpZihyLmgpZi5oPXIuaDthLmMucHVzaChmKX0pfWZ1bmN0aW9uIEhsKGUscil7aWYoZS5tYXRjaCgvPCg/OlxcXFx3KzopP2NvbW1lbnRzICpcXFxcLz4vKSlyZXR1cm5bXTt2YXIgdD1bXTt2YXIgYT1bXTt2YXIgbj1lLm1hdGNoKC88KD86XFxcXHcrOik/YXV0aG9ycz4oW1xcXFxzXFxcXFNdKik8XFxcXC8oPzpcXFxcdys6KT9hdXRob3JzPi8pO2lmKG4mJm5bMV0pblsxXS5zcGxpdCgvPFxcXFwvXFxcXHcqOj9hdXRob3I+LykuZm9yRWFjaChmdW5jdGlvbihlKXtpZihlPT09XFxcIlxcXCJ8fGUudHJpbSgpPT09XFxcIlxcXCIpcmV0dXJuO3ZhciByPWUubWF0Y2goLzwoPzpcXFxcdys6KT9hdXRob3JbXj5dKj4oLiopLyk7aWYocil0LnB1c2goclsxXSl9KTt2YXIgaT1lLm1hdGNoKC88KD86XFxcXHcrOik/Y29tbWVudExpc3Q+KFtcXFxcc1xcXFxTXSopPFxcXFwvKD86XFxcXHcrOik/Y29tbWVudExpc3Q+Lyk7aWYoaSYmaVsxXSlpWzFdLnNwbGl0KC88XFxcXC9cXFxcdyo6P2NvbW1lbnQ+LykuZm9yRWFjaChmdW5jdGlvbihlKXtpZihlPT09XFxcIlxcXCJ8fGUudHJpbSgpPT09XFxcIlxcXCIpcmV0dXJuO3ZhciBuPWUubWF0Y2goLzwoPzpcXFxcdys6KT9jb21tZW50W14+XSo+Lyk7aWYoIW4pcmV0dXJuO3ZhciBpPUZlKG5bMF0pO3ZhciBzPXthdXRob3I6aS5hdXRob3JJZCYmdFtpLmF1dGhvcklkXXx8XFxcInNoZWV0anNnaG9zdFxcXCIscmVmOmkucmVmLGd1aWQ6aS5ndWlkfTt2YXIgZj1tdChpLnJlZik7aWYoci5zaGVldFJvd3MmJnIuc2hlZXRSb3dzPD1mLnIpcmV0dXJuO3ZhciBvPWUubWF0Y2goLzwoPzpcXFxcdys6KT90ZXh0PihbXFxcXHNcXFxcU10qKTxcXFxcLyg/OlxcXFx3KzopP3RleHQ+Lyk7dmFyIGw9ISFvJiYhIW9bMV0mJkJmKG9bMV0pfHx7cjpcXFwiXFxcIix0OlxcXCJcXFwiLGg6XFxcIlxcXCJ9O3Mucj1sLnI7aWYobC5yPT1cXFwiPHQ+PC90PlxcXCIpbC50PWwuaD1cXFwiXFxcIjtzLnQ9bC50LnJlcGxhY2UoL1xcXFxyXFxcXG4vZyxcXFwiXFxcXG5cXFwiKS5yZXBsYWNlKC9cXFxcci9nLFxcXCJcXFxcblxcXCIpO2lmKHIuY2VsbEhUTUwpcy5oPWwuaDthLnB1c2gocyl9KTtyZXR1cm4gYX12YXIgV2w9bHIoXFxcImNvbW1lbnRzXFxcIixudWxsLHt4bWxuczpoci5tYWluWzBdfSk7ZnVuY3Rpb24gVmwoZSl7dmFyIHI9W0FlLFdsXTt2YXIgdD1bXTtyLnB1c2goXFxcIjxhdXRob3JzPlxcXCIpO2UuZm9yRWFjaChmdW5jdGlvbihlKXtlWzFdLmZvckVhY2goZnVuY3Rpb24oZSl7dmFyIGE9SGUoZS5hKTtpZih0LmluZGV4T2YoYSk+LTEpcmV0dXJuO3QucHVzaChhKTtyLnB1c2goXFxcIjxhdXRob3I+XFxcIithK1xcXCI8L2F1dGhvcj5cXFwiKX0pfSk7ci5wdXNoKFxcXCI8L2F1dGhvcnM+XFxcIik7ci5wdXNoKFxcXCI8Y29tbWVudExpc3Q+XFxcIik7ZS5mb3JFYWNoKGZ1bmN0aW9uKGUpe2VbMV0uZm9yRWFjaChmdW5jdGlvbihhKXtyLnB1c2goJzxjb21tZW50IHJlZj1cXFwiJytlWzBdKydcXFwiIGF1dGhvcklkPVxcXCInK3QuaW5kZXhPZihIZShhLmEpKSsnXFxcIj48dGV4dD4nKTtyLnB1c2goZnIoXFxcInRcXFwiLGEudD09bnVsbD9cXFwiXFxcIjpIZShhLnQpKSk7ci5wdXNoKFxcXCI8L3RleHQ+PC9jb21tZW50PlxcXCIpfSl9KTtyLnB1c2goXFxcIjwvY29tbWVudExpc3Q+XFxcIik7aWYoci5sZW5ndGg+Mil7cltyLmxlbmd0aF09XFxcIjwvY29tbWVudHM+XFxcIjtyWzFdPXJbMV0ucmVwbGFjZShcXFwiLz5cXFwiLFxcXCI+XFxcIil9cmV0dXJuIHIuam9pbihcXFwiXFxcIil9ZnVuY3Rpb24gWGwoZSl7dmFyIHI9e307ci5pYXV0aG9yPWUuX1IoNCk7dmFyIHQ9JHQoZSwxNik7ci5yZng9dC5zO3IucmVmPWJ0KHQucyk7ZS5sKz0xNjtyZXR1cm4gcn1mdW5jdGlvbiBHbChlLHIpe2lmKHI9PW51bGwpcj1KcigzNik7ci5fVyg0LGVbMV0uaWF1dGhvcik7WXQoZVswXSxyKTtyLl9XKDQsMCk7ci5fVyg0LDApO3IuX1coNCwwKTtyLl9XKDQsMCk7cmV0dXJuIHJ9dmFyIGpsPXl0O2Z1bmN0aW9uIEtsKGUpe3JldHVybiB4dChlLnNsaWNlKDAsNTQpKX1mdW5jdGlvbiAkbChlLHIpe3ZhciB0PVtdO3ZhciBhPVtdO3ZhciBuPXt9O3ZhciBpPWZhbHNlO1FyKGUsZnVuY3Rpb24gcyhlLGYsbyl7c3dpdGNoKG8pe2Nhc2UgNjMyOmEucHVzaChlKTticmVhaztjYXNlIDYzNTpuPWU7YnJlYWs7Y2FzZSA2Mzc6bi50PWUudDtuLmg9ZS5oO24ucj1lLnI7YnJlYWs7Y2FzZSA2MzY6bi5hdXRob3I9YVtuLmlhdXRob3JdO2RlbGV0ZSBuLmlhdXRob3I7aWYoci5zaGVldFJvd3MmJm4ucmZ4JiZyLnNoZWV0Um93czw9bi5yZngucilicmVhaztpZighbi50KW4udD1cXFwiXFxcIjtkZWxldGUgbi5yZng7dC5wdXNoKG4pO2JyZWFrO2Nhc2UgMzA3MjpicmVhaztjYXNlIDM1Omk9dHJ1ZTticmVhaztjYXNlIDM2Omk9ZmFsc2U7YnJlYWs7Y2FzZSAzNzpicmVhaztjYXNlIDM4OmJyZWFrO2RlZmF1bHQ6aWYoKGZ8fFxcXCJcXFwiKS5pbmRleE9mKFxcXCJCZWdpblxcXCIpPjApe31lbHNlIGlmKChmfHxcXFwiXFxcIikuaW5kZXhPZihcXFwiRW5kXFxcIik+MCl7fWVsc2UgaWYoIWl8fHIuV1RGKXRocm93IG5ldyBFcnJvcihcXFwiVW5leHBlY3RlZCByZWNvcmQgXFxcIitvK1xcXCIgXFxcIitmKTt9fSk7cmV0dXJuIHR9ZnVuY3Rpb24gWWwoZSl7dmFyIHI9cXIoKTt2YXIgdD1bXTtldChyLFxcXCJCcnRCZWdpbkNvbW1lbnRzXFxcIik7ZXQocixcXFwiQnJ0QmVnaW5Db21tZW50QXV0aG9yc1xcXCIpO2UuZm9yRWFjaChmdW5jdGlvbihlKXtlWzFdLmZvckVhY2goZnVuY3Rpb24oZSl7aWYodC5pbmRleE9mKGUuYSk+LTEpcmV0dXJuO3QucHVzaChlLmEuc2xpY2UoMCw1NCkpO2V0KHIsXFxcIkJydENvbW1lbnRBdXRob3JcXFwiLEtsKGUuYSkpfSl9KTtldChyLFxcXCJCcnRFbmRDb21tZW50QXV0aG9yc1xcXCIpO2V0KHIsXFxcIkJydEJlZ2luQ29tbWVudExpc3RcXFwiKTtlLmZvckVhY2goZnVuY3Rpb24oZSl7ZVsxXS5mb3JFYWNoKGZ1bmN0aW9uKGEpe2EuaWF1dGhvcj10LmluZGV4T2YoYS5hKTt2YXIgbj17czptdChlWzBdKSxlOm10KGVbMF0pfTtldChyLFxcXCJCcnRCZWdpbkNvbW1lbnRcXFwiLEdsKFtuLGFdKSk7aWYoYS50JiZhLnQubGVuZ3RoPjApZXQocixcXFwiQnJ0Q29tbWVudFRleHRcXFwiLEZ0KGEpKTtldChyLFxcXCJCcnRFbmRDb21tZW50XFxcIik7ZGVsZXRlIGEuaWF1dGhvcn0pfSk7ZXQocixcXFwiQnJ0RW5kQ29tbWVudExpc3RcXFwiKTtldChyLFxcXCJCcnRFbmRDb21tZW50c1xcXCIpO3JldHVybiByLmVuZCgpfXZhciBabD1cXFwiYXBwbGljYXRpb24vdm5kLm1zLW9mZmljZS52YmFQcm9qZWN0XFxcIjtmdW5jdGlvbiBKbChlKXt2YXIgcj1XLnV0aWxzLmNmYl9uZXcoe3Jvb3Q6XFxcIlJcXFwifSk7ZS5GdWxsUGF0aHMuZm9yRWFjaChmdW5jdGlvbih0LGEpe2lmKHQuc2xpY2UoLTEpPT09XFxcIi9cXFwifHwhdC5tYXRjaCgvX1ZCQV9QUk9KRUNUX0NVUi8pKXJldHVybjt2YXIgbj10LnJlcGxhY2UoL15bXlxcXFwvXSovLFxcXCJSXFxcIikucmVwbGFjZSgvXFxcXC9fVkJBX1BST0pFQ1RfQ1VSXFxcXHUwMDAwKi8sXFxcIlxcXCIpO1cudXRpbHMuY2ZiX2FkZChyLG4sZS5GaWxlSW5kZXhbYV0uY29udGVudCl9KTtyZXR1cm4gVy53cml0ZShyKX1mdW5jdGlvbiBRbChlLHIpe1xcbnIuRnVsbFBhdGhzLmZvckVhY2goZnVuY3Rpb24odCxhKXtpZihhPT0wKXJldHVybjt2YXIgbj10LnJlcGxhY2UoL1teXFxcXC9dKltcXFxcL10vLFxcXCIvX1ZCQV9QUk9KRUNUX0NVUi9cXFwiKTtpZihuLnNsaWNlKC0xKSE9PVxcXCIvXFxcIilXLnV0aWxzLmNmYl9hZGQoZSxuLHIuRmlsZUluZGV4W2FdLmNvbnRlbnQpfSl9dmFyIHFsPVtcXFwieGxzYlxcXCIsXFxcInhsc21cXFwiLFxcXCJ4bGFtXFxcIixcXFwiYmlmZjhcXFwiLFxcXCJ4bGFcXFwiXTtNYS5EUz1cXFwiaHR0cDovL3NjaGVtYXMub3BlbnhtbGZvcm1hdHMub3JnL29mZmljZURvY3VtZW50LzIwMDYvcmVsYXRpb25zaGlwcy9kaWFsb2dzaGVldFxcXCI7TWEuTVM9XFxcImh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vb2ZmaWNlLzIwMDYvcmVsYXRpb25zaGlwcy94bE1hY3Jvc2hlZXRcXFwiO2Z1bmN0aW9uIGVjKCl7cmV0dXJue1xcXCIhdHlwZVxcXCI6XFxcImRpYWxvZ1xcXCJ9fWZ1bmN0aW9uIHJjKCl7cmV0dXJue1xcXCIhdHlwZVxcXCI6XFxcImRpYWxvZ1xcXCJ9fWZ1bmN0aW9uIHRjKCl7cmV0dXJue1xcXCIhdHlwZVxcXCI6XFxcIm1hY3JvXFxcIn19ZnVuY3Rpb24gYWMoKXtyZXR1cm57XFxcIiF0eXBlXFxcIjpcXFwibWFjcm9cXFwifX12YXIgbmM9ZnVuY3Rpb24oKXt2YXIgZT0vKF58W15BLVphLXpfXSlSKFxcXFxbPy0/XFxcXGQrXFxcXF18WzEtOV1cXFxcZCp8KUMoXFxcXFs/LT9cXFxcZCtcXFxcXXxbMS05XVxcXFxkKnwpKD8hW0EtWmEtejAtOV9dKS9nO3ZhciByPXtyOjAsYzowfTtmdW5jdGlvbiB0KGUsdCxhLG4pe3ZhciBpPWZhbHNlLHM9ZmFsc2U7aWYoYS5sZW5ndGg9PTApcz10cnVlO2Vsc2UgaWYoYS5jaGFyQXQoMCk9PVxcXCJbXFxcIil7cz10cnVlO2E9YS5zbGljZSgxLC0xKX1pZihuLmxlbmd0aD09MClpPXRydWU7ZWxzZSBpZihuLmNoYXJBdCgwKT09XFxcIltcXFwiKXtpPXRydWU7bj1uLnNsaWNlKDEsLTEpfXZhciBmPWEubGVuZ3RoPjA/cGFyc2VJbnQoYSwxMCl8MDowLG89bi5sZW5ndGg+MD9wYXJzZUludChuLDEwKXwwOjA7aWYoaSlvKz1yLmM7ZWxzZS0tbztpZihzKWYrPXIucjtlbHNlLS1mO3JldHVybiB0KyhpP1xcXCJcXFwiOlxcXCIkXFxcIikraHQobykrKHM/XFxcIlxcXCI6XFxcIiRcXFwiKStvdChmKX1yZXR1cm4gZnVuY3Rpb24gYShuLGkpe3I9aTtyZXR1cm4gbi5yZXBsYWNlKGUsdCl9fSgpO3ZhciBpYz0vKF58W14uX0EtWjAtOV0pKFskXT8pKFtBLVpdezEsMn18W0EtV11bQS1aXXsyfXxYW0EtRV1bQS1aXXxYRltBLURdKShbJF0/KSgxMFswLTNdXFxcXGR7NH18MTA0WzAtN11cXFxcZHszfXwxMDQ4WzAtNF1cXFxcZHsyfXwxMDQ4NVswLTZdXFxcXGR8MTA0ODU3WzAtNl18WzEtOV1cXFxcZHswLDV9KSg/IVtfLlxcXFwoQS1aYS16MC05XSkvZzt2YXIgc2M9ZnVuY3Rpb24oKXtyZXR1cm4gZnVuY3Rpb24gZShyLHQpe3JldHVybiByLnJlcGxhY2UoaWMsZnVuY3Rpb24oZSxyLGEsbixpLHMpe3ZhciBmPXV0KG4pLShhPzA6dC5jKTt2YXIgbz1mdChzKS0oaT8wOnQucik7dmFyIGw9bz09MD9cXFwiXFxcIjohaT9cXFwiW1xcXCIrbytcXFwiXVxcXCI6bysxO3ZhciBjPWY9PTA/XFxcIlxcXCI6IWE/XFxcIltcXFwiK2YrXFxcIl1cXFwiOmYrMTtyZXR1cm4gcitcXFwiUlxcXCIrbCtcXFwiQ1xcXCIrY30pfX0oKTtmdW5jdGlvbiBmYyhlLHIpe3JldHVybiBlLnJlcGxhY2UoaWMsZnVuY3Rpb24oZSx0LGEsbixpLHMpe3JldHVybiB0KyhhPT1cXFwiJFxcXCI/YStuOmh0KHV0KG4pK3IuYykpKyhpPT1cXFwiJFxcXCI/aStzOm90KGZ0KHMpK3IucikpfSl9ZnVuY3Rpb24gb2MoZSxyLHQpe3ZhciBhPWd0KHIpLG49YS5zLGk9bXQodCk7dmFyIHM9e3I6aS5yLW4ucixjOmkuYy1uLmN9O3JldHVybiBmYyhlLHMpfWZ1bmN0aW9uIGxjKGUpe2lmKGUubGVuZ3RoPT0xKXJldHVybiBmYWxzZTtyZXR1cm4gdHJ1ZX1mdW5jdGlvbiBjYyhlKXtyZXR1cm4gZS5yZXBsYWNlKC9feGxmblxcXFwuL2csXFxcIlxcXCIpfWZ1bmN0aW9uIHVjKGUpe2UubCs9MTtyZXR1cm59ZnVuY3Rpb24gaGMoZSxyKXt2YXIgdD1lLl9SKHI9PTE/MToyKTtyZXR1cm5bdCYxNjM4Myx0Pj4xNCYxLHQ+PjE1JjFdfWZ1bmN0aW9uIGRjKGUscix0KXt2YXIgYT0yO2lmKHQpe2lmKHQuYmlmZj49MiYmdC5iaWZmPD01KXJldHVybiB2YyhlLHIsdCk7ZWxzZSBpZih0LmJpZmY9PTEyKWE9NH12YXIgbj1lLl9SKGEpLGk9ZS5fUihhKTt2YXIgcz1oYyhlLDIpO3ZhciBmPWhjKGUsMik7cmV0dXJue3M6e3I6bixjOnNbMF0sY1JlbDpzWzFdLHJSZWw6c1syXX0sZTp7cjppLGM6ZlswXSxjUmVsOmZbMV0sclJlbDpmWzJdfX19ZnVuY3Rpb24gdmMoZSl7dmFyIHI9aGMoZSwyKSx0PWhjKGUsMik7dmFyIGE9ZS5fUigxKTt2YXIgbj1lLl9SKDEpO3JldHVybntzOntyOnJbMF0sYzphLGNSZWw6clsxXSxyUmVsOnJbMl19LGU6e3I6dFswXSxjOm4sY1JlbDp0WzFdLHJSZWw6dFsyXX19fWZ1bmN0aW9uIHBjKGUscix0KXtpZih0LmJpZmY8OClyZXR1cm4gdmMoZSxyLHQpO3ZhciBhPWUuX1IodC5iaWZmPT0xMj80OjIpLG49ZS5fUih0LmJpZmY9PTEyPzQ6Mik7dmFyIGk9aGMoZSwyKTt2YXIgcz1oYyhlLDIpO3JldHVybntzOntyOmEsYzppWzBdLGNSZWw6aVsxXSxyUmVsOmlbMl19LGU6e3I6bixjOnNbMF0sY1JlbDpzWzFdLHJSZWw6c1syXX19fWZ1bmN0aW9uIG1jKGUscix0KXtpZih0JiZ0LmJpZmY+PTImJnQuYmlmZjw9NSlyZXR1cm4gYmMoZSxyLHQpO3ZhciBhPWUuX1IodCYmdC5iaWZmPT0xMj80OjIpO3ZhciBuPWhjKGUsMik7cmV0dXJue3I6YSxjOm5bMF0sY1JlbDpuWzFdLHJSZWw6blsyXX19ZnVuY3Rpb24gYmMoZSl7dmFyIHI9aGMoZSwyKTt2YXIgdD1lLl9SKDEpO3JldHVybntyOnJbMF0sYzp0LGNSZWw6clsxXSxyUmVsOnJbMl19fWZ1bmN0aW9uIGdjKGUpe3ZhciByPWUuX1IoMik7dmFyIHQ9ZS5fUigyKTtyZXR1cm57cjpyLGM6dCYyNTUsZlF1b3RlZDohISh0JjE2Mzg0KSxjUmVsOnQ+PjE1LHJSZWw6dD4+MTV9fWZ1bmN0aW9uIHdjKGUscix0KXt2YXIgYT10JiZ0LmJpZmY/dC5iaWZmOjg7aWYoYT49MiYmYTw9NSlyZXR1cm4ga2MoZSxyLHQpO3ZhciBuPWUuX1IoYT49MTI/NDoyKTt2YXIgaT1lLl9SKDIpO3ZhciBzPShpJjE2Mzg0KT4+MTQsZj0oaSYzMjc2OCk+PjE1O2kmPTE2MzgzO2lmKGY9PTEpd2hpbGUobj41MjQyODcpbi09MTA0ODU3NjtpZihzPT0xKXdoaWxlKGk+ODE5MSlpPWktMTYzODQ7cmV0dXJue3I6bixjOmksY1JlbDpzLHJSZWw6Zn19ZnVuY3Rpb24ga2MoZSl7dmFyIHI9ZS5fUigyKTt2YXIgdD1lLl9SKDEpO3ZhciBhPShyJjMyNzY4KT4+MTUsbj0ociYxNjM4NCk+PjE0O3ImPTE2MzgzO2lmKGE9PTEmJnI+PTgxOTIpcj1yLTE2Mzg0O2lmKG49PTEmJnQ+PTEyOCl0PXQtMjU2O3JldHVybntyOnIsYzp0LGNSZWw6bixyUmVsOmF9fWZ1bmN0aW9uIEVjKGUscix0KXt2YXIgYT0oZVtlLmwrK10mOTYpPj41O3ZhciBuPWRjKGUsdC5iaWZmPj0yJiZ0LmJpZmY8PTU/Njo4LHQpO3JldHVyblthLG5dfWZ1bmN0aW9uIFNjKGUscix0KXt2YXIgYT0oZVtlLmwrK10mOTYpPj41O3ZhciBuPWUuX1IoMixcXFwiaVxcXCIpO3ZhciBpPTg7aWYodClzd2l0Y2godC5iaWZmKXtjYXNlIDU6ZS5sKz0xMjtpPTY7YnJlYWs7Y2FzZSAxMjppPTEyO2JyZWFrO312YXIgcz1kYyhlLGksdCk7cmV0dXJuW2EsbixzXX1mdW5jdGlvbiBfYyhlLHIsdCl7dmFyIGE9KGVbZS5sKytdJjk2KT4+NTtlLmwrPXQmJnQuYmlmZj44PzEyOnQuYmlmZjw4PzY6ODtyZXR1cm5bYV19ZnVuY3Rpb24gQ2MoZSxyLHQpe3ZhciBhPShlW2UubCsrXSY5Nik+PjU7dmFyIG49ZS5fUigyKTt2YXIgaT04O2lmKHQpc3dpdGNoKHQuYmlmZil7Y2FzZSA1OmUubCs9MTI7aT02O2JyZWFrO2Nhc2UgMTI6aT0xMjticmVhazt9ZS5sKz1pO3JldHVyblthLG5dfWZ1bmN0aW9uIEJjKGUscix0KXt2YXIgYT0oZVtlLmwrK10mOTYpPj41O3ZhciBuPXBjKGUsci0xLHQpO3JldHVyblthLG5dfWZ1bmN0aW9uIFRjKGUscix0KXt2YXIgYT0oZVtlLmwrK10mOTYpPj41O2UubCs9dC5iaWZmPT0yPzY6dC5iaWZmPT0xMj8xNDo3O3JldHVyblthXX1mdW5jdGlvbiB5YyhlKXt2YXIgcj1lW2UubCsxXSYxO3ZhciB0PTE7ZS5sKz00O3JldHVybltyLHRdfWZ1bmN0aW9uIHhjKGUscix0KXtlLmwrPTI7dmFyIGE9ZS5fUih0JiZ0LmJpZmY9PTI/MToyKTt2YXIgbj1bXTtmb3IodmFyIGk9MDtpPD1hOysraSluLnB1c2goZS5fUih0JiZ0LmJpZmY9PTI/MToyKSk7cmV0dXJuIG59ZnVuY3Rpb24gQWMoZSxyLHQpe3ZhciBhPWVbZS5sKzFdJjI1NT8xOjA7ZS5sKz0yO3JldHVyblthLGUuX1IodCYmdC5iaWZmPT0yPzE6MildfWZ1bmN0aW9uIEljKGUscix0KXt2YXIgYT1lW2UubCsxXSYyNTU/MTowO2UubCs9MjtyZXR1cm5bYSxlLl9SKHQmJnQuYmlmZj09Mj8xOjIpXX1mdW5jdGlvbiBSYyhlKXt2YXIgcj1lW2UubCsxXSYyNTU/MTowO2UubCs9MjtyZXR1cm5bcixlLl9SKDIpXX1mdW5jdGlvbiBPYyhlLHIsdCl7dmFyIGE9ZVtlLmwrMV0mMjU1PzE6MDtlLmwrPXQmJnQuYmlmZj09Mj8zOjQ7cmV0dXJuW2FdfWZ1bmN0aW9uIERjKGUpe3ZhciByPWUuX1IoMSksdD1lLl9SKDEpO3JldHVybltyLHRdfWZ1bmN0aW9uIEZjKGUpe2UuX1IoMik7cmV0dXJuIERjKGUsMil9ZnVuY3Rpb24gUGMoZSl7ZS5fUigyKTtyZXR1cm4gRGMoZSwyKX1mdW5jdGlvbiBOYyhlLHIsdCl7dmFyIGE9KGVbZS5sXSY5Nik+PjU7ZS5sKz0xO3ZhciBuPW1jKGUsMCx0KTtyZXR1cm5bYSxuXX1mdW5jdGlvbiBMYyhlLHIsdCl7dmFyIGE9KGVbZS5sXSY5Nik+PjU7ZS5sKz0xO3ZhciBuPXdjKGUsMCx0KTtyZXR1cm5bYSxuXX1mdW5jdGlvbiBNYyhlLHIsdCl7dmFyIGE9KGVbZS5sXSY5Nik+PjU7ZS5sKz0xO3ZhciBuPWUuX1IoMik7aWYodCYmdC5iaWZmPT01KWUubCs9MTI7dmFyIGk9bWMoZSwwLHQpO3JldHVyblthLG4saV19ZnVuY3Rpb24gVWMoZSxyLHQpe3ZhciBhPShlW2UubF0mOTYpPj41O2UubCs9MTt2YXIgbj1lLl9SKHQmJnQuYmlmZjw9Mz8xOjIpO3JldHVyblt0aFtuXSxyaFtuXSxhXX1mdW5jdGlvbiB6YyhlLHIsdCl7dmFyIGE9ZVtlLmwrK107dmFyIG49ZS5fUigxKSxpPXQmJnQuYmlmZjw9Mz9bYT09ODg/LTE6MCxlLl9SKDEpXTpIYyhlKTtyZXR1cm5bbiwoaVswXT09PTA/cmg6ZWgpW2lbMV1dXX1mdW5jdGlvbiBIYyhlKXtyZXR1cm5bZVtlLmwrMV0+PjcsZS5fUigyKSYzMjc2N119ZnVuY3Rpb24gV2MoZSxyLHQpe2UubCs9dCYmdC5iaWZmPT0yPzM6NDtyZXR1cm59ZnVuY3Rpb24gVmMoZSxyLHQpe2UubCsrO2lmKHQmJnQuYmlmZj09MTIpcmV0dXJuW2UuX1IoNCxcXFwiaVxcXCIpLDBdO3ZhciBhPWUuX1IoMik7dmFyIG49ZS5fUih0JiZ0LmJpZmY9PTI/MToyKTtyZXR1cm5bYSxuXX1mdW5jdGlvbiBYYyhlKXtlLmwrKztyZXR1cm4geGFbZS5fUigxKV19ZnVuY3Rpb24gR2MoZSl7ZS5sKys7cmV0dXJuIGUuX1IoMil9ZnVuY3Rpb24gamMoZSl7ZS5sKys7cmV0dXJuIGUuX1IoMSkhPT0wfWZ1bmN0aW9uIEtjKGUpe2UubCsrO3JldHVybiBadChlLDgpfWZ1bmN0aW9uICRjKGUscix0KXtlLmwrKztyZXR1cm4gcW4oZSxyLTEsdCl9ZnVuY3Rpb24gWWMoZSxyKXt2YXIgdD1bZS5fUigxKV07aWYocj09MTIpc3dpdGNoKHRbMF0pe2Nhc2UgMjp0WzBdPTQ7YnJlYWs7Y2FzZSA0OnRbMF09MTY7YnJlYWs7Y2FzZSAwOnRbMF09MTticmVhaztjYXNlIDE6dFswXT0yO2JyZWFrO31zd2l0Y2godFswXSl7Y2FzZSA0OnRbMV09am4oZSwxKT9cXFwiVFJVRVxcXCI6XFxcIkZBTFNFXFxcIjtpZihyIT0xMillLmwrPTc7YnJlYWs7Y2FzZSAzNzo7Y2FzZSAxNjp0WzFdPXhhW2VbZS5sXV07ZS5sKz1yPT0xMj80Ojg7YnJlYWs7Y2FzZSAwOmUubCs9ODticmVhaztjYXNlIDE6dFsxXT1adChlLDgpO2JyZWFrO2Nhc2UgMjp0WzFdPW5pKGUsMCx7YmlmZjpyPjAmJnI8OD8yOnJ9KTticmVhaztkZWZhdWx0OnRocm93IG5ldyBFcnJvcihcXFwiQmFkIFNlckFyOiBcXFwiK3RbMF0pO31yZXR1cm4gdH1mdW5jdGlvbiBaYyhlLHIsdCl7dmFyIGE9ZS5fUih0LmJpZmY9PTEyPzQ6Mik7dmFyIG49W107Zm9yKHZhciBpPTA7aSE9YTsrK2kpbi5wdXNoKCh0LmJpZmY9PTEyPyR0OlNpKShlLDgpKTtyZXR1cm4gbn1mdW5jdGlvbiBKYyhlLHIsdCl7dmFyIGE9MCxuPTA7aWYodC5iaWZmPT0xMil7YT1lLl9SKDQpO249ZS5fUig0KX1lbHNle249MStlLl9SKDEpO2E9MStlLl9SKDIpfWlmKHQuYmlmZj49MiYmdC5iaWZmPDgpey0tYTtpZigtLW49PTApbj0yNTZ9Zm9yKHZhciBpPTAscz1bXTtpIT1hJiYoc1tpXT1bXSk7KytpKWZvcih2YXIgZj0wO2YhPW47KytmKXNbaV1bZl09WWMoZSx0LmJpZmYpO3JldHVybiBzfWZ1bmN0aW9uIFFjKGUscix0KXt2YXIgYT1lLl9SKDEpPj4+NSYzO3ZhciBuPSF0fHx0LmJpZmY+PTg/NDoyO3ZhciBpPWUuX1Iobik7c3dpdGNoKHQuYmlmZil7Y2FzZSAyOmUubCs9NTticmVhaztjYXNlIDM6O2Nhc2UgNDplLmwrPTg7YnJlYWs7Y2FzZSA1OmUubCs9MTI7YnJlYWs7fXJldHVyblthLDAsaV19ZnVuY3Rpb24gcWMoZSxyLHQpe2lmKHQuYmlmZj09NSlyZXR1cm4gZXUoZSxyLHQpO3ZhciBhPWUuX1IoMSk+Pj41JjM7dmFyIG49ZS5fUigyKTt2YXIgaT1lLl9SKDQpO3JldHVyblthLG4saV19ZnVuY3Rpb24gZXUoZSl7dmFyIHI9ZS5fUigxKT4+PjUmMzt2YXIgdD1lLl9SKDIsXFxcImlcXFwiKTtlLmwrPTg7dmFyIGE9ZS5fUigyKTtlLmwrPTEyO3JldHVybltyLHQsYV19ZnVuY3Rpb24gcnUoZSxyLHQpe3ZhciBhPWUuX1IoMSk+Pj41JjM7ZS5sKz10JiZ0LmJpZmY9PTI/Mzo0O3ZhciBuPWUuX1IodCYmdC5iaWZmPT0yPzE6Mik7cmV0dXJuW2Esbl19ZnVuY3Rpb24gdHUoZSxyLHQpe3ZhciBhPWUuX1IoMSk+Pj41JjM7dmFyIG49ZS5fUih0JiZ0LmJpZmY9PTI/MToyKTtyZXR1cm5bYSxuXX1mdW5jdGlvbiBhdShlLHIsdCl7dmFyIGE9ZS5fUigxKT4+PjUmMztlLmwrPTQ7aWYodC5iaWZmPDgpZS5sLS07aWYodC5iaWZmPT0xMillLmwrPTI7cmV0dXJuW2FdfWZ1bmN0aW9uIG51KGUscix0KXt2YXIgYT0oZVtlLmwrK10mOTYpPj41O3ZhciBuPWUuX1IoMik7dmFyIGk9NDtpZih0KXN3aXRjaCh0LmJpZmYpe2Nhc2UgNTppPTE1O2JyZWFrO2Nhc2UgMTI6aT02O2JyZWFrO31lLmwrPWk7cmV0dXJuW2Esbl19dmFyIGl1PVpyO3ZhciBzdT1acjt2YXIgZnU9WnI7ZnVuY3Rpb24gb3UoZSxyLHQpe2UubCs9MjtyZXR1cm5bZ2MoZSw0LHQpXX1mdW5jdGlvbiBsdShlKXtlLmwrPTY7cmV0dXJuW119dmFyIGN1PW91O3ZhciB1dT1sdTt2YXIgaHU9bHU7dmFyIGR1PW91O2Z1bmN0aW9uIHZ1KGUpe2UubCs9MjtyZXR1cm5bJG4oZSksZS5fUigyKSYxXX12YXIgcHU9b3U7dmFyIG11PXZ1O3ZhciBidT1sdTt2YXIgZ3U9b3U7dmFyIHd1PW91O3ZhciBrdT1bXFxcIkRhdGFcXFwiLFxcXCJBbGxcXFwiLFxcXCJIZWFkZXJzXFxcIixcXFwiPz9cXFwiLFxcXCI/RGF0YTJcXFwiLFxcXCI/P1xcXCIsXFxcIj9EYXRhSGVhZGVyc1xcXCIsXFxcIj8/XFxcIixcXFwiVG90YWxzXFxcIixcXFwiPz9cXFwiLFxcXCI/P1xcXCIsXFxcIj8/XFxcIixcXFwiP0RhdGFUb3RhbHNcXFwiLFxcXCI/P1xcXCIsXFxcIj8/XFxcIixcXFwiPz9cXFwiLFxcXCI/Q3VycmVudFxcXCJdO2Z1bmN0aW9uIEV1KGUpe2UubCs9Mjt2YXIgcj1lLl9SKDIpO3ZhciB0PWUuX1IoMik7dmFyIGE9ZS5fUig0KTt2YXIgbj1lLl9SKDIpO3ZhciBpPWUuX1IoMik7dmFyIHM9a3VbdD4+MiYzMV07cmV0dXJue2l4dGk6cixjb2x0eXBlOnQmMyxydDpzLGlkeDphLGM6bixDOml9fWZ1bmN0aW9uIFN1KGUpe2UubCs9MjtyZXR1cm5bZS5fUig0KV19ZnVuY3Rpb24gX3UoZSxyLHQpe2UubCs9NTtlLmwrPTI7ZS5sKz10LmJpZmY9PTI/MTo0O3JldHVybltcXFwiUFRHU0hFRVRcXFwiXX1mdW5jdGlvbiBDdShlLHIsdCl7ZS5sKz10LmJpZmY9PTI/NDo1O3JldHVybltcXFwiUFRHRU5EU0hFRVRcXFwiXX1mdW5jdGlvbiBCdShlKXt2YXIgcj1lLl9SKDEpPj4+NSYzO3ZhciB0PWUuX1IoMik7cmV0dXJuW3IsdF19ZnVuY3Rpb24gVHUoZSl7dmFyIHI9ZS5fUigxKT4+PjUmMzt2YXIgdD1lLl9SKDIpO3JldHVybltyLHRdfWZ1bmN0aW9uIHl1KGUpe2UubCs9NDtyZXR1cm5bMCwwXX12YXIgeHU9ezE6e246XFxcIlB0Z0V4cFxcXCIsZjpWY30sMjp7bjpcXFwiUHRnVGJsXFxcIixmOmZ1fSwzOntuOlxcXCJQdGdBZGRcXFwiLGY6dWN9LDQ6e246XFxcIlB0Z1N1YlxcXCIsZjp1Y30sNTp7bjpcXFwiUHRnTXVsXFxcIixmOnVjfSw2OntuOlxcXCJQdGdEaXZcXFwiLGY6dWN9LDc6e246XFxcIlB0Z1Bvd2VyXFxcIixmOnVjfSw4OntuOlxcXCJQdGdDb25jYXRcXFwiLGY6dWN9LDk6e246XFxcIlB0Z0x0XFxcIixmOnVjfSwxMDp7bjpcXFwiUHRnTGVcXFwiLGY6dWN9LDExOntuOlxcXCJQdGdFcVxcXCIsZjp1Y30sMTI6e246XFxcIlB0Z0dlXFxcIixmOnVjfSwxMzp7bjpcXFwiUHRnR3RcXFwiLGY6dWN9LDE0OntuOlxcXCJQdGdOZVxcXCIsZjp1Y30sMTU6e246XFxcIlB0Z0lzZWN0XFxcIixmOnVjfSwxNjp7bjpcXFwiUHRnVW5pb25cXFwiLGY6dWN9LDE3OntuOlxcXCJQdGdSYW5nZVxcXCIsZjp1Y30sMTg6e246XFxcIlB0Z1VwbHVzXFxcIixmOnVjfSwxOTp7bjpcXFwiUHRnVW1pbnVzXFxcIixmOnVjfSwyMDp7bjpcXFwiUHRnUGVyY2VudFxcXCIsZjp1Y30sMjE6e246XFxcIlB0Z1BhcmVuXFxcIixmOnVjfSwyMjp7bjpcXFwiUHRnTWlzc0FyZ1xcXCIsZjp1Y30sMjM6e246XFxcIlB0Z1N0clxcXCIsZjokY30sMjY6e246XFxcIlB0Z1NoZWV0XFxcIixmOl91fSwyNzp7bjpcXFwiUHRnRW5kU2hlZXRcXFwiLGY6Q3V9LDI4OntuOlxcXCJQdGdFcnJcXFwiLGY6WGN9LDI5OntuOlxcXCJQdGdCb29sXFxcIixmOmpjfSwzMDp7bjpcXFwiUHRnSW50XFxcIixmOkdjfSwzMTp7bjpcXFwiUHRnTnVtXFxcIixmOktjfSwzMjp7bjpcXFwiUHRnQXJyYXlcXFwiLGY6VGN9LDMzOntuOlxcXCJQdGdGdW5jXFxcIixmOlVjfSwzNDp7bjpcXFwiUHRnRnVuY1ZhclxcXCIsZjp6Y30sMzU6e246XFxcIlB0Z05hbWVcXFwiLGY6UWN9LDM2OntuOlxcXCJQdGdSZWZcXFwiLGY6TmN9LDM3OntuOlxcXCJQdGdBcmVhXFxcIixmOkVjfSwzODp7bjpcXFwiUHRnTWVtQXJlYVxcXCIsZjpydX0sMzk6e246XFxcIlB0Z01lbUVyclxcXCIsZjppdX0sNDA6e246XFxcIlB0Z01lbU5vTWVtXFxcIixmOnN1fSw0MTp7bjpcXFwiUHRnTWVtRnVuY1xcXCIsZjp0dX0sNDI6e246XFxcIlB0Z1JlZkVyclxcXCIsZjphdX0sNDM6e246XFxcIlB0Z0FyZWFFcnJcXFwiLGY6X2N9LDQ0OntuOlxcXCJQdGdSZWZOXFxcIixmOkxjfSw0NTp7bjpcXFwiUHRnQXJlYU5cXFwiLGY6QmN9LDQ2OntuOlxcXCJQdGdNZW1BcmVhTlxcXCIsZjpCdX0sNDc6e246XFxcIlB0Z01lbU5vTWVtTlxcXCIsZjpUdX0sNTc6e246XFxcIlB0Z05hbWVYXFxcIixmOnFjfSw1ODp7bjpcXFwiUHRnUmVmM2RcXFwiLGY6TWN9LDU5OntuOlxcXCJQdGdBcmVhM2RcXFwiLGY6U2N9LDYwOntuOlxcXCJQdGdSZWZFcnIzZFxcXCIsZjpudX0sNjE6e246XFxcIlB0Z0FyZWFFcnIzZFxcXCIsZjpDY30sMjU1Ont9fTt2YXIgQXU9ezY0OjMyLDk2OjMyLDY1OjMzLDk3OjMzLDY2OjM0LDk4OjM0LDY3OjM1LDk5OjM1LDY4OjM2LDEwMDozNiw2OTozNywxMDE6MzcsNzA6MzgsMTAyOjM4LDcxOjM5LDEwMzozOSw3Mjo0MCwxMDQ6NDAsNzM6NDEsMTA1OjQxLDc0OjQyLDEwNjo0Miw3NTo0MywxMDc6NDMsNzY6NDQsMTA4OjQ0LDc3OjQ1LDEwOTo0NSw3ODo0NiwxMTA6NDYsNzk6NDcsMTExOjQ3LDg4OjM0LDEyMDozNCw4OTo1NywxMjE6NTcsOTA6NTgsMTIyOjU4LDkxOjU5LDEyMzo1OSw5Mjo2MCwxMjQ6NjAsOTM6NjEsMTI1OjYxfTsoZnVuY3Rpb24oKXtmb3IodmFyIGUgaW4gQXUpeHVbZV09eHVbQXVbZV1dfSkoKTt2YXIgSXU9ezE6e246XFxcIlB0Z0VsZkxlbFxcXCIsZjp2dX0sMjp7bjpcXFwiUHRnRWxmUndcXFwiLGY6Z3V9LDM6e246XFxcIlB0Z0VsZkNvbFxcXCIsZjpjdX0sNjp7bjpcXFwiUHRnRWxmUndWXFxcIixmOnd1fSw3OntuOlxcXCJQdGdFbGZDb2xWXFxcIixmOmR1fSwxMDp7bjpcXFwiUHRnRWxmUmFkaWNhbFxcXCIsZjpwdX0sMTE6e246XFxcIlB0Z0VsZlJhZGljYWxTXFxcIixmOmJ1fSwxMzp7bjpcXFwiUHRnRWxmQ29sU1xcXCIsZjp1dX0sMTU6e246XFxcIlB0Z0VsZkNvbFNWXFxcIixmOmh1fSwxNjp7bjpcXFwiUHRnRWxmUmFkaWNhbExlbFxcXCIsZjptdX0sMjU6e246XFxcIlB0Z0xpc3RcXFwiLGY6RXV9LDI5OntuOlxcXCJQdGdTeE5hbWVcXFwiLGY6U3V9LDI1NTp7fX07dmFyIFJ1PXswOntuOlxcXCJQdGdBdHRyTm9vcFxcXCIsZjp5dX0sMTp7bjpcXFwiUHRnQXR0clNlbWlcXFwiLGY6T2N9LDI6e246XFxcIlB0Z0F0dHJJZlxcXCIsZjpJY30sNDp7bjpcXFwiUHRnQXR0ckNob29zZVxcXCIsZjp4Y30sODp7bjpcXFwiUHRnQXR0ckdvdG9cXFwiLGY6QWN9LDE2OntuOlxcXCJQdGdBdHRyU3VtXFxcIixmOldjfSwzMjp7bjpcXFwiUHRnQXR0ckJheGNlbFxcXCIsZjp5Y30sNjQ6e246XFxcIlB0Z0F0dHJTcGFjZVxcXCIsZjpGY30sNjU6e246XFxcIlB0Z0F0dHJTcGFjZVNlbWlcXFwiLGY6UGN9LDEyODp7bjpcXFwiUHRnQXR0cklmRXJyb3JcXFwiLGY6UmN9LDI1NTp7fX07UnVbMzNdPVJ1WzMyXTtmdW5jdGlvbiBPdShlLHIsdCxhKXtpZihhLmJpZmY8OClyZXR1cm4gWnIoZSxyKTt2YXIgbj1lLmwrcjt2YXIgaT1bXTtmb3IodmFyIHM9MDtzIT09dC5sZW5ndGg7KytzKXtzd2l0Y2godFtzXVswXSl7Y2FzZVxcXCJQdGdBcnJheVxcXCI6dFtzXVsxXT1KYyhlLDAsYSk7aS5wdXNoKHRbc11bMV0pO2JyZWFrO2Nhc2VcXFwiUHRnTWVtQXJlYVxcXCI6dFtzXVsyXT1aYyhlLHRbc11bMV0sYSk7aS5wdXNoKHRbc11bMl0pO2JyZWFrO2Nhc2VcXFwiUHRnRXhwXFxcIjppZihhJiZhLmJpZmY9PTEyKXt0W3NdWzFdWzFdPWUuX1IoNCk7aS5wdXNoKHRbc11bMV0pfWJyZWFrO2Nhc2VcXFwiUHRnTGlzdFxcXCI6O2Nhc2VcXFwiUHRnRWxmUmFkaWNhbFNcXFwiOjtjYXNlXFxcIlB0Z0VsZkNvbFNcXFwiOjtjYXNlXFxcIlB0Z0VsZkNvbFNWXFxcIjp0aHJvd1xcXCJVbnN1cHBvcnRlZCBcXFwiK3Rbc11bMF07ZGVmYXVsdDpicmVhazt9fXI9bi1lLmw7aWYociE9PTApaS5wdXNoKFpyKGUscikpO3JldHVybiBpfWZ1bmN0aW9uIER1KGUscix0KXt2YXIgYT1lLmwrcjt2YXIgbixpLHM9W107d2hpbGUoYSE9ZS5sKXtyPWEtZS5sO2k9ZVtlLmxdO249eHVbaV07aWYoaT09PTI0fHxpPT09MjUpbj0oaT09PTI0P0l1OlJ1KVtlW2UubCsxXV07aWYoIW58fCFuLmYpe1pyKGUscil9ZWxzZXtzLnB1c2goW24ubixuLmYoZSxyLHQpXSl9fXJldHVybiBzfWZ1bmN0aW9uIEZ1KGUpe3ZhciByPVtdO2Zvcih2YXIgdD0wO3Q8ZS5sZW5ndGg7Kyt0KXt2YXIgYT1lW3RdLG49W107Zm9yKHZhciBpPTA7aTxhLmxlbmd0aDsrK2kpe3ZhciBzPWFbaV07aWYocylzd2l0Y2goc1swXSl7Y2FzZSAyOm4ucHVzaCgnXFxcIicrc1sxXS5yZXBsYWNlKC9cXFwiL2csJ1xcXCJcXFwiJykrJ1xcXCInKTticmVhaztkZWZhdWx0Om4ucHVzaChzWzFdKTt9ZWxzZSBuLnB1c2goXFxcIlxcXCIpfXIucHVzaChuLmpvaW4oXFxcIixcXFwiKSl9cmV0dXJuIHIuam9pbihcXFwiO1xcXCIpfXZhciBQdT17UHRnQWRkOlxcXCIrXFxcIixQdGdDb25jYXQ6XFxcIiZcXFwiLFB0Z0RpdjpcXFwiL1xcXCIsUHRnRXE6XFxcIj1cXFwiLFB0Z0dlOlxcXCI+PVxcXCIsUHRnR3Q6XFxcIj5cXFwiLFB0Z0xlOlxcXCI8PVxcXCIsUHRnTHQ6XFxcIjxcXFwiLFB0Z011bDpcXFwiKlxcXCIsUHRnTmU6XFxcIjw+XFxcIixQdGdQb3dlcjpcXFwiXlxcXCIsUHRnU3ViOlxcXCItXFxcIn07dmFyIE51PW5ldyBSZWdFeHAoL1teXFxcXHdcXFxcdTRFMDAtXFxcXHU5RkZGXFxcXHUzMDQwLVxcXFx1MzBGRl0vKTtmdW5jdGlvbiBMdShlLHIpe2lmKCFlJiYhKHImJnIuYmlmZjw9NSYmci5iaWZmPj0yKSl0aHJvdyBuZXcgRXJyb3IoXFxcImVtcHR5IHNoZWV0IG5hbWVcXFwiKTtpZihOdS50ZXN0KGUpKXJldHVyblxcXCInXFxcIitlK1xcXCInXFxcIjtyZXR1cm4gZX1mdW5jdGlvbiBNdShlLHIsdCl7aWYoIWUpcmV0dXJuXFxcIlNIMzNUSlNFUlIwXFxcIjtpZih0LmJpZmY+OCYmKCFlLlhUSXx8IWUuWFRJW3JdKSlyZXR1cm4gZS5TaGVldE5hbWVzW3JdO2lmKCFlLlhUSSlyZXR1cm5cXFwiU0gzM1RKU0VSUjZcXFwiO3ZhciBhPWUuWFRJW3JdO2lmKHQuYmlmZjw4KXtpZihyPjFlNClyLT02NTUzNjtpZihyPDApcj0tcjtyZXR1cm4gcj09MD9cXFwiXFxcIjplLlhUSVtyLTFdfWlmKCFhKXJldHVyblxcXCJTSDMzVEpTRVJSMVxcXCI7dmFyIG49XFxcIlxcXCI7aWYodC5iaWZmPjgpc3dpdGNoKGVbYVswXV1bMF0pe2Nhc2UgMzU3Om49YVsxXT09LTE/XFxcIiNSRUZcXFwiOmUuU2hlZXROYW1lc1thWzFdXTtyZXR1cm4gYVsxXT09YVsyXT9uOm4rXFxcIjpcXFwiK2UuU2hlZXROYW1lc1thWzJdXTtjYXNlIDM1ODppZih0LlNJRCE9bnVsbClyZXR1cm4gZS5TaGVldE5hbWVzW3QuU0lEXTtyZXR1cm5cXFwiU0gzM1RKU1NBTUVcXFwiK2VbYVswXV1bMF07Y2FzZSAzNTU6O2RlZmF1bHQ6cmV0dXJuXFxcIlNIMzNUSlNTUkNcXFwiK2VbYVswXV1bMF07fXN3aXRjaChlW2FbMF1dWzBdWzBdKXtjYXNlIDEwMjU6bj1hWzFdPT0tMT9cXFwiI1JFRlxcXCI6ZS5TaGVldE5hbWVzW2FbMV1dfHxcXFwiU0gzM1RKU0VSUjNcXFwiO3JldHVybiBhWzFdPT1hWzJdP246bitcXFwiOlxcXCIrZS5TaGVldE5hbWVzW2FbMl1dO2Nhc2UgMTQ4NDk6cmV0dXJuIGVbYVswXV0uc2xpY2UoMSkubWFwKGZ1bmN0aW9uKGUpe3JldHVybiBlLk5hbWV9KS5qb2luKFxcXCI7O1xcXCIpO2RlZmF1bHQ6aWYoIWVbYVswXV1bMF1bM10pcmV0dXJuXFxcIlNIMzNUSlNFUlIyXFxcIjtuPWFbMV09PS0xP1xcXCIjUkVGXFxcIjplW2FbMF1dWzBdWzNdW2FbMV1dfHxcXFwiU0gzM1RKU0VSUjRcXFwiO3JldHVybiBhWzFdPT1hWzJdP246bitcXFwiOlxcXCIrZVthWzBdXVswXVszXVthWzJdXTt9fWZ1bmN0aW9uIFV1KGUscix0KXtyZXR1cm4gTHUoTXUoZSxyLHQpLHQpfWZ1bmN0aW9uIHp1KGUscix0LGEsbil7dmFyIGk9biYmbi5iaWZmfHw4O3ZhciBzPXtzOntjOjAscjowfSxlOntjOjAscjowfX07dmFyIGY9W10sbyxsLGMsdT0wLGg9MCxkLHY9XFxcIlxcXCI7aWYoIWVbMF18fCFlWzBdWzBdKXJldHVyblxcXCJcXFwiO3ZhciBwPS0xLG09XFxcIlxcXCI7Zm9yKHZhciBiPTAsZz1lWzBdLmxlbmd0aDtiPGc7KytiKXt2YXIgdz1lWzBdW2JdO3N3aXRjaCh3WzBdKXtjYXNlXFxcIlB0Z1VtaW51c1xcXCI6Zi5wdXNoKFxcXCItXFxcIitmLnBvcCgpKTticmVhaztjYXNlXFxcIlB0Z1VwbHVzXFxcIjpmLnB1c2goXFxcIitcXFwiK2YucG9wKCkpO2JyZWFrO2Nhc2VcXFwiUHRnUGVyY2VudFxcXCI6Zi5wdXNoKGYucG9wKCkrXFxcIiVcXFwiKTticmVhaztjYXNlXFxcIlB0Z0FkZFxcXCI6O2Nhc2VcXFwiUHRnQ29uY2F0XFxcIjo7Y2FzZVxcXCJQdGdEaXZcXFwiOjtjYXNlXFxcIlB0Z0VxXFxcIjo7Y2FzZVxcXCJQdGdHZVxcXCI6O2Nhc2VcXFwiUHRnR3RcXFwiOjtjYXNlXFxcIlB0Z0xlXFxcIjo7Y2FzZVxcXCJQdGdMdFxcXCI6O2Nhc2VcXFwiUHRnTXVsXFxcIjo7Y2FzZVxcXCJQdGdOZVxcXCI6O2Nhc2VcXFwiUHRnUG93ZXJcXFwiOjtjYXNlXFxcIlB0Z1N1YlxcXCI6bz1mLnBvcCgpO2w9Zi5wb3AoKTtpZihwPj0wKXtzd2l0Y2goZVswXVtwXVsxXVswXSl7Y2FzZSAwOm09dWUoXFxcIiBcXFwiLGVbMF1bcF1bMV1bMV0pO2JyZWFrO2Nhc2UgMTptPXVlKFxcXCJcXFxcclxcXCIsZVswXVtwXVsxXVsxXSk7YnJlYWs7ZGVmYXVsdDptPVxcXCJcXFwiO2lmKG4uV1RGKXRocm93IG5ldyBFcnJvcihcXFwiVW5leHBlY3RlZCBQdGdBdHRyU3BhY2VUeXBlIFxcXCIrZVswXVtwXVsxXVswXSk7fWw9bCttO3A9LTF9Zi5wdXNoKGwrUHVbd1swXV0rbyk7YnJlYWs7Y2FzZVxcXCJQdGdJc2VjdFxcXCI6bz1mLnBvcCgpO2w9Zi5wb3AoKTtmLnB1c2gobCtcXFwiIFxcXCIrbyk7YnJlYWs7Y2FzZVxcXCJQdGdVbmlvblxcXCI6bz1mLnBvcCgpO2w9Zi5wb3AoKTtmLnB1c2gobCtcXFwiLFxcXCIrbyk7YnJlYWs7Y2FzZVxcXCJQdGdSYW5nZVxcXCI6bz1mLnBvcCgpO2w9Zi5wb3AoKTtmLnB1c2gobCtcXFwiOlxcXCIrbyk7YnJlYWs7Y2FzZVxcXCJQdGdBdHRyQ2hvb3NlXFxcIjpicmVhaztjYXNlXFxcIlB0Z0F0dHJHb3RvXFxcIjpicmVhaztjYXNlXFxcIlB0Z0F0dHJJZlxcXCI6YnJlYWs7Y2FzZVxcXCJQdGdBdHRySWZFcnJvclxcXCI6YnJlYWs7Y2FzZVxcXCJQdGdSZWZcXFwiOmM9cnQod1sxXVsxXSxzLG4pO2YucHVzaChhdChjLGkpKTticmVhaztjYXNlXFxcIlB0Z1JlZk5cXFwiOmM9dD9ydCh3WzFdWzFdLHQsbik6d1sxXVsxXTtmLnB1c2goYXQoYyxpKSk7YnJlYWs7Y2FzZVxcXCJQdGdSZWYzZFxcXCI6dT13WzFdWzFdO2M9cnQod1sxXVsyXSxzLG4pO3Y9VXUoYSx1LG4pO3ZhciBrPXY7Zi5wdXNoKHYrXFxcIiFcXFwiK2F0KGMsaSkpO2JyZWFrO2Nhc2VcXFwiUHRnRnVuY1xcXCI6O2Nhc2VcXFwiUHRnRnVuY1ZhclxcXCI6dmFyIEU9d1sxXVswXSxTPXdbMV1bMV07aWYoIUUpRT0wO0UmPTEyNzt2YXIgXz1FPT0wP1tdOmYuc2xpY2UoLUUpO2YubGVuZ3RoLT1FO2lmKFM9PT1cXFwiVXNlclxcXCIpUz1fLnNoaWZ0KCk7Zi5wdXNoKFMrXFxcIihcXFwiK18uam9pbihcXFwiLFxcXCIpK1xcXCIpXFxcIik7YnJlYWs7Y2FzZVxcXCJQdGdCb29sXFxcIjpmLnB1c2god1sxXT9cXFwiVFJVRVxcXCI6XFxcIkZBTFNFXFxcIik7YnJlYWs7Y2FzZVxcXCJQdGdJbnRcXFwiOmYucHVzaCh3WzFdKTticmVhaztjYXNlXFxcIlB0Z051bVxcXCI6Zi5wdXNoKFN0cmluZyh3WzFdKSk7YnJlYWs7Y2FzZVxcXCJQdGdTdHJcXFwiOmYucHVzaCgnXFxcIicrd1sxXS5yZXBsYWNlKC9cXFwiL2csJ1xcXCJcXFwiJykrJ1xcXCInKTticmVhaztjYXNlXFxcIlB0Z0VyclxcXCI6Zi5wdXNoKHdbMV0pO2JyZWFrO2Nhc2VcXFwiUHRnQXJlYU5cXFwiOmQ9dHQod1sxXVsxXSx0P3tzOnR9OnMsbik7Zi5wdXNoKG50KGQsbikpO2JyZWFrO2Nhc2VcXFwiUHRnQXJlYVxcXCI6ZD10dCh3WzFdWzFdLHMsbik7Zi5wdXNoKG50KGQsbikpO2JyZWFrO2Nhc2VcXFwiUHRnQXJlYTNkXFxcIjp1PXdbMV1bMV07ZD13WzFdWzJdO3Y9VXUoYSx1LG4pO2YucHVzaCh2K1xcXCIhXFxcIitudChkLG4pKTticmVhaztjYXNlXFxcIlB0Z0F0dHJTdW1cXFwiOmYucHVzaChcXFwiU1VNKFxcXCIrZi5wb3AoKStcXFwiKVxcXCIpO2JyZWFrO2Nhc2VcXFwiUHRnQXR0ckJheGNlbFxcXCI6O2Nhc2VcXFwiUHRnQXR0clNlbWlcXFwiOmJyZWFrO2Nhc2VcXFwiUHRnTmFtZVxcXCI6aD13WzFdWzJdO3ZhciBDPShhLm5hbWVzfHxbXSlbaC0xXXx8KGFbMF18fFtdKVtoXTt2YXIgQj1DP0MuTmFtZTpcXFwiU0gzM1RKU05BTUVcXFwiK1N0cmluZyhoKTtpZihCIGluIGFoKUI9YWhbQl07Zi5wdXNoKEIpO2JyZWFrO2Nhc2VcXFwiUHRnTmFtZVhcXFwiOnZhciBUPXdbMV1bMV07aD13WzFdWzJdO3ZhciB5O2lmKG4uYmlmZjw9NSl7aWYoVDwwKVQ9LVQ7aWYoYVtUXSl5PWFbVF1baF19ZWxzZXt2YXIgeD1cXFwiXFxcIjtpZigoKGFbVF18fFtdKVswXXx8W10pWzBdPT0xNDg0OSl7fWVsc2UgaWYoKChhW1RdfHxbXSlbMF18fFtdKVswXT09MTAyNSl7aWYoYVtUXVtoXSYmYVtUXVtoXS5pdGFiPjApe3g9YS5TaGVldE5hbWVzW2FbVF1baF0uaXRhYi0xXStcXFwiIVxcXCJ9fWVsc2UgeD1hLlNoZWV0TmFtZXNbaC0xXStcXFwiIVxcXCI7aWYoYVtUXSYmYVtUXVtoXSl4Kz1hW1RdW2hdLk5hbWU7ZWxzZSBpZihhWzBdJiZhWzBdW2hdKXgrPWFbMF1baF0uTmFtZTtlbHNle3ZhciBBPU11KGEsVCxuKS5zcGxpdChcXFwiOztcXFwiKTtpZihBW2gtMV0peD1BW2gtMV07ZWxzZSB4Kz1cXFwiU0gzM1RKU0VSUlhcXFwifWYucHVzaCh4KTticmVha31pZigheSl5PXtOYW1lOlxcXCJTSDMzVEpTRVJSWVxcXCJ9O2YucHVzaCh5Lk5hbWUpO2JyZWFrO2Nhc2VcXFwiUHRnUGFyZW5cXFwiOnZhciBJPVxcXCIoXFxcIixSPVxcXCIpXFxcIjtpZihwPj0wKXttPVxcXCJcXFwiO3N3aXRjaChlWzBdW3BdWzFdWzBdKXtjYXNlIDI6ST11ZShcXFwiIFxcXCIsZVswXVtwXVsxXVsxXSkrSTticmVhaztjYXNlIDM6ST11ZShcXFwiXFxcXHJcXFwiLGVbMF1bcF1bMV1bMV0pK0k7YnJlYWs7Y2FzZSA0OlI9dWUoXFxcIiBcXFwiLGVbMF1bcF1bMV1bMV0pK1I7YnJlYWs7Y2FzZSA1OlI9dWUoXFxcIlxcXFxyXFxcIixlWzBdW3BdWzFdWzFdKStSO2JyZWFrO2RlZmF1bHQ6aWYobi5XVEYpdGhyb3cgbmV3IEVycm9yKFxcXCJVbmV4cGVjdGVkIFB0Z0F0dHJTcGFjZVR5cGUgXFxcIitlWzBdW3BdWzFdWzBdKTt9cD0tMX1mLnB1c2goSStmLnBvcCgpK1IpO2JyZWFrO2Nhc2VcXFwiUHRnUmVmRXJyXFxcIjpmLnB1c2goXFxcIiNSRUYhXFxcIik7YnJlYWs7Y2FzZVxcXCJQdGdSZWZFcnIzZFxcXCI6Zi5wdXNoKFxcXCIjUkVGIVxcXCIpO2JyZWFrO2Nhc2VcXFwiUHRnRXhwXFxcIjpjPXtjOndbMV1bMV0scjp3WzFdWzBdfTt2YXIgTz17Yzp0LmMscjp0LnJ9O2lmKGEuc2hhcmVkZltidChjKV0pe3ZhciBEPWEuc2hhcmVkZltidChjKV07Zi5wdXNoKHp1KEQscyxPLGEsbikpfWVsc2V7dmFyIEY9ZmFsc2U7Zm9yKG89MDtvIT1hLmFycmF5Zi5sZW5ndGg7KytvKXtsPWEuYXJyYXlmW29dO2lmKGMuYzxsWzBdLnMuY3x8Yy5jPmxbMF0uZS5jKWNvbnRpbnVlO2lmKGMucjxsWzBdLnMucnx8Yy5yPmxbMF0uZS5yKWNvbnRpbnVlO2YucHVzaCh6dShsWzFdLHMsTyxhLG4pKTtGPXRydWU7YnJlYWt9aWYoIUYpZi5wdXNoKHdbMV0pfWJyZWFrO2Nhc2VcXFwiUHRnQXJyYXlcXFwiOmYucHVzaChcXFwie1xcXCIrRnUod1sxXSkrXFxcIn1cXFwiKTticmVhaztjYXNlXFxcIlB0Z01lbUFyZWFcXFwiOmJyZWFrO2Nhc2VcXFwiUHRnQXR0clNwYWNlXFxcIjo7Y2FzZVxcXCJQdGdBdHRyU3BhY2VTZW1pXFxcIjpwPWI7YnJlYWs7Y2FzZVxcXCJQdGdUYmxcXFwiOmJyZWFrO2Nhc2VcXFwiUHRnTWVtRXJyXFxcIjpicmVhaztjYXNlXFxcIlB0Z01pc3NBcmdcXFwiOmYucHVzaChcXFwiXFxcIik7YnJlYWs7Y2FzZVxcXCJQdGdBcmVhRXJyXFxcIjpmLnB1c2goXFxcIiNSRUYhXFxcIik7YnJlYWs7Y2FzZVxcXCJQdGdBcmVhRXJyM2RcXFwiOmYucHVzaChcXFwiI1JFRiFcXFwiKTticmVhaztjYXNlXFxcIlB0Z0xpc3RcXFwiOmYucHVzaChcXFwiVGFibGVcXFwiK3dbMV0uaWR4K1xcXCJbI1xcXCIrd1sxXS5ydCtcXFwiXVxcXCIpO2JyZWFrO2Nhc2VcXFwiUHRnTWVtQXJlYU5cXFwiOjtjYXNlXFxcIlB0Z01lbU5vTWVtTlxcXCI6O2Nhc2VcXFwiUHRnQXR0ck5vb3BcXFwiOjtjYXNlXFxcIlB0Z1NoZWV0XFxcIjo7Y2FzZVxcXCJQdGdFbmRTaGVldFxcXCI6YnJlYWs7Y2FzZVxcXCJQdGdNZW1GdW5jXFxcIjpicmVhaztjYXNlXFxcIlB0Z01lbU5vTWVtXFxcIjpicmVhaztjYXNlXFxcIlB0Z0VsZkNvbFxcXCI6O2Nhc2VcXFwiUHRnRWxmQ29sU1xcXCI6O2Nhc2VcXFwiUHRnRWxmQ29sU1ZcXFwiOjtjYXNlXFxcIlB0Z0VsZkNvbFZcXFwiOjtjYXNlXFxcIlB0Z0VsZkxlbFxcXCI6O2Nhc2VcXFwiUHRnRWxmUmFkaWNhbFxcXCI6O2Nhc2VcXFwiUHRnRWxmUmFkaWNhbExlbFxcXCI6O2Nhc2VcXFwiUHRnRWxmUmFkaWNhbFNcXFwiOjtjYXNlXFxcIlB0Z0VsZlJ3XFxcIjo7Y2FzZVxcXCJQdGdFbGZSd1ZcXFwiOnRocm93IG5ldyBFcnJvcihcXFwiVW5zdXBwb3J0ZWQgRUxGc1xcXCIpO2Nhc2VcXFwiUHRnU3hOYW1lXFxcIjp0aHJvdyBuZXcgRXJyb3IoXFxcIlVucmVjb2duaXplZCBGb3JtdWxhIFRva2VuOiBcXFwiK1N0cmluZyh3KSk7ZGVmYXVsdDp0aHJvdyBuZXcgRXJyb3IoXFxcIlVucmVjb2duaXplZCBGb3JtdWxhIFRva2VuOiBcXFwiK1N0cmluZyh3KSk7fXZhciBQPVtcXFwiUHRnQXR0clNwYWNlXFxcIixcXFwiUHRnQXR0clNwYWNlU2VtaVxcXCIsXFxcIlB0Z0F0dHJHb3RvXFxcIl07aWYobi5iaWZmIT0zKWlmKHA+PTAmJlAuaW5kZXhPZihlWzBdW2JdWzBdKT09LTEpe3c9ZVswXVtwXTt2YXIgTj10cnVlO3N3aXRjaCh3WzFdWzBdKXtjYXNlIDQ6Tj1mYWxzZTtjYXNlIDA6bT11ZShcXFwiIFxcXCIsd1sxXVsxXSk7YnJlYWs7Y2FzZSA1Ok49ZmFsc2U7Y2FzZSAxOm09dWUoXFxcIlxcXFxyXFxcIix3WzFdWzFdKTticmVhaztkZWZhdWx0Om09XFxcIlxcXCI7aWYobi5XVEYpdGhyb3cgbmV3IEVycm9yKFxcXCJVbmV4cGVjdGVkIFB0Z0F0dHJTcGFjZVR5cGUgXFxcIit3WzFdWzBdKTt9Zi5wdXNoKChOP206XFxcIlxcXCIpK2YucG9wKCkrKE4/XFxcIlxcXCI6bSkpO3A9LTF9fWlmKGYubGVuZ3RoPjEmJm4uV1RGKXRocm93IG5ldyBFcnJvcihcXFwiYmFkIGZvcm11bGEgc3RhY2tcXFwiKTtyZXR1cm4gZlswXX1mdW5jdGlvbiBIdShlLHIsdCl7dmFyIGE9ZS5sK3Isbj10LmJpZmY9PTI/MToyO3ZhciBpLHM9ZS5fUihuKTtpZihzPT02NTUzNSlyZXR1cm5bW10sWnIoZSxyLTIpXTt2YXIgZj1EdShlLHMsdCk7aWYociE9PXMrbilpPU91KGUsci1zLW4sZix0KTtlLmw9YTtyZXR1cm5bZixpXX1mdW5jdGlvbiBXdShlLHIsdCl7dmFyIGE9ZS5sK3Isbj10LmJpZmY9PTI/MToyO3ZhciBpLHM9ZS5fUihuKTtpZihzPT02NTUzNSlyZXR1cm5bW10sWnIoZSxyLTIpXTt2YXIgZj1EdShlLHMsdCk7aWYociE9PXMrbilpPU91KGUsci1zLW4sZix0KTtlLmw9YTtyZXR1cm5bZixpXX1mdW5jdGlvbiBWdShlLHIsdCxhKXt2YXIgbj1lLmwrcjt2YXIgaT1EdShlLGEsdCk7dmFyIHM7aWYobiE9PWUubClzPU91KGUsbi1lLmwsaSx0KTtyZXR1cm5baSxzXX1mdW5jdGlvbiBYdShlLHIsdCl7dmFyIGE9ZS5sK3I7dmFyIG4saT1lLl9SKDIpO3ZhciBzPUR1KGUsaSx0KTtpZihpPT02NTUzNSlyZXR1cm5bW10sWnIoZSxyLTIpXTtpZihyIT09aSsyKW49T3UoZSxhLWktMixzLHQpO3JldHVybltzLG5dfWZ1bmN0aW9uIEd1KGUpe3ZhciByO2lmKE1yKGUsZS5sKzYpIT09NjU1MzUpcmV0dXJuW1p0KGUpLFxcXCJuXFxcIl07c3dpdGNoKGVbZS5sXSl7Y2FzZSAwOmUubCs9ODtyZXR1cm5bXFxcIlN0cmluZ1xcXCIsXFxcInNcXFwiXTtjYXNlIDE6cj1lW2UubCsyXT09PTE7ZS5sKz04O3JldHVybltyLFxcXCJiXFxcIl07Y2FzZSAyOnI9ZVtlLmwrMl07ZS5sKz04O3JldHVybltyLFxcXCJlXFxcIl07Y2FzZSAzOmUubCs9ODtyZXR1cm5bXFxcIlxcXCIsXFxcInNcXFwiXTt9cmV0dXJuW119ZnVuY3Rpb24ganUoZSl7aWYoZT09bnVsbCl7dmFyIHI9SnIoOCk7ci5fVygxLDMpO3IuX1coMSwwKTtyLl9XKDIsMCk7ci5fVygyLDApO3IuX1coMiw2NTUzNSk7cmV0dXJuIHJ9ZWxzZSBpZih0eXBlb2YgZT09XFxcIm51bWJlclxcXCIpcmV0dXJuIEp0KGUpO3JldHVybiBKdCgwKX1mdW5jdGlvbiBLdShlLHIsdCl7dmFyIGE9ZS5sK3I7dmFyIG49cGkoZSw2KTtpZih0LmJpZmY9PTIpKytlLmw7dmFyIGk9R3UoZSw4KTt2YXIgcz1lLl9SKDEpO2lmKHQuYmlmZiE9Mil7ZS5fUigxKTtpZih0LmJpZmY+PTUpe2UuX1IoNCl9fXZhciBmPVd1KGUsYS1lLmwsdCk7cmV0dXJue2NlbGw6bix2YWw6aVswXSxmb3JtdWxhOmYsc2hhcmVkOnM+PjMmMSx0dDppWzFdfX1mdW5jdGlvbiAkdShlLHIsdCxhLG4pe3ZhciBpPW1pKHIsdCxuKTt2YXIgcz1qdShlLnYpO3ZhciBmPUpyKDYpO3ZhciBvPTF8MzI7Zi5fVygyLG8pO2YuX1coNCwwKTt2YXIgbD1KcihlLmJmLmxlbmd0aCk7Zm9yKHZhciBjPTA7YzxlLmJmLmxlbmd0aDsrK2MpbFtjXT1lLmJmW2NdO3ZhciB1PUkoW2kscyxmLGxdKTtyZXR1cm4gdX1mdW5jdGlvbiBZdShlLHIsdCl7dmFyIGE9ZS5fUig0KTt2YXIgbj1EdShlLGEsdCk7dmFyIGk9ZS5fUig0KTt2YXIgcz1pPjA/T3UoZSxpLG4sdCk6bnVsbDtyZXR1cm5bbixzXX12YXIgWnU9WXU7dmFyIEp1PVl1O3ZhciBRdT1ZdTt2YXIgcXU9WXU7dmFyIGVoPXswOlxcXCJCRUVQXFxcIiwxOlxcXCJPUEVOXFxcIiwyOlxcXCJPUEVOLkxJTktTXFxcIiwzOlxcXCJDTE9TRS5BTExcXFwiLDQ6XFxcIlNBVkVcXFwiLDU6XFxcIlNBVkUuQVNcXFwiLDY6XFxcIkZJTEUuREVMRVRFXFxcIiw3OlxcXCJQQUdFLlNFVFVQXFxcIiw4OlxcXCJQUklOVFxcXCIsOTpcXFwiUFJJTlRFUi5TRVRVUFxcXCIsMTA6XFxcIlFVSVRcXFwiLDExOlxcXCJORVcuV0lORE9XXFxcIiwxMjpcXFwiQVJSQU5HRS5BTExcXFwiLDEzOlxcXCJXSU5ET1cuU0laRVxcXCIsMTQ6XFxcIldJTkRPVy5NT1ZFXFxcIiwxNTpcXFwiRlVMTFxcXCIsMTY6XFxcIkNMT1NFXFxcIiwxNzpcXFwiUlVOXFxcIiwyMjpcXFwiU0VULlBSSU5ULkFSRUFcXFwiLDIzOlxcXCJTRVQuUFJJTlQuVElUTEVTXFxcIiwyNDpcXFwiU0VULlBBR0UuQlJFQUtcXFwiLDI1OlxcXCJSRU1PVkUuUEFHRS5CUkVBS1xcXCIsMjY6XFxcIkZPTlRcXFwiLDI3OlxcXCJESVNQTEFZXFxcIiwyODpcXFwiUFJPVEVDVC5ET0NVTUVOVFxcXCIsMjk6XFxcIlBSRUNJU0lPTlxcXCIsMzA6XFxcIkExLlIxQzFcXFwiLDMxOlxcXCJDQUxDVUxBVEUuTk9XXFxcIiwzMjpcXFwiQ0FMQ1VMQVRJT05cXFwiLDM0OlxcXCJEQVRBLkZJTkRcXFwiLDM1OlxcXCJFWFRSQUNUXFxcIiwzNjpcXFwiREFUQS5ERUxFVEVcXFwiLDM3OlxcXCJTRVQuREFUQUJBU0VcXFwiLDM4OlxcXCJTRVQuQ1JJVEVSSUFcXFwiLDM5OlxcXCJTT1JUXFxcIiw0MDpcXFwiREFUQS5TRVJJRVNcXFwiLDQxOlxcXCJUQUJMRVxcXCIsNDI6XFxcIkZPUk1BVC5OVU1CRVJcXFwiLDQzOlxcXCJBTElHTk1FTlRcXFwiLDQ0OlxcXCJTVFlMRVxcXCIsNDU6XFxcIkJPUkRFUlxcXCIsNDY6XFxcIkNFTEwuUFJPVEVDVElPTlxcXCIsNDc6XFxcIkNPTFVNTi5XSURUSFxcXCIsNDg6XFxcIlVORE9cXFwiLDQ5OlxcXCJDVVRcXFwiLDUwOlxcXCJDT1BZXFxcIiw1MTpcXFwiUEFTVEVcXFwiLDUyOlxcXCJDTEVBUlxcXCIsNTM6XFxcIlBBU1RFLlNQRUNJQUxcXFwiLDU0OlxcXCJFRElULkRFTEVURVxcXCIsNTU6XFxcIklOU0VSVFxcXCIsNTY6XFxcIkZJTEwuUklHSFRcXFwiLDU3OlxcXCJGSUxMLkRPV05cXFwiLDYxOlxcXCJERUZJTkUuTkFNRVxcXCIsNjI6XFxcIkNSRUFURS5OQU1FU1xcXCIsNjM6XFxcIkZPUk1VTEEuR09UT1xcXCIsNjQ6XFxcIkZPUk1VTEEuRklORFxcXCIsNjU6XFxcIlNFTEVDVC5MQVNULkNFTExcXFwiLDY2OlxcXCJTSE9XLkFDVElWRS5DRUxMXFxcIiw2NzpcXFwiR0FMTEVSWS5BUkVBXFxcIiw2ODpcXFwiR0FMTEVSWS5CQVJcXFwiLDY5OlxcXCJHQUxMRVJZLkNPTFVNTlxcXCIsNzA6XFxcIkdBTExFUlkuTElORVxcXCIsNzE6XFxcIkdBTExFUlkuUElFXFxcIiw3MjpcXFwiR0FMTEVSWS5TQ0FUVEVSXFxcIiw3MzpcXFwiQ09NQklOQVRJT05cXFwiLDc0OlxcXCJQUkVGRVJSRURcXFwiLDc1OlxcXCJBREQuT1ZFUkxBWVxcXCIsNzY6XFxcIkdSSURMSU5FU1xcXCIsNzc6XFxcIlNFVC5QUkVGRVJSRURcXFwiLDc4OlxcXCJBWEVTXFxcIiw3OTpcXFwiTEVHRU5EXFxcIiw4MDpcXFwiQVRUQUNILlRFWFRcXFwiLDgxOlxcXCJBREQuQVJST1dcXFwiLDgyOlxcXCJTRUxFQ1QuQ0hBUlRcXFwiLDgzOlxcXCJTRUxFQ1QuUExPVC5BUkVBXFxcIiw4NDpcXFwiUEFUVEVSTlNcXFwiLDg1OlxcXCJNQUlOLkNIQVJUXFxcIiw4NjpcXFwiT1ZFUkxBWVxcXCIsODc6XFxcIlNDQUxFXFxcIiw4ODpcXFwiRk9STUFULkxFR0VORFxcXCIsODk6XFxcIkZPUk1BVC5URVhUXFxcIiw5MDpcXFwiRURJVC5SRVBFQVRcXFwiLDkxOlxcXCJQQVJTRVxcXCIsOTI6XFxcIkpVU1RJRllcXFwiLDkzOlxcXCJISURFXFxcIiw5NDpcXFwiVU5ISURFXFxcIiw5NTpcXFwiV09SS1NQQUNFXFxcIiw5NjpcXFwiRk9STVVMQVxcXCIsOTc6XFxcIkZPUk1VTEEuRklMTFxcXCIsOTg6XFxcIkZPUk1VTEEuQVJSQVlcXFwiLDk5OlxcXCJEQVRBLkZJTkQuTkVYVFxcXCIsMTAwOlxcXCJEQVRBLkZJTkQuUFJFVlxcXCIsMTAxOlxcXCJGT1JNVUxBLkZJTkQuTkVYVFxcXCIsMTAyOlxcXCJGT1JNVUxBLkZJTkQuUFJFVlxcXCIsMTAzOlxcXCJBQ1RJVkFURVxcXCIsMTA0OlxcXCJBQ1RJVkFURS5ORVhUXFxcIiwxMDU6XFxcIkFDVElWQVRFLlBSRVZcXFwiLDEwNjpcXFwiVU5MT0NLRUQuTkVYVFxcXCIsMTA3OlxcXCJVTkxPQ0tFRC5QUkVWXFxcIiwxMDg6XFxcIkNPUFkuUElDVFVSRVxcXCIsMTA5OlxcXCJTRUxFQ1RcXFwiLDExMDpcXFwiREVMRVRFLk5BTUVcXFwiLDExMTpcXFwiREVMRVRFLkZPUk1BVFxcXCIsMTEyOlxcXCJWTElORVxcXCIsMTEzOlxcXCJITElORVxcXCIsMTE0OlxcXCJWUEFHRVxcXCIsMTE1OlxcXCJIUEFHRVxcXCIsMTE2OlxcXCJWU0NST0xMXFxcIiwxMTc6XFxcIkhTQ1JPTExcXFwiLDExODpcXFwiQUxFUlRcXFwiLDExOTpcXFwiTkVXXFxcIiwxMjA6XFxcIkNBTkNFTC5DT1BZXFxcIiwxMjE6XFxcIlNIT1cuQ0xJUEJPQVJEXFxcIiwxMjI6XFxcIk1FU1NBR0VcXFwiLDEyNDpcXFwiUEFTVEUuTElOS1xcXCIsMTI1OlxcXCJBUFAuQUNUSVZBVEVcXFwiLDEyNjpcXFwiREVMRVRFLkFSUk9XXFxcIiwxMjc6XFxcIlJPVy5IRUlHSFRcXFwiLDEyODpcXFwiRk9STUFULk1PVkVcXFwiLDEyOTpcXFwiRk9STUFULlNJWkVcXFwiLDEzMDpcXFwiRk9STVVMQS5SRVBMQUNFXFxcIiwxMzE6XFxcIlNFTkQuS0VZU1xcXCIsMTMyOlxcXCJTRUxFQ1QuU1BFQ0lBTFxcXCIsMTMzOlxcXCJBUFBMWS5OQU1FU1xcXCIsMTM0OlxcXCJSRVBMQUNFLkZPTlRcXFwiLDEzNTpcXFwiRlJFRVpFLlBBTkVTXFxcIiwxMzY6XFxcIlNIT1cuSU5GT1xcXCIsMTM3OlxcXCJTUExJVFxcXCIsMTM4OlxcXCJPTi5XSU5ET1dcXFwiLDEzOTpcXFwiT04uREFUQVxcXCIsMTQwOlxcXCJESVNBQkxFLklOUFVUXFxcIiwxNDI6XFxcIk9VVExJTkVcXFwiLDE0MzpcXFwiTElTVC5OQU1FU1xcXCIsMTQ0OlxcXCJGSUxFLkNMT1NFXFxcIiwxNDU6XFxcIlNBVkUuV09SS0JPT0tcXFwiLDE0NjpcXFwiREFUQS5GT1JNXFxcIiwxNDc6XFxcIkNPUFkuQ0hBUlRcXFwiLDE0ODpcXFwiT04uVElNRVxcXCIsMTQ5OlxcXCJXQUlUXFxcIiwxNTA6XFxcIkZPUk1BVC5GT05UXFxcIiwxNTE6XFxcIkZJTEwuVVBcXFwiLDE1MjpcXFwiRklMTC5MRUZUXFxcIiwxNTM6XFxcIkRFTEVURS5PVkVSTEFZXFxcIiwxNTU6XFxcIlNIT1JULk1FTlVTXFxcIiwxNTk6XFxcIlNFVC5VUERBVEUuU1RBVFVTXFxcIiwxNjE6XFxcIkNPTE9SLlBBTEVUVEVcXFwiLDE2MjpcXFwiREVMRVRFLlNUWUxFXFxcIiwxNjM6XFxcIldJTkRPVy5SRVNUT1JFXFxcIiwxNjQ6XFxcIldJTkRPVy5NQVhJTUlaRVxcXCIsMTY2OlxcXCJDSEFOR0UuTElOS1xcXCIsMTY3OlxcXCJDQUxDVUxBVEUuRE9DVU1FTlRcXFwiLDE2ODpcXFwiT04uS0VZXFxcIiwxNjk6XFxcIkFQUC5SRVNUT1JFXFxcIiwxNzA6XFxcIkFQUC5NT1ZFXFxcIiwxNzE6XFxcIkFQUC5TSVpFXFxcIiwxNzI6XFxcIkFQUC5NSU5JTUlaRVxcXCIsMTczOlxcXCJBUFAuTUFYSU1JWkVcXFwiLDE3NDpcXFwiQlJJTkcuVE8uRlJPTlRcXFwiLDE3NTpcXFwiU0VORC5UTy5CQUNLXFxcIiwxODU6XFxcIk1BSU4uQ0hBUlQuVFlQRVxcXCIsMTg2OlxcXCJPVkVSTEFZLkNIQVJULlRZUEVcXFwiLDE4NzpcXFwiU0VMRUNULkVORFxcXCIsMTg4OlxcXCJPUEVOLk1BSUxcXFwiLDE4OTpcXFwiU0VORC5NQUlMXFxcIiwxOTA6XFxcIlNUQU5EQVJELkZPTlRcXFwiLDE5MTpcXFwiQ09OU09MSURBVEVcXFwiLDE5MjpcXFwiU09SVC5TUEVDSUFMXFxcIiwxOTM6XFxcIkdBTExFUlkuM0QuQVJFQVxcXCIsMTk0OlxcXCJHQUxMRVJZLjNELkNPTFVNTlxcXCIsMTk1OlxcXCJHQUxMRVJZLjNELkxJTkVcXFwiLDE5NjpcXFwiR0FMTEVSWS4zRC5QSUVcXFwiLDE5NzpcXFwiVklFVy4zRFxcXCIsMTk4OlxcXCJHT0FMLlNFRUtcXFwiLDE5OTpcXFwiV09SS0dST1VQXFxcIiwyMDA6XFxcIkZJTEwuR1JPVVBcXFwiLDIwMTpcXFwiVVBEQVRFLkxJTktcXFwiLDIwMjpcXFwiUFJPTU9URVxcXCIsMjAzOlxcXCJERU1PVEVcXFwiLDIwNDpcXFwiU0hPVy5ERVRBSUxcXFwiLDIwNjpcXFwiVU5HUk9VUFxcXCIsMjA3OlxcXCJPQkpFQ1QuUFJPUEVSVElFU1xcXCIsMjA4OlxcXCJTQVZFLk5FVy5PQkpFQ1RcXFwiLDIwOTpcXFwiU0hBUkVcXFwiLDIxMDpcXFwiU0hBUkUuTkFNRVxcXCIsMjExOlxcXCJEVVBMSUNBVEVcXFwiLDIxMjpcXFwiQVBQTFkuU1RZTEVcXFwiLDIxMzpcXFwiQVNTSUdOLlRPLk9CSkVDVFxcXCIsMjE0OlxcXCJPQkpFQ1QuUFJPVEVDVElPTlxcXCIsMjE1OlxcXCJISURFLk9CSkVDVFxcXCIsMjE2OlxcXCJTRVQuRVhUUkFDVFxcXCIsMjE3OlxcXCJDUkVBVEUuUFVCTElTSEVSXFxcIiwyMTg6XFxcIlNVQlNDUklCRS5UT1xcXCIsMjE5OlxcXCJBVFRSSUJVVEVTXFxcIiwyMjA6XFxcIlNIT1cuVE9PTEJBUlxcXCIsMjIyOlxcXCJQUklOVC5QUkVWSUVXXFxcIiwyMjM6XFxcIkVESVQuQ09MT1JcXFwiLDIyNDpcXFwiU0hPVy5MRVZFTFNcXFwiLDIyNTpcXFwiRk9STUFULk1BSU5cXFwiLDIyNjpcXFwiRk9STUFULk9WRVJMQVlcXFwiLDIyNzpcXFwiT04uUkVDQUxDXFxcIiwyMjg6XFxcIkVESVQuU0VSSUVTXFxcIiwyMjk6XFxcIkRFRklORS5TVFlMRVxcXCIsMjQwOlxcXCJMSU5FLlBSSU5UXFxcIiwyNDM6XFxcIkVOVEVSLkRBVEFcXFwiLDI0OTpcXFwiR0FMTEVSWS5SQURBUlxcXCIsMjUwOlxcXCJNRVJHRS5TVFlMRVNcXFwiLDI1MTpcXFwiRURJVElPTi5PUFRJT05TXFxcIiwyNTI6XFxcIlBBU1RFLlBJQ1RVUkVcXFwiLDI1MzpcXFwiUEFTVEUuUElDVFVSRS5MSU5LXFxcIiwyNTQ6XFxcIlNQRUxMSU5HXFxcIiwyNTY6XFxcIlpPT01cXFwiLDI1OTpcXFwiSU5TRVJULk9CSkVDVFxcXCIsMjYwOlxcXCJXSU5ET1cuTUlOSU1JWkVcXFwiLDI2NTpcXFwiU09VTkQuTk9URVxcXCIsMjY2OlxcXCJTT1VORC5QTEFZXFxcIiwyNjc6XFxcIkZPUk1BVC5TSEFQRVxcXCIsMjY4OlxcXCJFWFRFTkQuUE9MWUdPTlxcXCIsMjY5OlxcXCJGT1JNQVQuQVVUT1xcXCIsMjcyOlxcXCJHQUxMRVJZLjNELkJBUlxcXCIsMjczOlxcXCJHQUxMRVJZLjNELlNVUkZBQ0VcXFwiLDI3NDpcXFwiRklMTC5BVVRPXFxcIiwyNzY6XFxcIkNVU1RPTUlaRS5UT09MQkFSXFxcIiwyNzc6XFxcIkFERC5UT09MXFxcIiwyNzg6XFxcIkVESVQuT0JKRUNUXFxcIiwyNzk6XFxcIk9OLkRPVUJMRUNMSUNLXFxcIiwyODA6XFxcIk9OLkVOVFJZXFxcIiwyODE6XFxcIldPUktCT09LLkFERFxcXCIsMjgyOlxcXCJXT1JLQk9PSy5NT1ZFXFxcIiwyODM6XFxcIldPUktCT09LLkNPUFlcXFwiLDI4NDpcXFwiV09SS0JPT0suT1BUSU9OU1xcXCIsMjg1OlxcXCJTQVZFLldPUktTUEFDRVxcXCIsMjg4OlxcXCJDSEFSVC5XSVpBUkRcXFwiLDI4OTpcXFwiREVMRVRFLlRPT0xcXFwiLDI5MDpcXFwiTU9WRS5UT09MXFxcIiwyOTE6XFxcIldPUktCT09LLlNFTEVDVFxcXCIsMjkyOlxcXCJXT1JLQk9PSy5BQ1RJVkFURVxcXCIsMjkzOlxcXCJBU1NJR04uVE8uVE9PTFxcXCIsMjk1OlxcXCJDT1BZLlRPT0xcXFwiLDI5NjpcXFwiUkVTRVQuVE9PTFxcXCIsMjk3OlxcXCJDT05TVFJBSU4uTlVNRVJJQ1xcXCIsMjk4OlxcXCJQQVNURS5UT09MXFxcIiwzMDI6XFxcIldPUktCT09LLk5FV1xcXCIsMzA1OlxcXCJTQ0VOQVJJTy5DRUxMU1xcXCIsMzA2OlxcXCJTQ0VOQVJJTy5ERUxFVEVcXFwiLDMwNzpcXFwiU0NFTkFSSU8uQUREXFxcIiwzMDg6XFxcIlNDRU5BUklPLkVESVRcXFwiLDMwOTpcXFwiU0NFTkFSSU8uU0hPV1xcXCIsMzEwOlxcXCJTQ0VOQVJJTy5TSE9XLk5FWFRcXFwiLDMxMTpcXFwiU0NFTkFSSU8uU1VNTUFSWVxcXCIsMzEyOlxcXCJQSVZPVC5UQUJMRS5XSVpBUkRcXFwiLDMxMzpcXFwiUElWT1QuRklFTEQuUFJPUEVSVElFU1xcXCIsMzE0OlxcXCJQSVZPVC5GSUVMRFxcXCIsMzE1OlxcXCJQSVZPVC5JVEVNXFxcIiwzMTY6XFxcIlBJVk9ULkFERC5GSUVMRFNcXFwiLDMxODpcXFwiT1BUSU9OUy5DQUxDVUxBVElPTlxcXCIsMzE5OlxcXCJPUFRJT05TLkVESVRcXFwiLDMyMDpcXFwiT1BUSU9OUy5WSUVXXFxcIiwzMjE6XFxcIkFERElOLk1BTkFHRVJcXFwiLDMyMjpcXFwiTUVOVS5FRElUT1JcXFwiLDMyMzpcXFwiQVRUQUNILlRPT0xCQVJTXFxcIiwzMjQ6XFxcIlZCQUFjdGl2YXRlXFxcIiwzMjU6XFxcIk9QVElPTlMuQ0hBUlRcXFwiLDMyODpcXFwiVkJBLklOU0VSVC5GSUxFXFxcIiwzMzA6XFxcIlZCQS5QUk9DRURVUkUuREVGSU5JVElPTlxcXCIsMzM2OlxcXCJST1VUSU5HLlNMSVBcXFwiLDMzODpcXFwiUk9VVEUuRE9DVU1FTlRcXFwiLDMzOTpcXFwiTUFJTC5MT0dPTlxcXCIsMzQyOlxcXCJJTlNFUlQuUElDVFVSRVxcXCIsMzQzOlxcXCJFRElULlRPT0xcXFwiLDM0NDpcXFwiR0FMTEVSWS5ET1VHSE5VVFxcXCIsMzUwOlxcXCJDSEFSVC5UUkVORFxcXCIsMzUyOlxcXCJQSVZPVC5JVEVNLlBST1BFUlRJRVNcXFwiLDM1NDpcXFwiV09SS0JPT0suSU5TRVJUXFxcIiwzNTU6XFxcIk9QVElPTlMuVFJBTlNJVElPTlxcXCIsMzU2OlxcXCJPUFRJT05TLkdFTkVSQUxcXFwiLDM3MDpcXFwiRklMVEVSLkFEVkFOQ0VEXFxcIiwzNzM6XFxcIk1BSUwuQURELk1BSUxFUlxcXCIsMzc0OlxcXCJNQUlMLkRFTEVURS5NQUlMRVJcXFwiLDM3NTpcXFwiTUFJTC5SRVBMWVxcXCIsMzc2OlxcXCJNQUlMLlJFUExZLkFMTFxcXCIsMzc3OlxcXCJNQUlMLkZPUldBUkRcXFwiLDM3ODpcXFwiTUFJTC5ORVhULkxFVFRFUlxcXCIsMzc5OlxcXCJEQVRBLkxBQkVMXFxcIiwzODA6XFxcIklOU0VSVC5USVRMRVxcXCIsMzgxOlxcXCJGT05ULlBST1BFUlRJRVNcXFwiLDM4MjpcXFwiTUFDUk8uT1BUSU9OU1xcXCIsMzgzOlxcXCJXT1JLQk9PSy5ISURFXFxcIiwzODQ6XFxcIldPUktCT09LLlVOSElERVxcXCIsMzg1OlxcXCJXT1JLQk9PSy5ERUxFVEVcXFwiLDM4NjpcXFwiV09SS0JPT0suTkFNRVxcXCIsMzg4OlxcXCJHQUxMRVJZLkNVU1RPTVxcXCIsMzkwOlxcXCJBREQuQ0hBUlQuQVVUT0ZPUk1BVFxcXCIsMzkxOlxcXCJERUxFVEUuQ0hBUlQuQVVUT0ZPUk1BVFxcXCIsMzkyOlxcXCJDSEFSVC5BREQuREFUQVxcXCIsMzkzOlxcXCJBVVRPLk9VVExJTkVcXFwiLDM5NDpcXFwiVEFCLk9SREVSXFxcIiwzOTU6XFxcIlNIT1cuRElBTE9HXFxcIiwzOTY6XFxcIlNFTEVDVC5BTExcXFwiLDM5NzpcXFwiVU5HUk9VUC5TSEVFVFNcXFwiLDM5ODpcXFwiU1VCVE9UQUwuQ1JFQVRFXFxcIiwzOTk6XFxcIlNVQlRPVEFMLlJFTU9WRVxcXCIsNDAwOlxcXCJSRU5BTUUuT0JKRUNUXFxcIiw0MTI6XFxcIldPUktCT09LLlNDUk9MTFxcXCIsNDEzOlxcXCJXT1JLQk9PSy5ORVhUXFxcIiw0MTQ6XFxcIldPUktCT09LLlBSRVZcXFwiLDQxNTpcXFwiV09SS0JPT0suVEFCLlNQTElUXFxcIiw0MTY6XFxcIkZVTEwuU0NSRUVOXFxcIiw0MTc6XFxcIldPUktCT09LLlBST1RFQ1RcXFwiLDQyMDpcXFwiU0NST0xMQkFSLlBST1BFUlRJRVNcXFwiLDQyMTpcXFwiUElWT1QuU0hPVy5QQUdFU1xcXCIsNDIyOlxcXCJURVhULlRPLkNPTFVNTlNcXFwiLDQyMzpcXFwiRk9STUFULkNIQVJUVFlQRVxcXCIsNDI0OlxcXCJMSU5LLkZPUk1BVFxcXCIsNDI1OlxcXCJUUkFDRVIuRElTUExBWVxcXCIsNDMwOlxcXCJUUkFDRVIuTkFWSUdBVEVcXFwiLDQzMTpcXFwiVFJBQ0VSLkNMRUFSXFxcIiw0MzI6XFxcIlRSQUNFUi5FUlJPUlxcXCIsNDMzOlxcXCJQSVZPVC5GSUVMRC5HUk9VUFxcXCIsNDM0OlxcXCJQSVZPVC5GSUVMRC5VTkdST1VQXFxcIiw0MzU6XFxcIkNIRUNLQk9YLlBST1BFUlRJRVNcXFwiLDQzNjpcXFwiTEFCRUwuUFJPUEVSVElFU1xcXCIsNDM3OlxcXCJMSVNUQk9YLlBST1BFUlRJRVNcXFwiLDQzODpcXFwiRURJVEJPWC5QUk9QRVJUSUVTXFxcIiw0Mzk6XFxcIlBJVk9ULlJFRlJFU0hcXFwiLDQ0MDpcXFwiTElOSy5DT01CT1xcXCIsNDQxOlxcXCJPUEVOLlRFWFRcXFwiLDQ0MjpcXFwiSElERS5ESUFMT0dcXFwiLDQ0MzpcXFwiU0VULkRJQUxPRy5GT0NVU1xcXCIsNDQ0OlxcXCJFTkFCTEUuT0JKRUNUXFxcIiw0NDU6XFxcIlBVU0hCVVRUT04uUFJPUEVSVElFU1xcXCIsNDQ2OlxcXCJTRVQuRElBTE9HLkRFRkFVTFRcXFwiLDQ0NzpcXFwiRklMVEVSXFxcIiw0NDg6XFxcIkZJTFRFUi5TSE9XLkFMTFxcXCIsNDQ5OlxcXCJDTEVBUi5PVVRMSU5FXFxcIiw0NTA6XFxcIkZVTkNUSU9OLldJWkFSRFxcXCIsNDUxOlxcXCJBREQuTElTVC5JVEVNXFxcIiw0NTI6XFxcIlNFVC5MSVNULklURU1cXFwiLDQ1MzpcXFwiUkVNT1ZFLkxJU1QuSVRFTVxcXCIsNDU0OlxcXCJTRUxFQ1QuTElTVC5JVEVNXFxcIiw0NTU6XFxcIlNFVC5DT05UUk9MLlZBTFVFXFxcIiw0NTY6XFxcIlNBVkUuQ09QWS5BU1xcXCIsNDU4OlxcXCJPUFRJT05TLkxJU1RTLkFERFxcXCIsNDU5OlxcXCJPUFRJT05TLkxJU1RTLkRFTEVURVxcXCIsNDYwOlxcXCJTRVJJRVMuQVhFU1xcXCIsNDYxOlxcXCJTRVJJRVMuWFxcXCIsNDYyOlxcXCJTRVJJRVMuWVxcXCIsNDYzOlxcXCJFUlJPUkJBUi5YXFxcIiw0NjQ6XFxcIkVSUk9SQkFSLllcXFwiLDQ2NTpcXFwiRk9STUFULkNIQVJUXFxcIiw0NjY6XFxcIlNFUklFUy5PUkRFUlxcXCIsNDY3OlxcXCJNQUlMLkxPR09GRlxcXCIsNDY4OlxcXCJDTEVBUi5ST1VUSU5HLlNMSVBcXFwiLDQ2OTpcXFwiQVBQLkFDVElWQVRFLk1JQ1JPU09GVFxcXCIsNDcwOlxcXCJNQUlMLkVESVQuTUFJTEVSXFxcIiw0NzE6XFxcIk9OLlNIRUVUXFxcIiw0NzI6XFxcIlNUQU5EQVJELldJRFRIXFxcIiw0NzM6XFxcIlNDRU5BUklPLk1FUkdFXFxcIiw0NzQ6XFxcIlNVTU1BUlkuSU5GT1xcXCIsNDc1OlxcXCJGSU5ELkZJTEVcXFwiLDQ3NjpcXFwiQUNUSVZFLkNFTEwuRk9OVFxcXCIsNDc3OlxcXCJFTkFCTEUuVElQV0laQVJEXFxcIiw0Nzg6XFxcIlZCQS5NQUtFLkFERElOXFxcIiw0ODA6XFxcIklOU0VSVERBVEFUQUJMRVxcXCIsNDgxOlxcXCJXT1JLR1JPVVAuT1BUSU9OU1xcXCIsNDgyOlxcXCJNQUlMLlNFTkQuTUFJTEVSXFxcIiw0ODU6XFxcIkFVVE9DT1JSRUNUXFxcIiw0ODk6XFxcIlBPU1QuRE9DVU1FTlRcXFwiLDQ5MTpcXFwiUElDS0xJU1RcXFwiLDQ5MzpcXFwiVklFVy5TSE9XXFxcIiw0OTQ6XFxcIlZJRVcuREVGSU5FXFxcIiw0OTU6XFxcIlZJRVcuREVMRVRFXFxcIiw1MDk6XFxcIlNIRUVULkJBQ0tHUk9VTkRcXFwiLDUxMDpcXFwiSU5TRVJULk1BUC5PQkpFQ1RcXFwiLDUxMTpcXFwiT1BUSU9OUy5NRU5PTk9cXFwiLDUxNzpcXFwiTVNPQ0hFQ0tTXFxcIiw1MTg6XFxcIk5PUk1BTFxcXCIsNTE5OlxcXCJMQVlPVVRcXFwiLDUyMDpcXFwiUk0uUFJJTlQuQVJFQVxcXCIsNTIxOlxcXCJDTEVBUi5QUklOVC5BUkVBXFxcIiw1MjI6XFxcIkFERC5QUklOVC5BUkVBXFxcIiw1MjM6XFxcIk1PVkUuQlJLXFxcIiw1NDU6XFxcIkhJREVDVVJSLk5PVEVcXFwiLDU0NjpcXFwiSElERUFMTC5OT1RFU1xcXCIsNTQ3OlxcXCJERUxFVEUuTk9URVxcXCIsNTQ4OlxcXCJUUkFWRVJTRS5OT1RFU1xcXCIsNTQ5OlxcXCJBQ1RJVkFURS5OT1RFU1xcXCIsNjIwOlxcXCJQUk9URUNULlJFVklTSU9OU1xcXCIsNjIxOlxcXCJVTlBST1RFQ1QuUkVWSVNJT05TXFxcIiw2NDc6XFxcIk9QVElPTlMuTUVcXFwiLDY1MzpcXFwiV0VCLlBVQkxJU0hcXFwiLDY2NzpcXFwiTkVXV0VCUVVFUllcXFwiLDY3MzpcXFwiUElWT1QuVEFCTEUuQ0hBUlRcXFwiLDc1MzpcXFwiT1BUSU9OUy5TQVZFXFxcIiw3NTU6XFxcIk9QVElPTlMuU1BFTExcXFwiLDgwODpcXFwiSElERUFMTC5JTktBTk5PVFNcXFwifTt2YXIgcmg9ezA6XFxcIkNPVU5UXFxcIiwxOlxcXCJJRlxcXCIsMjpcXFwiSVNOQVxcXCIsMzpcXFwiSVNFUlJPUlxcXCIsNDpcXFwiU1VNXFxcIiw1OlxcXCJBVkVSQUdFXFxcIiw2OlxcXCJNSU5cXFwiLDc6XFxcIk1BWFxcXCIsODpcXFwiUk9XXFxcIiw5OlxcXCJDT0xVTU5cXFwiLDEwOlxcXCJOQVxcXCIsMTE6XFxcIk5QVlxcXCIsMTI6XFxcIlNUREVWXFxcIiwxMzpcXFwiRE9MTEFSXFxcIiwxNDpcXFwiRklYRURcXFwiLDE1OlxcXCJTSU5cXFwiLDE2OlxcXCJDT1NcXFwiLDE3OlxcXCJUQU5cXFwiLDE4OlxcXCJBVEFOXFxcIiwxOTpcXFwiUElcXFwiLDIwOlxcXCJTUVJUXFxcIiwyMTpcXFwiRVhQXFxcIiwyMjpcXFwiTE5cXFwiLDIzOlxcXCJMT0cxMFxcXCIsMjQ6XFxcIkFCU1xcXCIsMjU6XFxcIklOVFxcXCIsMjY6XFxcIlNJR05cXFwiLDI3OlxcXCJST1VORFxcXCIsMjg6XFxcIkxPT0tVUFxcXCIsMjk6XFxcIklOREVYXFxcIiwzMDpcXFwiUkVQVFxcXCIsMzE6XFxcIk1JRFxcXCIsMzI6XFxcIkxFTlxcXCIsMzM6XFxcIlZBTFVFXFxcIiwzNDpcXFwiVFJVRVxcXCIsMzU6XFxcIkZBTFNFXFxcIiwzNjpcXFwiQU5EXFxcIiwzNzpcXFwiT1JcXFwiLDM4OlxcXCJOT1RcXFwiLDM5OlxcXCJNT0RcXFwiLDQwOlxcXCJEQ09VTlRcXFwiLDQxOlxcXCJEU1VNXFxcIiw0MjpcXFwiREFWRVJBR0VcXFwiLDQzOlxcXCJETUlOXFxcIiw0NDpcXFwiRE1BWFxcXCIsNDU6XFxcIkRTVERFVlxcXCIsNDY6XFxcIlZBUlxcXCIsNDc6XFxcIkRWQVJcXFwiLDQ4OlxcXCJURVhUXFxcIiw0OTpcXFwiTElORVNUXFxcIiw1MDpcXFwiVFJFTkRcXFwiLDUxOlxcXCJMT0dFU1RcXFwiLDUyOlxcXCJHUk9XVEhcXFwiLDUzOlxcXCJHT1RPXFxcIiw1NDpcXFwiSEFMVFxcXCIsNTU6XFxcIlJFVFVSTlxcXCIsNTY6XFxcIlBWXFxcIiw1NzpcXFwiRlZcXFwiLDU4OlxcXCJOUEVSXFxcIiw1OTpcXFwiUE1UXFxcIiw2MDpcXFwiUkFURVxcXCIsNjE6XFxcIk1JUlJcXFwiLDYyOlxcXCJJUlJcXFwiLDYzOlxcXCJSQU5EXFxcIiw2NDpcXFwiTUFUQ0hcXFwiLDY1OlxcXCJEQVRFXFxcIiw2NjpcXFwiVElNRVxcXCIsNjc6XFxcIkRBWVxcXCIsNjg6XFxcIk1PTlRIXFxcIiw2OTpcXFwiWUVBUlxcXCIsNzA6XFxcIldFRUtEQVlcXFwiLDcxOlxcXCJIT1VSXFxcIiw3MjpcXFwiTUlOVVRFXFxcIiw3MzpcXFwiU0VDT05EXFxcIiw3NDpcXFwiTk9XXFxcIiw3NTpcXFwiQVJFQVNcXFwiLDc2OlxcXCJST1dTXFxcIiw3NzpcXFwiQ09MVU1OU1xcXCIsNzg6XFxcIk9GRlNFVFxcXCIsNzk6XFxcIkFCU1JFRlxcXCIsODA6XFxcIlJFTFJFRlxcXCIsODE6XFxcIkFSR1VNRU5UXFxcIiw4MjpcXFwiU0VBUkNIXFxcIiw4MzpcXFwiVFJBTlNQT1NFXFxcIiw4NDpcXFwiRVJST1JcXFwiLDg1OlxcXCJTVEVQXFxcIiw4NjpcXFwiVFlQRVxcXCIsODc6XFxcIkVDSE9cXFwiLDg4OlxcXCJTRVQuTkFNRVxcXCIsODk6XFxcIkNBTExFUlxcXCIsOTA6XFxcIkRFUkVGXFxcIiw5MTpcXFwiV0lORE9XU1xcXCIsOTI6XFxcIlNFUklFU1xcXCIsOTM6XFxcIkRPQ1VNRU5UU1xcXCIsOTQ6XFxcIkFDVElWRS5DRUxMXFxcIiw5NTpcXFwiU0VMRUNUSU9OXFxcIiw5NjpcXFwiUkVTVUxUXFxcIiw5NzpcXFwiQVRBTjJcXFwiLDk4OlxcXCJBU0lOXFxcIiw5OTpcXFwiQUNPU1xcXCIsMTAwOlxcXCJDSE9PU0VcXFwiLDEwMTpcXFwiSExPT0tVUFxcXCIsMTAyOlxcXCJWTE9PS1VQXFxcIiwxMDM6XFxcIkxJTktTXFxcIiwxMDQ6XFxcIklOUFVUXFxcIiwxMDU6XFxcIklTUkVGXFxcIiwxMDY6XFxcIkdFVC5GT1JNVUxBXFxcIiwxMDc6XFxcIkdFVC5OQU1FXFxcIiwxMDg6XFxcIlNFVC5WQUxVRVxcXCIsMTA5OlxcXCJMT0dcXFwiLDExMDpcXFwiRVhFQ1xcXCIsMTExOlxcXCJDSEFSXFxcIiwxMTI6XFxcIkxPV0VSXFxcIiwxMTM6XFxcIlVQUEVSXFxcIiwxMTQ6XFxcIlBST1BFUlxcXCIsMTE1OlxcXCJMRUZUXFxcIiwxMTY6XFxcIlJJR0hUXFxcIiwxMTc6XFxcIkVYQUNUXFxcIiwxMTg6XFxcIlRSSU1cXFwiLDExOTpcXFwiUkVQTEFDRVxcXCIsMTIwOlxcXCJTVUJTVElUVVRFXFxcIiwxMjE6XFxcIkNPREVcXFwiLDEyMjpcXFwiTkFNRVNcXFwiLDEyMzpcXFwiRElSRUNUT1JZXFxcIiwxMjQ6XFxcIkZJTkRcXFwiLDEyNTpcXFwiQ0VMTFxcXCIsMTI2OlxcXCJJU0VSUlxcXCIsMTI3OlxcXCJJU1RFWFRcXFwiLDEyODpcXFwiSVNOVU1CRVJcXFwiLDEyOTpcXFwiSVNCTEFOS1xcXCIsMTMwOlxcXCJUXFxcIiwxMzE6XFxcIk5cXFwiLDEzMjpcXFwiRk9QRU5cXFwiLDEzMzpcXFwiRkNMT1NFXFxcIiwxMzQ6XFxcIkZTSVpFXFxcIiwxMzU6XFxcIkZSRUFETE5cXFwiLDEzNjpcXFwiRlJFQURcXFwiLDEzNzpcXFwiRldSSVRFTE5cXFwiLDEzODpcXFwiRldSSVRFXFxcIiwxMzk6XFxcIkZQT1NcXFwiLDE0MDpcXFwiREFURVZBTFVFXFxcIiwxNDE6XFxcIlRJTUVWQUxVRVxcXCIsMTQyOlxcXCJTTE5cXFwiLDE0MzpcXFwiU1lEXFxcIiwxNDQ6XFxcIkREQlxcXCIsMTQ1OlxcXCJHRVQuREVGXFxcIiwxNDY6XFxcIlJFRlRFWFRcXFwiLDE0NzpcXFwiVEVYVFJFRlxcXCIsMTQ4OlxcXCJJTkRJUkVDVFxcXCIsMTQ5OlxcXCJSRUdJU1RFUlxcXCIsMTUwOlxcXCJDQUxMXFxcIiwxNTE6XFxcIkFERC5CQVJcXFwiLDE1MjpcXFwiQURELk1FTlVcXFwiLDE1MzpcXFwiQURELkNPTU1BTkRcXFwiLDE1NDpcXFwiRU5BQkxFLkNPTU1BTkRcXFwiLDE1NTpcXFwiQ0hFQ0suQ09NTUFORFxcXCIsMTU2OlxcXCJSRU5BTUUuQ09NTUFORFxcXCIsMTU3OlxcXCJTSE9XLkJBUlxcXCIsMTU4OlxcXCJERUxFVEUuTUVOVVxcXCIsMTU5OlxcXCJERUxFVEUuQ09NTUFORFxcXCIsMTYwOlxcXCJHRVQuQ0hBUlQuSVRFTVxcXCIsMTYxOlxcXCJESUFMT0cuQk9YXFxcIiwxNjI6XFxcIkNMRUFOXFxcIiwxNjM6XFxcIk1ERVRFUk1cXFwiLDE2NDpcXFwiTUlOVkVSU0VcXFwiLDE2NTpcXFwiTU1VTFRcXFwiLDE2NjpcXFwiRklMRVNcXFwiLDE2NzpcXFwiSVBNVFxcXCIsMTY4OlxcXCJQUE1UXFxcIiwxNjk6XFxcIkNPVU5UQVxcXCIsMTcwOlxcXCJDQU5DRUwuS0VZXFxcIiwxNzE6XFxcIkZPUlxcXCIsMTcyOlxcXCJXSElMRVxcXCIsMTczOlxcXCJCUkVBS1xcXCIsMTc0OlxcXCJORVhUXFxcIiwxNzU6XFxcIklOSVRJQVRFXFxcIiwxNzY6XFxcIlJFUVVFU1RcXFwiLDE3NzpcXFwiUE9LRVxcXCIsMTc4OlxcXCJFWEVDVVRFXFxcIiwxNzk6XFxcIlRFUk1JTkFURVxcXCIsMTgwOlxcXCJSRVNUQVJUXFxcIiwxODE6XFxcIkhFTFBcXFwiLDE4MjpcXFwiR0VULkJBUlxcXCIsMTgzOlxcXCJQUk9EVUNUXFxcIiwxODQ6XFxcIkZBQ1RcXFwiLDE4NTpcXFwiR0VULkNFTExcXFwiLDE4NjpcXFwiR0VULldPUktTUEFDRVxcXCIsMTg3OlxcXCJHRVQuV0lORE9XXFxcIiwxODg6XFxcIkdFVC5ET0NVTUVOVFxcXCIsMTg5OlxcXCJEUFJPRFVDVFxcXCIsMTkwOlxcXCJJU05PTlRFWFRcXFwiLDE5MTpcXFwiR0VULk5PVEVcXFwiLDE5MjpcXFwiTk9URVxcXCIsMTkzOlxcXCJTVERFVlBcXFwiLDE5NDpcXFwiVkFSUFxcXCIsMTk1OlxcXCJEU1RERVZQXFxcIiwxOTY6XFxcIkRWQVJQXFxcIiwxOTc6XFxcIlRSVU5DXFxcIiwxOTg6XFxcIklTTE9HSUNBTFxcXCIsMTk5OlxcXCJEQ09VTlRBXFxcIiwyMDA6XFxcIkRFTEVURS5CQVJcXFwiLDIwMTpcXFwiVU5SRUdJU1RFUlxcXCIsMjA0OlxcXCJVU0RPTExBUlxcXCIsMjA1OlxcXCJGSU5EQlxcXCIsMjA2OlxcXCJTRUFSQ0hCXFxcIiwyMDc6XFxcIlJFUExBQ0VCXFxcIiwyMDg6XFxcIkxFRlRCXFxcIiwyMDk6XFxcIlJJR0hUQlxcXCIsMjEwOlxcXCJNSURCXFxcIiwyMTE6XFxcIkxFTkJcXFwiLDIxMjpcXFwiUk9VTkRVUFxcXCIsMjEzOlxcXCJST1VORERPV05cXFwiLDIxNDpcXFwiQVNDXFxcIiwyMTU6XFxcIkRCQ1NcXFwiLDIxNjpcXFwiUkFOS1xcXCIsMjE5OlxcXCJBRERSRVNTXFxcIiwyMjA6XFxcIkRBWVMzNjBcXFwiLDIyMTpcXFwiVE9EQVlcXFwiLDIyMjpcXFwiVkRCXFxcIiwyMjM6XFxcIkVMU0VcXFwiLDIyNDpcXFwiRUxTRS5JRlxcXCIsMjI1OlxcXCJFTkQuSUZcXFwiLDIyNjpcXFwiRk9SLkNFTExcXFwiLDIyNzpcXFwiTUVESUFOXFxcIiwyMjg6XFxcIlNVTVBST0RVQ1RcXFwiLDIyOTpcXFwiU0lOSFxcXCIsMjMwOlxcXCJDT1NIXFxcIiwyMzE6XFxcIlRBTkhcXFwiLDIzMjpcXFwiQVNJTkhcXFwiLDIzMzpcXFwiQUNPU0hcXFwiLDIzNDpcXFwiQVRBTkhcXFwiLDIzNTpcXFwiREdFVFxcXCIsMjM2OlxcXCJDUkVBVEUuT0JKRUNUXFxcIiwyMzc6XFxcIlZPTEFUSUxFXFxcIiwyMzg6XFxcIkxBU1QuRVJST1JcXFwiLDIzOTpcXFwiQ1VTVE9NLlVORE9cXFwiLDI0MDpcXFwiQ1VTVE9NLlJFUEVBVFxcXCIsMjQxOlxcXCJGT1JNVUxBLkNPTlZFUlRcXFwiLDI0MjpcXFwiR0VULkxJTksuSU5GT1xcXCIsMjQzOlxcXCJURVhULkJPWFxcXCIsMjQ0OlxcXCJJTkZPXFxcIiwyNDU6XFxcIkdST1VQXFxcIiwyNDY6XFxcIkdFVC5PQkpFQ1RcXFwiLDI0NzpcXFwiREJcXFwiLDI0ODpcXFwiUEFVU0VcXFwiLDI1MTpcXFwiUkVTVU1FXFxcIiwyNTI6XFxcIkZSRVFVRU5DWVxcXCIsMjUzOlxcXCJBREQuVE9PTEJBUlxcXCIsMjU0OlxcXCJERUxFVEUuVE9PTEJBUlxcXCIsMjU1OlxcXCJVc2VyXFxcIiwyNTY6XFxcIlJFU0VULlRPT0xCQVJcXFwiLDI1NzpcXFwiRVZBTFVBVEVcXFwiLDI1ODpcXFwiR0VULlRPT0xCQVJcXFwiLDI1OTpcXFwiR0VULlRPT0xcXFwiLDI2MDpcXFwiU1BFTExJTkcuQ0hFQ0tcXFwiLDI2MTpcXFwiRVJST1IuVFlQRVxcXCIsMjYyOlxcXCJBUFAuVElUTEVcXFwiLDI2MzpcXFwiV0lORE9XLlRJVExFXFxcIiwyNjQ6XFxcIlNBVkUuVE9PTEJBUlxcXCIsMjY1OlxcXCJFTkFCTEUuVE9PTFxcXCIsMjY2OlxcXCJQUkVTUy5UT09MXFxcIiwyNjc6XFxcIlJFR0lTVEVSLklEXFxcIiwyNjg6XFxcIkdFVC5XT1JLQk9PS1xcXCIsMjY5OlxcXCJBVkVERVZcXFwiLDI3MDpcXFwiQkVUQURJU1RcXFwiLDI3MTpcXFwiR0FNTUFMTlxcXCIsMjcyOlxcXCJCRVRBSU5WXFxcIiwyNzM6XFxcIkJJTk9NRElTVFxcXCIsMjc0OlxcXCJDSElESVNUXFxcIiwyNzU6XFxcIkNISUlOVlxcXCIsMjc2OlxcXCJDT01CSU5cXFwiLDI3NzpcXFwiQ09ORklERU5DRVxcXCIsMjc4OlxcXCJDUklUQklOT01cXFwiLDI3OTpcXFwiRVZFTlxcXCIsMjgwOlxcXCJFWFBPTkRJU1RcXFwiLDI4MTpcXFwiRkRJU1RcXFwiLDI4MjpcXFwiRklOVlxcXCIsMjgzOlxcXCJGSVNIRVJcXFwiLDI4NDpcXFwiRklTSEVSSU5WXFxcIiwyODU6XFxcIkZMT09SXFxcIiwyODY6XFxcIkdBTU1BRElTVFxcXCIsMjg3OlxcXCJHQU1NQUlOVlxcXCIsMjg4OlxcXCJDRUlMSU5HXFxcIiwyODk6XFxcIkhZUEdFT01ESVNUXFxcIiwyOTA6XFxcIkxPR05PUk1ESVNUXFxcIiwyOTE6XFxcIkxPR0lOVlxcXCIsMjkyOlxcXCJORUdCSU5PTURJU1RcXFwiLDI5MzpcXFwiTk9STURJU1RcXFwiLDI5NDpcXFwiTk9STVNESVNUXFxcIiwyOTU6XFxcIk5PUk1JTlZcXFwiLDI5NjpcXFwiTk9STVNJTlZcXFwiLDI5NzpcXFwiU1RBTkRBUkRJWkVcXFwiLDI5ODpcXFwiT0REXFxcIiwyOTk6XFxcIlBFUk1VVFxcXCIsMzAwOlxcXCJQT0lTU09OXFxcIiwzMDE6XFxcIlRESVNUXFxcIiwzMDI6XFxcIldFSUJVTExcXFwiLDMwMzpcXFwiU1VNWE1ZMlxcXCIsMzA0OlxcXCJTVU1YMk1ZMlxcXCIsMzA1OlxcXCJTVU1YMlBZMlxcXCIsMzA2OlxcXCJDSElURVNUXFxcIiwzMDc6XFxcIkNPUlJFTFxcXCIsMzA4OlxcXCJDT1ZBUlxcXCIsMzA5OlxcXCJGT1JFQ0FTVFxcXCIsMzEwOlxcXCJGVEVTVFxcXCIsMzExOlxcXCJJTlRFUkNFUFRcXFwiLDMxMjpcXFwiUEVBUlNPTlxcXCIsMzEzOlxcXCJSU1FcXFwiLDMxNDpcXFwiU1RFWVhcXFwiLDMxNTpcXFwiU0xPUEVcXFwiLDMxNjpcXFwiVFRFU1RcXFwiLDMxNzpcXFwiUFJPQlxcXCIsMzE4OlxcXCJERVZTUVxcXCIsMzE5OlxcXCJHRU9NRUFOXFxcIiwzMjA6XFxcIkhBUk1FQU5cXFwiLDMyMTpcXFwiU1VNU1FcXFwiLDMyMjpcXFwiS1VSVFxcXCIsMzIzOlxcXCJTS0VXXFxcIiwzMjQ6XFxcIlpURVNUXFxcIiwzMjU6XFxcIkxBUkdFXFxcIiwzMjY6XFxcIlNNQUxMXFxcIiwzMjc6XFxcIlFVQVJUSUxFXFxcIiwzMjg6XFxcIlBFUkNFTlRJTEVcXFwiLDMyOTpcXFwiUEVSQ0VOVFJBTktcXFwiLDMzMDpcXFwiTU9ERVxcXCIsMzMxOlxcXCJUUklNTUVBTlxcXCIsMzMyOlxcXCJUSU5WXFxcIiwzMzQ6XFxcIk1PVklFLkNPTU1BTkRcXFwiLDMzNTpcXFwiR0VULk1PVklFXFxcIiwzMzY6XFxcIkNPTkNBVEVOQVRFXFxcIiwzMzc6XFxcIlBPV0VSXFxcIiwzMzg6XFxcIlBJVk9ULkFERC5EQVRBXFxcIiwzMzk6XFxcIkdFVC5QSVZPVC5UQUJMRVxcXCIsMzQwOlxcXCJHRVQuUElWT1QuRklFTERcXFwiLDM0MTpcXFwiR0VULlBJVk9ULklURU1cXFwiLDM0MjpcXFwiUkFESUFOU1xcXCIsMzQzOlxcXCJERUdSRUVTXFxcIiwzNDQ6XFxcIlNVQlRPVEFMXFxcIiwzNDU6XFxcIlNVTUlGXFxcIiwzNDY6XFxcIkNPVU5USUZcXFwiLDM0NzpcXFwiQ09VTlRCTEFOS1xcXCIsMzQ4OlxcXCJTQ0VOQVJJTy5HRVRcXFwiLDM0OTpcXFwiT1BUSU9OUy5MSVNUUy5HRVRcXFwiLDM1MDpcXFwiSVNQTVRcXFwiLDM1MTpcXFwiREFURURJRlxcXCIsMzUyOlxcXCJEQVRFU1RSSU5HXFxcIiwzNTM6XFxcIk5VTUJFUlNUUklOR1xcXCIsMzU0OlxcXCJST01BTlxcXCIsMzU1OlxcXCJPUEVOLkRJQUxPR1xcXCIsMzU2OlxcXCJTQVZFLkRJQUxPR1xcXCIsMzU3OlxcXCJWSUVXLkdFVFxcXCIsMzU4OlxcXCJHRVRQSVZPVERBVEFcXFwiLDM1OTpcXFwiSFlQRVJMSU5LXFxcIiwzNjA6XFxcIlBIT05FVElDXFxcIiwzNjE6XFxcIkFWRVJBR0VBXFxcIiwzNjI6XFxcIk1BWEFcXFwiLDM2MzpcXFwiTUlOQVxcXCIsMzY0OlxcXCJTVERFVlBBXFxcIiwzNjU6XFxcIlZBUlBBXFxcIiwzNjY6XFxcIlNUREVWQVxcXCIsMzY3OlxcXCJWQVJBXFxcIiwzNjg6XFxcIkJBSFRURVhUXFxcIiwzNjk6XFxcIlRIQUlEQVlPRldFRUtcXFwiLDM3MDpcXFwiVEhBSURJR0lUXFxcIiwzNzE6XFxcIlRIQUlNT05USE9GWUVBUlxcXCIsMzcyOlxcXCJUSEFJTlVNU09VTkRcXFwiLDM3MzpcXFwiVEhBSU5VTVNUUklOR1xcXCIsMzc0OlxcXCJUSEFJU1RSSU5HTEVOR1RIXFxcIiwzNzU6XFxcIklTVEhBSURJR0lUXFxcIiwzNzY6XFxcIlJPVU5EQkFIVERPV05cXFwiLDM3NzpcXFwiUk9VTkRCQUhUVVBcXFwiLDM3ODpcXFwiVEhBSVlFQVJcXFwiLDM3OTpcXFwiUlREXFxcIiwzODA6XFxcIkNVQkVWQUxVRVxcXCIsMzgxOlxcXCJDVUJFTUVNQkVSXFxcIiwzODI6XFxcIkNVQkVNRU1CRVJQUk9QRVJUWVxcXCIsMzgzOlxcXCJDVUJFUkFOS0VETUVNQkVSXFxcIiwzODQ6XFxcIkhFWDJCSU5cXFwiLDM4NTpcXFwiSEVYMkRFQ1xcXCIsMzg2OlxcXCJIRVgyT0NUXFxcIiwzODc6XFxcIkRFQzJCSU5cXFwiLDM4ODpcXFwiREVDMkhFWFxcXCIsMzg5OlxcXCJERUMyT0NUXFxcIiwzOTA6XFxcIk9DVDJCSU5cXFwiLDM5MTpcXFwiT0NUMkhFWFxcXCIsMzkyOlxcXCJPQ1QyREVDXFxcIiwzOTM6XFxcIkJJTjJERUNcXFwiLDM5NDpcXFwiQklOMk9DVFxcXCIsMzk1OlxcXCJCSU4ySEVYXFxcIiwzOTY6XFxcIklNU1VCXFxcIiwzOTc6XFxcIklNRElWXFxcIiwzOTg6XFxcIklNUE9XRVJcXFwiLDM5OTpcXFwiSU1BQlNcXFwiLDQwMDpcXFwiSU1TUVJUXFxcIiw0MDE6XFxcIklNTE5cXFwiLDQwMjpcXFwiSU1MT0cyXFxcIiw0MDM6XFxcIklNTE9HMTBcXFwiLDQwNDpcXFwiSU1TSU5cXFwiLDQwNTpcXFwiSU1DT1NcXFwiLDQwNjpcXFwiSU1FWFBcXFwiLDQwNzpcXFwiSU1BUkdVTUVOVFxcXCIsNDA4OlxcXCJJTUNPTkpVR0FURVxcXCIsNDA5OlxcXCJJTUFHSU5BUllcXFwiLDQxMDpcXFwiSU1SRUFMXFxcIiw0MTE6XFxcIkNPTVBMRVhcXFwiLDQxMjpcXFwiSU1TVU1cXFwiLDQxMzpcXFwiSU1QUk9EVUNUXFxcIiw0MTQ6XFxcIlNFUklFU1NVTVxcXCIsNDE1OlxcXCJGQUNURE9VQkxFXFxcIiw0MTY6XFxcIlNRUlRQSVxcXCIsNDE3OlxcXCJRVU9USUVOVFxcXCIsNDE4OlxcXCJERUxUQVxcXCIsNDE5OlxcXCJHRVNURVBcXFwiLDQyMDpcXFwiSVNFVkVOXFxcIiw0MjE6XFxcIklTT0REXFxcIiw0MjI6XFxcIk1ST1VORFxcXCIsNDIzOlxcXCJFUkZcXFwiLDQyNDpcXFwiRVJGQ1xcXCIsNDI1OlxcXCJCRVNTRUxKXFxcIiw0MjY6XFxcIkJFU1NFTEtcXFwiLDQyNzpcXFwiQkVTU0VMWVxcXCIsNDI4OlxcXCJCRVNTRUxJXFxcIiw0Mjk6XFxcIlhJUlJcXFwiLDQzMDpcXFwiWE5QVlxcXCIsNDMxOlxcXCJQUklDRU1BVFxcXCIsNDMyOlxcXCJZSUVMRE1BVFxcXCIsNDMzOlxcXCJJTlRSQVRFXFxcIiw0MzQ6XFxcIlJFQ0VJVkVEXFxcIiw0MzU6XFxcIkRJU0NcXFwiLDQzNjpcXFwiUFJJQ0VESVNDXFxcIiw0Mzc6XFxcIllJRUxERElTQ1xcXCIsNDM4OlxcXCJUQklMTEVRXFxcIiw0Mzk6XFxcIlRCSUxMUFJJQ0VcXFwiLDQ0MDpcXFwiVEJJTExZSUVMRFxcXCIsNDQxOlxcXCJQUklDRVxcXCIsNDQyOlxcXCJZSUVMRFxcXCIsNDQzOlxcXCJET0xMQVJERVxcXCIsNDQ0OlxcXCJET0xMQVJGUlxcXCIsNDQ1OlxcXCJOT01JTkFMXFxcIiw0NDY6XFxcIkVGRkVDVFxcXCIsNDQ3OlxcXCJDVU1QUklOQ1xcXCIsXFxuNDQ4OlxcXCJDVU1JUE1UXFxcIiw0NDk6XFxcIkVEQVRFXFxcIiw0NTA6XFxcIkVPTU9OVEhcXFwiLDQ1MTpcXFwiWUVBUkZSQUNcXFwiLDQ1MjpcXFwiQ09VUERBWUJTXFxcIiw0NTM6XFxcIkNPVVBEQVlTXFxcIiw0NTQ6XFxcIkNPVVBEQVlTTkNcXFwiLDQ1NTpcXFwiQ09VUE5DRFxcXCIsNDU2OlxcXCJDT1VQTlVNXFxcIiw0NTc6XFxcIkNPVVBQQ0RcXFwiLDQ1ODpcXFwiRFVSQVRJT05cXFwiLDQ1OTpcXFwiTURVUkFUSU9OXFxcIiw0NjA6XFxcIk9ERExQUklDRVxcXCIsNDYxOlxcXCJPRERMWUlFTERcXFwiLDQ2MjpcXFwiT0RERlBSSUNFXFxcIiw0NjM6XFxcIk9EREZZSUVMRFxcXCIsNDY0OlxcXCJSQU5EQkVUV0VFTlxcXCIsNDY1OlxcXCJXRUVLTlVNXFxcIiw0NjY6XFxcIkFNT1JERUdSQ1xcXCIsNDY3OlxcXCJBTU9STElOQ1xcXCIsNDY4OlxcXCJDT05WRVJUXFxcIiw3MjQ6XFxcIlNIRUVUSlNcXFwiLDQ2OTpcXFwiQUNDUklOVFxcXCIsNDcwOlxcXCJBQ0NSSU5UTVxcXCIsNDcxOlxcXCJXT1JLREFZXFxcIiw0NzI6XFxcIk5FVFdPUktEQVlTXFxcIiw0NzM6XFxcIkdDRFxcXCIsNDc0OlxcXCJNVUxUSU5PTUlBTFxcXCIsNDc1OlxcXCJMQ01cXFwiLDQ3NjpcXFwiRlZTQ0hFRFVMRVxcXCIsNDc3OlxcXCJDVUJFS1BJTUVNQkVSXFxcIiw0Nzg6XFxcIkNVQkVTRVRcXFwiLDQ3OTpcXFwiQ1VCRVNFVENPVU5UXFxcIiw0ODA6XFxcIklGRVJST1JcXFwiLDQ4MTpcXFwiQ09VTlRJRlNcXFwiLDQ4MjpcXFwiU1VNSUZTXFxcIiw0ODM6XFxcIkFWRVJBR0VJRlxcXCIsNDg0OlxcXCJBVkVSQUdFSUZTXFxcIn07dmFyIHRoPXsyOjEsMzoxLDEwOjAsMTU6MSwxNjoxLDE3OjEsMTg6MSwxOTowLDIwOjEsMjE6MSwyMjoxLDIzOjEsMjQ6MSwyNToxLDI2OjEsMjc6MiwzMDoyLDMxOjMsMzI6MSwzMzoxLDM0OjAsMzU6MCwzODoxLDM5OjIsNDA6Myw0MTozLDQyOjMsNDM6Myw0NDozLDQ1OjMsNDc6Myw0ODoyLDUzOjEsNjE6Myw2MzowLDY1OjMsNjY6Myw2NzoxLDY4OjEsNjk6MSw3MDoxLDcxOjEsNzI6MSw3MzoxLDc0OjAsNzU6MSw3NjoxLDc3OjEsNzk6Miw4MDoyLDgzOjEsODU6MCw4NjoxLDg5OjAsOTA6MSw5NDowLDk1OjAsOTc6Miw5ODoxLDk5OjEsMTAxOjMsMTAyOjMsMTA1OjEsMTA2OjEsMTA4OjIsMTExOjEsMTEyOjEsMTEzOjEsMTE0OjEsMTE3OjIsMTE4OjEsMTE5OjQsMTIxOjEsMTI2OjEsMTI3OjEsMTI4OjEsMTI5OjEsMTMwOjEsMTMxOjEsMTMzOjEsMTM0OjEsMTM1OjEsMTM2OjIsMTM3OjIsMTM4OjIsMTQwOjEsMTQxOjEsMTQyOjMsMTQzOjQsMTQ0OjQsMTYxOjEsMTYyOjEsMTYzOjEsMTY0OjEsMTY1OjIsMTcyOjEsMTc1OjIsMTc2OjIsMTc3OjMsMTc4OjIsMTc5OjEsMTg0OjEsMTg2OjEsMTg5OjMsMTkwOjEsMTk1OjMsMTk2OjMsMTk3OjEsMTk4OjEsMTk5OjMsMjAxOjEsMjA3OjQsMjEwOjMsMjExOjEsMjEyOjIsMjEzOjIsMjE0OjEsMjE1OjEsMjI1OjAsMjI5OjEsMjMwOjEsMjMxOjEsMjMyOjEsMjMzOjEsMjM0OjEsMjM1OjMsMjQ0OjEsMjQ3OjQsMjUyOjIsMjU3OjEsMjYxOjEsMjcxOjEsMjczOjQsMjc0OjIsMjc1OjIsMjc2OjIsMjc3OjMsMjc4OjMsMjc5OjEsMjgwOjMsMjgxOjMsMjgyOjMsMjgzOjEsMjg0OjEsMjg1OjIsMjg2OjQsMjg3OjMsMjg4OjIsMjg5OjQsMjkwOjMsMjkxOjMsMjkyOjMsMjkzOjQsMjk0OjEsMjk1OjMsMjk2OjEsMjk3OjMsMjk4OjEsMjk5OjIsMzAwOjMsMzAxOjMsMzAyOjQsMzAzOjIsMzA0OjIsMzA1OjIsMzA2OjIsMzA3OjIsMzA4OjIsMzA5OjMsMzEwOjIsMzExOjIsMzEyOjIsMzEzOjIsMzE0OjIsMzE1OjIsMzE2OjQsMzI1OjIsMzI2OjIsMzI3OjIsMzI4OjIsMzMxOjIsMzMyOjIsMzM3OjIsMzQyOjEsMzQzOjEsMzQ2OjIsMzQ3OjEsMzUwOjQsMzUxOjMsMzUyOjEsMzUzOjIsMzYwOjEsMzY4OjEsMzY5OjEsMzcwOjEsMzcxOjEsMzcyOjEsMzczOjEsMzc0OjEsMzc1OjEsMzc2OjEsMzc3OjEsMzc4OjEsMzgyOjMsMzg1OjEsMzkyOjEsMzkzOjEsMzk2OjIsMzk3OjIsMzk4OjIsMzk5OjEsNDAwOjEsNDAxOjEsNDAyOjEsNDAzOjEsNDA0OjEsNDA1OjEsNDA2OjEsNDA3OjEsNDA4OjEsNDA5OjEsNDEwOjEsNDE0OjQsNDE1OjEsNDE2OjEsNDE3OjIsNDIwOjEsNDIxOjEsNDIyOjIsNDI0OjEsNDI1OjIsNDI2OjIsNDI3OjIsNDI4OjIsNDMwOjMsNDM4OjMsNDM5OjMsNDQwOjMsNDQzOjIsNDQ0OjIsNDQ1OjIsNDQ2OjIsNDQ3OjYsNDQ4OjYsNDQ5OjIsNDUwOjIsNDY0OjIsNDY4OjMsNDc2OjIsNDc5OjEsNDgwOjIsNjU1MzU6MH07dmFyIGFoPXtcXFwiX3hsZm4uQUNPVFxcXCI6XFxcIkFDT1RcXFwiLFxcXCJfeGxmbi5BQ09USFxcXCI6XFxcIkFDT1RIXFxcIixcXFwiX3hsZm4uQUdHUkVHQVRFXFxcIjpcXFwiQUdHUkVHQVRFXFxcIixcXFwiX3hsZm4uQVJBQklDXFxcIjpcXFwiQVJBQklDXFxcIixcXFwiX3hsZm4uQVZFUkFHRUlGXFxcIjpcXFwiQVZFUkFHRUlGXFxcIixcXFwiX3hsZm4uQVZFUkFHRUlGU1xcXCI6XFxcIkFWRVJBR0VJRlNcXFwiLFxcXCJfeGxmbi5CQVNFXFxcIjpcXFwiQkFTRVxcXCIsXFxcIl94bGZuLkJFVEEuRElTVFxcXCI6XFxcIkJFVEEuRElTVFxcXCIsXFxcIl94bGZuLkJFVEEuSU5WXFxcIjpcXFwiQkVUQS5JTlZcXFwiLFxcXCJfeGxmbi5CSU5PTS5ESVNUXFxcIjpcXFwiQklOT00uRElTVFxcXCIsXFxcIl94bGZuLkJJTk9NLkRJU1QuUkFOR0VcXFwiOlxcXCJCSU5PTS5ESVNULlJBTkdFXFxcIixcXFwiX3hsZm4uQklOT00uSU5WXFxcIjpcXFwiQklOT00uSU5WXFxcIixcXFwiX3hsZm4uQklUQU5EXFxcIjpcXFwiQklUQU5EXFxcIixcXFwiX3hsZm4uQklUTFNISUZUXFxcIjpcXFwiQklUTFNISUZUXFxcIixcXFwiX3hsZm4uQklUT1JcXFwiOlxcXCJCSVRPUlxcXCIsXFxcIl94bGZuLkJJVFJTSElGVFxcXCI6XFxcIkJJVFJTSElGVFxcXCIsXFxcIl94bGZuLkJJVFhPUlxcXCI6XFxcIkJJVFhPUlxcXCIsXFxcIl94bGZuLkNFSUxJTkcuTUFUSFxcXCI6XFxcIkNFSUxJTkcuTUFUSFxcXCIsXFxcIl94bGZuLkNFSUxJTkcuUFJFQ0lTRVxcXCI6XFxcIkNFSUxJTkcuUFJFQ0lTRVxcXCIsXFxcIl94bGZuLkNISVNRLkRJU1RcXFwiOlxcXCJDSElTUS5ESVNUXFxcIixcXFwiX3hsZm4uQ0hJU1EuRElTVC5SVFxcXCI6XFxcIkNISVNRLkRJU1QuUlRcXFwiLFxcXCJfeGxmbi5DSElTUS5JTlZcXFwiOlxcXCJDSElTUS5JTlZcXFwiLFxcXCJfeGxmbi5DSElTUS5JTlYuUlRcXFwiOlxcXCJDSElTUS5JTlYuUlRcXFwiLFxcXCJfeGxmbi5DSElTUS5URVNUXFxcIjpcXFwiQ0hJU1EuVEVTVFxcXCIsXFxcIl94bGZuLkNPTUJJTkFcXFwiOlxcXCJDT01CSU5BXFxcIixcXFwiX3hsZm4uQ09OQ0FUXFxcIjpcXFwiQ09OQ0FUXFxcIixcXFwiX3hsZm4uQ09ORklERU5DRS5OT1JNXFxcIjpcXFwiQ09ORklERU5DRS5OT1JNXFxcIixcXFwiX3hsZm4uQ09ORklERU5DRS5UXFxcIjpcXFwiQ09ORklERU5DRS5UXFxcIixcXFwiX3hsZm4uQ09UXFxcIjpcXFwiQ09UXFxcIixcXFwiX3hsZm4uQ09USFxcXCI6XFxcIkNPVEhcXFwiLFxcXCJfeGxmbi5DT1VOVElGU1xcXCI6XFxcIkNPVU5USUZTXFxcIixcXFwiX3hsZm4uQ09WQVJJQU5DRS5QXFxcIjpcXFwiQ09WQVJJQU5DRS5QXFxcIixcXFwiX3hsZm4uQ09WQVJJQU5DRS5TXFxcIjpcXFwiQ09WQVJJQU5DRS5TXFxcIixcXFwiX3hsZm4uQ1NDXFxcIjpcXFwiQ1NDXFxcIixcXFwiX3hsZm4uQ1NDSFxcXCI6XFxcIkNTQ0hcXFwiLFxcXCJfeGxmbi5EQVlTXFxcIjpcXFwiREFZU1xcXCIsXFxcIl94bGZuLkRFQ0lNQUxcXFwiOlxcXCJERUNJTUFMXFxcIixcXFwiX3hsZm4uRUNNQS5DRUlMSU5HXFxcIjpcXFwiRUNNQS5DRUlMSU5HXFxcIixcXFwiX3hsZm4uRVJGLlBSRUNJU0VcXFwiOlxcXCJFUkYuUFJFQ0lTRVxcXCIsXFxcIl94bGZuLkVSRkMuUFJFQ0lTRVxcXCI6XFxcIkVSRkMuUFJFQ0lTRVxcXCIsXFxcIl94bGZuLkVYUE9OLkRJU1RcXFwiOlxcXCJFWFBPTi5ESVNUXFxcIixcXFwiX3hsZm4uRi5ESVNUXFxcIjpcXFwiRi5ESVNUXFxcIixcXFwiX3hsZm4uRi5ESVNULlJUXFxcIjpcXFwiRi5ESVNULlJUXFxcIixcXFwiX3hsZm4uRi5JTlZcXFwiOlxcXCJGLklOVlxcXCIsXFxcIl94bGZuLkYuSU5WLlJUXFxcIjpcXFwiRi5JTlYuUlRcXFwiLFxcXCJfeGxmbi5GLlRFU1RcXFwiOlxcXCJGLlRFU1RcXFwiLFxcXCJfeGxmbi5GSUxURVJYTUxcXFwiOlxcXCJGSUxURVJYTUxcXFwiLFxcXCJfeGxmbi5GTE9PUi5NQVRIXFxcIjpcXFwiRkxPT1IuTUFUSFxcXCIsXFxcIl94bGZuLkZMT09SLlBSRUNJU0VcXFwiOlxcXCJGTE9PUi5QUkVDSVNFXFxcIixcXFwiX3hsZm4uRk9SRUNBU1QuRVRTXFxcIjpcXFwiRk9SRUNBU1QuRVRTXFxcIixcXFwiX3hsZm4uRk9SRUNBU1QuRVRTLkNPTkZJTlRcXFwiOlxcXCJGT1JFQ0FTVC5FVFMuQ09ORklOVFxcXCIsXFxcIl94bGZuLkZPUkVDQVNULkVUUy5TRUFTT05BTElUWVxcXCI6XFxcIkZPUkVDQVNULkVUUy5TRUFTT05BTElUWVxcXCIsXFxcIl94bGZuLkZPUkVDQVNULkVUUy5TVEFUXFxcIjpcXFwiRk9SRUNBU1QuRVRTLlNUQVRcXFwiLFxcXCJfeGxmbi5GT1JFQ0FTVC5MSU5FQVJcXFwiOlxcXCJGT1JFQ0FTVC5MSU5FQVJcXFwiLFxcXCJfeGxmbi5GT1JNVUxBVEVYVFxcXCI6XFxcIkZPUk1VTEFURVhUXFxcIixcXFwiX3hsZm4uR0FNTUFcXFwiOlxcXCJHQU1NQVxcXCIsXFxcIl94bGZuLkdBTU1BLkRJU1RcXFwiOlxcXCJHQU1NQS5ESVNUXFxcIixcXFwiX3hsZm4uR0FNTUEuSU5WXFxcIjpcXFwiR0FNTUEuSU5WXFxcIixcXFwiX3hsZm4uR0FNTUFMTi5QUkVDSVNFXFxcIjpcXFwiR0FNTUFMTi5QUkVDSVNFXFxcIixcXFwiX3hsZm4uR0FVU1NcXFwiOlxcXCJHQVVTU1xcXCIsXFxcIl94bGZuLkhZUEdFT00uRElTVFxcXCI6XFxcIkhZUEdFT00uRElTVFxcXCIsXFxcIl94bGZuLklGRVJST1JcXFwiOlxcXCJJRkVSUk9SXFxcIixcXFwiX3hsZm4uSUZOQVxcXCI6XFxcIklGTkFcXFwiLFxcXCJfeGxmbi5JRlNcXFwiOlxcXCJJRlNcXFwiLFxcXCJfeGxmbi5JTUNPU0hcXFwiOlxcXCJJTUNPU0hcXFwiLFxcXCJfeGxmbi5JTUNPVFxcXCI6XFxcIklNQ09UXFxcIixcXFwiX3hsZm4uSU1DU0NcXFwiOlxcXCJJTUNTQ1xcXCIsXFxcIl94bGZuLklNQ1NDSFxcXCI6XFxcIklNQ1NDSFxcXCIsXFxcIl94bGZuLklNU0VDXFxcIjpcXFwiSU1TRUNcXFwiLFxcXCJfeGxmbi5JTVNFQ0hcXFwiOlxcXCJJTVNFQ0hcXFwiLFxcXCJfeGxmbi5JTVNJTkhcXFwiOlxcXCJJTVNJTkhcXFwiLFxcXCJfeGxmbi5JTVRBTlxcXCI6XFxcIklNVEFOXFxcIixcXFwiX3hsZm4uSVNGT1JNVUxBXFxcIjpcXFwiSVNGT1JNVUxBXFxcIixcXFwiX3hsZm4uSVNPLkNFSUxJTkdcXFwiOlxcXCJJU08uQ0VJTElOR1xcXCIsXFxcIl94bGZuLklTT1dFRUtOVU1cXFwiOlxcXCJJU09XRUVLTlVNXFxcIixcXFwiX3hsZm4uTE9HTk9STS5ESVNUXFxcIjpcXFwiTE9HTk9STS5ESVNUXFxcIixcXFwiX3hsZm4uTE9HTk9STS5JTlZcXFwiOlxcXCJMT0dOT1JNLklOVlxcXCIsXFxcIl94bGZuLk1BWElGU1xcXCI6XFxcIk1BWElGU1xcXCIsXFxcIl94bGZuLk1JTklGU1xcXCI6XFxcIk1JTklGU1xcXCIsXFxcIl94bGZuLk1PREUuTVVMVFxcXCI6XFxcIk1PREUuTVVMVFxcXCIsXFxcIl94bGZuLk1PREUuU05HTFxcXCI6XFxcIk1PREUuU05HTFxcXCIsXFxcIl94bGZuLk1VTklUXFxcIjpcXFwiTVVOSVRcXFwiLFxcXCJfeGxmbi5ORUdCSU5PTS5ESVNUXFxcIjpcXFwiTkVHQklOT00uRElTVFxcXCIsXFxcIl94bGZuLk5FVFdPUktEQVlTLklOVExcXFwiOlxcXCJORVRXT1JLREFZUy5JTlRMXFxcIixcXFwiX3hsZm4uTklHQklOT01cXFwiOlxcXCJOSUdCSU5PTVxcXCIsXFxcIl94bGZuLk5PUk0uRElTVFxcXCI6XFxcIk5PUk0uRElTVFxcXCIsXFxcIl94bGZuLk5PUk0uSU5WXFxcIjpcXFwiTk9STS5JTlZcXFwiLFxcXCJfeGxmbi5OT1JNLlMuRElTVFxcXCI6XFxcIk5PUk0uUy5ESVNUXFxcIixcXFwiX3hsZm4uTk9STS5TLklOVlxcXCI6XFxcIk5PUk0uUy5JTlZcXFwiLFxcXCJfeGxmbi5OVU1CRVJWQUxVRVxcXCI6XFxcIk5VTUJFUlZBTFVFXFxcIixcXFwiX3hsZm4uUERVUkFUSU9OXFxcIjpcXFwiUERVUkFUSU9OXFxcIixcXFwiX3hsZm4uUEVSQ0VOVElMRS5FWENcXFwiOlxcXCJQRVJDRU5USUxFLkVYQ1xcXCIsXFxcIl94bGZuLlBFUkNFTlRJTEUuSU5DXFxcIjpcXFwiUEVSQ0VOVElMRS5JTkNcXFwiLFxcXCJfeGxmbi5QRVJDRU5UUkFOSy5FWENcXFwiOlxcXCJQRVJDRU5UUkFOSy5FWENcXFwiLFxcXCJfeGxmbi5QRVJDRU5UUkFOSy5JTkNcXFwiOlxcXCJQRVJDRU5UUkFOSy5JTkNcXFwiLFxcXCJfeGxmbi5QRVJNVVRBVElPTkFcXFwiOlxcXCJQRVJNVVRBVElPTkFcXFwiLFxcXCJfeGxmbi5QSElcXFwiOlxcXCJQSElcXFwiLFxcXCJfeGxmbi5QT0lTU09OLkRJU1RcXFwiOlxcXCJQT0lTU09OLkRJU1RcXFwiLFxcXCJfeGxmbi5RVUFSVElMRS5FWENcXFwiOlxcXCJRVUFSVElMRS5FWENcXFwiLFxcXCJfeGxmbi5RVUFSVElMRS5JTkNcXFwiOlxcXCJRVUFSVElMRS5JTkNcXFwiLFxcXCJfeGxmbi5RVUVSWVNUUklOR1xcXCI6XFxcIlFVRVJZU1RSSU5HXFxcIixcXFwiX3hsZm4uUkFOSy5BVkdcXFwiOlxcXCJSQU5LLkFWR1xcXCIsXFxcIl94bGZuLlJBTksuRVFcXFwiOlxcXCJSQU5LLkVRXFxcIixcXFwiX3hsZm4uUlJJXFxcIjpcXFwiUlJJXFxcIixcXFwiX3hsZm4uU0VDXFxcIjpcXFwiU0VDXFxcIixcXFwiX3hsZm4uU0VDSFxcXCI6XFxcIlNFQ0hcXFwiLFxcXCJfeGxmbi5TSEVFVFxcXCI6XFxcIlNIRUVUXFxcIixcXFwiX3hsZm4uU0hFRVRTXFxcIjpcXFwiU0hFRVRTXFxcIixcXFwiX3hsZm4uU0tFVy5QXFxcIjpcXFwiU0tFVy5QXFxcIixcXFwiX3hsZm4uU1RERVYuUFxcXCI6XFxcIlNUREVWLlBcXFwiLFxcXCJfeGxmbi5TVERFVi5TXFxcIjpcXFwiU1RERVYuU1xcXCIsXFxcIl94bGZuLlNVTUlGU1xcXCI6XFxcIlNVTUlGU1xcXCIsXFxcIl94bGZuLlNXSVRDSFxcXCI6XFxcIlNXSVRDSFxcXCIsXFxcIl94bGZuLlQuRElTVFxcXCI6XFxcIlQuRElTVFxcXCIsXFxcIl94bGZuLlQuRElTVC4yVFxcXCI6XFxcIlQuRElTVC4yVFxcXCIsXFxcIl94bGZuLlQuRElTVC5SVFxcXCI6XFxcIlQuRElTVC5SVFxcXCIsXFxcIl94bGZuLlQuSU5WXFxcIjpcXFwiVC5JTlZcXFwiLFxcXCJfeGxmbi5ULklOVi4yVFxcXCI6XFxcIlQuSU5WLjJUXFxcIixcXFwiX3hsZm4uVC5URVNUXFxcIjpcXFwiVC5URVNUXFxcIixcXFwiX3hsZm4uVEVYVEpPSU5cXFwiOlxcXCJURVhUSk9JTlxcXCIsXFxcIl94bGZuLlVOSUNIQVJcXFwiOlxcXCJVTklDSEFSXFxcIixcXFwiX3hsZm4uVU5JQ09ERVxcXCI6XFxcIlVOSUNPREVcXFwiLFxcXCJfeGxmbi5WQVIuUFxcXCI6XFxcIlZBUi5QXFxcIixcXFwiX3hsZm4uVkFSLlNcXFwiOlxcXCJWQVIuU1xcXCIsXFxcIl94bGZuLldFQlNFUlZJQ0VcXFwiOlxcXCJXRUJTRVJWSUNFXFxcIixcXFwiX3hsZm4uV0VJQlVMTC5ESVNUXFxcIjpcXFwiV0VJQlVMTC5ESVNUXFxcIixcXFwiX3hsZm4uV09SS0RBWS5JTlRMXFxcIjpcXFwiV09SS0RBWS5JTlRMXFxcIixcXFwiX3hsZm4uWE9SXFxcIjpcXFwiWE9SXFxcIixcXFwiX3hsZm4uWi5URVNUXFxcIjpcXFwiWi5URVNUXFxcIn07ZnVuY3Rpb24gbmgoZSl7aWYoZS5zbGljZSgwLDMpPT1cXFwib2Y6XFxcIillPWUuc2xpY2UoMyk7aWYoZS5jaGFyQ29kZUF0KDApPT02MSl7ZT1lLnNsaWNlKDEpO2lmKGUuY2hhckNvZGVBdCgwKT09NjEpZT1lLnNsaWNlKDEpfWU9ZS5yZXBsYWNlKC9DT01cXFxcLk1JQ1JPU09GVFxcXFwuL2csXFxcIlxcXCIpO2U9ZS5yZXBsYWNlKC9cXFxcWygoPzpcXFxcLltBLVpdK1swLTldKykoPzo6XFxcXC5bQS1aXStbMC05XSspPylcXFxcXS9nLGZ1bmN0aW9uKGUscil7cmV0dXJuIHIucmVwbGFjZSgvXFxcXC4vZyxcXFwiXFxcIil9KTtlPWUucmVwbGFjZSgvXFxcXFsuKCNbQS1aXSpbPyFdKVxcXFxdL2csXFxcIiQxXFxcIik7cmV0dXJuIGUucmVwbGFjZSgvWzt+XS9nLFxcXCIsXFxcIikucmVwbGFjZSgvXFxcXHwvZyxcXFwiO1xcXCIpfWZ1bmN0aW9uIGloKGUpe3ZhciByPVxcXCJvZjo9XFxcIitlLnJlcGxhY2UoaWMsXFxcIiQxWy4kMiQzJDQkNV1cXFwiKS5yZXBsYWNlKC9cXFxcXTpcXFxcWy9nLFxcXCI6XFxcIik7cmV0dXJuIHIucmVwbGFjZSgvOy9nLFxcXCJ8XFxcIikucmVwbGFjZSgvLC9nLFxcXCI7XFxcIil9ZnVuY3Rpb24gc2goZSl7dmFyIHI9ZS5zcGxpdChcXFwiOlxcXCIpO3ZhciB0PXJbMF0uc3BsaXQoXFxcIi5cXFwiKVswXTtyZXR1cm5bdCxyWzBdLnNwbGl0KFxcXCIuXFxcIilbMV0rKHIubGVuZ3RoPjE/XFxcIjpcXFwiKyhyWzFdLnNwbGl0KFxcXCIuXFxcIilbMV18fHJbMV0uc3BsaXQoXFxcIi5cXFwiKVswXSk6XFxcIlxcXCIpXX1mdW5jdGlvbiBmaChlKXtyZXR1cm4gZS5yZXBsYWNlKC9cXFxcLi8sXFxcIiFcXFwiKX12YXIgb2g9e307dmFyIGxoPXt9O01hLldTPVtcXFwiaHR0cDovL3NjaGVtYXMub3BlbnhtbGZvcm1hdHMub3JnL29mZmljZURvY3VtZW50LzIwMDYvcmVsYXRpb25zaGlwcy93b3Jrc2hlZXRcXFwiLFxcXCJodHRwOi8vcHVybC5vY2xjLm9yZy9vb3htbC9vZmZpY2VEb2N1bWVudC9yZWxhdGlvbnNoaXBzL3dvcmtzaGVldFxcXCJdO3ZhciBjaD10eXBlb2YgTWFwIT09XFxcInVuZGVmaW5lZFxcXCI7ZnVuY3Rpb24gdWgoZSxyLHQpe3ZhciBhPTAsbj1lLmxlbmd0aDtpZih0KXtpZihjaD90LmhhcyhyKTpPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwodCxyKSl7dmFyIGk9Y2g/dC5nZXQocik6dFtyXTtmb3IoO2E8aS5sZW5ndGg7KythKXtpZihlW2lbYV1dLnQ9PT1yKXtlLkNvdW50Kys7cmV0dXJuIGlbYV19fX19ZWxzZSBmb3IoO2E8bjsrK2Epe2lmKGVbYV0udD09PXIpe2UuQ291bnQrKztyZXR1cm4gYX19ZVtuXT17dDpyfTtlLkNvdW50Kys7ZS5VbmlxdWUrKztpZih0KXtpZihjaCl7aWYoIXQuaGFzKHIpKXQuc2V0KHIsW10pO3QuZ2V0KHIpLnB1c2gobil9ZWxzZXtpZighT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHQscikpdFtyXT1bXTt0W3JdLnB1c2gobil9fXJldHVybiBufWZ1bmN0aW9uIGhoKGUscil7dmFyIHQ9e21pbjplKzEsbWF4OmUrMX07dmFyIGE9LTE7aWYoci5NRFcpbW89ci5NRFc7aWYoci53aWR0aCE9bnVsbCl0LmN1c3RvbVdpZHRoPTE7ZWxzZSBpZihyLndweCE9bnVsbClhPWdvKHIud3B4KTtlbHNlIGlmKHIud2NoIT1udWxsKWE9ci53Y2g7aWYoYT4tMSl7dC53aWR0aD13byhhKTt0LmN1c3RvbVdpZHRoPTF9ZWxzZSBpZihyLndpZHRoIT1udWxsKXQud2lkdGg9ci53aWR0aDtpZihyLmhpZGRlbil0LmhpZGRlbj10cnVlO3JldHVybiB0fWZ1bmN0aW9uIGRoKGUscil7aWYoIWUpcmV0dXJuO3ZhciB0PVsuNywuNywuNzUsLjc1LC4zLC4zXTtpZihyPT1cXFwieGxtbFxcXCIpdD1bMSwxLDEsMSwuNSwuNV07aWYoZS5sZWZ0PT1udWxsKWUubGVmdD10WzBdO2lmKGUucmlnaHQ9PW51bGwpZS5yaWdodD10WzFdO2lmKGUudG9wPT1udWxsKWUudG9wPXRbMl07aWYoZS5ib3R0b209PW51bGwpZS5ib3R0b209dFszXTtpZihlLmhlYWRlcj09bnVsbCllLmhlYWRlcj10WzRdO2lmKGUuZm9vdGVyPT1udWxsKWUuZm9vdGVyPXRbNV19ZnVuY3Rpb24gdmgoZSxyLHQpe3ZhciBhPXQucmV2c3NmW3IueiE9bnVsbD9yLno6XFxcIkdlbmVyYWxcXFwiXTt2YXIgbj02MCxpPWUubGVuZ3RoO2lmKGE9PW51bGwmJnQuc3NmKXtmb3IoO248MzkyOysrbilpZih0LnNzZltuXT09bnVsbCl7RC5sb2FkKHIueixuKTt0LnNzZltuXT1yLno7dC5yZXZzc2Zbci56XT1hPW47YnJlYWt9fWZvcihuPTA7biE9aTsrK24paWYoZVtuXS5udW1GbXRJZD09PWEpcmV0dXJuIG47ZVtpXT17bnVtRm10SWQ6YSxmb250SWQ6MCxmaWxsSWQ6MCxib3JkZXJJZDowLHhmSWQ6MCxhcHBseU51bWJlckZvcm1hdDoxfTtyZXR1cm4gaX1mdW5jdGlvbiBwaChlLHIsdCxhLG4saSl7dHJ5e2lmKGEuY2VsbE5GKWUuej1ELl90YWJsZVtyXX1jYXRjaChzKXtpZihhLldURil0aHJvdyBzfWlmKGUudD09PVxcXCJ6XFxcIilyZXR1cm47aWYoZS50PT09XFxcImRcXFwiJiZ0eXBlb2YgZS52PT09XFxcInN0cmluZ1xcXCIpZS52PW9lKGUudik7aWYoIWF8fGEuY2VsbFRleHQhPT1mYWxzZSl0cnl7aWYoRC5fdGFibGVbcl09PW51bGwpRC5sb2FkKE5bcl18fFxcXCJHZW5lcmFsXFxcIixyKTtpZihlLnQ9PT1cXFwiZVxcXCIpZS53PWUud3x8eGFbZS52XTtlbHNlIGlmKHI9PT0wKXtpZihlLnQ9PT1cXFwiblxcXCIpe2lmKChlLnZ8MCk9PT1lLnYpZS53PUQuX2dlbmVyYWxfaW50KGUudik7ZWxzZSBlLnc9RC5fZ2VuZXJhbF9udW0oZS52KX1lbHNlIGlmKGUudD09PVxcXCJkXFxcIil7dmFyIGY9ZWUoZS52KTtpZigoZnwwKT09PWYpZS53PUQuX2dlbmVyYWxfaW50KGYpO2Vsc2UgZS53PUQuX2dlbmVyYWxfbnVtKGYpfWVsc2UgaWYoZS52PT09dW5kZWZpbmVkKXJldHVyblxcXCJcXFwiO2Vsc2UgZS53PUQuX2dlbmVyYWwoZS52LGxoKX1lbHNlIGlmKGUudD09PVxcXCJkXFxcIillLnc9RC5mb3JtYXQocixlZShlLnYpLGxoKTtlbHNlIGUudz1ELmZvcm1hdChyLGUudixsaCl9Y2F0Y2gocyl7aWYoYS5XVEYpdGhyb3cgc31pZighYS5jZWxsU3R5bGVzKXJldHVybjtpZih0IT1udWxsKXRyeXtlLnM9aS5GaWxsc1t0XTtpZihlLnMuZmdDb2xvciYmZS5zLmZnQ29sb3IudGhlbWUmJiFlLnMuZmdDb2xvci5yZ2Ipe2Uucy5mZ0NvbG9yLnJnYj11byhuLnRoZW1lRWxlbWVudHMuY2xyU2NoZW1lW2Uucy5mZ0NvbG9yLnRoZW1lXS5yZ2IsZS5zLmZnQ29sb3IudGludHx8MCk7aWYoYS5XVEYpZS5zLmZnQ29sb3IucmF3X3JnYj1uLnRoZW1lRWxlbWVudHMuY2xyU2NoZW1lW2Uucy5mZ0NvbG9yLnRoZW1lXS5yZ2J9aWYoZS5zLmJnQ29sb3ImJmUucy5iZ0NvbG9yLnRoZW1lKXtlLnMuYmdDb2xvci5yZ2I9dW8obi50aGVtZUVsZW1lbnRzLmNsclNjaGVtZVtlLnMuYmdDb2xvci50aGVtZV0ucmdiLGUucy5iZ0NvbG9yLnRpbnR8fDApO2lmKGEuV1RGKWUucy5iZ0NvbG9yLnJhd19yZ2I9bi50aGVtZUVsZW1lbnRzLmNsclNjaGVtZVtlLnMuYmdDb2xvci50aGVtZV0ucmdifX1jYXRjaChzKXtpZihhLldURiYmaS5GaWxscyl0aHJvdyBzfX1mdW5jdGlvbiBtaChlLHIsdCl7aWYoZSYmZVtcXFwiIXJlZlxcXCJdKXt2YXIgYT1rdChlW1xcXCIhcmVmXFxcIl0pO2lmKGEuZS5jPGEucy5jfHxhLmUucjxhLnMucil0aHJvdyBuZXcgRXJyb3IoXFxcIkJhZCByYW5nZSAoXFxcIit0K1xcXCIpOiBcXFwiK2VbXFxcIiFyZWZcXFwiXSl9fWZ1bmN0aW9uIGJoKGUscil7dmFyIHQ9a3Qocik7aWYodC5zLnI8PXQuZS5yJiZ0LnMuYzw9dC5lLmMmJnQucy5yPj0wJiZ0LnMuYz49MCllW1xcXCIhcmVmXFxcIl09d3QodCl9dmFyIGdoPS88KD86XFxcXHc6KT9tZXJnZUNlbGwgcmVmPVxcXCJbQS1aMC05Ol0rXFxcIlxcXFxzKltcXFxcL10/Pi9nO3ZhciB3aD0vPCg/OlxcXFx3KzopP3NoZWV0RGF0YVtePl0qPihbXFxcXHNcXFxcU10qKTxcXFxcLyg/OlxcXFx3KzopP3NoZWV0RGF0YT4vO3ZhciBraD0vPCg/OlxcXFx3Oik/aHlwZXJsaW5rIFtePl0qPi9nbTt2YXIgRWg9L1xcXCIoXFxcXHcqOlxcXFx3KilcXFwiLzt2YXIgU2g9LzwoPzpcXFxcdzopP2NvbFxcXFxiW14+XSpbXFxcXC9dPz4vZzt2YXIgX2g9LzwoPzpcXFxcdzopP2F1dG9GaWx0ZXJbXj5dKihbXFxcXC9dfD4oW1xcXFxzXFxcXFNdKik8XFxcXC8oPzpcXFxcdzopP2F1dG9GaWx0ZXIpPi9nO3ZhciBDaD0vPCg/OlxcXFx3Oik/cGFnZU1hcmdpbnNbXj5dKlxcXFwvPi9nO3ZhciBCaD0vPCg/OlxcXFx3Oik/c2hlZXRQclxcXFxiKD86W14+YS16XVtePl0qKT9cXFxcLz4vO3ZhciBUaD0vPCg/OlxcXFx3Oik/c2hlZXRWaWV3c1tePl0qKD86W1xcXFwvXXw+KFtcXFxcc1xcXFxTXSopPFxcXFwvKD86XFxcXHc6KT9zaGVldFZpZXdzKT4vO2Z1bmN0aW9uIHloKGUscix0LGEsbixpLHMpe2lmKCFlKXJldHVybiBlO2lmKCFhKWE9e1xcXCIhaWRcXFwiOnt9fTtpZihtIT1udWxsJiZyLmRlbnNlPT1udWxsKXIuZGVuc2U9bTt2YXIgZj1yLmRlbnNlP1tdOnt9O3ZhciBvPXtzOntyOjJlNixjOjJlNn0sZTp7cjowLGM6MH19O3ZhciBsPVxcXCJcXFwiLGM9XFxcIlxcXCI7dmFyIHU9ZS5tYXRjaCh3aCk7aWYodSl7bD1lLnNsaWNlKDAsdS5pbmRleCk7Yz1lLnNsaWNlKHUuaW5kZXgrdVswXS5sZW5ndGgpfWVsc2UgbD1jPWU7dmFyIGg9bC5tYXRjaChCaCk7aWYoaClBaChoWzBdLGYsbix0KTt2YXIgZD0obC5tYXRjaCgvPCg/OlxcXFx3KjopP2RpbWVuc2lvbi8pfHx7aW5kZXg6LTF9KS5pbmRleDtpZihkPjApe3ZhciB2PWwuc2xpY2UoZCxkKzUwKS5tYXRjaChFaCk7aWYodiliaChmLHZbMV0pfXZhciBwPWwubWF0Y2goVGgpO2lmKHAmJnBbMV0pV2gocFsxXSxuKTt2YXIgYj1bXTtpZihyLmNlbGxTdHlsZXMpe3ZhciBnPWwubWF0Y2goU2gpO2lmKGcpTGgoYixnKX1pZih1KUdoKHVbMV0sZixyLG8saSxzKTt2YXIgdz1jLm1hdGNoKF9oKTtpZih3KWZbXFxcIiFhdXRvZmlsdGVyXFxcIl09VWgod1swXSk7dmFyIGs9W107dmFyIEU9Yy5tYXRjaChnaCk7aWYoRSlmb3IoZD0wO2QhPUUubGVuZ3RoOysrZClrW2RdPWt0KEVbZF0uc2xpY2UoRVtkXS5pbmRleE9mKCdcXFwiJykrMSkpO3ZhciBTPWMubWF0Y2goa2gpO2lmKFMpRmgoZixTLGEpO3ZhciBfPWMubWF0Y2goQ2gpO2lmKF8pZltcXFwiIW1hcmdpbnNcXFwiXT1QaChGZShfWzBdKSk7aWYoIWZbXFxcIiFyZWZcXFwiXSYmby5lLmM+PW8ucy5jJiZvLmUucj49by5zLnIpZltcXFwiIXJlZlxcXCJdPXd0KG8pO2lmKHIuc2hlZXRSb3dzPjAmJmZbXFxcIiFyZWZcXFwiXSl7dmFyIEM9a3QoZltcXFwiIXJlZlxcXCJdKTtpZihyLnNoZWV0Um93czw9K0MuZS5yKXtDLmUucj1yLnNoZWV0Um93cy0xO2lmKEMuZS5yPm8uZS5yKUMuZS5yPW8uZS5yO2lmKEMuZS5yPEMucy5yKUMucy5yPUMuZS5yO2lmKEMuZS5jPm8uZS5jKUMuZS5jPW8uZS5jO2lmKEMuZS5jPEMucy5jKUMucy5jPUMuZS5jO2ZbXFxcIiFmdWxscmVmXFxcIl09ZltcXFwiIXJlZlxcXCJdO2ZbXFxcIiFyZWZcXFwiXT13dChDKX19aWYoYi5sZW5ndGg+MClmW1xcXCIhY29sc1xcXCJdPWI7aWYoay5sZW5ndGg+MClmW1xcXCIhbWVyZ2VzXFxcIl09aztyZXR1cm4gZn1mdW5jdGlvbiB4aChlKXtpZihlLmxlbmd0aD09PTApcmV0dXJuXFxcIlxcXCI7dmFyIHI9JzxtZXJnZUNlbGxzIGNvdW50PVxcXCInK2UubGVuZ3RoKydcXFwiPic7Zm9yKHZhciB0PTA7dCE9ZS5sZW5ndGg7Kyt0KXIrPSc8bWVyZ2VDZWxsIHJlZj1cXFwiJyt3dChlW3RdKSsnXFxcIi8+JztyZXR1cm4gcitcXFwiPC9tZXJnZUNlbGxzPlxcXCJ9ZnVuY3Rpb24gQWgoZSxyLHQsYSl7dmFyIG49RmUoZSk7aWYoIXQuU2hlZXRzW2FdKXQuU2hlZXRzW2FdPXt9O2lmKG4uY29kZU5hbWUpdC5TaGVldHNbYV0uQ29kZU5hbWU9TWUoWWUobi5jb2RlTmFtZSkpfWZ1bmN0aW9uIEloKGUscix0LGEsbil7dmFyIGk9ZmFsc2U7dmFyIHM9e30sZj1udWxsO2lmKGEuYm9va1R5cGUhPT1cXFwieGxzeFxcXCImJnIudmJhcmF3KXt2YXIgbz1yLlNoZWV0TmFtZXNbdF07dHJ5e2lmKHIuV29ya2Jvb2spbz1yLldvcmtib29rLlNoZWV0c1t0XS5Db2RlTmFtZXx8b31jYXRjaChsKXt9aT10cnVlO3MuY29kZU5hbWU9WmUoSGUobykpfWlmKGUmJmVbXFxcIiFvdXRsaW5lXFxcIl0pe3ZhciBjPXtzdW1tYXJ5QmVsb3c6MSxzdW1tYXJ5UmlnaHQ6MX07aWYoZVtcXFwiIW91dGxpbmVcXFwiXS5hYm92ZSljLnN1bW1hcnlCZWxvdz0wO2lmKGVbXFxcIiFvdXRsaW5lXFxcIl0ubGVmdCljLnN1bW1hcnlSaWdodD0wO2Y9KGZ8fFxcXCJcXFwiKStscihcXFwib3V0bGluZVByXFxcIixudWxsLGMpfWlmKCFpJiYhZilyZXR1cm47bltuLmxlbmd0aF09bHIoXFxcInNoZWV0UHJcXFwiLGYscyl9dmFyIFJoPVtcXFwib2JqZWN0c1xcXCIsXFxcInNjZW5hcmlvc1xcXCIsXFxcInNlbGVjdExvY2tlZENlbGxzXFxcIixcXFwic2VsZWN0VW5sb2NrZWRDZWxsc1xcXCJdO3ZhciBPaD1bXFxcImZvcm1hdENvbHVtbnNcXFwiLFxcXCJmb3JtYXRSb3dzXFxcIixcXFwiZm9ybWF0Q2VsbHNcXFwiLFxcXCJpbnNlcnRDb2x1bW5zXFxcIixcXFwiaW5zZXJ0Um93c1xcXCIsXFxcImluc2VydEh5cGVybGlua3NcXFwiLFxcXCJkZWxldGVDb2x1bW5zXFxcIixcXFwiZGVsZXRlUm93c1xcXCIsXFxcInNvcnRcXFwiLFxcXCJhdXRvRmlsdGVyXFxcIixcXFwicGl2b3RUYWJsZXNcXFwiXTtmdW5jdGlvbiBEaChlKXt2YXIgcj17c2hlZXQ6MX07UmguZm9yRWFjaChmdW5jdGlvbih0KXtpZihlW3RdIT1udWxsJiZlW3RdKXJbdF09XFxcIjFcXFwifSk7T2guZm9yRWFjaChmdW5jdGlvbih0KXtpZihlW3RdIT1udWxsJiYhZVt0XSlyW3RdPVxcXCIwXFxcIn0pO2lmKGUucGFzc3dvcmQpci5wYXNzd29yZD1xZihlLnBhc3N3b3JkKS50b1N0cmluZygxNikudG9VcHBlckNhc2UoKTtyZXR1cm4gbHIoXFxcInNoZWV0UHJvdGVjdGlvblxcXCIsbnVsbCxyKX1mdW5jdGlvbiBGaChlLHIsdCl7dmFyIGE9QXJyYXkuaXNBcnJheShlKTtmb3IodmFyIG49MDtuIT1yLmxlbmd0aDsrK24pe3ZhciBpPUZlKFllKHJbbl0pLHRydWUpO2lmKCFpLnJlZilyZXR1cm47dmFyIHM9KCh0fHx7fSlbXFxcIiFpZFxcXCJdfHxbXSlbaS5pZF07aWYocyl7aS5UYXJnZXQ9cy5UYXJnZXQ7aWYoaS5sb2NhdGlvbilpLlRhcmdldCs9XFxcIiNcXFwiK2kubG9jYXRpb259ZWxzZXtpLlRhcmdldD1cXFwiI1xcXCIraS5sb2NhdGlvbjtzPXtUYXJnZXQ6aS5UYXJnZXQsVGFyZ2V0TW9kZTpcXFwiSW50ZXJuYWxcXFwifX1pLlJlbD1zO2lmKGkudG9vbHRpcCl7aS5Ub29sdGlwPWkudG9vbHRpcDtkZWxldGUgaS50b29sdGlwfXZhciBmPWt0KGkucmVmKTtmb3IodmFyIG89Zi5zLnI7bzw9Zi5lLnI7KytvKWZvcih2YXIgbD1mLnMuYztsPD1mLmUuYzsrK2wpe3ZhciBjPWJ0KHtjOmwscjpvfSk7aWYoYSl7aWYoIWVbb10pZVtvXT1bXTtpZighZVtvXVtsXSllW29dW2xdPXt0OlxcXCJ6XFxcIix2OnVuZGVmaW5lZH07ZVtvXVtsXS5sPWl9ZWxzZXtpZighZVtjXSllW2NdPXt0OlxcXCJ6XFxcIix2OnVuZGVmaW5lZH07ZVtjXS5sPWl9fX19ZnVuY3Rpb24gUGgoZSl7dmFyIHI9e307W1xcXCJsZWZ0XFxcIixcXFwicmlnaHRcXFwiLFxcXCJ0b3BcXFwiLFxcXCJib3R0b21cXFwiLFxcXCJoZWFkZXJcXFwiLFxcXCJmb290ZXJcXFwiXS5mb3JFYWNoKGZ1bmN0aW9uKHQpe2lmKGVbdF0pclt0XT1wYXJzZUZsb2F0KGVbdF0pfSk7cmV0dXJuIHJ9ZnVuY3Rpb24gTmgoZSl7ZGgoZSk7cmV0dXJuIGxyKFxcXCJwYWdlTWFyZ2luc1xcXCIsbnVsbCxlKX1mdW5jdGlvbiBMaChlLHIpe3ZhciB0PWZhbHNlO2Zvcih2YXIgYT0wO2EhPXIubGVuZ3RoOysrYSl7dmFyIG49RmUoclthXSx0cnVlKTtpZihuLmhpZGRlbiluLmhpZGRlbj0kZShuLmhpZGRlbik7dmFyIGk9cGFyc2VJbnQobi5taW4sMTApLTEscz1wYXJzZUludChuLm1heCwxMCktMTtkZWxldGUgbi5taW47ZGVsZXRlIG4ubWF4O24ud2lkdGg9K24ud2lkdGg7aWYoIXQmJm4ud2lkdGgpe3Q9dHJ1ZTtFbyhuLndpZHRoKX1TbyhuKTt3aGlsZShpPD1zKWVbaSsrXT1jZShuKX19ZnVuY3Rpb24gTWgoZSxyKXt2YXIgdD1bXFxcIjxjb2xzPlxcXCJdLGE7Zm9yKHZhciBuPTA7biE9ci5sZW5ndGg7KytuKXtpZighKGE9cltuXSkpY29udGludWU7dFt0Lmxlbmd0aF09bHIoXFxcImNvbFxcXCIsbnVsbCxoaChuLGEpKX10W3QubGVuZ3RoXT1cXFwiPC9jb2xzPlxcXCI7cmV0dXJuIHQuam9pbihcXFwiXFxcIil9ZnVuY3Rpb24gVWgoZSl7dmFyIHI9e3JlZjooZS5tYXRjaCgvcmVmPVxcXCIoW15cXFwiXSopXFxcIi8pfHxbXSlbMV19O3JldHVybiByfWZ1bmN0aW9uIHpoKGUscix0LGEpe3ZhciBuPXR5cGVvZiBlLnJlZj09XFxcInN0cmluZ1xcXCI/ZS5yZWY6d3QoZS5yZWYpO2lmKCF0Lldvcmtib29rKXQuV29ya2Jvb2s9e1NoZWV0czpbXX07aWYoIXQuV29ya2Jvb2suTmFtZXMpdC5Xb3JrYm9vay5OYW1lcz1bXTt2YXIgaT10Lldvcmtib29rLk5hbWVzO3ZhciBzPWd0KG4pO2lmKHMucy5yPT1zLmUucil7cy5lLnI9Z3QocltcXFwiIXJlZlxcXCJdKS5lLnI7bj13dChzKX1mb3IodmFyIGY9MDtmPGkubGVuZ3RoOysrZil7dmFyIG89aVtmXTtpZihvLk5hbWUhPVxcXCJfeGxubS5fRmlsdGVyRGF0YWJhc2VcXFwiKWNvbnRpbnVlO2lmKG8uU2hlZXQhPWEpY29udGludWU7by5SZWY9XFxcIidcXFwiK3QuU2hlZXROYW1lc1thXStcXFwiJyFcXFwiK247YnJlYWt9aWYoZj09aS5sZW5ndGgpaS5wdXNoKHtOYW1lOlxcXCJfeGxubS5fRmlsdGVyRGF0YWJhc2VcXFwiLFNoZWV0OmEsUmVmOlxcXCInXFxcIit0LlNoZWV0TmFtZXNbYV0rXFxcIichXFxcIitufSk7cmV0dXJuIGxyKFxcXCJhdXRvRmlsdGVyXFxcIixudWxsLHtyZWY6bn0pfXZhciBIaD0vPCg/OlxcXFx3Oik/c2hlZXRWaWV3KD86W14+YS16XVtePl0qKT9cXFxcLz8+LztmdW5jdGlvbiBXaChlLHIpe2lmKCFyLlZpZXdzKXIuVmlld3M9W3t9XTsoZS5tYXRjaChIaCl8fFtdKS5mb3JFYWNoKGZ1bmN0aW9uKGUsdCl7dmFyIGE9RmUoZSk7aWYoIXIuVmlld3NbdF0pci5WaWV3c1t0XT17fTtpZigkZShhLnJpZ2h0VG9MZWZ0KSlyLlZpZXdzW3RdLlJUTD10cnVlfSl9ZnVuY3Rpb24gVmgoZSxyLHQsYSl7dmFyIG49e3dvcmtib29rVmlld0lkOlxcXCIwXFxcIn07aWYoKCgoYXx8e30pLldvcmtib29rfHx7fSkuVmlld3N8fFtdKVswXSluLnJpZ2h0VG9MZWZ0PWEuV29ya2Jvb2suVmlld3NbMF0uUlRMP1xcXCIxXFxcIjpcXFwiMFxcXCI7cmV0dXJuIGxyKFxcXCJzaGVldFZpZXdzXFxcIixscihcXFwic2hlZXRWaWV3XFxcIixudWxsLG4pLHt9KX1mdW5jdGlvbiBYaChlLHIsdCxhKXtpZihlLnY9PT11bmRlZmluZWQmJnR5cGVvZiBlLmYhPT1cXFwic3RyaW5nXFxcInx8ZS50PT09XFxcInpcXFwiKXJldHVyblxcXCJcXFwiO3ZhciBuPVxcXCJcXFwiO3ZhciBpPWUudCxzPWUudjtpZihlLnQhPT1cXFwielxcXCIpc3dpdGNoKGUudCl7Y2FzZVxcXCJiXFxcIjpuPWUudj9cXFwiMVxcXCI6XFxcIjBcXFwiO2JyZWFrO2Nhc2VcXFwiblxcXCI6bj1cXFwiXFxcIitlLnY7YnJlYWs7Y2FzZVxcXCJlXFxcIjpuPXhhW2Uudl07YnJlYWs7Y2FzZVxcXCJkXFxcIjppZihhJiZhLmNlbGxEYXRlcyluPW9lKGUudiwtMSkudG9JU09TdHJpbmcoKTtlbHNle2U9Y2UoZSk7ZS50PVxcXCJuXFxcIjtuPVxcXCJcXFwiKyhlLnY9ZWUob2UoZS52KSkpfWlmKHR5cGVvZiBlLno9PT1cXFwidW5kZWZpbmVkXFxcIillLno9RC5fdGFibGVbMTRdO2JyZWFrO2RlZmF1bHQ6bj1lLnY7YnJlYWs7fXZhciBmPWZyKFxcXCJ2XFxcIixIZShuKSksbz17cjpyfTt2YXIgbD12aChhLmNlbGxYZnMsZSxhKTtpZihsIT09MClvLnM9bDtzd2l0Y2goZS50KXtjYXNlXFxcIm5cXFwiOmJyZWFrO2Nhc2VcXFwiZFxcXCI6by50PVxcXCJkXFxcIjticmVhaztjYXNlXFxcImJcXFwiOm8udD1cXFwiYlxcXCI7YnJlYWs7Y2FzZVxcXCJlXFxcIjpvLnQ9XFxcImVcXFwiO2JyZWFrO2Nhc2VcXFwielxcXCI6YnJlYWs7ZGVmYXVsdDppZihlLnY9PW51bGwpe2RlbGV0ZSBlLnQ7YnJlYWt9aWYoYSYmYS5ib29rU1NUKXtmPWZyKFxcXCJ2XFxcIixcXFwiXFxcIit1aChhLlN0cmluZ3MsZS52LGEucmV2U3RyaW5ncykpO28udD1cXFwic1xcXCI7YnJlYWt9by50PVxcXCJzdHJcXFwiO2JyZWFrO31pZihlLnQhPWkpe2UudD1pO2Uudj1zfWlmKHR5cGVvZiBlLmY9PVxcXCJzdHJpbmdcXFwiJiZlLmYpe3ZhciBjPWUuRiYmZS5GLnNsaWNlKDAsci5sZW5ndGgpPT1yP3t0OlxcXCJhcnJheVxcXCIscmVmOmUuRn06bnVsbDtmPWxyKFxcXCJmXFxcIixIZShlLmYpLGMpKyhlLnYhPW51bGw/ZjpcXFwiXFxcIil9aWYoZS5sKXRbXFxcIiFsaW5rc1xcXCJdLnB1c2goW3IsZS5sXSk7aWYoZS5jKXRbXFxcIiFjb21tZW50c1xcXCJdLnB1c2goW3IsZS5jXSk7cmV0dXJuIGxyKFxcXCJjXFxcIixmLG8pfXZhciBHaD1mdW5jdGlvbigpe3ZhciBlPS88KD86XFxcXHcrOik/Y1sgXFxcXC8+XS8scj0vPFxcXFwvKD86XFxcXHcrOik/cm93Pi87dmFyIHQ9L3I9W1xcXCInXShbXlxcXCInXSopW1xcXCInXS8sYT0vPCg/OlxcXFx3KzopP2lzPihbXFxcXFNcXFxcc10qPyk8XFxcXC8oPzpcXFxcdys6KT9pcz4vO3ZhciBuPS9yZWY9W1xcXCInXShbXlxcXCInXSopW1xcXCInXS87dmFyIGk9ZXIoXFxcInZcXFwiKSxzPWVyKFxcXCJmXFxcIik7cmV0dXJuIGZ1bmN0aW9uIGYobyxsLGMsdSxoLGQpe3ZhciB2PTAscD1cXFwiXFxcIixtPVtdLGI9W10sZz0wLHc9MCxrPTAsRT1cXFwiXFxcIixTO3ZhciBfLEM9MCxCPTA7dmFyIFQseTt2YXIgeD0wLEE9MDt2YXIgST1BcnJheS5pc0FycmF5KGQuQ2VsbFhmKSxSO3ZhciBPPVtdO3ZhciBGPVtdO3ZhciBQPUFycmF5LmlzQXJyYXkobCk7dmFyIE49W10sTD17fSxNPWZhbHNlO3ZhciBVPSEhYy5zaGVldFN0dWJzO2Zvcih2YXIgej1vLnNwbGl0KHIpLEg9MCxXPXoubGVuZ3RoO0ghPVc7KytIKXtwPXpbSF0udHJpbSgpO3ZhciBWPXAubGVuZ3RoO2lmKFY9PT0wKWNvbnRpbnVlO2Zvcih2PTA7djxWOysrdilpZihwLmNoYXJDb2RlQXQodik9PT02MilicmVhazsrK3Y7Xz1GZShwLnNsaWNlKDAsdiksdHJ1ZSk7Qz1fLnIhPW51bGw/cGFyc2VJbnQoXy5yLDEwKTpDKzE7Qj0tMTtpZihjLnNoZWV0Um93cyYmYy5zaGVldFJvd3M8Qyljb250aW51ZTtpZih1LnMucj5DLTEpdS5zLnI9Qy0xO2lmKHUuZS5yPEMtMSl1LmUucj1DLTE7aWYoYyYmYy5jZWxsU3R5bGVzKXtMPXt9O009ZmFsc2U7aWYoXy5odCl7TT10cnVlO0wuaHB0PXBhcnNlRmxvYXQoXy5odCk7TC5ocHg9VG8oTC5ocHQpfWlmKF8uaGlkZGVuPT1cXFwiMVxcXCIpe009dHJ1ZTtMLmhpZGRlbj10cnVlfWlmKF8ub3V0bGluZUxldmVsIT1udWxsKXtNPXRydWU7TC5sZXZlbD0rXy5vdXRsaW5lTGV2ZWx9aWYoTSlOW0MtMV09TH1tPXAuc2xpY2Uodikuc3BsaXQoZSk7Zm9yKHZhciBYPTA7WCE9bS5sZW5ndGg7KytYKWlmKG1bWF0udHJpbSgpLmNoYXJBdCgwKSE9XFxcIjxcXFwiKWJyZWFrO209bS5zbGljZShYKTtmb3Iodj0wO3YhPW0ubGVuZ3RoOysrdil7cD1tW3ZdLnRyaW0oKTtpZihwLmxlbmd0aD09PTApY29udGludWU7Yj1wLm1hdGNoKHQpO2c9djt3PTA7az0wO3A9XFxcIjxjIFxcXCIrKHAuc2xpY2UoMCwxKT09XFxcIjxcXFwiP1xcXCI+XFxcIjpcXFwiXFxcIikrcDtpZihiIT1udWxsJiZiLmxlbmd0aD09PTIpe2c9MDtFPWJbMV07Zm9yKHc9MDt3IT1FLmxlbmd0aDsrK3cpe2lmKChrPUUuY2hhckNvZGVBdCh3KS02NCk8MXx8az4yNilicmVhaztnPTI2Kmcra30tLWc7Qj1nfWVsc2UrK0I7Zm9yKHc9MDt3IT1wLmxlbmd0aDsrK3cpaWYocC5jaGFyQ29kZUF0KHcpPT09NjIpYnJlYWs7Kyt3O189RmUocC5zbGljZSgwLHcpLHRydWUpO2lmKCFfLnIpXy5yPWJ0KHtyOkMtMSxjOkJ9KTtFPXAuc2xpY2Uodyk7Uz17dDpcXFwiXFxcIn07aWYoKGI9RS5tYXRjaChpKSkhPW51bGwmJmJbMV0hPT1cXFwiXFxcIilTLnY9TWUoYlsxXSk7aWYoYy5jZWxsRm9ybXVsYSl7aWYoKGI9RS5tYXRjaChzKSkhPW51bGwmJmJbMV0hPT1cXFwiXFxcIil7Uy5mPU1lKFllKGJbMV0pKS5yZXBsYWNlKC9cXFxcclxcXFxuL2csXFxcIlxcXFxuXFxcIik7aWYoIWMueGxmbilTLmY9Y2MoUy5mKTtpZihiWzBdLmluZGV4T2YoJ3Q9XFxcImFycmF5XFxcIicpPi0xKXtTLkY9KEUubWF0Y2gobil8fFtdKVsxXTtpZihTLkYuaW5kZXhPZihcXFwiOlxcXCIpPi0xKU8ucHVzaChba3QoUy5GKSxTLkZdKX1lbHNlIGlmKGJbMF0uaW5kZXhPZigndD1cXFwic2hhcmVkXFxcIicpPi0xKXt5PUZlKGJbMF0pO3ZhciBHPU1lKFllKGJbMV0pKTtpZighYy54bGZuKUc9Y2MoRyk7RltwYXJzZUludCh5LnNpLDEwKV09W3ksRyxfLnJdfX1lbHNlIGlmKGI9RS5tYXRjaCgvPGZbXj5dKlxcXFwvPi8pKXt5PUZlKGJbMF0pO2lmKEZbeS5zaV0pUy5mPW9jKEZbeS5zaV1bMV0sRlt5LnNpXVsyXSxfLnIpfXZhciBqPW10KF8ucik7Zm9yKHc9MDt3PE8ubGVuZ3RoOysrdylpZihqLnI+PU9bd11bMF0ucy5yJiZqLnI8PU9bd11bMF0uZS5yKWlmKGouYz49T1t3XVswXS5zLmMmJmouYzw9T1t3XVswXS5lLmMpUy5GPU9bd11bMV19aWYoXy50PT1udWxsJiZTLnY9PT11bmRlZmluZWQpe2lmKFMuZnx8Uy5GKXtTLnY9MDtTLnQ9XFxcIm5cXFwifWVsc2UgaWYoIVUpY29udGludWU7ZWxzZSBTLnQ9XFxcInpcXFwifWVsc2UgUy50PV8udHx8XFxcIm5cXFwiO2lmKHUucy5jPkIpdS5zLmM9QjtpZih1LmUuYzxCKXUuZS5jPUI7c3dpdGNoKFMudCl7Y2FzZVxcXCJuXFxcIjppZihTLnY9PVxcXCJcXFwifHxTLnY9PW51bGwpe2lmKCFVKWNvbnRpbnVlO1MudD1cXFwielxcXCJ9ZWxzZSBTLnY9cGFyc2VGbG9hdChTLnYpO2JyZWFrO2Nhc2VcXFwic1xcXCI6aWYodHlwZW9mIFMudj09XFxcInVuZGVmaW5lZFxcXCIpe2lmKCFVKWNvbnRpbnVlO1MudD1cXFwielxcXCJ9ZWxzZXtUPW9oW3BhcnNlSW50KFMudiwxMCldO1Mudj1ULnQ7Uy5yPVQucjtpZihjLmNlbGxIVE1MKVMuaD1ULmh9YnJlYWs7Y2FzZVxcXCJzdHJcXFwiOlMudD1cXFwic1xcXCI7Uy52PVMudiE9bnVsbD9ZZShTLnYpOlxcXCJcXFwiO2lmKGMuY2VsbEhUTUwpUy5oPVhlKFMudik7YnJlYWs7Y2FzZVxcXCJpbmxpbmVTdHJcXFwiOmI9RS5tYXRjaChhKTtTLnQ9XFxcInNcXFwiO2lmKGIhPW51bGwmJihUPUJmKGJbMV0pKSl7Uy52PVQudDtpZihjLmNlbGxIVE1MKVMuaD1ULmh9ZWxzZSBTLnY9XFxcIlxcXCI7YnJlYWs7Y2FzZVxcXCJiXFxcIjpTLnY9JGUoUy52KTticmVhaztjYXNlXFxcImRcXFwiOmlmKGMuY2VsbERhdGVzKVMudj1vZShTLnYsMSk7ZWxzZXtTLnY9ZWUob2UoUy52LDEpKTtTLnQ9XFxcIm5cXFwifWJyZWFrO2Nhc2VcXFwiZVxcXCI6aWYoIWN8fGMuY2VsbFRleHQhPT1mYWxzZSlTLnc9Uy52O1Mudj1BYVtTLnZdO2JyZWFrO314PUE9MDtSPW51bGw7aWYoSSYmXy5zIT09dW5kZWZpbmVkKXtSPWQuQ2VsbFhmW18uc107aWYoUiE9bnVsbCl7aWYoUi5udW1GbXRJZCE9bnVsbCl4PVIubnVtRm10SWQ7aWYoYy5jZWxsU3R5bGVzKXtpZihSLmZpbGxJZCE9bnVsbClBPVIuZmlsbElkfX19cGgoUyx4LEEsYyxoLGQpO2lmKGMuY2VsbERhdGVzJiZJJiZTLnQ9PVxcXCJuXFxcIiYmRC5pc19kYXRlKEQuX3RhYmxlW3hdKSl7Uy50PVxcXCJkXFxcIjtTLnY9bmUoUy52KX1pZihQKXt2YXIgSz1tdChfLnIpO2lmKCFsW0sucl0pbFtLLnJdPVtdO2xbSy5yXVtLLmNdPVN9ZWxzZSBsW18ucl09U319aWYoTi5sZW5ndGg+MClsW1xcXCIhcm93c1xcXCJdPU59fSgpO2Z1bmN0aW9uIGpoKGUscix0LGEpe3ZhciBuPVtdLGk9W10scz1rdChlW1xcXCIhcmVmXFxcIl0pLGY9XFxcIlxcXCIsbyxsPVxcXCJcXFwiLGM9W10sdT0wLGg9MCxkPWVbXFxcIiFyb3dzXFxcIl07dmFyIHY9QXJyYXkuaXNBcnJheShlKTt2YXIgcD17cjpsfSxtLGI9LTE7Zm9yKGg9cy5zLmM7aDw9cy5lLmM7KytoKWNbaF09aHQoaCk7Zm9yKHU9cy5zLnI7dTw9cy5lLnI7Kyt1KXtpPVtdO2w9b3QodSk7Zm9yKGg9cy5zLmM7aDw9cy5lLmM7KytoKXtvPWNbaF0rbDt2YXIgZz12PyhlW3VdfHxbXSlbaF06ZVtvXTtpZihnPT09dW5kZWZpbmVkKWNvbnRpbnVlO2lmKChmPVhoKGcsbyxlLHIsdCxhKSkhPW51bGwpaS5wdXNoKGYpfWlmKGkubGVuZ3RoPjB8fGQmJmRbdV0pe3A9e3I6bH07aWYoZCYmZFt1XSl7bT1kW3VdO2lmKG0uaGlkZGVuKXAuaGlkZGVuPTE7Yj0tMTtpZihtLmhweCliPUJvKG0uaHB4KTtlbHNlIGlmKG0uaHB0KWI9bS5ocHQ7aWYoYj4tMSl7cC5odD1iO3AuY3VzdG9tSGVpZ2h0PTF9aWYobS5sZXZlbCl7cC5vdXRsaW5lTGV2ZWw9bS5sZXZlbH19bltuLmxlbmd0aF09bHIoXFxcInJvd1xcXCIsaS5qb2luKFxcXCJcXFwiKSxwKX19aWYoZClmb3IoO3U8ZC5sZW5ndGg7Kyt1KXtpZihkJiZkW3VdKXtwPXtyOnUrMX07bT1kW3VdO2lmKG0uaGlkZGVuKXAuaGlkZGVuPTE7Yj0tMTtpZihtLmhweCliPUJvKG0uaHB4KTtlbHNlIGlmKG0uaHB0KWI9bS5ocHQ7aWYoYj4tMSl7cC5odD1iO3AuY3VzdG9tSGVpZ2h0PTF9aWYobS5sZXZlbCl7cC5vdXRsaW5lTGV2ZWw9bS5sZXZlbH1uW24ubGVuZ3RoXT1scihcXFwicm93XFxcIixcXFwiXFxcIixwKX19cmV0dXJuIG4uam9pbihcXFwiXFxcIil9dmFyIEtoPWxyKFxcXCJ3b3Jrc2hlZXRcXFwiLG51bGwse3htbG5zOmhyLm1haW5bMF0sXFxcInhtbG5zOnJcXFwiOmhyLnJ9KTtmdW5jdGlvbiAkaChlLHIsdCxhKXt2YXIgbj1bQWUsS2hdO3ZhciBpPXQuU2hlZXROYW1lc1tlXSxzPTAsZj1cXFwiXFxcIjt2YXIgbz10LlNoZWV0c1tpXTtpZihvPT1udWxsKW89e307dmFyIGw9b1tcXFwiIXJlZlxcXCJdfHxcXFwiQTFcXFwiO3ZhciBjPWt0KGwpO2lmKGMuZS5jPjE2MzgzfHxjLmUucj4xMDQ4NTc1KXtpZihyLldURil0aHJvdyBuZXcgRXJyb3IoXFxcIlJhbmdlIFxcXCIrbCtcXFwiIGV4Y2VlZHMgZm9ybWF0IGxpbWl0IEExOlhGRDEwNDg1NzZcXFwiKTtjLmUuYz1NYXRoLm1pbihjLmUuYywxNjM4Myk7Yy5lLnI9TWF0aC5taW4oYy5lLmMsMTA0ODU3NSk7bD13dChjKX1pZighYSlhPXt9O29bXFxcIiFjb21tZW50c1xcXCJdPVtdO3ZhciB1PVtdO0loKG8sdCxlLHIsbik7bltuLmxlbmd0aF09bHIoXFxcImRpbWVuc2lvblxcXCIsbnVsbCx7cmVmOmx9KTtuW24ubGVuZ3RoXT1WaChvLHIsZSx0KTtpZihyLnNoZWV0Rm9ybWF0KW5bbi5sZW5ndGhdPWxyKFxcXCJzaGVldEZvcm1hdFByXFxcIixudWxsLHtkZWZhdWx0Um93SGVpZ2h0OnIuc2hlZXRGb3JtYXQuZGVmYXVsdFJvd0hlaWdodHx8XFxcIjE2XFxcIixiYXNlQ29sV2lkdGg6ci5zaGVldEZvcm1hdC5iYXNlQ29sV2lkdGh8fFxcXCIxMFxcXCIsb3V0bGluZUxldmVsUm93OnIuc2hlZXRGb3JtYXQub3V0bGluZUxldmVsUm93fHxcXFwiN1xcXCJ9KTtpZihvW1xcXCIhY29sc1xcXCJdIT1udWxsJiZvW1xcXCIhY29sc1xcXCJdLmxlbmd0aD4wKW5bbi5sZW5ndGhdPU1oKG8sb1tcXFwiIWNvbHNcXFwiXSk7bltzPW4ubGVuZ3RoXT1cXFwiPHNoZWV0RGF0YS8+XFxcIjtvW1xcXCIhbGlua3NcXFwiXT1bXTtpZihvW1xcXCIhcmVmXFxcIl0hPW51bGwpe2Y9amgobyxyLGUsdCxhKTtpZihmLmxlbmd0aD4wKW5bbi5sZW5ndGhdPWZ9aWYobi5sZW5ndGg+cysxKXtuW24ubGVuZ3RoXT1cXFwiPC9zaGVldERhdGE+XFxcIjtuW3NdPW5bc10ucmVwbGFjZShcXFwiLz5cXFwiLFxcXCI+XFxcIil9aWYob1tcXFwiIXByb3RlY3RcXFwiXSE9bnVsbCluW24ubGVuZ3RoXT1EaChvW1xcXCIhcHJvdGVjdFxcXCJdKTtpZihvW1xcXCIhYXV0b2ZpbHRlclxcXCJdIT1udWxsKW5bbi5sZW5ndGhdPXpoKG9bXFxcIiFhdXRvZmlsdGVyXFxcIl0sbyx0LGUpO2lmKG9bXFxcIiFtZXJnZXNcXFwiXSE9bnVsbCYmb1tcXFwiIW1lcmdlc1xcXCJdLmxlbmd0aD4wKW5bbi5sZW5ndGhdPXhoKG9bXFxcIiFtZXJnZXNcXFwiXSk7dmFyIGg9LTEsZCx2PS0xO2lmKG9bXFxcIiFsaW5rc1xcXCJdLmxlbmd0aD4wKXtuW24ubGVuZ3RoXT1cXFwiPGh5cGVybGlua3M+XFxcIjtvW1xcXCIhbGlua3NcXFwiXS5mb3JFYWNoKGZ1bmN0aW9uKGUpe2lmKCFlWzFdLlRhcmdldClyZXR1cm47ZD17cmVmOmVbMF19O2lmKGVbMV0uVGFyZ2V0LmNoYXJBdCgwKSE9XFxcIiNcXFwiKXt2PVhhKGEsLTEsSGUoZVsxXS5UYXJnZXQpLnJlcGxhY2UoLyMuKiQvLFxcXCJcXFwiKSxNYS5ITElOSyk7ZFtcXFwicjppZFxcXCJdPVxcXCJySWRcXFwiK3Z9aWYoKGg9ZVsxXS5UYXJnZXQuaW5kZXhPZihcXFwiI1xcXCIpKT4tMSlkLmxvY2F0aW9uPUhlKGVbMV0uVGFyZ2V0LnNsaWNlKGgrMSkpO2lmKGVbMV0uVG9vbHRpcClkLnRvb2x0aXA9SGUoZVsxXS5Ub29sdGlwKTtuW24ubGVuZ3RoXT1scihcXFwiaHlwZXJsaW5rXFxcIixudWxsLGQpfSk7bltuLmxlbmd0aF09XFxcIjwvaHlwZXJsaW5rcz5cXFwifWRlbGV0ZSBvW1xcXCIhbGlua3NcXFwiXTtpZihvW1xcXCIhbWFyZ2luc1xcXCJdIT1udWxsKW5bbi5sZW5ndGhdPU5oKG9bXFxcIiFtYXJnaW5zXFxcIl0pO2lmKCFyfHxyLmlnbm9yZUVDfHxyLmlnbm9yZUVDPT12b2lkIDApbltuLmxlbmd0aF09ZnIoXFxcImlnbm9yZWRFcnJvcnNcXFwiLGxyKFxcXCJpZ25vcmVkRXJyb3JcXFwiLG51bGwse251bWJlclN0b3JlZEFzVGV4dDoxLHNxcmVmOmx9KSk7aWYodS5sZW5ndGg+MCl7dj1YYShhLC0xLFxcXCIuLi9kcmF3aW5ncy9kcmF3aW5nXFxcIisoZSsxKStcXFwiLnhtbFxcXCIsTWEuRFJBVyk7bltuLmxlbmd0aF09bHIoXFxcImRyYXdpbmdcXFwiLG51bGwse1xcXCJyOmlkXFxcIjpcXFwicklkXFxcIit2fSk7b1tcXFwiIWRyYXdpbmdcXFwiXT11fWlmKG9bXFxcIiFjb21tZW50c1xcXCJdLmxlbmd0aD4wKXt2PVhhKGEsLTEsXFxcIi4uL2RyYXdpbmdzL3ZtbERyYXdpbmdcXFwiKyhlKzEpK1xcXCIudm1sXFxcIixNYS5WTUwpO25bbi5sZW5ndGhdPWxyKFxcXCJsZWdhY3lEcmF3aW5nXFxcIixudWxsLHtcXFwicjppZFxcXCI6XFxcInJJZFxcXCIrdn0pO29bXFxcIiFsZWdhY3lcXFwiXT12fWlmKG4ubGVuZ3RoPjEpe25bbi5sZW5ndGhdPVxcXCI8L3dvcmtzaGVldD5cXFwiO25bMV09blsxXS5yZXBsYWNlKFxcXCIvPlxcXCIsXFxcIj5cXFwiKX1yZXR1cm4gbi5qb2luKFxcXCJcXFwiKX1mdW5jdGlvbiBZaChlLHIpe3ZhciB0PXt9O3ZhciBhPWUubCtyO3Qucj1lLl9SKDQpO2UubCs9NDt2YXIgbj1lLl9SKDIpO2UubCs9MTt2YXIgaT1lLl9SKDEpO2UubD1hO2lmKGkmNyl0LmxldmVsPWkmNztpZihpJjE2KXQuaGlkZGVuPXRydWU7aWYoaSYzMil0LmhwdD1uLzIwO3JldHVybiB0fWZ1bmN0aW9uIFpoKGUscix0KXt2YXIgYT1KcigxNys4KjE2KTt2YXIgbj0odFtcXFwiIXJvd3NcXFwiXXx8W10pW2VdfHx7fTthLl9XKDQsZSk7YS5fVyg0LDApO3ZhciBpPTMyMDtpZihuLmhweClpPUJvKG4uaHB4KSoyMDtlbHNlIGlmKG4uaHB0KWk9bi5ocHQqMjA7YS5fVygyLGkpO2EuX1coMSwwKTt2YXIgcz0wO2lmKG4ubGV2ZWwpc3w9bi5sZXZlbDtpZihuLmhpZGRlbilzfD0xNjtpZihuLmhweHx8bi5ocHQpc3w9MzI7YS5fVygxLHMpO2EuX1coMSwwKTt2YXIgZj0wLG89YS5sO2EubCs9NDt2YXIgbD17cjplLGM6MH07Zm9yKHZhciBjPTA7YzwxNjsrK2Mpe2lmKHIucy5jPmMrMTw8MTB8fHIuZS5jPGM8PDEwKWNvbnRpbnVlO3ZhciB1PS0xLGg9LTE7Zm9yKHZhciBkPWM8PDEwO2Q8YysxPDwxMDsrK2Qpe2wuYz1kO3ZhciB2PUFycmF5LmlzQXJyYXkodCk/KHRbbC5yXXx8W10pW2wuY106dFtidChsKV07aWYodil7aWYodTwwKXU9ZDtoPWR9fWlmKHU8MCljb250aW51ZTsrK2Y7YS5fVyg0LHUpO2EuX1coNCxoKX12YXIgcD1hLmw7YS5sPW87YS5fVyg0LGYpO2EubD1wO3JldHVybiBhLmxlbmd0aD5hLmw/YS5zbGljZSgwLGEubCk6YX1mdW5jdGlvbiBKaChlLHIsdCxhKXt2YXIgbj1aaChhLHQscik7aWYobi5sZW5ndGg+MTd8fChyW1xcXCIhcm93c1xcXCJdfHxbXSlbYV0pZXQoZSxcXFwiQnJ0Um93SGRyXFxcIixuKX12YXIgUWg9JHQ7dmFyIHFoPVl0O2Z1bmN0aW9uIGVkKCl7fWZ1bmN0aW9uIHJkKGUscil7dmFyIHQ9e307ZS5sKz0xOTt0Lm5hbWU9THQoZSxyLTE5KTtyZXR1cm4gdH1mdW5jdGlvbiB0ZChlLHIpe2lmKHI9PW51bGwpcj1Kcig4NCs0KmUubGVuZ3RoKTtmb3IodmFyIHQ9MDt0PDM7Kyt0KXIuX1coMSwwKTtxdCh7YXV0bzoxfSxyKTtyLl9XKC00LC0xKTtyLl9XKC00LC0xKTtNdChlLHIpO3JldHVybiByLnNsaWNlKDAsci5sKX1mdW5jdGlvbiBhZChlKXt2YXIgcj1QdChlKTtyZXR1cm5bcl19ZnVuY3Rpb24gbmQoZSxyLHQpe2lmKHQ9PW51bGwpdD1Kcig4KTtyZXR1cm4gTnQocix0KX1mdW5jdGlvbiBpZChlKXt2YXIgcj1QdChlKTt2YXIgdD1lLl9SKDEpO3JldHVybltyLHQsXFxcImJcXFwiXX1mdW5jdGlvbiBzZChlLHIsdCl7aWYodD09bnVsbCl0PUpyKDkpO050KHIsdCk7dC5fVygxLGUudj8xOjApO3JldHVybiB0fWZ1bmN0aW9uIGZkKGUpe3ZhciByPVB0KGUpO3ZhciB0PWUuX1IoMSk7cmV0dXJuW3IsdCxcXFwiZVxcXCJdfWZ1bmN0aW9uIG9kKGUpe3ZhciByPVB0KGUpO3ZhciB0PWUuX1IoNCk7cmV0dXJuW3IsdCxcXFwic1xcXCJdfWZ1bmN0aW9uIGxkKGUscix0KXtpZih0PT1udWxsKXQ9SnIoMTIpO050KHIsdCk7dC5fVyg0LHIudik7cmV0dXJuIHR9ZnVuY3Rpb24gY2QoZSl7dmFyIHI9UHQoZSk7dmFyIHQ9WnQoZSk7cmV0dXJuW3IsdCxcXFwiblxcXCJdfWZ1bmN0aW9uIHVkKGUscix0KXtpZih0PT1udWxsKXQ9SnIoMTYpO050KHIsdCk7SnQoZS52LHQpO3JldHVybiB0fWZ1bmN0aW9uIGhkKGUpe3ZhciByPVB0KGUpO3ZhciB0PVh0KGUpO3JldHVybltyLHQsXFxcIm5cXFwiXX1mdW5jdGlvbiBkZChlLHIsdCl7aWYodD09bnVsbCl0PUpyKDEyKTtOdChyLHQpO0d0KGUudix0KTtyZXR1cm4gdH1mdW5jdGlvbiB2ZChlKXt2YXIgcj1QdChlKTt2YXIgdD15dChlKTtyZXR1cm5bcix0LFxcXCJzdHJcXFwiXX1mdW5jdGlvbiBwZChlLHIsdCl7aWYodD09bnVsbCl0PUpyKDEyKzQqZS52Lmxlbmd0aCk7TnQocix0KTt4dChlLnYsdCk7cmV0dXJuIHQubGVuZ3RoPnQubD90LnNsaWNlKDAsdC5sKTp0fWZ1bmN0aW9uIG1kKGUscix0KXt2YXIgYT1lLmwrcjt2YXIgbj1QdChlKTtuLnI9dFtcXFwiIXJvd1xcXCJdO3ZhciBpPWUuX1IoMSk7dmFyIHM9W24saSxcXFwiYlxcXCJdO2lmKHQuY2VsbEZvcm11bGEpe2UubCs9Mjt2YXIgZj1KdShlLGEtZS5sLHQpO3NbM109enUoZixudWxsLG4sdC5zdXBib29rcyx0KX1lbHNlIGUubD1hO3JldHVybiBzfWZ1bmN0aW9uIGJkKGUscix0KXt2YXIgYT1lLmwrcjt2YXIgbj1QdChlKTtuLnI9dFtcXFwiIXJvd1xcXCJdO3ZhciBpPWUuX1IoMSk7dmFyIHM9W24saSxcXFwiZVxcXCJdO2lmKHQuY2VsbEZvcm11bGEpe2UubCs9Mjt2YXIgZj1KdShlLGEtZS5sLHQpO3NbM109enUoZixudWxsLG4sdC5zdXBib29rcyx0KX1lbHNlIGUubD1hO3JldHVybiBzfWZ1bmN0aW9uIGdkKGUscix0KXt2YXIgYT1lLmwrcjt2YXIgbj1QdChlKTtuLnI9dFtcXFwiIXJvd1xcXCJdO3ZhciBpPVp0KGUpO3ZhciBzPVtuLGksXFxcIm5cXFwiXTtpZih0LmNlbGxGb3JtdWxhKXtlLmwrPTI7dmFyIGY9SnUoZSxhLWUubCx0KTtzWzNdPXp1KGYsbnVsbCxuLHQuc3VwYm9va3MsdCl9ZWxzZSBlLmw9YTtyZXR1cm4gc31mdW5jdGlvbiB3ZChlLHIsdCl7dmFyIGE9ZS5sK3I7dmFyIG49UHQoZSk7bi5yPXRbXFxcIiFyb3dcXFwiXTt2YXIgaT15dChlKTt2YXIgcz1bbixpLFxcXCJzdHJcXFwiXTtpZih0LmNlbGxGb3JtdWxhKXtlLmwrPTI7dmFyIGY9SnUoZSxhLWUubCx0KTtzWzNdPXp1KGYsbnVsbCxuLHQuc3VwYm9va3MsdCl9ZWxzZSBlLmw9YTtyZXR1cm4gc312YXIga2Q9JHQ7dmFyIEVkPVl0O2Z1bmN0aW9uIFNkKGUscil7aWYocj09bnVsbClyPUpyKDQpO3IuX1coNCxlKTtyZXR1cm4gcn1mdW5jdGlvbiBfZChlLHIpe3ZhciB0PWUubCtyO3ZhciBhPSR0KGUsMTYpO3ZhciBuPVV0KGUpO3ZhciBpPXl0KGUpO3ZhciBzPXl0KGUpO3ZhciBmPXl0KGUpO2UubD10O3ZhciBvPXtyZng6YSxyZWxJZDpuLGxvYzppLGRpc3BsYXk6Zn07aWYocylvLlRvb2x0aXA9cztyZXR1cm4gb31mdW5jdGlvbiBDZChlLHIpe3ZhciB0PUpyKDUwKzQqKGVbMV0uVGFyZ2V0Lmxlbmd0aCsoZVsxXS5Ub29sdGlwfHxcXFwiXFxcIikubGVuZ3RoKSk7WXQoe3M6bXQoZVswXSksZTptdChlWzBdKX0sdCk7VnQoXFxcInJJZFxcXCIrcix0KTt2YXIgYT1lWzFdLlRhcmdldC5pbmRleE9mKFxcXCIjXFxcIik7dmFyIG49YT09LTE/XFxcIlxcXCI6ZVsxXS5UYXJnZXQuc2xpY2UoYSsxKTt4dChufHxcXFwiXFxcIix0KTt4dChlWzFdLlRvb2x0aXB8fFxcXCJcXFwiLHQpO3h0KFxcXCJcXFwiLHQpO3JldHVybiB0LnNsaWNlKDAsdC5sKX1mdW5jdGlvbiBCZCgpe31mdW5jdGlvbiBUZChlLHIsdCl7dmFyIGE9ZS5sK3I7dmFyIG49anQoZSwxNik7dmFyIGk9ZS5fUigxKTt2YXIgcz1bbl07c1syXT1pO2lmKHQuY2VsbEZvcm11bGEpe3ZhciBmPVp1KGUsYS1lLmwsdCk7c1sxXT1mfWVsc2UgZS5sPWE7cmV0dXJuIHN9ZnVuY3Rpb24geWQoZSxyLHQpe3ZhciBhPWUubCtyO3ZhciBuPSR0KGUsMTYpO3ZhciBpPVtuXTtpZih0LmNlbGxGb3JtdWxhKXt2YXIgcz1xdShlLGEtZS5sLHQpO2lbMV09cztlLmw9YX1lbHNlIGUubD1hO3JldHVybiBpfWZ1bmN0aW9uIHhkKGUscix0KXtpZih0PT1udWxsKXQ9SnIoMTgpO3ZhciBhPWhoKGUscik7dC5fVygtNCxlKTt0Ll9XKC00LGUpO3QuX1coNCwoYS53aWR0aHx8MTApKjI1Nik7dC5fVyg0LDApO3ZhciBuPTA7aWYoci5oaWRkZW4pbnw9MTtpZih0eXBlb2YgYS53aWR0aD09XFxcIm51bWJlclxcXCIpbnw9MjtpZihyLmxldmVsKW58PXIubGV2ZWw8PDg7dC5fVygyLG4pO3JldHVybiB0fXZhciBBZD1bXFxcImxlZnRcXFwiLFxcXCJyaWdodFxcXCIsXFxcInRvcFxcXCIsXFxcImJvdHRvbVxcXCIsXFxcImhlYWRlclxcXCIsXFxcImZvb3RlclxcXCJdO2Z1bmN0aW9uIElkKGUpe3ZhciByPXt9O0FkLmZvckVhY2goZnVuY3Rpb24odCl7clt0XT1adChlLDgpfSk7cmV0dXJuIHJ9ZnVuY3Rpb24gUmQoZSxyKXtpZihyPT1udWxsKXI9SnIoNio4KTtkaChlKTtBZC5mb3JFYWNoKGZ1bmN0aW9uKHQpe0p0KGVbdF0scil9KTtyZXR1cm4gcn1mdW5jdGlvbiBPZChlKXt2YXIgcj1lLl9SKDIpO2UubCs9Mjg7cmV0dXJue1JUTDpyJjMyfX1mdW5jdGlvbiBEZChlLHIsdCl7aWYodD09bnVsbCl0PUpyKDMwKTt2YXIgYT05MjQ7aWYoKCgocnx8e30pLlZpZXdzfHxbXSlbMF18fHt9KS5SVEwpYXw9MzI7dC5fVygyLGEpO3QuX1coNCwwKTt0Ll9XKDQsMCk7dC5fVyg0LDApO3QuX1coMSwwKTt0Ll9XKDEsMCk7dC5fVygyLDApO3QuX1coMiwxMDApO3QuX1coMiwwKTt0Ll9XKDIsMCk7dC5fVygyLDApO3QuX1coNCwwKTtyZXR1cm4gdH1mdW5jdGlvbiBGZChlKXt2YXIgcj1KcigyNCk7ci5fVyg0LDQpO3IuX1coNCwxKTtZdChlLHIpO3JldHVybiByfWZ1bmN0aW9uIFBkKGUscil7aWYocj09bnVsbClyPUpyKDE2KjQrMik7ci5fVygyLGUucGFzc3dvcmQ/cWYoZS5wYXNzd29yZCk6MCk7ci5fVyg0LDEpO1tbXFxcIm9iamVjdHNcXFwiLGZhbHNlXSxbXFxcInNjZW5hcmlvc1xcXCIsZmFsc2VdLFtcXFwiZm9ybWF0Q2VsbHNcXFwiLHRydWVdLFtcXFwiZm9ybWF0Q29sdW1uc1xcXCIsdHJ1ZV0sW1xcXCJmb3JtYXRSb3dzXFxcIix0cnVlXSxbXFxcImluc2VydENvbHVtbnNcXFwiLHRydWVdLFtcXFwiaW5zZXJ0Um93c1xcXCIsdHJ1ZV0sW1xcXCJpbnNlcnRIeXBlcmxpbmtzXFxcIix0cnVlXSxbXFxcImRlbGV0ZUNvbHVtbnNcXFwiLHRydWVdLFtcXFwiZGVsZXRlUm93c1xcXCIsdHJ1ZV0sW1xcXCJzZWxlY3RMb2NrZWRDZWxsc1xcXCIsZmFsc2VdLFtcXFwic29ydFxcXCIsdHJ1ZV0sW1xcXCJhdXRvRmlsdGVyXFxcIix0cnVlXSxbXFxcInBpdm90VGFibGVzXFxcIix0cnVlXSxbXFxcInNlbGVjdFVubG9ja2VkQ2VsbHNcXFwiLGZhbHNlXV0uZm9yRWFjaChmdW5jdGlvbih0KXtpZih0WzFdKXIuX1coNCxlW3RbMF1dIT1udWxsJiYhZVt0WzBdXT8xOjApO2Vsc2Ugci5fVyg0LGVbdFswXV0hPW51bGwmJmVbdFswXV0/MDoxKX0pO3JldHVybiByfWZ1bmN0aW9uIE5kKCl7fWZ1bmN0aW9uIExkKCl7fWZ1bmN0aW9uIE1kKGUscix0LGEsbixpLHMpe2lmKCFlKXJldHVybiBlO3ZhciBmPXJ8fHt9O2lmKCFhKWE9e1xcXCIhaWRcXFwiOnt9fTtpZihtIT1udWxsJiZmLmRlbnNlPT1udWxsKWYuZGVuc2U9bTt2YXIgbz1mLmRlbnNlP1tdOnt9O3ZhciBsO3ZhciBjPXtzOntyOjJlNixjOjJlNn0sZTp7cjowLGM6MH19O3ZhciB1PVtdO3ZhciBoPWZhbHNlLGQ9ZmFsc2U7dmFyIHYscCxiLGcsdyxrLEUsUyxfO3ZhciBDPVtdO2YuYmlmZj0xMjtmW1xcXCIhcm93XFxcIl09MDt2YXIgQj0wLFQ9ZmFsc2U7dmFyIHk9W107dmFyIHg9e307dmFyIEE9Zi5zdXBib29rc3x8bi5zdXBib29rc3x8W1tdXTtBLnNoYXJlZGY9eDtBLmFycmF5Zj15O0EuU2hlZXROYW1lcz1uLlNoZWV0TmFtZXN8fG4uU2hlZXRzLm1hcChmdW5jdGlvbihlKXtyZXR1cm4gZS5uYW1lfSk7aWYoIWYuc3VwYm9va3Mpe2Yuc3VwYm9va3M9QTtpZihuLk5hbWVzKWZvcih2YXIgST0wO0k8bi5OYW1lcy5sZW5ndGg7KytJKUFbMF1bSSsxXT1uLk5hbWVzW0ldfXZhciBSPVtdLE89W107dmFyIEY9ZmFsc2U7UXIoZSxmdW5jdGlvbiBOKGUscixtKXtpZihkKXJldHVybjtzd2l0Y2gobSl7Y2FzZSAxNDg6bD1lO2JyZWFrO2Nhc2UgMDp2PWU7aWYoZi5zaGVldFJvd3MmJmYuc2hlZXRSb3dzPD12LnIpZD10cnVlO1M9b3QoZz12LnIpO2ZbXFxcIiFyb3dcXFwiXT12LnI7aWYoZS5oaWRkZW58fGUuaHB0fHxlLmxldmVsIT1udWxsKXtpZihlLmhwdCllLmhweD1UbyhlLmhwdCk7T1tlLnJdPWV9YnJlYWs7Y2FzZSAyOjtjYXNlIDM6O2Nhc2UgNDo7Y2FzZSA1OjtjYXNlIDY6O2Nhc2UgNzo7Y2FzZSA4OjtjYXNlIDk6O2Nhc2UgMTA6O2Nhc2UgMTE6cD17dDplWzJdfTtzd2l0Y2goZVsyXSl7Y2FzZVxcXCJuXFxcIjpwLnY9ZVsxXTticmVhaztjYXNlXFxcInNcXFwiOkU9b2hbZVsxXV07cC52PUUudDtwLnI9RS5yO2JyZWFrO2Nhc2VcXFwiYlxcXCI6cC52PWVbMV0/dHJ1ZTpmYWxzZTticmVhaztjYXNlXFxcImVcXFwiOnAudj1lWzFdO2lmKGYuY2VsbFRleHQhPT1mYWxzZSlwLnc9eGFbcC52XTticmVhaztjYXNlXFxcInN0clxcXCI6cC50PVxcXCJzXFxcIjtwLnY9ZVsxXTticmVhazt9aWYoYj1zLkNlbGxYZltlWzBdLmlTdHlsZVJlZl0pcGgocCxiLm51bUZtdElkLG51bGwsZixpLHMpO3c9ZVswXS5jO2lmKGYuZGVuc2Upe2lmKCFvW2ddKW9bZ109W107b1tnXVt3XT1wfWVsc2Ugb1todCh3KStTXT1wO2lmKGYuY2VsbEZvcm11bGEpe1Q9ZmFsc2U7Zm9yKEI9MDtCPHkubGVuZ3RoOysrQil7dmFyIEk9eVtCXTtpZih2LnI+PUlbMF0ucy5yJiZ2LnI8PUlbMF0uZS5yKWlmKHc+PUlbMF0ucy5jJiZ3PD1JWzBdLmUuYyl7cC5GPXd0KElbMF0pO1Q9dHJ1ZX19aWYoIVQmJmUubGVuZ3RoPjMpcC5mPWVbM119aWYoYy5zLnI+di5yKWMucy5yPXYucjtpZihjLnMuYz53KWMucy5jPXc7aWYoYy5lLnI8di5yKWMuZS5yPXYucjtpZihjLmUuYzx3KWMuZS5jPXc7aWYoZi5jZWxsRGF0ZXMmJmImJnAudD09XFxcIm5cXFwiJiZELmlzX2RhdGUoRC5fdGFibGVbYi5udW1GbXRJZF0pKXt2YXIgUD1ELnBhcnNlX2RhdGVfY29kZShwLnYpO2lmKFApe3AudD1cXFwiZFxcXCI7cC52PW5ldyBEYXRlKFAueSxQLm0tMSxQLmQsUC5ILFAuTSxQLlMsUC51KX19YnJlYWs7Y2FzZSAxOmlmKCFmLnNoZWV0U3R1YnN8fGgpYnJlYWs7cD17dDpcXFwielxcXCIsdjp1bmRlZmluZWR9O3c9ZVswXS5jO2lmKGYuZGVuc2Upe2lmKCFvW2ddKW9bZ109W107b1tnXVt3XT1wfWVsc2Ugb1todCh3KStTXT1wO2lmKGMucy5yPnYuciljLnMucj12LnI7aWYoYy5zLmM+dyljLnMuYz13O2lmKGMuZS5yPHYuciljLmUucj12LnI7aWYoYy5lLmM8dyljLmUuYz13O2JyZWFrO2Nhc2UgMTc2OkMucHVzaChlKTticmVhaztjYXNlIDQ5NDp2YXIgTj1hW1xcXCIhaWRcXFwiXVtlLnJlbElkXTtpZihOKXtlLlRhcmdldD1OLlRhcmdldDtpZihlLmxvYyllLlRhcmdldCs9XFxcIiNcXFwiK2UubG9jO2UuUmVsPU59ZWxzZSBpZihlLnJlbElkPT1cXFwiXFxcIil7ZS5UYXJnZXQ9XFxcIiNcXFwiK2UubG9jfWZvcihnPWUucmZ4LnMucjtnPD1lLnJmeC5lLnI7KytnKWZvcih3PWUucmZ4LnMuYzt3PD1lLnJmeC5lLmM7Kyt3KXtpZihmLmRlbnNlKXtpZighb1tnXSlvW2ddPVtdO2lmKCFvW2ddW3ddKW9bZ11bd109e3Q6XFxcInpcXFwiLHY6dW5kZWZpbmVkfTtvW2ddW3ddLmw9ZX1lbHNle2s9YnQoe2M6dyxyOmd9KTtpZighb1trXSlvW2tdPXt0OlxcXCJ6XFxcIix2OnVuZGVmaW5lZH07b1trXS5sPWV9fWJyZWFrO2Nhc2UgNDI2OmlmKCFmLmNlbGxGb3JtdWxhKWJyZWFrO3kucHVzaChlKTtfPWYuZGVuc2U/b1tnXVt3XTpvW2h0KHcpK1NdO18uZj16dShlWzFdLGMse3I6di5yLGM6d30sQSxmKTtfLkY9d3QoZVswXSk7YnJlYWs7Y2FzZSA0Mjc6aWYoIWYuY2VsbEZvcm11bGEpYnJlYWs7eFtidChlWzBdLnMpXT1lWzFdO189Zi5kZW5zZT9vW2ddW3ddOm9baHQodykrU107Xy5mPXp1KGVbMV0sYyx7cjp2LnIsYzp3fSxBLGYpO2JyZWFrO2Nhc2UgNjA6aWYoIWYuY2VsbFN0eWxlcylicmVhazt3aGlsZShlLmU+PWUucyl7UltlLmUtLV09e3dpZHRoOmUudy8yNTYsaGlkZGVuOiEhKGUuZmxhZ3MmMSksbGV2ZWw6ZS5sZXZlbH07aWYoIUYpe0Y9dHJ1ZTtFbyhlLncvMjU2KX1TbyhSW2UuZSsxXSl9YnJlYWs7Y2FzZSAxNjE6b1tcXFwiIWF1dG9maWx0ZXJcXFwiXT17cmVmOnd0KGUpfTticmVhaztjYXNlIDQ3NjpvW1xcXCIhbWFyZ2luc1xcXCJdPWU7YnJlYWs7Y2FzZSAxNDc6aWYoIW4uU2hlZXRzW3RdKW4uU2hlZXRzW3RdPXt9O2lmKGUubmFtZSluLlNoZWV0c1t0XS5Db2RlTmFtZT1lLm5hbWU7YnJlYWs7Y2FzZSAxMzc6aWYoIW4uVmlld3Mpbi5WaWV3cz1be31dO2lmKCFuLlZpZXdzWzBdKW4uVmlld3NbMF09e307aWYoZS5SVEwpbi5WaWV3c1swXS5SVEw9dHJ1ZTticmVhaztjYXNlIDQ4NTpicmVhaztjYXNlIDY0OjtjYXNlIDEwNTM6YnJlYWs7Y2FzZSAxNTE6YnJlYWs7Y2FzZSAxNzU6O2Nhc2UgNjQ0OjtjYXNlIDYyNTo7Y2FzZSA1NjI6O2Nhc2UgMzk2OjtjYXNlIDExMTI6O2Nhc2UgMTE0Njo7Y2FzZSA0NzE6O2Nhc2UgMTA1MDo7Y2FzZSA2NDk6O2Nhc2UgMTEwNTo7Y2FzZSA0OTo7Y2FzZSA1ODk6O2Nhc2UgNjA3OjtjYXNlIDU2NDo7Y2FzZSAxMDU1OjtjYXNlIDE2ODo7Y2FzZSAxNzQ6O2Nhc2UgMTE4MDo7Y2FzZSA0OTk6O2Nhc2UgNTA3OjtjYXNlIDU1MDo7Y2FzZSAxNzE6O2Nhc2UgMTY3OjtjYXNlIDExNzc6O2Nhc2UgMTY5OjtjYXNlIDExODE6O2Nhc2UgNTUxOjtjYXNlIDU1Mjo7Y2FzZSA2NjE6O2Nhc2UgNjM5OjtjYXNlIDQ3ODo7Y2FzZSA1Mzc6O2Nhc2UgNDc3OjtjYXNlIDUzNjo7Y2FzZSAxMTAzOjtjYXNlIDY4MDo7Y2FzZSAxMTA0OjtjYXNlIDEwMjQ6O2Nhc2UgMTUyOjtjYXNlIDY2Mzo7Y2FzZSA1MzU6O2Nhc2UgNjc4OjtjYXNlIDUwNDo7Y2FzZSAxMDQzOjtjYXNlIDQyODo7Y2FzZSAxNzA6O2Nhc2UgMzA3Mjo7Y2FzZSA1MDo7Y2FzZSAyMDcwOjtjYXNlIDEwNDU6YnJlYWs7Y2FzZSAzNTpoPXRydWU7YnJlYWs7Y2FzZSAzNjpoPWZhbHNlO2JyZWFrO2Nhc2UgMzc6dS5wdXNoKHIpO2g9dHJ1ZTticmVhaztjYXNlIDM4OnUucG9wKCk7aD1mYWxzZTticmVhaztkZWZhdWx0OmlmKChyfHxcXFwiXFxcIikuaW5kZXhPZihcXFwiQmVnaW5cXFwiKT4wKXt9ZWxzZSBpZigocnx8XFxcIlxcXCIpLmluZGV4T2YoXFxcIkVuZFxcXCIpPjApe31lbHNlIGlmKCFofHxmLldURil0aHJvdyBuZXcgRXJyb3IoXFxcIlVuZXhwZWN0ZWQgcmVjb3JkIFxcXCIrbStcXFwiIFxcXCIrcik7fX0sZik7ZGVsZXRlIGYuc3VwYm9va3M7ZGVsZXRlIGZbXFxcIiFyb3dcXFwiXTtpZighb1tcXFwiIXJlZlxcXCJdJiYoYy5zLnI8MmU2fHxsJiYobC5lLnI+MHx8bC5lLmM+MHx8bC5zLnI+MHx8bC5zLmM+MCkpKW9bXFxcIiFyZWZcXFwiXT13dChsfHxjKTtpZihmLnNoZWV0Um93cyYmb1tcXFwiIXJlZlxcXCJdKXt2YXIgUD1rdChvW1xcXCIhcmVmXFxcIl0pO2lmKGYuc2hlZXRSb3dzPD0rUC5lLnIpe1AuZS5yPWYuc2hlZXRSb3dzLTE7aWYoUC5lLnI+Yy5lLnIpUC5lLnI9Yy5lLnI7aWYoUC5lLnI8UC5zLnIpUC5zLnI9UC5lLnI7aWYoUC5lLmM+Yy5lLmMpUC5lLmM9Yy5lLmM7aWYoUC5lLmM8UC5zLmMpUC5zLmM9UC5lLmM7b1tcXFwiIWZ1bGxyZWZcXFwiXT1vW1xcXCIhcmVmXFxcIl07b1tcXFwiIXJlZlxcXCJdPXd0KFApfX1pZihDLmxlbmd0aD4wKW9bXFxcIiFtZXJnZXNcXFwiXT1DO2lmKFIubGVuZ3RoPjApb1tcXFwiIWNvbHNcXFwiXT1SO2lmKE8ubGVuZ3RoPjApb1tcXFwiIXJvd3NcXFwiXT1PO3JldHVybiBvfWZ1bmN0aW9uIFVkKGUscix0LGEsbixpKXtpZihyLnY9PT11bmRlZmluZWQpcmV0dXJuO3ZhciBzPVxcXCJcXFwiO3N3aXRjaChyLnQpe2Nhc2VcXFwiYlxcXCI6cz1yLnY/XFxcIjFcXFwiOlxcXCIwXFxcIjticmVhaztjYXNlXFxcImRcXFwiOnI9Y2Uocik7ci56PXIuenx8RC5fdGFibGVbMTRdO3Iudj1lZShvZShyLnYpKTtyLnQ9XFxcIm5cXFwiO2JyZWFrO2Nhc2VcXFwiblxcXCI6O2Nhc2VcXFwiZVxcXCI6cz1cXFwiXFxcIityLnY7YnJlYWs7ZGVmYXVsdDpzPXIudjticmVhazt9dmFyIGY9e3I6dCxjOmF9O2Yucz12aChuLmNlbGxYZnMscixuKTtpZihyLmwpaVtcXFwiIWxpbmtzXFxcIl0ucHVzaChbYnQoZiksci5sXSk7aWYoci5jKWlbXFxcIiFjb21tZW50c1xcXCJdLnB1c2goW2J0KGYpLHIuY10pO3N3aXRjaChyLnQpe2Nhc2VcXFwic1xcXCI6O2Nhc2VcXFwic3RyXFxcIjppZihuLmJvb2tTU1Qpe3M9dWgobi5TdHJpbmdzLHIudixuLnJldlN0cmluZ3MpO2YudD1cXFwic1xcXCI7Zi52PXM7ZXQoZSxcXFwiQnJ0Q2VsbElzc3RcXFwiLGxkKHIsZikpfWVsc2V7Zi50PVxcXCJzdHJcXFwiO2V0KGUsXFxcIkJydENlbGxTdFxcXCIscGQocixmKSl9cmV0dXJuO2Nhc2VcXFwiblxcXCI6aWYoci52PT0oci52fDApJiZyLnY+LTFlMyYmci52PDFlMylldChlLFxcXCJCcnRDZWxsUmtcXFwiLGRkKHIsZikpO2Vsc2UgZXQoZSxcXFwiQnJ0Q2VsbFJlYWxcXFwiLHVkKHIsZikpO3JldHVybjtjYXNlXFxcImJcXFwiOmYudD1cXFwiYlxcXCI7ZXQoZSxcXFwiQnJ0Q2VsbEJvb2xcXFwiLHNkKHIsZikpO3JldHVybjtjYXNlXFxcImVcXFwiOmYudD1cXFwiZVxcXCI7YnJlYWs7fWV0KGUsXFxcIkJydENlbGxCbGFua1xcXCIsbmQocixmKSl9ZnVuY3Rpb24gemQoZSxyLHQsYSl7dmFyIG49a3QocltcXFwiIXJlZlxcXCJdfHxcXFwiQTFcXFwiKSxpLHM9XFxcIlxcXCIsZj1bXTtldChlLFxcXCJCcnRCZWdpblNoZWV0RGF0YVxcXCIpO3ZhciBvPUFycmF5LmlzQXJyYXkocik7dmFyIGw9bi5lLnI7aWYocltcXFwiIXJvd3NcXFwiXSlsPU1hdGgubWF4KG4uZS5yLHJbXFxcIiFyb3dzXFxcIl0ubGVuZ3RoLTEpO2Zvcih2YXIgYz1uLnMucjtjPD1sOysrYyl7cz1vdChjKTtKaChlLHIsbixjKTtpZihjPD1uLmUucilmb3IodmFyIHU9bi5zLmM7dTw9bi5lLmM7Kyt1KXtpZihjPT09bi5zLnIpZlt1XT1odCh1KTtpPWZbdV0rczt2YXIgaD1vPyhyW2NdfHxbXSlbdV06cltpXTtpZighaCljb250aW51ZTtVZChlLGgsYyx1LGEscil9fWV0KGUsXFxcIkJydEVuZFNoZWV0RGF0YVxcXCIpfWZ1bmN0aW9uIEhkKGUscil7aWYoIXJ8fCFyW1xcXCIhbWVyZ2VzXFxcIl0pcmV0dXJuO2V0KGUsXFxcIkJydEJlZ2luTWVyZ2VDZWxsc1xcXCIsU2QocltcXFwiIW1lcmdlc1xcXCJdLmxlbmd0aCkpO3JbXFxcIiFtZXJnZXNcXFwiXS5mb3JFYWNoKGZ1bmN0aW9uKHIpe2V0KGUsXFxcIkJydE1lcmdlQ2VsbFxcXCIsRWQocikpfSk7ZXQoZSxcXFwiQnJ0RW5kTWVyZ2VDZWxsc1xcXCIpfWZ1bmN0aW9uIFdkKGUscil7aWYoIXJ8fCFyW1xcXCIhY29sc1xcXCJdKXJldHVybjtldChlLFxcXCJCcnRCZWdpbkNvbEluZm9zXFxcIik7cltcXFwiIWNvbHNcXFwiXS5mb3JFYWNoKGZ1bmN0aW9uKHIsdCl7aWYocilldChlLFxcXCJCcnRDb2xJbmZvXFxcIix4ZCh0LHIpKX0pO2V0KGUsXFxcIkJydEVuZENvbEluZm9zXFxcIil9ZnVuY3Rpb24gVmQoZSxyKXtpZighcnx8IXJbXFxcIiFyZWZcXFwiXSlyZXR1cm47ZXQoZSxcXFwiQnJ0QmVnaW5DZWxsSWdub3JlRUNzXFxcIik7ZXQoZSxcXFwiQnJ0Q2VsbElnbm9yZUVDXFxcIixGZChrdChyW1xcXCIhcmVmXFxcIl0pKSk7ZXQoZSxcXFwiQnJ0RW5kQ2VsbElnbm9yZUVDc1xcXCIpfWZ1bmN0aW9uIFhkKGUscix0KXtyW1xcXCIhbGlua3NcXFwiXS5mb3JFYWNoKGZ1bmN0aW9uKHIpe1xcbmlmKCFyWzFdLlRhcmdldClyZXR1cm47dmFyIGE9WGEodCwtMSxyWzFdLlRhcmdldC5yZXBsYWNlKC8jLiokLyxcXFwiXFxcIiksTWEuSExJTkspO2V0KGUsXFxcIkJydEhMaW5rXFxcIixDZChyLGEpKX0pO2RlbGV0ZSByW1xcXCIhbGlua3NcXFwiXX1mdW5jdGlvbiBHZChlLHIsdCxhKXtpZihyW1xcXCIhY29tbWVudHNcXFwiXS5sZW5ndGg+MCl7dmFyIG49WGEoYSwtMSxcXFwiLi4vZHJhd2luZ3Mvdm1sRHJhd2luZ1xcXCIrKHQrMSkrXFxcIi52bWxcXFwiLE1hLlZNTCk7ZXQoZSxcXFwiQnJ0TGVnYWN5RHJhd2luZ1xcXCIsVnQoXFxcInJJZFxcXCIrbikpO3JbXFxcIiFsZWdhY3lcXFwiXT1ufX1mdW5jdGlvbiBqZChlLHIsdCxhKXtpZighcltcXFwiIWF1dG9maWx0ZXJcXFwiXSlyZXR1cm47dmFyIG49cltcXFwiIWF1dG9maWx0ZXJcXFwiXTt2YXIgaT10eXBlb2Ygbi5yZWY9PT1cXFwic3RyaW5nXFxcIj9uLnJlZjp3dChuLnJlZik7aWYoIXQuV29ya2Jvb2spdC5Xb3JrYm9vaz17U2hlZXRzOltdfTtpZighdC5Xb3JrYm9vay5OYW1lcyl0Lldvcmtib29rLk5hbWVzPVtdO3ZhciBzPXQuV29ya2Jvb2suTmFtZXM7dmFyIGY9Z3QoaSk7aWYoZi5zLnI9PWYuZS5yKXtmLmUucj1ndChyW1xcXCIhcmVmXFxcIl0pLmUucjtpPXd0KGYpfWZvcih2YXIgbz0wO288cy5sZW5ndGg7KytvKXt2YXIgbD1zW29dO2lmKGwuTmFtZSE9XFxcIl94bG5tLl9GaWx0ZXJEYXRhYmFzZVxcXCIpY29udGludWU7aWYobC5TaGVldCE9YSljb250aW51ZTtsLlJlZj1cXFwiJ1xcXCIrdC5TaGVldE5hbWVzW2FdK1xcXCInIVxcXCIraTticmVha31pZihvPT1zLmxlbmd0aClzLnB1c2goe05hbWU6XFxcIl94bG5tLl9GaWx0ZXJEYXRhYmFzZVxcXCIsU2hlZXQ6YSxSZWY6XFxcIidcXFwiK3QuU2hlZXROYW1lc1thXStcXFwiJyFcXFwiK2l9KTtldChlLFxcXCJCcnRCZWdpbkFGaWx0ZXJcXFwiLFl0KGt0KGkpKSk7ZXQoZSxcXFwiQnJ0RW5kQUZpbHRlclxcXCIpfWZ1bmN0aW9uIEtkKGUscix0KXtldChlLFxcXCJCcnRCZWdpbldzVmlld3NcXFwiKTt7ZXQoZSxcXFwiQnJ0QmVnaW5Xc1ZpZXdcXFwiLERkKHIsdCkpO2V0KGUsXFxcIkJydEVuZFdzVmlld1xcXCIpfWV0KGUsXFxcIkJydEVuZFdzVmlld3NcXFwiKX1mdW5jdGlvbiAkZCgpe31mdW5jdGlvbiBZZChlLHIpe2lmKCFyW1xcXCIhcHJvdGVjdFxcXCJdKXJldHVybjtldChlLFxcXCJCcnRTaGVldFByb3RlY3Rpb25cXFwiLFBkKHJbXFxcIiFwcm90ZWN0XFxcIl0pKX1mdW5jdGlvbiBaZChlLHIsdCxhKXt2YXIgbj1xcigpO3ZhciBpPXQuU2hlZXROYW1lc1tlXSxzPXQuU2hlZXRzW2ldfHx7fTt2YXIgZj1pO3RyeXtpZih0JiZ0Lldvcmtib29rKWY9dC5Xb3JrYm9vay5TaGVldHNbZV0uQ29kZU5hbWV8fGZ9Y2F0Y2gobyl7fXZhciBsPWt0KHNbXFxcIiFyZWZcXFwiXXx8XFxcIkExXFxcIik7aWYobC5lLmM+MTYzODN8fGwuZS5yPjEwNDg1NzUpe2lmKHIuV1RGKXRocm93IG5ldyBFcnJvcihcXFwiUmFuZ2UgXFxcIisoc1tcXFwiIXJlZlxcXCJdfHxcXFwiQTFcXFwiKStcXFwiIGV4Y2VlZHMgZm9ybWF0IGxpbWl0IEExOlhGRDEwNDg1NzZcXFwiKTtsLmUuYz1NYXRoLm1pbihsLmUuYywxNjM4Myk7bC5lLnI9TWF0aC5taW4obC5lLmMsMTA0ODU3NSl9c1tcXFwiIWxpbmtzXFxcIl09W107c1tcXFwiIWNvbW1lbnRzXFxcIl09W107ZXQobixcXFwiQnJ0QmVnaW5TaGVldFxcXCIpO2lmKHQudmJhcmF3KWV0KG4sXFxcIkJydFdzUHJvcFxcXCIsdGQoZikpO2V0KG4sXFxcIkJydFdzRGltXFxcIixxaChsKSk7S2QobixzLHQuV29ya2Jvb2spOyRkKG4scyk7V2QobixzLGUscix0KTt6ZChuLHMsZSxyLHQpO1lkKG4scyk7amQobixzLHQsZSk7SGQobixzKTtYZChuLHMsYSk7aWYoc1tcXFwiIW1hcmdpbnNcXFwiXSlldChuLFxcXCJCcnRNYXJnaW5zXFxcIixSZChzW1xcXCIhbWFyZ2luc1xcXCJdKSk7aWYoIXJ8fHIuaWdub3JlRUN8fHIuaWdub3JlRUM9PXZvaWQgMClWZChuLHMpO0dkKG4scyxlLGEpO2V0KG4sXFxcIkJydEVuZFNoZWV0XFxcIik7cmV0dXJuIG4uZW5kKCl9TWEuQ0hBUlQ9XFxcImh0dHA6Ly9zY2hlbWFzLm9wZW54bWxmb3JtYXRzLm9yZy9vZmZpY2VEb2N1bWVudC8yMDA2L3JlbGF0aW9uc2hpcHMvY2hhcnRcXFwiO01hLkNIQVJURVg9XFxcImh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vb2ZmaWNlLzIwMTQvcmVsYXRpb25zaGlwcy9jaGFydEV4XFxcIjtmdW5jdGlvbiBKZChlKXt2YXIgcj1bXTt2YXIgdD1lLm1hdGNoKC9ePGM6bnVtQ2FjaGU+Lyk7dmFyIGE7KGUubWF0Y2goLzxjOnB0IGlkeD1cXFwiKFxcXFxkKilcXFwiPiguKj8pPFxcXFwvYzpwdD4vZ20pfHxbXSkuZm9yRWFjaChmdW5jdGlvbihlKXt2YXIgYT1lLm1hdGNoKC88YzpwdCBpZHg9XFxcIihcXFxcZCo/KVxcXCI+PGM6dj4oLiopPFxcXFwvYzp2PjxcXFxcL2M6cHQ+Lyk7aWYoIWEpcmV0dXJuO3JbK2FbMV1dPXQ/K2FbMl06YVsyXX0pO3ZhciBuPU1lKChlLm1hdGNoKC88Yzpmb3JtYXRDb2RlPihbXFxcXHNcXFxcU10qPyk8XFxcXC9jOmZvcm1hdENvZGU+Lyl8fFtcXFwiXFxcIixcXFwiR2VuZXJhbFxcXCJdKVsxXSk7KGUubWF0Y2goLzxjOmY+KC4qPyk8XFxcXC9jOmY+L2dtKXx8W10pLmZvckVhY2goZnVuY3Rpb24oZSl7YT1lLnJlcGxhY2UoLzwuKj8+L2csXFxcIlxcXCIpfSk7cmV0dXJuW3IsbixhXX1mdW5jdGlvbiBRZChlLHIsdCxhLG4saSl7dmFyIHM9aXx8e1xcXCIhdHlwZVxcXCI6XFxcImNoYXJ0XFxcIn07aWYoIWUpcmV0dXJuIGk7dmFyIGY9MCxvPTAsbD1cXFwiQVxcXCI7dmFyIGM9e3M6e3I6MmU2LGM6MmU2fSxlOntyOjAsYzowfX07KGUubWF0Y2goLzxjOm51bUNhY2hlPltcXFxcc1xcXFxTXSo/PFxcXFwvYzpudW1DYWNoZT4vZ20pfHxbXSkuZm9yRWFjaChmdW5jdGlvbihlKXt2YXIgcj1KZChlKTtjLnMucj1jLnMuYz0wO2MuZS5jPWY7bD1odChmKTtyWzBdLmZvckVhY2goZnVuY3Rpb24oZSx0KXtzW2wrb3QodCldPXt0OlxcXCJuXFxcIix2OmUsejpyWzFdfTtvPXR9KTtpZihjLmUucjxvKWMuZS5yPW87KytmfSk7aWYoZj4wKXNbXFxcIiFyZWZcXFwiXT13dChjKTtyZXR1cm4gc31NYS5DUz1cXFwiaHR0cDovL3NjaGVtYXMub3BlbnhtbGZvcm1hdHMub3JnL29mZmljZURvY3VtZW50LzIwMDYvcmVsYXRpb25zaGlwcy9jaGFydHNoZWV0XFxcIjt2YXIgcWQ9bHIoXFxcImNoYXJ0c2hlZXRcXFwiLG51bGwse3htbG5zOmhyLm1haW5bMF0sXFxcInhtbG5zOnJcXFwiOmhyLnJ9KTtmdW5jdGlvbiBldihlLHIsdCxhLG4pe2lmKCFlKXJldHVybiBlO2lmKCFhKWE9e1xcXCIhaWRcXFwiOnt9fTt2YXIgaT17XFxcIiF0eXBlXFxcIjpcXFwiY2hhcnRcXFwiLFxcXCIhZHJhd2VsXFxcIjpudWxsLFxcXCIhcmVsXFxcIjpcXFwiXFxcIn07dmFyIHM7dmFyIGY9ZS5tYXRjaChCaCk7aWYoZilBaChmWzBdLGksbix0KTtpZihzPWUubWF0Y2goL2RyYXdpbmcgcjppZD1cXFwiKC4qPylcXFwiLykpaVtcXFwiIXJlbFxcXCJdPXNbMV07aWYoYVtcXFwiIWlkXFxcIl1baVtcXFwiIXJlbFxcXCJdXSlpW1xcXCIhZHJhd2VsXFxcIl09YVtcXFwiIWlkXFxcIl1baVtcXFwiIXJlbFxcXCJdXTtyZXR1cm4gaX1mdW5jdGlvbiBydihlLHIsdCxhKXt2YXIgbj1bQWUscWRdO25bbi5sZW5ndGhdPWxyKFxcXCJkcmF3aW5nXFxcIixudWxsLHtcXFwicjppZFxcXCI6XFxcInJJZDFcXFwifSk7WGEoYSwtMSxcXFwiLi4vZHJhd2luZ3MvZHJhd2luZ1xcXCIrKGUrMSkrXFxcIi54bWxcXFwiLE1hLkRSQVcpO2lmKG4ubGVuZ3RoPjIpe25bbi5sZW5ndGhdPVxcXCI8L2NoYXJ0c2hlZXQ+XFxcIjtuWzFdPW5bMV0ucmVwbGFjZShcXFwiLz5cXFwiLFxcXCI+XFxcIil9cmV0dXJuIG4uam9pbihcXFwiXFxcIil9ZnVuY3Rpb24gdHYoZSxyKXtlLmwrPTEwO3ZhciB0PXl0KGUsci0xMCk7cmV0dXJue25hbWU6dH19ZnVuY3Rpb24gYXYoZSxyLHQsYSxuKXtpZighZSlyZXR1cm4gZTtpZighYSlhPXtcXFwiIWlkXFxcIjp7fX07dmFyIGk9e1xcXCIhdHlwZVxcXCI6XFxcImNoYXJ0XFxcIixcXFwiIWRyYXdlbFxcXCI6bnVsbCxcXFwiIXJlbFxcXCI6XFxcIlxcXCJ9O3ZhciBzPVtdO3ZhciBmPWZhbHNlO1FyKGUsZnVuY3Rpb24gbyhlLGEsbCl7c3dpdGNoKGwpe2Nhc2UgNTUwOmlbXFxcIiFyZWxcXFwiXT1lO2JyZWFrO2Nhc2UgNjUxOmlmKCFuLlNoZWV0c1t0XSluLlNoZWV0c1t0XT17fTtpZihlLm5hbWUpbi5TaGVldHNbdF0uQ29kZU5hbWU9ZS5uYW1lO2JyZWFrO2Nhc2UgNTYyOjtjYXNlIDY1Mjo7Y2FzZSA2Njk6O2Nhc2UgNjc5OjtjYXNlIDU1MTo7Y2FzZSA1NTI6O2Nhc2UgNDc2OjtjYXNlIDMwNzI6YnJlYWs7Y2FzZSAzNTpmPXRydWU7YnJlYWs7Y2FzZSAzNjpmPWZhbHNlO2JyZWFrO2Nhc2UgMzc6cy5wdXNoKGEpO2JyZWFrO2Nhc2UgMzg6cy5wb3AoKTticmVhaztkZWZhdWx0OmlmKChhfHxcXFwiXFxcIikuaW5kZXhPZihcXFwiQmVnaW5cXFwiKT4wKXMucHVzaChhKTtlbHNlIGlmKChhfHxcXFwiXFxcIikuaW5kZXhPZihcXFwiRW5kXFxcIik+MClzLnBvcCgpO2Vsc2UgaWYoIWZ8fHIuV1RGKXRocm93IG5ldyBFcnJvcihcXFwiVW5leHBlY3RlZCByZWNvcmQgXFxcIitsK1xcXCIgXFxcIithKTt9fSxyKTtpZihhW1xcXCIhaWRcXFwiXVtpW1xcXCIhcmVsXFxcIl1dKWlbXFxcIiFkcmF3ZWxcXFwiXT1hW1xcXCIhaWRcXFwiXVtpW1xcXCIhcmVsXFxcIl1dO3JldHVybiBpfWZ1bmN0aW9uIG52KCl7dmFyIGU9cXIoKTtldChlLFxcXCJCcnRCZWdpblNoZWV0XFxcIik7ZXQoZSxcXFwiQnJ0RW5kU2hlZXRcXFwiKTtyZXR1cm4gZS5lbmQoKX12YXIgaXY9W1tcXFwiYWxsb3dSZWZyZXNoUXVlcnlcXFwiLGZhbHNlLFxcXCJib29sXFxcIl0sW1xcXCJhdXRvQ29tcHJlc3NQaWN0dXJlc1xcXCIsdHJ1ZSxcXFwiYm9vbFxcXCJdLFtcXFwiYmFja3VwRmlsZVxcXCIsZmFsc2UsXFxcImJvb2xcXFwiXSxbXFxcImNoZWNrQ29tcGF0aWJpbGl0eVxcXCIsZmFsc2UsXFxcImJvb2xcXFwiXSxbXFxcIkNvZGVOYW1lXFxcIixcXFwiXFxcIl0sW1xcXCJkYXRlMTkwNFxcXCIsZmFsc2UsXFxcImJvb2xcXFwiXSxbXFxcImRlZmF1bHRUaGVtZVZlcnNpb25cXFwiLDAsXFxcImludFxcXCJdLFtcXFwiZmlsdGVyUHJpdmFjeVxcXCIsZmFsc2UsXFxcImJvb2xcXFwiXSxbXFxcImhpZGVQaXZvdEZpZWxkTGlzdFxcXCIsZmFsc2UsXFxcImJvb2xcXFwiXSxbXFxcInByb21wdGVkU29sdXRpb25zXFxcIixmYWxzZSxcXFwiYm9vbFxcXCJdLFtcXFwicHVibGlzaEl0ZW1zXFxcIixmYWxzZSxcXFwiYm9vbFxcXCJdLFtcXFwicmVmcmVzaEFsbENvbm5lY3Rpb25zXFxcIixmYWxzZSxcXFwiYm9vbFxcXCJdLFtcXFwic2F2ZUV4dGVybmFsTGlua1ZhbHVlc1xcXCIsdHJ1ZSxcXFwiYm9vbFxcXCJdLFtcXFwic2hvd0JvcmRlclVuc2VsZWN0ZWRUYWJsZXNcXFwiLHRydWUsXFxcImJvb2xcXFwiXSxbXFxcInNob3dJbmtBbm5vdGF0aW9uXFxcIix0cnVlLFxcXCJib29sXFxcIl0sW1xcXCJzaG93T2JqZWN0c1xcXCIsXFxcImFsbFxcXCJdLFtcXFwic2hvd1Bpdm90Q2hhcnRGaWx0ZXJcXFwiLGZhbHNlLFxcXCJib29sXFxcIl0sW1xcXCJ1cGRhdGVMaW5rc1xcXCIsXFxcInVzZXJTZXRcXFwiXV07dmFyIHN2PVtbXFxcImFjdGl2ZVRhYlxcXCIsMCxcXFwiaW50XFxcIl0sW1xcXCJhdXRvRmlsdGVyRGF0ZUdyb3VwaW5nXFxcIix0cnVlLFxcXCJib29sXFxcIl0sW1xcXCJmaXJzdFNoZWV0XFxcIiwwLFxcXCJpbnRcXFwiXSxbXFxcIm1pbmltaXplZFxcXCIsZmFsc2UsXFxcImJvb2xcXFwiXSxbXFxcInNob3dIb3Jpem9udGFsU2Nyb2xsXFxcIix0cnVlLFxcXCJib29sXFxcIl0sW1xcXCJzaG93U2hlZXRUYWJzXFxcIix0cnVlLFxcXCJib29sXFxcIl0sW1xcXCJzaG93VmVydGljYWxTY3JvbGxcXFwiLHRydWUsXFxcImJvb2xcXFwiXSxbXFxcInRhYlJhdGlvXFxcIiw2MDAsXFxcImludFxcXCJdLFtcXFwidmlzaWJpbGl0eVxcXCIsXFxcInZpc2libGVcXFwiXV07dmFyIGZ2PVtdO3ZhciBvdj1bW1xcXCJjYWxjQ29tcGxldGVkXFxcIixcXFwidHJ1ZVxcXCJdLFtcXFwiY2FsY01vZGVcXFwiLFxcXCJhdXRvXFxcIl0sW1xcXCJjYWxjT25TYXZlXFxcIixcXFwidHJ1ZVxcXCJdLFtcXFwiY29uY3VycmVudENhbGNcXFwiLFxcXCJ0cnVlXFxcIl0sW1xcXCJmdWxsQ2FsY09uTG9hZFxcXCIsXFxcImZhbHNlXFxcIl0sW1xcXCJmdWxsUHJlY2lzaW9uXFxcIixcXFwidHJ1ZVxcXCJdLFtcXFwiaXRlcmF0ZVxcXCIsXFxcImZhbHNlXFxcIl0sW1xcXCJpdGVyYXRlQ291bnRcXFwiLFxcXCIxMDBcXFwiXSxbXFxcIml0ZXJhdGVEZWx0YVxcXCIsXFxcIjAuMDAxXFxcIl0sW1xcXCJyZWZNb2RlXFxcIixcXFwiQTFcXFwiXV07ZnVuY3Rpb24gbHYoZSxyKXtmb3IodmFyIHQ9MDt0IT1lLmxlbmd0aDsrK3Qpe3ZhciBhPWVbdF07Zm9yKHZhciBuPTA7biE9ci5sZW5ndGg7KytuKXt2YXIgaT1yW25dO2lmKGFbaVswXV09PW51bGwpYVtpWzBdXT1pWzFdO2Vsc2Ugc3dpdGNoKGlbMl0pe2Nhc2VcXFwiYm9vbFxcXCI6aWYodHlwZW9mIGFbaVswXV09PVxcXCJzdHJpbmdcXFwiKWFbaVswXV09JGUoYVtpWzBdXSk7YnJlYWs7Y2FzZVxcXCJpbnRcXFwiOmlmKHR5cGVvZiBhW2lbMF1dPT1cXFwic3RyaW5nXFxcIilhW2lbMF1dPXBhcnNlSW50KGFbaVswXV0sMTApO2JyZWFrO319fX1mdW5jdGlvbiBjdihlLHIpe2Zvcih2YXIgdD0wO3QhPXIubGVuZ3RoOysrdCl7dmFyIGE9clt0XTtpZihlW2FbMF1dPT1udWxsKWVbYVswXV09YVsxXTtlbHNlIHN3aXRjaChhWzJdKXtjYXNlXFxcImJvb2xcXFwiOmlmKHR5cGVvZiBlW2FbMF1dPT1cXFwic3RyaW5nXFxcIillW2FbMF1dPSRlKGVbYVswXV0pO2JyZWFrO2Nhc2VcXFwiaW50XFxcIjppZih0eXBlb2YgZVthWzBdXT09XFxcInN0cmluZ1xcXCIpZVthWzBdXT1wYXJzZUludChlW2FbMF1dLDEwKTticmVhazt9fX1mdW5jdGlvbiB1dihlKXtjdihlLldCUHJvcHMsaXYpO2N2KGUuQ2FsY1ByLG92KTtsdihlLldCVmlldyxzdik7bHYoZS5TaGVldHMsZnYpO2xoLmRhdGUxOTA0PSRlKGUuV0JQcm9wcy5kYXRlMTkwNCl9ZnVuY3Rpb24gaHYoZSl7aWYoIWUuV29ya2Jvb2spcmV0dXJuXFxcImZhbHNlXFxcIjtpZighZS5Xb3JrYm9vay5XQlByb3BzKXJldHVyblxcXCJmYWxzZVxcXCI7cmV0dXJuICRlKGUuV29ya2Jvb2suV0JQcm9wcy5kYXRlMTkwNCk/XFxcInRydWVcXFwiOlxcXCJmYWxzZVxcXCJ9dmFyIGR2PVxcXCJdWyo/L1xcXFxcXFxcXFxcIi5zcGxpdChcXFwiXFxcIik7ZnVuY3Rpb24gdnYoZSxyKXtpZihlLmxlbmd0aD4zMSl7aWYocilyZXR1cm4gZmFsc2U7dGhyb3cgbmV3IEVycm9yKFxcXCJTaGVldCBuYW1lcyBjYW5ub3QgZXhjZWVkIDMxIGNoYXJzXFxcIil9dmFyIHQ9dHJ1ZTtkdi5mb3JFYWNoKGZ1bmN0aW9uKGEpe2lmKGUuaW5kZXhPZihhKT09LTEpcmV0dXJuO2lmKCFyKXRocm93IG5ldyBFcnJvcihcXFwiU2hlZXQgbmFtZSBjYW5ub3QgY29udGFpbiA6IFxcXFxcXFxcIC8gPyAqIFsgXVxcXCIpO3Q9ZmFsc2V9KTtyZXR1cm4gdH1mdW5jdGlvbiBwdihlLHIsdCl7ZS5mb3JFYWNoKGZ1bmN0aW9uKGEsbil7dnYoYSk7Zm9yKHZhciBpPTA7aTxuOysraSlpZihhPT1lW2ldKXRocm93IG5ldyBFcnJvcihcXFwiRHVwbGljYXRlIFNoZWV0IE5hbWU6IFxcXCIrYSk7aWYodCl7dmFyIHM9ciYmcltuXSYmcltuXS5Db2RlTmFtZXx8YTtpZihzLmNoYXJDb2RlQXQoMCk9PTk1JiZzLmxlbmd0aD4yMil0aHJvdyBuZXcgRXJyb3IoXFxcIkJhZCBDb2RlIE5hbWU6IFdvcmtzaGVldFxcXCIrcyl9fSl9ZnVuY3Rpb24gbXYoZSl7aWYoIWV8fCFlLlNoZWV0TmFtZXN8fCFlLlNoZWV0cyl0aHJvdyBuZXcgRXJyb3IoXFxcIkludmFsaWQgV29ya2Jvb2tcXFwiKTtpZighZS5TaGVldE5hbWVzLmxlbmd0aCl0aHJvdyBuZXcgRXJyb3IoXFxcIldvcmtib29rIGlzIGVtcHR5XFxcIik7dmFyIHI9ZS5Xb3JrYm9vayYmZS5Xb3JrYm9vay5TaGVldHN8fFtdO3B2KGUuU2hlZXROYW1lcyxyLCEhZS52YmFyYXcpO2Zvcih2YXIgdD0wO3Q8ZS5TaGVldE5hbWVzLmxlbmd0aDsrK3QpbWgoZS5TaGVldHNbZS5TaGVldE5hbWVzW3RdXSxlLlNoZWV0TmFtZXNbdF0sdCl9dmFyIGJ2PS88XFxcXHcrOndvcmtib29rLztmdW5jdGlvbiBndihlLHIpe2lmKCFlKXRocm93IG5ldyBFcnJvcihcXFwiQ291bGQgbm90IGZpbmQgZmlsZVxcXCIpO3ZhciB0PXtBcHBWZXJzaW9uOnt9LFdCUHJvcHM6e30sV0JWaWV3OltdLFNoZWV0czpbXSxDYWxjUHI6e30sTmFtZXM6W10seG1sbnM6XFxcIlxcXCJ9O3ZhciBhPWZhbHNlLG49XFxcInhtbG5zXFxcIjt2YXIgaT17fSxzPTA7ZS5yZXBsYWNlKFJlLGZ1bmN0aW9uIGYobyxsKXt2YXIgYz1GZShvKTtzd2l0Y2goUGUoY1swXSkpe2Nhc2VcXFwiPD94bWxcXFwiOmJyZWFrO2Nhc2VcXFwiPHdvcmtib29rXFxcIjppZihvLm1hdGNoKGJ2KSluPVxcXCJ4bWxuc1xcXCIrby5tYXRjaCgvPChcXFxcdyspOi8pWzFdO3QueG1sbnM9Y1tuXTticmVhaztjYXNlXFxcIjwvd29ya2Jvb2s+XFxcIjpicmVhaztjYXNlXFxcIjxmaWxlVmVyc2lvblxcXCI6ZGVsZXRlIGNbMF07dC5BcHBWZXJzaW9uPWM7YnJlYWs7Y2FzZVxcXCI8ZmlsZVZlcnNpb24vPlxcXCI6O2Nhc2VcXFwiPC9maWxlVmVyc2lvbj5cXFwiOmJyZWFrO2Nhc2VcXFwiPGZpbGVTaGFyaW5nXFxcIjpicmVhaztjYXNlXFxcIjxmaWxlU2hhcmluZy8+XFxcIjpicmVhaztjYXNlXFxcIjx3b3JrYm9va1ByXFxcIjo7Y2FzZVxcXCI8d29ya2Jvb2tQci8+XFxcIjppdi5mb3JFYWNoKGZ1bmN0aW9uKGUpe2lmKGNbZVswXV09PW51bGwpcmV0dXJuO3N3aXRjaChlWzJdKXtjYXNlXFxcImJvb2xcXFwiOnQuV0JQcm9wc1tlWzBdXT0kZShjW2VbMF1dKTticmVhaztjYXNlXFxcImludFxcXCI6dC5XQlByb3BzW2VbMF1dPXBhcnNlSW50KGNbZVswXV0sMTApO2JyZWFrO2RlZmF1bHQ6dC5XQlByb3BzW2VbMF1dPWNbZVswXV07fX0pO2lmKGMuY29kZU5hbWUpdC5XQlByb3BzLkNvZGVOYW1lPVllKGMuY29kZU5hbWUpO2JyZWFrO2Nhc2VcXFwiPC93b3JrYm9va1ByPlxcXCI6YnJlYWs7Y2FzZVxcXCI8d29ya2Jvb2tQcm90ZWN0aW9uXFxcIjpicmVhaztjYXNlXFxcIjx3b3JrYm9va1Byb3RlY3Rpb24vPlxcXCI6YnJlYWs7Y2FzZVxcXCI8Ym9va1ZpZXdzXFxcIjo7Y2FzZVxcXCI8Ym9va1ZpZXdzPlxcXCI6O2Nhc2VcXFwiPC9ib29rVmlld3M+XFxcIjpicmVhaztjYXNlXFxcIjx3b3JrYm9va1ZpZXdcXFwiOjtjYXNlXFxcIjx3b3JrYm9va1ZpZXcvPlxcXCI6ZGVsZXRlIGNbMF07dC5XQlZpZXcucHVzaChjKTticmVhaztjYXNlXFxcIjwvd29ya2Jvb2tWaWV3PlxcXCI6YnJlYWs7Y2FzZVxcXCI8c2hlZXRzXFxcIjo7Y2FzZVxcXCI8c2hlZXRzPlxcXCI6O2Nhc2VcXFwiPC9zaGVldHM+XFxcIjpicmVhaztjYXNlXFxcIjxzaGVldFxcXCI6c3dpdGNoKGMuc3RhdGUpe2Nhc2VcXFwiaGlkZGVuXFxcIjpjLkhpZGRlbj0xO2JyZWFrO2Nhc2VcXFwidmVyeUhpZGRlblxcXCI6Yy5IaWRkZW49MjticmVhaztkZWZhdWx0OmMuSGlkZGVuPTA7fWRlbGV0ZSBjLnN0YXRlO2MubmFtZT1NZShZZShjLm5hbWUpKTtkZWxldGUgY1swXTt0LlNoZWV0cy5wdXNoKGMpO2JyZWFrO2Nhc2VcXFwiPC9zaGVldD5cXFwiOmJyZWFrO2Nhc2VcXFwiPGZ1bmN0aW9uR3JvdXBzXFxcIjo7Y2FzZVxcXCI8ZnVuY3Rpb25Hcm91cHMvPlxcXCI6YnJlYWs7Y2FzZVxcXCI8ZnVuY3Rpb25Hcm91cFxcXCI6YnJlYWs7Y2FzZVxcXCI8ZXh0ZXJuYWxSZWZlcmVuY2VzXFxcIjo7Y2FzZVxcXCI8L2V4dGVybmFsUmVmZXJlbmNlcz5cXFwiOjtjYXNlXFxcIjxleHRlcm5hbFJlZmVyZW5jZXM+XFxcIjpicmVhaztjYXNlXFxcIjxleHRlcm5hbFJlZmVyZW5jZVxcXCI6YnJlYWs7Y2FzZVxcXCI8ZGVmaW5lZE5hbWVzLz5cXFwiOmJyZWFrO2Nhc2VcXFwiPGRlZmluZWROYW1lcz5cXFwiOjtjYXNlXFxcIjxkZWZpbmVkTmFtZXNcXFwiOmE9dHJ1ZTticmVhaztjYXNlXFxcIjwvZGVmaW5lZE5hbWVzPlxcXCI6YT1mYWxzZTticmVhaztjYXNlXFxcIjxkZWZpbmVkTmFtZVxcXCI6e2k9e307aS5OYW1lPVllKGMubmFtZSk7aWYoYy5jb21tZW50KWkuQ29tbWVudD1jLmNvbW1lbnQ7aWYoYy5sb2NhbFNoZWV0SWQpaS5TaGVldD0rYy5sb2NhbFNoZWV0SWQ7aWYoJGUoYy5oaWRkZW58fFxcXCIwXFxcIikpaS5IaWRkZW49dHJ1ZTtzPWwrby5sZW5ndGh9YnJlYWs7Y2FzZVxcXCI8L2RlZmluZWROYW1lPlxcXCI6e2kuUmVmPU1lKFllKGUuc2xpY2UocyxsKSkpO3QuTmFtZXMucHVzaChpKX1icmVhaztjYXNlXFxcIjxkZWZpbmVkTmFtZS8+XFxcIjpicmVhaztjYXNlXFxcIjxjYWxjUHJcXFwiOmRlbGV0ZSBjWzBdO3QuQ2FsY1ByPWM7YnJlYWs7Y2FzZVxcXCI8Y2FsY1ByLz5cXFwiOmRlbGV0ZSBjWzBdO3QuQ2FsY1ByPWM7YnJlYWs7Y2FzZVxcXCI8L2NhbGNQcj5cXFwiOmJyZWFrO2Nhc2VcXFwiPG9sZVNpemVcXFwiOmJyZWFrO2Nhc2VcXFwiPGN1c3RvbVdvcmtib29rVmlld3M+XFxcIjo7Y2FzZVxcXCI8L2N1c3RvbVdvcmtib29rVmlld3M+XFxcIjo7Y2FzZVxcXCI8Y3VzdG9tV29ya2Jvb2tWaWV3c1xcXCI6YnJlYWs7Y2FzZVxcXCI8Y3VzdG9tV29ya2Jvb2tWaWV3XFxcIjo7Y2FzZVxcXCI8L2N1c3RvbVdvcmtib29rVmlldz5cXFwiOmJyZWFrO2Nhc2VcXFwiPHBpdm90Q2FjaGVzPlxcXCI6O2Nhc2VcXFwiPC9waXZvdENhY2hlcz5cXFwiOjtjYXNlXFxcIjxwaXZvdENhY2hlc1xcXCI6YnJlYWs7Y2FzZVxcXCI8cGl2b3RDYWNoZVxcXCI6YnJlYWs7Y2FzZVxcXCI8c21hcnRUYWdQclxcXCI6O2Nhc2VcXFwiPHNtYXJ0VGFnUHIvPlxcXCI6YnJlYWs7Y2FzZVxcXCI8c21hcnRUYWdUeXBlc1xcXCI6O2Nhc2VcXFwiPHNtYXJ0VGFnVHlwZXM+XFxcIjo7Y2FzZVxcXCI8L3NtYXJ0VGFnVHlwZXM+XFxcIjpicmVhaztjYXNlXFxcIjxzbWFydFRhZ1R5cGVcXFwiOmJyZWFrO2Nhc2VcXFwiPHdlYlB1Ymxpc2hpbmdcXFwiOjtjYXNlXFxcIjx3ZWJQdWJsaXNoaW5nLz5cXFwiOmJyZWFrO2Nhc2VcXFwiPGZpbGVSZWNvdmVyeVByXFxcIjo7Y2FzZVxcXCI8ZmlsZVJlY292ZXJ5UHIvPlxcXCI6YnJlYWs7Y2FzZVxcXCI8d2ViUHVibGlzaE9iamVjdHM+XFxcIjo7Y2FzZVxcXCI8d2ViUHVibGlzaE9iamVjdHNcXFwiOjtjYXNlXFxcIjwvd2ViUHVibGlzaE9iamVjdHM+XFxcIjpicmVhaztjYXNlXFxcIjx3ZWJQdWJsaXNoT2JqZWN0XFxcIjpicmVhaztjYXNlXFxcIjxleHRMc3RcXFwiOjtjYXNlXFxcIjxleHRMc3Q+XFxcIjo7Y2FzZVxcXCI8L2V4dExzdD5cXFwiOjtjYXNlXFxcIjxleHRMc3QvPlxcXCI6YnJlYWs7Y2FzZVxcXCI8ZXh0XFxcIjphPXRydWU7YnJlYWs7Y2FzZVxcXCI8L2V4dD5cXFwiOmE9ZmFsc2U7YnJlYWs7Y2FzZVxcXCI8QXJjaElEXFxcIjpicmVhaztjYXNlXFxcIjxBbHRlcm5hdGVDb250ZW50XFxcIjo7Y2FzZVxcXCI8QWx0ZXJuYXRlQ29udGVudD5cXFwiOmE9dHJ1ZTticmVhaztjYXNlXFxcIjwvQWx0ZXJuYXRlQ29udGVudD5cXFwiOmE9ZmFsc2U7YnJlYWs7Y2FzZVxcXCI8cmV2aXNpb25QdHJcXFwiOmJyZWFrO2RlZmF1bHQ6aWYoIWEmJnIuV1RGKXRocm93IG5ldyBFcnJvcihcXFwidW5yZWNvZ25pemVkIFxcXCIrY1swXStcXFwiIGluIHdvcmtib29rXFxcIik7fXJldHVybiBvfSk7aWYoaHIubWFpbi5pbmRleE9mKHQueG1sbnMpPT09LTEpdGhyb3cgbmV3IEVycm9yKFxcXCJVbmtub3duIE5hbWVzcGFjZTogXFxcIit0LnhtbG5zKTt1dih0KTtyZXR1cm4gdH12YXIgd3Y9bHIoXFxcIndvcmtib29rXFxcIixudWxsLHt4bWxuczpoci5tYWluWzBdLFxcXCJ4bWxuczpyXFxcIjpoci5yfSk7ZnVuY3Rpb24ga3YoZSl7dmFyIHI9W0FlXTtyW3IubGVuZ3RoXT13djt2YXIgdD1lLldvcmtib29rJiYoZS5Xb3JrYm9vay5OYW1lc3x8W10pLmxlbmd0aD4wO3ZhciBhPXtjb2RlTmFtZTpcXFwiVGhpc1dvcmtib29rXFxcIn07aWYoZS5Xb3JrYm9vayYmZS5Xb3JrYm9vay5XQlByb3BzKXtpdi5mb3JFYWNoKGZ1bmN0aW9uKHIpe2lmKGUuV29ya2Jvb2suV0JQcm9wc1tyWzBdXT09bnVsbClyZXR1cm47aWYoZS5Xb3JrYm9vay5XQlByb3BzW3JbMF1dPT1yWzFdKXJldHVybjthW3JbMF1dPWUuV29ya2Jvb2suV0JQcm9wc1tyWzBdXX0pO2lmKGUuV29ya2Jvb2suV0JQcm9wcy5Db2RlTmFtZSl7YS5jb2RlTmFtZT1lLldvcmtib29rLldCUHJvcHMuQ29kZU5hbWU7ZGVsZXRlIGEuQ29kZU5hbWV9fXJbci5sZW5ndGhdPWxyKFxcXCJ3b3JrYm9va1ByXFxcIixudWxsLGEpO3ZhciBuPWUuV29ya2Jvb2smJmUuV29ya2Jvb2suU2hlZXRzfHxbXTt2YXIgaT0wO2lmKG4mJm5bMF0mJiEhblswXS5IaWRkZW4pe3Jbci5sZW5ndGhdPVxcXCI8Ym9va1ZpZXdzPlxcXCI7Zm9yKGk9MDtpIT1lLlNoZWV0TmFtZXMubGVuZ3RoOysraSl7aWYoIW5baV0pYnJlYWs7aWYoIW5baV0uSGlkZGVuKWJyZWFrfWlmKGk9PWUuU2hlZXROYW1lcy5sZW5ndGgpaT0wO3Jbci5sZW5ndGhdPSc8d29ya2Jvb2tWaWV3IGZpcnN0U2hlZXQ9XFxcIicraSsnXFxcIiBhY3RpdmVUYWI9XFxcIicraSsnXFxcIi8+JztyW3IubGVuZ3RoXT1cXFwiPC9ib29rVmlld3M+XFxcIn1yW3IubGVuZ3RoXT1cXFwiPHNoZWV0cz5cXFwiO2ZvcihpPTA7aSE9ZS5TaGVldE5hbWVzLmxlbmd0aDsrK2kpe3ZhciBzPXtuYW1lOkhlKGUuU2hlZXROYW1lc1tpXS5zbGljZSgwLDMxKSl9O3Muc2hlZXRJZD1cXFwiXFxcIisoaSsxKTtzW1xcXCJyOmlkXFxcIl09XFxcInJJZFxcXCIrKGkrMSk7aWYobltpXSlzd2l0Y2gobltpXS5IaWRkZW4pe2Nhc2UgMTpzLnN0YXRlPVxcXCJoaWRkZW5cXFwiO2JyZWFrO2Nhc2UgMjpzLnN0YXRlPVxcXCJ2ZXJ5SGlkZGVuXFxcIjticmVhazt9cltyLmxlbmd0aF09bHIoXFxcInNoZWV0XFxcIixudWxsLHMpfXJbci5sZW5ndGhdPVxcXCI8L3NoZWV0cz5cXFwiO2lmKHQpe3Jbci5sZW5ndGhdPVxcXCI8ZGVmaW5lZE5hbWVzPlxcXCI7aWYoZS5Xb3JrYm9vayYmZS5Xb3JrYm9vay5OYW1lcyllLldvcmtib29rLk5hbWVzLmZvckVhY2goZnVuY3Rpb24oZSl7dmFyIHQ9e25hbWU6ZS5OYW1lfTtpZihlLkNvbW1lbnQpdC5jb21tZW50PWUuQ29tbWVudDtpZihlLlNoZWV0IT1udWxsKXQubG9jYWxTaGVldElkPVxcXCJcXFwiK2UuU2hlZXQ7aWYoZS5IaWRkZW4pdC5oaWRkZW49XFxcIjFcXFwiO2lmKCFlLlJlZilyZXR1cm47cltyLmxlbmd0aF09bHIoXFxcImRlZmluZWROYW1lXFxcIixIZShlLlJlZiksdCl9KTtyW3IubGVuZ3RoXT1cXFwiPC9kZWZpbmVkTmFtZXM+XFxcIn1pZihyLmxlbmd0aD4yKXtyW3IubGVuZ3RoXT1cXFwiPC93b3JrYm9vaz5cXFwiO3JbMV09clsxXS5yZXBsYWNlKFxcXCIvPlxcXCIsXFxcIj5cXFwiKX1yZXR1cm4gci5qb2luKFxcXCJcXFwiKX1mdW5jdGlvbiBFdihlLHIpe3ZhciB0PXt9O3QuSGlkZGVuPWUuX1IoNCk7dC5pVGFiSUQ9ZS5fUig0KTt0LnN0clJlbElEPVd0KGUsci04KTt0Lm5hbWU9eXQoZSk7cmV0dXJuIHR9ZnVuY3Rpb24gU3YoZSxyKXtpZighcilyPUpyKDEyNyk7ci5fVyg0LGUuSGlkZGVuKTtyLl9XKDQsZS5pVGFiSUQpO1Z0KGUuc3RyUmVsSUQscik7eHQoZS5uYW1lLnNsaWNlKDAsMzEpLHIpO3JldHVybiByLmxlbmd0aD5yLmw/ci5zbGljZSgwLHIubCk6cn1mdW5jdGlvbiBfdihlLHIpe3ZhciB0PXt9O3ZhciBhPWUuX1IoNCk7dC5kZWZhdWx0VGhlbWVWZXJzaW9uPWUuX1IoNCk7dmFyIG49cj44P3l0KGUpOlxcXCJcXFwiO2lmKG4ubGVuZ3RoPjApdC5Db2RlTmFtZT1uO3QuYXV0b0NvbXByZXNzUGljdHVyZXM9ISEoYSY2NTUzNik7dC5iYWNrdXBGaWxlPSEhKGEmNjQpO3QuY2hlY2tDb21wYXRpYmlsaXR5PSEhKGEmNDA5Nik7dC5kYXRlMTkwND0hIShhJjEpO3QuZmlsdGVyUHJpdmFjeT0hIShhJjgpO3QuaGlkZVBpdm90RmllbGRMaXN0PSEhKGEmMTAyNCk7dC5wcm9tcHRlZFNvbHV0aW9ucz0hIShhJjE2KTt0LnB1Ymxpc2hJdGVtcz0hIShhJjIwNDgpO3QucmVmcmVzaEFsbENvbm5lY3Rpb25zPSEhKGEmMjYyMTQ0KTt0LnNhdmVFeHRlcm5hbExpbmtWYWx1ZXM9ISEoYSYxMjgpO3Quc2hvd0JvcmRlclVuc2VsZWN0ZWRUYWJsZXM9ISEoYSY0KTt0LnNob3dJbmtBbm5vdGF0aW9uPSEhKGEmMzIpO3Quc2hvd09iamVjdHM9W1xcXCJhbGxcXFwiLFxcXCJwbGFjZWhvbGRlcnNcXFwiLFxcXCJub25lXFxcIl1bYT4+MTMmM107dC5zaG93UGl2b3RDaGFydEZpbHRlcj0hIShhJjMyNzY4KTt0LnVwZGF0ZUxpbmtzPVtcXFwidXNlclNldFxcXCIsXFxcIm5ldmVyXFxcIixcXFwiYWx3YXlzXFxcIl1bYT4+OCYzXTtyZXR1cm4gdH1mdW5jdGlvbiBDdihlLHIpe2lmKCFyKXI9SnIoNzIpO3ZhciB0PTA7aWYoZSl7aWYoZS5maWx0ZXJQcml2YWN5KXR8PTh9ci5fVyg0LHQpO3IuX1coNCwwKTtNdChlJiZlLkNvZGVOYW1lfHxcXFwiVGhpc1dvcmtib29rXFxcIixyKTtyZXR1cm4gci5zbGljZSgwLHIubCl9ZnVuY3Rpb24gQnYoZSxyKXt2YXIgdD17fTtlLl9SKDQpO3QuQXJjaElEPWUuX1IoNCk7ZS5sKz1yLTg7cmV0dXJuIHR9ZnVuY3Rpb24gVHYoZSxyLHQpe3ZhciBhPWUubCtyO2UubCs9NDtlLmwrPTE7dmFyIG49ZS5fUig0KTt2YXIgaT1IdChlKTt2YXIgcz1RdShlLDAsdCk7dmFyIGY9VXQoZSk7ZS5sPWE7dmFyIG89e05hbWU6aSxQdGc6c307aWYobjwyNjg0MzU0NTUpby5TaGVldD1uO2lmKGYpby5Db21tZW50PWY7cmV0dXJuIG99ZnVuY3Rpb24geXYoZSxyKXt2YXIgdD17QXBwVmVyc2lvbjp7fSxXQlByb3BzOnt9LFdCVmlldzpbXSxTaGVldHM6W10sQ2FsY1ByOnt9LHhtbG5zOlxcXCJcXFwifTt2YXIgYT1bXTt2YXIgbj1mYWxzZTtpZighcilyPXt9O3IuYmlmZj0xMjt2YXIgaT1bXTt2YXIgcz1bW11dO3MuU2hlZXROYW1lcz1bXTtzLlhUST1bXTtRcihlLGZ1bmN0aW9uIGYoZSxvLGwpe3N3aXRjaChsKXtjYXNlIDE1NjpzLlNoZWV0TmFtZXMucHVzaChlLm5hbWUpO3QuU2hlZXRzLnB1c2goZSk7YnJlYWs7Y2FzZSAxNTM6dC5XQlByb3BzPWU7YnJlYWs7Y2FzZSAzOTppZihlLlNoZWV0IT1udWxsKXIuU0lEPWUuU2hlZXQ7ZS5SZWY9enUoZS5QdGcsbnVsbCxudWxsLHMscik7ZGVsZXRlIHIuU0lEO2RlbGV0ZSBlLlB0ZztpLnB1c2goZSk7YnJlYWs7Y2FzZSAxMDM2OmJyZWFrO2Nhc2UgMzU3OjtjYXNlIDM1ODo7Y2FzZSAzNTU6O2Nhc2UgNjY3OmlmKCFzWzBdLmxlbmd0aClzWzBdPVtsLGVdO2Vsc2Ugcy5wdXNoKFtsLGVdKTtzW3MubGVuZ3RoLTFdLlhUST1bXTticmVhaztjYXNlIDM2MjppZihzLmxlbmd0aD09PTApe3NbMF09W107c1swXS5YVEk9W119c1tzLmxlbmd0aC0xXS5YVEk9c1tzLmxlbmd0aC0xXS5YVEkuY29uY2F0KGUpO3MuWFRJPXMuWFRJLmNvbmNhdChlKTticmVhaztjYXNlIDM2MTpicmVhaztjYXNlIDMwNzI6O2Nhc2UgMzA3Mzo7Y2FzZSAyMDcxOjtjYXNlIDUzNDo7Y2FzZSA2Nzc6O2Nhc2UgMTU4OjtjYXNlIDE1Nzo7Y2FzZSA2MTA6O2Nhc2UgMjA1MDo7Y2FzZSAxNTU6O2Nhc2UgNTQ4OjtjYXNlIDY3Njo7Y2FzZSAxMjg6O2Nhc2UgNjY1OjtjYXNlIDIxMjg6O2Nhc2UgMjEyNTo7Y2FzZSA1NDk6O2Nhc2UgMjA1Mzo7Y2FzZSA1OTY6O2Nhc2UgMjA3Njo7Y2FzZSAyMDc1OjtjYXNlIDIwODI6O2Nhc2UgMzk3OjtjYXNlIDE1NDo7Y2FzZSAxMTE3OjtjYXNlIDU1Mzo7Y2FzZSAyMDkxOmJyZWFrO2Nhc2UgMzU6YS5wdXNoKG8pO249dHJ1ZTticmVhaztjYXNlIDM2OmEucG9wKCk7bj1mYWxzZTticmVhaztjYXNlIDM3OmEucHVzaChvKTtuPXRydWU7YnJlYWs7Y2FzZSAzODphLnBvcCgpO249ZmFsc2U7YnJlYWs7Y2FzZSAxNjpicmVhaztkZWZhdWx0OmlmKChvfHxcXFwiXFxcIikuaW5kZXhPZihcXFwiQmVnaW5cXFwiKT4wKXt9ZWxzZSBpZigob3x8XFxcIlxcXCIpLmluZGV4T2YoXFxcIkVuZFxcXCIpPjApe31lbHNlIGlmKCFufHxyLldURiYmYVthLmxlbmd0aC0xXSE9XFxcIkJydEFDQmVnaW5cXFwiJiZhW2EubGVuZ3RoLTFdIT1cXFwiQnJ0RlJUQmVnaW5cXFwiKXRocm93IG5ldyBFcnJvcihcXFwiVW5leHBlY3RlZCByZWNvcmQgXFxcIitsK1xcXCIgXFxcIitvKTt9fSxyKTt1dih0KTt0Lk5hbWVzPWk7dC5zdXBib29rcz1zO3JldHVybiB0fWZ1bmN0aW9uIHh2KGUscil7ZXQoZSxcXFwiQnJ0QmVnaW5CdW5kbGVTaHNcXFwiKTtmb3IodmFyIHQ9MDt0IT1yLlNoZWV0TmFtZXMubGVuZ3RoOysrdCl7dmFyIGE9ci5Xb3JrYm9vayYmci5Xb3JrYm9vay5TaGVldHMmJnIuV29ya2Jvb2suU2hlZXRzW3RdJiZyLldvcmtib29rLlNoZWV0c1t0XS5IaWRkZW58fDA7dmFyIG49e0hpZGRlbjphLGlUYWJJRDp0KzEsc3RyUmVsSUQ6XFxcInJJZFxcXCIrKHQrMSksbmFtZTpyLlNoZWV0TmFtZXNbdF19O2V0KGUsXFxcIkJydEJ1bmRsZVNoXFxcIixTdihuKSl9ZXQoZSxcXFwiQnJ0RW5kQnVuZGxlU2hzXFxcIil9ZnVuY3Rpb24gQXYocix0KXtpZighdCl0PUpyKDEyNyk7Zm9yKHZhciBhPTA7YSE9NDsrK2EpdC5fVyg0LDApO3h0KFxcXCJTaGVldEpTXFxcIix0KTt4dChlLnZlcnNpb24sdCk7eHQoZS52ZXJzaW9uLHQpO3h0KFxcXCI3MjYyXFxcIix0KTt0Lmxlbmd0aD10Lmw7cmV0dXJuIHQubGVuZ3RoPnQubD90LnNsaWNlKDAsdC5sKTp0fWZ1bmN0aW9uIEl2KGUscil7aWYoIXIpcj1KcigyOSk7ci5fVygtNCwwKTtyLl9XKC00LDQ2MCk7ci5fVyg0LDI4ODAwKTtyLl9XKDQsMTc2MDApO3IuX1coNCw1MDApO3IuX1coNCxlKTtyLl9XKDQsZSk7dmFyIHQ9MTIwO3IuX1coMSx0KTtyZXR1cm4gci5sZW5ndGg+ci5sP3Iuc2xpY2UoMCxyLmwpOnJ9ZnVuY3Rpb24gUnYoZSxyKXtpZighci5Xb3JrYm9va3x8IXIuV29ya2Jvb2suU2hlZXRzKXJldHVybjt2YXIgdD1yLldvcmtib29rLlNoZWV0czt2YXIgYT0wLG49LTEsaT0tMTtmb3IoO2E8dC5sZW5ndGg7KythKXtpZighdFthXXx8IXRbYV0uSGlkZGVuJiZuPT0tMSluPWE7ZWxzZSBpZih0W2FdLkhpZGRlbj09MSYmaT09LTEpaT1hfWlmKGk+bilyZXR1cm47ZXQoZSxcXFwiQnJ0QmVnaW5Cb29rVmlld3NcXFwiKTtldChlLFxcXCJCcnRCb29rVmlld1xcXCIsSXYobikpO2V0KGUsXFxcIkJydEVuZEJvb2tWaWV3c1xcXCIpfWZ1bmN0aW9uIE92KGUscil7dmFyIHQ9cXIoKTtldCh0LFxcXCJCcnRCZWdpbkJvb2tcXFwiKTtldCh0LFxcXCJCcnRGaWxlVmVyc2lvblxcXCIsQXYoKSk7ZXQodCxcXFwiQnJ0V2JQcm9wXFxcIixDdihlLldvcmtib29rJiZlLldvcmtib29rLldCUHJvcHN8fG51bGwpKTtSdih0LGUscik7eHYodCxlLHIpO2V0KHQsXFxcIkJydEVuZEJvb2tcXFwiKTtyZXR1cm4gdC5lbmQoKX1mdW5jdGlvbiBEdihlLHIsdCl7aWYoci5zbGljZSgtNCk9PT1cXFwiLmJpblxcXCIpcmV0dXJuIHl2KGUsdCk7cmV0dXJuIGd2KGUsdCl9ZnVuY3Rpb24gRnYoZSxyLHQsYSxuLGkscyxmKXtpZihyLnNsaWNlKC00KT09PVxcXCIuYmluXFxcIilyZXR1cm4gTWQoZSxhLHQsbixpLHMsZik7cmV0dXJuIHloKGUsYSx0LG4saSxzLGYpfWZ1bmN0aW9uIFB2KGUscix0LGEsbixpLHMsZil7aWYoci5zbGljZSgtNCk9PT1cXFwiLmJpblxcXCIpcmV0dXJuIGF2KGUsYSx0LG4saSxzLGYpO3JldHVybiBldihlLGEsdCxuLGkscyxmKX1mdW5jdGlvbiBOdihlLHIsdCxhLG4saSxzLGYpe2lmKHIuc2xpY2UoLTQpPT09XFxcIi5iaW5cXFwiKXJldHVybiB0YyhlLGEsdCxuLGkscyxmKTtyZXR1cm4gYWMoZSxhLHQsbixpLHMsZil9ZnVuY3Rpb24gTHYoZSxyLHQsYSxuLGkscyxmKXtpZihyLnNsaWNlKC00KT09PVxcXCIuYmluXFxcIilyZXR1cm4gZWMoZSxhLHQsbixpLHMsZik7cmV0dXJuIHJjKGUsYSx0LG4saSxzLGYpfWZ1bmN0aW9uIE12KGUscix0LGEpe2lmKHIuc2xpY2UoLTQpPT09XFxcIi5iaW5cXFwiKXJldHVybiBybChlLHQsYSk7cmV0dXJuIExvKGUsdCxhKX1mdW5jdGlvbiBVdihlLHIsdCl7cmV0dXJuIFNsKGUsdCl9ZnVuY3Rpb24genYoZSxyLHQpe2lmKHIuc2xpY2UoLTQpPT09XFxcIi5iaW5cXFwiKXJldHVybiBEZihlLHQpO3JldHVybiBBZihlLHQpfWZ1bmN0aW9uIEh2KGUscix0KXtpZihyLnNsaWNlKC00KT09PVxcXCIuYmluXFxcIilyZXR1cm4gJGwoZSx0KTtyZXR1cm4gSGwoZSx0KX1mdW5jdGlvbiBXdihlLHIsdCl7aWYoci5zbGljZSgtNCk9PT1cXFwiLmJpblxcXCIpcmV0dXJuIEZsKGUscix0KTtyZXR1cm4gT2woZSxyLHQpfWZ1bmN0aW9uIFZ2KGUscix0LGEpe2lmKHQuc2xpY2UoLTQpPT09XFxcIi5iaW5cXFwiKXJldHVybiBObChlLHIsdCxhKTtyZXR1cm4gUGwoZSxyLHQsYSl9ZnVuY3Rpb24gWHYoZSxyLHQpe3JldHVybihyLnNsaWNlKC00KT09PVxcXCIuYmluXFxcIj9PdjprdikoZSx0KX1mdW5jdGlvbiBHdihlLHIsdCxhLG4pe3JldHVybihyLnNsaWNlKC00KT09PVxcXCIuYmluXFxcIj9aZDokaCkoZSx0LGEsbil9ZnVuY3Rpb24ganYoZSxyLHQsYSxuKXtyZXR1cm4oci5zbGljZSgtNCk9PT1cXFwiLmJpblxcXCI/bnY6cnYpKGUsdCxhLG4pfWZ1bmN0aW9uIEt2KGUscix0KXtyZXR1cm4oci5zbGljZSgtNCk9PT1cXFwiLmJpblxcXCI/aGw6VW8pKGUsdCl9ZnVuY3Rpb24gJHYoZSxyLHQpe3JldHVybihyLnNsaWNlKC00KT09PVxcXCIuYmluXFxcIj9OZjpSZikoZSx0KX1mdW5jdGlvbiBZdihlLHIsdCl7cmV0dXJuKHIuc2xpY2UoLTQpPT09XFxcIi5iaW5cXFwiP1lsOlZsKShlLHQpfXZhciBadj0vKFtcXFxcdzpdKyk9KCg/OlxcXCIpKFteXFxcIl0qKSg/OlxcXCIpfCg/OicpKFteJ10qKSg/OicpKS9nO3ZhciBKdj0vKFtcXFxcdzpdKyk9KCg/OlxcXCIpKD86W15cXFwiXSopKD86XFxcIil8KD86JykoPzpbXiddKikoPzonKSkvO2Z1bmN0aW9uIFF2KGUscil7dmFyIHQ9ZS5zcGxpdCgvXFxcXHMrLyk7dmFyIGE9W107aWYoIXIpYVswXT10WzBdO2lmKHQubGVuZ3RoPT09MSlyZXR1cm4gYTt2YXIgbj1lLm1hdGNoKFp2KSxpLHMsZixvO2lmKG4pZm9yKG89MDtvIT1uLmxlbmd0aDsrK28pe2k9bltvXS5tYXRjaChKdik7aWYoKHM9aVsxXS5pbmRleE9mKFxcXCI6XFxcIikpPT09LTEpYVtpWzFdXT1pWzJdLnNsaWNlKDEsaVsyXS5sZW5ndGgtMSk7ZWxzZXtpZihpWzFdLnNsaWNlKDAsNik9PT1cXFwieG1sbnM6XFxcIilmPVxcXCJ4bWxuc1xcXCIraVsxXS5zbGljZSg2KTtlbHNlIGY9aVsxXS5zbGljZShzKzEpO2FbZl09aVsyXS5zbGljZSgxLGlbMl0ubGVuZ3RoLTEpfX1yZXR1cm4gYX1mdW5jdGlvbiBxdihlKXt2YXIgcj1lLnNwbGl0KC9cXFxccysvKTt2YXIgdD17fTtpZihyLmxlbmd0aD09PTEpcmV0dXJuIHQ7dmFyIGE9ZS5tYXRjaChadiksbixpLHMsZjtpZihhKWZvcihmPTA7ZiE9YS5sZW5ndGg7KytmKXtuPWFbZl0ubWF0Y2goSnYpO2lmKChpPW5bMV0uaW5kZXhPZihcXFwiOlxcXCIpKT09PS0xKXRbblsxXV09blsyXS5zbGljZSgxLG5bMl0ubGVuZ3RoLTEpO2Vsc2V7aWYoblsxXS5zbGljZSgwLDYpPT09XFxcInhtbG5zOlxcXCIpcz1cXFwieG1sbnNcXFwiK25bMV0uc2xpY2UoNik7ZWxzZSBzPW5bMV0uc2xpY2UoaSsxKTt0W3NdPW5bMl0uc2xpY2UoMSxuWzJdLmxlbmd0aC0xKX19cmV0dXJuIHR9ZnVuY3Rpb24gZXAoZSxyKXt2YXIgdD1QW2VdfHxNZShlKTtpZih0PT09XFxcIkdlbmVyYWxcXFwiKXJldHVybiBELl9nZW5lcmFsKHIpO3JldHVybiBELmZvcm1hdCh0LHIpfWZ1bmN0aW9uIHJwKGUscix0LGEpe3ZhciBuPWE7c3dpdGNoKCh0WzBdLm1hdGNoKC9kdDpkdD1cXFwiKFtcXFxcdy5dKylcXFwiLyl8fFtcXFwiXFxcIixcXFwiXFxcIl0pWzFdKXtjYXNlXFxcImJvb2xlYW5cXFwiOm49JGUoYSk7YnJlYWs7Y2FzZVxcXCJpMlxcXCI6O2Nhc2VcXFwiaW50XFxcIjpuPXBhcnNlSW50KGEsMTApO2JyZWFrO2Nhc2VcXFwicjRcXFwiOjtjYXNlXFxcImZsb2F0XFxcIjpuPXBhcnNlRmxvYXQoYSk7YnJlYWs7Y2FzZVxcXCJkYXRlXFxcIjo7Y2FzZVxcXCJkYXRlVGltZS50elxcXCI6bj1vZShhKTticmVhaztjYXNlXFxcImk4XFxcIjo7Y2FzZVxcXCJzdHJpbmdcXFwiOjtjYXNlXFxcImZpeGVkXFxcIjo7Y2FzZVxcXCJ1dWlkXFxcIjo7Y2FzZVxcXCJiaW4uYmFzZTY0XFxcIjpicmVhaztkZWZhdWx0OnRocm93IG5ldyBFcnJvcihcXFwiYmFkIGN1c3Rwcm9wOlxcXCIrdFswXSk7fWVbTWUocildPW59ZnVuY3Rpb24gdHAoZSxyLHQpe2lmKGUudD09PVxcXCJ6XFxcIilyZXR1cm47aWYoIXR8fHQuY2VsbFRleHQhPT1mYWxzZSl0cnl7aWYoZS50PT09XFxcImVcXFwiKXtlLnc9ZS53fHx4YVtlLnZdfWVsc2UgaWYocj09PVxcXCJHZW5lcmFsXFxcIil7aWYoZS50PT09XFxcIm5cXFwiKXtpZigoZS52fDApPT09ZS52KWUudz1ELl9nZW5lcmFsX2ludChlLnYpO2Vsc2UgZS53PUQuX2dlbmVyYWxfbnVtKGUudil9ZWxzZSBlLnc9RC5fZ2VuZXJhbChlLnYpfWVsc2UgZS53PWVwKHJ8fFxcXCJHZW5lcmFsXFxcIixlLnYpfWNhdGNoKGEpe2lmKHQuV1RGKXRocm93IGF9dHJ5e3ZhciBuPVBbcl18fHJ8fFxcXCJHZW5lcmFsXFxcIjtpZih0LmNlbGxORillLno9bjtpZih0LmNlbGxEYXRlcyYmZS50PT1cXFwiblxcXCImJkQuaXNfZGF0ZShuKSl7dmFyIGk9RC5wYXJzZV9kYXRlX2NvZGUoZS52KTtpZihpKXtlLnQ9XFxcImRcXFwiO2Uudj1uZXcgRGF0ZShpLnksaS5tLTEsaS5kLGkuSCxpLk0saS5TLGkudSl9fX1jYXRjaChhKXtpZih0LldURil0aHJvdyBhfX1mdW5jdGlvbiBhcChlLHIsdCl7aWYodC5jZWxsU3R5bGVzKXtpZihyLkludGVyaW9yKXt2YXIgYT1yLkludGVyaW9yO2lmKGEuUGF0dGVybilhLnBhdHRlcm5UeXBlPXlvW2EuUGF0dGVybl18fGEuUGF0dGVybn19ZVtyLklEXT1yfWZ1bmN0aW9uIG5wKGUscix0LGEsbixpLHMsZixvLGwpe3ZhciBjPVxcXCJHZW5lcmFsXFxcIix1PWEuU3R5bGVJRCxoPXt9O2w9bHx8e307dmFyIGQ9W107dmFyIHY9MDtpZih1PT09dW5kZWZpbmVkJiZmKXU9Zi5TdHlsZUlEO2lmKHU9PT11bmRlZmluZWQmJnMpdT1zLlN0eWxlSUQ7d2hpbGUoaVt1XSE9PXVuZGVmaW5lZCl7aWYoaVt1XS5uZiljPWlbdV0ubmY7aWYoaVt1XS5JbnRlcmlvcilkLnB1c2goaVt1XS5JbnRlcmlvcik7aWYoIWlbdV0uUGFyZW50KWJyZWFrO3U9aVt1XS5QYXJlbnR9c3dpdGNoKHQuVHlwZSl7Y2FzZVxcXCJCb29sZWFuXFxcIjphLnQ9XFxcImJcXFwiO2Eudj0kZShlKTticmVhaztjYXNlXFxcIlN0cmluZ1xcXCI6YS50PVxcXCJzXFxcIjthLnI9amUoTWUoZSkpO2Eudj1lLmluZGV4T2YoXFxcIjxcXFwiKT4tMT9NZShyfHxlKS5yZXBsYWNlKC88Lio/Pi9nLFxcXCJcXFwiKTphLnI7YnJlYWs7Y2FzZVxcXCJEYXRlVGltZVxcXCI6aWYoZS5zbGljZSgtMSkhPVxcXCJaXFxcIillKz1cXFwiWlxcXCI7YS52PShvZShlKS1uZXcgRGF0ZShEYXRlLlVUQygxODk5LDExLDMwKSkpLygyNCo2MCo2MCoxZTMpO2lmKGEudiE9PWEudilhLnY9TWUoZSk7ZWxzZSBpZihhLnY8NjApYS52PWEudi0xO2lmKCFjfHxjPT1cXFwiR2VuZXJhbFxcXCIpYz1cXFwieXl5eS1tbS1kZFxcXCI7Y2FzZVxcXCJOdW1iZXJcXFwiOmlmKGEudj09PXVuZGVmaW5lZClhLnY9K2U7aWYoIWEudClhLnQ9XFxcIm5cXFwiO2JyZWFrO2Nhc2VcXFwiRXJyb3JcXFwiOmEudD1cXFwiZVxcXCI7YS52PUFhW2VdO2lmKGwuY2VsbFRleHQhPT1mYWxzZSlhLnc9ZTticmVhaztkZWZhdWx0OmlmKGU9PVxcXCJcXFwiJiZyPT1cXFwiXFxcIil7YS50PVxcXCJ6XFxcIn1lbHNle2EudD1cXFwic1xcXCI7YS52PWplKHJ8fGUpfWJyZWFrO310cChhLGMsbCk7aWYobC5jZWxsRm9ybXVsYSE9PWZhbHNlKXtpZihhLkZvcm11bGEpe3ZhciBwPU1lKGEuRm9ybXVsYSk7aWYocC5jaGFyQ29kZUF0KDApPT02MSlwPXAuc2xpY2UoMSk7YS5mPW5jKHAsbik7ZGVsZXRlIGEuRm9ybXVsYTtpZihhLkFycmF5UmFuZ2U9PVxcXCJSQ1xcXCIpYS5GPW5jKFxcXCJSQzpSQ1xcXCIsbik7ZWxzZSBpZihhLkFycmF5UmFuZ2Upe2EuRj1uYyhhLkFycmF5UmFuZ2Usbik7by5wdXNoKFtrdChhLkYpLGEuRl0pfX1lbHNle2Zvcih2PTA7djxvLmxlbmd0aDsrK3YpaWYobi5yPj1vW3ZdWzBdLnMuciYmbi5yPD1vW3ZdWzBdLmUucilpZihuLmM+PW9bdl1bMF0ucy5jJiZuLmM8PW9bdl1bMF0uZS5jKWEuRj1vW3ZdWzFdfX1pZihsLmNlbGxTdHlsZXMpe2QuZm9yRWFjaChmdW5jdGlvbihlKXtpZighaC5wYXR0ZXJuVHlwZSYmZS5wYXR0ZXJuVHlwZSloLnBhdHRlcm5UeXBlPWUucGF0dGVyblR5cGV9KTthLnM9aH1pZihhLlN0eWxlSUQhPT11bmRlZmluZWQpYS5peGZlPWEuU3R5bGVJRH1mdW5jdGlvbiBpcChlKXtlLnQ9ZS52fHxcXFwiXFxcIjtlLnQ9ZS50LnJlcGxhY2UoL1xcXFxyXFxcXG4vZyxcXFwiXFxcXG5cXFwiKS5yZXBsYWNlKC9cXFxcci9nLFxcXCJcXFxcblxcXCIpO2Uudj1lLnc9ZS5peGZlPXVuZGVmaW5lZH1mdW5jdGlvbiBzcChlKXtpZih3JiZCdWZmZXIuaXNCdWZmZXIoZSkpcmV0dXJuIGUudG9TdHJpbmcoXFxcInV0ZjhcXFwiKTtpZih0eXBlb2YgZT09PVxcXCJzdHJpbmdcXFwiKXJldHVybiBlO2lmKHR5cGVvZiBVaW50OEFycmF5IT09XFxcInVuZGVmaW5lZFxcXCImJmUgaW5zdGFuY2VvZiBVaW50OEFycmF5KXJldHVybiBZZSh5KEEoZSkpKTt0aHJvdyBuZXcgRXJyb3IoXFxcIkJhZCBpbnB1dCBmb3JtYXQ6IGV4cGVjdGVkIEJ1ZmZlciBvciBzdHJpbmdcXFwiKX12YXIgZnA9LzwoXFxcXC8/KShbXlxcXFxzPz48IVxcXFwvOl0qOnwpKFteXFxcXHM/PD46XFxcXC9dKykoPzpbXFxcXHM/OlxcXFwvXVtePl0qKT8+L2dtO2Z1bmN0aW9uIG9wKGUscil7dmFyIHQ9cnx8e307RihEKTt2YXIgYT1kKHNwKGUpKTtpZih0LnR5cGU9PVxcXCJiaW5hcnlcXFwifHx0LnR5cGU9PVxcXCJhcnJheVxcXCJ8fHQudHlwZT09XFxcImJhc2U2NFxcXCIpe2lmKHR5cGVvZiBjcHRhYmxlIT09XFxcInVuZGVmaW5lZFxcXCIpYT1jcHRhYmxlLnV0aWxzLmRlY29kZSg2NTAwMSxjKGEpKTtlbHNlIGE9WWUoYSl9dmFyIG49YS5zbGljZSgwLDEwMjQpLnRvTG93ZXJDYXNlKCksaT1mYWxzZTtpZihuLmluZGV4T2YoXFxcIjw/eG1sXFxcIik9PS0xKVtcXFwiaHRtbFxcXCIsXFxcInRhYmxlXFxcIixcXFwiaGVhZFxcXCIsXFxcIm1ldGFcXFwiLFxcXCJzY3JpcHRcXFwiLFxcXCJzdHlsZVxcXCIsXFxcImRpdlxcXCJdLmZvckVhY2goZnVuY3Rpb24oZSl7aWYobi5pbmRleE9mKFxcXCI8XFxcIitlKT49MClpPXRydWV9KTtpZihpKXJldHVybiBybS50b193b3JrYm9vayhhLHQpO3ZhciBzO3ZhciBmPVtdLG87aWYobSE9bnVsbCYmdC5kZW5zZT09bnVsbCl0LmRlbnNlPW07dmFyIGw9e30sdT1bXSxoPXQuZGVuc2U/W106e30sdj1cXFwiXFxcIjt2YXIgcD17fSxiPXt9LGc9e307dmFyIHc9UXYoJzxEYXRhIHNzOlR5cGU9XFxcIlN0cmluZ1xcXCI+Jyksaz0wO3ZhciBFPTAsUz0wO3ZhciBfPXtzOntyOjJlNixjOjJlNn0sZTp7cjowLGM6MH19O3ZhciBDPXt9LEI9e307dmFyIFQ9XFxcIlxcXCIseT0wO3ZhciB4PVtdO3ZhciBBPXt9LEk9e30sUj0wLE89W107dmFyIE49W10sTD17fTt2YXIgTT1bXSxVLHo9ZmFsc2U7dmFyIEg9W107dmFyIFc9W10sVj17fSxYPTAsRz0wO3ZhciBqPXtTaGVldHM6W10sV0JQcm9wczp7ZGF0ZTE5MDQ6ZmFsc2V9fSxLPXt9O2ZwLmxhc3RJbmRleD0wO2E9YS5yZXBsYWNlKC88IS0tKFtcXFxcc1xcXFxTXSo/KS0tPi9nbSxcXFwiXFxcIik7dmFyICQ9XFxcIlxcXCI7d2hpbGUocz1mcC5leGVjKGEpKXN3aXRjaChzWzNdPSgkPXNbM10pLnRvTG93ZXJDYXNlKCkpe2Nhc2VcXFwiZGF0YVxcXCI6aWYoJD09XFxcImRhdGFcXFwiKXtpZihzWzFdPT09XFxcIi9cXFwiKXtpZigobz1mLnBvcCgpKVswXSE9PXNbM10pdGhyb3cgbmV3IEVycm9yKFxcXCJCYWQgc3RhdGU6IFxcXCIrby5qb2luKFxcXCJ8XFxcIikpfWVsc2UgaWYoc1swXS5jaGFyQXQoc1swXS5sZW5ndGgtMikhPT1cXFwiL1xcXCIpZi5wdXNoKFtzWzNdLHRydWVdKTticmVha31pZihmW2YubGVuZ3RoLTFdWzFdKWJyZWFrO2lmKHNbMV09PT1cXFwiL1xcXCIpbnAoYS5zbGljZShrLHMuaW5kZXgpLFQsdyxmW2YubGVuZ3RoLTFdWzBdPT1cXFwiY29tbWVudFxcXCI/TDpiLHtjOkUscjpTfSxDLE1bRV0sZyxILHQpO2Vsc2V7VD1cXFwiXFxcIjt3PVF2KHNbMF0pO2s9cy5pbmRleCtzWzBdLmxlbmd0aH1icmVhaztjYXNlXFxcImNlbGxcXFwiOmlmKHNbMV09PT1cXFwiL1xcXCIpe2lmKE4ubGVuZ3RoPjApYi5jPU47aWYoKCF0LnNoZWV0Um93c3x8dC5zaGVldFJvd3M+UykmJmIudiE9PXVuZGVmaW5lZCl7aWYodC5kZW5zZSl7aWYoIWhbU10paFtTXT1bXTtoW1NdW0VdPWJ9ZWxzZSBoW2h0KEUpK290KFMpXT1ifWlmKGIuSFJlZil7Yi5sPXtUYXJnZXQ6Yi5IUmVmfTtpZihiLkhSZWZTY3JlZW5UaXApYi5sLlRvb2x0aXA9Yi5IUmVmU2NyZWVuVGlwO2RlbGV0ZSBiLkhSZWY7ZGVsZXRlIGIuSFJlZlNjcmVlblRpcH1pZihiLk1lcmdlQWNyb3NzfHxiLk1lcmdlRG93bil7WD1FKyhwYXJzZUludChiLk1lcmdlQWNyb3NzLDEwKXwwKTtHPVMrKHBhcnNlSW50KGIuTWVyZ2VEb3duLDEwKXwwKTt4LnB1c2goe3M6e2M6RSxyOlN9LGU6e2M6WCxyOkd9fSl9aWYoIXQuc2hlZXRTdHVicyl7aWYoYi5NZXJnZUFjcm9zcylFPVgrMTtlbHNlKytFfWVsc2UgaWYoYi5NZXJnZUFjcm9zc3x8Yi5NZXJnZURvd24pe2Zvcih2YXIgWT1FO1k8PVg7KytZKXtmb3IodmFyIFo9UztaPD1HOysrWil7aWYoWT5FfHxaPlMpe2lmKHQuZGVuc2Upe2lmKCFoW1pdKWhbWl09W107aFtaXVtZXT17dDpcXFwielxcXCJ9fWVsc2UgaFtodChZKStvdChaKV09e3Q6XFxcInpcXFwifX19fUU9WCsxfWVsc2UrK0V9ZWxzZXtiPXF2KHNbMF0pO2lmKGIuSW5kZXgpRT0rYi5JbmRleC0xO2lmKEU8Xy5zLmMpXy5zLmM9RTtpZihFPl8uZS5jKV8uZS5jPUU7aWYoc1swXS5zbGljZSgtMik9PT1cXFwiLz5cXFwiKSsrRTtOPVtdfWJyZWFrO2Nhc2VcXFwicm93XFxcIjppZihzWzFdPT09XFxcIi9cXFwifHxzWzBdLnNsaWNlKC0yKT09PVxcXCIvPlxcXCIpe2lmKFM8Xy5zLnIpXy5zLnI9UztpZihTPl8uZS5yKV8uZS5yPVM7aWYoc1swXS5zbGljZSgtMik9PT1cXFwiLz5cXFwiKXtnPVF2KHNbMF0pO2lmKGcuSW5kZXgpUz0rZy5JbmRleC0xfUU9MDsrK1N9ZWxzZXtnPVF2KHNbMF0pO2lmKGcuSW5kZXgpUz0rZy5JbmRleC0xO1Y9e307aWYoZy5BdXRvRml0SGVpZ2h0PT1cXFwiMFxcXCJ8fGcuSGVpZ2h0KXtWLmhweD1wYXJzZUludChnLkhlaWdodCwxMCk7Vi5ocHQ9Qm8oVi5ocHgpO1dbU109Vn1pZihnLkhpZGRlbj09XFxcIjFcXFwiKXtWLmhpZGRlbj10cnVlO1dbU109Vn19YnJlYWs7Y2FzZVxcXCJ3b3Jrc2hlZXRcXFwiOmlmKHNbMV09PT1cXFwiL1xcXCIpe2lmKChvPWYucG9wKCkpWzBdIT09c1szXSl0aHJvdyBuZXcgRXJyb3IoXFxcIkJhZCBzdGF0ZTogXFxcIitvLmpvaW4oXFxcInxcXFwiKSk7dS5wdXNoKHYpO2lmKF8ucy5yPD1fLmUuciYmXy5zLmM8PV8uZS5jKXtoW1xcXCIhcmVmXFxcIl09d3QoXyk7aWYodC5zaGVldFJvd3MmJnQuc2hlZXRSb3dzPD1fLmUucil7aFtcXFwiIWZ1bGxyZWZcXFwiXT1oW1xcXCIhcmVmXFxcIl07Xy5lLnI9dC5zaGVldFJvd3MtMTtoW1xcXCIhcmVmXFxcIl09d3QoXyl9fWlmKHgubGVuZ3RoKWhbXFxcIiFtZXJnZXNcXFwiXT14O2lmKE0ubGVuZ3RoPjApaFtcXFwiIWNvbHNcXFwiXT1NO2lmKFcubGVuZ3RoPjApaFtcXFwiIXJvd3NcXFwiXT1XO2xbdl09aH1lbHNle189e3M6e3I6MmU2LGM6MmU2fSxlOntyOjAsYzowfX07Uz1FPTA7Zi5wdXNoKFtzWzNdLGZhbHNlXSk7bz1RdihzWzBdKTt2PU1lKG8uTmFtZSk7aD10LmRlbnNlP1tdOnt9O3g9W107SD1bXTtXPVtdO0s9e25hbWU6dixIaWRkZW46MH07ai5TaGVldHMucHVzaChLKX1icmVhaztjYXNlXFxcInRhYmxlXFxcIjppZihzWzFdPT09XFxcIi9cXFwiKXtpZigobz1mLnBvcCgpKVswXSE9PXNbM10pdGhyb3cgbmV3IEVycm9yKFxcXCJCYWQgc3RhdGU6IFxcXCIrby5qb2luKFxcXCJ8XFxcIikpfWVsc2UgaWYoc1swXS5zbGljZSgtMik9PVxcXCIvPlxcXCIpYnJlYWs7ZWxzZXtwPVF2KHNbMF0pO2YucHVzaChbc1szXSxmYWxzZV0pO009W107ej1mYWxzZX1icmVhaztjYXNlXFxcInN0eWxlXFxcIjppZihzWzFdPT09XFxcIi9cXFwiKWFwKEMsQix0KTtlbHNlIEI9UXYoc1swXSk7YnJlYWs7Y2FzZVxcXCJudW1iZXJmb3JtYXRcXFwiOkIubmY9TWUoUXYoc1swXSkuRm9ybWF0fHxcXFwiR2VuZXJhbFxcXCIpO2lmKFBbQi5uZl0pQi5uZj1QW0IubmZdO2Zvcih2YXIgSj0wO0ohPTM5MjsrK0opaWYoRC5fdGFibGVbSl09PUIubmYpYnJlYWs7aWYoSj09MzkyKWZvcihKPTU3O0ohPTM5MjsrK0opaWYoRC5fdGFibGVbSl09PW51bGwpe0QubG9hZChCLm5mLEopO2JyZWFrfWJyZWFrO2Nhc2VcXFwiY29sdW1uXFxcIjppZihmW2YubGVuZ3RoLTFdWzBdIT09XFxcInRhYmxlXFxcIilicmVhaztVPVF2KHNbMF0pO2lmKFUuSGlkZGVuKXtVLmhpZGRlbj10cnVlO2RlbGV0ZSBVLkhpZGRlbn1pZihVLldpZHRoKVUud3B4PXBhcnNlSW50KFUuV2lkdGgsMTApO2lmKCF6JiZVLndweD4xMCl7ej10cnVlO21vPWhvO2Zvcih2YXIgUT0wO1E8TS5sZW5ndGg7KytRKWlmKE1bUV0pU28oTVtRXSl9aWYoeilTbyhVKTtNW1UuSW5kZXgtMXx8TS5sZW5ndGhdPVU7Zm9yKHZhciBxPTA7cTwrVS5TcGFuOysrcSlNW00ubGVuZ3RoXT1jZShVKTticmVhaztjYXNlXFxcIm5hbWVkcmFuZ2VcXFwiOmlmKHNbMV09PT1cXFwiL1xcXCIpYnJlYWs7aWYoIWouTmFtZXMpai5OYW1lcz1bXTt2YXIgZWU9RmUoc1swXSk7dmFyIHJlPXtOYW1lOmVlLk5hbWUsUmVmOm5jKGVlLlJlZmVyc1RvLnNsaWNlKDEpLHtyOjAsYzowfSl9O2lmKGouU2hlZXRzLmxlbmd0aD4wKXJlLlNoZWV0PWouU2hlZXRzLmxlbmd0aC0xO2ouTmFtZXMucHVzaChyZSk7YnJlYWs7Y2FzZVxcXCJuYW1lZGNlbGxcXFwiOmJyZWFrO2Nhc2VcXFwiYlxcXCI6YnJlYWs7Y2FzZVxcXCJpXFxcIjpicmVhaztjYXNlXFxcInVcXFwiOmJyZWFrO2Nhc2VcXFwic1xcXCI6YnJlYWs7Y2FzZVxcXCJlbVxcXCI6YnJlYWs7Y2FzZVxcXCJoMlxcXCI6YnJlYWs7Y2FzZVxcXCJoM1xcXCI6YnJlYWs7Y2FzZVxcXCJzdWJcXFwiOmJyZWFrO2Nhc2VcXFwic3VwXFxcIjpicmVhaztjYXNlXFxcInNwYW5cXFwiOmJyZWFrO2Nhc2VcXFwiYWxpZ25tZW50XFxcIjpicmVhaztjYXNlXFxcImJvcmRlcnNcXFwiOmJyZWFrO2Nhc2VcXFwiYm9yZGVyXFxcIjpicmVhaztjYXNlXFxcImZvbnRcXFwiOmlmKHNbMF0uc2xpY2UoLTIpPT09XFxcIi8+XFxcIilicmVhaztlbHNlIGlmKHNbMV09PT1cXFwiL1xcXCIpVCs9YS5zbGljZSh5LHMuaW5kZXgpO2Vsc2UgeT1zLmluZGV4K3NbMF0ubGVuZ3RoO2JyZWFrO2Nhc2VcXFwiaW50ZXJpb3JcXFwiOmlmKCF0LmNlbGxTdHlsZXMpYnJlYWs7Qi5JbnRlcmlvcj1RdihzWzBdKTticmVhaztjYXNlXFxcInByb3RlY3Rpb25cXFwiOmJyZWFrO2Nhc2VcXFwiYXV0aG9yXFxcIjo7Y2FzZVxcXCJ0aXRsZVxcXCI6O2Nhc2VcXFwiZGVzY3JpcHRpb25cXFwiOjtjYXNlXFxcImNyZWF0ZWRcXFwiOjtjYXNlXFxcImtleXdvcmRzXFxcIjo7Y2FzZVxcXCJzdWJqZWN0XFxcIjo7Y2FzZVxcXCJjYXRlZ29yeVxcXCI6O2Nhc2VcXFwiY29tcGFueVxcXCI6O2Nhc2VcXFwibGFzdGF1dGhvclxcXCI6O2Nhc2VcXFwibGFzdHNhdmVkXFxcIjo7Y2FzZVxcXCJsYXN0cHJpbnRlZFxcXCI6O2Nhc2VcXFwidmVyc2lvblxcXCI6O2Nhc2VcXFwicmV2aXNpb25cXFwiOjtjYXNlXFxcInRvdGFsdGltZVxcXCI6O2Nhc2VcXFwiaHlwZXJsaW5rYmFzZVxcXCI6O2Nhc2VcXFwibWFuYWdlclxcXCI6O2Nhc2VcXFwiY29udGVudHN0YXR1c1xcXCI6O2Nhc2VcXFwiaWRlbnRpZmllclxcXCI6O2Nhc2VcXFwibGFuZ3VhZ2VcXFwiOjtjYXNlXFxcImFwcG5hbWVcXFwiOmlmKHNbMF0uc2xpY2UoLTIpPT09XFxcIi8+XFxcIilicmVhaztlbHNlIGlmKHNbMV09PT1cXFwiL1xcXCIpYm4oQSwkLGEuc2xpY2UoUixzLmluZGV4KSk7ZWxzZSBSPXMuaW5kZXgrc1swXS5sZW5ndGg7YnJlYWs7Y2FzZVxcXCJwYXJhZ3JhcGhzXFxcIjpicmVhaztjYXNlXFxcInN0eWxlc1xcXCI6O2Nhc2VcXFwid29ya2Jvb2tcXFwiOmlmKHNbMV09PT1cXFwiL1xcXCIpe2lmKChvPWYucG9wKCkpWzBdIT09c1szXSl0aHJvdyBuZXcgRXJyb3IoXFxcIkJhZCBzdGF0ZTogXFxcIitvLmpvaW4oXFxcInxcXFwiKSl9ZWxzZSBmLnB1c2goW3NbM10sZmFsc2VdKTticmVhaztjYXNlXFxcImNvbW1lbnRcXFwiOmlmKHNbMV09PT1cXFwiL1xcXCIpe2lmKChvPWYucG9wKCkpWzBdIT09c1szXSl0aHJvdyBuZXcgRXJyb3IoXFxcIkJhZCBzdGF0ZTogXFxcIitvLmpvaW4oXFxcInxcXFwiKSk7aXAoTCk7Ti5wdXNoKEwpfWVsc2V7Zi5wdXNoKFtzWzNdLGZhbHNlXSk7bz1RdihzWzBdKTtMPXthOm8uQXV0aG9yfX1icmVhaztjYXNlXFxcImF1dG9maWx0ZXJcXFwiOmlmKHNbMV09PT1cXFwiL1xcXCIpe2lmKChvPWYucG9wKCkpWzBdIT09c1szXSl0aHJvdyBuZXcgRXJyb3IoXFxcIkJhZCBzdGF0ZTogXFxcIitvLmpvaW4oXFxcInxcXFwiKSl9ZWxzZSBpZihzWzBdLmNoYXJBdChzWzBdLmxlbmd0aC0yKSE9PVxcXCIvXFxcIil7dmFyIHRlPVF2KHNbMF0pO2hbXFxcIiFhdXRvZmlsdGVyXFxcIl09e3JlZjpuYyh0ZS5SYW5nZSkucmVwbGFjZSgvXFxcXCQvZyxcXFwiXFxcIil9O2YucHVzaChbc1szXSx0cnVlXSl9YnJlYWs7Y2FzZVxcXCJuYW1lXFxcIjpicmVhaztjYXNlXFxcImRhdGF2YWxpZGF0aW9uXFxcIjppZihzWzFdPT09XFxcIi9cXFwiKXtpZigobz1mLnBvcCgpKVswXSE9PXNbM10pdGhyb3cgbmV3IEVycm9yKFxcXCJCYWQgc3RhdGU6IFxcXCIrby5qb2luKFxcXCJ8XFxcIikpfWVsc2V7aWYoc1swXS5jaGFyQXQoc1swXS5sZW5ndGgtMikhPT1cXFwiL1xcXCIpZi5wdXNoKFtzWzNdLHRydWVdKX1icmVhaztjYXNlXFxcInBpeGVsc3BlcmluY2hcXFwiOmJyZWFrO2Nhc2VcXFwiY29tcG9uZW50b3B0aW9uc1xcXCI6O2Nhc2VcXFwiZG9jdW1lbnRwcm9wZXJ0aWVzXFxcIjo7Y2FzZVxcXCJjdXN0b21kb2N1bWVudHByb3BlcnRpZXNcXFwiOjtjYXNlXFxcIm9mZmljZWRvY3VtZW50c2V0dGluZ3NcXFwiOjtjYXNlXFxcInBpdm90dGFibGVcXFwiOjtjYXNlXFxcInBpdm90Y2FjaGVcXFwiOjtjYXNlXFxcIm5hbWVzXFxcIjo7Y2FzZVxcXCJtYXBpbmZvXFxcIjo7Y2FzZVxcXCJwYWdlYnJlYWtzXFxcIjo7Y2FzZVxcXCJxdWVyeXRhYmxlXFxcIjo7Y2FzZVxcXCJzb3J0aW5nXFxcIjo7Y2FzZVxcXCJzY2hlbWFcXFwiOjtjYXNlXFxcImNvbmRpdGlvbmFsZm9ybWF0dGluZ1xcXCI6O2Nhc2VcXFwic21hcnR0YWd0eXBlXFxcIjo7Y2FzZVxcXCJzbWFydHRhZ3NcXFwiOjtjYXNlXFxcImV4Y2Vsd29ya2Jvb2tcXFwiOjtjYXNlXFxcIndvcmtib29rb3B0aW9uc1xcXCI6O2Nhc2VcXFwid29ya3NoZWV0b3B0aW9uc1xcXCI6aWYoc1sxXT09PVxcXCIvXFxcIil7aWYoKG89Zi5wb3AoKSlbMF0hPT1zWzNdKXRocm93IG5ldyBFcnJvcihcXFwiQmFkIHN0YXRlOiBcXFwiK28uam9pbihcXFwifFxcXCIpKX1lbHNlIGlmKHNbMF0uY2hhckF0KHNbMF0ubGVuZ3RoLTIpIT09XFxcIi9cXFwiKWYucHVzaChbc1szXSx0cnVlXSk7YnJlYWs7ZGVmYXVsdDppZihmLmxlbmd0aD09MCYmc1szXT09XFxcImRvY3VtZW50XFxcIilyZXR1cm4gbG0oYSx0KTtpZihmLmxlbmd0aD09MCYmc1szXT09XFxcInVvZlxcXCIpcmV0dXJuIGxtKGEsdCk7dmFyIGFlPXRydWU7c3dpdGNoKGZbZi5sZW5ndGgtMV1bMF0pe2Nhc2VcXFwib2ZmaWNlZG9jdW1lbnRzZXR0aW5nc1xcXCI6c3dpdGNoKHNbM10pe2Nhc2VcXFwiYWxsb3dwbmdcXFwiOmJyZWFrO2Nhc2VcXFwicmVtb3ZlcGVyc29uYWxpbmZvcm1hdGlvblxcXCI6YnJlYWs7Y2FzZVxcXCJkb3dubG9hZGNvbXBvbmVudHNcXFwiOmJyZWFrO2Nhc2VcXFwibG9jYXRpb25vZmNvbXBvbmVudHNcXFwiOmJyZWFrO2Nhc2VcXFwiY29sb3JzXFxcIjpicmVhaztjYXNlXFxcImNvbG9yXFxcIjpicmVhaztjYXNlXFxcImluZGV4XFxcIjpicmVhaztjYXNlXFxcInJnYlxcXCI6YnJlYWs7Y2FzZVxcXCJ0YXJnZXRzY3JlZW5zaXplXFxcIjpicmVhaztjYXNlXFxcInJlYWRvbmx5cmVjb21tZW5kZWRcXFwiOmJyZWFrO2RlZmF1bHQ6YWU9ZmFsc2U7fWJyZWFrO2Nhc2VcXFwiY29tcG9uZW50b3B0aW9uc1xcXCI6c3dpdGNoKHNbM10pe2Nhc2VcXFwidG9vbGJhclxcXCI6YnJlYWs7Y2FzZVxcXCJoaWRlb2ZmaWNlbG9nb1xcXCI6YnJlYWs7Y2FzZVxcXCJzcHJlYWRzaGVldGF1dG9maXRcXFwiOmJyZWFrO2Nhc2VcXFwibGFiZWxcXFwiOmJyZWFrO2Nhc2VcXFwiY2FwdGlvblxcXCI6YnJlYWs7Y2FzZVxcXCJtYXhoZWlnaHRcXFwiOmJyZWFrO2Nhc2VcXFwibWF4d2lkdGhcXFwiOmJyZWFrO2Nhc2VcXFwibmV4dHNoZWV0bnVtYmVyXFxcIjpicmVhaztkZWZhdWx0OmFlPWZhbHNlO31icmVhaztjYXNlXFxcImV4Y2Vsd29ya2Jvb2tcXFwiOnN3aXRjaChzWzNdKXtjYXNlXFxcImRhdGUxOTA0XFxcIjpqLldCUHJvcHMuZGF0ZTE5MDQ9dHJ1ZTticmVhaztjYXNlXFxcIndpbmRvd2hlaWdodFxcXCI6YnJlYWs7Y2FzZVxcXCJ3aW5kb3d3aWR0aFxcXCI6YnJlYWs7Y2FzZVxcXCJ3aW5kb3d0b3B4XFxcIjpicmVhaztjYXNlXFxcIndpbmRvd3RvcHlcXFwiOmJyZWFrO2Nhc2VcXFwidGFicmF0aW9cXFwiOmJyZWFrO2Nhc2VcXFwicHJvdGVjdHN0cnVjdHVyZVxcXCI6YnJlYWs7Y2FzZVxcXCJwcm90ZWN0d2luZG93XFxcIjpicmVhaztjYXNlXFxcInByb3RlY3R3aW5kb3dzXFxcIjpicmVhaztjYXNlXFxcImFjdGl2ZXNoZWV0XFxcIjpicmVhaztjYXNlXFxcImRpc3BsYXlpbmtub3Rlc1xcXCI6YnJlYWs7Y2FzZVxcXCJmaXJzdHZpc2libGVzaGVldFxcXCI6YnJlYWs7Y2FzZVxcXCJzdXBib29rXFxcIjpicmVhaztjYXNlXFxcInNoZWV0bmFtZVxcXCI6YnJlYWs7Y2FzZVxcXCJzaGVldGluZGV4XFxcIjpicmVhaztjYXNlXFxcInNoZWV0aW5kZXhmaXJzdFxcXCI6YnJlYWs7Y2FzZVxcXCJzaGVldGluZGV4bGFzdFxcXCI6YnJlYWs7Y2FzZVxcXCJkbGxcXFwiOmJyZWFrO2Nhc2VcXFwiYWNjZXB0bGFiZWxzaW5mb3JtdWxhc1xcXCI6YnJlYWs7Y2FzZVxcXCJkb25vdHNhdmVsaW5rdmFsdWVzXFxcIjpicmVhaztjYXNlXFxcIml0ZXJhdGlvblxcXCI6YnJlYWs7Y2FzZVxcXCJtYXhpdGVyYXRpb25zXFxcIjpicmVhaztjYXNlXFxcIm1heGNoYW5nZVxcXCI6YnJlYWs7Y2FzZVxcXCJwYXRoXFxcIjpicmVhaztjYXNlXFxcInhjdFxcXCI6YnJlYWs7Y2FzZVxcXCJjb3VudFxcXCI6YnJlYWs7Y2FzZVxcXCJzZWxlY3RlZHNoZWV0c1xcXCI6YnJlYWs7Y2FzZVxcXCJjYWxjdWxhdGlvblxcXCI6YnJlYWs7Y2FzZVxcXCJ1bmNhbGNlZFxcXCI6YnJlYWs7Y2FzZVxcXCJzdGFydHVwcHJvbXB0XFxcIjpicmVhaztjYXNlXFxcImNyblxcXCI6YnJlYWs7Y2FzZVxcXCJleHRlcm5uYW1lXFxcIjpicmVhaztjYXNlXFxcImZvcm11bGFcXFwiOmJyZWFrO2Nhc2VcXFwiY29sZmlyc3RcXFwiOmJyZWFrO2Nhc2VcXFwiY29sbGFzdFxcXCI6YnJlYWs7Y2FzZVxcXCJ3YW50YWR2aXNlXFxcIjpicmVhaztjYXNlXFxcImJvb2xlYW5cXFwiOmJyZWFrO2Nhc2VcXFwiZXJyb3JcXFwiOmJyZWFrO2Nhc2VcXFwidGV4dFxcXCI6YnJlYWs7Y2FzZVxcXCJvbGVcXFwiOmJyZWFrO2Nhc2VcXFwibm9hdXRvcmVjb3ZlclxcXCI6YnJlYWs7Y2FzZVxcXCJwdWJsaXNob2JqZWN0c1xcXCI6YnJlYWs7Y2FzZVxcXCJkb25vdGNhbGN1bGF0ZWJlZm9yZXNhdmVcXFwiOmJyZWFrO2Nhc2VcXFwibnVtYmVyXFxcIjpicmVhaztjYXNlXFxcInJlZm1vZGVyMWMxXFxcIjpicmVhaztjYXNlXFxcImVtYmVkc2F2ZXNtYXJ0dGFnc1xcXCI6YnJlYWs7ZGVmYXVsdDphZT1mYWxzZTt9YnJlYWs7Y2FzZVxcXCJ3b3JrYm9va29wdGlvbnNcXFwiOnN3aXRjaChzWzNdKXtjYXNlXFxcIm93Y3ZlcnNpb25cXFwiOmJyZWFrO2Nhc2VcXFwiaGVpZ2h0XFxcIjpicmVhaztjYXNlXFxcIndpZHRoXFxcIjpicmVhaztkZWZhdWx0OmFlPWZhbHNlO31icmVhaztjYXNlXFxcIndvcmtzaGVldG9wdGlvbnNcXFwiOnN3aXRjaChzWzNdKXtjYXNlXFxcInZpc2libGVcXFwiOmlmKHNbMF0uc2xpY2UoLTIpPT09XFxcIi8+XFxcIil7fWVsc2UgaWYoc1sxXT09PVxcXCIvXFxcIilzd2l0Y2goYS5zbGljZShSLHMuaW5kZXgpKXtjYXNlXFxcIlNoZWV0SGlkZGVuXFxcIjpLLkhpZGRlbj0xO2JyZWFrO2Nhc2VcXFwiU2hlZXRWZXJ5SGlkZGVuXFxcIjpLLkhpZGRlbj0yO2JyZWFrO31lbHNlIFI9cy5pbmRleCtzWzBdLmxlbmd0aDticmVhaztjYXNlXFxcImhlYWRlclxcXCI6aWYoIWhbXFxcIiFtYXJnaW5zXFxcIl0pZGgoaFtcXFwiIW1hcmdpbnNcXFwiXT17fSxcXFwieGxtbFxcXCIpO2hbXFxcIiFtYXJnaW5zXFxcIl0uaGVhZGVyPUZlKHNbMF0pLk1hcmdpbjticmVhaztjYXNlXFxcImZvb3RlclxcXCI6aWYoIWhbXFxcIiFtYXJnaW5zXFxcIl0pZGgoaFtcXFwiIW1hcmdpbnNcXFwiXT17fSxcXFwieGxtbFxcXCIpO2hbXFxcIiFtYXJnaW5zXFxcIl0uZm9vdGVyPUZlKHNbMF0pLk1hcmdpbjticmVhaztjYXNlXFxcInBhZ2VtYXJnaW5zXFxcIjp2YXIgbmU9RmUoc1swXSk7aWYoIWhbXFxcIiFtYXJnaW5zXFxcIl0pZGgoaFtcXFwiIW1hcmdpbnNcXFwiXT17fSxcXFwieGxtbFxcXCIpO2lmKG5lLlRvcCloW1xcXCIhbWFyZ2luc1xcXCJdLnRvcD1uZS5Ub3A7aWYobmUuTGVmdCloW1xcXCIhbWFyZ2luc1xcXCJdLmxlZnQ9bmUuTGVmdDtpZihuZS5SaWdodCloW1xcXCIhbWFyZ2luc1xcXCJdLnJpZ2h0PW5lLlJpZ2h0O2lmKG5lLkJvdHRvbSloW1xcXCIhbWFyZ2luc1xcXCJdLmJvdHRvbT1uZS5Cb3R0b207YnJlYWs7Y2FzZVxcXCJkaXNwbGF5cmlnaHR0b2xlZnRcXFwiOmlmKCFqLlZpZXdzKWouVmlld3M9W107aWYoIWouVmlld3NbMF0pai5WaWV3c1swXT17fTtqLlZpZXdzWzBdLlJUTD10cnVlO2JyZWFrO2Nhc2VcXFwiZnJlZXplcGFuZXNcXFwiOmJyZWFrO2Nhc2VcXFwiZnJvemVubm9zcGxpdFxcXCI6YnJlYWs7Y2FzZVxcXCJzcGxpdGhvcml6b250YWxcXFwiOjtjYXNlXFxcInNwbGl0dmVydGljYWxcXFwiOmJyZWFrO2Nhc2VcXFwiZG9ub3RkaXNwbGF5Z3JpZGxpbmVzXFxcIjpicmVhaztjYXNlXFxcImFjdGl2ZXJvd1xcXCI6YnJlYWs7Y2FzZVxcXCJhY3RpdmVjb2xcXFwiOmJyZWFrO2Nhc2VcXFwidG9wcm93Ym90dG9tcGFuZVxcXCI6YnJlYWs7Y2FzZVxcXCJsZWZ0Y29sdW1ucmlnaHRwYW5lXFxcIjpicmVhaztjYXNlXFxcInVuc3luY2VkXFxcIjpicmVhaztjYXNlXFxcInByaW50XFxcIjpicmVhaztjYXNlXFxcInBhbmVzXFxcIjpicmVhaztjYXNlXFxcInNjYWxlXFxcIjpicmVhaztjYXNlXFxcInBhbmVcXFwiOmJyZWFrO2Nhc2VcXFwibnVtYmVyXFxcIjpicmVhaztjYXNlXFxcImxheW91dFxcXCI6YnJlYWs7Y2FzZVxcXCJwYWdlc2V0dXBcXFwiOmJyZWFrO2Nhc2VcXFwic2VsZWN0ZWRcXFwiOmJyZWFrO2Nhc2VcXFwicHJvdGVjdG9iamVjdHNcXFwiOmJyZWFrO2Nhc2VcXFwiZW5hYmxlc2VsZWN0aW9uXFxcIjpicmVhaztjYXNlXFxcInByb3RlY3RzY2VuYXJpb3NcXFwiOmJyZWFrO2Nhc2VcXFwidmFsaWRwcmludGVyaW5mb1xcXCI6YnJlYWs7Y2FzZVxcXCJob3Jpem9udGFscmVzb2x1dGlvblxcXCI6YnJlYWs7Y2FzZVxcXCJ2ZXJ0aWNhbHJlc29sdXRpb25cXFwiOmJyZWFrO2Nhc2VcXFwibnVtYmVyb2Zjb3BpZXNcXFwiOmJyZWFrO2Nhc2VcXFwiYWN0aXZlcGFuZVxcXCI6YnJlYWs7Y2FzZVxcXCJ0b3Byb3d2aXNpYmxlXFxcIjpicmVhaztjYXNlXFxcImxlZnRjb2x1bW52aXNpYmxlXFxcIjpicmVhaztjYXNlXFxcImZpdHRvcGFnZVxcXCI6YnJlYWs7Y2FzZVxcXCJyYW5nZXNlbGVjdGlvblxcXCI6YnJlYWs7Y2FzZVxcXCJwYXBlcnNpemVpbmRleFxcXCI6YnJlYWs7Y2FzZVxcXCJwYWdlbGF5b3V0em9vbVxcXCI6YnJlYWs7Y2FzZVxcXCJwYWdlYnJlYWt6b29tXFxcIjpicmVhaztjYXNlXFxcImZpbHRlcm9uXFxcIjpicmVhaztjYXNlXFxcImZpdHdpZHRoXFxcIjpicmVhaztjYXNlXFxcImZpdGhlaWdodFxcXCI6YnJlYWs7Y2FzZVxcXCJjb21tZW50c2xheW91dFxcXCI6YnJlYWs7Y2FzZVxcXCJ6b29tXFxcIjpicmVhaztjYXNlXFxcImxlZnR0b3JpZ2h0XFxcIjpicmVhaztjYXNlXFxcImdyaWRsaW5lc1xcXCI6YnJlYWs7Y2FzZVxcXCJhbGxvd3NvcnRcXFwiOmJyZWFrO2Nhc2VcXFwiYWxsb3dmaWx0ZXJcXFwiOmJyZWFrO2Nhc2VcXFwiYWxsb3dpbnNlcnRyb3dzXFxcIjpicmVhaztjYXNlXFxcImFsbG93ZGVsZXRlcm93c1xcXCI6YnJlYWs7Y2FzZVxcXCJhbGxvd2luc2VydGNvbHNcXFwiOmJyZWFrO2Nhc2VcXFwiYWxsb3dkZWxldGVjb2xzXFxcIjpicmVhaztjYXNlXFxcImFsbG93aW5zZXJ0aHlwZXJsaW5rc1xcXCI6YnJlYWs7Y2FzZVxcXCJhbGxvd2Zvcm1hdGNlbGxzXFxcIjpicmVhaztjYXNlXFxcImFsbG93c2l6ZWNvbHNcXFwiOmJyZWFrO2Nhc2VcXFwiYWxsb3dzaXplcm93c1xcXCI6YnJlYWs7Y2FzZVxcXCJub3N1bW1hcnlyb3dzYmVsb3dkZXRhaWxcXFwiOmJyZWFrO2Nhc2VcXFwidGFiY29sb3JpbmRleFxcXCI6YnJlYWs7Y2FzZVxcXCJkb25vdGRpc3BsYXloZWFkaW5nc1xcXCI6YnJlYWs7Y2FzZVxcXCJzaG93cGFnZWxheW91dHpvb21cXFwiOmJyZWFrO2Nhc2VcXFwibm9zdW1tYXJ5Y29sdW1uc3JpZ2h0ZGV0YWlsXFxcIjpicmVhaztjYXNlXFxcImJsYWNrYW5kd2hpdGVcXFwiOmJyZWFrO2Nhc2VcXFwiZG9ub3RkaXNwbGF5emVyb3NcXFwiOmJyZWFrO2Nhc2VcXFwiZGlzcGxheXBhZ2VicmVha1xcXCI6YnJlYWs7Y2FzZVxcXCJyb3djb2xoZWFkaW5nc1xcXCI6YnJlYWs7Y2FzZVxcXCJkb25vdGRpc3BsYXlvdXRsaW5lXFxcIjpicmVhaztjYXNlXFxcIm5vb3JpZW50YXRpb25cXFwiOmJyZWFrO2Nhc2VcXFwiYWxsb3d1c2VwaXZvdHRhYmxlc1xcXCI6YnJlYWs7Y2FzZVxcXCJ6ZXJvaGVpZ2h0XFxcIjpicmVhaztjYXNlXFxcInZpZXdhYmxlcmFuZ2VcXFwiOmJyZWFrO2Nhc2VcXFwic2VsZWN0aW9uXFxcIjpicmVhaztjYXNlXFxcInByb3RlY3Rjb250ZW50c1xcXCI6YnJlYWs7ZGVmYXVsdDphZT1mYWxzZTt9YnJlYWs7Y2FzZVxcXCJwaXZvdHRhYmxlXFxcIjo7Y2FzZVxcXCJwaXZvdGNhY2hlXFxcIjpzd2l0Y2goc1szXSl7Y2FzZVxcXCJpbW1lZGlhdGVpdGVtc29uZHJvcFxcXCI6YnJlYWs7Y2FzZVxcXCJzaG93cGFnZW11bHRpcGxlaXRlbWxhYmVsXFxcIjpicmVhaztjYXNlXFxcImNvbXBhY3Ryb3dpbmRlbnRcXFwiOmJyZWFrO2Nhc2VcXFwibG9jYXRpb25cXFwiOmJyZWFrO2Nhc2VcXFwicGl2b3RmaWVsZFxcXCI6YnJlYWs7Y2FzZVxcXCJvcmllbnRhdGlvblxcXCI6YnJlYWs7Y2FzZVxcXCJsYXlvdXRmb3JtXFxcIjpicmVhaztjYXNlXFxcImxheW91dHN1YnRvdGFsbG9jYXRpb25cXFwiOmJyZWFrO2Nhc2VcXFwibGF5b3V0Y29tcGFjdHJvd1xcXCI6YnJlYWs7Y2FzZVxcXCJwb3NpdGlvblxcXCI6YnJlYWs7Y2FzZVxcXCJwaXZvdGl0ZW1cXFwiOmJyZWFrO2Nhc2VcXFwiZGF0YXR5cGVcXFwiOmJyZWFrO2Nhc2VcXFwiZGF0YWZpZWxkXFxcIjpicmVhaztjYXNlXFxcInNvdXJjZW5hbWVcXFwiOmJyZWFrO2Nhc2VcXFwicGFyZW50ZmllbGRcXFwiOmJyZWFrO2Nhc2VcXFwicHRsaW5laXRlbXNcXFwiOmJyZWFrO2Nhc2VcXFwicHRsaW5laXRlbVxcXCI6YnJlYWs7Y2FzZVxcXCJjb3VudG9mc2FtZWl0ZW1zXFxcIjpicmVhaztjYXNlXFxcIml0ZW1cXFwiOmJyZWFrO2Nhc2VcXFwiaXRlbXR5cGVcXFwiOmJyZWFrO2Nhc2VcXFwicHRzb3VyY2VcXFwiOmJyZWFrO2Nhc2VcXFwiY2FjaGVpbmRleFxcXCI6YnJlYWs7Y2FzZVxcXCJjb25zb2xpZGF0aW9ucmVmZXJlbmNlXFxcIjpicmVhaztjYXNlXFxcImZpbGVuYW1lXFxcIjpicmVhaztjYXNlXFxcInJlZmVyZW5jZVxcXCI6YnJlYWs7Y2FzZVxcXCJub2NvbHVtbmdyYW5kXFxcIjpicmVhaztjYXNlXFxcIm5vcm93Z3JhbmRcXFwiOmJyZWFrO2Nhc2VcXFwiYmxhbmtsaW5lYWZ0ZXJpdGVtc1xcXCI6YnJlYWs7Y2FzZVxcXCJoaWRkZW5cXFwiOmJyZWFrO2Nhc2VcXFwic3VidG90YWxcXFwiOmJyZWFrO2Nhc2VcXFwiYmFzZWZpZWxkXFxcIjpicmVhaztjYXNlXFxcIm1hcGNoaWxkaXRlbXNcXFwiOmJyZWFrO2Nhc2VcXFwiZnVuY3Rpb25cXFwiOmJyZWFrO2Nhc2VcXFwicmVmcmVzaG9uZmlsZW9wZW5cXFwiOmJyZWFrO2Nhc2VcXFwicHJpbnRzZXR0aXRsZXNcXFwiOmJyZWFrO2Nhc2VcXFwibWVyZ2VsYWJlbHNcXFwiOmJyZWFrO2Nhc2VcXFwiZGVmYXVsdHZlcnNpb25cXFwiOmJyZWFrO2Nhc2VcXFwicmVmcmVzaG5hbWVcXFwiOmJyZWFrO2Nhc2VcXFwicmVmcmVzaGRhdGVcXFwiOmJyZWFrO2Nhc2VcXFwicmVmcmVzaGRhdGVjb3B5XFxcIjpicmVhaztjYXNlXFxcInZlcnNpb25sYXN0cmVmcmVzaFxcXCI6YnJlYWs7Y2FzZVxcXCJ2ZXJzaW9ubGFzdHVwZGF0ZVxcXCI6YnJlYWs7Y2FzZVxcXCJ2ZXJzaW9udXBkYXRlYWJsZW1pblxcXCI6YnJlYWs7Y2FzZVxcXCJ2ZXJzaW9ucmVmcmVzaGFibGVtaW5cXFwiOmJyZWFrO2Nhc2VcXFwiY2FsY3VsYXRpb25cXFwiOmJyZWFrO2RlZmF1bHQ6YWU9ZmFsc2U7fWJyZWFrO2Nhc2VcXFwicGFnZWJyZWFrc1xcXCI6c3dpdGNoKHNbM10pe2Nhc2VcXFwiY29sYnJlYWtzXFxcIjpicmVhaztjYXNlXFxcImNvbGJyZWFrXFxcIjpcXG5icmVhaztjYXNlXFxcInJvd2JyZWFrc1xcXCI6YnJlYWs7Y2FzZVxcXCJyb3dicmVha1xcXCI6YnJlYWs7Y2FzZVxcXCJjb2xzdGFydFxcXCI6YnJlYWs7Y2FzZVxcXCJjb2xlbmRcXFwiOmJyZWFrO2Nhc2VcXFwicm93ZW5kXFxcIjpicmVhaztkZWZhdWx0OmFlPWZhbHNlO31icmVhaztjYXNlXFxcImF1dG9maWx0ZXJcXFwiOnN3aXRjaChzWzNdKXtjYXNlXFxcImF1dG9maWx0ZXJjb2x1bW5cXFwiOmJyZWFrO2Nhc2VcXFwiYXV0b2ZpbHRlcmNvbmRpdGlvblxcXCI6YnJlYWs7Y2FzZVxcXCJhdXRvZmlsdGVyYW5kXFxcIjpicmVhaztjYXNlXFxcImF1dG9maWx0ZXJvclxcXCI6YnJlYWs7ZGVmYXVsdDphZT1mYWxzZTt9YnJlYWs7Y2FzZVxcXCJxdWVyeXRhYmxlXFxcIjpzd2l0Y2goc1szXSl7Y2FzZVxcXCJpZFxcXCI6YnJlYWs7Y2FzZVxcXCJhdXRvZm9ybWF0Zm9udFxcXCI6YnJlYWs7Y2FzZVxcXCJhdXRvZm9ybWF0cGF0dGVyblxcXCI6YnJlYWs7Y2FzZVxcXCJxdWVyeXNvdXJjZVxcXCI6YnJlYWs7Y2FzZVxcXCJxdWVyeXR5cGVcXFwiOmJyZWFrO2Nhc2VcXFwiZW5hYmxlcmVkaXJlY3Rpb25zXFxcIjpicmVhaztjYXNlXFxcInJlZnJlc2hlZGlueGw5XFxcIjpicmVhaztjYXNlXFxcInVybHN0cmluZ1xcXCI6YnJlYWs7Y2FzZVxcXCJodG1sdGFibGVzXFxcIjpicmVhaztjYXNlXFxcImNvbm5lY3Rpb25cXFwiOmJyZWFrO2Nhc2VcXFwiY29tbWFuZHRleHRcXFwiOmJyZWFrO2Nhc2VcXFwicmVmcmVzaGluZm9cXFwiOmJyZWFrO2Nhc2VcXFwibm90aXRsZXNcXFwiOmJyZWFrO2Nhc2VcXFwibmV4dGlkXFxcIjpicmVhaztjYXNlXFxcImNvbHVtbmluZm9cXFwiOmJyZWFrO2Nhc2VcXFwib3ZlcndyaXRlY2VsbHNcXFwiOmJyZWFrO2Nhc2VcXFwiZG9ub3Rwcm9tcHRmb3JmaWxlXFxcIjpicmVhaztjYXNlXFxcInRleHR3aXphcmRzZXR0aW5nc1xcXCI6YnJlYWs7Y2FzZVxcXCJzb3VyY2VcXFwiOmJyZWFrO2Nhc2VcXFwibnVtYmVyXFxcIjpicmVhaztjYXNlXFxcImRlY2ltYWxcXFwiOmJyZWFrO2Nhc2VcXFwidGhvdXNhbmRzZXBhcmF0b3JcXFwiOmJyZWFrO2Nhc2VcXFwidHJhaWxpbmdtaW51c251bWJlcnNcXFwiOmJyZWFrO2Nhc2VcXFwiZm9ybWF0c2V0dGluZ3NcXFwiOmJyZWFrO2Nhc2VcXFwiZmllbGR0eXBlXFxcIjpicmVhaztjYXNlXFxcImRlbGltaXRlcnNcXFwiOmJyZWFrO2Nhc2VcXFwidGFiXFxcIjpicmVhaztjYXNlXFxcImNvbW1hXFxcIjpicmVhaztjYXNlXFxcImF1dG9mb3JtYXRuYW1lXFxcIjpicmVhaztjYXNlXFxcInZlcnNpb25sYXN0ZWRpdFxcXCI6YnJlYWs7Y2FzZVxcXCJ2ZXJzaW9ubGFzdHJlZnJlc2hcXFwiOmJyZWFrO2RlZmF1bHQ6YWU9ZmFsc2U7fWJyZWFrO2Nhc2VcXFwiZGF0YXZhbGlkYXRpb25cXFwiOnN3aXRjaChzWzNdKXtjYXNlXFxcInJhbmdlXFxcIjpicmVhaztjYXNlXFxcInR5cGVcXFwiOmJyZWFrO2Nhc2VcXFwibWluXFxcIjpicmVhaztjYXNlXFxcIm1heFxcXCI6YnJlYWs7Y2FzZVxcXCJzb3J0XFxcIjpicmVhaztjYXNlXFxcImRlc2NlbmRpbmdcXFwiOmJyZWFrO2Nhc2VcXFwib3JkZXJcXFwiOmJyZWFrO2Nhc2VcXFwiY2FzZXNlbnNpdGl2ZVxcXCI6YnJlYWs7Y2FzZVxcXCJ2YWx1ZVxcXCI6YnJlYWs7Y2FzZVxcXCJlcnJvcnN0eWxlXFxcIjpicmVhaztjYXNlXFxcImVycm9ybWVzc2FnZVxcXCI6YnJlYWs7Y2FzZVxcXCJlcnJvcnRpdGxlXFxcIjpicmVhaztjYXNlXFxcImlucHV0bWVzc2FnZVxcXCI6YnJlYWs7Y2FzZVxcXCJpbnB1dHRpdGxlXFxcIjpicmVhaztjYXNlXFxcImNvbWJvaGlkZVxcXCI6YnJlYWs7Y2FzZVxcXCJpbnB1dGhpZGVcXFwiOmJyZWFrO2Nhc2VcXFwiY29uZGl0aW9uXFxcIjpicmVhaztjYXNlXFxcInF1YWxpZmllclxcXCI6YnJlYWs7Y2FzZVxcXCJ1c2VibGFua1xcXCI6YnJlYWs7Y2FzZVxcXCJ2YWx1ZTFcXFwiOmJyZWFrO2Nhc2VcXFwidmFsdWUyXFxcIjpicmVhaztjYXNlXFxcImZvcm1hdFxcXCI6YnJlYWs7Y2FzZVxcXCJjZWxscmFuZ2VsaXN0XFxcIjpicmVhaztkZWZhdWx0OmFlPWZhbHNlO31icmVhaztjYXNlXFxcInNvcnRpbmdcXFwiOjtjYXNlXFxcImNvbmRpdGlvbmFsZm9ybWF0dGluZ1xcXCI6c3dpdGNoKHNbM10pe2Nhc2VcXFwicmFuZ2VcXFwiOmJyZWFrO2Nhc2VcXFwidHlwZVxcXCI6YnJlYWs7Y2FzZVxcXCJtaW5cXFwiOmJyZWFrO2Nhc2VcXFwibWF4XFxcIjpicmVhaztjYXNlXFxcInNvcnRcXFwiOmJyZWFrO2Nhc2VcXFwiZGVzY2VuZGluZ1xcXCI6YnJlYWs7Y2FzZVxcXCJvcmRlclxcXCI6YnJlYWs7Y2FzZVxcXCJjYXNlc2Vuc2l0aXZlXFxcIjpicmVhaztjYXNlXFxcInZhbHVlXFxcIjpicmVhaztjYXNlXFxcImVycm9yc3R5bGVcXFwiOmJyZWFrO2Nhc2VcXFwiZXJyb3JtZXNzYWdlXFxcIjpicmVhaztjYXNlXFxcImVycm9ydGl0bGVcXFwiOmJyZWFrO2Nhc2VcXFwiY2VsbHJhbmdlbGlzdFxcXCI6YnJlYWs7Y2FzZVxcXCJpbnB1dG1lc3NhZ2VcXFwiOmJyZWFrO2Nhc2VcXFwiaW5wdXR0aXRsZVxcXCI6YnJlYWs7Y2FzZVxcXCJjb21ib2hpZGVcXFwiOmJyZWFrO2Nhc2VcXFwiaW5wdXRoaWRlXFxcIjpicmVhaztjYXNlXFxcImNvbmRpdGlvblxcXCI6YnJlYWs7Y2FzZVxcXCJxdWFsaWZpZXJcXFwiOmJyZWFrO2Nhc2VcXFwidXNlYmxhbmtcXFwiOmJyZWFrO2Nhc2VcXFwidmFsdWUxXFxcIjpicmVhaztjYXNlXFxcInZhbHVlMlxcXCI6YnJlYWs7Y2FzZVxcXCJmb3JtYXRcXFwiOmJyZWFrO2RlZmF1bHQ6YWU9ZmFsc2U7fWJyZWFrO2Nhc2VcXFwibWFwaW5mb1xcXCI6O2Nhc2VcXFwic2NoZW1hXFxcIjo7Y2FzZVxcXCJkYXRhXFxcIjpzd2l0Y2goc1szXSl7Y2FzZVxcXCJtYXBcXFwiOmJyZWFrO2Nhc2VcXFwiZW50cnlcXFwiOmJyZWFrO2Nhc2VcXFwicmFuZ2VcXFwiOmJyZWFrO2Nhc2VcXFwieHBhdGhcXFwiOmJyZWFrO2Nhc2VcXFwiZmllbGRcXFwiOmJyZWFrO2Nhc2VcXFwieHNkdHlwZVxcXCI6YnJlYWs7Y2FzZVxcXCJmaWx0ZXJvblxcXCI6YnJlYWs7Y2FzZVxcXCJhZ2dyZWdhdGVcXFwiOmJyZWFrO2Nhc2VcXFwiZWxlbWVudHR5cGVcXFwiOmJyZWFrO2Nhc2VcXFwiYXR0cmlidXRldHlwZVxcXCI6YnJlYWs7Y2FzZVxcXCJzY2hlbWFcXFwiOjtjYXNlXFxcImVsZW1lbnRcXFwiOjtjYXNlXFxcImNvbXBsZXh0eXBlXFxcIjo7Y2FzZVxcXCJkYXRhdHlwZVxcXCI6O2Nhc2VcXFwiYWxsXFxcIjo7Y2FzZVxcXCJhdHRyaWJ1dGVcXFwiOjtjYXNlXFxcImV4dGVuZHNcXFwiOmJyZWFrO2Nhc2VcXFwicm93XFxcIjpicmVhaztkZWZhdWx0OmFlPWZhbHNlO31icmVhaztjYXNlXFxcInNtYXJ0dGFnc1xcXCI6YnJlYWs7ZGVmYXVsdDphZT1mYWxzZTticmVhazt9aWYoYWUpYnJlYWs7aWYoc1szXS5tYXRjaCgvIVxcXFxbQ0RBVEEvKSlicmVhaztpZighZltmLmxlbmd0aC0xXVsxXSl0aHJvd1xcXCJVbnJlY29nbml6ZWQgdGFnOiBcXFwiK3NbM10rXFxcInxcXFwiK2Yuam9pbihcXFwifFxcXCIpO2lmKGZbZi5sZW5ndGgtMV1bMF09PT1cXFwiY3VzdG9tZG9jdW1lbnRwcm9wZXJ0aWVzXFxcIil7aWYoc1swXS5zbGljZSgtMik9PT1cXFwiLz5cXFwiKWJyZWFrO2Vsc2UgaWYoc1sxXT09PVxcXCIvXFxcIilycChJLCQsTyxhLnNsaWNlKFIscy5pbmRleCkpO2Vsc2V7Tz1zO1I9cy5pbmRleCtzWzBdLmxlbmd0aH1icmVha31pZih0LldURil0aHJvd1xcXCJVbnJlY29nbml6ZWQgdGFnOiBcXFwiK3NbM10rXFxcInxcXFwiK2Yuam9pbihcXFwifFxcXCIpO312YXIgaWU9e307aWYoIXQuYm9va1NoZWV0cyYmIXQuYm9va1Byb3BzKWllLlNoZWV0cz1sO2llLlNoZWV0TmFtZXM9dTtpZS5Xb3JrYm9vaz1qO2llLlNTRj1ELmdldF90YWJsZSgpO2llLlByb3BzPUE7aWUuQ3VzdHByb3BzPUk7cmV0dXJuIGllfWZ1bmN0aW9uIGxwKGUscil7Qm0ocj1yfHx7fSk7c3dpdGNoKHIudHlwZXx8XFxcImJhc2U2NFxcXCIpe2Nhc2VcXFwiYmFzZTY0XFxcIjpyZXR1cm4gb3AoZy5kZWNvZGUoZSkscik7Y2FzZVxcXCJiaW5hcnlcXFwiOjtjYXNlXFxcImJ1ZmZlclxcXCI6O2Nhc2VcXFwiZmlsZVxcXCI6cmV0dXJuIG9wKGUscik7Y2FzZVxcXCJhcnJheVxcXCI6cmV0dXJuIG9wKHkoZSkscik7fX1mdW5jdGlvbiBjcChlLHIpe3ZhciB0PVtdO2lmKGUuUHJvcHMpdC5wdXNoKGduKGUuUHJvcHMscikpO2lmKGUuQ3VzdHByb3BzKXQucHVzaCh3bihlLlByb3BzLGUuQ3VzdHByb3BzLHIpKTtyZXR1cm4gdC5qb2luKFxcXCJcXFwiKX1mdW5jdGlvbiB1cCgpe3JldHVyblxcXCJcXFwifWZ1bmN0aW9uIGhwKGUscil7dmFyIHQ9Wyc8U3R5bGUgc3M6SUQ9XFxcIkRlZmF1bHRcXFwiIHNzOk5hbWU9XFxcIk5vcm1hbFxcXCI+PE51bWJlckZvcm1hdC8+PC9TdHlsZT4nXTtyLmNlbGxYZnMuZm9yRWFjaChmdW5jdGlvbihlLHIpe3ZhciBhPVtdO2EucHVzaChscihcXFwiTnVtYmVyRm9ybWF0XFxcIixudWxsLHtcXFwic3M6Rm9ybWF0XFxcIjpIZShELl90YWJsZVtlLm51bUZtdElkXSl9KSk7dmFyIG49e1xcXCJzczpJRFxcXCI6XFxcInNcXFwiKygyMStyKX07dC5wdXNoKGxyKFxcXCJTdHlsZVxcXCIsYS5qb2luKFxcXCJcXFwiKSxuKSl9KTtyZXR1cm4gbHIoXFxcIlN0eWxlc1xcXCIsdC5qb2luKFxcXCJcXFwiKSl9ZnVuY3Rpb24gZHAoZSl7cmV0dXJuIGxyKFxcXCJOYW1lZFJhbmdlXFxcIixudWxsLHtcXFwic3M6TmFtZVxcXCI6ZS5OYW1lLFxcXCJzczpSZWZlcnNUb1xcXCI6XFxcIj1cXFwiK3NjKGUuUmVmLHtyOjAsYzowfSl9KX1mdW5jdGlvbiB2cChlKXtpZighKChlfHx7fSkuV29ya2Jvb2t8fHt9KS5OYW1lcylyZXR1cm5cXFwiXFxcIjt2YXIgcj1lLldvcmtib29rLk5hbWVzO3ZhciB0PVtdO2Zvcih2YXIgYT0wO2E8ci5sZW5ndGg7KythKXt2YXIgbj1yW2FdO2lmKG4uU2hlZXQhPW51bGwpY29udGludWU7aWYobi5OYW1lLm1hdGNoKC9eX3hsZm5cXFxcLi8pKWNvbnRpbnVlO3QucHVzaChkcChuKSl9cmV0dXJuIGxyKFxcXCJOYW1lc1xcXCIsdC5qb2luKFxcXCJcXFwiKSl9ZnVuY3Rpb24gcHAoZSxyLHQsYSl7aWYoIWUpcmV0dXJuXFxcIlxcXCI7aWYoISgoYXx8e30pLldvcmtib29rfHx7fSkuTmFtZXMpcmV0dXJuXFxcIlxcXCI7dmFyIG49YS5Xb3JrYm9vay5OYW1lczt2YXIgaT1bXTtmb3IodmFyIHM9MDtzPG4ubGVuZ3RoOysrcyl7dmFyIGY9bltzXTtpZihmLlNoZWV0IT10KWNvbnRpbnVlO2lmKGYuTmFtZS5tYXRjaCgvXl94bGZuXFxcXC4vKSljb250aW51ZTtpLnB1c2goZHAoZikpfXJldHVybiBpLmpvaW4oXFxcIlxcXCIpfWZ1bmN0aW9uIG1wKGUscix0LGEpe2lmKCFlKXJldHVyblxcXCJcXFwiO3ZhciBuPVtdO2lmKGVbXFxcIiFtYXJnaW5zXFxcIl0pe24ucHVzaChcXFwiPFBhZ2VTZXR1cD5cXFwiKTtpZihlW1xcXCIhbWFyZ2luc1xcXCJdLmhlYWRlciluLnB1c2gobHIoXFxcIkhlYWRlclxcXCIsbnVsbCx7XFxcIng6TWFyZ2luXFxcIjplW1xcXCIhbWFyZ2luc1xcXCJdLmhlYWRlcn0pKTtpZihlW1xcXCIhbWFyZ2luc1xcXCJdLmZvb3RlciluLnB1c2gobHIoXFxcIkZvb3RlclxcXCIsbnVsbCx7XFxcIng6TWFyZ2luXFxcIjplW1xcXCIhbWFyZ2luc1xcXCJdLmZvb3Rlcn0pKTtuLnB1c2gobHIoXFxcIlBhZ2VNYXJnaW5zXFxcIixudWxsLHtcXFwieDpCb3R0b21cXFwiOmVbXFxcIiFtYXJnaW5zXFxcIl0uYm90dG9tfHxcXFwiMC43NVxcXCIsXFxcIng6TGVmdFxcXCI6ZVtcXFwiIW1hcmdpbnNcXFwiXS5sZWZ0fHxcXFwiMC43XFxcIixcXFwieDpSaWdodFxcXCI6ZVtcXFwiIW1hcmdpbnNcXFwiXS5yaWdodHx8XFxcIjAuN1xcXCIsXFxcIng6VG9wXFxcIjplW1xcXCIhbWFyZ2luc1xcXCJdLnRvcHx8XFxcIjAuNzVcXFwifSkpO24ucHVzaChcXFwiPC9QYWdlU2V0dXA+XFxcIil9aWYoYSYmYS5Xb3JrYm9vayYmYS5Xb3JrYm9vay5TaGVldHMmJmEuV29ya2Jvb2suU2hlZXRzW3RdKXtpZihhLldvcmtib29rLlNoZWV0c1t0XS5IaWRkZW4pbi5wdXNoKGxyKFxcXCJWaXNpYmxlXFxcIixhLldvcmtib29rLlNoZWV0c1t0XS5IaWRkZW49PTE/XFxcIlNoZWV0SGlkZGVuXFxcIjpcXFwiU2hlZXRWZXJ5SGlkZGVuXFxcIix7fSkpO2Vsc2V7Zm9yKHZhciBpPTA7aTx0OysraSlpZihhLldvcmtib29rLlNoZWV0c1tpXSYmIWEuV29ya2Jvb2suU2hlZXRzW2ldLkhpZGRlbilicmVhaztpZihpPT10KW4ucHVzaChcXFwiPFNlbGVjdGVkLz5cXFwiKX19aWYoKCgoKGF8fHt9KS5Xb3JrYm9va3x8e30pLlZpZXdzfHxbXSlbMF18fHt9KS5SVEwpbi5wdXNoKFxcXCI8RGlzcGxheVJpZ2h0VG9MZWZ0Lz5cXFwiKTtpZihlW1xcXCIhcHJvdGVjdFxcXCJdKXtuLnB1c2goZnIoXFxcIlByb3RlY3RDb250ZW50c1xcXCIsXFxcIlRydWVcXFwiKSk7aWYoZVtcXFwiIXByb3RlY3RcXFwiXS5vYmplY3RzKW4ucHVzaChmcihcXFwiUHJvdGVjdE9iamVjdHNcXFwiLFxcXCJUcnVlXFxcIikpO2lmKGVbXFxcIiFwcm90ZWN0XFxcIl0uc2NlbmFyaW9zKW4ucHVzaChmcihcXFwiUHJvdGVjdFNjZW5hcmlvc1xcXCIsXFxcIlRydWVcXFwiKSk7aWYoZVtcXFwiIXByb3RlY3RcXFwiXS5zZWxlY3RMb2NrZWRDZWxscyE9bnVsbCYmIWVbXFxcIiFwcm90ZWN0XFxcIl0uc2VsZWN0TG9ja2VkQ2VsbHMpbi5wdXNoKGZyKFxcXCJFbmFibGVTZWxlY3Rpb25cXFwiLFxcXCJOb1NlbGVjdGlvblxcXCIpKTtlbHNlIGlmKGVbXFxcIiFwcm90ZWN0XFxcIl0uc2VsZWN0VW5sb2NrZWRDZWxscyE9bnVsbCYmIWVbXFxcIiFwcm90ZWN0XFxcIl0uc2VsZWN0VW5sb2NrZWRDZWxscyluLnB1c2goZnIoXFxcIkVuYWJsZVNlbGVjdGlvblxcXCIsXFxcIlVubG9ja2VkQ2VsbHNcXFwiKSk7W1tcXFwiZm9ybWF0Q2VsbHNcXFwiLFxcXCJBbGxvd0Zvcm1hdENlbGxzXFxcIl0sW1xcXCJmb3JtYXRDb2x1bW5zXFxcIixcXFwiQWxsb3dTaXplQ29sc1xcXCJdLFtcXFwiZm9ybWF0Um93c1xcXCIsXFxcIkFsbG93U2l6ZVJvd3NcXFwiXSxbXFxcImluc2VydENvbHVtbnNcXFwiLFxcXCJBbGxvd0luc2VydENvbHNcXFwiXSxbXFxcImluc2VydFJvd3NcXFwiLFxcXCJBbGxvd0luc2VydFJvd3NcXFwiXSxbXFxcImluc2VydEh5cGVybGlua3NcXFwiLFxcXCJBbGxvd0luc2VydEh5cGVybGlua3NcXFwiXSxbXFxcImRlbGV0ZUNvbHVtbnNcXFwiLFxcXCJBbGxvd0RlbGV0ZUNvbHNcXFwiXSxbXFxcImRlbGV0ZVJvd3NcXFwiLFxcXCJBbGxvd0RlbGV0ZVJvd3NcXFwiXSxbXFxcInNvcnRcXFwiLFxcXCJBbGxvd1NvcnRcXFwiXSxbXFxcImF1dG9GaWx0ZXJcXFwiLFxcXCJBbGxvd0ZpbHRlclxcXCJdLFtcXFwicGl2b3RUYWJsZXNcXFwiLFxcXCJBbGxvd1VzZVBpdm90VGFibGVzXFxcIl1dLmZvckVhY2goZnVuY3Rpb24ocil7aWYoZVtcXFwiIXByb3RlY3RcXFwiXVtyWzBdXSluLnB1c2goXFxcIjxcXFwiK3JbMV0rXFxcIi8+XFxcIil9KX1pZihuLmxlbmd0aD09MClyZXR1cm5cXFwiXFxcIjtyZXR1cm4gbHIoXFxcIldvcmtzaGVldE9wdGlvbnNcXFwiLG4uam9pbihcXFwiXFxcIikse3htbG5zOmRyLnh9KX1mdW5jdGlvbiBicChlKXtyZXR1cm4gZS5tYXAoZnVuY3Rpb24oZSl7dmFyIHI9S2UoZS50fHxcXFwiXFxcIik7dmFyIHQ9bHIoXFxcInNzOkRhdGFcXFwiLHIse3htbG5zOlxcXCJodHRwOi8vd3d3LnczLm9yZy9UUi9SRUMtaHRtbDQwXFxcIn0pO3JldHVybiBscihcXFwiQ29tbWVudFxcXCIsdCx7XFxcInNzOkF1dGhvclxcXCI6ZS5hfSl9KS5qb2luKFxcXCJcXFwiKX1mdW5jdGlvbiBncChlLHIsdCxhLG4saSxzKXtpZighZXx8ZS52PT11bmRlZmluZWQmJmUuZj09dW5kZWZpbmVkKXJldHVyblxcXCJcXFwiO3ZhciBmPXt9O2lmKGUuZilmW1xcXCJzczpGb3JtdWxhXFxcIl09XFxcIj1cXFwiK0hlKHNjKGUuZixzKSk7aWYoZS5GJiZlLkYuc2xpY2UoMCxyLmxlbmd0aCk9PXIpe3ZhciBvPW10KGUuRi5zbGljZShyLmxlbmd0aCsxKSk7ZltcXFwic3M6QXJyYXlSYW5nZVxcXCJdPVxcXCJSQzpSXFxcIisoby5yPT1zLnI/XFxcIlxcXCI6XFxcIltcXFwiKyhvLnItcy5yKStcXFwiXVxcXCIpK1xcXCJDXFxcIisoby5jPT1zLmM/XFxcIlxcXCI6XFxcIltcXFwiKyhvLmMtcy5jKStcXFwiXVxcXCIpfWlmKGUubCYmZS5sLlRhcmdldCl7ZltcXFwic3M6SFJlZlxcXCJdPUhlKGUubC5UYXJnZXQpO2lmKGUubC5Ub29sdGlwKWZbXFxcIng6SFJlZlNjcmVlblRpcFxcXCJdPUhlKGUubC5Ub29sdGlwKX1pZih0W1xcXCIhbWVyZ2VzXFxcIl0pe3ZhciBsPXRbXFxcIiFtZXJnZXNcXFwiXTtmb3IodmFyIGM9MDtjIT1sLmxlbmd0aDsrK2Mpe2lmKGxbY10ucy5jIT1zLmN8fGxbY10ucy5yIT1zLnIpY29udGludWU7aWYobFtjXS5lLmM+bFtjXS5zLmMpZltcXFwic3M6TWVyZ2VBY3Jvc3NcXFwiXT1sW2NdLmUuYy1sW2NdLnMuYztpZihsW2NdLmUucj5sW2NdLnMucilmW1xcXCJzczpNZXJnZURvd25cXFwiXT1sW2NdLmUuci1sW2NdLnMucn19dmFyIHU9XFxcIlxcXCIsaD1cXFwiXFxcIjtzd2l0Y2goZS50KXtjYXNlXFxcInpcXFwiOmlmKCFhLnNoZWV0U3R1YnMpcmV0dXJuXFxcIlxcXCI7YnJlYWs7Y2FzZVxcXCJuXFxcIjp1PVxcXCJOdW1iZXJcXFwiO2g9U3RyaW5nKGUudik7YnJlYWs7Y2FzZVxcXCJiXFxcIjp1PVxcXCJCb29sZWFuXFxcIjtoPWUudj9cXFwiMVxcXCI6XFxcIjBcXFwiO2JyZWFrO2Nhc2VcXFwiZVxcXCI6dT1cXFwiRXJyb3JcXFwiO2g9eGFbZS52XTticmVhaztjYXNlXFxcImRcXFwiOnU9XFxcIkRhdGVUaW1lXFxcIjtoPW5ldyBEYXRlKGUudikudG9JU09TdHJpbmcoKTtpZihlLno9PW51bGwpZS56PWUuenx8RC5fdGFibGVbMTRdO2JyZWFrO2Nhc2VcXFwic1xcXCI6dT1cXFwiU3RyaW5nXFxcIjtoPUdlKGUudnx8XFxcIlxcXCIpO2JyZWFrO312YXIgZD12aChhLmNlbGxYZnMsZSxhKTtmW1xcXCJzczpTdHlsZUlEXFxcIl09XFxcInNcXFwiKygyMStkKTtmW1xcXCJzczpJbmRleFxcXCJdPXMuYysxO3ZhciB2PWUudiE9bnVsbD9oOlxcXCJcXFwiO3ZhciBwPWUudD09XFxcInpcXFwiP1xcXCJcXFwiOic8RGF0YSBzczpUeXBlPVxcXCInK3UrJ1xcXCI+Jyt2K1xcXCI8L0RhdGE+XFxcIjtpZigoZS5jfHxbXSkubGVuZ3RoPjApcCs9YnAoZS5jKTtyZXR1cm4gbHIoXFxcIkNlbGxcXFwiLHAsZil9ZnVuY3Rpb24gd3AoZSxyKXt2YXIgdD0nPFJvdyBzczpJbmRleD1cXFwiJysoZSsxKSsnXFxcIic7aWYocil7aWYoci5ocHQmJiFyLmhweClyLmhweD1UbyhyLmhwdCk7aWYoci5ocHgpdCs9JyBzczpBdXRvRml0SGVpZ2h0PVxcXCIwXFxcIiBzczpIZWlnaHQ9XFxcIicrci5ocHgrJ1xcXCInO2lmKHIuaGlkZGVuKXQrPScgc3M6SGlkZGVuPVxcXCIxXFxcIid9cmV0dXJuIHQrXFxcIj5cXFwifWZ1bmN0aW9uIGtwKGUscix0LGEpe2lmKCFlW1xcXCIhcmVmXFxcIl0pcmV0dXJuXFxcIlxcXCI7dmFyIG49a3QoZVtcXFwiIXJlZlxcXCJdKTt2YXIgaT1lW1xcXCIhbWVyZ2VzXFxcIl18fFtdLHM9MDt2YXIgZj1bXTtpZihlW1xcXCIhY29sc1xcXCJdKWVbXFxcIiFjb2xzXFxcIl0uZm9yRWFjaChmdW5jdGlvbihlLHIpe1NvKGUpO3ZhciB0PSEhZS53aWR0aDt2YXIgYT1oaChyLGUpO3ZhciBuPXtcXFwic3M6SW5kZXhcXFwiOnIrMX07aWYodCluW1xcXCJzczpXaWR0aFxcXCJdPWJvKGEud2lkdGgpO2lmKGUuaGlkZGVuKW5bXFxcInNzOkhpZGRlblxcXCJdPVxcXCIxXFxcIjtmLnB1c2gobHIoXFxcIkNvbHVtblxcXCIsbnVsbCxuKSl9KTt2YXIgbz1BcnJheS5pc0FycmF5KGUpO2Zvcih2YXIgbD1uLnMucjtsPD1uLmUucjsrK2wpe3ZhciBjPVt3cChsLChlW1xcXCIhcm93c1xcXCJdfHxbXSlbbF0pXTtmb3IodmFyIHU9bi5zLmM7dTw9bi5lLmM7Kyt1KXt2YXIgaD1mYWxzZTtmb3Iocz0wO3MhPWkubGVuZ3RoOysrcyl7aWYoaVtzXS5zLmM+dSljb250aW51ZTtpZihpW3NdLnMucj5sKWNvbnRpbnVlO2lmKGlbc10uZS5jPHUpY29udGludWU7aWYoaVtzXS5lLnI8bCljb250aW51ZTtpZihpW3NdLnMuYyE9dXx8aVtzXS5zLnIhPWwpaD10cnVlO2JyZWFrfWlmKGgpY29udGludWU7dmFyIGQ9e3I6bCxjOnV9O3ZhciB2PWJ0KGQpLHA9bz8oZVtsXXx8W10pW3VdOmVbdl07Yy5wdXNoKGdwKHAsdixlLHIsdCxhLGQpKX1jLnB1c2goXFxcIjwvUm93PlxcXCIpO2lmKGMubGVuZ3RoPjIpZi5wdXNoKGMuam9pbihcXFwiXFxcIikpfXJldHVybiBmLmpvaW4oXFxcIlxcXCIpfWZ1bmN0aW9uIEVwKGUscix0KXt2YXIgYT1bXTt2YXIgbj10LlNoZWV0TmFtZXNbZV07dmFyIGk9dC5TaGVldHNbbl07dmFyIHM9aT9wcChpLHIsZSx0KTpcXFwiXFxcIjtpZihzLmxlbmd0aD4wKWEucHVzaChcXFwiPE5hbWVzPlxcXCIrcytcXFwiPC9OYW1lcz5cXFwiKTtzPWk/a3AoaSxyLGUsdCk6XFxcIlxcXCI7aWYocy5sZW5ndGg+MClhLnB1c2goXFxcIjxUYWJsZT5cXFwiK3MrXFxcIjwvVGFibGU+XFxcIik7YS5wdXNoKG1wKGkscixlLHQpKTtyZXR1cm4gYS5qb2luKFxcXCJcXFwiKX1mdW5jdGlvbiBTcChlLHIpe2lmKCFyKXI9e307aWYoIWUuU1NGKWUuU1NGPUQuZ2V0X3RhYmxlKCk7aWYoZS5TU0Ype0YoRCk7RC5sb2FkX3RhYmxlKGUuU1NGKTtyLnJldnNzZj1KKGUuU1NGKTtyLnJldnNzZltlLlNTRls2NTUzNV1dPTA7ci5zc2Y9ZS5TU0Y7ci5jZWxsWGZzPVtdO3ZoKHIuY2VsbFhmcyx7fSx7cmV2c3NmOntHZW5lcmFsOjB9fSl9dmFyIHQ9W107dC5wdXNoKGNwKGUscikpO3QucHVzaCh1cChlLHIpKTt0LnB1c2goXFxcIlxcXCIpO3QucHVzaChcXFwiXFxcIik7Zm9yKHZhciBhPTA7YTxlLlNoZWV0TmFtZXMubGVuZ3RoOysrYSl0LnB1c2gobHIoXFxcIldvcmtzaGVldFxcXCIsRXAoYSxyLGUpLHtcXFwic3M6TmFtZVxcXCI6SGUoZS5TaGVldE5hbWVzW2FdKX0pKTt0WzJdPWhwKGUscik7dFszXT12cChlLHIpO3JldHVybiBBZStscihcXFwiV29ya2Jvb2tcXFwiLHQuam9pbihcXFwiXFxcIikse3htbG5zOmRyLnNzLFxcXCJ4bWxuczpvXFxcIjpkci5vLFxcXCJ4bWxuczp4XFxcIjpkci54LFxcXCJ4bWxuczpzc1xcXCI6ZHIuc3MsXFxcInhtbG5zOmR0XFxcIjpkci5kdCxcXFwieG1sbnM6aHRtbFxcXCI6ZHIuaHRtbH0pfWZ1bmN0aW9uIF9wKGUpe3ZhciByPXt9O3ZhciB0PWUuY29udGVudDt0Lmw9Mjg7ci5BbnNpVXNlclR5cGU9dC5fUigwLFxcXCJscHN0ci1hbnNpXFxcIik7ci5BbnNpQ2xpcGJvYXJkRm9ybWF0PWFhKHQpO2lmKHQubGVuZ3RoLXQubDw9NClyZXR1cm4gcjt2YXIgYT10Ll9SKDQpO2lmKGE9PTB8fGE+NDApcmV0dXJuIHI7dC5sLT00O3IuUmVzZXJ2ZWQxPXQuX1IoMCxcXFwibHBzdHItYW5zaVxcXCIpO2lmKHQubGVuZ3RoLXQubDw9NClyZXR1cm4gcjthPXQuX1IoNCk7aWYoYSE9PTE5MDc1MDU2NTIpcmV0dXJuIHI7ci5Vbmljb2RlQ2xpcGJvYXJkRm9ybWF0PW5hKHQpO2E9dC5fUig0KTtpZihhPT0wfHxhPjQwKXJldHVybiByO3QubC09NDtyLlJlc2VydmVkMj10Ll9SKDAsXFxcImxwd3N0clxcXCIpfWZ1bmN0aW9uIENwKGUscix0LGEpe3ZhciBuPXQ7dmFyIGk9W107dmFyIHM9ci5zbGljZShyLmwsci5sK24pO2lmKGEmJmEuZW5jJiZhLmVuYy5pbnNpdHUpc3dpdGNoKGUubil7Y2FzZVxcXCJCT0ZcXFwiOjtjYXNlXFxcIkZpbGVQYXNzXFxcIjo7Y2FzZVxcXCJGaWxlTG9ja1xcXCI6O2Nhc2VcXFwiSW50ZXJmYWNlSGRyXFxcIjo7Y2FzZVxcXCJSUkRJbmZvXFxcIjo7Y2FzZVxcXCJSUkRIZWFkXFxcIjo7Y2FzZVxcXCJVc3JFeGNsXFxcIjpicmVhaztkZWZhdWx0OmlmKHMubGVuZ3RoPT09MClicmVhazthLmVuYy5pbnNpdHUocyk7fWkucHVzaChzKTtyLmwrPW47dmFyIGY9UHBbTXIocixyLmwpXTt2YXIgbz0wO3doaWxlKGYhPW51bGwmJmYubi5zbGljZSgwLDgpPT09XFxcIkNvbnRpbnVlXFxcIil7bj1NcihyLHIubCsyKTtvPXIubCs0O2lmKGYubj09XFxcIkNvbnRpbnVlRnJ0XFxcIilvKz00O2Vsc2UgaWYoZi5uLnNsaWNlKDAsMTEpPT1cXFwiQ29udGludWVGcnRcXFwiKW8rPTEyO2kucHVzaChyLnNsaWNlKG8sci5sKzQrbikpO3IubCs9NCtuO2Y9UHBbTXIocixyLmwpXX12YXIgbD1JKGkpO1lyKGwsMCk7dmFyIGM9MDtsLmxlbnM9W107Zm9yKHZhciB1PTA7dTxpLmxlbmd0aDsrK3Upe2wubGVucy5wdXNoKGMpO2MrPWlbdV0ubGVuZ3RofXJldHVybiBlLmYobCxsLmxlbmd0aCxhKX1mdW5jdGlvbiBCcChlLHIsdCl7aWYoZS50PT09XFxcInpcXFwiKXJldHVybjtpZighZS5YRilyZXR1cm47dmFyIGE9MDt0cnl7YT1lLnp8fGUuWEYubnVtRm10SWR8fDA7aWYoci5jZWxsTkYpZS56PUQuX3RhYmxlW2FdfWNhdGNoKG4pe2lmKHIuV1RGKXRocm93IG59aWYoIXJ8fHIuY2VsbFRleHQhPT1mYWxzZSl0cnl7aWYoZS50PT09XFxcImVcXFwiKXtlLnc9ZS53fHx4YVtlLnZdfWVsc2UgaWYoYT09PTB8fGE9PVxcXCJHZW5lcmFsXFxcIil7aWYoZS50PT09XFxcIm5cXFwiKXtpZigoZS52fDApPT09ZS52KWUudz1ELl9nZW5lcmFsX2ludChlLnYpO2Vsc2UgZS53PUQuX2dlbmVyYWxfbnVtKGUudil9ZWxzZSBlLnc9RC5fZ2VuZXJhbChlLnYpfWVsc2UgZS53PUQuZm9ybWF0KGEsZS52LHtkYXRlMTkwNDohIXR9KX1jYXRjaChuKXtpZihyLldURil0aHJvdyBufWlmKHIuY2VsbERhdGVzJiZhJiZlLnQ9PVxcXCJuXFxcIiYmRC5pc19kYXRlKEQuX3RhYmxlW2FdfHxTdHJpbmcoYSkpKXt2YXIgaT1ELnBhcnNlX2RhdGVfY29kZShlLnYpO2lmKGkpe2UudD1cXFwiZFxcXCI7ZS52PW5ldyBEYXRlKGkueSxpLm0tMSxpLmQsaS5ILGkuTSxpLlMsaS51KX19fWZ1bmN0aW9uIFRwKGUscix0KXtyZXR1cm57djplLGl4ZmU6cix0OnR9fWZ1bmN0aW9uIHlwKGUscil7dmFyIHQ9e29wdHM6e319O3ZhciBhPXt9O2lmKG0hPW51bGwmJnIuZGVuc2U9PW51bGwpci5kZW5zZT1tO3ZhciBuPXIuZGVuc2U/W106e307dmFyIGk9e307dmFyIHM9e307dmFyIGY9bnVsbDt2YXIgbD1bXTt2YXIgYz1cXFwiXFxcIjt2YXIgdT17fTt2YXIgaCxkPVxcXCJcXFwiLHYscCxiLGc7dmFyIHc9e307dmFyIGs9W107dmFyIEU7dmFyIFM7dmFyIF89dHJ1ZTt2YXIgQz1bXTt2YXIgQj1bXTt2YXIgVD17U2hlZXRzOltdLFdCUHJvcHM6e2RhdGUxOTA0OmZhbHNlfSxWaWV3czpbe31dfSx5PXt9O3ZhciB4PWZ1bmN0aW9uIHdlKGUpe2lmKGU8OClyZXR1cm4geWFbZV07aWYoZTw2NClyZXR1cm4gQltlLThdfHx5YVtlXTtyZXR1cm4geWFbZV19O3ZhciBBPWZ1bmN0aW9uIGtlKGUscix0KXt2YXIgYT1yLlhGLmRhdGE7aWYoIWF8fCFhLnBhdHRlcm5UeXBlfHwhdHx8IXQuY2VsbFN0eWxlcylyZXR1cm47ci5zPXt9O3Iucy5wYXR0ZXJuVHlwZT1hLnBhdHRlcm5UeXBlO3ZhciBuO2lmKG49b28oeChhLmljdkZvcmUpKSl7ci5zLmZnQ29sb3I9e3JnYjpufX1pZihuPW9vKHgoYS5pY3ZCYWNrKSkpe3Iucy5iZ0NvbG9yPXtyZ2I6bn19fTt2YXIgST1mdW5jdGlvbiBFZShlLHIsdCl7aWYoVj4xKXJldHVybjtpZih0LnNoZWV0Um93cyYmZS5yPj10LnNoZWV0Um93cylfPWZhbHNlO2lmKCFfKXJldHVybjtpZih0LmNlbGxTdHlsZXMmJnIuWEYmJnIuWEYuZGF0YSlBKGUscix0KTtkZWxldGUgci5peGZlO2RlbGV0ZSByLlhGO2g9ZTtkPWJ0KGUpO2lmKCFzfHwhcy5zfHwhcy5lKXM9e3M6e3I6MCxjOjB9LGU6e3I6MCxjOjB9fTtpZihlLnI8cy5zLnIpcy5zLnI9ZS5yO2lmKGUuYzxzLnMuYylzLnMuYz1lLmM7aWYoZS5yKzE+cy5lLnIpcy5lLnI9ZS5yKzE7aWYoZS5jKzE+cy5lLmMpcy5lLmM9ZS5jKzE7aWYodC5jZWxsRm9ybXVsYSYmci5mKXtmb3IodmFyIGE9MDthPGsubGVuZ3RoOysrYSl7aWYoa1thXVswXS5zLmM+ZS5jfHxrW2FdWzBdLnMucj5lLnIpY29udGludWU7aWYoa1thXVswXS5lLmM8ZS5jfHxrW2FdWzBdLmUucjxlLnIpY29udGludWU7ci5GPXd0KGtbYV1bMF0pO2lmKGtbYV1bMF0ucy5jIT1lLmN8fGtbYV1bMF0ucy5yIT1lLnIpZGVsZXRlIHIuZjtpZihyLmYpci5mPVxcXCJcXFwiK3p1KGtbYV1bMV0scyxlLEgsUik7YnJlYWt9fXtpZih0LmRlbnNlKXtpZighbltlLnJdKW5bZS5yXT1bXTtuW2Uucl1bZS5jXT1yfWVsc2UgbltkXT1yfX07dmFyIFI9e2VuYzpmYWxzZSxzYmNjaDowLHNuYW1lczpbXSxzaGFyZWRmOncsYXJyYXlmOmsscnJ0YWJpZDpbXSxsYXN0dXNlcjpcXFwiXFxcIixiaWZmOjgsY29kZXBhZ2U6MCx3aW5sb2NrZWQ6MCxjZWxsU3R5bGVzOiEhciYmISFyLmNlbGxTdHlsZXMsV1RGOiEhciYmISFyLnd0Zn07aWYoci5wYXNzd29yZClSLnBhc3N3b3JkPXIucGFzc3dvcmQ7dmFyIE87dmFyIEY9W107dmFyIFA9W107dmFyIE49W10sTD1bXTt2YXIgTT0wLFU9MDt2YXIgej1mYWxzZTt2YXIgSD1bXTtILlNoZWV0TmFtZXM9Ui5zbmFtZXM7SC5zaGFyZWRmPVIuc2hhcmVkZjtILmFycmF5Zj1SLmFycmF5ZjtILm5hbWVzPVtdO0guWFRJPVtdO3ZhciBXPVxcXCJcXFwiO3ZhciBWPTA7dmFyIFg9MCxHPVtdO3ZhciBqPVtdO3ZhciAkO1IuY29kZXBhZ2U9MTIwMDtvKDEyMDApO3ZhciBZPWZhbHNlO3doaWxlKGUubDxlLmxlbmd0aC0xKXt2YXIgWj1lLmw7dmFyIEo9ZS5fUigyKTtpZihKPT09MCYmVz09PVxcXCJFT0ZcXFwiKWJyZWFrO3ZhciBRPWUubD09PWUubGVuZ3RoPzA6ZS5fUigyKTt2YXIgcT1QcFtKXTtpZihxJiZxLmYpe2lmKHIuYm9va1NoZWV0cyl7aWYoVz09PVxcXCJCb3VuZFNoZWV0OFxcXCImJnEubiE9PVxcXCJCb3VuZFNoZWV0OFxcXCIpYnJlYWt9Vz1xLm47aWYocS5yPT09Mnx8cS5yPT0xMil7dmFyIGVlPWUuX1IoMik7US09MjtpZighUi5lbmMmJmVlIT09SiYmKChlZSYyNTUpPDw4fGVlPj44KSE9PUopdGhyb3cgbmV3IEVycm9yKFxcXCJydCBtaXNtYXRjaDogXFxcIitlZStcXFwiIT1cXFwiK0opO2lmKHEucj09MTIpe2UubCs9MTA7US09MTB9fXZhciByZT17fTtpZihxLm49PT1cXFwiRU9GXFxcIilyZT1xLmYoZSxRLFIpO2Vsc2UgcmU9Q3AocSxlLFEsUik7dmFyIHRlPXEubjtpZihWPT0wJiZ0ZSE9XFxcIkJPRlxcXCIpY29udGludWU7c3dpdGNoKHRlKXtjYXNlXFxcIkRhdGUxOTA0XFxcIjp0Lm9wdHMuRGF0ZTE5MDQ9VC5XQlByb3BzLmRhdGUxOTA0PXJlO2JyZWFrO2Nhc2VcXFwiV3JpdGVQcm90ZWN0XFxcIjp0Lm9wdHMuV3JpdGVQcm90ZWN0PXRydWU7YnJlYWs7Y2FzZVxcXCJGaWxlUGFzc1xcXCI6aWYoIVIuZW5jKWUubD0wO1IuZW5jPXJlO2lmKCFyLnBhc3N3b3JkKXRocm93IG5ldyBFcnJvcihcXFwiRmlsZSBpcyBwYXNzd29yZC1wcm90ZWN0ZWRcXFwiKTtpZihyZS52YWxpZD09bnVsbCl0aHJvdyBuZXcgRXJyb3IoXFxcIkVuY3J5cHRpb24gc2NoZW1lIHVuc3VwcG9ydGVkXFxcIik7aWYoIXJlLnZhbGlkKXRocm93IG5ldyBFcnJvcihcXFwiUGFzc3dvcmQgaXMgaW5jb3JyZWN0XFxcIik7YnJlYWs7Y2FzZVxcXCJXcml0ZUFjY2Vzc1xcXCI6Ui5sYXN0dXNlcj1yZTticmVhaztjYXNlXFxcIkZpbGVTaGFyaW5nXFxcIjpicmVhaztjYXNlXFxcIkNvZGVQYWdlXFxcIjp2YXIgYWU9TnVtYmVyKHJlKTtzd2l0Y2goYWUpe2Nhc2UgMjEwMTA6YWU9MTIwMDticmVhaztjYXNlIDMyNzY4OmFlPTFlNDticmVhaztjYXNlIDMyNzY5OmFlPTEyNTI7YnJlYWs7fW8oUi5jb2RlcGFnZT1hZSk7WT10cnVlO2JyZWFrO2Nhc2VcXFwiUlJUYWJJZFxcXCI6Ui5ycnRhYmlkPXJlO2JyZWFrO2Nhc2VcXFwiV2luUHJvdGVjdFxcXCI6Ui53aW5sb2NrZWQ9cmU7YnJlYWs7Y2FzZVxcXCJUZW1wbGF0ZVxcXCI6YnJlYWs7Y2FzZVxcXCJCb29rQm9vbFxcXCI6YnJlYWs7Y2FzZVxcXCJVc2VzRUxGc1xcXCI6YnJlYWs7Y2FzZVxcXCJNVFJTZXR0aW5nc1xcXCI6YnJlYWs7Y2FzZVxcXCJSZWZyZXNoQWxsXFxcIjo7Y2FzZVxcXCJDYWxjQ291bnRcXFwiOjtjYXNlXFxcIkNhbGNEZWx0YVxcXCI6O2Nhc2VcXFwiQ2FsY0l0ZXJcXFwiOjtjYXNlXFxcIkNhbGNNb2RlXFxcIjo7Y2FzZVxcXCJDYWxjUHJlY2lzaW9uXFxcIjo7Y2FzZVxcXCJDYWxjU2F2ZVJlY2FsY1xcXCI6dC5vcHRzW3RlXT1yZTticmVhaztjYXNlXFxcIkNhbGNSZWZNb2RlXFxcIjpSLkNhbGNSZWZNb2RlPXJlO2JyZWFrO2Nhc2VcXFwiVW5jYWxjZWRcXFwiOmJyZWFrO2Nhc2VcXFwiRm9yY2VGdWxsQ2FsY3VsYXRpb25cXFwiOnQub3B0cy5GdWxsQ2FsYz1yZTticmVhaztjYXNlXFxcIldzQm9vbFxcXCI6aWYocmUuZkRpYWxvZyluW1xcXCIhdHlwZVxcXCJdPVxcXCJkaWFsb2dcXFwiO2JyZWFrO2Nhc2VcXFwiWEZcXFwiOkMucHVzaChyZSk7YnJlYWs7Y2FzZVxcXCJFeHRTU1RcXFwiOmJyZWFrO2Nhc2VcXFwiQm9va0V4dFxcXCI6YnJlYWs7Y2FzZVxcXCJSaWNoVGV4dFN0cmVhbVxcXCI6YnJlYWs7Y2FzZVxcXCJCa0hpbVxcXCI6YnJlYWs7Y2FzZVxcXCJTdXBCb29rXFxcIjpILnB1c2goW3JlXSk7SFtILmxlbmd0aC0xXS5YVEk9W107YnJlYWs7Y2FzZVxcXCJFeHRlcm5OYW1lXFxcIjpIW0gubGVuZ3RoLTFdLnB1c2gocmUpO2JyZWFrO2Nhc2VcXFwiSW5kZXhcXFwiOmJyZWFrO2Nhc2VcXFwiTGJsXFxcIjokPXtOYW1lOnJlLk5hbWUsUmVmOnp1KHJlLnJnY2UscyxudWxsLEgsUil9O2lmKHJlLml0YWI+MCkkLlNoZWV0PXJlLml0YWItMTtILm5hbWVzLnB1c2goJCk7aWYoIUhbMF0pe0hbMF09W107SFswXS5YVEk9W119SFtILmxlbmd0aC0xXS5wdXNoKHJlKTtpZihyZS5OYW1lPT1cXFwiX3hsbm0uX0ZpbHRlckRhdGFiYXNlXFxcIiYmcmUuaXRhYj4wKWlmKHJlLnJnY2UmJnJlLnJnY2VbMF0mJnJlLnJnY2VbMF1bMF0mJnJlLnJnY2VbMF1bMF1bMF09PVxcXCJQdGdBcmVhM2RcXFwiKWpbcmUuaXRhYi0xXT17cmVmOnd0KHJlLnJnY2VbMF1bMF1bMV1bMl0pfTticmVhaztjYXNlXFxcIkV4dGVybkNvdW50XFxcIjpSLkV4dGVybkNvdW50PXJlO2JyZWFrO2Nhc2VcXFwiRXh0ZXJuU2hlZXRcXFwiOmlmKEgubGVuZ3RoPT0wKXtIWzBdPVtdO0hbMF0uWFRJPVtdfUhbSC5sZW5ndGgtMV0uWFRJPUhbSC5sZW5ndGgtMV0uWFRJLmNvbmNhdChyZSk7SC5YVEk9SC5YVEkuY29uY2F0KHJlKTticmVhaztjYXNlXFxcIk5hbWVDbXRcXFwiOmlmKFIuYmlmZjw4KWJyZWFrO2lmKCQhPW51bGwpJC5Db21tZW50PXJlWzFdO2JyZWFrO2Nhc2VcXFwiUHJvdGVjdFxcXCI6bltcXFwiIXByb3RlY3RcXFwiXT1yZTticmVhaztjYXNlXFxcIlBhc3N3b3JkXFxcIjppZihyZSE9PTAmJlIuV1RGKWNvbnNvbGUuZXJyb3IoXFxcIlBhc3N3b3JkIHZlcmlmaWVyOiBcXFwiK3JlKTticmVhaztjYXNlXFxcIlByb3Q0UmV2XFxcIjo7Y2FzZVxcXCJQcm90NFJldlBhc3NcXFwiOmJyZWFrO2Nhc2VcXFwiQm91bmRTaGVldDhcXFwiOntpW3JlLnBvc109cmU7Ui5zbmFtZXMucHVzaChyZS5uYW1lKX1icmVhaztjYXNlXFxcIkVPRlxcXCI6e2lmKC0tVilicmVhaztpZihzLmUpe2lmKHMuZS5yPjAmJnMuZS5jPjApe3MuZS5yLS07cy5lLmMtLTtuW1xcXCIhcmVmXFxcIl09d3Qocyk7aWYoci5zaGVldFJvd3MmJnIuc2hlZXRSb3dzPD1zLmUucil7dmFyIG5lPXMuZS5yO3MuZS5yPXIuc2hlZXRSb3dzLTE7bltcXFwiIWZ1bGxyZWZcXFwiXT1uW1xcXCIhcmVmXFxcIl07bltcXFwiIXJlZlxcXCJdPXd0KHMpO3MuZS5yPW5lfXMuZS5yKys7cy5lLmMrK31pZihGLmxlbmd0aD4wKW5bXFxcIiFtZXJnZXNcXFwiXT1GO2lmKFAubGVuZ3RoPjApbltcXFwiIW9iamVjdHNcXFwiXT1QO2lmKE4ubGVuZ3RoPjApbltcXFwiIWNvbHNcXFwiXT1OO2lmKEwubGVuZ3RoPjApbltcXFwiIXJvd3NcXFwiXT1MO1QuU2hlZXRzLnB1c2goeSl9aWYoYz09PVxcXCJcXFwiKXU9bjtlbHNlIGFbY109bjtuPXIuZGVuc2U/W106e319YnJlYWs7Y2FzZVxcXCJCT0ZcXFwiOntpZihSLmJpZmY9PT04KVIuYmlmZj17OToyLDUyMTozLDEwMzM6NH1bSl18fHs1MTI6Miw3Njg6MywxMDI0OjQsMTI4MDo1LDE1MzY6OCwyOjIsNzoyfVtyZS5CSUZGVmVyXXx8ODtpZihSLmJpZmY9PTgmJnJlLkJJRkZWZXI9PTAmJnJlLmR0PT0xNilSLmJpZmY9MjtpZihWKyspYnJlYWs7Xz10cnVlO249ci5kZW5zZT9bXTp7fTtpZihSLmJpZmY8OCYmIVkpe1k9dHJ1ZTtvKFIuY29kZXBhZ2U9ci5jb2RlcGFnZXx8MTI1Mil9aWYoUi5iaWZmPDUpe2lmKGM9PT1cXFwiXFxcIiljPVxcXCJTaGVldDFcXFwiO3M9e3M6e3I6MCxjOjB9LGU6e3I6MCxjOjB9fTt2YXIgaWU9e3BvczplLmwtUSxuYW1lOmN9O2lbaWUucG9zXT1pZTtSLnNuYW1lcy5wdXNoKGMpfWVsc2UgYz0oaVtaXXx8e25hbWU6XFxcIlxcXCJ9KS5uYW1lO2lmKHJlLmR0PT0zMiluW1xcXCIhdHlwZVxcXCJdPVxcXCJjaGFydFxcXCI7aWYocmUuZHQ9PTY0KW5bXFxcIiF0eXBlXFxcIl09XFxcIm1hY3JvXFxcIjtGPVtdO1A9W107Ui5hcnJheWY9az1bXTtOPVtdO0w9W107TT1VPTA7ej1mYWxzZTt5PXtIaWRkZW46KGlbWl18fHtoczowfSkuaHMsbmFtZTpjfX1icmVhaztjYXNlXFxcIk51bWJlclxcXCI6O2Nhc2VcXFwiQklGRjJOVU1cXFwiOjtjYXNlXFxcIkJJRkYySU5UXFxcIjp7aWYobltcXFwiIXR5cGVcXFwiXT09XFxcImNoYXJ0XFxcIilpZihyLmRlbnNlPyhuW3JlLnJdfHxbXSlbcmUuY106bltidCh7YzpyZS5jLHI6cmUucn0pXSkrK3JlLmM7RT17aXhmZTpyZS5peGZlLFhGOkNbcmUuaXhmZV18fHt9LHY6cmUudmFsLHQ6XFxcIm5cXFwifTtpZihYPjApRS56PUdbRS5peGZlPj44JjMxXTtCcChFLHIsdC5vcHRzLkRhdGUxOTA0KTtJKHtjOnJlLmMscjpyZS5yfSxFLHIpfWJyZWFrO2Nhc2VcXFwiQm9vbEVyclxcXCI6e0U9e2l4ZmU6cmUuaXhmZSxYRjpDW3JlLml4ZmVdLHY6cmUudmFsLHQ6cmUudH07aWYoWD4wKUUuej1HW0UuaXhmZT4+OCYzMV07QnAoRSxyLHQub3B0cy5EYXRlMTkwNCk7SSh7YzpyZS5jLHI6cmUucn0sRSxyKX1icmVhaztjYXNlXFxcIlJLXFxcIjp7RT17aXhmZTpyZS5peGZlLFhGOkNbcmUuaXhmZV0sdjpyZS5ya251bSx0OlxcXCJuXFxcIn07aWYoWD4wKUUuej1HW0UuaXhmZT4+OCYzMV07QnAoRSxyLHQub3B0cy5EYXRlMTkwNCk7SSh7YzpyZS5jLHI6cmUucn0sRSxyKX1icmVhaztjYXNlXFxcIk11bFJrXFxcIjp7Zm9yKHZhciBzZT1yZS5jO3NlPD1yZS5DOysrc2Upe3ZhciBmZT1yZS5ya3JlY1tzZS1yZS5jXVswXTtFPXtpeGZlOmZlLFhGOkNbZmVdLHY6cmUucmtyZWNbc2UtcmUuY11bMV0sdDpcXFwiblxcXCJ9O2lmKFg+MClFLno9R1tFLml4ZmU+PjgmMzFdO0JwKEUscix0Lm9wdHMuRGF0ZTE5MDQpO0koe2M6c2UscjpyZS5yfSxFLHIpfX1icmVhaztjYXNlXFxcIkZvcm11bGFcXFwiOntpZihyZS52YWw9PVxcXCJTdHJpbmdcXFwiKXtmPXJlO2JyZWFrfUU9VHAocmUudmFsLHJlLmNlbGwuaXhmZSxyZS50dCk7RS5YRj1DW0UuaXhmZV07aWYoci5jZWxsRm9ybXVsYSl7dmFyIG9lPXJlLmZvcm11bGE7aWYob2UmJm9lWzBdJiZvZVswXVswXSYmb2VbMF1bMF1bMF09PVxcXCJQdGdFeHBcXFwiKXt2YXIgbGU9b2VbMF1bMF1bMV1bMF0sY2U9b2VbMF1bMF1bMV1bMV07dmFyIHVlPWJ0KHtyOmxlLGM6Y2V9KTtpZih3W3VlXSlFLmY9XFxcIlxcXCIrenUocmUuZm9ybXVsYSxzLHJlLmNlbGwsSCxSKTtlbHNlIEUuRj0oKHIuZGVuc2U/KG5bbGVdfHxbXSlbY2VdOm5bdWVdKXx8e30pLkZ9ZWxzZSBFLmY9XFxcIlxcXCIrenUocmUuZm9ybXVsYSxzLHJlLmNlbGwsSCxSKX1pZihYPjApRS56PUdbRS5peGZlPj44JjMxXTtCcChFLHIsdC5vcHRzLkRhdGUxOTA0KTtJKHJlLmNlbGwsRSxyKTtmPXJlfWJyZWFrO2Nhc2VcXFwiU3RyaW5nXFxcIjp7aWYoZil7Zi52YWw9cmU7RT1UcChyZSxmLmNlbGwuaXhmZSxcXFwic1xcXCIpO0UuWEY9Q1tFLml4ZmVdO2lmKHIuY2VsbEZvcm11bGEpe0UuZj1cXFwiXFxcIit6dShmLmZvcm11bGEscyxmLmNlbGwsSCxSKX1pZihYPjApRS56PUdbRS5peGZlPj44JjMxXTtCcChFLHIsdC5vcHRzLkRhdGUxOTA0KTtJKGYuY2VsbCxFLHIpO2Y9bnVsbH1lbHNlIHRocm93IG5ldyBFcnJvcihcXFwiU3RyaW5nIHJlY29yZCBleHBlY3RzIEZvcm11bGFcXFwiKX1icmVhaztjYXNlXFxcIkFycmF5XFxcIjp7ay5wdXNoKHJlKTt2YXIgaGU9YnQocmVbMF0ucyk7dj1yLmRlbnNlPyhuW3JlWzBdLnMucl18fFtdKVtyZVswXS5zLmNdOm5baGVdO2lmKHIuY2VsbEZvcm11bGEmJnYpe2lmKCFmKWJyZWFrO2lmKCFoZXx8IXYpYnJlYWs7di5mPVxcXCJcXFwiK3p1KHJlWzFdLHMscmVbMF0sSCxSKTt2LkY9d3QocmVbMF0pfX1icmVhaztjYXNlXFxcIlNockZtbGFcXFwiOntpZighXylicmVhaztpZighci5jZWxsRm9ybXVsYSlicmVhaztpZihkKXtpZighZilicmVhazt3W2J0KGYuY2VsbCldPXJlWzBdO3Y9ci5kZW5zZT8obltmLmNlbGwucl18fFtdKVtmLmNlbGwuY106bltidChmLmNlbGwpXTsodnx8e30pLmY9XFxcIlxcXCIrenUocmVbMF0scyxoLEgsUil9fWJyZWFrO2Nhc2VcXFwiTGFiZWxTc3RcXFwiOkU9VHAobFtyZS5pc3N0XS50LHJlLml4ZmUsXFxcInNcXFwiKTtpZihsW3JlLmlzc3RdLmgpRS5oPWxbcmUuaXNzdF0uaDtFLlhGPUNbRS5peGZlXTtpZihYPjApRS56PUdbRS5peGZlPj44JjMxXTtCcChFLHIsdC5vcHRzLkRhdGUxOTA0KTtJKHtjOnJlLmMscjpyZS5yfSxFLHIpO2JyZWFrO2Nhc2VcXFwiQmxhbmtcXFwiOmlmKHIuc2hlZXRTdHVicyl7RT17aXhmZTpyZS5peGZlLFhGOkNbcmUuaXhmZV0sdDpcXFwielxcXCJ9O2lmKFg+MClFLno9R1tFLml4ZmU+PjgmMzFdO0JwKEUscix0Lm9wdHMuRGF0ZTE5MDQpO0koe2M6cmUuYyxyOnJlLnJ9LEUscil9YnJlYWs7Y2FzZVxcXCJNdWxCbGFua1xcXCI6aWYoci5zaGVldFN0dWJzKXtmb3IodmFyIGRlPXJlLmM7ZGU8PXJlLkM7KytkZSl7dmFyIHZlPXJlLml4ZmVbZGUtcmUuY107RT17aXhmZTp2ZSxYRjpDW3ZlXSx0OlxcXCJ6XFxcIn07aWYoWD4wKUUuej1HW0UuaXhmZT4+OCYzMV07QnAoRSxyLHQub3B0cy5EYXRlMTkwNCk7SSh7YzpkZSxyOnJlLnJ9LEUscil9fWJyZWFrO2Nhc2VcXFwiUlN0cmluZ1xcXCI6O2Nhc2VcXFwiTGFiZWxcXFwiOjtjYXNlXFxcIkJJRkYyU1RSXFxcIjpFPVRwKHJlLnZhbCxyZS5peGZlLFxcXCJzXFxcIik7RS5YRj1DW0UuaXhmZV07aWYoWD4wKUUuej1HW0UuaXhmZT4+OCYzMV07QnAoRSxyLHQub3B0cy5EYXRlMTkwNCk7SSh7YzpyZS5jLHI6cmUucn0sRSxyKTticmVhaztjYXNlXFxcIkRpbWVuc2lvbnNcXFwiOntpZihWPT09MSlzPXJlfWJyZWFrO2Nhc2VcXFwiU1NUXFxcIjp7bD1yZX1icmVhaztjYXNlXFxcIkZvcm1hdFxcXCI6e2lmKFIuYmlmZj09NCl7R1tYKytdPXJlWzFdO2Zvcih2YXIgcGU9MDtwZTxYKzE2MzsrK3BlKWlmKEQuX3RhYmxlW3BlXT09cmVbMV0pYnJlYWs7aWYocGU+PTE2MylELmxvYWQocmVbMV0sWCsxNjMpfWVsc2UgRC5sb2FkKHJlWzFdLHJlWzBdKX1icmVhaztjYXNlXFxcIkJJRkYyRk9STUFUXFxcIjp7R1tYKytdPXJlO2Zvcih2YXIgbWU9MDttZTxYKzE2MzsrK21lKWlmKEQuX3RhYmxlW21lXT09cmUpYnJlYWs7aWYobWU+PTE2MylELmxvYWQocmUsWCsxNjMpfWJyZWFrO2Nhc2VcXFwiTWVyZ2VDZWxsc1xcXCI6Rj1GLmNvbmNhdChyZSk7YnJlYWs7Y2FzZVxcXCJPYmpcXFwiOlBbcmUuY21vWzBdXT1SLmxhc3RvYmo9cmU7YnJlYWs7Y2FzZVxcXCJUeE9cXFwiOlIubGFzdG9iai5UeE89cmU7YnJlYWs7Y2FzZVxcXCJJbURhdGFcXFwiOlIubGFzdG9iai5JbURhdGE9cmU7YnJlYWs7Y2FzZVxcXCJITGlua1xcXCI6e2ZvcihnPXJlWzBdLnMucjtnPD1yZVswXS5lLnI7KytnKWZvcihiPXJlWzBdLnMuYztiPD1yZVswXS5lLmM7KytiKXt2PXIuZGVuc2U/KG5bZ118fFtdKVtiXTpuW2J0KHtjOmIscjpnfSldO2lmKHYpdi5sPXJlWzFdfX1icmVhaztjYXNlXFxcIkhMaW5rVG9vbHRpcFxcXCI6e2ZvcihnPXJlWzBdLnMucjtnPD1yZVswXS5lLnI7KytnKWZvcihiPXJlWzBdLnMuYztiPD1yZVswXS5lLmM7KytiKXt2PXIuZGVuc2U/KG5bZ118fFtdKVtiXTpuW2J0KHtjOmIscjpnfSldO2lmKHYmJnYubCl2LmwuVG9vbHRpcD1yZVsxXX19YnJlYWs7Y2FzZVxcXCJOb3RlXFxcIjp7aWYoUi5iaWZmPD01JiZSLmJpZmY+PTIpYnJlYWs7dj1yLmRlbnNlPyhuW3JlWzBdLnJdfHxbXSlbcmVbMF0uY106bltidChyZVswXSldO3ZhciBiZT1QW3JlWzJdXTtpZighdil7aWYoci5kZW5zZSl7aWYoIW5bcmVbMF0ucl0pbltyZVswXS5yXT1bXTt2PW5bcmVbMF0ucl1bcmVbMF0uY109e3Q6XFxcInpcXFwifX1lbHNle3Y9bltidChyZVswXSldPXt0OlxcXCJ6XFxcIn19cy5lLnI9TWF0aC5tYXgocy5lLnIscmVbMF0ucik7cy5zLnI9TWF0aC5taW4ocy5zLnIscmVbMF0ucik7cy5lLmM9TWF0aC5tYXgocy5lLmMscmVbMF0uYyk7cy5zLmM9TWF0aC5taW4ocy5zLmMscmVbMF0uYyl9aWYoIXYuYyl2LmM9W107cD17YTpyZVsxXSx0OmJlLlR4Ty50fTt2LmMucHVzaChwKX1icmVhaztkZWZhdWx0OnN3aXRjaChxLm4pe2Nhc2VcXFwiQ2xydENsaWVudFxcXCI6YnJlYWs7Y2FzZVxcXCJYRkV4dFxcXCI6UmwoQ1tyZS5peGZlXSxyZS5leHQpO2JyZWFrO2Nhc2VcXFwiRGVmQ29sV2lkdGhcXFwiOk09cmU7YnJlYWs7Y2FzZVxcXCJEZWZhdWx0Um93SGVpZ2h0XFxcIjpVPXJlWzFdO2JyZWFrO2Nhc2VcXFwiQ29sSW5mb1xcXCI6e2lmKCFSLmNlbGxTdHlsZXMpYnJlYWs7d2hpbGUocmUuZT49cmUucyl7TltyZS5lLS1dPXt3aWR0aDpyZS53LzI1Nn07aWYoIXope3o9dHJ1ZTtFbyhyZS53LzI1Nil9U28oTltyZS5lKzFdKX19YnJlYWs7Y2FzZVxcXCJSb3dcXFwiOnt2YXIgZ2U9e307aWYocmUubGV2ZWwhPW51bGwpe0xbcmUucl09Z2U7Z2UubGV2ZWw9cmUubGV2ZWx9aWYocmUuaGlkZGVuKXtMW3JlLnJdPWdlO2dlLmhpZGRlbj10cnVlfWlmKHJlLmhwdCl7TFtyZS5yXT1nZTtnZS5ocHQ9cmUuaHB0O2dlLmhweD1UbyhyZS5ocHQpfX1icmVhaztjYXNlXFxcIkxlZnRNYXJnaW5cXFwiOjtjYXNlXFxcIlJpZ2h0TWFyZ2luXFxcIjo7Y2FzZVxcXCJUb3BNYXJnaW5cXFwiOjtjYXNlXFxcIkJvdHRvbU1hcmdpblxcXCI6aWYoIW5bXFxcIiFtYXJnaW5zXFxcIl0pZGgobltcXFwiIW1hcmdpbnNcXFwiXT17fSk7bltcXFwiIW1hcmdpbnNcXFwiXVt0ZS5zbGljZSgwLC02KS50b0xvd2VyQ2FzZSgpXT1yZTticmVhaztjYXNlXFxcIlNldHVwXFxcIjppZighbltcXFwiIW1hcmdpbnNcXFwiXSlkaChuW1xcXCIhbWFyZ2luc1xcXCJdPXt9KTtuW1xcXCIhbWFyZ2luc1xcXCJdLmhlYWRlcj1yZS5oZWFkZXI7bltcXFwiIW1hcmdpbnNcXFwiXS5mb290ZXI9cmUuZm9vdGVyO2JyZWFrO2Nhc2VcXFwiV2luZG93MlxcXCI6aWYocmUuUlRMKVQuVmlld3NbMF0uUlRMPXRydWU7YnJlYWs7Y2FzZVxcXCJIZWFkZXJcXFwiOmJyZWFrO2Nhc2VcXFwiRm9vdGVyXFxcIjpicmVhaztjYXNlXFxcIkhDZW50ZXJcXFwiOmJyZWFrO2Nhc2VcXFwiVkNlbnRlclxcXCI6YnJlYWs7Y2FzZVxcXCJQbHNcXFwiOmJyZWFrO2Nhc2VcXFwiR0NXXFxcIjpicmVhaztjYXNlXFxcIkxIUmVjb3JkXFxcIjpicmVhaztjYXNlXFxcIkRCQ2VsbFxcXCI6YnJlYWs7Y2FzZVxcXCJFbnRFeFUyXFxcIjpicmVhaztjYXNlXFxcIlN4Vmlld1xcXCI6YnJlYWs7Y2FzZVxcXCJTeHZkXFxcIjpicmVhaztjYXNlXFxcIlNYVklcXFwiOmJyZWFrO2Nhc2VcXFwiU1hWREV4XFxcIjpicmVhaztjYXNlXFxcIlN4SXZkXFxcIjpicmVhaztjYXNlXFxcIlNYU3RyaW5nXFxcIjpicmVhaztjYXNlXFxcIlN5bmNcXFwiOmJyZWFrO2Nhc2VcXFwiQWRkaW5cXFwiOmJyZWFrO2Nhc2VcXFwiU1hESVxcXCI6YnJlYWs7Y2FzZVxcXCJTWExJXFxcIjpicmVhaztjYXNlXFxcIlNYRXhcXFwiOmJyZWFrO2Nhc2VcXFwiUXNpU1hUYWdcXFwiOmJyZWFrO2Nhc2VcXFwiU2VsZWN0aW9uXFxcIjpicmVhaztjYXNlXFxcIkZlYXRcXFwiOmJyZWFrO2Nhc2VcXFwiRmVhdEhkclxcXCI6O2Nhc2VcXFwiRmVhdEhkcjExXFxcIjpicmVhaztjYXNlXFxcIkZlYXR1cmUxMVxcXCI6O2Nhc2VcXFwiRmVhdHVyZTEyXFxcIjo7Y2FzZVxcXCJMaXN0MTJcXFwiOmJyZWFrO2Nhc2VcXFwiQ291bnRyeVxcXCI6Uz1yZTticmVhaztjYXNlXFxcIlJlY2FsY0lkXFxcIjpicmVhaztjYXNlXFxcIkR4R0NvbFxcXCI6YnJlYWs7Y2FzZVxcXCJGYmlcXFwiOjtjYXNlXFxcIkZiaTJcXFwiOjtjYXNlXFxcIkdlbEZyYW1lXFxcIjpicmVhaztjYXNlXFxcIkZvbnRcXFwiOmJyZWFrO2Nhc2VcXFwiWEZDUkNcXFwiOmJyZWFrO2Nhc2VcXFwiU3R5bGVcXFwiOmJyZWFrO2Nhc2VcXFwiU3R5bGVFeHRcXFwiOmJyZWFrO2Nhc2VcXFwiUGFsZXR0ZVxcXCI6Qj1yZTticmVhaztjYXNlXFxcIlRoZW1lXFxcIjpPPXJlO2JyZWFrO2Nhc2VcXFwiU2NlbmFyaW9Qcm90ZWN0XFxcIjpicmVhaztjYXNlXFxcIk9ialByb3RlY3RcXFwiOmJyZWFrO2Nhc2VcXFwiQ29uZEZtdDEyXFxcIjpicmVhaztjYXNlXFxcIlRhYmxlXFxcIjpicmVhaztjYXNlXFxcIlRhYmxlU3R5bGVzXFxcIjpicmVhaztjYXNlXFxcIlRhYmxlU3R5bGVcXFwiOmJyZWFrO2Nhc2VcXFwiVGFibGVTdHlsZUVsZW1lbnRcXFwiOmJyZWFrO2Nhc2VcXFwiU1hTdHJlYW1JRFxcXCI6YnJlYWs7Y2FzZVxcXCJTWFZTXFxcIjpicmVhaztjYXNlXFxcIkRDb25SZWZcXFwiOmJyZWFrO2Nhc2VcXFwiU1hBZGRsXFxcIjpicmVhaztjYXNlXFxcIkRDb25CaW5cXFwiOmJyZWFrO2Nhc2VcXFwiRENvbk5hbWVcXFwiOmJyZWFrO2Nhc2VcXFwiU1hQSVxcXCI6YnJlYWs7Y2FzZVxcXCJTeEZvcm1hdFxcXCI6YnJlYWs7Y2FzZVxcXCJTeFNlbGVjdFxcXCI6YnJlYWs7Y2FzZVxcXCJTeFJ1bGVcXFwiOmJyZWFrO2Nhc2VcXFwiU3hGaWx0XFxcIjpicmVhaztjYXNlXFxcIlN4SXRtXFxcIjpicmVhaztjYXNlXFxcIlN4RFhGXFxcIjpicmVhaztjYXNlXFxcIlNjZW5NYW5cXFwiOmJyZWFrO2Nhc2VcXFwiRENvblxcXCI6YnJlYWs7Y2FzZVxcXCJDZWxsV2F0Y2hcXFwiOmJyZWFrO2Nhc2VcXFwiUHJpbnRSb3dDb2xcXFwiOmJyZWFrO2Nhc2VcXFwiUHJpbnRHcmlkXFxcIjpicmVhaztjYXNlXFxcIlByaW50U2l6ZVxcXCI6YnJlYWs7Y2FzZVxcXCJYQ1RcXFwiOmJyZWFrO2Nhc2VcXFwiQ1JOXFxcIjpicmVhaztjYXNlXFxcIlNjbFxcXCI6e31icmVhaztjYXNlXFxcIlNoZWV0RXh0XFxcIjp7fWJyZWFrO2Nhc2VcXFwiU2hlZXRFeHRPcHRpb25hbFxcXCI6e31icmVhaztjYXNlXFxcIk9iTm9NYWNyb3NcXFwiOnt9YnJlYWs7Y2FzZVxcXCJPYlByb2pcXFwiOnt9YnJlYWs7Y2FzZVxcXCJDb2RlTmFtZVxcXCI6e2lmKCFjKVQuV0JQcm9wcy5Db2RlTmFtZT1yZXx8XFxcIlRoaXNXb3JrYm9va1xcXCI7ZWxzZSB5LkNvZGVOYW1lPXJlfHx5Lm5hbWV9YnJlYWs7Y2FzZVxcXCJHVUlEVHlwZUxpYlxcXCI6e31icmVhaztjYXNlXFxcIldPcHRcXFwiOmJyZWFrO2Nhc2VcXFwiUGhvbmV0aWNJbmZvXFxcIjpicmVhaztjYXNlXFxcIk9sZU9iamVjdFNpemVcXFwiOmJyZWFrO2Nhc2VcXFwiRFhGXFxcIjo7Y2FzZVxcXCJEWEZOXFxcIjo7Y2FzZVxcXCJEWEZOMTJcXFwiOjtjYXNlXFxcIkRYRk4xMkxpc3RcXFwiOjtjYXNlXFxcIkRYRk4xMk5vQ0JcXFwiOmJyZWFrO2Nhc2VcXFwiRHZcXFwiOjtjYXNlXFxcIkRWYWxcXFwiOmJyZWFrO2Nhc2VcXFwiQlJBSVxcXCI6O2Nhc2VcXFwiU2VyaWVzXFxcIjo7Y2FzZVxcXCJTZXJpZXNUZXh0XFxcIjpicmVhaztjYXNlXFxcIkRDb25uXFxcIjpicmVhaztjYXNlXFxcIkRiT3JQYXJhbVFyeVxcXCI6YnJlYWs7Y2FzZVxcXCJEQlF1ZXJ5RXh0XFxcIjpicmVhaztjYXNlXFxcIk9sZURiQ29ublxcXCI6YnJlYWs7Y2FzZVxcXCJFeHRTdHJpbmdcXFwiOmJyZWFrO2Nhc2VcXFwiSUZtdFJlY29yZFxcXCI6YnJlYWs7Y2FzZVxcXCJDb25kRm10XFxcIjo7Y2FzZVxcXCJDRlxcXCI6O2Nhc2VcXFwiQ0YxMlxcXCI6O2Nhc2VcXFwiQ0ZFeFxcXCI6YnJlYWs7Y2FzZVxcXCJFeGNlbDlGaWxlXFxcIjpicmVhaztjYXNlXFxcIlVuaXRzXFxcIjpicmVhaztjYXNlXFxcIkludGVyZmFjZUhkclxcXCI6O2Nhc2VcXFwiTW1zXFxcIjo7Y2FzZVxcXCJJbnRlcmZhY2VFbmRcXFwiOjtjYXNlXFxcIkRTRlxcXCI6YnJlYWs7Y2FzZVxcXCJCdWlsdEluRm5Hcm91cENvdW50XFxcIjpicmVhaztjYXNlXFxcIldpbmRvdzFcXFwiOjtjYXNlXFxcIkhpZGVPYmpcXFwiOjtjYXNlXFxcIkdyaWRTZXRcXFwiOjtjYXNlXFxcIkd1dHNcXFwiOjtjYXNlXFxcIlVzZXJCVmlld1xcXCI6O2Nhc2VcXFwiVXNlclNWaWV3QmVnaW5cXFwiOjtjYXNlXFxcIlVzZXJTVmlld0VuZFxcXCI6YnJlYWs7Y2FzZVxcXCJQYW5lXFxcIjpicmVhaztkZWZhdWx0OnN3aXRjaChxLm4pe2Nhc2VcXFwiRGF0XFxcIjo7Y2FzZVxcXCJCZWdpblxcXCI6O2Nhc2VcXFwiRW5kXFxcIjo7Y2FzZVxcXCJTdGFydEJsb2NrXFxcIjo7Y2FzZVxcXCJFbmRCbG9ja1xcXCI6O2Nhc2VcXFwiRnJhbWVcXFwiOjtjYXNlXFxcIkFyZWFcXFwiOjtjYXNlXFxcIkF4aXNcXFwiOjtjYXNlXFxcIkF4aXNMaW5lXFxcIjo7Y2FzZVxcXCJUaWNrXFxcIjpicmVhaztjYXNlXFxcIkF4ZXNVc2VkXFxcIjo7Y2FzZVxcXCJDcnRMYXlvdXQxMlxcXCI6O2Nhc2VcXFwiQ3J0TGF5b3V0MTJBXFxcIjo7Y2FzZVxcXCJDcnRMaW5rXFxcIjo7Y2FzZVxcXCJDcnRMaW5lXFxcIjo7Y2FzZVxcXCJDcnRNbEZydFxcXCI6O2Nhc2VcXFwiQ3J0TWxGcnRDb250aW51ZVxcXCI6YnJlYWs7Y2FzZVxcXCJMaW5lRm9ybWF0XFxcIjo7Y2FzZVxcXCJBcmVhRm9ybWF0XFxcIjo7Y2FzZVxcXCJDaGFydFxcXCI6O2Nhc2VcXFwiQ2hhcnQzZFxcXCI6O2Nhc2VcXFwiQ2hhcnQzREJhclNoYXBlXFxcIjo7Y2FzZVxcXCJDaGFydEZvcm1hdFxcXCI6O2Nhc2VcXFwiQ2hhcnRGcnRJbmZvXFxcIjpicmVhaztjYXNlXFxcIlBsb3RBcmVhXFxcIjo7Y2FzZVxcXCJQbG90R3Jvd3RoXFxcIjpicmVhaztjYXNlXFxcIlNlcmllc0xpc3RcXFwiOjtjYXNlXFxcIlNlclBhcmVudFxcXCI6O2Nhc2VcXFwiU2VyQXV4VHJlbmRcXFwiOmJyZWFrO2Nhc2VcXFwiRGF0YUZvcm1hdFxcXCI6O2Nhc2VcXFwiU2VyVG9DcnRcXFwiOjtjYXNlXFxcIkZvbnRYXFxcIjpicmVhaztjYXNlXFxcIkNhdFNlclJhbmdlXFxcIjo7Y2FzZVxcXCJBeGNFeHRcXFwiOjtjYXNlXFxcIlNlckZtdFxcXCI6YnJlYWs7Y2FzZVxcXCJTaHRQcm9wc1xcXCI6YnJlYWs7Y2FzZVxcXCJEZWZhdWx0VGV4dFxcXCI6O2Nhc2VcXFwiVGV4dFxcXCI6O2Nhc2VcXFwiQ2F0TGFiXFxcIjpicmVhaztjYXNlXFxcIkRhdGFMYWJFeHRDb250ZW50c1xcXCI6YnJlYWs7Y2FzZVxcXCJMZWdlbmRcXFwiOjtjYXNlXFxcIkxlZ2VuZEV4Y2VwdGlvblxcXCI6YnJlYWs7Y2FzZVxcXCJQaWVcXFwiOjtjYXNlXFxcIlNjYXR0ZXJcXFwiOmJyZWFrO2Nhc2VcXFwiUGllRm9ybWF0XFxcIjo7Y2FzZVxcXCJNYXJrZXJGb3JtYXRcXFwiOmJyZWFrO2Nhc2VcXFwiU3RhcnRPYmplY3RcXFwiOjtjYXNlXFxcIkVuZE9iamVjdFxcXCI6YnJlYWs7Y2FzZVxcXCJBbFJ1bnNcXFwiOjtjYXNlXFxcIk9iamVjdExpbmtcXFwiOmJyZWFrO2Nhc2VcXFwiU0lJbmRleFxcXCI6YnJlYWs7Y2FzZVxcXCJBdHRhY2hlZExhYmVsXFxcIjo7Y2FzZVxcXCJZTXVsdFxcXCI6YnJlYWs7Y2FzZVxcXCJMaW5lXFxcIjo7Y2FzZVxcXCJCYXJcXFwiOmJyZWFrO2Nhc2VcXFwiU3VyZlxcXCI6YnJlYWs7Y2FzZVxcXCJBeGlzUGFyZW50XFxcIjpicmVhaztjYXNlXFxcIlBvc1xcXCI6YnJlYWs7Y2FzZVxcXCJWYWx1ZVJhbmdlXFxcIjpicmVhaztjYXNlXFxcIlNYVmlld0V4OVxcXCI6YnJlYWs7Y2FzZVxcXCJTWFZpZXdMaW5rXFxcIjpicmVhaztjYXNlXFxcIlBpdm90Q2hhcnRCaXRzXFxcIjpicmVhaztjYXNlXFxcIlNCYXNlUmVmXFxcIjpicmVhaztjYXNlXFxcIlRleHRQcm9wc1N0cmVhbVxcXCI6YnJlYWs7Y2FzZVxcXCJMbkV4dFxcXCI6YnJlYWs7Y2FzZVxcXCJNa3JFeHRcXFwiOmJyZWFrO2Nhc2VcXFwiQ3J0Q29vcHRcXFwiOmJyZWFrO2Nhc2VcXFwiUXNpXFxcIjo7Y2FzZVxcXCJRc2lmXFxcIjo7Y2FzZVxcXCJRc2lyXFxcIjo7Y2FzZVxcXCJRc2lTWFRhZ1xcXCI6YnJlYWs7Y2FzZVxcXCJUeHRRcnlcXFwiOmJyZWFrO2Nhc2VcXFwiRmlsdGVyTW9kZVxcXCI6YnJlYWs7Y2FzZVxcXCJBdXRvRmlsdGVyXFxcIjo7Y2FzZVxcXCJBdXRvRmlsdGVySW5mb1xcXCI6YnJlYWs7Y2FzZVxcXCJBdXRvRmlsdGVyMTJcXFwiOmJyZWFrO2Nhc2VcXFwiRHJvcERvd25PYmpJZHNcXFwiOmJyZWFrO2Nhc2VcXFwiU29ydFxcXCI6YnJlYWs7Y2FzZVxcXCJTb3J0RGF0YVxcXCI6YnJlYWs7Y2FzZVxcXCJTaGFwZVByb3BzU3RyZWFtXFxcIjpicmVhaztjYXNlXFxcIk1zb0RyYXdpbmdcXFwiOjtjYXNlXFxcIk1zb0RyYXdpbmdHcm91cFxcXCI6O2Nhc2VcXFwiTXNvRHJhd2luZ1NlbGVjdGlvblxcXCI6YnJlYWs7Y2FzZVxcXCJXZWJQdWJcXFwiOjtjYXNlXFxcIkF1dG9XZWJQdWJcXFwiOmJyZWFrO2Nhc2VcXFwiSGVhZGVyRm9vdGVyXFxcIjo7Y2FzZVxcXCJIRlBpY3R1cmVcXFwiOjtjYXNlXFxcIlBMVlxcXCI6O2Nhc2VcXFwiSG9yaXpvbnRhbFBhZ2VCcmVha3NcXFwiOjtjYXNlXFxcIlZlcnRpY2FsUGFnZUJyZWFrc1xcXCI6YnJlYWs7Y2FzZVxcXCJCYWNrdXBcXFwiOjtjYXNlXFxcIkNvbXByZXNzUGljdHVyZXNcXFwiOjtjYXNlXFxcIkNvbXBhdDEyXFxcIjpicmVhaztjYXNlXFxcIkNvbnRpbnVlXFxcIjo7Y2FzZVxcXCJDb250aW51ZUZydDEyXFxcIjpicmVhaztjYXNlXFxcIkZydEZvbnRMaXN0XFxcIjo7Y2FzZVxcXCJGcnRXcmFwcGVyXFxcIjpicmVhaztkZWZhdWx0OnN3aXRjaChxLm4pe2Nhc2VcXFwiVGFiSWRDb25mXFxcIjo7Y2FzZVxcXCJSYWRhclxcXCI6O2Nhc2VcXFwiUmFkYXJBcmVhXFxcIjo7Y2FzZVxcXCJEcm9wQmFyXFxcIjo7Y2FzZVxcXCJJbnRsXFxcIjo7Y2FzZVxcXCJDb29yZExpc3RcXFwiOjtjYXNlXFxcIlNlckF1eEVyckJhclxcXCI6YnJlYWs7Y2FzZVxcXCJCSUZGMkZPTlRDTFJcXFwiOjtjYXNlXFxcIkJJRkYyRk1UQ05UXFxcIjo7Y2FzZVxcXCJCSUZGMkZPTlRYVFJBXFxcIjpicmVhaztjYXNlXFxcIkJJRkYyWEZcXFwiOjtjYXNlXFxcIkJJRkYzWEZcXFwiOjtjYXNlXFxcIkJJRkY0WEZcXFwiOmJyZWFrO2Nhc2VcXFwiQklGRjRGTVRDTlRcXFwiOjtjYXNlXFxcIkJJRkYyUk9XXFxcIjo7Y2FzZVxcXCJCSUZGMldJTkRPVzJcXFwiOmJyZWFrO2Nhc2VcXFwiU0NFTkFSSU9cXFwiOjtjYXNlXFxcIkRDb25CaW5cXFwiOjtjYXNlXFxcIlBpY0ZcXFwiOjtjYXNlXFxcIkRhdGFMYWJFeHRcXFwiOjtjYXNlXFxcIkxlbFxcXCI6O2Nhc2VcXFwiQm9wUG9wXFxcIjo7Y2FzZVxcXCJCb3BQb3BDdXN0b21cXFwiOjtjYXNlXFxcIlJlYWxUaW1lRGF0YVxcXCI6O2Nhc2VcXFwiTmFtZVxcXCI6YnJlYWs7Y2FzZVxcXCJMSE5HcmFwaFxcXCI6O2Nhc2VcXFwiRm5Hcm91cE5hbWVcXFwiOjtjYXNlXFxcIkFkZE1lbnVcXFwiOjtjYXNlXFxcIkxQclxcXCI6YnJlYWs7Y2FzZVxcXCJMaXN0T2JqXFxcIjo7Y2FzZVxcXCJMaXN0RmllbGRcXFwiOmJyZWFrO2Nhc2VcXFwiUlJTb3J0XFxcIjpicmVhaztjYXNlXFxcIkJpZ05hbWVcXFwiOmJyZWFrO2Nhc2VcXFwiVG9vbGJhckhkclxcXCI6O2Nhc2VcXFwiVG9vbGJhckVuZFxcXCI6YnJlYWs7Y2FzZVxcXCJEREVPYmpOYW1lXFxcIjpicmVhaztjYXNlXFxcIkZSVEFyY2hJZCRcXFwiOmJyZWFrO2RlZmF1bHQ6aWYoci5XVEYpdGhyb3dcXFwiVW5yZWNvZ25pemVkIFJlY29yZCBcXFwiK3Eubjt9O307fTt9fWVsc2UgZS5sKz1RfXQuU2hlZXROYW1lcz1LKGkpLnNvcnQoZnVuY3Rpb24oZSxyKXtyZXR1cm4gTnVtYmVyKGUpLU51bWJlcihyKX0pLm1hcChmdW5jdGlvbihlKXtyZXR1cm4gaVtlXS5uYW1lfSk7aWYoIXIuYm9va1NoZWV0cyl0LlNoZWV0cz1hO2lmKHQuU2hlZXRzKWouZm9yRWFjaChmdW5jdGlvbihlLHIpe3QuU2hlZXRzW3QuU2hlZXROYW1lc1tyXV1bXFxcIiFhdXRvZmlsdGVyXFxcIl09ZX0pO3QuUHJlYW1ibGU9dTt0LlN0cmluZ3M9bDt0LlNTRj1ELmdldF90YWJsZSgpO2lmKFIuZW5jKXQuRW5jcnlwdGlvbj1SLmVuYztpZihPKXQuVGhlbWVzPU87dC5NZXRhZGF0YT17fTtpZihTIT09dW5kZWZpbmVkKXQuTWV0YWRhdGEuQ291bnRyeT1TO2lmKEgubmFtZXMubGVuZ3RoPjApVC5OYW1lcz1ILm5hbWVzO3QuV29ya2Jvb2s9VDtyZXR1cm4gdH12YXIgeHA9e1NJOlxcXCJlMDg1OWZmMmY5NGY2ODEwYWI5MTA4MDAyYjI3YjNkOVxcXCIsRFNJOlxcXCIwMmQ1Y2RkNTljMmUxYjEwOTM5NzA4MDAyYjJjZjlhZVxcXCIsVURJOlxcXCIwNWQ1Y2RkNTljMmUxYjEwOTM5NzA4MDAyYjJjZjlhZVxcXCJ9O2Z1bmN0aW9uIEFwKGUscix0KXt2YXIgYT1XLmZpbmQoZSxcXFwiIURvY3VtZW50U3VtbWFyeUluZm9ybWF0aW9uXFxcIik7aWYoYSYmYS5zaXplPjApdHJ5e3ZhciBuPUhuKGEsZ2EseHAuRFNJKTtmb3IodmFyIGkgaW4gbilyW2ldPW5baV19Y2F0Y2gocyl7aWYodC5XVEYpdGhyb3cgc312YXIgZj1XLmZpbmQoZSxcXFwiIVN1bW1hcnlJbmZvcm1hdGlvblxcXCIpO2lmKGYmJmYuc2l6ZT4wKXRyeXt2YXIgbz1IbihmLHdhLHhwLlNJKTtmb3IodmFyIGwgaW4gbylpZihyW2xdPT1udWxsKXJbbF09b1tsXX1jYXRjaChzKXtpZih0LldURil0aHJvdyBzfWlmKHIuSGVhZGluZ1BhaXJzJiZyLlRpdGxlc09mUGFydHMpe2ZuKHIuSGVhZGluZ1BhaXJzLHIuVGl0bGVzT2ZQYXJ0cyxyLHQpO2RlbGV0ZSByLkhlYWRpbmdQYWlycztkZWxldGUgci5UaXRsZXNPZlBhcnRzfX1mdW5jdGlvbiBJcChlLHIpe3ZhciB0PVtdLGE9W10sbj1bXTt2YXIgaT0wLHM7aWYoZS5Qcm9wcyl7cz1LKGUuUHJvcHMpO2ZvcihpPTA7aTxzLmxlbmd0aDsrK2kpKE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChFYSxzW2ldKT90Ok9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChTYSxzW2ldKT9hOm4pLnB1c2goW3NbaV0sZS5Qcm9wc1tzW2ldXV0pfWlmKGUuQ3VzdHByb3BzKXtzPUsoZS5DdXN0cHJvcHMpO2ZvcihpPTA7aTxzLmxlbmd0aDsrK2kpaWYoIU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChlLlByb3BzfHx7fSxzW2ldKSkoT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKEVhLHNbaV0pP3Q6T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKFNhLHNbaV0pP2E6bikucHVzaChbc1tpXSxlLkN1c3Rwcm9wc1tzW2ldXV0pfXZhciBmPVtdO2ZvcihpPTA7aTxuLmxlbmd0aDsrK2kpe2lmKE1uLmluZGV4T2YobltpXVswXSk+LTEpY29udGludWU7aWYobltpXVsxXT09bnVsbCljb250aW51ZTtmLnB1c2gobltpXSl9aWYoYS5sZW5ndGgpVy51dGlscy5jZmJfYWRkKHIsXFxcIi9cXHUwMDA1U3VtbWFyeUluZm9ybWF0aW9uXFxcIixXbihhLHhwLlNJLFNhLHdhKSk7aWYodC5sZW5ndGh8fGYubGVuZ3RoKVcudXRpbHMuY2ZiX2FkZChyLFxcXCIvXFx1MDAwNURvY3VtZW50U3VtbWFyeUluZm9ybWF0aW9uXFxcIixXbih0LHhwLkRTSSxFYSxnYSxmLmxlbmd0aD9mOm51bGwseHAuVURJKSl9ZnVuY3Rpb24gUnAoZSxyKXtpZighcilyPXt9O0JtKHIpO2woKTtpZihyLmNvZGVwYWdlKXMoci5jb2RlcGFnZSk7dmFyIHQsYTtpZihlLkZ1bGxQYXRocyl7aWYoVy5maW5kKGUsXFxcIi9lbmNyeXB0aW9uXFxcIikpdGhyb3cgbmV3IEVycm9yKFxcXCJGaWxlIGlzIHBhc3N3b3JkLXByb3RlY3RlZFxcXCIpO3Q9Vy5maW5kKGUsXFxcIiFDb21wT2JqXFxcIik7YT1XLmZpbmQoZSxcXFwiL1dvcmtib29rXFxcIil8fFcuZmluZChlLFxcXCIvQm9va1xcXCIpfWVsc2V7c3dpdGNoKHIudHlwZSl7Y2FzZVxcXCJiYXNlNjRcXFwiOmU9QihnLmRlY29kZShlKSk7YnJlYWs7Y2FzZVxcXCJiaW5hcnlcXFwiOmU9QihlKTticmVhaztjYXNlXFxcImJ1ZmZlclxcXCI6YnJlYWs7Y2FzZVxcXCJhcnJheVxcXCI6aWYoIUFycmF5LmlzQXJyYXkoZSkpZT1BcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChlKTticmVhazt9WXIoZSwwKTthPXtjb250ZW50OmV9fXZhciBuO3ZhciBpO2lmKHQpX3AodCk7aWYoci5ib29rUHJvcHMmJiFyLmJvb2tTaGVldHMpbj17fTtlbHNle3ZhciBmPXc/XFxcImJ1ZmZlclxcXCI6XFxcImFycmF5XFxcIjtpZihhJiZhLmNvbnRlbnQpbj15cChhLmNvbnRlbnQscik7ZWxzZSBpZigoaT1XLmZpbmQoZSxcXFwiUGVyZmVjdE9mZmljZV9NQUlOXFxcIikpJiZpLmNvbnRlbnQpbj1nZi50b193b3JrYm9vayhpLmNvbnRlbnQsKHIudHlwZT1mLHIpKTtlbHNlIGlmKChpPVcuZmluZChlLFxcXCJOYXRpdmVDb250ZW50X01BSU5cXFwiKSkmJmkuY29udGVudCluPWdmLnRvX3dvcmtib29rKGkuY29udGVudCwoci50eXBlPWYscikpO2Vsc2UgdGhyb3cgbmV3IEVycm9yKFxcXCJDYW5ub3QgZmluZCBXb3JrYm9vayBzdHJlYW1cXFwiKTtpZihyLmJvb2tWQkEmJmUuRnVsbFBhdGhzJiZXLmZpbmQoZSxcXFwiL19WQkFfUFJPSkVDVF9DVVIvVkJBL2RpclxcXCIpKW4udmJhcmF3PUpsKGUpfXZhciBvPXt9O2lmKGUuRnVsbFBhdGhzKUFwKGUsbyxyKTtuLlByb3BzPW4uQ3VzdHByb3BzPW87aWYoci5ib29rRmlsZXMpbi5jZmI9ZTtyZXR1cm4gbn1mdW5jdGlvbiBPcChlLHIpe3ZhciB0PXJ8fHt9O3ZhciBhPVcudXRpbHMuY2ZiX25ldyh7cm9vdDpcXFwiUlxcXCJ9KTt2YXIgbj1cXFwiL1dvcmtib29rXFxcIjtzd2l0Y2godC5ib29rVHlwZXx8XFxcInhsc1xcXCIpe2Nhc2VcXFwieGxzXFxcIjp0LmJvb2tUeXBlPVxcXCJiaWZmOFxcXCI7Y2FzZVxcXCJ4bGFcXFwiOmlmKCF0LmJvb2tUeXBlKXQuYm9va1R5cGU9XFxcInhsYVxcXCI7Y2FzZVxcXCJiaWZmOFxcXCI6bj1cXFwiL1dvcmtib29rXFxcIjt0LmJpZmY9ODticmVhaztjYXNlXFxcImJpZmY1XFxcIjpuPVxcXCIvQm9va1xcXCI7dC5iaWZmPTU7YnJlYWs7ZGVmYXVsdDp0aHJvdyBuZXcgRXJyb3IoXFxcImludmFsaWQgdHlwZSBcXFwiK3QuYm9va1R5cGUrXFxcIiBmb3IgWExTIENGQlxcXCIpO31XLnV0aWxzLmNmYl9hZGQoYSxuLGVtKGUsdCkpO2lmKHQuYmlmZj09OCYmKGUuUHJvcHN8fGUuQ3VzdHByb3BzKSlJcChlLGEpO2lmKHQuYmlmZj09OCYmZS52YmFyYXcpUWwoYSxXLnJlYWQoZS52YmFyYXcse3R5cGU6dHlwZW9mIGUudmJhcmF3PT1cXFwic3RyaW5nXFxcIj9cXFwiYmluYXJ5XFxcIjpcXFwiYnVmZmVyXFxcIn0pKTtyZXR1cm4gYX12YXIgRHA9ezA6e246XFxcIkJydFJvd0hkclxcXCIsZjpZaH0sMTp7bjpcXFwiQnJ0Q2VsbEJsYW5rXFxcIixmOmFkfSwyOntuOlxcXCJCcnRDZWxsUmtcXFwiLGY6aGR9LDM6e246XFxcIkJydENlbGxFcnJvclxcXCIsZjpmZH0sNDp7bjpcXFwiQnJ0Q2VsbEJvb2xcXFwiLGY6aWR9LDU6e246XFxcIkJydENlbGxSZWFsXFxcIixmOmNkfSw2OntuOlxcXCJCcnRDZWxsU3RcXFwiLGY6dmR9LDc6e246XFxcIkJydENlbGxJc3N0XFxcIixmOm9kfSw4OntuOlxcXCJCcnRGbWxhU3RyaW5nXFxcIixmOndkfSw5OntuOlxcXCJCcnRGbWxhTnVtXFxcIixmOmdkfSwxMDp7bjpcXFwiQnJ0Rm1sYUJvb2xcXFwiLGY6bWR9LDExOntuOlxcXCJCcnRGbWxhRXJyb3JcXFwiLGY6YmR9LDE2OntuOlxcXCJCcnRGUlRBcmNoSUQkXFxcIixmOkJ2fSwxOTp7bjpcXFwiQnJ0U1NUSXRlbVxcXCIsZjpSdH0sMjA6e246XFxcIkJydFBDRElNaXNzaW5nXFxcIn0sMjE6e246XFxcIkJydFBDRElOdW1iZXJcXFwifSwyMjp7bjpcXFwiQnJ0UENESUJvb2xlYW5cXFwifSwyMzp7bjpcXFwiQnJ0UENESUVycm9yXFxcIn0sMjQ6e246XFxcIkJydFBDRElTdHJpbmdcXFwifSwyNTp7bjpcXFwiQnJ0UENESURhdGV0aW1lXFxcIn0sMjY6e246XFxcIkJydFBDRElJbmRleFxcXCJ9LDI3OntuOlxcXCJCcnRQQ0RJQU1pc3NpbmdcXFwifSwyODp7bjpcXFwiQnJ0UENESUFOdW1iZXJcXFwifSwyOTp7bjpcXFwiQnJ0UENESUFCb29sZWFuXFxcIn0sMzA6e246XFxcIkJydFBDRElBRXJyb3JcXFwifSwzMTp7bjpcXFwiQnJ0UENESUFTdHJpbmdcXFwifSwzMjp7bjpcXFwiQnJ0UENESUFEYXRldGltZVxcXCJ9LDMzOntuOlxcXCJCcnRQQ1JSZWNvcmRcXFwifSwzNDp7bjpcXFwiQnJ0UENSUmVjb3JkRHRcXFwifSwzNTp7bjpcXFwiQnJ0RlJUQmVnaW5cXFwifSwzNjp7bjpcXFwiQnJ0RlJURW5kXFxcIn0sMzc6e246XFxcIkJydEFDQmVnaW5cXFwifSwzODp7bjpcXFwiQnJ0QUNFbmRcXFwifSwzOTp7bjpcXFwiQnJ0TmFtZVxcXCIsZjpUdn0sNDA6e246XFxcIkJydEluZGV4Um93QmxvY2tcXFwifSw0Mjp7bjpcXFwiQnJ0SW5kZXhCbG9ja1xcXCJ9LDQzOntuOlxcXCJCcnRGb250XFxcIixmOldvfSw0NDp7bjpcXFwiQnJ0Rm10XFxcIixmOnpvfSw0NTp7bjpcXFwiQnJ0RmlsbFxcXCIsZjpqb30sNDY6e246XFxcIkJydEJvcmRlclxcXCIsZjpKb30sNDc6e246XFxcIkJydFhGXFxcIixmOiRvfSw0ODp7bjpcXFwiQnJ0U3R5bGVcXFwifSw0OTp7bjpcXFwiQnJ0Q2VsbE1ldGFcXFwifSw1MDp7bjpcXFwiQnJ0VmFsdWVNZXRhXFxcIn0sNTE6e246XFxcIkJydE1kYlxcXCJ9LDUyOntuOlxcXCJCcnRCZWdpbkZtZFxcXCJ9LDUzOntuOlxcXCJCcnRFbmRGbWRcXFwifSw1NDp7bjpcXFwiQnJ0QmVnaW5NZHhcXFwifSw1NTp7bjpcXFwiQnJ0RW5kTWR4XFxcIn0sNTY6e246XFxcIkJydEJlZ2luTWR4VHVwbGVcXFwifSw1Nzp7bjpcXFwiQnJ0RW5kTWR4VHVwbGVcXFwifSw1ODp7bjpcXFwiQnJ0TWR4TWJySXN0clxcXCJ9LDU5OntuOlxcXCJCcnRTdHJcXFwifSw2MDp7bjpcXFwiQnJ0Q29sSW5mb1xcXCIsZjpZc30sNjI6e246XFxcIkJydENlbGxSU3RyaW5nXFxcIn0sNjM6e246XFxcIkJydENhbGNDaGFpbkl0ZW0kXFxcIixmOkRsfSw2NDp7bjpcXFwiQnJ0RFZhbFxcXCIsZjpOZH0sNjU6e246XFxcIkJydFN4dmNlbGxOdW1cXFwifSw2Njp7bjpcXFwiQnJ0U3h2Y2VsbFN0clxcXCJ9LDY3OntuOlxcXCJCcnRTeHZjZWxsQm9vbFxcXCJ9LDY4OntuOlxcXCJCcnRTeHZjZWxsRXJyXFxcIn0sNjk6e246XFxcIkJydFN4dmNlbGxEYXRlXFxcIn0sNzA6e246XFxcIkJydFN4dmNlbGxOaWxcXFwifSwxMjg6e246XFxcIkJydEZpbGVWZXJzaW9uXFxcIn0sMTI5OntuOlxcXCJCcnRCZWdpblNoZWV0XFxcIn0sMTMwOntuOlxcXCJCcnRFbmRTaGVldFxcXCJ9LDEzMTp7bjpcXFwiQnJ0QmVnaW5Cb29rXFxcIixmOlpyLHA6MH0sMTMyOntuOlxcXCJCcnRFbmRCb29rXFxcIn0sMTMzOntuOlxcXCJCcnRCZWdpbldzVmlld3NcXFwifSwxMzQ6e246XFxcIkJydEVuZFdzVmlld3NcXFwifSwxMzU6e246XFxcIkJydEJlZ2luQm9va1ZpZXdzXFxcIn0sMTM2OntuOlxcXCJCcnRFbmRCb29rVmlld3NcXFwifSwxMzc6e246XFxcIkJydEJlZ2luV3NWaWV3XFxcIixmOk9kfSwxMzg6e246XFxcIkJydEVuZFdzVmlld1xcXCJ9LDEzOTp7bjpcXFwiQnJ0QmVnaW5Dc1ZpZXdzXFxcIn0sMTQwOntuOlxcXCJCcnRFbmRDc1ZpZXdzXFxcIn0sMTQxOntuOlxcXCJCcnRCZWdpbkNzVmlld1xcXCJ9LDE0Mjp7bjpcXFwiQnJ0RW5kQ3NWaWV3XFxcIn0sMTQzOntuOlxcXCJCcnRCZWdpbkJ1bmRsZVNoc1xcXCJ9LDE0NDp7bjpcXFwiQnJ0RW5kQnVuZGxlU2hzXFxcIn0sMTQ1OntuOlxcXCJCcnRCZWdpblNoZWV0RGF0YVxcXCJ9LDE0Njp7bjpcXFwiQnJ0RW5kU2hlZXREYXRhXFxcIn0sMTQ3OntuOlxcXCJCcnRXc1Byb3BcXFwiLGY6cmR9LDE0ODp7bjpcXFwiQnJ0V3NEaW1cXFwiLGY6UWgscDoxNn0sMTUxOntuOlxcXCJCcnRQYW5lXFxcIixmOkJkfSwxNTI6e246XFxcIkJydFNlbFxcXCJ9LDE1Mzp7bjpcXFwiQnJ0V2JQcm9wXFxcIixmOl92fSwxNTQ6e246XFxcIkJydFdiRmFjdG9pZFxcXCJ9LDE1NTp7bjpcXFwiQnJ0RmlsZVJlY292ZXJcXFwifSwxNTY6e246XFxcIkJydEJ1bmRsZVNoXFxcIixmOkV2fSwxNTc6e246XFxcIkJydENhbGNQcm9wXFxcIn0sMTU4OntuOlxcXCJCcnRCb29rVmlld1xcXCJ9LDE1OTp7bjpcXFwiQnJ0QmVnaW5Tc3RcXFwiLGY6T2Z9LDE2MDp7bjpcXFwiQnJ0RW5kU3N0XFxcIn0sMTYxOntuOlxcXCJCcnRCZWdpbkFGaWx0ZXJcXFwiLGY6JHR9LDE2Mjp7bjpcXFwiQnJ0RW5kQUZpbHRlclxcXCJ9LDE2Mzp7bjpcXFwiQnJ0QmVnaW5GaWx0ZXJDb2x1bW5cXFwifSwxNjQ6e246XFxcIkJydEVuZEZpbHRlckNvbHVtblxcXCJ9LDE2NTp7bjpcXFwiQnJ0QmVnaW5GaWx0ZXJzXFxcIn0sMTY2OntuOlxcXCJCcnRFbmRGaWx0ZXJzXFxcIn0sMTY3OntuOlxcXCJCcnRGaWx0ZXJcXFwifSwxNjg6e246XFxcIkJydENvbG9yRmlsdGVyXFxcIn0sMTY5OntuOlxcXCJCcnRJY29uRmlsdGVyXFxcIn0sMTcwOntuOlxcXCJCcnRUb3AxMEZpbHRlclxcXCJ9LDE3MTp7bjpcXFwiQnJ0RHluYW1pY0ZpbHRlclxcXCJ9LDE3Mjp7bjpcXFwiQnJ0QmVnaW5DdXN0b21GaWx0ZXJzXFxcIn0sMTczOntuOlxcXCJCcnRFbmRDdXN0b21GaWx0ZXJzXFxcIn0sMTc0OntuOlxcXCJCcnRDdXN0b21GaWx0ZXJcXFwifSwxNzU6e246XFxcIkJydEFGaWx0ZXJEYXRlR3JvdXBJdGVtXFxcIn0sMTc2OntuOlxcXCJCcnRNZXJnZUNlbGxcXFwiLGY6a2R9LDE3Nzp7bjpcXFwiQnJ0QmVnaW5NZXJnZUNlbGxzXFxcIn0sMTc4OntuOlxcXCJCcnRFbmRNZXJnZUNlbGxzXFxcIn0sMTc5OntuOlxcXCJCcnRCZWdpblBpdm90Q2FjaGVEZWZcXFwifSwxODA6e246XFxcIkJydEVuZFBpdm90Q2FjaGVEZWZcXFwifSwxODE6e246XFxcIkJydEJlZ2luUENERmllbGRzXFxcIn0sMTgyOntuOlxcXCJCcnRFbmRQQ0RGaWVsZHNcXFwifSwxODM6e246XFxcIkJydEJlZ2luUENERmllbGRcXFwifSwxODQ6e246XFxcIkJydEVuZFBDREZpZWxkXFxcIn0sMTg1OntuOlxcXCJCcnRCZWdpblBDRFNvdXJjZVxcXCJ9LDE4Njp7bjpcXFwiQnJ0RW5kUENEU291cmNlXFxcIn0sMTg3OntuOlxcXCJCcnRCZWdpblBDRFNSYW5nZVxcXCJ9LDE4ODp7bjpcXFwiQnJ0RW5kUENEU1JhbmdlXFxcIn0sMTg5OntuOlxcXCJCcnRCZWdpblBDREZBdGJsXFxcIn0sMTkwOntuOlxcXCJCcnRFbmRQQ0RGQXRibFxcXCJ9LDE5MTp7bjpcXFwiQnJ0QmVnaW5QQ0RJUnVuXFxcIn0sMTkyOntuOlxcXCJCcnRFbmRQQ0RJUnVuXFxcIn0sMTkzOntuOlxcXCJCcnRCZWdpblBpdm90Q2FjaGVSZWNvcmRzXFxcIn0sMTk0OntuOlxcXCJCcnRFbmRQaXZvdENhY2hlUmVjb3Jkc1xcXCJ9LDE5NTp7bjpcXFwiQnJ0QmVnaW5QQ0RIaWVyYXJjaGllc1xcXCJ9LDE5Njp7bjpcXFwiQnJ0RW5kUENESGllcmFyY2hpZXNcXFwifSwxOTc6e246XFxcIkJydEJlZ2luUENESGllcmFyY2h5XFxcIn0sMTk4OntuOlxcXCJCcnRFbmRQQ0RIaWVyYXJjaHlcXFwifSwxOTk6e246XFxcIkJydEJlZ2luUENESEZpZWxkc1VzYWdlXFxcIn0sMjAwOntuOlxcXCJCcnRFbmRQQ0RIRmllbGRzVXNhZ2VcXFwifSwyMDE6e246XFxcIkJydEJlZ2luRXh0Q29ubmVjdGlvblxcXCJ9LDIwMjp7bjpcXFwiQnJ0RW5kRXh0Q29ubmVjdGlvblxcXCJ9LDIwMzp7bjpcXFwiQnJ0QmVnaW5FQ0RiUHJvcHNcXFwifSwyMDQ6e246XFxcIkJydEVuZEVDRGJQcm9wc1xcXCJ9LDIwNTp7bjpcXFwiQnJ0QmVnaW5FQ09sYXBQcm9wc1xcXCJ9LDIwNjp7bjpcXFwiQnJ0RW5kRUNPbGFwUHJvcHNcXFwifSwyMDc6e246XFxcIkJydEJlZ2luUENEU0NvbnNvbFxcXCJ9LDIwODp7bjpcXFwiQnJ0RW5kUENEU0NvbnNvbFxcXCJ9LDIwOTp7bjpcXFwiQnJ0QmVnaW5QQ0RTQ1BhZ2VzXFxcIlxcbn0sMjEwOntuOlxcXCJCcnRFbmRQQ0RTQ1BhZ2VzXFxcIn0sMjExOntuOlxcXCJCcnRCZWdpblBDRFNDUGFnZVxcXCJ9LDIxMjp7bjpcXFwiQnJ0RW5kUENEU0NQYWdlXFxcIn0sMjEzOntuOlxcXCJCcnRCZWdpblBDRFNDUEl0ZW1cXFwifSwyMTQ6e246XFxcIkJydEVuZFBDRFNDUEl0ZW1cXFwifSwyMTU6e246XFxcIkJydEJlZ2luUENEU0NTZXRzXFxcIn0sMjE2OntuOlxcXCJCcnRFbmRQQ0RTQ1NldHNcXFwifSwyMTc6e246XFxcIkJydEJlZ2luUENEU0NTZXRcXFwifSwyMTg6e246XFxcIkJydEVuZFBDRFNDU2V0XFxcIn0sMjE5OntuOlxcXCJCcnRCZWdpblBDREZHcm91cFxcXCJ9LDIyMDp7bjpcXFwiQnJ0RW5kUENERkdyb3VwXFxcIn0sMjIxOntuOlxcXCJCcnRCZWdpblBDREZHSXRlbXNcXFwifSwyMjI6e246XFxcIkJydEVuZFBDREZHSXRlbXNcXFwifSwyMjM6e246XFxcIkJydEJlZ2luUENERkdSYW5nZVxcXCJ9LDIyNDp7bjpcXFwiQnJ0RW5kUENERkdSYW5nZVxcXCJ9LDIyNTp7bjpcXFwiQnJ0QmVnaW5QQ0RGR0Rpc2NyZXRlXFxcIn0sMjI2OntuOlxcXCJCcnRFbmRQQ0RGR0Rpc2NyZXRlXFxcIn0sMjI3OntuOlxcXCJCcnRCZWdpblBDRFNEVHVwbGVDYWNoZVxcXCJ9LDIyODp7bjpcXFwiQnJ0RW5kUENEU0RUdXBsZUNhY2hlXFxcIn0sMjI5OntuOlxcXCJCcnRCZWdpblBDRFNEVENFbnRyaWVzXFxcIn0sMjMwOntuOlxcXCJCcnRFbmRQQ0RTRFRDRW50cmllc1xcXCJ9LDIzMTp7bjpcXFwiQnJ0QmVnaW5QQ0RTRFRDRU1lbWJlcnNcXFwifSwyMzI6e246XFxcIkJydEVuZFBDRFNEVENFTWVtYmVyc1xcXCJ9LDIzMzp7bjpcXFwiQnJ0QmVnaW5QQ0RTRFRDRU1lbWJlclxcXCJ9LDIzNDp7bjpcXFwiQnJ0RW5kUENEU0RUQ0VNZW1iZXJcXFwifSwyMzU6e246XFxcIkJydEJlZ2luUENEU0RUQ1F1ZXJpZXNcXFwifSwyMzY6e246XFxcIkJydEVuZFBDRFNEVENRdWVyaWVzXFxcIn0sMjM3OntuOlxcXCJCcnRCZWdpblBDRFNEVENRdWVyeVxcXCJ9LDIzODp7bjpcXFwiQnJ0RW5kUENEU0RUQ1F1ZXJ5XFxcIn0sMjM5OntuOlxcXCJCcnRCZWdpblBDRFNEVENTZXRzXFxcIn0sMjQwOntuOlxcXCJCcnRFbmRQQ0RTRFRDU2V0c1xcXCJ9LDI0MTp7bjpcXFwiQnJ0QmVnaW5QQ0RTRFRDU2V0XFxcIn0sMjQyOntuOlxcXCJCcnRFbmRQQ0RTRFRDU2V0XFxcIn0sMjQzOntuOlxcXCJCcnRCZWdpblBDRENhbGNJdGVtc1xcXCJ9LDI0NDp7bjpcXFwiQnJ0RW5kUENEQ2FsY0l0ZW1zXFxcIn0sMjQ1OntuOlxcXCJCcnRCZWdpblBDRENhbGNJdGVtXFxcIn0sMjQ2OntuOlxcXCJCcnRFbmRQQ0RDYWxjSXRlbVxcXCJ9LDI0Nzp7bjpcXFwiQnJ0QmVnaW5QUnVsZVxcXCJ9LDI0ODp7bjpcXFwiQnJ0RW5kUFJ1bGVcXFwifSwyNDk6e246XFxcIkJydEJlZ2luUFJGaWx0ZXJzXFxcIn0sMjUwOntuOlxcXCJCcnRFbmRQUkZpbHRlcnNcXFwifSwyNTE6e246XFxcIkJydEJlZ2luUFJGaWx0ZXJcXFwifSwyNTI6e246XFxcIkJydEVuZFBSRmlsdGVyXFxcIn0sMjUzOntuOlxcXCJCcnRCZWdpblBOYW1lc1xcXCJ9LDI1NDp7bjpcXFwiQnJ0RW5kUE5hbWVzXFxcIn0sMjU1OntuOlxcXCJCcnRCZWdpblBOYW1lXFxcIn0sMjU2OntuOlxcXCJCcnRFbmRQTmFtZVxcXCJ9LDI1Nzp7bjpcXFwiQnJ0QmVnaW5QTlBhaXJzXFxcIn0sMjU4OntuOlxcXCJCcnRFbmRQTlBhaXJzXFxcIn0sMjU5OntuOlxcXCJCcnRCZWdpblBOUGFpclxcXCJ9LDI2MDp7bjpcXFwiQnJ0RW5kUE5QYWlyXFxcIn0sMjYxOntuOlxcXCJCcnRCZWdpbkVDV2ViUHJvcHNcXFwifSwyNjI6e246XFxcIkJydEVuZEVDV2ViUHJvcHNcXFwifSwyNjM6e246XFxcIkJydEJlZ2luRWNXcFRhYmxlc1xcXCJ9LDI2NDp7bjpcXFwiQnJ0RW5kRUNXUFRhYmxlc1xcXCJ9LDI2NTp7bjpcXFwiQnJ0QmVnaW5FQ1BhcmFtc1xcXCJ9LDI2Njp7bjpcXFwiQnJ0RW5kRUNQYXJhbXNcXFwifSwyNjc6e246XFxcIkJydEJlZ2luRUNQYXJhbVxcXCJ9LDI2ODp7bjpcXFwiQnJ0RW5kRUNQYXJhbVxcXCJ9LDI2OTp7bjpcXFwiQnJ0QmVnaW5QQ0RLUElzXFxcIn0sMjcwOntuOlxcXCJCcnRFbmRQQ0RLUElzXFxcIn0sMjcxOntuOlxcXCJCcnRCZWdpblBDREtQSVxcXCJ9LDI3Mjp7bjpcXFwiQnJ0RW5kUENES1BJXFxcIn0sMjczOntuOlxcXCJCcnRCZWdpbkRpbXNcXFwifSwyNzQ6e246XFxcIkJydEVuZERpbXNcXFwifSwyNzU6e246XFxcIkJydEJlZ2luRGltXFxcIn0sMjc2OntuOlxcXCJCcnRFbmREaW1cXFwifSwyNzc6e246XFxcIkJydEluZGV4UGFydEVuZFxcXCJ9LDI3ODp7bjpcXFwiQnJ0QmVnaW5TdHlsZVNoZWV0XFxcIn0sMjc5OntuOlxcXCJCcnRFbmRTdHlsZVNoZWV0XFxcIn0sMjgwOntuOlxcXCJCcnRCZWdpblNYVmlld1xcXCJ9LDI4MTp7bjpcXFwiQnJ0RW5kU1hWSVxcXCJ9LDI4Mjp7bjpcXFwiQnJ0QmVnaW5TWFZJXFxcIn0sMjgzOntuOlxcXCJCcnRCZWdpblNYVklzXFxcIn0sMjg0OntuOlxcXCJCcnRFbmRTWFZJc1xcXCJ9LDI4NTp7bjpcXFwiQnJ0QmVnaW5TWFZEXFxcIn0sMjg2OntuOlxcXCJCcnRFbmRTWFZEXFxcIn0sMjg3OntuOlxcXCJCcnRCZWdpblNYVkRzXFxcIn0sMjg4OntuOlxcXCJCcnRFbmRTWFZEc1xcXCJ9LDI4OTp7bjpcXFwiQnJ0QmVnaW5TWFBJXFxcIn0sMjkwOntuOlxcXCJCcnRFbmRTWFBJXFxcIn0sMjkxOntuOlxcXCJCcnRCZWdpblNYUElzXFxcIn0sMjkyOntuOlxcXCJCcnRFbmRTWFBJc1xcXCJ9LDI5Mzp7bjpcXFwiQnJ0QmVnaW5TWERJXFxcIn0sMjk0OntuOlxcXCJCcnRFbmRTWERJXFxcIn0sMjk1OntuOlxcXCJCcnRCZWdpblNYRElzXFxcIn0sMjk2OntuOlxcXCJCcnRFbmRTWERJc1xcXCJ9LDI5Nzp7bjpcXFwiQnJ0QmVnaW5TWExJXFxcIn0sMjk4OntuOlxcXCJCcnRFbmRTWExJXFxcIn0sMjk5OntuOlxcXCJCcnRCZWdpblNYTElSd3NcXFwifSwzMDA6e246XFxcIkJydEVuZFNYTElSd3NcXFwifSwzMDE6e246XFxcIkJydEJlZ2luU1hMSUNvbHNcXFwifSwzMDI6e246XFxcIkJydEVuZFNYTElDb2xzXFxcIn0sMzAzOntuOlxcXCJCcnRCZWdpblNYRm9ybWF0XFxcIn0sMzA0OntuOlxcXCJCcnRFbmRTWEZvcm1hdFxcXCJ9LDMwNTp7bjpcXFwiQnJ0QmVnaW5TWEZvcm1hdHNcXFwifSwzMDY6e246XFxcIkJydEVuZFN4Rm9ybWF0c1xcXCJ9LDMwNzp7bjpcXFwiQnJ0QmVnaW5TeFNlbGVjdFxcXCJ9LDMwODp7bjpcXFwiQnJ0RW5kU3hTZWxlY3RcXFwifSwzMDk6e246XFxcIkJydEJlZ2luSVNYVkRSd3NcXFwifSwzMTA6e246XFxcIkJydEVuZElTWFZEUndzXFxcIn0sMzExOntuOlxcXCJCcnRCZWdpbklTWFZEQ29sc1xcXCJ9LDMxMjp7bjpcXFwiQnJ0RW5kSVNYVkRDb2xzXFxcIn0sMzEzOntuOlxcXCJCcnRFbmRTWExvY2F0aW9uXFxcIn0sMzE0OntuOlxcXCJCcnRCZWdpblNYTG9jYXRpb25cXFwifSwzMTU6e246XFxcIkJydEVuZFNYVmlld1xcXCJ9LDMxNjp7bjpcXFwiQnJ0QmVnaW5TWFRIc1xcXCJ9LDMxNzp7bjpcXFwiQnJ0RW5kU1hUSHNcXFwifSwzMTg6e246XFxcIkJydEJlZ2luU1hUSFxcXCJ9LDMxOTp7bjpcXFwiQnJ0RW5kU1hUSFxcXCJ9LDMyMDp7bjpcXFwiQnJ0QmVnaW5JU1hUSFJ3c1xcXCJ9LDMyMTp7bjpcXFwiQnJ0RW5kSVNYVEhSd3NcXFwifSwzMjI6e246XFxcIkJydEJlZ2luSVNYVEhDb2xzXFxcIn0sMzIzOntuOlxcXCJCcnRFbmRJU1hUSENvbHNcXFwifSwzMjQ6e246XFxcIkJydEJlZ2luU1hURE1QU1xcXCJ9LDMyNTp7bjpcXFwiQnJ0RW5kU1hURE1Qc1xcXCJ9LDMyNjp7bjpcXFwiQnJ0QmVnaW5TWFRETVBcXFwifSwzMjc6e246XFxcIkJydEVuZFNYVERNUFxcXCJ9LDMyODp7bjpcXFwiQnJ0QmVnaW5TWFRISXRlbXNcXFwifSwzMjk6e246XFxcIkJydEVuZFNYVEhJdGVtc1xcXCJ9LDMzMDp7bjpcXFwiQnJ0QmVnaW5TWFRISXRlbVxcXCJ9LDMzMTp7bjpcXFwiQnJ0RW5kU1hUSEl0ZW1cXFwifSwzMzI6e246XFxcIkJydEJlZ2luTWV0YWRhdGFcXFwifSwzMzM6e246XFxcIkJydEVuZE1ldGFkYXRhXFxcIn0sMzM0OntuOlxcXCJCcnRCZWdpbkVzbWR0aW5mb1xcXCJ9LDMzNTp7bjpcXFwiQnJ0TWR0aW5mb1xcXCJ9LDMzNjp7bjpcXFwiQnJ0RW5kRXNtZHRpbmZvXFxcIn0sMzM3OntuOlxcXCJCcnRCZWdpbkVzbWRiXFxcIn0sMzM4OntuOlxcXCJCcnRFbmRFc21kYlxcXCJ9LDMzOTp7bjpcXFwiQnJ0QmVnaW5Fc2ZtZFxcXCJ9LDM0MDp7bjpcXFwiQnJ0RW5kRXNmbWRcXFwifSwzNDE6e246XFxcIkJydEJlZ2luU2luZ2xlQ2VsbHNcXFwifSwzNDI6e246XFxcIkJydEVuZFNpbmdsZUNlbGxzXFxcIn0sMzQzOntuOlxcXCJCcnRCZWdpbkxpc3RcXFwifSwzNDQ6e246XFxcIkJydEVuZExpc3RcXFwifSwzNDU6e246XFxcIkJydEJlZ2luTGlzdENvbHNcXFwifSwzNDY6e246XFxcIkJydEVuZExpc3RDb2xzXFxcIn0sMzQ3OntuOlxcXCJCcnRCZWdpbkxpc3RDb2xcXFwifSwzNDg6e246XFxcIkJydEVuZExpc3RDb2xcXFwifSwzNDk6e246XFxcIkJydEJlZ2luTGlzdFhtbENQclxcXCJ9LDM1MDp7bjpcXFwiQnJ0RW5kTGlzdFhtbENQclxcXCJ9LDM1MTp7bjpcXFwiQnJ0TGlzdENDRm1sYVxcXCJ9LDM1Mjp7bjpcXFwiQnJ0TGlzdFRyRm1sYVxcXCJ9LDM1Mzp7bjpcXFwiQnJ0QmVnaW5FeHRlcm5hbHNcXFwifSwzNTQ6e246XFxcIkJydEVuZEV4dGVybmFsc1xcXCJ9LDM1NTp7bjpcXFwiQnJ0U3VwQm9va1NyY1xcXCIsZjpXdH0sMzU3OntuOlxcXCJCcnRTdXBTZWxmXFxcIn0sMzU4OntuOlxcXCJCcnRTdXBTYW1lXFxcIn0sMzU5OntuOlxcXCJCcnRTdXBUYWJzXFxcIn0sMzYwOntuOlxcXCJCcnRCZWdpblN1cEJvb2tcXFwifSwzNjE6e246XFxcIkJydFBsYWNlaG9sZGVyTmFtZVxcXCJ9LDM2Mjp7bjpcXFwiQnJ0RXh0ZXJuU2hlZXRcXFwiLGY6VHN9LDM2Mzp7bjpcXFwiQnJ0RXh0ZXJuVGFibGVTdGFydFxcXCJ9LDM2NDp7bjpcXFwiQnJ0RXh0ZXJuVGFibGVFbmRcXFwifSwzNjY6e246XFxcIkJydEV4dGVyblJvd0hkclxcXCJ9LDM2Nzp7bjpcXFwiQnJ0RXh0ZXJuQ2VsbEJsYW5rXFxcIn0sMzY4OntuOlxcXCJCcnRFeHRlcm5DZWxsUmVhbFxcXCJ9LDM2OTp7bjpcXFwiQnJ0RXh0ZXJuQ2VsbEJvb2xcXFwifSwzNzA6e246XFxcIkJydEV4dGVybkNlbGxFcnJvclxcXCJ9LDM3MTp7bjpcXFwiQnJ0RXh0ZXJuQ2VsbFN0cmluZ1xcXCJ9LDM3Mjp7bjpcXFwiQnJ0QmVnaW5Fc21keFxcXCJ9LDM3Mzp7bjpcXFwiQnJ0RW5kRXNtZHhcXFwifSwzNzQ6e246XFxcIkJydEJlZ2luTWR4U2V0XFxcIn0sMzc1OntuOlxcXCJCcnRFbmRNZHhTZXRcXFwifSwzNzY6e246XFxcIkJydEJlZ2luTWR4TWJyUHJvcFxcXCJ9LDM3Nzp7bjpcXFwiQnJ0RW5kTWR4TWJyUHJvcFxcXCJ9LDM3ODp7bjpcXFwiQnJ0QmVnaW5NZHhLUElcXFwifSwzNzk6e246XFxcIkJydEVuZE1keEtQSVxcXCJ9LDM4MDp7bjpcXFwiQnJ0QmVnaW5Fc3N0clxcXCJ9LDM4MTp7bjpcXFwiQnJ0RW5kRXNzdHJcXFwifSwzODI6e246XFxcIkJydEJlZ2luUFJGSXRlbVxcXCJ9LDM4Mzp7bjpcXFwiQnJ0RW5kUFJGSXRlbVxcXCJ9LDM4NDp7bjpcXFwiQnJ0QmVnaW5QaXZvdENhY2hlSURzXFxcIn0sMzg1OntuOlxcXCJCcnRFbmRQaXZvdENhY2hlSURzXFxcIn0sMzg2OntuOlxcXCJCcnRCZWdpblBpdm90Q2FjaGVJRFxcXCJ9LDM4Nzp7bjpcXFwiQnJ0RW5kUGl2b3RDYWNoZUlEXFxcIn0sMzg4OntuOlxcXCJCcnRCZWdpbklTWFZJc1xcXCJ9LDM4OTp7bjpcXFwiQnJ0RW5kSVNYVklzXFxcIn0sMzkwOntuOlxcXCJCcnRCZWdpbkNvbEluZm9zXFxcIn0sMzkxOntuOlxcXCJCcnRFbmRDb2xJbmZvc1xcXCJ9LDM5Mjp7bjpcXFwiQnJ0QmVnaW5Sd0Jya1xcXCJ9LDM5Mzp7bjpcXFwiQnJ0RW5kUndCcmtcXFwifSwzOTQ6e246XFxcIkJydEJlZ2luQ29sQnJrXFxcIn0sMzk1OntuOlxcXCJCcnRFbmRDb2xCcmtcXFwifSwzOTY6e246XFxcIkJydEJya1xcXCJ9LDM5Nzp7bjpcXFwiQnJ0VXNlckJvb2tWaWV3XFxcIn0sMzk4OntuOlxcXCJCcnRJbmZvXFxcIn0sMzk5OntuOlxcXCJCcnRDVXNyXFxcIn0sNDAwOntuOlxcXCJCcnRVc3JcXFwifSw0MDE6e246XFxcIkJydEJlZ2luVXNlcnNcXFwifSw0MDM6e246XFxcIkJydEVPRlxcXCJ9LDQwNDp7bjpcXFwiQnJ0VUNSXFxcIn0sNDA1OntuOlxcXCJCcnRSUkluc0RlbFxcXCJ9LDQwNjp7bjpcXFwiQnJ0UlJFbmRJbnNEZWxcXFwifSw0MDc6e246XFxcIkJydFJSTW92ZVxcXCJ9LDQwODp7bjpcXFwiQnJ0UlJFbmRNb3ZlXFxcIn0sNDA5OntuOlxcXCJCcnRSUkNoZ0NlbGxcXFwifSw0MTA6e246XFxcIkJydFJSRW5kQ2hnQ2VsbFxcXCJ9LDQxMTp7bjpcXFwiQnJ0UlJIZWFkZXJcXFwifSw0MTI6e246XFxcIkJydFJSVXNlclZpZXdcXFwifSw0MTM6e246XFxcIkJydFJSUmVuU2hlZXRcXFwifSw0MTQ6e246XFxcIkJydFJSSW5zZXJ0U2hcXFwifSw0MTU6e246XFxcIkJydFJSRGVmTmFtZVxcXCJ9LDQxNjp7bjpcXFwiQnJ0UlJOb3RlXFxcIn0sNDE3OntuOlxcXCJCcnRSUkNvbmZsaWN0XFxcIn0sNDE4OntuOlxcXCJCcnRSUlRRU0lGXFxcIn0sNDE5OntuOlxcXCJCcnRSUkZvcm1hdFxcXCJ9LDQyMDp7bjpcXFwiQnJ0UlJFbmRGb3JtYXRcXFwifSw0MjE6e246XFxcIkJydFJSQXV0b0ZtdFxcXCJ9LDQyMjp7bjpcXFwiQnJ0QmVnaW5Vc2VyU2hWaWV3c1xcXCJ9LDQyMzp7bjpcXFwiQnJ0QmVnaW5Vc2VyU2hWaWV3XFxcIn0sNDI0OntuOlxcXCJCcnRFbmRVc2VyU2hWaWV3XFxcIn0sNDI1OntuOlxcXCJCcnRFbmRVc2VyU2hWaWV3c1xcXCJ9LDQyNjp7bjpcXFwiQnJ0QXJyRm1sYVxcXCIsZjpUZH0sNDI3OntuOlxcXCJCcnRTaHJGbWxhXFxcIixmOnlkfSw0Mjg6e246XFxcIkJydFRhYmxlXFxcIn0sNDI5OntuOlxcXCJCcnRCZWdpbkV4dENvbm5lY3Rpb25zXFxcIn0sNDMwOntuOlxcXCJCcnRFbmRFeHRDb25uZWN0aW9uc1xcXCJ9LDQzMTp7bjpcXFwiQnJ0QmVnaW5QQ0RDYWxjTWVtc1xcXCJ9LDQzMjp7bjpcXFwiQnJ0RW5kUENEQ2FsY01lbXNcXFwifSw0MzM6e246XFxcIkJydEJlZ2luUENEQ2FsY01lbVxcXCJ9LDQzNDp7bjpcXFwiQnJ0RW5kUENEQ2FsY01lbVxcXCJ9LDQzNTp7bjpcXFwiQnJ0QmVnaW5QQ0RIR0xldmVsc1xcXCJ9LDQzNjp7bjpcXFwiQnJ0RW5kUENESEdMZXZlbHNcXFwifSw0Mzc6e246XFxcIkJydEJlZ2luUENESEdMZXZlbFxcXCJ9LDQzODp7bjpcXFwiQnJ0RW5kUENESEdMZXZlbFxcXCJ9LDQzOTp7bjpcXFwiQnJ0QmVnaW5QQ0RIR0xHcm91cHNcXFwifSw0NDA6e246XFxcIkJydEVuZFBDREhHTEdyb3Vwc1xcXCJ9LDQ0MTp7bjpcXFwiQnJ0QmVnaW5QQ0RIR0xHcm91cFxcXCJ9LDQ0Mjp7bjpcXFwiQnJ0RW5kUENESEdMR3JvdXBcXFwifSw0NDM6e246XFxcIkJydEJlZ2luUENESEdMR01lbWJlcnNcXFwifSw0NDQ6e246XFxcIkJydEVuZFBDREhHTEdNZW1iZXJzXFxcIn0sNDQ1OntuOlxcXCJCcnRCZWdpblBDREhHTEdNZW1iZXJcXFwifSw0NDY6e246XFxcIkJydEVuZFBDREhHTEdNZW1iZXJcXFwifSw0NDc6e246XFxcIkJydEJlZ2luUVNJXFxcIn0sNDQ4OntuOlxcXCJCcnRFbmRRU0lcXFwifSw0NDk6e246XFxcIkJydEJlZ2luUVNJUlxcXCJ9LDQ1MDp7bjpcXFwiQnJ0RW5kUVNJUlxcXCJ9LDQ1MTp7bjpcXFwiQnJ0QmVnaW5EZWxldGVkTmFtZXNcXFwifSw0NTI6e246XFxcIkJydEVuZERlbGV0ZWROYW1lc1xcXCJ9LDQ1Mzp7bjpcXFwiQnJ0QmVnaW5EZWxldGVkTmFtZVxcXCJ9LDQ1NDp7bjpcXFwiQnJ0RW5kRGVsZXRlZE5hbWVcXFwifSw0NTU6e246XFxcIkJydEJlZ2luUVNJRnNcXFwifSw0NTY6e246XFxcIkJydEVuZFFTSUZzXFxcIn0sNDU3OntuOlxcXCJCcnRCZWdpblFTSUZcXFwifSw0NTg6e246XFxcIkJydEVuZFFTSUZcXFwifSw0NTk6e246XFxcIkJydEJlZ2luQXV0b1NvcnRTY29wZVxcXCJ9LDQ2MDp7bjpcXFwiQnJ0RW5kQXV0b1NvcnRTY29wZVxcXCJ9LDQ2MTp7bjpcXFwiQnJ0QmVnaW5Db25kaXRpb25hbEZvcm1hdHRpbmdcXFwifSw0NjI6e246XFxcIkJydEVuZENvbmRpdGlvbmFsRm9ybWF0dGluZ1xcXCJ9LDQ2Mzp7bjpcXFwiQnJ0QmVnaW5DRlJ1bGVcXFwifSw0NjQ6e246XFxcIkJydEVuZENGUnVsZVxcXCJ9LDQ2NTp7bjpcXFwiQnJ0QmVnaW5JY29uU2V0XFxcIn0sNDY2OntuOlxcXCJCcnRFbmRJY29uU2V0XFxcIn0sNDY3OntuOlxcXCJCcnRCZWdpbkRhdGFiYXJcXFwifSw0Njg6e246XFxcIkJydEVuZERhdGFiYXJcXFwifSw0Njk6e246XFxcIkJydEJlZ2luQ29sb3JTY2FsZVxcXCJ9LDQ3MDp7bjpcXFwiQnJ0RW5kQ29sb3JTY2FsZVxcXCJ9LDQ3MTp7bjpcXFwiQnJ0Q0ZWT1xcXCJ9LDQ3Mjp7bjpcXFwiQnJ0RXh0ZXJuVmFsdWVNZXRhXFxcIn0sNDczOntuOlxcXCJCcnRCZWdpbkNvbG9yUGFsZXR0ZVxcXCJ9LDQ3NDp7bjpcXFwiQnJ0RW5kQ29sb3JQYWxldHRlXFxcIn0sNDc1OntuOlxcXCJCcnRJbmRleGVkQ29sb3JcXFwifSw0NzY6e246XFxcIkJydE1hcmdpbnNcXFwiLGY6SWR9LDQ3Nzp7bjpcXFwiQnJ0UHJpbnRPcHRpb25zXFxcIn0sNDc4OntuOlxcXCJCcnRQYWdlU2V0dXBcXFwifSw0Nzk6e246XFxcIkJydEJlZ2luSGVhZGVyRm9vdGVyXFxcIn0sNDgwOntuOlxcXCJCcnRFbmRIZWFkZXJGb290ZXJcXFwifSw0ODE6e246XFxcIkJydEJlZ2luU1hDcnRGb3JtYXRcXFwifSw0ODI6e246XFxcIkJydEVuZFNYQ3J0Rm9ybWF0XFxcIn0sNDgzOntuOlxcXCJCcnRCZWdpblNYQ3J0Rm9ybWF0c1xcXCJ9LDQ4NDp7bjpcXFwiQnJ0RW5kU1hDcnRGb3JtYXRzXFxcIn0sNDg1OntuOlxcXCJCcnRXc0ZtdEluZm9cXFwiLGY6ZWR9LDQ4Njp7bjpcXFwiQnJ0QmVnaW5NZ3NcXFwifSw0ODc6e246XFxcIkJydEVuZE1Hc1xcXCJ9LDQ4ODp7bjpcXFwiQnJ0QmVnaW5NR01hcHNcXFwifSw0ODk6e246XFxcIkJydEVuZE1HTWFwc1xcXCJ9LDQ5MDp7bjpcXFwiQnJ0QmVnaW5NR1xcXCJ9LDQ5MTp7bjpcXFwiQnJ0RW5kTUdcXFwifSw0OTI6e246XFxcIkJydEJlZ2luTWFwXFxcIn0sNDkzOntuOlxcXCJCcnRFbmRNYXBcXFwifSw0OTQ6e246XFxcIkJydEhMaW5rXFxcIixmOl9kfSw0OTU6e246XFxcIkJydEJlZ2luRENvblxcXCJ9LDQ5Njp7bjpcXFwiQnJ0RW5kRENvblxcXCJ9LDQ5Nzp7bjpcXFwiQnJ0QmVnaW5EUmVmc1xcXCJ9LDQ5ODp7bjpcXFwiQnJ0RW5kRFJlZnNcXFwifSw0OTk6e246XFxcIkJydERSZWZcXFwifSw1MDA6e246XFxcIkJydEJlZ2luU2Nlbk1hblxcXCJ9LDUwMTp7bjpcXFwiQnJ0RW5kU2Nlbk1hblxcXCJ9LDUwMjp7bjpcXFwiQnJ0QmVnaW5TY3RcXFwifSw1MDM6e246XFxcIkJydEVuZFNjdFxcXCJ9LDUwNDp7bjpcXFwiQnJ0U2xjXFxcIn0sNTA1OntuOlxcXCJCcnRCZWdpbkRYRnNcXFwifSw1MDY6e246XFxcIkJydEVuZERYRnNcXFwifSw1MDc6e246XFxcIkJydERYRlxcXCJ9LDUwODp7bjpcXFwiQnJ0QmVnaW5UYWJsZVN0eWxlc1xcXCJ9LDUwOTp7bjpcXFwiQnJ0RW5kVGFibGVTdHlsZXNcXFwifSw1MTA6e246XFxcIkJydEJlZ2luVGFibGVTdHlsZVxcXCJ9LDUxMTp7bjpcXFwiQnJ0RW5kVGFibGVTdHlsZVxcXCJ9LDUxMjp7bjpcXFwiQnJ0VGFibGVTdHlsZUVsZW1lbnRcXFwifSw1MTM6e246XFxcIkJydFRhYmxlU3R5bGVDbGllbnRcXFwifSw1MTQ6e246XFxcIkJydEJlZ2luVm9sRGVwc1xcXCJ9LDUxNTp7bjpcXFwiQnJ0RW5kVm9sRGVwc1xcXCJ9LDUxNjp7bjpcXFwiQnJ0QmVnaW5Wb2xUeXBlXFxcIn0sNTE3OntuOlxcXCJCcnRFbmRWb2xUeXBlXFxcIn0sNTE4OntuOlxcXCJCcnRCZWdpblZvbE1haW5cXFwifSw1MTk6e246XFxcIkJydEVuZFZvbE1haW5cXFwifSw1MjA6e246XFxcIkJydEJlZ2luVm9sVG9waWNcXFwifSw1MjE6e246XFxcIkJydEVuZFZvbFRvcGljXFxcIn0sNTIyOntuOlxcXCJCcnRWb2xTdWJ0b3BpY1xcXCJ9LDUyMzp7bjpcXFwiQnJ0Vm9sUmVmXFxcIn0sNTI0OntuOlxcXCJCcnRWb2xOdW1cXFwifSw1MjU6e246XFxcIkJydFZvbEVyclxcXCJ9LDUyNjp7bjpcXFwiQnJ0Vm9sU3RyXFxcIn0sNTI3OntuOlxcXCJCcnRWb2xCb29sXFxcIn0sNTI4OntuOlxcXCJCcnRCZWdpbkNhbGNDaGFpbiRcXFwifSw1Mjk6e246XFxcIkJydEVuZENhbGNDaGFpbiRcXFwifSw1MzA6e246XFxcIkJydEJlZ2luU29ydFN0YXRlXFxcIn0sNTMxOntuOlxcXCJCcnRFbmRTb3J0U3RhdGVcXFwifSw1MzI6e246XFxcIkJydEJlZ2luU29ydENvbmRcXFwifSw1MzM6e246XFxcIkJydEVuZFNvcnRDb25kXFxcIn0sNTM0OntuOlxcXCJCcnRCb29rUHJvdGVjdGlvblxcXCJ9LDUzNTp7bjpcXFwiQnJ0U2hlZXRQcm90ZWN0aW9uXFxcIn0sNTM2OntuOlxcXCJCcnRSYW5nZVByb3RlY3Rpb25cXFwifSw1Mzc6e246XFxcIkJydFBob25ldGljSW5mb1xcXCJ9LDUzODp7bjpcXFwiQnJ0QmVnaW5FQ1R4dFdpelxcXCJ9LDUzOTp7bjpcXFwiQnJ0RW5kRUNUeHRXaXpcXFwifSw1NDA6e246XFxcIkJydEJlZ2luRUNUV0ZsZEluZm9Mc3RcXFwifSw1NDE6e246XFxcIkJydEVuZEVDVFdGbGRJbmZvTHN0XFxcIn0sNTQyOntuOlxcXCJCcnRCZWdpbkVDVHdGbGRJbmZvXFxcIn0sNTQ4OntuOlxcXCJCcnRGaWxlU2hhcmluZ1xcXCJ9LDU0OTp7bjpcXFwiQnJ0T2xlU2l6ZVxcXCJ9LDU1MDp7bjpcXFwiQnJ0RHJhd2luZ1xcXCIsZjpXdH0sNTUxOntuOlxcXCJCcnRMZWdhY3lEcmF3aW5nXFxcIn0sNTUyOntuOlxcXCJCcnRMZWdhY3lEcmF3aW5nSEZcXFwifSw1NTM6e246XFxcIkJydFdlYk9wdFxcXCJ9LDU1NDp7bjpcXFwiQnJ0QmVnaW5XZWJQdWJJdGVtc1xcXCJ9LDU1NTp7bjpcXFwiQnJ0RW5kV2ViUHViSXRlbXNcXFwifSw1NTY6e246XFxcIkJydEJlZ2luV2ViUHViSXRlbVxcXCJ9LDU1Nzp7bjpcXFwiQnJ0RW5kV2ViUHViSXRlbVxcXCJ9LDU1ODp7bjpcXFwiQnJ0QmVnaW5TWENvbmRGbXRcXFwifSw1NTk6e246XFxcIkJydEVuZFNYQ29uZEZtdFxcXCJ9LDU2MDp7bjpcXFwiQnJ0QmVnaW5TWENvbmRGbXRzXFxcIn0sNTYxOntuOlxcXCJCcnRFbmRTWENvbmRGbXRzXFxcIn0sNTYyOntuOlxcXCJCcnRCa0hpbVxcXCJ9LDU2NDp7bjpcXFwiQnJ0Q29sb3JcXFwifSw1NjU6e246XFxcIkJydEJlZ2luSW5kZXhlZENvbG9yc1xcXCJ9LDU2Njp7bjpcXFwiQnJ0RW5kSW5kZXhlZENvbG9yc1xcXCJ9LDU2OTp7bjpcXFwiQnJ0QmVnaW5NUlVDb2xvcnNcXFwifSw1NzA6e246XFxcIkJydEVuZE1SVUNvbG9yc1xcXCJ9LDU3Mjp7bjpcXFwiQnJ0TVJVQ29sb3JcXFwifSw1NzM6e246XFxcIkJydEJlZ2luRFZhbHNcXFwifSw1NzQ6e246XFxcIkJydEVuZERWYWxzXFxcIn0sNTc3OntuOlxcXCJCcnRTdXBOYW1lU3RhcnRcXFwifSw1Nzg6e246XFxcIkJydFN1cE5hbWVWYWx1ZVN0YXJ0XFxcIn0sNTc5OntuOlxcXCJCcnRTdXBOYW1lVmFsdWVFbmRcXFwifSw1ODA6e246XFxcIkJydFN1cE5hbWVOdW1cXFwifSw1ODE6e246XFxcIkJydFN1cE5hbWVFcnJcXFwifSw1ODI6e246XFxcIkJydFN1cE5hbWVTdFxcXCJ9LDU4Mzp7bjpcXFwiQnJ0U3VwTmFtZU5pbFxcXCJ9LDU4NDp7bjpcXFwiQnJ0U3VwTmFtZUJvb2xcXFwifSw1ODU6e246XFxcIkJydFN1cE5hbWVGbWxhXFxcIn0sNTg2OntuOlxcXCJCcnRTdXBOYW1lQml0c1xcXCJ9LDU4Nzp7bjpcXFwiQnJ0U3VwTmFtZUVuZFxcXCJ9LDU4ODp7bjpcXFwiQnJ0RW5kU3VwQm9va1xcXCJ9LDU4OTp7bjpcXFwiQnJ0Q2VsbFNtYXJ0VGFnUHJvcGVydHlcXFwifSw1OTA6e246XFxcIkJydEJlZ2luQ2VsbFNtYXJ0VGFnXFxcIn0sNTkxOntuOlxcXCJCcnRFbmRDZWxsU21hcnRUYWdcXFwifSw1OTI6e246XFxcIkJydEJlZ2luQ2VsbFNtYXJ0VGFnc1xcXCJ9LDU5Mzp7bjpcXFwiQnJ0RW5kQ2VsbFNtYXJ0VGFnc1xcXCJ9LDU5NDp7bjpcXFwiQnJ0QmVnaW5TbWFydFRhZ3NcXFwifSw1OTU6e246XFxcIkJydEVuZFNtYXJ0VGFnc1xcXCJ9LDU5Njp7bjpcXFwiQnJ0U21hcnRUYWdUeXBlXFxcIn0sNTk3OntuOlxcXCJCcnRCZWdpblNtYXJ0VGFnVHlwZXNcXFwifSw1OTg6e246XFxcIkJydEVuZFNtYXJ0VGFnVHlwZXNcXFwifSw1OTk6e246XFxcIkJydEJlZ2luU1hGaWx0ZXJzXFxcIn0sNjAwOntuOlxcXCJCcnRFbmRTWEZpbHRlcnNcXFwifSw2MDE6e246XFxcIkJydEJlZ2luU1hGSUxURVJcXFwifSw2MDI6e246XFxcIkJydEVuZFNYRmlsdGVyXFxcIn0sNjAzOntuOlxcXCJCcnRCZWdpbkZpbGxzXFxcIn0sNjA0OntuOlxcXCJCcnRFbmRGaWxsc1xcXCJ9LDYwNTp7bjpcXFwiQnJ0QmVnaW5DZWxsV2F0Y2hlc1xcXCJ9LDYwNjp7bjpcXFwiQnJ0RW5kQ2VsbFdhdGNoZXNcXFwifSw2MDc6e246XFxcIkJydENlbGxXYXRjaFxcXCJ9LDYwODp7bjpcXFwiQnJ0QmVnaW5DUkVycnNcXFwifSw2MDk6e246XFxcIkJydEVuZENSRXJyc1xcXCJ9LDYxMDp7bjpcXFwiQnJ0Q3Jhc2hSZWNFcnJcXFwifSw2MTE6e246XFxcIkJydEJlZ2luRm9udHNcXFwifSw2MTI6e246XFxcIkJydEVuZEZvbnRzXFxcIn0sNjEzOntuOlxcXCJCcnRCZWdpbkJvcmRlcnNcXFwifSw2MTQ6e246XFxcIkJydEVuZEJvcmRlcnNcXFwifSw2MTU6e246XFxcIkJydEJlZ2luRm10c1xcXCJ9LDYxNjp7bjpcXFwiQnJ0RW5kRm10c1xcXCJ9LDYxNzp7bjpcXFwiQnJ0QmVnaW5DZWxsWEZzXFxcIn0sNjE4OntuOlxcXCJCcnRFbmRDZWxsWEZzXFxcIn0sNjE5OntuOlxcXCJCcnRCZWdpblN0eWxlc1xcXCJ9LDYyMDp7bjpcXFwiQnJ0RW5kU3R5bGVzXFxcIn0sNjI1OntuOlxcXCJCcnRCaWdOYW1lXFxcIn0sNjI2OntuOlxcXCJCcnRCZWdpbkNlbGxTdHlsZVhGc1xcXCJ9LDYyNzp7bjpcXFwiQnJ0RW5kQ2VsbFN0eWxlWEZzXFxcIn0sNjI4OntuOlxcXCJCcnRCZWdpbkNvbW1lbnRzXFxcIn0sNjI5OntuOlxcXCJCcnRFbmRDb21tZW50c1xcXCJ9LDYzMDp7bjpcXFwiQnJ0QmVnaW5Db21tZW50QXV0aG9yc1xcXCJ9LDYzMTp7bjpcXFwiQnJ0RW5kQ29tbWVudEF1dGhvcnNcXFwifSw2MzI6e246XFxcIkJydENvbW1lbnRBdXRob3JcXFwiLGY6amx9LDYzMzp7bjpcXFwiQnJ0QmVnaW5Db21tZW50TGlzdFxcXCJ9LDYzNDp7bjpcXFwiQnJ0RW5kQ29tbWVudExpc3RcXFwifSw2MzU6e246XFxcIkJydEJlZ2luQ29tbWVudFxcXCIsZjpYbH0sNjM2OntuOlxcXCJCcnRFbmRDb21tZW50XFxcIn0sNjM3OntuOlxcXCJCcnRDb21tZW50VGV4dFxcXCIsZjpEdH0sNjM4OntuOlxcXCJCcnRCZWdpbk9sZU9iamVjdHNcXFwifSw2Mzk6e246XFxcIkJydE9sZU9iamVjdFxcXCJ9LDY0MDp7bjpcXFwiQnJ0RW5kT2xlT2JqZWN0c1xcXCJ9LDY0MTp7bjpcXFwiQnJ0QmVnaW5TeHJ1bGVzXFxcIn0sNjQyOntuOlxcXCJCcnRFbmRTeFJ1bGVzXFxcIn0sNjQzOntuOlxcXCJCcnRCZWdpbkFjdGl2ZVhDb250cm9sc1xcXCJ9LDY0NDp7bjpcXFwiQnJ0QWN0aXZlWFxcXCJ9LDY0NTp7bjpcXFwiQnJ0RW5kQWN0aXZlWENvbnRyb2xzXFxcIn0sNjQ2OntuOlxcXCJCcnRCZWdpblBDRFNEVENFTWVtYmVyc1NvcnRCeVxcXCJ9LDY0ODp7bjpcXFwiQnJ0QmVnaW5DZWxsSWdub3JlRUNzXFxcIn0sNjQ5OntuOlxcXCJCcnRDZWxsSWdub3JlRUNcXFwifSw2NTA6e246XFxcIkJydEVuZENlbGxJZ25vcmVFQ3NcXFwifSw2NTE6e246XFxcIkJydENzUHJvcFxcXCIsZjp0dn0sNjUyOntuOlxcXCJCcnRDc1BhZ2VTZXR1cFxcXCJ9LDY1Mzp7bjpcXFwiQnJ0QmVnaW5Vc2VyQ3NWaWV3c1xcXCJ9LDY1NDp7bjpcXFwiQnJ0RW5kVXNlckNzVmlld3NcXFwifSw2NTU6e246XFxcIkJydEJlZ2luVXNlckNzVmlld1xcXCJ9LDY1Njp7bjpcXFwiQnJ0RW5kVXNlckNzVmlld1xcXCJ9LDY1Nzp7bjpcXFwiQnJ0QmVnaW5QY2RTRkNJRW50cmllc1xcXCJ9LDY1ODp7bjpcXFwiQnJ0RW5kUENEU0ZDSUVudHJpZXNcXFwifSw2NTk6e246XFxcIkJydFBDRFNGQ0lFbnRyeVxcXCJ9LDY2MDp7bjpcXFwiQnJ0QmVnaW5MaXN0UGFydHNcXFwifSw2NjE6e246XFxcIkJydExpc3RQYXJ0XFxcIn0sNjYyOntuOlxcXCJCcnRFbmRMaXN0UGFydHNcXFwifSw2NjM6e246XFxcIkJydFNoZWV0Q2FsY1Byb3BcXFwifSw2NjQ6e246XFxcIkJydEJlZ2luRm5Hcm91cFxcXCJ9LDY2NTp7bjpcXFwiQnJ0Rm5Hcm91cFxcXCJ9LDY2Njp7bjpcXFwiQnJ0RW5kRm5Hcm91cFxcXCJ9LDY2Nzp7bjpcXFwiQnJ0U3VwQWRkaW5cXFwifSw2Njg6e246XFxcIkJydFNYVERNUE9yZGVyXFxcIn0sNjY5OntuOlxcXCJCcnRDc1Byb3RlY3Rpb25cXFwifSw2NzE6e246XFxcIkJydEJlZ2luV3NTb3J0TWFwXFxcIn0sNjcyOntuOlxcXCJCcnRFbmRXc1NvcnRNYXBcXFwifSw2NzM6e246XFxcIkJydEJlZ2luUlJTb3J0XFxcIn0sNjc0OntuOlxcXCJCcnRFbmRSUlNvcnRcXFwifSw2NzU6e246XFxcIkJydFJSU29ydEl0ZW1cXFwifSw2NzY6e246XFxcIkJydEZpbGVTaGFyaW5nSXNvXFxcIn0sNjc3OntuOlxcXCJCcnRCb29rUHJvdGVjdGlvbklzb1xcXCJ9LDY3ODp7bjpcXFwiQnJ0U2hlZXRQcm90ZWN0aW9uSXNvXFxcIn0sNjc5OntuOlxcXCJCcnRDc1Byb3RlY3Rpb25Jc29cXFwifSw2ODA6e246XFxcIkJydFJhbmdlUHJvdGVjdGlvbklzb1xcXCJ9LDY4MTp7bjpcXFwiQnJ0RFZhbExpc3RcXFwifSwxMDI0OntuOlxcXCJCcnRSd0Rlc2NlbnRcXFwifSwxMDI1OntuOlxcXCJCcnRLbm93bkZvbnRzXFxcIn0sMTAyNjp7bjpcXFwiQnJ0QmVnaW5TWFR1cGxlU2V0XFxcIn0sMTAyNzp7bjpcXFwiQnJ0RW5kU1hUdXBsZVNldFxcXCJ9LDEwMjg6e246XFxcIkJydEJlZ2luU1hUdXBsZVNldEhlYWRlclxcXCJ9LDEwMjk6e246XFxcIkJydEVuZFNYVHVwbGVTZXRIZWFkZXJcXFwifSwxMDMwOntuOlxcXCJCcnRTWFR1cGxlU2V0SGVhZGVySXRlbVxcXCJ9LDEwMzE6e246XFxcIkJydEJlZ2luU1hUdXBsZVNldERhdGFcXFwifSwxMDMyOntuOlxcXCJCcnRFbmRTWFR1cGxlU2V0RGF0YVxcXCJ9LDEwMzM6e246XFxcIkJydEJlZ2luU1hUdXBsZVNldFJvd1xcXCJ9LDEwMzQ6e246XFxcIkJydEVuZFNYVHVwbGVTZXRSb3dcXFwifSwxMDM1OntuOlxcXCJCcnRTWFR1cGxlU2V0Um93SXRlbVxcXCJ9LDEwMzY6e246XFxcIkJydE5hbWVFeHRcXFwifSwxMDM3OntuOlxcXCJCcnRQQ0RIMTRcXFwifSwxMDM4OntuOlxcXCJCcnRCZWdpblBDRENhbGNNZW0xNFxcXCJ9LDEwMzk6e246XFxcIkJydEVuZFBDRENhbGNNZW0xNFxcXCJ9LDEwNDA6e246XFxcIkJydFNYVEgxNFxcXCJ9LDEwNDE6e246XFxcIkJydEJlZ2luU3BhcmtsaW5lR3JvdXBcXFwifSwxMDQyOntuOlxcXCJCcnRFbmRTcGFya2xpbmVHcm91cFxcXCJ9LDEwNDM6e246XFxcIkJydFNwYXJrbGluZVxcXCJ9LDEwNDQ6e246XFxcIkJydFNYREkxNFxcXCJ9LDEwNDU6e246XFxcIkJydFdzRm10SW5mb0V4MTRcXFwifSwxMDQ2OntuOlxcXCJCcnRCZWdpbkNvbmRpdGlvbmFsRm9ybWF0dGluZzE0XFxcIn0sMTA0Nzp7bjpcXFwiQnJ0RW5kQ29uZGl0aW9uYWxGb3JtYXR0aW5nMTRcXFwifSwxMDQ4OntuOlxcXCJCcnRCZWdpbkNGUnVsZTE0XFxcIn0sMTA0OTp7bjpcXFwiQnJ0RW5kQ0ZSdWxlMTRcXFwifSwxMDUwOntuOlxcXCJCcnRDRlZPMTRcXFwifSwxMDUxOntuOlxcXCJCcnRCZWdpbkRhdGFiYXIxNFxcXCJ9LDEwNTI6e246XFxcIkJydEJlZ2luSWNvblNldDE0XFxcIn0sMTA1Mzp7bjpcXFwiQnJ0RFZhbDE0XFxcIixmOkxkfSwxMDU0OntuOlxcXCJCcnRCZWdpbkRWYWxzMTRcXFwifSwxMDU1OntuOlxcXCJCcnRDb2xvcjE0XFxcIn0sMTA1Njp7bjpcXFwiQnJ0QmVnaW5TcGFya2xpbmVzXFxcIn0sMTA1Nzp7bjpcXFwiQnJ0RW5kU3BhcmtsaW5lc1xcXCJ9LDEwNTg6e246XFxcIkJydEJlZ2luU3BhcmtsaW5lR3JvdXBzXFxcIn0sMTA1OTp7bjpcXFwiQnJ0RW5kU3BhcmtsaW5lR3JvdXBzXFxcIn0sMTA2MTp7bjpcXFwiQnJ0U1hWRDE0XFxcIn0sMTA2Mjp7bjpcXFwiQnJ0QmVnaW5TWFZpZXcxNFxcXCJ9LDEwNjM6e246XFxcIkJydEVuZFNYVmlldzE0XFxcIn0sMTA2NDp7bjpcXFwiQnJ0QmVnaW5TWFZpZXcxNlxcXCJ9LDEwNjU6e246XFxcIkJydEVuZFNYVmlldzE2XFxcIn0sMTA2Njp7bjpcXFwiQnJ0QmVnaW5QQ0QxNFxcXCJ9LDEwNjc6e246XFxcIkJydEVuZFBDRDE0XFxcIn0sMTA2ODp7bjpcXFwiQnJ0QmVnaW5FeHRDb25uMTRcXFwifSwxMDY5OntuOlxcXCJCcnRFbmRFeHRDb25uMTRcXFwifSwxMDcwOntuOlxcXCJCcnRCZWdpblNsaWNlckNhY2hlSURzXFxcIn0sMTA3MTp7bjpcXFwiQnJ0RW5kU2xpY2VyQ2FjaGVJRHNcXFwifSwxMDcyOntuOlxcXCJCcnRCZWdpblNsaWNlckNhY2hlSURcXFwifSwxMDczOntuOlxcXCJCcnRFbmRTbGljZXJDYWNoZUlEXFxcIn0sMTA3NTp7bjpcXFwiQnJ0QmVnaW5TbGljZXJDYWNoZVxcXCJ9LDEwNzY6e246XFxcIkJydEVuZFNsaWNlckNhY2hlXFxcIn0sMTA3Nzp7bjpcXFwiQnJ0QmVnaW5TbGljZXJDYWNoZURlZlxcXCJ9LDEwNzg6e246XFxcIkJydEVuZFNsaWNlckNhY2hlRGVmXFxcIn0sMTA3OTp7bjpcXFwiQnJ0QmVnaW5TbGljZXJzRXhcXFwifSwxMDgwOntuOlxcXCJCcnRFbmRTbGljZXJzRXhcXFwifSwxMDgxOntuOlxcXCJCcnRCZWdpblNsaWNlckV4XFxcIn0sMTA4Mjp7bjpcXFwiQnJ0RW5kU2xpY2VyRXhcXFwifSwxMDgzOntuOlxcXCJCcnRCZWdpblNsaWNlclxcXCJ9LDEwODQ6e246XFxcIkJydEVuZFNsaWNlclxcXCJ9LDEwODU6e246XFxcIkJydFNsaWNlckNhY2hlUGl2b3RUYWJsZXNcXFwifSwxMDg2OntuOlxcXCJCcnRCZWdpblNsaWNlckNhY2hlT2xhcEltcGxcXFwifSwxMDg3OntuOlxcXCJCcnRFbmRTbGljZXJDYWNoZU9sYXBJbXBsXFxcIn0sMTA4ODp7bjpcXFwiQnJ0QmVnaW5TbGljZXJDYWNoZUxldmVsc0RhdGFcXFwifSwxMDg5OntuOlxcXCJCcnRFbmRTbGljZXJDYWNoZUxldmVsc0RhdGFcXFwifSwxMDkwOntuOlxcXCJCcnRCZWdpblNsaWNlckNhY2hlTGV2ZWxEYXRhXFxcIn0sMTA5MTp7bjpcXFwiQnJ0RW5kU2xpY2VyQ2FjaGVMZXZlbERhdGFcXFwifSwxMDkyOntuOlxcXCJCcnRCZWdpblNsaWNlckNhY2hlU2lSYW5nZXNcXFwifSwxMDkzOntuOlxcXCJCcnRFbmRTbGljZXJDYWNoZVNpUmFuZ2VzXFxcIn0sMTA5NDp7bjpcXFwiQnJ0QmVnaW5TbGljZXJDYWNoZVNpUmFuZ2VcXFwifSwxMDk1OntuOlxcXCJCcnRFbmRTbGljZXJDYWNoZVNpUmFuZ2VcXFwifSwxMDk2OntuOlxcXCJCcnRTbGljZXJDYWNoZU9sYXBJdGVtXFxcIn0sMTA5Nzp7bjpcXFwiQnJ0QmVnaW5TbGljZXJDYWNoZVNlbGVjdGlvbnNcXFwifSwxMDk4OntuOlxcXCJCcnRTbGljZXJDYWNoZVNlbGVjdGlvblxcXCJ9LDEwOTk6e246XFxcIkJydEVuZFNsaWNlckNhY2hlU2VsZWN0aW9uc1xcXCJ9LDExMDA6e246XFxcIkJydEJlZ2luU2xpY2VyQ2FjaGVOYXRpdmVcXFwifSwxMTAxOntuOlxcXCJCcnRFbmRTbGljZXJDYWNoZU5hdGl2ZVxcXCJ9LDExMDI6e246XFxcIkJydFNsaWNlckNhY2hlTmF0aXZlSXRlbVxcXCJ9LDExMDM6e246XFxcIkJydFJhbmdlUHJvdGVjdGlvbjE0XFxcIn0sMTEwNDp7bjpcXFwiQnJ0UmFuZ2VQcm90ZWN0aW9uSXNvMTRcXFwifSwxMTA1OntuOlxcXCJCcnRDZWxsSWdub3JlRUMxNFxcXCJ9LDExMTE6e246XFxcIkJydExpc3QxNFxcXCJ9LDExMTI6e246XFxcIkJydENGSWNvblxcXCJ9LDExMTM6e246XFxcIkJydEJlZ2luU2xpY2VyQ2FjaGVzUGl2b3RDYWNoZUlEc1xcXCJ9LDExMTQ6e246XFxcIkJydEVuZFNsaWNlckNhY2hlc1Bpdm90Q2FjaGVJRHNcXFwifSwxMTE1OntuOlxcXCJCcnRCZWdpblNsaWNlcnNcXFwifSwxMTE2OntuOlxcXCJCcnRFbmRTbGljZXJzXFxcIn0sMTExNzp7bjpcXFwiQnJ0V2JQcm9wMTRcXFwifSwxMTE4OntuOlxcXCJCcnRCZWdpblNYRWRpdFxcXCJ9LDExMTk6e246XFxcIkJydEVuZFNYRWRpdFxcXCJ9LDExMjA6e246XFxcIkJydEJlZ2luU1hFZGl0c1xcXCJ9LDExMjE6e246XFxcIkJydEVuZFNYRWRpdHNcXFwifSwxMTIyOntuOlxcXCJCcnRCZWdpblNYQ2hhbmdlXFxcIn0sMTEyMzp7bjpcXFwiQnJ0RW5kU1hDaGFuZ2VcXFwifSwxMTI0OntuOlxcXCJCcnRCZWdpblNYQ2hhbmdlc1xcXCJ9LDExMjU6e246XFxcIkJydEVuZFNYQ2hhbmdlc1xcXCJ9LDExMjY6e246XFxcIkJydFNYVHVwbGVJdGVtc1xcXCJ9LDExMjg6e246XFxcIkJydEJlZ2luU2xpY2VyU3R5bGVcXFwifSwxMTI5OntuOlxcXCJCcnRFbmRTbGljZXJTdHlsZVxcXCJ9LDExMzA6e246XFxcIkJydFNsaWNlclN0eWxlRWxlbWVudFxcXCJ9LDExMzE6e246XFxcIkJydEJlZ2luU3R5bGVTaGVldEV4dDE0XFxcIn0sMTEzMjp7bjpcXFwiQnJ0RW5kU3R5bGVTaGVldEV4dDE0XFxcIn0sMTEzMzp7bjpcXFwiQnJ0QmVnaW5TbGljZXJDYWNoZXNQaXZvdENhY2hlSURcXFwifSwxMTM0OntuOlxcXCJCcnRFbmRTbGljZXJDYWNoZXNQaXZvdENhY2hlSURcXFwifSwxMTM1OntuOlxcXCJCcnRCZWdpbkNvbmRpdGlvbmFsRm9ybWF0dGluZ3NcXFwifSwxMTM2OntuOlxcXCJCcnRFbmRDb25kaXRpb25hbEZvcm1hdHRpbmdzXFxcIn0sMTEzNzp7bjpcXFwiQnJ0QmVnaW5QQ0RDYWxjTWVtRXh0XFxcIn0sMTEzODp7bjpcXFwiQnJ0RW5kUENEQ2FsY01lbUV4dFxcXCJ9LDExMzk6e246XFxcIkJydEJlZ2luUENEQ2FsY01lbXNFeHRcXFwifSwxMTQwOntuOlxcXCJCcnRFbmRQQ0RDYWxjTWVtc0V4dFxcXCJ9LDExNDE6e246XFxcIkJydFBDREZpZWxkMTRcXFwifSwxMTQyOntuOlxcXCJCcnRCZWdpblNsaWNlclN0eWxlc1xcXCJ9LDExNDM6e246XFxcIkJydEVuZFNsaWNlclN0eWxlc1xcXCJ9LDExNDQ6e246XFxcIkJydEJlZ2luU2xpY2VyU3R5bGVFbGVtZW50c1xcXCJ9LDExNDU6e246XFxcIkJydEVuZFNsaWNlclN0eWxlRWxlbWVudHNcXFwifSwxMTQ2OntuOlxcXCJCcnRDRlJ1bGVFeHRcXFwifSwxMTQ3OntuOlxcXCJCcnRCZWdpblNYQ29uZEZtdDE0XFxcIn0sMTE0ODp7bjpcXFwiQnJ0RW5kU1hDb25kRm10MTRcXFwifSwxMTQ5OntuOlxcXCJCcnRCZWdpblNYQ29uZEZtdHMxNFxcXCJ9LDExNTA6e246XFxcIkJydEVuZFNYQ29uZEZtdHMxNFxcXCJ9LDExNTI6e246XFxcIkJydEJlZ2luU29ydENvbmQxNFxcXCJ9LDExNTM6e246XFxcIkJydEVuZFNvcnRDb25kMTRcXFwifSwxMTU0OntuOlxcXCJCcnRFbmREVmFsczE0XFxcIn0sMTE1NTp7bjpcXFwiQnJ0RW5kSWNvblNldDE0XFxcIn0sMTE1Njp7bjpcXFwiQnJ0RW5kRGF0YWJhcjE0XFxcIn0sMTE1Nzp7bjpcXFwiQnJ0QmVnaW5Db2xvclNjYWxlMTRcXFwifSwxMTU4OntuOlxcXCJCcnRFbmRDb2xvclNjYWxlMTRcXFwifSwxMTU5OntuOlxcXCJCcnRCZWdpblN4cnVsZXMxNFxcXCJ9LDExNjA6e246XFxcIkJydEVuZFN4cnVsZXMxNFxcXCJ9LDExNjE6e246XFxcIkJydEJlZ2luUFJ1bGUxNFxcXCJ9LDExNjI6e246XFxcIkJydEVuZFBSdWxlMTRcXFwifSwxMTYzOntuOlxcXCJCcnRCZWdpblBSRmlsdGVyczE0XFxcIn0sMTE2NDp7bjpcXFwiQnJ0RW5kUFJGaWx0ZXJzMTRcXFwifSwxMTY1OntuOlxcXCJCcnRCZWdpblBSRmlsdGVyMTRcXFwifSwxMTY2OntuOlxcXCJCcnRFbmRQUkZpbHRlcjE0XFxcIn0sMTE2Nzp7bjpcXFwiQnJ0QmVnaW5QUkZJdGVtMTRcXFwifSwxMTY4OntuOlxcXCJCcnRFbmRQUkZJdGVtMTRcXFwifSwxMTY5OntuOlxcXCJCcnRCZWdpbkNlbGxJZ25vcmVFQ3MxNFxcXCJ9LDExNzA6e246XFxcIkJydEVuZENlbGxJZ25vcmVFQ3MxNFxcXCJ9LDExNzE6e246XFxcIkJydER4ZjE0XFxcIn0sMTE3Mjp7bjpcXFwiQnJ0QmVnaW5EeEYxNHNcXFwifSwxMTczOntuOlxcXCJCcnRFbmREeGYxNHNcXFwifSwxMTc3OntuOlxcXCJCcnRGaWx0ZXIxNFxcXCJ9LDExNzg6e246XFxcIkJydEJlZ2luQ3VzdG9tRmlsdGVyczE0XFxcIn0sMTE4MDp7bjpcXFwiQnJ0Q3VzdG9tRmlsdGVyMTRcXFwifSwxMTgxOntuOlxcXCJCcnRJY29uRmlsdGVyMTRcXFwifSwxMTgyOntuOlxcXCJCcnRQaXZvdENhY2hlQ29ubmVjdGlvbk5hbWVcXFwifSwyMDQ4OntuOlxcXCJCcnRCZWdpbkRlY291cGxlZFBpdm90Q2FjaGVJRHNcXFwifSwyMDQ5OntuOlxcXCJCcnRFbmREZWNvdXBsZWRQaXZvdENhY2hlSURzXFxcIn0sMjA1MDp7bjpcXFwiQnJ0RGVjb3VwbGVkUGl2b3RDYWNoZUlEXFxcIn0sMjA1MTp7bjpcXFwiQnJ0QmVnaW5QaXZvdFRhYmxlUmVmc1xcXCJ9LDIwNTI6e246XFxcIkJydEVuZFBpdm90VGFibGVSZWZzXFxcIn0sMjA1Mzp7bjpcXFwiQnJ0UGl2b3RUYWJsZVJlZlxcXCJ9LDIwNTQ6e246XFxcIkJydFNsaWNlckNhY2hlQm9va1Bpdm90VGFibGVzXFxcIn0sMjA1NTp7bjpcXFwiQnJ0QmVnaW5TeHZjZWxsc1xcXCJ9LDIwNTY6e246XFxcIkJydEVuZFN4dmNlbGxzXFxcIn0sMjA1Nzp7bjpcXFwiQnJ0QmVnaW5TeFJvd1xcXCJ9LDIwNTg6e246XFxcIkJydEVuZFN4Um93XFxcIn0sMjA2MDp7bjpcXFwiQnJ0UGNkQ2FsY01lbTE1XFxcIn0sMjA2Nzp7bjpcXFwiQnJ0UXNpMTVcXFwifSwyMDY4OntuOlxcXCJCcnRCZWdpbldlYkV4dGVuc2lvbnNcXFwifSwyMDY5OntuOlxcXCJCcnRFbmRXZWJFeHRlbnNpb25zXFxcIn0sMjA3MDp7bjpcXFwiQnJ0V2ViRXh0ZW5zaW9uXFxcIn0sMjA3MTp7bjpcXFwiQnJ0QWJzUGF0aDE1XFxcIn0sMjA3Mjp7bjpcXFwiQnJ0QmVnaW5QaXZvdFRhYmxlVUlTZXR0aW5nc1xcXCJ9LDIwNzM6e246XFxcIkJydEVuZFBpdm90VGFibGVVSVNldHRpbmdzXFxcIn0sMjA3NTp7bjpcXFwiQnJ0VGFibGVTbGljZXJDYWNoZUlEc1xcXCJ9LDIwNzY6e246XFxcIkJydFRhYmxlU2xpY2VyQ2FjaGVJRFxcXCJ9LDIwNzc6e246XFxcIkJydEJlZ2luVGFibGVTbGljZXJDYWNoZVxcXCJ9LDIwNzg6e246XFxcIkJydEVuZFRhYmxlU2xpY2VyQ2FjaGVcXFwifSwyMDc5OntuOlxcXCJCcnRTeEZpbHRlcjE1XFxcIn0sMjA4MDp7bjpcXFwiQnJ0QmVnaW5UaW1lbGluZUNhY2hlUGl2b3RDYWNoZUlEc1xcXCJ9LDIwODE6e246XFxcIkJydEVuZFRpbWVsaW5lQ2FjaGVQaXZvdENhY2hlSURzXFxcIn0sMjA4Mjp7bjpcXFwiQnJ0VGltZWxpbmVDYWNoZVBpdm90Q2FjaGVJRFxcXCJ9LDIwODM6e246XFxcIkJydEJlZ2luVGltZWxpbmVDYWNoZUlEc1xcXCJ9LDIwODQ6e246XFxcIkJydEVuZFRpbWVsaW5lQ2FjaGVJRHNcXFwifSwyMDg1OntuOlxcXCJCcnRCZWdpblRpbWVsaW5lQ2FjaGVJRFxcXCJ9LDIwODY6e246XFxcIkJydEVuZFRpbWVsaW5lQ2FjaGVJRFxcXCJ9LDIwODc6e246XFxcIkJydEJlZ2luVGltZWxpbmVzRXhcXFwifSwyMDg4OntuOlxcXCJCcnRFbmRUaW1lbGluZXNFeFxcXCJ9LDIwODk6e246XFxcIkJydEJlZ2luVGltZWxpbmVFeFxcXCJ9LDIwOTA6e246XFxcIkJydEVuZFRpbWVsaW5lRXhcXFwifSwyMDkxOntuOlxcXCJCcnRXb3JrQm9va1ByMTVcXFwifSwyMDkyOntuOlxcXCJCcnRQQ0RIMTVcXFwifSwyMDkzOntuOlxcXCJCcnRCZWdpblRpbWVsaW5lU3R5bGVcXFwifSwyMDk0OntuOlxcXCJCcnRFbmRUaW1lbGluZVN0eWxlXFxcIn0sMjA5NTp7bjpcXFwiQnJ0VGltZWxpbmVTdHlsZUVsZW1lbnRcXFwifSwyMDk2OntuOlxcXCJCcnRCZWdpblRpbWVsaW5lU3R5bGVzaGVldEV4dDE1XFxcIn0sMjA5Nzp7bjpcXFwiQnJ0RW5kVGltZWxpbmVTdHlsZXNoZWV0RXh0MTVcXFwifSwyMDk4OntuOlxcXCJCcnRCZWdpblRpbWVsaW5lU3R5bGVzXFxcIn0sMjA5OTp7bjpcXFwiQnJ0RW5kVGltZWxpbmVTdHlsZXNcXFwifSwyMTAwOntuOlxcXCJCcnRCZWdpblRpbWVsaW5lU3R5bGVFbGVtZW50c1xcXCJ9LDIxMDE6e246XFxcIkJydEVuZFRpbWVsaW5lU3R5bGVFbGVtZW50c1xcXCJ9LDIxMDI6e246XFxcIkJydER4ZjE1XFxcIn0sMjEwMzp7bjpcXFwiQnJ0QmVnaW5EeGZzMTVcXFwifSwyMTA0OntuOlxcXCJicnRFbmREeGZzMTVcXFwifSwyMTA1OntuOlxcXCJCcnRTbGljZXJDYWNoZUhpZGVJdGVtc1dpdGhOb0RhdGFcXFwifSwyMTA2OntuOlxcXCJCcnRCZWdpbkl0ZW1VbmlxdWVOYW1lc1xcXCJ9LDIxMDc6e246XFxcIkJydEVuZEl0ZW1VbmlxdWVOYW1lc1xcXCJ9LDIxMDg6e246XFxcIkJydEl0ZW1VbmlxdWVOYW1lXFxcIn0sMjEwOTp7bjpcXFwiQnJ0QmVnaW5FeHRDb25uMTVcXFwifSwyMTEwOntuOlxcXCJCcnRFbmRFeHRDb25uMTVcXFwifSwyMTExOntuOlxcXCJCcnRCZWdpbk9sZWRiUHIxNVxcXCJ9LDIxMTI6e246XFxcIkJydEVuZE9sZWRiUHIxNVxcXCJ9LDIxMTM6e246XFxcIkJydEJlZ2luRGF0YUZlZWRQcjE1XFxcIn0sMjExNDp7bjpcXFwiQnJ0RW5kRGF0YUZlZWRQcjE1XFxcIn0sMjExNTp7bjpcXFwiQnJ0VGV4dFByMTVcXFwifSwyMTE2OntuOlxcXCJCcnRSYW5nZVByMTVcXFwifSwyMTE3OntuOlxcXCJCcnREYkNvbW1hbmQxNVxcXCJ9LDIxMTg6e246XFxcIkJydEJlZ2luRGJUYWJsZXMxNVxcXCJ9LDIxMTk6e246XFxcIkJydEVuZERiVGFibGVzMTVcXFwifSwyMTIwOntuOlxcXCJCcnREYlRhYmxlMTVcXFwifSwyMTIxOntuOlxcXCJCcnRCZWdpbkRhdGFNb2RlbFxcXCJ9LDIxMjI6e246XFxcIkJydEVuZERhdGFNb2RlbFxcXCJ9LDIxMjM6e246XFxcIkJydEJlZ2luTW9kZWxUYWJsZXNcXFwifSwyMTI0OntuOlxcXCJCcnRFbmRNb2RlbFRhYmxlc1xcXCJ9LDIxMjU6e246XFxcIkJydE1vZGVsVGFibGVcXFwifSwyMTI2OntuOlxcXCJCcnRCZWdpbk1vZGVsUmVsYXRpb25zaGlwc1xcXCJ9LDIxMjc6e246XFxcIkJydEVuZE1vZGVsUmVsYXRpb25zaGlwc1xcXCJ9LDIxMjg6e246XFxcIkJydE1vZGVsUmVsYXRpb25zaGlwXFxcIn0sMjEyOTp7bjpcXFwiQnJ0QmVnaW5FQ1R4dFdpejE1XFxcIn0sMjEzMDp7bjpcXFwiQnJ0RW5kRUNUeHRXaXoxNVxcXCJ9LDIxMzE6e246XFxcIkJydEJlZ2luRUNUV0ZsZEluZm9Mc3QxNVxcXCJ9LDIxMzI6e246XFxcIkJydEVuZEVDVFdGbGRJbmZvTHN0MTVcXFwifSwyMTMzOntuOlxcXCJCcnRCZWdpbkVDVFdGbGRJbmZvMTVcXFwifSwyMTM0OntuOlxcXCJCcnRGaWVsZExpc3RBY3RpdmVJdGVtXFxcIn0sMjEzNTp7bjpcXFwiQnJ0UGl2b3RDYWNoZUlkVmVyc2lvblxcXCJ9LDIxMzY6e246XFxcIkJydFNYREkxNVxcXCJ9LDIxMzc6e246XFxcIkJydEJlZ2luTW9kZWxUaW1lR3JvdXBpbmdzXFxcIn0sMjEzODp7bjpcXFwiQnJ0RW5kTW9kZWxUaW1lR3JvdXBpbmdzXFxcIn0sMjEzOTp7bjpcXFwiQnJ0QmVnaW5Nb2RlbFRpbWVHcm91cGluZ1xcXCJ9LDIxNDA6e246XFxcIkJydEVuZE1vZGVsVGltZUdyb3VwaW5nXFxcIn0sMjE0MTp7bjpcXFwiQnJ0TW9kZWxUaW1lR3JvdXBpbmdDYWxjQ29sXFxcIn0sMzA3Mjp7bjpcXFwiQnJ0VWlkXFxcIn0sMzA3Mzp7bjpcXFwiQnJ0UmV2aXNpb25QdHJcXFwifSw1MDk1OntuOlxcXCJCcnRCZWdpbkNhbGNGZWF0dXJlc1xcXCJ9LDUwOTY6e246XFxcIkJydEVuZENhbGNGZWF0dXJlc1xcXCJ9LDUwOTc6e246XFxcIkJydENhbGNGZWF0dXJlXFxcIn0sNjU1MzU6e246XFxcIlxcXCJ9fTt2YXIgRnA9WShEcCxcXFwiblxcXCIpO3ZhciBQcD17Mzp7bjpcXFwiQklGRjJOVU1cXFwiLGY6bmZ9LDQ6e246XFxcIkJJRkYyU1RSXFxcIixmOmFmfSw2OntuOlxcXCJGb3JtdWxhXFxcIixmOkt1fSw5OntuOlxcXCJCT0ZcXFwiLGY6T2l9LDEwOntuOlxcXCJFT0ZcXFwiLGY6Vm59LDEyOntuOlxcXCJDYWxjQ291bnRcXFwiLGY6JG59LDEzOntuOlxcXCJDYWxjTW9kZVxcXCIsZjokbn0sMTQ6e246XFxcIkNhbGNQcmVjaXNpb25cXFwiLGY6am59LDE1OntuOlxcXCJDYWxjUmVmTW9kZVxcXCIsZjpqbn0sMTY6e246XFxcIkNhbGNEZWx0YVxcXCIsZjpadH0sMTc6e246XFxcIkNhbGNJdGVyXFxcIixmOmpufSwxODp7bjpcXFwiUHJvdGVjdFxcXCIsZjpqbn0sMTk6e246XFxcIlBhc3N3b3JkXFxcIixmOiRufSwyMDp7bjpcXFwiSGVhZGVyXFxcIixmOkVzfSwyMTp7bjpcXFwiRm9vdGVyXFxcIixmOkVzfSwyMzp7bjpcXFwiRXh0ZXJuU2hlZXRcXFwiLGY6VHN9LDI0OntuOlxcXCJMYmxcXFwiLGY6QnN9LDI1OntuOlxcXCJXaW5Qcm90ZWN0XFxcIixmOmpufSwyNjp7bjpcXFwiVmVydGljYWxQYWdlQnJlYWtzXFxcIn0sMjc6e246XFxcIkhvcml6b250YWxQYWdlQnJlYWtzXFxcIn0sMjg6e246XFxcIk5vdGVcXFwiLGY6RHN9LDI5OntuOlxcXCJTZWxlY3Rpb25cXFwifSwzNDp7bjpcXFwiRGF0ZTE5MDRcXFwiLGY6am59LDM1OntuOlxcXCJFeHRlcm5OYW1lXFxcIixmOl9zfSwzNjp7bjpcXFwiQ09MV0lEVEhcXFwifSwzODp7bjpcXFwiTGVmdE1hcmdpblxcXCIsZjpadH0sMzk6e246XFxcIlJpZ2h0TWFyZ2luXFxcIixmOlp0fSw0MDp7bjpcXFwiVG9wTWFyZ2luXFxcIixmOlp0fSw0MTp7bjpcXFwiQm90dG9tTWFyZ2luXFxcIixmOlp0fSw0Mjp7bjpcXFwiUHJpbnRSb3dDb2xcXFwiLGY6am59LDQzOntuOlxcXCJQcmludEdyaWRcXFwiLGY6am59LDQ3OntuOlxcXCJGaWxlUGFzc1xcXCIsZjppb30sNDk6e246XFxcIkZvbnRcXFwiLGY6UWl9LDUxOntuOlxcXCJQcmludFNpemVcXFwiLGY6JG59LDYwOntuOlxcXCJDb250aW51ZVxcXCJ9LDYxOntuOlxcXCJXaW5kb3cxXFxcIixmOktpfSw2NDp7bjpcXFwiQmFja3VwXFxcIixmOmpufSw2NTp7bjpcXFwiUGFuZVxcXCIsZjpKaX0sNjY6e246XFxcIkNvZGVQYWdlXFxcIixmOiRufSw3Nzp7bjpcXFwiUGxzXFxcIn0sODA6e246XFxcIkRDb25cXFwifSw4MTp7bjpcXFwiRENvblJlZlxcXCJ9LDgyOntuOlxcXCJEQ29uTmFtZVxcXCJ9LDg1OntuOlxcXCJEZWZDb2xXaWR0aFxcXCIsZjokbn0sODk6e246XFxcIlhDVFxcXCJ9LDkwOntuOlxcXCJDUk5cXFwifSw5MTp7bjpcXFwiRmlsZVNoYXJpbmdcXFwifSw5Mjp7bjpcXFwiV3JpdGVBY2Nlc3NcXFwiLGY6UGl9LDkzOntuOlxcXCJPYmpcXFwiLGY6TnN9LDk0OntuOlxcXCJVbmNhbGNlZFxcXCJ9LDk1OntuOlxcXCJDYWxjU2F2ZVJlY2FsY1xcXCIsZjpqbn0sOTY6e246XFxcIlRlbXBsYXRlXFxcIn0sOTc6e246XFxcIkludGxcXFwifSw5OTp7bjpcXFwiT2JqUHJvdGVjdFxcXCIsZjpqbn0sMTI1OntuOlxcXCJDb2xJbmZvXFxcIixmOllzfSwxMjg6e246XFxcIkd1dHNcXFwiLGY6cHN9LDEyOTp7bjpcXFwiV3NCb29sXFxcIixmOkxpfSwxMzA6e246XFxcIkdyaWRTZXRcXFwiLGY6JG59LDEzMTp7bjpcXFwiSENlbnRlclxcXCIsZjpqbn0sMTMyOntuOlxcXCJWQ2VudGVyXFxcIixmOmpufSwxMzM6e246XFxcIkJvdW5kU2hlZXQ4XFxcIixmOk1pfSwxMzQ6e246XFxcIldyaXRlUHJvdGVjdFxcXCJ9LDE0MDp7bjpcXFwiQ291bnRyeVxcXCIsZjpYc30sMTQxOntuOlxcXCJIaWRlT2JqXFxcIixmOiRufSwxNDQ6e246XFxcIlNvcnRcXFwifSwxNDY6e246XFxcIlBhbGV0dGVcXFwiLGY6S3N9LDE1MTp7bjpcXFwiU3luY1xcXCJ9LDE1Mjp7bjpcXFwiTFByXFxcIn0sMTUzOntuOlxcXCJEeEdDb2xcXFwifSwxNTQ6e246XFxcIkZuR3JvdXBOYW1lXFxcIn0sMTU1OntuOlxcXCJGaWx0ZXJNb2RlXFxcIn0sMTU2OntuOlxcXCJCdWlsdEluRm5Hcm91cENvdW50XFxcIixmOiRufSwxNTc6e246XFxcIkF1dG9GaWx0ZXJJbmZvXFxcIn0sMTU4OntuOlxcXCJBdXRvRmlsdGVyXFxcIn0sMTYwOntuOlxcXCJTY2xcXFwiLGY6ZWZ9LDE2MTp7bjpcXFwiU2V0dXBcXFwiLGY6WnN9LDE3NDp7bjpcXFwiU2Nlbk1hblxcXCJ9LDE3NTp7bjpcXFwiU0NFTkFSSU9cXFwifSwxNzY6e246XFxcIlN4Vmlld1xcXCJ9LDE3Nzp7bjpcXFwiU3h2ZFxcXCJ9LDE3ODp7bjpcXFwiU1hWSVxcXCJ9LDE4MDp7bjpcXFwiU3hJdmRcXFwifSwxODE6e246XFxcIlNYTElcXFwifSwxODI6e246XFxcIlNYUElcXFwifSwxODQ6e246XFxcIkRvY1JvdXRlXFxcIn0sMTg1OntuOlxcXCJSZWNpcE5hbWVcXFwifSwxODk6e246XFxcIk11bFJrXFxcIixmOmNzfSwxOTA6e246XFxcIk11bEJsYW5rXFxcIixmOnVzfSwxOTM6e246XFxcIk1tc1xcXCIsZjpWbn0sMTk3OntuOlxcXCJTWERJXFxcIn0sMTk4OntuOlxcXCJTWERCXFxcIn0sMTk5OntuOlxcXCJTWEZEQlxcXCJ9LDIwMDp7bjpcXFwiU1hEQkJcXFwifSwyMDE6e246XFxcIlNYTnVtXFxcIn0sMjAyOntuOlxcXCJTeEJvb2xcXFwiLGY6am59LDIwMzp7bjpcXFwiU3hFcnJcXFwifSwyMDQ6e246XFxcIlNYSW50XFxcIn0sMjA1OntuOlxcXCJTWFN0cmluZ1xcXCJ9LDIwNjp7bjpcXFwiU1hEdHJcXFwifSwyMDc6e246XFxcIlN4TmlsXFxcIn0sMjA4OntuOlxcXCJTWFRibFxcXCJ9LDIwOTp7bjpcXFwiU1hUQlJHSUlUTVxcXCJ9LDIxMDp7bjpcXFwiU3hUYnBnXFxcIn0sMjExOntuOlxcXCJPYlByb2pcXFwifSwyMTM6e246XFxcIlNYU3RyZWFtSURcXFwifSwyMTU6e246XFxcIkRCQ2VsbFxcXCJ9LDIxNjp7bjpcXFwiU1hSbmdcXFwifSwyMTc6e246XFxcIlN4SXN4b3BlclxcXCJ9LDIxODp7bjpcXFwiQm9va0Jvb2xcXFwiLGY6JG59LDIyMDp7bjpcXFwiRGJPclBhcmFtUXJ5XFxcIn0sMjIxOntuOlxcXCJTY2VuYXJpb1Byb3RlY3RcXFwiLGY6am59LDIyMjp7bjpcXFwiT2xlT2JqZWN0U2l6ZVxcXCJ9LDIyNDp7bjpcXFwiWEZcXFwiLGY6ZHN9LDIyNTp7bjpcXFwiSW50ZXJmYWNlSGRyXFxcIixmOkZpfSwyMjY6e246XFxcIkludGVyZmFjZUVuZFxcXCIsZjpWbn0sMjI3OntuOlxcXCJTWFZTXFxcIn0sMjI5OntuOlxcXCJNZXJnZUNlbGxzXFxcIixmOkZzfSwyMzM6e246XFxcIkJrSGltXFxcIn0sMjM1OntuOlxcXCJNc29EcmF3aW5nR3JvdXBcXFwifSwyMzY6e246XFxcIk1zb0RyYXdpbmdcXFwifSwyMzc6e246XFxcIk1zb0RyYXdpbmdTZWxlY3Rpb25cXFwifSwyMzk6e246XFxcIlBob25ldGljSW5mb1xcXCJ9LDI0MDp7bjpcXFwiU3hSdWxlXFxcIn0sMjQxOntuOlxcXCJTWEV4XFxcIn0sMjQyOntuOlxcXCJTeEZpbHRcXFwifSwyNDQ6e246XFxcIlN4RFhGXFxcIn0sMjQ1OntuOlxcXCJTeEl0bVxcXCJ9LDI0Njp7bjpcXFwiU3hOYW1lXFxcIn0sMjQ3OntuOlxcXCJTeFNlbGVjdFxcXCJ9LDI0ODp7bjpcXFwiU1hQYWlyXFxcIn0sMjQ5OntuOlxcXCJTeEZtbGFcXFwifSwyNTE6e246XFxcIlN4Rm9ybWF0XFxcIn0sMjUyOntuOlxcXCJTU1RcXFwiLGY6eml9LDI1Mzp7bjpcXFwiTGFiZWxTc3RcXFwiLGY6ZXN9LDI1NTp7bjpcXFwiRXh0U1NUXFxcIixmOldpfSwyNTY6e246XFxcIlNYVkRFeFxcXCJ9LDI1OTp7bjpcXFwiU1hGb3JtdWxhXFxcIn0sMjkwOntuOlxcXCJTWERCRXhcXFwifSwzMTE6e246XFxcIlJSREluc0RlbFxcXCJ9LDMxMjp7bjpcXFwiUlJESGVhZFxcXCJ9LDMxNTp7bjpcXFwiUlJEQ2hnQ2VsbFxcXCJ9LDMxNzp7bjpcXFwiUlJUYWJJZFxcXCIsZjpabn0sMzE4OntuOlxcXCJSUkRSZW5TaGVldFxcXCJ9LDMxOTp7bjpcXFwiUlJTb3J0XFxcIn0sMzIwOntuOlxcXCJSUkRNb3ZlXFxcIn0sMzMwOntuOlxcXCJSUkZvcm1hdFxcXCJ9LDMzMTp7bjpcXFwiUlJBdXRvRm10XFxcIn0sMzMzOntuOlxcXCJSUkluc2VydFNoXFxcIn0sMzM0OntuOlxcXCJSUkRNb3ZlQmVnaW5cXFwifSwzMzU6e246XFxcIlJSRE1vdmVFbmRcXFwifSwzMzY6e246XFxcIlJSREluc0RlbEJlZ2luXFxcIn0sMzM3OntuOlxcXCJSUkRJbnNEZWxFbmRcXFwifSwzMzg6e246XFxcIlJSRENvbmZsaWN0XFxcIn0sMzM5OntuOlxcXCJSUkREZWZOYW1lXFxcIn0sMzQwOntuOlxcXCJSUkRSc3RFdHhwXFxcIn0sMzUxOntuOlxcXCJMUm5nXFxcIn0sMzUyOntuOlxcXCJVc2VzRUxGc1xcXCIsZjpqbn0sMzUzOntuOlxcXCJEU0ZcXFwiLGY6Vm59LDQwMTp7bjpcXFwiQ1VzclxcXCJ9LDQwMjp7bjpcXFwiQ2JVc3JcXFwifSw0MDM6e246XFxcIlVzckluZm9cXFwifSw0MDQ6e246XFxcIlVzckV4Y2xcXFwifSw0MDU6e246XFxcIkZpbGVMb2NrXFxcIn0sNDA2OntuOlxcXCJSUkRJbmZvXFxcIn0sNDA3OntuOlxcXCJCQ1VzcnNcXFwifSw0MDg6e246XFxcIlVzckNoa1xcXCJ9LDQyNTp7bjpcXFwiVXNlckJWaWV3XFxcIn0sNDI2OntuOlxcXCJVc2VyU1ZpZXdCZWdpblxcXCJ9LDQyNzp7bjpcXFwiVXNlclNWaWV3RW5kXFxcIn0sNDI4OntuOlxcXCJSUkRVc2VyVmlld1xcXCJ9LDQyOTp7bjpcXFwiUXNpXFxcIn0sNDMwOntuOlxcXCJTdXBCb29rXFxcIixmOlNzfSw0MzE6e246XFxcIlByb3Q0UmV2XFxcIixmOmpufSw0MzI6e246XFxcIkNvbmRGbXRcXFwifSw0MzM6e246XFxcIkNGXFxcIn0sNDM0OntuOlxcXCJEVmFsXFxcIn0sNDM3OntuOlxcXCJEQ29uQmluXFxcIn0sNDM4OntuOlxcXCJUeE9cXFwiLGY6VXN9LDQzOTp7bjpcXFwiUmVmcmVzaEFsbFxcXCIsZjpqbn0sNDQwOntuOlxcXCJITGlua1xcXCIsZjp6c30sNDQxOntuOlxcXCJMZWxcXFwifSw0NDI6e246XFxcIkNvZGVOYW1lXFxcIixmOmFpfSw0NDM6e246XFxcIlNYRkRCVHlwZVxcXCJ9LDQ0NDp7bjpcXFwiUHJvdDRSZXZQYXNzXFxcIixmOiRufSw0NDU6e246XFxcIk9iTm9NYWNyb3NcXFwifSw0NDY6e246XFxcIkR2XFxcIn0sNDQ4OntuOlxcXCJFeGNlbDlGaWxlXFxcIixmOlZufSw0NDk6e246XFxcIlJlY2FsY0lkXFxcIixmOkdpLHI6Mn0sNDUwOntuOlxcXCJFbnRFeFUyXFxcIixmOlZufSw1MTI6e246XFxcIkRpbWVuc2lvbnNcXFwiLGY6ZnN9LDUxMzp7bjpcXFwiQmxhbmtcXFwiLGY6cXN9LDUxNTp7bjpcXFwiTnVtYmVyXFxcIixmOndzfSw1MTY6e246XFxcIkxhYmVsXFxcIixmOnRzfSw1MTc6e246XFxcIkJvb2xFcnJcXFwiLGY6YnN9LDUxODp7bjpcXFwiRm9ybXVsYVxcXCIsZjpLdX0sNTE5OntuOlxcXCJTdHJpbmdcXFwiLGY6cmZ9LDUyMDp7bjpcXFwiUm93XFxcIixmOlZpfSw1MjM6e246XFxcIkluZGV4XFxcIn0sNTQ1OntuOlxcXCJBcnJheVxcXCIsZjpJc30sNTQ5OntuOlxcXCJEZWZhdWx0Um93SGVpZ2h0XFxcIixmOmppfSw1NjY6e246XFxcIlRhYmxlXFxcIn0sNTc0OntuOlxcXCJXaW5kb3cyXFxcIixmOllpfSw2Mzg6e246XFxcIlJLXFxcIixmOmxzfSw2NTk6e246XFxcIlN0eWxlXFxcIn0sMTAzMDp7bjpcXFwiRm9ybXVsYVxcXCIsZjpLdX0sMTA0ODp7bjpcXFwiQmlnTmFtZVxcXCJ9LDEwNTQ6e246XFxcIkZvcm1hdFxcXCIsZjpuc30sMTA4NDp7bjpcXFwiQ29udGludWVCaWdOYW1lXFxcIn0sMTIxMjp7bjpcXFwiU2hyRm1sYVxcXCIsZjpBc30sMjA0ODp7bjpcXFwiSExpbmtUb29sdGlwXFxcIixmOldzfSwyMDQ5OntuOlxcXCJXZWJQdWJcXFwifSwyMDUwOntuOlxcXCJRc2lTWFRhZ1xcXCJ9LDIwNTE6e246XFxcIkRCUXVlcnlFeHRcXFwifSwyMDUyOntuOlxcXCJFeHRTdHJpbmdcXFwifSwyMDUzOntuOlxcXCJUeHRRcnlcXFwifSwyMDU0OntuOlxcXCJRc2lyXFxcIn0sMjA1NTp7bjpcXFwiUXNpZlxcXCJ9LDIwNTY6e246XFxcIlJSRFRRU0lGXFxcIn0sMjA1Nzp7bjpcXFwiQk9GXFxcIixmOk9pfSwyMDU4OntuOlxcXCJPbGVEYkNvbm5cXFwifSwyMDU5OntuOlxcXCJXT3B0XFxcIn0sMjA2MDp7bjpcXFwiU1hWaWV3RXhcXFwifSwyMDYxOntuOlxcXCJTWFRIXFxcIn0sMjA2Mjp7bjpcXFwiU1hQSUV4XFxcIn0sMjA2Mzp7bjpcXFwiU1hWRFRFeFxcXCJ9LDIwNjQ6e246XFxcIlNYVmlld0V4OVxcXCJ9LDIwNjY6e246XFxcIkNvbnRpbnVlRnJ0XFxcIn0sMjA2Nzp7bjpcXFwiUmVhbFRpbWVEYXRhXFxcIn0sMjEyODp7bjpcXFwiQ2hhcnRGcnRJbmZvXFxcIn0sMjEyOTp7bjpcXFwiRnJ0V3JhcHBlclxcXCJ9LDIxMzA6e246XFxcIlN0YXJ0QmxvY2tcXFwifSwyMTMxOntuOlxcXCJFbmRCbG9ja1xcXCJ9LDIxMzI6e246XFxcIlN0YXJ0T2JqZWN0XFxcIn0sMjEzMzp7bjpcXFwiRW5kT2JqZWN0XFxcIn0sMjEzNDp7bjpcXFwiQ2F0TGFiXFxcIn0sMjEzNTp7bjpcXFwiWU11bHRcXFwifSwyMTM2OntuOlxcXCJTWFZpZXdMaW5rXFxcIn0sMjEzNzp7bjpcXFwiUGl2b3RDaGFydEJpdHNcXFwifSwyMTM4OntuOlxcXCJGcnRGb250TGlzdFxcXCJ9LDIxNDY6e246XFxcIlNoZWV0RXh0XFxcIn0sMjE0Nzp7bjpcXFwiQm9va0V4dFxcXCIscjoxMn0sMjE0ODp7bjpcXFwiU1hBZGRsXFxcIn0sMjE0OTp7bjpcXFwiQ3JFcnJcXFwifSwyMTUwOntuOlxcXCJIRlBpY3R1cmVcXFwifSwyMTUxOntuOlxcXCJGZWF0SGRyXFxcIixmOlZufSwyMTUyOntuOlxcXCJGZWF0XFxcIn0sMjE1NDp7bjpcXFwiRGF0YUxhYkV4dFxcXCJ9LDIxNTU6e246XFxcIkRhdGFMYWJFeHRDb250ZW50c1xcXCJ9LDIxNTY6e246XFxcIkNlbGxXYXRjaFxcXCJ9LDIxNjE6e246XFxcIkZlYXRIZHIxMVxcXCJ9LDIxNjI6e246XFxcIkZlYXR1cmUxMVxcXCJ9LDIxNjQ6e246XFxcIkRyb3BEb3duT2JqSWRzXFxcIn0sMjE2NTp7bjpcXFwiQ29udGludWVGcnQxMVxcXCJ9LDIxNjY6e246XFxcIkRDb25uXFxcIn0sMjE2Nzp7bjpcXFwiTGlzdDEyXFxcIn0sMjE2ODp7bjpcXFwiRmVhdHVyZTEyXFxcIn0sMjE2OTp7bjpcXFwiQ29uZEZtdDEyXFxcIn0sMjE3MDp7bjpcXFwiQ0YxMlxcXCJ9LDIxNzE6e246XFxcIkNGRXhcXFwifSwyMTcyOntuOlxcXCJYRkNSQ1xcXCIsZjokcyxyOjEyfSwyMTczOntuOlxcXCJYRkV4dFxcXCIsZjpJbCxyOjEyfSwyMTc0OntuOlxcXCJBdXRvRmlsdGVyMTJcXFwifSwyMTc1OntuOlxcXCJDb250aW51ZUZydDEyXFxcIn0sMjE4MDp7bjpcXFwiTURUSW5mb1xcXCJ9LDIxODE6e246XFxcIk1EWFN0clxcXCJ9LDIxODI6e246XFxcIk1EWFR1cGxlXFxcIn0sMjE4Mzp7bjpcXFwiTURYU2V0XFxcIn0sMjE4NDp7bjpcXFwiTURYUHJvcFxcXCJ9LDIxODU6e246XFxcIk1EWEtQSVxcXCJ9LDIxODY6e246XFxcIk1EQlxcXCJ9LDIxODc6e246XFxcIlBMVlxcXCJ9LDIxODg6e246XFxcIkNvbXBhdDEyXFxcIixmOmpuLHI6MTJ9LDIxODk6e246XFxcIkRYRlxcXCJ9LDIxOTA6e246XFxcIlRhYmxlU3R5bGVzXFxcIixyOjEyfSwyMTkxOntuOlxcXCJUYWJsZVN0eWxlXFxcIn0sMjE5Mjp7bjpcXFwiVGFibGVTdHlsZUVsZW1lbnRcXFwifSwyMTk0OntuOlxcXCJTdHlsZUV4dFxcXCJ9LDIxOTU6e246XFxcIk5hbWVQdWJsaXNoXFxcIn0sMjE5Njp7bjpcXFwiTmFtZUNtdFxcXCIsZjp4cyxyOjEyfSwyMTk3OntuOlxcXCJTb3J0RGF0YVxcXCJ9LDIxOTg6e246XFxcIlRoZW1lXFxcIixmOkNsLHI6MTJ9LDIxOTk6e246XFxcIkdVSURUeXBlTGliXFxcIn0sMjIwMDp7bjpcXFwiRm5HcnAxMlxcXCJ9LDIyMDE6e246XFxcIk5hbWVGbkdycDEyXFxcIn0sMjIwMjp7bjpcXFwiTVRSU2V0dGluZ3NcXFwiLGY6UnMscjoxMn0sMjIwMzp7bjpcXFwiQ29tcHJlc3NQaWN0dXJlc1xcXCIsZjpWbn0sMjIwNDp7bjpcXFwiSGVhZGVyRm9vdGVyXFxcIn0sMjIwNTp7bjpcXFwiQ3J0TGF5b3V0MTJcXFwifSwyMjA2OntuOlxcXCJDcnRNbEZydFxcXCJ9LDIyMDc6e246XFxcIkNydE1sRnJ0Q29udGludWVcXFwifSwyMjExOntuOlxcXCJGb3JjZUZ1bGxDYWxjdWxhdGlvblxcXCIsZjpYaX0sMjIxMjp7bjpcXFwiU2hhcGVQcm9wc1N0cmVhbVxcXCJ9LDIyMTM6e246XFxcIlRleHRQcm9wc1N0cmVhbVxcXCJ9LDIyMTQ6e246XFxcIlJpY2hUZXh0U3RyZWFtXFxcIn0sMjIxNTp7bjpcXFwiQ3J0TGF5b3V0MTJBXFxcIn0sNDA5Nzp7bjpcXFwiVW5pdHNcXFwifSw0MDk4OntuOlxcXCJDaGFydFxcXCJ9LDQwOTk6e246XFxcIlNlcmllc1xcXCJ9LDQxMDI6e246XFxcIkRhdGFGb3JtYXRcXFwifSw0MTAzOntuOlxcXCJMaW5lRm9ybWF0XFxcIn0sNDEwNTp7bjpcXFwiTWFya2VyRm9ybWF0XFxcIn0sNDEwNjp7bjpcXFwiQXJlYUZvcm1hdFxcXCJ9LDQxMDc6e246XFxcIlBpZUZvcm1hdFxcXCJ9LDQxMDg6e246XFxcIkF0dGFjaGVkTGFiZWxcXFwifSw0MTA5OntuOlxcXCJTZXJpZXNUZXh0XFxcIn0sNDExNjp7bjpcXFwiQ2hhcnRGb3JtYXRcXFwifSw0MTE3OntuOlxcXCJMZWdlbmRcXFwifSw0MTE4OntuOlxcXCJTZXJpZXNMaXN0XFxcIn0sNDExOTp7bjpcXFwiQmFyXFxcIn0sNDEyMDp7bjpcXFwiTGluZVxcXCJ9LDQxMjE6e246XFxcIlBpZVxcXCJ9LDQxMjI6e246XFxcIkFyZWFcXFwifSw0MTIzOntuOlxcXCJTY2F0dGVyXFxcIn0sNDEyNDp7bjpcXFwiQ3J0TGluZVxcXCJ9LDQxMjU6e246XFxcIkF4aXNcXFwifSw0MTI2OntuOlxcXCJUaWNrXFxcIn0sNDEyNzp7bjpcXFwiVmFsdWVSYW5nZVxcXCJ9LDQxMjg6e246XFxcIkNhdFNlclJhbmdlXFxcIn0sNDEyOTp7bjpcXFwiQXhpc0xpbmVcXFwifSw0MTMwOntuOlxcXCJDcnRMaW5rXFxcIn0sNDEzMjp7bjpcXFwiRGVmYXVsdFRleHRcXFwifSw0MTMzOntuOlxcXCJUZXh0XFxcIn0sNDEzNDp7bjpcXFwiRm9udFhcXFwiLGY6JG59LDQxMzU6e246XFxcIk9iamVjdExpbmtcXFwifSw0MTQ2OntuOlxcXCJGcmFtZVxcXCJ9LDQxNDc6e246XFxcIkJlZ2luXFxcIn0sNDE0ODp7bjpcXFwiRW5kXFxcIn0sNDE0OTp7bjpcXFwiUGxvdEFyZWFcXFwifSw0MTU0OntuOlxcXCJDaGFydDNkXFxcIn0sNDE1Njp7bjpcXFwiUGljRlxcXCJ9LDQxNTc6e246XFxcIkRyb3BCYXJcXFwifSw0MTU4OntuOlxcXCJSYWRhclxcXCJ9LDQxNTk6e246XFxcIlN1cmZcXFwifSw0MTYwOntuOlxcXCJSYWRhckFyZWFcXFwifSw0MTYxOntuOlxcXCJBeGlzUGFyZW50XFxcIn0sNDE2Mzp7bjpcXFwiTGVnZW5kRXhjZXB0aW9uXFxcIn0sNDE2NDp7bjpcXFwiU2h0UHJvcHNcXFwiLGY6SnN9LDQxNjU6e246XFxcIlNlclRvQ3J0XFxcIn0sNDE2Njp7bjpcXFwiQXhlc1VzZWRcXFwifSw0MTY4OntuOlxcXCJTQmFzZVJlZlxcXCJ9LDQxNzA6e246XFxcIlNlclBhcmVudFxcXCJ9LDQxNzE6e246XFxcIlNlckF1eFRyZW5kXFxcIn0sNDE3NDp7bjpcXFwiSUZtdFJlY29yZFxcXCJ9LDQxNzU6e246XFxcIlBvc1xcXCJ9LDQxNzY6e246XFxcIkFsUnVuc1xcXCJ9LDQxNzc6e246XFxcIkJSQUlcXFwifSw0MTg3OntuOlxcXCJTZXJBdXhFcnJCYXJcXFwifSw0MTg4OntuOlxcXCJDbHJ0Q2xpZW50XFxcIixmOmpzfSw0MTg5OntuOlxcXCJTZXJGbXRcXFwifSw0MTkxOntuOlxcXCJDaGFydDNEQmFyU2hhcGVcXFwifSw0MTkyOntuOlxcXCJGYmlcXFwifSw0MTkzOntuOlxcXCJCb3BQb3BcXFwifSw0MTk0OntuOlxcXCJBeGNFeHRcXFwifSw0MTk1OntuOlxcXCJEYXRcXFwifSw0MTk2OntuOlxcXCJQbG90R3Jvd3RoXFxcIn0sNDE5Nzp7bjpcXFwiU0lJbmRleFxcXCJ9LDQxOTg6e246XFxcIkdlbEZyYW1lXFxcIn0sNDE5OTp7bjpcXFwiQm9wUG9wQ3VzdG9tXFxcIn0sNDIwMDp7bjpcXFwiRmJpMlxcXCJ9LDA6e246XFxcIkRpbWVuc2lvbnNcXFwiLGY6ZnN9LDI6e246XFxcIkJJRkYySU5UXFxcIixmOmZmfSw1OntuOlxcXCJCb29sRXJyXFxcIixmOmJzfSw3OntuOlxcXCJTdHJpbmdcXFwiLGY6bGZ9LDg6e246XFxcIkJJRkYyUk9XXFxcIn0sMTE6e246XFxcIkluZGV4XFxcIn0sMjI6e246XFxcIkV4dGVybkNvdW50XFxcIixmOiRufSwzMDp7bjpcXFwiQklGRjJGT1JNQVRcXFwiLGY6c3N9LDMxOntuOlxcXCJCSUZGMkZNVENOVFxcXCJ9LDMyOntuOlxcXCJCSUZGMkNPTElORk9cXFwifSwzMzp7bjpcXFwiQXJyYXlcXFwiLGY6SXN9LDM3OntuOlxcXCJEZWZhdWx0Um93SGVpZ2h0XFxcIixmOmppfSw1MDp7bjpcXFwiQklGRjJGT05UWFRSQVxcXCIsZjpjZn0sNTI6e246XFxcIkRERU9iak5hbWVcXFwifSw2Mjp7bjpcXFwiQklGRjJXSU5ET1cyXFxcIn0sNjc6e246XFxcIkJJRkYyWEZcXFwifSw2OTp7bjpcXFwiQklGRjJGT05UQ0xSXFxcIn0sODY6e246XFxcIkJJRkY0Rk1UQ05UXFxcIn0sMTI2OntuOlxcXCJSS1xcXCJ9LDEyNzp7bjpcXFwiSW1EYXRhXFxcIixmOnRmfSwxMzU6e246XFxcIkFkZGluXFxcIn0sMTM2OntuOlxcXCJFZGdcXFwifSwxMzc6e246XFxcIlB1YlxcXCJ9LDE0NTp7bjpcXFwiU3ViXFxcIn0sMTQ4OntuOlxcXCJMSFJlY29yZFxcXCJ9LDE0OTp7bjpcXFwiTEhOR3JhcGhcXFwifSwxNTA6e246XFxcIlNvdW5kXFxcIn0sMTY5OntuOlxcXCJDb29yZExpc3RcXFwifSwxNzE6e246XFxcIkdDV1xcXCJ9LDE4ODp7bjpcXFwiU2hyRm1sYVxcXCJ9LDE5MTp7bjpcXFwiVG9vbGJhckhkclxcXCJ9LDE5Mjp7bjpcXFwiVG9vbGJhckVuZFxcXCJ9LDE5NDp7bjpcXFwiQWRkTWVudVxcXCJ9LDE5NTp7bjpcXFwiRGVsTWVudVxcXCJ9LDIxNDp7bjpcXFwiUlN0cmluZ1xcXCIsZjp1Zn0sMjIzOntuOlxcXCJVRERlc2NcXFwifSwyMzQ6e246XFxcIlRhYklkQ29uZlxcXCJ9LDM1NDp7bjpcXFwiWEw1TW9kaWZ5XFxcIn0sNDIxOntuOlxcXCJGaWxlU2hhcmluZzJcXFwifSw1MjE6e246XFxcIkJPRlxcXCIsZjpPaX0sNTM2OntuOlxcXCJMYmxcXFwiLGY6QnN9LDU0Nzp7bjpcXFwiRXh0ZXJuTmFtZVxcXCIsZjpfc30sNTYxOntuOlxcXCJGb250XFxcIn0sNTc5OntuOlxcXCJCSUZGM1hGXFxcIn0sMTAzMzp7bjpcXFwiQk9GXFxcIixmOk9pfSwxMDkxOntuOlxcXCJCSUZGNFhGXFxcIn0sMjE1Nzp7bjpcXFwiRmVhdEluZm9cXFwifSwyMTYzOntuOlxcXCJGZWF0SW5mbzExXFxcIn0sMjE3Nzp7bjpcXFwiU1hBZGRsMTJcXFwifSwyMjQwOntuOlxcXCJBdXRvV2ViUHViXFxcIn0sMjI0MTp7bjpcXFwiTGlzdE9ialxcXCJ9LDIyNDI6e246XFxcIkxpc3RGaWVsZFxcXCJ9LDIyNDM6e246XFxcIkxpc3REVlxcXCJ9LDIyNDQ6e246XFxcIkxpc3RDb25kRm10XFxcIn0sMjI0NTp7bjpcXFwiTGlzdENGXFxcIn0sMjI0Njp7bjpcXFwiRk1RcnlcXFwifSwyMjQ3OntuOlxcXCJGTVNRcnlcXFwifSwyMjQ4OntuOlxcXCJQTFZcXFwifSwyMjQ5OntuOlxcXCJMbkV4dFxcXCJ9LDIyNTA6e246XFxcIk1rckV4dFxcXCJ9LDIyNTE6e246XFxcIkNydENvb3B0XFxcIn0sMjI2Mjp7bjpcXFwiRlJUQXJjaElkJFxcXCIscjoxMn0sMjkyODI6e319O3ZhciBOcD1ZKFBwLFxcXCJuXFxcIik7ZnVuY3Rpb24gTHAoZSxyLHQsYSl7dmFyIG49K3J8fCtOcFtyXTtpZihpc05hTihuKSlyZXR1cm47dmFyIGk9YXx8KHR8fFtdKS5sZW5ndGh8fDA7dmFyIHM9ZS5uZXh0KDQpO3MuX1coMixuKTtzLl9XKDIsaSk7aWYoaT4wJiZOcih0KSllLnB1c2godCl9ZnVuY3Rpb24gTXAoZSxyLHQsYSl7dmFyIG49YXx8KHR8fFtdKS5sZW5ndGh8fDA7aWYobjw9ODIyNClyZXR1cm4gTHAoZSxyLHQsbik7dmFyIGk9K3J8fCtOcFtyXTtpZihpc05hTihpKSlyZXR1cm47dmFyIHM9dC5wYXJ0c3x8W10sZj0wO3ZhciBvPTAsbD0wO3doaWxlKGwrKHNbZl18fDgyMjQpPD04MjI0KXtsKz1zW2ZdfHw4MjI0O2YrK312YXIgYz1lLm5leHQoNCk7Yy5fVygyLGkpO2MuX1coMixsKTtlLnB1c2godC5zbGljZShvLG8rbCkpO28rPWw7d2hpbGUobzxuKXtjPWUubmV4dCg0KTtjLl9XKDIsNjApO2w9MDt3aGlsZShsKyhzW2ZdfHw4MjI0KTw9ODIyNCl7bCs9c1tmXXx8ODIyNDtmKyt9Yy5fVygyLGwpO2UucHVzaCh0LnNsaWNlKG8sbytsKSk7bys9bH19ZnVuY3Rpb24gVXAoZSxyLHQpe2lmKCFlKWU9SnIoNyk7ZS5fVygyLHIpO2UuX1coMix0KTtlLl9XKDIsMCk7ZS5fVygxLDApO3JldHVybiBlfWZ1bmN0aW9uIHpwKGUscix0LGEpe3ZhciBuPUpyKDkpO1VwKG4sZSxyKTtpZihhPT1cXFwiZVxcXCIpe24uX1coMSx0KTtuLl9XKDEsMSl9ZWxzZXtuLl9XKDEsdD8xOjApO24uX1coMSwwKX1yZXR1cm4gbn1mdW5jdGlvbiBIcChlLHIsdCl7dmFyIGE9SnIoOCsyKnQubGVuZ3RoKTtVcChhLGUscik7YS5fVygxLHQubGVuZ3RoKTthLl9XKHQubGVuZ3RoLHQsXFxcInNiY3NcXFwiKTtyZXR1cm4gYS5sPGEubGVuZ3RoP2Euc2xpY2UoMCxhLmwpOmF9ZnVuY3Rpb24gV3AoZSxyLHQsYSl7aWYoci52IT1udWxsKXN3aXRjaChyLnQpe2Nhc2VcXFwiZFxcXCI6O2Nhc2VcXFwiblxcXCI6dmFyIG49ci50PT1cXFwiZFxcXCI/ZWUob2Uoci52KSk6ci52O2lmKG49PShufDApJiZuPj0wJiZuPDY1NTM2KUxwKGUsMixvZih0LGEsbikpO2Vsc2UgTHAoZSwzLHNmKHQsYSxuKSk7cmV0dXJuO2Nhc2VcXFwiYlxcXCI6O2Nhc2VcXFwiZVxcXCI6THAoZSw1LHpwKHQsYSxyLnYsci50KSk7cmV0dXJuO2Nhc2VcXFwic1xcXCI6O2Nhc2VcXFwic3RyXFxcIjpMcChlLDQsSHAodCxhLHIudikpO3JldHVybjt9THAoZSwxLFVwKG51bGwsdCxhKSl9ZnVuY3Rpb24gVnAoZSxyLHQsYSl7dmFyIG49QXJyYXkuaXNBcnJheShyKTt2YXIgaT1rdChyW1xcXCIhcmVmXFxcIl18fFxcXCJBMVxcXCIpLHMsZj1cXFwiXFxcIixvPVtdO2lmKGkuZS5jPjI1NXx8aS5lLnI+MTYzODMpe2lmKGEuV1RGKXRocm93IG5ldyBFcnJvcihcXFwiUmFuZ2UgXFxcIisocltcXFwiIXJlZlxcXCJdfHxcXFwiQTFcXFwiKStcXFwiIGV4Y2VlZHMgZm9ybWF0IGxpbWl0IEExOklWMTYzODRcXFwiKTtpLmUuYz1NYXRoLm1pbihpLmUuYywyNTUpO2kuZS5yPU1hdGgubWluKGkuZS5jLDE2MzgzKTtzPXd0KGkpfWZvcih2YXIgbD1pLnMucjtsPD1pLmUucjsrK2wpe2Y9b3QobCk7Zm9yKHZhciBjPWkucy5jO2M8PWkuZS5jOysrYyl7aWYobD09PWkucy5yKW9bY109aHQoYyk7cz1vW2NdK2Y7dmFyIHU9bj8ocltsXXx8W10pW2NdOnJbc107aWYoIXUpY29udGludWU7V3AoZSx1LGwsYyxhKX19fWZ1bmN0aW9uIFhwKGUscil7dmFyIHQ9cnx8e307aWYobSE9bnVsbCYmdC5kZW5zZT09bnVsbCl0LmRlbnNlPW07dmFyIGE9cXIoKTt2YXIgbj0wO2Zvcih2YXIgaT0wO2k8ZS5TaGVldE5hbWVzLmxlbmd0aDsrK2kpaWYoZS5TaGVldE5hbWVzW2ldPT10LnNoZWV0KW49aTtpZihuPT0wJiYhIXQuc2hlZXQmJmUuU2hlZXROYW1lc1swXSE9dC5zaGVldCl0aHJvdyBuZXcgRXJyb3IoXFxcIlNoZWV0IG5vdCBmb3VuZDogXFxcIit0LnNoZWV0KTtMcChhLDksRGkoZSwxNix0KSk7VnAoYSxlLlNoZWV0c1tlLlNoZWV0TmFtZXNbbl1dLG4sdCxlKTtMcChhLDEwKTtyZXR1cm4gYS5lbmQoKX1mdW5jdGlvbiBHcChlLHIsdCl7THAoZSxcXFwiRm9udFxcXCIscWkoe3N6OjEyLGNvbG9yOnt0aGVtZToxfSxuYW1lOlxcXCJBcmlhbFxcXCIsZmFtaWx5OjIsc2NoZW1lOlxcXCJtaW5vclxcXCJ9LHQpKX1mdW5jdGlvbiBqcChlLHIsdCl7aWYoIXIpcmV0dXJuO1tbNSw4XSxbMjMsMjZdLFs0MSw0NF0sWzUwLDM5Ml1dLmZvckVhY2goZnVuY3Rpb24oYSl7Zm9yKHZhciBuPWFbMF07bjw9YVsxXTsrK24paWYocltuXSE9bnVsbClMcChlLFxcXCJGb3JtYXRcXFwiLGlzKG4scltuXSx0KSl9KX1mdW5jdGlvbiBLcChlLHIpe3ZhciB0PUpyKDE5KTt0Ll9XKDQsMjE1MSk7dC5fVyg0LDApO3QuX1coNCwwKTt0Ll9XKDIsMyk7dC5fVygxLDEpO3QuX1coNCwwKTtMcChlLFxcXCJGZWF0SGRyXFxcIix0KTt0PUpyKDM5KTt0Ll9XKDQsMjE1Mik7dC5fVyg0LDApO3QuX1coNCwwKTt0Ll9XKDIsMyk7dC5fVygxLDApO3QuX1coNCwwKTt0Ll9XKDIsMSk7dC5fVyg0LDQpO3QuX1coMiwwKTtfaShrdChyW1xcXCIhcmVmXFxcIl18fFxcXCJBMVxcXCIpLHQpO3QuX1coNCw0KTtMcChlLFxcXCJGZWF0XFxcIix0KX1mdW5jdGlvbiAkcChlLHIpe2Zvcih2YXIgdD0wO3Q8MTY7Kyt0KUxwKGUsXFxcIlhGXFxcIix2cyh7bnVtRm10SWQ6MCxzdHlsZTp0cnVlfSwwLHIpKTtyLmNlbGxYZnMuZm9yRWFjaChmdW5jdGlvbih0KXtMcChlLFxcXCJYRlxcXCIsdnModCwwLHIpKX0pfWZ1bmN0aW9uIFlwKGUscil7Zm9yKHZhciB0PTA7dDxyW1xcXCIhbGlua3NcXFwiXS5sZW5ndGg7Kyt0KXt2YXIgYT1yW1xcXCIhbGlua3NcXFwiXVt0XTtMcChlLFxcXCJITGlua1xcXCIsSHMoYSkpO2lmKGFbMV0uVG9vbHRpcClMcChlLFxcXCJITGlua1Rvb2x0aXBcXFwiLFZzKGEpKX1kZWxldGUgcltcXFwiIWxpbmtzXFxcIl19ZnVuY3Rpb24gWnAoZSxyLHQsYSxuKXt2YXIgaT0xNit2aChuLmNlbGxYZnMscixuKTtpZihyLnY9PW51bGwmJiFyLmJmKXtMcChlLFxcXCJCbGFua1xcXCIsbWkodCxhLGkpKTtyZXR1cm59aWYoci5iZilMcChlLFxcXCJGb3JtdWxhXFxcIiwkdShyLHQsYSxuLGkpKTtlbHNlIHN3aXRjaChyLnQpe2Nhc2VcXFwiZFxcXCI6O2Nhc2VcXFwiblxcXCI6dmFyIHM9ci50PT1cXFwiZFxcXCI/ZWUob2Uoci52KSk6ci52O0xwKGUsXFxcIk51bWJlclxcXCIsa3ModCxhLHMsaSxuKSk7YnJlYWs7Y2FzZVxcXCJiXFxcIjo7Y2FzZVxcXCJlXFxcIjpMcChlLDUxNyxncyh0LGEsci52LGksbixyLnQpKTticmVhaztjYXNlXFxcInNcXFwiOjtjYXNlXFxcInN0clxcXCI6aWYobi5ib29rU1NUKXt2YXIgZj11aChuLlN0cmluZ3Msci52LG4ucmV2U3RyaW5ncyk7THAoZSxcXFwiTGFiZWxTc3RcXFwiLHJzKHQsYSxmLGksbikpfWVsc2UgTHAoZSxcXFwiTGFiZWxcXFwiLGFzKHQsYSxyLnYsaSxuKSk7YnJlYWs7ZGVmYXVsdDpMcChlLFxcXCJCbGFua1xcXCIsbWkodCxhLGkpKTt9fWZ1bmN0aW9uIEpwKGUscix0KXt2YXIgYT1xcigpO3ZhciBuPXQuU2hlZXROYW1lc1tlXSxpPXQuU2hlZXRzW25dfHx7fTt2YXIgcz0odHx8e30pLldvcmtib29rfHx7fTt2YXIgZj0ocy5TaGVldHN8fFtdKVtlXXx8e307dmFyIG89QXJyYXkuaXNBcnJheShpKTt2YXIgbD1yLmJpZmY9PTg7dmFyIGMsdT1cXFwiXFxcIixoPVtdO3ZhciBkPWt0KGlbXFxcIiFyZWZcXFwiXXx8XFxcIkExXFxcIik7dmFyIHY9bD82NTUzNjoxNjM4NDtpZihkLmUuYz4yNTV8fGQuZS5yPj12KXtpZihyLldURil0aHJvdyBuZXcgRXJyb3IoXFxcIlJhbmdlIFxcXCIrKGlbXFxcIiFyZWZcXFwiXXx8XFxcIkExXFxcIikrXFxcIiBleGNlZWRzIGZvcm1hdCBsaW1pdCBBMTpJVjE2Mzg0XFxcIik7ZC5lLmM9TWF0aC5taW4oZC5lLmMsMjU1KTtkLmUucj1NYXRoLm1pbihkLmUuYyx2LTEpfUxwKGEsMjA1NyxEaSh0LDE2LHIpKTtMcChhLFxcXCJDYWxjTW9kZVxcXCIsWW4oMSkpO0xwKGEsXFxcIkNhbGNDb3VudFxcXCIsWW4oMTAwKSk7THAoYSxcXFwiQ2FsY1JlZk1vZGVcXFwiLEtuKHRydWUpKTtMcChhLFxcXCJDYWxjSXRlclxcXCIsS24oZmFsc2UpKTtMcChhLFxcXCJDYWxjRGVsdGFcXFwiLEp0KC4wMDEpKTtMcChhLFxcXCJDYWxjU2F2ZVJlY2FsY1xcXCIsS24odHJ1ZSkpO0xwKGEsXFxcIlByaW50Um93Q29sXFxcIixLbihmYWxzZSkpO0xwKGEsXFxcIlByaW50R3JpZFxcXCIsS24oZmFsc2UpKTtMcChhLFxcXCJHcmlkU2V0XFxcIixZbigxKSk7THAoYSxcXFwiR3V0c1xcXCIsbXMoWzAsMF0pKTtMcChhLFxcXCJIQ2VudGVyXFxcIixLbihmYWxzZSkpO0xwKGEsXFxcIlZDZW50ZXJcXFwiLEtuKGZhbHNlKSk7XFxuTHAoYSw1MTIsb3MoZCxyKSk7aWYobClpW1xcXCIhbGlua3NcXFwiXT1bXTtmb3IodmFyIHA9ZC5zLnI7cDw9ZC5lLnI7KytwKXt1PW90KHApO2Zvcih2YXIgbT1kLnMuYzttPD1kLmUuYzsrK20pe2lmKHA9PT1kLnMuciloW21dPWh0KG0pO2M9aFttXSt1O3ZhciBiPW8/KGlbcF18fFtdKVttXTppW2NdO2lmKCFiKWNvbnRpbnVlO1pwKGEsYixwLG0scik7aWYobCYmYi5sKWlbXFxcIiFsaW5rc1xcXCJdLnB1c2goW2MsYi5sXSl9fXZhciBnPWYuQ29kZU5hbWV8fGYubmFtZXx8bjtpZihsKUxwKGEsXFxcIldpbmRvdzJcXFwiLFppKChzLlZpZXdzfHxbXSlbMF0pKTtpZihsJiYoaVtcXFwiIW1lcmdlc1xcXCJdfHxbXSkubGVuZ3RoKUxwKGEsXFxcIk1lcmdlQ2VsbHNcXFwiLFBzKGlbXFxcIiFtZXJnZXNcXFwiXSkpO2lmKGwpWXAoYSxpKTtMcChhLFxcXCJDb2RlTmFtZVxcXCIsaWkoZyxyKSk7aWYobClLcChhLGkpO0xwKGEsXFxcIkVPRlxcXCIpO3JldHVybiBhLmVuZCgpfWZ1bmN0aW9uIFFwKGUscix0KXt2YXIgYT1xcigpO3ZhciBuPShlfHx7fSkuV29ya2Jvb2t8fHt9O3ZhciBpPW4uU2hlZXRzfHxbXTt2YXIgcz1uLldCUHJvcHN8fHt9O3ZhciBmPXQuYmlmZj09OCxvPXQuYmlmZj09NTtMcChhLDIwNTcsRGkoZSw1LHQpKTtpZih0LmJvb2tUeXBlPT1cXFwieGxhXFxcIilMcChhLFxcXCJBZGRpblxcXCIpO0xwKGEsXFxcIkludGVyZmFjZUhkclxcXCIsZj9ZbigxMjAwKTpudWxsKTtMcChhLFxcXCJNbXNcXFwiLFhuKDIpKTtpZihvKUxwKGEsXFxcIlRvb2xiYXJIZHJcXFwiKTtpZihvKUxwKGEsXFxcIlRvb2xiYXJFbmRcXFwiKTtMcChhLFxcXCJJbnRlcmZhY2VFbmRcXFwiKTtMcChhLFxcXCJXcml0ZUFjY2Vzc1xcXCIsTmkoXFxcIlNoZWV0SlNcXFwiLHQpKTtMcChhLFxcXCJDb2RlUGFnZVxcXCIsWW4oZj8xMjAwOjEyNTIpKTtpZihmKUxwKGEsXFxcIkRTRlxcXCIsWW4oMCkpO2lmKGYpTHAoYSxcXFwiRXhjZWw5RmlsZVxcXCIpO0xwKGEsXFxcIlJSVGFiSWRcXFwiLFFzKGUuU2hlZXROYW1lcy5sZW5ndGgpKTtpZihmJiZlLnZiYXJhdylMcChhLFxcXCJPYlByb2pcXFwiKTtpZihmJiZlLnZiYXJhdyl7dmFyIGw9cy5Db2RlTmFtZXx8XFxcIlRoaXNXb3JrYm9va1xcXCI7THAoYSxcXFwiQ29kZU5hbWVcXFwiLGlpKGwsdCkpfUxwKGEsXFxcIkJ1aWx0SW5Gbkdyb3VwQ291bnRcXFwiLFluKDE3KSk7THAoYSxcXFwiV2luUHJvdGVjdFxcXCIsS24oZmFsc2UpKTtMcChhLFxcXCJQcm90ZWN0XFxcIixLbihmYWxzZSkpO0xwKGEsXFxcIlBhc3N3b3JkXFxcIixZbigwKSk7aWYoZilMcChhLFxcXCJQcm90NFJldlxcXCIsS24oZmFsc2UpKTtpZihmKUxwKGEsXFxcIlByb3Q0UmV2UGFzc1xcXCIsWW4oMCkpO0xwKGEsXFxcIldpbmRvdzFcXFwiLCRpKHQpKTtMcChhLFxcXCJCYWNrdXBcXFwiLEtuKGZhbHNlKSk7THAoYSxcXFwiSGlkZU9ialxcXCIsWW4oMCkpO0xwKGEsXFxcIkRhdGUxOTA0XFxcIixLbihodihlKT09XFxcInRydWVcXFwiKSk7THAoYSxcXFwiQ2FsY1ByZWNpc2lvblxcXCIsS24odHJ1ZSkpO2lmKGYpTHAoYSxcXFwiUmVmcmVzaEFsbFxcXCIsS24oZmFsc2UpKTtMcChhLFxcXCJCb29rQm9vbFxcXCIsWW4oMCkpO0dwKGEsZSx0KTtqcChhLGUuU1NGLHQpOyRwKGEsdCk7aWYoZilMcChhLFxcXCJVc2VzRUxGc1xcXCIsS24oZmFsc2UpKTt2YXIgYz1hLmVuZCgpO3ZhciB1PXFyKCk7aWYoZilMcCh1LFxcXCJDb3VudHJ5XFxcIixHcygpKTtpZihmJiZ0LlN0cmluZ3MpTXAodSxcXFwiU1NUXFxcIixIaSh0LlN0cmluZ3MsdCkpO0xwKHUsXFxcIkVPRlxcXCIpO3ZhciBoPXUuZW5kKCk7dmFyIGQ9cXIoKTt2YXIgdj0wLHA9MDtmb3IocD0wO3A8ZS5TaGVldE5hbWVzLmxlbmd0aDsrK3Apdis9KGY/MTI6MTEpKyhmPzI6MSkqZS5TaGVldE5hbWVzW3BdLmxlbmd0aDt2YXIgbT1jLmxlbmd0aCt2K2gubGVuZ3RoO2ZvcihwPTA7cDxlLlNoZWV0TmFtZXMubGVuZ3RoOysrcCl7dmFyIGI9aVtwXXx8e307THAoZCxcXFwiQm91bmRTaGVldDhcXFwiLFVpKHtwb3M6bSxoczpiLkhpZGRlbnx8MCxkdDowLG5hbWU6ZS5TaGVldE5hbWVzW3BdfSx0KSk7bSs9cltwXS5sZW5ndGh9dmFyIGc9ZC5lbmQoKTtpZih2IT1nLmxlbmd0aCl0aHJvdyBuZXcgRXJyb3IoXFxcIkJTOCBcXFwiK3YrXFxcIiAhPSBcXFwiK2cubGVuZ3RoKTt2YXIgdz1bXTtpZihjLmxlbmd0aCl3LnB1c2goYyk7aWYoZy5sZW5ndGgpdy5wdXNoKGcpO2lmKGgubGVuZ3RoKXcucHVzaChoKTtyZXR1cm4gbXIoW3ddKX1mdW5jdGlvbiBxcChlLHIpe3ZhciB0PXJ8fHt9O3ZhciBhPVtdO2lmKGUmJiFlLlNTRil7ZS5TU0Y9RC5nZXRfdGFibGUoKX1pZihlJiZlLlNTRil7RihEKTtELmxvYWRfdGFibGUoZS5TU0YpO3QucmV2c3NmPUooZS5TU0YpO3QucmV2c3NmW2UuU1NGWzY1NTM1XV09MDt0LnNzZj1lLlNTRn10LlN0cmluZ3M9W107dC5TdHJpbmdzLkNvdW50PTA7dC5TdHJpbmdzLlVuaXF1ZT0wO1RtKHQpO3QuY2VsbFhmcz1bXTt2aCh0LmNlbGxYZnMse30se3JldnNzZjp7R2VuZXJhbDowfX0pO2lmKCFlLlByb3BzKWUuUHJvcHM9e307Zm9yKHZhciBuPTA7bjxlLlNoZWV0TmFtZXMubGVuZ3RoOysrbilhW2EubGVuZ3RoXT1KcChuLHQsZSk7YS51bnNoaWZ0KFFwKGUsYSx0KSk7cmV0dXJuIG1yKFthXSl9ZnVuY3Rpb24gZW0oZSxyKXt2YXIgdD1yfHx7fTtzd2l0Y2godC5iaWZmfHwyKXtjYXNlIDg6O2Nhc2UgNTpyZXR1cm4gcXAoZSxyKTtjYXNlIDQ6O2Nhc2UgMzo7Y2FzZSAyOnJldHVybiBYcChlLHIpO310aHJvdyBuZXcgRXJyb3IoXFxcImludmFsaWQgdHlwZSBcXFwiK3QuYm9va1R5cGUrXFxcIiBmb3IgQklGRlxcXCIpfXZhciBybT1mdW5jdGlvbigpe2Z1bmN0aW9uIGUoZSxyKXt2YXIgdD1yfHx7fTtpZihtIT1udWxsJiZ0LmRlbnNlPT1udWxsKXQuZGVuc2U9bTt2YXIgYT10LmRlbnNlP1tdOnt9O2U9ZS5yZXBsYWNlKC88IS0tLio/LS0+L2csXFxcIlxcXCIpO3ZhciBuPWUubWF0Y2goLzx0YWJsZS9pKTtpZighbil0aHJvdyBuZXcgRXJyb3IoXFxcIkludmFsaWQgSFRNTDogY291bGQgbm90IGZpbmQgPHRhYmxlPlxcXCIpO3ZhciBpPWUubWF0Y2goLzxcXFxcL3RhYmxlL2kpO3ZhciBzPW4uaW5kZXgsZj1pJiZpLmluZGV4fHxlLmxlbmd0aDt2YXIgbz1wZShlLnNsaWNlKHMsZiksLyg6Pzx0cltePl0qPikvaSxcXFwiPHRyPlxcXCIpO3ZhciBsPS0xLGM9MCx1PTAsaD0wO3ZhciBkPXtzOntyOjFlNyxjOjFlN30sZTp7cjowLGM6MH19O3ZhciB2PVtdO2ZvcihzPTA7czxvLmxlbmd0aDsrK3Mpe3ZhciBwPW9bc10udHJpbSgpO3ZhciBiPXAuc2xpY2UoMCwzKS50b0xvd2VyQ2FzZSgpO2lmKGI9PVxcXCI8dHJcXFwiKXsrK2w7aWYodC5zaGVldFJvd3MmJnQuc2hlZXRSb3dzPD1sKXstLWw7YnJlYWt9Yz0wO2NvbnRpbnVlfWlmKGIhPVxcXCI8dGRcXFwiJiZiIT1cXFwiPHRoXFxcIiljb250aW51ZTt2YXIgZz1wLnNwbGl0KC88XFxcXC90W2RoXT4vaSk7Zm9yKGY9MDtmPGcubGVuZ3RoOysrZil7dmFyIHc9Z1tmXS50cmltKCk7aWYoIXcubWF0Y2goLzx0W2RoXS9pKSljb250aW51ZTt2YXIgaz13LEU9MDt3aGlsZShrLmNoYXJBdCgwKT09XFxcIjxcXFwiJiYoRT1rLmluZGV4T2YoXFxcIj5cXFwiKSk+LTEpaz1rLnNsaWNlKEUrMSk7Zm9yKHZhciBTPTA7Uzx2Lmxlbmd0aDsrK1Mpe3ZhciBfPXZbU107aWYoXy5zLmM9PWMmJl8ucy5yPGwmJmw8PV8uZS5yKXtjPV8uZS5jKzE7Uz0tMX19dmFyIEM9RmUody5zbGljZSgwLHcuaW5kZXhPZihcXFwiPlxcXCIpKSk7aD1DLmNvbHNwYW4/K0MuY29sc3BhbjoxO2lmKCh1PStDLnJvd3NwYW4pPjF8fGg+MSl2LnB1c2goe3M6e3I6bCxjOmN9LGU6e3I6bCsodXx8MSktMSxjOmMraC0xfX0pO3ZhciBCPUMudHx8XFxcIlxcXCI7aWYoIWsubGVuZ3RoKXtjKz1oO2NvbnRpbnVlfWs9cnIoayk7aWYoZC5zLnI+bClkLnMucj1sO2lmKGQuZS5yPGwpZC5lLnI9bDtpZihkLnMuYz5jKWQucy5jPWM7aWYoZC5lLmM8YylkLmUuYz1jO2lmKCFrLmxlbmd0aCljb250aW51ZTt2YXIgVD17dDpcXFwic1xcXCIsdjprfTtpZih0LnJhd3x8IWsudHJpbSgpLmxlbmd0aHx8Qj09XFxcInNcXFwiKXt9ZWxzZSBpZihrPT09XFxcIlRSVUVcXFwiKVQ9e3Q6XFxcImJcXFwiLHY6dHJ1ZX07ZWxzZSBpZihrPT09XFxcIkZBTFNFXFxcIilUPXt0OlxcXCJiXFxcIix2OmZhbHNlfTtlbHNlIGlmKCFpc05hTihoZShrKSkpVD17dDpcXFwiblxcXCIsdjpoZShrKX07ZWxzZSBpZighaXNOYU4oZGUoaykuZ2V0RGF0ZSgpKSl7VD17dDpcXFwiZFxcXCIsdjpvZShrKX07aWYoIXQuY2VsbERhdGVzKVQ9e3Q6XFxcIm5cXFwiLHY6ZWUoVC52KX07VC56PXQuZGF0ZU5GfHxELl90YWJsZVsxNF19aWYodC5kZW5zZSl7aWYoIWFbbF0pYVtsXT1bXTthW2xdW2NdPVR9ZWxzZSBhW2J0KHtyOmwsYzpjfSldPVQ7Yys9aH19YVtcXFwiIXJlZlxcXCJdPXd0KGQpO2lmKHYubGVuZ3RoKWFbXFxcIiFtZXJnZXNcXFwiXT12O3JldHVybiBhfWZ1bmN0aW9uIHIocix0KXtyZXR1cm4gX3QoZShyLHQpLHQpfWZ1bmN0aW9uIHQoZSxyLHQsYSl7dmFyIG49ZVtcXFwiIW1lcmdlc1xcXCJdfHxbXTt2YXIgaT1bXTtmb3IodmFyIHM9ci5zLmM7czw9ci5lLmM7KytzKXt2YXIgZj0wLG89MDtmb3IodmFyIGw9MDtsPG4ubGVuZ3RoOysrbCl7aWYobltsXS5zLnI+dHx8bltsXS5zLmM+cyljb250aW51ZTtpZihuW2xdLmUucjx0fHxuW2xdLmUuYzxzKWNvbnRpbnVlO2lmKG5bbF0ucy5yPHR8fG5bbF0ucy5jPHMpe2Y9LTE7YnJlYWt9Zj1uW2xdLmUuci1uW2xdLnMucisxO289bltsXS5lLmMtbltsXS5zLmMrMTticmVha31pZihmPDApY29udGludWU7dmFyIGM9YnQoe3I6dCxjOnN9KTt2YXIgdT1hLmRlbnNlPyhlW3RdfHxbXSlbc106ZVtjXTt2YXIgaD11JiZ1LnYhPW51bGwmJih1Lmh8fFhlKHUud3x8KFN0KHUpLHUudyl8fFxcXCJcXFwiKSl8fFxcXCJcXFwiO3ZhciBkPXt9O2lmKGY+MSlkLnJvd3NwYW49ZjtpZihvPjEpZC5jb2xzcGFuPW87ZC50PXUmJnUudHx8XFxcInpcXFwiO2lmKGEuZWRpdGFibGUpaD0nPHNwYW4gY29udGVudGVkaXRhYmxlPVxcXCJ0cnVlXFxcIj4nK2grXFxcIjwvc3Bhbj5cXFwiO2QuaWQ9KGEuaWR8fFxcXCJzanNcXFwiKStcXFwiLVxcXCIrYztpZihkLnQhPVxcXCJ6XFxcIil7ZC52PXUudjtpZih1LnohPW51bGwpZC56PXUuen1pLnB1c2gobHIoXFxcInRkXFxcIixoLGQpKX12YXIgdj1cXFwiPHRyPlxcXCI7cmV0dXJuIHYraS5qb2luKFxcXCJcXFwiKStcXFwiPC90cj5cXFwifWZ1bmN0aW9uIGEoZSxyLHQpe3ZhciBhPVtdO3JldHVybiBhLmpvaW4oXFxcIlxcXCIpK1xcXCI8dGFibGVcXFwiKyh0JiZ0LmlkPycgaWQ9XFxcIicrdC5pZCsnXFxcIic6XFxcIlxcXCIpK1xcXCI+XFxcIn12YXIgbj0nPGh0bWw+PGhlYWQ+PG1ldGEgY2hhcnNldD1cXFwidXRmLThcXFwiLz48dGl0bGU+U2hlZXRKUyBUYWJsZSBFeHBvcnQ8L3RpdGxlPjwvaGVhZD48Ym9keT4nO3ZhciBpPVxcXCI8L2JvZHk+PC9odG1sPlxcXCI7ZnVuY3Rpb24gcyhlLHIpe3ZhciBzPXJ8fHt9O3ZhciBmPXMuaGVhZGVyIT1udWxsP3MuaGVhZGVyOm47dmFyIG89cy5mb290ZXIhPW51bGw/cy5mb290ZXI6aTt2YXIgbD1bZl07dmFyIGM9Z3QoZVtcXFwiIXJlZlxcXCJdKTtzLmRlbnNlPUFycmF5LmlzQXJyYXkoZSk7bC5wdXNoKGEoZSxjLHMpKTtmb3IodmFyIHU9Yy5zLnI7dTw9Yy5lLnI7Kyt1KWwucHVzaCh0KGUsYyx1LHMpKTtsLnB1c2goXFxcIjwvdGFibGU+XFxcIitvKTtyZXR1cm4gbC5qb2luKFxcXCJcXFwiKX1yZXR1cm57dG9fd29ya2Jvb2s6cix0b19zaGVldDplLF9yb3c6dCxCRUdJTjpuLEVORDppLF9wcmVhbWJsZTphLGZyb21fc2hlZXQ6c319KCk7ZnVuY3Rpb24gdG0oZSxyLHQpe3ZhciBhPXR8fHt9O2lmKG0hPW51bGwpYS5kZW5zZT1tO3ZhciBuPTAsaT0wO2lmKGEub3JpZ2luIT1udWxsKXtpZih0eXBlb2YgYS5vcmlnaW49PVxcXCJudW1iZXJcXFwiKW49YS5vcmlnaW47ZWxzZXt2YXIgcz10eXBlb2YgYS5vcmlnaW49PVxcXCJzdHJpbmdcXFwiP210KGEub3JpZ2luKTphLm9yaWdpbjtuPXMucjtpPXMuY319dmFyIGY9ci5nZXRFbGVtZW50c0J5VGFnTmFtZShcXFwidHJcXFwiKTt2YXIgbz1NYXRoLm1pbihhLnNoZWV0Um93c3x8MWU3LGYubGVuZ3RoKTt2YXIgbD17czp7cjowLGM6MH0sZTp7cjpuLGM6aX19O2lmKGVbXFxcIiFyZWZcXFwiXSl7dmFyIGM9Z3QoZVtcXFwiIXJlZlxcXCJdKTtsLnMucj1NYXRoLm1pbihsLnMucixjLnMucik7bC5zLmM9TWF0aC5taW4obC5zLmMsYy5zLmMpO2wuZS5yPU1hdGgubWF4KGwuZS5yLGMuZS5yKTtsLmUuYz1NYXRoLm1heChsLmUuYyxjLmUuYyk7aWYobj09LTEpbC5lLnI9bj1jLmUucisxfXZhciB1PVtdLGg9MDt2YXIgZD1lW1xcXCIhcm93c1xcXCJdfHwoZVtcXFwiIXJvd3NcXFwiXT1bXSk7dmFyIHY9MCxwPTAsYj0wLGc9MCx3PTAsaz0wO2lmKCFlW1xcXCIhY29sc1xcXCJdKWVbXFxcIiFjb2xzXFxcIl09W107Zm9yKDt2PGYubGVuZ3RoJiZwPG87Kyt2KXt2YXIgRT1mW3ZdO2lmKGltKEUpKXtpZihhLmRpc3BsYXkpY29udGludWU7ZFtwXT17aGlkZGVuOnRydWV9fXZhciBTPUUuY2hpbGRyZW47Zm9yKGI9Zz0wO2I8Uy5sZW5ndGg7KytiKXt2YXIgXz1TW2JdO2lmKGEuZGlzcGxheSYmaW0oXykpY29udGludWU7dmFyIEM9Xy5oYXNBdHRyaWJ1dGUoXFxcInZcXFwiKT9fLmdldEF0dHJpYnV0ZShcXFwidlxcXCIpOnJyKF8uaW5uZXJIVE1MKTt2YXIgQj1fLmdldEF0dHJpYnV0ZShcXFwielxcXCIpO2ZvcihoPTA7aDx1Lmxlbmd0aDsrK2gpe3ZhciBUPXVbaF07aWYoVC5zLmM9PWcraSYmVC5zLnI8cCtuJiZwK248PVQuZS5yKXtnPVQuZS5jKzEtaTtoPS0xfX1rPStfLmdldEF0dHJpYnV0ZShcXFwiY29sc3BhblxcXCIpfHwxO2lmKCh3PStfLmdldEF0dHJpYnV0ZShcXFwicm93c3BhblxcXCIpfHwxKT4xfHxrPjEpdS5wdXNoKHtzOntyOnArbixjOmcraX0sZTp7cjpwK24rKHd8fDEpLTEsYzpnK2krKGt8fDEpLTF9fSk7dmFyIHk9e3Q6XFxcInNcXFwiLHY6Q307dmFyIHg9Xy5nZXRBdHRyaWJ1dGUoXFxcInRcXFwiKXx8XFxcIlxcXCI7aWYoQyE9bnVsbCl7aWYoQy5sZW5ndGg9PTApeS50PXh8fFxcXCJ6XFxcIjtlbHNlIGlmKGEucmF3fHxDLnRyaW0oKS5sZW5ndGg9PTB8fHg9PVxcXCJzXFxcIil7fWVsc2UgaWYoQz09PVxcXCJUUlVFXFxcIil5PXt0OlxcXCJiXFxcIix2OnRydWV9O2Vsc2UgaWYoQz09PVxcXCJGQUxTRVxcXCIpeT17dDpcXFwiYlxcXCIsdjpmYWxzZX07ZWxzZSBpZighaXNOYU4oaGUoQykpKXk9e3Q6XFxcIm5cXFwiLHY6aGUoQyl9O2Vsc2UgaWYoIWlzTmFOKGRlKEMpLmdldERhdGUoKSkpe3k9e3Q6XFxcImRcXFwiLHY6b2UoQyl9O2lmKCFhLmNlbGxEYXRlcyl5PXt0OlxcXCJuXFxcIix2OmVlKHkudil9O3kuej1hLmRhdGVORnx8RC5fdGFibGVbMTRdfX1pZih5Lno9PT11bmRlZmluZWQmJkIhPW51bGwpeS56PUI7aWYoYS5kZW5zZSl7aWYoIWVbcCtuXSllW3Arbl09W107ZVtwK25dW2craV09eX1lbHNlIGVbYnQoe2M6ZytpLHI6cCtufSldPXk7aWYobC5lLmM8ZytpKWwuZS5jPWcraTtnKz1rfSsrcH1pZih1Lmxlbmd0aCllW1xcXCIhbWVyZ2VzXFxcIl09KGVbXFxcIiFtZXJnZXNcXFwiXXx8W10pLmNvbmNhdCh1KTtsLmUucj1NYXRoLm1heChsLmUucixwLTErbik7ZVtcXFwiIXJlZlxcXCJdPXd0KGwpO2lmKHA+PW8pZVtcXFwiIWZ1bGxyZWZcXFwiXT13dCgobC5lLnI9Zi5sZW5ndGgtditwLTErbixsKSk7cmV0dXJuIGV9ZnVuY3Rpb24gYW0oZSxyKXt2YXIgdD1yfHx7fTt2YXIgYT10LmRlbnNlP1tdOnt9O3JldHVybiB0bShhLGUscil9ZnVuY3Rpb24gbm0oZSxyKXtyZXR1cm4gX3QoYW0oZSxyKSxyKX1mdW5jdGlvbiBpbShlKXt2YXIgcj1cXFwiXFxcIjt2YXIgdD1zbShlKTtpZih0KXI9dChlKS5nZXRQcm9wZXJ0eVZhbHVlKFxcXCJkaXNwbGF5XFxcIik7aWYoIXIpcj1lLnN0eWxlLmRpc3BsYXk7cmV0dXJuIHI9PT1cXFwibm9uZVxcXCJ9ZnVuY3Rpb24gc20oZSl7aWYoZS5vd25lckRvY3VtZW50LmRlZmF1bHRWaWV3JiZ0eXBlb2YgZS5vd25lckRvY3VtZW50LmRlZmF1bHRWaWV3LmdldENvbXB1dGVkU3R5bGU9PT1cXFwiZnVuY3Rpb25cXFwiKXJldHVybiBlLm93bmVyRG9jdW1lbnQuZGVmYXVsdFZpZXcuZ2V0Q29tcHV0ZWRTdHlsZTtpZih0eXBlb2YgZ2V0Q29tcHV0ZWRTdHlsZT09PVxcXCJmdW5jdGlvblxcXCIpcmV0dXJuIGdldENvbXB1dGVkU3R5bGU7cmV0dXJuIG51bGx9dmFyIGZtPWZ1bmN0aW9uKCl7dmFyIGU9ZnVuY3Rpb24oZSl7dmFyIHI9ZS5yZXBsYWNlKC9bXFxcXHRcXFxcclxcXFxuXS9nLFxcXCIgXFxcIikudHJpbSgpLnJlcGxhY2UoLyArL2csXFxcIiBcXFwiKS5yZXBsYWNlKC88dGV4dDpzXFxcXC8+L2csXFxcIiBcXFwiKS5yZXBsYWNlKC88dGV4dDpzIHRleHQ6Yz1cXFwiKFxcXFxkKylcXFwiXFxcXC8+L2csZnVuY3Rpb24oZSxyKXtyZXR1cm4gQXJyYXkocGFyc2VJbnQociwxMCkrMSkuam9pbihcXFwiIFxcXCIpfSkucmVwbGFjZSgvPHRleHQ6dGFiW14+XSpcXFxcLz4vZyxcXFwiXFxcXHRcXFwiKS5yZXBsYWNlKC88dGV4dDpsaW5lLWJyZWFrXFxcXC8+L2csXFxcIlxcXFxuXFxcIik7dmFyIHQ9TWUoci5yZXBsYWNlKC88W14+XSo+L2csXFxcIlxcXCIpKTtyZXR1cm5bdF19O3ZhciByPXtkYXk6W1xcXCJkXFxcIixcXFwiZGRcXFwiXSxtb250aDpbXFxcIm1cXFwiLFxcXCJtbVxcXCJdLHllYXI6W1xcXCJ5XFxcIixcXFwieXlcXFwiXSxob3VyczpbXFxcImhcXFwiLFxcXCJoaFxcXCJdLG1pbnV0ZXM6W1xcXCJtXFxcIixcXFwibW1cXFwiXSxzZWNvbmRzOltcXFwic1xcXCIsXFxcInNzXFxcIl0sXFxcImFtLXBtXFxcIjpbXFxcIkEvUFxcXCIsXFxcIkFNL1BNXFxcIl0sXFxcImRheS1vZi13ZWVrXFxcIjpbXFxcImRkZFxcXCIsXFxcImRkZGRcXFwiXSxlcmE6W1xcXCJlXFxcIixcXFwiZWVcXFwiXSxxdWFydGVyOltcXFwiXFxcXFxcXFxRbVxcXCIsJ21cXFxcXFxcXFxcXCJ0aCBxdWFydGVyXFxcIiddfTtyZXR1cm4gZnVuY3Rpb24gdChhLG4pe3ZhciBpPW58fHt9O2lmKG0hPW51bGwmJmkuZGVuc2U9PW51bGwpaS5kZW5zZT1tO3ZhciBzPXNwKGEpO3ZhciBmPVtdLG87dmFyIGw7dmFyIGM9e25hbWU6XFxcIlxcXCJ9LHU9XFxcIlxcXCIsaD0wO3ZhciBkO3ZhciB2O3ZhciBwPXt9LGI9W107dmFyIGc9aS5kZW5zZT9bXTp7fTt2YXIgdyxrO3ZhciBFPXt2YWx1ZTpcXFwiXFxcIn07dmFyIFM9XFxcIlxcXCIsXz0wLEM7dmFyIEI9W107dmFyIFQ9LTEseT0tMSx4PXtzOntyOjFlNixjOjFlN30sZTp7cjowLGM6MH19O3ZhciBBPTA7dmFyIEk9e307dmFyIFI9W10sTz17fSxEPTAsRj0wO3ZhciBQPVtdLE49MSxMPTE7dmFyIE09W107dmFyIFU9e05hbWVzOltdfTt2YXIgej17fTt2YXIgSD1bXFxcIlxcXCIsXFxcIlxcXCJdO3ZhciBXPVtdLFY9e307dmFyIFg9XFxcIlxcXCIsRz0wO3ZhciBqPWZhbHNlLEs9ZmFsc2U7dmFyICQ9MDtmcC5sYXN0SW5kZXg9MDtzPXMucmVwbGFjZSgvPCEtLShbXFxcXHNcXFxcU10qPyktLT4vZ20sXFxcIlxcXCIpLnJlcGxhY2UoLzwhRE9DVFlQRVteXFxcXFtdKlxcXFxbW15cXFxcXV0qXFxcXF0+L2dtLFxcXCJcXFwiKTt3aGlsZSh3PWZwLmV4ZWMocykpc3dpdGNoKHdbM109d1szXS5yZXBsYWNlKC9fLiokLyxcXFwiXFxcIikpe2Nhc2VcXFwidGFibGVcXFwiOjtjYXNlXFxcIuW3peS9nOihqFxcXCI6aWYod1sxXT09PVxcXCIvXFxcIil7aWYoeC5lLmM+PXgucy5jJiZ4LmUucj49eC5zLnIpZ1tcXFwiIXJlZlxcXCJdPXd0KHgpO2Vsc2UgZ1tcXFwiIXJlZlxcXCJdPVxcXCJBMTpBMVxcXCI7aWYoaS5zaGVldFJvd3M+MCYmaS5zaGVldFJvd3M8PXguZS5yKXtnW1xcXCIhZnVsbHJlZlxcXCJdPWdbXFxcIiFyZWZcXFwiXTt4LmUucj1pLnNoZWV0Um93cy0xO2dbXFxcIiFyZWZcXFwiXT13dCh4KX1pZihSLmxlbmd0aClnW1xcXCIhbWVyZ2VzXFxcIl09UjtpZihQLmxlbmd0aClnW1xcXCIhcm93c1xcXCJdPVA7ZC5uYW1lPWRbXFxcIuWQjeensFxcXCJdfHxkLm5hbWU7aWYodHlwZW9mIEpTT04hPT1cXFwidW5kZWZpbmVkXFxcIilKU09OLnN0cmluZ2lmeShkKTtiLnB1c2goZC5uYW1lKTtwW2QubmFtZV09ZztLPWZhbHNlfWVsc2UgaWYod1swXS5jaGFyQXQod1swXS5sZW5ndGgtMikhPT1cXFwiL1xcXCIpe2Q9RmUod1swXSxmYWxzZSk7VD15PS0xO3gucy5yPXgucy5jPTFlNzt4LmUucj14LmUuYz0wO2c9aS5kZW5zZT9bXTp7fTtSPVtdO1A9W107Sz10cnVlfWJyZWFrO2Nhc2VcXFwidGFibGUtcm93LWdyb3VwXFxcIjppZih3WzFdPT09XFxcIi9cXFwiKS0tQTtlbHNlKytBO2JyZWFrO2Nhc2VcXFwidGFibGUtcm93XFxcIjo7Y2FzZVxcXCLooYxcXFwiOmlmKHdbMV09PT1cXFwiL1xcXCIpe1QrPU47Tj0xO2JyZWFrfXY9RmUod1swXSxmYWxzZSk7aWYodltcXFwi6KGM5Y+3XFxcIl0pVD12W1xcXCLooYzlj7dcXFwiXS0xO2Vsc2UgaWYoVD09LTEpVD0wO049K3ZbXFxcIm51bWJlci1yb3dzLXJlcGVhdGVkXFxcIl18fDE7aWYoTjwxMClmb3IoJD0wOyQ8TjsrKyQpaWYoQT4wKVBbVCskXT17bGV2ZWw6QX07eT0tMTticmVhaztjYXNlXFxcImNvdmVyZWQtdGFibGUtY2VsbFxcXCI6aWYod1sxXSE9PVxcXCIvXFxcIikrK3k7aWYoaS5zaGVldFN0dWJzKXtpZihpLmRlbnNlKXtpZighZ1tUXSlnW1RdPVtdO2dbVF1beV09e3Q6XFxcInpcXFwifX1lbHNlIGdbYnQoe3I6VCxjOnl9KV09e3Q6XFxcInpcXFwifX1TPVxcXCJcXFwiO0I9W107YnJlYWs7Y2FzZVxcXCJ0YWJsZS1jZWxsXFxcIjo7Y2FzZVxcXCLmlbDmja5cXFwiOmlmKHdbMF0uY2hhckF0KHdbMF0ubGVuZ3RoLTIpPT09XFxcIi9cXFwiKXsrK3k7RT1GZSh3WzBdLGZhbHNlKTtMPXBhcnNlSW50KEVbXFxcIm51bWJlci1jb2x1bW5zLXJlcGVhdGVkXFxcIl18fFxcXCIxXFxcIiwxMCk7az17dDpcXFwielxcXCIsdjpudWxsfTtpZihFLmZvcm11bGEmJmkuY2VsbEZvcm11bGEhPWZhbHNlKWsuZj1uaChNZShFLmZvcm11bGEpKTtpZigoRVtcXFwi5pWw5o2u57G75Z6LXFxcIl18fEVbXFxcInZhbHVlLXR5cGVcXFwiXSk9PVxcXCJzdHJpbmdcXFwiKXtrLnQ9XFxcInNcXFwiO2sudj1NZShFW1xcXCJzdHJpbmctdmFsdWVcXFwiXXx8XFxcIlxcXCIpO2lmKGkuZGVuc2Upe2lmKCFnW1RdKWdbVF09W107Z1tUXVt5XT1rfWVsc2V7Z1tidCh7cjpULGM6eX0pXT1rfX15Kz1MLTF9ZWxzZSBpZih3WzFdIT09XFxcIi9cXFwiKXsrK3k7TD0xO3ZhciBZPU4/VCtOLTE6VDtpZih5PnguZS5jKXguZS5jPXk7aWYoeTx4LnMuYyl4LnMuYz15O2lmKFQ8eC5zLnIpeC5zLnI9VDtpZihZPnguZS5yKXguZS5yPVk7RT1GZSh3WzBdLGZhbHNlKTtXPVtdO1Y9e307az17dDpFW1xcXCLmlbDmja7nsbvlnotcXFwiXXx8RVtcXFwidmFsdWUtdHlwZVxcXCJdLHY6bnVsbH07aWYoaS5jZWxsRm9ybXVsYSl7aWYoRS5mb3JtdWxhKUUuZm9ybXVsYT1NZShFLmZvcm11bGEpO2lmKEVbXFxcIm51bWJlci1tYXRyaXgtY29sdW1ucy1zcGFubmVkXFxcIl0mJkVbXFxcIm51bWJlci1tYXRyaXgtcm93cy1zcGFubmVkXFxcIl0pe0Q9cGFyc2VJbnQoRVtcXFwibnVtYmVyLW1hdHJpeC1yb3dzLXNwYW5uZWRcXFwiXSwxMCl8fDA7Rj1wYXJzZUludChFW1xcXCJudW1iZXItbWF0cml4LWNvbHVtbnMtc3Bhbm5lZFxcXCJdLDEwKXx8MDtPPXtzOntyOlQsYzp5fSxlOntyOlQrRC0xLGM6eStGLTF9fTtrLkY9d3QoTyk7TS5wdXNoKFtPLGsuRl0pfWlmKEUuZm9ybXVsYSlrLmY9bmgoRS5mb3JtdWxhKTtlbHNlIGZvcigkPTA7JDxNLmxlbmd0aDsrKyQpaWYoVD49TVskXVswXS5zLnImJlQ8PU1bJF1bMF0uZS5yKWlmKHk+PU1bJF1bMF0ucy5jJiZ5PD1NWyRdWzBdLmUuYylrLkY9TVskXVsxXX1pZihFW1xcXCJudW1iZXItY29sdW1ucy1zcGFubmVkXFxcIl18fEVbXFxcIm51bWJlci1yb3dzLXNwYW5uZWRcXFwiXSl7RD1wYXJzZUludChFW1xcXCJudW1iZXItcm93cy1zcGFubmVkXFxcIl0sMTApfHwwO0Y9cGFyc2VJbnQoRVtcXFwibnVtYmVyLWNvbHVtbnMtc3Bhbm5lZFxcXCJdLDEwKXx8MDtPPXtzOntyOlQsYzp5fSxlOntyOlQrRC0xLGM6eStGLTF9fTtSLnB1c2goTyl9aWYoRVtcXFwibnVtYmVyLWNvbHVtbnMtcmVwZWF0ZWRcXFwiXSlMPXBhcnNlSW50KEVbXFxcIm51bWJlci1jb2x1bW5zLXJlcGVhdGVkXFxcIl0sMTApO3N3aXRjaChrLnQpe2Nhc2VcXFwiYm9vbGVhblxcXCI6ay50PVxcXCJiXFxcIjtrLnY9JGUoRVtcXFwiYm9vbGVhbi12YWx1ZVxcXCJdKTticmVhaztjYXNlXFxcImZsb2F0XFxcIjprLnQ9XFxcIm5cXFwiO2sudj1wYXJzZUZsb2F0KEUudmFsdWUpO2JyZWFrO2Nhc2VcXFwicGVyY2VudGFnZVxcXCI6ay50PVxcXCJuXFxcIjtrLnY9cGFyc2VGbG9hdChFLnZhbHVlKTticmVhaztjYXNlXFxcImN1cnJlbmN5XFxcIjprLnQ9XFxcIm5cXFwiO2sudj1wYXJzZUZsb2F0KEUudmFsdWUpO2JyZWFrO2Nhc2VcXFwiZGF0ZVxcXCI6ay50PVxcXCJkXFxcIjtrLnY9b2UoRVtcXFwiZGF0ZS12YWx1ZVxcXCJdKTtpZighaS5jZWxsRGF0ZXMpe2sudD1cXFwiblxcXCI7ay52PWVlKGsudil9ay56PVxcXCJtL2QveXlcXFwiO2JyZWFrO2Nhc2VcXFwidGltZVxcXCI6ay50PVxcXCJuXFxcIjtrLnY9aWUoRVtcXFwidGltZS12YWx1ZVxcXCJdKS84NjQwMDticmVhaztjYXNlXFxcIm51bWJlclxcXCI6ay50PVxcXCJuXFxcIjtrLnY9cGFyc2VGbG9hdChFW1xcXCLmlbDmja7mlbDlgLxcXFwiXSk7YnJlYWs7ZGVmYXVsdDppZihrLnQ9PT1cXFwic3RyaW5nXFxcInx8ay50PT09XFxcInRleHRcXFwifHwhay50KXtrLnQ9XFxcInNcXFwiO2lmKEVbXFxcInN0cmluZy12YWx1ZVxcXCJdIT1udWxsKXtTPU1lKEVbXFxcInN0cmluZy12YWx1ZVxcXCJdKTtCPVtdfX1lbHNlIHRocm93IG5ldyBFcnJvcihcXFwiVW5zdXBwb3J0ZWQgdmFsdWUgdHlwZSBcXFwiK2sudCk7fX1lbHNle2o9ZmFsc2U7aWYoay50PT09XFxcInNcXFwiKXtrLnY9U3x8XFxcIlxcXCI7aWYoQi5sZW5ndGgpay5SPUI7aj1fPT0wfWlmKHouVGFyZ2V0KWsubD16O2lmKFcubGVuZ3RoPjApe2suYz1XO1c9W119aWYoUyYmaS5jZWxsVGV4dCE9PWZhbHNlKWsudz1TO2lmKGope2sudD1cXFwielxcXCI7ZGVsZXRlIGsudn1pZighanx8aS5zaGVldFN0dWJzKXtpZighKGkuc2hlZXRSb3dzJiZpLnNoZWV0Um93czw9VCkpe2Zvcih2YXIgWj0wO1o8TjsrK1ope0w9cGFyc2VJbnQoRVtcXFwibnVtYmVyLWNvbHVtbnMtcmVwZWF0ZWRcXFwiXXx8XFxcIjFcXFwiLDEwKTtpZihpLmRlbnNlKXtpZighZ1tUK1pdKWdbVCtaXT1bXTtnW1QrWl1beV09Wj09MD9rOmNlKGspO3doaWxlKC0tTD4wKWdbVCtaXVt5K0xdPWNlKGspfWVsc2V7Z1tidCh7cjpUK1osYzp5fSldPWs7d2hpbGUoLS1MPjApZ1tidCh7cjpUK1osYzp5K0x9KV09Y2Uoayl9aWYoeC5lLmM8PXkpeC5lLmM9eX19fUw9cGFyc2VJbnQoRVtcXFwibnVtYmVyLWNvbHVtbnMtcmVwZWF0ZWRcXFwiXXx8XFxcIjFcXFwiLDEwKTt5Kz1MLTE7TD0wO2s9e307Uz1cXFwiXFxcIjtCPVtdfXo9e307YnJlYWs7Y2FzZVxcXCJkb2N1bWVudFxcXCI6O2Nhc2VcXFwiZG9jdW1lbnQtY29udGVudFxcXCI6O2Nhc2VcXFwi55S15a2Q6KGo5qC85paH5qGjXFxcIjo7Y2FzZVxcXCJzcHJlYWRzaGVldFxcXCI6O2Nhc2VcXFwi5Li75L2TXFxcIjo7Y2FzZVxcXCJzY3JpcHRzXFxcIjo7Y2FzZVxcXCJzdHlsZXNcXFwiOjtjYXNlXFxcImZvbnQtZmFjZS1kZWNsc1xcXCI6O2Nhc2VcXFwibWFzdGVyLXN0eWxlc1xcXCI6aWYod1sxXT09PVxcXCIvXFxcIil7aWYoKG89Zi5wb3AoKSlbMF0hPT13WzNdKXRocm93XFxcIkJhZCBzdGF0ZTogXFxcIitvfWVsc2UgaWYod1swXS5jaGFyQXQod1swXS5sZW5ndGgtMikhPT1cXFwiL1xcXCIpZi5wdXNoKFt3WzNdLHRydWVdKTticmVhaztjYXNlXFxcImFubm90YXRpb25cXFwiOmlmKHdbMV09PT1cXFwiL1xcXCIpe2lmKChvPWYucG9wKCkpWzBdIT09d1szXSl0aHJvd1xcXCJCYWQgc3RhdGU6IFxcXCIrbztWLnQ9UztpZihCLmxlbmd0aClWLlI9QjtWLmE9WDtXLnB1c2goVil9ZWxzZSBpZih3WzBdLmNoYXJBdCh3WzBdLmxlbmd0aC0yKSE9PVxcXCIvXFxcIil7Zi5wdXNoKFt3WzNdLGZhbHNlXSl9WD1cXFwiXFxcIjtHPTA7Uz1cXFwiXFxcIjtfPTA7Qj1bXTticmVhaztjYXNlXFxcImNyZWF0b3JcXFwiOmlmKHdbMV09PT1cXFwiL1xcXCIpe1g9cy5zbGljZShHLHcuaW5kZXgpfWVsc2UgRz13LmluZGV4K3dbMF0ubGVuZ3RoO2JyZWFrO2Nhc2VcXFwibWV0YVxcXCI6O2Nhc2VcXFwi5YWD5pWw5o2uXFxcIjo7Y2FzZVxcXCJzZXR0aW5nc1xcXCI6O2Nhc2VcXFwiY29uZmlnLWl0ZW0tc2V0XFxcIjo7Y2FzZVxcXCJjb25maWctaXRlbS1tYXAtaW5kZXhlZFxcXCI6O2Nhc2VcXFwiY29uZmlnLWl0ZW0tbWFwLWVudHJ5XFxcIjo7Y2FzZVxcXCJjb25maWctaXRlbS1tYXAtbmFtZWRcXFwiOjtjYXNlXFxcInNoYXBlc1xcXCI6O2Nhc2VcXFwiZnJhbWVcXFwiOjtjYXNlXFxcInRleHQtYm94XFxcIjo7Y2FzZVxcXCJpbWFnZVxcXCI6O2Nhc2VcXFwiZGF0YS1waWxvdC10YWJsZXNcXFwiOjtjYXNlXFxcImxpc3Qtc3R5bGVcXFwiOjtjYXNlXFxcImZvcm1cXFwiOjtjYXNlXFxcImRkZS1saW5rc1xcXCI6O2Nhc2VcXFwiZXZlbnQtbGlzdGVuZXJzXFxcIjo7Y2FzZVxcXCJjaGFydFxcXCI6aWYod1sxXT09PVxcXCIvXFxcIil7aWYoKG89Zi5wb3AoKSlbMF0hPT13WzNdKXRocm93XFxcIkJhZCBzdGF0ZTogXFxcIitvfWVsc2UgaWYod1swXS5jaGFyQXQod1swXS5sZW5ndGgtMikhPT1cXFwiL1xcXCIpZi5wdXNoKFt3WzNdLGZhbHNlXSk7Uz1cXFwiXFxcIjtfPTA7Qj1bXTticmVhaztjYXNlXFxcInNjaWVudGlmaWMtbnVtYmVyXFxcIjpicmVhaztjYXNlXFxcImN1cnJlbmN5LXN5bWJvbFxcXCI6YnJlYWs7Y2FzZVxcXCJjdXJyZW5jeS1zdHlsZVxcXCI6YnJlYWs7Y2FzZVxcXCJudW1iZXItc3R5bGVcXFwiOjtjYXNlXFxcInBlcmNlbnRhZ2Utc3R5bGVcXFwiOjtjYXNlXFxcImRhdGUtc3R5bGVcXFwiOjtjYXNlXFxcInRpbWUtc3R5bGVcXFwiOmlmKHdbMV09PT1cXFwiL1xcXCIpe0lbYy5uYW1lXT11O2lmKChvPWYucG9wKCkpWzBdIT09d1szXSl0aHJvd1xcXCJCYWQgc3RhdGU6IFxcXCIrb31lbHNlIGlmKHdbMF0uY2hhckF0KHdbMF0ubGVuZ3RoLTIpIT09XFxcIi9cXFwiKXt1PVxcXCJcXFwiO2M9RmUod1swXSxmYWxzZSk7Zi5wdXNoKFt3WzNdLHRydWVdKX1icmVhaztjYXNlXFxcInNjcmlwdFxcXCI6YnJlYWs7Y2FzZVxcXCJsaWJyYXJpZXNcXFwiOmJyZWFrO2Nhc2VcXFwiYXV0b21hdGljLXN0eWxlc1xcXCI6YnJlYWs7Y2FzZVxcXCJkZWZhdWx0LXN0eWxlXFxcIjo7Y2FzZVxcXCJwYWdlLWxheW91dFxcXCI6YnJlYWs7Y2FzZVxcXCJzdHlsZVxcXCI6YnJlYWs7Y2FzZVxcXCJtYXBcXFwiOmJyZWFrO2Nhc2VcXFwiZm9udC1mYWNlXFxcIjpicmVhaztjYXNlXFxcInBhcmFncmFwaC1wcm9wZXJ0aWVzXFxcIjpicmVhaztjYXNlXFxcInRhYmxlLXByb3BlcnRpZXNcXFwiOmJyZWFrO2Nhc2VcXFwidGFibGUtY29sdW1uLXByb3BlcnRpZXNcXFwiOmJyZWFrO2Nhc2VcXFwidGFibGUtcm93LXByb3BlcnRpZXNcXFwiOmJyZWFrO2Nhc2VcXFwidGFibGUtY2VsbC1wcm9wZXJ0aWVzXFxcIjpicmVhaztjYXNlXFxcIm51bWJlclxcXCI6c3dpdGNoKGZbZi5sZW5ndGgtMV1bMF0pe2Nhc2VcXFwidGltZS1zdHlsZVxcXCI6O2Nhc2VcXFwiZGF0ZS1zdHlsZVxcXCI6bD1GZSh3WzBdLGZhbHNlKTt1Kz1yW3dbM11dW2wuc3R5bGU9PT1cXFwibG9uZ1xcXCI/MTowXTticmVhazt9YnJlYWs7Y2FzZVxcXCJmcmFjdGlvblxcXCI6YnJlYWs7Y2FzZVxcXCJkYXlcXFwiOjtjYXNlXFxcIm1vbnRoXFxcIjo7Y2FzZVxcXCJ5ZWFyXFxcIjo7Y2FzZVxcXCJlcmFcXFwiOjtjYXNlXFxcImRheS1vZi13ZWVrXFxcIjo7Y2FzZVxcXCJ3ZWVrLW9mLXllYXJcXFwiOjtjYXNlXFxcInF1YXJ0ZXJcXFwiOjtjYXNlXFxcImhvdXJzXFxcIjo7Y2FzZVxcXCJtaW51dGVzXFxcIjo7Y2FzZVxcXCJzZWNvbmRzXFxcIjo7Y2FzZVxcXCJhbS1wbVxcXCI6c3dpdGNoKGZbZi5sZW5ndGgtMV1bMF0pe2Nhc2VcXFwidGltZS1zdHlsZVxcXCI6O2Nhc2VcXFwiZGF0ZS1zdHlsZVxcXCI6bD1GZSh3WzBdLGZhbHNlKTt1Kz1yW3dbM11dW2wuc3R5bGU9PT1cXFwibG9uZ1xcXCI/MTowXTticmVhazt9YnJlYWs7Y2FzZVxcXCJib29sZWFuLXN0eWxlXFxcIjpicmVhaztjYXNlXFxcImJvb2xlYW5cXFwiOmJyZWFrO2Nhc2VcXFwidGV4dC1zdHlsZVxcXCI6YnJlYWs7Y2FzZVxcXCJ0ZXh0XFxcIjppZih3WzBdLnNsaWNlKC0yKT09PVxcXCIvPlxcXCIpYnJlYWs7ZWxzZSBpZih3WzFdPT09XFxcIi9cXFwiKXN3aXRjaChmW2YubGVuZ3RoLTFdWzBdKXtjYXNlXFxcIm51bWJlci1zdHlsZVxcXCI6O2Nhc2VcXFwiZGF0ZS1zdHlsZVxcXCI6O2Nhc2VcXFwidGltZS1zdHlsZVxcXCI6dSs9cy5zbGljZShoLHcuaW5kZXgpO2JyZWFrO31lbHNlIGg9dy5pbmRleCt3WzBdLmxlbmd0aDticmVhaztjYXNlXFxcIm5hbWVkLXJhbmdlXFxcIjpsPUZlKHdbMF0sZmFsc2UpO0g9c2gobFtcXFwiY2VsbC1yYW5nZS1hZGRyZXNzXFxcIl0pO3ZhciBKPXtOYW1lOmwubmFtZSxSZWY6SFswXStcXFwiIVxcXCIrSFsxXX07aWYoSylKLlNoZWV0PWIubGVuZ3RoO1UuTmFtZXMucHVzaChKKTticmVhaztjYXNlXFxcInRleHQtY29udGVudFxcXCI6YnJlYWs7Y2FzZVxcXCJ0ZXh0LXByb3BlcnRpZXNcXFwiOmJyZWFrO2Nhc2VcXFwiZW1iZWRkZWQtdGV4dFxcXCI6YnJlYWs7Y2FzZVxcXCJib2R5XFxcIjo7Y2FzZVxcXCLnlLXlrZDooajmoLxcXFwiOmJyZWFrO2Nhc2VcXFwiZm9ybXNcXFwiOmJyZWFrO2Nhc2VcXFwidGFibGUtY29sdW1uXFxcIjpicmVhaztjYXNlXFxcInRhYmxlLWhlYWRlci1yb3dzXFxcIjpicmVhaztjYXNlXFxcInRhYmxlLXJvd3NcXFwiOmJyZWFrO2Nhc2VcXFwidGFibGUtY29sdW1uLWdyb3VwXFxcIjpicmVhaztjYXNlXFxcInRhYmxlLWhlYWRlci1jb2x1bW5zXFxcIjpicmVhaztjYXNlXFxcInRhYmxlLWNvbHVtbnNcXFwiOmJyZWFrO2Nhc2VcXFwibnVsbC1kYXRlXFxcIjpicmVhaztjYXNlXFxcImdyYXBoaWMtcHJvcGVydGllc1xcXCI6YnJlYWs7Y2FzZVxcXCJjYWxjdWxhdGlvbi1zZXR0aW5nc1xcXCI6YnJlYWs7Y2FzZVxcXCJuYW1lZC1leHByZXNzaW9uc1xcXCI6YnJlYWs7Y2FzZVxcXCJsYWJlbC1yYW5nZVxcXCI6YnJlYWs7Y2FzZVxcXCJsYWJlbC1yYW5nZXNcXFwiOmJyZWFrO2Nhc2VcXFwibmFtZWQtZXhwcmVzc2lvblxcXCI6YnJlYWs7Y2FzZVxcXCJzb3J0XFxcIjpicmVhaztjYXNlXFxcInNvcnQtYnlcXFwiOmJyZWFrO2Nhc2VcXFwic29ydC1ncm91cHNcXFwiOmJyZWFrO2Nhc2VcXFwidGFiXFxcIjpicmVhaztjYXNlXFxcImxpbmUtYnJlYWtcXFwiOmJyZWFrO2Nhc2VcXFwic3BhblxcXCI6YnJlYWs7Y2FzZVxcXCJwXFxcIjo7Y2FzZVxcXCLmlofmnKzkuLJcXFwiOmlmKFtcXFwibWFzdGVyLXN0eWxlc1xcXCJdLmluZGV4T2YoZltmLmxlbmd0aC0xXVswXSk+LTEpYnJlYWs7aWYod1sxXT09PVxcXCIvXFxcIiYmKCFFfHwhRVtcXFwic3RyaW5nLXZhbHVlXFxcIl0pKXt2YXIgUT1lKHMuc2xpY2UoXyx3LmluZGV4KSxDKTtTPShTLmxlbmd0aD4wP1MrXFxcIlxcXFxuXFxcIjpcXFwiXFxcIikrUVswXX1lbHNle0M9RmUod1swXSxmYWxzZSk7Xz13LmluZGV4K3dbMF0ubGVuZ3RofWJyZWFrO2Nhc2VcXFwic1xcXCI6YnJlYWs7Y2FzZVxcXCJkYXRhYmFzZS1yYW5nZVxcXCI6aWYod1sxXT09PVxcXCIvXFxcIilicmVhazt0cnl7SD1zaChGZSh3WzBdKVtcXFwidGFyZ2V0LXJhbmdlLWFkZHJlc3NcXFwiXSk7cFtIWzBdXVtcXFwiIWF1dG9maWx0ZXJcXFwiXT17cmVmOkhbMV19fWNhdGNoKHEpe31icmVhaztjYXNlXFxcImRhdGVcXFwiOmJyZWFrO2Nhc2VcXFwib2JqZWN0XFxcIjpicmVhaztjYXNlXFxcInRpdGxlXFxcIjo7Y2FzZVxcXCLmoIfpophcXFwiOmJyZWFrO2Nhc2VcXFwiZGVzY1xcXCI6YnJlYWs7Y2FzZVxcXCJiaW5hcnktZGF0YVxcXCI6YnJlYWs7Y2FzZVxcXCJ0YWJsZS1zb3VyY2VcXFwiOmJyZWFrO2Nhc2VcXFwic2NlbmFyaW9cXFwiOmJyZWFrO2Nhc2VcXFwiaXRlcmF0aW9uXFxcIjpicmVhaztjYXNlXFxcImNvbnRlbnQtdmFsaWRhdGlvbnNcXFwiOmJyZWFrO2Nhc2VcXFwiY29udGVudC12YWxpZGF0aW9uXFxcIjpicmVhaztjYXNlXFxcImhlbHAtbWVzc2FnZVxcXCI6YnJlYWs7Y2FzZVxcXCJlcnJvci1tZXNzYWdlXFxcIjpicmVhaztjYXNlXFxcImRhdGFiYXNlLXJhbmdlc1xcXCI6YnJlYWs7Y2FzZVxcXCJmaWx0ZXJcXFwiOmJyZWFrO2Nhc2VcXFwiZmlsdGVyLWFuZFxcXCI6YnJlYWs7Y2FzZVxcXCJmaWx0ZXItb3JcXFwiOmJyZWFrO2Nhc2VcXFwiZmlsdGVyLWNvbmRpdGlvblxcXCI6YnJlYWs7Y2FzZVxcXCJsaXN0LWxldmVsLXN0eWxlLWJ1bGxldFxcXCI6YnJlYWs7Y2FzZVxcXCJsaXN0LWxldmVsLXN0eWxlLW51bWJlclxcXCI6YnJlYWs7Y2FzZVxcXCJsaXN0LWxldmVsLXByb3BlcnRpZXNcXFwiOmJyZWFrO2Nhc2VcXFwic2VuZGVyLWZpcnN0bmFtZVxcXCI6O2Nhc2VcXFwic2VuZGVyLWxhc3RuYW1lXFxcIjo7Y2FzZVxcXCJzZW5kZXItaW5pdGlhbHNcXFwiOjtjYXNlXFxcInNlbmRlci10aXRsZVxcXCI6O2Nhc2VcXFwic2VuZGVyLXBvc2l0aW9uXFxcIjo7Y2FzZVxcXCJzZW5kZXItZW1haWxcXFwiOjtjYXNlXFxcInNlbmRlci1waG9uZS1wcml2YXRlXFxcIjo7Y2FzZVxcXCJzZW5kZXItZmF4XFxcIjo7Y2FzZVxcXCJzZW5kZXItY29tcGFueVxcXCI6O2Nhc2VcXFwic2VuZGVyLXBob25lLXdvcmtcXFwiOjtjYXNlXFxcInNlbmRlci1zdHJlZXRcXFwiOjtjYXNlXFxcInNlbmRlci1jaXR5XFxcIjo7Y2FzZVxcXCJzZW5kZXItcG9zdGFsLWNvZGVcXFwiOjtjYXNlXFxcInNlbmRlci1jb3VudHJ5XFxcIjo7Y2FzZVxcXCJzZW5kZXItc3RhdGUtb3ItcHJvdmluY2VcXFwiOjtjYXNlXFxcImF1dGhvci1uYW1lXFxcIjo7Y2FzZVxcXCJhdXRob3ItaW5pdGlhbHNcXFwiOjtjYXNlXFxcImNoYXB0ZXJcXFwiOjtjYXNlXFxcImZpbGUtbmFtZVxcXCI6O2Nhc2VcXFwidGVtcGxhdGUtbmFtZVxcXCI6O2Nhc2VcXFwic2hlZXQtbmFtZVxcXCI6YnJlYWs7Y2FzZVxcXCJldmVudC1saXN0ZW5lclxcXCI6YnJlYWs7Y2FzZVxcXCJpbml0aWFsLWNyZWF0b3JcXFwiOjtjYXNlXFxcImNyZWF0aW9uLWRhdGVcXFwiOjtjYXNlXFxcInByaW50LWRhdGVcXFwiOjtjYXNlXFxcImdlbmVyYXRvclxcXCI6O2Nhc2VcXFwiZG9jdW1lbnQtc3RhdGlzdGljXFxcIjo7Y2FzZVxcXCJ1c2VyLWRlZmluZWRcXFwiOjtjYXNlXFxcImVkaXRpbmctZHVyYXRpb25cXFwiOjtjYXNlXFxcImVkaXRpbmctY3ljbGVzXFxcIjpicmVhaztjYXNlXFxcImNvbmZpZy1pdGVtXFxcIjpicmVhaztjYXNlXFxcInBhZ2UtbnVtYmVyXFxcIjpicmVhaztjYXNlXFxcInBhZ2UtY291bnRcXFwiOmJyZWFrO2Nhc2VcXFwidGltZVxcXCI6YnJlYWs7Y2FzZVxcXCJjZWxsLXJhbmdlLXNvdXJjZVxcXCI6YnJlYWs7Y2FzZVxcXCJkZXRlY3RpdmVcXFwiOmJyZWFrO2Nhc2VcXFwib3BlcmF0aW9uXFxcIjpicmVhaztjYXNlXFxcImhpZ2hsaWdodGVkLXJhbmdlXFxcIjpicmVhaztjYXNlXFxcImRhdGEtcGlsb3QtdGFibGVcXFwiOjtjYXNlXFxcInNvdXJjZS1jZWxsLXJhbmdlXFxcIjo7Y2FzZVxcXCJzb3VyY2Utc2VydmljZVxcXCI6O2Nhc2VcXFwiZGF0YS1waWxvdC1maWVsZFxcXCI6O2Nhc2VcXFwiZGF0YS1waWxvdC1sZXZlbFxcXCI6O2Nhc2VcXFwiZGF0YS1waWxvdC1zdWJ0b3RhbHNcXFwiOjtjYXNlXFxcImRhdGEtcGlsb3Qtc3VidG90YWxcXFwiOjtjYXNlXFxcImRhdGEtcGlsb3QtbWVtYmVyc1xcXCI6O2Nhc2VcXFwiZGF0YS1waWxvdC1tZW1iZXJcXFwiOjtjYXNlXFxcImRhdGEtcGlsb3QtZGlzcGxheS1pbmZvXFxcIjo7Y2FzZVxcXCJkYXRhLXBpbG90LXNvcnQtaW5mb1xcXCI6O2Nhc2VcXFwiZGF0YS1waWxvdC1sYXlvdXQtaW5mb1xcXCI6O2Nhc2VcXFwiZGF0YS1waWxvdC1maWVsZC1yZWZlcmVuY2VcXFwiOjtjYXNlXFxcImRhdGEtcGlsb3QtZ3JvdXBzXFxcIjo7Y2FzZVxcXCJkYXRhLXBpbG90LWdyb3VwXFxcIjo7Y2FzZVxcXCJkYXRhLXBpbG90LWdyb3VwLW1lbWJlclxcXCI6YnJlYWs7Y2FzZVxcXCJyZWN0XFxcIjpicmVhaztjYXNlXFxcImRkZS1jb25uZWN0aW9uLWRlY2xzXFxcIjo7Y2FzZVxcXCJkZGUtY29ubmVjdGlvbi1kZWNsXFxcIjo7Y2FzZVxcXCJkZGUtbGlua1xcXCI6O2Nhc2VcXFwiZGRlLXNvdXJjZVxcXCI6YnJlYWs7Y2FzZVxcXCJwcm9wZXJ0aWVzXFxcIjpicmVhaztjYXNlXFxcInByb3BlcnR5XFxcIjpicmVhaztjYXNlXFxcImFcXFwiOmlmKHdbMV0hPT1cXFwiL1xcXCIpe3o9RmUod1swXSxmYWxzZSk7aWYoIXouaHJlZilicmVhazt6LlRhcmdldD16LmhyZWY7ZGVsZXRlIHouaHJlZjtpZih6LlRhcmdldC5jaGFyQXQoMCk9PVxcXCIjXFxcIiYmei5UYXJnZXQuaW5kZXhPZihcXFwiLlxcXCIpPi0xKXtIPXNoKHouVGFyZ2V0LnNsaWNlKDEpKTt6LlRhcmdldD1cXFwiI1xcXCIrSFswXStcXFwiIVxcXCIrSFsxXX19YnJlYWs7Y2FzZVxcXCJ0YWJsZS1wcm90ZWN0aW9uXFxcIjpicmVhaztjYXNlXFxcImRhdGEtcGlsb3QtZ3JhbmQtdG90YWxcXFwiOmJyZWFrO2Nhc2VcXFwib2ZmaWNlLWRvY3VtZW50LWNvbW1vbi1hdHRyc1xcXCI6YnJlYWs7ZGVmYXVsdDpzd2l0Y2god1syXSl7Y2FzZVxcXCJkYzpcXFwiOjtjYXNlXFxcImNhbGNleHQ6XFxcIjo7Y2FzZVxcXCJsb2V4dDpcXFwiOjtjYXNlXFxcIm9vbzpcXFwiOjtjYXNlXFxcImNoYXJ0b29vOlxcXCI6O2Nhc2VcXFwiZHJhdzpcXFwiOjtjYXNlXFxcInN0eWxlOlxcXCI6O2Nhc2VcXFwiY2hhcnQ6XFxcIjo7Y2FzZVxcXCJmb3JtOlxcXCI6O2Nhc2VcXFwidW9mOlxcXCI6O2Nhc2VcXFwi6KGoOlxcXCI6O2Nhc2VcXFwi5a2XOlxcXCI6YnJlYWs7ZGVmYXVsdDppZihpLldURil0aHJvdyBuZXcgRXJyb3Iodyk7fTt9dmFyIHJlPXtTaGVldHM6cCxTaGVldE5hbWVzOmIsV29ya2Jvb2s6VX07aWYoaS5ib29rU2hlZXRzKWRlbGV0ZSByZS5TaGVldHM7cmV0dXJuIHJlfX0oKTtmdW5jdGlvbiBvbShlLHIpe3I9cnx8e307dmFyIHQ9ISF3ZShlLFxcXCJvYmplY3RkYXRhXFxcIik7aWYodClqYShFZShlLFxcXCJNRVRBLUlORi9tYW5pZmVzdC54bWxcXFwiKSxyKTt2YXIgYT1TZShlLFxcXCJjb250ZW50LnhtbFxcXCIpO2lmKCFhKXRocm93IG5ldyBFcnJvcihcXFwiTWlzc2luZyBjb250ZW50LnhtbCBpbiBcXFwiKyh0P1xcXCJPRFNcXFwiOlxcXCJVT0ZcXFwiKStcXFwiIGZpbGVcXFwiKTt2YXIgbj1mbSh0P2E6WWUoYSkscik7aWYod2UoZSxcXFwibWV0YS54bWxcXFwiKSluLlByb3BzPWVuKEVlKGUsXFxcIm1ldGEueG1sXFxcIikpO3JldHVybiBufWZ1bmN0aW9uIGxtKGUscil7cmV0dXJuIGZtKGUscil9dmFyIGNtPWZ1bmN0aW9uKCl7dmFyIGU9XFxcIjxvZmZpY2U6ZG9jdW1lbnQtc3R5bGVzIFxcXCIrb3Ioe1xcXCJ4bWxuczpvZmZpY2VcXFwiOlxcXCJ1cm46b2FzaXM6bmFtZXM6dGM6b3BlbmRvY3VtZW50OnhtbG5zOm9mZmljZToxLjBcXFwiLFxcXCJ4bWxuczp0YWJsZVxcXCI6XFxcInVybjpvYXNpczpuYW1lczp0YzpvcGVuZG9jdW1lbnQ6eG1sbnM6dGFibGU6MS4wXFxcIixcXFwieG1sbnM6c3R5bGVcXFwiOlxcXCJ1cm46b2FzaXM6bmFtZXM6dGM6b3BlbmRvY3VtZW50OnhtbG5zOnN0eWxlOjEuMFxcXCIsXFxcInhtbG5zOnRleHRcXFwiOlxcXCJ1cm46b2FzaXM6bmFtZXM6dGM6b3BlbmRvY3VtZW50OnhtbG5zOnRleHQ6MS4wXFxcIixcXFwieG1sbnM6ZHJhd1xcXCI6XFxcInVybjpvYXNpczpuYW1lczp0YzpvcGVuZG9jdW1lbnQ6eG1sbnM6ZHJhd2luZzoxLjBcXFwiLFxcXCJ4bWxuczpmb1xcXCI6XFxcInVybjpvYXNpczpuYW1lczp0YzpvcGVuZG9jdW1lbnQ6eG1sbnM6eHNsLWZvLWNvbXBhdGlibGU6MS4wXFxcIixcXFwieG1sbnM6eGxpbmtcXFwiOlxcXCJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rXFxcIixcXFwieG1sbnM6ZGNcXFwiOlxcXCJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xL1xcXCIsXFxcInhtbG5zOm51bWJlclxcXCI6XFxcInVybjpvYXNpczpuYW1lczp0YzpvcGVuZG9jdW1lbnQ6eG1sbnM6ZGF0YXN0eWxlOjEuMFxcXCIsXFxcInhtbG5zOnN2Z1xcXCI6XFxcInVybjpvYXNpczpuYW1lczp0YzpvcGVuZG9jdW1lbnQ6eG1sbnM6c3ZnLWNvbXBhdGlibGU6MS4wXFxcIixcXFwieG1sbnM6b2ZcXFwiOlxcXCJ1cm46b2FzaXM6bmFtZXM6dGM6b3BlbmRvY3VtZW50OnhtbG5zOm9mOjEuMlxcXCIsXFxcIm9mZmljZTp2ZXJzaW9uXFxcIjpcXFwiMS4yXFxcIn0pK1xcXCI+PC9vZmZpY2U6ZG9jdW1lbnQtc3R5bGVzPlxcXCI7cmV0dXJuIGZ1bmN0aW9uIHIoKXtyZXR1cm4gQWUrZX19KCk7dmFyIHVtPWZ1bmN0aW9uKCl7dmFyIGU9ZnVuY3Rpb24oZSl7cmV0dXJuIEhlKGUpLnJlcGxhY2UoLyAgKy9nLGZ1bmN0aW9uKGUpe3JldHVybic8dGV4dDpzIHRleHQ6Yz1cXFwiJytlLmxlbmd0aCsnXFxcIi8+J30pLnJlcGxhY2UoL1xcXFx0L2csXFxcIjx0ZXh0OnRhYi8+XFxcIikucmVwbGFjZSgvXFxcXG4vZyxcXFwiPHRleHQ6bGluZS1icmVhay8+XFxcIikucmVwbGFjZSgvXiAvLFxcXCI8dGV4dDpzLz5cXFwiKS5yZXBsYWNlKC8gJC8sXFxcIjx0ZXh0OnMvPlxcXCIpfTt2YXIgcj1cXFwiICAgICAgICAgIDx0YWJsZTp0YWJsZS1jZWxsIC8+XFxcXG5cXFwiO3ZhciB0PVxcXCIgICAgICAgICAgPHRhYmxlOmNvdmVyZWQtdGFibGUtY2VsbC8+XFxcXG5cXFwiO3ZhciBhPWZ1bmN0aW9uKGEsbixpKXt2YXIgcz1bXTtzLnB1c2goJyAgICAgIDx0YWJsZTp0YWJsZSB0YWJsZTpuYW1lPVxcXCInK0hlKG4uU2hlZXROYW1lc1tpXSkrJ1xcXCIgdGFibGU6c3R5bGUtbmFtZT1cXFwidGExXFxcIj5cXFxcbicpO3ZhciBmPTAsbz0wLGw9Z3QoYVtcXFwiIXJlZlxcXCJdKTt2YXIgYz1hW1xcXCIhbWVyZ2VzXFxcIl18fFtdLHU9MDt2YXIgaD1BcnJheS5pc0FycmF5KGEpO2ZvcihmPTA7ZjxsLnMucjsrK2Ypcy5wdXNoKFxcXCIgICAgICAgIDx0YWJsZTp0YWJsZS1yb3c+PC90YWJsZTp0YWJsZS1yb3c+XFxcXG5cXFwiKTtmb3IoO2Y8PWwuZS5yOysrZil7cy5wdXNoKFxcXCIgICAgICAgIDx0YWJsZTp0YWJsZS1yb3c+XFxcXG5cXFwiKTtmb3Iobz0wO288bC5zLmM7KytvKXMucHVzaChyKTtmb3IoO288PWwuZS5jOysrbyl7dmFyIGQ9ZmFsc2Usdj17fSxwPVxcXCJcXFwiO2Zvcih1PTA7dSE9Yy5sZW5ndGg7Kyt1KXtpZihjW3VdLnMuYz5vKWNvbnRpbnVlO2lmKGNbdV0ucy5yPmYpY29udGludWU7aWYoY1t1XS5lLmM8byljb250aW51ZTtpZihjW3VdLmUucjxmKWNvbnRpbnVlO2lmKGNbdV0ucy5jIT1vfHxjW3VdLnMuciE9ZilkPXRydWU7dltcXFwidGFibGU6bnVtYmVyLWNvbHVtbnMtc3Bhbm5lZFxcXCJdPWNbdV0uZS5jLWNbdV0ucy5jKzE7dltcXFwidGFibGU6bnVtYmVyLXJvd3Mtc3Bhbm5lZFxcXCJdPWNbdV0uZS5yLWNbdV0ucy5yKzE7YnJlYWt9aWYoZCl7cy5wdXNoKHQpO2NvbnRpbnVlfXZhciBtPWJ0KHtyOmYsYzpvfSksYj1oPyhhW2ZdfHxbXSlbb106YVttXTtpZihiJiZiLmYpe3ZbXFxcInRhYmxlOmZvcm11bGFcXFwiXT1IZShpaChiLmYpKTtpZihiLkYpe2lmKGIuRi5zbGljZSgwLG0ubGVuZ3RoKT09bSl7dmFyIGc9Z3QoYi5GKTt2W1xcXCJ0YWJsZTpudW1iZXItbWF0cml4LWNvbHVtbnMtc3Bhbm5lZFxcXCJdPWcuZS5jLWcucy5jKzE7dltcXFwidGFibGU6bnVtYmVyLW1hdHJpeC1yb3dzLXNwYW5uZWRcXFwiXT1nLmUuci1nLnMucisxfX19aWYoIWIpe3MucHVzaChyKTtjb250aW51ZX1zd2l0Y2goYi50KXtjYXNlXFxcImJcXFwiOnA9Yi52P1xcXCJUUlVFXFxcIjpcXFwiRkFMU0VcXFwiO3ZbXFxcIm9mZmljZTp2YWx1ZS10eXBlXFxcIl09XFxcImJvb2xlYW5cXFwiO3ZbXFxcIm9mZmljZTpib29sZWFuLXZhbHVlXFxcIl09Yi52P1xcXCJ0cnVlXFxcIjpcXFwiZmFsc2VcXFwiO2JyZWFrO2Nhc2VcXFwiblxcXCI6cD1iLnd8fFN0cmluZyhiLnZ8fDApO3ZbXFxcIm9mZmljZTp2YWx1ZS10eXBlXFxcIl09XFxcImZsb2F0XFxcIjt2W1xcXCJvZmZpY2U6dmFsdWVcXFwiXT1iLnZ8fDA7YnJlYWs7Y2FzZVxcXCJzXFxcIjo7Y2FzZVxcXCJzdHJcXFwiOnA9Yi52PT1udWxsP1xcXCJcXFwiOmIudjt2W1xcXCJvZmZpY2U6dmFsdWUtdHlwZVxcXCJdPVxcXCJzdHJpbmdcXFwiO2JyZWFrO2Nhc2VcXFwiZFxcXCI6cD1iLnd8fG9lKGIudikudG9JU09TdHJpbmcoKTt2W1xcXCJvZmZpY2U6dmFsdWUtdHlwZVxcXCJdPVxcXCJkYXRlXFxcIjt2W1xcXCJvZmZpY2U6ZGF0ZS12YWx1ZVxcXCJdPW9lKGIudikudG9JU09TdHJpbmcoKTt2W1xcXCJ0YWJsZTpzdHlsZS1uYW1lXFxcIl09XFxcImNlMVxcXCI7YnJlYWs7ZGVmYXVsdDpzLnB1c2gocik7Y29udGludWU7fXZhciB3PWUocCk7aWYoYi5sJiZiLmwuVGFyZ2V0KXt2YXIgaz1iLmwuVGFyZ2V0O2s9ay5jaGFyQXQoMCk9PVxcXCIjXFxcIj9cXFwiI1xcXCIrZmgoay5zbGljZSgxKSk6azt3PWxyKFxcXCJ0ZXh0OmFcXFwiLHcse1xcXCJ4bGluazpocmVmXFxcIjprfSl9cy5wdXNoKFxcXCIgICAgICAgICAgXFxcIitscihcXFwidGFibGU6dGFibGUtY2VsbFxcXCIsbHIoXFxcInRleHQ6cFxcXCIsdyx7fSksdikrXFxcIlxcXFxuXFxcIil9cy5wdXNoKFxcXCIgICAgICAgIDwvdGFibGU6dGFibGUtcm93PlxcXFxuXFxcIil9cy5wdXNoKFxcXCIgICAgICA8L3RhYmxlOnRhYmxlPlxcXFxuXFxcIik7cmV0dXJuIHMuam9pbihcXFwiXFxcIil9O3ZhciBuPWZ1bmN0aW9uKGUpe2UucHVzaChcXFwiIDxvZmZpY2U6YXV0b21hdGljLXN0eWxlcz5cXFxcblxcXCIpO2UucHVzaCgnICA8bnVtYmVyOmRhdGUtc3R5bGUgc3R5bGU6bmFtZT1cXFwiTjM3XFxcIiBudW1iZXI6YXV0b21hdGljLW9yZGVyPVxcXCJ0cnVlXFxcIj5cXFxcbicpO2UucHVzaCgnICAgPG51bWJlcjptb250aCBudW1iZXI6c3R5bGU9XFxcImxvbmdcXFwiLz5cXFxcbicpO2UucHVzaChcXFwiICAgPG51bWJlcjp0ZXh0Pi88L251bWJlcjp0ZXh0PlxcXFxuXFxcIik7ZS5wdXNoKCcgICA8bnVtYmVyOmRheSBudW1iZXI6c3R5bGU9XFxcImxvbmdcXFwiLz5cXFxcbicpO2UucHVzaChcXFwiICAgPG51bWJlcjp0ZXh0Pi88L251bWJlcjp0ZXh0PlxcXFxuXFxcIik7ZS5wdXNoKFxcXCIgICA8bnVtYmVyOnllYXIvPlxcXFxuXFxcIik7ZS5wdXNoKFxcXCIgIDwvbnVtYmVyOmRhdGUtc3R5bGU+XFxcXG5cXFwiKTtlLnB1c2goJyAgPHN0eWxlOnN0eWxlIHN0eWxlOm5hbWU9XFxcInRhMVxcXCIgc3R5bGU6ZmFtaWx5PVxcXCJ0YWJsZVxcXCI+XFxcXG4nKTtlLnB1c2goJyAgIDxzdHlsZTp0YWJsZS1wcm9wZXJ0aWVzIHRhYmxlOmRpc3BsYXk9XFxcInRydWVcXFwiIHN0eWxlOndyaXRpbmctbW9kZT1cXFwibHItdGJcXFwiLz5cXFxcbicpO2UucHVzaChcXFwiICA8L3N0eWxlOnN0eWxlPlxcXFxuXFxcIik7ZS5wdXNoKCcgIDxzdHlsZTpzdHlsZSBzdHlsZTpuYW1lPVxcXCJjZTFcXFwiIHN0eWxlOmZhbWlseT1cXFwidGFibGUtY2VsbFxcXCIgc3R5bGU6cGFyZW50LXN0eWxlLW5hbWU9XFxcIkRlZmF1bHRcXFwiIHN0eWxlOmRhdGEtc3R5bGUtbmFtZT1cXFwiTjM3XFxcIi8+XFxcXG4nKTtlLnB1c2goXFxcIiA8L29mZmljZTphdXRvbWF0aWMtc3R5bGVzPlxcXFxuXFxcIil9O3JldHVybiBmdW5jdGlvbiBpKGUscil7dmFyIHQ9W0FlXTt2YXIgaT1vcih7XFxcInhtbG5zOm9mZmljZVxcXCI6XFxcInVybjpvYXNpczpuYW1lczp0YzpvcGVuZG9jdW1lbnQ6eG1sbnM6b2ZmaWNlOjEuMFxcXCIsXFxcInhtbG5zOnRhYmxlXFxcIjpcXFwidXJuOm9hc2lzOm5hbWVzOnRjOm9wZW5kb2N1bWVudDp4bWxuczp0YWJsZToxLjBcXFwiLFxcXCJ4bWxuczpzdHlsZVxcXCI6XFxcInVybjpvYXNpczpuYW1lczp0YzpvcGVuZG9jdW1lbnQ6eG1sbnM6c3R5bGU6MS4wXFxcIixcXFwieG1sbnM6dGV4dFxcXCI6XFxcInVybjpvYXNpczpuYW1lczp0YzpvcGVuZG9jdW1lbnQ6eG1sbnM6dGV4dDoxLjBcXFwiLFxcXCJ4bWxuczpkcmF3XFxcIjpcXFwidXJuOm9hc2lzOm5hbWVzOnRjOm9wZW5kb2N1bWVudDp4bWxuczpkcmF3aW5nOjEuMFxcXCIsXFxcInhtbG5zOmZvXFxcIjpcXFwidXJuOm9hc2lzOm5hbWVzOnRjOm9wZW5kb2N1bWVudDp4bWxuczp4c2wtZm8tY29tcGF0aWJsZToxLjBcXFwiLFxcXCJ4bWxuczp4bGlua1xcXCI6XFxcImh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmtcXFwiLFxcXCJ4bWxuczpkY1xcXCI6XFxcImh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvXFxcIixcXFwieG1sbnM6bWV0YVxcXCI6XFxcInVybjpvYXNpczpuYW1lczp0YzpvcGVuZG9jdW1lbnQ6eG1sbnM6bWV0YToxLjBcXFwiLFxcXCJ4bWxuczpudW1iZXJcXFwiOlxcXCJ1cm46b2FzaXM6bmFtZXM6dGM6b3BlbmRvY3VtZW50OnhtbG5zOmRhdGFzdHlsZToxLjBcXFwiLFxcXCJ4bWxuczpwcmVzZW50YXRpb25cXFwiOlxcXCJ1cm46b2FzaXM6bmFtZXM6dGM6b3BlbmRvY3VtZW50OnhtbG5zOnByZXNlbnRhdGlvbjoxLjBcXFwiLFxcXCJ4bWxuczpzdmdcXFwiOlxcXCJ1cm46b2FzaXM6bmFtZXM6dGM6b3BlbmRvY3VtZW50OnhtbG5zOnN2Zy1jb21wYXRpYmxlOjEuMFxcXCIsXFxcInhtbG5zOmNoYXJ0XFxcIjpcXFwidXJuOm9hc2lzOm5hbWVzOnRjOm9wZW5kb2N1bWVudDp4bWxuczpjaGFydDoxLjBcXFwiLFxcXCJ4bWxuczpkcjNkXFxcIjpcXFwidXJuOm9hc2lzOm5hbWVzOnRjOm9wZW5kb2N1bWVudDp4bWxuczpkcjNkOjEuMFxcXCIsXFxcInhtbG5zOm1hdGhcXFwiOlxcXCJodHRwOi8vd3d3LnczLm9yZy8xOTk4L01hdGgvTWF0aE1MXFxcIixcXFwieG1sbnM6Zm9ybVxcXCI6XFxcInVybjpvYXNpczpuYW1lczp0YzpvcGVuZG9jdW1lbnQ6eG1sbnM6Zm9ybToxLjBcXFwiLFxcXCJ4bWxuczpzY3JpcHRcXFwiOlxcXCJ1cm46b2FzaXM6bmFtZXM6dGM6b3BlbmRvY3VtZW50OnhtbG5zOnNjcmlwdDoxLjBcXFwiLFxcXCJ4bWxuczpvb29cXFwiOlxcXCJodHRwOi8vb3Blbm9mZmljZS5vcmcvMjAwNC9vZmZpY2VcXFwiLFxcXCJ4bWxuczpvb293XFxcIjpcXFwiaHR0cDovL29wZW5vZmZpY2Uub3JnLzIwMDQvd3JpdGVyXFxcIixcXFwieG1sbnM6b29vY1xcXCI6XFxcImh0dHA6Ly9vcGVub2ZmaWNlLm9yZy8yMDA0L2NhbGNcXFwiLFxcXCJ4bWxuczpkb21cXFwiOlxcXCJodHRwOi8vd3d3LnczLm9yZy8yMDAxL3htbC1ldmVudHNcXFwiLFxcXCJ4bWxuczp4Zm9ybXNcXFwiOlxcXCJodHRwOi8vd3d3LnczLm9yZy8yMDAyL3hmb3Jtc1xcXCIsXFxcInhtbG5zOnhzZFxcXCI6XFxcImh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hXFxcIixcXFwieG1sbnM6eHNpXFxcIjpcXFwiaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEtaW5zdGFuY2VcXFwiLFxcXCJ4bWxuczpzaGVldFxcXCI6XFxcInVybjpvYXNpczpuYW1lczp0YzpvcGVuZG9jdW1lbnQ6c2gzM3RqczoxLjBcXFwiLFxcXCJ4bWxuczpycHRcXFwiOlxcXCJodHRwOi8vb3Blbm9mZmljZS5vcmcvMjAwNS9yZXBvcnRcXFwiLFxcXCJ4bWxuczpvZlxcXCI6XFxcInVybjpvYXNpczpuYW1lczp0YzpvcGVuZG9jdW1lbnQ6eG1sbnM6b2Y6MS4yXFxcIixcXFwieG1sbnM6eGh0bWxcXFwiOlxcXCJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1sXFxcIixcXFwieG1sbnM6Z3JkZGxcXFwiOlxcXCJodHRwOi8vd3d3LnczLm9yZy8yMDAzL2cvZGF0YS12aWV3I1xcXCIsXFxcInhtbG5zOnRhYmxlb29vXFxcIjpcXFwiaHR0cDovL29wZW5vZmZpY2Uub3JnLzIwMDkvdGFibGVcXFwiLFxcXCJ4bWxuczpkcmF3b29vXFxcIjpcXFwiaHR0cDovL29wZW5vZmZpY2Uub3JnLzIwMTAvZHJhd1xcXCIsXFxcInhtbG5zOmNhbGNleHRcXFwiOlxcXCJ1cm46b3JnOmRvY3VtZW50Zm91bmRhdGlvbjpuYW1lczpleHBlcmltZW50YWw6Y2FsYzp4bWxuczpjYWxjZXh0OjEuMFxcXCIsXFxcInhtbG5zOmxvZXh0XFxcIjpcXFwidXJuOm9yZzpkb2N1bWVudGZvdW5kYXRpb246bmFtZXM6ZXhwZXJpbWVudGFsOm9mZmljZTp4bWxuczpsb2V4dDoxLjBcXFwiLFxcXCJ4bWxuczpmaWVsZFxcXCI6XFxcInVybjpvcGVub2ZmaWNlOm5hbWVzOmV4cGVyaW1lbnRhbDpvb28tbXMtaW50ZXJvcDp4bWxuczpmaWVsZDoxLjBcXFwiLFxcXCJ4bWxuczpmb3JteFxcXCI6XFxcInVybjpvcGVub2ZmaWNlOm5hbWVzOmV4cGVyaW1lbnRhbDpvb3htbC1vZGYtaW50ZXJvcDp4bWxuczpmb3JtOjEuMFxcXCIsXFxcInhtbG5zOmNzczN0XFxcIjpcXFwiaHR0cDovL3d3dy53My5vcmcvVFIvY3NzMy10ZXh0L1xcXCIsXFxcIm9mZmljZTp2ZXJzaW9uXFxcIjpcXFwiMS4yXFxcIn0pO3ZhciBzPW9yKHtcXFwieG1sbnM6Y29uZmlnXFxcIjpcXFwidXJuOm9hc2lzOm5hbWVzOnRjOm9wZW5kb2N1bWVudDp4bWxuczpjb25maWc6MS4wXFxcIixcXFwib2ZmaWNlOm1pbWV0eXBlXFxcIjpcXFwiYXBwbGljYXRpb24vdm5kLm9hc2lzLm9wZW5kb2N1bWVudC5zcHJlYWRzaGVldFxcXCJ9KTtpZihyLmJvb2tUeXBlPT1cXFwiZm9kc1xcXCIpdC5wdXNoKFxcXCI8b2ZmaWNlOmRvY3VtZW50XFxcIitpK3MrXFxcIj5cXFxcblxcXCIpO2Vsc2UgdC5wdXNoKFxcXCI8b2ZmaWNlOmRvY3VtZW50LWNvbnRlbnRcXFwiK2krXFxcIj5cXFxcblxcXCIpO24odCk7dC5wdXNoKFxcXCIgIDxvZmZpY2U6Ym9keT5cXFxcblxcXCIpO3QucHVzaChcXFwiICAgIDxvZmZpY2U6c3ByZWFkc2hlZXQ+XFxcXG5cXFwiKTtmb3IodmFyIGY9MDtmIT1lLlNoZWV0TmFtZXMubGVuZ3RoOysrZil0LnB1c2goYShlLlNoZWV0c1tlLlNoZWV0TmFtZXNbZl1dLGUsZixyKSk7dC5wdXNoKFxcXCIgICAgPC9vZmZpY2U6c3ByZWFkc2hlZXQ+XFxcXG5cXFwiKTt0LnB1c2goXFxcIiAgPC9vZmZpY2U6Ym9keT5cXFxcblxcXCIpO2lmKHIuYm9va1R5cGU9PVxcXCJmb2RzXFxcIil0LnB1c2goXFxcIjwvb2ZmaWNlOmRvY3VtZW50PlxcXCIpO2Vsc2UgdC5wdXNoKFxcXCI8L29mZmljZTpkb2N1bWVudC1jb250ZW50PlxcXCIpO3JldHVybiB0LmpvaW4oXFxcIlxcXCIpfX0oKTtmdW5jdGlvbiBobShlLHIpe2lmKHIuYm9va1R5cGU9PVxcXCJmb2RzXFxcIilyZXR1cm4gdW0oZSxyKTt2YXIgdD1UZSgpO3ZhciBhPVxcXCJcXFwiO3ZhciBuPVtdO3ZhciBpPVtdO2E9XFxcIm1pbWV0eXBlXFxcIjtDZSh0LGEsXFxcImFwcGxpY2F0aW9uL3ZuZC5vYXNpcy5vcGVuZG9jdW1lbnQuc3ByZWFkc2hlZXRcXFwiKTthPVxcXCJjb250ZW50LnhtbFxcXCI7Q2UodCxhLHVtKGUscikpO24ucHVzaChbYSxcXFwidGV4dC94bWxcXFwiXSk7aS5wdXNoKFthLFxcXCJDb250ZW50RmlsZVxcXCJdKTthPVxcXCJzdHlsZXMueG1sXFxcIjtDZSh0LGEsY20oZSxyKSk7bi5wdXNoKFthLFxcXCJ0ZXh0L3htbFxcXCJdKTtpLnB1c2goW2EsXFxcIlN0eWxlc0ZpbGVcXFwiXSk7YT1cXFwibWV0YS54bWxcXFwiO0NlKHQsYSxKYSgpKTtuLnB1c2goW2EsXFxcInRleHQveG1sXFxcIl0pO2kucHVzaChbYSxcXFwiTWV0YWRhdGFGaWxlXFxcIl0pO2E9XFxcIm1hbmlmZXN0LnJkZlxcXCI7Q2UodCxhLFphKGkpKTtuLnB1c2goW2EsXFxcImFwcGxpY2F0aW9uL3JkZit4bWxcXFwiXSk7YT1cXFwiTUVUQS1JTkYvbWFuaWZlc3QueG1sXFxcIjtDZSh0LGEsS2EobikpO3JldHVybiB0fWZ1bmN0aW9uIGRtKGUscil7aWYoIXIpcmV0dXJuIDA7dmFyIHQ9ZS5TaGVldE5hbWVzLmluZGV4T2Yocik7aWYodD09LTEpdGhyb3cgbmV3IEVycm9yKFxcXCJTaGVldCBub3QgZm91bmQ6IFxcXCIrcik7cmV0dXJuIHR9ZnVuY3Rpb24gdm0oZSl7cmV0dXJuIGZ1bmN0aW9uIHIodCxhKXt2YXIgbj1kbSh0LGEuc2hlZXQpO3JldHVybiBlLmZyb21fc2hlZXQodC5TaGVldHNbdC5TaGVldE5hbWVzW25dXSxhLHQpfX12YXIgcG09dm0ocm0pO3ZhciBtbT12bSh7ZnJvbV9zaGVldDpuYn0pO3ZhciBibT12bSh0eXBlb2YgZGYhPT1cXFwidW5kZWZpbmVkXFxcIj9kZjp7fSk7dmFyIGdtPXZtKHR5cGVvZiB2ZiE9PVxcXCJ1bmRlZmluZWRcXFwiP3ZmOnt9KTt2YXIgd209dm0odHlwZW9mIG1mIT09XFxcInVuZGVmaW5lZFxcXCI/bWY6e30pO3ZhciBrbT12bSh0eXBlb2Ygc28hPT1cXFwidW5kZWZpbmVkXFxcIj9zbzp7fSk7dmFyIEVtPXZtKHtmcm9tX3NoZWV0OmlifSk7dmFyIFNtPXZtKHR5cGVvZiBoZiE9PVxcXCJ1bmRlZmluZWRcXFwiP2hmOnt9KTt2YXIgX209dm0odHlwZW9mIHBmIT09XFxcInVuZGVmaW5lZFxcXCI/cGY6e30pO2Z1bmN0aW9uIENtKGUpe3JldHVybiBmdW5jdGlvbiByKHQpe2Zvcih2YXIgYT0wO2EhPWUubGVuZ3RoOysrYSl7dmFyIG49ZVthXTtpZih0W25bMF1dPT09dW5kZWZpbmVkKXRbblswXV09blsxXTtpZihuWzJdPT09XFxcIm5cXFwiKXRbblswXV09TnVtYmVyKHRbblswXV0pfX19dmFyIEJtPWZ1bmN0aW9uKGUpe0NtKFtbXFxcImNlbGxORlxcXCIsZmFsc2VdLFtcXFwiY2VsbEhUTUxcXFwiLHRydWVdLFtcXFwiY2VsbEZvcm11bGFcXFwiLHRydWVdLFtcXFwiY2VsbFN0eWxlc1xcXCIsZmFsc2VdLFtcXFwiY2VsbFRleHRcXFwiLHRydWVdLFtcXFwiY2VsbERhdGVzXFxcIixmYWxzZV0sW1xcXCJzaGVldFN0dWJzXFxcIixmYWxzZV0sW1xcXCJzaGVldFJvd3NcXFwiLDAsXFxcIm5cXFwiXSxbXFxcImJvb2tEZXBzXFxcIixmYWxzZV0sW1xcXCJib29rU2hlZXRzXFxcIixmYWxzZV0sW1xcXCJib29rUHJvcHNcXFwiLGZhbHNlXSxbXFxcImJvb2tGaWxlc1xcXCIsZmFsc2VdLFtcXFwiYm9va1ZCQVxcXCIsZmFsc2VdLFtcXFwicGFzc3dvcmRcXFwiLFxcXCJcXFwiXSxbXFxcIldURlxcXCIsZmFsc2VdXSkoZSl9O3ZhciBUbT1DbShbW1xcXCJjZWxsRGF0ZXNcXFwiLGZhbHNlXSxbXFxcImJvb2tTU1RcXFwiLGZhbHNlXSxbXFxcImJvb2tUeXBlXFxcIixcXFwieGxzeFxcXCJdLFtcXFwiY29tcHJlc3Npb25cXFwiLGZhbHNlXSxbXFxcIldURlxcXCIsZmFsc2VdXSk7ZnVuY3Rpb24geW0oZSl7aWYoTWEuV1MuaW5kZXhPZihlKT4tMSlyZXR1cm5cXFwic2hlZXRcXFwiO2lmKE1hLkNTJiZlPT1NYS5DUylyZXR1cm5cXFwiY2hhcnRcXFwiO2lmKE1hLkRTJiZlPT1NYS5EUylyZXR1cm5cXFwiZGlhbG9nXFxcIjtpZihNYS5NUyYmZT09TWEuTVMpcmV0dXJuXFxcIm1hY3JvXFxcIjtyZXR1cm4gZSYmZS5sZW5ndGg/ZTpcXFwic2hlZXRcXFwifWZ1bmN0aW9uIHhtKGUscil7aWYoIWUpcmV0dXJuIDA7dHJ5e2U9ci5tYXAoZnVuY3Rpb24gYShyKXtpZighci5pZClyLmlkPXIuc3RyUmVsSUQ7cmV0dXJuW3IubmFtZSxlW1xcXCIhaWRcXFwiXVtyLmlkXS5UYXJnZXQseW0oZVtcXFwiIWlkXFxcIl1bci5pZF0uVHlwZSldfSl9Y2F0Y2godCl7cmV0dXJuIG51bGx9cmV0dXJuIWV8fGUubGVuZ3RoPT09MD9udWxsOmV9ZnVuY3Rpb24gQW0oZSxyLHQsYSxuLGkscyxmLG8sbCxjLHUpe3RyeXtpW2FdPXphKFNlKGUsdCx0cnVlKSxyKTt2YXIgaD1FZShlLHIpO3ZhciBkO3N3aXRjaChmKXtjYXNlXFxcInNoZWV0XFxcIjpkPUZ2KGgscixuLG8saVthXSxsLGMsdSk7YnJlYWs7Y2FzZVxcXCJjaGFydFxcXCI6ZD1QdihoLHIsbixvLGlbYV0sbCxjLHUpO2lmKCFkfHwhZFtcXFwiIWRyYXdlbFxcXCJdKWJyZWFrO3ZhciB2PXhlKGRbXFxcIiFkcmF3ZWxcXFwiXS5UYXJnZXQscik7dmFyIHA9VWEodik7dmFyIG09TGwoU2UoZSx2LHRydWUpLHphKFNlKGUscCx0cnVlKSx2KSk7dmFyIGI9eGUobSx2KTt2YXIgZz1VYShiKTtkPVFkKFNlKGUsYix0cnVlKSxiLG8semEoU2UoZSxnLHRydWUpLGIpLGwsZCk7YnJlYWs7Y2FzZVxcXCJtYWNyb1xcXCI6ZD1OdihoLHIsbixvLGlbYV0sbCxjLHUpO2JyZWFrO2Nhc2VcXFwiZGlhbG9nXFxcIjpkPUx2KGgscixuLG8saVthXSxsLGMsdSk7YnJlYWs7ZGVmYXVsdDp0aHJvdyBuZXcgRXJyb3IoXFxcIlVucmVjb2duaXplZCBzaGVldCB0eXBlIFxcXCIrZik7fXNbYV09ZDt2YXIgdz1bXTtpZihpJiZpW2FdKUsoaVthXSkuZm9yRWFjaChmdW5jdGlvbih0KXtpZihpW2FdW3RdLlR5cGU9PU1hLkNNTlQpe3ZhciBuPXhlKGlbYV1bdF0uVGFyZ2V0LHIpO3c9SHYoRWUoZSxuLHRydWUpLG4sbyk7aWYoIXd8fCF3Lmxlbmd0aClyZXR1cm47emwoZCx3KX19KX1jYXRjaChrKXtpZihvLldURil0aHJvdyBrfX1mdW5jdGlvbiBJbShlKXtyZXR1cm4gZS5jaGFyQXQoMCk9PVxcXCIvXFxcIj9lLnNsaWNlKDEpOmV9ZnVuY3Rpb24gUm0oZSxyKXtGKEQpO3I9cnx8e307Qm0ocik7aWYod2UoZSxcXFwiTUVUQS1JTkYvbWFuaWZlc3QueG1sXFxcIikpcmV0dXJuIG9tKGUscik7aWYod2UoZSxcXFwib2JqZWN0ZGF0YS54bWxcXFwiKSlyZXR1cm4gb20oZSxyKTtpZih3ZShlLFxcXCJJbmRleC9Eb2N1bWVudC5pd2FcXFwiKSl0aHJvdyBuZXcgRXJyb3IoXFxcIlVuc3VwcG9ydGVkIE5VTUJFUlMgZmlsZVxcXCIpO3ZhciB0PV9lKGUpO3ZhciBhPUZhKFNlKGUsXFxcIltDb250ZW50X1R5cGVzXS54bWxcXFwiKSk7dmFyIG49ZmFsc2U7dmFyIGkscztpZihhLndvcmtib29rcy5sZW5ndGg9PT0wKXtzPVxcXCJ4bC93b3JrYm9vay54bWxcXFwiO2lmKEVlKGUscyx0cnVlKSlhLndvcmtib29rcy5wdXNoKHMpfWlmKGEud29ya2Jvb2tzLmxlbmd0aD09PTApe3M9XFxcInhsL3dvcmtib29rLmJpblxcXCI7aWYoIUVlKGUscyx0cnVlKSl0aHJvdyBuZXcgRXJyb3IoXFxcIkNvdWxkIG5vdCBmaW5kIHdvcmtib29rXFxcIik7YS53b3JrYm9va3MucHVzaChzKTtuPXRydWV9aWYoYS53b3JrYm9va3NbMF0uc2xpY2UoLTMpPT1cXFwiYmluXFxcIiluPXRydWU7dmFyIGY9e307dmFyIG89e307aWYoIXIuYm9va1NoZWV0cyYmIXIuYm9va1Byb3BzKXtvaD1bXTtpZihhLnNzdCl0cnl7b2g9enYoRWUoZSxJbShhLnNzdCkpLGEuc3N0LHIpfWNhdGNoKGwpe2lmKHIuV1RGKXRocm93IGx9aWYoci5jZWxsU3R5bGVzJiZhLnRoZW1lcy5sZW5ndGgpZj1VdihTZShlLGEudGhlbWVzWzBdLnJlcGxhY2UoL15cXFxcLy8sXFxcIlxcXCIpLHRydWUpfHxcXFwiXFxcIixhLnRoZW1lc1swXSxyKTtpZihhLnN0eWxlKW89TXYoRWUoZSxJbShhLnN0eWxlKSksYS5zdHlsZSxmLHIpfWEubGlua3MubWFwKGZ1bmN0aW9uKHQpe3RyeXt2YXIgYT16YShTZShlLFVhKEltKHQpKSksdCk7cmV0dXJuIFZ2KEVlKGUsSW0odCkpLGEsdCxyKX1jYXRjaChuKXt9fSk7dmFyIGM9RHYoRWUoZSxJbShhLndvcmtib29rc1swXSkpLGEud29ya2Jvb2tzWzBdLHIpO3ZhciB1PXt9LGg9XFxcIlxcXCI7aWYoYS5jb3JlcHJvcHMubGVuZ3RoKXtoPUVlKGUsSW0oYS5jb3JlcHJvcHNbMF0pLHRydWUpO2lmKGgpdT1lbihoKTtpZihhLmV4dHByb3BzLmxlbmd0aCE9PTApe2g9RWUoZSxJbShhLmV4dHByb3BzWzBdKSx0cnVlKTtpZihoKW9uKGgsdSxyKX19dmFyIGQ9e307aWYoIXIuYm9va1NoZWV0c3x8ci5ib29rUHJvcHMpe2lmKGEuY3VzdHByb3BzLmxlbmd0aCE9PTApe2g9U2UoZSxJbShhLmN1c3Rwcm9wc1swXSksdHJ1ZSk7aWYoaClkPWhuKGgscil9fXZhciB2PXt9O2lmKHIuYm9va1NoZWV0c3x8ci5ib29rUHJvcHMpe2lmKGMuU2hlZXRzKWk9Yy5TaGVldHMubWFwKGZ1bmN0aW9uIEkoZSl7cmV0dXJuIGUubmFtZX0pO2Vsc2UgaWYodS5Xb3Jrc2hlZXRzJiZ1LlNoZWV0TmFtZXMubGVuZ3RoPjApaT11LlNoZWV0TmFtZXM7aWYoci5ib29rUHJvcHMpe3YuUHJvcHM9dTt2LkN1c3Rwcm9wcz1kfWlmKHIuYm9va1NoZWV0cyYmdHlwZW9mIGkhPT1cXFwidW5kZWZpbmVkXFxcIil2LlNoZWV0TmFtZXM9aTtpZihyLmJvb2tTaGVldHM/di5TaGVldE5hbWVzOnIuYm9va1Byb3BzKXJldHVybiB2fWk9e307dmFyIHA9e307aWYoci5ib29rRGVwcyYmYS5jYWxjY2hhaW4pcD1XdihFZShlLEltKGEuY2FsY2NoYWluKSksYS5jYWxjY2hhaW4scik7dmFyIG09MDt2YXIgYj17fTt2YXIgZyx3O3t2YXIgaz1jLlNoZWV0czt1LldvcmtzaGVldHM9ay5sZW5ndGg7dS5TaGVldE5hbWVzPVtdO2Zvcih2YXIgRT0wO0UhPWsubGVuZ3RoOysrRSl7dS5TaGVldE5hbWVzW0VdPWtbRV0ubmFtZX19dmFyIFM9bj9cXFwiYmluXFxcIjpcXFwieG1sXFxcIjt2YXIgXz1hLndvcmtib29rc1swXS5sYXN0SW5kZXhPZihcXFwiL1xcXCIpO3ZhciBDPShhLndvcmtib29rc1swXS5zbGljZSgwLF8rMSkrXFxcIl9yZWxzL1xcXCIrYS53b3JrYm9va3NbMF0uc2xpY2UoXysxKStcXFwiLnJlbHNcXFwiKS5yZXBsYWNlKC9eXFxcXC8vLFxcXCJcXFwiKTtpZighd2UoZSxDKSlDPVxcXCJ4bC9fcmVscy93b3JrYm9vay5cXFwiK1MrXFxcIi5yZWxzXFxcIjt2YXIgQj16YShTZShlLEMsdHJ1ZSksQyk7aWYoQilCPXhtKEIsYy5TaGVldHMpO3ZhciBUPUVlKGUsXFxcInhsL3dvcmtzaGVldHMvc2hlZXQueG1sXFxcIix0cnVlKT8xOjA7ZTpmb3IobT0wO20hPXUuV29ya3NoZWV0czsrK20pe3ZhciB5PVxcXCJzaGVldFxcXCI7aWYoQiYmQlttXSl7Zz1cXFwieGwvXFxcIitCW21dWzFdLnJlcGxhY2UoL1tcXFxcL10/eGxcXFxcLy8sXFxcIlxcXCIpO2lmKCF3ZShlLGcpKWc9QlttXVsxXTtpZighd2UoZSxnKSlnPUMucmVwbGFjZSgvX3JlbHNcXFxcLy4qJC8sXFxcIlxcXCIpK0JbbV1bMV07eT1CW21dWzJdfWVsc2V7Zz1cXFwieGwvd29ya3NoZWV0cy9zaGVldFxcXCIrKG0rMS1UKStcXFwiLlxcXCIrUztnPWcucmVwbGFjZSgvc2hlZXQwXFxcXC4vLFxcXCJzaGVldC5cXFwiKX13PWcucmVwbGFjZSgvXiguKikoXFxcXC8pKFteXFxcXC9dKikkLyxcXFwiJDEvX3JlbHMvJDMucmVsc1xcXCIpO2lmKHImJnIuc2hlZXRzIT1udWxsKXN3aXRjaCh0eXBlb2Ygci5zaGVldHMpe2Nhc2VcXFwibnVtYmVyXFxcIjppZihtIT1yLnNoZWV0cyljb250aW51ZSBlO2JyZWFrO2Nhc2VcXFwic3RyaW5nXFxcIjppZih1LlNoZWV0TmFtZXNbbV0udG9Mb3dlckNhc2UoKSE9ci5zaGVldHMudG9Mb3dlckNhc2UoKSljb250aW51ZSBlO2JyZWFrO2RlZmF1bHQ6aWYoQXJyYXkuaXNBcnJheSYmQXJyYXkuaXNBcnJheShyLnNoZWV0cykpe3ZhciB4PWZhbHNlO2Zvcih2YXIgQT0wO0EhPXIuc2hlZXRzLmxlbmd0aDsrK0Epe2lmKHR5cGVvZiByLnNoZWV0c1tBXT09XFxcIm51bWJlclxcXCImJnIuc2hlZXRzW0FdPT1tKXg9MTtpZih0eXBlb2Ygci5zaGVldHNbQV09PVxcXCJzdHJpbmdcXFwiJiZyLnNoZWV0c1tBXS50b0xvd2VyQ2FzZSgpPT11LlNoZWV0TmFtZXNbbV0udG9Mb3dlckNhc2UoKSl4PTF9aWYoIXgpY29udGludWUgZX07fUFtKGUsZyx3LHUuU2hlZXROYW1lc1ttXSxtLGIsaSx5LHIsYyxmLG8pfXY9e0RpcmVjdG9yeTphLFdvcmtib29rOmMsUHJvcHM6dSxDdXN0cHJvcHM6ZCxEZXBzOnAsU2hlZXRzOmksU2hlZXROYW1lczp1LlNoZWV0TmFtZXMsU3RyaW5nczpvaCxTdHlsZXM6byxUaGVtZXM6ZixTU0Y6RC5nZXRfdGFibGUoKX07aWYociYmci5ib29rRmlsZXMpe3Yua2V5cz10O3YuZmlsZXM9ZS5maWxlc31pZihyJiZyLmJvb2tWQkEpe2lmKGEudmJhLmxlbmd0aD4wKXYudmJhcmF3PUVlKGUsSW0oYS52YmFbMF0pLHRydWUpO2Vsc2UgaWYoYS5kZWZhdWx0cyYmYS5kZWZhdWx0cy5iaW49PT1abCl2LnZiYXJhdz1FZShlLFxcXCJ4bC92YmFQcm9qZWN0LmJpblxcXCIsdHJ1ZSl9cmV0dXJuIHZ9ZnVuY3Rpb24gT20oZSxyKXt2YXIgdD1yfHx7fTt2YXIgYT1cXFwiV29ya2Jvb2tcXFwiLG49Vy5maW5kKGUsYSk7dHJ5e2E9XFxcIi8hRGF0YVNwYWNlcy9WZXJzaW9uXFxcIjtuPVcuZmluZChlLGEpO2lmKCFufHwhbi5jb250ZW50KXRocm93IG5ldyBFcnJvcihcXFwiRUNNQS0zNzYgRW5jcnlwdGVkIGZpbGUgbWlzc2luZyBcXFwiK2EpO1VmKG4uY29udGVudCk7YT1cXFwiLyFEYXRhU3BhY2VzL0RhdGFTcGFjZU1hcFxcXCI7bj1XLmZpbmQoZSxhKTtpZighbnx8IW4uY29udGVudCl0aHJvdyBuZXcgRXJyb3IoXFxcIkVDTUEtMzc2IEVuY3J5cHRlZCBmaWxlIG1pc3NpbmcgXFxcIithKTt2YXIgaT1IZihuLmNvbnRlbnQpO2lmKGkubGVuZ3RoIT09MXx8aVswXS5jb21wcy5sZW5ndGghPT0xfHxpWzBdLmNvbXBzWzBdLnQhPT0wfHxpWzBdLm5hbWUhPT1cXFwiU3Ryb25nRW5jcnlwdGlvbkRhdGFTcGFjZVxcXCJ8fGlbMF0uY29tcHNbMF0udiE9PVxcXCJFbmNyeXB0ZWRQYWNrYWdlXFxcIil0aHJvdyBuZXcgRXJyb3IoXFxcIkVDTUEtMzc2IEVuY3J5cHRlZCBmaWxlIGJhZCBcXFwiK2EpO2E9XFxcIi8hRGF0YVNwYWNlcy9EYXRhU3BhY2VJbmZvL1N0cm9uZ0VuY3J5cHRpb25EYXRhU3BhY2VcXFwiO249Vy5maW5kKGUsYSk7aWYoIW58fCFuLmNvbnRlbnQpdGhyb3cgbmV3IEVycm9yKFxcXCJFQ01BLTM3NiBFbmNyeXB0ZWQgZmlsZSBtaXNzaW5nIFxcXCIrYSk7dmFyIHM9V2Yobi5jb250ZW50KTtpZihzLmxlbmd0aCE9MXx8c1swXSE9XFxcIlN0cm9uZ0VuY3J5cHRpb25UcmFuc2Zvcm1cXFwiKXRocm93IG5ldyBFcnJvcihcXFwiRUNNQS0zNzYgRW5jcnlwdGVkIGZpbGUgYmFkIFxcXCIrYSk7YT1cXFwiLyFEYXRhU3BhY2VzL1RyYW5zZm9ybUluZm8vU3Ryb25nRW5jcnlwdGlvblRyYW5zZm9ybS8hUHJpbWFyeVxcXCI7bj1XLmZpbmQoZSxhKTtpZighbnx8IW4uY29udGVudCl0aHJvdyBuZXcgRXJyb3IoXFxcIkVDTUEtMzc2IEVuY3J5cHRlZCBmaWxlIG1pc3NpbmcgXFxcIithKTtYZihuLmNvbnRlbnQpfWNhdGNoKGYpe31hPVxcXCIvRW5jcnlwdGlvbkluZm9cXFwiO249Vy5maW5kKGUsYSk7aWYoIW58fCFuLmNvbnRlbnQpdGhyb3cgbmV3IEVycm9yKFxcXCJFQ01BLTM3NiBFbmNyeXB0ZWQgZmlsZSBtaXNzaW5nIFxcXCIrYSk7dmFyIG89S2Yobi5jb250ZW50KTthPVxcXCIvRW5jcnlwdGVkUGFja2FnZVxcXCI7bj1XLmZpbmQoZSxhKTtpZighbnx8IW4uY29udGVudCl0aHJvdyBuZXcgRXJyb3IoXFxcIkVDTUEtMzc2IEVuY3J5cHRlZCBmaWxlIG1pc3NpbmcgXFxcIithKTtpZihvWzBdPT00JiZ0eXBlb2YgZGVjcnlwdF9hZ2lsZSE9PVxcXCJ1bmRlZmluZWRcXFwiKXJldHVybiBkZWNyeXB0X2FnaWxlKG9bMV0sbi5jb250ZW50LHQucGFzc3dvcmR8fFxcXCJcXFwiLHQpO2lmKG9bMF09PTImJnR5cGVvZiBkZWNyeXB0X3N0ZDc2IT09XFxcInVuZGVmaW5lZFxcXCIpcmV0dXJuIGRlY3J5cHRfc3RkNzYob1sxXSxuLmNvbnRlbnQsdC5wYXNzd29yZHx8XFxcIlxcXCIsdCk7XFxudGhyb3cgbmV3IEVycm9yKFxcXCJGaWxlIGlzIHBhc3N3b3JkLXByb3RlY3RlZFxcXCIpfWZ1bmN0aW9uIERtKGUscil7TWw9MTAyNDtpZihyLmJvb2tUeXBlPT1cXFwib2RzXFxcIilyZXR1cm4gaG0oZSxyKTtpZihlJiYhZS5TU0Ype2UuU1NGPUQuZ2V0X3RhYmxlKCl9aWYoZSYmZS5TU0Ype0YoRCk7RC5sb2FkX3RhYmxlKGUuU1NGKTtyLnJldnNzZj1KKGUuU1NGKTtyLnJldnNzZltlLlNTRls2NTUzNV1dPTA7ci5zc2Y9ZS5TU0Z9ci5yZWxzPXt9O3Iud2JyZWxzPXt9O3IuU3RyaW5ncz1bXTtyLlN0cmluZ3MuQ291bnQ9MDtyLlN0cmluZ3MuVW5pcXVlPTA7aWYoY2gpci5yZXZTdHJpbmdzPW5ldyBNYXA7ZWxzZXtyLnJldlN0cmluZ3M9e307ci5yZXZTdHJpbmdzLmZvbz1bXTtkZWxldGUgci5yZXZTdHJpbmdzLmZvb312YXIgdD1yLmJvb2tUeXBlPT1cXFwieGxzYlxcXCI/XFxcImJpblxcXCI6XFxcInhtbFxcXCI7dmFyIGE9cWwuaW5kZXhPZihyLmJvb2tUeXBlKT4tMTt2YXIgbj1EYSgpO1RtKHI9cnx8e30pO3ZhciBpPVRlKCk7dmFyIHM9XFxcIlxcXCIsZj0wO3IuY2VsbFhmcz1bXTt2aChyLmNlbGxYZnMse30se3JldnNzZjp7R2VuZXJhbDowfX0pO2lmKCFlLlByb3BzKWUuUHJvcHM9e307cz1cXFwiZG9jUHJvcHMvY29yZS54bWxcXFwiO0NlKGkscyxhbihlLlByb3BzLHIpKTtuLmNvcmVwcm9wcy5wdXNoKHMpO1hhKHIucmVscywyLHMsTWEuQ09SRV9QUk9QUyk7cz1cXFwiZG9jUHJvcHMvYXBwLnhtbFxcXCI7aWYoZS5Qcm9wcyYmZS5Qcm9wcy5TaGVldE5hbWVzKXt9ZWxzZSBpZighZS5Xb3JrYm9va3x8IWUuV29ya2Jvb2suU2hlZXRzKWUuUHJvcHMuU2hlZXROYW1lcz1lLlNoZWV0TmFtZXM7ZWxzZXt2YXIgbz1bXTtmb3IodmFyIGw9MDtsPGUuU2hlZXROYW1lcy5sZW5ndGg7KytsKWlmKChlLldvcmtib29rLlNoZWV0c1tsXXx8e30pLkhpZGRlbiE9MilvLnB1c2goZS5TaGVldE5hbWVzW2xdKTtlLlByb3BzLlNoZWV0TmFtZXM9b31lLlByb3BzLldvcmtzaGVldHM9ZS5Qcm9wcy5TaGVldE5hbWVzLmxlbmd0aDtDZShpLHMsY24oZS5Qcm9wcyxyKSk7bi5leHRwcm9wcy5wdXNoKHMpO1hhKHIucmVscywzLHMsTWEuRVhUX1BST1BTKTtpZihlLkN1c3Rwcm9wcyE9PWUuUHJvcHMmJksoZS5DdXN0cHJvcHN8fHt9KS5sZW5ndGg+MCl7cz1cXFwiZG9jUHJvcHMvY3VzdG9tLnhtbFxcXCI7Q2UoaSxzLHZuKGUuQ3VzdHByb3BzLHIpKTtuLmN1c3Rwcm9wcy5wdXNoKHMpO1hhKHIucmVscyw0LHMsTWEuQ1VTVF9QUk9QUyl9Zm9yKGY9MTtmPD1lLlNoZWV0TmFtZXMubGVuZ3RoOysrZil7dmFyIGM9e1xcXCIhaWRcXFwiOnt9fTt2YXIgdT1lLlNoZWV0c1tlLlNoZWV0TmFtZXNbZi0xXV07dmFyIGg9KHV8fHt9KVtcXFwiIXR5cGVcXFwiXXx8XFxcInNoZWV0XFxcIjtzd2l0Y2goaCl7Y2FzZVxcXCJjaGFydFxcXCI6O2RlZmF1bHQ6cz1cXFwieGwvd29ya3NoZWV0cy9zaGVldFxcXCIrZitcXFwiLlxcXCIrdDtDZShpLHMsR3YoZi0xLHMscixlLGMpKTtuLnNoZWV0cy5wdXNoKHMpO1hhKHIud2JyZWxzLC0xLFxcXCJ3b3Jrc2hlZXRzL3NoZWV0XFxcIitmK1xcXCIuXFxcIit0LE1hLldTWzBdKTt9aWYodSl7dmFyIGQ9dVtcXFwiIWNvbW1lbnRzXFxcIl07dmFyIHY9ZmFsc2U7aWYoZCYmZC5sZW5ndGg+MCl7dmFyIHA9XFxcInhsL2NvbW1lbnRzXFxcIitmK1xcXCIuXFxcIit0O0NlKGkscCxZdihkLHAscikpO24uY29tbWVudHMucHVzaChwKTtYYShjLC0xLFxcXCIuLi9jb21tZW50c1xcXCIrZitcXFwiLlxcXCIrdCxNYS5DTU5UKTt2PXRydWV9aWYodVtcXFwiIWxlZ2FjeVxcXCJdKXtpZih2KUNlKGksXFxcInhsL2RyYXdpbmdzL3ZtbERyYXdpbmdcXFwiK2YrXFxcIi52bWxcXFwiLFVsKGYsdVtcXFwiIWNvbW1lbnRzXFxcIl0pKX1kZWxldGUgdVtcXFwiIWNvbW1lbnRzXFxcIl07ZGVsZXRlIHVbXFxcIiFsZWdhY3lcXFwiXX1pZihjW1xcXCIhaWRcXFwiXS5ySWQxKUNlKGksVWEocyksV2EoYykpfWlmKHIuU3RyaW5ncyE9bnVsbCYmci5TdHJpbmdzLmxlbmd0aD4wKXtzPVxcXCJ4bC9zaGFyZWRTdHJpbmdzLlxcXCIrdDtDZShpLHMsJHYoci5TdHJpbmdzLHMscikpO24uc3Rycy5wdXNoKHMpO1hhKHIud2JyZWxzLC0xLFxcXCJzaGFyZWRTdHJpbmdzLlxcXCIrdCxNYS5TU1QpfXM9XFxcInhsL3dvcmtib29rLlxcXCIrdDtDZShpLHMsWHYoZSxzLHIpKTtuLndvcmtib29rcy5wdXNoKHMpO1hhKHIucmVscywxLHMsTWEuV0IpO3M9XFxcInhsL3RoZW1lL3RoZW1lMS54bWxcXFwiO0NlKGkscyxfbChlLlRoZW1lcyxyKSk7bi50aGVtZXMucHVzaChzKTtYYShyLndicmVscywtMSxcXFwidGhlbWUvdGhlbWUxLnhtbFxcXCIsTWEuVEhFTUUpO3M9XFxcInhsL3N0eWxlcy5cXFwiK3Q7Q2UoaSxzLEt2KGUscyxyKSk7bi5zdHlsZXMucHVzaChzKTtYYShyLndicmVscywtMSxcXFwic3R5bGVzLlxcXCIrdCxNYS5TVFkpO2lmKGUudmJhcmF3JiZhKXtzPVxcXCJ4bC92YmFQcm9qZWN0LmJpblxcXCI7Q2UoaSxzLGUudmJhcmF3KTtuLnZiYS5wdXNoKHMpO1hhKHIud2JyZWxzLC0xLFxcXCJ2YmFQcm9qZWN0LmJpblxcXCIsTWEuVkJBKX1DZShpLFxcXCJbQ29udGVudF9UeXBlc10ueG1sXFxcIixMYShuLHIpKTtDZShpLFxcXCJfcmVscy8ucmVsc1xcXCIsV2Eoci5yZWxzKSk7Q2UoaSxcXFwieGwvX3JlbHMvd29ya2Jvb2suXFxcIit0K1xcXCIucmVsc1xcXCIsV2Eoci53YnJlbHMpKTtkZWxldGUgci5yZXZzc2Y7ZGVsZXRlIHIuc3NmO3JldHVybiBpfWZ1bmN0aW9uIEZtKGUscil7dmFyIHQ9XFxcIlxcXCI7c3dpdGNoKChyfHx7fSkudHlwZXx8XFxcImJhc2U2NFxcXCIpe2Nhc2VcXFwiYnVmZmVyXFxcIjpyZXR1cm5bZVswXSxlWzFdLGVbMl0sZVszXSxlWzRdLGVbNV0sZVs2XSxlWzddXTtjYXNlXFxcImJhc2U2NFxcXCI6dD1nLmRlY29kZShlLnNsaWNlKDAsMTIpKTticmVhaztjYXNlXFxcImJpbmFyeVxcXCI6dD1lO2JyZWFrO2Nhc2VcXFwiYXJyYXlcXFwiOnJldHVybltlWzBdLGVbMV0sZVsyXSxlWzNdLGVbNF0sZVs1XSxlWzZdLGVbN11dO2RlZmF1bHQ6dGhyb3cgbmV3IEVycm9yKFxcXCJVbnJlY29nbml6ZWQgdHlwZSBcXFwiKyhyJiZyLnR5cGV8fFxcXCJ1bmRlZmluZWRcXFwiKSk7fXJldHVyblt0LmNoYXJDb2RlQXQoMCksdC5jaGFyQ29kZUF0KDEpLHQuY2hhckNvZGVBdCgyKSx0LmNoYXJDb2RlQXQoMyksdC5jaGFyQ29kZUF0KDQpLHQuY2hhckNvZGVBdCg1KSx0LmNoYXJDb2RlQXQoNiksdC5jaGFyQ29kZUF0KDcpXX1mdW5jdGlvbiBQbShlLHIpe2lmKFcuZmluZChlLFxcXCJFbmNyeXB0ZWRQYWNrYWdlXFxcIikpcmV0dXJuIE9tKGUscik7cmV0dXJuIFJwKGUscil9ZnVuY3Rpb24gTm0oZSxyKXt2YXIgdCxhPWU7dmFyIG49cnx8e307aWYoIW4udHlwZSluLnR5cGU9dyYmQnVmZmVyLmlzQnVmZmVyKGUpP1xcXCJidWZmZXJcXFwiOlxcXCJiYXNlNjRcXFwiO3Q9eWUoYSxuKTtyZXR1cm4gUm0odCxuKX1mdW5jdGlvbiBMbShlLHIpe3ZhciB0PTA7ZTp3aGlsZSh0PGUubGVuZ3RoKXN3aXRjaChlLmNoYXJDb2RlQXQodCkpe2Nhc2UgMTA6O2Nhc2UgMTM6O2Nhc2UgMzI6Kyt0O2JyZWFrO2Nhc2UgNjA6cmV0dXJuIGxwKGUuc2xpY2UodCkscik7ZGVmYXVsdDpicmVhayBlO31yZXR1cm4gbWYudG9fd29ya2Jvb2soZSxyKX1mdW5jdGlvbiBNbShlLHIpe3ZhciB0PVxcXCJcXFwiLGE9Rm0oZSxyKTtzd2l0Y2goci50eXBlKXtjYXNlXFxcImJhc2U2NFxcXCI6dD1nLmRlY29kZShlKTticmVhaztjYXNlXFxcImJpbmFyeVxcXCI6dD1lO2JyZWFrO2Nhc2VcXFwiYnVmZmVyXFxcIjp0PWUudG9TdHJpbmcoXFxcImJpbmFyeVxcXCIpO2JyZWFrO2Nhc2VcXFwiYXJyYXlcXFwiOnQ9bGUoZSk7YnJlYWs7ZGVmYXVsdDp0aHJvdyBuZXcgRXJyb3IoXFxcIlVucmVjb2duaXplZCB0eXBlIFxcXCIrci50eXBlKTt9aWYoYVswXT09MjM5JiZhWzFdPT0xODcmJmFbMl09PTE5MSl0PVllKHQpO3JldHVybiBMbSh0LHIpfWZ1bmN0aW9uIFVtKGUscil7dmFyIHQ9ZTtpZihyLnR5cGU9PVxcXCJiYXNlNjRcXFwiKXQ9Zy5kZWNvZGUodCk7dD1jcHRhYmxlLnV0aWxzLmRlY29kZSgxMjAwLHQuc2xpY2UoMiksXFxcInN0clxcXCIpO3IudHlwZT1cXFwiYmluYXJ5XFxcIjtyZXR1cm4gTG0odCxyKX1mdW5jdGlvbiB6bShlKXtyZXR1cm4hZS5tYXRjaCgvW15cXFxceDAwLVxcXFx4N0ZdLyk/ZTpaZShlKX1mdW5jdGlvbiBIbShlLHIsdCxhKXtpZihhKXt0LnR5cGU9XFxcInN0cmluZ1xcXCI7cmV0dXJuIG1mLnRvX3dvcmtib29rKGUsdCl9cmV0dXJuIG1mLnRvX3dvcmtib29rKHIsdCl9ZnVuY3Rpb24gV20oZSxyKXtsKCk7aWYodHlwZW9mIEFycmF5QnVmZmVyIT09XFxcInVuZGVmaW5lZFxcXCImJmUgaW5zdGFuY2VvZiBBcnJheUJ1ZmZlcilyZXR1cm4gV20obmV3IFVpbnQ4QXJyYXkoZSkscik7dmFyIHQ9ZSxhPVswLDAsMCwwXSxuPWZhbHNlO3ZhciBpPXJ8fHt9O2lmKGkuY2VsbFN0eWxlcyl7aS5jZWxsTkY9dHJ1ZTtpLnNoZWV0U3R1YnM9dHJ1ZX1saD17fTtpZihpLmRhdGVORilsaC5kYXRlTkY9aS5kYXRlTkY7aWYoIWkudHlwZSlpLnR5cGU9dyYmQnVmZmVyLmlzQnVmZmVyKGUpP1xcXCJidWZmZXJcXFwiOlxcXCJiYXNlNjRcXFwiO2lmKGkudHlwZT09XFxcImZpbGVcXFwiKXtpLnR5cGU9dz9cXFwiYnVmZmVyXFxcIjpcXFwiYmluYXJ5XFxcIjt0PWooZSl9aWYoaS50eXBlPT1cXFwic3RyaW5nXFxcIil7bj10cnVlO2kudHlwZT1cXFwiYmluYXJ5XFxcIjtpLmNvZGVwYWdlPTY1MDAxO3Q9em0oZSl9aWYoaS50eXBlPT1cXFwiYXJyYXlcXFwiJiZ0eXBlb2YgVWludDhBcnJheSE9PVxcXCJ1bmRlZmluZWRcXFwiJiZlIGluc3RhbmNlb2YgVWludDhBcnJheSYmdHlwZW9mIEFycmF5QnVmZmVyIT09XFxcInVuZGVmaW5lZFxcXCIpe3ZhciBzPW5ldyBBcnJheUJ1ZmZlcigzKSxmPW5ldyBVaW50OEFycmF5KHMpO2YuZm9vPVxcXCJiYXJcXFwiO2lmKCFmLmZvbyl7aT1jZShpKTtpLnR5cGU9XFxcImFycmF5XFxcIjtyZXR1cm4gV20oQSh0KSxpKX19c3dpdGNoKChhPUZtKHQsaSkpWzBdKXtjYXNlIDIwODppZihhWzFdPT09MjA3JiZhWzJdPT09MTcmJmFbM109PT0yMjQmJmFbNF09PT0xNjEmJmFbNV09PT0xNzcmJmFbNl09PT0yNiYmYVs3XT09PTIyNSlyZXR1cm4gUG0oVy5yZWFkKHQsaSksaSk7YnJlYWs7Y2FzZSA5OmlmKGFbMV08PTQpcmV0dXJuIFJwKHQsaSk7YnJlYWs7Y2FzZSA2MDpyZXR1cm4gbHAodCxpKTtjYXNlIDczOmlmKGFbMV09PT02OClyZXR1cm4gYmYodCxpKTticmVhaztjYXNlIDg0OmlmKGFbMV09PT02NSYmYVsyXT09PTY2JiZhWzNdPT09NzYpcmV0dXJuIHZmLnRvX3dvcmtib29rKHQsaSk7YnJlYWs7Y2FzZSA4MDpyZXR1cm4gYVsxXT09PTc1JiZhWzJdPDkmJmFbM108OT9ObSh0LGkpOkhtKGUsdCxpLG4pO2Nhc2UgMjM5OnJldHVybiBhWzNdPT09NjA/bHAodCxpKTpIbShlLHQsaSxuKTtjYXNlIDI1NTppZihhWzFdPT09MjU0KXtyZXR1cm4gVW0odCxpKX1icmVhaztjYXNlIDA6aWYoYVsxXT09PTAmJmFbMl0+PTImJmFbM109PT0wKXJldHVybiBnZi50b193b3JrYm9vayh0LGkpO2JyZWFrO2Nhc2UgMzo7Y2FzZSAxMzE6O2Nhc2UgMTM5OjtjYXNlIDE0MDpyZXR1cm4gaGYudG9fd29ya2Jvb2sodCxpKTtjYXNlIDEyMzppZihhWzFdPT09OTImJmFbMl09PT0xMTQmJmFbM109PT0xMTYpcmV0dXJuIHNvLnRvX3dvcmtib29rKHQsaSk7YnJlYWs7Y2FzZSAxMDo7Y2FzZSAxMzo7Y2FzZSAzMjpyZXR1cm4gTW0odCxpKTt9aWYoaGYudmVyc2lvbnMuaW5kZXhPZihhWzBdKT4tMSYmYVsyXTw9MTImJmFbM108PTMxKXJldHVybiBoZi50b193b3JrYm9vayh0LGkpO3JldHVybiBIbShlLHQsaSxuKX1mdW5jdGlvbiBWbShlLHIpe3ZhciB0PXJ8fHt9O3QudHlwZT1cXFwiZmlsZVxcXCI7cmV0dXJuIFdtKGUsdCl9ZnVuY3Rpb24gWG0oZSxyKXtzd2l0Y2goci50eXBlKXtjYXNlXFxcImJhc2U2NFxcXCI6O2Nhc2VcXFwiYmluYXJ5XFxcIjpicmVhaztjYXNlXFxcImJ1ZmZlclxcXCI6O2Nhc2VcXFwiYXJyYXlcXFwiOnIudHlwZT1cXFwiXFxcIjticmVhaztjYXNlXFxcImZpbGVcXFwiOnJldHVybiBHKHIuZmlsZSxXLndyaXRlKGUse3R5cGU6dz9cXFwiYnVmZmVyXFxcIjpcXFwiXFxcIn0pKTtjYXNlXFxcInN0cmluZ1xcXCI6dGhyb3cgbmV3IEVycm9yKFxcXCInc3RyaW5nJyBvdXRwdXQgdHlwZSBpbnZhbGlkIGZvciAnXFxcIityLmJvb2tUeXBlK1xcXCInIGZpbGVzXFxcIik7ZGVmYXVsdDp0aHJvdyBuZXcgRXJyb3IoXFxcIlVucmVjb2duaXplZCB0eXBlIFxcXCIrci50eXBlKTt9cmV0dXJuIFcud3JpdGUoZSxyKX1mdW5jdGlvbiBHbShlLHIpe3ZhciB0PXJ8fHt9O3ZhciBhPURtKGUsdCk7dmFyIG49e307aWYodC5jb21wcmVzc2lvbiluLmNvbXByZXNzaW9uPVxcXCJERUZMQVRFXFxcIjtpZih0LnBhc3N3b3JkKW4udHlwZT13P1xcXCJub2RlYnVmZmVyXFxcIjpcXFwic3RyaW5nXFxcIjtlbHNlIHN3aXRjaCh0LnR5cGUpe2Nhc2VcXFwiYmFzZTY0XFxcIjpuLnR5cGU9XFxcImJhc2U2NFxcXCI7YnJlYWs7Y2FzZVxcXCJiaW5hcnlcXFwiOm4udHlwZT1cXFwic3RyaW5nXFxcIjticmVhaztjYXNlXFxcInN0cmluZ1xcXCI6dGhyb3cgbmV3IEVycm9yKFxcXCInc3RyaW5nJyBvdXRwdXQgdHlwZSBpbnZhbGlkIGZvciAnXFxcIit0LmJvb2tUeXBlK1xcXCInIGZpbGVzXFxcIik7Y2FzZVxcXCJidWZmZXJcXFwiOjtjYXNlXFxcImZpbGVcXFwiOm4udHlwZT13P1xcXCJub2RlYnVmZmVyXFxcIjpcXFwic3RyaW5nXFxcIjticmVhaztkZWZhdWx0OnRocm93IG5ldyBFcnJvcihcXFwiVW5yZWNvZ25pemVkIHR5cGUgXFxcIit0LnR5cGUpO312YXIgaT1hLkZ1bGxQYXRocz9XLndyaXRlKGEse2ZpbGVUeXBlOlxcXCJ6aXBcXFwiLHR5cGU6e25vZGVidWZmZXI6XFxcImJ1ZmZlclxcXCIsc3RyaW5nOlxcXCJiaW5hcnlcXFwifVtuLnR5cGVdfHxuLnR5cGV9KTphLmdlbmVyYXRlKG4pO2lmKHQucGFzc3dvcmQmJnR5cGVvZiBlbmNyeXB0X2FnaWxlIT09XFxcInVuZGVmaW5lZFxcXCIpcmV0dXJuIFhtKGVuY3J5cHRfYWdpbGUoaSx0LnBhc3N3b3JkKSx0KTtpZih0LnR5cGU9PT1cXFwiZmlsZVxcXCIpcmV0dXJuIEcodC5maWxlLGkpO3JldHVybiB0LnR5cGU9PVxcXCJzdHJpbmdcXFwiP1llKGkpOml9ZnVuY3Rpb24gam0oZSxyKXt2YXIgdD1yfHx7fTt2YXIgYT1PcChlLHQpO3JldHVybiBYbShhLHQpfWZ1bmN0aW9uIEttKGUscix0KXtpZighdCl0PVxcXCJcXFwiO3ZhciBhPXQrZTtzd2l0Y2goci50eXBlKXtjYXNlXFxcImJhc2U2NFxcXCI6cmV0dXJuIGcuZW5jb2RlKFplKGEpKTtjYXNlXFxcImJpbmFyeVxcXCI6cmV0dXJuIFplKGEpO2Nhc2VcXFwic3RyaW5nXFxcIjpyZXR1cm4gZTtjYXNlXFxcImZpbGVcXFwiOnJldHVybiBHKHIuZmlsZSxhLFxcXCJ1dGY4XFxcIik7Y2FzZVxcXCJidWZmZXJcXFwiOntpZih3KXJldHVybiBrKGEsXFxcInV0ZjhcXFwiKTtlbHNlIHJldHVybiBLbShhLHt0eXBlOlxcXCJiaW5hcnlcXFwifSkuc3BsaXQoXFxcIlxcXCIpLm1hcChmdW5jdGlvbihlKXtyZXR1cm4gZS5jaGFyQ29kZUF0KDApfSl9O310aHJvdyBuZXcgRXJyb3IoXFxcIlVucmVjb2duaXplZCB0eXBlIFxcXCIrci50eXBlKX1mdW5jdGlvbiAkbShlLHIpe3N3aXRjaChyLnR5cGUpe2Nhc2VcXFwiYmFzZTY0XFxcIjpyZXR1cm4gZy5lbmNvZGUoZSk7Y2FzZVxcXCJiaW5hcnlcXFwiOnJldHVybiBlO2Nhc2VcXFwic3RyaW5nXFxcIjpyZXR1cm4gZTtjYXNlXFxcImZpbGVcXFwiOnJldHVybiBHKHIuZmlsZSxlLFxcXCJiaW5hcnlcXFwiKTtjYXNlXFxcImJ1ZmZlclxcXCI6e2lmKHcpcmV0dXJuIGsoZSxcXFwiYmluYXJ5XFxcIik7ZWxzZSByZXR1cm4gZS5zcGxpdChcXFwiXFxcIikubWFwKGZ1bmN0aW9uKGUpe3JldHVybiBlLmNoYXJDb2RlQXQoMCl9KX07fXRocm93IG5ldyBFcnJvcihcXFwiVW5yZWNvZ25pemVkIHR5cGUgXFxcIityLnR5cGUpfWZ1bmN0aW9uIFltKGUscil7c3dpdGNoKHIudHlwZSl7Y2FzZVxcXCJzdHJpbmdcXFwiOjtjYXNlXFxcImJhc2U2NFxcXCI6O2Nhc2VcXFwiYmluYXJ5XFxcIjp2YXIgdD1cXFwiXFxcIjtmb3IodmFyIGE9MDthPGUubGVuZ3RoOysrYSl0Kz1TdHJpbmcuZnJvbUNoYXJDb2RlKGVbYV0pO3JldHVybiByLnR5cGU9PVxcXCJiYXNlNjRcXFwiP2cuZW5jb2RlKHQpOnIudHlwZT09XFxcInN0cmluZ1xcXCI/WWUodCk6dDtjYXNlXFxcImZpbGVcXFwiOnJldHVybiBHKHIuZmlsZSxlKTtjYXNlXFxcImJ1ZmZlclxcXCI6cmV0dXJuIGU7ZGVmYXVsdDp0aHJvdyBuZXcgRXJyb3IoXFxcIlVucmVjb2duaXplZCB0eXBlIFxcXCIrci50eXBlKTt9fWZ1bmN0aW9uIFptKGUscil7bCgpO212KGUpO3ZhciB0PXJ8fHt9O2lmKHQuY2VsbFN0eWxlcyl7dC5jZWxsTkY9dHJ1ZTt0LnNoZWV0U3R1YnM9dHJ1ZX1pZih0LnR5cGU9PVxcXCJhcnJheVxcXCIpe3QudHlwZT1cXFwiYmluYXJ5XFxcIjt2YXIgYT1abShlLHQpO3QudHlwZT1cXFwiYXJyYXlcXFwiO3JldHVybiBUKGEpfXN3aXRjaCh0LmJvb2tUeXBlfHxcXFwieGxzYlxcXCIpe2Nhc2VcXFwieG1sXFxcIjo7Y2FzZVxcXCJ4bG1sXFxcIjpyZXR1cm4gS20oU3AoZSx0KSx0KTtjYXNlXFxcInNsa1xcXCI6O2Nhc2VcXFwic3lsa1xcXCI6cmV0dXJuIEttKGJtKGUsdCksdCk7Y2FzZVxcXCJodG1cXFwiOjtjYXNlXFxcImh0bWxcXFwiOnJldHVybiBLbShwbShlLHQpLHQpO2Nhc2VcXFwidHh0XFxcIjpyZXR1cm4gJG0oRW0oZSx0KSx0KTtjYXNlXFxcImNzdlxcXCI6cmV0dXJuIEttKG1tKGUsdCksdCxcXFwiXFxcXHVmZWZmXFxcIik7Y2FzZVxcXCJkaWZcXFwiOnJldHVybiBLbShnbShlLHQpLHQpO2Nhc2VcXFwiZGJmXFxcIjpyZXR1cm4gWW0oU20oZSx0KSx0KTtjYXNlXFxcInByblxcXCI6cmV0dXJuIEttKHdtKGUsdCksdCk7Y2FzZVxcXCJydGZcXFwiOnJldHVybiBLbShrbShlLHQpLHQpO2Nhc2VcXFwiZXRoXFxcIjpyZXR1cm4gS20oX20oZSx0KSx0KTtjYXNlXFxcImZvZHNcXFwiOnJldHVybiBLbShobShlLHQpLHQpO2Nhc2VcXFwiYmlmZjJcXFwiOmlmKCF0LmJpZmYpdC5iaWZmPTI7Y2FzZVxcXCJiaWZmM1xcXCI6aWYoIXQuYmlmZil0LmJpZmY9MztjYXNlXFxcImJpZmY0XFxcIjppZighdC5iaWZmKXQuYmlmZj00O3JldHVybiBZbShlbShlLHQpLHQpO2Nhc2VcXFwiYmlmZjVcXFwiOmlmKCF0LmJpZmYpdC5iaWZmPTU7Y2FzZVxcXCJiaWZmOFxcXCI6O2Nhc2VcXFwieGxhXFxcIjo7Y2FzZVxcXCJ4bHNcXFwiOmlmKCF0LmJpZmYpdC5iaWZmPTg7cmV0dXJuIGptKGUsdCk7Y2FzZVxcXCJ4bHN4XFxcIjo7Y2FzZVxcXCJ4bHNtXFxcIjo7Y2FzZVxcXCJ4bGFtXFxcIjo7Y2FzZVxcXCJ4bHNiXFxcIjo7Y2FzZVxcXCJvZHNcXFwiOnJldHVybiBHbShlLHQpO2RlZmF1bHQ6dGhyb3cgbmV3IEVycm9yKFxcXCJVbnJlY29nbml6ZWQgYm9va1R5cGUgfFxcXCIrdC5ib29rVHlwZStcXFwifFxcXCIpO319ZnVuY3Rpb24gSm0oZSl7aWYoZS5ib29rVHlwZSlyZXR1cm47dmFyIHI9e3hsczpcXFwiYmlmZjhcXFwiLGh0bTpcXFwiaHRtbFxcXCIsc2xrOlxcXCJzeWxrXFxcIixzb2NpYWxjYWxjOlxcXCJldGhcXFwiLFNoMzN0SlM6XFxcIldURlxcXCJ9O3ZhciB0PWUuZmlsZS5zbGljZShlLmZpbGUubGFzdEluZGV4T2YoXFxcIi5cXFwiKSkudG9Mb3dlckNhc2UoKTtpZih0Lm1hdGNoKC9eXFxcXC5bYS16XSskLykpZS5ib29rVHlwZT10LnNsaWNlKDEpO2UuYm9va1R5cGU9cltlLmJvb2tUeXBlXXx8ZS5ib29rVHlwZX1mdW5jdGlvbiBRbShlLHIsdCl7dmFyIGE9dHx8e307YS50eXBlPVxcXCJmaWxlXFxcIjthLmZpbGU9cjtKbShhKTtyZXR1cm4gWm0oZSxhKX1mdW5jdGlvbiBxbShlLHIsdCxhKXt2YXIgbj10fHx7fTtuLnR5cGU9XFxcImZpbGVcXFwiO24uZmlsZT1lO0ptKG4pO24udHlwZT1cXFwiYnVmZmVyXFxcIjt2YXIgaT1hO2lmKCEoaSBpbnN0YW5jZW9mIEZ1bmN0aW9uKSlpPXQ7cmV0dXJuIFYud3JpdGVGaWxlKGUsWm0ocixuKSxpKX1mdW5jdGlvbiBlYihlLHIsdCxhLG4saSxzLGYpe3ZhciBvPW90KHQpO3ZhciBsPWYuZGVmdmFsLGM9Zi5yYXd8fCFPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoZixcXFwicmF3XFxcIik7dmFyIHU9dHJ1ZTt2YXIgaD1uPT09MT9bXTp7fTtpZihuIT09MSl7aWYoT2JqZWN0LmRlZmluZVByb3BlcnR5KXRyeXtPYmplY3QuZGVmaW5lUHJvcGVydHkoaCxcXFwiX19yb3dOdW1fX1xcXCIse3ZhbHVlOnQsZW51bWVyYWJsZTpmYWxzZX0pfWNhdGNoKGQpe2guX19yb3dOdW1fXz10fWVsc2UgaC5fX3Jvd051bV9fPXR9aWYoIXN8fGVbdF0pZm9yKHZhciB2PXIucy5jO3Y8PXIuZS5jOysrdil7dmFyIHA9cz9lW3RdW3ZdOmVbYVt2XStvXTtpZihwPT09dW5kZWZpbmVkfHxwLnQ9PT11bmRlZmluZWQpe2lmKGw9PT11bmRlZmluZWQpY29udGludWU7aWYoaVt2XSE9bnVsbCl7aFtpW3ZdXT1sfWNvbnRpbnVlfXZhciBtPXAudjtzd2l0Y2gocC50KXtjYXNlXFxcInpcXFwiOmlmKG09PW51bGwpYnJlYWs7Y29udGludWU7Y2FzZVxcXCJlXFxcIjptPXZvaWQgMDticmVhaztjYXNlXFxcInNcXFwiOjtjYXNlXFxcImRcXFwiOjtjYXNlXFxcImJcXFwiOjtjYXNlXFxcIm5cXFwiOmJyZWFrO2RlZmF1bHQ6dGhyb3cgbmV3IEVycm9yKFxcXCJ1bnJlY29nbml6ZWQgdHlwZSBcXFwiK3AudCk7fWlmKGlbdl0hPW51bGwpe2lmKG09PW51bGwpe2lmKGwhPT11bmRlZmluZWQpaFtpW3ZdXT1sO2Vsc2UgaWYoYyYmbT09PW51bGwpaFtpW3ZdXT1udWxsO2Vsc2UgY29udGludWV9ZWxzZXtoW2lbdl1dPWN8fGYucmF3TnVtYmVycyYmcC50PT1cXFwiblxcXCI/bTpTdChwLG0sZil9aWYobSE9bnVsbCl1PWZhbHNlfX1yZXR1cm57cm93OmgsaXNlbXB0eTp1fX1mdW5jdGlvbiByYihlLHIpe2lmKGU9PW51bGx8fGVbXFxcIiFyZWZcXFwiXT09bnVsbClyZXR1cm5bXTt2YXIgdD17dDpcXFwiblxcXCIsdjowfSxhPTAsbj0xLGk9W10scz0wLGY9XFxcIlxcXCI7dmFyIG89e3M6e3I6MCxjOjB9LGU6e3I6MCxjOjB9fTt2YXIgbD1yfHx7fTt2YXIgYz1sLnJhbmdlIT1udWxsP2wucmFuZ2U6ZVtcXFwiIXJlZlxcXCJdO2lmKGwuaGVhZGVyPT09MSlhPTE7ZWxzZSBpZihsLmhlYWRlcj09PVxcXCJBXFxcIilhPTI7ZWxzZSBpZihBcnJheS5pc0FycmF5KGwuaGVhZGVyKSlhPTM7ZWxzZSBpZihsLmhlYWRlcj09bnVsbClhPTA7c3dpdGNoKHR5cGVvZiBjKXtjYXNlXFxcInN0cmluZ1xcXCI6bz1rdChjKTticmVhaztjYXNlXFxcIm51bWJlclxcXCI6bz1rdChlW1xcXCIhcmVmXFxcIl0pO28ucy5yPWM7YnJlYWs7ZGVmYXVsdDpvPWM7fWlmKGE+MCluPTA7dmFyIHU9b3Qoby5zLnIpO3ZhciBoPVtdO3ZhciBkPVtdO3ZhciB2PTAscD0wO3ZhciBtPUFycmF5LmlzQXJyYXkoZSk7dmFyIGI9by5zLnIsZz0wLHc9MDtpZihtJiYhZVtiXSllW2JdPVtdO2ZvcihnPW8ucy5jO2c8PW8uZS5jOysrZyl7aFtnXT1odChnKTt0PW0/ZVtiXVtnXTplW2hbZ10rdV07c3dpdGNoKGEpe2Nhc2UgMTppW2ddPWctby5zLmM7YnJlYWs7Y2FzZSAyOmlbZ109aFtnXTticmVhaztjYXNlIDM6aVtnXT1sLmhlYWRlcltnLW8ucy5jXTticmVhaztkZWZhdWx0OmlmKHQ9PW51bGwpdD17dzpcXFwiX19FTVBUWVxcXCIsdDpcXFwic1xcXCJ9O2Y9cz1TdCh0LG51bGwsbCk7cD0wO2Zvcih3PTA7dzxpLmxlbmd0aDsrK3cpaWYoaVt3XT09ZilmPXMrXFxcIl9cXFwiKyArK3A7aVtnXT1mO319Zm9yKGI9by5zLnIrbjtiPD1vLmUucjsrK2Ipe3ZhciBrPWViKGUsbyxiLGgsYSxpLG0sbCk7aWYoay5pc2VtcHR5PT09ZmFsc2V8fChhPT09MT9sLmJsYW5rcm93cyE9PWZhbHNlOiEhbC5ibGFua3Jvd3MpKWRbdisrXT1rLnJvd31kLmxlbmd0aD12O3JldHVybiBkfXZhciB0Yj0vXFxcIi9nO2Z1bmN0aW9uIGFiKGUscix0LGEsbixpLHMsZil7dmFyIG89dHJ1ZTt2YXIgbD1bXSxjPVxcXCJcXFwiLHU9b3QodCk7Zm9yKHZhciBoPXIucy5jO2g8PXIuZS5jOysraCl7aWYoIWFbaF0pY29udGludWU7dmFyIGQ9Zi5kZW5zZT8oZVt0XXx8W10pW2hdOmVbYVtoXSt1XTtpZihkPT1udWxsKWM9XFxcIlxcXCI7ZWxzZSBpZihkLnYhPW51bGwpe289ZmFsc2U7Yz1cXFwiXFxcIisoZi5yYXdOdW1iZXJzJiZkLnQ9PVxcXCJuXFxcIj9kLnY6U3QoZCxudWxsLGYpKTtmb3IodmFyIHY9MCxwPTA7diE9PWMubGVuZ3RoOysrdilpZigocD1jLmNoYXJDb2RlQXQodikpPT09bnx8cD09PWl8fHA9PT0zNHx8Zi5mb3JjZVF1b3Rlcyl7Yz0nXFxcIicrYy5yZXBsYWNlKHRiLCdcXFwiXFxcIicpKydcXFwiJzticmVha31pZihjPT1cXFwiSURcXFwiKWM9J1xcXCJJRFxcXCInfWVsc2UgaWYoZC5mIT1udWxsJiYhZC5GKXtvPWZhbHNlO2M9XFxcIj1cXFwiK2QuZjtpZihjLmluZGV4T2YoXFxcIixcXFwiKT49MCljPSdcXFwiJytjLnJlcGxhY2UodGIsJ1xcXCJcXFwiJykrJ1xcXCInfWVsc2UgYz1cXFwiXFxcIjtsLnB1c2goYyl9aWYoZi5ibGFua3Jvd3M9PT1mYWxzZSYmbylyZXR1cm4gbnVsbDtyZXR1cm4gbC5qb2luKHMpfWZ1bmN0aW9uIG5iKGUscil7dmFyIHQ9W107dmFyIGE9cj09bnVsbD97fTpyO2lmKGU9PW51bGx8fGVbXFxcIiFyZWZcXFwiXT09bnVsbClyZXR1cm5cXFwiXFxcIjt2YXIgbj1rdChlW1xcXCIhcmVmXFxcIl0pO3ZhciBpPWEuRlMhPT11bmRlZmluZWQ/YS5GUzpcXFwiLFxcXCIscz1pLmNoYXJDb2RlQXQoMCk7dmFyIGY9YS5SUyE9PXVuZGVmaW5lZD9hLlJTOlxcXCJcXFxcblxcXCIsbz1mLmNoYXJDb2RlQXQoMCk7dmFyIGw9bmV3IFJlZ0V4cCgoaT09XFxcInxcXFwiP1xcXCJcXFxcXFxcXHxcXFwiOmkpK1xcXCIrJFxcXCIpO3ZhciBjPVxcXCJcXFwiLHU9W107YS5kZW5zZT1BcnJheS5pc0FycmF5KGUpO3ZhciBoPWEuc2tpcEhpZGRlbiYmZVtcXFwiIWNvbHNcXFwiXXx8W107dmFyIGQ9YS5za2lwSGlkZGVuJiZlW1xcXCIhcm93c1xcXCJdfHxbXTtmb3IodmFyIHY9bi5zLmM7djw9bi5lLmM7Kyt2KWlmKCEoaFt2XXx8e30pLmhpZGRlbil1W3ZdPWh0KHYpO2Zvcih2YXIgcD1uLnMucjtwPD1uLmUucjsrK3Ape2lmKChkW3BdfHx7fSkuaGlkZGVuKWNvbnRpbnVlO2M9YWIoZSxuLHAsdSxzLG8saSxhKTtpZihjPT1udWxsKXtjb250aW51ZX1pZihhLnN0cmlwKWM9Yy5yZXBsYWNlKGwsXFxcIlxcXCIpO3QucHVzaChjK2YpfWRlbGV0ZSBhLmRlbnNlO3JldHVybiB0LmpvaW4oXFxcIlxcXCIpfWZ1bmN0aW9uIGliKGUscil7aWYoIXIpcj17fTtyLkZTPVxcXCJcXFxcdFxcXCI7ci5SUz1cXFwiXFxcXG5cXFwiO3ZhciB0PW5iKGUscik7aWYodHlwZW9mIGNwdGFibGU9PVxcXCJ1bmRlZmluZWRcXFwifHxyLnR5cGU9PVxcXCJzdHJpbmdcXFwiKXJldHVybiB0O3ZhciBhPWNwdGFibGUudXRpbHMuZW5jb2RlKDEyMDAsdCxcXFwic3RyXFxcIik7cmV0dXJuIFN0cmluZy5mcm9tQ2hhckNvZGUoMjU1KStTdHJpbmcuZnJvbUNoYXJDb2RlKDI1NCkrYX1mdW5jdGlvbiBzYihlKXt2YXIgcj1cXFwiXFxcIix0LGE9XFxcIlxcXCI7aWYoZT09bnVsbHx8ZVtcXFwiIXJlZlxcXCJdPT1udWxsKXJldHVybltdO3ZhciBuPWt0KGVbXFxcIiFyZWZcXFwiXSksaT1cXFwiXFxcIixzPVtdLGY7dmFyIG89W107dmFyIGw9QXJyYXkuaXNBcnJheShlKTtmb3IoZj1uLnMuYztmPD1uLmUuYzsrK2Ypc1tmXT1odChmKTtmb3IodmFyIGM9bi5zLnI7Yzw9bi5lLnI7KytjKXtpPW90KGMpO2ZvcihmPW4ucy5jO2Y8PW4uZS5jOysrZil7cj1zW2ZdK2k7dD1sPyhlW2NdfHxbXSlbZl06ZVtyXTthPVxcXCJcXFwiO2lmKHQ9PT11bmRlZmluZWQpY29udGludWU7ZWxzZSBpZih0LkYhPW51bGwpe3I9dC5GO2lmKCF0LmYpY29udGludWU7YT10LmY7aWYoci5pbmRleE9mKFxcXCI6XFxcIik9PS0xKXI9citcXFwiOlxcXCIrcn1pZih0LmYhPW51bGwpYT10LmY7ZWxzZSBpZih0LnQ9PVxcXCJ6XFxcIiljb250aW51ZTtlbHNlIGlmKHQudD09XFxcIm5cXFwiJiZ0LnYhPW51bGwpYT1cXFwiXFxcIit0LnY7ZWxzZSBpZih0LnQ9PVxcXCJiXFxcIilhPXQudj9cXFwiVFJVRVxcXCI6XFxcIkZBTFNFXFxcIjtlbHNlIGlmKHQudyE9PXVuZGVmaW5lZClhPVxcXCInXFxcIit0Lnc7ZWxzZSBpZih0LnY9PT11bmRlZmluZWQpY29udGludWU7ZWxzZSBpZih0LnQ9PVxcXCJzXFxcIilhPVxcXCInXFxcIit0LnY7ZWxzZSBhPVxcXCJcXFwiK3QudjtvW28ubGVuZ3RoXT1yK1xcXCI9XFxcIithfX1yZXR1cm4gb31mdW5jdGlvbiBmYihlLHIsdCl7dmFyIGE9dHx8e307dmFyIG49KyFhLnNraXBIZWFkZXI7dmFyIGk9ZXx8e307dmFyIHM9MCxmPTA7aWYoaSYmYS5vcmlnaW4hPW51bGwpe2lmKHR5cGVvZiBhLm9yaWdpbj09XFxcIm51bWJlclxcXCIpcz1hLm9yaWdpbjtlbHNle3ZhciBvPXR5cGVvZiBhLm9yaWdpbj09XFxcInN0cmluZ1xcXCI/bXQoYS5vcmlnaW4pOmEub3JpZ2luO3M9by5yO2Y9by5jfX12YXIgbDt2YXIgYz17czp7YzowLHI6MH0sZTp7YzpmLHI6cytyLmxlbmd0aC0xK259fTtpZihpW1xcXCIhcmVmXFxcIl0pe3ZhciB1PWt0KGlbXFxcIiFyZWZcXFwiXSk7Yy5lLmM9TWF0aC5tYXgoYy5lLmMsdS5lLmMpO2MuZS5yPU1hdGgubWF4KGMuZS5yLHUuZS5yKTtpZihzPT0tMSl7cz11LmUucisxO2MuZS5yPXMrci5sZW5ndGgtMStufX1lbHNle2lmKHM9PS0xKXtzPTA7Yy5lLnI9ci5sZW5ndGgtMStufX12YXIgaD1hLmhlYWRlcnx8W10sZD0wO3IuZm9yRWFjaChmdW5jdGlvbihlLHIpe0soZSkuZm9yRWFjaChmdW5jdGlvbih0KXtpZigoZD1oLmluZGV4T2YodCkpPT0tMSloW2Q9aC5sZW5ndGhdPXQ7dmFyIG89ZVt0XTt2YXIgYz1cXFwielxcXCI7dmFyIHU9XFxcIlxcXCI7dmFyIHY9YnQoe2M6ZitkLHI6cytyK259KTtsPWxiLnNoZWV0X2dldF9jZWxsKGksdik7aWYobyYmdHlwZW9mIG89PT1cXFwib2JqZWN0XFxcIiYmIShvIGluc3RhbmNlb2YgRGF0ZSkpe2lbdl09b31lbHNle2lmKHR5cGVvZiBvPT1cXFwibnVtYmVyXFxcIiljPVxcXCJuXFxcIjtlbHNlIGlmKHR5cGVvZiBvPT1cXFwiYm9vbGVhblxcXCIpYz1cXFwiYlxcXCI7ZWxzZSBpZih0eXBlb2Ygbz09XFxcInN0cmluZ1xcXCIpYz1cXFwic1xcXCI7ZWxzZSBpZihvIGluc3RhbmNlb2YgRGF0ZSl7Yz1cXFwiZFxcXCI7aWYoIWEuY2VsbERhdGVzKXtjPVxcXCJuXFxcIjtvPWVlKG8pfXU9YS5kYXRlTkZ8fEQuX3RhYmxlWzE0XX1pZighbClpW3ZdPWw9e3Q6Yyx2Om99O2Vsc2V7bC50PWM7bC52PW87ZGVsZXRlIGwudztkZWxldGUgbC5SO2lmKHUpbC56PXV9aWYodSlsLno9dX19KX0pO2MuZS5jPU1hdGgubWF4KGMuZS5jLGYraC5sZW5ndGgtMSk7dmFyIHY9b3Qocyk7aWYobilmb3IoZD0wO2Q8aC5sZW5ndGg7KytkKWlbaHQoZCtmKSt2XT17dDpcXFwic1xcXCIsdjpoW2RdfTtpW1xcXCIhcmVmXFxcIl09d3QoYyk7cmV0dXJuIGl9ZnVuY3Rpb24gb2IoZSxyKXtyZXR1cm4gZmIobnVsbCxlLHIpfXZhciBsYj17ZW5jb2RlX2NvbDpodCxlbmNvZGVfcm93Om90LGVuY29kZV9jZWxsOmJ0LGVuY29kZV9yYW5nZTp3dCxkZWNvZGVfY29sOnV0LGRlY29kZV9yb3c6ZnQsc3BsaXRfY2VsbDpwdCxkZWNvZGVfY2VsbDptdCxkZWNvZGVfcmFuZ2U6Z3QsZm9ybWF0X2NlbGw6U3QsZ2V0X2Zvcm11bGFlOnNiLG1ha2VfY3N2Om5iLG1ha2VfanNvbjpyYixtYWtlX2Zvcm11bGFlOnNiLHNoZWV0X2FkZF9hb2E6Q3Qsc2hlZXRfYWRkX2pzb246ZmIsc2hlZXRfYWRkX2RvbTp0bSxhb2FfdG9fc2hlZXQ6QnQsanNvbl90b19zaGVldDpvYix0YWJsZV90b19zaGVldDphbSx0YWJsZV90b19ib29rOm5tLHNoZWV0X3RvX2NzdjpuYixzaGVldF90b190eHQ6aWIsc2hlZXRfdG9fanNvbjpyYixzaGVldF90b19odG1sOnJtLmZyb21fc2hlZXQsc2hlZXRfdG9fZm9ybXVsYWU6c2Isc2hlZXRfdG9fcm93X29iamVjdF9hcnJheTpyYn07KGZ1bmN0aW9uKGUpe2UuY29uc3RzPWUuY29uc3RzfHx7fTtmdW5jdGlvbiByKHIpe3IuZm9yRWFjaChmdW5jdGlvbihyKXtlLmNvbnN0c1tyWzBdXT1yWzFdfSl9ZnVuY3Rpb24gdChlLHIsdCl7cmV0dXJuIGVbcl0hPW51bGw/ZVtyXTplW3JdPXR9ZnVuY3Rpb24gYShlLHIsdCl7aWYodHlwZW9mIHI9PVxcXCJzdHJpbmdcXFwiKXtpZihBcnJheS5pc0FycmF5KGUpKXt2YXIgbj1tdChyKTtpZighZVtuLnJdKWVbbi5yXT1bXTtyZXR1cm4gZVtuLnJdW24uY118fChlW24ucl1bbi5jXT17dDpcXFwielxcXCJ9KX1yZXR1cm4gZVtyXXx8KGVbcl09e3Q6XFxcInpcXFwifSl9aWYodHlwZW9mIHIhPVxcXCJudW1iZXJcXFwiKXJldHVybiBhKGUsYnQocikpO3JldHVybiBhKGUsYnQoe3I6cixjOnR8fDB9KSl9ZS5zaGVldF9nZXRfY2VsbD1hO2Z1bmN0aW9uIG4oZSxyKXtpZih0eXBlb2Ygcj09XFxcIm51bWJlclxcXCIpe2lmKHI+PTAmJmUuU2hlZXROYW1lcy5sZW5ndGg+cilyZXR1cm4gcjt0aHJvdyBuZXcgRXJyb3IoXFxcIkNhbm5vdCBmaW5kIHNoZWV0ICMgXFxcIityKX1lbHNlIGlmKHR5cGVvZiByPT1cXFwic3RyaW5nXFxcIil7dmFyIHQ9ZS5TaGVldE5hbWVzLmluZGV4T2Yocik7aWYodD4tMSlyZXR1cm4gdDt0aHJvdyBuZXcgRXJyb3IoXFxcIkNhbm5vdCBmaW5kIHNoZWV0IG5hbWUgfFxcXCIrcitcXFwifFxcXCIpfWVsc2UgdGhyb3cgbmV3IEVycm9yKFxcXCJDYW5ub3QgZmluZCBzaGVldCB8XFxcIityK1xcXCJ8XFxcIil9ZS5ib29rX25ldz1mdW5jdGlvbigpe3JldHVybntTaGVldE5hbWVzOltdLFNoZWV0czp7fX19O2UuYm9va19hcHBlbmRfc2hlZXQ9ZnVuY3Rpb24oZSxyLHQpe2lmKCF0KWZvcih2YXIgYT0xO2E8PTY1NTM1OysrYSx0PXVuZGVmaW5lZClpZihlLlNoZWV0TmFtZXMuaW5kZXhPZih0PVxcXCJTaGVldFxcXCIrYSk9PS0xKWJyZWFrO2lmKCF0fHxlLlNoZWV0TmFtZXMubGVuZ3RoPj02NTUzNSl0aHJvdyBuZXcgRXJyb3IoXFxcIlRvbyBtYW55IHdvcmtzaGVldHNcXFwiKTt2dih0KTtpZihlLlNoZWV0TmFtZXMuaW5kZXhPZih0KT49MCl0aHJvdyBuZXcgRXJyb3IoXFxcIldvcmtzaGVldCB3aXRoIG5hbWUgfFxcXCIrdCtcXFwifCBhbHJlYWR5IGV4aXN0cyFcXFwiKTtlLlNoZWV0TmFtZXMucHVzaCh0KTtlLlNoZWV0c1t0XT1yfTtlLmJvb2tfc2V0X3NoZWV0X3Zpc2liaWxpdHk9ZnVuY3Rpb24oZSxyLGEpe3QoZSxcXFwiV29ya2Jvb2tcXFwiLHt9KTt0KGUuV29ya2Jvb2ssXFxcIlNoZWV0c1xcXCIsW10pO3ZhciBpPW4oZSxyKTt0KGUuV29ya2Jvb2suU2hlZXRzLGkse30pO3N3aXRjaChhKXtjYXNlIDA6O2Nhc2UgMTo7Y2FzZSAyOmJyZWFrO2RlZmF1bHQ6dGhyb3cgbmV3IEVycm9yKFxcXCJCYWQgc2hlZXQgdmlzaWJpbGl0eSBzZXR0aW5nIFxcXCIrYSk7fWUuV29ya2Jvb2suU2hlZXRzW2ldLkhpZGRlbj1hfTtyKFtbXFxcIlNIRUVUX1ZJU0lCTEVcXFwiLDBdLFtcXFwiU0hFRVRfSElEREVOXFxcIiwxXSxbXFxcIlNIRUVUX1ZFUllfSElEREVOXFxcIiwyXV0pO2UuY2VsbF9zZXRfbnVtYmVyX2Zvcm1hdD1mdW5jdGlvbihlLHIpe2Uuej1yO3JldHVybiBlfTtlLmNlbGxfc2V0X2h5cGVybGluaz1mdW5jdGlvbihlLHIsdCl7aWYoIXIpe2RlbGV0ZSBlLmx9ZWxzZXtlLmw9e1RhcmdldDpyfTtpZih0KWUubC5Ub29sdGlwPXR9cmV0dXJuIGV9O2UuY2VsbF9zZXRfaW50ZXJuYWxfbGluaz1mdW5jdGlvbihyLHQsYSl7cmV0dXJuIGUuY2VsbF9zZXRfaHlwZXJsaW5rKHIsXFxcIiNcXFwiK3QsYSl9O2UuY2VsbF9hZGRfY29tbWVudD1mdW5jdGlvbihlLHIsdCl7aWYoIWUuYyllLmM9W107ZS5jLnB1c2goe3Q6cixhOnR8fFxcXCJTaGVldEpTXFxcIn0pfTtlLnNoZWV0X3NldF9hcnJheV9mb3JtdWxhPWZ1bmN0aW9uKGUscix0KXt2YXIgbj10eXBlb2YgciE9XFxcInN0cmluZ1xcXCI/cjprdChyKTt2YXIgaT10eXBlb2Ygcj09XFxcInN0cmluZ1xcXCI/cjp3dChyKTtmb3IodmFyIHM9bi5zLnI7czw9bi5lLnI7KytzKWZvcih2YXIgZj1uLnMuYztmPD1uLmUuYzsrK2Ype3ZhciBvPWEoZSxzLGYpO28udD1cXFwiblxcXCI7by5GPWk7ZGVsZXRlIG8udjtpZihzPT1uLnMuciYmZj09bi5zLmMpby5mPXR9cmV0dXJuIGV9O3JldHVybiBlfSkobGIpO2lmKHcmJnR5cGVvZiByZXF1aXJlIT1cXFwidW5kZWZpbmVkXFxcIikoZnVuY3Rpb24oKXt2YXIgcj17fS5SZWFkYWJsZTt2YXIgdD1mdW5jdGlvbihlLHQpe3ZhciBhPXIoKTt2YXIgbj10PT1udWxsP3t9OnQ7aWYoZT09bnVsbHx8ZVtcXFwiIXJlZlxcXCJdPT1udWxsKXthLnB1c2gobnVsbCk7cmV0dXJuIGF9dmFyIGk9a3QoZVtcXFwiIXJlZlxcXCJdKTt2YXIgcz1uLkZTIT09dW5kZWZpbmVkP24uRlM6XFxcIixcXFwiLGY9cy5jaGFyQ29kZUF0KDApO3ZhciBvPW4uUlMhPT11bmRlZmluZWQ/bi5SUzpcXFwiXFxcXG5cXFwiLGw9by5jaGFyQ29kZUF0KDApO3ZhciBjPW5ldyBSZWdFeHAoKHM9PVxcXCJ8XFxcIj9cXFwiXFxcXFxcXFx8XFxcIjpzKStcXFwiKyRcXFwiKTt2YXIgdT1cXFwiXFxcIixoPVtdO24uZGVuc2U9QXJyYXkuaXNBcnJheShlKTt2YXIgZD1uLnNraXBIaWRkZW4mJmVbXFxcIiFjb2xzXFxcIl18fFtdO3ZhciB2PW4uc2tpcEhpZGRlbiYmZVtcXFwiIXJvd3NcXFwiXXx8W107Zm9yKHZhciBwPWkucy5jO3A8PWkuZS5jOysrcClpZighKGRbcF18fHt9KS5oaWRkZW4paFtwXT1odChwKTt2YXIgbT1pLnMucjt2YXIgYj1mYWxzZTthLl9yZWFkPWZ1bmN0aW9uKCl7aWYoIWIpe2I9dHJ1ZTtyZXR1cm4gYS5wdXNoKFxcXCJcXFxcdWZlZmZcXFwiKX13aGlsZShtPD1pLmUucil7KyttO2lmKCh2W20tMV18fHt9KS5oaWRkZW4pY29udGludWU7dT1hYihlLGksbS0xLGgsZixsLHMsbik7aWYodSE9bnVsbCl7aWYobi5zdHJpcCl1PXUucmVwbGFjZShjLFxcXCJcXFwiKTthLnB1c2godStvKTticmVha319aWYobT5pLmUucilyZXR1cm4gYS5wdXNoKG51bGwpfTtyZXR1cm4gYX07dmFyIGE9ZnVuY3Rpb24oZSx0KXt2YXIgYT1yKCk7dmFyIG49dHx8e307dmFyIGk9bi5oZWFkZXIhPW51bGw/bi5oZWFkZXI6cm0uQkVHSU47dmFyIHM9bi5mb290ZXIhPW51bGw/bi5mb290ZXI6cm0uRU5EO2EucHVzaChpKTt2YXIgZj1ndChlW1xcXCIhcmVmXFxcIl0pO24uZGVuc2U9QXJyYXkuaXNBcnJheShlKTthLnB1c2gocm0uX3ByZWFtYmxlKGUsZixuKSk7dmFyIG89Zi5zLnI7dmFyIGw9ZmFsc2U7YS5fcmVhZD1mdW5jdGlvbigpe2lmKG8+Zi5lLnIpe2lmKCFsKXtsPXRydWU7YS5wdXNoKFxcXCI8L3RhYmxlPlxcXCIrcyl9cmV0dXJuIGEucHVzaChudWxsKX13aGlsZShvPD1mLmUucil7YS5wdXNoKHJtLl9yb3coZSxmLG8sbikpOysrbzticmVha319O3JldHVybiBhfTt2YXIgbj1mdW5jdGlvbihlLHQpe3ZhciBhPXIoe29iamVjdE1vZGU6dHJ1ZX0pO2lmKGU9PW51bGx8fGVbXFxcIiFyZWZcXFwiXT09bnVsbCl7YS5wdXNoKG51bGwpO3JldHVybiBhfXZhciBuPXt0OlxcXCJuXFxcIix2OjB9LGk9MCxzPTEsZj1bXSxvPTAsbD1cXFwiXFxcIjt2YXIgYz17czp7cjowLGM6MH0sZTp7cjowLGM6MH19O3ZhciB1PXR8fHt9O3ZhciBoPXUucmFuZ2UhPW51bGw/dS5yYW5nZTplW1xcXCIhcmVmXFxcIl07aWYodS5oZWFkZXI9PT0xKWk9MTtlbHNlIGlmKHUuaGVhZGVyPT09XFxcIkFcXFwiKWk9MjtlbHNlIGlmKEFycmF5LmlzQXJyYXkodS5oZWFkZXIpKWk9Mztzd2l0Y2godHlwZW9mIGgpe2Nhc2VcXFwic3RyaW5nXFxcIjpjPWt0KGgpO2JyZWFrO2Nhc2VcXFwibnVtYmVyXFxcIjpjPWt0KGVbXFxcIiFyZWZcXFwiXSk7Yy5zLnI9aDticmVhaztkZWZhdWx0OmM9aDt9aWYoaT4wKXM9MDt2YXIgZD1vdChjLnMucik7dmFyIHY9W107dmFyIHA9MDt2YXIgbT1BcnJheS5pc0FycmF5KGUpO3ZhciBiPWMucy5yLGc9MCx3PTA7aWYobSYmIWVbYl0pZVtiXT1bXTtmb3IoZz1jLnMuYztnPD1jLmUuYzsrK2cpe3ZbZ109aHQoZyk7bj1tP2VbYl1bZ106ZVt2W2ddK2RdO3N3aXRjaChpKXtjYXNlIDE6ZltnXT1nLWMucy5jO2JyZWFrO2Nhc2UgMjpmW2ddPXZbZ107YnJlYWs7Y2FzZSAzOmZbZ109dS5oZWFkZXJbZy1jLnMuY107YnJlYWs7ZGVmYXVsdDppZihuPT1udWxsKW49e3c6XFxcIl9fRU1QVFlcXFwiLHQ6XFxcInNcXFwifTtsPW89U3QobixudWxsLHUpO3A9MDtmb3Iodz0wO3c8Zi5sZW5ndGg7Kyt3KWlmKGZbd109PWwpbD1vK1xcXCJfXFxcIisgKytwO2ZbZ109bDt9fWI9Yy5zLnIrczthLl9yZWFkPWZ1bmN0aW9uKCl7aWYoYj5jLmUucilyZXR1cm4gYS5wdXNoKG51bGwpO3doaWxlKGI8PWMuZS5yKXt2YXIgcj1lYihlLGMsYix2LGksZixtLHUpOysrYjtpZihyLmlzZW1wdHk9PT1mYWxzZXx8KGk9PT0xP3UuYmxhbmtyb3dzIT09ZmFsc2U6ISF1LmJsYW5rcm93cykpe2EucHVzaChyLnJvdyk7YnJlYWt9fX07cmV0dXJuIGF9O2Uuc3RyZWFtPXt0b19qc29uOm4sdG9faHRtbDphLHRvX2Nzdjp0fX0pKCk7aWYodHlwZW9mIFJwIT09XFxcInVuZGVmaW5lZFxcXCIpZS5wYXJzZV94bHNjZmI9UnA7ZS5wYXJzZV96aXA9Um07ZS5yZWFkPVdtO2UucmVhZEZpbGU9Vm07ZS5yZWFkRmlsZVN5bmM9Vm07ZS53cml0ZT1abTtlLndyaXRlRmlsZT1RbTtlLndyaXRlRmlsZVN5bmM9UW07ZS53cml0ZUZpbGVBc3luYz1xbTtlLnV0aWxzPWxiO2UuU1NGPUQ7aWYodHlwZW9mIFchPT1cXFwidW5kZWZpbmVkXFxcIillLkNGQj1XfWlmKHR5cGVvZiBleHBvcnRzIT09XFxcInVuZGVmaW5lZFxcXCIpbWFrZV94bHN4X2xpYihleHBvcnRzKTtlbHNlIGlmKHR5cGVvZiBtb2R1bGUhPT1cXFwidW5kZWZpbmVkXFxcIiYmbW9kdWxlLmV4cG9ydHMpbWFrZV94bHN4X2xpYihtb2R1bGUuZXhwb3J0cyk7ZWxzZSBpZih0eXBlb2YgZGVmaW5lPT09XFxcImZ1bmN0aW9uXFxcIiYmZGVmaW5lLmFtZClkZWZpbmUoZnVuY3Rpb24oKXtpZighWExTWC52ZXJzaW9uKW1ha2VfeGxzeF9saWIoWExTWCk7cmV0dXJuIFhMU1h9KTtlbHNlIG1ha2VfeGxzeF9saWIoWExTWCk7dmFyIFhMUz1YTFNYLE9EUz1YTFNYO1xcblwiXG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9ub2RlX21vZHVsZXMvcmF3LWxvYWRlciEuL25vZGVfbW9kdWxlcy94bHN4L2Rpc3QveGxzeC5jb3JlLm1pbi5qc1xuLy8gbW9kdWxlIGlkID0gcGUwWlxuLy8gbW9kdWxlIGNodW5rcyA9IDAiXSwibWFwcGluZ3MiOiJBQUFBIiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///pe0Z\n')},px6Z:function(module,exports){eval('module.exports = "/* eslint-disable */\\n/* Blob.js\\r\\n * A Blob implementation.\\r\\n * 2014-05-27\\r\\n *\\r\\n * By Eli Grey, http://eligrey.com\\r\\n * By Devin Samarin, https://github.com/eboyjr\\r\\n * License: X11/MIT\\r\\n * See LICENSE.md\\r\\n */\\n\\n/*global self, unescape */\\n/*jslint bitwise: true, regexp: true, confusion: true, es5: true, vars: true, white: true,\\r\\n plusplus: true */\\n\\n/*! @source http://purl.eligrey.com/github/Blob.js/blob/master/Blob.js */\\n\\n(function (view) {\\n view.URL = view.URL || view.webkitURL;\\n\\n if (view.Blob && view.URL) {\\n try {\\n new Blob();\\n return;\\n } catch (e) {}\\n }\\n\\n // Internally we use a BlobBuilder implementation to base Blob off of\\n // in order to support older browsers that only have BlobBuilder\\n var BlobBuilder = view.BlobBuilder || view.WebKitBlobBuilder || view.MozBlobBuilder || function (view) {\\n var get_class = function get_class(object) {\\n return Object.prototype.toString.call(object).match(/^\\\\[object\\\\s(.*)\\\\]$/)[1];\\n },\\n FakeBlobBuilder = function BlobBuilder() {\\n this.data = [];\\n },\\n FakeBlob = function Blob(data, type, encoding) {\\n this.data = data;\\n this.size = data.length;\\n this.type = type;\\n this.encoding = encoding;\\n },\\n FBB_proto = FakeBlobBuilder.prototype,\\n FB_proto = FakeBlob.prototype,\\n FileReaderSync = view.FileReaderSync,\\n FileException = function FileException(type) {\\n this.code = this[this.name = type];\\n },\\n file_ex_codes = (\\"NOT_FOUND_ERR SECURITY_ERR ABORT_ERR NOT_READABLE_ERR ENCODING_ERR \\" + \\"NO_MODIFICATION_ALLOWED_ERR INVALID_STATE_ERR SYNTAX_ERR\\").split(\\" \\"),\\n file_ex_code = file_ex_codes.length,\\n real_URL = view.URL || view.webkitURL || view,\\n real_create_object_URL = real_URL.createObjectURL,\\n real_revoke_object_URL = real_URL.revokeObjectURL,\\n URL = real_URL,\\n btoa = view.btoa,\\n atob = view.atob,\\n ArrayBuffer = view.ArrayBuffer,\\n Uint8Array = view.Uint8Array;\\n FakeBlob.fake = FB_proto.fake = true;\\n while (file_ex_code--) {\\n FileException.prototype[file_ex_codes[file_ex_code]] = file_ex_code + 1;\\n }\\n if (!real_URL.createObjectURL) {\\n URL = view.URL = {};\\n }\\n URL.createObjectURL = function (blob) {\\n var type = blob.type,\\n data_URI_header;\\n if (type === null) {\\n type = \\"application/octet-stream\\";\\n }\\n if (blob instanceof FakeBlob) {\\n data_URI_header = \\"data:\\" + type;\\n if (blob.encoding === \\"base64\\") {\\n return data_URI_header + \\";base64,\\" + blob.data;\\n } else if (blob.encoding === \\"URI\\") {\\n return data_URI_header + \\",\\" + decodeURIComponent(blob.data);\\n }\\n if (btoa) {\\n return data_URI_header + \\";base64,\\" + btoa(blob.data);\\n } else {\\n return data_URI_header + \\",\\" + encodeURIComponent(blob.data);\\n }\\n } else if (real_create_object_URL) {\\n return real_create_object_URL.call(real_URL, blob);\\n }\\n };\\n URL.revokeObjectURL = function (object_URL) {\\n if (object_URL.substring(0, 5) !== \\"data:\\" && real_revoke_object_URL) {\\n real_revoke_object_URL.call(real_URL, object_URL);\\n }\\n };\\n FBB_proto.append = function (data /*, endings*/) {\\n var bb = this.data;\\n // decode data to a binary string\\n if (Uint8Array && (data instanceof ArrayBuffer || data instanceof Uint8Array)) {\\n var str = \\"\\",\\n buf = new Uint8Array(data),\\n i = 0,\\n buf_len = buf.length;\\n for (; i < buf_len; i++) {\\n str += String.fromCharCode(buf[i]);\\n }\\n bb.push(str);\\n } else if (get_class(data) === \\"Blob\\" || get_class(data) === \\"File\\") {\\n if (FileReaderSync) {\\n var fr = new FileReaderSync();\\n bb.push(fr.readAsBinaryString(data));\\n } else {\\n // async FileReader won\'t work as BlobBuilder is sync\\n throw new FileException(\\"NOT_READABLE_ERR\\");\\n }\\n } else if (data instanceof FakeBlob) {\\n if (data.encoding === \\"base64\\" && atob) {\\n bb.push(atob(data.data));\\n } else if (data.encoding === \\"URI\\") {\\n bb.push(decodeURIComponent(data.data));\\n } else if (data.encoding === \\"raw\\") {\\n bb.push(data.data);\\n }\\n } else {\\n if (typeof data !== \\"string\\") {\\n data += \\"\\"; // convert unsupported types to strings\\n }\\n // decode UTF-16 to binary string\\n bb.push(unescape(encodeURIComponent(data)));\\n }\\n };\\n FBB_proto.getBlob = function (type) {\\n if (!arguments.length) {\\n type = null;\\n }\\n return new FakeBlob(this.data.join(\\"\\"), type, \\"raw\\");\\n };\\n FBB_proto.toString = function () {\\n return \\"[object BlobBuilder]\\";\\n };\\n FB_proto.slice = function (start, end, type) {\\n var args = arguments.length;\\n if (args < 3) {\\n type = null;\\n }\\n return new FakeBlob(this.data.slice(start, args > 1 ? end : this.data.length), type, this.encoding);\\n };\\n FB_proto.toString = function () {\\n return \\"[object Blob]\\";\\n };\\n FB_proto.close = function () {\\n this.size = this.data.length = 0;\\n };\\n return FakeBlobBuilder;\\n }(view);\\n\\n view.Blob = function Blob(blobParts, options) {\\n var type = options ? options.type || \\"\\" : \\"\\";\\n var builder = new BlobBuilder();\\n if (blobParts) {\\n for (var i = 0, len = blobParts.length; i < len; i++) {\\n builder.append(blobParts[i]);\\n }\\n }\\n return builder.getBlob(type);\\n };\\n})(typeof self !== \\"undefined\\" && self || typeof window !== \\"undefined\\" && window || this.content || this);"//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHg2Wi5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL3NyYy9jb21tb24vQmxvYi5qcz9hZTA1Il0sInNvdXJjZXNDb250ZW50IjpbIm1vZHVsZS5leHBvcnRzID0gXCIvKiBlc2xpbnQtZGlzYWJsZSAqL1xcbi8qIEJsb2IuanNcXHJcXG4gKiBBIEJsb2IgaW1wbGVtZW50YXRpb24uXFxyXFxuICogMjAxNC0wNS0yN1xcclxcbiAqXFxyXFxuICogQnkgRWxpIEdyZXksIGh0dHA6Ly9lbGlncmV5LmNvbVxcclxcbiAqIEJ5IERldmluIFNhbWFyaW4sIGh0dHBzOi8vZ2l0aHViLmNvbS9lYm95anJcXHJcXG4gKiBMaWNlbnNlOiBYMTEvTUlUXFxyXFxuICogICBTZWUgTElDRU5TRS5tZFxcclxcbiAqL1xcblxcbi8qZ2xvYmFsIHNlbGYsIHVuZXNjYXBlICovXFxuLypqc2xpbnQgYml0d2lzZTogdHJ1ZSwgcmVnZXhwOiB0cnVlLCBjb25mdXNpb246IHRydWUsIGVzNTogdHJ1ZSwgdmFyczogdHJ1ZSwgd2hpdGU6IHRydWUsXFxyXFxuIHBsdXNwbHVzOiB0cnVlICovXFxuXFxuLyohIEBzb3VyY2UgaHR0cDovL3B1cmwuZWxpZ3JleS5jb20vZ2l0aHViL0Jsb2IuanMvYmxvYi9tYXN0ZXIvQmxvYi5qcyAqL1xcblxcbihmdW5jdGlvbiAodmlldykge1xcbiAgICB2aWV3LlVSTCA9IHZpZXcuVVJMIHx8IHZpZXcud2Via2l0VVJMO1xcblxcbiAgICBpZiAodmlldy5CbG9iICYmIHZpZXcuVVJMKSB7XFxuICAgICAgICB0cnkge1xcbiAgICAgICAgICAgIG5ldyBCbG9iKCk7XFxuICAgICAgICAgICAgcmV0dXJuO1xcbiAgICAgICAgfSBjYXRjaCAoZSkge31cXG4gICAgfVxcblxcbiAgICAvLyBJbnRlcm5hbGx5IHdlIHVzZSBhIEJsb2JCdWlsZGVyIGltcGxlbWVudGF0aW9uIHRvIGJhc2UgQmxvYiBvZmYgb2ZcXG4gICAgLy8gaW4gb3JkZXIgdG8gc3VwcG9ydCBvbGRlciBicm93c2VycyB0aGF0IG9ubHkgaGF2ZSBCbG9iQnVpbGRlclxcbiAgICB2YXIgQmxvYkJ1aWxkZXIgPSB2aWV3LkJsb2JCdWlsZGVyIHx8IHZpZXcuV2ViS2l0QmxvYkJ1aWxkZXIgfHwgdmlldy5Nb3pCbG9iQnVpbGRlciB8fCBmdW5jdGlvbiAodmlldykge1xcbiAgICAgICAgdmFyIGdldF9jbGFzcyA9IGZ1bmN0aW9uIGdldF9jbGFzcyhvYmplY3QpIHtcXG4gICAgICAgICAgICByZXR1cm4gT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKG9iamVjdCkubWF0Y2goL15cXFxcW29iamVjdFxcXFxzKC4qKVxcXFxdJC8pWzFdO1xcbiAgICAgICAgfSxcXG4gICAgICAgICAgICBGYWtlQmxvYkJ1aWxkZXIgPSBmdW5jdGlvbiBCbG9iQnVpbGRlcigpIHtcXG4gICAgICAgICAgICB0aGlzLmRhdGEgPSBbXTtcXG4gICAgICAgIH0sXFxuICAgICAgICAgICAgRmFrZUJsb2IgPSBmdW5jdGlvbiBCbG9iKGRhdGEsIHR5cGUsIGVuY29kaW5nKSB7XFxuICAgICAgICAgICAgdGhpcy5kYXRhID0gZGF0YTtcXG4gICAgICAgICAgICB0aGlzLnNpemUgPSBkYXRhLmxlbmd0aDtcXG4gICAgICAgICAgICB0aGlzLnR5cGUgPSB0eXBlO1xcbiAgICAgICAgICAgIHRoaXMuZW5jb2RpbmcgPSBlbmNvZGluZztcXG4gICAgICAgIH0sXFxuICAgICAgICAgICAgRkJCX3Byb3RvID0gRmFrZUJsb2JCdWlsZGVyLnByb3RvdHlwZSxcXG4gICAgICAgICAgICBGQl9wcm90byA9IEZha2VCbG9iLnByb3RvdHlwZSxcXG4gICAgICAgICAgICBGaWxlUmVhZGVyU3luYyA9IHZpZXcuRmlsZVJlYWRlclN5bmMsXFxuICAgICAgICAgICAgRmlsZUV4Y2VwdGlvbiA9IGZ1bmN0aW9uIEZpbGVFeGNlcHRpb24odHlwZSkge1xcbiAgICAgICAgICAgIHRoaXMuY29kZSA9IHRoaXNbdGhpcy5uYW1lID0gdHlwZV07XFxuICAgICAgICB9LFxcbiAgICAgICAgICAgIGZpbGVfZXhfY29kZXMgPSAoXFxcIk5PVF9GT1VORF9FUlIgU0VDVVJJVFlfRVJSIEFCT1JUX0VSUiBOT1RfUkVBREFCTEVfRVJSIEVOQ09ESU5HX0VSUiBcXFwiICsgXFxcIk5PX01PRElGSUNBVElPTl9BTExPV0VEX0VSUiBJTlZBTElEX1NUQVRFX0VSUiBTWU5UQVhfRVJSXFxcIikuc3BsaXQoXFxcIiBcXFwiKSxcXG4gICAgICAgICAgICBmaWxlX2V4X2NvZGUgPSBmaWxlX2V4X2NvZGVzLmxlbmd0aCxcXG4gICAgICAgICAgICByZWFsX1VSTCA9IHZpZXcuVVJMIHx8IHZpZXcud2Via2l0VVJMIHx8IHZpZXcsXFxuICAgICAgICAgICAgcmVhbF9jcmVhdGVfb2JqZWN0X1VSTCA9IHJlYWxfVVJMLmNyZWF0ZU9iamVjdFVSTCxcXG4gICAgICAgICAgICByZWFsX3Jldm9rZV9vYmplY3RfVVJMID0gcmVhbF9VUkwucmV2b2tlT2JqZWN0VVJMLFxcbiAgICAgICAgICAgIFVSTCA9IHJlYWxfVVJMLFxcbiAgICAgICAgICAgIGJ0b2EgPSB2aWV3LmJ0b2EsXFxuICAgICAgICAgICAgYXRvYiA9IHZpZXcuYXRvYixcXG4gICAgICAgICAgICBBcnJheUJ1ZmZlciA9IHZpZXcuQXJyYXlCdWZmZXIsXFxuICAgICAgICAgICAgVWludDhBcnJheSA9IHZpZXcuVWludDhBcnJheTtcXG4gICAgICAgIEZha2VCbG9iLmZha2UgPSBGQl9wcm90by5mYWtlID0gdHJ1ZTtcXG4gICAgICAgIHdoaWxlIChmaWxlX2V4X2NvZGUtLSkge1xcbiAgICAgICAgICAgIEZpbGVFeGNlcHRpb24ucHJvdG90eXBlW2ZpbGVfZXhfY29kZXNbZmlsZV9leF9jb2RlXV0gPSBmaWxlX2V4X2NvZGUgKyAxO1xcbiAgICAgICAgfVxcbiAgICAgICAgaWYgKCFyZWFsX1VSTC5jcmVhdGVPYmplY3RVUkwpIHtcXG4gICAgICAgICAgICBVUkwgPSB2aWV3LlVSTCA9IHt9O1xcbiAgICAgICAgfVxcbiAgICAgICAgVVJMLmNyZWF0ZU9iamVjdFVSTCA9IGZ1bmN0aW9uIChibG9iKSB7XFxuICAgICAgICAgICAgdmFyIHR5cGUgPSBibG9iLnR5cGUsXFxuICAgICAgICAgICAgICAgIGRhdGFfVVJJX2hlYWRlcjtcXG4gICAgICAgICAgICBpZiAodHlwZSA9PT0gbnVsbCkge1xcbiAgICAgICAgICAgICAgICB0eXBlID0gXFxcImFwcGxpY2F0aW9uL29jdGV0LXN0cmVhbVxcXCI7XFxuICAgICAgICAgICAgfVxcbiAgICAgICAgICAgIGlmIChibG9iIGluc3RhbmNlb2YgRmFrZUJsb2IpIHtcXG4gICAgICAgICAgICAgICAgZGF0YV9VUklfaGVhZGVyID0gXFxcImRhdGE6XFxcIiArIHR5cGU7XFxuICAgICAgICAgICAgICAgIGlmIChibG9iLmVuY29kaW5nID09PSBcXFwiYmFzZTY0XFxcIikge1xcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGRhdGFfVVJJX2hlYWRlciArIFxcXCI7YmFzZTY0LFxcXCIgKyBibG9iLmRhdGE7XFxuICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoYmxvYi5lbmNvZGluZyA9PT0gXFxcIlVSSVxcXCIpIHtcXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBkYXRhX1VSSV9oZWFkZXIgKyBcXFwiLFxcXCIgKyBkZWNvZGVVUklDb21wb25lbnQoYmxvYi5kYXRhKTtcXG4gICAgICAgICAgICAgICAgfVxcbiAgICAgICAgICAgICAgICBpZiAoYnRvYSkge1xcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGRhdGFfVVJJX2hlYWRlciArIFxcXCI7YmFzZTY0LFxcXCIgKyBidG9hKGJsb2IuZGF0YSk7XFxuICAgICAgICAgICAgICAgIH0gZWxzZSB7XFxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gZGF0YV9VUklfaGVhZGVyICsgXFxcIixcXFwiICsgZW5jb2RlVVJJQ29tcG9uZW50KGJsb2IuZGF0YSk7XFxuICAgICAgICAgICAgICAgIH1cXG4gICAgICAgICAgICB9IGVsc2UgaWYgKHJlYWxfY3JlYXRlX29iamVjdF9VUkwpIHtcXG4gICAgICAgICAgICAgICAgcmV0dXJuIHJlYWxfY3JlYXRlX29iamVjdF9VUkwuY2FsbChyZWFsX1VSTCwgYmxvYik7XFxuICAgICAgICAgICAgfVxcbiAgICAgICAgfTtcXG4gICAgICAgIFVSTC5yZXZva2VPYmplY3RVUkwgPSBmdW5jdGlvbiAob2JqZWN0X1VSTCkge1xcbiAgICAgICAgICAgIGlmIChvYmplY3RfVVJMLnN1YnN0cmluZygwLCA1KSAhPT0gXFxcImRhdGE6XFxcIiAmJiByZWFsX3Jldm9rZV9vYmplY3RfVVJMKSB7XFxuICAgICAgICAgICAgICAgIHJlYWxfcmV2b2tlX29iamVjdF9VUkwuY2FsbChyZWFsX1VSTCwgb2JqZWN0X1VSTCk7XFxuICAgICAgICAgICAgfVxcbiAgICAgICAgfTtcXG4gICAgICAgIEZCQl9wcm90by5hcHBlbmQgPSBmdW5jdGlvbiAoZGF0YSAvKiwgZW5kaW5ncyovKSB7XFxuICAgICAgICAgICAgdmFyIGJiID0gdGhpcy5kYXRhO1xcbiAgICAgICAgICAgIC8vIGRlY29kZSBkYXRhIHRvIGEgYmluYXJ5IHN0cmluZ1xcbiAgICAgICAgICAgIGlmIChVaW50OEFycmF5ICYmIChkYXRhIGluc3RhbmNlb2YgQXJyYXlCdWZmZXIgfHwgZGF0YSBpbnN0YW5jZW9mIFVpbnQ4QXJyYXkpKSB7XFxuICAgICAgICAgICAgICAgIHZhciBzdHIgPSBcXFwiXFxcIixcXG4gICAgICAgICAgICAgICAgICAgIGJ1ZiA9IG5ldyBVaW50OEFycmF5KGRhdGEpLFxcbiAgICAgICAgICAgICAgICAgICAgaSA9IDAsXFxuICAgICAgICAgICAgICAgICAgICBidWZfbGVuID0gYnVmLmxlbmd0aDtcXG4gICAgICAgICAgICAgICAgZm9yICg7IGkgPCBidWZfbGVuOyBpKyspIHtcXG4gICAgICAgICAgICAgICAgICAgIHN0ciArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGJ1ZltpXSk7XFxuICAgICAgICAgICAgICAgIH1cXG4gICAgICAgICAgICAgICAgYmIucHVzaChzdHIpO1xcbiAgICAgICAgICAgIH0gZWxzZSBpZiAoZ2V0X2NsYXNzKGRhdGEpID09PSBcXFwiQmxvYlxcXCIgfHwgZ2V0X2NsYXNzKGRhdGEpID09PSBcXFwiRmlsZVxcXCIpIHtcXG4gICAgICAgICAgICAgICAgaWYgKEZpbGVSZWFkZXJTeW5jKSB7XFxuICAgICAgICAgICAgICAgICAgICB2YXIgZnIgPSBuZXcgRmlsZVJlYWRlclN5bmMoKTtcXG4gICAgICAgICAgICAgICAgICAgIGJiLnB1c2goZnIucmVhZEFzQmluYXJ5U3RyaW5nKGRhdGEpKTtcXG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcXG4gICAgICAgICAgICAgICAgICAgIC8vIGFzeW5jIEZpbGVSZWFkZXIgd29uJ3Qgd29yayBhcyBCbG9iQnVpbGRlciBpcyBzeW5jXFxuICAgICAgICAgICAgICAgICAgICB0aHJvdyBuZXcgRmlsZUV4Y2VwdGlvbihcXFwiTk9UX1JFQURBQkxFX0VSUlxcXCIpO1xcbiAgICAgICAgICAgICAgICB9XFxuICAgICAgICAgICAgfSBlbHNlIGlmIChkYXRhIGluc3RhbmNlb2YgRmFrZUJsb2IpIHtcXG4gICAgICAgICAgICAgICAgaWYgKGRhdGEuZW5jb2RpbmcgPT09IFxcXCJiYXNlNjRcXFwiICYmIGF0b2IpIHtcXG4gICAgICAgICAgICAgICAgICAgIGJiLnB1c2goYXRvYihkYXRhLmRhdGEpKTtcXG4gICAgICAgICAgICAgICAgfSBlbHNlIGlmIChkYXRhLmVuY29kaW5nID09PSBcXFwiVVJJXFxcIikge1xcbiAgICAgICAgICAgICAgICAgICAgYmIucHVzaChkZWNvZGVVUklDb21wb25lbnQoZGF0YS5kYXRhKSk7XFxuICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoZGF0YS5lbmNvZGluZyA9PT0gXFxcInJhd1xcXCIpIHtcXG4gICAgICAgICAgICAgICAgICAgIGJiLnB1c2goZGF0YS5kYXRhKTtcXG4gICAgICAgICAgICAgICAgfVxcbiAgICAgICAgICAgIH0gZWxzZSB7XFxuICAgICAgICAgICAgICAgIGlmICh0eXBlb2YgZGF0YSAhPT0gXFxcInN0cmluZ1xcXCIpIHtcXG4gICAgICAgICAgICAgICAgICAgIGRhdGEgKz0gXFxcIlxcXCI7IC8vIGNvbnZlcnQgdW5zdXBwb3J0ZWQgdHlwZXMgdG8gc3RyaW5nc1xcbiAgICAgICAgICAgICAgICB9XFxuICAgICAgICAgICAgICAgIC8vIGRlY29kZSBVVEYtMTYgdG8gYmluYXJ5IHN0cmluZ1xcbiAgICAgICAgICAgICAgICBiYi5wdXNoKHVuZXNjYXBlKGVuY29kZVVSSUNvbXBvbmVudChkYXRhKSkpO1xcbiAgICAgICAgICAgIH1cXG4gICAgICAgIH07XFxuICAgICAgICBGQkJfcHJvdG8uZ2V0QmxvYiA9IGZ1bmN0aW9uICh0eXBlKSB7XFxuICAgICAgICAgICAgaWYgKCFhcmd1bWVudHMubGVuZ3RoKSB7XFxuICAgICAgICAgICAgICAgIHR5cGUgPSBudWxsO1xcbiAgICAgICAgICAgIH1cXG4gICAgICAgICAgICByZXR1cm4gbmV3IEZha2VCbG9iKHRoaXMuZGF0YS5qb2luKFxcXCJcXFwiKSwgdHlwZSwgXFxcInJhd1xcXCIpO1xcbiAgICAgICAgfTtcXG4gICAgICAgIEZCQl9wcm90by50b1N0cmluZyA9IGZ1bmN0aW9uICgpIHtcXG4gICAgICAgICAgICByZXR1cm4gXFxcIltvYmplY3QgQmxvYkJ1aWxkZXJdXFxcIjtcXG4gICAgICAgIH07XFxuICAgICAgICBGQl9wcm90by5zbGljZSA9IGZ1bmN0aW9uIChzdGFydCwgZW5kLCB0eXBlKSB7XFxuICAgICAgICAgICAgdmFyIGFyZ3MgPSBhcmd1bWVudHMubGVuZ3RoO1xcbiAgICAgICAgICAgIGlmIChhcmdzIDwgMykge1xcbiAgICAgICAgICAgICAgICB0eXBlID0gbnVsbDtcXG4gICAgICAgICAgICB9XFxuICAgICAgICAgICAgcmV0dXJuIG5ldyBGYWtlQmxvYih0aGlzLmRhdGEuc2xpY2Uoc3RhcnQsIGFyZ3MgPiAxID8gZW5kIDogdGhpcy5kYXRhLmxlbmd0aCksIHR5cGUsIHRoaXMuZW5jb2RpbmcpO1xcbiAgICAgICAgfTtcXG4gICAgICAgIEZCX3Byb3RvLnRvU3RyaW5nID0gZnVuY3Rpb24gKCkge1xcbiAgICAgICAgICAgIHJldHVybiBcXFwiW29iamVjdCBCbG9iXVxcXCI7XFxuICAgICAgICB9O1xcbiAgICAgICAgRkJfcHJvdG8uY2xvc2UgPSBmdW5jdGlvbiAoKSB7XFxuICAgICAgICAgICAgdGhpcy5zaXplID0gdGhpcy5kYXRhLmxlbmd0aCA9IDA7XFxuICAgICAgICB9O1xcbiAgICAgICAgcmV0dXJuIEZha2VCbG9iQnVpbGRlcjtcXG4gICAgfSh2aWV3KTtcXG5cXG4gICAgdmlldy5CbG9iID0gZnVuY3Rpb24gQmxvYihibG9iUGFydHMsIG9wdGlvbnMpIHtcXG4gICAgICAgIHZhciB0eXBlID0gb3B0aW9ucyA/IG9wdGlvbnMudHlwZSB8fCBcXFwiXFxcIiA6IFxcXCJcXFwiO1xcbiAgICAgICAgdmFyIGJ1aWxkZXIgPSBuZXcgQmxvYkJ1aWxkZXIoKTtcXG4gICAgICAgIGlmIChibG9iUGFydHMpIHtcXG4gICAgICAgICAgICBmb3IgKHZhciBpID0gMCwgbGVuID0gYmxvYlBhcnRzLmxlbmd0aDsgaSA8IGxlbjsgaSsrKSB7XFxuICAgICAgICAgICAgICAgIGJ1aWxkZXIuYXBwZW5kKGJsb2JQYXJ0c1tpXSk7XFxuICAgICAgICAgICAgfVxcbiAgICAgICAgfVxcbiAgICAgICAgcmV0dXJuIGJ1aWxkZXIuZ2V0QmxvYih0eXBlKTtcXG4gICAgfTtcXG59KSh0eXBlb2Ygc2VsZiAhPT0gXFxcInVuZGVmaW5lZFxcXCIgJiYgc2VsZiB8fCB0eXBlb2Ygd2luZG93ICE9PSBcXFwidW5kZWZpbmVkXFxcIiAmJiB3aW5kb3cgfHwgdGhpcy5jb250ZW50IHx8IHRoaXMpO1wiXG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9ub2RlX21vZHVsZXMvcmF3LWxvYWRlciEuL25vZGVfbW9kdWxlcy9iYWJlbC1sb2FkZXIvbGliIS4vc3JjL2NvbW1vbi9CbG9iLmpzXG4vLyBtb2R1bGUgaWQgPSBweDZaXG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJtYXBwaW5ncyI6IkFBQUEiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///px6Z\n')},wvCI:function(module,exports,__webpack_require__){eval('__webpack_require__("P+fo")(__webpack_require__("px6Z"))//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid3ZDSS5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL3NyYy9jb21tb24vQmxvYi5qcz8zZmMxIl0sInNvdXJjZXNDb250ZW50IjpbInJlcXVpcmUoXCIhIUY6XFxcXGNvY29yb2JvXFxcXHBibC10ZWFjaGVyLXRhYmxlXFxcXG5vZGVfbW9kdWxlc1xcXFxzY3JpcHQtbG9hZGVyXFxcXGFkZFNjcmlwdC5qc1wiKShyZXF1aXJlKFwiISFGOlxcXFxjb2Nvcm9ib1xcXFxwYmwtdGVhY2hlci10YWJsZVxcXFxub2RlX21vZHVsZXNcXFxccmF3LWxvYWRlclxcXFxpbmRleC5qcyFGOlxcXFxjb2Nvcm9ib1xcXFxwYmwtdGVhY2hlci10YWJsZVxcXFxub2RlX21vZHVsZXNcXFxcYmFiZWwtbG9hZGVyXFxcXGxpYlxcXFxpbmRleC5qcyFGOlxcXFxjb2Nvcm9ib1xcXFxwYmwtdGVhY2hlci10YWJsZVxcXFxzcmNcXFxcY29tbW9uXFxcXEJsb2IuanNcIikpXG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9ub2RlX21vZHVsZXMvc2NyaXB0LWxvYWRlciEuL3NyYy9jb21tb24vQmxvYi5qc1xuLy8gbW9kdWxlIGlkID0gd3ZDSVxuLy8gbW9kdWxlIGNodW5rcyA9IDAiXSwibWFwcGluZ3MiOiJBQUFBIiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///wvCI\n')}});