svg-paper
Version:
The world's most maintainable way to create paper-printable documents 🖨💘
2 lines • 68.8 kB
JavaScript
!function(D,u){"object"==typeof exports&&"object"==typeof module?module.exports=u():"function"==typeof define&&define.amd?define([],u):"object"==typeof exports?exports.SvgPaper=u():D.SvgPaper=u()}(window,(function(){return function(D){var u={};function F(t){if(u[t])return u[t].exports;var e=u[t]={i:t,l:!1,exports:{}};return D[t].call(e.exports,e,e.exports,F),e.l=!0,e.exports}return F.m=D,F.c=u,F.d=function(D,u,t){F.o(D,u)||Object.defineProperty(D,u,{enumerable:!0,get:t})},F.r=function(D){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(D,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(D,"__esModule",{value:!0})},F.t=function(D,u){if(1&u&&(D=F(D)),8&u)return D;if(4&u&&"object"==typeof D&&D&&D.__esModule)return D;var t=Object.create(null);if(F.r(t),Object.defineProperty(t,"default",{enumerable:!0,value:D}),2&u&&"string"!=typeof D)for(var e in D)F.d(t,e,function(u){return D[u]}.bind(null,e));return t},F.n=function(D){var u=D&&D.__esModule?function(){return D.default}:function(){return D};return F.d(u,"a",u),u},F.o=function(D,u){return Object.prototype.hasOwnProperty.call(D,u)},F.p="",F(F.s=2)}([function(D,u,F){"use strict";var t=F(4),e=F(6),C=F(7),E=function(D){if("string"!=typeof D||0===D.length)return 0;if(0===(D=t(D)).length)return 0;D=D.replace(C()," ");for(var u=0,F=0;F<D.length;F++){var E=D.codePointAt(F);E<=31||E>=127&&E<=159||(E>=768&&E<=879||(E>65535&&F++,u+=e(E)?2:1))}return u};D.exports=E,D.exports.default=E},function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_exports__.a=function(textSvg){var fixedTextSvg=textSvg;fixedTextSvg.match(/<text [^>]*transform="[^"]*"[^>]*>/)||(fixedTextSvg=fixedTextSvg.replace(new RegExp("<text([^>]*)>"),'<text$1 transform="translate(0 0)">')),fixedTextSvg.match(/<tspan [^>]*x="[^"]*"[^>]*>/)||(fixedTextSvg=fixedTextSvg.replace(new RegExp("<tspan([^>]*)>"),'<tspan$1 x="0">')),fixedTextSvg.match(/<tspan [^>]*y="[^"]*"[^>]*>/)||(fixedTextSvg=fixedTextSvg.replace(new RegExp("<tspan([^>]*)>"),'<tspan$1 y="0">')),fixedTextSvg=fixedTextSvg.replace(new RegExp('<text([\\s\\S]+)transform="translate\\((\\S+)\\s+(.+)\\)"([^>]*)>s*<tspan([^>]+)x="([^"]+)"'),'<text$1transform="translate(###$2+$6### $3)"$4><tspan$5x="0"');var expression1=fixedTextSvg.match(new RegExp('<text[\\s\\S]+transform="translate\\(###(.+)###.+\\)"'))[1],x=expression1.match(/\d+\+\d+/)?eval(expression1):0;fixedTextSvg=fixedTextSvg.replace(new RegExp('<text([\\s\\S]+)transform="translate\\(###.+###(.+)\\)"'),'<text$1transform="translate('.concat(x,'$2)"')),fixedTextSvg=fixedTextSvg.replace(new RegExp('<text([\\s\\S]+)transform="translate\\((.+)\\s+(\\S+)\\)"([^>]*)>s*<tspan([^>]+)y="([^"]+)"'),'<text$1transform="translate($2 ###$3+$6###)"$4><tspan$5y="0"');var expression2=fixedTextSvg.match(new RegExp('<text[\\s\\S]+transform="translate\\(.+###(.+)###\\)"'))[1],y=expression2.match(/\d+\+\d+/)?eval(expression2):0;return fixedTextSvg=fixedTextSvg.replace(new RegExp('<text([\\s\\S]+)transform="translate\\((.+)###.+###\\)"'),'<text$1transform="translate($2'.concat(y,')"')),fixedTextSvg}},function(D,u,F){F(3),D.exports=F(8)},function(D,u,F){"use strict";F.r(u)},function(D,u,F){"use strict";var t=F(5);D.exports=function(D){return"string"==typeof D?D.replace(t(),""):D}},function(D,u,F){"use strict";D.exports=function(){var D=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},u=D.onlyFirst,F=void 0!==u&&u,t=["[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:[a-zA-Z\\d]*(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?\\u0007)","(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TZcf-ntqry=><~]))"].join("|");return new RegExp(t,F?void 0:"g")}},function(D,u,F){"use strict";var t=function(D){return!Number.isNaN(D)&&(D>=4352&&(D<=4447||9001===D||9002===D||11904<=D&&D<=12871&&12351!==D||12880<=D&&D<=19903||19968<=D&&D<=42182||43360<=D&&D<=43388||44032<=D&&D<=55203||63744<=D&&D<=64255||65040<=D&&D<=65049||65072<=D&&D<=65131||65281<=D&&D<=65376||65504<=D&&D<=65510||110592<=D&&D<=110593||127488<=D&&D<=127569||131072<=D&&D<=262141))};D.exports=t,D.exports.default=t},function(D,u,F){"use strict";D.exports=function(){return/\uD83C\uDFF4\uDB40\uDC67\uDB40\uDC62(?:\uDB40\uDC65\uDB40\uDC6E\uDB40\uDC67|\uDB40\uDC73\uDB40\uDC63\uDB40\uDC74|\uDB40\uDC77\uDB40\uDC6C\uDB40\uDC73)\uDB40\uDC7F|\uD83D\uDC68(?:\uD83C\uDFFC\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68\uD83C\uDFFB|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFE])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFE\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFD])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFC])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83D\uDC68|(?:\uD83D[\uDC68\uDC69])\u200D(?:\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67]))|\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67])|(?:\uD83D[\uDC68\uDC69])\u200D(?:\uD83D[\uDC66\uDC67])|[\u2695\u2696\u2708]\uFE0F|\uD83D[\uDC66\uDC67]|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|(?:\uD83C\uDFFB\u200D[\u2695\u2696\u2708]|\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708])\uFE0F|\uD83C\uDFFB\u200D(?:\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C[\uDFFB-\uDFFF])|(?:\uD83E\uDDD1\uD83C\uDFFB\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFC\u200D\uD83E\uDD1D\u200D\uD83D\uDC69)\uD83C\uDFFB|\uD83E\uDDD1(?:\uD83C\uDFFF\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1(?:\uD83C[\uDFFB-\uDFFF])|\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1)|(?:\uD83E\uDDD1\uD83C\uDFFE\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFF\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB-\uDFFE])|(?:\uD83E\uDDD1\uD83C\uDFFC\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFD\u200D\uD83E\uDD1D\u200D\uD83D\uDC69)(?:\uD83C[\uDFFB\uDFFC])|\uD83D\uDC69(?:\uD83C\uDFFE\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFD\uDFFF])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFC\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFD-\uDFFF])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFB\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFC-\uDFFF])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D(?:\uD83D[\uDC68\uDC69])|\uD83D[\uDC68\uDC69])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD]))|\uD83D\uDC69\u200D\uD83D\uDC69\u200D(?:\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67]))|(?:\uD83E\uDDD1\uD83C\uDFFD\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFE\u200D\uD83E\uDD1D\u200D\uD83D\uDC69)(?:\uD83C[\uDFFB-\uDFFD])|\uD83D\uDC69\u200D\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC69\u200D\uD83D\uDC69\u200D(?:\uD83D[\uDC66\uDC67])|(?:\uD83D\uDC41\uFE0F\u200D\uD83D\uDDE8|\uD83D\uDC69(?:\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708]|\uD83C\uDFFB\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\u200D[\u2695\u2696\u2708])|(?:(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)\uFE0F|\uD83D\uDC6F|\uD83E[\uDD3C\uDDDE\uDDDF])\u200D[\u2640\u2642]|(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)(?:\uD83C[\uDFFB-\uDFFF])\u200D[\u2640\u2642]|(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD6-\uDDDD])(?:(?:\uD83C[\uDFFB-\uDFFF])\u200D[\u2640\u2642]|\u200D[\u2640\u2642])|\uD83C\uDFF4\u200D\u2620)\uFE0F|\uD83D\uDC69\u200D\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67])|\uD83C\uDFF3\uFE0F\u200D\uD83C\uDF08|\uD83D\uDC15\u200D\uD83E\uDDBA|\uD83D\uDC69\u200D\uD83D\uDC66|\uD83D\uDC69\u200D\uD83D\uDC67|\uD83C\uDDFD\uD83C\uDDF0|\uD83C\uDDF4\uD83C\uDDF2|\uD83C\uDDF6\uD83C\uDDE6|[#\*0-9]\uFE0F\u20E3|\uD83C\uDDE7(?:\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEF\uDDF1-\uDDF4\uDDF6-\uDDF9\uDDFB\uDDFC\uDDFE\uDDFF])|\uD83C\uDDF9(?:\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDED\uDDEF-\uDDF4\uDDF7\uDDF9\uDDFB\uDDFC\uDDFF])|\uD83C\uDDEA(?:\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDED\uDDF7-\uDDFA])|\uD83E\uDDD1(?:\uD83C[\uDFFB-\uDFFF])|\uD83C\uDDF7(?:\uD83C[\uDDEA\uDDF4\uDDF8\uDDFA\uDDFC])|\uD83D\uDC69(?:\uD83C[\uDFFB-\uDFFF])|\uD83C\uDDF2(?:\uD83C[\uDDE6\uDDE8-\uDDED\uDDF0-\uDDFF])|\uD83C\uDDE6(?:\uD83C[\uDDE8-\uDDEC\uDDEE\uDDF1\uDDF2\uDDF4\uDDF6-\uDDFA\uDDFC\uDDFD\uDDFF])|\uD83C\uDDF0(?:\uD83C[\uDDEA\uDDEC-\uDDEE\uDDF2\uDDF3\uDDF5\uDDF7\uDDFC\uDDFE\uDDFF])|\uD83C\uDDED(?:\uD83C[\uDDF0\uDDF2\uDDF3\uDDF7\uDDF9\uDDFA])|\uD83C\uDDE9(?:\uD83C[\uDDEA\uDDEC\uDDEF\uDDF0\uDDF2\uDDF4\uDDFF])|\uD83C\uDDFE(?:\uD83C[\uDDEA\uDDF9])|\uD83C\uDDEC(?:\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEE\uDDF1-\uDDF3\uDDF5-\uDDFA\uDDFC\uDDFE])|\uD83C\uDDF8(?:\uD83C[\uDDE6-\uDDEA\uDDEC-\uDDF4\uDDF7-\uDDF9\uDDFB\uDDFD-\uDDFF])|\uD83C\uDDEB(?:\uD83C[\uDDEE-\uDDF0\uDDF2\uDDF4\uDDF7])|\uD83C\uDDF5(?:\uD83C[\uDDE6\uDDEA-\uDDED\uDDF0-\uDDF3\uDDF7-\uDDF9\uDDFC\uDDFE])|\uD83C\uDDFB(?:\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDEE\uDDF3\uDDFA])|\uD83C\uDDF3(?:\uD83C[\uDDE6\uDDE8\uDDEA-\uDDEC\uDDEE\uDDF1\uDDF4\uDDF5\uDDF7\uDDFA\uDDFF])|\uD83C\uDDE8(?:\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDEE\uDDF0-\uDDF5\uDDF7\uDDFA-\uDDFF])|\uD83C\uDDF1(?:\uD83C[\uDDE6-\uDDE8\uDDEE\uDDF0\uDDF7-\uDDFB\uDDFE])|\uD83C\uDDFF(?:\uD83C[\uDDE6\uDDF2\uDDFC])|\uD83C\uDDFC(?:\uD83C[\uDDEB\uDDF8])|\uD83C\uDDFA(?:\uD83C[\uDDE6\uDDEC\uDDF2\uDDF3\uDDF8\uDDFE\uDDFF])|\uD83C\uDDEE(?:\uD83C[\uDDE8-\uDDEA\uDDF1-\uDDF4\uDDF6-\uDDF9])|\uD83C\uDDEF(?:\uD83C[\uDDEA\uDDF2\uDDF4\uDDF5])|(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD6-\uDDDD])(?:\uD83C[\uDFFB-\uDFFF])|(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)(?:\uD83C[\uDFFB-\uDFFF])|(?:[\u261D\u270A-\u270D]|\uD83C[\uDF85\uDFC2\uDFC7]|\uD83D[\uDC42\uDC43\uDC46-\uDC50\uDC66\uDC67\uDC6B-\uDC6D\uDC70\uDC72\uDC74-\uDC76\uDC78\uDC7C\uDC83\uDC85\uDCAA\uDD74\uDD7A\uDD90\uDD95\uDD96\uDE4C\uDE4F\uDEC0\uDECC]|\uD83E[\uDD0F\uDD18-\uDD1C\uDD1E\uDD1F\uDD30-\uDD36\uDDB5\uDDB6\uDDBB\uDDD2-\uDDD5])(?:\uD83C[\uDFFB-\uDFFF])|(?:[\u231A\u231B\u23E9-\u23EC\u23F0\u23F3\u25FD\u25FE\u2614\u2615\u2648-\u2653\u267F\u2693\u26A1\u26AA\u26AB\u26BD\u26BE\u26C4\u26C5\u26CE\u26D4\u26EA\u26F2\u26F3\u26F5\u26FA\u26FD\u2705\u270A\u270B\u2728\u274C\u274E\u2753-\u2755\u2757\u2795-\u2797\u27B0\u27BF\u2B1B\u2B1C\u2B50\u2B55]|\uD83C[\uDC04\uDCCF\uDD8E\uDD91-\uDD9A\uDDE6-\uDDFF\uDE01\uDE1A\uDE2F\uDE32-\uDE36\uDE38-\uDE3A\uDE50\uDE51\uDF00-\uDF20\uDF2D-\uDF35\uDF37-\uDF7C\uDF7E-\uDF93\uDFA0-\uDFCA\uDFCF-\uDFD3\uDFE0-\uDFF0\uDFF4\uDFF8-\uDFFF]|\uD83D[\uDC00-\uDC3E\uDC40\uDC42-\uDCFC\uDCFF-\uDD3D\uDD4B-\uDD4E\uDD50-\uDD67\uDD7A\uDD95\uDD96\uDDA4\uDDFB-\uDE4F\uDE80-\uDEC5\uDECC\uDED0-\uDED2\uDED5\uDEEB\uDEEC\uDEF4-\uDEFA\uDFE0-\uDFEB]|\uD83E[\uDD0D-\uDD3A\uDD3C-\uDD45\uDD47-\uDD71\uDD73-\uDD76\uDD7A-\uDDA2\uDDA5-\uDDAA\uDDAE-\uDDCA\uDDCD-\uDDFF\uDE70-\uDE73\uDE78-\uDE7A\uDE80-\uDE82\uDE90-\uDE95])|(?:[#\*0-9\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u231A\u231B\u2328\u23CF\u23E9-\u23F3\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB-\u25FE\u2600-\u2604\u260E\u2611\u2614\u2615\u2618\u261D\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u2648-\u2653\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u267F\u2692-\u2697\u2699\u269B\u269C\u26A0\u26A1\u26AA\u26AB\u26B0\u26B1\u26BD\u26BE\u26C4\u26C5\u26C8\u26CE\u26CF\u26D1\u26D3\u26D4\u26E9\u26EA\u26F0-\u26F5\u26F7-\u26FA\u26FD\u2702\u2705\u2708-\u270D\u270F\u2712\u2714\u2716\u271D\u2721\u2728\u2733\u2734\u2744\u2747\u274C\u274E\u2753-\u2755\u2757\u2763\u2764\u2795-\u2797\u27A1\u27B0\u27BF\u2934\u2935\u2B05-\u2B07\u2B1B\u2B1C\u2B50\u2B55\u3030\u303D\u3297\u3299]|\uD83C[\uDC04\uDCCF\uDD70\uDD71\uDD7E\uDD7F\uDD8E\uDD91-\uDD9A\uDDE6-\uDDFF\uDE01\uDE02\uDE1A\uDE2F\uDE32-\uDE3A\uDE50\uDE51\uDF00-\uDF21\uDF24-\uDF93\uDF96\uDF97\uDF99-\uDF9B\uDF9E-\uDFF0\uDFF3-\uDFF5\uDFF7-\uDFFF]|\uD83D[\uDC00-\uDCFD\uDCFF-\uDD3D\uDD49-\uDD4E\uDD50-\uDD67\uDD6F\uDD70\uDD73-\uDD7A\uDD87\uDD8A-\uDD8D\uDD90\uDD95\uDD96\uDDA4\uDDA5\uDDA8\uDDB1\uDDB2\uDDBC\uDDC2-\uDDC4\uDDD1-\uDDD3\uDDDC-\uDDDE\uDDE1\uDDE3\uDDE8\uDDEF\uDDF3\uDDFA-\uDE4F\uDE80-\uDEC5\uDECB-\uDED2\uDED5\uDEE0-\uDEE5\uDEE9\uDEEB\uDEEC\uDEF0\uDEF3-\uDEFA\uDFE0-\uDFEB]|\uD83E[\uDD0D-\uDD3A\uDD3C-\uDD45\uDD47-\uDD71\uDD73-\uDD76\uDD7A-\uDDA2\uDDA5-\uDDAA\uDDAE-\uDDCA\uDDCD-\uDDFF\uDE70-\uDE73\uDE78-\uDE7A\uDE80-\uDE82\uDE90-\uDE95])\uFE0F|(?:[\u261D\u26F9\u270A-\u270D]|\uD83C[\uDF85\uDFC2-\uDFC4\uDFC7\uDFCA-\uDFCC]|\uD83D[\uDC42\uDC43\uDC46-\uDC50\uDC66-\uDC78\uDC7C\uDC81-\uDC83\uDC85-\uDC87\uDC8F\uDC91\uDCAA\uDD74\uDD75\uDD7A\uDD90\uDD95\uDD96\uDE45-\uDE47\uDE4B-\uDE4F\uDEA3\uDEB4-\uDEB6\uDEC0\uDECC]|\uD83E[\uDD0F\uDD18-\uDD1F\uDD26\uDD30-\uDD39\uDD3C-\uDD3E\uDDB5\uDDB6\uDDB8\uDDB9\uDDBB\uDDCD-\uDDCF\uDDD1-\uDDDD])/g}},function(D,u,F){"use strict";F.r(u),F.d(u,"default",(function(){return s}));var t=F(0),e=F.n(t),C=function(D,u,F){for(var t=0,C="",E=u;;E++){var r=D.substr(E,1);if((t+=e()(r))<=F&&E<=D.length&&(C+=r),t>=F||E>=D.length)return C}},E=function(D,u){for(var F=[];;){var t=C(D,0,u);if(F.push(t),!(D=D.replace(t,"")))break}return F},r=F(1),n=function(D,u,F,t){var e=arguments.length>4&&void 0!==arguments[4]?arguments[4]:1.2,C=arguments.length>5&&void 0!==arguments[5]?arguments[5]:.5,n=arguments.length>6&&void 0!==arguments[6]?arguments[6]:.5,a=arguments.length>7&&void 0!==arguments[7]&&arguments[7];if(!D.match(new RegExp('<text [^>]*font-size="\\d+"[^>]*><tspan( [^>]*>|>)[^<>]*</tspan></text>')))return console.error("Invalid svg string of text element",D),D;for(var o=parseInt(D.match(/.+font-size="(\d+)".+/)[1]),s=o,B=u.split("\n"),i=[],c=function(){var D=Math.floor((t-2*s*n)/(s*e)),u=Math.floor((F-2*s*C)/s);if(a?i=B:(i=[],B.forEach((function(D){i=i.concat(E(D,2*u))}))),!(i.length>D))return"break";s*=.95};;){var A=c();if("break"===A)break}var l=s-o,f=Object(r.a)(D);f=(f=f.replace(new RegExp("<tspan(.|\\s)+</text>"),"")).replace(new RegExp('font-size="\\d+"'),'font-size="'.concat(s,'"')),f+="{tspan}</text>";var x="",p=s*C;return i.forEach((function(D,u){var F=l+s*(n+u*e);x+='<tspan x="'.concat(p,'" y="').concat(F,'">').concat(D,"</tspan>")})),f=f.replace("{tspan}",x)};function a(D,u){if(!(D instanceof u))throw new TypeError("Cannot call a class as a function")}function o(D,u){for(var F=0;F<u.length;F++){var t=u[F];t.enumerable=t.enumerable||!1,t.configurable=!0,"value"in t&&(t.writable=!0),Object.defineProperty(D,t.key,t)}}var s=function(){function D(){var u=arguments.length>0&&void 0!==arguments[0]?arguments[0]:".paper svg";if(a(this,D),!document.querySelector(u))throw new Error("Invalid selector");this.selector=u,this.svg=document.querySelector(u).outerHTML.replace(/[\r|\n]+/g,"\n"),this.adjustTextQueries=[]}var u,F,t;return u=D,(F=[{key:"replace",value:function(D,u){return D instanceof RegExp?D=new RegExp(D.source,D.flags.replace(/g/g,"")+"g"):(D=(D=D.replace(/[\r|\n]+/g,"\n")).replace(/[.*+?^=!:${}()|[\]\/\\]/g,"\\$&"),D=new RegExp(D,"g")),u=(u=null!=u?u+"":"").replace(/[\r|\n]+/g,"\n"),this.svg=this.svg.replace(D,u),this}},{key:"adjustText",value:function(D){var u=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,F=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"start";return this.adjustTextQueries.push({selector:D,textLength:u,textAnchor:F}),this}},{key:"adjustTextarea",value:function(D,u,F){var t=arguments.length>3&&void 0!==arguments[3]?arguments[3]:1.2,e=arguments.length>4&&void 0!==arguments[4]?arguments[4]:.5,C=arguments.length>5&&void 0!==arguments[5]?arguments[5]:.5,E=arguments.length>6&&void 0!==arguments[6]&&arguments[6],r=(new DOMParser).parseFromString(this.svg,"text/html"),a=r.querySelector(D);if(!a)return this;var o=a.outerHTML,s=a.innerHTML.replace(new RegExp("^<tspan[^>]*>([\\S|\\s]*)</tspan>$"),"$1"),B=n(o,s,u,F,t,e,C,E);return this.replace(o,B),this}},{key:"apply",value:function(){var D=this;this.svg!==document.querySelector(this.selector).outerHTML&&(document.querySelector(this.selector).outerHTML=this.svg),this.adjustTextQueries.forEach((function(u){var F,t,e=document.querySelector(D.selector),C=null!==(F=null===(t=e.getAttribute("viewBox"))||void 0===t?void 0:t.split(/ +/)[2])&&void 0!==F?F:null;!function(D,u,F){var t=document.querySelector(u);if(t&&(F.textLength&&(t.style.display="block",t.getBoundingClientRect().width*D>F.textLength&&(t.querySelector("tspan").setAttribute("textLength",F.textLength),t.querySelector("tspan").setAttribute("lengthAdjust","spacingAndGlyphs"),t.setAttribute("textLength",F.textLength),t.setAttribute("lengthAdjust","spacingAndGlyphs"))),F["text-anchor"]&&"start"!==F["text-anchor"])){var e=parseFloat(F.textLength),C=0,E=0;t.getAttribute("transform")&&(C=parseFloat(t.getAttribute("transform").match(/translate\((\S+) .+\)/)[1]),E=parseFloat(t.getAttribute("transform").match(/translate\(\S+ (.+)\)/)[1])),"middle"===F["text-anchor"]&&t.setAttribute("transform","translate(".concat(C+e/2," ").concat(E,")")),"end"===F["text-anchor"]&&t.setAttribute("transform","translate(".concat(C+e," ").concat(E,")")),t.setAttribute("text-anchor",F["text-anchor"])}}(C?parseFloat(C)/e.getBoundingClientRect().width:1,u.selector,{textLength:u.textLength,"text-anchor":u.textAnchor})})),this.svg=document.querySelector(this.selector).outerHTML,this.adjustTextQueries=[]}}])&&o(u.prototype,F),t&&o(u,t),D}()}]).default}));
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9TdmdQYXBlci93ZWJwYWNrL3VuaXZlcnNhbE1vZHVsZURlZmluaXRpb24iLCJ3ZWJwYWNrOi8vU3ZnUGFwZXIvd2VicGFjay9ib290c3RyYXAiLCJ3ZWJwYWNrOi8vU3ZnUGFwZXIvLi9ub2RlX21vZHVsZXMvc3RyaW5nLXdpZHRoL2luZGV4LmpzIiwid2VicGFjazovL1N2Z1BhcGVyLy4vanMvc3JjL3V0aWxpdHkvZml4LXRleHQtdHJhbnNmb3JtLmpzIiwid2VicGFjazovL1N2Z1BhcGVyLy4vc2Nzcy9zdmctcGFwZXIuc2Nzcz9mOWQyIiwid2VicGFjazovL1N2Z1BhcGVyLy4vbm9kZV9tb2R1bGVzL3N0cmlwLWFuc2kvaW5kZXguanMiLCJ3ZWJwYWNrOi8vU3ZnUGFwZXIvLi9ub2RlX21vZHVsZXMvc3RyaXAtYW5zaS9ub2RlX21vZHVsZXMvYW5zaS1yZWdleC9pbmRleC5qcyIsIndlYnBhY2s6Ly9TdmdQYXBlci8uL25vZGVfbW9kdWxlcy9zdHJpbmctd2lkdGgvbm9kZV9tb2R1bGVzL2lzLWZ1bGx3aWR0aC1jb2RlLXBvaW50L2luZGV4LmpzIiwid2VicGFjazovL1N2Z1BhcGVyLy4vbm9kZV9tb2R1bGVzL2Vtb2ppLXJlZ2V4L2luZGV4LmpzIiwid2VicGFjazovL1N2Z1BhcGVyLy4vanMvc3JjL2FkanVzdC10ZXh0LmpzIiwid2VicGFjazovL1N2Z1BhcGVyLy4vanMvc3JjL3V0aWxpdHkvc3ViLXN0cmluZy1ieS13aWR0aC5qcyIsIndlYnBhY2s6Ly9TdmdQYXBlci8uL2pzL3NyYy91dGlsaXR5L3NwbGl0LXN0cmluZy1ieS13aWR0aC5qcyIsIndlYnBhY2s6Ly9TdmdQYXBlci8uL2pzL3NyYy9hZGp1c3QtdGV4dGFyZWEuanMiLCJ3ZWJwYWNrOi8vU3ZnUGFwZXIvLi9qcy9zcmMvc3ZnLXBhcGVyLmpzIl0sIm5hbWVzIjpbInJvb3QiLCJmYWN0b3J5IiwiZXhwb3J0cyIsIm1vZHVsZSIsImRlZmluZSIsImFtZCIsIndpbmRvdyIsImluc3RhbGxlZE1vZHVsZXMiLCJfX3dlYnBhY2tfcmVxdWlyZV9fIiwibW9kdWxlSWQiLCJpIiwibCIsIm1vZHVsZXMiLCJjYWxsIiwibSIsImMiLCJkIiwibmFtZSIsImdldHRlciIsIm8iLCJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImVudW1lcmFibGUiLCJnZXQiLCJyIiwiU3ltYm9sIiwidG9TdHJpbmdUYWciLCJ2YWx1ZSIsInQiLCJtb2RlIiwiX19lc01vZHVsZSIsIm5zIiwiY3JlYXRlIiwia2V5IiwiYmluZCIsIm4iLCJvYmplY3QiLCJwcm9wZXJ0eSIsInByb3RvdHlwZSIsImhhc093blByb3BlcnR5IiwicCIsInMiLCJzdHJpcEFuc2kiLCJyZXF1aXJlIiwiaXNGdWxsd2lkdGhDb2RlUG9pbnQiLCJlbW9qaVJlZ2V4Iiwic3RyaW5nV2lkdGgiLCJzdHJpbmciLCJsZW5ndGgiLCJyZXBsYWNlIiwid2lkdGgiLCJjb2RlIiwiY29kZVBvaW50QXQiLCJ0ZXh0U3ZnIiwiZml4ZWRUZXh0U3ZnIiwibWF0Y2giLCJSZWdFeHAiLCJleHByZXNzaW9uMSIsIngiLCJldmFsIiwiZXhwcmVzc2lvbjIiLCJ5IiwiYW5zaVJlZ2V4Iiwib25seUZpcnN0IiwicGF0dGVybiIsImpvaW4iLCJ1bmRlZmluZWQiLCJjb2RlUG9pbnQiLCJOdW1iZXIiLCJpc05hTiIsInN0YXJ0IiwiY3VycmVudFdpZHRoIiwic3ViU3RyaW5nIiwiY2hhciIsInN1YnN0ciIsInNwbGl0cyIsInNwbGl0Iiwic3ViU3RyaW5nQnlXaWR0aCIsInB1c2giLCJ0ZXh0Q29udGVudCIsImhlaWdodCIsImxpbmVIZWlnaHQiLCJwYWRkaW5nWCIsInBhZGRpbmdZIiwibm93cmFwIiwiY29uc29sZSIsImVycm9yIiwib3JpZ2luYWxGb250U2l6ZSIsInBhcnNlSW50IiwiZm9udFNpemUiLCJwaHlzaWNhbExpbmVzIiwibG9naWNhbExpbmVzIiwibWF4Um93cyIsIk1hdGgiLCJmbG9vciIsIm1heENvbHVtbnMiLCJmb3JFYWNoIiwibGluZSIsImNvbmNhdCIsInNwbGl0U3RyaW5nQnlXaWR0aCIsImFkanVzdFkiLCJhZGp1c3RlZFRleHRTdmciLCJmaXhUZXh0VHJhbnNmb3JtIiwidHNwYW4iLCJTdmdQYXBlciIsInNlbGVjdG9yIiwiZG9jdW1lbnQiLCJxdWVyeVNlbGVjdG9yIiwiRXJyb3IiLCJ0aGlzIiwic3ZnIiwib3V0ZXJIVE1MIiwiYWRqdXN0VGV4dFF1ZXJpZXMiLCJzZWFyY2giLCJyZXBsYWNlbWVudCIsInNvdXJjZSIsImZsYWdzIiwidGV4dExlbmd0aCIsInRleHRBbmNob3IiLCJkb2MiLCJET01QYXJzZXIiLCJwYXJzZUZyb21TdHJpbmciLCJ0ZXh0RWxlbWVudCIsImlubmVySFRNTCIsImFkanVzdFRleHRhcmVhIiwicXVlcnkiLCIkc3ZnIiwidmlld0JveFdpZHRoIiwiZ2V0QXR0cmlidXRlIiwicGFwZXJQaXhlbFJhdGlvIiwiY29uZmlnIiwiJHRoaXMiLCJzdHlsZSIsImRpc3BsYXkiLCJnZXRCb3VuZGluZ0NsaWVudFJlY3QiLCJzZXRBdHRyaWJ1dGUiLCJ3IiwicGFyc2VGbG9hdCIsImFkanVzdFRleHQiXSwibWFwcGluZ3MiOiJDQUFBLFNBQTJDQSxFQUFNQyxHQUMxQixpQkFBWkMsU0FBMEMsaUJBQVhDLE9BQ3hDQSxPQUFPRCxRQUFVRCxJQUNRLG1CQUFYRyxRQUF5QkEsT0FBT0MsSUFDOUNELE9BQU8sR0FBSUgsR0FDZSxpQkFBWkMsUUFDZEEsUUFBa0IsU0FBSUQsSUFFdEJELEVBQWUsU0FBSUMsSUFSckIsQ0FTR0ssUUFBUSxXQUNYLE8sWUNURSxJQUFJQyxFQUFtQixHQUd2QixTQUFTQyxFQUFvQkMsR0FHNUIsR0FBR0YsRUFBaUJFLEdBQ25CLE9BQU9GLEVBQWlCRSxHQUFVUCxRQUduQyxJQUFJQyxFQUFTSSxFQUFpQkUsR0FBWSxDQUN6Q0MsRUFBR0QsRUFDSEUsR0FBRyxFQUNIVCxRQUFTLElBVVYsT0FOQVUsRUFBUUgsR0FBVUksS0FBS1YsRUFBT0QsUUFBU0MsRUFBUUEsRUFBT0QsUUFBU00s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b2R1bGVEZWZpbml0aW9uKHJvb3QsIGZhY3RvcnkpIHtcblx0aWYodHlwZW9mIGV4cG9ydHMgPT09ICdvYmplY3QnICYmIHR5cGVvZiBtb2R1bGUgPT09ICdvYmplY3QnKVxuXHRcdG1vZHVsZS5leHBvcnRzID0gZmFjdG9yeSgpO1xuXHRlbHNlIGlmKHR5cGVvZiBkZWZpbmUgPT09ICdmdW5jdGlvbicgJiYgZGVmaW5lLmFtZClcblx0XHRkZWZpbmUoW10sIGZhY3RvcnkpO1xuXHRlbHNlIGlmKHR5cGVvZiBleHBvcnRzID09PSAnb2JqZWN0Jylcblx0XHRleHBvcnRzW1wiU3ZnUGFwZXJcIl0gPSBmYWN0b3J5KCk7XG5cdGVsc2Vcblx0XHRyb290W1wiU3ZnUGFwZXJcIl0gPSBmYWN0b3J5KCk7XG59KSh3aW5kb3csIGZ1bmN0aW9uKCkge1xucmV0dXJuICIsIiBcdC8vIFRoZSBtb2R1bGUgY2FjaGVcbiBcdHZhciBpbnN0YWxsZWRNb2R1bGVzID0ge307XG5cbiBcdC8vIFRoZSByZXF1aXJlIGZ1bmN0aW9uXG4gXHRmdW5jdGlvbiBfX3dlYnBhY2tfcmVxdWlyZV9fKG1vZHVsZUlkKSB7XG5cbiBcdFx0Ly8gQ2hlY2sgaWYgbW9kdWxlIGlzIGluIGNhY2hlXG4gXHRcdGlmKGluc3RhbGxlZE1vZHVsZXNbbW9kdWxlSWRdKSB7XG4gXHRcdFx0cmV0dXJuIGluc3RhbGxlZE1vZHVsZXNbbW9kdWxlSWRdLmV4cG9ydHM7XG4gXHRcdH1cbiBcdFx0Ly8gQ3JlYXRlIGEgbmV3IG1vZHVsZSAoYW5kIHB1dCBpdCBpbnRvIHRoZSBjYWNoZSlcbiBcdFx0dmFyIG1vZHVsZSA9IGluc3RhbGxlZE1vZHVsZXNbbW9kdWxlSWRdID0ge1xuIFx0XHRcdGk6IG1vZHVsZUlkLFxuIFx0XHRcdGw6IGZhbHNlLFxuIFx0XHRcdGV4cG9ydHM6IHt9XG4gXHRcdH07XG5cbiBcdFx0Ly8gRXhlY3V0ZSB0aGUgbW9kdWxlIGZ1bmN0aW9uXG4gXHRcdG1vZHVsZXNbbW9kdWxlSWRdLmNhbGwobW9kdWxlLmV4cG9ydHMsIG1vZHVsZSwgbW9kdWxlLmV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pO1xuXG4gXHRcdC8vIEZsYWcgdGhlIG1vZHVsZSBhcyBsb2FkZWRcbiBcdFx0bW9kdWxlLmwgPSB0cnVlO1xuXG4gXHRcdC8vIFJldHVybiB0aGUgZXhwb3J0cyBvZiB0aGUgbW9kdWxlXG4gXHRcdHJldHVybiBtb2R1bGUuZXhwb3J0cztcbiBcdH1cblxuXG4gXHQvLyBleHBvc2UgdGhlIG1vZHVsZXMgb2JqZWN0IChfX3dlYnBhY2tfbW9kdWxlc19fKVxuIFx0X193ZWJwYWNrX3JlcXVpcmVfXy5tID0gbW9kdWxlcztcblxuIFx0Ly8gZXhwb3NlIHRoZSBtb2R1bGUgY2FjaGVcbiBcdF9fd2VicGFja19yZXF1aXJlX18uYyA9IGluc3RhbGxlZE1vZHVsZXM7XG5cbiBcdC8vIGRlZmluZSBnZXR0ZXIgZnVuY3Rpb24gZm9yIGhhcm1vbnkgZXhwb3J0c1xuIFx0X193ZWJwYWNrX3JlcXVpcmVfXy5kID0gZnVuY3Rpb24oZXhwb3J0cywgbmFtZSwgZ2V0dGVyKSB7XG4gXHRcdGlmKCFfX3dlYnBhY2tfcmVxdWlyZV9fLm8oZXhwb3J0cywgbmFtZSkpIHtcbiBcdFx0XHRPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgbmFtZSwgeyBlbnVtZXJhYmxlOiB0cnVlLCBnZXQ6IGdldHRlciB9KTtcbiBcdFx0fVxuIFx0fTtcblxuIFx0Ly8gZGVmaW5lIF9fZXNNb2R1bGUgb24gZXhwb3J0c1xuIFx0X193ZWJwYWNrX3JlcXVpcmVfXy5yID0gZnVuY3Rpb24oZXhwb3J0cykge1xuIFx0XHRpZih0eXBlb2YgU3ltYm9sICE9PSAndW5kZWZpbmVkJyAmJiBTeW1ib2wudG9TdHJpbmdUYWcpIHtcbiBcdFx0XHRPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgU3ltYm9sLnRvU3RyaW5nVGFnLCB7IHZhbHVlOiAnTW9kdWxlJyB9KTtcbiBcdFx0fVxuIFx0XHRPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgJ19fZXNNb2R1bGUnLCB7IHZhbHVlOiB0cnVlIH0pO1xuIFx0fTtcblxuIFx0Ly8gY3JlYXRlIGEgZmFrZSBuYW1lc3BhY2Ugb2JqZWN0XG4gXHQvLyBtb2RlICYgMTogdmFsdWUgaXMgYSBtb2R1bGUgaWQsIHJlcXVpcmUgaXRcbiBcdC8vIG1vZGUgJiAyOiBtZXJnZSBhbGwgcHJvcGVydGllcyBvZiB2YWx1ZSBpbnRvIHRoZSBuc1xuIFx0Ly8gbW9kZSAmIDQ6IHJldHVybiB2YWx1ZSB3aGVuIGFscmVhZHkgbnMgb2JqZWN0XG4gXHQvLyBtb2RlICYgOHwxOiBiZWhhdmUgbGlrZSByZXF1aXJlXG4gXHRfX3dlYnBhY2tfcmVxdWlyZV9fLnQgPSBmdW5jdGlvbih2YWx1ZSwgbW9kZSkge1xuIFx0XHRpZihtb2RlICYgMSkgdmFsdWUgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKHZhbHVlKTtcbiBcdFx0aWYobW9kZSAmIDgpIHJldHVybiB2YWx1ZTtcbiBcdFx0aWYoKG1vZGUgJiA0KSAmJiB0eXBlb2YgdmFsdWUgPT09ICdvYmplY3QnICYmIHZhbHVlICYmIHZhbHVlLl9fZXNNb2R1bGUpIHJldHVybiB2YWx1ZTtcbiBcdFx0dmFyIG5zID0gT2JqZWN0LmNyZWF0ZShudWxsKTtcbiBcdFx0X193ZWJwYWNrX3JlcXVpcmVfXy5yKG5zKTtcbiBcdFx0T2JqZWN0LmRlZmluZVByb3BlcnR5KG5zLCAnZGVmYXVsdCcsIHsgZW51bWVyYWJsZTogdHJ1ZSwgdmFsdWU6IHZhbHVlIH0pO1xuIFx0XHRpZihtb2RlICYgMiAmJiB0eXBlb2YgdmFsdWUgIT0gJ3N0cmluZycpIGZvcih2YXIga2V5IGluIHZhbHVlKSBfX3dlYnBhY2tfcmVxdWlyZV9fLmQobnMsIGtleSwgZnVuY3Rpb24oa2V5KSB7IHJldHVybiB2YWx1ZVtrZXldOyB9LmJpbmQobnVsbCwga2V5KSk7XG4gXHRcdHJldHVybiBucztcbiBcdH07XG5cbiBcdC8vIGdldERlZmF1bHRFeHBvcnQgZnVuY3Rpb24gZm9yIGNvbXBhdGliaWxpdHkgd2l0aCBub24taGFybW9ueSBtb2R1bGVzXG4gXHRfX3dlYnBhY2tfcmVxdWlyZV9fLm4gPSBmdW5jdGlvbihtb2R1bGUpIHtcbiBcdFx0dmFyIGdldHRlciA9IG1vZHVsZSAmJiBtb2R1bGUuX19lc01vZHVsZSA/XG4gXHRcdFx0ZnVuY3Rpb24gZ2V0RGVmYXVsdCgpIHsgcmV0dXJuIG1vZHVsZVsnZGVmYXVsdCddOyB9IDpcbiBcdFx0XHRmdW5jdGlvbiBnZXRNb2R1bGVFeHBvcnRzKCkgeyByZXR1cm4gbW9kdWxlOyB9O1xuIFx0XHRfX3dlYnBhY2tfcmVxdWlyZV9fLmQoZ2V0dGVyLCAnYScsIGdldHRlcik7XG4gXHRcdHJldHVybiBnZXR0ZXI7XG4gXHR9O1xuXG4gXHQvLyBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGxcbiBcdF9fd2VicGFja19yZXF1aXJlX18ubyA9IGZ1bmN0aW9uKG9iamVjdCwgcHJvcGVydHkpIHsgcmV0dXJuIE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChvYmplY3QsIHByb3BlcnR5KTsgfTtcblxuIFx0Ly8gX193ZWJwYWNrX3B1YmxpY19wYXRoX19cbiBcdF9fd2VicGFja19yZXF1aXJlX18ucCA9IFwiXCI7XG5cblxuIFx0Ly8gTG9hZCBlbnRyeSBtb2R1bGUgYW5kIHJldHVybiBleHBvcnRzXG4gXHRyZXR1cm4gX193ZWJwYWNrX3JlcXVpcmVfXyhfX3dlYnBhY2tfcmVxdWlyZV9fLnMgPSAyKTtcbiIsIid1c2Ugc3RyaWN0JztcbmNvbnN0IHN0cmlwQW5zaSA9IHJlcXVpcmUoJ3N0cmlwLWFuc2knKTtcbmNvbnN0IGlzRnVsbHdpZHRoQ29kZVBvaW50ID0gcmVxdWlyZSgnaXMtZnVsbHdpZHRoLWNvZGUtcG9pbnQnKTtcbmNvbnN0IGVtb2ppUmVnZXggPSByZXF1aXJlKCdlbW9qaS1yZWdleCcpO1xuXG5jb25zdCBzdHJpbmdXaWR0aCA9IHN0cmluZyA9PiB7XG5cdGlmICh0eXBlb2Ygc3RyaW5nICE9PSAnc3RyaW5nJyB8fCBzdHJpbmcubGVuZ3RoID09PSAwKSB7XG5cdFx0cmV0dXJuIDA7XG5cdH1cblxuXHRzdHJpbmcgPSBzdHJpcEFuc2koc3RyaW5nKTtcblxuXHRpZiAoc3RyaW5nLmxlbmd0aCA9PT0gMCkge1xuXHRcdHJldHVybiAwO1xuXHR9XG5cblx0c3RyaW5nID0gc3RyaW5nLnJlcGxhY2UoZW1vamlSZWdleCgpLCAnICAnKTtcblxuXHRsZXQgd2lkdGggPSAwO1xuXG5cdGZvciAobGV0IGkgPSAwOyBpIDwgc3RyaW5nLmxlbmd0aDsgaSsrKSB7XG5cdFx0Y29uc3QgY29kZSA9IHN0cmluZy5jb2RlUG9pbnRBdChpKTtcblxuXHRcdC8vIElnbm9yZSBjb250cm9sIGNoYXJhY3RlcnNcblx0XHRpZiAoY29kZSA8PSAweDFGIHx8IChjb2RlID49IDB4N0YgJiYgY29kZSA8PSAweDlGKSkge1xuXHRcdFx0Y29udGludWU7XG5cdFx0fVxuXG5cdFx0Ly8gSWdub3JlIGNvbWJpbmluZyBjaGFyYWN0ZXJzXG5cdFx0aWYgKGNvZGUgPj0gMHgzMDAgJiYgY29kZSA8PSAweDM2Rikge1xuXHRcdFx0Y29udGludWU7XG5cdFx0fVxuXG5cdFx0Ly8gU3Vycm9nYXRlc1xuXHRcdGlmIChjb2RlID4gMHhGRkZGKSB7XG5cdFx0XHRpKys7XG5cdFx0fVxuXG5cdFx0d2lkdGggKz0gaXNGdWxsd2lkdGhDb2RlUG9pbnQoY29kZSkgPyAyIDogMTtcblx0fVxuXG5cdHJldHVybiB3aWR0aDtcbn07XG5cbm1vZHVsZS5leHBvcnRzID0gc3RyaW5nV2lkdGg7XG4vLyBUT0RPOiByZW1vdmUgdGhpcyBpbiB0aGUgbmV4dCBtYWpvciB2ZXJzaW9uXG5tb2R1bGUuZXhwb3J0cy5kZWZhdWx0ID0gc3RyaW5nV2lkdGg7XG4iLCJleHBvcnQgZGVmYXVsdCAodGV4dFN2ZykgPT4ge1xuICBsZXQgZml4ZWRUZXh0U3ZnID0gdGV4dFN2Z1xuXG4gIC8vIGlmIDx0ZXh0PiBkb2Vzbid0IGhhdmUgdHJhbnNmb3JtPVwidHJhbnNsYXRlKHggeSlcIiwganVzdCBhZGQgaXQgd2l0aCAoMCAwKVxuICBpZiAoIWZpeGVkVGV4dFN2Zy5tYXRjaCgvPHRleHQgW14+XSp0cmFuc2Zvcm09XCJbXlwiXSpcIltePl0qPi8pKSB7XG4gICAgZml4ZWRUZXh0U3ZnID0gZml4ZWRUZXh0U3ZnLnJlcGxhY2UobmV3IFJlZ0V4cCgnPHRleHQoW14+XSopPicpLCAnPHRleHQkMSB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoMCAwKVwiPicpXG4gIH1cblxuICAvLyBpZiA8dHNwYW4+IGRvZXNuJ3QgaGF2ZSB4PVwiXCIgeT1cIlwiLCBqdXN0IGFkZCBpdCB3aXRoIHg9XCIwXCIgeT1cIjBcIlxuICBpZiAoIWZpeGVkVGV4dFN2Zy5tYXRjaCgvPHRzcGFuIFtePl0qeD1cIlteXCJdKlwiW14+XSo+LykpIHtcbiAgICBmaXhlZFRleHRTdmcgPSBmaXhlZFRleHRTdmcucmVwbGFjZShuZXcgUmVnRXhwKCc8dHNwYW4oW14+XSopPicpLCAnPHRzcGFuJDEgeD1cIjBcIj4nKVxuICB9XG4gIGlmICghZml4ZWRUZXh0U3ZnLm1hdGNoKC88dHNwYW4gW14+XSp5PVwiW15cIl0qXCJbXj5dKj4vKSkge1xuICAgIGZpeGVkVGV4dFN2ZyA9IGZpeGVkVGV4dFN2Zy5yZXBsYWNlKG5ldyBSZWdFeHAoJzx0c3BhbihbXj5dKik+JyksICc8dHNwYW4kMSB5PVwiMFwiPicpXG4gIH1cblxuICAvLyBjb3B5IHggZnJvbSA8dHNwYW4geD1cIlwiPiBhbmQgYWRkIGl0IHRvIDx0ZXh0IHRyYW5zZm9ybT1cInRyYW5zbGF0ZSh4IHkpXCI+XG4gIGZpeGVkVGV4dFN2ZyA9IGZpeGVkVGV4dFN2Zy5yZXBsYWNlKG5ldyBSZWdFeHAoJzx0ZXh0KFtcXFxcc1xcXFxTXSspdHJhbnNmb3JtPVwidHJhbnNsYXRlXFxcXCgoXFxcXFMrKVxcXFxzKyguKylcXFxcKVwiKFtePl0qKT5cXHMqPHRzcGFuKFtePl0rKXg9XCIoW15cIl0rKVwiJyksICc8dGV4dCQxdHJhbnNmb3JtPVwidHJhbnNsYXRlKCMjIyQyKyQ2IyMjICQzKVwiJDQ+PHRzcGFuJDV4PVwiMFwiJylcbiAgY29uc3QgZXhwcmVzc2lvbjEgPSBmaXhlZFRleHRTdmcubWF0Y2gobmV3IFJlZ0V4cCgnPHRleHRbXFxcXHNcXFxcU10rdHJhbnNmb3JtPVwidHJhbnNsYXRlXFxcXCgjIyMoLispIyMjLitcXFxcKVwiJykpWzFdXG4gIGNvbnN0IHggPSBleHByZXNzaW9uMS5tYXRjaCgvXFxkK1xcK1xcZCsvKSA/IGV2YWwoZXhwcmVzc2lvbjEpIDogMFxuICBmaXhlZFRleHRTdmcgPSBmaXhlZFRleHRTdmcucmVwbGFjZShuZXcgUmVnRXhwKCc8dGV4dChbXFxcXHNcXFxcU10rKXRyYW5zZm9ybT1cInRyYW5zbGF0ZVxcXFwoIyMjLisjIyMoLispXFxcXClcIicpLCBgPHRleHQkMXRyYW5zZm9ybT1cInRyYW5zbGF0ZSgke3h9JDIpXCJgKVxuXG4gIC8vIGNvcHkgeSBmcm9tIDx0c3BhbiB5PVwiXCI+IGFuZCBhZGQgaXQgdG8gPHRleHQgdHJhbnNmb3JtPVwidHJhbnNsYXRlKHggeSlcIj5cbiAgZml4ZWRUZXh0U3ZnID0gZml4ZWRUZXh0U3ZnLnJlcGxhY2UobmV3IFJlZ0V4cCgnPHRleHQoW1xcXFxzXFxcXFNdKyl0cmFuc2Zvcm09XCJ0cmFuc2xhdGVcXFxcKCguKylcXFxccysoXFxcXFMrKVxcXFwpXCIoW14+XSopPlxccyo8dHNwYW4oW14+XSspeT1cIihbXlwiXSspXCInKSwgJzx0ZXh0JDF0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoJDIgIyMjJDMrJDYjIyMpXCIkND48dHNwYW4kNXk9XCIwXCInKVxuICBjb25zdCBleHByZXNzaW9uMiA9IGZpeGVkVGV4dFN2Zy5tYXRjaChuZXcgUmVnRXhwKCc8dGV4dFtcXFxcc1xcXFxTXSt0cmFuc2Zvcm09XCJ0cmFuc2xhdGVcXFxcKC4rIyMjKC4rKSMjI1xcXFwpXCInKSlbMV1cbiAgY29uc3QgeSA9IGV4cHJlc3Npb24yLm1hdGNoKC9cXGQrXFwrXFxkKy8pID8gZXZhbChleHByZXNzaW9uMikgOiAwXG4gIGZpeGVkVGV4dFN2ZyA9IGZpeGVkVGV4dFN2Zy5yZXBsYWNlKG5ldyBSZWdFeHAoJzx0ZXh0KFtcXFxcc1xcXFxTXSspdHJhbnNmb3JtPVwidHJhbnNsYXRlXFxcXCgoLispIyMjLisjIyNcXFxcKVwiJyksIGA8dGV4dCQxdHJhbnNmb3JtPVwidHJhbnNsYXRlKCQyJHt5fSlcImApXG5cbiAgcmV0dXJuIGZpeGVkVGV4dFN2Z1xufVxuIiwiLy8gZXh0cmFjdGVkIGJ5IG1pbmktY3NzLWV4dHJhY3QtcGx1Z2luXG5leHBvcnQge307IiwiJ3VzZSBzdHJpY3QnO1xuY29uc3QgYW5zaVJlZ2V4ID0gcmVxdWlyZSgnYW5zaS1yZWdleCcpO1xuXG5tb2R1bGUuZXhwb3J0cyA9IHN0cmluZyA9PiB0eXBlb2Ygc3RyaW5nID09PSAnc3RyaW5nJyA/IHN0cmluZy5yZXBsYWNlKGFuc2lSZWdleCgpLCAnJykgOiBzdHJpbmc7XG4iLCIndXNlIHN0cmljdCc7XG5cbm1vZHVsZS5leHBvcnRzID0gKHtvbmx5Rmlyc3QgPSBmYWxzZX0gPSB7fSkgPT4ge1xuXHRjb25zdCBwYXR0ZXJuID0gW1xuXHRcdCdbXFxcXHUwMDFCXFxcXHUwMDlCXVtbXFxcXF0oKSM7P10qKD86KD86KD86W2EtekEtWlxcXFxkXSooPzo7Wy1hLXpBLVpcXFxcZFxcXFwvIyYuOj0/JUB+X10qKSopP1xcXFx1MDAwNyknLFxuXHRcdCcoPzooPzpcXFxcZHsxLDR9KD86O1xcXFxkezAsNH0pKik/W1xcXFxkQS1QUi1UWmNmLW50cXJ5PT48fl0pKSdcblx0XS5qb2luKCd8Jyk7XG5cblx0cmV0dXJuIG5ldyBSZWdFeHAocGF0dGVybiwgb25seUZpcnN0ID8gdW5kZWZpbmVkIDogJ2cnKTtcbn07XG4iLCIvKiBlc2xpbnQtZGlzYWJsZSB5b2RhICovXG4ndXNlIHN0cmljdCc7XG5cbmNvbnN0IGlzRnVsbHdpZHRoQ29kZVBvaW50ID0gY29kZVBvaW50ID0+IHtcblx0aWYgKE51bWJlci5pc05hTihjb2RlUG9pbnQpKSB7XG5cdFx0cmV0dXJuIGZhbHNlO1xuXHR9XG5cblx0Ly8gQ29kZSBwb2ludHMgYXJlIGRlcml2ZWQgZnJvbTpcblx0Ly8gaHR0cDovL3d3dy51bml4Lm9yZy9QdWJsaWMvVU5JREFUQS9FYXN0QXNpYW5XaWR0aC50eHRcblx0aWYgKFxuXHRcdGNvZGVQb2ludCA+PSAweDExMDAgJiYgKFxuXHRcdFx0Y29kZVBvaW50IDw9IDB4MTE1RiB8fCAvLyBIYW5ndWwgSmFtb1xuXHRcdFx0Y29kZVBvaW50ID09PSAweDIzMjkgfHwgLy8gTEVGVC1QT0lOVElORyBBTkdMRSBCUkFDS0VUXG5cdFx0XHRjb2RlUG9pbnQgPT09IDB4MjMyQSB8fCAvLyBSSUdIVC1QT0lOVElORyBBTkdMRSBCUkFDS0VUXG5cdFx0XHQvLyBDSksgUmFkaWNhbHMgU3VwcGxlbWVudCAuLiBFbmNsb3NlZCBDSksgTGV0dGVycyBhbmQgTW9udGhzXG5cdFx0XHQoMHgyRTgwIDw9IGNvZGVQb2ludCAmJiBjb2RlUG9pbnQgPD0gMHgzMjQ3ICYmIGNvZGVQb2ludCAhPT0gMHgzMDNGKSB8fFxuXHRcdFx0Ly8gRW5jbG9zZWQgQ0pLIExldHRlcnMgYW5kIE1vbnRocyAuLiBDSksgVW5pZmllZCBJZGVvZ3JhcGhzIEV4dGVuc2lvbiBBXG5cdFx0XHQoMHgzMjUwIDw9IGNvZGVQb2ludCAmJiBjb2RlUG9pbnQgPD0gMHg0REJGKSB8fFxuXHRcdFx0Ly8gQ0pLIFVuaWZpZWQgSWRlb2dyYXBocyAuLiBZaSBSYWRpY2Fsc1xuXHRcdFx0KDB4NEUwMCA8PSBjb2RlUG9pbnQgJiYgY29kZVBvaW50IDw9IDB4QTRDNikgfHxcblx0XHRcdC8vIEhhbmd1bCBKYW1vIEV4dGVuZGVkLUFcblx0XHRcdCgweEE5NjAgPD0gY29kZVBvaW50ICYmIGNvZGVQb2ludCA8PSAweEE5N0MpIHx8XG5cdFx0XHQvLyBIYW5ndWwgU3lsbGFibGVzXG5cdFx0XHQoMHhBQzAwIDw9IGNvZGVQb2ludCAmJiBjb2RlUG9pbnQgPD0gMHhEN0EzKSB8fFxuXHRcdFx0Ly8gQ0pLIENvbXBhdGliaWxpdHkgSWRlb2dyYXBoc1xuXHRcdFx0KDB4RjkwMCA8PSBjb2RlUG9pbnQgJiYgY29kZVBvaW50IDw9IDB4RkFGRikgfHxcblx0XHRcdC8vIFZlcnRpY2FsIEZvcm1zXG5cdFx0XHQoMHhGRTEwIDw9IGNvZGVQb2ludCAmJiBjb2RlUG9pbnQgPD0gMHhGRTE5KSB8fFxuXHRcdFx0Ly8gQ0pLIENvbXBhdGliaWxpdHkgRm9ybXMgLi4gU21hbGwgRm9ybSBWYXJpYW50c1xuXHRcdFx0KDB4RkUzMCA8PSBjb2RlUG9pbnQgJiYgY29kZVBvaW50IDw9IDB4RkU2QikgfHxcblx0XHRcdC8vIEhhbGZ3aWR0aCBhbmQgRnVsbHdpZHRoIEZvcm1zXG5cdFx0XHQoMHhGRjAxIDw9IGNvZGVQb2ludCAmJiBjb2RlUG9pbnQgPD0gMHhGRjYwKSB8fFxuXHRcdFx0KDB4RkZFMCA8PSBjb2RlUG9pbnQgJiYgY29kZVBvaW50IDw9IDB4RkZFNikgfHxcblx0XHRcdC8vIEthbmEgU3VwcGxlbWVudFxuXHRcdFx0KDB4MUIwMDAgPD0gY29kZVBvaW50ICYmIGNvZGVQb2ludCA8PSAweDFCMDAxKSB8fFxuXHRcdFx0Ly8gRW5jbG9zZWQgSWRlb2dyYXBoaWMgU3VwcGxlbWVudFxuXHRcdFx0KDB4MUYyMDAgPD0gY29kZVBvaW50ICYmIGNvZGVQb2ludCA8PSAweDFGMjUxKSB8fFxuXHRcdFx0Ly8gQ0pLIFVuaWZpZWQgSWRlb2dyYXBocyBFeHRlbnNpb24gQiAuLiBUZXJ0aWFyeSBJZGVvZ3JhcGhpYyBQbGFuZVxuXHRcdFx0KDB4MjAwMDAgPD0gY29kZVBvaW50ICYmIGNvZGVQb2ludCA8PSAweDNGRkZEKVxuXHRcdClcblx0KSB7XG5cdFx0cmV0dXJuIHRydWU7XG5cdH1cblxuXHRyZXR1cm4gZmFsc2U7XG59O1xuXG5tb2R1bGUuZXhwb3J0cyA9IGlzRnVsbHdpZHRoQ29kZVBvaW50O1xubW9kdWxlLmV4cG9ydHMuZGVmYXVsdCA9IGlzRnVsbHdpZHRoQ29kZVBvaW50O1xuIiwiXCJ1c2Ugc3RyaWN0XCI7XG5cbm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gKCkge1xuICAvLyBodHRwczovL210aHMuYmUvZW1vamlcbiAgcmV0dXJuIC9cXHVEODNDXFx1REZGNFxcdURCNDBcXHVEQzY3XFx1REI0MFxcdURDNjIoPzpcXHVEQjQwXFx1REM2NVxcdURCNDBcXHVEQzZFXFx1REI0MFxcdURDNjd8XFx1REI0MFxcdURDNzNcXHVEQjQwXFx1REM2M1xcdURCNDBcXHVEQzc0fFxcdURCNDBcXHVEQzc3XFx1REI0MFxcdURDNkNcXHVEQjQwXFx1REM3MylcXHVEQjQwXFx1REM3RnxcXHVEODNEXFx1REM2OCg/OlxcdUQ4M0NcXHVERkZDXFx1MjAwRCg/OlxcdUQ4M0VcXHVERDFEXFx1MjAwRFxcdUQ4M0RcXHVEQzY4XFx1RDgzQ1xcdURGRkJ8XFx1RDgzQ1tcXHVERjNFXFx1REY3M1xcdURGOTNcXHVERkE0XFx1REZBOFxcdURGRUJcXHVERkVEXXxcXHVEODNEW1xcdURDQkJcXHVEQ0JDXFx1REQyN1xcdUREMkNcXHVERTgwXFx1REU5Ml18XFx1RDgzRVtcXHVEREFGLVxcdUREQjNcXHVEREJDXFx1RERCRF0pfFxcdUQ4M0NcXHVERkZGXFx1MjAwRCg/OlxcdUQ4M0VcXHVERDFEXFx1MjAwRFxcdUQ4M0RcXHVEQzY4KD86XFx1RDgzQ1tcXHVERkZCLVxcdURGRkVdKXxcXHVEODNDW1xcdURGM0VcXHVERjczXFx1REY5M1xcdURGQTRcXHVERkE4XFx1REZFQlxcdURGRURdfFxcdUQ4M0RbXFx1RENCQlxcdURDQkNcXHVERDI3XFx1REQyQ1xcdURFODBcXHVERTkyXXxcXHVEODNFW1xcdUREQUYtXFx1RERCM1xcdUREQkNcXHVEREJEXSl8XFx1RDgzQ1xcdURGRkVcXHUyMDBEKD86XFx1RDgzRVxcdUREMURcXHUyMDBEXFx1RDgzRFxcdURDNjgoPzpcXHVEODNDW1xcdURGRkItXFx1REZGRF0pfFxcdUQ4M0NbXFx1REYzRVxcdURGNzNcXHVERjkzXFx1REZBNFxcdURGQThcXHVERkVCXFx1REZFRF18XFx1RDgzRFtcXHVEQ0JCXFx1RENCQ1xcdUREMjdcXHVERDJDXFx1REU4MFxcdURFOTJdfFxcdUQ4M0VbXFx1RERBRi1cXHVEREIzXFx1RERCQ1xcdUREQkRdKXxcXHVEODNDXFx1REZGRFxcdTIwMEQoPzpcXHVEODNFXFx1REQxRFxcdTIwMERcXHVEODNEXFx1REM2OCg/OlxcdUQ4M0NbXFx1REZGQlxcdURGRkNdKXxcXHVEODNDW1xcdURGM0VcXHVERjczXFx1REY5M1xcdURGQTRcXHVERkE4XFx1REZFQlxcdURGRURdfFxcdUQ4M0RbXFx1RENCQlxcdURDQkNcXHVERDI3XFx1REQyQ1xcdURFODBcXHVERTkyXXxcXHVEODNFW1xcdUREQUYtXFx1RERCM1xcdUREQkNcXHVEREJEXSl8XFx1MjAwRCg/OlxcdTI3NjRcXHVGRTBGXFx1MjAwRCg/OlxcdUQ4M0RcXHVEQzhCXFx1MjAwRCk/XFx1RDgzRFxcdURDNjh8KD86XFx1RDgzRFtcXHVEQzY4XFx1REM2OV0pXFx1MjAwRCg/OlxcdUQ4M0RcXHVEQzY2XFx1MjAwRFxcdUQ4M0RcXHVEQzY2fFxcdUQ4M0RcXHVEQzY3XFx1MjAwRCg/OlxcdUQ4M0RbXFx1REM2NlxcdURDNjddKSl8XFx1RDgzRFxcdURDNjZcXHUyMDBEXFx1RDgzRFxcdURDNjZ8XFx1RDgzRFxcdURDNjdcXHUyMDBEKD86XFx1RDgzRFtcXHVEQzY2XFx1REM2N10pfCg/OlxcdUQ4M0RbXFx1REM2OFxcdURDNjldKVxcdTIwMEQoPzpcXHVEODNEW1xcdURDNjZcXHVEQzY3XSl8W1xcdTI2OTVcXHUyNjk2XFx1MjcwOF1cXHVGRTBGfFxcdUQ4M0RbXFx1REM2NlxcdURDNjddfFxcdUQ4M0NbXFx1REYzRVxcdURGNzNcXHVERjkzXFx1REZBNFxcdURGQThcXHVERkVCXFx1REZFRF18XFx1RDgzRFtcXHVEQ0JCXFx1RENCQ1xcdUREMjdcXHVERDJDXFx1REU4MFxcdURFOTJdfFxcdUQ4M0VbXFx1RERBRi1cXHVEREIzXFx1RERCQ1xcdUREQkRdKXwoPzpcXHVEODNDXFx1REZGQlxcdTIwMERbXFx1MjY5NVxcdTI2OTZcXHUyNzA4XXxcXHVEODNDXFx1REZGRlxcdTIwMERbXFx1MjY5NVxcdTI2OTZcXHUyNzA4XXxcXHVEODNDXFx1REZGRVxcdTIwMERbXFx1MjY5NVxcdTI2OTZcXHUyNzA4XXxcXHVEODNDXFx1REZGRFxcdTIwMERbXFx1MjY5NVxcdTI2OTZcXHUyNzA4XXxcXHVEODNDXFx1REZGQ1xcdTIwMERbXFx1MjY5NVxcdTI2OTZcXHUyNzA4XSlcXHVGRTBGfFxcdUQ4M0NcXHVERkZCXFx1MjAwRCg/OlxcdUQ4M0NbXFx1REYzRVxcdURGNzNcXHVERjkzXFx1REZBNFxcdURGQThcXHVERkVCXFx1REZFRF18XFx1RDgzRFtcXHVEQ0JCXFx1RENCQ1xcdUREMjdcXHVERDJDXFx1REU4MFxcdURFOTJdfFxcdUQ4M0VbXFx1RERBRi1cXHVEREIzXFx1RERCQ1xcdUREQkRdKXxcXHVEODNDW1xcdURGRkItXFx1REZGRl0pfCg/OlxcdUQ4M0VcXHVEREQxXFx1RDgzQ1xcdURGRkJcXHUyMDBEXFx1RDgzRVxcdUREMURcXHUyMDBEXFx1RDgzRVxcdURERDF8XFx1RDgzRFxcdURDNjlcXHVEODNDXFx1REZGQ1xcdTIwMERcXHVEODNFXFx1REQxRFxcdTIwMERcXHVEODNEXFx1REM2OSlcXHVEODNDXFx1REZGQnxcXHVEODNFXFx1REREMSg/OlxcdUQ4M0NcXHVERkZGXFx1MjAwRFxcdUQ4M0VcXHVERDFEXFx1MjAwRFxcdUQ4M0VcXHVEREQxKD86XFx1RDgzQ1tcXHVERkZCLVxcdURGRkZdKXxcXHUyMDBEXFx1RDgzRVxcdUREMURcXHUyMDBEXFx1RDgzRVxcdURERDEpfCg/OlxcdUQ4M0VcXHVEREQxXFx1RDgzQ1xcdURGRkVcXHUyMDBEXFx1RDgzRVxcdUREMURcXHUyMDBEXFx1RDgzRVxcdURERDF8XFx1RDgzRFxcdURDNjlcXHVEODNDXFx1REZGRlxcdTIwMERcXHVEODNFXFx1REQxRFxcdTIwMEQoPzpcXHVEODNEW1xcdURDNjhcXHVEQzY5XSkpKD86XFx1RDgzQ1tcXHVERkZCLVxcdURGRkVdKXwoPzpcXHVEODNFXFx1REREMVxcdUQ4M0NcXHVERkZDXFx1MjAwRFxcdUQ4M0VcXHVERDFEXFx1MjAwRFxcdUQ4M0VcXHVEREQxfFxcdUQ4M0RcXHVEQzY5XFx1RDgzQ1xcdURGRkRcXHUyMDBEXFx1RDgzRVxcdUREMURcXHUyMDBEXFx1RDgzRFxcdURDNjkpKD86XFx1RDgzQ1tcXHVERkZCXFx1REZGQ10pfFxcdUQ4M0RcXHVEQzY5KD86XFx1RDgzQ1xcdURGRkVcXHUyMDBEKD86XFx1RDgzRVxcdUREMURcXHUyMDBEXFx1RDgzRFxcdURDNjgoPzpcXHVEODNDW1xcdURGRkItXFx1REZGRFxcdURGRkZdKXxcXHVEODNDW1xcdURGM0VcXHVERjczXFx1REY5M1xcdURGQTRcXHVERkE4XFx1REZFQlxcdURGRURdfFxcdUQ4M0RbXFx1RENCQlxcdURDQkNcXHVERDI3XFx1REQyQ1xcdURFODBcXHVERTkyXXxcXHVEODNFW1xcdUREQUYtXFx1RERCM1xcdUREQkNcXHVEREJEXSl8XFx1RDgzQ1xcdURGRkNcXHUyMDBEKD86XFx1RDgzRVxcdUREMURcXHUyMDBEXFx1RDgzRFxcdURDNjgoPzpcXHVEODNDW1xcdURGRkJcXHVERkZELVxcdURGRkZdKXxcXHVEODNDW1xcdURGM0VcXHVERjczXFx1REY5M1xcdURGQTRcXHVERkE4XFx1REZFQlxcdURGRURdfFxcdUQ4M0RbXFx1RENCQlxcdURDQkNcXHVERDI3XFx1REQyQ1xcdURFODBcXHVERTkyXXxcXHVEODNFW1xcdUREQUYtXFx1RERCM1xcdUREQkNcXHVEREJEXSl8XFx1RDgzQ1xcdURGRkJcXHUyMDBEKD86XFx1RDgzRVxcdUREMURcXHUyMDBEXFx1RDgzRFxcdURDNjgoPzpcXHVEODNDW1xcdURGRkMtXFx1REZGRl0pfFxcdUQ4M0NbXFx1REYzRVxcdURGNzNcXHVERjkzXFx1REZBNFxcdURGQThcXHVERkVCXFx1REZFRF18XFx1RDgzRFtcXHVEQ0JCXFx1RENCQ1xcdUREMjdcXHVERDJDXFx1REU4MFxcdURFOTJdfFxcdUQ4M0VbXFx1RERBRi1cXHVEREIzXFx1RERCQ1xcdUREQkRdKXxcXHVEODNDXFx1REZGRFxcdTIwMEQoPzpcXHVEODNFXFx1REQxRFxcdTIwMERcXHVEODNEXFx1REM2OCg/OlxcdUQ4M0NbXFx1REZGQlxcdURGRkNcXHVERkZFXFx1REZGRl0pfFxcdUQ4M0NbXFx1REYzRVxcdURGNzNcXHVERjkzXFx1REZBNFxcdURGQThcXHVERkVCXFx1REZFRF18XFx1RDgzRFtcXHVEQ0JCXFx1RENCQ1xcdUREMjdcXHVERDJDXFx1REU4MFxcdURFOTJdfFxcdUQ4M0VbXFx1RERBRi1cXHVEREIzXFx1RERCQ1xcdUREQkRdKXxcXHUyMDBEKD86XFx1Mjc2NFxcdUZFMEZcXHUyMDBEKD86XFx1RDgzRFxcdURDOEJcXHUyMDBEKD86XFx1RDgzRFtcXHVEQzY4XFx1REM2OV0pfFxcdUQ4M0RbXFx1REM2OFxcdURDNjldKXxcXHVEODNDW1xcdURGM0VcXHVERjczXFx1REY5M1xcdURGQTRcXHVERkE4XFx1REZFQlxcdURGRURdfFxcdUQ4M0RbXFx1RENCQlxcdURDQkNcXHVERDI3XFx1REQyQ1xcdURFODBcXHVERTkyXXxcXHVEODNFW1xcdUREQUYtXFx1RERCM1xcdUREQkNcXHVEREJEXSl8XFx1RDgzQ1xcdURGRkZcXHUyMDBEKD86XFx1RDgzQ1tcXHVERjNFXFx1REY3M1xcdURGOTNcXHVERkE0XFx1REZBOFxcdURGRUJcXHVERkVEXXxcXHVEODNEW1xcdURDQkJcXHVEQ0JDXFx1REQyN1xcdUREMkNcXHVERTgwXFx1REU5Ml18XFx1RDgzRVtcXHVEREFGLVxcdUREQjNcXHVEREJDXFx1RERCRF0pKXxcXHVEODNEXFx1REM2OVxcdTIwMERcXHVEODNEXFx1REM2OVxcdTIwMEQoPzpcXHVEODNEXFx1REM2NlxcdTIwMERcXHVEODNEXFx1REM2NnxcXHVEODNEXFx1REM2N1xcdTIwMEQoPzpcXHVEODNEW1xcdURDNjZcXHVEQzY3XSkpfCg/OlxcdUQ4M0VcXHVEREQxXFx1RDgzQ1xcdURGRkRcXHUyMDBEXFx1RDgzRVxcdUREMURcXHUyMDBEXFx1RDgzRVxcdURERDF8XFx1RDgzRFxcdURDNjlcXHVEODNDXFx1REZGRVxcdTIwMERcXHVEODNFXFx1REQxRFxcdTIwMERcXHVEODNEXFx1REM2OSkoPzpcXHVEODNDW1xcdURGRkItXFx1REZGRF0pfFxcdUQ4M0RcXHVEQzY5XFx1MjAwRFxcdUQ4M0RcXHVEQzY2XFx1MjAwRFxcdUQ4M0RcXHVEQzY2fFxcdUQ4M0RcXHVEQzY5XFx1MjAwRFxcdUQ4M0RcXHVEQzY5XFx1MjAwRCg/OlxcdUQ4M0RbXFx1REM2NlxcdURDNjddKXwoPzpcXHVEODNEXFx1REM0MVxcdUZFMEZcXHUyMDBEXFx1RDgzRFxcdURERTh8XFx1RDgzRFxcdURDNjkoPzpcXHVEODNDXFx1REZGRlxcdTIwMERbXFx1MjY5NVxcdTI2OTZcXHUyNzA4XXxcXHVEODNDXFx1REZGRVxcdTIwMERbXFx1MjY5NVxcdTI2OTZcXHUyNzA4XXxcXHVEODNDXFx1REZGQ1xcdTIwMERbXFx1MjY5NVxcdTI2OTZcXHUyNzA4XXxcXHVEODNDXFx1REZGQlxcdTIwMERbXFx1MjY5NVxcdTI2OTZcXHUyNzA4XXxcXHVEODNDXFx1REZGRFxcdTIwMERbXFx1MjY5NVxcdTI2OTZcXHUyNzA4XXxcXHUyMDBEW1xcdTI2OTVcXHUyNjk2XFx1MjcwOF0pfCg/Oig/OlxcdTI2Rjl8XFx1RDgzQ1tcXHVERkNCXFx1REZDQ118XFx1RDgzRFxcdURENzUpXFx1RkUwRnxcXHVEODNEXFx1REM2RnxcXHVEODNFW1xcdUREM0NcXHVERERFXFx1RERERl0pXFx1MjAwRFtcXHUyNjQwXFx1MjY0Ml18KD86XFx1MjZGOXxcXHVEODNDW1xcdURGQ0JcXHVERkNDXXxcXHVEODNEXFx1REQ3NSkoPzpcXHVEODNDW1xcdURGRkItXFx1REZGRl0pXFx1MjAwRFtcXHUyNjQwXFx1MjY0Ml18KD86XFx1RDgzQ1tcXHVERkMzXFx1REZDNFxcdURGQ0FdfFxcdUQ4M0RbXFx1REM2RVx