mirror of
https://github.com/VueFileManager/vuefilemanager.git
synced 2026-05-24 13:44:42 +00:00
3 lines
65 KiB
JavaScript
Vendored
3 lines
65 KiB
JavaScript
Vendored
/*! For license information please see shared.js.LICENSE.txt?id=c4251daa93aabea12960 */
|
|
(window.webpackJsonp=window.webpackJsonp||[]).push([[9],{TJPC:function(d,u,f){"use strict";f.d(u,"a",(function(){return a}));function c(d){return null==d}function e(d){return Array.isArray(d)&&0===d.length}var a={validate:function(d,u){var f=(void 0===u?{allowFalse:!0}:u).allowFalse,a={valid:!1,required:!0};return c(d)||e(d)?a:!1!==d||f?(a.valid=!!String(d).trim().length,a):a},params:[{name:"allowFalse",default:!0}],computesRequired:!0}},VymR:function(d,u,f){"use strict";var c=function(){var d={base:"https://twemoji.maxcdn.com/v/13.0.1/",ext:".png",size:"72x72",className:"emoji",convert:{fromCodePoint:function(d){var u="string"==typeof d?parseInt(d,16):d;if(u<65536)return b(u);return b(55296+((u-=65536)>>10),56320+(1023&u))},toCodePoint:h},onerror:function(){this.parentNode&&this.parentNode.replaceChild(n(this.alt,!1),this)},parse:function(u,f){f&&"function"!=typeof f||(f={callback:f});return("string"==typeof u?s:i)(u,{callback:f.callback||r,attributes:"function"==typeof f.attributes?f.attributes:p,base:"string"==typeof f.base?f.base:d.base,ext:f.ext||d.ext,size:f.folder||(c=f.size||d.size,"number"==typeof c?c+"x"+c:c),className:f.className||d.className,onerror:f.onerror||d.onerror});var c},replace:m,test:function(d){f.lastIndex=0;var u=f.test(d);return f.lastIndex=0,u}},u={"&":"&","<":"<",">":">","'":"'",'"':"""},f=/(?:\ud83d\udc68\ud83c\udffb\u200d\ud83e\udd1d\u200d\ud83d\udc68\ud83c[\udffc-\udfff]|\ud83d\udc68\ud83c\udffc\u200d\ud83e\udd1d\u200d\ud83d\udc68\ud83c[\udffb\udffd-\udfff]|\ud83d\udc68\ud83c\udffd\u200d\ud83e\udd1d\u200d\ud83d\udc68\ud83c[\udffb\udffc\udffe\udfff]|\ud83d\udc68\ud83c\udffe\u200d\ud83e\udd1d\u200d\ud83d\udc68\ud83c[\udffb-\udffd\udfff]|\ud83d\udc68\ud83c\udfff\u200d\ud83e\udd1d\u200d\ud83d\udc68\ud83c[\udffb-\udffe]|\ud83d\udc69\ud83c\udffb\u200d\ud83e\udd1d\u200d\ud83d\udc68\ud83c[\udffc-\udfff]|\ud83d\udc69\ud83c\udffb\u200d\ud83e\udd1d\u200d\ud83d\udc69\ud83c[\udffc-\udfff]|\ud83d\udc69\ud83c\udffc\u200d\ud83e\udd1d\u200d\ud83d\udc68\ud83c[\udffb\udffd-\udfff]|\ud83d\udc69\ud83c\udffc\u200d\ud83e\udd1d\u200d\ud83d\udc69\ud83c[\udffb\udffd-\udfff]|\ud83d\udc69\ud83c\udffd\u200d\ud83e\udd1d\u200d\ud83d\udc68\ud83c[\udffb\udffc\udffe\udfff]|\ud83d\udc69\ud83c\udffd\u200d\ud83e\udd1d\u200d\ud83d\udc69\ud83c[\udffb\udffc\udffe\udfff]|\ud83d\udc69\ud83c\udffe\u200d\ud83e\udd1d\u200d\ud83d\udc68\ud83c[\udffb-\udffd\udfff]|\ud83d\udc69\ud83c\udffe\u200d\ud83e\udd1d\u200d\ud83d\udc69\ud83c[\udffb-\udffd\udfff]|\ud83d\udc69\ud83c\udfff\u200d\ud83e\udd1d\u200d\ud83d\udc68\ud83c[\udffb-\udffe]|\ud83d\udc69\ud83c\udfff\u200d\ud83e\udd1d\u200d\ud83d\udc69\ud83c[\udffb-\udffe]|\ud83e\uddd1\ud83c\udffb\u200d\ud83e\udd1d\u200d\ud83e\uddd1\ud83c[\udffb-\udfff]|\ud83e\uddd1\ud83c\udffc\u200d\ud83e\udd1d\u200d\ud83e\uddd1\ud83c[\udffb-\udfff]|\ud83e\uddd1\ud83c\udffd\u200d\ud83e\udd1d\u200d\ud83e\uddd1\ud83c[\udffb-\udfff]|\ud83e\uddd1\ud83c\udffe\u200d\ud83e\udd1d\u200d\ud83e\uddd1\ud83c[\udffb-\udfff]|\ud83e\uddd1\ud83c\udfff\u200d\ud83e\udd1d\u200d\ud83e\uddd1\ud83c[\udffb-\udfff]|\ud83e\uddd1\u200d\ud83e\udd1d\u200d\ud83e\uddd1|\ud83d\udc6b\ud83c[\udffb-\udfff]|\ud83d\udc6c\ud83c[\udffb-\udfff]|\ud83d\udc6d\ud83c[\udffb-\udfff]|\ud83d[\udc6b-\udc6d])|(?:\ud83d[\udc68\udc69]|\ud83e\uddd1)(?:\ud83c[\udffb-\udfff])?\u200d(?:\u2695\ufe0f|\u2696\ufe0f|\u2708\ufe0f|\ud83c[\udf3e\udf73\udf7c\udf84\udf93\udfa4\udfa8\udfeb\udfed]|\ud83d[\udcbb\udcbc\udd27\udd2c\ude80\ude92]|\ud83e[\uddaf-\uddb3\uddbc\uddbd])|(?:\ud83c[\udfcb\udfcc]|\ud83d[\udd74\udd75]|\u26f9)((?:\ud83c[\udffb-\udfff]|\ufe0f)\u200d[\u2640\u2642]\ufe0f)|(?:\ud83c[\udfc3\udfc4\udfca]|\ud83d[\udc6e\udc70\udc71\udc73\udc77\udc81\udc82\udc86\udc87\ude45-\ude47\ude4b\ude4d\ude4e\udea3\udeb4-\udeb6]|\ud83e[\udd26\udd35\udd37-\udd39\udd3d\udd3e\uddb8\uddb9\uddcd-\uddcf\uddd6-\udddd])(?:\ud83c[\udffb-\udfff])?\u200d[\u2640\u2642]\ufe0f|(?:\ud83d\udc68\u200d\u2764\ufe0f\u200d\ud83d\udc8b\u200d\ud83d\udc68|\ud83d\udc68\u200d\ud83d\udc68\u200d\ud83d\udc66\u200d\ud83d\udc66|\ud83d\udc68\u200d\ud83d\udc68\u200d\ud83d\udc67\u200d\ud83d[\udc66\udc67]|\ud83d\udc68\u200d\ud83d\udc69\u200d\ud83d\udc66\u200d\ud83d\udc66|\ud83d\udc68\u200d\ud83d\udc69\u200d\ud83d\udc67\u200d\ud83d[\udc66\udc67]|\ud83d\udc69\u200d\u2764\ufe0f\u200d\ud83d\udc8b\u200d\ud83d[\udc68\udc69]|\ud83d\udc69\u200d\ud83d\udc69\u200d\ud83d\udc66\u200d\ud83d\udc66|\ud83d\udc69\u200d\ud83d\udc69\u200d\ud83d\udc67\u200d\ud83d[\udc66\udc67]|\ud83d\udc68\u200d\u2764\ufe0f\u200d\ud83d\udc68|\ud83d\udc68\u200d\ud83d\udc66\u200d\ud83d\udc66|\ud83d\udc68\u200d\ud83d\udc67\u200d\ud83d[\udc66\udc67]|\ud83d\udc68\u200d\ud83d\udc68\u200d\ud83d[\udc66\udc67]|\ud83d\udc68\u200d\ud83d\udc69\u200d\ud83d[\udc66\udc67]|\ud83d\udc69\u200d\u2764\ufe0f\u200d\ud83d[\udc68\udc69]|\ud83d\udc69\u200d\ud83d\udc66\u200d\ud83d\udc66|\ud83d\udc69\u200d\ud83d\udc67\u200d\ud83d[\udc66\udc67]|\ud83d\udc69\u200d\ud83d\udc69\u200d\ud83d[\udc66\udc67]|\ud83c\udff3\ufe0f\u200d\u26a7\ufe0f|\ud83c\udff3\ufe0f\u200d\ud83c\udf08|\ud83c\udff4\u200d\u2620\ufe0f|\ud83d\udc15\u200d\ud83e\uddba|\ud83d\udc3b\u200d\u2744\ufe0f|\ud83d\udc41\u200d\ud83d\udde8|\ud83d\udc68\u200d\ud83d[\udc66\udc67]|\ud83d\udc69\u200d\ud83d[\udc66\udc67]|\ud83d\udc6f\u200d\u2640\ufe0f|\ud83d\udc6f\u200d\u2642\ufe0f|\ud83e\udd3c\u200d\u2640\ufe0f|\ud83e\udd3c\u200d\u2642\ufe0f|\ud83e\uddde\u200d\u2640\ufe0f|\ud83e\uddde\u200d\u2642\ufe0f|\ud83e\udddf\u200d\u2640\ufe0f|\ud83e\udddf\u200d\u2642\ufe0f|\ud83d\udc08\u200d\u2b1b)|[#*0-9]\ufe0f?\u20e3|(?:[©®\u2122\u265f]\ufe0f)|(?:\ud83c[\udc04\udd70\udd71\udd7e\udd7f\ude02\ude1a\ude2f\ude37\udf21\udf24-\udf2c\udf36\udf7d\udf96\udf97\udf99-\udf9b\udf9e\udf9f\udfcd\udfce\udfd4-\udfdf\udff3\udff5\udff7]|\ud83d[\udc3f\udc41\udcfd\udd49\udd4a\udd6f\udd70\udd73\udd76-\udd79\udd87\udd8a-\udd8d\udda5\udda8\uddb1\uddb2\uddbc\uddc2-\uddc4\uddd1-\uddd3\udddc-\uddde\udde1\udde3\udde8\uddef\uddf3\uddfa\udecb\udecd-\udecf\udee0-\udee5\udee9\udef0\udef3]|[\u203c\u2049\u2139\u2194-\u2199\u21a9\u21aa\u231a\u231b\u2328\u23cf\u23ed-\u23ef\u23f1\u23f2\u23f8-\u23fa\u24c2\u25aa\u25ab\u25b6\u25c0\u25fb-\u25fe\u2600-\u2604\u260e\u2611\u2614\u2615\u2618\u2620\u2622\u2623\u2626\u262a\u262e\u262f\u2638-\u263a\u2640\u2642\u2648-\u2653\u2660\u2663\u2665\u2666\u2668\u267b\u267f\u2692-\u2697\u2699\u269b\u269c\u26a0\u26a1\u26a7\u26aa\u26ab\u26b0\u26b1\u26bd\u26be\u26c4\u26c5\u26c8\u26cf\u26d1\u26d3\u26d4\u26e9\u26ea\u26f0-\u26f5\u26f8\u26fa\u26fd\u2702\u2708\u2709\u270f\u2712\u2714\u2716\u271d\u2721\u2733\u2734\u2744\u2747\u2757\u2763\u2764\u27a1\u2934\u2935\u2b05-\u2b07\u2b1b\u2b1c\u2b50\u2b55\u3030\u303d\u3297\u3299])(?:\ufe0f|(?!\ufe0e))|(?:(?:\ud83c[\udfcb\udfcc]|\ud83d[\udd74\udd75\udd90]|[\u261d\u26f7\u26f9\u270c\u270d])(?:\ufe0f|(?!\ufe0e))|(?:\ud83c[\udf85\udfc2-\udfc4\udfc7\udfca]|\ud83d[\udc42\udc43\udc46-\udc50\udc66-\udc69\udc6e\udc70-\udc78\udc7c\udc81-\udc83\udc85-\udc87\udcaa\udd7a\udd95\udd96\ude45-\ude47\ude4b-\ude4f\udea3\udeb4-\udeb6\udec0\udecc]|\ud83e[\udd0c\udd0f\udd18-\udd1c\udd1e\udd1f\udd26\udd30-\udd39\udd3d\udd3e\udd77\uddb5\uddb6\uddb8\uddb9\uddbb\uddcd-\uddcf\uddd1-\udddd]|[\u270a\u270b]))(?:\ud83c[\udffb-\udfff])?|(?:\ud83c\udff4\udb40\udc67\udb40\udc62\udb40\udc65\udb40\udc6e\udb40\udc67\udb40\udc7f|\ud83c\udff4\udb40\udc67\udb40\udc62\udb40\udc73\udb40\udc63\udb40\udc74\udb40\udc7f|\ud83c\udff4\udb40\udc67\udb40\udc62\udb40\udc77\udb40\udc6c\udb40\udc73\udb40\udc7f|\ud83c\udde6\ud83c[\udde8-\uddec\uddee\uddf1\uddf2\uddf4\uddf6-\uddfa\uddfc\uddfd\uddff]|\ud83c\udde7\ud83c[\udde6\udde7\udde9-\uddef\uddf1-\uddf4\uddf6-\uddf9\uddfb\uddfc\uddfe\uddff]|\ud83c\udde8\ud83c[\udde6\udde8\udde9\uddeb-\uddee\uddf0-\uddf5\uddf7\uddfa-\uddff]|\ud83c\udde9\ud83c[\uddea\uddec\uddef\uddf0\uddf2\uddf4\uddff]|\ud83c\uddea\ud83c[\udde6\udde8\uddea\uddec\udded\uddf7-\uddfa]|\ud83c\uddeb\ud83c[\uddee-\uddf0\uddf2\uddf4\uddf7]|\ud83c\uddec\ud83c[\udde6\udde7\udde9-\uddee\uddf1-\uddf3\uddf5-\uddfa\uddfc\uddfe]|\ud83c\udded\ud83c[\uddf0\uddf2\uddf3\uddf7\uddf9\uddfa]|\ud83c\uddee\ud83c[\udde8-\uddea\uddf1-\uddf4\uddf6-\uddf9]|\ud83c\uddef\ud83c[\uddea\uddf2\uddf4\uddf5]|\ud83c\uddf0\ud83c[\uddea\uddec-\uddee\uddf2\uddf3\uddf5\uddf7\uddfc\uddfe\uddff]|\ud83c\uddf1\ud83c[\udde6-\udde8\uddee\uddf0\uddf7-\uddfb\uddfe]|\ud83c\uddf2\ud83c[\udde6\udde8-\udded\uddf0-\uddff]|\ud83c\uddf3\ud83c[\udde6\udde8\uddea-\uddec\uddee\uddf1\uddf4\uddf5\uddf7\uddfa\uddff]|\ud83c\uddf4\ud83c\uddf2|\ud83c\uddf5\ud83c[\udde6\uddea-\udded\uddf0-\uddf3\uddf7-\uddf9\uddfc\uddfe]|\ud83c\uddf6\ud83c\udde6|\ud83c\uddf7\ud83c[\uddea\uddf4\uddf8\uddfa\uddfc]|\ud83c\uddf8\ud83c[\udde6-\uddea\uddec-\uddf4\uddf7-\uddf9\uddfb\uddfd-\uddff]|\ud83c\uddf9\ud83c[\udde6\udde8\udde9\uddeb-\udded\uddef-\uddf4\uddf7\uddf9\uddfb\uddfc\uddff]|\ud83c\uddfa\ud83c[\udde6\uddec\uddf2\uddf3\uddf8\uddfe\uddff]|\ud83c\uddfb\ud83c[\udde6\udde8\uddea\uddec\uddee\uddf3\uddfa]|\ud83c\uddfc\ud83c[\uddeb\uddf8]|\ud83c\uddfd\ud83c\uddf0|\ud83c\uddfe\ud83c[\uddea\uddf9]|\ud83c\uddff\ud83c[\udde6\uddf2\uddfc]|\ud83c[\udccf\udd8e\udd91-\udd9a\udde6-\uddff\ude01\ude32-\ude36\ude38-\ude3a\ude50\ude51\udf00-\udf20\udf2d-\udf35\udf37-\udf7c\udf7e-\udf84\udf86-\udf93\udfa0-\udfc1\udfc5\udfc6\udfc8\udfc9\udfcf-\udfd3\udfe0-\udff0\udff4\udff8-\udfff]|\ud83d[\udc00-\udc3e\udc40\udc44\udc45\udc51-\udc65\udc6a\udc6f\udc79-\udc7b\udc7d-\udc80\udc84\udc88-\udca9\udcab-\udcfc\udcff-\udd3d\udd4b-\udd4e\udd50-\udd67\udda4\uddfb-\ude44\ude48-\ude4a\ude80-\udea2\udea4-\udeb3\udeb7-\udebf\udec1-\udec5\uded0-\uded2\uded5-\uded7\udeeb\udeec\udef4-\udefc\udfe0-\udfeb]|\ud83e[\udd0d\udd0e\udd10-\udd17\udd1d\udd20-\udd25\udd27-\udd2f\udd3a\udd3c\udd3f-\udd45\udd47-\udd76\udd78\udd7a-\uddb4\uddb7\uddba\uddbc-\uddcb\uddd0\uddde-\uddff\ude70-\ude74\ude78-\ude7a\ude80-\ude86\ude90-\udea8\udeb0-\udeb6\udec0-\udec2\uded0-\uded6]|[\u23e9-\u23ec\u23f0\u23f3\u267e\u26ce\u2705\u2728\u274c\u274e\u2753-\u2755\u2795-\u2797\u27b0\u27bf\ue50a])|\ufe0f/g,c=/\uFE0F/g,e=String.fromCharCode(8205),a=/[&<>'"]/g,t=/^(?:iframe|noframes|noscript|script|select|style|textarea)$/,b=String.fromCharCode;return d;function n(d,u){return document.createTextNode(u?d.replace(c,""):d)}function r(d,u){return"".concat(u.base,u.size,"/",d,u.ext)}function o(d){return h(d.indexOf(e)<0?d.replace(c,""):d)}function i(d,u){for(var c,e,a,b,r,i,s,l,p,m,h,g,x,v=function d(u,f){for(var c,e,a=u.childNodes,b=a.length;b--;)3===(e=(c=a[b]).nodeType)?f.push(c):1!==e||"ownerSVGElement"in c||t.test(c.nodeName.toLowerCase())||d(c,f);return f}(d,[]),w=v.length;w--;){for(a=!1,b=document.createDocumentFragment(),i=(r=v[w]).nodeValue,l=0;s=f.exec(i);){if((p=s.index)!==l&&b.appendChild(n(i.slice(l,p),!0)),g=o(h=s[0]),l=p+h.length,x=u.callback(g,u),g&&x){for(e in(m=new Image).onerror=u.onerror,m.setAttribute("draggable","false"),c=u.attributes(h,g))c.hasOwnProperty(e)&&0!==e.indexOf("on")&&!m.hasAttribute(e)&&m.setAttribute(e,c[e]);m.className=u.className,m.alt=h,m.src=x,a=!0,b.appendChild(m)}m||b.appendChild(n(h,!1)),m=null}a&&(l<i.length&&b.appendChild(n(i.slice(l),!0)),r.parentNode.replaceChild(b,r))}return d}function s(d,u){return m(d,(function(d){var f,c,e=d,t=o(d),b=u.callback(t,u);if(t&&b){for(c in e="<img ".concat('class="',u.className,'" ','draggable="false" ','alt="',d,'"',' src="',b,'"'),f=u.attributes(d,t))f.hasOwnProperty(c)&&0!==c.indexOf("on")&&-1===e.indexOf(" "+c+"=")&&(e=e.concat(" ",c,'="',f[c].replace(a,l),'"'));e=e.concat("/>")}return e}))}function l(d){return u[d]}function p(){return null}function m(d,u){return String(d).replace(f,u)}function h(d,u){for(var f=[],c=0,e=0,a=0;a<d.length;)c=d.charCodeAt(a++),e?(f.push((65536+(e-55296<<10)+(c-56320)).toString(16)),e=0):55296<=c&&c<=56319?e=c:f.push(c.toString(16));return f.join(u||"-")}}();u.a=c}}]);
|
|
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvdmVlLXZhbGlkYXRlL2Rpc3QvcnVsZXMuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL3R3ZW1vamkvZGlzdC90d2Vtb2ppLmVzbS5qcyJdLCJuYW1lcyI6WyJpc051bGxPclVuZGVmaW5lZCIsInZhbHVlIiwiaXNFbXB0eUFycmF5IiwiYXJyIiwiQXJyYXkiLCJpc0FycmF5IiwibGVuZ3RoIiwicmVxdWlyZWQiLCJ2YWxpZGF0ZSIsIl9hIiwiYWxsb3dGYWxzZSIsInJlc3VsdCIsInZhbGlkIiwiU3RyaW5nIiwidHJpbSIsInBhcmFtcyIsIm5hbWUiLCJkZWZhdWx0IiwiY29tcHV0ZXNSZXF1aXJlZCIsInR3ZW1vamkiLCJiYXNlIiwiZXh0Iiwic2l6ZSIsImNsYXNzTmFtZSIsImNvbnZlcnQiLCJmcm9tQ29kZVBvaW50IiwiY29kZXBvaW50IiwiY29kZSIsInBhcnNlSW50IiwiZnJvbUNoYXJDb2RlIiwidG9Db2RlUG9pbnQiLCJvbmVycm9yIiwidGhpcyIsInBhcmVudE5vZGUiLCJyZXBsYWNlQ2hpbGQiLCJjcmVhdGVUZXh0IiwiYWx0IiwicGFyc2UiLCJ3aGF0IiwiaG93IiwiY2FsbGJhY2siLCJwYXJzZVN0cmluZyIsInBhcnNlTm9kZSIsImRlZmF1bHRJbWFnZVNyY0dlbmVyYXRvciIsImF0dHJpYnV0ZXMiLCJyZXR1cm5OdWxsIiwiZm9sZGVyIiwicmVwbGFjZSIsInRlc3QiLCJ0ZXh0IiwicmUiLCJsYXN0SW5kZXgiLCJlc2NhcGVyIiwiVUZFMEZnIiwiVTIwMEQiLCJyZXNjYXBlciIsInNob3VsZG50QmVQYXJzZWQiLCJjbGVhbiIsImRvY3VtZW50IiwiY3JlYXRlVGV4dE5vZGUiLCJpY29uIiwib3B0aW9ucyIsImNvbmNhdCIsImdyYWJUaGVSaWdodEljb24iLCJyYXdUZXh0IiwiaW5kZXhPZiIsIm5vZGUiLCJhdHRyaWIiLCJhdHRybmFtZSIsIm1vZGlmaWVkIiwiZnJhZ21lbnQiLCJzdWJub2RlIiwibWF0Y2giLCJpIiwiaW5kZXgiLCJpbWciLCJpY29uSWQiLCJzcmMiLCJhbGxUZXh0IiwiZ3JhYkFsbFRleHROb2RlcyIsIm5vZGVUeXBlIiwiY2hpbGROb2RlcyIsInB1c2giLCJub2RlTmFtZSIsInRvTG93ZXJDYXNlIiwiY3JlYXRlRG9jdW1lbnRGcmFnbWVudCIsIm5vZGVWYWx1ZSIsImV4ZWMiLCJhcHBlbmRDaGlsZCIsInNsaWNlIiwiSW1hZ2UiLCJzZXRBdHRyaWJ1dGUiLCJoYXNPd25Qcm9wZXJ0eSIsImhhc0F0dHJpYnV0ZSIsInN0ciIsInJldCIsInJlcGxhY2VyIiwibSIsInVuaWNvZGVTdXJyb2dhdGVzIiwic2VwIiwiciIsImMiLCJwIiwiY2hhckNvZGVBdCIsInRvU3RyaW5nIiwiam9pbiJdLCJtYXBwaW5ncyI6IjsyRkFBQSxrQ0ErVEEsU0FBU0EsRUFBa0JDLEdBQ3ZCLE9BQU9BLFFBRVgsU0FBU0MsRUFBYUMsR0FDbEIsT0FBT0MsTUFBTUMsUUFBUUYsSUFBdUIsSUFBZkEsRUFBSUcsT0E2QnJDLElBNlFJQyxFQUFXLENBQ1hDLFNBeEJhLFNBQVVQLEVBQU9RLEdBQzlCLElBQUlDLFFBQXFCLElBQVBELEVBQWdCLENBQUVDLFlBQVksR0FBU0QsR0FBSUMsV0FDekRDLEVBQVMsQ0FDVEMsT0FBTyxFQUNQTCxVQUFVLEdBRWQsT0FBSVAsRUFBa0JDLElBQVVDLEVBQWFELEdBQ2xDVSxHQUdHLElBQVZWLEdBQW9CUyxHQUd4QkMsRUFBT0MsUUFBVUMsT0FBT1osR0FBT2EsT0FBT1IsT0FDL0JLLEdBSElBLEdBY1hJLE9BUlcsQ0FDWCxDQUNJQyxLQUFNLGFBQ05DLFNBQVMsSUFNYkMsa0JBVm1CLEksa0NDcm1CdkIsSUFBSUMsRUFBUSxXQUF3QixJQUFJQSxFQUFRLENBQUNDLEtBQUssdUNBQXVDQyxJQUFJLE9BQU9DLEtBQUssUUFBUUMsVUFBVSxRQUFRQyxRQUFRLENBQUNDLGNBQTA2VyxTQUF1QkMsR0FBVyxJQUFJQyxFQUF3QixpQkFBWkQsRUFBcUJFLFNBQVNG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USxRQUE0QyxJQUFqQzhCLEVBQUk5QixRQUFRLElBQUlHLEVBQVMsT0FBVzJCLEVBQUlBLEVBQUlqQyxPQUFPLElBQUlNLEVBQVMsS0FBZ0JELEVBQU9DLEdBQXR2RXJCLFFBQVFRLEVBQVN5QyxHQUFndkUsTUFBTUQsRUFBSUEsRUFBSWpDLE9BQU8sTUFBTSxPQUFPaUMsS0FBTSxTQUFTQyxFQUFTQyxHQUFHLE9BQU83QyxFQUFRNkMsR0FBRyxTQUFTcEQsSUFBYSxPQUFPLEtBQWd4QixTQUFTRSxFQUFRRSxFQUFLVCxHQUFVLE9BQU8zQixPQUFPb0MsR0FBTUYsUUFBUUcsRUFBR1YsR0FBbUcsU0FBU1YsRUFBWW9FLEVBQWtCQyxHQUEwQixJQUFyQixJQUFJQyxFQUFFLEdBQUdDLEVBQUUsRUFBRUMsRUFBRSxFQUFFN0IsRUFBRSxFQUFRQSxFQUFFeUIsRUFBa0I1RixRQUFRK0YsRUFBRUgsRUFBa0JLLFdBQVc5QixLQUFRNkIsR0FBR0YsRUFBRWxCLE1BQU0sT0FBT29CLEVBQUUsT0FBTyxLQUFLRCxFQUFFLFFBQVFHLFNBQVMsS0FBS0YsRUFBRSxHQUFVLE9BQU9ELEdBQUdBLEdBQUcsTUFBT0MsRUFBRUQsRUFBT0QsRUFBRWxCLEtBQUttQixFQUFFRyxTQUFTLEtBQU0sT0FBT0osRUFBRUssS0FBS04sR0FBSyxNQUF6cFosR0FDRyIsImZpbGUiOiJ2ZW5kb3JzfmNodW5rcy9wbGF0Zm9ybX5jaHVua3Mvc2hhcmVkLmpzP2lkPWM0MjUxZGFhOTNhYWJlYTEyOTYwIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gICogdmVlLXZhbGlkYXRlIHYzLjMuOVxuICAqIChjKSAyMDIwIEFiZGVscmFobWFuIEF3YWRcbiAgKiBAbGljZW5zZSBNSVRcbiAgKi9cbi8qKlxyXG4gKiBTb21lIEFscGhhIFJlZ2V4IGhlbHBlcnMuXHJcbiAqIGh0dHBzOi8vZ2l0aHViLmNvbS9jaHJpc28vdmFsaWRhdG9yLmpzL2Jsb2IvbWFzdGVyL3NyYy9saWIvYWxwaGEuanNcclxuICovXHJcbi8qIGVzbGludC1kaXNhYmxlIG5vLW1pc2xlYWRpbmctY2hhcmFjdGVyLWNsYXNzICovXHJcbnZhciBhbHBoYSA9IHtcclxuICAgIGVuOiAvXltBLVpdKiQvaSxcclxuICAgIGNzOiAvXltBLVrDgcSMxI7DicSaw43Fh8OTxZjFoMWkw5rFrsOdxb1dKiQvaSxcclxuICAgIGRhOiAvXltBLVrDhsOYw4VdKiQvaSxcclxuICAgIGRlOiAvXltBLVrDhMOWw5zDn10qJC9pLFxyXG4gICAgZXM6IC9eW0EtWsOBw4nDjcORw5PDmsOcXSokL2ksXHJcbiAgICBmYTogL15b2KHYotij2KTYpdim2KfYqNip2KrYq9is2K3Yrtiv2LDYsdiy2LPYtNi12LbYt9i42LnYutmB2YLZg9mE2YXZhtmH2YjZidmK2YvZjNmN2Y7Zj9mQ2ZHZktmw2b7amNqv2obaqduMXSokLyxcclxuICAgIGZyOiAvXltBLVrDgMOCw4bDh8OJw4jDisOLw4/DjsOUxZLDmcObw5zFuF0qJC9pLFxyXG4gICAgaXQ6IC9eW0EtWlxceEMwLVxceEZGXSokL2ksXHJcbiAgICBsdDogL15bQS1axITEjMSYxJbErsWgxbLFqsW9XSokL2ksXHJcbiAgICBubDogL15bQS1aw4nDi8OPw5PDlsOcXSokL2ksXHJcbiAgICBodTogL15bQS1aw4HDicONw5PDlsWQw5rDnMWwXSokL2ksXHJcbiAgICBwbDogL15bQS1axITEhsSYxZrFgcWDw5PFu8W5XSokL2ksXHJcbiAgICBwdDogL15bQS1aw4PDgcOAw4LDh8OJw4rDjcOVw5PDlMOaw5xdKiQvaSxcclxuICAgIHJvOiAvXltBLVrEgsOCw47FnsWiXSokL2ksXHJcbiAgICBydTogL15b0JAt0K/QgV0qJC9pLFxyXG4gICAgc2s6IC9eW0EtWsOBw4TEjMSOw4nDjcS5xL3Fh8OTxZTFoMWkw5rDncW9XSokL2ksXHJcbiAgICBzcjogL15bQS1axIzEhsW9xaDEkF0qJC9pLFxyXG4gICAgc3Y6IC9eW0EtWsOFw4TDll0qJC9pLFxyXG4gICAgdHI6IC9eW0EtWsOHxJ7EsMSxw5bFnsOcXSokL2ksXHJcbiAgICB1azogL15b0JAt0KnQrNCu0K/QhNCG0IfSkF0qJC9pLFxyXG4gICAgYXI6IC9eW9ih2KLYo9ik2KXYptin2KjYqdiq2KvYrNit2K7Yr9iw2LHYstiz2LTYtdi22LfYuNi52LrZgdmC2YPZhNmF2YbZh9mI2YnZitmL2YzZjdmO2Y/ZkNmR2ZLZsF0qJC8sXHJcbiAgICBhejogL15bQS1aw4fGj8SexLDEscOWxZ7DnF0qJC9pLFxyXG4gICAgZWw6IC9eW86RLc+OXSokL2lcclxufTtcclxudmFyIGFscGhhU3BhY2VzID0ge1xyXG4gICAgZW46IC9eW0EtWlxcc10qJC9pLFxyXG4gICAgY3M6IC9eW0EtWsOBxIzEjsOJxJrDjcWHw5PFmMWgxaTDmsWuw53FvVxcc10qJC9pLFxyXG4gICAgZGE6IC9eW0EtWsOGw5jDhVxcc10qJC9pLFxyXG4gICAgZGU6IC9eW0EtWsOEw5bDnMOfXFxzXSokL2ksXHJcbiAgICBlczogL15bQS1aw4HDicONw5HDk8Oaw5xcXHNdKiQvaSxcclxuICAgIGZhOiAvXlvYodii2KPYpNil2KbYp9io2KnYqtir2KzYrdiu2K/YsNix2LLYs9i02LXYtti32LjYudi62YHZgtmD2YTZhdmG2YfZiNmJ2YrZi9mM2Y3ZjtmP2ZDZkdmS2bDZvtqY2q/ahtqp24xdKiQvLFxyXG4gICAgZnI6IC9eW0EtWsOAw4LDhsOHw4nDiMOKw4vDj8OOw5TFksOZw5vDnMW4XFxzXSokL2ksXHJcbiAgICBpdDogL15bQS1aXFx4QzAtXFx4RkZcXHNdKiQvaSxcclxuICAgIGx0OiAvXltBLVrEhMSMxJjElsSuxaDFssWqxb1cXHNdKiQvaSxcclxuICAgIG5sOiAvXltBLVrDicOLw4/Dk8OWw5xcXHNdKiQvaSxcclxuICAgIGh1OiAvXltBLVrDgcOJw43Dk8OWxZDDmsOcxbBcXHNdKiQvaSxcclxuICAgIHBsOiAvXltBLVrEhMSGxJjFmsWBxYPDk8W7xblcXHNdKiQvaSxcclxuICAgIHB0OiAvXltBLVrDg8OBw4DDgsOHw4nDisONw5XDk8OUw5rDnFxcc10qJC9pLFxyXG4gICAgcm86IC9eW0EtWsSCw4LDjsWexaJcXHNdKiQvaSxcclxuICAgIHJ1OiAvXlvQkC3Qr9CBXFxzXSokL2ksXHJcbiAgICBzazogL15bQS1aw4HDhMSMxI7DicONxLnEvcWHw5PFlMWgxaTDmsOdxb1cXHNdKiQvaSxcclxuICAgIHNyOiAvXltBLVrEjMSGxb3FoMSQXFxzXSokL2ksXHJcbiAgICBzdjogL15bQS1aw4XDhMOWXFxzXSokL2ksXHJcbiAgICB0cjogL15bQS1aw4fEnsSwxLHDlsWew5xcXHNdKiQvaSxcclxuICAgIHVrOiAvXlvQkC3QqdCs0K7Qr9CE0IbQh9KQXFxzXSokL2ksXHJcbiAgICBhcjogL15b2KHYotij2KTYpdim2KfYqNip2KrYq9is2K3Yrtiv2LDYsdiy2LPYtNi12LbYt9i42LnYutmB2YLZg9mE2YXZhtmH2YjZidmK2YvZjNmN2Y7Zj9mQ2ZHZktmwXFxzXSokLyxcclxuICAgIGF6OiAvXltBLVrDh8aPxJ7EsMSxw5bFnsOcXFxzXSokL2ksXHJcbiAgICBlbDogL15bzpEtz45cXHNdKiQvaVxyXG59O1xyXG52YXIgYWxwaGFudW1lcmljID0ge1xyXG4gICAgZW46IC9eWzAtOUEtWl0qJC9pLFxyXG4gICAgY3M6IC9eWzAtOUEtWsOBxIzEjsOJxJrDjcWHw5PFmMWgxaTDmsWuw53FvV0qJC9pLFxyXG4gICAgZGE6IC9eWzAtOUEtWsOGw5jDhV0kL2ksXHJcbiAgICBkZTogL15bMC05QS1aw4TDlsOcw59dKiQvaSxcclxuICAgIGVzOiAvXlswLTlBLVrDgcOJw43DkcOTw5rDnF0qJC9pLFxyXG4gICAgZmE6IC9eW9ih2KLYo9ik2KXYptin2KjYqdiq2KvYrNit2K7Yr9iw2LHYstiz2LTYtdi22LfYuNi52LrZgdmC2YPZhNmF2YbZh9mI2YnZitmL2YzZjdmO2Y/ZkNmR2ZLZsNm+2pjar9qG2qnbjF0qJC8sXHJcbiAgICBmcjogL15bMC05QS1aw4DDgsOGw4fDicOIw4rDi8OPw47DlMWSw5nDm8OcxbhdKiQvaSxcclxuICAgIGl0OiAvXlswLTlBLVpcXHhDMC1cXHhGRl0qJC9pLFxyXG4gICAgbHQ6IC9eWzAtOUEtWsSExIzEmMSWxK7FoMWyxarFvV0qJC9pLFxyXG4gICAgaHU6IC9eWzAtOUEtWsOBw4nDjcOTw5bFkMOaw5zFsF0qJC9pLFxyXG4gICAgbmw6IC9eWzAtOUEtWsOJw4vDj8OTw5bDnF0qJC9pLFxyXG4gICAgcGw6IC9eWzAtOUEtWsSExIbEmMWaxYHFg8OTxbvFuV0qJC9pLFxyXG4gICAgcHQ6IC9eWzAtOUEtWsODw4HDgMOCw4fDicOKw43DlcOTw5TDmsOcXSokL2ksXHJcbiAgICBybzogL15bMC05QS1axILDgsOOxZ7Fol0qJC9pLFxyXG4gICAgcnU6IC9eWzAtOdCQLdCv0IFdKiQvaSxcclxuICAgIHNrOiAvXlswLTlBLVrDgcOExIzEjsOJw43EucS9xYfDk8WUxaDFpMOaw53FvV0qJC9pLFxyXG4gICAgc3I6IC9eWzAtOUEtWsSMxIbFvcWgxJBdKiQvaSxcclxuICAgIHN2OiAvXlswLTlBLVrDhcOEw5ZdKiQvaSxcclxuICAgIHRyOiAvXlswLTlBLVrDh8SexLDEscOWxZ7DnF0qJC9pLFxyXG4gICAgdWs6IC9eWzAtOdCQLdCp0KzQrtCv0ITQhtCH0pBdKiQvaSxcclxuICAgIGFyOiAvXlvZoNmh2aLZo9mk2aXZptmn2ajZqTAtOdih2KLYo9ik2KXYptin2KjYqdiq2KvYrNit2K7Yr9iw2LHYstiz2LTYtdi22LfYuNi52LrZgdmC2YPZhNmF2YbZh9mI2YnZitmL2YzZjdmO2Y/ZkNmR2ZLZsF0qJC8sXHJcbiAgICBhejogL15bMC05QS1aw4fGj8SexLDEscOWxZ7DnF0qJC9pLFxyXG4gICAgZWw6IC9eWzAtOc6RLc+OXSokL2lcclxufTtcclxudmFyIGFscGhhRGFzaCA9IHtcclxuICAgIGVuOiAvXlswLTlBLVpfLV0qJC9pLFxyXG4gICAgY3M6IC9eWzAtOUEtWsOBxIzEjsOJxJrDjcWHw5PFmMWgxaTDmsWuw53FvV8tXSokL2ksXHJcbiAgICBkYTogL15bMC05QS1aw4bDmMOFXy1dKiQvaSxcclxuICAgIGRlOiAvXlswLTlBLVrDhMOWw5zDn18tXSokL2ksXHJcbiAgICBlczogL15bMC05QS1aw4HDicONw5HDk8Oaw5xfLV0qJC9pLFxyXG4gICAgZmE6IC9eW9ih2KLYo9ik2KXYptin2KjYqdiq2KvYrNit2K7Yr9iw2LHYstiz2LTYtdi22LfYuNi52LrZgdmC2YPZhNmF2YbZh9mI2YnZitmL2YzZjdmO2Y/ZkNmR2ZLZsNm+2pjar9qG2qnbjF0qJC8sXHJcbiAgICBmcjogL15bMC05QS1aw4DDgsOGw4fDicOIw4rDi8OPw47DlMWSw5nDm8OcxbhfLV0qJC9pLFxyXG4gICAgaXQ6IC9eWzAtOUEtWlxceEMwLVxceEZGXy1dKiQvaSxcclxuICAgIGx0OiAvXlswLTlBLVrEhMSMxJjElsSuxaDFssWqxb1fLV0qJC9pLFxyXG4gICAgbmw6IC9eWzAtOUEtWsOJw4vDj8OTw5bDnF8tXSokL2ksXHJcbiAgICBodTogL15bMC05QS1aw4HDicONw5PDlsWQw5rDnMWwXy1dKiQvaSxcclxuICAgIHBsOiAvXlswLTlBLVrEhMSGxJjFmsWBxYPDk8W7xblfLV0qJC9pLFxyXG4gICAgcHQ6IC9eWzAtOUEtWsODw4HDgMOCw4fDicOKw43DlcOTw5TDmsOcXy1dKiQvaSxcclxuICAgIHJvOiAvXlswLTlBLVrEgsOCw47FnsWiXy1dKiQvaSxcclxuICAgIHJ1OiAvXlswLTnQkC3Qr9CBXy1dKiQvaSxcclxuICAgIHNrOiAvXlswLTlBLVrDgcOExIzEjsOJw43EucS9xYfDk8WUxaDFpMOaw53FvV8tXSokL2ksXHJcbiAgICBzcjogL15bMC05QS1axIzEhsW9xaDEkF8tXSokL2ksXHJcbiAgICBzdjogL15bMC05QS1aw4XDhMOWXy1dKiQvaSxcclxuICAgIHRyOiAvXlswLTlBLVrDh8SexLDEscOWxZ7DnF8tXSokL2ksXHJcbiAgICB1azogL15bMC050JAt0KnQrNCu0K/QhNCG0IfSkF8tXSokL2ksXHJcbiAgICBhcjogL15b2aDZodmi2aPZpNml2abZp9mo2akwLTnYodii2KPYpNil2KbYp9io2KnYqtir2KzYrdiu2K/YsNix2LLYs9i02LXYtti32LjYudi62YHZgtmD2YTZhdmG2YfZiNmJ2YrZi9mM2Y3ZjtmP2ZDZkdmS2bBfLV0qJC8sXHJcbiAgICBhejogL15bMC05QS1aw4fGj8SexLDEscOWxZ7DnF8tXSokL2ksXHJcbiAgICBlbDogL15bMC05zpEtz45fLV0qJC9pXHJcbn07XG5cbnZhciB2YWxpZGF0ZSA9IGZ1bmN0aW9uICh2YWx1ZSwgX2EpIHtcclxuICAgIHZhciBfYiA9IChfYSA9PT0gdm9pZCAwID8ge30gOiBfYSkubG9jYWxlLCBsb2NhbGUgPSBfYiA9PT0gdm9pZCAwID8gJycgOiBfYjtcclxuICAgIGlmIChBcnJheS5pc0FycmF5KHZhbHVlKSkge1xyXG4gICAgICAgIHJldHVybiB2YWx1ZS5ldmVyeShmdW5jdGlvbiAodmFsKSB7IHJldHVybiB2YWxpZGF0ZSh2YWwsIHsgbG9jYWxlOiBsb2NhbGUgfSk7IH0pO1xyXG4gICAgfVxyXG4gICAgLy8gTWF0Y2ggYXQgbGVhc3Qgb25lIGxvY2FsZS5cclxuICAgIGlmICghbG9jYWxlKSB7XHJcbiAgICAgICAgcmV0dXJuIE9iamVjdC5rZXlzKGFscGhhKS5zb21lKGZ1bmN0aW9uIChsb2MpIHsgcmV0dXJuIGFscGhhW2xvY10udGVzdCh2YWx1ZSk7IH0pO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIChhbHBoYVtsb2NhbGVdIHx8IGFscGhhLmVuKS50ZXN0KHZhbHVlKTtcclxufTtcclxudmFyIHBhcmFtcyA9IFtcclxuICAgIHtcclxuICAgICAgICBuYW1lOiAnbG9jYWxlJ1xyXG4gICAgfVxyXG5dO1xyXG52YXIgYWxwaGEkMSA9IHtcclxuICAgIHZhbGlkYXRlOiB2YWxpZGF0ZSxcclxuICAgIHBhcmFtczogcGFyYW1zXHJcbn07XG5cbnZhciB2YWxpZGF0ZSQxID0gZnVuY3Rpb24gKHZhbHVlLCBfYSkge1xyXG4gICAgdmFyIF9iID0gKF9hID09PSB2b2lkIDAgPyB7fSA6IF9hKS5sb2NhbGUsIGxvY2FsZSA9IF9iID09PSB2b2lkIDAgPyAnJyA6IF9iO1xyXG4gICAgaWYgKEFycmF5LmlzQXJyYXkodmFsdWUpKSB7XHJcbiAgICAgICAgcmV0dXJuIHZhbHVlLmV2ZXJ5KGZ1bmN0aW9uICh2YWwpIHsgcmV0dXJuIHZhbGlkYXRlJDEodmFsLCB7IGxvY2FsZTogbG9jYWxlIH0pOyB9KTtcclxuICAgIH1cclxuICAgIC8vIE1hdGNoIGF0IGxlYXN0IG9uZSBsb2NhbGUuXHJcbiAgICBpZiAoIWxvY2FsZSkge1xyXG4gICAgICAgIHJldHVybiBPYmplY3Qua2V5cyhhbHBoYURhc2gpLnNvbWUoZnVuY3Rpb24gKGxvYykgeyByZXR1cm4gYWxwaGFEYXNoW2xvY10udGVzdCh2YWx1ZSk7IH0pO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIChhbHBoYURhc2hbbG9jYWxlXSB8fCBhbHBoYURhc2guZW4pLnRlc3QodmFsdWUpO1xyXG59O1xyXG52YXIgcGFyYW1zJDEgPSBbXHJcbiAgICB7XHJcbiAgICAgICAgbmFtZTogJ2xvY2FsZSdcclxuICAgIH1cclxuXTtcclxudmFyIGFscGhhX2Rhc2ggPSB7XHJcbiAgICB2YWxpZGF0ZTogdmFsaWRhdGUkMSxcclxuICAgIHBhcmFtczogcGFyYW1zJDFcclxufTtcblxudmFyIHZhbGlkYXRlJDIgPSBmdW5jdGlvbiAodmFsdWUsIF9hKSB7XHJcbiAgICB2YXIgX2IgPSAoX2EgPT09IHZvaWQgMCA/IHt9IDogX2EpLmxvY2FsZSwgbG9jYWxlID0gX2IgPT09IHZvaWQgMCA/ICcnIDogX2I7XHJcbiAgICBpZiAoQXJyYXkuaXNBcnJheSh2YWx1ZSkpIHtcclxuICAgICAgICByZXR1cm4gdmFsdWUuZXZlcnkoZnVuY3Rpb24gKHZhbCkgeyByZXR1cm4gdmFsaWRhdGUkMih2YWwsIHsgbG9jYWxlOiBsb2NhbGUgfSk7IH0pO1xyXG4gICAgfVxyXG4gICAgLy8gTWF0Y2ggYXQgbGVhc3Qgb25lIGxvY2FsZS5cclxuICAgIGlmICghbG9jYWxlKSB7XHJcbiAgICAgICAgcmV0dXJuIE9iamVjdC5rZXlzKGFscGhhbnVtZXJpYykuc29tZShmdW5jdGlvbiAobG9jKSB7IHJldHVybiBhbHBoYW51bWVyaWNbbG9jXS50ZXN0KHZhbHVlKTsgfSk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gKGFscGhhbnVtZXJpY1tsb2NhbGVdIHx8IGFscGhhbnVtZXJpYy5lbikudGVzdCh2YWx1ZSk7XHJcbn07XHJcbnZhciBwYXJhbXMkMiA9IFtcclxuICAgIHtcclxuICAgICAgICBuYW1lOiAnbG9jYWxlJ1xyXG4gICAgfVxyXG5dO1xyXG52YXIgYWxwaGFfbnVtID0ge1xyXG4gICAgdmFsaWRhdGU6IHZhbGlkYXRlJDIsXHJcbiAgICBwYXJhbXM6IHBhcmFtcyQyXHJcbn07XG5cbnZhciB2YWxpZGF0ZSQzID0gZnVuY3Rpb24gKHZhbHVlLCBfYSkge1xyXG4gICAgdmFyIF9iID0gKF9hID09PSB2b2lkIDAgPyB7fSA6IF9hKS5sb2NhbGUsIGxvY2FsZSA9IF9iID09PSB2b2lkIDAgPyAnJyA6IF9iO1xyXG4gICAgaWYgKEFycmF5LmlzQXJyYXkodmFsdWUpKSB7XHJcbiAgICAgICAgcmV0dXJuIHZhbHVlLmV2ZXJ5KGZ1bmN0aW9uICh2YWwpIHsgcmV0dXJuIHZhbGlkYXRlJDModmFsLCB7IGxvY2FsZTogbG9jYWxlIH0pOyB9KTtcclxuICAgIH1cclxuICAgIC8vIE1hdGNoIGF0IGxlYXN0IG9uZSBsb2NhbGUuXHJcbiAgICBpZiAoIWxvY2FsZSkge1xyXG4gICAgICAgIHJldHVybiBPYmplY3Qua2V5cyhhbHBoYVNwYWNlcykuc29tZShmdW5jdGlvbiAobG9jKSB7IHJldHVybiBhbHBoYVNwYWNlc1tsb2NdLnRlc3QodmFsdWUpOyB9KTtcclxuICAgIH1cclxuICAgIHJldHVybiAoYWxwaGFTcGFjZXNbbG9jYWxlXSB8fCBhbHBoYVNwYWNlcy5lbikudGVzdCh2YWx1ZSk7XHJcbn07XHJcbnZhciBwYXJhbXMkMyA9IFtcclxuICAgIHtcclxuICAgICAgICBuYW1lOiAnbG9jYWxlJ1xyXG4gICAgfVxyXG5dO1xyXG52YXIgYWxwaGFfc3BhY2VzID0ge1xyXG4gICAgdmFsaWRhdGU6IHZhbGlkYXRlJDMsXHJcbiAgICBwYXJhbXM6IHBhcmFtcyQzXHJcbn07XG5cbnZhciB2YWxpZGF0ZSQ0ID0gZnVuY3Rpb24gKHZhbHVlLCBfYSkge1xyXG4gICAgdmFyIF9iID0gX2EgPT09IHZvaWQgMCA/IHt9IDogX2EsIG1pbiA9IF9iLm1pbiwgbWF4ID0gX2IubWF4O1xyXG4gICAgaWYgKEFycmF5LmlzQXJyYXkodmFsdWUpKSB7XHJcbiAgICAgICAgcmV0dXJuIHZhbHVlLmV2ZXJ5KGZ1bmN0aW9uICh2YWwpIHsgcmV0dXJuICEhdmFsaWRhdGUkNCh2YWwsIHsgbWluOiBtaW4sIG1heDogbWF4IH0pOyB9KTtcclxuICAgIH1cclxuICAgIHJldHVybiBOdW1iZXIobWluKSA8PSB2YWx1ZSAmJiBOdW1iZXIobWF4KSA+PSB2YWx1ZTtcclxufTtcclxudmFyIHBhcmFtcyQ0ID0gW1xyXG4gICAge1xyXG4gICAgICAgIG5hbWU6ICdtaW4nXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICAgIG5hbWU6ICdtYXgnXHJcbiAgICB9XHJcbl07XHJcbnZhciBiZXR3ZWVuID0ge1xyXG4gICAgdmFsaWRhdGU6IHZhbGlkYXRlJDQsXHJcbiAgICBwYXJhbXM6IHBhcmFtcyQ0XHJcbn07XG5cbnZhciB2YWxpZGF0ZSQ1ID0gZnVuY3Rpb24gKHZhbHVlLCBfYSkge1xyXG4gICAgdmFyIHRhcmdldCA9IF9hLnRhcmdldDtcclxuICAgIHJldHVybiBTdHJpbmcodmFsdWUpID09PSBTdHJpbmcodGFyZ2V0KTtcclxufTtcclxudmFyIHBhcmFtcyQ1ID0gW1xyXG4gICAge1xyXG4gICAgICAgIG5hbWU6ICd0YXJnZXQnLFxyXG4gICAgICAgIGlzVGFyZ2V0OiB0cnVlXHJcbiAgICB9XHJcbl07XHJcbnZhciBjb25maXJtZWQgPSB7XHJcbiAgICB2YWxpZGF0ZTogdmFsaWRhdGUkNSxcclxuICAgIHBhcmFtczogcGFyYW1zJDVcclxufTtcblxudmFyIHZhbGlkYXRlJDYgPSBmdW5jdGlvbiAodmFsdWUsIF9hKSB7XHJcbiAgICB2YXIgbGVuZ3RoID0gX2EubGVuZ3RoO1xyXG4gICAgaWYgKEFycmF5LmlzQXJyYXkodmFsdWUpKSB7XHJcbiAgICAgICAgcmV0dXJuIHZhbHVlLmV2ZXJ5KGZ1bmN0aW9uICh2YWwpIHsgcmV0dXJuIHZhbGlkYXRlJDYodmFsLCB7IGxlbmd0aDogbGVuZ3RoIH0pOyB9KTtcclxuICAgIH1cclxuICAgIHZhciBzdHJWYWwgPSBTdHJpbmcodmFsdWUpO1xyXG4gICAgcmV0dXJuIC9eWzAtOV0qJC8udGVzdChzdHJWYWwpICYmIHN0clZhbC5sZW5ndGggPT09IGxlbmd0aDtcclxufTtcclxudmFyIHBhcmFtcyQ2ID0gW1xyXG4gICAge1xyXG4gICAgICAgIG5hbWU6ICdsZW5ndGgnLFxyXG4gICAgICAgIGNhc3Q6IGZ1bmN0aW9uICh2YWx1ZSkge1xyXG4gICAgICAgICAgICByZXR1cm4gTnVtYmVyKHZhbHVlKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbl07XHJcbnZhciBkaWdpdHMgPSB7XHJcbiAgICB2YWxpZGF0ZTogdmFsaWRhdGUkNixcclxuICAgIHBhcmFtczogcGFyYW1zJDZcclxufTtcblxudmFyIHZhbGlkYXRlSW1hZ2UgPSBmdW5jdGlvbiAoZmlsZSwgd2lkdGgsIGhlaWdodCkge1xyXG4gICAgdmFyIFVSTCA9IHdpbmRvdy5VUkwgfHwgd2luZG93LndlYmtpdFVSTDtcclxuICAgIHJldHVybiBuZXcgUHJvbWlzZShmdW5jdGlvbiAocmVzb2x2ZSkge1xyXG4gICAgICAgIHZhciBpbWFnZSA9IG5ldyBJbWFnZSgpO1xyXG4gICAgICAgIGltYWdlLm9uZXJyb3IgPSBmdW5jdGlvbiAoKSB7IHJldHVybiByZXNvbHZlKGZhbHNlKTsgfTtcclxuICAgICAgICBpbWFnZS5vbmxvYWQgPSBmdW5jdGlvbiAoKSB7IHJldHVybiByZXNvbHZlKGltYWdlLndpZHRoID09PSB3aWR0aCAmJiBpbWFnZS5oZWlnaHQgPT09IGhlaWdodCk7IH07XHJcbiAgICAgICAgaW1hZ2Uuc3JjID0gVVJMLmNyZWF0ZU9iamVjdFVSTChmaWxlKTtcclxuICAgIH0pO1xyXG59O1xyXG52YXIgdmFsaWRhdGUkNyA9IGZ1bmN0aW9uIChmaWxlcywgX2EpIHtcclxuICAgIHZhciB3aWR0aCA9IF9hLndpZHRoLCBoZWlnaHQgPSBfYS5oZWlnaHQ7XHJcbiAgICB2YXIgbGlzdCA9IFtdO1xyXG4gICAgZmlsZXMgPSBBcnJheS5pc0FycmF5KGZpbGVzKSA/IGZpbGVzIDogW2ZpbGVzXTtcclxuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgZmlsZXMubGVuZ3RoOyBpKyspIHtcclxuICAgICAgICAvLyBpZiBmaWxlIGlzIG5vdCBhbiBpbWFnZSwgcmVqZWN0LlxyXG4gICAgICAgIGlmICghL1xcLihqcGd8c3ZnfGpwZWd8cG5nfGJtcHxnaWYpJC9pLnRlc3QoZmlsZXNbaV0ubmFtZSkpIHtcclxuICAgICAgICAgICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZShmYWxzZSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGxpc3QucHVzaChmaWxlc1tpXSk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gUHJvbWlzZS5hbGwobGlzdC5tYXAoZnVuY3Rpb24gKGZpbGUpIHsgcmV0dXJuIHZhbGlkYXRlSW1hZ2UoZmlsZSwgd2lkdGgsIGhlaWdodCk7IH0pKS50aGVuKGZ1bmN0aW9uICh2YWx1ZXMpIHtcclxuICAgICAgICByZXR1cm4gdmFsdWVzLmV2ZXJ5KGZ1bmN0aW9uICh2KSB7IHJldHVybiB2OyB9KTtcclxuICAgIH0pO1xyXG59O1xyXG52YXIgcGFyYW1zJDcgPSBbXHJcbiAgICB7XHJcbiAgICAgICAgbmFtZTogJ3dpZHRoJyxcclxuICAgICAgICBjYXN0OiBmdW5jdGlvbiAodmFsdWUpIHtcclxuICAgICAgICAgICAgcmV0dXJuIE51bWJlcih2YWx1ZSk7XHJcbiAgICAgICAgfVxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgICBuYW1lOiAnaGVpZ2h0JyxcclxuICAgICAgICBjYXN0OiBmdW5jdGlvbiAodmFsdWUpIHtcclxuICAgICAgICAgICAgcmV0dXJuIE51bWJlcih2YWx1ZSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5dO1xyXG52YXIgZGltZW5zaW9ucyA9IHtcclxuICAgIHZhbGlkYXRlOiB2YWxpZGF0ZSQ3LFxyXG4gICAgcGFyYW1zOiBwYXJhbXMkN1xyXG59O1xuXG52YXIgdmFsaWRhdGUkOCA9IGZ1bmN0aW9uICh2YWx1ZSwgX2EpIHtcclxuICAgIHZhciBtdWx0aXBsZSA9IChfYSA9PT0gdm9pZCAwID8ge30gOiBfYSkubXVsdGlwbGU7XHJcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmVcclxuICAgIHZhciByZSA9IC9eKChbXjw+KClcXFtcXF1cXFxcLiw7Olxcc0BcIl0rKFxcLltePD4oKVxcW1xcXVxcXFwuLDs6XFxzQFwiXSspKil8KFwiLitcIikpQCgoXFxbWzAtOV17MSwzfVxcLlswLTldezEsM31cXC5bMC05XXsxLDN9XFwuWzAtOV17MSwzfVxcXSl8KChbYS16QS1aXFwtMC05XStcXC4pK1thLXpBLVpdezIsfSkpJC87XHJcbiAgICBpZiAobXVsdGlwbGUgJiYgIUFycmF5LmlzQXJyYXkodmFsdWUpKSB7XHJcbiAgICAgICAgdmFsdWUgPSBTdHJpbmcodmFsdWUpXHJcbiAgICAgICAgICAgIC5zcGxpdCgnLCcpXHJcbiAgICAgICAgICAgIC5tYXAoZnVuY3Rpb24gKGVtYWlsU3RyKSB7IHJldHVybiBlbWFpbFN0ci50cmltKCk7IH0pO1xyXG4gICAgfVxyXG4gICAgaWYgKEFycmF5LmlzQXJyYXkodmFsdWUpKSB7XHJcbiAgICAgICAgcmV0dXJuIHZhbHVlLmV2ZXJ5KGZ1bmN0aW9uICh2YWwpIHsgcmV0dXJuIHJlLnRlc3QoU3RyaW5nKHZhbCkpOyB9KTtcclxuICAgIH1cclxuICAgIHJldHVybiByZS50ZXN0KFN0cmluZyh2YWx1ZSkpO1xyXG59O1xyXG52YXIgcGFyYW1zJDggPSBbXHJcbiAgICB7XHJcbiAgICAgICAgbmFtZTogJ211bHRpcGxlJyxcclxuICAgICAgICBkZWZhdWx0OiBmYWxzZVxyXG4gICAgfVxyXG5dO1xyXG52YXIgZW1haWwgPSB7XHJcbiAgICB2YWxpZGF0ZTogdmFsaWRhdGUkOCxcclxuICAgIHBhcmFtczogcGFyYW1zJDhcclxufTtcblxuZnVuY3Rpb24gaXNOdWxsT3JVbmRlZmluZWQodmFsdWUpIHtcclxuICAgIHJldHVybiB2YWx1ZSA9PT0gbnVsbCB8fCB2YWx1ZSA9PT0gdW5kZWZpbmVkO1xyXG59XHJcbmZ1bmN0aW9uIGlzRW1wdHlBcnJheShhcnIpIHtcclxuICAgIHJldHVybiBBcnJheS5pc0FycmF5KGFycikgJiYgYXJyLmxlbmd0aCA9PT0gMDtcclxufVxyXG5mdW5jdGlvbiBpc0NhbGxhYmxlKGZuKSB7XHJcbiAgICByZXR1cm4gdHlwZW9mIGZuID09PSAnZnVuY3Rpb24nO1xyXG59XG5cbmZ1bmN0aW9uIGluY2x1ZGVzKGNvbGxlY3Rpb24sIGl0ZW0pIHtcclxuICAgIHJldHVybiBjb2xsZWN0aW9uLmluZGV4T2YoaXRlbSkgIT09IC0xO1xyXG59XHJcbi8qKlxyXG4gKiBDb252ZXJ0cyBhbiBhcnJheS1saWtlIG9iamVjdCB0byBhcnJheSwgcHJvdmlkZXMgYSBzaW1wbGUgcG9seWZpbGwgZm9yIEFycmF5LmZyb21cclxuICovXHJcbmZ1bmN0aW9uIHRvQXJyYXkoYXJyYXlMaWtlKSB7XHJcbiAgICBpZiAoaXNDYWxsYWJsZShBcnJheS5mcm9tKSkge1xyXG4gICAgICAgIHJldHVybiBBcnJheS5mcm9tKGFycmF5TGlrZSk7XHJcbiAgICB9XHJcbiAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqL1xyXG4gICAgcmV0dXJuIF9jb3B5QXJyYXkoYXJyYXlMaWtlKTtcclxufVxyXG4vKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqL1xyXG5mdW5jdGlvbiBfY29weUFycmF5KGFycmF5TGlrZSkge1xyXG4gICAgdmFyIGFycmF5ID0gW107XHJcbiAgICB2YXIgbGVuZ3RoID0gYXJyYXlMaWtlLmxlbmd0aDtcclxuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgbGVuZ3RoOyBpKyspIHtcclxuICAgICAgICBhcnJheS5wdXNoKGFycmF5TGlrZVtpXSk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gYXJyYXk7XHJcbn1cblxudmFyIHZhbGlkYXRlJDkgPSBmdW5jdGlvbiAodmFsdWUsIG9wdGlvbnMpIHtcclxuICAgIGlmIChBcnJheS5pc0FycmF5KHZhbHVlKSkge1xyXG4gICAgICAgIHJldHVybiB2YWx1ZS5ldmVyeShmdW5jdGlvbiAodmFsKSB7IHJldHVybiB2YWxpZGF0ZSQ5KHZhbCwgb3B0aW9ucyk7IH0pO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHRvQXJyYXkob3B0aW9ucykuc29tZShmdW5jdGlvbiAoaXRlbSkge1xyXG4gICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZVxyXG4gICAgICAgIHJldHVybiBpdGVtID09IHZhbHVlO1xyXG4gICAgfSk7XHJcbn07XHJcbnZhciBvbmVPZiA9IHtcclxuICAgIHZhbGlkYXRlOiB2YWxpZGF0ZSQ5XHJcbn07XG5cbnZhciB2YWxpZGF0ZSRhID0gZnVuY3Rpb24gKHZhbHVlLCBhcmdzKSB7XHJcbiAgICByZXR1cm4gIXZhbGlkYXRlJDkodmFsdWUsIGFyZ3MpO1xyXG59O1xyXG52YXIgZXhjbHVkZWQgPSB7XHJcbiAgICB2YWxpZGF0ZTogdmFsaWRhdGUkYVxyXG59O1xuXG52YXIgdmFsaWRhdGUkYiA9IGZ1bmN0aW9uIChmaWxlcywgZXh0ZW5zaW9ucykge1xyXG4gICAgdmFyIHJlZ2V4ID0gbmV3IFJlZ0V4cChcIi4oXCIgKyBleHRlbnNpb25zLmpvaW4oJ3wnKSArIFwiKSRcIiwgJ2knKTtcclxuICAgIGlmIChBcnJheS5pc0FycmF5KGZpbGVzKSkge1xyXG4gICAgICAgIHJldHVybiBmaWxlcy5ldmVyeShmdW5jdGlvbiAoZmlsZSkgeyByZXR1cm4gcmVnZXgudGVzdChmaWxlLm5hbWUpOyB9KTtcclxuICAgIH1cclxuICAgIHJldHVybiByZWdleC50ZXN0KGZpbGVzLm5hbWUpO1xyXG59O1xyXG52YXIgZXh0ID0ge1xyXG4gICAgdmFsaWRhdGU6IHZhbGlkYXRlJGJcclxufTtcblxudmFyIHZhbGlkYXRlJGMgPSBmdW5jdGlvbiAoZmlsZXMpIHtcclxuICAgIHZhciByZWdleCA9IC9cXC4oanBnfHN2Z3xqcGVnfHBuZ3xibXB8Z2lmfHdlYnApJC9pO1xyXG4gICAgaWYgKEFycmF5LmlzQXJyYXkoZmlsZXMpKSB7XHJcbiAgICAgICAgcmV0dXJuIGZpbGVzLmV2ZXJ5KGZ1bmN0aW9uIChmaWxlKSB7IHJldHVybiByZWdleC50ZXN0KGZpbGUubmFtZSk7IH0pO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHJlZ2V4LnRlc3QoZmlsZXMubmFtZSk7XHJcbn07XHJcbnZhciBpbWFnZSA9IHtcclxuICAgIHZhbGlkYXRlOiB2YWxpZGF0ZSRjXHJcbn07XG5cbnZhciB2YWxpZGF0ZSRkID0gZnVuY3Rpb24gKHZhbHVlKSB7XHJcbiAgICBpZiAoQXJyYXkuaXNBcnJheSh2YWx1ZSkpIHtcclxuICAgICAgICByZXR1cm4gdmFsdWUuZXZlcnkoZnVuY3Rpb24gKHZhbCkgeyByZXR1cm4gL14tP1swLTldKyQvLnRlc3QoU3RyaW5nKHZhbCkpOyB9KTtcclxuICAgIH1cclxuICAgIHJldHVybiAvXi0/WzAtOV0rJC8udGVzdChTdHJpbmcodmFsdWUpKTtcclxufTtcclxudmFyIGludGVnZXIgPSB7XHJcbiAgICB2YWxpZGF0ZTogdmFsaWRhdGUkZFxyXG59O1xuXG52YXIgdmFsaWRhdGUkZSA9IGZ1bmN0aW9uICh2YWx1ZSwgX2EpIHtcclxuICAgIHZhciBvdGhlciA9IF9hLm90aGVyO1xyXG4gICAgcmV0dXJuIHZhbHVlID09PSBvdGhlcjtcclxufTtcclxudmFyIHBhcmFtcyQ5ID0gW1xyXG4gICAge1xyXG4gICAgICAgIG5hbWU6ICdvdGhlcidcclxuICAgIH1cclxuXTtcclxudmFyIGlzID0ge1xyXG4gICAgdmFsaWRhdGU6IHZhbGlkYXRlJGUsXHJcbiAgICBwYXJhbXM6IHBhcmFtcyQ5XHJcbn07XG5cbnZhciB2YWxpZGF0ZSRmID0gZnVuY3Rpb24gKHZhbHVlLCBfYSkge1xyXG4gICAgdmFyIG90aGVyID0gX2Eub3RoZXI7XHJcbiAgICByZXR1cm4gdmFsdWUgIT09IG90aGVyO1xyXG59O1xyXG52YXIgcGFyYW1zJGEgPSBbXHJcbiAgICB7XHJcbiAgICAgICAgbmFtZTogJ290aGVyJ1xyXG4gICAgfVxyXG5dO1xyXG52YXIgaXNfbm90ID0ge1xyXG4gICAgdmFsaWRhdGU6IHZhbGlkYXRlJGYsXHJcbiAgICBwYXJhbXM6IHBhcmFtcyRhXHJcbn07XG5cbnZhciB2YWxpZGF0ZSRnID0gZnVuY3Rpb24gKHZhbHVlLCBfYSkge1xyXG4gICAgdmFyIGxlbmd0aCA9IF9hLmxlbmd0aDtcclxuICAgIGlmIChpc051bGxPclVuZGVmaW5lZCh2YWx1ZSkpIHtcclxuICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICB9XHJcbiAgICBpZiAodHlwZW9mIHZhbHVlID09PSAnbnVtYmVyJykge1xyXG4gICAgICAgIHZhbHVlID0gU3RyaW5nKHZhbHVlKTtcclxuICAgIH1cclxuICAgIGlmICghdmFsdWUubGVuZ3RoKSB7XHJcbiAgICAgICAgdmFsdWUgPSB0b0FycmF5KHZhbHVlKTtcclxuICAgIH1cclxuICAgIHJldHVybiB2YWx1ZS5sZW5ndGggPT09IGxlbmd0aDtcclxufTtcclxudmFyIHBhcmFtcyRiID0gW1xyXG4gICAge1xyXG4gICAgICAgIG5hbWU6ICdsZW5ndGgnLFxyXG4gICAgICAgIGNhc3Q6IGZ1bmN0aW9uICh2YWx1ZSkgeyByZXR1cm4gTnVtYmVyKHZhbHVlKTsgfVxyXG4gICAgfVxyXG5dO1xyXG52YXIgbGVuZ3RoID0ge1xyXG4gICAgdmFsaWRhdGU6IHZhbGlkYXRlJGcsXHJcbiAgICBwYXJhbXM6IHBhcmFtcyRiXHJcbn07XG5cbnZhciB2YWxpZGF0ZSRoID0gZnVuY3Rpb24gKHZhbHVlLCBfYSkge1xyXG4gICAgdmFyIGxlbmd0aCA9IF9hLmxlbmd0aDtcclxuICAgIGlmIChpc051bGxPclVuZGVmaW5lZCh2YWx1ZSkpIHtcclxuICAgICAgICByZXR1cm4gbGVuZ3RoID49IDA7XHJcbiAgICB9XHJcbiAgICBpZiAoQXJyYXkuaXNBcnJheSh2YWx1ZSkpIHtcclxuICAgICAgICByZXR1cm4gdmFsdWUuZXZlcnkoZnVuY3Rpb24gKHZhbCkgeyByZXR1cm4gdmFsaWRhdGUkaCh2YWwsIHsgbGVuZ3RoOiBsZW5ndGggfSk7IH0pO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIFN0cmluZyh2YWx1ZSkubGVuZ3RoIDw9IGxlbmd0aDtcclxufTtcclxudmFyIHBhcmFtcyRjID0gW1xyXG4gICAge1xyXG4gICAgICAgIG5hbWU6ICdsZW5ndGgnLFxyXG4gICAgICAgIGNhc3Q6IGZ1bmN0aW9uICh2YWx1ZSkge1xyXG4gICAgICAgICAgICByZXR1cm4gTnVtYmVyKHZhbHVlKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbl07XHJcbnZhciBtYXggPSB7XHJcbiAgICB2YWxpZGF0ZTogdmFsaWRhdGUkaCxcclxuICAgIHBhcmFtczogcGFyYW1zJGNcclxufTtcblxudmFyIHZhbGlkYXRlJGkgPSBmdW5jdGlvbiAodmFsdWUsIF9hKSB7XHJcbiAgICB2YXIgbWF4ID0gX2EubWF4O1xyXG4gICAgaWYgKGlzTnVsbE9yVW5kZWZpbmVkKHZhbHVlKSB8fCB2YWx1ZSA9PT0gJycpIHtcclxuICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICB9XHJcbiAgICBpZiAoQXJyYXkuaXNBcnJheSh2YWx1ZSkpIHtcclxuICAgICAgICByZXR1cm4gdmFsdWUubGVuZ3RoID4gMCAmJiB2YWx1ZS5ldmVyeShmdW5jdGlvbiAodmFsKSB7IHJldHVybiB2YWxpZGF0ZSRpKHZhbCwgeyBtYXg6IG1heCB9KTsgfSk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gTnVtYmVyKHZhbHVlKSA8PSBtYXg7XHJcbn07XHJcbnZhciBwYXJhbXMkZCA9IFtcclxuICAgIHtcclxuICAgICAgICBuYW1lOiAnbWF4JyxcclxuICAgICAgICBjYXN0OiBmdW5jdGlvbiAodmFsdWUpIHtcclxuICAgICAgICAgICAgcmV0dXJuIE51bWJlcih2YWx1ZSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5dO1xyXG52YXIgbWF4X3ZhbHVlID0ge1xyXG4gICAgdmFsaWRhdGU6IHZhbGlkYXRlJGksXHJcbiAgICBwYXJhbXM6IHBhcmFtcyRkXHJcbn07XG5cbnZhciB2YWxpZGF0ZSRqID0gZnVuY3Rpb24gKGZpbGVzLCBtaW1lcykge1xyXG4gICAgdmFyIHJlZ2V4ID0gbmV3IFJlZ0V4cChtaW1lcy5qb2luKCd8JykucmVwbGFjZSgnKicsICcuKycpICsgXCIkXCIsICdpJyk7XHJcbiAgICBpZiAoQXJyYXkuaXNBcnJheShmaWxlcykpIHtcclxuICAgICAgICByZXR1cm4gZmlsZXMuZXZlcnkoZnVuY3Rpb24gKGZpbGUpIHsgcmV0dXJuIHJlZ2V4LnRlc3QoZmlsZS50eXBlKTsgfSk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gcmVnZXgudGVzdChmaWxlcy50eXBlKTtcclxufTtcclxudmFyIG1pbWVzID0ge1xyXG4gICAgdmFsaWRhdGU6IHZhbGlkYXRlJGpcclxufTtcblxudmFyIHZhbGlkYXRlJGsgPSBmdW5jdGlvbiAodmFsdWUsIF9hKSB7XHJcbiAgICB2YXIgbGVuZ3RoID0gX2EubGVuZ3RoO1xyXG4gICAgaWYgKGlzTnVsbE9yVW5kZWZpbmVkKHZhbHVlKSkge1xyXG4gICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgIH1cclxuICAgIGlmIChBcnJheS5pc0FycmF5KHZhbHVlKSkge1xyXG4gICAgICAgIHJldHVybiB2YWx1ZS5ldmVyeShmdW5jdGlvbiAodmFsKSB7IHJldHVybiB2YWxpZGF0ZSRrKHZhbCwgeyBsZW5ndGg6IGxlbmd0aCB9KTsgfSk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gU3RyaW5nKHZhbHVlKS5sZW5ndGggPj0gbGVuZ3RoO1xyXG59O1xyXG52YXIgcGFyYW1zJGUgPSBbXHJcbiAgICB7XHJcbiAgICAgICAgbmFtZTogJ2xlbmd0aCcsXHJcbiAgICAgICAgY2FzdDogZnVuY3Rpb24gKHZhbHVlKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBOdW1iZXIodmFsdWUpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXTtcclxudmFyIG1pbiA9IHtcclxuICAgIHZhbGlkYXRlOiB2YWxpZGF0ZSRrLFxyXG4gICAgcGFyYW1zOiBwYXJhbXMkZVxyXG59O1xuXG52YXIgdmFsaWRhdGUkbCA9IGZ1bmN0aW9uICh2YWx1ZSwgX2EpIHtcclxuICAgIHZhciBtaW4gPSBfYS5taW47XHJcbiAgICBpZiAoaXNOdWxsT3JVbmRlZmluZWQodmFsdWUpIHx8IHZhbHVlID09PSAnJykge1xyXG4gICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgIH1cclxuICAgIGlmIChBcnJheS5pc0FycmF5KHZhbHVlKSkge1xyXG4gICAgICAgIHJldHVybiB2YWx1ZS5sZW5ndGggPiAwICYmIHZhbHVlLmV2ZXJ5KGZ1bmN0aW9uICh2YWwpIHsgcmV0dXJuIHZhbGlkYXRlJGwodmFsLCB7IG1pbjogbWluIH0pOyB9KTtcclxuICAgIH1cclxuICAgIHJldHVybiBOdW1iZXIodmFsdWUpID49IG1pbjtcclxufTtcclxudmFyIHBhcmFtcyRmID0gW1xyXG4gICAge1xyXG4gICAgICAgIG5hbWU6ICdtaW4nLFxyXG4gICAgICAgIGNhc3Q6IGZ1bmN0aW9uICh2YWx1ZSkge1xyXG4gICAgICAgICAgICByZXR1cm4gTnVtYmVyKHZhbHVlKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbl07XHJcbnZhciBtaW5fdmFsdWUgPSB7XHJcbiAgICB2YWxpZGF0ZTogdmFsaWRhdGUkbCxcclxuICAgIHBhcmFtczogcGFyYW1zJGZcclxufTtcblxudmFyIGFyID0gL15b2aDZodmi2aPZpNml2abZp9mo2aldKyQvO1xyXG52YXIgZW4gPSAvXlswLTldKyQvO1xyXG52YXIgdmFsaWRhdGUkbSA9IGZ1bmN0aW9uICh2YWx1ZSkge1xyXG4gICAgdmFyIHRlc3RWYWx1ZSA9IGZ1bmN0aW9uICh2YWwpIHtcclxuICAgICAgICB2YXIgc3RyVmFsdWUgPSBTdHJpbmcodmFsKTtcclxuICAgICAgICByZXR1cm4gZW4udGVzdChzdHJWYWx1ZSkgfHwgYXIudGVzdChzdHJWYWx1ZSk7XHJcbiAgICB9O1xyXG4gICAgaWYgKEFycmF5LmlzQXJyYXkodmFsdWUpKSB7XHJcbiAgICAgICAgcmV0dXJuIHZhbHVlLmV2ZXJ5KHRlc3RWYWx1ZSk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gdGVzdFZhbHVlKHZhbHVlKTtcclxufTtcclxudmFyIG51bWVyaWMgPSB7XHJcbiAgICB2YWxpZGF0ZTogdmFsaWRhdGUkbVxyXG59O1xuXG52YXIgdmFsaWRhdGUkbiA9IGZ1bmN0aW9uICh2YWx1ZSwgX2EpIHtcclxuICAgIHZhciByZWdleCA9IF9hLnJlZ2V4O1xyXG4gICAgaWYgKEFycmF5LmlzQXJyYXkodmFsdWUpKSB7XHJcbiAgICAgICAgcmV0dXJuIHZhbHVlLmV2ZXJ5KGZ1bmN0aW9uICh2YWwpIHsgcmV0dXJuIHZhbGlkYXRlJG4odmFsLCB7IHJlZ2V4OiByZWdleCB9KTsgfSk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gcmVnZXgudGVzdChTdHJpbmcodmFsdWUpKTtcclxufTtcclxudmFyIHBhcmFtcyRnID0gW1xyXG4gICAge1xyXG4gICAgICAgIG5hbWU6ICdyZWdleCcsXHJcbiAgICAgICAgY2FzdDogZnVuY3Rpb24gKHZhbHVlKSB7XHJcbiAgICAgICAgICAgIGlmICh0eXBlb2YgdmFsdWUgPT09ICdzdHJpbmcnKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gbmV3IFJlZ0V4cCh2YWx1ZSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgcmV0dXJuIHZhbHVlO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXTtcclxudmFyIHJlZ2V4ID0ge1xyXG4gICAgdmFsaWRhdGU6IHZhbGlkYXRlJG4sXHJcbiAgICBwYXJhbXM6IHBhcmFtcyRnXHJcbn07XG5cbnZhciB2YWxpZGF0ZSRvID0gZnVuY3Rpb24gKHZhbHVlLCBfYSkge1xyXG4gICAgdmFyIGFsbG93RmFsc2UgPSAoX2EgPT09IHZvaWQgMCA/IHsgYWxsb3dGYWxzZTogdHJ1ZSB9IDogX2EpLmFsbG93RmFsc2U7XHJcbiAgICB2YXIgcmVzdWx0ID0ge1xyXG4gICAgICAgIHZhbGlkOiBmYWxzZSxcclxuICAgICAgICByZXF1aXJlZDogdHJ1ZVxyXG4gICAgfTtcclxuICAgIGlmIChpc051bGxPclVuZGVmaW5lZCh2YWx1ZSkgfHwgaXNFbXB0eUFycmF5KHZhbHVlKSkge1xyXG4gICAgICAgIHJldHVybiByZXN1bHQ7XHJcbiAgICB9XHJcbiAgICAvLyBpbmNhc2UgYSBmaWVsZCBjb25zaWRlcnMgYGZhbHNlYCBhcyBhbiBlbXB0eSB2YWx1ZSBsaWtlIGNoZWNrYm94ZXMuXHJcbiAgICBpZiAodmFsdWUgPT09IGZhbHNlICYmICFhbGxvd0ZhbHNlKSB7XHJcbiAgICAgICAgcmV0dXJuIHJlc3VsdDtcclxuICAgIH1cclxuICAgIHJlc3VsdC52YWxpZCA9ICEhU3RyaW5nKHZhbHVlKS50cmltKCkubGVuZ3RoO1xyXG4gICAgcmV0dXJuIHJlc3VsdDtcclxufTtcclxudmFyIGNvbXB1dGVzUmVxdWlyZWQgPSB0cnVlO1xyXG52YXIgcGFyYW1zJGggPSBbXHJcbiAgICB7XHJcbiAgICAgICAgbmFtZTogJ2FsbG93RmFsc2UnLFxyXG4gICAgICAgIGRlZmF1bHQ6IHRydWVcclxuICAgIH1cclxuXTtcclxudmFyIHJlcXVpcmVkID0ge1xyXG4gICAgdmFsaWRhdGU6IHZhbGlkYXRlJG8sXHJcbiAgICBwYXJhbXM6IHBhcmFtcyRoLFxyXG4gICAgY29tcHV0ZXNSZXF1aXJlZDogY29tcHV0ZXNSZXF1aXJlZFxyXG59O1xuXG52YXIgdGVzdEVtcHR5ID0gZnVuY3Rpb24gKHZhbHVlKSB7XHJcbiAgICByZXR1cm4gaXNFbXB0eUFycmF5KHZhbHVlKSB8fCBpbmNsdWRlcyhbZmFsc2UsIG51bGwsIHVuZGVmaW5lZF0sIHZhbHVlKSB8fCAhU3RyaW5nKHZhbHVlKS50cmltKCkubGVuZ3RoO1xyXG59O1xyXG52YXIgdmFsaWRhdGUkcCA9IGZ1bmN0aW9uICh2YWx1ZSwgX2EpIHtcclxuICAgIHZhciB0YXJnZXQgPSBfYS50YXJnZXQsIHZhbHVlcyA9IF9hLnZhbHVlcztcclxuICAgIHZhciByZXF1aXJlZDtcclxuICAgIGlmICh2YWx1ZXMgJiYgdmFsdWVzLmxlbmd0aCkge1xyXG4gICAgICAgIGlmICghQXJyYXkuaXNBcnJheSh2YWx1ZXMpICYmIHR5cGVvZiB2YWx1ZXMgPT09ICdzdHJpbmcnKSB7XHJcbiAgICAgICAgICAgIHZhbHVlcyA9IFt2YWx1ZXNdO1xyXG4gICAgICAgIH1cclxuICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmVcclxuICAgICAgICByZXF1aXJlZCA9IHZhbHVlcy5zb21lKGZ1bmN0aW9uICh2YWwpIHsgcmV0dXJuIHZhbCA9PSBTdHJpbmcodGFyZ2V0KS50cmltKCk7IH0pO1xyXG4gICAgfVxyXG4gICAgZWxzZSB7XHJcbiAgICAgICAgcmVxdWlyZWQgPSAhdGVzdEVtcHR5KHRhcmdldCk7XHJcbiAgICB9XHJcbiAgICBpZiAoIXJlcXVpcmVkKSB7XHJcbiAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgICAgdmFsaWQ6IHRydWUsXHJcbiAgICAgICAgICAgIHJlcXVpcmVkOiByZXF1aXJlZFxyXG4gICAgICAgIH07XHJcbiAgICB9XHJcbiAgICByZXR1cm4ge1xyXG4gICAgICAgIHZhbGlkOiAhdGVzdEVtcHR5KHZhbHVlKSxcclxuICAgICAgICByZXF1aXJlZDogcmVxdWlyZWRcclxuICAgIH07XHJcbn07XHJcbnZhciBwYXJhbXMkaSA9IFtcclxuICAgIHtcclxuICAgICAgICBuYW1lOiAndGFyZ2V0JyxcclxuICAgICAgICBpc1RhcmdldDogdHJ1ZVxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgICBuYW1lOiAndmFsdWVzJ1xyXG4gICAgfVxyXG5dO1xyXG52YXIgY29tcHV0ZXNSZXF1aXJlZCQxID0gdHJ1ZTtcclxudmFyIHJlcXVpcmVkX2lmID0ge1xyXG4gICAgdmFsaWRhdGU6IHZhbGlkYXRlJHAsXHJcbiAgICBwYXJhbXM6IHBhcmFtcyRpLFxyXG4gICAgY29tcHV0ZXNSZXF1aXJlZDogY29tcHV0ZXNSZXF1aXJlZCQxXHJcbn07XG5cbnZhciB2YWxpZGF0ZSRxID0gZnVuY3Rpb24gKGZpbGVzLCBfYSkge1xyXG4gICAgdmFyIHNpemUgPSBfYS5zaXplO1xyXG4gICAgaWYgKGlzTmFOKHNpemUpKSB7XHJcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgfVxyXG4gICAgdmFyIG5TaXplID0gc2l6ZSAqIDEwMjQ7XHJcbiAgICBpZiAoIUFycmF5LmlzQXJyYXkoZmlsZXMpKSB7XHJcbiAgICAgICAgcmV0dXJuIGZpbGVzLnNpemUgPD0gblNpemU7XHJcbiAgICB9XHJcbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IGZpbGVzLmxlbmd0aDsgaSsrKSB7XHJcbiAgICAgICAgaWYgKGZpbGVzW2ldLnNpemUgPiBuU2l6ZSkge1xyXG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIHRydWU7XHJcbn07XHJcbnZhciBwYXJhbXMkaiA9IFtcclxuICAgIHtcclxuICAgICAgICBuYW1lOiAnc2l6ZScsXHJcbiAgICAgICAgY2FzdDogZnVuY3Rpb24gKHZhbHVlKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBOdW1iZXIodmFsdWUpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXTtcclxudmFyIHNpemUgPSB7XHJcbiAgICB2YWxpZGF0ZTogdmFsaWRhdGUkcSxcclxuICAgIHBhcmFtczogcGFyYW1zJGpcclxufTtcblxuZXhwb3J0IHsgYWxwaGEkMSBhcyBhbHBoYSwgYWxwaGFfZGFzaCwgYWxwaGFfbnVtLCBhbHBoYV9zcGFjZXMsIGJldHdlZW4sIGNvbmZpcm1lZCwgZGlnaXRzLCBkaW1lbnNpb25zLCBlbWFpbCwgZXhjbHVkZWQsIGV4dCwgaW1hZ2UsIGludGVnZXIsIGlzLCBpc19ub3QsIGxlbmd0aCwgbWF4LCBtYXhfdmFsdWUsIG1pbWVzLCBtaW4sIG1pbl92YWx1ZSwgbnVtZXJpYywgb25lT2YsIHJlZ2V4LCByZXF1aXJlZCwgcmVxdWlyZWRfaWYsIHNpemUgfTtcbiIsIi8qISBDb3B5cmlnaHQgVHdpdHRlciBJbmMuIGFuZCBvdGhlciBjb250cmlidXRvcnMuIExpY2Vuc2VkIHVuZGVyIE1JVCAqL1xudmFyIHR3ZW1vamk9ZnVuY3Rpb24oKXtcInVzZSBzdHJpY3RcIjt2YXIgdHdlbW9qaT17YmFzZTpcImh0dHBzOi8vdHdlbW9qaS5tYXhjZG4uY29tL3YvMTMuMC4xL1wiLGV4dDpcIi5wbmdcIixzaXplOlwiNzJ4NzJcIixjbGFzc05hbWU6XCJlbW9qaVwiLGNvbnZlcnQ6e2Zyb21Db2RlUG9pbnQ6ZnJvbUNvZGVQb2ludCx0b0NvZGVQb2ludDp0b0NvZGVQb2ludH0sb25lcnJvcjpmdW5jdGlvbiBvbmVycm9yKCl7aWYodGhpcy5wYXJlbnROb2RlKXt0aGlzLnBhcmVudE5vZGUucmVwbGFjZUNoaWxkKGNyZWF0ZVRleHQodGhpcy5hbHQsZmFsc2UpLHRoaXMpfX0scGFyc2U6cGFyc2UscmVwbGFjZTpyZXBsYWNlLHRlc3Q6dGVzdH0sZXNjYXBlcj17XCImXCI6XCImYW1wO1wiLFwiPFwiOlwiJmx0O1wiLFwiPlwiOlwiJmd0O1wiLFwiJ1wiOlwiJiMzOTtcIiwnXCInOlwiJnF1b3Q7XCJ9LHJlPS8oPzpcXHVkODNkXFx1ZGM2OFxcdWQ4M2NcXHVkZmZiXFx1MjAwZFxcdWQ4M2VcXHVkZDFkXFx1MjAwZFxcdWQ4M2RcXHVkYzY4XFx1ZDgzY1tcXHVkZmZjLVxcdWRmZmZdfFxcdWQ4M2RcXHVkYzY4XFx1ZDgzY1xcdWRmZmNcXHUyMDBkXFx1ZDgzZVxcdWRkMWRcXHUyMDBkXFx1ZDgzZFxcdWRjNjhcXHVkODNjW1xcdWRmZmJcXHVkZmZkLVxcdWRmZmZdfFxcdWQ4M2RcXHVkYzY4XFx1ZDgzY1xcdWRmZmRcXHUyMDBkXFx1ZDgzZVxcdWRkMWRcXHUyMDBkXFx1ZDgzZFxcdWRjNjhcXHVkODNjW1xcdWRmZmJcXHVkZmZjXFx1ZGZmZVxcdWRmZmZdfFxcdWQ4M2RcXHVkYzY4XFx1ZDgzY1xcdWRmZmVcXHUyMDBkXFx1ZDgzZVxcdWRkMWRcXHUyMDBkXFx1ZDgzZFxcdWRjNjhcXHVkODNjW1xcdWRmZmItXFx1ZGZmZFxcdWRmZmZdfFxcdWQ4M2RcXHVkYzY4XFx1ZDgzY1xcdWRmZmZcXHUyMDBkXFx1ZDgzZVxcdWRkMWRcXHUyMDBkXFx1ZDgzZFxcdWRjNjhcXHVkODNjW1xcdWRmZmItXFx1ZGZmZV18XFx1ZDgzZFxcdWRjNjlcXHVkODNjXFx1ZGZmYlxcdTIwMGRcXHVkODNlXFx1ZGQxZFxcdTIwMGRcXHVkODNkXFx1ZGM2OFxcdWQ4M2NbXFx1ZGZmYy1cXHVkZmZmXXxcXHVkODNkXFx1ZGM2OVxcdWQ4M2NcXHVkZmZiXFx1MjAwZFxcdWQ4M2VcXHVkZDFkXFx1MjAwZFxcdWQ4M2RcXHVkYzY5XFx1ZDgzY1tcXHVkZmZjLVxcdWRmZmZdfFxcdWQ4M2RcXHVkYzY5XFx1ZDgzY1xcdWRmZmNcXHUyMDBkXFx1ZDgzZVxcdWRkMWRcXHUyMDBkXFx1ZDgzZFxcdWRjNjhcXHVkODNjW1xcdWRmZmJcXHVkZmZkLVxcdWRmZmZdfFxcdWQ4M2RcXHVkYzY5XFx1ZDgzY1xcdWRmZmNcXHUyMDBkXFx1ZDgzZVxcdWRkMWRcXHUyMDBkXFx1ZDgzZFxcdWRjNjlcXHVkODNjW1xcdWRmZmJcXHVkZmZkLVxcdWRmZmZdfFxcdWQ4M2RcXHVkYzY5XFx1ZDgzY1xcdWRmZmRcXHUyMDBkXFx1ZDgzZVxcdWRkMWRcXHUyMDBkXFx1ZDgzZFxcdWRjNjhcXHVkODNjW1xcdWRmZmJcXHVkZmZjXFx1ZGZmZVxcdWRmZmZdfFxcdWQ4M2RcXHVkYzY5XFx1ZDgzY1xcdWRmZmRcXHUyMDBkXFx1ZDgzZVxcdWRkMWRcXHUyMDBkXFx1ZDgzZFxcdWRjNjlcXHVkODNjW1xcdWRmZmJcXHVkZmZjXFx1ZGZmZVxcdWRmZmZdfFxcdWQ4M2RcXHVkYzY5XFx1ZDgzY1xcdWRmZmVcXHUyMDBkXFx1ZDgzZVxcdWRkMWRcXHUyMDBkXFx1ZDgzZFxcdWRjNjhcXHVkODNjW1xcdWRmZmItXFx1ZGZmZFxcdWRmZmZdfFxcdWQ4M2RcXHVkYzY5XFx1ZDgzY1xcdWRmZmVcXHUyMDBkXFx1ZDgzZVxcdWRkMWRcXHUyMDBkXFx1ZDgzZFxcdWRjNjlcXHVkODNjW1xcdWRmZmItXFx1ZGZmZFxcdWRmZmZdfFxcdWQ4M2RcXHVkYzY5XFx1ZDgzY1xcdWRmZmZcXHUyMDBkXFx1ZDgzZVxcdWRkMWRcXHUyMDBkXFx1ZDgzZFxcdWRjNjhcXHVkODNjW1xcdWRmZmItXFx1ZGZmZV18XFx1ZDgzZFxcdWRjNjlcXHVkODNjXFx1ZGZmZlxcdTIwMGRcXHVkODNlXFx1ZGQxZFxcdTIwMGRcXHVkODNkXFx1ZGM2OVxcdWQ4M2NbXFx1ZGZmYi1cXHVkZmZlXXxcXHVkODNlXFx1ZGRkMVxcdWQ4M2NcXHVkZmZiXFx1MjAwZFxcdWQ4M2VcXHVkZDFkXFx1MjAwZFxcdWQ4M2VcXHVkZGQxXFx1ZDgzY1tcXHVkZmZiLVxcdWRmZmZdfFxcdWQ4M2VcXHVkZGQxXFx1ZDgzY1xcdWRmZmNcXHUyMDBkXFx1ZDgzZVxcdWRkMWRcXHUyMDBkXFx1ZDgzZVxcdWRkZDFcXHVkODNjW1xcdWRmZmItXFx1ZGZmZl18XFx1ZDgzZVxcdWRkZDFcXHVkODNjXFx1ZGZmZFxcdTIwMGRcXHVkODNlXFx1ZGQxZFxcdTIwMGRcXHVkODNlXFx1ZGRkMVxcdWQ4M2NbXFx1ZGZmYi1cXHVkZmZmXXxcXHVkODNlXFx1ZGRkMVxcdWQ4M2NcXHVkZmZlXFx1MjAwZFxcdWQ4M2VcXHVkZDFkXFx1MjAwZFxcdWQ4M2VcXHVkZGQxXFx1ZDgzY1tcXHVkZmZiLVxcdWRmZmZdfFxcdWQ4M2VcXHVkZGQxXFx1ZDgzY1xcdWRmZmZcXHUyMDBkXFx1ZDgzZVxcdWRkMWRcXHUyMDBkXFx1ZDgzZVxcdWRkZDFcXHVkODNjW1xcdWRmZmItXFx1ZGZmZl18XFx1ZDgzZVxcdWRkZDFcXHUyMDBkXFx1ZDgzZVxcdWRkMWRcXHUyMDBkXFx1ZDgzZVxcdWRkZDF8XFx1ZDgzZFxcdWRjNmJcXHVkODNjW1xcdWRmZmItXFx1ZGZmZl18XFx1ZDgzZFxcdWRjNmNcXHVkODNjW1xcdWRmZmItXFx1ZGZmZl18XFx1ZDgzZFxcdWRjNmRcXHVkODNjW1xcdWRmZmItXFx1ZGZmZl18XFx1ZDgzZFtcXHVkYzZiLVxcdWRjNmRdKXwoPzpcXHVkODNkW1xcdWRjNjhcXHVkYzY5XXxcXHVkODNlXFx1ZGRkMSkoPzpcXHVkODNjW1xcdWRmZmItXFx1ZGZmZl0pP1xcdTIwMGQoPzpcXHUyNjk1XFx1ZmUwZnxcXHUyNjk2XFx1ZmUwZnxcXHUyNzA4XFx1ZmUwZnxcXHVkODNjW1xcdWRmM2VcXHVkZjczXFx1ZGY3Y1xcdWRmODRcXHVkZjkzXFx1ZGZhNFxcdWRmYThcXHVkZmViXFx1ZGZlZF18XFx1ZDgzZFtcXHVkY2JiXFx1ZGNiY1xcdWRkMjdcXHVkZDJjXFx1ZGU4MFxcdWRlOTJdfFxcdWQ4M2VbXFx1ZGRhZi1cXHVkZGIzXFx1ZGRiY1xcdWRkYmRdKXwoPzpcXHVkODNjW1xcdWRmY2JcXHVkZmNjXXxcXHVkODNkW1xcdWRkNzRcXHVkZDc1XXxcXHUyNmY5KSgoPzpcXHVkODNjW1xcdWRmZmItXFx1ZGZmZl18XFx1ZmUwZilcXHUyMDBkW1xcdTI2NDBcXHUyNjQyXVxcdWZlMGYpfCg/OlxcdWQ4M2NbXFx1ZGZjM1xcdWRmYzRcXHVkZmNhXXxcXHVkODNkW1xcdWRjNmVcXHVkYzcwXFx1ZGM3MVxcdWRjNzNcXHVkYzc3XFx1ZGM4MVxcdWRjODJcXHVkYzg2XFx1ZGM4N1xcdWRlNDUtXFx1ZGU0N1xcdWRlNGJcXHVkZTRkXFx1ZGU0ZVxcdWRlYTNcXHVkZWI0LVxcdWRlYjZdfFxcdWQ4M2VbXFx1ZGQyNlxcdWRkMzVcXHVkZDM3LVxcdWRkMzlcXHVkZDNkXFx1ZGQzZVxcdWRkYjhcXHVkZGI5XFx1ZGRjZC1cXHVkZGNmXFx1ZGRkNi1cXHVkZGRkXSkoPzpcXHVkODNjW1xcdWRmZmItXFx1ZGZmZl0pP1xcdTIwMGRbXFx1MjY0MFxcdTI2NDJdXFx1ZmUwZnwoPzpcXHVkODNkXFx1ZGM2OFxcdTIwMGRcXHUyNzY0XFx1ZmUwZlxcdTIwMGRcXHVkODNkXFx1ZGM4YlxcdTIwMGRcXHVkODNkXFx1ZGM2OHxcXHVkODNkXFx1ZGM2OFxcdTIwMGRcXHVkODNkXFx1ZGM2OFxcdTIwMGRcXHVkODNkXFx1ZGM2NlxcdTIwMGRcXHVkODNkXFx1ZGM2NnxcXHVkODNkXFx1ZGM2OFxcdTIwMGRcXHVkODNkXFx1ZGM2OFxcdTIwMGRcXHVkODNkXFx1ZGM2N1xcdTIwMGRcXHVkODNkW1xcdWRjNjZcXHVkYzY3XXxcXHVkODNkXFx1ZGM2OFxcdTIwMGRcXHVkODNkXFx1ZGM2OVxcdTIwMGRcXHVkODNkXFx1ZGM2NlxcdTIwMGRcXHVkODNkXFx1ZGM2NnxcXHVkODNkXFx1ZGM2OFxcdTIwMGRcXHVkODNkXFx1ZGM2OVxcdTIwMGRcXHVkODNkXFx1ZGM2N1xcdTIwMGRcXHVkODNkW1xcdWRjNjZcXHVkYzY3XXxcXHVkODNkXFx1ZGM2OVxcdTIwMGRcXHUyNzY0XFx1ZmUwZlxcdTIwMGRcXHVkODNkXFx1ZGM4YlxcdTIwMGRcXHVkODNkW1xcdWRjNjhcXHVkYzY5XXxcXHVkODNkXFx1ZGM2OVxcdTIwMGRcXHVkODNkXFx1ZGM2OVxcdTIwMGRcXHVkODNkXFx1ZGM2NlxcdTIwMGRcXHVkODNkXFx1ZGM2NnxcXHVkODNkXFx1ZGM2OVxcdTIwMGRcXHVkODNkXFx1ZGM2OVxcdTIwMGRcXHVkODNkXFx1ZGM2N1xcdTIwMGRcXHVkODNkW1xcdWRjNjZcXHVkYzY3XXxcXHVkODNkXFx1ZGM2OFxcdTIwMGRcXHUyNzY0XFx1ZmUwZlxcdTIwMGRcXHVkODNkXFx1ZGM2OHxcXHVkODNkXFx1ZGM2OFxcdTIwMGRcXHVkODNkXFx1ZGM2NlxcdTIwMGRcXHVkODNkXFx1ZGM2NnxcXHVkODNkXFx1ZGM2OFxcdTIwMGRcXHVkODNkXFx1ZGM2N1xcdTIwMGRcXHVkODNkW1xcdWRjNjZcXHVkYzY3XXxcXHVkODNkXFx1ZGM2OFxcdTIwMGRcXHVkODNkXFx1ZGM2OFxcdTIwMGRcXHVkODNkW1xcdWRjNjZcXHVkYzY3XXxcXHVkODNkXFx1ZGM2OFxcdTIwMGRcXHVkODNkXFx1ZGM2OVxcdTIwMGRcXHVkODNkW1xcdWRjNjZcXHVkYzY3XXxcXHVkODNkXFx1ZGM2OVxcdTIwMGRcXHUyNzY0XFx1ZmUwZlxcdTIwMGRcXHVkODNkW1xcdWRjNjhcXHVkYzY5XXxcXHVkODNkXFx1ZGM2OVxcdTIwMGRcXHVkODNkXFx1ZGM2NlxcdTIwMGRcXHVkODNkXFx1ZGM2NnxcXHVkODNkXFx1ZGM2OVxcdTIwMGRcXHVkODNkXFx1ZGM2N1xcdTIwMGRcXHVkODNkW1xcdWRjNjZcXHVkYzY3XXxcXHVkODNkXFx1ZGM2OVxcdTIwMGRcXHVkODNkXFx1ZGM2OVxcdTIwMGRcXHVkODNkW1xcdWRjNjZcXHVkYzY3XXxcXHVkODNjXFx1ZGZmM1xcdWZlMGZcXHUyMDBkXFx1MjZhN1xcdWZlMGZ8XFx1ZDgzY1xcdWRmZjNcXHVmZTBmXFx1MjAwZFxcdWQ4M2NcXHVkZjA4fFxcdWQ4M2NcXHVkZmY0XFx1MjAwZFxcdTI2MjBcXHVmZTBmfFxcdWQ4M2RcXHVkYzE1XFx1MjAwZFxcdWQ4M2VcXHVkZGJhfFxcdWQ4M2RcXHVkYzNiXFx1MjAwZFxcdTI3NDRcXHVmZTBmfFxcdWQ4M2RcXHVkYzQxXFx1MjAwZFxcdWQ4M2RcXHVkZGU4fFxcdWQ4M2RcXHVkYzY4XFx1MjAwZFxcdWQ4M2RbXFx1ZGM2NlxcdWRjNjddfFxcdWQ4M2RcXHVkYzY5XFx1MjAwZFxcdWQ4M2RbXFx1ZGM2NlxcdWRjNjddfFxcdWQ4M2RcXHVkYzZmXFx1MjAwZFxcdTI2NDBcXHVmZTBmfFxcdWQ4M2RcXHVkYzZmXFx1MjAwZFxcdTI2NDJcXHVmZTBmfFxcdWQ4M2VcXHVkZDNjXFx1MjAwZFxcdTI2NDBcXHVmZTBmfFxcdWQ4M2VcXHVkZDNjXFx1MjAwZFxcdTI2NDJcXHVmZTBmfFxcdWQ4M2VcXHVkZGRlXFx1MjAwZFxcdTI2NDBcXHVmZTBmfFxcdWQ4M2VcXHVkZGRlXFx1MjAwZFxcdTI2NDJcXHVmZTBmfFxcdWQ4M2VcXHVkZGRmXFx1MjAwZFxcdTI2NDBcXHVmZTBmfFxcdWQ4M2VcXHVkZGRmXFx1MjAwZFxcdTI2NDJcXHVmZTBmfFxcdWQ4M2RcXHVkYzA4XFx1MjAwZFxcdTJiMWIpfFsjKjAtOV1cXHVmZTBmP1xcdTIwZTN8KD86W8Kpwq5cXHUyMTIyXFx1MjY1Zl1cXHVmZTBmKXwoPzpcXHVkODNjW1xcdWRjMDRcXHVkZDcwXFx1ZGQ3MVxcdWRkN2VcXHVkZDdmXFx1ZGUwMlxcdWRlMWFcXHVkZTJmXFx1ZGUzN1xcdWRmMjFcXHVkZjI0LVxcdWRmMmNcXHVkZjM2XFx1ZGY3ZFxcdWRmOTZcXHVkZjk3XFx1ZGY5OS1cXHVkZjliXFx1ZGY5ZVxcdWRmOWZcXHVkZmNkXFx1ZGZjZVxcdWRmZDQtXFx1ZGZkZlxcdWRmZjNcXHVkZmY1XFx1ZGZmN118XFx1ZDgzZFtcXHVkYzNmXFx1ZGM0MVxcdWRjZmRcXHVkZDQ5XFx1ZGQ0YVxcdWRkNmZcXHVkZDcwXFx1ZGQ3M1xcdWRkNzYtXFx1ZGQ3OVxcdWRkODdcXHVkZDhhLVxcdWRkOGRcXHVkZGE1XFx1ZGRhOFxcdWRkYjFcXHVkZGIyXFx1ZGRiY1xcdWRkYzItXFx1ZGRjNFxcdWRkZDEtXFx1ZGRkM1xcdWRkZGMtXFx1ZGRkZVxcdWRkZTFcXHVkZGUzXFx1ZGRlOFxcdWRkZWZcXHVkZGYzXFx1ZGRmYVxcdWRlY2JcXHVkZWNkLVxcdWRlY2ZcXHVkZWUwLVxcdWRlZTVcXHVkZWU5XFx1ZGVmMFxcdWRlZjNdfFtcXHUyMDNjXFx1MjA0OVxcdTIxMzlcXHUyMTk0LVxcdTIxOTlcXHUyMWE5XFx1MjFhYVxcdTIzMWFcXHUyMzFiXFx1MjMyOFxcdTIzY2ZcXHUyM2VkLVxcdTIzZWZcXHUyM2YxXFx1MjNmMlxcdTIzZjgtXFx1MjNmYVxcdTI0YzJcXHUyNWFhXFx1MjVhYlxcdTI1YjZcXHUyNWMwXFx1MjVmYi1cXHUyNWZlXFx1MjYwMC1cXHUyNjA0XFx1MjYwZVxcdTI2MTFcXHUyNjE0XFx1MjYxNVxcdTI2MThcXHUyNjIwXFx1MjYyMlxcdTI2MjNcXHUyNjI2XFx1MjYyYVxcdTI2MmVcXHUyNjJmXFx1MjYzOC1cXHUyNjNhXFx1MjY0MFxcdTI2NDJcXHUyNjQ4LVxcdTI2NTNcXHUyNjYwXFx1MjY2M1xcdTI2NjVcXHUyNjY2XFx1MjY2OFxcdTI2N2JcXHUyNjdmXFx1MjY5Mi1cXHUyNjk3XFx1MjY5OVxcdTI2OWJcXHUyNjljXFx1MjZhMFxcdTI2YTFcXHUyNmE3XFx1MjZhYVxcdTI2YWJcXHUyNmIwXFx1MjZiMVxcdTI2YmRcXHUyNmJlXFx1MjZjNFxcdTI2YzVcXHUyNmM4XFx1MjZjZlxcdTI2ZDFcXHUyNmQzXFx1MjZkNFxcdTI2ZTlcXHUyNmVhXFx1MjZmMC1cXHUyNmY1XFx1MjZmOFxcdTI2ZmFcXHUyNmZkXFx1MjcwMlxcdTI3MDhcXHUyNzA5XFx1MjcwZlxcdTI3MTJcXHUyNzE0XFx1MjcxNlxcdTI3MWRcXHUyNzIxXFx1MjczM1xcdTI3MzRcXHUyNzQ0XFx1Mjc0N1xcdTI3NTdcXHUyNzYzXFx1Mjc2NFxcdTI3YTFcXHUyOTM0XFx1MjkzNVxcdTJiMDUtXFx1MmIwN1xcdTJiMWJcXHUyYjFjXFx1MmI1MFxcdTJiNTVcXHUzMDMwXFx1MzAzZFxcdTMyOTdcXHUzMjk5XSkoPzpcXHVmZTBmfCg/IVxcdWZlMGUpKXwoPzooPzpcXHVkODNjW1xcdWRmY2JcXHVkZmNjXXxcXHVkODNkW1xcdWRkNzRcXHVkZDc1XFx1ZGQ5MF18W1xcdTI2MWRcXHUyNmY3XFx1MjZmOVxcdTI3MGNcXHUyNzBkXSkoPzpcXHVmZTBmfCg/IVxcdWZlMGUpKXwoPzpcXHVkODNjW1xcdWRmODVcXHVkZmMyLVxcdWRmYzRcXHVkZmM3XFx1ZGZjYV18XFx1ZDgzZFtcXHVkYzQyXFx1ZGM0M1xcdWRjNDYtXFx1ZGM1MFxcdWRjNjYtXFx1ZGM2OVxcdWRjNmVcXHVkYzcwLVxcdWRjNzhcXHVkYzdjXFx1ZGM4MS1cXHVkYzgzXFx1ZGM4NS1cXHVkYzg3XFx1ZGNhYVxcdWRkN2FcXHVkZDk1XFx1ZGQ5NlxcdWRlNDUtXFx1ZGU0N1xcdWRlNGItXFx1ZGU0ZlxcdWRlYTNcXHVkZWI0LVxcdWRlYjZcXHVkZWMwXFx1ZGVjY118XFx1ZDgzZVtcXHVkZDBjXFx1ZGQwZlxcdWRkMTgtXFx1ZGQxY1xcdWRkMWVcXHVkZDFmXFx1ZGQyNlxcdWRkMzAtXFx1ZGQzOVxcdWRkM2RcXHVkZDNlXFx1ZGQ3N1xcdWRkYjVcXHVkZGI2XFx1ZGRiOFxcdWRkYjlcXHVkZGJiXFx1ZGRjZC1cXHVkZGNmXFx1ZGRkMS1cXHVkZGRkXXxbXFx1MjcwYVxcdTI3MGJdKSkoPzpcXHVkODNjW1xcdWRmZmItXFx1ZGZmZl0pP3woPzpcXHVkODNjXFx1ZGZmNFxcdWRiNDBcXHVkYzY3XFx1ZGI0MFxcdWRjNjJcXHVkYjQwXFx1ZGM2NVxcdWRiNDBcXHVkYzZlXFx1ZGI0MFxcdWRjNjdcXHVkYjQwXFx1ZGM3ZnxcXHVkODNjXFx1ZGZmNFxcdWRiNDBcXHVkYzY3XFx1ZGI0MFxcdWRjNjJcXHVkYjQwXFx1ZGM3M1xcdWRiNDBcXHVkYzYzXFx1ZGI0MFxcdWRjNzRcXHVkYjQwXFx1ZGM3ZnxcXHVkODNjXFx1ZGZmNFxcdWRiNDBcXHVkYzY3XFx1ZGI0MFxcdWRjNjJcXHVkYjQwXFx1ZGM3N1xcdWRiNDBcXHVkYzZjXFx1ZGI0MFxcdWRjNzNcXHVkYjQwXFx1ZGM3ZnxcXHVkODNjXFx1ZGRlNlxcdWQ4M2NbXFx1ZGRlOC1cXHVkZGVjXFx1ZGRlZVxcdWRkZjFcXHVkZGYyXFx1ZGRmNFxcdWRkZjYtXFx1ZGRmYVxcdWRkZmNcXHVkZGZkXFx1ZGRmZl18XFx1ZDgzY1xcdWRkZTdcXHVkODNjW1xcdWRkZTZcXHVkZGU3XFx1ZGRlOS1cXHVkZGVmXFx1ZGRmMS1cXHVkZGY0XFx1ZGRmNi1cXHVkZGY5XFx1ZGRmYlxcdWRkZmNcXHVkZGZlXFx1ZGRmZl18XFx1ZDgzY1xcdWRkZThcXHVkODNjW1xcdWRkZTZcXHVkZGU4XFx1ZGRlOVxcdWRkZWItXFx1ZGRlZVxcdWRkZjAtXFx1ZGRmNVxcdWRkZjdcXHVkZGZhLVxcdWRkZmZdfFxcdWQ4M2NcXHVkZGU5XFx1ZDgzY1tcXHVkZGVhXFx1ZGRlY1xcdWRkZWZcXHVkZGYwXFx1ZGRmMlxcdWRkZjRcXHVkZGZmXXxcXHVkODNjXFx1ZGRlYVxcdWQ4M2NbXFx1ZGRlNlxcdWRkZThcXHVkZGVhXFx1ZGRlY1xcdWRkZWRcXHVkZGY3LVxcdWRkZmFdfFxcdWQ4M2NcXHVkZGViXFx1ZDgzY1tcXHVkZGVlLVxcdWRkZjBcXHVkZGYyXFx1ZGRmNFxcdWRkZjddfFxcdWQ4M2NcXHVkZGVjXFx1ZDgzY1tcXHVkZGU2XFx1ZGRlN1xcdWRkZTktXFx1ZGRlZVxcdWRkZjEtXFx1ZGRmM1xcdWRkZjUtXFx1ZGRmYVxcdWRkZmNcXHVkZGZlXXxcXHVkODNjXFx1ZGRlZFxcdWQ4M2NbXFx1ZGRmMFxcdWRkZjJcXHVkZGYzXFx1ZGRmN1xcdWRkZjlcXHVkZGZhXXxcXHVkODNjXFx1ZGRlZVxcdWQ4M2NbXFx1ZGRlOC1cXHVkZGVhXFx1ZGRmMS1cXHVkZGY0XFx1ZGRmNi1cXHVkZGY5XXxcXHVkODNjXFx1ZGRlZlxcdWQ4M2NbXFx1ZGRlYVxcdWRkZjJcXHVkZGY0XFx1ZGRmNV18XFx1ZDgzY1xcdWRkZjBcXHVkODNjW1xcdWRkZWFcXHVkZGVjLVxcdWRkZWVcXHVkZGYyXFx1ZGRmM1xcdWRkZjVcXHVkZGY3XFx1ZGRmY1xcdWRkZmVcXHVkZGZmXXxcXHVkODNjXFx1ZGRmMVxcdWQ4M2NbXFx1ZGRlNi1cXHVkZGU4XFx1ZGRlZVxcdWRkZjBcXHVkZGY3LVxcdWRkZmJcXHVkZGZlXXxcXHVkODNjXFx1ZGRmMlxcdWQ4M2NbXFx1ZGRlNlxcdWRkZTgtXFx1ZGRlZFxcdWRkZjAtXFx1ZGRmZl18XFx1ZDgzY1xcdWRkZjNcXHVkODNjW1xcdWRkZTZcXHVkZGU4XFx1ZGRlYS1cXHVkZGVjXFx1ZGRlZVxcdWRkZjFcXHVkZGY0XFx1ZGRmNVxcdWRkZjdcXHVkZGZhXFx1ZGRmZl18XFx1ZDgzY1xcdWRkZjRcXHVkODNjXFx1ZGRmMnxcXHVkODNjXFx1ZGRmNVxcdWQ4M2NbXFx1ZGRlNlxcdWRkZWEtXFx1ZGRlZFxcdWRkZjAtXFx1ZGRmM1xcdWRkZjctXFx1ZGRmOVxcdWRkZmNcXHVkZGZlXXxcXHVkODNjXFx1ZGRmNlxcdWQ4M2NcXHVkZGU2fFxcdWQ4M2NcXHVkZGY3XFx1ZDgzY1tcXHVkZGVhXFx1ZGRmNFxcdWRkZjhcXHVkZGZhXFx1ZGRmY118XFx1ZDgzY1xcdWRkZjhcXHVkODNjW1xcdWRkZTYtXFx1ZGRlYVxcdWRkZWMtXFx1ZGRmNFxcdWRkZjctXFx1ZGRmOVxcdWRkZmJcXHVkZGZkLVxcdWRkZmZdfFxcdWQ4M2NcXHVkZGY5XFx1ZDgzY1tcXHVkZGU2XFx1ZGRlOFxcdWRkZTlcXHVkZGViLVxcdWRkZWRcXHVkZGVmLVxcdWRkZjRcXHVkZGY3XFx1ZGRmOVxcdWRkZmJcXHVkZGZjXFx1ZGRmZl18XFx1ZDgzY1xcdWRkZmFcXHVkODNjW1xcdWRkZTZcXHVkZGVjXFx1ZGRmMlxcdWRkZjNcXHVkZGY4XFx1ZGRmZVxcdWRkZmZdfFxcdWQ4M2NcXHVkZGZiXFx1ZDgzY1tcXHVkZGU2XFx1ZGRlOFxcdWRkZWFcXHVkZGVjXFx1ZGRlZVxcdWRkZjNcXHVkZGZhXXxcXHVkODNjXFx1ZGRmY1xcdWQ4M2NbXFx1ZGRlYlxcdWRkZjhdfFxcdWQ4M2NcXHVkZGZkXFx1ZDgzY1xcdWRkZjB8XFx1ZDgzY1xcdWRkZmVcXHVkODNjW1xcdWRkZWFcXHVkZGY5XXxcXHVkODNjXFx1ZGRmZlxcdWQ4M2NbXFx1ZGRlNlxcdWRkZjJcXHVkZGZjXXxcXHVkODNjW1xcdWRjY2ZcXHVkZDhlXFx1ZGQ5MS1cXHVkZDlhXFx1ZGRlNi1cXHVkZGZmXFx1ZGUwMVxcdWRlMzItXFx1ZGUzNlxcdWRlMzgtXFx1ZGUzYVxcdWRlNTBcXHVkZTUxXFx1ZGYwMC1cXHVkZjIwXFx1ZGYyZC1cXHVkZjM1XFx1ZGYzNy1cXHVkZjdjXFx1ZGY3ZS1cXHVkZjg0XFx1ZGY4Ni1cXHVkZjkzXFx1ZGZhMC1cXHVkZmMxXFx1ZGZjNVxcdWRmYzZcXHVkZmM4XFx1ZGZjOVxcdWRmY2YtXFx1ZGZkM1xcdWRmZTAtXFx1ZGZmMFxcdWRmZjRcXHVkZmY4LVxcdWRmZmZdfFxcdWQ4M2RbXFx1ZGMwMC1cXHVkYzNlXFx1ZGM0MFxcdWRjNDRcXHVkYzQ1XFx1ZGM1MS1cXHVkYzY1XFx1ZGM2YVxcdWRjNmZcXHVkYzc5LVxcdWRjN2JcXHVkYzdkLVxcdWRjODBcXHVkYzg0XFx1ZGM4OC1cXHVkY2E5XFx1ZGNhYi1cXHVkY2ZjXFx1ZGNmZi1cXHVkZDNkXFx1ZGQ0Yi1cXHVkZDRlXFx1ZGQ1MC1cXHVkZDY3XFx1ZGRhNFxcdWRkZmItXFx1ZGU0NFxcdWRlNDgtXFx1ZGU0YVxcdWRlODAtXFx1ZGVhMlxcdWRlYTQtXFx1ZGViM1xcdWRlYjctXFx1ZGViZlxcdWRlYzEtXFx1ZGVjNVxcdWRlZDAtXFx1ZGVkMlxcdWRlZDUtXFx1ZGVkN1xcdWRlZWJcXHVkZWVjXFx1ZGVmNC1cXHVkZWZjXFx1ZGZlMC1cXHVkZmViXXxcXHVkODNlW1xcdWRkMGRcXHVkZDBlXFx1ZGQxMC1cXHVkZDE3XFx1ZGQxZFxcdWRkMjAtXFx1ZGQyNVxcdWRkMjctXFx1ZGQyZlxcdWRkM2FcXHVkZDNjXFx1ZGQzZi1cXHVkZDQ1XFx1ZGQ0Ny1cXHVkZDc2XFx1ZGQ3OFxcdWRkN2EtXFx1ZGRiNFxcdWRkYjdcXHVkZGJhXFx1ZGRiYy1cXHVkZGNiXFx1ZGRkMFxcdWRkZGUtXFx1ZGRmZlxcdWRlNzAtXFx1ZGU3NFxcdWRlNzgtXFx1ZGU3YVxcdWRlODAtXFx1ZGU4NlxcdWRlOTAtXFx1ZGVhOFxcdWRlYjAtXFx1ZGViNlxcdWRlYzAtXFx1ZGVjMlxcdWRlZDAtXFx1ZGVkNl18W1xcdTIzZTktXFx1MjNlY1xcdTIzZjBcXHUyM2YzXFx1MjY3ZVxcdTI2Y2VcXHUyNzA1XFx1MjcyOFxcdTI3NGNcXHUyNzRlXFx1Mjc1My1cXHUyNzU1XFx1Mjc5NS1cXHUyNzk3XFx1MjdiMFxcdTI3YmZcXHVlNTBhXSl8XFx1ZmUwZi9nLFVGRTBGZz0vXFx1RkUwRi9nLFUyMDBEPVN0cmluZy5mcm9tQ2hhckNvZGUoODIwNSkscmVzY2FwZXI9L1smPD4nXCJdL2csc2hvdWxkbnRCZVBhcnNlZD0vXig/OmlmcmFtZXxub2ZyYW1lc3xub3NjcmlwdHxzY3JpcHR8c2VsZWN0fHN0eWxlfHRleHRhcmVhKSQvLGZyb21DaGFyQ29kZT1TdHJpbmcuZnJvbUNoYXJDb2RlO3JldHVybiB0d2Vtb2ppO2Z1bmN0aW9uIGNyZWF0ZVRleHQodGV4dCxjbGVhbil7cmV0dXJuIGRvY3VtZW50LmNyZWF0ZVRleHROb2RlKGNsZWFuP3RleHQucmVwbGFjZShVRkUwRmcsXCJcIik6dGV4dCl9ZnVuY3Rpb24gZXNjYXBlSFRNTChzKXtyZXR1cm4gcy5yZXBsYWNlKHJlc2NhcGVyLHJlcGxhY2VyKX1mdW5jdGlvbiBkZWZhdWx0SW1hZ2VTcmNHZW5lcmF0b3IoaWNvbixvcHRpb25zKXtyZXR1cm5cIlwiLmNvbmNhdChvcHRpb25zLmJhc2Usb3B0aW9ucy5zaXplLFwiL1wiLGljb24sb3B0aW9ucy5leHQpfWZ1bmN0aW9uIGdyYWJBbGxUZXh0Tm9kZXMobm9kZSxhbGxUZXh0KXt2YXIgY2hpbGROb2Rlcz1ub2RlLmNoaWxkTm9kZXMsbGVuZ3RoPWNoaWxkTm9kZXMubGVuZ3RoLHN1Ym5vZGUsbm9kZVR5cGU7d2hpbGUobGVuZ3RoLS0pe3N1Ym5vZGU9Y2hpbGROb2Rlc1tsZW5ndGhdO25vZGVUeXBlPXN1Ym5vZGUubm9kZVR5cGU7aWYobm9kZVR5cGU9PT0zKXthbGxUZXh0LnB1c2goc3Vibm9kZSl9ZWxzZSBpZihub2RlVHlwZT09PTEmJiEoXCJvd25lclNWR0VsZW1lbnRcImluIHN1Ym5vZGUpJiYhc2hvdWxkbnRCZVBhcnNlZC50ZXN0KHN1Ym5vZGUubm9kZU5hbWUudG9Mb3dlckNhc2UoKSkpe2dyYWJBbGxUZXh0Tm9kZXMoc3Vibm9kZSxhbGxUZXh0KX19cmV0dXJuIGFsbFRleHR9ZnVuY3Rpb24gZ3JhYlRoZVJpZ2h0SWNvbihyYXdUZXh0KXtyZXR1cm4gdG9Db2RlUG9pbnQocmF3VGV4dC5pbmRleE9mKFUyMDBEKTwwP3Jhd1RleHQucmVwbGFjZShVRkUwRmcsXCJcIik6cmF3VGV4dCl9ZnVuY3Rpb24gcGFyc2VOb2RlKG5vZGUsb3B0aW9ucyl7dmFyIGFsbFRleHQ9Z3JhYkFsbFRleHROb2Rlcyhub2RlLFtdKSxsZW5ndGg9YWxsVGV4dC5sZW5ndGgsYXR0cmliLGF0dHJuYW1lLG1vZGlmaWVkLGZyYWdtZW50LHN1Ym5vZGUsdGV4dCxtYXRjaCxpLGluZGV4LGltZyxyYXdUZXh0LGljb25JZCxzcmM7d2hpbGUobGVuZ3RoLS0pe21vZGlmaWVkPWZhbHNlO2ZyYWdtZW50PWRvY3VtZW50LmNyZWF0ZURvY3VtZW50RnJhZ21lbnQoKTtzdWJub2RlPWFsbFRleHRbbGVuZ3RoXTt0ZXh0PXN1Ym5vZGUubm9kZVZhbHVlO2k9MDt3aGlsZShtYXRjaD1yZS5leGVjKHRleHQpKXtpbmRleD1tYXRjaC5pbmRleDtpZihpbmRleCE9PWkpe2ZyYWdtZW50LmFwcGVuZENoaWxkKGNyZWF0ZVRleHQodGV4dC5zbGljZShpLGluZGV4KSx0cnVlKSl9cmF3VGV4dD1tYXRjaFswXTtpY29uSWQ9Z3JhYlRoZVJpZ2h0SWNvbihyYXdUZXh0KTtpPWluZGV4K3Jhd1RleHQubGVuZ3RoO3NyYz1vcHRpb25zLmNhbGxiYWNrKGljb25JZCxvcHRpb25zKTtpZihpY29uSWQmJnNyYyl7aW1nPW5ldyBJbWFnZTtpbWcub25lcnJvcj1vcHRpb25zLm9uZXJyb3I7aW1nLnNldEF0dHJpYnV0ZShcImRyYWdnYWJsZVwiLFwiZmFsc2VcIik7YXR0cmliPW9wdGlvbnMuYXR0cmlidXRlcyhyYXdUZXh0LGljb25JZCk7Zm9yKGF0dHJuYW1lIGluIGF0dHJpYil7aWYoYXR0cmliLmhhc093blByb3BlcnR5KGF0dHJuYW1lKSYmYXR0cm5hbWUuaW5kZXhPZihcIm9uXCIpIT09MCYmIWltZy5oYXNBdHRyaWJ1dGUoYXR0cm5hbWUpKXtpbWcuc2V0QXR0cmlidXRlKGF0dHJuYW1lLGF0dHJpYlthdHRybmFtZV0pfX1pbWcuY2xhc3NOYW1lPW9wdGlvbnMuY2xhc3NOYW1lO2ltZy5hbHQ9cmF3VGV4dDtpbWcuc3JjPXNyYzttb2RpZmllZD10cnVlO2ZyYWdtZW50LmFwcGVuZENoaWxkKGltZyl9aWYoIWltZylmcmFnbWVudC5hcHBlbmRDaGlsZChjcmVhdGVUZXh0KHJhd1RleHQsZmFsc2UpKTtpbWc9bnVsbH1pZihtb2RpZmllZCl7aWYoaTx0ZXh0Lmxlbmd0aCl7ZnJhZ21lbnQuYXBwZW5kQ2hpbGQoY3JlYXRlVGV4dCh0ZXh0LnNsaWNlKGkpLHRydWUpKX1zdWJub2RlLnBhcmVudE5vZGUucmVwbGFjZUNoaWxkKGZyYWdtZW50LHN1Ym5vZGUpfX1yZXR1cm4gbm9kZX1mdW5jdGlvbiBwYXJzZVN0cmluZyhzdHIsb3B0aW9ucyl7cmV0dXJuIHJlcGxhY2Uoc3RyLGZ1bmN0aW9uKHJhd1RleHQpe3ZhciByZXQ9cmF3VGV4dCxpY29uSWQ9Z3JhYlRoZVJpZ2h0SWNvbihyYXdUZXh0KSxzcmM9b3B0aW9ucy5jYWxsYmFjayhpY29uSWQsb3B0aW9ucyksYXR0cmliLGF0dHJuYW1lO2lmKGljb25JZCYmc3JjKXtyZXQ9XCI8aW1nIFwiLmNvbmNhdCgnY2xhc3M9XCInLG9wdGlvbnMuY2xhc3NOYW1lLCdcIiAnLCdkcmFnZ2FibGU9XCJmYWxzZVwiICcsJ2FsdD1cIicscmF3VGV4dCwnXCInLCcgc3JjPVwiJyxzcmMsJ1wiJyk7YXR0cmliPW9wdGlvbnMuYXR0cmlidXRlcyhyYXdUZXh0LGljb25JZCk7Zm9yKGF0dHJuYW1lIGluIGF0dHJpYil7aWYoYXR0cmliLmhhc093blByb3BlcnR5KGF0dHJuYW1lKSYmYXR0cm5hbWUuaW5kZXhPZihcIm9uXCIpIT09MCYmcmV0LmluZGV4T2YoXCIgXCIrYXR0cm5hbWUrXCI9XCIpPT09LTEpe3JldD1yZXQuY29uY2F0KFwiIFwiLGF0dHJuYW1lLCc9XCInLGVzY2FwZUhUTUwoYXR0cmliW2F0dHJuYW1lXSksJ1wiJyl9fXJldD1yZXQuY29uY2F0KFwiLz5cIil9cmV0dXJuIHJldH0pfWZ1bmN0aW9uIHJlcGxhY2VyKG0pe3JldHVybiBlc2NhcGVyW21dfWZ1bmN0aW9uIHJldHVybk51bGwoKXtyZXR1cm4gbnVsbH1mdW5jdGlvbiB0b1NpemVTcXVhcmVkQXNzZXQodmFsdWUpe3JldHVybiB0eXBlb2YgdmFsdWU9PT1cIm51bWJlclwiP3ZhbHVlK1wieFwiK3ZhbHVlOnZhbHVlfWZ1bmN0aW9uIGZyb21Db2RlUG9pbnQoY29kZXBvaW50KXt2YXIgY29kZT10eXBlb2YgY29kZXBvaW50PT09XCJzdHJpbmdcIj9wYXJzZUludChjb2RlcG9pbnQsMTYpOmNvZGVwb2ludDtpZihjb2RlPDY1NTM2KXtyZXR1cm4gZnJvbUNoYXJDb2RlKGNvZGUpfWNvZGUtPTY1NTM2O3JldHVybiBmcm9tQ2hhckNvZGUoNTUyOTYrKGNvZGU+PjEwKSw1NjMyMCsoY29kZSYxMDIzKSl9ZnVuY3Rpb24gcGFyc2Uod2hhdCxob3cpe2lmKCFob3d8fHR5cGVvZiBob3c9PT1cImZ1bmN0aW9uXCIpe2hvdz17Y2FsbGJhY2s6aG93fX1yZXR1cm4odHlwZW9mIHdoYXQ9PT1cInN0cmluZ1wiP3BhcnNlU3RyaW5nOnBhcnNlTm9kZSkod2hhdCx7Y2FsbGJhY2s6aG93LmNhbGxiYWNrfHxkZWZhdWx0SW1hZ2VTcmNHZW5lcmF0b3IsYXR0cmlidXRlczp0eXBlb2YgaG93LmF0dHJpYnV0ZXM9PT1cImZ1bmN0aW9uXCI/aG93LmF0dHJpYnV0ZXM6cmV0dXJuTnVsbCxiYXNlOnR5cGVvZiBob3cuYmFzZT09PVwic3RyaW5nXCI/aG93LmJhc2U6dHdlbW9qaS5iYXNlLGV4dDpob3cuZXh0fHx0d2Vtb2ppLmV4dCxzaXplOmhvdy5mb2xkZXJ8fHRvU2l6ZVNxdWFyZWRBc3NldChob3cuc2l6ZXx8dHdlbW9qaS5zaXplKSxjbGFzc05hbWU6aG93LmNsYXNzTmFtZXx8dHdlbW9qaS5jbGFzc05hbWUsb25lcnJvcjpob3cub25lcnJvcnx8dHdlbW9qaS5vbmVycm9yfSl9ZnVuY3Rpb24gcmVwbGFjZSh0ZXh0LGNhbGxiYWNrKXtyZXR1cm4gU3RyaW5nKHRleHQpLnJlcGxhY2UocmUsY2FsbGJhY2spfWZ1bmN0aW9uIHRlc3QodGV4dCl7cmUubGFzdEluZGV4PTA7dmFyIHJlc3VsdD1yZS50ZXN0KHRleHQpO3JlLmxhc3RJbmRleD0wO3JldHVybiByZXN1bHR9ZnVuY3Rpb24gdG9Db2RlUG9pbnQodW5pY29kZVN1cnJvZ2F0ZXMsc2VwKXt2YXIgcj1bXSxjPTAscD0wLGk9MDt3aGlsZShpPHVuaWNvZGVTdXJyb2dhdGVzLmxlbmd0aCl7Yz11bmljb2RlU3Vycm9nYXRlcy5jaGFyQ29kZUF0KGkrKyk7aWYocCl7ci5wdXNoKCg2NTUzNisocC01NTI5Njw8MTApKyhjLTU2MzIwKSkudG9TdHJpbmcoMTYpKTtwPTB9ZWxzZSBpZig1NTI5Njw9YyYmYzw9NTYzMTkpe3A9Y31lbHNle3IucHVzaChjLnRvU3RyaW5nKDE2KSl9fXJldHVybiByLmpvaW4oc2VwfHxcIi1cIil9fSgpO1xuZXhwb3J0IGRlZmF1bHQgdHdlbW9qaTsiXSwic291cmNlUm9vdCI6IiJ9
|