Files
seatmapv2/client/dist/seatmap.js
2021-05-23 23:02:55 +02:00

376 lines
1.8 MiB
Raw Blame History

(function(){function r(e,n,t){function o(i,f){if(!n[i]){if(!e[i]){var c="function"==typeof require&&require;if(!f&&c)return c(i,!0);if(u)return u(i,!0);var a=new Error("Cannot find module '"+i+"'");throw a.code="MODULE_NOT_FOUND",a}var p=n[i]={exports:{}};e[i][0].call(p.exports,function(r){var n=e[i][1][r];return o(n||r)},p,p.exports,r,e,n,t)}return n[i].exports}for(var u="function"==typeof require&&require,i=0;i<t.length;i++)o(t[i]);return o}return r})()({1:[function(require,module,exports){
!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):(t="undefined"!=typeof globalThis?globalThis:t||self).Panzoom=e()}(this,function(){"use strict";var t=function(){return(t=Object.assign||function(t){for(var e,n=1,o=arguments.length;n<o;n++)for(var r in e=arguments[n])Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t}).apply(this,arguments)};function e(t,e){for(var n=t.length;n--;)if(t[n].pointerId===e.pointerId)return n;return-1}function n(t,o){var r;if(o.touches){r=0;for(var a=0,i=o.touches;a<i.length;a++){var c=i[a];c.pointerId=r++,n(t,c)}}else(r=e(t,o))>-1&&t.splice(r,1),t.push(o)}function o(t){for(var e,n=(t=t.slice(0)).pop();e=t.pop();)n={clientX:(e.clientX-n.clientX)/2+n.clientX,clientY:(e.clientY-n.clientY)/2+n.clientY};return n}function r(t){if(t.length<2)return 0;var e=t[0],n=t[1];return Math.sqrt(Math.pow(Math.abs(n.clientX-e.clientX),2)+Math.pow(Math.abs(n.clientY-e.clientY),2))}"undefined"!=typeof window&&(window.NodeList&&!NodeList.prototype.forEach&&(NodeList.prototype.forEach=Array.prototype.forEach),"function"!=typeof window.CustomEvent&&(window.CustomEvent=function(t,e){e=e||{bubbles:!1,cancelable:!1,detail:null};var n=document.createEvent("CustomEvent");return n.initCustomEvent(t,e.bubbles,e.cancelable,e.detail),n}));var a={down:"mousedown",move:"mousemove",up:"mouseup mouseleave"};function i(t,e,n,o){a[t].split(" ").forEach(function(t){e.addEventListener(t,n,o)})}function c(t,e,n){a[t].split(" ").forEach(function(t){e.removeEventListener(t,n)})}"undefined"!=typeof window&&("function"==typeof window.PointerEvent?a={down:"pointerdown",move:"pointermove",up:"pointerup pointerleave pointercancel"}:"function"==typeof window.TouchEvent&&(a={down:"touchstart",move:"touchmove",up:"touchend touchcancel"}));var l,p="undefined"!=typeof document&&!!document.documentMode;function u(){return l||(l=document.createElement("div").style)}var d=["webkit","moz","ms"],s={};function f(t){if(s[t])return s[t];var e=u();if(t in e)return s[t]=t;for(var n=t[0].toUpperCase()+t.slice(1),o=d.length;o--;){var r=""+d[o]+n;if(r in e)return s[t]=r}}function m(t,e){return parseFloat(e[f(t)])||0}function h(t,e,n){void 0===n&&(n=window.getComputedStyle(t));var o="border"===e?"Width":"";return{left:m(e+"Left"+o,n),right:m(e+"Right"+o,n),top:m(e+"Top"+o,n),bottom:m(e+"Bottom"+o,n)}}function v(t,e,n){t.style[f(e)]=n}function g(t){var e=t.parentNode,n=window.getComputedStyle(t),o=window.getComputedStyle(e),r=t.getBoundingClientRect(),a=e.getBoundingClientRect();return{elem:{style:n,width:r.width,height:r.height,top:r.top,bottom:r.bottom,left:r.left,right:r.right,margin:h(t,"margin",n),border:h(t,"border",n)},parent:{style:o,width:a.width,height:a.height,top:a.top,bottom:a.bottom,left:a.left,right:a.right,padding:h(e,"padding",o),border:h(e,"border",o)}}}function y(t,e){return 1===t.nodeType&&(" "+function(t){return(t.getAttribute("class")||"").trim()}(t)+" ").indexOf(" "+e+" ")>-1}var w=/^http:[\w\.\/]+svg$/;var b={animate:!1,canvas:!1,cursor:"move",disablePan:!1,disableZoom:!1,disableXAxis:!1,disableYAxis:!1,duration:200,easing:"ease-in-out",exclude:[],excludeClass:"panzoom-exclude",handleStartEvent:function(t){t.preventDefault(),t.stopPropagation()},maxScale:4,minScale:.125,overflow:"hidden",panOnlyWhenZoomed:!1,relative:!1,setTransform:function(t,e,n){var o=e.x,r=e.y,a=e.scale,i=e.isSVG;if(v(t,"transform","scale("+a+") translate("+o+"px, "+r+"px)"),i&&p){var c=window.getComputedStyle(t).getPropertyValue("transform");t.setAttribute("transform",c)}},startX:0,startY:0,startScale:1,step:.3,touchAction:"none"};function x(l,p){if(!l)throw new Error("Panzoom requires an element as an argument");if(1!==l.nodeType)throw new Error("Panzoom requires an element with a nodeType of 1");if(!function(t){var e=t.ownerDocument,n=t.parentNode;return e&&n&&9===e.nodeType&&1===n.nodeType&&e.documentElement.contains(n)}(l))throw new Error("Panzoom should be called on elements that have been attached to the DOM");p=t(t({},b),p);var u=function(t){return w.test(t.namespaceURI)&&"svg"!==t.nodeName.toLowerCase()}(l),d=l.parentNode;d.style.overflow=p.overflow,d.style.userSelect="none",d.style.touchAction=p.touchAction,(p.canvas?d:l).style.cursor=p.cursor,l.style.userSelect="none",l.style.touchAction=p.touchAction,v(l,"transformOrigin","string"==typeof p.origin?p.origin:u?"0 0":"50% 50%");var s,m,h,x,S,E,M=0,O=0,P=1,z=!1;function A(t,e,n){if(!n.silent){var o=new CustomEvent(t,{detail:e});l.dispatchEvent(o)}}function X(t,e){var n={x:M,y:O,scale:P,isSVG:u};return requestAnimationFrame(function(){"boolean"==typeof e.animate&&(e.animate?function(t,e){v(t,"transition",f("transform")+" "+e.duration+"ms "+e.easing)}(l,e):v(l,"transition","none")),e.setTransform(l,n,e)}),A(t,n,e),A("panzoomchange",n,e),n}function Y(){if(p.contain){var t=g(l),e=t.parent.width-t.parent.border.left-t.parent.border.right,n=t.parent.height-t.parent.border.top-t.parent.border.bottom,o=e/(t.elem.width/P),r=n/(t.elem.height/P);"inside"===p.contain?p.maxScale=Math.min(o,r):"outside"===p.contain&&(p.minScale=Math.max(o,r))}}function C(e,n,o,r){var a=t(t({},p),r),i={x:M,y:O,opts:a};if(!a.force&&(a.disablePan||a.panOnlyWhenZoomed&&P===a.startScale))return i;if(e=parseFloat(e),n=parseFloat(n),a.disableXAxis||(i.x=(a.relative?M:0)+e),a.disableYAxis||(i.y=(a.relative?O:0)+n),"inside"===a.contain){var c=g(l);i.x=Math.max(-c.elem.margin.left-c.parent.padding.left,Math.min(c.parent.width-c.elem.width/o-c.parent.padding.left-c.elem.margin.left-c.parent.border.left-c.parent.border.right,i.x)),i.y=Math.max(-c.elem.margin.top-c.parent.padding.top,Math.min(c.parent.height-c.elem.height/o-c.parent.padding.top-c.elem.margin.top-c.parent.border.top-c.parent.border.bottom,i.y))}else if("outside"===a.contain){var u=(c=g(l)).elem.width/P,d=c.elem.height/P,s=u*o,f=d*o,m=(s-u)/2,h=(f-d)/2,v=(-(s-c.parent.width)-c.parent.padding.left-c.parent.border.left-c.parent.border.right+m)/o,y=(m-c.parent.padding.left)/o;i.x=Math.max(Math.min(i.x,y),v);var w=(-(f-c.parent.height)-c.parent.padding.top-c.parent.border.top-c.parent.border.bottom+h)/o,b=(h-c.parent.padding.top)/o;i.y=Math.max(Math.min(i.y,b),w)}return i}function T(e,n){var o=t(t({},p),n),r={scale:P,opts:o};return!o.force&&o.disableZoom?r:(r.scale=Math.min(Math.max(e,o.minScale),o.maxScale),r)}function N(t,e,n){var o=C(t,e,P,n),r=o.opts;return M=o.x,O=o.y,X("panzoompan",r)}function L(t,e){var n=T(t,e),o=n.opts;if(o.force||!o.disableZoom){t=n.scale;var r=M,a=O;if(o.focal){var i=o.focal;r=(i.x/t-i.x/P+M*t)/t,a=(i.y/t-i.y/P+O*t)/t}var c=C(r,a,t,{relative:!1,force:!0});return M=c.x,O=c.y,P=t,X("panzoomzoom",o)}}function I(e,n){var o=t(t(t({},p),{animate:!0}),n);return L(P*Math.exp((e?1:-1)*o.step),o)}function W(e,n,o){var r=g(l),a=r.parent.width-r.parent.padding.left-r.parent.padding.right-r.parent.border.left-r.parent.border.right,i=r.parent.height-r.parent.padding.top-r.parent.padding.bottom-r.parent.border.top-r.parent.border.bottom,c=n.clientX-r.parent.left-r.parent.padding.left-r.parent.border.left-r.elem.margin.left,p=n.clientY-r.parent.top-r.parent.padding.top-r.parent.border.top-r.elem.margin.top;u||(c-=r.elem.width/P/2,p-=r.elem.height/P/2);var d={x:c/a*(a*e),y:p/i*(i*e)};return L(e,t(t({animate:!1},o),{focal:d}))}L(p.startScale,{animate:!1}),setTimeout(function(){Y(),N(p.startX,p.startY,{animate:!1})});var Z=[];function q(t){if(!function(t,e){for(var n=t;null!=n;n=n.parentNode)if(y(n,e.excludeClass)||e.exclude.indexOf(n)>-1)return!0;return!1}(t.target,p)){n(Z,t),z=!0,p.handleStartEvent(t),s=M,m=O,A("panzoomstart",{x:M,y:O,scale:P},p);var e=o(Z);h=e.clientX,x=e.clientY,S=P,E=r(Z)}}function B(t){if(z&&void 0!==s&&void 0!==m&&void 0!==h&&void 0!==x){n(Z,t);var e=o(Z);if(Z.length>1)W(T((r(Z)-E)*p.step/80+S).scale,e);N(s+(e.clientX-h)/P,m+(e.clientY-x)/P,{animate:!1})}}function D(t){1===Z.length&&A("panzoomend",{x:M,y:O,scale:P},p),function(t,n){if(n.touches)for(;t.length;)t.pop();else{var o=e(t,n);o>-1&&t.splice(o,1)}}(Z,t),z&&(z=!1,s=m=h=x=void 0)}var F=!1;function R(){F||(F=!0,i("down",p.canvas?d:l,q),i("move",document,B,{passive:!0}),i("up",document,D,{passive:!0}))}return p.noBind||R(),{bind:R,destroy:function(){F=!1,c("down",p.canvas?d:l,q),c("move",document,B),c("up",document,D)},eventNames:a,getPan:function(){return{x:M,y:O}},getScale:function(){return P},getOptions:function(){return function(t){var e={};for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n]);return e}(p)},pan:N,reset:function(e){var n=t(t(t({},p),{animate:!0,force:!0}),e);P=T(n.startScale,n).scale;var o=C(n.startX,n.startY,P,n);return M=o.x,O=o.y,X("panzoomreset",n)},setOptions:function(t){for(var e in void 0===t&&(t={}),t)t.hasOwnProperty(e)&&(p[e]=t[e]);t.hasOwnProperty("cursor")&&(l.style.cursor=t.cursor),t.hasOwnProperty("overflow")&&(d.style.overflow=t.overflow),t.hasOwnProperty("touchAction")&&(d.style.touchAction=t.touchAction,l.style.touchAction=t.touchAction),(t.hasOwnProperty("minScale")||t.hasOwnProperty("maxScale")||t.hasOwnProperty("contain"))&&Y()},setStyle:function(t,e){return v(l,t,e)},zoom:L,zoomIn:function(t){return I(!0,t)},zoomOut:function(t){return I(!1,t)},zoomToPoint:W,zoomWithWheel:function(e,n){e.preventDefault();var o=t(t({},p),n),r=(0===e.deltaY&&e.deltaX?e.deltaX:e.deltaY)<0?1:-1;return W(T(P*Math.exp(r*o.step/3),o).scale,e,o)}}}return x.defaultOptions=b,x});
},{}],2:[function(require,module,exports){
module.exports=require("./lib/axios");
},{"./lib/axios":4}],3:[function(require,module,exports){
"use strict";var utils=require("./../utils"),settle=require("./../core/settle"),cookies=require("./../helpers/cookies"),buildURL=require("./../helpers/buildURL"),buildFullPath=require("../core/buildFullPath"),parseHeaders=require("./../helpers/parseHeaders"),isURLSameOrigin=require("./../helpers/isURLSameOrigin"),createError=require("../core/createError");module.exports=function(e){return new Promise(function(r,t){var s=e.data,o=e.headers;utils.isFormData(s)&&delete o["Content-Type"];var a=new XMLHttpRequest;if(e.auth){var n=e.auth.username||"",i=e.auth.password?unescape(encodeURIComponent(e.auth.password)):"";o.Authorization="Basic "+btoa(n+":"+i)}var u=buildFullPath(e.baseURL,e.url);if(a.open(e.method.toUpperCase(),buildURL(u,e.params,e.paramsSerializer),!0),a.timeout=e.timeout,a.onreadystatechange=function(){if(a&&4===a.readyState&&(0!==a.status||a.responseURL&&0===a.responseURL.indexOf("file:"))){var s="getAllResponseHeaders"in a?parseHeaders(a.getAllResponseHeaders()):null,o={data:e.responseType&&"text"!==e.responseType?a.response:a.responseText,status:a.status,statusText:a.statusText,headers:s,config:e,request:a};settle(r,t,o),a=null}},a.onabort=function(){a&&(t(createError("Request aborted",e,"ECONNABORTED",a)),a=null)},a.onerror=function(){t(createError("Network Error",e,null,a)),a=null},a.ontimeout=function(){var r="timeout of "+e.timeout+"ms exceeded";e.timeoutErrorMessage&&(r=e.timeoutErrorMessage),t(createError(r,e,"ECONNABORTED",a)),a=null},utils.isStandardBrowserEnv()){var l=(e.withCredentials||isURLSameOrigin(u))&&e.xsrfCookieName?cookies.read(e.xsrfCookieName):void 0;l&&(o[e.xsrfHeaderName]=l)}if("setRequestHeader"in a&&utils.forEach(o,function(e,r){void 0===s&&"content-type"===r.toLowerCase()?delete o[r]:a.setRequestHeader(r,e)}),utils.isUndefined(e.withCredentials)||(a.withCredentials=!!e.withCredentials),e.responseType)try{a.responseType=e.responseType}catch(r){if("json"!==e.responseType)throw r}"function"==typeof e.onDownloadProgress&&a.addEventListener("progress",e.onDownloadProgress),"function"==typeof e.onUploadProgress&&a.upload&&a.upload.addEventListener("progress",e.onUploadProgress),e.cancelToken&&e.cancelToken.promise.then(function(e){a&&(a.abort(),t(e),a=null)}),s||(s=null),a.send(s)})};
},{"../core/buildFullPath":10,"../core/createError":11,"./../core/settle":15,"./../helpers/buildURL":19,"./../helpers/cookies":21,"./../helpers/isURLSameOrigin":24,"./../helpers/parseHeaders":26,"./../utils":28}],4:[function(require,module,exports){
"use strict";var utils=require("./utils"),bind=require("./helpers/bind"),Axios=require("./core/Axios"),mergeConfig=require("./core/mergeConfig"),defaults=require("./defaults");function createInstance(e){var r=new Axios(e),i=bind(Axios.prototype.request,r);return utils.extend(i,Axios.prototype,r),utils.extend(i,r),i}var axios=createInstance(defaults);axios.Axios=Axios,axios.create=function(e){return createInstance(mergeConfig(axios.defaults,e))},axios.Cancel=require("./cancel/Cancel"),axios.CancelToken=require("./cancel/CancelToken"),axios.isCancel=require("./cancel/isCancel"),axios.all=function(e){return Promise.all(e)},axios.spread=require("./helpers/spread"),axios.isAxiosError=require("./helpers/isAxiosError"),module.exports=axios,module.exports.default=axios;
},{"./cancel/Cancel":5,"./cancel/CancelToken":6,"./cancel/isCancel":7,"./core/Axios":8,"./core/mergeConfig":14,"./defaults":17,"./helpers/bind":18,"./helpers/isAxiosError":23,"./helpers/spread":27,"./utils":28}],5:[function(require,module,exports){
"use strict";function Cancel(e){this.message=e}Cancel.prototype.toString=function(){return"Cancel"+(this.message?": "+this.message:"")},Cancel.prototype.__CANCEL__=!0,module.exports=Cancel;
},{}],6:[function(require,module,exports){
"use strict";var Cancel=require("./Cancel");function CancelToken(e){if("function"!=typeof e)throw new TypeError("executor must be a function.");var n;this.promise=new Promise(function(e){n=e});var o=this;e(function(e){o.reason||(o.reason=new Cancel(e),n(o.reason))})}CancelToken.prototype.throwIfRequested=function(){if(this.reason)throw this.reason},CancelToken.source=function(){var e;return{token:new CancelToken(function(n){e=n}),cancel:e}},module.exports=CancelToken;
},{"./Cancel":5}],7:[function(require,module,exports){
"use strict";module.exports=function(t){return!(!t||!t.__CANCEL__)};
},{}],8:[function(require,module,exports){
"use strict";var utils=require("./../utils"),buildURL=require("../helpers/buildURL"),InterceptorManager=require("./InterceptorManager"),dispatchRequest=require("./dispatchRequest"),mergeConfig=require("./mergeConfig");function Axios(e){this.defaults=e,this.interceptors={request:new InterceptorManager,response:new InterceptorManager}}Axios.prototype.request=function(e){"string"==typeof e?(e=arguments[1]||{}).url=arguments[0]:e=e||{},(e=mergeConfig(this.defaults,e)).method?e.method=e.method.toLowerCase():this.defaults.method?e.method=this.defaults.method.toLowerCase():e.method="get";var t=[dispatchRequest,void 0],r=Promise.resolve(e);for(this.interceptors.request.forEach(function(e){t.unshift(e.fulfilled,e.rejected)}),this.interceptors.response.forEach(function(e){t.push(e.fulfilled,e.rejected)});t.length;)r=r.then(t.shift(),t.shift());return r},Axios.prototype.getUri=function(e){return e=mergeConfig(this.defaults,e),buildURL(e.url,e.params,e.paramsSerializer).replace(/^\?/,"")},utils.forEach(["delete","get","head","options"],function(e){Axios.prototype[e]=function(t,r){return this.request(mergeConfig(r||{},{method:e,url:t,data:(r||{}).data}))}}),utils.forEach(["post","put","patch"],function(e){Axios.prototype[e]=function(t,r,o){return this.request(mergeConfig(o||{},{method:e,url:t,data:r}))}}),module.exports=Axios;
},{"../helpers/buildURL":19,"./../utils":28,"./InterceptorManager":9,"./dispatchRequest":12,"./mergeConfig":14}],9:[function(require,module,exports){
"use strict";var utils=require("./../utils");function InterceptorManager(){this.handlers=[]}InterceptorManager.prototype.use=function(e,t){return this.handlers.push({fulfilled:e,rejected:t}),this.handlers.length-1},InterceptorManager.prototype.eject=function(e){this.handlers[e]&&(this.handlers[e]=null)},InterceptorManager.prototype.forEach=function(e){utils.forEach(this.handlers,function(t){null!==t&&e(t)})},module.exports=InterceptorManager;
},{"./../utils":28}],10:[function(require,module,exports){
"use strict";var isAbsoluteURL=require("../helpers/isAbsoluteURL"),combineURLs=require("../helpers/combineURLs");module.exports=function(e,s){return e&&!isAbsoluteURL(s)?combineURLs(e,s):s};
},{"../helpers/combineURLs":20,"../helpers/isAbsoluteURL":22}],11:[function(require,module,exports){
"use strict";var enhanceError=require("./enhanceError");module.exports=function(r,e,n,o,a){var c=new Error(r);return enhanceError(c,e,n,o,a)};
},{"./enhanceError":13}],12:[function(require,module,exports){
"use strict";var utils=require("./../utils"),transformData=require("./transformData"),isCancel=require("../cancel/isCancel"),defaults=require("../defaults");function throwIfCancellationRequested(e){e.cancelToken&&e.cancelToken.throwIfRequested()}module.exports=function(e){return throwIfCancellationRequested(e),e.headers=e.headers||{},e.data=transformData(e.data,e.headers,e.transformRequest),e.headers=utils.merge(e.headers.common||{},e.headers[e.method]||{},e.headers),utils.forEach(["delete","get","head","post","put","patch","common"],function(a){delete e.headers[a]}),(e.adapter||defaults.adapter)(e).then(function(a){return throwIfCancellationRequested(e),a.data=transformData(a.data,a.headers,e.transformResponse),a},function(a){return isCancel(a)||(throwIfCancellationRequested(e),a&&a.response&&(a.response.data=transformData(a.response.data,a.response.headers,e.transformResponse))),Promise.reject(a)})};
},{"../cancel/isCancel":7,"../defaults":17,"./../utils":28,"./transformData":16}],13:[function(require,module,exports){
"use strict";module.exports=function(e,i,s,t,n){return e.config=i,s&&(e.code=s),e.request=t,e.response=n,e.isAxiosError=!0,e.toJSON=function(){return{message:this.message,name:this.name,description:this.description,number:this.number,fileName:this.fileName,lineNumber:this.lineNumber,columnNumber:this.columnNumber,stack:this.stack,config:this.config,code:this.code}},e};
},{}],14:[function(require,module,exports){
"use strict";var utils=require("../utils");module.exports=function(e,t){t=t||{};var i={},s=["url","method","data"],n=["headers","auth","proxy","params"],r=["baseURL","transformRequest","transformResponse","paramsSerializer","timeout","timeoutMessage","withCredentials","adapter","responseType","xsrfCookieName","xsrfHeaderName","onUploadProgress","onDownloadProgress","decompress","maxContentLength","maxBodyLength","maxRedirects","transport","httpAgent","httpsAgent","cancelToken","socketPath","responseEncoding"],o=["validateStatus"];function a(e,t){return utils.isPlainObject(e)&&utils.isPlainObject(t)?utils.merge(e,t):utils.isPlainObject(t)?utils.merge({},t):utils.isArray(t)?t.slice():t}function u(s){utils.isUndefined(t[s])?utils.isUndefined(e[s])||(i[s]=a(void 0,e[s])):i[s]=a(e[s],t[s])}utils.forEach(s,function(e){utils.isUndefined(t[e])||(i[e]=a(void 0,t[e]))}),utils.forEach(n,u),utils.forEach(r,function(s){utils.isUndefined(t[s])?utils.isUndefined(e[s])||(i[s]=a(void 0,e[s])):i[s]=a(void 0,t[s])}),utils.forEach(o,function(s){s in t?i[s]=a(e[s],t[s]):s in e&&(i[s]=a(void 0,e[s]))});var c=s.concat(n).concat(r).concat(o),l=Object.keys(e).concat(Object.keys(t)).filter(function(e){return-1===c.indexOf(e)});return utils.forEach(l,u),i};
},{"../utils":28}],15:[function(require,module,exports){
"use strict";var createError=require("./createError");module.exports=function(t,r,e){var s=e.config.validateStatus;e.status&&s&&!s(e.status)?r(createError("Request failed with status code "+e.status,e.config,null,e.request,e)):t(e)};
},{"./createError":11}],16:[function(require,module,exports){
"use strict";var utils=require("./../utils");module.exports=function(t,u,r){return utils.forEach(r,function(r){t=r(t,u)}),t};
},{"./../utils":28}],17:[function(require,module,exports){
(function (process){(function (){
"use strict";var utils=require("./utils"),normalizeHeaderName=require("./helpers/normalizeHeaderName"),DEFAULT_CONTENT_TYPE={"Content-Type":"application/x-www-form-urlencoded"};function setContentTypeIfUnset(e,t){!utils.isUndefined(e)&&utils.isUndefined(e["Content-Type"])&&(e["Content-Type"]=t)}function getDefaultAdapter(){var e;return"undefined"!=typeof XMLHttpRequest?e=require("./adapters/xhr"):"undefined"!=typeof process&&"[object process]"===Object.prototype.toString.call(process)&&(e=require("./adapters/http")),e}var defaults={adapter:getDefaultAdapter(),transformRequest:[function(e,t){return normalizeHeaderName(t,"Accept"),normalizeHeaderName(t,"Content-Type"),utils.isFormData(e)||utils.isArrayBuffer(e)||utils.isBuffer(e)||utils.isStream(e)||utils.isFile(e)||utils.isBlob(e)?e:utils.isArrayBufferView(e)?e.buffer:utils.isURLSearchParams(e)?(setContentTypeIfUnset(t,"application/x-www-form-urlencoded;charset=utf-8"),e.toString()):utils.isObject(e)?(setContentTypeIfUnset(t,"application/json;charset=utf-8"),JSON.stringify(e)):e}],transformResponse:[function(e){if("string"==typeof e)try{e=JSON.parse(e)}catch(e){}return e}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,validateStatus:function(e){return e>=200&&e<300},headers:{common:{Accept:"application/json, text/plain, */*"}}};utils.forEach(["delete","get","head"],function(e){defaults.headers[e]={}}),utils.forEach(["post","put","patch"],function(e){defaults.headers[e]=utils.merge(DEFAULT_CONTENT_TYPE)}),module.exports=defaults;
}).call(this)}).call(this,require('_process'))
},{"./adapters/http":3,"./adapters/xhr":3,"./helpers/normalizeHeaderName":25,"./utils":28,"_process":37}],18:[function(require,module,exports){
"use strict";module.exports=function(r,n){return function(){for(var t=new Array(arguments.length),e=0;e<t.length;e++)t[e]=arguments[e];return r.apply(n,t)}};
},{}],19:[function(require,module,exports){
"use strict";var utils=require("./../utils");function encode(e){return encodeURIComponent(e).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+").replace(/%5B/gi,"[").replace(/%5D/gi,"]")}module.exports=function(e,i,r){if(!i)return e;var t;if(r)t=r(i);else if(utils.isURLSearchParams(i))t=i.toString();else{var n=[];utils.forEach(i,function(e,i){null!=e&&(utils.isArray(e)?i+="[]":e=[e],utils.forEach(e,function(e){utils.isDate(e)?e=e.toISOString():utils.isObject(e)&&(e=JSON.stringify(e)),n.push(encode(i)+"="+encode(e))}))}),t=n.join("&")}if(t){var s=e.indexOf("#");-1!==s&&(e=e.slice(0,s)),e+=(-1===e.indexOf("?")?"?":"&")+t}return e};
},{"./../utils":28}],20:[function(require,module,exports){
"use strict";module.exports=function(e,r){return r?e.replace(/\/+$/,"")+"/"+r.replace(/^\/+/,""):e};
},{}],21:[function(require,module,exports){
"use strict";var utils=require("./../utils");module.exports=utils.isStandardBrowserEnv()?{write:function(e,t,n,i,u,o){var r=[];r.push(e+"="+encodeURIComponent(t)),utils.isNumber(n)&&r.push("expires="+new Date(n).toGMTString()),utils.isString(i)&&r.push("path="+i),utils.isString(u)&&r.push("domain="+u),!0===o&&r.push("secure"),document.cookie=r.join("; ")},read:function(e){var t=document.cookie.match(new RegExp("(^|;\\s*)("+e+")=([^;]*)"));return t?decodeURIComponent(t[3]):null},remove:function(e){this.write(e,"",Date.now()-864e5)}}:{write:function(){},read:function(){return null},remove:function(){}};
},{"./../utils":28}],22:[function(require,module,exports){
"use strict";module.exports=function(t){return/^([a-z][a-z\d\+\-\.]*:)?\/\//i.test(t)};
},{}],23:[function(require,module,exports){
"use strict";module.exports=function(o){return"object"==typeof o&&!0===o.isAxiosError};
},{}],24:[function(require,module,exports){
"use strict";var utils=require("./../utils");module.exports=utils.isStandardBrowserEnv()?function(){var t,r=/(msie|trident)/i.test(navigator.userAgent),e=document.createElement("a");function o(t){var o=t;return r&&(e.setAttribute("href",o),o=e.href),e.setAttribute("href",o),{href:e.href,protocol:e.protocol?e.protocol.replace(/:$/,""):"",host:e.host,search:e.search?e.search.replace(/^\?/,""):"",hash:e.hash?e.hash.replace(/^#/,""):"",hostname:e.hostname,port:e.port,pathname:"/"===e.pathname.charAt(0)?e.pathname:"/"+e.pathname}}return t=o(window.location.href),function(r){var e=utils.isString(r)?o(r):r;return e.protocol===t.protocol&&e.host===t.host}}():function(){return!0};
},{"./../utils":28}],25:[function(require,module,exports){
"use strict";var utils=require("../utils");module.exports=function(e,t){utils.forEach(e,function(r,s){s!==t&&s.toUpperCase()===t.toUpperCase()&&(e[t]=r,delete e[s])})};
},{"../utils":28}],26:[function(require,module,exports){
"use strict";var utils=require("./../utils"),ignoreDuplicateOf=["age","authorization","content-length","content-type","etag","expires","from","host","if-modified-since","if-unmodified-since","last-modified","location","max-forwards","proxy-authorization","referer","retry-after","user-agent"];module.exports=function(t){var e,i,r,o={};return t?(utils.forEach(t.split("\n"),function(t){if(r=t.indexOf(":"),e=utils.trim(t.substr(0,r)).toLowerCase(),i=utils.trim(t.substr(r+1)),e){if(o[e]&&ignoreDuplicateOf.indexOf(e)>=0)return;o[e]="set-cookie"===e?(o[e]?o[e]:[]).concat([i]):o[e]?o[e]+", "+i:i}}),o):o};
},{"./../utils":28}],27:[function(require,module,exports){
"use strict";module.exports=function(n){return function(t){return n.apply(null,t)}};
},{}],28:[function(require,module,exports){
"use strict";var bind=require("./helpers/bind"),toString=Object.prototype.toString;function isArray(r){return"[object Array]"===toString.call(r)}function isUndefined(r){return void 0===r}function isBuffer(r){return null!==r&&!isUndefined(r)&&null!==r.constructor&&!isUndefined(r.constructor)&&"function"==typeof r.constructor.isBuffer&&r.constructor.isBuffer(r)}function isArrayBuffer(r){return"[object ArrayBuffer]"===toString.call(r)}function isFormData(r){return"undefined"!=typeof FormData&&r instanceof FormData}function isArrayBufferView(r){return"undefined"!=typeof ArrayBuffer&&ArrayBuffer.isView?ArrayBuffer.isView(r):r&&r.buffer&&r.buffer instanceof ArrayBuffer}function isString(r){return"string"==typeof r}function isNumber(r){return"number"==typeof r}function isObject(r){return null!==r&&"object"==typeof r}function isPlainObject(r){if("[object Object]"!==toString.call(r))return!1;var e=Object.getPrototypeOf(r);return null===e||e===Object.prototype}function isDate(r){return"[object Date]"===toString.call(r)}function isFile(r){return"[object File]"===toString.call(r)}function isBlob(r){return"[object Blob]"===toString.call(r)}function isFunction(r){return"[object Function]"===toString.call(r)}function isStream(r){return isObject(r)&&isFunction(r.pipe)}function isURLSearchParams(r){return"undefined"!=typeof URLSearchParams&&r instanceof URLSearchParams}function trim(r){return r.replace(/^\s*/,"").replace(/\s*$/,"")}function isStandardBrowserEnv(){return("undefined"==typeof navigator||"ReactNative"!==navigator.product&&"NativeScript"!==navigator.product&&"NS"!==navigator.product)&&("undefined"!=typeof window&&"undefined"!=typeof document)}function forEach(r,e){if(null!=r)if("object"!=typeof r&&(r=[r]),isArray(r))for(var t=0,n=r.length;t<n;t++)e.call(null,r[t],t,r);else for(var i in r)Object.prototype.hasOwnProperty.call(r,i)&&e.call(null,r[i],i,r)}function merge(){var r={};function e(e,t){isPlainObject(r[t])&&isPlainObject(e)?r[t]=merge(r[t],e):isPlainObject(e)?r[t]=merge({},e):isArray(e)?r[t]=e.slice():r[t]=e}for(var t=0,n=arguments.length;t<n;t++)forEach(arguments[t],e);return r}function extend(r,e,t){return forEach(e,function(e,n){r[n]=t&&"function"==typeof e?bind(e,t):e}),r}function stripBOM(r){return 65279===r.charCodeAt(0)&&(r=r.slice(1)),r}module.exports={isArray:isArray,isArrayBuffer:isArrayBuffer,isBuffer:isBuffer,isFormData:isFormData,isArrayBufferView:isArrayBufferView,isString:isString,isNumber:isNumber,isObject:isObject,isPlainObject:isPlainObject,isUndefined:isUndefined,isDate:isDate,isFile:isFile,isBlob:isBlob,isFunction:isFunction,isStream:isStream,isURLSearchParams:isURLSearchParams,isStandardBrowserEnv:isStandardBrowserEnv,forEach:forEach,merge:merge,extend:extend,trim:trim,stripBOM:stripBOM};
},{"./helpers/bind":18}],29:[function(require,module,exports){
"use strict";exports.byteLength=byteLength,exports.toByteArray=toByteArray,exports.fromByteArray=fromByteArray;for(var lookup=[],revLookup=[],Arr="undefined"!=typeof Uint8Array?Uint8Array:Array,code="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",i=0,len=code.length;i<len;++i)lookup[i]=code[i],revLookup[code.charCodeAt(i)]=i;function getLens(o){var r=o.length;if(r%4>0)throw new Error("Invalid string. Length must be a multiple of 4");var e=o.indexOf("=");return-1===e&&(e=r),[e,e===r?0:4-e%4]}function byteLength(o){var r=getLens(o),e=r[0],t=r[1];return 3*(e+t)/4-t}function _byteLength(o,r,e){return 3*(r+e)/4-e}function toByteArray(o){var r,e,t=getLens(o),n=t[0],u=t[1],p=new Arr(_byteLength(o,n,u)),a=0,h=u>0?n-4:n;for(e=0;e<h;e+=4)r=revLookup[o.charCodeAt(e)]<<18|revLookup[o.charCodeAt(e+1)]<<12|revLookup[o.charCodeAt(e+2)]<<6|revLookup[o.charCodeAt(e+3)],p[a++]=r>>16&255,p[a++]=r>>8&255,p[a++]=255&r;return 2===u&&(r=revLookup[o.charCodeAt(e)]<<2|revLookup[o.charCodeAt(e+1)]>>4,p[a++]=255&r),1===u&&(r=revLookup[o.charCodeAt(e)]<<10|revLookup[o.charCodeAt(e+1)]<<4|revLookup[o.charCodeAt(e+2)]>>2,p[a++]=r>>8&255,p[a++]=255&r),p}function tripletToBase64(o){return lookup[o>>18&63]+lookup[o>>12&63]+lookup[o>>6&63]+lookup[63&o]}function encodeChunk(o,r,e){for(var t,n=[],u=r;u<e;u+=3)t=(o[u]<<16&16711680)+(o[u+1]<<8&65280)+(255&o[u+2]),n.push(tripletToBase64(t));return n.join("")}function fromByteArray(o){for(var r,e=o.length,t=e%3,n=[],u=0,p=e-t;u<p;u+=16383)n.push(encodeChunk(o,u,u+16383>p?p:u+16383));return 1===t?(r=o[e-1],n.push(lookup[r>>2]+lookup[r<<4&63]+"==")):2===t&&(r=(o[e-2]<<8)+o[e-1],n.push(lookup[r>>10]+lookup[r>>4&63]+lookup[r<<2&63]+"=")),n.join("")}revLookup["-".charCodeAt(0)]=62,revLookup["_".charCodeAt(0)]=63;
},{}],30:[function(require,module,exports){
},{}],31:[function(require,module,exports){
(function (Buffer){(function (){
"use strict";var base64=require("base64-js"),ieee754=require("ieee754");exports.Buffer=Buffer,exports.SlowBuffer=SlowBuffer,exports.INSPECT_MAX_BYTES=50;var K_MAX_LENGTH=2147483647;function typedArraySupport(){try{var e=new Uint8Array(1);return e.__proto__={__proto__:Uint8Array.prototype,foo:function(){return 42}},42===e.foo()}catch(e){return!1}}function createBuffer(e){if(e>K_MAX_LENGTH)throw new RangeError('The value "'+e+'" is invalid for option "size"');var t=new Uint8Array(e);return t.__proto__=Buffer.prototype,t}function Buffer(e,t,r){if("number"==typeof e){if("string"==typeof t)throw new TypeError('The "string" argument must be of type string. Received type number');return allocUnsafe(e)}return from(e,t,r)}function from(e,t,r){if("string"==typeof e)return fromString(e,t);if(ArrayBuffer.isView(e))return fromArrayLike(e);if(null==e)throw TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof e);if(isInstance(e,ArrayBuffer)||e&&isInstance(e.buffer,ArrayBuffer))return fromArrayBuffer(e,t,r);if("number"==typeof e)throw new TypeError('The "value" argument must not be of type number. Received type number');var n=e.valueOf&&e.valueOf();if(null!=n&&n!==e)return Buffer.from(n,t,r);var f=fromObject(e);if(f)return f;if("undefined"!=typeof Symbol&&null!=Symbol.toPrimitive&&"function"==typeof e[Symbol.toPrimitive])return Buffer.from(e[Symbol.toPrimitive]("string"),t,r);throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof e)}function assertSize(e){if("number"!=typeof e)throw new TypeError('"size" argument must be of type number');if(e<0)throw new RangeError('The value "'+e+'" is invalid for option "size"')}function alloc(e,t,r){return assertSize(e),e<=0?createBuffer(e):void 0!==t?"string"==typeof r?createBuffer(e).fill(t,r):createBuffer(e).fill(t):createBuffer(e)}function allocUnsafe(e){return assertSize(e),createBuffer(e<0?0:0|checked(e))}function fromString(e,t){if("string"==typeof t&&""!==t||(t="utf8"),!Buffer.isEncoding(t))throw new TypeError("Unknown encoding: "+t);var r=0|byteLength(e,t),n=createBuffer(r),f=n.write(e,t);return f!==r&&(n=n.slice(0,f)),n}function fromArrayLike(e){for(var t=e.length<0?0:0|checked(e.length),r=createBuffer(t),n=0;n<t;n+=1)r[n]=255&e[n];return r}function fromArrayBuffer(e,t,r){if(t<0||e.byteLength<t)throw new RangeError('"offset" is outside of buffer bounds');if(e.byteLength<t+(r||0))throw new RangeError('"length" is outside of buffer bounds');var n;return(n=void 0===t&&void 0===r?new Uint8Array(e):void 0===r?new Uint8Array(e,t):new Uint8Array(e,t,r)).__proto__=Buffer.prototype,n}function fromObject(e){if(Buffer.isBuffer(e)){var t=0|checked(e.length),r=createBuffer(t);return 0===r.length?r:(e.copy(r,0,0,t),r)}return void 0!==e.length?"number"!=typeof e.length||numberIsNaN(e.length)?createBuffer(0):fromArrayLike(e):"Buffer"===e.type&&Array.isArray(e.data)?fromArrayLike(e.data):void 0}function checked(e){if(e>=K_MAX_LENGTH)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+K_MAX_LENGTH.toString(16)+" bytes");return 0|e}function SlowBuffer(e){return+e!=e&&(e=0),Buffer.alloc(+e)}function byteLength(e,t){if(Buffer.isBuffer(e))return e.length;if(ArrayBuffer.isView(e)||isInstance(e,ArrayBuffer))return e.byteLength;if("string"!=typeof e)throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof e);var r=e.length,n=arguments.length>2&&!0===arguments[2];if(!n&&0===r)return 0;for(var f=!1;;)switch(t){case"ascii":case"latin1":case"binary":return r;case"utf8":case"utf-8":return utf8ToBytes(e).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*r;case"hex":return r>>>1;case"base64":return base64ToBytes(e).length;default:if(f)return n?-1:utf8ToBytes(e).length;t=(""+t).toLowerCase(),f=!0}}function slowToString(e,t,r){var n=!1;if((void 0===t||t<0)&&(t=0),t>this.length)return"";if((void 0===r||r>this.length)&&(r=this.length),r<=0)return"";if((r>>>=0)<=(t>>>=0))return"";for(e||(e="utf8");;)switch(e){case"hex":return hexSlice(this,t,r);case"utf8":case"utf-8":return utf8Slice(this,t,r);case"ascii":return asciiSlice(this,t,r);case"latin1":case"binary":return latin1Slice(this,t,r);case"base64":return base64Slice(this,t,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return utf16leSlice(this,t,r);default:if(n)throw new TypeError("Unknown encoding: "+e);e=(e+"").toLowerCase(),n=!0}}function swap(e,t,r){var n=e[t];e[t]=e[r],e[r]=n}function bidirectionalIndexOf(e,t,r,n,f){if(0===e.length)return-1;if("string"==typeof r?(n=r,r=0):r>2147483647?r=2147483647:r<-2147483648&&(r=-2147483648),numberIsNaN(r=+r)&&(r=f?0:e.length-1),r<0&&(r=e.length+r),r>=e.length){if(f)return-1;r=e.length-1}else if(r<0){if(!f)return-1;r=0}if("string"==typeof t&&(t=Buffer.from(t,n)),Buffer.isBuffer(t))return 0===t.length?-1:arrayIndexOf(e,t,r,n,f);if("number"==typeof t)return t&=255,"function"==typeof Uint8Array.prototype.indexOf?f?Uint8Array.prototype.indexOf.call(e,t,r):Uint8Array.prototype.lastIndexOf.call(e,t,r):arrayIndexOf(e,[t],r,n,f);throw new TypeError("val must be string, number or Buffer")}function arrayIndexOf(e,t,r,n,f){var i,o=1,u=e.length,s=t.length;if(void 0!==n&&("ucs2"===(n=String(n).toLowerCase())||"ucs-2"===n||"utf16le"===n||"utf-16le"===n)){if(e.length<2||t.length<2)return-1;o=2,u/=2,s/=2,r/=2}function a(e,t){return 1===o?e[t]:e.readUInt16BE(t*o)}if(f){var h=-1;for(i=r;i<u;i++)if(a(e,i)===a(t,-1===h?0:i-h)){if(-1===h&&(h=i),i-h+1===s)return h*o}else-1!==h&&(i-=i-h),h=-1}else for(r+s>u&&(r=u-s),i=r;i>=0;i--){for(var c=!0,l=0;l<s;l++)if(a(e,i+l)!==a(t,l)){c=!1;break}if(c)return i}return-1}function hexWrite(e,t,r,n){r=Number(r)||0;var f=e.length-r;n?(n=Number(n))>f&&(n=f):n=f;var i=t.length;n>i/2&&(n=i/2);for(var o=0;o<n;++o){var u=parseInt(t.substr(2*o,2),16);if(numberIsNaN(u))return o;e[r+o]=u}return o}function utf8Write(e,t,r,n){return blitBuffer(utf8ToBytes(t,e.length-r),e,r,n)}function asciiWrite(e,t,r,n){return blitBuffer(asciiToBytes(t),e,r,n)}function latin1Write(e,t,r,n){return asciiWrite(e,t,r,n)}function base64Write(e,t,r,n){return blitBuffer(base64ToBytes(t),e,r,n)}function ucs2Write(e,t,r,n){return blitBuffer(utf16leToBytes(t,e.length-r),e,r,n)}function base64Slice(e,t,r){return 0===t&&r===e.length?base64.fromByteArray(e):base64.fromByteArray(e.slice(t,r))}function utf8Slice(e,t,r){r=Math.min(e.length,r);for(var n=[],f=t;f<r;){var i,o,u,s,a=e[f],h=null,c=a>239?4:a>223?3:a>191?2:1;if(f+c<=r)switch(c){case 1:a<128&&(h=a);break;case 2:128==(192&(i=e[f+1]))&&(s=(31&a)<<6|63&i)>127&&(h=s);break;case 3:i=e[f+1],o=e[f+2],128==(192&i)&&128==(192&o)&&(s=(15&a)<<12|(63&i)<<6|63&o)>2047&&(s<55296||s>57343)&&(h=s);break;case 4:i=e[f+1],o=e[f+2],u=e[f+3],128==(192&i)&&128==(192&o)&&128==(192&u)&&(s=(15&a)<<18|(63&i)<<12|(63&o)<<6|63&u)>65535&&s<1114112&&(h=s)}null===h?(h=65533,c=1):h>65535&&(h-=65536,n.push(h>>>10&1023|55296),h=56320|1023&h),n.push(h),f+=c}return decodeCodePointsArray(n)}exports.kMaxLength=K_MAX_LENGTH,Buffer.TYPED_ARRAY_SUPPORT=typedArraySupport(),Buffer.TYPED_ARRAY_SUPPORT||"undefined"==typeof console||"function"!=typeof console.error||console.error("This browser lacks typed array (Uint8Array) support which is required by `buffer` v5.x. Use `buffer` v4.x if you require old browser support."),Object.defineProperty(Buffer.prototype,"parent",{enumerable:!0,get:function(){if(Buffer.isBuffer(this))return this.buffer}}),Object.defineProperty(Buffer.prototype,"offset",{enumerable:!0,get:function(){if(Buffer.isBuffer(this))return this.byteOffset}}),"undefined"!=typeof Symbol&&null!=Symbol.species&&Buffer[Symbol.species]===Buffer&&Object.defineProperty(Buffer,Symbol.species,{value:null,configurable:!0,enumerable:!1,writable:!1}),Buffer.poolSize=8192,Buffer.from=function(e,t,r){return from(e,t,r)},Buffer.prototype.__proto__=Uint8Array.prototype,Buffer.__proto__=Uint8Array,Buffer.alloc=function(e,t,r){return alloc(e,t,r)},Buffer.allocUnsafe=function(e){return allocUnsafe(e)},Buffer.allocUnsafeSlow=function(e){return allocUnsafe(e)},Buffer.isBuffer=function(e){return null!=e&&!0===e._isBuffer&&e!==Buffer.prototype},Buffer.compare=function(e,t){if(isInstance(e,Uint8Array)&&(e=Buffer.from(e,e.offset,e.byteLength)),isInstance(t,Uint8Array)&&(t=Buffer.from(t,t.offset,t.byteLength)),!Buffer.isBuffer(e)||!Buffer.isBuffer(t))throw new TypeError('The "buf1", "buf2" arguments must be one of type Buffer or Uint8Array');if(e===t)return 0;for(var r=e.length,n=t.length,f=0,i=Math.min(r,n);f<i;++f)if(e[f]!==t[f]){r=e[f],n=t[f];break}return r<n?-1:n<r?1:0},Buffer.isEncoding=function(e){switch(String(e).toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"latin1":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return!0;default:return!1}},Buffer.concat=function(e,t){if(!Array.isArray(e))throw new TypeError('"list" argument must be an Array of Buffers');if(0===e.length)return Buffer.alloc(0);var r;if(void 0===t)for(t=0,r=0;r<e.length;++r)t+=e[r].length;var n=Buffer.allocUnsafe(t),f=0;for(r=0;r<e.length;++r){var i=e[r];if(isInstance(i,Uint8Array)&&(i=Buffer.from(i)),!Buffer.isBuffer(i))throw new TypeError('"list" argument must be an Array of Buffers');i.copy(n,f),f+=i.length}return n},Buffer.byteLength=byteLength,Buffer.prototype._isBuffer=!0,Buffer.prototype.swap16=function(){var e=this.length;if(e%2!=0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(var t=0;t<e;t+=2)swap(this,t,t+1);return this},Buffer.prototype.swap32=function(){var e=this.length;if(e%4!=0)throw new RangeError("Buffer size must be a multiple of 32-bits");for(var t=0;t<e;t+=4)swap(this,t,t+3),swap(this,t+1,t+2);return this},Buffer.prototype.swap64=function(){var e=this.length;if(e%8!=0)throw new RangeError("Buffer size must be a multiple of 64-bits");for(var t=0;t<e;t+=8)swap(this,t,t+7),swap(this,t+1,t+6),swap(this,t+2,t+5),swap(this,t+3,t+4);return this},Buffer.prototype.toString=function(){var e=this.length;return 0===e?"":0===arguments.length?utf8Slice(this,0,e):slowToString.apply(this,arguments)},Buffer.prototype.toLocaleString=Buffer.prototype.toString,Buffer.prototype.equals=function(e){if(!Buffer.isBuffer(e))throw new TypeError("Argument must be a Buffer");return this===e||0===Buffer.compare(this,e)},Buffer.prototype.inspect=function(){var e="",t=exports.INSPECT_MAX_BYTES;return e=this.toString("hex",0,t).replace(/(.{2})/g,"$1 ").trim(),this.length>t&&(e+=" ... "),"<Buffer "+e+">"},Buffer.prototype.compare=function(e,t,r,n,f){if(isInstance(e,Uint8Array)&&(e=Buffer.from(e,e.offset,e.byteLength)),!Buffer.isBuffer(e))throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+typeof e);if(void 0===t&&(t=0),void 0===r&&(r=e?e.length:0),void 0===n&&(n=0),void 0===f&&(f=this.length),t<0||r>e.length||n<0||f>this.length)throw new RangeError("out of range index");if(n>=f&&t>=r)return 0;if(n>=f)return-1;if(t>=r)return 1;if(this===e)return 0;for(var i=(f>>>=0)-(n>>>=0),o=(r>>>=0)-(t>>>=0),u=Math.min(i,o),s=this.slice(n,f),a=e.slice(t,r),h=0;h<u;++h)if(s[h]!==a[h]){i=s[h],o=a[h];break}return i<o?-1:o<i?1:0},Buffer.prototype.includes=function(e,t,r){return-1!==this.indexOf(e,t,r)},Buffer.prototype.indexOf=function(e,t,r){return bidirectionalIndexOf(this,e,t,r,!0)},Buffer.prototype.lastIndexOf=function(e,t,r){return bidirectionalIndexOf(this,e,t,r,!1)},Buffer.prototype.write=function(e,t,r,n){if(void 0===t)n="utf8",r=this.length,t=0;else if(void 0===r&&"string"==typeof t)n=t,r=this.length,t=0;else{if(!isFinite(t))throw new Error("Buffer.write(string, encoding, offset[, length]) is no longer supported");t>>>=0,isFinite(r)?(r>>>=0,void 0===n&&(n="utf8")):(n=r,r=void 0)}var f=this.length-t;if((void 0===r||r>f)&&(r=f),e.length>0&&(r<0||t<0)||t>this.length)throw new RangeError("Attempt to write outside buffer bounds");n||(n="utf8");for(var i=!1;;)switch(n){case"hex":return hexWrite(this,e,t,r);case"utf8":case"utf-8":return utf8Write(this,e,t,r);case"ascii":return asciiWrite(this,e,t,r);case"latin1":case"binary":return latin1Write(this,e,t,r);case"base64":return base64Write(this,e,t,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return ucs2Write(this,e,t,r);default:if(i)throw new TypeError("Unknown encoding: "+n);n=(""+n).toLowerCase(),i=!0}},Buffer.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};var MAX_ARGUMENTS_LENGTH=4096;function decodeCodePointsArray(e){var t=e.length;if(t<=MAX_ARGUMENTS_LENGTH)return String.fromCharCode.apply(String,e);for(var r="",n=0;n<t;)r+=String.fromCharCode.apply(String,e.slice(n,n+=MAX_ARGUMENTS_LENGTH));return r}function asciiSlice(e,t,r){var n="";r=Math.min(e.length,r);for(var f=t;f<r;++f)n+=String.fromCharCode(127&e[f]);return n}function latin1Slice(e,t,r){var n="";r=Math.min(e.length,r);for(var f=t;f<r;++f)n+=String.fromCharCode(e[f]);return n}function hexSlice(e,t,r){var n=e.length;(!t||t<0)&&(t=0),(!r||r<0||r>n)&&(r=n);for(var f="",i=t;i<r;++i)f+=toHex(e[i]);return f}function utf16leSlice(e,t,r){for(var n=e.slice(t,r),f="",i=0;i<n.length;i+=2)f+=String.fromCharCode(n[i]+256*n[i+1]);return f}function checkOffset(e,t,r){if(e%1!=0||e<0)throw new RangeError("offset is not uint");if(e+t>r)throw new RangeError("Trying to access beyond buffer length")}function checkInt(e,t,r,n,f,i){if(!Buffer.isBuffer(e))throw new TypeError('"buffer" argument must be a Buffer instance');if(t>f||t<i)throw new RangeError('"value" argument is out of bounds');if(r+n>e.length)throw new RangeError("Index out of range")}function checkIEEE754(e,t,r,n,f,i){if(r+n>e.length)throw new RangeError("Index out of range");if(r<0)throw new RangeError("Index out of range")}function writeFloat(e,t,r,n,f){return t=+t,r>>>=0,f||checkIEEE754(e,t,r,4,3.4028234663852886e38,-3.4028234663852886e38),ieee754.write(e,t,r,n,23,4),r+4}function writeDouble(e,t,r,n,f){return t=+t,r>>>=0,f||checkIEEE754(e,t,r,8,1.7976931348623157e308,-1.7976931348623157e308),ieee754.write(e,t,r,n,52,8),r+8}Buffer.prototype.slice=function(e,t){var r=this.length;(e=~~e)<0?(e+=r)<0&&(e=0):e>r&&(e=r),(t=void 0===t?r:~~t)<0?(t+=r)<0&&(t=0):t>r&&(t=r),t<e&&(t=e);var n=this.subarray(e,t);return n.__proto__=Buffer.prototype,n},Buffer.prototype.readUIntLE=function(e,t,r){e>>>=0,t>>>=0,r||checkOffset(e,t,this.length);for(var n=this[e],f=1,i=0;++i<t&&(f*=256);)n+=this[e+i]*f;return n},Buffer.prototype.readUIntBE=function(e,t,r){e>>>=0,t>>>=0,r||checkOffset(e,t,this.length);for(var n=this[e+--t],f=1;t>0&&(f*=256);)n+=this[e+--t]*f;return n},Buffer.prototype.readUInt8=function(e,t){return e>>>=0,t||checkOffset(e,1,this.length),this[e]},Buffer.prototype.readUInt16LE=function(e,t){return e>>>=0,t||checkOffset(e,2,this.length),this[e]|this[e+1]<<8},Buffer.prototype.readUInt16BE=function(e,t){return e>>>=0,t||checkOffset(e,2,this.length),this[e]<<8|this[e+1]},Buffer.prototype.readUInt32LE=function(e,t){return e>>>=0,t||checkOffset(e,4,this.length),(this[e]|this[e+1]<<8|this[e+2]<<16)+16777216*this[e+3]},Buffer.prototype.readUInt32BE=function(e,t){return e>>>=0,t||checkOffset(e,4,this.length),16777216*this[e]+(this[e+1]<<16|this[e+2]<<8|this[e+3])},Buffer.prototype.readIntLE=function(e,t,r){e>>>=0,t>>>=0,r||checkOffset(e,t,this.length);for(var n=this[e],f=1,i=0;++i<t&&(f*=256);)n+=this[e+i]*f;return n>=(f*=128)&&(n-=Math.pow(2,8*t)),n},Buffer.prototype.readIntBE=function(e,t,r){e>>>=0,t>>>=0,r||checkOffset(e,t,this.length);for(var n=t,f=1,i=this[e+--n];n>0&&(f*=256);)i+=this[e+--n]*f;return i>=(f*=128)&&(i-=Math.pow(2,8*t)),i},Buffer.prototype.readInt8=function(e,t){return e>>>=0,t||checkOffset(e,1,this.length),128&this[e]?-1*(255-this[e]+1):this[e]},Buffer.prototype.readInt16LE=function(e,t){e>>>=0,t||checkOffset(e,2,this.length);var r=this[e]|this[e+1]<<8;return 32768&r?4294901760|r:r},Buffer.prototype.readInt16BE=function(e,t){e>>>=0,t||checkOffset(e,2,this.length);var r=this[e+1]|this[e]<<8;return 32768&r?4294901760|r:r},Buffer.prototype.readInt32LE=function(e,t){return e>>>=0,t||checkOffset(e,4,this.length),this[e]|this[e+1]<<8|this[e+2]<<16|this[e+3]<<24},Buffer.prototype.readInt32BE=function(e,t){return e>>>=0,t||checkOffset(e,4,this.length),this[e]<<24|this[e+1]<<16|this[e+2]<<8|this[e+3]},Buffer.prototype.readFloatLE=function(e,t){return e>>>=0,t||checkOffset(e,4,this.length),ieee754.read(this,e,!0,23,4)},Buffer.prototype.readFloatBE=function(e,t){return e>>>=0,t||checkOffset(e,4,this.length),ieee754.read(this,e,!1,23,4)},Buffer.prototype.readDoubleLE=function(e,t){return e>>>=0,t||checkOffset(e,8,this.length),ieee754.read(this,e,!0,52,8)},Buffer.prototype.readDoubleBE=function(e,t){return e>>>=0,t||checkOffset(e,8,this.length),ieee754.read(this,e,!1,52,8)},Buffer.prototype.writeUIntLE=function(e,t,r,n){(e=+e,t>>>=0,r>>>=0,n)||checkInt(this,e,t,r,Math.pow(2,8*r)-1,0);var f=1,i=0;for(this[t]=255&e;++i<r&&(f*=256);)this[t+i]=e/f&255;return t+r},Buffer.prototype.writeUIntBE=function(e,t,r,n){(e=+e,t>>>=0,r>>>=0,n)||checkInt(this,e,t,r,Math.pow(2,8*r)-1,0);var f=r-1,i=1;for(this[t+f]=255&e;--f>=0&&(i*=256);)this[t+f]=e/i&255;return t+r},Buffer.prototype.writeUInt8=function(e,t,r){return e=+e,t>>>=0,r||checkInt(this,e,t,1,255,0),this[t]=255&e,t+1},Buffer.prototype.writeUInt16LE=function(e,t,r){return e=+e,t>>>=0,r||checkInt(this,e,t,2,65535,0),this[t]=255&e,this[t+1]=e>>>8,t+2},Buffer.prototype.writeUInt16BE=function(e,t,r){return e=+e,t>>>=0,r||checkInt(this,e,t,2,65535,0),this[t]=e>>>8,this[t+1]=255&e,t+2},Buffer.prototype.writeUInt32LE=function(e,t,r){return e=+e,t>>>=0,r||checkInt(this,e,t,4,4294967295,0),this[t+3]=e>>>24,this[t+2]=e>>>16,this[t+1]=e>>>8,this[t]=255&e,t+4},Buffer.prototype.writeUInt32BE=function(e,t,r){return e=+e,t>>>=0,r||checkInt(this,e,t,4,4294967295,0),this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e,t+4},Buffer.prototype.writeIntLE=function(e,t,r,n){if(e=+e,t>>>=0,!n){var f=Math.pow(2,8*r-1);checkInt(this,e,t,r,f-1,-f)}var i=0,o=1,u=0;for(this[t]=255&e;++i<r&&(o*=256);)e<0&&0===u&&0!==this[t+i-1]&&(u=1),this[t+i]=(e/o>>0)-u&255;return t+r},Buffer.prototype.writeIntBE=function(e,t,r,n){if(e=+e,t>>>=0,!n){var f=Math.pow(2,8*r-1);checkInt(this,e,t,r,f-1,-f)}var i=r-1,o=1,u=0;for(this[t+i]=255&e;--i>=0&&(o*=256);)e<0&&0===u&&0!==this[t+i+1]&&(u=1),this[t+i]=(e/o>>0)-u&255;return t+r},Buffer.prototype.writeInt8=function(e,t,r){return e=+e,t>>>=0,r||checkInt(this,e,t,1,127,-128),e<0&&(e=255+e+1),this[t]=255&e,t+1},Buffer.prototype.writeInt16LE=function(e,t,r){return e=+e,t>>>=0,r||checkInt(this,e,t,2,32767,-32768),this[t]=255&e,this[t+1]=e>>>8,t+2},Buffer.prototype.writeInt16BE=function(e,t,r){return e=+e,t>>>=0,r||checkInt(this,e,t,2,32767,-32768),this[t]=e>>>8,this[t+1]=255&e,t+2},Buffer.prototype.writeInt32LE=function(e,t,r){return e=+e,t>>>=0,r||checkInt(this,e,t,4,2147483647,-2147483648),this[t]=255&e,this[t+1]=e>>>8,this[t+2]=e>>>16,this[t+3]=e>>>24,t+4},Buffer.prototype.writeInt32BE=function(e,t,r){return e=+e,t>>>=0,r||checkInt(this,e,t,4,2147483647,-2147483648),e<0&&(e=4294967295+e+1),this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e,t+4},Buffer.prototype.writeFloatLE=function(e,t,r){return writeFloat(this,e,t,!0,r)},Buffer.prototype.writeFloatBE=function(e,t,r){return writeFloat(this,e,t,!1,r)},Buffer.prototype.writeDoubleLE=function(e,t,r){return writeDouble(this,e,t,!0,r)},Buffer.prototype.writeDoubleBE=function(e,t,r){return writeDouble(this,e,t,!1,r)},Buffer.prototype.copy=function(e,t,r,n){if(!Buffer.isBuffer(e))throw new TypeError("argument should be a Buffer");if(r||(r=0),n||0===n||(n=this.length),t>=e.length&&(t=e.length),t||(t=0),n>0&&n<r&&(n=r),n===r)return 0;if(0===e.length||0===this.length)return 0;if(t<0)throw new RangeError("targetStart out of bounds");if(r<0||r>=this.length)throw new RangeError("Index out of range");if(n<0)throw new RangeError("sourceEnd out of bounds");n>this.length&&(n=this.length),e.length-t<n-r&&(n=e.length-t+r);var f=n-r;if(this===e&&"function"==typeof Uint8Array.prototype.copyWithin)this.copyWithin(t,r,n);else if(this===e&&r<t&&t<n)for(var i=f-1;i>=0;--i)e[i+t]=this[i+r];else Uint8Array.prototype.set.call(e,this.subarray(r,n),t);return f},Buffer.prototype.fill=function(e,t,r,n){if("string"==typeof e){if("string"==typeof t?(n=t,t=0,r=this.length):"string"==typeof r&&(n=r,r=this.length),void 0!==n&&"string"!=typeof n)throw new TypeError("encoding must be a string");if("string"==typeof n&&!Buffer.isEncoding(n))throw new TypeError("Unknown encoding: "+n);if(1===e.length){var f=e.charCodeAt(0);("utf8"===n&&f<128||"latin1"===n)&&(e=f)}}else"number"==typeof e&&(e&=255);if(t<0||this.length<t||this.length<r)throw new RangeError("Out of range index");if(r<=t)return this;var i;if(t>>>=0,r=void 0===r?this.length:r>>>0,e||(e=0),"number"==typeof e)for(i=t;i<r;++i)this[i]=e;else{var o=Buffer.isBuffer(e)?e:Buffer.from(e,n),u=o.length;if(0===u)throw new TypeError('The value "'+e+'" is invalid for argument "value"');for(i=0;i<r-t;++i)this[i+t]=o[i%u]}return this};var INVALID_BASE64_RE=/[^+/0-9A-Za-z-_]/g;function base64clean(e){if((e=(e=e.split("=")[0]).trim().replace(INVALID_BASE64_RE,"")).length<2)return"";for(;e.length%4!=0;)e+="=";return e}function toHex(e){return e<16?"0"+e.toString(16):e.toString(16)}function utf8ToBytes(e,t){var r;t=t||1/0;for(var n=e.length,f=null,i=[],o=0;o<n;++o){if((r=e.charCodeAt(o))>55295&&r<57344){if(!f){if(r>56319){(t-=3)>-1&&i.push(239,191,189);continue}if(o+1===n){(t-=3)>-1&&i.push(239,191,189);continue}f=r;continue}if(r<56320){(t-=3)>-1&&i.push(239,191,189),f=r;continue}r=65536+(f-55296<<10|r-56320)}else f&&(t-=3)>-1&&i.push(239,191,189);if(f=null,r<128){if((t-=1)<0)break;i.push(r)}else if(r<2048){if((t-=2)<0)break;i.push(r>>6|192,63&r|128)}else if(r<65536){if((t-=3)<0)break;i.push(r>>12|224,r>>6&63|128,63&r|128)}else{if(!(r<1114112))throw new Error("Invalid code point");if((t-=4)<0)break;i.push(r>>18|240,r>>12&63|128,r>>6&63|128,63&r|128)}}return i}function asciiToBytes(e){for(var t=[],r=0;r<e.length;++r)t.push(255&e.charCodeAt(r));return t}function utf16leToBytes(e,t){for(var r,n,f,i=[],o=0;o<e.length&&!((t-=2)<0);++o)n=(r=e.charCodeAt(o))>>8,f=r%256,i.push(f),i.push(n);return i}function base64ToBytes(e){return base64.toByteArray(base64clean(e))}function blitBuffer(e,t,r,n){for(var f=0;f<n&&!(f+r>=t.length||f>=e.length);++f)t[f+r]=e[f];return f}function isInstance(e,t){return e instanceof t||null!=e&&null!=e.constructor&&null!=e.constructor.name&&e.constructor.name===t.name}function numberIsNaN(e){return e!=e}
}).call(this)}).call(this,require("buffer").Buffer)
},{"base64-js":29,"buffer":31,"ieee754":33}],32:[function(require,module,exports){
"use strict";var ReflectOwnKeys,R="object"==typeof Reflect?Reflect:null,ReflectApply=R&&"function"==typeof R.apply?R.apply:function(e,t,n){return Function.prototype.apply.call(e,t,n)};function ProcessEmitWarning(e){console&&console.warn&&console.warn(e)}ReflectOwnKeys=R&&"function"==typeof R.ownKeys?R.ownKeys:Object.getOwnPropertySymbols?function(e){return Object.getOwnPropertyNames(e).concat(Object.getOwnPropertySymbols(e))}:function(e){return Object.getOwnPropertyNames(e)};var NumberIsNaN=Number.isNaN||function(e){return e!=e};function EventEmitter(){EventEmitter.init.call(this)}module.exports=EventEmitter,module.exports.once=once,EventEmitter.EventEmitter=EventEmitter,EventEmitter.prototype._events=void 0,EventEmitter.prototype._eventsCount=0,EventEmitter.prototype._maxListeners=void 0;var defaultMaxListeners=10;function checkListener(e){if("function"!=typeof e)throw new TypeError('The "listener" argument must be of type Function. Received type '+typeof e)}function _getMaxListeners(e){return void 0===e._maxListeners?EventEmitter.defaultMaxListeners:e._maxListeners}function _addListener(e,t,n,r){var i,o,s;if(checkListener(n),void 0===(o=e._events)?(o=e._events=Object.create(null),e._eventsCount=0):(void 0!==o.newListener&&(e.emit("newListener",t,n.listener?n.listener:n),o=e._events),s=o[t]),void 0===s)s=o[t]=n,++e._eventsCount;else if("function"==typeof s?s=o[t]=r?[n,s]:[s,n]:r?s.unshift(n):s.push(n),(i=_getMaxListeners(e))>0&&s.length>i&&!s.warned){s.warned=!0;var u=new Error("Possible EventEmitter memory leak detected. "+s.length+" "+String(t)+" listeners added. Use emitter.setMaxListeners() to increase limit");u.name="MaxListenersExceededWarning",u.emitter=e,u.type=t,u.count=s.length,ProcessEmitWarning(u)}return e}function onceWrapper(){if(!this.fired)return this.target.removeListener(this.type,this.wrapFn),this.fired=!0,0===arguments.length?this.listener.call(this.target):this.listener.apply(this.target,arguments)}function _onceWrap(e,t,n){var r={fired:!1,wrapFn:void 0,target:e,type:t,listener:n},i=onceWrapper.bind(r);return i.listener=n,r.wrapFn=i,i}function _listeners(e,t,n){var r=e._events;if(void 0===r)return[];var i=r[t];return void 0===i?[]:"function"==typeof i?n?[i.listener||i]:[i]:n?unwrapListeners(i):arrayClone(i,i.length)}function listenerCount(e){var t=this._events;if(void 0!==t){var n=t[e];if("function"==typeof n)return 1;if(void 0!==n)return n.length}return 0}function arrayClone(e,t){for(var n=new Array(t),r=0;r<t;++r)n[r]=e[r];return n}function spliceOne(e,t){for(;t+1<e.length;t++)e[t]=e[t+1];e.pop()}function unwrapListeners(e){for(var t=new Array(e.length),n=0;n<t.length;++n)t[n]=e[n].listener||e[n];return t}function once(e,t){return new Promise(function(n,r){function i(n){e.removeListener(t,o),r(n)}function o(){"function"==typeof e.removeListener&&e.removeListener("error",i),n([].slice.call(arguments))}eventTargetAgnosticAddListener(e,t,o,{once:!0}),"error"!==t&&addErrorHandlerIfEventEmitter(e,i,{once:!0})})}function addErrorHandlerIfEventEmitter(e,t,n){"function"==typeof e.on&&eventTargetAgnosticAddListener(e,"error",t,n)}function eventTargetAgnosticAddListener(e,t,n,r){if("function"==typeof e.on)r.once?e.once(t,n):e.on(t,n);else{if("function"!=typeof e.addEventListener)throw new TypeError('The "emitter" argument must be of type EventEmitter. Received type '+typeof e);e.addEventListener(t,function i(o){r.once&&e.removeEventListener(t,i),n(o)})}}Object.defineProperty(EventEmitter,"defaultMaxListeners",{enumerable:!0,get:function(){return defaultMaxListeners},set:function(e){if("number"!=typeof e||e<0||NumberIsNaN(e))throw new RangeError('The value of "defaultMaxListeners" is out of range. It must be a non-negative number. Received '+e+".");defaultMaxListeners=e}}),EventEmitter.init=function(){void 0!==this._events&&this._events!==Object.getPrototypeOf(this)._events||(this._events=Object.create(null),this._eventsCount=0),this._maxListeners=this._maxListeners||void 0},EventEmitter.prototype.setMaxListeners=function(e){if("number"!=typeof e||e<0||NumberIsNaN(e))throw new RangeError('The value of "n" is out of range. It must be a non-negative number. Received '+e+".");return this._maxListeners=e,this},EventEmitter.prototype.getMaxListeners=function(){return _getMaxListeners(this)},EventEmitter.prototype.emit=function(e){for(var t=[],n=1;n<arguments.length;n++)t.push(arguments[n]);var r="error"===e,i=this._events;if(void 0!==i)r=r&&void 0===i.error;else if(!r)return!1;if(r){var o;if(t.length>0&&(o=t[0]),o instanceof Error)throw o;var s=new Error("Unhandled error."+(o?" ("+o.message+")":""));throw s.context=o,s}var u=i[e];if(void 0===u)return!1;if("function"==typeof u)ReflectApply(u,this,t);else{var f=u.length,v=arrayClone(u,f);for(n=0;n<f;++n)ReflectApply(v[n],this,t)}return!0},EventEmitter.prototype.addListener=function(e,t){return _addListener(this,e,t,!1)},EventEmitter.prototype.on=EventEmitter.prototype.addListener,EventEmitter.prototype.prependListener=function(e,t){return _addListener(this,e,t,!0)},EventEmitter.prototype.once=function(e,t){return checkListener(t),this.on(e,_onceWrap(this,e,t)),this},EventEmitter.prototype.prependOnceListener=function(e,t){return checkListener(t),this.prependListener(e,_onceWrap(this,e,t)),this},EventEmitter.prototype.removeListener=function(e,t){var n,r,i,o,s;if(checkListener(t),void 0===(r=this._events))return this;if(void 0===(n=r[e]))return this;if(n===t||n.listener===t)0==--this._eventsCount?this._events=Object.create(null):(delete r[e],r.removeListener&&this.emit("removeListener",e,n.listener||t));else if("function"!=typeof n){for(i=-1,o=n.length-1;o>=0;o--)if(n[o]===t||n[o].listener===t){s=n[o].listener,i=o;break}if(i<0)return this;0===i?n.shift():spliceOne(n,i),1===n.length&&(r[e]=n[0]),void 0!==r.removeListener&&this.emit("removeListener",e,s||t)}return this},EventEmitter.prototype.off=EventEmitter.prototype.removeListener,EventEmitter.prototype.removeAllListeners=function(e){var t,n,r;if(void 0===(n=this._events))return this;if(void 0===n.removeListener)return 0===arguments.length?(this._events=Object.create(null),this._eventsCount=0):void 0!==n[e]&&(0==--this._eventsCount?this._events=Object.create(null):delete n[e]),this;if(0===arguments.length){var i,o=Object.keys(n);for(r=0;r<o.length;++r)"removeListener"!==(i=o[r])&&this.removeAllListeners(i);return this.removeAllListeners("removeListener"),this._events=Object.create(null),this._eventsCount=0,this}if("function"==typeof(t=n[e]))this.removeListener(e,t);else if(void 0!==t)for(r=t.length-1;r>=0;r--)this.removeListener(e,t[r]);return this},EventEmitter.prototype.listeners=function(e){return _listeners(this,e,!0)},EventEmitter.prototype.rawListeners=function(e){return _listeners(this,e,!1)},EventEmitter.listenerCount=function(e,t){return"function"==typeof e.listenerCount?e.listenerCount(t):listenerCount.call(e,t)},EventEmitter.prototype.listenerCount=listenerCount,EventEmitter.prototype.eventNames=function(){return this._eventsCount>0?ReflectOwnKeys(this._events):[]};
},{}],33:[function(require,module,exports){
exports.read=function(a,o,t,r,h){var M,p,w=8*h-r-1,f=(1<<w)-1,e=f>>1,i=-7,N=t?h-1:0,n=t?-1:1,s=a[o+N];for(N+=n,M=s&(1<<-i)-1,s>>=-i,i+=w;i>0;M=256*M+a[o+N],N+=n,i-=8);for(p=M&(1<<-i)-1,M>>=-i,i+=r;i>0;p=256*p+a[o+N],N+=n,i-=8);if(0===M)M=1-e;else{if(M===f)return p?NaN:1/0*(s?-1:1);p+=Math.pow(2,r),M-=e}return(s?-1:1)*p*Math.pow(2,M-r)},exports.write=function(a,o,t,r,h,M){var p,w,f,e=8*M-h-1,i=(1<<e)-1,N=i>>1,n=23===h?Math.pow(2,-24)-Math.pow(2,-77):0,s=r?0:M-1,u=r?1:-1,l=o<0||0===o&&1/o<0?1:0;for(o=Math.abs(o),isNaN(o)||o===1/0?(w=isNaN(o)?1:0,p=i):(p=Math.floor(Math.log(o)/Math.LN2),o*(f=Math.pow(2,-p))<1&&(p--,f*=2),(o+=p+N>=1?n/f:n*Math.pow(2,1-N))*f>=2&&(p++,f/=2),p+N>=i?(w=0,p=i):p+N>=1?(w=(o*f-1)*Math.pow(2,h),p+=N):(w=o*Math.pow(2,N-1)*Math.pow(2,h),p=0));h>=8;a[t+s]=255&w,s+=u,w/=256,h-=8);for(p=p<<h|w,e+=h;e>0;a[t+s]=255&p,s+=u,p/=256,e-=8);a[t+s-u]|=128*l};
},{}],34:[function(require,module,exports){
"function"==typeof Object.create?module.exports=function(t,e){e&&(t.super_=e,t.prototype=Object.create(e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}))}:module.exports=function(t,e){if(e){t.super_=e;var o=function(){};o.prototype=e.prototype,t.prototype=new o,t.prototype.constructor=t}};
},{}],35:[function(require,module,exports){
function jBoxWrapper(t){function i(o,s){return this.options={id:null,width:"auto",height:"auto",minWidth:null,minHeight:null,maxWidth:null,maxHeight:null,responsiveWidth:!0,responsiveHeight:!0,responsiveMinWidth:100,responsiveMinHeight:100,attach:null,trigger:"click",preventDefault:!1,content:null,getContent:null,title:null,getTitle:null,footer:null,isolateScroll:!0,ajax:{url:null,data:"",reload:!1,getURL:"data-url",getData:"data-ajax",setContent:!0,loadingClass:!0,spinner:!0,spinnerDelay:300,spinnerReposition:!0},cancelAjaxOnClose:!0,target:null,position:{x:"center",y:"center"},outside:null,offset:0,attributes:{x:"left",y:"top"},fixed:!1,adjustPosition:!0,adjustTracker:!1,adjustDistance:5,reposition:!0,repositionOnOpen:!0,repositionOnContent:!0,holdPosition:!0,pointer:!1,pointTo:"target",fade:180,animation:null,theme:"Default",addClass:null,overlay:!1,overlayClass:null,zIndex:1e4,delayOpen:0,delayClose:0,closeOnEsc:!1,closeOnClick:!1,closeOnMouseleave:!1,closeButton:!1,appendTo:t("body"),createOnInit:!1,blockScroll:!1,blockScrollAdjust:!0,draggable:!1,dragOver:!0,autoClose:!1,delayOnHover:!1,showCountdown:!1,preloadAudio:!0,audio:null,volume:100,onInit:null,onAttach:null,onPosition:null,onCreated:null,onOpen:null,onClose:null,onCloseComplete:null,onDragStart:null,onDragEnd:null},this._pluginOptions={Tooltip:{getContent:"title",trigger:"mouseenter",position:{x:"center",y:"top"},outside:"y",pointer:!0},Mouse:{responsiveWidth:!1,responsiveHeight:!1,adjustPosition:"flip",target:"mouse",trigger:"mouseenter",position:{x:"right",y:"bottom"},outside:"xy",offset:5},Modal:{target:t(window),fixed:!0,blockScroll:!0,closeOnEsc:!0,closeOnClick:"overlay",closeButton:!0,overlay:!0,animation:"zoomIn"}},this.options=t.extend(!0,this.options,this._pluginOptions[o]||i._pluginOptions[o],s),"string"==t.type(o)&&(this.type=o),this.isTouchDevice=function(){var t,i=" -webkit- -moz- -o- -ms- ".split(" ");return!!("ontouchstart"in window||window.DocumentTouch&&document instanceof DocumentTouch)||(t=i=["(",i.join("touch-enabled),("),"heartz",")"].join(""),window.matchMedia(t).matches)}(),this.isTouchDevice&&"mouseenter"===this.options.trigger&&!1===this.options.closeOnClick&&(this.options.closeOnClick="body"),this._fireEvent=function(t,i){this.options["_"+t]&&this.options["_"+t].bind(this)(i),this.options[t]&&this.options[t].bind(this)(i)},null===this.options.id&&(this.options.id="jBox"+i._getUniqueID()),this.id=this.options.id,("center"==this.options.position.x&&"x"==this.options.outside||"center"==this.options.position.y&&"y"==this.options.outside)&&(this.options.outside=null),"target"!=this.options.pointTo||this.options.outside&&"xy"!=this.options.outside||(this.options.pointer=!1),"object"!=t.type(this.options.offset)?this.options.offset={x:this.options.offset,y:this.options.offset}:this.options.offset=t.extend({x:0,y:0},this.options.offset),"object"!=t.type(this.options.adjustDistance)?this.options.adjustDistance={top:this.options.adjustDistance,right:this.options.adjustDistance,bottom:this.options.adjustDistance,left:this.options.adjustDistance}:this.options.adjustDistance=t.extend({top:5,left:5,right:5,bottom:5},this.options.adjustDistance),this.outside=!(!this.options.outside||"xy"==this.options.outside)&&this.options.position[this.options.outside],this.align=this.outside||("center"!=this.options.position.y&&"number"!=t.type(this.options.position.y)?this.options.position.x:"center"!=this.options.position.x&&"number"!=t.type(this.options.position.x)?this.options.position.y:this.options.attributes.x),i.zIndexMax=Math.max(i.zIndexMax||0,"auto"===this.options.zIndex?1e4:this.options.zIndex),"auto"===this.options.zIndex&&(this.adjustZIndexOnOpen=!0,i.zIndexMax+=2,this.options.zIndex=i.zIndexMax,this.trueModal=this.options.overlay),this._getOpp=function(t){return{left:"right",right:"left",top:"bottom",bottom:"top",x:"y",y:"x"}[t]},this._getXY=function(t){return{left:"x",right:"x",top:"y",bottom:"y",center:"x"}[t]},this._getTL=function(t){return{left:"left",right:"left",top:"top",bottom:"top",center:"left",x:"left",y:"top"}[t]},this._getInt=function(i,o){return"auto"==i?"auto":i&&"string"==t.type(i)&&"%"==i.slice(-1)?t(window)["height"==o?"innerHeight":"innerWidth"]()*parseInt(i.replace("%",""))/100:i},this._createSVG=function(i,o){var s=document.createElementNS("http://www.w3.org/2000/svg",i);return t.each(o,function(t,i){s.setAttribute(i[0],i[1]||"")}),s},this._isolateScroll=function(t){t&&t.length&&t.on("DOMMouseScroll.jBoxIsolateScroll mousewheel.jBoxIsolateScroll",function(i){var o=i.wheelDelta||i.originalEvent&&i.originalEvent.wheelDelta||-i.detail,s=0<=this.scrollTop+t.outerHeight()-this.scrollHeight,e=this.scrollTop<=0;(o<0&&s||0<o&&e)&&i.preventDefault()})},this._setTitleWidth=function(){if(!this.titleContainer||"auto"==this.content[0].style.width&&!this.content[0].style.maxWidth)return null;var t;"none"==this.wrapper.css("display")?(this.wrapper.css("display","block"),t=this.content.outerWidth(),this.wrapper.css("display","none")):t=this.content.outerWidth(),this.titleContainer.css({maxWidth:Math.max(t,parseInt(this.content[0].style.maxWidth))||null})},this._draggable=function(){if(!this.options.draggable)return!1;var o="title"==this.options.draggable?this.titleContainer:this.options.draggable instanceof t?this.options.draggable:"string"==t.type(this.options.draggable)?t(this.options.draggable):this.wrapper;return!(!(o&&o instanceof t&&o.length)||o.data("jBox-draggable"))&&(o.addClass("jBox-draggable").data("jBox-draggable",!0).on("touchstart mousedown",function(o){var s,e,n,a,h,r;2==o.button||t(o.target).hasClass("jBox-noDrag")||t(o.target).parents(".jBox-noDrag").length?"touchstart"==o.type&&(t(o.target).hasClass("jBox-closeButton")||t(o.target).parents(".jBox-closeButton").length)&&this.close({ignoreDelay:!0}):(e="touchstart"==o.type&&o.touches&&o.touches[0]?(s=o.touches[0].pageX,o.touches[0].pageY):(s=o.pageX,o.pageY),this.draggingStartX=s,this.draggingStartY=e,this.options.dragOver&&!this.trueModal&&parseInt(this.wrapper.css("zIndex"),10)<=i.zIndexMaxDragover&&(i.zIndexMaxDragover+=1,this.wrapper.css("zIndex",i.zIndexMaxDragover)),n=this.wrapper.outerHeight(),a=this.wrapper.outerWidth(),h=this.wrapper.offset().top+n-e,r=this.wrapper.offset().left+a-s,t(document).on("touchmove.jBox-draggable-"+this.id+" mousemove.jBox-draggable-"+this.id,function(t){var i;t="touchmove"==t.type&&t.touches&&t.touches[0]?(i=t.touches[0].pageX,t.touches[0].pageY):(i=t.pageX,t.pageY);this.dragging||this.draggingStartX==i||this.draggingStartY==t||(this._fireEvent("onDragStart"),this.dragging=!0),this.wrapper.offset({top:t+h-n,left:i+r-a})}.bind(this)),o.preventDefault())}.bind(this)).on("touchend mouseup",function(){var i;t(document).off("touchmove.jBox-draggable-"+this.id+" mousemove.jBox-draggable-"+this.id),this.dragging&&this._fireEvent("onDragEnd"),this.dragging=!1,"Modal"!=this.type&&"Confirm"!=this.type||!this.options.holdPosition||(i={x:(i=t("#"+this.id).offset()).left-t(document).scrollLeft(),y:i.top-t(document).scrollTop()},this.position({position:i,offset:{x:0,y:0}}))}.bind(this)),this.trueModal||(i.zIndexMaxDragover=i.zIndexMaxDragover?Math.max(i.zIndexMaxDragover,this.options.zIndex):this.options.zIndex),this)},this._create=function(){var i;this.wrapper||(this.wrapper=t("<div/>",{id:this.id,class:"jBox-wrapper"+(this.type?" jBox-"+this.type:"")+(this.options.theme?" jBox-"+this.options.theme:"")+(this.options.addClass?" "+this.options.addClass:"")}).css({position:this.options.fixed?"fixed":"absolute",display:"none",opacity:0,zIndex:this.options.zIndex}).data("jBox",this),this.options.closeOnMouseleave&&this.wrapper.on("mouseleave",function(i){!this.source||i.relatedTarget!=this.source[0]&&-1===t.inArray(this.source[0],t(i.relatedTarget).parents("*"))&&this.close()}.bind(this)),"box"==this.options.closeOnClick&&this.wrapper.on("click tap",function(){this.close({ignoreDelay:!0})}.bind(this)),this.container=t('<div class="jBox-container"/>').appendTo(this.wrapper),this.content=t('<div class="jBox-content"/>').appendTo(this.container),this.options.footer&&(this.footer=t('<div class="jBox-footer"/>').append(this.options.footer).appendTo(this.container)),this.options.isolateScroll&&this._isolateScroll(this.content),this.options.closeButton&&((i=this._createSVG("svg",[["viewBox","0 0 24 24"]])).appendChild(this._createSVG("path",[["d","M22.2,4c0,0,0.5,0.6,0,1.1l-6.8,6.8l6.9,6.9c0.5,0.5,0,1.1,0,1.1L20,22.3c0,0-0.6,0.5-1.1,0L12,15.4l-6.9,6.9c-0.5,0.5-1.1,0-1.1,0L1.7,20c0,0-0.5-0.6,0-1.1L8.6,12L1.7,5.1C1.2,4.6,1.7,4,1.7,4L4,1.7c0,0,0.6-0.5,1.1,0L12,8.5l6.8-6.8c0.5-0.5,1.1,0,1.1,0L22.2,4z"]])),this.closeButton=t('<div class="jBox-closeButton jBox-noDrag"/>').on("click tap",function(t){this.close({ignoreDelay:!0})}.bind(this)).append(i),"box"!=this.options.closeButton&&(!0!==this.options.closeButton||this.options.overlay||this.options.title||this.options.getTitle)||(this.wrapper.addClass("jBox-closeButton-box"),this.closeButton.appendTo(this.container))),this.wrapper.appendTo(this.options.appendTo),this.wrapper.find(".jBox-closeButton").length&&t.each(["top","right","bottom","left"],function(t,i){this.wrapper.find(".jBox-closeButton").css(i)&&"auto"!=this.wrapper.find(".jBox-closeButton").css(i)&&(this.options.adjustDistance[i]=Math.max(this.options.adjustDistance[i],this.options.adjustDistance[i]+-1*((parseInt(this.wrapper.find(".jBox-closeButton").css(i))||0)+(parseInt(this.container.css("border-"+i+"-width"))||0))))}.bind(this)),this.options.pointer&&(this.pointer={position:"target"!=this.options.pointTo?this.options.pointTo:this._getOpp(this.outside),xy:"target"!=this.options.pointTo?this._getXY(this.options.pointTo):this._getXY(this.outside),align:"center",offset:0},this.pointer.element=t('<div class="jBox-pointer jBox-pointer-'+this.pointer.position+'"/>').appendTo(this.wrapper),this.pointer.dimensions={x:this.pointer.element.outerWidth(),y:this.pointer.element.outerHeight()},"string"==t.type(this.options.pointer)&&((i=this.options.pointer.split(":"))[0]&&(this.pointer.align=i[0]),i[1]&&(this.pointer.offset=parseInt(i[1]))),this.pointer.alignAttribute="x"==this.pointer.xy?"bottom"==this.pointer.align?"bottom":"top":"right"==this.pointer.align?"right":"left",this.wrapper.css("padding-"+this.pointer.position,this.pointer.dimensions[this.pointer.xy]),this.pointer.element.css(this.pointer.alignAttribute,"center"==this.pointer.align?"50%":0).css("margin-"+this.pointer.alignAttribute,this.pointer.offset),this.pointer.margin={},this.pointer.margin["margin-"+this.pointer.alignAttribute]=this.pointer.offset,"center"==this.pointer.align&&this.pointer.element.css("transform","translate("+("y"==this.pointer.xy?-.5*this.pointer.dimensions.x+"px":0)+", "+("x"==this.pointer.xy?-.5*this.pointer.dimensions.y+"px":0)+")"),this.pointer.element.css("x"==this.pointer.xy?"width":"height",parseInt(this.pointer.dimensions[this.pointer.xy])+parseInt(this.container.css("border-"+this.pointer.alignAttribute+"-width"))),this.wrapper.addClass("jBox-pointerPosition-"+this.pointer.position)),this.setContent(this.options.content,!0),this.setTitle(this.options.title,!0),this.options.draggable&&this._draggable(),this._fireEvent("onCreated"))},this.options.createOnInit&&this._create(),this.options.attach&&this.attach(),this._attachEvents=function(){this.options.delayOnHover&&t("#"+this.id).on("mouseenter",function(t){this.isHovered=!0}.bind(this)),this.options.delayOnHover&&t("#"+this.id).on("mouseleave",function(t){this.isHovered=!1}.bind(this)),(this.options.adjustPosition||this.options.reposition)&&!this.fixed&&this.outside&&(this.options.adjustTracker&&t(window).on("scroll.jBox-"+this.id,function(t){this.position()}.bind(this)),(this.options.adjustPosition||this.options.reposition)&&t(window).on("resize.jBox-"+this.id,function(t){this.position()}.bind(this))),"mouse"==this.options.target&&t("body").on("mousemove.jBox-"+this.id,function(t){this.position({mouseTarget:{top:t.pageY,left:t.pageX}})}.bind(this))},this._detachEvents=function(){this.options.closeOnEsc&&t(document).off("keyup.jBox-"+this.id),!0!==this.options.closeOnClick&&"body"!=this.options.closeOnClick||t(document).off("click.jBox-"+this.id+" tap.jBox-"+this.id),this.options.adjustTracker&&t(window).off("scroll.jBox-"+this.id),(this.options.adjustPosition||this.options.reposition)&&t(window).off("resize.jBox-"+this.id),"mouse"==this.options.target&&t("body").off("mousemove.jBox-"+this.id)},this._showOverlay=function(){this.overlay||(this.overlay=t('<div id="'+this.id+'-overlay"/>').addClass("jBox-overlay"+(this.type?" jBox-overlay-"+this.type:"")).css({display:"none",opacity:0,zIndex:this.options.zIndex-1}).appendTo(this.options.appendTo),this.options.overlayClass&&this.overlay.addClass(this.options.overlayClass),"overlay"!=this.options.closeButton&&!0!==this.options.closeButton||this.overlay.append(this.closeButton),"overlay"==this.options.closeOnClick&&this.overlay.on("click tap",function(){this.close({ignoreDelay:!0})}.bind(this)),t("#"+this.id+"-overlay .jBox-closeButton").length&&(this.options.adjustDistance.top=Math.max(t("#"+this.id+"-overlay .jBox-closeButton").outerHeight(),this.options.adjustDistance.top))),!0===this.adjustZIndexOnOpen&&this.overlay.css("zIndex",parseInt(this.wrapper.css("zIndex"),10)-1),"block"!=this.overlay.css("display")&&(this.options.fade?this.overlay.stop()&&this.overlay.animate({opacity:1},{queue:!1,duration:this.options.fade,start:function(){this.overlay.css({display:"block"})}.bind(this)}):this.overlay.css({display:"block",opacity:1}))},this._hideOverlay=function(){this.overlay&&(this.options.fade?this.overlay.stop()&&this.overlay.animate({opacity:0},{queue:!1,duration:this.options.fade,complete:function(){this.overlay.css({display:"none"})}.bind(this)}):this.overlay.css({display:"none",opacity:0}))},this._exposeDimensions=function(){this.wrapper.css({top:-1e4,left:-1e4,right:"auto",bottom:"auto"});var t={x:this.wrapper.outerWidth(),y:this.wrapper.outerHeight()};return this.wrapper.css({top:"auto",left:"auto"}),t},this._generateAnimationCSS=function(){if("object"!=t.type(this.options.animation)&&(this.options.animation={pulse:{open:"pulse",close:"zoomOut"},zoomIn:{open:"zoomIn",close:"zoomIn"},zoomOut:{open:"zoomOut",close:"zoomOut"},move:{open:"move",close:"move"},slide:{open:"slide",close:"slide"},flip:{open:"flip",close:"flip"},tada:{open:"tada",close:"zoomOut"}}[this.options.animation]),!this.options.animation)return null;this.options.animation.open&&(this.options.animation.open=this.options.animation.open.split(":")),this.options.animation.close&&(this.options.animation.close=this.options.animation.close.split(":")),this.options.animation.openDirection=this.options.animation.open[1]||null,this.options.animation.closeDirection=this.options.animation.close[1]||null,this.options.animation.open&&(this.options.animation.open=this.options.animation.open[0]),this.options.animation.close&&(this.options.animation.close=this.options.animation.close[0]),this.options.animation.open&&(this.options.animation.open+="Open"),this.options.animation.close&&(this.options.animation.close+="Close");var i={pulse:{duration:350,css:[["0%","scale(1)"],["50%","scale(1.1)"],["100%","scale(1)"]]},zoomInOpen:{duration:this.options.fade||180,css:[["0%","scale(0.9)"],["100%","scale(1)"]]},zoomInClose:{duration:this.options.fade||180,css:[["0%","scale(1)"],["100%","scale(0.9)"]]},zoomOutOpen:{duration:this.options.fade||180,css:[["0%","scale(1.1)"],["100%","scale(1)"]]},zoomOutClose:{duration:this.options.fade||180,css:[["0%","scale(1)"],["100%","scale(1.1)"]]},moveOpen:{duration:this.options.fade||180,positions:{top:{"0%":-12},right:{"0%":12},bottom:{"0%":12},left:{"0%":-12}},css:[["0%","translate%XY(%Vpx)"],["100%","translate%XY(0px)"]]},moveClose:{duration:this.options.fade||180,timing:"ease-in",positions:{top:{"100%":-12},right:{"100%":12},bottom:{"100%":12},left:{"100%":-12}},css:[["0%","translate%XY(0px)"],["100%","translate%XY(%Vpx)"]]},slideOpen:{duration:400,positions:{top:{"0%":-400},right:{"0%":400},bottom:{"0%":400},left:{"0%":-400}},css:[["0%","translate%XY(%Vpx)"],["100%","translate%XY(0px)"]]},slideClose:{duration:400,timing:"ease-in",positions:{top:{"100%":-400},right:{"100%":400},bottom:{"100%":400},left:{"100%":-400}},css:[["0%","translate%XY(0px)"],["100%","translate%XY(%Vpx)"]]},flipOpen:{duration:600,css:[["0%","perspective(400px) rotateX(90deg)"],["40%","perspective(400px) rotateX(-15deg)"],["70%","perspective(400px) rotateX(15deg)"],["100%","perspective(400px) rotateX(0deg)"]]},flipClose:{duration:this.options.fade||300,css:[["0%","perspective(400px) rotateX(0deg)"],["100%","perspective(400px) rotateX(90deg)"]]},tada:{duration:800,css:[["0%","scale(1)"],["10%, 20%","scale(0.9) rotate(-3deg)"],["30%, 50%, 70%, 90%","scale(1.1) rotate(3deg)"],["40%, 60%, 80%","scale(1.1) rotate(-3deg)"],["100%","scale(1) rotate(0)"]]}};t.each(["pulse","tada"],function(t,o){i[o+"Open"]=i[o+"Close"]=i[o]});var o=function(o,s){var e="@keyframes jBox-"+this.id+"-animation-"+this.options.animation[o]+"-"+o+(s?"-"+s:"")+" {";return t.each(i[this.options.animation[o]].css,function(t,n){var a=s?n[1].replace("%XY",this._getXY(s).toUpperCase()):n[1];i[this.options.animation[o]].positions&&(a=a.replace("%V",i[this.options.animation[o]].positions[s][n[0]])),e+=n[0]+" {transform:"+a+";}"}.bind(this)),e+="}",e+=".jBox-"+this.id+"-animation-"+this.options.animation[o]+"-"+o+(s?"-"+s:"")+" {",e+="animation-duration: "+i[this.options.animation[o]].duration+"ms;",e+="animation-name: jBox-"+this.id+"-animation-"+this.options.animation[o]+"-"+o+(s?"-"+s:"")+";",e+=i[this.options.animation[o]].timing?"animation-timing-function: "+i[this.options.animation[o]].timing+";":"",e+="}"}.bind(this);this._animationCSS="",t.each(["open","close"],function(s,e){if(!this.options.animation[e]||!i[this.options.animation[e]]||"close"==e&&!this.options.fade)return"";i[this.options.animation[e]].positions?t.each(["top","right","bottom","left"],function(t,i){this._animationCSS+=o(e,i)}.bind(this)):this._animationCSS+=o(e)}.bind(this))},this.options.animation&&this._generateAnimationCSS(),this._blockBodyClick=function(){this.blockBodyClick=!0,setTimeout(function(){this.blockBodyClick=!1}.bind(this),10)},this._animate=function(t){if(t=t||(this.isOpen?"open":"close"),!this.options.fade&&"close"==t)return null;var i=this.options.animation[t+"Direction"]||("center"!=this.align?this.align:this.options.attributes.x);this.flipped&&this._getXY(i)==this._getXY(this.align)&&(i=this._getOpp(i));var o="jBox-"+this.id+"-animation-"+this.options.animation[t]+"-"+t+" jBox-"+this.id+"-animation-"+this.options.animation[t]+"-"+t+"-"+i;this.wrapper.addClass(o),i=1e3*parseFloat(this.wrapper.css("animation-duration")),"close"==t&&(i=Math.min(i,this.options.fade)),setTimeout(function(){this.wrapper.removeClass(o)}.bind(this),i)},this._abortAnimation=function(){var t=this.wrapper.attr("class").split(" ").filter(function(t){return 0!==t.lastIndexOf("jBox-"+this.id+"-animation",0)}.bind(this));this.wrapper.attr("class",t.join(" "))},(this.options.responsiveWidth||this.options.responsiveHeight)&&t(window).on("resize.responsivejBox-"+this.id,function(t){this.isOpen&&this.position()}.bind(this)),"string"===t.type(this.options.preloadAudio)&&(this.options.preloadAudio=[this.options.preloadAudio]),"string"===t.type(this.options.audio)&&(this.options.audio={open:this.options.audio}),"number"===t.type(this.options.volume)&&(this.options.volume={open:this.options.volume,close:this.options.volume}),!0===this.options.preloadAudio&&this.options.audio&&(this.options.preloadAudio=[],t.each(this.options.audio,function(t,i){this.options.preloadAudio.push(i+".mp3"),this.options.preloadAudio.push(i+".ogg")}.bind(this))),this.options.preloadAudio.length&&t.each(this.options.preloadAudio,function(t,i){var o=new Audio;o.src=i,o.preload="auto"}),this._fireEvent("onInit"),this}var o,s;return i.prototype.attach=function(i,o){return i=i||this.options.attach,"string"==t.type(i)&&(i=t(i)),o=o||this.options.trigger,i&&i.length&&t.each(i,function(i,s){(s=t(s)).data("jBox-attached-"+this.id)||("title"==this.options.getContent&&null!=s.attr("title")&&s.data("jBox-getContent",s.attr("title")).removeAttr("title"),this.attachedElements||(this.attachedElements=[]),this.attachedElements.push(s[0]),s.on(o+".jBox-attach-"+this.id,function(t){var i;this.timer&&clearTimeout(this.timer),"mouseenter"==o&&this.isOpen&&this.source[0]==s[0]||(this.isOpen&&this.source&&this.source[0]!=s[0]&&(i=!0),this.source=s,this.options.target||(this.target=s),"click"==o&&this.options.preventDefault&&t.preventDefault(),this["click"!=o||i?"open":"toggle"]())}.bind(this)),"mouseenter"==this.options.trigger&&s.on("mouseleave",function(i){if(!this.wrapper)return null;this.options.closeOnMouseleave&&(i.relatedTarget==this.wrapper[0]||t(i.relatedTarget).parents("#"+this.id).length)||this.close()}.bind(this)),s.data("jBox-attached-"+this.id,o),this._fireEvent("onAttach",s))}.bind(this)),this},i.prototype.detach=function(i){return(i=i||this.attachedElements||[])&&i.length&&t.each(i,function(i,o){(o=t(o)).data("jBox-attached-"+this.id)&&(o.off(o.data("jBox-attached-"+this.id)+".jBox-attach-"+this.id),o.data("jBox-attached-"+this.id,null)),this.attachedElements=t.grep(this.attachedElements,function(t){return t!=o[0]})}.bind(this)),this},i.prototype.setTitle=function(i,o){if(null==i||null==i)return this;this.wrapper||this._create();var s=this.wrapper.outerHeight(),e=this.wrapper.outerWidth();return this.title||(this.titleContainer=t('<div class="jBox-title"/>'),this.title=t("<div/>").appendTo(this.titleContainer),"title"!=this.options.closeButton&&(!0!==this.options.closeButton||this.options.overlay)||(this.wrapper.addClass("jBox-closeButton-title"),this.closeButton.appendTo(this.titleContainer)),this.titleContainer.insertBefore(this.content),this._setTitleWidth()),this.wrapper[i?"addClass":"removeClass"]("jBox-hasTitle"),this.title.html(i),e!=this.wrapper.outerWidth()&&this._setTitleWidth(),this.options.draggable&&this._draggable(),o||!this.options.repositionOnContent||s==this.wrapper.outerHeight()&&e==this.wrapper.outerWidth()||this.position(),this},i.prototype.setContent=function(i,o){if(null==i||null==i)return this;this.wrapper||this._create();var s=this.wrapper.outerHeight(),e=this.wrapper.outerWidth();switch(this.content.children("[data-jbox-content-appended]").appendTo("body").css({display:"none"}),t.type(i)){case"string":this.content.html(i);break;case"object":i&&(i instanceof t||i.constructor.prototype.jquery)?(this.content.html(""),i.attr("data-jbox-content-appended",1).appendTo(this.content).css({display:"block"})):this.content.html(JSON.stringify(i))}return e!=this.wrapper.outerWidth()&&this._setTitleWidth(),this.options.draggable&&this._draggable(),o||!this.options.repositionOnContent||s==this.wrapper.outerHeight()&&e==this.wrapper.outerWidth()||this.position(),this},i.prototype.setDimensions=function(t,i,o){this.wrapper||this._create(),null==i&&(i="auto"),this.content.css(t,this._getInt(i)),"width"==t&&this._setTitleWidth(),this.options[t]=i,null!=o&&!o||this.position()},i.prototype.setWidth=function(t,i){this.setDimensions("width",t,i)},i.prototype.setHeight=function(t,i){this.setDimensions("height",t,i)},i.prototype.position=function(i){if(i=i||{},i=t.extend(!0,this.options,i),this.target=i.target||this.target||t(window),this.target instanceof t||"mouse"==this.target||(this.target=t(this.target)),!this.target.length)return this;this.content.css({width:this._getInt(i.width,"width"),height:this._getInt(i.height,"height"),minWidth:this._getInt(i.minWidth,"width"),minHeight:this._getInt(i.minHeight,"height"),maxWidth:this._getInt(i.maxWidth,"width"),maxHeight:this._getInt(i.maxHeight,"height")}),this._setTitleWidth();var o=this._exposeDimensions();"mouse"==this.target||this.target.data("jBox-"+this.id+"-fixed")||this.target.data("jBox-"+this.id+"-fixed",this.target[0]!=t(window)[0]&&("fixed"==this.target.css("position")||0<this.target.parents().filter(function(){return"fixed"==t(this).css("position")}).length)?"fixed":"static");var s={x:t(window).outerWidth(),y:t(window).outerHeight(),top:i.fixed&&this.target.data("jBox-"+this.id+"-fixed")?0:t(window).scrollTop(),left:i.fixed&&this.target.data("jBox-"+this.id+"-fixed")?0:t(window).scrollLeft()};s.bottom=s.top+s.y,s.right=s.left+s.x;try{var e=this.target.offset()}catch(s){e={top:0,left:0}}"mouse"!=this.target&&"fixed"==this.target.data("jBox-"+this.id+"-fixed")&&i.fixed&&(e.top=e.top-t(window).scrollTop(),e.left=e.left-t(window).scrollLeft());var n={x:"mouse"==this.target?12:this.target.outerWidth(),y:"mouse"==this.target?20:this.target.outerHeight(),top:"mouse"==this.target&&i.mouseTarget?i.mouseTarget.top:e?e.top:0,left:"mouse"==this.target&&i.mouseTarget?i.mouseTarget.left:e?e.left:0},a=i.outside&&!("center"==i.position.x&&"center"==i.position.y),h={x:s.x-i.adjustDistance.left-i.adjustDistance.right,y:s.y-i.adjustDistance.top-i.adjustDistance.bottom,left:a?n.left-t(window).scrollLeft()-i.adjustDistance.left:0,right:a?s.x-n.left+t(window).scrollLeft()-n.x-i.adjustDistance.right:0,top:a?n.top-t(window).scrollTop()-this.options.adjustDistance.top:0,bottom:a?s.y-n.top+t(window).scrollTop()-n.y-i.adjustDistance.bottom:0},r={x:"x"!=i.outside&&"xy"!=i.outside||"number"==t.type(i.position.x)?null:i.position.x,y:"y"!=i.outside&&"xy"!=i.outside||"number"==t.type(i.position.y)?null:i.position.y},p={x:!1,y:!1};r.x&&o.x>h[r.x]&&h[this._getOpp(r.x)]>h[r.x]&&(r.x=this._getOpp(r.x))&&(p.x=!0),r.y&&o.y>h[r.y]&&h[this._getOpp(r.y)]>h[r.y]&&(r.y=this._getOpp(r.y))&&(p.y=!0),(i.responsiveWidth||i.responsiveHeight)&&(x=function(){var t;i.responsiveWidth&&o.x>h[r.x||"x"]&&(t=h[r.x||"x"]-(this.pointer&&a&&"x"==i.outside?this.pointer.dimensions.x:0)-parseInt(this.container.css("border-left-width"))-parseInt(this.container.css("border-right-width")),this.content.css({width:t>this.options.responsiveMinWidth?t:null,minWidth:t<parseInt(this.content.css("minWidth"))?0:null}),this._setTitleWidth()),o=this._exposeDimensions()}.bind(this),i.responsiveWidth&&x(),i.responsiveWidth&&!p.y&&r.y&&o.y>h[r.y]&&h[this._getOpp(r.y)]>h[r.y]&&(r.y=this._getOpp(r.y))&&(p.y=!0),y=function(){var t;i.responsiveHeight&&o.y>h[r.y||"y"]&&(t=function(){return this.titleContainer||this.footer?("none"==this.wrapper.css("display")?(this.wrapper.css("display","block"),t=(this.titleContainer?this.titleContainer.outerHeight():0)+(this.footer?this.footer.outerHeight():0),this.wrapper.css("display","none")):t=(this.titleContainer?this.titleContainer.outerHeight():0)+(this.footer?this.footer.outerHeight():0),t||0):0;var t}.bind(this),t=h[r.y||"y"]-(this.pointer&&a&&"y"==i.outside?this.pointer.dimensions.y:0)-t()-parseInt(this.container.css("border-top-width"))-parseInt(this.container.css("border-bottom-width")),this.content.css({height:t>this.options.responsiveMinHeight?t:null}),this._setTitleWidth()),o=this._exposeDimensions()}.bind(this),i.responsiveHeight&&y(),i.responsiveHeight&&!p.x&&r.x&&o.x>h[r.x]&&h[this._getOpp(r.x)]>h[r.x]&&(r.x=this._getOpp(r.x))&&(p.x=!0),i.adjustPosition&&"move"!=i.adjustPosition&&(p.x&&x(),p.y&&y()));var l={},d=function(s){if("number"!=t.type(i.position[s])){var e=i.attributes[s]="x"==s?"left":"top";if(l[e]=n[e],"center"==i.position[s])return l[e]+=Math.ceil((n[s]-o[s])/2),void("mouse"!=this.target&&this.target[0]&&this.target[0]==t(window)[0]&&(l[e]+=.5*(i.adjustDistance[e]-i.adjustDistance[this._getOpp(e)])));e!=i.position[s]&&(l[e]+=n[s]-o[s]),i.outside!=s&&"xy"!=i.outside||(l[e]+=o[s]*(e!=i.position[s]?1:-1))}else l[i.attributes[s]]=i.position[s]}.bind(this);if(d("x"),d("y"),this.pointer&&"target"==i.pointTo&&"number"!=t.type(i.position.x)&&"number"!=t.type(i.position.y)&&(j=0,"center"===this.pointer.align?"center"!=i.position[this._getOpp(i.outside)]&&(j+=o[this._getOpp(i.outside)]/2):"center"===i.position[this._getOpp(i.outside)]?j+=(o[this._getOpp(i.outside)]/2-this.pointer.dimensions[this._getOpp(i.outside)]/2)*(this.pointer.align==this._getTL(this.pointer.align)?1:-1):j+=this.pointer.align!=i.position[this._getOpp(i.outside)]?this.dimensions[this._getOpp(i.outside)]*(-1!==t.inArray(this.pointer.align,["top","left"])?1:-1)+this.pointer.dimensions[this._getOpp(i.outside)]/2*(-1!==t.inArray(this.pointer.align,["top","left"])?-1:1):this.pointer.dimensions[this._getOpp(i.outside)]/2*(-1!==t.inArray(this.pointer.align,["top","left"])?1:-1),j*=i.position[this._getOpp(i.outside)]==this.pointer.alignAttribute?-1:1,j+=this.pointer.offset*(this.pointer.align==this._getOpp(this._getTL(this.pointer.align))?1:-1),l[this._getTL(this._getOpp(this.pointer.xy))]+=j),l[i.attributes.x]+=i.offset.x,l[i.attributes.y]+=i.offset.y,this.wrapper.css(l),i.adjustPosition){this.positionAdjusted&&(this.pointer&&this.wrapper.css("padding",0).css("padding-"+this._getOpp(this.outside),this.pointer.dimensions[this._getXY(this.outside)]).removeClass("jBox-pointerPosition-"+this._getOpp(this.pointer.position)).addClass("jBox-pointerPosition-"+this.pointer.position),this.pointer&&this.pointer.element.attr("class","jBox-pointer jBox-pointer-"+this._getOpp(this.outside)).css(this.pointer.margin),this.positionAdjusted=!1,this.flipped=!1);var c=s.top>l.top-(i.adjustDistance.top||0),u=s.right<l.left+o.x+(i.adjustDistance.right||0),g=s.bottom<l.top+o.y+(i.adjustDistance.bottom||0),m=s.left>l.left-(i.adjustDistance.left||0),f=m?"left":u?"right":null,x=c?"top":g?"bottom":null;if(f||x){if(("Modal"==this.type||"Confirm"==this.type)&&"number"==t.type(this.options.position.x)&&"number"==t.type(this.options.position.y)){var y=0,j=0;return this.options.holdPosition&&(m?y=s.left-(l.left-(i.adjustDistance.left||0)):u&&(y=s.right-(l.left+o.x+(i.adjustDistance.right||0))),c?j=s.top-(l.top-(i.adjustDistance.top||0)):g&&(j=s.bottom-(l.top+o.y+(i.adjustDistance.bottom||0))),this.options.position.x=Math.max(s.top,this.options.position.x+y),this.options.position.y=Math.max(s.left,this.options.position.y+j),d("x"),d("y"),this.wrapper.css(l)),this._fireEvent("onPosition"),this}!0!==i.adjustPosition&&"flip"!==i.adjustPosition||(b=function(t){this.wrapper.css(this._getTL(t),l[this._getTL(t)]+(o[this._getXY(t)]+i.offset[this._getXY(t)]*("top"==t||"left"==t?-2:2)+n[this._getXY(t)])*("top"==t||"left"==t?1:-1)),this.pointer&&this.wrapper.removeClass("jBox-pointerPosition-"+this.pointer.position).addClass("jBox-pointerPosition-"+this._getOpp(this.pointer.position)).css("padding",0).css("padding-"+t,this.pointer.dimensions[this._getXY(t)]),this.pointer&&this.pointer.element.attr("class","jBox-pointer jBox-pointer-"+t),this.positionAdjusted=!0,this.flipped=!0}.bind(this),p.x&&b(this.options.position.x),p.y&&b(this.options.position.y));var b="x"==this._getXY(this.outside)?x:f;this.pointer&&"target"==i.pointTo&&"flip"!=i.adjustPosition&&this._getXY(b)==this._getOpp(this._getXY(this.outside))&&(x="center"==this.pointer.align?o[this._getXY(b)]/2-this.pointer.dimensions[this._getOpp(this.pointer.xy)]/2-parseInt(this.pointer.element.css("margin-"+this.pointer.alignAttribute))*(b!=this._getTL(b)?-1:1):b==this.pointer.alignAttribute?parseInt(this.pointer.element.css("margin-"+this.pointer.alignAttribute)):o[this._getXY(b)]-parseInt(this.pointer.element.css("margin-"+this.pointer.alignAttribute))-this.pointer.dimensions[this._getXY(b)],f=b==this._getTL(b)?s[this._getTL(b)]-l[this._getTL(b)]+i.adjustDistance[b]:-1*(s[this._getOpp(this._getTL(b))]-l[this._getTL(b)]-i.adjustDistance[b]-o[this._getXY(b)]),b==this._getOpp(this._getTL(b))&&l[this._getTL(b)]-f<s[this._getTL(b)]+i.adjustDistance[this._getTL(b)]&&(f-=s[this._getTL(b)]+i.adjustDistance[this._getTL(b)]-(l[this._getTL(b)]-f)),(f=Math.min(f,x))<=x&&0<f&&(this.pointer.element.css("margin-"+this.pointer.alignAttribute,parseInt(this.pointer.element.css("margin-"+this.pointer.alignAttribute))-f*(b!=this.pointer.alignAttribute?-1:1)),this.wrapper.css(this._getTL(b),l[this._getTL(b)]+f*(b!=this._getTL(b)?-1:1)),this.positionAdjusted=!0))}}return this._fireEvent("onPosition"),this},(i.prototype.unscroll=function(t){if(this.set=function(t,i){window.unscrollStore||(window.unscrollStore={}),window.unscrollStore[t]=i},this.get=function(t){return window.unscrollStore?window.unscrollStore[t]:null},this.getScrollbarWidth=function(){if(this.get("scrollbarWidth"))return this.get("scrollbarWidth")+"px";var t=document.createElement("div");t.style.width="100px",t.style.height="100px",t.style.overflow="scroll",t.style.position="absolute",t.style.top="-10000",document.body.appendChild(t);var i=t.offsetWidth-t.clientWidth;return document.body.removeChild(t),this.set("scrollbarWidth",i),i+"px"},this.getElementsToAdjust=function(t){(t="string"==typeof(t=t||[])?[[t,"padding-right"]]:t).forEach(function(i,o){"string"==typeof i&&(t[o]=[i,"padding-right"])});for(var i=!1,o=0;o<t.length;o++)-1!==t[o][0].indexOf("body")&&(i=!0);return!1===i&&t.push(["body","padding-right"]),t},this.pageHasScrollbar=function(){return this.getScrollbarWidth()&&document.body.offsetHeight>window.innerHeight},this.pageHasScrollbar()){t=this.getElementsToAdjust(t);for(var i=0;i<t.length;i++)for(var o=document.querySelectorAll(t[i][0]),s=0;s<o.length;s++){if(o[s].getAttribute("data-unscroll"))return;var e=t[i][1],n=window.getComputedStyle(o[s]).getPropertyValue(e);o[s].setAttribute("data-unscroll",e),n=n||"0px";var a="padding-right"==e||"right"==e?"+":"-";o[s].style[e]="calc("+n+" "+a+" "+this.getScrollbarWidth()+")"}}var h,r;document.getElementById("unscroll-class-name")||(h=document.head||document.getElementsByTagName("head")[0],(r=document.createElement("style")).type="text/css",r.setAttribute("id","unscroll-class-name"),r.appendChild(document.createTextNode(".unscrollable { overflow: hidden !important; }")),h.appendChild(r)),document.body.classList.add("unscrollable")}).reset=function(){for(var t=document.querySelectorAll("[data-unscroll]"),i=0;i<t.length;i++){var o=t[i].getAttribute("data-unscroll");t[i].style[o]=null,t[i].removeAttribute("data-unscroll")}document.body.classList.remove("unscrollable")},i.prototype.open=function(o){if(o=o||{},this.isDestroyed)return this;if(this.wrapper||this._create(),this._styles||(this._styles=t("<style/>").append(this._animationCSS).appendTo(t("head"))),this.timer&&clearTimeout(this.timer),this._blockBodyClick(),this.isDisabled)return this;this.options.closeOnEsc&&t(document).on("keyup.jBox-"+this.id,function(t){27==t.keyCode&&this.close({ignoreDelay:!0})}.bind(this)),!0!==this.options.closeOnClick&&"body"!==this.options.closeOnClick||(t("body").on("click.jBox-"+this.id+" tap.jBox-"+this.id,function(t){this.blockBodyClick||"body"==this.options.closeOnClick&&(t.target==this.wrapper[0]||this.wrapper.has(t.target).length)||this.close({ignoreDelay:!0})}.bind(this)),this.isTouchDevice&&t("body > *").on("click.jBox-"+this.id+" tap.jBox-"+this.id,function(){return!0}));var s=function(){!0===this.adjustZIndexOnOpen&&(i.zIndexMax=Math.max(parseInt(this.wrapper.css("zIndex"),10),this.options.zIndex,i.zIndexMax||0,i.zIndexMaxDragover||0)+2,this.wrapper.css("zIndex",i.zIndexMax),this.options.zIndex=i.zIndexMax),this.source&&this.options.getTitle&&this.source.attr(this.options.getTitle)&&this.setTitle(this.source.attr(this.options.getTitle),!0),this.source&&this.options.getContent&&(this.source.data("jBox-getContent")?this.setContent(this.source.data("jBox-getContent"),!0):this.source.attr(this.options.getContent)?this.setContent(this.source.attr(this.options.getContent),!0):"html"==this.options.getContent&&this.setContent(this.source.html(),!0)),this._fireEvent("onOpen"),(this.options.ajax&&(this.options.ajax.url||this.source&&this.source.attr(this.options.ajax.getURL))&&(!this.ajaxLoaded||this.options.ajax.reload)||o.ajax&&(o.ajax.url||o.ajax.data))&&("strict"==this.options.ajax.reload||!this.source||!this.source.data("jBox-ajax-data")||o.ajax&&(o.ajax.url||o.ajax.data)?this.ajax(o.ajax||null,!0):this.setContent(this.source.data("jBox-ajax-data"))),this.positionedOnOpen&&!this.options.repositionOnOpen||!this.position(o)||(this.positionedOnOpen=!0),this.isClosing&&this._abortAnimation(),this.isOpen||(this.isOpen=!0,this.options.autoClose&&(this.options.delayClose=this.options.autoClose)&&this.close(),this._attachEvents(),this.options.blockScroll&&(this.options.blockScrollAdjust?i.blockScrollScopes?i.blockScrollScopes++:(i.blockScrollScopes=1,this.unscroll(Array.isArray(this.options.blockScrollAdjust)||"string"==typeof this.options.blockScrollAdjust?this.options.blockScrollAdjust:null)):t("body").addClass("jBox-blockScroll-"+this.id)),this.options.overlay&&(this._showOverlay(),this.position()),this.options.animation&&!this.isClosing&&this._animate("open"),this.options.audio&&this.options.audio.open&&this.audio(this.options.audio.open,this.options.volume.open),this.options.fade?this.wrapper.stop().animate({opacity:1},{queue:!1,duration:this.options.fade,start:function(){this.isOpening=!0,this.wrapper.css({display:"block"})}.bind(this),always:function(){this.isOpening=!1,setTimeout(function(){this.positionOnFadeComplete&&this.position()&&(this.positionOnFadeComplete=!1)}.bind(this),10)}.bind(this)}):(this.wrapper.css({display:"block",opacity:1}),this.positionOnFadeComplete&&this.position()&&(this.positionOnFadeComplete=!1)))}.bind(this);return!this.options.delayOpen||this.isOpen||this.isClosing||o.ignoreDelay?s():this.timer=setTimeout(s,this.options.delayOpen),this},i.prototype.close=function(o){if(o=o||{},t("body").off("click.jBox-"+this.id+" tap.jBox-"+this.id),this.isTouchDevice&&t("body > *").off("click.jBox-"+this.id+" tap.jBox-"+this.id),this.isDestroyed||this.isClosing)return this;if(this.timer&&clearTimeout(this.timer),this._blockBodyClick(),this.isDisabled)return this;var s,e,n,a=function(){var o;this._fireEvent("onClose"),this.options.cancelAjaxOnClose&&this.cancelAjax(),this.isOpen&&(this.isOpen=!1,this._detachEvents(),this.options.blockScroll&&(this.options.blockScrollAdjust?(i.blockScrollScopes=i.blockScrollScopes?--i.blockScrollScopes:0)||this.unscroll.reset():t("body").removeClass("jBox-blockScroll-"+this.id)),this.options.overlay&&this._hideOverlay(),this.options.animation&&!this.isOpening&&this._animate("close"),this.options.audio&&this.options.audio.close&&this.audio(this.options.audio.close,this.options.volume.close),(o=this.isTouchDevice&&"mouse"==this.options.target?0:this.options.fade)?this.wrapper.stop().animate({opacity:0},{queue:!1,duration:o,start:function(){this.isClosing=!0}.bind(this),complete:function(){this.wrapper.css({display:"none"}),this._fireEvent("onCloseComplete")}.bind(this),always:function(){this.isClosing=!1}.bind(this)}):(this.wrapper.css({display:"none",opacity:0}),this._fireEvent("onCloseComplete")))}.bind(this);return o.ignoreDelay||this.isTouchDevice&&"mouse"==this.options.target?a():(this.options.delayOnHover||this.options.showCountdown)&&10<this.options.delayClose?(e=(s=this).options.delayClose,n=Date.now(),this.options.showCountdown&&!this.inner&&(o=t('<div class="jBox-countdown" />'),this.inner=t('<div class="jBox-countdown-inner" />'),o.prepend(this.inner),t("#"+this.id).append(o)),this.countdown=function(){var t=Date.now();s.isHovered||(e-=t-n),n=t,0<e?(s.options.showCountdown&&s.inner.css("width",100*e/s.options.delayClose+"%"),window.requestAnimationFrame(s.countdown)):a()},window.requestAnimationFrame(this.countdown)):this.timer=setTimeout(a,Math.max(this.options.delayClose,10)),this},i.prototype.toggle=function(t){return this[this.isOpen?"close":"open"](t),this},i.prototype.disable=function(){return this.isDisabled=!0,this},i.prototype.enable=function(){return this.isDisabled=!1,this},i.prototype.hide=function(){return this.disable(),this.wrapper&&(this.cacheWrapperDisplay=this.wrapper.css("display"),this.wrapper.css({display:"none"})),this.overlay&&(this.cacheOverlayDisplay=this.overlay.css("display"),this.overlay.css({display:"none"})),this},i.prototype.show=function(){return this.enable(),this.wrapper&&this.cacheWrapperDisplay&&(this.wrapper.css({display:this.cacheWrapperDisplay}),this.cacheWrapperDisplay=null),this.overlay&&this.cacheOverlayDisplay&&(this.overlay.css({display:this.cacheOverlayDisplay}),this.cacheOverlayDisplay=null),this},i.prototype.ajax=function(i,o){i=i||{},t.each([["getData","data"],["getURL","url"]],function(t,o){this.options.ajax[o[0]]&&!i[o[1]]&&this.source&&null!=this.source.attr(this.options.ajax[o[0]])&&(i[o[1]]=this.source.attr(this.options.ajax[o[0]])||"")}.bind(this));var s=t.extend(!0,{},this.options.ajax);this.cancelAjax();var e=i.beforeSend||s.beforeSend||function(){},n=i.complete||s.complete||function(){},a=i.success||s.success||function(){},h=i.error||s.error||function(){},r=t.extend(!0,s,i);return r.beforeSend=function(i){r.loadingClass&&this.wrapper.addClass(!0===r.loadingClass?"jBox-loading":r.loadingClass),r.spinner&&(this.spinnerDelay=setTimeout(function(){this.wrapper.addClass("jBox-loading-spinner"),r.spinnerReposition&&(o?this.positionOnFadeComplete=!0:this.position()),this.spinner=t(!0!==r.spinner?r.spinner:'<div class="jBox-spinner"></div>').appendTo(this.container),this.titleContainer&&"absolute"==this.spinner.css("position")&&this.spinner.css({transform:"translateY("+.5*this.titleContainer.outerHeight()+"px)"})}.bind(this),""!=this.content.html()&&r.spinnerDelay||0)),e.bind(this)(i)}.bind(this),r.complete=function(t){this.spinnerDelay&&clearTimeout(this.spinnerDelay),this.wrapper.removeClass("jBox-loading jBox-loading-spinner jBox-loading-spinner-delay"),this.spinner&&this.spinner.length&&this.spinner.remove()&&r.spinnerReposition&&(o?this.positionOnFadeComplete=!0:this.position()),this.ajaxLoaded=!0,n.bind(this)(t)}.bind(this),r.success=function(t){r.setContent&&this.setContent(t,!0)&&(o?this.positionOnFadeComplete=!0:this.position()),r.setContent&&this.source&&this.source.data("jBox-ajax-data",t),a.bind(this)(t)}.bind(this),r.error=function(t){h.bind(this)(t)}.bind(this),this.ajaxRequest=t.ajax(r),this},i.prototype.cancelAjax=function(){this.ajaxRequest&&(this.ajaxRequest.abort(),this.ajaxLoaded=!1)},i.prototype.audio=function(o,s){if(!o)return this;var e;(i._audio=i._audio?i._audio:{})[o]||(e=t("<audio/>"),t("<source/>",{src:o+".mp3"}).appendTo(e),t("<source/>",{src:o+".ogg"}).appendTo(e),i._audio[o]=e[0]),i._audio[o].volume=Math.min((null!=s?s:100)/100,1);try{i._audio[o].pause(),i._audio[o].currentTime=0}catch(o){}return i._audio[o].play(),this},i._animationSpeeds={tada:1e3,tadaSmall:1e3,flash:500,shake:400,pulseUp:250,pulseDown:250,popIn:250,popOut:250,fadeIn:200,fadeOut:200,slideUp:400,slideRight:400,slideLeft:400,slideDown:400},i.prototype.animate=function(t,o){o=o||{},this.animationTimeout||(this.animationTimeout={}),o.element||(o.element=this.wrapper),o.element.data("jBox-animating-id")||o.element.data("jBox-animating-id",i._getUniqueElementID()),o.element.data("jBox-animating")&&(o.element.removeClass(o.element.data("jBox-animating")).data("jBox-animating",null),this.animationTimeout[o.element.data("jBox-animating-id")]&&clearTimeout(this.animationTimeout[o.element.data("jBox-animating-id")])),o.element.addClass("jBox-animated-"+t).data("jBox-animating","jBox-animated-"+t),this.animationTimeout[o.element.data("jBox-animating-id")]=setTimeout(function(){o.element.removeClass(o.element.data("jBox-animating")).data("jBox-animating",null),o.complete&&o.complete()},i._animationSpeeds[t])},i.prototype.swipeDetector=function(i,o){var s=0,e=0,n=0,a=0,h=0;return o=t.extend({swipeThreshold:70,useOnlyTouch:!1},o),i.on("mousedown touchstart",function(t){o.useOnlyTouch&&!t.originalEvent.touches||(t.originalEvent.touches&&(t=t.originalEvent.touches[0]),0===s&&(s=1,e=t.clientX,n=t.clientY))}),t("html").on("mouseup touchend",function(e){2===s&&(s=0,Math.abs(a)>Math.abs(h)&&Math.abs(a)>o.swipeThreshold?a<0?i.trigger(t.Event("swipeLeft.sd")):i.trigger(t.Event("swipeRight.sd")):Math.abs(h)>o.swipeThreshold&&(h<0?i.trigger(t.Event("swipeUp.sd")):i.trigger(t.Event("swipeDown.sd"))))}),t("html").on("mousemove touchmove",function(t){var i;1===s&&(i=(t=t.originalEvent.touches?t.originalEvent.touches[0]:t).clientX-e,t=t.clientY-n,(Math.abs(i)>o.swipeThreshold||Math.abs(t)>o.swipeThreshold)&&(s=2,a=i,h=t))}),i},i.prototype.destroy=function(){return this.detach(),this.isOpen&&this.close({ignoreDelay:!0}),this.wrapper&&this.wrapper.remove(),this.overlay&&this.overlay.remove(),this._styles&&this._styles.remove(),this.isDestroyed=!0,this},i._getUniqueID=(o=1,function(){return o++}),i._getUniqueElementID=(s=1,function(){return s++}),i._pluginOptions={},i.plugin=function(t,o){i._pluginOptions[t]=o},t.fn.jBox=function(o,s){return s=s||{},new i(o=o||{},t.extend(s,{attach:this}))},i}function jBoxConfirmWrapper(jBox,jQuery){new jBox.plugin("Confirm",{confirmButton:"Submit",cancelButton:"Cancel",confirm:null,cancel:null,closeOnConfirm:!0,target:window,fixed:!0,attach:"[data-confirm]",getContent:"data-confirm",content:"Do you really want to do this?",minWidth:360,maxWidth:500,blockScroll:!0,closeOnEsc:!0,closeOnClick:!1,closeButton:!1,overlay:!0,animation:"zoomIn",preventDefault:!0,_onAttach:function(t){var i;this.options.confirm||(i=t.attr("onclick")?t.attr("onclick"):t.attr("href")?t.attr("target")?'window.open("'+t.attr("href")+'", "'+t.attr("target")+'");':'window.location.href = "'+t.attr("href")+'";':"",t.prop("onclick",null).data("jBox-Confirm-submit",i))},_onCreated:function(){this.wrapper.addClass("jBox-Modal"),this.footer=jQuery('<div class="jBox-Confirm-footer"/>'),jQuery('<div class="jBox-Confirm-button jBox-Confirm-button-cancel"/>').html(this.options.cancelButton).on("click tap",function(){this.options.cancel&&this.options.cancel(this.source),this.close()}.bind(this)).appendTo(this.footer),this.submitButton=jQuery('<div class="jBox-Confirm-button jBox-Confirm-button-submit"/>').html(this.options.confirmButton).appendTo(this.footer),this.footer.appendTo(this.container)},_onOpen:function(){this.submitButton.off("click.jBox-Confirm"+this.id+" tap.jBox-Confirm"+this.id).on("click.jBox-Confirm"+this.id+" tap.jBox-Confirm"+this.id,function(){this.options.confirm?this.options.confirm(this.source):eval(this.source.data("jBox-Confirm-submit")),this.options.closeOnConfirm&&this.close()}.bind(this))}})}function jBoxImageWrapper(t,i){new t.plugin("Image",{src:"href",gallery:"data-jbox-image",imageLabel:"title",imageFade:360,imageSize:"contain",imageCounter:!1,imageCounterSeparator:"/",downloadButton:!1,downloadButtonText:null,downloadButtonUrl:null,mobileImageAttr:null,mobileImageBreakpoint:null,preloadFirstImage:!1,target:window,attach:"[data-jbox-image]",fixed:!0,blockScroll:!0,closeOnEsc:!0,closeOnClick:"button",closeButton:!0,overlay:!0,animation:"zoomIn",preventDefault:!0,width:"100%",height:"100%",adjustDistance:{top:40,right:0,bottom:40,left:0},_onInit:function(){this.images=this.currentImage={},this.imageZIndex=1,this.initImage=function(t){var o,s;(t=i(t)).data("jBox-image-gallery")||(o=t.attr(this.options.src),this.options.mobileImageAttr&&this.options.mobileImageBreakpoint&&t.attr(this.options.mobileImageAttr)&&i(window).width()<=this.options.mobileImageBreakpoint&&(o=t.attr(this.options.mobileImageAttr)),s=t.attr(this.options.gallery)||"default",this.images[s]||(this.images[s]=[]),this.images[s].push({src:o,label:t.attr(this.options.imageLabel)||"",downloadUrl:this.options.downloadButtonUrl&&t.attr(this.options.downloadButtonUrl)?t.attr(this.options.downloadButtonUrl):null}),"title"==this.options.imageLabel&&t.removeAttr("title"),t.data("jBox-image-gallery",s),t.data("jBox-image-id",this.images[s].length-1))}.bind(this),this.attachedElements&&this.attachedElements.length&&i.each(this.attachedElements,function(t,i){this.initImage(i)}.bind(this));var t=function(t,o,s,e){if(!i("#jBox-image-"+t+"-"+o).length){var n=i("<div/>",{id:"jBox-image-"+t+"-"+o,class:"jBox-image-container"+(s?" jBox-image-"+t+"-current":"")}).css({backgroundSize:this.options.imageSize,opacity:e?1:0,zIndex:s?this.imageZIndex++:0}).appendTo(this.content);return this.swipeDetector(n).on("swipeLeft.sd swipeRight.sd",function(t){"swipeLeft"===t.type?this.showImage("next"):"swipeRight"===t.type&&this.showImage("prev")}.bind(this)),i("<div/>",{id:"jBox-image-label-"+t+"-"+o,class:"jBox-image-label"+(s?" active":"")}).html(this.images[t][o].label).on("click tap",function(){i(this).toggleClass("expanded")}).appendTo(this.imageLabelContainer),s&&n.animate({opacity:1},e?0:this.options.imageFade),n}}.bind(this);this.downloadImage=function(t){var i=document.createElement("a");i.href=t,i.setAttribute("download",t.substring(t.lastIndexOf("/")+1)),document.body.appendChild(i),i.click()};var o=function(o,s,e,n){var a=t(o,s,e,n);a.addClass("jBox-image-loading"),i('<img src="'+this.images[o][s].src+'" />').each(function(){var t=new Image;t.onload=function(){a.removeClass("jBox-image-loading"),a.css({backgroundImage:'url("'+this.images[o][s].src+'")'})}.bind(this),t.onerror=function(){a.removeClass("jBox-image-loading"),a.addClass("jBox-image-not-found")}.bind(this),t.src=this.images[o][s].src}.bind(this))}.bind(this);this.showImage=function(t){var s,e,n;if("open"!=t)s=this.currentImage.gallery,n=(n=this.currentImage.id+(+("prev"==t)?-1:1))>this.images[s].length-1?0:n<0?this.images[s].length-1:n;else{if(this.source)s=this.source.data("jBox-image-gallery"),n=this.source.data("jBox-image-id");else{if(!this.attachedElements||!this.attachedElements.length)return;s=i(this.attachedElements[0]).data("jBox-image-gallery"),n=i(this.attachedElements[0]).data("jBox-image-id")}this.images&&this.images[s]&&i(".jBox-image-pointer-prev, .jBox-image-pointer-next").css({display:1<this.images[s].length?"block":"none"})}i(".jBox-image-"+s+"-current").length&&i(".jBox-image-"+s+"-current").removeClass("jBox-image-"+s+"-current").animate({opacity:0},"open"==t?0:this.options.imageFade),this.currentImage={gallery:s,id:n},i("#jBox-image-"+s+"-"+n).length?i("#jBox-image-"+s+"-"+n).addClass("jBox-image-"+s+"-current").css({zIndex:this.imageZIndex++,opacity:0}).animate({opacity:1},"open"==t?0:this.options.imageFade):o(s,n,!0,"open"===t),e=s,t=n,i(".jBox-image-label.active").removeClass("active expanded"),i("#jBox-image-label-"+e+"-"+t).addClass("active"),this.imageCounter&&(this.images[s]&&1<this.images[s].length?(this.wrapper.addClass("jBox-image-has-counter"),this.imageCounter.find(".jBox-image-counter-all").html(this.images[s].length),this.imageCounter.find(".jBox-image-counter-current").html(n+1)):this.wrapper.removeClass("jBox-image-has-counter")),this.images[s]&&this.images[s].length-1&&(n=(n+=1)>this.images[s].length-1?0:n<0?this.images[s].length-1:n,i("#jBox-image-"+s+"-"+n).length||o(s,n,!1,!1))},this.options.preloadFirstImage&&i(window).on("load",function(){this.showImage("open")}.bind(this))},_onAttach:function(t){this.initImage&&this.initImage(t)},_onCreated:function(){this.imageLabelWrapper=i('<div class="jBox-image-label-wrapper"/>').appendTo(this.wrapper),this.imagePrevButton=i('<div class="jBox-image-pointer-prev"/>').on("click tap",function(){this.showImage("prev")}.bind(this)),this.imageNextButton=i('<div class="jBox-image-pointer-next"/>').on("click tap",function(){this.showImage("next")}.bind(this)),this.imageLabelContainer=i('<div class="jBox-image-label-container"/>'),this.imageLabelWrapper.append(this.imagePrevButton).append(this.imageLabelContainer).append(this.imageNextButton),this.options.downloadButton&&(this.downloadButton=i("<div/>",{class:"jBox-image-download-button-wrapper"}).appendTo(this.wrapper).append(this.options.downloadButtonText?i("<div/>",{class:"jBox-image-download-button-text"}).html(this.options.downloadButtonText):null).append(i("<div/>",{class:"jBox-image-download-button-icon"})).on("click tap",function(){var t;t=this.images[this.currentImage.gallery][this.currentImage.id].downloadUrl||this.wrapper.find(".jBox-image-"+this.currentImage.gallery+"-current")[0].style.backgroundImage.slice(4,-1).replace(/["']/g,""),this.downloadImage(t)}.bind(this))),this.options.imageCounter&&(this.imageCounter=i("<div/>",{class:"jBox-image-counter-container"}).insertAfter(this.imageLabelContainer),this.imageCounter.append(i("<span/>",{class:"jBox-image-counter-current"})).append(i("<span/>").html(this.options.imageCounterSeparator)).append(i("<span/>",{class:"jBox-image-counter-all"})))},_onOpen:function(){i(document).on("keyup.jBox-Image-"+this.id,function(t){37==t.keyCode&&this.showImage("prev"),39==t.keyCode&&this.showImage("next")}.bind(this)),this.showImage("open")},_onClose:function(){i(document).off("keyup.jBox-Image-"+this.id)},_onCloseComplete:function(){this.wrapper.find(".jBox-image-container").css("opacity",0)}})}function jBoxNoticeWrapper(t,i){new t.plugin("Notice",{color:null,stack:!0,stackSpacing:10,autoClose:6e3,attributes:{x:"right",y:"top"},position:{x:15,y:15},responsivePositions:{500:{x:5,y:5},768:{x:10,y:10}},target:window,fixed:!0,animation:"zoomIn",closeOnClick:"box",zIndex:12e3,_onInit:function(){this.defaultNoticePosition=i.extend({},this.options.position),this._adjustNoticePositon=function(){var t=i(window),o=t.width();t.height(),this.options.position=i.extend({},this.defaultNoticePosition),i.each(this.options.responsivePositions,function(t,i){if(o<=t)return this.options.position=i,!1}.bind(this)),this.options.adjustDistance={top:this.options.position.y,right:this.options.position.x,bottom:this.options.position.y,left:this.options.position.x}},this.options.content instanceof i&&(this.options.content=this.options.content.clone().attr("id","")),i(window).on("resize.responsivejBoxNotice-"+this.id,function(t){this.isOpen&&this._adjustNoticePositon()}.bind(this)),this.open()},_onCreated:function(){this.wrapper.addClass("jBox-Notice-color jBox-Notice-"+(this.options.color||"gray")),this.wrapper.data("jBox-Notice-position",this.options.attributes.x+"-"+this.options.attributes.y)},_onOpen:function(){this.options.stack||(this._adjustNoticePositon(),i.each(i(".jBox-Notice"),function(t,o){(o=i(o)).attr("id")!=this.id&&o.data("jBox-Notice-position")==this.options.attributes.x+"-"+this.options.attributes.y&&(this.options.stack||o.data("jBox").close({ignoreDelay:!0}))}.bind(this)))},_onPosition:function(){var t,o={};for(t in i.each(i(".jBox-Notice"),function(t,s){var e=(s=i(s)).data("jBox-Notice-position");o[e]||(o[e]=[]),o[e].push(s)}),o){var s=t.split("-")[1];o[t].reverse();var e,n=0;for(e in o[t]){var a=i(o[t][e]);a.css("margin-"+s,n),n+=a.outerHeight()+this.options.stackSpacing}}},_onCloseComplete:function(){this.destroy(),this.options._onPosition.bind(this).call()}})}!function(t,i){"function"==typeof define&&define.amd?define(["jquery"],function(o){return t.jBox=i(o)}):"object"==typeof module&&module.exports?module.exports=t.jBox=i(require("jquery")):t.jBox=i(t.jQuery)}(this,function(t){var i=jBoxWrapper(t);try{void 0!==jBoxConfirmWrapper&&jBoxConfirmWrapper&&jBoxConfirmWrapper(i,t)}catch(t){console.error(t)}try{void 0!==jBoxImageWrapper&&jBoxImageWrapper&&jBoxImageWrapper(i,t)}catch(t){console.error(t)}try{void 0!==jBoxNoticeWrapper&&jBoxNoticeWrapper&&jBoxNoticeWrapper(i,t)}catch(t){console.error(t)}return i});
},{"jquery":36}],36:[function(require,module,exports){
!function(e,t){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=e.document?t(e,!0):function(e){if(!e.document)throw new Error("jQuery requires a window with a document");return t(e)}:t(e)}("undefined"!=typeof window?window:this,function(e,t){"use strict";var n=[],r=Object.getPrototypeOf,i=n.slice,o=n.flat?function(e){return n.flat.call(e)}:function(e){return n.concat.apply([],e)},a=n.push,s=n.indexOf,u={},l=u.toString,c=u.hasOwnProperty,f=c.toString,p=f.call(Object),d={},h=function(e){return"function"==typeof e&&"number"!=typeof e.nodeType&&"function"!=typeof e.item},g=function(e){return null!=e&&e===e.window},v=e.document,y={type:!0,src:!0,nonce:!0,noModule:!0};function m(e,t,n){var r,i,o=(n=n||v).createElement("script");if(o.text=e,t)for(r in y)(i=t[r]||t.getAttribute&&t.getAttribute(r))&&o.setAttribute(r,i);n.head.appendChild(o).parentNode.removeChild(o)}function x(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?u[l.call(e)]||"object":typeof e}var b=function(e,t){return new b.fn.init(e,t)};function w(e){var t=!!e&&"length"in e&&e.length,n=x(e);return!h(e)&&!g(e)&&("array"===n||0===t||"number"==typeof t&&t>0&&t-1 in e)}b.fn=b.prototype={jquery:"3.6.0",constructor:b,length:0,toArray:function(){return i.call(this)},get:function(e){return null==e?i.call(this):e<0?this[e+this.length]:this[e]},pushStack:function(e){var t=b.merge(this.constructor(),e);return t.prevObject=this,t},each:function(e){return b.each(this,e)},map:function(e){return this.pushStack(b.map(this,function(t,n){return e.call(t,n,t)}))},slice:function(){return this.pushStack(i.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},even:function(){return this.pushStack(b.grep(this,function(e,t){return(t+1)%2}))},odd:function(){return this.pushStack(b.grep(this,function(e,t){return t%2}))},eq:function(e){var t=this.length,n=+e+(e<0?t:0);return this.pushStack(n>=0&&n<t?[this[n]]:[])},end:function(){return this.prevObject||this.constructor()},push:a,sort:n.sort,splice:n.splice},b.extend=b.fn.extend=function(){var e,t,n,r,i,o,a=arguments[0]||{},s=1,u=arguments.length,l=!1;for("boolean"==typeof a&&(l=a,a=arguments[s]||{},s++),"object"==typeof a||h(a)||(a={}),s===u&&(a=this,s--);s<u;s++)if(null!=(e=arguments[s]))for(t in e)r=e[t],"__proto__"!==t&&a!==r&&(l&&r&&(b.isPlainObject(r)||(i=Array.isArray(r)))?(n=a[t],o=i&&!Array.isArray(n)?[]:i||b.isPlainObject(n)?n:{},i=!1,a[t]=b.extend(l,o,r)):void 0!==r&&(a[t]=r));return a},b.extend({expando:"jQuery"+("3.6.0"+Math.random()).replace(/\D/g,""),isReady:!0,error:function(e){throw new Error(e)},noop:function(){},isPlainObject:function(e){var t,n;return!(!e||"[object Object]"!==l.call(e))&&(!(t=r(e))||"function"==typeof(n=c.call(t,"constructor")&&t.constructor)&&f.call(n)===p)},isEmptyObject:function(e){var t;for(t in e)return!1;return!0},globalEval:function(e,t,n){m(e,{nonce:t&&t.nonce},n)},each:function(e,t){var n,r=0;if(w(e))for(n=e.length;r<n&&!1!==t.call(e[r],r,e[r]);r++);else for(r in e)if(!1===t.call(e[r],r,e[r]))break;return e},makeArray:function(e,t){var n=t||[];return null!=e&&(w(Object(e))?b.merge(n,"string"==typeof e?[e]:e):a.call(n,e)),n},inArray:function(e,t,n){return null==t?-1:s.call(t,e,n)},merge:function(e,t){for(var n=+t.length,r=0,i=e.length;r<n;r++)e[i++]=t[r];return e.length=i,e},grep:function(e,t,n){for(var r=[],i=0,o=e.length,a=!n;i<o;i++)!t(e[i],i)!==a&&r.push(e[i]);return r},map:function(e,t,n){var r,i,a=0,s=[];if(w(e))for(r=e.length;a<r;a++)null!=(i=t(e[a],a,n))&&s.push(i);else for(a in e)null!=(i=t(e[a],a,n))&&s.push(i);return o(s)},guid:1,support:d}),"function"==typeof Symbol&&(b.fn[Symbol.iterator]=n[Symbol.iterator]),b.each("Boolean Number String Function Array Date RegExp Object Error Symbol".split(" "),function(e,t){u["[object "+t+"]"]=t.toLowerCase()});var T=function(e){var t,n,r,i,o,a,s,u,l,c,f,p,d,h,g,v,y,m,x,b="sizzle"+1*new Date,w=e.document,T=0,C=0,E=ue(),S=ue(),k=ue(),A=ue(),N=function(e,t){return e===t&&(f=!0),0},j={}.hasOwnProperty,D=[],q=D.pop,L=D.push,H=D.push,O=D.slice,P=function(e,t){for(var n=0,r=e.length;n<r;n++)if(e[n]===t)return n;return-1},R="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",M="[\\x20\\t\\r\\n\\f]",I="(?:\\\\[\\da-fA-F]{1,6}"+M+"?|\\\\[^\\r\\n\\f]|[\\w-]|[^\0-\\x7f])+",W="\\["+M+"*("+I+")(?:"+M+"*([*^$|!~]?=)"+M+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+I+"))|)"+M+"*\\]",F=":("+I+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+W+")*)|.*)\\)|)",B=new RegExp(M+"+","g"),$=new RegExp("^"+M+"+|((?:^|[^\\\\])(?:\\\\.)*)"+M+"+$","g"),_=new RegExp("^"+M+"*,"+M+"*"),z=new RegExp("^"+M+"*([>+~]|"+M+")"+M+"*"),U=new RegExp(M+"|>"),X=new RegExp(F),V=new RegExp("^"+I+"$"),G={ID:new RegExp("^#("+I+")"),CLASS:new RegExp("^\\.("+I+")"),TAG:new RegExp("^("+I+"|[*])"),ATTR:new RegExp("^"+W),PSEUDO:new RegExp("^"+F),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+M+"*(even|odd|(([+-]|)(\\d*)n|)"+M+"*(?:([+-]|)"+M+"*(\\d+)|))"+M+"*\\)|)","i"),bool:new RegExp("^(?:"+R+")$","i"),needsContext:new RegExp("^"+M+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+M+"*((?:-\\d)?\\d*)"+M+"*\\)|)(?=[^-]|$)","i")},Y=/HTML$/i,Q=/^(?:input|select|textarea|button)$/i,J=/^h\d$/i,K=/^[^{]+\{\s*\[native \w/,Z=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,ee=/[+~]/,te=new RegExp("\\\\[\\da-fA-F]{1,6}"+M+"?|\\\\([^\\r\\n\\f])","g"),ne=function(e,t){var n="0x"+e.slice(1)-65536;return t||(n<0?String.fromCharCode(n+65536):String.fromCharCode(n>>10|55296,1023&n|56320))},re=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,ie=function(e,t){return t?"\0"===e?"<22>":e.slice(0,-1)+"\\"+e.charCodeAt(e.length-1).toString(16)+" ":"\\"+e},oe=function(){p()},ae=be(function(e){return!0===e.disabled&&"fieldset"===e.nodeName.toLowerCase()},{dir:"parentNode",next:"legend"});try{H.apply(D=O.call(w.childNodes),w.childNodes),D[w.childNodes.length].nodeType}catch(e){H={apply:D.length?function(e,t){L.apply(e,O.call(t))}:function(e,t){for(var n=e.length,r=0;e[n++]=t[r++];);e.length=n-1}}}function se(e,t,r,i){var o,s,l,c,f,h,y,m=t&&t.ownerDocument,w=t?t.nodeType:9;if(r=r||[],"string"!=typeof e||!e||1!==w&&9!==w&&11!==w)return r;if(!i&&(p(t),t=t||d,g)){if(11!==w&&(f=Z.exec(e)))if(o=f[1]){if(9===w){if(!(l=t.getElementById(o)))return r;if(l.id===o)return r.push(l),r}else if(m&&(l=m.getElementById(o))&&x(t,l)&&l.id===o)return r.push(l),r}else{if(f[2])return H.apply(r,t.getElementsByTagName(e)),r;if((o=f[3])&&n.getElementsByClassName&&t.getElementsByClassName)return H.apply(r,t.getElementsByClassName(o)),r}if(n.qsa&&!A[e+" "]&&(!v||!v.test(e))&&(1!==w||"object"!==t.nodeName.toLowerCase())){if(y=e,m=t,1===w&&(U.test(e)||z.test(e))){for((m=ee.test(e)&&ye(t.parentNode)||t)===t&&n.scope||((c=t.getAttribute("id"))?c=c.replace(re,ie):t.setAttribute("id",c=b)),s=(h=a(e)).length;s--;)h[s]=(c?"#"+c:":scope")+" "+xe(h[s]);y=h.join(",")}try{return H.apply(r,m.querySelectorAll(y)),r}catch(t){A(e,!0)}finally{c===b&&t.removeAttribute("id")}}}return u(e.replace($,"$1"),t,r,i)}function ue(){var e=[];return function t(n,i){return e.push(n+" ")>r.cacheLength&&delete t[e.shift()],t[n+" "]=i}}function le(e){return e[b]=!0,e}function ce(e){var t=d.createElement("fieldset");try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function fe(e,t){for(var n=e.split("|"),i=n.length;i--;)r.attrHandle[n[i]]=t}function pe(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&e.sourceIndex-t.sourceIndex;if(r)return r;if(n)for(;n=n.nextSibling;)if(n===t)return-1;return e?1:-1}function de(e){return function(t){return"input"===t.nodeName.toLowerCase()&&t.type===e}}function he(e){return function(t){var n=t.nodeName.toLowerCase();return("input"===n||"button"===n)&&t.type===e}}function ge(e){return function(t){return"form"in t?t.parentNode&&!1===t.disabled?"label"in t?"label"in t.parentNode?t.parentNode.disabled===e:t.disabled===e:t.isDisabled===e||t.isDisabled!==!e&&ae(t)===e:t.disabled===e:"label"in t&&t.disabled===e}}function ve(e){return le(function(t){return t=+t,le(function(n,r){for(var i,o=e([],n.length,t),a=o.length;a--;)n[i=o[a]]&&(n[i]=!(r[i]=n[i]))})})}function ye(e){return e&&void 0!==e.getElementsByTagName&&e}for(t in n=se.support={},o=se.isXML=function(e){var t=e&&e.namespaceURI,n=e&&(e.ownerDocument||e).documentElement;return!Y.test(t||n&&n.nodeName||"HTML")},p=se.setDocument=function(e){var t,i,a=e?e.ownerDocument||e:w;return a!=d&&9===a.nodeType&&a.documentElement?(h=(d=a).documentElement,g=!o(d),w!=d&&(i=d.defaultView)&&i.top!==i&&(i.addEventListener?i.addEventListener("unload",oe,!1):i.attachEvent&&i.attachEvent("onunload",oe)),n.scope=ce(function(e){return h.appendChild(e).appendChild(d.createElement("div")),void 0!==e.querySelectorAll&&!e.querySelectorAll(":scope fieldset div").length}),n.attributes=ce(function(e){return e.className="i",!e.getAttribute("className")}),n.getElementsByTagName=ce(function(e){return e.appendChild(d.createComment("")),!e.getElementsByTagName("*").length}),n.getElementsByClassName=K.test(d.getElementsByClassName),n.getById=ce(function(e){return h.appendChild(e).id=b,!d.getElementsByName||!d.getElementsByName(b).length}),n.getById?(r.filter.ID=function(e){var t=e.replace(te,ne);return function(e){return e.getAttribute("id")===t}},r.find.ID=function(e,t){if(void 0!==t.getElementById&&g){var n=t.getElementById(e);return n?[n]:[]}}):(r.filter.ID=function(e){var t=e.replace(te,ne);return function(e){var n=void 0!==e.getAttributeNode&&e.getAttributeNode("id");return n&&n.value===t}},r.find.ID=function(e,t){if(void 0!==t.getElementById&&g){var n,r,i,o=t.getElementById(e);if(o){if((n=o.getAttributeNode("id"))&&n.value===e)return[o];for(i=t.getElementsByName(e),r=0;o=i[r++];)if((n=o.getAttributeNode("id"))&&n.value===e)return[o]}return[]}}),r.find.TAG=n.getElementsByTagName?function(e,t){return void 0!==t.getElementsByTagName?t.getElementsByTagName(e):n.qsa?t.querySelectorAll(e):void 0}:function(e,t){var n,r=[],i=0,o=t.getElementsByTagName(e);if("*"===e){for(;n=o[i++];)1===n.nodeType&&r.push(n);return r}return o},r.find.CLASS=n.getElementsByClassName&&function(e,t){if(void 0!==t.getElementsByClassName&&g)return t.getElementsByClassName(e)},y=[],v=[],(n.qsa=K.test(d.querySelectorAll))&&(ce(function(e){var t;h.appendChild(e).innerHTML="<a id='"+b+"'></a><select id='"+b+"-\r\\' msallowcapture=''><option selected=''></option></select>",e.querySelectorAll("[msallowcapture^='']").length&&v.push("[*^$]="+M+"*(?:''|\"\")"),e.querySelectorAll("[selected]").length||v.push("\\["+M+"*(?:value|"+R+")"),e.querySelectorAll("[id~="+b+"-]").length||v.push("~="),(t=d.createElement("input")).setAttribute("name",""),e.appendChild(t),e.querySelectorAll("[name='']").length||v.push("\\["+M+"*name"+M+"*="+M+"*(?:''|\"\")"),e.querySelectorAll(":checked").length||v.push(":checked"),e.querySelectorAll("a#"+b+"+*").length||v.push(".#.+[+~]"),e.querySelectorAll("\\\f"),v.push("[\\r\\n\\f]")}),ce(function(e){e.innerHTML="<a href='' disabled='disabled'></a><select disabled='disabled'><option/></select>";var t=d.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),e.querySelectorAll("[name=d]").length&&v.push("name"+M+"*[*^$|!~]?="),2!==e.querySelectorAll(":enabled").length&&v.push(":enabled",":disabled"),h.appendChild(e).disabled=!0,2!==e.querySelectorAll(":disabled").length&&v.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),v.push(",.*:")})),(n.matchesSelector=K.test(m=h.matches||h.webkitMatchesSelector||h.mozMatchesSelector||h.oMatchesSelector||h.msMatchesSelector))&&ce(function(e){n.disconnectedMatch=m.call(e,"*"),m.call(e,"[s!='']:x"),y.push("!=",F)}),v=v.length&&new RegExp(v.join("|")),y=y.length&&new RegExp(y.join("|")),t=K.test(h.compareDocumentPosition),x=t||K.test(h.contains)?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)for(;t=t.parentNode;)if(t===e)return!0;return!1},N=t?function(e,t){if(e===t)return f=!0,0;var r=!e.compareDocumentPosition-!t.compareDocumentPosition;return r||(1&(r=(e.ownerDocument||e)==(t.ownerDocument||t)?e.compareDocumentPosition(t):1)||!n.sortDetached&&t.compareDocumentPosition(e)===r?e==d||e.ownerDocument==w&&x(w,e)?-1:t==d||t.ownerDocument==w&&x(w,t)?1:c?P(c,e)-P(c,t):0:4&r?-1:1)}:function(e,t){if(e===t)return f=!0,0;var n,r=0,i=e.parentNode,o=t.parentNode,a=[e],s=[t];if(!i||!o)return e==d?-1:t==d?1:i?-1:o?1:c?P(c,e)-P(c,t):0;if(i===o)return pe(e,t);for(n=e;n=n.parentNode;)a.unshift(n);for(n=t;n=n.parentNode;)s.unshift(n);for(;a[r]===s[r];)r++;return r?pe(a[r],s[r]):a[r]==w?-1:s[r]==w?1:0},d):d},se.matches=function(e,t){return se(e,null,null,t)},se.matchesSelector=function(e,t){if(p(e),n.matchesSelector&&g&&!A[t+" "]&&(!y||!y.test(t))&&(!v||!v.test(t)))try{var r=m.call(e,t);if(r||n.disconnectedMatch||e.document&&11!==e.document.nodeType)return r}catch(e){A(t,!0)}return se(t,d,null,[e]).length>0},se.contains=function(e,t){return(e.ownerDocument||e)!=d&&p(e),x(e,t)},se.attr=function(e,t){(e.ownerDocument||e)!=d&&p(e);var i=r.attrHandle[t.toLowerCase()],o=i&&j.call(r.attrHandle,t.toLowerCase())?i(e,t,!g):void 0;return void 0!==o?o:n.attributes||!g?e.getAttribute(t):(o=e.getAttributeNode(t))&&o.specified?o.value:null},se.escape=function(e){return(e+"").replace(re,ie)},se.error=function(e){throw new Error("Syntax error, unrecognized expression: "+e)},se.uniqueSort=function(e){var t,r=[],i=0,o=0;if(f=!n.detectDuplicates,c=!n.sortStable&&e.slice(0),e.sort(N),f){for(;t=e[o++];)t===e[o]&&(i=r.push(o));for(;i--;)e.splice(r[i],1)}return c=null,e},i=se.getText=function(e){var t,n="",r=0,o=e.nodeType;if(o){if(1===o||9===o||11===o){if("string"==typeof e.textContent)return e.textContent;for(e=e.firstChild;e;e=e.nextSibling)n+=i(e)}else if(3===o||4===o)return e.nodeValue}else for(;t=e[r++];)n+=i(t);return n},(r=se.selectors={cacheLength:50,createPseudo:le,match:G,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(te,ne),e[3]=(e[3]||e[4]||e[5]||"").replace(te,ne),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||se.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&se.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return G.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&X.test(n)&&(t=a(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(te,ne).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=E[e+" "];return t||(t=new RegExp("(^|"+M+")"+e+"("+M+"|$)"))&&E(e,function(e){return t.test("string"==typeof e.className&&e.className||void 0!==e.getAttribute&&e.getAttribute("class")||"")})},ATTR:function(e,t,n){return function(r){var i=se.attr(r,e);return null==i?"!="===t:!t||(i+="","="===t?i===n:"!="===t?i!==n:"^="===t?n&&0===i.indexOf(n):"*="===t?n&&i.indexOf(n)>-1:"$="===t?n&&i.slice(-n.length)===n:"~="===t?(" "+i.replace(B," ")+" ").indexOf(n)>-1:"|="===t&&(i===n||i.slice(0,n.length+1)===n+"-"))}},CHILD:function(e,t,n,r,i){var o="nth"!==e.slice(0,3),a="last"!==e.slice(-4),s="of-type"===t;return 1===r&&0===i?function(e){return!!e.parentNode}:function(t,n,u){var l,c,f,p,d,h,g=o!==a?"nextSibling":"previousSibling",v=t.parentNode,y=s&&t.nodeName.toLowerCase(),m=!u&&!s,x=!1;if(v){if(o){for(;g;){for(p=t;p=p[g];)if(s?p.nodeName.toLowerCase()===y:1===p.nodeType)return!1;h=g="only"===e&&!h&&"nextSibling"}return!0}if(h=[a?v.firstChild:v.lastChild],a&&m){for(x=(d=(l=(c=(f=(p=v)[b]||(p[b]={}))[p.uniqueID]||(f[p.uniqueID]={}))[e]||[])[0]===T&&l[1])&&l[2],p=d&&v.childNodes[d];p=++d&&p&&p[g]||(x=d=0)||h.pop();)if(1===p.nodeType&&++x&&p===t){c[e]=[T,d,x];break}}else if(m&&(x=d=(l=(c=(f=(p=t)[b]||(p[b]={}))[p.uniqueID]||(f[p.uniqueID]={}))[e]||[])[0]===T&&l[1]),!1===x)for(;(p=++d&&p&&p[g]||(x=d=0)||h.pop())&&((s?p.nodeName.toLowerCase()!==y:1!==p.nodeType)||!++x||(m&&((c=(f=p[b]||(p[b]={}))[p.uniqueID]||(f[p.uniqueID]={}))[e]=[T,x]),p!==t)););return(x-=i)===r||x%r==0&&x/r>=0}}},PSEUDO:function(e,t){var n,i=r.pseudos[e]||r.setFilters[e.toLowerCase()]||se.error("unsupported pseudo: "+e);return i[b]?i(t):i.length>1?(n=[e,e,"",t],r.setFilters.hasOwnProperty(e.toLowerCase())?le(function(e,n){for(var r,o=i(e,t),a=o.length;a--;)e[r=P(e,o[a])]=!(n[r]=o[a])}):function(e){return i(e,0,n)}):i}},pseudos:{not:le(function(e){var t=[],n=[],r=s(e.replace($,"$1"));return r[b]?le(function(e,t,n,i){for(var o,a=r(e,null,i,[]),s=e.length;s--;)(o=a[s])&&(e[s]=!(t[s]=o))}):function(e,i,o){return t[0]=e,r(t,null,o,n),t[0]=null,!n.pop()}}),has:le(function(e){return function(t){return se(e,t).length>0}}),contains:le(function(e){return e=e.replace(te,ne),function(t){return(t.textContent||i(t)).indexOf(e)>-1}}),lang:le(function(e){return V.test(e||"")||se.error("unsupported lang: "+e),e=e.replace(te,ne).toLowerCase(),function(t){var n;do{if(n=g?t.lang:t.getAttribute("xml:lang")||t.getAttribute("lang"))return(n=n.toLowerCase())===e||0===n.indexOf(e+"-")}while((t=t.parentNode)&&1===t.nodeType);return!1}}),target:function(t){var n=e.location&&e.location.hash;return n&&n.slice(1)===t.id},root:function(e){return e===h},focus:function(e){return e===d.activeElement&&(!d.hasFocus||d.hasFocus())&&!!(e.type||e.href||~e.tabIndex)},enabled:ge(!1),disabled:ge(!0),checked:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&!!e.checked||"option"===t&&!!e.selected},selected:function(e){return e.parentNode&&e.parentNode.selectedIndex,!0===e.selected},empty:function(e){for(e=e.firstChild;e;e=e.nextSibling)if(e.nodeType<6)return!1;return!0},parent:function(e){return!r.pseudos.empty(e)},header:function(e){return J.test(e.nodeName)},input:function(e){return Q.test(e.nodeName)},button:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&"button"===e.type||"button"===t},text:function(e){var t;return"input"===e.nodeName.toLowerCase()&&"text"===e.type&&(null==(t=e.getAttribute("type"))||"text"===t.toLowerCase())},first:ve(function(){return[0]}),last:ve(function(e,t){return[t-1]}),eq:ve(function(e,t,n){return[n<0?n+t:n]}),even:ve(function(e,t){for(var n=0;n<t;n+=2)e.push(n);return e}),odd:ve(function(e,t){for(var n=1;n<t;n+=2)e.push(n);return e}),lt:ve(function(e,t,n){for(var r=n<0?n+t:n>t?t:n;--r>=0;)e.push(r);return e}),gt:ve(function(e,t,n){for(var r=n<0?n+t:n;++r<t;)e.push(r);return e})}}).pseudos.nth=r.pseudos.eq,{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})r.pseudos[t]=de(t);for(t in{submit:!0,reset:!0})r.pseudos[t]=he(t);function me(){}function xe(e){for(var t=0,n=e.length,r="";t<n;t++)r+=e[t].value;return r}function be(e,t,n){var r=t.dir,i=t.next,o=i||r,a=n&&"parentNode"===o,s=C++;return t.first?function(t,n,i){for(;t=t[r];)if(1===t.nodeType||a)return e(t,n,i);return!1}:function(t,n,u){var l,c,f,p=[T,s];if(u){for(;t=t[r];)if((1===t.nodeType||a)&&e(t,n,u))return!0}else for(;t=t[r];)if(1===t.nodeType||a)if(c=(f=t[b]||(t[b]={}))[t.uniqueID]||(f[t.uniqueID]={}),i&&i===t.nodeName.toLowerCase())t=t[r]||t;else{if((l=c[o])&&l[0]===T&&l[1]===s)return p[2]=l[2];if(c[o]=p,p[2]=e(t,n,u))return!0}return!1}}function we(e){return e.length>1?function(t,n,r){for(var i=e.length;i--;)if(!e[i](t,n,r))return!1;return!0}:e[0]}function Te(e,t,n,r,i){for(var o,a=[],s=0,u=e.length,l=null!=t;s<u;s++)(o=e[s])&&(n&&!n(o,r,i)||(a.push(o),l&&t.push(s)));return a}function Ce(e,t,n,r,i,o){return r&&!r[b]&&(r=Ce(r)),i&&!i[b]&&(i=Ce(i,o)),le(function(o,a,s,u){var l,c,f,p=[],d=[],h=a.length,g=o||function(e,t,n){for(var r=0,i=t.length;r<i;r++)se(e,t[r],n);return n}(t||"*",s.nodeType?[s]:s,[]),v=!e||!o&&t?g:Te(g,p,e,s,u),y=n?i||(o?e:h||r)?[]:a:v;if(n&&n(v,y,s,u),r)for(l=Te(y,d),r(l,[],s,u),c=l.length;c--;)(f=l[c])&&(y[d[c]]=!(v[d[c]]=f));if(o){if(i||e){if(i){for(l=[],c=y.length;c--;)(f=y[c])&&l.push(v[c]=f);i(null,y=[],l,u)}for(c=y.length;c--;)(f=y[c])&&(l=i?P(o,f):p[c])>-1&&(o[l]=!(a[l]=f))}}else y=Te(y===a?y.splice(h,y.length):y),i?i(null,a,y,u):H.apply(a,y)})}function Ee(e){for(var t,n,i,o=e.length,a=r.relative[e[0].type],s=a||r.relative[" "],u=a?1:0,c=be(function(e){return e===t},s,!0),f=be(function(e){return P(t,e)>-1},s,!0),p=[function(e,n,r){var i=!a&&(r||n!==l)||((t=n).nodeType?c(e,n,r):f(e,n,r));return t=null,i}];u<o;u++)if(n=r.relative[e[u].type])p=[be(we(p),n)];else{if((n=r.filter[e[u].type].apply(null,e[u].matches))[b]){for(i=++u;i<o&&!r.relative[e[i].type];i++);return Ce(u>1&&we(p),u>1&&xe(e.slice(0,u-1).concat({value:" "===e[u-2].type?"*":""})).replace($,"$1"),n,u<i&&Ee(e.slice(u,i)),i<o&&Ee(e=e.slice(i)),i<o&&xe(e))}p.push(n)}return we(p)}return me.prototype=r.filters=r.pseudos,r.setFilters=new me,a=se.tokenize=function(e,t){var n,i,o,a,s,u,l,c=S[e+" "];if(c)return t?0:c.slice(0);for(s=e,u=[],l=r.preFilter;s;){for(a in n&&!(i=_.exec(s))||(i&&(s=s.slice(i[0].length)||s),u.push(o=[])),n=!1,(i=z.exec(s))&&(n=i.shift(),o.push({value:n,type:i[0].replace($," ")}),s=s.slice(n.length)),r.filter)!(i=G[a].exec(s))||l[a]&&!(i=l[a](i))||(n=i.shift(),o.push({value:n,type:a,matches:i}),s=s.slice(n.length));if(!n)break}return t?s.length:s?se.error(e):S(e,u).slice(0)},s=se.compile=function(e,t){var n,i=[],o=[],s=k[e+" "];if(!s){for(t||(t=a(e)),n=t.length;n--;)(s=Ee(t[n]))[b]?i.push(s):o.push(s);(s=k(e,function(e,t){var n=t.length>0,i=e.length>0,o=function(o,a,s,u,c){var f,h,v,y=0,m="0",x=o&&[],b=[],w=l,C=o||i&&r.find.TAG("*",c),E=T+=null==w?1:Math.random()||.1,S=C.length;for(c&&(l=a==d||a||c);m!==S&&null!=(f=C[m]);m++){if(i&&f){for(h=0,a||f.ownerDocument==d||(p(f),s=!g);v=e[h++];)if(v(f,a||d,s)){u.push(f);break}c&&(T=E)}n&&((f=!v&&f)&&y--,o&&x.push(f))}if(y+=m,n&&m!==y){for(h=0;v=t[h++];)v(x,b,a,s);if(o){if(y>0)for(;m--;)x[m]||b[m]||(b[m]=q.call(u));b=Te(b)}H.apply(u,b),c&&!o&&b.length>0&&y+t.length>1&&se.uniqueSort(u)}return c&&(T=E,l=w),x};return n?le(o):o}(o,i))).selector=e}return s},u=se.select=function(e,t,n,i){var o,u,l,c,f,p="function"==typeof e&&e,d=!i&&a(e=p.selector||e);if(n=n||[],1===d.length){if((u=d[0]=d[0].slice(0)).length>2&&"ID"===(l=u[0]).type&&9===t.nodeType&&g&&r.relative[u[1].type]){if(!(t=(r.find.ID(l.matches[0].replace(te,ne),t)||[])[0]))return n;p&&(t=t.parentNode),e=e.slice(u.shift().value.length)}for(o=G.needsContext.test(e)?0:u.length;o--&&(l=u[o],!r.relative[c=l.type]);)if((f=r.find[c])&&(i=f(l.matches[0].replace(te,ne),ee.test(u[0].type)&&ye(t.parentNode)||t))){if(u.splice(o,1),!(e=i.length&&xe(u)))return H.apply(n,i),n;break}}return(p||s(e,d))(i,t,!g,n,!t||ee.test(e)&&ye(t.parentNode)||t),n},n.sortStable=b.split("").sort(N).join("")===b,n.detectDuplicates=!!f,p(),n.sortDetached=ce(function(e){return 1&e.compareDocumentPosition(d.createElement("fieldset"))}),ce(function(e){return e.innerHTML="<a href='#'></a>","#"===e.firstChild.getAttribute("href")})||fe("type|href|height|width",function(e,t,n){if(!n)return e.getAttribute(t,"type"===t.toLowerCase()?1:2)}),n.attributes&&ce(function(e){return e.innerHTML="<input/>",e.firstChild.setAttribute("value",""),""===e.firstChild.getAttribute("value")})||fe("value",function(e,t,n){if(!n&&"input"===e.nodeName.toLowerCase())return e.defaultValue}),ce(function(e){return null==e.getAttribute("disabled")})||fe(R,function(e,t,n){var r;if(!n)return!0===e[t]?t.toLowerCase():(r=e.getAttributeNode(t))&&r.specified?r.value:null}),se}(e);b.find=T,b.expr=T.selectors,b.expr[":"]=b.expr.pseudos,b.uniqueSort=b.unique=T.uniqueSort,b.text=T.getText,b.isXMLDoc=T.isXML,b.contains=T.contains,b.escapeSelector=T.escape;var C=function(e,t,n){for(var r=[],i=void 0!==n;(e=e[t])&&9!==e.nodeType;)if(1===e.nodeType){if(i&&b(e).is(n))break;r.push(e)}return r},E=function(e,t){for(var n=[];e;e=e.nextSibling)1===e.nodeType&&e!==t&&n.push(e);return n},S=b.expr.match.needsContext;function k(e,t){return e.nodeName&&e.nodeName.toLowerCase()===t.toLowerCase()}var A=/^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;function N(e,t,n){return h(t)?b.grep(e,function(e,r){return!!t.call(e,r,e)!==n}):t.nodeType?b.grep(e,function(e){return e===t!==n}):"string"!=typeof t?b.grep(e,function(e){return s.call(t,e)>-1!==n}):b.filter(t,e,n)}b.filter=function(e,t,n){var r=t[0];return n&&(e=":not("+e+")"),1===t.length&&1===r.nodeType?b.find.matchesSelector(r,e)?[r]:[]:b.find.matches(e,b.grep(t,function(e){return 1===e.nodeType}))},b.fn.extend({find:function(e){var t,n,r=this.length,i=this;if("string"!=typeof e)return this.pushStack(b(e).filter(function(){for(t=0;t<r;t++)if(b.contains(i[t],this))return!0}));for(n=this.pushStack([]),t=0;t<r;t++)b.find(e,i[t],n);return r>1?b.uniqueSort(n):n},filter:function(e){return this.pushStack(N(this,e||[],!1))},not:function(e){return this.pushStack(N(this,e||[],!0))},is:function(e){return!!N(this,"string"==typeof e&&S.test(e)?b(e):e||[],!1).length}});var j,D=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/;(b.fn.init=function(e,t,n){var r,i;if(!e)return this;if(n=n||j,"string"==typeof e){if(!(r="<"===e[0]&&">"===e[e.length-1]&&e.length>=3?[null,e,null]:D.exec(e))||!r[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(r[1]){if(t=t instanceof b?t[0]:t,b.merge(this,b.parseHTML(r[1],t&&t.nodeType?t.ownerDocument||t:v,!0)),A.test(r[1])&&b.isPlainObject(t))for(r in t)h(this[r])?this[r](t[r]):this.attr(r,t[r]);return this}return(i=v.getElementById(r[2]))&&(this[0]=i,this.length=1),this}return e.nodeType?(this[0]=e,this.length=1,this):h(e)?void 0!==n.ready?n.ready(e):e(b):b.makeArray(e,this)}).prototype=b.fn,j=b(v);var q=/^(?:parents|prev(?:Until|All))/,L={children:!0,contents:!0,next:!0,prev:!0};function H(e,t){for(;(e=e[t])&&1!==e.nodeType;);return e}b.fn.extend({has:function(e){var t=b(e,this),n=t.length;return this.filter(function(){for(var e=0;e<n;e++)if(b.contains(this,t[e]))return!0})},closest:function(e,t){var n,r=0,i=this.length,o=[],a="string"!=typeof e&&b(e);if(!S.test(e))for(;r<i;r++)for(n=this[r];n&&n!==t;n=n.parentNode)if(n.nodeType<11&&(a?a.index(n)>-1:1===n.nodeType&&b.find.matchesSelector(n,e))){o.push(n);break}return this.pushStack(o.length>1?b.uniqueSort(o):o)},index:function(e){return e?"string"==typeof e?s.call(b(e),this[0]):s.call(this,e.jquery?e[0]:e):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(e,t){return this.pushStack(b.uniqueSort(b.merge(this.get(),b(e,t))))},addBack:function(e){return this.add(null==e?this.prevObject:this.prevObject.filter(e))}}),b.each({parent:function(e){var t=e.parentNode;return t&&11!==t.nodeType?t:null},parents:function(e){return C(e,"parentNode")},parentsUntil:function(e,t,n){return C(e,"parentNode",n)},next:function(e){return H(e,"nextSibling")},prev:function(e){return H(e,"previousSibling")},nextAll:function(e){return C(e,"nextSibling")},prevAll:function(e){return C(e,"previousSibling")},nextUntil:function(e,t,n){return C(e,"nextSibling",n)},prevUntil:function(e,t,n){return C(e,"previousSibling",n)},siblings:function(e){return E((e.parentNode||{}).firstChild,e)},children:function(e){return E(e.firstChild)},contents:function(e){return null!=e.contentDocument&&r(e.contentDocument)?e.contentDocument:(k(e,"template")&&(e=e.content||e),b.merge([],e.childNodes))}},function(e,t){b.fn[e]=function(n,r){var i=b.map(this,t,n);return"Until"!==e.slice(-5)&&(r=n),r&&"string"==typeof r&&(i=b.filter(r,i)),this.length>1&&(L[e]||b.uniqueSort(i),q.test(e)&&i.reverse()),this.pushStack(i)}});var O=/[^\x20\t\r\n\f]+/g;function P(e){return e}function R(e){throw e}function M(e,t,n,r){var i;try{e&&h(i=e.promise)?i.call(e).done(t).fail(n):e&&h(i=e.then)?i.call(e,t,n):t.apply(void 0,[e].slice(r))}catch(e){n.apply(void 0,[e])}}b.Callbacks=function(e){e="string"==typeof e?function(e){var t={};return b.each(e.match(O)||[],function(e,n){t[n]=!0}),t}(e):b.extend({},e);var t,n,r,i,o=[],a=[],s=-1,u=function(){for(i=i||e.once,r=t=!0;a.length;s=-1)for(n=a.shift();++s<o.length;)!1===o[s].apply(n[0],n[1])&&e.stopOnFalse&&(s=o.length,n=!1);e.memory||(n=!1),t=!1,i&&(o=n?[]:"")},l={add:function(){return o&&(n&&!t&&(s=o.length-1,a.push(n)),function t(n){b.each(n,function(n,r){h(r)?e.unique&&l.has(r)||o.push(r):r&&r.length&&"string"!==x(r)&&t(r)})}(arguments),n&&!t&&u()),this},remove:function(){return b.each(arguments,function(e,t){for(var n;(n=b.inArray(t,o,n))>-1;)o.splice(n,1),n<=s&&s--}),this},has:function(e){return e?b.inArray(e,o)>-1:o.length>0},empty:function(){return o&&(o=[]),this},disable:function(){return i=a=[],o=n="",this},disabled:function(){return!o},lock:function(){return i=a=[],n||t||(o=n=""),this},locked:function(){return!!i},fireWith:function(e,n){return i||(n=[e,(n=n||[]).slice?n.slice():n],a.push(n),t||u()),this},fire:function(){return l.fireWith(this,arguments),this},fired:function(){return!!r}};return l},b.extend({Deferred:function(t){var n=[["notify","progress",b.Callbacks("memory"),b.Callbacks("memory"),2],["resolve","done",b.Callbacks("once memory"),b.Callbacks("once memory"),0,"resolved"],["reject","fail",b.Callbacks("once memory"),b.Callbacks("once memory"),1,"rejected"]],r="pending",i={state:function(){return r},always:function(){return o.done(arguments).fail(arguments),this},catch:function(e){return i.then(null,e)},pipe:function(){var e=arguments;return b.Deferred(function(t){b.each(n,function(n,r){var i=h(e[r[4]])&&e[r[4]];o[r[1]](function(){var e=i&&i.apply(this,arguments);e&&h(e.promise)?e.promise().progress(t.notify).done(t.resolve).fail(t.reject):t[r[0]+"With"](this,i?[e]:arguments)})}),e=null}).promise()},then:function(t,r,i){var o=0;function a(t,n,r,i){return function(){var s=this,u=arguments,l=function(){var e,l;if(!(t<o)){if((e=r.apply(s,u))===n.promise())throw new TypeError("Thenable self-resolution");l=e&&("object"==typeof e||"function"==typeof e)&&e.then,h(l)?i?l.call(e,a(o,n,P,i),a(o,n,R,i)):(o++,l.call(e,a(o,n,P,i),a(o,n,R,i),a(o,n,P,n.notifyWith))):(r!==P&&(s=void 0,u=[e]),(i||n.resolveWith)(s,u))}},c=i?l:function(){try{l()}catch(e){b.Deferred.exceptionHook&&b.Deferred.exceptionHook(e,c.stackTrace),t+1>=o&&(r!==R&&(s=void 0,u=[e]),n.rejectWith(s,u))}};t?c():(b.Deferred.getStackHook&&(c.stackTrace=b.Deferred.getStackHook()),e.setTimeout(c))}}return b.Deferred(function(e){n[0][3].add(a(0,e,h(i)?i:P,e.notifyWith)),n[1][3].add(a(0,e,h(t)?t:P)),n[2][3].add(a(0,e,h(r)?r:R))}).promise()},promise:function(e){return null!=e?b.extend(e,i):i}},o={};return b.each(n,function(e,t){var a=t[2],s=t[5];i[t[1]]=a.add,s&&a.add(function(){r=s},n[3-e][2].disable,n[3-e][3].disable,n[0][2].lock,n[0][3].lock),a.add(t[3].fire),o[t[0]]=function(){return o[t[0]+"With"](this===o?void 0:this,arguments),this},o[t[0]+"With"]=a.fireWith}),i.promise(o),t&&t.call(o,o),o},when:function(e){var t=arguments.length,n=t,r=Array(n),o=i.call(arguments),a=b.Deferred(),s=function(e){return function(n){r[e]=this,o[e]=arguments.length>1?i.call(arguments):n,--t||a.resolveWith(r,o)}};if(t<=1&&(M(e,a.done(s(n)).resolve,a.reject,!t),"pending"===a.state()||h(o[n]&&o[n].then)))return a.then();for(;n--;)M(o[n],s(n),a.reject);return a.promise()}});var I=/^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/;b.Deferred.exceptionHook=function(t,n){e.console&&e.console.warn&&t&&I.test(t.name)&&e.console.warn("jQuery.Deferred exception: "+t.message,t.stack,n)},b.readyException=function(t){e.setTimeout(function(){throw t})};var W=b.Deferred();function F(){v.removeEventListener("DOMContentLoaded",F),e.removeEventListener("load",F),b.ready()}b.fn.ready=function(e){return W.then(e).catch(function(e){b.readyException(e)}),this},b.extend({isReady:!1,readyWait:1,ready:function(e){(!0===e?--b.readyWait:b.isReady)||(b.isReady=!0,!0!==e&&--b.readyWait>0||W.resolveWith(v,[b]))}}),b.ready.then=W.then,"complete"===v.readyState||"loading"!==v.readyState&&!v.documentElement.doScroll?e.setTimeout(b.ready):(v.addEventListener("DOMContentLoaded",F),e.addEventListener("load",F));var B=function(e,t,n,r,i,o,a){var s=0,u=e.length,l=null==n;if("object"===x(n))for(s in i=!0,n)B(e,t,s,n[s],!0,o,a);else if(void 0!==r&&(i=!0,h(r)||(a=!0),l&&(a?(t.call(e,r),t=null):(l=t,t=function(e,t,n){return l.call(b(e),n)})),t))for(;s<u;s++)t(e[s],n,a?r:r.call(e[s],s,t(e[s],n)));return i?e:l?t.call(e):u?t(e[0],n):o},$=/^-ms-/,_=/-([a-z])/g;function z(e,t){return t.toUpperCase()}function U(e){return e.replace($,"ms-").replace(_,z)}var X=function(e){return 1===e.nodeType||9===e.nodeType||!+e.nodeType};function V(){this.expando=b.expando+V.uid++}V.uid=1,V.prototype={cache:function(e){var t=e[this.expando];return t||(t={},X(e)&&(e.nodeType?e[this.expando]=t:Object.defineProperty(e,this.expando,{value:t,configurable:!0}))),t},set:function(e,t,n){var r,i=this.cache(e);if("string"==typeof t)i[U(t)]=n;else for(r in t)i[U(r)]=t[r];return i},get:function(e,t){return void 0===t?this.cache(e):e[this.expando]&&e[this.expando][U(t)]},access:function(e,t,n){return void 0===t||t&&"string"==typeof t&&void 0===n?this.get(e,t):(this.set(e,t,n),void 0!==n?n:t)},remove:function(e,t){var n,r=e[this.expando];if(void 0!==r){if(void 0!==t){n=(t=Array.isArray(t)?t.map(U):(t=U(t))in r?[t]:t.match(O)||[]).length;for(;n--;)delete r[t[n]]}(void 0===t||b.isEmptyObject(r))&&(e.nodeType?e[this.expando]=void 0:delete e[this.expando])}},hasData:function(e){var t=e[this.expando];return void 0!==t&&!b.isEmptyObject(t)}};var G=new V,Y=new V,Q=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,J=/[A-Z]/g;function K(e,t,n){var r;if(void 0===n&&1===e.nodeType)if(r="data-"+t.replace(J,"-$&").toLowerCase(),"string"==typeof(n=e.getAttribute(r))){try{n=function(e){return"true"===e||"false"!==e&&("null"===e?null:e===+e+""?+e:Q.test(e)?JSON.parse(e):e)}(n)}catch(e){}Y.set(e,t,n)}else n=void 0;return n}b.extend({hasData:function(e){return Y.hasData(e)||G.hasData(e)},data:function(e,t,n){return Y.access(e,t,n)},removeData:function(e,t){Y.remove(e,t)},_data:function(e,t,n){return G.access(e,t,n)},_removeData:function(e,t){G.remove(e,t)}}),b.fn.extend({data:function(e,t){var n,r,i,o=this[0],a=o&&o.attributes;if(void 0===e){if(this.length&&(i=Y.get(o),1===o.nodeType&&!G.get(o,"hasDataAttrs"))){for(n=a.length;n--;)a[n]&&0===(r=a[n].name).indexOf("data-")&&(r=U(r.slice(5)),K(o,r,i[r]));G.set(o,"hasDataAttrs",!0)}return i}return"object"==typeof e?this.each(function(){Y.set(this,e)}):B(this,function(t){var n;if(o&&void 0===t)return void 0!==(n=Y.get(o,e))?n:void 0!==(n=K(o,e))?n:void 0;this.each(function(){Y.set(this,e,t)})},null,t,arguments.length>1,null,!0)},removeData:function(e){return this.each(function(){Y.remove(this,e)})}}),b.extend({queue:function(e,t,n){var r;if(e)return t=(t||"fx")+"queue",r=G.get(e,t),n&&(!r||Array.isArray(n)?r=G.access(e,t,b.makeArray(n)):r.push(n)),r||[]},dequeue:function(e,t){t=t||"fx";var n=b.queue(e,t),r=n.length,i=n.shift(),o=b._queueHooks(e,t);"inprogress"===i&&(i=n.shift(),r--),i&&("fx"===t&&n.unshift("inprogress"),delete o.stop,i.call(e,function(){b.dequeue(e,t)},o)),!r&&o&&o.empty.fire()},_queueHooks:function(e,t){var n=t+"queueHooks";return G.get(e,n)||G.access(e,n,{empty:b.Callbacks("once memory").add(function(){G.remove(e,[t+"queue",n])})})}}),b.fn.extend({queue:function(e,t){var n=2;return"string"!=typeof e&&(t=e,e="fx",n--),arguments.length<n?b.queue(this[0],e):void 0===t?this:this.each(function(){var n=b.queue(this,e,t);b._queueHooks(this,e),"fx"===e&&"inprogress"!==n[0]&&b.dequeue(this,e)})},dequeue:function(e){return this.each(function(){b.dequeue(this,e)})},clearQueue:function(e){return this.queue(e||"fx",[])},promise:function(e,t){var n,r=1,i=b.Deferred(),o=this,a=this.length,s=function(){--r||i.resolveWith(o,[o])};for("string"!=typeof e&&(t=e,e=void 0),e=e||"fx";a--;)(n=G.get(o[a],e+"queueHooks"))&&n.empty&&(r++,n.empty.add(s));return s(),i.promise(t)}});var Z=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,ee=new RegExp("^(?:([+-])=|)("+Z+")([a-z%]*)$","i"),te=["Top","Right","Bottom","Left"],ne=v.documentElement,re=function(e){return b.contains(e.ownerDocument,e)},ie={composed:!0};ne.getRootNode&&(re=function(e){return b.contains(e.ownerDocument,e)||e.getRootNode(ie)===e.ownerDocument});var oe=function(e,t){return"none"===(e=t||e).style.display||""===e.style.display&&re(e)&&"none"===b.css(e,"display")};function ae(e,t,n,r){var i,o,a=20,s=r?function(){return r.cur()}:function(){return b.css(e,t,"")},u=s(),l=n&&n[3]||(b.cssNumber[t]?"":"px"),c=e.nodeType&&(b.cssNumber[t]||"px"!==l&&+u)&&ee.exec(b.css(e,t));if(c&&c[3]!==l){for(u/=2,l=l||c[3],c=+u||1;a--;)b.style(e,t,c+l),(1-o)*(1-(o=s()/u||.5))<=0&&(a=0),c/=o;c*=2,b.style(e,t,c+l),n=n||[]}return n&&(c=+c||+u||0,i=n[1]?c+(n[1]+1)*n[2]:+n[2],r&&(r.unit=l,r.start=c,r.end=i)),i}var se={};function ue(e){var t,n=e.ownerDocument,r=e.nodeName,i=se[r];return i||(t=n.body.appendChild(n.createElement(r)),i=b.css(t,"display"),t.parentNode.removeChild(t),"none"===i&&(i="block"),se[r]=i,i)}function le(e,t){for(var n,r,i=[],o=0,a=e.length;o<a;o++)(r=e[o]).style&&(n=r.style.display,t?("none"===n&&(i[o]=G.get(r,"display")||null,i[o]||(r.style.display="")),""===r.style.display&&oe(r)&&(i[o]=ue(r))):"none"!==n&&(i[o]="none",G.set(r,"display",n)));for(o=0;o<a;o++)null!=i[o]&&(e[o].style.display=i[o]);return e}b.fn.extend({show:function(){return le(this,!0)},hide:function(){return le(this)},toggle:function(e){return"boolean"==typeof e?e?this.show():this.hide():this.each(function(){oe(this)?b(this).show():b(this).hide()})}});var ce,fe,pe=/^(?:checkbox|radio)$/i,de=/<([a-z][^\/\0>\x20\t\r\n\f]*)/i,he=/^$|^module$|\/(?:java|ecma)script/i;ce=v.createDocumentFragment().appendChild(v.createElement("div")),(fe=v.createElement("input")).setAttribute("type","radio"),fe.setAttribute("checked","checked"),fe.setAttribute("name","t"),ce.appendChild(fe),d.checkClone=ce.cloneNode(!0).cloneNode(!0).lastChild.checked,ce.innerHTML="<textarea>x</textarea>",d.noCloneChecked=!!ce.cloneNode(!0).lastChild.defaultValue,ce.innerHTML="<option></option>",d.option=!!ce.lastChild;var ge={thead:[1,"<table>","</table>"],col:[2,"<table><colgroup>","</colgroup></table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],_default:[0,"",""]};function ve(e,t){var n;return n=void 0!==e.getElementsByTagName?e.getElementsByTagName(t||"*"):void 0!==e.querySelectorAll?e.querySelectorAll(t||"*"):[],void 0===t||t&&k(e,t)?b.merge([e],n):n}function ye(e,t){for(var n=0,r=e.length;n<r;n++)G.set(e[n],"globalEval",!t||G.get(t[n],"globalEval"))}ge.tbody=ge.tfoot=ge.colgroup=ge.caption=ge.thead,ge.th=ge.td,d.option||(ge.optgroup=ge.option=[1,"<select multiple='multiple'>","</select>"]);var me=/<|&#?\w+;/;function xe(e,t,n,r,i){for(var o,a,s,u,l,c,f=t.createDocumentFragment(),p=[],d=0,h=e.length;d<h;d++)if((o=e[d])||0===o)if("object"===x(o))b.merge(p,o.nodeType?[o]:o);else if(me.test(o)){for(a=a||f.appendChild(t.createElement("div")),s=(de.exec(o)||["",""])[1].toLowerCase(),u=ge[s]||ge._default,a.innerHTML=u[1]+b.htmlPrefilter(o)+u[2],c=u[0];c--;)a=a.lastChild;b.merge(p,a.childNodes),(a=f.firstChild).textContent=""}else p.push(t.createTextNode(o));for(f.textContent="",d=0;o=p[d++];)if(r&&b.inArray(o,r)>-1)i&&i.push(o);else if(l=re(o),a=ve(f.appendChild(o),"script"),l&&ye(a),n)for(c=0;o=a[c++];)he.test(o.type||"")&&n.push(o);return f}var be=/^([^.]*)(?:\.(.+)|)/;function we(){return!0}function Te(){return!1}function Ce(e,t){return e===function(){try{return v.activeElement}catch(e){}}()==("focus"===t)}function Ee(e,t,n,r,i,o){var a,s;if("object"==typeof t){for(s in"string"!=typeof n&&(r=r||n,n=void 0),t)Ee(e,s,n,r,t[s],o);return e}if(null==r&&null==i?(i=n,r=n=void 0):null==i&&("string"==typeof n?(i=r,r=void 0):(i=r,r=n,n=void 0)),!1===i)i=Te;else if(!i)return e;return 1===o&&(a=i,(i=function(e){return b().off(e),a.apply(this,arguments)}).guid=a.guid||(a.guid=b.guid++)),e.each(function(){b.event.add(this,t,i,r,n)})}function Se(e,t,n){n?(G.set(e,t,!1),b.event.add(e,t,{namespace:!1,handler:function(e){var r,o,a=G.get(this,t);if(1&e.isTrigger&&this[t]){if(a.length)(b.event.special[t]||{}).delegateType&&e.stopPropagation();else if(a=i.call(arguments),G.set(this,t,a),r=n(this,t),this[t](),a!==(o=G.get(this,t))||r?G.set(this,t,!1):o={},a!==o)return e.stopImmediatePropagation(),e.preventDefault(),o&&o.value}else a.length&&(G.set(this,t,{value:b.event.trigger(b.extend(a[0],b.Event.prototype),a.slice(1),this)}),e.stopImmediatePropagation())}})):void 0===G.get(e,t)&&b.event.add(e,t,we)}b.event={global:{},add:function(e,t,n,r,i){var o,a,s,u,l,c,f,p,d,h,g,v=G.get(e);if(X(e))for(n.handler&&(n=(o=n).handler,i=o.selector),i&&b.find.matchesSelector(ne,i),n.guid||(n.guid=b.guid++),(u=v.events)||(u=v.events=Object.create(null)),(a=v.handle)||(a=v.handle=function(t){return void 0!==b&&b.event.triggered!==t.type?b.event.dispatch.apply(e,arguments):void 0}),l=(t=(t||"").match(O)||[""]).length;l--;)d=g=(s=be.exec(t[l])||[])[1],h=(s[2]||"").split(".").sort(),d&&(f=b.event.special[d]||{},d=(i?f.delegateType:f.bindType)||d,f=b.event.special[d]||{},c=b.extend({type:d,origType:g,data:r,handler:n,guid:n.guid,selector:i,needsContext:i&&b.expr.match.needsContext.test(i),namespace:h.join(".")},o),(p=u[d])||((p=u[d]=[]).delegateCount=0,f.setup&&!1!==f.setup.call(e,r,h,a)||e.addEventListener&&e.addEventListener(d,a)),f.add&&(f.add.call(e,c),c.handler.guid||(c.handler.guid=n.guid)),i?p.splice(p.delegateCount++,0,c):p.push(c),b.event.global[d]=!0)},remove:function(e,t,n,r,i){var o,a,s,u,l,c,f,p,d,h,g,v=G.hasData(e)&&G.get(e);if(v&&(u=v.events)){for(l=(t=(t||"").match(O)||[""]).length;l--;)if(d=g=(s=be.exec(t[l])||[])[1],h=(s[2]||"").split(".").sort(),d){for(f=b.event.special[d]||{},p=u[d=(r?f.delegateType:f.bindType)||d]||[],s=s[2]&&new RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"),a=o=p.length;o--;)c=p[o],!i&&g!==c.origType||n&&n.guid!==c.guid||s&&!s.test(c.namespace)||r&&r!==c.selector&&("**"!==r||!c.selector)||(p.splice(o,1),c.selector&&p.delegateCount--,f.remove&&f.remove.call(e,c));a&&!p.length&&(f.teardown&&!1!==f.teardown.call(e,h,v.handle)||b.removeEvent(e,d,v.handle),delete u[d])}else for(d in u)b.event.remove(e,d+t[l],n,r,!0);b.isEmptyObject(u)&&G.remove(e,"handle events")}},dispatch:function(e){var t,n,r,i,o,a,s=new Array(arguments.length),u=b.event.fix(e),l=(G.get(this,"events")||Object.create(null))[u.type]||[],c=b.event.special[u.type]||{};for(s[0]=u,t=1;t<arguments.length;t++)s[t]=arguments[t];if(u.delegateTarget=this,!c.preDispatch||!1!==c.preDispatch.call(this,u)){for(a=b.event.handlers.call(this,u,l),t=0;(i=a[t++])&&!u.isPropagationStopped();)for(u.currentTarget=i.elem,n=0;(o=i.handlers[n++])&&!u.isImmediatePropagationStopped();)u.rnamespace&&!1!==o.namespace&&!u.rnamespace.test(o.namespace)||(u.handleObj=o,u.data=o.data,void 0!==(r=((b.event.special[o.origType]||{}).handle||o.handler).apply(i.elem,s))&&!1===(u.result=r)&&(u.preventDefault(),u.stopPropagation()));return c.postDispatch&&c.postDispatch.call(this,u),u.result}},handlers:function(e,t){var n,r,i,o,a,s=[],u=t.delegateCount,l=e.target;if(u&&l.nodeType&&!("click"===e.type&&e.button>=1))for(;l!==this;l=l.parentNode||this)if(1===l.nodeType&&("click"!==e.type||!0!==l.disabled)){for(o=[],a={},n=0;n<u;n++)void 0===a[i=(r=t[n]).selector+" "]&&(a[i]=r.needsContext?b(i,this).index(l)>-1:b.find(i,this,null,[l]).length),a[i]&&o.push(r);o.length&&s.push({elem:l,handlers:o})}return l=this,u<t.length&&s.push({elem:l,handlers:t.slice(u)}),s},addProp:function(e,t){Object.defineProperty(b.Event.prototype,e,{enumerable:!0,configurable:!0,get:h(t)?function(){if(this.originalEvent)return t(this.originalEvent)}:function(){if(this.originalEvent)return this.originalEvent[e]},set:function(t){Object.defineProperty(this,e,{enumerable:!0,configurable:!0,writable:!0,value:t})}})},fix:function(e){return e[b.expando]?e:new b.Event(e)},special:{load:{noBubble:!0},click:{setup:function(e){var t=this||e;return pe.test(t.type)&&t.click&&k(t,"input")&&Se(t,"click",we),!1},trigger:function(e){var t=this||e;return pe.test(t.type)&&t.click&&k(t,"input")&&Se(t,"click"),!0},_default:function(e){var t=e.target;return pe.test(t.type)&&t.click&&k(t,"input")&&G.get(t,"click")||k(t,"a")}},beforeunload:{postDispatch:function(e){void 0!==e.result&&e.originalEvent&&(e.originalEvent.returnValue=e.result)}}}},b.removeEvent=function(e,t,n){e.removeEventListener&&e.removeEventListener(t,n)},b.Event=function(e,t){if(!(this instanceof b.Event))return new b.Event(e,t);e&&e.type?(this.originalEvent=e,this.type=e.type,this.isDefaultPrevented=e.defaultPrevented||void 0===e.defaultPrevented&&!1===e.returnValue?we:Te,this.target=e.target&&3===e.target.nodeType?e.target.parentNode:e.target,this.currentTarget=e.currentTarget,this.relatedTarget=e.relatedTarget):this.type=e,t&&b.extend(this,t),this.timeStamp=e&&e.timeStamp||Date.now(),this[b.expando]=!0},b.Event.prototype={constructor:b.Event,isDefaultPrevented:Te,isPropagationStopped:Te,isImmediatePropagationStopped:Te,isSimulated:!1,preventDefault:function(){var e=this.originalEvent;this.isDefaultPrevented=we,e&&!this.isSimulated&&e.preventDefault()},stopPropagation:function(){var e=this.originalEvent;this.isPropagationStopped=we,e&&!this.isSimulated&&e.stopPropagation()},stopImmediatePropagation:function(){var e=this.originalEvent;this.isImmediatePropagationStopped=we,e&&!this.isSimulated&&e.stopImmediatePropagation(),this.stopPropagation()}},b.each({altKey:!0,bubbles:!0,cancelable:!0,changedTouches:!0,ctrlKey:!0,detail:!0,eventPhase:!0,metaKey:!0,pageX:!0,pageY:!0,shiftKey:!0,view:!0,char:!0,code:!0,charCode:!0,key:!0,keyCode:!0,button:!0,buttons:!0,clientX:!0,clientY:!0,offsetX:!0,offsetY:!0,pointerId:!0,pointerType:!0,screenX:!0,screenY:!0,targetTouches:!0,toElement:!0,touches:!0,which:!0},b.event.addProp),b.each({focus:"focusin",blur:"focusout"},function(e,t){b.event.special[e]={setup:function(){return Se(this,e,Ce),!1},trigger:function(){return Se(this,e),!0},_default:function(){return!0},delegateType:t}}),b.each({mouseenter:"mouseover",mouseleave:"mouseout",pointerenter:"pointerover",pointerleave:"pointerout"},function(e,t){b.event.special[e]={delegateType:t,bindType:t,handle:function(e){var n,r=e.relatedTarget,i=e.handleObj;return r&&(r===this||b.contains(this,r))||(e.type=i.origType,n=i.handler.apply(this,arguments),e.type=t),n}}}),b.fn.extend({on:function(e,t,n,r){return Ee(this,e,t,n,r)},one:function(e,t,n,r){return Ee(this,e,t,n,r,1)},off:function(e,t,n){var r,i;if(e&&e.preventDefault&&e.handleObj)return r=e.handleObj,b(e.delegateTarget).off(r.namespace?r.origType+"."+r.namespace:r.origType,r.selector,r.handler),this;if("object"==typeof e){for(i in e)this.off(i,t,e[i]);return this}return!1!==t&&"function"!=typeof t||(n=t,t=void 0),!1===n&&(n=Te),this.each(function(){b.event.remove(this,e,n,t)})}});var ke=/<script|<style|<link/i,Ae=/checked\s*(?:[^=]|=\s*.checked.)/i,Ne=/^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g;function je(e,t){return k(e,"table")&&k(11!==t.nodeType?t:t.firstChild,"tr")&&b(e).children("tbody")[0]||e}function De(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function qe(e){return"true/"===(e.type||"").slice(0,5)?e.type=e.type.slice(5):e.removeAttribute("type"),e}function Le(e,t){var n,r,i,o,a,s;if(1===t.nodeType){if(G.hasData(e)&&(s=G.get(e).events))for(i in G.remove(t,"handle events"),s)for(n=0,r=s[i].length;n<r;n++)b.event.add(t,i,s[i][n]);Y.hasData(e)&&(o=Y.access(e),a=b.extend({},o),Y.set(t,a))}}function He(e,t,n,r){t=o(t);var i,a,s,u,l,c,f=0,p=e.length,g=p-1,v=t[0],y=h(v);if(y||p>1&&"string"==typeof v&&!d.checkClone&&Ae.test(v))return e.each(function(i){var o=e.eq(i);y&&(t[0]=v.call(this,i,o.html())),He(o,t,n,r)});if(p&&(a=(i=xe(t,e[0].ownerDocument,!1,e,r)).firstChild,1===i.childNodes.length&&(i=a),a||r)){for(u=(s=b.map(ve(i,"script"),De)).length;f<p;f++)l=i,f!==g&&(l=b.clone(l,!0,!0),u&&b.merge(s,ve(l,"script"))),n.call(e[f],l,f);if(u)for(c=s[s.length-1].ownerDocument,b.map(s,qe),f=0;f<u;f++)l=s[f],he.test(l.type||"")&&!G.access(l,"globalEval")&&b.contains(c,l)&&(l.src&&"module"!==(l.type||"").toLowerCase()?b._evalUrl&&!l.noModule&&b._evalUrl(l.src,{nonce:l.nonce||l.getAttribute("nonce")},c):m(l.textContent.replace(Ne,""),l,c))}return e}function Oe(e,t,n){for(var r,i=t?b.filter(t,e):e,o=0;null!=(r=i[o]);o++)n||1!==r.nodeType||b.cleanData(ve(r)),r.parentNode&&(n&&re(r)&&ye(ve(r,"script")),r.parentNode.removeChild(r));return e}b.extend({htmlPrefilter:function(e){return e},clone:function(e,t,n){var r,i,o,a,s,u,l,c=e.cloneNode(!0),f=re(e);if(!(d.noCloneChecked||1!==e.nodeType&&11!==e.nodeType||b.isXMLDoc(e)))for(a=ve(c),r=0,i=(o=ve(e)).length;r<i;r++)s=o[r],u=a[r],l=void 0,"input"===(l=u.nodeName.toLowerCase())&&pe.test(s.type)?u.checked=s.checked:"input"!==l&&"textarea"!==l||(u.defaultValue=s.defaultValue);if(t)if(n)for(o=o||ve(e),a=a||ve(c),r=0,i=o.length;r<i;r++)Le(o[r],a[r]);else Le(e,c);return(a=ve(c,"script")).length>0&&ye(a,!f&&ve(e,"script")),c},cleanData:function(e){for(var t,n,r,i=b.event.special,o=0;void 0!==(n=e[o]);o++)if(X(n)){if(t=n[G.expando]){if(t.events)for(r in t.events)i[r]?b.event.remove(n,r):b.removeEvent(n,r,t.handle);n[G.expando]=void 0}n[Y.expando]&&(n[Y.expando]=void 0)}}}),b.fn.extend({detach:function(e){return Oe(this,e,!0)},remove:function(e){return Oe(this,e)},text:function(e){return B(this,function(e){return void 0===e?b.text(this):this.empty().each(function(){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||(this.textContent=e)})},null,e,arguments.length)},append:function(){return He(this,arguments,function(e){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||je(this,e).appendChild(e)})},prepend:function(){return He(this,arguments,function(e){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var t=je(this,e);t.insertBefore(e,t.firstChild)}})},before:function(){return He(this,arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this)})},after:function(){return He(this,arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this.nextSibling)})},empty:function(){for(var e,t=0;null!=(e=this[t]);t++)1===e.nodeType&&(b.cleanData(ve(e,!1)),e.textContent="");return this},clone:function(e,t){return e=null!=e&&e,t=null==t?e:t,this.map(function(){return b.clone(this,e,t)})},html:function(e){return B(this,function(e){var t=this[0]||{},n=0,r=this.length;if(void 0===e&&1===t.nodeType)return t.innerHTML;if("string"==typeof e&&!ke.test(e)&&!ge[(de.exec(e)||["",""])[1].toLowerCase()]){e=b.htmlPrefilter(e);try{for(;n<r;n++)1===(t=this[n]||{}).nodeType&&(b.cleanData(ve(t,!1)),t.innerHTML=e);t=0}catch(e){}}t&&this.empty().append(e)},null,e,arguments.length)},replaceWith:function(){var e=[];return He(this,arguments,function(t){var n=this.parentNode;b.inArray(this,e)<0&&(b.cleanData(ve(this)),n&&n.replaceChild(t,this))},e)}}),b.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(e,t){b.fn[e]=function(e){for(var n,r=[],i=b(e),o=i.length-1,s=0;s<=o;s++)n=s===o?this:this.clone(!0),b(i[s])[t](n),a.apply(r,n.get());return this.pushStack(r)}});var Pe=new RegExp("^("+Z+")(?!px)[a-z%]+$","i"),Re=function(t){var n=t.ownerDocument.defaultView;return n&&n.opener||(n=e),n.getComputedStyle(t)},Me=function(e,t,n){var r,i,o={};for(i in t)o[i]=e.style[i],e.style[i]=t[i];for(i in r=n.call(e),t)e.style[i]=o[i];return r},Ie=new RegExp(te.join("|"),"i");function We(e,t,n){var r,i,o,a,s=e.style;return(n=n||Re(e))&&(""!==(a=n.getPropertyValue(t)||n[t])||re(e)||(a=b.style(e,t)),!d.pixelBoxStyles()&&Pe.test(a)&&Ie.test(t)&&(r=s.width,i=s.minWidth,o=s.maxWidth,s.minWidth=s.maxWidth=s.width=a,a=n.width,s.width=r,s.minWidth=i,s.maxWidth=o)),void 0!==a?a+"":a}function Fe(e,t){return{get:function(){if(!e())return(this.get=t).apply(this,arguments);delete this.get}}}!function(){function t(){if(c){l.style.cssText="position:absolute;left:-11111px;width:60px;margin-top:1px;padding:0;border:0",c.style.cssText="position:relative;display:block;box-sizing:border-box;overflow:scroll;margin:auto;border:1px;padding:1px;width:60%;top:1%",ne.appendChild(l).appendChild(c);var t=e.getComputedStyle(c);r="1%"!==t.top,u=12===n(t.marginLeft),c.style.right="60%",a=36===n(t.right),i=36===n(t.width),c.style.position="absolute",o=12===n(c.offsetWidth/3),ne.removeChild(l),c=null}}function n(e){return Math.round(parseFloat(e))}var r,i,o,a,s,u,l=v.createElement("div"),c=v.createElement("div");c.style&&(c.style.backgroundClip="content-box",c.cloneNode(!0).style.backgroundClip="",d.clearCloneStyle="content-box"===c.style.backgroundClip,b.extend(d,{boxSizingReliable:function(){return t(),i},pixelBoxStyles:function(){return t(),a},pixelPosition:function(){return t(),r},reliableMarginLeft:function(){return t(),u},scrollboxSize:function(){return t(),o},reliableTrDimensions:function(){var t,n,r,i;return null==s&&(t=v.createElement("table"),n=v.createElement("tr"),r=v.createElement("div"),t.style.cssText="position:absolute;left:-11111px;border-collapse:separate",n.style.cssText="border:1px solid",n.style.height="1px",r.style.height="9px",r.style.display="block",ne.appendChild(t).appendChild(n).appendChild(r),i=e.getComputedStyle(n),s=parseInt(i.height,10)+parseInt(i.borderTopWidth,10)+parseInt(i.borderBottomWidth,10)===n.offsetHeight,ne.removeChild(t)),s}}))}();var Be=["Webkit","Moz","ms"],$e=v.createElement("div").style,_e={};function ze(e){var t=b.cssProps[e]||_e[e];return t||(e in $e?e:_e[e]=function(e){for(var t=e[0].toUpperCase()+e.slice(1),n=Be.length;n--;)if((e=Be[n]+t)in $e)return e}(e)||e)}var Ue=/^(none|table(?!-c[ea]).+)/,Xe=/^--/,Ve={position:"absolute",visibility:"hidden",display:"block"},Ge={letterSpacing:"0",fontWeight:"400"};function Ye(e,t,n){var r=ee.exec(t);return r?Math.max(0,r[2]-(n||0))+(r[3]||"px"):t}function Qe(e,t,n,r,i,o){var a="width"===t?1:0,s=0,u=0;if(n===(r?"border":"content"))return 0;for(;a<4;a+=2)"margin"===n&&(u+=b.css(e,n+te[a],!0,i)),r?("content"===n&&(u-=b.css(e,"padding"+te[a],!0,i)),"margin"!==n&&(u-=b.css(e,"border"+te[a]+"Width",!0,i))):(u+=b.css(e,"padding"+te[a],!0,i),"padding"!==n?u+=b.css(e,"border"+te[a]+"Width",!0,i):s+=b.css(e,"border"+te[a]+"Width",!0,i));return!r&&o>=0&&(u+=Math.max(0,Math.ceil(e["offset"+t[0].toUpperCase()+t.slice(1)]-o-u-s-.5))||0),u}function Je(e,t,n){var r=Re(e),i=(!d.boxSizingReliable()||n)&&"border-box"===b.css(e,"boxSizing",!1,r),o=i,a=We(e,t,r),s="offset"+t[0].toUpperCase()+t.slice(1);if(Pe.test(a)){if(!n)return a;a="auto"}return(!d.boxSizingReliable()&&i||!d.reliableTrDimensions()&&k(e,"tr")||"auto"===a||!parseFloat(a)&&"inline"===b.css(e,"display",!1,r))&&e.getClientRects().length&&(i="border-box"===b.css(e,"boxSizing",!1,r),(o=s in e)&&(a=e[s])),(a=parseFloat(a)||0)+Qe(e,t,n||(i?"border":"content"),o,r,a)+"px"}function Ke(e,t,n,r,i){return new Ke.prototype.init(e,t,n,r,i)}b.extend({cssHooks:{opacity:{get:function(e,t){if(t){var n=We(e,"opacity");return""===n?"1":n}}}},cssNumber:{animationIterationCount:!0,columnCount:!0,fillOpacity:!0,flexGrow:!0,flexShrink:!0,fontWeight:!0,gridArea:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnStart:!0,gridRow:!0,gridRowEnd:!0,gridRowStart:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{},style:function(e,t,n,r){if(e&&3!==e.nodeType&&8!==e.nodeType&&e.style){var i,o,a,s=U(t),u=Xe.test(t),l=e.style;if(u||(t=ze(s)),a=b.cssHooks[t]||b.cssHooks[s],void 0===n)return a&&"get"in a&&void 0!==(i=a.get(e,!1,r))?i:l[t];"string"===(o=typeof n)&&(i=ee.exec(n))&&i[1]&&(n=ae(e,t,i),o="number"),null!=n&&n==n&&("number"!==o||u||(n+=i&&i[3]||(b.cssNumber[s]?"":"px")),d.clearCloneStyle||""!==n||0!==t.indexOf("background")||(l[t]="inherit"),a&&"set"in a&&void 0===(n=a.set(e,n,r))||(u?l.setProperty(t,n):l[t]=n))}},css:function(e,t,n,r){var i,o,a,s=U(t);return Xe.test(t)||(t=ze(s)),(a=b.cssHooks[t]||b.cssHooks[s])&&"get"in a&&(i=a.get(e,!0,n)),void 0===i&&(i=We(e,t,r)),"normal"===i&&t in Ge&&(i=Ge[t]),""===n||n?(o=parseFloat(i),!0===n||isFinite(o)?o||0:i):i}}),b.each(["height","width"],function(e,t){b.cssHooks[t]={get:function(e,n,r){if(n)return!Ue.test(b.css(e,"display"))||e.getClientRects().length&&e.getBoundingClientRect().width?Je(e,t,r):Me(e,Ve,function(){return Je(e,t,r)})},set:function(e,n,r){var i,o=Re(e),a=!d.scrollboxSize()&&"absolute"===o.position,s=(a||r)&&"border-box"===b.css(e,"boxSizing",!1,o),u=r?Qe(e,t,r,s,o):0;return s&&a&&(u-=Math.ceil(e["offset"+t[0].toUpperCase()+t.slice(1)]-parseFloat(o[t])-Qe(e,t,"border",!1,o)-.5)),u&&(i=ee.exec(n))&&"px"!==(i[3]||"px")&&(e.style[t]=n,n=b.css(e,t)),Ye(0,n,u)}}}),b.cssHooks.marginLeft=Fe(d.reliableMarginLeft,function(e,t){if(t)return(parseFloat(We(e,"marginLeft"))||e.getBoundingClientRect().left-Me(e,{marginLeft:0},function(){return e.getBoundingClientRect().left}))+"px"}),b.each({margin:"",padding:"",border:"Width"},function(e,t){b.cssHooks[e+t]={expand:function(n){for(var r=0,i={},o="string"==typeof n?n.split(" "):[n];r<4;r++)i[e+te[r]+t]=o[r]||o[r-2]||o[0];return i}},"margin"!==e&&(b.cssHooks[e+t].set=Ye)}),b.fn.extend({css:function(e,t){return B(this,function(e,t,n){var r,i,o={},a=0;if(Array.isArray(t)){for(r=Re(e),i=t.length;a<i;a++)o[t[a]]=b.css(e,t[a],!1,r);return o}return void 0!==n?b.style(e,t,n):b.css(e,t)},e,t,arguments.length>1)}}),b.Tween=Ke,Ke.prototype={constructor:Ke,init:function(e,t,n,r,i,o){this.elem=e,this.prop=n,this.easing=i||b.easing._default,this.options=t,this.start=this.now=this.cur(),this.end=r,this.unit=o||(b.cssNumber[n]?"":"px")},cur:function(){var e=Ke.propHooks[this.prop];return e&&e.get?e.get(this):Ke.propHooks._default.get(this)},run:function(e){var t,n=Ke.propHooks[this.prop];return this.options.duration?this.pos=t=b.easing[this.easing](e,this.options.duration*e,0,1,this.options.duration):this.pos=t=e,this.now=(this.end-this.start)*t+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),n&&n.set?n.set(this):Ke.propHooks._default.set(this),this}},Ke.prototype.init.prototype=Ke.prototype,Ke.propHooks={_default:{get:function(e){var t;return 1!==e.elem.nodeType||null!=e.elem[e.prop]&&null==e.elem.style[e.prop]?e.elem[e.prop]:(t=b.css(e.elem,e.prop,""))&&"auto"!==t?t:0},set:function(e){b.fx.step[e.prop]?b.fx.step[e.prop](e):1!==e.elem.nodeType||!b.cssHooks[e.prop]&&null==e.elem.style[ze(e.prop)]?e.elem[e.prop]=e.now:b.style(e.elem,e.prop,e.now+e.unit)}}},Ke.propHooks.scrollTop=Ke.propHooks.scrollLeft={set:function(e){e.elem.nodeType&&e.elem.parentNode&&(e.elem[e.prop]=e.now)}},b.easing={linear:function(e){return e},swing:function(e){return.5-Math.cos(e*Math.PI)/2},_default:"swing"},b.fx=Ke.prototype.init,b.fx.step={};var Ze,et,tt=/^(?:toggle|show|hide)$/,nt=/queueHooks$/;function rt(){et&&(!1===v.hidden&&e.requestAnimationFrame?e.requestAnimationFrame(rt):e.setTimeout(rt,b.fx.interval),b.fx.tick())}function it(){return e.setTimeout(function(){Ze=void 0}),Ze=Date.now()}function ot(e,t){var n,r=0,i={height:e};for(t=t?1:0;r<4;r+=2-t)i["margin"+(n=te[r])]=i["padding"+n]=e;return t&&(i.opacity=i.width=e),i}function at(e,t,n){for(var r,i=(st.tweeners[t]||[]).concat(st.tweeners["*"]),o=0,a=i.length;o<a;o++)if(r=i[o].call(n,t,e))return r}function st(e,t,n){var r,i,o=0,a=st.prefilters.length,s=b.Deferred().always(function(){delete u.elem}),u=function(){if(i)return!1;for(var t=Ze||it(),n=Math.max(0,l.startTime+l.duration-t),r=1-(n/l.duration||0),o=0,a=l.tweens.length;o<a;o++)l.tweens[o].run(r);return s.notifyWith(e,[l,r,n]),r<1&&a?n:(a||s.notifyWith(e,[l,1,0]),s.resolveWith(e,[l]),!1)},l=s.promise({elem:e,props:b.extend({},t),opts:b.extend(!0,{specialEasing:{},easing:b.easing._default},n),originalProperties:t,originalOptions:n,startTime:Ze||it(),duration:n.duration,tweens:[],createTween:function(t,n){var r=b.Tween(e,l.opts,t,n,l.opts.specialEasing[t]||l.opts.easing);return l.tweens.push(r),r},stop:function(t){var n=0,r=t?l.tweens.length:0;if(i)return this;for(i=!0;n<r;n++)l.tweens[n].run(1);return t?(s.notifyWith(e,[l,1,0]),s.resolveWith(e,[l,t])):s.rejectWith(e,[l,t]),this}}),c=l.props;for(!function(e,t){var n,r,i,o,a;for(n in e)if(i=t[r=U(n)],o=e[n],Array.isArray(o)&&(i=o[1],o=e[n]=o[0]),n!==r&&(e[r]=o,delete e[n]),(a=b.cssHooks[r])&&"expand"in a)for(n in o=a.expand(o),delete e[r],o)n in e||(e[n]=o[n],t[n]=i);else t[r]=i}(c,l.opts.specialEasing);o<a;o++)if(r=st.prefilters[o].call(l,e,c,l.opts))return h(r.stop)&&(b._queueHooks(l.elem,l.opts.queue).stop=r.stop.bind(r)),r;return b.map(c,at,l),h(l.opts.start)&&l.opts.start.call(e,l),l.progress(l.opts.progress).done(l.opts.done,l.opts.complete).fail(l.opts.fail).always(l.opts.always),b.fx.timer(b.extend(u,{elem:e,anim:l,queue:l.opts.queue})),l}b.Animation=b.extend(st,{tweeners:{"*":[function(e,t){var n=this.createTween(e,t);return ae(n.elem,e,ee.exec(t),n),n}]},tweener:function(e,t){h(e)?(t=e,e=["*"]):e=e.match(O);for(var n,r=0,i=e.length;r<i;r++)n=e[r],st.tweeners[n]=st.tweeners[n]||[],st.tweeners[n].unshift(t)},prefilters:[function(e,t,n){var r,i,o,a,s,u,l,c,f="width"in t||"height"in t,p=this,d={},h=e.style,g=e.nodeType&&oe(e),v=G.get(e,"fxshow");for(r in n.queue||(null==(a=b._queueHooks(e,"fx")).unqueued&&(a.unqueued=0,s=a.empty.fire,a.empty.fire=function(){a.unqueued||s()}),a.unqueued++,p.always(function(){p.always(function(){a.unqueued--,b.queue(e,"fx").length||a.empty.fire()})})),t)if(i=t[r],tt.test(i)){if(delete t[r],o=o||"toggle"===i,i===(g?"hide":"show")){if("show"!==i||!v||void 0===v[r])continue;g=!0}d[r]=v&&v[r]||b.style(e,r)}if((u=!b.isEmptyObject(t))||!b.isEmptyObject(d))for(r in f&&1===e.nodeType&&(n.overflow=[h.overflow,h.overflowX,h.overflowY],null==(l=v&&v.display)&&(l=G.get(e,"display")),"none"===(c=b.css(e,"display"))&&(l?c=l:(le([e],!0),l=e.style.display||l,c=b.css(e,"display"),le([e]))),("inline"===c||"inline-block"===c&&null!=l)&&"none"===b.css(e,"float")&&(u||(p.done(function(){h.display=l}),null==l&&(c=h.display,l="none"===c?"":c)),h.display="inline-block")),n.overflow&&(h.overflow="hidden",p.always(function(){h.overflow=n.overflow[0],h.overflowX=n.overflow[1],h.overflowY=n.overflow[2]})),u=!1,d)u||(v?"hidden"in v&&(g=v.hidden):v=G.access(e,"fxshow",{display:l}),o&&(v.hidden=!g),g&&le([e],!0),p.done(function(){for(r in g||le([e]),G.remove(e,"fxshow"),d)b.style(e,r,d[r])})),u=at(g?v[r]:0,r,p),r in v||(v[r]=u.start,g&&(u.end=u.start,u.start=0))}],prefilter:function(e,t){t?st.prefilters.unshift(e):st.prefilters.push(e)}}),b.speed=function(e,t,n){var r=e&&"object"==typeof e?b.extend({},e):{complete:n||!n&&t||h(e)&&e,duration:e,easing:n&&t||t&&!h(t)&&t};return b.fx.off?r.duration=0:"number"!=typeof r.duration&&(r.duration in b.fx.speeds?r.duration=b.fx.speeds[r.duration]:r.duration=b.fx.speeds._default),null!=r.queue&&!0!==r.queue||(r.queue="fx"),r.old=r.complete,r.complete=function(){h(r.old)&&r.old.call(this),r.queue&&b.dequeue(this,r.queue)},r},b.fn.extend({fadeTo:function(e,t,n,r){return this.filter(oe).css("opacity",0).show().end().animate({opacity:t},e,n,r)},animate:function(e,t,n,r){var i=b.isEmptyObject(e),o=b.speed(t,n,r),a=function(){var t=st(this,b.extend({},e),o);(i||G.get(this,"finish"))&&t.stop(!0)};return a.finish=a,i||!1===o.queue?this.each(a):this.queue(o.queue,a)},stop:function(e,t,n){var r=function(e){var t=e.stop;delete e.stop,t(n)};return"string"!=typeof e&&(n=t,t=e,e=void 0),t&&this.queue(e||"fx",[]),this.each(function(){var t=!0,i=null!=e&&e+"queueHooks",o=b.timers,a=G.get(this);if(i)a[i]&&a[i].stop&&r(a[i]);else for(i in a)a[i]&&a[i].stop&&nt.test(i)&&r(a[i]);for(i=o.length;i--;)o[i].elem!==this||null!=e&&o[i].queue!==e||(o[i].anim.stop(n),t=!1,o.splice(i,1));!t&&n||b.dequeue(this,e)})},finish:function(e){return!1!==e&&(e=e||"fx"),this.each(function(){var t,n=G.get(this),r=n[e+"queue"],i=n[e+"queueHooks"],o=b.timers,a=r?r.length:0;for(n.finish=!0,b.queue(this,e,[]),i&&i.stop&&i.stop.call(this,!0),t=o.length;t--;)o[t].elem===this&&o[t].queue===e&&(o[t].anim.stop(!0),o.splice(t,1));for(t=0;t<a;t++)r[t]&&r[t].finish&&r[t].finish.call(this);delete n.finish})}}),b.each(["toggle","show","hide"],function(e,t){var n=b.fn[t];b.fn[t]=function(e,r,i){return null==e||"boolean"==typeof e?n.apply(this,arguments):this.animate(ot(t,!0),e,r,i)}}),b.each({slideDown:ot("show"),slideUp:ot("hide"),slideToggle:ot("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(e,t){b.fn[e]=function(e,n,r){return this.animate(t,e,n,r)}}),b.timers=[],b.fx.tick=function(){var e,t=0,n=b.timers;for(Ze=Date.now();t<n.length;t++)(e=n[t])()||n[t]!==e||n.splice(t--,1);n.length||b.fx.stop(),Ze=void 0},b.fx.timer=function(e){b.timers.push(e),b.fx.start()},b.fx.interval=13,b.fx.start=function(){et||(et=!0,rt())},b.fx.stop=function(){et=null},b.fx.speeds={slow:600,fast:200,_default:400},b.fn.delay=function(t,n){return t=b.fx&&b.fx.speeds[t]||t,n=n||"fx",this.queue(n,function(n,r){var i=e.setTimeout(n,t);r.stop=function(){e.clearTimeout(i)}})},function(){var e=v.createElement("input"),t=v.createElement("select").appendChild(v.createElement("option"));e.type="checkbox",d.checkOn=""!==e.value,d.optSelected=t.selected,(e=v.createElement("input")).value="t",e.type="radio",d.radioValue="t"===e.value}();var ut,lt=b.expr.attrHandle;b.fn.extend({attr:function(e,t){return B(this,b.attr,e,t,arguments.length>1)},removeAttr:function(e){return this.each(function(){b.removeAttr(this,e)})}}),b.extend({attr:function(e,t,n){var r,i,o=e.nodeType;if(3!==o&&8!==o&&2!==o)return void 0===e.getAttribute?b.prop(e,t,n):(1===o&&b.isXMLDoc(e)||(i=b.attrHooks[t.toLowerCase()]||(b.expr.match.bool.test(t)?ut:void 0)),void 0!==n?null===n?void b.removeAttr(e,t):i&&"set"in i&&void 0!==(r=i.set(e,n,t))?r:(e.setAttribute(t,n+""),n):i&&"get"in i&&null!==(r=i.get(e,t))?r:null==(r=b.find.attr(e,t))?void 0:r)},attrHooks:{type:{set:function(e,t){if(!d.radioValue&&"radio"===t&&k(e,"input")){var n=e.value;return e.setAttribute("type",t),n&&(e.value=n),t}}}},removeAttr:function(e,t){var n,r=0,i=t&&t.match(O);if(i&&1===e.nodeType)for(;n=i[r++];)e.removeAttribute(n)}}),ut={set:function(e,t,n){return!1===t?b.removeAttr(e,n):e.setAttribute(n,n),n}},b.each(b.expr.match.bool.source.match(/\w+/g),function(e,t){var n=lt[t]||b.find.attr;lt[t]=function(e,t,r){var i,o,a=t.toLowerCase();return r||(o=lt[a],lt[a]=i,i=null!=n(e,t,r)?a:null,lt[a]=o),i}});var ct=/^(?:input|select|textarea|button)$/i,ft=/^(?:a|area)$/i;function pt(e){return(e.match(O)||[]).join(" ")}function dt(e){return e.getAttribute&&e.getAttribute("class")||""}function ht(e){return Array.isArray(e)?e:"string"==typeof e&&e.match(O)||[]}b.fn.extend({prop:function(e,t){return B(this,b.prop,e,t,arguments.length>1)},removeProp:function(e){return this.each(function(){delete this[b.propFix[e]||e]})}}),b.extend({prop:function(e,t,n){var r,i,o=e.nodeType;if(3!==o&&8!==o&&2!==o)return 1===o&&b.isXMLDoc(e)||(t=b.propFix[t]||t,i=b.propHooks[t]),void 0!==n?i&&"set"in i&&void 0!==(r=i.set(e,n,t))?r:e[t]=n:i&&"get"in i&&null!==(r=i.get(e,t))?r:e[t]},propHooks:{tabIndex:{get:function(e){var t=b.find.attr(e,"tabindex");return t?parseInt(t,10):ct.test(e.nodeName)||ft.test(e.nodeName)&&e.href?0:-1}}},propFix:{for:"htmlFor",class:"className"}}),d.optSelected||(b.propHooks.selected={get:function(e){var t=e.parentNode;return t&&t.parentNode&&t.parentNode.selectedIndex,null},set:function(e){var t=e.parentNode;t&&(t.selectedIndex,t.parentNode&&t.parentNode.selectedIndex)}}),b.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){b.propFix[this.toLowerCase()]=this}),b.fn.extend({addClass:function(e){var t,n,r,i,o,a,s,u=0;if(h(e))return this.each(function(t){b(this).addClass(e.call(this,t,dt(this)))});if((t=ht(e)).length)for(;n=this[u++];)if(i=dt(n),r=1===n.nodeType&&" "+pt(i)+" "){for(a=0;o=t[a++];)r.indexOf(" "+o+" ")<0&&(r+=o+" ");i!==(s=pt(r))&&n.setAttribute("class",s)}return this},removeClass:function(e){var t,n,r,i,o,a,s,u=0;if(h(e))return this.each(function(t){b(this).removeClass(e.call(this,t,dt(this)))});if(!arguments.length)return this.attr("class","");if((t=ht(e)).length)for(;n=this[u++];)if(i=dt(n),r=1===n.nodeType&&" "+pt(i)+" "){for(a=0;o=t[a++];)for(;r.indexOf(" "+o+" ")>-1;)r=r.replace(" "+o+" "," ");i!==(s=pt(r))&&n.setAttribute("class",s)}return this},toggleClass:function(e,t){var n=typeof e,r="string"===n||Array.isArray(e);return"boolean"==typeof t&&r?t?this.addClass(e):this.removeClass(e):h(e)?this.each(function(n){b(this).toggleClass(e.call(this,n,dt(this),t),t)}):this.each(function(){var t,i,o,a;if(r)for(i=0,o=b(this),a=ht(e);t=a[i++];)o.hasClass(t)?o.removeClass(t):o.addClass(t);else void 0!==e&&"boolean"!==n||((t=dt(this))&&G.set(this,"__className__",t),this.setAttribute&&this.setAttribute("class",t||!1===e?"":G.get(this,"__className__")||""))})},hasClass:function(e){var t,n,r=0;for(t=" "+e+" ";n=this[r++];)if(1===n.nodeType&&(" "+pt(dt(n))+" ").indexOf(t)>-1)return!0;return!1}});var gt=/\r/g;b.fn.extend({val:function(e){var t,n,r,i=this[0];return arguments.length?(r=h(e),this.each(function(n){var i;1===this.nodeType&&(null==(i=r?e.call(this,n,b(this).val()):e)?i="":"number"==typeof i?i+="":Array.isArray(i)&&(i=b.map(i,function(e){return null==e?"":e+""})),(t=b.valHooks[this.type]||b.valHooks[this.nodeName.toLowerCase()])&&"set"in t&&void 0!==t.set(this,i,"value")||(this.value=i))})):i?(t=b.valHooks[i.type]||b.valHooks[i.nodeName.toLowerCase()])&&"get"in t&&void 0!==(n=t.get(i,"value"))?n:"string"==typeof(n=i.value)?n.replace(gt,""):null==n?"":n:void 0}}),b.extend({valHooks:{option:{get:function(e){var t=b.find.attr(e,"value");return null!=t?t:pt(b.text(e))}},select:{get:function(e){var t,n,r,i=e.options,o=e.selectedIndex,a="select-one"===e.type,s=a?null:[],u=a?o+1:i.length;for(r=o<0?u:a?o:0;r<u;r++)if(((n=i[r]).selected||r===o)&&!n.disabled&&(!n.parentNode.disabled||!k(n.parentNode,"optgroup"))){if(t=b(n).val(),a)return t;s.push(t)}return s},set:function(e,t){for(var n,r,i=e.options,o=b.makeArray(t),a=i.length;a--;)((r=i[a]).selected=b.inArray(b.valHooks.option.get(r),o)>-1)&&(n=!0);return n||(e.selectedIndex=-1),o}}}}),b.each(["radio","checkbox"],function(){b.valHooks[this]={set:function(e,t){if(Array.isArray(t))return e.checked=b.inArray(b(e).val(),t)>-1}},d.checkOn||(b.valHooks[this].get=function(e){return null===e.getAttribute("value")?"on":e.value})}),d.focusin="onfocusin"in e;var vt=/^(?:focusinfocus|focusoutblur)$/,yt=function(e){e.stopPropagation()};b.extend(b.event,{trigger:function(t,n,r,i){var o,a,s,u,l,f,p,d,y=[r||v],m=c.call(t,"type")?t.type:t,x=c.call(t,"namespace")?t.namespace.split("."):[];if(a=d=s=r=r||v,3!==r.nodeType&&8!==r.nodeType&&!vt.test(m+b.event.triggered)&&(m.indexOf(".")>-1&&(x=m.split("."),m=x.shift(),x.sort()),l=m.indexOf(":")<0&&"on"+m,(t=t[b.expando]?t:new b.Event(m,"object"==typeof t&&t)).isTrigger=i?2:3,t.namespace=x.join("."),t.rnamespace=t.namespace?new RegExp("(^|\\.)"+x.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,t.result=void 0,t.target||(t.target=r),n=null==n?[t]:b.makeArray(n,[t]),p=b.event.special[m]||{},i||!p.trigger||!1!==p.trigger.apply(r,n))){if(!i&&!p.noBubble&&!g(r)){for(u=p.delegateType||m,vt.test(u+m)||(a=a.parentNode);a;a=a.parentNode)y.push(a),s=a;s===(r.ownerDocument||v)&&y.push(s.defaultView||s.parentWindow||e)}for(o=0;(a=y[o++])&&!t.isPropagationStopped();)d=a,t.type=o>1?u:p.bindType||m,(f=(G.get(a,"events")||Object.create(null))[t.type]&&G.get(a,"handle"))&&f.apply(a,n),(f=l&&a[l])&&f.apply&&X(a)&&(t.result=f.apply(a,n),!1===t.result&&t.preventDefault());return t.type=m,i||t.isDefaultPrevented()||p._default&&!1!==p._default.apply(y.pop(),n)||!X(r)||l&&h(r[m])&&!g(r)&&((s=r[l])&&(r[l]=null),b.event.triggered=m,t.isPropagationStopped()&&d.addEventListener(m,yt),r[m](),t.isPropagationStopped()&&d.removeEventListener(m,yt),b.event.triggered=void 0,s&&(r[l]=s)),t.result}},simulate:function(e,t,n){var r=b.extend(new b.Event,n,{type:e,isSimulated:!0});b.event.trigger(r,null,t)}}),b.fn.extend({trigger:function(e,t){return this.each(function(){b.event.trigger(e,t,this)})},triggerHandler:function(e,t){var n=this[0];if(n)return b.event.trigger(e,t,n,!0)}}),d.focusin||b.each({focus:"focusin",blur:"focusout"},function(e,t){var n=function(e){b.event.simulate(t,e.target,b.event.fix(e))};b.event.special[t]={setup:function(){var r=this.ownerDocument||this.document||this,i=G.access(r,t);i||r.addEventListener(e,n,!0),G.access(r,t,(i||0)+1)},teardown:function(){var r=this.ownerDocument||this.document||this,i=G.access(r,t)-1;i?G.access(r,t,i):(r.removeEventListener(e,n,!0),G.remove(r,t))}}});var mt=e.location,xt={guid:Date.now()},bt=/\?/;b.parseXML=function(t){var n,r;if(!t||"string"!=typeof t)return null;try{n=(new e.DOMParser).parseFromString(t,"text/xml")}catch(e){}return r=n&&n.getElementsByTagName("parsererror")[0],n&&!r||b.error("Invalid XML: "+(r?b.map(r.childNodes,function(e){return e.textContent}).join("\n"):t)),n};var wt=/\[\]$/,Tt=/\r?\n/g,Ct=/^(?:submit|button|image|reset|file)$/i,Et=/^(?:input|select|textarea|keygen)/i;function St(e,t,n,r){var i;if(Array.isArray(t))b.each(t,function(t,i){n||wt.test(e)?r(e,i):St(e+"["+("object"==typeof i&&null!=i?t:"")+"]",i,n,r)});else if(n||"object"!==x(t))r(e,t);else for(i in t)St(e+"["+i+"]",t[i],n,r)}b.param=function(e,t){var n,r=[],i=function(e,t){var n=h(t)?t():t;r[r.length]=encodeURIComponent(e)+"="+encodeURIComponent(null==n?"":n)};if(null==e)return"";if(Array.isArray(e)||e.jquery&&!b.isPlainObject(e))b.each(e,function(){i(this.name,this.value)});else for(n in e)St(n,e[n],t,i);return r.join("&")},b.fn.extend({serialize:function(){return b.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var e=b.prop(this,"elements");return e?b.makeArray(e):this}).filter(function(){var e=this.type;return this.name&&!b(this).is(":disabled")&&Et.test(this.nodeName)&&!Ct.test(e)&&(this.checked||!pe.test(e))}).map(function(e,t){var n=b(this).val();return null==n?null:Array.isArray(n)?b.map(n,function(e){return{name:t.name,value:e.replace(Tt,"\r\n")}}):{name:t.name,value:n.replace(Tt,"\r\n")}}).get()}});var kt=/%20/g,At=/#.*$/,Nt=/([?&])_=[^&]*/,jt=/^(.*?):[ \t]*([^\r\n]*)$/gm,Dt=/^(?:GET|HEAD)$/,qt=/^\/\//,Lt={},Ht={},Ot="*/".concat("*"),Pt=v.createElement("a");function Rt(e){return function(t,n){"string"!=typeof t&&(n=t,t="*");var r,i=0,o=t.toLowerCase().match(O)||[];if(h(n))for(;r=o[i++];)"+"===r[0]?(r=r.slice(1)||"*",(e[r]=e[r]||[]).unshift(n)):(e[r]=e[r]||[]).push(n)}}function Mt(e,t,n,r){var i={},o=e===Ht;function a(s){var u;return i[s]=!0,b.each(e[s]||[],function(e,s){var l=s(t,n,r);return"string"!=typeof l||o||i[l]?o?!(u=l):void 0:(t.dataTypes.unshift(l),a(l),!1)}),u}return a(t.dataTypes[0])||!i["*"]&&a("*")}function It(e,t){var n,r,i=b.ajaxSettings.flatOptions||{};for(n in t)void 0!==t[n]&&((i[n]?e:r||(r={}))[n]=t[n]);return r&&b.extend(!0,e,r),e}Pt.href=mt.href,b.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:mt.href,type:"GET",isLocal:/^(?:about|app|app-storage|.+-extension|file|res|widget):$/.test(mt.protocol),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":Ot,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/\bxml\b/,html:/\bhtml/,json:/\bjson\b/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":!0,"text json":JSON.parse,"text xml":b.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(e,t){return t?It(It(e,b.ajaxSettings),t):It(b.ajaxSettings,e)},ajaxPrefilter:Rt(Lt),ajaxTransport:Rt(Ht),ajax:function(t,n){"object"==typeof t&&(n=t,t=void 0),n=n||{};var r,i,o,a,s,u,l,c,f,p,d=b.ajaxSetup({},n),h=d.context||d,g=d.context&&(h.nodeType||h.jquery)?b(h):b.event,y=b.Deferred(),m=b.Callbacks("once memory"),x=d.statusCode||{},w={},T={},C="canceled",E={readyState:0,getResponseHeader:function(e){var t;if(l){if(!a)for(a={};t=jt.exec(o);)a[t[1].toLowerCase()+" "]=(a[t[1].toLowerCase()+" "]||[]).concat(t[2]);t=a[e.toLowerCase()+" "]}return null==t?null:t.join(", ")},getAllResponseHeaders:function(){return l?o:null},setRequestHeader:function(e,t){return null==l&&(e=T[e.toLowerCase()]=T[e.toLowerCase()]||e,w[e]=t),this},overrideMimeType:function(e){return null==l&&(d.mimeType=e),this},statusCode:function(e){var t;if(e)if(l)E.always(e[E.status]);else for(t in e)x[t]=[x[t],e[t]];return this},abort:function(e){var t=e||C;return r&&r.abort(t),S(0,t),this}};if(y.promise(E),d.url=((t||d.url||mt.href)+"").replace(qt,mt.protocol+"//"),d.type=n.method||n.type||d.method||d.type,d.dataTypes=(d.dataType||"*").toLowerCase().match(O)||[""],null==d.crossDomain){u=v.createElement("a");try{u.href=d.url,u.href=u.href,d.crossDomain=Pt.protocol+"//"+Pt.host!=u.protocol+"//"+u.host}catch(e){d.crossDomain=!0}}if(d.data&&d.processData&&"string"!=typeof d.data&&(d.data=b.param(d.data,d.traditional)),Mt(Lt,d,n,E),l)return E;for(f in(c=b.event&&d.global)&&0==b.active++&&b.event.trigger("ajaxStart"),d.type=d.type.toUpperCase(),d.hasContent=!Dt.test(d.type),i=d.url.replace(At,""),d.hasContent?d.data&&d.processData&&0===(d.contentType||"").indexOf("application/x-www-form-urlencoded")&&(d.data=d.data.replace(kt,"+")):(p=d.url.slice(i.length),d.data&&(d.processData||"string"==typeof d.data)&&(i+=(bt.test(i)?"&":"?")+d.data,delete d.data),!1===d.cache&&(i=i.replace(Nt,"$1"),p=(bt.test(i)?"&":"?")+"_="+xt.guid+++p),d.url=i+p),d.ifModified&&(b.lastModified[i]&&E.setRequestHeader("If-Modified-Since",b.lastModified[i]),b.etag[i]&&E.setRequestHeader("If-None-Match",b.etag[i])),(d.data&&d.hasContent&&!1!==d.contentType||n.contentType)&&E.setRequestHeader("Content-Type",d.contentType),E.setRequestHeader("Accept",d.dataTypes[0]&&d.accepts[d.dataTypes[0]]?d.accepts[d.dataTypes[0]]+("*"!==d.dataTypes[0]?", "+Ot+"; q=0.01":""):d.accepts["*"]),d.headers)E.setRequestHeader(f,d.headers[f]);if(d.beforeSend&&(!1===d.beforeSend.call(h,E,d)||l))return E.abort();if(C="abort",m.add(d.complete),E.done(d.success),E.fail(d.error),r=Mt(Ht,d,n,E)){if(E.readyState=1,c&&g.trigger("ajaxSend",[E,d]),l)return E;d.async&&d.timeout>0&&(s=e.setTimeout(function(){E.abort("timeout")},d.timeout));try{l=!1,r.send(w,S)}catch(e){if(l)throw e;S(-1,e)}}else S(-1,"No Transport");function S(t,n,a,u){var f,p,v,w,T,C=n;l||(l=!0,s&&e.clearTimeout(s),r=void 0,o=u||"",E.readyState=t>0?4:0,f=t>=200&&t<300||304===t,a&&(w=function(e,t,n){for(var r,i,o,a,s=e.contents,u=e.dataTypes;"*"===u[0];)u.shift(),void 0===r&&(r=e.mimeType||t.getResponseHeader("Content-Type"));if(r)for(i in s)if(s[i]&&s[i].test(r)){u.unshift(i);break}if(u[0]in n)o=u[0];else{for(i in n){if(!u[0]||e.converters[i+" "+u[0]]){o=i;break}a||(a=i)}o=o||a}if(o)return o!==u[0]&&u.unshift(o),n[o]}(d,E,a)),!f&&b.inArray("script",d.dataTypes)>-1&&b.inArray("json",d.dataTypes)<0&&(d.converters["text script"]=function(){}),w=function(e,t,n,r){var i,o,a,s,u,l={},c=e.dataTypes.slice();if(c[1])for(a in e.converters)l[a.toLowerCase()]=e.converters[a];for(o=c.shift();o;)if(e.responseFields[o]&&(n[e.responseFields[o]]=t),!u&&r&&e.dataFilter&&(t=e.dataFilter(t,e.dataType)),u=o,o=c.shift())if("*"===o)o=u;else if("*"!==u&&u!==o){if(!(a=l[u+" "+o]||l["* "+o]))for(i in l)if((s=i.split(" "))[1]===o&&(a=l[u+" "+s[0]]||l["* "+s[0]])){!0===a?a=l[i]:!0!==l[i]&&(o=s[0],c.unshift(s[1]));break}if(!0!==a)if(a&&e.throws)t=a(t);else try{t=a(t)}catch(e){return{state:"parsererror",error:a?e:"No conversion from "+u+" to "+o}}}return{state:"success",data:t}}(d,w,E,f),f?(d.ifModified&&((T=E.getResponseHeader("Last-Modified"))&&(b.lastModified[i]=T),(T=E.getResponseHeader("etag"))&&(b.etag[i]=T)),204===t||"HEAD"===d.type?C="nocontent":304===t?C="notmodified":(C=w.state,p=w.data,f=!(v=w.error))):(v=C,!t&&C||(C="error",t<0&&(t=0))),E.status=t,E.statusText=(n||C)+"",f?y.resolveWith(h,[p,C,E]):y.rejectWith(h,[E,C,v]),E.statusCode(x),x=void 0,c&&g.trigger(f?"ajaxSuccess":"ajaxError",[E,d,f?p:v]),m.fireWith(h,[E,C]),c&&(g.trigger("ajaxComplete",[E,d]),--b.active||b.event.trigger("ajaxStop")))}return E},getJSON:function(e,t,n){return b.get(e,t,n,"json")},getScript:function(e,t){return b.get(e,void 0,t,"script")}}),b.each(["get","post"],function(e,t){b[t]=function(e,n,r,i){return h(n)&&(i=i||r,r=n,n=void 0),b.ajax(b.extend({url:e,type:t,dataType:i,data:n,success:r},b.isPlainObject(e)&&e))}}),b.ajaxPrefilter(function(e){var t;for(t in e.headers)"content-type"===t.toLowerCase()&&(e.contentType=e.headers[t]||"")}),b._evalUrl=function(e,t,n){return b.ajax({url:e,type:"GET",dataType:"script",cache:!0,async:!1,global:!1,converters:{"text script":function(){}},dataFilter:function(e){b.globalEval(e,t,n)}})},b.fn.extend({wrapAll:function(e){var t;return this[0]&&(h(e)&&(e=e.call(this[0])),t=b(e,this[0].ownerDocument).eq(0).clone(!0),this[0].parentNode&&t.insertBefore(this[0]),t.map(function(){for(var e=this;e.firstElementChild;)e=e.firstElementChild;return e}).append(this)),this},wrapInner:function(e){return h(e)?this.each(function(t){b(this).wrapInner(e.call(this,t))}):this.each(function(){var t=b(this),n=t.contents();n.length?n.wrapAll(e):t.append(e)})},wrap:function(e){var t=h(e);return this.each(function(n){b(this).wrapAll(t?e.call(this,n):e)})},unwrap:function(e){return this.parent(e).not("body").each(function(){b(this).replaceWith(this.childNodes)}),this}}),b.expr.pseudos.hidden=function(e){return!b.expr.pseudos.visible(e)},b.expr.pseudos.visible=function(e){return!!(e.offsetWidth||e.offsetHeight||e.getClientRects().length)},b.ajaxSettings.xhr=function(){try{return new e.XMLHttpRequest}catch(e){}};var Wt={0:200,1223:204},Ft=b.ajaxSettings.xhr();d.cors=!!Ft&&"withCredentials"in Ft,d.ajax=Ft=!!Ft,b.ajaxTransport(function(t){var n,r;if(d.cors||Ft&&!t.crossDomain)return{send:function(i,o){var a,s=t.xhr();if(s.open(t.type,t.url,t.async,t.username,t.password),t.xhrFields)for(a in t.xhrFields)s[a]=t.xhrFields[a];for(a in t.mimeType&&s.overrideMimeType&&s.overrideMimeType(t.mimeType),t.crossDomain||i["X-Requested-With"]||(i["X-Requested-With"]="XMLHttpRequest"),i)s.setRequestHeader(a,i[a]);n=function(e){return function(){n&&(n=r=s.onload=s.onerror=s.onabort=s.ontimeout=s.onreadystatechange=null,"abort"===e?s.abort():"error"===e?"number"!=typeof s.status?o(0,"error"):o(s.status,s.statusText):o(Wt[s.status]||s.status,s.statusText,"text"!==(s.responseType||"text")||"string"!=typeof s.responseText?{binary:s.response}:{text:s.responseText},s.getAllResponseHeaders()))}},s.onload=n(),r=s.onerror=s.ontimeout=n("error"),void 0!==s.onabort?s.onabort=r:s.onreadystatechange=function(){4===s.readyState&&e.setTimeout(function(){n&&r()})},n=n("abort");try{s.send(t.hasContent&&t.data||null)}catch(e){if(n)throw e}},abort:function(){n&&n()}}}),b.ajaxPrefilter(function(e){e.crossDomain&&(e.contents.script=!1)}),b.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/\b(?:java|ecma)script\b/},converters:{"text script":function(e){return b.globalEval(e),e}}}),b.ajaxPrefilter("script",function(e){void 0===e.cache&&(e.cache=!1),e.crossDomain&&(e.type="GET")}),b.ajaxTransport("script",function(e){var t,n;if(e.crossDomain||e.scriptAttrs)return{send:function(r,i){t=b("<script>").attr(e.scriptAttrs||{}).prop({charset:e.scriptCharset,src:e.url}).on("load error",n=function(e){t.remove(),n=null,e&&i("error"===e.type?404:200,e.type)}),v.head.appendChild(t[0])},abort:function(){n&&n()}}});var Bt,$t=[],_t=/(=)\?(?=&|$)|\?\?/;b.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=$t.pop()||b.expando+"_"+xt.guid++;return this[e]=!0,e}}),b.ajaxPrefilter("json jsonp",function(t,n,r){var i,o,a,s=!1!==t.jsonp&&(_t.test(t.url)?"url":"string"==typeof t.data&&0===(t.contentType||"").indexOf("application/x-www-form-urlencoded")&&_t.test(t.data)&&"data");if(s||"jsonp"===t.dataTypes[0])return i=t.jsonpCallback=h(t.jsonpCallback)?t.jsonpCallback():t.jsonpCallback,s?t[s]=t[s].replace(_t,"$1"+i):!1!==t.jsonp&&(t.url+=(bt.test(t.url)?"&":"?")+t.jsonp+"="+i),t.converters["script json"]=function(){return a||b.error(i+" was not called"),a[0]},t.dataTypes[0]="json",o=e[i],e[i]=function(){a=arguments},r.always(function(){void 0===o?b(e).removeProp(i):e[i]=o,t[i]&&(t.jsonpCallback=n.jsonpCallback,$t.push(i)),a&&h(o)&&o(a[0]),a=o=void 0}),"script"}),d.createHTMLDocument=((Bt=v.implementation.createHTMLDocument("").body).innerHTML="<form></form><form></form>",2===Bt.childNodes.length),b.parseHTML=function(e,t,n){return"string"!=typeof e?[]:("boolean"==typeof t&&(n=t,t=!1),t||(d.createHTMLDocument?((r=(t=v.implementation.createHTMLDocument("")).createElement("base")).href=v.location.href,t.head.appendChild(r)):t=v),o=!n&&[],(i=A.exec(e))?[t.createElement(i[1])]:(i=xe([e],t,o),o&&o.length&&b(o).remove(),b.merge([],i.childNodes)));var r,i,o},b.fn.load=function(e,t,n){var r,i,o,a=this,s=e.indexOf(" ");return s>-1&&(r=pt(e.slice(s)),e=e.slice(0,s)),h(t)?(n=t,t=void 0):t&&"object"==typeof t&&(i="POST"),a.length>0&&b.ajax({url:e,type:i||"GET",dataType:"html",data:t}).done(function(e){o=arguments,a.html(r?b("<div>").append(b.parseHTML(e)).find(r):e)}).always(n&&function(e,t){a.each(function(){n.apply(this,o||[e.responseText,t,e])})}),this},b.expr.pseudos.animated=function(e){return b.grep(b.timers,function(t){return e===t.elem}).length},b.offset={setOffset:function(e,t,n){var r,i,o,a,s,u,l=b.css(e,"position"),c=b(e),f={};"static"===l&&(e.style.position="relative"),s=c.offset(),o=b.css(e,"top"),u=b.css(e,"left"),("absolute"===l||"fixed"===l)&&(o+u).indexOf("auto")>-1?(a=(r=c.position()).top,i=r.left):(a=parseFloat(o)||0,i=parseFloat(u)||0),h(t)&&(t=t.call(e,n,b.extend({},s))),null!=t.top&&(f.top=t.top-s.top+a),null!=t.left&&(f.left=t.left-s.left+i),"using"in t?t.using.call(e,f):c.css(f)}},b.fn.extend({offset:function(e){if(arguments.length)return void 0===e?this:this.each(function(t){b.offset.setOffset(this,e,t)});var t,n,r=this[0];return r?r.getClientRects().length?(t=r.getBoundingClientRect(),n=r.ownerDocument.defaultView,{top:t.top+n.pageYOffset,left:t.left+n.pageXOffset}):{top:0,left:0}:void 0},position:function(){if(this[0]){var e,t,n,r=this[0],i={top:0,left:0};if("fixed"===b.css(r,"position"))t=r.getBoundingClientRect();else{for(t=this.offset(),n=r.ownerDocument,e=r.offsetParent||n.documentElement;e&&(e===n.body||e===n.documentElement)&&"static"===b.css(e,"position");)e=e.parentNode;e&&e!==r&&1===e.nodeType&&((i=b(e).offset()).top+=b.css(e,"borderTopWidth",!0),i.left+=b.css(e,"borderLeftWidth",!0))}return{top:t.top-i.top-b.css(r,"marginTop",!0),left:t.left-i.left-b.css(r,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){for(var e=this.offsetParent;e&&"static"===b.css(e,"position");)e=e.offsetParent;return e||ne})}}),b.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(e,t){var n="pageYOffset"===t;b.fn[e]=function(r){return B(this,function(e,r,i){var o;if(g(e)?o=e:9===e.nodeType&&(o=e.defaultView),void 0===i)return o?o[t]:e[r];o?o.scrollTo(n?o.pageXOffset:i,n?i:o.pageYOffset):e[r]=i},e,r,arguments.length)}}),b.each(["top","left"],function(e,t){b.cssHooks[t]=Fe(d.pixelPosition,function(e,n){if(n)return n=We(e,t),Pe.test(n)?b(e).position()[t]+"px":n})}),b.each({Height:"height",Width:"width"},function(e,t){b.each({padding:"inner"+e,content:t,"":"outer"+e},function(n,r){b.fn[r]=function(i,o){var a=arguments.length&&(n||"boolean"!=typeof i),s=n||(!0===i||!0===o?"margin":"border");return B(this,function(t,n,i){var o;return g(t)?0===r.indexOf("outer")?t["inner"+e]:t.document.documentElement["client"+e]:9===t.nodeType?(o=t.documentElement,Math.max(t.body["scroll"+e],o["scroll"+e],t.body["offset"+e],o["offset"+e],o["client"+e])):void 0===i?b.css(t,n,s):b.style(t,n,i,s)},t,a?i:void 0,a)}})}),b.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(e,t){b.fn[t]=function(e){return this.on(t,e)}}),b.fn.extend({bind:function(e,t,n){return this.on(e,null,t,n)},unbind:function(e,t){return this.off(e,null,t)},delegate:function(e,t,n,r){return this.on(t,e,n,r)},undelegate:function(e,t,n){return 1===arguments.length?this.off(e,"**"):this.off(t,e||"**",n)},hover:function(e,t){return this.mouseenter(e).mouseleave(t||e)}}),b.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "),function(e,t){b.fn[t]=function(e,n){return arguments.length>0?this.on(t,null,e,n):this.trigger(t)}});var zt=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g;b.proxy=function(e,t){var n,r,o;if("string"==typeof t&&(n=e[t],t=e,e=n),h(e))return r=i.call(arguments,2),(o=function(){return e.apply(t||this,r.concat(i.call(arguments)))}).guid=e.guid=e.guid||b.guid++,o},b.holdReady=function(e){e?b.readyWait++:b.ready(!0)},b.isArray=Array.isArray,b.parseJSON=JSON.parse,b.nodeName=k,b.isFunction=h,b.isWindow=g,b.camelCase=U,b.type=x,b.now=Date.now,b.isNumeric=function(e){var t=b.type(e);return("number"===t||"string"===t)&&!isNaN(e-parseFloat(e))},b.trim=function(e){return null==e?"":(e+"").replace(zt,"")},"function"==typeof define&&define.amd&&define("jquery",[],function(){return b});var Ut=e.jQuery,Xt=e.$;return b.noConflict=function(t){return e.$===b&&(e.$=Xt),t&&e.jQuery===b&&(e.jQuery=Ut),b},void 0===t&&(e.jQuery=e.$=b),b});
},{}],37:[function(require,module,exports){
var cachedSetTimeout,cachedClearTimeout,process=module.exports={};function defaultSetTimout(){throw new Error("setTimeout has not been defined")}function defaultClearTimeout(){throw new Error("clearTimeout has not been defined")}function runTimeout(e){if(cachedSetTimeout===setTimeout)return setTimeout(e,0);if((cachedSetTimeout===defaultSetTimout||!cachedSetTimeout)&&setTimeout)return cachedSetTimeout=setTimeout,setTimeout(e,0);try{return cachedSetTimeout(e,0)}catch(t){try{return cachedSetTimeout.call(null,e,0)}catch(t){return cachedSetTimeout.call(this,e,0)}}}function runClearTimeout(e){if(cachedClearTimeout===clearTimeout)return clearTimeout(e);if((cachedClearTimeout===defaultClearTimeout||!cachedClearTimeout)&&clearTimeout)return cachedClearTimeout=clearTimeout,clearTimeout(e);try{return cachedClearTimeout(e)}catch(t){try{return cachedClearTimeout.call(null,e)}catch(t){return cachedClearTimeout.call(this,e)}}}!function(){try{cachedSetTimeout="function"==typeof setTimeout?setTimeout:defaultSetTimout}catch(e){cachedSetTimeout=defaultSetTimout}try{cachedClearTimeout="function"==typeof clearTimeout?clearTimeout:defaultClearTimeout}catch(e){cachedClearTimeout=defaultClearTimeout}}();var currentQueue,queue=[],draining=!1,queueIndex=-1;function cleanUpNextTick(){draining&&currentQueue&&(draining=!1,currentQueue.length?queue=currentQueue.concat(queue):queueIndex=-1,queue.length&&drainQueue())}function drainQueue(){if(!draining){var e=runTimeout(cleanUpNextTick);draining=!0;for(var t=queue.length;t;){for(currentQueue=queue,queue=[];++queueIndex<t;)currentQueue&&currentQueue[queueIndex].run();queueIndex=-1,t=queue.length}currentQueue=null,draining=!1,runClearTimeout(e)}}function Item(e,t){this.fun=e,this.array=t}function noop(){}process.nextTick=function(e){var t=new Array(arguments.length-1);if(arguments.length>1)for(var r=1;r<arguments.length;r++)t[r-1]=arguments[r];queue.push(new Item(e,t)),1!==queue.length||draining||runTimeout(drainQueue)},Item.prototype.run=function(){this.fun.apply(null,this.array)},process.title="browser",process.browser=!0,process.env={},process.argv=[],process.version="",process.versions={},process.on=noop,process.addListener=noop,process.once=noop,process.off=noop,process.removeListener=noop,process.removeAllListeners=noop,process.emit=noop,process.prependListener=noop,process.prependOnceListener=noop,process.listeners=function(e){return[]},process.binding=function(e){throw new Error("process.binding is not supported")},process.cwd=function(){return"/"},process.chdir=function(e){throw new Error("process.chdir is not supported")},process.umask=function(){return 0};
},{}],38:[function(require,module,exports){
var buffer=require("buffer"),Buffer=buffer.Buffer;function copyProps(f,e){for(var r in f)e[r]=f[r]}function SafeBuffer(f,e,r){return Buffer(f,e,r)}Buffer.from&&Buffer.alloc&&Buffer.allocUnsafe&&Buffer.allocUnsafeSlow?module.exports=buffer:(copyProps(buffer,exports),exports.Buffer=SafeBuffer),SafeBuffer.prototype=Object.create(Buffer.prototype),copyProps(Buffer,SafeBuffer),SafeBuffer.from=function(f,e,r){if("number"==typeof f)throw new TypeError("Argument must not be a number");return Buffer(f,e,r)},SafeBuffer.alloc=function(f,e,r){if("number"!=typeof f)throw new TypeError("Argument must be a number");var u=Buffer(f);return void 0!==e?"string"==typeof r?u.fill(e,r):u.fill(e):u.fill(0),u},SafeBuffer.allocUnsafe=function(f){if("number"!=typeof f)throw new TypeError("Argument must be a number");return Buffer(f)},SafeBuffer.allocUnsafeSlow=function(f){if("number"!=typeof f)throw new TypeError("Argument must be a number");return buffer.SlowBuffer(f)};
},{"buffer":31}],39:[function(require,module,exports){
(function (Buffer){(function (){
!function(t){t.parser=function(t,e){return new s(t,e)},t.SAXParser=s,t.SAXStream=n,t.createStream=function(t,e){return new n(t,e)},t.MAX_BUFFER_LENGTH=65536;var e,i=["comment","sgmlDecl","textNode","tagName","doctype","procInstName","procInstBody","entity","attribName","attribValue","cdata","script"];function s(e,a){if(!(this instanceof s))return new s(e,a);!function(t){for(var e=0,s=i.length;e<s;e++)t[i[e]]=""}(this),this.q=this.c="",this.bufferCheckPosition=t.MAX_BUFFER_LENGTH,this.opt=a||{},this.opt.lowercase=this.opt.lowercase||this.opt.lowercasetags,this.looseCase=this.opt.lowercase?"toLowerCase":"toUpperCase",this.tags=[],this.closed=this.closedRoot=this.sawRoot=!1,this.tag=this.error=null,this.strict=!!e,this.noscript=!(!e&&!this.opt.noscript),this.state=D.BEGIN,this.strictEntities=this.opt.strictEntities,this.ENTITIES=this.strictEntities?Object.create(t.XML_ENTITIES):Object.create(t.ENTITIES),this.attribList=[],this.opt.xmlns&&(this.ns=Object.create(h)),this.trackPosition=!1!==this.opt.position,this.trackPosition&&(this.position=this.line=this.column=0),C(this,"onready")}t.EVENTS=["text","processinginstruction","sgmldeclaration","doctype","comment","opentagstart","attribute","opentag","closetag","opencdata","cdata","closecdata","error","end","ready","script","opennamespace","closenamespace"],Object.create||(Object.create=function(t){function e(){}return e.prototype=t,new e}),Object.keys||(Object.keys=function(t){var e=[];for(var i in t)t.hasOwnProperty(i)&&e.push(i);return e}),s.prototype={end:function(){v(this)},write:function(e){if(this.error)throw this.error;if(this.closed)return R(this,"Cannot write after close. Assign an onready handler.");if(null===e)return v(this);"object"==typeof e&&(e=e.toString());var s=0,a="";for(;a=M(e,s++),this.c=a,a;)switch(this.trackPosition&&(this.position++,"\n"===a?(this.line++,this.column=0):this.column++),this.state){case D.BEGIN:if(this.state=D.BEGIN_WHITESPACE,"\ufeff"===a)continue;G(this,a);continue;case D.BEGIN_WHITESPACE:G(this,a);continue;case D.TEXT:if(this.sawRoot&&!this.closedRoot){for(var n=s-1;a&&"<"!==a&&"&"!==a;)(a=M(e,s++))&&this.trackPosition&&(this.position++,"\n"===a?(this.line++,this.column=0):this.column++);this.textNode+=e.substring(n,s-1)}"<"!==a||this.sawRoot&&this.closedRoot&&!this.strict?(m(a)||this.sawRoot&&!this.closedRoot||P(this,"Text data outside of root node."),"&"===a?this.state=D.TEXT_ENTITY:this.textNode+=a):(this.state=D.OPEN_WAKA,this.startTagPosition=this.position);continue;case D.SCRIPT:"<"===a?this.state=D.SCRIPT_ENDING:this.script+=a;continue;case D.SCRIPT_ENDING:"/"===a?this.state=D.CLOSE_TAG:(this.script+="<"+a,this.state=D.SCRIPT);continue;case D.OPEN_WAKA:if("!"===a)this.state=D.SGML_DECL,this.sgmlDecl="";else if(m(a));else if(_(l,a))this.state=D.OPEN_TAG,this.tagName=a;else if("/"===a)this.state=D.CLOSE_TAG,this.tagName="";else if("?"===a)this.state=D.PROC_INST,this.procInstName=this.procInstBody="";else{if(P(this,"Unencoded <"),this.startTagPosition+1<this.position){var c=this.position-this.startTagPosition;a=new Array(c).join(" ")+a}this.textNode+="<"+a,this.state=D.TEXT}continue;case D.SGML_DECL:(this.sgmlDecl+a).toUpperCase()===r?(O(this,"onopencdata"),this.state=D.CDATA,this.sgmlDecl="",this.cdata=""):this.sgmlDecl+a==="--"?(this.state=D.COMMENT,this.comment="",this.sgmlDecl=""):(this.sgmlDecl+a).toUpperCase()===o?(this.state=D.DOCTYPE,(this.doctype||this.sawRoot)&&P(this,"Inappropriately located doctype declaration"),this.doctype="",this.sgmlDecl=""):">"===a?(O(this,"onsgmldeclaration",this.sgmlDecl),this.sgmlDecl="",this.state=D.TEXT):N(a)?(this.state=D.SGML_DECL_QUOTED,this.sgmlDecl+=a):this.sgmlDecl+=a;continue;case D.SGML_DECL_QUOTED:a===this.q&&(this.state=D.SGML_DECL,this.q=""),this.sgmlDecl+=a;continue;case D.DOCTYPE:">"===a?(this.state=D.TEXT,O(this,"ondoctype",this.doctype),this.doctype=!0):(this.doctype+=a,"["===a?this.state=D.DOCTYPE_DTD:N(a)&&(this.state=D.DOCTYPE_QUOTED,this.q=a));continue;case D.DOCTYPE_QUOTED:this.doctype+=a,a===this.q&&(this.q="",this.state=D.DOCTYPE);continue;case D.DOCTYPE_DTD:this.doctype+=a,"]"===a?this.state=D.DOCTYPE:N(a)&&(this.state=D.DOCTYPE_DTD_QUOTED,this.q=a);continue;case D.DOCTYPE_DTD_QUOTED:this.doctype+=a,a===this.q&&(this.state=D.DOCTYPE_DTD,this.q="");continue;case D.COMMENT:"-"===a?this.state=D.COMMENT_ENDING:this.comment+=a;continue;case D.COMMENT_ENDING:"-"===a?(this.state=D.COMMENT_ENDED,this.comment=S(this.opt,this.comment),this.comment&&O(this,"oncomment",this.comment),this.comment=""):(this.comment+="-"+a,this.state=D.COMMENT);continue;case D.COMMENT_ENDED:">"!==a?(P(this,"Malformed comment"),this.comment+="--"+a,this.state=D.COMMENT):this.state=D.TEXT;continue;case D.CDATA:"]"===a?this.state=D.CDATA_ENDING:this.cdata+=a;continue;case D.CDATA_ENDING:"]"===a?this.state=D.CDATA_ENDING_2:(this.cdata+="]"+a,this.state=D.CDATA);continue;case D.CDATA_ENDING_2:">"===a?(this.cdata&&O(this,"oncdata",this.cdata),O(this,"onclosecdata"),this.cdata="",this.state=D.TEXT):"]"===a?this.cdata+="]":(this.cdata+="]]"+a,this.state=D.CDATA);continue;case D.PROC_INST:"?"===a?this.state=D.PROC_INST_ENDING:m(a)?this.state=D.PROC_INST_BODY:this.procInstName+=a;continue;case D.PROC_INST_BODY:if(!this.procInstBody&&m(a))continue;"?"===a?this.state=D.PROC_INST_ENDING:this.procInstBody+=a;continue;case D.PROC_INST_ENDING:">"===a?(O(this,"onprocessinginstruction",{name:this.procInstName,body:this.procInstBody}),this.procInstName=this.procInstBody="",this.state=D.TEXT):(this.procInstBody+="?"+a,this.state=D.PROC_INST_BODY);continue;case D.OPEN_TAG:_(T,a)?this.tagName+=a:(y(this),">"===a?U(this):"/"===a?this.state=D.OPEN_TAG_SLASH:(m(a)||P(this,"Invalid character in tag name"),this.state=D.ATTRIB));continue;case D.OPEN_TAG_SLASH:">"===a?(U(this,!0),x(this)):(P(this,"Forward-slash in opening tag not followed by >"),this.state=D.ATTRIB);continue;case D.ATTRIB:if(m(a))continue;">"===a?U(this):"/"===a?this.state=D.OPEN_TAG_SLASH:_(l,a)?(this.attribName=a,this.attribValue="",this.state=D.ATTRIB_NAME):P(this,"Invalid attribute name");continue;case D.ATTRIB_NAME:"="===a?this.state=D.ATTRIB_VALUE:">"===a?(P(this,"Attribute without value"),this.attribValue=this.attribName,B(this),U(this)):m(a)?this.state=D.ATTRIB_NAME_SAW_WHITE:_(T,a)?this.attribName+=a:P(this,"Invalid attribute name");continue;case D.ATTRIB_NAME_SAW_WHITE:if("="===a)this.state=D.ATTRIB_VALUE;else{if(m(a))continue;P(this,"Attribute without value"),this.tag.attributes[this.attribName]="",this.attribValue="",O(this,"onattribute",{name:this.attribName,value:""}),this.attribName="",">"===a?U(this):_(l,a)?(this.attribName=a,this.state=D.ATTRIB_NAME):(P(this,"Invalid attribute name"),this.state=D.ATTRIB)}continue;case D.ATTRIB_VALUE:if(m(a))continue;N(a)?(this.q=a,this.state=D.ATTRIB_VALUE_QUOTED):(P(this,"Unquoted attribute value"),this.state=D.ATTRIB_VALUE_UNQUOTED,this.attribValue=a);continue;case D.ATTRIB_VALUE_QUOTED:if(a!==this.q){"&"===a?this.state=D.ATTRIB_VALUE_ENTITY_Q:this.attribValue+=a;continue}B(this),this.q="",this.state=D.ATTRIB_VALUE_CLOSED;continue;case D.ATTRIB_VALUE_CLOSED:m(a)?this.state=D.ATTRIB:">"===a?U(this):"/"===a?this.state=D.OPEN_TAG_SLASH:_(l,a)?(P(this,"No whitespace between attributes"),this.attribName=a,this.attribValue="",this.state=D.ATTRIB_NAME):P(this,"Invalid attribute name");continue;case D.ATTRIB_VALUE_UNQUOTED:if(!f(a)){"&"===a?this.state=D.ATTRIB_VALUE_ENTITY_U:this.attribValue+=a;continue}B(this),">"===a?U(this):this.state=D.ATTRIB;continue;case D.CLOSE_TAG:if(this.tagName)">"===a?x(this):_(T,a)?this.tagName+=a:this.script?(this.script+="</"+this.tagName,this.tagName="",this.state=D.SCRIPT):(m(a)||P(this,"Invalid tagname in closing tag"),this.state=D.CLOSE_TAG_SAW_WHITE);else{if(m(a))continue;d(l,a)?this.script?(this.script+="</"+a,this.state=D.SCRIPT):P(this,"Invalid tagname in closing tag."):this.tagName=a}continue;case D.CLOSE_TAG_SAW_WHITE:if(m(a))continue;">"===a?x(this):P(this,"Invalid characters in closing tag");continue;case D.TEXT_ENTITY:case D.ATTRIB_VALUE_ENTITY_Q:case D.ATTRIB_VALUE_ENTITY_U:var u,h;switch(this.state){case D.TEXT_ENTITY:u=D.TEXT,h="textNode";break;case D.ATTRIB_VALUE_ENTITY_Q:u=D.ATTRIB_VALUE_QUOTED,h="attribValue";break;case D.ATTRIB_VALUE_ENTITY_U:u=D.ATTRIB_VALUE_UNQUOTED,h="attribValue"}";"===a?(this[h]+=w(this),this.entity="",this.state=u):_(this.entity.length?p:E,a)?this.entity+=a:(P(this,"Invalid character in entity name"),this[h]+="&"+this.entity+a,this.entity="",this.state=u);continue;default:throw new Error(this,"Unknown state: "+this.state)}this.position>=this.bufferCheckPosition&&function(e){for(var s=Math.max(t.MAX_BUFFER_LENGTH,10),a=0,n=0,r=i.length;n<r;n++){var o=e[i[n]].length;if(o>s)switch(i[n]){case"textNode":F(e);break;case"cdata":O(e,"oncdata",e.cdata),e.cdata="";break;case"script":O(e,"onscript",e.script),e.script="";break;default:R(e,"Max buffer length exceeded: "+i[n])}a=Math.max(a,o)}var c=t.MAX_BUFFER_LENGTH-a;e.bufferCheckPosition=c+e.position}(this);return this},resume:function(){return this.error=null,this},close:function(){return this.write(null)},flush:function(){var t;F(t=this),""!==t.cdata&&(O(t,"oncdata",t.cdata),t.cdata=""),""!==t.script&&(O(t,"onscript",t.script),t.script="")}};try{e=require("stream").Stream}catch(t){e=function(){}}var a=t.EVENTS.filter(function(t){return"error"!==t&&"end"!==t});function n(t,i){if(!(this instanceof n))return new n(t,i);e.apply(this),this._parser=new s(t,i),this.writable=!0,this.readable=!0;var r=this;this._parser.onend=function(){r.emit("end")},this._parser.onerror=function(t){r.emit("error",t),r._parser.error=null},this._decoder=null,a.forEach(function(t){Object.defineProperty(r,"on"+t,{get:function(){return r._parser["on"+t]},set:function(e){if(!e)return r.removeAllListeners(t),r._parser["on"+t]=e,e;r.on(t,e)},enumerable:!0,configurable:!1})})}n.prototype=Object.create(e.prototype,{constructor:{value:n}}),n.prototype.write=function(t){if("function"==typeof Buffer&&"function"==typeof Buffer.isBuffer&&Buffer.isBuffer(t)){if(!this._decoder){var e=require("string_decoder").StringDecoder;this._decoder=new e("utf8")}t=this._decoder.write(t)}return this._parser.write(t.toString()),this.emit("data",t),!0},n.prototype.end=function(t){return t&&t.length&&this.write(t),this._parser.end(),!0},n.prototype.on=function(t,i){var s=this;return s._parser["on"+t]||-1===a.indexOf(t)||(s._parser["on"+t]=function(){var e=1===arguments.length?[arguments[0]]:Array.apply(null,arguments);e.splice(0,0,t),s.emit.apply(s,e)}),e.prototype.on.call(s,t,i)};var r="[CDATA[",o="DOCTYPE",c="http://www.w3.org/XML/1998/namespace",u="http://www.w3.org/2000/xmlns/",h={xml:c,xmlns:u},l=/[:_A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD]/,T=/[:_A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\u00B7\u0300-\u036F\u203F-\u2040.\d-]/,E=/[#:_A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD]/,p=/[#:_A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\u00B7\u0300-\u036F\u203F-\u2040.\d-]/;function m(t){return" "===t||"\n"===t||"\r"===t||"\t"===t}function N(t){return'"'===t||"'"===t}function f(t){return">"===t||m(t)}function _(t,e){return t.test(e)}function d(t,e){return!_(t,e)}var g,A,I,D=0;for(var b in t.STATE={BEGIN:D++,BEGIN_WHITESPACE:D++,TEXT:D++,TEXT_ENTITY:D++,OPEN_WAKA:D++,SGML_DECL:D++,SGML_DECL_QUOTED:D++,DOCTYPE:D++,DOCTYPE_QUOTED:D++,DOCTYPE_DTD:D++,DOCTYPE_DTD_QUOTED:D++,COMMENT_STARTING:D++,COMMENT:D++,COMMENT_ENDING:D++,COMMENT_ENDED:D++,CDATA:D++,CDATA_ENDING:D++,CDATA_ENDING_2:D++,PROC_INST:D++,PROC_INST_BODY:D++,PROC_INST_ENDING:D++,OPEN_TAG:D++,OPEN_TAG_SLASH:D++,ATTRIB:D++,ATTRIB_NAME:D++,ATTRIB_NAME_SAW_WHITE:D++,ATTRIB_VALUE:D++,ATTRIB_VALUE_QUOTED:D++,ATTRIB_VALUE_CLOSED:D++,ATTRIB_VALUE_UNQUOTED:D++,ATTRIB_VALUE_ENTITY_Q:D++,ATTRIB_VALUE_ENTITY_U:D++,CLOSE_TAG:D++,CLOSE_TAG_SAW_WHITE:D++,SCRIPT:D++,SCRIPT_ENDING:D++},t.XML_ENTITIES={amp:"&",gt:">",lt:"<",quot:'"',apos:"'"},t.ENTITIES={amp:"&",gt:">",lt:"<",quot:'"',apos:"'",AElig:198,Aacute:193,Acirc:194,Agrave:192,Aring:197,Atilde:195,Auml:196,Ccedil:199,ETH:208,Eacute:201,Ecirc:202,Egrave:200,Euml:203,Iacute:205,Icirc:206,Igrave:204,Iuml:207,Ntilde:209,Oacute:211,Ocirc:212,Ograve:210,Oslash:216,Otilde:213,Ouml:214,THORN:222,Uacute:218,Ucirc:219,Ugrave:217,Uuml:220,Yacute:221,aacute:225,acirc:226,aelig:230,agrave:224,aring:229,atilde:227,auml:228,ccedil:231,eacute:233,ecirc:234,egrave:232,eth:240,euml:235,iacute:237,icirc:238,igrave:236,iuml:239,ntilde:241,oacute:243,ocirc:244,ograve:242,oslash:248,otilde:245,ouml:246,szlig:223,thorn:254,uacute:250,ucirc:251,ugrave:249,uuml:252,yacute:253,yuml:255,copy:169,reg:174,nbsp:160,iexcl:161,cent:162,pound:163,curren:164,yen:165,brvbar:166,sect:167,uml:168,ordf:170,laquo:171,not:172,shy:173,macr:175,deg:176,plusmn:177,sup1:185,sup2:178,sup3:179,acute:180,micro:181,para:182,middot:183,cedil:184,ordm:186,raquo:187,frac14:188,frac12:189,frac34:190,iquest:191,times:215,divide:247,OElig:338,oelig:339,Scaron:352,scaron:353,Yuml:376,fnof:402,circ:710,tilde:732,Alpha:913,Beta:914,Gamma:915,Delta:916,Epsilon:917,Zeta:918,Eta:919,Theta:920,Iota:921,Kappa:922,Lambda:923,Mu:924,Nu:925,Xi:926,Omicron:927,Pi:928,Rho:929,Sigma:931,Tau:932,Upsilon:933,Phi:934,Chi:935,Psi:936,Omega:937,alpha:945,beta:946,gamma:947,delta:948,epsilon:949,zeta:950,eta:951,theta:952,iota:953,kappa:954,lambda:955,mu:956,nu:957,xi:958,omicron:959,pi:960,rho:961,sigmaf:962,sigma:963,tau:964,upsilon:965,phi:966,chi:967,psi:968,omega:969,thetasym:977,upsih:978,piv:982,ensp:8194,emsp:8195,thinsp:8201,zwnj:8204,zwj:8205,lrm:8206,rlm:8207,ndash:8211,mdash:8212,lsquo:8216,rsquo:8217,sbquo:8218,ldquo:8220,rdquo:8221,bdquo:8222,dagger:8224,Dagger:8225,bull:8226,hellip:8230,permil:8240,prime:8242,Prime:8243,lsaquo:8249,rsaquo:8250,oline:8254,frasl:8260,euro:8364,image:8465,weierp:8472,real:8476,trade:8482,alefsym:8501,larr:8592,uarr:8593,rarr:8594,darr:8595,harr:8596,crarr:8629,lArr:8656,uArr:8657,rArr:8658,dArr:8659,hArr:8660,forall:8704,part:8706,exist:8707,empty:8709,nabla:8711,isin:8712,notin:8713,ni:8715,prod:8719,sum:8721,minus:8722,lowast:8727,radic:8730,prop:8733,infin:8734,ang:8736,and:8743,or:8744,cap:8745,cup:8746,int:8747,there4:8756,sim:8764,cong:8773,asymp:8776,ne:8800,equiv:8801,le:8804,ge:8805,sub:8834,sup:8835,nsub:8836,sube:8838,supe:8839,oplus:8853,otimes:8855,perp:8869,sdot:8901,lceil:8968,rceil:8969,lfloor:8970,rfloor:8971,lang:9001,rang:9002,loz:9674,spades:9824,clubs:9827,hearts:9829,diams:9830},Object.keys(t.ENTITIES).forEach(function(e){var i=t.ENTITIES[e],s="number"==typeof i?String.fromCharCode(i):i;t.ENTITIES[e]=s}),t.STATE)t.STATE[t.STATE[b]]=b;function C(t,e,i){t[e]&&t[e](i)}function O(t,e,i){t.textNode&&F(t),C(t,e,i)}function F(t){t.textNode=S(t.opt,t.textNode),t.textNode&&C(t,"ontext",t.textNode),t.textNode=""}function S(t,e){return t.trim&&(e=e.trim()),t.normalize&&(e=e.replace(/\s+/g," ")),e}function R(t,e){return F(t),t.trackPosition&&(e+="\nLine: "+t.line+"\nColumn: "+t.column+"\nChar: "+t.c),e=new Error(e),t.error=e,C(t,"onerror",e),t}function v(t){return t.sawRoot&&!t.closedRoot&&P(t,"Unclosed root tag"),t.state!==D.BEGIN&&t.state!==D.BEGIN_WHITESPACE&&t.state!==D.TEXT&&R(t,"Unexpected end"),F(t),t.c="",t.closed=!0,C(t,"onend"),s.call(t,t.strict,t.opt),t}function P(t,e){if("object"!=typeof t||!(t instanceof s))throw new Error("bad call to strictFail");t.strict&&R(t,e)}function y(t){t.strict||(t.tagName=t.tagName[t.looseCase]());var e=t.tags[t.tags.length-1]||t,i=t.tag={name:t.tagName,attributes:{}};t.opt.xmlns&&(i.ns=e.ns),t.attribList.length=0,O(t,"onopentagstart",i)}function L(t,e){var i=t.indexOf(":")<0?["",t]:t.split(":"),s=i[0],a=i[1];return e&&"xmlns"===t&&(s="xmlns",a=""),{prefix:s,local:a}}function B(t){if(t.strict||(t.attribName=t.attribName[t.looseCase]()),-1!==t.attribList.indexOf(t.attribName)||t.tag.attributes.hasOwnProperty(t.attribName))t.attribName=t.attribValue="";else{if(t.opt.xmlns){var e=L(t.attribName,!0),i=e.prefix,s=e.local;if("xmlns"===i)if("xml"===s&&t.attribValue!==c)P(t,"xml: prefix must be bound to "+c+"\nActual: "+t.attribValue);else if("xmlns"===s&&t.attribValue!==u)P(t,"xmlns: prefix must be bound to "+u+"\nActual: "+t.attribValue);else{var a=t.tag,n=t.tags[t.tags.length-1]||t;a.ns===n.ns&&(a.ns=Object.create(n.ns)),a.ns[s]=t.attribValue}t.attribList.push([t.attribName,t.attribValue])}else t.tag.attributes[t.attribName]=t.attribValue,O(t,"onattribute",{name:t.attribName,value:t.attribValue});t.attribName=t.attribValue=""}}function U(t,e){if(t.opt.xmlns){var i=t.tag,s=L(t.tagName);i.prefix=s.prefix,i.local=s.local,i.uri=i.ns[s.prefix]||"",i.prefix&&!i.uri&&(P(t,"Unbound namespace prefix: "+JSON.stringify(t.tagName)),i.uri=s.prefix);var a=t.tags[t.tags.length-1]||t;i.ns&&a.ns!==i.ns&&Object.keys(i.ns).forEach(function(e){O(t,"onopennamespace",{prefix:e,uri:i.ns[e]})});for(var n=0,r=t.attribList.length;n<r;n++){var o=t.attribList[n],c=o[0],u=o[1],h=L(c,!0),l=h.prefix,T=h.local,E=""===l?"":i.ns[l]||"",p={name:c,value:u,prefix:l,local:T,uri:E};l&&"xmlns"!==l&&!E&&(P(t,"Unbound namespace prefix: "+JSON.stringify(l)),p.uri=l),t.tag.attributes[c]=p,O(t,"onattribute",p)}t.attribList.length=0}t.tag.isSelfClosing=!!e,t.sawRoot=!0,t.tags.push(t.tag),O(t,"onopentag",t.tag),e||(t.noscript||"script"!==t.tagName.toLowerCase()?t.state=D.TEXT:t.state=D.SCRIPT,t.tag=null,t.tagName=""),t.attribName=t.attribValue="",t.attribList.length=0}function x(t){if(!t.tagName)return P(t,"Weird empty close tag."),t.textNode+="</>",void(t.state=D.TEXT);if(t.script){if("script"!==t.tagName)return t.script+="</"+t.tagName+">",t.tagName="",void(t.state=D.SCRIPT);O(t,"onscript",t.script),t.script=""}var e=t.tags.length,i=t.tagName;t.strict||(i=i[t.looseCase]());for(var s=i;e--;){if(t.tags[e].name===s)break;P(t,"Unexpected close tag")}if(e<0)return P(t,"Unmatched closing tag: "+t.tagName),t.textNode+="</"+t.tagName+">",void(t.state=D.TEXT);t.tagName=i;for(var a=t.tags.length;a-- >e;){var n=t.tag=t.tags.pop();t.tagName=t.tag.name,O(t,"onclosetag",t.tagName);var r={};for(var o in n.ns)r[o]=n.ns[o];var c=t.tags[t.tags.length-1]||t;t.opt.xmlns&&n.ns!==c.ns&&Object.keys(n.ns).forEach(function(e){var i=n.ns[e];O(t,"onclosenamespace",{prefix:e,uri:i})})}0===e&&(t.closedRoot=!0),t.tagName=t.attribValue=t.attribName="",t.attribList.length=0,t.state=D.TEXT}function w(t){var e,i=t.entity,s=i.toLowerCase(),a="";return t.ENTITIES[i]?t.ENTITIES[i]:t.ENTITIES[s]?t.ENTITIES[s]:("#"===(i=s).charAt(0)&&("x"===i.charAt(1)?(i=i.slice(2),a=(e=parseInt(i,16)).toString(16)):(i=i.slice(1),a=(e=parseInt(i,10)).toString(10))),i=i.replace(/^0+/,""),isNaN(e)||a.toLowerCase()!==i?(P(t,"Invalid character entity"),"&"+t.entity+";"):String.fromCodePoint(e))}function G(t,e){"<"===e?(t.state=D.OPEN_WAKA,t.startTagPosition=t.position):m(e)||(P(t,"Non-whitespace before first tag."),t.textNode=e,t.state=D.TEXT)}function M(t,e){var i="";return e<t.length&&(i=t.charAt(e)),i}D=t.STATE,String.fromCodePoint||(g=String.fromCharCode,A=Math.floor,I=function(){var t,e,i=[],s=-1,a=arguments.length;if(!a)return"";for(var n="";++s<a;){var r=Number(arguments[s]);if(!isFinite(r)||r<0||r>1114111||A(r)!==r)throw RangeError("Invalid code point: "+r);r<=65535?i.push(r):(t=55296+((r-=65536)>>10),e=r%1024+56320,i.push(t,e)),(s+1===a||i.length>16384)&&(n+=g.apply(null,i),i.length=0)}return n},Object.defineProperty?Object.defineProperty(String,"fromCodePoint",{value:I,configurable:!0,writable:!0}):String.fromCodePoint=I)}("undefined"==typeof exports?this.sax={}:exports);
}).call(this)}).call(this,require("buffer").Buffer)
},{"buffer":31,"stream":40,"string_decoder":55}],40:[function(require,module,exports){
module.exports=Stream;var EE=require("events").EventEmitter,inherits=require("inherits");function Stream(){EE.call(this)}inherits(Stream,EE),Stream.Readable=require("readable-stream/lib/_stream_readable.js"),Stream.Writable=require("readable-stream/lib/_stream_writable.js"),Stream.Duplex=require("readable-stream/lib/_stream_duplex.js"),Stream.Transform=require("readable-stream/lib/_stream_transform.js"),Stream.PassThrough=require("readable-stream/lib/_stream_passthrough.js"),Stream.finished=require("readable-stream/lib/internal/streams/end-of-stream.js"),Stream.pipeline=require("readable-stream/lib/internal/streams/pipeline.js"),Stream.Stream=Stream,Stream.prototype.pipe=function(e,r){var t=this;function a(r){e.writable&&!1===e.write(r)&&t.pause&&t.pause()}function i(){t.readable&&t.resume&&t.resume()}t.on("data",a),e.on("drain",i),e._isStdio||r&&!1===r.end||(t.on("end",s),t.on("close",o));var n=!1;function s(){n||(n=!0,e.end())}function o(){n||(n=!0,"function"==typeof e.destroy&&e.destroy())}function m(e){if(l(),0===EE.listenerCount(this,"error"))throw e}function l(){t.removeListener("data",a),e.removeListener("drain",i),t.removeListener("end",s),t.removeListener("close",o),t.removeListener("error",m),e.removeListener("error",m),t.removeListener("end",l),t.removeListener("close",l),e.removeListener("close",l)}return t.on("error",m),e.on("error",m),t.on("end",l),t.on("close",l),e.on("close",l),e.emit("pipe",t),e};
},{"events":32,"inherits":34,"readable-stream/lib/_stream_duplex.js":42,"readable-stream/lib/_stream_passthrough.js":43,"readable-stream/lib/_stream_readable.js":44,"readable-stream/lib/_stream_transform.js":45,"readable-stream/lib/_stream_writable.js":46,"readable-stream/lib/internal/streams/end-of-stream.js":50,"readable-stream/lib/internal/streams/pipeline.js":52}],41:[function(require,module,exports){
"use strict";function _inheritsLoose(e,r){e.prototype=Object.create(r.prototype),e.prototype.constructor=e,e.__proto__=r}var codes={};function createErrorType(e,r,t){t||(t=Error);var n=function(e){function t(t,n,o){return e.call(this,function(e,t,n){return"string"==typeof r?r:r(e,t,n)}(t,n,o))||this}return _inheritsLoose(t,e),t}(t);n.prototype.name=t.name,n.prototype.code=e,codes[e]=n}function oneOf(e,r){if(Array.isArray(e)){var t=e.length;return e=e.map(function(e){return String(e)}),t>2?"one of ".concat(r," ").concat(e.slice(0,t-1).join(", "),", or ")+e[t-1]:2===t?"one of ".concat(r," ").concat(e[0]," or ").concat(e[1]):"of ".concat(r," ").concat(e[0])}return"of ".concat(r," ").concat(String(e))}function startsWith(e,r,t){return e.substr(!t||t<0?0:+t,r.length)===r}function endsWith(e,r,t){return(void 0===t||t>e.length)&&(t=e.length),e.substring(t-r.length,t)===r}function includes(e,r,t){return"number"!=typeof t&&(t=0),!(t+r.length>e.length)&&-1!==e.indexOf(r,t)}createErrorType("ERR_INVALID_OPT_VALUE",function(e,r){return'The value "'+r+'" is invalid for option "'+e+'"'},TypeError),createErrorType("ERR_INVALID_ARG_TYPE",function(e,r,t){var n,o;if("string"==typeof r&&startsWith(r,"not ")?(n="must not be",r=r.replace(/^not /,"")):n="must be",endsWith(e," argument"))o="The ".concat(e," ").concat(n," ").concat(oneOf(r,"type"));else{var c=includes(e,".")?"property":"argument";o='The "'.concat(e,'" ').concat(c," ").concat(n," ").concat(oneOf(r,"type"))}return o+=". Received type ".concat(typeof t)},TypeError),createErrorType("ERR_STREAM_PUSH_AFTER_EOF","stream.push() after EOF"),createErrorType("ERR_METHOD_NOT_IMPLEMENTED",function(e){return"The "+e+" method is not implemented"}),createErrorType("ERR_STREAM_PREMATURE_CLOSE","Premature close"),createErrorType("ERR_STREAM_DESTROYED",function(e){return"Cannot call "+e+" after a stream was destroyed"}),createErrorType("ERR_MULTIPLE_CALLBACK","Callback called multiple times"),createErrorType("ERR_STREAM_CANNOT_PIPE","Cannot pipe, not readable"),createErrorType("ERR_STREAM_WRITE_AFTER_END","write after end"),createErrorType("ERR_STREAM_NULL_VALUES","May not write null values to stream",TypeError),createErrorType("ERR_UNKNOWN_ENCODING",function(e){return"Unknown encoding: "+e},TypeError),createErrorType("ERR_STREAM_UNSHIFT_AFTER_END_EVENT","stream.unshift() after end event"),module.exports.codes=codes;
},{}],42:[function(require,module,exports){
(function (process){(function (){
"use strict";var objectKeys=Object.keys||function(e){var t=[];for(var r in e)t.push(r);return t};module.exports=Duplex;var Readable=require("./_stream_readable"),Writable=require("./_stream_writable");require("inherits")(Duplex,Readable);for(var keys=objectKeys(Writable.prototype),v=0;v<keys.length;v++){var method=keys[v];Duplex.prototype[method]||(Duplex.prototype[method]=Writable.prototype[method])}function Duplex(e){if(!(this instanceof Duplex))return new Duplex(e);Readable.call(this,e),Writable.call(this,e),this.allowHalfOpen=!0,e&&(!1===e.readable&&(this.readable=!1),!1===e.writable&&(this.writable=!1),!1===e.allowHalfOpen&&(this.allowHalfOpen=!1,this.once("end",onend)))}function onend(){this._writableState.ended||process.nextTick(onEndNT,this)}function onEndNT(e){e.end()}Object.defineProperty(Duplex.prototype,"writableHighWaterMark",{enumerable:!1,get:function(){return this._writableState.highWaterMark}}),Object.defineProperty(Duplex.prototype,"writableBuffer",{enumerable:!1,get:function(){return this._writableState&&this._writableState.getBuffer()}}),Object.defineProperty(Duplex.prototype,"writableLength",{enumerable:!1,get:function(){return this._writableState.length}}),Object.defineProperty(Duplex.prototype,"destroyed",{enumerable:!1,get:function(){return void 0!==this._readableState&&void 0!==this._writableState&&(this._readableState.destroyed&&this._writableState.destroyed)},set:function(e){void 0!==this._readableState&&void 0!==this._writableState&&(this._readableState.destroyed=e,this._writableState.destroyed=e)}});
}).call(this)}).call(this,require('_process'))
},{"./_stream_readable":44,"./_stream_writable":46,"_process":37,"inherits":34}],43:[function(require,module,exports){
"use strict";module.exports=PassThrough;var Transform=require("./_stream_transform");function PassThrough(r){if(!(this instanceof PassThrough))return new PassThrough(r);Transform.call(this,r)}require("inherits")(PassThrough,Transform),PassThrough.prototype._transform=function(r,s,o){o(null,r)};
},{"./_stream_transform":45,"inherits":34}],44:[function(require,module,exports){
(function (process,global){(function (){
"use strict";var Duplex;module.exports=Readable,Readable.ReadableState=ReadableState;var EE=require("events").EventEmitter,EElistenerCount=function(e,t){return e.listeners(t).length},Stream=require("./internal/streams/stream"),Buffer=require("buffer").Buffer,OurUint8Array=global.Uint8Array||function(){};function _uint8ArrayToBuffer(e){return Buffer.from(e)}function _isUint8Array(e){return Buffer.isBuffer(e)||e instanceof OurUint8Array}var debug,debugUtil=require("util");debug=debugUtil&&debugUtil.debuglog?debugUtil.debuglog("stream"):function(){};var StringDecoder,createReadableStreamAsyncIterator,from,BufferList=require("./internal/streams/buffer_list"),destroyImpl=require("./internal/streams/destroy"),_require=require("./internal/streams/state"),getHighWaterMark=_require.getHighWaterMark,_require$codes=require("../errors").codes,ERR_INVALID_ARG_TYPE=_require$codes.ERR_INVALID_ARG_TYPE,ERR_STREAM_PUSH_AFTER_EOF=_require$codes.ERR_STREAM_PUSH_AFTER_EOF,ERR_METHOD_NOT_IMPLEMENTED=_require$codes.ERR_METHOD_NOT_IMPLEMENTED,ERR_STREAM_UNSHIFT_AFTER_END_EVENT=_require$codes.ERR_STREAM_UNSHIFT_AFTER_END_EVENT;require("inherits")(Readable,Stream);var errorOrDestroy=destroyImpl.errorOrDestroy,kProxyEvents=["error","close","destroy","pause","resume"];function prependListener(e,t,r){if("function"==typeof e.prependListener)return e.prependListener(t,r);e._events&&e._events[t]?Array.isArray(e._events[t])?e._events[t].unshift(r):e._events[t]=[r,e._events[t]]:e.on(t,r)}function ReadableState(e,t,r){Duplex=Duplex||require("./_stream_duplex"),e=e||{},"boolean"!=typeof r&&(r=t instanceof Duplex),this.objectMode=!!e.objectMode,r&&(this.objectMode=this.objectMode||!!e.readableObjectMode),this.highWaterMark=getHighWaterMark(this,e,"readableHighWaterMark",r),this.buffer=new BufferList,this.length=0,this.pipes=null,this.pipesCount=0,this.flowing=null,this.ended=!1,this.endEmitted=!1,this.reading=!1,this.sync=!0,this.needReadable=!1,this.emittedReadable=!1,this.readableListening=!1,this.resumeScheduled=!1,this.paused=!0,this.emitClose=!1!==e.emitClose,this.autoDestroy=!!e.autoDestroy,this.destroyed=!1,this.defaultEncoding=e.defaultEncoding||"utf8",this.awaitDrain=0,this.readingMore=!1,this.decoder=null,this.encoding=null,e.encoding&&(StringDecoder||(StringDecoder=require("string_decoder/").StringDecoder),this.decoder=new StringDecoder(e.encoding),this.encoding=e.encoding)}function Readable(e){if(Duplex=Duplex||require("./_stream_duplex"),!(this instanceof Readable))return new Readable(e);var t=this instanceof Duplex;this._readableState=new ReadableState(e,this,t),this.readable=!0,e&&("function"==typeof e.read&&(this._read=e.read),"function"==typeof e.destroy&&(this._destroy=e.destroy)),Stream.call(this)}function readableAddChunk(e,t,r,a,n){debug("readableAddChunk",t);var i,d=e._readableState;if(null===t)d.reading=!1,onEofChunk(e,d);else if(n||(i=chunkInvalid(d,t)),i)errorOrDestroy(e,i);else if(d.objectMode||t&&t.length>0)if("string"==typeof t||d.objectMode||Object.getPrototypeOf(t)===Buffer.prototype||(t=_uint8ArrayToBuffer(t)),a)d.endEmitted?errorOrDestroy(e,new ERR_STREAM_UNSHIFT_AFTER_END_EVENT):addChunk(e,d,t,!0);else if(d.ended)errorOrDestroy(e,new ERR_STREAM_PUSH_AFTER_EOF);else{if(d.destroyed)return!1;d.reading=!1,d.decoder&&!r?(t=d.decoder.write(t),d.objectMode||0!==t.length?addChunk(e,d,t,!1):maybeReadMore(e,d)):addChunk(e,d,t,!1)}else a||(d.reading=!1,maybeReadMore(e,d));return!d.ended&&(d.length<d.highWaterMark||0===d.length)}function addChunk(e,t,r,a){t.flowing&&0===t.length&&!t.sync?(t.awaitDrain=0,e.emit("data",r)):(t.length+=t.objectMode?1:r.length,a?t.buffer.unshift(r):t.buffer.push(r),t.needReadable&&emitReadable(e)),maybeReadMore(e,t)}function chunkInvalid(e,t){var r;return _isUint8Array(t)||"string"==typeof t||void 0===t||e.objectMode||(r=new ERR_INVALID_ARG_TYPE("chunk",["string","Buffer","Uint8Array"],t)),r}Object.defineProperty(Readable.prototype,"destroyed",{enumerable:!1,get:function(){return void 0!==this._readableState&&this._readableState.destroyed},set:function(e){this._readableState&&(this._readableState.destroyed=e)}}),Readable.prototype.destroy=destroyImpl.destroy,Readable.prototype._undestroy=destroyImpl.undestroy,Readable.prototype._destroy=function(e,t){t(e)},Readable.prototype.push=function(e,t){var r,a=this._readableState;return a.objectMode?r=!0:"string"==typeof e&&((t=t||a.defaultEncoding)!==a.encoding&&(e=Buffer.from(e,t),t=""),r=!0),readableAddChunk(this,e,t,!1,r)},Readable.prototype.unshift=function(e){return readableAddChunk(this,e,null,!0,!1)},Readable.prototype.isPaused=function(){return!1===this._readableState.flowing},Readable.prototype.setEncoding=function(e){StringDecoder||(StringDecoder=require("string_decoder/").StringDecoder);var t=new StringDecoder(e);this._readableState.decoder=t,this._readableState.encoding=this._readableState.decoder.encoding;for(var r=this._readableState.buffer.head,a="";null!==r;)a+=t.write(r.data),r=r.next;return this._readableState.buffer.clear(),""!==a&&this._readableState.buffer.push(a),this._readableState.length=a.length,this};var MAX_HWM=1073741824;function computeNewHighWaterMark(e){return e>=MAX_HWM?e=MAX_HWM:(e--,e|=e>>>1,e|=e>>>2,e|=e>>>4,e|=e>>>8,e|=e>>>16,e++),e}function howMuchToRead(e,t){return e<=0||0===t.length&&t.ended?0:t.objectMode?1:e!=e?t.flowing&&t.length?t.buffer.head.data.length:t.length:(e>t.highWaterMark&&(t.highWaterMark=computeNewHighWaterMark(e)),e<=t.length?e:t.ended?t.length:(t.needReadable=!0,0))}function onEofChunk(e,t){if(debug("onEofChunk"),!t.ended){if(t.decoder){var r=t.decoder.end();r&&r.length&&(t.buffer.push(r),t.length+=t.objectMode?1:r.length)}t.ended=!0,t.sync?emitReadable(e):(t.needReadable=!1,t.emittedReadable||(t.emittedReadable=!0,emitReadable_(e)))}}function emitReadable(e){var t=e._readableState;debug("emitReadable",t.needReadable,t.emittedReadable),t.needReadable=!1,t.emittedReadable||(debug("emitReadable",t.flowing),t.emittedReadable=!0,process.nextTick(emitReadable_,e))}function emitReadable_(e){var t=e._readableState;debug("emitReadable_",t.destroyed,t.length,t.ended),t.destroyed||!t.length&&!t.ended||(e.emit("readable"),t.emittedReadable=!1),t.needReadable=!t.flowing&&!t.ended&&t.length<=t.highWaterMark,flow(e)}function maybeReadMore(e,t){t.readingMore||(t.readingMore=!0,process.nextTick(maybeReadMore_,e,t))}function maybeReadMore_(e,t){for(;!t.reading&&!t.ended&&(t.length<t.highWaterMark||t.flowing&&0===t.length);){var r=t.length;if(debug("maybeReadMore read 0"),e.read(0),r===t.length)break}t.readingMore=!1}function pipeOnDrain(e){return function(){var t=e._readableState;debug("pipeOnDrain",t.awaitDrain),t.awaitDrain&&t.awaitDrain--,0===t.awaitDrain&&EElistenerCount(e,"data")&&(t.flowing=!0,flow(e))}}function updateReadableListening(e){var t=e._readableState;t.readableListening=e.listenerCount("readable")>0,t.resumeScheduled&&!t.paused?t.flowing=!0:e.listenerCount("data")>0&&e.resume()}function nReadingNextTick(e){debug("readable nexttick read 0"),e.read(0)}function resume(e,t){t.resumeScheduled||(t.resumeScheduled=!0,process.nextTick(resume_,e,t))}function resume_(e,t){debug("resume",t.reading),t.reading||e.read(0),t.resumeScheduled=!1,e.emit("resume"),flow(e),t.flowing&&!t.reading&&e.read(0)}function flow(e){var t=e._readableState;for(debug("flow",t.flowing);t.flowing&&null!==e.read(););}function fromList(e,t){return 0===t.length?null:(t.objectMode?r=t.buffer.shift():!e||e>=t.length?(r=t.decoder?t.buffer.join(""):1===t.buffer.length?t.buffer.first():t.buffer.concat(t.length),t.buffer.clear()):r=t.buffer.consume(e,t.decoder),r);var r}function endReadable(e){var t=e._readableState;debug("endReadable",t.endEmitted),t.endEmitted||(t.ended=!0,process.nextTick(endReadableNT,t,e))}function endReadableNT(e,t){if(debug("endReadableNT",e.endEmitted,e.length),!e.endEmitted&&0===e.length&&(e.endEmitted=!0,t.readable=!1,t.emit("end"),e.autoDestroy)){var r=t._writableState;(!r||r.autoDestroy&&r.finished)&&t.destroy()}}function indexOf(e,t){for(var r=0,a=e.length;r<a;r++)if(e[r]===t)return r;return-1}Readable.prototype.read=function(e){debug("read",e),e=parseInt(e,10);var t=this._readableState,r=e;if(0!==e&&(t.emittedReadable=!1),0===e&&t.needReadable&&((0!==t.highWaterMark?t.length>=t.highWaterMark:t.length>0)||t.ended))return debug("read: emitReadable",t.length,t.ended),0===t.length&&t.ended?endReadable(this):emitReadable(this),null;if(0===(e=howMuchToRead(e,t))&&t.ended)return 0===t.length&&endReadable(this),null;var a,n=t.needReadable;return debug("need readable",n),(0===t.length||t.length-e<t.highWaterMark)&&debug("length less than watermark",n=!0),t.ended||t.reading?debug("reading or ended",n=!1):n&&(debug("do read"),t.reading=!0,t.sync=!0,0===t.length&&(t.needReadable=!0),this._read(t.highWaterMark),t.sync=!1,t.reading||(e=howMuchToRead(r,t))),null===(a=e>0?fromList(e,t):null)?(t.needReadable=t.length<=t.highWaterMark,e=0):(t.length-=e,t.awaitDrain=0),0===t.length&&(t.ended||(t.needReadable=!0),r!==e&&t.ended&&endReadable(this)),null!==a&&this.emit("data",a),a},Readable.prototype._read=function(e){errorOrDestroy(this,new ERR_METHOD_NOT_IMPLEMENTED("_read()"))},Readable.prototype.pipe=function(e,t){var r=this,a=this._readableState;switch(a.pipesCount){case 0:a.pipes=e;break;case 1:a.pipes=[a.pipes,e];break;default:a.pipes.push(e)}a.pipesCount+=1,debug("pipe count=%d opts=%j",a.pipesCount,t);var n=(!t||!1!==t.end)&&e!==process.stdout&&e!==process.stderr?d:f;function i(t,n){debug("onunpipe"),t===r&&n&&!1===n.hasUnpiped&&(n.hasUnpiped=!0,debug("cleanup"),e.removeListener("close",b),e.removeListener("finish",p),e.removeListener("drain",o),e.removeListener("error",u),e.removeListener("unpipe",i),r.removeListener("end",d),r.removeListener("end",f),r.removeListener("data",l),s=!0,!a.awaitDrain||e._writableState&&!e._writableState.needDrain||o())}function d(){debug("onend"),e.end()}a.endEmitted?process.nextTick(n):r.once("end",n),e.on("unpipe",i);var o=pipeOnDrain(r);e.on("drain",o);var s=!1;function l(t){debug("ondata");var n=e.write(t);debug("dest.write",n),!1===n&&((1===a.pipesCount&&a.pipes===e||a.pipesCount>1&&-1!==indexOf(a.pipes,e))&&!s&&(debug("false write response, pause",a.awaitDrain),a.awaitDrain++),r.pause())}function u(t){debug("onerror",t),f(),e.removeListener("error",u),0===EElistenerCount(e,"error")&&errorOrDestroy(e,t)}function b(){e.removeListener("finish",p),f()}function p(){debug("onfinish"),e.removeListener("close",b),f()}function f(){debug("unpipe"),r.unpipe(e)}return r.on("data",l),prependListener(e,"error",u),e.once("close",b),e.once("finish",p),e.emit("pipe",r),a.flowing||(debug("pipe resume"),r.resume()),e},Readable.prototype.unpipe=function(e){var t=this._readableState,r={hasUnpiped:!1};if(0===t.pipesCount)return this;if(1===t.pipesCount)return e&&e!==t.pipes?this:(e||(e=t.pipes),t.pipes=null,t.pipesCount=0,t.flowing=!1,e&&e.emit("unpipe",this,r),this);if(!e){var a=t.pipes,n=t.pipesCount;t.pipes=null,t.pipesCount=0,t.flowing=!1;for(var i=0;i<n;i++)a[i].emit("unpipe",this,{hasUnpiped:!1});return this}var d=indexOf(t.pipes,e);return-1===d?this:(t.pipes.splice(d,1),t.pipesCount-=1,1===t.pipesCount&&(t.pipes=t.pipes[0]),e.emit("unpipe",this,r),this)},Readable.prototype.on=function(e,t){var r=Stream.prototype.on.call(this,e,t),a=this._readableState;return"data"===e?(a.readableListening=this.listenerCount("readable")>0,!1!==a.flowing&&this.resume()):"readable"===e&&(a.endEmitted||a.readableListening||(a.readableListening=a.needReadable=!0,a.flowing=!1,a.emittedReadable=!1,debug("on readable",a.length,a.reading),a.length?emitReadable(this):a.reading||process.nextTick(nReadingNextTick,this))),r},Readable.prototype.addListener=Readable.prototype.on,Readable.prototype.removeListener=function(e,t){var r=Stream.prototype.removeListener.call(this,e,t);return"readable"===e&&process.nextTick(updateReadableListening,this),r},Readable.prototype.removeAllListeners=function(e){var t=Stream.prototype.removeAllListeners.apply(this,arguments);return"readable"!==e&&void 0!==e||process.nextTick(updateReadableListening,this),t},Readable.prototype.resume=function(){var e=this._readableState;return e.flowing||(debug("resume"),e.flowing=!e.readableListening,resume(this,e)),e.paused=!1,this},Readable.prototype.pause=function(){return debug("call pause flowing=%j",this._readableState.flowing),!1!==this._readableState.flowing&&(debug("pause"),this._readableState.flowing=!1,this.emit("pause")),this._readableState.paused=!0,this},Readable.prototype.wrap=function(e){var t=this,r=this._readableState,a=!1;for(var n in e.on("end",function(){if(debug("wrapped end"),r.decoder&&!r.ended){var e=r.decoder.end();e&&e.length&&t.push(e)}t.push(null)}),e.on("data",function(n){(debug("wrapped data"),r.decoder&&(n=r.decoder.write(n)),r.objectMode&&null==n)||(r.objectMode||n&&n.length)&&(t.push(n)||(a=!0,e.pause()))}),e)void 0===this[n]&&"function"==typeof e[n]&&(this[n]=function(t){return function(){return e[t].apply(e,arguments)}}(n));for(var i=0;i<kProxyEvents.length;i++)e.on(kProxyEvents[i],this.emit.bind(this,kProxyEvents[i]));return this._read=function(t){debug("wrapped _read",t),a&&(a=!1,e.resume())},this},"function"==typeof Symbol&&(Readable.prototype[Symbol.asyncIterator]=function(){return void 0===createReadableStreamAsyncIterator&&(createReadableStreamAsyncIterator=require("./internal/streams/async_iterator")),createReadableStreamAsyncIterator(this)}),Object.defineProperty(Readable.prototype,"readableHighWaterMark",{enumerable:!1,get:function(){return this._readableState.highWaterMark}}),Object.defineProperty(Readable.prototype,"readableBuffer",{enumerable:!1,get:function(){return this._readableState&&this._readableState.buffer}}),Object.defineProperty(Readable.prototype,"readableFlowing",{enumerable:!1,get:function(){return this._readableState.flowing},set:function(e){this._readableState&&(this._readableState.flowing=e)}}),Readable._fromList=fromList,Object.defineProperty(Readable.prototype,"readableLength",{enumerable:!1,get:function(){return this._readableState.length}}),"function"==typeof Symbol&&(Readable.from=function(e,t){return void 0===from&&(from=require("./internal/streams/from")),from(Readable,e,t)});
}).call(this)}).call(this,require('_process'),typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {})
},{"../errors":41,"./_stream_duplex":42,"./internal/streams/async_iterator":47,"./internal/streams/buffer_list":48,"./internal/streams/destroy":49,"./internal/streams/from":51,"./internal/streams/state":53,"./internal/streams/stream":54,"_process":37,"buffer":31,"events":32,"inherits":34,"string_decoder/":55,"util":30}],45:[function(require,module,exports){
"use strict";module.exports=Transform;var _require$codes=require("../errors").codes,ERR_METHOD_NOT_IMPLEMENTED=_require$codes.ERR_METHOD_NOT_IMPLEMENTED,ERR_MULTIPLE_CALLBACK=_require$codes.ERR_MULTIPLE_CALLBACK,ERR_TRANSFORM_ALREADY_TRANSFORMING=_require$codes.ERR_TRANSFORM_ALREADY_TRANSFORMING,ERR_TRANSFORM_WITH_LENGTH_0=_require$codes.ERR_TRANSFORM_WITH_LENGTH_0,Duplex=require("./_stream_duplex");function afterTransform(r,e){var t=this._transformState;t.transforming=!1;var n=t.writecb;if(null===n)return this.emit("error",new ERR_MULTIPLE_CALLBACK);t.writechunk=null,t.writecb=null,null!=e&&this.push(e),n(r);var i=this._readableState;i.reading=!1,(i.needReadable||i.length<i.highWaterMark)&&this._read(i.highWaterMark)}function Transform(r){if(!(this instanceof Transform))return new Transform(r);Duplex.call(this,r),this._transformState={afterTransform:afterTransform.bind(this),needTransform:!1,transforming:!1,writecb:null,writechunk:null,writeencoding:null},this._readableState.needReadable=!0,this._readableState.sync=!1,r&&("function"==typeof r.transform&&(this._transform=r.transform),"function"==typeof r.flush&&(this._flush=r.flush)),this.on("prefinish",prefinish)}function prefinish(){var r=this;"function"!=typeof this._flush||this._readableState.destroyed?done(this,null,null):this._flush(function(e,t){done(r,e,t)})}function done(r,e,t){if(e)return r.emit("error",e);if(null!=t&&r.push(t),r._writableState.length)throw new ERR_TRANSFORM_WITH_LENGTH_0;if(r._transformState.transforming)throw new ERR_TRANSFORM_ALREADY_TRANSFORMING;return r.push(null)}require("inherits")(Transform,Duplex),Transform.prototype.push=function(r,e){return this._transformState.needTransform=!1,Duplex.prototype.push.call(this,r,e)},Transform.prototype._transform=function(r,e,t){t(new ERR_METHOD_NOT_IMPLEMENTED("_transform()"))},Transform.prototype._write=function(r,e,t){var n=this._transformState;if(n.writecb=t,n.writechunk=r,n.writeencoding=e,!n.transforming){var i=this._readableState;(n.needTransform||i.needReadable||i.length<i.highWaterMark)&&this._read(i.highWaterMark)}},Transform.prototype._read=function(r){var e=this._transformState;null===e.writechunk||e.transforming?e.needTransform=!0:(e.transforming=!0,this._transform(e.writechunk,e.writeencoding,e.afterTransform))},Transform.prototype._destroy=function(r,e){Duplex.prototype._destroy.call(this,r,function(r){e(r)})};
},{"../errors":41,"./_stream_duplex":42,"inherits":34}],46:[function(require,module,exports){
(function (process,global){(function (){
"use strict";function WriteReq(e,t,r){this.chunk=e,this.encoding=t,this.callback=r,this.next=null}function CorkedRequest(e){var t=this;this.next=null,this.entry=null,this.finish=function(){onCorkedFinish(t,e)}}var Duplex;module.exports=Writable,Writable.WritableState=WritableState;var internalUtil={deprecate:require("util-deprecate")},Stream=require("./internal/streams/stream"),Buffer=require("buffer").Buffer,OurUint8Array=global.Uint8Array||function(){};function _uint8ArrayToBuffer(e){return Buffer.from(e)}function _isUint8Array(e){return Buffer.isBuffer(e)||e instanceof OurUint8Array}var realHasInstance,destroyImpl=require("./internal/streams/destroy"),_require=require("./internal/streams/state"),getHighWaterMark=_require.getHighWaterMark,_require$codes=require("../errors").codes,ERR_INVALID_ARG_TYPE=_require$codes.ERR_INVALID_ARG_TYPE,ERR_METHOD_NOT_IMPLEMENTED=_require$codes.ERR_METHOD_NOT_IMPLEMENTED,ERR_MULTIPLE_CALLBACK=_require$codes.ERR_MULTIPLE_CALLBACK,ERR_STREAM_CANNOT_PIPE=_require$codes.ERR_STREAM_CANNOT_PIPE,ERR_STREAM_DESTROYED=_require$codes.ERR_STREAM_DESTROYED,ERR_STREAM_NULL_VALUES=_require$codes.ERR_STREAM_NULL_VALUES,ERR_STREAM_WRITE_AFTER_END=_require$codes.ERR_STREAM_WRITE_AFTER_END,ERR_UNKNOWN_ENCODING=_require$codes.ERR_UNKNOWN_ENCODING,errorOrDestroy=destroyImpl.errorOrDestroy;function nop(){}function WritableState(e,t,r){Duplex=Duplex||require("./_stream_duplex"),e=e||{},"boolean"!=typeof r&&(r=t instanceof Duplex),this.objectMode=!!e.objectMode,r&&(this.objectMode=this.objectMode||!!e.writableObjectMode),this.highWaterMark=getHighWaterMark(this,e,"writableHighWaterMark",r),this.finalCalled=!1,this.needDrain=!1,this.ending=!1,this.ended=!1,this.finished=!1,this.destroyed=!1;var i=!1===e.decodeStrings;this.decodeStrings=!i,this.defaultEncoding=e.defaultEncoding||"utf8",this.length=0,this.writing=!1,this.corked=0,this.sync=!0,this.bufferProcessing=!1,this.onwrite=function(e){onwrite(t,e)},this.writecb=null,this.writelen=0,this.bufferedRequest=null,this.lastBufferedRequest=null,this.pendingcb=0,this.prefinished=!1,this.errorEmitted=!1,this.emitClose=!1!==e.emitClose,this.autoDestroy=!!e.autoDestroy,this.bufferedRequestCount=0,this.corkedRequestsFree=new CorkedRequest(this)}function Writable(e){var t=this instanceof(Duplex=Duplex||require("./_stream_duplex"));if(!t&&!realHasInstance.call(Writable,this))return new Writable(e);this._writableState=new WritableState(e,this,t),this.writable=!0,e&&("function"==typeof e.write&&(this._write=e.write),"function"==typeof e.writev&&(this._writev=e.writev),"function"==typeof e.destroy&&(this._destroy=e.destroy),"function"==typeof e.final&&(this._final=e.final)),Stream.call(this)}function writeAfterEnd(e,t){var r=new ERR_STREAM_WRITE_AFTER_END;errorOrDestroy(e,r),process.nextTick(t,r)}function validChunk(e,t,r,i){var n;return null===r?n=new ERR_STREAM_NULL_VALUES:"string"==typeof r||t.objectMode||(n=new ERR_INVALID_ARG_TYPE("chunk",["string","Buffer"],r)),!n||(errorOrDestroy(e,n),process.nextTick(i,n),!1)}function decodeChunk(e,t,r){return e.objectMode||!1===e.decodeStrings||"string"!=typeof t||(t=Buffer.from(t,r)),t}function writeOrBuffer(e,t,r,i,n,o){if(!r){var s=decodeChunk(t,i,n);i!==s&&(r=!0,n="buffer",i=s)}var a=t.objectMode?1:i.length;t.length+=a;var u=t.length<t.highWaterMark;if(u||(t.needDrain=!0),t.writing||t.corked){var f=t.lastBufferedRequest;t.lastBufferedRequest={chunk:i,encoding:n,isBuf:r,callback:o,next:null},f?f.next=t.lastBufferedRequest:t.bufferedRequest=t.lastBufferedRequest,t.bufferedRequestCount+=1}else doWrite(e,t,!1,a,i,n,o);return u}function doWrite(e,t,r,i,n,o,s){t.writelen=i,t.writecb=s,t.writing=!0,t.sync=!0,t.destroyed?t.onwrite(new ERR_STREAM_DESTROYED("write")):r?e._writev(n,t.onwrite):e._write(n,o,t.onwrite),t.sync=!1}function onwriteError(e,t,r,i,n){--t.pendingcb,r?(process.nextTick(n,i),process.nextTick(finishMaybe,e,t),e._writableState.errorEmitted=!0,errorOrDestroy(e,i)):(n(i),e._writableState.errorEmitted=!0,errorOrDestroy(e,i),finishMaybe(e,t))}function onwriteStateUpdate(e){e.writing=!1,e.writecb=null,e.length-=e.writelen,e.writelen=0}function onwrite(e,t){var r=e._writableState,i=r.sync,n=r.writecb;if("function"!=typeof n)throw new ERR_MULTIPLE_CALLBACK;if(onwriteStateUpdate(r),t)onwriteError(e,r,i,t,n);else{var o=needFinish(r)||e.destroyed;o||r.corked||r.bufferProcessing||!r.bufferedRequest||clearBuffer(e,r),i?process.nextTick(afterWrite,e,r,o,n):afterWrite(e,r,o,n)}}function afterWrite(e,t,r,i){r||onwriteDrain(e,t),t.pendingcb--,i(),finishMaybe(e,t)}function onwriteDrain(e,t){0===t.length&&t.needDrain&&(t.needDrain=!1,e.emit("drain"))}function clearBuffer(e,t){t.bufferProcessing=!0;var r=t.bufferedRequest;if(e._writev&&r&&r.next){var i=t.bufferedRequestCount,n=new Array(i),o=t.corkedRequestsFree;o.entry=r;for(var s=0,a=!0;r;)n[s]=r,r.isBuf||(a=!1),r=r.next,s+=1;n.allBuffers=a,doWrite(e,t,!0,t.length,n,"",o.finish),t.pendingcb++,t.lastBufferedRequest=null,o.next?(t.corkedRequestsFree=o.next,o.next=null):t.corkedRequestsFree=new CorkedRequest(t),t.bufferedRequestCount=0}else{for(;r;){var u=r.chunk,f=r.encoding,l=r.callback;if(doWrite(e,t,!1,t.objectMode?1:u.length,u,f,l),r=r.next,t.bufferedRequestCount--,t.writing)break}null===r&&(t.lastBufferedRequest=null)}t.bufferedRequest=r,t.bufferProcessing=!1}function needFinish(e){return e.ending&&0===e.length&&null===e.bufferedRequest&&!e.finished&&!e.writing}function callFinal(e,t){e._final(function(r){t.pendingcb--,r&&errorOrDestroy(e,r),t.prefinished=!0,e.emit("prefinish"),finishMaybe(e,t)})}function prefinish(e,t){t.prefinished||t.finalCalled||("function"!=typeof e._final||t.destroyed?(t.prefinished=!0,e.emit("prefinish")):(t.pendingcb++,t.finalCalled=!0,process.nextTick(callFinal,e,t)))}function finishMaybe(e,t){var r=needFinish(t);if(r&&(prefinish(e,t),0===t.pendingcb&&(t.finished=!0,e.emit("finish"),t.autoDestroy))){var i=e._readableState;(!i||i.autoDestroy&&i.endEmitted)&&e.destroy()}return r}function endWritable(e,t,r){t.ending=!0,finishMaybe(e,t),r&&(t.finished?process.nextTick(r):e.once("finish",r)),t.ended=!0,e.writable=!1}function onCorkedFinish(e,t,r){var i=e.entry;for(e.entry=null;i;){var n=i.callback;t.pendingcb--,n(r),i=i.next}t.corkedRequestsFree.next=e}require("inherits")(Writable,Stream),WritableState.prototype.getBuffer=function(){for(var e=this.bufferedRequest,t=[];e;)t.push(e),e=e.next;return t},function(){try{Object.defineProperty(WritableState.prototype,"buffer",{get:internalUtil.deprecate(function(){return this.getBuffer()},"_writableState.buffer is deprecated. Use _writableState.getBuffer instead.","DEP0003")})}catch(e){}}(),"function"==typeof Symbol&&Symbol.hasInstance&&"function"==typeof Function.prototype[Symbol.hasInstance]?(realHasInstance=Function.prototype[Symbol.hasInstance],Object.defineProperty(Writable,Symbol.hasInstance,{value:function(e){return!!realHasInstance.call(this,e)||this===Writable&&(e&&e._writableState instanceof WritableState)}})):realHasInstance=function(e){return e instanceof this},Writable.prototype.pipe=function(){errorOrDestroy(this,new ERR_STREAM_CANNOT_PIPE)},Writable.prototype.write=function(e,t,r){var i=this._writableState,n=!1,o=!i.objectMode&&_isUint8Array(e);return o&&!Buffer.isBuffer(e)&&(e=_uint8ArrayToBuffer(e)),"function"==typeof t&&(r=t,t=null),o?t="buffer":t||(t=i.defaultEncoding),"function"!=typeof r&&(r=nop),i.ending?writeAfterEnd(this,r):(o||validChunk(this,i,e,r))&&(i.pendingcb++,n=writeOrBuffer(this,i,o,e,t,r)),n},Writable.prototype.cork=function(){this._writableState.corked++},Writable.prototype.uncork=function(){var e=this._writableState;e.corked&&(e.corked--,e.writing||e.corked||e.bufferProcessing||!e.bufferedRequest||clearBuffer(this,e))},Writable.prototype.setDefaultEncoding=function(e){if("string"==typeof e&&(e=e.toLowerCase()),!(["hex","utf8","utf-8","ascii","binary","base64","ucs2","ucs-2","utf16le","utf-16le","raw"].indexOf((e+"").toLowerCase())>-1))throw new ERR_UNKNOWN_ENCODING(e);return this._writableState.defaultEncoding=e,this},Object.defineProperty(Writable.prototype,"writableBuffer",{enumerable:!1,get:function(){return this._writableState&&this._writableState.getBuffer()}}),Object.defineProperty(Writable.prototype,"writableHighWaterMark",{enumerable:!1,get:function(){return this._writableState.highWaterMark}}),Writable.prototype._write=function(e,t,r){r(new ERR_METHOD_NOT_IMPLEMENTED("_write()"))},Writable.prototype._writev=null,Writable.prototype.end=function(e,t,r){var i=this._writableState;return"function"==typeof e?(r=e,e=null,t=null):"function"==typeof t&&(r=t,t=null),null!=e&&this.write(e,t),i.corked&&(i.corked=1,this.uncork()),i.ending||endWritable(this,i,r),this},Object.defineProperty(Writable.prototype,"writableLength",{enumerable:!1,get:function(){return this._writableState.length}}),Object.defineProperty(Writable.prototype,"destroyed",{enumerable:!1,get:function(){return void 0!==this._writableState&&this._writableState.destroyed},set:function(e){this._writableState&&(this._writableState.destroyed=e)}}),Writable.prototype.destroy=destroyImpl.destroy,Writable.prototype._undestroy=destroyImpl.undestroy,Writable.prototype._destroy=function(e,t){t(e)};
}).call(this)}).call(this,require('_process'),typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {})
},{"../errors":41,"./_stream_duplex":42,"./internal/streams/destroy":49,"./internal/streams/state":53,"./internal/streams/stream":54,"_process":37,"buffer":31,"inherits":34,"util-deprecate":57}],47:[function(require,module,exports){
(function (process){(function (){
"use strict";var _Object$setPrototypeO;function _defineProperty(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}var finished=require("./end-of-stream"),kLastResolve=Symbol("lastResolve"),kLastReject=Symbol("lastReject"),kError=Symbol("error"),kEnded=Symbol("ended"),kLastPromise=Symbol("lastPromise"),kHandlePromise=Symbol("handlePromise"),kStream=Symbol("stream");function createIterResult(e,t){return{value:e,done:t}}function readAndResolve(e){var t=e[kLastResolve];if(null!==t){var r=e[kStream].read();null!==r&&(e[kLastPromise]=null,e[kLastResolve]=null,e[kLastReject]=null,t(createIterResult(r,!1)))}}function onReadable(e){process.nextTick(readAndResolve,e)}function wrapForNext(e,t){return function(r,o){e.then(function(){t[kEnded]?r(createIterResult(void 0,!0)):t[kHandlePromise](r,o)},o)}}var AsyncIteratorPrototype=Object.getPrototypeOf(function(){}),ReadableStreamAsyncIteratorPrototype=Object.setPrototypeOf((_defineProperty(_Object$setPrototypeO={get stream(){return this[kStream]},next:function(){var e=this,t=this[kError];if(null!==t)return Promise.reject(t);if(this[kEnded])return Promise.resolve(createIterResult(void 0,!0));if(this[kStream].destroyed)return new Promise(function(t,r){process.nextTick(function(){e[kError]?r(e[kError]):t(createIterResult(void 0,!0))})});var r,o=this[kLastPromise];if(o)r=new Promise(wrapForNext(o,this));else{var n=this[kStream].read();if(null!==n)return Promise.resolve(createIterResult(n,!1));r=new Promise(this[kHandlePromise])}return this[kLastPromise]=r,r}},Symbol.asyncIterator,function(){return this}),_defineProperty(_Object$setPrototypeO,"return",function(){var e=this;return new Promise(function(t,r){e[kStream].destroy(null,function(e){e?r(e):t(createIterResult(void 0,!0))})})}),_Object$setPrototypeO),AsyncIteratorPrototype),createReadableStreamAsyncIterator=function(e){var t,r=Object.create(ReadableStreamAsyncIteratorPrototype,(_defineProperty(t={},kStream,{value:e,writable:!0}),_defineProperty(t,kLastResolve,{value:null,writable:!0}),_defineProperty(t,kLastReject,{value:null,writable:!0}),_defineProperty(t,kError,{value:null,writable:!0}),_defineProperty(t,kEnded,{value:e._readableState.endEmitted,writable:!0}),_defineProperty(t,kHandlePromise,{value:function(e,t){var o=r[kStream].read();o?(r[kLastPromise]=null,r[kLastResolve]=null,r[kLastReject]=null,e(createIterResult(o,!1))):(r[kLastResolve]=e,r[kLastReject]=t)},writable:!0}),t));return r[kLastPromise]=null,finished(e,function(e){if(e&&"ERR_STREAM_PREMATURE_CLOSE"!==e.code){var t=r[kLastReject];return null!==t&&(r[kLastPromise]=null,r[kLastResolve]=null,r[kLastReject]=null,t(e)),void(r[kError]=e)}var o=r[kLastResolve];null!==o&&(r[kLastPromise]=null,r[kLastResolve]=null,r[kLastReject]=null,o(createIterResult(void 0,!0))),r[kEnded]=!0}),e.on("readable",onReadable.bind(null,r)),r};module.exports=createReadableStreamAsyncIterator;
}).call(this)}).call(this,require('_process'))
},{"./end-of-stream":50,"_process":37}],48:[function(require,module,exports){
"use strict";function ownKeys(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function _objectSpread(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?ownKeys(Object(n),!0).forEach(function(t){_defineProperty(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):ownKeys(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function _defineProperty(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function _classCallCheck(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function _defineProperties(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function _createClass(e,t,n){return t&&_defineProperties(e.prototype,t),n&&_defineProperties(e,n),e}var _require=require("buffer"),Buffer=_require.Buffer,_require2=require("util"),inspect=_require2.inspect,custom=inspect&&inspect.custom||"inspect";function copyBuffer(e,t,n){Buffer.prototype.copy.call(e,t,n)}module.exports=function(){function e(){_classCallCheck(this,e),this.head=null,this.tail=null,this.length=0}return _createClass(e,[{key:"push",value:function(e){var t={data:e,next:null};this.length>0?this.tail.next=t:this.head=t,this.tail=t,++this.length}},{key:"unshift",value:function(e){var t={data:e,next:this.head};0===this.length&&(this.tail=t),this.head=t,++this.length}},{key:"shift",value:function(){if(0!==this.length){var e=this.head.data;return 1===this.length?this.head=this.tail=null:this.head=this.head.next,--this.length,e}}},{key:"clear",value:function(){this.head=this.tail=null,this.length=0}},{key:"join",value:function(e){if(0===this.length)return"";for(var t=this.head,n=""+t.data;t=t.next;)n+=e+t.data;return n}},{key:"concat",value:function(e){if(0===this.length)return Buffer.alloc(0);for(var t=Buffer.allocUnsafe(e>>>0),n=this.head,r=0;n;)copyBuffer(n.data,t,r),r+=n.data.length,n=n.next;return t}},{key:"consume",value:function(e,t){var n;return e<this.head.data.length?(n=this.head.data.slice(0,e),this.head.data=this.head.data.slice(e)):n=e===this.head.data.length?this.shift():t?this._getString(e):this._getBuffer(e),n}},{key:"first",value:function(){return this.head.data}},{key:"_getString",value:function(e){var t=this.head,n=1,r=t.data;for(e-=r.length;t=t.next;){var a=t.data,i=e>a.length?a.length:e;if(i===a.length?r+=a:r+=a.slice(0,e),0===(e-=i)){i===a.length?(++n,t.next?this.head=t.next:this.head=this.tail=null):(this.head=t,t.data=a.slice(i));break}++n}return this.length-=n,r}},{key:"_getBuffer",value:function(e){var t=Buffer.allocUnsafe(e),n=this.head,r=1;for(n.data.copy(t),e-=n.data.length;n=n.next;){var a=n.data,i=e>a.length?a.length:e;if(a.copy(t,t.length-e,0,i),0===(e-=i)){i===a.length?(++r,n.next?this.head=n.next:this.head=this.tail=null):(this.head=n,n.data=a.slice(i));break}++r}return this.length-=r,t}},{key:custom,value:function(e,t){return inspect(this,_objectSpread({},t,{depth:0,customInspect:!1}))}}]),e}();
},{"buffer":31,"util":30}],49:[function(require,module,exports){
(function (process){(function (){
"use strict";function destroy(t,e){var r=this,i=this._readableState&&this._readableState.destroyed,a=this._writableState&&this._writableState.destroyed;return i||a?(e?e(t):t&&(this._writableState?this._writableState.errorEmitted||(this._writableState.errorEmitted=!0,process.nextTick(emitErrorNT,this,t)):process.nextTick(emitErrorNT,this,t)),this):(this._readableState&&(this._readableState.destroyed=!0),this._writableState&&(this._writableState.destroyed=!0),this._destroy(t||null,function(t){!e&&t?r._writableState?r._writableState.errorEmitted?process.nextTick(emitCloseNT,r):(r._writableState.errorEmitted=!0,process.nextTick(emitErrorAndCloseNT,r,t)):process.nextTick(emitErrorAndCloseNT,r,t):e?(process.nextTick(emitCloseNT,r),e(t)):process.nextTick(emitCloseNT,r)}),this)}function emitErrorAndCloseNT(t,e){emitErrorNT(t,e),emitCloseNT(t)}function emitCloseNT(t){t._writableState&&!t._writableState.emitClose||t._readableState&&!t._readableState.emitClose||t.emit("close")}function undestroy(){this._readableState&&(this._readableState.destroyed=!1,this._readableState.reading=!1,this._readableState.ended=!1,this._readableState.endEmitted=!1),this._writableState&&(this._writableState.destroyed=!1,this._writableState.ended=!1,this._writableState.ending=!1,this._writableState.finalCalled=!1,this._writableState.prefinished=!1,this._writableState.finished=!1,this._writableState.errorEmitted=!1)}function emitErrorNT(t,e){t.emit("error",e)}function errorOrDestroy(t,e){var r=t._readableState,i=t._writableState;r&&r.autoDestroy||i&&i.autoDestroy?t.destroy(e):t.emit("error",e)}module.exports={destroy:destroy,undestroy:undestroy,errorOrDestroy:errorOrDestroy};
}).call(this)}).call(this,require('_process'))
},{"_process":37}],50:[function(require,module,exports){
"use strict";var ERR_STREAM_PREMATURE_CLOSE=require("../../../errors").codes.ERR_STREAM_PREMATURE_CLOSE;function once(e){var r=!1;return function(){if(!r){r=!0;for(var t=arguments.length,n=new Array(t),o=0;o<t;o++)n[o]=arguments[o];e.apply(this,n)}}}function noop(){}function isRequest(e){return e.setHeader&&"function"==typeof e.abort}function eos(e,r,t){if("function"==typeof r)return eos(e,null,r);r||(r={}),t=once(t||noop);var n=r.readable||!1!==r.readable&&e.readable,o=r.writable||!1!==r.writable&&e.writable,i=function(){e.writable||l()},a=e._writableState&&e._writableState.finished,l=function(){o=!1,a=!0,n||t.call(e)},s=e._readableState&&e._readableState.endEmitted,c=function(){n=!1,s=!0,o||t.call(e)},u=function(r){t.call(e,r)},f=function(){var r;return n&&!s?(e._readableState&&e._readableState.ended||(r=new ERR_STREAM_PREMATURE_CLOSE),t.call(e,r)):o&&!a?(e._writableState&&e._writableState.ended||(r=new ERR_STREAM_PREMATURE_CLOSE),t.call(e,r)):void 0},d=function(){e.req.on("finish",l)};return isRequest(e)?(e.on("complete",l),e.on("abort",f),e.req?d():e.on("request",d)):o&&!e._writableState&&(e.on("end",i),e.on("close",i)),e.on("end",c),e.on("finish",l),!1!==r.error&&e.on("error",u),e.on("close",f),function(){e.removeListener("complete",l),e.removeListener("abort",f),e.removeListener("request",d),e.req&&e.req.removeListener("finish",l),e.removeListener("end",i),e.removeListener("close",i),e.removeListener("finish",l),e.removeListener("end",c),e.removeListener("error",u),e.removeListener("close",f)}}module.exports=eos;
},{"../../../errors":41}],51:[function(require,module,exports){
module.exports=function(){throw new Error("Readable.from is not available in the browser")};
},{}],52:[function(require,module,exports){
"use strict";var eos;function once(e){var r=!1;return function(){r||(r=!0,e.apply(void 0,arguments))}}var _require$codes=require("../../../errors").codes,ERR_MISSING_ARGS=_require$codes.ERR_MISSING_ARGS,ERR_STREAM_DESTROYED=_require$codes.ERR_STREAM_DESTROYED;function noop(e){if(e)throw e}function isRequest(e){return e.setHeader&&"function"==typeof e.abort}function destroyer(e,r,n,o){o=once(o);var t=!1;e.on("close",function(){t=!0}),void 0===eos&&(eos=require("./end-of-stream")),eos(e,{readable:r,writable:n},function(e){if(e)return o(e);t=!0,o()});var i=!1;return function(r){if(!t&&!i)return i=!0,isRequest(e)?e.abort():"function"==typeof e.destroy?e.destroy():void o(r||new ERR_STREAM_DESTROYED("pipe"))}}function call(e){e()}function pipe(e,r){return e.pipe(r)}function popCallback(e){return e.length?"function"!=typeof e[e.length-1]?noop:e.pop():noop}function pipeline(){for(var e=arguments.length,r=new Array(e),n=0;n<e;n++)r[n]=arguments[n];var o,t=popCallback(r);if(Array.isArray(r[0])&&(r=r[0]),r.length<2)throw new ERR_MISSING_ARGS("streams");var i=r.map(function(e,n){var u=n<r.length-1;return destroyer(e,u,n>0,function(e){o||(o=e),e&&i.forEach(call),u||(i.forEach(call),t(o))})});return r.reduce(pipe)}module.exports=pipeline;
},{"../../../errors":41,"./end-of-stream":50}],53:[function(require,module,exports){
"use strict";var ERR_INVALID_OPT_VALUE=require("../../../errors").codes.ERR_INVALID_OPT_VALUE;function highWaterMarkFrom(r,e,t){return null!=r.highWaterMark?r.highWaterMark:e?r[t]:null}function getHighWaterMark(r,e,t,a){var i=highWaterMarkFrom(e,a,t);if(null!=i){if(!isFinite(i)||Math.floor(i)!==i||i<0)throw new ERR_INVALID_OPT_VALUE(a?t:"highWaterMark",i);return Math.floor(i)}return r.objectMode?16:16384}module.exports={getHighWaterMark:getHighWaterMark};
},{"../../../errors":41}],54:[function(require,module,exports){
module.exports=require("events").EventEmitter;
},{"events":32}],55:[function(require,module,exports){
"use strict";var Buffer=require("safe-buffer").Buffer,isEncoding=Buffer.isEncoding||function(t){switch((t=""+t)&&t.toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":case"raw":return!0;default:return!1}};function _normalizeEncoding(t){if(!t)return"utf8";for(var e;;)switch(t){case"utf8":case"utf-8":return"utf8";case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return"utf16le";case"latin1":case"binary":return"latin1";case"base64":case"ascii":case"hex":return t;default:if(e)return;t=(""+t).toLowerCase(),e=!0}}function normalizeEncoding(t){var e=_normalizeEncoding(t);if("string"!=typeof e&&(Buffer.isEncoding===isEncoding||!isEncoding(t)))throw new Error("Unknown encoding: "+t);return e||t}function StringDecoder(t){var e;switch(this.encoding=normalizeEncoding(t),this.encoding){case"utf16le":this.text=utf16Text,this.end=utf16End,e=4;break;case"utf8":this.fillLast=utf8FillLast,e=4;break;case"base64":this.text=base64Text,this.end=base64End,e=3;break;default:return this.write=simpleWrite,void(this.end=simpleEnd)}this.lastNeed=0,this.lastTotal=0,this.lastChar=Buffer.allocUnsafe(e)}function utf8CheckByte(t){return t<=127?0:t>>5==6?2:t>>4==14?3:t>>3==30?4:t>>6==2?-1:-2}function utf8CheckIncomplete(t,e,s){var i=e.length-1;if(i<s)return 0;var n=utf8CheckByte(e[i]);return n>=0?(n>0&&(t.lastNeed=n-1),n):--i<s||-2===n?0:(n=utf8CheckByte(e[i]))>=0?(n>0&&(t.lastNeed=n-2),n):--i<s||-2===n?0:(n=utf8CheckByte(e[i]))>=0?(n>0&&(2===n?n=0:t.lastNeed=n-3),n):0}function utf8CheckExtraBytes(t,e,s){if(128!=(192&e[0]))return t.lastNeed=0,"<22>";if(t.lastNeed>1&&e.length>1){if(128!=(192&e[1]))return t.lastNeed=1,"<22>";if(t.lastNeed>2&&e.length>2&&128!=(192&e[2]))return t.lastNeed=2,"<22>"}}function utf8FillLast(t){var e=this.lastTotal-this.lastNeed,s=utf8CheckExtraBytes(this,t,e);return void 0!==s?s:this.lastNeed<=t.length?(t.copy(this.lastChar,e,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal)):(t.copy(this.lastChar,e,0,t.length),void(this.lastNeed-=t.length))}function utf8Text(t,e){var s=utf8CheckIncomplete(this,t,e);if(!this.lastNeed)return t.toString("utf8",e);this.lastTotal=s;var i=t.length-(s-this.lastNeed);return t.copy(this.lastChar,0,i),t.toString("utf8",e,i)}function utf8End(t){var e=t&&t.length?this.write(t):"";return this.lastNeed?e+"<22>":e}function utf16Text(t,e){if((t.length-e)%2==0){var s=t.toString("utf16le",e);if(s){var i=s.charCodeAt(s.length-1);if(i>=55296&&i<=56319)return this.lastNeed=2,this.lastTotal=4,this.lastChar[0]=t[t.length-2],this.lastChar[1]=t[t.length-1],s.slice(0,-1)}return s}return this.lastNeed=1,this.lastTotal=2,this.lastChar[0]=t[t.length-1],t.toString("utf16le",e,t.length-1)}function utf16End(t){var e=t&&t.length?this.write(t):"";if(this.lastNeed){var s=this.lastTotal-this.lastNeed;return e+this.lastChar.toString("utf16le",0,s)}return e}function base64Text(t,e){var s=(t.length-e)%3;return 0===s?t.toString("base64",e):(this.lastNeed=3-s,this.lastTotal=3,1===s?this.lastChar[0]=t[t.length-1]:(this.lastChar[0]=t[t.length-2],this.lastChar[1]=t[t.length-1]),t.toString("base64",e,t.length-s))}function base64End(t){var e=t&&t.length?this.write(t):"";return this.lastNeed?e+this.lastChar.toString("base64",0,3-this.lastNeed):e}function simpleWrite(t){return t.toString(this.encoding)}function simpleEnd(t){return t&&t.length?this.write(t):""}exports.StringDecoder=StringDecoder,StringDecoder.prototype.write=function(t){if(0===t.length)return"";var e,s;if(this.lastNeed){if(void 0===(e=this.fillLast(t)))return"";s=this.lastNeed,this.lastNeed=0}else s=0;return s<t.length?e?e+this.text(t,s):this.text(t,s):e||""},StringDecoder.prototype.end=utf8End,StringDecoder.prototype.text=utf8Text,StringDecoder.prototype.fillLast=function(t){if(this.lastNeed<=t.length)return t.copy(this.lastChar,this.lastTotal-this.lastNeed,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal);t.copy(this.lastChar,this.lastTotal-this.lastNeed,0,t.length),this.lastNeed-=t.length};
},{"safe-buffer":38}],56:[function(require,module,exports){
(function (setImmediate,clearImmediate){(function (){
var nextTick=require("process/browser.js").nextTick,apply=Function.prototype.apply,slice=Array.prototype.slice,immediateIds={},nextImmediateId=0;function Timeout(e,t){this._id=e,this._clearFn=t}exports.setTimeout=function(){return new Timeout(apply.call(setTimeout,window,arguments),clearTimeout)},exports.setInterval=function(){return new Timeout(apply.call(setInterval,window,arguments),clearInterval)},exports.clearTimeout=exports.clearInterval=function(e){e.close()},Timeout.prototype.unref=Timeout.prototype.ref=function(){},Timeout.prototype.close=function(){this._clearFn.call(window,this._id)},exports.enroll=function(e,t){clearTimeout(e._idleTimeoutId),e._idleTimeout=t},exports.unenroll=function(e){clearTimeout(e._idleTimeoutId),e._idleTimeout=-1},exports._unrefActive=exports.active=function(e){clearTimeout(e._idleTimeoutId);var t=e._idleTimeout;t>=0&&(e._idleTimeoutId=setTimeout(function(){e._onTimeout&&e._onTimeout()},t))},exports.setImmediate="function"==typeof setImmediate?setImmediate:function(e){var t=nextImmediateId++,i=!(arguments.length<2)&&slice.call(arguments,1);return immediateIds[t]=!0,nextTick(function(){immediateIds[t]&&(i?e.apply(null,i):e.call(null),exports.clearImmediate(t))}),t},exports.clearImmediate="function"==typeof clearImmediate?clearImmediate:function(e){delete immediateIds[e]};
}).call(this)}).call(this,require("timers").setImmediate,require("timers").clearImmediate)
},{"process/browser.js":37,"timers":56}],57:[function(require,module,exports){
(function (global){(function (){
function deprecate(r,e){if(config("noDeprecation"))return r;var o=!1;return function(){if(!o){if(config("throwDeprecation"))throw new Error(e);config("traceDeprecation")?console.trace(e):console.warn(e),o=!0}return r.apply(this,arguments)}}function config(r){try{if(!global.localStorage)return!1}catch(r){return!1}var e=global.localStorage[r];return null!=e&&"true"===String(e).toLowerCase()}module.exports=deprecate;
}).call(this)}).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {})
},{}],58:[function(require,module,exports){
(function(){"use strict";exports.stripBOM=function(t){return"\ufeff"===t[0]?t.substring(1):t}}).call(this);
},{}],59:[function(require,module,exports){
(function(){"use strict";var t,e,o,i,r,n={}.hasOwnProperty;t=require("xmlbuilder"),e=require("./defaults").defaults,i=function(t){return"string"==typeof t&&(t.indexOf("&")>=0||t.indexOf(">")>=0||t.indexOf("<")>=0)},r=function(t){return"<![CDATA["+o(t)+"]]>"},o=function(t){return t.replace("]]>","]]]]><![CDATA[>")},exports.Builder=function(){function o(t){var o,i,r;for(o in this.options={},i=e[.2])n.call(i,o)&&(r=i[o],this.options[o]=r);for(o in t)n.call(t,o)&&(r=t[o],this.options[o]=r)}return o.prototype.buildObject=function(o){var s,a,l,p,f,u;return s=this.options.attrkey,a=this.options.charkey,1===Object.keys(o).length&&this.options.rootName===e[.2].rootName?o=o[f=Object.keys(o)[0]]:f=this.options.rootName,u=this,l=function(t,e){var o,p,f,c,h,d;if("object"!=typeof e)u.options.cdata&&i(e)?t.raw(r(e)):t.txt(e);else if(Array.isArray(e)){for(c in e)if(n.call(e,c))for(h in p=e[c])f=p[h],t=l(t.ele(h),f).up()}else for(h in e)if(n.call(e,h))if(p=e[h],h===s){if("object"==typeof p)for(o in p)d=p[o],t=t.att(o,d)}else if(h===a)t=u.options.cdata&&i(p)?t.raw(r(p)):t.txt(p);else if(Array.isArray(p))for(c in p)n.call(p,c)&&(t="string"==typeof(f=p[c])?u.options.cdata&&i(f)?t.ele(h).raw(r(f)).up():t.ele(h,f).up():l(t.ele(h),f).up());else"object"==typeof p?t=l(t.ele(h),p).up():"string"==typeof p&&u.options.cdata&&i(p)?t=t.ele(h).raw(r(p)).up():(null==p&&(p=""),t=t.ele(h,p.toString()).up());return t},p=t.create(f,this.options.xmldec,this.options.doctype,{headless:this.options.headless,allowSurrogateChars:this.options.allowSurrogateChars}),l(p,o).end(this.options.renderOpts)},o}()}).call(this);
},{"./defaults":60,"xmlbuilder":96}],60:[function(require,module,exports){
(function(){exports.defaults={.1:{explicitCharkey:!1,trim:!0,normalize:!0,normalizeTags:!1,attrkey:"@",charkey:"#",explicitArray:!1,ignoreAttrs:!1,mergeAttrs:!1,explicitRoot:!1,validator:null,xmlns:!1,explicitChildren:!1,childkey:"@@",charsAsChildren:!1,includeWhiteChars:!1,async:!1,strict:!0,attrNameProcessors:null,attrValueProcessors:null,tagNameProcessors:null,valueProcessors:null,emptyTag:""},.2:{explicitCharkey:!1,trim:!1,normalize:!1,normalizeTags:!1,attrkey:"$",charkey:"_",explicitArray:!0,ignoreAttrs:!1,mergeAttrs:!1,explicitRoot:!0,validator:null,xmlns:!1,explicitChildren:!1,preserveChildrenOrder:!1,childkey:"$$",charsAsChildren:!1,includeWhiteChars:!1,async:!1,strict:!0,attrNameProcessors:null,attrValueProcessors:null,tagNameProcessors:null,valueProcessors:null,rootName:"root",xmldec:{version:"1.0",encoding:"UTF-8",standalone:!0},doctype:null,renderOpts:{pretty:!0,indent:" ",newline:"\n"},headless:!1,chunkSize:1e4,emptyTag:"",cdata:!1}}}).call(this);
},{}],61:[function(require,module,exports){
(function(){"use strict";var t,r,s,e,i,n,o,a,h=function(t,r){return function(){return t.apply(r,arguments)}},p={}.hasOwnProperty;o=require("sax"),s=require("events"),t=require("./bom"),n=require("./processors"),a=require("timers").setImmediate,r=require("./defaults").defaults,e=function(t){return"object"==typeof t&&null!=t&&0===Object.keys(t).length},i=function(t,r,s){var e,i;for(e=0,i=t.length;e<i;e++)r=(0,t[e])(r,s);return r},exports.Parser=function(c){function u(t){var s,e,i;if(this.parseStringPromise=h(this.parseStringPromise,this),this.parseString=h(this.parseString,this),this.reset=h(this.reset,this),this.assignOrPush=h(this.assignOrPush,this),this.processAsync=h(this.processAsync,this),!(this instanceof exports.Parser))return new exports.Parser(t);for(s in this.options={},e=r[.2])p.call(e,s)&&(i=e[s],this.options[s]=i);for(s in t)p.call(t,s)&&(i=t[s],this.options[s]=i);this.options.xmlns&&(this.options.xmlnskey=this.options.attrkey+"ns"),this.options.normalizeTags&&(this.options.tagNameProcessors||(this.options.tagNameProcessors=[]),this.options.tagNameProcessors.unshift(n.normalize)),this.reset()}return function(t,r){for(var s in r)p.call(r,s)&&(t[s]=r[s]);function e(){this.constructor=t}e.prototype=r.prototype,t.prototype=new e,t.__super__=r.prototype}(u,s),u.prototype.processAsync=function(){var t,r;try{return this.remaining.length<=this.options.chunkSize?(t=this.remaining,this.remaining="",this.saxParser=this.saxParser.write(t),this.saxParser.close()):(t=this.remaining.substr(0,this.options.chunkSize),this.remaining=this.remaining.substr(this.options.chunkSize,this.remaining.length),this.saxParser=this.saxParser.write(t),a(this.processAsync))}catch(t){if(r=t,!this.saxParser.errThrown)return this.saxParser.errThrown=!0,this.emit(r)}},u.prototype.assignOrPush=function(t,r,s){return r in t?(t[r]instanceof Array||(t[r]=[t[r]]),t[r].push(s)):this.options.explicitArray?t[r]=[s]:t[r]=s},u.prototype.reset=function(){var t,r,s,n,a;return this.removeAllListeners(),this.saxParser=o.parser(this.options.strict,{trim:!1,normalize:!1,xmlns:this.options.xmlns}),this.saxParser.errThrown=!1,this.saxParser.onerror=(a=this,function(t){if(a.saxParser.resume(),!a.saxParser.errThrown)return a.saxParser.errThrown=!0,a.emit("error",t)}),this.saxParser.onend=function(t){return function(){if(!t.saxParser.ended)return t.saxParser.ended=!0,t.emit("end",t.resultObject)}}(this),this.saxParser.ended=!1,this.EXPLICIT_CHARKEY=this.options.explicitCharkey,this.resultObject=null,n=[],t=this.options.attrkey,r=this.options.charkey,this.saxParser.onopentag=function(s){return function(e){var o,a,h,c,u;if((h={})[r]="",!s.options.ignoreAttrs)for(o in u=e.attributes)p.call(u,o)&&(t in h||s.options.mergeAttrs||(h[t]={}),a=s.options.attrValueProcessors?i(s.options.attrValueProcessors,e.attributes[o],o):e.attributes[o],c=s.options.attrNameProcessors?i(s.options.attrNameProcessors,o):o,s.options.mergeAttrs?s.assignOrPush(h,c,a):h[t][c]=a);return h["#name"]=s.options.tagNameProcessors?i(s.options.tagNameProcessors,e.name):e.name,s.options.xmlns&&(h[s.options.xmlnskey]={uri:e.uri,local:e.local}),n.push(h)}}(this),this.saxParser.onclosetag=function(t){return function(){var s,o,a,h,c,u,l,m,f,P;if(u=n.pop(),c=u["#name"],t.options.explicitChildren&&t.options.preserveChildrenOrder||delete u["#name"],!0===u.cdata&&(s=u.cdata,delete u.cdata),f=n[n.length-1],u[r].match(/^\s*$/)&&!s?(o=u[r],delete u[r]):(t.options.trim&&(u[r]=u[r].trim()),t.options.normalize&&(u[r]=u[r].replace(/\s{2,}/g," ").trim()),u[r]=t.options.valueProcessors?i(t.options.valueProcessors,u[r],c):u[r],1===Object.keys(u).length&&r in u&&!t.EXPLICIT_CHARKEY&&(u=u[r])),e(u)&&(u=""!==t.options.emptyTag?t.options.emptyTag:o),null!=t.options.validator&&(P="/"+function(){var t,r,s;for(s=[],t=0,r=n.length;t<r;t++)h=n[t],s.push(h["#name"]);return s}().concat(c).join("/"),function(){var r;try{u=t.options.validator(P,f&&f[c],u)}catch(s){return r=s,t.emit("error",r)}}()),t.options.explicitChildren&&!t.options.mergeAttrs&&"object"==typeof u)if(t.options.preserveChildrenOrder){if(f){for(a in f[t.options.childkey]=f[t.options.childkey]||[],l={},u)p.call(u,a)&&(l[a]=u[a]);f[t.options.childkey].push(l),delete u["#name"],1===Object.keys(u).length&&r in u&&!t.EXPLICIT_CHARKEY&&(u=u[r])}}else h={},t.options.attrkey in u&&(h[t.options.attrkey]=u[t.options.attrkey],delete u[t.options.attrkey]),!t.options.charsAsChildren&&t.options.charkey in u&&(h[t.options.charkey]=u[t.options.charkey],delete u[t.options.charkey]),Object.getOwnPropertyNames(u).length>0&&(h[t.options.childkey]=u),u=h;return n.length>0?t.assignOrPush(f,c,u):(t.options.explicitRoot&&(m=u,(u={})[c]=m),t.resultObject=u,t.saxParser.ended=!0,t.emit("end",t.resultObject))}}(this),s=function(t){return function(s){var e,i;if(i=n[n.length-1])return i[r]+=s,t.options.explicitChildren&&t.options.preserveChildrenOrder&&t.options.charsAsChildren&&(t.options.includeWhiteChars||""!==s.replace(/\\n/g,"").trim())&&(i[t.options.childkey]=i[t.options.childkey]||[],(e={"#name":"__text__"})[r]=s,t.options.normalize&&(e[r]=e[r].replace(/\s{2,}/g," ").trim()),i[t.options.childkey].push(e)),i}}(this),this.saxParser.ontext=s,this.saxParser.oncdata=function(t){var r;if(r=s(t))return r.cdata=!0}},u.prototype.parseString=function(r,s){var e;null!=s&&"function"==typeof s&&(this.on("end",function(t){return this.reset(),s(null,t)}),this.on("error",function(t){return this.reset(),s(t)}));try{return""===(r=r.toString()).trim()?(this.emit("end",null),!0):(r=t.stripBOM(r),this.options.async?(this.remaining=r,a(this.processAsync),this.saxParser):this.saxParser.write(r).close())}catch(t){if(e=t,!this.saxParser.errThrown&&!this.saxParser.ended)return this.emit("error",e),this.saxParser.errThrown=!0;if(this.saxParser.ended)throw e}},u.prototype.parseStringPromise=function(t){return new Promise((r=this,function(s,e){return r.parseString(t,function(t,r){return t?e(t):s(r)})}));var r},u}(),exports.parseString=function(t,r,s){var e,i;return null!=s?("function"==typeof s&&(e=s),"object"==typeof r&&(i=r)):("function"==typeof r&&(e=r),i={}),new exports.Parser(i).parseString(t,e)},exports.parseStringPromise=function(t,r){var s;return"object"==typeof r&&(s=r),new exports.Parser(s).parseStringPromise(t)}}).call(this);
},{"./bom":58,"./defaults":60,"./processors":62,"events":32,"sax":39,"timers":56}],62:[function(require,module,exports){
(function(){"use strict";var e;e=new RegExp(/(?!xmlns)^.*:/),exports.normalize=function(e){return e.toLowerCase()},exports.firstCharLowerCase=function(e){return e.charAt(0).toLowerCase()+e.slice(1)},exports.stripPrefix=function(r){return r.replace(e,"")},exports.parseNumbers=function(e){return isNaN(e)||(e=e%1==0?parseInt(e,10):parseFloat(e)),e},exports.parseBooleans=function(e){return/^(?:true|false)$/i.test(e)&&(e="true"===e.toLowerCase()),e}}).call(this);
},{}],63:[function(require,module,exports){
(function(){"use strict";var r,e,t,s,o={}.hasOwnProperty;e=require("./defaults"),r=require("./builder"),t=require("./parser"),s=require("./processors"),exports.defaults=e.defaults,exports.processors=s,exports.ValidationError=function(r){function e(r){this.message=r}return function(r,e){for(var t in e)o.call(e,t)&&(r[t]=e[t]);function s(){this.constructor=r}s.prototype=e.prototype,r.prototype=new s,r.__super__=e.prototype}(e,Error),e}(),exports.Builder=r.Builder,exports.Parser=t.Parser,exports.parseString=t.parseString,exports.parseStringPromise=t.parseStringPromise}).call(this);
},{"./builder":59,"./defaults":60,"./parser":61,"./processors":62}],64:[function(require,module,exports){
(function(){module.exports={Disconnected:1,Preceding:2,Following:4,Contains:8,ContainedBy:16,ImplementationSpecific:32}}).call(this);
},{}],65:[function(require,module,exports){
(function(){module.exports={Element:1,Attribute:2,Text:3,CData:4,EntityReference:5,EntityDeclaration:6,ProcessingInstruction:7,Comment:8,Document:9,DocType:10,DocumentFragment:11,NotationDeclaration:12,Declaration:201,Raw:202,AttributeDeclaration:203,ElementDeclaration:204,Dummy:205}}).call(this);
},{}],66:[function(require,module,exports){
(function(){var t,r,n,e,o,i,c,l=[].slice,u={}.hasOwnProperty;t=function(){var t,r,n,e,i,c;if(c=arguments[0],i=2<=arguments.length?l.call(arguments,1):[],o(Object.assign))Object.assign.apply(null,arguments);else for(t=0,n=i.length;t<n;t++)if(null!=(e=i[t]))for(r in e)u.call(e,r)&&(c[r]=e[r]);return c},o=function(t){return!!t&&"[object Function]"===Object.prototype.toString.call(t)},i=function(t){var r;return!!t&&("function"==(r=typeof t)||"object"===r)},n=function(t){return o(Array.isArray)?Array.isArray(t):"[object Array]"===Object.prototype.toString.call(t)},e=function(t){var r;if(n(t))return!t.length;for(r in t)if(u.call(t,r))return!1;return!0},c=function(t){var r,n;return i(t)&&(n=Object.getPrototypeOf(t))&&(r=n.constructor)&&"function"==typeof r&&r instanceof r&&Function.prototype.toString.call(r)===Function.prototype.toString.call(Object)},r=function(t){return o(t.valueOf)?t.valueOf():t},module.exports.assign=t,module.exports.isFunction=o,module.exports.isObject=i,module.exports.isArray=n,module.exports.isEmpty=e,module.exports.isPlainObject=c,module.exports.getValue=r}).call(this);
},{}],67:[function(require,module,exports){
(function(){module.exports={None:0,OpenTag:1,InsideTag:2,CloseTag:3}}).call(this);
},{}],68:[function(require,module,exports){
(function(){var t;t=require("./NodeType"),require("./XMLNode"),module.exports=function(){function e(e,n,r){if(this.parent=e,this.parent&&(this.options=this.parent.options,this.stringify=this.parent.stringify),null==n)throw new Error("Missing attribute name. "+this.debugInfo(n));this.name=this.stringify.name(n),this.value=this.stringify.attValue(r),this.type=t.Attribute,this.isId=!1,this.schemaTypeInfo=null}return Object.defineProperty(e.prototype,"nodeType",{get:function(){return this.type}}),Object.defineProperty(e.prototype,"ownerElement",{get:function(){return this.parent}}),Object.defineProperty(e.prototype,"textContent",{get:function(){return this.value},set:function(t){return this.value=t||""}}),Object.defineProperty(e.prototype,"namespaceURI",{get:function(){return""}}),Object.defineProperty(e.prototype,"prefix",{get:function(){return""}}),Object.defineProperty(e.prototype,"localName",{get:function(){return this.name}}),Object.defineProperty(e.prototype,"specified",{get:function(){return!0}}),e.prototype.clone=function(){return Object.create(this)},e.prototype.toString=function(t){return this.options.writer.attribute(this,this.options.writer.filterOptions(t))},e.prototype.debugInfo=function(t){return null==(t=t||this.name)?"parent: <"+this.parent.name+">":"attribute: {"+t+"}, parent: <"+this.parent.name+">"},e.prototype.isEqualNode=function(t){return t.namespaceURI===this.namespaceURI&&(t.prefix===this.prefix&&(t.localName===this.localName&&t.value===this.value))},e}()}).call(this);
},{"./NodeType":65,"./XMLNode":87}],69:[function(require,module,exports){
(function(){var t,r,o={}.hasOwnProperty;t=require("./NodeType"),r=require("./XMLCharacterData"),module.exports=function(e){function i(r,o){if(i.__super__.constructor.call(this,r),null==o)throw new Error("Missing CDATA text. "+this.debugInfo());this.name="#cdata-section",this.type=t.CData,this.value=this.stringify.cdata(o)}return function(t,r){for(var e in r)o.call(r,e)&&(t[e]=r[e]);function i(){this.constructor=t}i.prototype=r.prototype,t.prototype=new i,t.__super__=r.prototype}(i,r),i.prototype.clone=function(){return Object.create(this)},i.prototype.toString=function(t){return this.options.writer.cdata(this,this.options.writer.filterOptions(t))},i}()}).call(this);
},{"./NodeType":65,"./XMLCharacterData":70}],70:[function(require,module,exports){
(function(){var t,e={}.hasOwnProperty;t=require("./XMLNode"),module.exports=function(o){function n(t){n.__super__.constructor.call(this,t),this.value=""}return function(t,o){for(var n in o)e.call(o,n)&&(t[n]=o[n]);function r(){this.constructor=t}r.prototype=o.prototype,t.prototype=new r,t.__super__=o.prototype}(n,t),Object.defineProperty(n.prototype,"data",{get:function(){return this.value},set:function(t){return this.value=t||""}}),Object.defineProperty(n.prototype,"length",{get:function(){return this.value.length}}),Object.defineProperty(n.prototype,"textContent",{get:function(){return this.value},set:function(t){return this.value=t||""}}),n.prototype.clone=function(){return Object.create(this)},n.prototype.substringData=function(t,e){throw new Error("This DOM method is not implemented."+this.debugInfo())},n.prototype.appendData=function(t){throw new Error("This DOM method is not implemented."+this.debugInfo())},n.prototype.insertData=function(t,e){throw new Error("This DOM method is not implemented."+this.debugInfo())},n.prototype.deleteData=function(t,e){throw new Error("This DOM method is not implemented."+this.debugInfo())},n.prototype.replaceData=function(t,e,o){throw new Error("This DOM method is not implemented."+this.debugInfo())},n.prototype.isEqualNode=function(t){return!!n.__super__.isEqualNode.apply(this,arguments).isEqualNode(t)&&t.data===this.data},n}()}).call(this);
},{"./XMLNode":87}],71:[function(require,module,exports){
(function(){var t,o,r={}.hasOwnProperty;t=require("./NodeType"),o=require("./XMLCharacterData"),module.exports=function(e){function n(o,r){if(n.__super__.constructor.call(this,o),null==r)throw new Error("Missing comment text. "+this.debugInfo());this.name="#comment",this.type=t.Comment,this.value=this.stringify.comment(r)}return function(t,o){for(var e in o)r.call(o,e)&&(t[e]=o[e]);function n(){this.constructor=t}n.prototype=o.prototype,t.prototype=new n,t.__super__=o.prototype}(n,o),n.prototype.clone=function(){return Object.create(this)},n.prototype.toString=function(t){return this.options.writer.comment(this,this.options.writer.filterOptions(t))},n}()}).call(this);
},{"./NodeType":65,"./XMLCharacterData":70}],72:[function(require,module,exports){
(function(){var e,t;e=require("./XMLDOMErrorHandler"),t=require("./XMLDOMStringList"),module.exports=function(){function a(){this.defaultParams={"canonical-form":!1,"cdata-sections":!1,comments:!1,"datatype-normalization":!1,"element-content-whitespace":!0,entities:!0,"error-handler":new e,infoset:!0,"validate-if-schema":!1,namespaces:!0,"namespace-declarations":!0,"normalize-characters":!1,"schema-location":"","schema-type":"","split-cdata-sections":!0,validate:!1,"well-formed":!0},this.params=Object.create(this.defaultParams)}return Object.defineProperty(a.prototype,"parameterNames",{get:function(){return new t(Object.keys(this.defaultParams))}}),a.prototype.getParameter=function(e){return this.params.hasOwnProperty(e)?this.params[e]:null},a.prototype.canSetParameter=function(e,t){return!0},a.prototype.setParameter=function(e,t){return null!=t?this.params[e]=t:delete this.params[e]},a}()}).call(this);
},{"./XMLDOMErrorHandler":73,"./XMLDOMStringList":75}],73:[function(require,module,exports){
(function(){module.exports=function(){function n(){}return n.prototype.handleError=function(n){throw new Error(n)},n}()}).call(this);
},{}],74:[function(require,module,exports){
(function(){module.exports=function(){function t(){}return t.prototype.hasFeature=function(t,e){return!0},t.prototype.createDocumentType=function(t,e,o){throw new Error("This DOM method is not implemented.")},t.prototype.createDocument=function(t,e,o){throw new Error("This DOM method is not implemented.")},t.prototype.createHTMLDocument=function(t){throw new Error("This DOM method is not implemented.")},t.prototype.getFeature=function(t,e){throw new Error("This DOM method is not implemented.")},t}()}).call(this);
},{}],75:[function(require,module,exports){
(function(){module.exports=function(){function t(t){this.arr=t||[]}return Object.defineProperty(t.prototype,"length",{get:function(){return this.arr.length}}),t.prototype.item=function(t){return this.arr[t]||null},t.prototype.contains=function(t){return-1!==this.arr.indexOf(t)},t}()}).call(this);
},{}],76:[function(require,module,exports){
(function(){var t,e,i={}.hasOwnProperty;e=require("./XMLNode"),t=require("./NodeType"),module.exports=function(r){function n(e,i,r,o,s,u){if(n.__super__.constructor.call(this,e),null==i)throw new Error("Missing DTD element name. "+this.debugInfo());if(null==r)throw new Error("Missing DTD attribute name. "+this.debugInfo(i));if(!o)throw new Error("Missing DTD attribute type. "+this.debugInfo(i));if(!s)throw new Error("Missing DTD attribute default. "+this.debugInfo(i));if(0!==s.indexOf("#")&&(s="#"+s),!s.match(/^(#REQUIRED|#IMPLIED|#FIXED|#DEFAULT)$/))throw new Error("Invalid default value type; expected: #REQUIRED, #IMPLIED, #FIXED or #DEFAULT. "+this.debugInfo(i));if(u&&!s.match(/^(#FIXED|#DEFAULT)$/))throw new Error("Default value only applies to #FIXED or #DEFAULT. "+this.debugInfo(i));this.elementName=this.stringify.name(i),this.type=t.AttributeDeclaration,this.attributeName=this.stringify.name(r),this.attributeType=this.stringify.dtdAttType(o),u&&(this.defaultValue=this.stringify.dtdAttDefault(u)),this.defaultValueType=s}return function(t,e){for(var r in e)i.call(e,r)&&(t[r]=e[r]);function n(){this.constructor=t}n.prototype=e.prototype,t.prototype=new n,t.__super__=e.prototype}(n,e),n.prototype.toString=function(t){return this.options.writer.dtdAttList(this,this.options.writer.filterOptions(t))},n}()}).call(this);
},{"./NodeType":65,"./XMLNode":87}],77:[function(require,module,exports){
(function(){var t,r,e={}.hasOwnProperty;r=require("./XMLNode"),t=require("./NodeType"),module.exports=function(i){function n(r,e,i){if(n.__super__.constructor.call(this,r),null==e)throw new Error("Missing DTD element name. "+this.debugInfo());i||(i="(#PCDATA)"),Array.isArray(i)&&(i="("+i.join(",")+")"),this.name=this.stringify.name(e),this.type=t.ElementDeclaration,this.value=this.stringify.dtdElementValue(i)}return function(t,r){for(var i in r)e.call(r,i)&&(t[i]=r[i]);function n(){this.constructor=t}n.prototype=r.prototype,t.prototype=new n,t.__super__=r.prototype}(n,r),n.prototype.toString=function(t){return this.options.writer.dtdElement(this,this.options.writer.filterOptions(t))},n}()}).call(this);
},{"./NodeType":65,"./XMLNode":87}],78:[function(require,module,exports){
(function(){var t,e,i,n={}.hasOwnProperty;i=require("./Utility").isObject,e=require("./XMLNode"),t=require("./NodeType"),module.exports=function(r){function o(e,n,r,s){if(o.__super__.constructor.call(this,e),null==r)throw new Error("Missing DTD entity name. "+this.debugInfo(r));if(null==s)throw new Error("Missing DTD entity value. "+this.debugInfo(r));if(this.pe=!!n,this.name=this.stringify.name(r),this.type=t.EntityDeclaration,i(s)){if(!s.pubID&&!s.sysID)throw new Error("Public and/or system identifiers are required for an external entity. "+this.debugInfo(r));if(s.pubID&&!s.sysID)throw new Error("System identifier is required for a public external entity. "+this.debugInfo(r));if(this.internal=!1,null!=s.pubID&&(this.pubID=this.stringify.dtdPubID(s.pubID)),null!=s.sysID&&(this.sysID=this.stringify.dtdSysID(s.sysID)),null!=s.nData&&(this.nData=this.stringify.dtdNData(s.nData)),this.pe&&this.nData)throw new Error("Notation declaration is not allowed in a parameter entity. "+this.debugInfo(r))}else this.value=this.stringify.dtdEntityValue(s),this.internal=!0}return function(t,e){for(var i in e)n.call(e,i)&&(t[i]=e[i]);function r(){this.constructor=t}r.prototype=e.prototype,t.prototype=new r,t.__super__=e.prototype}(o,e),Object.defineProperty(o.prototype,"publicId",{get:function(){return this.pubID}}),Object.defineProperty(o.prototype,"systemId",{get:function(){return this.sysID}}),Object.defineProperty(o.prototype,"notationName",{get:function(){return this.nData||null}}),Object.defineProperty(o.prototype,"inputEncoding",{get:function(){return null}}),Object.defineProperty(o.prototype,"xmlEncoding",{get:function(){return null}}),Object.defineProperty(o.prototype,"xmlVersion",{get:function(){return null}}),o.prototype.toString=function(t){return this.options.writer.dtdEntity(this,this.options.writer.filterOptions(t))},o}()}).call(this);
},{"./NodeType":65,"./Utility":66,"./XMLNode":87}],79:[function(require,module,exports){
(function(){var t,r,i={}.hasOwnProperty;r=require("./XMLNode"),t=require("./NodeType"),module.exports=function(e){function o(r,i,e){if(o.__super__.constructor.call(this,r),null==i)throw new Error("Missing DTD notation name. "+this.debugInfo(i));if(!e.pubID&&!e.sysID)throw new Error("Public or system identifiers are required for an external entity. "+this.debugInfo(i));this.name=this.stringify.name(i),this.type=t.NotationDeclaration,null!=e.pubID&&(this.pubID=this.stringify.dtdPubID(e.pubID)),null!=e.sysID&&(this.sysID=this.stringify.dtdSysID(e.sysID))}return function(t,r){for(var e in r)i.call(r,e)&&(t[e]=r[e]);function o(){this.constructor=t}o.prototype=r.prototype,t.prototype=new o,t.__super__=r.prototype}(o,r),Object.defineProperty(o.prototype,"publicId",{get:function(){return this.pubID}}),Object.defineProperty(o.prototype,"systemId",{get:function(){return this.sysID}}),o.prototype.toString=function(t){return this.options.writer.dtdNotation(this,this.options.writer.filterOptions(t))},o}()}).call(this);
},{"./NodeType":65,"./XMLNode":87}],80:[function(require,module,exports){
(function(){var t,i,n,o={}.hasOwnProperty;n=require("./Utility").isObject,i=require("./XMLNode"),t=require("./NodeType"),module.exports=function(r){function e(i,o,r,s){var l;e.__super__.constructor.call(this,i),n(o)&&(o=(l=o).version,r=l.encoding,s=l.standalone),o||(o="1.0"),this.type=t.Declaration,this.version=this.stringify.xmlVersion(o),null!=r&&(this.encoding=this.stringify.xmlEncoding(r)),null!=s&&(this.standalone=this.stringify.xmlStandalone(s))}return function(t,i){for(var n in i)o.call(i,n)&&(t[n]=i[n]);function r(){this.constructor=t}r.prototype=i.prototype,t.prototype=new r,t.__super__=i.prototype}(e,i),e.prototype.toString=function(t){return this.options.writer.declaration(this,this.options.writer.filterOptions(t))},e}()}).call(this);
},{"./NodeType":65,"./Utility":66,"./XMLNode":87}],81:[function(require,module,exports){
(function(){var t,e,n,i,r,o,s,p,u={}.hasOwnProperty;p=require("./Utility").isObject,s=require("./XMLNode"),t=require("./NodeType"),e=require("./XMLDTDAttList"),i=require("./XMLDTDEntity"),n=require("./XMLDTDElement"),r=require("./XMLDTDNotation"),o=require("./XMLNamedNodeMap"),module.exports=function(h){function c(e,n,i){var r,o,s,u,h,y;if(c.__super__.constructor.call(this,e),this.type=t.DocType,e.children)for(o=0,s=(u=e.children).length;o<s;o++)if((r=u[o]).type===t.Element){this.name=r.name;break}this.documentObject=e,p(n)&&(n=(h=n).pubID,i=h.sysID),null==i&&(i=(y=[n,i])[0],n=y[1]),null!=n&&(this.pubID=this.stringify.dtdPubID(n)),null!=i&&(this.sysID=this.stringify.dtdSysID(i))}return function(t,e){for(var n in e)u.call(e,n)&&(t[n]=e[n]);function i(){this.constructor=t}i.prototype=e.prototype,t.prototype=new i,t.__super__=e.prototype}(c,s),Object.defineProperty(c.prototype,"entities",{get:function(){var e,n,i,r,s;for(r={},n=0,i=(s=this.children).length;n<i;n++)(e=s[n]).type!==t.EntityDeclaration||e.pe||(r[e.name]=e);return new o(r)}}),Object.defineProperty(c.prototype,"notations",{get:function(){var e,n,i,r,s;for(r={},n=0,i=(s=this.children).length;n<i;n++)(e=s[n]).type===t.NotationDeclaration&&(r[e.name]=e);return new o(r)}}),Object.defineProperty(c.prototype,"publicId",{get:function(){return this.pubID}}),Object.defineProperty(c.prototype,"systemId",{get:function(){return this.sysID}}),Object.defineProperty(c.prototype,"internalSubset",{get:function(){throw new Error("This DOM method is not implemented."+this.debugInfo())}}),c.prototype.element=function(t,e){var i;return i=new n(this,t,e),this.children.push(i),this},c.prototype.attList=function(t,n,i,r,o){var s;return s=new e(this,t,n,i,r,o),this.children.push(s),this},c.prototype.entity=function(t,e){var n;return n=new i(this,!1,t,e),this.children.push(n),this},c.prototype.pEntity=function(t,e){var n;return n=new i(this,!0,t,e),this.children.push(n),this},c.prototype.notation=function(t,e){var n;return n=new r(this,t,e),this.children.push(n),this},c.prototype.toString=function(t){return this.options.writer.docType(this,this.options.writer.filterOptions(t))},c.prototype.ele=function(t,e){return this.element(t,e)},c.prototype.att=function(t,e,n,i,r){return this.attList(t,e,n,i,r)},c.prototype.ent=function(t,e){return this.entity(t,e)},c.prototype.pent=function(t,e){return this.pEntity(t,e)},c.prototype.not=function(t,e){return this.notation(t,e)},c.prototype.up=function(){return this.root()||this.documentObject},c.prototype.isEqualNode=function(t){return!!c.__super__.isEqualNode.apply(this,arguments).isEqualNode(t)&&(t.name===this.name&&(t.publicId===this.publicId&&t.systemId===this.systemId))},c}()}).call(this);
},{"./NodeType":65,"./Utility":66,"./XMLDTDAttList":76,"./XMLDTDElement":77,"./XMLDTDEntity":78,"./XMLDTDNotation":79,"./XMLNamedNodeMap":86,"./XMLNode":87}],82:[function(require,module,exports){
(function(){var t,e,o,n,r,i,p,h={}.hasOwnProperty;p=require("./Utility").isPlainObject,o=require("./XMLDOMImplementation"),e=require("./XMLDOMConfiguration"),n=require("./XMLNode"),t=require("./NodeType"),i=require("./XMLStringifier"),r=require("./XMLStringWriter"),module.exports=function(s){function u(o){u.__super__.constructor.call(this,null),this.name="#document",this.type=t.Document,this.documentURI=null,this.domConfig=new e,o||(o={}),o.writer||(o.writer=new r),this.options=o,this.stringify=new i(o)}return function(t,e){for(var o in e)h.call(e,o)&&(t[o]=e[o]);function n(){this.constructor=t}n.prototype=e.prototype,t.prototype=new n,t.__super__=e.prototype}(u,n),Object.defineProperty(u.prototype,"implementation",{value:new o}),Object.defineProperty(u.prototype,"doctype",{get:function(){var e,o,n,r;for(o=0,n=(r=this.children).length;o<n;o++)if((e=r[o]).type===t.DocType)return e;return null}}),Object.defineProperty(u.prototype,"documentElement",{get:function(){return this.rootObject||null}}),Object.defineProperty(u.prototype,"inputEncoding",{get:function(){return null}}),Object.defineProperty(u.prototype,"strictErrorChecking",{get:function(){return!1}}),Object.defineProperty(u.prototype,"xmlEncoding",{get:function(){return 0!==this.children.length&&this.children[0].type===t.Declaration?this.children[0].encoding:null}}),Object.defineProperty(u.prototype,"xmlStandalone",{get:function(){return 0!==this.children.length&&this.children[0].type===t.Declaration&&"yes"===this.children[0].standalone}}),Object.defineProperty(u.prototype,"xmlVersion",{get:function(){return 0!==this.children.length&&this.children[0].type===t.Declaration?this.children[0].version:"1.0"}}),Object.defineProperty(u.prototype,"URL",{get:function(){return this.documentURI}}),Object.defineProperty(u.prototype,"origin",{get:function(){return null}}),Object.defineProperty(u.prototype,"compatMode",{get:function(){return null}}),Object.defineProperty(u.prototype,"characterSet",{get:function(){return null}}),Object.defineProperty(u.prototype,"contentType",{get:function(){return null}}),u.prototype.end=function(t){var e;return e={},t?p(t)&&(e=t,t=this.options.writer):t=this.options.writer,t.document(this,t.filterOptions(e))},u.prototype.toString=function(t){return this.options.writer.document(this,this.options.writer.filterOptions(t))},u.prototype.createElement=function(t){throw new Error("This DOM method is not implemented."+this.debugInfo())},u.prototype.createDocumentFragment=function(){throw new Error("This DOM method is not implemented."+this.debugInfo())},u.prototype.createTextNode=function(t){throw new Error("This DOM method is not implemented."+this.debugInfo())},u.prototype.createComment=function(t){throw new Error("This DOM method is not implemented."+this.debugInfo())},u.prototype.createCDATASection=function(t){throw new Error("This DOM method is not implemented."+this.debugInfo())},u.prototype.createProcessingInstruction=function(t,e){throw new Error("This DOM method is not implemented."+this.debugInfo())},u.prototype.createAttribute=function(t){throw new Error("This DOM method is not implemented."+this.debugInfo())},u.prototype.createEntityReference=function(t){throw new Error("This DOM method is not implemented."+this.debugInfo())},u.prototype.getElementsByTagName=function(t){throw new Error("This DOM method is not implemented."+this.debugInfo())},u.prototype.importNode=function(t,e){throw new Error("This DOM method is not implemented."+this.debugInfo())},u.prototype.createElementNS=function(t,e){throw new Error("This DOM method is not implemented."+this.debugInfo())},u.prototype.createAttributeNS=function(t,e){throw new Error("This DOM method is not implemented."+this.debugInfo())},u.prototype.getElementsByTagNameNS=function(t,e){throw new Error("This DOM method is not implemented."+this.debugInfo())},u.prototype.getElementById=function(t){throw new Error("This DOM method is not implemented."+this.debugInfo())},u.prototype.adoptNode=function(t){throw new Error("This DOM method is not implemented."+this.debugInfo())},u.prototype.normalizeDocument=function(){throw new Error("This DOM method is not implemented."+this.debugInfo())},u.prototype.renameNode=function(t,e,o){throw new Error("This DOM method is not implemented."+this.debugInfo())},u.prototype.getElementsByClassName=function(t){throw new Error("This DOM method is not implemented."+this.debugInfo())},u.prototype.createEvent=function(t){throw new Error("This DOM method is not implemented."+this.debugInfo())},u.prototype.createRange=function(){throw new Error("This DOM method is not implemented."+this.debugInfo())},u.prototype.createNodeIterator=function(t,e,o){throw new Error("This DOM method is not implemented."+this.debugInfo())},u.prototype.createTreeWalker=function(t,e,o){throw new Error("This DOM method is not implemented."+this.debugInfo())},u}()}).call(this);
},{"./NodeType":65,"./Utility":66,"./XMLDOMConfiguration":72,"./XMLDOMImplementation":74,"./XMLNode":87,"./XMLStringWriter":92,"./XMLStringifier":93}],83:[function(require,module,exports){
(function(){var t,e,r,i,n,o,s,h,u,c,a,p,l,d,w,y,f,v,L,m,N,D,O,b={}.hasOwnProperty;O=require("./Utility"),N=O.isObject,m=O.isFunction,D=O.isPlainObject,L=O.getValue,t=require("./NodeType"),p=require("./XMLDocument"),l=require("./XMLElement"),i=require("./XMLCData"),n=require("./XMLComment"),w=require("./XMLRaw"),v=require("./XMLText"),d=require("./XMLProcessingInstruction"),c=require("./XMLDeclaration"),a=require("./XMLDocType"),o=require("./XMLDTDAttList"),h=require("./XMLDTDEntity"),s=require("./XMLDTDElement"),u=require("./XMLDTDNotation"),r=require("./XMLAttribute"),f=require("./XMLStringifier"),y=require("./XMLStringWriter"),e=require("./WriterState"),module.exports=function(){function O(e,r,i){var n;this.name="?xml",this.type=t.Document,e||(e={}),n={},e.writer?D(e.writer)&&(n=e.writer,e.writer=new y):e.writer=new y,this.options=e,this.writer=e.writer,this.writerOptions=this.writer.filterOptions(n),this.stringify=new f(e),this.onDataCallback=r||function(){},this.onEndCallback=i||function(){},this.currentNode=null,this.currentLevel=-1,this.openTags={},this.documentStarted=!1,this.documentCompleted=!1,this.root=null}return O.prototype.createChildNode=function(e){var r,i,n,o,s,h,u,c;switch(e.type){case t.CData:this.cdata(e.value);break;case t.Comment:this.comment(e.value);break;case t.Element:for(i in n={},u=e.attribs)b.call(u,i)&&(r=u[i],n[i]=r.value);this.node(e.name,n);break;case t.Dummy:this.dummy();break;case t.Raw:this.raw(e.value);break;case t.Text:this.text(e.value);break;case t.ProcessingInstruction:this.instruction(e.target,e.value);break;default:throw new Error("This XML node type is not supported in a JS object: "+e.constructor.name)}for(s=0,h=(c=e.children).length;s<h;s++)o=c[s],this.createChildNode(o),o.type===t.Element&&this.up();return this},O.prototype.dummy=function(){return this},O.prototype.node=function(t,e,r){var i;if(null==t)throw new Error("Missing node name.");if(this.root&&-1===this.currentLevel)throw new Error("Document can only have one root node. "+this.debugInfo(t));return this.openCurrent(),t=L(t),null==e&&(e={}),e=L(e),N(e)||(r=(i=[e,r])[0],e=i[1]),this.currentNode=new l(this,t,e),this.currentNode.children=!1,this.currentLevel++,this.openTags[this.currentLevel]=this.currentNode,null!=r&&this.text(r),this},O.prototype.element=function(e,r,i){var n,o,s,h,u,c;if(this.currentNode&&this.currentNode.type===t.DocType)this.dtdElement.apply(this,arguments);else if(Array.isArray(e)||N(e)||m(e))for(h=this.options.noValidation,this.options.noValidation=!0,(c=new p(this.options).element("TEMP_ROOT")).element(e),this.options.noValidation=h,o=0,s=(u=c.children).length;o<s;o++)n=u[o],this.createChildNode(n),n.type===t.Element&&this.up();else this.node(e,r,i);return this},O.prototype.attribute=function(t,e){var i,n;if(!this.currentNode||this.currentNode.children)throw new Error("att() can only be used immediately after an ele() call in callback mode. "+this.debugInfo(t));if(null!=t&&(t=L(t)),N(t))for(i in t)b.call(t,i)&&(n=t[i],this.attribute(i,n));else m(e)&&(e=e.apply()),this.options.keepNullAttributes&&null==e?this.currentNode.attribs[t]=new r(this,t,""):null!=e&&(this.currentNode.attribs[t]=new r(this,t,e));return this},O.prototype.text=function(t){var e;return this.openCurrent(),e=new v(this,t),this.onData(this.writer.text(e,this.writerOptions,this.currentLevel+1),this.currentLevel+1),this},O.prototype.cdata=function(t){var e;return this.openCurrent(),e=new i(this,t),this.onData(this.writer.cdata(e,this.writerOptions,this.currentLevel+1),this.currentLevel+1),this},O.prototype.comment=function(t){var e;return this.openCurrent(),e=new n(this,t),this.onData(this.writer.comment(e,this.writerOptions,this.currentLevel+1),this.currentLevel+1),this},O.prototype.raw=function(t){var e;return this.openCurrent(),e=new w(this,t),this.onData(this.writer.raw(e,this.writerOptions,this.currentLevel+1),this.currentLevel+1),this},O.prototype.instruction=function(t,e){var r,i,n,o,s;if(this.openCurrent(),null!=t&&(t=L(t)),null!=e&&(e=L(e)),Array.isArray(t))for(r=0,o=t.length;r<o;r++)i=t[r],this.instruction(i);else if(N(t))for(i in t)b.call(t,i)&&(n=t[i],this.instruction(i,n));else m(e)&&(e=e.apply()),s=new d(this,t,e),this.onData(this.writer.processingInstruction(s,this.writerOptions,this.currentLevel+1),this.currentLevel+1);return this},O.prototype.declaration=function(t,e,r){var i;if(this.openCurrent(),this.documentStarted)throw new Error("declaration() must be the first node.");return i=new c(this,t,e,r),this.onData(this.writer.declaration(i,this.writerOptions,this.currentLevel+1),this.currentLevel+1),this},O.prototype.doctype=function(t,e,r){if(this.openCurrent(),null==t)throw new Error("Missing root node name.");if(this.root)throw new Error("dtd() must come before the root node.");return this.currentNode=new a(this,e,r),this.currentNode.rootNodeName=t,this.currentNode.children=!1,this.currentLevel++,this.openTags[this.currentLevel]=this.currentNode,this},O.prototype.dtdElement=function(t,e){var r;return this.openCurrent(),r=new s(this,t,e),this.onData(this.writer.dtdElement(r,this.writerOptions,this.currentLevel+1),this.currentLevel+1),this},O.prototype.attList=function(t,e,r,i,n){var s;return this.openCurrent(),s=new o(this,t,e,r,i,n),this.onData(this.writer.dtdAttList(s,this.writerOptions,this.currentLevel+1),this.currentLevel+1),this},O.prototype.entity=function(t,e){var r;return this.openCurrent(),r=new h(this,!1,t,e),this.onData(this.writer.dtdEntity(r,this.writerOptions,this.currentLevel+1),this.currentLevel+1),this},O.prototype.pEntity=function(t,e){var r;return this.openCurrent(),r=new h(this,!0,t,e),this.onData(this.writer.dtdEntity(r,this.writerOptions,this.currentLevel+1),this.currentLevel+1),this},O.prototype.notation=function(t,e){var r;return this.openCurrent(),r=new u(this,t,e),this.onData(this.writer.dtdNotation(r,this.writerOptions,this.currentLevel+1),this.currentLevel+1),this},O.prototype.up=function(){if(this.currentLevel<0)throw new Error("The document node has no parent.");return this.currentNode?(this.currentNode.children?this.closeNode(this.currentNode):this.openNode(this.currentNode),this.currentNode=null):this.closeNode(this.openTags[this.currentLevel]),delete this.openTags[this.currentLevel],this.currentLevel--,this},O.prototype.end=function(){for(;this.currentLevel>=0;)this.up();return this.onEnd()},O.prototype.openCurrent=function(){if(this.currentNode)return this.currentNode.children=!0,this.openNode(this.currentNode)},O.prototype.openNode=function(r){var i,n,o,s;if(!r.isOpen){if(this.root||0!==this.currentLevel||r.type!==t.Element||(this.root=r),n="",r.type===t.Element){for(o in this.writerOptions.state=e.OpenTag,n=this.writer.indent(r,this.writerOptions,this.currentLevel)+"<"+r.name,s=r.attribs)b.call(s,o)&&(i=s[o],n+=this.writer.attribute(i,this.writerOptions,this.currentLevel));n+=(r.children?">":"/>")+this.writer.endline(r,this.writerOptions,this.currentLevel),this.writerOptions.state=e.InsideTag}else this.writerOptions.state=e.OpenTag,n=this.writer.indent(r,this.writerOptions,this.currentLevel)+"<!DOCTYPE "+r.rootNodeName,r.pubID&&r.sysID?n+=' PUBLIC "'+r.pubID+'" "'+r.sysID+'"':r.sysID&&(n+=' SYSTEM "'+r.sysID+'"'),r.children?(n+=" [",this.writerOptions.state=e.InsideTag):(this.writerOptions.state=e.CloseTag,n+=">"),n+=this.writer.endline(r,this.writerOptions,this.currentLevel);return this.onData(n,this.currentLevel),r.isOpen=!0}},O.prototype.closeNode=function(r){var i;if(!r.isClosed)return i="",this.writerOptions.state=e.CloseTag,i=r.type===t.Element?this.writer.indent(r,this.writerOptions,this.currentLevel)+"</"+r.name+">"+this.writer.endline(r,this.writerOptions,this.currentLevel):this.writer.indent(r,this.writerOptions,this.currentLevel)+"]>"+this.writer.endline(r,this.writerOptions,this.currentLevel),this.writerOptions.state=e.None,this.onData(i,this.currentLevel),r.isClosed=!0},O.prototype.onData=function(t,e){return this.documentStarted=!0,this.onDataCallback(t,e+1)},O.prototype.onEnd=function(){return this.documentCompleted=!0,this.onEndCallback()},O.prototype.debugInfo=function(t){return null==t?"":"node: <"+t+">"},O.prototype.ele=function(){return this.element.apply(this,arguments)},O.prototype.nod=function(t,e,r){return this.node(t,e,r)},O.prototype.txt=function(t){return this.text(t)},O.prototype.dat=function(t){return this.cdata(t)},O.prototype.com=function(t){return this.comment(t)},O.prototype.ins=function(t,e){return this.instruction(t,e)},O.prototype.dec=function(t,e,r){return this.declaration(t,e,r)},O.prototype.dtd=function(t,e,r){return this.doctype(t,e,r)},O.prototype.e=function(t,e,r){return this.element(t,e,r)},O.prototype.n=function(t,e,r){return this.node(t,e,r)},O.prototype.t=function(t){return this.text(t)},O.prototype.d=function(t){return this.cdata(t)},O.prototype.c=function(t){return this.comment(t)},O.prototype.r=function(t){return this.raw(t)},O.prototype.i=function(t,e){return this.instruction(t,e)},O.prototype.att=function(){return this.currentNode&&this.currentNode.type===t.DocType?this.attList.apply(this,arguments):this.attribute.apply(this,arguments)},O.prototype.a=function(){return this.currentNode&&this.currentNode.type===t.DocType?this.attList.apply(this,arguments):this.attribute.apply(this,arguments)},O.prototype.ent=function(t,e){return this.entity(t,e)},O.prototype.pent=function(t,e){return this.pEntity(t,e)},O.prototype.not=function(t,e){return this.notation(t,e)},O}()}).call(this);
},{"./NodeType":65,"./Utility":66,"./WriterState":67,"./XMLAttribute":68,"./XMLCData":69,"./XMLComment":71,"./XMLDTDAttList":76,"./XMLDTDElement":77,"./XMLDTDEntity":78,"./XMLDTDNotation":79,"./XMLDeclaration":80,"./XMLDocType":81,"./XMLDocument":82,"./XMLElement":85,"./XMLProcessingInstruction":89,"./XMLRaw":90,"./XMLStringWriter":92,"./XMLStringifier":93,"./XMLText":94}],84:[function(require,module,exports){
(function(){var t,o,r={}.hasOwnProperty;o=require("./XMLNode"),t=require("./NodeType"),module.exports=function(e){function n(o){n.__super__.constructor.call(this,o),this.type=t.Dummy}return function(t,o){for(var e in o)r.call(o,e)&&(t[e]=o[e]);function n(){this.constructor=t}n.prototype=o.prototype,t.prototype=new n,t.__super__=o.prototype}(n,o),n.prototype.clone=function(){return Object.create(this)},n.prototype.toString=function(t){return""},n}()}).call(this);
},{"./NodeType":65,"./XMLNode":87}],85:[function(require,module,exports){
(function(){var t,e,r,o,i,n,s,h,u={}.hasOwnProperty;h=require("./Utility"),s=h.isObject,n=h.isFunction,i=h.getValue,o=require("./XMLNode"),t=require("./NodeType"),e=require("./XMLAttribute"),r=require("./XMLNamedNodeMap"),module.exports=function(h){function p(e,r,o){var i,n,s,h;if(p.__super__.constructor.call(this,e),null==r)throw new Error("Missing element name. "+this.debugInfo());if(this.name=this.stringify.name(r),this.type=t.Element,this.attribs={},this.schemaTypeInfo=null,null!=o&&this.attribute(o),e.type===t.Document&&(this.isRoot=!0,this.documentObject=e,e.rootObject=this,e.children))for(n=0,s=(h=e.children).length;n<s;n++)if((i=h[n]).type===t.DocType){i.name=this.name;break}}return function(t,e){for(var r in e)u.call(e,r)&&(t[r]=e[r]);function o(){this.constructor=t}o.prototype=e.prototype,t.prototype=new o,t.__super__=e.prototype}(p,o),Object.defineProperty(p.prototype,"tagName",{get:function(){return this.name}}),Object.defineProperty(p.prototype,"namespaceURI",{get:function(){return""}}),Object.defineProperty(p.prototype,"prefix",{get:function(){return""}}),Object.defineProperty(p.prototype,"localName",{get:function(){return this.name}}),Object.defineProperty(p.prototype,"id",{get:function(){throw new Error("This DOM method is not implemented."+this.debugInfo())}}),Object.defineProperty(p.prototype,"className",{get:function(){throw new Error("This DOM method is not implemented."+this.debugInfo())}}),Object.defineProperty(p.prototype,"classList",{get:function(){throw new Error("This DOM method is not implemented."+this.debugInfo())}}),Object.defineProperty(p.prototype,"attributes",{get:function(){return this.attributeMap&&this.attributeMap.nodes||(this.attributeMap=new r(this.attribs)),this.attributeMap}}),p.prototype.clone=function(){var t,e,r,o;for(e in(r=Object.create(this)).isRoot&&(r.documentObject=null),r.attribs={},o=this.attribs)u.call(o,e)&&(t=o[e],r.attribs[e]=t.clone());return r.children=[],this.children.forEach(function(t){var e;return(e=t.clone()).parent=r,r.children.push(e)}),r},p.prototype.attribute=function(t,r){var o,h;if(null!=t&&(t=i(t)),s(t))for(o in t)u.call(t,o)&&(h=t[o],this.attribute(o,h));else n(r)&&(r=r.apply()),this.options.keepNullAttributes&&null==r?this.attribs[t]=new e(this,t,""):null!=r&&(this.attribs[t]=new e(this,t,r));return this},p.prototype.removeAttribute=function(t){var e,r,o;if(null==t)throw new Error("Missing attribute name. "+this.debugInfo());if(t=i(t),Array.isArray(t))for(r=0,o=t.length;r<o;r++)e=t[r],delete this.attribs[e];else delete this.attribs[t];return this},p.prototype.toString=function(t){return this.options.writer.element(this,this.options.writer.filterOptions(t))},p.prototype.att=function(t,e){return this.attribute(t,e)},p.prototype.a=function(t,e){return this.attribute(t,e)},p.prototype.getAttribute=function(t){return this.attribs.hasOwnProperty(t)?this.attribs[t].value:null},p.prototype.setAttribute=function(t,e){throw new Error("This DOM method is not implemented."+this.debugInfo())},p.prototype.getAttributeNode=function(t){return this.attribs.hasOwnProperty(t)?this.attribs[t]:null},p.prototype.setAttributeNode=function(t){throw new Error("This DOM method is not implemented."+this.debugInfo())},p.prototype.removeAttributeNode=function(t){throw new Error("This DOM method is not implemented."+this.debugInfo())},p.prototype.getElementsByTagName=function(t){throw new Error("This DOM method is not implemented."+this.debugInfo())},p.prototype.getAttributeNS=function(t,e){throw new Error("This DOM method is not implemented."+this.debugInfo())},p.prototype.setAttributeNS=function(t,e,r){throw new Error("This DOM method is not implemented."+this.debugInfo())},p.prototype.removeAttributeNS=function(t,e){throw new Error("This DOM method is not implemented."+this.debugInfo())},p.prototype.getAttributeNodeNS=function(t,e){throw new Error("This DOM method is not implemented."+this.debugInfo())},p.prototype.setAttributeNodeNS=function(t){throw new Error("This DOM method is not implemented."+this.debugInfo())},p.prototype.getElementsByTagNameNS=function(t,e){throw new Error("This DOM method is not implemented."+this.debugInfo())},p.prototype.hasAttribute=function(t){return this.attribs.hasOwnProperty(t)},p.prototype.hasAttributeNS=function(t,e){throw new Error("This DOM method is not implemented."+this.debugInfo())},p.prototype.setIdAttribute=function(t,e){return this.attribs.hasOwnProperty(t)?this.attribs[t].isId:e},p.prototype.setIdAttributeNS=function(t,e,r){throw new Error("This DOM method is not implemented."+this.debugInfo())},p.prototype.setIdAttributeNode=function(t,e){throw new Error("This DOM method is not implemented."+this.debugInfo())},p.prototype.getElementsByTagName=function(t){throw new Error("This DOM method is not implemented."+this.debugInfo())},p.prototype.getElementsByTagNameNS=function(t,e){throw new Error("This DOM method is not implemented."+this.debugInfo())},p.prototype.getElementsByClassName=function(t){throw new Error("This DOM method is not implemented."+this.debugInfo())},p.prototype.isEqualNode=function(t){var e,r,o;if(!p.__super__.isEqualNode.apply(this,arguments).isEqualNode(t))return!1;if(t.namespaceURI!==this.namespaceURI)return!1;if(t.prefix!==this.prefix)return!1;if(t.localName!==this.localName)return!1;if(t.attribs.length!==this.attribs.length)return!1;for(e=r=0,o=this.attribs.length-1;0<=o?r<=o:r>=o;e=0<=o?++r:--r)if(!this.attribs[e].isEqualNode(t.attribs[e]))return!1;return!0},p}()}).call(this);
},{"./NodeType":65,"./Utility":66,"./XMLAttribute":68,"./XMLNamedNodeMap":86,"./XMLNode":87}],86:[function(require,module,exports){
(function(){module.exports=function(){function e(e){this.nodes=e}return Object.defineProperty(e.prototype,"length",{get:function(){return Object.keys(this.nodes).length||0}}),e.prototype.clone=function(){return this.nodes=null},e.prototype.getNamedItem=function(e){return this.nodes[e]},e.prototype.setNamedItem=function(e){var t;return t=this.nodes[e.nodeName],this.nodes[e.nodeName]=e,t||null},e.prototype.removeNamedItem=function(e){var t;return t=this.nodes[e],delete this.nodes[e],t||null},e.prototype.item=function(e){return this.nodes[Object.keys(this.nodes)[e]]||null},e.prototype.getNamedItemNS=function(e,t){throw new Error("This DOM method is not implemented.")},e.prototype.setNamedItemNS=function(e){throw new Error("This DOM method is not implemented.")},e.prototype.removeNamedItemNS=function(e,t){throw new Error("This DOM method is not implemented.")},e}()}).call(this);
},{}],87:[function(require,module,exports){
(function(){var t,e,n,r,i,o,s,h,p,u,c,l,d,a,f,y,m,g={}.hasOwnProperty;m=require("./Utility"),y=m.isObject,f=m.isFunction,a=m.isEmpty,d=m.getValue,h=null,n=null,r=null,i=null,o=null,c=null,l=null,u=null,s=null,e=null,p=null,t=null,module.exports=function(){function m(d){this.parent=d,this.parent&&(this.options=this.parent.options,this.stringify=this.parent.stringify),this.value=null,this.children=[],this.baseURI=null,h||(h=require("./XMLElement"),n=require("./XMLCData"),r=require("./XMLComment"),i=require("./XMLDeclaration"),o=require("./XMLDocType"),c=require("./XMLRaw"),l=require("./XMLText"),u=require("./XMLProcessingInstruction"),s=require("./XMLDummy"),e=require("./NodeType"),p=require("./XMLNodeList"),require("./XMLNamedNodeMap"),t=require("./DocumentPosition"))}return Object.defineProperty(m.prototype,"nodeName",{get:function(){return this.name}}),Object.defineProperty(m.prototype,"nodeType",{get:function(){return this.type}}),Object.defineProperty(m.prototype,"nodeValue",{get:function(){return this.value}}),Object.defineProperty(m.prototype,"parentNode",{get:function(){return this.parent}}),Object.defineProperty(m.prototype,"childNodes",{get:function(){return this.childNodeList&&this.childNodeList.nodes||(this.childNodeList=new p(this.children)),this.childNodeList}}),Object.defineProperty(m.prototype,"firstChild",{get:function(){return this.children[0]||null}}),Object.defineProperty(m.prototype,"lastChild",{get:function(){return this.children[this.children.length-1]||null}}),Object.defineProperty(m.prototype,"previousSibling",{get:function(){var t;return t=this.parent.children.indexOf(this),this.parent.children[t-1]||null}}),Object.defineProperty(m.prototype,"nextSibling",{get:function(){var t;return t=this.parent.children.indexOf(this),this.parent.children[t+1]||null}}),Object.defineProperty(m.prototype,"ownerDocument",{get:function(){return this.document()||null}}),Object.defineProperty(m.prototype,"textContent",{get:function(){var t,n,r,i,o;if(this.nodeType===e.Element||this.nodeType===e.DocumentFragment){for(o="",n=0,r=(i=this.children).length;n<r;n++)(t=i[n]).textContent&&(o+=t.textContent);return o}return null},set:function(t){throw new Error("This DOM method is not implemented."+this.debugInfo())}}),m.prototype.setParent=function(t){var e,n,r,i,o;for(this.parent=t,t&&(this.options=t.options,this.stringify=t.stringify),o=[],n=0,r=(i=this.children).length;n<r;n++)e=i[n],o.push(e.setParent(this));return o},m.prototype.element=function(t,e,n){var r,i,o,s,h,p,u,c,l,m,w;if(p=null,null===e&&null==n&&(e=(l=[{},null])[0],n=l[1]),null==e&&(e={}),e=d(e),y(e)||(n=(m=[e,n])[0],e=m[1]),null!=t&&(t=d(t)),Array.isArray(t))for(o=0,u=t.length;o<u;o++)i=t[o],p=this.element(i);else if(f(t))p=this.element(t.apply());else if(y(t)){for(h in t)if(g.call(t,h))if(w=t[h],f(w)&&(w=w.apply()),!this.options.ignoreDecorators&&this.stringify.convertAttKey&&0===h.indexOf(this.stringify.convertAttKey))p=this.attribute(h.substr(this.stringify.convertAttKey.length),w);else if(!this.options.separateArrayItems&&Array.isArray(w)&&a(w))p=this.dummy();else if(y(w)&&a(w))p=this.element(h);else if(this.options.keepNullNodes||null!=w)if(!this.options.separateArrayItems&&Array.isArray(w))for(s=0,c=w.length;s<c;s++)i=w[s],(r={})[h]=i,p=this.element(r);else y(w)?!this.options.ignoreDecorators&&this.stringify.convertTextKey&&0===h.indexOf(this.stringify.convertTextKey)?p=this.element(w):(p=this.element(h)).element(w):p=this.element(h,w);else p=this.dummy()}else p=this.options.keepNullNodes||null!==n?!this.options.ignoreDecorators&&this.stringify.convertTextKey&&0===t.indexOf(this.stringify.convertTextKey)?this.text(n):!this.options.ignoreDecorators&&this.stringify.convertCDataKey&&0===t.indexOf(this.stringify.convertCDataKey)?this.cdata(n):!this.options.ignoreDecorators&&this.stringify.convertCommentKey&&0===t.indexOf(this.stringify.convertCommentKey)?this.comment(n):!this.options.ignoreDecorators&&this.stringify.convertRawKey&&0===t.indexOf(this.stringify.convertRawKey)?this.raw(n):!this.options.ignoreDecorators&&this.stringify.convertPIKey&&0===t.indexOf(this.stringify.convertPIKey)?this.instruction(t.substr(this.stringify.convertPIKey.length),n):this.node(t,e,n):this.dummy();if(null==p)throw new Error("Could not create any elements with: "+t+". "+this.debugInfo());return p},m.prototype.insertBefore=function(t,e,n){var r,i,o,s,h;if(null!=t?t.type:void 0)return s=e,(o=t).setParent(this),s?(i=children.indexOf(s),h=children.splice(i),children.push(o),Array.prototype.push.apply(children,h)):children.push(o),o;if(this.isRoot)throw new Error("Cannot insert elements at root level. "+this.debugInfo(t));return i=this.parent.children.indexOf(this),h=this.parent.children.splice(i),r=this.parent.element(t,e,n),Array.prototype.push.apply(this.parent.children,h),r},m.prototype.insertAfter=function(t,e,n){var r,i,o;if(this.isRoot)throw new Error("Cannot insert elements at root level. "+this.debugInfo(t));return i=this.parent.children.indexOf(this),o=this.parent.children.splice(i+1),r=this.parent.element(t,e,n),Array.prototype.push.apply(this.parent.children,o),r},m.prototype.remove=function(){var t;if(this.isRoot)throw new Error("Cannot remove the root element. "+this.debugInfo());return t=this.parent.children.indexOf(this),[].splice.apply(this.parent.children,[t,t-t+1].concat([])),this.parent},m.prototype.node=function(t,e,n){var r,i;return null!=t&&(t=d(t)),e||(e={}),e=d(e),y(e)||(n=(i=[e,n])[0],e=i[1]),r=new h(this,t,e),null!=n&&r.text(n),this.children.push(r),r},m.prototype.text=function(t){var e;return y(t)&&this.element(t),e=new l(this,t),this.children.push(e),this},m.prototype.cdata=function(t){var e;return e=new n(this,t),this.children.push(e),this},m.prototype.comment=function(t){var e;return e=new r(this,t),this.children.push(e),this},m.prototype.commentBefore=function(t){var e,n;return e=this.parent.children.indexOf(this),n=this.parent.children.splice(e),this.parent.comment(t),Array.prototype.push.apply(this.parent.children,n),this},m.prototype.commentAfter=function(t){var e,n;return e=this.parent.children.indexOf(this),n=this.parent.children.splice(e+1),this.parent.comment(t),Array.prototype.push.apply(this.parent.children,n),this},m.prototype.raw=function(t){var e;return e=new c(this,t),this.children.push(e),this},m.prototype.dummy=function(){return new s(this)},m.prototype.instruction=function(t,e){var n,r,i,o,s;if(null!=t&&(t=d(t)),null!=e&&(e=d(e)),Array.isArray(t))for(o=0,s=t.length;o<s;o++)n=t[o],this.instruction(n);else if(y(t))for(n in t)g.call(t,n)&&(r=t[n],this.instruction(n,r));else f(e)&&(e=e.apply()),i=new u(this,t,e),this.children.push(i);return this},m.prototype.instructionBefore=function(t,e){var n,r;return n=this.parent.children.indexOf(this),r=this.parent.children.splice(n),this.parent.instruction(t,e),Array.prototype.push.apply(this.parent.children,r),this},m.prototype.instructionAfter=function(t,e){var n,r;return n=this.parent.children.indexOf(this),r=this.parent.children.splice(n+1),this.parent.instruction(t,e),Array.prototype.push.apply(this.parent.children,r),this},m.prototype.declaration=function(t,n,r){var o,s;return o=this.document(),s=new i(o,t,n,r),0===o.children.length?o.children.unshift(s):o.children[0].type===e.Declaration?o.children[0]=s:o.children.unshift(s),o.root()||o},m.prototype.dtd=function(t,n){var r,i,s,h,p,u,c,l,d;for(r=this.document(),i=new o(r,t,n),s=h=0,u=(l=r.children).length;h<u;s=++h)if(l[s].type===e.DocType)return r.children[s]=i,i;for(s=p=0,c=(d=r.children).length;p<c;s=++p)if(d[s].isRoot)return r.children.splice(s,0,i),i;return r.children.push(i),i},m.prototype.up=function(){if(this.isRoot)throw new Error("The root node has no parent. Use doc() if you need to get the document object.");return this.parent},m.prototype.root=function(){var t;for(t=this;t;){if(t.type===e.Document)return t.rootObject;if(t.isRoot)return t;t=t.parent}},m.prototype.document=function(){var t;for(t=this;t;){if(t.type===e.Document)return t;t=t.parent}},m.prototype.end=function(t){return this.document().end(t)},m.prototype.prev=function(){var t;if((t=this.parent.children.indexOf(this))<1)throw new Error("Already at the first node. "+this.debugInfo());return this.parent.children[t-1]},m.prototype.next=function(){var t;if(-1===(t=this.parent.children.indexOf(this))||t===this.parent.children.length-1)throw new Error("Already at the last node. "+this.debugInfo());return this.parent.children[t+1]},m.prototype.importDocument=function(t){var e;return(e=t.root().clone()).parent=this,e.isRoot=!1,this.children.push(e),this},m.prototype.debugInfo=function(t){var e,n;return null!=(t=t||this.name)||(null!=(e=this.parent)?e.name:void 0)?null==t?"parent: <"+this.parent.name+">":(null!=(n=this.parent)?n.name:void 0)?"node: <"+t+">, parent: <"+this.parent.name+">":"node: <"+t+">":""},m.prototype.ele=function(t,e,n){return this.element(t,e,n)},m.prototype.nod=function(t,e,n){return this.node(t,e,n)},m.prototype.txt=function(t){return this.text(t)},m.prototype.dat=function(t){return this.cdata(t)},m.prototype.com=function(t){return this.comment(t)},m.prototype.ins=function(t,e){return this.instruction(t,e)},m.prototype.doc=function(){return this.document()},m.prototype.dec=function(t,e,n){return this.declaration(t,e,n)},m.prototype.e=function(t,e,n){return this.element(t,e,n)},m.prototype.n=function(t,e,n){return this.node(t,e,n)},m.prototype.t=function(t){return this.text(t)},m.prototype.d=function(t){return this.cdata(t)},m.prototype.c=function(t){return this.comment(t)},m.prototype.r=function(t){return this.raw(t)},m.prototype.i=function(t,e){return this.instruction(t,e)},m.prototype.u=function(){return this.up()},m.prototype.importXMLBuilder=function(t){return this.importDocument(t)},m.prototype.replaceChild=function(t,e){throw new Error("This DOM method is not implemented."+this.debugInfo())},m.prototype.removeChild=function(t){throw new Error("This DOM method is not implemented."+this.debugInfo())},m.prototype.appendChild=function(t){throw new Error("This DOM method is not implemented."+this.debugInfo())},m.prototype.hasChildNodes=function(){return 0!==this.children.length},m.prototype.cloneNode=function(t){throw new Error("This DOM method is not implemented."+this.debugInfo())},m.prototype.normalize=function(){throw new Error("This DOM method is not implemented."+this.debugInfo())},m.prototype.isSupported=function(t,e){return!0},m.prototype.hasAttributes=function(){return 0!==this.attribs.length},m.prototype.compareDocumentPosition=function(e){var n;return this,this===e?0:this.document()!==e.document()?(n=t.Disconnected|t.ImplementationSpecific,Math.random()<.5?n|=t.Preceding:n|=t.Following,n):this.isAncestor(e)?t.Contains|t.Preceding:this.isDescendant(e)?t.Contains|t.Following:this.isPreceding(e)?t.Preceding:t.Following},m.prototype.isSameNode=function(t){throw new Error("This DOM method is not implemented."+this.debugInfo())},m.prototype.lookupPrefix=function(t){throw new Error("This DOM method is not implemented."+this.debugInfo())},m.prototype.isDefaultNamespace=function(t){throw new Error("This DOM method is not implemented."+this.debugInfo())},m.prototype.lookupNamespaceURI=function(t){throw new Error("This DOM method is not implemented."+this.debugInfo())},m.prototype.isEqualNode=function(t){var e,n,r;if(t.nodeType!==this.nodeType)return!1;if(t.children.length!==this.children.length)return!1;for(e=n=0,r=this.children.length-1;0<=r?n<=r:n>=r;e=0<=r?++n:--n)if(!this.children[e].isEqualNode(t.children[e]))return!1;return!0},m.prototype.getFeature=function(t,e){throw new Error("This DOM method is not implemented."+this.debugInfo())},m.prototype.setUserData=function(t,e,n){throw new Error("This DOM method is not implemented."+this.debugInfo())},m.prototype.getUserData=function(t){throw new Error("This DOM method is not implemented."+this.debugInfo())},m.prototype.contains=function(t){return!!t&&(t===this||this.isDescendant(t))},m.prototype.isDescendant=function(t){var e,n,r,i;for(n=0,r=(i=this.children).length;n<r;n++){if(t===(e=i[n]))return!0;if(e.isDescendant(t))return!0}return!1},m.prototype.isAncestor=function(t){return t.isDescendant(this)},m.prototype.isPreceding=function(t){var e,n;return e=this.treePosition(t),n=this.treePosition(this),-1!==e&&-1!==n&&e<n},m.prototype.isFollowing=function(t){var e,n;return e=this.treePosition(t),n=this.treePosition(this),-1!==e&&-1!==n&&e>n},m.prototype.treePosition=function(t){var e,n;return n=0,e=!1,this.foreachTreeNode(this.document(),function(r){if(n++,!e&&r===t)return e=!0}),e?n:-1},m.prototype.foreachTreeNode=function(t,e){var n,r,i,o,s;for(t||(t=this.document()),r=0,i=(o=t.children).length;r<i;r++){if(s=e(n=o[r]))return s;if(s=this.foreachTreeNode(n,e))return s}},m}()}).call(this);
},{"./DocumentPosition":64,"./NodeType":65,"./Utility":66,"./XMLCData":69,"./XMLComment":71,"./XMLDeclaration":80,"./XMLDocType":81,"./XMLDummy":84,"./XMLElement":85,"./XMLNamedNodeMap":86,"./XMLNodeList":88,"./XMLProcessingInstruction":89,"./XMLRaw":90,"./XMLText":94}],88:[function(require,module,exports){
(function(){module.exports=function(){function t(t){this.nodes=t}return Object.defineProperty(t.prototype,"length",{get:function(){return this.nodes.length||0}}),t.prototype.clone=function(){return this.nodes=null},t.prototype.item=function(t){return this.nodes[t]||null},t}()}).call(this);
},{}],89:[function(require,module,exports){
(function(){var t,r,i={}.hasOwnProperty;t=require("./NodeType"),r=require("./XMLCharacterData"),module.exports=function(e){function o(r,i,e){if(o.__super__.constructor.call(this,r),null==i)throw new Error("Missing instruction target. "+this.debugInfo());this.type=t.ProcessingInstruction,this.target=this.stringify.insTarget(i),this.name=this.target,e&&(this.value=this.stringify.insValue(e))}return function(t,r){for(var e in r)i.call(r,e)&&(t[e]=r[e]);function o(){this.constructor=t}o.prototype=r.prototype,t.prototype=new o,t.__super__=r.prototype}(o,r),o.prototype.clone=function(){return Object.create(this)},o.prototype.toString=function(t){return this.options.writer.processingInstruction(this,this.options.writer.filterOptions(t))},o.prototype.isEqualNode=function(t){return!!o.__super__.isEqualNode.apply(this,arguments).isEqualNode(t)&&t.target===this.target},o}()}).call(this);
},{"./NodeType":65,"./XMLCharacterData":70}],90:[function(require,module,exports){
(function(){var t,r,o={}.hasOwnProperty;t=require("./NodeType"),r=require("./XMLNode"),module.exports=function(e){function i(r,o){if(i.__super__.constructor.call(this,r),null==o)throw new Error("Missing raw text. "+this.debugInfo());this.type=t.Raw,this.value=this.stringify.raw(o)}return function(t,r){for(var e in r)o.call(r,e)&&(t[e]=r[e]);function i(){this.constructor=t}i.prototype=r.prototype,t.prototype=new i,t.__super__=r.prototype}(i,r),i.prototype.clone=function(){return Object.create(this)},i.prototype.toString=function(t){return this.options.writer.raw(this,this.options.writer.filterOptions(t))},i}()}).call(this);
},{"./NodeType":65,"./XMLNode":87}],91:[function(require,module,exports){
(function(){var t,e,r,s={}.hasOwnProperty;t=require("./NodeType"),r=require("./XMLWriterBase"),e=require("./WriterState"),module.exports=function(i){function n(t,e){this.stream=t,n.__super__.constructor.call(this,e)}return function(t,e){for(var r in e)s.call(e,r)&&(t[r]=e[r]);function i(){this.constructor=t}i.prototype=e.prototype,t.prototype=new i,t.__super__=e.prototype}(n,r),n.prototype.endline=function(t,r,s){return t.isLastRootNode&&r.state===e.CloseTag?"":n.__super__.endline.call(this,t,r,s)},n.prototype.document=function(t,e){var r,s,i,n,o,a,h,l,p;for(s=i=0,o=(h=t.children).length;i<o;s=++i)(r=h[s]).isLastRootNode=s===t.children.length-1;for(e=this.filterOptions(e),p=[],n=0,a=(l=t.children).length;n<a;n++)r=l[n],p.push(this.writeChildNode(r,e,0));return p},n.prototype.attribute=function(t,e,r){return this.stream.write(n.__super__.attribute.call(this,t,e,r))},n.prototype.cdata=function(t,e,r){return this.stream.write(n.__super__.cdata.call(this,t,e,r))},n.prototype.comment=function(t,e,r){return this.stream.write(n.__super__.comment.call(this,t,e,r))},n.prototype.declaration=function(t,e,r){return this.stream.write(n.__super__.declaration.call(this,t,e,r))},n.prototype.docType=function(t,r,s){var i,n,o,a;if(s||(s=0),this.openNode(t,r,s),r.state=e.OpenTag,this.stream.write(this.indent(t,r,s)),this.stream.write("<!DOCTYPE "+t.root().name),t.pubID&&t.sysID?this.stream.write(' PUBLIC "'+t.pubID+'" "'+t.sysID+'"'):t.sysID&&this.stream.write(' SYSTEM "'+t.sysID+'"'),t.children.length>0){for(this.stream.write(" ["),this.stream.write(this.endline(t,r,s)),r.state=e.InsideTag,n=0,o=(a=t.children).length;n<o;n++)i=a[n],this.writeChildNode(i,r,s+1);r.state=e.CloseTag,this.stream.write("]")}return r.state=e.CloseTag,this.stream.write(r.spaceBeforeSlash+">"),this.stream.write(this.endline(t,r,s)),r.state=e.None,this.closeNode(t,r,s)},n.prototype.element=function(r,i,n){var o,a,h,l,p,u,c,d,_;for(c in n||(n=0),this.openNode(r,i,n),i.state=e.OpenTag,this.stream.write(this.indent(r,i,n)+"<"+r.name),d=r.attribs)s.call(d,c)&&(o=d[c],this.attribute(o,i,n));if(l=0===(h=r.children.length)?null:r.children[0],0===h||r.children.every(function(e){return(e.type===t.Text||e.type===t.Raw)&&""===e.value}))i.allowEmpty?(this.stream.write(">"),i.state=e.CloseTag,this.stream.write("</"+r.name+">")):(i.state=e.CloseTag,this.stream.write(i.spaceBeforeSlash+"/>"));else if(!i.pretty||1!==h||l.type!==t.Text&&l.type!==t.Raw||null==l.value){for(this.stream.write(">"+this.endline(r,i,n)),i.state=e.InsideTag,p=0,u=(_=r.children).length;p<u;p++)a=_[p],this.writeChildNode(a,i,n+1);i.state=e.CloseTag,this.stream.write(this.indent(r,i,n)+"</"+r.name+">")}else this.stream.write(">"),i.state=e.InsideTag,i.suppressPrettyCount++,!0,this.writeChildNode(l,i,n+1),i.suppressPrettyCount--,!1,i.state=e.CloseTag,this.stream.write("</"+r.name+">");return this.stream.write(this.endline(r,i,n)),i.state=e.None,this.closeNode(r,i,n)},n.prototype.processingInstruction=function(t,e,r){return this.stream.write(n.__super__.processingInstruction.call(this,t,e,r))},n.prototype.raw=function(t,e,r){return this.stream.write(n.__super__.raw.call(this,t,e,r))},n.prototype.text=function(t,e,r){return this.stream.write(n.__super__.text.call(this,t,e,r))},n.prototype.dtdAttList=function(t,e,r){return this.stream.write(n.__super__.dtdAttList.call(this,t,e,r))},n.prototype.dtdElement=function(t,e,r){return this.stream.write(n.__super__.dtdElement.call(this,t,e,r))},n.prototype.dtdEntity=function(t,e,r){return this.stream.write(n.__super__.dtdEntity.call(this,t,e,r))},n.prototype.dtdNotation=function(t,e,r){return this.stream.write(n.__super__.dtdNotation.call(this,t,e,r))},n}()}).call(this);
},{"./NodeType":65,"./WriterState":67,"./XMLWriterBase":95}],92:[function(require,module,exports){
(function(){var t,e={}.hasOwnProperty;t=require("./XMLWriterBase"),module.exports=function(n){function r(t){r.__super__.constructor.call(this,t)}return function(t,n){for(var r in n)e.call(n,r)&&(t[r]=n[r]);function o(){this.constructor=t}o.prototype=n.prototype,t.prototype=new o,t.__super__=n.prototype}(r,t),r.prototype.document=function(t,e){var n,r,o,i,l;for(e=this.filterOptions(e),i="",r=0,o=(l=t.children).length;r<o;r++)n=l[r],i+=this.writeChildNode(n,e,0);return e.pretty&&i.slice(-e.newline.length)===e.newline&&(i=i.slice(0,-e.newline.length)),i},r}()}).call(this);
},{"./XMLWriterBase":95}],93:[function(require,module,exports){
(function(){var t=function(t,o){return function(){return t.apply(o,arguments)}},o={}.hasOwnProperty;module.exports=function(){function n(n){var r,i,e;for(r in this.assertLegalName=t(this.assertLegalName,this),this.assertLegalChar=t(this.assertLegalChar,this),n||(n={}),this.options=n,this.options.version||(this.options.version="1.0"),i=n.stringify||{})o.call(i,r)&&(e=i[r],this[r]=e)}return n.prototype.name=function(t){return this.options.noValidation?t:this.assertLegalName(""+t||"")},n.prototype.text=function(t){return this.options.noValidation?t:this.assertLegalChar(this.textEscape(""+t||""))},n.prototype.cdata=function(t){return this.options.noValidation?t:(t=(t=""+t||"").replace("]]>","]]]]><![CDATA[>"),this.assertLegalChar(t))},n.prototype.comment=function(t){if(this.options.noValidation)return t;if((t=""+t||"").match(/--/))throw new Error("Comment text cannot contain double-hypen: "+t);return this.assertLegalChar(t)},n.prototype.raw=function(t){return this.options.noValidation?t:""+t||""},n.prototype.attValue=function(t){return this.options.noValidation?t:this.assertLegalChar(this.attEscape(t=""+t||""))},n.prototype.insTarget=function(t){return this.options.noValidation?t:this.assertLegalChar(""+t||"")},n.prototype.insValue=function(t){if(this.options.noValidation)return t;if((t=""+t||"").match(/\?>/))throw new Error("Invalid processing instruction value: "+t);return this.assertLegalChar(t)},n.prototype.xmlVersion=function(t){if(this.options.noValidation)return t;if(!(t=""+t||"").match(/1\.[0-9]+/))throw new Error("Invalid version number: "+t);return t},n.prototype.xmlEncoding=function(t){if(this.options.noValidation)return t;if(!(t=""+t||"").match(/^[A-Za-z](?:[A-Za-z0-9._-])*$/))throw new Error("Invalid encoding: "+t);return this.assertLegalChar(t)},n.prototype.xmlStandalone=function(t){return this.options.noValidation?t:t?"yes":"no"},n.prototype.dtdPubID=function(t){return this.options.noValidation?t:this.assertLegalChar(""+t||"")},n.prototype.dtdSysID=function(t){return this.options.noValidation?t:this.assertLegalChar(""+t||"")},n.prototype.dtdElementValue=function(t){return this.options.noValidation?t:this.assertLegalChar(""+t||"")},n.prototype.dtdAttType=function(t){return this.options.noValidation?t:this.assertLegalChar(""+t||"")},n.prototype.dtdAttDefault=function(t){return this.options.noValidation?t:this.assertLegalChar(""+t||"")},n.prototype.dtdEntityValue=function(t){return this.options.noValidation?t:this.assertLegalChar(""+t||"")},n.prototype.dtdNData=function(t){return this.options.noValidation?t:this.assertLegalChar(""+t||"")},n.prototype.convertAttKey="@",n.prototype.convertPIKey="?",n.prototype.convertTextKey="#text",n.prototype.convertCDataKey="#cdata",n.prototype.convertCommentKey="#comment",n.prototype.convertRawKey="#raw",n.prototype.assertLegalChar=function(t){var o,n;if(this.options.noValidation)return t;if(o="","1.0"===this.options.version){if(o=/[\0-\x08\x0B\f\x0E-\x1F\uFFFE\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/,n=t.match(o))throw new Error("Invalid character in string: "+t+" at index "+n.index)}else if("1.1"===this.options.version&&(o=/[\0\uFFFE\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/,n=t.match(o)))throw new Error("Invalid character in string: "+t+" at index "+n.index);return t},n.prototype.assertLegalName=function(t){var o;if(this.options.noValidation)return t;if(this.assertLegalChar(t),o=/^([:A-Z_a-z\xC0-\xD6\xD8-\xF6\xF8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD]|[\uD800-\uDB7F][\uDC00-\uDFFF])([\x2D\.0-:A-Z_a-z\xB7\xC0-\xD6\xD8-\xF6\xF8-\u037D\u037F-\u1FFF\u200C\u200D\u203F\u2040\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD]|[\uD800-\uDB7F][\uDC00-\uDFFF])*$/,!t.match(o))throw new Error("Invalid character in name");return t},n.prototype.textEscape=function(t){var o;return this.options.noValidation?t:(o=this.options.noDoubleEncoding?/(?!&\S+;)&/g:/&/g,t.replace(o,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/\r/g,"&#xD;"))},n.prototype.attEscape=function(t){var o;return this.options.noValidation?t:(o=this.options.noDoubleEncoding?/(?!&\S+;)&/g:/&/g,t.replace(o,"&amp;").replace(/</g,"&lt;").replace(/"/g,"&quot;").replace(/\t/g,"&#x9;").replace(/\n/g,"&#xA;").replace(/\r/g,"&#xD;"))},n}()}).call(this);
},{}],94:[function(require,module,exports){
(function(){var t,e,o={}.hasOwnProperty;t=require("./NodeType"),e=require("./XMLCharacterData"),module.exports=function(r){function i(e,o){if(i.__super__.constructor.call(this,e),null==o)throw new Error("Missing element text. "+this.debugInfo());this.name="#text",this.type=t.Text,this.value=this.stringify.text(o)}return function(t,e){for(var r in e)o.call(e,r)&&(t[r]=e[r]);function i(){this.constructor=t}i.prototype=e.prototype,t.prototype=new i,t.__super__=e.prototype}(i,e),Object.defineProperty(i.prototype,"isElementContentWhitespace",{get:function(){throw new Error("This DOM method is not implemented."+this.debugInfo())}}),Object.defineProperty(i.prototype,"wholeText",{get:function(){var t,e,o;for(o="",e=this.previousSibling;e;)o=e.data+o,e=e.previousSibling;for(o+=this.data,t=this.nextSibling;t;)o+=t.data,t=t.nextSibling;return o}}),i.prototype.clone=function(){return Object.create(this)},i.prototype.toString=function(t){return this.options.writer.text(this,this.options.writer.filterOptions(t))},i.prototype.splitText=function(t){throw new Error("This DOM method is not implemented."+this.debugInfo())},i.prototype.replaceWholeText=function(t){throw new Error("This DOM method is not implemented."+this.debugInfo())},i}()}).call(this);
},{"./NodeType":65,"./XMLCharacterData":70}],95:[function(require,module,exports){
(function(){var e,t,n,s={}.hasOwnProperty;n=require("./Utility").assign,e=require("./NodeType"),require("./XMLDeclaration"),require("./XMLDocType"),require("./XMLCData"),require("./XMLComment"),require("./XMLElement"),require("./XMLRaw"),require("./XMLText"),require("./XMLProcessingInstruction"),require("./XMLDummy"),require("./XMLDTDAttList"),require("./XMLDTDElement"),require("./XMLDTDEntity"),require("./XMLDTDNotation"),t=require("./WriterState"),module.exports=function(){function o(e){var t,n,o;for(t in e||(e={}),this.options=e,n=e.writer||{})s.call(n,t)&&(o=n[t],this["_"+t]=this[t],this[t]=o)}return o.prototype.filterOptions=function(e){var s,o,a,i,r,l,u,p;return e||(e={}),e=n({},this.options,e),(s={writer:this}).pretty=e.pretty||!1,s.allowEmpty=e.allowEmpty||!1,s.indent=null!=(o=e.indent)?o:" ",s.newline=null!=(a=e.newline)?a:"\n",s.offset=null!=(i=e.offset)?i:0,s.dontPrettyTextNodes=null!=(r=null!=(l=e.dontPrettyTextNodes)?l:e.dontprettytextnodes)?r:0,s.spaceBeforeSlash=null!=(u=null!=(p=e.spaceBeforeSlash)?p:e.spacebeforeslash)?u:"",!0===s.spaceBeforeSlash&&(s.spaceBeforeSlash=" "),s.suppressPrettyCount=0,s.user={},s.state=t.None,s},o.prototype.indent=function(e,t,n){var s;return!t.pretty||t.suppressPrettyCount?"":t.pretty&&(s=(n||0)+t.offset+1)>0?new Array(s).join(t.indent):""},o.prototype.endline=function(e,t,n){return!t.pretty||t.suppressPrettyCount?"":t.newline},o.prototype.attribute=function(e,t,n){var s;return this.openAttribute(e,t,n),s=" "+e.name+'="'+e.value+'"',this.closeAttribute(e,t,n),s},o.prototype.cdata=function(e,n,s){var o;return this.openNode(e,n,s),n.state=t.OpenTag,o=this.indent(e,n,s)+"<![CDATA[",n.state=t.InsideTag,o+=e.value,n.state=t.CloseTag,o+="]]>"+this.endline(e,n,s),n.state=t.None,this.closeNode(e,n,s),o},o.prototype.comment=function(e,n,s){var o;return this.openNode(e,n,s),n.state=t.OpenTag,o=this.indent(e,n,s)+"\x3c!-- ",n.state=t.InsideTag,o+=e.value,n.state=t.CloseTag,o+=" --\x3e"+this.endline(e,n,s),n.state=t.None,this.closeNode(e,n,s),o},o.prototype.declaration=function(e,n,s){var o;return this.openNode(e,n,s),n.state=t.OpenTag,o=this.indent(e,n,s)+"<?xml",n.state=t.InsideTag,o+=' version="'+e.version+'"',null!=e.encoding&&(o+=' encoding="'+e.encoding+'"'),null!=e.standalone&&(o+=' standalone="'+e.standalone+'"'),n.state=t.CloseTag,o+=n.spaceBeforeSlash+"?>",o+=this.endline(e,n,s),n.state=t.None,this.closeNode(e,n,s),o},o.prototype.docType=function(e,n,s){var o,a,i,r,l;if(s||(s=0),this.openNode(e,n,s),n.state=t.OpenTag,r=this.indent(e,n,s),r+="<!DOCTYPE "+e.root().name,e.pubID&&e.sysID?r+=' PUBLIC "'+e.pubID+'" "'+e.sysID+'"':e.sysID&&(r+=' SYSTEM "'+e.sysID+'"'),e.children.length>0){for(r+=" [",r+=this.endline(e,n,s),n.state=t.InsideTag,a=0,i=(l=e.children).length;a<i;a++)o=l[a],r+=this.writeChildNode(o,n,s+1);n.state=t.CloseTag,r+="]"}return n.state=t.CloseTag,r+=n.spaceBeforeSlash+">",r+=this.endline(e,n,s),n.state=t.None,this.closeNode(e,n,s),r},o.prototype.element=function(n,o,a){var i,r,l,u,p,d,h,c,y,T,f,N,g,D;for(y in a||(a=0),T=!1,f="",this.openNode(n,o,a),o.state=t.OpenTag,f+=this.indent(n,o,a)+"<"+n.name,N=n.attribs)s.call(N,y)&&(i=N[y],f+=this.attribute(i,o,a));if(u=0===(l=n.children.length)?null:n.children[0],0===l||n.children.every(function(t){return(t.type===e.Text||t.type===e.Raw)&&""===t.value}))o.allowEmpty?(f+=">",o.state=t.CloseTag,f+="</"+n.name+">"+this.endline(n,o,a)):(o.state=t.CloseTag,f+=o.spaceBeforeSlash+"/>"+this.endline(n,o,a));else if(!o.pretty||1!==l||u.type!==e.Text&&u.type!==e.Raw||null==u.value){if(o.dontPrettyTextNodes)for(p=0,h=(g=n.children).length;p<h;p++)if(((r=g[p]).type===e.Text||r.type===e.Raw)&&null!=r.value){o.suppressPrettyCount++,T=!0;break}for(f+=">"+this.endline(n,o,a),o.state=t.InsideTag,d=0,c=(D=n.children).length;d<c;d++)r=D[d],f+=this.writeChildNode(r,o,a+1);o.state=t.CloseTag,f+=this.indent(n,o,a)+"</"+n.name+">",T&&o.suppressPrettyCount--,f+=this.endline(n,o,a),o.state=t.None}else f+=">",o.state=t.InsideTag,o.suppressPrettyCount++,T=!0,f+=this.writeChildNode(u,o,a+1),o.suppressPrettyCount--,T=!1,o.state=t.CloseTag,f+="</"+n.name+">"+this.endline(n,o,a);return this.closeNode(n,o,a),f},o.prototype.writeChildNode=function(t,n,s){switch(t.type){case e.CData:return this.cdata(t,n,s);case e.Comment:return this.comment(t,n,s);case e.Element:return this.element(t,n,s);case e.Raw:return this.raw(t,n,s);case e.Text:return this.text(t,n,s);case e.ProcessingInstruction:return this.processingInstruction(t,n,s);case e.Dummy:return"";case e.Declaration:return this.declaration(t,n,s);case e.DocType:return this.docType(t,n,s);case e.AttributeDeclaration:return this.dtdAttList(t,n,s);case e.ElementDeclaration:return this.dtdElement(t,n,s);case e.EntityDeclaration:return this.dtdEntity(t,n,s);case e.NotationDeclaration:return this.dtdNotation(t,n,s);default:throw new Error("Unknown XML node type: "+t.constructor.name)}},o.prototype.processingInstruction=function(e,n,s){var o;return this.openNode(e,n,s),n.state=t.OpenTag,o=this.indent(e,n,s)+"<?",n.state=t.InsideTag,o+=e.target,e.value&&(o+=" "+e.value),n.state=t.CloseTag,o+=n.spaceBeforeSlash+"?>",o+=this.endline(e,n,s),n.state=t.None,this.closeNode(e,n,s),o},o.prototype.raw=function(e,n,s){var o;return this.openNode(e,n,s),n.state=t.OpenTag,o=this.indent(e,n,s),n.state=t.InsideTag,o+=e.value,n.state=t.CloseTag,o+=this.endline(e,n,s),n.state=t.None,this.closeNode(e,n,s),o},o.prototype.text=function(e,n,s){var o;return this.openNode(e,n,s),n.state=t.OpenTag,o=this.indent(e,n,s),n.state=t.InsideTag,o+=e.value,n.state=t.CloseTag,o+=this.endline(e,n,s),n.state=t.None,this.closeNode(e,n,s),o},o.prototype.dtdAttList=function(e,n,s){var o;return this.openNode(e,n,s),n.state=t.OpenTag,o=this.indent(e,n,s)+"<!ATTLIST",n.state=t.InsideTag,o+=" "+e.elementName+" "+e.attributeName+" "+e.attributeType,"#DEFAULT"!==e.defaultValueType&&(o+=" "+e.defaultValueType),e.defaultValue&&(o+=' "'+e.defaultValue+'"'),n.state=t.CloseTag,o+=n.spaceBeforeSlash+">"+this.endline(e,n,s),n.state=t.None,this.closeNode(e,n,s),o},o.prototype.dtdElement=function(e,n,s){var o;return this.openNode(e,n,s),n.state=t.OpenTag,o=this.indent(e,n,s)+"<!ELEMENT",n.state=t.InsideTag,o+=" "+e.name+" "+e.value,n.state=t.CloseTag,o+=n.spaceBeforeSlash+">"+this.endline(e,n,s),n.state=t.None,this.closeNode(e,n,s),o},o.prototype.dtdEntity=function(e,n,s){var o;return this.openNode(e,n,s),n.state=t.OpenTag,o=this.indent(e,n,s)+"<!ENTITY",n.state=t.InsideTag,e.pe&&(o+=" %"),o+=" "+e.name,e.value?o+=' "'+e.value+'"':(e.pubID&&e.sysID?o+=' PUBLIC "'+e.pubID+'" "'+e.sysID+'"':e.sysID&&(o+=' SYSTEM "'+e.sysID+'"'),e.nData&&(o+=" NDATA "+e.nData)),n.state=t.CloseTag,o+=n.spaceBeforeSlash+">"+this.endline(e,n,s),n.state=t.None,this.closeNode(e,n,s),o},o.prototype.dtdNotation=function(e,n,s){var o;return this.openNode(e,n,s),n.state=t.OpenTag,o=this.indent(e,n,s)+"<!NOTATION",n.state=t.InsideTag,o+=" "+e.name,e.pubID&&e.sysID?o+=' PUBLIC "'+e.pubID+'" "'+e.sysID+'"':e.pubID?o+=' PUBLIC "'+e.pubID+'"':e.sysID&&(o+=' SYSTEM "'+e.sysID+'"'),n.state=t.CloseTag,o+=n.spaceBeforeSlash+">"+this.endline(e,n,s),n.state=t.None,this.closeNode(e,n,s),o},o.prototype.openNode=function(e,t,n){},o.prototype.closeNode=function(e,t,n){},o.prototype.openAttribute=function(e,t,n){},o.prototype.closeAttribute=function(e,t,n){},o}()}).call(this);
},{"./NodeType":65,"./Utility":66,"./WriterState":67,"./XMLCData":69,"./XMLComment":71,"./XMLDTDAttList":76,"./XMLDTDElement":77,"./XMLDTDEntity":78,"./XMLDTDNotation":79,"./XMLDeclaration":80,"./XMLDocType":81,"./XMLDummy":84,"./XMLElement":85,"./XMLProcessingInstruction":89,"./XMLRaw":90,"./XMLText":94}],96:[function(require,module,exports){
(function(){var e,r,t,n,i,o,u,l,m,s;s=require("./Utility"),l=s.assign,m=s.isFunction,t=require("./XMLDOMImplementation"),n=require("./XMLDocument"),i=require("./XMLDocumentCB"),u=require("./XMLStringWriter"),o=require("./XMLStreamWriter"),e=require("./NodeType"),r=require("./WriterState"),module.exports.create=function(e,r,t,i){var o,u;if(null==e)throw new Error("Root element needs a name.");return i=l({},r,t,i),u=(o=new n(i)).element(e),i.headless||(o.declaration(i),null==i.pubID&&null==i.sysID||o.dtd(i)),u},module.exports.begin=function(e,r,t){var o;return m(e)&&(r=(o=[e,r])[0],t=o[1],e={}),r?new i(e,r,t):new n(e)},module.exports.stringWriter=function(e){return new u(e)},module.exports.streamWriter=function(e,r){return new o(e,r)},module.exports.implementation=new t,module.exports.nodeType=e,module.exports.writerState=r}).call(this);
},{"./NodeType":65,"./Utility":66,"./WriterState":67,"./XMLDOMImplementation":74,"./XMLDocument":82,"./XMLDocumentCB":83,"./XMLStreamWriter":91,"./XMLStringWriter":92}],97:[function(require,module,exports){
},{}],98:[function(require,module,exports){
"use strict";var __createBinding=this&&this.__createBinding||(Object.create?function(e,n,t,i){void 0===i&&(i=t),Object.defineProperty(e,i,{enumerable:!0,get:function(){return n[t]}})}:function(e,n,t,i){void 0===i&&(i=t),e[i]=n[t]}),__setModuleDefault=this&&this.__setModuleDefault||(Object.create?function(e,n){Object.defineProperty(e,"default",{enumerable:!0,value:n})}:function(e,n){e.default=n}),__importStar=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var n={};if(null!=e)for(var t in e)"default"!==t&&Object.prototype.hasOwnProperty.call(e,t)&&__createBinding(n,e,t);return __setModuleDefault(n,e),n};Object.defineProperty(exports,"__esModule",{value:!0}),exports.showSeatmapBtnParent=exports.injectBookingBtn=void 0;var Communication=__importStar(require("./communication"));function injectBookingBtn(){jQuery(".flash_seat_map_box").remove(),changeBookingBtnCSS(),appendBookingBtnHTML()}function showSeatmapBtnParent(){Communication.sendEventToParent("child_seatmap_ready")}function appendBookingBtnHTML(){jQuery("#flash_seat_map_box_id").append('\n <div class="row_space"></div>\n <div class="row_space"></div>\n <div id="containerBookingBtn">\n <a class="continue" id="openSeatmap">\n <span>Saalplanbuchung</span>\n </a>\n <div id="dialogSeatmap" hidden="hidden"></div>\n </div>\n ')}function changeBookingBtnCSS(){jQuery("#flash_seat_map_box_id").css({display:"block",position:"relative",width:"100%"})}exports.injectBookingBtn=injectBookingBtn,exports.showSeatmapBtnParent=showSeatmapBtnParent;
},{"./communication":102}],99:[function(require,module,exports){
"use strict";var __createBinding=this&&this.__createBinding||(Object.create?function(e,t,r,a){void 0===a&&(a=r),Object.defineProperty(e,a,{enumerable:!0,get:function(){return t[r]}})}:function(e,t,r,a){void 0===a&&(a=r),e[a]=t[r]}),__setModuleDefault=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),__importStar=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)"default"!==r&&Object.prototype.hasOwnProperty.call(e,r)&&__createBinding(t,e,r);return __setModuleDefault(t,e),t};Object.defineProperty(exports,"__esModule",{value:!0}),exports.generateCheckoutUrl=exports.initModalCart=exports.generateCartItems=exports.calcOverallPrice=exports.changedDropdownBuyerType=exports.removeCartItems=exports.addItem=void 0;var XMLHelper=__importStar(require("./xmlhelper")),config_1=require("./config"),Events=__importStar(require("./events")),CartButtons=__importStar(require("./cartButtons"));function addItem(e){var t="#"+XMLHelper.getVenuePricescalePropertyByPricescaleID("color",e.data.seatsObj.id[0]),r=XMLHelper.getVenuePricescalePropertyByPricescaleID("desc",e.data.seatsObj.id[0]),a=config_1.config.state.layoutRows[e.id][5],n=config_1.config.state.layoutRows[e.id][4],o=config_1.config.state.layoutRows[e.id][3],c=XMLHelper.getSectionDescBySectionID(o)+"<br/>Reihe "+n+" Platz "+a,i=XMLHelper.getBuyerTypesByPricescaleID(e.data.seatsObj.id[0]),s="cartItem-"+e.id,d="#"+s+" .dropdownBuyerTypes";appendHTML(s,t,r,c),addDropdownBuyerTypeOptions(i,d),Events.addCartDropdownBuyerTypes(d,e)}function removeCartItems(){jQuery("#cartItemHTML .cartItem").each(function(){this.remove()})}function changedDropdownBuyerType(e,t){var r=config_1.config.state.selectedSeatsArr.findIndex(function(e){return e[0]===t.id});config_1.config.state.selectedSeatsArr[r][1]=e.value;var a=XMLHelper.getBuyerTypeCodeByBuyerTypeID(e.value);a&&(config_1.config.state.selectedSeatsArr[r][2]=a),calcOverallPrice(),CartButtons.setBtnCartText();var n=generateCheckoutUrl();Events.addRedirectCheckout(n)}function calcOverallPrice(){return config_1.config.state.selectedSeatsArr.length?(config_1.config.state.priceOverall=sumSeatPrices(),config_1.config.state.priceOverall):(config_1.config.state.priceOverall="0","0")}function generateCartItems(){if(config_1.config.state.selectedSeatsArr.length)for(var e in config_1.config.state.selectedSeatsObj){if(Object.prototype.hasOwnProperty.call(config_1.config.state.selectedSeatsObj,e))addItem(config_1.config.state.selectedSeatsObj[e])}}function initModalCart(){jQuery("#modalCart-overlay").hide(),Events.addCartBack(),Events.addCartClose()}function generateCheckoutUrl(){if(config_1.config.state.selectedSeatsArr.length){var e=config_1.config.state.inputsWithValue,t=XMLHelper.generateSelectedSeatIndexes();return e.ticketPurchaseUrl+"?user_context="+e.user_context+"&pid="+e.pid+"&selected_seat_indexes="+t+"&trxstate=148"}}function appendHTML(e,t,r,a){jQuery("#cartItemHTML .fl-html").append('\n <div class="cartItem" id="'+e+'">\n <div class="cartItemColoredSquare" style="background: '+t+';"></div>\n <div class="cartItemCategory">'+r+'</div>\n <h5 class="cartItemSeat">'+a+'</h5>\n <select name="dropdownBuyerTypes" class="dropdownBuyerTypes"></select>\n </div>')}function addDropdownBuyerTypeOptions(e,t){e&&e.forEach(function(e){e[0]&&appendOption(t,e)})}function appendOption(e,t){var r=jQuery(e).get(0),a=document.createElement("option");a.value=t[0],a.innerHTML=t[2]+" €"+t[1],r.appendChild(a)}function sumSeatPrices(){return config_1.config.state.selectedSeatsArr.map(getSeatPrice).reduce(function(e,t){return e+t}).toFixed(2)}function getSeatPrice(e){var t=e[0],r=e[1],a=config_1.config.state.selectedSeatsObj[t].data.seatsObj.id[0],n=XMLHelper.getVenuePriceStructurePropertyByPricescaleID(a);if(n){var o=XMLHelper.getPriceByBuyerTypeID(r,n);if(o)return o}return 0}exports.addItem=addItem,exports.removeCartItems=removeCartItems,exports.changedDropdownBuyerType=changedDropdownBuyerType,exports.calcOverallPrice=calcOverallPrice,exports.generateCartItems=generateCartItems,exports.initModalCart=initModalCart,exports.generateCheckoutUrl=generateCheckoutUrl;
},{"./cartButtons":100,"./config":103,"./events":104,"./xmlhelper":114}],100:[function(require,module,exports){
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.showHideBtnCartLoading=exports.setBtnCartText=void 0;var config_1=require("./config");function setBtnCartText(){jQuery("#modalCart .uabb-button-text")[0].innerText=createCartBtnText(),jQuery("#modalCartSum .uabb-heading-text")[0].textContent=createModalCartBtnText()}function createCartBtnText(){var t=config_1.config.state.selectedSeatsArr.length;return""!==config_1.config.state.priceOverall?1===t?t+" Ticket für €"+config_1.config.state.priceOverall:t+" Tickets für €"+config_1.config.state.priceOverall:"0 Tickets für €0.00"}function createModalCartBtnText(){var t=config_1.config.state.selectedSeatsArr.length;return""!==config_1.config.state.priceOverall?"Summe ("+t+" Plätze) €"+config_1.config.state.priceOverall:"Summe (0 Plätze) €0,00"}function showHideBtnCartLoading(t){"show"===t?(jQuery("#modalCart .uabb-button").css("pointer-events","none"),jQuery("#modalCart i").hide(),jQuery("#modalCart .uabb-button-text").addClass("dot-pulse")):"hide"===t&&(jQuery("#modalCart i").show(),jQuery("#modalCart .uabb-button-text").removeClass("dot-pulse"),jQuery("#modalCart .uabb-button").css("pointer-events","all"))}exports.setBtnCartText=setBtnCartText,exports.showHideBtnCartLoading=showHideBtnCartLoading;
},{"./config":103}],101:[function(require,module,exports){
"use strict";var __createBinding=this&&this.__createBinding||(Object.create?function(e,t,n,i){void 0===i&&(i=n),Object.defineProperty(e,i,{enumerable:!0,get:function(){return t[n]}})}:function(e,t,n,i){void 0===i&&(i=n),e[i]=t[n]}),__setModuleDefault=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),__importStar=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)"default"!==n&&Object.prototype.hasOwnProperty.call(e,n)&&__createBinding(t,e,n);return __setModuleDefault(t,e),t},__importDefault=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.injectResources=exports.sendCheckoutResponse=exports.sendSeatmapXML=exports.initSendInputsWithValue=exports.initSendVenueXML=exports.initVenue=void 0;var Communication=__importStar(require("./communication")),UI=__importStar(require("./ui")),config_1=require("./config"),utils_1=__importDefault(require("./utils")),Parser=__importStar(require("./parser")),JSC=__importStar(require("./jsc")),Legend=__importStar(require("./legend")),Events=__importStar(require("./events")),Trims=__importStar(require("./trims")),XMLHelper=__importStar(require("./xmlhelper")),Panzoom=__importStar(require("./panzoom")),jBoxHelper=__importStar(require("./jBoxHelper")),Cart=__importStar(require("./cart")),CartButtons=__importStar(require("./cartButtons"));function initVenue(){UI.controlLoftloader("show"),Communication.sendEventToParent("child_init_needInputsWithValue")}function initSendVenueXML(e){var t=JSON.parse(e.data);config_1.config.state.inVenueXML=t.message.map_response;var n=config_1.config.state.inVenueXML,i=UI.generatePricescaleCSS();utils_1.default.inject(i,"cssCustom","body");var o=Parser.getEventInfo();UI.setEventInfo(o);var a=n.seatmap_config[0].seatmap;UI.setOptionSelect(a,"dropdownSeatmap");var r=a[0].id[0];jQuery("#dropdownSeatmap").val(r),Communication.needSeatmapXML(r),utils_1.default.consoleLog(i),utils_1.default.consoleLog(a)}function initSendInputsWithValue(e){var t=JSON.parse(e.data);config_1.config.state.inputsWithValue=t.message,UI.changeVenueImage(),Communication.sendEventToParent("child_init_needVenueXML")}function sendSeatmapXML(e){var t=JSON.parse(e.data);config_1.config.state.seatmapXML=t.message.map_response;var n=JSC.generateMap(),i=JSC.getRowsNaming(),o=JSC.getSeats(),a=JSC.generateLegend("#JSCLegendInner");JSC.addSeatmap("#containerSeatmapInner",n,i,o,a),JSC.setUnavailableSeats(),JSC.selectSeatsInCart(),Legend.convertLegendToDropdown("dropdownLegend"),Events.dropdownLegendOnChange("#dropdownLegend"),Trims.addTrims(),XMLHelper.processSMAP(),config_1.config.state.panzoom=Panzoom.addPanzoom("#containerSeatmapInner",".panzoomZoomIn",".panzoomZoomOut","#panzoomResetZoom"),UI.controlLoftloader("hide"),jBoxHelper.createSeatTooltips()}function sendCheckoutResponse(e){var t=JSON.parse(e.data);if(config_1.config.state.isValidSeatSelection=t.message.isValidSeatSelection,utils_1.default.consoleLog(t.message),config_1.config.state.isValidSeatSelection){Cart.removeCartItems(),Cart.generateCartItems();var n=Cart.generateCheckoutUrl();Events.addRedirectCheckout(n),UI.fadeInCartModal(),CartButtons.showHideBtnCartLoading("hide")}else jBoxHelper.showJBoxNotice("Auswahl nicht möglich: Bitte lassen Sie keinen einzelnen Platz frei."),CartButtons.showHideBtnCartLoading("hide");config_1.config.state.cartChanged=!1}function injectResources(){var e=config_1.config.branch,t=config_1.config.resources[e];utils_1.default.inject(t.JSC,"js","head"),utils_1.default.inject(t.CSSJSC,"css","body"),utils_1.default.inject(t.CSSjQueryUI,"css","body"),utils_1.default.inject(t.CSSChild,"css","body")}exports.initVenue=initVenue,exports.initSendVenueXML=initSendVenueXML,exports.initSendInputsWithValue=initSendInputsWithValue,exports.sendSeatmapXML=sendSeatmapXML,exports.sendCheckoutResponse=sendCheckoutResponse,exports.injectResources=injectResources;
},{"./cart":99,"./cartButtons":100,"./communication":102,"./config":103,"./events":104,"./jBoxHelper":105,"./jsc":106,"./legend":107,"./panzoom":108,"./parser":109,"./trims":111,"./ui":112,"./utils":113,"./xmlhelper":114}],102:[function(require,module,exports){
"use strict";var __createBinding=this&&this.__createBinding||(Object.create?function(e,t,n,s){void 0===s&&(s=n),Object.defineProperty(e,s,{enumerable:!0,get:function(){return t[n]}})}:function(e,t,n,s){void 0===s&&(s=n),e[s]=t[n]}),__setModuleDefault=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),__importStar=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)"default"!==n&&Object.prototype.hasOwnProperty.call(e,n)&&__createBinding(t,e,n);return __setModuleDefault(t,e),t},__importDefault=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.isValidSeatSelection=exports.cancelCheckout=exports.needSeatmapXML=exports.sendEventToParent=exports.sendEventToChild=exports.sendXML=exports.listenToMessages=exports.sendMessage=void 0;var axios_1=__importDefault(require("axios")),xml2jsParser=require("xml2js").parseString,UI=__importStar(require("./ui")),config_1=require("./config"),Cart=__importStar(require("./cart")),utils_1=__importDefault(require("./utils"));function sendMessage(e,t){if("parent"===t)window.parent.postMessage(JSON.stringify(e),"*");else{var n=document.getElementById(t);null!==n&&null!==n.contentWindow&&n.contentWindow.postMessage(JSON.stringify(e),"*")}}function listenToMessages(e){window.addEventListener("message",function(t){e(t)})}function sendXML(e,t,n,s,o){void 0===o&&(o=Date.now()),getXMLPromise(e).then(function(e){sendMessage({date:o,from:s,message:e,event:n},t)}).catch(function(e){console.error(e)})}function sendEventToChild(e){sendMessage({message:null,from:"parent",event:e,date:Date.now()},"iframeSeatmap")}function sendEventToParent(e){sendMessage({message:null,from:"child",event:e,date:Date.now()},"parent")}function needSeatmapXML(e){sendMessage({message:e,from:"child",event:"child_needSeatmapXML",date:Date.now()},"parent")}function cancelCheckout(e){fetch(e,{redirect:"manual"}).then(function(){return utils_1.default.consoleLog(e+" canceled")}).catch(function(e){return utils_1.default.consoleLog(e)})}function isValidSeatSelection(){(jQuery("#modalCart-overlay").hide(),config_1.config.state.selectedSeatsArr.length)&&(UI.adjustUIToLoading(),sendMessage({message:{url:Cart.generateCheckoutUrl()},from:"child",event:"child_needCheckoutResponse",date:Date.now()},"parent"))}function getXMLPromise(e){return axios_1.default.get(e).then(function(e){return new Promise(function(t,n){var s=e;200===s.status&&"text/xml;charset=utf-8"===s.headers["content-type"]&&xml2jsParser(s.data,{normalizeTags:!0,normalize:!0,mergeAttrs:!0},function(e,s){e?n(e):t(s)})})}).catch(function(e){return utils_1.default.consoleLog(e)})}exports.sendMessage=sendMessage,exports.listenToMessages=listenToMessages,exports.sendXML=sendXML,exports.sendEventToChild=sendEventToChild,exports.sendEventToParent=sendEventToParent,exports.needSeatmapXML=needSeatmapXML,exports.cancelCheckout=cancelCheckout,exports.isValidSeatSelection=isValidSeatSelection;
},{"./cart":99,"./config":103,"./ui":112,"./utils":113,"axios":2,"xml2js":63}],103:[function(require,module,exports){
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.config=void 0,exports.config={childHasVenueXML:!1,debug:!0,branch:"master",version:"0.0.1",maxSelectedSeats:10,resources:{master:{seatmap:"https://tickets.zinomedia.de",JSC:"https://tickets.zinomedia.de/libs/jQuery-Seat-Charts/jquery.seat-charts.min.js",CSSChild:"https://tickets.zinomedia.de/dist/seatmap.css",CSSJSC:"https://tickets.zinomedia.de/libs/jQuery-Seat-Charts/jquery.seat-charts.css",CSSParent:"https://tickets.zinomedia.de/dist/inject.css",CSSjQueryUI:"https://code.jquery.com/ui/1.12.1/themes/base/jquery-ui.css",CSSjBox:"https://tickets.zinomedia.de/dist/jBox.all.min.css"},staging:{seatmap:"https://staging.tickets.zinomedia.de",JSC:"https://staging.tickets.zinomedia.de/libs/jQuery-Seat-Charts/jquery.seat-charts.min.js",CSSChild:"https://staging.tickets.zinomedia.de/dist/seatmap.css",CSSJSC:"https://staging.tickets.zinomedia.de/libs/jQuery-Seat-Charts/jquery.seat-charts.css",CSSParent:"https://staging.tickets.zinomedia.de/dist/inject.css",CSSjQueryUI:"https://code.jquery.com/ui/1.12.1/themes/base/jquery-ui.css",CSSjBox:"https://staging.tickets.zinomedia.de/dist/jBox.all.min.css"}},state:{priceOverall:"",cartChanged:!1,selectedSeatsArr:[],selectedSeatsObj:{},layoutRows:{},isValidSeatSelection:!1,inputsWithValue:void 0,seatmap:void 0,panzoom:void 0,inVenueXML:void 0,seatmapXML:void 0}};
},{}],104:[function(require,module,exports){
"use strict";var __createBinding=this&&this.__createBinding||(Object.create?function(e,t,a,n){void 0===n&&(n=a),Object.defineProperty(e,n,{enumerable:!0,get:function(){return t[a]}})}:function(e,t,a,n){void 0===n&&(n=a),e[n]=t[a]}),__setModuleDefault=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),__importStar=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var a in e)"default"!==a&&Object.prototype.hasOwnProperty.call(e,a)&&__createBinding(t,e,a);return __setModuleDefault(t,e),t};Object.defineProperty(exports,"__esModule",{value:!0}),exports.addOpenSeatmap=exports.addCartDropdownBuyerTypes=exports.dropdownLegendOnChange=exports.addCartBack=exports.addCartClose=exports.addRedirectCheckout=exports.addModalCart=exports.addDropdownSeatmap=exports.addCloseModal=void 0;var Communication=__importStar(require("./communication")),UI=__importStar(require("./ui")),config_1=require("./config"),JSC=__importStar(require("./jsc")),Cart=__importStar(require("./cart")),Legend=__importStar(require("./legend")),jBoxHelper=__importStar(require("./jBoxHelper"));function addCloseModal(){var e=jQuery("#btnCloseModal").get(0);e&&e.addEventListener("click",function(){return Communication.sendEventToParent("child_closeDialog")})}function addDropdownSeatmap(){var e=document.getElementById("dropdownSeatmap");e&&e.addEventListener("change",function(){UI.controlLoftloader("show"),UI.destroyCurrentSeatmap("#containerSeatmapInner"),Communication.needSeatmapXML(this.value)})}function addModalCart(){var e=jQuery("#modalCart .uabb-button").get(0);e&&e.addEventListener("click",function(){config_1.config.state.selectedSeatsArr.length?config_1.config.state.cartChanged?Communication.isValidSeatSelection():!config_1.config.state.cartChanged&&config_1.config.state.isValidSeatSelection?UI.fadeInCartModal():config_1.config.state.cartChanged||config_1.config.state.isValidSeatSelection||jBoxHelper.showJBoxNotice("Auswahl nicht möglich: Bitte lassen Sie keinen einzelnen Platz frei."):jBoxHelper.showJBoxNotice("Sie haben bislang keinen Platz ausgewählt.")})}function addRedirectCheckout(e){if(e){var t=jQuery("#modalCart-overlay #checkout .fl-button").get(0);t&&t.addEventListener("click",function(){var t={message:{url:e},from:"child",event:"child_click_checkout",date:Date.now()};Communication.sendMessage(t,"parent")})}}function addCartClose(){var e=jQuery("#modalCart-overlay .uabb-close-icon").get(0);e&&e.addEventListener("click",function(){return Communication.sendEventToParent("child_show_dialog_titlebar")})}function addCartBack(){var e=jQuery("#modalCart-overlay #goBack .fl-button").get(0);e&&e.addEventListener("click",function(){return jQuery("#modalCart-overlay .uabb-close-icon").trigger("click")})}function dropdownLegendOnChange(e){var t=config_1.config.state.seatmap;jQuery(e).get(0).addEventListener("change",function(){var a=this.value,n="._"+a;Legend.changeDropdownLegendBGColor(e,a,n),"all"===a?(t.find("unavailable").status("available"),JSC.setUnavailableSeats()):(t.find("available").status("unavailable"),JSC.activateSeatsBySectionID(a),JSC.setUnavailableSeats())})}function addCartDropdownBuyerTypes(e,t){jQuery(e).on("change",function(){Cart.changedDropdownBuyerType(this,t)})}function addOpenSeatmap(){jQuery("#openSeatmap").on("click",function(){config_1.config.childHasVenueXML||Communication.sendEventToChild("parent_init_venue"),jQuery("html, body").css("overflow","hidden"),jQuery("#dialogSeatmap").dialog("open")})}exports.addCloseModal=addCloseModal,exports.addDropdownSeatmap=addDropdownSeatmap,exports.addModalCart=addModalCart,exports.addRedirectCheckout=addRedirectCheckout,exports.addCartClose=addCartClose,exports.addCartBack=addCartBack,exports.dropdownLegendOnChange=dropdownLegendOnChange,exports.addCartDropdownBuyerTypes=addCartDropdownBuyerTypes,exports.addOpenSeatmap=addOpenSeatmap;
},{"./cart":99,"./communication":102,"./config":103,"./jBoxHelper":105,"./jsc":106,"./legend":107,"./ui":112}],105:[function(require,module,exports){
"use strict";var __createBinding=this&&this.__createBinding||(Object.create?function(e,t,o,i){void 0===i&&(i=o),Object.defineProperty(e,i,{enumerable:!0,get:function(){return t[o]}})}:function(e,t,o,i){void 0===i&&(i=o),e[i]=t[o]}),__setModuleDefault=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),__importStar=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var o in e)"default"!==o&&Object.prototype.hasOwnProperty.call(e,o)&&__createBinding(t,e,o);return __setModuleDefault(t,e),t},__importDefault=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.createSeatTooltips=exports.showJBoxNotice=void 0;var jbox_1=__importDefault(require("jbox")),config_1=require("./config"),XMLHelper=__importStar(require("./xmlhelper"));function showJBoxNotice(e,t){void 0===t&&(t=5e3),new jbox_1.default("Notice",{position:{x:"center",y:"top"},offset:{x:0,y:320},content:e,autoClose:t,animation:{open:"zoomIn",close:"zoomOut"},closeOnEsc:!1,closeButton:!0,closeOnMouseleave:!1,closeOnClick:!1,draggable:!1,color:"red",stack:!0,showCountdown:!0,reposition:!0,responsiveWidth:!0,responsiveHeight:!0})}function createSeatTooltips(){new jbox_1.default("Tooltip",{attach:jQuery(".seatCharts-seat"),onOpen:function(){showSeatTooltip(this)}})}function showSeatTooltip(e){var t=e.source[0].id,o=config_1.config.state.layoutRows[t][5],i=config_1.config.state.layoutRows[t][4],n=config_1.config.state.layoutRows[t][3],r=XMLHelper.getSectionDescBySectionID(n)+"<br/>Reihe "+i+" Platz "+o;e.setContent(r)}exports.showJBoxNotice=showJBoxNotice,exports.createSeatTooltips=createSeatTooltips;
},{"./config":103,"./xmlhelper":114,"jbox":35}],106:[function(require,module,exports){
"use strict";var __createBinding=this&&this.__createBinding||(Object.create?function(e,t,a,r){void 0===r&&(r=a),Object.defineProperty(e,r,{enumerable:!0,get:function(){return t[a]}})}:function(e,t,a,r){void 0===r&&(r=a),e[r]=t[a]}),__setModuleDefault=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),__importStar=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var a in e)"default"!==a&&Object.prototype.hasOwnProperty.call(e,a)&&__createBinding(t,e,a);return __setModuleDefault(t,e),t},__importDefault=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.addSeatmap=exports.selectSeatsInCart=exports.createArrMatrix=exports.splitSeatStr=exports.getSeatsKey=exports.setUnavailableSeats=exports.generateLegend=exports.generateMap=exports.getRowsNaming=exports.activateSeatsBySectionID=exports.getSeats=void 0;var config_1=require("./config"),State=__importStar(require("./state")),Cart=__importStar(require("./cart")),CartButtons=__importStar(require("./cartButtons")),utils_1=__importDefault(require("./utils"));function getSeats(){var e=config_1.config.state.seatmapXML.seatmap[0].pricescale_config[0].pricescale,t={};for(var a in e){var r={classes:"_"+e[a].id[0],seatsObj:e[a]};t[String.fromCharCode(97+parseInt(a)).toLocaleUpperCase()]=r}return t}function activateSeatsBySectionID(e){var t,a=config_1.config.state.seatmapXML,r=config_1.config.state.seatmap,i=null===(t=a.seatmap[0].pricescale_config[0].pricescale.find(function(t){return t.id[0]===e}))||void 0===t?void 0:t.mask[0].split(",");r.status(i,"available")}function getRowsNaming(){var e=config_1.config.state.seatmapXML.seatmap[0].layouts[0].layout[0],t=parseInt(e.height[0]),a=Array.from({length:t},function(e){return""});return e.rows[0].row.forEach(function(e){var t=parseInt(e.y_cell_coord[0]),r=splitSeatStr(e.seats[0].split("|")[0])[4];a[t]=r}),a}function generateMap(){var e=config_1.config.state.seatmapXML,t=e.seatmap[0].layouts[0].layout[0],a=t.rows[0].row,r=e.seatmap[0].pricescale_config[0].pricescale,i=e.seatmap[0].view_modes[0].view_mode[0].availability[0],n=createArrMatrix(parseInt(t.height[0]),parseInt(t.width[0]),"_");return(n=enterSeatsInMatrix(a,n,r,i)).map(function(e){return e.join("")})}function generateLegend(e){var t=config_1.config.state.seatmapXML,a=config_1.config.state.inVenueXML,r=t.seatmap[0].pricescale_config[0].pricescale,i=a.venue[0].pricescales[0].pricescale;return{node:jQuery(e),items:createLegendItems(r,i)}}function setUnavailableSeats(){var e=config_1.config.state.seatmapXML,t=config_1.config.state.seatmap,a=e.seatmap[0].view_modes[0].view_mode[0].availability[0];if(""!==a.unavailable_unselectable_mask[0]){var r=a.unavailable_unselectable_mask[0].split(",");t.status(r,"unavailable")}}function getSeatsKey(e,t){for(var a in t)if(t[a].mask[0].includes(e))return String.fromCharCode(97+parseInt(a)).toLocaleUpperCase()}function splitSeatStr(e){return e.split(",").map(function(e){return e.trim()})}function createArrMatrix(e,t,a){return Array(e).fill(null).map(function(){return Array(t).fill(a)})}function selectSeatsInCart(){var e=config_1.config.state.seatmap;config_1.config.state.selectedSeatsArr.forEach(function(t){var a=t[0];e.get(a)&&e.status(a,"selected")})}function addSeatmap(e,t,a,r,i){var n=window.jQuery(e);config_1.config.state.seatmap=n.seatCharts({naming:{top:!1,left:!1,rows:a},map:t,seats:r,legend:i,click:function(){return clickedSeat(this)}})}function createLegendItems(e,t){return e.map(function(a,r){var i,n=a.id[0];return[String.fromCharCode(97+r).toLocaleUpperCase(),"available",(null===(i=t.find(function(e){return e.id[0]===n}))||void 0===i?void 0:i.desc[0])+" €"+e[r].ref_price[0]]})}function enterSeatsInMatrix(e,t,a,r){var i=r.available_selectable_mask[0].split(","),n=r.unavailable_unselectable_mask[0].split(",");return e.forEach(function(e){var r=e,s=parseInt(r.y_cell_coord[0])-1;r.seats[0].split("|").forEach(function(e){var r=splitSeatStr(e);if(i.includes(r[0])||n.includes(r[0])){var o=parseInt(r[2])-1,c=getSeatsKey(r[0],a);c&&(t[s][o]=c+"["+r[0]+", ]"),config_1.config.state.layoutRows[r[0]]=r}})}),t}function clickedSeat(e){return"available"==e.status()?clickAvailableSeat(e):"selected"===e.status()?clickedSelectedSeat(e):"unavailable"==e.status()?"unavailable":e.style()}function clickAvailableSeat(e){var t=e.settings;return utils_1.default.consoleLog(t),State.maximumSelectedSeatsReached(t)?"available":(State.addSeatToState(t),Cart.calcOverallPrice(),CartButtons.setBtnCartText(),"selected")}function clickedSelectedSeat(e){var t=e.settings;return State.removeSeatFromState(t),Cart.calcOverallPrice(),CartButtons.setBtnCartText(),"available"}exports.getSeats=getSeats,exports.activateSeatsBySectionID=activateSeatsBySectionID,exports.getRowsNaming=getRowsNaming,exports.generateMap=generateMap,exports.generateLegend=generateLegend,exports.setUnavailableSeats=setUnavailableSeats,exports.getSeatsKey=getSeatsKey,exports.splitSeatStr=splitSeatStr,exports.createArrMatrix=createArrMatrix,exports.selectSeatsInCart=selectSeatsInCart,exports.addSeatmap=addSeatmap;
},{"./cart":99,"./cartButtons":100,"./config":103,"./state":110,"./utils":113}],107:[function(require,module,exports){
"use strict";function convertLegendToDropdown(e){jQuery("ul.seatCharts-legendList").each(function(){var n=jQuery(document.createElement("select")).insertBefore(jQuery(this).hide());n.attr({id:e}),appendFirstLegendOption(n),appendLegendOptions(this,n)})}function appendLegendOptions(e,n){jQuery(">li",e).each(function(){var e=jQuery(this)[0].children[0].classList[3],o=e.substring(1),r=jQuery(this)[0].children[1].innerText;appendLegendOption(n,e,o,r)})}function appendLegendOption(e,n,o,r){var t=jQuery("<option/>");t.attr({value:o,class:n}).text(r),e.append(t)}function appendFirstLegendOption(e){var n=jQuery("<option/>");n.attr({value:"all"}).text("Alle Preiskategorien"),n.css("color","#5c5c5c"),e.append(n)}function changeDropdownLegendBGColor(e,n,o){var r="#fafafa",t="#5c5c5c";"all"!==n&&(t="white",r=jQuery(o).css("background-color")),jQuery(e).css("color",t),jQuery(e).css("background-color",r),jQuery(e+' option[value="all"]').css("color",t)}Object.defineProperty(exports,"__esModule",{value:!0}),exports.changeDropdownLegendBGColor=exports.convertLegendToDropdown=void 0,exports.convertLegendToDropdown=convertLegendToDropdown,exports.changeDropdownLegendBGColor=changeDropdownLegendBGColor;
},{}],108:[function(require,module,exports){
"use strict";var __importDefault=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.unbindPanzoomEvents=exports.addPanzoom=void 0;var panzoom_1=__importDefault(require("@panzoom/panzoom")),config_1=require("./config");function addPanzoom(e,o,n,t){void 0===o&&(o=void 0),void 0===n&&(n=void 0),void 0===t&&(t=void 0);var a=jQuery(e).get(0);if(a){var i=panzoom_1.default(a,{maxScale:5,animate:!1,overflow:"hidden",startScale:"0.66"});return addPanzoomEvents(o,n,t,a.parentElement,i),i}}function addPanzoomEvents(e,o,n,t,a){[{Selector:e,PanzoomFunction:a.zoomIn,Type:"click"},{Selector:o,PanzoomFunction:a.zoomOut,Type:"click"},{Selector:n,PanzoomFunction:a.reset,Type:"click"},{HTMLElement:t,PanzoomFunction:a.zoomWithWheel,Type:"wheel"}].map(function(e){if(e.Selector){var o=jQuery(e.Selector).get(0);o&&o.addEventListener(e.Type,e.PanzoomFunction)}else e.HTMLElement&&"wheel"===e.Type&&e.HTMLElement.addEventListener(e.Type,e.PanzoomFunction)})}function unbindPanzoomEvents(e){var o;null===(o=jQuery(e).get(0).parentElement)||void 0===o||o.removeEventListener("wheel",config_1.config.state.panzoom.zoomWithWheel)}exports.addPanzoom=addPanzoom,exports.unbindPanzoomEvents=unbindPanzoomEvents;
},{"./config":103,"@panzoom/panzoom":1}],109:[function(require,module,exports){
"use strict";var __assign=this&&this.__assign||function(){return(__assign=Object.assign||function(e){for(var t,n=1,i=arguments.length;n<i;n++)for(var o in t=arguments[n])Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o]);return e}).apply(this,arguments)},__importDefault=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.getEventInfo=exports.getSMAP=exports.getVenueImage=exports.getAdditionalInputs=exports.getImportantNote=exports.getInputs=exports.getVenueLocation=void 0;var config_1=require("./config"),jQuery=require("jquery"),utils_1=__importDefault(require("./utils"));function getVenueLocation(){var e=[];return jQuery(".venue span").each(function(){e.push(jQuery(this).text())}),e.join(", ")}function getInputs(e){var t=jQuery.parseHTML(e),n={};return jQuery(t).find("input").each(function(){var e=this.name,t=this.value;""!==t&&(n[e]=t)}),n}function getImportantNote(){if(jQuery(".important_note").length){var e=jQuery(".important_note")[0].textContent;if(null==e?void 0:e.trim().length)return{importantNote:e,importantNoteEncoded:encodeURIComponent(e)}}}function getAdditionalInputs(e){var t=e.match(/event:"(.+?)"/)[1],n=e.match(/holdcode:"(.+?)"/)[1],i=e.match(/posturl:"(.+?)"/)[1],o=decodeURIComponent(i),a=decodeURIComponent(i+"&event="+t+"&holdcode="+n+"&nocache=0&inclpkg=Y&incloffer=Y&inclcartdetails=Y&inclCart=Y&inclvenue=Y"),r=getVenueLocation(),u=o.split("?")[0].split("/").slice(0,-1).join("/")+"/TicketPurchase";return{event:t,holdcode:n,posturlRaw:i,posturlRawDecoded:o,posturl:a,venueLocation:r,ticketPurchaseUrl:u}}function getVenueImage(){var e=jQuery("#static_venue_map img").get(0);if(e)return{venueImageSrc:e.src,venueImageHeight:e.height,venueImageWidth:e.width}}function getSMAP(){if(jQuery("#seating_map_url").length){var e=jQuery("#seating_map_url a").attr("onclick").match(/openNewWindow\(\'(\d+)\'/);return e?e[1]:void 0}}function getEventInfo(){var e=config_1.config.state.inVenueXML,t=e.master_config[0].section_inventory[0].section,n=e.event[0],i=e.event[0],o=e.venue_config[0],a=new Date(parseInt(i.year[0]),parseInt(i.month[0])-1,parseInt(i.day[0]),parseInt(i.hour[0]),parseInt(i.minute[0])),r=[a.toLocaleString(["de-DE"],{weekday:"long",day:"2-digit",month:"2-digit",year:"numeric",hour:"2-digit",minute:"2-digit",timeZoneName:"short"})],u=[utils_1.default.getDayName(a,"de-DE")],s=t.map(function(e){return parseInt(e.available[0])}).reduce(function(e,t){return e+t}),c={venue_config_capacity:o.capacity,venue_config_code:o.code,venue_config_desc:o.desc,venue_config_id:o.id,venue_config_nav_image:o.nav_image,venue_config_nav_image_height:o.nav_image_height,venue_config_nav_image_width:o.nav_image_width,start:r,weekday:u,seats_available:s};return __assign(__assign({},n),c)}exports.getVenueLocation=getVenueLocation,exports.getInputs=getInputs,exports.getImportantNote=getImportantNote,exports.getAdditionalInputs=getAdditionalInputs,exports.getVenueImage=getVenueImage,exports.getSMAP=getSMAP,exports.getEventInfo=getEventInfo;
},{"./config":103,"./utils":113,"jquery":36}],110:[function(require,module,exports){
"use strict";var __assign=this&&this.__assign||function(){return(__assign=Object.assign||function(e){for(var t,a=1,r=arguments.length;a<r;a++)for(var i in t=arguments[a])Object.prototype.hasOwnProperty.call(t,i)&&(e[i]=t[i]);return e}).apply(this,arguments)},__createBinding=this&&this.__createBinding||(Object.create?function(e,t,a,r){void 0===r&&(r=a),Object.defineProperty(e,r,{enumerable:!0,get:function(){return t[a]}})}:function(e,t,a,r){void 0===r&&(r=a),e[r]=t[a]}),__setModuleDefault=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),__importStar=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var a in e)"default"!==a&&Object.prototype.hasOwnProperty.call(e,a)&&__createBinding(t,e,a);return __setModuleDefault(t,e),t};Object.defineProperty(exports,"__esModule",{value:!0}),exports.maximumSelectedSeatsReached=exports.removeSeatFromState=exports.addSeatToState=void 0;var config_1=require("./config"),XMLHelper=__importStar(require("./xmlhelper")),jBoxHelper=__importStar(require("./jBoxHelper"));function addSeatToState(e){addSeatObjToState(e);var t=config_1.config.state.selectedSeatsObj[e.id].data.seatsObj.id[0],a=XMLHelper.getVenuePriceStructurePropertyByPricescaleID(t);if(a){var r=a.buyer_type[0].id[0],i=XMLHelper.getBuyerTypeCodeByBuyerTypeID(r);addSeatsItemToState([e.id,r,i])}else console.warn("Cannot find corresponding venueXML pricescaleObj for pricescale with ID "+t)}function removeSeatFromState(e){delete config_1.config.state.selectedSeatsObj[e.id];var t=config_1.config.state.selectedSeatsArr.findIndex(function(t){return t[0]===e.id});config_1.config.state.selectedSeatsArr.splice(t,1),config_1.config.state.cartChanged=!0,config_1.config.state.selectedSeatsArr.length||jQuery("#modalCart-overlay").hide()}function maximumSelectedSeatsReached(e){var t=config_1.config.state.seatmap;return config_1.config.state.selectedSeatsArr.length>=config_1.config.maxSelectedSeats&&(jBoxHelper.showJBoxNotice("Sie können maximal "+config_1.config.maxSelectedSeats+" Plätze auswählen."),t.status(e.id,"available"),!0)}function addSeatsItemToState(e){e.every(function(e){return null!==e})&&(config_1.config.state.selectedSeatsArr.push(e),config_1.config.state.cartChanged=!0)}function addSeatObjToState(e){var t,a=((t={})[e.id]=e,t);config_1.config.state.selectedSeatsObj=__assign(__assign({},config_1.config.state.selectedSeatsObj),a)}exports.addSeatToState=addSeatToState,exports.removeSeatFromState=removeSeatFromState,exports.maximumSelectedSeatsReached=maximumSelectedSeatsReached;
},{"./config":103,"./jBoxHelper":105,"./xmlhelper":114}],111:[function(require,module,exports){
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.addTrims=void 0;var config_1=require("./config");function addTrims(){config_1.config.state.seatmapXML.seatmap[0].trims[0].trim.forEach(function(r){var e=r.coord[0].split(",").map(Number),t=e[0],a=e[1];decodeTrim(r.text[0].split(";").filter(Boolean),t/20,Math.round(a/21.25))})}function decodeTrim(r,e,t){var a=new Map([["&#x8e","Ä"],["&#x99","Ö"],["&#x9a","Ü"],["&#x84","ä"],["&#x94","ö"],["&#x81","ü"],["&#xe1","ß"]]);r.map(function(r,i){var o=a.has(r)?a.get(r):decodeNormalTrim(r);o&&applyTrim(o,getJSCTrimPos(e,t,i))})}function decodeNormalTrim(r){var e=r.replace(/^\&\#/,"0");return String.fromCharCode(parseInt(e,16))}function applyTrim(r,e){/[^a-zA-Z0-9äöüÄÖÜß$]/.test(r)||(jQuery(".seatCharts-row")[e.yJSC].children[e.xJSC].innerHTML='<span class="trimChar">'+r+"</span>")}function getJSCTrimPos(r,e,t){return{x:r,y:e,xJSC:r-1+t,yJSC:e-1}}exports.addTrims=addTrims;
},{"./config":103}],112:[function(require,module,exports){
"use strict";var __createBinding=this&&this.__createBinding||(Object.create?function(e,t,n,o){void 0===o&&(o=n),Object.defineProperty(e,o,{enumerable:!0,get:function(){return t[n]}})}:function(e,t,n,o){void 0===o&&(o=n),e[o]=t[n]}),__setModuleDefault=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),__importStar=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)"default"!==n&&Object.prototype.hasOwnProperty.call(e,n)&&__createBinding(t,e,n);return __setModuleDefault(t,e),t},__importDefault=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.appendVersion=exports.adjustUIToLoading=exports.generatePricescaleCSS=exports.fadeInCartModal=exports.changeVenueImage=exports.controlLoftloader=exports.destroyCurrentSeatmap=exports.createDialog=exports.setEventInfo=exports.setOptionSelect=void 0;var Communication=__importStar(require("./communication")),config_1=require("./config"),Events=__importStar(require("./events")),Panzoom=__importStar(require("./panzoom")),CartButtons=__importStar(require("./cartButtons")),utils_1=__importDefault(require("./utils"));function setOptionSelect(e,t){var n=document.getElementById(t);if(n)for(var o=0,r=e;o<r.length;o++){var a=r[o],i=document.createElement("option");i.value=a.id[0],i.innerHTML=a.desc[0],n.appendChild(i)}}function setEventInfo(e){var t=config_1.config.state.inputsWithValue;jQuery("#eventInfoDesc span.fl-heading-text")[0].childNodes[0].textContent=e.desc[0],jQuery("#eventInfoDate p")[0].childNodes[0].textContent=e.start[0],jQuery("#eventInfoLocation p")[0].childNodes[0].textContent=t.venueLocation,jQuery("#eventInfoCapacity p")[0].childNodes[0].textContent="Verfügbare Plätze: "+e.seats_available+" von "+e.venue_config_capacity[0]}function createDialog(){var e=utils_1.default.getConfigValue("seatmap");jQuery("#dialogSeatmap").append(jQuery("<iframe id='iframeSeatmap' scrolling='no' frameborder='0' marginwidth='0' marginheight='0' allowfullscreen width='100%' />").attr("src",e)).dialog({modal:!0,autoOpen:!1,closeOnEscape:!0,draggable:!1,hide:!0,show:!0,resizable:!1,title:"",width:"100%",height:"auto",close:function(){return jQuery("html, body").css("overflow","auto")}}),Events.addOpenSeatmap()}function destroyCurrentSeatmap(e){config_1.config.state.panzoom&&Panzoom.unbindPanzoomEvents(e),jQuery("#containerSeatmapInner").remove(),jQuery("#htmlSeatmapInner .fl-html").removeAttr("style"),jQuery("#htmlSeatmapInner .fl-html").append('<div id="containerSeatmapInner"></div>'),jQuery("#JSCLegendInner").remove(),jQuery("#JSCLegend .fl-html").append('<div id="JSCLegendInner"></div>')}function controlLoftloader(e){"show"===e?jQuery("body").removeClass("loaded loftloader-loaded"):"hide"===e&&jQuery("body").addClass("loaded loftloader-loaded")}function changeVenueImage(){var e=config_1.config.state.inputsWithValue;void 0!==e.venueImageSrc&&jQuery("#venueImage img").attr("src",e.venueImageSrc)}function fadeInCartModal(){jQuery("#modalCart-overlay").fadeIn(300),Communication.sendEventToParent("child_hide_dialog_titlebar")}function generatePricescaleCSS(){return config_1.config.state.inVenueXML.venue[0].pricescales[0].pricescale.map(function(e){return"._"+e.id[0]+" { background-color: "+("#"+e.color[0]+" !important")+"; }"}).join("\r\n")}function adjustUIToLoading(){CartButtons.showHideBtnCartLoading("show"),jQuery("#modalCart i").hide(),jQuery("#modalCart .uabb-button-text").addClass("dot-pulse")}function appendVersion(){jQuery("#bottomHTMLVersion")[0].innerText=config_1.config.version,jQuery("#bottomHTMLBranch")[0].innerText="("+config_1.config.branch+")"}exports.setOptionSelect=setOptionSelect,exports.setEventInfo=setEventInfo,exports.createDialog=createDialog,exports.destroyCurrentSeatmap=destroyCurrentSeatmap,exports.controlLoftloader=controlLoftloader,exports.changeVenueImage=changeVenueImage,exports.fadeInCartModal=fadeInCartModal,exports.generatePricescaleCSS=generatePricescaleCSS,exports.adjustUIToLoading=adjustUIToLoading,exports.appendVersion=appendVersion;
},{"./cartButtons":100,"./communication":102,"./config":103,"./events":104,"./panzoom":108,"./utils":113}],113:[function(require,module,exports){
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var config_1=require("./config"),Utils=function(){function e(){}return e.waitForElement=function(t,n,o,r,c){void 0===o&&(o="selector"),void 0===r&&(r=1e3),void 0===c&&(c=1e4);var a=Date.now();!function i(){("selector"===o?jQuery(t).get(0):e.getSeatmapElement())?(e.consoleLog("ready"),n()):(e.consoleLog("Repeating for "+o),setTimeout(function(){c&&Date.now()-a>c||i()},r))}()},e.getSeatmapElement=function(){var t=window.jQuery("#containerSeatmap").seatCharts;return e.isFunction(t)},e.waitForSeatmap=function(e){var t=window.jQuery("#containerSeatmap").seatCharts;this.waitForElement(t,e,"seatmap")},e.querySelector=function(e){return null!=document.querySelector(e)},e.isFunction=function(e){return"function"==typeof e},e.inject=function(t,n,o){var r;switch(void 0===n&&(n="js"),void 0===o&&(o="head"),n){case"js":(r=document.createElement("script")).type="text/javascript",r.src=t;break;case"css":(r=document.createElement("link")).type="text/css",r.rel="stylesheet",r.href=t;break;case"cssCustom":(r=document.createElement("style")).type="text/css",r.innerHTML=t;break;case"script":(r=document.createElement("script")).type="text/javascript",r.innerHTML=t;break;default:r=void 0}r&&e.appendScript(r,o)},e.appendScript=function(e,t){"body"===t?document.body.appendChild(e):"head"===t&&document.head.appendChild(e)},e.getDayName=function(e,t){return e.toLocaleDateString(t,{weekday:"long"})},e.consoleLog=function(e){0},e.getConfigValue=function(e){var t=config_1.config.branch;return config_1.config.resources[t][e]},e}();exports.default=Utils;
},{"./config":103}],114:[function(require,module,exports){
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.generateSelectedSeatIndexes=exports.getBuyerTypesByPricescaleID=exports.getVenuePriceStructurePropertyByPricescaleID=exports.getPriceByBuyerTypeID=exports.getBuyerTypeCodeByBuyerTypeID=exports.getVenuePricescalePropertyByPricescaleID=exports.getSectionDescBySectionID=exports.processSMAP=void 0;var config_1=require("./config");function processSMAP(){var e=config_1.config.state.inputsWithValue;e.smap&&(e.smap.split("").map(Number)[0]||jQuery("#eventInfoCapacity").hide())}function getSectionDescBySectionID(e){var r;return null===(r=config_1.config.state.inVenueXML.master_config[0].section_config[0].section.find(function(r){return e===r.id[0]}))||void 0===r?void 0:r.desc[0]}function getVenuePricescalePropertyByPricescaleID(e,r){var t;return null===(t=config_1.config.state.inVenueXML.venue[0].pricescales[0].pricescale.find(function(e){return e.id[0]===r?e:void 0}))||void 0===t?void 0:t[e][0]}function getBuyerTypeCodeByBuyerTypeID(e){var r;return null===(r=config_1.config.state.inVenueXML.venue[0].buyer_types[0].buyer_type.find(function(r){return e===r.id[0]}))||void 0===r?void 0:r.code[0]}function getPriceByBuyerTypeID(e,r){var t,n=null===(t=null==r?void 0:r.buyer_type.find(function(r){return r.id[0]===e}))||void 0===t?void 0:t.price[0];return n?parseFloat(n):void 0}function getVenuePriceStructurePropertyByPricescaleID(e){return config_1.config.state.inVenueXML.price_structure[0].pricescale.find(function(r){return r.id[0]===e})}function getBuyerTypesByPricescaleID(e){var r=findBuyerTypesArrByPricescaleID(e);return r?r.map(function(e){return[e.id[0],e.price[0],getBuyerTypeDesc(e)]}):void 0}function generateSelectedSeatIndexes(){return config_1.config.state.selectedSeatsArr.map(function(e){return e.join(",")}).join("|")}function findBuyerTypesArrByPricescaleID(e){var r;return null===(r=config_1.config.state.inVenueXML.price_structure[0].pricescale.find(function(r){return r.id[0]===e}))||void 0===r?void 0:r.buyer_type}function getBuyerTypeDesc(e){var r;return null===(r=config_1.config.state.inVenueXML.venue[0].buyer_types[0].buyer_type.find(function(r){return r.id[0]===e.id[0]?r.desc[0]:void 0}))||void 0===r?void 0:r.desc[0]}exports.processSMAP=processSMAP,exports.getSectionDescBySectionID=getSectionDescBySectionID,exports.getVenuePricescalePropertyByPricescaleID=getVenuePricescalePropertyByPricescaleID,exports.getBuyerTypeCodeByBuyerTypeID=getBuyerTypeCodeByBuyerTypeID,exports.getPriceByBuyerTypeID=getPriceByBuyerTypeID,exports.getVenuePriceStructurePropertyByPricescaleID=getVenuePriceStructurePropertyByPricescaleID,exports.getBuyerTypesByPricescaleID=getBuyerTypesByPricescaleID,exports.generateSelectedSeatIndexes=generateSelectedSeatIndexes;
},{"./config":103}],115:[function(require,module,exports){
"use strict";var __createBinding=this&&this.__createBinding||(Object.create?function(e,t,n,i){void 0===i&&(i=n),Object.defineProperty(e,i,{enumerable:!0,get:function(){return t[n]}})}:function(e,t,n,i){void 0===i&&(i=n),e[i]=t[n]}),__setModuleDefault=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),__importStar=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)"default"!==n&&Object.prototype.hasOwnProperty.call(e,n)&&__createBinding(t,e,n);return __setModuleDefault(t,e),t},__importDefault=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(exports,"__esModule",{value:!0});var jQuery=require("jquery"),Communication=__importStar(require("./modules/communication")),config_1=require("./modules/config"),utils_1=__importDefault(require("./modules/utils")),Events=__importStar(require("./modules/events")),Cart=__importStar(require("./modules/cart")),BookingBtn=__importStar(require("./modules/bookingButton")),Child=__importStar(require("./modules/child")),UI=__importStar(require("./modules/ui"));function messageHandler(e){if("string"==typeof e.data){var t=JSON.parse(e.data);switch(utils_1.default.consoleLog("child: received from "+t.from),utils_1.default.consoleLog(t),t.event){case"parent_init_venue":Child.initVenue();break;case"parent_init_sendVenueXML":Child.initSendVenueXML(e);break;case"parent_init_sendInputsWithValue":Child.initSendInputsWithValue(e);break;case"parent_sendSeatmapXML":Child.sendSeatmapXML(e);break;case"parent_sendCheckoutResponse":Child.sendCheckoutResponse(e)}}}require("../src/css/seatmap.css"),window.addEventListener("load",function(){Child.injectResources(),Communication.listenToMessages(messageHandler),utils_1.default.waitForSeatmap(BookingBtn.showSeatmapBtnParent),utils_1.default.waitForElement("#modalCart-overlay",Cart.initModalCart),Events.addCloseModal(),Events.addModalCart(),Events.addDropdownSeatmap(),UI.appendVersion()}),window.onresize=function(){var e=config_1.config.state.panzoom,t=window.innerHeight;t<576?(jQuery("#containerEventInfoRow").hide(),null==e||e.reset()):t>=576&&(jQuery("#containerEventInfoRow").show(),null==e||e.reset())};
},{"../src/css/seatmap.css":97,"./modules/bookingButton":98,"./modules/cart":99,"./modules/child":101,"./modules/communication":102,"./modules/config":103,"./modules/events":104,"./modules/ui":112,"./modules/utils":113,"jquery":36}]},{},[115])
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm5vZGVfbW9kdWxlcy9icm93c2VyLXBhY2svX3ByZWx1ZGUuanMiLCJub2RlX21vZHVsZXMvQHBhbnpvb20vcGFuem9vbS9kaXN0L3Bhbnpvb20uanMiLCJub2RlX21vZHVsZXMvYXhpb3MvaW5kZXguanMiLCJub2RlX21vZHVsZXMvYXhpb3MvbGliL2FkYXB0ZXJzL3hoci5qcyIsIm5vZGVfbW9kdWxlcy9heGlvcy9saWIvYXhpb3MuanMiLCJub2RlX21vZHVsZXMvYXhpb3MvbGliL2NhbmNlbC9DYW5jZWwuanMiLCJub2RlX21vZHVsZXMvYXhpb3MvbGliL2NhbmNlbC9DYW5jZWxUb2tlbi5qcyIsIm5vZGVfbW9kdWxlcy9heGlvcy9saWIvY2FuY2VsL2lzQ2FuY2VsLmpzIiwibm9kZV9tb2R1bGVzL2F4aW9zL2xpYi9jb3JlL0F4aW9zLmpzIiwibm9kZV9tb2R1bGVzL2F4aW9zL2xpYi9jb3JlL0ludGVyY2VwdG9yTWFuYWdlci5qcyIsIm5vZGVfbW9kdWxlcy9heGlvcy9saWIvY29yZS9idWlsZEZ1bGxQYXRoLmpzIiwibm9kZV9tb2R1bGVzL2F4aW9zL2xpYi9jb3JlL2NyZWF0ZUVycm9yLmpzIiwibm9kZV9tb2R1bGVzL2F4aW9zL2xpYi9jb3JlL2Rpc3BhdGNoUmVxdWVzdC5qcyIsIm5vZGVfbW9kdWxlcy9heGlvcy9saWIvY29yZS9lbmhhbmNlRXJyb3IuanMiLCJub2RlX21vZHVsZXMvYXhpb3MvbGliL2NvcmUvbWVyZ2VDb25maWcuanMiLCJub2RlX21vZHVsZXMvYXhpb3MvbGliL2NvcmUvc2V0dGxlLmpzIiwibm9kZV9tb2R1bGVzL2F4aW9zL2xpYi9jb3JlL3RyYW5zZm9ybURhdGEuanMiLCJub2RlX21vZHVsZXMvYXhpb3MvbGliL2RlZmF1bHRzLmpzIiwibm9kZV9tb2R1bGVzL2F4aW9zL2xpYi9oZWxwZXJzL2JpbmQuanMiLCJub2RlX21vZHVsZXMvYXhpb3MvbGliL2hlbHBlcnMvYnVpbGRVUkwuanMiLCJub2RlX21vZHVsZXMvYXhpb3MvbGliL2hlbHBlcnMvY29tYmluZVVSTHMuanMiLCJub2RlX21vZHVsZXMvYXhpb3MvbGliL2hlbHBlcnMvY29va2llcy5qcyIsIm5vZGVfbW9kdWxlcy9heGlvcy9saWIvaGVscGVycy9pc0Fic29sdXRlVVJMLmpzIiwibm9kZV9tb2R1bGVzL2F4aW9zL2xpYi9oZWxwZXJzL2lzQXhpb3NFcnJvci5qcyIsIm5vZGVfbW9kdWxlcy9heGlvcy9saWIvaGVscGVycy9pc1VSTFNhbWVPcmlnaW4uanMiLCJub2RlX21vZHVsZXMvYXhpb3MvbGliL2hlbHBlcnMvbm9ybWFsaXplSGVhZGVyTmFtZS5qcyIsIm5vZGVfbW9kdWxlcy9heGlvcy9saWIvaGVscGVycy9wYXJzZUhlYWRlcnMuanMiLCJub2RlX21vZHVsZXMvYXhpb3MvbGliL2hlbHBlcnMvc3ByZWFkLmpzIiwibm9kZV9tb2R1bGVzL2F4aW9zL2xpYi91dGlscy5qcyIsIm5vZGVfbW9kdWxlcy9iYXNlNjQtanMvaW5kZXguanMiLCJub2RlX21vZHVsZXMvYnJvd3Nlci1yZXNvbHZlL2VtcHR5LmpzIiwibm9kZV9tb2R1bGVzL2J1ZmZlci9pbmRleC5qcyIsIm5vZGVfbW9kdWxlcy9ldmVudHMvZXZlbnRzLmpzIiwibm9kZV9tb2R1bGVzL2llZWU3NTQvaW5kZXguanMiLCJub2RlX21vZHVsZXMvaW5oZXJpdHMvaW5oZXJpdHNfYnJvd3Nlci5qcyIsIm5vZGVfbW9kdWxlcy9qYm94L2Rpc3QvakJveC5hbGwubWluLmpzIiwibm9kZV9tb2R1bGVzL2pxdWVyeS9kaXN0L2pxdWVyeS5qcyIsIm5vZGVfbW9kdWxlcy9wcm9jZXNzL2Jyb3dzZXIuanMiLCJub2RlX21vZHVsZXMvc2FmZS1idWZmZXIvaW5kZXguanMiLCJub2RlX21vZHVsZXMvc2F4L2xpYi9zYXguanMiLCJub2RlX21vZHVsZXMvc3RyZWFtLWJyb3dzZXJpZnkvaW5kZXguanMiLCJub2RlX21vZHVsZXMvc3RyZWFtLWJyb3dzZXJpZnkvbm9kZV9tb2R1bGVzL3JlYWRhYmxlLXN0cmVhbS9lcnJvcnMtYnJvd3Nlci5qcyIsIm5vZGVfbW9kdWxlcy9zdHJlYW0tYnJvd3NlcmlmeS9ub2RlX21vZHVsZXMvcmVhZGFibGUtc3RyZWFtL2xpYi9fc3RyZWFtX2R1cGxleC5qcyIsIm5vZGVfbW9kdWxlcy9zdHJlYW0tYnJvd3NlcmlmeS9ub2RlX21vZHVsZXMvcmVhZGFibGUtc3RyZWFtL2xpYi9fc3RyZWFtX3Bhc3N0aHJvdWdoLmpzIiwibm9kZV9tb2R1bGVzL3N0cmVhbS1icm93c2VyaWZ5L25vZGVfbW9kdWxlcy9yZWFkYWJsZS1zdHJlYW0vbGliL19zdHJlYW1fcmVhZGFibGUuanMiLCJub2RlX21vZHVsZXMvc3RyZWFtLWJyb3dzZXJpZnkvbm9kZV9tb2R1bGVzL3JlYWRhYmxlLXN0cmVhbS9saWIvX3N0cmVhbV90cmFuc2Zvcm0uanMiLCJub2RlX21vZHVsZXMvc3RyZWFtLWJyb3dzZXJpZnkvbm9kZV9tb2R1bGVzL3JlYWRhYmxlLXN0cmVhbS9saWIvX3N0cmVhbV93cml0YWJsZS5qcyIsIm5vZGVfbW9kdWxlcy9zdHJlYW0tYnJvd3NlcmlmeS9ub2RlX21vZHVsZXMvcmVhZGFibGUtc3RyZWFtL2xpYi9pbnRlcm5hbC9zdHJlYW1zL2FzeW5jX2l0ZXJhdG9yLmpzIiwibm9kZV9tb2R1bGVzL3N0cmVhbS1icm93c2VyaWZ5L25vZGVfbW9kdWxlcy9yZWFkYWJsZS1zdHJlYW0vbGliL2ludGVybmFsL3N0cmVhbXMvYnVmZmVyX2xpc3QuanMiLCJub2RlX21vZHVsZXMvc3RyZWFtLWJyb3dzZXJpZnkvbm9kZV9tb2R1bGVzL3JlYWRhYmxlLXN0cmVhbS9saWIvaW50ZXJuYWwvc3RyZWFtcy9kZXN0cm95LmpzIiwibm9kZV9tb2R1bGVzL3N0cmVhbS1icm93c2VyaWZ5L25vZGVfbW9kdWxlcy9yZWFkYWJsZS1zdHJlYW0vbGliL2ludGVybmFsL3N0cmVhbXMvZW5kLW9mLXN0cmVhbS5qcyIsIm5vZGVfbW9kdWxlcy9zdHJlYW0tYnJvd3NlcmlmeS9ub2RlX21vZHVsZXMvcmVhZGFibGUtc3RyZWFtL2xpYi9pbnRlcm5hbC9zdHJlYW1zL2Zyb20tYnJvd3Nlci5qcyIsIm5vZGVfbW9kdWxlcy9zdHJlYW0tYnJvd3NlcmlmeS9ub2RlX21vZHVsZXMvcmVhZGFibGUtc3RyZWFtL2xpYi9pbnRlcm5hbC9zdHJlYW1zL3BpcGVsaW5lLmpzIiwibm9kZV9tb2R1bGVzL3N0cmVhbS1icm93c2VyaWZ5L25vZGVfbW9kdWxlcy9yZWFkYWJsZS1zdHJlYW0vbGliL2ludGVybmFsL3N0cmVhbXMvc3RhdGUuanMiLCJub2RlX21vZHVsZXMvc3RyZWFtLWJyb3dzZXJpZnkvbm9kZV9tb2R1bGVzL3JlYWRhYmxlLXN0cmVhbS9saWIvaW50ZXJuYWwvc3RyZWFtcy9zdHJlYW0tYnJvd3Nlci5qcyIsIm5vZGVfbW9kdWxlcy9zdHJpbmdfZGVjb2Rlci9saWIvc3RyaW5nX2RlY29kZXIuanMiLCJub2RlX21vZHVsZXMvdGltZXJzLWJyb3dzZXJpZnkvbWFpbi5qcyIsIm5vZGVfbW9kdWxlcy91dGlsLWRlcHJlY2F0ZS9icm93c2VyLmpzIiwibm9kZV9tb2R1bGVzL3htbDJqcy9saWIvYm9tLmpzIiwibm9kZV9tb2R1bGVzL3htbDJqcy9saWIvYnVpbGRlci5qcyIsIm5vZGVfbW9kdWxlcy94bWwyanMvbGliL2RlZmF1bHRzLmpzIiwibm9kZV9tb2R1bGVzL3htbDJqcy9saWIvcGFyc2VyLmpzIiwibm9kZV9tb2R1bGVzL3htbDJqcy9saWIvcHJvY2Vzc29ycy5qcyIsIm5vZGVfbW9kdWxlcy94bWwyanMvbGliL3htbDJqcy5qcyIsIm5vZGVfbW9kdWxlcy94bWxidWlsZGVyL2xpYi9Eb2N1bWVudFBvc2l0aW9uLmpzIiwibm9kZV9tb2R1bGVzL3htbGJ1aWxkZXIvbGliL05vZGVUeXBlLmpzIiwibm9kZV9tb2R1bGVzL3htbGJ1aWxkZXIvbGliL1V0aWxpdHkuanMiLCJub2RlX21vZHVsZXMveG1sYnVpbGRlci9saWIvV3JpdGVyU3RhdGUuanMiLCJub2RlX21vZHVsZXMveG1sYnVpbGRlci9saWIvWE1MQXR0cmlidXRlLmpzIiwibm9kZV9tb2R1bGVzL3htbGJ1aWxkZXIvbGliL1hNTENEYXRhLmpzIiwibm9kZV9tb2R1bGVzL3htbGJ1aWxkZXIvbGliL1hNTENoYXJhY3RlckRhdGEuanMiLCJub2RlX21vZHVsZXMveG1sYnVpbGRlci9saWIvWE1MQ29tbWVudC5qcyIsIm5vZGVfbW9kdWxlcy94bWxidWlsZGVyL2xpYi9YTUxET01Db25maWd1cmF0aW9uLmpzIiwibm9kZV9tb2R1bGVzL3htbGJ1aWxkZXIvbGliL1hNTERPTUVycm9ySGFuZGxlci5qcyIsIm5vZGVfbW9kdWxlcy94bWxidWlsZGVyL2xpYi9YTUxET01JbXBsZW1lbnRhdGlvbi5qcyIsIm5vZGVfbW9kdWxlcy94bWxidWlsZGVyL2xpYi9YTUxET01TdHJpbmdMaXN0LmpzIiwibm9kZV9tb2R1bGVzL3htbGJ1aWxkZXIvbGliL1hNTERUREF0dExpc3QuanMiLCJub2RlX21vZHVsZXMveG1sYnVpbGRlci9saWIvWE1MRFRERWxlbWVudC5qcyIsIm5vZGVfbW9kdWxlcy94bWxidWlsZGVyL2xpYi9YTUxEVERFbnRpdHkuanMiLCJub2RlX21vZHVsZXMveG1sYnVpbGRlci9saWIvWE1MRFRETm90YXRpb24uanMiLCJub2RlX21vZHVsZXMveG1sYnVpbGRlci9saWIvWE1MRGVjbGFyYXRpb24uanMiLCJub2RlX21vZHVsZXMveG1sYnVpbGRlci9saWIvWE1MRG9jVHlwZS5qcyIsIm5vZGVfbW9kdWxlcy94bWxidWlsZGVyL2xpYi9YTUxEb2N1bWVudC5qcyIsIm5vZGVfbW9kdWxlcy94bWxidWlsZGVyL2xpYi9YTUxEb2N1bWVudENCLmpzIiwibm9kZV9tb2R1bGVzL3htbGJ1aWxkZXIvbGliL1hNTER1bW15LmpzIiwibm9kZV9tb2R1bGVzL3htbGJ1aWxkZXIvbGliL1hNTEVsZW1lbnQuanMiLCJub2RlX21vZHVsZXMveG1sYnVpbGRlci9saWIvWE1MTmFtZWROb2RlTWFwLmpzIiwibm9kZV9tb2R1bGVzL3htbGJ1aWxkZXIvbGliL1hNTE5vZGUuanMiLCJub2RlX21vZHVsZXMveG1sYnVpbGRlci9saWIvWE1MTm9kZUxpc3QuanMiLCJub2RlX21vZHVsZXMveG1sYnVpbGRlci9saWIvWE1MUHJvY2Vzc2luZ0luc3RydWN0aW9uLmpzIiwibm9kZV9tb2R1bGVzL3htbGJ1aWxkZXIvbGliL1hNTFJhdy5qcyIsIm5vZGVfbW9kdWxlcy94bWxidWlsZGVyL2xpYi9YTUxTdHJlYW1Xcml0ZXIuanMiLCJub2RlX21vZHVsZXMveG1sYnVpbGRlci9saWIvWE1MU3RyaW5nV3JpdGVyLmpzIiwibm9kZV9tb2R1bGVzL3htbGJ1aWxkZXIvbGliL1hNTFN0cmluZ2lmaWVyLmpzIiwibm9kZV9tb2R1bGVzL3htbGJ1aWxkZXIvbGliL1hNTFRleHQuanMiLCJub2RlX21vZHVsZXMveG1sYnVpbGRlci9saWIvWE1MV3JpdGVyQmFzZS5qcyIsIm5vZGVfbW9kdWxlcy94bWxidWlsZGVyL2xpYi9pbmRleC5qcyIsInNyYy9jc3Mvc2VhdG1hcC5jc3MiLCJzcmMvbW9kdWxlcy9ib29raW5nQnV0dG9uLnRzIiwic3JjL21vZHVsZXMvY2FydC50cyIsInNyYy9tb2R1bGVzL2NhcnRCdXR0b25zLnRzIiwic3JjL21vZHVsZXMvY2hpbGQudHMiLCJzcmMvbW9kdWxlcy9jb21tdW5pY2F0aW9uLnRzIiwic3JjL21vZHVsZXMvY29uZmlnLnRzIiwic3JjL21vZHVsZXMvZXZlbnRzLnRzIiwic3JjL21vZHVsZXMvakJveEhlbHBlci50cyIsInNyYy9tb2R1bGVzL2pzYy50cyIsInNyYy9tb2R1bGVzL2xlZ2VuZC50cyIsInNyYy9tb2R1bGVzL3Bhbnpvb20udHMiLCJzcmMvbW9kdWxlcy9wYXJzZXIudHMiLCJzcmMvbW9kdWxlcy9zdGF0ZS50cyIsInNyYy9tb2R1bGVzL3RyaW1zLnRzIiwic3JjL21vZHVsZXMvdWkudHMiLCJzcmMvbW9kdWxlcy91dGlscy50cyIsInNyYy9tb2R1bGVzL3htbGhlbHBlci50cyIsInNyYy9zZWF0bWFwLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FDQUE7QUFDQTtBQUNBO0FDRkE7QUFDQTtBQUNBO0FDRkE7QUFDQTtBQUNBO0FDRkE7QUFDQTtBQUNBO0FDRkE7QUFDQTtBQUNBO0FDRkE7QUFDQTtBQUNBO0FDRkE7QUFDQTtBQUNBO0FDRkE7QUFDQTtBQUNBO0FDRkE7QUFDQTtBQUNBO0FDRkE7QUFDQTtBQUNBO0FDRkE7QUFDQTtBQUNBO0FDRkE7QUFDQTtBQUNBO0FDRkE7QUFDQTtBQUNBO0FDRkE7QUFDQTtBQUNBO0FDRkE7QUFDQTtBQUNBO0FDRkE7QUFDQTtBQUNBOztBQ0ZBO0FBQ0E7QUFDQTs7O0FDRkE7QUFDQTtBQUNBO0FDRkE7QUFDQTtBQUNBO0FDRkE7QUFDQTtBQUNBO0FDRkE7QUFDQTtBQUNBO0FDRkE7QUFDQTtBQUNBO0FDRkE7QUFDQTtBQUNBO0FDRkE7QUFDQTtBQUNBO0FDRkE7QUFDQTtBQUNBO0FDRkE7QUFDQTtBQUNBO0FDRkE7QUFDQTtBQUNBO0FDRkE7QUFDQTtBQUNBO0FDRkE7QUFDQTtBQUNBO0FDRkE7QUFDQTtBQUNBO0FDRkE7QUFDQTtBQUNBOzs7QUNGQTtBQUNBO0FBQ0E7QUNGQTtBQUNBO0FBQ0E7QUNGQTtBQUNBO0FBQ0E7QUNGQTtBQUNBO0FBQ0E7QUNGQTtBQUNBO0FBQ0E7QUNGQTtBQUNBO0FBQ0E7QUNGQTtBQUNBO0FBQ0E7O0FDRkE7QUFDQTtBQUNBOzs7QUNGQTtBQUNBO0FBQ0E7QUNGQTtBQUNBO0FBQ0E7O0FDRkE7QUFDQTtBQUNBOzs7QUNGQTtBQUNBO0FBQ0E7O0FDRkE7QUFDQTtBQUNBOzs7QUNGQTtBQUNBO0FBQ0E7O0FDRkE7QUFDQTtBQUNBOzs7O0FDRkE7QUFDQTtBQUNBOzs7QUNGQTtBQUNBO0FBQ0E7O0FDRkE7QUFDQTtBQUNBOzs7QUNGQTtBQUNBO0FBQ0E7QUNGQTtBQUNBO0FBQ0E7QUNGQTtBQUNBO0FBQ0E7QUNGQTtBQUNBO0FBQ0E7QUNGQTtBQUNBO0FBQ0E7QUNGQTtBQUNBO0FBQ0E7O0FDRkE7QUFDQTtBQUNBOzs7O0FDRkE7QUFDQTtBQUNBOzs7QUNGQTtBQUNBO0FBQ0E7QUNGQTtBQUNBO0FBQ0E7QUNGQTtBQUNBO0FBQ0E7QUNGQTtBQUNBO0FBQ0E7QUNGQTtBQUNBO0FBQ0E7QUNGQTtBQUNBO0FBQ0E7QUNGQTtBQUNBO0FBQ0E7QUNGQTtBQUNBO0FBQ0E7QUNGQTtBQUNBO0FBQ0E7QUNGQTtBQUNBO0FBQ0E7QUNGQTtBQUNBO0FBQ0E7QUNGQTtBQUNBO0FBQ0E7QUNGQTtBQUNBO0FBQ0E7QUNGQTtBQUNBO0FBQ0E7QUNGQTtBQUNBO0FBQ0E7QUNGQTtBQUNBO0FBQ0E7QUNGQTtBQUNBO0FBQ0E7QUNGQTtBQUNBO0FBQ0E7QUNGQTtBQUNBO0FBQ0E7QUNGQTtBQUNBO0FBQ0E7QUNGQTtBQUNBO0FBQ0E7QUNGQTtBQUNBO0FBQ0E7QUNGQTtBQUNBO0FBQ0E7QUNGQTtBQUNBO0FBQ0E7QUNGQTtBQUNBO0FBQ0E7QUNGQTtBQUNBO0FBQ0E7QUNGQTtBQUNBO0FBQ0E7QUNGQTtBQUNBO0FBQ0E7QUNGQTtBQUNBO0FBQ0E7QUNGQTtBQUNBO0FBQ0E7QUNGQTtBQUNBO0FBQ0E7QUNGQTtBQUNBO0FBQ0E7QUNGQTtBQUNBO0FBQ0E7QUNGQTtBQUNBO0FBQ0E7QUNGQTtBQUNBO0FBQ0E7QUNGQTtBQUNBO0FBQ0E7QUNGQTtBQUNBO0FBQ0E7QUNGQTtBQUNBO0FBQ0E7QUNGQTtBQUNBO0FBQ0E7QUNGQTtBQUNBO0FBQ0EsdXVCQ0ZBLElBQUEsY0FBQSxhQUFBLFFBQUEsb0JBRUEsU0FBZ0IsbUJBQ1osT0FBTyx1QkFBdUIsU0FDOUIsc0JBQ0EsdUJBR0osU0FBZ0IsdUJBQ1osY0FBYyxrQkFBa0IsdUJBR3BDLFNBQVMsdUJBQ0wsT0FBTywwQkFBMEIsT0FBTywrUkFZNUMsU0FBUyxzQkFDTCxPQUFPLDBCQUEwQixJQUFJLENBQ2pDLFFBQVcsUUFDWCxTQUFZLFdBQ1osTUFBUyxTQTNCakIsUUFBQSxpQkFBQSxpQkFNQSxRQUFBLHFCQUFBOzs7KzFCQ1JBLElBQUEsVUFBQSxhQUFBLFFBQUEsZ0JBQ0EsU0FBQSxRQUFBLFlBRUEsT0FBQSxhQUFBLFFBQUEsYUFDQSxZQUFBLGFBQUEsUUFBQSxrQkFFQSxTQUFnQixRQUFRLEdBQ3BCLElBQU0sRUFBZ0IsSUFBSSxVQUFVLHlDQUF5QyxRQUFTLEVBQVUsS0FBSyxTQUFTLEdBQUcsSUFDM0csRUFBK0IsVUFBVSx5Q0FBeUMsT0FBUSxFQUFVLEtBQUssU0FBUyxHQUFHLElBQ3JILEVBQWUsU0FBQSxPQUFPLE1BQU0sV0FBVyxFQUFVLElBQUksR0FDckQsRUFBYyxTQUFBLE9BQU8sTUFBTSxXQUFXLEVBQVUsSUFBSSxHQUNwRCxFQUFvQixTQUFBLE9BQU8sTUFBTSxXQUFXLEVBQVUsSUFBSSxHQUUxRCxFQURrQyxVQUFVLDBCQUEwQixHQUMxQixjQUFjLEVBQUcsVUFBVSxFQUN2RSxFQUE4QixVQUFVLDRCQUE0QixFQUFVLEtBQUssU0FBUyxHQUFHLElBQy9GLEVBQWlCLFlBQVksRUFBVSxHQUN2QyxFQUFxQyxJQUFJLEVBQU0sdUJBRXJELFdBQVcsRUFBUSxFQUFPLEVBQVUsR0FDcEMsNEJBQTRCLEVBQVksR0FDeEMsT0FBTywwQkFBMEIsRUFBNEIsR0FHakUsU0FBZ0Isa0JBQ1osT0FBTywyQkFBMkIsS0FBSyxXQUNuQyxLQUFLLFdBSWIsU0FBZ0IseUJBQXlCLEVBQTZCLEdBQ2xFLElBQU0sRUFBZ0IsU0FBQSxPQUFPLE1BQU0saUJBQWlCLFVBQVUsU0FBQSxHQUMxRCxPQUFBLEVBQUksS0FBTyxFQUFVLEtBRXpCLFNBQUEsT0FBTyxNQUFNLGlCQUFpQixHQUFPLEdBQUssRUFBUyxNQUNuRCxJQUFNLEVBQWdCLFVBQVUsOEJBQThCLEVBQVMsT0FFbkUsSUFDQSxTQUFBLE9BQU8sTUFBTSxpQkFBaUIsR0FBTyxHQUFLLEdBRTlDLG1CQUNBLFlBQVksaUJBRVosSUFBTSxFQUFNLHNCQUNaLE9BQU8sb0JBQW9CLEdBRy9CLFNBQWdCLG1CQUNaLE9BQUssU0FBQSxPQUFPLE1BQU0saUJBQWlCLFFBS25DLFNBQUEsT0FBTyxNQUFNLGFBQWUsZ0JBQ3JCLFNBQUEsT0FBTyxNQUFNLGVBTGhCLFNBQUEsT0FBTyxNQUFNLGFBQWUsSUFDckIsS0FRZixTQUFnQixvQkFDWixHQUFLLFNBQUEsT0FBTyxNQUFNLGlCQUFpQixPQUduQyxJQUFLLElBQU0sS0FBTyxTQUFBLE9BQU8sTUFBTSxpQkFBa0IsQ0FDN0MsR0FBSSxPQUFPLFVBQVUsZUFBZSxLQUFLLFNBQUEsT0FBTyxNQUFNLGlCQUFrQixHQUVwRSxRQURnQixTQUFBLE9BQU8sTUFBTSxpQkFBaUIsS0FNMUQsU0FBZ0IsZ0JBQ1osT0FBTyxzQkFBc0IsT0FDN0IsT0FBTyxjQUNQLE9BQU8sZUFHWCxTQUFnQixzQkFDWixHQUFLLFNBQUEsT0FBTyxNQUFNLGlCQUFpQixPQUFuQyxDQUdBLElBQU0sRUFBa0IsU0FBQSxPQUFPLE1BQU0sZ0JBQy9CLEVBQThCLFVBQVUsOEJBQzlDLE9BQVUsRUFBbUMsa0JBQUMsaUJBQWlCLEVBQWdCLGFBQVksUUFBUSxFQUFxQixJQUFDLDBCQUEwQixFQUFtQixpQkFHMUssU0FBUyxXQUFXLEVBQWtCLEVBQWlCLEVBQWdDLEdBQ25GLE9BQU8sMEJBQTBCLE9BQU8sbUNBQ1osRUFBUSxxRUFDd0IsRUFBTyxvREFDL0IsRUFBVSw0Q0FDZixFQUFTLHFHQU01QyxTQUFTLDRCQUE0QixFQUErQixHQUMzRCxHQUdMLEVBQWEsUUFBUSxTQUFBLEdBQ2IsRUFBSSxJQUNKLGFBQWEsRUFBWSxLQUlyQyxTQUFTLGFBQWEsRUFBb0IsR0FDdEMsSUFBTSxFQUFrQyxPQUFPLEdBQVksSUFBSSxHQUMzRCxFQUF5QixTQUFTLGNBQWMsVUFDcEQsRUFBSSxNQUFnQixFQUFNLEdBQzFCLEVBQUksVUFBZSxFQUFNLEdBQUUsS0FBSyxFQUFNLEdBQ3RDLEVBQW1CLFlBQVksR0FHbkMsU0FBUyxnQkFDTCxPQUFPLFNBQUEsT0FBTyxNQUFNLGlCQUFpQixJQUFJLGNBQ3BDLE9BQU8sU0FBQyxFQUFNLEdBQVMsT0FBQSxFQUFPLElBQzlCLFFBQVEsR0FHakIsU0FBUyxhQUFhLEdBQ2xCLElBQU0sRUFBaUIsRUFBSSxHQUNqQixFQUFzQixFQUFJLEdBRTFCLEVBRGtDLFNBQUEsT0FBTyxNQUFNLGlCQUFpQixHQUM1QixLQUFLLFNBQVMsR0FBRyxHQUNyRCxFQUEyQyxVQUFVLDZDQUE2QyxHQUV4RyxHQUFJLEVBQWUsQ0FDZixJQUFNLEVBQWdDLFVBQVUsc0JBQXNCLEVBQWEsR0FFbkYsR0FBSSxFQUNBLE9BQU8sRUFHZixPQUFPLEVBL0hmLFFBQUEsUUFBQSxRQWlCQSxRQUFBLGdCQUFBLGdCQU1BLFFBQUEseUJBQUEseUJBaUJBLFFBQUEsaUJBQUEsaUJBV0EsUUFBQSxrQkFBQSxrQkFZQSxRQUFBLGNBQUEsY0FNQSxRQUFBLG9CQUFBOzs7aUlDM0VBLElBQUEsU0FBQSxRQUFBLFlBRUEsU0FBZ0IsaUJBQ1osT0FBTyxnQ0FBZ0MsR0FBRyxVQUFZLG9CQUN0RCxPQUFPLG9DQUFvQyxHQUFHLFlBQWMseUJBR2hFLFNBQVMsb0JBQ0wsSUFBTSxFQUFxQixTQUFBLE9BQU8sTUFBTSxpQkFBaUIsT0FFekQsTUFBa0MsS0FBOUIsU0FBQSxPQUFPLE1BQU0sYUFDUyxJQUFmLEVBQXNCLEVBQVUsZ0JBQWdCLFNBQUEsT0FBTyxNQUFNLGFBQW9CLEVBQVUsaUJBQWlCLFNBQUEsT0FBTyxNQUFNLGFBRXpILHNCQUdmLFNBQVMseUJBQ0wsSUFBTSxFQUFxQixTQUFBLE9BQU8sTUFBTSxpQkFBaUIsT0FFekQsTUFBa0MsS0FBOUIsU0FBQSxPQUFPLE1BQU0sYUFDTixVQUFVLEVBQVUsYUFBYSxTQUFBLE9BQU8sTUFBTSxhQUU5Qyx5QkFHZixTQUFnQix1QkFBdUIsR0FDbEIsU0FBYixHQUNBLE9BQU8sMkJBQTJCLElBQUksaUJBQWtCLFFBQ3hELE9BQU8sZ0JBQWdCLE9BQ3ZCLE9BQU8sZ0NBQWdDLFNBQVMsY0FFOUIsU0FBYixJQUNMLE9BQU8sZ0JBQWdCLE9BQ3ZCLE9BQU8sZ0NBQWdDLFlBQVksYUFDbkQsT0FBTywyQkFBMkIsSUFBSSxpQkFBa0IsUUFoQ2hFLFFBQUEsZUFBQSxlQXVCQSxRQUFBLHVCQUFBOzs7czZCQ3pCQSxJQUFBLGNBQUEsYUFBQSxRQUFBLG9CQUNBLEdBQUEsYUFBQSxRQUFBLFNBQ0EsU0FBQSxRQUFBLFlBQ0EsUUFBQSxnQkFBQSxRQUFBLFlBQ0EsT0FBQSxhQUFBLFFBQUEsYUFFQSxJQUFBLGFBQUEsUUFBQSxVQUNBLE9BQUEsYUFBQSxRQUFBLGFBQ0EsT0FBQSxhQUFBLFFBQUEsYUFDQSxNQUFBLGFBQUEsUUFBQSxZQUNBLFVBQUEsYUFBQSxRQUFBLGdCQUNBLFFBQUEsYUFBQSxRQUFBLGNBQ0EsV0FBQSxhQUFBLFFBQUEsaUJBQ0EsS0FBQSxhQUFBLFFBQUEsV0FDQSxZQUFBLGFBQUEsUUFBQSxrQkFFQSxTQUFnQixZQUNaLEdBQUcsa0JBQWtCLFFBQ3JCLGNBQWMsa0JBQWtCLGtDQUdwQyxTQUFnQixpQkFBaUIsR0FDN0IsSUFBTSxFQUFrQixLQUFLLE1BQU0sRUFBSSxNQUN2QyxTQUFBLE9BQU8sTUFBTSxXQUFhLEVBQUssUUFBUSxhQUN2QyxJQUFNLEVBQVcsU0FBQSxPQUFPLE1BQU0sV0FHeEIsRUFBTSxHQUFHLHdCQUNmLFFBQUEsUUFBTSxPQUFPLEVBQUssWUFBYSxRQUcvQixJQUFNLEVBQVksT0FBTyxlQUN6QixHQUFHLGFBQWEsR0FHaEIsSUFBTSxFQUE4QixFQUFTLGVBQWUsR0FBRyxRQUMvRCxHQUFHLGdCQUFnQixFQUFnQixtQkFHbkMsSUFBTSxFQUFhLEVBQWUsR0FBRyxHQUFHLEdBQ3hDLE9BQU8sb0JBQW9CLElBQUksR0FDL0IsY0FBYyxlQUFlLEdBRTdCLFFBQUEsUUFBTSxXQUFXLEdBQ2pCLFFBQUEsUUFBTSxXQUFXLEdBR3JCLFNBQWdCLHdCQUF3QixHQUNwQyxJQUFNLEVBQWtCLEtBQUssTUFBTSxFQUFJLE1BQ3ZDLFNBQUEsT0FBTyxNQUFNLGdCQUFrQixFQUFLLFFBQ3BDLEdBQUcsbUJBQ0gsY0FBYyxrQkFBa0IsMkJBSXBDLFNBQWdCLGVBQWUsR0FDM0IsSUFBTSxFQUFrQixLQUFLLE1BQU0sRUFBSSxNQUN2QyxTQUFBLE9BQU8sTUFBTSxXQUFhLEVBQUssUUFBUSxhQUN2QyxJQUFNLEVBQWdCLElBQUksY0FDcEIsRUFBdUIsSUFBSSxnQkFDM0IsRUFBb0IsSUFBSSxXQUN4QixFQUFzQixJQUFJLGVBQWUsbUJBRS9DLElBQUksV0FBVyx5QkFBMEIsRUFBSyxFQUFZLEVBQU8sR0FDakUsSUFBSSxzQkFDSixJQUFJLG9CQUNKLE9BQU8sd0JBQXdCLGtCQUMvQixPQUFPLHVCQUF1QixtQkFDOUIsTUFBTSxXQUNOLFVBQVUsY0FDVixTQUFBLE9BQU8sTUFBTSxRQUFVLFFBQVEsV0FBVyx5QkFBMEIsaUJBQWtCLGtCQUFtQixxQkFDekcsR0FBRyxrQkFBa0IsUUFDckIsV0FBVyxxQkFHZixTQUFnQixxQkFBcUIsR0FDakMsSUFBTSxFQUFrQixLQUFLLE1BQU0sRUFBSSxNQUt2QyxHQUpBLFNBQUEsT0FBTyxNQUFNLHFCQUF1QixFQUFLLFFBQVEscUJBRWpELFFBQUEsUUFBTSxXQUFXLEVBQUssU0FFakIsU0FBQSxPQUFPLE1BQU0scUJBSWIsQ0FDRCxLQUFLLGtCQUNMLEtBQUssb0JBQ0wsSUFBTSxFQUFNLEtBQUssc0JBQ2pCLE9BQU8sb0JBQW9CLEdBQzNCLEdBQUcsa0JBQ0gsWUFBWSx1QkFBdUIsYUFUbkMsV0FBVyxlQUFlLHdFQUMxQixZQUFZLHVCQUF1QixRQVd2QyxTQUFBLE9BQU8sTUFBTSxhQUFjLEVBRy9CLFNBQWdCLGtCQUNaLElBQU0sRUFBNkIsU0FBQSxPQUFPLE9BQ3BDLEVBQVksU0FBQSxPQUFPLFVBQVUsR0FFbkMsUUFBQSxRQUFNLE9BQU8sRUFBVSxJQUFLLEtBQU0sUUFDbEMsUUFBQSxRQUFNLE9BQU8sRUFBVSxPQUFRLE1BQU8sUUFDdEMsUUFBQSxRQUFNLE9BQU8sRUFBVSxZQUFhLE1BQU8sUUFDM0MsUUFBQSxRQUFNLE9BQU8sRUFBVSxTQUFVLE1BQU8sUUF4RjVDLFFBQUEsVUFBQSxVQUtBLFFBQUEsaUJBQUEsaUJBMEJBLFFBQUEsd0JBQUEsd0JBUUEsUUFBQSxlQUFBLGVBb0JBLFFBQUEscUJBQUEscUJBc0JBLFFBQUEsZ0JBQUE7OzswOEJDaEdBLElBQUEsUUFBQSxnQkFBQSxRQUFBLFVBQ00sYUFBZSxRQUFRLFVBQVUsWUFDdkMsR0FBQSxhQUFBLFFBQUEsU0FDQSxTQUFBLFFBQUEsWUFDQSxLQUFBLGFBQUEsUUFBQSxXQUNBLFFBQUEsZ0JBQUEsUUFBQSxZQUdBLFNBQWdCLFlBQVksRUFBbUIsR0FDM0MsR0FBYSxXQUFULEVBQ0EsT0FBTyxPQUFPLFlBQVksS0FBSyxVQUFVLEdBQVMsU0FDakQsQ0FDRCxJQUFNLEVBQWEsU0FBUyxlQUFlLEdBRTdCLE9BQVYsR0FBMEMsT0FBeEIsRUFBTSxlQUN4QixFQUFNLGNBQWMsWUFBWSxLQUFLLFVBQVUsR0FBUyxNQUlwRSxTQUFnQixpQkFBaUIsR0FDN0IsT0FBTyxpQkFBaUIsVUFBVyxTQUFDLEdBQ2hDLEVBQVUsS0FJbEIsU0FBZ0IsUUFBUSxFQUFlLEVBQWMsRUFBaUIsRUFBZ0IsUUFBQSxJQUFBLElBQUEsRUFBaUIsS0FBSyxPQUN4RyxjQUFjLEdBQU8sS0FBSyxTQUFDLEdBT3ZCLFlBTjJCLENBQ3ZCLEtBQU0sRUFDTixLQUFNLEVBQ04sUUFBUyxFQUNULE1BQU8sR0FFVSxLQUVwQixNQUFNLFNBQVUsR0FDYixRQUFRLE1BQU0sS0FJMUIsU0FBZ0IsaUJBQWlCLEdBTzdCLFlBTjJCLENBQ3ZCLFFBQVMsS0FDVCxLQUFNLFNBQ04sTUFBTyxFQUNQLEtBQU0sS0FBSyxPQUVNLGlCQUd6QixTQUFnQixrQkFBa0IsR0FPOUIsWUFOMkIsQ0FDdkIsUUFBUyxLQUNULEtBQU0sUUFDTixNQUFPLEVBQ1AsS0FBTSxLQUFLLE9BRU0sVUFHekIsU0FBZ0IsZUFBZSxHQU8zQixZQU4yQixDQUN2QixRQUFTLEVBQ1QsS0FBTSxRQUNOLE1BQU8sdUJBQ1AsS0FBTSxLQUFLLE9BRU0sVUFHekIsU0FBZ0IsZUFBZSxHQUczQixNQUFNLEVBQU8sQ0FDVCxTQUFVLFdBRVQsS0FBSyxXQUFNLE9BQUEsUUFBQSxRQUFNLFdBQWMsRUFBSyxlQUNwQyxNQUFNLFNBQUMsR0FBVSxPQUFBLFFBQUEsUUFBTSxXQUFXLEtBRzNDLFNBQWdCLHdCQUNaLE9BQU8sc0JBQXNCLE9BRXhCLFNBQUEsT0FBTyxNQUFNLGlCQUFpQixVQUduQyxHQUFHLG9CQVlILFlBVDJCLENBQ3ZCLFFBQVMsQ0FDTCxJQUp3QixLQUFLLHVCQU1qQyxLQUFNLFFBQ04sTUFBTyw2QkFDUCxLQUFNLEtBQUssT0FHTSxXQUd6QixTQUFTLGNBQWMsR0FDbkIsT0FBTyxRQUFBLFFBQU0sSUFBSSxHQUNaLEtBQUssU0FBQyxHQUNILE9BQU8sSUFBSSxRQUFRLFNBQUMsRUFBYyxHQUM5QixJQUFNLEVBQStCLEVBQ1IsTUFBekIsRUFBYyxRQUE0RCwyQkFBMUMsRUFBYyxRQUFRLGlCQUN0RCxhQUFhLEVBQWMsS0FDdkIsQ0FBRSxlQUFlLEVBQU0sV0FBVyxFQUFNLFlBQVksR0FDcEQsU0FBQyxFQUFVLEdBQ0gsRUFDQSxFQUFPLEdBRVAsRUFBUSxTQUsvQixNQUFNLFNBQUMsR0FBVSxPQUFBLFFBQUEsUUFBTSxXQUFXLEtBOUczQyxRQUFBLFlBQUEsWUFXQSxRQUFBLGlCQUFBLGlCQU1BLFFBQUEsUUFBQSxRQWVBLFFBQUEsaUJBQUEsaUJBVUEsUUFBQSxrQkFBQSxrQkFVQSxRQUFBLGVBQUEsZUFVQSxRQUFBLGVBQUEsZUFVQSxRQUFBLHFCQUFBOzs7MEZDL0VhLFFBQUEsT0FBbUIsQ0FDNUIsa0JBQWtCLEVBQ2xCLE9BQU8sRUFDUCxPQUFRLFNBQ1IsUUFBUyxRQUNULGlCQUFrQixHQUNsQixVQUFXLENBQ1AsT0FBUSxDQUNKLFFBQVMsK0JBQ1QsSUFBSyxpRkFDTCxTQUFVLGdEQUNWLE9BQVEsOEVBQ1IsVUFBVywrQ0FDWCxZQUFhLDhEQUNiLFFBQVMsc0RBRWIsUUFBUyxDQUNMLFFBQVMsdUNBQ1QsSUFBSyx5RkFDTCxTQUFVLHdEQUNWLE9BQVEsc0ZBQ1IsVUFBVyx1REFDWCxZQUFhLDhEQUNiLFFBQVMsK0RBR2pCLE1BQU8sQ0FDSCxhQUFjLEdBQ2QsYUFBYSxFQUNiLGlCQUFrQixHQUNsQixpQkFBa0IsR0FDbEIsV0FBWSxHQUNaLHNCQUFzQixFQUN0QixxQkFBaUIsRUFDakIsYUFBUyxFQUNULGFBQVMsRUFDVCxnQkFBWSxFQUNaLGdCQUFZOzs7bzVCQ3ZDcEIsSUFBQSxjQUFBLGFBQUEsUUFBQSxvQkFDQSxHQUFBLGFBQUEsUUFBQSxTQUNBLFNBQUEsUUFBQSxZQUVBLElBQUEsYUFBQSxRQUFBLFVBQ0EsS0FBQSxhQUFBLFFBQUEsV0FDQSxPQUFBLGFBQUEsUUFBQSxhQUNBLFdBQUEsYUFBQSxRQUFBLGlCQUVBLFNBQWdCLGdCQUNaLElBQU0sRUFBeUMsT0FBTyxrQkFBa0IsSUFBSSxHQUN4RSxHQUNBLEVBQWMsaUJBQWlCLFFBQVMsV0FBTSxPQUFBLGNBQWMsa0JBQWtCLHVCQUd0RixTQUFnQixxQkFDWixJQUFNLEVBQXNDLFNBQVMsZUFBZSxtQkFFaEUsR0FDQSxFQUFnQixpQkFBaUIsU0FBVSxXQUN2QyxHQUFHLGtCQUFrQixRQUNyQixHQUFHLHNCQUFzQiwwQkFDekIsY0FBYyxlQUFlLEtBQUssU0FLOUMsU0FBZ0IsZUFDWixJQUFNLEVBQW1DLE9BQU8sMkJBQTJCLElBQUksR0FFM0UsR0FDQSxFQUFRLGlCQUFpQixRQUFTLFdBQ3pCLFNBQUEsT0FBTyxNQUFNLGlCQUFpQixPQUUxQixTQUFBLE9BQU8sTUFBTSxZQUNsQixjQUFjLHdCQUNSLFNBQUEsT0FBTyxNQUFNLGFBQWUsU0FBQSxPQUFPLE1BQU0scUJBQy9DLEdBQUcsa0JBQ0csU0FBQSxPQUFPLE1BQU0sYUFBZ0IsU0FBQSxPQUFPLE1BQU0sc0JBQ2hELFdBQVcsZUFBZSx3RUFOMUIsV0FBVyxlQUFlLGdEQVcxQyxTQUFnQixvQkFBb0IsR0FDaEMsR0FBSyxFQUFMLENBR0EsSUFBTSxFQUFjLE9BQU8sMkNBQTJDLElBQUksR0FDdEUsR0FDQSxFQUFZLGlCQUFpQixRQUFTLFdBQ2xDLElBQU0sRUFBcUIsQ0FDdkIsUUFBUyxDQUNMLElBQUssR0FFVCxLQUFNLFFBQ04sTUFBTyx1QkFDUCxLQUFNLEtBQUssT0FFZixjQUFjLFlBQVksRUFBUyxhQUsvQyxTQUFnQixlQUNaLElBQU0sRUFBd0IsT0FBTyx1Q0FBdUMsSUFBSSxHQUM1RSxHQUNBLEVBQVMsaUJBQWlCLFFBQVMsV0FBTSxPQUFBLGNBQWMsa0JBQWtCLGdDQUdqRixTQUFnQixjQUNaLElBQU0sRUFBdUIsT0FBTyx5Q0FBeUMsSUFBSSxHQUM3RSxHQUNBLEVBQVEsaUJBQWlCLFFBQVMsV0FBTSxPQUFBLE9BQU8sdUNBQXVDLFFBQVEsV0FHdEcsU0FBZ0IsdUJBQXVCLEdBQ25DLElBQU0sRUFBZSxTQUFBLE9BQU8sTUFBTSxRQUNFLE9BQU8sR0FBWSxJQUFJLEdBRTVDLGlCQUFpQixTQUFVLFdBQ3RDLElBQU0sRUFBZ0IsS0FBSyxNQUNyQixFQUFvQixLQUFLLEVBRS9CLE9BQU8sNEJBQTRCLEVBQVksRUFBTyxHQUV4QyxRQUFWLEdBQ0EsRUFBUSxLQUFLLGVBQWUsT0FBTyxhQUNuQyxJQUFJLHdCQUdKLEVBQVEsS0FBSyxhQUFhLE9BQU8sZUFDakMsSUFBSSx5QkFBeUIsR0FDN0IsSUFBSSx5QkFLaEIsU0FBZ0IsMEJBQTBCLEVBQW9CLEdBRTFELE9BQU8sR0FBWSxHQUFHLFNBQVUsV0FDNUIsS0FBSyx5QkFBeUIsS0FBTSxLQUk1QyxTQUFnQixpQkFDWixPQUFPLGdCQUFnQixHQUFHLFFBQVMsV0FDMUIsU0FBQSxPQUFPLGtCQUNSLGNBQWMsaUJBQWlCLHFCQUVuQyxPQUFPLGNBQWMsSUFBSSxXQUFZLFVBQ3JDLE9BQU8sa0JBQWtCLE9BQU8sVUF0R3hDLFFBQUEsY0FBQSxjQU1BLFFBQUEsbUJBQUEsbUJBWUEsUUFBQSxhQUFBLGFBaUJBLFFBQUEsb0JBQUEsb0JBb0JBLFFBQUEsYUFBQSxhQU1BLFFBQUEsWUFBQSxZQU1BLFFBQUEsdUJBQUEsdUJBc0JBLFFBQUEsMEJBQUEsMEJBT0EsUUFBQSxlQUFBOzs7aTBCQ3pHQSxJQUFBLE9BQUEsZ0JBQUEsUUFBQSxTQUNBLFNBQUEsUUFBQSxZQUNBLFVBQUEsYUFBQSxRQUFBLGdCQUVBLFNBQWdCLGVBQWUsRUFBbUIsUUFBQSxJQUFBLElBQUEsRUFBQSxLQUM5QyxJQUFJLE9BQUEsUUFBZ0IsU0FBVSxDQUMxQixTQUFVLENBQUUsRUFBRyxTQUFVLEVBQUcsT0FDNUIsT0FBUSxDQUFFLEVBQUcsRUFBRyxFQUFHLEtBQ25CLFFBQVMsRUFDVCxVQUFXLEVBQ1gsVUFBVyxDQUFFLEtBQU0sU0FBVSxNQUFPLFdBQ3BDLFlBQVksRUFDWixhQUFhLEVBQ2IsbUJBQW1CLEVBQ25CLGNBQWMsRUFDZCxXQUFXLEVBQ1gsTUFBTyxNQUNQLE9BQU8sRUFDUCxlQUFlLEVBQ2YsWUFBWSxFQUNaLGlCQUFpQixFQUNqQixrQkFBa0IsSUFJMUIsU0FBZ0IscUJBQ1osSUFBSSxPQUFBLFFBQWlCLFVBQVcsQ0FDNUIsT0FBUSxPQUFPLG9CQUNmLE9BQVEsV0FDSixnQkFBZ0IsU0FLNUIsU0FBUyxnQkFBZ0IsR0FDckIsSUFBTSxFQUFpQixFQUFLLE9BQU8sR0FBRyxHQUNoQyxFQUFlLFNBQUEsT0FBTyxNQUFNLFdBQVcsR0FBUSxHQUMvQyxFQUFjLFNBQUEsT0FBTyxNQUFNLFdBQVcsR0FBUSxHQUM5QyxFQUFvQixTQUFBLE9BQU8sTUFBTSxXQUFXLEdBQVEsR0FFcEQsRUFEa0MsVUFBVSwwQkFBMEIsR0FDL0IsY0FBYyxFQUFHLFVBQVUsRUFFeEUsRUFBSyxXQUFXLEdBdENwQixRQUFBLGVBQUEsZUFxQkEsUUFBQSxtQkFBQTs7OzRnQ0N4QkEsSUFBQSxTQUFBLFFBQUEsWUFDQSxNQUFBLGFBQUEsUUFBQSxZQUNBLEtBQUEsYUFBQSxRQUFBLFdBQ0EsWUFBQSxhQUFBLFFBQUEsa0JBQ0EsUUFBQSxnQkFBQSxRQUFBLFlBRUEsU0FBZ0IsV0FDWixJQUNNLEVBRGtCLFNBQUEsT0FBTyxNQUFNLFdBQ21CLFFBQVEsR0FBRyxrQkFBa0IsR0FBRyxXQUNwRixFQUErQixHQUVuQyxJQUFLLElBQUksS0FBTyxFQUFlLENBQzNCLElBQU0sRUFBd0IsQ0FDMUIsUUFBVyxJQUFJLEVBQWMsR0FBSyxHQUFHLEdBQ3JDLFNBQVksRUFBYyxJQUc5QixFQUR5QixPQUFPLGFBQWEsR0FBSyxTQUFTLElBQU0scUJBQ3BDLEVBR2pDLE9BQU8sRUFHWCxTQUFnQix5QkFBeUIsU0FDL0IsRUFBa0IsU0FBQSxPQUFPLE1BQU0sV0FDL0IsRUFBZSxTQUFBLE9BQU8sTUFBTSxRQUc1QixFQUVKLFFBRnFDLEVBRk0sRUFBVyxRQUFRLEdBQUcsa0JBQWtCLEdBQUcsV0FFbkMsS0FBSyxTQUFBLEdBQ3RELE9BQU8sRUFBSSxHQUFHLEtBQU8sV0FDdkIsSUFBQSxPQUFBLEVBQUEsRUFBRSxLQUFLLEdBQUcsTUFBTSxLQUVsQixFQUFRLE9BQU8sRUFBVSxhQUc3QixTQUFnQixnQkFDWixJQUNNLEVBRGtCLFNBQUEsT0FBTyxNQUFNLFdBQ00sUUFBUSxHQUFHLFFBQVEsR0FBRyxPQUFPLEdBQ2xFLEVBQWlCLFNBQVMsRUFBTyxPQUFPLElBQ3hDLEVBQXNCLE1BQU0sS0FBSyxDQUFFLE9BQVEsR0FBVSxTQUFDLEdBQU0sTUFBQSxLQVdsRSxPQVZnQyxFQUFPLEtBQUssR0FBRyxJQUV2QyxRQUFRLFNBQUEsR0FDWixJQUFNLEVBQWdCLFNBQVMsRUFBUSxhQUFhLElBRzlDLEVBRG9CLGFBREMsRUFBUSxNQUFNLEdBQUcsTUFBTSxLQUNGLElBQ3BCLEdBQzVCLEVBQVUsR0FBUyxJQUdoQixFQUdYLFNBQWdCLGNBQ1osSUFBTSxFQUFrQixTQUFBLE9BQU8sTUFBTSxXQUMvQixFQUEwQixFQUFXLFFBQVEsR0FBRyxRQUFRLEdBQUcsT0FBTyxHQUNsRSxFQUF1QixFQUFPLEtBQUssR0FBRyxJQUN0QyxFQUF1QyxFQUFXLFFBQVEsR0FBRyxrQkFBa0IsR0FBRyxXQUNsRixFQUFxQyxFQUFXLFFBQVEsR0FBRyxXQUFXLEdBQUcsVUFBVSxHQUFHLGFBQWEsR0FHckcsRUFBd0IsZ0JBQ3hCLFNBQVMsRUFBTyxPQUFPLElBQ3ZCLFNBQVMsRUFBTyxNQUFNLElBQ3RCLEtBSUosT0FEQSxFQUFZLG1CQUFtQixFQUFNLEVBQVcsRUFBZSxJQUM5QyxJQUFJLFNBQUEsR0FBVyxPQUFBLEVBQVEsS0FBSyxNQUdqRCxTQUFnQixlQUFlLEdBQzNCLElBQU0sRUFBa0IsU0FBQSxPQUFPLE1BQU0sV0FDL0IsRUFBdUIsU0FBQSxPQUFPLE1BQU0sV0FDcEMsRUFBdUMsRUFBVyxRQUFRLEdBQUcsa0JBQWtCLEdBQUcsV0FDbEYsRUFBc0MsRUFBUyxNQUFNLEdBQUcsWUFBWSxHQUFHLFdBRTdFLE1BQW9CLENBQ2hCLEtBQU0sT0FBTyxHQUNiLE1BQU8sa0JBQWtCLEVBQWUsSUFNaEQsU0FBZ0Isc0JBQ1osSUFBTSxFQUFrQixTQUFBLE9BQU8sTUFBTSxXQUMvQixFQUFlLFNBQUEsT0FBTyxNQUFNLFFBQzVCLEVBQXFDLEVBQVcsUUFBUSxHQUFHLFdBQVcsR0FBRyxVQUFVLEdBQUcsYUFBYSxHQUV6RyxHQUF5RCxLQUFyRCxFQUFnQiw4QkFBOEIsR0FBVyxDQUN6RCxJQUFNLEVBQTJCLEVBQWdCLDhCQUE4QixHQUFHLE1BQU0sS0FDeEYsRUFBUSxPQUFPLEVBQWdCLGdCQUl2QyxTQUFnQixZQUFZLEVBQWtCLEdBQzFDLElBQUssSUFBSSxLQUFPLEVBQ1osR0FBSSxFQUFnQixHQUFLLEtBQUssR0FBRyxTQUFTLEdBQ3RDLE9BQU8sT0FBTyxhQUFhLEdBQUssU0FBUyxJQUFNLG9CQU0zRCxTQUFnQixhQUFhLEdBQ3pCLE9BQU8sRUFBVSxNQUFNLEtBQUssSUFBSSxTQUFDLEdBQVMsT0FBQSxFQUFLLFNBR25ELFNBQWdCLGdCQUFnQixFQUFtQixFQUFtQixHQUNsRSxPQUFPLE1BQU0sR0FBVyxLQUFLLE1BQU0sSUFBSSxXQUFNLE9BQUEsTUFBTSxHQUFXLEtBQUssS0FHdkUsU0FBZ0Isb0JBQ1osSUFBTSxFQUFlLFNBQUEsT0FBTyxNQUFNLFFBQ2xDLFNBQUEsT0FBTyxNQUFNLGlCQUFpQixRQUFRLFNBQUEsR0FDbEMsSUFBTSxFQUFpQixFQUFJLEdBRXZCLEVBQVEsSUFBSSxJQUNaLEVBQVEsT0FBTyxFQUFRLGNBSW5DLFNBQWdCLFdBQVcsRUFBb0IsRUFBaUIsRUFBd0IsRUFBcUIsR0FDekcsSUFBTSxFQUE4QixPQUFRLE9BQU8sR0FFbkQsU0FBQSxPQUFPLE1BQU0sUUFBVSxFQUFpQixXQUFXLENBQy9DLE9BQVEsQ0FDSixLQUFLLEVBQ0wsTUFBTSxFQUNOLEtBQU0sR0FFVixJQUFLLEVBQ0wsTUFBTyxFQUNQLE9BQVEsRUFDUixNQUFPLFdBQ0gsT0FBTyxZQUFZLFNBSy9CLFNBQVMsa0JBQWtCLEVBQXNDLEdBQzdELE9BQU8sRUFBYyxJQUFJLFNBQUMsRUFBSyxTQUNyQixFQUFhLEVBQUksR0FBRyxHQUkxQixNQUFPLENBSGtCLE9BQU8sYUFBYSxHQUFLLEdBQU8sb0JBR3ZDLGFBRitELFFBQWhELEVBQUEsRUFBbUIsS0FBSyxTQUFBLEdBQU8sT0FBQSxFQUFJLEdBQUcsS0FBTyxXQUFHLElBQUEsT0FBQSxFQUFBLEVBQUUsS0FBSyxJQUNyRCxLQUFLLEVBQWMsR0FBTyxVQUFVLE1BSy9FLFNBQVMsbUJBQW1CLEVBQXdCLEVBQXlCLEVBQXdDLEdBQ2pILElBQU0sRUFBeUIsRUFBa0IsMEJBQTBCLEdBQUcsTUFBTSxLQUM5RSxFQUEyQixFQUFrQiw4QkFBOEIsR0FBRyxNQUFNLEtBc0MxRixPQXBDQSxFQUFPLFFBQVEsU0FBQSxHQUNYLElBQU0sRUFBb0IsRUFDcEIsRUFBWSxTQUFTLEVBQUksYUFBYSxJQUFNLEVBQ3ZCLEVBQUksTUFBTSxHQUFHLE1BQU0sS0FFckMsUUFBUSxTQUFBLEdBQ2IsSUFJTSxFQUFvQixhQUpGLEdBY3hCLEdBQUssRUFBYSxTQUFTLEVBQVEsS0FBUSxFQUFlLFNBQVMsRUFBUSxJQUEzRSxDQUlBLElBQU0sRUFBWSxTQUFTLEVBQVEsSUFBTSxFQUNuQyxFQUErQixZQUFZLEVBQVEsR0FBSSxHQUV6RCxJQUNBLEVBQVksR0FBRyxHQUFRLEVBQVEsSUFBSSxFQUFRLEdBQUUsT0FJakQsU0FBQSxPQUFPLE1BQU0sV0FBVyxFQUFRLElBQU0sT0FJdkMsRUFHWCxTQUFTLFlBQVksR0FDakIsTUFBMEIsYUFBdEIsRUFBVSxTQUNILG1CQUFtQixHQUVFLGFBQXZCLEVBQVUsU0FDUixvQkFBb0IsR0FFQSxlQUF0QixFQUFVLFNBQ1IsY0FHQSxFQUFVLFFBSXpCLFNBQVMsbUJBQW1CLEdBQ3hCLElBQU0sRUFBa0MsRUFBVSxTQUlsRCxPQUZBLFFBQUEsUUFBTSxXQUFXLEdBRWIsTUFBTSw0QkFBNEIsR0FDM0IsYUFFWCxNQUFNLGVBQWUsR0FDckIsS0FBSyxtQkFDTCxZQUFZLGlCQUVMLFlBR1gsU0FBUyxvQkFBb0IsR0FDekIsSUFBTSxFQUFrQyxFQUFVLFNBS2xELE9BSkEsTUFBTSxvQkFBb0IsR0FDMUIsS0FBSyxtQkFDTCxZQUFZLGlCQUVMLFlBaE9YLFFBQUEsU0FBQSxTQWlCQSxRQUFBLHlCQUFBLHlCQVlBLFFBQUEsY0FBQSxjQWtCQSxRQUFBLFlBQUEsWUFrQkEsUUFBQSxlQUFBLGVBY0EsUUFBQSxvQkFBQSxvQkFXQSxRQUFBLFlBQUEsWUFTQSxRQUFBLGFBQUEsYUFJQSxRQUFBLGdCQUFBLGdCQUlBLFFBQUEsa0JBQUEsa0JBVUEsUUFBQSxXQUFBOzs7YUM1SEEsU0FBZ0Isd0JBQXdCLEdBQ3BDLE9BQU8sNEJBQTRCLEtBQUssV0FDcEMsSUFBSSxFQUFvQyxPQUFPLFNBQVMsY0FBYyxXQUNqRSxhQUNHLE9BQU8sTUFBTSxRQUdyQixFQUFPLEtBQUssQ0FBRSxHQUFJLElBQ2xCLHdCQUF3QixHQUN4QixvQkFBb0IsS0FBTSxLQUlsQyxTQUFTLG9CQUFvQixFQUFzQixHQUMvQyxPQUFPLE1BQU8sR0FBUyxLQUFLLFdBQ3hCLElBQU0sRUFBb0IsT0FBTyxNQUFNLEdBQUcsU0FBUyxHQUFHLFVBQVUsR0FDMUQsRUFBYyxFQUFVLFVBQVUsR0FDbEMsRUFBNkIsT0FBTyxNQUFNLEdBQUcsU0FBUyxHQUFJLFVBRWhFLG1CQUFtQixFQUFVLEVBQVcsRUFBSyxLQUlyRCxTQUFTLG1CQUFtQixFQUFxQyxFQUFtQixFQUFhLEdBQzdGLElBQUksRUFBb0MsT0FBTyxhQUMvQyxFQUFPLEtBQUssQ0FBRSxNQUFTLEVBQUssTUFBUyxJQUFhLEtBQUssR0FDdkQsRUFBUyxPQUFPLEdBR3BCLFNBQVMsd0JBQXdCLEdBQzdCLElBQUksRUFBb0MsT0FBTyxhQUMvQyxFQUFPLEtBQUssQ0FBRSxNQUFTLFFBQVMsS0FBSyx3QkFDckMsRUFBTyxJQUFJLFFBQVMsV0FDcEIsRUFBUyxPQUFPLEdBR3BCLFNBQWdCLDRCQUE0QixFQUFvQixFQUFpQixHQUM3RSxJQUFJLEVBQWtCLFVBQ2xCLEVBQWdCLFVBRUosUUFBWixJQUNBLEVBQVEsUUFDUixFQUFVLE9BQU8sR0FBYSxJQUFJLHFCQUd0QyxPQUFPLEdBQVksSUFBSSxRQUFTLEdBQ2hDLE9BQU8sR0FBWSxJQUFJLG1CQUFvQixHQUMzQyxPQUFVLEVBQVUsd0JBQXdCLElBQUksUUFBUyxxSUEvQzdELFFBQUEsd0JBQUEsd0JBb0NBLFFBQUEsNEJBQUE7Ozs0TkNwQ0EsSUFBQSxVQUFBLGdCQUFBLFFBQUEscUJBRUEsU0FBQSxRQUFBLFlBRUEsU0FBZ0IsV0FBVyxFQUFvQixFQUE2QyxFQUE4QyxRQUEzRixJQUFBLElBQUEsT0FBQSxRQUE2QyxJQUFBLElBQUEsT0FBQSxRQUE4QyxJQUFBLElBQUEsT0FBQSxHQUN0SSxJQUFNLEVBQXlCLE9BQU8sR0FBWSxJQUFJLEdBRXRELEdBQUksRUFBVyxDQUNYLElBQU0sRUFBeUIsVUFBQSxRQUFRLEVBQVcsQ0FDOUMsU0FBVSxFQUNWLFNBQVMsRUFDVCxTQUFVLFNBQ1YsV0FBWSxTQUloQixPQURBLGlCQUFpQixFQUFhLEVBQWMsRUFBZ0IsRUFBVSxjQUFnQixHQUMvRSxHQU1mLFNBQVMsaUJBQWlCLEVBQWlDLEVBQWtDLEVBQW9DLEVBQThCLEdBQ3RJLENBQ2pCLENBQUUsU0FBVSxFQUFhLGdCQUFpQixFQUFRLE9BQVEsS0FBTSxTQUNoRSxDQUFFLFNBQVUsRUFBYyxnQkFBaUIsRUFBUSxRQUFTLEtBQU0sU0FDbEUsQ0FBRSxTQUFVLEVBQWdCLGdCQUFpQixFQUFRLE1BQU8sS0FBTSxTQUNsRSxDQUFFLFlBQWEsRUFBaUIsZ0JBQWlCLEVBQVEsY0FBZSxLQUFNLFVBR3JFLElBQUksU0FBQSxHQUNiLEdBQUksRUFBTSxTQUFVLENBQ2hCLElBQU0sRUFBK0IsT0FBTyxFQUFNLFVBQVUsSUFBSSxHQUM1RCxHQUNBLEVBQUksaUJBQWlCLEVBQU0sS0FBTSxFQUFNLHNCQUV0QyxFQUFNLGFBQ1EsVUFBZixFQUFNLE1BQ04sRUFBTSxZQUFZLGlCQUFpQixFQUFNLEtBQU0sRUFBTSxtQkFLckUsU0FBZ0Isb0JBQW9CLFNBRVQsUUFBdkIsRUFEK0IsT0FBTyxHQUFZLElBQUksR0FDNUMscUJBQWEsSUFBQSxHQUFBLEVBQUUsb0JBQW9CLFFBQVMsU0FBQSxPQUFPLE1BQU0sUUFBUyxlQXpDaEYsUUFBQSxXQUFBLFdBdUNBLFFBQUEsb0JBQUE7OzswakJDMUNBLElBQUEsU0FBQSxRQUFBLFlBQ0ksT0FBUyxRQUFRLFVBQ3JCLFFBQUEsZ0JBQUEsUUFBQSxZQUVBLFNBQWdCLG1CQUNaLElBQUksRUFBb0IsR0FLeEIsT0FKQSxPQUFPLGVBQWUsS0FBSyxXQUN2QixFQUFRLEtBQUssT0FBTyxNQUFNLFVBR3ZCLEVBQVEsS0FBSyxNQUd4QixTQUFnQixVQUFVLEdBQ3RCLElBQU0sRUFBcUIsT0FBTyxVQUFVLEdBQ3hDLEVBQW1CLEdBVXZCLE9BUkEsT0FBTyxHQUFZLEtBQUssU0FBUyxLQUFLLFdBQ2xDLElBQU0sRUFBZSxLQUFLLEtBQ3BCLEVBQWdCLEtBQUssTUFFYixLQUFWLElBQ0EsRUFBTyxHQUFRLEtBR2hCLEVBSVgsU0FBZ0IsbUJBQ1osR0FBSSxPQUFPLG1CQUFtQixPQUFRLENBQ2xDLElBQU0sRUFBK0IsT0FBTyxtQkFBbUIsR0FBRyxZQUVsRSxHQUFJLE1BQUEsT0FBYSxFQUFiLEVBQWUsT0FBTyxPQUV0QixNQUF5QixDQUNyQixjQUFpQixFQUNqQixxQkFIaUMsbUJBQW1CLEtBV3BFLFNBQWdCLG9CQUFvQixHQUNoQyxJQUFNLEVBQVEsRUFBVSxNQUFNLGlCQUFrQixHQUMxQyxFQUFXLEVBQVUsTUFBTSxvQkFBcUIsR0FDaEQsRUFBYSxFQUFVLE1BQU0sbUJBQW9CLEdBQ2pELEVBQW9CLG1CQUFtQixHQUN2QyxFQUFVLG1CQUFzQixFQUFVLFVBQVUsRUFBSyxhQUFhLEVBQVEsNkVBQzlFLEVBQWdCLG1CQUNoQixFQUF1QixFQUFrQixNQUFNLEtBQUssR0FBRyxNQUFNLEtBQUssTUFBTSxHQUFHLEdBQUcsS0FBSyxLQUFJLGtCQUU3RixNQUFrQixDQUNkLE1BQVMsRUFDVCxTQUFZLEVBQ1osV0FBYyxFQUNkLGtCQUFxQixFQUNyQixRQUFXLEVBQ1gsY0FBaUIsRUFDakIsa0JBQXFCLEdBSTdCLFNBQWdCLGdCQUNaLElBQU0sRUFBd0IsT0FBTyx5QkFBeUIsSUFBSSxHQUVsRSxHQUFJLEVBQ0EsTUFBc0IsQ0FDbEIsY0FBZSxFQUFJLElBQ25CLGlCQUFrQixFQUFJLE9BQ3RCLGdCQUFpQixFQUFJLE9BT2pDLFNBQWdCLFVBQ1osR0FBSyxPQUFPLG9CQUFvQixPQUFoQyxDQUdBLElBRU0sRUFGYyxPQUFPLHNCQUFzQixLQUFLLFdBRVgsTUFEaEMsNEJBR1gsT0FBTyxFQUFRLEVBQU0sUUFBSyxHQUc5QixTQUFnQixlQUNaLElBQU0sRUFBdUIsU0FBQSxPQUFPLE1BQU0sV0FDcEMsRUFBMkIsRUFBUyxjQUFjLEdBQUcsa0JBQWtCLEdBQUcsUUFDMUUsRUFBb0IsRUFBUyxNQUFNLEdBQ25DLEVBQWlCLEVBQVMsTUFBTSxHQUNoQyxFQUE4QixFQUFTLGFBQWEsR0FDcEQsRUFBZ0IsSUFBSSxLQUFLLFNBQVMsRUFBTSxLQUFLLElBQUssU0FBUyxFQUFNLE1BQU0sSUFBTSxFQUFHLFNBQVMsRUFBTSxJQUFJLElBQUssU0FBUyxFQUFNLEtBQUssSUFBSyxTQUFTLEVBQU0sT0FBTyxLQUN2SixFQUFrQixDQUFDLEVBQVEsZUFBZSxDQUFDLFNBQVUsQ0FBRSxRQUFTLE9BQVEsSUFBSyxVQUFXLE1BQU8sVUFBVyxLQUFNLFVBQVcsS0FBTSxVQUFXLE9BQVEsVUFBVyxhQUFjLFdBQzdLLEVBQW9CLENBQUMsUUFBQSxRQUFNLFdBQVcsRUFBUyxVQUMvQyxFQUFrQixFQUFXLElBQUksU0FBQSxHQUFRLE9BQUEsU0FBUyxFQUFLLFVBQVUsTUFBSyxPQUFPLFNBQUMsRUFBTSxHQUFTLE9BQUEsRUFBTyxJQUVwRyxFQUE2QixDQUMvQixzQkFBdUIsRUFBYSxTQUNwQyxrQkFBbUIsRUFBYSxLQUNoQyxrQkFBbUIsRUFBYSxLQUNoQyxnQkFBaUIsRUFBYSxHQUM5Qix1QkFBd0IsRUFBYSxVQUNyQyw4QkFBK0IsRUFBYSxpQkFDNUMsNkJBQThCLEVBQWEsZ0JBQzNDLE1BQU8sRUFDUCxRQUFTLEVBQ1QsZ0JBQWlCLEdBR3JCLE9BQU8sU0FBQSxTQUFBLEdBQWtCLEdBQWEsR0E5RzFDLFFBQUEsaUJBQUEsaUJBU0EsUUFBQSxVQUFBLFVBZ0JBLFFBQUEsaUJBQUEsaUJBZ0JBLFFBQUEsb0JBQUEsb0JBb0JBLFFBQUEsY0FBQSxjQWNBLFFBQUEsUUFBQSxRQVdBLFFBQUEsYUFBQTs7OzAvQkMzRkEsSUFBQSxTQUFBLFFBQUEsWUFFQSxVQUFBLGFBQUEsUUFBQSxnQkFDQSxXQUFBLGFBQUEsUUFBQSxpQkFFQSxTQUFnQixlQUFlLEdBQzNCLGtCQUFrQixHQUNsQixJQUFNLEVBQXVCLFNBQUEsT0FBTyxNQUFNLGlCQUFpQixFQUFlLElBQUksS0FBSyxTQUFTLEdBQUcsR0FDekYsRUFBMkMsVUFBVSw2Q0FBNkMsR0FFeEcsR0FBSSxFQUFlLENBQ2YsSUFBTSxFQUEyQixFQUFjLFdBQVcsR0FBRyxHQUFHLEdBQzFELEVBQW9DLFVBQVUsOEJBQThCLEdBRWxGLG9CQURxRCxDQUFDLEVBQWUsR0FBSSxFQUFrQixTQUkzRixRQUFRLEtBQUssMkVBQTJFLEdBR2hHLFNBQWdCLG9CQUFvQixVQUN6QixTQUFBLE9BQU8sTUFBTSxpQkFBaUIsRUFBZSxJQUVwRCxJQUFNLEVBQWdCLFNBQUEsT0FBTyxNQUFNLGlCQUFpQixVQUFVLFNBQUEsR0FBTyxPQUFBLEVBQUksS0FBTyxFQUFlLEtBQy9GLFNBQUEsT0FBTyxNQUFNLGlCQUFpQixPQUFPLEVBQU8sR0FFNUMsU0FBQSxPQUFPLE1BQU0sYUFBYyxFQUV0QixTQUFBLE9BQU8sTUFBTSxpQkFBaUIsUUFDL0IsT0FBTyxzQkFBc0IsT0FHckMsU0FBZ0IsNEJBQTRCLEdBQ3hDLElBQU0sRUFBZSxTQUFBLE9BQU8sTUFBTSxRQUVsQyxPQUFJLFNBQUEsT0FBTyxNQUFNLGlCQUFpQixRQUFVLFNBQUEsT0FBTyxtQkFDL0MsV0FBVyxlQUFlLHNCQUFzQixTQUFBLE9BQU8saUJBQWdCLHNCQUN2RSxFQUFRLE9BQU8sRUFBVSxHQUFJLGNBQ3RCLEdBTWYsU0FBUyxvQkFBb0IsR0FDckIsRUFBTyxNQUFNLFNBQUEsR0FBSyxPQUEwQixPQUExQixNQUNsQixTQUFBLE9BQU8sTUFBTSxpQkFBaUIsS0FBZSxHQUM3QyxTQUFBLE9BQU8sTUFBTSxhQUFjLEdBSW5DLFNBQVMsa0JBQWtCLFNBRWpCLElBQU8sRUFBQSxJQURVLEVBQWUsSUFFeEIsS0FHZCxTQUFBLE9BQU8sTUFBTSxpQkFBZ0IsU0FBQSxTQUFBLEdBQVEsU0FBQSxPQUFPLE1BQU0sa0JBQXFCLEdBcEQzRSxRQUFBLGVBQUEsZUFlQSxRQUFBLG9CQUFBLG9CQVlBLFFBQUEsNEJBQUE7Ozs0RkNoQ0EsSUFBQSxTQUFBLFFBQUEsWUFHQSxTQUFnQixXQUNZLFNBQUEsT0FBTyxNQUFNLFdBQ0EsUUFBUSxHQUFHLE1BQU0sR0FBRyxLQUVqRCxRQUFRLFNBQUEsR0FDTixJQUFBLEVBQWlCLEVBQUksTUFBTSxHQUFHLE1BQU0sS0FBSyxJQUFJLFFBQTVDLEVBQUssRUFBQSxHQUFFLEVBQUssRUFBQSxHQUtuQixXQUowQixFQUFJLEtBQUssR0FBRyxNQUFNLEtBQUssT0FBTyxTQUN0QyxFQUFRLEdBQ1IsS0FBSyxNQUFNLEVBQVEsVUFNN0MsU0FBUyxXQUFXLEVBQW1CLEVBQVcsR0FDOUMsSUFBTSxFQUFtQyxJQUFJLElBQUksQ0FDN0MsQ0FBQyxRQUFTLEtBQ1YsQ0FBQyxRQUFTLEtBQ1YsQ0FBQyxRQUFTLEtBQ1YsQ0FBQyxRQUFTLEtBQ1YsQ0FBQyxRQUFTLEtBQ1YsQ0FBQyxRQUFTLEtBQ1YsQ0FBQyxRQUFTLE9BR2QsRUFBUSxJQUFJLFNBQUMsRUFBUyxHQUNsQixJQUFNLEVBQWdDLEVBQVksSUFBSSxHQUFXLEVBQVksSUFBSSxHQUFXLGlCQUFpQixHQUV6RyxHQUVBLFVBQVUsRUFEaUIsY0FBYyxFQUFHLEVBQUcsTUFNM0QsU0FBUyxpQkFBaUIsR0FDdEIsSUFBTSxFQUFtQixFQUFRLFFBQVEsUUFBUyxLQUNsRCxPQUFPLE9BQU8sYUFBYSxTQUFTLEVBQVUsS0FHbEQsU0FBUyxVQUFVLEVBQXFCLEdBQ2QsdUJBRVgsS0FBSyxLQUNaLE9BQU8sbUJBQW1CLEVBQVUsTUFBTSxTQUFTLEVBQVUsTUFBTSxVQUFZLDBCQUEwQixFQUFXLFdBRzVILFNBQVMsY0FBYyxFQUFhLEVBQWEsR0FDN0MsTUFBbUIsQ0FDZixFQUFHLEVBQ0gsRUFBRyxFQUNILEtBQU8sRUFBTSxFQUFLLEVBQ2xCLEtBQU0sRUFBTSxHQXBEcEIsUUFBQSxTQUFBOzs7d2dDQ0ZBLElBQUEsY0FBQSxhQUFBLFFBQUEsb0JBQ0EsU0FBQSxRQUFBLFlBQ0EsT0FBQSxhQUFBLFFBQUEsYUFDQSxRQUFBLGFBQUEsUUFBQSxjQUNBLFlBQUEsYUFBQSxRQUFBLGtCQUNBLFFBQUEsZ0JBQUEsUUFBQSxZQUVBLFNBQWdCLGdCQUFnQixFQUErQixHQUMzRCxJQUFNLEVBQXNDLFNBQVMsZUFBZSxHQUVwRSxHQUFJLEVBQ0EsSUFBdUIsSUFBQSxFQUFBLEVBQUEsRUFBQSxFQUFBLEVBQUEsRUFBQSxPQUFBLElBQWtCLENBQXBDLElBQUksRUFBVSxFQUFBLEdBQ1gsRUFBeUIsU0FBUyxjQUFjLFVBQ3BELEVBQUksTUFBUSxFQUFXLEdBQUcsR0FDMUIsRUFBSSxVQUFZLEVBQVcsS0FBSyxHQUNoQyxFQUFnQixZQUFZLElBS3hDLFNBQWdCLGFBQWEsR0FDekIsSUFBTSxFQUFrQixTQUFBLE9BQU8sTUFBTSxnQkFFckMsT0FBTyx1Q0FBdUMsR0FBRyxXQUFXLEdBQUcsWUFBYyxFQUFZLEtBQUssR0FDOUYsT0FBTyxvQkFBb0IsR0FBRyxXQUFXLEdBQUcsWUFBYyxFQUFZLE1BQU0sR0FDNUUsT0FBTyx3QkFBd0IsR0FBRyxXQUFXLEdBQUcsWUFBYyxFQUFnQixjQUM5RSxPQUFPLHdCQUF3QixHQUFHLFdBQVcsR0FBRyxZQUFjLHNCQUFzQixFQUFZLGdCQUFlLFFBQVEsRUFBWSxzQkFBc0IsR0FHN0osU0FBZ0IsZUFDWixJQUNNLEVBQWMsUUFBQSxRQUFNLGVBQWUsV0FFekMsT0FBTyxrQkFBa0IsT0FDckIsT0FKdUIsOEhBS2xCLEtBQUssTUFBTyxJQUNoQixPQUFPLENBQ0osT0FBTyxFQUNQLFVBQVUsRUFDVixlQUFlLEVBQ2YsV0FBVyxFQUNYLE1BQU0sRUFDTixNQUFNLEVBQ04sV0FBVyxFQUNYLE1BQU8sR0FDUCxNQUFPLE9BQ1AsT0FBUSxPQUNSLE1BQU8sV0FBTSxPQUFBLE9BQU8sY0FBYyxJQUFJLFdBQVksV0FHMUQsT0FBTyxpQkFHWCxTQUFnQixzQkFBc0IsR0FDOUIsU0FBQSxPQUFPLE1BQU0sU0FDYixRQUFRLG9CQUFvQixHQUVoQyxPQUFPLDBCQUEwQixTQUNqQyxPQUFPLDhCQUE4QixXQUFXLFNBQ2hELE9BQU8sOEJBQThCLE9BQU8sMENBQzVDLE9BQU8sbUJBQW1CLFNBQzFCLE9BQU8sdUJBQXVCLE9BQU8sbUNBR3pDLFNBQWdCLGtCQUFrQixHQUNiLFNBQWIsRUFDQSxPQUFPLFFBQVEsWUFBWSw0QkFDVCxTQUFiLEdBQ0wsT0FBTyxRQUFRLFNBQVMsNEJBR2hDLFNBQWdCLG1CQUNaLElBQU0sRUFBcUMsU0FBQSxPQUFPLE1BQU0scUJBRWxCLElBQWxDLEVBQWdCLGVBQ2hCLE9BQU8sbUJBQW1CLEtBQUssTUFBTyxFQUFnQixlQUc5RCxTQUFnQixrQkFDWixPQUFPLHNCQUFzQixPQUFPLEtBQ3BDLGNBQWMsa0JBQWtCLDhCQUdwQyxTQUFnQix3QkFJWixPQUg2QixTQUFBLE9BQU8sTUFBTSxXQUNZLE1BQU0sR0FBRyxZQUFZLEdBQUcsV0FFbkQsSUFBSSxTQUFBLEdBRzNCLE1BQU8sS0FGWSxFQUFJLEdBQUcsR0FFWix5QkFETSxJQUFJLEVBQUksTUFBTSxHQUFFLGVBQ08sUUFDNUMsS0FBSyxRQUdaLFNBQWdCLG9CQUNaLFlBQVksdUJBQXVCLFFBQ25DLE9BQU8sZ0JBQWdCLE9BQ3ZCLE9BQU8sZ0NBQWdDLFNBQVMsYUFHcEQsU0FBZ0IsZ0JBQ1osT0FBTyxzQkFBc0IsR0FBRyxVQUFZLFNBQUEsT0FBTyxRQUNuRCxPQUFPLHFCQUFxQixHQUFHLFVBQVksSUFBSSxTQUFBLE9BQU8sT0FBTSxJQS9GaEUsUUFBQSxnQkFBQSxnQkFhQSxRQUFBLGFBQUEsYUFTQSxRQUFBLGFBQUEsYUF3QkEsUUFBQSxzQkFBQSxzQkFXQSxRQUFBLGtCQUFBLGtCQU9BLFFBQUEsaUJBQUEsaUJBT0EsUUFBQSxnQkFBQSxnQkFLQSxRQUFBLHNCQUFBLHNCQVdBLFFBQUEsa0JBQUEsa0JBTUEsUUFBQSxjQUFBOzs7b0VDcEdBLElBQUEsU0FBQSxRQUFBLFlBRUEsTUFBQSxXQUFBLFNBQUEsS0F3R0EsT0F0R1csRUFBQSxlQUFQLFNBQXNCLEVBQXVDLEVBQXNCLEVBQW1ELEVBQW9DLFFBQXZGLElBQUEsSUFBQSxFQUFBLGlCQUFtRCxJQUFBLElBQUEsRUFBQSxVQUFvQyxJQUFBLElBQUEsRUFBQSxLQUN0SyxJQUFNLEVBQXdCLEtBQUssT0FFbkMsU0FBVSxLQUM4QyxhQUFiLEVBQTBCLE9BQWUsR0FBWSxJQUFJLEdBQUssRUFBTSxzQkFHdkcsRUFBTSxXQUFXLFNBQ2pCLE1BR0EsRUFBTSxXQUFXLGlCQUFpQixHQUNsQyxXQUFXLFdBQ0gsR0FBaUIsS0FBSyxNQUFRLEVBQWdCLEdBR2xELEtBQ0QsSUFkWCxJQW1CRyxFQUFBLGtCQUFQLFdBQ0ksSUFBTSxFQUFxQyxPQUFRLE9BQU8scUJBQXFCLFdBQy9FLE9BQU8sRUFBTSxXQUFXLElBR3JCLEVBQUEsZUFBUCxTQUFzQixHQUNsQixJQUFNLEVBQXFDLE9BQVEsT0FBTyxxQkFBcUIsV0FDL0UsS0FBSyxlQUFlLEVBQVksRUFBWSxZQUd6QyxFQUFBLGNBQVAsU0FBcUIsR0FDakIsT0FBd0MsTUFBcEMsU0FBUyxjQUFjLElBTXhCLEVBQUEsV0FBUCxTQUFrQixHQUNkLE1BQTZCLG1CQUFmLEdBR1gsRUFBQSxPQUFQLFNBQWMsRUFBbUIsRUFBdUIsR0FDcEQsSUFBSSxFQUVKLFlBSDZCLElBQUEsSUFBQSxFQUFBLFdBQXVCLElBQUEsSUFBQSxFQUFBLFFBRzVDLEdBQ0osSUFBSyxNQUNELEVBQVMsU0FBUyxjQUFjLFdBQ3pCLEtBQU8sa0JBQ2QsRUFBTyxJQUFNLEVBQ2IsTUFFSixJQUFLLE9BQ0QsRUFBUyxTQUFTLGNBQWMsU0FDekIsS0FBTyxXQUNJLEVBQVEsSUFBTSxhQUNkLEVBQVEsS0FBTyxFQUNqQyxNQUVKLElBQUssYUFDRCxFQUFTLFNBQVMsY0FBYyxVQUN6QixLQUFPLFdBQ2QsRUFBTyxVQUFZLEVBQ25CLE1BRUosSUFBSyxVQUNELEVBQVMsU0FBUyxjQUFjLFdBQ3pCLEtBQU8sa0JBQ2QsRUFBTyxVQUFZLEVBQ25CLE1BRUosUUFDSSxPQUFTLEVBSWIsR0FDQSxFQUFNLGFBQWEsRUFBUSxJQUc1QixFQUFBLGFBQVAsU0FBb0IsRUFBOEIsR0FDaEMsU0FBVixFQUNBLFNBQVMsS0FBSyxZQUFZLEdBQ1gsU0FBVixHQUNMLFNBQVMsS0FBSyxZQUFZLElBRzNCLEVBQUEsV0FBUCxTQUFrQixFQUFjLEdBQzVCLE9BQU8sRUFBTyxtQkFBbUIsRUFBVSxDQUFFLFFBQVMsVUFHbkQsRUFBQSxXQUFQLFNBQWtCLEdBQ1YsR0FJRCxFQUFBLGVBQVAsU0FBc0IsR0FDbEIsSUFBTSxFQUE2QixTQUFBLE9BQU8sT0FFMUMsT0FEa0IsU0FBQSxPQUFPLFVBQVUsR0FDbEIsSUFFekIsRUF4R0E7OzttWENEQSxJQUFBLFNBQUEsUUFBQSxZQUVBLFNBQWdCLGNBQ1osSUFBTSxFQUFrQixTQUFBLE9BQU8sTUFBTSxnQkFFaEMsRUFBZ0IsT0FHSyxFQUFnQixLQUFLLE1BQU0sSUFBSSxJQUFJLFFBRWhELElBQ1QsT0FBTyxzQkFBc0IsUUFHckMsU0FBZ0IsMEJBQTBCLFNBSXRDLE9BQXdELFFBQWpELEVBSHNCLFNBQUEsT0FBTyxNQUFNLFdBQ0QsY0FBYyxHQUFHLGVBQWUsR0FBRyxRQUUxRCxLQUFLLFNBQUEsR0FBTyxPQUFBLElBQWdCLEVBQUksR0FBRyxZQUFHLElBQUEsT0FBQSxFQUFBLEVBQUUsS0FBSyxHQUduRSxTQUFnQix5Q0FBeUMsRUFBcUMsU0FJMUYsT0FBcUYsUUFBOUUsRUFIc0IsU0FBQSxPQUFPLE1BQU0sV0FDVyxNQUFNLEdBQUcsWUFBWSxHQUFHLFdBRW5ELEtBQUssU0FBQSxHQUFPLE9BQUEsRUFBSSxHQUFHLEtBQU8sRUFBaUIsT0FBTSxXQUFVLElBQUEsT0FBQSxFQUFBLEVBQUcsR0FBWSxHQUd4RyxTQUFnQiw4QkFBOEIsU0FJMUMsT0FBaUUsUUFBMUQsRUFIc0IsU0FBQSxPQUFPLE1BQU0sV0FDUyxNQUFNLEdBQUcsWUFBWSxHQUFHLFdBRWxELEtBQUssU0FBQSxHQUFPLE9BQUEsSUFBa0IsRUFBSSxHQUFHLFlBQUcsSUFBQSxPQUFBLEVBQUEsRUFBRSxLQUFLLEdBRzVFLFNBQWdCLHNCQUFzQixFQUF1QixTQUNuRCxFQUE0RSxRQUFwRSxFQUFBLE1BQUEsT0FBZSxFQUFmLEVBQWlCLFdBQVcsS0FBSyxTQUFBLEdBQU8sT0FBQSxFQUFJLEdBQUcsS0FBTyxXQUFjLElBQUEsT0FBQSxFQUFBLEVBQUUsTUFBTSxHQUMxRixPQUFPLEVBQVEsV0FBVyxRQUFTLEVBR3ZDLFNBQWdCLDZDQUE2QyxHQUd6RCxPQUY2QixTQUFBLE9BQU8sTUFBTSxXQUNXLGdCQUFnQixHQUFHLFdBQzlDLEtBQUssU0FBQSxHQUFPLE9BQUEsRUFBSSxHQUFHLEtBQU8sSUFHeEQsU0FBZ0IsNEJBQTRCLEdBQ3hDLElBQU0sRUFBNEMsZ0NBQWdDLEdBQ2xGLE9BQU8sRUFBZ0IsRUFBYyxJQUFJLFNBQUEsR0FBTyxNQUFBLENBQUMsRUFBSSxHQUFHLEdBQUksRUFBSSxNQUFNLEdBQUksaUJBQWlCLFdBQVMsRUFHeEcsU0FBZ0IsOEJBQ1osT0FBUSxTQUFBLE9BQU8sTUFBTSxpQkFBaUIsSUFBSSxTQUFBLEdBQU8sT0FBQSxFQUFJLEtBQUssT0FBTyxLQUFLLEtBRzFFLFNBQVMsZ0NBQWdDLFNBSXJDLE9BQW1FLFFBQTVELEVBSHNCLFNBQUEsT0FBTyxNQUFNLFdBQ1csZ0JBQWdCLEdBQUcsV0FFOUMsS0FBSyxTQUFBLEdBQU8sT0FBQSxFQUFJLEdBQUcsS0FBTyxXQUFlLElBQUEsT0FBQSxFQUFBLEVBQUUsV0FHekUsU0FBUyxpQkFBaUIsU0FJdEIsT0FBb0YsUUFBN0UsRUFIc0IsU0FBQSxPQUFPLE1BQU0sV0FDSSxNQUFNLEdBQUcsWUFBWSxHQUFHLFdBRWxELEtBQUssU0FBQSxHQUFPLE9BQUEsRUFBSSxHQUFHLEtBQU8sRUFBTSxHQUFHLEdBQUssRUFBSSxLQUFLLFFBQUssV0FBVSxJQUFBLE9BQUEsRUFBQSxFQUFFLEtBQUssR0FoRS9GLFFBQUEsWUFBQSxZQVlBLFFBQUEsMEJBQUEsMEJBT0EsUUFBQSx5Q0FBQSx5Q0FPQSxRQUFBLDhCQUFBLDhCQU9BLFFBQUEsc0JBQUEsc0JBS0EsUUFBQSw2Q0FBQSw2Q0FNQSxRQUFBLDRCQUFBLDRCQUtBLFFBQUEsNEJBQUE7Ozt3d0JDckRBLElBQUEsT0FBQSxRQUFBLFVBQ0EsY0FBQSxhQUFBLFFBQUEsNEJBRUEsU0FBQSxRQUFBLG9CQUNBLFFBQUEsZ0JBQUEsUUFBQSxvQkFDQSxPQUFBLGFBQUEsUUFBQSxxQkFDQSxLQUFBLGFBQUEsUUFBQSxtQkFDQSxXQUFBLGFBQUEsUUFBQSw0QkFDQSxNQUFBLGFBQUEsUUFBQSxvQkFDQSxHQUFBLGFBQUEsUUFBQSxpQkEwQ0EsU0FBUyxlQUFlLEdBQ3BCLEdBQTBCLGlCQUFkLEVBQVEsS0FBcEIsQ0FHQSxJQUFNLEVBQWtCLEtBQUssTUFBTSxFQUFJLE1BS3ZDLE9BSEEsUUFBQSxRQUFNLFdBQVcsd0JBQXdCLEVBQUssTUFDOUMsUUFBQSxRQUFNLFdBQVcsR0FFVCxFQUFLLE9BQ1QsSUFBSyxvQkFDRCxNQUFNLFlBQ04sTUFFSixJQUFLLDJCQUNELE1BQU0saUJBQWlCLEdBQ3ZCLE1BRUosSUFBSyxrQ0FDRCxNQUFNLHdCQUF3QixHQUM5QixNQUVKLElBQUssd0JBQ0QsTUFBTSxlQUFlLEdBQ3JCLE1BRUosSUFBSyw4QkFDRCxNQUFNLHFCQUFxQixLQXBFdkMsUUFBUSwwQkFFUixPQUFPLGlCQUFpQixPQUFRLFdBRzVCLE1BQU0sa0JBR04sY0FBYyxpQkFBaUIsZ0JBRy9CLFFBQUEsUUFBTSxlQUFlLFdBQVcsc0JBR2hDLFFBQUEsUUFBTSxlQUFlLHFCQUFzQixLQUFLLGVBR2hELE9BQU8sZ0JBQ1AsT0FBTyxlQUNQLE9BQU8scUJBR1AsR0FBRyxrQkFLUCxPQUFPLFNBQVcsV0FDZCxJQUFNLEVBQVUsU0FBQSxPQUFPLE1BQU0sUUFDdkIsRUFBYyxPQUFPLFlBRXZCLEVBQWMsS0FDZCxPQUFPLDBCQUEwQixPQUNqQyxNQUFBLEdBQUEsRUFBUyxTQUVKLEdBQWUsTUFDcEIsT0FBTywwQkFBMEIsT0FDakMsTUFBQSxHQUFBLEVBQVMiLCJmaWxlIjoiZ2VuZXJhdGVkLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXNDb250ZW50IjpbIihmdW5jdGlvbigpe2Z1bmN0aW9uIHIoZSxuLHQpe2Z1bmN0aW9uIG8oaSxmKXtpZighbltpXSl7aWYoIWVbaV0pe3ZhciBjPVwiZnVuY3Rpb25cIj09dHlwZW9mIHJlcXVpcmUmJnJlcXVpcmU7aWYoIWYmJmMpcmV0dXJuIGMoaSwhMCk7aWYodSlyZXR1cm4gdShpLCEwKTt2YXIgYT1uZXcgRXJyb3IoXCJDYW5ub3QgZmluZCBtb2R1bGUgJ1wiK2krXCInXCIpO3Rocm93IGEuY29kZT1cIk1PRFVMRV9OT1RfRk9VTkRcIixhfXZhciBwPW5baV09e2V4cG9ydHM6e319O2VbaV1bMF0uY2FsbChwLmV4cG9ydHMsZnVuY3Rpb24ocil7dmFyIG49ZVtpXVsxXVtyXTtyZXR1cm4gbyhufHxyKX0scCxwLmV4cG9ydHMscixlLG4sdCl9cmV0dXJuIG5baV0uZXhwb3J0c31mb3IodmFyIHU9XCJmdW5jdGlvblwiPT10eXBlb2YgcmVxdWlyZSYmcmVxdWlyZSxpPTA7aTx0Lmxlbmd0aDtpKyspbyh0W2ldKTtyZXR1cm4gb31yZXR1cm4gcn0pKCkiLCIhZnVuY3Rpb24odCxlKXtcIm9iamVjdFwiPT10eXBlb2YgZXhwb3J0cyYmXCJ1bmRlZmluZWRcIiE9dHlwZW9mIG1vZHVsZT9tb2R1bGUuZXhwb3J0cz1lKCk6XCJmdW5jdGlvblwiPT10eXBlb2YgZGVmaW5lJiZkZWZpbmUuYW1kP2RlZmluZShlKToodD1cInVuZGVmaW5lZFwiIT10eXBlb2YgZ2xvYmFsVGhpcz9nbG9iYWxUaGlzOnR8fHNlbGYpLlBhbnpvb209ZSgpfSh0aGlzLGZ1bmN0aW9uKCl7XCJ1c2Ugc3RyaWN0XCI7dmFyIHQ9ZnVuY3Rpb24oKXtyZXR1cm4odD1PYmplY3QuYXNzaWdufHxmdW5jdGlvbih0KXtmb3IodmFyIGUsbj0xLG89YXJndW1lbnRzLmxlbmd0aDtuPG87bisrKWZvcih2YXIgciBpbiBlPWFyZ3VtZW50c1tuXSlPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoZSxyKSYmKHRbcl09ZVtyXSk7cmV0dXJuIHR9KS5hcHBseSh0aGlzLGFyZ3VtZW50cyl9O2Z1bmN0aW9uIGUodCxlKXtmb3IodmFyIG49dC5sZW5ndGg7bi0tOylpZih0W25dLnBvaW50ZXJJZD09PWUucG9pbnRlcklkKXJldHVybiBuO3JldHVybi0xfWZ1bmN0aW9uIG4odCxvKXt2YXIgcjtpZihvLnRvdWNoZXMpe3I9MDtmb3IodmFyIGE9MCxpPW8udG91Y2hlczthPGkubGVuZ3RoO2ErKyl7dmFyIGM9aVthXTtjLnBvaW50ZXJJZD1yKyssbih0LGMpfX1lbHNlKHI9ZSh0LG8pKT4tMSYmdC5zcGxpY2UociwxKSx0LnB1c2gobyl9ZnVuY3Rpb24gbyh0KXtmb3IodmFyIGUsbj0odD10LnNsaWNlKDApKS5wb3AoKTtlPXQucG9wKCk7KW49e2NsaWVudFg6KGUuY2xpZW50WC1uLmNsaWVudFgpLzIrbi5jbGllbnRYLGNsaWVudFk6KGUuY2xpZW50WS1uLmNsaWVudFkpLzIrbi5jbGllbnRZfTtyZXR1cm4gbn1mdW5jdGlvbiByKHQpe2lmKHQubGVuZ3RoPDIpcmV0dXJuIDA7dmFyIGU9dFswXSxuPXRbMV07cmV0dXJuIE1hdGguc3FydChNYXRoLnBvdyhNYXRoLmFicyhuLmNsaWVudFgtZS5jbGllbnRYKSwyKStNYXRoLnBvdyhNYXRoLmFicyhuLmNsaWVudFktZS5jbGllbnRZKSwyKSl9XCJ1bmRlZmluZWRcIiE9dHlwZW9mIHdpbmRvdyYmKHdpbmRvdy5Ob2RlTGlzdCYmIU5vZGVMaXN0LnByb3RvdHlwZS5mb3JFYWNoJiYoTm9kZUxpc3QucHJvdG90eXBlLmZvckVhY2g9QXJyYXkucHJvdG90eXBlLmZvckVhY2gpLFwiZnVuY3Rpb25cIiE9dHlwZW9mIHdpbmRvdy5DdXN0b21FdmVudCYmKHdpbmRvdy5DdXN0b21FdmVudD1mdW5jdGlvbih0LGUpe2U9ZXx8e2J1YmJsZXM6ITEsY2FuY2VsYWJsZTohMSxkZXRhaWw6bnVsbH07dmFyIG49ZG9jdW1lbnQuY3JlYXRlRXZlbnQoXCJDdXN0b21FdmVudFwiKTtyZXR1cm4gbi5pbml0Q3VzdG9tRXZlbnQodCxlLmJ1YmJsZXMsZS5jYW5jZWxhYmxlLGUuZGV0YWlsKSxufSkpO3ZhciBhPXtkb3duOlwibW91c2Vkb3duXCIsbW92ZTpcIm1vdXNlbW92ZVwiLHVwOlwibW91c2V1cCBtb3VzZWxlYXZlXCJ9O2Z1bmN0aW9uIGkodCxlLG4sbyl7YVt0XS5zcGxpdChcIiBcIikuZm9yRWFjaChmdW5jdGlvbih0KXtlLmFkZEV2ZW50TGlzdGVuZXIodCxuLG8pfSl9ZnVuY3Rpb24gYyh0LGUsbil7YVt0XS5zcGxpdChcIiBcIikuZm9yRWFjaChmdW5jdGlvbih0KXtlLnJlbW92ZUV2ZW50TGlzdGVuZXIodCxuKX0pfVwidW5kZWZpbmVkXCIhPXR5cGVvZiB3aW5kb3cmJihcImZ1bmN0aW9uXCI9PXR5cGVvZiB3aW5kb3cuUG9pbnRlckV2ZW50P2E9e2Rvd246XCJwb2ludGVyZG93blwiLG1vdmU6XCJwb2ludGVybW92ZVwiLHVwOlwicG9pbnRlcnVwIHBvaW50ZXJsZWF2ZSBwb2ludGVyY2FuY2VsXCJ9OlwiZnVuY3Rpb25cIj09dHlwZW9mIHdpbmRvdy5Ub3VjaEV2ZW50JiYoYT17ZG93bjpcInRvdWNoc3RhcnRcIixtb3ZlOlwidG91Y2htb3ZlXCIsdXA6XCJ0b3VjaGVuZCB0b3VjaGNhbmNlbFwifSkpO3ZhciBsLHA9XCJ1bmRlZmluZWRcIiE9dHlwZW9mIGRvY3VtZW50JiYhIWRvY3VtZW50LmRvY3VtZW50TW9kZTtmdW5jdGlvbiB1KCl7cmV0dXJuIGx8fChsPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXCJkaXZcIikuc3R5bGUpfXZhciBkPVtcIndlYmtpdFwiLFwibW96XCIsXCJtc1wiXSxzPXt9O2Z1bmN0aW9uIGYodCl7aWYoc1t0XSlyZXR1cm4gc1t0XTt2YXIgZT11KCk7aWYodCBpbiBlKXJldHVybiBzW3RdPXQ7Zm9yKHZhciBuPXRbMF0udG9VcHBlckNhc2UoKSt0LnNsaWNlKDEpLG89ZC5sZW5ndGg7by0tOyl7dmFyIHI9XCJcIitkW29dK247aWYociBpbiBlKXJldHVybiBzW3RdPXJ9fWZ1bmN0aW9uIG0odCxlKXtyZXR1cm4gcGFyc2VGbG9hdChlW2YodCldKXx8MH1mdW5jdGlvbiBoKHQsZSxuKXt2b2lkIDA9PT1uJiYobj13aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZSh0KSk7dmFyIG89XCJib3JkZXJcIj09PWU/XCJXaWR0aFwiOlwiXCI7cmV0dXJue2xlZnQ6bShlK1wiTGVmdFwiK28sbikscmlnaHQ6bShlK1wiUmlnaHRcIitvLG4pLHRvcDptKGUrXCJUb3BcIitvLG4pLGJvdHRvbTptKGUrXCJCb3R0b21cIitvLG4pfX1mdW5jdGlvbiB2KHQsZSxuKXt0LnN0eWxlW2YoZSldPW59ZnVuY3Rpb24gZyh0KXt2YXIgZT10LnBhcmVudE5vZGUsbj13aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZSh0KSxvPXdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKGUpLHI9dC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSxhPWUuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7cmV0dXJue2VsZW06e3N0eWxlOm4sd2lkdGg6ci53aWR0aCxoZWlnaHQ6ci5oZWlnaHQsdG9wOnIudG9wLGJvdHRvbTpyLmJvdHRvbSxsZWZ0OnIubGVmdCxyaWdodDpyLnJpZ2h0LG1hcmdpbjpoKHQsXCJtYXJnaW5cIixuKSxib3JkZXI6aCh0LFwiYm9yZGVyXCIsbil9LHBhcmVudDp7c3R5bGU6byx3aWR0aDphLndpZHRoLGhlaWdodDphLmhlaWdodCx0b3A6YS50b3AsYm90dG9tOmEuYm90dG9tLGxlZnQ6YS5sZWZ0LHJpZ2h0OmEucmlnaHQscGFkZGluZzpoKGUsXCJwYWRkaW5nXCIsbyksYm9yZGVyOmgoZSxcImJvcmRlclwiLG8pfX19ZnVuY3Rpb24geSh0LGUpe3JldHVybiAxPT09dC5ub2RlVHlwZSYmKFwiIFwiK2Z1bmN0aW9uKHQpe3JldHVybih0LmdldEF0dHJpYnV0ZShcImNsYXNzXCIpfHxcIlwiKS50cmltKCl9KHQpK1wiIFwiKS5pbmRleE9mKFwiIFwiK2UrXCIgXCIpPi0xfXZhciB3PS9eaHR0cDpbXFx3XFwuXFwvXStzdmckLzt2YXIgYj17YW5pbWF0ZTohMSxjYW52YXM6ITEsY3Vyc29yOlwibW92ZVwiLGRpc2FibGVQYW46ITEsZGlzYWJsZVpvb206ITEsZGlzYWJsZVhBeGlzOiExLGRpc2FibGVZQXhpczohMSxkdXJhdGlvbjoyMDAsZWFzaW5nOlwiZWFzZS1pbi1vdXRcIixleGNsdWRlOltdLGV4Y2x1ZGVDbGFzczpcInBhbnpvb20tZXhjbHVkZVwiLGhhbmRsZVN0YXJ0RXZlbnQ6ZnVuY3Rpb24odCl7dC5wcmV2ZW50RGVmYXVsdCgpLHQuc3RvcFByb3BhZ2F0aW9uKCl9LG1heFNjYWxlOjQsbWluU2NhbGU6LjEyNSxvdmVyZmxvdzpcImhpZGRlblwiLHBhbk9ubHlXaGVuWm9vbWVkOiExLHJlbGF0aXZlOiExLHNldFRyYW5zZm9ybTpmdW5jdGlvbih0LGUsbil7dmFyIG89ZS54LHI9ZS55LGE9ZS5zY2FsZSxpPWUuaXNTVkc7aWYodih0LFwidHJhbnNmb3JtXCIsXCJzY2FsZShcIithK1wiKSB0cmFuc2xhdGUoXCIrbytcInB4LCBcIityK1wicHgpXCIpLGkmJnApe3ZhciBjPXdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKHQpLmdldFByb3BlcnR5VmFsdWUoXCJ0cmFuc2Zvcm1cIik7dC5zZXRBdHRyaWJ1dGUoXCJ0cmFuc2Zvcm1cIixjKX19LHN0YXJ0WDowLHN0YXJ0WTowLHN0YXJ0U2NhbGU6MSxzdGVwOi4zLHRvdWNoQWN0aW9uOlwibm9uZVwifTtmdW5jdGlvbiB4KGwscCl7aWYoIWwpdGhyb3cgbmV3IEVycm9yKFwiUGFuem9vbSByZXF1aXJlcyBhbiBlbGVtZW50IGFzIGFuIGFyZ3VtZW50XCIpO2lmKDEhPT1sLm5vZGVUeXBlKXRocm93IG5ldyBFcnJvcihcIlBhbnpvb20gcmVxdWlyZXMgYW4gZWxlbWVudCB3aXRoIGEgbm9kZVR5cGUgb2YgMVwiKTtpZighZnVuY3Rpb24odCl7dmFyIGU9dC5vd25lckRvY3VtZW50LG49dC5wYXJlbnROb2RlO3JldHVybiBlJiZuJiY5PT09ZS5ub2RlVHlwZSYmMT09PW4ubm9kZVR5cGUmJmUuZG9jdW1lbnRFbGVtZW50LmNvbnRhaW5zKG4pfShsKSl0aHJvdyBuZXcgRXJyb3IoXCJQYW56b29tIHNob3VsZCBiZSBjYWxsZWQgb24gZWxlbWVudHMgdGhhdCBoYXZlIGJlZW4gYXR0YWNoZWQgdG8gdGhlIERPTVwiKTtwPXQodCh7fSxiKSxwKTt2YXIgdT1mdW5jdGlvbih0KXtyZXR1cm4gdy50ZXN0KHQubmFtZXNwYWNlVVJJKSYmXCJzdmdcIiE9PXQubm9kZU5hbWUudG9Mb3dlckNhc2UoKX0obCksZD1sLnBhcmVudE5vZGU7ZC5zdHlsZS5vdmVyZmxvdz1wLm92ZXJmbG93LGQuc3R5bGUudXNlclNlbGVjdD1cIm5vbmVcIixkLnN0eWxlLnRvdWNoQWN0aW9uPXAudG91Y2hBY3Rpb24sKHAuY2FudmFzP2Q6bCkuc3R5bGUuY3Vyc29yPXAuY3Vyc29yLGwuc3R5bGUudXNlclNlbGVjdD1cIm5vbmVcIixsLnN0eWxlLnRvdWNoQWN0aW9uPXAudG91Y2hBY3Rpb24sdihsLFwidHJhbnNmb3JtT3JpZ2luXCIsXCJzdHJpbmdcIj09dHlwZW9mIHAub3JpZ2luP3Aub3JpZ2luOnU/XCIwIDBcIjpcIjUwJSA1MCVcIik7dmFyIHMsbSxoLHgsUyxFLE09MCxPPTAsUD0xLHo9ITE7ZnVuY3Rpb24gQSh0LGUsbil7aWYoIW4uc2lsZW50KXt2YXIgbz1uZXcgQ3VzdG9tRXZlbnQodCx7ZGV0YWlsOmV9KTtsLmRpc3BhdGNoRXZlbnQobyl9fWZ1bmN0aW9uIFgodCxlKXt2YXIgbj17eDpNLHk6TyxzY2FsZTpQLGlzU1ZHOnV9O3JldHVybiByZXF1ZXN0QW5pbWF0aW9uRnJhbWUoZnVuY3Rpb24oKXtcImJvb2xlYW5cIj09dHlwZW9mIGUuYW5pbWF0ZSYmKGUuYW5pbWF0ZT9mdW5jdGlvbih0LGUpe3YodCxcInRyYW5zaXRpb25cIixmKFwidHJhbnNmb3JtXCIpK1wiIFwiK2UuZHVyYXRpb24rXCJtcyBcIitlLmVhc2luZyl9KGwsZSk6dihsLFwidHJhbnNpdGlvblwiLFwibm9uZVwiKSksZS5zZXRUcmFuc2Zvcm0obCxuLGUpfSksQSh0LG4sZSksQShcInBhbnpvb21jaGFuZ2VcIixuLGUpLG59ZnVuY3Rpb24gWSgpe2lmKHAuY29udGFpbil7dmFyIHQ9ZyhsKSxlPXQucGFyZW50LndpZHRoLXQucGFyZW50LmJvcmRlci5sZWZ0LXQucGFyZW50LmJvcmRlci5yaWdodCxuPXQucGFyZW50LmhlaWdodC10LnBhcmVudC5ib3JkZXIudG9wLXQucGFyZW50LmJvcmRlci5ib3R0b20sbz1lLyh0LmVsZW0ud2lkdGgvUCkscj1uLyh0LmVsZW0uaGVpZ2h0L1ApO1wiaW5zaWRlXCI9PT1wLmNvbnRhaW4/cC5tYXhTY2FsZT1NYXRoLm1pbihvLHIpOlwib3V0c2lkZVwiPT09cC5jb250YWluJiYocC5taW5TY2FsZT1NYXRoLm1heChvLHIpKX19ZnVuY3Rpb24gQyhlLG4sbyxyKXt2YXIgYT10KHQoe30scCksciksaT17eDpNLHk6TyxvcHRzOmF9O2lmKCFhLmZvcmNlJiYoYS5kaXNhYmxlUGFufHxhLnBhbk9ubHlXaGVuWm9vbWVkJiZQPT09YS5zdGFydFNjYWxlKSlyZXR1cm4gaTtpZihlPXBhcnNlRmxvYXQoZSksbj1wYXJzZUZsb2F0KG4pLGEuZGlzYWJsZVhBeGlzfHwoaS54PShhLnJlbGF0aXZlP006MCkrZSksYS5kaXNhYmxlWUF4aXN8fChpLnk9KGEucmVsYXRpdmU/TzowKStuKSxcImluc2lkZVwiPT09YS5jb250YWluKXt2YXIgYz1nKGwpO2kueD1NYXRoLm1heCgtYy5lbGVtLm1hcmdpbi5sZWZ0LWMucGFyZW50LnBhZGRpbmcubGVmdCxNYXRoLm1pbihjLnBhcmVudC53aWR0aC1jLmVsZW0ud2lkdGgvby1jLnBhcmVudC5wYWRkaW5nLmxlZnQtYy5lbGVtLm1hcmdpbi5sZWZ0LWMucGFyZW50LmJvcmRlci5sZWZ0LWMucGFyZW50LmJvcmRlci5yaWdodCxpLngpKSxpLnk9TWF0aC5tYXgoLWMuZWxlbS5tYXJnaW4udG9wLWMucGFyZW50LnBhZGRpbmcudG9wLE1hdGgubWluKGMucGFyZW50LmhlaWdodC1jLmVsZW0uaGVpZ2h0L28tYy5wYXJlbnQucGFkZGluZy50b3AtYy5lbGVtLm1hcmdpbi50b3AtYy5wYXJlbnQuYm9yZGVyLnRvcC1jLnBhcmVudC5ib3JkZXIuYm90dG9tLGkueSkpfWVsc2UgaWYoXCJvdXRzaWRlXCI9PT1hLmNvbnRhaW4pe3ZhciB1PShjPWcobCkpLmVsZW0ud2lkdGgvUCxkPWMuZWxlbS5oZWlnaHQvUCxzPXUqbyxmPWQqbyxtPShzLXUpLzIsaD0oZi1kKS8yLHY9KC0ocy1jLnBhcmVudC53aWR0aCktYy5wYXJlbnQucGFkZGluZy5sZWZ0LWMucGFyZW50LmJvcmRlci5sZWZ0LWMucGFyZW50LmJvcmRlci5yaWdodCttKS9vLHk9KG0tYy5wYXJlbnQucGFkZGluZy5sZWZ0KS9vO2kueD1NYXRoLm1heChNYXRoLm1pbihpLngseSksdik7dmFyIHc9KC0oZi1jLnBhcmVudC5oZWlnaHQpLWMucGFyZW50LnBhZGRpbmcudG9wLWMucGFyZW50LmJvcmRlci50b3AtYy5wYXJlbnQuYm9yZGVyLmJvdHRvbStoKS9vLGI9KGgtYy5wYXJlbnQucGFkZGluZy50b3ApL287aS55PU1hdGgubWF4KE1hdGgubWluKGkueSxiKSx3KX1yZXR1cm4gaX1mdW5jdGlvbiBUKGUsbil7dmFyIG89dCh0KHt9LHApLG4pLHI9e3NjYWxlOlAsb3B0czpvfTtyZXR1cm4hby5mb3JjZSYmby5kaXNhYmxlWm9vbT9yOihyLnNjYWxlPU1hdGgubWluKE1hdGgubWF4KGUsby5taW5TY2FsZSksby5tYXhTY2FsZSkscil9ZnVuY3Rpb24gTih0LGUsbil7dmFyIG89Qyh0LGUsUCxuKSxyPW8ub3B0cztyZXR1cm4gTT1vLngsTz1vLnksWChcInBhbnpvb21wYW5cIixyKX1mdW5jdGlvbiBMKHQsZSl7dmFyIG49VCh0LGUpLG89bi5vcHRzO2lmKG8uZm9yY2V8fCFvLmRpc2FibGVab29tKXt0PW4uc2NhbGU7dmFyIHI9TSxhPU87aWYoby5mb2NhbCl7dmFyIGk9by5mb2NhbDtyPShpLngvdC1pLngvUCtNKnQpL3QsYT0oaS55L3QtaS55L1ArTyp0KS90fXZhciBjPUMocixhLHQse3JlbGF0aXZlOiExLGZvcmNlOiEwfSk7cmV0dXJuIE09Yy54LE89Yy55LFA9dCxYKFwicGFuem9vbXpvb21cIixvKX19ZnVuY3Rpb24gSShlLG4pe3ZhciBvPXQodCh0KHt9LHApLHthbmltYXRlOiEwfSksbik7cmV0dXJuIEwoUCpNYXRoLmV4cCgoZT8xOi0xKSpvLnN0ZXApLG8pfWZ1bmN0aW9uIFcoZSxuLG8pe3ZhciByPWcobCksYT1yLnBhcmVudC53aWR0aC1yLnBhcmVudC5wYWRkaW5nLmxlZnQtci5wYXJlbnQucGFkZGluZy5yaWdodC1yLnBhcmVudC5ib3JkZXIubGVmdC1yLnBhcmVudC5ib3JkZXIucmlnaHQsaT1yLnBhcmVudC5oZWlnaHQtci5wYXJlbnQucGFkZGluZy50b3Atci5wYXJlbnQucGFkZGluZy5ib3R0b20tci5wYXJlbnQuYm9yZGVyLnRvcC1yLnBhcmVudC5ib3JkZXIuYm90dG9tLGM9bi5jbGllbnRYLXIucGFyZW50LmxlZnQtci5wYXJlbnQucGFkZGluZy5sZWZ0LXIucGFyZW50LmJvcmRlci5sZWZ0LXIuZWxlbS5tYXJnaW4ubGVmdCxwPW4uY2xpZW50WS1yLnBhcmVudC50b3Atci5wYXJlbnQucGFkZGluZy50b3Atci5wYXJlbnQuYm9yZGVyLnRvcC1yLmVsZW0ubWFyZ2luLnRvcDt1fHwoYy09ci5lbGVtLndpZHRoL1AvMixwLT1yLmVsZW0uaGVpZ2h0L1AvMik7dmFyIGQ9e3g6Yy9hKihhKmUpLHk6cC9pKihpKmUpfTtyZXR1cm4gTChlLHQodCh7YW5pbWF0ZTohMX0sbykse2ZvY2FsOmR9KSl9TChwLnN0YXJ0U2NhbGUse2FuaW1hdGU6ITF9KSxzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7WSgpLE4ocC5zdGFydFgscC5zdGFydFkse2FuaW1hdGU6ITF9KX0pO3ZhciBaPVtdO2Z1bmN0aW9uIHEodCl7aWYoIWZ1bmN0aW9uKHQsZSl7Zm9yKHZhciBuPXQ7bnVsbCE9bjtuPW4ucGFyZW50Tm9kZSlpZih5KG4sZS5leGNsdWRlQ2xhc3MpfHxlLmV4Y2x1ZGUuaW5kZXhPZihuKT4tMSlyZXR1cm4hMDtyZXR1cm4hMX0odC50YXJnZXQscCkpe24oWix0KSx6PSEwLHAuaGFuZGxlU3RhcnRFdmVudCh0KSxzPU0sbT1PLEEoXCJwYW56b29tc3RhcnRcIix7eDpNLHk6TyxzY2FsZTpQfSxwKTt2YXIgZT1vKFopO2g9ZS5jbGllbnRYLHg9ZS5jbGllbnRZLFM9UCxFPXIoWil9fWZ1bmN0aW9uIEIodCl7aWYoeiYmdm9pZCAwIT09cyYmdm9pZCAwIT09bSYmdm9pZCAwIT09aCYmdm9pZCAwIT09eCl7bihaLHQpO3ZhciBlPW8oWik7aWYoWi5sZW5ndGg+MSlXKFQoKHIoWiktRSkqcC5zdGVwLzgwK1MpLnNjYWxlLGUpO04ocysoZS5jbGllbnRYLWgpL1AsbSsoZS5jbGllbnRZLXgpL1Ase2FuaW1hdGU6ITF9KX19ZnVuY3Rpb24gRCh0KXsxPT09Wi5sZW5ndGgmJkEoXCJwYW56b29tZW5kXCIse3g6TSx5Ok8sc2NhbGU6UH0scCksZnVuY3Rpb24odCxuKXtpZihuLnRvdWNoZXMpZm9yKDt0Lmxlbmd0aDspdC5wb3AoKTtlbHNle3ZhciBvPWUodCxuKTtvPi0xJiZ0LnNwbGljZShvLDEpfX0oWix0KSx6JiYoej0hMSxzPW09aD14PXZvaWQgMCl9dmFyIEY9ITE7ZnVuY3Rpb24gUigpe0Z8fChGPSEwLGkoXCJkb3duXCIscC5jYW52YXM/ZDpsLHEpLGkoXCJtb3ZlXCIsZG9jdW1lbnQsQix7cGFzc2l2ZTohMH0pLGkoXCJ1cFwiLGRvY3VtZW50LEQse3Bhc3NpdmU6ITB9KSl9cmV0dXJuIHAubm9CaW5kfHxSKCkse2JpbmQ6UixkZXN0cm95OmZ1bmN0aW9uKCl7Rj0hMSxjKFwiZG93blwiLHAuY2FudmFzP2Q6bCxxKSxjKFwibW92ZVwiLGRvY3VtZW50LEIpLGMoXCJ1cFwiLGRvY3VtZW50LEQpfSxldmVudE5hbWVzOmEsZ2V0UGFuOmZ1bmN0aW9uKCl7cmV0dXJue3g6TSx5Ok99fSxnZXRTY2FsZTpmdW5jdGlvbigpe3JldHVybiBQfSxnZXRPcHRpb25zOmZ1bmN0aW9uKCl7cmV0dXJuIGZ1bmN0aW9uKHQpe3ZhciBlPXt9O2Zvcih2YXIgbiBpbiB0KXQuaGFzT3duUHJvcGVydHkobikmJihlW25dPXRbbl0pO3JldHVybiBlfShwKX0scGFuOk4scmVzZXQ6ZnVuY3Rpb24oZSl7dmFyIG49dCh0KHQoe30scCkse2FuaW1hdGU6ITAsZm9yY2U6ITB9KSxlKTtQPVQobi5zdGFydFNjYWxlLG4pLnNjYWxlO3ZhciBvPUMobi5zdGFydFgsbi5zdGFydFksUCxuKTtyZXR1cm4gTT1vLngsTz1vLnksWChcInBhbnpvb21yZXNldFwiLG4pfSxzZXRPcHRpb25zOmZ1bmN0aW9uKHQpe2Zvcih2YXIgZSBpbiB2b2lkIDA9PT10JiYodD17fSksdCl0Lmhhc093blByb3BlcnR5KGUpJiYocFtlXT10W2VdKTt0Lmhhc093blByb3BlcnR5KFwiY3Vyc29yXCIpJiYobC5zdHlsZS5jdXJzb3I9dC5jdXJzb3IpLHQuaGFzT3duUHJvcGVydHkoXCJvdmVyZmxvd1wiKSYmKGQuc3R5bGUub3ZlcmZsb3c9dC5vdmVyZmxvdyksdC5oYXNPd25Qcm9wZXJ0eShcInRvdWNoQWN0aW9uXCIpJiYoZC5zdHlsZS50b3VjaEFjdGlvbj10LnRvdWNoQWN0aW9uLGwuc3R5bGUudG91Y2hBY3Rpb249dC50b3VjaEFjdGlvbiksKHQuaGFzT3duUHJvcGVydHkoXCJtaW5TY2FsZVwiKXx8dC5oYXNPd25Qcm9wZXJ0eShcIm1heFNjYWxlXCIpfHx0Lmhhc093blByb3BlcnR5KFwiY29udGFpblwiKSkmJlkoKX0sc2V0U3R5bGU6ZnVuY3Rpb24odCxlKXtyZXR1cm4gdihsLHQsZSl9LHpvb206TCx6b29tSW46ZnVuY3Rpb24odCl7cmV0dXJuIEkoITAsdCl9LHpvb21PdXQ6ZnVuY3Rpb24odCl7cmV0dXJuIEkoITEsdCl9LHpvb21Ub1BvaW50Olcsem9vbVdpdGhXaGVlbDpmdW5jdGlvbihlLG4pe2UucHJldmVudERlZmF1bHQoKTt2YXIgbz10KHQoe30scCksbikscj0oMD09PWUuZGVsdGFZJiZlLmRlbHRhWD9lLmRlbHRhWDplLmRlbHRhWSk8MD8xOi0xO3JldHVybiBXKFQoUCpNYXRoLmV4cChyKm8uc3RlcC8zKSxvKS5zY2FsZSxlLG8pfX19cmV0dXJuIHguZGVmYXVsdE9wdGlvbnM9Yix4fSk7XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJbkJoYm5wdmIyMHVhbk1pWFN3aWJtRnRaWE1pT2xzaVoyeHZZbUZzSWl3aVptRmpkRzl5ZVNJc0ltVjRjRzl5ZEhNaUxDSnRiMlIxYkdVaUxDSmtaV1pwYm1VaUxDSmhiV1FpTENKbmJHOWlZV3hVYUdseklpd2ljMlZzWmlJc0lsQmhibnB2YjIwaUxDSjBhR2x6SWl3aVgxOWhjM05wWjI0aUxDSlBZbXBsWTNRaUxDSmhjM05wWjI0aUxDSjBJaXdpY3lJc0lta2lMQ0p1SWl3aVlYSm5kVzFsYm5Seklpd2liR1Z1WjNSb0lpd2ljQ0lzSW5CeWIzUnZkSGx3WlNJc0ltaGhjMDkzYmxCeWIzQmxjblI1SWl3aVkyRnNiQ0lzSW1Gd2NHeDVJaXdpWm1sdVpFVjJaVzUwU1c1a1pYZ2lMQ0p3YjJsdWRHVnljeUlzSW1WMlpXNTBJaXdpY0c5cGJuUmxja2xrSWl3aVlXUmtVRzlwYm5SbGNpSXNJblJ2ZFdOb1pYTWlMQ0pmYVNJc0lsOWhJaXdpZEc5MVkyZ2lMQ0p6Y0d4cFkyVWlMQ0p3ZFhOb0lpd2laMlYwVFdsa1pHeGxJaXdpWlhabGJuUXlJaXdpWlhabGJuUXhJaXdpYzJ4cFkyVWlMQ0p3YjNBaUxDSmpiR2xsYm5SWUlpd2lZMnhwWlc1MFdTSXNJbWRsZEVScGMzUmhibU5sSWl3aVRXRjBhQ0lzSW5OeGNuUWlMQ0p3YjNjaUxDSmhZbk1pTENKM2FXNWtiM2NpTENKT2IyUmxUR2x6ZENJc0ltWnZja1ZoWTJnaUxDSkJjbkpoZVNJc0lrTjFjM1J2YlVWMlpXNTBJaXdpY0dGeVlXMXpJaXdpWW5WaVlteGxjeUlzSW1OaGJtTmxiR0ZpYkdVaUxDSmtaWFJoYVd3aUxDSmxkblFpTENKa2IyTjFiV1Z1ZENJc0ltTnlaV0YwWlVWMlpXNTBJaXdpYVc1cGRFTjFjM1J2YlVWMlpXNTBJaXdpWlhabGJuUnpJaXdpWkc5M2JpSXNJbTF2ZG1VaUxDSjFjQ0lzSW05dVVHOXBiblJsY2lJc0ltVnNaVzBpTENKb1lXNWtiR1Z5SWl3aVpYWmxiblJQY0hSeklpd2ljM0JzYVhRaUxDSnVZVzFsSWl3aVlXUmtSWFpsYm5STWFYTjBaVzVsY2lJc0ltUmxjM1J5YjNsUWIybHVkR1Z5SWl3aWNtVnRiM1psUlhabGJuUk1hWE4wWlc1bGNpSXNJbEJ2YVc1MFpYSkZkbVZ1ZENJc0lsUnZkV05vUlhabGJuUWlMQ0prYVhaVGRIbHNaU0lzSW1selNVVWlMQ0prYjJOMWJXVnVkRTF2WkdVaUxDSmpjbVZoZEdWVGRIbHNaU0lzSW1OeVpXRjBaVVZzWlcxbGJuUWlMQ0p6ZEhsc1pTSXNJbkJ5WldacGVHVnpJaXdpY0hKbFptbDRRMkZqYUdVaUxDSm5aWFJRY21WbWFYaGxaRTVoYldVaUxDSmpZWEJPWVcxbElpd2lkRzlWY0hCbGNrTmhjMlVpTENKd2NtVm1hWGhsWkU1aGJXVWlMQ0puWlhSRFUxTk9kVzBpTENKd1lYSnpaVVpzYjJGMElpd2laMlYwUW05NFUzUjViR1VpTENKblpYUkRiMjF3ZFhSbFpGTjBlV3hsSWl3aWMzVm1abWw0SWl3aWJHVm1kQ0lzSW5KcFoyaDBJaXdpZEc5d0lpd2lZbTkwZEc5dElpd2ljMlYwVTNSNWJHVWlMQ0oyWVd4MVpTSXNJbWRsZEVScGJXVnVjMmx2Ym5NaUxDSndZWEpsYm5RaUxDSndZWEpsYm5ST2IyUmxJaXdpY0dGeVpXNTBVM1I1YkdVaUxDSnlaV04wUld4bGJTSXNJbWRsZEVKdmRXNWthVzVuUTJ4cFpXNTBVbVZqZENJc0luSmxZM1JRWVhKbGJuUWlMQ0ozYVdSMGFDSXNJbWhsYVdkb2RDSXNJbTFoY21kcGJpSXNJbUp2Y21SbGNpSXNJbkJoWkdScGJtY2lMQ0pvWVhORGJHRnpjeUlzSW1Oc1lYTnpUbUZ0WlNJc0ltNXZaR1ZVZVhCbElpd2laMlYwUVhSMGNtbGlkWFJsSWl3aWRISnBiU0lzSW1kbGRFTnNZWE56SWl3aWFXNWtaWGhQWmlJc0luSnpkbWNpTENKa1pXWmhkV3gwVDNCMGFXOXVjeUlzSW1GdWFXMWhkR1VpTENKallXNTJZWE1pTENKamRYSnpiM0lpTENKa2FYTmhZbXhsVUdGdUlpd2laR2x6WVdKc1pWcHZiMjBpTENKa2FYTmhZbXhsV0VGNGFYTWlMQ0prYVhOaFlteGxXVUY0YVhNaUxDSmtkWEpoZEdsdmJpSXNJbVZoYzJsdVp5SXNJbVY0WTJ4MVpHVWlMQ0psZUdOc2RXUmxRMnhoYzNNaUxDSm9ZVzVrYkdWVGRHRnlkRVYyWlc1MElpd2laU0lzSW5CeVpYWmxiblJFWldaaGRXeDBJaXdpYzNSdmNGQnliM0JoWjJGMGFXOXVJaXdpYldGNFUyTmhiR1VpTENKdGFXNVRZMkZzWlNJc0ltOTJaWEptYkc5M0lpd2ljR0Z1VDI1c2VWZG9aVzVhYjI5dFpXUWlMQ0p5Wld4aGRHbDJaU0lzSW5ObGRGUnlZVzV6Wm05eWJTSXNJbDl2Y0hScGIyNXpJaXdpZUNJc0lua2lMQ0p6WTJGc1pTSXNJbWx6VTFaSElpd2liV0YwY21sNFZtRnNkV1VpTENKblpYUlFjbTl3WlhKMGVWWmhiSFZsSWl3aWMyVjBRWFIwY21saWRYUmxJaXdpYzNSaGNuUllJaXdpYzNSaGNuUlpJaXdpYzNSaGNuUlRZMkZzWlNJc0luTjBaWEFpTENKMGIzVmphRUZqZEdsdmJpSXNJbTl3ZEdsdmJuTWlMQ0pGY25KdmNpSXNJbVJ2WXlJc0ltOTNibVZ5Ukc5amRXMWxiblFpTENKa2IyTjFiV1Z1ZEVWc1pXMWxiblFpTENKamIyNTBZV2x1Y3lJc0ltbHpRWFIwWVdOb1pXUWlMQ0owWlhOMElpd2libUZ0WlhOd1lXTmxWVkpKSWl3aWJtOWtaVTVoYldVaUxDSjBiMHh2ZDJWeVEyRnpaU0lzSW1selUxWkhSV3hsYldWdWRDSXNJblZ6WlhKVFpXeGxZM1FpTENKdmNtbG5hVzRpTENKdmNtbG5XQ0lzSW05eWFXZFpJaXdpYzNSaGNuUkRiR2xsYm5SWUlpd2ljM1JoY25SRGJHbGxiblJaSWl3aWMzUmhjblJFYVhOMFlXNWpaU0lzSW1selVHRnVibWx1WnlJc0luUnlhV2RuWlhJaUxDSmxkbVZ1ZEU1aGJXVWlMQ0p2Y0hSeklpd2ljMmxzWlc1MElpd2laR2x6Y0dGMFkyaEZkbVZ1ZENJc0luTmxkRlJ5WVc1elptOXliVmRwZEdoRmRtVnVkQ0lzSW5KbGNYVmxjM1JCYm1sdFlYUnBiMjVHY21GdFpTSXNJbk5sZEZSeVlXNXphWFJwYjI0aUxDSnpaWFJOYVc1TllYZ2lMQ0pqYjI1MFlXbHVJaXdpWkdsdGN5SXNJbkJoY21WdWRGZHBaSFJvSWl3aWNHRnlaVzUwU0dWcFoyaDBJaXdpWld4bGJWTmpZV3hsWkZkcFpIUm9JaXdpWld4bGJWTmpZV3hsWkVobGFXZG9kQ0lzSW0xcGJpSXNJbTFoZUNJc0ltTnZibk4wY21GcGJsaFpJaXdpZEc5WUlpd2lkRzlaSWl3aWRHOVRZMkZzWlNJc0luQmhiazl3ZEdsdmJuTWlMQ0p5WlhOMWJIUWlMQ0ptYjNKalpTSXNJbkpsWVd4WGFXUjBhQ0lzSW5KbFlXeElaV2xuYUhRaUxDSnpZMkZzWldSWGFXUjBhQ0lzSW5OallXeGxaRWhsYVdkb2RDSXNJbVJwWm1aSWIzSnBlbTl1ZEdGc0lpd2laR2xtWmxabGNuUnBZMkZzSWl3aWJXbHVXQ0lzSW0xaGVGZ2lMQ0p0YVc1Wklpd2liV0Y0V1NJc0ltTnZibk4wY21GcGJsTmpZV3hsSWl3aWVtOXZiVTl3ZEdsdmJuTWlMQ0p3WVc0aUxDSjZiMjl0SWl3aVptOWpZV3dpTENKd1lXNVNaWE4xYkhRaUxDSjZiMjl0U1c1UGRYUWlMQ0pwYzBsdUlpd2laWGh3SWl3aWVtOXZiVlJ2VUc5cGJuUWlMQ0p3YjJsdWRDSXNJbVZtWm1WamRHbDJaVUZ5WldFaUxDSnpaWFJVYVcxbGIzVjBJaXdpYUdGdVpHeGxSRzkzYmlJc0ltTjFjaUlzSW1selJYaGpiSFZrWldRaUxDSjBZWEpuWlhRaUxDSjFibVJsWm1sdVpXUWlMQ0pqZFhKeVpXNTBJaXdpYUdGdVpHeGxWWEFpTENKeVpXMXZkbVZRYjJsdWRHVnlJaXdpWW05MWJtUWlMQ0ppYVc1a0lpd2ljR0Z6YzJsMlpTSXNJbTV2UW1sdVpDSXNJbVJsYzNSeWIza2lMQ0psZG1WdWRFNWhiV1Z6SWl3aVoyVjBVR0Z1SWl3aVoyVjBVMk5oYkdVaUxDSm5aWFJQY0hScGIyNXpJaXdpYjJKcUlpd2lZMnh2Ym1VaUxDSnJaWGtpTENKemFHRnNiRzkzUTJ4dmJtVWlMQ0p5WlhObGRDSXNJbkpsYzJWMFQzQjBhVzl1Y3lJc0luTmxkRTl3ZEdsdmJuTWlMQ0o2YjI5dFNXNGlMQ0o2YjI5dFQzVjBJaXdpZW05dmJWZHBkR2hYYUdWbGJDSXNJbmRvWldWc0lpd2laR1ZzZEdGWklpd2laR1ZzZEdGWUlsMHNJbTFoY0hCcGJtZHpJam9pUTBGTFF5eFRRVUZWUVN4RlFVRlJReXhIUVVOSkxHbENRVUZhUXl4VFFVRXdReXh2UWtGQldFTXNUMEZCZVVKQkxFOUJRVTlFTEZGQlFWVkVMRWxCUXpsRUxHMUNRVUZZUnl4UlFVRjVRa0VzVDBGQlQwTXNTVUZCVFVRc1QwRkJUMGdzU1VGRGJrUkVMRVZCUVN0Q0xHOUNRVUZtVFN4WFFVRTJRa0VzVjBGQllVNHNSMEZCVlU4c1RVRkJZVU1zVVVGQlZWQXNTVUZJYUVjc1EwRkpSVkVzUzBGQlRTeFhRVUZsTEdGQmFVSnVRaXhKUVVGSlF5eEZRVUZYTEZkQlVWZ3NUMEZRUVVFc1JVRkJWME1zVDBGQlQwTXNVVUZCVlN4VFFVRnJRa01zUjBGRE1VTXNTVUZCU3l4SlFVRkpReXhGUVVGSFF5eEZRVUZKTEVWQlFVZERMRVZCUVVsRExGVkJRVlZETEU5QlFWRklMRVZCUVVsRExFVkJRVWRFTEVsQlJUVkRMRWxCUVVzc1NVRkJTVWtzUzBGRVZFd3NSVUZCU1Vjc1ZVRkJWVVlzUjBGRFQwb3NUMEZCVDFNc1ZVRkJWVU1zWlVGQlpVTXNTMEZCUzFJc1JVRkJSMHNzUzBGQlNVNHNSVUZCUlUwc1IwRkJTMHdzUlVGQlJVc3NTVUZGT1VVc1QwRkJUMDRzU1VGRlMxVXNUVUZCVFdRc1MwRkJUVkVzV1VGM1FtaERMRk5CUVZOUExFVkJRV1ZETEVWQlFWVkRMRWRCUlRsQ0xFbEJSRUVzU1VGQlNWZ3NSVUZCU1ZVc1JVRkJVMUFzVDBGRFZrZ3NTMEZEU0N4SFFVRkpWU3hGUVVGVFZpeEhRVUZIV1N4WlFVRmpSQ3hGUVVGTlF5eFZRVU5vUXl4UFFVRlBXaXhGUVVkbUxFOUJRVkVzUlVGRldpeFRRVUZUWVN4RlFVRlhTQ3hGUVVGVlF5eEhRVU14UWl4SlFVRkpXQ3hGUVVWS0xFZEJRVWxYTEVWQlFVMUhMRkZCUVZZc1EwRkRTV1FzUlVGQlNTeEZRVU5LTEVsQlFVc3NTVUZCU1dVc1JVRkJTeXhGUVVGSFF5eEZRVUZMVEN4RlFVRk5SeXhSUVVGVFF5eEZRVUZMUXl4RlFVRkhZaXhQUVVGUldTeEpRVUZOTEVOQlEzWkVMRWxCUVVsRkxFVkJRVkZFTEVWQlFVZEVMRWRCUTJaRkxFVkJRVTFNTEZWQlFWbGFMRWxCUTJ4Q1lTeEZRVUZYU0N4RlFVRlZUeXhUUVVrM1FtcENMRVZCUVVsVExFVkJRV1ZETEVWQlFWVkRMRXRCUlhCQ0xFZEJRMHhFTEVWQlFWTlJMRTlCUVU5c1FpeEZRVUZITEVkQlJYWkNWU3hGUVVGVFV5eExRVUZMVWl4SFFYRkNiRUlzVTBGQlUxTXNSVUZCVlZZc1IwRkxaaXhKUVVaQkxFbEJRMGxYTEVWQlJFRkRMRWRCUkVwYUxFVkJRVmRCTEVWQlFWTmhMRTFCUVUwc1NVRkRTa01zVFVGRlpFZ3NSVUZCVTFnc1JVRkJVMk1zVDBGRGRFSkdMRVZCUVZNc1EwRkRURWNzVTBGQlZVb3NSVUZCVDBrc1VVRkJWVWdzUlVGQlQwY3NVMEZCVnl4RlFVRkpTQ3hGUVVGUFJ5eFJRVU40UkVNc1UwRkJWVXdzUlVGQlQwc3NVVUZCVlVvc1JVRkJUMGtzVTBGQlZ5eEZRVUZKU2l4RlFVRlBTU3hUUVVkb1JTeFBRVUZQU2l4RlFVOVlMRk5CUVZOTExFVkJRVmxxUWl4SFFVTnFRaXhIUVVGSlFTeEZRVUZUVUN4UFFVRlRMRVZCUTJ4Q0xFOUJRVThzUlVGRldDeEpRVUZKYlVJc1JVRkJVMW9zUlVGQlV5eEhRVU5zUWxjc1JVRkJVMWdzUlVGQlV5eEhRVU4wUWl4UFFVRlBhMElzUzBGQlMwTXNTMEZCUzBRc1MwRkJTMFVzU1VGQlNVWXNTMEZCUzBjc1NVRkJTVllzUlVGQlQwa3NVVUZCVlVnc1JVRkJUMGNzVTBGQlZTeEhRVU5xUlVjc1MwRkJTMFVzU1VGQlNVWXNTMEZCUzBjc1NVRkJTVllzUlVGQlQwc3NVVUZCVlVvc1JVRkJUMGtzVTBGQlZTeEpRVFZHZEVNc2IwSkJRVmhOTEZOQlJVeEJMRTlCUVU5RExGZEJRV0ZCTEZOQlFWTTFRaXhWUVVGVk5rSXNWVUZEZWtORUxGTkJRVk0xUWl4VlFVRlZOa0lzVVVGQlZVTXNUVUZCVFRsQ0xGVkJRVlUyUWl4VFFVbGlMRzFDUVVGMlFrWXNUMEZCVDBrc1kwRkRhRUpLTEU5QlFVOUpMRmxCUVdNc1UwRkJjVUo2UWl4RlFVRlBNRUlzUjBGREwwTkJMRVZCUVZOQkxFZEJRVlVzUTBGQlJVTXNVMEZCVXl4RlFVRlBReXhaUVVGWkxFVkJRVTlETEU5QlFWRXNUVUZEYUVVc1NVRkJTVU1zUlVGQlRVTXNVMEZCVTBNc1dVRkJXU3hsUVVVdlFpeFBRVVJCUml4RlFVRkpSeXhuUWtGQlowSnFReXhGUVVGUE1FSXNSVUZCVDBNc1VVRkJVMFFzUlVGQlQwVXNWMEZCV1VZc1JVRkJUMGNzVVVGRE9VUkRMRXRCYlVaaUxFbEJRVWxKTEVWQlFWTXNRMEZEVkVNc1MwRkJUU3haUVVOT1F5eExRVUZOTEZsQlEwNURMRWRCUVVrc2MwSkJhMEpTTEZOQlFWTkRMRVZCUVZWMFF5eEZRVUZQZFVNc1JVRkJUVU1zUlVGQlUwTXNSMEZEY2tOUUxFVkJRVTlzUXl4SFFVRlBNRU1zVFVGQlRTeExRVUZMYmtJc1VVRkJVU3hUUVVGVmIwSXNSMEZEZGtOS0xFVkJRVXRMTEdsQ1FVRnBRa1FzUlVGQlRVZ3NSVUZCVTBNc1MwRkhOME1zVTBGQlUwa3NSVUZCWlRkRExFVkJRVTkxUXl4RlFVRk5ReXhIUVVOcVEwNHNSVUZCVDJ4RExFZEJRVTh3UXl4TlFVRk5MRXRCUVV0dVFpeFJRVUZSTEZOQlFWVnZRaXhIUVVOMlEwb3NSVUZCUzA4c2IwSkJRVzlDU0N4RlFVRk5TQ3hMUVhaQ2FrSXNiMEpCUVZodVFpeFRRVU0wUWl4dFFrRkJlRUpCTEU5QlFVOHdRaXhoUVVOa1lpeEZRVUZUTEVOQlEweERMRXRCUVUwc1kwRkRUa01zUzBGQlRTeGpRVU5PUXl4SFFVRkpMSGREUVVjd1FpeHRRa0ZCZEVKb1FpeFBRVUZQTWtJc1lVRkRia0prTEVWQlFWTXNRMEZEVEVNc1MwRkJUU3hoUVVOT1F5eExRVUZOTEZsQlEwNURMRWRCUVVrc01FSkJaV2hDTEVsQlNVbFpMRVZCU2tGRExFVkJRVEpDTEc5Q1FVRmlia0lzV1VGQk9FSkJMRk5CUVZOdlFpeGhRVXQ2UkN4VFFVRlRReXhKUVVOTUxFOUJRVWxJTEVsQlIwbEJMRVZCUVZkc1FpeFRRVUZUYzBJc1kwRkJZeXhQUVVGUFF5eFBRVXR5UkN4SlFVRkpReXhGUVVGWExFTkJRVU1zVTBGQlZTeE5RVUZQTEUxQlF6ZENReXhGUVVGakxFZEJRMnhDTEZOQlFWTkRMRVZCUVdkQ1pDeEhRVU55UWl4SFFVRkpZU3hGUVVGWllpeEhRVU5hTEU5QlFVOWhMRVZCUVZsaUxFZEJSWFpDTEVsQlFVbE5MRVZCUVZkSExFbEJRMllzUjBGQlNWUXNTMEZCVVUwc1JVRkRVaXhQUVVGUlR5eEZRVUZaWWl4SFFVRlJRU3hGUVVsb1F5eEpRVVpCTEVsQlFVbGxMRVZCUVZWbUxFVkJRVXNzUjBGQlIyZENMR05CUVdkQ2FFSXNSVUZCU3k5Q0xFMUJRVTBzUjBGRE4wTjJRaXhGUVVGSmEwVXNSVUZCVXk5RUxFOUJRMVpJTEV0QlFVc3NRMEZEVWl4SlFVRkpkVVVzUlVGQlpTeEhRVUZMVEN4RlFVRlRiRVVzUjBGQlMzRkZMRVZCUTNSRExFZEJRVWxGTEV0QlFXZENXQ3hGUVVOb1FpeFBRVUZSVHl4RlFVRlpZaXhIUVVGUmFVSXNSMEZQZUVNc1UwRkJVME1zUlVGQlZXeENMRVZCUVUxWExFZEJRM0pDTEU5QlFVOVJMRmRCUVZkU0xFVkJRVTFITEVWQlFXZENaQ3hOUVVGWExFVkJSWFpFTEZOQlFWTnZRaXhGUVVGWmVFSXNSVUZCVFVrc1JVRkJUVmNzVVVGRFppeEpRVUZXUVN4SlFVRnZRa0VzUlVGQlVXcERMRTlCUVU4eVF5eHBRa0ZCYVVKNlFpeEpRVWQ0UkN4SlFVRkpNRUlzUlVGQmEwSXNWMEZCVkhSQ0xFVkJRVzlDTEZGQlFWVXNSMEZETTBNc1RVRkJUeXhEUVVOSWRVSXNTMEZCVFV3c1JVRkJWV3hDTEVWQlFVOHNUMEZCVTNOQ0xFVkJRVkZZTEVkQlEzaERZU3hOUVVGUFRpeEZRVUZWYkVJc1JVRkJUeXhSUVVGVmMwSXNSVUZCVVZnc1IwRkRNVU5qTEVsQlFVdFFMRVZCUVZWc1FpeEZRVUZQTEUxQlFWRnpRaXhGUVVGUldDeEhRVU4wUTJVc1QwRkJVVklzUlVGQlZXeENMRVZCUVU4c1UwRkJWM05DTEVWQlFWRllMRWxCVFhCRUxGTkJRVk5uUWl4RlFVRlRMMElzUlVGQlRVa3NSVUZCVFRSQ0xFZEJSVEZDYUVNc1JVRkJTMlVzVFVGQlRVY3NSVUZCWjBKa0xFbEJRVk0wUWl4RlFYZENlRU1zVTBGQlUwTXNSVUZCWTJwRExFZEJRMjVDTEVsQlFVbHJReXhGUVVGVGJFTXNSVUZCUzIxRExGZEJRMlJ3UWl4RlFVRlJha01zVDBGQlR6SkRMR2xDUVVGcFFucENMRWRCUTJoRGIwTXNSVUZCWTNSRUxFOUJRVTh5UXl4cFFrRkJhVUpUTEVkQlEzUkRSeXhGUVVGWGNrTXNSVUZCUzNORExIZENRVU5vUWtNc1JVRkJZVXdzUlVGQlQwa3NkMEpCUTNoQ0xFMUJRVThzUTBGRFNIUkRMRXRCUVUwc1EwRkRSbVVzVFVGQlQwRXNSVUZEVUhsQ0xFMUJRVTlJTEVWQlFWTkhMRTFCUTJoQ1F5eFBRVUZSU2l4RlFVRlRTU3hQUVVOcVFsb3NTVUZCUzFFc1JVRkJVMUlzU1VGRFpFTXNUMEZCVVU4c1JVRkJVMUFzVDBGRGFrSklMRXRCUVUxVkxFVkJRVk5XTEV0QlEyWkRMRTFCUVU5VExFVkJRVk5VTEUxQlEyaENZeXhQUVVGUmJFSXNSVUZCV1hoQ0xFVkJRVTBzVTBGQlZXVXNSMEZEY0VNMFFpeFBRVUZSYmtJc1JVRkJXWGhDTEVWQlFVMHNVMEZCVldVc1NVRkZlRU50UWl4UFFVRlJMRU5CUTBwdVFpeE5RVUZQY1VJc1JVRkRVRWtzVFVGQlQwUXNSVUZCVjBNc1RVRkRiRUpETEU5QlFWRkdMRVZCUVZkRkxFOUJRMjVDV2l4SlFVRkxWU3hGUVVGWFZpeEpRVU5vUWtNc1QwRkJVVk1zUlVGQlYxUXNUMEZEYmtKSUxFdEJRVTFaTEVWQlFWZGFMRXRCUTJwQ1F5eE5RVUZQVnl4RlFVRlhXQ3hOUVVOc1FtZENMRkZCUVZOd1FpeEZRVUZaVlN4RlFVRlJMRlZCUVZkRkxFZEJRM2hEVHl4UFFVRlJia0lzUlVGQldWVXNSVUZCVVN4VFFVRlZSU3hMUVhOQ2JFUXNVMEZCVTFNc1JVRkJVemRETEVWQlFVMDRReXhIUVVOd1FpeFBRVUY1UWl4SlFVRnNRamxETEVWQlFVc3JReXhYUVVGdFFpeEpRVXB1UXl4VFFVRnJRaTlETEVkQlEyUXNUMEZCVVVFc1JVRkJTMmRFTEdGQlFXRXNWVUZCV1N4SlFVRkpReXhQUVVkTVF5eERRVUZUYkVRc1IwRkJVU3hMUVVGTGJVUXNVVUZCVVN4SlFVRk5UQ3hGUVVGWkxFMUJRVkVzUlVGbGFrY3NTVUZCU1Uwc1JVRkJUeXh6UWtGbFdDeEpRVUZKUXl4RlFVRnBRaXhEUVVOcVFrTXNVMEZCVXl4RlFVTlVReXhSUVVGUkxFVkJRMUpETEU5QlFWRXNUMEZEVWtNc1dVRkJXU3hGUVVOYVF5eGhRVUZoTEVWQlEySkRMR05CUVdNc1JVRkRaRU1zWTBGQll5eEZRVU5rUXl4VFFVRlZMRWxCUTFaRExFOUJRVkVzWTBGRFVrTXNVVUZCVXl4SFFVTlVReXhoUVVGakxHdENRVU5rUXl4cFFrRkJhMElzVTBGQlZVTXNSMEZEZUVKQkxFVkJRVVZETEdsQ1FVTkdSQ3hGUVVGRlJTeHRRa0ZGVGtNc1UwRkJWU3hGUVVOV1F5eFRRVUZWTEV0QlExWkRMRk5CUVZVc1UwRkRWa01zYlVKQlFXMUNMRVZCUTI1Q1F5eFZRVUZWTEVWQlExWkRMR0ZCYUVoS0xGTkJRWE5DTVVVc1JVRkJUV3hETEVWQlFVazJSeXhIUVVNMVFpeEpRVUZKUXl4RlFVRkpPVWNzUlVGQlJ6aEhMRVZCUVVkRExFVkJRVWt2Unl4RlFVRkhLMGNzUlVGQlIwTXNSVUZCVVdoSUxFVkJRVWRuU0N4TlFVRlBReXhGUVVGUmFrZ3NSVUZCUjJsSUxFMUJSWEpFTEVkQlJFRm9SQ3hGUVVGVEwwSXNSVUZCVFN4WlFVRmhMRk5CUVZjNFJTeEZRVUZSTEdWQlFXbENSaXhGUVVGSkxFOUJRVk5ETEVWQlFVa3NUMEZETjBWRkxFZEJRVk53UlN4RlFVRk5MRU5CUTJZc1NVRkJTWEZGTEVWQlFXTnNSeXhQUVVGUE1rTXNhVUpCUVdsQ2VrSXNSMEZCVFdsR0xHbENRVUZwUWl4aFFVTnFSV3BHTEVWQlFVdHJSaXhoUVVGaExGbEJRV0ZHTEV0Qk5FZHVRMGNzVDBGQlVTeEZRVU5TUXl4UFFVRlJMRVZCUTFKRExGZEJRVmtzUlVGRFdrTXNTMEZCVFN4SFFVTk9ReXhaUVVGaExGRkJSV3BDTEZOQlFWTm9TaXhGUVVGUmVVUXNSVUZCVFhkR0xFZEJRMjVDTEVsQlFVdDRSaXhGUVVORUxFMUJRVTBzU1VGQlNYbEdMRTFCUVUwc09FTkJSWEJDTEVkQlFYTkNMRWxCUVd4Q2VrWXNSVUZCU3l0RExGTkJRMHdzVFVGQlRTeEpRVUZKTUVNc1RVRkJUU3h2UkVGRmNFSXNTVUV2UlVvc1UwRkJiMEo2Uml4SFFVTm9RaXhKUVVGSk1FWXNSVUZCVFRGR0xFVkJRVXN5Uml4alFVTllla1FzUlVGQlUyeERMRVZCUVV0dFF5eFhRVU5zUWl4UFFVRlJkVVFzUjBGRFNuaEVMRWRCUTJsQ0xFbEJRV3BDZDBRc1JVRkJTVE5ETEZWQlEyZENMRWxCUVhCQ1lpeEZRVUZQWVN4VlFVTlFNa01zUlVGQlNVVXNaMEpCUVdkQ1F5eFRRVUZUTTBRc1IwRjNSVFZDTkVRc1EwRkJWemxHTEVkQlExb3NUVUZCVFN4SlFVRkplVVlzVFVGQlRTd3lSVUZGY0VKRUxFVkJRVlV2U1N4RlFVRlRRU3hGUVVGVExFZEJRVWswUnl4SFFVRnBRbTFETEVkQlEycEVMRWxCUVVsVUxFVkJja1JTTEZOQlFYTkNMMFVzUjBGRGJFSXNUMEZCVDI5RUxFVkJRVXN5UXl4TFFVRkxMMFlzUlVGQlMyZEhMR1ZCUVdsRUxGRkJRV2hEYUVjc1JVRkJTMmxITEZOQlFWTkRMR05CYjBSNlEwTXNRMEZCWVc1SExFZEJRM0pDYTBNc1JVRkJVMnhETEVWQlFVdHRReXhYUVVWc1FrUXNSVUZCVDI1Q0xFMUJRVTEzUkN4VFFVRlhhVUlzUlVGQlVXcENMRk5CUTJoRGNrTXNSVUZCVDI1Q0xFMUJRVTF4Uml4WFFVRmhMRTlCUnpGQ2JFVXNSVUZCVDI1Q0xFMUJRVTEzUlN4WlFVRmpReXhGUVVGUlJDeGhRVU5zUTBNc1JVRkJVV3BETEU5QlFWTnlRaXhGUVVGVGJFTXNSMEZCVFdVc1RVRkJUWGxETEU5QlFWTm5ReXhGUVVGUmFFTXNUMEZGZUVSNFJDeEZRVUZMWlN4TlFVRk5jVVlzVjBGQllTeFBRVU40UW5CSExFVkJRVXRsTEUxQlFVMTNSU3haUVVGalF5eEZRVUZSUkN4WlFVZHFRM2hFTEVWQlFWTXZRaXhGUVVGTkxHdENRVUUyUXl4cFFrRkJia0ozUml4RlFVRlJZU3hQUVVGelFtSXNSVUZCVVdFc1QwRkJVM1JDTEVWQlFWRXNUVUZCVVN4WFFYbENlRWNzU1VFclRrbDFRaXhGUVVOQlF5eEZRVU5CUXl4RlFVTkJReXhGUVVOQmNFSXNSVUZEUVhGQ0xFVkJjRTlCT1VJc1JVRkJTU3hGUVVOS1F5eEZRVUZKTEVWQlEwcERMRVZCUVZFc1JVRkRValpDTEVkQlFWa3NSVUZWYUVJc1UwRkJVME1zUlVGQlVVTXNSVUZCVjNaSUxFVkJRVkYzU0N4SFFVTm9ReXhKUVVGSlFTeEZRVUZMUXl4UFFVRlVMRU5CUjBFc1NVRkJTWFJLTEVWQlFWRXNTVUZCU1hsQ0xGbEJRVmt5U0N4RlFVRlhMRU5CUVVWMlNDeFBRVUZSUVN4SlFVTnFSRlVzUlVGQlMyZElMR05CUVdOMlNpeEpRVVYyUWl4VFFVRlRkMG9zUlVGQmMwSktMRVZCUVZkRExFZEJRM1JETEVsQlFVazVSU3hGUVVGUkxFTkJRVVUwUXl4RlFVRkhRU3hGUVVGSFF5eEZRVUZIUVN4RlFVRkhReXhOUVVGUFFTeEZRVUZQUXl4TlFVRlBRU3hIUVdNdlF5eFBRV0pCYlVNc2MwSkJRWE5DTEZkQlExVXNhMEpCUVdwQ1NpeEZRVUZMZUVRc1ZVRkRVbmRFTEVWQlFVdDRSQ3hSUVhoTmVrSXNVMEZCZFVKMFJDeEZRVUZOZDBZc1IwRkZla0o2UkN4RlFVRlRMMElzUlVGQlRTeGhRVVJEYTBJc1JVRkJaMElzWVVGRFV5eEpRVUZOYzBVc1JVRkJVVE5DTEZOQlFWY3NUVUZCVVRKQ0xFVkJRVkV4UWl4UlFYVk5iRVZ4UkN4RFFVRmpia2dzUlVGQlRUaEhMRWRCUjNCQ0wwVXNSVUZCVXk5Q0xFVkJRVTBzWVVGQll5eFRRVWR5UXpoSExFVkJRVXR3UXl4aFFVRmhNVVVzUlVGQlRXZERMRVZCUVU4NFJTeExRVVZ1UTBZc1JVRkJVVU1zUlVGQlZ6ZEZMRVZCUVU4NFJTeEhRVU14UWtZc1JVRkJVU3huUWtGQmFVSTFSU3hGUVVGUE9FVXNSMEZEZWtJNVJTeEZRVVZZTEZOQlFWTnZSaXhKUVVOTUxFZEJRVWsxUWl4RlFVRlJOa0lzVVVGQlV5eERRVU5xUWl4SlFVRkpReXhGUVVGUGNrWXNSVUZCWTJwRExFZEJRM0pDZFVnc1JVRkJZMFFzUlVGQlMzQkdMRTlCUVU5TkxFMUJRVkU0UlN4RlFVRkxjRVlzVDBGQlQxTXNUMEZCVDJoQ0xFdEJRVTh5Uml4RlFVRkxjRVlzVDBGQlQxTXNUMEZCVDJZc1RVRkRMMFUwUml4RlFVRmxSaXhGUVVGTGNFWXNUMEZCVDA4c1QwRkJVelpGTEVWQlFVdHdSaXhQUVVGUFV5eFBRVUZQWkN4SlFVRk5lVVlzUlVGQlMzQkdMRTlCUVU5VExFOUJRVTlpTEU5QlIyaEdNa1lzUlVGQmEwSkdMRWRCUms1RUxFVkJRVXQwU0N4TFFVRkxkME1zVFVGQlVYTkRMRWRCUnpsQ05FTXNSVUZCYlVKR0xFZEJSazVHTEVWQlFVdDBTQ3hMUVVGTGVVTXNUMEZCVTNGRExFZEJSMW9zVjBGQmNFSlZMRVZCUVZFMlFpeFJRVU5TTjBJc1JVRkJVVzVDTEZOQlFWY3pSaXhMUVVGTGFVb3NTVUZCU1VZc1JVRkJhVUpETEVkQlJYQkNMRmxCUVhCQ2JFTXNSVUZCVVRaQ0xGVkJRMkkzUWl4RlFVRlJiRUlzVTBGQlZ6VkdMRXRCUVV0clNpeEpRVUZKU0N4RlFVRnBRa01zUzBGSmVrUXNVMEZCVTBjc1JVRkJXVU1zUlVGQlMwTXNSVUZCUzBNc1JVRkJVME1zUjBGRGNFTXNTVUZCU1c1Q0xFVkJRVTl5U3l4RlFVRlRRU3hGUVVGVExFZEJRVWtyU1N4SFFVRlZlVU1zUjBGRGRrTkRMRVZCUVZNc1EwRkJSWFJFTEVWQlFVZEJMRVZCUVVkRExFVkJRVWRCTEVWQlFVZHBReXhMUVVGTlFTeEhRVU5xUXl4SlFVRkxRU3hGUVVGTGNVSXNVVUZCVlhKQ0xFVkJRVXR5UkN4WlFVRmxjVVFzUlVGQlMzUkRMRzFDUVVGeFFrMHNTVUZCVldkRExFVkJRVXQ2UWl4WlFVTTNSU3hQUVVGUE5rTXNSVUZWV0N4SFFWSkJTaXhGUVVGTmRrY3NWMEZCVjNWSExFZEJRMnBDUXl4RlFVRk5lRWNzVjBGQlYzZEhMRWRCUTFwcVFpeEZRVUZMYmtRc1pVRkRUblZGTEVWQlFVOTBSQ3hIUVVGTGEwTXNSVUZCUzNKRExGTkJRVmRITEVWQlFVa3NSMEZCUzJ0RUxFZEJSWEJEYUVJc1JVRkJTMnhFTEdWQlEwNXpSU3hGUVVGUGNrUXNSMEZCUzJsRExFVkJRVXR5UXl4VFFVRlhTU3hGUVVGSkxFZEJRVXRyUkN4SFFVVndRaXhYUVVGcVFtcENMRVZCUVV0UExGRkJRWE5DTEVOQlF6TkNMRWxCUVVsRExFVkJRVTl5Uml4RlFVRmpha01zUjBGRGVrSnJTU3hGUVVGUGRFUXNSVUZCU1d4SExFdEJRVXRyU2l4TFFVRkxUaXhGUVVGTGRFZ3NTMEZCU3pCRExFOUJRVTltTEV0QlFVOHlSaXhGUVVGTGNFWXNUMEZCVDFVc1VVRkJVV3BDTEV0QlFVMXFSQ3hMUVVGTGFVb3NTVUZCU1V3c1JVRkJTM0JHTEU5QlFVOU5MRTFCUTNoR09FVXNSVUZCUzNSSUxFdEJRVXQzUXl4TlFVRlJkMFlzUlVGRGJFSldMRVZCUVV0d1JpeFBRVUZQVlN4UlFVRlJha0lzUzBGRGNFSXlSaXhGUVVGTGRFZ3NTMEZCU3pCRExFOUJRVTltTEV0QlEycENNa1lzUlVGQlMzQkdMRTlCUVU5VExFOUJRVTlvUWl4TFFVTnVRakpHTEVWQlFVdHdSaXhQUVVGUFV5eFBRVUZQWml4TlFVRlBjMGNzUlVGQlQzUkVMRWxCUTNKRGMwUXNSVUZCVDNKRUxFVkJRVWx1Unl4TFFVRkxhMG9zUzBGQlMwNHNSVUZCUzNSSUxFdEJRVXN3UXl4UFFVRlBZaXhKUVVGTmVVWXNSVUZCUzNCR0xFOUJRVTlWTEZGQlFWRm1MRWxCUVV0dVJDeExRVUZMYVVvc1NVRkJTVXdzUlVGQlMzQkdMRTlCUVU5UExFOUJRM1JHTmtVc1JVRkJTM1JJTEV0QlFVdDVReXhQUVVGVGRVWXNSVUZEYmtKV0xFVkJRVXR3Uml4UFFVRlBWU3hSUVVGUlppeEpRVU53UW5sR0xFVkJRVXQwU0N4TFFVRkxNRU1zVDBGQlQySXNTVUZEYWtKNVJpeEZRVUZMY0VZc1QwRkJUMU1zVDBGQlQyUXNTVUZEYmtKNVJpeEZRVUZMY0VZc1QwRkJUMU1zVDBGQlQySXNUMEZCVVc5SExFVkJRVTl5UkN4VFFVVnlReXhIUVVGeFFpeFpRVUZxUW1sRExFVkJRVXRQTEZGQlFYVkNMRU5CUTJwRExFbEJRMGxsTEVkQlJFRmtMRVZCUVU5eVJpeEZRVUZqYWtNc1NVRkRTa0VzUzBGQlMzZERMRTFCUVZGelF5eEZRVU01UW5WRUxFVkJRV0ZtTEVWQlFVdDBTQ3hMUVVGTGVVTXNUMEZCVTNGRExFVkJRMmhEZDBRc1JVRkJZMFlzUlVGQldVb3NSVUZETVVKUExFVkJRV1ZHTEVWQlFXRk1MRVZCUXpWQ1VTeEhRVUZyUWtZc1JVRkJZMFlzUjBGQllTeEZRVU0zUTBzc1IwRkJaMEpHTEVWQlFXVkdMRWRCUVdNc1JVRkROME5MTEV0QlFWVktMRVZCUVdOb1FpeEZRVUZMY0VZc1QwRkJUMDBzVDBGRGNFTTRSU3hGUVVGTGNFWXNUMEZCVDFVc1VVRkJVV3BDTEV0QlEzQkNNa1lzUlVGQlMzQkdMRTlCUVU5VExFOUJRVTlvUWl4TFFVTnVRakpHTEVWQlFVdHdSaXhQUVVGUFV5eFBRVUZQWml4TlFVTnVRalJITEVkQlEwRlNMRVZCUTBGWExFZEJRVkZJTEVWQlFXbENiRUlzUlVGQlMzQkdMRTlCUVU5VkxGRkJRVkZxUWl4TlFVRlJjVWNzUlVGRGVrUkZMRVZCUVU5MFJDeEZRVUZKYkVjc1MwRkJTMnRLTEVsQlFVbHNTaXhMUVVGTGFVb3NTVUZCU1U4c1JVRkJUM1JFTEVWQlFVY3JSQ3hIUVVGUFJDeEhRVU01UXl4SlFVRkpSU3hMUVVGVlRDeEZRVUZsYWtJc1JVRkJTM0JHTEU5QlFVOVBMRkZCUTNKRE5rVXNSVUZCUzNCR0xFOUJRVTlWTEZGQlFWRm1MRWxCUTNCQ2VVWXNSVUZCUzNCR0xFOUJRVTlUTEU5QlFVOWtMRWxCUTI1Q2VVWXNSVUZCUzNCR0xFOUJRVTlUTEU5QlFVOWlMRTlCUTI1Q01rY3NSMEZEUVZRc1JVRkRRV0VzUjBGQlVVb3NSVUZCWlc1Q0xFVkJRVXR3Uml4UFFVRlBWU3hSUVVGUlppeExRVUZQYlVjc1JVRkRkRVJGTEVWQlFVOXlSQ3hGUVVGSmJrY3NTMEZCUzJ0S0xFbEJRVWxzU2l4TFFVRkxhVW9zU1VGQlNVOHNSVUZCVDNKRUxFVkJRVWRuUlN4SFFVRlBSQ3hIUVVWc1JDeFBRVUZQVml4RlFVVllMRk5CUVZOWkxFVkJRV1ZrTEVWQlFWTmxMRWRCUXpkQ0xFbEJRVWxxUXl4RlFVRlBja3NzUlVGQlUwRXNSVUZCVXl4SFFVRkpLMGtzUjBGQlZYVkVMRWRCUTNaRFlpeEZRVUZUTEVOQlFVVndSQ3hOUVVGUFFTeEZRVUZQWjBNc1MwRkJUVUVzUjBGRGJrTXNUMEZCUzBFc1JVRkJTM0ZDTEU5QlFWTnlRaXhGUVVGTGNFUXNXVUZEWW5kRkxFZEJSVmhCTEVWQlFVOXdSQ3hOUVVGUmNFY3NTMEZCUzJsS0xFbEJRVWxxU2l4TFFVRkxhMG9zU1VGQlNVa3NSVUZCVTJ4Q0xFVkJRVXQ0UXl4VlFVRlhkME1zUlVGQlMzcERMRlZCUTNoRU5rUXNSMEZGV0N4VFFVRlRZeXhGUVVGSmJFSXNSVUZCUzBNc1JVRkJTMFVzUjBGRGJrSXNTVUZCU1VNc1JVRkJVMHdzUlVGQldVTXNSVUZCUzBNc1JVRkJTMnBFTEVWQlFVOXRSQ3hIUVVOMFEyNUNMRVZCUVU5dlFpeEZRVUZQY0VJc1MwRkhiRUlzVDBGR1FXeERMRVZCUVVselJDeEZRVUZQZEVRc1JVRkRXRU1zUlVGQlNYRkVMRVZCUVU5eVJDeEZRVU5LYjBNc1JVRkJjMElzWVVGQlkwZ3NSMEZGTDBNc1UwRkJVMjFETEVWQlFVdHFRaXhGUVVGVFpTeEhRVU51UWl4SlFVRkpZaXhGUVVGVFdTeEZRVUZsWkN4RlFVRlRaU3hIUVVOcVEycERMRVZCUVU5dlFpeEZRVUZQY0VJc1MwRkRiRUlzUjBGQlMwRXNSVUZCUzNGQ0xGRkJRVk55UWl4RlFVRkxjRVFzV1VGQmVFSXNRMEZIUVhORkxFVkJRVlZGTEVWQlFVOXdSQ3hOUVVOcVFpeEpRVUZKWjBRc1JVRkJUV3hFTEVWQlEwNXRSQ3hGUVVGTmJFUXNSVUZEVml4SFFVRkphVU1zUlVGQlMyOURMRTFCUVU4c1EwRkpXaXhKUVVGSlFTeEZRVUZSY0VNc1JVRkJTMjlETEUxQlEycENjRUlzUjBGQlQyOUNMRVZCUVUxMFJTeEZRVUZKYjBRc1JVRkJWV3RDTEVWQlFVMTBSU3hGUVVGSlJTeEZRVUZSUml4RlFVRkpiMFFzUjBGQlYwRXNSVUZETlVSRUxFZEJRVTl0UWl4RlFVRk5ja1VzUlVGQlNXMUVMRVZCUVZWclFpeEZRVUZOY2tVc1JVRkJTVU1zUlVGQlVVUXNSVUZCU1cxRUxFZEJRVmRCTEVWQlJXaEZMRWxCUVVsdFFpeEZRVUZaZEVJc1JVRkJXVU1zUlVGQlMwTXNSVUZCUzBNc1JVRkJVeXhEUVVGRmRrUXNWVUZCVlN4RlFVRlBNRVFzVDBGQlR5eEpRVWw2UlN4UFFVaEJka1FzUlVGQlNYVkZMRVZCUVZWMlJTeEZRVU5rUXl4RlFVRkpjMFVzUlVGQlZYUkZMRVZCUTJSRExFVkJRVkZyUkN4RlFVTkVaaXhGUVVGelFpeGpRVUZsU0N4SlFVVm9SQ3hUUVVGVGMwTXNSVUZCVlVNc1JVRkJUVTRzUjBGRGNrSXNTVUZCU1dwRExFVkJRVTl5U3l4RlFVRlRRU3hGUVVGVFFTeEZRVUZUTEVkQlFVa3JTU3hIUVVGVkxFTkJRVVZzUXl4VFFVRlRMRWxCUVZONVJpeEhRVU40UlN4UFFVRlBSU3hGUVVGTGJrVXNSVUZCVVhCSExFdEJRVXMwU3l4TFFVRkxSQ3hGUVVGUExFZEJRVXNzUjBGQlMzWkRMRVZCUVV0NFFpeE5RVUZQZDBJc1IwRlJMMFFzVTBGQlUzbERMRVZCUVZsMlFpeEZRVUZUZDBJc1JVRkJUMVFzUjBGRGFrTXNTVUZCU1hwQ0xFVkJRVTl5Uml4RlFVRmpha01zUjBGTGNrSjVTaXhGUVVOUGJrTXNSVUZCUzNCR0xFOUJRVTlOTEUxQlEyWTRSU3hGUVVGTGNFWXNUMEZCVDFVc1VVRkJVV3BDTEV0QlEzQkNNa1lzUlVGQlMzQkdMRTlCUVU5VkxGRkJRVkZvUWl4TlFVTndRakJHTEVWQlFVdHdSaXhQUVVGUFV5eFBRVUZQYUVJc1MwRkRia0l5Uml4RlFVRkxjRVlzVDBGQlQxTXNUMEZCVDJZc1RVRk1ka0kyU0N4RlFVMVJia01zUlVGQlMzQkdMRTlCUVU5UExFOUJRMmhDTmtVc1JVRkJTM0JHTEU5QlFVOVZMRkZCUVZGbUxFbEJRM0JDZVVZc1JVRkJTM0JHTEU5QlFVOVZMRkZCUVZGa0xFOUJRM0JDZDBZc1JVRkJTM0JHTEU5QlFVOVRMRTlCUVU5a0xFbEJRMjVDZVVZc1JVRkJTM0JHTEU5QlFVOVRMRTlCUVU5aUxFOUJTWFpDZGtRc1JVRkJWV2xNTEVWQlFVMXFUQ3hSUVVOb1FpdEpMRVZCUVV0d1JpeFBRVUZQVUN4TFFVTmFNa1lzUlVGQlMzQkdMRTlCUVU5VkxGRkJRVkZxUWl4TFFVTndRakpHTEVWQlFVdHdSaXhQUVVGUFV5eFBRVUZQYUVJc1MwRkRia0l5Uml4RlFVRkxkRWdzUzBGQlN6QkRMRTlCUVU5bUxFdEJRMnBDYmtRc1JVRkJWV2RNTEVWQlFVMW9UQ3hSUVVOb1FqaEpMRVZCUVV0d1JpeFBRVUZQVEN4SlFVTmFlVVlzUlVGQlMzQkdMRTlCUVU5VkxGRkJRVkZtTEVsQlEzQkNlVVlzUlVGQlMzQkdMRTlCUVU5VExFOUJRVTlrTEVsQlEyNUNlVVlzUlVGQlMzUklMRXRCUVVzd1F5eFBRVUZQWWl4SlFVZG9RbXRFTEVsQlEwUjRSeXhIUVVGWEswa3NSVUZCUzNSSUxFdEJRVXQzUXl4TlFVRlJjME1zUlVGQlVTeEZRVU55UTNSSExFZEJRVmM0U1N4RlFVRkxkRWdzUzBGQlMzbERMRTlCUVZOeFF5eEZRVUZSTEVkQlN6RkRMRWxCUVVsdlJTeEZRVUZSTEVOQlExSjBSU3hGUVVGSmNrY3NSVUZCVld0TUxFZEJRWGRDUVN4RlFVRnpRbnBDTEVkQlF6VkVia1FzUlVGQlNYSkhMRVZCUVZWcFRDeEhRVUY1UWtFc1JVRkJkVUo2UWl4SlFVVnNSU3hQUVVGUGFVSXNSVUZCUzJwQ0xFVkJRVk4yVEN4RlFVRlRRU3hGUVVGVExFTkJRVVUyUnl4VFFVRlRMRWRCUVZONVJpeEhRVUZqTEVOQlFVVkhMRTFCUVU5QkxFdEJkRTEwUmtRc1JVRkJTM3BFTEVWQlFWRklMRmRCUVZrc1EwRkJSUzlDTEZOQlFWTXNTVUZKY0VOdlJ5eFhRVUZYTEZkQlExQjBReXhKUVVOQk5FSXNSVUZCU1hoRUxFVkJRVkZNTEU5QlFWRkxMRVZCUVZGS0xFOUJRVkVzUTBGQlJUbENMRk5CUVZNc1RVRXlUbTVFTEVsQlFVazVSaXhGUVVGWExFZEJRMllzVTBGQlUyMU5MRVZCUVZkc1RTeEhRVVZvUWl4SlFXeFdVaXhUUVVGdlFuVkRMRVZCUVUxM1JpeEhRVU4wUWl4SlFVRkxMRWxCUVVsdlJTeEZRVUZOTlVvc1JVRkJZU3hOUVVGUU5Fb3NSVUZCWVVFc1JVRkJUVUVzUlVGQlNYcElMRmRCUTNoRExFZEJRVWxWTEVWQlFWTXJSeXhGUVVGTGNFVXNSVUZCVVhoQ0xHVkJRV2xDZDBJc1JVRkJVWHBDTEZGQlFWRmFMRkZCUVZGNVJ5eEpRVUZSTEVWQlEzWkZMRTlCUVU4c1JVRkhaaXhQUVVGUExFVkJORlZEUXl4RFFVRlhjRTBzUlVGQlRYRk5MRTlCUVZGMFJTeEhRVUUzUWl4RFFVZEJOMGdzUlVGQlYwZ3NSVUZCVlVNc1IwRkRja0pyU2l4SFFVRlpMRVZCUTFwdVFpeEZRVUZSZGtJc2FVSkJRV2xDZUVjc1IwRkRla0kyU1N4RlFVRlJNVUlzUlVGRFVqSkNMRVZCUVZFeFFpeEZRVU5TSzBJc1JVRkJVU3hsUVVGblFpeERRVUZGYUVNc1JVRkJSMEVzUlVGQlIwTXNSVUZCUjBFc1JVRkJSME1zVFVGQlQwRXNSMEZCVTFVc1IwRkhkRVFzU1VGQlNXZEZMRVZCUVZGMFRDeEZRVUZWVml4SFFVTjBRbWRLTEVWQlFXVm5SQ3hGUVVGTmFrd3NVVUZEY2tKclNTeEZRVUZsSzBNc1JVRkJUV2hNTEZGQlEzSkNOa2NzUlVGQllWQXNSVUZEWWpSQ0xFVkJRV2RDYWtrc1JVRkJXV3BDTEVsQlJXaERMRk5CUVZOeFF5eEZRVUZMY0VNc1IwRkRWaXhIUVVGTGEwb3NVVUZEVTI5RUxFbEJRVlo2UkN4UlFVTlZlVVFzU1VGQlZuaEVMRkZCUTJsQ2QwUXNTVUZCYWtKMlJDeFJRVU5wUW5WRUxFbEJRV3BDZEVRc1JVRktTaXhEUVU5Qk9Va3NSVUZCVjBnc1JVRkJWVU1zUjBGRGNrSXNTVUZCU1hWTkxFVkJRVlU1VEN4RlFVRlZWaXhIUVVONFFpeEhRVUZKUVN4RlFVRlRVQ3hQUVVGVExFVkJTMnhDYzAwc1JVRkVZMVFzUjBGRVNISkxMRVZCUVZscVFpeEhRVUZaYTBvc1IwRkRSV3hDTEVWQlFWRkdMRXRCUVZFc1IwRkJTMFFzUjBGQldWQXNUVUZEYWtSclJpeEhRVVY2UW1oQ0xFVkJRVWt4UXl4SFFVRlRNRVFzUlVGQlVYcE1MRkZCUVZWcFNTeEhRVUZuUWpGQ0xFVkJRVTk1UWl4SFFVRlRlVVFzUlVGQlVYaE1MRkZCUVZWcFNTeEhRVUZuUWpOQ0xFVkJRVThzUTBGRGNFZDRRaXhUUVVGVExFdEJSMnBDTEZOQlFWTXlSeXhGUVVGVGVFMHNSMEZIVlN4SlFVRndRa1FzUlVGQlUxQXNVVUZEVkRKS0xFVkJRVkVzWVVGQll5eERRVUZGYUVNc1JVRkJSMEVzUlVGQlIwTXNSVUZCUjBFc1JVRkJSME1zVFVGQlQwRXNSMEZCVTFVc1IwRXZhMEpvUlN4VFFVRjFRbWhKTEVWQlFWVkRMRWRCUlRkQ0xFZEJRVWxCTEVWQlFVMUhMRkZCUlU0c1MwRkJUMG9zUlVGQlUxQXNVVUZEV2s4c1JVRkJVMk1zVlVGSWFrSXNRMEZQUVN4SlFVRkplRUlzUlVGQlNWTXNSVUZCWlVNc1JVRkJWVU1zUjBGRE4wSllMRWRCUVVzc1IwRkRURlVzUlVGQlUxRXNUMEZCVDJ4Q0xFVkJRVWNzU1VGNWEwSnVRbTlPTEVOQlFXTXhUU3hGUVVGVlF5eEhRVU51UW10S0xFbEJSMHhCTEVkQlFWa3NSVUZEV2t3c1JVRkJVVU1zUlVGQlVVTXNSVUZCWlVNc1QwRkJaWE5FTEVkQlJXeEVMRWxCUVVsSkxFZEJRVkVzUlVGRFdpeFRRVUZUUXl4SlFVTkVSQ3hKUVVkS1FTeEhRVUZSTEVWQlExSndTeXhGUVVGVkxFOUJRVkY1Uml4RlFVRlJha01zVDBGQlUzSkNMRVZCUVZOc1F5eEZRVUZOTWtvc1IwRkRiRVExU2l4RlFVRlZMRTlCUVZGUUxGTkJRVlZMTEVWQlFVMHNRMEZCUlhkTExGTkJRVk1zU1VGRE4wTjBTeXhGUVVGVkxFdEJRVTFRTEZOQlFWVjVTeXhGUVVGVkxFTkJRVVZKTEZOQlFWTXNTMEZYYmtRc1QwRklTemRGTEVWQlFWRTRSU3hSUVVOVVJpeEpRVVZITEVOQlEwaEJMRXRCUVUxQkxFVkJRMDVITEZGQldFb3NWMEZEU1Vvc1IwRkJVU3hGUVVOU04wb3NSVUZCWlN4UFFVRlJhMFlzUlVGQlVXcERMRTlCUVZOeVFpeEZRVUZUYkVNc1JVRkJUVEpLTEVkQlEzWkVja29zUlVGQlpTeFBRVUZSWkN4VFFVRlZTeXhIUVVOcVExTXNSVUZCWlN4TFFVRk5aQ3hUUVVGVmVVc3NTVUZSTDBKUExGZEJRVmszU3l4RlFVTmFPRXNzVDBGQlVTeFhRVUZqTEUxQlFVOHNRMEZCUnpkR0xFVkJRVWRCTEVWQlFVZERMRVZCUVVkQkxFbEJRM3BETmtZc1UwRkJWU3hYUVVGakxFOUJRVTgxUml4SFFVTXZRalpHTEZkQlFWa3NWMEZCWXl4UFFTOVpiRU1zVTBGQmMwSkRMRWRCUTJ4Q0xFbEJRVWxETEVWQlFWRXNSMEZEV2l4SlFVRkxMRWxCUVVsRExFdEJRVTlHTEVWQlExSkJMRVZCUVVsNFRpeGxRVUZsTUU0c1MwRkRia0pFTEVWQlFVMURMRWRCUVU5R0xFVkJRVWxGTEVsQlIzcENMRTlCUVU5RUxFVkJkMWs0UWtVc1EwRkJZWFpHTEVsQlF6bERkMFFzU1VGQlMwRXNSVUZEVEdkRExFMUJiRWRLTEZOQlFXVkRMRWRCUTFnc1NVRkJTVzVGTEVWQlFVOXlTeXhGUVVGVFFTeEZRVUZUUVN4RlFVRlRMRWRCUVVrclNTeEhRVUZWTEVOQlFVVnNReXhUUVVGVExFVkJRVTAyUlN4UFFVRlBMRWxCUVZNNFF5eEhRVU55Um01SExFVkJRVkZuUlN4RlFVRmxhRU1zUlVGQlMzcENMRmRCUVZsNVFpeEhRVUZOYUVNc1RVRkRPVU1zU1VGQlNYRkZMRVZCUVZsMFFpeEZRVUZaWml4RlFVRkxNMElzVDBGQlVUSkNMRVZCUVVzeFFpeFBRVUZSVGl4RlFVRlBaME1zUjBGSE4wUXNUMEZHUVd4RExFVkJRVWwxUlN4RlFVRlZka1VzUlVGRFpFTXNSVUZCU1hORkxFVkJRVlYwUlN4RlFVTlFiME1zUlVGQmMwSXNaVUZCWjBKSUxFbEJOa1kzUTI5RkxGZEJiRlpLTEZOQlFXOUNjRVVzUjBGRmFFSXNTVUZCU3l4SlFVRkpaMFVzVlVGRVNTeEpRVUZVYUVVc1NVRkJiVUpCTEVWQlFVOHNTVUZEWkVFc1JVRkRVa0VzUlVGQlN6RktMR1ZCUVdVd1RpeExRVU53UW5SR0xFVkJRVkZ6Uml4SFFVRlBhRVVzUlVGQlMyZEZMRWxCU1hoQ2FFVXNSVUZCU3pGS0xHVkJRV1VzV1VGRGNFSTBReXhGUVVGTFpTeE5RVUZOZVVNc1QwRkJVM05FTEVWQlFVdDBSQ3hSUVVWNlFuTkVMRVZCUVVzeFNpeGxRVUZsTEdOQlEzQkNPRVVzUlVGQlQyNUNMRTFCUVUxM1JDeFRRVUZYZFVNc1JVRkJTM1pETEZWQlJUZENkVU1zUlVGQlN6RktMR1ZCUVdVc2FVSkJRM0JDT0VVc1JVRkJUMjVDTEUxQlFVMTNSU3haUVVGamRVSXNSVUZCUzNaQ0xGbEJRMmhEZGtZc1JVRkJTMlVzVFVGQlRYZEZMRmxCUVdOMVFpeEZRVUZMZGtJc1kwRkZPVUoxUWl4RlFVRkxNVW9zWlVGQlpTeGhRVU53UWpCS0xFVkJRVXN4U2l4bFFVRmxMR0ZCUTNCQ01Fb3NSVUZCU3pGS0xHVkJRV1VzWVVGRGNFSm5TeXhMUVRoVVNuSkdMRk5CUVZVc1UwRkJWVE5DTEVWQlFVMDBRaXhIUVVGVExFOUJRVTlFTEVWQlFWTXZRaXhGUVVGTlNTeEZRVUZOTkVJc1NVRkRMMFJwU0N4TFFVRk5RU3hGUVVOT2EwTXNUMEZ3UzBvc1UwRkJaMEp3UXl4SFFVTmFMRTlCUVU5TExFZEJRVlVzUlVGQlRVd3NTVUZ2UzNaQ2NVTXNVVUZzUzBvc1UwRkJhVUp5UXl4SFFVTmlMRTlCUVU5TExFZEJRVlVzUlVGQlQwd3NTVUZyUzNoQ1VTeFpRVUZoUVN4RlFVTmlPRUlzWTBGd1NFb3NVMEZCZFVJMVRpeEZRVUZQYzB3c1IwRkhNVUowVEN4RlFVRk5NRWNzYVVKQlEwNHNTVUZCU1RKRExFVkJRVTl5U3l4RlFVRlRRU3hGUVVGVExFZEJRVWtyU1N4SFFVRlZkVVFzUjBGSGRrTjFReXhIUVVSNVFpeEpRVUZxUWpkT0xFVkJRVTA0VGl4UlFVRm5RamxPTEVWQlFVMHJUaXhQUVVGVEwwNHNSVUZCVFN0T0xFOUJRVk12VGl4RlFVRk5PRTRzVVVGRGJFUXNSVUZCU1N4SFFVRkxMRVZCUlRkQ0xFOUJRVTlvUXl4RlFVUlBWQ3hGUVVGbGFFVXNSVUZCVVhCSExFdEJRVXMwU3l4SlFVRkxaME1zUlVGQlVYaEZMRVZCUVV0NFFpeExRVUZSTEVkQlFVbDNRaXhIUVVGTmFFTXNUVUZEYkVSeVNDeEZRVUZQY1Vvc1MwRm5TRE5ETEU5QlJrRjJTeXhGUVVGUk9FY3NaVUZCYVVKQkxFVkJSV3hDT1VjaUxDSm1hV3hsSWpvaUwyaHZiV1V2ZW1sdWJ5OXdjbTlxWldOMGN5OXpaV0YwYldGd2RqSXZiV0Z6ZEdWeUwzTmxZWFJ0WVhCMk1pOWpiR2xsYm5RdmJtOWtaVjl0YjJSMWJHVnpMMEJ3WVc1NmIyOXRMM0JoYm5wdmIyMHZaR2x6ZEM5d1lXNTZiMjl0TG1wekluMD0iLCJtb2R1bGUuZXhwb3J0cz1yZXF1aXJlKFwiLi9saWIvYXhpb3NcIik7XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJbWx1WkdWNExtcHpJbDBzSW01aGJXVnpJanBiSW0xdlpIVnNaU0lzSW1WNGNHOXlkSE1pTENKeVpYRjFhWEpsSWwwc0ltMWhjSEJwYm1keklqb2lRVUZCUVVFc1QwRkJUME1zVVVGQlZVTXNVVUZCVVNJc0ltWnBiR1VpT2lJdmFHOXRaUzk2YVc1dkwzQnliMnBsWTNSekwzTmxZWFJ0WVhCMk1pOXRZWE4wWlhJdmMyVmhkRzFoY0hZeUwyTnNhV1Z1ZEM5dWIyUmxYMjF2WkhWc1pYTXZZWGhwYjNNdmFXNWtaWGd1YW5NaWZRPT0iLCJcInVzZSBzdHJpY3RcIjt2YXIgdXRpbHM9cmVxdWlyZShcIi4vLi4vdXRpbHNcIiksc2V0dGxlPXJlcXVpcmUoXCIuLy4uL2NvcmUvc2V0dGxlXCIpLGNvb2tpZXM9cmVxdWlyZShcIi4vLi4vaGVscGVycy9jb29raWVzXCIpLGJ1aWxkVVJMPXJlcXVpcmUoXCIuLy4uL2hlbHBlcnMvYnVpbGRVUkxcIiksYnVpbGRGdWxsUGF0aD1yZXF1aXJlKFwiLi4vY29yZS9idWlsZEZ1bGxQYXRoXCIpLHBhcnNlSGVhZGVycz1yZXF1aXJlKFwiLi8uLi9oZWxwZXJzL3BhcnNlSGVhZGVyc1wiKSxpc1VSTFNhbWVPcmlnaW49cmVxdWlyZShcIi4vLi4vaGVscGVycy9pc1VSTFNhbWVPcmlnaW5cIiksY3JlYXRlRXJyb3I9cmVxdWlyZShcIi4uL2NvcmUvY3JlYXRlRXJyb3JcIik7bW9kdWxlLmV4cG9ydHM9ZnVuY3Rpb24oZSl7cmV0dXJuIG5ldyBQcm9taXNlKGZ1bmN0aW9uKHIsdCl7dmFyIHM9ZS5kYXRhLG89ZS5oZWFkZXJzO3V0aWxzLmlzRm9ybURhdGEocykmJmRlbGV0ZSBvW1wiQ29udGVudC1UeXBlXCJdO3ZhciBhPW5ldyBYTUxIdHRwUmVxdWVzdDtpZihlLmF1dGgpe3ZhciBuPWUuYXV0aC51c2VybmFtZXx8XCJcIixpPWUuYXV0aC5wYXNzd29yZD91bmVzY2FwZShlbmNvZGVVUklDb21wb25lbnQoZS5hdXRoLnBhc3N3b3JkKSk6XCJcIjtvLkF1dGhvcml6YXRpb249XCJCYXNpYyBcIitidG9hKG4rXCI6XCIraSl9dmFyIHU9YnVpbGRGdWxsUGF0aChlLmJhc2VVUkwsZS51cmwpO2lmKGEub3BlbihlLm1ldGhvZC50b1VwcGVyQ2FzZSgpLGJ1aWxkVVJMKHUsZS5wYXJhbXMsZS5wYXJhbXNTZXJpYWxpemVyKSwhMCksYS50aW1lb3V0PWUudGltZW91dCxhLm9ucmVhZHlzdGF0ZWNoYW5nZT1mdW5jdGlvbigpe2lmKGEmJjQ9PT1hLnJlYWR5U3RhdGUmJigwIT09YS5zdGF0dXN8fGEucmVzcG9uc2VVUkwmJjA9PT1hLnJlc3BvbnNlVVJMLmluZGV4T2YoXCJmaWxlOlwiKSkpe3ZhciBzPVwiZ2V0QWxsUmVzcG9uc2VIZWFkZXJzXCJpbiBhP3BhcnNlSGVhZGVycyhhLmdldEFsbFJlc3BvbnNlSGVhZGVycygpKTpudWxsLG89e2RhdGE6ZS5yZXNwb25zZVR5cGUmJlwidGV4dFwiIT09ZS5yZXNwb25zZVR5cGU/YS5yZXNwb25zZTphLnJlc3BvbnNlVGV4dCxzdGF0dXM6YS5zdGF0dXMsc3RhdHVzVGV4dDphLnN0YXR1c1RleHQsaGVhZGVyczpzLGNvbmZpZzplLHJlcXVlc3Q6YX07c2V0dGxlKHIsdCxvKSxhPW51bGx9fSxhLm9uYWJvcnQ9ZnVuY3Rpb24oKXthJiYodChjcmVhdGVFcnJvcihcIlJlcXVlc3QgYWJvcnRlZFwiLGUsXCJFQ09OTkFCT1JURURcIixhKSksYT1udWxsKX0sYS5vbmVycm9yPWZ1bmN0aW9uKCl7dChjcmVhdGVFcnJvcihcIk5ldHdvcmsgRXJyb3JcIixlLG51bGwsYSkpLGE9bnVsbH0sYS5vbnRpbWVvdXQ9ZnVuY3Rpb24oKXt2YXIgcj1cInRpbWVvdXQgb2YgXCIrZS50aW1lb3V0K1wibXMgZXhjZWVkZWRcIjtlLnRpbWVvdXRFcnJvck1lc3NhZ2UmJihyPWUudGltZW91dEVycm9yTWVzc2FnZSksdChjcmVhdGVFcnJvcihyLGUsXCJFQ09OTkFCT1JURURcIixhKSksYT1udWxsfSx1dGlscy5pc1N0YW5kYXJkQnJvd3NlckVudigpKXt2YXIgbD0oZS53aXRoQ3JlZGVudGlhbHN8fGlzVVJMU2FtZU9yaWdpbih1KSkmJmUueHNyZkNvb2tpZU5hbWU/Y29va2llcy5yZWFkKGUueHNyZkNvb2tpZU5hbWUpOnZvaWQgMDtsJiYob1tlLnhzcmZIZWFkZXJOYW1lXT1sKX1pZihcInNldFJlcXVlc3RIZWFkZXJcImluIGEmJnV0aWxzLmZvckVhY2gobyxmdW5jdGlvbihlLHIpe3ZvaWQgMD09PXMmJlwiY29udGVudC10eXBlXCI9PT1yLnRvTG93ZXJDYXNlKCk/ZGVsZXRlIG9bcl06YS5zZXRSZXF1ZXN0SGVhZGVyKHIsZSl9KSx1dGlscy5pc1VuZGVmaW5lZChlLndpdGhDcmVkZW50aWFscyl8fChhLndpdGhDcmVkZW50aWFscz0hIWUud2l0aENyZWRlbnRpYWxzKSxlLnJlc3BvbnNlVHlwZSl0cnl7YS5yZXNwb25zZVR5cGU9ZS5yZXNwb25zZVR5cGV9Y2F0Y2gocil7aWYoXCJqc29uXCIhPT1lLnJlc3BvbnNlVHlwZSl0aHJvdyByfVwiZnVuY3Rpb25cIj09dHlwZW9mIGUub25Eb3dubG9hZFByb2dyZXNzJiZhLmFkZEV2ZW50TGlzdGVuZXIoXCJwcm9ncmVzc1wiLGUub25Eb3dubG9hZFByb2dyZXNzKSxcImZ1bmN0aW9uXCI9PXR5cGVvZiBlLm9uVXBsb2FkUHJvZ3Jlc3MmJmEudXBsb2FkJiZhLnVwbG9hZC5hZGRFdmVudExpc3RlbmVyKFwicHJvZ3Jlc3NcIixlLm9uVXBsb2FkUHJvZ3Jlc3MpLGUuY2FuY2VsVG9rZW4mJmUuY2FuY2VsVG9rZW4ucHJvbWlzZS50aGVuKGZ1bmN0aW9uKGUpe2EmJihhLmFib3J0KCksdChlKSxhPW51bGwpfSksc3x8KHM9bnVsbCksYS5zZW5kKHMpfSl9O1xuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSW5ob2NpNXFjeUpkTENKdVlXMWxjeUk2V3lKMWRHbHNjeUlzSW5KbGNYVnBjbVVpTENKelpYUjBiR1VpTENKamIyOXJhV1Z6SWl3aVluVnBiR1JWVWt3aUxDSmlkV2xzWkVaMWJHeFFZWFJvSWl3aWNHRnljMlZJWldGa1pYSnpJaXdpYVhOVlVreFRZVzFsVDNKcFoybHVJaXdpWTNKbFlYUmxSWEp5YjNJaUxDSnRiMlIxYkdVaUxDSmxlSEJ2Y25Seklpd2lZMjl1Wm1sbklpd2lVSEp2YldselpTSXNJbkpsYzI5c2RtVWlMQ0p5WldwbFkzUWlMQ0p5WlhGMVpYTjBSR0YwWVNJc0ltUmhkR0VpTENKeVpYRjFaWE4wU0dWaFpHVnljeUlzSW1obFlXUmxjbk1pTENKcGMwWnZjbTFFWVhSaElpd2ljbVZ4ZFdWemRDSXNJbGhOVEVoMGRIQlNaWEYxWlhOMElpd2lZWFYwYUNJc0luVnpaWEp1WVcxbElpd2ljR0Z6YzNkdmNtUWlMQ0oxYm1WelkyRndaU0lzSW1WdVkyOWtaVlZTU1VOdmJYQnZibVZ1ZENJc0lrRjFkR2h2Y21sNllYUnBiMjRpTENKaWRHOWhJaXdpWm5Wc2JGQmhkR2dpTENKaVlYTmxWVkpNSWl3aWRYSnNJaXdpYjNCbGJpSXNJbTFsZEdodlpDSXNJblJ2VlhCd1pYSkRZWE5sSWl3aWNHRnlZVzF6SWl3aWNHRnlZVzF6VTJWeWFXRnNhWHBsY2lJc0luUnBiV1Z2ZFhRaUxDSnZibkpsWVdSNWMzUmhkR1ZqYUdGdVoyVWlMQ0p5WldGa2VWTjBZWFJsSWl3aWMzUmhkSFZ6SWl3aWNtVnpjRzl1YzJWVlVrd2lMQ0pwYm1SbGVFOW1JaXdpY21WemNHOXVjMlZJWldGa1pYSnpJaXdpWjJWMFFXeHNVbVZ6Y0c5dWMyVklaV0ZrWlhKeklpd2ljbVZ6Y0c5dWMyVWlMQ0p5WlhOd2IyNXpaVlI1Y0dVaUxDSnlaWE53YjI1elpWUmxlSFFpTENKemRHRjBkWE5VWlhoMElpd2liMjVoWW05eWRDSXNJbTl1WlhKeWIzSWlMQ0p2Ym5ScGJXVnZkWFFpTENKMGFXMWxiM1YwUlhKeWIzSk5aWE56WVdkbElpd2lhWE5UZEdGdVpHRnlaRUp5YjNkelpYSkZibllpTENKNGMzSm1WbUZzZFdVaUxDSjNhWFJvUTNKbFpHVnVkR2xoYkhNaUxDSjRjM0ptUTI5dmEybGxUbUZ0WlNJc0luSmxZV1FpTENKMWJtUmxabWx1WldRaUxDSjRjM0ptU0dWaFpHVnlUbUZ0WlNJc0ltWnZja1ZoWTJnaUxDSjJZV3dpTENKclpYa2lMQ0owYjB4dmQyVnlRMkZ6WlNJc0luTmxkRkpsY1hWbGMzUklaV0ZrWlhJaUxDSnBjMVZ1WkdWbWFXNWxaQ0lzSW1VaUxDSnZia1J2ZDI1c2IyRmtVSEp2WjNKbGMzTWlMQ0poWkdSRmRtVnVkRXhwYzNSbGJtVnlJaXdpYjI1VmNHeHZZV1JRY205bmNtVnpjeUlzSW5Wd2JHOWhaQ0lzSW1OaGJtTmxiRlJ2YTJWdUlpd2ljSEp2YldselpTSXNJblJvWlc0aUxDSmpZVzVqWld3aUxDSmhZbTl5ZENJc0luTmxibVFpWFN3aWJXRndjR2x1WjNNaU9pSkJRVUZCTEdGQlJVRXNTVUZCU1VFc1RVRkJVVU1zVVVGQlVTeGpRVU5vUWtNc1QwRkJVMFFzVVVGQlVTeHZRa0ZEYWtKRkxGRkJRVlZHTEZGQlFWRXNkMEpCUTJ4Q1J5eFRRVUZYU0N4UlFVRlJMSGxDUVVOdVFra3NZMEZCWjBKS0xGRkJRVkVzZVVKQlEzaENTeXhoUVVGbFRDeFJRVUZSTERaQ1FVTjJRazBzWjBKQlFXdENUaXhSUVVGUkxHZERRVU14UWs4c1dVRkJZMUFzVVVGQlVTeDFRa0ZGTVVKUkxFOUJRVTlETEZGQlFWVXNVMEZCYjBKRExFZEJRMjVETEU5QlFVOHNTVUZCU1VNc1VVRkJVU3hUUVVFMFFrTXNSVUZCVTBNc1IwRkRkRVFzU1VGQlNVTXNSVUZCWTBvc1JVRkJUMHNzUzBGRGNrSkRMRVZCUVdsQ1RpeEZRVUZQVHl4UlFVVjRRbXhDTEUxQlFVMXRRaXhYUVVGWFNpeFhRVU5hUlN4RlFVRmxMR2RDUVVkNFFpeEpRVUZKUnl4RlFVRlZMRWxCUVVsRExHVkJSMnhDTEVkQlFVbFdMRVZCUVU5WExFdEJRVTBzUTBGRFppeEpRVUZKUXl4RlFVRlhXaXhGUVVGUFZ5eExRVUZMUXl4VlFVRlpMRWRCUTI1RFF5eEZRVUZYWWl4RlFVRlBWeXhMUVVGTFJTeFRRVUZYUXl4VFFVRlRReXh0UWtGQmJVSm1MRVZCUVU5WExFdEJRVXRGTEZkQlFXRXNSMEZETTBaUUxFVkJRV1ZWTEdOQlFXZENMRk5CUVZkRExFdEJRVXRNTEVWQlFWY3NTVUZCVFVNc1IwRkhiRVVzU1VGQlNVc3NSVUZCVjNoQ0xHTkJRV05OTEVWQlFVOXRRaXhSUVVGVGJrSXNSVUZCVDI5Q0xFdEJORVZ3UkN4SFFUTkZRVmdzUlVGQlVWa3NTMEZCUzNKQ0xFVkJRVTl6UWl4UFFVRlBReXhqUVVGbE9VSXNVMEZCVTNsQ0xFVkJRVlZzUWl4RlFVRlBkMElzVDBGQlVYaENMRVZCUVU5NVFpeHRRa0ZCYlVJc1IwRkhkRWRvUWl4RlFVRlJhVUlzVVVGQlZURkNMRVZCUVU4d1FpeFJRVWQ2UW1wQ0xFVkJRVkZyUWl4dFFrRkJjVUlzVjBGRE0wSXNSMEZCUzJ4Q0xFZEJRV3RETEVsQlFYWkNRU3hGUVVGUmJVSXNZVUZSUkN4SlFVRnVRbTVDTEVWQlFWRnZRaXhSUVVGclFuQkNMRVZCUVZGeFFpeGhRVUYzUkN4SlFVRjZRM0pDTEVWQlFWRnhRaXhaUVVGWlF5eFJRVUZSTEZWQlFXcEdMRU5CUzBFc1NVRkJTVU1zUlVGQmEwSXNNRUpCUVRKQ2RrSXNSVUZCVldRc1lVRkJZV01zUlVGQlVYZENMSGxDUVVFeVFpeExRVVYyUjBNc1JVRkJWeXhEUVVOaU4wSXNTMEZHYTBKTUxFVkJRVTl0UXl4alFVRjNReXhUUVVGNFFtNURMRVZCUVU5dFF5eGhRVUZwUkRGQ0xFVkJRVkY1UWl4VFFVRXZRbnBDTEVWQlFWRXlRaXhoUVVkc1JsQXNUMEZCVVhCQ0xFVkJRVkZ2UWl4UFFVTm9RbEVzVjBGQldUVkNMRVZCUVZFMFFpeFhRVU53UWpsQ0xGRkJRVk41UWl4RlFVTlVhRU1zVDBGQlVVRXNSVUZEVWxNc1VVRkJVMEVzUjBGSFdHeENMRTlCUVU5WExFVkJRVk5ETEVWQlFWRXJRaXhIUVVkNFFucENMRVZCUVZVc1QwRkpXa0VzUlVGQlVUWkNMRkZCUVZVc1YwRkRXRGRDTEVsQlNVeE9MRVZCUVU5T0xGbEJRVmtzYTBKQlFXMUNSeXhGUVVGUkxHVkJRV2RDVXl4SlFVYzVSRUVzUlVGQlZTeFBRVWxhUVN4RlFVRlJPRUlzVVVGQlZTeFhRVWRvUW5CRExFVkJRVTlPTEZsQlFWa3NaMEpCUVdsQ1J5eEZRVUZSTEV0QlFVMVRMRWxCUjJ4RVFTeEZRVUZWTEUxQlNWcEJMRVZCUVZFclFpeFZRVUZaTEZkQlEyeENMRWxCUVVsRExFVkJRWE5DTEdOQlFXZENla01zUlVGQlR6QkNMRkZCUVZVc1kwRkRka1F4UWl4RlFVRlBlVU1zYzBKQlExUkJMRVZCUVhOQ2VrTXNSVUZCVDNsRExIRkNRVVV2UW5SRExFVkJRVTlPTEZsQlFWazBReXhGUVVGeFFucERMRVZCUVZFc1pVRkRPVU5UTEVsQlIwWkJMRVZCUVZVc1RVRk5VbkJDTEUxQlFVMXhSQ3gxUWtGQmQwSXNRMEZGYUVNc1NVRkJTVU1zUjBGQllUTkRMRVZCUVU4MFF5eHBRa0ZCYlVKb1JDeG5Ra0ZCWjBKelFpeExRVUZqYkVJc1JVRkJUelpETEdWQlF6bEZja1FzVVVGQlVYTkVMRXRCUVVzNVF5eEZRVUZQTmtNc2NVSkJRM0JDUlN4RlFVVkZTaXhKUVVOR2NrTXNSVUZCWlU0c1JVRkJUMmRFTEdkQ1FVRnJRa3dzUjBGMVFqVkRMRWRCYkVKSkxIRkNRVUZ6UW14RExFZEJRM2hDY0VJc1RVRkJUVFJFTEZGQlFWRXpReXhGUVVGblFpeFRRVUV3UWpSRExFVkJRVXRETEZGQlEyaERMRWxCUVdoQ0wwTXNSMEZCY1VRc2FVSkJRWFJDSzBNc1JVRkJTVU1zY1VKQlJYSkRPVU1zUlVGQlpUWkRMRWRCUjNSQ01VTXNSVUZCVVRSRExHbENRVUZwUWtZc1JVRkJTMFFzUzBGTkwwSTNSQ3hOUVVGTmFVVXNXVUZCV1hSRUxFVkJRVTgwUXl4dFFrRkROVUp1UXl4RlFVRlJiVU1zYTBKQlFXOUNOVU1zUlVGQlR6UkRMR2xDUVVscVF6VkRMRVZCUVU5dFF5eGhRVU5VTEVsQlEwVXhRaXhGUVVGUk1FSXNZVUZCWlc1RExFVkJRVTl0UXl4aFFVTTVRaXhOUVVGUGIwSXNSMEZIVUN4SFFVRTBRaXhUUVVGNFFuWkVMRVZCUVU5dFF5eGhRVU5VTEUxQlFVMXZRaXhGUVUwMlFpeHRRa0ZCT1VKMlJDeEZRVUZQZDBRc2IwSkJRMmhDTDBNc1JVRkJVV2RFTEdsQ1FVRnBRaXhYUVVGWmVrUXNSVUZCVDNkRUxHOUNRVWxRTEcxQ1FVRTFRbmhFTEVWQlFVOHdSQ3hyUWtGQmJVTnFSQ3hGUVVGUmEwUXNVVUZETTBSc1JDeEZRVUZSYTBRc1QwRkJUMFlzYVVKQlFXbENMRmRCUVZsNlJDeEZRVUZQTUVRc2EwSkJSMnBFTVVRc1JVRkJUelJFTEdGQlJWUTFSQ3hGUVVGUE5FUXNXVUZCV1VNc1VVRkJVVU1zUzBGQlN5eFRRVUZ2UWtNc1IwRkROME4wUkN4SlFVbE1RU3hGUVVGUmRVUXNVVUZEVWpkRUxFVkJRVTgwUkN4SFFVVlFkRVFzUlVGQlZTeFJRVWxVVEN4SlFVTklRU3hGUVVGakxFMUJTV2hDU3l4RlFVRlJkMFFzUzBGQlN6ZEVJaXdpWm1sc1pTSTZJaTlvYjIxbEwzcHBibTh2Y0hKdmFtVmpkSE12YzJWaGRHMWhjSFl5TDIxaGMzUmxjaTl6WldGMGJXRndkakl2WTJ4cFpXNTBMMjV2WkdWZmJXOWtkV3hsY3k5aGVHbHZjeTlzYVdJdllXUmhjSFJsY25NdmVHaHlMbXB6SW4wPSIsIlwidXNlIHN0cmljdFwiO3ZhciB1dGlscz1yZXF1aXJlKFwiLi91dGlsc1wiKSxiaW5kPXJlcXVpcmUoXCIuL2hlbHBlcnMvYmluZFwiKSxBeGlvcz1yZXF1aXJlKFwiLi9jb3JlL0F4aW9zXCIpLG1lcmdlQ29uZmlnPXJlcXVpcmUoXCIuL2NvcmUvbWVyZ2VDb25maWdcIiksZGVmYXVsdHM9cmVxdWlyZShcIi4vZGVmYXVsdHNcIik7ZnVuY3Rpb24gY3JlYXRlSW5zdGFuY2UoZSl7dmFyIHI9bmV3IEF4aW9zKGUpLGk9YmluZChBeGlvcy5wcm90b3R5cGUucmVxdWVzdCxyKTtyZXR1cm4gdXRpbHMuZXh0ZW5kKGksQXhpb3MucHJvdG90eXBlLHIpLHV0aWxzLmV4dGVuZChpLHIpLGl9dmFyIGF4aW9zPWNyZWF0ZUluc3RhbmNlKGRlZmF1bHRzKTtheGlvcy5BeGlvcz1BeGlvcyxheGlvcy5jcmVhdGU9ZnVuY3Rpb24oZSl7cmV0dXJuIGNyZWF0ZUluc3RhbmNlKG1lcmdlQ29uZmlnKGF4aW9zLmRlZmF1bHRzLGUpKX0sYXhpb3MuQ2FuY2VsPXJlcXVpcmUoXCIuL2NhbmNlbC9DYW5jZWxcIiksYXhpb3MuQ2FuY2VsVG9rZW49cmVxdWlyZShcIi4vY2FuY2VsL0NhbmNlbFRva2VuXCIpLGF4aW9zLmlzQ2FuY2VsPXJlcXVpcmUoXCIuL2NhbmNlbC9pc0NhbmNlbFwiKSxheGlvcy5hbGw9ZnVuY3Rpb24oZSl7cmV0dXJuIFByb21pc2UuYWxsKGUpfSxheGlvcy5zcHJlYWQ9cmVxdWlyZShcIi4vaGVscGVycy9zcHJlYWRcIiksYXhpb3MuaXNBeGlvc0Vycm9yPXJlcXVpcmUoXCIuL2hlbHBlcnMvaXNBeGlvc0Vycm9yXCIpLG1vZHVsZS5leHBvcnRzPWF4aW9zLG1vZHVsZS5leHBvcnRzLmRlZmF1bHQ9YXhpb3M7XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJbUY0YVc5ekxtcHpJbDBzSW01aGJXVnpJanBiSW5WMGFXeHpJaXdpY21WeGRXbHlaU0lzSW1KcGJtUWlMQ0pCZUdsdmN5SXNJbTFsY21kbFEyOXVabWxuSWl3aVpHVm1ZWFZzZEhNaUxDSmpjbVZoZEdWSmJuTjBZVzVqWlNJc0ltUmxabUYxYkhSRGIyNW1hV2NpTENKamIyNTBaWGgwSWl3aWFXNXpkR0Z1WTJVaUxDSndjbTkwYjNSNWNHVWlMQ0p5WlhGMVpYTjBJaXdpWlhoMFpXNWtJaXdpWVhocGIzTWlMQ0pqY21WaGRHVWlMQ0pwYm5OMFlXNWpaVU52Ym1acFp5SXNJa05oYm1ObGJDSXNJa05oYm1ObGJGUnZhMlZ1SWl3aWFYTkRZVzVqWld3aUxDSmhiR3dpTENKd2NtOXRhWE5sY3lJc0lsQnliMjFwYzJVaUxDSnpjSEpsWVdRaUxDSnBjMEY0YVc5elJYSnliM0lpTENKdGIyUjFiR1VpTENKbGVIQnZjblJ6SWl3aVpHVm1ZWFZzZENKZExDSnRZWEJ3YVc1bmN5STZJa0ZCUVVFc1lVRkZRU3hKUVVGSlFTeE5RVUZSUXl4UlFVRlJMRmRCUTJoQ1F5eExRVUZQUkN4UlFVRlJMR3RDUVVObVJTeE5RVUZSUml4UlFVRlJMR2RDUVVOb1FrY3NXVUZCWTBnc1VVRkJVU3h6UWtGRGRFSkpMRk5CUVZkS0xGRkJRVkVzWTBGUmRrSXNVMEZCVTBzc1pVRkJaVU1zUjBGRGRFSXNTVUZCU1VNc1JVRkJWU3hKUVVGSlRDeE5RVUZOU1N4SFFVTndRa1VzUlVGQlYxQXNTMEZCUzBNc1RVRkJUVThzVlVGQlZVTXNVVUZCVTBnc1IwRlJOME1zVDBGTVFWSXNUVUZCVFZrc1QwRkJUMGdzUlVGQlZVNHNUVUZCVFU4c1ZVRkJWMFlzUjBGSGVFTlNMRTFCUVUxWkxFOUJRVTlJTEVWQlFWVkVMRWRCUldoQ1F5eEZRVWxVTEVsQlFVbEpMRTFCUVZGUUxHVkJRV1ZFTEZWQlJ6TkNVU3hOUVVGTlZpeE5RVUZSUVN4TlFVZGtWU3hOUVVGTlF5eFBRVUZUTEZOQlFXZENReXhIUVVNM1FpeFBRVUZQVkN4bFFVRmxSaXhaUVVGWlV5eE5RVUZOVWl4VFFVRlZWU3hMUVVsd1JFWXNUVUZCVFVjc1QwRkJVMllzVVVGQlVTeHRRa0ZEZGtKWkxFMUJRVTFKTEZsQlFXTm9RaXhSUVVGUkxIZENRVU0xUWxrc1RVRkJUVXNzVTBGQlYycENMRkZCUVZFc2NVSkJSM3BDV1N4TlFVRk5UU3hKUVVGTkxGTkJRV0ZETEVkQlEzWkNMRTlCUVU5RExGRkJRVkZHTEVsQlFVbERMRWxCUlhKQ1VDeE5RVUZOVXl4UFFVRlRja0lzVVVGQlVTeHZRa0ZIZGtKWkxFMUJRVTFWTEdGQlFXVjBRaXhSUVVGUkxEQkNRVVUzUW5WQ0xFOUJRVTlETEZGQlFWVmFMRTFCUjJwQ1Z5eFBRVUZQUXl4UlFVRlJReXhSUVVGVllpSXNJbVpwYkdVaU9pSXZhRzl0WlM5NmFXNXZMM0J5YjJwbFkzUnpMM05sWVhSdFlYQjJNaTl0WVhOMFpYSXZjMlZoZEcxaGNIWXlMMk5zYVdWdWRDOXViMlJsWDIxdlpIVnNaWE12WVhocGIzTXZiR2xpTDJGNGFXOXpMbXB6SW4wPSIsIlwidXNlIHN0cmljdFwiO2Z1bmN0aW9uIENhbmNlbChlKXt0aGlzLm1lc3NhZ2U9ZX1DYW5jZWwucHJvdG90eXBlLnRvU3RyaW5nPWZ1bmN0aW9uKCl7cmV0dXJuXCJDYW5jZWxcIisodGhpcy5tZXNzYWdlP1wiOiBcIit0aGlzLm1lc3NhZ2U6XCJcIil9LENhbmNlbC5wcm90b3R5cGUuX19DQU5DRUxfXz0hMCxtb2R1bGUuZXhwb3J0cz1DYW5jZWw7XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJa05oYm1ObGJDNXFjeUpkTENKdVlXMWxjeUk2V3lKRFlXNWpaV3dpTENKdFpYTnpZV2RsSWl3aWRHaHBjeUlzSW5CeWIzUnZkSGx3WlNJc0luUnZVM1J5YVc1bklpd2lYMTlEUVU1RFJVeGZYeUlzSW0xdlpIVnNaU0lzSW1WNGNHOXlkSE1pWFN3aWJXRndjR2x1WjNNaU9pSkJRVUZCTEdGQlVVRXNVMEZCVTBFc1QwRkJUME1zUjBGRFpFTXNTMEZCUzBRc1VVRkJWVUVzUlVGSGFrSkVMRTlCUVU5SExGVkJRVlZETEZOQlFWY3NWMEZETVVJc1RVRkJUeXhWUVVGWlJpeExRVUZMUkN4UlFVRlZMRXRCUVU5RExFdEJRVXRFTEZGQlFWVXNTMEZITVVSRUxFOUJRVTlITEZWQlFWVkZMRmxCUVdFc1JVRkZPVUpETEU5QlFVOURMRkZCUVZWUUlpd2labWxzWlNJNklpOW9iMjFsTDNwcGJtOHZjSEp2YW1WamRITXZjMlZoZEcxaGNIWXlMMjFoYzNSbGNpOXpaV0YwYldGd2RqSXZZMnhwWlc1MEwyNXZaR1ZmYlc5a2RXeGxjeTloZUdsdmN5OXNhV0l2WTJGdVkyVnNMME5oYm1ObGJDNXFjeUo5IiwiXCJ1c2Ugc3RyaWN0XCI7dmFyIENhbmNlbD1yZXF1aXJlKFwiLi9DYW5jZWxcIik7ZnVuY3Rpb24gQ2FuY2VsVG9rZW4oZSl7aWYoXCJmdW5jdGlvblwiIT10eXBlb2YgZSl0aHJvdyBuZXcgVHlwZUVycm9yKFwiZXhlY3V0b3IgbXVzdCBiZSBhIGZ1bmN0aW9uLlwiKTt2YXIgbjt0aGlzLnByb21pc2U9bmV3IFByb21pc2UoZnVuY3Rpb24oZSl7bj1lfSk7dmFyIG89dGhpcztlKGZ1bmN0aW9uKGUpe28ucmVhc29ufHwoby5yZWFzb249bmV3IENhbmNlbChlKSxuKG8ucmVhc29uKSl9KX1DYW5jZWxUb2tlbi5wcm90b3R5cGUudGhyb3dJZlJlcXVlc3RlZD1mdW5jdGlvbigpe2lmKHRoaXMucmVhc29uKXRocm93IHRoaXMucmVhc29ufSxDYW5jZWxUb2tlbi5zb3VyY2U9ZnVuY3Rpb24oKXt2YXIgZTtyZXR1cm57dG9rZW46bmV3IENhbmNlbFRva2VuKGZ1bmN0aW9uKG4pe2U9bn0pLGNhbmNlbDplfX0sbW9kdWxlLmV4cG9ydHM9Q2FuY2VsVG9rZW47XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJa05oYm1ObGJGUnZhMlZ1TG1weklsMHNJbTVoYldWeklqcGJJa05oYm1ObGJDSXNJbkpsY1hWcGNtVWlMQ0pEWVc1alpXeFViMnRsYmlJc0ltVjRaV04xZEc5eUlpd2lWSGx3WlVWeWNtOXlJaXdpY21WemIyeDJaVkJ5YjIxcGMyVWlMQ0owYUdseklpd2ljSEp2YldselpTSXNJbEJ5YjIxcGMyVWlMQ0p5WlhOdmJIWmxJaXdpZEc5clpXNGlMQ0p0WlhOellXZGxJaXdpY21WaGMyOXVJaXdpY0hKdmRHOTBlWEJsSWl3aWRHaHliM2RKWmxKbGNYVmxjM1JsWkNJc0luTnZkWEpqWlNJc0ltTmhibU5sYkNJc0ltTWlMQ0p0YjJSMWJHVWlMQ0psZUhCdmNuUnpJbDBzSW0xaGNIQnBibWR6SWpvaVFVRkJRU3hoUVVWQkxFbEJRVWxCTEU5QlFWTkRMRkZCUVZFc1dVRlJja0lzVTBGQlUwTXNXVUZCV1VNc1IwRkRia0lzUjBGQmQwSXNiVUpCUVdKQkxFVkJRMVFzVFVGQlRTeEpRVUZKUXl4VlFVRlZMR2REUVVkMFFpeEpRVUZKUXl4RlFVTktReXhMUVVGTFF5eFJRVUZWTEVsQlFVbERMRkZCUVZFc1UwRkJlVUpETEVkQlEyeEVTaXhGUVVGcFFra3NTVUZIYmtJc1NVRkJTVU1zUlVGQlVVb3NTMEZEV2tnc1JVRkJVeXhUUVVGblFsRXNSMEZEYmtKRUxFVkJRVTFGTEZOQlMxWkdMRVZCUVUxRkxFOUJRVk1zU1VGQlNWb3NUMEZCVDFjc1IwRkRNVUpPTEVWQlFXVkxMRVZCUVUxRkxGZEJUM3BDVml4WlFVRlpWeXhWUVVGVlF5eHBRa0ZCYlVJc1YwRkRka01zUjBGQlNWSXNTMEZCUzAwc1QwRkRVQ3hOUVVGTlRpeExRVUZMVFN4UlFWRm1WaXhaUVVGWllTeFBRVUZUTEZkQlEyNUNMRWxCUVVsRExFVkJTVW9zVFVGQlR5eERRVU5NVGl4TlFVcFZMRWxCUVVsU0xGbEJRVmtzVTBGQmEwSmxMRWRCUXpWRFJDeEZRVUZUUXl4SlFVbFVSQ3hQUVVGUlFTeEpRVWxhUlN4UFFVRlBReXhSUVVGVmFrSWlMQ0ptYVd4bElqb2lMMmh2YldVdmVtbHVieTl3Y205cVpXTjBjeTl6WldGMGJXRndkakl2YldGemRHVnlMM05sWVhSdFlYQjJNaTlqYkdsbGJuUXZibTlrWlY5dGIyUjFiR1Z6TDJGNGFXOXpMMnhwWWk5allXNWpaV3d2UTJGdVkyVnNWRzlyWlc0dWFuTWlmUT09IiwiXCJ1c2Ugc3RyaWN0XCI7bW9kdWxlLmV4cG9ydHM9ZnVuY3Rpb24odCl7cmV0dXJuISghdHx8IXQuX19DQU5DRUxfXyl9O1xuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSW1selEyRnVZMlZzTG1weklsMHNJbTVoYldWeklqcGJJbTF2WkhWc1pTSXNJbVY0Y0c5eWRITWlMQ0oyWVd4MVpTSXNJbDlmUTBGT1EwVk1YMThpWFN3aWJXRndjR2x1WjNNaU9pSkJRVUZCTEdGQlJVRkJMRTlCUVU5RExGRkJRVlVzVTBGQmEwSkRMRWRCUTJwRExGTkJRVlZCTEVsQlFWTkJMRVZCUVUxRElpd2labWxzWlNJNklpOW9iMjFsTDNwcGJtOHZjSEp2YW1WamRITXZjMlZoZEcxaGNIWXlMMjFoYzNSbGNpOXpaV0YwYldGd2RqSXZZMnhwWlc1MEwyNXZaR1ZmYlc5a2RXeGxjeTloZUdsdmN5OXNhV0l2WTJGdVkyVnNMMmx6UTJGdVkyVnNMbXB6SW4wPSIsIlwidXNlIHN0cmljdFwiO3ZhciB1dGlscz1yZXF1aXJlKFwiLi8uLi91dGlsc1wiKSxidWlsZFVSTD1yZXF1aXJlKFwiLi4vaGVscGVycy9idWlsZFVSTFwiKSxJbnRlcmNlcHRvck1hbmFnZXI9cmVxdWlyZShcIi4vSW50ZXJjZXB0b3JNYW5hZ2VyXCIpLGRpc3BhdGNoUmVxdWVzdD1yZXF1aXJlKFwiLi9kaXNwYXRjaFJlcXVlc3RcIiksbWVyZ2VDb25maWc9cmVxdWlyZShcIi4vbWVyZ2VDb25maWdcIik7ZnVuY3Rpb24gQXhpb3MoZSl7dGhpcy5kZWZhdWx0cz1lLHRoaXMuaW50ZXJjZXB0b3JzPXtyZXF1ZXN0Om5ldyBJbnRlcmNlcHRvck1hbmFnZXIscmVzcG9uc2U6bmV3IEludGVyY2VwdG9yTWFuYWdlcn19QXhpb3MucHJvdG90eXBlLnJlcXVlc3Q9ZnVuY3Rpb24oZSl7XCJzdHJpbmdcIj09dHlwZW9mIGU/KGU9YXJndW1lbnRzWzFdfHx7fSkudXJsPWFyZ3VtZW50c1swXTplPWV8fHt9LChlPW1lcmdlQ29uZmlnKHRoaXMuZGVmYXVsdHMsZSkpLm1ldGhvZD9lLm1ldGhvZD1lLm1ldGhvZC50b0xvd2VyQ2FzZSgpOnRoaXMuZGVmYXVsdHMubWV0aG9kP2UubWV0aG9kPXRoaXMuZGVmYXVsdHMubWV0aG9kLnRvTG93ZXJDYXNlKCk6ZS5tZXRob2Q9XCJnZXRcIjt2YXIgdD1bZGlzcGF0Y2hSZXF1ZXN0LHZvaWQgMF0scj1Qcm9taXNlLnJlc29sdmUoZSk7Zm9yKHRoaXMuaW50ZXJjZXB0b3JzLnJlcXVlc3QuZm9yRWFjaChmdW5jdGlvbihlKXt0LnVuc2hpZnQoZS5mdWxmaWxsZWQsZS5yZWplY3RlZCl9KSx0aGlzLmludGVyY2VwdG9ycy5yZXNwb25zZS5mb3JFYWNoKGZ1bmN0aW9uKGUpe3QucHVzaChlLmZ1bGZpbGxlZCxlLnJlamVjdGVkKX0pO3QubGVuZ3RoOylyPXIudGhlbih0LnNoaWZ0KCksdC5zaGlmdCgpKTtyZXR1cm4gcn0sQXhpb3MucHJvdG90eXBlLmdldFVyaT1mdW5jdGlvbihlKXtyZXR1cm4gZT1tZXJnZUNvbmZpZyh0aGlzLmRlZmF1bHRzLGUpLGJ1aWxkVVJMKGUudXJsLGUucGFyYW1zLGUucGFyYW1zU2VyaWFsaXplcikucmVwbGFjZSgvXlxcPy8sXCJcIil9LHV0aWxzLmZvckVhY2goW1wiZGVsZXRlXCIsXCJnZXRcIixcImhlYWRcIixcIm9wdGlvbnNcIl0sZnVuY3Rpb24oZSl7QXhpb3MucHJvdG90eXBlW2VdPWZ1bmN0aW9uKHQscil7cmV0dXJuIHRoaXMucmVxdWVzdChtZXJnZUNvbmZpZyhyfHx7fSx7bWV0aG9kOmUsdXJsOnQsZGF0YToocnx8e30pLmRhdGF9KSl9fSksdXRpbHMuZm9yRWFjaChbXCJwb3N0XCIsXCJwdXRcIixcInBhdGNoXCJdLGZ1bmN0aW9uKGUpe0F4aW9zLnByb3RvdHlwZVtlXT1mdW5jdGlvbih0LHIsbyl7cmV0dXJuIHRoaXMucmVxdWVzdChtZXJnZUNvbmZpZyhvfHx7fSx7bWV0aG9kOmUsdXJsOnQsZGF0YTpyfSkpfX0pLG1vZHVsZS5leHBvcnRzPUF4aW9zO1xuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSWtGNGFXOXpMbXB6SWwwc0ltNWhiV1Z6SWpwYkluVjBhV3h6SWl3aWNtVnhkV2x5WlNJc0ltSjFhV3hrVlZKTUlpd2lTVzUwWlhKalpYQjBiM0pOWVc1aFoyVnlJaXdpWkdsemNHRjBZMmhTWlhGMVpYTjBJaXdpYldWeVoyVkRiMjVtYVdjaUxDSkJlR2x2Y3lJc0ltbHVjM1JoYm1ObFEyOXVabWxuSWl3aWRHaHBjeUlzSW1SbFptRjFiSFJ6SWl3aWFXNTBaWEpqWlhCMGIzSnpJaXdpY21WeGRXVnpkQ0lzSW5KbGMzQnZibk5sSWl3aWNISnZkRzkwZVhCbElpd2lZMjl1Wm1sbklpd2lZWEpuZFcxbGJuUnpJaXdpZFhKc0lpd2liV1YwYUc5a0lpd2lkRzlNYjNkbGNrTmhjMlVpTENKamFHRnBiaUlzSW5WdVpHVm1hVzVsWkNJc0luQnliMjFwYzJVaUxDSlFjbTl0YVhObElpd2ljbVZ6YjJ4MlpTSXNJbVp2Y2tWaFkyZ2lMQ0pwYm5SbGNtTmxjSFJ2Y2lJc0luVnVjMmhwWm5RaUxDSm1kV3htYVd4c1pXUWlMQ0p5WldwbFkzUmxaQ0lzSW5CMWMyZ2lMQ0pzWlc1bmRHZ2lMQ0owYUdWdUlpd2ljMmhwWm5RaUxDSm5aWFJWY21raUxDSndZWEpoYlhNaUxDSndZWEpoYlhOVFpYSnBZV3hwZW1WeUlpd2ljbVZ3YkdGalpTSXNJbVJoZEdFaUxDSnRiMlIxYkdVaUxDSmxlSEJ2Y25SeklsMHNJbTFoY0hCcGJtZHpJam9pUVVGQlFTeGhRVVZCTEVsQlFVbEJMRTFCUVZGRExGRkJRVkVzWTBGRGFFSkRMRk5CUVZkRUxGRkJRVkVzZFVKQlEyNUNSU3h0UWtGQmNVSkdMRkZCUVZFc2QwSkJRemRDUnl4blFrRkJhMEpJTEZGQlFWRXNjVUpCUXpGQ1NTeFpRVUZqU2l4UlFVRlJMR2xDUVU4eFFpeFRRVUZUU3l4TlFVRk5ReXhIUVVOaVF5eExRVUZMUXl4VFFVRlhSaXhGUVVOb1FrTXNTMEZCUzBVc1lVRkJaU3hEUVVOc1FrTXNVVUZCVXl4SlFVRkpVaXh0UWtGRFlsTXNVMEZCVlN4SlFVRkpWQ3h2UWtGVGJFSkhMRTFCUVUxUExGVkJRVlZHTEZGQlFWVXNVMEZCYVVKSExFZEJSMjVDTEdsQ1FVRllRU3hIUVVOVVFTeEZRVUZUUXl4VlFVRlZMRWxCUVUwc1NVRkRiRUpETEVsQlFVMUVMRlZCUVZVc1IwRkZka0pFTEVWQlFWTkJMRWRCUVZVc1NVRkhja0pCTEVWQlFWTlVMRmxCUVZsSExFdEJRVXRETEZOQlFWVkxMRWxCUjNwQ1J5eFBRVU5VU0N4RlFVRlBSeXhQUVVGVFNDeEZRVUZQUnl4UFFVRlBReXhqUVVOeVFsWXNTMEZCUzBNc1UwRkJVMUVzVDBGRGRrSklMRVZCUVU5SExFOUJRVk5VTEV0QlFVdERMRk5CUVZOUkxFOUJRVTlETEdOQlJYSkRTaXhGUVVGUFJ5eFBRVUZUTEUxQlNXeENMRWxCUVVsRkxFVkJRVkVzUTBGQlEyWXNjVUpCUVdsQ1owSXNSMEZETVVKRExFVkJRVlZETEZGQlFWRkRMRkZCUVZGVUxFZEJWVGxDTEVsQlVrRk9MRXRCUVV0RkxHRkJRV0ZETEZGQlFWRmhMRkZCUVZFc1UwRkJiME5ETEVkQlEzQkZUaXhGUVVGTlR5eFJRVUZSUkN4RlFVRlpSU3hWUVVGWFJpeEZRVUZaUnl4WlFVZHVSSEJDTEV0QlFVdEZMR0ZCUVdGRkxGTkJRVk5aTEZGQlFWRXNVMEZCYTBORExFZEJRMjVGVGl4RlFVRk5WU3hMUVVGTFNpeEZRVUZaUlN4VlFVRlhSaXhGUVVGWlJ5eFpRVWQ2UTFRc1JVRkJUVmNzVVVGRFdGUXNSVUZCVlVFc1JVRkJVVlVzUzBGQlMxb3NSVUZCVFdFc1VVRkJVMklzUlVGQlRXRXNVMEZIT1VNc1QwRkJUMWdzUjBGSFZHWXNUVUZCVFU4c1ZVRkJWVzlDTEU5QlFWTXNVMEZCWjBKdVFpeEhRVVYyUXl4UFFVUkJRU3hGUVVGVFZDeFpRVUZaUnl4TFFVRkxReXhUUVVGVlN5eEhRVU0zUWxvc1UwRkJVMWtzUlVGQlQwVXNTVUZCUzBZc1JVRkJUMjlDTEU5QlFWRndRaXhGUVVGUGNVSXNhMEpCUVd0Q1F5eFJRVUZSTEUxQlFVOHNTMEZKY2tad1F5eE5RVUZOZDBJc1VVRkJVU3hEUVVGRExGTkJRVlVzVFVGQlR5eFBRVUZSTEZkQlFWa3NVMEZCTmtKUUxFZEJSUzlGV0N4TlFVRk5UeXhWUVVGVlNTeEhRVUZWTEZOQlFWTkVMRVZCUVV0R0xFZEJRM1JETEU5QlFVOU9MRXRCUVV0SExGRkJRVkZPTEZsQlFWbFRMRWRCUVZVc1IwRkJTU3hEUVVNMVEwY3NUMEZCVVVFc1JVRkRVa1FzU1VGQlMwRXNSVUZEVEhGQ0xFMUJRVTkyUWl4SFFVRlZMRWxCUVVsMVFpeFhRVXN6UW5KRExFMUJRVTEzUWl4UlFVRlJMRU5CUVVNc1QwRkJVU3hOUVVGUExGTkJRVlVzVTBGQkswSlFMRWRCUlhKRldDeE5RVUZOVHl4VlFVRlZTU3hIUVVGVkxGTkJRVk5FTEVWQlFVdHhRaXhGUVVGTmRrSXNSMEZETlVNc1QwRkJUMDRzUzBGQlMwY3NVVUZCVVU0c1dVRkJXVk1zUjBGQlZTeEhRVUZKTEVOQlF6VkRSeXhQUVVGUlFTeEZRVU5TUkN4SlFVRkxRU3hGUVVOTWNVSXNTMEZCVFVFc1VVRkxXa01zVDBGQlQwTXNVVUZCVldwRElpd2labWxzWlNJNklpOW9iMjFsTDNwcGJtOHZjSEp2YW1WamRITXZjMlZoZEcxaGNIWXlMMjFoYzNSbGNpOXpaV0YwYldGd2RqSXZZMnhwWlc1MEwyNXZaR1ZmYlc5a2RXeGxjeTloZUdsdmN5OXNhV0l2WTI5eVpTOUJlR2x2Y3k1cWN5SjkiLCJcInVzZSBzdHJpY3RcIjt2YXIgdXRpbHM9cmVxdWlyZShcIi4vLi4vdXRpbHNcIik7ZnVuY3Rpb24gSW50ZXJjZXB0b3JNYW5hZ2VyKCl7dGhpcy5oYW5kbGVycz1bXX1JbnRlcmNlcHRvck1hbmFnZXIucHJvdG90eXBlLnVzZT1mdW5jdGlvbihlLHQpe3JldHVybiB0aGlzLmhhbmRsZXJzLnB1c2goe2Z1bGZpbGxlZDplLHJlamVjdGVkOnR9KSx0aGlzLmhhbmRsZXJzLmxlbmd0aC0xfSxJbnRlcmNlcHRvck1hbmFnZXIucHJvdG90eXBlLmVqZWN0PWZ1bmN0aW9uKGUpe3RoaXMuaGFuZGxlcnNbZV0mJih0aGlzLmhhbmRsZXJzW2VdPW51bGwpfSxJbnRlcmNlcHRvck1hbmFnZXIucHJvdG90eXBlLmZvckVhY2g9ZnVuY3Rpb24oZSl7dXRpbHMuZm9yRWFjaCh0aGlzLmhhbmRsZXJzLGZ1bmN0aW9uKHQpe251bGwhPT10JiZlKHQpfSl9LG1vZHVsZS5leHBvcnRzPUludGVyY2VwdG9yTWFuYWdlcjtcblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYklrbHVkR1Z5WTJWd2RHOXlUV0Z1WVdkbGNpNXFjeUpkTENKdVlXMWxjeUk2V3lKMWRHbHNjeUlzSW5KbGNYVnBjbVVpTENKSmJuUmxjbU5sY0hSdmNrMWhibUZuWlhJaUxDSjBhR2x6SWl3aWFHRnVaR3hsY25NaUxDSndjbTkwYjNSNWNHVWlMQ0oxYzJVaUxDSm1kV3htYVd4c1pXUWlMQ0p5WldwbFkzUmxaQ0lzSW5CMWMyZ2lMQ0pzWlc1bmRHZ2lMQ0psYW1WamRDSXNJbWxrSWl3aVptOXlSV0ZqYUNJc0ltWnVJaXdpYUNJc0ltMXZaSFZzWlNJc0ltVjRjRzl5ZEhNaVhTd2liV0Z3Y0dsdVozTWlPaUpCUVVGQkxHRkJSVUVzU1VGQlNVRXNUVUZCVVVNc1VVRkJVU3hqUVVWd1FpeFRRVUZUUXl4eFFrRkRVRU1zUzBGQlMwTXNVMEZCVnl4SFFWZHNRa1lzYlVKQlFXMUNSeXhWUVVGVlF5eEpRVUZOTEZOQlFXRkRMRVZCUVZkRExFZEJTM3BFTEU5QlNrRk1MRXRCUVV0RExGTkJRVk5MTEV0QlFVc3NRMEZEYWtKR0xGVkJRVmRCTEVWQlExaERMRk5CUVZWQkxFbEJSVXhNTEV0QlFVdERMRk5CUVZOTkxFOUJRVk1zUjBGUmFFTlNMRzFDUVVGdFFrY3NWVUZCVlUwc1RVRkJVU3hUUVVGbFF5eEhRVU01UTFRc1MwRkJTME1zVTBGQlUxRXNTMEZEYUVKVUxFdEJRVXRETEZOQlFWTlJMRWRCUVUwc1QwRlplRUpXTEcxQ1FVRnRRa2NzVlVGQlZWRXNVVUZCVlN4VFFVRnBRa01zUjBGRGRFUmtMRTFCUVUxaExGRkJRVkZXTEV0QlFVdERMRk5CUVZVc1UwRkJkMEpYTEVkQlEzcERMRTlCUVU1QkxFZEJRMFpFTEVWQlFVZERMRTFCUzFSRExFOUJRVTlETEZGQlFWVm1JaXdpWm1sc1pTSTZJaTlvYjIxbEwzcHBibTh2Y0hKdmFtVmpkSE12YzJWaGRHMWhjSFl5TDIxaGMzUmxjaTl6WldGMGJXRndkakl2WTJ4cFpXNTBMMjV2WkdWZmJXOWtkV3hsY3k5aGVHbHZjeTlzYVdJdlkyOXlaUzlKYm5SbGNtTmxjSFJ2Y2sxaGJtRm5aWEl1YW5NaWZRPT0iLCJcInVzZSBzdHJpY3RcIjt2YXIgaXNBYnNvbHV0ZVVSTD1yZXF1aXJlKFwiLi4vaGVscGVycy9pc0Fic29sdXRlVVJMXCIpLGNvbWJpbmVVUkxzPXJlcXVpcmUoXCIuLi9oZWxwZXJzL2NvbWJpbmVVUkxzXCIpO21vZHVsZS5leHBvcnRzPWZ1bmN0aW9uKGUscyl7cmV0dXJuIGUmJiFpc0Fic29sdXRlVVJMKHMpP2NvbWJpbmVVUkxzKGUscyk6c307XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJbUoxYVd4a1JuVnNiRkJoZEdndWFuTWlYU3dpYm1GdFpYTWlPbHNpYVhOQlluTnZiSFYwWlZWU1RDSXNJbkpsY1hWcGNtVWlMQ0pqYjIxaWFXNWxWVkpNY3lJc0ltMXZaSFZzWlNJc0ltVjRjRzl5ZEhNaUxDSmlZWE5sVlZKTUlpd2ljbVZ4ZFdWemRHVmtWVkpNSWwwc0ltMWhjSEJwYm1keklqb2lRVUZCUVN4aFFVVkJMRWxCUVVsQkxHTkJRV2RDUXl4UlFVRlJMRFJDUVVONFFrTXNXVUZCWTBRc1VVRkJVU3d3UWtGWE1VSkZMRTlCUVU5RExGRkJRVlVzVTBGQmRVSkRMRVZCUVZORExFZEJReTlETEU5QlFVbEVMRWxCUVZsTUxHTkJRV05OTEVkQlEzSkNTaXhaUVVGWlJ5eEZRVUZUUXl4SFFVVjJRa0VpTENKbWFXeGxJam9pTDJodmJXVXZlbWx1Ynk5d2NtOXFaV04wY3k5elpXRjBiV0Z3ZGpJdmJXRnpkR1Z5TDNObFlYUnRZWEIyTWk5amJHbGxiblF2Ym05a1pWOXRiMlIxYkdWekwyRjRhVzl6TDJ4cFlpOWpiM0psTDJKMWFXeGtSblZzYkZCaGRHZ3Vhbk1pZlE9PSIsIlwidXNlIHN0cmljdFwiO3ZhciBlbmhhbmNlRXJyb3I9cmVxdWlyZShcIi4vZW5oYW5jZUVycm9yXCIpO21vZHVsZS5leHBvcnRzPWZ1bmN0aW9uKHIsZSxuLG8sYSl7dmFyIGM9bmV3IEVycm9yKHIpO3JldHVybiBlbmhhbmNlRXJyb3IoYyxlLG4sbyxhKX07XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJbU55WldGMFpVVnljbTl5TG1weklsMHNJbTVoYldWeklqcGJJbVZ1YUdGdVkyVkZjbkp2Y2lJc0luSmxjWFZwY21VaUxDSnRiMlIxYkdVaUxDSmxlSEJ2Y25Seklpd2liV1Z6YzJGblpTSXNJbU52Ym1acFp5SXNJbU52WkdVaUxDSnlaWEYxWlhOMElpd2ljbVZ6Y0c5dWMyVWlMQ0psY25KdmNpSXNJa1Z5Y205eUlsMHNJbTFoY0hCcGJtZHpJam9pUVVGQlFTeGhRVVZCTEVsQlFVbEJMR0ZCUVdWRExGRkJRVkVzYTBKQldUTkNReXhQUVVGUFF5eFJRVUZWTEZOQlFYRkNReXhGUVVGVFF5eEZRVUZSUXl4RlFVRk5ReXhGUVVGVFF5eEhRVU53UlN4SlFVRkpReXhGUVVGUkxFbEJRVWxETEUxQlFVMU9MRWRCUTNSQ0xFOUJRVTlLTEdGQlFXRlRMRVZCUVU5S0xFVkJRVkZETEVWQlFVMURMRVZCUVZORElpd2labWxzWlNJNklpOW9iMjFsTDNwcGJtOHZjSEp2YW1WamRITXZjMlZoZEcxaGNIWXlMMjFoYzNSbGNpOXpaV0YwYldGd2RqSXZZMnhwWlc1MEwyNXZaR1ZmYlc5a2RXeGxjeTloZUdsdmN5OXNhV0l2WTI5eVpTOWpjbVZoZEdWRmNuSnZjaTVxY3lKOSIsIlwidXNlIHN0cmljdFwiO3ZhciB1dGlscz1yZXF1aXJlKFwiLi8uLi91dGlsc1wiKSx0cmFuc2Zvcm1EYXRhPXJlcXVpcmUoXCIuL3RyYW5zZm9ybURhdGFcIiksaXNDYW5jZWw9cmVxdWlyZShcIi4uL2NhbmNlbC9pc0NhbmNlbFwiKSxkZWZhdWx0cz1yZXF1aXJlKFwiLi4vZGVmYXVsdHNcIik7ZnVuY3Rpb24gdGhyb3dJZkNhbmNlbGxhdGlvblJlcXVlc3RlZChlKXtlLmNhbmNlbFRva2VuJiZlLmNhbmNlbFRva2VuLnRocm93SWZSZXF1ZXN0ZWQoKX1tb2R1bGUuZXhwb3J0cz1mdW5jdGlvbihlKXtyZXR1cm4gdGhyb3dJZkNhbmNlbGxhdGlvblJlcXVlc3RlZChlKSxlLmhlYWRlcnM9ZS5oZWFkZXJzfHx7fSxlLmRhdGE9dHJhbnNmb3JtRGF0YShlLmRhdGEsZS5oZWFkZXJzLGUudHJhbnNmb3JtUmVxdWVzdCksZS5oZWFkZXJzPXV0aWxzLm1lcmdlKGUuaGVhZGVycy5jb21tb258fHt9LGUuaGVhZGVyc1tlLm1ldGhvZF18fHt9LGUuaGVhZGVycyksdXRpbHMuZm9yRWFjaChbXCJkZWxldGVcIixcImdldFwiLFwiaGVhZFwiLFwicG9zdFwiLFwicHV0XCIsXCJwYXRjaFwiLFwiY29tbW9uXCJdLGZ1bmN0aW9uKGEpe2RlbGV0ZSBlLmhlYWRlcnNbYV19KSwoZS5hZGFwdGVyfHxkZWZhdWx0cy5hZGFwdGVyKShlKS50aGVuKGZ1bmN0aW9uKGEpe3JldHVybiB0aHJvd0lmQ2FuY2VsbGF0aW9uUmVxdWVzdGVkKGUpLGEuZGF0YT10cmFuc2Zvcm1EYXRhKGEuZGF0YSxhLmhlYWRlcnMsZS50cmFuc2Zvcm1SZXNwb25zZSksYX0sZnVuY3Rpb24oYSl7cmV0dXJuIGlzQ2FuY2VsKGEpfHwodGhyb3dJZkNhbmNlbGxhdGlvblJlcXVlc3RlZChlKSxhJiZhLnJlc3BvbnNlJiYoYS5yZXNwb25zZS5kYXRhPXRyYW5zZm9ybURhdGEoYS5yZXNwb25zZS5kYXRhLGEucmVzcG9uc2UuaGVhZGVycyxlLnRyYW5zZm9ybVJlc3BvbnNlKSkpLFByb21pc2UucmVqZWN0KGEpfSl9O1xuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSW1ScGMzQmhkR05vVW1WeGRXVnpkQzVxY3lKZExDSnVZVzFsY3lJNld5SjFkR2xzY3lJc0luSmxjWFZwY21VaUxDSjBjbUZ1YzJadmNtMUVZWFJoSWl3aWFYTkRZVzVqWld3aUxDSmtaV1poZFd4MGN5SXNJblJvY205M1NXWkRZVzVqWld4c1lYUnBiMjVTWlhGMVpYTjBaV1FpTENKamIyNW1hV2NpTENKallXNWpaV3hVYjJ0bGJpSXNJblJvY205M1NXWlNaWEYxWlhOMFpXUWlMQ0p0YjJSMWJHVWlMQ0psZUhCdmNuUnpJaXdpYUdWaFpHVnljeUlzSW1SaGRHRWlMQ0owY21GdWMyWnZjbTFTWlhGMVpYTjBJaXdpYldWeVoyVWlMQ0pqYjIxdGIyNGlMQ0p0WlhSb2IyUWlMQ0ptYjNKRllXTm9JaXdpWVdSaGNIUmxjaUlzSW5Sb1pXNGlMQ0p5WlhOd2IyNXpaU0lzSW5SeVlXNXpabTl5YlZKbGMzQnZibk5sSWl3aWNtVmhjMjl1SWl3aVVISnZiV2x6WlNJc0luSmxhbVZqZENKZExDSnRZWEJ3YVc1bmN5STZJa0ZCUVVFc1lVRkZRU3hKUVVGSlFTeE5RVUZSUXl4UlFVRlJMR05CUTJoQ1F5eGpRVUZuUWtRc1VVRkJVU3h0UWtGRGVFSkZMRk5CUVZkR0xGRkJRVkVzYzBKQlEyNUNSeXhUUVVGWFNDeFJRVUZSTEdWQlMzWkNMRk5CUVZOSkxEWkNRVUUyUWtNc1IwRkRhRU5CTEVWQlFVOURMR0ZCUTFSRUxFVkJRVTlETEZsQlFWbERMRzFDUVZWMlFrTXNUMEZCVDBNc1VVRkJWU3hUUVVGNVFrb3NSMEUyUW5oRExFOUJOVUpCUkN3MlFrRkJOa0pETEVkQlJ6ZENRU3hGUVVGUFN5eFJRVUZWVEN4RlFVRlBTeXhUUVVGWExFZEJSMjVEVEN4RlFVRlBUU3hMUVVGUFZpeGpRVU5hU1N4RlFVRlBUU3hMUVVOUVRpeEZRVUZQU3l4UlFVTlFUQ3hGUVVGUFR5eHJRa0ZKVkZBc1JVRkJUMHNzVVVGQlZWZ3NUVUZCVFdNc1RVRkRja0pTTEVWQlFVOUxMRkZCUVZGSkxGRkJRVlVzUjBGRGVrSlVMRVZCUVU5TExGRkJRVkZNTEVWQlFVOVZMRk5CUVZjc1IwRkRha05XTEVWQlFVOUxMRk5CUjFSWUxFMUJRVTFwUWl4UlFVTktMRU5CUVVNc1UwRkJWU3hOUVVGUExFOUJRVkVzVDBGQlVTeE5RVUZQTEZGQlFWTXNWVUZEYkVRc1UwRkJNa0pFTEZWQlEyeENWaXhGUVVGUFN5eFJRVUZSU3l4TlFVbGFWaXhGUVVGUFdTeFRRVUZYWkN4VFFVRlRZeXhUUVVVeFFsb3NSMEZCVVdFc1MwRkJTeXhUUVVFMlFrTXNSMEZWZGtRc1QwRlVRV1lzTmtKQlFUWkNReXhIUVVjM1FtTXNSVUZCVTFJc1MwRkJUMVlzWTBGRFpHdENMRVZCUVZOU0xFdEJRMVJSTEVWQlFWTlVMRkZCUTFSTUxFVkJRVTlsTEcxQ1FVZEdSQ3hIUVVOT0xGTkJRVFJDUlN4SFFXTTNRaXhQUVdKTGJrSXNVMEZCVTIxQ0xFdEJRMXBxUWl3MlFrRkJOa0pETEVkQlIzcENaMElzUjBGQlZVRXNSVUZCVDBZc1YwRkRia0pGTEVWQlFVOUdMRk5CUVZOU0xFdEJRVTlXTEdOQlEzSkNiMElzUlVGQlQwWXNVMEZCVTFJc1MwRkRhRUpWTEVWQlFVOUdMRk5CUVZOVUxGRkJRMmhDVEN4RlFVRlBaU3h4UWtGTFRrVXNVVUZCVVVNc1QwRkJUMFlpTENKbWFXeGxJam9pTDJodmJXVXZlbWx1Ynk5d2NtOXFaV04wY3k5elpXRjBiV0Z3ZGpJdmJXRnpkR1Z5TDNObFlYUnRZWEIyTWk5amJHbGxiblF2Ym05a1pWOXRiMlIxYkdWekwyRjRhVzl6TDJ4cFlpOWpiM0psTDJScGMzQmhkR05vVW1WeGRXVnpkQzVxY3lKOSIsIlwidXNlIHN0cmljdFwiO21vZHVsZS5leHBvcnRzPWZ1bmN0aW9uKGUsaSxzLHQsbil7cmV0dXJuIGUuY29uZmlnPWkscyYmKGUuY29kZT1zKSxlLnJlcXVlc3Q9dCxlLnJlc3BvbnNlPW4sZS5pc0F4aW9zRXJyb3I9ITAsZS50b0pTT049ZnVuY3Rpb24oKXtyZXR1cm57bWVzc2FnZTp0aGlzLm1lc3NhZ2UsbmFtZTp0aGlzLm5hbWUsZGVzY3JpcHRpb246dGhpcy5kZXNjcmlwdGlvbixudW1iZXI6dGhpcy5udW1iZXIsZmlsZU5hbWU6dGhpcy5maWxlTmFtZSxsaW5lTnVtYmVyOnRoaXMubGluZU51bWJlcixjb2x1bW5OdW1iZXI6dGhpcy5jb2x1bW5OdW1iZXIsc3RhY2s6dGhpcy5zdGFjayxjb25maWc6dGhpcy5jb25maWcsY29kZTp0aGlzLmNvZGV9fSxlfTtcblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYkltVnVhR0Z1WTJWRmNuSnZjaTVxY3lKZExDSnVZVzFsY3lJNld5SnRiMlIxYkdVaUxDSmxlSEJ2Y25Seklpd2laWEp5YjNJaUxDSmpiMjVtYVdjaUxDSmpiMlJsSWl3aWNtVnhkV1Z6ZENJc0luSmxjM0J2Ym5ObElpd2lhWE5CZUdsdmMwVnljbTl5SWl3aWRHOUtVMDlPSWl3aWJXVnpjMkZuWlNJc0luUm9hWE1pTENKdVlXMWxJaXdpWkdWelkzSnBjSFJwYjI0aUxDSnVkVzFpWlhJaUxDSm1hV3hsVG1GdFpTSXNJbXhwYm1WT2RXMWlaWElpTENKamIyeDFiVzVPZFcxaVpYSWlMQ0p6ZEdGamF5SmRMQ0p0WVhCd2FXNW5jeUk2SWtGQlFVRXNZVUZaUVVFc1QwRkJUME1zVVVGQlZTeFRRVUZ6UWtNc1JVRkJUME1zUlVGQlVVTXNSVUZCVFVNc1JVRkJVME1zUjBFMFFtNUZMRTlCTTBKQlNpeEZRVUZOUXl4UFFVRlRRU3hGUVVOWVF5eEpRVU5HUml4RlFVRk5SU3hMUVVGUFFTeEhRVWRtUml4RlFVRk5SeXhSUVVGVlFTeEZRVU5vUWtnc1JVRkJUVWtzVTBGQlYwRXNSVUZEYWtKS0xFVkJRVTFMTEdOQlFXVXNSVUZGY2tKTUxFVkJRVTFOTEU5QlFWTXNWMEZEWWl4TlFVRlBMRU5CUlV4RExGRkJRVk5ETEV0QlFVdEVMRkZCUTJSRkxFdEJRVTFFTEV0QlFVdERMRXRCUlZoRExGbEJRV0ZHTEV0QlFVdEZMRmxCUTJ4Q1F5eFBRVUZSU0N4TFFVRkxSeXhQUVVWaVF5eFRRVUZWU2l4TFFVRkxTU3hUUVVObVF5eFhRVUZaVEN4TFFVRkxTeXhYUVVOcVFrTXNZVUZCWTA0c1MwRkJTMDBzWVVGRGJrSkRMRTFCUVU5UUxFdEJRVXRQTEUxQlJWcGtMRTlCUVZGUExFdEJRVXRRTEU5QlEySkRMRXRCUVUxTkxFdEJRVXRPTEU5QlIxSkdJaXdpWm1sc1pTSTZJaTlvYjIxbEwzcHBibTh2Y0hKdmFtVmpkSE12YzJWaGRHMWhjSFl5TDIxaGMzUmxjaTl6WldGMGJXRndkakl2WTJ4cFpXNTBMMjV2WkdWZmJXOWtkV3hsY3k5aGVHbHZjeTlzYVdJdlkyOXlaUzlsYm1oaGJtTmxSWEp5YjNJdWFuTWlmUT09IiwiXCJ1c2Ugc3RyaWN0XCI7dmFyIHV0aWxzPXJlcXVpcmUoXCIuLi91dGlsc1wiKTttb2R1bGUuZXhwb3J0cz1mdW5jdGlvbihlLHQpe3Q9dHx8e307dmFyIGk9e30scz1bXCJ1cmxcIixcIm1ldGhvZFwiLFwiZGF0YVwiXSxuPVtcImhlYWRlcnNcIixcImF1dGhcIixcInByb3h5XCIsXCJwYXJhbXNcIl0scj1bXCJiYXNlVVJMXCIsXCJ0cmFuc2Zvcm1SZXF1ZXN0XCIsXCJ0cmFuc2Zvcm1SZXNwb25zZVwiLFwicGFyYW1zU2VyaWFsaXplclwiLFwidGltZW91dFwiLFwidGltZW91dE1lc3NhZ2VcIixcIndpdGhDcmVkZW50aWFsc1wiLFwiYWRhcHRlclwiLFwicmVzcG9uc2VUeXBlXCIsXCJ4c3JmQ29va2llTmFtZVwiLFwieHNyZkhlYWRlck5hbWVcIixcIm9uVXBsb2FkUHJvZ3Jlc3NcIixcIm9uRG93bmxvYWRQcm9ncmVzc1wiLFwiZGVjb21wcmVzc1wiLFwibWF4Q29udGVudExlbmd0aFwiLFwibWF4Qm9keUxlbmd0aFwiLFwibWF4UmVkaXJlY3RzXCIsXCJ0cmFuc3BvcnRcIixcImh0dHBBZ2VudFwiLFwiaHR0cHNBZ2VudFwiLFwiY2FuY2VsVG9rZW5cIixcInNvY2tldFBhdGhcIixcInJlc3BvbnNlRW5jb2RpbmdcIl0sbz1bXCJ2YWxpZGF0ZVN0YXR1c1wiXTtmdW5jdGlvbiBhKGUsdCl7cmV0dXJuIHV0aWxzLmlzUGxhaW5PYmplY3QoZSkmJnV0aWxzLmlzUGxhaW5PYmplY3QodCk/dXRpbHMubWVyZ2UoZSx0KTp1dGlscy5pc1BsYWluT2JqZWN0KHQpP3V0aWxzLm1lcmdlKHt9LHQpOnV0aWxzLmlzQXJyYXkodCk/dC5zbGljZSgpOnR9ZnVuY3Rpb24gdShzKXt1dGlscy5pc1VuZGVmaW5lZCh0W3NdKT91dGlscy5pc1VuZGVmaW5lZChlW3NdKXx8KGlbc109YSh2b2lkIDAsZVtzXSkpOmlbc109YShlW3NdLHRbc10pfXV0aWxzLmZvckVhY2gocyxmdW5jdGlvbihlKXt1dGlscy5pc1VuZGVmaW5lZCh0W2VdKXx8KGlbZV09YSh2b2lkIDAsdFtlXSkpfSksdXRpbHMuZm9yRWFjaChuLHUpLHV0aWxzLmZvckVhY2gocixmdW5jdGlvbihzKXt1dGlscy5pc1VuZGVmaW5lZCh0W3NdKT91dGlscy5pc1VuZGVmaW5lZChlW3NdKXx8KGlbc109YSh2b2lkIDAsZVtzXSkpOmlbc109YSh2b2lkIDAsdFtzXSl9KSx1dGlscy5mb3JFYWNoKG8sZnVuY3Rpb24ocyl7cyBpbiB0P2lbc109YShlW3NdLHRbc10pOnMgaW4gZSYmKGlbc109YSh2b2lkIDAsZVtzXSkpfSk7dmFyIGM9cy5jb25jYXQobikuY29uY2F0KHIpLmNvbmNhdChvKSxsPU9iamVjdC5rZXlzKGUpLmNvbmNhdChPYmplY3Qua2V5cyh0KSkuZmlsdGVyKGZ1bmN0aW9uKGUpe3JldHVybi0xPT09Yy5pbmRleE9mKGUpfSk7cmV0dXJuIHV0aWxzLmZvckVhY2gobCx1KSxpfTtcblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYkltMWxjbWRsUTI5dVptbG5MbXB6SWwwc0ltNWhiV1Z6SWpwYkluVjBhV3h6SWl3aWNtVnhkV2x5WlNJc0ltMXZaSFZzWlNJc0ltVjRjRzl5ZEhNaUxDSmpiMjVtYVdjeElpd2lZMjl1Wm1sbk1pSXNJbU52Ym1acFp5SXNJblpoYkhWbFJuSnZiVU52Ym1acFp6SkxaWGx6SWl3aWJXVnlaMlZFWldWd1VISnZjR1Z5ZEdsbGMwdGxlWE1pTENKa1pXWmhkV3gwVkc5RGIyNW1hV2N5UzJWNWN5SXNJbVJwY21WamRFMWxjbWRsUzJWNWN5SXNJbWRsZEUxbGNtZGxaRlpoYkhWbElpd2lkR0Z5WjJWMElpd2ljMjkxY21ObElpd2lhWE5RYkdGcGJrOWlhbVZqZENJc0ltMWxjbWRsSWl3aWFYTkJjbkpoZVNJc0luTnNhV05sSWl3aWJXVnlaMlZFWldWd1VISnZjR1Z5ZEdsbGN5SXNJbkJ5YjNBaUxDSnBjMVZ1WkdWbWFXNWxaQ0lzSW5WdVpHVm1hVzVsWkNJc0ltWnZja1ZoWTJnaUxDSmhlR2x2YzB0bGVYTWlMQ0pqYjI1allYUWlMQ0p2ZEdobGNrdGxlWE1pTENKUFltcGxZM1FpTENKclpYbHpJaXdpWm1sc2RHVnlJaXdpYTJWNUlpd2lhVzVrWlhoUFppSmRMQ0p0WVhCd2FXNW5jeUk2SWtGQlFVRXNZVUZGUVN4SlFVRkpRU3hOUVVGUlF5eFJRVUZSTEZsQlZYQkNReXhQUVVGUFF5eFJRVUZWTEZOQlFYRkNReXhGUVVGVFF5eEhRVVUzUTBFc1JVRkJWVUVzUjBGQlZ5eEhRVU55UWl4SlFVRkpReXhGUVVGVExFZEJSVlJETEVWQlFYVkNMRU5CUVVNc1RVRkJUeXhUUVVGVkxGRkJRM3BEUXl4RlFVRXdRaXhEUVVGRExGVkJRVmNzVDBGQlVTeFJRVUZUTEZWQlEzWkVReXhGUVVGMVFpeERRVU42UWl4VlFVRlhMRzFDUVVGdlFpeHZRa0ZCY1VJc2JVSkJRM0JFTEZWQlFWY3NhVUpCUVd0Q0xHdENRVUZ0UWl4VlFVRlhMR1ZCUVdkQ0xHbENRVU16UlN4cFFrRkJhMElzYlVKQlFXOUNMSEZDUVVGelFpeGhRVU0xUkN4dFFrRkJiMElzWjBKQlFXbENMR1ZCUVdkQ0xGbEJRV0VzV1VGRGJFVXNZVUZCWXl4alFVRmxMR0ZCUVdNc2IwSkJSWHBEUXl4RlFVRnJRaXhEUVVGRExHdENRVVYyUWl4VFFVRlRReXhGUVVGbFF5eEZRVUZSUXl4SFFVTTVRaXhQUVVGSllpeE5RVUZOWXl4alFVRmpSaXhKUVVGWFdpeE5RVUZOWXl4alFVRmpSQ3hIUVVNNVEySXNUVUZCVFdVc1RVRkJUVWdzUlVGQlVVTXNSMEZEYkVKaUxFMUJRVTFqTEdOQlFXTkVMRWRCUTNSQ1lpeE5RVUZOWlN4TlFVRk5MRWRCUVVsR0xFZEJRMlJpTEUxQlFVMW5RaXhSUVVGUlNDeEhRVU5vUWtFc1JVRkJUMGtzVVVGRlZFb3NSVUZIVkN4VFFVRlRTeXhGUVVGdlFrTXNSMEZEZEVKdVFpeE5RVUZOYjBJc1dVRkJXV1lzUlVGQlVXTXNTVUZGYmtKdVFpeE5RVUZOYjBJc1dVRkJXV2hDTEVWQlFWRmxMRTFCUTNCRFlpeEZRVUZQWVN4SFFVRlJVaXhQUVVGbFZTeEZRVUZYYWtJc1JVRkJVV1VzUzBGR2FrUmlMRVZCUVU5aExFZEJRVkZTTEVWQlFXVlFMRVZCUVZGbExFZEJRVTlrTEVWQlFWRmpMRWxCVFhwRWJrSXNUVUZCVFhOQ0xGRkJRVkZtTEVWQlFYTkNMRk5CUVRCQ1dTeEhRVU4yUkc1Q0xFMUJRVTF2UWl4WlFVRlpaaXhGUVVGUll5eE5RVU0zUW1Jc1JVRkJUMkVzUjBGQlVWSXNUMEZCWlZVc1JVRkJWMmhDTEVWQlFWRmpMRTlCU1hKRWJrSXNUVUZCVFhOQ0xGRkJRVkZrTEVWQlFYbENWU3hIUVVWMlEyeENMRTFCUVUxelFpeFJRVUZSWWl4RlFVRnpRaXhUUVVFd1FsVXNSMEZEZGtSdVFpeE5RVUZOYjBJc1dVRkJXV1lzUlVGQlVXTXNTVUZGYmtKdVFpeE5RVUZOYjBJc1dVRkJXV2hDTEVWQlFWRmxMRTFCUTNCRFlpeEZRVUZQWVN4SFFVRlJVaXhQUVVGbFZTeEZRVUZYYWtJc1JVRkJVV1VzUzBGR2FrUmlMRVZCUVU5aExFZEJRVkZTTEU5QlFXVlZMRVZCUVZkb1FpeEZRVUZSWXl4TlFVMXlSRzVDTEUxQlFVMXpRaXhSUVVGUldpeEZRVUZwUWl4VFFVRmxVeXhIUVVONFEwRXNTMEZCVVdRc1JVRkRWa01zUlVGQlQyRXNSMEZCVVZJc1JVRkJaVkFzUlVGQlVXVXNSMEZCVDJRc1JVRkJVV01zU1VGRE5VTkJMRXRCUVZGbUxFbEJRMnBDUlN4RlFVRlBZU3hIUVVGUlVpeFBRVUZsVlN4RlFVRlhha0lzUlVGQlVXVXNUMEZKY2tRc1NVRkJTVWtzUlVGQldXaENMRVZCUTJKcFFpeFBRVUZQYUVJc1IwRkRVR2RDTEU5QlFVOW1MRWRCUTFCbExFOUJRVTlrTEVkQlJVNWxMRVZCUVZsRExFOUJRMkpETEV0QlFVdDJRaXhIUVVOTWIwSXNUMEZCVDBVc1QwRkJUME1zUzBGQlMzUkNMRWxCUTI1Q2RVSXNUMEZCVHl4VFFVRjVRa01zUjBGREwwSXNUMEZCYlVNc1NVRkJOVUpPTEVWQlFWVlBMRkZCUVZGRUxFdEJTemRDTEU5QlJrRTNRaXhOUVVGTmMwSXNVVUZCVVVjc1JVRkJWMUFzUjBGRmJFSmFJaXdpWm1sc1pTSTZJaTlvYjIxbEwzcHBibTh2Y0hKdmFtVmpkSE12YzJWaGRHMWhjSFl5TDIxaGMzUmxjaTl6WldGMGJXRndkakl2WTJ4cFpXNTBMMjV2WkdWZmJXOWtkV3hsY3k5aGVHbHZjeTlzYVdJdlkyOXlaUzl0WlhKblpVTnZibVpwWnk1cWN5SjkiLCJcInVzZSBzdHJpY3RcIjt2YXIgY3JlYXRlRXJyb3I9cmVxdWlyZShcIi4vY3JlYXRlRXJyb3JcIik7bW9kdWxlLmV4cG9ydHM9ZnVuY3Rpb24odCxyLGUpe3ZhciBzPWUuY29uZmlnLnZhbGlkYXRlU3RhdHVzO2Uuc3RhdHVzJiZzJiYhcyhlLnN0YXR1cyk/cihjcmVhdGVFcnJvcihcIlJlcXVlc3QgZmFpbGVkIHdpdGggc3RhdHVzIGNvZGUgXCIrZS5zdGF0dXMsZS5jb25maWcsbnVsbCxlLnJlcXVlc3QsZSkpOnQoZSl9O1xuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSW5ObGRIUnNaUzVxY3lKZExDSnVZVzFsY3lJNld5SmpjbVZoZEdWRmNuSnZjaUlzSW5KbGNYVnBjbVVpTENKdGIyUjFiR1VpTENKbGVIQnZjblJ6SWl3aWNtVnpiMngyWlNJc0luSmxhbVZqZENJc0luSmxjM0J2Ym5ObElpd2lkbUZzYVdSaGRHVlRkR0YwZFhNaUxDSmpiMjVtYVdjaUxDSnpkR0YwZFhNaUxDSnlaWEYxWlhOMElsMHNJbTFoY0hCcGJtZHpJam9pUVVGQlFTeGhRVVZCTEVsQlFVbEJMRmxCUVdORExGRkJRVkVzYVVKQlV6RkNReXhQUVVGUFF5eFJRVUZWTEZOQlFXZENReXhGUVVGVFF5eEZRVUZSUXl4SFFVTm9SQ3hKUVVGSlF5eEZRVUZwUWtRc1JVRkJVMFVzVDBGQlQwUXNaVUZEYUVORUxFVkJRVk5ITEZGQlFWZEdMRWxCUVd0Q1FTeEZRVUZsUkN4RlFVRlRSeXhSUVVkcVJVb3NSVUZCVDB3c1dVRkRUQ3h0UTBGQmNVTk5MRVZCUVZOSExFOUJRemxEU0N4RlFVRlRSU3hQUVVOVUxFdEJRMEZHTEVWQlFWTkpMRkZCUTFSS0xFbEJVRVpHTEVWQlFWRkZJaXdpWm1sc1pTSTZJaTlvYjIxbEwzcHBibTh2Y0hKdmFtVmpkSE12YzJWaGRHMWhjSFl5TDIxaGMzUmxjaTl6WldGMGJXRndkakl2WTJ4cFpXNTBMMjV2WkdWZmJXOWtkV3hsY3k5aGVHbHZjeTlzYVdJdlkyOXlaUzl6WlhSMGJHVXVhbk1pZlE9PSIsIlwidXNlIHN0cmljdFwiO3ZhciB1dGlscz1yZXF1aXJlKFwiLi8uLi91dGlsc1wiKTttb2R1bGUuZXhwb3J0cz1mdW5jdGlvbih0LHUscil7cmV0dXJuIHV0aWxzLmZvckVhY2gocixmdW5jdGlvbihyKXt0PXIodCx1KX0pLHR9O1xuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSW5SeVlXNXpabTl5YlVSaGRHRXVhbk1pWFN3aWJtRnRaWE1pT2xzaWRYUnBiSE1pTENKeVpYRjFhWEpsSWl3aWJXOWtkV3hsSWl3aVpYaHdiM0owY3lJc0ltUmhkR0VpTENKb1pXRmtaWEp6SWl3aVptNXpJaXdpWm05eVJXRmphQ0lzSW1adUlsMHNJbTFoY0hCcGJtZHpJam9pUVVGQlFTeGhRVVZCTEVsQlFVbEJMRTFCUVZGRExGRkJRVkVzWTBGVmNFSkRMRTlCUVU5RExGRkJRVlVzVTBGQmRVSkRMRVZCUVUxRExFVkJRVk5ETEVkQlRYSkVMRTlCU2tGT0xFMUJRVTFQTEZGQlFWRkVMRVZCUVVzc1UwRkJiVUpGTEVkQlEzQkRTaXhGUVVGUFNTeEZRVUZIU2l4RlFVRk5ReXhMUVVkWVJDSXNJbVpwYkdVaU9pSXZhRzl0WlM5NmFXNXZMM0J5YjJwbFkzUnpMM05sWVhSdFlYQjJNaTl0WVhOMFpYSXZjMlZoZEcxaGNIWXlMMk5zYVdWdWRDOXViMlJsWDIxdlpIVnNaWE12WVhocGIzTXZiR2xpTDJOdmNtVXZkSEpoYm5ObWIzSnRSR0YwWVM1cWN5SjkiLCJcInVzZSBzdHJpY3RcIjt2YXIgdXRpbHM9cmVxdWlyZShcIi4vdXRpbHNcIiksbm9ybWFsaXplSGVhZGVyTmFtZT1yZXF1aXJlKFwiLi9oZWxwZXJzL25vcm1hbGl6ZUhlYWRlck5hbWVcIiksREVGQVVMVF9DT05URU5UX1RZUEU9e1wiQ29udGVudC1UeXBlXCI6XCJhcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWRcIn07ZnVuY3Rpb24gc2V0Q29udGVudFR5cGVJZlVuc2V0KGUsdCl7IXV0aWxzLmlzVW5kZWZpbmVkKGUpJiZ1dGlscy5pc1VuZGVmaW5lZChlW1wiQ29udGVudC1UeXBlXCJdKSYmKGVbXCJDb250ZW50LVR5cGVcIl09dCl9ZnVuY3Rpb24gZ2V0RGVmYXVsdEFkYXB0ZXIoKXt2YXIgZTtyZXR1cm5cInVuZGVmaW5lZFwiIT10eXBlb2YgWE1MSHR0cFJlcXVlc3Q/ZT1yZXF1aXJlKFwiLi9hZGFwdGVycy94aHJcIik6XCJ1bmRlZmluZWRcIiE9dHlwZW9mIHByb2Nlc3MmJlwiW29iamVjdCBwcm9jZXNzXVwiPT09T2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKHByb2Nlc3MpJiYoZT1yZXF1aXJlKFwiLi9hZGFwdGVycy9odHRwXCIpKSxlfXZhciBkZWZhdWx0cz17YWRhcHRlcjpnZXREZWZhdWx0QWRhcHRlcigpLHRyYW5zZm9ybVJlcXVlc3Q6W2Z1bmN0aW9uKGUsdCl7cmV0dXJuIG5vcm1hbGl6ZUhlYWRlck5hbWUodCxcIkFjY2VwdFwiKSxub3JtYWxpemVIZWFkZXJOYW1lKHQsXCJDb250ZW50LVR5cGVcIiksdXRpbHMuaXNGb3JtRGF0YShlKXx8dXRpbHMuaXNBcnJheUJ1ZmZlcihlKXx8dXRpbHMuaXNCdWZmZXIoZSl8fHV0aWxzLmlzU3RyZWFtKGUpfHx1dGlscy5pc0ZpbGUoZSl8fHV0aWxzLmlzQmxvYihlKT9lOnV0aWxzLmlzQXJyYXlCdWZmZXJWaWV3KGUpP2UuYnVmZmVyOnV0aWxzLmlzVVJMU2VhcmNoUGFyYW1zKGUpPyhzZXRDb250ZW50VHlwZUlmVW5zZXQodCxcImFwcGxpY2F0aW9uL3gtd3d3LWZvcm0tdXJsZW5jb2RlZDtjaGFyc2V0PXV0Zi04XCIpLGUudG9TdHJpbmcoKSk6dXRpbHMuaXNPYmplY3QoZSk/KHNldENvbnRlbnRUeXBlSWZVbnNldCh0LFwiYXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04XCIpLEpTT04uc3RyaW5naWZ5KGUpKTplfV0sdHJhbnNmb3JtUmVzcG9uc2U6W2Z1bmN0aW9uKGUpe2lmKFwic3RyaW5nXCI9PXR5cGVvZiBlKXRyeXtlPUpTT04ucGFyc2UoZSl9Y2F0Y2goZSl7fXJldHVybiBlfV0sdGltZW91dDowLHhzcmZDb29raWVOYW1lOlwiWFNSRi1UT0tFTlwiLHhzcmZIZWFkZXJOYW1lOlwiWC1YU1JGLVRPS0VOXCIsbWF4Q29udGVudExlbmd0aDotMSxtYXhCb2R5TGVuZ3RoOi0xLHZhbGlkYXRlU3RhdHVzOmZ1bmN0aW9uKGUpe3JldHVybiBlPj0yMDAmJmU8MzAwfSxoZWFkZXJzOntjb21tb246e0FjY2VwdDpcImFwcGxpY2F0aW9uL2pzb24sIHRleHQvcGxhaW4sICovKlwifX19O3V0aWxzLmZvckVhY2goW1wiZGVsZXRlXCIsXCJnZXRcIixcImhlYWRcIl0sZnVuY3Rpb24oZSl7ZGVmYXVsdHMuaGVhZGVyc1tlXT17fX0pLHV0aWxzLmZvckVhY2goW1wicG9zdFwiLFwicHV0XCIsXCJwYXRjaFwiXSxmdW5jdGlvbihlKXtkZWZhdWx0cy5oZWFkZXJzW2VdPXV0aWxzLm1lcmdlKERFRkFVTFRfQ09OVEVOVF9UWVBFKX0pLG1vZHVsZS5leHBvcnRzPWRlZmF1bHRzO1xuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSW1SbFptRjFiSFJ6TG1weklsMHNJbTVoYldWeklqcGJJblYwYVd4eklpd2ljbVZ4ZFdseVpTSXNJbTV2Y20xaGJHbDZaVWhsWVdSbGNrNWhiV1VpTENKRVJVWkJWVXhVWDBOUFRsUkZUbFJmVkZsUVJTSXNJa052Ym5SbGJuUXRWSGx3WlNJc0luTmxkRU52Ym5SbGJuUlVlWEJsU1daVmJuTmxkQ0lzSW1obFlXUmxjbk1pTENKMllXeDFaU0lzSW1selZXNWtaV1pwYm1Wa0lpd2laMlYwUkdWbVlYVnNkRUZrWVhCMFpYSWlMQ0poWkdGd2RHVnlJaXdpV0UxTVNIUjBjRkpsY1hWbGMzUWlMQ0p3Y205alpYTnpJaXdpVDJKcVpXTjBJaXdpY0hKdmRHOTBlWEJsSWl3aWRHOVRkSEpwYm1jaUxDSmpZV3hzSWl3aVpHVm1ZWFZzZEhNaUxDSjBjbUZ1YzJadmNtMVNaWEYxWlhOMElpd2laR0YwWVNJc0ltbHpSbTl5YlVSaGRHRWlMQ0pwYzBGeWNtRjVRblZtWm1WeUlpd2lhWE5DZFdabVpYSWlMQ0pwYzFOMGNtVmhiU0lzSW1selJtbHNaU0lzSW1selFteHZZaUlzSW1selFYSnlZWGxDZFdabVpYSldhV1YzSWl3aVluVm1abVZ5SWl3aWFYTlZVa3hUWldGeVkyaFFZWEpoYlhNaUxDSnBjMDlpYW1WamRDSXNJa3BUVDA0aUxDSnpkSEpwYm1kcFpua2lMQ0owY21GdWMyWnZjbTFTWlhOd2IyNXpaU0lzSW5CaGNuTmxJaXdpWlNJc0luUnBiV1Z2ZFhRaUxDSjRjM0ptUTI5dmEybGxUbUZ0WlNJc0luaHpjbVpJWldGa1pYSk9ZVzFsSWl3aWJXRjRRMjl1ZEdWdWRFeGxibWQwYUNJc0ltMWhlRUp2WkhsTVpXNW5kR2dpTENKMllXeHBaR0YwWlZOMFlYUjFjeUlzSW5OMFlYUjFjeUlzSW1OdmJXMXZiaUlzSWtGalkyVndkQ0lzSW1admNrVmhZMmdpTENKdFpYUm9iMlFpTENKdFpYSm5aU0lzSW0xdlpIVnNaU0lzSW1WNGNHOXlkSE1pWFN3aWJXRndjR2x1WjNNaU9pSkJRVUZCTEdGQlJVRXNTVUZCU1VFc1RVRkJVVU1zVVVGQlVTeFhRVU5vUWtNc2IwSkJRWE5DUkN4UlFVRlJMR2xEUVVVNVFrVXNjVUpCUVhWQ0xFTkJRM3BDUXl4bFFVRm5RaXh4UTBGSGJFSXNVMEZCVTBNc2MwSkJRWE5DUXl4RlFVRlRReXhKUVVOcVExQXNUVUZCVFZFc1dVRkJXVVlzU1VGQldVNHNUVUZCVFZFc1dVRkJXVVlzUlVGQlVTeHRRa0ZETTBSQkxFVkJRVkVzWjBKQlFXdENReXhIUVVrNVFpeFRRVUZUUlN4dlFrRkRVQ3hKUVVGSlF5eEZRVkZLTEUxQlVEaENMRzlDUVVGdVFrTXNaVUZGVkVRc1JVRkJWVlFzVVVGQlVTeHJRa0ZEVlN4dlFrRkJXbGNzVTBGQmRVVXNjVUpCUVRWRFF5eFBRVUZQUXl4VlFVRlZReXhUUVVGVFF5eExRVUZMU2l4WFFVVXhSVVlzUlVGQlZWUXNVVUZCVVN4dlFrRkZZbE1zUlVGSFZDeEpRVUZKVHl4VFFVRlhMRU5CUTJKUUxGRkJRVk5FTEc5Q1FVVlVVeXhwUWtGQmEwSXNRMEZCUXl4VFFVRXdRa01zUlVGQlRXSXNSMEZIYWtRc1QwRkdRVW9zYjBKQlFXOUNTU3hGUVVGVExGVkJRemRDU2l4dlFrRkJiMEpKTEVWQlFWTXNaMEpCUTNwQ1RpeE5RVUZOYjBJc1YwRkJWMFFzU1VGRGJrSnVRaXhOUVVGTmNVSXNZMEZCWTBZc1NVRkRjRUp1UWl4TlFVRk5jMElzVTBGQlUwZ3NTVUZEWm01Q0xFMUJRVTExUWl4VFFVRlRTaXhKUVVObWJrSXNUVUZCVFhkQ0xFOUJRVTlNTEVsQlEySnVRaXhOUVVGTmVVSXNUMEZCVDA0c1IwRkZUa0VzUlVGRlRHNUNMRTFCUVUwd1FpeHJRa0ZCYTBKUUxFZEJRMjVDUVN4RlFVRkxVU3hQUVVWV00wSXNUVUZCVFRSQ0xHdENRVUZyUWxRc1NVRkRNVUprTEhOQ1FVRnpRa01zUlVGQlV5eHRSRUZEZUVKaExFVkJRVXRLTEZsQlJWWm1MRTFCUVUwMlFpeFRRVUZUVml4SlFVTnFRbVFzYzBKQlFYTkNReXhGUVVGVExHdERRVU40UW5kQ0xFdEJRVXRETEZWQlFWVmFMRWxCUldwQ1FTeEpRVWRVWVN4clFrRkJiVUlzUTBGQlF5eFRRVUV5UW1Jc1IwRkZOME1zUjBGQmIwSXNhVUpCUVZSQkxFVkJRMVFzU1VGRFJVRXNSVUZCVDFjc1MwRkJTMGNzVFVGQlRXUXNSMEZEYkVJc1RVRkJUMlVzU1VGRldDeFBRVUZQWml4SlFVOVVaMElzVVVGQlV5eEZRVVZVUXl4bFFVRm5RaXhoUVVOb1FrTXNaVUZCWjBJc1pVRkZhRUpETEd0Q1FVRnRRaXhGUVVOdVFrTXNaVUZCWjBJc1JVRkZhRUpETEdWQlFXZENMRk5CUVhkQ1F5eEhRVU4wUXl4UFFVRlBRU3hIUVVGVkxFdEJRVTlCTEVWQlFWTXNTMEZKY2tOdVF5eFJRVUZ0UWl4RFFVTnFRbTlETEU5QlFWRXNRMEZEVGtNc1QwRkJWU3gxUTBGSlpETkRMRTFCUVUwMFF5eFJRVUZSTEVOQlFVTXNVMEZCVlN4TlFVRlBMRkZCUVZNc1UwRkJOa0pETEVkQlEzQkZOVUlzVTBGQlUxZ3NVVUZCVVhWRExFZEJRVlVzUzBGSE4wSTNReXhOUVVGTk5FTXNVVUZCVVN4RFFVRkRMRTlCUVZFc1RVRkJUeXhUUVVGVkxGTkJRU3RDUXl4SFFVTnlSVFZDTEZOQlFWTllMRkZCUVZGMVF5eEhRVUZWTjBNc1RVRkJUVGhETEUxQlFVMHpReXgzUWtGSGVrTTBReXhQUVVGUFF5eFJRVUZWTDBJaUxDSm1hV3hsSWpvaUwyaHZiV1V2ZW1sdWJ5OXdjbTlxWldOMGN5OXpaV0YwYldGd2RqSXZiV0Z6ZEdWeUwzTmxZWFJ0WVhCMk1pOWpiR2xsYm5RdmJtOWtaVjl0YjJSMWJHVnpMMkY0YVc5ekwyeHBZaTlrWldaaGRXeDBjeTVxY3lKOSIsIlwidXNlIHN0cmljdFwiO21vZHVsZS5leHBvcnRzPWZ1bmN0aW9uKHIsbil7cmV0dXJuIGZ1bmN0aW9uKCl7Zm9yKHZhciB0PW5ldyBBcnJheShhcmd1bWVudHMubGVuZ3RoKSxlPTA7ZTx0Lmxlbmd0aDtlKyspdFtlXT1hcmd1bWVudHNbZV07cmV0dXJuIHIuYXBwbHkobix0KX19O1xuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSW1KcGJtUXVhbk1pWFN3aWJtRnRaWE1pT2xzaWJXOWtkV3hsSWl3aVpYaHdiM0owY3lJc0ltWnVJaXdpZEdocGMwRnlaeUlzSW1GeVozTWlMQ0pCY25KaGVTSXNJbUZ5WjNWdFpXNTBjeUlzSW14bGJtZDBhQ0lzSW1raUxDSmhjSEJzZVNKZExDSnRZWEJ3YVc1bmN5STZJa0ZCUVVFc1lVRkZRVUVzVDBGQlQwTXNVVUZCVlN4VFFVRmpReXhGUVVGSlF5eEhRVU5xUXl4UFFVRlBMRmRCUlV3c1NVRkVRU3hKUVVGSlF5eEZRVUZQTEVsQlFVbERMRTFCUVUxRExGVkJRVlZETEZGQlEzUkNReXhGUVVGSkxFVkJRVWRCTEVWQlFVbEtMRVZCUVV0SExFOUJRVkZETEVsQlF5OUNTaXhGUVVGTFNTeEhRVUZMUml4VlFVRlZSU3hIUVVWMFFpeFBRVUZQVGl4RlFVRkhUeXhOUVVGTlRpeEZRVUZUUXlJc0ltWnBiR1VpT2lJdmFHOXRaUzk2YVc1dkwzQnliMnBsWTNSekwzTmxZWFJ0WVhCMk1pOXRZWE4wWlhJdmMyVmhkRzFoY0hZeUwyTnNhV1Z1ZEM5dWIyUmxYMjF2WkhWc1pYTXZZWGhwYjNNdmJHbGlMMmhsYkhCbGNuTXZZbWx1WkM1cWN5SjkiLCJcInVzZSBzdHJpY3RcIjt2YXIgdXRpbHM9cmVxdWlyZShcIi4vLi4vdXRpbHNcIik7ZnVuY3Rpb24gZW5jb2RlKGUpe3JldHVybiBlbmNvZGVVUklDb21wb25lbnQoZSkucmVwbGFjZSgvJTNBL2dpLFwiOlwiKS5yZXBsYWNlKC8lMjQvZyxcIiRcIikucmVwbGFjZSgvJTJDL2dpLFwiLFwiKS5yZXBsYWNlKC8lMjAvZyxcIitcIikucmVwbGFjZSgvJTVCL2dpLFwiW1wiKS5yZXBsYWNlKC8lNUQvZ2ksXCJdXCIpfW1vZHVsZS5leHBvcnRzPWZ1bmN0aW9uKGUsaSxyKXtpZighaSlyZXR1cm4gZTt2YXIgdDtpZihyKXQ9cihpKTtlbHNlIGlmKHV0aWxzLmlzVVJMU2VhcmNoUGFyYW1zKGkpKXQ9aS50b1N0cmluZygpO2Vsc2V7dmFyIG49W107dXRpbHMuZm9yRWFjaChpLGZ1bmN0aW9uKGUsaSl7bnVsbCE9ZSYmKHV0aWxzLmlzQXJyYXkoZSk/aSs9XCJbXVwiOmU9W2VdLHV0aWxzLmZvckVhY2goZSxmdW5jdGlvbihlKXt1dGlscy5pc0RhdGUoZSk/ZT1lLnRvSVNPU3RyaW5nKCk6dXRpbHMuaXNPYmplY3QoZSkmJihlPUpTT04uc3RyaW5naWZ5KGUpKSxuLnB1c2goZW5jb2RlKGkpK1wiPVwiK2VuY29kZShlKSl9KSl9KSx0PW4uam9pbihcIiZcIil9aWYodCl7dmFyIHM9ZS5pbmRleE9mKFwiI1wiKTstMSE9PXMmJihlPWUuc2xpY2UoMCxzKSksZSs9KC0xPT09ZS5pbmRleE9mKFwiP1wiKT9cIj9cIjpcIiZcIikrdH1yZXR1cm4gZX07XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJbUoxYVd4a1ZWSk1MbXB6SWwwc0ltNWhiV1Z6SWpwYkluVjBhV3h6SWl3aWNtVnhkV2x5WlNJc0ltVnVZMjlrWlNJc0luWmhiQ0lzSW1WdVkyOWtaVlZTU1VOdmJYQnZibVZ1ZENJc0luSmxjR3hoWTJVaUxDSnRiMlIxYkdVaUxDSmxlSEJ2Y25Seklpd2lkWEpzSWl3aWNHRnlZVzF6SWl3aWNHRnlZVzF6VTJWeWFXRnNhWHBsY2lJc0luTmxjbWxoYkdsNlpXUlFZWEpoYlhNaUxDSnBjMVZTVEZObFlYSmphRkJoY21GdGN5SXNJblJ2VTNSeWFXNW5JaXdpY0dGeWRITWlMQ0ptYjNKRllXTm9JaXdpYTJWNUlpd2lhWE5CY25KaGVTSXNJbllpTENKcGMwUmhkR1VpTENKMGIwbFRUMU4wY21sdVp5SXNJbWx6VDJKcVpXTjBJaXdpU2xOUFRpSXNJbk4wY21sdVoybG1lU0lzSW5CMWMyZ2lMQ0pxYjJsdUlpd2lhR0Z6YUcxaGNtdEpibVJsZUNJc0ltbHVaR1Y0VDJZaUxDSnpiR2xqWlNKZExDSnRZWEJ3YVc1bmN5STZJa0ZCUVVFc1lVRkZRU3hKUVVGSlFTeE5RVUZSUXl4UlFVRlJMR05CUlhCQ0xGTkJRVk5ETEU5QlFVOURMRWRCUTJRc1QwRkJUME1zYlVKQlFXMUNSQ3hIUVVONFFrVXNVVUZCVVN4UlFVRlRMRXRCUTJwQ1FTeFJRVUZSTEU5QlFWRXNTMEZEYUVKQkxGRkJRVkVzVVVGQlV5eExRVU5xUWtFc1VVRkJVU3hQUVVGUkxFdEJRMmhDUVN4UlFVRlJMRkZCUVZNc1MwRkRha0pCTEZGQlFWRXNVVUZCVXl4TFFWVnlRa01zVDBGQlQwTXNVVUZCVlN4VFFVRnJRa01zUlVGQlMwTXNSVUZCVVVNc1IwRkZPVU1zU1VGQlMwUXNSVUZEU0N4UFFVRlBSQ3hGUVVkVUxFbEJRVWxITEVWQlEwb3NSMEZCU1VRc1JVRkRSa01zUlVGQmJVSkVMRVZCUVdsQ1JDeFJRVU12UWl4SFFVRkpWQ3hOUVVGTldTeHJRa0ZCYTBKSUxFZEJRMnBEUlN4RlFVRnRRa1lzUlVGQlQwa3NaVUZEY2tJc1EwRkRUQ3hKUVVGSlF5eEZRVUZSTEVkQlJWcGtMRTFCUVUxbExGRkJRVkZPTEVWQlFWRXNVMEZCYlVKT0xFVkJRVXRoTEVkQlEzaERZaXhOUVVGQlFTeEpRVWxCU0N4TlFVRk5hVUlzVVVGQlVXUXNSMEZEYUVKaExFZEJRVmtzUzBGRldtSXNSVUZCVFN4RFFVRkRRU3hIUVVkVVNDeE5RVUZOWlN4UlFVRlJXaXhGUVVGTExGTkJRVzlDWlN4SFFVTnFRMnhDTEUxQlFVMXRRaXhQUVVGUFJDeEhRVU5tUVN4RlFVRkpRU3hGUVVGRlJTeGpRVU5IY0VJc1RVRkJUWEZDTEZOQlFWTklMRXRCUTNoQ1FTeEZRVUZKU1N4TFFVRkxReXhWUVVGVlRDeEpRVVZ5UWtvc1JVRkJUVlVzUzBGQlMzUkNMRTlCUVU5akxFZEJRVThzU1VGQlRXUXNUMEZCVDJkQ0xGTkJTVEZEVUN4RlFVRnRRa2NzUlVGQlRWY3NTMEZCU3l4TFFVZG9ReXhIUVVGSlpDeEZRVUZyUWl4RFFVTndRaXhKUVVGSlpTeEZRVUZuUW14Q0xFVkJRVWx0UWl4UlFVRlJMRTFCUTFRc1NVRkJia0pFTEVsQlEwWnNRaXhGUVVGTlFTeEZRVUZKYjBJc1RVRkJUU3hGUVVGSFJpeEpRVWR5UW14Q0xFdEJRVGhDTEVsQlFYUkNRU3hGUVVGSmJVSXNVVUZCVVN4TFFVRmpMRWxCUVUwc1MwRkJUMmhDTEVWQlIycEVMRTlCUVU5SUlpd2labWxzWlNJNklpOW9iMjFsTDNwcGJtOHZjSEp2YW1WamRITXZjMlZoZEcxaGNIWXlMMjFoYzNSbGNpOXpaV0YwYldGd2RqSXZZMnhwWlc1MEwyNXZaR1ZmYlc5a2RXeGxjeTloZUdsdmN5OXNhV0l2YUdWc2NHVnljeTlpZFdsc1pGVlNUQzVxY3lKOSIsIlwidXNlIHN0cmljdFwiO21vZHVsZS5leHBvcnRzPWZ1bmN0aW9uKGUscil7cmV0dXJuIHI/ZS5yZXBsYWNlKC9cXC8rJC8sXCJcIikrXCIvXCIrci5yZXBsYWNlKC9eXFwvKy8sXCJcIik6ZX07XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJbU52YldKcGJtVlZVa3h6TG1weklsMHNJbTVoYldWeklqcGJJbTF2WkhWc1pTSXNJbVY0Y0c5eWRITWlMQ0ppWVhObFZWSk1JaXdpY21Wc1lYUnBkbVZWVWt3aUxDSnlaWEJzWVdObElsMHNJbTFoY0hCcGJtZHpJam9pUVVGQlFTeGhRVk5CUVN4UFFVRlBReXhSUVVGVkxGTkJRWEZDUXl4RlFVRlRReXhIUVVNM1F5eFBRVUZQUVN4RlFVTklSQ3hGUVVGUlJTeFJRVUZSTEU5QlFWRXNTVUZCVFN4SlFVRk5SQ3hGUVVGWlF5eFJRVUZSTEU5QlFWRXNTVUZEYUVWR0lpd2labWxzWlNJNklpOW9iMjFsTDNwcGJtOHZjSEp2YW1WamRITXZjMlZoZEcxaGNIWXlMMjFoYzNSbGNpOXpaV0YwYldGd2RqSXZZMnhwWlc1MEwyNXZaR1ZmYlc5a2RXeGxjeTloZUdsdmN5OXNhV0l2YUdWc2NHVnljeTlqYjIxaWFXNWxWVkpNY3k1cWN5SjkiLCJcInVzZSBzdHJpY3RcIjt2YXIgdXRpbHM9cmVxdWlyZShcIi4vLi4vdXRpbHNcIik7bW9kdWxlLmV4cG9ydHM9dXRpbHMuaXNTdGFuZGFyZEJyb3dzZXJFbnYoKT97d3JpdGU6ZnVuY3Rpb24oZSx0LG4saSx1LG8pe3ZhciByPVtdO3IucHVzaChlK1wiPVwiK2VuY29kZVVSSUNvbXBvbmVudCh0KSksdXRpbHMuaXNOdW1iZXIobikmJnIucHVzaChcImV4cGlyZXM9XCIrbmV3IERhdGUobikudG9HTVRTdHJpbmcoKSksdXRpbHMuaXNTdHJpbmcoaSkmJnIucHVzaChcInBhdGg9XCIraSksdXRpbHMuaXNTdHJpbmcodSkmJnIucHVzaChcImRvbWFpbj1cIit1KSwhMD09PW8mJnIucHVzaChcInNlY3VyZVwiKSxkb2N1bWVudC5jb29raWU9ci5qb2luKFwiOyBcIil9LHJlYWQ6ZnVuY3Rpb24oZSl7dmFyIHQ9ZG9jdW1lbnQuY29va2llLm1hdGNoKG5ldyBSZWdFeHAoXCIoXnw7XFxcXHMqKShcIitlK1wiKT0oW147XSopXCIpKTtyZXR1cm4gdD9kZWNvZGVVUklDb21wb25lbnQodFszXSk6bnVsbH0scmVtb3ZlOmZ1bmN0aW9uKGUpe3RoaXMud3JpdGUoZSxcIlwiLERhdGUubm93KCktODY0ZTUpfX06e3dyaXRlOmZ1bmN0aW9uKCl7fSxyZWFkOmZ1bmN0aW9uKCl7cmV0dXJuIG51bGx9LHJlbW92ZTpmdW5jdGlvbigpe319O1xuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSW1OdmIydHBaWE11YW5NaVhTd2libUZ0WlhNaU9sc2lkWFJwYkhNaUxDSnlaWEYxYVhKbElpd2liVzlrZFd4bElpd2laWGh3YjNKMGN5SXNJbWx6VTNSaGJtUmhjbVJDY205M2MyVnlSVzUySWl3aWQzSnBkR1VpTENKdVlXMWxJaXdpZG1Gc2RXVWlMQ0psZUhCcGNtVnpJaXdpY0dGMGFDSXNJbVJ2YldGcGJpSXNJbk5sWTNWeVpTSXNJbU52YjJ0cFpTSXNJbkIxYzJnaUxDSmxibU52WkdWVlVrbERiMjF3YjI1bGJuUWlMQ0pwYzA1MWJXSmxjaUlzSWtSaGRHVWlMQ0owYjBkTlZGTjBjbWx1WnlJc0ltbHpVM1J5YVc1bklpd2laRzlqZFcxbGJuUWlMQ0pxYjJsdUlpd2ljbVZoWkNJc0ltMWhkR05vSWl3aVVtVm5SWGh3SWl3aVpHVmpiMlJsVlZKSlEyOXRjRzl1Wlc1MElpd2ljbVZ0YjNabElpd2lkR2hwY3lJc0ltNXZkeUpkTENKdFlYQndhVzVuY3lJNklrRkJRVUVzWVVGRlFTeEpRVUZKUVN4TlFVRlJReXhSUVVGUkxHTkJSWEJDUXl4UFFVRlBReXhSUVVOTVNDeE5RVUZOU1N4MVFrRkpTeXhEUVVOTVF5eE5RVUZQTEZOQlFXVkRMRVZCUVUxRExFVkJRVTlETEVWQlFWTkRMRVZCUVUxRExFVkJRVkZETEVkQlEzaEVMRWxCUVVsRExFVkJRVk1zUjBGRFlrRXNSVUZCVDBNc1MwRkJTMUFzUlVGQlR5eEpRVUZOVVN4dFFrRkJiVUpRTEVsQlJYaERVQ3hOUVVGTlpTeFRRVUZUVUN4SlFVTnFRa2tzUlVGQlQwTXNTMEZCU3l4WFFVRmhMRWxCUVVsSExFdEJRVXRTTEVkQlFWTlRMR1ZCUjNwRGFrSXNUVUZCVFd0Q0xGTkJRVk5VTEVsQlEycENSeXhGUVVGUFF5eExRVUZMTEZGQlFWVktMRWRCUjNCQ1ZDeE5RVUZOYTBJc1UwRkJVMUlzU1VGRGFrSkZMRVZCUVU5RExFdEJRVXNzVlVGQldVZ3NTVUZIV0N4SlFVRllReXhIUVVOR1F5eEZRVUZQUXl4TFFVRkxMRlZCUjJSTkxGTkJRVk5RTEU5QlFWTkJMRVZCUVU5UkxFdEJRVXNzVDBGSGFFTkRMRXRCUVUwc1UwRkJZMllzUjBGRGJFSXNTVUZCU1dkQ0xFVkJRVkZJTEZOQlFWTlFMRTlCUVU5VkxFMUJRVTBzU1VGQlNVTXNUMEZCVHl4aFFVRmxha0lzUlVGQlR5eGpRVU51UlN4UFFVRlJaMElzUlVGQlVVVXNiVUpCUVcxQ1JpeEZRVUZOTEVsQlFVMHNUVUZIYWtSSExFOUJRVkVzVTBGQlowSnVRaXhIUVVOMFFtOUNMRXRCUVV0eVFpeE5RVUZOUXl4RlFVRk5MRWRCUVVsVkxFdEJRVXRYTEUxQlFWRXNVMEZQTDBJc1EwRkRUSFJDTEUxQlFVOHNZVUZEVUdkQ0xFdEJRVTBzVjBGQmEwSXNUMEZCVHl4TlFVTXZRa2tzVDBGQlVTSXNJbVpwYkdVaU9pSXZhRzl0WlM5NmFXNXZMM0J5YjJwbFkzUnpMM05sWVhSdFlYQjJNaTl0WVhOMFpYSXZjMlZoZEcxaGNIWXlMMk5zYVdWdWRDOXViMlJsWDIxdlpIVnNaWE12WVhocGIzTXZiR2xpTDJobGJIQmxjbk12WTI5dmEybGxjeTVxY3lKOSIsIlwidXNlIHN0cmljdFwiO21vZHVsZS5leHBvcnRzPWZ1bmN0aW9uKHQpe3JldHVybi9eKFthLXpdW2EtelxcZFxcK1xcLVxcLl0qOik/XFwvXFwvL2kudGVzdCh0KX07XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJbWx6UVdKemIyeDFkR1ZWVWt3dWFuTWlYU3dpYm1GdFpYTWlPbHNpYlc5a2RXeGxJaXdpWlhod2IzSjBjeUlzSW5WeWJDSXNJblJsYzNRaVhTd2liV0Z3Y0dsdVozTWlPaUpCUVVGQkxHRkJVVUZCTEU5QlFVOURMRkZCUVZVc1UwRkJkVUpETEVkQlNYUkRMRTFCUVU4c1owTkJRV2REUXl4TFFVRkxSQ0lzSW1acGJHVWlPaUl2YUc5dFpTOTZhVzV2TDNCeWIycGxZM1J6TDNObFlYUnRZWEIyTWk5dFlYTjBaWEl2YzJWaGRHMWhjSFl5TDJOc2FXVnVkQzl1YjJSbFgyMXZaSFZzWlhNdllYaHBiM012YkdsaUwyaGxiSEJsY25NdmFYTkJZbk52YkhWMFpWVlNUQzVxY3lKOSIsIlwidXNlIHN0cmljdFwiO21vZHVsZS5leHBvcnRzPWZ1bmN0aW9uKG8pe3JldHVyblwib2JqZWN0XCI9PXR5cGVvZiBvJiYhMD09PW8uaXNBeGlvc0Vycm9yfTtcblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYkltbHpRWGhwYjNORmNuSnZjaTVxY3lKZExDSnVZVzFsY3lJNld5SnRiMlIxYkdVaUxDSmxlSEJ2Y25Seklpd2ljR0Y1Ykc5aFpDSXNJbWx6UVhocGIzTkZjbkp2Y2lKZExDSnRZWEJ3YVc1bmN5STZJa0ZCUVVFc1lVRlJRVUVzVDBGQlQwTXNVVUZCVlN4VFFVRnpRa01zUjBGRGNrTXNUVUZCTWtJc2FVSkJRVnBCTEVsQlFXMUVMRWxCUVhwQ1FTeEZRVUZSUXlJc0ltWnBiR1VpT2lJdmFHOXRaUzk2YVc1dkwzQnliMnBsWTNSekwzTmxZWFJ0WVhCMk1pOXRZWE4wWlhJdmMyVmhkRzFoY0hZeUwyTnNhV1Z1ZEM5dWIyUmxYMjF2WkhWc1pYTXZZWGhwYjNNdmJHbGlMMmhsYkhCbGNuTXZhWE5CZUdsdmMwVnljbTl5TG1wekluMD0iLCJcInVzZSBzdHJpY3RcIjt2YXIgdXRpbHM9cmVxdWlyZShcIi4vLi4vdXRpbHNcIik7bW9kdWxlLmV4cG9ydHM9dXRpbHMuaXNTdGFuZGFyZEJyb3dzZXJFbnYoKT9mdW5jdGlvbigpe3ZhciB0LHI9Lyhtc2llfHRyaWRlbnQpL2kudGVzdChuYXZpZ2F0b3IudXNlckFnZW50KSxlPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXCJhXCIpO2Z1bmN0aW9uIG8odCl7dmFyIG89dDtyZXR1cm4gciYmKGUuc2V0QXR0cmlidXRlKFwiaHJlZlwiLG8pLG89ZS5ocmVmKSxlLnNldEF0dHJpYnV0ZShcImhyZWZcIixvKSx7aHJlZjplLmhyZWYscHJvdG9jb2w6ZS5wcm90b2NvbD9lLnByb3RvY29sLnJlcGxhY2UoLzokLyxcIlwiKTpcIlwiLGhvc3Q6ZS5ob3N0LHNlYXJjaDplLnNlYXJjaD9lLnNlYXJjaC5yZXBsYWNlKC9eXFw/LyxcIlwiKTpcIlwiLGhhc2g6ZS5oYXNoP2UuaGFzaC5yZXBsYWNlKC9eIy8sXCJcIik6XCJcIixob3N0bmFtZTplLmhvc3RuYW1lLHBvcnQ6ZS5wb3J0LHBhdGhuYW1lOlwiL1wiPT09ZS5wYXRobmFtZS5jaGFyQXQoMCk/ZS5wYXRobmFtZTpcIi9cIitlLnBhdGhuYW1lfX1yZXR1cm4gdD1vKHdpbmRvdy5sb2NhdGlvbi5ocmVmKSxmdW5jdGlvbihyKXt2YXIgZT11dGlscy5pc1N0cmluZyhyKT9vKHIpOnI7cmV0dXJuIGUucHJvdG9jb2w9PT10LnByb3RvY29sJiZlLmhvc3Q9PT10Lmhvc3R9fSgpOmZ1bmN0aW9uKCl7cmV0dXJuITB9O1xuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSW1selZWSk1VMkZ0WlU5eWFXZHBiaTVxY3lKZExDSnVZVzFsY3lJNld5SjFkR2xzY3lJc0luSmxjWFZwY21VaUxDSnRiMlIxYkdVaUxDSmxlSEJ2Y25Seklpd2lhWE5UZEdGdVpHRnlaRUp5YjNkelpYSkZibllpTENKdmNtbG5hVzVWVWt3aUxDSnRjMmxsSWl3aWRHVnpkQ0lzSW01aGRtbG5ZWFJ2Y2lJc0luVnpaWEpCWjJWdWRDSXNJblZ5YkZCaGNuTnBibWRPYjJSbElpd2laRzlqZFcxbGJuUWlMQ0pqY21WaGRHVkZiR1Z0Wlc1MElpd2ljbVZ6YjJ4MlpWVlNUQ0lzSW5WeWJDSXNJbWh5WldZaUxDSnpaWFJCZEhSeWFXSjFkR1VpTENKd2NtOTBiMk52YkNJc0luSmxjR3hoWTJVaUxDSm9iM04wSWl3aWMyVmhjbU5vSWl3aWFHRnphQ0lzSW1odmMzUnVZVzFsSWl3aWNHOXlkQ0lzSW5CaGRHaHVZVzFsSWl3aVkyaGhja0YwSWl3aWQybHVaRzkzSWl3aWJHOWpZWFJwYjI0aUxDSnlaWEYxWlhOMFZWSk1JaXdpY0dGeWMyVmtJaXdpYVhOVGRISnBibWNpWFN3aWJXRndjR2x1WjNNaU9pSkJRVUZCTEdGQlJVRXNTVUZCU1VFc1RVRkJVVU1zVVVGQlVTeGpRVVZ3UWtNc1QwRkJUME1zVVVGRFRFZ3NUVUZCVFVrc2RVSkJTVW9zVjBGRFJTeEpRVVZKUXl4RlFVWkJReXhGUVVGUExHdENRVUZyUWtNc1MwRkJTME1zVlVGQlZVTXNWMEZEZUVORExFVkJRV2xDUXl4VFFVRlRReXhqUVVGakxFdEJVelZETEZOQlFWTkRMRVZCUVZkRExFZEJRMnhDTEVsQlFVbERMRVZCUVU5RUxFVkJWMWdzVDBGVVNWSXNTVUZGUmtrc1JVRkJaVTBzWVVGQllTeFBRVUZSUkN4SFFVTndRMEVzUlVGQlQwd3NSVUZCWlVzc1RVRkhlRUpNTEVWQlFXVk5MR0ZCUVdFc1QwRkJVVVFzUjBGSE4wSXNRMEZEVEVFc1MwRkJUVXdzUlVGQlpVc3NTMEZEY2tKRkxGTkJRVlZRTEVWQlFXVlBMRk5CUVZkUUxFVkJRV1ZQTEZOQlFWTkRMRkZCUVZFc1MwRkJUU3hKUVVGTkxFZEJRMmhHUXl4TFFVRk5WQ3hGUVVGbFV5eExRVU55UWtNc1QwRkJVVllzUlVGQlpWVXNUMEZCVTFZc1JVRkJaVlVzVDBGQlQwWXNVVUZCVVN4TlFVRlBMRWxCUVUwc1IwRkRNMFZITEV0QlFVMVlMRVZCUVdWWExFdEJRVTlZTEVWQlFXVlhMRXRCUVV0SUxGRkJRVkVzUzBGQlRTeEpRVUZOTEVkQlEzQkZTU3hUUVVGVldpeEZRVUZsV1N4VFFVTjZRa01zUzBGQlRXSXNSVUZCWldFc1MwRkRja0pETEZOQlFXbEVMRTFCUVhSRFpDeEZRVUZsWXl4VFFVRlRReXhQUVVGUExFZEJRM2hEWml4RlFVRmxZeXhUUVVObUxFbEJRVTFrTEVWQlFXVmpMRlZCV1ROQ0xFOUJVa0Z1UWl4RlFVRlpVU3hGUVVGWFlTeFBRVUZQUXl4VFFVRlRXaXhOUVZGb1F5eFRRVUY1UW1Fc1IwRkRPVUlzU1VGQlNVTXNSVUZCVlRkQ0xFMUJRVTA0UWl4VFFVRlRSaXhIUVVGbFppeEZRVUZYWlN4SFFVRmpRU3hGUVVOeVJTeFBRVUZSUXl4RlFVRlBXaXhYUVVGaFdpeEZRVUZWV1N4VlFVTnNRMWtzUlVGQlQxWXNUMEZCVTJRc1JVRkJWV01zVFVGb1JHeERMRWRCYzBSVExGZEJRMHdzVDBGQlR5SXNJbVpwYkdVaU9pSXZhRzl0WlM5NmFXNXZMM0J5YjJwbFkzUnpMM05sWVhSdFlYQjJNaTl0WVhOMFpYSXZjMlZoZEcxaGNIWXlMMk5zYVdWdWRDOXViMlJsWDIxdlpIVnNaWE12WVhocGIzTXZiR2xpTDJobGJIQmxjbk12YVhOVlVreFRZVzFsVDNKcFoybHVMbXB6SW4wPSIsIlwidXNlIHN0cmljdFwiO3ZhciB1dGlscz1yZXF1aXJlKFwiLi4vdXRpbHNcIik7bW9kdWxlLmV4cG9ydHM9ZnVuY3Rpb24oZSx0KXt1dGlscy5mb3JFYWNoKGUsZnVuY3Rpb24ocixzKXtzIT09dCYmcy50b1VwcGVyQ2FzZSgpPT09dC50b1VwcGVyQ2FzZSgpJiYoZVt0XT1yLGRlbGV0ZSBlW3NdKX0pfTtcblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYkltNXZjbTFoYkdsNlpVaGxZV1JsY2s1aGJXVXVhbk1pWFN3aWJtRnRaWE1pT2xzaWRYUnBiSE1pTENKeVpYRjFhWEpsSWl3aWJXOWtkV3hsSWl3aVpYaHdiM0owY3lJc0ltaGxZV1JsY25NaUxDSnViM0p0WVd4cGVtVmtUbUZ0WlNJc0ltWnZja1ZoWTJnaUxDSjJZV3gxWlNJc0ltNWhiV1VpTENKMGIxVndjR1Z5UTJGelpTSmRMQ0p0WVhCd2FXNW5jeUk2SWtGQlFVRXNZVUZGUVN4SlFVRkpRU3hOUVVGUlF5eFJRVUZSTEZsQlJYQkNReXhQUVVGUFF5eFJRVUZWTEZOQlFUWkNReXhGUVVGVFF5eEhRVU55UkV3c1RVRkJUVTBzVVVGQlVVWXNSVUZCVXl4VFFVRjFRa2NzUlVGQlQwTXNSMEZETDBOQkxFbEJRVk5JTEVkQlFXdENSeXhGUVVGTFF5eG5Ra0ZCYTBKS0xFVkJRV1ZKTEdkQ1FVTnVSVXdzUlVGQlVVTXNSMEZCYTBKRkxGTkJRMjVDU0N4RlFVRlJTU0lzSW1acGJHVWlPaUl2YUc5dFpTOTZhVzV2TDNCeWIycGxZM1J6TDNObFlYUnRZWEIyTWk5dFlYTjBaWEl2YzJWaGRHMWhjSFl5TDJOc2FXVnVkQzl1YjJSbFgyMXZaSFZzWlhNdllYaHBiM012YkdsaUwyaGxiSEJsY25NdmJtOXliV0ZzYVhwbFNHVmhaR1Z5VG1GdFpTNXFjeUo5IiwiXCJ1c2Ugc3RyaWN0XCI7dmFyIHV0aWxzPXJlcXVpcmUoXCIuLy4uL3V0aWxzXCIpLGlnbm9yZUR1cGxpY2F0ZU9mPVtcImFnZVwiLFwiYXV0aG9yaXphdGlvblwiLFwiY29udGVudC1sZW5ndGhcIixcImNvbnRlbnQtdHlwZVwiLFwiZXRhZ1wiLFwiZXhwaXJlc1wiLFwiZnJvbVwiLFwiaG9zdFwiLFwiaWYtbW9kaWZpZWQtc2luY2VcIixcImlmLXVubW9kaWZpZWQtc2luY2VcIixcImxhc3QtbW9kaWZpZWRcIixcImxvY2F0aW9uXCIsXCJtYXgtZm9yd2FyZHNcIixcInByb3h5LWF1dGhvcml6YXRpb25cIixcInJlZmVyZXJcIixcInJldHJ5LWFmdGVyXCIsXCJ1c2VyLWFnZW50XCJdO21vZHVsZS5leHBvcnRzPWZ1bmN0aW9uKHQpe3ZhciBlLGkscixvPXt9O3JldHVybiB0Pyh1dGlscy5mb3JFYWNoKHQuc3BsaXQoXCJcXG5cIiksZnVuY3Rpb24odCl7aWYocj10LmluZGV4T2YoXCI6XCIpLGU9dXRpbHMudHJpbSh0LnN1YnN0cigwLHIpKS50b0xvd2VyQ2FzZSgpLGk9dXRpbHMudHJpbSh0LnN1YnN0cihyKzEpKSxlKXtpZihvW2VdJiZpZ25vcmVEdXBsaWNhdGVPZi5pbmRleE9mKGUpPj0wKXJldHVybjtvW2VdPVwic2V0LWNvb2tpZVwiPT09ZT8ob1tlXT9vW2VdOltdKS5jb25jYXQoW2ldKTpvW2VdP29bZV0rXCIsIFwiK2k6aX19KSxvKTpvfTtcblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYkluQmhjbk5sU0dWaFpHVnljeTVxY3lKZExDSnVZVzFsY3lJNld5SjFkR2xzY3lJc0luSmxjWFZwY21VaUxDSnBaMjV2Y21WRWRYQnNhV05oZEdWUFppSXNJbTF2WkhWc1pTSXNJbVY0Y0c5eWRITWlMQ0pvWldGa1pYSnpJaXdpYTJWNUlpd2lkbUZzSWl3aWFTSXNJbkJoY25ObFpDSXNJbVp2Y2tWaFkyZ2lMQ0p6Y0d4cGRDSXNJbXhwYm1VaUxDSnBibVJsZUU5bUlpd2lkSEpwYlNJc0luTjFZbk4wY2lJc0luUnZURzkzWlhKRFlYTmxJaXdpWTI5dVkyRjBJbDBzSW0xaGNIQnBibWR6SWpvaVFVRkJRU3hoUVVWQkxFbEJRVWxCTEUxQlFWRkRMRkZCUVZFc1kwRkphRUpETEd0Q1FVRnZRaXhEUVVOMFFpeE5RVUZQTEdkQ1FVRnBRaXhwUWtGQmEwSXNaVUZCWjBJc1QwRkRNVVFzVlVGQlZ5eFBRVUZSTEU5QlFWRXNiMEpCUVhGQ0xITkNRVU5vUkN4blFrRkJhVUlzVjBGQldTeGxRVUZuUWl4elFrRkROME1zVlVGQlZ5eGpRVUZsTEdOQlowSTFRa01zVDBGQlQwTXNVVUZCVlN4VFFVRnpRa01zUjBGRGNrTXNTVUZEU1VNc1JVRkRRVU1zUlVGRFFVTXNSVUZJUVVNc1JVRkJVeXhIUVV0aUxFOUJRVXRLTEVkQlJVeE1MRTFCUVUxVkxGRkJRVkZNTEVWQlFWRk5MRTFCUVUwc1RVRkJUeXhUUVVGblFrTXNSMEZMYWtRc1IwRktRVW9zUlVGQlNVa3NSVUZCUzBNc1VVRkJVU3hMUVVOcVFsQXNSVUZCVFU0c1RVRkJUV01zUzBGQlMwWXNSVUZCUzBjc1QwRkJUeXhGUVVGSFVDeEpRVUZKVVN4alFVTndRMVFzUlVGQlRWQXNUVUZCVFdNc1MwRkJTMFlzUlVGQlMwY3NUMEZCVDFBc1JVRkJTU3hKUVVVM1FrWXNSVUZCU3l4RFFVTlFMRWRCUVVsSExFVkJRVTlJTEVsQlFWRktMR3RDUVVGclFsY3NVVUZCVVZBc1NVRkJVU3hGUVVOdVJDeFBRVWRCUnl4RlFVRlBTQ3hIUVVSSExHVkJRVkpCTEVkQlEyRkhMRVZCUVU5SUxFZEJRVTlITEVWQlFVOUlMRWRCUVU4c1NVRkJTVmNzVDBGQlR5eERRVUZEVml4SlFVVjZRMFVzUlVGQlQwZ3NSMEZCVDBjc1JVRkJUMGdzUjBGQlR5eExRVUZQUXl4RlFVRk5RU3hMUVV0MFJFVXNSMEZ1UW1kQ1FTSXNJbVpwYkdVaU9pSXZhRzl0WlM5NmFXNXZMM0J5YjJwbFkzUnpMM05sWVhSdFlYQjJNaTl0WVhOMFpYSXZjMlZoZEcxaGNIWXlMMk5zYVdWdWRDOXViMlJsWDIxdlpIVnNaWE12WVhocGIzTXZiR2xpTDJobGJIQmxjbk12Y0dGeWMyVklaV0ZrWlhKekxtcHpJbjA9IiwiXCJ1c2Ugc3RyaWN0XCI7bW9kdWxlLmV4cG9ydHM9ZnVuY3Rpb24obil7cmV0dXJuIGZ1bmN0aW9uKHQpe3JldHVybiBuLmFwcGx5KG51bGwsdCl9fTtcblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYkluTndjbVZoWkM1cWN5SmRMQ0p1WVcxbGN5STZXeUp0YjJSMWJHVWlMQ0psZUhCdmNuUnpJaXdpWTJGc2JHSmhZMnNpTENKaGNuSWlMQ0poY0hCc2VTSmRMQ0p0WVhCd2FXNW5jeUk2SWtGQlFVRXNZVUZ6UWtGQkxFOUJRVTlETEZGQlFWVXNVMEZCWjBKRExFZEJReTlDTEU5QlFVOHNVMEZCWTBNc1IwRkRia0lzVDBGQlQwUXNSVUZCVTBVc1RVRkJUU3hMUVVGTlJDSXNJbVpwYkdVaU9pSXZhRzl0WlM5NmFXNXZMM0J5YjJwbFkzUnpMM05sWVhSdFlYQjJNaTl0WVhOMFpYSXZjMlZoZEcxaGNIWXlMMk5zYVdWdWRDOXViMlJsWDIxdlpIVnNaWE12WVhocGIzTXZiR2xpTDJobGJIQmxjbk12YzNCeVpXRmtMbXB6SW4wPSIsIlwidXNlIHN0cmljdFwiO3ZhciBiaW5kPXJlcXVpcmUoXCIuL2hlbHBlcnMvYmluZFwiKSx0b1N0cmluZz1PYmplY3QucHJvdG90eXBlLnRvU3RyaW5nO2Z1bmN0aW9uIGlzQXJyYXkocil7cmV0dXJuXCJbb2JqZWN0IEFycmF5XVwiPT09dG9TdHJpbmcuY2FsbChyKX1mdW5jdGlvbiBpc1VuZGVmaW5lZChyKXtyZXR1cm4gdm9pZCAwPT09cn1mdW5jdGlvbiBpc0J1ZmZlcihyKXtyZXR1cm4gbnVsbCE9PXImJiFpc1VuZGVmaW5lZChyKSYmbnVsbCE9PXIuY29uc3RydWN0b3ImJiFpc1VuZGVmaW5lZChyLmNvbnN0cnVjdG9yKSYmXCJmdW5jdGlvblwiPT10eXBlb2Ygci5jb25zdHJ1Y3Rvci5pc0J1ZmZlciYmci5jb25zdHJ1Y3Rvci5pc0J1ZmZlcihyKX1mdW5jdGlvbiBpc0FycmF5QnVmZmVyKHIpe3JldHVyblwiW29iamVjdCBBcnJheUJ1ZmZlcl1cIj09PXRvU3RyaW5nLmNhbGwocil9ZnVuY3Rpb24gaXNGb3JtRGF0YShyKXtyZXR1cm5cInVuZGVmaW5lZFwiIT10eXBlb2YgRm9ybURhdGEmJnIgaW5zdGFuY2VvZiBGb3JtRGF0YX1mdW5jdGlvbiBpc0FycmF5QnVmZmVyVmlldyhyKXtyZXR1cm5cInVuZGVmaW5lZFwiIT10eXBlb2YgQXJyYXlCdWZmZXImJkFycmF5QnVmZmVyLmlzVmlldz9BcnJheUJ1ZmZlci5pc1ZpZXcocik6ciYmci5idWZmZXImJnIuYnVmZmVyIGluc3RhbmNlb2YgQXJyYXlCdWZmZXJ9ZnVuY3Rpb24gaXNTdHJpbmcocil7cmV0dXJuXCJzdHJpbmdcIj09dHlwZW9mIHJ9ZnVuY3Rpb24gaXNOdW1iZXIocil7cmV0dXJuXCJudW1iZXJcIj09dHlwZW9mIHJ9ZnVuY3Rpb24gaXNPYmplY3Qocil7cmV0dXJuIG51bGwhPT1yJiZcIm9iamVjdFwiPT10eXBlb2Ygcn1mdW5jdGlvbiBpc1BsYWluT2JqZWN0KHIpe2lmKFwiW29iamVjdCBPYmplY3RdXCIhPT10b1N0cmluZy5jYWxsKHIpKXJldHVybiExO3ZhciBlPU9iamVjdC5nZXRQcm90b3R5cGVPZihyKTtyZXR1cm4gbnVsbD09PWV8fGU9PT1PYmplY3QucHJvdG90eXBlfWZ1bmN0aW9uIGlzRGF0ZShyKXtyZXR1cm5cIltvYmplY3QgRGF0ZV1cIj09PXRvU3RyaW5nLmNhbGwocil9ZnVuY3Rpb24gaXNGaWxlKHIpe3JldHVyblwiW29iamVjdCBGaWxlXVwiPT09dG9TdHJpbmcuY2FsbChyKX1mdW5jdGlvbiBpc0Jsb2Iocil7cmV0dXJuXCJbb2JqZWN0IEJsb2JdXCI9PT10b1N0cmluZy5jYWxsKHIpfWZ1bmN0aW9uIGlzRnVuY3Rpb24ocil7cmV0dXJuXCJbb2JqZWN0IEZ1bmN0aW9uXVwiPT09dG9TdHJpbmcuY2FsbChyKX1mdW5jdGlvbiBpc1N0cmVhbShyKXtyZXR1cm4gaXNPYmplY3QocikmJmlzRnVuY3Rpb24oci5waXBlKX1mdW5jdGlvbiBpc1VSTFNlYXJjaFBhcmFtcyhyKXtyZXR1cm5cInVuZGVmaW5lZFwiIT10eXBlb2YgVVJMU2VhcmNoUGFyYW1zJiZyIGluc3RhbmNlb2YgVVJMU2VhcmNoUGFyYW1zfWZ1bmN0aW9uIHRyaW0ocil7cmV0dXJuIHIucmVwbGFjZSgvXlxccyovLFwiXCIpLnJlcGxhY2UoL1xccyokLyxcIlwiKX1mdW5jdGlvbiBpc1N0YW5kYXJkQnJvd3NlckVudigpe3JldHVybihcInVuZGVmaW5lZFwiPT10eXBlb2YgbmF2aWdhdG9yfHxcIlJlYWN0TmF0aXZlXCIhPT1uYXZpZ2F0b3IucHJvZHVjdCYmXCJOYXRpdmVTY3JpcHRcIiE9PW5hdmlnYXRvci5wcm9kdWN0JiZcIk5TXCIhPT1uYXZpZ2F0b3IucHJvZHVjdCkmJihcInVuZGVmaW5lZFwiIT10eXBlb2Ygd2luZG93JiZcInVuZGVmaW5lZFwiIT10eXBlb2YgZG9jdW1lbnQpfWZ1bmN0aW9uIGZvckVhY2gocixlKXtpZihudWxsIT1yKWlmKFwib2JqZWN0XCIhPXR5cGVvZiByJiYocj1bcl0pLGlzQXJyYXkocikpZm9yKHZhciB0PTAsbj1yLmxlbmd0aDt0PG47dCsrKWUuY2FsbChudWxsLHJbdF0sdCxyKTtlbHNlIGZvcih2YXIgaSBpbiByKU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChyLGkpJiZlLmNhbGwobnVsbCxyW2ldLGkscil9ZnVuY3Rpb24gbWVyZ2UoKXt2YXIgcj17fTtmdW5jdGlvbiBlKGUsdCl7aXNQbGFpbk9iamVjdChyW3RdKSYmaXNQbGFpbk9iamVjdChlKT9yW3RdPW1lcmdlKHJbdF0sZSk6aXNQbGFpbk9iamVjdChlKT9yW3RdPW1lcmdlKHt9LGUpOmlzQXJyYXkoZSk/clt0XT1lLnNsaWNlKCk6clt0XT1lfWZvcih2YXIgdD0wLG49YXJndW1lbnRzLmxlbmd0aDt0PG47dCsrKWZvckVhY2goYXJndW1lbnRzW3RdLGUpO3JldHVybiByfWZ1bmN0aW9uIGV4dGVuZChyLGUsdCl7cmV0dXJuIGZvckVhY2goZSxmdW5jdGlvbihlLG4pe3Jbbl09dCYmXCJmdW5jdGlvblwiPT10eXBlb2YgZT9iaW5kKGUsdCk6ZX0pLHJ9ZnVuY3Rpb24gc3RyaXBCT00ocil7cmV0dXJuIDY1Mjc5PT09ci5jaGFyQ29kZUF0KDApJiYocj1yLnNsaWNlKDEpKSxyfW1vZHVsZS5leHBvcnRzPXtpc0FycmF5OmlzQXJyYXksaXNBcnJheUJ1ZmZlcjppc0FycmF5QnVmZmVyLGlzQnVmZmVyOmlzQnVmZmVyLGlzRm9ybURhdGE6aXNGb3JtRGF0YSxpc0FycmF5QnVmZmVyVmlldzppc0FycmF5QnVmZmVyVmlldyxpc1N0cmluZzppc1N0cmluZyxpc051bWJlcjppc051bWJlcixpc09iamVjdDppc09iamVjdCxpc1BsYWluT2JqZWN0OmlzUGxhaW5PYmplY3QsaXNVbmRlZmluZWQ6aXNVbmRlZmluZWQsaXNEYXRlOmlzRGF0ZSxpc0ZpbGU6aXNGaWxlLGlzQmxvYjppc0Jsb2IsaXNGdW5jdGlvbjppc0Z1bmN0aW9uLGlzU3RyZWFtOmlzU3RyZWFtLGlzVVJMU2VhcmNoUGFyYW1zOmlzVVJMU2VhcmNoUGFyYW1zLGlzU3RhbmRhcmRCcm93c2VyRW52OmlzU3RhbmRhcmRCcm93c2VyRW52LGZvckVhY2g6Zm9yRWFjaCxtZXJnZTptZXJnZSxleHRlbmQ6ZXh0ZW5kLHRyaW06dHJpbSxzdHJpcEJPTTpzdHJpcEJPTX07XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJblYwYVd4ekxtcHpJbDBzSW01aGJXVnpJanBiSW1KcGJtUWlMQ0p5WlhGMWFYSmxJaXdpZEc5VGRISnBibWNpTENKUFltcGxZM1FpTENKd2NtOTBiM1I1Y0dVaUxDSnBjMEZ5Y21GNUlpd2lkbUZzSWl3aVkyRnNiQ0lzSW1selZXNWtaV1pwYm1Wa0lpd2lhWE5DZFdabVpYSWlMQ0pqYjI1emRISjFZM1J2Y2lJc0ltbHpRWEp5WVhsQ2RXWm1aWElpTENKcGMwWnZjbTFFWVhSaElpd2lSbTl5YlVSaGRHRWlMQ0pwYzBGeWNtRjVRblZtWm1WeVZtbGxkeUlzSWtGeWNtRjVRblZtWm1WeUlpd2lhWE5XYVdWM0lpd2lZblZtWm1WeUlpd2lhWE5UZEhKcGJtY2lMQ0pwYzA1MWJXSmxjaUlzSW1selQySnFaV04wSWl3aWFYTlFiR0ZwYms5aWFtVmpkQ0lzSW1kbGRGQnliM1J2ZEhsd1pVOW1JaXdpYVhORVlYUmxJaXdpYVhOR2FXeGxJaXdpYVhOQ2JHOWlJaXdpYVhOR2RXNWpkR2x2YmlJc0ltbHpVM1J5WldGdElpd2ljR2x3WlNJc0ltbHpWVkpNVTJWaGNtTm9VR0Z5WVcxeklpd2lWVkpNVTJWaGNtTm9VR0Z5WVcxeklpd2lkSEpwYlNJc0luTjBjaUlzSW5KbGNHeGhZMlVpTENKcGMxTjBZVzVrWVhKa1FuSnZkM05sY2tWdWRpSXNJbTVoZG1sbllYUnZjaUlzSW5CeWIyUjFZM1FpTENKM2FXNWtiM2NpTENKa2IyTjFiV1Z1ZENJc0ltWnZja1ZoWTJnaUxDSnZZbW9pTENKbWJpSXNJbWtpTENKc0lpd2liR1Z1WjNSb0lpd2lhMlY1SWl3aWFHRnpUM2R1VUhKdmNHVnlkSGtpTENKdFpYSm5aU0lzSW5KbGMzVnNkQ0lzSW1GemMybG5ibFpoYkhWbElpd2ljMnhwWTJVaUxDSmhjbWQxYldWdWRITWlMQ0psZUhSbGJtUWlMQ0poSWl3aVlpSXNJblJvYVhOQmNtY2lMQ0p6ZEhKcGNFSlBUU0lzSW1OdmJuUmxiblFpTENKamFHRnlRMjlrWlVGMElpd2liVzlrZFd4bElpd2laWGh3YjNKMGN5SmRMQ0p0WVhCd2FXNW5jeUk2SWtGQlFVRXNZVUZGUVN4SlFVRkpRU3hMUVVGUFF5eFJRVUZSTEd0Q1FVMW1ReXhUUVVGWFF5eFBRVUZQUXl4VlFVRlZSaXhUUVZGb1F5eFRRVUZUUnl4UlFVRlJReXhIUVVObUxFMUJRVGhDTEcxQ1FVRjJRa29zVTBGQlUwc3NTMEZCUzBRc1IwRlRka0lzVTBGQlUwVXNXVUZCV1VZc1IwRkRia0lzV1VGQmMwSXNTVUZCVWtFc1JVRlRhRUlzVTBGQlUwY3NVMEZCVTBnc1IwRkRhRUlzVDBGQlpTeFBRVUZTUVN4SlFVRnBRa1VzV1VGQldVWXNTVUZCTkVJc1QwRkJjRUpCTEVWQlFVbEpMR05CUVhsQ1JpeFpRVUZaUml4RlFVRkpTU3hqUVVOb1JDeHRRa0ZCTjBKS0xFVkJRVWxKTEZsQlFWbEVMRlZCUVRKQ1NDeEZRVUZKU1N4WlFVRlpSQ3hUUVVGVFNDeEhRVk5zUml4VFFVRlRTeXhqUVVGalRDeEhRVU55UWl4TlFVRTRRaXg1UWtGQmRrSktMRk5CUVZOTExFdEJRVXRFTEVkQlUzWkNMRk5CUVZOTkxGZEJRVmRPTEVkQlEyeENMRTFCUVRSQ0xHOUNRVUZpVHl4VlFVRTRRbEFzWVVGQlpVOHNVMEZUT1VRc1UwRkJVME1zYTBKQlFXdENVaXhIUVU5NlFpeE5RVXcwUWl4dlFrRkJhRUpUTEdGQlFXbERRU3haUVVGclFpeFBRVU53UkVFc1dVRkJXVU1zVDBGQlQxWXNSMEZGYmtJc1IwRkJWVUVzUlVGQlZTeFJRVUZOUVN4RlFVRkpWeXhyUWtGQmEwSkdMRmxCVnpkRUxGTkJRVk5ITEZOQlFWTmFMRWRCUTJoQ0xFMUJRWE5DTEdsQ1FVRlNRU3hGUVZOb1FpeFRRVUZUWVN4VFFVRlRZaXhIUVVOb1FpeE5RVUZ6UWl4cFFrRkJVa0VzUlVGVGFFSXNVMEZCVTJNc1UwRkJVMlFzUjBGRGFFSXNUMEZCWlN4UFFVRlNRU3hIUVVFclFpeHBRa0ZCVWtFc1JVRlRhRU1zVTBGQlUyVXNZMEZCWTJZc1IwRkRja0lzUjBGQk1rSXNiMEpCUVhaQ1NpeFRRVUZUU3l4TFFVRkxSQ3hIUVVOb1FpeFBRVUZQTEVWQlIxUXNTVUZCU1VZc1JVRkJXVVFzVDBGQlQyMUNMR1ZCUVdWb1FpeEhRVU4wUXl4UFFVRnhRaXhQUVVGa1JpeEhRVUZ6UWtFc1NVRkJZMFFzVDBGQlQwTXNWVUZUY0VRc1UwRkJVMjFDTEU5QlFVOXFRaXhIUVVOa0xFMUJRVGhDTEd0Q1FVRjJRa29zVTBGQlUwc3NTMEZCUzBRc1IwRlRka0lzVTBGQlUydENMRTlCUVU5c1FpeEhRVU5rTEUxQlFUaENMR3RDUVVGMlFrb3NVMEZCVTBzc1MwRkJTMFFzUjBGVGRrSXNVMEZCVTIxQ0xFOUJRVTl1UWl4SFFVTmtMRTFCUVRoQ0xHdENRVUYyUWtvc1UwRkJVMHNzUzBGQlMwUXNSMEZUZGtJc1UwRkJVMjlDTEZkQlFWZHdRaXhIUVVOc1FpeE5RVUU0UWl4elFrRkJka0pLTEZOQlFWTkxMRXRCUVV0RUxFZEJVM1pDTEZOQlFWTnhRaXhUUVVGVGNrSXNSMEZEYUVJc1QwRkJUMk1zVTBGQlUyUXNTVUZCVVc5Q0xGZEJRVmR3UWl4RlFVRkpjMElzVFVGVGVrTXNVMEZCVTBNc2EwSkJRV3RDZGtJc1IwRkRla0lzVFVGQmEwTXNiMEpCUVhCQ2QwSXNhVUpCUVcxRGVFSXNZVUZCWlhkQ0xHZENRVk5zUlN4VFFVRlRReXhMUVVGTFF5eEhRVU5hTEU5QlFVOUJMRVZCUVVsRExGRkJRVkVzVDBGQlVTeEpRVUZKUVN4UlFVRlJMRTlCUVZFc1NVRnJRbXBFTEZOQlFWTkRMSFZDUVVOUUxFOUJRWGxDTEc5Q1FVRmtReXhYUVVGdlJDeG5Ra0ZCZEVKQkxGVkJRVlZETEZOQlExa3NhVUpCUVhSQ1JDeFZRVUZWUXl4VFFVTlpMRTlCUVhSQ1JDeFZRVUZWUXl4WFFVa3ZRaXh2UWtGQldFTXNVVUZEWVN4dlFrRkJZa01zVlVGblFsZ3NVMEZCVTBNc1VVRkJVVU1zUlVGQlMwTXNSMEZGY0VJc1IwRkJTVVFzVFVGQlFVRXNSVUZWU2l4SFFVeHRRaXhwUWtGQlVrRXNTVUZGVkVFc1JVRkJUU3hEUVVGRFFTeEpRVWRNYmtNc1VVRkJVVzFETEVkQlJWWXNTVUZCU3l4SlFVRkpSU3hGUVVGSkxFVkJRVWRETEVWQlFVbElMRVZCUVVsSkxFOUJRVkZHTEVWQlFVbERMRVZCUVVkRUxFbEJRM0pEUkN4RlFVRkhiRU1zUzBGQlN5eExRVUZOYVVNc1JVRkJTVVVzUjBGQlNVRXNSVUZCUjBZc1VVRkpNMElzU1VGQlN5eEpRVUZKU3l4TFFVRlBUQ3hGUVVOV2NrTXNUMEZCVDBNc1ZVRkJWVEJETEdWQlFXVjJReXhMUVVGTGFVTXNSVUZCUzBzc1NVRkROVU5LTEVWQlFVZHNReXhMUVVGTExFdEJRVTFwUXl4RlFVRkpTeXhIUVVGTlFTeEZRVUZMVEN4SFFYVkNja01zVTBGQlUwOHNVVUZEVUN4SlFVRkpReXhGUVVGVExFZEJRMklzVTBGQlUwTXNSVUZCV1RORExFVkJRVXQxUXl4SFFVTndRbmhDTEdOQlFXTXlRaXhGUVVGUFNDeExRVUZUZUVJc1kwRkJZMllzUjBGRE9VTXdReXhGUVVGUFNDeEhRVUZQUlN4TlFVRk5ReXhGUVVGUFNDeEhRVUZOZGtNc1IwRkRlRUpsTEdOQlFXTm1MRWRCUTNaQ01FTXNSVUZCVDBnc1IwRkJUMFVzVFVGQlRTeEhRVUZKZWtNc1IwRkRaa1FzVVVGQlVVTXNSMEZEYWtJd1F5eEZRVUZQU0N4SFFVRlBka01zUlVGQlNUUkRMRkZCUld4Q1JpeEZRVUZQU0N4SFFVRlBka01zUlVGSmJFSXNTVUZCU3l4SlFVRkpiME1zUlVGQlNTeEZRVUZIUXl4RlFVRkpVU3hWUVVGVlVDeFBRVUZSUml4RlFVRkpReXhGUVVGSFJDeEpRVU16UTBnc1VVRkJVVmtzVlVGQlZWUXNSMEZCU1U4c1IwRkZlRUlzVDBGQlQwUXNSVUZYVkN4VFFVRlRTU3hQUVVGUFF5eEZRVUZIUXl4RlFVRkhReXhIUVZGd1FpeFBRVkJCYUVJc1VVRkJVV1VzUlVGQlJ5eFRRVUZ4UW1oRUxFVkJRVXQxUXl4SFFVVnFRMUVzUlVGQlJWSXNSMEZFUVZVc1IwRkJNRUlzYlVKQlFWSnFSQ3hGUVVOWVRpeExRVUZMVFN4RlFVRkxhVVFzUjBGRlZtcEVMRWxCUjA0clF5eEZRVk5VTEZOQlFWTkhMRk5CUVZORExFZEJTV2hDTEU5QlNEaENMRkZCUVRGQ1FTeEZRVUZSUXl4WFFVRlhMRXRCUTNKQ1JDeEZRVUZWUVN4RlFVRlJVQ3hOUVVGTkxFbEJSVzVDVHl4RlFVZFVSU3hQUVVGUFF5eFJRVUZWTEVOQlEyWjJSQ3hSUVVGVFFTeFJRVU5VVFN4alFVRmxRU3hqUVVObVJpeFRRVUZWUVN4VFFVTldSeXhYUVVGWlFTeFhRVU5hUlN4clFrRkJiVUpCTEd0Q1FVTnVRa2tzVTBGQlZVRXNVMEZEVmtNc1UwRkJWVUVzVTBGRFZrTXNVMEZCVlVFc1UwRkRWa01zWTBGQlpVRXNZMEZEWm1Jc1dVRkJZVUVzV1VGRFltVXNUMEZCVVVFc1QwRkRVa01zVDBGQlVVRXNUMEZEVWtNc1QwRkJVVUVzVDBGRFVrTXNWMEZCV1VFc1YwRkRXa01zVTBGQlZVRXNVMEZEVmtVc2EwSkJRVzFDUVN4clFrRkRia0pMTEhGQ1FVRnpRa0VzY1VKQlEzUkNTeXhSUVVGVFFTeFJRVU5VVVN4TlFVRlBRU3hOUVVOUVN5eFBRVUZSUVN4UFFVTlNja0lzUzBGQlRVRXNTMEZEVG5sQ0xGTkJRVlZCSWl3aVptbHNaU0k2SWk5b2IyMWxMM3BwYm04dmNISnZhbVZqZEhNdmMyVmhkRzFoY0hZeUwyMWhjM1JsY2k5elpXRjBiV0Z3ZGpJdlkyeHBaVzUwTDI1dlpHVmZiVzlrZFd4bGN5OWhlR2x2Y3k5c2FXSXZkWFJwYkhNdWFuTWlmUT09IiwiXCJ1c2Ugc3RyaWN0XCI7ZXhwb3J0cy5ieXRlTGVuZ3RoPWJ5dGVMZW5ndGgsZXhwb3J0cy50b0J5dGVBcnJheT10b0J5dGVBcnJheSxleHBvcnRzLmZyb21CeXRlQXJyYXk9ZnJvbUJ5dGVBcnJheTtmb3IodmFyIGxvb2t1cD1bXSxyZXZMb29rdXA9W10sQXJyPVwidW5kZWZpbmVkXCIhPXR5cGVvZiBVaW50OEFycmF5P1VpbnQ4QXJyYXk6QXJyYXksY29kZT1cIkFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXowMTIzNDU2Nzg5Ky9cIixpPTAsbGVuPWNvZGUubGVuZ3RoO2k8bGVuOysraSlsb29rdXBbaV09Y29kZVtpXSxyZXZMb29rdXBbY29kZS5jaGFyQ29kZUF0KGkpXT1pO2Z1bmN0aW9uIGdldExlbnMobyl7dmFyIHI9by5sZW5ndGg7aWYociU0PjApdGhyb3cgbmV3IEVycm9yKFwiSW52YWxpZCBzdHJpbmcuIExlbmd0aCBtdXN0IGJlIGEgbXVsdGlwbGUgb2YgNFwiKTt2YXIgZT1vLmluZGV4T2YoXCI9XCIpO3JldHVybi0xPT09ZSYmKGU9ciksW2UsZT09PXI/MDo0LWUlNF19ZnVuY3Rpb24gYnl0ZUxlbmd0aChvKXt2YXIgcj1nZXRMZW5zKG8pLGU9clswXSx0PXJbMV07cmV0dXJuIDMqKGUrdCkvNC10fWZ1bmN0aW9uIF9ieXRlTGVuZ3RoKG8scixlKXtyZXR1cm4gMyoocitlKS80LWV9ZnVuY3Rpb24gdG9CeXRlQXJyYXkobyl7dmFyIHIsZSx0PWdldExlbnMobyksbj10WzBdLHU9dFsxXSxwPW5ldyBBcnIoX2J5dGVMZW5ndGgobyxuLHUpKSxhPTAsaD11PjA/bi00Om47Zm9yKGU9MDtlPGg7ZSs9NClyPXJldkxvb2t1cFtvLmNoYXJDb2RlQXQoZSldPDwxOHxyZXZMb29rdXBbby5jaGFyQ29kZUF0KGUrMSldPDwxMnxyZXZMb29rdXBbby5jaGFyQ29kZUF0KGUrMildPDw2fHJldkxvb2t1cFtvLmNoYXJDb2RlQXQoZSszKV0scFthKytdPXI+PjE2JjI1NSxwW2ErK109cj4+OCYyNTUscFthKytdPTI1NSZyO3JldHVybiAyPT09dSYmKHI9cmV2TG9va3VwW28uY2hhckNvZGVBdChlKV08PDJ8cmV2TG9va3VwW28uY2hhckNvZGVBdChlKzEpXT4+NCxwW2ErK109MjU1JnIpLDE9PT11JiYocj1yZXZMb29rdXBbby5jaGFyQ29kZUF0KGUpXTw8MTB8cmV2TG9va3VwW28uY2hhckNvZGVBdChlKzEpXTw8NHxyZXZMb29rdXBbby5jaGFyQ29kZUF0KGUrMildPj4yLHBbYSsrXT1yPj44JjI1NSxwW2ErK109MjU1JnIpLHB9ZnVuY3Rpb24gdHJpcGxldFRvQmFzZTY0KG8pe3JldHVybiBsb29rdXBbbz4+MTgmNjNdK2xvb2t1cFtvPj4xMiY2M10rbG9va3VwW28+PjYmNjNdK2xvb2t1cFs2MyZvXX1mdW5jdGlvbiBlbmNvZGVDaHVuayhvLHIsZSl7Zm9yKHZhciB0LG49W10sdT1yO3U8ZTt1Kz0zKXQ9KG9bdV08PDE2JjE2NzExNjgwKSsob1t1KzFdPDw4JjY1MjgwKSsoMjU1Jm9bdSsyXSksbi5wdXNoKHRyaXBsZXRUb0Jhc2U2NCh0KSk7cmV0dXJuIG4uam9pbihcIlwiKX1mdW5jdGlvbiBmcm9tQnl0ZUFycmF5KG8pe2Zvcih2YXIgcixlPW8ubGVuZ3RoLHQ9ZSUzLG49W10sdT0wLHA9ZS10O3U8cDt1Kz0xNjM4MyluLnB1c2goZW5jb2RlQ2h1bmsobyx1LHUrMTYzODM+cD9wOnUrMTYzODMpKTtyZXR1cm4gMT09PXQ/KHI9b1tlLTFdLG4ucHVzaChsb29rdXBbcj4+Ml0rbG9va3VwW3I8PDQmNjNdK1wiPT1cIikpOjI9PT10JiYocj0ob1tlLTJdPDw4KStvW2UtMV0sbi5wdXNoKGxvb2t1cFtyPj4xMF0rbG9va3VwW3I+PjQmNjNdK2xvb2t1cFtyPDwyJjYzXStcIj1cIikpLG4uam9pbihcIlwiKX1yZXZMb29rdXBbXCItXCIuY2hhckNvZGVBdCgwKV09NjIscmV2TG9va3VwW1wiX1wiLmNoYXJDb2RlQXQoMCldPTYzO1xuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSW1sdVpHVjRMbXB6SWwwc0ltNWhiV1Z6SWpwYkltVjRjRzl5ZEhNaUxDSmllWFJsVEdWdVozUm9JaXdpZEc5Q2VYUmxRWEp5WVhraUxDSm1jbTl0UW5sMFpVRnljbUY1SWl3aWJHOXZhM1Z3SWl3aWNtVjJURzl2YTNWd0lpd2lRWEp5SWl3aVZXbHVkRGhCY25KaGVTSXNJa0Z5Y21GNUlpd2lZMjlrWlNJc0lta2lMQ0pzWlc0aUxDSnNaVzVuZEdnaUxDSmphR0Z5UTI5a1pVRjBJaXdpWjJWMFRHVnVjeUlzSW1JMk5DSXNJa1Z5Y205eUlpd2lkbUZzYVdSTVpXNGlMQ0pwYm1SbGVFOW1JaXdpYkdWdWN5SXNJbkJzWVdObFNHOXNaR1Z5YzB4bGJpSXNJbDlpZVhSbFRHVnVaM1JvSWl3aWRHMXdJaXdpWVhKeUlpd2lZM1Z5UW5sMFpTSXNJblJ5YVhCc1pYUlViMEpoYzJVMk5DSXNJbTUxYlNJc0ltVnVZMjlrWlVOb2RXNXJJaXdpZFdsdWREZ2lMQ0p6ZEdGeWRDSXNJbVZ1WkNJc0ltOTFkSEIxZENJc0luQjFjMmdpTENKcWIybHVJaXdpWlhoMGNtRkNlWFJsY3lJc0luQmhjblJ6SWl3aWJHVnVNaUpkTENKdFlYQndhVzVuY3lJNklrRkJRVUVzWVVGRlFVRXNVVUZCVVVNc1YwRkJZVUVzVjBGRGNrSkVMRkZCUVZGRkxGbEJRV05CTEZsQlEzUkNSaXhSUVVGUlJ5eGpRVUZuUWtFc1kwRlBlRUlzU1VGTVFTeEpRVUZKUXl4UFFVRlRMRWRCUTFSRExGVkJRVmtzUjBGRFdrTXNTVUZCTkVJc2IwSkJRV1pETEZkQlFUWkNRU3hYUVVGaFF5eE5RVVYyUkVNc1MwRkJUeXh0UlVGRFJrTXNSVUZCU1N4RlFVRkhReXhKUVVGTlJpeExRVUZMUnl4UFFVRlJSaXhGUVVGSlF5eE5RVUZQUkN4RlFVTTFRMDRzVDBGQlQwMHNSMEZCUzBRc1MwRkJTME1zUjBGRGFrSk1MRlZCUVZWSkxFdEJRVXRKTEZkQlFWZElMRWxCUVUxQkxFVkJVV3hETEZOQlFWTkpMRkZCUVZORExFZEJRMmhDTEVsQlFVbEtMRVZCUVUxSkxFVkJRVWxJTEU5QlJXUXNSMEZCU1VRc1JVRkJUU3hGUVVGSkxFVkJRMW9zVFVGQlRTeEpRVUZKU3l4TlFVRk5MR3RFUVV0c1FpeEpRVUZKUXl4RlFVRlhSaXhGUVVGSlJ5eFJRVUZSTEV0QlR6TkNMRTlCVG10Q0xFbEJRV1JFTEVsQlFXbENRU3hGUVVGWFRpeEhRVTE2UWl4RFFVRkRUU3hGUVVwalFTeEpRVUZoVGl4RlFVTXZRaXhGUVVOQkxFVkJRVXROTEVWQlFWY3NSMEZOZEVJc1UwRkJVMmhDTEZkQlFWbGpMRWRCUTI1Q0xFbEJRVWxKTEVWQlFVOU1MRkZCUVZGRExFZEJRMlpGTEVWQlFWZEZMRVZCUVVzc1IwRkRhRUpETEVWQlFXdENSQ3hGUVVGTExFZEJRek5DTEU5QlFYVkRMRWRCUVRsQ1JpeEZRVUZYUnl4SFFVRjFRaXhGUVVGTFFTeEZRVWRzUkN4VFFVRlRReXhaUVVGaFRpeEZRVUZMUlN4RlFVRlZSeXhIUVVOdVF5eFBRVUYxUXl4SFFVRTVRa2dzUlVGQlYwY3NSMEZCZFVJc1JVRkJTMEVzUlVGSGJFUXNVMEZCVTJ4Q0xGbEJRV0ZoTEVkQlEzQkNMRWxCUVVsUExFVkJZMEZhTEVWQllrRlRMRVZCUVU5TUxGRkJRVkZETEVkQlEyWkZMRVZCUVZkRkxFVkJRVXNzUjBGRGFFSkRMRVZCUVd0Q1JDeEZRVUZMTEVkQlJYWkNTU3hGUVVGTkxFbEJRVWxxUWl4SlFVRkpaU3haUVVGWlRpeEZRVUZMUlN4RlFVRlZSeXhKUVVWNlEwa3NSVUZCVlN4RlFVZFdZaXhGUVVGTlV5eEZRVUZyUWl4RlFVTjRRa2dzUlVGQlZ5eEZRVU5ZUVN4RlFVZEtMRWxCUVV0UUxFVkJRVWtzUlVGQlIwRXNSVUZCU1VNc1JVRkJTMFFzUjBGQlN5eEZRVU40UWxrc1JVRkRSMnBDTEZWQlFWVlZMRVZCUVVsR0xGZEJRVmRJTEV0QlFVOHNSMEZEYUVOTUxGVkJRVlZWTEVWQlFVbEdMRmRCUVZkSUxFVkJRVWtzUzBGQlR5eEhRVU53UTB3c1ZVRkJWVlVzUlVGQlNVWXNWMEZCVjBnc1JVRkJTU3hMUVVGUExFVkJRM0pEVEN4VlFVRlZWU3hGUVVGSlJpeFhRVUZYU0N4RlFVRkpMRWxCUXk5Q1lTeEZRVUZKUXl4TFFVRmpSaXhIUVVGUExFZEJRVTBzU1VGREwwSkRMRVZCUVVsRExFdEJRV05HTEVkQlFVOHNSVUZCU3l4SlFVTTVRa01zUlVGQlNVTXNTMEZCYlVJc1NVRkJUa1lzUlVGdFFtNUNMRTlCYUVKM1FpeEpRVUZ3UWtZc1NVRkRSa1VzUlVGRFIycENMRlZCUVZWVkxFVkJRVWxHTEZkQlFWZElMRXRCUVU4c1JVRkRhRU5NTEZWQlFWVlZMRVZCUVVsR0xGZEJRVmRJTEVWQlFVa3NTMEZCVHl4RlFVTjJRMkVzUlVGQlNVTXNTMEZCYlVJc1NVRkJUa1lzUjBGSFN5eEpRVUZ3UWtZc1NVRkRSa1VzUlVGRFIycENMRlZCUVZWVkxFVkJRVWxHTEZkQlFWZElMRXRCUVU4c1IwRkRhRU5NTEZWQlFWVlZMRVZCUVVsR0xGZEJRVmRJTEVWQlFVa3NTMEZCVHl4RlFVTndRMHdzVlVGQlZWVXNSVUZCU1VZc1YwRkJWMGdzUlVGQlNTeExRVUZQTEVWQlEzWkRZU3hGUVVGSlF5eExRVUZqUml4SFFVRlBMRVZCUVVzc1NVRkRPVUpETEVWQlFVbERMRXRCUVcxQ0xFbEJRVTVHTEVkQlIxcERMRVZCUjFRc1UwRkJVMFVzWjBKQlFXbENReXhIUVVONFFpeFBRVUZQZEVJc1QwRkJUM05DTEVkQlFVOHNSMEZCU3l4SlFVTjRRblJDTEU5QlFVOXpRaXhIUVVGUExFZEJRVXNzU1VGRGJrSjBRaXhQUVVGUGMwSXNSMEZCVHl4RlFVRkpMRWxCUTJ4Q2RFSXNUMEZCWVN4SFFVRk9jMElzUjBGSFdDeFRRVUZUUXl4WlFVRmhReXhGUVVGUFF5eEZRVUZQUXl4SFFVZHNReXhKUVVaQkxFbEJRVWxTTEVWQlEwRlRMRVZCUVZNc1IwRkRTbkpDTEVWQlFVbHRRaXhGUVVGUGJrSXNSVUZCU1c5Q0xFVkJRVXR3UWl4SFFVRkxMRVZCUTJoRFdTeEhRVU5KVFN4RlFVRk5iRUlzU1VGQlRTeEhRVUZOTEZkQlEyeENhMElzUlVGQlRXeENMRVZCUVVrc1NVRkJUU3hGUVVGTExGRkJRMUFzU1VGQlptdENMRVZCUVUxc1FpeEZRVUZKTEVsQlEySnhRaXhGUVVGUFF5eExRVUZMVUN4blFrRkJaMEpJTEVsQlJUbENMRTlCUVU5VExFVkJRVTlGTEV0QlFVc3NTVUZIY2tJc1UwRkJVemxDTEdOQlFXVjVRaXhIUVZGMFFpeEpRVkJCTEVsQlFVbE9MRVZCUTBGWUxFVkJRVTFwUWl4RlFVRk5hRUlzVDBGRFduTkNMRVZCUVdGMlFpeEZRVUZOTEVWQlEyNUNkMElzUlVGQlVTeEhRVWxJZWtJc1JVRkJTU3hGUVVGSE1FSXNSVUZCVDNwQ0xFVkJRVTExUWl4RlFVRlplRUlzUlVGQlNUQkNMRVZCUVUweFFpeEhRVWc1UWl4TlFVbHVRbmxDTEVWQlFVMUlMRXRCUVV0TUxGbEJRVmxETEVWQlFVOXNRaXhGUVVGSlFTeEZRVXBtTEUxQlNYRkRNRUlzUlVGQlQwRXNSVUZCVVRGQ0xFVkJTbkJFTEZGQmVVSnlRaXhQUVdwQ2JVSXNTVUZCWm5kQ0xFZEJRMFphTEVWQlFVMU5MRVZCUVUxcVFpeEZRVUZOTEVkQlEyeENkMElzUlVGQlRVZ3NTMEZEU2pWQ0xFOUJRVTlyUWl4SFFVRlBMRWRCUTJSc1FpeFBRVUZSYTBJc1IwRkJUeXhGUVVGTExFbEJRM0JDTEU5QlJYTkNMRWxCUVdaWkxFbEJRMVJhTEVkQlFVOU5MRVZCUVUxcVFpeEZRVUZOTEVsQlFVMHNSMEZCUzJsQ0xFVkJRVTFxUWl4RlFVRk5MRWRCUXpGRGQwSXNSVUZCVFVnc1MwRkRTalZDTEU5QlFVOXJRaXhIUVVGUExFbEJRMlJzUWl4UFFVRlJhMElzUjBGQlR5eEZRVUZMTEVsQlEzQkNiRUlzVDBGQlVXdENMRWRCUVU4c1JVRkJTeXhKUVVOd1FpeE5RVWxIWVN4RlFVRk5SaXhMUVVGTExFbEJiRWx3UWpWQ0xGVkJRVlVzU1VGQlNWRXNWMEZCVnl4SlFVRk5MRWRCUXk5Q1VpeFZRVUZWTEVsQlFVbFJMRmRCUVZjc1NVRkJUU0lzSW1acGJHVWlPaUl2YUc5dFpTOTZhVzV2TDNCeWIycGxZM1J6TDNObFlYUnRZWEIyTWk5dFlYTjBaWEl2YzJWaGRHMWhjSFl5TDJOc2FXVnVkQzl1YjJSbFgyMXZaSFZzWlhNdlltRnpaVFkwTFdwekwybHVaR1Y0TG1wekluMD0iLCJcblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYkltVnRjSFI1TG1weklsMHNJbTVoYldWeklqcGJYU3dpYldGd2NHbHVaM01pT2lJaUxDSm1hV3hsSWpvaUwyaHZiV1V2ZW1sdWJ5OXdjbTlxWldOMGN5OXpaV0YwYldGd2RqSXZiV0Z6ZEdWeUwzTmxZWFJ0WVhCMk1pOWpiR2xsYm5RdmJtOWtaVjl0YjJSMWJHVnpMMkp5YjNkelpYSXRjbVZ6YjJ4MlpTOWxiWEIwZVM1cWN5SjkiLCJcInVzZSBzdHJpY3RcIjt2YXIgYmFzZTY0PXJlcXVpcmUoXCJiYXNlNjQtanNcIiksaWVlZTc1ND1yZXF1aXJlKFwiaWVlZTc1NFwiKTtleHBvcnRzLkJ1ZmZlcj1CdWZmZXIsZXhwb3J0cy5TbG93QnVmZmVyPVNsb3dCdWZmZXIsZXhwb3J0cy5JTlNQRUNUX01BWF9CWVRFUz01MDt2YXIgS19NQVhfTEVOR1RIPTIxNDc0ODM2NDc7ZnVuY3Rpb24gdHlwZWRBcnJheVN1cHBvcnQoKXt0cnl7dmFyIGU9bmV3IFVpbnQ4QXJyYXkoMSk7cmV0dXJuIGUuX19wcm90b19fPXtfX3Byb3RvX186VWludDhBcnJheS5wcm90b3R5cGUsZm9vOmZ1bmN0aW9uKCl7cmV0dXJuIDQyfX0sNDI9PT1lLmZvbygpfWNhdGNoKGUpe3JldHVybiExfX1mdW5jdGlvbiBjcmVhdGVCdWZmZXIoZSl7aWYoZT5LX01BWF9MRU5HVEgpdGhyb3cgbmV3IFJhbmdlRXJyb3IoJ1RoZSB2YWx1ZSBcIicrZSsnXCIgaXMgaW52YWxpZCBmb3Igb3B0aW9uIFwic2l6ZVwiJyk7dmFyIHQ9bmV3IFVpbnQ4QXJyYXkoZSk7cmV0dXJuIHQuX19wcm90b19fPUJ1ZmZlci5wcm90b3R5cGUsdH1mdW5jdGlvbiBCdWZmZXIoZSx0LHIpe2lmKFwibnVtYmVyXCI9PXR5cGVvZiBlKXtpZihcInN0cmluZ1wiPT10eXBlb2YgdCl0aHJvdyBuZXcgVHlwZUVycm9yKCdUaGUgXCJzdHJpbmdcIiBhcmd1bWVudCBtdXN0IGJlIG9mIHR5cGUgc3RyaW5nLiBSZWNlaXZlZCB0eXBlIG51bWJlcicpO3JldHVybiBhbGxvY1Vuc2FmZShlKX1yZXR1cm4gZnJvbShlLHQscil9ZnVuY3Rpb24gZnJvbShlLHQscil7aWYoXCJzdHJpbmdcIj09dHlwZW9mIGUpcmV0dXJuIGZyb21TdHJpbmcoZSx0KTtpZihBcnJheUJ1ZmZlci5pc1ZpZXcoZSkpcmV0dXJuIGZyb21BcnJheUxpa2UoZSk7aWYobnVsbD09ZSl0aHJvdyBUeXBlRXJyb3IoXCJUaGUgZmlyc3QgYXJndW1lbnQgbXVzdCBiZSBvbmUgb2YgdHlwZSBzdHJpbmcsIEJ1ZmZlciwgQXJyYXlCdWZmZXIsIEFycmF5LCBvciBBcnJheS1saWtlIE9iamVjdC4gUmVjZWl2ZWQgdHlwZSBcIit0eXBlb2YgZSk7aWYoaXNJbnN0YW5jZShlLEFycmF5QnVmZmVyKXx8ZSYmaXNJbnN0YW5jZShlLmJ1ZmZlcixBcnJheUJ1ZmZlcikpcmV0dXJuIGZyb21BcnJheUJ1ZmZlcihlLHQscik7aWYoXCJudW1iZXJcIj09dHlwZW9mIGUpdGhyb3cgbmV3IFR5cGVFcnJvcignVGhlIFwidmFsdWVcIiBhcmd1bWVudCBtdXN0IG5vdCBiZSBvZiB0eXBlIG51bWJlci4gUmVjZWl2ZWQgdHlwZSBudW1iZXInKTt2YXIgbj1lLnZhbHVlT2YmJmUudmFsdWVPZigpO2lmKG51bGwhPW4mJm4hPT1lKXJldHVybiBCdWZmZXIuZnJvbShuLHQscik7dmFyIGY9ZnJvbU9iamVjdChlKTtpZihmKXJldHVybiBmO2lmKFwidW5kZWZpbmVkXCIhPXR5cGVvZiBTeW1ib2wmJm51bGwhPVN5bWJvbC50b1ByaW1pdGl2ZSYmXCJmdW5jdGlvblwiPT10eXBlb2YgZVtTeW1ib2wudG9QcmltaXRpdmVdKXJldHVybiBCdWZmZXIuZnJvbShlW1N5bWJvbC50b1ByaW1pdGl2ZV0oXCJzdHJpbmdcIiksdCxyKTt0aHJvdyBuZXcgVHlwZUVycm9yKFwiVGhlIGZpcnN0IGFyZ3VtZW50IG11c3QgYmUgb25lIG9mIHR5cGUgc3RyaW5nLCBCdWZmZXIsIEFycmF5QnVmZmVyLCBBcnJheSwgb3IgQXJyYXktbGlrZSBPYmplY3QuIFJlY2VpdmVkIHR5cGUgXCIrdHlwZW9mIGUpfWZ1bmN0aW9uIGFzc2VydFNpemUoZSl7aWYoXCJudW1iZXJcIiE9dHlwZW9mIGUpdGhyb3cgbmV3IFR5cGVFcnJvcignXCJzaXplXCIgYXJndW1lbnQgbXVzdCBiZSBvZiB0eXBlIG51bWJlcicpO2lmKGU8MCl0aHJvdyBuZXcgUmFuZ2VFcnJvcignVGhlIHZhbHVlIFwiJytlKydcIiBpcyBpbnZhbGlkIGZvciBvcHRpb24gXCJzaXplXCInKX1mdW5jdGlvbiBhbGxvYyhlLHQscil7cmV0dXJuIGFzc2VydFNpemUoZSksZTw9MD9jcmVhdGVCdWZmZXIoZSk6dm9pZCAwIT09dD9cInN0cmluZ1wiPT10eXBlb2Ygcj9jcmVhdGVCdWZmZXIoZSkuZmlsbCh0LHIpOmNyZWF0ZUJ1ZmZlcihlKS5maWxsKHQpOmNyZWF0ZUJ1ZmZlcihlKX1mdW5jdGlvbiBhbGxvY1Vuc2FmZShlKXtyZXR1cm4gYXNzZXJ0U2l6ZShlKSxjcmVhdGVCdWZmZXIoZTwwPzA6MHxjaGVja2VkKGUpKX1mdW5jdGlvbiBmcm9tU3RyaW5nKGUsdCl7aWYoXCJzdHJpbmdcIj09dHlwZW9mIHQmJlwiXCIhPT10fHwodD1cInV0ZjhcIiksIUJ1ZmZlci5pc0VuY29kaW5nKHQpKXRocm93IG5ldyBUeXBlRXJyb3IoXCJVbmtub3duIGVuY29kaW5nOiBcIit0KTt2YXIgcj0wfGJ5dGVMZW5ndGgoZSx0KSxuPWNyZWF0ZUJ1ZmZlcihyKSxmPW4ud3JpdGUoZSx0KTtyZXR1cm4gZiE9PXImJihuPW4uc2xpY2UoMCxmKSksbn1mdW5jdGlvbiBmcm9tQXJyYXlMaWtlKGUpe2Zvcih2YXIgdD1lLmxlbmd0aDwwPzA6MHxjaGVja2VkKGUubGVuZ3RoKSxyPWNyZWF0ZUJ1ZmZlcih0KSxuPTA7bjx0O24rPTEpcltuXT0yNTUmZVtuXTtyZXR1cm4gcn1mdW5jdGlvbiBmcm9tQXJyYXlCdWZmZXIoZSx0LHIpe2lmKHQ8MHx8ZS5ieXRlTGVuZ3RoPHQpdGhyb3cgbmV3IFJhbmdlRXJyb3IoJ1wib2Zmc2V0XCIgaXMgb3V0c2lkZSBvZiBidWZmZXIgYm91bmRzJyk7aWYoZS5ieXRlTGVuZ3RoPHQrKHJ8fDApKXRocm93IG5ldyBSYW5nZUVycm9yKCdcImxlbmd0aFwiIGlzIG91dHNpZGUgb2YgYnVmZmVyIGJvdW5kcycpO3ZhciBuO3JldHVybihuPXZvaWQgMD09PXQmJnZvaWQgMD09PXI/bmV3IFVpbnQ4QXJyYXkoZSk6dm9pZCAwPT09cj9uZXcgVWludDhBcnJheShlLHQpOm5ldyBVaW50OEFycmF5KGUsdCxyKSkuX19wcm90b19fPUJ1ZmZlci5wcm90b3R5cGUsbn1mdW5jdGlvbiBmcm9tT2JqZWN0KGUpe2lmKEJ1ZmZlci5pc0J1ZmZlcihlKSl7dmFyIHQ9MHxjaGVja2VkKGUubGVuZ3RoKSxyPWNyZWF0ZUJ1ZmZlcih0KTtyZXR1cm4gMD09PXIubGVuZ3RoP3I6KGUuY29weShyLDAsMCx0KSxyKX1yZXR1cm4gdm9pZCAwIT09ZS5sZW5ndGg/XCJudW1iZXJcIiE9dHlwZW9mIGUubGVuZ3RofHxudW1iZXJJc05hTihlLmxlbmd0aCk/Y3JlYXRlQnVmZmVyKDApOmZyb21BcnJheUxpa2UoZSk6XCJCdWZmZXJcIj09PWUudHlwZSYmQXJyYXkuaXNBcnJheShlLmRhdGEpP2Zyb21BcnJheUxpa2UoZS5kYXRhKTp2b2lkIDB9ZnVuY3Rpb24gY2hlY2tlZChlKXtpZihlPj1LX01BWF9MRU5HVEgpdGhyb3cgbmV3IFJhbmdlRXJyb3IoXCJBdHRlbXB0IHRvIGFsbG9jYXRlIEJ1ZmZlciBsYXJnZXIgdGhhbiBtYXhpbXVtIHNpemU6IDB4XCIrS19NQVhfTEVOR1RILnRvU3RyaW5nKDE2KStcIiBieXRlc1wiKTtyZXR1cm4gMHxlfWZ1bmN0aW9uIFNsb3dCdWZmZXIoZSl7cmV0dXJuK2UhPWUmJihlPTApLEJ1ZmZlci5hbGxvYygrZSl9ZnVuY3Rpb24gYnl0ZUxlbmd0aChlLHQpe2lmKEJ1ZmZlci5pc0J1ZmZlcihlKSlyZXR1cm4gZS5sZW5ndGg7aWYoQXJyYXlCdWZmZXIuaXNWaWV3KGUpfHxpc0luc3RhbmNlKGUsQXJyYXlCdWZmZXIpKXJldHVybiBlLmJ5dGVMZW5ndGg7aWYoXCJzdHJpbmdcIiE9dHlwZW9mIGUpdGhyb3cgbmV3IFR5cGVFcnJvcignVGhlIFwic3RyaW5nXCIgYXJndW1lbnQgbXVzdCBiZSBvbmUgb2YgdHlwZSBzdHJpbmcsIEJ1ZmZlciwgb3IgQXJyYXlCdWZmZXIuIFJlY2VpdmVkIHR5cGUgJyt0eXBlb2YgZSk7dmFyIHI9ZS5sZW5ndGgsbj1hcmd1bWVudHMubGVuZ3RoPjImJiEwPT09YXJndW1lbnRzWzJdO2lmKCFuJiYwPT09cilyZXR1cm4gMDtmb3IodmFyIGY9ITE7Oylzd2l0Y2godCl7Y2FzZVwiYXNjaWlcIjpjYXNlXCJsYXRpbjFcIjpjYXNlXCJiaW5hcnlcIjpyZXR1cm4gcjtjYXNlXCJ1dGY4XCI6Y2FzZVwidXRmLThcIjpyZXR1cm4gdXRmOFRvQnl0ZXMoZSkubGVuZ3RoO2Nhc2VcInVjczJcIjpjYXNlXCJ1Y3MtMlwiOmNhc2VcInV0ZjE2bGVcIjpjYXNlXCJ1dGYtMTZsZVwiOnJldHVybiAyKnI7Y2FzZVwiaGV4XCI6cmV0dXJuIHI+Pj4xO2Nhc2VcImJhc2U2NFwiOnJldHVybiBiYXNlNjRUb0J5dGVzKGUpLmxlbmd0aDtkZWZhdWx0OmlmKGYpcmV0dXJuIG4/LTE6dXRmOFRvQnl0ZXMoZSkubGVuZ3RoO3Q9KFwiXCIrdCkudG9Mb3dlckNhc2UoKSxmPSEwfX1mdW5jdGlvbiBzbG93VG9TdHJpbmcoZSx0LHIpe3ZhciBuPSExO2lmKCh2b2lkIDA9PT10fHx0PDApJiYodD0wKSx0PnRoaXMubGVuZ3RoKXJldHVyblwiXCI7aWYoKHZvaWQgMD09PXJ8fHI+dGhpcy5sZW5ndGgpJiYocj10aGlzLmxlbmd0aCkscjw9MClyZXR1cm5cIlwiO2lmKChyPj4+PTApPD0odD4+Pj0wKSlyZXR1cm5cIlwiO2ZvcihlfHwoZT1cInV0ZjhcIik7Oylzd2l0Y2goZSl7Y2FzZVwiaGV4XCI6cmV0dXJuIGhleFNsaWNlKHRoaXMsdCxyKTtjYXNlXCJ1dGY4XCI6Y2FzZVwidXRmLThcIjpyZXR1cm4gdXRmOFNsaWNlKHRoaXMsdCxyKTtjYXNlXCJhc2NpaVwiOnJldHVybiBhc2NpaVNsaWNlKHRoaXMsdCxyKTtjYXNlXCJsYXRpbjFcIjpjYXNlXCJiaW5hcnlcIjpyZXR1cm4gbGF0aW4xU2xpY2UodGhpcyx0LHIpO2Nhc2VcImJhc2U2NFwiOnJldHVybiBiYXNlNjRTbGljZSh0aGlzLHQscik7Y2FzZVwidWNzMlwiOmNhc2VcInVjcy0yXCI6Y2FzZVwidXRmMTZsZVwiOmNhc2VcInV0Zi0xNmxlXCI6cmV0dXJuIHV0ZjE2bGVTbGljZSh0aGlzLHQscik7ZGVmYXVsdDppZihuKXRocm93IG5ldyBUeXBlRXJyb3IoXCJVbmtub3duIGVuY29kaW5nOiBcIitlKTtlPShlK1wiXCIpLnRvTG93ZXJDYXNlKCksbj0hMH19ZnVuY3Rpb24gc3dhcChlLHQscil7dmFyIG49ZVt0XTtlW3RdPWVbcl0sZVtyXT1ufWZ1bmN0aW9uIGJpZGlyZWN0aW9uYWxJbmRleE9mKGUsdCxyLG4sZil7aWYoMD09PWUubGVuZ3RoKXJldHVybi0xO2lmKFwic3RyaW5nXCI9PXR5cGVvZiByPyhuPXIscj0wKTpyPjIxNDc0ODM2NDc/cj0yMTQ3NDgzNjQ3OnI8LTIxNDc0ODM2NDgmJihyPS0yMTQ3NDgzNjQ4KSxudW1iZXJJc05hTihyPStyKSYmKHI9Zj8wOmUubGVuZ3RoLTEpLHI8MCYmKHI9ZS5sZW5ndGgrcikscj49ZS5sZW5ndGgpe2lmKGYpcmV0dXJuLTE7cj1lLmxlbmd0aC0xfWVsc2UgaWYocjwwKXtpZighZilyZXR1cm4tMTtyPTB9aWYoXCJzdHJpbmdcIj09dHlwZW9mIHQmJih0PUJ1ZmZlci5mcm9tKHQsbikpLEJ1ZmZlci5pc0J1ZmZlcih0KSlyZXR1cm4gMD09PXQubGVuZ3RoPy0xOmFycmF5SW5kZXhPZihlLHQscixuLGYpO2lmKFwibnVtYmVyXCI9PXR5cGVvZiB0KXJldHVybiB0Jj0yNTUsXCJmdW5jdGlvblwiPT10eXBlb2YgVWludDhBcnJheS5wcm90b3R5cGUuaW5kZXhPZj9mP1VpbnQ4QXJyYXkucHJvdG90eXBlLmluZGV4T2YuY2FsbChlLHQscik6VWludDhBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YuY2FsbChlLHQscik6YXJyYXlJbmRleE9mKGUsW3RdLHIsbixmKTt0aHJvdyBuZXcgVHlwZUVycm9yKFwidmFsIG11c3QgYmUgc3RyaW5nLCBudW1iZXIgb3IgQnVmZmVyXCIpfWZ1bmN0aW9uIGFycmF5SW5kZXhPZihlLHQscixuLGYpe3ZhciBpLG89MSx1PWUubGVuZ3RoLHM9dC5sZW5ndGg7aWYodm9pZCAwIT09biYmKFwidWNzMlwiPT09KG49U3RyaW5nKG4pLnRvTG93ZXJDYXNlKCkpfHxcInVjcy0yXCI9PT1ufHxcInV0ZjE2bGVcIj09PW58fFwidXRmLTE2bGVcIj09PW4pKXtpZihlLmxlbmd0aDwyfHx0Lmxlbmd0aDwyKXJldHVybi0xO289Mix1Lz0yLHMvPTIsci89Mn1mdW5jdGlvbiBhKGUsdCl7cmV0dXJuIDE9PT1vP2VbdF06ZS5yZWFkVUludDE2QkUodCpvKX1pZihmKXt2YXIgaD0tMTtmb3IoaT1yO2k8dTtpKyspaWYoYShlLGkpPT09YSh0LC0xPT09aD8wOmktaCkpe2lmKC0xPT09aCYmKGg9aSksaS1oKzE9PT1zKXJldHVybiBoKm99ZWxzZS0xIT09aCYmKGktPWktaCksaD0tMX1lbHNlIGZvcihyK3M+dSYmKHI9dS1zKSxpPXI7aT49MDtpLS0pe2Zvcih2YXIgYz0hMCxsPTA7bDxzO2wrKylpZihhKGUsaStsKSE9PWEodCxsKSl7Yz0hMTticmVha31pZihjKXJldHVybiBpfXJldHVybi0xfWZ1bmN0aW9uIGhleFdyaXRlKGUsdCxyLG4pe3I9TnVtYmVyKHIpfHwwO3ZhciBmPWUubGVuZ3RoLXI7bj8obj1OdW1iZXIobikpPmYmJihuPWYpOm49Zjt2YXIgaT10Lmxlbmd0aDtuPmkvMiYmKG49aS8yKTtmb3IodmFyIG89MDtvPG47KytvKXt2YXIgdT1wYXJzZUludCh0LnN1YnN0cigyKm8sMiksMTYpO2lmKG51bWJlcklzTmFOKHUpKXJldHVybiBvO2VbcitvXT11fXJldHVybiBvfWZ1bmN0aW9uIHV0ZjhXcml0ZShlLHQscixuKXtyZXR1cm4gYmxpdEJ1ZmZlcih1dGY4VG9CeXRlcyh0LGUubGVuZ3RoLXIpLGUscixuKX1mdW5jdGlvbiBhc2NpaVdyaXRlKGUsdCxyLG4pe3JldHVybiBibGl0QnVmZmVyKGFzY2lpVG9CeXRlcyh0KSxlLHIsbil9ZnVuY3Rpb24gbGF0aW4xV3JpdGUoZSx0LHIsbil7cmV0dXJuIGFzY2lpV3JpdGUoZSx0LHIsbil9ZnVuY3Rpb24gYmFzZTY0V3JpdGUoZSx0LHIsbil7cmV0dXJuIGJsaXRCdWZmZXIoYmFzZTY0VG9CeXRlcyh0KSxlLHIsbil9ZnVuY3Rpb24gdWNzMldyaXRlKGUsdCxyLG4pe3JldHVybiBibGl0QnVmZmVyKHV0ZjE2bGVUb0J5dGVzKHQsZS5sZW5ndGgtciksZSxyLG4pfWZ1bmN0aW9uIGJhc2U2NFNsaWNlKGUsdCxyKXtyZXR1cm4gMD09PXQmJnI9PT1lLmxlbmd0aD9iYXNlNjQuZnJvbUJ5dGVBcnJheShlKTpiYXNlNjQuZnJvbUJ5dGVBcnJheShlLnNsaWNlKHQscikpfWZ1bmN0aW9uIHV0ZjhTbGljZShlLHQscil7cj1NYXRoLm1pbihlLmxlbmd0aCxyKTtmb3IodmFyIG49W10sZj10O2Y8cjspe3ZhciBpLG8sdSxzLGE9ZVtmXSxoPW51bGwsYz1hPjIzOT80OmE+MjIzPzM6YT4xOTE/MjoxO2lmKGYrYzw9cilzd2l0Y2goYyl7Y2FzZSAxOmE8MTI4JiYoaD1hKTticmVhaztjYXNlIDI6MTI4PT0oMTkyJihpPWVbZisxXSkpJiYocz0oMzEmYSk8PDZ8NjMmaSk+MTI3JiYoaD1zKTticmVhaztjYXNlIDM6aT1lW2YrMV0sbz1lW2YrMl0sMTI4PT0oMTkyJmkpJiYxMjg9PSgxOTImbykmJihzPSgxNSZhKTw8MTJ8KDYzJmkpPDw2fDYzJm8pPjIwNDcmJihzPDU1Mjk2fHxzPjU3MzQzKSYmKGg9cyk7YnJlYWs7Y2FzZSA0Omk9ZVtmKzFdLG89ZVtmKzJdLHU9ZVtmKzNdLDEyOD09KDE5MiZpKSYmMTI4PT0oMTkyJm8pJiYxMjg9PSgxOTImdSkmJihzPSgxNSZhKTw8MTh8KDYzJmkpPDwxMnwoNjMmbyk8PDZ8NjMmdSk+NjU1MzUmJnM8MTExNDExMiYmKGg9cyl9bnVsbD09PWg/KGg9NjU1MzMsYz0xKTpoPjY1NTM1JiYoaC09NjU1MzYsbi5wdXNoKGg+Pj4xMCYxMDIzfDU1Mjk2KSxoPTU2MzIwfDEwMjMmaCksbi5wdXNoKGgpLGYrPWN9cmV0dXJuIGRlY29kZUNvZGVQb2ludHNBcnJheShuKX1leHBvcnRzLmtNYXhMZW5ndGg9S19NQVhfTEVOR1RILEJ1ZmZlci5UWVBFRF9BUlJBWV9TVVBQT1JUPXR5cGVkQXJyYXlTdXBwb3J0KCksQnVmZmVyLlRZUEVEX0FSUkFZX1NVUFBPUlR8fFwidW5kZWZpbmVkXCI9PXR5cGVvZiBjb25zb2xlfHxcImZ1bmN0aW9uXCIhPXR5cGVvZiBjb25zb2xlLmVycm9yfHxjb25zb2xlLmVycm9yKFwiVGhpcyBicm93c2VyIGxhY2tzIHR5cGVkIGFycmF5IChVaW50OEFycmF5KSBzdXBwb3J0IHdoaWNoIGlzIHJlcXVpcmVkIGJ5IGBidWZmZXJgIHY1LnguIFVzZSBgYnVmZmVyYCB2NC54IGlmIHlvdSByZXF1aXJlIG9sZCBicm93c2VyIHN1cHBvcnQuXCIpLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShCdWZmZXIucHJvdG90eXBlLFwicGFyZW50XCIse2VudW1lcmFibGU6ITAsZ2V0OmZ1bmN0aW9uKCl7aWYoQnVmZmVyLmlzQnVmZmVyKHRoaXMpKXJldHVybiB0aGlzLmJ1ZmZlcn19KSxPYmplY3QuZGVmaW5lUHJvcGVydHkoQnVmZmVyLnByb3RvdHlwZSxcIm9mZnNldFwiLHtlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe2lmKEJ1ZmZlci5pc0J1ZmZlcih0aGlzKSlyZXR1cm4gdGhpcy5ieXRlT2Zmc2V0fX0pLFwidW5kZWZpbmVkXCIhPXR5cGVvZiBTeW1ib2wmJm51bGwhPVN5bWJvbC5zcGVjaWVzJiZCdWZmZXJbU3ltYm9sLnNwZWNpZXNdPT09QnVmZmVyJiZPYmplY3QuZGVmaW5lUHJvcGVydHkoQnVmZmVyLFN5bWJvbC5zcGVjaWVzLHt2YWx1ZTpudWxsLGNvbmZpZ3VyYWJsZTohMCxlbnVtZXJhYmxlOiExLHdyaXRhYmxlOiExfSksQnVmZmVyLnBvb2xTaXplPTgxOTIsQnVmZmVyLmZyb209ZnVuY3Rpb24oZSx0LHIpe3JldHVybiBmcm9tKGUsdCxyKX0sQnVmZmVyLnByb3RvdHlwZS5fX3Byb3RvX189VWludDhBcnJheS5wcm90b3R5cGUsQnVmZmVyLl9fcHJvdG9fXz1VaW50OEFycmF5LEJ1ZmZlci5hbGxvYz1mdW5jdGlvbihlLHQscil7cmV0dXJuIGFsbG9jKGUsdCxyKX0sQnVmZmVyLmFsbG9jVW5zYWZlPWZ1bmN0aW9uKGUpe3JldHVybiBhbGxvY1Vuc2FmZShlKX0sQnVmZmVyLmFsbG9jVW5zYWZlU2xvdz1mdW5jdGlvbihlKXtyZXR1cm4gYWxsb2NVbnNhZmUoZSl9LEJ1ZmZlci5pc0J1ZmZlcj1mdW5jdGlvbihlKXtyZXR1cm4gbnVsbCE9ZSYmITA9PT1lLl9pc0J1ZmZlciYmZSE9PUJ1ZmZlci5wcm90b3R5cGV9LEJ1ZmZlci5jb21wYXJlPWZ1bmN0aW9uKGUsdCl7aWYoaXNJbnN0YW5jZShlLFVpbnQ4QXJyYXkpJiYoZT1CdWZmZXIuZnJvbShlLGUub2Zmc2V0LGUuYnl0ZUxlbmd0aCkpLGlzSW5zdGFuY2UodCxVaW50OEFycmF5KSYmKHQ9QnVmZmVyLmZyb20odCx0Lm9mZnNldCx0LmJ5dGVMZW5ndGgpKSwhQnVmZmVyLmlzQnVmZmVyKGUpfHwhQnVmZmVyLmlzQnVmZmVyKHQpKXRocm93IG5ldyBUeXBlRXJyb3IoJ1RoZSBcImJ1ZjFcIiwgXCJidWYyXCIgYXJndW1lbnRzIG11c3QgYmUgb25lIG9mIHR5cGUgQnVmZmVyIG9yIFVpbnQ4QXJyYXknKTtpZihlPT09dClyZXR1cm4gMDtmb3IodmFyIHI9ZS5sZW5ndGgsbj10Lmxlbmd0aCxmPTAsaT1NYXRoLm1pbihyLG4pO2Y8aTsrK2YpaWYoZVtmXSE9PXRbZl0pe3I9ZVtmXSxuPXRbZl07YnJlYWt9cmV0dXJuIHI8bj8tMTpuPHI/MTowfSxCdWZmZXIuaXNFbmNvZGluZz1mdW5jdGlvbihlKXtzd2l0Y2goU3RyaW5nKGUpLnRvTG93ZXJDYXNlKCkpe2Nhc2VcImhleFwiOmNhc2VcInV0ZjhcIjpjYXNlXCJ1dGYtOFwiOmNhc2VcImFzY2lpXCI6Y2FzZVwibGF0aW4xXCI6Y2FzZVwiYmluYXJ5XCI6Y2FzZVwiYmFzZTY0XCI6Y2FzZVwidWNzMlwiOmNhc2VcInVjcy0yXCI6Y2FzZVwidXRmMTZsZVwiOmNhc2VcInV0Zi0xNmxlXCI6cmV0dXJuITA7ZGVmYXVsdDpyZXR1cm4hMX19LEJ1ZmZlci5jb25jYXQ9ZnVuY3Rpb24oZSx0KXtpZighQXJyYXkuaXNBcnJheShlKSl0aHJvdyBuZXcgVHlwZUVycm9yKCdcImxpc3RcIiBhcmd1bWVudCBtdXN0IGJlIGFuIEFycmF5IG9mIEJ1ZmZlcnMnKTtpZigwPT09ZS5sZW5ndGgpcmV0dXJuIEJ1ZmZlci5hbGxvYygwKTt2YXIgcjtpZih2b2lkIDA9PT10KWZvcih0PTAscj0wO3I8ZS5sZW5ndGg7KytyKXQrPWVbcl0ubGVuZ3RoO3ZhciBuPUJ1ZmZlci5hbGxvY1Vuc2FmZSh0KSxmPTA7Zm9yKHI9MDtyPGUubGVuZ3RoOysrcil7dmFyIGk9ZVtyXTtpZihpc0luc3RhbmNlKGksVWludDhBcnJheSkmJihpPUJ1ZmZlci5mcm9tKGkpKSwhQnVmZmVyLmlzQnVmZmVyKGkpKXRocm93IG5ldyBUeXBlRXJyb3IoJ1wibGlzdFwiIGFyZ3VtZW50IG11c3QgYmUgYW4gQXJyYXkgb2YgQnVmZmVycycpO2kuY29weShuLGYpLGYrPWkubGVuZ3RofXJldHVybiBufSxCdWZmZXIuYnl0ZUxlbmd0aD1ieXRlTGVuZ3RoLEJ1ZmZlci5wcm90b3R5cGUuX2lzQnVmZmVyPSEwLEJ1ZmZlci5wcm90b3R5cGUuc3dhcDE2PWZ1bmN0aW9uKCl7dmFyIGU9dGhpcy5sZW5ndGg7aWYoZSUyIT0wKXRocm93IG5ldyBSYW5nZUVycm9yKFwiQnVmZmVyIHNpemUgbXVzdCBiZSBhIG11bHRpcGxlIG9mIDE2LWJpdHNcIik7Zm9yKHZhciB0PTA7dDxlO3QrPTIpc3dhcCh0aGlzLHQsdCsxKTtyZXR1cm4gdGhpc30sQnVmZmVyLnByb3RvdHlwZS5zd2FwMzI9ZnVuY3Rpb24oKXt2YXIgZT10aGlzLmxlbmd0aDtpZihlJTQhPTApdGhyb3cgbmV3IFJhbmdlRXJyb3IoXCJCdWZmZXIgc2l6ZSBtdXN0IGJlIGEgbXVsdGlwbGUgb2YgMzItYml0c1wiKTtmb3IodmFyIHQ9MDt0PGU7dCs9NClzd2FwKHRoaXMsdCx0KzMpLHN3YXAodGhpcyx0KzEsdCsyKTtyZXR1cm4gdGhpc30sQnVmZmVyLnByb3RvdHlwZS5zd2FwNjQ9ZnVuY3Rpb24oKXt2YXIgZT10aGlzLmxlbmd0aDtpZihlJTghPTApdGhyb3cgbmV3IFJhbmdlRXJyb3IoXCJCdWZmZXIgc2l6ZSBtdXN0IGJlIGEgbXVsdGlwbGUgb2YgNjQtYml0c1wiKTtmb3IodmFyIHQ9MDt0PGU7dCs9OClzd2FwKHRoaXMsdCx0KzcpLHN3YXAodGhpcyx0KzEsdCs2KSxzd2FwKHRoaXMsdCsyLHQrNSksc3dhcCh0aGlzLHQrMyx0KzQpO3JldHVybiB0aGlzfSxCdWZmZXIucHJvdG90eXBlLnRvU3RyaW5nPWZ1bmN0aW9uKCl7dmFyIGU9dGhpcy5sZW5ndGg7cmV0dXJuIDA9PT1lP1wiXCI6MD09PWFyZ3VtZW50cy5sZW5ndGg/dXRmOFNsaWNlKHRoaXMsMCxlKTpzbG93VG9TdHJpbmcuYXBwbHkodGhpcyxhcmd1bWVudHMpfSxCdWZmZXIucHJvdG90eXBlLnRvTG9jYWxlU3RyaW5nPUJ1ZmZlci5wcm90b3R5cGUudG9TdHJpbmcsQnVmZmVyLnByb3RvdHlwZS5lcXVhbHM9ZnVuY3Rpb24oZSl7aWYoIUJ1ZmZlci5pc0J1ZmZlcihlKSl0aHJvdyBuZXcgVHlwZUVycm9yKFwiQXJndW1lbnQgbXVzdCBiZSBhIEJ1ZmZlclwiKTtyZXR1cm4gdGhpcz09PWV8fDA9PT1CdWZmZXIuY29tcGFyZSh0aGlzLGUpfSxCdWZmZXIucHJvdG90eXBlLmluc3BlY3Q9ZnVuY3Rpb24oKXt2YXIgZT1cIlwiLHQ9ZXhwb3J0cy5JTlNQRUNUX01BWF9CWVRFUztyZXR1cm4gZT10aGlzLnRvU3RyaW5nKFwiaGV4XCIsMCx0KS5yZXBsYWNlKC8oLnsyfSkvZyxcIiQxIFwiKS50cmltKCksdGhpcy5sZW5ndGg+dCYmKGUrPVwiIC4uLiBcIiksXCI8QnVmZmVyIFwiK2UrXCI+XCJ9LEJ1ZmZlci5wcm90b3R5cGUuY29tcGFyZT1mdW5jdGlvbihlLHQscixuLGYpe2lmKGlzSW5zdGFuY2UoZSxVaW50OEFycmF5KSYmKGU9QnVmZmVyLmZyb20oZSxlLm9mZnNldCxlLmJ5dGVMZW5ndGgpKSwhQnVmZmVyLmlzQnVmZmVyKGUpKXRocm93IG5ldyBUeXBlRXJyb3IoJ1RoZSBcInRhcmdldFwiIGFyZ3VtZW50IG11c3QgYmUgb25lIG9mIHR5cGUgQnVmZmVyIG9yIFVpbnQ4QXJyYXkuIFJlY2VpdmVkIHR5cGUgJyt0eXBlb2YgZSk7aWYodm9pZCAwPT09dCYmKHQ9MCksdm9pZCAwPT09ciYmKHI9ZT9lLmxlbmd0aDowKSx2b2lkIDA9PT1uJiYobj0wKSx2b2lkIDA9PT1mJiYoZj10aGlzLmxlbmd0aCksdDwwfHxyPmUubGVuZ3RofHxuPDB8fGY+dGhpcy5sZW5ndGgpdGhyb3cgbmV3IFJhbmdlRXJyb3IoXCJvdXQgb2YgcmFuZ2UgaW5kZXhcIik7aWYobj49ZiYmdD49cilyZXR1cm4gMDtpZihuPj1mKXJldHVybi0xO2lmKHQ+PXIpcmV0dXJuIDE7aWYodGhpcz09PWUpcmV0dXJuIDA7Zm9yKHZhciBpPShmPj4+PTApLShuPj4+PTApLG89KHI+Pj49MCktKHQ+Pj49MCksdT1NYXRoLm1pbihpLG8pLHM9dGhpcy5zbGljZShuLGYpLGE9ZS5zbGljZSh0LHIpLGg9MDtoPHU7KytoKWlmKHNbaF0hPT1hW2hdKXtpPXNbaF0sbz1hW2hdO2JyZWFrfXJldHVybiBpPG8/LTE6bzxpPzE6MH0sQnVmZmVyLnByb3RvdHlwZS5pbmNsdWRlcz1mdW5jdGlvbihlLHQscil7cmV0dXJuLTEhPT10aGlzLmluZGV4T2YoZSx0LHIpfSxCdWZmZXIucHJvdG90eXBlLmluZGV4T2Y9ZnVuY3Rpb24oZSx0LHIpe3JldHVybiBiaWRpcmVjdGlvbmFsSW5kZXhPZih0aGlzLGUsdCxyLCEwKX0sQnVmZmVyLnByb3RvdHlwZS5sYXN0SW5kZXhPZj1mdW5jdGlvbihlLHQscil7cmV0dXJuIGJpZGlyZWN0aW9uYWxJbmRleE9mKHRoaXMsZSx0LHIsITEpfSxCdWZmZXIucHJvdG90eXBlLndyaXRlPWZ1bmN0aW9uKGUsdCxyLG4pe2lmKHZvaWQgMD09PXQpbj1cInV0ZjhcIixyPXRoaXMubGVuZ3RoLHQ9MDtlbHNlIGlmKHZvaWQgMD09PXImJlwic3RyaW5nXCI9PXR5cGVvZiB0KW49dCxyPXRoaXMubGVuZ3RoLHQ9MDtlbHNle2lmKCFpc0Zpbml0ZSh0KSl0aHJvdyBuZXcgRXJyb3IoXCJCdWZmZXIud3JpdGUoc3RyaW5nLCBlbmNvZGluZywgb2Zmc2V0WywgbGVuZ3RoXSkgaXMgbm8gbG9uZ2VyIHN1cHBvcnRlZFwiKTt0Pj4+PTAsaXNGaW5pdGUocik/KHI+Pj49MCx2b2lkIDA9PT1uJiYobj1cInV0ZjhcIikpOihuPXIscj12b2lkIDApfXZhciBmPXRoaXMubGVuZ3RoLXQ7aWYoKHZvaWQgMD09PXJ8fHI+ZikmJihyPWYpLGUubGVuZ3RoPjAmJihyPDB8fHQ8MCl8fHQ+dGhpcy5sZW5ndGgpdGhyb3cgbmV3IFJhbmdlRXJyb3IoXCJBdHRlbXB0IHRvIHdyaXRlIG91dHNpZGUgYnVmZmVyIGJvdW5kc1wiKTtufHwobj1cInV0ZjhcIik7Zm9yKHZhciBpPSExOzspc3dpdGNoKG4pe2Nhc2VcImhleFwiOnJldHVybiBoZXhXcml0ZSh0aGlzLGUsdCxyKTtjYXNlXCJ1dGY4XCI6Y2FzZVwidXRmLThcIjpyZXR1cm4gdXRmOFdyaXRlKHRoaXMsZSx0LHIpO2Nhc2VcImFzY2lpXCI6cmV0dXJuIGFzY2lpV3JpdGUodGhpcyxlLHQscik7Y2FzZVwibGF0aW4xXCI6Y2FzZVwiYmluYXJ5XCI6cmV0dXJuIGxhdGluMVdyaXRlKHRoaXMsZSx0LHIpO2Nhc2VcImJhc2U2NFwiOnJldHVybiBiYXNlNjRXcml0ZSh0aGlzLGUsdCxyKTtjYXNlXCJ1Y3MyXCI6Y2FzZVwidWNzLTJcIjpjYXNlXCJ1dGYxNmxlXCI6Y2FzZVwidXRmLTE2bGVcIjpyZXR1cm4gdWNzMldyaXRlKHRoaXMsZSx0LHIpO2RlZmF1bHQ6aWYoaSl0aHJvdyBuZXcgVHlwZUVycm9yKFwiVW5rbm93biBlbmNvZGluZzogXCIrbik7bj0oXCJcIituKS50b0xvd2VyQ2FzZSgpLGk9ITB9fSxCdWZmZXIucHJvdG90eXBlLnRvSlNPTj1mdW5jdGlvbigpe3JldHVybnt0eXBlOlwiQnVmZmVyXCIsZGF0YTpBcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbCh0aGlzLl9hcnJ8fHRoaXMsMCl9fTt2YXIgTUFYX0FSR1VNRU5UU19MRU5HVEg9NDA5NjtmdW5jdGlvbiBkZWNvZGVDb2RlUG9pbnRzQXJyYXkoZSl7dmFyIHQ9ZS5sZW5ndGg7aWYodDw9TUFYX0FSR1VNRU5UU19MRU5HVEgpcmV0dXJuIFN0cmluZy5mcm9tQ2hhckNvZGUuYXBwbHkoU3RyaW5nLGUpO2Zvcih2YXIgcj1cIlwiLG49MDtuPHQ7KXIrPVN0cmluZy5mcm9tQ2hhckNvZGUuYXBwbHkoU3RyaW5nLGUuc2xpY2UobixuKz1NQVhfQVJHVU1FTlRTX0xFTkdUSCkpO3JldHVybiByfWZ1bmN0aW9uIGFzY2lpU2xpY2UoZSx0LHIpe3ZhciBuPVwiXCI7cj1NYXRoLm1pbihlLmxlbmd0aCxyKTtmb3IodmFyIGY9dDtmPHI7KytmKW4rPVN0cmluZy5mcm9tQ2hhckNvZGUoMTI3JmVbZl0pO3JldHVybiBufWZ1bmN0aW9uIGxhdGluMVNsaWNlKGUsdCxyKXt2YXIgbj1cIlwiO3I9TWF0aC5taW4oZS5sZW5ndGgscik7Zm9yKHZhciBmPXQ7ZjxyOysrZiluKz1TdHJpbmcuZnJvbUNoYXJDb2RlKGVbZl0pO3JldHVybiBufWZ1bmN0aW9uIGhleFNsaWNlKGUsdCxyKXt2YXIgbj1lLmxlbmd0aDsoIXR8fHQ8MCkmJih0PTApLCghcnx8cjwwfHxyPm4pJiYocj1uKTtmb3IodmFyIGY9XCJcIixpPXQ7aTxyOysraSlmKz10b0hleChlW2ldKTtyZXR1cm4gZn1mdW5jdGlvbiB1dGYxNmxlU2xpY2UoZSx0LHIpe2Zvcih2YXIgbj1lLnNsaWNlKHQsciksZj1cIlwiLGk9MDtpPG4ubGVuZ3RoO2krPTIpZis9U3RyaW5nLmZyb21DaGFyQ29kZShuW2ldKzI1NipuW2krMV0pO3JldHVybiBmfWZ1bmN0aW9uIGNoZWNrT2Zmc2V0KGUsdCxyKXtpZihlJTEhPTB8fGU8MCl0aHJvdyBuZXcgUmFuZ2VFcnJvcihcIm9mZnNldCBpcyBub3QgdWludFwiKTtpZihlK3Q+cil0aHJvdyBuZXcgUmFuZ2VFcnJvcihcIlRyeWluZyB0byBhY2Nlc3MgYmV5b25kIGJ1ZmZlciBsZW5ndGhcIil9ZnVuY3Rpb24gY2hlY2tJbnQoZSx0LHIsbixmLGkpe2lmKCFCdWZmZXIuaXNCdWZmZXIoZSkpdGhyb3cgbmV3IFR5cGVFcnJvcignXCJidWZmZXJcIiBhcmd1bWVudCBtdXN0IGJlIGEgQnVmZmVyIGluc3RhbmNlJyk7aWYodD5mfHx0PGkpdGhyb3cgbmV3IFJhbmdlRXJyb3IoJ1widmFsdWVcIiBhcmd1bWVudCBpcyBvdXQgb2YgYm91bmRzJyk7aWYocituPmUubGVuZ3RoKXRocm93IG5ldyBSYW5nZUVycm9yKFwiSW5kZXggb3V0IG9mIHJhbmdlXCIpfWZ1bmN0aW9uIGNoZWNrSUVFRTc1NChlLHQscixuLGYsaSl7aWYocituPmUubGVuZ3RoKXRocm93IG5ldyBSYW5nZUVycm9yKFwiSW5kZXggb3V0IG9mIHJhbmdlXCIpO2lmKHI8MCl0aHJvdyBuZXcgUmFuZ2VFcnJvcihcIkluZGV4IG91dCBvZiByYW5nZVwiKX1mdW5jdGlvbiB3cml0ZUZsb2F0KGUsdCxyLG4sZil7cmV0dXJuIHQ9K3Qscj4+Pj0wLGZ8fGNoZWNrSUVFRTc1NChlLHQsciw0LDMuNDAyODIzNDY2Mzg1Mjg4NmUzOCwtMy40MDI4MjM0NjYzODUyODg2ZTM4KSxpZWVlNzU0LndyaXRlKGUsdCxyLG4sMjMsNCkscis0fWZ1bmN0aW9uIHdyaXRlRG91YmxlKGUsdCxyLG4sZil7cmV0dXJuIHQ9K3Qscj4+Pj0wLGZ8fGNoZWNrSUVFRTc1NChlLHQsciw4LDEuNzk3NjkzMTM0ODYyMzE1N2UzMDgsLTEuNzk3NjkzMTM0ODYyMzE1N2UzMDgpLGllZWU3NTQud3JpdGUoZSx0LHIsbiw1Miw4KSxyKzh9QnVmZmVyLnByb3RvdHlwZS5zbGljZT1mdW5jdGlvbihlLHQpe3ZhciByPXRoaXMubGVuZ3RoOyhlPX5+ZSk8MD8oZSs9cik8MCYmKGU9MCk6ZT5yJiYoZT1yKSwodD12b2lkIDA9PT10P3I6fn50KTwwPyh0Kz1yKTwwJiYodD0wKTp0PnImJih0PXIpLHQ8ZSYmKHQ9ZSk7dmFyIG49dGhpcy5zdWJhcnJheShlLHQpO3JldHVybiBuLl9fcHJvdG9fXz1CdWZmZXIucHJvdG90eXBlLG59LEJ1ZmZlci5wcm90b3R5cGUucmVhZFVJbnRMRT1mdW5jdGlvbihlLHQscil7ZT4+Pj0wLHQ+Pj49MCxyfHxjaGVja09mZnNldChlLHQsdGhpcy5sZW5ndGgpO2Zvcih2YXIgbj10aGlzW2VdLGY9MSxpPTA7KytpPHQmJihmKj0yNTYpOyluKz10aGlzW2UraV0qZjtyZXR1cm4gbn0sQnVmZmVyLnByb3RvdHlwZS5yZWFkVUludEJFPWZ1bmN0aW9uKGUsdCxyKXtlPj4+PTAsdD4+Pj0wLHJ8fGNoZWNrT2Zmc2V0KGUsdCx0aGlzLmxlbmd0aCk7Zm9yKHZhciBuPXRoaXNbZSstLXRdLGY9MTt0PjAmJihmKj0yNTYpOyluKz10aGlzW2UrLS10XSpmO3JldHVybiBufSxCdWZmZXIucHJvdG90eXBlLnJlYWRVSW50OD1mdW5jdGlvbihlLHQpe3JldHVybiBlPj4+PTAsdHx8Y2hlY2tPZmZzZXQoZSwxLHRoaXMubGVuZ3RoKSx0aGlzW2VdfSxCdWZmZXIucHJvdG90eXBlLnJlYWRVSW50MTZMRT1mdW5jdGlvbihlLHQpe3JldHVybiBlPj4+PTAsdHx8Y2hlY2tPZmZzZXQoZSwyLHRoaXMubGVuZ3RoKSx0aGlzW2VdfHRoaXNbZSsxXTw8OH0sQnVmZmVyLnByb3RvdHlwZS5yZWFkVUludDE2QkU9ZnVuY3Rpb24oZSx0KXtyZXR1cm4gZT4+Pj0wLHR8fGNoZWNrT2Zmc2V0KGUsMix0aGlzLmxlbmd0aCksdGhpc1tlXTw8OHx0aGlzW2UrMV19LEJ1ZmZlci5wcm90b3R5cGUucmVhZFVJbnQzMkxFPWZ1bmN0aW9uKGUsdCl7cmV0dXJuIGU+Pj49MCx0fHxjaGVja09mZnNldChlLDQsdGhpcy5sZW5ndGgpLCh0aGlzW2VdfHRoaXNbZSsxXTw8OHx0aGlzW2UrMl08PDE2KSsxNjc3NzIxNip0aGlzW2UrM119LEJ1ZmZlci5wcm90b3R5cGUucmVhZFVJbnQzMkJFPWZ1bmN0aW9uKGUsdCl7cmV0dXJuIGU+Pj49MCx0fHxjaGVja09mZnNldChlLDQsdGhpcy5sZW5ndGgpLDE2Nzc3MjE2KnRoaXNbZV0rKHRoaXNbZSsxXTw8MTZ8dGhpc1tlKzJdPDw4fHRoaXNbZSszXSl9LEJ1ZmZlci5wcm90b3R5cGUucmVhZEludExFPWZ1bmN0aW9uKGUsdCxyKXtlPj4+PTAsdD4+Pj0wLHJ8fGNoZWNrT2Zmc2V0KGUsdCx0aGlzLmxlbmd0aCk7Zm9yKHZhciBuPXRoaXNbZV0sZj0xLGk9MDsrK2k8dCYmKGYqPTI1Nik7KW4rPXRoaXNbZStpXSpmO3JldHVybiBuPj0oZio9MTI4KSYmKG4tPU1hdGgucG93KDIsOCp0KSksbn0sQnVmZmVyLnByb3RvdHlwZS5yZWFkSW50QkU9ZnVuY3Rpb24oZSx0LHIpe2U+Pj49MCx0Pj4+PTAscnx8Y2hlY2tPZmZzZXQoZSx0LHRoaXMubGVuZ3RoKTtmb3IodmFyIG49dCxmPTEsaT10aGlzW2UrLS1uXTtuPjAmJihmKj0yNTYpOylpKz10aGlzW2UrLS1uXSpmO3JldHVybiBpPj0oZio9MTI4KSYmKGktPU1hdGgucG93KDIsOCp0KSksaX0sQnVmZmVyLnByb3RvdHlwZS5yZWFkSW50OD1mdW5jdGlvbihlLHQpe3JldHVybiBlPj4+PTAsdHx8Y2hlY2tPZmZzZXQoZSwxLHRoaXMubGVuZ3RoKSwxMjgmdGhpc1tlXT8tMSooMjU1LXRoaXNbZV0rMSk6dGhpc1tlXX0sQnVmZmVyLnByb3RvdHlwZS5yZWFkSW50MTZMRT1mdW5jdGlvbihlLHQpe2U+Pj49MCx0fHxjaGVja09mZnNldChlLDIsdGhpcy5sZW5ndGgpO3ZhciByPXRoaXNbZV18dGhpc1tlKzFdPDw4O3JldHVybiAzMjc2OCZyPzQyOTQ5MDE3NjB8cjpyfSxCdWZmZXIucHJvdG90eXBlLnJlYWRJbnQxNkJFPWZ1bmN0aW9uKGUsdCl7ZT4+Pj0wLHR8fGNoZWNrT2Zmc2V0KGUsMix0aGlzLmxlbmd0aCk7dmFyIHI9dGhpc1tlKzFdfHRoaXNbZV08PDg7cmV0dXJuIDMyNzY4JnI/NDI5NDkwMTc2MHxyOnJ9LEJ1ZmZlci5wcm90b3R5cGUucmVhZEludDMyTEU9ZnVuY3Rpb24oZSx0KXtyZXR1cm4gZT4+Pj0wLHR8fGNoZWNrT2Zmc2V0KGUsNCx0aGlzLmxlbmd0aCksdGhpc1tlXXx0aGlzW2UrMV08PDh8dGhpc1tlKzJdPDwxNnx0aGlzW2UrM108PDI0fSxCdWZmZXIucHJvdG90eXBlLnJlYWRJbnQzMkJFPWZ1bmN0aW9uKGUsdCl7cmV0dXJuIGU+Pj49MCx0fHxjaGVja09mZnNldChlLDQsdGhpcy5sZW5ndGgpLHRoaXNbZV08PDI0fHRoaXNbZSsxXTw8MTZ8dGhpc1tlKzJdPDw4fHRoaXNbZSszXX0sQnVmZmVyLnByb3RvdHlwZS5yZWFkRmxvYXRMRT1mdW5jdGlvbihlLHQpe3JldHVybiBlPj4+PTAsdHx8Y2hlY2tPZmZzZXQoZSw0LHRoaXMubGVuZ3RoKSxpZWVlNzU0LnJlYWQodGhpcyxlLCEwLDIzLDQpfSxCdWZmZXIucHJvdG90eXBlLnJlYWRGbG9hdEJFPWZ1bmN0aW9uKGUsdCl7cmV0dXJuIGU+Pj49MCx0fHxjaGVja09mZnNldChlLDQsdGhpcy5sZW5ndGgpLGllZWU3NTQucmVhZCh0aGlzLGUsITEsMjMsNCl9LEJ1ZmZlci5wcm90b3R5cGUucmVhZERvdWJsZUxFPWZ1bmN0aW9uKGUsdCl7cmV0dXJuIGU+Pj49MCx0fHxjaGVja09mZnNldChlLDgsdGhpcy5sZW5ndGgpLGllZWU3NTQucmVhZCh0aGlzLGUsITAsNTIsOCl9LEJ1ZmZlci5wcm90b3R5cGUucmVhZERvdWJsZUJFPWZ1bmN0aW9uKGUsdCl7cmV0dXJuIGU+Pj49MCx0fHxjaGVja09mZnNldChlLDgsdGhpcy5sZW5ndGgpLGllZWU3NTQucmVhZCh0aGlzLGUsITEsNTIsOCl9LEJ1ZmZlci5wcm90b3R5cGUud3JpdGVVSW50TEU9ZnVuY3Rpb24oZSx0LHIsbil7KGU9K2UsdD4+Pj0wLHI+Pj49MCxuKXx8Y2hlY2tJbnQodGhpcyxlLHQscixNYXRoLnBvdygyLDgqciktMSwwKTt2YXIgZj0xLGk9MDtmb3IodGhpc1t0XT0yNTUmZTsrK2k8ciYmKGYqPTI1Nik7KXRoaXNbdCtpXT1lL2YmMjU1O3JldHVybiB0K3J9LEJ1ZmZlci5wcm90b3R5cGUud3JpdGVVSW50QkU9ZnVuY3Rpb24oZSx0LHIsbil7KGU9K2UsdD4+Pj0wLHI+Pj49MCxuKXx8Y2hlY2tJbnQodGhpcyxlLHQscixNYXRoLnBvdygyLDgqciktMSwwKTt2YXIgZj1yLTEsaT0xO2Zvcih0aGlzW3QrZl09MjU1JmU7LS1mPj0wJiYoaSo9MjU2KTspdGhpc1t0K2ZdPWUvaSYyNTU7cmV0dXJuIHQrcn0sQnVmZmVyLnByb3RvdHlwZS53cml0ZVVJbnQ4PWZ1bmN0aW9uKGUsdCxyKXtyZXR1cm4gZT0rZSx0Pj4+PTAscnx8Y2hlY2tJbnQodGhpcyxlLHQsMSwyNTUsMCksdGhpc1t0XT0yNTUmZSx0KzF9LEJ1ZmZlci5wcm90b3R5cGUud3JpdGVVSW50MTZMRT1mdW5jdGlvbihlLHQscil7cmV0dXJuIGU9K2UsdD4+Pj0wLHJ8fGNoZWNrSW50KHRoaXMsZSx0LDIsNjU1MzUsMCksdGhpc1t0XT0yNTUmZSx0aGlzW3QrMV09ZT4+PjgsdCsyfSxCdWZmZXIucHJvdG90eXBlLndyaXRlVUludDE2QkU9ZnVuY3Rpb24oZSx0LHIpe3JldHVybiBlPStlLHQ+Pj49MCxyfHxjaGVja0ludCh0aGlzLGUsdCwyLDY1NTM1LDApLHRoaXNbdF09ZT4+PjgsdGhpc1t0KzFdPTI1NSZlLHQrMn0sQnVmZmVyLnByb3RvdHlwZS53cml0ZVVJbnQzMkxFPWZ1bmN0aW9uKGUsdCxyKXtyZXR1cm4gZT0rZSx0Pj4+PTAscnx8Y2hlY2tJbnQodGhpcyxlLHQsNCw0Mjk0OTY3Mjk1LDApLHRoaXNbdCszXT1lPj4+MjQsdGhpc1t0KzJdPWU+Pj4xNix0aGlzW3QrMV09ZT4+PjgsdGhpc1t0XT0yNTUmZSx0KzR9LEJ1ZmZlci5wcm90b3R5cGUud3JpdGVVSW50MzJCRT1mdW5jdGlvbihlLHQscil7cmV0dXJuIGU9K2UsdD4+Pj0wLHJ8fGNoZWNrSW50KHRoaXMsZSx0LDQsNDI5NDk2NzI5NSwwKSx0aGlzW3RdPWU+Pj4yNCx0aGlzW3QrMV09ZT4+PjE2LHRoaXNbdCsyXT1lPj4+OCx0aGlzW3QrM109MjU1JmUsdCs0fSxCdWZmZXIucHJvdG90eXBlLndyaXRlSW50TEU9ZnVuY3Rpb24oZSx0LHIsbil7aWYoZT0rZSx0Pj4+PTAsIW4pe3ZhciBmPU1hdGgucG93KDIsOCpyLTEpO2NoZWNrSW50KHRoaXMsZSx0LHIsZi0xLC1mKX12YXIgaT0wLG89MSx1PTA7Zm9yKHRoaXNbdF09MjU1JmU7KytpPHImJihvKj0yNTYpOyllPDAmJjA9PT11JiYwIT09dGhpc1t0K2ktMV0mJih1PTEpLHRoaXNbdCtpXT0oZS9vPj4wKS11JjI1NTtyZXR1cm4gdCtyfSxCdWZmZXIucHJvdG90eXBlLndyaXRlSW50QkU9ZnVuY3Rpb24oZSx0LHIsbil7aWYoZT0rZSx0Pj4+PTAsIW4pe3ZhciBmPU1hdGgucG93KDIsOCpyLTEpO2NoZWNrSW50KHRoaXMsZSx0LHIsZi0xLC1mKX12YXIgaT1yLTEsbz0xLHU9MDtmb3IodGhpc1t0K2ldPTI1NSZlOy0taT49MCYmKG8qPTI1Nik7KWU8MCYmMD09PXUmJjAhPT10aGlzW3QraSsxXSYmKHU9MSksdGhpc1t0K2ldPShlL28+PjApLXUmMjU1O3JldHVybiB0K3J9LEJ1ZmZlci5wcm90b3R5cGUud3JpdGVJbnQ4PWZ1bmN0aW9uKGUsdCxyKXtyZXR1cm4gZT0rZSx0Pj4+PTAscnx8Y2hlY2tJbnQodGhpcyxlLHQsMSwxMjcsLTEyOCksZTwwJiYoZT0yNTUrZSsxKSx0aGlzW3RdPTI1NSZlLHQrMX0sQnVmZmVyLnByb3RvdHlwZS53cml0ZUludDE2TEU9ZnVuY3Rpb24oZSx0LHIpe3JldHVybiBlPStlLHQ+Pj49MCxyfHxjaGVja0ludCh0aGlzLGUsdCwyLDMyNzY3LC0zMjc2OCksdGhpc1t0XT0yNTUmZSx0aGlzW3QrMV09ZT4+PjgsdCsyfSxCdWZmZXIucHJvdG90eXBlLndyaXRlSW50MTZCRT1mdW5jdGlvbihlLHQscil7cmV0dXJuIGU9K2UsdD4+Pj0wLHJ8fGNoZWNrSW50KHRoaXMsZSx0LDIsMzI3NjcsLTMyNzY4KSx0aGlzW3RdPWU+Pj44LHRoaXNbdCsxXT0yNTUmZSx0KzJ9LEJ1ZmZlci5wcm90b3R5cGUud3JpdGVJbnQzMkxFPWZ1bmN0aW9uKGUsdCxyKXtyZXR1cm4gZT0rZSx0Pj4+PTAscnx8Y2hlY2tJbnQodGhpcyxlLHQsNCwyMTQ3NDgzNjQ3LC0yMTQ3NDgzNjQ4KSx0aGlzW3RdPTI1NSZlLHRoaXNbdCsxXT1lPj4+OCx0aGlzW3QrMl09ZT4+PjE2LHRoaXNbdCszXT1lPj4+MjQsdCs0fSxCdWZmZXIucHJvdG90eXBlLndyaXRlSW50MzJCRT1mdW5jdGlvbihlLHQscil7cmV0dXJuIGU9K2UsdD4+Pj0wLHJ8fGNoZWNrSW50KHRoaXMsZSx0LDQsMjE0NzQ4MzY0NywtMjE0NzQ4MzY0OCksZTwwJiYoZT00Mjk0OTY3Mjk1K2UrMSksdGhpc1t0XT1lPj4+MjQsdGhpc1t0KzFdPWU+Pj4xNix0aGlzW3QrMl09ZT4+PjgsdGhpc1t0KzNdPTI1NSZlLHQrNH0sQnVmZmVyLnByb3RvdHlwZS53cml0ZUZsb2F0TEU9ZnVuY3Rpb24oZSx0LHIpe3JldHVybiB3cml0ZUZsb2F0KHRoaXMsZSx0LCEwLHIpfSxCdWZmZXIucHJvdG90eXBlLndyaXRlRmxvYXRCRT1mdW5jdGlvbihlLHQscil7cmV0dXJuIHdyaXRlRmxvYXQodGhpcyxlLHQsITEscil9LEJ1ZmZlci5wcm90b3R5cGUud3JpdGVEb3VibGVMRT1mdW5jdGlvbihlLHQscil7cmV0dXJuIHdyaXRlRG91YmxlKHRoaXMsZSx0LCEwLHIpfSxCdWZmZXIucHJvdG90eXBlLndyaXRlRG91YmxlQkU9ZnVuY3Rpb24oZSx0LHIpe3JldHVybiB3cml0ZURvdWJsZSh0aGlzLGUsdCwhMSxyKX0sQnVmZmVyLnByb3RvdHlwZS5jb3B5PWZ1bmN0aW9uKGUsdCxyLG4pe2lmKCFCdWZmZXIuaXNCdWZmZXIoZSkpdGhyb3cgbmV3IFR5cGVFcnJvcihcImFyZ3VtZW50IHNob3VsZCBiZSBhIEJ1ZmZlclwiKTtpZihyfHwocj0wKSxufHwwPT09bnx8KG49dGhpcy5sZW5ndGgpLHQ+PWUubGVuZ3RoJiYodD1lLmxlbmd0aCksdHx8KHQ9MCksbj4wJiZuPHImJihuPXIpLG49PT1yKXJldHVybiAwO2lmKDA9PT1lLmxlbmd0aHx8MD09PXRoaXMubGVuZ3RoKXJldHVybiAwO2lmKHQ8MCl0aHJvdyBuZXcgUmFuZ2VFcnJvcihcInRhcmdldFN0YXJ0IG91dCBvZiBib3VuZHNcIik7aWYocjwwfHxyPj10aGlzLmxlbmd0aCl0aHJvdyBuZXcgUmFuZ2VFcnJvcihcIkluZGV4IG91dCBvZiByYW5nZVwiKTtpZihuPDApdGhyb3cgbmV3IFJhbmdlRXJyb3IoXCJzb3VyY2VFbmQgb3V0IG9mIGJvdW5kc1wiKTtuPnRoaXMubGVuZ3RoJiYobj10aGlzLmxlbmd0aCksZS5sZW5ndGgtdDxuLXImJihuPWUubGVuZ3RoLXQrcik7dmFyIGY9bi1yO2lmKHRoaXM9PT1lJiZcImZ1bmN0aW9uXCI9PXR5cGVvZiBVaW50OEFycmF5LnByb3RvdHlwZS5jb3B5V2l0aGluKXRoaXMuY29weVdpdGhpbih0LHIsbik7ZWxzZSBpZih0aGlzPT09ZSYmcjx0JiZ0PG4pZm9yKHZhciBpPWYtMTtpPj0wOy0taSllW2krdF09dGhpc1tpK3JdO2Vsc2UgVWludDhBcnJheS5wcm90b3R5cGUuc2V0LmNhbGwoZSx0aGlzLnN1YmFycmF5KHIsbiksdCk7cmV0dXJuIGZ9LEJ1ZmZlci5wcm90b3R5cGUuZmlsbD1mdW5jdGlvbihlLHQscixuKXtpZihcInN0cmluZ1wiPT10eXBlb2YgZSl7aWYoXCJzdHJpbmdcIj09dHlwZW9mIHQ/KG49dCx0PTAscj10aGlzLmxlbmd0aCk6XCJzdHJpbmdcIj09dHlwZW9mIHImJihuPXIscj10aGlzLmxlbmd0aCksdm9pZCAwIT09biYmXCJzdHJpbmdcIiE9dHlwZW9mIG4pdGhyb3cgbmV3IFR5cGVFcnJvcihcImVuY29kaW5nIG11c3QgYmUgYSBzdHJpbmdcIik7aWYoXCJzdHJpbmdcIj09dHlwZW9mIG4mJiFCdWZmZXIuaXNFbmNvZGluZyhuKSl0aHJvdyBuZXcgVHlwZUVycm9yKFwiVW5rbm93biBlbmNvZGluZzogXCIrbik7aWYoMT09PWUubGVuZ3RoKXt2YXIgZj1lLmNoYXJDb2RlQXQoMCk7KFwidXRmOFwiPT09biYmZjwxMjh8fFwibGF0aW4xXCI9PT1uKSYmKGU9Zil9fWVsc2VcIm51bWJlclwiPT10eXBlb2YgZSYmKGUmPTI1NSk7aWYodDwwfHx0aGlzLmxlbmd0aDx0fHx0aGlzLmxlbmd0aDxyKXRocm93IG5ldyBSYW5nZUVycm9yKFwiT3V0IG9mIHJhbmdlIGluZGV4XCIpO2lmKHI8PXQpcmV0dXJuIHRoaXM7dmFyIGk7aWYodD4+Pj0wLHI9dm9pZCAwPT09cj90aGlzLmxlbmd0aDpyPj4+MCxlfHwoZT0wKSxcIm51bWJlclwiPT10eXBlb2YgZSlmb3IoaT10O2k8cjsrK2kpdGhpc1tpXT1lO2Vsc2V7dmFyIG89QnVmZmVyLmlzQnVmZmVyKGUpP2U6QnVmZmVyLmZyb20oZSxuKSx1PW8ubGVuZ3RoO2lmKDA9PT11KXRocm93IG5ldyBUeXBlRXJyb3IoJ1RoZSB2YWx1ZSBcIicrZSsnXCIgaXMgaW52YWxpZCBmb3IgYXJndW1lbnQgXCJ2YWx1ZVwiJyk7Zm9yKGk9MDtpPHItdDsrK2kpdGhpc1tpK3RdPW9baSV1XX1yZXR1cm4gdGhpc307dmFyIElOVkFMSURfQkFTRTY0X1JFPS9bXisvMC05QS1aYS16LV9dL2c7ZnVuY3Rpb24gYmFzZTY0Y2xlYW4oZSl7aWYoKGU9KGU9ZS5zcGxpdChcIj1cIilbMF0pLnRyaW0oKS5yZXBsYWNlKElOVkFMSURfQkFTRTY0X1JFLFwiXCIpKS5sZW5ndGg8MilyZXR1cm5cIlwiO2Zvcig7ZS5sZW5ndGglNCE9MDspZSs9XCI9XCI7cmV0dXJuIGV9ZnVuY3Rpb24gdG9IZXgoZSl7cmV0dXJuIGU8MTY/XCIwXCIrZS50b1N0cmluZygxNik6ZS50b1N0cmluZygxNil9ZnVuY3Rpb24gdXRmOFRvQnl0ZXMoZSx0KXt2YXIgcjt0PXR8fDEvMDtmb3IodmFyIG49ZS5sZW5ndGgsZj1udWxsLGk9W10sbz0wO288bjsrK28pe2lmKChyPWUuY2hhckNvZGVBdChvKSk+NTUyOTUmJnI8NTczNDQpe2lmKCFmKXtpZihyPjU2MzE5KXsodC09Myk+LTEmJmkucHVzaCgyMzksMTkxLDE4OSk7Y29udGludWV9aWYobysxPT09bil7KHQtPTMpPi0xJiZpLnB1c2goMjM5LDE5MSwxODkpO2NvbnRpbnVlfWY9cjtjb250aW51ZX1pZihyPDU2MzIwKXsodC09Myk+LTEmJmkucHVzaCgyMzksMTkxLDE4OSksZj1yO2NvbnRpbnVlfXI9NjU1MzYrKGYtNTUyOTY8PDEwfHItNTYzMjApfWVsc2UgZiYmKHQtPTMpPi0xJiZpLnB1c2goMjM5LDE5MSwxODkpO2lmKGY9bnVsbCxyPDEyOCl7aWYoKHQtPTEpPDApYnJlYWs7aS5wdXNoKHIpfWVsc2UgaWYocjwyMDQ4KXtpZigodC09Mik8MClicmVhaztpLnB1c2gocj4+NnwxOTIsNjMmcnwxMjgpfWVsc2UgaWYocjw2NTUzNil7aWYoKHQtPTMpPDApYnJlYWs7aS5wdXNoKHI+PjEyfDIyNCxyPj42JjYzfDEyOCw2MyZyfDEyOCl9ZWxzZXtpZighKHI8MTExNDExMikpdGhyb3cgbmV3IEVycm9yKFwiSW52YWxpZCBjb2RlIHBvaW50XCIpO2lmKCh0LT00KTwwKWJyZWFrO2kucHVzaChyPj4xOHwyNDAscj4+MTImNjN8MTI4LHI+PjYmNjN8MTI4LDYzJnJ8MTI4KX19cmV0dXJuIGl9ZnVuY3Rpb24gYXNjaWlUb0J5dGVzKGUpe2Zvcih2YXIgdD1bXSxyPTA7cjxlLmxlbmd0aDsrK3IpdC5wdXNoKDI1NSZlLmNoYXJDb2RlQXQocikpO3JldHVybiB0fWZ1bmN0aW9uIHV0ZjE2bGVUb0J5dGVzKGUsdCl7Zm9yKHZhciByLG4sZixpPVtdLG89MDtvPGUubGVuZ3RoJiYhKCh0LT0yKTwwKTsrK28pbj0ocj1lLmNoYXJDb2RlQXQobykpPj44LGY9ciUyNTYsaS5wdXNoKGYpLGkucHVzaChuKTtyZXR1cm4gaX1mdW5jdGlvbiBiYXNlNjRUb0J5dGVzKGUpe3JldHVybiBiYXNlNjQudG9CeXRlQXJyYXkoYmFzZTY0Y2xlYW4oZSkpfWZ1bmN0aW9uIGJsaXRCdWZmZXIoZSx0LHIsbil7Zm9yKHZhciBmPTA7ZjxuJiYhKGYrcj49dC5sZW5ndGh8fGY+PWUubGVuZ3RoKTsrK2YpdFtmK3JdPWVbZl07cmV0dXJuIGZ9ZnVuY3Rpb24gaXNJbnN0YW5jZShlLHQpe3JldHVybiBlIGluc3RhbmNlb2YgdHx8bnVsbCE9ZSYmbnVsbCE9ZS5jb25zdHJ1Y3RvciYmbnVsbCE9ZS5jb25zdHJ1Y3Rvci5uYW1lJiZlLmNvbnN0cnVjdG9yLm5hbWU9PT10Lm5hbWV9ZnVuY3Rpb24gbnVtYmVySXNOYU4oZSl7cmV0dXJuIGUhPWV9XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJbWx1WkdWNExtcHpJbDBzSW01aGJXVnpJanBiSW1KaGMyVTJOQ0lzSW5KbGNYVnBjbVVpTENKcFpXVmxOelUwSWl3aVpYaHdiM0owY3lJc0lrSjFabVpsY2lJc0lsTnNiM2RDZFdabVpYSWlMQ0pKVGxOUVJVTlVYMDFCV0Y5Q1dWUkZVeUlzSWt0ZlRVRllYMHhGVGtkVVNDSXNJblI1Y0dWa1FYSnlZWGxUZFhCd2IzSjBJaXdpWVhKeUlpd2lWV2x1ZERoQmNuSmhlU0lzSWw5ZmNISnZkRzlmWHlJc0luQnliM1J2ZEhsd1pTSXNJbVp2YnlJc0ltVWlMQ0pqY21WaGRHVkNkV1ptWlhJaUxDSnNaVzVuZEdnaUxDSlNZVzVuWlVWeWNtOXlJaXdpWW5WbUlpd2lZWEpuSWl3aVpXNWpiMlJwYm1kUGNrOW1abk5sZENJc0lsUjVjR1ZGY25KdmNpSXNJbUZzYkc5alZXNXpZV1psSWl3aVpuSnZiU0lzSW5aaGJIVmxJaXdpWm5KdmJWTjBjbWx1WnlJc0lrRnljbUY1UW5WbVptVnlJaXdpYVhOV2FXVjNJaXdpWm5KdmJVRnljbUY1VEdsclpTSXNJbWx6U1c1emRHRnVZMlVpTENKaWRXWm1aWElpTENKbWNtOXRRWEp5WVhsQ2RXWm1aWElpTENKMllXeDFaVTltSWl3aVlpSXNJbVp5YjIxUFltcGxZM1FpTENKVGVXMWliMndpTENKMGIxQnlhVzFwZEdsMlpTSXNJbUZ6YzJWeWRGTnBlbVVpTENKemFYcGxJaXdpWVd4c2IyTWlMQ0ptYVd4c0lpd2laVzVqYjJScGJtY2lMQ0oxYm1SbFptbHVaV1FpTENKamFHVmphMlZrSWl3aWMzUnlhVzVuSWl3aWFYTkZibU52WkdsdVp5SXNJbUo1ZEdWTVpXNW5kR2dpTENKaFkzUjFZV3dpTENKM2NtbDBaU0lzSW5Oc2FXTmxJaXdpWVhKeVlYa2lMQ0pwSWl3aVlubDBaVTltWm5ObGRDSXNJbTlpYWlJc0ltbHpRblZtWm1WeUlpd2liR1Z1SWl3aVkyOXdlU0lzSW01MWJXSmxja2x6VG1GT0lpd2lkSGx3WlNJc0lrRnljbUY1SWl3aWFYTkJjbkpoZVNJc0ltUmhkR0VpTENKMGIxTjBjbWx1WnlJc0ltMTFjM1JOWVhSamFDSXNJbUZ5WjNWdFpXNTBjeUlzSW14dmQyVnlaV1JEWVhObElpd2lkWFJtT0ZSdlFubDBaWE1pTENKaVlYTmxOalJVYjBKNWRHVnpJaXdpZEc5TWIzZGxja05oYzJVaUxDSnpiRzkzVkc5VGRISnBibWNpTENKemRHRnlkQ0lzSW1WdVpDSXNJblJvYVhNaUxDSm9aWGhUYkdsalpTSXNJblYwWmpoVGJHbGpaU0lzSW1GelkybHBVMnhwWTJVaUxDSnNZWFJwYmpGVGJHbGpaU0lzSW1KaGMyVTJORk5zYVdObElpd2lkWFJtTVRac1pWTnNhV05sSWl3aWMzZGhjQ0lzSW00aUxDSnRJaXdpWW1sa2FYSmxZM1JwYjI1aGJFbHVaR1Y0VDJZaUxDSjJZV3dpTENKa2FYSWlMQ0poY25KaGVVbHVaR1Y0VDJZaUxDSnBibVJsZUU5bUlpd2lZMkZzYkNJc0lteGhjM1JKYm1SbGVFOW1JaXdpYVc1a1pYaFRhWHBsSWl3aVlYSnlUR1Z1WjNSb0lpd2lkbUZzVEdWdVozUm9JaXdpVTNSeWFXNW5JaXdpY21WaFpDSXNJbkpsWVdSVlNXNTBNVFpDUlNJc0ltWnZkVzVrU1c1a1pYZ2lMQ0ptYjNWdVpDSXNJbW9pTENKb1pYaFhjbWwwWlNJc0ltOW1abk5sZENJc0lrNTFiV0psY2lJc0luSmxiV0ZwYm1sdVp5SXNJbk4wY2t4bGJpSXNJbkJoY25ObFpDSXNJbkJoY25ObFNXNTBJaXdpYzNWaWMzUnlJaXdpZFhSbU9GZHlhWFJsSWl3aVlteHBkRUoxWm1abGNpSXNJbUZ6WTJscFYzSnBkR1VpTENKaGMyTnBhVlJ2UW5sMFpYTWlMQ0pzWVhScGJqRlhjbWwwWlNJc0ltSmhjMlUyTkZkeWFYUmxJaXdpZFdOek1sZHlhWFJsSWl3aWRYUm1NVFpzWlZSdlFubDBaWE1pTENKbWNtOXRRbmwwWlVGeWNtRjVJaXdpVFdGMGFDSXNJbTFwYmlJc0luSmxjeUlzSW5ObFkyOXVaRUo1ZEdVaUxDSjBhR2x5WkVKNWRHVWlMQ0ptYjNWeWRHaENlWFJsSWl3aWRHVnRjRU52WkdWUWIybHVkQ0lzSW1acGNuTjBRbmwwWlNJc0ltTnZaR1ZRYjJsdWRDSXNJbUo1ZEdWelVHVnlVMlZ4ZFdWdVkyVWlMQ0p3ZFhOb0lpd2laR1ZqYjJSbFEyOWtaVkJ2YVc1MGMwRnljbUY1SWl3aWEwMWhlRXhsYm1kMGFDSXNJbFJaVUVWRVgwRlNVa0ZaWDFOVlVGQlBVbFFpTENKamIyNXpiMnhsSWl3aVpYSnliM0lpTENKUFltcGxZM1FpTENKa1pXWnBibVZRY205d1pYSjBlU0lzSW1WdWRXMWxjbUZpYkdVaUxDSm5aWFFpTENKemNHVmphV1Z6SWl3aVkyOXVabWxuZFhKaFlteGxJaXdpZDNKcGRHRmliR1VpTENKd2IyOXNVMmw2WlNJc0ltRnNiRzlqVlc1ellXWmxVMnh2ZHlJc0lsOXBjMEoxWm1abGNpSXNJbU52YlhCaGNtVWlMQ0poSWl3aWVDSXNJbmtpTENKamIyNWpZWFFpTENKc2FYTjBJaXdpY0c5eklpd2ljM2RoY0RFMklpd2ljM2RoY0RNeUlpd2ljM2RoY0RZMElpd2lZWEJ3YkhraUxDSjBiMHh2WTJGc1pWTjBjbWx1WnlJc0ltVnhkV0ZzY3lJc0ltbHVjM0JsWTNRaUxDSnpkSElpTENKdFlYZ2lMQ0p5WlhCc1lXTmxJaXdpZEhKcGJTSXNJblJoY21kbGRDSXNJblJvYVhOVGRHRnlkQ0lzSW5Sb2FYTkZibVFpTENKMGFHbHpRMjl3ZVNJc0luUmhjbWRsZEVOdmNIa2lMQ0pwYm1Oc2RXUmxjeUlzSW1selJtbHVhWFJsSWl3aVJYSnliM0lpTENKMGIwcFRUMDRpTENKZllYSnlJaXdpVFVGWVgwRlNSMVZOUlU1VVUxOU1SVTVIVkVnaUxDSmpiMlJsVUc5cGJuUnpJaXdpWm5KdmJVTm9ZWEpEYjJSbElpd2ljbVYwSWl3aWIzVjBJaXdpZEc5SVpYZ2lMQ0ppZVhSbGN5SXNJbU5vWldOclQyWm1jMlYwSWl3aVpYaDBJaXdpWTJobFkydEpiblFpTENKamFHVmphMGxGUlVVM05UUWlMQ0ozY21sMFpVWnNiMkYwSWl3aWJHbDBkR3hsUlc1a2FXRnVJaXdpYm05QmMzTmxjblFpTENKM2NtbDBaVVJ2ZFdKc1pTSXNJbTVsZDBKMVppSXNJbk4xWW1GeWNtRjVJaXdpY21WaFpGVkpiblJNUlNJc0ltMTFiQ0lzSW5KbFlXUlZTVzUwUWtVaUxDSnlaV0ZrVlVsdWREZ2lMQ0p5WldGa1ZVbHVkREUyVEVVaUxDSnlaV0ZrVlVsdWRETXlURVVpTENKeVpXRmtWVWx1ZERNeVFrVWlMQ0p5WldGa1NXNTBURVVpTENKd2IzY2lMQ0p5WldGa1NXNTBRa1VpTENKeVpXRmtTVzUwT0NJc0luSmxZV1JKYm5ReE5reEZJaXdpY21WaFpFbHVkREUyUWtVaUxDSnlaV0ZrU1c1ME16Sk1SU0lzSW5KbFlXUkpiblF6TWtKRklpd2ljbVZoWkVac2IyRjBURVVpTENKeVpXRmtSbXh2WVhSQ1JTSXNJbkpsWVdSRWIzVmliR1ZNUlNJc0luSmxZV1JFYjNWaWJHVkNSU0lzSW5keWFYUmxWVWx1ZEV4Rklpd2lkM0pwZEdWVlNXNTBRa1VpTENKM2NtbDBaVlZKYm5RNElpd2lkM0pwZEdWVlNXNTBNVFpNUlNJc0luZHlhWFJsVlVsdWRERTJRa1VpTENKM2NtbDBaVlZKYm5Rek1reEZJaXdpZDNKcGRHVlZTVzUwTXpKQ1JTSXNJbmR5YVhSbFNXNTBURVVpTENKc2FXMXBkQ0lzSW5OMVlpSXNJbmR5YVhSbFNXNTBRa1VpTENKM2NtbDBaVWx1ZERnaUxDSjNjbWwwWlVsdWRERTJURVVpTENKM2NtbDBaVWx1ZERFMlFrVWlMQ0ozY21sMFpVbHVkRE15VEVVaUxDSjNjbWwwWlVsdWRETXlRa1VpTENKM2NtbDBaVVpzYjJGMFRFVWlMQ0ozY21sMFpVWnNiMkYwUWtVaUxDSjNjbWwwWlVSdmRXSnNaVXhGSWl3aWQzSnBkR1ZFYjNWaWJHVkNSU0lzSW5SaGNtZGxkRk4wWVhKMElpd2lZMjl3ZVZkcGRHaHBiaUlzSW5ObGRDSXNJbU52WkdVaUxDSmphR0Z5UTI5a1pVRjBJaXdpU1U1V1FVeEpSRjlDUVZORk5qUmZVa1VpTENKaVlYTmxOalJqYkdWaGJpSXNJbk53YkdsMElpd2lkVzVwZEhNaUxDSkpibVpwYm1sMGVTSXNJbXhsWVdSVGRYSnliMmRoZEdVaUxDSmllWFJsUVhKeVlYa2lMQ0pqSWl3aWFHa2lMQ0pzYnlJc0luUnZRbmwwWlVGeWNtRjVJaXdpYzNKaklpd2laSE4wSWl3aVkyOXVjM1J5ZFdOMGIzSWlMQ0p1WVcxbElsMHNJbTFoY0hCcGJtZHpJam9pUVVGUlFTeGhRVVZCTEVsQlFVbEJMRTlCUVZORExGRkJRVkVzWVVGRGFrSkRMRkZCUVZWRUxGRkJRVkVzVjBGRmRFSkZMRkZCUVZGRExFOUJRVk5CTEU5QlEycENSQ3hSUVVGUlJTeFhRVUZoUVN4WFFVTnlRa1lzVVVGQlVVY3NhMEpCUVc5Q0xFZEJSVFZDTEVsQlFVbERMR0ZCUVdVc1YwRXlRbTVDTEZOQlFWTkRMRzlDUVVWUUxFbEJRMFVzU1VGQlNVTXNSVUZCVFN4SlFVRkpReXhYUVVGWExFZEJSWHBDTEU5QlJFRkVMRVZCUVVsRkxGVkJRVmtzUTBGQlJVRXNWVUZCVjBRc1YwRkJWMFVzVlVGQlYwTXNTVUZCU3l4WFFVRmpMRTlCUVU4c1MwRkRlRVFzUzBGQlpFb3NSVUZCU1Vrc1RVRkRXQ3hOUVVGUFF5eEhRVU5RTEU5QlFVOHNSMEZ2UWxnc1UwRkJVME1zWVVGQlkwTXNSMEZEY2tJc1IwRkJTVUVzUlVGQlUxUXNZVUZEV0N4TlFVRk5MRWxCUVVsVkxGZEJRVmNzWTBGQlowSkVMRVZCUVZNc2EwTkJSMmhFTEVsQlFVbEZMRVZCUVUwc1NVRkJTVklzVjBGQlYwMHNSMEZGZWtJc1QwRkVRVVVzUlVGQlNWQXNWVUZCV1ZBc1QwRkJUMUVzVlVGRGFFSk5MRVZCWVZRc1UwRkJVMlFzVDBGQlVXVXNSVUZCUzBNc1JVRkJhMEpLTEVkQlJYUkRMRWRCUVcxQ0xHbENRVUZTUnl4RlFVRnJRaXhEUVVNelFpeEhRVUZuUXl4cFFrRkJja0pETEVWQlExUXNUVUZCVFN4SlFVRkpReXhWUVVOU0xITkZRVWRLTEU5QlFVOURMRmxCUVZsSUxFZEJSWEpDTEU5QlFVOUpMRXRCUVV0S0xFVkJRVXRETEVWQlFXdENTaXhIUVdkQ2NrTXNVMEZCVTA4c1MwRkJUVU1zUlVGQlQwb3NSVUZCYTBKS0xFZEJRM1JETEVkQlFYRkNMR2xDUVVGV1VTeEZRVU5VTEU5QlFVOURMRmRCUVZkRUxFVkJRVTlLTEVkQlJ6TkNMRWRCUVVsTkxGbEJRVmxETEU5QlFVOUlMRWRCUTNKQ0xFOUJRVTlKTEdOQlFXTktMRWRCUjNaQ0xFZEJRV0VzVFVGQlZFRXNSVUZEUml4TlFVRk5TQ3hWUVVOS0xIbElRVU5wUkVjc1IwRkpja1FzUjBGQlNVc3NWMEZCVjB3c1JVRkJUMFVzWTBGRGFrSkdMRWRCUVZOTExGZEJRVmRNTEVWQlFVMU5MRTlCUVZGS0xHRkJRM0pETEU5QlFVOUxMR2RDUVVGblFsQXNSVUZCVDBvc1JVRkJhMEpLTEVkQlIyeEVMRWRCUVhGQ0xHbENRVUZXVVN4RlFVTlVMRTFCUVUwc1NVRkJTVWdzVlVGRFVpeDVSVUZKU2l4SlFVRkpWeXhGUVVGVlVpeEZRVUZOVVN4VFFVRlhVaXhGUVVGTlVTeFZRVU55UXl4SFFVRmxMRTFCUVZoQkxFZEJRVzFDUVN4SlFVRlpVaXhGUVVOcVF5eFBRVUZQY0VJc1QwRkJUMjFDTEV0QlFVdFRMRVZCUVZOYUxFVkJRV3RDU2l4SFFVZG9SQ3hKUVVGSmFVSXNSVUZCU1VNc1YwRkJWMVlzUjBGRGJrSXNSMEZCU1ZNc1JVRkJSeXhQUVVGUFFTeEZRVVZrTEVkQlFYTkNMRzlDUVVGWVJTeFJRVUZuUkN4TlFVRjBRa0VzVDBGQlQwTXNZVUZEU0N4dFFrRkJPVUphTEVWQlFVMVhMRTlCUVU5RExHRkJRM1JDTEU5QlFVOW9ReXhQUVVGUGJVSXNTMEZEV2tNc1JVRkJUVmNzVDBGQlQwTXNZVUZCWVN4VlFVRlhhRUlzUlVGQmEwSktMRWRCU1RORUxFMUJRVTBzU1VGQlNVc3NWVUZEVWl4NVNFRkRhVVJITEVkQmNVSnlSQ3hUUVVGVFlTeFhRVUZaUXl4SFFVTnVRaXhIUVVGdlFpeHBRa0ZCVkVFc1JVRkRWQ3hOUVVGTkxFbEJRVWxxUWl4VlFVRlZMREJEUVVObUxFZEJRVWxwUWl4RlFVRlBMRVZCUTJoQ0xFMUJRVTBzU1VGQlNYSkNMRmRCUVZjc1kwRkJaMEp4UWl4RlFVRlBMR3REUVVsb1JDeFRRVUZUUXl4TlFVRlBSQ3hGUVVGTlJTeEZRVUZOUXl4SFFVVXhRaXhQUVVSQlNpeFhRVUZYUXl4SFFVTlFRU3hIUVVGUkxFVkJRMGgyUWl4aFFVRmhkVUlzVVVGRlZFa3NTVUZCVkVZc1JVRkplVUlzYVVKQlFXSkRMRVZCUTFZeFFpeGhRVUZoZFVJc1IwRkJUVVVzUzBGQlMwRXNSVUZCVFVNc1IwRkRPVUl4UWl4aFFVRmhkVUlzUjBGQlRVVXNTMEZCUzBFc1IwRkZka0o2UWl4aFFVRmhkVUlzUjBGWGRFSXNVMEZCVTJoQ0xGbEJRV0ZuUWl4SFFVVndRaXhQUVVSQlJDeFhRVUZYUXl4SFFVTktka0lzWVVGQllYVkNMRVZCUVU4c1JVRkJTU3hGUVVGdlFpeEZRVUZvUWtzc1VVRkJVVXdzU1VGblFqZERMRk5CUVZOaUxGZEJRVmx0UWl4RlFVRlJTQ3hIUVVzelFpeEhRVXAzUWl4cFFrRkJZa0VzUjBGQmMwTXNTMEZCWWtFc1NVRkRiRU5CTEVWQlFWY3NVMEZIVW5KRExFOUJRVTk1UXl4WFFVRlhTaXhIUVVOeVFpeE5RVUZOTEVsQlFVbHdRaXhWUVVGVkxIRkNRVUYxUW05Q0xFZEJSemRETEVsQlFVbDZRaXhGUVVGM1F5eEZRVUV2UWpoQ0xGZEJRVmRHTEVWQlFWRklMRWRCUXpWQ2RrSXNSVUZCVFVnc1lVRkJZVU1zUjBGRmJrSXJRaXhGUVVGVE4wSXNSVUZCU1RoQ0xFMUJRVTFLTEVWQlFWRklMRWRCVXk5Q0xFOUJVRWxOTEVsQlFWY3ZRaXhKUVVsaVJTeEZRVUZOUVN4RlFVRkpLMElzVFVGQlRTeEZRVUZIUml4SlFVZGtOMElzUlVGSFZDeFRRVUZUVlN4alFVRmxjMElzUjBGSGRFSXNTVUZHUVN4SlFVRkpiRU1zUlVGQlUydERMRVZCUVUxc1F5eFBRVUZUTEVWQlFVa3NSVUZCTkVJc1JVRkJlRUl5UWl4UlFVRlJUeXhGUVVGTmJFTXNVVUZET1VORkxFVkJRVTFJTEdGQlFXRkRMRWRCUTJSdFF5eEZRVUZKTEVWQlFVZEJMRVZCUVVsdVF5eEZRVUZSYlVNc1IwRkJTeXhGUVVNdlFtcERMRVZCUVVscFF5eEhRVUZuUWl4SlFVRllSQ3hGUVVGTlF5eEhRVVZxUWl4UFFVRlBha01zUlVGSFZDeFRRVUZUWVN4blFrRkJhVUp0UWl4RlFVRlBSU3hGUVVGWmNFTXNSMEZETTBNc1IwRkJTVzlETEVWQlFXRXNSMEZCUzBZc1JVRkJUVW9zVjBGQllVMHNSVUZEZGtNc1RVRkJUU3hKUVVGSmJrTXNWMEZCVnl4M1EwRkhka0lzUjBGQlNXbERMRVZCUVUxS0xGZEJRV0ZOTEVkQlFXTndReXhIUVVGVkxFZEJRemRETEUxQlFVMHNTVUZCU1VNc1YwRkJWeXgzUTBGSGRrSXNTVUZCU1VNc1JVRlhTaXhQUVZSRlFTeFBRVVJwUW5kQ0xFbEJRV1pWTEZGQlFYVkRWaXhKUVVGWU1VSXNSVUZEZUVJc1NVRkJTVTRzVjBGQlYzZERMRkZCUTBSU0xFbEJRVmd4UWl4RlFVTklMRWxCUVVsT0xGZEJRVmQzUXl4RlFVRlBSU3hIUVVWMFFpeEpRVUZKTVVNc1YwRkJWM2RETEVWQlFVOUZMRVZCUVZsd1F5eEpRVWwwUTB3c1ZVRkJXVkFzVDBGQlQxRXNWVUZEYUVKTkxFVkJSMVFzVTBGQlUyZENMRmRCUVZsdFFpeEhRVU51UWl4SFFVRkpha1FzVDBGQlQydEVMRk5CUVZORUxFZEJRVTBzUTBGRGVFSXNTVUZCU1VVc1JVRkJORUlzUlVGQmRFSmFMRkZCUVZGVkxFVkJRVWx5UXl4UlFVTnNRa1VzUlVGQlRVZ3NZVUZCWVhkRExFZEJSWFpDTEU5QlFXMUNMRWxCUVdaeVF5eEZRVUZKUml4UFFVTkRSU3hIUVVkVWJVTXNSVUZCU1Vjc1MwRkJTM1JETEVWQlFVc3NSVUZCUnl4RlFVRkhjVU1zUjBGRFluSkRMRWRCUjFRc1dVRkJiVUozUWl4SlFVRm1WeXhGUVVGSmNrTXNUMEZEYjBJc2FVSkJRV1p4UXl4RlFVRkpja01zVVVGQmRVSjVReXhaUVVGWlNpeEZRVUZKY2tNc1VVRkROME5FTEdGQlFXRXNSMEZGWm1Fc1kwRkJZM2xDTEVkQlIwNHNWMEZCWWtFc1JVRkJTVXNzVFVGQmNVSkRMRTFCUVUxRExGRkJRVkZRTEVWQlFVbFJMRTFCUTNSRGFrTXNZMEZCWTNsQ0xFVkJRVWxSTEZkQlJETkNMRVZCUzBZc1UwRkJVMnhDTEZGQlFWTXpRaXhIUVVkb1FpeEhRVUZKUVN4SFFVRlZWQ3hoUVVOYUxFMUJRVTBzU1VGQlNWVXNWMEZCVnl3d1JFRkRZVllzWVVGQllYVkVMRk5CUVZNc1NVRkJUU3hWUVVWb1JTeFBRVUZuUWl4RlFVRlVPVU1zUlVGSFZDeFRRVUZUV0N4WFFVRlpWeXhIUVVsdVFpeFBRVWhMUVN4SFFVRlZRU3hKUVVOaVFTeEZRVUZUTEVkQlJVcGFMRTlCUVU5dFF5eFBRVUZQZGtJc1IwRjFSblpDTEZOQlFWTTRRaXhYUVVGWlJpeEZRVUZSU0N4SFFVTXpRaXhIUVVGSmNrTXNUMEZCVDJ0RUxGTkJRVk5XTEVkQlEyeENMRTlCUVU5QkxFVkJRVTgxUWl4UFFVVm9RaXhIUVVGSlZTeFpRVUZaUXl4UFFVRlBhVUlzU1VGQlYyWXNWMEZCVjJVc1JVRkJVV3hDTEdGQlEyNUVMRTlCUVU5clFpeEZRVUZQUlN4WFFVVm9RaXhIUVVGelFpeHBRa0ZCV0VZc1JVRkRWQ3hOUVVGTkxFbEJRVWwyUWl4VlFVTlNMR3RIUVVNd1FuVkNMRWRCU1RsQ0xFbEJRVWxYTEVWQlFVMVlMRVZCUVU4MVFpeFBRVU5pSzBNc1JVRkJZVU1zVlVGQlZXaEVMRTlCUVZNc1NVRkJjMElzU1VGQmFrSm5SQ3hWUVVGVkxFZEJRMjVFTEVsQlFVdEVMRWRCUVhGQ0xFbEJRVkpTTEVWQlFWY3NUMEZCVHl4RlFVbHdReXhKUVVSQkxFbEJRVWxWTEVkQlFXTXNTVUZGYUVJc1QwRkJVWGhDTEVkQlEwNHNTVUZCU3l4UlFVTk1MRWxCUVVzc1UwRkRUQ3hKUVVGTExGTkJRMGdzVDBGQlQyTXNSVUZEVkN4SlFVRkxMRTlCUTB3c1NVRkJTeXhSUVVOSUxFOUJRVTlYTEZsQlFWbDBRaXhIUVVGUk5VSXNUMEZETjBJc1NVRkJTeXhQUVVOTUxFbEJRVXNzVVVGRFRDeEpRVUZMTEZWQlEwd3NTVUZCU3l4WFFVTklMRTlCUVdFc1JVRkJUblZETEVWQlExUXNTVUZCU3l4TlFVTklMRTlCUVU5QkxFbEJRVkVzUlVGRGFrSXNTVUZCU3l4VFFVTklMRTlCUVU5WkxHTkJRV04yUWl4SFFVRlJOVUlzVDBGREwwSXNVVUZEUlN4SFFVRkphVVFzUlVGRFJpeFBRVUZQUml4SFFVRmhMRVZCUVVsSExGbEJRVmwwUWl4SFFVRlJOVUlzVDBGRk9VTjVRaXhIUVVGWkxFZEJRVXRCTEVkQlFWVXlRaXhqUVVNelFrZ3NSMEZCWXl4SFFVMTBRaXhUUVVGVFNTeGhRVUZqTlVJc1JVRkJWVFpDTEVWQlFVOURMRWRCUTNSRExFbEJRVWxPTEVkQlFXTXNSVUZqYkVJc1UwRk1ZM1pDTEVsQlFWWTBRaXhIUVVGMVFrRXNSVUZCVVN4TFFVTnFRMEVzUlVGQlVTeEhRVWxPUVN4RlFVRlJSU3hMUVVGTGVFUXNUMEZEWml4TlFVRlBMRWRCVDFRc1UwRktXVEJDTEVsQlFWSTJRaXhIUVVGeFFrRXNSVUZCVFVNc1MwRkJTM2hFTEZWQlEyeERkVVFzUlVGQlRVTXNTMEZCUzNoRUxGRkJSMVIxUkN4SFFVRlBMRVZCUTFRc1RVRkJUeXhIUVU5VUxFbEJTRUZCTEV0QlFWTXNTMEZEVkVRc1MwRkJWeXhIUVVkVUxFMUJRVThzUjBGTFZDeEpRVVpMTjBJc1NVRkJWVUVzUlVGQlZ5eFZRVWQ0UWl4UFFVRlJRU3hIUVVOT0xFbEJRVXNzVFVGRFNDeFBRVUZQWjBNc1UwRkJVMFFzUzBGQlRVWXNSVUZCVDBNc1IwRkZMMElzU1VGQlN5eFBRVU5NTEVsQlFVc3NVVUZEU0N4UFFVRlBSeXhWUVVGVlJpeExRVUZOUml4RlFVRlBReXhIUVVWb1F5eEpRVUZMTEZGQlEwZ3NUMEZCVDBrc1YwRkJWMGdzUzBGQlRVWXNSVUZCVDBNc1IwRkZha01zU1VGQlN5eFRRVU5NTEVsQlFVc3NVMEZEU0N4UFFVRlBTeXhaUVVGWlNpeExRVUZOUml4RlFVRlBReXhIUVVWc1F5eEpRVUZMTEZOQlEwZ3NUMEZCVDAwc1dVRkJXVXdzUzBGQlRVWXNSVUZCVDBNc1IwRkZiRU1zU1VGQlN5eFBRVU5NTEVsQlFVc3NVVUZEVEN4SlFVRkxMRlZCUTB3c1NVRkJTeXhYUVVOSUxFOUJRVTlQTEdGQlFXRk9MRXRCUVUxR0xFVkJRVTlETEVkQlJXNURMRkZCUTBVc1IwRkJTVTRzUlVGQllTeE5RVUZOTEVsQlFVazFReXhWUVVGVkxIRkNRVUYxUW05Q0xFZEJRelZFUVN4SFFVRlpRU3hGUVVGWExFbEJRVWt5UWl4alFVTXpRa2dzUjBGQll5eEhRV0YwUWl4VFFVRlRZeXhMUVVGTk9VTXNSVUZCUnl0RExFVkJRVWRETEVkQlEyNUNMRWxCUVVrNVFpeEZRVUZKYkVJc1JVRkJSU3RETEVkQlExWXZReXhGUVVGRkswTXNSMEZCU3k5RExFVkJRVVZuUkN4SFFVTlVhRVFzUlVGQlJXZEVMRWRCUVVzNVFpeEZRWGxKVkN4VFFVRlRLMElzY1VKQlFYTkNjRVFzUlVGQlVYRkVMRVZCUVVzdlFpeEZRVUZaV0N4RlFVRlZNa01zUjBGRmFFVXNSMEZCYzBJc1NVRkJiRUowUkN4RlFVRlBaQ3hQUVVGakxFOUJRVkVzUlVGdFFtcERMRWRCYUVJd1FpeHBRa0ZCWm05RExFZEJRMVJZTEVWQlFWZFhMRVZCUTFoQkxFVkJRV0VzUjBGRFNrRXNSVUZCWVN4WFFVTjBRa0VzUlVGQllTeFhRVU5LUVN4SFFVRmpMR0ZCUTNaQ1FTeEhRVUZqTEZsQlIxcExMRmxCUkVwTUxFZEJRV05CTEV0QlIxcEJMRVZCUVdGblF5eEZRVUZOTEVWQlFVdDBSQ3hGUVVGUFpDeFBRVUZUTEVkQlNYUkRiME1zUlVGQllTeEpRVUZIUVN4RlFVRmhkRUlzUlVGQlQyUXNUMEZCVTI5RExFZEJRemREUVN4SFFVRmpkRUlzUlVGQlQyUXNUMEZCVVN4RFFVTXZRaXhIUVVGSmIwVXNSVUZCU3l4UFFVRlJMRVZCUTFwb1F5eEZRVUZoZEVJc1JVRkJUMlFzVDBGQlV5eFBRVU0zUWl4SFFVRkpiME1zUlVGQllTeEZRVUZITEVOQlEzcENMRWxCUVVsblF5eEZRVU5ETEU5QlFWRXNSVUZFU21oRExFVkJRV0VzUlVGVmVFSXNSMEZNYlVJc2FVSkJRVklyUWl4SlFVTlVRU3hGUVVGTkwwVXNUMEZCVDIxQ0xFdEJRVXMwUkN4RlFVRkxNVU1zU1VGSmNrSnlReXhQUVVGUGEwUXNVMEZCVXpaQ0xFZEJSV3hDTEU5QlFXMUNMRWxCUVdaQkxFVkJRVWx1UlN4UlFVTkZMRVZCUlVoeFJTeGhRVUZoZGtRc1JVRkJVWEZFTEVWQlFVc3ZRaXhGUVVGWldDeEZRVUZWTWtNc1IwRkRiRVFzUjBGQmJVSXNhVUpCUVZKRUxFVkJSV2hDTEU5QlJFRkJMRWRCUVZrc1NVRkRaME1zYlVKQlFXcERla1VzVjBGQlYwVXNWVUZCVlRCRkxGRkJRekZDUml4RlFVTkxNVVVzVjBGQlYwVXNWVUZCVlRCRkxGRkJRVkZETEV0QlFVdDZSQ3hGUVVGUmNVUXNSVUZCU3k5Q0xFZEJSUzlETVVNc1YwRkJWMFVzVlVGQlZUUkZMRmxCUVZsRUxFdEJRVXQ2UkN4RlFVRlJjVVFzUlVGQlN5OUNMRWRCUjNaRWFVTXNZVUZCWVhaRUxFVkJRVkVzUTBGQlJYRkVMRWRCUVU4dlFpeEZRVUZaV0N4RlFVRlZNa01zUjBGSE4wUXNUVUZCVFN4SlFVRkpMMFFzVlVGQlZTeDNRMEZIZEVJc1UwRkJVMmRGTEdGQlFXTTFSU3hGUVVGTE1FVXNSVUZCU3k5Q0xFVkJRVmxZTEVWQlFWVXlReXhIUVVOeVJDeEpRVEJDU1dwRExFVkJNVUpCYzBNc1JVRkJXU3hGUVVOYVF5eEZRVUZaYWtZc1JVRkJTVThzVDBGRGFFSXlSU3hGUVVGWlVpeEZRVUZKYmtVc1QwRkZjRUlzVVVGQmFVSXdRaXhKUVVGaVJDeEpRVVZsTEZWQlJHcENRU3hGUVVGWGJVUXNUMEZCVDI1RUxFZEJRVlV5UWl4blFrRkRXU3hWUVVGaU0wSXNSMEZEVml4WlFVRmlRU3hIUVVGMVF5eGhRVUZpUVN4SFFVRjVRaXhEUVVOeVJDeEhRVUZKYUVNc1JVRkJTVThzVDBGQlV5eEhRVUZMYlVVc1JVRkJTVzVGTEU5QlFWTXNSVUZEYWtNc1QwRkJVU3hGUVVWV2VVVXNSVUZCV1N4RlFVTmFReXhIUVVGaExFVkJRMkpETEVkQlFXRXNSVUZEWW5aRExFZEJRV01zUlVGSmJFSXNVMEZCVTNsRExFVkJRVTB6UlN4RlFVRkxhVU1zUjBGRGJFSXNUMEZCYTBJc1NVRkJaSE5ETEVWQlEwdDJSU3hGUVVGSmFVTXNSMEZGU21wRExFVkJRVWswUlN4aFFVRmhNME1zUlVGQlNYTkRMRWRCUzJoRExFZEJRVWxNTEVWQlFVc3NRMEZEVUN4SlFVRkpWeXhIUVVGakxFVkJRMnhDTEVsQlFVczFReXhGUVVGSlF5eEZRVUZaUkN4RlFVRkpkVU1zUlVGQlYzWkRMRWxCUTJ4RExFZEJRVWt3UXl4RlFVRkxjRVlzUlVGQlN6QkRMRXRCUVU4d1F5eEZRVUZMVml4SFFVRnhRaXhKUVVGb1Fsa3NSVUZCYjBJc1JVRkJTVFZETEVWQlFVazBReXhKUVVWNlJDeEpRVVJ2UWl4SlFVRm9Ra0VzU1VGQmJVSkJMRVZCUVdFMVF5eEhRVU5vUTBFc1JVRkJTVFJETEVWQlFXRXNTVUZCVFVvc1JVRkJWeXhQUVVGUFNTeEZRVUZoVGl4UFFVVjBReXhKUVVGb1FrMHNTVUZCYlVJMVF5eEhRVUZMUVN4RlFVRkpORU1zUjBGRGFFTkJMRWRCUVdNc1QwRkxiRUlzU1VGRVNUTkRMRVZCUVdGMVF5eEZRVUZaUkN4SlFVRlhkRU1zUlVGQllYTkRMRVZCUVZsRExFZEJRelZFZUVNc1JVRkJTVU1zUlVGQldVUXNSMEZCU3l4RlFVRkhRU3hKUVVGTExFTkJSV2hETEVsQlJFRXNTVUZCU1RaRExFZEJRVkVzUlVGRFNFTXNSVUZCU1N4RlFVRkhRU3hGUVVGSlRpeEZRVUZYVFN4SlFVTTNRaXhIUVVGSlNpeEZRVUZMY0VZc1JVRkJTekJETEVWQlFVazRReXhMUVVGUFNpeEZRVUZMVml4RlFVRkxZeXhIUVVGSkxFTkJRM0pEUkN4SFFVRlJMRVZCUTFJc1RVRkhTaXhIUVVGSlFTeEZRVUZQTEU5QlFVODNReXhGUVVsMFFpeFBRVUZSTEVWQlpWWXNVMEZCVXl0RExGTkJRVlZvUml4RlFVRkxNRUlzUlVGQlVYVkVMRVZCUVZGdVJpeEhRVU4wUTIxR0xFVkJRVk5ETEU5QlFVOUVMRWxCUVZjc1JVRkRNMElzU1VGQlNVVXNSVUZCV1c1R0xFVkJRVWxHTEU5QlFWTnRSaXhGUVVONFFtNUdMRWRCUjBoQkxFVkJRVk52Uml4UFFVRlBjRVlzU1VGRFNIRkdMRWxCUTFoeVJpeEZRVUZUY1VZc1IwRktXSEpHTEVWQlFWTnhSaXhGUVZGWUxFbEJRVWxETEVWQlFWTXhSQ3hGUVVGUE5VSXNUMEZGYUVKQkxFVkJRVk56Uml4RlFVRlRMRWxCUTNCQ2RFWXNSVUZCVTNOR0xFVkJRVk1zUjBGRmNFSXNTVUZCU3l4SlFVRkpia1FzUlVGQlNTeEZRVUZIUVN4RlFVRkpia01zU1VGQlZXMURMRVZCUVVjc1EwRkRMMElzU1VGQlNXOUVMRVZCUVZORExGTkJRVk0xUkN4RlFVRlBOa1FzVDBGQlZ5eEZRVUZLZEVRc1JVRkJUeXhIUVVGSkxFbEJReTlETEVkQlFVbE5MRmxCUVZrNFF5eEhRVUZUTEU5QlFVOXdSQ3hGUVVOb1EycERMRVZCUVVscFJpeEZRVUZUYUVRc1IwRkJTMjlFTEVWQlJYQkNMRTlCUVU5d1JDeEZRVWRVTEZOQlFWTjFSQ3hWUVVGWGVFWXNSVUZCU3pCQ0xFVkJRVkYxUkN4RlFVRlJia1lzUjBGRGRrTXNUMEZCVHpKR0xGZEJRVmQ2UXl4WlFVRlpkRUlzUlVGQlVURkNMRVZCUVVsR0xFOUJRVk50Uml4SFFVRlRha1lzUlVGQlMybEdMRVZCUVZGdVJpeEhRVWN6UlN4VFFVRlRORVlzVjBGQldURkdMRVZCUVVzd1FpeEZRVUZSZFVRc1JVRkJVVzVHTEVkQlEzaERMRTlCUVU4eVJpeFhRVUZYUlN4aFFVRmhha1VzUjBGQlV6RkNMRVZCUVV0cFJpeEZRVUZSYmtZc1IwRkhka1FzVTBGQlV6aEdMRmxCUVdFMVJpeEZRVUZMTUVJc1JVRkJVWFZFTEVWQlFWRnVSaXhIUVVONlF5eFBRVUZQTkVZc1YwRkJWekZHTEVWQlFVc3dRaXhGUVVGUmRVUXNSVUZCVVc1R0xFZEJSM3BETEZOQlFWTXJSaXhaUVVGaE4wWXNSVUZCU3pCQ0xFVkJRVkYxUkN4RlFVRlJia1lzUjBGRGVrTXNUMEZCVHpKR0xGZEJRVmQ0UXl4alFVRmpka0lzUjBGQlV6RkNMRVZCUVV0cFJpeEZRVUZSYmtZc1IwRkhlRVFzVTBGQlUyZEhMRlZCUVZjNVJpeEZRVUZMTUVJc1JVRkJVWFZFTEVWQlFWRnVSaXhIUVVOMlF5eFBRVUZQTWtZc1YwRkJWMDBzWlVGQlpYSkZMRVZCUVZFeFFpeEZRVUZKUml4UFFVRlRiVVlzUjBGQlUycEdMRVZCUVV0cFJpeEZRVUZSYmtZc1IwRnBSamxGTEZOQlFWTTJSQ3haUVVGaE0wUXNSVUZCUzI5RUxFVkJRVTlETEVkQlEyaERMRTlCUVdNc1NVRkJWa1FzUjBGQlpVTXNTVUZCVVhKRUxFVkJRVWxHTEU5QlEzUkNhRUlzVDBGQlQydElMR05CUVdOb1J5eEhRVVZ5UW14Q0xFOUJRVTlyU0N4alFVRmphRWNzUlVGQlNTdENMRTFCUVUxeFFpeEZRVUZQUXl4SlFVbHFSQ3hUUVVGVFJ5eFZRVUZYZUVRc1JVRkJTMjlFTEVWQlFVOURMRWRCUXpsQ1FTeEZRVUZOTkVNc1MwRkJTME1zU1VGQlNXeEhMRVZCUVVsR0xFOUJRVkYxUkN4SFFVa3pRaXhKUVVoQkxFbEJRVWs0UXl4RlFVRk5MRWRCUlU1c1JTeEZRVUZKYlVJc1JVRkRSRzVDTEVWQlFVbHZRaXhIUVVGTExFTkJRMlFzU1VGUlRTdERMRVZCUVZsRExFVkJRVmRETEVWQlFWbERMRVZCVW5KRFF5eEZRVUZaZUVjc1JVRkJTV2xETEVkQlEyaENkMFVzUlVGQldTeExRVU5hUXl4RlFVRnZRa1lzUlVGQldTeEpRVUZSTEVWQlEzWkRRU3hGUVVGWkxFbEJRVkVzUlVGRGJFSkJMRVZCUVZrc1NVRkJVU3hGUVVOdVFpeEZRVVZTTEVkQlFVbDJSU3hGUVVGSmVVVXNSMEZCYjBKeVJDeEZRVWN4UWl4UFFVRlJjVVFzUjBGRFRpeExRVUZMTEVWQlEwTkdMRVZCUVZrc1RVRkRaRU1zUlVGQldVUXNSMEZGWkN4TlFVTkdMRXRCUVVzc1JVRkZlVUlzVFVGQlZpeExRVVJzUWtvc1JVRkJZWEJITEVWQlFVbHBReXhGUVVGSkxFOUJSVzVDYzBVc1IwRkJOa0lzUjBGQldrTXNTVUZCY1VJc1JVRkJiMElzUjBGQllrb3NSMEZEZWtJc1RVRkRiRUpMTEVWQlFWbEdMRWRCUjJoQ0xFMUJRMFlzUzBGQlN5eEZRVU5JU0N4RlFVRmhjRWNzUlVGQlNXbERMRVZCUVVrc1IwRkRja0p2UlN4RlFVRlpja2NzUlVGQlNXbERMRVZCUVVrc1IwRkRVU3hOUVVGV0xFbEJRV0p0UlN4SlFVRnpSQ3hOUVVGV0xFbEJRVnBETEV0QlEyNURSU3hIUVVFMlFpeEhRVUZhUXl4SlFVRnZRaXhKUVVGdlFpeEhRVUZpU2l4SlFVRnpRaXhGUVVGdFFpeEhRVUZhUXl4SFFVTnlSQ3hQUVVGVlJTeEZRVUZuUWl4UFFVRlZRU3hGUVVGblFpeFRRVU4wUlVVc1JVRkJXVVlzUjBGSGFFSXNUVUZEUml4TFFVRkxMRVZCUTBoSUxFVkJRV0Z3Unl4RlFVRkphVU1zUlVGQlNTeEhRVU55UW05RkxFVkJRVmx5Unl4RlFVRkphVU1zUlVGQlNTeEhRVU53UW5GRkxFVkJRV0YwUnl4RlFVRkphVU1zUlVGQlNTeEhRVU5QTEUxQlFWWXNTVUZCWW0xRkxFbEJRWE5FTEUxQlFWWXNTVUZCV2tNc1NVRkJjMFFzVFVGQlZpeEpRVUZpUXl4TFFVTnNSVU1zUjBGQk5rSXNSMEZCV2tNc1NVRkJiMElzU1VGQmNVSXNSMEZCWWtvc1NVRkJjMElzU1VGQmJVSXNSMEZCV2tNc1NVRkJjVUlzUlVGQmIwSXNSMEZCWWtNc1IwRkRiRVlzVDBGQlZVTXNSVUZCWjBJc1ZVRkROVU5GTEVWQlFWbEdMRWRCVFVvc1QwRkJaRVVzUjBGSFJrRXNSVUZCV1N4TlFVTmFReXhGUVVGdFFpeEhRVU5XUkN4RlFVRlpMRkZCUlhKQ1FTeEhRVUZoTEUxQlEySk9MRVZCUVVsUkxFdEJRVXRHTEVsQlFXTXNSMEZCU3l4TFFVRlJMRTlCUTNCRFFTeEZRVUZaTEUxQlFYRkNMRXRCUVZwQkxFZEJSM1pDVGl4RlFVRkpVU3hMUVVGTFJpeEhRVU5VZUVVc1IwRkJTM2xGTEVWQlIxQXNUMEZCVDBVc2MwSkJRWE5DVkN4SFFUVTVRaTlDYkVnc1VVRkJVVFJJTEZkQlFXRjRTQ3hoUVdkQ2NrSklMRTlCUVU4MFNDeHZRa0ZCYzBKNFNDeHZRa0ZGZUVKS0xFOUJRVTgwU0N4eFFrRkJNRU1zYjBKQlFWcERMRk5CUTJJc2JVSkJRV3hDUVN4UlFVRlJReXhQUVVOcVFrUXNVVUZCVVVNc1RVRkRUaXhwU2tGblFrcERMRTlCUVU5RExHVkJRV1ZvU1N4UFFVRlBVU3hWUVVGWExGTkJRVlVzUTBGRGFFUjVTQ3haUVVGWkxFVkJRMXBETEVsQlFVc3NWMEZEU0N4SFFVRkxiRWtzVDBGQlQydEVMRk5CUVZOclFpeE5RVU55UWl4UFFVRlBRU3hMUVVGTE1VTXNWVUZKYUVKeFJ5eFBRVUZQUXl4bFFVRmxhRWtzVDBGQlQxRXNWVUZCVnl4VFFVRlZMRU5CUTJoRWVVZ3NXVUZCV1N4RlFVTmFReXhKUVVGTExGZEJRMGdzUjBGQlMyeEpMRTlCUVU5clJDeFRRVUZUYTBJc1RVRkRja0lzVDBGQlQwRXNTMEZCUzNCQ0xHTkJjME5OTEc5Q1FVRllha0lzVVVGQk5FTXNUVUZCYkVKQkxFOUJRVTl2Unl4VFFVTjRRMjVKTEU5QlFVOHJRaXhQUVVGUGIwY3NWMEZCWVc1SkxGRkJRemRDSzBnc1QwRkJUME1zWlVGQlpXaEpMRTlCUVZFclFpeFBRVUZQYjBjc1VVRkJVeXhEUVVNMVF5OUhMRTFCUVU4c1MwRkRVR2RJTEdOQlFXTXNSVUZEWkVnc1dVRkJXU3hGUVVOYVNTeFZRVUZWTEVsQlNXUnlTU3hQUVVGUGMwa3NVMEZCVnl4TFFUQkViRUowU1N4UFFVRlBiVUlzUzBGQlR5eFRRVUZWUXl4RlFVRlBTaXhGUVVGclFrb3NSMEZETDBNc1QwRkJUMDhzUzBGQlMwTXNSVUZCVDBvc1JVRkJhMEpLTEVsQlMzWkRXaXhQUVVGUFVTeFZRVUZWUkN4VlFVRlpSQ3hYUVVGWFJTeFZRVU40UTFJc1QwRkJUMDhzVlVGQldVUXNWMEU0UW01Q1RpeFBRVUZQYlVNc1RVRkJVU3hUUVVGVlJDeEZRVUZOUlN4RlFVRk5ReXhIUVVOdVF5eFBRVUZQUml4TlFVRk5SQ3hGUVVGTlJTeEZRVUZOUXl4SlFWY3pRbkpETEU5QlFVOXJRaXhaUVVGakxGTkJRVlZuUWl4SFFVTTNRaXhQUVVGUGFFSXNXVUZCV1dkQ0xFbEJTM0pDYkVNc1QwRkJUM1ZKTEdkQ1FVRnJRaXhUUVVGVmNrY3NSMEZEYWtNc1QwRkJUMmhDTEZsQlFWbG5RaXhKUVhGSGNrSnNReXhQUVVGUGEwUXNVMEZCVnl4VFFVRnRRbkpDTEVkQlEyNURMRTlCUVZrc1RVRkJURUVzU1VGQk5rSXNTVUZCYUVKQkxFVkJRVVV5Unl4WFFVTndRak5ITEVsQlFVMDNRaXhQUVVGUFVTeFhRVWRxUWxJc1QwRkJUM2xKTEZGQlFWVXNVMEZCYTBKRExFVkJRVWMzUnl4SFFVZHdReXhIUVVaSlNpeFhRVUZYYVVnc1JVRkJSM0JKTEdOQlFXRnZTU3hGUVVGSk1Va3NUMEZCVDIxQ0xFdEJRVXQxU0N4RlFVRkhRU3hGUVVGRk0wTXNUMEZCVVRKRExFVkJRVVZvUnl4aFFVTXhSR3BDTEZkQlFWZEpMRVZCUVVkMlFpeGpRVUZoZFVJc1JVRkJTVGRDTEU5QlFVOXRRaXhMUVVGTFZTeEZRVUZIUVN4RlFVRkZhMFVzVDBGQlVXeEZMRVZCUVVWaExHTkJRM3BFTVVNc1QwRkJUMnRFTEZOQlFWTjNSaXhMUVVGUE1Va3NUMEZCVDJ0RUxGTkJRVk55UWl4SFFVTXhReXhOUVVGTkxFbEJRVWxhTEZWQlExSXNlVVZCU1Vvc1IwRkJTWGxJTEVsQlFVMDNSeXhGUVVGSExFOUJRVThzUlVGTGNFSXNTVUZJUVN4SlFVRkpPRWNzUlVGQlNVUXNSVUZCUlRsSUxFOUJRMDVuU1N4RlFVRkpMMGNzUlVGQlJXcENMRTlCUlVSdFF5eEZRVUZKTEVWQlFVZEpMRVZCUVUwMFJDeExRVUZMUXl4SlFVRkpNa0lzUlVGQlIwTXNSMEZCU1RkR0xFVkJRVWxKTEVsQlFVOUtMRVZCUXk5RExFZEJRVWt5Uml4RlFVRkZNMFlzUzBGQlQyeENMRVZCUVVWclFpeEhRVUZKTEVOQlEycENORVlzUlVGQlNVUXNSVUZCUlROR0xFZEJRMDQyUml4RlFVRkpMMGNzUlVGQlJXdENMRWRCUTA0c1RVRkpTaXhQUVVGSk5FWXNSVUZCU1VNc1IwRkJWeXhGUVVObVFTeEZRVUZKUkN4RlFVRlZMRVZCUTFnc1IwRkhWRE5KTEU5QlFVOTVReXhYUVVGaExGTkJRWEZDU2l4SFFVTjJReXhQUVVGUmJVUXNUMEZCVDI1RUxFZEJRVlV5UWl4bFFVTjJRaXhKUVVGTExFMUJRMHdzU1VGQlN5eFBRVU5NTEVsQlFVc3NVVUZEVEN4SlFVRkxMRkZCUTB3c1NVRkJTeXhUUVVOTUxFbEJRVXNzVTBGRFRDeEpRVUZMTEZOQlEwd3NTVUZCU3l4UFFVTk1MRWxCUVVzc1VVRkRUQ3hKUVVGTExGVkJRMHdzU1VGQlN5eFhRVU5JTEU5QlFVOHNSVUZEVkN4UlFVTkZMRTlCUVU4c1NVRkpZbWhGTEU5QlFVODJTU3hQUVVGVExGTkJRV2xDUXl4RlFVRk5iRWtzUjBGRGNrTXNTVUZCU3pKRExFMUJRVTFETEZGQlFWRnpSaXhIUVVOcVFpeE5RVUZOTEVsQlFVazNTQ3hWUVVGVkxDdERRVWQwUWl4SFFVRnZRaXhKUVVGb1FqWklMRVZCUVV0c1NTeFBRVU5RTEU5QlFVOWFMRTlCUVU5dFF5eE5RVUZOTEVkQlIzUkNMRWxCUVVsWkxFVkJRMG9zVVVGQlpWUXNTVUZCV0RGQ0xFVkJSVVlzU1VGRVFVRXNSVUZCVXl4RlFVTktiVU1zUlVGQlNTeEZRVUZIUVN4RlFVRkpLMFlzUlVGQlMyeEpMRk5CUVZWdFF5eEZRVU0zUW01RExFZEJRVlZyU1N4RlFVRkxMMFlzUjBGQlIyNURMRTlCU1hSQ0xFbEJRVWxqTEVWQlFWTXhRaXhQUVVGUGEwSXNXVUZCV1U0c1IwRkROVUp0U1N4RlFVRk5MRVZCUTFZc1NVRkJTMmhITEVWQlFVa3NSVUZCUjBFc1JVRkJTU3RHTEVWQlFVdHNTU3hUUVVGVmJVTXNSVUZCUnl4RFFVTm9ReXhKUVVGSmFrTXNSVUZCVFdkSkxFVkJRVXN2Uml4SFFVbG1MRWRCU0VsMFFpeFhRVUZYV0N4RlFVRkxVaXhqUVVOc1FsRXNSVUZCVFdRc1QwRkJUMjFDTEV0QlFVdE1MRXRCUldaa0xFOUJRVTlyUkN4VFFVRlRjRU1zUjBGRGJrSXNUVUZCVFN4SlFVRkpSeXhWUVVGVkxDdERRVVYwUWtnc1JVRkJTWE5ETEV0QlFVc3hRaXhGUVVGUmNVZ3NSMEZEYWtKQkxFZEJRVTlxU1N4RlFVRkpSaXhQUVVWaUxFOUJRVTlqTEVkQmEwUlVNVUlzVDBGQlR6QkRMRmRCUVdGQkxGZEJPRVZ3UWpGRExFOUJRVTlSTEZWQlFWVm5TU3hYUVVGWkxFVkJVVGRDZUVrc1QwRkJUMUVzVlVGQlZYZEpMRTlCUVZNc1YwRkRlRUlzU1VGQlNUZEdMRVZCUVUxcFFpeExRVUZMZUVRc1QwRkRaaXhIUVVGSmRVTXNSVUZCVFN4SFFVRk5MRVZCUTJRc1RVRkJUU3hKUVVGSmRFTXNWMEZCVnl3MlEwRkZka0lzU1VGQlN5eEpRVUZKYTBNc1JVRkJTU3hGUVVGSFFTeEZRVUZKU1N4RlFVRkxTaXhIUVVGTExFVkJRelZDTkVJc1MwRkJTMUFzUzBGQlRYSkNMRVZCUVVkQkxFVkJRVWtzUjBGRmNFSXNUMEZCVDNGQ0xFMUJSMVJ3UlN4UFFVRlBVU3hWUVVGVmVVa3NUMEZCVXl4WFFVTjRRaXhKUVVGSk9VWXNSVUZCVFdsQ0xFdEJRVXQ0UkN4UFFVTm1MRWRCUVVsMVF5eEZRVUZOTEVkQlFVMHNSVUZEWkN4TlFVRk5MRWxCUVVsMFF5eFhRVUZYTERaRFFVVjJRaXhKUVVGTExFbEJRVWxyUXl4RlFVRkpMRVZCUVVkQkxFVkJRVWxKTEVWQlFVdEtMRWRCUVVzc1JVRkROVUkwUWl4TFFVRkxVQ3hMUVVGTmNrSXNSVUZCUjBFc1JVRkJTU3hIUVVOc1FqUkNMRXRCUVV0UUxFdEJRVTF5UWl4RlFVRkpMRVZCUVVkQkxFVkJRVWtzUjBGRmVFSXNUMEZCVDNGQ0xFMUJSMVJ3UlN4UFFVRlBVU3hWUVVGVk1Fa3NUMEZCVXl4WFFVTjRRaXhKUVVGSkwwWXNSVUZCVFdsQ0xFdEJRVXQ0UkN4UFFVTm1MRWRCUVVsMVF5eEZRVUZOTEVkQlFVMHNSVUZEWkN4TlFVRk5MRWxCUVVsMFF5eFhRVUZYTERaRFFVVjJRaXhKUVVGTExFbEJRVWxyUXl4RlFVRkpMRVZCUVVkQkxFVkJRVWxKTEVWQlFVdEtMRWRCUVVzc1JVRkROVUkwUWl4TFFVRkxVQ3hMUVVGTmNrSXNSVUZCUjBFc1JVRkJTU3hIUVVOc1FqUkNMRXRCUVV0UUxFdEJRVTF5UWl4RlFVRkpMRVZCUVVkQkxFVkJRVWtzUjBGRGRFSTBRaXhMUVVGTFVDeExRVUZOY2tJc1JVRkJTU3hGUVVGSFFTeEZRVUZKTEVkQlEzUkNORUlzUzBGQlMxQXNTMEZCVFhKQ0xFVkJRVWtzUlVGQlIwRXNSVUZCU1N4SFFVVjRRaXhQUVVGUGNVSXNUVUZIVkhCRkxFOUJRVTlSTEZWQlFWVnJSQ3hUUVVGWExGZEJRekZDTEVsQlFVazVReXhGUVVGVGQwUXNTMEZCUzNoRUxFOUJRMnhDTEU5QlFXVXNTVUZCV0VFc1JVRkJjVUlzUjBGRFFTeEpRVUZ5UW1kRUxGVkJRVlZvUkN4UFFVRnhRakJFTEZWQlFWVkdMRXRCUVUwc1JVRkJSM2hFTEVkQlF5OURjVVFzWVVGQllXdEdMRTFCUVUwdlJTeExRVUZOVWl4WlFVZHNRelZFTEU5QlFVOVJMRlZCUVZVMFNTeGxRVUZwUW5CS0xFOUJRVTlSTEZWQlFWVnJSQ3hUUVVWdVJERkVMRTlCUVU5UkxGVkJRVlUyU1N4UFFVRlRMRk5CUVdsQ2VFZ3NSMEZEZWtNc1NVRkJTemRDTEU5QlFVOXJSQ3hUUVVGVGNrSXNSMEZCU1N4TlFVRk5MRWxCUVVsYUxGVkJRVlVzTmtKQlF6ZERMRTlCUVVsdFJDeFBRVUZUZGtNc1IwRkRjMElzU1VGQk5VSTNRaXhQUVVGUGVVa3NVVUZCVVhKRkxFdEJRVTEyUXl4SlFVYzVRamRDTEU5QlFVOVJMRlZCUVZVNFNTeFJRVUZWTEZkQlEzcENMRWxCUVVsRExFVkJRVTBzUjBGRFRrTXNSVUZCVFhwS0xGRkJRVkZITEd0Q1FVZHNRaXhQUVVaQmNVb3NSVUZCVFc1R0xFdEJRVXRXTEZOQlFWTXNUVUZCVHl4RlFVRkhPRVlzUjBGQlMwTXNVVUZCVVN4VlFVRlhMRTlCUVU5RExFOUJRM3BFZEVZc1MwRkJTM2hFTEU5QlFWTTBTU3hKUVVGTFJDeEhRVUZQTEZOQlEzWkNMRmRCUVdGQkxFVkJRVTBzUzBGSE5VSjJTaXhQUVVGUFVTeFZRVUZWYVVrc1VVRkJWU3hUUVVGclFtdENMRVZCUVZGNlJpeEZRVUZQUXl4RlFVRkxlVVlzUlVGQlYwTXNSMEZKTVVVc1IwRklTWEJKTEZkQlFWZHJTU3hGUVVGUmNrb3NZMEZEY2tKeFNpeEZRVUZUTTBvc1QwRkJUMjFDTEV0QlFVdDNTU3hGUVVGUlFTeEZRVUZQTlVRc1QwRkJVVFJFTEVWQlFVOXFTQ3hqUVVWb1JERkRMRTlCUVU5clJDeFRRVUZUZVVjc1IwRkRia0lzVFVGQlRTeEpRVUZKTVVrc1ZVRkRVaXgzUmtGRE1rSXdTU3hIUVdsQ0wwSXNVVUZpWTNKSUxFbEJRVlkwUWl4SlFVTkdRU3hGUVVGUkxGRkJSVVUxUWl4SlFVRlNOa0lzU1VGRFJrRXNSVUZCVFhkR0xFVkJRVk5CTEVWQlFVOHZTU3hQUVVGVExGRkJSV1l3UWl4SlFVRmtjMGdzU1VGRFJrRXNSVUZCV1N4UlFVVkZkRWdzU1VGQlduVklMRWxCUTBaQkxFVkJRVlY2Uml4TFFVRkxlRVFzVVVGSFluTkVMRVZCUVZFc1IwRkJTME1zUlVGQlRYZEdMRVZCUVU4dlNTeFJRVUZWWjBvc1JVRkJXU3hIUVVGTFF5eEZRVUZWZWtZc1MwRkJTM2hFTEU5QlEzUkZMRTFCUVUwc1NVRkJTVU1zVjBGQlZ5eHpRa0ZIZGtJc1IwRkJTU3RKTEVkQlFXRkRMRWRCUVZjelJpeEhRVUZUUXl4RlFVTnVReXhQUVVGUExFVkJSVlFzUjBGQlNYbEdMRWRCUVdGRExFVkJRMllzVDBGQlVTeEZRVVZXTEVkQlFVa3pSaXhIUVVGVFF5eEZRVU5ZTEU5QlFVOHNSVUZSVkN4SFFVRkpReXhQUVVGVGRVWXNSVUZCVVN4UFFVRlBMRVZCVXpWQ0xFbEJVRUVzU1VGQlNXaENMRWRCU2twclFpeExRVUZoTEVsQlJHSkVMRXRCUVdVc1IwRk5XR2hDTEVkQlVFcDZSU3hMUVVGVExFbEJSRlJFTEV0QlFWY3NSMEZUVUdZc1JVRkJUVFJFTEV0QlFVdERMRWxCUVVreVFpeEZRVUZIUXl4SFFVVnNRbXRDTEVWQlFWY3hSaXhMUVVGTGRrSXNUVUZCVFN0SExFVkJRVmRETEVkQlEycERSU3hGUVVGaFNpeEZRVUZQT1Vjc1RVRkJUWEZDTEVWQlFVOURMRWRCUlRWQ2NFSXNSVUZCU1N4RlFVRkhRU3hGUVVGSlNTeEpRVUZQU2l4RlFVTjZRaXhIUVVGSkswY3NSVUZCVXk5SExFdEJRVTluU0N4RlFVRlhhRWdzUjBGQlNTeERRVU5xUXpSR0xFVkJRVWx0UWl4RlFVRlRMMGNzUjBGRFlqWkdMRVZCUVVsdFFpeEZRVUZYYUVnc1IwRkRaaXhOUVVsS0xFOUJRVWswUml4RlFVRkpReXhIUVVGWExFVkJRMlpCTEVWQlFVbEVMRVZCUVZVc1JVRkRXQ3hIUVRSSVZETkpMRTlCUVU5UkxGVkJRVlYzU2l4VFFVRlhMRk5CUVcxQ2FrWXNSVUZCU3k5Q0xFVkJRVmxZTEVkQlF6bEVMRTlCUVc5RUxFbEJRVGRESzBJc1MwRkJTMk1zVVVGQlVVZ3NSVUZCU3k5Q0xFVkJRVmxZTEVsQlIzWkRja01zVDBGQlQxRXNWVUZCVlRCRkxGRkJRVlVzVTBGQmEwSklMRVZCUVVzdlFpeEZRVUZaV0N4SFFVTTFSQ3hQUVVGUGVVTXNjVUpCUVhGQ1ZpeExRVUZOVnl4RlFVRkxMMElzUlVGQldWZ3NSMEZCVlN4SlFVY3ZSSEpETEU5QlFVOVJMRlZCUVZVMFJTeFpRVUZqTEZOQlFYTkNUQ3hGUVVGTEwwSXNSVUZCV1Znc1IwRkRjRVVzVDBGQlQzbERMSEZDUVVGeFFsWXNTMEZCVFZjc1JVRkJTeTlDTEVWQlFWbFlMRWRCUVZVc1NVRm5SQzlFY2tNc1QwRkJUMUVzVlVGQlZXOURMRTFCUVZFc1UwRkJaMEpLTEVWQlFWRjFSQ3hGUVVGUmJrWXNSVUZCVVhsQ0xFZEJSUzlFTEZGQlFXVkRMRWxCUVZoNVJDeEZRVU5HTVVRc1JVRkJWeXhQUVVOWWVrSXNSVUZCVTNkRUxFdEJRVXQ0UkN4UFFVTmtiVVlzUlVGQlV5eFBRVVZLTEZGQlFXVjZSQ3hKUVVGWU1VSXNSMEZCTUVNc2FVSkJRVmh0Uml4RlFVTjRRekZFTEVWQlFWY3dSQ3hGUVVOWWJrWXNSVUZCVTNkRUxFdEJRVXQ0UkN4UFFVTmtiVVlzUlVGQlV5eE5RVVZLTEVOQlFVRXNTVUZCU1d0RkxGTkJRVk5zUlN4SFFWVnNRaXhOUVVGTkxFbEJRVWx0UlN4TlFVTlNMREpGUVZaR2JrVXNTMEZCYjBJc1JVRkRhRUpyUlN4VFFVRlRja29zU1VGRFdFRXNTMEZCYjBJc1QwRkRTREJDTEVsQlFXSkVMRWxCUVhkQ1FTeEZRVUZYTEZWQlJYWkRRU3hGUVVGWGVrSXNSVUZEV0VFc1QwRkJVekJDTEVkQlVXSXNTVUZCU1RKRUxFVkJRVmszUWl4TFFVRkxlRVFzVDBGQlUyMUdMRVZCUnpsQ0xGTkJSbVY2UkN4SlFVRllNVUlzUjBGQmQwSkJMRVZCUVZOeFJpeExRVUZYY2tZc1JVRkJVM0ZHTEVkQlJYQkVla1FzUlVGQlR6VkNMRTlCUVZNc1NVRkJUVUVzUlVGQlV5eEhRVUZMYlVZc1JVRkJVeXhKUVVGUFFTeEZRVUZUTTBJc1MwRkJTM2hFTEU5QlEzSkZMRTFCUVUwc1NVRkJTVU1zVjBGQlZ5d3dRMEZIYkVKM1FpeEpRVUZWUVN4RlFVRlhMRkZCUnpGQ0xFbEJSRUVzU1VGQlNYZENMRWRCUVdNc1NVRkZhRUlzVDBGQlVYaENMRWRCUTA0c1NVRkJTeXhOUVVOSUxFOUJRVTk1UkN4VFFVRlRNVUlzUzBGQlRUVkNMRVZCUVZGMVJDeEZRVUZSYmtZc1IwRkZlRU1zU1VGQlN5eFBRVU5NTEVsQlFVc3NVVUZEU0N4UFFVRlBNRVlzVlVGQlZXeERMRXRCUVUwMVFpeEZRVUZSZFVRc1JVRkJVVzVHTEVkQlJYcERMRWxCUVVzc1VVRkRTQ3hQUVVGUE5FWXNWMEZCVjNCRExFdEJRVTAxUWl4RlFVRlJkVVFzUlVGQlVXNUdMRWRCUlRGRExFbEJRVXNzVTBGRFRDeEpRVUZMTEZOQlEwZ3NUMEZCVHpoR0xGbEJRVmwwUXl4TFFVRk5OVUlzUlVGQlVYVkVMRVZCUVZGdVJpeEhRVVV6UXl4SlFVRkxMRk5CUlVnc1QwRkJUeXRHTEZsQlFWbDJReXhMUVVGTk5VSXNSVUZCVVhWRUxFVkJRVkZ1Uml4SFFVVXpReXhKUVVGTExFOUJRMHdzU1VGQlN5eFJRVU5NTEVsQlFVc3NWVUZEVEN4SlFVRkxMRmRCUTBnc1QwRkJUMmRITEZWQlFWVjRReXhMUVVGTk5VSXNSVUZCVVhWRUxFVkJRVkZ1Uml4SFFVVjZReXhSUVVORkxFZEJRVWxwUkN4RlFVRmhMRTFCUVUwc1NVRkJTVFZETEZWQlFWVXNjVUpCUVhWQ2IwSXNSMEZETlVSQkxFZEJRVmtzUjBGQlMwRXNSMEZCVlRKQ0xHTkJRek5DU0N4SFFVRmpMRWxCUzNSQ04wUXNUMEZCVDFFc1ZVRkJWVEpLTEU5QlFWTXNWMEZEZUVJc1RVRkJUeXhEUVVOTU4wY3NTMEZCVFN4VFFVTk9SeXhMUVVGTlJpeE5RVUZOTDBNc1ZVRkJWWEZETEUxQlFVMXpReXhMUVVGTFppeExRVUZMWjBjc1RVRkJVV2hITEV0QlFVMHNTMEYzUm5oRUxFbEJRVWxwUnl4eFFrRkJkVUlzUzBGRk0wSXNVMEZCVXpORExITkNRVUYxUWpSRExFZEJRemxDTEVsQlFVbHVTQ3hGUVVGTmJVZ3NSVUZCVnpGS0xFOUJRM0pDTEVkQlFVbDFReXhIUVVGUGEwZ3NjVUpCUTFRc1QwRkJUemRGTEU5QlFVOHJSU3hoUVVGaGNFSXNUVUZCVFRORUxFOUJRVkU0UlN4SFFVMHpReXhKUVVaQkxFbEJRVWx5UkN4RlFVRk5MRWRCUTA1c1JTeEZRVUZKTEVWQlEwUkJMRVZCUVVsSkxFZEJRMVE0UkN4SFFVRlBla0lzVDBGQlR5dEZMR0ZCUVdGd1FpeE5RVU42UWpORUxFOUJRMEU0UlN4RlFVRlhla2dzVFVGQlRVVXNSVUZCUjBFc1IwRkJTM05JTEhWQ1FVYzNRaXhQUVVGUGNFUXNSVUZIVkN4VFFVRlRNVU1zVjBGQldYcEVMRVZCUVV0dlJDeEZRVUZQUXl4SFFVTXZRaXhKUVVGSmNVY3NSVUZCVFN4SFFVTldja2NzUlVGQlRUUkRMRXRCUVV0RExFbEJRVWxzUnl4RlFVRkpSaXhQUVVGUmRVUXNSMEZGTTBJc1NVRkJTeXhKUVVGSmNFSXNSVUZCU1cxQ0xFVkJRVTl1UWl4RlFVRkpiMElzU1VGQlQzQkNMRVZCUXpkQ2VVZ3NSMEZCVDJoR0xFOUJRVThyUlN4aFFVRnpRaXhKUVVGVWVrb3NSVUZCU1dsRExFbEJSV3BETEU5QlFVOTVTQ3hGUVVkVUxGTkJRVk5vUnl4WlFVRmhNVVFzUlVGQlMyOUVMRVZCUVU5RExFZEJRMmhETEVsQlFVbHhSeXhGUVVGTkxFZEJRMVp5Unl4RlFVRk5ORU1zUzBGQlMwTXNTVUZCU1d4SExFVkJRVWxHTEU5QlFWRjFSQ3hIUVVVelFpeEpRVUZMTEVsQlFVbHdRaXhGUVVGSmJVSXNSVUZCVDI1Q0xFVkJRVWx2UWl4SlFVRlBjRUlzUlVGRE4wSjVTQ3hIUVVGUGFFWXNUMEZCVHl0RkxHRkJRV0Y2U2l4RlFVRkphVU1zU1VGRmFrTXNUMEZCVDNsSUxFVkJSMVFzVTBGQlUyNUhMRk5CUVZWMlJDeEZRVUZMYjBRc1JVRkJUME1zUjBGRE4wSXNTVUZCU1doQ0xFVkJRVTF5UXl4RlFVRkpSaXhUUVVWVWMwUXNSMEZCVTBFc1JVRkJVU3hMUVVGSFFTeEZRVUZSTEV0QlF6VkNReXhIUVVGUFFTeEZRVUZOTEVkQlFVdEJMRVZCUVUxb1FpeExRVUZMWjBJc1JVRkJUV2hDTEVkQlIzaERMRWxCUkVFc1NVRkJTWE5JTEVWQlFVMHNSMEZEUkRGSUxFVkJRVWx0UWl4RlFVRlBia0lzUlVGQlNXOUNMRWxCUVU5d1FpeEZRVU0zUWpCSUxFZEJRVTlETEUxQlFVMDFTaXhGUVVGSmFVTXNTVUZGYmtJc1QwRkJUekJJTEVWQlIxUXNVMEZCVXk5R0xHRkJRV00xUkN4RlFVRkxiMFFzUlVGQlQwTXNSMEZIYWtNc1NVRkdRU3hKUVVGSmQwY3NSVUZCVVRkS0xFVkJRVWtyUWl4TlFVRk5jVUlzUlVGQlQwTXNSMEZEZWtJNFF5eEZRVUZOTEVkQlEwUnNSU3hGUVVGSkxFVkJRVWRCTEVWQlFVazBTQ3hGUVVGTkwwb3NUMEZCVVcxRExFZEJRVXNzUlVGRGNrTnJSU3hIUVVGUGVrSXNUMEZCVHl0RkxHRkJRV0ZKTEVWQlFVMDFTQ3hIUVVGeFFpeEpRVUZtTkVnc1JVRkJUVFZJTEVWQlFVa3NTVUZGYmtRc1QwRkJUMnRGTEVWQmFVTlVMRk5CUVZNeVJDeFpRVUZoTjBVc1JVRkJVVGhGTEVWQlFVdHFTeXhIUVVOcVF5eEhRVUZMYlVZc1JVRkJVeXhIUVVGUExFZEJRVXRCTEVWQlFWTXNSVUZCUnl4TlFVRk5MRWxCUVVsc1JpeFhRVUZYTEhOQ1FVTXpSQ3hIUVVGSmEwWXNSVUZCVXpoRkxFVkJRVTFxU3l4RlFVRlJMRTFCUVUwc1NVRkJTVU1zVjBGQlZ5eDVRMEUyUzJ4RUxGTkJRVk5wU3l4VFFVRlZhRXNzUlVGQlMwMHNSVUZCVHpKRkxFVkJRVkU0UlN4RlFVRkxja0lzUlVGQlMzaERMRWRCUXk5RExFbEJRVXRvU0N4UFFVRlBhMFFzVTBGQlUzQkRMRWRCUVUwc1RVRkJUU3hKUVVGSlJ5eFZRVUZWTEN0RFFVTXZReXhIUVVGSlJ5eEZRVUZSYjBrc1IwRkJUM0JKTEVWQlFWRTBSaXhGUVVGTExFMUJRVTBzU1VGQlNXNUhMRmRCUVZjc2NVTkJRM0pFTEVkQlFVbHJSaXhGUVVGVE9FVXNSVUZCVFM5S0xFVkJRVWxHTEU5QlFWRXNUVUZCVFN4SlFVRkpReXhYUVVGWExITkNRWGxNZEVRc1UwRkJVMnRMTEdGQlFXTnFTeXhGUVVGTFRTeEZRVUZQTWtVc1JVRkJVVGhGTEVWQlFVdHlRaXhGUVVGTGVFTXNSMEZEYmtRc1IwRkJTV3BDTEVWQlFWTTRSU3hGUVVGTkwwb3NSVUZCU1VZc1QwRkJVU3hOUVVGTkxFbEJRVWxETEZkQlFWY3NjMEpCUTNCRUxFZEJRVWxyUml4RlFVRlRMRVZCUVVjc1RVRkJUU3hKUVVGSmJFWXNWMEZCVnl4elFrRkhka01zVTBGQlUyMUxMRmRCUVZsc1N5eEZRVUZMVFN4RlFVRlBNa1VzUlVGQlVXdEdMRVZCUVdORExFZEJUM0pFTEU5QlRrRTVTaXhIUVVGVFFTeEZRVU5VTWtVc1MwRkJiMElzUlVGRFptMUdMRWRCUTBoSUxHRkJRV0ZxU3l4RlFVRkxUU3hGUVVGUE1rVXNSVUZCVVN4RlFVRkhMSFZDUVVGNVFpeDFRa0ZGTDBScVJ5eFJRVUZST0VNc1RVRkJUVGxDTEVWQlFVdE5MRVZCUVU4eVJTeEZRVUZSYTBZc1JVRkJZeXhIUVVGSkxFZEJRemREYkVZc1JVRkJVeXhGUVZkc1FpeFRRVUZUYjBZc1dVRkJZWEpMTEVWQlFVdE5MRVZCUVU4eVJTeEZRVUZSYTBZc1JVRkJZME1zUjBGUGRFUXNUMEZPUVRsS0xFZEJRVk5CTEVWQlExUXlSU3hMUVVGdlFpeEZRVU5tYlVZc1IwRkRTRWdzWVVGQllXcExMRVZCUVV0TkxFVkJRVTh5UlN4RlFVRlJMRVZCUVVjc2QwSkJRVEJDTEhkQ1FVVm9SV3BITEZGQlFWRTRReXhOUVVGTk9VSXNSVUZCUzAwc1JVRkJUekpGTEVWQlFWRnJSaXhGUVVGakxFZEJRVWtzUjBGRE4wTnNSaXhGUVVGVExFVkJkbUZzUWk5R0xFOUJRVTlSTEZWQlFWVnhReXhOUVVGUkxGTkJRV2RDY1VJc1JVRkJUME1zUjBGRE9VTXNTVUZCU1doQ0xFVkJRVTFwUWl4TFFVRkxlRVFzVVVGRFpuTkVMRWxCUVZWQkxFZEJSMFVzUjBGRFZrRXNSMEZCVTJZc1IwRkRSeXhKUVVGSFpTeEZRVUZSTEVkQlEyUkJMRVZCUVZGbUxFbEJRMnBDWlN4RlFVRlJaaXhKUVU1V1owSXNUMEZCWXpkQ0xFbEJRVkkyUWl4RlFVRnZRbWhDTEVsQlFWRm5RaXhIUVZONFFpeEhRVU5TUVN4SFFVRlBhRUlzUjBGRFJ5eEpRVUZIWjBJc1JVRkJUU3hIUVVOV1FTeEZRVUZOYUVJc1NVRkRabWRDTEVWQlFVMW9RaXhIUVVkS1owSXNSVUZCVFVRc1NVRkJUME1zUlVGQlRVUXNSMEZGZGtJc1NVRkJTV3RJTEVWQlFWTm9TQ3hMUVVGTGFVZ3NVMEZCVTI1SUxFVkJRVTlETEVkQlIyeERMRTlCUkVGcFNDeEZRVUZQTjBzc1ZVRkJXVkFzVDBGQlQxRXNWVUZEYmtJMFN5eEhRVmRVY0V3c1QwRkJUMUVzVlVGQlZUaExMRmRCUVdFc1UwRkJjVUoyUml4RlFVRlJja1FzUlVGQldYZEpMRWRCUTNKRmJrWXNTMEZCYjBJc1JVRkRjRUp5UkN4TFFVRTBRaXhGUVVOMlFuZEpMRWRCUVZWT0xGbEJRVmszUlN4RlFVRlJja1FzUlVGQldUQkNMRXRCUVV0NFJDeFJRVXR3UkN4SlFVaEJMRWxCUVVsdFJTeEZRVUZOV0N4TFFVRkxNa0lzUjBGRFdIZEdMRVZCUVUwc1JVRkRUbmhKTEVWQlFVa3NTVUZEUTBFc1JVRkJTVXdzU1VGQlpUWkpMRWRCUVU4c1RVRkRha040Unl4SFFVRlBXQ3hMUVVGTE1rSXNSVUZCVTJoRUxFZEJRVXQzU1N4RlFVYzFRaXhQUVVGUGVFY3NSMEZIVkM5RkxFOUJRVTlSTEZWQlFWVm5UQ3hYUVVGaExGTkJRWEZDZWtZc1JVRkJVWEpFTEVWQlFWbDNTU3hIUVVOeVJXNUdMRXRCUVc5Q0xFVkJRM0JDY2tRc1MwRkJORUlzUlVGRGRrSjNTU3hIUVVOSVRpeFpRVUZaTjBVc1JVRkJVWEpFTEVWQlFWa3dRaXhMUVVGTGVFUXNVVUZMZGtNc1NVRkdRU3hKUVVGSmJVVXNSVUZCVFZnc1MwRkJTekpDTEVsQlFWZHlSQ3hIUVVOMFFqWkpMRVZCUVUwc1JVRkRTRGRKTEVWQlFXRXNTVUZCVFRaSkxFZEJRVThzVFVGREwwSjRSeXhIUVVGUFdDeExRVUZMTWtJc1NVRkJWM0pFTEVkQlFXTTJTU3hGUVVkMlF5eFBRVUZQZUVjc1IwRkhWQzlGTEU5QlFVOVJMRlZCUVZWcFRDeFZRVUZaTEZOQlFXOUNNVVlzUlVGQlVXMUdMRWRCUjNaRUxFOUJSa0Z1Uml4TFFVRnZRaXhGUVVObWJVWXNSMEZCVlU0c1dVRkJXVGRGTEVWQlFWRXNSVUZCUnpOQ0xFdEJRVXQ0UkN4UlFVTndRM2RFTEV0QlFVc3lRaXhKUVVka0wwWXNUMEZCVDFFc1ZVRkJWV3RNTEdGQlFXVXNVMEZCZFVJelJpeEZRVUZSYlVZc1IwRkhOMFFzVDBGR1FXNUdMRXRCUVc5Q0xFVkJRMlp0Uml4SFFVRlZUaXhaUVVGWk4wVXNSVUZCVVN4RlFVRkhNMElzUzBGQlMzaEVMRkZCUTNCRGQwUXNTMEZCU3pKQ0xFZEJRVmN6UWl4TFFVRkxNa0lzUlVGQlV5eEpRVUZOTEVkQlJ6ZERMMFlzVDBGQlQxRXNWVUZCVld0R0xHRkJRV1VzVTBGQmRVSkxMRVZCUVZGdFJpeEhRVWMzUkN4UFFVWkJia1lzUzBGQmIwSXNSVUZEWm0xR0xFZEJRVlZPTEZsQlFWazNSU3hGUVVGUkxFVkJRVWN6UWl4TFFVRkxlRVFzVVVGRGJrTjNSQ3hMUVVGTE1rSXNTVUZCVnl4RlFVRkxNMElzUzBGQlN6SkNMRVZCUVZNc1NVRkhOME12Uml4UFFVRlBVU3hWUVVGVmJVd3NZVUZCWlN4VFFVRjFRalZHTEVWQlFWRnRSaXhIUVVrM1JDeFBRVWhCYmtZc1MwRkJiMElzUlVGRFptMUdMRWRCUVZWT0xGbEJRVmszUlN4RlFVRlJMRVZCUVVjelFpeExRVUZMZUVRc1UwRkZiRU4zUkN4TFFVRkxNa0lzUjBGRFZETkNMRXRCUVVzeVFpeEZRVUZUTEVsQlFVMHNSVUZEY0VJelFpeExRVUZMTWtJc1JVRkJVeXhKUVVGTkxFbEJRMFFzVTBGQmJrSXpRaXhMUVVGTE1rSXNSVUZCVXl4SlFVZHlRaTlHTEU5QlFVOVJMRlZCUVZWdlRDeGhRVUZsTEZOQlFYVkNOMFlzUlVGQlVXMUdMRWRCU1RkRUxFOUJTRUZ1Uml4TFFVRnZRaXhGUVVObWJVWXNSMEZCVlU0c1dVRkJXVGRGTEVWQlFWRXNSVUZCUnpOQ0xFdEJRVXQ0UkN4UlFVVndRaXhUUVVGbWQwUXNTMEZCU3pKQ0xFbEJRMVF6UWl4TFFVRkxNa0lzUlVGQlV5eEpRVUZOTEVkQlEzSkNNMElzUzBGQlN6SkNMRVZCUVZNc1NVRkJUU3hGUVVOeVFqTkNMRXRCUVVzeVFpeEZRVUZUTEV0QlIyeENMMFlzVDBGQlQxRXNWVUZCVlhGTUxGVkJRVmtzVTBGQmIwSTVSaXhGUVVGUmNrUXNSVUZCV1hkSkxFZEJRMjVGYmtZc1MwRkJiMElzUlVGRGNFSnlSQ3hMUVVFMFFpeEZRVU4yUW5kSkxFZEJRVlZPTEZsQlFWazNSU3hGUVVGUmNrUXNSVUZCV1RCQ0xFdEJRVXQ0UkN4UlFVdHdSQ3hKUVVoQkxFbEJRVWx0UlN4RlFVRk5XQ3hMUVVGTE1rSXNSMEZEV0hkR0xFVkJRVTBzUlVGRFRuaEpMRVZCUVVrc1NVRkRRMEVzUlVGQlNVd3NTVUZCWlRaSkxFZEJRVThzVFVGRGFrTjRSeXhIUVVGUFdDeExRVUZMTWtJc1JVRkJVMmhFTEVkQlFVdDNTU3hGUVUwMVFpeFBRVVpKZUVjc1NVRkdTbmRITEVkQlFVOHNUMEZGVTNoSExFZEJRVTluUXl4TFFVRkxLMFVzU1VGQlNTeEZRVUZITEVWQlFVbHdTaXhKUVVWb1EzRkRMRWRCUjFRdlJTeFBRVUZQVVN4VlFVRlZkVXdzVlVGQldTeFRRVUZ2UW1oSExFVkJRVkZ5UkN4RlFVRlpkMGtzUjBGRGJrVnVSaXhMUVVGdlFpeEZRVU53UW5KRUxFdEJRVFJDTEVWQlEzWkNkMGtzUjBGQlZVNHNXVUZCV1RkRkxFVkJRVkZ5UkN4RlFVRlpNRUlzUzBGQlMzaEVMRkZCUzNCRUxFbEJTRUVzU1VGQlNXMURMRVZCUVVsTUxFVkJRMG8yU1N4RlFVRk5MRVZCUTA1NFJ5eEZRVUZOV0N4TFFVRkxNa0lzU1VGQlYyaEVMRWRCUTI1Q1FTeEZRVUZKTEVsQlFVMTNTU3hIUVVGUExFMUJRM1JDZUVjc1IwRkJUMWdzUzBGQlN6SkNMRWxCUVZkb1JDeEhRVUZMZDBrc1JVRk5PVUlzVDBGR1NYaEhMRWxCUmtwM1J5eEhRVUZQTEU5QlJWTjRSeXhIUVVGUFowTXNTMEZCU3l0RkxFbEJRVWtzUlVGQlJ5eEZRVUZKY0Vvc1NVRkZhRU54UXl4SFFVZFVMMFVzVDBGQlQxRXNWVUZCVlhkTUxGTkJRVmNzVTBGQmJVSnFSeXhGUVVGUmJVWXNSMEZIY2tRc1QwRkdRVzVHTEV0QlFXOUNMRVZCUTJadFJpeEhRVUZWVGl4WlFVRlpOMFVzUlVGQlVTeEZRVUZITTBJc1MwRkJTM2hFTEZGQlEzUkNMRWxCUVdaM1JDeExRVUZMTWtJc1NVRkRNRUlzUjBGQk5VSXNTVUZCVHpOQ0xFdEJRVXN5UWl4SFFVRlZMRWRCUkVzelFpeExRVUZMTWtJc1NVRkpNME12Uml4UFFVRlBVU3hWUVVGVmVVd3NXVUZCWXl4VFFVRnpRbXhITEVWQlFWRnRSaXhIUVVNelJHNUdMRXRCUVc5Q0xFVkJRMlp0Uml4SFFVRlZUaXhaUVVGWk4wVXNSVUZCVVN4RlFVRkhNMElzUzBGQlMzaEVMRkZCUXpORExFbEJRVWx0UlN4RlFVRk5XQ3hMUVVGTE1rSXNSMEZCVnpOQ0xFdEJRVXN5UWl4RlFVRlRMRWxCUVUwc1JVRkRPVU1zVDBGQll5eE5RVUZPYUVJc1JVRkJjMElzVjBGQlRrRXNSVUZCYlVKQkxFZEJSemRETDBVc1QwRkJUMUVzVlVGQlZUQk1MRmxCUVdNc1UwRkJjMEp1Unl4RlFVRlJiVVlzUjBGRE0wUnVSaXhMUVVGdlFpeEZRVU5tYlVZc1IwRkJWVTRzV1VGQldUZEZMRVZCUVZFc1JVRkJSek5DTEV0QlFVdDRSQ3hSUVVNelF5eEpRVUZKYlVVc1JVRkJUVmdzUzBGQlN6SkNMRVZCUVZNc1IwRkJUVE5DTEV0QlFVc3lRaXhKUVVGWExFVkJRemxETEU5QlFXTXNUVUZCVG1oQ0xFVkJRWE5DTEZkQlFVNUJMRVZCUVcxQ1FTeEhRVWMzUXk5RkxFOUJRVTlSTEZWQlFWVXlUQ3haUVVGakxGTkJRWE5DY0Vjc1JVRkJVVzFHTEVkQlNUTkVMRTlCU0VGdVJpeExRVUZ2UWl4RlFVTm1iVVlzUjBGQlZVNHNXVUZCV1RkRkxFVkJRVkVzUlVGQlJ6TkNMRXRCUVV0NFJDeFJRVVZ1UTNkRUxFdEJRVXN5UWl4SFFVTldNMElzUzBGQlN6SkNMRVZCUVZNc1NVRkJUU3hGUVVOd1FqTkNMRXRCUVVzeVFpeEZRVUZUTEVsQlFVMHNSMEZEY0VJelFpeExRVUZMTWtJc1JVRkJVeXhKUVVGTkxFbEJSM3BDTDBZc1QwRkJUMUVzVlVGQlZUUk1MRmxCUVdNc1UwRkJjMEp5Unl4RlFVRlJiVVlzUjBGSk0wUXNUMEZJUVc1R0xFdEJRVzlDTEVWQlEyWnRSaXhIUVVGVlRpeFpRVUZaTjBVc1JVRkJVU3hGUVVGSE0wSXNTMEZCUzNoRUxGRkJSVzVEZDBRc1MwRkJTekpDTEVsQlFWY3NSMEZEY2tJelFpeExRVUZMTWtJc1JVRkJVeXhKUVVGTkxFZEJRM0JDTTBJc1MwRkJTekpDTEVWQlFWTXNTVUZCVFN4RlFVTndRak5DTEV0QlFVc3lRaXhGUVVGVExFbEJSMjVDTDBZc1QwRkJUMUVzVlVGQlZUWk1MRmxCUVdNc1UwRkJjMEowUnl4RlFVRlJiVVlzUjBGSE0wUXNUMEZHUVc1R0xFdEJRVzlDTEVWQlEyWnRSaXhIUVVGVlRpeFpRVUZaTjBVc1JVRkJVU3hGUVVGSE0wSXNTMEZCUzNoRUxGRkJRM0JEWkN4UlFVRlJNa1lzUzBGQlMzSkNMRXRCUVUweVFpeEhRVUZSTEVWQlFVMHNSMEZCU1N4SlFVYzVReTlHTEU5QlFVOVJMRlZCUVZVNFRDeFpRVUZqTEZOQlFYTkNka2NzUlVGQlVXMUdMRWRCUnpORUxFOUJSa0Z1Uml4TFFVRnZRaXhGUVVObWJVWXNSMEZCVlU0c1dVRkJXVGRGTEVWQlFWRXNSVUZCUnpOQ0xFdEJRVXQ0UkN4UlFVTndRMlFzVVVGQlVUSkdMRXRCUVV0eVFpeExRVUZOTWtJc1IwRkJVU3hGUVVGUExFZEJRVWtzU1VGSEwwTXZSaXhQUVVGUFVTeFZRVUZWSzB3c1lVRkJaU3hUUVVGMVFuaEhMRVZCUVZGdFJpeEhRVWMzUkN4UFFVWkJia1lzUzBGQmIwSXNSVUZEWm0xR0xFZEJRVlZPTEZsQlFWazNSU3hGUVVGUkxFVkJRVWN6UWl4TFFVRkxlRVFzVVVGRGNFTmtMRkZCUVZFeVJpeExRVUZMY2tJc1MwRkJUVEpDTEVkQlFWRXNSVUZCVFN4SFFVRkpMRWxCUnpsREwwWXNUMEZCVDFFc1ZVRkJWV2ROTEdGQlFXVXNVMEZCZFVKNlJ5eEZRVUZSYlVZc1IwRkhOMFFzVDBGR1FXNUdMRXRCUVc5Q0xFVkJRMlp0Uml4SFFVRlZUaXhaUVVGWk4wVXNSVUZCVVN4RlFVRkhNMElzUzBGQlMzaEVMRkZCUTNCRFpDeFJRVUZSTWtZc1MwRkJTM0pDTEV0QlFVMHlRaXhIUVVGUkxFVkJRVThzUjBGQlNTeEpRVk12UXk5R0xFOUJRVTlSTEZWQlFWVnBUU3haUVVGakxGTkJRWE5DY2t3c1JVRkJUekpGTEVWQlFWRnlSQ3hGUVVGWmQwa3NTVUZET1VVNVNpeEhRVUZUUVN4RlFVTlVNa1VzUzBGQmIwSXNSVUZEY0VKeVJDeExRVUUwUWl4RlFVTjJRbmRKTEVsQlJVaEtMRk5CUVZNeFJ5eExRVUZOYUVRc1JVRkJUekpGTEVWQlFWRnlSQ3hGUVVSbWNVVXNTMEZCU3l0RkxFbEJRVWtzUlVGQlJ5eEZRVUZKY0Vvc1IwRkJZeXhGUVVOUExFZEJSM1JFTEVsQlFVazJTU3hGUVVGTkxFVkJRMDU0U1N4RlFVRkpMRVZCUlZJc1NVRkVRWEZDTEV0QlFVc3lRaXhIUVVGclFpeEpRVUZTTTBVc1NVRkRUakpDTEVWQlFVbE1MRWxCUVdVMlNTeEhRVUZQTEUxQlEycERia2dzUzBGQlN6SkNMRVZCUVZOb1JDeEhRVUZOTTBJc1JVRkJVVzFMTEVWQlFVOHNTVUZIY2tNc1QwRkJUM2hHTEVWQlFWTnlSQ3hIUVVkc1FqRkRMRTlCUVU5UkxGVkJRVlZyVFN4WlFVRmpMRk5CUVhOQ2RFd3NSVUZCVHpKRkxFVkJRVkZ5UkN4RlFVRlpkMGtzU1VGRE9VVTVTaXhIUVVGVFFTeEZRVU5VTWtVc1MwRkJiMElzUlVGRGNFSnlSQ3hMUVVFMFFpeEZRVU4yUW5kSkxFbEJSVWhLTEZOQlFWTXhSeXhMUVVGTmFFUXNSVUZCVHpKRkxFVkJRVkZ5UkN4RlFVUm1jVVVzUzBGQlN5dEZMRWxCUVVrc1JVRkJSeXhGUVVGSmNFb3NSMEZCWXl4RlFVTlBMRWRCUjNSRUxFbEJRVWxMTEVWQlFVbE1MRVZCUVdFc1JVRkRha0kyU1N4RlFVRk5MRVZCUlZZc1NVRkVRVzVJTEV0QlFVc3lRaXhGUVVGVGFFUXNSMEZCWVN4SlFVRlNNMElzU1VGRFZqSkNMRWRCUVVzc1NVRkJUWGRKTEVkQlFVOHNUVUZEZWtKdVNDeExRVUZMTWtJc1JVRkJVMmhFTEVkQlFVMHpRaXhGUVVGUmJVc3NSVUZCVHl4SlFVZHlReXhQUVVGUGVFWXNSVUZCVTNKRUxFZEJSMnhDTVVNc1QwRkJUMUVzVlVGQlZXMU5MRmRCUVdFc1UwRkJjVUoyVEN4RlFVRlBNa1VzUlVGQlVXMUdMRWRCUzJoRkxFOUJTa0U1U2l4SFFVRlRRU3hGUVVOVU1rVXNTMEZCYjBJc1JVRkRabTFHTEVkQlFWVktMRk5CUVZNeFJ5eExRVUZOYUVRc1JVRkJUekpGTEVWQlFWRXNSVUZCUnl4SlFVRk5MRWRCUTNSRU0wSXNTMEZCU3pKQ0xFZEJRVzFDTEVsQlFWSXpSU3hGUVVOVU1rVXNSVUZCVXl4SFFVZHNRaTlHTEU5QlFVOVJMRlZCUVZWdlRTeGpRVUZuUWl4VFFVRjNRbmhNTEVWQlFVOHlSU3hGUVVGUmJVWXNSMEZOZEVVc1QwRk1RVGxLTEVkQlFWTkJMRVZCUTFReVJTeExRVUZ2UWl4RlFVTm1iVVlzUjBGQlZVb3NVMEZCVXpGSExFdEJRVTFvUkN4RlFVRlBNa1VzUlVGQlVTeEZRVUZITEUxQlFWRXNSMEZEZUVRelFpeExRVUZMTWtJc1IwRkJiVUlzU1VGQlVqTkZMRVZCUTJoQ1owUXNTMEZCU3pKQ0xFVkJRVk1zUjBGQlRUTkZMRWxCUVZVc1JVRkRka0l5UlN4RlFVRlRMRWRCUjJ4Q0wwWXNUMEZCVDFFc1ZVRkJWWEZOTEdOQlFXZENMRk5CUVhkQ2Vrd3NSVUZCVHpKRkxFVkJRVkZ0Uml4SFFVMTBSU3hQUVV4Qk9Vb3NSMEZCVTBFc1JVRkRWREpGTEV0QlFXOUNMRVZCUTJadFJpeEhRVUZWU2l4VFFVRlRNVWNzUzBGQlRXaEVMRVZCUVU4eVJTeEZRVUZSTEVWQlFVY3NUVUZCVVN4SFFVTjRSRE5DTEV0QlFVc3lRaXhIUVVGWE0wVXNTVUZCVlN4RlFVTXhRbWRFTEV0QlFVc3lRaXhGUVVGVExFZEJRV01zU1VGQlVqTkZMRVZCUTJJeVJTeEZRVUZUTEVkQlIyeENMMFlzVDBGQlQxRXNWVUZCVlhOTkxHTkJRV2RDTEZOQlFYZENNVXdzUlVGQlR6SkZMRVZCUVZGdFJpeEhRVkYwUlN4UFFWQkJPVW9zUjBGQlUwRXNSVUZEVkRKRkxFdEJRVzlDTEVWQlEyWnRSaXhIUVVGVlNpeFRRVUZUTVVjc1MwRkJUV2hFTEVWQlFVOHlSU3hGUVVGUkxFVkJRVWNzVjBGQldTeEhRVU0xUkROQ0xFdEJRVXN5UWl4RlFVRlRMRWRCUVUwelJTeEpRVUZWTEVkQlF6bENaMFFzUzBGQlN6SkNMRVZCUVZNc1IwRkJUVE5GTEVsQlFWVXNSMEZET1VKblJDeExRVUZMTWtJc1JVRkJVeXhIUVVGTk0wVXNTVUZCVlN4RlFVTTVRbWRFTEV0QlFVc3lRaXhIUVVGdFFpeEpRVUZTTTBVc1JVRkRWREpGTEVWQlFWTXNSMEZIYkVJdlJpeFBRVUZQVVN4VlFVRlZkVTBzWTBGQlowSXNVMEZCZDBJelRDeEZRVUZQTWtVc1JVRkJVVzFHTEVkQlVYUkZMRTlCVUVFNVNpeEhRVUZUUVN4RlFVTlVNa1VzUzBGQmIwSXNSVUZEWm0xR0xFZEJRVlZLTEZOQlFWTXhSeXhMUVVGTmFFUXNSVUZCVHpKRkxFVkJRVkVzUlVGQlJ5eFhRVUZaTEVkQlF6VkVNMElzUzBGQlN6SkNMRWRCUVZjelJTeEpRVUZWTEVkQlF6RkNaMFFzUzBGQlN6SkNMRVZCUVZNc1IwRkJUVE5GTEVsQlFWVXNSMEZET1VKblJDeExRVUZMTWtJc1JVRkJVeXhIUVVGTk0wVXNTVUZCVlN4RlFVTTVRbWRFTEV0QlFVc3lRaXhGUVVGVExFZEJRV01zU1VGQlVqTkZMRVZCUTJJeVJTeEZRVUZUTEVkQlIyeENMMFlzVDBGQlQxRXNWVUZCVlhkTkxGZEJRV0VzVTBGQmNVSTFUQ3hGUVVGUE1rVXNSVUZCVVhKRUxFVkJRVmwzU1N4SFFVYzFSU3hIUVVaQk9Vb3NSMEZCVTBFc1JVRkRWREpGTEV0QlFXOUNMRWRCUTJadFJpeEZRVUZWTEVOQlEySXNTVUZCU1N0Q0xFVkJRVkZzUnl4TFFVRkxLMFVzU1VGQlNTeEZRVUZKTEVWQlFVbHdTaXhGUVVGakxFZEJSVE5EYjBrc1UwRkJVekZITEV0QlFVMW9SQ3hGUVVGUE1rVXNSVUZCVVhKRUxFVkJRVmwxU3l4RlFVRlJMRWRCUVVsQkxFZEJSM2hFTEVsQlFVbHNTeXhGUVVGSkxFVkJRMHAzU1N4RlFVRk5MRVZCUTA0eVFpeEZRVUZOTEVWQlJWWXNTVUZFUVRsSkxFdEJRVXN5UWl4SFFVRnJRaXhKUVVGU00wVXNTVUZEVGpKQ0xFVkJRVWxNTEVsQlFXVTJTU3hIUVVGUExFMUJRemRDYmtzc1JVRkJVU3hIUVVGaExFbEJRVkk0VEN4SFFVRnpReXhKUVVGNlFqbEpMRXRCUVVzeVFpeEZRVUZUYUVRc1JVRkJTU3hMUVVNNVEyMUxMRVZCUVUwc1IwRkZVamxKTEV0QlFVc3lRaXhGUVVGVGFFUXNTVUZCVHpOQ0xFVkJRVkZ0U3l4SFFVRlJMRWRCUVVzeVFpeEZRVUZOTEVsQlIyeEVMRTlCUVU5dVNDeEZRVUZUY2tRc1IwRkhiRUl4UXl4UFFVRlBVU3hWUVVGVk1rMHNWMEZCWVN4VFFVRnhRaTlNTEVWQlFVOHlSU3hGUVVGUmNrUXNSVUZCV1hkSkxFZEJSelZGTEVkQlJrRTVTaXhIUVVGVFFTeEZRVU5VTWtVc1MwRkJiMElzUjBGRFptMUdMRVZCUVZVc1EwRkRZaXhKUVVGSkswSXNSVUZCVVd4SExFdEJRVXNyUlN4SlFVRkpMRVZCUVVrc1JVRkJTWEJLTEVWQlFXTXNSMEZGTTBOdlNTeFRRVUZUTVVjc1MwRkJUV2hFTEVWQlFVOHlSU3hGUVVGUmNrUXNSVUZCV1hWTExFVkJRVkVzUjBGQlNVRXNSMEZIZUVRc1NVRkJTV3hMTEVWQlFVbE1MRVZCUVdFc1JVRkRha0kyU1N4RlFVRk5MRVZCUTA0eVFpeEZRVUZOTEVWQlJWWXNTVUZFUVRsSkxFdEJRVXN5UWl4RlFVRlRhRVFzUjBGQllTeEpRVUZTTTBJc1NVRkRWakpDTEVkQlFVc3NTVUZCVFhkSkxFZEJRVThzVFVGRGNrSnVTeXhGUVVGUkxFZEJRV0VzU1VGQlVqaE1MRWRCUVhORExFbEJRWHBDT1Vrc1MwRkJTekpDTEVWQlFWTm9SQ3hGUVVGSkxFdEJRemxEYlVzc1JVRkJUU3hIUVVWU09Va3NTMEZCU3pKQ0xFVkJRVk5vUkN4SlFVRlBNMElzUlVGQlVXMUxMRWRCUVZFc1IwRkJTekpDTEVWQlFVMHNTVUZIYkVRc1QwRkJUMjVJTEVWQlFWTnlSQ3hIUVVkc1FqRkRMRTlCUVU5UkxGVkJRVlUwVFN4VlFVRlpMRk5CUVc5Q2FFMHNSVUZCVHpKRkxFVkJRVkZ0Uml4SFFVMDVSQ3hQUVV4Qk9Vb3NSMEZCVTBFc1JVRkRWREpGTEV0QlFXOUNMRVZCUTJadFJpeEhRVUZWU2l4VFFVRlRNVWNzUzBGQlRXaEVMRVZCUVU4eVJTeEZRVUZSTEVWQlFVY3NTMEZCVHl4TFFVTnVSRE5GTEVWQlFWRXNTVUZCUjBFc1JVRkJVU3hKUVVGUFFTeEZRVUZSTEVkQlEzUkRaMFFzUzBGQlN6SkNMRWRCUVcxQ0xFbEJRVkl6UlN4RlFVTlVNa1VzUlVGQlV5eEhRVWRzUWk5R0xFOUJRVTlSTEZWQlFWVTJUU3hoUVVGbExGTkJRWFZDYWswc1JVRkJUekpGTEVWQlFWRnRSaXhIUVUxd1JTeFBRVXhCT1Vvc1IwRkJVMEVzUlVGRFZESkZMRXRCUVc5Q0xFVkJRMlp0Uml4SFFVRlZTaXhUUVVGVE1VY3NTMEZCVFdoRUxFVkJRVTh5UlN4RlFVRlJMRVZCUVVjc1QwRkJVeXhQUVVONlJETkNMRXRCUVVzeVFpeEhRVUZ0UWl4SlFVRlNNMFVzUlVGRGFFSm5SQ3hMUVVGTE1rSXNSVUZCVXl4SFFVRk5NMFVzU1VGQlZTeEZRVU4yUWpKRkxFVkJRVk1zUjBGSGJFSXZSaXhQUVVGUFVTeFZRVUZWT0Uwc1lVRkJaU3hUUVVGMVFteE5MRVZCUVU4eVJTeEZRVUZSYlVZc1IwRk5jRVVzVDBGTVFUbEtMRWRCUVZOQkxFVkJRMVF5UlN4TFFVRnZRaXhGUVVObWJVWXNSMEZCVlVvc1UwRkJVekZITEV0QlFVMW9SQ3hGUVVGUE1rVXNSVUZCVVN4RlFVRkhMRTlCUVZNc1QwRkRla1F6UWl4TFFVRkxNa0lzUjBGQlZ6TkZMRWxCUVZVc1JVRkRNVUpuUkN4TFFVRkxNa0lzUlVGQlV5eEhRVUZqTEVsQlFWSXpSU3hGUVVOaU1rVXNSVUZCVXl4SFFVZHNRaTlHTEU5QlFVOVJMRlZCUVZVclRTeGhRVUZsTEZOQlFYVkNiazBzUlVGQlR6SkZMRVZCUVZGdFJpeEhRVkZ3UlN4UFFWQkJPVW9zUjBGQlUwRXNSVUZEVkRKRkxFdEJRVzlDTEVWQlEyWnRSaXhIUVVGVlNpeFRRVUZUTVVjc1MwRkJUV2hFTEVWQlFVOHlSU3hGUVVGUkxFVkJRVWNzV1VGQllTeFpRVU0zUkROQ0xFdEJRVXN5UWl4SFFVRnRRaXhKUVVGU00wVXNSVUZEYUVKblJDeExRVUZMTWtJc1JVRkJVeXhIUVVGTk0wVXNTVUZCVlN4RlFVTTVRbWRFTEV0QlFVc3lRaXhGUVVGVExFZEJRVTB6UlN4SlFVRlZMRWRCUXpsQ1owUXNTMEZCU3pKQ0xFVkJRVk1zUjBGQlRUTkZMRWxCUVZVc1IwRkRka0l5UlN4RlFVRlRMRWRCUjJ4Q0wwWXNUMEZCVDFFc1ZVRkJWV2RPTEdGQlFXVXNVMEZCZFVKd1RTeEZRVUZQTWtVc1JVRkJVVzFHTEVkQlUzQkZMRTlCVWtFNVNpeEhRVUZUUVN4RlFVTlVNa1VzUzBGQmIwSXNSVUZEWm0xR0xFZEJRVlZLTEZOQlFWTXhSeXhMUVVGTmFFUXNSVUZCVHpKRkxFVkJRVkVzUlVGQlJ5eFpRVUZoTEZsQlEzcEVNMFVzUlVGQlVTeEpRVUZIUVN4RlFVRlJMRmRCUVdGQkxFVkJRVkVzUjBGRE5VTm5SQ3hMUVVGTE1rSXNSMEZCVnpORkxFbEJRVlVzUjBGRE1VSm5SQ3hMUVVGTE1rSXNSVUZCVXl4SFFVRk5NMFVzU1VGQlZTeEhRVU01UW1kRUxFdEJRVXN5UWl4RlFVRlRMRWRCUVUwelJTeEpRVUZWTEVWQlF6bENaMFFzUzBGQlN6SkNMRVZCUVZNc1IwRkJZeXhKUVVGU00wVXNSVUZEWWpKRkxFVkJRVk1zUjBGclFteENMMFlzVDBGQlQxRXNWVUZCVldsT0xHRkJRV1VzVTBGQmRVSnlUU3hGUVVGUE1rVXNSVUZCVVcxR0xFZEJRM0JGTEU5QlFVOUdMRmRCUVZjMVJ5eExRVUZOYUVRc1JVRkJUekpGTEVkQlFWRXNSVUZCVFcxR0xFbEJSeTlEYkV3c1QwRkJUMUVzVlVGQlZXdE9MR0ZCUVdVc1UwRkJkVUowVFN4RlFVRlBNa1VzUlVGQlVXMUdMRWRCUTNCRkxFOUJRVTlHTEZkQlFWYzFSeXhMUVVGTmFFUXNSVUZCVHpKRkxFZEJRVkVzUlVGQlQyMUdMRWxCWVdoRWJFd3NUMEZCVDFFc1ZVRkJWVzFPTEdOQlFXZENMRk5CUVhkQ2RrMHNSVUZCVHpKRkxFVkJRVkZ0Uml4SFFVTjBSU3hQUVVGUFF5eFpRVUZaTDBjc1MwRkJUV2hFTEVWQlFVOHlSU3hIUVVGUkxFVkJRVTF0Uml4SlFVZG9SR3hNTEU5QlFVOVJMRlZCUVZWdlRpeGpRVUZuUWl4VFFVRjNRbmhOTEVWQlFVOHlSU3hGUVVGUmJVWXNSMEZEZEVVc1QwRkJUME1zV1VGQldTOUhMRXRCUVUxb1JDeEZRVUZQTWtVc1IwRkJVU3hGUVVGUGJVWXNTVUZKYWtSc1RDeFBRVUZQVVN4VlFVRlZORU1zUzBGQlR5eFRRVUZsZFVjc1JVRkJVV3RGTEVWQlFXRXpTaXhGUVVGUFF5eEhRVU5xUlN4SlFVRkxia1VzVDBGQlQydEVMRk5CUVZONVJ5eEhRVUZUTEUxQlFVMHNTVUZCU1RGSkxGVkJRVlVzSzBKQlVXeEVMRWRCVUV0cFJDeEpRVUZQUVN4RlFVRlJMRWRCUTJaRExFZEJRV1VzU1VGQlVrRXNTVUZCVjBFc1JVRkJUVU1zUzBGQlMzaEVMRkZCUXpsQ2FVNHNSMEZCWld4RkxFVkJRVTh2U1N4VFFVRlJhVTRzUlVGQlkyeEZMRVZCUVU4dlNTeFJRVU5zUkdsT0xFbEJRV0ZCTEVWQlFXTXNSMEZETlVJeFNpeEZRVUZOTEVkQlFVdEJMRVZCUVUxRUxFbEJRVTlETEVWQlFVMUVMRWRCUnpsQ1F5eEpRVUZSUkN4RlFVRlBMRTlCUVU4c1JVRkRNVUlzUjBGQmMwSXNTVUZCYkVKNVJpeEZRVUZQTDBrc1VVRkJaME1zU1VGQmFFSjNSQ3hMUVVGTGVFUXNUMEZCWXl4UFFVRlBMRVZCUjNKRUxFZEJRVWxwVGl4RlFVRmpMRVZCUTJoQ0xFMUJRVTBzU1VGQlNXaE9MRmRCUVZjc05rSkJSWFpDTEVkQlFVbHhSQ3hGUVVGUkxFZEJRVXRCTEVkQlFWTkZMRXRCUVV0NFJDeFBRVUZSTEUxQlFVMHNTVUZCU1VNc1YwRkJWeXh6UWtGRE5VUXNSMEZCU1hORUxFVkJRVTBzUlVGQlJ5eE5RVUZOTEVsQlFVbDBSQ3hYUVVGWExESkNRVWM1UW5ORUxFVkJRVTFETEV0QlFVdDRSQ3hUUVVGUmRVUXNSVUZCVFVNc1MwRkJTM2hFTEZGQlF6bENLMGtzUlVGQlR5OUpMRTlCUVZOcFRpeEZRVUZqTVVvc1JVRkJUVVFzU1VGRGRFTkRMRVZCUVUxM1JpeEZRVUZQTDBrc1QwRkJVMmxPTEVWQlFXTXpTaXhIUVVkMFF5eEpRVUZKWml4RlFVRk5aMElzUlVGQlRVUXNSVUZGYUVJc1IwRkJTVVVzVDBGQlUzVkdMRWRCUVhGRUxHMUNRVUZ3UTNKS0xGZEJRVmRGTEZWQlFWVnpUaXhYUVVWcVJERktMRXRCUVVzd1NpeFhRVUZYUkN4RlFVRmhNMG9zUlVGQlQwTXNVVUZETDBJc1IwRkJTVU1zVDBGQlUzVkdMRWRCUVZWNlJpeEZRVUZSTWtvc1IwRkJaVUVzUlVGQll6RktMRVZCUldwRkxFbEJRVXNzU1VGQlNYQkNMRVZCUVVsSkxFVkJRVTBzUlVGQlIwb3NSMEZCU3l4SlFVRkxRU3hGUVVNNVFqUkhMRVZCUVU4MVJ5eEZRVUZKT0Vzc1IwRkJaWHBLTEV0QlFVdHlRaXhGUVVGSmJVSXNVVUZIY2tNMVJDeFhRVUZYUlN4VlFVRlZkVTRzU1VGQlNUVkpMRXRCUTNaQ2QwVXNSVUZEUVhaR0xFdEJRVXRwU0N4VFFVRlRia2dzUlVGQlQwTXNSMEZEY2tJd1NpeEhRVWxLTEU5QlFVOHhTeXhIUVU5VWJrUXNUMEZCVDFFc1ZVRkJWVFJDTEV0QlFVOHNVMEZCWlRKRExFVkJRVXRpTEVWQlFVOURMRVZCUVVzNVFpeEhRVVYwUkN4SFFVRnRRaXhwUWtGQlVqQkRMRVZCUVd0Q0xFTkJVek5DTEVkQlVuRkNMR2xDUVVGV1lpeEhRVU5VTjBJc1JVRkJWelpDTEVWQlExaEJMRVZCUVZFc1JVRkRVa01zUlVGQlRVTXNTMEZCUzNoRUxGRkJRMkVzYVVKQlFWSjFSQ3hKUVVOb1FqbENMRVZCUVZjNFFpeEZRVU5ZUVN4RlFVRk5ReXhMUVVGTGVFUXNZVUZGU1RCQ0xFbEJRV0pFTEVkQlFUaERMR2xDUVVGaVFTeEZRVU51UXl4TlFVRk5MRWxCUVVsd1FpeFZRVUZWTERaQ1FVVjBRaXhIUVVGM1FpeHBRa0ZCWW05Q0xFbEJRVEJDY2tNc1QwRkJUM2xETEZkQlFWZEtMRWRCUTNKRUxFMUJRVTBzU1VGQlNYQkNMRlZCUVZVc2NVSkJRWFZDYjBJc1IwRkZOME1zUjBGQmJVSXNTVUZCWmpCRExFVkJRVWx1UlN4UFFVRmpMRU5CUTNCQ0xFbEJRVWx2VGl4RlFVRlBha29zUlVGQlNXdEtMRmRCUVZjc1NVRkRVaXhUUVVGaU5Vd3NSMEZCZFVJeVRDeEZRVUZQTEV0QlEyeENMRmRCUVdJelRDeExRVVZHTUVNc1JVRkJUV2xLTEZGQlIyTXNhVUpCUVZKcVNpeEpRVU5vUWtFc1IwRkJXU3hMUVVsa0xFZEJRVWxpTEVWQlFWRXNSMEZCUzBVc1MwRkJTM2hFTEU5QlFWTnpSQ3hIUVVGVFJTeExRVUZMZUVRc1QwRkJVM1ZFTEVWQlEzQkVMRTFCUVUwc1NVRkJTWFJFTEZkQlFWY3NjMEpCUjNaQ0xFZEJRVWx6UkN4SFFVRlBSQ3hGUVVOVUxFOUJRVTlGTEV0QlVWUXNTVUZCU1hKQ0xFVkJRMG9zUjBGT1FXMUNMRXRCUVd0Q0xFVkJRMnhDUXl4UFFVRmpOMElzU1VGQlVqWkNMRVZCUVc5Q1F5eExRVUZMZUVRc1QwRkJVM1ZFTEVsQlFWRXNSVUZGTTBOWkxFbEJRVXRCTEVWQlFVMHNSMEZIUnl4cFFrRkJVa0VzUlVGRFZDeEpRVUZMYUVNc1JVRkJTVzFDTEVWQlFVOXVRaXhGUVVGSmIwSXNTVUZCVDNCQ0xFVkJRM3BDY1VJc1MwRkJTM0pDTEVkQlFVdG5ReXhOUVVWUUxFTkJRMHdzU1VGQlNUUkdMRVZCUVZFelN5eFBRVUZQYTBRc1UwRkJVelpDTEVkQlEzaENRU3hGUVVOQkwwVXNUMEZCVDIxQ0xFdEJRVXMwUkN4RlFVRkxNVU1zUjBGRGFrSmpMRVZCUVUxM1NDeEZRVUZOTDBvc1QwRkRhRUlzUjBGQldTeEpRVUZTZFVNc1JVRkRSaXhOUVVGTkxFbEJRVWxzUXl4VlFVRlZMR05CUVdkQ09FUXNSVUZEYkVNc2NVTkJSVW9zU1VGQlMyaERMRVZCUVVrc1JVRkJSMEVzUlVGQlNXOUNMRVZCUVUxRUxFbEJRVk51UWl4RlFVTTNRbkZDTEV0QlFVdHlRaXhGUVVGSmJVSXNSMEZCVTNsSExFVkJRVTAxU0N4RlFVRkpTU3hIUVVsb1F5eFBRVUZQYVVJc1RVRk5WQ3hKUVVGSk9Fb3NhMEpCUVc5Q0xHOUNRVVY0UWl4VFFVRlRReXhaUVVGaE5VVXNSMEZOY0VJc1NVRkdRVUVzUjBGR1FVRXNSVUZCVFVFc1JVRkJTVFpGTEUxQlFVMHNTMEZCU3l4SlFVVllNVVVzVDBGQlQwUXNVVUZCVVhsRkxHdENRVUZ0UWl4TFFVVndRM1JPTEU5QlFWTXNSVUZCUnl4TlFVRlBMRWRCUlROQ0xFdEJRVTh5U1N4RlFVRkpNMGtzVDBGQlV5eEhRVUZOTEVkQlEzaENNa2tzUjBGQldTeEpRVVZrTEU5QlFVOUJMRVZCUjFRc1UwRkJVMjFDTEUxQlFVODVSaXhIUVVOa0xFOUJRVWxCTEVWQlFVa3NSMEZCVnl4SlFVRk5RU3hGUVVGRmJFSXNVMEZCVXl4SlFVTTNRbXRDTEVWQlFVVnNRaXhUUVVGVExFbEJSM0JDTEZOQlFWTkpMRmxCUVdGMFFpeEZRVUZSTmt3c1IwRkZOVUlzU1VGQlNUbEhMRVZCUkVvNFJ5eEZRVUZSUVN4SFFVRlRReXhGUVVGQlFTeEZRVTFxUWl4SlFVcEJMRWxCUVVreFRpeEZRVUZUTkVJc1JVRkJUelZDTEU5QlEyaENNazRzUlVGQlowSXNTMEZEYUVJMVJDeEZRVUZSTEVkQlJVZzFTQ3hGUVVGSkxFVkJRVWRCTEVWQlFVbHVReXhKUVVGVmJVTXNSVUZCUnl4RFFVa3ZRaXhKUVVoQmQwVXNSVUZCV1M5RkxFVkJRVTk1VEN4WFFVRlhiRXdzU1VGSFpDeFBRVUZWZDBVc1JVRkJXU3hOUVVGUkxFTkJSVFZETEVsQlFVdG5TQ3hGUVVGbExFTkJSV3hDTEVkQlFVbG9TQ3hGUVVGWkxFMUJRVkVzUlVGRmFrSTRSeXhIUVVGVExFbEJRVTBzUjBGQlJ6RkVMRVZCUVUxc1JDeExRVUZMTEVsQlFVMHNTVUZCVFN4TFFVTTVReXhUUVVOTExFZEJRVWt4UlN4RlFVRkpMRWxCUVUxdVF5eEZRVUZSTEVWQlJYUkNlVTRzUjBGQlV5eEpRVUZOTEVkQlFVY3hSQ3hGUVVGTmJFUXNTMEZCU3l4SlFVRk5MRWxCUVUwc1MwRkRPVU1zVTBGSlJqaEhMRVZCUVdkQ2FFZ3NSVUZGYUVJc1UwRkpSaXhIUVVGSlFTeEZRVUZaTEUxQlFWRXNSVUZEYWtJNFJ5eEhRVUZUTEVsQlFVMHNSMEZCUnpGRUxFVkJRVTFzUkN4TFFVRkxMRWxCUVUwc1NVRkJUU3hMUVVNNVF6aEhMRVZCUVdkQ2FFZ3NSVUZEYUVJc1UwRkpSa0VzUlVGQmEwVXNUMEZCY2tSblNDeEZRVUZuUWl4UFFVRlZMRWRCUVV0b1NDeEZRVUZaTEZsQlF5OURaMGdzU1VGRlNrWXNSMEZCVXl4SlFVRk5MRWRCUVVjeFJDeEZRVUZOYkVRc1MwRkJTeXhKUVVGTkxFbEJRVTBzUzBGTmFFUXNSMEZJUVRoSExFVkJRV2RDTEV0QlIxcG9TQ3hGUVVGWkxFbEJRVTBzUTBGRGNFSXNTVUZCU3poSExFZEJRVk1zUjBGQlN5eEZRVUZITEUxQlEzUkNNVVFzUlVGQlRXeEVMRXRCUVV0R0xGRkJRMDRzUjBGQlNVRXNSVUZCV1N4TFFVRlBMRU5CUXpWQ0xFbEJRVXM0Unl4SFFVRlRMRWRCUVVzc1JVRkJSeXhOUVVOMFFqRkVMRVZCUVUxc1JDeExRVU5LUml4SFFVRmhMRVZCUVUwc1NVRkRVQ3hIUVVGYVFTeEZRVUZ0UWl4VlFVVm9RaXhIUVVGSlFTeEZRVUZaTEUxQlFWTXNRMEZET1VJc1NVRkJTemhITEVkQlFWTXNSMEZCU3l4RlFVRkhMRTFCUTNSQ01VUXNSVUZCVFd4RUxFdEJRMHBHTEVkQlFXRXNSMEZCVFN4SlFVTnVRa0VzUjBGQllTeEZRVUZOTEVkQlFVOHNTVUZEWkN4SFFVRmFRU3hGUVVGdFFpeFRRVVZvUWl4RFFVRkJMRXRCUVVsQkxFVkJRVmtzVTBGVGNrSXNUVUZCVFN4SlFVRkpNa01zVFVGQlRTeHpRa0ZTYUVJc1NVRkJTMjFGTEVkQlFWTXNSMEZCU3l4RlFVRkhMRTFCUTNSQ01VUXNSVUZCVFd4RUxFdEJRMHBHTEVkQlFXRXNSMEZCVHl4SlFVTndRa0VzUjBGQllTeEhRVUZOTEVkQlFVOHNTVUZETVVKQkxFZEJRV0VzUlVGQlRTeEhRVUZQTEVsQlEyUXNSMEZCV2tFc1JVRkJiVUlzVFVGUGVrSXNUMEZCVDI5RUxFVkJSMVFzVTBGQlUyeEZMR0ZCUVdNNFF5eEhRVVZ5UWl4SlFVUkJMRWxCUVVscFJpeEZRVUZaTEVkQlExQjZUQ3hGUVVGSkxFVkJRVWRCTEVWQlFVbDNSeXhGUVVGSk0wa3NVMEZCVlcxRExFVkJSV2hEZVV3c1JVRkJWUzlITEV0QlFYbENMRWxCUVhCQ09FSXNSVUZCU1RCRkxGZEJRVmRzVEN4SlFVVm9ReXhQUVVGUGVVd3NSVUZIVkN4VFFVRlRNMGdzWlVGQlowSXdReXhGUVVGTE9FVXNSMEZITlVJc1NVRkdRU3hKUVVGSlNTeEZRVUZIUXl4RlFVRkpReXhGUVVOUVNDeEZRVUZaTEVkQlExQjZUQ3hGUVVGSkxFVkJRVWRCTEVWQlFVbDNSeXhGUVVGSk0wa3NWMEZEYWtKNVRpeEhRVUZUTEVkQlFVc3NTMEZFWVhSTUxFVkJTV2hETWt3c1IwRkVRVVFzUlVGQlNXeEdMRVZCUVVrd1JTeFhRVUZYYkV3c1MwRkRWQ3hGUVVOV05Fd3NSVUZCUzBZc1JVRkJTU3hKUVVOVVJDeEZRVUZWTDBjc1MwRkJTMnRJTEVkQlEyWklMRVZCUVZVdlJ5eExRVUZMYVVnc1IwRkhha0lzVDBGQlQwWXNSVUZIVkN4VFFVRlRla3NzWTBGQlpYZEdMRWRCUTNSQ0xFOUJRVTh6U2l4UFFVRlBaMUFzV1VGQldWUXNXVUZCV1RWRkxFbEJSM2hETEZOQlFWTm9SQ3hYUVVGWmMwa3NSVUZCUzBNc1JVRkJTeTlKTEVWQlFWRnVSaXhIUVVOeVF5eEpRVUZMTEVsQlFVbHRReXhGUVVGSkxFVkJRVWRCTEVWQlFVbHVReXhMUVVOaWJVTXNSVUZCU1dkRUxFZEJRVlVyU1N4RlFVRkpiRThzVVVGQldXMURMRWRCUVVzNFRDeEZRVUZKYWs4c1ZVRkVhRUp0UXl4RlFVVTFRaXRNTEVWQlFVa3ZUQ3hGUVVGSlowUXNSMEZCVlRoSkxFVkJRVWs1VEN4SFFVVjRRaXhQUVVGUFFTeEZRVTFVTEZOQlFWTjBRaXhYUVVGWmQwSXNSVUZCUzBzc1IwRkRlRUlzVDBGQlQwd3NZVUZCWlVzc1IwRkRXaXhOUVVGUVRDeEhRVUZyUXl4TlFVRnVRa0VzUlVGQlNUaE1MR0ZCUVN0RExFMUJRWGhDT1V3c1JVRkJTVGhNTEZsQlFWbERMRTFCUTNwRUwwd3NSVUZCU1RoTUxGbEJRVmxETEU5QlFWTXhUQ3hGUVVGTE1Fd3NTMEZGY0VNc1UwRkJVek5NTEZsQlFXRktMRWRCUlhCQ0xFOUJRVTlCTEVkQlFWRkJJaXdpWm1sc1pTSTZJaTlvYjIxbEwzcHBibTh2Y0hKdmFtVmpkSE12YzJWaGRHMWhjSFl5TDIxaGMzUmxjaTl6WldGMGJXRndkakl2WTJ4cFpXNTBMMjV2WkdWZmJXOWtkV3hsY3k5aWRXWm1aWEl2YVc1a1pYZ3Vhbk1pZlE9PSIsIlwidXNlIHN0cmljdFwiO3ZhciBSZWZsZWN0T3duS2V5cyxSPVwib2JqZWN0XCI9PXR5cGVvZiBSZWZsZWN0P1JlZmxlY3Q6bnVsbCxSZWZsZWN0QXBwbHk9UiYmXCJmdW5jdGlvblwiPT10eXBlb2YgUi5hcHBseT9SLmFwcGx5OmZ1bmN0aW9uKGUsdCxuKXtyZXR1cm4gRnVuY3Rpb24ucHJvdG90eXBlLmFwcGx5LmNhbGwoZSx0LG4pfTtmdW5jdGlvbiBQcm9jZXNzRW1pdFdhcm5pbmcoZSl7Y29uc29sZSYmY29uc29sZS53YXJuJiZjb25zb2xlLndhcm4oZSl9UmVmbGVjdE93bktleXM9UiYmXCJmdW5jdGlvblwiPT10eXBlb2YgUi5vd25LZXlzP1Iub3duS2V5czpPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzP2Z1bmN0aW9uKGUpe3JldHVybiBPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyhlKS5jb25jYXQoT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyhlKSl9OmZ1bmN0aW9uKGUpe3JldHVybiBPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyhlKX07dmFyIE51bWJlcklzTmFOPU51bWJlci5pc05hTnx8ZnVuY3Rpb24oZSl7cmV0dXJuIGUhPWV9O2Z1bmN0aW9uIEV2ZW50RW1pdHRlcigpe0V2ZW50RW1pdHRlci5pbml0LmNhbGwodGhpcyl9bW9kdWxlLmV4cG9ydHM9RXZlbnRFbWl0dGVyLG1vZHVsZS5leHBvcnRzLm9uY2U9b25jZSxFdmVudEVtaXR0ZXIuRXZlbnRFbWl0dGVyPUV2ZW50RW1pdHRlcixFdmVudEVtaXR0ZXIucHJvdG90eXBlLl9ldmVudHM9dm9pZCAwLEV2ZW50RW1pdHRlci5wcm90b3R5cGUuX2V2ZW50c0NvdW50PTAsRXZlbnRFbWl0dGVyLnByb3RvdHlwZS5fbWF4TGlzdGVuZXJzPXZvaWQgMDt2YXIgZGVmYXVsdE1heExpc3RlbmVycz0xMDtmdW5jdGlvbiBjaGVja0xpc3RlbmVyKGUpe2lmKFwiZnVuY3Rpb25cIiE9dHlwZW9mIGUpdGhyb3cgbmV3IFR5cGVFcnJvcignVGhlIFwibGlzdGVuZXJcIiBhcmd1bWVudCBtdXN0IGJlIG9mIHR5cGUgRnVuY3Rpb24uIFJlY2VpdmVkIHR5cGUgJyt0eXBlb2YgZSl9ZnVuY3Rpb24gX2dldE1heExpc3RlbmVycyhlKXtyZXR1cm4gdm9pZCAwPT09ZS5fbWF4TGlzdGVuZXJzP0V2ZW50RW1pdHRlci5kZWZhdWx0TWF4TGlzdGVuZXJzOmUuX21heExpc3RlbmVyc31mdW5jdGlvbiBfYWRkTGlzdGVuZXIoZSx0LG4scil7dmFyIGksbyxzO2lmKGNoZWNrTGlzdGVuZXIobiksdm9pZCAwPT09KG89ZS5fZXZlbnRzKT8obz1lLl9ldmVudHM9T2JqZWN0LmNyZWF0ZShudWxsKSxlLl9ldmVudHNDb3VudD0wKToodm9pZCAwIT09by5uZXdMaXN0ZW5lciYmKGUuZW1pdChcIm5ld0xpc3RlbmVyXCIsdCxuLmxpc3RlbmVyP24ubGlzdGVuZXI6biksbz1lLl9ldmVudHMpLHM9b1t0XSksdm9pZCAwPT09cylzPW9bdF09biwrK2UuX2V2ZW50c0NvdW50O2Vsc2UgaWYoXCJmdW5jdGlvblwiPT10eXBlb2Ygcz9zPW9bdF09cj9bbixzXTpbcyxuXTpyP3MudW5zaGlmdChuKTpzLnB1c2gobiksKGk9X2dldE1heExpc3RlbmVycyhlKSk+MCYmcy5sZW5ndGg+aSYmIXMud2FybmVkKXtzLndhcm5lZD0hMDt2YXIgdT1uZXcgRXJyb3IoXCJQb3NzaWJsZSBFdmVudEVtaXR0ZXIgbWVtb3J5IGxlYWsgZGV0ZWN0ZWQuIFwiK3MubGVuZ3RoK1wiIFwiK1N0cmluZyh0KStcIiBsaXN0ZW5lcnMgYWRkZWQuIFVzZSBlbWl0dGVyLnNldE1heExpc3RlbmVycygpIHRvIGluY3JlYXNlIGxpbWl0XCIpO3UubmFtZT1cIk1heExpc3RlbmVyc0V4Y2VlZGVkV2FybmluZ1wiLHUuZW1pdHRlcj1lLHUudHlwZT10LHUuY291bnQ9cy5sZW5ndGgsUHJvY2Vzc0VtaXRXYXJuaW5nKHUpfXJldHVybiBlfWZ1bmN0aW9uIG9uY2VXcmFwcGVyKCl7aWYoIXRoaXMuZmlyZWQpcmV0dXJuIHRoaXMudGFyZ2V0LnJlbW92ZUxpc3RlbmVyKHRoaXMudHlwZSx0aGlzLndyYXBGbiksdGhpcy5maXJlZD0hMCwwPT09YXJndW1lbnRzLmxlbmd0aD90aGlzLmxpc3RlbmVyLmNhbGwodGhpcy50YXJnZXQpOnRoaXMubGlzdGVuZXIuYXBwbHkodGhpcy50YXJnZXQsYXJndW1lbnRzKX1mdW5jdGlvbiBfb25jZVdyYXAoZSx0LG4pe3ZhciByPXtmaXJlZDohMSx3cmFwRm46dm9pZCAwLHRhcmdldDplLHR5cGU6dCxsaXN0ZW5lcjpufSxpPW9uY2VXcmFwcGVyLmJpbmQocik7cmV0dXJuIGkubGlzdGVuZXI9bixyLndyYXBGbj1pLGl9ZnVuY3Rpb24gX2xpc3RlbmVycyhlLHQsbil7dmFyIHI9ZS5fZXZlbnRzO2lmKHZvaWQgMD09PXIpcmV0dXJuW107dmFyIGk9clt0XTtyZXR1cm4gdm9pZCAwPT09aT9bXTpcImZ1bmN0aW9uXCI9PXR5cGVvZiBpP24/W2kubGlzdGVuZXJ8fGldOltpXTpuP3Vud3JhcExpc3RlbmVycyhpKTphcnJheUNsb25lKGksaS5sZW5ndGgpfWZ1bmN0aW9uIGxpc3RlbmVyQ291bnQoZSl7dmFyIHQ9dGhpcy5fZXZlbnRzO2lmKHZvaWQgMCE9PXQpe3ZhciBuPXRbZV07aWYoXCJmdW5jdGlvblwiPT10eXBlb2YgbilyZXR1cm4gMTtpZih2b2lkIDAhPT1uKXJldHVybiBuLmxlbmd0aH1yZXR1cm4gMH1mdW5jdGlvbiBhcnJheUNsb25lKGUsdCl7Zm9yKHZhciBuPW5ldyBBcnJheSh0KSxyPTA7cjx0OysrciluW3JdPWVbcl07cmV0dXJuIG59ZnVuY3Rpb24gc3BsaWNlT25lKGUsdCl7Zm9yKDt0KzE8ZS5sZW5ndGg7dCsrKWVbdF09ZVt0KzFdO2UucG9wKCl9ZnVuY3Rpb24gdW53cmFwTGlzdGVuZXJzKGUpe2Zvcih2YXIgdD1uZXcgQXJyYXkoZS5sZW5ndGgpLG49MDtuPHQubGVuZ3RoOysrbil0W25dPWVbbl0ubGlzdGVuZXJ8fGVbbl07cmV0dXJuIHR9ZnVuY3Rpb24gb25jZShlLHQpe3JldHVybiBuZXcgUHJvbWlzZShmdW5jdGlvbihuLHIpe2Z1bmN0aW9uIGkobil7ZS5yZW1vdmVMaXN0ZW5lcih0LG8pLHIobil9ZnVuY3Rpb24gbygpe1wiZnVuY3Rpb25cIj09dHlwZW9mIGUucmVtb3ZlTGlzdGVuZXImJmUucmVtb3ZlTGlzdGVuZXIoXCJlcnJvclwiLGkpLG4oW10uc2xpY2UuY2FsbChhcmd1bWVudHMpKX1ldmVudFRhcmdldEFnbm9zdGljQWRkTGlzdGVuZXIoZSx0LG8se29uY2U6ITB9KSxcImVycm9yXCIhPT10JiZhZGRFcnJvckhhbmRsZXJJZkV2ZW50RW1pdHRlcihlLGkse29uY2U6ITB9KX0pfWZ1bmN0aW9uIGFkZEVycm9ySGFuZGxlcklmRXZlbnRFbWl0dGVyKGUsdCxuKXtcImZ1bmN0aW9uXCI9PXR5cGVvZiBlLm9uJiZldmVudFRhcmdldEFnbm9zdGljQWRkTGlzdGVuZXIoZSxcImVycm9yXCIsdCxuKX1mdW5jdGlvbiBldmVudFRhcmdldEFnbm9zdGljQWRkTGlzdGVuZXIoZSx0LG4scil7aWYoXCJmdW5jdGlvblwiPT10eXBlb2YgZS5vbilyLm9uY2U/ZS5vbmNlKHQsbik6ZS5vbih0LG4pO2Vsc2V7aWYoXCJmdW5jdGlvblwiIT10eXBlb2YgZS5hZGRFdmVudExpc3RlbmVyKXRocm93IG5ldyBUeXBlRXJyb3IoJ1RoZSBcImVtaXR0ZXJcIiBhcmd1bWVudCBtdXN0IGJlIG9mIHR5cGUgRXZlbnRFbWl0dGVyLiBSZWNlaXZlZCB0eXBlICcrdHlwZW9mIGUpO2UuYWRkRXZlbnRMaXN0ZW5lcih0LGZ1bmN0aW9uIGkobyl7ci5vbmNlJiZlLnJlbW92ZUV2ZW50TGlzdGVuZXIodCxpKSxuKG8pfSl9fU9iamVjdC5kZWZpbmVQcm9wZXJ0eShFdmVudEVtaXR0ZXIsXCJkZWZhdWx0TWF4TGlzdGVuZXJzXCIse2VudW1lcmFibGU6ITAsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIGRlZmF1bHRNYXhMaXN0ZW5lcnN9LHNldDpmdW5jdGlvbihlKXtpZihcIm51bWJlclwiIT10eXBlb2YgZXx8ZTwwfHxOdW1iZXJJc05hTihlKSl0aHJvdyBuZXcgUmFuZ2VFcnJvcignVGhlIHZhbHVlIG9mIFwiZGVmYXVsdE1heExpc3RlbmVyc1wiIGlzIG91dCBvZiByYW5nZS4gSXQgbXVzdCBiZSBhIG5vbi1uZWdhdGl2ZSBudW1iZXIuIFJlY2VpdmVkICcrZStcIi5cIik7ZGVmYXVsdE1heExpc3RlbmVycz1lfX0pLEV2ZW50RW1pdHRlci5pbml0PWZ1bmN0aW9uKCl7dm9pZCAwIT09dGhpcy5fZXZlbnRzJiZ0aGlzLl9ldmVudHMhPT1PYmplY3QuZ2V0UHJvdG90eXBlT2YodGhpcykuX2V2ZW50c3x8KHRoaXMuX2V2ZW50cz1PYmplY3QuY3JlYXRlKG51bGwpLHRoaXMuX2V2ZW50c0NvdW50PTApLHRoaXMuX21heExpc3RlbmVycz10aGlzLl9tYXhMaXN0ZW5lcnN8fHZvaWQgMH0sRXZlbnRFbWl0dGVyLnByb3RvdHlwZS5zZXRNYXhMaXN0ZW5lcnM9ZnVuY3Rpb24oZSl7aWYoXCJudW1iZXJcIiE9dHlwZW9mIGV8fGU8MHx8TnVtYmVySXNOYU4oZSkpdGhyb3cgbmV3IFJhbmdlRXJyb3IoJ1RoZSB2YWx1ZSBvZiBcIm5cIiBpcyBvdXQgb2YgcmFuZ2UuIEl0IG11c3QgYmUgYSBub24tbmVnYXRpdmUgbnVtYmVyLiBSZWNlaXZlZCAnK2UrXCIuXCIpO3JldHVybiB0aGlzLl9tYXhMaXN0ZW5lcnM9ZSx0aGlzfSxFdmVudEVtaXR0ZXIucHJvdG90eXBlLmdldE1heExpc3RlbmVycz1mdW5jdGlvbigpe3JldHVybiBfZ2V0TWF4TGlzdGVuZXJzKHRoaXMpfSxFdmVudEVtaXR0ZXIucHJvdG90eXBlLmVtaXQ9ZnVuY3Rpb24oZSl7Zm9yKHZhciB0PVtdLG49MTtuPGFyZ3VtZW50cy5sZW5ndGg7bisrKXQucHVzaChhcmd1bWVudHNbbl0pO3ZhciByPVwiZXJyb3JcIj09PWUsaT10aGlzLl9ldmVudHM7aWYodm9pZCAwIT09aSlyPXImJnZvaWQgMD09PWkuZXJyb3I7ZWxzZSBpZighcilyZXR1cm4hMTtpZihyKXt2YXIgbztpZih0Lmxlbmd0aD4wJiYobz10WzBdKSxvIGluc3RhbmNlb2YgRXJyb3IpdGhyb3cgbzt2YXIgcz1uZXcgRXJyb3IoXCJVbmhhbmRsZWQgZXJyb3IuXCIrKG8/XCIgKFwiK28ubWVzc2FnZStcIilcIjpcIlwiKSk7dGhyb3cgcy5jb250ZXh0PW8sc312YXIgdT1pW2VdO2lmKHZvaWQgMD09PXUpcmV0dXJuITE7aWYoXCJmdW5jdGlvblwiPT10eXBlb2YgdSlSZWZsZWN0QXBwbHkodSx0aGlzLHQpO2Vsc2V7dmFyIGY9dS5sZW5ndGgsdj1hcnJheUNsb25lKHUsZik7Zm9yKG49MDtuPGY7KytuKVJlZmxlY3RBcHBseSh2W25dLHRoaXMsdCl9cmV0dXJuITB9LEV2ZW50RW1pdHRlci5wcm90b3R5cGUuYWRkTGlzdGVuZXI9ZnVuY3Rpb24oZSx0KXtyZXR1cm4gX2FkZExpc3RlbmVyKHRoaXMsZSx0LCExKX0sRXZlbnRFbWl0dGVyLnByb3RvdHlwZS5vbj1FdmVudEVtaXR0ZXIucHJvdG90eXBlLmFkZExpc3RlbmVyLEV2ZW50RW1pdHRlci5wcm90b3R5cGUucHJlcGVuZExpc3RlbmVyPWZ1bmN0aW9uKGUsdCl7cmV0dXJuIF9hZGRMaXN0ZW5lcih0aGlzLGUsdCwhMCl9LEV2ZW50RW1pdHRlci5wcm90b3R5cGUub25jZT1mdW5jdGlvbihlLHQpe3JldHVybiBjaGVja0xpc3RlbmVyKHQpLHRoaXMub24oZSxfb25jZVdyYXAodGhpcyxlLHQpKSx0aGlzfSxFdmVudEVtaXR0ZXIucHJvdG90eXBlLnByZXBlbmRPbmNlTGlzdGVuZXI9ZnVuY3Rpb24oZSx0KXtyZXR1cm4gY2hlY2tMaXN0ZW5lcih0KSx0aGlzLnByZXBlbmRMaXN0ZW5lcihlLF9vbmNlV3JhcCh0aGlzLGUsdCkpLHRoaXN9LEV2ZW50RW1pdHRlci5wcm90b3R5cGUucmVtb3ZlTGlzdGVuZXI9ZnVuY3Rpb24oZSx0KXt2YXIgbixyLGksbyxzO2lmKGNoZWNrTGlzdGVuZXIodCksdm9pZCAwPT09KHI9dGhpcy5fZXZlbnRzKSlyZXR1cm4gdGhpcztpZih2b2lkIDA9PT0obj1yW2VdKSlyZXR1cm4gdGhpcztpZihuPT09dHx8bi5saXN0ZW5lcj09PXQpMD09LS10aGlzLl9ldmVudHNDb3VudD90aGlzLl9ldmVudHM9T2JqZWN0LmNyZWF0ZShudWxsKTooZGVsZXRlIHJbZV0sci5yZW1vdmVMaXN0ZW5lciYmdGhpcy5lbWl0KFwicmVtb3ZlTGlzdGVuZXJcIixlLG4ubGlzdGVuZXJ8fHQpKTtlbHNlIGlmKFwiZnVuY3Rpb25cIiE9dHlwZW9mIG4pe2ZvcihpPS0xLG89bi5sZW5ndGgtMTtvPj0wO28tLSlpZihuW29dPT09dHx8bltvXS5saXN0ZW5lcj09PXQpe3M9bltvXS5saXN0ZW5lcixpPW87YnJlYWt9aWYoaTwwKXJldHVybiB0aGlzOzA9PT1pP24uc2hpZnQoKTpzcGxpY2VPbmUobixpKSwxPT09bi5sZW5ndGgmJihyW2VdPW5bMF0pLHZvaWQgMCE9PXIucmVtb3ZlTGlzdGVuZXImJnRoaXMuZW1pdChcInJlbW92ZUxpc3RlbmVyXCIsZSxzfHx0KX1yZXR1cm4gdGhpc30sRXZlbnRFbWl0dGVyLnByb3RvdHlwZS5vZmY9RXZlbnRFbWl0dGVyLnByb3RvdHlwZS5yZW1vdmVMaXN0ZW5lcixFdmVudEVtaXR0ZXIucHJvdG90eXBlLnJlbW92ZUFsbExpc3RlbmVycz1mdW5jdGlvbihlKXt2YXIgdCxuLHI7aWYodm9pZCAwPT09KG49dGhpcy5fZXZlbnRzKSlyZXR1cm4gdGhpcztpZih2b2lkIDA9PT1uLnJlbW92ZUxpc3RlbmVyKXJldHVybiAwPT09YXJndW1lbnRzLmxlbmd0aD8odGhpcy5fZXZlbnRzPU9iamVjdC5jcmVhdGUobnVsbCksdGhpcy5fZXZlbnRzQ291bnQ9MCk6dm9pZCAwIT09bltlXSYmKDA9PS0tdGhpcy5fZXZlbnRzQ291bnQ/dGhpcy5fZXZlbnRzPU9iamVjdC5jcmVhdGUobnVsbCk6ZGVsZXRlIG5bZV0pLHRoaXM7aWYoMD09PWFyZ3VtZW50cy5sZW5ndGgpe3ZhciBpLG89T2JqZWN0LmtleXMobik7Zm9yKHI9MDtyPG8ubGVuZ3RoOysrcilcInJlbW92ZUxpc3RlbmVyXCIhPT0oaT1vW3JdKSYmdGhpcy5yZW1vdmVBbGxMaXN0ZW5lcnMoaSk7cmV0dXJuIHRoaXMucmVtb3ZlQWxsTGlzdGVuZXJzKFwicmVtb3ZlTGlzdGVuZXJcIiksdGhpcy5fZXZlbnRzPU9iamVjdC5jcmVhdGUobnVsbCksdGhpcy5fZXZlbnRzQ291bnQ9MCx0aGlzfWlmKFwiZnVuY3Rpb25cIj09dHlwZW9mKHQ9bltlXSkpdGhpcy5yZW1vdmVMaXN0ZW5lcihlLHQpO2Vsc2UgaWYodm9pZCAwIT09dClmb3Iocj10Lmxlbmd0aC0xO3I+PTA7ci0tKXRoaXMucmVtb3ZlTGlzdGVuZXIoZSx0W3JdKTtyZXR1cm4gdGhpc30sRXZlbnRFbWl0dGVyLnByb3RvdHlwZS5saXN0ZW5lcnM9ZnVuY3Rpb24oZSl7cmV0dXJuIF9saXN0ZW5lcnModGhpcyxlLCEwKX0sRXZlbnRFbWl0dGVyLnByb3RvdHlwZS5yYXdMaXN0ZW5lcnM9ZnVuY3Rpb24oZSl7cmV0dXJuIF9saXN0ZW5lcnModGhpcyxlLCExKX0sRXZlbnRFbWl0dGVyLmxpc3RlbmVyQ291bnQ9ZnVuY3Rpb24oZSx0KXtyZXR1cm5cImZ1bmN0aW9uXCI9PXR5cGVvZiBlLmxpc3RlbmVyQ291bnQ/ZS5saXN0ZW5lckNvdW50KHQpOmxpc3RlbmVyQ291bnQuY2FsbChlLHQpfSxFdmVudEVtaXR0ZXIucHJvdG90eXBlLmxpc3RlbmVyQ291bnQ9bGlzdGVuZXJDb3VudCxFdmVudEVtaXR0ZXIucHJvdG90eXBlLmV2ZW50TmFtZXM9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fZXZlbnRzQ291bnQ+MD9SZWZsZWN0T3duS2V5cyh0aGlzLl9ldmVudHMpOltdfTtcblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYkltVjJaVzUwY3k1cWN5SmRMQ0p1WVcxbGN5STZXeUpTWldac1pXTjBUM2R1UzJWNWN5SXNJbElpTENKU1pXWnNaV04wSWl3aVVtVm1iR1ZqZEVGd2NHeDVJaXdpWVhCd2JIa2lMQ0owWVhKblpYUWlMQ0p5WldObGFYWmxjaUlzSW1GeVozTWlMQ0pHZFc1amRHbHZiaUlzSW5CeWIzUnZkSGx3WlNJc0ltTmhiR3dpTENKUWNtOWpaWE56UlcxcGRGZGhjbTVwYm1jaUxDSjNZWEp1YVc1bklpd2lZMjl1YzI5c1pTSXNJbmRoY200aUxDSnZkMjVMWlhseklpd2lUMkpxWldOMElpd2laMlYwVDNkdVVISnZjR1Z5ZEhsVGVXMWliMnh6SWl3aVoyVjBUM2R1VUhKdmNHVnlkSGxPWVcxbGN5SXNJbU52Ym1OaGRDSXNJazUxYldKbGNrbHpUbUZPSWl3aVRuVnRZbVZ5SWl3aWFYTk9ZVTRpTENKMllXeDFaU0lzSWtWMlpXNTBSVzFwZEhSbGNpSXNJbWx1YVhRaUxDSjBhR2x6SWl3aWJXOWtkV3hsSWl3aVpYaHdiM0owY3lJc0ltOXVZMlVpTENKZlpYWmxiblJ6SWl3aWRXNWtaV1pwYm1Wa0lpd2lYMlYyWlc1MGMwTnZkVzUwSWl3aVgyMWhlRXhwYzNSbGJtVnljeUlzSW1SbFptRjFiSFJOWVhoTWFYTjBaVzVsY25NaUxDSmphR1ZqYTB4cGMzUmxibVZ5SWl3aWJHbHpkR1Z1WlhJaUxDSlVlWEJsUlhKeWIzSWlMQ0pmWjJWMFRXRjRUR2x6ZEdWdVpYSnpJaXdpZEdoaGRDSXNJbDloWkdSTWFYTjBaVzVsY2lJc0luUjVjR1VpTENKd2NtVndaVzVrSWl3aWJTSXNJbVYyWlc1MGN5SXNJbVY0YVhOMGFXNW5JaXdpWTNKbFlYUmxJaXdpYm1WM1RHbHpkR1Z1WlhJaUxDSmxiV2wwSWl3aWRXNXphR2xtZENJc0luQjFjMmdpTENKc1pXNW5kR2dpTENKM1lYSnVaV1FpTENKM0lpd2lSWEp5YjNJaUxDSlRkSEpwYm1jaUxDSnVZVzFsSWl3aVpXMXBkSFJsY2lJc0ltTnZkVzUwSWl3aWIyNWpaVmR5WVhCd1pYSWlMQ0ptYVhKbFpDSXNJbkpsYlc5MlpVeHBjM1JsYm1WeUlpd2lkM0poY0VadUlpd2lZWEpuZFcxbGJuUnpJaXdpWDI5dVkyVlhjbUZ3SWl3aWMzUmhkR1VpTENKM2NtRndjR1ZrSWl3aVltbHVaQ0lzSWw5c2FYTjBaVzVsY25NaUxDSjFibmR5WVhBaUxDSmxkbXhwYzNSbGJtVnlJaXdpZFc1M2NtRndUR2x6ZEdWdVpYSnpJaXdpWVhKeVlYbERiRzl1WlNJc0lteHBjM1JsYm1WeVEyOTFiblFpTENKaGNuSWlMQ0p1SWl3aVkyOXdlU0lzSWtGeWNtRjVJaXdpYVNJc0luTndiR2xqWlU5dVpTSXNJbXhwYzNRaUxDSnBibVJsZUNJc0luQnZjQ0lzSW5KbGRDSXNJbEJ5YjIxcGMyVWlMQ0p5WlhOdmJIWmxJaXdpY21WcVpXTjBJaXdpWlhKeWIzSk1hWE4wWlc1bGNpSXNJbVZ5Y2lJc0luSmxjMjlzZG1WeUlpd2ljMnhwWTJVaUxDSmxkbVZ1ZEZSaGNtZGxkRUZuYm05emRHbGpRV1JrVEdsemRHVnVaWElpTENKaFpHUkZjbkp2Y2toaGJtUnNaWEpKWmtWMlpXNTBSVzFwZEhSbGNpSXNJbWhoYm1Sc1pYSWlMQ0ptYkdGbmN5SXNJbTl1SWl3aVlXUmtSWFpsYm5STWFYTjBaVzVsY2lJc0luZHlZWEJNYVhOMFpXNWxjaUlzSW1GeVp5SXNJbkpsYlc5MlpVVjJaVzUwVEdsemRHVnVaWElpTENKa1pXWnBibVZRY205d1pYSjBlU0lzSW1WdWRXMWxjbUZpYkdVaUxDSm5aWFFpTENKelpYUWlMQ0pTWVc1blpVVnljbTl5SWl3aVoyVjBVSEp2ZEc5MGVYQmxUMllpTENKelpYUk5ZWGhNYVhOMFpXNWxjbk1pTENKblpYUk5ZWGhNYVhOMFpXNWxjbk1pTENKa2IwVnljbTl5SWl3aVpYSnliM0lpTENKbGNpSXNJbTFsYzNOaFoyVWlMQ0pqYjI1MFpYaDBJaXdpYkdWdUlpd2liR2x6ZEdWdVpYSnpJaXdpWVdSa1RHbHpkR1Z1WlhJaUxDSndjbVZ3Wlc1a1RHbHpkR1Z1WlhJaUxDSndjbVZ3Wlc1a1QyNWpaVXhwYzNSbGJtVnlJaXdpY0c5emFYUnBiMjRpTENKdmNtbG5hVzVoYkV4cGMzUmxibVZ5SWl3aWMyaHBablFpTENKdlptWWlMQ0p5WlcxdmRtVkJiR3hNYVhOMFpXNWxjbk1pTENKclpYa2lMQ0pyWlhseklpd2ljbUYzVEdsemRHVnVaWEp6SWl3aVpYWmxiblJPWVcxbGN5SmRMQ0p0WVhCd2FXNW5jeUk2SWtGQmNVSkJMR0ZCUlVFc1NVRlBTVUVzWlVGUVFVTXNSVUZCZFVJc2FVSkJRVnBETEZGQlFYVkNRU3hSUVVGVkxFdEJRelZEUXl4aFFVRmxSaXhIUVVGM1FpeHRRa0ZCV2tFc1JVRkJSVWNzVFVGRE4wSklMRVZCUVVWSExFMUJRMFlzVTBGQmMwSkRMRVZCUVZGRExFVkJRVlZETEVkQlEzaERMRTlCUVU5RExGTkJRVk5ETEZWQlFWVk1MRTFCUVUxTkxFdEJRVXRNTEVWQlFWRkRMRVZCUVZWRExFbEJhVUl6UkN4VFFVRlRTU3h0UWtGQmJVSkRMRWRCUTNSQ1F5eFRRVUZYUVN4UlFVRlJReXhOUVVGTlJDeFJRVUZSUXl4TFFVRkxSaXhIUVdJeFExb3NaVUZFUlVNc1IwRkJNRUlzYlVKQlFXUkJMRVZCUVVWakxGRkJRME5rTEVWQlFVVmpMRkZCUTFaRExFOUJRVTlETEhOQ1FVTkRMRk5CUVhkQ1dpeEhRVU4yUXl4UFFVRlBWeXhQUVVGUFJTeHZRa0ZCYjBKaUxFZEJReTlDWXl4UFFVRlBTQ3hQUVVGUFF5eHpRa0ZCYzBKYUxFdEJSM2hDTEZOQlFYZENRU3hIUVVOMlF5eFBRVUZQVnl4UFFVRlBSU3h2UWtGQmIwSmlMRWxCVVhSRExFbEJRVWxsTEZsQlFXTkRMRTlCUVU5RExFOUJRVk1zVTBGQmNVSkRMRWRCUTNKRUxFOUJRVTlCTEVkQlFWVkJMRWRCUjI1Q0xGTkJRVk5ETEdWQlExQkJMR0ZCUVdGRExFdEJRVXRtTEV0QlFVdG5RaXhOUVVWNlFrTXNUMEZCVDBNc1VVRkJWVW9zWVVGRGFrSkhMRTlCUVU5RExGRkJRVkZETEV0QlFVOUJMRXRCUjNSQ1RDeGhRVUZoUVN4aFFVRmxRU3hoUVVVMVFrRXNZVUZCWVdZc1ZVRkJWWEZDTEdGQlFWVkRMRVZCUTJwRFVDeGhRVUZoWml4VlFVRlZkVUlzWVVGQlpTeEZRVU4wUTFJc1lVRkJZV1lzVlVGQlZYZENMRzFDUVVGblFrWXNSVUZKZGtNc1NVRkJTVWNzYjBKQlFYTkNMRWRCUlRGQ0xGTkJRVk5ETEdOQlFXTkRMRWRCUTNKQ0xFZEJRWGRDTEcxQ1FVRmlRU3hGUVVOVUxFMUJRVTBzU1VGQlNVTXNWVUZCVlN3d1JVRkJORVZFTEVkQmMwTndSeXhUUVVGVFJTeHBRa0ZCYVVKRExFZEJRM2hDTEZsQlFUSkNVaXhKUVVGMlFsRXNSVUZCUzA0c1kwRkRRVlFzWVVGQllWVXNiMEpCUTJaTExFVkJRVXRPTEdOQmJVUmtMRk5CUVZOUExHRkJRV0Z1UXl4RlFVRlJiME1zUlVGQlRVd3NSVUZCVlUwc1IwRkROVU1zU1VGQlNVTXNSVUZEUVVNc1JVRkRRVU1zUlVGelFrb3NSMEZ3UWtGV0xHTkJRV05ETEZGQlIwTk1MRXRCUkdaaExFVkJRVk4yUXl4RlFVRlBlVUlzVlVGRlpHTXNSVUZCVTNaRExFVkJRVTk1UWl4UlFVRlZaQ3hQUVVGUE9FSXNUMEZCVHl4TlFVTjRRM3BETEVWQlFVOHlRaXhoUVVGbExGTkJTVXRFTEVsQlFYWkNZU3hGUVVGUFJ5eGpRVU5VTVVNc1JVRkJUekpETEV0QlFVc3NZMEZCWlZBc1JVRkRaa3dzUlVGQlUwRXNVMEZCVjBFc1JVRkJVMEVzVTBGQlYwRXNSMEZKY0VSUkxFVkJRVk4yUXl4RlFVRlBlVUlzVTBGRmJFSmxMRVZCUVZkRUxFVkJRVTlJTEZOQlIwaFdMRWxCUVdKakxFVkJSVVpCTEVWQlFWZEVMRVZCUVU5SUxFZEJRVkZNTEVsQlEzaENMMElzUlVGQlR6SkNMR3RDUVdWVUxFZEJZbmRDTEcxQ1FVRmlZU3hGUVVWVVFTeEZRVUZYUkN4RlFVRlBTQ3hIUVVOb1FrTXNSVUZCVlN4RFFVRkRUaXhGUVVGVlV5eEhRVUZaTEVOQlFVTkJMRVZCUVZWVUxFZEJSWEpEVFN4RlFVTlVSeXhGUVVGVFNTeFJRVUZSWWl4SFFVVnFRbE1zUlVGQlUwc3NTMEZCUzJRc1NVRkphRUpQTEVWQlFVbE1MR2xDUVVGcFFtcERMRWxCUTJJc1IwRkJTM2RETEVWQlFWTk5MRTlCUVZOU0xFbEJRVTFGTEVWQlFWTlBMRTlCUVZFc1EwRkRjRVJRTEVWQlFWTlBMRkZCUVZNc1JVRkhiRUlzU1VGQlNVTXNSVUZCU1N4SlFVRkpReXhOUVVGTkxDdERRVU5GVkN4RlFVRlRUU3hQUVVGVExFbEJRVTFKTEU5QlFVOWtMRWRCUVZFc2NVVkJSek5FV1N4RlFVRkZSeXhMUVVGUExEaENRVU5VU0N4RlFVRkZTU3hSUVVGVmNFUXNSVUZEV21kRUxFVkJRVVZhTEV0QlFVOUJMRVZCUTFSWkxFVkJRVVZMTEUxQlFWRmlMRVZCUVZOTkxFOUJRMjVDZUVNc2JVSkJRVzFDTUVNc1IwRkpka0lzVDBGQlQyaEVMRVZCWTFRc1UwRkJVM05FTEdOQlExQXNTVUZCUzJwRExFdEJRVXRyUXl4TlFVZFNMRTlCUmtGc1F5eExRVUZMY2tJc1QwRkJUM2RFTEdWQlFXVnVReXhMUVVGTFpTeExRVUZOWml4TFFVRkxiME1zVVVGRE0wTndReXhMUVVGTGEwTXNUMEZCVVN4RlFVTlpMRWxCUVhKQ1J5eFZRVUZWV2l4UFFVTk1la0lzUzBGQlMxVXNVMEZCVXpGQ0xFdEJRVXRuUWl4TFFVRkxja0lzVVVGRE1VSnhRaXhMUVVGTFZTeFRRVUZUYUVNc1RVRkJUWE5DTEV0QlFVdHlRaXhQUVVGUk1FUXNWMEZKTlVNc1UwRkJVME1zVlVGQlZUTkVMRVZCUVZGdlF5eEZRVUZOVEN4SFFVTXZRaXhKUVVGSk5rSXNSVUZCVVN4RFFVRkZUQ3hQUVVGUExFVkJRVTlGTEZsQlFWRXZRaXhGUVVGWE1VSXNUMEZCVVVFc1JVRkJVVzlETEV0QlFVMUJMRVZCUVUxTUxGTkJRVlZCTEVkQlEycEdPRUlzUlVGQlZWQXNXVUZCV1ZFc1MwRkJTMFlzUjBGSEwwSXNUMEZHUVVNc1JVRkJVVGxDTEZOQlFWZEJMRVZCUTI1Q05rSXNSVUZCVFVnc1QwRkJVMGtzUlVGRFVrRXNSVUV3U0ZRc1UwRkJVMFVzVjBGQlZ5OUVMRVZCUVZGdlF5eEZRVUZOTkVJc1IwRkRhRU1zU1VGQlNYcENMRVZCUVZOMlF5eEZRVUZQZVVJc1VVRkZjRUlzVVVGQlpVTXNTVUZCV0dFc1JVRkRSaXhOUVVGUExFZEJSVlFzU1VGQlNUQkNMRVZCUVdFeFFpeEZRVUZQU0N4SFFVTjRRaXhaUVVGdFFsWXNTVUZCWm5WRExFVkJRMHNzUjBGRmFVSXNiVUpCUVdaQkxFVkJRMFpFTEVWQlFWTXNRMEZCUTBNc1JVRkJWMnhETEZWQlFWbHJReXhIUVVGakxFTkJRVU5CTEVkQlJXeEVSQ3hGUVVOTVJTeG5Ra0ZCWjBKRUxFZEJRV05GTEZkQlFWZEdMRVZCUVZsQkxFVkJRVmR1UWl4UlFXOUNjRVVzVTBGQlUzTkNMR05CUVdOb1F5eEhRVU55UWl4SlFVRkpSeXhGUVVGVGJFSXNTMEZCUzBrc1VVRkZiRUlzVVVGQlpVTXNTVUZCV0dFc1JVRkJjMElzUTBGRGVFSXNTVUZCU1RCQ0xFVkJRV0V4UWl4RlFVRlBTQ3hIUVVWNFFpeEhRVUV3UWl4dFFrRkJaalpDTEVWQlExUXNUMEZCVHl4RlFVTkdMRkZCUVcxQ2RrTXNTVUZCWm5WRExFVkJRMVFzVDBGQlQwRXNSVUZCVjI1Q0xFOUJTWFJDTEU5QlFVOHNSVUZQVkN4VFFVRlRjVUlzVjBGQlYwVXNSVUZCUzBNc1IwRkZka0lzU1VGRVFTeEpRVUZKUXl4RlFVRlBMRWxCUVVsRExFMUJRVTFHTEVkQlExcEhMRVZCUVVrc1JVRkJSMEVzUlVGQlNVZ3NTVUZCUzBjc1JVRkRka0pHTEVWQlFVdEZMRWRCUVV0S0xFVkJRVWxKTEVkQlEyaENMRTlCUVU5R0xFVkJSMVFzVTBGQlUwY3NWVUZCVlVNc1JVRkJUVU1zUjBGRGRrSXNTMEZCVDBFc1JVRkJVU3hGUVVGSlJDeEZRVUZMTjBJc1QwRkJVVGhDTEVsQlF6bENSQ3hGUVVGTFF5eEhRVUZUUkN4RlFVRkxReXhGUVVGUkxFZEJRemRDUkN4RlFVRkxSU3hOUVVkUUxGTkJRVk5ZTEdkQ1FVRm5Ra2NzUjBGRmRrSXNTVUZFUVN4SlFVRkpVeXhGUVVGTkxFbEJRVWxPTEUxQlFVMUlMRVZCUVVsMlFpeFJRVU5tTWtJc1JVRkJTU3hGUVVGSFFTeEZRVUZKU3l4RlFVRkphRU1zVTBGQlZUSkNMRVZCUTJoRFN5eEZRVUZKVEN4SFFVRkxTaXhGUVVGSlNTeEhRVUZITVVNc1ZVRkJXWE5ETEVWQlFVbEpMRWRCUld4RExFOUJRVTlMTEVWQlIxUXNVMEZCVTNSRUxFdEJRVXMwUWl4RlFVRlRSQ3hIUVVOeVFpeFBRVUZQTEVsQlFVazBRaXhSUVVGUkxGTkJRVlZETEVWQlFWTkRMRWRCUTNCRExGTkJRVk5ETEVWQlFXTkRMRWRCUTNKQ0wwSXNSVUZCVVVrc1pVRkJaVXdzUlVGQlRXbERMRWRCUXpkQ1NDeEZRVUZQUlN4SFFVZFVMRk5CUVZORExFbEJReXRDTEcxQ1FVRXpRbWhETEVWQlFWRkpMR2RDUVVOcVFrb3NSVUZCVVVrc1pVRkJaU3hSUVVGVE1FSXNSMEZGYkVOR0xFVkJRVkVzUjBGQlIwc3NUVUZCVFdoR0xFdEJRVXR4UkN4WlFVZDRRalJDTEN0Q1FVRXJRbXhETEVWQlFWTkVMRVZCUVUxcFF5eEZRVUZWTEVOQlFVVTFSQ3hOUVVGTkxFbEJRMjVFTEZWQlFWUXlRaXhIUVVOR2IwTXNPRUpCUVRoQ2JrTXNSVUZCVXpoQ0xFVkJRV1VzUTBGQlJURkVMRTFCUVUwc1RVRkxjRVVzVTBGQlV5dEVMRGhDUVVFNFFtNURMRVZCUVZOdlF5eEZRVUZUUXl4SFFVTTNRaXh0UWtGQlpuSkRMRVZCUVZGelF5eEpRVU5xUWtvc0swSkJRU3RDYkVNc1JVRkJVeXhSUVVGVGIwTXNSVUZCVTBNc1IwRkpPVVFzVTBGQlUwZ3NLMEpCUVN0Q2JFTXNSVUZCVTBRc1JVRkJUWEJDTEVWQlFWVXdSQ3hIUVVNdlJDeEhRVUV3UWl4dFFrRkJabkpETEVWQlFWRnpReXhIUVVOaVJDeEZRVUZOYWtVc1MwRkRValJDTEVWQlFWRTFRaXhMUVVGTE1rSXNSVUZCVFhCQ0xFZEJSVzVDY1VJc1JVRkJVWE5ETEVkQlFVZDJReXhGUVVGTmNFSXNUMEZGWkN4RFFVRkJMRWRCUVhkRExHMUNRVUUzUW5GQ0xFVkJRVkYxUXl4cFFrRlplRUlzVFVGQlRTeEpRVUZKTTBRc1ZVRkJWU3cyUlVGQkswVnZRaXhIUVZSdVIwRXNSVUZCVVhWRExHbENRVUZwUW5oRExFVkJRVTBzVTBGQlUzbERMRVZCUVdGRExFZEJSeTlEU2l4RlFVRk5ha1VzVFVGRFVqUkNMRVZCUVZFd1F5eHZRa0ZCYjBJelF5eEZRVUZOZVVNc1IwRkZjRU0zUkN4RlFVRlRPRVFzVFVGb1lXWnNSaXhQUVVGUGIwWXNaVUZCWlRWRkxHRkJRV01zYzBKQlFYVkNMRU5CUTNwRU5rVXNXVUZCV1N4RlFVTmFReXhKUVVGTExGZEJRMGdzVDBGQlQzQkZMSEZDUVVWVWNVVXNTVUZCU3l4VFFVRlRUQ3hIUVVOYUxFZEJRVzFDTEdsQ1FVRlNRU3hIUVVGdlFrRXNSVUZCVFN4SFFVRkxPVVVzV1VGQldUaEZMRWRCUTNCRUxFMUJRVTBzU1VGQlNVMHNWMEZCVnl4clIwRkJiMGRPTEVWQlFVMHNTMEZGYWtsb1JTeHZRa0ZCYzBKblJTeExRVWt4UWpGRkxHRkJRV0ZETEV0QlFVOHNaMEpCUlVkTkxFbEJRV3BDVEN4TFFVRkxTU3hUUVVOTVNpeExRVUZMU1N4VlFVRlpaQ3hQUVVGUGVVWXNaVUZCWlM5RkxFMUJRVTFKTEZWQlF5OURTaXhMUVVGTFNTeFJRVUZWWkN4UFFVRlBPRUlzVDBGQlR5eE5RVU0zUW5CQ0xFdEJRVXROTEdGQlFXVXNSMEZIZEVKT0xFdEJRVXRQTEdOQlFXZENVQ3hMUVVGTFR5eHZRa0ZCYVVKR0xFZEJTemREVUN4aFFVRmhaaXhWUVVGVmFVY3NaMEpCUVd0Q0xGTkJRWGxDTDBJc1IwRkRhRVVzUjBGQmFVSXNhVUpCUVU1QkxFZEJRV3RDUVN4RlFVRkpMRWRCUVV0MlJDeFpRVUZaZFVRc1IwRkRhRVFzVFVGQlRTeEpRVUZKTmtJc1YwRkJWeXhuUmtGQmEwWTNRaXhGUVVGSkxFdEJSemRITEU5QlJFRnFSQ3hMUVVGTFR5eGpRVUZuUWpCRExFVkJRMlJxUkN4TlFWTlVSaXhoUVVGaFppeFZRVUZWYTBjc1owSkJRV3RDTEZkQlEzWkRMRTlCUVU5eVJTeHBRa0ZCYVVKYUxFOUJSekZDUml4aFFVRmhaaXhWUVVGVmRVTXNTMEZCVHl4VFFVRmpVQ3hIUVVVeFF5eEpRVVJCTEVsQlFVbHNReXhGUVVGUExFZEJRMFoxUlN4RlFVRkpMRVZCUVVkQkxFVkJRVWxtTEZWQlFWVmFMRTlCUVZFeVFpeEpRVUZMZGtVc1JVRkJTekpETEV0QlFVdGhMRlZCUVZWbExFbEJReTlFTEVsQlFVazRRaXhGUVVGdlFpeFZRVUZVYmtVc1JVRkZXRWNzUlVGQlUyeENMRXRCUVV0SkxGRkJRMnhDTEZGQlFXVkRMRWxCUVZoaExFVkJRMFpuUlN4RlFVRlhRU3hSUVVFMFFqZEZMRWxCUVdwQ1lTeEZRVUZQYVVVc1YwRkRNVUlzU1VGQlMwUXNSVUZEVWl4UFFVRlBMRVZCUjFRc1IwRkJTVUVzUlVGQlV5eERRVU5ZTEVsQlFVbEZMRVZCUjBvc1IwRkdTWFpITEVWQlFVczBReXhQUVVGVExFbEJRMmhDTWtRc1JVRkJTM1pITEVWQlFVc3NTVUZEVW5WSExHRkJRV040UkN4TlFVZG9RaXhOUVVGTmQwUXNSVUZIVWl4SlFVRkpkRUlzUlVGQlRTeEpRVUZKYkVNc1RVRkJUU3h2UWtGQmMwSjNSQ3hGUVVGTExFdEJRVTlCTEVWQlFVZERMRkZCUVZVc1NVRkJUU3hMUVVWNlJTeE5RVVJCZGtJc1JVRkJTWGRDTEZGQlFWVkdMRVZCUTFKMFFpeEZRVWRTTEVsQlFVbExMRVZCUVZWcVJDeEZRVUZQU0N4SFFVVnlRaXhSUVVGblFsWXNTVUZCV2poRUxFVkJRMFlzVDBGQlR5eEZRVVZVTEVkQlFYVkNMRzFDUVVGYVFTeEZRVU5VTVVZc1lVRkJZVEJHTEVWQlFWTnVSU3hMUVVGTmJrSXNUMEZGTlVJc1EwRkJRU3hKUVVGSk1FY3NSVUZCVFhCQ0xFVkJRVkV4UXl4UFFVTmtLMFFzUlVGQldURkRMRmRCUVZkeFFpeEZRVUZUYjBJc1IwRkRjRU1zU1VGQlUyNURMRVZCUVVrc1JVRkJSMEVzUlVGQlNXMURMRWxCUVU5dVF5eEZRVU42UWpORkxHRkJRV0VyUnl4RlFVRlZjRU1zUjBGQlNYQkVMRXRCUVUxdVFpeEhRVWR5UXl4UFFVRlBMRWRCYVVWVWFVSXNZVUZCWVdZc1ZVRkJWVEJITEZsQlFXTXNVMEZCY1VJeFJTeEZRVUZOVEN4SFFVTTVSQ3hQUVVGUFNTeGhRVUZoWkN4TFFVRk5aU3hGUVVGTlRDeEhRVUZWTEVsQlJ6VkRXaXhoUVVGaFppeFZRVUZWYzBZc1IwRkJTM1pGTEdGQlFXRm1MRlZCUVZVd1J5eFpRVVZ1UkROR0xHRkJRV0ZtTEZWQlFWVXlSeXhuUWtGRGJrSXNVMEZCZVVJelJTeEZRVUZOVEN4SFFVTTNRaXhQUVVGUFNTeGhRVUZoWkN4TFFVRk5aU3hGUVVGTlRDeEhRVUZWTEVsQmNVSm9SRm9zWVVGQllXWXNWVUZCVlc5Q0xFdEJRVThzVTBGQlkxa3NSVUZCVFV3c1IwRkhhRVFzVDBGR1FVUXNZMEZCWTBNc1IwRkRaRllzUzBGQlMzRkZMRWRCUVVkMFJDeEZRVUZOZFVJc1ZVRkJWWFJETEV0QlFVMWxMRVZCUVUxTUxFbEJRemRDVml4TlFVZFVSaXhoUVVGaFppeFZRVUZWTkVjc2IwSkJRMjVDTEZOQlFUWkNOVVVzUlVGQlRVd3NSMEZIYWtNc1QwRkdRVVFzWTBGQlkwTXNSMEZEWkZZc1MwRkJTekJHTEdkQ1FVRm5Rak5GTEVWQlFVMTFRaXhWUVVGVmRFTXNTMEZCVFdVc1JVRkJUVXdzU1VGRE1VTldMRTFCU1dKR0xHRkJRV0ZtTEZWQlFWVnZSQ3hsUVVOdVFpeFRRVUYzUW5CQ0xFVkJRVTFNTEVkQlF6VkNMRWxCUVVrMFF5eEZRVUZOY0VNc1JVRkJVVEJGTEVWQlFWVjRReXhGUVVGSGVVTXNSVUZMTDBJc1IwRklRWEJHTEdOQlFXTkRMRkZCUjBOTUxFdEJSR1poTEVWQlFWTnNRaXhMUVVGTFNTeFRRVVZhTEU5QlFVOUtMRXRCUjFRc1VVRkJZVXNzUzBGRVltbEVMRVZCUVU5d1F5eEZRVUZQU0N4SlFVVmFMRTlCUVU5bUxFdEJSVlFzUjBGQlNYTkVMRWxCUVZNMVF5eEhRVUZaTkVNc1JVRkJTelZETEZkQlFXRkJMRVZCUTJJc1MwRkJkRUpXTEV0QlFVdE5MR0ZCUTFST0xFdEJRVXRKTEZGQlFWVmtMRTlCUVU4NFFpeFBRVUZQTEdOQlJYUkNSaXhGUVVGUFNDeEhRVU5XUnl4RlFVRlBhVUlzWjBKQlExUnVReXhMUVVGTGMwSXNTMEZCU3l4cFFrRkJhMEpRTEVWQlFVMTFReXhGUVVGTE5VTXNWVUZCV1VFc1UwRkZiRVFzUjBGQmIwSXNiVUpCUVZRMFF5eEZRVUZ4UWl4RFFVZHlReXhKUVVaQmMwTXNSMEZCV1N4RlFVVlFlRU1zUlVGQlNVVXNSVUZCU3pkQ0xFOUJRVk1zUlVGQlJ6SkNMRWRCUVVzc1JVRkJSMEVzU1VGRGFFTXNSMEZCU1VVc1JVRkJTMFlzUzBGQlR6RkRMRWRCUVZrMFF5eEZRVUZMUml4SFFVRkhNVU1zVjBGQllVRXNSVUZCVlN4RFFVTjZSRzFHTEVWQlFXMUNka01zUlVGQlMwWXNSMEZCUnpGRExGTkJRek5DYTBZc1JVRkJWM2hETEVWQlExZ3NUVUZKU2l4SFFVRkpkME1zUlVGQlZ5eEZRVU5pTEU5QlFVODFSaXhMUVVWUkxFbEJRV0kwUml4RlFVTkdkRU1zUlVGQlMzZERMRkZCUlV4NlF5eFZRVUZWUXl4RlFVRk5jME1zUjBGSFJTeEpRVUZvUW5SRExFVkJRVXMzUWl4VFFVTlFVQ3hGUVVGUFNDeEhRVUZSZFVNc1JVRkJTeXhUUVVWUmFrUXNTVUZCTVVKaExFVkJRVTlwUWl4blFrRkRWRzVETEV0QlFVdHpRaXhMUVVGTExHbENRVUZyUWxBc1JVRkJUVGhGTEVkQlFXOUNia1lzUjBGSE1VUXNUMEZCVDFZc1RVRkhZa1lzWVVGQllXWXNWVUZCVldkSUxFbEJRVTFxUnl4aFFVRmhaaXhWUVVGVmIwUXNaVUZGY0VSeVF5eGhRVUZoWml4VlFVRlZhVWdzYlVKQlEyNUNMRk5CUVRSQ2FrWXNSMEZETVVJc1NVRkJTWGxGTEVWQlFWZDBSU3hGUVVGUmEwTXNSVUZIZGtJc1VVRkJaUzlETEV0QlJHWmhMRVZCUVZOc1FpeExRVUZMU1N4VFFVVmFMRTlCUVU5S0xFdEJSMVFzVVVGQk9FSkxMRWxCUVRGQ1lTeEZRVUZQYVVJc1pVRlZWQ3hQUVZSNVFpeEpRVUZ5UWtVc1ZVRkJWVm9zVVVGRFducENMRXRCUVV0SkxGRkJRVlZrTEU5QlFVODRRaXhQUVVGUExFMUJRemRDY0VJc1MwRkJTMDBzWVVGQlpTeFJRVU5OUkN4SlFVRnFRbUVzUlVGQlQwZ3NTMEZEV1N4TFFVRjBRbVlzUzBGQlMwMHNZVUZEVkU0c1MwRkJTMGtzVVVGQlZXUXNUMEZCVHpoQ0xFOUJRVThzWVVGRmRFSkdMRVZCUVU5SUxFbEJSVmhtTEV0QlNWUXNSMEZCZVVJc1NVRkJja0p4UXl4VlFVRlZXaXhQUVVGakxFTkJRekZDTEVsQlEwbDNSU3hGUVVSQlF5eEZRVUZQTlVjc1QwRkJUelJITEV0QlFVdG9SaXhIUVVWMlFpeEpRVUZMYTBNc1JVRkJTU3hGUVVGSFFTeEZRVUZKT0VNc1JVRkJTM3BGTEZOQlFWVXlRaXhGUVVWcVFpeHZRa0ZFV2paRExFVkJRVTFETEVWQlFVczVReXhMUVVWWWNFUXNTMEZCUzJkSExHMUNRVUZ0UWtNc1IwRkxNVUlzVDBGSVFXcEhMRXRCUVV0blJ5eHRRa0ZCYlVJc2EwSkJRM2hDYUVjc1MwRkJTMGtzVVVGQlZXUXNUMEZCVHpoQ0xFOUJRVThzVFVGRE4wSndRaXhMUVVGTFRTeGhRVUZsTEVWQlEySk9MRXRCUzFRc1IwRkJlVUlzYlVKQlJucENkMFlzUlVGQldYUkZMRVZCUVU5SUxFbEJSMnBDWml4TFFVRkxiVU1zWlVGQlpYQkNMRVZCUVUxNVJTeFJRVU55UWl4UlFVRnJRbTVHTEVsQlFXUnRSaXhGUVVWVUxFbEJRVXR3UXl4RlFVRkpiME1zUlVGQlZTOUVMRTlCUVZNc1JVRkJSekpDTEVkQlFVc3NSVUZCUjBFc1NVRkRja053UkN4TFFVRkxiVU1zWlVGQlpYQkNMRVZCUVUxNVJTeEZRVUZWY0VNc1NVRkplRU1zVDBGQlQzQkVMRTFCYjBKaVJpeGhRVUZoWml4VlFVRlZlVWNzVlVGQldTeFRRVUZ0UW5wRkxFZEJRM0JFTEU5QlFVOHlRaXhYUVVGWE1VTXNTMEZCVFdVc1IwRkJUU3hKUVVkb1EycENMR0ZCUVdGbUxGVkJRVlZ2U0N4aFFVRmxMRk5CUVhOQ2NFWXNSMEZETVVRc1QwRkJUekpDTEZkQlFWY3hReXhMUVVGTlpTeEhRVUZOTEVsQlIyaERha0lzWVVGQllXbEVMR05CUVdkQ0xGTkJRVk5vUWl4RlFVRlRhRUlzUjBGRE4wTXNUVUZCY1VNc2JVSkJRVEZDWjBJc1JVRkJVV2RDTEdOQlExWm9RaXhGUVVGUlowSXNZMEZCWTJoRExFZEJSWFJDWjBNc1kwRkJZeTlFTEV0QlFVc3JReXhGUVVGVGFFSXNTVUZKZGtOcVFpeGhRVUZoWml4VlFVRlZaMFVzWTBGQlowSkJMR05CYVVKMlEycEVMR0ZCUVdGbUxGVkJRVlZ4U0N4WFFVRmhMRmRCUTJ4RExFOUJRVTl3Unl4TFFVRkxUU3hoUVVGbExFVkJRVWxvUXl4bFFVRmxNRUlzUzBGQlMwa3NVMEZCVnlJc0ltWnBiR1VpT2lJdmFHOXRaUzk2YVc1dkwzQnliMnBsWTNSekwzTmxZWFJ0WVhCMk1pOXRZWE4wWlhJdmMyVmhkRzFoY0hZeUwyTnNhV1Z1ZEM5dWIyUmxYMjF2WkhWc1pYTXZaWFpsYm5SekwyVjJaVzUwY3k1cWN5SjkiLCJleHBvcnRzLnJlYWQ9ZnVuY3Rpb24oYSxvLHQscixoKXt2YXIgTSxwLHc9OCpoLXItMSxmPSgxPDx3KS0xLGU9Zj4+MSxpPS03LE49dD9oLTE6MCxuPXQ/LTE6MSxzPWFbbytOXTtmb3IoTis9bixNPXMmKDE8PC1pKS0xLHM+Pj0taSxpKz13O2k+MDtNPTI1NipNK2FbbytOXSxOKz1uLGktPTgpO2ZvcihwPU0mKDE8PC1pKS0xLE0+Pj0taSxpKz1yO2k+MDtwPTI1NipwK2FbbytOXSxOKz1uLGktPTgpO2lmKDA9PT1NKU09MS1lO2Vsc2V7aWYoTT09PWYpcmV0dXJuIHA/TmFOOjEvMCoocz8tMToxKTtwKz1NYXRoLnBvdygyLHIpLE0tPWV9cmV0dXJuKHM/LTE6MSkqcCpNYXRoLnBvdygyLE0tcil9LGV4cG9ydHMud3JpdGU9ZnVuY3Rpb24oYSxvLHQscixoLE0pe3ZhciBwLHcsZixlPTgqTS1oLTEsaT0oMTw8ZSktMSxOPWk+PjEsbj0yMz09PWg/TWF0aC5wb3coMiwtMjQpLU1hdGgucG93KDIsLTc3KTowLHM9cj8wOk0tMSx1PXI/MTotMSxsPW88MHx8MD09PW8mJjEvbzwwPzE6MDtmb3Iobz1NYXRoLmFicyhvKSxpc05hTihvKXx8bz09PTEvMD8odz1pc05hTihvKT8xOjAscD1pKToocD1NYXRoLmZsb29yKE1hdGgubG9nKG8pL01hdGguTE4yKSxvKihmPU1hdGgucG93KDIsLXApKTwxJiYocC0tLGYqPTIpLChvKz1wK04+PTE/bi9mOm4qTWF0aC5wb3coMiwxLU4pKSpmPj0yJiYocCsrLGYvPTIpLHArTj49aT8odz0wLHA9aSk6cCtOPj0xPyh3PShvKmYtMSkqTWF0aC5wb3coMixoKSxwKz1OKToodz1vKk1hdGgucG93KDIsTi0xKSpNYXRoLnBvdygyLGgpLHA9MCkpO2g+PTg7YVt0K3NdPTI1NSZ3LHMrPXUsdy89MjU2LGgtPTgpO2ZvcihwPXA8PGh8dyxlKz1oO2U+MDthW3Qrc109MjU1JnAscys9dSxwLz0yNTYsZS09OCk7YVt0K3MtdV18PTEyOCpsfTtcblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYkltbHVaR1Y0TG1weklsMHNJbTVoYldWeklqcGJJbVY0Y0c5eWRITWlMQ0p5WldGa0lpd2lZblZtWm1WeUlpd2liMlptYzJWMElpd2lhWE5NUlNJc0ltMU1aVzRpTENKdVFubDBaWE1pTENKbElpd2liU0lzSW1WTVpXNGlMQ0psVFdGNElpd2laVUpwWVhNaUxDSnVRbWwwY3lJc0lta2lMQ0prSWl3aWN5SXNJazVoVGlJc0lrbHVabWx1YVhSNUlpd2lUV0YwYUNJc0luQnZkeUlzSW5keWFYUmxJaXdpZG1Gc2RXVWlMQ0pqSWl3aWNuUWlMQ0poWW5NaUxDSnBjMDVoVGlJc0ltWnNiMjl5SWl3aWJHOW5JaXdpVEU0eUlsMHNJbTFoY0hCcGJtZHpJam9pUVVGRFFVRXNVVUZCVVVNc1MwRkJUeXhUUVVGVlF5eEZRVUZSUXl4RlFVRlJReXhGUVVGTlF5eEZRVUZOUXl4SFFVTnVSQ3hKUVVGSlF5eEZRVUZIUXl4RlFVTklReXhGUVVGcFFpeEZRVUZVU0N4RlFVRmpSQ3hGUVVGUExFVkJRemRDU3l4SFFVRlJMRWRCUVV0RUxFZEJRVkVzUlVGRGNrSkZMRVZCUVZGRUxFZEJRVkVzUlVGRGFFSkZMRWRCUVZNc1JVRkRWRU1zUlVGQlNWUXNSVUZCVVVVc1JVRkJVeXhGUVVGTExFVkJRekZDVVN4RlFVRkpWaXhIUVVGUkxFVkJRVWtzUlVGRGFFSlhMRVZCUVVsaUxFVkJRVTlETEVWQlFWTlZMRWRCVDNoQ0xFbEJURUZCTEVkQlFVdERMRVZCUlV4UUxFVkJRVWxSTEVkQlFVMHNTVUZCVDBnc1IwRkJWU3hGUVVNelFrY3NTMEZCVVVnc1JVRkRVa0VzUjBGQlUwZ3NSVUZEUmtjc1JVRkJVU3hGUVVGSFRDeEZRVUZUTEVsQlFVcEJMRVZCUVZkTUxFVkJRVTlETEVWQlFWTlZMRWRCUVVsQkxFZEJRVXRETEVWQlFVZEdMRWRCUVZNc1IwRkxka1VzU1VGSVFVb3NSVUZCU1VRc1IwRkJUU3hKUVVGUFN5eEhRVUZWTEVWQlF6TkNUQ3hMUVVGUlN5eEZRVU5TUVN4SFFVRlRVQ3hGUVVOR1R5eEZRVUZSTEVWQlFVZEtMRVZCUVZNc1NVRkJTa0VzUlVGQlYwNHNSVUZCVDBNc1JVRkJVMVVzUjBGQlNVRXNSMEZCUzBNc1JVRkJSMFlzUjBGQlV5eEhRVVYyUlN4SFFVRlZMRWxCUVU1TUxFVkJRMFpCTEVWQlFVa3NSVUZCU1Vrc1RVRkRTQ3hEUVVGQkxFZEJRVWxLTEVsQlFVMUhMRVZCUTJZc1QwRkJUMFlzUlVGQlNWRXNTVUZCYzBKRExFVkJRVUZCTEVkQlFXUkdMRWRCUVVzc1JVRkJTU3hIUVVVMVFsQXNSMEZCVVZVc1MwRkJTME1zU1VGQlNTeEZRVUZIWkN4SFFVTndRa1VzUjBGQlVVa3NSVUZGVml4UFFVRlJTU3hIUVVGTExFVkJRVWtzUjBGQlMxQXNSVUZCU1ZVc1MwRkJTME1zU1VGQlNTeEZRVUZIV2l4RlFVRkpSaXhKUVVjMVEwd3NVVUZCVVc5Q0xFMUJRVkVzVTBGQlZXeENMRVZCUVZGdFFpeEZRVUZQYkVJc1JVRkJVVU1zUlVGQlRVTXNSVUZCVFVNc1IwRkRNMFFzU1VGQlNVTXNSVUZCUjBNc1JVRkJSMk1zUlVGRFRtSXNSVUZCYVVJc1JVRkJWRWdzUlVGQlkwUXNSVUZCVHl4RlFVTTNRa3NzUjBGQlVTeEhRVUZMUkN4SFFVRlJMRVZCUTNKQ1JTeEZRVUZSUkN4SFFVRlJMRVZCUTJoQ1lTeEZRVUZsTEV0QlFWUnNRaXhGUVVGallTeExRVUZMUXl4SlFVRkpMRWRCUVVrc1NVRkJUVVFzUzBGQlMwTXNTVUZCU1N4SFFVRkpMRWxCUVUwc1JVRkRNVVJPTEVWQlFVbFVMRVZCUVU4c1JVRkJTMFVzUlVGQlV5eEZRVU42UWxFc1JVRkJTVllzUlVGQlR5eEhRVUZMTEVWQlEyaENWeXhGUVVGSlRTeEZRVUZSTEVkQlFXZENMRWxCUVZaQkxFZEJRV1VzUlVGQlNVRXNSVUZCVVN4RlFVRkxMRVZCUVVrc1JVRnRRekZFTEVsQmFrTkJRU3hGUVVGUlNDeExRVUZMVFN4SlFVRkpTQ3hIUVVWaVNTeE5RVUZOU2l4SlFVRlZRU3hKUVVGVlNpeEZRVUZCUVN4SFFVTTFRbFFzUlVGQlNXbENMRTFCUVUxS0xFZEJRVk1zUlVGQlNTeEZRVU4yUW1Rc1JVRkJTVWNzU1VGRlNrZ3NSVUZCU1Zjc1MwRkJTMUVzVFVGQlRWSXNTMEZCUzFNc1NVRkJTVTRzUjBGQlUwZ3NTMEZCUzFVc1MwRkRiRU5RTEVkQlFWTkRMRVZCUVVsS0xFdEJRVXRETEVsQlFVa3NSMEZCU1Zvc1NVRkJUU3hKUVVOc1EwRXNTVUZEUVdVc1IwRkJTeXhKUVVkTVJDeEhRVVJGWkN4RlFVRkpTU3hIUVVGVExFVkJRMDVaTEVWQlFVdEVMRVZCUlV4RExFVkJRVXRNTEV0QlFVdERMRWxCUVVrc1JVRkJSeXhGUVVGSlVpeEpRVVZ3UWxjc1IwRkJTeXhKUVVObVppeEpRVU5CWlN4SFFVRkxMRWRCUjBobUxFVkJRVWxKTEVkQlFWTkVMRWRCUTJaR0xFVkJRVWtzUlVGRFNrUXNSVUZCU1Vjc1IwRkRTMGdzUlVGQlNVa3NSMEZCVXl4SFFVTjBRa2dzUjBGQlRXRXNSVUZCVVVNc1JVRkJTeXhIUVVGTFNpeExRVUZMUXl4SlFVRkpMRVZCUVVka0xFZEJRM0JEUlN4SFFVRlJTU3hKUVVWU1NDeEZRVUZKWVN4RlFVRlJTQ3hMUVVGTFF5eEpRVUZKTEVWQlFVZFNMRVZCUVZFc1IwRkJTMDhzUzBGQlMwTXNTVUZCU1N4RlFVRkhaQ3hIUVVOcVJFVXNSVUZCU1N4SlFVbEVSaXhIUVVGUkxFVkJRVWRJTEVWQlFVOURMRVZCUVZOVkxFZEJRVk1zU1VGQlNrd3NSVUZCVlVzc1IwRkJTME1zUlVGQlIwNHNSMEZCU3l4SlFVRkxTQ3hIUVVGUkxFZEJTVE5GTEVsQlJrRkZMRVZCUVV0QkxFZEJRVXRHTEVWQlFWRkhMRVZCUTJ4Q1F5eEhRVUZSU2l4RlFVTkVTU3hGUVVGUExFVkJRVWRRTEVWQlFVOURMRVZCUVZOVkxFZEJRVk1zU1VGQlNrNHNSVUZCVlUwc1IwRkJTME1zUlVGQlIxQXNSMEZCU3l4SlFVRkxSU3hIUVVGUkxFZEJSVEZGVUN4RlFVRlBReXhGUVVGVFZTeEZRVUZKUXl4SlFVRlZMRWxCUVVwRElpd2labWxzWlNJNklpOW9iMjFsTDNwcGJtOHZjSEp2YW1WamRITXZjMlZoZEcxaGNIWXlMMjFoYzNSbGNpOXpaV0YwYldGd2RqSXZZMnhwWlc1MEwyNXZaR1ZmYlc5a2RXeGxjeTlwWldWbE56VTBMMmx1WkdWNExtcHpJbjA9IiwiXCJmdW5jdGlvblwiPT10eXBlb2YgT2JqZWN0LmNyZWF0ZT9tb2R1bGUuZXhwb3J0cz1mdW5jdGlvbih0LGUpe2UmJih0LnN1cGVyXz1lLHQucHJvdG90eXBlPU9iamVjdC5jcmVhdGUoZS5wcm90b3R5cGUse2NvbnN0cnVjdG9yOnt2YWx1ZTp0LGVudW1lcmFibGU6ITEsd3JpdGFibGU6ITAsY29uZmlndXJhYmxlOiEwfX0pKX06bW9kdWxlLmV4cG9ydHM9ZnVuY3Rpb24odCxlKXtpZihlKXt0LnN1cGVyXz1lO3ZhciBvPWZ1bmN0aW9uKCl7fTtvLnByb3RvdHlwZT1lLnByb3RvdHlwZSx0LnByb3RvdHlwZT1uZXcgbyx0LnByb3RvdHlwZS5jb25zdHJ1Y3Rvcj10fX07XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJbWx1YUdWeWFYUnpYMkp5YjNkelpYSXVhbk1pWFN3aWJtRnRaWE1pT2xzaVQySnFaV04wSWl3aVkzSmxZWFJsSWl3aWJXOWtkV3hsSWl3aVpYaHdiM0owY3lJc0ltTjBiM0lpTENKemRYQmxja04wYjNJaUxDSnpkWEJsY2w4aUxDSndjbTkwYjNSNWNHVWlMQ0pqYjI1emRISjFZM1J2Y2lJc0luWmhiSFZsSWl3aVpXNTFiV1Z5WVdKc1pTSXNJbmR5YVhSaFlteGxJaXdpWTI5dVptbG5kWEpoWW14bElpd2lWR1Z0Y0VOMGIzSWlYU3dpYldGd2NHbHVaM01pT2lKQlFVRTJRaXh0UWtGQmJFSkJMRTlCUVU5RExFOUJSV2hDUXl4UFFVRlBReXhSUVVGVkxGTkJRV3RDUXl4RlFVRk5ReXhIUVVOdVEwRXNTVUZEUmtRc1JVRkJTMFVzVDBGQlUwUXNSVUZEWkVRc1JVRkJTMGNzVlVGQldWQXNUMEZCVDBNc1QwRkJUMGtzUlVGQlZVVXNWVUZCVnl4RFFVTnNSRU1zV1VGQllTeERRVU5ZUXl4TlFVRlBUQ3hGUVVOUVRTeFpRVUZaTEVWQlExcERMRlZCUVZVc1JVRkRWa01zWTBGQll5eFBRVTkwUWxZc1QwRkJUME1zVVVGQlZTeFRRVUZyUWtNc1JVRkJUVU1zUjBGRGRrTXNSMEZCU1VFc1JVRkJWeXhEUVVOaVJDeEZRVUZMUlN4UFFVRlRSQ3hGUVVOa0xFbEJRVWxSTEVWQlFWY3NZVUZEWmtFc1JVRkJVMDRzVlVGQldVWXNSVUZCVlVVc1ZVRkRMMEpJTEVWQlFVdEhMRlZCUVZrc1NVRkJTVTBzUlVGRGNrSlVMRVZCUVV0SExGVkJRVlZETEZsQlFXTktJaXdpWm1sc1pTSTZJaTlvYjIxbEwzcHBibTh2Y0hKdmFtVmpkSE12YzJWaGRHMWhjSFl5TDIxaGMzUmxjaTl6WldGMGJXRndkakl2WTJ4cFpXNTBMMjV2WkdWZmJXOWtkV3hsY3k5cGJtaGxjbWwwY3k5cGJtaGxjbWwwYzE5aWNtOTNjMlZ5TG1wekluMD0iLCJmdW5jdGlvbiBqQm94V3JhcHBlcih0KXtmdW5jdGlvbiBpKG8scyl7cmV0dXJuIHRoaXMub3B0aW9ucz17aWQ6bnVsbCx3aWR0aDpcImF1dG9cIixoZWlnaHQ6XCJhdXRvXCIsbWluV2lkdGg6bnVsbCxtaW5IZWlnaHQ6bnVsbCxtYXhXaWR0aDpudWxsLG1heEhlaWdodDpudWxsLHJlc3BvbnNpdmVXaWR0aDohMCxyZXNwb25zaXZlSGVpZ2h0OiEwLHJlc3BvbnNpdmVNaW5XaWR0aDoxMDAscmVzcG9uc2l2ZU1pbkhlaWdodDoxMDAsYXR0YWNoOm51bGwsdHJpZ2dlcjpcImNsaWNrXCIscHJldmVudERlZmF1bHQ6ITEsY29udGVudDpudWxsLGdldENvbnRlbnQ6bnVsbCx0aXRsZTpudWxsLGdldFRpdGxlOm51bGwsZm9vdGVyOm51bGwsaXNvbGF0ZVNjcm9sbDohMCxhamF4Ont1cmw6bnVsbCxkYXRhOlwiXCIscmVsb2FkOiExLGdldFVSTDpcImRhdGEtdXJsXCIsZ2V0RGF0YTpcImRhdGEtYWpheFwiLHNldENvbnRlbnQ6ITAsbG9hZGluZ0NsYXNzOiEwLHNwaW5uZXI6ITAsc3Bpbm5lckRlbGF5OjMwMCxzcGlubmVyUmVwb3NpdGlvbjohMH0sY2FuY2VsQWpheE9uQ2xvc2U6ITAsdGFyZ2V0Om51bGwscG9zaXRpb246e3g6XCJjZW50ZXJcIix5OlwiY2VudGVyXCJ9LG91dHNpZGU6bnVsbCxvZmZzZXQ6MCxhdHRyaWJ1dGVzOnt4OlwibGVmdFwiLHk6XCJ0b3BcIn0sZml4ZWQ6ITEsYWRqdXN0UG9zaXRpb246ITAsYWRqdXN0VHJhY2tlcjohMSxhZGp1c3REaXN0YW5jZTo1LHJlcG9zaXRpb246ITAscmVwb3NpdGlvbk9uT3BlbjohMCxyZXBvc2l0aW9uT25Db250ZW50OiEwLGhvbGRQb3NpdGlvbjohMCxwb2ludGVyOiExLHBvaW50VG86XCJ0YXJnZXRcIixmYWRlOjE4MCxhbmltYXRpb246bnVsbCx0aGVtZTpcIkRlZmF1bHRcIixhZGRDbGFzczpudWxsLG92ZXJsYXk6ITEsb3ZlcmxheUNsYXNzOm51bGwsekluZGV4OjFlNCxkZWxheU9wZW46MCxkZWxheUNsb3NlOjAsY2xvc2VPbkVzYzohMSxjbG9zZU9uQ2xpY2s6ITEsY2xvc2VPbk1vdXNlbGVhdmU6ITEsY2xvc2VCdXR0b246ITEsYXBwZW5kVG86dChcImJvZHlcIiksY3JlYXRlT25Jbml0OiExLGJsb2NrU2Nyb2xsOiExLGJsb2NrU2Nyb2xsQWRqdXN0OiEwLGRyYWdnYWJsZTohMSxkcmFnT3ZlcjohMCxhdXRvQ2xvc2U6ITEsZGVsYXlPbkhvdmVyOiExLHNob3dDb3VudGRvd246ITEscHJlbG9hZEF1ZGlvOiEwLGF1ZGlvOm51bGwsdm9sdW1lOjEwMCxvbkluaXQ6bnVsbCxvbkF0dGFjaDpudWxsLG9uUG9zaXRpb246bnVsbCxvbkNyZWF0ZWQ6bnVsbCxvbk9wZW46bnVsbCxvbkNsb3NlOm51bGwsb25DbG9zZUNvbXBsZXRlOm51bGwsb25EcmFnU3RhcnQ6bnVsbCxvbkRyYWdFbmQ6bnVsbH0sdGhpcy5fcGx1Z2luT3B0aW9ucz17VG9vbHRpcDp7Z2V0Q29udGVudDpcInRpdGxlXCIsdHJpZ2dlcjpcIm1vdXNlZW50ZXJcIixwb3NpdGlvbjp7eDpcImNlbnRlclwiLHk6XCJ0b3BcIn0sb3V0c2lkZTpcInlcIixwb2ludGVyOiEwfSxNb3VzZTp7cmVzcG9uc2l2ZVdpZHRoOiExLHJlc3BvbnNpdmVIZWlnaHQ6ITEsYWRqdXN0UG9zaXRpb246XCJmbGlwXCIsdGFyZ2V0OlwibW91c2VcIix0cmlnZ2VyOlwibW91c2VlbnRlclwiLHBvc2l0aW9uOnt4OlwicmlnaHRcIix5OlwiYm90dG9tXCJ9LG91dHNpZGU6XCJ4eVwiLG9mZnNldDo1fSxNb2RhbDp7dGFyZ2V0OnQod2luZG93KSxmaXhlZDohMCxibG9ja1Njcm9sbDohMCxjbG9zZU9uRXNjOiEwLGNsb3NlT25DbGljazpcIm92ZXJsYXlcIixjbG9zZUJ1dHRvbjohMCxvdmVybGF5OiEwLGFuaW1hdGlvbjpcInpvb21JblwifX0sdGhpcy5vcHRpb25zPXQuZXh0ZW5kKCEwLHRoaXMub3B0aW9ucyx0aGlzLl9wbHVnaW5PcHRpb25zW29dfHxpLl9wbHVnaW5PcHRpb25zW29dLHMpLFwic3RyaW5nXCI9PXQudHlwZShvKSYmKHRoaXMudHlwZT1vKSx0aGlzLmlzVG91Y2hEZXZpY2U9ZnVuY3Rpb24oKXt2YXIgdCxpPVwiIC13ZWJraXQtIC1tb3otIC1vLSAtbXMtIFwiLnNwbGl0KFwiIFwiKTtyZXR1cm4hIShcIm9udG91Y2hzdGFydFwiaW4gd2luZG93fHx3aW5kb3cuRG9jdW1lbnRUb3VjaCYmZG9jdW1lbnQgaW5zdGFuY2VvZiBEb2N1bWVudFRvdWNoKXx8KHQ9aT1bXCIoXCIsaS5qb2luKFwidG91Y2gtZW5hYmxlZCksKFwiKSxcImhlYXJ0elwiLFwiKVwiXS5qb2luKFwiXCIpLHdpbmRvdy5tYXRjaE1lZGlhKHQpLm1hdGNoZXMpfSgpLHRoaXMuaXNUb3VjaERldmljZSYmXCJtb3VzZWVudGVyXCI9PT10aGlzLm9wdGlvbnMudHJpZ2dlciYmITE9PT10aGlzLm9wdGlvbnMuY2xvc2VPbkNsaWNrJiYodGhpcy5vcHRpb25zLmNsb3NlT25DbGljaz1cImJvZHlcIiksdGhpcy5fZmlyZUV2ZW50PWZ1bmN0aW9uKHQsaSl7dGhpcy5vcHRpb25zW1wiX1wiK3RdJiZ0aGlzLm9wdGlvbnNbXCJfXCIrdF0uYmluZCh0aGlzKShpKSx0aGlzLm9wdGlvbnNbdF0mJnRoaXMub3B0aW9uc1t0XS5iaW5kKHRoaXMpKGkpfSxudWxsPT09dGhpcy5vcHRpb25zLmlkJiYodGhpcy5vcHRpb25zLmlkPVwiakJveFwiK2kuX2dldFVuaXF1ZUlEKCkpLHRoaXMuaWQ9dGhpcy5vcHRpb25zLmlkLChcImNlbnRlclwiPT10aGlzLm9wdGlvbnMucG9zaXRpb24ueCYmXCJ4XCI9PXRoaXMub3B0aW9ucy5vdXRzaWRlfHxcImNlbnRlclwiPT10aGlzLm9wdGlvbnMucG9zaXRpb24ueSYmXCJ5XCI9PXRoaXMub3B0aW9ucy5vdXRzaWRlKSYmKHRoaXMub3B0aW9ucy5vdXRzaWRlPW51bGwpLFwidGFyZ2V0XCIhPXRoaXMub3B0aW9ucy5wb2ludFRvfHx0aGlzLm9wdGlvbnMub3V0c2lkZSYmXCJ4eVwiIT10aGlzLm9wdGlvbnMub3V0c2lkZXx8KHRoaXMub3B0aW9ucy5wb2ludGVyPSExKSxcIm9iamVjdFwiIT10LnR5cGUodGhpcy5vcHRpb25zLm9mZnNldCk/dGhpcy5vcHRpb25zLm9mZnNldD17eDp0aGlzLm9wdGlvbnMub2Zmc2V0LHk6dGhpcy5vcHRpb25zLm9mZnNldH06dGhpcy5vcHRpb25zLm9mZnNldD10LmV4dGVuZCh7eDowLHk6MH0sdGhpcy5vcHRpb25zLm9mZnNldCksXCJvYmplY3RcIiE9dC50eXBlKHRoaXMub3B0aW9ucy5hZGp1c3REaXN0YW5jZSk/dGhpcy5vcHRpb25zLmFkanVzdERpc3RhbmNlPXt0b3A6dGhpcy5vcHRpb25zLmFkanVzdERpc3RhbmNlLHJpZ2h0OnRoaXMub3B0aW9ucy5hZGp1c3REaXN0YW5jZSxib3R0b206dGhpcy5vcHRpb25zLmFkanVzdERpc3RhbmNlLGxlZnQ6dGhpcy5vcHRpb25zLmFkanVzdERpc3RhbmNlfTp0aGlzLm9wdGlvbnMuYWRqdXN0RGlzdGFuY2U9dC5leHRlbmQoe3RvcDo1LGxlZnQ6NSxyaWdodDo1LGJvdHRvbTo1fSx0aGlzLm9wdGlvbnMuYWRqdXN0RGlzdGFuY2UpLHRoaXMub3V0c2lkZT0hKCF0aGlzLm9wdGlvbnMub3V0c2lkZXx8XCJ4eVwiPT10aGlzLm9wdGlvbnMub3V0c2lkZSkmJnRoaXMub3B0aW9ucy5wb3NpdGlvblt0aGlzLm9wdGlvbnMub3V0c2lkZV0sdGhpcy5hbGlnbj10aGlzLm91dHNpZGV8fChcImNlbnRlclwiIT10aGlzLm9wdGlvbnMucG9zaXRpb24ueSYmXCJudW1iZXJcIiE9dC50eXBlKHRoaXMub3B0aW9ucy5wb3NpdGlvbi55KT90aGlzLm9wdGlvbnMucG9zaXRpb24ueDpcImNlbnRlclwiIT10aGlzLm9wdGlvbnMucG9zaXRpb24ueCYmXCJudW1iZXJcIiE9dC50eXBlKHRoaXMub3B0aW9ucy5wb3NpdGlvbi54KT90aGlzLm9wdGlvbnMucG9zaXRpb24ueTp0aGlzLm9wdGlvbnMuYXR0cmlidXRlcy54KSxpLnpJbmRleE1heD1NYXRoLm1heChpLnpJbmRleE1heHx8MCxcImF1dG9cIj09PXRoaXMub3B0aW9ucy56SW5kZXg/MWU0OnRoaXMub3B0aW9ucy56SW5kZXgpLFwiYXV0b1wiPT09dGhpcy5vcHRpb25zLnpJbmRleCYmKHRoaXMuYWRqdXN0WkluZGV4T25PcGVuPSEwLGkuekluZGV4TWF4Kz0yLHRoaXMub3B0aW9ucy56SW5kZXg9aS56SW5kZXhNYXgsdGhpcy50cnVlTW9kYWw9dGhpcy5vcHRpb25zLm92ZXJsYXkpLHRoaXMuX2dldE9wcD1mdW5jdGlvbih0KXtyZXR1cm57bGVmdDpcInJpZ2h0XCIscmlnaHQ6XCJsZWZ0XCIsdG9wOlwiYm90dG9tXCIsYm90dG9tOlwidG9wXCIseDpcInlcIix5OlwieFwifVt0XX0sdGhpcy5fZ2V0WFk9ZnVuY3Rpb24odCl7cmV0dXJue2xlZnQ6XCJ4XCIscmlnaHQ6XCJ4XCIsdG9wOlwieVwiLGJvdHRvbTpcInlcIixjZW50ZXI6XCJ4XCJ9W3RdfSx0aGlzLl9nZXRUTD1mdW5jdGlvbih0KXtyZXR1cm57bGVmdDpcImxlZnRcIixyaWdodDpcImxlZnRcIix0b3A6XCJ0b3BcIixib3R0b206XCJ0b3BcIixjZW50ZXI6XCJsZWZ0XCIseDpcImxlZnRcIix5OlwidG9wXCJ9W3RdfSx0aGlzLl9nZXRJbnQ9ZnVuY3Rpb24oaSxvKXtyZXR1cm5cImF1dG9cIj09aT9cImF1dG9cIjppJiZcInN0cmluZ1wiPT10LnR5cGUoaSkmJlwiJVwiPT1pLnNsaWNlKC0xKT90KHdpbmRvdylbXCJoZWlnaHRcIj09bz9cImlubmVySGVpZ2h0XCI6XCJpbm5lcldpZHRoXCJdKCkqcGFyc2VJbnQoaS5yZXBsYWNlKFwiJVwiLFwiXCIpKS8xMDA6aX0sdGhpcy5fY3JlYXRlU1ZHPWZ1bmN0aW9uKGksbyl7dmFyIHM9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudE5TKFwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIixpKTtyZXR1cm4gdC5lYWNoKG8sZnVuY3Rpb24odCxpKXtzLnNldEF0dHJpYnV0ZShpWzBdLGlbMV18fFwiXCIpfSksc30sdGhpcy5faXNvbGF0ZVNjcm9sbD1mdW5jdGlvbih0KXt0JiZ0Lmxlbmd0aCYmdC5vbihcIkRPTU1vdXNlU2Nyb2xsLmpCb3hJc29sYXRlU2Nyb2xsIG1vdXNld2hlZWwuakJveElzb2xhdGVTY3JvbGxcIixmdW5jdGlvbihpKXt2YXIgbz1pLndoZWVsRGVsdGF8fGkub3JpZ2luYWxFdmVudCYmaS5vcmlnaW5hbEV2ZW50LndoZWVsRGVsdGF8fC1pLmRldGFpbCxzPTA8PXRoaXMuc2Nyb2xsVG9wK3Qub3V0ZXJIZWlnaHQoKS10aGlzLnNjcm9sbEhlaWdodCxlPXRoaXMuc2Nyb2xsVG9wPD0wOyhvPDAmJnN8fDA8byYmZSkmJmkucHJldmVudERlZmF1bHQoKX0pfSx0aGlzLl9zZXRUaXRsZVdpZHRoPWZ1bmN0aW9uKCl7aWYoIXRoaXMudGl0bGVDb250YWluZXJ8fFwiYXV0b1wiPT10aGlzLmNvbnRlbnRbMF0uc3R5bGUud2lkdGgmJiF0aGlzLmNvbnRlbnRbMF0uc3R5bGUubWF4V2lkdGgpcmV0dXJuIG51bGw7dmFyIHQ7XCJub25lXCI9PXRoaXMud3JhcHBlci5jc3MoXCJkaXNwbGF5XCIpPyh0aGlzLndyYXBwZXIuY3NzKFwiZGlzcGxheVwiLFwiYmxvY2tcIiksdD10aGlzLmNvbnRlbnQub3V0ZXJXaWR0aCgpLHRoaXMud3JhcHBlci5jc3MoXCJkaXNwbGF5XCIsXCJub25lXCIpKTp0PXRoaXMuY29udGVudC5vdXRlcldpZHRoKCksdGhpcy50aXRsZUNvbnRhaW5lci5jc3Moe21heFdpZHRoOk1hdGgubWF4KHQscGFyc2VJbnQodGhpcy5jb250ZW50WzBdLnN0eWxlLm1heFdpZHRoKSl8fG51bGx9KX0sdGhpcy5fZHJhZ2dhYmxlPWZ1bmN0aW9uKCl7aWYoIXRoaXMub3B0aW9ucy5kcmFnZ2FibGUpcmV0dXJuITE7dmFyIG89XCJ0aXRsZVwiPT10aGlzLm9wdGlvbnMuZHJhZ2dhYmxlP3RoaXMudGl0bGVDb250YWluZXI6dGhpcy5vcHRpb25zLmRyYWdnYWJsZSBpbnN0YW5jZW9mIHQ/dGhpcy5vcHRpb25zLmRyYWdnYWJsZTpcInN0cmluZ1wiPT10LnR5cGUodGhpcy5vcHRpb25zLmRyYWdnYWJsZSk/dCh0aGlzLm9wdGlvbnMuZHJhZ2dhYmxlKTp0aGlzLndyYXBwZXI7cmV0dXJuISghKG8mJm8gaW5zdGFuY2VvZiB0JiZvLmxlbmd0aCl8fG8uZGF0YShcImpCb3gtZHJhZ2dhYmxlXCIpKSYmKG8uYWRkQ2xhc3MoXCJqQm94LWRyYWdnYWJsZVwiKS5kYXRhKFwiakJveC1kcmFnZ2FibGVcIiwhMCkub24oXCJ0b3VjaHN0YXJ0IG1vdXNlZG93blwiLGZ1bmN0aW9uKG8pe3ZhciBzLGUsbixhLGgscjsyPT1vLmJ1dHRvbnx8dChvLnRhcmdldCkuaGFzQ2xhc3MoXCJqQm94LW5vRHJhZ1wiKXx8dChvLnRhcmdldCkucGFyZW50cyhcIi5qQm94LW5vRHJhZ1wiKS5sZW5ndGg/XCJ0b3VjaHN0YXJ0XCI9PW8udHlwZSYmKHQoby50YXJnZXQpLmhhc0NsYXNzKFwiakJveC1jbG9zZUJ1dHRvblwiKXx8dChvLnRhcmdldCkucGFyZW50cyhcIi5qQm94LWNsb3NlQnV0dG9uXCIpLmxlbmd0aCkmJnRoaXMuY2xvc2Uoe2lnbm9yZURlbGF5OiEwfSk6KGU9XCJ0b3VjaHN0YXJ0XCI9PW8udHlwZSYmby50b3VjaGVzJiZvLnRvdWNoZXNbMF0/KHM9by50b3VjaGVzWzBdLnBhZ2VYLG8udG91Y2hlc1swXS5wYWdlWSk6KHM9by5wYWdlWCxvLnBhZ2VZKSx0aGlzLmRyYWdnaW5nU3RhcnRYPXMsdGhpcy5kcmFnZ2luZ1N0YXJ0WT1lLHRoaXMub3B0aW9ucy5kcmFnT3ZlciYmIXRoaXMudHJ1ZU1vZGFsJiZwYXJzZUludCh0aGlzLndyYXBwZXIuY3NzKFwiekluZGV4XCIpLDEwKTw9aS56SW5kZXhNYXhEcmFnb3ZlciYmKGkuekluZGV4TWF4RHJhZ292ZXIrPTEsdGhpcy53cmFwcGVyLmNzcyhcInpJbmRleFwiLGkuekluZGV4TWF4RHJhZ292ZXIpKSxuPXRoaXMud3JhcHBlci5vdXRlckhlaWdodCgpLGE9dGhpcy53cmFwcGVyLm91dGVyV2lkdGgoKSxoPXRoaXMud3JhcHBlci5vZmZzZXQoKS50b3Arbi1lLHI9dGhpcy53cmFwcGVyLm9mZnNldCgpLmxlZnQrYS1zLHQoZG9jdW1lbnQpLm9uKFwidG91Y2htb3ZlLmpCb3gtZHJhZ2dhYmxlLVwiK3RoaXMuaWQrXCIgbW91c2Vtb3ZlLmpCb3gtZHJhZ2dhYmxlLVwiK3RoaXMuaWQsZnVuY3Rpb24odCl7dmFyIGk7dD1cInRvdWNobW92ZVwiPT10LnR5cGUmJnQudG91Y2hlcyYmdC50b3VjaGVzWzBdPyhpPXQudG91Y2hlc1swXS5wYWdlWCx0LnRvdWNoZXNbMF0ucGFnZVkpOihpPXQucGFnZVgsdC5wYWdlWSk7dGhpcy5kcmFnZ2luZ3x8dGhpcy5kcmFnZ2luZ1N0YXJ0WD09aXx8dGhpcy5kcmFnZ2luZ1N0YXJ0WT09dHx8KHRoaXMuX2ZpcmVFdmVudChcIm9uRHJhZ1N0YXJ0XCIpLHRoaXMuZHJhZ2dpbmc9ITApLHRoaXMud3JhcHBlci5vZmZzZXQoe3RvcDp0K2gtbixsZWZ0Omkrci1hfSl9LmJpbmQodGhpcykpLG8ucHJldmVudERlZmF1bHQoKSl9LmJpbmQodGhpcykpLm9uKFwidG91Y2hlbmQgbW91c2V1cFwiLGZ1bmN0aW9uKCl7dmFyIGk7dChkb2N1bWVudCkub2ZmKFwidG91Y2htb3ZlLmpCb3gtZHJhZ2dhYmxlLVwiK3RoaXMuaWQrXCIgbW91c2Vtb3ZlLmpCb3gtZHJhZ2dhYmxlLVwiK3RoaXMuaWQpLHRoaXMuZHJhZ2dpbmcmJnRoaXMuX2ZpcmVFdmVudChcIm9uRHJhZ0VuZFwiKSx0aGlzLmRyYWdnaW5nPSExLFwiTW9kYWxcIiE9dGhpcy50eXBlJiZcIkNvbmZpcm1cIiE9dGhpcy50eXBlfHwhdGhpcy5vcHRpb25zLmhvbGRQb3NpdGlvbnx8KGk9e3g6KGk9dChcIiNcIit0aGlzLmlkKS5vZmZzZXQoKSkubGVmdC10KGRvY3VtZW50KS5zY3JvbGxMZWZ0KCkseTppLnRvcC10KGRvY3VtZW50KS5zY3JvbGxUb3AoKX0sdGhpcy5wb3NpdGlvbih7cG9zaXRpb246aSxvZmZzZXQ6e3g6MCx5OjB9fSkpfS5iaW5kKHRoaXMpKSx0aGlzLnRydWVNb2RhbHx8KGkuekluZGV4TWF4RHJhZ292ZXI9aS56SW5kZXhNYXhEcmFnb3Zlcj9NYXRoLm1heChpLnpJbmRleE1heERyYWdvdmVyLHRoaXMub3B0aW9ucy56SW5kZXgpOnRoaXMub3B0aW9ucy56SW5kZXgpLHRoaXMpfSx0aGlzLl9jcmVhdGU9ZnVuY3Rpb24oKXt2YXIgaTt0aGlzLndyYXBwZXJ8fCh0aGlzLndyYXBwZXI9dChcIjxkaXYvPlwiLHtpZDp0aGlzLmlkLGNsYXNzOlwiakJveC13cmFwcGVyXCIrKHRoaXMudHlwZT9cIiBqQm94LVwiK3RoaXMudHlwZTpcIlwiKSsodGhpcy5vcHRpb25zLnRoZW1lP1wiIGpCb3gtXCIrdGhpcy5vcHRpb25zLnRoZW1lOlwiXCIpKyh0aGlzLm9wdGlvbnMuYWRkQ2xhc3M/XCIgXCIrdGhpcy5vcHRpb25zLmFkZENsYXNzOlwiXCIpfSkuY3NzKHtwb3NpdGlvbjp0aGlzLm9wdGlvbnMuZml4ZWQ/XCJmaXhlZFwiOlwiYWJzb2x1dGVcIixkaXNwbGF5Olwibm9uZVwiLG9wYWNpdHk6MCx6SW5kZXg6dGhpcy5vcHRpb25zLnpJbmRleH0pLmRhdGEoXCJqQm94XCIsdGhpcyksdGhpcy5vcHRpb25zLmNsb3NlT25Nb3VzZWxlYXZlJiZ0aGlzLndyYXBwZXIub24oXCJtb3VzZWxlYXZlXCIsZnVuY3Rpb24oaSl7IXRoaXMuc291cmNlfHxpLnJlbGF0ZWRUYXJnZXQhPXRoaXMuc291cmNlWzBdJiYtMT09PXQuaW5BcnJheSh0aGlzLnNvdXJjZVswXSx0KGkucmVsYXRlZFRhcmdldCkucGFyZW50cyhcIipcIikpJiZ0aGlzLmNsb3NlKCl9LmJpbmQodGhpcykpLFwiYm94XCI9PXRoaXMub3B0aW9ucy5jbG9zZU9uQ2xpY2smJnRoaXMud3JhcHBlci5vbihcImNsaWNrIHRhcFwiLGZ1bmN0aW9uKCl7dGhpcy5jbG9zZSh7aWdub3JlRGVsYXk6ITB9KX0uYmluZCh0aGlzKSksdGhpcy5jb250YWluZXI9dCgnPGRpdiBjbGFzcz1cImpCb3gtY29udGFpbmVyXCIvPicpLmFwcGVuZFRvKHRoaXMud3JhcHBlciksdGhpcy5jb250ZW50PXQoJzxkaXYgY2xhc3M9XCJqQm94LWNvbnRlbnRcIi8+JykuYXBwZW5kVG8odGhpcy5jb250YWluZXIpLHRoaXMub3B0aW9ucy5mb290ZXImJih0aGlzLmZvb3Rlcj10KCc8ZGl2IGNsYXNzPVwiakJveC1mb290ZXJcIi8+JykuYXBwZW5kKHRoaXMub3B0aW9ucy5mb290ZXIpLmFwcGVuZFRvKHRoaXMuY29udGFpbmVyKSksdGhpcy5vcHRpb25zLmlzb2xhdGVTY3JvbGwmJnRoaXMuX2lzb2xhdGVTY3JvbGwodGhpcy5jb250ZW50KSx0aGlzLm9wdGlvbnMuY2xvc2VCdXR0b24mJigoaT10aGlzLl9jcmVhdGVTVkcoXCJzdmdcIixbW1widmlld0JveFwiLFwiMCAwIDI0IDI0XCJdXSkpLmFwcGVuZENoaWxkKHRoaXMuX2NyZWF0ZVNWRyhcInBhdGhcIixbW1wiZFwiLFwiTTIyLjIsNGMwLDAsMC41LDAuNiwwLDEuMWwtNi44LDYuOGw2LjksNi45YzAuNSwwLjUsMCwxLjEsMCwxLjFMMjAsMjIuM2MwLDAtMC42LDAuNS0xLjEsMEwxMiwxNS40bC02LjksNi45Yy0wLjUsMC41LTEuMSwwLTEuMSwwTDEuNywyMGMwLDAtMC41LTAuNiwwLTEuMUw4LjYsMTJMMS43LDUuMUMxLjIsNC42LDEuNyw0LDEuNyw0TDQsMS43YzAsMCwwLjYtMC41LDEuMSwwTDEyLDguNWw2LjgtNi44YzAuNS0wLjUsMS4xLDAsMS4xLDBMMjIuMiw0elwiXV0pKSx0aGlzLmNsb3NlQnV0dG9uPXQoJzxkaXYgY2xhc3M9XCJqQm94LWNsb3NlQnV0dG9uIGpCb3gtbm9EcmFnXCIvPicpLm9uKFwiY2xpY2sgdGFwXCIsZnVuY3Rpb24odCl7dGhpcy5jbG9zZSh7aWdub3JlRGVsYXk6ITB9KX0uYmluZCh0aGlzKSkuYXBwZW5kKGkpLFwiYm94XCIhPXRoaXMub3B0aW9ucy5jbG9zZUJ1dHRvbiYmKCEwIT09dGhpcy5vcHRpb25zLmNsb3NlQnV0dG9ufHx0aGlzLm9wdGlvbnMub3ZlcmxheXx8dGhpcy5vcHRpb25zLnRpdGxlfHx0aGlzLm9wdGlvbnMuZ2V0VGl0bGUpfHwodGhpcy53cmFwcGVyLmFkZENsYXNzKFwiakJveC1jbG9zZUJ1dHRvbi1ib3hcIiksdGhpcy5jbG9zZUJ1dHRvbi5hcHBlbmRUbyh0aGlzLmNvbnRhaW5lcikpKSx0aGlzLndyYXBwZXIuYXBwZW5kVG8odGhpcy5vcHRpb25zLmFwcGVuZFRvKSx0aGlzLndyYXBwZXIuZmluZChcIi5qQm94LWNsb3NlQnV0dG9uXCIpLmxlbmd0aCYmdC5lYWNoKFtcInRvcFwiLFwicmlnaHRcIixcImJvdHRvbVwiLFwibGVmdFwiXSxmdW5jdGlvbih0LGkpe3RoaXMud3JhcHBlci5maW5kKFwiLmpCb3gtY2xvc2VCdXR0b25cIikuY3NzKGkpJiZcImF1dG9cIiE9dGhpcy53cmFwcGVyLmZpbmQoXCIuakJveC1jbG9zZUJ1dHRvblwiKS5jc3MoaSkmJih0aGlzLm9wdGlvbnMuYWRqdXN0RGlzdGFuY2VbaV09TWF0aC5tYXgodGhpcy5vcHRpb25zLmFkanVzdERpc3RhbmNlW2ldLHRoaXMub3B0aW9ucy5hZGp1c3REaXN0YW5jZVtpXSstMSooKHBhcnNlSW50KHRoaXMud3JhcHBlci5maW5kKFwiLmpCb3gtY2xvc2VCdXR0b25cIikuY3NzKGkpKXx8MCkrKHBhcnNlSW50KHRoaXMuY29udGFpbmVyLmNzcyhcImJvcmRlci1cIitpK1wiLXdpZHRoXCIpKXx8MCkpKSl9LmJpbmQodGhpcykpLHRoaXMub3B0aW9ucy5wb2ludGVyJiYodGhpcy5wb2ludGVyPXtwb3NpdGlvbjpcInRhcmdldFwiIT10aGlzLm9wdGlvbnMucG9pbnRUbz90aGlzLm9wdGlvbnMucG9pbnRUbzp0aGlzLl9nZXRPcHAodGhpcy5vdXRzaWRlKSx4eTpcInRhcmdldFwiIT10aGlzLm9wdGlvbnMucG9pbnRUbz90aGlzLl9nZXRYWSh0aGlzLm9wdGlvbnMucG9pbnRUbyk6dGhpcy5fZ2V0WFkodGhpcy5vdXRzaWRlKSxhbGlnbjpcImNlbnRlclwiLG9mZnNldDowfSx0aGlzLnBvaW50ZXIuZWxlbWVudD10KCc8ZGl2IGNsYXNzPVwiakJveC1wb2ludGVyIGpCb3gtcG9pbnRlci0nK3RoaXMucG9pbnRlci5wb3NpdGlvbisnXCIvPicpLmFwcGVuZFRvKHRoaXMud3JhcHBlciksdGhpcy5wb2ludGVyLmRpbWVuc2lvbnM9e3g6dGhpcy5wb2ludGVyLmVsZW1lbnQub3V0ZXJXaWR0aCgpLHk6dGhpcy5wb2ludGVyLmVsZW1lbnQub3V0ZXJIZWlnaHQoKX0sXCJzdHJpbmdcIj09dC50eXBlKHRoaXMub3B0aW9ucy5wb2ludGVyKSYmKChpPXRoaXMub3B0aW9ucy5wb2ludGVyLnNwbGl0KFwiOlwiKSlbMF0mJih0aGlzLnBvaW50ZXIuYWxpZ249aVswXSksaVsxXSYmKHRoaXMucG9pbnRlci5vZmZzZXQ9cGFyc2VJbnQoaVsxXSkpKSx0aGlzLnBvaW50ZXIuYWxpZ25BdHRyaWJ1dGU9XCJ4XCI9PXRoaXMucG9pbnRlci54eT9cImJvdHRvbVwiPT10aGlzLnBvaW50ZXIuYWxpZ24/XCJib3R0b21cIjpcInRvcFwiOlwicmlnaHRcIj09dGhpcy5wb2ludGVyLmFsaWduP1wicmlnaHRcIjpcImxlZnRcIix0aGlzLndyYXBwZXIuY3NzKFwicGFkZGluZy1cIit0aGlzLnBvaW50ZXIucG9zaXRpb24sdGhpcy5wb2ludGVyLmRpbWVuc2lvbnNbdGhpcy5wb2ludGVyLnh5XSksdGhpcy5wb2ludGVyLmVsZW1lbnQuY3NzKHRoaXMucG9pbnRlci5hbGlnbkF0dHJpYnV0ZSxcImNlbnRlclwiPT10aGlzLnBvaW50ZXIuYWxpZ24/XCI1MCVcIjowKS5jc3MoXCJtYXJnaW4tXCIrdGhpcy5wb2ludGVyLmFsaWduQXR0cmlidXRlLHRoaXMucG9pbnRlci5vZmZzZXQpLHRoaXMucG9pbnRlci5tYXJnaW49e30sdGhpcy5wb2ludGVyLm1hcmdpbltcIm1hcmdpbi1cIit0aGlzLnBvaW50ZXIuYWxpZ25BdHRyaWJ1dGVdPXRoaXMucG9pbnRlci5vZmZzZXQsXCJjZW50ZXJcIj09dGhpcy5wb2ludGVyLmFsaWduJiZ0aGlzLnBvaW50ZXIuZWxlbWVudC5jc3MoXCJ0cmFuc2Zvcm1cIixcInRyYW5zbGF0ZShcIisoXCJ5XCI9PXRoaXMucG9pbnRlci54eT8tLjUqdGhpcy5wb2ludGVyLmRpbWVuc2lvbnMueCtcInB4XCI6MCkrXCIsIFwiKyhcInhcIj09dGhpcy5wb2ludGVyLnh5Py0uNSp0aGlzLnBvaW50ZXIuZGltZW5zaW9ucy55K1wicHhcIjowKStcIilcIiksdGhpcy5wb2ludGVyLmVsZW1lbnQuY3NzKFwieFwiPT10aGlzLnBvaW50ZXIueHk/XCJ3aWR0aFwiOlwiaGVpZ2h0XCIscGFyc2VJbnQodGhpcy5wb2ludGVyLmRpbWVuc2lvbnNbdGhpcy5wb2ludGVyLnh5XSkrcGFyc2VJbnQodGhpcy5jb250YWluZXIuY3NzKFwiYm9yZGVyLVwiK3RoaXMucG9pbnRlci5hbGlnbkF0dHJpYnV0ZStcIi13aWR0aFwiKSkpLHRoaXMud3JhcHBlci5hZGRDbGFzcyhcImpCb3gtcG9pbnRlclBvc2l0aW9uLVwiK3RoaXMucG9pbnRlci5wb3NpdGlvbikpLHRoaXMuc2V0Q29udGVudCh0aGlzLm9wdGlvbnMuY29udGVudCwhMCksdGhpcy5zZXRUaXRsZSh0aGlzLm9wdGlvbnMudGl0bGUsITApLHRoaXMub3B0aW9ucy5kcmFnZ2FibGUmJnRoaXMuX2RyYWdnYWJsZSgpLHRoaXMuX2ZpcmVFdmVudChcIm9uQ3JlYXRlZFwiKSl9LHRoaXMub3B0aW9ucy5jcmVhdGVPbkluaXQmJnRoaXMuX2NyZWF0ZSgpLHRoaXMub3B0aW9ucy5hdHRhY2gmJnRoaXMuYXR0YWNoKCksdGhpcy5fYXR0YWNoRXZlbnRzPWZ1bmN0aW9uKCl7dGhpcy5vcHRpb25zLmRlbGF5T25Ib3ZlciYmdChcIiNcIit0aGlzLmlkKS5vbihcIm1vdXNlZW50ZXJcIixmdW5jdGlvbih0KXt0aGlzLmlzSG92ZXJlZD0hMH0uYmluZCh0aGlzKSksdGhpcy5vcHRpb25zLmRlbGF5T25Ib3ZlciYmdChcIiNcIit0aGlzLmlkKS5vbihcIm1vdXNlbGVhdmVcIixmdW5jdGlvbih0KXt0aGlzLmlzSG92ZXJlZD0hMX0uYmluZCh0aGlzKSksKHRoaXMub3B0aW9ucy5hZGp1c3RQb3NpdGlvbnx8dGhpcy5vcHRpb25zLnJlcG9zaXRpb24pJiYhdGhpcy5maXhlZCYmdGhpcy5vdXRzaWRlJiYodGhpcy5vcHRpb25zLmFkanVzdFRyYWNrZXImJnQod2luZG93KS5vbihcInNjcm9sbC5qQm94LVwiK3RoaXMuaWQsZnVuY3Rpb24odCl7dGhpcy5wb3NpdGlvbigpfS5iaW5kKHRoaXMpKSwodGhpcy5vcHRpb25zLmFkanVzdFBvc2l0aW9ufHx0aGlzLm9wdGlvbnMucmVwb3NpdGlvbikmJnQod2luZG93KS5vbihcInJlc2l6ZS5qQm94LVwiK3RoaXMuaWQsZnVuY3Rpb24odCl7dGhpcy5wb3NpdGlvbigpfS5iaW5kKHRoaXMpKSksXCJtb3VzZVwiPT10aGlzLm9wdGlvbnMudGFyZ2V0JiZ0KFwiYm9keVwiKS5vbihcIm1vdXNlbW92ZS5qQm94LVwiK3RoaXMuaWQsZnVuY3Rpb24odCl7dGhpcy5wb3NpdGlvbih7bW91c2VUYXJnZXQ6e3RvcDp0LnBhZ2VZLGxlZnQ6dC5wYWdlWH19KX0uYmluZCh0aGlzKSl9LHRoaXMuX2RldGFjaEV2ZW50cz1mdW5jdGlvbigpe3RoaXMub3B0aW9ucy5jbG9zZU9uRXNjJiZ0KGRvY3VtZW50KS5vZmYoXCJrZXl1cC5qQm94LVwiK3RoaXMuaWQpLCEwIT09dGhpcy5vcHRpb25zLmNsb3NlT25DbGljayYmXCJib2R5XCIhPXRoaXMub3B0aW9ucy5jbG9zZU9uQ2xpY2t8fHQoZG9jdW1lbnQpLm9mZihcImNsaWNrLmpCb3gtXCIrdGhpcy5pZCtcIiB0YXAuakJveC1cIit0aGlzLmlkKSx0aGlzLm9wdGlvbnMuYWRqdXN0VHJhY2tlciYmdCh3aW5kb3cpLm9mZihcInNjcm9sbC5qQm94LVwiK3RoaXMuaWQpLCh0aGlzLm9wdGlvbnMuYWRqdXN0UG9zaXRpb258fHRoaXMub3B0aW9ucy5yZXBvc2l0aW9uKSYmdCh3aW5kb3cpLm9mZihcInJlc2l6ZS5qQm94LVwiK3RoaXMuaWQpLFwibW91c2VcIj09dGhpcy5vcHRpb25zLnRhcmdldCYmdChcImJvZHlcIikub2ZmKFwibW91c2Vtb3ZlLmpCb3gtXCIrdGhpcy5pZCl9LHRoaXMuX3Nob3dPdmVybGF5PWZ1bmN0aW9uKCl7dGhpcy5vdmVybGF5fHwodGhpcy5vdmVybGF5PXQoJzxkaXYgaWQ9XCInK3RoaXMuaWQrJy1vdmVybGF5XCIvPicpLmFkZENsYXNzKFwiakJveC1vdmVybGF5XCIrKHRoaXMudHlwZT9cIiBqQm94LW92ZXJsYXktXCIrdGhpcy50eXBlOlwiXCIpKS5jc3Moe2Rpc3BsYXk6XCJub25lXCIsb3BhY2l0eTowLHpJbmRleDp0aGlzLm9wdGlvbnMuekluZGV4LTF9KS5hcHBlbmRUbyh0aGlzLm9wdGlvbnMuYXBwZW5kVG8pLHRoaXMub3B0aW9ucy5vdmVybGF5Q2xhc3MmJnRoaXMub3ZlcmxheS5hZGRDbGFzcyh0aGlzLm9wdGlvbnMub3ZlcmxheUNsYXNzKSxcIm92ZXJsYXlcIiE9dGhpcy5vcHRpb25zLmNsb3NlQnV0dG9uJiYhMCE9PXRoaXMub3B0aW9ucy5jbG9zZUJ1dHRvbnx8dGhpcy5vdmVybGF5LmFwcGVuZCh0aGlzLmNsb3NlQnV0dG9uKSxcIm92ZXJsYXlcIj09dGhpcy5vcHRpb25zLmNsb3NlT25DbGljayYmdGhpcy5vdmVybGF5Lm9uKFwiY2xpY2sgdGFwXCIsZnVuY3Rpb24oKXt0aGlzLmNsb3NlKHtpZ25vcmVEZWxheTohMH0pfS5iaW5kKHRoaXMpKSx0KFwiI1wiK3RoaXMuaWQrXCItb3ZlcmxheSAuakJveC1jbG9zZUJ1dHRvblwiKS5sZW5ndGgmJih0aGlzLm9wdGlvbnMuYWRqdXN0RGlzdGFuY2UudG9wPU1hdGgubWF4KHQoXCIjXCIrdGhpcy5pZCtcIi1vdmVybGF5IC5qQm94LWNsb3NlQnV0dG9uXCIpLm91dGVySGVpZ2h0KCksdGhpcy5vcHRpb25zLmFkanVzdERpc3RhbmNlLnRvcCkpKSwhMD09PXRoaXMuYWRqdXN0WkluZGV4T25PcGVuJiZ0aGlzLm92ZXJsYXkuY3NzKFwiekluZGV4XCIscGFyc2VJbnQodGhpcy53cmFwcGVyLmNzcyhcInpJbmRleFwiKSwxMCktMSksXCJibG9ja1wiIT10aGlzLm92ZXJsYXkuY3NzKFwiZGlzcGxheVwiKSYmKHRoaXMub3B0aW9ucy5mYWRlP3RoaXMub3ZlcmxheS5zdG9wKCkmJnRoaXMub3ZlcmxheS5hbmltYXRlKHtvcGFjaXR5OjF9LHtxdWV1ZTohMSxkdXJhdGlvbjp0aGlzLm9wdGlvbnMuZmFkZSxzdGFydDpmdW5jdGlvbigpe3RoaXMub3ZlcmxheS5jc3Moe2Rpc3BsYXk6XCJibG9ja1wifSl9LmJpbmQodGhpcyl9KTp0aGlzLm92ZXJsYXkuY3NzKHtkaXNwbGF5OlwiYmxvY2tcIixvcGFjaXR5OjF9KSl9LHRoaXMuX2hpZGVPdmVybGF5PWZ1bmN0aW9uKCl7dGhpcy5vdmVybGF5JiYodGhpcy5vcHRpb25zLmZhZGU/dGhpcy5vdmVybGF5LnN0b3AoKSYmdGhpcy5vdmVybGF5LmFuaW1hdGUoe29wYWNpdHk6MH0se3F1ZXVlOiExLGR1cmF0aW9uOnRoaXMub3B0aW9ucy5mYWRlLGNvbXBsZXRlOmZ1bmN0aW9uKCl7dGhpcy5vdmVybGF5LmNzcyh7ZGlzcGxheTpcIm5vbmVcIn0pfS5iaW5kKHRoaXMpfSk6dGhpcy5vdmVybGF5LmNzcyh7ZGlzcGxheTpcIm5vbmVcIixvcGFjaXR5OjB9KSl9LHRoaXMuX2V4cG9zZURpbWVuc2lvbnM9ZnVuY3Rpb24oKXt0aGlzLndyYXBwZXIuY3NzKHt0b3A6LTFlNCxsZWZ0Oi0xZTQscmlnaHQ6XCJhdXRvXCIsYm90dG9tOlwiYXV0b1wifSk7dmFyIHQ9e3g6dGhpcy53cmFwcGVyLm91dGVyV2lkdGgoKSx5OnRoaXMud3JhcHBlci5vdXRlckhlaWdodCgpfTtyZXR1cm4gdGhpcy53cmFwcGVyLmNzcyh7dG9wOlwiYXV0b1wiLGxlZnQ6XCJhdXRvXCJ9KSx0fSx0aGlzLl9nZW5lcmF0ZUFuaW1hdGlvbkNTUz1mdW5jdGlvbigpe2lmKFwib2JqZWN0XCIhPXQudHlwZSh0aGlzLm9wdGlvbnMuYW5pbWF0aW9uKSYmKHRoaXMub3B0aW9ucy5hbmltYXRpb249e3B1bHNlOntvcGVuOlwicHVsc2VcIixjbG9zZTpcInpvb21PdXRcIn0sem9vbUluOntvcGVuOlwiem9vbUluXCIsY2xvc2U6XCJ6b29tSW5cIn0sem9vbU91dDp7b3BlbjpcInpvb21PdXRcIixjbG9zZTpcInpvb21PdXRcIn0sbW92ZTp7b3BlbjpcIm1vdmVcIixjbG9zZTpcIm1vdmVcIn0sc2xpZGU6e29wZW46XCJzbGlkZVwiLGNsb3NlOlwic2xpZGVcIn0sZmxpcDp7b3BlbjpcImZsaXBcIixjbG9zZTpcImZsaXBcIn0sdGFkYTp7b3BlbjpcInRhZGFcIixjbG9zZTpcInpvb21PdXRcIn19W3RoaXMub3B0aW9ucy5hbmltYXRpb25dKSwhdGhpcy5vcHRpb25zLmFuaW1hdGlvbilyZXR1cm4gbnVsbDt0aGlzLm9wdGlvbnMuYW5pbWF0aW9uLm9wZW4mJih0aGlzLm9wdGlvbnMuYW5pbWF0aW9uLm9wZW49dGhpcy5vcHRpb25zLmFuaW1hdGlvbi5vcGVuLnNwbGl0KFwiOlwiKSksdGhpcy5vcHRpb25zLmFuaW1hdGlvbi5jbG9zZSYmKHRoaXMub3B0aW9ucy5hbmltYXRpb24uY2xvc2U9dGhpcy5vcHRpb25zLmFuaW1hdGlvbi5jbG9zZS5zcGxpdChcIjpcIikpLHRoaXMub3B0aW9ucy5hbmltYXRpb24ub3BlbkRpcmVjdGlvbj10aGlzLm9wdGlvbnMuYW5pbWF0aW9uLm9wZW5bMV18fG51bGwsdGhpcy5vcHRpb25zLmFuaW1hdGlvbi5jbG9zZURpcmVjdGlvbj10aGlzLm9wdGlvbnMuYW5pbWF0aW9uLmNsb3NlWzFdfHxudWxsLHRoaXMub3B0aW9ucy5hbmltYXRpb24ub3BlbiYmKHRoaXMub3B0aW9ucy5hbmltYXRpb24ub3Blbj10aGlzLm9wdGlvbnMuYW5pbWF0aW9uLm9wZW5bMF0pLHRoaXMub3B0aW9ucy5hbmltYXRpb24uY2xvc2UmJih0aGlzLm9wdGlvbnMuYW5pbWF0aW9uLmNsb3NlPXRoaXMub3B0aW9ucy5hbmltYXRpb24uY2xvc2VbMF0pLHRoaXMub3B0aW9ucy5hbmltYXRpb24ub3BlbiYmKHRoaXMub3B0aW9ucy5hbmltYXRpb24ub3Blbis9XCJPcGVuXCIpLHRoaXMub3B0aW9ucy5hbmltYXRpb24uY2xvc2UmJih0aGlzLm9wdGlvbnMuYW5pbWF0aW9uLmNsb3NlKz1cIkNsb3NlXCIpO3ZhciBpPXtwdWxzZTp7ZHVyYXRpb246MzUwLGNzczpbW1wiMCVcIixcInNjYWxlKDEpXCJdLFtcIjUwJVwiLFwic2NhbGUoMS4xKVwiXSxbXCIxMDAlXCIsXCJzY2FsZSgxKVwiXV19LHpvb21Jbk9wZW46e2R1cmF0aW9uOnRoaXMub3B0aW9ucy5mYWRlfHwxODAsY3NzOltbXCIwJVwiLFwic2NhbGUoMC45KVwiXSxbXCIxMDAlXCIsXCJzY2FsZSgxKVwiXV19LHpvb21JbkNsb3NlOntkdXJhdGlvbjp0aGlzLm9wdGlvbnMuZmFkZXx8MTgwLGNzczpbW1wiMCVcIixcInNjYWxlKDEpXCJdLFtcIjEwMCVcIixcInNjYWxlKDAuOSlcIl1dfSx6b29tT3V0T3Blbjp7ZHVyYXRpb246dGhpcy5vcHRpb25zLmZhZGV8fDE4MCxjc3M6W1tcIjAlXCIsXCJzY2FsZSgxLjEpXCJdLFtcIjEwMCVcIixcInNjYWxlKDEpXCJdXX0sem9vbU91dENsb3NlOntkdXJhdGlvbjp0aGlzLm9wdGlvbnMuZmFkZXx8MTgwLGNzczpbW1wiMCVcIixcInNjYWxlKDEpXCJdLFtcIjEwMCVcIixcInNjYWxlKDEuMSlcIl1dfSxtb3ZlT3Blbjp7ZHVyYXRpb246dGhpcy5vcHRpb25zLmZhZGV8fDE4MCxwb3NpdGlvbnM6e3RvcDp7XCIwJVwiOi0xMn0scmlnaHQ6e1wiMCVcIjoxMn0sYm90dG9tOntcIjAlXCI6MTJ9LGxlZnQ6e1wiMCVcIjotMTJ9fSxjc3M6W1tcIjAlXCIsXCJ0cmFuc2xhdGUlWFkoJVZweClcIl0sW1wiMTAwJVwiLFwidHJhbnNsYXRlJVhZKDBweClcIl1dfSxtb3ZlQ2xvc2U6e2R1cmF0aW9uOnRoaXMub3B0aW9ucy5mYWRlfHwxODAsdGltaW5nOlwiZWFzZS1pblwiLHBvc2l0aW9uczp7dG9wOntcIjEwMCVcIjotMTJ9LHJpZ2h0OntcIjEwMCVcIjoxMn0sYm90dG9tOntcIjEwMCVcIjoxMn0sbGVmdDp7XCIxMDAlXCI6LTEyfX0sY3NzOltbXCIwJVwiLFwidHJhbnNsYXRlJVhZKDBweClcIl0sW1wiMTAwJVwiLFwidHJhbnNsYXRlJVhZKCVWcHgpXCJdXX0sc2xpZGVPcGVuOntkdXJhdGlvbjo0MDAscG9zaXRpb25zOnt0b3A6e1wiMCVcIjotNDAwfSxyaWdodDp7XCIwJVwiOjQwMH0sYm90dG9tOntcIjAlXCI6NDAwfSxsZWZ0OntcIjAlXCI6LTQwMH19LGNzczpbW1wiMCVcIixcInRyYW5zbGF0ZSVYWSglVnB4KVwiXSxbXCIxMDAlXCIsXCJ0cmFuc2xhdGUlWFkoMHB4KVwiXV19LHNsaWRlQ2xvc2U6e2R1cmF0aW9uOjQwMCx0aW1pbmc6XCJlYXNlLWluXCIscG9zaXRpb25zOnt0b3A6e1wiMTAwJVwiOi00MDB9LHJpZ2h0OntcIjEwMCVcIjo0MDB9LGJvdHRvbTp7XCIxMDAlXCI6NDAwfSxsZWZ0OntcIjEwMCVcIjotNDAwfX0sY3NzOltbXCIwJVwiLFwidHJhbnNsYXRlJVhZKDBweClcIl0sW1wiMTAwJVwiLFwidHJhbnNsYXRlJVhZKCVWcHgpXCJdXX0sZmxpcE9wZW46e2R1cmF0aW9uOjYwMCxjc3M6W1tcIjAlXCIsXCJwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWCg5MGRlZylcIl0sW1wiNDAlXCIsXCJwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWCgtMTVkZWcpXCJdLFtcIjcwJVwiLFwicGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVgoMTVkZWcpXCJdLFtcIjEwMCVcIixcInBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVYKDBkZWcpXCJdXX0sZmxpcENsb3NlOntkdXJhdGlvbjp0aGlzLm9wdGlvbnMuZmFkZXx8MzAwLGNzczpbW1wiMCVcIixcInBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVYKDBkZWcpXCJdLFtcIjEwMCVcIixcInBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVYKDkwZGVnKVwiXV19LHRhZGE6e2R1cmF0aW9uOjgwMCxjc3M6W1tcIjAlXCIsXCJzY2FsZSgxKVwiXSxbXCIxMCUsIDIwJVwiLFwic2NhbGUoMC45KSByb3RhdGUoLTNkZWcpXCJdLFtcIjMwJSwgNTAlLCA3MCUsIDkwJVwiLFwic2NhbGUoMS4xKSByb3RhdGUoM2RlZylcIl0sW1wiNDAlLCA2MCUsIDgwJVwiLFwic2NhbGUoMS4xKSByb3RhdGUoLTNkZWcpXCJdLFtcIjEwMCVcIixcInNjYWxlKDEpIHJvdGF0ZSgwKVwiXV19fTt0LmVhY2goW1wicHVsc2VcIixcInRhZGFcIl0sZnVuY3Rpb24odCxvKXtpW28rXCJPcGVuXCJdPWlbbytcIkNsb3NlXCJdPWlbb119KTt2YXIgbz1mdW5jdGlvbihvLHMpe3ZhciBlPVwiQGtleWZyYW1lcyBqQm94LVwiK3RoaXMuaWQrXCItYW5pbWF0aW9uLVwiK3RoaXMub3B0aW9ucy5hbmltYXRpb25bb10rXCItXCIrbysocz9cIi1cIitzOlwiXCIpK1wiIHtcIjtyZXR1cm4gdC5lYWNoKGlbdGhpcy5vcHRpb25zLmFuaW1hdGlvbltvXV0uY3NzLGZ1bmN0aW9uKHQsbil7dmFyIGE9cz9uWzFdLnJlcGxhY2UoXCIlWFlcIix0aGlzLl9nZXRYWShzKS50b1VwcGVyQ2FzZSgpKTpuWzFdO2lbdGhpcy5vcHRpb25zLmFuaW1hdGlvbltvXV0ucG9zaXRpb25zJiYoYT1hLnJlcGxhY2UoXCIlVlwiLGlbdGhpcy5vcHRpb25zLmFuaW1hdGlvbltvXV0ucG9zaXRpb25zW3NdW25bMF1dKSksZSs9blswXStcIiB7dHJhbnNmb3JtOlwiK2ErXCI7fVwifS5iaW5kKHRoaXMpKSxlKz1cIn1cIixlKz1cIi5qQm94LVwiK3RoaXMuaWQrXCItYW5pbWF0aW9uLVwiK3RoaXMub3B0aW9ucy5hbmltYXRpb25bb10rXCItXCIrbysocz9cIi1cIitzOlwiXCIpK1wiIHtcIixlKz1cImFuaW1hdGlvbi1kdXJhdGlvbjogXCIraVt0aGlzLm9wdGlvbnMuYW5pbWF0aW9uW29dXS5kdXJhdGlvbitcIm1zO1wiLGUrPVwiYW5pbWF0aW9uLW5hbWU6IGpCb3gtXCIrdGhpcy5pZCtcIi1hbmltYXRpb24tXCIrdGhpcy5vcHRpb25zLmFuaW1hdGlvbltvXStcIi1cIitvKyhzP1wiLVwiK3M6XCJcIikrXCI7XCIsZSs9aVt0aGlzLm9wdGlvbnMuYW5pbWF0aW9uW29dXS50aW1pbmc/XCJhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBcIitpW3RoaXMub3B0aW9ucy5hbmltYXRpb25bb11dLnRpbWluZytcIjtcIjpcIlwiLGUrPVwifVwifS5iaW5kKHRoaXMpO3RoaXMuX2FuaW1hdGlvbkNTUz1cIlwiLHQuZWFjaChbXCJvcGVuXCIsXCJjbG9zZVwiXSxmdW5jdGlvbihzLGUpe2lmKCF0aGlzLm9wdGlvbnMuYW5pbWF0aW9uW2VdfHwhaVt0aGlzLm9wdGlvbnMuYW5pbWF0aW9uW2VdXXx8XCJjbG9zZVwiPT1lJiYhdGhpcy5vcHRpb25zLmZhZGUpcmV0dXJuXCJcIjtpW3RoaXMub3B0aW9ucy5hbmltYXRpb25bZV1dLnBvc2l0aW9ucz90LmVhY2goW1widG9wXCIsXCJyaWdodFwiLFwiYm90dG9tXCIsXCJsZWZ0XCJdLGZ1bmN0aW9uKHQsaSl7dGhpcy5fYW5pbWF0aW9uQ1NTKz1vKGUsaSl9LmJpbmQodGhpcykpOnRoaXMuX2FuaW1hdGlvbkNTUys9byhlKX0uYmluZCh0aGlzKSl9LHRoaXMub3B0aW9ucy5hbmltYXRpb24mJnRoaXMuX2dlbmVyYXRlQW5pbWF0aW9uQ1NTKCksdGhpcy5fYmxvY2tCb2R5Q2xpY2s9ZnVuY3Rpb24oKXt0aGlzLmJsb2NrQm9keUNsaWNrPSEwLHNldFRpbWVvdXQoZnVuY3Rpb24oKXt0aGlzLmJsb2NrQm9keUNsaWNrPSExfS5iaW5kKHRoaXMpLDEwKX0sdGhpcy5fYW5pbWF0ZT1mdW5jdGlvbih0KXtpZih0PXR8fCh0aGlzLmlzT3Blbj9cIm9wZW5cIjpcImNsb3NlXCIpLCF0aGlzLm9wdGlvbnMuZmFkZSYmXCJjbG9zZVwiPT10KXJldHVybiBudWxsO3ZhciBpPXRoaXMub3B0aW9ucy5hbmltYXRpb25bdCtcIkRpcmVjdGlvblwiXXx8KFwiY2VudGVyXCIhPXRoaXMuYWxpZ24/dGhpcy5hbGlnbjp0aGlzLm9wdGlvbnMuYXR0cmlidXRlcy54KTt0aGlzLmZsaXBwZWQmJnRoaXMuX2dldFhZKGkpPT10aGlzLl9nZXRYWSh0aGlzLmFsaWduKSYmKGk9dGhpcy5fZ2V0T3BwKGkpKTt2YXIgbz1cImpCb3gtXCIrdGhpcy5pZCtcIi1hbmltYXRpb24tXCIrdGhpcy5vcHRpb25zLmFuaW1hdGlvblt0XStcIi1cIit0K1wiIGpCb3gtXCIrdGhpcy5pZCtcIi1hbmltYXRpb24tXCIrdGhpcy5vcHRpb25zLmFuaW1hdGlvblt0XStcIi1cIit0K1wiLVwiK2k7dGhpcy53cmFwcGVyLmFkZENsYXNzKG8pLGk9MWUzKnBhcnNlRmxvYXQodGhpcy53cmFwcGVyLmNzcyhcImFuaW1hdGlvbi1kdXJhdGlvblwiKSksXCJjbG9zZVwiPT10JiYoaT1NYXRoLm1pbihpLHRoaXMub3B0aW9ucy5mYWRlKSksc2V0VGltZW91dChmdW5jdGlvbigpe3RoaXMud3JhcHBlci5yZW1vdmVDbGFzcyhvKX0uYmluZCh0aGlzKSxpKX0sdGhpcy5fYWJvcnRBbmltYXRpb249ZnVuY3Rpb24oKXt2YXIgdD10aGlzLndyYXBwZXIuYXR0cihcImNsYXNzXCIpLnNwbGl0KFwiIFwiKS5maWx0ZXIoZnVuY3Rpb24odCl7cmV0dXJuIDAhPT10Lmxhc3RJbmRleE9mKFwiakJveC1cIit0aGlzLmlkK1wiLWFuaW1hdGlvblwiLDApfS5iaW5kKHRoaXMpKTt0aGlzLndyYXBwZXIuYXR0cihcImNsYXNzXCIsdC5qb2luKFwiIFwiKSl9LCh0aGlzLm9wdGlvbnMucmVzcG9uc2l2ZVdpZHRofHx0aGlzLm9wdGlvbnMucmVzcG9uc2l2ZUhlaWdodCkmJnQod2luZG93KS5vbihcInJlc2l6ZS5yZXNwb25zaXZlakJveC1cIit0aGlzLmlkLGZ1bmN0aW9uKHQpe3RoaXMuaXNPcGVuJiZ0aGlzLnBvc2l0aW9uKCl9LmJpbmQodGhpcykpLFwic3RyaW5nXCI9PT10LnR5cGUodGhpcy5vcHRpb25zLnByZWxvYWRBdWRpbykmJih0aGlzLm9wdGlvbnMucHJlbG9hZEF1ZGlvPVt0aGlzLm9wdGlvbnMucHJlbG9hZEF1ZGlvXSksXCJzdHJpbmdcIj09PXQudHlwZSh0aGlzLm9wdGlvbnMuYXVkaW8pJiYodGhpcy5vcHRpb25zLmF1ZGlvPXtvcGVuOnRoaXMub3B0aW9ucy5hdWRpb30pLFwibnVtYmVyXCI9PT10LnR5cGUodGhpcy5vcHRpb25zLnZvbHVtZSkmJih0aGlzLm9wdGlvbnMudm9sdW1lPXtvcGVuOnRoaXMub3B0aW9ucy52b2x1bWUsY2xvc2U6dGhpcy5vcHRpb25zLnZvbHVtZX0pLCEwPT09dGhpcy5vcHRpb25zLnByZWxvYWRBdWRpbyYmdGhpcy5vcHRpb25zLmF1ZGlvJiYodGhpcy5vcHRpb25zLnByZWxvYWRBdWRpbz1bXSx0LmVhY2godGhpcy5vcHRpb25zLmF1ZGlvLGZ1bmN0aW9uKHQsaSl7dGhpcy5vcHRpb25zLnByZWxvYWRBdWRpby5wdXNoKGkrXCIubXAzXCIpLHRoaXMub3B0aW9ucy5wcmVsb2FkQXVkaW8ucHVzaChpK1wiLm9nZ1wiKX0uYmluZCh0aGlzKSkpLHRoaXMub3B0aW9ucy5wcmVsb2FkQXVkaW8ubGVuZ3RoJiZ0LmVhY2godGhpcy5vcHRpb25zLnByZWxvYWRBdWRpbyxmdW5jdGlvbih0LGkpe3ZhciBvPW5ldyBBdWRpbztvLnNyYz1pLG8ucHJlbG9hZD1cImF1dG9cIn0pLHRoaXMuX2ZpcmVFdmVudChcIm9uSW5pdFwiKSx0aGlzfXZhciBvLHM7cmV0dXJuIGkucHJvdG90eXBlLmF0dGFjaD1mdW5jdGlvbihpLG8pe3JldHVybiBpPWl8fHRoaXMub3B0aW9ucy5hdHRhY2gsXCJzdHJpbmdcIj09dC50eXBlKGkpJiYoaT10KGkpKSxvPW98fHRoaXMub3B0aW9ucy50cmlnZ2VyLGkmJmkubGVuZ3RoJiZ0LmVhY2goaSxmdW5jdGlvbihpLHMpeyhzPXQocykpLmRhdGEoXCJqQm94LWF0dGFjaGVkLVwiK3RoaXMuaWQpfHwoXCJ0aXRsZVwiPT10aGlzLm9wdGlvbnMuZ2V0Q29udGVudCYmbnVsbCE9cy5hdHRyKFwidGl0bGVcIikmJnMuZGF0YShcImpCb3gtZ2V0Q29udGVudFwiLHMuYXR0cihcInRpdGxlXCIpKS5yZW1vdmVBdHRyKFwidGl0bGVcIiksdGhpcy5hdHRhY2hlZEVsZW1lbnRzfHwodGhpcy5hdHRhY2hlZEVsZW1lbnRzPVtdKSx0aGlzLmF0dGFjaGVkRWxlbWVudHMucHVzaChzWzBdKSxzLm9uKG8rXCIuakJveC1hdHRhY2gtXCIrdGhpcy5pZCxmdW5jdGlvbih0KXt2YXIgaTt0aGlzLnRpbWVyJiZjbGVhclRpbWVvdXQodGhpcy50aW1lciksXCJtb3VzZWVudGVyXCI9PW8mJnRoaXMuaXNPcGVuJiZ0aGlzLnNvdXJjZVswXT09c1swXXx8KHRoaXMuaXNPcGVuJiZ0aGlzLnNvdXJjZSYmdGhpcy5zb3VyY2VbMF0hPXNbMF0mJihpPSEwKSx0aGlzLnNvdXJjZT1zLHRoaXMub3B0aW9ucy50YXJnZXR8fCh0aGlzLnRhcmdldD1zKSxcImNsaWNrXCI9PW8mJnRoaXMub3B0aW9ucy5wcmV2ZW50RGVmYXVsdCYmdC5wcmV2ZW50RGVmYXVsdCgpLHRoaXNbXCJjbGlja1wiIT1vfHxpP1wib3BlblwiOlwidG9nZ2xlXCJdKCkpfS5iaW5kKHRoaXMpKSxcIm1vdXNlZW50ZXJcIj09dGhpcy5vcHRpb25zLnRyaWdnZXImJnMub24oXCJtb3VzZWxlYXZlXCIsZnVuY3Rpb24oaSl7aWYoIXRoaXMud3JhcHBlcilyZXR1cm4gbnVsbDt0aGlzLm9wdGlvbnMuY2xvc2VPbk1vdXNlbGVhdmUmJihpLnJlbGF0ZWRUYXJnZXQ9PXRoaXMud3JhcHBlclswXXx8dChpLnJlbGF0ZWRUYXJnZXQpLnBhcmVudHMoXCIjXCIrdGhpcy5pZCkubGVuZ3RoKXx8dGhpcy5jbG9zZSgpfS5iaW5kKHRoaXMpKSxzLmRhdGEoXCJqQm94LWF0dGFjaGVkLVwiK3RoaXMuaWQsbyksdGhpcy5fZmlyZUV2ZW50KFwib25BdHRhY2hcIixzKSl9LmJpbmQodGhpcykpLHRoaXN9LGkucHJvdG90eXBlLmRldGFjaD1mdW5jdGlvbihpKXtyZXR1cm4oaT1pfHx0aGlzLmF0dGFjaGVkRWxlbWVudHN8fFtdKSYmaS5sZW5ndGgmJnQuZWFjaChpLGZ1bmN0aW9uKGksbyl7KG89dChvKSkuZGF0YShcImpCb3gtYXR0YWNoZWQtXCIrdGhpcy5pZCkmJihvLm9mZihvLmRhdGEoXCJqQm94LWF0dGFjaGVkLVwiK3RoaXMuaWQpK1wiLmpCb3gtYXR0YWNoLVwiK3RoaXMuaWQpLG8uZGF0YShcImpCb3gtYXR0YWNoZWQtXCIrdGhpcy5pZCxudWxsKSksdGhpcy5hdHRhY2hlZEVsZW1lbnRzPXQuZ3JlcCh0aGlzLmF0dGFjaGVkRWxlbWVudHMsZnVuY3Rpb24odCl7cmV0dXJuIHQhPW9bMF19KX0uYmluZCh0aGlzKSksdGhpc30saS5wcm90b3R5cGUuc2V0VGl0bGU9ZnVuY3Rpb24oaSxvKXtpZihudWxsPT1pfHxudWxsPT1pKXJldHVybiB0aGlzO3RoaXMud3JhcHBlcnx8dGhpcy5fY3JlYXRlKCk7dmFyIHM9dGhpcy53cmFwcGVyLm91dGVySGVpZ2h0KCksZT10aGlzLndyYXBwZXIub3V0ZXJXaWR0aCgpO3JldHVybiB0aGlzLnRpdGxlfHwodGhpcy50aXRsZUNvbnRhaW5lcj10KCc8ZGl2IGNsYXNzPVwiakJveC10aXRsZVwiLz4nKSx0aGlzLnRpdGxlPXQoXCI8ZGl2Lz5cIikuYXBwZW5kVG8odGhpcy50aXRsZUNvbnRhaW5lciksXCJ0aXRsZVwiIT10aGlzLm9wdGlvbnMuY2xvc2VCdXR0b24mJighMCE9PXRoaXMub3B0aW9ucy5jbG9zZUJ1dHRvbnx8dGhpcy5vcHRpb25zLm92ZXJsYXkpfHwodGhpcy53cmFwcGVyLmFkZENsYXNzKFwiakJveC1jbG9zZUJ1dHRvbi10aXRsZVwiKSx0aGlzLmNsb3NlQnV0dG9uLmFwcGVuZFRvKHRoaXMudGl0bGVDb250YWluZXIpKSx0aGlzLnRpdGxlQ29udGFpbmVyLmluc2VydEJlZm9yZSh0aGlzLmNvbnRlbnQpLHRoaXMuX3NldFRpdGxlV2lkdGgoKSksdGhpcy53cmFwcGVyW2k/XCJhZGRDbGFzc1wiOlwicmVtb3ZlQ2xhc3NcIl0oXCJqQm94LWhhc1RpdGxlXCIpLHRoaXMudGl0bGUuaHRtbChpKSxlIT10aGlzLndyYXBwZXIub3V0ZXJXaWR0aCgpJiZ0aGlzLl9zZXRUaXRsZVdpZHRoKCksdGhpcy5vcHRpb25zLmRyYWdnYWJsZSYmdGhpcy5fZHJhZ2dhYmxlKCksb3x8IXRoaXMub3B0aW9ucy5yZXBvc2l0aW9uT25Db250ZW50fHxzPT10aGlzLndyYXBwZXIub3V0ZXJIZWlnaHQoKSYmZT09dGhpcy53cmFwcGVyLm91dGVyV2lkdGgoKXx8dGhpcy5wb3NpdGlvbigpLHRoaXN9LGkucHJvdG90eXBlLnNldENvbnRlbnQ9ZnVuY3Rpb24oaSxvKXtpZihudWxsPT1pfHxudWxsPT1pKXJldHVybiB0aGlzO3RoaXMud3JhcHBlcnx8dGhpcy5fY3JlYXRlKCk7dmFyIHM9dGhpcy53cmFwcGVyLm91dGVySGVpZ2h0KCksZT10aGlzLndyYXBwZXIub3V0ZXJXaWR0aCgpO3N3aXRjaCh0aGlzLmNvbnRlbnQuY2hpbGRyZW4oXCJbZGF0YS1qYm94LWNvbnRlbnQtYXBwZW5kZWRdXCIpLmFwcGVuZFRvKFwiYm9keVwiKS5jc3Moe2Rpc3BsYXk6XCJub25lXCJ9KSx0LnR5cGUoaSkpe2Nhc2VcInN0cmluZ1wiOnRoaXMuY29udGVudC5odG1sKGkpO2JyZWFrO2Nhc2VcIm9iamVjdFwiOmkmJihpIGluc3RhbmNlb2YgdHx8aS5jb25zdHJ1Y3Rvci5wcm90b3R5cGUuanF1ZXJ5KT8odGhpcy5jb250ZW50Lmh0bWwoXCJcIiksaS5hdHRyKFwiZGF0YS1qYm94LWNvbnRlbnQtYXBwZW5kZWRcIiwxKS5hcHBlbmRUbyh0aGlzLmNvbnRlbnQpLmNzcyh7ZGlzcGxheTpcImJsb2NrXCJ9KSk6dGhpcy5jb250ZW50Lmh0bWwoSlNPTi5zdHJpbmdpZnkoaSkpfXJldHVybiBlIT10aGlzLndyYXBwZXIub3V0ZXJXaWR0aCgpJiZ0aGlzLl9zZXRUaXRsZVdpZHRoKCksdGhpcy5vcHRpb25zLmRyYWdnYWJsZSYmdGhpcy5fZHJhZ2dhYmxlKCksb3x8IXRoaXMub3B0aW9ucy5yZXBvc2l0aW9uT25Db250ZW50fHxzPT10aGlzLndyYXBwZXIub3V0ZXJIZWlnaHQoKSYmZT09dGhpcy53cmFwcGVyLm91dGVyV2lkdGgoKXx8dGhpcy5wb3NpdGlvbigpLHRoaXN9LGkucHJvdG90eXBlLnNldERpbWVuc2lvbnM9ZnVuY3Rpb24odCxpLG8pe3RoaXMud3JhcHBlcnx8dGhpcy5fY3JlYXRlKCksbnVsbD09aSYmKGk9XCJhdXRvXCIpLHRoaXMuY29udGVudC5jc3ModCx0aGlzLl9nZXRJbnQoaSkpLFwid2lkdGhcIj09dCYmdGhpcy5fc2V0VGl0bGVXaWR0aCgpLHRoaXMub3B0aW9uc1t0XT1pLG51bGwhPW8mJiFvfHx0aGlzLnBvc2l0aW9uKCl9LGkucHJvdG90eXBlLnNldFdpZHRoPWZ1bmN0aW9uKHQsaSl7dGhpcy5zZXREaW1lbnNpb25zKFwid2lkdGhcIix0LGkpfSxpLnByb3RvdHlwZS5zZXRIZWlnaHQ9ZnVuY3Rpb24odCxpKXt0aGlzLnNldERpbWVuc2lvbnMoXCJoZWlnaHRcIix0LGkpfSxpLnByb3RvdHlwZS5wb3NpdGlvbj1mdW5jdGlvbihpKXtpZihpPWl8fHt9LGk9dC5leHRlbmQoITAsdGhpcy5vcHRpb25zLGkpLHRoaXMudGFyZ2V0PWkudGFyZ2V0fHx0aGlzLnRhcmdldHx8dCh3aW5kb3cpLHRoaXMudGFyZ2V0IGluc3RhbmNlb2YgdHx8XCJtb3VzZVwiPT10aGlzLnRhcmdldHx8KHRoaXMudGFyZ2V0PXQodGhpcy50YXJnZXQpKSwhdGhpcy50YXJnZXQubGVuZ3RoKXJldHVybiB0aGlzO3RoaXMuY29udGVudC5jc3Moe3dpZHRoOnRoaXMuX2dldEludChpLndpZHRoLFwid2lkdGhcIiksaGVpZ2h0OnRoaXMuX2dldEludChpLmhlaWdodCxcImhlaWdodFwiKSxtaW5XaWR0aDp0aGlzLl9nZXRJbnQoaS5taW5XaWR0aCxcIndpZHRoXCIpLG1pbkhlaWdodDp0aGlzLl9nZXRJbnQoaS5taW5IZWlnaHQsXCJoZWlnaHRcIiksbWF4V2lkdGg6dGhpcy5fZ2V0SW50KGkubWF4V2lkdGgsXCJ3aWR0aFwiKSxtYXhIZWlnaHQ6dGhpcy5fZ2V0SW50KGkubWF4SGVpZ2h0LFwiaGVpZ2h0XCIpfSksdGhpcy5fc2V0VGl0bGVXaWR0aCgpO3ZhciBvPXRoaXMuX2V4cG9zZURpbWVuc2lvbnMoKTtcIm1vdXNlXCI9PXRoaXMudGFyZ2V0fHx0aGlzLnRhcmdldC5kYXRhKFwiakJveC1cIit0aGlzLmlkK1wiLWZpeGVkXCIpfHx0aGlzLnRhcmdldC5kYXRhKFwiakJveC1cIit0aGlzLmlkK1wiLWZpeGVkXCIsdGhpcy50YXJnZXRbMF0hPXQod2luZG93KVswXSYmKFwiZml4ZWRcIj09dGhpcy50YXJnZXQuY3NzKFwicG9zaXRpb25cIil8fDA8dGhpcy50YXJnZXQucGFyZW50cygpLmZpbHRlcihmdW5jdGlvbigpe3JldHVyblwiZml4ZWRcIj09dCh0aGlzKS5jc3MoXCJwb3NpdGlvblwiKX0pLmxlbmd0aCk/XCJmaXhlZFwiOlwic3RhdGljXCIpO3ZhciBzPXt4OnQod2luZG93KS5vdXRlcldpZHRoKCkseTp0KHdpbmRvdykub3V0ZXJIZWlnaHQoKSx0b3A6aS5maXhlZCYmdGhpcy50YXJnZXQuZGF0YShcImpCb3gtXCIrdGhpcy5pZCtcIi1maXhlZFwiKT8wOnQod2luZG93KS5zY3JvbGxUb3AoKSxsZWZ0OmkuZml4ZWQmJnRoaXMudGFyZ2V0LmRhdGEoXCJqQm94LVwiK3RoaXMuaWQrXCItZml4ZWRcIik/MDp0KHdpbmRvdykuc2Nyb2xsTGVmdCgpfTtzLmJvdHRvbT1zLnRvcCtzLnkscy5yaWdodD1zLmxlZnQrcy54O3RyeXt2YXIgZT10aGlzLnRhcmdldC5vZmZzZXQoKX1jYXRjaChzKXtlPXt0b3A6MCxsZWZ0OjB9fVwibW91c2VcIiE9dGhpcy50YXJnZXQmJlwiZml4ZWRcIj09dGhpcy50YXJnZXQuZGF0YShcImpCb3gtXCIrdGhpcy5pZCtcIi1maXhlZFwiKSYmaS5maXhlZCYmKGUudG9wPWUudG9wLXQod2luZG93KS5zY3JvbGxUb3AoKSxlLmxlZnQ9ZS5sZWZ0LXQod2luZG93KS5zY3JvbGxMZWZ0KCkpO3ZhciBuPXt4OlwibW91c2VcIj09dGhpcy50YXJnZXQ/MTI6dGhpcy50YXJnZXQub3V0ZXJXaWR0aCgpLHk6XCJtb3VzZVwiPT10aGlzLnRhcmdldD8yMDp0aGlzLnRhcmdldC5vdXRlckhlaWdodCgpLHRvcDpcIm1vdXNlXCI9PXRoaXMudGFyZ2V0JiZpLm1vdXNlVGFyZ2V0P2kubW91c2VUYXJnZXQudG9wOmU/ZS50b3A6MCxsZWZ0OlwibW91c2VcIj09dGhpcy50YXJnZXQmJmkubW91c2VUYXJnZXQ/aS5tb3VzZVRhcmdldC5sZWZ0OmU/ZS5sZWZ0OjB9LGE9aS5vdXRzaWRlJiYhKFwiY2VudGVyXCI9PWkucG9zaXRpb24ueCYmXCJjZW50ZXJcIj09aS5wb3NpdGlvbi55KSxoPXt4OnMueC1pLmFkanVzdERpc3RhbmNlLmxlZnQtaS5hZGp1c3REaXN0YW5jZS5yaWdodCx5OnMueS1pLmFkanVzdERpc3RhbmNlLnRvcC1pLmFkanVzdERpc3RhbmNlLmJvdHRvbSxsZWZ0OmE/bi5sZWZ0LXQod2luZG93KS5zY3JvbGxMZWZ0KCktaS5hZGp1c3REaXN0YW5jZS5sZWZ0OjAscmlnaHQ6YT9zLngtbi5sZWZ0K3Qod2luZG93KS5zY3JvbGxMZWZ0KCktbi54LWkuYWRqdXN0RGlzdGFuY2UucmlnaHQ6MCx0b3A6YT9uLnRvcC10KHdpbmRvdykuc2Nyb2xsVG9wKCktdGhpcy5vcHRpb25zLmFkanVzdERpc3RhbmNlLnRvcDowLGJvdHRvbTphP3MueS1uLnRvcCt0KHdpbmRvdykuc2Nyb2xsVG9wKCktbi55LWkuYWRqdXN0RGlzdGFuY2UuYm90dG9tOjB9LHI9e3g6XCJ4XCIhPWkub3V0c2lkZSYmXCJ4eVwiIT1pLm91dHNpZGV8fFwibnVtYmVyXCI9PXQudHlwZShpLnBvc2l0aW9uLngpP251bGw6aS5wb3NpdGlvbi54LHk6XCJ5XCIhPWkub3V0c2lkZSYmXCJ4eVwiIT1pLm91dHNpZGV8fFwibnVtYmVyXCI9PXQudHlwZShpLnBvc2l0aW9uLnkpP251bGw6aS5wb3NpdGlvbi55fSxwPXt4OiExLHk6ITF9O3IueCYmby54Pmhbci54XSYmaFt0aGlzLl9nZXRPcHAoci54KV0+aFtyLnhdJiYoci54PXRoaXMuX2dldE9wcChyLngpKSYmKHAueD0hMCksci55JiZvLnk+aFtyLnldJiZoW3RoaXMuX2dldE9wcChyLnkpXT5oW3IueV0mJihyLnk9dGhpcy5fZ2V0T3BwKHIueSkpJiYocC55PSEwKSwoaS5yZXNwb25zaXZlV2lkdGh8fGkucmVzcG9uc2l2ZUhlaWdodCkmJih4PWZ1bmN0aW9uKCl7dmFyIHQ7aS5yZXNwb25zaXZlV2lkdGgmJm8ueD5oW3IueHx8XCJ4XCJdJiYodD1oW3IueHx8XCJ4XCJdLSh0aGlzLnBvaW50ZXImJmEmJlwieFwiPT1pLm91dHNpZGU/dGhpcy5wb2ludGVyLmRpbWVuc2lvbnMueDowKS1wYXJzZUludCh0aGlzLmNvbnRhaW5lci5jc3MoXCJib3JkZXItbGVmdC13aWR0aFwiKSktcGFyc2VJbnQodGhpcy5jb250YWluZXIuY3NzKFwiYm9yZGVyLXJpZ2h0LXdpZHRoXCIpKSx0aGlzLmNvbnRlbnQuY3NzKHt3aWR0aDp0PnRoaXMub3B0aW9ucy5yZXNwb25zaXZlTWluV2lkdGg/dDpudWxsLG1pbldpZHRoOnQ8cGFyc2VJbnQodGhpcy5jb250ZW50LmNzcyhcIm1pbldpZHRoXCIpKT8wOm51bGx9KSx0aGlzLl9zZXRUaXRsZVdpZHRoKCkpLG89dGhpcy5fZXhwb3NlRGltZW5zaW9ucygpfS5iaW5kKHRoaXMpLGkucmVzcG9uc2l2ZVdpZHRoJiZ4KCksaS5yZXNwb25zaXZlV2lkdGgmJiFwLnkmJnIueSYmby55Pmhbci55XSYmaFt0aGlzLl9nZXRPcHAoci55KV0+aFtyLnldJiYoci55PXRoaXMuX2dldE9wcChyLnkpKSYmKHAueT0hMCkseT1mdW5jdGlvbigpe3ZhciB0O2kucmVzcG9uc2l2ZUhlaWdodCYmby55Pmhbci55fHxcInlcIl0mJih0PWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMudGl0bGVDb250YWluZXJ8fHRoaXMuZm9vdGVyPyhcIm5vbmVcIj09dGhpcy53cmFwcGVyLmNzcyhcImRpc3BsYXlcIik/KHRoaXMud3JhcHBlci5jc3MoXCJkaXNwbGF5XCIsXCJibG9ja1wiKSx0PSh0aGlzLnRpdGxlQ29udGFpbmVyP3RoaXMudGl0bGVDb250YWluZXIub3V0ZXJIZWlnaHQoKTowKSsodGhpcy5mb290ZXI/dGhpcy5mb290ZXIub3V0ZXJIZWlnaHQoKTowKSx0aGlzLndyYXBwZXIuY3NzKFwiZGlzcGxheVwiLFwibm9uZVwiKSk6dD0odGhpcy50aXRsZUNvbnRhaW5lcj90aGlzLnRpdGxlQ29udGFpbmVyLm91dGVySGVpZ2h0KCk6MCkrKHRoaXMuZm9vdGVyP3RoaXMuZm9vdGVyLm91dGVySGVpZ2h0KCk6MCksdHx8MCk6MDt2YXIgdH0uYmluZCh0aGlzKSx0PWhbci55fHxcInlcIl0tKHRoaXMucG9pbnRlciYmYSYmXCJ5XCI9PWkub3V0c2lkZT90aGlzLnBvaW50ZXIuZGltZW5zaW9ucy55OjApLXQoKS1wYXJzZUludCh0aGlzLmNvbnRhaW5lci5jc3MoXCJib3JkZXItdG9wLXdpZHRoXCIpKS1wYXJzZUludCh0aGlzLmNvbnRhaW5lci5jc3MoXCJib3JkZXItYm90dG9tLXdpZHRoXCIpKSx0aGlzLmNvbnRlbnQuY3NzKHtoZWlnaHQ6dD50aGlzLm9wdGlvbnMucmVzcG9uc2l2ZU1pbkhlaWdodD90Om51bGx9KSx0aGlzLl9zZXRUaXRsZVdpZHRoKCkpLG89dGhpcy5fZXhwb3NlRGltZW5zaW9ucygpfS5iaW5kKHRoaXMpLGkucmVzcG9uc2l2ZUhlaWdodCYmeSgpLGkucmVzcG9uc2l2ZUhlaWdodCYmIXAueCYmci54JiZvLng+aFtyLnhdJiZoW3RoaXMuX2dldE9wcChyLngpXT5oW3IueF0mJihyLng9dGhpcy5fZ2V0T3BwKHIueCkpJiYocC54PSEwKSxpLmFkanVzdFBvc2l0aW9uJiZcIm1vdmVcIiE9aS5hZGp1c3RQb3NpdGlvbiYmKHAueCYmeCgpLHAueSYmeSgpKSk7dmFyIGw9e30sZD1mdW5jdGlvbihzKXtpZihcIm51bWJlclwiIT10LnR5cGUoaS5wb3NpdGlvbltzXSkpe3ZhciBlPWkuYXR0cmlidXRlc1tzXT1cInhcIj09cz9cImxlZnRcIjpcInRvcFwiO2lmKGxbZV09bltlXSxcImNlbnRlclwiPT1pLnBvc2l0aW9uW3NdKXJldHVybiBsW2VdKz1NYXRoLmNlaWwoKG5bc10tb1tzXSkvMiksdm9pZChcIm1vdXNlXCIhPXRoaXMudGFyZ2V0JiZ0aGlzLnRhcmdldFswXSYmdGhpcy50YXJnZXRbMF09PXQod2luZG93KVswXSYmKGxbZV0rPS41KihpLmFkanVzdERpc3RhbmNlW2VdLWkuYWRqdXN0RGlzdGFuY2VbdGhpcy5fZ2V0T3BwKGUpXSkpKTtlIT1pLnBvc2l0aW9uW3NdJiYobFtlXSs9bltzXS1vW3NdKSxpLm91dHNpZGUhPXMmJlwieHlcIiE9aS5vdXRzaWRlfHwobFtlXSs9b1tzXSooZSE9aS5wb3NpdGlvbltzXT8xOi0xKSl9ZWxzZSBsW2kuYXR0cmlidXRlc1tzXV09aS5wb3NpdGlvbltzXX0uYmluZCh0aGlzKTtpZihkKFwieFwiKSxkKFwieVwiKSx0aGlzLnBvaW50ZXImJlwidGFyZ2V0XCI9PWkucG9pbnRUbyYmXCJudW1iZXJcIiE9dC50eXBlKGkucG9zaXRpb24ueCkmJlwibnVtYmVyXCIhPXQudHlwZShpLnBvc2l0aW9uLnkpJiYoaj0wLFwiY2VudGVyXCI9PT10aGlzLnBvaW50ZXIuYWxpZ24/XCJjZW50ZXJcIiE9aS5wb3NpdGlvblt0aGlzLl9nZXRPcHAoaS5vdXRzaWRlKV0mJihqKz1vW3RoaXMuX2dldE9wcChpLm91dHNpZGUpXS8yKTpcImNlbnRlclwiPT09aS5wb3NpdGlvblt0aGlzLl9nZXRPcHAoaS5vdXRzaWRlKV0/ais9KG9bdGhpcy5fZ2V0T3BwKGkub3V0c2lkZSldLzItdGhpcy5wb2ludGVyLmRpbWVuc2lvbnNbdGhpcy5fZ2V0T3BwKGkub3V0c2lkZSldLzIpKih0aGlzLnBvaW50ZXIuYWxpZ249PXRoaXMuX2dldFRMKHRoaXMucG9pbnRlci5hbGlnbik/MTotMSk6ais9dGhpcy5wb2ludGVyLmFsaWduIT1pLnBvc2l0aW9uW3RoaXMuX2dldE9wcChpLm91dHNpZGUpXT90aGlzLmRpbWVuc2lvbnNbdGhpcy5fZ2V0T3BwKGkub3V0c2lkZSldKigtMSE9PXQuaW5BcnJheSh0aGlzLnBvaW50ZXIuYWxpZ24sW1widG9wXCIsXCJsZWZ0XCJdKT8xOi0xKSt0aGlzLnBvaW50ZXIuZGltZW5zaW9uc1t0aGlzLl9nZXRPcHAoaS5vdXRzaWRlKV0vMiooLTEhPT10LmluQXJyYXkodGhpcy5wb2ludGVyLmFsaWduLFtcInRvcFwiLFwibGVmdFwiXSk/LTE6MSk6dGhpcy5wb2ludGVyLmRpbWVuc2lvbnNbdGhpcy5fZ2V0T3BwKGkub3V0c2lkZSldLzIqKC0xIT09dC5pbkFycmF5KHRoaXMucG9pbnRlci5hbGlnbixbXCJ0b3BcIixcImxlZnRcIl0pPzE6LTEpLGoqPWkucG9zaXRpb25bdGhpcy5fZ2V0T3BwKGkub3V0c2lkZSldPT10aGlzLnBvaW50ZXIuYWxpZ25BdHRyaWJ1dGU/LTE6MSxqKz10aGlzLnBvaW50ZXIub2Zmc2V0Kih0aGlzLnBvaW50ZXIuYWxpZ249PXRoaXMuX2dldE9wcCh0aGlzLl9nZXRUTCh0aGlzLnBvaW50ZXIuYWxpZ24pKT8xOi0xKSxsW3RoaXMuX2dldFRMKHRoaXMuX2dldE9wcCh0aGlzLnBvaW50ZXIueHkpKV0rPWopLGxbaS5hdHRyaWJ1dGVzLnhdKz1pLm9mZnNldC54LGxbaS5hdHRyaWJ1dGVzLnldKz1pLm9mZnNldC55LHRoaXMud3JhcHBlci5jc3MobCksaS5hZGp1c3RQb3NpdGlvbil7dGhpcy5wb3NpdGlvbkFkanVzdGVkJiYodGhpcy5wb2ludGVyJiZ0aGlzLndyYXBwZXIuY3NzKFwicGFkZGluZ1wiLDApLmNzcyhcInBhZGRpbmctXCIrdGhpcy5fZ2V0T3BwKHRoaXMub3V0c2lkZSksdGhpcy5wb2ludGVyLmRpbWVuc2lvbnNbdGhpcy5fZ2V0WFkodGhpcy5vdXRzaWRlKV0pLnJlbW92ZUNsYXNzKFwiakJveC1wb2ludGVyUG9zaXRpb24tXCIrdGhpcy5fZ2V0T3BwKHRoaXMucG9pbnRlci5wb3NpdGlvbikpLmFkZENsYXNzKFwiakJveC1wb2ludGVyUG9zaXRpb24tXCIrdGhpcy5wb2ludGVyLnBvc2l0aW9uKSx0aGlzLnBvaW50ZXImJnRoaXMucG9pbnRlci5lbGVtZW50LmF0dHIoXCJjbGFzc1wiLFwiakJveC1wb2ludGVyIGpCb3gtcG9pbnRlci1cIit0aGlzLl9nZXRPcHAodGhpcy5vdXRzaWRlKSkuY3NzKHRoaXMucG9pbnRlci5tYXJnaW4pLHRoaXMucG9zaXRpb25BZGp1c3RlZD0hMSx0aGlzLmZsaXBwZWQ9ITEpO3ZhciBjPXMudG9wPmwudG9wLShpLmFkanVzdERpc3RhbmNlLnRvcHx8MCksdT1zLnJpZ2h0PGwubGVmdCtvLngrKGkuYWRqdXN0RGlzdGFuY2UucmlnaHR8fDApLGc9cy5ib3R0b208bC50b3Arby55KyhpLmFkanVzdERpc3RhbmNlLmJvdHRvbXx8MCksbT1zLmxlZnQ+bC5sZWZ0LShpLmFkanVzdERpc3RhbmNlLmxlZnR8fDApLGY9bT9cImxlZnRcIjp1P1wicmlnaHRcIjpudWxsLHg9Yz9cInRvcFwiOmc/XCJib3R0b21cIjpudWxsO2lmKGZ8fHgpe2lmKChcIk1vZGFsXCI9PXRoaXMudHlwZXx8XCJDb25maXJtXCI9PXRoaXMudHlwZSkmJlwibnVtYmVyXCI9PXQudHlwZSh0aGlzLm9wdGlvbnMucG9zaXRpb24ueCkmJlwibnVtYmVyXCI9PXQudHlwZSh0aGlzLm9wdGlvbnMucG9zaXRpb24ueSkpe3ZhciB5PTAsaj0wO3JldHVybiB0aGlzLm9wdGlvbnMuaG9sZFBvc2l0aW9uJiYobT95PXMubGVmdC0obC5sZWZ0LShpLmFkanVzdERpc3RhbmNlLmxlZnR8fDApKTp1JiYoeT1zLnJpZ2h0LShsLmxlZnQrby54KyhpLmFkanVzdERpc3RhbmNlLnJpZ2h0fHwwKSkpLGM/aj1zLnRvcC0obC50b3AtKGkuYWRqdXN0RGlzdGFuY2UudG9wfHwwKSk6ZyYmKGo9cy5ib3R0b20tKGwudG9wK28ueSsoaS5hZGp1c3REaXN0YW5jZS5ib3R0b218fDApKSksdGhpcy5vcHRpb25zLnBvc2l0aW9uLng9TWF0aC5tYXgocy50b3AsdGhpcy5vcHRpb25zLnBvc2l0aW9uLngreSksdGhpcy5vcHRpb25zLnBvc2l0aW9uLnk9TWF0aC5tYXgocy5sZWZ0LHRoaXMub3B0aW9ucy5wb3NpdGlvbi55K2opLGQoXCJ4XCIpLGQoXCJ5XCIpLHRoaXMud3JhcHBlci5jc3MobCkpLHRoaXMuX2ZpcmVFdmVudChcIm9uUG9zaXRpb25cIiksdGhpc30hMCE9PWkuYWRqdXN0UG9zaXRpb24mJlwiZmxpcFwiIT09aS5hZGp1c3RQb3NpdGlvbnx8KGI9ZnVuY3Rpb24odCl7dGhpcy53cmFwcGVyLmNzcyh0aGlzLl9nZXRUTCh0KSxsW3RoaXMuX2dldFRMKHQpXSsob1t0aGlzLl9nZXRYWSh0KV0raS5vZmZzZXRbdGhpcy5fZ2V0WFkodCldKihcInRvcFwiPT10fHxcImxlZnRcIj09dD8tMjoyKStuW3RoaXMuX2dldFhZKHQpXSkqKFwidG9wXCI9PXR8fFwibGVmdFwiPT10PzE6LTEpKSx0aGlzLnBvaW50ZXImJnRoaXMud3JhcHBlci5yZW1vdmVDbGFzcyhcImpCb3gtcG9pbnRlclBvc2l0aW9uLVwiK3RoaXMucG9pbnRlci5wb3NpdGlvbikuYWRkQ2xhc3MoXCJqQm94LXBvaW50ZXJQb3NpdGlvbi1cIit0aGlzLl9nZXRPcHAodGhpcy5wb2ludGVyLnBvc2l0aW9uKSkuY3NzKFwicGFkZGluZ1wiLDApLmNzcyhcInBhZGRpbmctXCIrdCx0aGlzLnBvaW50ZXIuZGltZW5zaW9uc1t0aGlzLl9nZXRYWSh0KV0pLHRoaXMucG9pbnRlciYmdGhpcy5wb2ludGVyLmVsZW1lbnQuYXR0cihcImNsYXNzXCIsXCJqQm94LXBvaW50ZXIgakJveC1wb2ludGVyLVwiK3QpLHRoaXMucG9zaXRpb25BZGp1c3RlZD0hMCx0aGlzLmZsaXBwZWQ9ITB9LmJpbmQodGhpcykscC54JiZiKHRoaXMub3B0aW9ucy5wb3NpdGlvbi54KSxwLnkmJmIodGhpcy5vcHRpb25zLnBvc2l0aW9uLnkpKTt2YXIgYj1cInhcIj09dGhpcy5fZ2V0WFkodGhpcy5vdXRzaWRlKT94OmY7dGhpcy5wb2ludGVyJiZcInRhcmdldFwiPT1pLnBvaW50VG8mJlwiZmxpcFwiIT1pLmFkanVzdFBvc2l0aW9uJiZ0aGlzLl9nZXRYWShiKT09dGhpcy5fZ2V0T3BwKHRoaXMuX2dldFhZKHRoaXMub3V0c2lkZSkpJiYoeD1cImNlbnRlclwiPT10aGlzLnBvaW50ZXIuYWxpZ24/b1t0aGlzLl9nZXRYWShiKV0vMi10aGlzLnBvaW50ZXIuZGltZW5zaW9uc1t0aGlzLl9nZXRPcHAodGhpcy5wb2ludGVyLnh5KV0vMi1wYXJzZUludCh0aGlzLnBvaW50ZXIuZWxlbWVudC5jc3MoXCJtYXJnaW4tXCIrdGhpcy5wb2ludGVyLmFsaWduQXR0cmlidXRlKSkqKGIhPXRoaXMuX2dldFRMKGIpPy0xOjEpOmI9PXRoaXMucG9pbnRlci5hbGlnbkF0dHJpYnV0ZT9wYXJzZUludCh0aGlzLnBvaW50ZXIuZWxlbWVudC5jc3MoXCJtYXJnaW4tXCIrdGhpcy5wb2ludGVyLmFsaWduQXR0cmlidXRlKSk6b1t0aGlzLl9nZXRYWShiKV0tcGFyc2VJbnQodGhpcy5wb2ludGVyLmVsZW1lbnQuY3NzKFwibWFyZ2luLVwiK3RoaXMucG9pbnRlci5hbGlnbkF0dHJpYnV0ZSkpLXRoaXMucG9pbnRlci5kaW1lbnNpb25zW3RoaXMuX2dldFhZKGIpXSxmPWI9PXRoaXMuX2dldFRMKGIpP3NbdGhpcy5fZ2V0VEwoYildLWxbdGhpcy5fZ2V0VEwoYildK2kuYWRqdXN0RGlzdGFuY2VbYl06LTEqKHNbdGhpcy5fZ2V0T3BwKHRoaXMuX2dldFRMKGIpKV0tbFt0aGlzLl9nZXRUTChiKV0taS5hZGp1c3REaXN0YW5jZVtiXS1vW3RoaXMuX2dldFhZKGIpXSksYj09dGhpcy5fZ2V0T3BwKHRoaXMuX2dldFRMKGIpKSYmbFt0aGlzLl9nZXRUTChiKV0tZjxzW3RoaXMuX2dldFRMKGIpXStpLmFkanVzdERpc3RhbmNlW3RoaXMuX2dldFRMKGIpXSYmKGYtPXNbdGhpcy5fZ2V0VEwoYildK2kuYWRqdXN0RGlzdGFuY2VbdGhpcy5fZ2V0VEwoYildLShsW3RoaXMuX2dldFRMKGIpXS1mKSksKGY9TWF0aC5taW4oZix4KSk8PXgmJjA8ZiYmKHRoaXMucG9pbnRlci5lbGVtZW50LmNzcyhcIm1hcmdpbi1cIit0aGlzLnBvaW50ZXIuYWxpZ25BdHRyaWJ1dGUscGFyc2VJbnQodGhpcy5wb2ludGVyLmVsZW1lbnQuY3NzKFwibWFyZ2luLVwiK3RoaXMucG9pbnRlci5hbGlnbkF0dHJpYnV0ZSkpLWYqKGIhPXRoaXMucG9pbnRlci5hbGlnbkF0dHJpYnV0ZT8tMToxKSksdGhpcy53cmFwcGVyLmNzcyh0aGlzLl9nZXRUTChiKSxsW3RoaXMuX2dldFRMKGIpXStmKihiIT10aGlzLl9nZXRUTChiKT8tMToxKSksdGhpcy5wb3NpdGlvbkFkanVzdGVkPSEwKSl9fXJldHVybiB0aGlzLl9maXJlRXZlbnQoXCJvblBvc2l0aW9uXCIpLHRoaXN9LChpLnByb3RvdHlwZS51bnNjcm9sbD1mdW5jdGlvbih0KXtpZih0aGlzLnNldD1mdW5jdGlvbih0LGkpe3dpbmRvdy51bnNjcm9sbFN0b3JlfHwod2luZG93LnVuc2Nyb2xsU3RvcmU9e30pLHdpbmRvdy51bnNjcm9sbFN0b3JlW3RdPWl9LHRoaXMuZ2V0PWZ1bmN0aW9uKHQpe3JldHVybiB3aW5kb3cudW5zY3JvbGxTdG9yZT93aW5kb3cudW5zY3JvbGxTdG9yZVt0XTpudWxsfSx0aGlzLmdldFNjcm9sbGJhcldpZHRoPWZ1bmN0aW9uKCl7aWYodGhpcy5nZXQoXCJzY3JvbGxiYXJXaWR0aFwiKSlyZXR1cm4gdGhpcy5nZXQoXCJzY3JvbGxiYXJXaWR0aFwiKStcInB4XCI7dmFyIHQ9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcImRpdlwiKTt0LnN0eWxlLndpZHRoPVwiMTAwcHhcIix0LnN0eWxlLmhlaWdodD1cIjEwMHB4XCIsdC5zdHlsZS5vdmVyZmxvdz1cInNjcm9sbFwiLHQuc3R5bGUucG9zaXRpb249XCJhYnNvbHV0ZVwiLHQuc3R5bGUudG9wPVwiLTEwMDAwXCIsZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZCh0KTt2YXIgaT10Lm9mZnNldFdpZHRoLXQuY2xpZW50V2lkdGg7cmV0dXJuIGRvY3VtZW50LmJvZHkucmVtb3ZlQ2hpbGQodCksdGhpcy5zZXQoXCJzY3JvbGxiYXJXaWR0aFwiLGkpLGkrXCJweFwifSx0aGlzLmdldEVsZW1lbnRzVG9BZGp1c3Q9ZnVuY3Rpb24odCl7KHQ9XCJzdHJpbmdcIj09dHlwZW9mKHQ9dHx8W10pP1tbdCxcInBhZGRpbmctcmlnaHRcIl1dOnQpLmZvckVhY2goZnVuY3Rpb24oaSxvKXtcInN0cmluZ1wiPT10eXBlb2YgaSYmKHRbb109W2ksXCJwYWRkaW5nLXJpZ2h0XCJdKX0pO2Zvcih2YXIgaT0hMSxvPTA7bzx0Lmxlbmd0aDtvKyspLTEhPT10W29dWzBdLmluZGV4T2YoXCJib2R5XCIpJiYoaT0hMCk7cmV0dXJuITE9PT1pJiZ0LnB1c2goW1wiYm9keVwiLFwicGFkZGluZy1yaWdodFwiXSksdH0sdGhpcy5wYWdlSGFzU2Nyb2xsYmFyPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuZ2V0U2Nyb2xsYmFyV2lkdGgoKSYmZG9jdW1lbnQuYm9keS5vZmZzZXRIZWlnaHQ+d2luZG93LmlubmVySGVpZ2h0fSx0aGlzLnBhZ2VIYXNTY3JvbGxiYXIoKSl7dD10aGlzLmdldEVsZW1lbnRzVG9BZGp1c3QodCk7Zm9yKHZhciBpPTA7aTx0Lmxlbmd0aDtpKyspZm9yKHZhciBvPWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwodFtpXVswXSkscz0wO3M8by5sZW5ndGg7cysrKXtpZihvW3NdLmdldEF0dHJpYnV0ZShcImRhdGEtdW5zY3JvbGxcIikpcmV0dXJuO3ZhciBlPXRbaV1bMV0sbj13aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShvW3NdKS5nZXRQcm9wZXJ0eVZhbHVlKGUpO29bc10uc2V0QXR0cmlidXRlKFwiZGF0YS11bnNjcm9sbFwiLGUpLG49bnx8XCIwcHhcIjt2YXIgYT1cInBhZGRpbmctcmlnaHRcIj09ZXx8XCJyaWdodFwiPT1lP1wiK1wiOlwiLVwiO29bc10uc3R5bGVbZV09XCJjYWxjKFwiK24rXCIgXCIrYStcIiBcIit0aGlzLmdldFNjcm9sbGJhcldpZHRoKCkrXCIpXCJ9fXZhciBoLHI7ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoXCJ1bnNjcm9sbC1jbGFzcy1uYW1lXCIpfHwoaD1kb2N1bWVudC5oZWFkfHxkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZShcImhlYWRcIilbMF0sKHI9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcInN0eWxlXCIpKS50eXBlPVwidGV4dC9jc3NcIixyLnNldEF0dHJpYnV0ZShcImlkXCIsXCJ1bnNjcm9sbC1jbGFzcy1uYW1lXCIpLHIuYXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoXCIudW5zY3JvbGxhYmxlIHsgb3ZlcmZsb3c6IGhpZGRlbiAhaW1wb3J0YW50OyB9XCIpKSxoLmFwcGVuZENoaWxkKHIpKSxkb2N1bWVudC5ib2R5LmNsYXNzTGlzdC5hZGQoXCJ1bnNjcm9sbGFibGVcIil9KS5yZXNldD1mdW5jdGlvbigpe2Zvcih2YXIgdD1kb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKFwiW2RhdGEtdW5zY3JvbGxdXCIpLGk9MDtpPHQubGVuZ3RoO2krKyl7dmFyIG89dFtpXS5nZXRBdHRyaWJ1dGUoXCJkYXRhLXVuc2Nyb2xsXCIpO3RbaV0uc3R5bGVbb109bnVsbCx0W2ldLnJlbW92ZUF0dHJpYnV0ZShcImRhdGEtdW5zY3JvbGxcIil9ZG9jdW1lbnQuYm9keS5jbGFzc0xpc3QucmVtb3ZlKFwidW5zY3JvbGxhYmxlXCIpfSxpLnByb3RvdHlwZS5vcGVuPWZ1bmN0aW9uKG8pe2lmKG89b3x8e30sdGhpcy5pc0Rlc3Ryb3llZClyZXR1cm4gdGhpcztpZih0aGlzLndyYXBwZXJ8fHRoaXMuX2NyZWF0ZSgpLHRoaXMuX3N0eWxlc3x8KHRoaXMuX3N0eWxlcz10KFwiPHN0eWxlLz5cIikuYXBwZW5kKHRoaXMuX2FuaW1hdGlvbkNTUykuYXBwZW5kVG8odChcImhlYWRcIikpKSx0aGlzLnRpbWVyJiZjbGVhclRpbWVvdXQodGhpcy50aW1lciksdGhpcy5fYmxvY2tCb2R5Q2xpY2soKSx0aGlzLmlzRGlzYWJsZWQpcmV0dXJuIHRoaXM7dGhpcy5vcHRpb25zLmNsb3NlT25Fc2MmJnQoZG9jdW1lbnQpLm9uKFwia2V5dXAuakJveC1cIit0aGlzLmlkLGZ1bmN0aW9uKHQpezI3PT10LmtleUNvZGUmJnRoaXMuY2xvc2Uoe2lnbm9yZURlbGF5OiEwfSl9LmJpbmQodGhpcykpLCEwIT09dGhpcy5vcHRpb25zLmNsb3NlT25DbGljayYmXCJib2R5XCIhPT10aGlzLm9wdGlvbnMuY2xvc2VPbkNsaWNrfHwodChcImJvZHlcIikub24oXCJjbGljay5qQm94LVwiK3RoaXMuaWQrXCIgdGFwLmpCb3gtXCIrdGhpcy5pZCxmdW5jdGlvbih0KXt0aGlzLmJsb2NrQm9keUNsaWNrfHxcImJvZHlcIj09dGhpcy5vcHRpb25zLmNsb3NlT25DbGljayYmKHQudGFyZ2V0PT10aGlzLndyYXBwZXJbMF18fHRoaXMud3JhcHBlci5oYXModC50YXJnZXQpLmxlbmd0aCl8fHRoaXMuY2xvc2Uoe2lnbm9yZURlbGF5OiEwfSl9LmJpbmQodGhpcykpLHRoaXMuaXNUb3VjaERldmljZSYmdChcImJvZHkgPiAqXCIpLm9uKFwiY2xpY2suakJveC1cIit0aGlzLmlkK1wiIHRhcC5qQm94LVwiK3RoaXMuaWQsZnVuY3Rpb24oKXtyZXR1cm4hMH0pKTt2YXIgcz1mdW5jdGlvbigpeyEwPT09dGhpcy5hZGp1c3RaSW5kZXhPbk9wZW4mJihpLnpJbmRleE1heD1NYXRoLm1heChwYXJzZUludCh0aGlzLndyYXBwZXIuY3NzKFwiekluZGV4XCIpLDEwKSx0aGlzLm9wdGlvbnMuekluZGV4LGkuekluZGV4TWF4fHwwLGkuekluZGV4TWF4RHJhZ292ZXJ8fDApKzIsdGhpcy53cmFwcGVyLmNzcyhcInpJbmRleFwiLGkuekluZGV4TWF4KSx0aGlzLm9wdGlvbnMuekluZGV4PWkuekluZGV4TWF4KSx0aGlzLnNvdXJjZSYmdGhpcy5vcHRpb25zLmdldFRpdGxlJiZ0aGlzLnNvdXJjZS5hdHRyKHRoaXMub3B0aW9ucy5nZXRUaXRsZSkmJnRoaXMuc2V0VGl0bGUodGhpcy5zb3VyY2UuYXR0cih0aGlzLm9wdGlvbnMuZ2V0VGl0bGUpLCEwKSx0aGlzLnNvdXJjZSYmdGhpcy5vcHRpb25zLmdldENvbnRlbnQmJih0aGlzLnNvdXJjZS5kYXRhKFwiakJveC1nZXRDb250ZW50XCIpP3RoaXMuc2V0Q29udGVudCh0aGlzLnNvdXJjZS5kYXRhKFwiakJveC1nZXRDb250ZW50XCIpLCEwKTp0aGlzLnNvdXJjZS5hdHRyKHRoaXMub3B0aW9ucy5nZXRDb250ZW50KT90aGlzLnNldENvbnRlbnQodGhpcy5zb3VyY2UuYXR0cih0aGlzLm9wdGlvbnMuZ2V0Q29udGVudCksITApOlwiaHRtbFwiPT10aGlzLm9wdGlvbnMuZ2V0Q29udGVudCYmdGhpcy5zZXRDb250ZW50KHRoaXMuc291cmNlLmh0bWwoKSwhMCkpLHRoaXMuX2ZpcmVFdmVudChcIm9uT3BlblwiKSwodGhpcy5vcHRpb25zLmFqYXgmJih0aGlzLm9wdGlvbnMuYWpheC51cmx8fHRoaXMuc291cmNlJiZ0aGlzLnNvdXJjZS5hdHRyKHRoaXMub3B0aW9ucy5hamF4LmdldFVSTCkpJiYoIXRoaXMuYWpheExvYWRlZHx8dGhpcy5vcHRpb25zLmFqYXgucmVsb2FkKXx8by5hamF4JiYoby5hamF4LnVybHx8by5hamF4LmRhdGEpKSYmKFwic3RyaWN0XCI9PXRoaXMub3B0aW9ucy5hamF4LnJlbG9hZHx8IXRoaXMuc291cmNlfHwhdGhpcy5zb3VyY2UuZGF0YShcImpCb3gtYWpheC1kYXRhXCIpfHxvLmFqYXgmJihvLmFqYXgudXJsfHxvLmFqYXguZGF0YSk/dGhpcy5hamF4KG8uYWpheHx8bnVsbCwhMCk6dGhpcy5zZXRDb250ZW50KHRoaXMuc291cmNlLmRhdGEoXCJqQm94LWFqYXgtZGF0YVwiKSkpLHRoaXMucG9zaXRpb25lZE9uT3BlbiYmIXRoaXMub3B0aW9ucy5yZXBvc2l0aW9uT25PcGVufHwhdGhpcy5wb3NpdGlvbihvKXx8KHRoaXMucG9zaXRpb25lZE9uT3Blbj0hMCksdGhpcy5pc0Nsb3NpbmcmJnRoaXMuX2Fib3J0QW5pbWF0aW9uKCksdGhpcy5pc09wZW58fCh0aGlzLmlzT3Blbj0hMCx0aGlzLm9wdGlvbnMuYXV0b0Nsb3NlJiYodGhpcy5vcHRpb25zLmRlbGF5Q2xvc2U9dGhpcy5vcHRpb25zLmF1dG9DbG9zZSkmJnRoaXMuY2xvc2UoKSx0aGlzLl9hdHRhY2hFdmVudHMoKSx0aGlzLm9wdGlvbnMuYmxvY2tTY3JvbGwmJih0aGlzLm9wdGlvbnMuYmxvY2tTY3JvbGxBZGp1c3Q/aS5ibG9ja1Njcm9sbFNjb3Blcz9pLmJsb2NrU2Nyb2xsU2NvcGVzKys6KGkuYmxvY2tTY3JvbGxTY29wZXM9MSx0aGlzLnVuc2Nyb2xsKEFycmF5LmlzQXJyYXkodGhpcy5vcHRpb25zLmJsb2NrU2Nyb2xsQWRqdXN0KXx8XCJzdHJpbmdcIj09dHlwZW9mIHRoaXMub3B0aW9ucy5ibG9ja1Njcm9sbEFkanVzdD90aGlzLm9wdGlvbnMuYmxvY2tTY3JvbGxBZGp1c3Q6bnVsbCkpOnQoXCJib2R5XCIpLmFkZENsYXNzKFwiakJveC1ibG9ja1Njcm9sbC1cIit0aGlzLmlkKSksdGhpcy5vcHRpb25zLm92ZXJsYXkmJih0aGlzLl9zaG93T3ZlcmxheSgpLHRoaXMucG9zaXRpb24oKSksdGhpcy5vcHRpb25zLmFuaW1hdGlvbiYmIXRoaXMuaXNDbG9zaW5nJiZ0aGlzLl9hbmltYXRlKFwib3BlblwiKSx0aGlzLm9wdGlvbnMuYXVkaW8mJnRoaXMub3B0aW9ucy5hdWRpby5vcGVuJiZ0aGlzLmF1ZGlvKHRoaXMub3B0aW9ucy5hdWRpby5vcGVuLHRoaXMub3B0aW9ucy52b2x1bWUub3BlbiksdGhpcy5vcHRpb25zLmZhZGU/dGhpcy53cmFwcGVyLnN0b3AoKS5hbmltYXRlKHtvcGFjaXR5OjF9LHtxdWV1ZTohMSxkdXJhdGlvbjp0aGlzLm9wdGlvbnMuZmFkZSxzdGFydDpmdW5jdGlvbigpe3RoaXMuaXNPcGVuaW5nPSEwLHRoaXMud3JhcHBlci5jc3Moe2Rpc3BsYXk6XCJibG9ja1wifSl9LmJpbmQodGhpcyksYWx3YXlzOmZ1bmN0aW9uKCl7dGhpcy5pc09wZW5pbmc9ITEsc2V0VGltZW91dChmdW5jdGlvbigpe3RoaXMucG9zaXRpb25PbkZhZGVDb21wbGV0ZSYmdGhpcy5wb3NpdGlvbigpJiYodGhpcy5wb3NpdGlvbk9uRmFkZUNvbXBsZXRlPSExKX0uYmluZCh0aGlzKSwxMCl9LmJpbmQodGhpcyl9KToodGhpcy53cmFwcGVyLmNzcyh7ZGlzcGxheTpcImJsb2NrXCIsb3BhY2l0eToxfSksdGhpcy5wb3NpdGlvbk9uRmFkZUNvbXBsZXRlJiZ0aGlzLnBvc2l0aW9uKCkmJih0aGlzLnBvc2l0aW9uT25GYWRlQ29tcGxldGU9ITEpKSl9LmJpbmQodGhpcyk7cmV0dXJuIXRoaXMub3B0aW9ucy5kZWxheU9wZW58fHRoaXMuaXNPcGVufHx0aGlzLmlzQ2xvc2luZ3x8by5pZ25vcmVEZWxheT9zKCk6dGhpcy50aW1lcj1zZXRUaW1lb3V0KHMsdGhpcy5vcHRpb25zLmRlbGF5T3BlbiksdGhpc30saS5wcm90b3R5cGUuY2xvc2U9ZnVuY3Rpb24obyl7aWYobz1vfHx7fSx0KFwiYm9keVwiKS5vZmYoXCJjbGljay5qQm94LVwiK3RoaXMuaWQrXCIgdGFwLmpCb3gtXCIrdGhpcy5pZCksdGhpcy5pc1RvdWNoRGV2aWNlJiZ0KFwiYm9keSA+ICpcIikub2ZmKFwiY2xpY2suakJveC1cIit0aGlzLmlkK1wiIHRhcC5qQm94LVwiK3RoaXMuaWQpLHRoaXMuaXNEZXN0cm95ZWR8fHRoaXMuaXNDbG9zaW5nKXJldHVybiB0aGlzO2lmKHRoaXMudGltZXImJmNsZWFyVGltZW91dCh0aGlzLnRpbWVyKSx0aGlzLl9ibG9ja0JvZHlDbGljaygpLHRoaXMuaXNEaXNhYmxlZClyZXR1cm4gdGhpczt2YXIgcyxlLG4sYT1mdW5jdGlvbigpe3ZhciBvO3RoaXMuX2ZpcmVFdmVudChcIm9uQ2xvc2VcIiksdGhpcy5vcHRpb25zLmNhbmNlbEFqYXhPbkNsb3NlJiZ0aGlzLmNhbmNlbEFqYXgoKSx0aGlzLmlzT3BlbiYmKHRoaXMuaXNPcGVuPSExLHRoaXMuX2RldGFjaEV2ZW50cygpLHRoaXMub3B0aW9ucy5ibG9ja1Njcm9sbCYmKHRoaXMub3B0aW9ucy5ibG9ja1Njcm9sbEFkanVzdD8oaS5ibG9ja1Njcm9sbFNjb3Blcz1pLmJsb2NrU2Nyb2xsU2NvcGVzPy0taS5ibG9ja1Njcm9sbFNjb3BlczowKXx8dGhpcy51bnNjcm9sbC5yZXNldCgpOnQoXCJib2R5XCIpLnJlbW92ZUNsYXNzKFwiakJveC1ibG9ja1Njcm9sbC1cIit0aGlzLmlkKSksdGhpcy5vcHRpb25zLm92ZXJsYXkmJnRoaXMuX2hpZGVPdmVybGF5KCksdGhpcy5vcHRpb25zLmFuaW1hdGlvbiYmIXRoaXMuaXNPcGVuaW5nJiZ0aGlzLl9hbmltYXRlKFwiY2xvc2VcIiksdGhpcy5vcHRpb25zLmF1ZGlvJiZ0aGlzLm9wdGlvbnMuYXVkaW8uY2xvc2UmJnRoaXMuYXVkaW8odGhpcy5vcHRpb25zLmF1ZGlvLmNsb3NlLHRoaXMub3B0aW9ucy52b2x1bWUuY2xvc2UpLChvPXRoaXMuaXNUb3VjaERldmljZSYmXCJtb3VzZVwiPT10aGlzLm9wdGlvbnMudGFyZ2V0PzA6dGhpcy5vcHRpb25zLmZhZGUpP3RoaXMud3JhcHBlci5zdG9wKCkuYW5pbWF0ZSh7b3BhY2l0eTowfSx7cXVldWU6ITEsZHVyYXRpb246byxzdGFydDpmdW5jdGlvbigpe3RoaXMuaXNDbG9zaW5nPSEwfS5iaW5kKHRoaXMpLGNvbXBsZXRlOmZ1bmN0aW9uKCl7dGhpcy53cmFwcGVyLmNzcyh7ZGlzcGxheTpcIm5vbmVcIn0pLHRoaXMuX2ZpcmVFdmVudChcIm9uQ2xvc2VDb21wbGV0ZVwiKX0uYmluZCh0aGlzKSxhbHdheXM6ZnVuY3Rpb24oKXt0aGlzLmlzQ2xvc2luZz0hMX0uYmluZCh0aGlzKX0pOih0aGlzLndyYXBwZXIuY3NzKHtkaXNwbGF5Olwibm9uZVwiLG9wYWNpdHk6MH0pLHRoaXMuX2ZpcmVFdmVudChcIm9uQ2xvc2VDb21wbGV0ZVwiKSkpfS5iaW5kKHRoaXMpO3JldHVybiBvLmlnbm9yZURlbGF5fHx0aGlzLmlzVG91Y2hEZXZpY2UmJlwibW91c2VcIj09dGhpcy5vcHRpb25zLnRhcmdldD9hKCk6KHRoaXMub3B0aW9ucy5kZWxheU9uSG92ZXJ8fHRoaXMub3B0aW9ucy5zaG93Q291bnRkb3duKSYmMTA8dGhpcy5vcHRpb25zLmRlbGF5Q2xvc2U/KGU9KHM9dGhpcykub3B0aW9ucy5kZWxheUNsb3NlLG49RGF0ZS5ub3coKSx0aGlzLm9wdGlvbnMuc2hvd0NvdW50ZG93biYmIXRoaXMuaW5uZXImJihvPXQoJzxkaXYgY2xhc3M9XCJqQm94LWNvdW50ZG93blwiIC8+JyksdGhpcy5pbm5lcj10KCc8ZGl2IGNsYXNzPVwiakJveC1jb3VudGRvd24taW5uZXJcIiAvPicpLG8ucHJlcGVuZCh0aGlzLmlubmVyKSx0KFwiI1wiK3RoaXMuaWQpLmFwcGVuZChvKSksdGhpcy5jb3VudGRvd249ZnVuY3Rpb24oKXt2YXIgdD1EYXRlLm5vdygpO3MuaXNIb3ZlcmVkfHwoZS09dC1uKSxuPXQsMDxlPyhzLm9wdGlvbnMuc2hvd0NvdW50ZG93biYmcy5pbm5lci5jc3MoXCJ3aWR0aFwiLDEwMCplL3Mub3B0aW9ucy5kZWxheUNsb3NlK1wiJVwiKSx3aW5kb3cucmVxdWVzdEFuaW1hdGlvbkZyYW1lKHMuY291bnRkb3duKSk6YSgpfSx3aW5kb3cucmVxdWVzdEFuaW1hdGlvbkZyYW1lKHRoaXMuY291bnRkb3duKSk6dGhpcy50aW1lcj1zZXRUaW1lb3V0KGEsTWF0aC5tYXgodGhpcy5vcHRpb25zLmRlbGF5Q2xvc2UsMTApKSx0aGlzfSxpLnByb3RvdHlwZS50b2dnbGU9ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXNbdGhpcy5pc09wZW4/XCJjbG9zZVwiOlwib3BlblwiXSh0KSx0aGlzfSxpLnByb3RvdHlwZS5kaXNhYmxlPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuaXNEaXNhYmxlZD0hMCx0aGlzfSxpLnByb3RvdHlwZS5lbmFibGU9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5pc0Rpc2FibGVkPSExLHRoaXN9LGkucHJvdG90eXBlLmhpZGU9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5kaXNhYmxlKCksdGhpcy53cmFwcGVyJiYodGhpcy5jYWNoZVdyYXBwZXJEaXNwbGF5PXRoaXMud3JhcHBlci5jc3MoXCJkaXNwbGF5XCIpLHRoaXMud3JhcHBlci5jc3Moe2Rpc3BsYXk6XCJub25lXCJ9KSksdGhpcy5vdmVybGF5JiYodGhpcy5jYWNoZU92ZXJsYXlEaXNwbGF5PXRoaXMub3ZlcmxheS5jc3MoXCJkaXNwbGF5XCIpLHRoaXMub3ZlcmxheS5jc3Moe2Rpc3BsYXk6XCJub25lXCJ9KSksdGhpc30saS5wcm90b3R5cGUuc2hvdz1mdW5jdGlvbigpe3JldHVybiB0aGlzLmVuYWJsZSgpLHRoaXMud3JhcHBlciYmdGhpcy5jYWNoZVdyYXBwZXJEaXNwbGF5JiYodGhpcy53cmFwcGVyLmNzcyh7ZGlzcGxheTp0aGlzLmNhY2hlV3JhcHBlckRpc3BsYXl9KSx0aGlzLmNhY2hlV3JhcHBlckRpc3BsYXk9bnVsbCksdGhpcy5vdmVybGF5JiZ0aGlzLmNhY2hlT3ZlcmxheURpc3BsYXkmJih0aGlzLm92ZXJsYXkuY3NzKHtkaXNwbGF5OnRoaXMuY2FjaGVPdmVybGF5RGlzcGxheX0pLHRoaXMuY2FjaGVPdmVybGF5RGlzcGxheT1udWxsKSx0aGlzfSxpLnByb3RvdHlwZS5hamF4PWZ1bmN0aW9uKGksbyl7aT1pfHx7fSx0LmVhY2goW1tcImdldERhdGFcIixcImRhdGFcIl0sW1wiZ2V0VVJMXCIsXCJ1cmxcIl1dLGZ1bmN0aW9uKHQsbyl7dGhpcy5vcHRpb25zLmFqYXhbb1swXV0mJiFpW29bMV1dJiZ0aGlzLnNvdXJjZSYmbnVsbCE9dGhpcy5zb3VyY2UuYXR0cih0aGlzLm9wdGlvbnMuYWpheFtvWzBdXSkmJihpW29bMV1dPXRoaXMuc291cmNlLmF0dHIodGhpcy5vcHRpb25zLmFqYXhbb1swXV0pfHxcIlwiKX0uYmluZCh0aGlzKSk7dmFyIHM9dC5leHRlbmQoITAse30sdGhpcy5vcHRpb25zLmFqYXgpO3RoaXMuY2FuY2VsQWpheCgpO3ZhciBlPWkuYmVmb3JlU2VuZHx8cy5iZWZvcmVTZW5kfHxmdW5jdGlvbigpe30sbj1pLmNvbXBsZXRlfHxzLmNvbXBsZXRlfHxmdW5jdGlvbigpe30sYT1pLnN1Y2Nlc3N8fHMuc3VjY2Vzc3x8ZnVuY3Rpb24oKXt9LGg9aS5lcnJvcnx8cy5lcnJvcnx8ZnVuY3Rpb24oKXt9LHI9dC5leHRlbmQoITAscyxpKTtyZXR1cm4gci5iZWZvcmVTZW5kPWZ1bmN0aW9uKGkpe3IubG9hZGluZ0NsYXNzJiZ0aGlzLndyYXBwZXIuYWRkQ2xhc3MoITA9PT1yLmxvYWRpbmdDbGFzcz9cImpCb3gtbG9hZGluZ1wiOnIubG9hZGluZ0NsYXNzKSxyLnNwaW5uZXImJih0aGlzLnNwaW5uZXJEZWxheT1zZXRUaW1lb3V0KGZ1bmN0aW9uKCl7dGhpcy53cmFwcGVyLmFkZENsYXNzKFwiakJveC1sb2FkaW5nLXNwaW5uZXJcIiksci5zcGlubmVyUmVwb3NpdGlvbiYmKG8/dGhpcy5wb3NpdGlvbk9uRmFkZUNvbXBsZXRlPSEwOnRoaXMucG9zaXRpb24oKSksdGhpcy5zcGlubmVyPXQoITAhPT1yLnNwaW5uZXI/ci5zcGlubmVyOic8ZGl2IGNsYXNzPVwiakJveC1zcGlubmVyXCI+PC9kaXY+JykuYXBwZW5kVG8odGhpcy5jb250YWluZXIpLHRoaXMudGl0bGVDb250YWluZXImJlwiYWJzb2x1dGVcIj09dGhpcy5zcGlubmVyLmNzcyhcInBvc2l0aW9uXCIpJiZ0aGlzLnNwaW5uZXIuY3NzKHt0cmFuc2Zvcm06XCJ0cmFuc2xhdGVZKFwiKy41KnRoaXMudGl0bGVDb250YWluZXIub3V0ZXJIZWlnaHQoKStcInB4KVwifSl9LmJpbmQodGhpcyksXCJcIiE9dGhpcy5jb250ZW50Lmh0bWwoKSYmci5zcGlubmVyRGVsYXl8fDApKSxlLmJpbmQodGhpcykoaSl9LmJpbmQodGhpcyksci5jb21wbGV0ZT1mdW5jdGlvbih0KXt0aGlzLnNwaW5uZXJEZWxheSYmY2xlYXJUaW1lb3V0KHRoaXMuc3Bpbm5lckRlbGF5KSx0aGlzLndyYXBwZXIucmVtb3ZlQ2xhc3MoXCJqQm94LWxvYWRpbmcgakJveC1sb2FkaW5nLXNwaW5uZXIgakJveC1sb2FkaW5nLXNwaW5uZXItZGVsYXlcIiksdGhpcy5zcGlubmVyJiZ0aGlzLnNwaW5uZXIubGVuZ3RoJiZ0aGlzLnNwaW5uZXIucmVtb3ZlKCkmJnIuc3Bpbm5lclJlcG9zaXRpb24mJihvP3RoaXMucG9zaXRpb25PbkZhZGVDb21wbGV0ZT0hMDp0aGlzLnBvc2l0aW9uKCkpLHRoaXMuYWpheExvYWRlZD0hMCxuLmJpbmQodGhpcykodCl9LmJpbmQodGhpcyksci5zdWNjZXNzPWZ1bmN0aW9uKHQpe3Iuc2V0Q29udGVudCYmdGhpcy5zZXRDb250ZW50KHQsITApJiYobz90aGlzLnBvc2l0aW9uT25GYWRlQ29tcGxldGU9ITA6dGhpcy5wb3NpdGlvbigpKSxyLnNldENvbnRlbnQmJnRoaXMuc291cmNlJiZ0aGlzLnNvdXJjZS5kYXRhKFwiakJveC1hamF4LWRhdGFcIix0KSxhLmJpbmQodGhpcykodCl9LmJpbmQodGhpcyksci5lcnJvcj1mdW5jdGlvbih0KXtoLmJpbmQodGhpcykodCl9LmJpbmQodGhpcyksdGhpcy5hamF4UmVxdWVzdD10LmFqYXgociksdGhpc30saS5wcm90b3R5cGUuY2FuY2VsQWpheD1mdW5jdGlvbigpe3RoaXMuYWpheFJlcXVlc3QmJih0aGlzLmFqYXhSZXF1ZXN0LmFib3J0KCksdGhpcy5hamF4TG9hZGVkPSExKX0saS5wcm90b3R5cGUuYXVkaW89ZnVuY3Rpb24obyxzKXtpZighbylyZXR1cm4gdGhpczt2YXIgZTsoaS5fYXVkaW89aS5fYXVkaW8/aS5fYXVkaW86e30pW29dfHwoZT10KFwiPGF1ZGlvLz5cIiksdChcIjxzb3VyY2UvPlwiLHtzcmM6bytcIi5tcDNcIn0pLmFwcGVuZFRvKGUpLHQoXCI8c291cmNlLz5cIix7c3JjOm8rXCIub2dnXCJ9KS5hcHBlbmRUbyhlKSxpLl9hdWRpb1tvXT1lWzBdKSxpLl9hdWRpb1tvXS52b2x1bWU9TWF0aC5taW4oKG51bGwhPXM/czoxMDApLzEwMCwxKTt0cnl7aS5fYXVkaW9bb10ucGF1c2UoKSxpLl9hdWRpb1tvXS5jdXJyZW50VGltZT0wfWNhdGNoKG8pe31yZXR1cm4gaS5fYXVkaW9bb10ucGxheSgpLHRoaXN9LGkuX2FuaW1hdGlvblNwZWVkcz17dGFkYToxZTMsdGFkYVNtYWxsOjFlMyxmbGFzaDo1MDAsc2hha2U6NDAwLHB1bHNlVXA6MjUwLHB1bHNlRG93bjoyNTAscG9wSW46MjUwLHBvcE91dDoyNTAsZmFkZUluOjIwMCxmYWRlT3V0OjIwMCxzbGlkZVVwOjQwMCxzbGlkZVJpZ2h0OjQwMCxzbGlkZUxlZnQ6NDAwLHNsaWRlRG93bjo0MDB9LGkucHJvdG90eXBlLmFuaW1hdGU9ZnVuY3Rpb24odCxvKXtvPW98fHt9LHRoaXMuYW5pbWF0aW9uVGltZW91dHx8KHRoaXMuYW5pbWF0aW9uVGltZW91dD17fSksby5lbGVtZW50fHwoby5lbGVtZW50PXRoaXMud3JhcHBlciksby5lbGVtZW50LmRhdGEoXCJqQm94LWFuaW1hdGluZy1pZFwiKXx8by5lbGVtZW50LmRhdGEoXCJqQm94LWFuaW1hdGluZy1pZFwiLGkuX2dldFVuaXF1ZUVsZW1lbnRJRCgpKSxvLmVsZW1lbnQuZGF0YShcImpCb3gtYW5pbWF0aW5nXCIpJiYoby5lbGVtZW50LnJlbW92ZUNsYXNzKG8uZWxlbWVudC5kYXRhKFwiakJveC1hbmltYXRpbmdcIikpLmRhdGEoXCJqQm94LWFuaW1hdGluZ1wiLG51bGwpLHRoaXMuYW5pbWF0aW9uVGltZW91dFtvLmVsZW1lbnQuZGF0YShcImpCb3gtYW5pbWF0aW5nLWlkXCIpXSYmY2xlYXJUaW1lb3V0KHRoaXMuYW5pbWF0aW9uVGltZW91dFtvLmVsZW1lbnQuZGF0YShcImpCb3gtYW5pbWF0aW5nLWlkXCIpXSkpLG8uZWxlbWVudC5hZGRDbGFzcyhcImpCb3gtYW5pbWF0ZWQtXCIrdCkuZGF0YShcImpCb3gtYW5pbWF0aW5nXCIsXCJqQm94LWFuaW1hdGVkLVwiK3QpLHRoaXMuYW5pbWF0aW9uVGltZW91dFtvLmVsZW1lbnQuZGF0YShcImpCb3gtYW5pbWF0aW5nLWlkXCIpXT1zZXRUaW1lb3V0KGZ1bmN0aW9uKCl7by5lbGVtZW50LnJlbW92ZUNsYXNzKG8uZWxlbWVudC5kYXRhKFwiakJveC1hbmltYXRpbmdcIikpLmRhdGEoXCJqQm94LWFuaW1hdGluZ1wiLG51bGwpLG8uY29tcGxldGUmJm8uY29tcGxldGUoKX0saS5fYW5pbWF0aW9uU3BlZWRzW3RdKX0saS5wcm90b3R5cGUuc3dpcGVEZXRlY3Rvcj1mdW5jdGlvbihpLG8pe3ZhciBzPTAsZT0wLG49MCxhPTAsaD0wO3JldHVybiBvPXQuZXh0ZW5kKHtzd2lwZVRocmVzaG9sZDo3MCx1c2VPbmx5VG91Y2g6ITF9LG8pLGkub24oXCJtb3VzZWRvd24gdG91Y2hzdGFydFwiLGZ1bmN0aW9uKHQpe28udXNlT25seVRvdWNoJiYhdC5vcmlnaW5hbEV2ZW50LnRvdWNoZXN8fCh0Lm9yaWdpbmFsRXZlbnQudG91Y2hlcyYmKHQ9dC5vcmlnaW5hbEV2ZW50LnRvdWNoZXNbMF0pLDA9PT1zJiYocz0xLGU9dC5jbGllbnRYLG49dC5jbGllbnRZKSl9KSx0KFwiaHRtbFwiKS5vbihcIm1vdXNldXAgdG91Y2hlbmRcIixmdW5jdGlvbihlKXsyPT09cyYmKHM9MCxNYXRoLmFicyhhKT5NYXRoLmFicyhoKSYmTWF0aC5hYnMoYSk+by5zd2lwZVRocmVzaG9sZD9hPDA/aS50cmlnZ2VyKHQuRXZlbnQoXCJzd2lwZUxlZnQuc2RcIikpOmkudHJpZ2dlcih0LkV2ZW50KFwic3dpcGVSaWdodC5zZFwiKSk6TWF0aC5hYnMoaCk+by5zd2lwZVRocmVzaG9sZCYmKGg8MD9pLnRyaWdnZXIodC5FdmVudChcInN3aXBlVXAuc2RcIikpOmkudHJpZ2dlcih0LkV2ZW50KFwic3dpcGVEb3duLnNkXCIpKSkpfSksdChcImh0bWxcIikub24oXCJtb3VzZW1vdmUgdG91Y2htb3ZlXCIsZnVuY3Rpb24odCl7dmFyIGk7MT09PXMmJihpPSh0PXQub3JpZ2luYWxFdmVudC50b3VjaGVzP3Qub3JpZ2luYWxFdmVudC50b3VjaGVzWzBdOnQpLmNsaWVudFgtZSx0PXQuY2xpZW50WS1uLChNYXRoLmFicyhpKT5vLnN3aXBlVGhyZXNob2xkfHxNYXRoLmFicyh0KT5vLnN3aXBlVGhyZXNob2xkKSYmKHM9MixhPWksaD10KSl9KSxpfSxpLnByb3RvdHlwZS5kZXN0cm95PWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuZGV0YWNoKCksdGhpcy5pc09wZW4mJnRoaXMuY2xvc2Uoe2lnbm9yZURlbGF5OiEwfSksdGhpcy53cmFwcGVyJiZ0aGlzLndyYXBwZXIucmVtb3ZlKCksdGhpcy5vdmVybGF5JiZ0aGlzLm92ZXJsYXkucmVtb3ZlKCksdGhpcy5fc3R5bGVzJiZ0aGlzLl9zdHlsZXMucmVtb3ZlKCksdGhpcy5pc0Rlc3Ryb3llZD0hMCx0aGlzfSxpLl9nZXRVbmlxdWVJRD0obz0xLGZ1bmN0aW9uKCl7cmV0dXJuIG8rK30pLGkuX2dldFVuaXF1ZUVsZW1lbnRJRD0ocz0xLGZ1bmN0aW9uKCl7cmV0dXJuIHMrK30pLGkuX3BsdWdpbk9wdGlvbnM9e30saS5wbHVnaW49ZnVuY3Rpb24odCxvKXtpLl9wbHVnaW5PcHRpb25zW3RdPW99LHQuZm4uakJveD1mdW5jdGlvbihvLHMpe3JldHVybiBzPXN8fHt9LG5ldyBpKG89b3x8e30sdC5leHRlbmQocyx7YXR0YWNoOnRoaXN9KSl9LGl9ZnVuY3Rpb24gakJveENvbmZpcm1XcmFwcGVyKGpCb3gsalF1ZXJ5KXtuZXcgakJveC5wbHVnaW4oXCJDb25maXJtXCIse2NvbmZpcm1CdXR0b246XCJTdWJtaXRcIixjYW5jZWxCdXR0b246XCJDYW5jZWxcIixjb25maXJtOm51bGwsY2FuY2VsOm51bGwsY2xvc2VPbkNvbmZpcm06ITAsdGFyZ2V0OndpbmRvdyxmaXhlZDohMCxhdHRhY2g6XCJbZGF0YS1jb25maXJtXVwiLGdldENvbnRlbnQ6XCJkYXRhLWNvbmZpcm1cIixjb250ZW50OlwiRG8geW91IHJlYWxseSB3YW50IHRvIGRvIHRoaXM/XCIsbWluV2lkdGg6MzYwLG1heFdpZHRoOjUwMCxibG9ja1Njcm9sbDohMCxjbG9zZU9uRXNjOiEwLGNsb3NlT25DbGljazohMSxjbG9zZUJ1dHRvbjohMSxvdmVybGF5OiEwLGFuaW1hdGlvbjpcInpvb21JblwiLHByZXZlbnREZWZhdWx0OiEwLF9vbkF0dGFjaDpmdW5jdGlvbih0KXt2YXIgaTt0aGlzLm9wdGlvbnMuY29uZmlybXx8KGk9dC5hdHRyKFwib25jbGlja1wiKT90LmF0dHIoXCJvbmNsaWNrXCIpOnQuYXR0cihcImhyZWZcIik/dC5hdHRyKFwidGFyZ2V0XCIpPyd3aW5kb3cub3BlbihcIicrdC5hdHRyKFwiaHJlZlwiKSsnXCIsIFwiJyt0LmF0dHIoXCJ0YXJnZXRcIikrJ1wiKTsnOid3aW5kb3cubG9jYXRpb24uaHJlZiA9IFwiJyt0LmF0dHIoXCJocmVmXCIpKydcIjsnOlwiXCIsdC5wcm9wKFwib25jbGlja1wiLG51bGwpLmRhdGEoXCJqQm94LUNvbmZpcm0tc3VibWl0XCIsaSkpfSxfb25DcmVhdGVkOmZ1bmN0aW9uKCl7dGhpcy53cmFwcGVyLmFkZENsYXNzKFwiakJveC1Nb2RhbFwiKSx0aGlzLmZvb3Rlcj1qUXVlcnkoJzxkaXYgY2xhc3M9XCJqQm94LUNvbmZpcm0tZm9vdGVyXCIvPicpLGpRdWVyeSgnPGRpdiBjbGFzcz1cImpCb3gtQ29uZmlybS1idXR0b24gakJveC1Db25maXJtLWJ1dHRvbi1jYW5jZWxcIi8+JykuaHRtbCh0aGlzLm9wdGlvbnMuY2FuY2VsQnV0dG9uKS5vbihcImNsaWNrIHRhcFwiLGZ1bmN0aW9uKCl7dGhpcy5vcHRpb25zLmNhbmNlbCYmdGhpcy5vcHRpb25zLmNhbmNlbCh0aGlzLnNvdXJjZSksdGhpcy5jbG9zZSgpfS5iaW5kKHRoaXMpKS5hcHBlbmRUbyh0aGlzLmZvb3RlciksdGhpcy5zdWJtaXRCdXR0b249alF1ZXJ5KCc8ZGl2IGNsYXNzPVwiakJveC1Db25maXJtLWJ1dHRvbiBqQm94LUNvbmZpcm0tYnV0dG9uLXN1Ym1pdFwiLz4nKS5odG1sKHRoaXMub3B0aW9ucy5jb25maXJtQnV0dG9uKS5hcHBlbmRUbyh0aGlzLmZvb3RlciksdGhpcy5mb290ZXIuYXBwZW5kVG8odGhpcy5jb250YWluZXIpfSxfb25PcGVuOmZ1bmN0aW9uKCl7dGhpcy5zdWJtaXRCdXR0b24ub2ZmKFwiY2xpY2suakJveC1Db25maXJtXCIrdGhpcy5pZCtcIiB0YXAuakJveC1Db25maXJtXCIrdGhpcy5pZCkub24oXCJjbGljay5qQm94LUNvbmZpcm1cIit0aGlzLmlkK1wiIHRhcC5qQm94LUNvbmZpcm1cIit0aGlzLmlkLGZ1bmN0aW9uKCl7dGhpcy5vcHRpb25zLmNvbmZpcm0/dGhpcy5vcHRpb25zLmNvbmZpcm0odGhpcy5zb3VyY2UpOmV2YWwodGhpcy5zb3VyY2UuZGF0YShcImpCb3gtQ29uZmlybS1zdWJtaXRcIikpLHRoaXMub3B0aW9ucy5jbG9zZU9uQ29uZmlybSYmdGhpcy5jbG9zZSgpfS5iaW5kKHRoaXMpKX19KX1mdW5jdGlvbiBqQm94SW1hZ2VXcmFwcGVyKHQsaSl7bmV3IHQucGx1Z2luKFwiSW1hZ2VcIix7c3JjOlwiaHJlZlwiLGdhbGxlcnk6XCJkYXRhLWpib3gtaW1hZ2VcIixpbWFnZUxhYmVsOlwidGl0bGVcIixpbWFnZUZhZGU6MzYwLGltYWdlU2l6ZTpcImNvbnRhaW5cIixpbWFnZUNvdW50ZXI6ITEsaW1hZ2VDb3VudGVyU2VwYXJhdG9yOlwiL1wiLGRvd25sb2FkQnV0dG9uOiExLGRvd25sb2FkQnV0dG9uVGV4dDpudWxsLGRvd25sb2FkQnV0dG9uVXJsOm51bGwsbW9iaWxlSW1hZ2VBdHRyOm51bGwsbW9iaWxlSW1hZ2VCcmVha3BvaW50Om51bGwscHJlbG9hZEZpcnN0SW1hZ2U6ITEsdGFyZ2V0OndpbmRvdyxhdHRhY2g6XCJbZGF0YS1qYm94LWltYWdlXVwiLGZpeGVkOiEwLGJsb2NrU2Nyb2xsOiEwLGNsb3NlT25Fc2M6ITAsY2xvc2VPbkNsaWNrOlwiYnV0dG9uXCIsY2xvc2VCdXR0b246ITAsb3ZlcmxheTohMCxhbmltYXRpb246XCJ6b29tSW5cIixwcmV2ZW50RGVmYXVsdDohMCx3aWR0aDpcIjEwMCVcIixoZWlnaHQ6XCIxMDAlXCIsYWRqdXN0RGlzdGFuY2U6e3RvcDo0MCxyaWdodDowLGJvdHRvbTo0MCxsZWZ0OjB9LF9vbkluaXQ6ZnVuY3Rpb24oKXt0aGlzLmltYWdlcz10aGlzLmN1cnJlbnRJbWFnZT17fSx0aGlzLmltYWdlWkluZGV4PTEsdGhpcy5pbml0SW1hZ2U9ZnVuY3Rpb24odCl7dmFyIG8sczsodD1pKHQpKS5kYXRhKFwiakJveC1pbWFnZS1nYWxsZXJ5XCIpfHwobz10LmF0dHIodGhpcy5vcHRpb25zLnNyYyksdGhpcy5vcHRpb25zLm1vYmlsZUltYWdlQXR0ciYmdGhpcy5vcHRpb25zLm1vYmlsZUltYWdlQnJlYWtwb2ludCYmdC5hdHRyKHRoaXMub3B0aW9ucy5tb2JpbGVJbWFnZUF0dHIpJiZpKHdpbmRvdykud2lkdGgoKTw9dGhpcy5vcHRpb25zLm1vYmlsZUltYWdlQnJlYWtwb2ludCYmKG89dC5hdHRyKHRoaXMub3B0aW9ucy5tb2JpbGVJbWFnZUF0dHIpKSxzPXQuYXR0cih0aGlzLm9wdGlvbnMuZ2FsbGVyeSl8fFwiZGVmYXVsdFwiLHRoaXMuaW1hZ2VzW3NdfHwodGhpcy5pbWFnZXNbc109W10pLHRoaXMuaW1hZ2VzW3NdLnB1c2goe3NyYzpvLGxhYmVsOnQuYXR0cih0aGlzLm9wdGlvbnMuaW1hZ2VMYWJlbCl8fFwiXCIsZG93bmxvYWRVcmw6dGhpcy5vcHRpb25zLmRvd25sb2FkQnV0dG9uVXJsJiZ0LmF0dHIodGhpcy5vcHRpb25zLmRvd25sb2FkQnV0dG9uVXJsKT90LmF0dHIodGhpcy5vcHRpb25zLmRvd25sb2FkQnV0dG9uVXJsKTpudWxsfSksXCJ0aXRsZVwiPT10aGlzLm9wdGlvbnMuaW1hZ2VMYWJlbCYmdC5yZW1vdmVBdHRyKFwidGl0bGVcIiksdC5kYXRhKFwiakJveC1pbWFnZS1nYWxsZXJ5XCIscyksdC5kYXRhKFwiakJveC1pbWFnZS1pZFwiLHRoaXMuaW1hZ2VzW3NdLmxlbmd0aC0xKSl9LmJpbmQodGhpcyksdGhpcy5hdHRhY2hlZEVsZW1lbnRzJiZ0aGlzLmF0dGFjaGVkRWxlbWVudHMubGVuZ3RoJiZpLmVhY2godGhpcy5hdHRhY2hlZEVsZW1lbnRzLGZ1bmN0aW9uKHQsaSl7dGhpcy5pbml0SW1hZ2UoaSl9LmJpbmQodGhpcykpO3ZhciB0PWZ1bmN0aW9uKHQsbyxzLGUpe2lmKCFpKFwiI2pCb3gtaW1hZ2UtXCIrdCtcIi1cIitvKS5sZW5ndGgpe3ZhciBuPWkoXCI8ZGl2Lz5cIix7aWQ6XCJqQm94LWltYWdlLVwiK3QrXCItXCIrbyxjbGFzczpcImpCb3gtaW1hZ2UtY29udGFpbmVyXCIrKHM/XCIgakJveC1pbWFnZS1cIit0K1wiLWN1cnJlbnRcIjpcIlwiKX0pLmNzcyh7YmFja2dyb3VuZFNpemU6dGhpcy5vcHRpb25zLmltYWdlU2l6ZSxvcGFjaXR5OmU/MTowLHpJbmRleDpzP3RoaXMuaW1hZ2VaSW5kZXgrKzowfSkuYXBwZW5kVG8odGhpcy5jb250ZW50KTtyZXR1cm4gdGhpcy5zd2lwZURldGVjdG9yKG4pLm9uKFwic3dpcGVMZWZ0LnNkIHN3aXBlUmlnaHQuc2RcIixmdW5jdGlvbih0KXtcInN3aXBlTGVmdFwiPT09dC50eXBlP3RoaXMuc2hvd0ltYWdlKFwibmV4dFwiKTpcInN3aXBlUmlnaHRcIj09PXQudHlwZSYmdGhpcy5zaG93SW1hZ2UoXCJwcmV2XCIpfS5iaW5kKHRoaXMpKSxpKFwiPGRpdi8+XCIse2lkOlwiakJveC1pbWFnZS1sYWJlbC1cIit0K1wiLVwiK28sY2xhc3M6XCJqQm94LWltYWdlLWxhYmVsXCIrKHM/XCIgYWN0aXZlXCI6XCJcIil9KS5odG1sKHRoaXMuaW1hZ2VzW3RdW29dLmxhYmVsKS5vbihcImNsaWNrIHRhcFwiLGZ1bmN0aW9uKCl7aSh0aGlzKS50b2dnbGVDbGFzcyhcImV4cGFuZGVkXCIpfSkuYXBwZW5kVG8odGhpcy5pbWFnZUxhYmVsQ29udGFpbmVyKSxzJiZuLmFuaW1hdGUoe29wYWNpdHk6MX0sZT8wOnRoaXMub3B0aW9ucy5pbWFnZUZhZGUpLG59fS5iaW5kKHRoaXMpO3RoaXMuZG93bmxvYWRJbWFnZT1mdW5jdGlvbih0KXt2YXIgaT1kb2N1bWVudC5jcmVhdGVFbGVtZW50KFwiYVwiKTtpLmhyZWY9dCxpLnNldEF0dHJpYnV0ZShcImRvd25sb2FkXCIsdC5zdWJzdHJpbmcodC5sYXN0SW5kZXhPZihcIi9cIikrMSkpLGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoaSksaS5jbGljaygpfTt2YXIgbz1mdW5jdGlvbihvLHMsZSxuKXt2YXIgYT10KG8scyxlLG4pO2EuYWRkQ2xhc3MoXCJqQm94LWltYWdlLWxvYWRpbmdcIiksaSgnPGltZyBzcmM9XCInK3RoaXMuaW1hZ2VzW29dW3NdLnNyYysnXCIgLz4nKS5lYWNoKGZ1bmN0aW9uKCl7dmFyIHQ9bmV3IEltYWdlO3Qub25sb2FkPWZ1bmN0aW9uKCl7YS5yZW1vdmVDbGFzcyhcImpCb3gtaW1hZ2UtbG9hZGluZ1wiKSxhLmNzcyh7YmFja2dyb3VuZEltYWdlOid1cmwoXCInK3RoaXMuaW1hZ2VzW29dW3NdLnNyYysnXCIpJ30pfS5iaW5kKHRoaXMpLHQub25lcnJvcj1mdW5jdGlvbigpe2EucmVtb3ZlQ2xhc3MoXCJqQm94LWltYWdlLWxvYWRpbmdcIiksYS5hZGRDbGFzcyhcImpCb3gtaW1hZ2Utbm90LWZvdW5kXCIpfS5iaW5kKHRoaXMpLHQuc3JjPXRoaXMuaW1hZ2VzW29dW3NdLnNyY30uYmluZCh0aGlzKSl9LmJpbmQodGhpcyk7dGhpcy5zaG93SW1hZ2U9ZnVuY3Rpb24odCl7dmFyIHMsZSxuO2lmKFwib3BlblwiIT10KXM9dGhpcy5jdXJyZW50SW1hZ2UuZ2FsbGVyeSxuPShuPXRoaXMuY3VycmVudEltYWdlLmlkKygrKFwicHJldlwiPT10KT8tMToxKSk+dGhpcy5pbWFnZXNbc10ubGVuZ3RoLTE/MDpuPDA/dGhpcy5pbWFnZXNbc10ubGVuZ3RoLTE6bjtlbHNle2lmKHRoaXMuc291cmNlKXM9dGhpcy5zb3VyY2UuZGF0YShcImpCb3gtaW1hZ2UtZ2FsbGVyeVwiKSxuPXRoaXMuc291cmNlLmRhdGEoXCJqQm94LWltYWdlLWlkXCIpO2Vsc2V7aWYoIXRoaXMuYXR0YWNoZWRFbGVtZW50c3x8IXRoaXMuYXR0YWNoZWRFbGVtZW50cy5sZW5ndGgpcmV0dXJuO3M9aSh0aGlzLmF0dGFjaGVkRWxlbWVudHNbMF0pLmRhdGEoXCJqQm94LWltYWdlLWdhbGxlcnlcIiksbj1pKHRoaXMuYXR0YWNoZWRFbGVtZW50c1swXSkuZGF0YShcImpCb3gtaW1hZ2UtaWRcIil9dGhpcy5pbWFnZXMmJnRoaXMuaW1hZ2VzW3NdJiZpKFwiLmpCb3gtaW1hZ2UtcG9pbnRlci1wcmV2LCAuakJveC1pbWFnZS1wb2ludGVyLW5leHRcIikuY3NzKHtkaXNwbGF5OjE8dGhpcy5pbWFnZXNbc10ubGVuZ3RoP1wiYmxvY2tcIjpcIm5vbmVcIn0pfWkoXCIuakJveC1pbWFnZS1cIitzK1wiLWN1cnJlbnRcIikubGVuZ3RoJiZpKFwiLmpCb3gtaW1hZ2UtXCIrcytcIi1jdXJyZW50XCIpLnJlbW92ZUNsYXNzKFwiakJveC1pbWFnZS1cIitzK1wiLWN1cnJlbnRcIikuYW5pbWF0ZSh7b3BhY2l0eTowfSxcIm9wZW5cIj09dD8wOnRoaXMub3B0aW9ucy5pbWFnZUZhZGUpLHRoaXMuY3VycmVudEltYWdlPXtnYWxsZXJ5OnMsaWQ6bn0saShcIiNqQm94LWltYWdlLVwiK3MrXCItXCIrbikubGVuZ3RoP2koXCIjakJveC1pbWFnZS1cIitzK1wiLVwiK24pLmFkZENsYXNzKFwiakJveC1pbWFnZS1cIitzK1wiLWN1cnJlbnRcIikuY3NzKHt6SW5kZXg6dGhpcy5pbWFnZVpJbmRleCsrLG9wYWNpdHk6MH0pLmFuaW1hdGUoe29wYWNpdHk6MX0sXCJvcGVuXCI9PXQ/MDp0aGlzLm9wdGlvbnMuaW1hZ2VGYWRlKTpvKHMsbiwhMCxcIm9wZW5cIj09PXQpLGU9cyx0PW4saShcIi5qQm94LWltYWdlLWxhYmVsLmFjdGl2ZVwiKS5yZW1vdmVDbGFzcyhcImFjdGl2ZSBleHBhbmRlZFwiKSxpKFwiI2pCb3gtaW1hZ2UtbGFiZWwtXCIrZStcIi1cIit0KS5hZGRDbGFzcyhcImFjdGl2ZVwiKSx0aGlzLmltYWdlQ291bnRlciYmKHRoaXMuaW1hZ2VzW3NdJiYxPHRoaXMuaW1hZ2VzW3NdLmxlbmd0aD8odGhpcy53cmFwcGVyLmFkZENsYXNzKFwiakJveC1pbWFnZS1oYXMtY291bnRlclwiKSx0aGlzLmltYWdlQ291bnRlci5maW5kKFwiLmpCb3gtaW1hZ2UtY291bnRlci1hbGxcIikuaHRtbCh0aGlzLmltYWdlc1tzXS5sZW5ndGgpLHRoaXMuaW1hZ2VDb3VudGVyLmZpbmQoXCIuakJveC1pbWFnZS1jb3VudGVyLWN1cnJlbnRcIikuaHRtbChuKzEpKTp0aGlzLndyYXBwZXIucmVtb3ZlQ2xhc3MoXCJqQm94LWltYWdlLWhhcy1jb3VudGVyXCIpKSx0aGlzLmltYWdlc1tzXSYmdGhpcy5pbWFnZXNbc10ubGVuZ3RoLTEmJihuPShuKz0xKT50aGlzLmltYWdlc1tzXS5sZW5ndGgtMT8wOm48MD90aGlzLmltYWdlc1tzXS5sZW5ndGgtMTpuLGkoXCIjakJveC1pbWFnZS1cIitzK1wiLVwiK24pLmxlbmd0aHx8byhzLG4sITEsITEpKX0sdGhpcy5vcHRpb25zLnByZWxvYWRGaXJzdEltYWdlJiZpKHdpbmRvdykub24oXCJsb2FkXCIsZnVuY3Rpb24oKXt0aGlzLnNob3dJbWFnZShcIm9wZW5cIil9LmJpbmQodGhpcykpfSxfb25BdHRhY2g6ZnVuY3Rpb24odCl7dGhpcy5pbml0SW1hZ2UmJnRoaXMuaW5pdEltYWdlKHQpfSxfb25DcmVhdGVkOmZ1bmN0aW9uKCl7dGhpcy5pbWFnZUxhYmVsV3JhcHBlcj1pKCc8ZGl2IGNsYXNzPVwiakJveC1pbWFnZS1sYWJlbC13cmFwcGVyXCIvPicpLmFwcGVuZFRvKHRoaXMud3JhcHBlciksdGhpcy5pbWFnZVByZXZCdXR0b249aSgnPGRpdiBjbGFzcz1cImpCb3gtaW1hZ2UtcG9pbnRlci1wcmV2XCIvPicpLm9uKFwiY2xpY2sgdGFwXCIsZnVuY3Rpb24oKXt0aGlzLnNob3dJbWFnZShcInByZXZcIil9LmJpbmQodGhpcykpLHRoaXMuaW1hZ2VOZXh0QnV0dG9uPWkoJzxkaXYgY2xhc3M9XCJqQm94LWltYWdlLXBvaW50ZXItbmV4dFwiLz4nKS5vbihcImNsaWNrIHRhcFwiLGZ1bmN0aW9uKCl7dGhpcy5zaG93SW1hZ2UoXCJuZXh0XCIpfS5iaW5kKHRoaXMpKSx0aGlzLmltYWdlTGFiZWxDb250YWluZXI9aSgnPGRpdiBjbGFzcz1cImpCb3gtaW1hZ2UtbGFiZWwtY29udGFpbmVyXCIvPicpLHRoaXMuaW1hZ2VMYWJlbFdyYXBwZXIuYXBwZW5kKHRoaXMuaW1hZ2VQcmV2QnV0dG9uKS5hcHBlbmQodGhpcy5pbWFnZUxhYmVsQ29udGFpbmVyKS5hcHBlbmQodGhpcy5pbWFnZU5leHRCdXR0b24pLHRoaXMub3B0aW9ucy5kb3dubG9hZEJ1dHRvbiYmKHRoaXMuZG93bmxvYWRCdXR0b249aShcIjxkaXYvPlwiLHtjbGFzczpcImpCb3gtaW1hZ2UtZG93bmxvYWQtYnV0dG9uLXdyYXBwZXJcIn0pLmFwcGVuZFRvKHRoaXMud3JhcHBlcikuYXBwZW5kKHRoaXMub3B0aW9ucy5kb3dubG9hZEJ1dHRvblRleHQ/aShcIjxkaXYvPlwiLHtjbGFzczpcImpCb3gtaW1hZ2UtZG93bmxvYWQtYnV0dG9uLXRleHRcIn0pLmh0bWwodGhpcy5vcHRpb25zLmRvd25sb2FkQnV0dG9uVGV4dCk6bnVsbCkuYXBwZW5kKGkoXCI8ZGl2Lz5cIix7Y2xhc3M6XCJqQm94LWltYWdlLWRvd25sb2FkLWJ1dHRvbi1pY29uXCJ9KSkub24oXCJjbGljayB0YXBcIixmdW5jdGlvbigpe3ZhciB0O3Q9dGhpcy5pbWFnZXNbdGhpcy5jdXJyZW50SW1hZ2UuZ2FsbGVyeV1bdGhpcy5jdXJyZW50SW1hZ2UuaWRdLmRvd25sb2FkVXJsfHx0aGlzLndyYXBwZXIuZmluZChcIi5qQm94LWltYWdlLVwiK3RoaXMuY3VycmVudEltYWdlLmdhbGxlcnkrXCItY3VycmVudFwiKVswXS5zdHlsZS5iYWNrZ3JvdW5kSW1hZ2Uuc2xpY2UoNCwtMSkucmVwbGFjZSgvW1wiJ10vZyxcIlwiKSx0aGlzLmRvd25sb2FkSW1hZ2UodCl9LmJpbmQodGhpcykpKSx0aGlzLm9wdGlvbnMuaW1hZ2VDb3VudGVyJiYodGhpcy5pbWFnZUNvdW50ZXI9aShcIjxkaXYvPlwiLHtjbGFzczpcImpCb3gtaW1hZ2UtY291bnRlci1jb250YWluZXJcIn0pLmluc2VydEFmdGVyKHRoaXMuaW1hZ2VMYWJlbENvbnRhaW5lciksdGhpcy5pbWFnZUNvdW50ZXIuYXBwZW5kKGkoXCI8c3Bhbi8+XCIse2NsYXNzOlwiakJveC1pbWFnZS1jb3VudGVyLWN1cnJlbnRcIn0pKS5hcHBlbmQoaShcIjxzcGFuLz5cIikuaHRtbCh0aGlzLm9wdGlvbnMuaW1hZ2VDb3VudGVyU2VwYXJhdG9yKSkuYXBwZW5kKGkoXCI8c3Bhbi8+XCIse2NsYXNzOlwiakJveC1pbWFnZS1jb3VudGVyLWFsbFwifSkpKX0sX29uT3BlbjpmdW5jdGlvbigpe2koZG9jdW1lbnQpLm9uKFwia2V5dXAuakJveC1JbWFnZS1cIit0aGlzLmlkLGZ1bmN0aW9uKHQpezM3PT10LmtleUNvZGUmJnRoaXMuc2hvd0ltYWdlKFwicHJldlwiKSwzOT09dC5rZXlDb2RlJiZ0aGlzLnNob3dJbWFnZShcIm5leHRcIil9LmJpbmQodGhpcykpLHRoaXMuc2hvd0ltYWdlKFwib3BlblwiKX0sX29uQ2xvc2U6ZnVuY3Rpb24oKXtpKGRvY3VtZW50KS5vZmYoXCJrZXl1cC5qQm94LUltYWdlLVwiK3RoaXMuaWQpfSxfb25DbG9zZUNvbXBsZXRlOmZ1bmN0aW9uKCl7dGhpcy53cmFwcGVyLmZpbmQoXCIuakJveC1pbWFnZS1jb250YWluZXJcIikuY3NzKFwib3BhY2l0eVwiLDApfX0pfWZ1bmN0aW9uIGpCb3hOb3RpY2VXcmFwcGVyKHQsaSl7bmV3IHQucGx1Z2luKFwiTm90aWNlXCIse2NvbG9yOm51bGwsc3RhY2s6ITAsc3RhY2tTcGFjaW5nOjEwLGF1dG9DbG9zZTo2ZTMsYXR0cmlidXRlczp7eDpcInJpZ2h0XCIseTpcInRvcFwifSxwb3NpdGlvbjp7eDoxNSx5OjE1fSxyZXNwb25zaXZlUG9zaXRpb25zOns1MDA6e3g6NSx5OjV9LDc2ODp7eDoxMCx5OjEwfX0sdGFyZ2V0OndpbmRvdyxmaXhlZDohMCxhbmltYXRpb246XCJ6b29tSW5cIixjbG9zZU9uQ2xpY2s6XCJib3hcIix6SW5kZXg6MTJlMyxfb25Jbml0OmZ1bmN0aW9uKCl7dGhpcy5kZWZhdWx0Tm90aWNlUG9zaXRpb249aS5leHRlbmQoe30sdGhpcy5vcHRpb25zLnBvc2l0aW9uKSx0aGlzLl9hZGp1c3ROb3RpY2VQb3NpdG9uPWZ1bmN0aW9uKCl7dmFyIHQ9aSh3aW5kb3cpLG89dC53aWR0aCgpO3QuaGVpZ2h0KCksdGhpcy5vcHRpb25zLnBvc2l0aW9uPWkuZXh0ZW5kKHt9LHRoaXMuZGVmYXVsdE5vdGljZVBvc2l0aW9uKSxpLmVhY2godGhpcy5vcHRpb25zLnJlc3BvbnNpdmVQb3NpdGlvbnMsZnVuY3Rpb24odCxpKXtpZihvPD10KXJldHVybiB0aGlzLm9wdGlvbnMucG9zaXRpb249aSwhMX0uYmluZCh0aGlzKSksdGhpcy5vcHRpb25zLmFkanVzdERpc3RhbmNlPXt0b3A6dGhpcy5vcHRpb25zLnBvc2l0aW9uLnkscmlnaHQ6dGhpcy5vcHRpb25zLnBvc2l0aW9uLngsYm90dG9tOnRoaXMub3B0aW9ucy5wb3NpdGlvbi55LGxlZnQ6dGhpcy5vcHRpb25zLnBvc2l0aW9uLnh9fSx0aGlzLm9wdGlvbnMuY29udGVudCBpbnN0YW5jZW9mIGkmJih0aGlzLm9wdGlvbnMuY29udGVudD10aGlzLm9wdGlvbnMuY29udGVudC5jbG9uZSgpLmF0dHIoXCJpZFwiLFwiXCIpKSxpKHdpbmRvdykub24oXCJyZXNpemUucmVzcG9uc2l2ZWpCb3hOb3RpY2UtXCIrdGhpcy5pZCxmdW5jdGlvbih0KXt0aGlzLmlzT3BlbiYmdGhpcy5fYWRqdXN0Tm90aWNlUG9zaXRvbigpfS5iaW5kKHRoaXMpKSx0aGlzLm9wZW4oKX0sX29uQ3JlYXRlZDpmdW5jdGlvbigpe3RoaXMud3JhcHBlci5hZGRDbGFzcyhcImpCb3gtTm90aWNlLWNvbG9yIGpCb3gtTm90aWNlLVwiKyh0aGlzLm9wdGlvbnMuY29sb3J8fFwiZ3JheVwiKSksdGhpcy53cmFwcGVyLmRhdGEoXCJqQm94LU5vdGljZS1wb3NpdGlvblwiLHRoaXMub3B0aW9ucy5hdHRyaWJ1dGVzLngrXCItXCIrdGhpcy5vcHRpb25zLmF0dHJpYnV0ZXMueSl9LF9vbk9wZW46ZnVuY3Rpb24oKXt0aGlzLm9wdGlvbnMuc3RhY2t8fCh0aGlzLl9hZGp1c3ROb3RpY2VQb3NpdG9uKCksaS5lYWNoKGkoXCIuakJveC1Ob3RpY2VcIiksZnVuY3Rpb24odCxvKXsobz1pKG8pKS5hdHRyKFwiaWRcIikhPXRoaXMuaWQmJm8uZGF0YShcImpCb3gtTm90aWNlLXBvc2l0aW9uXCIpPT10aGlzLm9wdGlvbnMuYXR0cmlidXRlcy54K1wiLVwiK3RoaXMub3B0aW9ucy5hdHRyaWJ1dGVzLnkmJih0aGlzLm9wdGlvbnMuc3RhY2t8fG8uZGF0YShcImpCb3hcIikuY2xvc2Uoe2lnbm9yZURlbGF5OiEwfSkpfS5iaW5kKHRoaXMpKSl9LF9vblBvc2l0aW9uOmZ1bmN0aW9uKCl7dmFyIHQsbz17fTtmb3IodCBpbiBpLmVhY2goaShcIi5qQm94LU5vdGljZVwiKSxmdW5jdGlvbih0LHMpe3ZhciBlPShzPWkocykpLmRhdGEoXCJqQm94LU5vdGljZS1wb3NpdGlvblwiKTtvW2VdfHwob1tlXT1bXSksb1tlXS5wdXNoKHMpfSksbyl7dmFyIHM9dC5zcGxpdChcIi1cIilbMV07b1t0XS5yZXZlcnNlKCk7dmFyIGUsbj0wO2ZvcihlIGluIG9bdF0pe3ZhciBhPWkob1t0XVtlXSk7YS5jc3MoXCJtYXJnaW4tXCIrcyxuKSxuKz1hLm91dGVySGVpZ2h0KCkrdGhpcy5vcHRpb25zLnN0YWNrU3BhY2luZ319fSxfb25DbG9zZUNvbXBsZXRlOmZ1bmN0aW9uKCl7dGhpcy5kZXN0cm95KCksdGhpcy5vcHRpb25zLl9vblBvc2l0aW9uLmJpbmQodGhpcykuY2FsbCgpfX0pfSFmdW5jdGlvbih0LGkpe1wiZnVuY3Rpb25cIj09dHlwZW9mIGRlZmluZSYmZGVmaW5lLmFtZD9kZWZpbmUoW1wianF1ZXJ5XCJdLGZ1bmN0aW9uKG8pe3JldHVybiB0LmpCb3g9aShvKX0pOlwib2JqZWN0XCI9PXR5cGVvZiBtb2R1bGUmJm1vZHVsZS5leHBvcnRzP21vZHVsZS5leHBvcnRzPXQuakJveD1pKHJlcXVpcmUoXCJqcXVlcnlcIikpOnQuakJveD1pKHQualF1ZXJ5KX0odGhpcyxmdW5jdGlvbih0KXt2YXIgaT1qQm94V3JhcHBlcih0KTt0cnl7dm9pZCAwIT09akJveENvbmZpcm1XcmFwcGVyJiZqQm94Q29uZmlybVdyYXBwZXImJmpCb3hDb25maXJtV3JhcHBlcihpLHQpfWNhdGNoKHQpe2NvbnNvbGUuZXJyb3IodCl9dHJ5e3ZvaWQgMCE9PWpCb3hJbWFnZVdyYXBwZXImJmpCb3hJbWFnZVdyYXBwZXImJmpCb3hJbWFnZVdyYXBwZXIoaSx0KX1jYXRjaCh0KXtjb25zb2xlLmVycm9yKHQpfXRyeXt2b2lkIDAhPT1qQm94Tm90aWNlV3JhcHBlciYmakJveE5vdGljZVdyYXBwZXImJmpCb3hOb3RpY2VXcmFwcGVyKGksdCl9Y2F0Y2godCl7Y29uc29sZS5lcnJvcih0KX1yZXR1cm4gaX0pO1xuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSW1wQ2IzZ3VZV3hzTG0xcGJpNXFjeUpkTENKdVlXMWxjeUk2V3lKcVFtOTRWM0poY0hCbGNpSXNJbUlpTENKb0lpd2lkQ0lzSW1raUxDSjBhR2x6SWl3aWIzQjBhVzl1Y3lJc0ltbGtJaXdpZDJsa2RHZ2lMQ0pvWldsbmFIUWlMQ0p0YVc1WGFXUjBhQ0lzSW0xcGJraGxhV2RvZENJc0ltMWhlRmRwWkhSb0lpd2liV0Y0U0dWcFoyaDBJaXdpY21WemNHOXVjMmwyWlZkcFpIUm9JaXdpY21WemNHOXVjMmwyWlVobGFXZG9kQ0lzSW5KbGMzQnZibk5wZG1WTmFXNVhhV1IwYUNJc0luSmxjM0J2Ym5OcGRtVk5hVzVJWldsbmFIUWlMQ0poZEhSaFkyZ2lMQ0owY21sbloyVnlJaXdpY0hKbGRtVnVkRVJsWm1GMWJIUWlMQ0pqYjI1MFpXNTBJaXdpWjJWMFEyOXVkR1Z1ZENJc0luUnBkR3hsSWl3aVoyVjBWR2wwYkdVaUxDSm1iMjkwWlhJaUxDSnBjMjlzWVhSbFUyTnliMnhzSWl3aVlXcGhlQ0lzSW5WeWJDSXNJbVJoZEdFaUxDSnlaV3h2WVdRaUxDSm5aWFJWVWt3aUxDSm5aWFJFWVhSaElpd2ljMlYwUTI5dWRHVnVkQ0lzSW14dllXUnBibWREYkdGemN5SXNJbk53YVc1dVpYSWlMQ0p6Y0dsdWJtVnlSR1ZzWVhraUxDSnpjR2x1Ym1WeVVtVndiM05wZEdsdmJpSXNJbU5oYm1ObGJFRnFZWGhQYmtOc2IzTmxJaXdpZEdGeVoyVjBJaXdpY0c5emFYUnBiMjRpTENKNElpd2llU0lzSW05MWRITnBaR1VpTENKdlptWnpaWFFpTENKaGRIUnlhV0oxZEdWeklpd2labWw0WldRaUxDSmhaR3AxYzNSUWIzTnBkR2x2YmlJc0ltRmthblZ6ZEZSeVlXTnJaWElpTENKaFpHcDFjM1JFYVhOMFlXNWpaU0lzSW5KbGNHOXphWFJwYjI0aUxDSnlaWEJ2YzJsMGFXOXVUMjVQY0dWdUlpd2ljbVZ3YjNOcGRHbHZiazl1UTI5dWRHVnVkQ0lzSW1odmJHUlFiM05wZEdsdmJpSXNJbkJ2YVc1MFpYSWlMQ0p3YjJsdWRGUnZJaXdpWm1Ga1pTSXNJbUZ1YVcxaGRHbHZiaUlzSW5Sb1pXMWxJaXdpWVdSa1EyeGhjM01pTENKdmRtVnliR0Y1SWl3aWIzWmxjbXhoZVVOc1lYTnpJaXdpZWtsdVpHVjRJaXdpWkdWc1lYbFBjR1Z1SWl3aVpHVnNZWGxEYkc5elpTSXNJbU5zYjNObFQyNUZjMk1pTENKamJHOXpaVTl1UTJ4cFkyc2lMQ0pqYkc5elpVOXVUVzkxYzJWc1pXRjJaU0lzSW1Oc2IzTmxRblYwZEc5dUlpd2lZWEJ3Wlc1a1ZHOGlMQ0pqY21WaGRHVlBia2x1YVhRaUxDSmliRzlqYTFOamNtOXNiQ0lzSW1Kc2IyTnJVMk55YjJ4c1FXUnFkWE4wSWl3aVpISmhaMmRoWW14bElpd2laSEpoWjA5MlpYSWlMQ0poZFhSdlEyeHZjMlVpTENKa1pXeGhlVTl1U0c5MlpYSWlMQ0p6YUc5M1EyOTFiblJrYjNkdUlpd2ljSEpsYkc5aFpFRjFaR2x2SWl3aVlYVmthVzhpTENKMmIyeDFiV1VpTENKdmJrbHVhWFFpTENKdmJrRjBkR0ZqYUNJc0ltOXVVRzl6YVhScGIyNGlMQ0p2YmtOeVpXRjBaV1FpTENKdmJrOXdaVzRpTENKdmJrTnNiM05sSWl3aWIyNURiRzl6WlVOdmJYQnNaWFJsSWl3aWIyNUVjbUZuVTNSaGNuUWlMQ0p2YmtSeVlXZEZibVFpTENKZmNHeDFaMmx1VDNCMGFXOXVjeUlzSWxSdmIyeDBhWEFpTENKTmIzVnpaU0lzSWsxdlpHRnNJaXdpZDJsdVpHOTNJaXdpWlhoMFpXNWtJaXdpZEhsd1pTSXNJbWx6Vkc5MVkyaEVaWFpwWTJVaUxDSnpjR3hwZENJc0lrUnZZM1Z0Wlc1MFZHOTFZMmdpTENKa2IyTjFiV1Z1ZENJc0ltcHZhVzRpTENKdFlYUmphRTFsWkdsaElpd2liV0YwWTJobGN5SXNJbDltYVhKbFJYWmxiblFpTENKaWFXNWtJaXdpWDJkbGRGVnVhWEYxWlVsRUlpd2lkRzl3SWl3aWNtbG5hSFFpTENKaWIzUjBiMjBpTENKc1pXWjBJaXdpWVd4cFoyNGlMQ0o2U1c1a1pYaE5ZWGdpTENKTllYUm9JaXdpYldGNElpd2lZV1JxZFhOMFdrbHVaR1Y0VDI1UGNHVnVJaXdpZEhKMVpVMXZaR0ZzSWl3aVgyZGxkRTl3Y0NJc0lsOW5aWFJZV1NJc0ltTmxiblJsY2lJc0lsOW5aWFJVVENJc0lsOW5aWFJKYm5RaUxDSnpiR2xqWlNJc0luQmhjbk5sU1c1MElpd2ljbVZ3YkdGalpTSXNJbDlqY21WaGRHVlRWa2NpTENKdklpd2lZM0psWVhSbFJXeGxiV1Z1ZEU1VElpd2laV0ZqYUNJc0luTmxkRUYwZEhKcFluVjBaU0lzSWw5cGMyOXNZWFJsVTJOeWIyeHNJaXdpWlNJc0lteGxibWQwYUNJc0ltOXVJaXdpZDJobFpXeEVaV3gwWVNJc0ltOXlhV2RwYm1Gc1JYWmxiblFpTENKa1pYUmhhV3dpTENKelkzSnZiR3hVYjNBaUxDSnZkWFJsY2tobGFXZG9kQ0lzSW5OamNtOXNiRWhsYVdkb2RDSXNJbk1pTENKZmMyVjBWR2wwYkdWWGFXUjBhQ0lzSW5ScGRHeGxRMjl1ZEdGcGJtVnlJaXdpYzNSNWJHVWlMQ0ozY21Gd2NHVnlJaXdpWTNOeklpd2liM1YwWlhKWGFXUjBhQ0lzSWw5a2NtRm5aMkZpYkdVaUxDSnVJaXdpWVNJc0ltSjFkSFJ2YmlJc0ltaGhjME5zWVhOeklpd2ljR0Z5Wlc1MGN5SXNJbU5zYjNObElpd2lhV2R1YjNKbFJHVnNZWGtpTENKMGIzVmphR1Z6SWl3aWNHRm5aVmdpTENKd1lXZGxXU0lzSW1SeVlXZG5hVzVuVTNSaGNuUllJaXdpWkhKaFoyZHBibWRUZEdGeWRGa2lMQ0o2U1c1a1pYaE5ZWGhFY21GbmIzWmxjaUlzSW1SeVlXZG5hVzVuSWl3aWIyWm1JaXdpYzJOeWIyeHNUR1ZtZENJc0lsOWpjbVZoZEdVaUxDSmpiR0Z6Y3lJc0ltUnBjM0JzWVhraUxDSnZjR0ZqYVhSNUlpd2ljMjkxY21ObElpd2ljbVZzWVhSbFpGUmhjbWRsZENJc0ltbHVRWEp5WVhraUxDSmpiMjUwWVdsdVpYSWlMQ0poY0hCbGJtUWlMQ0poY0hCbGJtUkRhR2xzWkNJc0ltWnBibVFpTENKNGVTSXNJbVZzWlcxbGJuUWlMQ0prYVcxbGJuTnBiMjV6SWl3aVlXeHBaMjVCZEhSeWFXSjFkR1VpTENKdFlYSm5hVzRpTENKelpYUlVhWFJzWlNJc0lsOWhkSFJoWTJoRmRtVnVkSE1pTENKcGMwaHZkbVZ5WldRaUxDSnRiM1Z6WlZSaGNtZGxkQ0lzSWw5a1pYUmhZMmhGZG1WdWRITWlMQ0pmYzJodmQwOTJaWEpzWVhraUxDSnpkRzl3SWl3aVlXNXBiV0YwWlNJc0luRjFaWFZsSWl3aVpIVnlZWFJwYjI0aUxDSnpkR0Z5ZENJc0lsOW9hV1JsVDNabGNteGhlU0lzSW1OdmJYQnNaWFJsSWl3aVgyVjRjRzl6WlVScGJXVnVjMmx2Ym5NaUxDSmZaMlZ1WlhKaGRHVkJibWx0WVhScGIyNURVMU1pTENKd2RXeHpaU0lzSW05d1pXNGlMQ0o2YjI5dFNXNGlMQ0o2YjI5dFQzVjBJaXdpYlc5MlpTSXNJbk5zYVdSbElpd2labXhwY0NJc0luUmhaR0VpTENKdmNHVnVSR2x5WldOMGFXOXVJaXdpWTJ4dmMyVkVhWEpsWTNScGIyNGlMQ0o2YjI5dFNXNVBjR1Z1SWl3aWVtOXZiVWx1UTJ4dmMyVWlMQ0o2YjI5dFQzVjBUM0JsYmlJc0lucHZiMjFQZFhSRGJHOXpaU0lzSW0xdmRtVlBjR1Z1SWl3aWNHOXphWFJwYjI1eklpd2lNQ1VpTENKdGIzWmxRMnh2YzJVaUxDSjBhVzFwYm1jaUxDSXhNREFsSWl3aWMyeHBaR1ZQY0dWdUlpd2ljMnhwWkdWRGJHOXpaU0lzSW1ac2FYQlBjR1Z1SWl3aVpteHBjRU5zYjNObElpd2lkRzlWY0hCbGNrTmhjMlVpTENKZllXNXBiV0YwYVc5dVExTlRJaXdpWDJKc2IyTnJRbTlrZVVOc2FXTnJJaXdpWW14dlkydENiMlI1UTJ4cFkyc2lMQ0p6WlhSVWFXMWxiM1YwSWl3aVgyRnVhVzFoZEdVaUxDSnBjMDl3Wlc0aUxDSm1iR2x3Y0dWa0lpd2ljR0Z5YzJWR2JHOWhkQ0lzSW0xcGJpSXNJbkpsYlc5MlpVTnNZWE56SWl3aVgyRmliM0owUVc1cGJXRjBhVzl1SWl3aVlYUjBjaUlzSW1acGJIUmxjaUlzSW14aGMzUkpibVJsZUU5bUlpd2ljSFZ6YUNJc0lrRjFaR2x2SWl3aWMzSmpJaXdpY0hKbGJHOWhaQ0lzSW5CeWIzUnZkSGx3WlNJc0luSmxiVzkyWlVGMGRISWlMQ0poZEhSaFkyaGxaRVZzWlcxbGJuUnpJaXdpZEdsdFpYSWlMQ0pqYkdWaGNsUnBiV1Z2ZFhRaUxDSmtaWFJoWTJnaUxDSm5jbVZ3SWl3aWFXNXpaWEowUW1WbWIzSmxJaXdpYUhSdGJDSXNJbU5vYVd4a2NtVnVJaXdpWTI5dWMzUnlkV04wYjNJaUxDSnFjWFZsY25raUxDSktVMDlPSWl3aWMzUnlhVzVuYVdaNUlpd2ljMlYwUkdsdFpXNXphVzl1Y3lJc0luTmxkRmRwWkhSb0lpd2ljMlYwU0dWcFoyaDBJaXdpY2lJc0ltWWlMQ0p3SWl3aWJDSXNJbU5sYVd3aUxDSndiM05wZEdsdmJrRmthblZ6ZEdWa0lpd2laQ0lzSW1NaUxDSjFJaXdpWnlJc0ltMGlMQ0pxSWl3aWRXNXpZM0p2Ykd3aUxDSnpaWFFpTENKMWJuTmpjbTlzYkZOMGIzSmxJaXdpWjJWMElpd2laMlYwVTJOeWIyeHNZbUZ5VjJsa2RHZ2lMQ0pqY21WaGRHVkZiR1Z0Wlc1MElpd2liM1psY21ac2IzY2lMQ0ppYjJSNUlpd2liMlptYzJWMFYybGtkR2dpTENKamJHbGxiblJYYVdSMGFDSXNJbkpsYlc5MlpVTm9hV3hrSWl3aVoyVjBSV3hsYldWdWRITlViMEZrYW5WemRDSXNJbVp2Y2tWaFkyZ2lMQ0pwYm1SbGVFOW1JaXdpY0dGblpVaGhjMU5qY205c2JHSmhjaUlzSW05bVpuTmxkRWhsYVdkb2RDSXNJbWx1Ym1WeVNHVnBaMmgwSWl3aWNYVmxjbmxUWld4bFkzUnZja0ZzYkNJc0ltZGxkRUYwZEhKcFluVjBaU0lzSW1kbGRFTnZiWEIxZEdWa1UzUjViR1VpTENKblpYUlFjbTl3WlhKMGVWWmhiSFZsSWl3aVoyVjBSV3hsYldWdWRFSjVTV1FpTENKb1pXRmtJaXdpWjJWMFJXeGxiV1Z1ZEhOQ2VWUmhaMDVoYldVaUxDSmpjbVZoZEdWVVpYaDBUbTlrWlNJc0ltTnNZWE56VEdsemRDSXNJbUZrWkNJc0luSmxjMlYwSWl3aWNtVnRiM1psUVhSMGNtbGlkWFJsSWl3aWNtVnRiM1psSWl3aWFYTkVaWE4wY205NVpXUWlMQ0pmYzNSNWJHVnpJaXdpYVhORWFYTmhZbXhsWkNJc0ltdGxlVU52WkdVaUxDSm9ZWE1pTENKaGFtRjRURzloWkdWa0lpd2ljRzl6YVhScGIyNWxaRTl1VDNCbGJpSXNJbWx6UTJ4dmMybHVaeUlzSW1Kc2IyTnJVMk55YjJ4c1UyTnZjR1Z6SWl3aVFYSnlZWGtpTENKcGMwRnljbUY1SWl3aWFYTlBjR1Z1YVc1bklpd2lZV3gzWVhseklpd2ljRzl6YVhScGIyNVBia1poWkdWRGIyMXdiR1YwWlNJc0ltTmhibU5sYkVGcVlYZ2lMQ0pFWVhSbElpd2libTkzSWl3aWFXNXVaWElpTENKd2NtVndaVzVrSWl3aVkyOTFiblJrYjNkdUlpd2ljbVZ4ZFdWemRFRnVhVzFoZEdsdmJrWnlZVzFsSWl3aWRHOW5aMnhsSWl3aVpHbHpZV0pzWlNJc0ltVnVZV0pzWlNJc0ltaHBaR1VpTENKallXTm9aVmR5WVhCd1pYSkVhWE53YkdGNUlpd2lZMkZqYUdWUGRtVnliR0Y1UkdsemNHeGhlU0lzSW5Ob2IzY2lMQ0ppWldadmNtVlRaVzVrSWl3aWMzVmpZMlZ6Y3lJc0ltVnljbTl5SWl3aWRISmhibk5tYjNKdElpd2lZV3BoZUZKbGNYVmxjM1FpTENKaFltOXlkQ0lzSWw5aGRXUnBieUlzSW5CaGRYTmxJaXdpWTNWeWNtVnVkRlJwYldVaUxDSndiR0Y1SWl3aVgyRnVhVzFoZEdsdmJsTndaV1ZrY3lJc0luUmhaR0ZUYldGc2JDSXNJbVpzWVhOb0lpd2ljMmhoYTJVaUxDSndkV3h6WlZWd0lpd2ljSFZzYzJWRWIzZHVJaXdpY0c5d1NXNGlMQ0p3YjNCUGRYUWlMQ0ptWVdSbFNXNGlMQ0ptWVdSbFQzVjBJaXdpYzJ4cFpHVlZjQ0lzSW5Oc2FXUmxVbWxuYUhRaUxDSnpiR2xrWlV4bFpuUWlMQ0p6Ykdsa1pVUnZkMjRpTENKaGJtbHRZWFJwYjI1VWFXMWxiM1YwSWl3aVgyZGxkRlZ1YVhGMVpVVnNaVzFsYm5SSlJDSXNJbk4zYVhCbFJHVjBaV04wYjNJaUxDSnpkMmx3WlZSb2NtVnphRzlzWkNJc0luVnpaVTl1YkhsVWIzVmphQ0lzSW1Oc2FXVnVkRmdpTENKamJHbGxiblJaSWl3aVlXSnpJaXdpUlhabGJuUWlMQ0prWlhOMGNtOTVJaXdpY0d4MVoybHVJaXdpWm00aUxDSnFRbTk0SWl3aWFrSnZlRU52Ym1acGNtMVhjbUZ3Y0dWeUlpd2lhbEYxWlhKNUlpd2lZMjl1Wm1seWJVSjFkSFJ2YmlJc0ltTmhibU5sYkVKMWRIUnZiaUlzSW1OdmJtWnBjbTBpTENKallXNWpaV3dpTENKamJHOXpaVTl1UTI5dVptbHliU0lzSWw5dmJrRjBkR0ZqYUNJc0luQnliM0FpTENKZmIyNURjbVZoZEdWa0lpd2ljM1ZpYldsMFFuVjBkRzl1SWl3aVgyOXVUM0JsYmlJc0ltVjJZV3dpTENKcVFtOTRTVzFoWjJWWGNtRndjR1Z5SWl3aVoyRnNiR1Z5ZVNJc0ltbHRZV2RsVEdGaVpXd2lMQ0pwYldGblpVWmhaR1VpTENKcGJXRm5aVk5wZW1VaUxDSnBiV0ZuWlVOdmRXNTBaWElpTENKcGJXRm5aVU52ZFc1MFpYSlRaWEJoY21GMGIzSWlMQ0prYjNkdWJHOWhaRUoxZEhSdmJpSXNJbVJ2ZDI1c2IyRmtRblYwZEc5dVZHVjRkQ0lzSW1SdmQyNXNiMkZrUW5WMGRHOXVWWEpzSWl3aWJXOWlhV3hsU1cxaFoyVkJkSFJ5SWl3aWJXOWlhV3hsU1cxaFoyVkNjbVZoYTNCdmFXNTBJaXdpY0hKbGJHOWhaRVpwY25OMFNXMWhaMlVpTENKZmIyNUpibWwwSWl3aWFXMWhaMlZ6SWl3aVkzVnljbVZ1ZEVsdFlXZGxJaXdpYVcxaFoyVmFTVzVrWlhnaUxDSnBibWwwU1cxaFoyVWlMQ0pzWVdKbGJDSXNJbVJ2ZDI1c2IyRmtWWEpzSWl3aVltRmphMmR5YjNWdVpGTnBlbVVpTENKemFHOTNTVzFoWjJVaUxDSjBiMmRuYkdWRGJHRnpjeUlzSW1sdFlXZGxUR0ZpWld4RGIyNTBZV2x1WlhJaUxDSmtiM2R1Ykc5aFpFbHRZV2RsSWl3aWFISmxaaUlzSW5OMVluTjBjbWx1WnlJc0ltTnNhV05ySWl3aVNXMWhaMlVpTENKdmJteHZZV1FpTENKaVlXTnJaM0p2ZFc1a1NXMWhaMlVpTENKdmJtVnljbTl5SWl3aWFXMWhaMlZNWVdKbGJGZHlZWEJ3WlhJaUxDSnBiV0ZuWlZCeVpYWkNkWFIwYjI0aUxDSnBiV0ZuWlU1bGVIUkNkWFIwYjI0aUxDSnBibk5sY25SQlpuUmxjaUlzSWw5dmJrTnNiM05sSWl3aVgyOXVRMnh2YzJWRGIyMXdiR1YwWlNJc0ltcENiM2hPYjNScFkyVlhjbUZ3Y0dWeUlpd2lZMjlzYjNJaUxDSnpkR0ZqYXlJc0luTjBZV05yVTNCaFkybHVaeUlzSW5KbGMzQnZibk5wZG1WUWIzTnBkR2x2Ym5NaUxDSTFNREFpTENJM05qZ2lMQ0prWldaaGRXeDBUbTkwYVdObFVHOXphWFJwYjI0aUxDSmZZV1JxZFhOMFRtOTBhV05sVUc5emFYUnZiaUlzSW1Oc2IyNWxJaXdpWDI5dVVHOXphWFJwYjI0aUxDSnlaWFpsY25ObElpd2lZMkZzYkNJc0ltUmxabWx1WlNJc0ltRnRaQ0lzSW0xdlpIVnNaU0lzSW1WNGNHOXlkSE1pTENKeVpYRjFhWEpsSWl3aVkyOXVjMjlzWlNKZExDSnRZWEJ3YVc1bmN5STZJa0ZCUVVFc1UwRkJVMEVzV1VGQldVTXNSMEZCUnl4VFFVRlRReXhGUVVGRlF5eEZRVUZGUXl4SFFVRkhMRTlCUVU5RExFdEJRVXRETEZGQlFWRXNRMEZCUTBNc1IwRkJSeXhMUVVGTFF5eE5RVUZOTEU5QlFVOURMRTlCUVU4c1QwRkJUME1zVTBGQlV5eExRVUZMUXl4VlFVRlZMRXRCUVV0RExGTkJRVk1zUzBGQlMwTXNWVUZCVlN4TFFVRkxReXhwUWtGQlowSXNSVUZCUjBNc2EwSkJRV2xDTEVWQlFVZERMRzFDUVVGdFFpeEpRVUZKUXl4dlFrRkJiMElzU1VGQlNVTXNUMEZCVHl4TFFVRkxReXhSUVVGUkxGRkJRVkZETEdkQ1FVRmxMRVZCUVVkRExGRkJRVkVzUzBGQlMwTXNWMEZCVnl4TFFVRkxReXhOUVVGTkxFdEJRVXRETEZOQlFWTXNTMEZCUzBNc1QwRkJUeXhMUVVGTFF5eGxRVUZqTEVWQlFVZERMRXRCUVVzc1EwRkJRME1zU1VGQlNTeExRVUZMUXl4TFFVRkxMRWRCUVVkRExGRkJRVThzUlVGQlIwTXNUMEZCVHl4WFFVRlhReXhSUVVGUkxGbEJRVmxETEZsQlFWY3NSVUZCUjBNc1kwRkJZU3hGUVVGSFF5eFRRVUZSTEVWQlFVZERMR0ZCUVdFc1NVRkJTVU1zYlVKQlFXdENMRWRCUVVsRExHMUNRVUZyUWl4RlFVRkhReXhQUVVGUExFdEJRVXRETEZOQlFWTXNRMEZCUTBNc1JVRkJSU3hUUVVGVFF5eEZRVUZGTEZWQlFWVkRMRkZCUVZFc1MwRkJTME1zVDBGQlR5eEZRVUZGUXl4WFFVRlhMRU5CUVVOS0xFVkJRVVVzVDBGQlQwTXNSVUZCUlN4UFFVRlBTU3hQUVVGTkxFVkJRVWRETEdkQ1FVRmxMRVZCUVVkRExHVkJRV01zUlVGQlIwTXNaVUZCWlN4RlFVRkZReXhaUVVGWExFVkJRVWRETEd0Q1FVRnBRaXhGUVVGSFF5eHhRa0ZCYjBJc1JVRkJSME1zWTBGQllTeEZRVUZIUXl4VFFVRlJMRVZCUVVkRExGRkJRVkVzVTBGQlUwTXNTMEZCU3l4SlFVRkpReXhWUVVGVkxFdEJRVXRETEUxQlFVMHNWVUZCVlVNc1UwRkJVeXhMUVVGTFF5eFRRVUZSTEVWQlFVZERMR0ZCUVdFc1MwRkJTME1zVDBGQlR5eEpRVUZKUXl4VlFVRlZMRVZCUVVWRExGZEJRVmNzUlVGQlJVTXNXVUZCVnl4RlFVRkhReXhqUVVGaExFVkJRVWRETEcxQ1FVRnJRaXhGUVVGSFF5eGhRVUZaTEVWQlFVZERMRk5CUVZOd1JTeEZRVUZGTEZGQlFWRnhSU3hqUVVGaExFVkJRVWRETEdGQlFWa3NSVUZCUjBNc2JVSkJRV3RDTEVWQlFVZERMRmRCUVZVc1JVRkJSME1zVlVGQlV5eEZRVUZIUXl4WFFVRlZMRVZCUVVkRExHTkJRV0VzUlVGQlIwTXNaVUZCWXl4RlFVRkhReXhqUVVGaExFVkJRVWRETEUxQlFVMHNTMEZCUzBNc1QwRkJUeXhKUVVGSlF5eFBRVUZQTEV0QlFVdERMRk5CUVZNc1MwRkJTME1zVjBGQlZ5eExRVUZMUXl4VlFVRlZMRXRCUVV0RExFOUJRVThzUzBGQlMwTXNVVUZCVVN4TFFVRkxReXhuUWtGQlowSXNTMEZCUzBNc1dVRkJXU3hMUVVGTFF5eFZRVUZWTEUxQlFVMXdSaXhMUVVGTGNVWXNaVUZCWlN4RFFVRkRReXhSUVVGUkxFTkJRVU55UlN4WFFVRlhMRkZCUVZGSUxGRkJRVkVzWVVGQllYRkNMRk5CUVZNc1EwRkJRME1zUlVGQlJTeFRRVUZUUXl4RlFVRkZMRTlCUVU5RExGRkJRVkVzU1VGQlNWY3NVMEZCVVN4SFFVRkpjME1zVFVGQlRTeERRVUZET1VVc2FVSkJRV2RDTEVWQlFVZERMR3RDUVVGcFFpeEZRVUZIWjBNc1pVRkJaU3hQUVVGUFVpeFBRVUZQTEZGQlFWRndRaXhSUVVGUkxHRkJRV0Z4UWl4VFFVRlRMRU5CUVVORExFVkJRVVVzVVVGQlVVTXNSVUZCUlN4VlFVRlZReXhSUVVGUkxFdEJRVXRETEU5QlFVOHNSMEZCUjJsRUxFMUJRVTBzUTBGQlEzUkVMRTlCUVU5MFF5eEZRVUZGTmtZc1VVRkJVV2hFTEU5QlFVMHNSVUZCUjNsQ0xHRkJRVmtzUlVGQlIwNHNXVUZCVnl4RlFVRkhReXhoUVVGaExGVkJRVlZGTEdGQlFWa3NSVUZCUjFJc1UwRkJVU3hGUVVGSFNDeFZRVUZWTEZkQlFWZHdSQ3hMUVVGTFF5eFJRVUZSVEN4RlFVRkZPRVlzVVVGQlR5eEZRVUZITVVZc1MwRkJTME1zVVVGQlVVUXNTMEZCUzNGR0xHVkJRV1YyUml4SlFVRkpSQ3hGUVVGRmQwWXNaVUZCWlhaR0xFZEJRVWRETEVkQlFVY3NWVUZCVlVnc1JVRkJSU3RHTEV0QlFVczNSaXhMUVVGTFJTeExRVUZMTWtZc1MwRkJTemRHTEVkQlFVZEZMRXRCUVVzMFJpeGpRVUZqTEZkQlFWY3NTVUZCT0VrM1JpeEZRVUV4U1VRc1JVRkJSU3cwUWtGQk5FSXJSaXhOUVVGTkxFdEJRVXNzVTBGQlJ5eHBRa0ZCYVVKS0xGRkJRVkZCTEU5QlFVOUxMR1ZCUVdWRExHOUNRVUZ2UWtRc2FVSkJRVFpHTDBZc1JVRkJhRVZFTEVWQlFVVXNRMEZCUXl4SlFVRkpRU3hGUVVGRmEwY3NTMEZCU3l4dlFrRkJiMElzVTBGQlV5eExRVUZMUVN4TFFVRkxMRWxCUVdWUUxFOUJRVTlSTEZkQlFWZHNSeXhIUVVGSGJVY3NVMEZCY0ZBc1IwRkJLMUJzUnl4TFFVRkxORVlzWlVGQlpTeGxRVUZsTlVZc1MwRkJTME1zVVVGQlVXRXNWVUZCVXl4SlFVRkxaQ3hMUVVGTFF5eFJRVUZSTkVRc1pVRkJaVGRFTEV0QlFVdERMRkZCUVZFMFJDeGhRVUZoTEZGQlFWRTNSQ3hMUVVGTGJVY3NWMEZCVnl4VFFVRlRja2NzUlVGQlJVTXNSMEZCUjBNc1MwRkJTME1zVVVGQlVTeEpRVUZKU0N4SlFVRkpSU3hMUVVGTFF5eFJRVUZSTEVsQlFVbElMRWRCUVVkelJ5eExRVUZMY0Vjc1MwRkJla0pCTEVOQlFTdENSQ3hIUVVGSFF5eExRVUZMUXl4UlFVRlJTQ3hKUVVGSlJTeExRVUZMUXl4UlFVRlJTQ3hIUVVGSGMwY3NTMEZCUzNCSExFdEJRWEpDUVN4RFFVRXlRa1FzU1VGQlNTeFBRVUZQUXl4TFFVRkxReXhSUVVGUlF5eExRVUZMUml4TFFVRkxReXhSUVVGUlF5eEhRVUZITEU5QlFVOU1MRVZCUVVWM1J5eG5Ra0ZCWjBKeVJ5eExRVUZMUlN4SFFVRkhSaXhMUVVGTFF5eFJRVUZSUXl4SlFVRkpMRlZCUVZWR0xFdEJRVXRETEZGQlFWRnJReXhUUVVGVFF5eEhRVUZITEV0QlFVdHdReXhMUVVGTFF5eFJRVUZSY1VNc1UwRkJVeXhWUVVGVmRFTXNTMEZCUzBNc1VVRkJVV3RETEZOQlFWTkZMRWRCUVVjc1MwRkJTM0pETEV0QlFVdERMRkZCUVZGeFF5eFhRVUZYZEVNc1MwRkJTME1zVVVGQlVYRkRMRkZCUVZFc1RVRkJUU3hWUVVGVmRFTXNTMEZCUzBNc1VVRkJVV2xFTEZOQlFWTnNSQ3hMUVVGTFF5eFJRVUZSY1VNc1UwRkJVeXhOUVVGTmRFTXNTMEZCUzBNc1VVRkJVWEZETEZWQlFWVjBReXhMUVVGTFF5eFJRVUZSWjBRc1UwRkJVU3hIUVVGSkxGVkJRVlZ5UkN4RlFVRkZLMFlzUzBGQlN6TkdMRXRCUVV0RExGRkJRVkZ6UXl4UlFVRlJka01zUzBGQlMwTXNVVUZCVVhORExFOUJRVThzUTBGQlEwZ3NSVUZCUlhCRExFdEJRVXRETEZGQlFWRnpReXhQUVVGUFJpeEZRVUZGY2tNc1MwRkJTME1zVVVGQlVYTkRMRkZCUVZGMlF5eExRVUZMUXl4UlFVRlJjME1zVDBGQlR6TkRMRVZCUVVVNFJpeFBRVUZQTEVOQlFVTjBSQ3hGUVVGRkxFVkJRVVZETEVWQlFVVXNSMEZCUjNKRExFdEJRVXRETEZGQlFWRnpReXhSUVVGUkxGVkJRVlV6UXl4RlFVRkZLMFlzUzBGQlN6TkdMRXRCUVV0RExGRkJRVkV5UXl4blFrRkJaMEkxUXl4TFFVRkxReXhSUVVGUk1rTXNaVUZCWlN4RFFVRkRNRVFzU1VGQlNYUkhMRXRCUVV0RExGRkJRVkV5UXl4bFFVRmxNa1FzVFVGQlRYWkhMRXRCUVV0RExGRkJRVkV5UXl4bFFVRmxORVFzVDBGQlQzaEhMRXRCUVV0RExGRkJRVkV5UXl4bFFVRmxOa1FzUzBGQlMzcEhMRXRCUVV0RExGRkJRVkV5UXl4blFrRkJaMEkxUXl4TFFVRkxReXhSUVVGUk1rTXNaVUZCWldoRUxFVkJRVVU0Uml4UFFVRlBMRU5CUVVOWkxFbEJRVWtzUlVGQlJVY3NTMEZCU3l4RlFVRkZSaXhOUVVGTkxFVkJRVVZETEU5QlFVOHNSMEZCUjNoSExFdEJRVXRETEZGQlFWRXlReXhuUWtGQlowSTFReXhMUVVGTGMwTXNWMEZCVjNSRExFdEJRVXRETEZGQlFWRnhReXhUUVVGVExFMUJRVTEwUXl4TFFVRkxReXhSUVVGUmNVTXNWVUZCVlhSRExFdEJRVXRETEZGQlFWRnJReXhUUVVGVGJrTXNTMEZCUzBNc1VVRkJVWEZETEZOQlFWTjBReXhMUVVGTE1FY3NUVUZCVFRGSExFdEJRVXR6UXl4VlFVRlZMRlZCUVZWMFF5eExRVUZMUXl4UlFVRlJhME1zVTBGQlUwVXNSMEZCUnl4VlFVRlZla01zUlVGQlJTdEdMRXRCUVVzelJpeExRVUZMUXl4UlFVRlJhME1zVTBGQlUwVXNSMEZCUjNKRExFdEJRVXRETEZGQlFWRnJReXhUUVVGVFF5eEZRVUZGTEZWQlFWVndReXhMUVVGTFF5eFJRVUZSYTBNc1UwRkJVME1zUjBGQlJ5eFZRVUZWZUVNc1JVRkJSU3RHTEV0QlFVc3pSaXhMUVVGTFF5eFJRVUZSYTBNc1UwRkJVME1zUjBGQlIzQkRMRXRCUVV0RExGRkJRVkZyUXl4VFFVRlRSU3hGUVVGRmNrTXNTMEZCUzBNc1VVRkJVWFZETEZkQlFWZEtMRWRCUVVkMlF5eEZRVUZGT0Vjc1ZVRkJWVU1zUzBGQlMwTXNTVUZCU1doSUxFVkJRVVU0Unl4WFFVRlhMRVZCUVVVc1UwRkJVek5ITEV0QlFVdERMRkZCUVZGM1JDeFBRVUZQTEVsQlFVbDZSQ3hMUVVGTFF5eFJRVUZSZDBRc1VVRkJVU3hUUVVGVGVrUXNTMEZCUzBNc1VVRkJVWGRFTEZOQlFWTjZSQ3hMUVVGTE9FY3NiMEpCUVcxQ0xFVkJRVWRxU0N4RlFVRkZPRWNzVjBGQlZ5eEZRVUZGTTBjc1MwRkJTME1zVVVGQlVYZEVMRTlCUVU4MVJDeEZRVUZGT0Vjc1ZVRkJWVE5ITEV0QlFVc3JSeXhWUVVGVkwwY3NTMEZCUzBNc1VVRkJVWE5FTEZOQlFWTjJSQ3hMUVVGTFowZ3NVVUZCVVN4VFFVRlRiRWdzUjBGQlJ5eE5RVUZOTEVOQlFVTXlSeXhMUVVGTExGRkJRVkZHTEUxQlFVMHNUMEZCVDBRc1NVRkJTU3hUUVVGVFJTeFBRVUZQTEUxQlFVMXdSU3hGUVVGRkxFbEJRVWxETEVWQlFVVXNTMEZCUzNaRExFbEJRVWxGTEV0QlFVdHBTQ3hQUVVGUExGTkJRVk51U0N4SFFVRkhMRTFCUVUwc1EwRkJRekpITEV0QlFVc3NTVUZCU1VZc1RVRkJUU3hKUVVGSlJDeEpRVUZKTEVsQlFVbEZMRTlCUVU4c1NVRkJTVlVzVDBGQlR5eExRVUZMY0Vnc1NVRkJTVVVzUzBGQlMyMUlMRTlCUVU4c1UwRkJVM0pJTEVkQlFVY3NUVUZCVFN4RFFVRkRNa2NzUzBGQlN5eFBRVUZQUml4TlFVRk5MRTlCUVU5RUxFbEJRVWtzVFVGQlRVVXNUMEZCVHl4TlFVRk5WU3hQUVVGUExFOUJRVTg1UlN4RlFVRkZMRTlCUVU5RExFVkJRVVVzVDBGQlQzWkRMRWxCUVVsRkxFdEJRVXR2U0N4UlFVRlJMRk5CUVZOMFNDeEZRVUZGUXl4SFFVRkhMRTFCUVUwc1VVRkJVVVFzUlVGQlJTeFBRVUZQUVN4SFFVRkhMRlZCUVZWR0xFVkJRVVVyUml4TFFVRkxOMFlzU1VGQlNTeExRVUZMUVN4RlFVRkZkVWdzVDBGQlR5eEhRVUZIZWtnc1JVRkJSVFpHTEZGQlFWRXNWVUZCVlRGR0xFVkJRVVVzWTBGQll5eG5Ra0ZCWjBKMVNDeFRRVUZUZUVnc1JVRkJSWGxJTEZGQlFWRXNTVUZCU1N4TFFVRkxMRWxCUVVsNlNDeEhRVUZIUlN4TFFVRkxkMGdzVjBGQlZ5eFRRVUZUTVVnc1JVRkJSVU1zUjBGQlJ5eEpRVUZKTUVnc1JVRkJSVEZDTEZOQlFWTXlRaXhuUWtGQlowSXNOa0pCUVRaQ05VZ3NSMEZCUnl4UFFVRlBSaXhGUVVGRkswZ3NTMEZCU3pWSUxFVkJRVVVzVTBGQlUwUXNSVUZCUlVNc1IwRkJSekJJTEVWQlFVVkhMR0ZCUVdFM1NDeEZRVUZGTEVkQlFVZEJMRVZCUVVVc1NVRkJTU3hOUVVGTk1FZ3NSMEZCUjNwSUxFdEJRVXMyU0N4bFFVRmxMRk5CUVZORExFZEJRVWRCTEVkQlFVZEJMRVZCUVVWRExGRkJRVkZFTEVWQlFVVkZMRWRCUVVjc1owVkJRV2RGTEZOQlFWTnNTU3hIUVVGSExFbEJRVWxETEVWQlFVVkVMRVZCUVVWdFNTeFpRVUZaYmtrc1JVRkJSVzlKTEdWQlFXVndTU3hGUVVGRmIwa3NZMEZCWTBRc1lVRkJZVzVKTEVWQlFVVnhTU3hQUVVGUFZpeEZRVUZGTEVkQlFVZDZTQ3hMUVVGTGIwa3NWVUZCVlU0c1JVRkJSVThzWTBGQlkzSkpMRXRCUVV0elNTeGhRVUZoUXl4RlFVRkZka2tzUzBGQlMyOUpMRmRCUVZjc1IwRkJSM0pKTEVWQlFVVXNSMEZCUnpCSUxFZEJRVWNzUlVGQlJURklMRWRCUVVkM1NTeEpRVUZKZWtrc1JVRkJSV2xDTEc5Q1FVRnZRbVlzUzBGQlMzZEpMR1ZCUVdVc1YwRkJWeXhKUVVGSmVFa3NTMEZCUzNsSkxHZENRVUZuUWl4UlFVRlJla2tzUzBGQlMyZENMRkZCUVZFc1IwRkJSekJJTEUxQlFVMTJTU3hSUVVGUlNDeExRVUZMWjBJc1VVRkJVU3hIUVVGSE1FZ3NUVUZCVFc1SkxGTkJRVk1zVDBGQlR5eExRVUZMTEVsQlFVbFVMRVZCUVVVc1VVRkJVVVVzUzBGQlN6SkpMRkZCUVZGRExFbEJRVWtzV1VGQldUVkpMRXRCUVVzeVNTeFJRVUZSUXl4SlFVRkpMRlZCUVZVc1UwRkJVemxKTEVWQlFVVkZMRXRCUVV0blFpeFJRVUZSTmtnc1lVRkJZVGRKTEV0QlFVc3lTU3hSUVVGUlF5eEpRVUZKTEZWQlFWVXNVMEZCVXpsSkxFVkJRVVZGTEV0QlFVdG5RaXhSUVVGUk5rZ3NZVUZCWVRkSkxFdEJRVXQ1U1N4bFFVRmxSeXhKUVVGSkxFTkJRVU55U1N4VFFVRlRjVWNzUzBGQlMwTXNTVUZCU1M5SExFVkJRVVYzU0N4VFFVRlRkRWdzUzBGQlMyZENMRkZCUVZFc1IwRkJSekJJTEUxQlFVMXVTU3haUVVGWkxGRkJRVkZRTEV0QlFVczRTU3hYUVVGWExGZEJRVmNzU1VGQlNUbEpMRXRCUVV0RExGRkJRVkZ0UlN4VlFVRlZMRTlCUVUwc1JVRkJSeXhKUVVGSmRFVXNSVUZCUlN4VFFVRlRSU3hMUVVGTFF5eFJRVUZSYlVVc1ZVRkJWWEJGTEV0QlFVdDVTU3hsUVVGbGVra3NTMEZCUzBNc1VVRkJVVzFGTEhGQ1FVRnhRbmhGTEVWQlFVVkpMRXRCUVV0RExGRkJRVkZ0UlN4VlFVRlZMRlZCUVZWNFJTeEZRVUZGSzBZc1MwRkJTek5HTEV0QlFVdERMRkZCUVZGdFJTeFhRVUZYZUVVc1JVRkJSVWtzUzBGQlMwTXNVVUZCVVcxRkxGZEJRVmR3UlN4TFFVRkxNa2tzVVVGQlVTeFZRVUZWTjBrc1IwRkJSMEVzWVVGQllVWXNSMEZCUjBVc1JVRkJSV2xKTEZOQlFWTnFTU3hGUVVGRk1FSXNTMEZCU3l4eFFrRkJjVUl4UWl4RlFVRkZkMFFzVTBGQlV5eHJRa0ZCYTBJNVFpeExRVUZMTEd0Q1FVRnBRaXhIUVVGSmQwY3NSMEZCUnl4MVFrRkJkVUlzVTBGQlUyeEpMRWRCUVVjc1NVRkJTVU1zUlVGQlJUQklMRVZCUVVWakxFVkJRVVZVTEVWQlFVVnBRaXhGUVVGRlF5eEZRVUZGTEVkQlFVZHNTaXhGUVVGRmJVb3NVVUZCVVhKS0xFVkJRVVZGTEVWQlFVVnZReXhSUVVGUlowZ3NVMEZCVXl4blFrRkJaMEowU2l4RlFVRkZSU3hGUVVGRmIwTXNVVUZCVVdsSUxGRkJRVkVzWjBKQlFXZENjRUlzVDBGQlR5eGpRVUZqYWtrc1JVRkJSVFpHTEU5QlFVOHZSaXhGUVVGRlJTeEZRVUZGYjBNc1VVRkJVV2RJTEZOQlFWTXNjVUpCUVhGQ2RFb3NSVUZCUlVVc1JVRkJSVzlETEZGQlFWRnBTQ3hSUVVGUkxIRkNRVUZ4UW5CQ0xGTkJRVk12U0N4TFFVRkxiMG9zVFVGQlRTeERRVUZEUXl4aFFVRlpMRXRCUVUwMVFpeEZRVUZGTEdOQlFXTXpTQ3hGUVVGRk5rWXNUVUZCVFRkR0xFVkJRVVYzU2l4VFFVRlRlRW9zUlVGQlJYZEtMRkZCUVZFc1NVRkJTWFpLTEVWQlFVVkVMRVZCUVVWM1NpeFJRVUZSTEVkQlFVZERMRTFCUVUxNlNpeEZRVUZGZDBvc1VVRkJVU3hIUVVGSFJTeFJRVUZSZWtvc1JVRkJSVVFzUlVGQlJYbEtMRTFCUVUxNlNpeEZRVUZGTUVvc1QwRkJUM2hLTEV0QlFVdDVTaXhsUVVGbE1Vb3NSVUZCUlVNc1MwRkJTekJLTEdWQlFXVnFReXhGUVVGRmVrZ3NTMEZCUzBNc1VVRkJVVzlGTEZkQlFWZHlSU3hMUVVGTEswY3NWMEZCVjA4c1UwRkJVM1JJTEV0QlFVc3lTU3hSUVVGUlF5eEpRVUZKTEZWQlFWVXNTMEZCU3k5SkxFVkJRVVU0U2l4dlFrRkJiMEk1U2l4RlFVRkZPRW9zYlVKQlFXMUNMRVZCUVVVelNpeExRVUZMTWtrc1VVRkJVVU1zU1VGQlNTeFRRVUZUTDBrc1JVRkJSVGhLTEc5Q1FVRnZRbkJDTEVWQlFVVjJTU3hMUVVGTE1ra3NVVUZCVVU0c1kwRkJZMUFzUlVGQlJUbElMRXRCUVVzeVNTeFJRVUZSUlN4aFFVRmhSU3hGUVVGRkwwa3NTMEZCU3pKSkxGRkJRVkZ3Unl4VFFVRlRLMFFzU1VGQlNXbERMRVZCUVVWa0xFVkJRVVYxUWl4RlFVRkZhRW9zUzBGQlN6SkpMRkZCUVZGd1J5eFRRVUZUYTBVc1MwRkJTM0ZDTEVWQlFVVXZTQ3hGUVVGRlNDeEZRVUZGYlVjc1ZVRkJWV2xETEVkQlFVY3NORUpCUVRSQ2FFa3NTMEZCUzBVc1IwRkJSeXcyUWtGQk5rSkdMRXRCUVV0RkxFZEJRVWNzVTBGQlUwb3NSMEZCUnl4SlFVRkpReXhGUVVGRlJDeEZRVUZGTEdGQlFXRkJMRVZCUVVVMlJpeE5RVUZOTjBZc1JVRkJSWGRLTEZOQlFWTjRTaXhGUVVGRmQwb3NVVUZCVVN4SlFVRkpka29zUlVGQlJVUXNSVUZCUlhkS0xGRkJRVkVzUjBGQlIwTXNUVUZCVFhwS0xFVkJRVVYzU2l4UlFVRlJMRWRCUVVkRkxGRkJRVkY2U2l4RlFVRkZSQ3hGUVVGRmVVb3NUVUZCVFhwS0xFVkJRVVV3U2l4UFFVRlBlRW9zUzBGQlN6UktMRlZCUVZVMVNpeExRVUZMZVVvc1owSkJRV2RDTVVvc1IwRkJSME1zUzBGQlN6QktMR2RDUVVGblFqVktMRWxCUVVsRkxFdEJRVXR0Unl4WFFVRlhMR1ZCUVdWdVJ5eExRVUZMTkVvc1ZVRkJVeXhIUVVGSk5Vb3NTMEZCU3pKSkxGRkJRVkZ3Unl4UFFVRlBMRU5CUVVNclJDeEpRVUZKZUVjc1JVRkJSV2xLTEVWQlFVVlNMRVZCUVVVNVFpeExRVUZMTVVjc1JVRkJSV2xLTEVWQlFVVnNRaXhMUVVGTE1VSXNTMEZCUzNCSExFOUJRVTlHTEVWQlFVVnBRaXh0UWtGQmJVSnhSaXhMUVVGTGNFY3NUMEZCVDJkSkxFZEJRVWNzYlVKQlFXMUNMRmRCUVZjc1NVRkJTV3hKTEVWQlFVVkdMRVZCUVVWdFJ5eFZRVUZWT0VRc1NVRkJTU3cwUWtGQk5FSTNTaXhMUVVGTFJTeEhRVUZITERaQ1FVRTJRa1lzUzBGQlMwVXNTVUZCU1VZc1MwRkJTelJLTEZWQlFWVTFTaXhMUVVGTGJVY3NWMEZCVnl4aFFVRmhia2NzUzBGQlN6UktMRlZCUVZNc1JVRkJSeXhUUVVGVE5Vb3NTMEZCU3pKR0xFMUJRVTBzVjBGQlZ6TkdMRXRCUVVzeVJpeFBRVUZQTTBZc1MwRkJTME1zVVVGQlVTdERMR1ZCUVdWc1JDeEZRVUZGTEVOQlFVTnpReXhIUVVGSGRFTXNSVUZCUlVZc1JVRkJSU3hKUVVGSlNTeExRVUZMUlN4SlFVRkpjVU1zVlVGQlZXdEZMRXRCUVVzM1J5eEZRVUZGYlVjc1ZVRkJWU3RFTEdGQlFXRjZTQ3hGUVVGRmRrTXNSVUZCUlhkSExFbEJRVWt4Unl4RlFVRkZiVWNzVlVGQlZYRkRMR0ZCUVdGd1NTeExRVUZMYlVNc1UwRkJVeXhEUVVGRFFTeFRRVUZUY2tNc1JVRkJSWGxETEU5QlFVOHNRMEZCUTBnc1JVRkJSU3hGUVVGRlF5eEZRVUZGTEU5QlFVOHJSQ3hMUVVGTGNFY3NUMEZCVDBFc1MwRkJTeXRITEZsQlFWbHNTQ3hGUVVGRk9Fb3NhMEpCUVd0Q09Vb3NSVUZCUlRoS0xHdENRVUZyUWk5RExFdEJRVXRETEVsQlFVbG9TQ3hGUVVGRk9Fb3NhMEpCUVd0Q00wb3NTMEZCUzBNc1VVRkJVWGRFTEZGQlFWRjZSQ3hMUVVGTFF5eFJRVUZSZDBRc1VVRkJVWHBFTEU5QlFVOUJMRXRCUVVzclNpeFJRVUZSTEZkQlFWY3NTVUZCU1dwTExFVkJRVVZGTEV0QlFVc3lTU3hWUVVGVk0wa3NTMEZCU3pKSkxGRkJRVkV2U1N4RlFVRkZMRk5CUVZNc1EwRkJRMDBzUjBGQlIwWXNTMEZCUzBVc1IwRkJSemhLTEUxQlFVMHNaMEpCUVdkQ2FFc3NTMEZCU3pKR0xFdEJRVXNzVTBGQlV6TkdMRXRCUVVzeVJpeExRVUZMTEV0QlFVc3pSaXhMUVVGTFF5eFJRVUZSYjBRc1RVRkJUU3hUUVVGVGNrUXNTMEZCUzBNc1VVRkJVVzlFTEUxQlFVMHNTMEZCUzNKRUxFdEJRVXRETEZGQlFWRnhSQ3hUUVVGVExFbEJRVWwwUkN4TFFVRkxReXhSUVVGUmNVUXNVMEZCVXl4TlFVRk5jMFlzU1VGQlNTeERRVUZEZWtjc1UwRkJVMjVETEV0QlFVdERMRkZCUVZGM1F5eE5RVUZOTEZGQlFWRXNWMEZCVjNkSUxGRkJRVkVzVDBGQlQwTXNVVUZCVVN4RlFVRkZla2NzVDBGQlQzcEVMRXRCUVV0RExGRkJRVkYzUkN4VFFVRlRha01zUzBGQlN5eFBRVUZQZUVJc1RVRkJUVUVzUzBGQlMwTXNVVUZCVVRaRUxHMUNRVUZ0UWpsRUxFdEJRVXN5U1N4UlFVRlJXQ3hIUVVGSExHRkJRV0VzVTBGQlUyeEpMRWxCUVVsRkxFdEJRVXR0U3l4UlFVRlJja3NzUlVGQlJYTkxMR1ZCUVdWd1N5eExRVUZMYlVzc1QwRkJUeXhMUVVGTExFbEJRVWwyU3l4RlFVRkZlVXNzVVVGQlVYSkxMRXRCUVV0dFN5eFBRVUZQTEVkQlFVZDJTeXhGUVVGRlJTeEZRVUZGYzBzc1pVRkJaV3BDTEZGQlFWRXNUMEZCVDI1S0xFdEJRVXR2U2l4VFFVRlRhRVFzUzBGQlMzQkhMRTlCUVU4c1QwRkJUMEVzUzBGQlMwTXNVVUZCVVRSRUxHTkJRV00zUkN4TFFVRkxNa2tzVVVGQlVWZ3NSMEZCUnl4WlFVRlpMRmRCUVZkb1NTeExRVUZMYjBvc1RVRkJUU3hEUVVGRFF5eGhRVUZaTEV0QlFVMXFSQ3hMUVVGTGNFY3NUMEZCVDBFc1MwRkJTM05MTEZWQlFWVXhTeXhGUVVGRkxHbERRVUZwUTI5RkxGTkJRVk5vUlN4TFFVRkxNa2tzVTBGQlV6TkpMRXRCUVV0blFpeFJRVUZSY0VJc1JVRkJSU3dyUWtGQkswSnZSU3hUUVVGVGFFVXNTMEZCUzNOTExGZEJRVmQwU3l4TFFVRkxReXhSUVVGUmJVSXNVMEZCVTNCQ0xFdEJRVXR2UWl4UFFVRlBlRUlzUlVGQlJTdzRRa0ZCT0VJeVN5eFBRVUZQZGtzc1MwRkJTME1zVVVGQlVXMUNMRkZCUVZFMFF5eFRRVUZUYUVVc1MwRkJTM05MTEZsQlFWbDBTeXhMUVVGTFF5eFJRVUZSYjBJc1pVRkJaWEpDTEV0QlFVczJTQ3hsUVVGbE4wZ3NTMEZCUzJkQ0xGTkJRVk5vUWl4TFFVRkxReXhSUVVGUk9FUXNaVUZCWldwRkxFVkJRVVZGTEV0QlFVdDNTQ3hYUVVGWExFMUJRVTBzUTBGQlF5eERRVUZETEZWQlFWVXNaMEpCUVdkQ1owUXNXVUZCV1hoTExFdEJRVXQzU0N4WFFVRlhMRTlCUVU4c1EwRkJReXhEUVVGRExFbEJRVWtzYjFGQlFXOVJlRWdzUzBGQlN5dEVMRmxCUVZsdVJTeEZRVUZGTEN0RFFVRXJRMjlKTEVkQlFVY3NXVUZCV1N4VFFVRlRiRWtzUjBGQlIwVXNTMEZCUzI5S0xFMUJRVTBzUTBGQlEwTXNZVUZCV1N4TFFVRk5ha1FzUzBGQlMzQkhMRTlCUVU5MVN5eFBRVUZQZWtzc1IwRkJSeXhQUVVGUFJTeExRVUZMUXl4UlFVRlJPRVFzWlVGQll5eEpRVUZMTDBRc1MwRkJTME1zVVVGQlVUaEVMR0ZCUVdFdlJDeExRVUZMUXl4UlFVRlJjMFFzVTBGQlUzWkVMRXRCUVV0RExGRkJRVkZwUWl4UFFVRlBiRUlzUzBGQlMwTXNVVUZCVVd0Q0xGbEJRVmx1UWl4TFFVRkxNa2tzVVVGQlVYSkdMRk5CUVZNc2QwSkJRWGRDZEVRc1MwRkJTeXRFTEZsQlFWbERMRk5CUVZOb1JTeExRVUZMYzBzc1lVRkJZWFJMTEV0QlFVc3lTU3hSUVVGUk0wVXNVMEZCVTJoRkxFdEJRVXRETEZGQlFWRXJSQ3hWUVVGVmFFVXNTMEZCU3pKSkxGRkJRVkU0UWl4TFFVRkxMSEZDUVVGeFFqRkRMRkZCUVZGdVNTeEZRVUZGSzBnc1MwRkJTeXhEUVVGRExFMUJRVTBzVVVGQlVTeFRRVUZUTEZGQlFWRXNVMEZCVXpkSUxFVkJRVVZETEVkQlFVZERMRXRCUVVzeVNTeFJRVUZST0VJc1MwRkJTeXh4UWtGQmNVSTNRaXhKUVVGSk4wa3NTVUZCU1N4UlFVRlJReXhMUVVGTE1ra3NVVUZCVVRoQ0xFdEJRVXNzY1VKQlFYRkNOMElzU1VGQlNUZEpMRXRCUVV0RExFdEJRVXRETEZGQlFWRXlReXhsUVVGbE4wTXNSMEZCUnpaSExFdEJRVXRETEVsQlFVazNSeXhMUVVGTFF5eFJRVUZSTWtNc1pVRkJaVGRETEVkQlFVZERMRXRCUVV0RExGRkJRVkV5UXl4bFFVRmxOME1zU1VGQlNTeEpRVUZKZFVnc1UwRkJVM1JJTEV0QlFVc3lTU3hSUVVGUk9FSXNTMEZCU3l4eFFrRkJjVUkzUWl4SlFVRkpOMGtzUzBGQlN5eEpRVUZKZFVnc1UwRkJVM1JJTEV0QlFVdHpTeXhWUVVGVk1VSXNTVUZCU1N4VlFVRlZOMGtzUlVGQlJTeFpRVUZaTEU5QlFVOXhSeXhMUVVGTGNFY3NUMEZCVDBFc1MwRkJTME1zVVVGQlVXZEVMRlZCUVZWcVJDeExRVUZMYVVRc1VVRkJVU3hEUVVGRFpDeFRRVUZUTEZWQlFWVnVReXhMUVVGTFF5eFJRVUZSYVVRc1VVRkJVV3hFTEV0QlFVdERMRkZCUVZGcFJDeFJRVUZSYkVRc1MwRkJTMmRJTEZGQlFWRm9TQ3hMUVVGTGMwTXNVMEZCVTI5SkxFZEJRVWNzVlVGQlZURkxMRXRCUVV0RExGRkJRVkZwUkN4UlFVRlJiRVFzUzBGQlMybElMRTlCUVU5cVNDeExRVUZMUXl4UlFVRlJhVVFzVTBGQlUyeEVMRXRCUVV0cFNDeFBRVUZQYWtnc1MwRkJTM05ETEZOQlFWTnZSU3hOUVVGTkxGTkJRVk51UlN4UFFVRlBMRWRCUVVkMlF5eExRVUZMYVVRc1VVRkJVVEJJTEZGQlFWRXZTeXhGUVVGRkxIbERRVUY1UTBrc1MwRkJTMmxFTEZGQlFWRmtMRk5CUVZNc1QwRkJUelpDTEZOQlFWTm9SU3hMUVVGTE1ra3NVMEZCVXpOSkxFdEJRVXRwUkN4UlFVRlJNa2dzVjBGQlZ5eERRVUZEZUVrc1JVRkJSWEJETEV0QlFVdHBSQ3hSUVVGUk1FZ3NVVUZCVVRsQ0xHRkJRV0Y0Unl4RlFVRkZja01zUzBGQlMybEVMRkZCUVZFd1NDeFJRVUZSZEVNc1pVRkJaU3hWUVVGVmVra3NSVUZCUlN0R0xFdEJRVXN6Uml4TFFVRkxReXhSUVVGUlowUXNXVUZCV1c1RUxFVkJRVVZGTEV0QlFVdERMRkZCUVZGblJDeFJRVUZSTkVNc1RVRkJUU3hOUVVGTkxFdEJRVXMzUml4TFFVRkxhVVFzVVVGQlVYbEVMRTFCUVUwMVJ5eEZRVUZGTEVsQlFVbEJMRVZCUVVVc1MwRkJTMFVzUzBGQlMybEVMRkZCUVZGV0xFOUJRVThyUlN4VFFVRlRlRWdzUlVGQlJTeE5RVUZOUlN4TFFVRkxhVVFzVVVGQlVUUklMR1ZCUVdVc1MwRkJTemRMTEV0QlFVdHBSQ3hSUVVGUmVVZ3NSMEZCUnl4VlFVRlZNVXNzUzBGQlMybEVMRkZCUVZGNVJDeE5RVUZOTEZOQlFWTXNUVUZCVFN4VFFVRlRNVWNzUzBGQlMybEVMRkZCUVZGNVJDeE5RVUZOTEZGQlFWRXNUMEZCVHpGSExFdEJRVXN5U1N4UlFVRlJReXhKUVVGSkxGZEJRVmMxU1N4TFFVRkxhVVFzVVVGQlVXUXNVMEZCVTI1RExFdEJRVXRwUkN4UlFVRlJNa2dzVjBGQlZ6VkxMRXRCUVV0cFJDeFJRVUZSZVVnc1MwRkJTekZMTEV0QlFVdHBSQ3hSUVVGUk1FZ3NVVUZCVVM5Q0xFbEJRVWsxU1N4TFFVRkxhVVFzVVVGQlVUUklMR1ZCUVdVc1ZVRkJWVGRMTEV0QlFVdHBSQ3hSUVVGUmVVUXNUVUZCVFN4TlFVRk5MRWRCUVVkclF5eEpRVUZKTEZWQlFWVTFTU3hMUVVGTGFVUXNVVUZCVVRSSUxHVkJRV1UzU3l4TFFVRkxhVVFzVVVGQlVWWXNVVUZCVVhaRExFdEJRVXRwUkN4UlFVRlJOa2dzVDBGQlR5eEhRVUZIT1Vzc1MwRkJTMmxFTEZGQlFWRTJTQ3hQUVVGUExGVkJRVlU1U3l4TFFVRkxhVVFzVVVGQlVUUklMR2RDUVVGblFqZExMRXRCUVV0cFJDeFJRVUZSVml4UFFVRlBMRlZCUVZWMlF5eExRVUZMYVVRc1VVRkJVWGxFTEU5QlFVOHhSeXhMUVVGTGFVUXNVVUZCVVRCSUxGRkJRVkV2UWl4SlFVRkpMRmxCUVZrc1kwRkJZeXhMUVVGTE5Va3NTMEZCUzJsRUxGRkJRVkY1U0N4SlFVRkpMRWRCUVVjeFN5eExRVUZMYVVRc1VVRkJVVEpJTEZkQlFWZDRTU3hGUVVGRkxFdEJRVXNzUjBGQlJ5eE5RVUZOTEV0QlFVdHdReXhMUVVGTGFVUXNVVUZCVVhsSUxFbEJRVWtzUjBGQlJ6RkxMRXRCUVV0cFJDeFJRVUZSTWtnc1YwRkJWM1pKTEVWQlFVVXNTMEZCU3l4SFFVRkhMRXRCUVV0eVF5eExRVUZMYVVRc1VVRkJVVEJJTEZGQlFWRXZRaXhKUVVGSkxFdEJRVXMxU1N4TFFVRkxhVVFzVVVGQlVYbElMRWRCUVVjc1VVRkJVU3hUUVVGVGNFUXNVMEZCVTNSSUxFdEJRVXRwUkN4UlFVRlJNa2dzVjBGQlZ6VkxMRXRCUVV0cFJDeFJRVUZSZVVnc1MwRkJTM0JFTEZOQlFWTjBTQ3hMUVVGTGMwc3NWVUZCVlRGQ0xFbEJRVWtzVlVGQlZUVkpMRXRCUVV0cFJDeFJRVUZSTkVnc1pVRkJaU3haUVVGWk4wc3NTMEZCU3pKSkxGRkJRVkZ5Uml4VFFVRlRMSGRDUVVGM1FuUkVMRXRCUVV0cFJDeFJRVUZSWkN4WFFVRlhia01zUzBGQlN6UkNMRmRCUVZjMVFpeExRVUZMUXl4UlFVRlJaU3hUUVVGUkxFZEJRVWxvUWl4TFFVRkxLMHNzVTBGQlV5OUxMRXRCUVV0RExGRkJRVkZwUWl4UFFVRk5MRWRCUVVsc1FpeExRVUZMUXl4UlFVRlJiVVVzVjBGQlYzQkZMRXRCUVVzNFNTeGhRVUZoT1Vrc1MwRkJTMjFITEZkQlFWY3NaVUZCWlc1SExFdEJRVXRETEZGQlFWRm5SU3hqUVVGamFrVXNTMEZCU3l0S0xGVkJRVlV2U2l4TFFVRkxReXhSUVVGUldTeFJRVUZSWWl4TFFVRkxZU3hUUVVGVFlpeExRVUZMWjB3c1kwRkJZeXhYUVVGWGFFd3NTMEZCUzBNc1VVRkJVWE5GTEdOQlFXTXpSU3hGUVVGRkxFbEJRVWxKTEV0QlFVdEZMRWxCUVVrNFNDeEhRVUZITEdGQlFXRXNVMEZCVTJ4SkxFZEJRVWRGTEV0QlFVdHBUQ3hYUVVGVkxFZEJRVWszUlN4TFFVRkxjRWNzVDBGQlQwRXNTMEZCUzBNc1VVRkJVWE5GTEdOQlFXTXpSU3hGUVVGRkxFbEJRVWxKTEV0QlFVdEZMRWxCUVVrNFNDeEhRVUZITEdGQlFXRXNVMEZCVTJ4SkxFZEJRVWRGTEV0QlFVdHBUQ3hYUVVGVkxFZEJRVWszUlN4TFFVRkxjRWNzVVVGQlVVRXNTMEZCUzBNc1VVRkJVWGxETEdkQ1FVRm5RakZETEV0QlFVdERMRkZCUVZFMFF5eGpRVUZqTjBNc1MwRkJTM2xETEU5QlFVOTZReXhMUVVGTGMwTXNWVUZCVlhSRExFdEJRVXRETEZGQlFWRXdReXhsUVVGbEwwTXNSVUZCUlRaR0xGRkJRVkYxUXl4SFFVRkhMR1ZCUVdWb1NTeExRVUZMUlN4SFFVRkhMRk5CUVZOS0xFZEJRVWRGTEV0QlFVdHRReXhaUVVGWmFVVXNTMEZCUzNCSExGRkJRVkZCTEV0QlFVdERMRkZCUVZGNVF5eG5Ra0ZCWjBJeFF5eExRVUZMUXl4UlFVRlJORU1zWVVGQllXcEVMRVZCUVVVMlJpeFJRVUZSZFVNc1IwRkJSeXhsUVVGbGFFa3NTMEZCUzBVc1IwRkJSeXhUUVVGVFNpeEhRVUZIUlN4TFFVRkxiVU1zV1VGQldXbEZMRXRCUVV0d1J5eFJRVUZSTEZOQlFWTkJMRXRCUVV0RExGRkJRVkZwUXl4UlFVRlJkRU1zUlVGQlJTeFJRVUZSYjBrc1IwRkJSeXhyUWtGQmEwSm9TU3hMUVVGTFJTeEhRVUZITEZOQlFWTktMRWRCUVVkRkxFdEJRVXR0UXl4VFFVRlRMRU5CUVVNclNTeFpRVUZaTEVOQlFVTTFSU3hKUVVGSmVFY3NSVUZCUlRCS0xFMUJRVTB2UXl4TFFVRkxNMGNzUlVGQlJYbEtMRlZCUVZWdVJDeExRVUZMY0Vjc1VVRkJVVUVzUzBGQlMyMU1MR05CUVdNc1YwRkJWMjVNTEV0QlFVdERMRkZCUVZFeVJDeFpRVUZaYUVVc1JVRkJSVzFITEZWQlFWVTRSQ3hKUVVGSkxHTkJRV00zU2l4TFFVRkxSU3hMUVVGSkxFbEJRVXRHTEV0QlFVdERMRkZCUVZFMFJDeGpRVUZqTEZGQlFWRTNSQ3hMUVVGTFF5eFJRVUZSTkVRc1kwRkJZMnBGTEVWQlFVVnRSeXhWUVVGVk9FUXNTVUZCU1N4alFVRmpOMG9zUzBGQlMwVXNSMEZCUnl4aFFVRmhSaXhMUVVGTFJTeEpRVUZKUml4TFFVRkxReXhSUVVGUk1FTXNaVUZCWlM5RExFVkJRVVUyUml4UlFVRlJiMFVzU1VGQlNTeGxRVUZsTjBvc1MwRkJTMFVzUzBGQlMwWXNTMEZCUzBNc1VVRkJVWGxETEdkQ1FVRm5RakZETEV0QlFVdERMRkZCUVZFMFF5eGhRVUZoYWtRc1JVRkJSVFpHTEZGQlFWRnZSU3hKUVVGSkxHVkJRV1UzU2l4TFFVRkxSU3hKUVVGSkxGTkJRVk5HTEV0QlFVdERMRkZCUVZGcFF5eFJRVUZSZEVNc1JVRkJSU3hSUVVGUmFVc3NTVUZCU1N4clFrRkJhMEkzU2l4TFFVRkxSU3hMUVVGTFJpeExRVUZMYjB3c1lVRkJZU3hYUVVGWGNFd3NTMEZCUzNWRUxGVkJRVlYyUkN4TFFVRkxkVVFzVVVGQlVUTkVMRVZCUVVVc1dVRkJXVWtzUzBGQlMwVXNSMEZCUnl4bFFVRmxiMFFzVTBGQlV5eG5Ra0ZCWjBKMFJDeExRVUZMTWtZc1MwRkJTeXhwUWtGQmFVSXpSaXhMUVVGTE1rWXNTMEZCU3l4TFFVRkxhVVFzU1VGQlNTeERRVUZEY1VJc1VVRkJVU3hQUVVGUFF5eFJRVUZSTEVWQlFVVjZSeXhQUVVGUGVrUXNTMEZCUzBNc1VVRkJVWGRFTEU5QlFVOHNTVUZCU1U4c1UwRkJVMmhGTEV0QlFVdERMRkZCUVZFclJDeFZRVUZWYUVVc1MwRkJTME1zVVVGQlVYVkVMR05CUVdONFJDeExRVUZMZFVRc1VVRkJVVVFzVTBGQlUzUkVMRXRCUVV0RExGRkJRVkYxUkN4alFVRmpMRmRCUVZkNFJDeExRVUZMUXl4UlFVRlJPRVFzWTBGQllTeEpRVUZMTDBRc1MwRkJTME1zVVVGQlVUaEVMR0ZCUVdFdlJDeExRVUZMZFVRc1VVRkJVV2RJTEU5QlFVOTJTeXhMUVVGTEswUXNZVUZCWVN4WFFVRlhMMFFzUzBGQlMwTXNVVUZCVVRSRUxHTkJRV00zUkN4TFFVRkxkVVFzVVVGQlVYbEZMRWRCUVVjc1dVRkJXU3hYUVVGWGFFa3NTMEZCUzI5S0xFMUJRVTBzUTBGQlEwTXNZVUZCV1N4TFFVRk5ha1FzUzBGQlMzQkhMRTlCUVU5S0xFVkJRVVVzU1VGQlNVa3NTMEZCUzBVc1IwRkJSeXc0UWtGQk9FSTJTQ3hUUVVGVEwwZ3NTMEZCUzBNc1VVRkJVVEpETEdWQlFXVXdSQ3hKUVVGSlRTeExRVUZMUXl4SlFVRkpha2dzUlVGQlJTeEpRVUZKU1N4TFFVRkxSU3hIUVVGSExEaENRVUU0UW0xSkxHTkJRV055U1N4TFFVRkxReXhSUVVGUk1rTXNaVUZCWlRCRUxGRkJRVThzU1VGQlMzUkhMRXRCUVVzNFJ5eHZRa0ZCYjBJNVJ5eExRVUZMZFVRc1VVRkJVWEZHTEVsQlFVa3NVMEZCVTNSQ0xGTkJRVk4wU0N4TFFVRkxNa2tzVVVGQlVVTXNTVUZCU1N4VlFVRlZMRWxCUVVrc1IwRkJSeXhUUVVGVE5Va3NTMEZCUzNWRUxGRkJRVkZ4Uml4SlFVRkpMR0ZCUVdFMVNTeExRVUZMUXl4UlFVRlJhMFFzUzBGQlMyNUVMRXRCUVV0MVJDeFJRVUZST0Vnc1VVRkJVWEpNTEV0QlFVdDFSQ3hSUVVGUkswZ3NVVUZCVVN4RFFVRkRjRUlzVVVGQlVTeEhRVUZITEVOQlFVTnhRaXhQUVVGTkxFVkJRVWRETEZOQlFWTjRUQ3hMUVVGTFF5eFJRVUZSYTBRc1MwRkJTM05KTEUxQlFVMHNWMEZCVjNwTUxFdEJRVXQxUkN4UlFVRlJjVVlzU1VGQlNTeERRVUZEY1VJc1VVRkJVU3hYUVVGWE4wUXNTMEZCUzNCSExGRkJRVkZCTEV0QlFVdDFSQ3hSUVVGUmNVWXNTVUZCU1N4RFFVRkRjVUlzVVVGQlVTeFJRVUZSUXl4UlFVRlJMRTFCUVUxc1N5eExRVUZMTUV3c1lVRkJZU3hYUVVGWE1Vd3NTMEZCUzNWRUxGVkJRVlYyUkN4TFFVRkxReXhSUVVGUmEwUXNTMEZCUzI1RUxFdEJRVXQxUkN4UlFVRlJPRWdzVVVGQlVYSk1MRXRCUVV0MVJDeFJRVUZSSzBnc1VVRkJVU3hEUVVGRGNFSXNVVUZCVVN4SFFVRkhMRU5CUVVOeFFpeFBRVUZOTEVWQlFVZERMRk5CUVZONFRDeExRVUZMUXl4UlFVRlJhMFFzUzBGQlMzZEpMRk5CUVZNc1YwRkJWek5NTEV0QlFVdDFSQ3hSUVVGUmNVWXNTVUZCU1N4RFFVRkRjVUlzVVVGQlVTeFZRVUZWTjBRc1MwRkJTM0JITEZGQlFWRkJMRXRCUVV0MVJDeFJRVUZSY1VZc1NVRkJTU3hEUVVGRGNVSXNVVUZCVVN4UFFVRlBReXhSUVVGUkxFMUJRVTFzU3l4TFFVRkxORXdzYTBKQlFXdENMRmRCUVZjMVRDeExRVUZMTWtrc1VVRkJVVU1zU1VGQlNTeERRVUZEZEVNc1MwRkJTeXhKUVVGSlJ5eE5RVUZOTEVsQlFVbEdMRTFCUVUwc1QwRkJUME1zVDBGQlR5eFRRVUZUTEVsQlFVa3hSeXhGUVVGRkxFTkJRVU56UXl4RlFVRkZjRU1zUzBGQlN6SkpMRkZCUVZGRkxHRkJRV0Y0Unl4RlFVRkZja01zUzBGQlN6SkpMRkZCUVZGT0xHVkJRV1VzVDBGQlQzSkpMRXRCUVVzeVNTeFJRVUZSUXl4SlFVRkpMRU5CUVVOMFF5eEpRVUZKTEU5QlFVOUhMRXRCUVVzc1UwRkJVek5ITEVkQlFVZEZMRXRCUVVzMlRDeHpRa0ZCYzBJc1YwRkJWeXhIUVVGSExGVkJRVlZxVFN4RlFVRkZLMFlzUzBGQlN6TkdMRXRCUVV0RExGRkJRVkZ0UkN4aFFVRmhjRVFzUzBGQlMwTXNVVUZCVVcxRUxGVkJRVlVzUTBGQlF6QkpMRTFCUVUwc1EwRkJRME1zUzBGQlN5eFJRVUZSTTBNc1RVRkJUU3hYUVVGWE5FTXNUMEZCVHl4RFFVRkRSQ3hMUVVGTExGTkJRVk16UXl4TlFVRk5MRlZCUVZVMlF5eFJRVUZSTEVOQlFVTkdMRXRCUVVzc1ZVRkJWVE5ETEUxQlFVMHNWMEZCVnpoRExFdEJRVXNzUTBGQlEwZ3NTMEZCU3l4UFFVRlBNME1zVFVGQlRTeFJRVUZSSzBNc1RVRkJUU3hEUVVGRFNpeExRVUZMTEZGQlFWRXpReXhOUVVGTkxGTkJRVk5uUkN4TFFVRkxMRU5CUVVOTUxFdEJRVXNzVDBGQlR6TkRMRTFCUVUwc1VVRkJVV2xFTEV0QlFVc3NRMEZCUTA0c1MwRkJTeXhQUVVGUE0wTXNUVUZCVFN4WlFVRlpjRW9zUzBGQlMwTXNVVUZCVVcxRUxHRkJRV0Z3UkN4TFFVRkxReXhSUVVGUmJVUXNWVUZCVlN4UFFVRlBMRXRCUVV0d1JDeExRVUZMUXl4UlFVRlJiVVFzVlVGQlZUSkpMRTlCUVU4dlRDeExRVUZMUXl4UlFVRlJiVVFzVlVGQlZUSkpMRXRCUVVzdlRDeExRVUZMUXl4UlFVRlJiVVFzVlVGQlZUSkpMRXRCUVV0c1J5eE5RVUZOTEUxQlFVMDNSaXhMUVVGTFF5eFJRVUZSYlVRc1ZVRkJWV2RITEZGQlFWRndTaXhMUVVGTFF5eFJRVUZSYlVRc1ZVRkJWV2RITEUxQlFVMXdTaXhMUVVGTFF5eFJRVUZSYlVRc1ZVRkJWV2RITEUxQlFVMTJSQ3hOUVVGTkxFMUJRVTAzUml4TFFVRkxReXhSUVVGUmJVUXNWVUZCVld0S0xHTkJRV04wVFN4TFFVRkxReXhSUVVGUmJVUXNWVUZCVlRKSkxFdEJRVXNzU1VGQlNTeExRVUZMTDB3c1MwRkJTME1zVVVGQlVXMUVMRlZCUVZWdFNpeGxRVUZsZGswc1MwRkJTME1zVVVGQlVXMUVMRlZCUVZWblJ5eE5RVUZOTEVsQlFVa3NTMEZCUzNCS0xFdEJRVXRETEZGQlFWRnRSQ3hWUVVGVk1ra3NUMEZCVHk5TUxFdEJRVXRETEZGQlFWRnRSQ3hWUVVGVk1ra3NTMEZCU3k5TUxFdEJRVXRETEZGQlFWRnRSQ3hWUVVGVk1ra3NTMEZCU3l4SlFVRkpMMHdzUzBGQlMwTXNVVUZCVVcxRUxGVkJRVlZuUnl4UlFVRlJjRW9zUzBGQlMwTXNVVUZCVVcxRUxGVkJRVlZuUnl4TlFVRk5jRW9zUzBGQlMwTXNVVUZCVVcxRUxGVkJRVlZuUnl4TlFVRk5MRWxCUVVsd1NpeExRVUZMUXl4UlFVRlJiVVFzVlVGQlZUSkpMRTlCUVU4dlRDeExRVUZMUXl4UlFVRlJiVVFzVlVGQlZUSkpMRTFCUVUwc1VVRkJVUzlNTEV0QlFVdERMRkZCUVZGdFJDeFZRVUZWWjBjc1VVRkJVWEJLTEV0QlFVdERMRkZCUVZGdFJDeFZRVUZWWjBjc1QwRkJUeXhUUVVGVExFbEJRVWxLTEVWQlFVVXNRMEZCUXpoRExFMUJRVTBzUTBGQlEwNHNVMEZCVXl4SlFVRkpOVU1zU1VGQlNTeERRVUZETEVOQlFVTXNTMEZCU3l4WlFVRlpMRU5CUVVNc1RVRkJUU3hqUVVGakxFTkJRVU1zVDBGQlR5eGpRVUZqTkVRc1YwRkJWeXhEUVVGRGFFSXNVMEZCVTNoTUxFdEJRVXRETEZGQlFWRnJSQ3hOUVVGTkxFbEJRVWw1Uml4SlFVRkpMRU5CUVVNc1EwRkJReXhMUVVGTExHTkJRV01zUTBGQlF5eFBRVUZQTEdOQlFXTTJSQ3haUVVGWkxFTkJRVU5xUWl4VFFVRlRlRXdzUzBGQlMwTXNVVUZCVVd0RUxFMUJRVTBzU1VGQlNYbEdMRWxCUVVrc1EwRkJReXhEUVVGRExFdEJRVXNzV1VGQldTeERRVUZETEU5QlFVOHNaMEpCUVdkQ09FUXNXVUZCV1N4RFFVRkRiRUlzVTBGQlUzaE1MRXRCUVV0RExGRkJRVkZyUkN4TlFVRk5MRWxCUVVsNVJpeEpRVUZKTEVOQlFVTXNRMEZCUXl4TFFVRkxMR05CUVdNc1EwRkJReXhQUVVGUExHTkJRV01yUkN4aFFVRmhMRU5CUVVOdVFpeFRRVUZUZUV3c1MwRkJTME1zVVVGQlVXdEVMRTFCUVUwc1NVRkJTWGxHTEVsQlFVa3NRMEZCUXl4RFFVRkRMRXRCUVVzc1dVRkJXU3hEUVVGRExFOUJRVThzWjBKQlFXZENaMFVzVTBGQlV5eERRVUZEY0VJc1UwRkJVM2hNTEV0QlFVdERMRkZCUVZGclJDeE5RVUZOTEVsQlFVa3dTaXhWUVVGVkxFTkJRVU4yUnl4SlFVRkpMRU5CUVVOM1J5eE5RVUZOTEVsQlFVbDJSeXhOUVVGTkxFTkJRVU4xUnl4TFFVRkxMRWxCUVVsMFJ5eFBRVUZQTEVOQlFVTnpSeXhMUVVGTExFbEJRVWx5Unl4TFFVRkxMRU5CUVVOeFJ5eE5RVUZOTEV0QlFVdHNSU3hKUVVGSkxFTkJRVU1zUTBGQlF5eExRVUZMTEhOQ1FVRnpRaXhEUVVGRExFOUJRVThzZFVKQlFYVkNiVVVzVlVGQlZTeERRVUZEZGtJc1UwRkJVM2hNTEV0QlFVdERMRkZCUVZGclJDeE5RVUZOTEVsQlFVazJTaXhQUVVGUExGVkJRVlZJTEZWQlFWVXNRMEZCUTNaSExFbEJRVWtzUTBGQlF6SkhMRkZCUVZFc1NVRkJTVEZITEUxQlFVMHNRMEZCUXpCSExFOUJRVThzU1VGQlNYcEhMRTlCUVU4c1EwRkJRM2xITEU5QlFVOHNTVUZCU1hoSExFdEJRVXNzUTBGQlEzZEhMRkZCUVZFc1MwRkJTM0pGTEVsQlFVa3NRMEZCUXl4RFFVRkRMRXRCUVVzc2NVSkJRWEZDTEVOQlFVTXNUMEZCVHl4M1FrRkJkMEp6UlN4VlFVRlZMRU5CUVVNeFFpeFRRVUZUTEVsQlFVbHhRaXhWUVVGVkxFTkJRVU4yUnl4SlFVRkpMRU5CUVVOM1J5eE5RVUZOTEV0QlFVdDJSeXhOUVVGTkxFTkJRVU4xUnl4TFFVRkxMRXRCUVV0MFJ5eFBRVUZQTEVOQlFVTnpSeXhMUVVGTExFdEJRVXR5Unl4TFFVRkxMRU5CUVVOeFJ5eE5RVUZOTEUxQlFVMXNSU3hKUVVGSkxFTkJRVU1zUTBGQlF5eExRVUZMTEhOQ1FVRnpRaXhEUVVGRExFOUJRVThzZFVKQlFYVkNkVVVzVjBGQlZ5eERRVUZETTBJc1UwRkJVeXhKUVVGSmQwSXNUMEZCVHl4VlFVRlZTQ3hWUVVGVkxFTkJRVU4yUnl4SlFVRkpMRU5CUVVNeVJ5eFJRVUZSTEV0QlFVc3hSeXhOUVVGTkxFTkJRVU13Unl4UFFVRlBMRXRCUVV0NlJ5eFBRVUZQTEVOQlFVTjVSeXhQUVVGUExFdEJRVXQ0Unl4TFFVRkxMRU5CUVVOM1J5eFJRVUZSTEUxQlFVMXlSU3hKUVVGSkxFTkJRVU1zUTBGQlF5eExRVUZMTEhGQ1FVRnhRaXhEUVVGRExFOUJRVThzZDBKQlFYZENkMFVzVTBGQlV5eERRVUZETlVJc1UwRkJVeXhKUVVGSk5VTXNTVUZCU1N4RFFVRkRMRU5CUVVNc1MwRkJTeXh4UTBGQmNVTXNRMEZCUXl4TlFVRk5MSE5EUVVGelF5eERRVUZETEUxQlFVMHNjVU5CUVhGRExFTkJRVU1zVDBGQlR5eHpRMEZCYzBONVJTeFZRVUZWTEVOQlFVTTNRaXhUUVVGVGVFd3NTMEZCUzBNc1VVRkJVV3RFTEUxQlFVMHNTVUZCU1hsR0xFbEJRVWtzUTBGQlF5eERRVUZETEV0QlFVc3NiME5CUVc5RExFTkJRVU1zVDBGQlR5eDFRMEZCZFVONVJDeExRVUZMTEVOQlFVTmlMRk5CUVZNc1NVRkJTVFZETEVsQlFVa3NRMEZCUXl4RFFVRkRMRXRCUVVzc1dVRkJXU3hEUVVGRExGZEJRVmNzTkVKQlFUUkNMRU5CUVVNc2NVSkJRWEZDTERKQ1FVRXlRaXhEUVVGRExHZENRVUZuUWl3MFFrRkJORUlzUTBGQlF5eFBRVUZQTEhsQ1FVRjVRbWhLTEVWQlFVVXJTQ3hMUVVGTExFTkJRVU1zVVVGQlVTeFJRVUZSTEZOQlFWTTNTQ3hGUVVGRlF5eEhRVUZIYVVvc1JVRkJSV3BLTEVWQlFVVXNVVUZCVVdsS0xFVkJRVVZxU2l4RlFVRkZMRk5CUVZOcFNpeEZRVUZGYWtvc1MwRkJTeXhKUVVGSmQwa3NSVUZCUlN4VFFVRlRRU3hGUVVGRlZDeEhRVUZITEVsQlFVbHBRaXhGUVVGRkxHMUNRVUZ0UWk5SkxFdEJRVXRGTEVkQlFVY3NZMEZCWTBZc1MwRkJTME1zVVVGQlVXMUVMRlZCUVZWdFJpeEhRVUZITEVsQlFVbEJMRWRCUVVkVUxFVkJRVVVzU1VGQlNVRXNSVUZCUlN4SlFVRkpMRXRCUVVzc1QwRkJUMnhKTEVWQlFVVXJTQ3hMUVVGTGNVSXNSVUZCUldoS0xFdEJRVXRETEZGQlFWRnRSQ3hWUVVGVmJVWXNTVUZCU1Vzc1NVRkJTU3hUUVVGVE9Va3NSVUZCUlVNc1IwRkJSeXhKUVVGSk1FZ3NSVUZCUlVzc1JVRkJSUzlJTEVWQlFVVXNSMEZCUjNkSUxGRkJRVkVzVFVGQlRYWklMRXRCUVV0cFNDeFBRVUZQWVN4SFFVRkhkMFlzWlVGQlpYWk9MRVZCUVVVc1IwRkJSMmxLTEVWQlFVVm9TaXhMUVVGTFF5eFJRVUZSYlVRc1ZVRkJWVzFHTEVsQlFVbHpSU3haUVVGWmNFWXNSVUZCUlVFc1JVRkJSVVlzVVVGQlVTeExRVUZMZVVJc1JVRkJSV2hLTEV0QlFVdERMRkZCUVZGdFJDeFZRVUZWYlVZc1NVRkJTWE5GTEZWQlFWVXZSU3hIUVVGSEwwZ3NSVUZCUlN4TlFVRk5aMG9zUjBGQlIyaEtMRVZCUVVVc1IwRkJSeXhsUVVGbE1FZ3NSVUZCUlN4TlFVRk5ja0lzUzBGQlMzQkhMRTlCUVU4clNTeEhRVUZITEVsQlFVbEJMRWRCUVVjc1UwRkJVeTlKTEV0QlFVdEZMRWRCUVVjc1kwRkJZMFlzUzBGQlMwTXNVVUZCVVcxRUxGVkJRVlZ0Uml4SFFVRkhMRWxCUVVsQkxFZEJRVWRVTEVWQlFVVXNTVUZCU1VFc1JVRkJSU3hKUVVGSkxFdEJRVXRwUWl4SFFVRkhMSFZDUVVGMVFrTXNSVUZCUldoS0xFdEJRVXRETEZGQlFWRnRSQ3hWUVVGVmJVWXNTVUZCU1dsRUxGTkJRVk1zVFVGQlRYcERMRWRCUVVjc2QwSkJRWGRDTDBrc1MwRkJTMFVzUjBGQlJ5eGpRVUZqUml4TFFVRkxReXhSUVVGUmJVUXNWVUZCVlcxR0xFZEJRVWNzU1VGQlNVRXNSMEZCUjFRc1JVRkJSU3hKUVVGSlFTeEZRVUZGTEVsQlFVa3NTVUZCU1dsQ0xFZEJRVWRETEVWQlFVVm9TaXhMUVVGTFF5eFJRVUZSYlVRc1ZVRkJWVzFHTEVsQlFVbDVSU3hQUVVGUExEaENRVUU0UW1oRkxFVkJRVVZvU2l4TFFVRkxReXhSUVVGUmJVUXNWVUZCVlcxR0xFbEJRVWw1UlN4UFFVRlBMRWxCUVVrc1IwRkJSMnBGTEVkQlFVY3NTMEZCU3pORExFdEJRVXR3Unl4TlFVRk5RU3hMUVVGTGRVNHNZMEZCWXl4SFFVRkhNMDRzUlVGQlJTdElMRXRCUVVzc1EwRkJReXhQUVVGUExGTkJRVk1zVTBGQlV6ZElMRVZCUVVVeVNDeEhRVUZITEVsQlFVbDZTQ3hMUVVGTFF5eFJRVUZSYlVRc1ZVRkJWWEZGTEV0QlFVdDFRaXhGUVVGRmFFb3NTMEZCUzBNc1VVRkJVVzFFTEZWQlFWVnhSU3hMUVVGTExGTkJRVk5CTEVsQlFVbDZTQ3hMUVVGTFF5eFJRVUZSYTBRc1MwRkJTeXhOUVVGTkxFZEJRVWMyUml4RlFVRkZhRW9zUzBGQlMwTXNVVUZCVVcxRUxGVkJRVlZ4UlN4SlFVRkpiMFlzVlVGQlZXcE9MRVZCUVVVclNDeExRVUZMTEVOQlFVTXNUVUZCVFN4UlFVRlJMRk5CUVZNc1VVRkJVU3hUUVVGVE4wZ3NSVUZCUlVNc1IwRkJSME1zUzBGQlMzVk9MR1ZCUVdWb1JpeEZRVUZGWkN4RlFVRkZNVWdzU1VGQlNYRkhMRXRCUVV0d1J5eFBRVUZQUVN4TFFVRkxkVTRzWlVGQlpXaEdMRVZCUVVWa0xFbEJRVWx5UWl4TFFVRkxjRWNzVVVGQlVVRXNTMEZCUzBNc1VVRkJVVzFFTEZkQlFWZHdSQ3hMUVVGTE5rd3NkMEpCUVhkQ04wd3NTMEZCUzNkT0xHZENRVUZuUWl4WFFVRlhlRTRzUzBGQlMzbE9MR2RDUVVGbExFVkJRVWRETEZkQlFWY3NWMEZCVnpGT0xFdEJRVXQ1VGl4blFrRkJaU3hIUVVGSmNrZ3NTMEZCUzNCSExFMUJRVTBzUzBGQlMwRXNTMEZCU3pKT0xGTkJRVk1zVTBGQlV6ZE9MRWRCUVVjc1IwRkJSMEVzUlVGQlJVRXNTVUZCU1VVc1MwRkJTelJPTEU5QlFVOHNUMEZCVHl4VlFVRlZOVTRzUzBGQlMwTXNVVUZCVVd0RUxFMUJRVTBzVTBGQlUzSkVMRVZCUVVVc1QwRkJUeXhMUVVGTExFbEJRVWxETEVWQlFVVkRMRXRCUVV0RExGRkJRVkZ0UkN4VlFVRlZkRVFzUlVGQlJTeGxRVUZsTEZWQlFWVkZMRXRCUVVzd1J5eE5RVUZOTVVjc1MwRkJTekJITEUxQlFVMHhSeXhMUVVGTFF5eFJRVUZSZFVNc1YwRkJWMG9zUjBGQlIzQkRMRXRCUVVzMlRpeFRRVUZUTjA0c1MwRkJTMmxJTEU5QlFVOXNTQ3hKUVVGSlF5eExRVUZMYVVnc1QwRkJUMnBJTEV0QlFVc3dSeXhUUVVGVE0wY3NSVUZCUlVNc1MwRkJTMmRJTEZGQlFWRnFTQ3hKUVVGSkxFbEJRVWt3U0N4RlFVRkZMRkZCUVZGNlNDeExRVUZMUlN4SFFVRkhMR05CUVdOR0xFdEJRVXRETEZGQlFWRnRSQ3hWUVVGVmRFUXNSMEZCUnl4SlFVRkpRU3hGUVVGRkxGTkJRVk5GTEV0QlFVdEZMRWRCUVVjc1kwRkJZMFlzUzBGQlMwTXNVVUZCVVcxRUxGVkJRVlYwUkN4SFFVRkhMRWxCUVVsQkxFVkJRVVVzU1VGQlNVTXNSVUZCUlVNc1MwRkJTekpKTEZGQlFWRnlSaXhUUVVGVGJVVXNSMEZCUnpGSUxFVkJRVVVzU1VGQlNTdE9MRmRCUVZjNVRpeExRVUZMTWtrc1VVRkJVVU1zU1VGQlNTeDFRa0ZCZFVJc1UwRkJVemxKTEVsQlFVbERMRVZCUVVVMlJ5eExRVUZMYlVnc1NVRkJTV2hQTEVWQlFVVkRMRXRCUVV0RExGRkJRVkZyUkN4UFFVRlBkVXNzVjBGQlZ5eFhRVUZYTVU0c1MwRkJTekpKTEZGQlFWRnhSaXhaUVVGWmRrY3NTVUZCU1hKQ0xFdEJRVXR3Unl4TlFVRk5SQ3hKUVVGSlF5eExRVUZMYVU4c1owSkJRV2RDTEZkQlFWY3NTVUZCU1c1UExFVkJRVVZGTEV0QlFVc3lTU3hSUVVGUmRVWXNTMEZCU3l4VFFVRlRja2tzVFVGQlRTeExRVUZMYzBrc1QwRkJUeXhUUVVGVGNrOHNSMEZCUnl4UFFVRlBMRWxCUVVsQkxFVkJRVVZ6VHl4WlFVRlpMRkZCUVZGd1R5eExRVUZMUlN4SFFVRkhMR0ZCUVdFc1NVRkJTV3RITEV0QlFVdHdSeXhQUVVGUFFTeExRVUZMTWtrc1VVRkJVWFZHTEV0QlFVc3NVVUZCVVhCUExFVkJRVVZyUnl4TFFVRkxMRkZCUVZGb1J5eExRVUZMUXl4UlFVRlJVU3hwUWtGQmFVSlVMRXRCUVV0RExGRkJRVkZUTEcxQ1FVRnRRbVFzUlVGQlJUWkdMRkZCUVZGMVF5eEhRVUZITEhsQ1FVRjVRbWhKTEV0QlFVdEZMRWRCUVVjc1UwRkJVMG9zUjBGQlIwVXNTMEZCU3pST0xGRkJRVkUxVGl4TFFVRkxiVU1zV1VGQldXbEZMRXRCUVV0d1J5eFBRVUZQTEZkQlFWZEtMRVZCUVVVclJpeExRVUZMTTBZc1MwRkJTME1zVVVGQlVYZEZMR2RDUVVGblFucEZMRXRCUVV0RExGRkJRVkYzUlN4aFFVRmhMRU5CUVVONlJTeExRVUZMUXl4UlFVRlJkMFVzWlVGQlpTeFhRVUZYTjBVc1JVRkJSU3RHTEV0QlFVc3pSaXhMUVVGTFF5eFJRVUZSZVVVc1UwRkJVekZGTEV0QlFVdERMRkZCUVZGNVJTeE5RVUZOTEVOQlFVTnhTQ3hMUVVGTEwwd3NTMEZCUzBNc1VVRkJVWGxGTEZGQlFWRXNWMEZCVnpsRkxFVkJRVVVyUml4TFFVRkxNMFlzUzBGQlMwTXNVVUZCVVRCRkxGVkJRVlV6UlN4TFFVRkxReXhSUVVGUk1FVXNUMEZCVHl4RFFVRkRiMGdzUzBGQlN5OU1MRXRCUVV0RExGRkJRVkV3UlN4UFFVRlBlVVVzVFVGQlRYQktMRXRCUVV0RExGRkJRVkV3UlN4VlFVRlRMRWxCUVVzelJTeExRVUZMUXl4UlFVRlJkMFVzWTBGQlkzcEZMRXRCUVV0RExGRkJRVkY1UlN4UlFVRlJNVVVzUzBGQlMwTXNVVUZCVVhkRkxHRkJRV0VzUjBGQlJ6ZEZMRVZCUVVVclNDeExRVUZMTTBnc1MwRkJTME1zVVVGQlVYbEZMRTFCUVUwc1UwRkJVelZGTEVWQlFVVkRMRWRCUVVkRExFdEJRVXRETEZGQlFWRjNSU3hoUVVGaE5Fb3NTMEZCUzNSUExFVkJRVVVzVVVGQlVVTXNTMEZCUzBNc1VVRkJVWGRGTEdGQlFXRTBTaXhMUVVGTGRFOHNSVUZCUlN4VFFVRlRjVWNzUzBGQlMzQkhMRkZCUVZGQkxFdEJRVXRETEZGQlFWRjNSU3hoUVVGaGMwUXNVVUZCVVc1SkxFVkJRVVVyU0N4TFFVRkxNMGdzUzBGQlMwTXNVVUZCVVhkRkxHRkJRV0VzVTBGQlV6TkZMRVZCUVVWRExFZEJRVWNzU1VGQlNUQklMRVZCUVVVc1NVRkJTVFpITEUxQlFVMDNSeXhGUVVGRk9FY3NTVUZCU1hoUExFVkJRVVV3U0N4RlFVRkZLMGNzVVVGQlVTeFRRVUZUZUU4c1MwRkJTMjFITEZkQlFWY3NWVUZCVlc1SExFdEJRVXNzU1VGQlNVWXNSVUZCUlVNc1JVRkJSU3hQUVVGUFJpeEZRVUZGTkU4c1ZVRkJWVFZPTEU5QlFVOHNVMEZCVTJZc1JVRkJSWGxKTEVkQlFVY3NUMEZCVDNwSkxFVkJRVVZCTEVkQlFVZEZMRXRCUVV0RExGRkJRVkZaTEU5QlFVOHNWVUZCVldwQ0xFVkJRVVVyUml4TFFVRkxOMFlzUzBGQlMwRXNSVUZCUlVZc1JVRkJSVVVzU1VGQlNYbEpMRVZCUVVWQkxFZEJRVWQyU1N4TFFVRkxReXhSUVVGUllTeFJRVUZSYUVJc1IwRkJSMEVzUlVGQlJXbEpMRkZCUVZGdVNTeEZRVUZGSzBnc1MwRkJTemRJTEVWQlFVVXNVMEZCVTBFc1JVRkJSVEpJTEVsQlFVbEJMRVZCUVVVM1NDeEZRVUZGTmtnc1NVRkJTV3BITEV0QlFVc3NhVUpCUVdsQ2VFSXNTMEZCUzBVc1RVRkJUU3hUUVVGVFJpeExRVUZMUXl4UlFVRlJaMElzV1VGQldTeE5RVUZOZDBjc1JVRkJSWGxITEV0QlFVc3NWVUZCVlhwSExFVkJRVVZxUnl4TFFVRkxMR3RDUVVGclFtbEhMRVZCUVVWNVJ5eExRVUZMTEZWQlFWVlJMRmRCUVZjc1UwRkJVekZQTEV0QlFVc3lUeXh0UWtGQmJVSXpUeXhMUVVGTE1rOHNhVUpCUVdsQ0xFbEJRVWt6VHl4TFFVRkxNazhzYVVKQlFXbENUaXhMUVVGTE5VY3NSVUZCUlN4SlFVRkpRU3hGUVVGRlR5eEhRVUZIVHl4RlFVRkZMR2RDUVVGblFuWkpMRXRCUVV0RkxFZEJRVWNzVTBGQlUwb3NSMEZCUnl4SlFVRkpReXhGUVVGRlF5eExRVUZMTkU4c1QwRkJUME1zWVVGQllUZFBMRXRCUVVzMFR5eFBRVUZQTEdOQlFXTnlSeXhIUVVGSGRra3NTMEZCU3pST0xGRkJRVkUxVGl4TFFVRkxiVXNzVDBGQlR5eEpRVUZKTVVNc1JVRkJSU3hMUVVGTGVrZ3NTMEZCU3pST0xGRkJRVkUxVGl4TFFVRkxiVXNzVVVGQlVXNUxMRXRCUVV0dFN5eFBRVUZQTEVsQlFVa3hReXhGUVVGRkxFdEJRVXN4U0N4SFFVRkZMRWRCUVVsRExFdEJRVXR0U3l4UFFVRlBNVU1zUlVGQlJYcElMRXRCUVV0RExGRkJRVkZwUXl4VFFVRlRiRU1zUzBGQlMydERMRTlCUVU5MVJpeEhRVUZITEZOQlFWTmpMRWRCUVVkMlNTeExRVUZMUXl4UlFVRlJZeXhuUWtGQlowSnFRaXhGUVVGRmFVSXNhVUpCUVdsQ1ppeExRVUZMTEZOQlFWTjFTU3hIUVVGSGVFa3NSVUZCUlN4UFFVRlBMR05CUVdOeFJ5eExRVUZMY0Vjc1QwRkJUeXhqUVVGalFTeExRVUZMUXl4UlFVRlJZU3hUUVVGVE1rY3NSVUZCUlU4c1IwRkJSeXhoUVVGaExGTkJRVk5zU1N4SFFVRkhMRWxCUVVsRkxFdEJRVXN5U1N4UlFVRlJMRTlCUVU4c1MwRkJTek5KTEV0QlFVdERMRkZCUVZFMlJDeHZRa0ZCYjBKb1JTeEZRVUZGYzBzc1pVRkJaWEJMTEV0QlFVc3lTU3hSUVVGUkxFbEJRVWt2U1N4RlFVRkZSU3hGUVVGRmMwc3NaVUZCWldwQ0xGRkJRVkVzU1VGQlNXNUtMRXRCUVV0RkxFbEJRVWsyU0N4VFFVRlRMMGdzUzBGQlMyOUtMRk5CUVZOb1JDeExRVUZMY0Vjc1QwRkJUM2xJTEVWQlFVVnFSeXhMUVVGTExHbENRVUZwUW5oQ0xFdEJRVXRGTEVkQlFVZHhTU3hIUVVGSGRra3NTMEZCUzIxSExGZEJRVmNzVjBGQlYzTkNMRXRCUVV0eVFpeExRVUZMY0Vjc1QwRkJUMEVzVFVGQlRVZ3NSVUZCUlRSUExGVkJRVlZMTEU5QlFVOHNVMEZCVTJoUUxFZEJRVWNzVDBGQlQwRXNSVUZCUlVFc1IwRkJTVVVzUzBGQlN6SlBMR3RDUVVGclFpeExRVUZOTjA4c1JVRkJSV2xKTEZGQlFWRnVTU3hGUVVGRkswZ3NTMEZCU3pkSUxFVkJRVVVzVTBGQlUwRXNSVUZCUlVNc1NVRkJTVUVzUlVGQlJVZ3NSVUZCUlVjc1NVRkJTWGxDTEV0QlFVc3NhVUpCUVdsQ2VFSXNTMEZCUzBVc1RVRkJUVWdzUlVGQlJUaEtMRWxCUVVrNVNpeEZRVUZGZVVJc1MwRkJTeXhwUWtGQmFVSjRRaXhMUVVGTFJTeEpRVUZKTEdkQ1FVRm5Ra1lzUzBGQlMwVXNTVUZCU1Vnc1JVRkJSWGxDTEV0QlFVc3NhVUpCUVdsQ2VFSXNTMEZCUzBVc1IwRkJSeXhQUVVGUFJpeExRVUZMTWs4c2FVSkJRV2xDTDA4c1JVRkJSVzFRTEV0QlFVc3ZUeXhMUVVGTE1rOHNhVUpCUVdsQ0xGTkJRVk0zVHl4SFFVRkhMRTlCUVU5QkxFZEJRVWRETEVWQlFVVXNUVUZCVFhGSExFdEJRVXR3Unl4UFFVRlBRU3hOUVVGTlNDeEZRVUZGTkU4c1ZVRkJWVEZFTEZOQlFWTXNVMEZCVTJwTUxFVkJRVVZETEVkQlFVY3NSMEZCUnl4TlFVRk5SQ3hIUVVGSExFMUJRVTFCTEVWQlFVVXNUMEZCVDBVc1MwRkJTMEVzUzBGQlN6SkpMRk5CUVZNelNTeExRVUZMSzBvc1ZVRkJWU3hKUVVGSmRFTXNSVUZCUlhwSUxFdEJRVXN5U1N4UlFVRlJUaXhqUVVGalJTeEZRVUZGZGtrc1MwRkJTekpKTEZGQlFWRkZMR0ZCUVdFc1QwRkJUemRKTEV0QlFVdHJRaXhSUVVGUmJFSXNTMEZCUzNsSkxHVkJRV1UzU1N4RlFVRkZMRFpDUVVFMlFra3NTMEZCUzJ0Q0xFMUJRVTEwUWl4RlFVRkZMRlZCUVZWdlJTeFRRVUZUYUVVc1MwRkJTM2xKTEdkQ1FVRm5RaXhUUVVGVGVra3NTMEZCUzBNc1VVRkJVVGhFTEdWQlFXTXNTVUZCU3k5RUxFdEJRVXRETEZGQlFWRTRSQ3hoUVVGaEwwUXNTMEZCUzBNc1VVRkJVWE5FTEZkQlFWZDJSQ3hMUVVGTE1ra3NVVUZCVVhKR0xGTkJRVk1zTUVKQlFUQkNkRVFzUzBGQlN5dEVMRmxCUVZsRExGTkJRVk5vUlN4TFFVRkxlVWtzYVVKQlFXbENla2tzUzBGQlMzbEpMR1ZCUVdWMVJ5eGhRVUZoYUZBc1MwRkJTMmRDTEZOQlFWTm9RaXhMUVVGTGQwa3NhMEpCUVd0Q2VFa3NTMEZCU3pKSkxGRkJRVkUzU1N4RlFVRkZMRmRCUVZjc1pVRkJaU3hwUWtGQmFVSkZMRXRCUVV0clFpeE5RVUZOSzA0c1MwRkJTMjVRTEVkQlFVZDVTU3hIUVVGSGRra3NTMEZCU3pKSkxGRkJRVkZGTEdOQlFXTTNTU3hMUVVGTGQwa3NhVUpCUVdsQ2VFa3NTMEZCUzBNc1VVRkJVVzFGTEZkQlFWZHdSU3hMUVVGTE9Fa3NZVUZCWVM5SkxFbEJRVWxETEV0QlFVdERMRkZCUVZFNFF5eHhRa0ZCY1VJd1JTeEhRVUZIZWtnc1MwRkJTekpKTEZGQlFWRk9MR1ZCUVdWRkxFZEJRVWQyU1N4TFFVRkxNa2tzVVVGQlVVVXNZMEZCWXpkSkxFdEJRVXR0UXl4WFFVRlhia01zVFVGQlRVZ3NSVUZCUlRSUExGVkJRVlUzVFN4WFFVRlhMRk5CUVZNNVFpeEZRVUZGUXl4SFFVRkhMRWRCUVVjc1RVRkJUVVFzUjBGQlJ5eE5RVUZOUVN4RlFVRkZMRTlCUVU5RkxFdEJRVXRCTEV0QlFVc3lTU3hUUVVGVE0wa3NTMEZCU3l0S0xGVkJRVlVzU1VGQlNYUkRMRVZCUVVWNlNDeExRVUZMTWtrc1VVRkJVVTRzWTBGQlkwVXNSVUZCUlhaSkxFdEJRVXN5U1N4UlFVRlJSU3hoUVVGaExFOUJRVTgzU1N4TFFVRkxaMElzVVVGQlVXdFBMRk5CUVZNc1owTkJRV2REYkV3c1UwRkJVeXhSUVVGUk5FVXNTVUZCU1N4RFFVRkRjVUlzVVVGQlVTeFRRVUZUY2tzc1JVRkJSU3RHTEV0QlFVczNSaXhKUVVGSkxFbEJRVWtzVTBGQlUwVXNTMEZCUzJkQ0xGRkJRVkZwVHl4TFFVRkxibEFzUjBGQlJ5eE5RVUZOTEVsQlFVa3NVMEZCVTBFc1NVRkJTVUVzWVVGQllVWXNSMEZCUjBVc1JVRkJSWEZRTEZsQlFWbFdMRlZCUVZWWExGTkJRVk53VUN4TFFVRkxaMElzVVVGQlVXbFBMRXRCUVVzc1NVRkJTVzVRTEVWQlFVVnZUeXhMUVVGTExEWkNRVUUyUWl4SFFVRkhiRXNzVTBGQlUyaEZMRXRCUVV0blFpeFRRVUZUTkVnc1NVRkJTU3hEUVVGRGNVSXNVVUZCVVN4WFFVRlhha3NzUzBGQlMyZENMRkZCUVZGcFR5eExRVUZMU1N4TFFVRkxReXhWUVVGVmVGQXNTVUZCU1N4UFFVRlBlVWtzUjBGQlIzWkpMRXRCUVVzeVNTeFJRVUZSUlN4alFVRmpOMGtzUzBGQlMzZEpMR2xDUVVGcFFuaEpMRXRCUVV0RExGRkJRVkZ0UlN4WFFVRlhjRVVzUzBGQlN6aEpMR0ZCUVdFdlNTeEpRVUZKUXl4TFFVRkxReXhSUVVGUk9FTXNjVUpCUVhGQ01FVXNSMEZCUjNwSUxFdEJRVXN5U1N4UlFVRlJUaXhsUVVGbFJTeEhRVUZIZGtrc1MwRkJTekpKTEZGQlFWRkZMR05CUVdNM1NTeExRVUZMYlVNc1YwRkJWMjVETEUxQlFVMUlMRVZCUVVVMFR5eFZRVUZWWXl4alFVRmpMRk5CUVZONlVDeEZRVUZGUXl4RlFVRkZNRWdzUjBGQlIzcElMRXRCUVVzeVNTeFRRVUZUTTBrc1MwRkJTeXRLTEZWQlFWVXNUVUZCVFdoTExFbEJRVWxCTEVWQlFVVXNVVUZCVVVNc1MwRkJTMmRDTEZGQlFWRTBTQ3hKUVVGSk9Va3NSVUZCUlVVc1MwRkJTMjlJTEZGQlFWRnlTQ3hKUVVGSkxGTkJRVk5FTEVkQlFVZEZMRXRCUVV0M1NTeHBRa0ZCYVVKNFNTeExRVUZMUXl4UlFVRlJTQ3hIUVVGSFF5eEZRVUZGTEUxQlFVMHdTQ3hKUVVGSlFTeEhRVUZIZWtnc1MwRkJTMjFETEZsQlFWbDBReXhGUVVGRk5FOHNWVUZCVldVc1UwRkJVeXhUUVVGVE1WQXNSVUZCUlVNc1IwRkJSME1zUzBGQlMzVlFMR05CUVdNc1VVRkJVWHBRTEVWQlFVVkRMRWxCUVVsR0xFVkJRVVUwVHl4VlFVRlZaMElzVlVGQlZTeFRRVUZUTTFBc1JVRkJSVU1zUjBGQlIwTXNTMEZCUzNWUUxHTkJRV01zVTBGQlUzcFFMRVZCUVVWRExFbEJRVWxHTEVWQlFVVTBUeXhWUVVGVmRFMHNVMEZCVXl4VFFVRlRjMFlzUjBGQlJ5eEhRVUZIUVN4RlFVRkZRU3hIUVVGSExFZEJRVWRCTEVWQlFVVTNTQ3hGUVVGRk9FWXNVVUZCVHl4RlFVRkhNVVlzUzBGQlMwTXNVVUZCVVhkSUxFZEJRVWQ2U0N4TFFVRkxhME1zVDBGQlQzVkdMRVZCUVVWMlJpeFJRVUZSYkVNc1MwRkJTMnRETEZGQlFWRjBReXhGUVVGRk5rWXNVVUZCVVhwR0xFdEJRVXRyUXl4clFrRkJhMEowUXl4SFFVRkhMRk5CUVZOSkxFdEJRVXRyUXl4VFFVRlRiRU1zUzBGQlMydERMRTlCUVU5MFF5eEZRVUZGU1N4TFFVRkxhME1zVlVGQlZXeERMRXRCUVV0clF5eFBRVUZQTmtZc1QwRkJUeXhQUVVGUEwwZ3NTMEZCUzBFc1MwRkJTMmRDTEZGQlFWRTBTQ3hKUVVGSkxFTkJRVU42U1N4TlFVRk5TQ3hMUVVGTGIwZ3NVVUZCVVVzc1JVRkJSWFJJTEUxQlFVMHNVMEZCVTBNc1QwRkJUMG9zUzBGQlMyOUlMRkZCUVZGTExFVkJRVVZ5U0N4UFFVRlBMRlZCUVZWRExGTkJRVk5NTEV0QlFVdHZTQ3hSUVVGUlN5eEZRVUZGY0Vnc1UwRkJVeXhUUVVGVFF5eFZRVUZWVGl4TFFVRkxiMGdzVVVGQlVVc3NSVUZCUlc1SUxGVkJRVlVzVlVGQlZVTXNVMEZCVTFBc1MwRkJTMjlJTEZGQlFWRkxMRVZCUVVWc1NDeFRRVUZUTEZOQlFWTkRMRlZCUVZWU0xFdEJRVXR2U0N4UlFVRlJTeXhGUVVGRmFrZ3NWVUZCVlN4WlFVRlpVaXhMUVVGTGQwa3NhVUpCUVdsQ0xFbEJRVWxFTEVWQlFVVjJTU3hMUVVGTE5Fd3NiMEpCUVc5Q0xGTkJRVk0xVEN4TFFVRkxhME1zVVVGQlVXeERMRXRCUVV0clF5eFBRVUZQVml4TFFVRkxMRkZCUVZGNFFpeExRVUZMUlN4SFFVRkhMRmRCUVZkR0xFdEJRVXRyUXl4UFFVRlBWaXhMUVVGTExGRkJRVkY0UWl4TFFVRkxSU3hIUVVGSExGTkJRVk5HTEV0QlFVdHJReXhQUVVGUExFbEJRVWwwUXl4RlFVRkZOa1lzVVVGQlVTeExRVUZMTEZOQlFWTjZSaXhMUVVGTGEwTXNUMEZCVHpCSExFbEJRVWtzWVVGQllTeEZRVUZGTlVrc1MwRkJTMnRETEU5QlFVOXBTQ3hWUVVGVlowWXNUMEZCVHl4WFFVRlhMRTFCUVUwc1UwRkJVM1pQTEVWQlFVVkpMRTFCUVUwMFNTeEpRVUZKTEdOQlFXTmlMRkZCUVZFc1VVRkJVU3hWUVVGVkxFbEJRVWxxU1N4RlFVRkZMRU5CUVVOelF5eEZRVUZGZUVNc1JVRkJSVFpHTEZGQlFWRnZSQ3hoUVVGaGVFY3NSVUZCUlhwRExFVkJRVVUyUml4UlFVRlJORU1zWTBGQll5OUNMRWxCUVVsdFFpeEZRVUZGYUVZc1QwRkJUM3BETEV0QlFVdHJReXhQUVVGUFZpeExRVUZMTEZGQlFWRjRRaXhMUVVGTFJTeEhRVUZITEZWQlFWVXNSVUZCUlU0c1JVRkJSVFpHTEZGQlFWRXlReXhaUVVGWk0wSXNTMEZCUzJkQ0xFVkJRVVZvUml4UFFVRlBla01zUzBGQlMydERMRTlCUVU5V0xFdEJRVXNzVVVGQlVYaENMRXRCUVV0RkxFZEJRVWNzVlVGQlZTeEZRVUZGVGl4RlFVRkZOa1lzVVVGQlVYRkZMR05CUVdOb1N5eEZRVUZGTUVjc1QwRkJUekZITEVWQlFVVjNSeXhKUVVGSmVFY3NSVUZCUlhWRExFVkJRVVYyUXl4RlFVRkZlVWNzVFVGQlRYcEhMRVZCUVVVeVJ5eExRVUZMTTBjc1JVRkJSWE5ETEVWQlFVVXNTVUZCU1N4SlFVRkpja01zUlVGQlJVTXNTMEZCUzJ0RExFOUJRVTlMTEZOQlFWTXNUVUZCVFhwRExFZEJRVWRETEVWQlFVVXNRMEZCUTNWSExFbEJRVWtzUlVGQlJVY3NTMEZCU3l4SFFVRkhMRk5CUVZONlJ5eExRVUZMYTBNc1VVRkJVU3hUUVVGVGJFTXNTMEZCUzJ0RExFOUJRVTlXTEV0QlFVc3NVVUZCVVhoQ0xFdEJRVXRGTEVkQlFVY3NWMEZCVjNWSUxFVkJRVVZvUml4UlFVRlJNVU1zUlVGQlJYVkhMRWxCUVVsMlJ5eEZRVUZGZFVjc1NVRkJTVEZITEVWQlFVVTJSaXhSUVVGUk1rTXNXVUZCV1hKSkxFVkJRVVV3Unl4TFFVRkxNVWNzUlVGQlJUQkhMRXRCUVVzM1J5eEZRVUZGTmtZc1VVRkJVWEZGTEdOQlFXTXNTVUZCU1doRExFVkJRVVVzUTBGQlF6RkdMRVZCUVVVc1UwRkJVM0JETEV0QlFVdHJReXhQUVVGUExFZEJRVWRzUXl4TFFVRkxhME1zVDBGQlR6SkhMR0ZCUVdGNFJ5eEZRVUZGTEZOQlFWTnlReXhMUVVGTGEwTXNUMEZCVHl4SFFVRkhiRU1zUzBGQlMydERMRTlCUVU5dFJ5eGpRVUZqTDBJc1NVRkJTU3hUUVVGVGRFY3NTMEZCUzJ0RExGRkJRVkYxUml4RlFVRkZlVVFzV1VGQldYcEVMRVZCUVVWNVJDeFpRVUZaTlVVc1NVRkJTWFpITEVWQlFVVkJMRVZCUVVWMVJ5eEpRVUZKTEVWQlFVVkhMRXRCUVVzc1UwRkJVM3BITEV0QlFVdHJReXhSUVVGUmRVWXNSVUZCUlhsRUxGbEJRVmw2UkN4RlFVRkZlVVFzV1VGQldYcEZMRXRCUVVzeFJ5eEZRVUZGUVN4RlFVRkZNRWNzUzBGQlN5eEhRVUZIYzBNc1JVRkJSWFJDTEVWQlFVVnVSaXhYUVVGWExGVkJRVlZ0Uml4RlFVRkZkRVlzVTBGQlUwTXNSMEZCUnl4VlFVRlZjVVlzUlVGQlJYUkdMRk5CUVZORkxFZEJRVWN5Unl4RlFVRkZMRU5CUVVNMVJ5eEZRVUZGZEVNc1JVRkJSWE5ETEVWQlFVVnhSaXhGUVVGRk4wVXNaVUZCWlRaRUxFdEJRVXRuUWl4RlFVRkZOMFVzWlVGQlpUSkVMRTFCUVUxc1JTeEZRVUZGZGtNc1JVRkJSWFZETEVWQlFVVnZSaXhGUVVGRk4wVXNaVUZCWlRCRUxFbEJRVWx0UWl4RlFVRkZOMFVzWlVGQlpUUkVMRTlCUVU5RExFdEJRVXR6UXl4RlFVRkZha0lzUlVGQlJYSkNMRXRCUVVzM1J5eEZRVUZGTmtZc1VVRkJVWEZGTEdGQlFXRnlReXhGUVVGRk4wVXNaVUZCWlRaRUxFdEJRVXNzUlVGQlJVWXNUVUZCVFhkRExFVkJRVVZxU2l4RlFVRkZjME1zUlVGQlJUQkdMRVZCUVVWeVFpeExRVUZMTjBjc1JVRkJSVFpHTEZGQlFWRnhSU3hoUVVGaGFFTXNSVUZCUlRGR0xFVkJRVVZ4Uml4RlFVRkZOMFVzWlVGQlpUSkVMRTFCUVUwc1JVRkJSVVFzU1VGQlNYbERMRVZCUVVWcVFpeEZRVUZGZUVJc1NVRkJTVEZITEVWQlFVVTJSaXhSUVVGUk1rTXNXVUZCV1hCSkxFdEJRVXRETEZGQlFWRXlReXhsUVVGbE1FUXNTVUZCU1N4RlFVRkZSU3hQUVVGUGRVTXNSVUZCUldwS0xFVkJRVVYxUXl4RlFVRkZlVVlzUlVGQlJYaENMRWxCUVVreFJ5eEZRVUZGTmtZc1VVRkJVVEpETEZsQlFWbE9MRVZCUVVWNlJpeEZRVUZGYjBZc1JVRkJSVGRGTEdWQlFXVTBSQ3hQUVVGUExFZEJRVWN6Unl4RlFVRkZMRU5CUVVOMVF5eEZRVUZGTEV0QlFVdHhSaXhGUVVGRmJrWXNVMEZCVXl4TlFVRk5iVVlzUlVGQlJXNUdMRk5CUVZNc1ZVRkJWVEZETEVWQlFVVXJSaXhMUVVGTE9FSXNSVUZCUlhSR0xGTkJRVk5ETEVkQlFVY3NTMEZCUzNGR0xFVkJRVVYwUml4VFFVRlRReXhGUVVGRlF5eEZRVUZGTEV0QlFVdHZSaXhGUVVGRmJrWXNVMEZCVXl4TlFVRk5iVVlzUlVGQlJXNUdMRk5CUVZNc1ZVRkJWVEZETEVWQlFVVXJSaXhMUVVGTE9FSXNSVUZCUlhSR0xGTkJRVk5GTEVkQlFVY3NTMEZCUzI5R0xFVkJRVVYwUml4VFFVRlRSU3hIUVVGSGNVNHNSVUZCUlN4RFFVRkRkRTRzUjBGQlJTeEZRVUZIUXl4SFFVRkZMRWRCUVVsNFF5eEZRVUZGZFVNc1IwRkJSMjFITEVWQlFVVnVSeXhGUVVGRk5FY3NSVUZCUlc1S0xFVkJRVVYxUXl4SlFVRkpORWNzUlVGQlJXaEtMRXRCUVV0blNDeFJRVUZSYmtnc1JVRkJSWFZETEVsQlFVazBSeXhGUVVGRmJrb3NSVUZCUlhWRExFdEJRVXQyUXl4RlFVRkZkVU1zUlVGQlJYQkRMRXRCUVV0blNDeFJRVUZSYmtnc1JVRkJSWFZETEUxQlFVMXpUaXhGUVVGRmRFNHNSMEZCUlN4SFFVRkpka01zUlVGQlJYZERMRWRCUVVkclJ5eEZRVUZGYkVjc1JVRkJSVEpITEVWQlFVVnVTaXhGUVVGRmQwTXNTVUZCU1RKSExFVkJRVVZvU2l4TFFVRkxaMGdzVVVGQlVXNUlMRVZCUVVWM1F5eEpRVUZKTWtjc1JVRkJSVzVLTEVWQlFVVjNReXhMUVVGTGVFTXNSVUZCUlhkRExFVkJRVVZ5UXl4TFFVRkxaMGdzVVVGQlVXNUlMRVZCUVVWM1F5eE5RVUZOY1U0c1JVRkJSWEpPTEVkQlFVVXNTVUZCUzI5R0xFVkJRVVZvU0N4cFFrRkJhVUpuU0N4RlFVRkZMMGNzYjBKQlFXOUNhVkFzUlVGQlJTeFhRVUZYTEVsQlFVazNVQ3hGUVVGRk1rZ3NSVUZCUldoSUxHbENRVUZwUWpoSUxFVkJRVVZ1Unl4RlFVRkZORWNzUlVGQlJXNUtMRVZCUVVWMVF5eEhRVUZITEU5QlFVOTBReXhGUVVGRmEwb3NSVUZCUlc1S0xFVkJRVVYxUXl4SFFVRkhMRTFCUVUxd1F5eExRVUZMYVVRc1UwRkJVemhHTEVkQlFVY3NTMEZCUzNSQ0xFVkJRVVZ1Uml4UlFVRlJkRU1zUzBGQlMybEVMRkZCUVZFeVNDeFhRVUZYZUVrc1JVRkJSU3hIUVVGSGEwWXNVMEZCVTNSSUxFdEJRVXR6U3l4VlFVRlZNVUlzU1VGQlNTeHpRa0ZCYzBKMFFpeFRRVUZUZEVnc1MwRkJTM05MTEZWQlFWVXhRaXhKUVVGSkxIVkNRVUYxUWpWSkxFdEJRVXRuUWl4UlFVRlJORWdzU1VGQlNTeERRVUZEZWtrc1RVRkJUVXdzUlVGQlJVVXNTMEZCUzBNc1VVRkJVVlVzYlVKQlFXMUNZaXhGUVVGRkxFdEJRVXRQTEZOQlFWTlFMRVZCUVVWM1NDeFRRVUZUZEVnc1MwRkJTMmRDTEZGQlFWRTBTQ3hKUVVGSkxHRkJRV0VzUlVGQlJTeFBRVUZQTlVrc1MwRkJTM2RKTEd0Q1FVRnJRa1FzUlVGQlJYWkpMRXRCUVVzMFRDeHhRa0ZCY1VKNFJpeExRVUZMY0Vjc1RVRkJUWGxJTEVWQlFVVm9TQ3hwUWtGQmFVSnJVQ3hKUVVGSmJFa3NSVUZCUldoSUxHdENRVUZyUW1sUUxFVkJRVVZ5VGl4SFFVRkhlRU1zUlVGQlJYZERMRWRCUVVkclJ5eEZRVUZGYkVjc1JVRkJSVEpITEVWQlFVVnVTaXhGUVVGRmQwTXNTVUZCU1RKSExFVkJRVVZvU2l4TFFVRkxaMGdzVVVGQlVXNUlMRVZCUVVWM1F5eEpRVUZKTWtjc1JVRkJSVzVLTEVWQlFVVjNReXhMUVVGTGVFTXNSVUZCUlhkRExFVkJRVVZ5UXl4TFFVRkxaMGdzVVVGQlVXNUlMRVZCUVVWM1F5eE5RVUZOY1U0c1JVRkJSWEpPTEVkQlFVVXNSMEZCU1VRc1JVRkJSU3hYUVVGWExFbEJRVWwwUXl4RlFVRkZNa2dzUlVGQlJTOUhMR3RDUVVGclFqWklMRVZCUVVWc1J5eEZRVUZGTWtjc1JVRkJSVzVLTEVWQlFVVjNReXhIUVVGSExFOUJRVTkyUXl4RlFVRkZMRmRCUVZjc1QwRkJUMFVzUzBGQlMzbEpMR2RDUVVGblFucEpMRXRCUVV0dlFpeFJRVUZSTEZGQlFWRndRaXhMUVVGTE1ra3NVVUZCVVVNc1NVRkJTU3haUVVGWk5Va3NTMEZCU3pKSkxGRkJRVkZETEVsQlFVa3NWVUZCVlN4VFFVRlRPVWtzUjBGQlIwVXNTMEZCUzNsSkxHVkJRV1Y2U1N4TFFVRkxlVWtzWlVGQlpVb3NZMEZCWXl4SlFVRkpja2tzUzBGQlMyOUNMRTlCUVU5d1FpeExRVUZMYjBJc1QwRkJUMmxJTEdOQlFXTXNSMEZCUjNKSkxFdEJRVXN5U1N4UlFVRlJReXhKUVVGSkxGVkJRVlVzVTBGQlV6bEpMRWRCUVVkRkxFdEJRVXQ1U1N4bFFVRmxla2tzUzBGQlMzbEpMR1ZCUVdWS0xHTkJRV01zU1VGQlNYSkpMRXRCUVV0dlFpeFBRVUZQY0VJc1MwRkJTMjlDTEU5QlFVOXBTQ3hqUVVGakxFZEJRVWQyU1N4SFFVRkhMRWRCUVVjc1JVRkJSU3hKUVVGSlFTeEhRVUZIYzBjc1MwRkJTM0JITEUxQlFVMUdMRVZCUVVWclNpeEZRVUZGYmtvc1JVRkJSWGRETEVkQlFVY3NUVUZCVFhKRExFdEJRVXRwUkN4VFFVRlRPRVlzUjBGQlJ5eExRVUZMZEVJc1JVRkJSVzVHTEZGQlFWRjBReXhMUVVGTGFVUXNVVUZCVVRKSUxGZEJRVmQyU1N4RlFVRkZMRWRCUVVkMlF5eEpRVUZKZDBnc1UwRkJVM1JJTEV0QlFVdHpTeXhWUVVGVk1VSXNTVUZCU1N4eFFrRkJjVUowUWl4VFFVRlRkRWdzUzBGQlMzTkxMRlZCUVZVeFFpeEpRVUZKTEhkQ1FVRjNRalZKTEV0QlFVdG5RaXhSUVVGUk5FZ3NTVUZCU1N4RFFVRkRlRWtzVDBGQlQwNHNSVUZCUlVVc1MwRkJTME1zVVVGQlVWY3NiMEpCUVc5Q1pDeEZRVUZGTEU5QlFVOUZMRXRCUVV0M1NTeHJRa0ZCYTBKRUxFVkJRVVYyU1N4TFFVRkxORXdzY1VKQlFYRkNlRVlzUzBGQlMzQkhMRTFCUVUxNVNDeEZRVUZGTDBjc2EwSkJRV3RDTUVJc1NVRkJTWEZHTEVWQlFVVXZSeXh0UWtGQmJVSm5VQ3hGUVVGRmRFNHNSMEZCUjNaRExFVkJRVVYxUXl4SFFVRkhiVWNzUlVGQlJXNUhMRVZCUVVVMFJ5eEZRVUZGYmtvc1JVRkJSWFZETEVsQlFVazBSeXhGUVVGRmFFb3NTMEZCUzJkSUxGRkJRVkZ1U0N4RlFVRkZkVU1zU1VGQlNUUkhMRVZCUVVWdVNpeEZRVUZGZFVNc1MwRkJTM1pETEVWQlFVVjFReXhGUVVGRmNFTXNTMEZCUzJkSUxGRkJRVkZ1U0N4RlFVRkZkVU1zVFVGQlRYTk9MRVZCUVVWMFRpeEhRVUZGTEVkQlFVbHhSaXhGUVVGRkwwVXNaMEpCUVdkQ0xGRkJRVkVyUlN4RlFVRkZMMFVzYVVKQlFXbENaMDRzUlVGQlJYUk9MRWRCUVVkMVRpeEpRVUZKUkN4RlFVRkZjazRzUjBGQlIwUXNUVUZCVFN4SlFVRkpkMDRzUlVGQlJTeEhRVUZIUXl4RlFVRkZMRk5CUVZNdlVDeEhRVUZITEVkQlFVY3NWVUZCVlVZc1JVRkJSU3RHTEV0QlFVczRRaXhGUVVGRmRFWXNVMEZCVTNKRExFbEJRVWtzUTBGQlF5eEpRVUZKUXl4RlFVRkZNRWdzUlVGQlJXcEdMRmRCUVZjeFF5eEhRVUZITEV0QlFVdEJMRVZCUVVVc1QwRkJUeXhOUVVGTkxFZEJRVWM0VUN4RlFVRkZOMUFzUjBGQlJ5dElMRVZCUVVVdlNDeEhRVUZITEZWQlFWVXdTQ3hGUVVGRmRFWXNVMEZCVTNKRExFZEJRVWNzVDBGQlR6aFFMRVZCUVVVM1VDeEpRVUZKTmtjc1MwRkJTMnRLTEUxQlFVMW9TU3hGUVVGRmFFa3NSMEZCUjNsSkxFVkJRVVY2U1N4SlFVRkpMRkZCUVZFc1UwRkJVMFVzUzBGQlMydERMRkZCUVZGc1F5eExRVUZMYTBNc1QwRkJUeXhKUVVGSmJFTXNTMEZCUzJ0RExFOUJRVThzU1VGQlNYUkRMRVZCUVVVMlJpeFJRVUZSTEV0QlFVdHRTeXhGUVVGRk4xQXNTVUZCU1N4SlFVRkpNRWdzUlVGQlJUZEZMR1ZCUVdVM1F5eEhRVUZITUVnc1JVRkJSVGRGTEdWQlFXVTFReXhMUVVGTFowZ3NVVUZCVVdwSUxFOUJRVTlCTEVkQlFVY3dTQ3hGUVVGRmRFWXNVMEZCVTNKRExFdEJRVXM0VUN4RlFVRkZOMUFzU1VGQlNTdElMRVZCUVVWb1NTeEhRVUZIZVVrc1JVRkJSWHBKTEVsQlFVa3lTQ3hGUVVGRmJrWXNVMEZCVTNoRExFZEJRVWNzVFVGQlRUSklMRVZCUVVWdVJpeFZRVUZWYzA0c1JVRkJSVGRRTEVsQlFVbDNTU3hGUVVGRmVra3NTVUZCU1VNc1IwRkJSekJJTEVWQlFVVjBSaXhUUVVGVGNrTXNSMEZCUnl4SFFVRkhMRk5CUVZNNFVDeEZRVUZGYmtrc1JVRkJSV3BHTEZkQlFWY3hReXhKUVVGSk1rZ3NSVUZCUlhSR0xGTkJRVk55UXl4SlFVRkpjMGNzUzBGQlMzQkhMRTFCUVUwc1IwRkJSelpRTEVWQlFVVXNTMEZCUzBFc1JVRkJSU3hMUVVGTE4xQXNTMEZCUzJsRUxGTkJRVk1zVlVGQlZYZEZMRVZCUVVWMlJTeFRRVUZUTEZWQlFWVjBSQ3hGUVVGRkswWXNTMEZCU3poQ0xFVkJRVVYwUml4VFFVRlRReXhKUVVGSkxGVkJRVlY0UXl4RlFVRkZLMFlzUzBGQlN6aENMRVZCUVVWMFJpeFRRVUZUUlN4TFFVRkxRU3hGUVVGRkxFVkJRVVVzVjBGQlYzSkRMRXRCUVV0cFJDeFJRVUZSZVVRc1RVRkJUU3hWUVVGVlpTeEZRVUZGZEVZc1UwRkJVMjVETEV0QlFVdG5TQ3hSUVVGUlV5eEZRVUZGYmtZc1dVRkJXVVFzUjBGQlIydEhMRVZCUVVWMlNTeExRVUZMWjBnc1VVRkJVVk1zUlVGQlJXNUdMRlZCUVZVc1IwRkJSeXhYUVVGWGJVWXNSVUZCUlhSR0xGTkJRVk51UXl4TFFVRkxaMGdzVVVGQlVWTXNSVUZCUlc1R0xGVkJRVlZFTEVsQlFVbHJSeXhGUVVGRmRra3NTMEZCUzJkSUxGRkJRVkZUTEVWQlFVVnVSaXhWUVVGVkxFVkJRVVYwUXl4TFFVRkxhVVFzVVVGQlVUSklMRmRCUVZjMVN5eExRVUZMWjBnc1VVRkJVVk1zUlVGQlJXNUdMRlZCUVZVc1NVRkJTWFJETEV0QlFVdHBSQ3hSUVVGUmVVUXNUMEZCVHpGSExFdEJRVXR0U0N4UFFVRlBia2dzUzBGQlMybEVMRkZCUVZGNVJDeFBRVUZQTEVkQlFVY3NSMEZCUjNKRkxFZEJRVWR5UXl4TFFVRkxhVVFzVVVGQlVYbEVMRTlCUVU5bExFVkJRVVYwUml4VFFVRlRia01zUzBGQlMyZElMRkZCUVZGVExFVkJRVVZ1Uml4VlFVRlZkRU1zUzBGQlN6UkxMRmRCUVZjMVN5eExRVUZMWjBnc1VVRkJVVk1zUlVGQlJXNUdMRmxCUVZrc1NVRkJTVEZETEVWQlFVVjVTeXhSUVVGUmNrc3NTMEZCUzJsRUxGRkJRVkY1UkN4TlFVRk5MRU5CUVVNc1RVRkJUU3hUUVVGVExFZEJRVWNzUjBGQlJ6RkhMRXRCUVV0cFJDeFJRVUZSTWtnc1YwRkJWelZMTEV0QlFVdG5TQ3hSUVVGUlV5eEZRVUZGYmtZc1ZVRkJWU3hKUVVGSkxFbEJRVWt4UXl4RlFVRkZlVXNzVVVGQlVYSkxMRXRCUVV0cFJDeFJRVUZSZVVRc1RVRkJUU3hEUVVGRExFMUJRVTBzVlVGQlZTeEZRVUZGTEVkQlFVY3hSeXhMUVVGTGFVUXNVVUZCVVRKSUxGZEJRVmMxU3l4TFFVRkxaMGdzVVVGQlVWTXNSVUZCUlc1R0xGVkJRVlVzU1VGQlNTeEpRVUZKTVVNc1JVRkJSWGxMTEZGQlFWRnlTeXhMUVVGTGFVUXNVVUZCVVhsRUxFMUJRVTBzUTBGQlF5eE5RVUZOTEZOQlFWTXNSMEZCUnl4SFFVRkhja1VzUjBGQlIyOUdMRVZCUVVWMFJpeFRRVUZUYmtNc1MwRkJTMmRJTEZGQlFWRlRMRVZCUVVWdVJpeFhRVUZYZEVNc1MwRkJTMmxFTEZGQlFWRTBTQ3huUWtGQlowSXNSVUZCUlN4RlFVRkZlRWtzUjBGQlIzSkRMRXRCUVV0cFJDeFJRVUZSVml4UlFVRlJka01zUzBGQlMybEVMRkZCUVZGNVJDeFBRVUZQTVVjc1MwRkJTMmRJTEZGQlFWRm9TQ3hMUVVGTGJVZ3NUMEZCVDI1SUxFdEJRVXRwUkN4UlFVRlJlVVFzVVVGQlVTeEhRVUZITEVkQlFVZHJTaXhGUVVGRk5WQXNTMEZCUzIxSUxFOUJRVTl1U0N4TFFVRkxaMGdzVVVGQlVXaElMRXRCUVV0cFJDeFJRVUZSZVVnc1QwRkJUM0pKTEVkQlFVZDFUaXhGUVVGRmJra3NSVUZCUldwR0xGZEJRVmRLTEVsQlFVbHhSaXhGUVVGRmJFWXNUMEZCVDBnc1JVRkJSWGRPTEVWQlFVVnVTU3hGUVVGRmFrWXNWMEZCVjBnc1NVRkJTVzlHTEVWQlFVVnNSaXhQUVVGUFJpeEZRVUZGY2tNc1MwRkJTekpKTEZGQlFWRkRMRWxCUVVsblNDeEhRVUZIYmtrc1JVRkJSUzlGTEdWQlFXVXNRMEZCUXpGRExFdEJRVXNyVUN4dFFrRkJiVUl2VUN4TFFVRkxhVVFzVTBGQlUycEVMRXRCUVVzeVNTeFJRVUZSUXl4SlFVRkpMRlZCUVZVc1IwRkJSMEVzU1VGQlNTeFhRVUZYTlVrc1MwRkJTMmRJTEZGQlFWRm9TQ3hMUVVGTGMwTXNVMEZCVTNSRExFdEJRVXRwUkN4UlFVRlJNa2dzVjBGQlZ6VkxMRXRCUVV0cFNDeFBRVUZQYWtnc1MwRkJTM05ETEZkQlFWY3dUQ3haUVVGWkxIZENRVUYzUW1oUExFdEJRVXRuU0N4UlFVRlJhRWdzUzBGQlMybEVMRkZCUVZGa0xGZEJRVmR0UWl4VFFVRlRMSGRDUVVGM1FuUkVMRXRCUVV0cFJDeFJRVUZSWkN4VlFVRlZia01zUzBGQlMybEVMRk5CUVZOcVJDeExRVUZMYVVRc1VVRkJVVEJJTEZGQlFWRjFSQ3hMUVVGTExGRkJRVkVzTmtKQlFUWkNiRThzUzBGQlMyZElMRkZCUVZGb1NDeExRVUZMYzBNc1ZVRkJWWE5ITEVsQlFVazFTU3hMUVVGTGFVUXNVVUZCVVRaSUxGRkJRVkU1U3l4TFFVRkxLMUFzYTBKQlFXbENMRVZCUVVjdlVDeExRVUZMTms0c1UwRkJVU3hIUVVGSkxFbEJRVWx0UXl4RlFVRkZiRkVzUlVGQlJYZEhMRWxCUVVselNpeEZRVUZGZEVvc1MwRkJTMjFDTEVWQlFVVTNSU3hsUVVGbE1FUXNTMEZCU3l4SFFVRkhNa29zUlVGQlJXNVJMRVZCUVVWNVJ5eE5RVUZOY1Vvc1JVRkJSVzVLTEV0QlFVczRRaXhGUVVGRmJrY3NSMEZCUjNGR0xFVkJRVVUzUlN4bFFVRmxNa1FzVDBGQlR5eEhRVUZITWtvc1JVRkJSWEJSTEVWQlFVVXdSeXhQUVVGUGIwb3NSVUZCUlhSS0xFbEJRVWxwUXl4RlFVRkZiRWNzUjBGQlIyOUdMRVZCUVVVM1JTeGxRVUZsTkVRc1VVRkJVU3hIUVVGSE1rb3NSVUZCUlhKUkxFVkJRVVV5Unl4TFFVRkxiVW9zUlVGQlJXNUtMRTFCUVUxblFpeEZRVUZGTjBVc1pVRkJaVFpFTEUxQlFVMHNSMEZCUnpKS0xFVkJRVVZFTEVWQlFVVXNUMEZCVDBZc1JVRkJSU3hSUVVGUkxFdEJRVXRPTEVWQlFVVkxMRVZCUVVVc1RVRkJUVVVzUlVGQlJTeFRRVUZUTEV0QlFVc3NSMEZCUjBVc1IwRkJSMVFzUlVGQlJTeERRVUZETEVsQlFVa3NVMEZCVXpOUUxFdEJRVXN5Uml4TlFVRk5MRmRCUVZjelJpeExRVUZMTWtZc1QwRkJUeXhWUVVGVkwwWXNSVUZCUlN0R0xFdEJRVXN6Uml4TFFVRkxReXhSUVVGUmEwTXNVMEZCVTBNc1NVRkJTU3hWUVVGVmVFTXNSVUZCUlN0R0xFdEJRVXN6Uml4TFFVRkxReXhSUVVGUmEwTXNVMEZCVTBVc1IwRkJSeXhEUVVGRExFbEJRVWxFTEVWQlFVVXNSVUZCUlVNc1JVRkJSU3hGUVVGRkxFOUJRVTl5UXl4TFFVRkxReXhSUVVGUkswTXNaVUZCWlcxT0xFVkJRVVV2VGl4RlFVRkZkRU1zUlVGQlJUSkhMRTFCUVUxdFNpeEZRVUZGYmtvc1RVRkJUV2RDTEVWQlFVVTNSU3hsUVVGbE5rUXNUVUZCVFN4SlFVRkpkMG9zU1VGQlNUZE9MRVZCUVVWMFF5eEZRVUZGZVVjc1QwRkJUM0ZLTEVWQlFVVnVTaXhMUVVGTE9FSXNSVUZCUlc1SExFZEJRVWR4Uml4RlFVRkZOMFVzWlVGQlpUSkVMRTlCUVU4c1MwRkJTM2xLTEVWQlFVVXpUaXhGUVVGRmRrTXNSVUZCUlhkSExFdEJRVXR6U2l4RlFVRkZkRW9zUzBGQlMyMUNMRVZCUVVVM1JTeGxRVUZsTUVRc1MwRkJTeXhKUVVGSk5Fb3NTVUZCU1RkT0xFVkJRVVYyUXl4RlFVRkZNRWNzVVVGQlVXOUtMRVZCUVVWMFNpeEpRVUZKYVVNc1JVRkJSV3hITEVkQlFVZHZSaXhGUVVGRk4wVXNaVUZCWlRSRUxGRkJRVkVzUzBGQlMzaEhMRXRCUVV0RExGRkJRVkZyUXl4VFFVRlRReXhGUVVGRmQwVXNTMEZCUzBNc1NVRkJTUzlITEVWQlFVVjNSeXhKUVVGSmRFY3NTMEZCUzBNc1VVRkJVV3RETEZOQlFWTkRMRVZCUVVWQkxFZEJRVWR3UXl4TFFVRkxReXhSUVVGUmEwTXNVMEZCVTBVc1JVRkJSWFZGTEV0QlFVdERMRWxCUVVrdlJ5eEZRVUZGTWtjc1MwRkJTM3BITEV0QlFVdERMRkZCUVZGclF5eFRRVUZUUlN4RlFVRkZRU3hIUVVGSGQwNHNSVUZCUlN4TFFVRkxRU3hGUVVGRkxFdEJRVXMzVUN4TFFVRkxNa2tzVVVGQlVVTXNTVUZCU1dkSUxFbEJRVWsxVUN4TFFVRkxiVWNzVjBGQlZ5eGpRVUZqYmtjc1RVRkJTeXhKUVVGTGVVZ3NSVUZCUlM5RkxHZENRVUZuUWl4VFFVRlRLMFVzUlVGQlJTOUZMR2xDUVVGcFFqSk9MRVZCUVVVc1UwRkJVM1pSTEVkQlFVZEZMRXRCUVVzeVNTeFJRVUZSUXl4SlFVRkpOVWtzUzBGQlMyMUlMRTlCUVU5eVNDeEhRVUZIT0ZBc1JVRkJSVFZRTEV0QlFVdHRTQ3hQUVVGUGNrZ3NTMEZCUzNsSkxFVkJRVVYyU1N4TFFVRkxhVWdzVDBGQlQyNUlMRWxCUVVreVNDeEZRVUZGYkVZc1QwRkJUM1pETEV0QlFVdHBTQ3hQUVVGUGJrZ3NTMEZCU3l4UFFVRlBRU3hIUVVGSExGRkJRVkZCTEVkQlFVY3NSVUZCUlN4SFFVRkhaMGtzUlVGQlJUbElMRXRCUVV0cFNDeFBRVUZQYmtnc1RVRkJUU3hQUVVGUFFTeEhRVUZITEZGQlFWRkJMRVZCUVVVc1IwRkJSeXhKUVVGSlJTeExRVUZMYVVRc1UwRkJVMnBFTEV0QlFVc3lTU3hSUVVGUmNVWXNXVUZCV1N4M1FrRkJkMEpvVHl4TFFVRkxhVVFzVVVGQlVXUXNWVUZCVlcxQ0xGTkJRVk1zZDBKQlFYZENkRVFzUzBGQlMyZElMRkZCUVZGb1NDeExRVUZMYVVRc1VVRkJVV1FzVjBGQlYzbEhMRWxCUVVrc1ZVRkJWU3hIUVVGSFFTeEpRVUZKTEZkQlFWYzVTU3hGUVVGRlJTeExRVUZMYVVRc1VVRkJVVEpJTEZkQlFWYzFTeXhMUVVGTGFVZ3NUMEZCVDI1SUxFdEJRVXRGTEV0QlFVdHBSQ3hUUVVGVGFrUXNTMEZCUzJsRUxGRkJRVkV3U0N4UlFVRlJkVVFzUzBGQlN5eFJRVUZSTERaQ1FVRTJRbkJQTEVkQlFVZEZMRXRCUVVzclVDeHJRa0ZCYVVJc1JVRkJSeTlRTEV0QlFVczJUaXhUUVVGUkxFZEJRVWw2U0N4TFFVRkxjRWNzVFVGQlRUQlFMRVZCUVVWMFRpeEhRVUZIYVU4c1JVRkJSWEpSTEV0QlFVdERMRkZCUVZGclF5eFRRVUZUUXl4SFFVRkhjMDRzUlVGQlJYSk9MRWRCUVVkblR5eEZRVUZGY2xFc1MwRkJTME1zVVVGQlVXdERMRk5CUVZORkxFbEJRVWtzU1VGQlNXZFBMRVZCUVVVc1MwRkJTM0pSTEV0QlFVdHBTQ3hQUVVGUGFrZ3NTMEZCUzNORExGTkJRVk54VGl4RlFVRkZVeXhGUVVGRmNGRXNTMEZCUzJsRUxGTkJRVk1zVlVGQlZYZEZMRVZCUVVWMlJTeFRRVUZUTEZGQlFWRjFSU3hGUVVGRkwwVXNaMEpCUVdkQ01VTXNTMEZCUzJsSUxFOUJRVTl2U2l4SlFVRkpjbEVzUzBGQlMyZElMRkZCUVZGb1NDeExRVUZMYVVnc1QwRkJUMnBJTEV0QlFVdHpReXhaUVVGWmNVNHNSVUZCUlN4VlFVRlZNMUFzUzBGQlMybEVMRkZCUVZGNVJDeE5RVUZOTmtJc1JVRkJSWFpKTEV0QlFVdHBTQ3hQUVVGUGIwb3NTVUZCU1N4RlFVRkZjbEVzUzBGQlMybEVMRkZCUVZFeVNDeFhRVUZYTlVzc1MwRkJTMmRJTEZGQlFWRm9TQ3hMUVVGTGFVUXNVVUZCVVhsSUxFdEJRVXNzUlVGQlJYQkVMRk5CUVZOMFNDeExRVUZMYVVRc1VVRkJVVEJJTEZGQlFWRXZRaXhKUVVGSkxGVkJRVlUxU1N4TFFVRkxhVVFzVVVGQlVUUklMR3RDUVVGclFuZEdMRWRCUVVkeVVTeExRVUZMYlVnc1QwRkJUMnRLTEVsQlFVa3NSVUZCUlN4SFFVRkhRU3hIUVVGSGNsRXNTMEZCUzJsRUxGRkJRVkUwU0N4bFFVRmxka1FzVTBGQlUzUklMRXRCUVV0cFJDeFJRVUZSTUVnc1VVRkJVUzlDTEVsQlFVa3NWVUZCVlRWSkxFdEJRVXRwUkN4UlFVRlJORWdzYVVKQlFXbENkRU1zUlVGQlJYWkpMRXRCUVV0cFNDeFBRVUZQYjBvc1NVRkJTUzlKTEZOQlFWTjBTQ3hMUVVGTGFVUXNVVUZCVVRCSUxGRkJRVkV2UWl4SlFVRkpMRlZCUVZVMVNTeExRVUZMYVVRc1VVRkJVVFJJTEdsQ1FVRnBRamRMTEV0QlFVdHBSQ3hSUVVGUk1rZ3NWMEZCVnpWTExFdEJRVXRwU0N4UFFVRlBiMG9zU1VGQlNVUXNSVUZCUlVNc1IwRkJSM0pSTEV0QlFVdHRTQ3hQUVVGUGEwb3NSMEZCUjNaUkxFVkJRVVZGTEV0QlFVdHRTQ3hQUVVGUGEwb3NTVUZCU1ZRc1JVRkJSVFZRTEV0QlFVdHRTQ3hQUVVGUGEwb3NTVUZCU1RWSkxFVkJRVVUzUlN4bFFVRmxlVTRzU1VGQlNTeEhRVUZIZGxFc1JVRkJSVVVzUzBGQlMyZElMRkZCUVZGb1NDeExRVUZMYlVnc1QwRkJUMnRLTEV0QlFVdFVMRVZCUVVVMVVDeExRVUZMYlVnc1QwRkJUMnRLTEVsQlFVazFTU3hGUVVGRk4wVXNaVUZCWlhsT0xFZEJRVWM1U0N4RlFVRkZka2tzUzBGQlMybElMRTlCUVU5dlNpeExRVUZMUVN4SFFVRkhjbEVzUzBGQlMyZElMRkZCUVZGb1NDeExRVUZMYlVnc1QwRkJUMnRLTEV0QlFVdFVMRVZCUVVVMVVDeExRVUZMYlVnc1QwRkJUMnRLTEVsQlFVbEVMRVZCUVVWMFVTeEZRVUZGUlN4TFFVRkxiVWdzVDBGQlQydEtMRWxCUVVrMVNTeEZRVUZGTjBVc1pVRkJaVFZETEV0QlFVdHRTQ3hQUVVGUGEwb3NUVUZCVFVRc1IwRkJSM1JSTEVWQlFVVkZMRXRCUVV0dFNDeFBRVUZQYTBvc1NVRkJTVFZKTEVWQlFVVTNSU3hsUVVGbE5VTXNTMEZCUzIxSUxFOUJRVTlyU2l4TFFVRkxWQ3hGUVVGRk5WQXNTMEZCUzIxSUxFOUJRVTlyU2l4SlFVRkpSQ3hMUVVGTFFTeEZRVUZGZUVvc1MwRkJTMjFJTEVsQlFVbHhReXhGUVVGRlZDeExRVUZMUVN4SFFVRkhMRVZCUVVWVExFbEJRVWx3VVN4TFFVRkxhVVFzVVVGQlVUQklMRkZCUVZFdlFpeEpRVUZKTEZWQlFWVTFTU3hMUVVGTGFVUXNVVUZCVVRSSUxHVkJRV1YyUkN4VFFVRlRkRWdzUzBGQlMybEVMRkZCUVZFd1NDeFJRVUZSTDBJc1NVRkJTU3hWUVVGVk5Va3NTMEZCUzJsRUxGRkJRVkUwU0N4cFFrRkJhVUoxUml4SFFVRkhReXhIUVVGSGNsRXNTMEZCUzJsRUxGRkJRVkUwU0N4blFrRkJaMElzUlVGQlJTeEpRVUZKTjBzc1MwRkJTekpKTEZGQlFWRkRMRWxCUVVrMVNTeExRVUZMYlVnc1QwRkJUMnRLTEVkQlFVZFVMRVZCUVVVMVVDeExRVUZMYlVnc1QwRkJUMnRLTEVsQlFVbEVMRWRCUVVkRExFZEJRVWR5VVN4TFFVRkxiVWdzVDBGQlQydEtMRWxCUVVrc1JVRkJSU3hKUVVGSmNsRXNTMEZCU3l0UUxHdENRVUZwUWl4TFFVRk5MRTlCUVU4dlVDeExRVUZMYlVjc1YwRkJWeXhqUVVGamJrY3NUMEZCVDBnc1JVRkJSVFJQTEZWQlFWVTJRaXhUUVVGVExGTkJRVk40VVN4SFFVRkhMRWRCUVVkRkxFdEJRVXQxVVN4SlFVRkpMRk5CUVZONlVTeEZRVUZGUXl4SFFVRkhNRVlzVDBGQlR5dExMR2RDUVVGblFpOUxMRTlCUVU4clN5eGpRVUZqTEVsQlFVa3ZTeXhQUVVGUEswc3NZMEZCWXpGUkxFZEJRVWRETEVkQlFVZERMRXRCUVV0NVVTeEpRVUZKTEZOQlFWTXpVU3hIUVVGSExFOUJRVTh5Uml4UFFVRlBLMHNzWTBGQll5OUxMRTlCUVU4clN5eGpRVUZqTVZFc1IwRkJSeXhOUVVGTlJTeExRVUZMTUZFc2EwSkJRV3RDTEZkQlFWY3NSMEZCUnpGUkxFdEJRVXQ1VVN4SlFVRkpMR3RDUVVGclFpeFBRVUZQZWxFc1MwRkJTM2xSTEVsQlFVa3NhMEpCUVd0Q0xFdEJRVXNzU1VGQlNUTlJMRVZCUVVWcFJ5eFRRVUZUTkVzc1kwRkJZeXhQUVVGUE4xRXNSVUZCUlRSSkxFMUJRVTEyU1N4TlFVRk5MRkZCUVZGTUxFVkJRVVUwU1N4TlFVRk5kRWtzVDBGQlR5eFJRVUZSVGl4RlFVRkZORWtzVFVGQlRXdEpMRk5CUVZNc1UwRkJVemxSTEVWQlFVVTBTU3hOUVVGTmRrY3NVMEZCVXl4WFFVRlhja01zUlVGQlJUUkpMRTFCUVUxd1F5eEpRVUZKTEZOQlFWTlFMRk5CUVZNNFN5eExRVUZMY2tjc1dVRkJXVEZMTEVkQlFVY3NTVUZCU1VNc1JVRkJSVVFzUlVGQlJXZFNMRmxCUVZsb1VpeEZRVUZGYVZJc1dVRkJXU3hQUVVGUGFFd3NVMEZCVXpoTExFdEJRVXRITEZsQlFWbHNVaXhIUVVGSFJTeExRVUZMZFZFc1NVRkJTU3hwUWtGQmFVSjRVU3hIUVVGSFFTeEZRVUZGTEUxQlFVMURMRXRCUVV0cFVpeHZRa0ZCYjBJc1UwRkJVM2hLTEVsQlFVbEJMRVZCUVVVc2FVSkJRV2xDUVN4RlFVRkZRU3hIUVVGSExFbEJRVWtzUTBGQlF5eERRVUZEUVN4RlFVRkZMR3RDUVVGclFrRXNSMEZCUjNsS0xGRkJRVkVzVTBGQlUzQlNMRVZCUVVWRExFZEJRVWNzYVVKQlFXbENSQ3hKUVVGSk1rZ3NSVUZCUlRGSUxFZEJRVWNzUTBGQlEwUXNSVUZCUlN4dlFrRkJiMElzU1VGQlNTeEpRVUZKUVN4SFFVRkZMRVZCUVVkRExFVkJRVVVzUlVGQlJVRXNSVUZCUlRCSUxFVkJRVVZOTEU5QlFVOW9TU3hMUVVGTExFbEJRVWt3U0N4RlFVRkZNVWdzUjBGQlJ5eEhRVUZIYjFJc1VVRkJVU3hWUVVGVmNsSXNSMEZCUlN4SFFVRkpMRTlCUVUwc1NVRkJTMEVzUjBGQlJ6SklMRVZCUVVVMFJ5eExRVUZMTEVOQlFVTXNUMEZCVHl4clFrRkJhMEkxUnl4SFFVRkhla2dzUzBGQlMyOVNMR2xDUVVGcFFpeFhRVUZYTEU5QlFVOXdVaXhMUVVGTE1GRXNjVUpCUVhGQ00wc3NVMEZCVXpoTExFdEJRVXRSTEdGQlFXRTFUQ3hQUVVGUE5rd3NZVUZCWVhSU0xFdEJRVXR2VWl4dFFrRkJiVUlzUTBGQlEzUlNMRVZCUVVWRkxFdEJRVXRwVWl4dlFrRkJiMEp1VWl4SFFVRkhMRWxCUVVrc1NVRkJTVU1zUlVGQlJTeEZRVUZGUVN4RlFVRkZSQ3hGUVVGRmFVa3NUMEZCVDJoSkxFbEJRVWtzU1VGQlNTeEpRVUZKTUVnc1JVRkJSVEZDTEZOQlFWTjNUQ3hwUWtGQmFVSjZVaXhGUVVGRlF5eEhRVUZITEVsQlFVbDNTU3hGUVVGRkxFVkJRVVZCTEVWQlFVVmtMRVZCUVVWTkxFOUJRVTlSTEVsQlFVa3NRMEZCUXl4SFFVRkhaQ3hGUVVGRll5eEhRVUZIYVVvc1lVRkJZU3hwUWtGQmFVSXNUMEZCVHl4SlFVRkpNVW9zUlVGQlJXaEpMRVZCUVVWRExFZEJRVWNzUjBGQlIyZEtMRVZCUVVWMFJDeFBRVUZQWjAwc2FVSkJRV2xDYUVzc1JVRkJSV01zU1VGQlNXMUtMR2xDUVVGcFFqVktMRWRCUVVkTUxFVkJRVVZqTEVkQlFVZFlMR0ZCUVdFc1owSkJRV2RDUlN4SFFVRkhhVUlzUlVGQlJVRXNSMEZCUnl4TlFVRk5MRWxCUVVsRExFVkJRVVVzYVVKQlFXbENiRUlzUjBGQlJ5eFRRVUZUUVN4RlFVRkZMRWxCUVVrc1NVRkJTVXdzUlVGQlJXTXNSMEZCUjBjc1RVRkJUVm9zUjBGQlJ5eFJRVUZSYVVJc1JVRkJSU3hKUVVGSlF5eEZRVUZGTEVsQlFVbG9TaXhMUVVGTE1GRXNiMEpCUVc5Q0xFdEJRVXNzU1VGQlNUZFJMRVZCUVVVMlVDeEZRVUZGTTBvc1UwRkJVelJNTEdWQlFXVXNlVUpCUVhsQ09WSXNSVUZCUld0SExGTkJRVk0yVEN4TlFVRk5OMHdzVTBGQlV6aE1MSEZDUVVGeFFpeFJRVUZSTEVsQlFVbHVReXhGUVVGRk0wb3NVMEZCVXpSTExHTkJRV01zVlVGQlZXaE1MRXRCUVVzc1YwRkJWeXRLTEVWQlFVVTVTQ3hoUVVGaExFdEJRVXNzZFVKQlFYVkNPRWdzUlVGQlJXeEdMRmxCUVZsNlJTeFRRVUZUSzB3c1pVRkJaU3h0UkVGQmJVUnFVeXhGUVVGRk1rc3NXVUZCV1d0R0xFbEJRVWt6U2l4VFFVRlRPRXNzUzBGQlMydENMRlZCUVZWRExFbEJRVWtzYTBKQlFXdENReXhOUVVGTkxGZEJRVmNzU1VGQlNTeEpRVUZKYmxNc1JVRkJSV2xITEZOQlFWTjNUQ3hwUWtGQmFVSXNiVUpCUVcxQ2VGSXNSVUZCUlN4RlFVRkZRU3hGUVVGRlJDeEZRVUZGYVVrc1QwRkJUMmhKTEVsQlFVa3NRMEZCUXl4SlFVRkpNRWdzUlVGQlJUTklMRVZCUVVWRExFZEJRVWQ1VWl4aFFVRmhMR2xDUVVGcFFqRlNMRVZCUVVWRExFZEJRVWN5U1N4TlFVRk5ha0lzUjBGQlJ5eExRVUZMTTBnc1JVRkJSVU1zUjBGQlIyMVRMR2RDUVVGblFpeHBRa0ZCYVVKdVRTeFRRVUZUT0Vzc1MwRkJTMnRDTEZWQlFWVkpMRTlCUVU4c2FVSkJRV2xDZEZNc1JVRkJSVFJQTEZWQlFWVXhReXhMUVVGTExGTkJRVk5xVFN4SFFVRkhMRWRCUVVkQkxFVkJRVVZCTEVkQlFVY3NSMEZCUjBVc1MwRkJTMjlUTEZsQlFWa3NUMEZCVDNCVExFdEJRVXNzUjBGQlIwRXNTMEZCU3pKSkxGTkJRVk16U1N4TFFVRkxLMG9zVlVGQlZTOUtMRXRCUVV0eFV5eFZRVUZWY2xNc1MwRkJTM0ZUTEZGQlFWRjZVeXhGUVVGRkxGbEJRVmt5U3l4UFFVRlBka3NzUzBGQlMzVk9MR1ZCUVdWMlNpeFRRVUZUY0VVc1JVRkJSU3hWUVVGVlNTeExRVUZMTkU4c1QwRkJUME1zWVVGQllUZFBMRXRCUVVzMFR5eFBRVUZQTlU4c1MwRkJTM2RPTEd0Q1FVRnJRbmhPTEV0QlFVdHpVeXhYUVVGWExFOUJRVTkwVXl4TFFVRkxRU3hMUVVGTFF5eFJRVUZSTWtRc1dVRkJXV2hGTEVWQlFVVnRSeXhWUVVGVmFVTXNSMEZCUnl4alFVRmphRWtzUzBGQlMwVXNSMEZCUnl4VFFVRlRTaXhIUVVGSExFbEJRVWxCTEVWQlFVVjVVeXhUUVVGVGRsTXNTMEZCUzI5S0xFMUJRVTBzUTBGQlEwTXNZVUZCV1N4TFFVRk5ha1FzUzBGQlMzQkhMRkZCUVU4c1NVRkJTMEVzUzBGQlMwTXNVVUZCVVRSRUxHTkJRV01zVTBGQlV6ZEVMRXRCUVV0RExGRkJRVkUwUkN4bFFVRmxha1VzUlVGQlJTeFJRVUZSYjBrc1IwRkJSeXhqUVVGamFFa3NTMEZCUzBVc1IwRkJSeXhoUVVGaFJpeExRVUZMUlN4SFFVRkhMRk5CUVZOS0xFZEJRVWRGTEV0QlFVdDVUaXhuUWtGQlowSXNVVUZCVVhwT0xFdEJRVXRETEZGQlFWRTBSQ3hsUVVGbEwwUXNSVUZCUlc5RExGRkJRVkZzUXl4TFFVRkxNa2tzVVVGQlVTeEpRVUZKTTBrc1MwRkJTekpKTEZGQlFWRTJTaXhKUVVGSk1WTXNSVUZCUlc5RExGRkJRVkUyUml4VFFVRlRMMGdzUzBGQlMyOUtMRTFCUVUwc1EwRkJRME1zWVVGQldTeExRVUZOYWtRc1MwRkJTM0JITEU5QlFVOUJMRXRCUVVzMFJpeGxRVUZsYUVjc1JVRkJSU3haUVVGWmIwa3NSMEZCUnl4alFVRmphRWtzUzBGQlMwVXNSMEZCUnl4aFFVRmhSaXhMUVVGTFJTeEhRVUZITEZkQlFWY3NUMEZCVFN4TFFVRk5MRWxCUVVsSUxFVkJRVVVzV1VGQlZ5eEpRVUZMUXl4TFFVRkxPRWNzY1VKQlFYRkNha2dzUlVGQlJUaEhMRlZCUVZWRExFdEJRVXRETEVsQlFVbFRMRk5CUVZOMFNDeExRVUZMTWtrc1VVRkJVVU1zU1VGQlNTeFZRVUZWTEVsQlFVazFTU3hMUVVGTFF5eFJRVUZSZDBRc1QwRkJUelZFTEVWQlFVVTRSeXhYUVVGWExFVkJRVVU1Unl4RlFVRkZPRW9zYlVKQlFXMUNMRWRCUVVjc1JVRkJSVE5LTEV0QlFVc3lTU3hSUVVGUlF5eEpRVUZKTEZOQlFWTXZTU3hGUVVGRk9FY3NWMEZCVnpOSExFdEJRVXRETEZGQlFWRjNSQ3hQUVVGUE5VUXNSVUZCUlRoSExGZEJRVmN6Unl4TFFVRkxiVXNzVVVGQlVXNUxMRXRCUVV0RExGRkJRVkZyUWl4VlFVRlZia0lzUzBGQlMyMUxMRTlCUVU4clJDeExRVUZMYkU4c1MwRkJTME1zVVVGQlVXdENMRmRCUVZkdVFpeExRVUZMSzBzc1UwRkJVeTlMTEV0QlFVdHRTeXhQUVVGUEswUXNTMEZCUzJ4UExFdEJRVXRETEZGQlFWRnJRaXhYUVVGVkxFZEJRVWx1UWl4TFFVRkxiVXNzVVVGQlVXNUxMRXRCUVV0RExGRkJRVkZuUWl4aFFVRmhha0lzUzBGQlMyMUxMRTlCUVU4elNTeExRVUZMTEcxQ1FVRnRRbmhDTEV0QlFVczBRaXhYUVVGWE5VSXNTMEZCUzIxTExFOUJRVTh6U1N4TFFVRkxMRzlDUVVGdFFpeEhRVUZKZUVJc1MwRkJTMjFMTEU5QlFVOHJSQ3hMUVVGTGJFOHNTMEZCUzBNc1VVRkJVV2RDTEZsQlFWbHFRaXhMUVVGTE5FSXNWMEZCVnpWQ0xFdEJRVXR0U3l4UFFVRlBLMFFzUzBGQlMyeFBMRXRCUVV0RExGRkJRVkZuUWl4aFFVRlpMRWRCUVVrc1VVRkJVV3BDTEV0QlFVdERMRkZCUVZGblFpeFpRVUZaYWtJc1MwRkJTelJDTEZkQlFWYzFRaXhMUVVGTGJVc3NUMEZCVHpoRkxGRkJRVThzU1VGQlMycFFMRXRCUVV0dFJ5eFhRVUZYTEZkQlFWZHVSeXhMUVVGTFF5eFJRVUZSY1VJc1QwRkJUM1JDTEV0QlFVdERMRkZCUVZGeFFpeExRVUZMUXl4TFFVRkxka0lzUzBGQlMyMUxMRkZCUVZGdVN5eExRVUZMYlVzc1QwRkJUeXRFTEV0QlFVdHNUeXhMUVVGTFF5eFJRVUZSY1VJc1MwRkJTMGtzV1VGQldURkNMRXRCUVV0NVV5eFpRVUZaZWxNc1MwRkJTME1zVVVGQlVYRkNMRXRCUVV0SExGTkJRVk16UWl4RlFVRkZkMElzVDBGQlQzaENMRVZCUVVWM1FpeExRVUZMUXl4TFFVRkxla0lzUlVGQlJYZENMRXRCUVV0RkxGTkJRVk1zVlVGQlZYaENMRXRCUVV0RExGRkJRVkZ4UWl4TFFVRkxSeXhUUVVGVGVrSXNTMEZCUzIxTExGTkJRVk51U3l4TFFVRkxiVXNzVDBGQlR6TkpMRXRCUVVzc2JVSkJRVzFDTVVJc1JVRkJSWGRDTEU5QlFVOTRRaXhGUVVGRmQwSXNTMEZCUzBNc1MwRkJTM3BDTEVWQlFVVjNRaXhMUVVGTFJTeE5RVUZOZUVJc1MwRkJTM05DTEV0QlFVdDRRaXhGUVVGRmQwSXNUVUZCVFN4TlFVRkxMRWRCUVVsMFFpeExRVUZMTkVJc1YwRkJWelZDTEV0QlFVdHRTeXhQUVVGUE0wa3NTMEZCU3l4dlFrRkJiMEo0UWl4TFFVRkxNRk1zYlVKQlFXMUNNVk1zUzBGQlMwTXNVVUZCVVRaRExHMUNRVUZ0UWpsRExFdEJRVXR0UXl4VFFVRlRja01zUzBGQlMwVXNTMEZCU3pCVExHdENRVUZwUWl4SFFVRkpNVk1zUzBGQlN6SlRMRmRCUVZjelV5eExRVUZMYVU4c2EwSkJRV3RDYWs4c1MwRkJTelJPTEZOQlFWTTFUaXhMUVVGTE5FNHNVVUZCVHl4RlFVRkhOVTRzUzBGQlMwTXNVVUZCVVhGRkxGbEJRVmwwUlN4TFFVRkxReXhSUVVGUk1FUXNWMEZCVnpORUxFdEJRVXRETEZGQlFWRnhSU3haUVVGWmRFVXNTMEZCUzI5S0xGRkJRVkZ3U2l4TFFVRkxaMHdzWjBKQlFXZENhRXdzUzBGQlMwTXNVVUZCVVdsRkxHTkJRV05zUlN4TFFVRkxReXhSUVVGUmEwVXNhMEpCUVd0Q2RFVXNSVUZCUlN0VExHdENRVUZyUWk5VExFVkJRVVVyVXl4eFFrRkJjVUl2VXl4RlFVRkZLMU1zYTBKQlFXdENMRVZCUVVVMVV5eExRVUZMYzFFc1UwRkJVM1ZETEUxQlFVMURMRkZCUVZFNVV5eExRVUZMUXl4UlFVRlJhMFVzYjBKQlFXOUNMR2xDUVVGcFFtNUZMRXRCUVV0RExGRkJRVkZyUlN4clFrRkJhMEp1UlN4TFFVRkxReXhSUVVGUmEwVXNhMEpCUVd0Q0xFOUJRVTkyUlN4RlFVRkZMRkZCUVZFd1JDeFRRVUZUTEc5Q1FVRnZRblJFTEV0QlFVdEZMRXRCUVV0R0xFdEJRVXRETEZGQlFWRnpSQ3hWUVVGVmRrUXNTMEZCUzI5TUxHVkJRV1Z3VEN4TFFVRkxiVU1zV1VGQldXNURMRXRCUVV0RExGRkJRVkZ0UkN4WlFVRlpjRVFzUzBGQlN6SlRMRmRCUVZjelV5eExRVUZMTWs0c1UwRkJVeXhSUVVGUk0wNHNTMEZCUzBNc1VVRkJVWGxGTEU5QlFVOHhSU3hMUVVGTFF5eFJRVUZSZVVVc1RVRkJUWEZJTEUxQlFVMHZUQ3hMUVVGTE1FVXNUVUZCVFRGRkxFdEJRVXRETEZGQlFWRjVSU3hOUVVGTmNVZ3NTMEZCU3k5TUxFdEJRVXRETEZGQlFWRXdSU3hQUVVGUGIwZ3NUVUZCVFM5TUxFdEJRVXRETEZGQlFWRnJSQ3hMUVVGTGJrUXNTMEZCU3pKSkxGRkJRVkV3UXl4UFFVRlBReXhSUVVGUkxFTkJRVU53UWl4UlFVRlJMRWRCUVVjc1EwRkJRM0ZDTEU5QlFVMHNSVUZCUjBNc1UwRkJVM2hNTEV0QlFVdERMRkZCUVZGclJDeExRVUZMYzBrc1RVRkJUU3hYUVVGWGVrd3NTMEZCU3l0VExGZEJRVlVzUlVGQlJ5OVRMRXRCUVVzeVNTeFJRVUZSUXl4SlFVRkpMRU5CUVVOeFFpeFJRVUZSTEZkQlFWYzNSQ3hMUVVGTGNFY3NUVUZCVFdkVUxFOUJRVThzVjBGQlYyaFVMRXRCUVVzclV5eFhRVUZWTEVWQlFVZHlSaXhYUVVGWExGZEJRVmN4VGl4TFFVRkxhVlFzZDBKQlFYZENhbFFzUzBGQlMyMURMR0ZCUVdGdVF5eExRVUZMYVZRc2QwSkJRWFZDTEVsQlFVczNUU3hMUVVGTGNFY3NUVUZCVFN4TFFVRkxiMGNzUzBGQlMzQkhMRk5CUVZOQkxFdEJRVXN5U1N4UlFVRlJReXhKUVVGSkxFTkJRVU54UWl4UlFVRlJMRkZCUVZGRExGRkJRVkVzU1VGQlNXeExMRXRCUVV0cFZDeDNRa0ZCZDBKcVZDeExRVUZMYlVNc1lVRkJZVzVETEV0QlFVdHBWQ3gzUWtGQmRVSXNUVUZCVHpkTkxFdEJRVXR3Unl4TlFVRk5MRTlCUVU5QkxFdEJRVXRETEZGQlFWRjVSQ3hYUVVGWE1VUXNTMEZCU3pST0xGRkJRVkUxVGl4TFFVRkxNbE1zVjBGQlZ6ZFRMRVZCUVVWMVNpeFpRVUZaZEVvc1NVRkJTVU1zUzBGQlN6UlBMRTFCUVUxc1FpeFhRVUZYTTA0c1JVRkJSVU1zUzBGQlMwTXNVVUZCVVhsRUxGZEJRVmN4UkN4TlFVRk5TQ3hGUVVGRk5FOHNWVUZCVlhKR0xFMUJRVTBzVTBGQlUzUktMRWRCUVVjc1IwRkJSMEVzUlVGQlJVRXNSMEZCUnl4SFFVRkhSaXhGUVVGRkxGRkJRVkZwU3l4SlFVRkpMR05CUVdNM1NpeExRVUZMUlN4SFFVRkhMR0ZCUVdGR0xFdEJRVXRGTEVsQlFVbEdMRXRCUVVzMFJpeGxRVUZsYUVjc1JVRkJSU3haUVVGWmFVc3NTVUZCU1N4alFVRmpOMG9zUzBGQlMwVXNSMEZCUnl4aFFVRmhSaXhMUVVGTFJTeEpRVUZKUml4TFFVRkxiMU1zWVVGQllYQlRMRXRCUVVzeVV5eFZRVUZWTEU5QlFVOHpVeXhMUVVGTExFZEJRVWRCTEV0QlFVczBUeXhQUVVGUFF5eGhRVUZoTjA4c1MwRkJTelJQTEU5QlFVODFUeXhMUVVGTGQwNHNhMEpCUVd0Q2VFNHNTMEZCUzNOVExGZEJRVmNzVDBGQlQzUlRMRXRCUVVzc1NVRkJTVVFzUlVGQlJUQklMRVZCUVVWakxFVkJRVVZVTEVWQlFVVXNWMEZCVnl4SlFVRkphRWtzUlVGQlJVVXNTMEZCUzIxSExGZEJRVmNzVjBGQlYyNUhMRXRCUVV0RExGRkJRVkZuUXl4dFFrRkJiVUpxUXl4TFFVRkxhMVFzWVVGQllXeFVMRXRCUVVzMFRpeFRRVUZUTlU0c1MwRkJTelJPTEZGQlFVOHNSVUZCUnpWT0xFdEJRVXR0VEN4blFrRkJaMEp1VEN4TFFVRkxReXhSUVVGUmFVVXNZMEZCWTJ4RkxFdEJRVXRETEZGQlFWRnJSU3h0UWtGQmJVSjBSU3hGUVVGRksxTXNhMEpCUVd0Q0wxTXNSVUZCUlN0VExHOUNRVUZ2UWk5VExFVkJRVVVyVXl4clFrRkJhMElzU1VGQlNUVlRMRXRCUVV0elVTeFRRVUZUTWtJc1VVRkJVWEpUTEVWQlFVVXNVVUZCVVc5UExGbEJRVmtzYjBKQlFXOUNhRThzUzBGQlMwVXNTMEZCUzBZc1MwRkJTME1zVVVGQlVYTkVMRk5CUVZOMlJDeExRVUZMTUV3c1pVRkJaVEZNTEV0QlFVdERMRkZCUVZGdFJDeFpRVUZaY0VRc1MwRkJTeXRUTEZkQlFWY3ZVeXhMUVVGTE1rNHNVMEZCVXl4VFFVRlRNMDRzUzBGQlMwTXNVVUZCVVhsRkxFOUJRVTh4UlN4TFFVRkxReXhSUVVGUmVVVXNUVUZCVFRCRkxFOUJRVTl3U2l4TFFVRkxNRVVzVFVGQlRURkZMRXRCUVV0RExGRkJRVkY1UlN4TlFVRk5NRVVzVFVGQlRYQktMRXRCUVV0RExGRkJRVkV3UlN4UFFVRlBlVVVzVVVGQlVYUktMRVZCUVVWRkxFdEJRVXMwUml4bFFVRmxMRk5CUVZNMVJpeExRVUZMUXl4UlFVRlJhVU1zVDBGQlR5eEZRVUZGYkVNc1MwRkJTME1zVVVGQlVXdEVMRTFCUVUxdVJDeExRVUZMTWtrc1VVRkJVVEJETEU5QlFVOURMRkZCUVZFc1EwRkJRM0JDTEZGQlFWRXNSMEZCUnl4RFFVRkRjVUlzVDBGQlRTeEZRVUZIUXl4VFFVRlRNVXdzUlVGQlJUSk1MRTFCUVUwc1YwRkJWM3BNTEV0QlFVc3lVeXhYUVVGVkxFZEJRVWwyVFN4TFFVRkxjRWNzVFVGQlRUSk1MRk5CUVZNc1YwRkJWek5NTEV0QlFVc3lTU3hSUVVGUlF5eEpRVUZKTEVOQlFVTnhRaXhSUVVGUkxGTkJRVk5xU3l4TFFVRkxiVWNzVjBGQlZ5eHZRa0ZCYjBKRExFdEJRVXR3Unl4TlFVRk5aMVFzVDBGQlR5eFhRVUZYYUZRc1MwRkJTekpUTEZkQlFWVXNSMEZCU1haTkxFdEJRVXR3Unl4VFFVRlRRU3hMUVVGTE1ra3NVVUZCVVVNc1NVRkJTU3hEUVVGRGNVSXNVVUZCVVN4UFFVRlBReXhSUVVGUkxFbEJRVWxzU3l4TFFVRkxiVWNzVjBGQlZ5eHpRa0ZCYzBKRExFdEJRVXR3Unl4TlFVRk5MRTlCUVU5R0xFVkJRVVYxU2l4aFFVRmhja29zUzBGQlN6UkdMR1ZCUVdVc1UwRkJVelZHTEV0QlFVdERMRkZCUVZGcFF5eFBRVUZQTkVZc1MwRkJTemxJTEV0QlFVdERMRkZCUVZGelJTeGpRVUZqZGtVc1MwRkJTME1zVVVGQlVYVkZMR2RDUVVGblFpeEhRVUZIZUVVc1MwRkJTME1zVVVGQlVUQkVMRmxCUVZrNFJDeEhRVUZITVVnc1JVRkJSVU1zVFVGQlRVTXNVVUZCVVRCRUxGZEJRVmMwUlN4RlFVRkZORXNzUzBGQlMwTXNUVUZCVFhCVUxFdEJRVXRETEZGQlFWRjFSU3huUWtGQlowSjRSU3hMUVVGTGNWUXNVVUZCVVhaVUxFVkJRVVZHTEVWQlFVVXNhME5CUVd0RFNTeExRVUZMY1ZRc1RVRkJUWHBVTEVWQlFVVXNkME5CUVhkRFJTeEZRVUZGZDFRc1VVRkJVWFJVTEV0QlFVdHhWQ3hQUVVGUGVsUXNSVUZCUlN4SlFVRkpTU3hMUVVGTFJTeEpRVUZKY1Vzc1QwRkJUM3BMTEVsQlFVbEZMRXRCUVV0MVZDeFZRVUZWTEZkQlFWY3NTVUZCU1hwVUxFVkJRVVZ4VkN4TFFVRkxReXhOUVVGTmNsUXNSVUZCUld0TUxGbEJRVmw0UkN4SFFVRkhNMGdzUlVGQlJYbEpMRWRCUVVkQkxFVkJRVVY2U1N4RlFVRkZMRVZCUVVVeVNDeEhRVUZITVVnc1JVRkJSVVVzVVVGQlVYVkZMR1ZCUVdWNlJTeEZRVUZGYzFRc1RVRkJUWHBMTEVsQlFVa3NVVUZCVVN4SlFVRkpia0lzUlVGQlJURklMRVZCUVVWRkxGRkJRVkV3UkN4WFFVRlhMRXRCUVVzNFFpeFBRVUZQSzA0c2MwSkJRWE5DZWxRc1JVRkJSWGRVTEZsQlFWbDZUQ3hMUVVGTGNrTXNUMEZCVHl0T0xITkNRVUZ6UW5oVUxFdEJRVXQxVkN4WlFVRlpkbFFzUzBGQlN6UlBMRTFCUVUxc1FpeFhRVUZYTlVZc1JVRkJSV3hDTEV0QlFVdERMRWxCUVVrM1J5eExRVUZMUXl4UlFVRlJNRVFzVjBGQlZ5eExRVUZMTTBRc1RVRkJUVWdzUlVGQlJUUlBMRlZCUVZWblJpeFBRVUZQTEZOQlFWTXpWQ3hIUVVGSExFOUJRVTlGTEV0QlFVdEJMRXRCUVVzMFRpeFBRVUZQTEZGQlFWRXNVVUZCVVRsT0xFZEJRVWRGTEUxQlFVMUlMRVZCUVVVMFR5eFZRVUZWYVVZc1VVRkJVU3hYUVVGWExFOUJRVTh4VkN4TFFVRkxjMU1zV1VGQlZ5eEZRVUZIZEZNc1RVRkJUVWdzUlVGQlJUUlBMRlZCUVZWclJpeFBRVUZQTEZkQlFWY3NUMEZCVHpOVUxFdEJRVXR6VXl4WlFVRlhMRVZCUVVkMFV5eE5RVUZOU0N4RlFVRkZORThzVlVGQlZXMUdMRXRCUVVzc1YwRkJWeXhQUVVGUE5WUXNTMEZCU3pCVUxGVkJRVlV4VkN4TFFVRkxNa2tzVlVGQlZUTkpMRXRCUVVzMlZDeHZRa0ZCYjBJM1ZDeExRVUZMTWtrc1VVRkJVVU1zU1VGQlNTeFhRVUZYTlVrc1MwRkJTekpKTEZGQlFWRkRMRWxCUVVrc1EwRkJRM0ZDTEZGQlFWRXNWVUZCVldwTExFdEJRVXQxUkN4VlFVRlZka1FzUzBGQlN6aFVMRzlDUVVGdlFqbFVMRXRCUVV0MVJDeFJRVUZSY1VZc1NVRkJTU3hYUVVGWE5Va3NTMEZCUzNWRUxGRkJRVkZ4Uml4SlFVRkpMRU5CUVVOeFFpeFJRVUZSTEZWQlFWVnFTeXhOUVVGTlNDeEZRVUZGTkU4c1ZVRkJWWE5HTEV0QlFVc3NWMEZCVnl4UFFVRlBMMVFzUzBGQlN6SlVMRk5CUVZNelZDeExRVUZMTWtrc1UwRkJVek5KTEV0QlFVczJWQ3h6UWtGQmMwSTNWQ3hMUVVGTE1ra3NVVUZCVVVNc1NVRkJTU3hEUVVGRGNVSXNVVUZCVVdwTExFdEJRVXMyVkN4elFrRkJjMEkzVkN4TFFVRkxObFFzYjBKQlFXOUNMRTFCUVUwM1ZDeExRVUZMZFVRc1UwRkJVM1pFTEV0QlFVczRWQ3h6UWtGQmMwSTVWQ3hMUVVGTGRVUXNVVUZCVVhGR0xFbEJRVWtzUTBGQlEzRkNMRkZCUVZGcVN5eExRVUZMT0ZRc2MwSkJRWE5DT1ZRc1MwRkJTemhVTEc5Q1FVRnZRaXhOUVVGTk9WUXNUVUZCVFVnc1JVRkJSVFJQTEZWQlFWVnVUaXhMUVVGTExGTkJRVk50Unl4RlFVRkZNVWdzUjBGQlJ6QklMRVZCUVVWQkxFZEJRVWNzUjBGQlJ6ZElMRVZCUVVVclNDeExRVUZMTEVOQlFVTXNRMEZCUXl4VlFVRlZMRkZCUVZFc1EwRkJReXhUUVVGVExGRkJRVkVzVTBGQlV6ZElMRVZCUVVWRExFZEJRVWRETEV0QlFVdERMRkZCUVZGeFFpeExRVUZMZGtJc1JVRkJSU3hOUVVGTk1FZ3NSVUZCUlRGSUxFVkJRVVVzUzBGQlMwTXNTMEZCUzIxTExGRkJRVkVzVFVGQlRXNUxMRXRCUVV0dFN5eFBRVUZQSzBRc1MwRkJTMnhQTEV0QlFVdERMRkZCUVZGeFFpeExRVUZMZGtJc1JVRkJSU3hQUVVGUE1FZ3NSVUZCUlRGSUxFVkJRVVVzU1VGQlNVTXNTMEZCUzIxTExFOUJRVThyUkN4TFFVRkxiRThzUzBGQlMwTXNVVUZCVVhGQ0xFdEJRVXQyUWl4RlFVRkZMRTFCUVUwc1MwRkJTM0ZITEV0QlFVdHdSeXhQUVVGUExFbEJRVWxHTEVWQlFVVkdMRVZCUVVVNFJpeFJRVUZQTEVWQlFVY3NSMEZCUnpGR0xFdEJRVXRETEZGQlFWRnhRaXhOUVVGTmRFSXNTMEZCUzJ0VUxHRkJRV0VzU1VGQlNUTkxMRVZCUVVWa0xFVkJRVVYxVFN4WlFVRlpiRlVzUlVGQlJXdFZMRmxCUVZrc1lVRkJZV3hOTEVWQlFVVk1MRVZCUVVWclJTeFZRVUZWTjB3c1JVRkJSVFpNTEZWQlFWVXNZVUZCWVRWRExFVkJRVVYwUWl4RlFVRkZkMDBzVTBGQlUyNVZMRVZCUVVWdFZTeFRRVUZUTEdGQlFXRnFUQ3hGUVVGRmRrSXNSVUZCUlhsTkxFOUJRVTl3VlN4RlFVRkZiMVVzVDBGQlR5eGhRVUZoY2xVc1JVRkJSVVFzUlVGQlJUaEdMRkZCUVU4c1JVRkJSelZHTEVWQlFVVXlTQ3hIUVVGSExFOUJRVTgxU0N4RlFVRkZiVlVzVjBGQlZ5eFRRVUZUYkZVc1IwRkJSMFFzUlVGQlJXZERMR05CUVdNM1FpeExRVUZMTWtrc1VVRkJVWEpHTEZWQlFWTXNTVUZCUzNwRUxFVkJRVVZuUXl4aFFVRmhMR1ZCUVdWb1F5eEZRVUZGWjBNc1kwRkJZMmhETEVWQlFVVnBReXhWUVVGVk9VSXNTMEZCU3l0Q0xHRkJRV0V5VEN4WFFVRlhMRmRCUVZjeFRpeExRVUZMTWtrc1VVRkJVWEpHTEZOQlFWTXNkMEpCUVhkQ2VrUXNSVUZCUlcxRExHOUNRVUZ2UW1wRExFVkJRVVZETEV0QlFVdHBWQ3gzUWtGQmRVSXNSVUZCUjJwVUxFdEJRVXR0UXl4WlFVRlpia01zUzBGQlN6aENMRkZCUVZGc1F5eEhRVUZGTEVsQlFVdERMRVZCUVVWcFF5eFJRVUZSYWtNc1JVRkJSV2xETEZGQlFWRXNiME5CUVc5RGEwTXNVMEZCVTJoRkxFdEJRVXR6U3l4WFFVRlhkRXNzUzBGQlMzbEpMR2RDUVVGblFpeFpRVUZaZWtrc1MwRkJTemhDTEZGQlFWRTRSeXhKUVVGSkxHRkJRV0UxU1N4TFFVRkxPRUlzVVVGQlVUaEhMRWxCUVVrc1EwRkJRM1ZNTEZWQlFWVXNZMEZCWXl4SFFVRkhibFVzUzBGQlMzbEpMR1ZCUVdWS0xHTkJRV01zVTBGQlUycERMRXRCUVV0d1J5eE5RVUZOTEVsQlFVbEJMRXRCUVV0blFpeFJRVUZSYVU4c1VVRkJVWEJRTEVWQlFVVnJReXhqUVVGakxFbEJRVWwzUnl4RlFVRkZia01zUzBGQlMzQkhMRXRCUVZCMVNTeERRVUZoZWtrc1NVRkJTWE5ITEV0QlFVdHdSeXhOUVVGTlNDeEZRVUZGT0V3c1UwRkJVeXhUUVVGVE4wd3NSMEZCUjBVc1MwRkJTeXRDTEdOQlFXTTRUU3hoUVVGaE4wOHNTMEZCU3l0Q0xHTkJRV012UWl4TFFVRkxNa2tzVVVGQlVYRkdMRmxCUVZrc1owVkJRV2RGYUU4c1MwRkJTemhDTEZOQlFWTTVRaXhMUVVGTE9FSXNVVUZCVVdsSExGRkJRVkV2U0N4TFFVRkxPRUlzVVVGQlVYRlJMRlZCUVZWMFV5eEZRVUZGYlVNc2IwSkJRVzlDYWtNc1JVRkJSVU1zUzBGQlMybFVMSGRDUVVGMVFpeEZRVUZIYWxRc1MwRkJTMjFETEZsQlFWbHVReXhMUVVGTGVWTXNXVUZCVnl4RlFVRkhNMHNzUlVGQlJURkNMRXRCUVV0d1J5eExRVUZRT0Vnc1EwRkJZV2hKTEVsQlFVbHpSeXhMUVVGTGNFY3NUVUZCVFVnc1JVRkJSVzlWTEZGQlFWRXNVMEZCVTI1VkxFZEJRVWRFTEVWQlFVVXJRaXhaUVVGWk5VSXNTMEZCU3pSQ0xGZEJRVmM1UWl4SFFVRkZMRXRCUVUxRExFVkJRVVZETEV0QlFVdHBWQ3gzUWtGQmRVSXNSVUZCUjJwVUxFdEJRVXR0UXl4WlFVRlpkRU1zUlVGQlJTdENMRmxCUVZrMVFpeExRVUZMYlVzc1VVRkJVVzVMTEV0QlFVdHRTeXhQUVVGUE0wa3NTMEZCU3l4cFFrRkJhVUl4UWl4SFFVRkhhVW9zUlVGQlJUTkRMRXRCUVV0d1J5eExRVUZRSzBrc1EwRkJZV3BLTEVsQlFVbHpSeXhMUVVGTGNFY3NUVUZCVFVnc1JVRkJSWEZWTEUxQlFVMHNVMEZCVTNCVkxFZEJRVWRyU2l4RlFVRkZOVU1zUzBGQlMzQkhMRXRCUVZCblNpeERRVUZoYkVvc1NVRkJTWE5ITEV0QlFVdHdSeXhOUVVGTlFTeExRVUZMYjFVc1dVRkJXWGhWTEVWQlFVVXdRaXhMUVVGTGVrSXNSMEZCUjBjc1RVRkJUVWdzUlVGQlJUUlBMRlZCUVZWNVJTeFhRVUZYTEZkQlFWZHNWQ3hMUVVGTGIxVXNZMEZCWTNCVkxFdEJRVXR2VlN4WlFVRlpReXhSUVVGUmNsVXNTMEZCUzNsVExGbEJRVmNzU1VGQlN6VlRMRVZCUVVVMFR5eFZRVUZWTDBvc1RVRkJUU3hUUVVGVE5VVXNSVUZCUlVNc1IwRkJSeXhKUVVGSlJDeEZRVUZGTEU5QlFVOUZMRXRCUVVzc1NVRkJTWGxJTEVkQlFVYzFTQ3hGUVVGRmVWVXNUMEZCVVhwVkxFVkJRVVY1VlN4UFFVRlZlbFVzUlVGQlJYbFZMRTlCUVV3c1NVRkJZWGhWTEV0QlFVc3lTQ3hGUVVGRk4wZ3NSVUZCUlN4WlFVRlpRU3hGUVVGRkxGbEJRVmtzUTBGQlF6SlBMRWxCUVVsNlR5eEZRVUZGTEZOQlFWTnJSU3hUUVVGVGVVUXNSMEZCUnpkSUxFVkJRVVVzV1VGQldTeERRVUZETWs4c1NVRkJTWHBQTEVWQlFVVXNVMEZCVTJ0RkxGTkJRVk41UkN4SFFVRkhOVWdzUlVGQlJYbFZMRTlCUVU5NFZTeEhRVUZITWtnc1JVRkJSU3hKUVVGSk5VZ3NSVUZCUlhsVkxFOUJRVTk0VlN4SFFVRkhOa1VzVDBGQlQybERMRXRCUVV0dFNDeExRVUZMTEUxQlFVMW9UeXhGUVVGRlFTeEZRVUZGTEV0QlFVc3NTVUZCU1N4SFFVRkhMRWxCUVVsR0xFVkJRVVY1VlN4UFFVRlBlRlVzUjBGQlIzbFZMRkZCUVZFeFZTeEZRVUZGZVZVc1QwRkJUM2hWTEVkQlFVY3dWU3haUVVGWkxFVkJRVVVzVFVGQlRURlZMRWxCUVVrc1QwRkJUMFFzUlVGQlJYbFZMRTlCUVU5NFZTeEhRVUZITWxVc1QwRkJUM3BWTEUxQlFVMUlMRVZCUVVVMlZTeHBRa0ZCYVVJc1EwRkJRM0pKTEV0QlFVc3NTVUZCU1hOSkxGVkJRVlVzU1VGQlNVTXNUVUZCVFN4SlFVRkpReXhOUVVGTkxFbEJRVWxETEZGQlFWRXNTVUZCU1VNc1ZVRkJWU3hKUVVGSlF5eE5RVUZOTEVsQlFVbERMRTlCUVU4c1NVRkJTVU1zVDBGQlR5eEpRVUZKUXl4UlFVRlJMRWxCUVVsRExGRkJRVkVzU1VGQlNVTXNWMEZCVnl4SlFVRkpReXhWUVVGVkxFbEJRVWxETEZWQlFWVXNTMEZCU3pGV0xFVkJRVVUwVHl4VlFVRlZia1FzVVVGQlVTeFRRVUZUZUV3c1JVRkJSVU1zUjBGQlIwRXNSVUZCUlVFc1IwRkJSeXhIUVVGSFF5eExRVUZMZDFZc2JVSkJRVzFDZUZZc1MwRkJTM2RXTEdsQ1FVRnBRaXhKUVVGSmVsWXNSVUZCUlRSTExGVkJRVlUxU3l4RlFVRkZORXNzVVVGQlVUTkxMRXRCUVVzeVNTeFRRVUZUTlVrc1JVRkJSVFJMTEZGQlFWRnVTaXhMUVVGTExITkNRVUZ6UW5wQ0xFVkJRVVUwU3l4UlFVRlJia29zUzBGQlN5eHZRa0ZCYjBJelFpeEZRVUZGTkZZc2RVSkJRWFZDTVZZc1JVRkJSVFJMTEZGQlFWRnVTaXhMUVVGTExHOUNRVUZ2UW5wQ0xFVkJRVVUwU3l4UlFVRlJjVVFzV1VGQldXcFBMRVZCUVVVMFN5eFJRVUZSYmtvc1MwRkJTeXh0UWtGQmJVSkJMRXRCUVVzc2FVSkJRV2xDTEUxQlFVMTRRaXhMUVVGTGQxWXNhVUpCUVdsQ2VsWXNSVUZCUlRSTExGRkJRVkZ1U2l4TFFVRkxMSFZDUVVGMVFuRk9MR0ZCUVdFM1R5eExRVUZMZDFZc2FVSkJRV2xDZWxZc1JVRkJSVFJMTEZGQlFWRnVTaXhMUVVGTExIZENRVUYzUW5wQ0xFVkJRVVUwU3l4UlFVRlJja2dzVTBGQlV5eHBRa0ZCYVVKNFJDeEhRVUZITUVJc1MwRkJTeXhwUWtGQmFVSXNhVUpCUVdsQ01VSXNSMEZCUjBVc1MwRkJTM2RXTEdsQ1FVRnBRbnBXTEVWQlFVVTBTeXhSUVVGUmJrb3NTMEZCU3l4elFrRkJjMEpyVFN4WFFVRlhMRmRCUVZjelRpeEZRVUZGTkVzc1VVRkJVWEZFTEZsQlFWbHFUeXhGUVVGRk5Fc3NVVUZCVVc1S0xFdEJRVXNzYlVKQlFXMUNRU3hMUVVGTExHbENRVUZwUWl4TlFVRk5la0lzUlVGQlJUUk1MRlZCUVZVMVRDeEZRVUZGTkV3c1dVRkJXVGxNTEVWQlFVVTJWU3hwUWtGQmFVSTFWU3hMUVVGTFJDeEZRVUZGTkU4c1ZVRkJWV2xJTEdOQlFXTXNVMEZCVXpOV0xFVkJRVVV3U0N4SFFVRkhMRWxCUVVsakxFVkJRVVVzUlVGQlJWUXNSVUZCUlN4RlFVRkZhVUlzUlVGQlJTeEZRVUZGUXl4RlFVRkZMRVZCUVVWdVNpeEZRVUZGTEVWQlFTdHVRaXhQUVVGUE5FZ3NSVUZCUlRkSUxFVkJRVVU0Uml4UFFVRjBiMElzUTBGQlEybFJMR1ZCUVdVc1IwRkJSME1zWTBGQllTeEhRVUVyYlVKdVR5eEhRVUZITVVnc1JVRkJSV2xKTEVkQlFVY3NkVUpCUVc1dVFpeFRRVUZYYkVrc1IwRkJSekpJTEVWQlFVVnRUeXhsUVVGbE9WWXNSVUZCUlc5SkxHTkJRV052UWl4VlFVRlZlRW9zUlVGQlJXOUpMR05CUVdOdlFpeFZRVUZWZUVvc1JVRkJSVUVzUlVGQlJXOUpMR05CUVdOdlFpeFJRVUZSTEVsQlFVa3NTVUZCU1dZc1NVRkJTVUVzUlVGQlJTeEZRVUZGVkN4RlFVRkZhRWtzUlVGQlJTdFdMRkZCUVZFNVRTeEZRVUZGYWtvc1JVRkJSV2RYTEZsQlFXZG5RbXhYTEVWQlFVVXNVVUZCVVc5SkxFZEJRVWNzYlVKQlFXNW5RaXhUUVVGWGJFa3NSMEZCUnl4SlFVRkplVWtzU1VGQlNVRXNSVUZCUlN4RlFVRkZNMElzUzBGQlMyMVFMRWxCUVVrdlRTeEhRVUZIY0VNc1MwRkJTMjFRTEVsQlFVbHNWeXhKUVVGSkswY3NTMEZCUzIxUUxFbEJRVWt2VFN4SFFVRkhka0lzUlVGQlJXdFBMR1ZCUVdVelRTeEZRVUZGTEVWQlFVVnFTaXhGUVVGRlpTeFJRVUZSYkVJc1JVRkJSVzlYTEUxQlFVMHNhVUpCUVdsQ2FsY3NSVUZCUldVc1VVRkJVV3hDTEVWQlFVVnZWeXhOUVVGTkxHdENRVUZyUW5CUUxFdEJRVXR0VUN4SlFVRkpiRmNzUjBGQlJ6UklMRVZCUVVWclR5eHBRa0ZCYVVJNVZpeEZRVUZGTEVWQlFVVkZMRVZCUVVWbExGRkJRVkZzUWl4RlFVRkZiMWNzVFVGQlRTeGxRVUZsYWxjc1JVRkJSV1VzVVVGQlVXeENMRVZCUVVWdlZ5eE5RVUZOTEhGQ1FVRjNVM0JYTEVWQlFVVXNVVUZCVVc5SkxFZEJRVWNzYzBKQlFXeFRMRk5CUVZkc1NTeEhRVUZITEVsQlFVbERMRVZCUVVVc1NVRkJTWGRKTEVsQlFVbDRTU3hIUVVGSFJDeEZRVUZGUVN4RlFVRkZiMGtzWTBGQlkyOUNMRkZCUVZGNFNpeEZRVUZGYjBrc1kwRkJZMjlDTEZGQlFWRXNSMEZCUjNoS0xFZEJRVWNyVml4UlFVRlJMMDRzUlVGQlJXaEpMRVZCUVVWQkxFVkJRVVZuVnl4UlFVRlJMMDBzUjBGQlIyNURMRXRCUVV0dFVDeEpRVUZKYUZjc1IwRkJSekJJTEVWQlFVVnJUeXhuUWtGQlowSXZUeXhMUVVGTGJWQXNTVUZCU1dwWExFZEJRVWN5U0N4RlFVRkZhMDhzYTBKQlFXdENjRTRzUlVGQlJTeEZRVUZGVXl4RlFVRkZha29zUlVGQlJVWXNSVUZCUlVNc1RVRkJiVWxETEVkQlFVZEdMRVZCUVVVMFR5eFZRVUZWZDBnc1VVRkJVU3hYUVVGWExFOUJRVTlxVnl4TFFVRkxPRThzVTBGQlV6bFBMRXRCUVVzMFRpeFJRVUZSTlU0c1MwRkJTMjlLTEUxQlFVMHNRMEZCUTBNc1lVRkJXU3hKUVVGTGNrb3NTMEZCU3pKSkxGTkJRVk16U1N4TFFVRkxNa2tzVVVGQlVYZEtMRk5CUVZOdVV5eExRVUZMZFVRc1UwRkJVM1pFTEV0QlFVdDFSQ3hSUVVGUk5FOHNVMEZCVTI1VExFdEJRVXR4VXl4VFFVRlRjbE1zUzBGQlMzRlRMRkZCUVZGR0xGTkJRVk51VXl4TFFVRkxiMU1zWVVGQldTeEZRVUZIY0ZNc1RVRkJUVWdzUlVGQlJYZEhMR05CUVdOMlJ5eEZRVUZGTEVWQlFVVXNWMEZCVnl4UFFVRlBRU3hOUVVGTlJDeEZRVUZGTkZZc2NVSkJRWEZDTVZZc1JVRkJSU3hGUVVGRkxGZEJRVmNzVDBGQlQwRXNUVUZCVFVZc1JVRkJSWGRHTEdWQlFXVXNSMEZCUjNoR0xFVkJRVVZ4Vnl4UFFVRlBMRk5CUVZOd1Z5eEZRVUZGUXl4SFFVRkhSaXhGUVVGRmQwWXNaVUZCWlhaR0xFZEJRVWRETEVkQlFVZElMRVZCUVVWMVZ5eEhRVUZIUXl4TFFVRkxMRk5CUVZOMFZ5eEZRVUZGUXl4SFFVRkhMRTlCUVU5QkxFVkJRVVZCTEVkQlFVY3NSMEZCUnl4SlFVRkpSaXhGUVVGRlF5eEZRVUZGUVN4SFFVRkhMRWRCUVVkR0xFVkJRVVU0Uml4UFFVRlBNMFlzUlVGQlJTeERRVUZEWXl4UFFVRlBZaXhUUVVGVFNDeEZRVUZGTEZOQlFWTjNWeXh0UWtGQmJVSkVMRXRCUVV0RkxGRkJRVkVzU1VGQlNVWXNTMEZCUzBZc1QwRkJUeXhWUVVGVkxFTkJRVU5MTEdOQlFXTXNVMEZCVTBNc1lVRkJZU3hUUVVGVFF5eFJRVUZSTEV0QlFVdERMRTlCUVU4c1MwRkJTME1zWjBKQlFXVXNSVUZCUjNwVkxFOUJRVTkxUkN4UFFVRlBhRVFzVDBGQlRTeEZRVUZITlVJc1QwRkJUeXhwUWtGQmFVSkpMRmRCUVZjc1pVRkJaVVFzVVVGQlVTeHBRMEZCYVVOWUxGTkJRVk1zU1VGQlNVVXNVMEZCVXl4SlFVRkpNa1FzWVVGQldTeEZRVUZIVGl4WlFVRlhMRVZCUVVkRExHTkJRV0VzUlVGQlIwVXNZVUZCV1N4RlFVRkhVaXhUUVVGUkxFVkJRVWRJTEZWQlFWVXNVMEZCVTNKRExHZENRVUZsTEVWQlFVYzJWaXhWUVVGVkxGTkJRVk01Vnl4SFFVRkhMRWxCUVVsRExFVkJRVVZETEV0QlFVdERMRkZCUVZGM1Z5eFZRVUZWTVZjc1JVRkJSVVFzUlVGQlJXOVBMRXRCUVVzc1YwRkJWM0JQTEVWQlFVVnZUeXhMUVVGTExGZEJRVmR3VHl4RlFVRkZiMDhzUzBGQlN5eFJRVUZSY0U4c1JVRkJSVzlQTEV0QlFVc3NWVUZCVlN4blFrRkJaMEp3VHl4RlFVRkZiMDhzUzBGQlN5eFJRVUZSTEU5QlFVOXdUeXhGUVVGRmIwOHNTMEZCU3l4VlFVRlZMRTFCUVUwc01rSkJRVEpDY0U4c1JVRkJSVzlQTEV0QlFVc3NVVUZCVVN4TFFVRkxMRWRCUVVkd1R5eEZRVUZGSzFjc1MwRkJTeXhWUVVGVkxFMUJRVTF5Vml4TFFVRkxMSE5DUVVGelFucENMRXRCUVVzclZ5eFhRVUZYTEZkQlFWYzVWeXhMUVVGTE1ra3NVVUZCVVhKR0xGTkJRVk1zWTBGQlkzUkVMRXRCUVV0dlFpeFBRVUZQYTFZc1QwRkJUeXh6UTBGQmMwTkJMRTlCUVU4c2FVVkJRV2xGY2tnc1MwRkJTMnBRTEV0QlFVdERMRkZCUVZGMVZ5eGpRVUZqZUU4c1IwRkJSeXhaUVVGWkxGZEJRVmRvU1N4TFFVRkxReXhSUVVGUmVWY3NVVUZCVVRGWExFdEJRVXRETEZGQlFWRjVWeXhQUVVGUE1WY3NTMEZCUzIxTExGRkJRVkZ1U3l4TFFVRkxiMG9zVTBGQlUyaEVMRXRCUVV0d1J5eFBRVUZQWjBVc1UwRkJVMmhGTEV0QlFVdHZRaXhSUVVGUmNFSXNTMEZCU3l0WExHRkJRV0ZVTEU5QlFVOHNhVVZCUVdsRmNrZ3NTMEZCUzJwUUxFdEJRVXRETEZGQlFWRnpWeXhsUVVGbGRsTXNVMEZCVTJoRkxFdEJRVXR2UWl4UlFVRlJjRUlzUzBGQlMyOUNMRTlCUVU4MFF5eFRRVUZUYUVVc1MwRkJTM05MTEZsQlFWa3dUU3hSUVVGUkxGZEJRVmRvV0N4TFFVRkxLMWNzWVVGQllXeE9MRWxCUVVrc2NVSkJRWEZDTjBvc1MwRkJTMFVzUjBGQlJ5eHZRa0ZCYjBKR0xFdEJRVXRGTEVsQlFVazRTQ3hIUVVGSExIRkNRVUZ4UW1oSkxFdEJRVXRGTEVkQlFVY3NiMEpCUVc5Q1JpeExRVUZMUlN4SFFVRkhMRmRCUVZkR0xFdEJRVXRETEZGQlFWRjNWeXhSUVVGUmVsY3NTMEZCUzBNc1VVRkJVWGRYTEZGQlFWRjZWeXhMUVVGTGJVc3NVVUZCVVRoTkxFdEJRVXRxV0N4TFFVRkxiVXNzVDBGQlR6TkpMRXRCUVVzc2QwSkJRWGRDZUVJc1MwRkJTME1zVVVGQlVUQlhMR2RDUVVGblFqTlhMRXRCUVV0dlNpeFRRVUZUYUVRc1MwRkJTM0JITEZWQlFWVXNVMEZCVTJ0WUxHbENRVUZwUW5CWUxFVkJRVVZyU2l4SFFVRkhMRWxCUVVsc1NpeEZRVUZGYjFjc1QwRkJUeXhSUVVGUkxFTkJRVU16U0N4SlFVRkpMRTlCUVU4MFNTeFJRVUZSTEd0Q1FVRnJRa01zVjBGQlZ5eFJRVUZSUXl4VlFVRlZMRWxCUVVsRExGVkJRVlVzVlVGQlZVTXNZMEZCWVN4RlFVRkhReXh6UWtGQmMwSXNTVUZCU1VNc1owSkJRV1VzUlVGQlIwTXNiVUpCUVcxQ0xFdEJRVXRETEd0Q1FVRnJRaXhMUVVGTFF5eG5Ra0ZCWjBJc1MwRkJTME1zYzBKQlFYTkNMRXRCUVV0RExHMUNRVUZyUWl4RlFVRkhOVllzVDBGQlQzVkVMRTlCUVU4MVJTeFBRVUZQTEc5Q1FVRnZRalJDTEU5QlFVMHNSVUZCUjNsQ0xHRkJRVmtzUlVGQlIwNHNXVUZCVnl4RlFVRkhReXhoUVVGaExGTkJRVk5GTEdGQlFWa3NSVUZCUjFJc1UwRkJVU3hGUVVGSFNDeFZRVUZWTEZOQlFWTnlReXhuUWtGQlpTeEZRVUZIV2l4TlFVRk5MRTlCUVU5RExFOUJRVThzVDBGQlQzZERMR1ZCUVdVc1EwRkJRekJFTEVsQlFVa3NSMEZCUjBNc1RVRkJUU3hGUVVGRlF5eFBRVUZQTEVkQlFVZERMRXRCUVVzc1IwRkJSM05TTEZGQlFWRXNWMEZCVnk5WUxFdEJRVXRuV1N4UFFVRlBhRmtzUzBGQlMybFpMR0ZCUVdFc1IwRkJSMnBaTEV0QlFVdHJXU3haUVVGWkxFVkJRVVZzV1N4TFFVRkxiVmtzVlVGQlZTeFRRVUZUY2xrc1IwRkJSeXhKUVVGSlF5eEZRVUZGTUVnc1IwRkJSek5JTEVWQlFVVnJTaXhGUVVGRmJFb3NTVUZCU1RCQ0xFdEJRVXNzZDBKQlFYZENla0lzUlVGQlJVUXNSVUZCUlc5UExFdEJRVXRzVHl4TFFVRkxReXhSUVVGUmMwOHNTMEZCUzNaUExFdEJRVXRETEZGQlFWRXlXQ3hwUWtGQmFVSTFXQ3hMUVVGTFF5eFJRVUZSTkZnc2RVSkJRWFZDTDFnc1JVRkJSVzlQTEV0QlFVdHNUeXhMUVVGTFF5eFJRVUZSTWxnc2EwSkJRV3RDTlU4c1JVRkJSWFpFTEZGQlFWRjBSaXhUUVVGVFNDeExRVUZMUXl4UlFVRlJORmdzZDBKQlFYZENPVmdzUlVGQlJVUXNSVUZCUlc5UExFdEJRVXRzVHl4TFFVRkxReXhSUVVGUk1sZ3NhMEpCUVd0Q2JsRXNSVUZCUlROSUxFVkJRVVZ2VHl4TFFVRkxiRThzUzBGQlMwTXNVVUZCVVd0WUxGVkJRVlVzVlVGQlZXNVlMRXRCUVV0bldTeFBRVUZQZGxFc1MwRkJTM3BJTEV0QlFVdG5XU3hQUVVGUGRsRXNSMEZCUnl4SlFVRkpla2dzUzBGQlMyZFpMRTlCUVU5MlVTeEhRVUZITkVjc1MwRkJTeXhEUVVGRFJTeEpRVUZKZUU4c1JVRkJSWEZaTEUxQlFVMTBXU3hGUVVGRmIwOHNTMEZCUzJ4UExFdEJRVXRETEZGQlFWRnRXQ3hoUVVGaExFZEJRVWRwUWl4WlFVRlpjbGtzUzBGQlMwTXNVVUZCVVRCWUxHMUNRVUZ0UWpkWUxFVkJRVVZ2VHl4TFFVRkxiRThzUzBGQlMwTXNVVUZCVVRCWUxHMUNRVUZ0UWpkWUxFVkJRVVZ2VHl4TFFVRkxiRThzUzBGQlMwTXNVVUZCVVRCWUxHMUNRVUZ0UWl4UFFVRlBMRk5CUVZNeldDeExRVUZMUXl4UlFVRlJiVmdzV1VGQldYUllMRVZCUVVVMFR5eFhRVUZYTEZOQlFWTTFUeXhGUVVGRk1FSXNTMEZCU3l4eFFrRkJjVUpwUnl4SFFVRkhNMGdzUlVGQlJUQkNMRXRCUVVzc1owSkJRV2RDZUVJc1MwRkJTMmRaTEU5QlFVOTJVU3hIUVVGSFRTeFBRVUZQTEV0QlFVc3pRaXhMUVVGTGNFY3NUVUZCVFVFc1MwRkJTekpQTEd0Q1FVRnJRak5QTEV0QlFVc3lUeXhwUWtGQmFVSTFSeXhSUVVGUmFVSXNSVUZCUlhKQ0xFdEJRVXN6U0N4TFFVRkxNazhzYVVKQlFXbENMRk5CUVZNM1R5eEZRVUZGUXl4SFFVRkhReXhMUVVGTGJWa3NWVUZCVlhCWkxFbEJRVWx4Unl4TFFVRkxjRWNzVDBGQlR5eEpRVUZKSzBrc1JVRkJSU3hUUVVGVGFrb3NSVUZCUlVNc1JVRkJSVEJJTEVWQlFVVmpMRWRCUVVjc1NVRkJTVk1zUlVGQlJTeGxRVUZsYkVvc1JVRkJSU3hKUVVGSlF5eEhRVUZIWjBrc1QwRkJUeXhEUVVGRExFbEJRVWxFTEVWQlFVVnJRaXhGUVVGRkxGTkJRVk1zUTBGQlF6bEpMRWRCUVVjc1kwRkJZMG9zUlVGQlJTeEpRVUZKUXl4RlFVRkZhVXNzVFVGQlRTeDNRa0ZCZDBKMlF5eEZRVUZGTEdWQlFXVXpTQ3hGUVVGRkxGZEJRVmNzVFVGQlRUaEpMRWxCUVVrc1EwRkJRekJRTEdWQlFXVjBXU3hMUVVGTFF5eFJRVUZSY1Znc1ZVRkJWWEJPTEZGQlFWRXpRaXhGUVVGRkxFVkJRVVVzUlVGQlJUbEZMRTlCUVU5blJTeEZRVUZGZWtnc1MwRkJTMnRaTEdOQlFXTXNTVUZCU1d4VkxGTkJRVk5vUlN4TFFVRkxaMElzVTBGQlV5eFBRVUZQYUVJc1MwRkJTekJXTEdOQlFXTTFUaXhIUVVGSFJTeEhRVUZITERaQ1FVRTJRaXhUUVVGVGJFa3NSMEZCUnl4alFVRmpRU3hGUVVGRk5rWXNTMEZCU3pOR0xFdEJRVXQxV1N4VlFVRlZMRkZCUVZFc1pVRkJaWHBaTEVWQlFVVTJSaXhOUVVGTk0wWXNTMEZCUzNWWkxGVkJRVlVzVTBGQlUyNVRMRXRCUVV0d1J5eFBRVUZQWjBvc1JVRkJSU3hUUVVGVExFTkJRVU01U1N4SFFVRkhMRzlDUVVGdlFrb3NSVUZCUlN4SlFVRkpReXhGUVVGRmFVc3NUVUZCVFN4dlFrRkJiMEoyUXl4RlFVRkZMRlZCUVZVc1RVRkJUWGRJTEV0QlFVdHFVQ3hMUVVGTFoxa3NUMEZCVDJ4WkxFZEJRVWRETEVkQlFVZHhXU3hQUVVGUGNGRXNSMEZCUnl4WlFVRlpMRmRCUVZkblFpeEZRVUZGYUVvc1RVRkJUWGRaTEZsQlFWa3NZMEZCWTNoVkxGTkJRVk5vUlN4TFFVRkxlVmtzY1VKQlFYRkNhRklzUjBGQlIwc3NSVUZCUlhkRUxGRkJRVkVzUTBGQlEzQkNMRkZCUVZFc1IwRkJSek5DTEVWQlFVVXNSVUZCUlhaSkxFdEJRVXRETEZGQlFWRnZXQ3hYUVVGWGRsQXNTVUZCU1RGQ0xFdEJRVXR3Unl4TlFVRk5RU3hMUVVGTE1Ga3NZMEZCWXl4VFFVRlROVmtzUjBGQlJ5eEpRVUZKUXl4RlFVRkZaMGNzVTBGQlV6UkxMR05CUVdNc1MwRkJTelZSTEVWQlFVVTBXU3hMUVVGTE4xa3NSVUZCUlVNc1JVRkJSVFpJTEdGQlFXRXNWMEZCVnpsSUxFVkJRVVU0V1N4VlFVRlZPVmtzUlVGQlJYTlBMRmxCUVZrc1MwRkJTeXhKUVVGSmNra3NVMEZCVXpoTExFdEJRVXR5Unl4WlFVRlpla3NzUjBGQlIwRXNSVUZCUlRoWkxGTkJRVk1zU1VGQlNTOVJMRVZCUVVVc1UwRkJVeTlJTEVWQlFVVXdTQ3hGUVVGRk0wZ3NSVUZCUlhsSkxFZEJRVWNzU1VGQlNWUXNSVUZCUldsQ0xFVkJRVVZvU2l4RlFVRkZNRWdzUlVGQlJUTklMRVZCUVVWNVNTeEhRVUZIVkN4RlFVRkZlRVVzVTBGQlV5eHpRa0ZCYzBJd1JpeEZRVUZGTEdGQlFXRm9TaXhMUVVGTFoxa3NUMEZCVDJwWkxFZEJRVWN3U0N4SFFVRkhPRWNzU1VGQlNTeFJRVUZSTlVjc1MwRkJTeXhYUVVGWExFbEJRVWszU0N4RlFVRkZMRWxCUVVsbldpeE5RVUZOYUZvc1JVRkJSV2xhTEU5QlFVOHNWMEZCVjJwU0xFVkJRVVZyUnl4WlFVRlpMSE5DUVVGelFteEhMRVZCUVVWakxFbEJRVWtzUTBGQlEyOVJMR2RDUVVGblFpeFJRVUZSYUZvc1MwRkJTMmRaTEU5QlFVOXFXU3hIUVVGSE1FZ3NSMEZCUnpoSExFbEJRVWtzVVVGQlVXNUpMRXRCUVV0d1J5eE5RVUZOUml4RlFVRkZiVm9zVVVGQlVTeFhRVUZYYmxJc1JVRkJSV3RITEZsQlFWa3NjMEpCUVhOQ2JFY3NSVUZCUlhoRkxGTkJRVk1zZVVKQlFYbENPRU1zUzBGQlMzQkhMRTFCUVUxR0xFVkJRVVY1VHl4SlFVRkpkazhzUzBGQlMyZFpMRTlCUVU5cVdTeEhRVUZITUVnc1IwRkJSemhITEV0QlFVdHVTU3hMUVVGTGNFY3NVVUZCVVc5SExFdEJRVXR3Unl4TlFVRk5RU3hMUVVGTGRWa3NWVUZCVlN4VFFVRlRlbGtzUjBGQlJ5eEpRVUZKUXl4RlFVRkZNRWdzUlVGQlJXTXNSVUZCUlN4SFFVRkhMRkZCUVZGNlNTeEZRVUZGUXl4RlFVRkZReXhMUVVGTGFWa3NZVUZCWVdRc1VVRkJVVFZQTEVkQlFVZEJMRVZCUVVWMlNTeExRVUZMYVZrc1lVRkJZUzlZTEUxQlFVMHNVVUZCVVVvc1NVRkJTU3hGUVVGRkxFbEJRVWxGTEV0QlFVdG5XU3hQUVVGUGFsa3NSMEZCUjJkSkxFOUJRVThzUlVGQlJTeEZRVUZGVVN4RlFVRkZMRVZCUVVWMlNTeExRVUZMWjFrc1QwRkJUMnBaTEVkQlFVZG5TU3hQUVVGUExFVkJRVVZSTEUxQlFVMHNRMEZCUXl4SFFVRkhka2tzUzBGQlMyMUxMRTlCUVU5d1N5eEZRVUZGUXl4TFFVRkxiVXNzVDBGQlR6TkpMRXRCUVVzc2MwSkJRWE5DSzBjc1JVRkJSWFpKTEV0QlFVdHRTeXhQUVVGUE0wa3NTMEZCU3l4eFFrRkJjVUlzUTBGQlF5eEpRVUZKZUVJc1MwRkJTekpQTEcxQ1FVRnRRak5QTEV0QlFVc3lUeXhwUWtGQmFVSTFSeXhQUVVGUExFOUJRVTlvU1N4RlFVRkZhVW9zUlVGQlJXaEtMRXRCUVVzeVR5eHBRa0ZCYVVJc1NVRkJTVzVPTEV0QlFVc3NjMEpCUVhOQ0swY3NSVUZCUlZNc1JVRkJSV2hLTEV0QlFVc3lUeXhwUWtGQmFVSXNTVUZCU1c1T0xFdEJRVXNzYVVKQlFXbENlRUlzUzBGQlMyZFpMRkZCUVZGb1dTeExRVUZMWjFrc1QwRkJUMnBaTEVsQlFVbHBTaXhGUVVGRkxITkVRVUZ6UkVvc1NVRkJTU3hEUVVGRGNVSXNVVUZCVVN4RlFVRkZha3NzUzBGQlMyZFpMRTlCUVU5cVdTeEhRVUZIWjBrc1QwRkJUeXhSUVVGUkxGTkJRVk5wUWl4RlFVRkZMR1ZCUVdWcVNpeEZRVUZGTEZsQlFWbG5TU3hSUVVGUmFVSXNSVUZCUlN4bFFVRmxha29zUlVGQlJTeFpRVUZaYVU4c1dVRkJXU3hqUVVGamFrOHNSVUZCUlN4WlFVRlpkVXdzVVVGQlVTeERRVUZEY0VJc1VVRkJVU3hIUVVGSExGRkJRVkZ3U3l4RlFVRkZMRVZCUVVWRkxFdEJRVXRETEZGQlFWRnZXQ3hYUVVGWGNsZ3NTMEZCUzJsWkxHRkJRV0VzUTBGQlEyUXNVVUZCVVhCWUxFVkJRVVZITEVkQlFVZHhTU3hIUVVGSFV5eEZRVUZGTEdWQlFXVnFTaXhGUVVGRkxFbEJRVWwzU1N4SFFVRkhVaXhQUVVGUGFVSXNSVUZCUlN4bFFVRmxha29zUlVGQlJTeEpRVUZKZDBrc1IwRkJSMnBHTEZOQlFWTXNZMEZCWTNaRUxFVkJRVVVzV1VGQldUWkpMRWxCUVVrc1EwRkJRMjVHTEU5QlFVOTZSQ3hMUVVGTGExa3NZMEZCWTJoUExGRkJRVkVzU1VGQlNXOUNMRkZCUVZFc1EwRkJRM0JDTEZGQlFWRXNSMEZCUnl4UlFVRlJjRXNzUlVGQlJTeEZRVUZGUlN4TFFVRkxReXhSUVVGUmIxZ3NWMEZCVjNaUUxFVkJRVVV2U0N4RlFVRkZkMGtzUjBGQlJTeEZRVUZITEZOQlFWTjZTU3hIUVVGSE1rZ3NSVUZCUlRGSUxFVkJRVVZFTEVWQlFVVjVTU3hGUVVGRlV5eEZRVUZGTERSQ1FVRTBRbWRHTEZsQlFWa3NiVUpCUVcxQ2FFWXNSVUZCUlN4eFFrRkJjVUoyUWl4RlFVRkZMRWxCUVVrelNDeEhRVUZIZDBRc1UwRkJVeXhWUVVGVmRFUXNTMEZCUzNWWUxHVkJRV1YyV0N4TFFVRkxaMWtzVDBGQlQycFpMRWxCUVVrc1JVRkJSVU1zUzBGQlMyZFpMRTlCUVU5cVdTeEhRVUZIWjBrc1VVRkJVUzlJTEV0QlFVc3lTU3hSUVVGUmNrWXNVMEZCVXl3d1FrRkJNRUowUkN4TFFVRkxkVmdzWVVGQllUbE5MRXRCUVVzc01rSkJRVEpDZDBVc1MwRkJTMnBRTEV0QlFVdG5XU3hQUVVGUGFsa3NSMEZCUjJkSkxGRkJRVkV2U0N4TFFVRkxkVmdzWVVGQllUbE5MRXRCUVVzc0swSkJRU3RDZDBVc1MwRkJTekZITEVWQlFVVXNTVUZCU1haSkxFdEJRVXN5U1N4UlFVRlJjVVlzV1VGQldTd3lRa0ZCTWtKb1R5eExRVUZMWjFrc1QwRkJUMnBaTEVsQlFVbERMRXRCUVV0bldTeFBRVUZQYWxrc1IwRkJSMmRKTEU5QlFVOHNTVUZCU1ZFc1IwRkJSMEVzUjBGQlNTeEhRVUZIZGtrc1MwRkJTMmRaTEU5QlFVOXFXU3hIUVVGSFowa3NUMEZCVHl4RlFVRkZMRVZCUVVWUkxFVkJRVVVzUlVGQlJYWkpMRXRCUVV0bldTeFBRVUZQYWxrc1IwRkJSMmRKTEU5QlFVOHNSVUZCUlZFc1JVRkJSVk1zUlVGQlJTeGxRVUZsYWtvc1JVRkJSU3hKUVVGSmQwa3NSMEZCUjFJc1VVRkJVVVFzUlVGQlJTOUlMRVZCUVVWM1NTeEhRVUZGTEVkQlFVY3NTMEZCVFhaSkxFdEJRVXRETEZGQlFWRTJXQ3h0UWtGQmJVSTVUeXhGUVVGRmRrUXNVVUZCVVhWRExFZEJRVWNzVDBGQlR5eFhRVUZYYUVrc1MwRkJTM1ZaTEZWQlFWVXNVMEZCVTI1VExFdEJRVXR3Unl4UlFVRlJORmNzVlVGQlZTeFRRVUZUT1Zjc1IwRkJSMFVzUzBGQlMyMVpMRmRCUVZkdVdTeExRVUZMYlZrc1ZVRkJWWEpaTEVsQlFVbG5XQ3hYUVVGWExGZEJRVmM1Vnl4TFFVRkxhMW9zYTBKQlFXdENiRkVzUlVGQlJTd3lRMEZCTWtOb1JpeFRRVUZUYUVVc1MwRkJTekpKTEZOQlFWTXpTU3hMUVVGTGJWb3NaMEpCUVdkQ2JsRXNSVUZCUlN3d1EwRkJNRU5vUWl4SFFVRkhMRmxCUVZrc1YwRkJWMmhKTEV0QlFVdDFXU3hWUVVGVkxGTkJRVk51VXl4TFFVRkxjRWNzVDBGQlQwRXNTMEZCUzI5YUxHZENRVUZuUW5CUkxFVkJRVVVzTUVOQlFUQkRhRUlzUjBGQlJ5eFpRVUZaTEZkQlFWZG9TU3hMUVVGTGRWa3NWVUZCVlN4VFFVRlRibE1zUzBGQlMzQkhMRTlCUVU5QkxFdEJRVXQ1V1N4dlFrRkJiMEo2VUN4RlFVRkZMRFpEUVVFMlEyaEtMRXRCUVV0cldpeHJRa0ZCYTBJelR5eFBRVUZQZGtzc1MwRkJTMjFhTEdsQ1FVRnBRalZQTEU5QlFVOTJTeXhMUVVGTGVWa3NjVUpCUVhGQ2JFOHNUMEZCVDNaTExFdEJRVXR2V2l4cFFrRkJhVUp3V2l4TFFVRkxReXhSUVVGUmQxZ3NhVUpCUVdsQ2VsZ3NTMEZCUzNsWUxHVkJRV1Y2VHl4RlFVRkZMRk5CUVZNc1EwRkJRMmRDTEUxQlFVMHNkVU5CUVhWRGFFY3NVMEZCVTJoRkxFdEJRVXN5U1N4VFFVRlRORUlzVDBGQlQzWkxMRXRCUVV0RExGRkJRVkY1V0N4dFFrRkJiVUl4VHl4RlFVRkZMRk5CUVZNc1EwRkJRMmRDTEUxQlFVMHNiME5CUVc5RGFVWXNTMEZCUzJwUUxFdEJRVXRETEZGQlFWRjVXQ3h2UWtGQmIwSXNUVUZCVFc1T0xFOUJRVTkyUWl4RlFVRkZMRk5CUVZNc1EwRkJRMmRDTEUxQlFVMHNjVU5CUVhGRGFFTXNSMEZCUnl4WlFVRlpMRmRCUVZjc1NVRkJTV3hKTEVWQlFVVkJMRVZCUVVWRkxFdEJRVXRuV1N4UFFVRlBhRmtzUzBGQlMybFpMR0ZCUVdGa0xGTkJRVk51V0N4TFFVRkxhVmtzWVVGQllTOVlMRWxCUVVsdFdTeGhRVUZoY2xrc1MwRkJTekpKTEZGQlFWRTRRaXhMUVVGTExHVkJRV1Y2U3l4TFFVRkxhVmtzWVVGQllXUXNVVUZCVVN4WlFVRlpMRWRCUVVkNlR5eE5RVUZOYzFFc1owSkJRV2RDTTFJc1RVRkJUU3hIUVVGSExFZEJRVWRGTEZGQlFWRXNVVUZCVVN4SlFVRkpka2dzUzBGQlN6QlpMR05CUVdNMVdTeEpRVUZKYzBjc1MwRkJTM0JITEZGQlFWRkJMRXRCUVV0RExGRkJRVkZ6V0N4bFFVRmxkbGdzUzBGQlMzVllMR0ZCUVdGMlR5eEZRVUZGTEZOQlFWTXNRMEZCUTJkQ0xFMUJRVTBzYVVOQlFXbERjVkFzV1VGQldYSmFMRXRCUVV0NVdTeHhRa0ZCY1VKNldTeExRVUZMZFZnc1lVRkJZV2hPTEU5QlFVOTJRaXhGUVVGRkxGVkJRVlVzUTBGQlEyZENMRTFCUVUwc1owTkJRV2REVHl4UFFVRlBka0lzUlVGQlJTeFhRVUZYYVVjc1MwRkJTMnBRTEV0QlFVdERMRkZCUVZGMVdDeDNRa0ZCZDBKcVRpeFBRVUZQZGtJc1JVRkJSU3hWUVVGVkxFTkJRVU5uUWl4TlFVRk5MRGhDUVVFNFFtZE9MRkZCUVZFc1YwRkJWMmhQTEVWQlFVVnFSQ3hWUVVGVmFVTXNSMEZCUnl4dlFrRkJiMEpvU1N4TFFVRkxSU3hIUVVGSExGTkJRVk5LTEVkQlFVY3NTVUZCU1VFc1JVRkJSWGxUTEZOQlFWTjJVeXhMUVVGTGRWa3NWVUZCVlN4UlFVRlJMRWxCUVVsNldTeEZRVUZGZVZNc1UwRkJVM1pUTEV0QlFVdDFXU3hWUVVGVkxGTkJRVk51VXl4TFFVRkxjRWNzVDBGQlQwRXNTMEZCUzNWWkxGVkJRVlVzVTBGQlUyVXNVMEZCVXl4WFFVRlhkRkVzUlVGQlJXcEVMRlZCUVZVNFJDeEpRVUZKTEc5Q1FVRnZRamRLTEV0QlFVdEZMRXRCUVV0eFdpeHBRa0ZCYVVJc1YwRkJWM1phTEV0QlFVc3lTU3hSUVVGUk9FSXNTMEZCU3l4NVFrRkJlVUkzUWl4SlFVRkpMRlZCUVZVc1RVRkJUU3hUUVVGVE5GRXNhMEpCUVd0Q01Wb3NSVUZCUld0S0xFZEJRVWNzU1VGQlNXeEtMRVZCUVVWdlZ5eFBRVUZQTEZOQlFWTXNRMEZCUTNWRUxFMUJRVTBzUzBGQlMwTXNUMEZCVFN4RlFVRkhReXhoUVVGaExFZEJRVWR5Vml4VlFVRlZMRWxCUVVrNVFpeFhRVUZYTEVOQlFVTktMRVZCUVVVc1VVRkJVVU1zUlVGQlJTeFBRVUZQUml4VFFVRlRMRU5CUVVORExFVkJRVVVzUjBGQlIwTXNSVUZCUlN4SlFVRkpkVmdzYjBKQlFXOUNMRU5CUVVORExFbEJRVWtzUTBGQlEzcFlMRVZCUVVVc1JVRkJSVU1zUlVGQlJTeEhRVUZIZVZnc1NVRkJTU3hEUVVGRE1WZ3NSVUZCUlN4SFFVRkhReXhGUVVGRkxFdEJRVXRJTEU5QlFVOTFSQ3hQUVVGUGFFUXNUMEZCVFN4RlFVRkhWeXhWUVVGVkxGTkJRVk5UTEdGQlFXRXNUVUZCVFVvc1QwRkJUeXhMUVVGTGMxVXNVVUZCVVN4WFFVRlhMMWdzUzBGQlN5dGFMSE5DUVVGelFpOVJMRVZCUVVWMFJDeFBRVUZQTEVkQlFVY3hSaXhMUVVGTFF5eFJRVUZSYTBNc1ZVRkJWVzVETEV0QlFVdG5ZU3h4UWtGQmNVSXNWMEZCVnl4SlFVRkpiR0VzUlVGQlJXdEtMRVZCUVVWMlJDeFJRVUZSWjBNc1JVRkJSVE5JTEVWQlFVVkxMRkZCUVZGTUxFVkJRVVZOTEZOQlFWTktMRXRCUVV0RExGRkJRVkZyUXl4VFFVRlROa2NzUlVGQlJYUkVMRTlCUVU4c1IwRkJSekZHTEV0QlFVc3JXaXgxUWtGQmRVSXZVU3hGUVVGRmNrSXNTMEZCU3pOSUxFdEJRVXRETEZGQlFWRXlXaXh2UWtGQmIwSXNVMEZCVXpsYUxFVkJRVVZETEVkQlFVY3NSMEZCUnpCSUxFZEJRVWN6U0N4RlFVRkZMRTlCUVU5RkxFdEJRVXRETEZGQlFWRnJReXhUUVVGVGNFTXNSMEZCUlN4SFFVRkpjVWNzUzBGQlMzQkhMRTlCUVU5QkxFdEJRVXRETEZGQlFWRXlReXhsUVVGbExFTkJRVU13UkN4SlFVRkpkRWNzUzBGQlMwTXNVVUZCVVd0RExGTkJRVk5GTEVWQlFVVnJSU3hOUVVGTmRrY3NTMEZCUzBNc1VVRkJVV3RETEZOQlFWTkRMRVZCUVVWdlJTeFBRVUZQZUVjc1MwRkJTME1zVVVGQlVXdERMRk5CUVZORkxFVkJRVVZ2UlN4TFFVRkxla2NzUzBGQlMwTXNVVUZCVVd0RExGTkJRVk5ETEVsQlFVbHdReXhMUVVGTFF5eFJRVUZSWlN4dFFrRkJiVUpuU1N4SlFVRkphRW9zUzBGQlMwTXNVVUZCVVdVc1VVRkJVV2hDTEV0QlFVdERMRkZCUVZGbExGRkJRVkZwV2l4UlFVRlJMMHdzUzBGQlN5eExRVUZMTEV0QlFVdHNSaXhGUVVGRmRrUXNVVUZCVVhWRExFZEJRVWNzSzBKQlFTdENhRWtzUzBGQlMwVXNSMEZCUnl4VFFVRlRTaXhIUVVGSFJTeExRVUZMTkU0c1VVRkJVVFZPTEV0QlFVdG5ZU3gzUWtGQmQwSTFWQ3hMUVVGTGNFY3NUMEZCVDBFc1MwRkJTeXRNTEZGQlFWRXJTeXhYUVVGWExGZEJRVmM1Vnl4TFFVRkxNa2tzVVVGQlVYSkdMRk5CUVZNc2EwTkJRV3REZEVRc1MwRkJTME1zVVVGQlVYZGFMRTlCUVU4c1UwRkJVM3BhTEV0QlFVc3lTU3hSUVVGUmJrZ3NTMEZCU3l4MVFrRkJkVUo0UWl4TFFVRkxReXhSUVVGUmRVTXNWMEZCVjBvc1JVRkJSU3hKUVVGSmNFTXNTMEZCUzBNc1VVRkJVWFZETEZkQlFWZElMRWxCUVVreVZTeFJRVUZSTEZkQlFWZG9XQ3hMUVVGTFF5eFJRVUZSZVZvc1VVRkJVVEZhTEV0QlFVdG5ZU3gxUWtGQmRVSm9VaXhGUVVGRmNrSXNTMEZCUzNGQ0xFVkJRVVVzWjBKQlFXZENMRk5CUVZOc1NpeEZRVUZGUXl4SlFVRkpRU3hGUVVGRmFVb3NSVUZCUldwS0xFbEJRVWx0VHl4TFFVRkxMRTlCUVU5c1R5eExRVUZMUlN4SlFVRkpTQ3hGUVVGRmVVSXNTMEZCU3l4NVFrRkJlVUo0UWl4TFFVRkxReXhSUVVGUmRVTXNWMEZCVjBvc1JVRkJSU3hKUVVGSmNFTXNTMEZCUzBNc1VVRkJVWFZETEZkQlFWZElMRWxCUVVseVF5eExRVUZMUXl4UlFVRlJlVm9zVDBGQlR6TmFMRVZCUVVWNVFpeExRVUZMTEZGQlFWRTBTQ3hOUVVGTkxFTkJRVU5ETEdGQlFWa3NUVUZCVDJwRUxFdEJRVXR3Unl4VFFVRlRhMkVzV1VGQldTeFhRVUZYTEVsQlFVbHdZU3hGUVVGRmVVa3NSVUZCUlN4SFFVRkhMRWxCUVVsNlNTeExRVUZMYTBvc1JVRkJSWEpDTEV0QlFVdHhRaXhGUVVGRkxHZENRVUZuUWl4VFFVRlRiRW9zUlVGQlJVTXNSMEZCUnl4SlFVRkpNRWdzUjBGQlJ6RklMRVZCUVVWcFNpeEZRVUZGYWtvc1NVRkJTWGxDTEV0QlFVc3NkMEpCUVhkQ0swY3NSVUZCUldRc1MwRkJTMk1zUlVGQlJXUXNSMEZCUnl4SlFVRkpZeXhGUVVGRlpDeEhRVUZITkVjc1MwRkJTM1JQTEV0QlFVdDNTU3hGUVVGRkxFTkJRVU1zU1VGQlNYaEpMRVZCUVVWRUxFVkJRVVVyUml4TlFVRk5MRXRCUVVzc1IwRkJSekJETEVWQlFVVjZTU3hIUVVGSGNXRXNWVUZCVlN4SlFVRkpNVk1zUlVGQlJVc3NSVUZCUlN4RlFVRkZMRWxCUVVsTUxFdEJRVXRqTEVWQlFVVjZTU3hIUVVGSExFTkJRVU1zU1VGQlNXbEtMRVZCUVVWRExFVkJRVVZVTEVWQlFVVjZTU3hIUVVGSE1rZ3NTVUZCU1hOQ0xFVkJRVVZJTEVsQlFVa3NWVUZCVlRkSkxFVkJRVVVyU0N4SFFVRkhRU3hIUVVGSGFVSXNSVUZCUlZZc1kwRkJZM0pKTEV0QlFVdERMRkZCUVZFd1dpeG5Ra0ZCWjBKS0xHbENRVUZwUWl4WFFVRlhkbG9zUzBGQlMybFhMRlZCUVZWcVZ5eExRVUZMUXl4UlFVRlJhV0VzV1VGQldUbFVMRXRCUVV0d1J5eE5RVUZOYjJFc1YwRkJWeXhUUVVGVGNtRXNSVUZCUlRCSUxFZEJRVWNzYlVKQlFXMUNORk1zVVVGQlVVRXNUMEZCVDBNc1NVRkJTVVFzVDBGQlR5eERRVUZETEZWQlFWVXNVMEZCVTNaaExFZEJRVWNzVDBGQlQwTXNSVUZCUlhGWExFdEJRVXN6VHl4RlFVRkZNMGdzUzBGQlN5eHBRa0ZCYVVKNVlTeFJRVUZSUVN4UFFVRlBReXhSUVVGUlJDeFBRVUZQUXl4UlFVRlJlbUVzUlVGQlJYRlhMRXRCUVVzelR5eEZRVUZGWjFRc1VVRkJVU3hYUVVGWE1XRXNSVUZCUlhGWExFdEJRVXN6VHl4RlFVRkZNVWdzUlVGQlJYVlhMRkZCUVhKTkxFTkJRVGhOZEZjc1MwRkJTeXhUUVVGVFJpeEhRVUZITEVsQlFVbERMRVZCUVVWS0xGbEJRVmxITEVkQlFVY3NVMEZCU1N4SlFVRlRkVmNzYjBKQlFXOUNRU3h2UWtGQmIwSkJMRzFDUVVGdFFuUlhMRVZCUVVWRUxFZEJRVWNzVFVGQlRVRXNSMEZCUnpSaExGRkJRVkY0Unl4TlFVRk5jRlVzUjBGQlJ5eFRRVUZKTEVsQlFWTnZXQ3hyUWtGQmEwSkJMR3RDUVVGclFrRXNhVUpCUVdsQ2JsZ3NSVUZCUlVRc1IwRkJSeXhOUVVGTlFTeEhRVUZITkdFc1VVRkJVWGhITEUxQlFVMXdWU3hIUVVGSExGTkJRVWtzU1VGQlV6QmFMRzFDUVVGdFFrRXNiVUpCUVcxQ1FTeHJRa0ZCYTBKNldpeEZRVUZGUkN4SFFVRkhMRTFCUVUxQkxFZEJRVWMwWVN4UlFVRlJlRWNzVFVGQlRYQlZMRWRCUVVjc1QwRkJUME1pTENKbWFXeGxJam9pTDJodmJXVXZlbWx1Ynk5d2NtOXFaV04wY3k5elpXRjBiV0Z3ZGpJdmJXRnpkR1Z5TDNObFlYUnRZWEIyTWk5amJHbGxiblF2Ym05a1pWOXRiMlIxYkdWekwycGliM2d2WkdsemRDOXFRbTk0TG1Gc2JDNXRhVzR1YW5NaWZRPT0iLCIhZnVuY3Rpb24oZSx0KXtcInVzZSBzdHJpY3RcIjtcIm9iamVjdFwiPT10eXBlb2YgbW9kdWxlJiZcIm9iamVjdFwiPT10eXBlb2YgbW9kdWxlLmV4cG9ydHM/bW9kdWxlLmV4cG9ydHM9ZS5kb2N1bWVudD90KGUsITApOmZ1bmN0aW9uKGUpe2lmKCFlLmRvY3VtZW50KXRocm93IG5ldyBFcnJvcihcImpRdWVyeSByZXF1aXJlcyBhIHdpbmRvdyB3aXRoIGEgZG9jdW1lbnRcIik7cmV0dXJuIHQoZSl9OnQoZSl9KFwidW5kZWZpbmVkXCIhPXR5cGVvZiB3aW5kb3c/d2luZG93OnRoaXMsZnVuY3Rpb24oZSx0KXtcInVzZSBzdHJpY3RcIjt2YXIgbj1bXSxyPU9iamVjdC5nZXRQcm90b3R5cGVPZixpPW4uc2xpY2Usbz1uLmZsYXQ/ZnVuY3Rpb24oZSl7cmV0dXJuIG4uZmxhdC5jYWxsKGUpfTpmdW5jdGlvbihlKXtyZXR1cm4gbi5jb25jYXQuYXBwbHkoW10sZSl9LGE9bi5wdXNoLHM9bi5pbmRleE9mLHU9e30sbD11LnRvU3RyaW5nLGM9dS5oYXNPd25Qcm9wZXJ0eSxmPWMudG9TdHJpbmcscD1mLmNhbGwoT2JqZWN0KSxkPXt9LGg9ZnVuY3Rpb24oZSl7cmV0dXJuXCJmdW5jdGlvblwiPT10eXBlb2YgZSYmXCJudW1iZXJcIiE9dHlwZW9mIGUubm9kZVR5cGUmJlwiZnVuY3Rpb25cIiE9dHlwZW9mIGUuaXRlbX0sZz1mdW5jdGlvbihlKXtyZXR1cm4gbnVsbCE9ZSYmZT09PWUud2luZG93fSx2PWUuZG9jdW1lbnQseT17dHlwZTohMCxzcmM6ITAsbm9uY2U6ITAsbm9Nb2R1bGU6ITB9O2Z1bmN0aW9uIG0oZSx0LG4pe3ZhciByLGksbz0obj1ufHx2KS5jcmVhdGVFbGVtZW50KFwic2NyaXB0XCIpO2lmKG8udGV4dD1lLHQpZm9yKHIgaW4geSkoaT10W3JdfHx0LmdldEF0dHJpYnV0ZSYmdC5nZXRBdHRyaWJ1dGUocikpJiZvLnNldEF0dHJpYnV0ZShyLGkpO24uaGVhZC5hcHBlbmRDaGlsZChvKS5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKG8pfWZ1bmN0aW9uIHgoZSl7cmV0dXJuIG51bGw9PWU/ZStcIlwiOlwib2JqZWN0XCI9PXR5cGVvZiBlfHxcImZ1bmN0aW9uXCI9PXR5cGVvZiBlP3VbbC5jYWxsKGUpXXx8XCJvYmplY3RcIjp0eXBlb2YgZX12YXIgYj1mdW5jdGlvbihlLHQpe3JldHVybiBuZXcgYi5mbi5pbml0KGUsdCl9O2Z1bmN0aW9uIHcoZSl7dmFyIHQ9ISFlJiZcImxlbmd0aFwiaW4gZSYmZS5sZW5ndGgsbj14KGUpO3JldHVybiFoKGUpJiYhZyhlKSYmKFwiYXJyYXlcIj09PW58fDA9PT10fHxcIm51bWJlclwiPT10eXBlb2YgdCYmdD4wJiZ0LTEgaW4gZSl9Yi5mbj1iLnByb3RvdHlwZT17anF1ZXJ5OlwiMy42LjBcIixjb25zdHJ1Y3RvcjpiLGxlbmd0aDowLHRvQXJyYXk6ZnVuY3Rpb24oKXtyZXR1cm4gaS5jYWxsKHRoaXMpfSxnZXQ6ZnVuY3Rpb24oZSl7cmV0dXJuIG51bGw9PWU/aS5jYWxsKHRoaXMpOmU8MD90aGlzW2UrdGhpcy5sZW5ndGhdOnRoaXNbZV19LHB1c2hTdGFjazpmdW5jdGlvbihlKXt2YXIgdD1iLm1lcmdlKHRoaXMuY29uc3RydWN0b3IoKSxlKTtyZXR1cm4gdC5wcmV2T2JqZWN0PXRoaXMsdH0sZWFjaDpmdW5jdGlvbihlKXtyZXR1cm4gYi5lYWNoKHRoaXMsZSl9LG1hcDpmdW5jdGlvbihlKXtyZXR1cm4gdGhpcy5wdXNoU3RhY2soYi5tYXAodGhpcyxmdW5jdGlvbih0LG4pe3JldHVybiBlLmNhbGwodCxuLHQpfSkpfSxzbGljZTpmdW5jdGlvbigpe3JldHVybiB0aGlzLnB1c2hTdGFjayhpLmFwcGx5KHRoaXMsYXJndW1lbnRzKSl9LGZpcnN0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuZXEoMCl9LGxhc3Q6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5lcSgtMSl9LGV2ZW46ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5wdXNoU3RhY2soYi5ncmVwKHRoaXMsZnVuY3Rpb24oZSx0KXtyZXR1cm4odCsxKSUyfSkpfSxvZGQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5wdXNoU3RhY2soYi5ncmVwKHRoaXMsZnVuY3Rpb24oZSx0KXtyZXR1cm4gdCUyfSkpfSxlcTpmdW5jdGlvbihlKXt2YXIgdD10aGlzLmxlbmd0aCxuPStlKyhlPDA/dDowKTtyZXR1cm4gdGhpcy5wdXNoU3RhY2sobj49MCYmbjx0P1t0aGlzW25dXTpbXSl9LGVuZDpmdW5jdGlvbigpe3JldHVybiB0aGlzLnByZXZPYmplY3R8fHRoaXMuY29uc3RydWN0b3IoKX0scHVzaDphLHNvcnQ6bi5zb3J0LHNwbGljZTpuLnNwbGljZX0sYi5leHRlbmQ9Yi5mbi5leHRlbmQ9ZnVuY3Rpb24oKXt2YXIgZSx0LG4scixpLG8sYT1hcmd1bWVudHNbMF18fHt9LHM9MSx1PWFyZ3VtZW50cy5sZW5ndGgsbD0hMTtmb3IoXCJib29sZWFuXCI9PXR5cGVvZiBhJiYobD1hLGE9YXJndW1lbnRzW3NdfHx7fSxzKyspLFwib2JqZWN0XCI9PXR5cGVvZiBhfHxoKGEpfHwoYT17fSkscz09PXUmJihhPXRoaXMscy0tKTtzPHU7cysrKWlmKG51bGwhPShlPWFyZ3VtZW50c1tzXSkpZm9yKHQgaW4gZSlyPWVbdF0sXCJfX3Byb3RvX19cIiE9PXQmJmEhPT1yJiYobCYmciYmKGIuaXNQbGFpbk9iamVjdChyKXx8KGk9QXJyYXkuaXNBcnJheShyKSkpPyhuPWFbdF0sbz1pJiYhQXJyYXkuaXNBcnJheShuKT9bXTppfHxiLmlzUGxhaW5PYmplY3Qobik/bjp7fSxpPSExLGFbdF09Yi5leHRlbmQobCxvLHIpKTp2b2lkIDAhPT1yJiYoYVt0XT1yKSk7cmV0dXJuIGF9LGIuZXh0ZW5kKHtleHBhbmRvOlwialF1ZXJ5XCIrKFwiMy42LjBcIitNYXRoLnJhbmRvbSgpKS5yZXBsYWNlKC9cXEQvZyxcIlwiKSxpc1JlYWR5OiEwLGVycm9yOmZ1bmN0aW9uKGUpe3Rocm93IG5ldyBFcnJvcihlKX0sbm9vcDpmdW5jdGlvbigpe30saXNQbGFpbk9iamVjdDpmdW5jdGlvbihlKXt2YXIgdCxuO3JldHVybiEoIWV8fFwiW29iamVjdCBPYmplY3RdXCIhPT1sLmNhbGwoZSkpJiYoISh0PXIoZSkpfHxcImZ1bmN0aW9uXCI9PXR5cGVvZihuPWMuY2FsbCh0LFwiY29uc3RydWN0b3JcIikmJnQuY29uc3RydWN0b3IpJiZmLmNhbGwobik9PT1wKX0saXNFbXB0eU9iamVjdDpmdW5jdGlvbihlKXt2YXIgdDtmb3IodCBpbiBlKXJldHVybiExO3JldHVybiEwfSxnbG9iYWxFdmFsOmZ1bmN0aW9uKGUsdCxuKXttKGUse25vbmNlOnQmJnQubm9uY2V9LG4pfSxlYWNoOmZ1bmN0aW9uKGUsdCl7dmFyIG4scj0wO2lmKHcoZSkpZm9yKG49ZS5sZW5ndGg7cjxuJiYhMSE9PXQuY2FsbChlW3JdLHIsZVtyXSk7cisrKTtlbHNlIGZvcihyIGluIGUpaWYoITE9PT10LmNhbGwoZVtyXSxyLGVbcl0pKWJyZWFrO3JldHVybiBlfSxtYWtlQXJyYXk6ZnVuY3Rpb24oZSx0KXt2YXIgbj10fHxbXTtyZXR1cm4gbnVsbCE9ZSYmKHcoT2JqZWN0KGUpKT9iLm1lcmdlKG4sXCJzdHJpbmdcIj09dHlwZW9mIGU/W2VdOmUpOmEuY2FsbChuLGUpKSxufSxpbkFycmF5OmZ1bmN0aW9uKGUsdCxuKXtyZXR1cm4gbnVsbD09dD8tMTpzLmNhbGwodCxlLG4pfSxtZXJnZTpmdW5jdGlvbihlLHQpe2Zvcih2YXIgbj0rdC5sZW5ndGgscj0wLGk9ZS5sZW5ndGg7cjxuO3IrKyllW2krK109dFtyXTtyZXR1cm4gZS5sZW5ndGg9aSxlfSxncmVwOmZ1bmN0aW9uKGUsdCxuKXtmb3IodmFyIHI9W10saT0wLG89ZS5sZW5ndGgsYT0hbjtpPG87aSsrKSF0KGVbaV0saSkhPT1hJiZyLnB1c2goZVtpXSk7cmV0dXJuIHJ9LG1hcDpmdW5jdGlvbihlLHQsbil7dmFyIHIsaSxhPTAscz1bXTtpZih3KGUpKWZvcihyPWUubGVuZ3RoO2E8cjthKyspbnVsbCE9KGk9dChlW2FdLGEsbikpJiZzLnB1c2goaSk7ZWxzZSBmb3IoYSBpbiBlKW51bGwhPShpPXQoZVthXSxhLG4pKSYmcy5wdXNoKGkpO3JldHVybiBvKHMpfSxndWlkOjEsc3VwcG9ydDpkfSksXCJmdW5jdGlvblwiPT10eXBlb2YgU3ltYm9sJiYoYi5mbltTeW1ib2wuaXRlcmF0b3JdPW5bU3ltYm9sLml0ZXJhdG9yXSksYi5lYWNoKFwiQm9vbGVhbiBOdW1iZXIgU3RyaW5nIEZ1bmN0aW9uIEFycmF5IERhdGUgUmVnRXhwIE9iamVjdCBFcnJvciBTeW1ib2xcIi5zcGxpdChcIiBcIiksZnVuY3Rpb24oZSx0KXt1W1wiW29iamVjdCBcIit0K1wiXVwiXT10LnRvTG93ZXJDYXNlKCl9KTt2YXIgVD1mdW5jdGlvbihlKXt2YXIgdCxuLHIsaSxvLGEscyx1LGwsYyxmLHAsZCxoLGcsdix5LG0seCxiPVwic2l6emxlXCIrMSpuZXcgRGF0ZSx3PWUuZG9jdW1lbnQsVD0wLEM9MCxFPXVlKCksUz11ZSgpLGs9dWUoKSxBPXVlKCksTj1mdW5jdGlvbihlLHQpe3JldHVybiBlPT09dCYmKGY9ITApLDB9LGo9e30uaGFzT3duUHJvcGVydHksRD1bXSxxPUQucG9wLEw9RC5wdXNoLEg9RC5wdXNoLE89RC5zbGljZSxQPWZ1bmN0aW9uKGUsdCl7Zm9yKHZhciBuPTAscj1lLmxlbmd0aDtuPHI7bisrKWlmKGVbbl09PT10KXJldHVybiBuO3JldHVybi0xfSxSPVwiY2hlY2tlZHxzZWxlY3RlZHxhc3luY3xhdXRvZm9jdXN8YXV0b3BsYXl8Y29udHJvbHN8ZGVmZXJ8ZGlzYWJsZWR8aGlkZGVufGlzbWFwfGxvb3B8bXVsdGlwbGV8b3BlbnxyZWFkb25seXxyZXF1aXJlZHxzY29wZWRcIixNPVwiW1xcXFx4MjBcXFxcdFxcXFxyXFxcXG5cXFxcZl1cIixJPVwiKD86XFxcXFxcXFxbXFxcXGRhLWZBLUZdezEsNn1cIitNK1wiP3xcXFxcXFxcXFteXFxcXHJcXFxcblxcXFxmXXxbXFxcXHctXXxbXlxcMC1cXFxceDdmXSkrXCIsVz1cIlxcXFxbXCIrTStcIiooXCIrSStcIikoPzpcIitNK1wiKihbKl4kfCF+XT89KVwiK00rXCIqKD86JygoPzpcXFxcXFxcXC58W15cXFxcXFxcXCddKSopJ3xcXFwiKCg/OlxcXFxcXFxcLnxbXlxcXFxcXFxcXFxcIl0pKilcXFwifChcIitJK1wiKSl8KVwiK00rXCIqXFxcXF1cIixGPVwiOihcIitJK1wiKSg/OlxcXFwoKCgnKCg/OlxcXFxcXFxcLnxbXlxcXFxcXFxcJ10pKiknfFxcXCIoKD86XFxcXFxcXFwufFteXFxcXFxcXFxcXFwiXSkqKVxcXCIpfCgoPzpcXFxcXFxcXC58W15cXFxcXFxcXCgpW1xcXFxdXXxcIitXK1wiKSopfC4qKVxcXFwpfClcIixCPW5ldyBSZWdFeHAoTStcIitcIixcImdcIiksJD1uZXcgUmVnRXhwKFwiXlwiK00rXCIrfCgoPzpefFteXFxcXFxcXFxdKSg/OlxcXFxcXFxcLikqKVwiK00rXCIrJFwiLFwiZ1wiKSxfPW5ldyBSZWdFeHAoXCJeXCIrTStcIiosXCIrTStcIipcIiksej1uZXcgUmVnRXhwKFwiXlwiK00rXCIqKFs+K35dfFwiK00rXCIpXCIrTStcIipcIiksVT1uZXcgUmVnRXhwKE0rXCJ8PlwiKSxYPW5ldyBSZWdFeHAoRiksVj1uZXcgUmVnRXhwKFwiXlwiK0krXCIkXCIpLEc9e0lEOm5ldyBSZWdFeHAoXCJeIyhcIitJK1wiKVwiKSxDTEFTUzpuZXcgUmVnRXhwKFwiXlxcXFwuKFwiK0krXCIpXCIpLFRBRzpuZXcgUmVnRXhwKFwiXihcIitJK1wifFsqXSlcIiksQVRUUjpuZXcgUmVnRXhwKFwiXlwiK1cpLFBTRVVETzpuZXcgUmVnRXhwKFwiXlwiK0YpLENISUxEOm5ldyBSZWdFeHAoXCJeOihvbmx5fGZpcnN0fGxhc3R8bnRofG50aC1sYXN0KS0oY2hpbGR8b2YtdHlwZSkoPzpcXFxcKFwiK00rXCIqKGV2ZW58b2RkfCgoWystXXwpKFxcXFxkKilufClcIitNK1wiKig/OihbKy1dfClcIitNK1wiKihcXFxcZCspfCkpXCIrTStcIipcXFxcKXwpXCIsXCJpXCIpLGJvb2w6bmV3IFJlZ0V4cChcIl4oPzpcIitSK1wiKSRcIixcImlcIiksbmVlZHNDb250ZXh0Om5ldyBSZWdFeHAoXCJeXCIrTStcIipbPit+XXw6KGV2ZW58b2RkfGVxfGd0fGx0fG50aHxmaXJzdHxsYXN0KSg/OlxcXFwoXCIrTStcIiooKD86LVxcXFxkKT9cXFxcZCopXCIrTStcIipcXFxcKXwpKD89W14tXXwkKVwiLFwiaVwiKX0sWT0vSFRNTCQvaSxRPS9eKD86aW5wdXR8c2VsZWN0fHRleHRhcmVhfGJ1dHRvbikkL2ksSj0vXmhcXGQkL2ksSz0vXltee10rXFx7XFxzKlxcW25hdGl2ZSBcXHcvLFo9L14oPzojKFtcXHctXSspfChcXHcrKXxcXC4oW1xcdy1dKykpJC8sZWU9L1srfl0vLHRlPW5ldyBSZWdFeHAoXCJcXFxcXFxcXFtcXFxcZGEtZkEtRl17MSw2fVwiK00rXCI/fFxcXFxcXFxcKFteXFxcXHJcXFxcblxcXFxmXSlcIixcImdcIiksbmU9ZnVuY3Rpb24oZSx0KXt2YXIgbj1cIjB4XCIrZS5zbGljZSgxKS02NTUzNjtyZXR1cm4gdHx8KG48MD9TdHJpbmcuZnJvbUNoYXJDb2RlKG4rNjU1MzYpOlN0cmluZy5mcm9tQ2hhckNvZGUobj4+MTB8NTUyOTYsMTAyMyZufDU2MzIwKSl9LHJlPS8oW1xcMC1cXHgxZlxceDdmXXxeLT9cXGQpfF4tJHxbXlxcMC1cXHgxZlxceDdmLVxcdUZGRkZcXHctXS9nLGllPWZ1bmN0aW9uKGUsdCl7cmV0dXJuIHQ/XCJcXDBcIj09PWU/XCLvv71cIjplLnNsaWNlKDAsLTEpK1wiXFxcXFwiK2UuY2hhckNvZGVBdChlLmxlbmd0aC0xKS50b1N0cmluZygxNikrXCIgXCI6XCJcXFxcXCIrZX0sb2U9ZnVuY3Rpb24oKXtwKCl9LGFlPWJlKGZ1bmN0aW9uKGUpe3JldHVybiEwPT09ZS5kaXNhYmxlZCYmXCJmaWVsZHNldFwiPT09ZS5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpfSx7ZGlyOlwicGFyZW50Tm9kZVwiLG5leHQ6XCJsZWdlbmRcIn0pO3RyeXtILmFwcGx5KEQ9Ty5jYWxsKHcuY2hpbGROb2Rlcyksdy5jaGlsZE5vZGVzKSxEW3cuY2hpbGROb2Rlcy5sZW5ndGhdLm5vZGVUeXBlfWNhdGNoKGUpe0g9e2FwcGx5OkQubGVuZ3RoP2Z1bmN0aW9uKGUsdCl7TC5hcHBseShlLE8uY2FsbCh0KSl9OmZ1bmN0aW9uKGUsdCl7Zm9yKHZhciBuPWUubGVuZ3RoLHI9MDtlW24rK109dFtyKytdOyk7ZS5sZW5ndGg9bi0xfX19ZnVuY3Rpb24gc2UoZSx0LHIsaSl7dmFyIG8scyxsLGMsZixoLHksbT10JiZ0Lm93bmVyRG9jdW1lbnQsdz10P3Qubm9kZVR5cGU6OTtpZihyPXJ8fFtdLFwic3RyaW5nXCIhPXR5cGVvZiBlfHwhZXx8MSE9PXcmJjkhPT13JiYxMSE9PXcpcmV0dXJuIHI7aWYoIWkmJihwKHQpLHQ9dHx8ZCxnKSl7aWYoMTEhPT13JiYoZj1aLmV4ZWMoZSkpKWlmKG89ZlsxXSl7aWYoOT09PXcpe2lmKCEobD10LmdldEVsZW1lbnRCeUlkKG8pKSlyZXR1cm4gcjtpZihsLmlkPT09bylyZXR1cm4gci5wdXNoKGwpLHJ9ZWxzZSBpZihtJiYobD1tLmdldEVsZW1lbnRCeUlkKG8pKSYmeCh0LGwpJiZsLmlkPT09bylyZXR1cm4gci5wdXNoKGwpLHJ9ZWxzZXtpZihmWzJdKXJldHVybiBILmFwcGx5KHIsdC5nZXRFbGVtZW50c0J5VGFnTmFtZShlKSkscjtpZigobz1mWzNdKSYmbi5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lJiZ0LmdldEVsZW1lbnRzQnlDbGFzc05hbWUpcmV0dXJuIEguYXBwbHkocix0LmdldEVsZW1lbnRzQnlDbGFzc05hbWUobykpLHJ9aWYobi5xc2EmJiFBW2UrXCIgXCJdJiYoIXZ8fCF2LnRlc3QoZSkpJiYoMSE9PXd8fFwib2JqZWN0XCIhPT10Lm5vZGVOYW1lLnRvTG93ZXJDYXNlKCkpKXtpZih5PWUsbT10LDE9PT13JiYoVS50ZXN0KGUpfHx6LnRlc3QoZSkpKXtmb3IoKG09ZWUudGVzdChlKSYmeWUodC5wYXJlbnROb2RlKXx8dCk9PT10JiZuLnNjb3BlfHwoKGM9dC5nZXRBdHRyaWJ1dGUoXCJpZFwiKSk/Yz1jLnJlcGxhY2UocmUsaWUpOnQuc2V0QXR0cmlidXRlKFwiaWRcIixjPWIpKSxzPShoPWEoZSkpLmxlbmd0aDtzLS07KWhbc109KGM/XCIjXCIrYzpcIjpzY29wZVwiKStcIiBcIit4ZShoW3NdKTt5PWguam9pbihcIixcIil9dHJ5e3JldHVybiBILmFwcGx5KHIsbS5xdWVyeVNlbGVjdG9yQWxsKHkpKSxyfWNhdGNoKHQpe0EoZSwhMCl9ZmluYWxseXtjPT09YiYmdC5yZW1vdmVBdHRyaWJ1dGUoXCJpZFwiKX19fXJldHVybiB1KGUucmVwbGFjZSgkLFwiJDFcIiksdCxyLGkpfWZ1bmN0aW9uIHVlKCl7dmFyIGU9W107cmV0dXJuIGZ1bmN0aW9uIHQobixpKXtyZXR1cm4gZS5wdXNoKG4rXCIgXCIpPnIuY2FjaGVMZW5ndGgmJmRlbGV0ZSB0W2Uuc2hpZnQoKV0sdFtuK1wiIFwiXT1pfX1mdW5jdGlvbiBsZShlKXtyZXR1cm4gZVtiXT0hMCxlfWZ1bmN0aW9uIGNlKGUpe3ZhciB0PWQuY3JlYXRlRWxlbWVudChcImZpZWxkc2V0XCIpO3RyeXtyZXR1cm4hIWUodCl9Y2F0Y2goZSl7cmV0dXJuITF9ZmluYWxseXt0LnBhcmVudE5vZGUmJnQucGFyZW50Tm9kZS5yZW1vdmVDaGlsZCh0KSx0PW51bGx9fWZ1bmN0aW9uIGZlKGUsdCl7Zm9yKHZhciBuPWUuc3BsaXQoXCJ8XCIpLGk9bi5sZW5ndGg7aS0tOylyLmF0dHJIYW5kbGVbbltpXV09dH1mdW5jdGlvbiBwZShlLHQpe3ZhciBuPXQmJmUscj1uJiYxPT09ZS5ub2RlVHlwZSYmMT09PXQubm9kZVR5cGUmJmUuc291cmNlSW5kZXgtdC5zb3VyY2VJbmRleDtpZihyKXJldHVybiByO2lmKG4pZm9yKDtuPW4ubmV4dFNpYmxpbmc7KWlmKG49PT10KXJldHVybi0xO3JldHVybiBlPzE6LTF9ZnVuY3Rpb24gZGUoZSl7cmV0dXJuIGZ1bmN0aW9uKHQpe3JldHVyblwiaW5wdXRcIj09PXQubm9kZU5hbWUudG9Mb3dlckNhc2UoKSYmdC50eXBlPT09ZX19ZnVuY3Rpb24gaGUoZSl7cmV0dXJuIGZ1bmN0aW9uKHQpe3ZhciBuPXQubm9kZU5hbWUudG9Mb3dlckNhc2UoKTtyZXR1cm4oXCJpbnB1dFwiPT09bnx8XCJidXR0b25cIj09PW4pJiZ0LnR5cGU9PT1lfX1mdW5jdGlvbiBnZShlKXtyZXR1cm4gZnVuY3Rpb24odCl7cmV0dXJuXCJmb3JtXCJpbiB0P3QucGFyZW50Tm9kZSYmITE9PT10LmRpc2FibGVkP1wibGFiZWxcImluIHQ/XCJsYWJlbFwiaW4gdC5wYXJlbnROb2RlP3QucGFyZW50Tm9kZS5kaXNhYmxlZD09PWU6dC5kaXNhYmxlZD09PWU6dC5pc0Rpc2FibGVkPT09ZXx8dC5pc0Rpc2FibGVkIT09IWUmJmFlKHQpPT09ZTp0LmRpc2FibGVkPT09ZTpcImxhYmVsXCJpbiB0JiZ0LmRpc2FibGVkPT09ZX19ZnVuY3Rpb24gdmUoZSl7cmV0dXJuIGxlKGZ1bmN0aW9uKHQpe3JldHVybiB0PSt0LGxlKGZ1bmN0aW9uKG4scil7Zm9yKHZhciBpLG89ZShbXSxuLmxlbmd0aCx0KSxhPW8ubGVuZ3RoO2EtLTspbltpPW9bYV1dJiYobltpXT0hKHJbaV09bltpXSkpfSl9KX1mdW5jdGlvbiB5ZShlKXtyZXR1cm4gZSYmdm9pZCAwIT09ZS5nZXRFbGVtZW50c0J5VGFnTmFtZSYmZX1mb3IodCBpbiBuPXNlLnN1cHBvcnQ9e30sbz1zZS5pc1hNTD1mdW5jdGlvbihlKXt2YXIgdD1lJiZlLm5hbWVzcGFjZVVSSSxuPWUmJihlLm93bmVyRG9jdW1lbnR8fGUpLmRvY3VtZW50RWxlbWVudDtyZXR1cm4hWS50ZXN0KHR8fG4mJm4ubm9kZU5hbWV8fFwiSFRNTFwiKX0scD1zZS5zZXREb2N1bWVudD1mdW5jdGlvbihlKXt2YXIgdCxpLGE9ZT9lLm93bmVyRG9jdW1lbnR8fGU6dztyZXR1cm4gYSE9ZCYmOT09PWEubm9kZVR5cGUmJmEuZG9jdW1lbnRFbGVtZW50PyhoPShkPWEpLmRvY3VtZW50RWxlbWVudCxnPSFvKGQpLHchPWQmJihpPWQuZGVmYXVsdFZpZXcpJiZpLnRvcCE9PWkmJihpLmFkZEV2ZW50TGlzdGVuZXI/aS5hZGRFdmVudExpc3RlbmVyKFwidW5sb2FkXCIsb2UsITEpOmkuYXR0YWNoRXZlbnQmJmkuYXR0YWNoRXZlbnQoXCJvbnVubG9hZFwiLG9lKSksbi5zY29wZT1jZShmdW5jdGlvbihlKXtyZXR1cm4gaC5hcHBlbmRDaGlsZChlKS5hcHBlbmRDaGlsZChkLmNyZWF0ZUVsZW1lbnQoXCJkaXZcIikpLHZvaWQgMCE9PWUucXVlcnlTZWxlY3RvckFsbCYmIWUucXVlcnlTZWxlY3RvckFsbChcIjpzY29wZSBmaWVsZHNldCBkaXZcIikubGVuZ3RofSksbi5hdHRyaWJ1dGVzPWNlKGZ1bmN0aW9uKGUpe3JldHVybiBlLmNsYXNzTmFtZT1cImlcIiwhZS5nZXRBdHRyaWJ1dGUoXCJjbGFzc05hbWVcIil9KSxuLmdldEVsZW1lbnRzQnlUYWdOYW1lPWNlKGZ1bmN0aW9uKGUpe3JldHVybiBlLmFwcGVuZENoaWxkKGQuY3JlYXRlQ29tbWVudChcIlwiKSksIWUuZ2V0RWxlbWVudHNCeVRhZ05hbWUoXCIqXCIpLmxlbmd0aH0pLG4uZ2V0RWxlbWVudHNCeUNsYXNzTmFtZT1LLnRlc3QoZC5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKSxuLmdldEJ5SWQ9Y2UoZnVuY3Rpb24oZSl7cmV0dXJuIGguYXBwZW5kQ2hpbGQoZSkuaWQ9YiwhZC5nZXRFbGVtZW50c0J5TmFtZXx8IWQuZ2V0RWxlbWVudHNCeU5hbWUoYikubGVuZ3RofSksbi5nZXRCeUlkPyhyLmZpbHRlci5JRD1mdW5jdGlvbihlKXt2YXIgdD1lLnJlcGxhY2UodGUsbmUpO3JldHVybiBmdW5jdGlvbihlKXtyZXR1cm4gZS5nZXRBdHRyaWJ1dGUoXCJpZFwiKT09PXR9fSxyLmZpbmQuSUQ9ZnVuY3Rpb24oZSx0KXtpZih2b2lkIDAhPT10LmdldEVsZW1lbnRCeUlkJiZnKXt2YXIgbj10LmdldEVsZW1lbnRCeUlkKGUpO3JldHVybiBuP1tuXTpbXX19KTooci5maWx0ZXIuSUQ9ZnVuY3Rpb24oZSl7dmFyIHQ9ZS5yZXBsYWNlKHRlLG5lKTtyZXR1cm4gZnVuY3Rpb24oZSl7dmFyIG49dm9pZCAwIT09ZS5nZXRBdHRyaWJ1dGVOb2RlJiZlLmdldEF0dHJpYnV0ZU5vZGUoXCJpZFwiKTtyZXR1cm4gbiYmbi52YWx1ZT09PXR9fSxyLmZpbmQuSUQ9ZnVuY3Rpb24oZSx0KXtpZih2b2lkIDAhPT10LmdldEVsZW1lbnRCeUlkJiZnKXt2YXIgbixyLGksbz10LmdldEVsZW1lbnRCeUlkKGUpO2lmKG8pe2lmKChuPW8uZ2V0QXR0cmlidXRlTm9kZShcImlkXCIpKSYmbi52YWx1ZT09PWUpcmV0dXJuW29dO2ZvcihpPXQuZ2V0RWxlbWVudHNCeU5hbWUoZSkscj0wO289aVtyKytdOylpZigobj1vLmdldEF0dHJpYnV0ZU5vZGUoXCJpZFwiKSkmJm4udmFsdWU9PT1lKXJldHVybltvXX1yZXR1cm5bXX19KSxyLmZpbmQuVEFHPW4uZ2V0RWxlbWVudHNCeVRhZ05hbWU/ZnVuY3Rpb24oZSx0KXtyZXR1cm4gdm9pZCAwIT09dC5nZXRFbGVtZW50c0J5VGFnTmFtZT90LmdldEVsZW1lbnRzQnlUYWdOYW1lKGUpOm4ucXNhP3QucXVlcnlTZWxlY3RvckFsbChlKTp2b2lkIDB9OmZ1bmN0aW9uKGUsdCl7dmFyIG4scj1bXSxpPTAsbz10LmdldEVsZW1lbnRzQnlUYWdOYW1lKGUpO2lmKFwiKlwiPT09ZSl7Zm9yKDtuPW9baSsrXTspMT09PW4ubm9kZVR5cGUmJnIucHVzaChuKTtyZXR1cm4gcn1yZXR1cm4gb30sci5maW5kLkNMQVNTPW4uZ2V0RWxlbWVudHNCeUNsYXNzTmFtZSYmZnVuY3Rpb24oZSx0KXtpZih2b2lkIDAhPT10LmdldEVsZW1lbnRzQnlDbGFzc05hbWUmJmcpcmV0dXJuIHQuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZShlKX0seT1bXSx2PVtdLChuLnFzYT1LLnRlc3QoZC5xdWVyeVNlbGVjdG9yQWxsKSkmJihjZShmdW5jdGlvbihlKXt2YXIgdDtoLmFwcGVuZENoaWxkKGUpLmlubmVySFRNTD1cIjxhIGlkPSdcIitiK1wiJz48L2E+PHNlbGVjdCBpZD0nXCIrYitcIi1cXHJcXFxcJyBtc2FsbG93Y2FwdHVyZT0nJz48b3B0aW9uIHNlbGVjdGVkPScnPjwvb3B0aW9uPjwvc2VsZWN0PlwiLGUucXVlcnlTZWxlY3RvckFsbChcIlttc2FsbG93Y2FwdHVyZV49JyddXCIpLmxlbmd0aCYmdi5wdXNoKFwiWypeJF09XCIrTStcIiooPzonJ3xcXFwiXFxcIilcIiksZS5xdWVyeVNlbGVjdG9yQWxsKFwiW3NlbGVjdGVkXVwiKS5sZW5ndGh8fHYucHVzaChcIlxcXFxbXCIrTStcIiooPzp2YWx1ZXxcIitSK1wiKVwiKSxlLnF1ZXJ5U2VsZWN0b3JBbGwoXCJbaWR+PVwiK2IrXCItXVwiKS5sZW5ndGh8fHYucHVzaChcIn49XCIpLCh0PWQuY3JlYXRlRWxlbWVudChcImlucHV0XCIpKS5zZXRBdHRyaWJ1dGUoXCJuYW1lXCIsXCJcIiksZS5hcHBlbmRDaGlsZCh0KSxlLnF1ZXJ5U2VsZWN0b3JBbGwoXCJbbmFtZT0nJ11cIikubGVuZ3RofHx2LnB1c2goXCJcXFxcW1wiK00rXCIqbmFtZVwiK00rXCIqPVwiK00rXCIqKD86Jyd8XFxcIlxcXCIpXCIpLGUucXVlcnlTZWxlY3RvckFsbChcIjpjaGVja2VkXCIpLmxlbmd0aHx8di5wdXNoKFwiOmNoZWNrZWRcIiksZS5xdWVyeVNlbGVjdG9yQWxsKFwiYSNcIitiK1wiKypcIikubGVuZ3RofHx2LnB1c2goXCIuIy4rWyt+XVwiKSxlLnF1ZXJ5U2VsZWN0b3JBbGwoXCJcXFxcXFxmXCIpLHYucHVzaChcIltcXFxcclxcXFxuXFxcXGZdXCIpfSksY2UoZnVuY3Rpb24oZSl7ZS5pbm5lckhUTUw9XCI8YSBocmVmPScnIGRpc2FibGVkPSdkaXNhYmxlZCc+PC9hPjxzZWxlY3QgZGlzYWJsZWQ9J2Rpc2FibGVkJz48b3B0aW9uLz48L3NlbGVjdD5cIjt2YXIgdD1kLmNyZWF0ZUVsZW1lbnQoXCJpbnB1dFwiKTt0LnNldEF0dHJpYnV0ZShcInR5cGVcIixcImhpZGRlblwiKSxlLmFwcGVuZENoaWxkKHQpLnNldEF0dHJpYnV0ZShcIm5hbWVcIixcIkRcIiksZS5xdWVyeVNlbGVjdG9yQWxsKFwiW25hbWU9ZF1cIikubGVuZ3RoJiZ2LnB1c2goXCJuYW1lXCIrTStcIipbKl4kfCF+XT89XCIpLDIhPT1lLnF1ZXJ5U2VsZWN0b3JBbGwoXCI6ZW5hYmxlZFwiKS5sZW5ndGgmJnYucHVzaChcIjplbmFibGVkXCIsXCI6ZGlzYWJsZWRcIiksaC5hcHBlbmRDaGlsZChlKS5kaXNhYmxlZD0hMCwyIT09ZS5xdWVyeVNlbGVjdG9yQWxsKFwiOmRpc2FibGVkXCIpLmxlbmd0aCYmdi5wdXNoKFwiOmVuYWJsZWRcIixcIjpkaXNhYmxlZFwiKSxlLnF1ZXJ5U2VsZWN0b3JBbGwoXCIqLDp4XCIpLHYucHVzaChcIiwuKjpcIil9KSksKG4ubWF0Y2hlc1NlbGVjdG9yPUsudGVzdChtPWgubWF0Y2hlc3x8aC53ZWJraXRNYXRjaGVzU2VsZWN0b3J8fGgubW96TWF0Y2hlc1NlbGVjdG9yfHxoLm9NYXRjaGVzU2VsZWN0b3J8fGgubXNNYXRjaGVzU2VsZWN0b3IpKSYmY2UoZnVuY3Rpb24oZSl7bi5kaXNjb25uZWN0ZWRNYXRjaD1tLmNhbGwoZSxcIipcIiksbS5jYWxsKGUsXCJbcyE9JyddOnhcIikseS5wdXNoKFwiIT1cIixGKX0pLHY9di5sZW5ndGgmJm5ldyBSZWdFeHAodi5qb2luKFwifFwiKSkseT15Lmxlbmd0aCYmbmV3IFJlZ0V4cCh5LmpvaW4oXCJ8XCIpKSx0PUsudGVzdChoLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKSx4PXR8fEsudGVzdChoLmNvbnRhaW5zKT9mdW5jdGlvbihlLHQpe3ZhciBuPTk9PT1lLm5vZGVUeXBlP2UuZG9jdW1lbnRFbGVtZW50OmUscj10JiZ0LnBhcmVudE5vZGU7cmV0dXJuIGU9PT1yfHwhKCFyfHwxIT09ci5ub2RlVHlwZXx8IShuLmNvbnRhaW5zP24uY29udGFpbnMocik6ZS5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbiYmMTYmZS5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbihyKSkpfTpmdW5jdGlvbihlLHQpe2lmKHQpZm9yKDt0PXQucGFyZW50Tm9kZTspaWYodD09PWUpcmV0dXJuITA7cmV0dXJuITF9LE49dD9mdW5jdGlvbihlLHQpe2lmKGU9PT10KXJldHVybiBmPSEwLDA7dmFyIHI9IWUuY29tcGFyZURvY3VtZW50UG9zaXRpb24tIXQuY29tcGFyZURvY3VtZW50UG9zaXRpb247cmV0dXJuIHJ8fCgxJihyPShlLm93bmVyRG9jdW1lbnR8fGUpPT0odC5vd25lckRvY3VtZW50fHx0KT9lLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKHQpOjEpfHwhbi5zb3J0RGV0YWNoZWQmJnQuY29tcGFyZURvY3VtZW50UG9zaXRpb24oZSk9PT1yP2U9PWR8fGUub3duZXJEb2N1bWVudD09dyYmeCh3LGUpPy0xOnQ9PWR8fHQub3duZXJEb2N1bWVudD09dyYmeCh3LHQpPzE6Yz9QKGMsZSktUChjLHQpOjA6NCZyPy0xOjEpfTpmdW5jdGlvbihlLHQpe2lmKGU9PT10KXJldHVybiBmPSEwLDA7dmFyIG4scj0wLGk9ZS5wYXJlbnROb2RlLG89dC5wYXJlbnROb2RlLGE9W2VdLHM9W3RdO2lmKCFpfHwhbylyZXR1cm4gZT09ZD8tMTp0PT1kPzE6aT8tMTpvPzE6Yz9QKGMsZSktUChjLHQpOjA7aWYoaT09PW8pcmV0dXJuIHBlKGUsdCk7Zm9yKG49ZTtuPW4ucGFyZW50Tm9kZTspYS51bnNoaWZ0KG4pO2ZvcihuPXQ7bj1uLnBhcmVudE5vZGU7KXMudW5zaGlmdChuKTtmb3IoO2Fbcl09PT1zW3JdOylyKys7cmV0dXJuIHI/cGUoYVtyXSxzW3JdKTphW3JdPT13Py0xOnNbcl09PXc/MTowfSxkKTpkfSxzZS5tYXRjaGVzPWZ1bmN0aW9uKGUsdCl7cmV0dXJuIHNlKGUsbnVsbCxudWxsLHQpfSxzZS5tYXRjaGVzU2VsZWN0b3I9ZnVuY3Rpb24oZSx0KXtpZihwKGUpLG4ubWF0Y2hlc1NlbGVjdG9yJiZnJiYhQVt0K1wiIFwiXSYmKCF5fHwheS50ZXN0KHQpKSYmKCF2fHwhdi50ZXN0KHQpKSl0cnl7dmFyIHI9bS5jYWxsKGUsdCk7aWYocnx8bi5kaXNjb25uZWN0ZWRNYXRjaHx8ZS5kb2N1bWVudCYmMTEhPT1lLmRvY3VtZW50Lm5vZGVUeXBlKXJldHVybiByfWNhdGNoKGUpe0EodCwhMCl9cmV0dXJuIHNlKHQsZCxudWxsLFtlXSkubGVuZ3RoPjB9LHNlLmNvbnRhaW5zPWZ1bmN0aW9uKGUsdCl7cmV0dXJuKGUub3duZXJEb2N1bWVudHx8ZSkhPWQmJnAoZSkseChlLHQpfSxzZS5hdHRyPWZ1bmN0aW9uKGUsdCl7KGUub3duZXJEb2N1bWVudHx8ZSkhPWQmJnAoZSk7dmFyIGk9ci5hdHRySGFuZGxlW3QudG9Mb3dlckNhc2UoKV0sbz1pJiZqLmNhbGwoci5hdHRySGFuZGxlLHQudG9Mb3dlckNhc2UoKSk/aShlLHQsIWcpOnZvaWQgMDtyZXR1cm4gdm9pZCAwIT09bz9vOm4uYXR0cmlidXRlc3x8IWc/ZS5nZXRBdHRyaWJ1dGUodCk6KG89ZS5nZXRBdHRyaWJ1dGVOb2RlKHQpKSYmby5zcGVjaWZpZWQ/by52YWx1ZTpudWxsfSxzZS5lc2NhcGU9ZnVuY3Rpb24oZSl7cmV0dXJuKGUrXCJcIikucmVwbGFjZShyZSxpZSl9LHNlLmVycm9yPWZ1bmN0aW9uKGUpe3Rocm93IG5ldyBFcnJvcihcIlN5bnRheCBlcnJvciwgdW5yZWNvZ25pemVkIGV4cHJlc3Npb246IFwiK2UpfSxzZS51bmlxdWVTb3J0PWZ1bmN0aW9uKGUpe3ZhciB0LHI9W10saT0wLG89MDtpZihmPSFuLmRldGVjdER1cGxpY2F0ZXMsYz0hbi5zb3J0U3RhYmxlJiZlLnNsaWNlKDApLGUuc29ydChOKSxmKXtmb3IoO3Q9ZVtvKytdOyl0PT09ZVtvXSYmKGk9ci5wdXNoKG8pKTtmb3IoO2ktLTspZS5zcGxpY2UocltpXSwxKX1yZXR1cm4gYz1udWxsLGV9LGk9c2UuZ2V0VGV4dD1mdW5jdGlvbihlKXt2YXIgdCxuPVwiXCIscj0wLG89ZS5ub2RlVHlwZTtpZihvKXtpZigxPT09b3x8OT09PW98fDExPT09byl7aWYoXCJzdHJpbmdcIj09dHlwZW9mIGUudGV4dENvbnRlbnQpcmV0dXJuIGUudGV4dENvbnRlbnQ7Zm9yKGU9ZS5maXJzdENoaWxkO2U7ZT1lLm5leHRTaWJsaW5nKW4rPWkoZSl9ZWxzZSBpZigzPT09b3x8ND09PW8pcmV0dXJuIGUubm9kZVZhbHVlfWVsc2UgZm9yKDt0PWVbcisrXTspbis9aSh0KTtyZXR1cm4gbn0sKHI9c2Uuc2VsZWN0b3JzPXtjYWNoZUxlbmd0aDo1MCxjcmVhdGVQc2V1ZG86bGUsbWF0Y2g6RyxhdHRySGFuZGxlOnt9LGZpbmQ6e30scmVsYXRpdmU6e1wiPlwiOntkaXI6XCJwYXJlbnROb2RlXCIsZmlyc3Q6ITB9LFwiIFwiOntkaXI6XCJwYXJlbnROb2RlXCJ9LFwiK1wiOntkaXI6XCJwcmV2aW91c1NpYmxpbmdcIixmaXJzdDohMH0sXCJ+XCI6e2RpcjpcInByZXZpb3VzU2libGluZ1wifX0scHJlRmlsdGVyOntBVFRSOmZ1bmN0aW9uKGUpe3JldHVybiBlWzFdPWVbMV0ucmVwbGFjZSh0ZSxuZSksZVszXT0oZVszXXx8ZVs0XXx8ZVs1XXx8XCJcIikucmVwbGFjZSh0ZSxuZSksXCJ+PVwiPT09ZVsyXSYmKGVbM109XCIgXCIrZVszXStcIiBcIiksZS5zbGljZSgwLDQpfSxDSElMRDpmdW5jdGlvbihlKXtyZXR1cm4gZVsxXT1lWzFdLnRvTG93ZXJDYXNlKCksXCJudGhcIj09PWVbMV0uc2xpY2UoMCwzKT8oZVszXXx8c2UuZXJyb3IoZVswXSksZVs0XT0rKGVbNF0/ZVs1XSsoZVs2XXx8MSk6MiooXCJldmVuXCI9PT1lWzNdfHxcIm9kZFwiPT09ZVszXSkpLGVbNV09KyhlWzddK2VbOF18fFwib2RkXCI9PT1lWzNdKSk6ZVszXSYmc2UuZXJyb3IoZVswXSksZX0sUFNFVURPOmZ1bmN0aW9uKGUpe3ZhciB0LG49IWVbNl0mJmVbMl07cmV0dXJuIEcuQ0hJTEQudGVzdChlWzBdKT9udWxsOihlWzNdP2VbMl09ZVs0XXx8ZVs1XXx8XCJcIjpuJiZYLnRlc3QobikmJih0PWEobiwhMCkpJiYodD1uLmluZGV4T2YoXCIpXCIsbi5sZW5ndGgtdCktbi5sZW5ndGgpJiYoZVswXT1lWzBdLnNsaWNlKDAsdCksZVsyXT1uLnNsaWNlKDAsdCkpLGUuc2xpY2UoMCwzKSl9fSxmaWx0ZXI6e1RBRzpmdW5jdGlvbihlKXt2YXIgdD1lLnJlcGxhY2UodGUsbmUpLnRvTG93ZXJDYXNlKCk7cmV0dXJuXCIqXCI9PT1lP2Z1bmN0aW9uKCl7cmV0dXJuITB9OmZ1bmN0aW9uKGUpe3JldHVybiBlLm5vZGVOYW1lJiZlLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCk9PT10fX0sQ0xBU1M6ZnVuY3Rpb24oZSl7dmFyIHQ9RVtlK1wiIFwiXTtyZXR1cm4gdHx8KHQ9bmV3IFJlZ0V4cChcIihefFwiK00rXCIpXCIrZStcIihcIitNK1wifCQpXCIpKSYmRShlLGZ1bmN0aW9uKGUpe3JldHVybiB0LnRlc3QoXCJzdHJpbmdcIj09dHlwZW9mIGUuY2xhc3NOYW1lJiZlLmNsYXNzTmFtZXx8dm9pZCAwIT09ZS5nZXRBdHRyaWJ1dGUmJmUuZ2V0QXR0cmlidXRlKFwiY2xhc3NcIil8fFwiXCIpfSl9LEFUVFI6ZnVuY3Rpb24oZSx0LG4pe3JldHVybiBmdW5jdGlvbihyKXt2YXIgaT1zZS5hdHRyKHIsZSk7cmV0dXJuIG51bGw9PWk/XCIhPVwiPT09dDohdHx8KGkrPVwiXCIsXCI9XCI9PT10P2k9PT1uOlwiIT1cIj09PXQ/aSE9PW46XCJePVwiPT09dD9uJiYwPT09aS5pbmRleE9mKG4pOlwiKj1cIj09PXQ/biYmaS5pbmRleE9mKG4pPi0xOlwiJD1cIj09PXQ/biYmaS5zbGljZSgtbi5sZW5ndGgpPT09bjpcIn49XCI9PT10PyhcIiBcIitpLnJlcGxhY2UoQixcIiBcIikrXCIgXCIpLmluZGV4T2Yobik+LTE6XCJ8PVwiPT09dCYmKGk9PT1ufHxpLnNsaWNlKDAsbi5sZW5ndGgrMSk9PT1uK1wiLVwiKSl9fSxDSElMRDpmdW5jdGlvbihlLHQsbixyLGkpe3ZhciBvPVwibnRoXCIhPT1lLnNsaWNlKDAsMyksYT1cImxhc3RcIiE9PWUuc2xpY2UoLTQpLHM9XCJvZi10eXBlXCI9PT10O3JldHVybiAxPT09ciYmMD09PWk/ZnVuY3Rpb24oZSl7cmV0dXJuISFlLnBhcmVudE5vZGV9OmZ1bmN0aW9uKHQsbix1KXt2YXIgbCxjLGYscCxkLGgsZz1vIT09YT9cIm5leHRTaWJsaW5nXCI6XCJwcmV2aW91c1NpYmxpbmdcIix2PXQucGFyZW50Tm9kZSx5PXMmJnQubm9kZU5hbWUudG9Mb3dlckNhc2UoKSxtPSF1JiYhcyx4PSExO2lmKHYpe2lmKG8pe2Zvcig7Zzspe2ZvcihwPXQ7cD1wW2ddOylpZihzP3Aubm9kZU5hbWUudG9Mb3dlckNhc2UoKT09PXk6MT09PXAubm9kZVR5cGUpcmV0dXJuITE7aD1nPVwib25seVwiPT09ZSYmIWgmJlwibmV4dFNpYmxpbmdcIn1yZXR1cm4hMH1pZihoPVthP3YuZmlyc3RDaGlsZDp2Lmxhc3RDaGlsZF0sYSYmbSl7Zm9yKHg9KGQ9KGw9KGM9KGY9KHA9dilbYl18fChwW2JdPXt9KSlbcC51bmlxdWVJRF18fChmW3AudW5pcXVlSURdPXt9KSlbZV18fFtdKVswXT09PVQmJmxbMV0pJiZsWzJdLHA9ZCYmdi5jaGlsZE5vZGVzW2RdO3A9KytkJiZwJiZwW2ddfHwoeD1kPTApfHxoLnBvcCgpOylpZigxPT09cC5ub2RlVHlwZSYmKyt4JiZwPT09dCl7Y1tlXT1bVCxkLHhdO2JyZWFrfX1lbHNlIGlmKG0mJih4PWQ9KGw9KGM9KGY9KHA9dClbYl18fChwW2JdPXt9KSlbcC51bmlxdWVJRF18fChmW3AudW5pcXVlSURdPXt9KSlbZV18fFtdKVswXT09PVQmJmxbMV0pLCExPT09eClmb3IoOyhwPSsrZCYmcCYmcFtnXXx8KHg9ZD0wKXx8aC5wb3AoKSkmJigocz9wLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCkhPT15OjEhPT1wLm5vZGVUeXBlKXx8ISsreHx8KG0mJigoYz0oZj1wW2JdfHwocFtiXT17fSkpW3AudW5pcXVlSURdfHwoZltwLnVuaXF1ZUlEXT17fSkpW2VdPVtULHhdKSxwIT09dCkpOyk7cmV0dXJuKHgtPWkpPT09cnx8eCVyPT0wJiZ4L3I+PTB9fX0sUFNFVURPOmZ1bmN0aW9uKGUsdCl7dmFyIG4saT1yLnBzZXVkb3NbZV18fHIuc2V0RmlsdGVyc1tlLnRvTG93ZXJDYXNlKCldfHxzZS5lcnJvcihcInVuc3VwcG9ydGVkIHBzZXVkbzogXCIrZSk7cmV0dXJuIGlbYl0/aSh0KTppLmxlbmd0aD4xPyhuPVtlLGUsXCJcIix0XSxyLnNldEZpbHRlcnMuaGFzT3duUHJvcGVydHkoZS50b0xvd2VyQ2FzZSgpKT9sZShmdW5jdGlvbihlLG4pe2Zvcih2YXIgcixvPWkoZSx0KSxhPW8ubGVuZ3RoO2EtLTspZVtyPVAoZSxvW2FdKV09IShuW3JdPW9bYV0pfSk6ZnVuY3Rpb24oZSl7cmV0dXJuIGkoZSwwLG4pfSk6aX19LHBzZXVkb3M6e25vdDpsZShmdW5jdGlvbihlKXt2YXIgdD1bXSxuPVtdLHI9cyhlLnJlcGxhY2UoJCxcIiQxXCIpKTtyZXR1cm4gcltiXT9sZShmdW5jdGlvbihlLHQsbixpKXtmb3IodmFyIG8sYT1yKGUsbnVsbCxpLFtdKSxzPWUubGVuZ3RoO3MtLTspKG89YVtzXSkmJihlW3NdPSEodFtzXT1vKSl9KTpmdW5jdGlvbihlLGksbyl7cmV0dXJuIHRbMF09ZSxyKHQsbnVsbCxvLG4pLHRbMF09bnVsbCwhbi5wb3AoKX19KSxoYXM6bGUoZnVuY3Rpb24oZSl7cmV0dXJuIGZ1bmN0aW9uKHQpe3JldHVybiBzZShlLHQpLmxlbmd0aD4wfX0pLGNvbnRhaW5zOmxlKGZ1bmN0aW9uKGUpe3JldHVybiBlPWUucmVwbGFjZSh0ZSxuZSksZnVuY3Rpb24odCl7cmV0dXJuKHQudGV4dENvbnRlbnR8fGkodCkpLmluZGV4T2YoZSk+LTF9fSksbGFuZzpsZShmdW5jdGlvbihlKXtyZXR1cm4gVi50ZXN0KGV8fFwiXCIpfHxzZS5lcnJvcihcInVuc3VwcG9ydGVkIGxhbmc6IFwiK2UpLGU9ZS5yZXBsYWNlKHRlLG5lKS50b0xvd2VyQ2FzZSgpLGZ1bmN0aW9uKHQpe3ZhciBuO2Rve2lmKG49Zz90Lmxhbmc6dC5nZXRBdHRyaWJ1dGUoXCJ4bWw6bGFuZ1wiKXx8dC5nZXRBdHRyaWJ1dGUoXCJsYW5nXCIpKXJldHVybihuPW4udG9Mb3dlckNhc2UoKSk9PT1lfHwwPT09bi5pbmRleE9mKGUrXCItXCIpfXdoaWxlKCh0PXQucGFyZW50Tm9kZSkmJjE9PT10Lm5vZGVUeXBlKTtyZXR1cm4hMX19KSx0YXJnZXQ6ZnVuY3Rpb24odCl7dmFyIG49ZS5sb2NhdGlvbiYmZS5sb2NhdGlvbi5oYXNoO3JldHVybiBuJiZuLnNsaWNlKDEpPT09dC5pZH0scm9vdDpmdW5jdGlvbihlKXtyZXR1cm4gZT09PWh9LGZvY3VzOmZ1bmN0aW9uKGUpe3JldHVybiBlPT09ZC5hY3RpdmVFbGVtZW50JiYoIWQuaGFzRm9jdXN8fGQuaGFzRm9jdXMoKSkmJiEhKGUudHlwZXx8ZS5ocmVmfHx+ZS50YWJJbmRleCl9LGVuYWJsZWQ6Z2UoITEpLGRpc2FibGVkOmdlKCEwKSxjaGVja2VkOmZ1bmN0aW9uKGUpe3ZhciB0PWUubm9kZU5hbWUudG9Mb3dlckNhc2UoKTtyZXR1cm5cImlucHV0XCI9PT10JiYhIWUuY2hlY2tlZHx8XCJvcHRpb25cIj09PXQmJiEhZS5zZWxlY3RlZH0sc2VsZWN0ZWQ6ZnVuY3Rpb24oZSl7cmV0dXJuIGUucGFyZW50Tm9kZSYmZS5wYXJlbnROb2RlLnNlbGVjdGVkSW5kZXgsITA9PT1lLnNlbGVjdGVkfSxlbXB0eTpmdW5jdGlvbihlKXtmb3IoZT1lLmZpcnN0Q2hpbGQ7ZTtlPWUubmV4dFNpYmxpbmcpaWYoZS5ub2RlVHlwZTw2KXJldHVybiExO3JldHVybiEwfSxwYXJlbnQ6ZnVuY3Rpb24oZSl7cmV0dXJuIXIucHNldWRvcy5lbXB0eShlKX0saGVhZGVyOmZ1bmN0aW9uKGUpe3JldHVybiBKLnRlc3QoZS5ub2RlTmFtZSl9LGlucHV0OmZ1bmN0aW9uKGUpe3JldHVybiBRLnRlc3QoZS5ub2RlTmFtZSl9LGJ1dHRvbjpmdW5jdGlvbihlKXt2YXIgdD1lLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCk7cmV0dXJuXCJpbnB1dFwiPT09dCYmXCJidXR0b25cIj09PWUudHlwZXx8XCJidXR0b25cIj09PXR9LHRleHQ6ZnVuY3Rpb24oZSl7dmFyIHQ7cmV0dXJuXCJpbnB1dFwiPT09ZS5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpJiZcInRleHRcIj09PWUudHlwZSYmKG51bGw9PSh0PWUuZ2V0QXR0cmlidXRlKFwidHlwZVwiKSl8fFwidGV4dFwiPT09dC50b0xvd2VyQ2FzZSgpKX0sZmlyc3Q6dmUoZnVuY3Rpb24oKXtyZXR1cm5bMF19KSxsYXN0OnZlKGZ1bmN0aW9uKGUsdCl7cmV0dXJuW3QtMV19KSxlcTp2ZShmdW5jdGlvbihlLHQsbil7cmV0dXJuW248MD9uK3Q6bl19KSxldmVuOnZlKGZ1bmN0aW9uKGUsdCl7Zm9yKHZhciBuPTA7bjx0O24rPTIpZS5wdXNoKG4pO3JldHVybiBlfSksb2RkOnZlKGZ1bmN0aW9uKGUsdCl7Zm9yKHZhciBuPTE7bjx0O24rPTIpZS5wdXNoKG4pO3JldHVybiBlfSksbHQ6dmUoZnVuY3Rpb24oZSx0LG4pe2Zvcih2YXIgcj1uPDA/bit0Om4+dD90Om47LS1yPj0wOyllLnB1c2gocik7cmV0dXJuIGV9KSxndDp2ZShmdW5jdGlvbihlLHQsbil7Zm9yKHZhciByPW48MD9uK3Q6bjsrK3I8dDspZS5wdXNoKHIpO3JldHVybiBlfSl9fSkucHNldWRvcy5udGg9ci5wc2V1ZG9zLmVxLHtyYWRpbzohMCxjaGVja2JveDohMCxmaWxlOiEwLHBhc3N3b3JkOiEwLGltYWdlOiEwfSlyLnBzZXVkb3NbdF09ZGUodCk7Zm9yKHQgaW57c3VibWl0OiEwLHJlc2V0OiEwfSlyLnBzZXVkb3NbdF09aGUodCk7ZnVuY3Rpb24gbWUoKXt9ZnVuY3Rpb24geGUoZSl7Zm9yKHZhciB0PTAsbj1lLmxlbmd0aCxyPVwiXCI7dDxuO3QrKylyKz1lW3RdLnZhbHVlO3JldHVybiByfWZ1bmN0aW9uIGJlKGUsdCxuKXt2YXIgcj10LmRpcixpPXQubmV4dCxvPWl8fHIsYT1uJiZcInBhcmVudE5vZGVcIj09PW8scz1DKys7cmV0dXJuIHQuZmlyc3Q/ZnVuY3Rpb24odCxuLGkpe2Zvcig7dD10W3JdOylpZigxPT09dC5ub2RlVHlwZXx8YSlyZXR1cm4gZSh0LG4saSk7cmV0dXJuITF9OmZ1bmN0aW9uKHQsbix1KXt2YXIgbCxjLGYscD1bVCxzXTtpZih1KXtmb3IoO3Q9dFtyXTspaWYoKDE9PT10Lm5vZGVUeXBlfHxhKSYmZSh0LG4sdSkpcmV0dXJuITB9ZWxzZSBmb3IoO3Q9dFtyXTspaWYoMT09PXQubm9kZVR5cGV8fGEpaWYoYz0oZj10W2JdfHwodFtiXT17fSkpW3QudW5pcXVlSURdfHwoZlt0LnVuaXF1ZUlEXT17fSksaSYmaT09PXQubm9kZU5hbWUudG9Mb3dlckNhc2UoKSl0PXRbcl18fHQ7ZWxzZXtpZigobD1jW29dKSYmbFswXT09PVQmJmxbMV09PT1zKXJldHVybiBwWzJdPWxbMl07aWYoY1tvXT1wLHBbMl09ZSh0LG4sdSkpcmV0dXJuITB9cmV0dXJuITF9fWZ1bmN0aW9uIHdlKGUpe3JldHVybiBlLmxlbmd0aD4xP2Z1bmN0aW9uKHQsbixyKXtmb3IodmFyIGk9ZS5sZW5ndGg7aS0tOylpZighZVtpXSh0LG4scikpcmV0dXJuITE7cmV0dXJuITB9OmVbMF19ZnVuY3Rpb24gVGUoZSx0LG4scixpKXtmb3IodmFyIG8sYT1bXSxzPTAsdT1lLmxlbmd0aCxsPW51bGwhPXQ7czx1O3MrKykobz1lW3NdKSYmKG4mJiFuKG8scixpKXx8KGEucHVzaChvKSxsJiZ0LnB1c2gocykpKTtyZXR1cm4gYX1mdW5jdGlvbiBDZShlLHQsbixyLGksbyl7cmV0dXJuIHImJiFyW2JdJiYocj1DZShyKSksaSYmIWlbYl0mJihpPUNlKGksbykpLGxlKGZ1bmN0aW9uKG8sYSxzLHUpe3ZhciBsLGMsZixwPVtdLGQ9W10saD1hLmxlbmd0aCxnPW98fGZ1bmN0aW9uKGUsdCxuKXtmb3IodmFyIHI9MCxpPXQubGVuZ3RoO3I8aTtyKyspc2UoZSx0W3JdLG4pO3JldHVybiBufSh0fHxcIipcIixzLm5vZGVUeXBlP1tzXTpzLFtdKSx2PSFlfHwhbyYmdD9nOlRlKGcscCxlLHMsdSkseT1uP2l8fChvP2U6aHx8cik/W106YTp2O2lmKG4mJm4odix5LHMsdSkscilmb3IobD1UZSh5LGQpLHIobCxbXSxzLHUpLGM9bC5sZW5ndGg7Yy0tOykoZj1sW2NdKSYmKHlbZFtjXV09ISh2W2RbY11dPWYpKTtpZihvKXtpZihpfHxlKXtpZihpKXtmb3IobD1bXSxjPXkubGVuZ3RoO2MtLTspKGY9eVtjXSkmJmwucHVzaCh2W2NdPWYpO2kobnVsbCx5PVtdLGwsdSl9Zm9yKGM9eS5sZW5ndGg7Yy0tOykoZj15W2NdKSYmKGw9aT9QKG8sZik6cFtjXSk+LTEmJihvW2xdPSEoYVtsXT1mKSl9fWVsc2UgeT1UZSh5PT09YT95LnNwbGljZShoLHkubGVuZ3RoKTp5KSxpP2kobnVsbCxhLHksdSk6SC5hcHBseShhLHkpfSl9ZnVuY3Rpb24gRWUoZSl7Zm9yKHZhciB0LG4saSxvPWUubGVuZ3RoLGE9ci5yZWxhdGl2ZVtlWzBdLnR5cGVdLHM9YXx8ci5yZWxhdGl2ZVtcIiBcIl0sdT1hPzE6MCxjPWJlKGZ1bmN0aW9uKGUpe3JldHVybiBlPT09dH0scywhMCksZj1iZShmdW5jdGlvbihlKXtyZXR1cm4gUCh0LGUpPi0xfSxzLCEwKSxwPVtmdW5jdGlvbihlLG4scil7dmFyIGk9IWEmJihyfHxuIT09bCl8fCgodD1uKS5ub2RlVHlwZT9jKGUsbixyKTpmKGUsbixyKSk7cmV0dXJuIHQ9bnVsbCxpfV07dTxvO3UrKylpZihuPXIucmVsYXRpdmVbZVt1XS50eXBlXSlwPVtiZSh3ZShwKSxuKV07ZWxzZXtpZigobj1yLmZpbHRlcltlW3VdLnR5cGVdLmFwcGx5KG51bGwsZVt1XS5tYXRjaGVzKSlbYl0pe2ZvcihpPSsrdTtpPG8mJiFyLnJlbGF0aXZlW2VbaV0udHlwZV07aSsrKTtyZXR1cm4gQ2UodT4xJiZ3ZShwKSx1PjEmJnhlKGUuc2xpY2UoMCx1LTEpLmNvbmNhdCh7dmFsdWU6XCIgXCI9PT1lW3UtMl0udHlwZT9cIipcIjpcIlwifSkpLnJlcGxhY2UoJCxcIiQxXCIpLG4sdTxpJiZFZShlLnNsaWNlKHUsaSkpLGk8byYmRWUoZT1lLnNsaWNlKGkpKSxpPG8mJnhlKGUpKX1wLnB1c2gobil9cmV0dXJuIHdlKHApfXJldHVybiBtZS5wcm90b3R5cGU9ci5maWx0ZXJzPXIucHNldWRvcyxyLnNldEZpbHRlcnM9bmV3IG1lLGE9c2UudG9rZW5pemU9ZnVuY3Rpb24oZSx0KXt2YXIgbixpLG8sYSxzLHUsbCxjPVNbZStcIiBcIl07aWYoYylyZXR1cm4gdD8wOmMuc2xpY2UoMCk7Zm9yKHM9ZSx1PVtdLGw9ci5wcmVGaWx0ZXI7czspe2ZvcihhIGluIG4mJiEoaT1fLmV4ZWMocykpfHwoaSYmKHM9cy5zbGljZShpWzBdLmxlbmd0aCl8fHMpLHUucHVzaChvPVtdKSksbj0hMSwoaT16LmV4ZWMocykpJiYobj1pLnNoaWZ0KCksby5wdXNoKHt2YWx1ZTpuLHR5cGU6aVswXS5yZXBsYWNlKCQsXCIgXCIpfSkscz1zLnNsaWNlKG4ubGVuZ3RoKSksci5maWx0ZXIpIShpPUdbYV0uZXhlYyhzKSl8fGxbYV0mJiEoaT1sW2FdKGkpKXx8KG49aS5zaGlmdCgpLG8ucHVzaCh7dmFsdWU6bix0eXBlOmEsbWF0Y2hlczppfSkscz1zLnNsaWNlKG4ubGVuZ3RoKSk7aWYoIW4pYnJlYWt9cmV0dXJuIHQ/cy5sZW5ndGg6cz9zZS5lcnJvcihlKTpTKGUsdSkuc2xpY2UoMCl9LHM9c2UuY29tcGlsZT1mdW5jdGlvbihlLHQpe3ZhciBuLGk9W10sbz1bXSxzPWtbZStcIiBcIl07aWYoIXMpe2Zvcih0fHwodD1hKGUpKSxuPXQubGVuZ3RoO24tLTspKHM9RWUodFtuXSkpW2JdP2kucHVzaChzKTpvLnB1c2gocyk7KHM9ayhlLGZ1bmN0aW9uKGUsdCl7dmFyIG49dC5sZW5ndGg+MCxpPWUubGVuZ3RoPjAsbz1mdW5jdGlvbihvLGEscyx1LGMpe3ZhciBmLGgsdix5PTAsbT1cIjBcIix4PW8mJltdLGI9W10sdz1sLEM9b3x8aSYmci5maW5kLlRBRyhcIipcIixjKSxFPVQrPW51bGw9PXc/MTpNYXRoLnJhbmRvbSgpfHwuMSxTPUMubGVuZ3RoO2ZvcihjJiYobD1hPT1kfHxhfHxjKTttIT09UyYmbnVsbCE9KGY9Q1ttXSk7bSsrKXtpZihpJiZmKXtmb3IoaD0wLGF8fGYub3duZXJEb2N1bWVudD09ZHx8KHAoZikscz0hZyk7dj1lW2grK107KWlmKHYoZixhfHxkLHMpKXt1LnB1c2goZik7YnJlYWt9YyYmKFQ9RSl9biYmKChmPSF2JiZmKSYmeS0tLG8mJngucHVzaChmKSl9aWYoeSs9bSxuJiZtIT09eSl7Zm9yKGg9MDt2PXRbaCsrXTspdih4LGIsYSxzKTtpZihvKXtpZih5PjApZm9yKDttLS07KXhbbV18fGJbbV18fChiW21dPXEuY2FsbCh1KSk7Yj1UZShiKX1ILmFwcGx5KHUsYiksYyYmIW8mJmIubGVuZ3RoPjAmJnkrdC5sZW5ndGg+MSYmc2UudW5pcXVlU29ydCh1KX1yZXR1cm4gYyYmKFQ9RSxsPXcpLHh9O3JldHVybiBuP2xlKG8pOm99KG8saSkpKS5zZWxlY3Rvcj1lfXJldHVybiBzfSx1PXNlLnNlbGVjdD1mdW5jdGlvbihlLHQsbixpKXt2YXIgbyx1LGwsYyxmLHA9XCJmdW5jdGlvblwiPT10eXBlb2YgZSYmZSxkPSFpJiZhKGU9cC5zZWxlY3Rvcnx8ZSk7aWYobj1ufHxbXSwxPT09ZC5sZW5ndGgpe2lmKCh1PWRbMF09ZFswXS5zbGljZSgwKSkubGVuZ3RoPjImJlwiSURcIj09PShsPXVbMF0pLnR5cGUmJjk9PT10Lm5vZGVUeXBlJiZnJiZyLnJlbGF0aXZlW3VbMV0udHlwZV0pe2lmKCEodD0oci5maW5kLklEKGwubWF0Y2hlc1swXS5yZXBsYWNlKHRlLG5lKSx0KXx8W10pWzBdKSlyZXR1cm4gbjtwJiYodD10LnBhcmVudE5vZGUpLGU9ZS5zbGljZSh1LnNoaWZ0KCkudmFsdWUubGVuZ3RoKX1mb3Iobz1HLm5lZWRzQ29udGV4dC50ZXN0KGUpPzA6dS5sZW5ndGg7by0tJiYobD11W29dLCFyLnJlbGF0aXZlW2M9bC50eXBlXSk7KWlmKChmPXIuZmluZFtjXSkmJihpPWYobC5tYXRjaGVzWzBdLnJlcGxhY2UodGUsbmUpLGVlLnRlc3QodVswXS50eXBlKSYmeWUodC5wYXJlbnROb2RlKXx8dCkpKXtpZih1LnNwbGljZShvLDEpLCEoZT1pLmxlbmd0aCYmeGUodSkpKXJldHVybiBILmFwcGx5KG4saSksbjticmVha319cmV0dXJuKHB8fHMoZSxkKSkoaSx0LCFnLG4sIXR8fGVlLnRlc3QoZSkmJnllKHQucGFyZW50Tm9kZSl8fHQpLG59LG4uc29ydFN0YWJsZT1iLnNwbGl0KFwiXCIpLnNvcnQoTikuam9pbihcIlwiKT09PWIsbi5kZXRlY3REdXBsaWNhdGVzPSEhZixwKCksbi5zb3J0RGV0YWNoZWQ9Y2UoZnVuY3Rpb24oZSl7cmV0dXJuIDEmZS5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbihkLmNyZWF0ZUVsZW1lbnQoXCJmaWVsZHNldFwiKSl9KSxjZShmdW5jdGlvbihlKXtyZXR1cm4gZS5pbm5lckhUTUw9XCI8YSBocmVmPScjJz48L2E+XCIsXCIjXCI9PT1lLmZpcnN0Q2hpbGQuZ2V0QXR0cmlidXRlKFwiaHJlZlwiKX0pfHxmZShcInR5cGV8aHJlZnxoZWlnaHR8d2lkdGhcIixmdW5jdGlvbihlLHQsbil7aWYoIW4pcmV0dXJuIGUuZ2V0QXR0cmlidXRlKHQsXCJ0eXBlXCI9PT10LnRvTG93ZXJDYXNlKCk/MToyKX0pLG4uYXR0cmlidXRlcyYmY2UoZnVuY3Rpb24oZSl7cmV0dXJuIGUuaW5uZXJIVE1MPVwiPGlucHV0Lz5cIixlLmZpcnN0Q2hpbGQuc2V0QXR0cmlidXRlKFwidmFsdWVcIixcIlwiKSxcIlwiPT09ZS5maXJzdENoaWxkLmdldEF0dHJpYnV0ZShcInZhbHVlXCIpfSl8fGZlKFwidmFsdWVcIixmdW5jdGlvbihlLHQsbil7aWYoIW4mJlwiaW5wdXRcIj09PWUubm9kZU5hbWUudG9Mb3dlckNhc2UoKSlyZXR1cm4gZS5kZWZhdWx0VmFsdWV9KSxjZShmdW5jdGlvbihlKXtyZXR1cm4gbnVsbD09ZS5nZXRBdHRyaWJ1dGUoXCJkaXNhYmxlZFwiKX0pfHxmZShSLGZ1bmN0aW9uKGUsdCxuKXt2YXIgcjtpZighbilyZXR1cm4hMD09PWVbdF0/dC50b0xvd2VyQ2FzZSgpOihyPWUuZ2V0QXR0cmlidXRlTm9kZSh0KSkmJnIuc3BlY2lmaWVkP3IudmFsdWU6bnVsbH0pLHNlfShlKTtiLmZpbmQ9VCxiLmV4cHI9VC5zZWxlY3RvcnMsYi5leHByW1wiOlwiXT1iLmV4cHIucHNldWRvcyxiLnVuaXF1ZVNvcnQ9Yi51bmlxdWU9VC51bmlxdWVTb3J0LGIudGV4dD1ULmdldFRleHQsYi5pc1hNTERvYz1ULmlzWE1MLGIuY29udGFpbnM9VC5jb250YWlucyxiLmVzY2FwZVNlbGVjdG9yPVQuZXNjYXBlO3ZhciBDPWZ1bmN0aW9uKGUsdCxuKXtmb3IodmFyIHI9W10saT12b2lkIDAhPT1uOyhlPWVbdF0pJiY5IT09ZS5ub2RlVHlwZTspaWYoMT09PWUubm9kZVR5cGUpe2lmKGkmJmIoZSkuaXMobikpYnJlYWs7ci5wdXNoKGUpfXJldHVybiByfSxFPWZ1bmN0aW9uKGUsdCl7Zm9yKHZhciBuPVtdO2U7ZT1lLm5leHRTaWJsaW5nKTE9PT1lLm5vZGVUeXBlJiZlIT09dCYmbi5wdXNoKGUpO3JldHVybiBufSxTPWIuZXhwci5tYXRjaC5uZWVkc0NvbnRleHQ7ZnVuY3Rpb24gayhlLHQpe3JldHVybiBlLm5vZGVOYW1lJiZlLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCk9PT10LnRvTG93ZXJDYXNlKCl9dmFyIEE9L148KFthLXpdW15cXC9cXDA+OlxceDIwXFx0XFxyXFxuXFxmXSopW1xceDIwXFx0XFxyXFxuXFxmXSpcXC8/Pig/OjxcXC9cXDE+fCkkL2k7ZnVuY3Rpb24gTihlLHQsbil7cmV0dXJuIGgodCk/Yi5ncmVwKGUsZnVuY3Rpb24oZSxyKXtyZXR1cm4hIXQuY2FsbChlLHIsZSkhPT1ufSk6dC5ub2RlVHlwZT9iLmdyZXAoZSxmdW5jdGlvbihlKXtyZXR1cm4gZT09PXQhPT1ufSk6XCJzdHJpbmdcIiE9dHlwZW9mIHQ/Yi5ncmVwKGUsZnVuY3Rpb24oZSl7cmV0dXJuIHMuY2FsbCh0LGUpPi0xIT09bn0pOmIuZmlsdGVyKHQsZSxuKX1iLmZpbHRlcj1mdW5jdGlvbihlLHQsbil7dmFyIHI9dFswXTtyZXR1cm4gbiYmKGU9XCI6bm90KFwiK2UrXCIpXCIpLDE9PT10Lmxlbmd0aCYmMT09PXIubm9kZVR5cGU/Yi5maW5kLm1hdGNoZXNTZWxlY3RvcihyLGUpP1tyXTpbXTpiLmZpbmQubWF0Y2hlcyhlLGIuZ3JlcCh0LGZ1bmN0aW9uKGUpe3JldHVybiAxPT09ZS5ub2RlVHlwZX0pKX0sYi5mbi5leHRlbmQoe2ZpbmQ6ZnVuY3Rpb24oZSl7dmFyIHQsbixyPXRoaXMubGVuZ3RoLGk9dGhpcztpZihcInN0cmluZ1wiIT10eXBlb2YgZSlyZXR1cm4gdGhpcy5wdXNoU3RhY2soYihlKS5maWx0ZXIoZnVuY3Rpb24oKXtmb3IodD0wO3Q8cjt0KyspaWYoYi5jb250YWlucyhpW3RdLHRoaXMpKXJldHVybiEwfSkpO2ZvcihuPXRoaXMucHVzaFN0YWNrKFtdKSx0PTA7dDxyO3QrKyliLmZpbmQoZSxpW3RdLG4pO3JldHVybiByPjE/Yi51bmlxdWVTb3J0KG4pOm59LGZpbHRlcjpmdW5jdGlvbihlKXtyZXR1cm4gdGhpcy5wdXNoU3RhY2soTih0aGlzLGV8fFtdLCExKSl9LG5vdDpmdW5jdGlvbihlKXtyZXR1cm4gdGhpcy5wdXNoU3RhY2soTih0aGlzLGV8fFtdLCEwKSl9LGlzOmZ1bmN0aW9uKGUpe3JldHVybiEhTih0aGlzLFwic3RyaW5nXCI9PXR5cGVvZiBlJiZTLnRlc3QoZSk/YihlKTplfHxbXSwhMSkubGVuZ3RofX0pO3ZhciBqLEQ9L14oPzpcXHMqKDxbXFx3XFxXXSs+KVtePl0qfCMoW1xcdy1dKykpJC87KGIuZm4uaW5pdD1mdW5jdGlvbihlLHQsbil7dmFyIHIsaTtpZighZSlyZXR1cm4gdGhpcztpZihuPW58fGosXCJzdHJpbmdcIj09dHlwZW9mIGUpe2lmKCEocj1cIjxcIj09PWVbMF0mJlwiPlwiPT09ZVtlLmxlbmd0aC0xXSYmZS5sZW5ndGg+PTM/W251bGwsZSxudWxsXTpELmV4ZWMoZSkpfHwhclsxXSYmdClyZXR1cm4hdHx8dC5qcXVlcnk/KHR8fG4pLmZpbmQoZSk6dGhpcy5jb25zdHJ1Y3Rvcih0KS5maW5kKGUpO2lmKHJbMV0pe2lmKHQ9dCBpbnN0YW5jZW9mIGI/dFswXTp0LGIubWVyZ2UodGhpcyxiLnBhcnNlSFRNTChyWzFdLHQmJnQubm9kZVR5cGU/dC5vd25lckRvY3VtZW50fHx0OnYsITApKSxBLnRlc3QoclsxXSkmJmIuaXNQbGFpbk9iamVjdCh0KSlmb3IociBpbiB0KWgodGhpc1tyXSk/dGhpc1tyXSh0W3JdKTp0aGlzLmF0dHIocix0W3JdKTtyZXR1cm4gdGhpc31yZXR1cm4oaT12LmdldEVsZW1lbnRCeUlkKHJbMl0pKSYmKHRoaXNbMF09aSx0aGlzLmxlbmd0aD0xKSx0aGlzfXJldHVybiBlLm5vZGVUeXBlPyh0aGlzWzBdPWUsdGhpcy5sZW5ndGg9MSx0aGlzKTpoKGUpP3ZvaWQgMCE9PW4ucmVhZHk/bi5yZWFkeShlKTplKGIpOmIubWFrZUFycmF5KGUsdGhpcyl9KS5wcm90b3R5cGU9Yi5mbixqPWIodik7dmFyIHE9L14oPzpwYXJlbnRzfHByZXYoPzpVbnRpbHxBbGwpKS8sTD17Y2hpbGRyZW46ITAsY29udGVudHM6ITAsbmV4dDohMCxwcmV2OiEwfTtmdW5jdGlvbiBIKGUsdCl7Zm9yKDsoZT1lW3RdKSYmMSE9PWUubm9kZVR5cGU7KTtyZXR1cm4gZX1iLmZuLmV4dGVuZCh7aGFzOmZ1bmN0aW9uKGUpe3ZhciB0PWIoZSx0aGlzKSxuPXQubGVuZ3RoO3JldHVybiB0aGlzLmZpbHRlcihmdW5jdGlvbigpe2Zvcih2YXIgZT0wO2U8bjtlKyspaWYoYi5jb250YWlucyh0aGlzLHRbZV0pKXJldHVybiEwfSl9LGNsb3Nlc3Q6ZnVuY3Rpb24oZSx0KXt2YXIgbixyPTAsaT10aGlzLmxlbmd0aCxvPVtdLGE9XCJzdHJpbmdcIiE9dHlwZW9mIGUmJmIoZSk7aWYoIVMudGVzdChlKSlmb3IoO3I8aTtyKyspZm9yKG49dGhpc1tyXTtuJiZuIT09dDtuPW4ucGFyZW50Tm9kZSlpZihuLm5vZGVUeXBlPDExJiYoYT9hLmluZGV4KG4pPi0xOjE9PT1uLm5vZGVUeXBlJiZiLmZpbmQubWF0Y2hlc1NlbGVjdG9yKG4sZSkpKXtvLnB1c2gobik7YnJlYWt9cmV0dXJuIHRoaXMucHVzaFN0YWNrKG8ubGVuZ3RoPjE/Yi51bmlxdWVTb3J0KG8pOm8pfSxpbmRleDpmdW5jdGlvbihlKXtyZXR1cm4gZT9cInN0cmluZ1wiPT10eXBlb2YgZT9zLmNhbGwoYihlKSx0aGlzWzBdKTpzLmNhbGwodGhpcyxlLmpxdWVyeT9lWzBdOmUpOnRoaXNbMF0mJnRoaXNbMF0ucGFyZW50Tm9kZT90aGlzLmZpcnN0KCkucHJldkFsbCgpLmxlbmd0aDotMX0sYWRkOmZ1bmN0aW9uKGUsdCl7cmV0dXJuIHRoaXMucHVzaFN0YWNrKGIudW5pcXVlU29ydChiLm1lcmdlKHRoaXMuZ2V0KCksYihlLHQpKSkpfSxhZGRCYWNrOmZ1bmN0aW9uKGUpe3JldHVybiB0aGlzLmFkZChudWxsPT1lP3RoaXMucHJldk9iamVjdDp0aGlzLnByZXZPYmplY3QuZmlsdGVyKGUpKX19KSxiLmVhY2goe3BhcmVudDpmdW5jdGlvbihlKXt2YXIgdD1lLnBhcmVudE5vZGU7cmV0dXJuIHQmJjExIT09dC5ub2RlVHlwZT90Om51bGx9LHBhcmVudHM6ZnVuY3Rpb24oZSl7cmV0dXJuIEMoZSxcInBhcmVudE5vZGVcIil9LHBhcmVudHNVbnRpbDpmdW5jdGlvbihlLHQsbil7cmV0dXJuIEMoZSxcInBhcmVudE5vZGVcIixuKX0sbmV4dDpmdW5jdGlvbihlKXtyZXR1cm4gSChlLFwibmV4dFNpYmxpbmdcIil9LHByZXY6ZnVuY3Rpb24oZSl7cmV0dXJuIEgoZSxcInByZXZpb3VzU2libGluZ1wiKX0sbmV4dEFsbDpmdW5jdGlvbihlKXtyZXR1cm4gQyhlLFwibmV4dFNpYmxpbmdcIil9LHByZXZBbGw6ZnVuY3Rpb24oZSl7cmV0dXJuIEMoZSxcInByZXZpb3VzU2libGluZ1wiKX0sbmV4dFVudGlsOmZ1bmN0aW9uKGUsdCxuKXtyZXR1cm4gQyhlLFwibmV4dFNpYmxpbmdcIixuKX0scHJldlVudGlsOmZ1bmN0aW9uKGUsdCxuKXtyZXR1cm4gQyhlLFwicHJldmlvdXNTaWJsaW5nXCIsbil9LHNpYmxpbmdzOmZ1bmN0aW9uKGUpe3JldHVybiBFKChlLnBhcmVudE5vZGV8fHt9KS5maXJzdENoaWxkLGUpfSxjaGlsZHJlbjpmdW5jdGlvbihlKXtyZXR1cm4gRShlLmZpcnN0Q2hpbGQpfSxjb250ZW50czpmdW5jdGlvbihlKXtyZXR1cm4gbnVsbCE9ZS5jb250ZW50RG9jdW1lbnQmJnIoZS5jb250ZW50RG9jdW1lbnQpP2UuY29udGVudERvY3VtZW50OihrKGUsXCJ0ZW1wbGF0ZVwiKSYmKGU9ZS5jb250ZW50fHxlKSxiLm1lcmdlKFtdLGUuY2hpbGROb2RlcykpfX0sZnVuY3Rpb24oZSx0KXtiLmZuW2VdPWZ1bmN0aW9uKG4scil7dmFyIGk9Yi5tYXAodGhpcyx0LG4pO3JldHVyblwiVW50aWxcIiE9PWUuc2xpY2UoLTUpJiYocj1uKSxyJiZcInN0cmluZ1wiPT10eXBlb2YgciYmKGk9Yi5maWx0ZXIocixpKSksdGhpcy5sZW5ndGg+MSYmKExbZV18fGIudW5pcXVlU29ydChpKSxxLnRlc3QoZSkmJmkucmV2ZXJzZSgpKSx0aGlzLnB1c2hTdGFjayhpKX19KTt2YXIgTz0vW15cXHgyMFxcdFxcclxcblxcZl0rL2c7ZnVuY3Rpb24gUChlKXtyZXR1cm4gZX1mdW5jdGlvbiBSKGUpe3Rocm93IGV9ZnVuY3Rpb24gTShlLHQsbixyKXt2YXIgaTt0cnl7ZSYmaChpPWUucHJvbWlzZSk/aS5jYWxsKGUpLmRvbmUodCkuZmFpbChuKTplJiZoKGk9ZS50aGVuKT9pLmNhbGwoZSx0LG4pOnQuYXBwbHkodm9pZCAwLFtlXS5zbGljZShyKSl9Y2F0Y2goZSl7bi5hcHBseSh2b2lkIDAsW2VdKX19Yi5DYWxsYmFja3M9ZnVuY3Rpb24oZSl7ZT1cInN0cmluZ1wiPT10eXBlb2YgZT9mdW5jdGlvbihlKXt2YXIgdD17fTtyZXR1cm4gYi5lYWNoKGUubWF0Y2goTyl8fFtdLGZ1bmN0aW9uKGUsbil7dFtuXT0hMH0pLHR9KGUpOmIuZXh0ZW5kKHt9LGUpO3ZhciB0LG4scixpLG89W10sYT1bXSxzPS0xLHU9ZnVuY3Rpb24oKXtmb3IoaT1pfHxlLm9uY2Uscj10PSEwO2EubGVuZ3RoO3M9LTEpZm9yKG49YS5zaGlmdCgpOysrczxvLmxlbmd0aDspITE9PT1vW3NdLmFwcGx5KG5bMF0sblsxXSkmJmUuc3RvcE9uRmFsc2UmJihzPW8ubGVuZ3RoLG49ITEpO2UubWVtb3J5fHwobj0hMSksdD0hMSxpJiYobz1uP1tdOlwiXCIpfSxsPXthZGQ6ZnVuY3Rpb24oKXtyZXR1cm4gbyYmKG4mJiF0JiYocz1vLmxlbmd0aC0xLGEucHVzaChuKSksZnVuY3Rpb24gdChuKXtiLmVhY2gobixmdW5jdGlvbihuLHIpe2gocik/ZS51bmlxdWUmJmwuaGFzKHIpfHxvLnB1c2gocik6ciYmci5sZW5ndGgmJlwic3RyaW5nXCIhPT14KHIpJiZ0KHIpfSl9KGFyZ3VtZW50cyksbiYmIXQmJnUoKSksdGhpc30scmVtb3ZlOmZ1bmN0aW9uKCl7cmV0dXJuIGIuZWFjaChhcmd1bWVudHMsZnVuY3Rpb24oZSx0KXtmb3IodmFyIG47KG49Yi5pbkFycmF5KHQsbyxuKSk+LTE7KW8uc3BsaWNlKG4sMSksbjw9cyYmcy0tfSksdGhpc30saGFzOmZ1bmN0aW9uKGUpe3JldHVybiBlP2IuaW5BcnJheShlLG8pPi0xOm8ubGVuZ3RoPjB9LGVtcHR5OmZ1bmN0aW9uKCl7cmV0dXJuIG8mJihvPVtdKSx0aGlzfSxkaXNhYmxlOmZ1bmN0aW9uKCl7cmV0dXJuIGk9YT1bXSxvPW49XCJcIix0aGlzfSxkaXNhYmxlZDpmdW5jdGlvbigpe3JldHVybiFvfSxsb2NrOmZ1bmN0aW9uKCl7cmV0dXJuIGk9YT1bXSxufHx0fHwobz1uPVwiXCIpLHRoaXN9LGxvY2tlZDpmdW5jdGlvbigpe3JldHVybiEhaX0sZmlyZVdpdGg6ZnVuY3Rpb24oZSxuKXtyZXR1cm4gaXx8KG49W2UsKG49bnx8W10pLnNsaWNlP24uc2xpY2UoKTpuXSxhLnB1c2gobiksdHx8dSgpKSx0aGlzfSxmaXJlOmZ1bmN0aW9uKCl7cmV0dXJuIGwuZmlyZVdpdGgodGhpcyxhcmd1bWVudHMpLHRoaXN9LGZpcmVkOmZ1bmN0aW9uKCl7cmV0dXJuISFyfX07cmV0dXJuIGx9LGIuZXh0ZW5kKHtEZWZlcnJlZDpmdW5jdGlvbih0KXt2YXIgbj1bW1wibm90aWZ5XCIsXCJwcm9ncmVzc1wiLGIuQ2FsbGJhY2tzKFwibWVtb3J5XCIpLGIuQ2FsbGJhY2tzKFwibWVtb3J5XCIpLDJdLFtcInJlc29sdmVcIixcImRvbmVcIixiLkNhbGxiYWNrcyhcIm9uY2UgbWVtb3J5XCIpLGIuQ2FsbGJhY2tzKFwib25jZSBtZW1vcnlcIiksMCxcInJlc29sdmVkXCJdLFtcInJlamVjdFwiLFwiZmFpbFwiLGIuQ2FsbGJhY2tzKFwib25jZSBtZW1vcnlcIiksYi5DYWxsYmFja3MoXCJvbmNlIG1lbW9yeVwiKSwxLFwicmVqZWN0ZWRcIl1dLHI9XCJwZW5kaW5nXCIsaT17c3RhdGU6ZnVuY3Rpb24oKXtyZXR1cm4gcn0sYWx3YXlzOmZ1bmN0aW9uKCl7cmV0dXJuIG8uZG9uZShhcmd1bWVudHMpLmZhaWwoYXJndW1lbnRzKSx0aGlzfSxjYXRjaDpmdW5jdGlvbihlKXtyZXR1cm4gaS50aGVuKG51bGwsZSl9LHBpcGU6ZnVuY3Rpb24oKXt2YXIgZT1hcmd1bWVudHM7cmV0dXJuIGIuRGVmZXJyZWQoZnVuY3Rpb24odCl7Yi5lYWNoKG4sZnVuY3Rpb24obixyKXt2YXIgaT1oKGVbcls0XV0pJiZlW3JbNF1dO29bclsxXV0oZnVuY3Rpb24oKXt2YXIgZT1pJiZpLmFwcGx5KHRoaXMsYXJndW1lbnRzKTtlJiZoKGUucHJvbWlzZSk/ZS5wcm9taXNlKCkucHJvZ3Jlc3ModC5ub3RpZnkpLmRvbmUodC5yZXNvbHZlKS5mYWlsKHQucmVqZWN0KTp0W3JbMF0rXCJXaXRoXCJdKHRoaXMsaT9bZV06YXJndW1lbnRzKX0pfSksZT1udWxsfSkucHJvbWlzZSgpfSx0aGVuOmZ1bmN0aW9uKHQscixpKXt2YXIgbz0wO2Z1bmN0aW9uIGEodCxuLHIsaSl7cmV0dXJuIGZ1bmN0aW9uKCl7dmFyIHM9dGhpcyx1PWFyZ3VtZW50cyxsPWZ1bmN0aW9uKCl7dmFyIGUsbDtpZighKHQ8bykpe2lmKChlPXIuYXBwbHkocyx1KSk9PT1uLnByb21pc2UoKSl0aHJvdyBuZXcgVHlwZUVycm9yKFwiVGhlbmFibGUgc2VsZi1yZXNvbHV0aW9uXCIpO2w9ZSYmKFwib2JqZWN0XCI9PXR5cGVvZiBlfHxcImZ1bmN0aW9uXCI9PXR5cGVvZiBlKSYmZS50aGVuLGgobCk/aT9sLmNhbGwoZSxhKG8sbixQLGkpLGEobyxuLFIsaSkpOihvKyssbC5jYWxsKGUsYShvLG4sUCxpKSxhKG8sbixSLGkpLGEobyxuLFAsbi5ub3RpZnlXaXRoKSkpOihyIT09UCYmKHM9dm9pZCAwLHU9W2VdKSwoaXx8bi5yZXNvbHZlV2l0aCkocyx1KSl9fSxjPWk/bDpmdW5jdGlvbigpe3RyeXtsKCl9Y2F0Y2goZSl7Yi5EZWZlcnJlZC5leGNlcHRpb25Ib29rJiZiLkRlZmVycmVkLmV4Y2VwdGlvbkhvb2soZSxjLnN0YWNrVHJhY2UpLHQrMT49byYmKHIhPT1SJiYocz12b2lkIDAsdT1bZV0pLG4ucmVqZWN0V2l0aChzLHUpKX19O3Q/YygpOihiLkRlZmVycmVkLmdldFN0YWNrSG9vayYmKGMuc3RhY2tUcmFjZT1iLkRlZmVycmVkLmdldFN0YWNrSG9vaygpKSxlLnNldFRpbWVvdXQoYykpfX1yZXR1cm4gYi5EZWZlcnJlZChmdW5jdGlvbihlKXtuWzBdWzNdLmFkZChhKDAsZSxoKGkpP2k6UCxlLm5vdGlmeVdpdGgpKSxuWzFdWzNdLmFkZChhKDAsZSxoKHQpP3Q6UCkpLG5bMl1bM10uYWRkKGEoMCxlLGgocik/cjpSKSl9KS5wcm9taXNlKCl9LHByb21pc2U6ZnVuY3Rpb24oZSl7cmV0dXJuIG51bGwhPWU/Yi5leHRlbmQoZSxpKTppfX0sbz17fTtyZXR1cm4gYi5lYWNoKG4sZnVuY3Rpb24oZSx0KXt2YXIgYT10WzJdLHM9dFs1XTtpW3RbMV1dPWEuYWRkLHMmJmEuYWRkKGZ1bmN0aW9uKCl7cj1zfSxuWzMtZV1bMl0uZGlzYWJsZSxuWzMtZV1bM10uZGlzYWJsZSxuWzBdWzJdLmxvY2ssblswXVszXS5sb2NrKSxhLmFkZCh0WzNdLmZpcmUpLG9bdFswXV09ZnVuY3Rpb24oKXtyZXR1cm4gb1t0WzBdK1wiV2l0aFwiXSh0aGlzPT09bz92b2lkIDA6dGhpcyxhcmd1bWVudHMpLHRoaXN9LG9bdFswXStcIldpdGhcIl09YS5maXJlV2l0aH0pLGkucHJvbWlzZShvKSx0JiZ0LmNhbGwobyxvKSxvfSx3aGVuOmZ1bmN0aW9uKGUpe3ZhciB0PWFyZ3VtZW50cy5sZW5ndGgsbj10LHI9QXJyYXkobiksbz1pLmNhbGwoYXJndW1lbnRzKSxhPWIuRGVmZXJyZWQoKSxzPWZ1bmN0aW9uKGUpe3JldHVybiBmdW5jdGlvbihuKXtyW2VdPXRoaXMsb1tlXT1hcmd1bWVudHMubGVuZ3RoPjE/aS5jYWxsKGFyZ3VtZW50cyk6biwtLXR8fGEucmVzb2x2ZVdpdGgocixvKX19O2lmKHQ8PTEmJihNKGUsYS5kb25lKHMobikpLnJlc29sdmUsYS5yZWplY3QsIXQpLFwicGVuZGluZ1wiPT09YS5zdGF0ZSgpfHxoKG9bbl0mJm9bbl0udGhlbikpKXJldHVybiBhLnRoZW4oKTtmb3IoO24tLTspTShvW25dLHMobiksYS5yZWplY3QpO3JldHVybiBhLnByb21pc2UoKX19KTt2YXIgST0vXihFdmFsfEludGVybmFsfFJhbmdlfFJlZmVyZW5jZXxTeW50YXh8VHlwZXxVUkkpRXJyb3IkLztiLkRlZmVycmVkLmV4Y2VwdGlvbkhvb2s9ZnVuY3Rpb24odCxuKXtlLmNvbnNvbGUmJmUuY29uc29sZS53YXJuJiZ0JiZJLnRlc3QodC5uYW1lKSYmZS5jb25zb2xlLndhcm4oXCJqUXVlcnkuRGVmZXJyZWQgZXhjZXB0aW9uOiBcIit0Lm1lc3NhZ2UsdC5zdGFjayxuKX0sYi5yZWFkeUV4Y2VwdGlvbj1mdW5jdGlvbih0KXtlLnNldFRpbWVvdXQoZnVuY3Rpb24oKXt0aHJvdyB0fSl9O3ZhciBXPWIuRGVmZXJyZWQoKTtmdW5jdGlvbiBGKCl7di5yZW1vdmVFdmVudExpc3RlbmVyKFwiRE9NQ29udGVudExvYWRlZFwiLEYpLGUucmVtb3ZlRXZlbnRMaXN0ZW5lcihcImxvYWRcIixGKSxiLnJlYWR5KCl9Yi5mbi5yZWFkeT1mdW5jdGlvbihlKXtyZXR1cm4gVy50aGVuKGUpLmNhdGNoKGZ1bmN0aW9uKGUpe2IucmVhZHlFeGNlcHRpb24oZSl9KSx0aGlzfSxiLmV4dGVuZCh7aXNSZWFkeTohMSxyZWFkeVdhaXQ6MSxyZWFkeTpmdW5jdGlvbihlKXsoITA9PT1lPy0tYi5yZWFkeVdhaXQ6Yi5pc1JlYWR5KXx8KGIuaXNSZWFkeT0hMCwhMCE9PWUmJi0tYi5yZWFkeVdhaXQ+MHx8Vy5yZXNvbHZlV2l0aCh2LFtiXSkpfX0pLGIucmVhZHkudGhlbj1XLnRoZW4sXCJjb21wbGV0ZVwiPT09di5yZWFkeVN0YXRlfHxcImxvYWRpbmdcIiE9PXYucmVhZHlTdGF0ZSYmIXYuZG9jdW1lbnRFbGVtZW50LmRvU2Nyb2xsP2Uuc2V0VGltZW91dChiLnJlYWR5KToodi5hZGRFdmVudExpc3RlbmVyKFwiRE9NQ29udGVudExvYWRlZFwiLEYpLGUuYWRkRXZlbnRMaXN0ZW5lcihcImxvYWRcIixGKSk7dmFyIEI9ZnVuY3Rpb24oZSx0LG4scixpLG8sYSl7dmFyIHM9MCx1PWUubGVuZ3RoLGw9bnVsbD09bjtpZihcIm9iamVjdFwiPT09eChuKSlmb3IocyBpbiBpPSEwLG4pQihlLHQscyxuW3NdLCEwLG8sYSk7ZWxzZSBpZih2b2lkIDAhPT1yJiYoaT0hMCxoKHIpfHwoYT0hMCksbCYmKGE/KHQuY2FsbChlLHIpLHQ9bnVsbCk6KGw9dCx0PWZ1bmN0aW9uKGUsdCxuKXtyZXR1cm4gbC5jYWxsKGIoZSksbil9KSksdCkpZm9yKDtzPHU7cysrKXQoZVtzXSxuLGE/cjpyLmNhbGwoZVtzXSxzLHQoZVtzXSxuKSkpO3JldHVybiBpP2U6bD90LmNhbGwoZSk6dT90KGVbMF0sbik6b30sJD0vXi1tcy0vLF89Ly0oW2Etel0pL2c7ZnVuY3Rpb24geihlLHQpe3JldHVybiB0LnRvVXBwZXJDYXNlKCl9ZnVuY3Rpb24gVShlKXtyZXR1cm4gZS5yZXBsYWNlKCQsXCJtcy1cIikucmVwbGFjZShfLHopfXZhciBYPWZ1bmN0aW9uKGUpe3JldHVybiAxPT09ZS5ub2RlVHlwZXx8OT09PWUubm9kZVR5cGV8fCErZS5ub2RlVHlwZX07ZnVuY3Rpb24gVigpe3RoaXMuZXhwYW5kbz1iLmV4cGFuZG8rVi51aWQrK31WLnVpZD0xLFYucHJvdG90eXBlPXtjYWNoZTpmdW5jdGlvbihlKXt2YXIgdD1lW3RoaXMuZXhwYW5kb107cmV0dXJuIHR8fCh0PXt9LFgoZSkmJihlLm5vZGVUeXBlP2VbdGhpcy5leHBhbmRvXT10Ok9iamVjdC5kZWZpbmVQcm9wZXJ0eShlLHRoaXMuZXhwYW5kbyx7dmFsdWU6dCxjb25maWd1cmFibGU6ITB9KSkpLHR9LHNldDpmdW5jdGlvbihlLHQsbil7dmFyIHIsaT10aGlzLmNhY2hlKGUpO2lmKFwic3RyaW5nXCI9PXR5cGVvZiB0KWlbVSh0KV09bjtlbHNlIGZvcihyIGluIHQpaVtVKHIpXT10W3JdO3JldHVybiBpfSxnZXQ6ZnVuY3Rpb24oZSx0KXtyZXR1cm4gdm9pZCAwPT09dD90aGlzLmNhY2hlKGUpOmVbdGhpcy5leHBhbmRvXSYmZVt0aGlzLmV4cGFuZG9dW1UodCldfSxhY2Nlc3M6ZnVuY3Rpb24oZSx0LG4pe3JldHVybiB2b2lkIDA9PT10fHx0JiZcInN0cmluZ1wiPT10eXBlb2YgdCYmdm9pZCAwPT09bj90aGlzLmdldChlLHQpOih0aGlzLnNldChlLHQsbiksdm9pZCAwIT09bj9uOnQpfSxyZW1vdmU6ZnVuY3Rpb24oZSx0KXt2YXIgbixyPWVbdGhpcy5leHBhbmRvXTtpZih2b2lkIDAhPT1yKXtpZih2b2lkIDAhPT10KXtuPSh0PUFycmF5LmlzQXJyYXkodCk/dC5tYXAoVSk6KHQ9VSh0KSlpbiByP1t0XTp0Lm1hdGNoKE8pfHxbXSkubGVuZ3RoO2Zvcig7bi0tOylkZWxldGUgclt0W25dXX0odm9pZCAwPT09dHx8Yi5pc0VtcHR5T2JqZWN0KHIpKSYmKGUubm9kZVR5cGU/ZVt0aGlzLmV4cGFuZG9dPXZvaWQgMDpkZWxldGUgZVt0aGlzLmV4cGFuZG9dKX19LGhhc0RhdGE6ZnVuY3Rpb24oZSl7dmFyIHQ9ZVt0aGlzLmV4cGFuZG9dO3JldHVybiB2b2lkIDAhPT10JiYhYi5pc0VtcHR5T2JqZWN0KHQpfX07dmFyIEc9bmV3IFYsWT1uZXcgVixRPS9eKD86XFx7W1xcd1xcV10qXFx9fFxcW1tcXHdcXFddKlxcXSkkLyxKPS9bQS1aXS9nO2Z1bmN0aW9uIEsoZSx0LG4pe3ZhciByO2lmKHZvaWQgMD09PW4mJjE9PT1lLm5vZGVUeXBlKWlmKHI9XCJkYXRhLVwiK3QucmVwbGFjZShKLFwiLSQmXCIpLnRvTG93ZXJDYXNlKCksXCJzdHJpbmdcIj09dHlwZW9mKG49ZS5nZXRBdHRyaWJ1dGUocikpKXt0cnl7bj1mdW5jdGlvbihlKXtyZXR1cm5cInRydWVcIj09PWV8fFwiZmFsc2VcIiE9PWUmJihcIm51bGxcIj09PWU/bnVsbDplPT09K2UrXCJcIj8rZTpRLnRlc3QoZSk/SlNPTi5wYXJzZShlKTplKX0obil9Y2F0Y2goZSl7fVkuc2V0KGUsdCxuKX1lbHNlIG49dm9pZCAwO3JldHVybiBufWIuZXh0ZW5kKHtoYXNEYXRhOmZ1bmN0aW9uKGUpe3JldHVybiBZLmhhc0RhdGEoZSl8fEcuaGFzRGF0YShlKX0sZGF0YTpmdW5jdGlvbihlLHQsbil7cmV0dXJuIFkuYWNjZXNzKGUsdCxuKX0scmVtb3ZlRGF0YTpmdW5jdGlvbihlLHQpe1kucmVtb3ZlKGUsdCl9LF9kYXRhOmZ1bmN0aW9uKGUsdCxuKXtyZXR1cm4gRy5hY2Nlc3MoZSx0LG4pfSxfcmVtb3ZlRGF0YTpmdW5jdGlvbihlLHQpe0cucmVtb3ZlKGUsdCl9fSksYi5mbi5leHRlbmQoe2RhdGE6ZnVuY3Rpb24oZSx0KXt2YXIgbixyLGksbz10aGlzWzBdLGE9byYmby5hdHRyaWJ1dGVzO2lmKHZvaWQgMD09PWUpe2lmKHRoaXMubGVuZ3RoJiYoaT1ZLmdldChvKSwxPT09by5ub2RlVHlwZSYmIUcuZ2V0KG8sXCJoYXNEYXRhQXR0cnNcIikpKXtmb3Iobj1hLmxlbmd0aDtuLS07KWFbbl0mJjA9PT0ocj1hW25dLm5hbWUpLmluZGV4T2YoXCJkYXRhLVwiKSYmKHI9VShyLnNsaWNlKDUpKSxLKG8scixpW3JdKSk7Ry5zZXQobyxcImhhc0RhdGFBdHRyc1wiLCEwKX1yZXR1cm4gaX1yZXR1cm5cIm9iamVjdFwiPT10eXBlb2YgZT90aGlzLmVhY2goZnVuY3Rpb24oKXtZLnNldCh0aGlzLGUpfSk6Qih0aGlzLGZ1bmN0aW9uKHQpe3ZhciBuO2lmKG8mJnZvaWQgMD09PXQpcmV0dXJuIHZvaWQgMCE9PShuPVkuZ2V0KG8sZSkpP246dm9pZCAwIT09KG49SyhvLGUpKT9uOnZvaWQgMDt0aGlzLmVhY2goZnVuY3Rpb24oKXtZLnNldCh0aGlzLGUsdCl9KX0sbnVsbCx0LGFyZ3VtZW50cy5sZW5ndGg+MSxudWxsLCEwKX0scmVtb3ZlRGF0YTpmdW5jdGlvbihlKXtyZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKCl7WS5yZW1vdmUodGhpcyxlKX0pfX0pLGIuZXh0ZW5kKHtxdWV1ZTpmdW5jdGlvbihlLHQsbil7dmFyIHI7aWYoZSlyZXR1cm4gdD0odHx8XCJmeFwiKStcInF1ZXVlXCIscj1HLmdldChlLHQpLG4mJighcnx8QXJyYXkuaXNBcnJheShuKT9yPUcuYWNjZXNzKGUsdCxiLm1ha2VBcnJheShuKSk6ci5wdXNoKG4pKSxyfHxbXX0sZGVxdWV1ZTpmdW5jdGlvbihlLHQpe3Q9dHx8XCJmeFwiO3ZhciBuPWIucXVldWUoZSx0KSxyPW4ubGVuZ3RoLGk9bi5zaGlmdCgpLG89Yi5fcXVldWVIb29rcyhlLHQpO1wiaW5wcm9ncmVzc1wiPT09aSYmKGk9bi5zaGlmdCgpLHItLSksaSYmKFwiZnhcIj09PXQmJm4udW5zaGlmdChcImlucHJvZ3Jlc3NcIiksZGVsZXRlIG8uc3RvcCxpLmNhbGwoZSxmdW5jdGlvbigpe2IuZGVxdWV1ZShlLHQpfSxvKSksIXImJm8mJm8uZW1wdHkuZmlyZSgpfSxfcXVldWVIb29rczpmdW5jdGlvbihlLHQpe3ZhciBuPXQrXCJxdWV1ZUhvb2tzXCI7cmV0dXJuIEcuZ2V0KGUsbil8fEcuYWNjZXNzKGUsbix7ZW1wdHk6Yi5DYWxsYmFja3MoXCJvbmNlIG1lbW9yeVwiKS5hZGQoZnVuY3Rpb24oKXtHLnJlbW92ZShlLFt0K1wicXVldWVcIixuXSl9KX0pfX0pLGIuZm4uZXh0ZW5kKHtxdWV1ZTpmdW5jdGlvbihlLHQpe3ZhciBuPTI7cmV0dXJuXCJzdHJpbmdcIiE9dHlwZW9mIGUmJih0PWUsZT1cImZ4XCIsbi0tKSxhcmd1bWVudHMubGVuZ3RoPG4/Yi5xdWV1ZSh0aGlzWzBdLGUpOnZvaWQgMD09PXQ/dGhpczp0aGlzLmVhY2goZnVuY3Rpb24oKXt2YXIgbj1iLnF1ZXVlKHRoaXMsZSx0KTtiLl9xdWV1ZUhvb2tzKHRoaXMsZSksXCJmeFwiPT09ZSYmXCJpbnByb2dyZXNzXCIhPT1uWzBdJiZiLmRlcXVldWUodGhpcyxlKX0pfSxkZXF1ZXVlOmZ1bmN0aW9uKGUpe3JldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oKXtiLmRlcXVldWUodGhpcyxlKX0pfSxjbGVhclF1ZXVlOmZ1bmN0aW9uKGUpe3JldHVybiB0aGlzLnF1ZXVlKGV8fFwiZnhcIixbXSl9LHByb21pc2U6ZnVuY3Rpb24oZSx0KXt2YXIgbixyPTEsaT1iLkRlZmVycmVkKCksbz10aGlzLGE9dGhpcy5sZW5ndGgscz1mdW5jdGlvbigpey0tcnx8aS5yZXNvbHZlV2l0aChvLFtvXSl9O2ZvcihcInN0cmluZ1wiIT10eXBlb2YgZSYmKHQ9ZSxlPXZvaWQgMCksZT1lfHxcImZ4XCI7YS0tOykobj1HLmdldChvW2FdLGUrXCJxdWV1ZUhvb2tzXCIpKSYmbi5lbXB0eSYmKHIrKyxuLmVtcHR5LmFkZChzKSk7cmV0dXJuIHMoKSxpLnByb21pc2UodCl9fSk7dmFyIFo9L1srLV0/KD86XFxkKlxcLnwpXFxkKyg/OltlRV1bKy1dP1xcZCt8KS8uc291cmNlLGVlPW5ldyBSZWdFeHAoXCJeKD86KFsrLV0pPXwpKFwiK1orXCIpKFthLXolXSopJFwiLFwiaVwiKSx0ZT1bXCJUb3BcIixcIlJpZ2h0XCIsXCJCb3R0b21cIixcIkxlZnRcIl0sbmU9di5kb2N1bWVudEVsZW1lbnQscmU9ZnVuY3Rpb24oZSl7cmV0dXJuIGIuY29udGFpbnMoZS5vd25lckRvY3VtZW50LGUpfSxpZT17Y29tcG9zZWQ6ITB9O25lLmdldFJvb3ROb2RlJiYocmU9ZnVuY3Rpb24oZSl7cmV0dXJuIGIuY29udGFpbnMoZS5vd25lckRvY3VtZW50LGUpfHxlLmdldFJvb3ROb2RlKGllKT09PWUub3duZXJEb2N1bWVudH0pO3ZhciBvZT1mdW5jdGlvbihlLHQpe3JldHVyblwibm9uZVwiPT09KGU9dHx8ZSkuc3R5bGUuZGlzcGxheXx8XCJcIj09PWUuc3R5bGUuZGlzcGxheSYmcmUoZSkmJlwibm9uZVwiPT09Yi5jc3MoZSxcImRpc3BsYXlcIil9O2Z1bmN0aW9uIGFlKGUsdCxuLHIpe3ZhciBpLG8sYT0yMCxzPXI/ZnVuY3Rpb24oKXtyZXR1cm4gci5jdXIoKX06ZnVuY3Rpb24oKXtyZXR1cm4gYi5jc3MoZSx0LFwiXCIpfSx1PXMoKSxsPW4mJm5bM118fChiLmNzc051bWJlclt0XT9cIlwiOlwicHhcIiksYz1lLm5vZGVUeXBlJiYoYi5jc3NOdW1iZXJbdF18fFwicHhcIiE9PWwmJit1KSYmZWUuZXhlYyhiLmNzcyhlLHQpKTtpZihjJiZjWzNdIT09bCl7Zm9yKHUvPTIsbD1sfHxjWzNdLGM9K3V8fDE7YS0tOyliLnN0eWxlKGUsdCxjK2wpLCgxLW8pKigxLShvPXMoKS91fHwuNSkpPD0wJiYoYT0wKSxjLz1vO2MqPTIsYi5zdHlsZShlLHQsYytsKSxuPW58fFtdfXJldHVybiBuJiYoYz0rY3x8K3V8fDAsaT1uWzFdP2MrKG5bMV0rMSkqblsyXTorblsyXSxyJiYoci51bml0PWwsci5zdGFydD1jLHIuZW5kPWkpKSxpfXZhciBzZT17fTtmdW5jdGlvbiB1ZShlKXt2YXIgdCxuPWUub3duZXJEb2N1bWVudCxyPWUubm9kZU5hbWUsaT1zZVtyXTtyZXR1cm4gaXx8KHQ9bi5ib2R5LmFwcGVuZENoaWxkKG4uY3JlYXRlRWxlbWVudChyKSksaT1iLmNzcyh0LFwiZGlzcGxheVwiKSx0LnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQodCksXCJub25lXCI9PT1pJiYoaT1cImJsb2NrXCIpLHNlW3JdPWksaSl9ZnVuY3Rpb24gbGUoZSx0KXtmb3IodmFyIG4scixpPVtdLG89MCxhPWUubGVuZ3RoO288YTtvKyspKHI9ZVtvXSkuc3R5bGUmJihuPXIuc3R5bGUuZGlzcGxheSx0PyhcIm5vbmVcIj09PW4mJihpW29dPUcuZ2V0KHIsXCJkaXNwbGF5XCIpfHxudWxsLGlbb118fChyLnN0eWxlLmRpc3BsYXk9XCJcIikpLFwiXCI9PT1yLnN0eWxlLmRpc3BsYXkmJm9lKHIpJiYoaVtvXT11ZShyKSkpOlwibm9uZVwiIT09biYmKGlbb109XCJub25lXCIsRy5zZXQocixcImRpc3BsYXlcIixuKSkpO2ZvcihvPTA7bzxhO28rKyludWxsIT1pW29dJiYoZVtvXS5zdHlsZS5kaXNwbGF5PWlbb10pO3JldHVybiBlfWIuZm4uZXh0ZW5kKHtzaG93OmZ1bmN0aW9uKCl7cmV0dXJuIGxlKHRoaXMsITApfSxoaWRlOmZ1bmN0aW9uKCl7cmV0dXJuIGxlKHRoaXMpfSx0b2dnbGU6ZnVuY3Rpb24oZSl7cmV0dXJuXCJib29sZWFuXCI9PXR5cGVvZiBlP2U/dGhpcy5zaG93KCk6dGhpcy5oaWRlKCk6dGhpcy5lYWNoKGZ1bmN0aW9uKCl7b2UodGhpcyk/Yih0aGlzKS5zaG93KCk6Yih0aGlzKS5oaWRlKCl9KX19KTt2YXIgY2UsZmUscGU9L14oPzpjaGVja2JveHxyYWRpbykkL2ksZGU9LzwoW2Etel1bXlxcL1xcMD5cXHgyMFxcdFxcclxcblxcZl0qKS9pLGhlPS9eJHxebW9kdWxlJHxcXC8oPzpqYXZhfGVjbWEpc2NyaXB0L2k7Y2U9di5jcmVhdGVEb2N1bWVudEZyYWdtZW50KCkuYXBwZW5kQ2hpbGQodi5jcmVhdGVFbGVtZW50KFwiZGl2XCIpKSwoZmU9di5jcmVhdGVFbGVtZW50KFwiaW5wdXRcIikpLnNldEF0dHJpYnV0ZShcInR5cGVcIixcInJhZGlvXCIpLGZlLnNldEF0dHJpYnV0ZShcImNoZWNrZWRcIixcImNoZWNrZWRcIiksZmUuc2V0QXR0cmlidXRlKFwibmFtZVwiLFwidFwiKSxjZS5hcHBlbmRDaGlsZChmZSksZC5jaGVja0Nsb25lPWNlLmNsb25lTm9kZSghMCkuY2xvbmVOb2RlKCEwKS5sYXN0Q2hpbGQuY2hlY2tlZCxjZS5pbm5lckhUTUw9XCI8dGV4dGFyZWE+eDwvdGV4dGFyZWE+XCIsZC5ub0Nsb25lQ2hlY2tlZD0hIWNlLmNsb25lTm9kZSghMCkubGFzdENoaWxkLmRlZmF1bHRWYWx1ZSxjZS5pbm5lckhUTUw9XCI8b3B0aW9uPjwvb3B0aW9uPlwiLGQub3B0aW9uPSEhY2UubGFzdENoaWxkO3ZhciBnZT17dGhlYWQ6WzEsXCI8dGFibGU+XCIsXCI8L3RhYmxlPlwiXSxjb2w6WzIsXCI8dGFibGU+PGNvbGdyb3VwPlwiLFwiPC9jb2xncm91cD48L3RhYmxlPlwiXSx0cjpbMixcIjx0YWJsZT48dGJvZHk+XCIsXCI8L3Rib2R5PjwvdGFibGU+XCJdLHRkOlszLFwiPHRhYmxlPjx0Ym9keT48dHI+XCIsXCI8L3RyPjwvdGJvZHk+PC90YWJsZT5cIl0sX2RlZmF1bHQ6WzAsXCJcIixcIlwiXX07ZnVuY3Rpb24gdmUoZSx0KXt2YXIgbjtyZXR1cm4gbj12b2lkIDAhPT1lLmdldEVsZW1lbnRzQnlUYWdOYW1lP2UuZ2V0RWxlbWVudHNCeVRhZ05hbWUodHx8XCIqXCIpOnZvaWQgMCE9PWUucXVlcnlTZWxlY3RvckFsbD9lLnF1ZXJ5U2VsZWN0b3JBbGwodHx8XCIqXCIpOltdLHZvaWQgMD09PXR8fHQmJmsoZSx0KT9iLm1lcmdlKFtlXSxuKTpufWZ1bmN0aW9uIHllKGUsdCl7Zm9yKHZhciBuPTAscj1lLmxlbmd0aDtuPHI7bisrKUcuc2V0KGVbbl0sXCJnbG9iYWxFdmFsXCIsIXR8fEcuZ2V0KHRbbl0sXCJnbG9iYWxFdmFsXCIpKX1nZS50Ym9keT1nZS50Zm9vdD1nZS5jb2xncm91cD1nZS5jYXB0aW9uPWdlLnRoZWFkLGdlLnRoPWdlLnRkLGQub3B0aW9ufHwoZ2Uub3B0Z3JvdXA9Z2Uub3B0aW9uPVsxLFwiPHNlbGVjdCBtdWx0aXBsZT0nbXVsdGlwbGUnPlwiLFwiPC9zZWxlY3Q+XCJdKTt2YXIgbWU9Lzx8JiM/XFx3KzsvO2Z1bmN0aW9uIHhlKGUsdCxuLHIsaSl7Zm9yKHZhciBvLGEscyx1LGwsYyxmPXQuY3JlYXRlRG9jdW1lbnRGcmFnbWVudCgpLHA9W10sZD0wLGg9ZS5sZW5ndGg7ZDxoO2QrKylpZigobz1lW2RdKXx8MD09PW8paWYoXCJvYmplY3RcIj09PXgobykpYi5tZXJnZShwLG8ubm9kZVR5cGU/W29dOm8pO2Vsc2UgaWYobWUudGVzdChvKSl7Zm9yKGE9YXx8Zi5hcHBlbmRDaGlsZCh0LmNyZWF0ZUVsZW1lbnQoXCJkaXZcIikpLHM9KGRlLmV4ZWMobyl8fFtcIlwiLFwiXCJdKVsxXS50b0xvd2VyQ2FzZSgpLHU9Z2Vbc118fGdlLl9kZWZhdWx0LGEuaW5uZXJIVE1MPXVbMV0rYi5odG1sUHJlZmlsdGVyKG8pK3VbMl0sYz11WzBdO2MtLTspYT1hLmxhc3RDaGlsZDtiLm1lcmdlKHAsYS5jaGlsZE5vZGVzKSwoYT1mLmZpcnN0Q2hpbGQpLnRleHRDb250ZW50PVwiXCJ9ZWxzZSBwLnB1c2godC5jcmVhdGVUZXh0Tm9kZShvKSk7Zm9yKGYudGV4dENvbnRlbnQ9XCJcIixkPTA7bz1wW2QrK107KWlmKHImJmIuaW5BcnJheShvLHIpPi0xKWkmJmkucHVzaChvKTtlbHNlIGlmKGw9cmUobyksYT12ZShmLmFwcGVuZENoaWxkKG8pLFwic2NyaXB0XCIpLGwmJnllKGEpLG4pZm9yKGM9MDtvPWFbYysrXTspaGUudGVzdChvLnR5cGV8fFwiXCIpJiZuLnB1c2gobyk7cmV0dXJuIGZ9dmFyIGJlPS9eKFteLl0qKSg/OlxcLiguKyl8KS87ZnVuY3Rpb24gd2UoKXtyZXR1cm4hMH1mdW5jdGlvbiBUZSgpe3JldHVybiExfWZ1bmN0aW9uIENlKGUsdCl7cmV0dXJuIGU9PT1mdW5jdGlvbigpe3RyeXtyZXR1cm4gdi5hY3RpdmVFbGVtZW50fWNhdGNoKGUpe319KCk9PShcImZvY3VzXCI9PT10KX1mdW5jdGlvbiBFZShlLHQsbixyLGksbyl7dmFyIGEscztpZihcIm9iamVjdFwiPT10eXBlb2YgdCl7Zm9yKHMgaW5cInN0cmluZ1wiIT10eXBlb2YgbiYmKHI9cnx8bixuPXZvaWQgMCksdClFZShlLHMsbixyLHRbc10sbyk7cmV0dXJuIGV9aWYobnVsbD09ciYmbnVsbD09aT8oaT1uLHI9bj12b2lkIDApOm51bGw9PWkmJihcInN0cmluZ1wiPT10eXBlb2Ygbj8oaT1yLHI9dm9pZCAwKTooaT1yLHI9bixuPXZvaWQgMCkpLCExPT09aSlpPVRlO2Vsc2UgaWYoIWkpcmV0dXJuIGU7cmV0dXJuIDE9PT1vJiYoYT1pLChpPWZ1bmN0aW9uKGUpe3JldHVybiBiKCkub2ZmKGUpLGEuYXBwbHkodGhpcyxhcmd1bWVudHMpfSkuZ3VpZD1hLmd1aWR8fChhLmd1aWQ9Yi5ndWlkKyspKSxlLmVhY2goZnVuY3Rpb24oKXtiLmV2ZW50LmFkZCh0aGlzLHQsaSxyLG4pfSl9ZnVuY3Rpb24gU2UoZSx0LG4pe24/KEcuc2V0KGUsdCwhMSksYi5ldmVudC5hZGQoZSx0LHtuYW1lc3BhY2U6ITEsaGFuZGxlcjpmdW5jdGlvbihlKXt2YXIgcixvLGE9Ry5nZXQodGhpcyx0KTtpZigxJmUuaXNUcmlnZ2VyJiZ0aGlzW3RdKXtpZihhLmxlbmd0aCkoYi5ldmVudC5zcGVjaWFsW3RdfHx7fSkuZGVsZWdhdGVUeXBlJiZlLnN0b3BQcm9wYWdhdGlvbigpO2Vsc2UgaWYoYT1pLmNhbGwoYXJndW1lbnRzKSxHLnNldCh0aGlzLHQsYSkscj1uKHRoaXMsdCksdGhpc1t0XSgpLGEhPT0obz1HLmdldCh0aGlzLHQpKXx8cj9HLnNldCh0aGlzLHQsITEpOm89e30sYSE9PW8pcmV0dXJuIGUuc3RvcEltbWVkaWF0ZVByb3BhZ2F0aW9uKCksZS5wcmV2ZW50RGVmYXVsdCgpLG8mJm8udmFsdWV9ZWxzZSBhLmxlbmd0aCYmKEcuc2V0KHRoaXMsdCx7dmFsdWU6Yi5ldmVudC50cmlnZ2VyKGIuZXh0ZW5kKGFbMF0sYi5FdmVudC5wcm90b3R5cGUpLGEuc2xpY2UoMSksdGhpcyl9KSxlLnN0b3BJbW1lZGlhdGVQcm9wYWdhdGlvbigpKX19KSk6dm9pZCAwPT09Ry5nZXQoZSx0KSYmYi5ldmVudC5hZGQoZSx0LHdlKX1iLmV2ZW50PXtnbG9iYWw6e30sYWRkOmZ1bmN0aW9uKGUsdCxuLHIsaSl7dmFyIG8sYSxzLHUsbCxjLGYscCxkLGgsZyx2PUcuZ2V0KGUpO2lmKFgoZSkpZm9yKG4uaGFuZGxlciYmKG49KG89bikuaGFuZGxlcixpPW8uc2VsZWN0b3IpLGkmJmIuZmluZC5tYXRjaGVzU2VsZWN0b3IobmUsaSksbi5ndWlkfHwobi5ndWlkPWIuZ3VpZCsrKSwodT12LmV2ZW50cyl8fCh1PXYuZXZlbnRzPU9iamVjdC5jcmVhdGUobnVsbCkpLChhPXYuaGFuZGxlKXx8KGE9di5oYW5kbGU9ZnVuY3Rpb24odCl7cmV0dXJuIHZvaWQgMCE9PWImJmIuZXZlbnQudHJpZ2dlcmVkIT09dC50eXBlP2IuZXZlbnQuZGlzcGF0Y2guYXBwbHkoZSxhcmd1bWVudHMpOnZvaWQgMH0pLGw9KHQ9KHR8fFwiXCIpLm1hdGNoKE8pfHxbXCJcIl0pLmxlbmd0aDtsLS07KWQ9Zz0ocz1iZS5leGVjKHRbbF0pfHxbXSlbMV0saD0oc1syXXx8XCJcIikuc3BsaXQoXCIuXCIpLnNvcnQoKSxkJiYoZj1iLmV2ZW50LnNwZWNpYWxbZF18fHt9LGQ9KGk/Zi5kZWxlZ2F0ZVR5cGU6Zi5iaW5kVHlwZSl8fGQsZj1iLmV2ZW50LnNwZWNpYWxbZF18fHt9LGM9Yi5leHRlbmQoe3R5cGU6ZCxvcmlnVHlwZTpnLGRhdGE6cixoYW5kbGVyOm4sZ3VpZDpuLmd1aWQsc2VsZWN0b3I6aSxuZWVkc0NvbnRleHQ6aSYmYi5leHByLm1hdGNoLm5lZWRzQ29udGV4dC50ZXN0KGkpLG5hbWVzcGFjZTpoLmpvaW4oXCIuXCIpfSxvKSwocD11W2RdKXx8KChwPXVbZF09W10pLmRlbGVnYXRlQ291bnQ9MCxmLnNldHVwJiYhMSE9PWYuc2V0dXAuY2FsbChlLHIsaCxhKXx8ZS5hZGRFdmVudExpc3RlbmVyJiZlLmFkZEV2ZW50TGlzdGVuZXIoZCxhKSksZi5hZGQmJihmLmFkZC5jYWxsKGUsYyksYy5oYW5kbGVyLmd1aWR8fChjLmhhbmRsZXIuZ3VpZD1uLmd1aWQpKSxpP3Auc3BsaWNlKHAuZGVsZWdhdGVDb3VudCsrLDAsYyk6cC5wdXNoKGMpLGIuZXZlbnQuZ2xvYmFsW2RdPSEwKX0scmVtb3ZlOmZ1bmN0aW9uKGUsdCxuLHIsaSl7dmFyIG8sYSxzLHUsbCxjLGYscCxkLGgsZyx2PUcuaGFzRGF0YShlKSYmRy5nZXQoZSk7aWYodiYmKHU9di5ldmVudHMpKXtmb3IobD0odD0odHx8XCJcIikubWF0Y2goTyl8fFtcIlwiXSkubGVuZ3RoO2wtLTspaWYoZD1nPShzPWJlLmV4ZWModFtsXSl8fFtdKVsxXSxoPShzWzJdfHxcIlwiKS5zcGxpdChcIi5cIikuc29ydCgpLGQpe2ZvcihmPWIuZXZlbnQuc3BlY2lhbFtkXXx8e30scD11W2Q9KHI/Zi5kZWxlZ2F0ZVR5cGU6Zi5iaW5kVHlwZSl8fGRdfHxbXSxzPXNbMl0mJm5ldyBSZWdFeHAoXCIoXnxcXFxcLilcIitoLmpvaW4oXCJcXFxcLig/Oi4qXFxcXC58KVwiKStcIihcXFxcLnwkKVwiKSxhPW89cC5sZW5ndGg7by0tOyljPXBbb10sIWkmJmchPT1jLm9yaWdUeXBlfHxuJiZuLmd1aWQhPT1jLmd1aWR8fHMmJiFzLnRlc3QoYy5uYW1lc3BhY2UpfHxyJiZyIT09Yy5zZWxlY3RvciYmKFwiKipcIiE9PXJ8fCFjLnNlbGVjdG9yKXx8KHAuc3BsaWNlKG8sMSksYy5zZWxlY3RvciYmcC5kZWxlZ2F0ZUNvdW50LS0sZi5yZW1vdmUmJmYucmVtb3ZlLmNhbGwoZSxjKSk7YSYmIXAubGVuZ3RoJiYoZi50ZWFyZG93biYmITEhPT1mLnRlYXJkb3duLmNhbGwoZSxoLHYuaGFuZGxlKXx8Yi5yZW1vdmVFdmVudChlLGQsdi5oYW5kbGUpLGRlbGV0ZSB1W2RdKX1lbHNlIGZvcihkIGluIHUpYi5ldmVudC5yZW1vdmUoZSxkK3RbbF0sbixyLCEwKTtiLmlzRW1wdHlPYmplY3QodSkmJkcucmVtb3ZlKGUsXCJoYW5kbGUgZXZlbnRzXCIpfX0sZGlzcGF0Y2g6ZnVuY3Rpb24oZSl7dmFyIHQsbixyLGksbyxhLHM9bmV3IEFycmF5KGFyZ3VtZW50cy5sZW5ndGgpLHU9Yi5ldmVudC5maXgoZSksbD0oRy5nZXQodGhpcyxcImV2ZW50c1wiKXx8T2JqZWN0LmNyZWF0ZShudWxsKSlbdS50eXBlXXx8W10sYz1iLmV2ZW50LnNwZWNpYWxbdS50eXBlXXx8e307Zm9yKHNbMF09dSx0PTE7dDxhcmd1bWVudHMubGVuZ3RoO3QrKylzW3RdPWFyZ3VtZW50c1t0XTtpZih1LmRlbGVnYXRlVGFyZ2V0PXRoaXMsIWMucHJlRGlzcGF0Y2h8fCExIT09Yy5wcmVEaXNwYXRjaC5jYWxsKHRoaXMsdSkpe2ZvcihhPWIuZXZlbnQuaGFuZGxlcnMuY2FsbCh0aGlzLHUsbCksdD0wOyhpPWFbdCsrXSkmJiF1LmlzUHJvcGFnYXRpb25TdG9wcGVkKCk7KWZvcih1LmN1cnJlbnRUYXJnZXQ9aS5lbGVtLG49MDsobz1pLmhhbmRsZXJzW24rK10pJiYhdS5pc0ltbWVkaWF0ZVByb3BhZ2F0aW9uU3RvcHBlZCgpOyl1LnJuYW1lc3BhY2UmJiExIT09by5uYW1lc3BhY2UmJiF1LnJuYW1lc3BhY2UudGVzdChvLm5hbWVzcGFjZSl8fCh1LmhhbmRsZU9iaj1vLHUuZGF0YT1vLmRhdGEsdm9pZCAwIT09KHI9KChiLmV2ZW50LnNwZWNpYWxbby5vcmlnVHlwZV18fHt9KS5oYW5kbGV8fG8uaGFuZGxlcikuYXBwbHkoaS5lbGVtLHMpKSYmITE9PT0odS5yZXN1bHQ9cikmJih1LnByZXZlbnREZWZhdWx0KCksdS5zdG9wUHJvcGFnYXRpb24oKSkpO3JldHVybiBjLnBvc3REaXNwYXRjaCYmYy5wb3N0RGlzcGF0Y2guY2FsbCh0aGlzLHUpLHUucmVzdWx0fX0saGFuZGxlcnM6ZnVuY3Rpb24oZSx0KXt2YXIgbixyLGksbyxhLHM9W10sdT10LmRlbGVnYXRlQ291bnQsbD1lLnRhcmdldDtpZih1JiZsLm5vZGVUeXBlJiYhKFwiY2xpY2tcIj09PWUudHlwZSYmZS5idXR0b24+PTEpKWZvcig7bCE9PXRoaXM7bD1sLnBhcmVudE5vZGV8fHRoaXMpaWYoMT09PWwubm9kZVR5cGUmJihcImNsaWNrXCIhPT1lLnR5cGV8fCEwIT09bC5kaXNhYmxlZCkpe2ZvcihvPVtdLGE9e30sbj0wO248dTtuKyspdm9pZCAwPT09YVtpPShyPXRbbl0pLnNlbGVjdG9yK1wiIFwiXSYmKGFbaV09ci5uZWVkc0NvbnRleHQ/YihpLHRoaXMpLmluZGV4KGwpPi0xOmIuZmluZChpLHRoaXMsbnVsbCxbbF0pLmxlbmd0aCksYVtpXSYmby5wdXNoKHIpO28ubGVuZ3RoJiZzLnB1c2goe2VsZW06bCxoYW5kbGVyczpvfSl9cmV0dXJuIGw9dGhpcyx1PHQubGVuZ3RoJiZzLnB1c2goe2VsZW06bCxoYW5kbGVyczp0LnNsaWNlKHUpfSksc30sYWRkUHJvcDpmdW5jdGlvbihlLHQpe09iamVjdC5kZWZpbmVQcm9wZXJ0eShiLkV2ZW50LnByb3RvdHlwZSxlLHtlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMCxnZXQ6aCh0KT9mdW5jdGlvbigpe2lmKHRoaXMub3JpZ2luYWxFdmVudClyZXR1cm4gdCh0aGlzLm9yaWdpbmFsRXZlbnQpfTpmdW5jdGlvbigpe2lmKHRoaXMub3JpZ2luYWxFdmVudClyZXR1cm4gdGhpcy5vcmlnaW5hbEV2ZW50W2VdfSxzZXQ6ZnVuY3Rpb24odCl7T2JqZWN0LmRlZmluZVByb3BlcnR5KHRoaXMsZSx7ZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6dH0pfX0pfSxmaXg6ZnVuY3Rpb24oZSl7cmV0dXJuIGVbYi5leHBhbmRvXT9lOm5ldyBiLkV2ZW50KGUpfSxzcGVjaWFsOntsb2FkOntub0J1YmJsZTohMH0sY2xpY2s6e3NldHVwOmZ1bmN0aW9uKGUpe3ZhciB0PXRoaXN8fGU7cmV0dXJuIHBlLnRlc3QodC50eXBlKSYmdC5jbGljayYmayh0LFwiaW5wdXRcIikmJlNlKHQsXCJjbGlja1wiLHdlKSwhMX0sdHJpZ2dlcjpmdW5jdGlvbihlKXt2YXIgdD10aGlzfHxlO3JldHVybiBwZS50ZXN0KHQudHlwZSkmJnQuY2xpY2smJmsodCxcImlucHV0XCIpJiZTZSh0LFwiY2xpY2tcIiksITB9LF9kZWZhdWx0OmZ1bmN0aW9uKGUpe3ZhciB0PWUudGFyZ2V0O3JldHVybiBwZS50ZXN0KHQudHlwZSkmJnQuY2xpY2smJmsodCxcImlucHV0XCIpJiZHLmdldCh0LFwiY2xpY2tcIil8fGsodCxcImFcIil9fSxiZWZvcmV1bmxvYWQ6e3Bvc3REaXNwYXRjaDpmdW5jdGlvbihlKXt2b2lkIDAhPT1lLnJlc3VsdCYmZS5vcmlnaW5hbEV2ZW50JiYoZS5vcmlnaW5hbEV2ZW50LnJldHVyblZhbHVlPWUucmVzdWx0KX19fX0sYi5yZW1vdmVFdmVudD1mdW5jdGlvbihlLHQsbil7ZS5yZW1vdmVFdmVudExpc3RlbmVyJiZlLnJlbW92ZUV2ZW50TGlzdGVuZXIodCxuKX0sYi5FdmVudD1mdW5jdGlvbihlLHQpe2lmKCEodGhpcyBpbnN0YW5jZW9mIGIuRXZlbnQpKXJldHVybiBuZXcgYi5FdmVudChlLHQpO2UmJmUudHlwZT8odGhpcy5vcmlnaW5hbEV2ZW50PWUsdGhpcy50eXBlPWUudHlwZSx0aGlzLmlzRGVmYXVsdFByZXZlbnRlZD1lLmRlZmF1bHRQcmV2ZW50ZWR8fHZvaWQgMD09PWUuZGVmYXVsdFByZXZlbnRlZCYmITE9PT1lLnJldHVyblZhbHVlP3dlOlRlLHRoaXMudGFyZ2V0PWUudGFyZ2V0JiYzPT09ZS50YXJnZXQubm9kZVR5cGU/ZS50YXJnZXQucGFyZW50Tm9kZTplLnRhcmdldCx0aGlzLmN1cnJlbnRUYXJnZXQ9ZS5jdXJyZW50VGFyZ2V0LHRoaXMucmVsYXRlZFRhcmdldD1lLnJlbGF0ZWRUYXJnZXQpOnRoaXMudHlwZT1lLHQmJmIuZXh0ZW5kKHRoaXMsdCksdGhpcy50aW1lU3RhbXA9ZSYmZS50aW1lU3RhbXB8fERhdGUubm93KCksdGhpc1tiLmV4cGFuZG9dPSEwfSxiLkV2ZW50LnByb3RvdHlwZT17Y29uc3RydWN0b3I6Yi5FdmVudCxpc0RlZmF1bHRQcmV2ZW50ZWQ6VGUsaXNQcm9wYWdhdGlvblN0b3BwZWQ6VGUsaXNJbW1lZGlhdGVQcm9wYWdhdGlvblN0b3BwZWQ6VGUsaXNTaW11bGF0ZWQ6ITEscHJldmVudERlZmF1bHQ6ZnVuY3Rpb24oKXt2YXIgZT10aGlzLm9yaWdpbmFsRXZlbnQ7dGhpcy5pc0RlZmF1bHRQcmV2ZW50ZWQ9d2UsZSYmIXRoaXMuaXNTaW11bGF0ZWQmJmUucHJldmVudERlZmF1bHQoKX0sc3RvcFByb3BhZ2F0aW9uOmZ1bmN0aW9uKCl7dmFyIGU9dGhpcy5vcmlnaW5hbEV2ZW50O3RoaXMuaXNQcm9wYWdhdGlvblN0b3BwZWQ9d2UsZSYmIXRoaXMuaXNTaW11bGF0ZWQmJmUuc3RvcFByb3BhZ2F0aW9uKCl9LHN0b3BJbW1lZGlhdGVQcm9wYWdhdGlvbjpmdW5jdGlvbigpe3ZhciBlPXRoaXMub3JpZ2luYWxFdmVudDt0aGlzLmlzSW1tZWRpYXRlUHJvcGFnYXRpb25TdG9wcGVkPXdlLGUmJiF0aGlzLmlzU2ltdWxhdGVkJiZlLnN0b3BJbW1lZGlhdGVQcm9wYWdhdGlvbigpLHRoaXMuc3RvcFByb3BhZ2F0aW9uKCl9fSxiLmVhY2goe2FsdEtleTohMCxidWJibGVzOiEwLGNhbmNlbGFibGU6ITAsY2hhbmdlZFRvdWNoZXM6ITAsY3RybEtleTohMCxkZXRhaWw6ITAsZXZlbnRQaGFzZTohMCxtZXRhS2V5OiEwLHBhZ2VYOiEwLHBhZ2VZOiEwLHNoaWZ0S2V5OiEwLHZpZXc6ITAsY2hhcjohMCxjb2RlOiEwLGNoYXJDb2RlOiEwLGtleTohMCxrZXlDb2RlOiEwLGJ1dHRvbjohMCxidXR0b25zOiEwLGNsaWVudFg6ITAsY2xpZW50WTohMCxvZmZzZXRYOiEwLG9mZnNldFk6ITAscG9pbnRlcklkOiEwLHBvaW50ZXJUeXBlOiEwLHNjcmVlblg6ITAsc2NyZWVuWTohMCx0YXJnZXRUb3VjaGVzOiEwLHRvRWxlbWVudDohMCx0b3VjaGVzOiEwLHdoaWNoOiEwfSxiLmV2ZW50LmFkZFByb3ApLGIuZWFjaCh7Zm9jdXM6XCJmb2N1c2luXCIsYmx1cjpcImZvY3Vzb3V0XCJ9LGZ1bmN0aW9uKGUsdCl7Yi5ldmVudC5zcGVjaWFsW2VdPXtzZXR1cDpmdW5jdGlvbigpe3JldHVybiBTZSh0aGlzLGUsQ2UpLCExfSx0cmlnZ2VyOmZ1bmN0aW9uKCl7cmV0dXJuIFNlKHRoaXMsZSksITB9LF9kZWZhdWx0OmZ1bmN0aW9uKCl7cmV0dXJuITB9LGRlbGVnYXRlVHlwZTp0fX0pLGIuZWFjaCh7bW91c2VlbnRlcjpcIm1vdXNlb3ZlclwiLG1vdXNlbGVhdmU6XCJtb3VzZW91dFwiLHBvaW50ZXJlbnRlcjpcInBvaW50ZXJvdmVyXCIscG9pbnRlcmxlYXZlOlwicG9pbnRlcm91dFwifSxmdW5jdGlvbihlLHQpe2IuZXZlbnQuc3BlY2lhbFtlXT17ZGVsZWdhdGVUeXBlOnQsYmluZFR5cGU6dCxoYW5kbGU6ZnVuY3Rpb24oZSl7dmFyIG4scj1lLnJlbGF0ZWRUYXJnZXQsaT1lLmhhbmRsZU9iajtyZXR1cm4gciYmKHI9PT10aGlzfHxiLmNvbnRhaW5zKHRoaXMscikpfHwoZS50eXBlPWkub3JpZ1R5cGUsbj1pLmhhbmRsZXIuYXBwbHkodGhpcyxhcmd1bWVudHMpLGUudHlwZT10KSxufX19KSxiLmZuLmV4dGVuZCh7b246ZnVuY3Rpb24oZSx0LG4scil7cmV0dXJuIEVlKHRoaXMsZSx0LG4scil9LG9uZTpmdW5jdGlvbihlLHQsbixyKXtyZXR1cm4gRWUodGhpcyxlLHQsbixyLDEpfSxvZmY6ZnVuY3Rpb24oZSx0LG4pe3ZhciByLGk7aWYoZSYmZS5wcmV2ZW50RGVmYXVsdCYmZS5oYW5kbGVPYmopcmV0dXJuIHI9ZS5oYW5kbGVPYmosYihlLmRlbGVnYXRlVGFyZ2V0KS5vZmYoci5uYW1lc3BhY2U/ci5vcmlnVHlwZStcIi5cIityLm5hbWVzcGFjZTpyLm9yaWdUeXBlLHIuc2VsZWN0b3Isci5oYW5kbGVyKSx0aGlzO2lmKFwib2JqZWN0XCI9PXR5cGVvZiBlKXtmb3IoaSBpbiBlKXRoaXMub2ZmKGksdCxlW2ldKTtyZXR1cm4gdGhpc31yZXR1cm4hMSE9PXQmJlwiZnVuY3Rpb25cIiE9dHlwZW9mIHR8fChuPXQsdD12b2lkIDApLCExPT09biYmKG49VGUpLHRoaXMuZWFjaChmdW5jdGlvbigpe2IuZXZlbnQucmVtb3ZlKHRoaXMsZSxuLHQpfSl9fSk7dmFyIGtlPS88c2NyaXB0fDxzdHlsZXw8bGluay9pLEFlPS9jaGVja2VkXFxzKig/OltePV18PVxccyouY2hlY2tlZC4pL2ksTmU9L15cXHMqPCEoPzpcXFtDREFUQVxcW3wtLSl8KD86XFxdXFxdfC0tKT5cXHMqJC9nO2Z1bmN0aW9uIGplKGUsdCl7cmV0dXJuIGsoZSxcInRhYmxlXCIpJiZrKDExIT09dC5ub2RlVHlwZT90OnQuZmlyc3RDaGlsZCxcInRyXCIpJiZiKGUpLmNoaWxkcmVuKFwidGJvZHlcIilbMF18fGV9ZnVuY3Rpb24gRGUoZSl7cmV0dXJuIGUudHlwZT0obnVsbCE9PWUuZ2V0QXR0cmlidXRlKFwidHlwZVwiKSkrXCIvXCIrZS50eXBlLGV9ZnVuY3Rpb24gcWUoZSl7cmV0dXJuXCJ0cnVlL1wiPT09KGUudHlwZXx8XCJcIikuc2xpY2UoMCw1KT9lLnR5cGU9ZS50eXBlLnNsaWNlKDUpOmUucmVtb3ZlQXR0cmlidXRlKFwidHlwZVwiKSxlfWZ1bmN0aW9uIExlKGUsdCl7dmFyIG4scixpLG8sYSxzO2lmKDE9PT10Lm5vZGVUeXBlKXtpZihHLmhhc0RhdGEoZSkmJihzPUcuZ2V0KGUpLmV2ZW50cykpZm9yKGkgaW4gRy5yZW1vdmUodCxcImhhbmRsZSBldmVudHNcIikscylmb3Iobj0wLHI9c1tpXS5sZW5ndGg7bjxyO24rKyliLmV2ZW50LmFkZCh0LGksc1tpXVtuXSk7WS5oYXNEYXRhKGUpJiYobz1ZLmFjY2VzcyhlKSxhPWIuZXh0ZW5kKHt9LG8pLFkuc2V0KHQsYSkpfX1mdW5jdGlvbiBIZShlLHQsbixyKXt0PW8odCk7dmFyIGksYSxzLHUsbCxjLGY9MCxwPWUubGVuZ3RoLGc9cC0xLHY9dFswXSx5PWgodik7aWYoeXx8cD4xJiZcInN0cmluZ1wiPT10eXBlb2YgdiYmIWQuY2hlY2tDbG9uZSYmQWUudGVzdCh2KSlyZXR1cm4gZS5lYWNoKGZ1bmN0aW9uKGkpe3ZhciBvPWUuZXEoaSk7eSYmKHRbMF09di5jYWxsKHRoaXMsaSxvLmh0bWwoKSkpLEhlKG8sdCxuLHIpfSk7aWYocCYmKGE9KGk9eGUodCxlWzBdLm93bmVyRG9jdW1lbnQsITEsZSxyKSkuZmlyc3RDaGlsZCwxPT09aS5jaGlsZE5vZGVzLmxlbmd0aCYmKGk9YSksYXx8cikpe2Zvcih1PShzPWIubWFwKHZlKGksXCJzY3JpcHRcIiksRGUpKS5sZW5ndGg7ZjxwO2YrKylsPWksZiE9PWcmJihsPWIuY2xvbmUobCwhMCwhMCksdSYmYi5tZXJnZShzLHZlKGwsXCJzY3JpcHRcIikpKSxuLmNhbGwoZVtmXSxsLGYpO2lmKHUpZm9yKGM9c1tzLmxlbmd0aC0xXS5vd25lckRvY3VtZW50LGIubWFwKHMscWUpLGY9MDtmPHU7ZisrKWw9c1tmXSxoZS50ZXN0KGwudHlwZXx8XCJcIikmJiFHLmFjY2VzcyhsLFwiZ2xvYmFsRXZhbFwiKSYmYi5jb250YWlucyhjLGwpJiYobC5zcmMmJlwibW9kdWxlXCIhPT0obC50eXBlfHxcIlwiKS50b0xvd2VyQ2FzZSgpP2IuX2V2YWxVcmwmJiFsLm5vTW9kdWxlJiZiLl9ldmFsVXJsKGwuc3JjLHtub25jZTpsLm5vbmNlfHxsLmdldEF0dHJpYnV0ZShcIm5vbmNlXCIpfSxjKTptKGwudGV4dENvbnRlbnQucmVwbGFjZShOZSxcIlwiKSxsLGMpKX1yZXR1cm4gZX1mdW5jdGlvbiBPZShlLHQsbil7Zm9yKHZhciByLGk9dD9iLmZpbHRlcih0LGUpOmUsbz0wO251bGwhPShyPWlbb10pO28rKylufHwxIT09ci5ub2RlVHlwZXx8Yi5jbGVhbkRhdGEodmUocikpLHIucGFyZW50Tm9kZSYmKG4mJnJlKHIpJiZ5ZSh2ZShyLFwic2NyaXB0XCIpKSxyLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQocikpO3JldHVybiBlfWIuZXh0ZW5kKHtodG1sUHJlZmlsdGVyOmZ1bmN0aW9uKGUpe3JldHVybiBlfSxjbG9uZTpmdW5jdGlvbihlLHQsbil7dmFyIHIsaSxvLGEscyx1LGwsYz1lLmNsb25lTm9kZSghMCksZj1yZShlKTtpZighKGQubm9DbG9uZUNoZWNrZWR8fDEhPT1lLm5vZGVUeXBlJiYxMSE9PWUubm9kZVR5cGV8fGIuaXNYTUxEb2MoZSkpKWZvcihhPXZlKGMpLHI9MCxpPShvPXZlKGUpKS5sZW5ndGg7cjxpO3IrKylzPW9bcl0sdT1hW3JdLGw9dm9pZCAwLFwiaW5wdXRcIj09PShsPXUubm9kZU5hbWUudG9Mb3dlckNhc2UoKSkmJnBlLnRlc3Qocy50eXBlKT91LmNoZWNrZWQ9cy5jaGVja2VkOlwiaW5wdXRcIiE9PWwmJlwidGV4dGFyZWFcIiE9PWx8fCh1LmRlZmF1bHRWYWx1ZT1zLmRlZmF1bHRWYWx1ZSk7aWYodClpZihuKWZvcihvPW98fHZlKGUpLGE9YXx8dmUoYykscj0wLGk9by5sZW5ndGg7cjxpO3IrKylMZShvW3JdLGFbcl0pO2Vsc2UgTGUoZSxjKTtyZXR1cm4oYT12ZShjLFwic2NyaXB0XCIpKS5sZW5ndGg+MCYmeWUoYSwhZiYmdmUoZSxcInNjcmlwdFwiKSksY30sY2xlYW5EYXRhOmZ1bmN0aW9uKGUpe2Zvcih2YXIgdCxuLHIsaT1iLmV2ZW50LnNwZWNpYWwsbz0wO3ZvaWQgMCE9PShuPWVbb10pO28rKylpZihYKG4pKXtpZih0PW5bRy5leHBhbmRvXSl7aWYodC5ldmVudHMpZm9yKHIgaW4gdC5ldmVudHMpaVtyXT9iLmV2ZW50LnJlbW92ZShuLHIpOmIucmVtb3ZlRXZlbnQobixyLHQuaGFuZGxlKTtuW0cuZXhwYW5kb109dm9pZCAwfW5bWS5leHBhbmRvXSYmKG5bWS5leHBhbmRvXT12b2lkIDApfX19KSxiLmZuLmV4dGVuZCh7ZGV0YWNoOmZ1bmN0aW9uKGUpe3JldHVybiBPZSh0aGlzLGUsITApfSxyZW1vdmU6ZnVuY3Rpb24oZSl7cmV0dXJuIE9lKHRoaXMsZSl9LHRleHQ6ZnVuY3Rpb24oZSl7cmV0dXJuIEIodGhpcyxmdW5jdGlvbihlKXtyZXR1cm4gdm9pZCAwPT09ZT9iLnRleHQodGhpcyk6dGhpcy5lbXB0eSgpLmVhY2goZnVuY3Rpb24oKXsxIT09dGhpcy5ub2RlVHlwZSYmMTEhPT10aGlzLm5vZGVUeXBlJiY5IT09dGhpcy5ub2RlVHlwZXx8KHRoaXMudGV4dENvbnRlbnQ9ZSl9KX0sbnVsbCxlLGFyZ3VtZW50cy5sZW5ndGgpfSxhcHBlbmQ6ZnVuY3Rpb24oKXtyZXR1cm4gSGUodGhpcyxhcmd1bWVudHMsZnVuY3Rpb24oZSl7MSE9PXRoaXMubm9kZVR5cGUmJjExIT09dGhpcy5ub2RlVHlwZSYmOSE9PXRoaXMubm9kZVR5cGV8fGplKHRoaXMsZSkuYXBwZW5kQ2hpbGQoZSl9KX0scHJlcGVuZDpmdW5jdGlvbigpe3JldHVybiBIZSh0aGlzLGFyZ3VtZW50cyxmdW5jdGlvbihlKXtpZigxPT09dGhpcy5ub2RlVHlwZXx8MTE9PT10aGlzLm5vZGVUeXBlfHw5PT09dGhpcy5ub2RlVHlwZSl7dmFyIHQ9amUodGhpcyxlKTt0Lmluc2VydEJlZm9yZShlLHQuZmlyc3RDaGlsZCl9fSl9LGJlZm9yZTpmdW5jdGlvbigpe3JldHVybiBIZSh0aGlzLGFyZ3VtZW50cyxmdW5jdGlvbihlKXt0aGlzLnBhcmVudE5vZGUmJnRoaXMucGFyZW50Tm9kZS5pbnNlcnRCZWZvcmUoZSx0aGlzKX0pfSxhZnRlcjpmdW5jdGlvbigpe3JldHVybiBIZSh0aGlzLGFyZ3VtZW50cyxmdW5jdGlvbihlKXt0aGlzLnBhcmVudE5vZGUmJnRoaXMucGFyZW50Tm9kZS5pbnNlcnRCZWZvcmUoZSx0aGlzLm5leHRTaWJsaW5nKX0pfSxlbXB0eTpmdW5jdGlvbigpe2Zvcih2YXIgZSx0PTA7bnVsbCE9KGU9dGhpc1t0XSk7dCsrKTE9PT1lLm5vZGVUeXBlJiYoYi5jbGVhbkRhdGEodmUoZSwhMSkpLGUudGV4dENvbnRlbnQ9XCJcIik7cmV0dXJuIHRoaXN9LGNsb25lOmZ1bmN0aW9uKGUsdCl7cmV0dXJuIGU9bnVsbCE9ZSYmZSx0PW51bGw9PXQ/ZTp0LHRoaXMubWFwKGZ1bmN0aW9uKCl7cmV0dXJuIGIuY2xvbmUodGhpcyxlLHQpfSl9LGh0bWw6ZnVuY3Rpb24oZSl7cmV0dXJuIEIodGhpcyxmdW5jdGlvbihlKXt2YXIgdD10aGlzWzBdfHx7fSxuPTAscj10aGlzLmxlbmd0aDtpZih2b2lkIDA9PT1lJiYxPT09dC5ub2RlVHlwZSlyZXR1cm4gdC5pbm5lckhUTUw7aWYoXCJzdHJpbmdcIj09dHlwZW9mIGUmJiFrZS50ZXN0KGUpJiYhZ2VbKGRlLmV4ZWMoZSl8fFtcIlwiLFwiXCJdKVsxXS50b0xvd2VyQ2FzZSgpXSl7ZT1iLmh0bWxQcmVmaWx0ZXIoZSk7dHJ5e2Zvcig7bjxyO24rKykxPT09KHQ9dGhpc1tuXXx8e30pLm5vZGVUeXBlJiYoYi5jbGVhbkRhdGEodmUodCwhMSkpLHQuaW5uZXJIVE1MPWUpO3Q9MH1jYXRjaChlKXt9fXQmJnRoaXMuZW1wdHkoKS5hcHBlbmQoZSl9LG51bGwsZSxhcmd1bWVudHMubGVuZ3RoKX0scmVwbGFjZVdpdGg6ZnVuY3Rpb24oKXt2YXIgZT1bXTtyZXR1cm4gSGUodGhpcyxhcmd1bWVudHMsZnVuY3Rpb24odCl7dmFyIG49dGhpcy5wYXJlbnROb2RlO2IuaW5BcnJheSh0aGlzLGUpPDAmJihiLmNsZWFuRGF0YSh2ZSh0aGlzKSksbiYmbi5yZXBsYWNlQ2hpbGQodCx0aGlzKSl9LGUpfX0pLGIuZWFjaCh7YXBwZW5kVG86XCJhcHBlbmRcIixwcmVwZW5kVG86XCJwcmVwZW5kXCIsaW5zZXJ0QmVmb3JlOlwiYmVmb3JlXCIsaW5zZXJ0QWZ0ZXI6XCJhZnRlclwiLHJlcGxhY2VBbGw6XCJyZXBsYWNlV2l0aFwifSxmdW5jdGlvbihlLHQpe2IuZm5bZV09ZnVuY3Rpb24oZSl7Zm9yKHZhciBuLHI9W10saT1iKGUpLG89aS5sZW5ndGgtMSxzPTA7czw9bztzKyspbj1zPT09bz90aGlzOnRoaXMuY2xvbmUoITApLGIoaVtzXSlbdF0obiksYS5hcHBseShyLG4uZ2V0KCkpO3JldHVybiB0aGlzLnB1c2hTdGFjayhyKX19KTt2YXIgUGU9bmV3IFJlZ0V4cChcIl4oXCIrWitcIikoPyFweClbYS16JV0rJFwiLFwiaVwiKSxSZT1mdW5jdGlvbih0KXt2YXIgbj10Lm93bmVyRG9jdW1lbnQuZGVmYXVsdFZpZXc7cmV0dXJuIG4mJm4ub3BlbmVyfHwobj1lKSxuLmdldENvbXB1dGVkU3R5bGUodCl9LE1lPWZ1bmN0aW9uKGUsdCxuKXt2YXIgcixpLG89e307Zm9yKGkgaW4gdClvW2ldPWUuc3R5bGVbaV0sZS5zdHlsZVtpXT10W2ldO2ZvcihpIGluIHI9bi5jYWxsKGUpLHQpZS5zdHlsZVtpXT1vW2ldO3JldHVybiByfSxJZT1uZXcgUmVnRXhwKHRlLmpvaW4oXCJ8XCIpLFwiaVwiKTtmdW5jdGlvbiBXZShlLHQsbil7dmFyIHIsaSxvLGEscz1lLnN0eWxlO3JldHVybihuPW58fFJlKGUpKSYmKFwiXCIhPT0oYT1uLmdldFByb3BlcnR5VmFsdWUodCl8fG5bdF0pfHxyZShlKXx8KGE9Yi5zdHlsZShlLHQpKSwhZC5waXhlbEJveFN0eWxlcygpJiZQZS50ZXN0KGEpJiZJZS50ZXN0KHQpJiYocj1zLndpZHRoLGk9cy5taW5XaWR0aCxvPXMubWF4V2lkdGgscy5taW5XaWR0aD1zLm1heFdpZHRoPXMud2lkdGg9YSxhPW4ud2lkdGgscy53aWR0aD1yLHMubWluV2lkdGg9aSxzLm1heFdpZHRoPW8pKSx2b2lkIDAhPT1hP2ErXCJcIjphfWZ1bmN0aW9uIEZlKGUsdCl7cmV0dXJue2dldDpmdW5jdGlvbigpe2lmKCFlKCkpcmV0dXJuKHRoaXMuZ2V0PXQpLmFwcGx5KHRoaXMsYXJndW1lbnRzKTtkZWxldGUgdGhpcy5nZXR9fX0hZnVuY3Rpb24oKXtmdW5jdGlvbiB0KCl7aWYoYyl7bC5zdHlsZS5jc3NUZXh0PVwicG9zaXRpb246YWJzb2x1dGU7bGVmdDotMTExMTFweDt3aWR0aDo2MHB4O21hcmdpbi10b3A6MXB4O3BhZGRpbmc6MDtib3JkZXI6MFwiLGMuc3R5bGUuY3NzVGV4dD1cInBvc2l0aW9uOnJlbGF0aXZlO2Rpc3BsYXk6YmxvY2s7Ym94LXNpemluZzpib3JkZXItYm94O292ZXJmbG93OnNjcm9sbDttYXJnaW46YXV0bztib3JkZXI6MXB4O3BhZGRpbmc6MXB4O3dpZHRoOjYwJTt0b3A6MSVcIixuZS5hcHBlbmRDaGlsZChsKS5hcHBlbmRDaGlsZChjKTt2YXIgdD1lLmdldENvbXB1dGVkU3R5bGUoYyk7cj1cIjElXCIhPT10LnRvcCx1PTEyPT09bih0Lm1hcmdpbkxlZnQpLGMuc3R5bGUucmlnaHQ9XCI2MCVcIixhPTM2PT09bih0LnJpZ2h0KSxpPTM2PT09bih0LndpZHRoKSxjLnN0eWxlLnBvc2l0aW9uPVwiYWJzb2x1dGVcIixvPTEyPT09bihjLm9mZnNldFdpZHRoLzMpLG5lLnJlbW92ZUNoaWxkKGwpLGM9bnVsbH19ZnVuY3Rpb24gbihlKXtyZXR1cm4gTWF0aC5yb3VuZChwYXJzZUZsb2F0KGUpKX12YXIgcixpLG8sYSxzLHUsbD12LmNyZWF0ZUVsZW1lbnQoXCJkaXZcIiksYz12LmNyZWF0ZUVsZW1lbnQoXCJkaXZcIik7Yy5zdHlsZSYmKGMuc3R5bGUuYmFja2dyb3VuZENsaXA9XCJjb250ZW50LWJveFwiLGMuY2xvbmVOb2RlKCEwKS5zdHlsZS5iYWNrZ3JvdW5kQ2xpcD1cIlwiLGQuY2xlYXJDbG9uZVN0eWxlPVwiY29udGVudC1ib3hcIj09PWMuc3R5bGUuYmFja2dyb3VuZENsaXAsYi5leHRlbmQoZCx7Ym94U2l6aW5nUmVsaWFibGU6ZnVuY3Rpb24oKXtyZXR1cm4gdCgpLGl9LHBpeGVsQm94U3R5bGVzOmZ1bmN0aW9uKCl7cmV0dXJuIHQoKSxhfSxwaXhlbFBvc2l0aW9uOmZ1bmN0aW9uKCl7cmV0dXJuIHQoKSxyfSxyZWxpYWJsZU1hcmdpbkxlZnQ6ZnVuY3Rpb24oKXtyZXR1cm4gdCgpLHV9LHNjcm9sbGJveFNpemU6ZnVuY3Rpb24oKXtyZXR1cm4gdCgpLG99LHJlbGlhYmxlVHJEaW1lbnNpb25zOmZ1bmN0aW9uKCl7dmFyIHQsbixyLGk7cmV0dXJuIG51bGw9PXMmJih0PXYuY3JlYXRlRWxlbWVudChcInRhYmxlXCIpLG49di5jcmVhdGVFbGVtZW50KFwidHJcIikscj12LmNyZWF0ZUVsZW1lbnQoXCJkaXZcIiksdC5zdHlsZS5jc3NUZXh0PVwicG9zaXRpb246YWJzb2x1dGU7bGVmdDotMTExMTFweDtib3JkZXItY29sbGFwc2U6c2VwYXJhdGVcIixuLnN0eWxlLmNzc1RleHQ9XCJib3JkZXI6MXB4IHNvbGlkXCIsbi5zdHlsZS5oZWlnaHQ9XCIxcHhcIixyLnN0eWxlLmhlaWdodD1cIjlweFwiLHIuc3R5bGUuZGlzcGxheT1cImJsb2NrXCIsbmUuYXBwZW5kQ2hpbGQodCkuYXBwZW5kQ2hpbGQobikuYXBwZW5kQ2hpbGQociksaT1lLmdldENvbXB1dGVkU3R5bGUobikscz1wYXJzZUludChpLmhlaWdodCwxMCkrcGFyc2VJbnQoaS5ib3JkZXJUb3BXaWR0aCwxMCkrcGFyc2VJbnQoaS5ib3JkZXJCb3R0b21XaWR0aCwxMCk9PT1uLm9mZnNldEhlaWdodCxuZS5yZW1vdmVDaGlsZCh0KSksc319KSl9KCk7dmFyIEJlPVtcIldlYmtpdFwiLFwiTW96XCIsXCJtc1wiXSwkZT12LmNyZWF0ZUVsZW1lbnQoXCJkaXZcIikuc3R5bGUsX2U9e307ZnVuY3Rpb24gemUoZSl7dmFyIHQ9Yi5jc3NQcm9wc1tlXXx8X2VbZV07cmV0dXJuIHR8fChlIGluICRlP2U6X2VbZV09ZnVuY3Rpb24oZSl7Zm9yKHZhciB0PWVbMF0udG9VcHBlckNhc2UoKStlLnNsaWNlKDEpLG49QmUubGVuZ3RoO24tLTspaWYoKGU9QmVbbl0rdClpbiAkZSlyZXR1cm4gZX0oZSl8fGUpfXZhciBVZT0vXihub25lfHRhYmxlKD8hLWNbZWFdKS4rKS8sWGU9L14tLS8sVmU9e3Bvc2l0aW9uOlwiYWJzb2x1dGVcIix2aXNpYmlsaXR5OlwiaGlkZGVuXCIsZGlzcGxheTpcImJsb2NrXCJ9LEdlPXtsZXR0ZXJTcGFjaW5nOlwiMFwiLGZvbnRXZWlnaHQ6XCI0MDBcIn07ZnVuY3Rpb24gWWUoZSx0LG4pe3ZhciByPWVlLmV4ZWModCk7cmV0dXJuIHI/TWF0aC5tYXgoMCxyWzJdLShufHwwKSkrKHJbM118fFwicHhcIik6dH1mdW5jdGlvbiBRZShlLHQsbixyLGksbyl7dmFyIGE9XCJ3aWR0aFwiPT09dD8xOjAscz0wLHU9MDtpZihuPT09KHI/XCJib3JkZXJcIjpcImNvbnRlbnRcIikpcmV0dXJuIDA7Zm9yKDthPDQ7YSs9MilcIm1hcmdpblwiPT09biYmKHUrPWIuY3NzKGUsbit0ZVthXSwhMCxpKSkscj8oXCJjb250ZW50XCI9PT1uJiYodS09Yi5jc3MoZSxcInBhZGRpbmdcIit0ZVthXSwhMCxpKSksXCJtYXJnaW5cIiE9PW4mJih1LT1iLmNzcyhlLFwiYm9yZGVyXCIrdGVbYV0rXCJXaWR0aFwiLCEwLGkpKSk6KHUrPWIuY3NzKGUsXCJwYWRkaW5nXCIrdGVbYV0sITAsaSksXCJwYWRkaW5nXCIhPT1uP3UrPWIuY3NzKGUsXCJib3JkZXJcIit0ZVthXStcIldpZHRoXCIsITAsaSk6cys9Yi5jc3MoZSxcImJvcmRlclwiK3RlW2FdK1wiV2lkdGhcIiwhMCxpKSk7cmV0dXJuIXImJm8+PTAmJih1Kz1NYXRoLm1heCgwLE1hdGguY2VpbChlW1wib2Zmc2V0XCIrdFswXS50b1VwcGVyQ2FzZSgpK3Quc2xpY2UoMSldLW8tdS1zLS41KSl8fDApLHV9ZnVuY3Rpb24gSmUoZSx0LG4pe3ZhciByPVJlKGUpLGk9KCFkLmJveFNpemluZ1JlbGlhYmxlKCl8fG4pJiZcImJvcmRlci1ib3hcIj09PWIuY3NzKGUsXCJib3hTaXppbmdcIiwhMSxyKSxvPWksYT1XZShlLHQscikscz1cIm9mZnNldFwiK3RbMF0udG9VcHBlckNhc2UoKSt0LnNsaWNlKDEpO2lmKFBlLnRlc3QoYSkpe2lmKCFuKXJldHVybiBhO2E9XCJhdXRvXCJ9cmV0dXJuKCFkLmJveFNpemluZ1JlbGlhYmxlKCkmJml8fCFkLnJlbGlhYmxlVHJEaW1lbnNpb25zKCkmJmsoZSxcInRyXCIpfHxcImF1dG9cIj09PWF8fCFwYXJzZUZsb2F0KGEpJiZcImlubGluZVwiPT09Yi5jc3MoZSxcImRpc3BsYXlcIiwhMSxyKSkmJmUuZ2V0Q2xpZW50UmVjdHMoKS5sZW5ndGgmJihpPVwiYm9yZGVyLWJveFwiPT09Yi5jc3MoZSxcImJveFNpemluZ1wiLCExLHIpLChvPXMgaW4gZSkmJihhPWVbc10pKSwoYT1wYXJzZUZsb2F0KGEpfHwwKStRZShlLHQsbnx8KGk/XCJib3JkZXJcIjpcImNvbnRlbnRcIiksbyxyLGEpK1wicHhcIn1mdW5jdGlvbiBLZShlLHQsbixyLGkpe3JldHVybiBuZXcgS2UucHJvdG90eXBlLmluaXQoZSx0LG4scixpKX1iLmV4dGVuZCh7Y3NzSG9va3M6e29wYWNpdHk6e2dldDpmdW5jdGlvbihlLHQpe2lmKHQpe3ZhciBuPVdlKGUsXCJvcGFjaXR5XCIpO3JldHVyblwiXCI9PT1uP1wiMVwiOm59fX19LGNzc051bWJlcjp7YW5pbWF0aW9uSXRlcmF0aW9uQ291bnQ6ITAsY29sdW1uQ291bnQ6ITAsZmlsbE9wYWNpdHk6ITAsZmxleEdyb3c6ITAsZmxleFNocmluazohMCxmb250V2VpZ2h0OiEwLGdyaWRBcmVhOiEwLGdyaWRDb2x1bW46ITAsZ3JpZENvbHVtbkVuZDohMCxncmlkQ29sdW1uU3RhcnQ6ITAsZ3JpZFJvdzohMCxncmlkUm93RW5kOiEwLGdyaWRSb3dTdGFydDohMCxsaW5lSGVpZ2h0OiEwLG9wYWNpdHk6ITAsb3JkZXI6ITAsb3JwaGFuczohMCx3aWRvd3M6ITAsekluZGV4OiEwLHpvb206ITB9LGNzc1Byb3BzOnt9LHN0eWxlOmZ1bmN0aW9uKGUsdCxuLHIpe2lmKGUmJjMhPT1lLm5vZGVUeXBlJiY4IT09ZS5ub2RlVHlwZSYmZS5zdHlsZSl7dmFyIGksbyxhLHM9VSh0KSx1PVhlLnRlc3QodCksbD1lLnN0eWxlO2lmKHV8fCh0PXplKHMpKSxhPWIuY3NzSG9va3NbdF18fGIuY3NzSG9va3Nbc10sdm9pZCAwPT09bilyZXR1cm4gYSYmXCJnZXRcImluIGEmJnZvaWQgMCE9PShpPWEuZ2V0KGUsITEscikpP2k6bFt0XTtcInN0cmluZ1wiPT09KG89dHlwZW9mIG4pJiYoaT1lZS5leGVjKG4pKSYmaVsxXSYmKG49YWUoZSx0LGkpLG89XCJudW1iZXJcIiksbnVsbCE9biYmbj09biYmKFwibnVtYmVyXCIhPT1vfHx1fHwobis9aSYmaVszXXx8KGIuY3NzTnVtYmVyW3NdP1wiXCI6XCJweFwiKSksZC5jbGVhckNsb25lU3R5bGV8fFwiXCIhPT1ufHwwIT09dC5pbmRleE9mKFwiYmFja2dyb3VuZFwiKXx8KGxbdF09XCJpbmhlcml0XCIpLGEmJlwic2V0XCJpbiBhJiZ2b2lkIDA9PT0obj1hLnNldChlLG4scikpfHwodT9sLnNldFByb3BlcnR5KHQsbik6bFt0XT1uKSl9fSxjc3M6ZnVuY3Rpb24oZSx0LG4scil7dmFyIGksbyxhLHM9VSh0KTtyZXR1cm4gWGUudGVzdCh0KXx8KHQ9emUocykpLChhPWIuY3NzSG9va3NbdF18fGIuY3NzSG9va3Nbc10pJiZcImdldFwiaW4gYSYmKGk9YS5nZXQoZSwhMCxuKSksdm9pZCAwPT09aSYmKGk9V2UoZSx0LHIpKSxcIm5vcm1hbFwiPT09aSYmdCBpbiBHZSYmKGk9R2VbdF0pLFwiXCI9PT1ufHxuPyhvPXBhcnNlRmxvYXQoaSksITA9PT1ufHxpc0Zpbml0ZShvKT9vfHwwOmkpOml9fSksYi5lYWNoKFtcImhlaWdodFwiLFwid2lkdGhcIl0sZnVuY3Rpb24oZSx0KXtiLmNzc0hvb2tzW3RdPXtnZXQ6ZnVuY3Rpb24oZSxuLHIpe2lmKG4pcmV0dXJuIVVlLnRlc3QoYi5jc3MoZSxcImRpc3BsYXlcIikpfHxlLmdldENsaWVudFJlY3RzKCkubGVuZ3RoJiZlLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLndpZHRoP0plKGUsdCxyKTpNZShlLFZlLGZ1bmN0aW9uKCl7cmV0dXJuIEplKGUsdCxyKX0pfSxzZXQ6ZnVuY3Rpb24oZSxuLHIpe3ZhciBpLG89UmUoZSksYT0hZC5zY3JvbGxib3hTaXplKCkmJlwiYWJzb2x1dGVcIj09PW8ucG9zaXRpb24scz0oYXx8cikmJlwiYm9yZGVyLWJveFwiPT09Yi5jc3MoZSxcImJveFNpemluZ1wiLCExLG8pLHU9cj9RZShlLHQscixzLG8pOjA7cmV0dXJuIHMmJmEmJih1LT1NYXRoLmNlaWwoZVtcIm9mZnNldFwiK3RbMF0udG9VcHBlckNhc2UoKSt0LnNsaWNlKDEpXS1wYXJzZUZsb2F0KG9bdF0pLVFlKGUsdCxcImJvcmRlclwiLCExLG8pLS41KSksdSYmKGk9ZWUuZXhlYyhuKSkmJlwicHhcIiE9PShpWzNdfHxcInB4XCIpJiYoZS5zdHlsZVt0XT1uLG49Yi5jc3MoZSx0KSksWWUoMCxuLHUpfX19KSxiLmNzc0hvb2tzLm1hcmdpbkxlZnQ9RmUoZC5yZWxpYWJsZU1hcmdpbkxlZnQsZnVuY3Rpb24oZSx0KXtpZih0KXJldHVybihwYXJzZUZsb2F0KFdlKGUsXCJtYXJnaW5MZWZ0XCIpKXx8ZS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS5sZWZ0LU1lKGUse21hcmdpbkxlZnQ6MH0sZnVuY3Rpb24oKXtyZXR1cm4gZS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS5sZWZ0fSkpK1wicHhcIn0pLGIuZWFjaCh7bWFyZ2luOlwiXCIscGFkZGluZzpcIlwiLGJvcmRlcjpcIldpZHRoXCJ9LGZ1bmN0aW9uKGUsdCl7Yi5jc3NIb29rc1tlK3RdPXtleHBhbmQ6ZnVuY3Rpb24obil7Zm9yKHZhciByPTAsaT17fSxvPVwic3RyaW5nXCI9PXR5cGVvZiBuP24uc3BsaXQoXCIgXCIpOltuXTtyPDQ7cisrKWlbZSt0ZVtyXSt0XT1vW3JdfHxvW3ItMl18fG9bMF07cmV0dXJuIGl9fSxcIm1hcmdpblwiIT09ZSYmKGIuY3NzSG9va3NbZSt0XS5zZXQ9WWUpfSksYi5mbi5leHRlbmQoe2NzczpmdW5jdGlvbihlLHQpe3JldHVybiBCKHRoaXMsZnVuY3Rpb24oZSx0LG4pe3ZhciByLGksbz17fSxhPTA7aWYoQXJyYXkuaXNBcnJheSh0KSl7Zm9yKHI9UmUoZSksaT10Lmxlbmd0aDthPGk7YSsrKW9bdFthXV09Yi5jc3MoZSx0W2FdLCExLHIpO3JldHVybiBvfXJldHVybiB2b2lkIDAhPT1uP2Iuc3R5bGUoZSx0LG4pOmIuY3NzKGUsdCl9LGUsdCxhcmd1bWVudHMubGVuZ3RoPjEpfX0pLGIuVHdlZW49S2UsS2UucHJvdG90eXBlPXtjb25zdHJ1Y3RvcjpLZSxpbml0OmZ1bmN0aW9uKGUsdCxuLHIsaSxvKXt0aGlzLmVsZW09ZSx0aGlzLnByb3A9bix0aGlzLmVhc2luZz1pfHxiLmVhc2luZy5fZGVmYXVsdCx0aGlzLm9wdGlvbnM9dCx0aGlzLnN0YXJ0PXRoaXMubm93PXRoaXMuY3VyKCksdGhpcy5lbmQ9cix0aGlzLnVuaXQ9b3x8KGIuY3NzTnVtYmVyW25dP1wiXCI6XCJweFwiKX0sY3VyOmZ1bmN0aW9uKCl7dmFyIGU9S2UucHJvcEhvb2tzW3RoaXMucHJvcF07cmV0dXJuIGUmJmUuZ2V0P2UuZ2V0KHRoaXMpOktlLnByb3BIb29rcy5fZGVmYXVsdC5nZXQodGhpcyl9LHJ1bjpmdW5jdGlvbihlKXt2YXIgdCxuPUtlLnByb3BIb29rc1t0aGlzLnByb3BdO3JldHVybiB0aGlzLm9wdGlvbnMuZHVyYXRpb24/dGhpcy5wb3M9dD1iLmVhc2luZ1t0aGlzLmVhc2luZ10oZSx0aGlzLm9wdGlvbnMuZHVyYXRpb24qZSwwLDEsdGhpcy5vcHRpb25zLmR1cmF0aW9uKTp0aGlzLnBvcz10PWUsdGhpcy5ub3c9KHRoaXMuZW5kLXRoaXMuc3RhcnQpKnQrdGhpcy5zdGFydCx0aGlzLm9wdGlvbnMuc3RlcCYmdGhpcy5vcHRpb25zLnN0ZXAuY2FsbCh0aGlzLmVsZW0sdGhpcy5ub3csdGhpcyksbiYmbi5zZXQ/bi5zZXQodGhpcyk6S2UucHJvcEhvb2tzLl9kZWZhdWx0LnNldCh0aGlzKSx0aGlzfX0sS2UucHJvdG90eXBlLmluaXQucHJvdG90eXBlPUtlLnByb3RvdHlwZSxLZS5wcm9wSG9va3M9e19kZWZhdWx0OntnZXQ6ZnVuY3Rpb24oZSl7dmFyIHQ7cmV0dXJuIDEhPT1lLmVsZW0ubm9kZVR5cGV8fG51bGwhPWUuZWxlbVtlLnByb3BdJiZudWxsPT1lLmVsZW0uc3R5bGVbZS5wcm9wXT9lLmVsZW1bZS5wcm9wXToodD1iLmNzcyhlLmVsZW0sZS5wcm9wLFwiXCIpKSYmXCJhdXRvXCIhPT10P3Q6MH0sc2V0OmZ1bmN0aW9uKGUpe2IuZnguc3RlcFtlLnByb3BdP2IuZnguc3RlcFtlLnByb3BdKGUpOjEhPT1lLmVsZW0ubm9kZVR5cGV8fCFiLmNzc0hvb2tzW2UucHJvcF0mJm51bGw9PWUuZWxlbS5zdHlsZVt6ZShlLnByb3ApXT9lLmVsZW1bZS5wcm9wXT1lLm5vdzpiLnN0eWxlKGUuZWxlbSxlLnByb3AsZS5ub3crZS51bml0KX19fSxLZS5wcm9wSG9va3Muc2Nyb2xsVG9wPUtlLnByb3BIb29rcy5zY3JvbGxMZWZ0PXtzZXQ6ZnVuY3Rpb24oZSl7ZS5lbGVtLm5vZGVUeXBlJiZlLmVsZW0ucGFyZW50Tm9kZSYmKGUuZWxlbVtlLnByb3BdPWUubm93KX19LGIuZWFzaW5nPXtsaW5lYXI6ZnVuY3Rpb24oZSl7cmV0dXJuIGV9LHN3aW5nOmZ1bmN0aW9uKGUpe3JldHVybi41LU1hdGguY29zKGUqTWF0aC5QSSkvMn0sX2RlZmF1bHQ6XCJzd2luZ1wifSxiLmZ4PUtlLnByb3RvdHlwZS5pbml0LGIuZnguc3RlcD17fTt2YXIgWmUsZXQsdHQ9L14oPzp0b2dnbGV8c2hvd3xoaWRlKSQvLG50PS9xdWV1ZUhvb2tzJC87ZnVuY3Rpb24gcnQoKXtldCYmKCExPT09di5oaWRkZW4mJmUucmVxdWVzdEFuaW1hdGlvbkZyYW1lP2UucmVxdWVzdEFuaW1hdGlvbkZyYW1lKHJ0KTplLnNldFRpbWVvdXQocnQsYi5meC5pbnRlcnZhbCksYi5meC50aWNrKCkpfWZ1bmN0aW9uIGl0KCl7cmV0dXJuIGUuc2V0VGltZW91dChmdW5jdGlvbigpe1plPXZvaWQgMH0pLFplPURhdGUubm93KCl9ZnVuY3Rpb24gb3QoZSx0KXt2YXIgbixyPTAsaT17aGVpZ2h0OmV9O2Zvcih0PXQ/MTowO3I8NDtyKz0yLXQpaVtcIm1hcmdpblwiKyhuPXRlW3JdKV09aVtcInBhZGRpbmdcIituXT1lO3JldHVybiB0JiYoaS5vcGFjaXR5PWkud2lkdGg9ZSksaX1mdW5jdGlvbiBhdChlLHQsbil7Zm9yKHZhciByLGk9KHN0LnR3ZWVuZXJzW3RdfHxbXSkuY29uY2F0KHN0LnR3ZWVuZXJzW1wiKlwiXSksbz0wLGE9aS5sZW5ndGg7bzxhO28rKylpZihyPWlbb10uY2FsbChuLHQsZSkpcmV0dXJuIHJ9ZnVuY3Rpb24gc3QoZSx0LG4pe3ZhciByLGksbz0wLGE9c3QucHJlZmlsdGVycy5sZW5ndGgscz1iLkRlZmVycmVkKCkuYWx3YXlzKGZ1bmN0aW9uKCl7ZGVsZXRlIHUuZWxlbX0pLHU9ZnVuY3Rpb24oKXtpZihpKXJldHVybiExO2Zvcih2YXIgdD1aZXx8aXQoKSxuPU1hdGgubWF4KDAsbC5zdGFydFRpbWUrbC5kdXJhdGlvbi10KSxyPTEtKG4vbC5kdXJhdGlvbnx8MCksbz0wLGE9bC50d2VlbnMubGVuZ3RoO288YTtvKyspbC50d2VlbnNbb10ucnVuKHIpO3JldHVybiBzLm5vdGlmeVdpdGgoZSxbbCxyLG5dKSxyPDEmJmE/bjooYXx8cy5ub3RpZnlXaXRoKGUsW2wsMSwwXSkscy5yZXNvbHZlV2l0aChlLFtsXSksITEpfSxsPXMucHJvbWlzZSh7ZWxlbTplLHByb3BzOmIuZXh0ZW5kKHt9LHQpLG9wdHM6Yi5leHRlbmQoITAse3NwZWNpYWxFYXNpbmc6e30sZWFzaW5nOmIuZWFzaW5nLl9kZWZhdWx0fSxuKSxvcmlnaW5hbFByb3BlcnRpZXM6dCxvcmlnaW5hbE9wdGlvbnM6bixzdGFydFRpbWU6WmV8fGl0KCksZHVyYXRpb246bi5kdXJhdGlvbix0d2VlbnM6W10sY3JlYXRlVHdlZW46ZnVuY3Rpb24odCxuKXt2YXIgcj1iLlR3ZWVuKGUsbC5vcHRzLHQsbixsLm9wdHMuc3BlY2lhbEVhc2luZ1t0XXx8bC5vcHRzLmVhc2luZyk7cmV0dXJuIGwudHdlZW5zLnB1c2gocikscn0sc3RvcDpmdW5jdGlvbih0KXt2YXIgbj0wLHI9dD9sLnR3ZWVucy5sZW5ndGg6MDtpZihpKXJldHVybiB0aGlzO2ZvcihpPSEwO248cjtuKyspbC50d2VlbnNbbl0ucnVuKDEpO3JldHVybiB0PyhzLm5vdGlmeVdpdGgoZSxbbCwxLDBdKSxzLnJlc29sdmVXaXRoKGUsW2wsdF0pKTpzLnJlamVjdFdpdGgoZSxbbCx0XSksdGhpc319KSxjPWwucHJvcHM7Zm9yKCFmdW5jdGlvbihlLHQpe3ZhciBuLHIsaSxvLGE7Zm9yKG4gaW4gZSlpZihpPXRbcj1VKG4pXSxvPWVbbl0sQXJyYXkuaXNBcnJheShvKSYmKGk9b1sxXSxvPWVbbl09b1swXSksbiE9PXImJihlW3JdPW8sZGVsZXRlIGVbbl0pLChhPWIuY3NzSG9va3Nbcl0pJiZcImV4cGFuZFwiaW4gYSlmb3IobiBpbiBvPWEuZXhwYW5kKG8pLGRlbGV0ZSBlW3JdLG8pbiBpbiBlfHwoZVtuXT1vW25dLHRbbl09aSk7ZWxzZSB0W3JdPWl9KGMsbC5vcHRzLnNwZWNpYWxFYXNpbmcpO288YTtvKyspaWYocj1zdC5wcmVmaWx0ZXJzW29dLmNhbGwobCxlLGMsbC5vcHRzKSlyZXR1cm4gaChyLnN0b3ApJiYoYi5fcXVldWVIb29rcyhsLmVsZW0sbC5vcHRzLnF1ZXVlKS5zdG9wPXIuc3RvcC5iaW5kKHIpKSxyO3JldHVybiBiLm1hcChjLGF0LGwpLGgobC5vcHRzLnN0YXJ0KSYmbC5vcHRzLnN0YXJ0LmNhbGwoZSxsKSxsLnByb2dyZXNzKGwub3B0cy5wcm9ncmVzcykuZG9uZShsLm9wdHMuZG9uZSxsLm9wdHMuY29tcGxldGUpLmZhaWwobC5vcHRzLmZhaWwpLmFsd2F5cyhsLm9wdHMuYWx3YXlzKSxiLmZ4LnRpbWVyKGIuZXh0ZW5kKHUse2VsZW06ZSxhbmltOmwscXVldWU6bC5vcHRzLnF1ZXVlfSkpLGx9Yi5BbmltYXRpb249Yi5leHRlbmQoc3Qse3R3ZWVuZXJzOntcIipcIjpbZnVuY3Rpb24oZSx0KXt2YXIgbj10aGlzLmNyZWF0ZVR3ZWVuKGUsdCk7cmV0dXJuIGFlKG4uZWxlbSxlLGVlLmV4ZWModCksbiksbn1dfSx0d2VlbmVyOmZ1bmN0aW9uKGUsdCl7aChlKT8odD1lLGU9W1wiKlwiXSk6ZT1lLm1hdGNoKE8pO2Zvcih2YXIgbixyPTAsaT1lLmxlbmd0aDtyPGk7cisrKW49ZVtyXSxzdC50d2VlbmVyc1tuXT1zdC50d2VlbmVyc1tuXXx8W10sc3QudHdlZW5lcnNbbl0udW5zaGlmdCh0KX0scHJlZmlsdGVyczpbZnVuY3Rpb24oZSx0LG4pe3ZhciByLGksbyxhLHMsdSxsLGMsZj1cIndpZHRoXCJpbiB0fHxcImhlaWdodFwiaW4gdCxwPXRoaXMsZD17fSxoPWUuc3R5bGUsZz1lLm5vZGVUeXBlJiZvZShlKSx2PUcuZ2V0KGUsXCJmeHNob3dcIik7Zm9yKHIgaW4gbi5xdWV1ZXx8KG51bGw9PShhPWIuX3F1ZXVlSG9va3MoZSxcImZ4XCIpKS51bnF1ZXVlZCYmKGEudW5xdWV1ZWQ9MCxzPWEuZW1wdHkuZmlyZSxhLmVtcHR5LmZpcmU9ZnVuY3Rpb24oKXthLnVucXVldWVkfHxzKCl9KSxhLnVucXVldWVkKysscC5hbHdheXMoZnVuY3Rpb24oKXtwLmFsd2F5cyhmdW5jdGlvbigpe2EudW5xdWV1ZWQtLSxiLnF1ZXVlKGUsXCJmeFwiKS5sZW5ndGh8fGEuZW1wdHkuZmlyZSgpfSl9KSksdClpZihpPXRbcl0sdHQudGVzdChpKSl7aWYoZGVsZXRlIHRbcl0sbz1vfHxcInRvZ2dsZVwiPT09aSxpPT09KGc/XCJoaWRlXCI6XCJzaG93XCIpKXtpZihcInNob3dcIiE9PWl8fCF2fHx2b2lkIDA9PT12W3JdKWNvbnRpbnVlO2c9ITB9ZFtyXT12JiZ2W3JdfHxiLnN0eWxlKGUscil9aWYoKHU9IWIuaXNFbXB0eU9iamVjdCh0KSl8fCFiLmlzRW1wdHlPYmplY3QoZCkpZm9yKHIgaW4gZiYmMT09PWUubm9kZVR5cGUmJihuLm92ZXJmbG93PVtoLm92ZXJmbG93LGgub3ZlcmZsb3dYLGgub3ZlcmZsb3dZXSxudWxsPT0obD12JiZ2LmRpc3BsYXkpJiYobD1HLmdldChlLFwiZGlzcGxheVwiKSksXCJub25lXCI9PT0oYz1iLmNzcyhlLFwiZGlzcGxheVwiKSkmJihsP2M9bDoobGUoW2VdLCEwKSxsPWUuc3R5bGUuZGlzcGxheXx8bCxjPWIuY3NzKGUsXCJkaXNwbGF5XCIpLGxlKFtlXSkpKSwoXCJpbmxpbmVcIj09PWN8fFwiaW5saW5lLWJsb2NrXCI9PT1jJiZudWxsIT1sKSYmXCJub25lXCI9PT1iLmNzcyhlLFwiZmxvYXRcIikmJih1fHwocC5kb25lKGZ1bmN0aW9uKCl7aC5kaXNwbGF5PWx9KSxudWxsPT1sJiYoYz1oLmRpc3BsYXksbD1cIm5vbmVcIj09PWM/XCJcIjpjKSksaC5kaXNwbGF5PVwiaW5saW5lLWJsb2NrXCIpKSxuLm92ZXJmbG93JiYoaC5vdmVyZmxvdz1cImhpZGRlblwiLHAuYWx3YXlzKGZ1bmN0aW9uKCl7aC5vdmVyZmxvdz1uLm92ZXJmbG93WzBdLGgub3ZlcmZsb3dYPW4ub3ZlcmZsb3dbMV0saC5vdmVyZmxvd1k9bi5vdmVyZmxvd1syXX0pKSx1PSExLGQpdXx8KHY/XCJoaWRkZW5cImluIHYmJihnPXYuaGlkZGVuKTp2PUcuYWNjZXNzKGUsXCJmeHNob3dcIix7ZGlzcGxheTpsfSksbyYmKHYuaGlkZGVuPSFnKSxnJiZsZShbZV0sITApLHAuZG9uZShmdW5jdGlvbigpe2ZvcihyIGluIGd8fGxlKFtlXSksRy5yZW1vdmUoZSxcImZ4c2hvd1wiKSxkKWIuc3R5bGUoZSxyLGRbcl0pfSkpLHU9YXQoZz92W3JdOjAscixwKSxyIGluIHZ8fCh2W3JdPXUuc3RhcnQsZyYmKHUuZW5kPXUuc3RhcnQsdS5zdGFydD0wKSl9XSxwcmVmaWx0ZXI6ZnVuY3Rpb24oZSx0KXt0P3N0LnByZWZpbHRlcnMudW5zaGlmdChlKTpzdC5wcmVmaWx0ZXJzLnB1c2goZSl9fSksYi5zcGVlZD1mdW5jdGlvbihlLHQsbil7dmFyIHI9ZSYmXCJvYmplY3RcIj09dHlwZW9mIGU/Yi5leHRlbmQoe30sZSk6e2NvbXBsZXRlOm58fCFuJiZ0fHxoKGUpJiZlLGR1cmF0aW9uOmUsZWFzaW5nOm4mJnR8fHQmJiFoKHQpJiZ0fTtyZXR1cm4gYi5meC5vZmY/ci5kdXJhdGlvbj0wOlwibnVtYmVyXCIhPXR5cGVvZiByLmR1cmF0aW9uJiYoci5kdXJhdGlvbiBpbiBiLmZ4LnNwZWVkcz9yLmR1cmF0aW9uPWIuZnguc3BlZWRzW3IuZHVyYXRpb25dOnIuZHVyYXRpb249Yi5meC5zcGVlZHMuX2RlZmF1bHQpLG51bGwhPXIucXVldWUmJiEwIT09ci5xdWV1ZXx8KHIucXVldWU9XCJmeFwiKSxyLm9sZD1yLmNvbXBsZXRlLHIuY29tcGxldGU9ZnVuY3Rpb24oKXtoKHIub2xkKSYmci5vbGQuY2FsbCh0aGlzKSxyLnF1ZXVlJiZiLmRlcXVldWUodGhpcyxyLnF1ZXVlKX0scn0sYi5mbi5leHRlbmQoe2ZhZGVUbzpmdW5jdGlvbihlLHQsbixyKXtyZXR1cm4gdGhpcy5maWx0ZXIob2UpLmNzcyhcIm9wYWNpdHlcIiwwKS5zaG93KCkuZW5kKCkuYW5pbWF0ZSh7b3BhY2l0eTp0fSxlLG4scil9LGFuaW1hdGU6ZnVuY3Rpb24oZSx0LG4scil7dmFyIGk9Yi5pc0VtcHR5T2JqZWN0KGUpLG89Yi5zcGVlZCh0LG4sciksYT1mdW5jdGlvbigpe3ZhciB0PXN0KHRoaXMsYi5leHRlbmQoe30sZSksbyk7KGl8fEcuZ2V0KHRoaXMsXCJmaW5pc2hcIikpJiZ0LnN0b3AoITApfTtyZXR1cm4gYS5maW5pc2g9YSxpfHwhMT09PW8ucXVldWU/dGhpcy5lYWNoKGEpOnRoaXMucXVldWUoby5xdWV1ZSxhKX0sc3RvcDpmdW5jdGlvbihlLHQsbil7dmFyIHI9ZnVuY3Rpb24oZSl7dmFyIHQ9ZS5zdG9wO2RlbGV0ZSBlLnN0b3AsdChuKX07cmV0dXJuXCJzdHJpbmdcIiE9dHlwZW9mIGUmJihuPXQsdD1lLGU9dm9pZCAwKSx0JiZ0aGlzLnF1ZXVlKGV8fFwiZnhcIixbXSksdGhpcy5lYWNoKGZ1bmN0aW9uKCl7dmFyIHQ9ITAsaT1udWxsIT1lJiZlK1wicXVldWVIb29rc1wiLG89Yi50aW1lcnMsYT1HLmdldCh0aGlzKTtpZihpKWFbaV0mJmFbaV0uc3RvcCYmcihhW2ldKTtlbHNlIGZvcihpIGluIGEpYVtpXSYmYVtpXS5zdG9wJiZudC50ZXN0KGkpJiZyKGFbaV0pO2ZvcihpPW8ubGVuZ3RoO2ktLTspb1tpXS5lbGVtIT09dGhpc3x8bnVsbCE9ZSYmb1tpXS5xdWV1ZSE9PWV8fChvW2ldLmFuaW0uc3RvcChuKSx0PSExLG8uc3BsaWNlKGksMSkpOyF0JiZufHxiLmRlcXVldWUodGhpcyxlKX0pfSxmaW5pc2g6ZnVuY3Rpb24oZSl7cmV0dXJuITEhPT1lJiYoZT1lfHxcImZ4XCIpLHRoaXMuZWFjaChmdW5jdGlvbigpe3ZhciB0LG49Ry5nZXQodGhpcykscj1uW2UrXCJxdWV1ZVwiXSxpPW5bZStcInF1ZXVlSG9va3NcIl0sbz1iLnRpbWVycyxhPXI/ci5sZW5ndGg6MDtmb3Iobi5maW5pc2g9ITAsYi5xdWV1ZSh0aGlzLGUsW10pLGkmJmkuc3RvcCYmaS5zdG9wLmNhbGwodGhpcywhMCksdD1vLmxlbmd0aDt0LS07KW9bdF0uZWxlbT09PXRoaXMmJm9bdF0ucXVldWU9PT1lJiYob1t0XS5hbmltLnN0b3AoITApLG8uc3BsaWNlKHQsMSkpO2Zvcih0PTA7dDxhO3QrKylyW3RdJiZyW3RdLmZpbmlzaCYmclt0XS5maW5pc2guY2FsbCh0aGlzKTtkZWxldGUgbi5maW5pc2h9KX19KSxiLmVhY2goW1widG9nZ2xlXCIsXCJzaG93XCIsXCJoaWRlXCJdLGZ1bmN0aW9uKGUsdCl7dmFyIG49Yi5mblt0XTtiLmZuW3RdPWZ1bmN0aW9uKGUscixpKXtyZXR1cm4gbnVsbD09ZXx8XCJib29sZWFuXCI9PXR5cGVvZiBlP24uYXBwbHkodGhpcyxhcmd1bWVudHMpOnRoaXMuYW5pbWF0ZShvdCh0LCEwKSxlLHIsaSl9fSksYi5lYWNoKHtzbGlkZURvd246b3QoXCJzaG93XCIpLHNsaWRlVXA6b3QoXCJoaWRlXCIpLHNsaWRlVG9nZ2xlOm90KFwidG9nZ2xlXCIpLGZhZGVJbjp7b3BhY2l0eTpcInNob3dcIn0sZmFkZU91dDp7b3BhY2l0eTpcImhpZGVcIn0sZmFkZVRvZ2dsZTp7b3BhY2l0eTpcInRvZ2dsZVwifX0sZnVuY3Rpb24oZSx0KXtiLmZuW2VdPWZ1bmN0aW9uKGUsbixyKXtyZXR1cm4gdGhpcy5hbmltYXRlKHQsZSxuLHIpfX0pLGIudGltZXJzPVtdLGIuZngudGljaz1mdW5jdGlvbigpe3ZhciBlLHQ9MCxuPWIudGltZXJzO2ZvcihaZT1EYXRlLm5vdygpO3Q8bi5sZW5ndGg7dCsrKShlPW5bdF0pKCl8fG5bdF0hPT1lfHxuLnNwbGljZSh0LS0sMSk7bi5sZW5ndGh8fGIuZnguc3RvcCgpLFplPXZvaWQgMH0sYi5meC50aW1lcj1mdW5jdGlvbihlKXtiLnRpbWVycy5wdXNoKGUpLGIuZnguc3RhcnQoKX0sYi5meC5pbnRlcnZhbD0xMyxiLmZ4LnN0YXJ0PWZ1bmN0aW9uKCl7ZXR8fChldD0hMCxydCgpKX0sYi5meC5zdG9wPWZ1bmN0aW9uKCl7ZXQ9bnVsbH0sYi5meC5zcGVlZHM9e3Nsb3c6NjAwLGZhc3Q6MjAwLF9kZWZhdWx0OjQwMH0sYi5mbi5kZWxheT1mdW5jdGlvbih0LG4pe3JldHVybiB0PWIuZngmJmIuZnguc3BlZWRzW3RdfHx0LG49bnx8XCJmeFwiLHRoaXMucXVldWUobixmdW5jdGlvbihuLHIpe3ZhciBpPWUuc2V0VGltZW91dChuLHQpO3Iuc3RvcD1mdW5jdGlvbigpe2UuY2xlYXJUaW1lb3V0KGkpfX0pfSxmdW5jdGlvbigpe3ZhciBlPXYuY3JlYXRlRWxlbWVudChcImlucHV0XCIpLHQ9di5jcmVhdGVFbGVtZW50KFwic2VsZWN0XCIpLmFwcGVuZENoaWxkKHYuY3JlYXRlRWxlbWVudChcIm9wdGlvblwiKSk7ZS50eXBlPVwiY2hlY2tib3hcIixkLmNoZWNrT249XCJcIiE9PWUudmFsdWUsZC5vcHRTZWxlY3RlZD10LnNlbGVjdGVkLChlPXYuY3JlYXRlRWxlbWVudChcImlucHV0XCIpKS52YWx1ZT1cInRcIixlLnR5cGU9XCJyYWRpb1wiLGQucmFkaW9WYWx1ZT1cInRcIj09PWUudmFsdWV9KCk7dmFyIHV0LGx0PWIuZXhwci5hdHRySGFuZGxlO2IuZm4uZXh0ZW5kKHthdHRyOmZ1bmN0aW9uKGUsdCl7cmV0dXJuIEIodGhpcyxiLmF0dHIsZSx0LGFyZ3VtZW50cy5sZW5ndGg+MSl9LHJlbW92ZUF0dHI6ZnVuY3Rpb24oZSl7cmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbigpe2IucmVtb3ZlQXR0cih0aGlzLGUpfSl9fSksYi5leHRlbmQoe2F0dHI6ZnVuY3Rpb24oZSx0LG4pe3ZhciByLGksbz1lLm5vZGVUeXBlO2lmKDMhPT1vJiY4IT09byYmMiE9PW8pcmV0dXJuIHZvaWQgMD09PWUuZ2V0QXR0cmlidXRlP2IucHJvcChlLHQsbik6KDE9PT1vJiZiLmlzWE1MRG9jKGUpfHwoaT1iLmF0dHJIb29rc1t0LnRvTG93ZXJDYXNlKCldfHwoYi5leHByLm1hdGNoLmJvb2wudGVzdCh0KT91dDp2b2lkIDApKSx2b2lkIDAhPT1uP251bGw9PT1uP3ZvaWQgYi5yZW1vdmVBdHRyKGUsdCk6aSYmXCJzZXRcImluIGkmJnZvaWQgMCE9PShyPWkuc2V0KGUsbix0KSk/cjooZS5zZXRBdHRyaWJ1dGUodCxuK1wiXCIpLG4pOmkmJlwiZ2V0XCJpbiBpJiZudWxsIT09KHI9aS5nZXQoZSx0KSk/cjpudWxsPT0ocj1iLmZpbmQuYXR0cihlLHQpKT92b2lkIDA6cil9LGF0dHJIb29rczp7dHlwZTp7c2V0OmZ1bmN0aW9uKGUsdCl7aWYoIWQucmFkaW9WYWx1ZSYmXCJyYWRpb1wiPT09dCYmayhlLFwiaW5wdXRcIikpe3ZhciBuPWUudmFsdWU7cmV0dXJuIGUuc2V0QXR0cmlidXRlKFwidHlwZVwiLHQpLG4mJihlLnZhbHVlPW4pLHR9fX19LHJlbW92ZUF0dHI6ZnVuY3Rpb24oZSx0KXt2YXIgbixyPTAsaT10JiZ0Lm1hdGNoKE8pO2lmKGkmJjE9PT1lLm5vZGVUeXBlKWZvcig7bj1pW3IrK107KWUucmVtb3ZlQXR0cmlidXRlKG4pfX0pLHV0PXtzZXQ6ZnVuY3Rpb24oZSx0LG4pe3JldHVybiExPT09dD9iLnJlbW92ZUF0dHIoZSxuKTplLnNldEF0dHJpYnV0ZShuLG4pLG59fSxiLmVhY2goYi5leHByLm1hdGNoLmJvb2wuc291cmNlLm1hdGNoKC9cXHcrL2cpLGZ1bmN0aW9uKGUsdCl7dmFyIG49bHRbdF18fGIuZmluZC5hdHRyO2x0W3RdPWZ1bmN0aW9uKGUsdCxyKXt2YXIgaSxvLGE9dC50b0xvd2VyQ2FzZSgpO3JldHVybiByfHwobz1sdFthXSxsdFthXT1pLGk9bnVsbCE9bihlLHQscik/YTpudWxsLGx0W2FdPW8pLGl9fSk7dmFyIGN0PS9eKD86aW5wdXR8c2VsZWN0fHRleHRhcmVhfGJ1dHRvbikkL2ksZnQ9L14oPzphfGFyZWEpJC9pO2Z1bmN0aW9uIHB0KGUpe3JldHVybihlLm1hdGNoKE8pfHxbXSkuam9pbihcIiBcIil9ZnVuY3Rpb24gZHQoZSl7cmV0dXJuIGUuZ2V0QXR0cmlidXRlJiZlLmdldEF0dHJpYnV0ZShcImNsYXNzXCIpfHxcIlwifWZ1bmN0aW9uIGh0KGUpe3JldHVybiBBcnJheS5pc0FycmF5KGUpP2U6XCJzdHJpbmdcIj09dHlwZW9mIGUmJmUubWF0Y2goTyl8fFtdfWIuZm4uZXh0ZW5kKHtwcm9wOmZ1bmN0aW9uKGUsdCl7cmV0dXJuIEIodGhpcyxiLnByb3AsZSx0LGFyZ3VtZW50cy5sZW5ndGg+MSl9LHJlbW92ZVByb3A6ZnVuY3Rpb24oZSl7cmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbigpe2RlbGV0ZSB0aGlzW2IucHJvcEZpeFtlXXx8ZV19KX19KSxiLmV4dGVuZCh7cHJvcDpmdW5jdGlvbihlLHQsbil7dmFyIHIsaSxvPWUubm9kZVR5cGU7aWYoMyE9PW8mJjghPT1vJiYyIT09bylyZXR1cm4gMT09PW8mJmIuaXNYTUxEb2MoZSl8fCh0PWIucHJvcEZpeFt0XXx8dCxpPWIucHJvcEhvb2tzW3RdKSx2b2lkIDAhPT1uP2kmJlwic2V0XCJpbiBpJiZ2b2lkIDAhPT0ocj1pLnNldChlLG4sdCkpP3I6ZVt0XT1uOmkmJlwiZ2V0XCJpbiBpJiZudWxsIT09KHI9aS5nZXQoZSx0KSk/cjplW3RdfSxwcm9wSG9va3M6e3RhYkluZGV4OntnZXQ6ZnVuY3Rpb24oZSl7dmFyIHQ9Yi5maW5kLmF0dHIoZSxcInRhYmluZGV4XCIpO3JldHVybiB0P3BhcnNlSW50KHQsMTApOmN0LnRlc3QoZS5ub2RlTmFtZSl8fGZ0LnRlc3QoZS5ub2RlTmFtZSkmJmUuaHJlZj8wOi0xfX19LHByb3BGaXg6e2ZvcjpcImh0bWxGb3JcIixjbGFzczpcImNsYXNzTmFtZVwifX0pLGQub3B0U2VsZWN0ZWR8fChiLnByb3BIb29rcy5zZWxlY3RlZD17Z2V0OmZ1bmN0aW9uKGUpe3ZhciB0PWUucGFyZW50Tm9kZTtyZXR1cm4gdCYmdC5wYXJlbnROb2RlJiZ0LnBhcmVudE5vZGUuc2VsZWN0ZWRJbmRleCxudWxsfSxzZXQ6ZnVuY3Rpb24oZSl7dmFyIHQ9ZS5wYXJlbnROb2RlO3QmJih0LnNlbGVjdGVkSW5kZXgsdC5wYXJlbnROb2RlJiZ0LnBhcmVudE5vZGUuc2VsZWN0ZWRJbmRleCl9fSksYi5lYWNoKFtcInRhYkluZGV4XCIsXCJyZWFkT25seVwiLFwibWF4TGVuZ3RoXCIsXCJjZWxsU3BhY2luZ1wiLFwiY2VsbFBhZGRpbmdcIixcInJvd1NwYW5cIixcImNvbFNwYW5cIixcInVzZU1hcFwiLFwiZnJhbWVCb3JkZXJcIixcImNvbnRlbnRFZGl0YWJsZVwiXSxmdW5jdGlvbigpe2IucHJvcEZpeFt0aGlzLnRvTG93ZXJDYXNlKCldPXRoaXN9KSxiLmZuLmV4dGVuZCh7YWRkQ2xhc3M6ZnVuY3Rpb24oZSl7dmFyIHQsbixyLGksbyxhLHMsdT0wO2lmKGgoZSkpcmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbih0KXtiKHRoaXMpLmFkZENsYXNzKGUuY2FsbCh0aGlzLHQsZHQodGhpcykpKX0pO2lmKCh0PWh0KGUpKS5sZW5ndGgpZm9yKDtuPXRoaXNbdSsrXTspaWYoaT1kdChuKSxyPTE9PT1uLm5vZGVUeXBlJiZcIiBcIitwdChpKStcIiBcIil7Zm9yKGE9MDtvPXRbYSsrXTspci5pbmRleE9mKFwiIFwiK28rXCIgXCIpPDAmJihyKz1vK1wiIFwiKTtpIT09KHM9cHQocikpJiZuLnNldEF0dHJpYnV0ZShcImNsYXNzXCIscyl9cmV0dXJuIHRoaXN9LHJlbW92ZUNsYXNzOmZ1bmN0aW9uKGUpe3ZhciB0LG4scixpLG8sYSxzLHU9MDtpZihoKGUpKXJldHVybiB0aGlzLmVhY2goZnVuY3Rpb24odCl7Yih0aGlzKS5yZW1vdmVDbGFzcyhlLmNhbGwodGhpcyx0LGR0KHRoaXMpKSl9KTtpZighYXJndW1lbnRzLmxlbmd0aClyZXR1cm4gdGhpcy5hdHRyKFwiY2xhc3NcIixcIlwiKTtpZigodD1odChlKSkubGVuZ3RoKWZvcig7bj10aGlzW3UrK107KWlmKGk9ZHQobikscj0xPT09bi5ub2RlVHlwZSYmXCIgXCIrcHQoaSkrXCIgXCIpe2ZvcihhPTA7bz10W2ErK107KWZvcig7ci5pbmRleE9mKFwiIFwiK28rXCIgXCIpPi0xOylyPXIucmVwbGFjZShcIiBcIitvK1wiIFwiLFwiIFwiKTtpIT09KHM9cHQocikpJiZuLnNldEF0dHJpYnV0ZShcImNsYXNzXCIscyl9cmV0dXJuIHRoaXN9LHRvZ2dsZUNsYXNzOmZ1bmN0aW9uKGUsdCl7dmFyIG49dHlwZW9mIGUscj1cInN0cmluZ1wiPT09bnx8QXJyYXkuaXNBcnJheShlKTtyZXR1cm5cImJvb2xlYW5cIj09dHlwZW9mIHQmJnI/dD90aGlzLmFkZENsYXNzKGUpOnRoaXMucmVtb3ZlQ2xhc3MoZSk6aChlKT90aGlzLmVhY2goZnVuY3Rpb24obil7Yih0aGlzKS50b2dnbGVDbGFzcyhlLmNhbGwodGhpcyxuLGR0KHRoaXMpLHQpLHQpfSk6dGhpcy5lYWNoKGZ1bmN0aW9uKCl7dmFyIHQsaSxvLGE7aWYocilmb3IoaT0wLG89Yih0aGlzKSxhPWh0KGUpO3Q9YVtpKytdOylvLmhhc0NsYXNzKHQpP28ucmVtb3ZlQ2xhc3ModCk6by5hZGRDbGFzcyh0KTtlbHNlIHZvaWQgMCE9PWUmJlwiYm9vbGVhblwiIT09bnx8KCh0PWR0KHRoaXMpKSYmRy5zZXQodGhpcyxcIl9fY2xhc3NOYW1lX19cIix0KSx0aGlzLnNldEF0dHJpYnV0ZSYmdGhpcy5zZXRBdHRyaWJ1dGUoXCJjbGFzc1wiLHR8fCExPT09ZT9cIlwiOkcuZ2V0KHRoaXMsXCJfX2NsYXNzTmFtZV9fXCIpfHxcIlwiKSl9KX0saGFzQ2xhc3M6ZnVuY3Rpb24oZSl7dmFyIHQsbixyPTA7Zm9yKHQ9XCIgXCIrZStcIiBcIjtuPXRoaXNbcisrXTspaWYoMT09PW4ubm9kZVR5cGUmJihcIiBcIitwdChkdChuKSkrXCIgXCIpLmluZGV4T2YodCk+LTEpcmV0dXJuITA7cmV0dXJuITF9fSk7dmFyIGd0PS9cXHIvZztiLmZuLmV4dGVuZCh7dmFsOmZ1bmN0aW9uKGUpe3ZhciB0LG4scixpPXRoaXNbMF07cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KHI9aChlKSx0aGlzLmVhY2goZnVuY3Rpb24obil7dmFyIGk7MT09PXRoaXMubm9kZVR5cGUmJihudWxsPT0oaT1yP2UuY2FsbCh0aGlzLG4sYih0aGlzKS52YWwoKSk6ZSk/aT1cIlwiOlwibnVtYmVyXCI9PXR5cGVvZiBpP2krPVwiXCI6QXJyYXkuaXNBcnJheShpKSYmKGk9Yi5tYXAoaSxmdW5jdGlvbihlKXtyZXR1cm4gbnVsbD09ZT9cIlwiOmUrXCJcIn0pKSwodD1iLnZhbEhvb2tzW3RoaXMudHlwZV18fGIudmFsSG9va3NbdGhpcy5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpXSkmJlwic2V0XCJpbiB0JiZ2b2lkIDAhPT10LnNldCh0aGlzLGksXCJ2YWx1ZVwiKXx8KHRoaXMudmFsdWU9aSkpfSkpOmk/KHQ9Yi52YWxIb29rc1tpLnR5cGVdfHxiLnZhbEhvb2tzW2kubm9kZU5hbWUudG9Mb3dlckNhc2UoKV0pJiZcImdldFwiaW4gdCYmdm9pZCAwIT09KG49dC5nZXQoaSxcInZhbHVlXCIpKT9uOlwic3RyaW5nXCI9PXR5cGVvZihuPWkudmFsdWUpP24ucmVwbGFjZShndCxcIlwiKTpudWxsPT1uP1wiXCI6bjp2b2lkIDB9fSksYi5leHRlbmQoe3ZhbEhvb2tzOntvcHRpb246e2dldDpmdW5jdGlvbihlKXt2YXIgdD1iLmZpbmQuYXR0cihlLFwidmFsdWVcIik7cmV0dXJuIG51bGwhPXQ/dDpwdChiLnRleHQoZSkpfX0sc2VsZWN0OntnZXQ6ZnVuY3Rpb24oZSl7dmFyIHQsbixyLGk9ZS5vcHRpb25zLG89ZS5zZWxlY3RlZEluZGV4LGE9XCJzZWxlY3Qtb25lXCI9PT1lLnR5cGUscz1hP251bGw6W10sdT1hP28rMTppLmxlbmd0aDtmb3Iocj1vPDA/dTphP286MDtyPHU7cisrKWlmKCgobj1pW3JdKS5zZWxlY3RlZHx8cj09PW8pJiYhbi5kaXNhYmxlZCYmKCFuLnBhcmVudE5vZGUuZGlzYWJsZWR8fCFrKG4ucGFyZW50Tm9kZSxcIm9wdGdyb3VwXCIpKSl7aWYodD1iKG4pLnZhbCgpLGEpcmV0dXJuIHQ7cy5wdXNoKHQpfXJldHVybiBzfSxzZXQ6ZnVuY3Rpb24oZSx0KXtmb3IodmFyIG4scixpPWUub3B0aW9ucyxvPWIubWFrZUFycmF5KHQpLGE9aS5sZW5ndGg7YS0tOykoKHI9aVthXSkuc2VsZWN0ZWQ9Yi5pbkFycmF5KGIudmFsSG9va3Mub3B0aW9uLmdldChyKSxvKT4tMSkmJihuPSEwKTtyZXR1cm4gbnx8KGUuc2VsZWN0ZWRJbmRleD0tMSksb319fX0pLGIuZWFjaChbXCJyYWRpb1wiLFwiY2hlY2tib3hcIl0sZnVuY3Rpb24oKXtiLnZhbEhvb2tzW3RoaXNdPXtzZXQ6ZnVuY3Rpb24oZSx0KXtpZihBcnJheS5pc0FycmF5KHQpKXJldHVybiBlLmNoZWNrZWQ9Yi5pbkFycmF5KGIoZSkudmFsKCksdCk+LTF9fSxkLmNoZWNrT258fChiLnZhbEhvb2tzW3RoaXNdLmdldD1mdW5jdGlvbihlKXtyZXR1cm4gbnVsbD09PWUuZ2V0QXR0cmlidXRlKFwidmFsdWVcIik/XCJvblwiOmUudmFsdWV9KX0pLGQuZm9jdXNpbj1cIm9uZm9jdXNpblwiaW4gZTt2YXIgdnQ9L14oPzpmb2N1c2luZm9jdXN8Zm9jdXNvdXRibHVyKSQvLHl0PWZ1bmN0aW9uKGUpe2Uuc3RvcFByb3BhZ2F0aW9uKCl9O2IuZXh0ZW5kKGIuZXZlbnQse3RyaWdnZXI6ZnVuY3Rpb24odCxuLHIsaSl7dmFyIG8sYSxzLHUsbCxmLHAsZCx5PVtyfHx2XSxtPWMuY2FsbCh0LFwidHlwZVwiKT90LnR5cGU6dCx4PWMuY2FsbCh0LFwibmFtZXNwYWNlXCIpP3QubmFtZXNwYWNlLnNwbGl0KFwiLlwiKTpbXTtpZihhPWQ9cz1yPXJ8fHYsMyE9PXIubm9kZVR5cGUmJjghPT1yLm5vZGVUeXBlJiYhdnQudGVzdChtK2IuZXZlbnQudHJpZ2dlcmVkKSYmKG0uaW5kZXhPZihcIi5cIik+LTEmJih4PW0uc3BsaXQoXCIuXCIpLG09eC5zaGlmdCgpLHguc29ydCgpKSxsPW0uaW5kZXhPZihcIjpcIik8MCYmXCJvblwiK20sKHQ9dFtiLmV4cGFuZG9dP3Q6bmV3IGIuRXZlbnQobSxcIm9iamVjdFwiPT10eXBlb2YgdCYmdCkpLmlzVHJpZ2dlcj1pPzI6Myx0Lm5hbWVzcGFjZT14LmpvaW4oXCIuXCIpLHQucm5hbWVzcGFjZT10Lm5hbWVzcGFjZT9uZXcgUmVnRXhwKFwiKF58XFxcXC4pXCIreC5qb2luKFwiXFxcXC4oPzouKlxcXFwufClcIikrXCIoXFxcXC58JClcIik6bnVsbCx0LnJlc3VsdD12b2lkIDAsdC50YXJnZXR8fCh0LnRhcmdldD1yKSxuPW51bGw9PW4/W3RdOmIubWFrZUFycmF5KG4sW3RdKSxwPWIuZXZlbnQuc3BlY2lhbFttXXx8e30saXx8IXAudHJpZ2dlcnx8ITEhPT1wLnRyaWdnZXIuYXBwbHkocixuKSkpe2lmKCFpJiYhcC5ub0J1YmJsZSYmIWcocikpe2Zvcih1PXAuZGVsZWdhdGVUeXBlfHxtLHZ0LnRlc3QodSttKXx8KGE9YS5wYXJlbnROb2RlKTthO2E9YS5wYXJlbnROb2RlKXkucHVzaChhKSxzPWE7cz09PShyLm93bmVyRG9jdW1lbnR8fHYpJiZ5LnB1c2gocy5kZWZhdWx0Vmlld3x8cy5wYXJlbnRXaW5kb3d8fGUpfWZvcihvPTA7KGE9eVtvKytdKSYmIXQuaXNQcm9wYWdhdGlvblN0b3BwZWQoKTspZD1hLHQudHlwZT1vPjE/dTpwLmJpbmRUeXBlfHxtLChmPShHLmdldChhLFwiZXZlbnRzXCIpfHxPYmplY3QuY3JlYXRlKG51bGwpKVt0LnR5cGVdJiZHLmdldChhLFwiaGFuZGxlXCIpKSYmZi5hcHBseShhLG4pLChmPWwmJmFbbF0pJiZmLmFwcGx5JiZYKGEpJiYodC5yZXN1bHQ9Zi5hcHBseShhLG4pLCExPT09dC5yZXN1bHQmJnQucHJldmVudERlZmF1bHQoKSk7cmV0dXJuIHQudHlwZT1tLGl8fHQuaXNEZWZhdWx0UHJldmVudGVkKCl8fHAuX2RlZmF1bHQmJiExIT09cC5fZGVmYXVsdC5hcHBseSh5LnBvcCgpLG4pfHwhWChyKXx8bCYmaChyW21dKSYmIWcocikmJigocz1yW2xdKSYmKHJbbF09bnVsbCksYi5ldmVudC50cmlnZ2VyZWQ9bSx0LmlzUHJvcGFnYXRpb25TdG9wcGVkKCkmJmQuYWRkRXZlbnRMaXN0ZW5lcihtLHl0KSxyW21dKCksdC5pc1Byb3BhZ2F0aW9uU3RvcHBlZCgpJiZkLnJlbW92ZUV2ZW50TGlzdGVuZXIobSx5dCksYi5ldmVudC50cmlnZ2VyZWQ9dm9pZCAwLHMmJihyW2xdPXMpKSx0LnJlc3VsdH19LHNpbXVsYXRlOmZ1bmN0aW9uKGUsdCxuKXt2YXIgcj1iLmV4dGVuZChuZXcgYi5FdmVudCxuLHt0eXBlOmUsaXNTaW11bGF0ZWQ6ITB9KTtiLmV2ZW50LnRyaWdnZXIocixudWxsLHQpfX0pLGIuZm4uZXh0ZW5kKHt0cmlnZ2VyOmZ1bmN0aW9uKGUsdCl7cmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbigpe2IuZXZlbnQudHJpZ2dlcihlLHQsdGhpcyl9KX0sdHJpZ2dlckhhbmRsZXI6ZnVuY3Rpb24oZSx0KXt2YXIgbj10aGlzWzBdO2lmKG4pcmV0dXJuIGIuZXZlbnQudHJpZ2dlcihlLHQsbiwhMCl9fSksZC5mb2N1c2lufHxiLmVhY2goe2ZvY3VzOlwiZm9jdXNpblwiLGJsdXI6XCJmb2N1c291dFwifSxmdW5jdGlvbihlLHQpe3ZhciBuPWZ1bmN0aW9uKGUpe2IuZXZlbnQuc2ltdWxhdGUodCxlLnRhcmdldCxiLmV2ZW50LmZpeChlKSl9O2IuZXZlbnQuc3BlY2lhbFt0XT17c2V0dXA6ZnVuY3Rpb24oKXt2YXIgcj10aGlzLm93bmVyRG9jdW1lbnR8fHRoaXMuZG9jdW1lbnR8fHRoaXMsaT1HLmFjY2VzcyhyLHQpO2l8fHIuYWRkRXZlbnRMaXN0ZW5lcihlLG4sITApLEcuYWNjZXNzKHIsdCwoaXx8MCkrMSl9LHRlYXJkb3duOmZ1bmN0aW9uKCl7dmFyIHI9dGhpcy5vd25lckRvY3VtZW50fHx0aGlzLmRvY3VtZW50fHx0aGlzLGk9Ry5hY2Nlc3Mocix0KS0xO2k/Ry5hY2Nlc3Mocix0LGkpOihyLnJlbW92ZUV2ZW50TGlzdGVuZXIoZSxuLCEwKSxHLnJlbW92ZShyLHQpKX19fSk7dmFyIG10PWUubG9jYXRpb24seHQ9e2d1aWQ6RGF0ZS5ub3coKX0sYnQ9L1xcPy87Yi5wYXJzZVhNTD1mdW5jdGlvbih0KXt2YXIgbixyO2lmKCF0fHxcInN0cmluZ1wiIT10eXBlb2YgdClyZXR1cm4gbnVsbDt0cnl7bj0obmV3IGUuRE9NUGFyc2VyKS5wYXJzZUZyb21TdHJpbmcodCxcInRleHQveG1sXCIpfWNhdGNoKGUpe31yZXR1cm4gcj1uJiZuLmdldEVsZW1lbnRzQnlUYWdOYW1lKFwicGFyc2VyZXJyb3JcIilbMF0sbiYmIXJ8fGIuZXJyb3IoXCJJbnZhbGlkIFhNTDogXCIrKHI/Yi5tYXAoci5jaGlsZE5vZGVzLGZ1bmN0aW9uKGUpe3JldHVybiBlLnRleHRDb250ZW50fSkuam9pbihcIlxcblwiKTp0KSksbn07dmFyIHd0PS9cXFtcXF0kLyxUdD0vXFxyP1xcbi9nLEN0PS9eKD86c3VibWl0fGJ1dHRvbnxpbWFnZXxyZXNldHxmaWxlKSQvaSxFdD0vXig/OmlucHV0fHNlbGVjdHx0ZXh0YXJlYXxrZXlnZW4pL2k7ZnVuY3Rpb24gU3QoZSx0LG4scil7dmFyIGk7aWYoQXJyYXkuaXNBcnJheSh0KSliLmVhY2godCxmdW5jdGlvbih0LGkpe258fHd0LnRlc3QoZSk/cihlLGkpOlN0KGUrXCJbXCIrKFwib2JqZWN0XCI9PXR5cGVvZiBpJiZudWxsIT1pP3Q6XCJcIikrXCJdXCIsaSxuLHIpfSk7ZWxzZSBpZihufHxcIm9iamVjdFwiIT09eCh0KSlyKGUsdCk7ZWxzZSBmb3IoaSBpbiB0KVN0KGUrXCJbXCIraStcIl1cIix0W2ldLG4scil9Yi5wYXJhbT1mdW5jdGlvbihlLHQpe3ZhciBuLHI9W10saT1mdW5jdGlvbihlLHQpe3ZhciBuPWgodCk/dCgpOnQ7cltyLmxlbmd0aF09ZW5jb2RlVVJJQ29tcG9uZW50KGUpK1wiPVwiK2VuY29kZVVSSUNvbXBvbmVudChudWxsPT1uP1wiXCI6bil9O2lmKG51bGw9PWUpcmV0dXJuXCJcIjtpZihBcnJheS5pc0FycmF5KGUpfHxlLmpxdWVyeSYmIWIuaXNQbGFpbk9iamVjdChlKSliLmVhY2goZSxmdW5jdGlvbigpe2kodGhpcy5uYW1lLHRoaXMudmFsdWUpfSk7ZWxzZSBmb3IobiBpbiBlKVN0KG4sZVtuXSx0LGkpO3JldHVybiByLmpvaW4oXCImXCIpfSxiLmZuLmV4dGVuZCh7c2VyaWFsaXplOmZ1bmN0aW9uKCl7cmV0dXJuIGIucGFyYW0odGhpcy5zZXJpYWxpemVBcnJheSgpKX0sc2VyaWFsaXplQXJyYXk6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5tYXAoZnVuY3Rpb24oKXt2YXIgZT1iLnByb3AodGhpcyxcImVsZW1lbnRzXCIpO3JldHVybiBlP2IubWFrZUFycmF5KGUpOnRoaXN9KS5maWx0ZXIoZnVuY3Rpb24oKXt2YXIgZT10aGlzLnR5cGU7cmV0dXJuIHRoaXMubmFtZSYmIWIodGhpcykuaXMoXCI6ZGlzYWJsZWRcIikmJkV0LnRlc3QodGhpcy5ub2RlTmFtZSkmJiFDdC50ZXN0KGUpJiYodGhpcy5jaGVja2VkfHwhcGUudGVzdChlKSl9KS5tYXAoZnVuY3Rpb24oZSx0KXt2YXIgbj1iKHRoaXMpLnZhbCgpO3JldHVybiBudWxsPT1uP251bGw6QXJyYXkuaXNBcnJheShuKT9iLm1hcChuLGZ1bmN0aW9uKGUpe3JldHVybntuYW1lOnQubmFtZSx2YWx1ZTplLnJlcGxhY2UoVHQsXCJcXHJcXG5cIil9fSk6e25hbWU6dC5uYW1lLHZhbHVlOm4ucmVwbGFjZShUdCxcIlxcclxcblwiKX19KS5nZXQoKX19KTt2YXIga3Q9LyUyMC9nLEF0PS8jLiokLyxOdD0vKFs/Jl0pXz1bXiZdKi8sanQ9L14oLio/KTpbIFxcdF0qKFteXFxyXFxuXSopJC9nbSxEdD0vXig/OkdFVHxIRUFEKSQvLHF0PS9eXFwvXFwvLyxMdD17fSxIdD17fSxPdD1cIiovXCIuY29uY2F0KFwiKlwiKSxQdD12LmNyZWF0ZUVsZW1lbnQoXCJhXCIpO2Z1bmN0aW9uIFJ0KGUpe3JldHVybiBmdW5jdGlvbih0LG4pe1wic3RyaW5nXCIhPXR5cGVvZiB0JiYobj10LHQ9XCIqXCIpO3ZhciByLGk9MCxvPXQudG9Mb3dlckNhc2UoKS5tYXRjaChPKXx8W107aWYoaChuKSlmb3IoO3I9b1tpKytdOylcIitcIj09PXJbMF0/KHI9ci5zbGljZSgxKXx8XCIqXCIsKGVbcl09ZVtyXXx8W10pLnVuc2hpZnQobikpOihlW3JdPWVbcl18fFtdKS5wdXNoKG4pfX1mdW5jdGlvbiBNdChlLHQsbixyKXt2YXIgaT17fSxvPWU9PT1IdDtmdW5jdGlvbiBhKHMpe3ZhciB1O3JldHVybiBpW3NdPSEwLGIuZWFjaChlW3NdfHxbXSxmdW5jdGlvbihlLHMpe3ZhciBsPXModCxuLHIpO3JldHVyblwic3RyaW5nXCIhPXR5cGVvZiBsfHxvfHxpW2xdP28/ISh1PWwpOnZvaWQgMDoodC5kYXRhVHlwZXMudW5zaGlmdChsKSxhKGwpLCExKX0pLHV9cmV0dXJuIGEodC5kYXRhVHlwZXNbMF0pfHwhaVtcIipcIl0mJmEoXCIqXCIpfWZ1bmN0aW9uIEl0KGUsdCl7dmFyIG4scixpPWIuYWpheFNldHRpbmdzLmZsYXRPcHRpb25zfHx7fTtmb3IobiBpbiB0KXZvaWQgMCE9PXRbbl0mJigoaVtuXT9lOnJ8fChyPXt9KSlbbl09dFtuXSk7cmV0dXJuIHImJmIuZXh0ZW5kKCEwLGUsciksZX1QdC5ocmVmPW10LmhyZWYsYi5leHRlbmQoe2FjdGl2ZTowLGxhc3RNb2RpZmllZDp7fSxldGFnOnt9LGFqYXhTZXR0aW5nczp7dXJsOm10LmhyZWYsdHlwZTpcIkdFVFwiLGlzTG9jYWw6L14oPzphYm91dHxhcHB8YXBwLXN0b3JhZ2V8ListZXh0ZW5zaW9ufGZpbGV8cmVzfHdpZGdldCk6JC8udGVzdChtdC5wcm90b2NvbCksZ2xvYmFsOiEwLHByb2Nlc3NEYXRhOiEwLGFzeW5jOiEwLGNvbnRlbnRUeXBlOlwiYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkOyBjaGFyc2V0PVVURi04XCIsYWNjZXB0czp7XCIqXCI6T3QsdGV4dDpcInRleHQvcGxhaW5cIixodG1sOlwidGV4dC9odG1sXCIseG1sOlwiYXBwbGljYXRpb24veG1sLCB0ZXh0L3htbFwiLGpzb246XCJhcHBsaWNhdGlvbi9qc29uLCB0ZXh0L2phdmFzY3JpcHRcIn0sY29udGVudHM6e3htbDovXFxieG1sXFxiLyxodG1sOi9cXGJodG1sLyxqc29uOi9cXGJqc29uXFxiL30scmVzcG9uc2VGaWVsZHM6e3htbDpcInJlc3BvbnNlWE1MXCIsdGV4dDpcInJlc3BvbnNlVGV4dFwiLGpzb246XCJyZXNwb25zZUpTT05cIn0sY29udmVydGVyczp7XCIqIHRleHRcIjpTdHJpbmcsXCJ0ZXh0IGh0bWxcIjohMCxcInRleHQganNvblwiOkpTT04ucGFyc2UsXCJ0ZXh0IHhtbFwiOmIucGFyc2VYTUx9LGZsYXRPcHRpb25zOnt1cmw6ITAsY29udGV4dDohMH19LGFqYXhTZXR1cDpmdW5jdGlvbihlLHQpe3JldHVybiB0P0l0KEl0KGUsYi5hamF4U2V0dGluZ3MpLHQpOkl0KGIuYWpheFNldHRpbmdzLGUpfSxhamF4UHJlZmlsdGVyOlJ0KEx0KSxhamF4VHJhbnNwb3J0OlJ0KEh0KSxhamF4OmZ1bmN0aW9uKHQsbil7XCJvYmplY3RcIj09dHlwZW9mIHQmJihuPXQsdD12b2lkIDApLG49bnx8e307dmFyIHIsaSxvLGEscyx1LGwsYyxmLHAsZD1iLmFqYXhTZXR1cCh7fSxuKSxoPWQuY29udGV4dHx8ZCxnPWQuY29udGV4dCYmKGgubm9kZVR5cGV8fGguanF1ZXJ5KT9iKGgpOmIuZXZlbnQseT1iLkRlZmVycmVkKCksbT1iLkNhbGxiYWNrcyhcIm9uY2UgbWVtb3J5XCIpLHg9ZC5zdGF0dXNDb2RlfHx7fSx3PXt9LFQ9e30sQz1cImNhbmNlbGVkXCIsRT17cmVhZHlTdGF0ZTowLGdldFJlc3BvbnNlSGVhZGVyOmZ1bmN0aW9uKGUpe3ZhciB0O2lmKGwpe2lmKCFhKWZvcihhPXt9O3Q9anQuZXhlYyhvKTspYVt0WzFdLnRvTG93ZXJDYXNlKCkrXCIgXCJdPShhW3RbMV0udG9Mb3dlckNhc2UoKStcIiBcIl18fFtdKS5jb25jYXQodFsyXSk7dD1hW2UudG9Mb3dlckNhc2UoKStcIiBcIl19cmV0dXJuIG51bGw9PXQ/bnVsbDp0LmpvaW4oXCIsIFwiKX0sZ2V0QWxsUmVzcG9uc2VIZWFkZXJzOmZ1bmN0aW9uKCl7cmV0dXJuIGw/bzpudWxsfSxzZXRSZXF1ZXN0SGVhZGVyOmZ1bmN0aW9uKGUsdCl7cmV0dXJuIG51bGw9PWwmJihlPVRbZS50b0xvd2VyQ2FzZSgpXT1UW2UudG9Mb3dlckNhc2UoKV18fGUsd1tlXT10KSx0aGlzfSxvdmVycmlkZU1pbWVUeXBlOmZ1bmN0aW9uKGUpe3JldHVybiBudWxsPT1sJiYoZC5taW1lVHlwZT1lKSx0aGlzfSxzdGF0dXNDb2RlOmZ1bmN0aW9uKGUpe3ZhciB0O2lmKGUpaWYobClFLmFsd2F5cyhlW0Uuc3RhdHVzXSk7ZWxzZSBmb3IodCBpbiBlKXhbdF09W3hbdF0sZVt0XV07cmV0dXJuIHRoaXN9LGFib3J0OmZ1bmN0aW9uKGUpe3ZhciB0PWV8fEM7cmV0dXJuIHImJnIuYWJvcnQodCksUygwLHQpLHRoaXN9fTtpZih5LnByb21pc2UoRSksZC51cmw9KCh0fHxkLnVybHx8bXQuaHJlZikrXCJcIikucmVwbGFjZShxdCxtdC5wcm90b2NvbCtcIi8vXCIpLGQudHlwZT1uLm1ldGhvZHx8bi50eXBlfHxkLm1ldGhvZHx8ZC50eXBlLGQuZGF0YVR5cGVzPShkLmRhdGFUeXBlfHxcIipcIikudG9Mb3dlckNhc2UoKS5tYXRjaChPKXx8W1wiXCJdLG51bGw9PWQuY3Jvc3NEb21haW4pe3U9di5jcmVhdGVFbGVtZW50KFwiYVwiKTt0cnl7dS5ocmVmPWQudXJsLHUuaHJlZj11LmhyZWYsZC5jcm9zc0RvbWFpbj1QdC5wcm90b2NvbCtcIi8vXCIrUHQuaG9zdCE9dS5wcm90b2NvbCtcIi8vXCIrdS5ob3N0fWNhdGNoKGUpe2QuY3Jvc3NEb21haW49ITB9fWlmKGQuZGF0YSYmZC5wcm9jZXNzRGF0YSYmXCJzdHJpbmdcIiE9dHlwZW9mIGQuZGF0YSYmKGQuZGF0YT1iLnBhcmFtKGQuZGF0YSxkLnRyYWRpdGlvbmFsKSksTXQoTHQsZCxuLEUpLGwpcmV0dXJuIEU7Zm9yKGYgaW4oYz1iLmV2ZW50JiZkLmdsb2JhbCkmJjA9PWIuYWN0aXZlKysmJmIuZXZlbnQudHJpZ2dlcihcImFqYXhTdGFydFwiKSxkLnR5cGU9ZC50eXBlLnRvVXBwZXJDYXNlKCksZC5oYXNDb250ZW50PSFEdC50ZXN0KGQudHlwZSksaT1kLnVybC5yZXBsYWNlKEF0LFwiXCIpLGQuaGFzQ29udGVudD9kLmRhdGEmJmQucHJvY2Vzc0RhdGEmJjA9PT0oZC5jb250ZW50VHlwZXx8XCJcIikuaW5kZXhPZihcImFwcGxpY2F0aW9uL3gtd3d3LWZvcm0tdXJsZW5jb2RlZFwiKSYmKGQuZGF0YT1kLmRhdGEucmVwbGFjZShrdCxcIitcIikpOihwPWQudXJsLnNsaWNlKGkubGVuZ3RoKSxkLmRhdGEmJihkLnByb2Nlc3NEYXRhfHxcInN0cmluZ1wiPT10eXBlb2YgZC5kYXRhKSYmKGkrPShidC50ZXN0KGkpP1wiJlwiOlwiP1wiKStkLmRhdGEsZGVsZXRlIGQuZGF0YSksITE9PT1kLmNhY2hlJiYoaT1pLnJlcGxhY2UoTnQsXCIkMVwiKSxwPShidC50ZXN0KGkpP1wiJlwiOlwiP1wiKStcIl89XCIreHQuZ3VpZCsrK3ApLGQudXJsPWkrcCksZC5pZk1vZGlmaWVkJiYoYi5sYXN0TW9kaWZpZWRbaV0mJkUuc2V0UmVxdWVzdEhlYWRlcihcIklmLU1vZGlmaWVkLVNpbmNlXCIsYi5sYXN0TW9kaWZpZWRbaV0pLGIuZXRhZ1tpXSYmRS5zZXRSZXF1ZXN0SGVhZGVyKFwiSWYtTm9uZS1NYXRjaFwiLGIuZXRhZ1tpXSkpLChkLmRhdGEmJmQuaGFzQ29udGVudCYmITEhPT1kLmNvbnRlbnRUeXBlfHxuLmNvbnRlbnRUeXBlKSYmRS5zZXRSZXF1ZXN0SGVhZGVyKFwiQ29udGVudC1UeXBlXCIsZC5jb250ZW50VHlwZSksRS5zZXRSZXF1ZXN0SGVhZGVyKFwiQWNjZXB0XCIsZC5kYXRhVHlwZXNbMF0mJmQuYWNjZXB0c1tkLmRhdGFUeXBlc1swXV0/ZC5hY2NlcHRzW2QuZGF0YVR5cGVzWzBdXSsoXCIqXCIhPT1kLmRhdGFUeXBlc1swXT9cIiwgXCIrT3QrXCI7IHE9MC4wMVwiOlwiXCIpOmQuYWNjZXB0c1tcIipcIl0pLGQuaGVhZGVycylFLnNldFJlcXVlc3RIZWFkZXIoZixkLmhlYWRlcnNbZl0pO2lmKGQuYmVmb3JlU2VuZCYmKCExPT09ZC5iZWZvcmVTZW5kLmNhbGwoaCxFLGQpfHxsKSlyZXR1cm4gRS5hYm9ydCgpO2lmKEM9XCJhYm9ydFwiLG0uYWRkKGQuY29tcGxldGUpLEUuZG9uZShkLnN1Y2Nlc3MpLEUuZmFpbChkLmVycm9yKSxyPU10KEh0LGQsbixFKSl7aWYoRS5yZWFkeVN0YXRlPTEsYyYmZy50cmlnZ2VyKFwiYWpheFNlbmRcIixbRSxkXSksbClyZXR1cm4gRTtkLmFzeW5jJiZkLnRpbWVvdXQ+MCYmKHM9ZS5zZXRUaW1lb3V0KGZ1bmN0aW9uKCl7RS5hYm9ydChcInRpbWVvdXRcIil9LGQudGltZW91dCkpO3RyeXtsPSExLHIuc2VuZCh3LFMpfWNhdGNoKGUpe2lmKGwpdGhyb3cgZTtTKC0xLGUpfX1lbHNlIFMoLTEsXCJObyBUcmFuc3BvcnRcIik7ZnVuY3Rpb24gUyh0LG4sYSx1KXt2YXIgZixwLHYsdyxULEM9bjtsfHwobD0hMCxzJiZlLmNsZWFyVGltZW91dChzKSxyPXZvaWQgMCxvPXV8fFwiXCIsRS5yZWFkeVN0YXRlPXQ+MD80OjAsZj10Pj0yMDAmJnQ8MzAwfHwzMDQ9PT10LGEmJih3PWZ1bmN0aW9uKGUsdCxuKXtmb3IodmFyIHIsaSxvLGEscz1lLmNvbnRlbnRzLHU9ZS5kYXRhVHlwZXM7XCIqXCI9PT11WzBdOyl1LnNoaWZ0KCksdm9pZCAwPT09ciYmKHI9ZS5taW1lVHlwZXx8dC5nZXRSZXNwb25zZUhlYWRlcihcIkNvbnRlbnQtVHlwZVwiKSk7aWYocilmb3IoaSBpbiBzKWlmKHNbaV0mJnNbaV0udGVzdChyKSl7dS51bnNoaWZ0KGkpO2JyZWFrfWlmKHVbMF1pbiBuKW89dVswXTtlbHNle2ZvcihpIGluIG4pe2lmKCF1WzBdfHxlLmNvbnZlcnRlcnNbaStcIiBcIit1WzBdXSl7bz1pO2JyZWFrfWF8fChhPWkpfW89b3x8YX1pZihvKXJldHVybiBvIT09dVswXSYmdS51bnNoaWZ0KG8pLG5bb119KGQsRSxhKSksIWYmJmIuaW5BcnJheShcInNjcmlwdFwiLGQuZGF0YVR5cGVzKT4tMSYmYi5pbkFycmF5KFwianNvblwiLGQuZGF0YVR5cGVzKTwwJiYoZC5jb252ZXJ0ZXJzW1widGV4dCBzY3JpcHRcIl09ZnVuY3Rpb24oKXt9KSx3PWZ1bmN0aW9uKGUsdCxuLHIpe3ZhciBpLG8sYSxzLHUsbD17fSxjPWUuZGF0YVR5cGVzLnNsaWNlKCk7aWYoY1sxXSlmb3IoYSBpbiBlLmNvbnZlcnRlcnMpbFthLnRvTG93ZXJDYXNlKCldPWUuY29udmVydGVyc1thXTtmb3Iobz1jLnNoaWZ0KCk7bzspaWYoZS5yZXNwb25zZUZpZWxkc1tvXSYmKG5bZS5yZXNwb25zZUZpZWxkc1tvXV09dCksIXUmJnImJmUuZGF0YUZpbHRlciYmKHQ9ZS5kYXRhRmlsdGVyKHQsZS5kYXRhVHlwZSkpLHU9byxvPWMuc2hpZnQoKSlpZihcIipcIj09PW8pbz11O2Vsc2UgaWYoXCIqXCIhPT11JiZ1IT09byl7aWYoIShhPWxbdStcIiBcIitvXXx8bFtcIiogXCIrb10pKWZvcihpIGluIGwpaWYoKHM9aS5zcGxpdChcIiBcIikpWzFdPT09byYmKGE9bFt1K1wiIFwiK3NbMF1dfHxsW1wiKiBcIitzWzBdXSkpeyEwPT09YT9hPWxbaV06ITAhPT1sW2ldJiYobz1zWzBdLGMudW5zaGlmdChzWzFdKSk7YnJlYWt9aWYoITAhPT1hKWlmKGEmJmUudGhyb3dzKXQ9YSh0KTtlbHNlIHRyeXt0PWEodCl9Y2F0Y2goZSl7cmV0dXJue3N0YXRlOlwicGFyc2VyZXJyb3JcIixlcnJvcjphP2U6XCJObyBjb252ZXJzaW9uIGZyb20gXCIrdStcIiB0byBcIitvfX19cmV0dXJue3N0YXRlOlwic3VjY2Vzc1wiLGRhdGE6dH19KGQsdyxFLGYpLGY/KGQuaWZNb2RpZmllZCYmKChUPUUuZ2V0UmVzcG9uc2VIZWFkZXIoXCJMYXN0LU1vZGlmaWVkXCIpKSYmKGIubGFzdE1vZGlmaWVkW2ldPVQpLChUPUUuZ2V0UmVzcG9uc2VIZWFkZXIoXCJldGFnXCIpKSYmKGIuZXRhZ1tpXT1UKSksMjA0PT09dHx8XCJIRUFEXCI9PT1kLnR5cGU/Qz1cIm5vY29udGVudFwiOjMwND09PXQ/Qz1cIm5vdG1vZGlmaWVkXCI6KEM9dy5zdGF0ZSxwPXcuZGF0YSxmPSEodj13LmVycm9yKSkpOih2PUMsIXQmJkN8fChDPVwiZXJyb3JcIix0PDAmJih0PTApKSksRS5zdGF0dXM9dCxFLnN0YXR1c1RleHQ9KG58fEMpK1wiXCIsZj95LnJlc29sdmVXaXRoKGgsW3AsQyxFXSk6eS5yZWplY3RXaXRoKGgsW0UsQyx2XSksRS5zdGF0dXNDb2RlKHgpLHg9dm9pZCAwLGMmJmcudHJpZ2dlcihmP1wiYWpheFN1Y2Nlc3NcIjpcImFqYXhFcnJvclwiLFtFLGQsZj9wOnZdKSxtLmZpcmVXaXRoKGgsW0UsQ10pLGMmJihnLnRyaWdnZXIoXCJhamF4Q29tcGxldGVcIixbRSxkXSksLS1iLmFjdGl2ZXx8Yi5ldmVudC50cmlnZ2VyKFwiYWpheFN0b3BcIikpKX1yZXR1cm4gRX0sZ2V0SlNPTjpmdW5jdGlvbihlLHQsbil7cmV0dXJuIGIuZ2V0KGUsdCxuLFwianNvblwiKX0sZ2V0U2NyaXB0OmZ1bmN0aW9uKGUsdCl7cmV0dXJuIGIuZ2V0KGUsdm9pZCAwLHQsXCJzY3JpcHRcIil9fSksYi5lYWNoKFtcImdldFwiLFwicG9zdFwiXSxmdW5jdGlvbihlLHQpe2JbdF09ZnVuY3Rpb24oZSxuLHIsaSl7cmV0dXJuIGgobikmJihpPWl8fHIscj1uLG49dm9pZCAwKSxiLmFqYXgoYi5leHRlbmQoe3VybDplLHR5cGU6dCxkYXRhVHlwZTppLGRhdGE6bixzdWNjZXNzOnJ9LGIuaXNQbGFpbk9iamVjdChlKSYmZSkpfX0pLGIuYWpheFByZWZpbHRlcihmdW5jdGlvbihlKXt2YXIgdDtmb3IodCBpbiBlLmhlYWRlcnMpXCJjb250ZW50LXR5cGVcIj09PXQudG9Mb3dlckNhc2UoKSYmKGUuY29udGVudFR5cGU9ZS5oZWFkZXJzW3RdfHxcIlwiKX0pLGIuX2V2YWxVcmw9ZnVuY3Rpb24oZSx0LG4pe3JldHVybiBiLmFqYXgoe3VybDplLHR5cGU6XCJHRVRcIixkYXRhVHlwZTpcInNjcmlwdFwiLGNhY2hlOiEwLGFzeW5jOiExLGdsb2JhbDohMSxjb252ZXJ0ZXJzOntcInRleHQgc2NyaXB0XCI6ZnVuY3Rpb24oKXt9fSxkYXRhRmlsdGVyOmZ1bmN0aW9uKGUpe2IuZ2xvYmFsRXZhbChlLHQsbil9fSl9LGIuZm4uZXh0ZW5kKHt3cmFwQWxsOmZ1bmN0aW9uKGUpe3ZhciB0O3JldHVybiB0aGlzWzBdJiYoaChlKSYmKGU9ZS5jYWxsKHRoaXNbMF0pKSx0PWIoZSx0aGlzWzBdLm93bmVyRG9jdW1lbnQpLmVxKDApLmNsb25lKCEwKSx0aGlzWzBdLnBhcmVudE5vZGUmJnQuaW5zZXJ0QmVmb3JlKHRoaXNbMF0pLHQubWFwKGZ1bmN0aW9uKCl7Zm9yKHZhciBlPXRoaXM7ZS5maXJzdEVsZW1lbnRDaGlsZDspZT1lLmZpcnN0RWxlbWVudENoaWxkO3JldHVybiBlfSkuYXBwZW5kKHRoaXMpKSx0aGlzfSx3cmFwSW5uZXI6ZnVuY3Rpb24oZSl7cmV0dXJuIGgoZSk/dGhpcy5lYWNoKGZ1bmN0aW9uKHQpe2IodGhpcykud3JhcElubmVyKGUuY2FsbCh0aGlzLHQpKX0pOnRoaXMuZWFjaChmdW5jdGlvbigpe3ZhciB0PWIodGhpcyksbj10LmNvbnRlbnRzKCk7bi5sZW5ndGg/bi53cmFwQWxsKGUpOnQuYXBwZW5kKGUpfSl9LHdyYXA6ZnVuY3Rpb24oZSl7dmFyIHQ9aChlKTtyZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKG4pe2IodGhpcykud3JhcEFsbCh0P2UuY2FsbCh0aGlzLG4pOmUpfSl9LHVud3JhcDpmdW5jdGlvbihlKXtyZXR1cm4gdGhpcy5wYXJlbnQoZSkubm90KFwiYm9keVwiKS5lYWNoKGZ1bmN0aW9uKCl7Yih0aGlzKS5yZXBsYWNlV2l0aCh0aGlzLmNoaWxkTm9kZXMpfSksdGhpc319KSxiLmV4cHIucHNldWRvcy5oaWRkZW49ZnVuY3Rpb24oZSl7cmV0dXJuIWIuZXhwci5wc2V1ZG9zLnZpc2libGUoZSl9LGIuZXhwci5wc2V1ZG9zLnZpc2libGU9ZnVuY3Rpb24oZSl7cmV0dXJuISEoZS5vZmZzZXRXaWR0aHx8ZS5vZmZzZXRIZWlnaHR8fGUuZ2V0Q2xpZW50UmVjdHMoKS5sZW5ndGgpfSxiLmFqYXhTZXR0aW5ncy54aHI9ZnVuY3Rpb24oKXt0cnl7cmV0dXJuIG5ldyBlLlhNTEh0dHBSZXF1ZXN0fWNhdGNoKGUpe319O3ZhciBXdD17MDoyMDAsMTIyMzoyMDR9LEZ0PWIuYWpheFNldHRpbmdzLnhocigpO2QuY29ycz0hIUZ0JiZcIndpdGhDcmVkZW50aWFsc1wiaW4gRnQsZC5hamF4PUZ0PSEhRnQsYi5hamF4VHJhbnNwb3J0KGZ1bmN0aW9uKHQpe3ZhciBuLHI7aWYoZC5jb3JzfHxGdCYmIXQuY3Jvc3NEb21haW4pcmV0dXJue3NlbmQ6ZnVuY3Rpb24oaSxvKXt2YXIgYSxzPXQueGhyKCk7aWYocy5vcGVuKHQudHlwZSx0LnVybCx0LmFzeW5jLHQudXNlcm5hbWUsdC5wYXNzd29yZCksdC54aHJGaWVsZHMpZm9yKGEgaW4gdC54aHJGaWVsZHMpc1thXT10LnhockZpZWxkc1thXTtmb3IoYSBpbiB0Lm1pbWVUeXBlJiZzLm92ZXJyaWRlTWltZVR5cGUmJnMub3ZlcnJpZGVNaW1lVHlwZSh0Lm1pbWVUeXBlKSx0LmNyb3NzRG9tYWlufHxpW1wiWC1SZXF1ZXN0ZWQtV2l0aFwiXXx8KGlbXCJYLVJlcXVlc3RlZC1XaXRoXCJdPVwiWE1MSHR0cFJlcXVlc3RcIiksaSlzLnNldFJlcXVlc3RIZWFkZXIoYSxpW2FdKTtuPWZ1bmN0aW9uKGUpe3JldHVybiBmdW5jdGlvbigpe24mJihuPXI9cy5vbmxvYWQ9cy5vbmVycm9yPXMub25hYm9ydD1zLm9udGltZW91dD1zLm9ucmVhZHlzdGF0ZWNoYW5nZT1udWxsLFwiYWJvcnRcIj09PWU/cy5hYm9ydCgpOlwiZXJyb3JcIj09PWU/XCJudW1iZXJcIiE9dHlwZW9mIHMuc3RhdHVzP28oMCxcImVycm9yXCIpOm8ocy5zdGF0dXMscy5zdGF0dXNUZXh0KTpvKFd0W3Muc3RhdHVzXXx8cy5zdGF0dXMscy5zdGF0dXNUZXh0LFwidGV4dFwiIT09KHMucmVzcG9uc2VUeXBlfHxcInRleHRcIil8fFwic3RyaW5nXCIhPXR5cGVvZiBzLnJlc3BvbnNlVGV4dD97YmluYXJ5OnMucmVzcG9uc2V9Ont0ZXh0OnMucmVzcG9uc2VUZXh0fSxzLmdldEFsbFJlc3BvbnNlSGVhZGVycygpKSl9fSxzLm9ubG9hZD1uKCkscj1zLm9uZXJyb3I9cy5vbnRpbWVvdXQ9bihcImVycm9yXCIpLHZvaWQgMCE9PXMub25hYm9ydD9zLm9uYWJvcnQ9cjpzLm9ucmVhZHlzdGF0ZWNoYW5nZT1mdW5jdGlvbigpezQ9PT1zLnJlYWR5U3RhdGUmJmUuc2V0VGltZW91dChmdW5jdGlvbigpe24mJnIoKX0pfSxuPW4oXCJhYm9ydFwiKTt0cnl7cy5zZW5kKHQuaGFzQ29udGVudCYmdC5kYXRhfHxudWxsKX1jYXRjaChlKXtpZihuKXRocm93IGV9fSxhYm9ydDpmdW5jdGlvbigpe24mJm4oKX19fSksYi5hamF4UHJlZmlsdGVyKGZ1bmN0aW9uKGUpe2UuY3Jvc3NEb21haW4mJihlLmNvbnRlbnRzLnNjcmlwdD0hMSl9KSxiLmFqYXhTZXR1cCh7YWNjZXB0czp7c2NyaXB0OlwidGV4dC9qYXZhc2NyaXB0LCBhcHBsaWNhdGlvbi9qYXZhc2NyaXB0LCBhcHBsaWNhdGlvbi9lY21hc2NyaXB0LCBhcHBsaWNhdGlvbi94LWVjbWFzY3JpcHRcIn0sY29udGVudHM6e3NjcmlwdDovXFxiKD86amF2YXxlY21hKXNjcmlwdFxcYi99LGNvbnZlcnRlcnM6e1widGV4dCBzY3JpcHRcIjpmdW5jdGlvbihlKXtyZXR1cm4gYi5nbG9iYWxFdmFsKGUpLGV9fX0pLGIuYWpheFByZWZpbHRlcihcInNjcmlwdFwiLGZ1bmN0aW9uKGUpe3ZvaWQgMD09PWUuY2FjaGUmJihlLmNhY2hlPSExKSxlLmNyb3NzRG9tYWluJiYoZS50eXBlPVwiR0VUXCIpfSksYi5hamF4VHJhbnNwb3J0KFwic2NyaXB0XCIsZnVuY3Rpb24oZSl7dmFyIHQsbjtpZihlLmNyb3NzRG9tYWlufHxlLnNjcmlwdEF0dHJzKXJldHVybntzZW5kOmZ1bmN0aW9uKHIsaSl7dD1iKFwiPHNjcmlwdD5cIikuYXR0cihlLnNjcmlwdEF0dHJzfHx7fSkucHJvcCh7Y2hhcnNldDplLnNjcmlwdENoYXJzZXQsc3JjOmUudXJsfSkub24oXCJsb2FkIGVycm9yXCIsbj1mdW5jdGlvbihlKXt0LnJlbW92ZSgpLG49bnVsbCxlJiZpKFwiZXJyb3JcIj09PWUudHlwZT80MDQ6MjAwLGUudHlwZSl9KSx2LmhlYWQuYXBwZW5kQ2hpbGQodFswXSl9LGFib3J0OmZ1bmN0aW9uKCl7biYmbigpfX19KTt2YXIgQnQsJHQ9W10sX3Q9Lyg9KVxcPyg/PSZ8JCl8XFw/XFw/LztiLmFqYXhTZXR1cCh7anNvbnA6XCJjYWxsYmFja1wiLGpzb25wQ2FsbGJhY2s6ZnVuY3Rpb24oKXt2YXIgZT0kdC5wb3AoKXx8Yi5leHBhbmRvK1wiX1wiK3h0Lmd1aWQrKztyZXR1cm4gdGhpc1tlXT0hMCxlfX0pLGIuYWpheFByZWZpbHRlcihcImpzb24ganNvbnBcIixmdW5jdGlvbih0LG4scil7dmFyIGksbyxhLHM9ITEhPT10Lmpzb25wJiYoX3QudGVzdCh0LnVybCk/XCJ1cmxcIjpcInN0cmluZ1wiPT10eXBlb2YgdC5kYXRhJiYwPT09KHQuY29udGVudFR5cGV8fFwiXCIpLmluZGV4T2YoXCJhcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWRcIikmJl90LnRlc3QodC5kYXRhKSYmXCJkYXRhXCIpO2lmKHN8fFwianNvbnBcIj09PXQuZGF0YVR5cGVzWzBdKXJldHVybiBpPXQuanNvbnBDYWxsYmFjaz1oKHQuanNvbnBDYWxsYmFjayk/dC5qc29ucENhbGxiYWNrKCk6dC5qc29ucENhbGxiYWNrLHM/dFtzXT10W3NdLnJlcGxhY2UoX3QsXCIkMVwiK2kpOiExIT09dC5qc29ucCYmKHQudXJsKz0oYnQudGVzdCh0LnVybCk/XCImXCI6XCI/XCIpK3QuanNvbnArXCI9XCIraSksdC5jb252ZXJ0ZXJzW1wic2NyaXB0IGpzb25cIl09ZnVuY3Rpb24oKXtyZXR1cm4gYXx8Yi5lcnJvcihpK1wiIHdhcyBub3QgY2FsbGVkXCIpLGFbMF19LHQuZGF0YVR5cGVzWzBdPVwianNvblwiLG89ZVtpXSxlW2ldPWZ1bmN0aW9uKCl7YT1hcmd1bWVudHN9LHIuYWx3YXlzKGZ1bmN0aW9uKCl7dm9pZCAwPT09bz9iKGUpLnJlbW92ZVByb3AoaSk6ZVtpXT1vLHRbaV0mJih0Lmpzb25wQ2FsbGJhY2s9bi5qc29ucENhbGxiYWNrLCR0LnB1c2goaSkpLGEmJmgobykmJm8oYVswXSksYT1vPXZvaWQgMH0pLFwic2NyaXB0XCJ9KSxkLmNyZWF0ZUhUTUxEb2N1bWVudD0oKEJ0PXYuaW1wbGVtZW50YXRpb24uY3JlYXRlSFRNTERvY3VtZW50KFwiXCIpLmJvZHkpLmlubmVySFRNTD1cIjxmb3JtPjwvZm9ybT48Zm9ybT48L2Zvcm0+XCIsMj09PUJ0LmNoaWxkTm9kZXMubGVuZ3RoKSxiLnBhcnNlSFRNTD1mdW5jdGlvbihlLHQsbil7cmV0dXJuXCJzdHJpbmdcIiE9dHlwZW9mIGU/W106KFwiYm9vbGVhblwiPT10eXBlb2YgdCYmKG49dCx0PSExKSx0fHwoZC5jcmVhdGVIVE1MRG9jdW1lbnQ/KChyPSh0PXYuaW1wbGVtZW50YXRpb24uY3JlYXRlSFRNTERvY3VtZW50KFwiXCIpKS5jcmVhdGVFbGVtZW50KFwiYmFzZVwiKSkuaHJlZj12LmxvY2F0aW9uLmhyZWYsdC5oZWFkLmFwcGVuZENoaWxkKHIpKTp0PXYpLG89IW4mJltdLChpPUEuZXhlYyhlKSk/W3QuY3JlYXRlRWxlbWVudChpWzFdKV06KGk9eGUoW2VdLHQsbyksbyYmby5sZW5ndGgmJmIobykucmVtb3ZlKCksYi5tZXJnZShbXSxpLmNoaWxkTm9kZXMpKSk7dmFyIHIsaSxvfSxiLmZuLmxvYWQ9ZnVuY3Rpb24oZSx0LG4pe3ZhciByLGksbyxhPXRoaXMscz1lLmluZGV4T2YoXCIgXCIpO3JldHVybiBzPi0xJiYocj1wdChlLnNsaWNlKHMpKSxlPWUuc2xpY2UoMCxzKSksaCh0KT8obj10LHQ9dm9pZCAwKTp0JiZcIm9iamVjdFwiPT10eXBlb2YgdCYmKGk9XCJQT1NUXCIpLGEubGVuZ3RoPjAmJmIuYWpheCh7dXJsOmUsdHlwZTppfHxcIkdFVFwiLGRhdGFUeXBlOlwiaHRtbFwiLGRhdGE6dH0pLmRvbmUoZnVuY3Rpb24oZSl7bz1hcmd1bWVudHMsYS5odG1sKHI/YihcIjxkaXY+XCIpLmFwcGVuZChiLnBhcnNlSFRNTChlKSkuZmluZChyKTplKX0pLmFsd2F5cyhuJiZmdW5jdGlvbihlLHQpe2EuZWFjaChmdW5jdGlvbigpe24uYXBwbHkodGhpcyxvfHxbZS5yZXNwb25zZVRleHQsdCxlXSl9KX0pLHRoaXN9LGIuZXhwci5wc2V1ZG9zLmFuaW1hdGVkPWZ1bmN0aW9uKGUpe3JldHVybiBiLmdyZXAoYi50aW1lcnMsZnVuY3Rpb24odCl7cmV0dXJuIGU9PT10LmVsZW19KS5sZW5ndGh9LGIub2Zmc2V0PXtzZXRPZmZzZXQ6ZnVuY3Rpb24oZSx0LG4pe3ZhciByLGksbyxhLHMsdSxsPWIuY3NzKGUsXCJwb3NpdGlvblwiKSxjPWIoZSksZj17fTtcInN0YXRpY1wiPT09bCYmKGUuc3R5bGUucG9zaXRpb249XCJyZWxhdGl2ZVwiKSxzPWMub2Zmc2V0KCksbz1iLmNzcyhlLFwidG9wXCIpLHU9Yi5jc3MoZSxcImxlZnRcIiksKFwiYWJzb2x1dGVcIj09PWx8fFwiZml4ZWRcIj09PWwpJiYobyt1KS5pbmRleE9mKFwiYXV0b1wiKT4tMT8oYT0ocj1jLnBvc2l0aW9uKCkpLnRvcCxpPXIubGVmdCk6KGE9cGFyc2VGbG9hdChvKXx8MCxpPXBhcnNlRmxvYXQodSl8fDApLGgodCkmJih0PXQuY2FsbChlLG4sYi5leHRlbmQoe30scykpKSxudWxsIT10LnRvcCYmKGYudG9wPXQudG9wLXMudG9wK2EpLG51bGwhPXQubGVmdCYmKGYubGVmdD10LmxlZnQtcy5sZWZ0K2kpLFwidXNpbmdcImluIHQ/dC51c2luZy5jYWxsKGUsZik6Yy5jc3MoZil9fSxiLmZuLmV4dGVuZCh7b2Zmc2V0OmZ1bmN0aW9uKGUpe2lmKGFyZ3VtZW50cy5sZW5ndGgpcmV0dXJuIHZvaWQgMD09PWU/dGhpczp0aGlzLmVhY2goZnVuY3Rpb24odCl7Yi5vZmZzZXQuc2V0T2Zmc2V0KHRoaXMsZSx0KX0pO3ZhciB0LG4scj10aGlzWzBdO3JldHVybiByP3IuZ2V0Q2xpZW50UmVjdHMoKS5sZW5ndGg/KHQ9ci5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSxuPXIub3duZXJEb2N1bWVudC5kZWZhdWx0Vmlldyx7dG9wOnQudG9wK24ucGFnZVlPZmZzZXQsbGVmdDp0LmxlZnQrbi5wYWdlWE9mZnNldH0pOnt0b3A6MCxsZWZ0OjB9OnZvaWQgMH0scG9zaXRpb246ZnVuY3Rpb24oKXtpZih0aGlzWzBdKXt2YXIgZSx0LG4scj10aGlzWzBdLGk9e3RvcDowLGxlZnQ6MH07aWYoXCJmaXhlZFwiPT09Yi5jc3MocixcInBvc2l0aW9uXCIpKXQ9ci5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtlbHNle2Zvcih0PXRoaXMub2Zmc2V0KCksbj1yLm93bmVyRG9jdW1lbnQsZT1yLm9mZnNldFBhcmVudHx8bi5kb2N1bWVudEVsZW1lbnQ7ZSYmKGU9PT1uLmJvZHl8fGU9PT1uLmRvY3VtZW50RWxlbWVudCkmJlwic3RhdGljXCI9PT1iLmNzcyhlLFwicG9zaXRpb25cIik7KWU9ZS5wYXJlbnROb2RlO2UmJmUhPT1yJiYxPT09ZS5ub2RlVHlwZSYmKChpPWIoZSkub2Zmc2V0KCkpLnRvcCs9Yi5jc3MoZSxcImJvcmRlclRvcFdpZHRoXCIsITApLGkubGVmdCs9Yi5jc3MoZSxcImJvcmRlckxlZnRXaWR0aFwiLCEwKSl9cmV0dXJue3RvcDp0LnRvcC1pLnRvcC1iLmNzcyhyLFwibWFyZ2luVG9wXCIsITApLGxlZnQ6dC5sZWZ0LWkubGVmdC1iLmNzcyhyLFwibWFyZ2luTGVmdFwiLCEwKX19fSxvZmZzZXRQYXJlbnQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5tYXAoZnVuY3Rpb24oKXtmb3IodmFyIGU9dGhpcy5vZmZzZXRQYXJlbnQ7ZSYmXCJzdGF0aWNcIj09PWIuY3NzKGUsXCJwb3NpdGlvblwiKTspZT1lLm9mZnNldFBhcmVudDtyZXR1cm4gZXx8bmV9KX19KSxiLmVhY2goe3Njcm9sbExlZnQ6XCJwYWdlWE9mZnNldFwiLHNjcm9sbFRvcDpcInBhZ2VZT2Zmc2V0XCJ9LGZ1bmN0aW9uKGUsdCl7dmFyIG49XCJwYWdlWU9mZnNldFwiPT09dDtiLmZuW2VdPWZ1bmN0aW9uKHIpe3JldHVybiBCKHRoaXMsZnVuY3Rpb24oZSxyLGkpe3ZhciBvO2lmKGcoZSk/bz1lOjk9PT1lLm5vZGVUeXBlJiYobz1lLmRlZmF1bHRWaWV3KSx2b2lkIDA9PT1pKXJldHVybiBvP29bdF06ZVtyXTtvP28uc2Nyb2xsVG8obj9vLnBhZ2VYT2Zmc2V0Omksbj9pOm8ucGFnZVlPZmZzZXQpOmVbcl09aX0sZSxyLGFyZ3VtZW50cy5sZW5ndGgpfX0pLGIuZWFjaChbXCJ0b3BcIixcImxlZnRcIl0sZnVuY3Rpb24oZSx0KXtiLmNzc0hvb2tzW3RdPUZlKGQucGl4ZWxQb3NpdGlvbixmdW5jdGlvbihlLG4pe2lmKG4pcmV0dXJuIG49V2UoZSx0KSxQZS50ZXN0KG4pP2IoZSkucG9zaXRpb24oKVt0XStcInB4XCI6bn0pfSksYi5lYWNoKHtIZWlnaHQ6XCJoZWlnaHRcIixXaWR0aDpcIndpZHRoXCJ9LGZ1bmN0aW9uKGUsdCl7Yi5lYWNoKHtwYWRkaW5nOlwiaW5uZXJcIitlLGNvbnRlbnQ6dCxcIlwiOlwib3V0ZXJcIitlfSxmdW5jdGlvbihuLHIpe2IuZm5bcl09ZnVuY3Rpb24oaSxvKXt2YXIgYT1hcmd1bWVudHMubGVuZ3RoJiYobnx8XCJib29sZWFuXCIhPXR5cGVvZiBpKSxzPW58fCghMD09PWl8fCEwPT09bz9cIm1hcmdpblwiOlwiYm9yZGVyXCIpO3JldHVybiBCKHRoaXMsZnVuY3Rpb24odCxuLGkpe3ZhciBvO3JldHVybiBnKHQpPzA9PT1yLmluZGV4T2YoXCJvdXRlclwiKT90W1wiaW5uZXJcIitlXTp0LmRvY3VtZW50LmRvY3VtZW50RWxlbWVudFtcImNsaWVudFwiK2VdOjk9PT10Lm5vZGVUeXBlPyhvPXQuZG9jdW1lbnRFbGVtZW50LE1hdGgubWF4KHQuYm9keVtcInNjcm9sbFwiK2VdLG9bXCJzY3JvbGxcIitlXSx0LmJvZHlbXCJvZmZzZXRcIitlXSxvW1wib2Zmc2V0XCIrZV0sb1tcImNsaWVudFwiK2VdKSk6dm9pZCAwPT09aT9iLmNzcyh0LG4scyk6Yi5zdHlsZSh0LG4saSxzKX0sdCxhP2k6dm9pZCAwLGEpfX0pfSksYi5lYWNoKFtcImFqYXhTdGFydFwiLFwiYWpheFN0b3BcIixcImFqYXhDb21wbGV0ZVwiLFwiYWpheEVycm9yXCIsXCJhamF4U3VjY2Vzc1wiLFwiYWpheFNlbmRcIl0sZnVuY3Rpb24oZSx0KXtiLmZuW3RdPWZ1bmN0aW9uKGUpe3JldHVybiB0aGlzLm9uKHQsZSl9fSksYi5mbi5leHRlbmQoe2JpbmQ6ZnVuY3Rpb24oZSx0LG4pe3JldHVybiB0aGlzLm9uKGUsbnVsbCx0LG4pfSx1bmJpbmQ6ZnVuY3Rpb24oZSx0KXtyZXR1cm4gdGhpcy5vZmYoZSxudWxsLHQpfSxkZWxlZ2F0ZTpmdW5jdGlvbihlLHQsbixyKXtyZXR1cm4gdGhpcy5vbih0LGUsbixyKX0sdW5kZWxlZ2F0ZTpmdW5jdGlvbihlLHQsbil7cmV0dXJuIDE9PT1hcmd1bWVudHMubGVuZ3RoP3RoaXMub2ZmKGUsXCIqKlwiKTp0aGlzLm9mZih0LGV8fFwiKipcIixuKX0saG92ZXI6ZnVuY3Rpb24oZSx0KXtyZXR1cm4gdGhpcy5tb3VzZWVudGVyKGUpLm1vdXNlbGVhdmUodHx8ZSl9fSksYi5lYWNoKFwiYmx1ciBmb2N1cyBmb2N1c2luIGZvY3Vzb3V0IHJlc2l6ZSBzY3JvbGwgY2xpY2sgZGJsY2xpY2sgbW91c2Vkb3duIG1vdXNldXAgbW91c2Vtb3ZlIG1vdXNlb3ZlciBtb3VzZW91dCBtb3VzZWVudGVyIG1vdXNlbGVhdmUgY2hhbmdlIHNlbGVjdCBzdWJtaXQga2V5ZG93biBrZXlwcmVzcyBrZXl1cCBjb250ZXh0bWVudVwiLnNwbGl0KFwiIFwiKSxmdW5jdGlvbihlLHQpe2IuZm5bdF09ZnVuY3Rpb24oZSxuKXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD4wP3RoaXMub24odCxudWxsLGUsbik6dGhpcy50cmlnZ2VyKHQpfX0pO3ZhciB6dD0vXltcXHNcXHVGRUZGXFx4QTBdK3xbXFxzXFx1RkVGRlxceEEwXSskL2c7Yi5wcm94eT1mdW5jdGlvbihlLHQpe3ZhciBuLHIsbztpZihcInN0cmluZ1wiPT10eXBlb2YgdCYmKG49ZVt0XSx0PWUsZT1uKSxoKGUpKXJldHVybiByPWkuY2FsbChhcmd1bWVudHMsMiksKG89ZnVuY3Rpb24oKXtyZXR1cm4gZS5hcHBseSh0fHx0aGlzLHIuY29uY2F0KGkuY2FsbChhcmd1bWVudHMpKSl9KS5ndWlkPWUuZ3VpZD1lLmd1aWR8fGIuZ3VpZCsrLG99LGIuaG9sZFJlYWR5PWZ1bmN0aW9uKGUpe2U/Yi5yZWFkeVdhaXQrKzpiLnJlYWR5KCEwKX0sYi5pc0FycmF5PUFycmF5LmlzQXJyYXksYi5wYXJzZUpTT049SlNPTi5wYXJzZSxiLm5vZGVOYW1lPWssYi5pc0Z1bmN0aW9uPWgsYi5pc1dpbmRvdz1nLGIuY2FtZWxDYXNlPVUsYi50eXBlPXgsYi5ub3c9RGF0ZS5ub3csYi5pc051bWVyaWM9ZnVuY3Rpb24oZSl7dmFyIHQ9Yi50eXBlKGUpO3JldHVybihcIm51bWJlclwiPT09dHx8XCJzdHJpbmdcIj09PXQpJiYhaXNOYU4oZS1wYXJzZUZsb2F0KGUpKX0sYi50cmltPWZ1bmN0aW9uKGUpe3JldHVybiBudWxsPT1lP1wiXCI6KGUrXCJcIikucmVwbGFjZSh6dCxcIlwiKX0sXCJmdW5jdGlvblwiPT10eXBlb2YgZGVmaW5lJiZkZWZpbmUuYW1kJiZkZWZpbmUoXCJqcXVlcnlcIixbXSxmdW5jdGlvbigpe3JldHVybiBifSk7dmFyIFV0PWUualF1ZXJ5LFh0PWUuJDtyZXR1cm4gYi5ub0NvbmZsaWN0PWZ1bmN0aW9uKHQpe3JldHVybiBlLiQ9PT1iJiYoZS4kPVh0KSx0JiZlLmpRdWVyeT09PWImJihlLmpRdWVyeT1VdCksYn0sdm9pZCAwPT09dCYmKGUualF1ZXJ5PWUuJD1iKSxifSk7XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJbXB4ZFdWeWVTNXFjeUpkTENKdVlXMWxjeUk2V3lKbmJHOWlZV3dpTENKbVlXTjBiM0o1SWl3aWJXOWtkV3hsSWl3aVpYaHdiM0owY3lJc0ltUnZZM1Z0Wlc1MElpd2lkeUlzSWtWeWNtOXlJaXdpZDJsdVpHOTNJaXdpZEdocGN5SXNJbTV2UjJ4dlltRnNJaXdpWVhKeUlpd2laMlYwVUhKdmRHOGlMQ0pQWW1wbFkzUWlMQ0puWlhSUWNtOTBiM1I1Y0dWUFppSXNJbk5zYVdObElpd2labXhoZENJc0ltRnljbUY1SWl3aVkyRnNiQ0lzSW1OdmJtTmhkQ0lzSW1Gd2NHeDVJaXdpY0hWemFDSXNJbWx1WkdWNFQyWWlMQ0pqYkdGemN6SjBlWEJsSWl3aWRHOVRkSEpwYm1jaUxDSm9ZWE5QZDI0aUxDSm9ZWE5QZDI1UWNtOXdaWEowZVNJc0ltWnVWRzlUZEhKcGJtY2lMQ0pQWW1wbFkzUkdkVzVqZEdsdmJsTjBjbWx1WnlJc0luTjFjSEJ2Y25RaUxDSnBjMFoxYm1OMGFXOXVJaXdpYjJKcUlpd2libTlrWlZSNWNHVWlMQ0pwZEdWdElpd2lhWE5YYVc1a2IzY2lMQ0p3Y21WelpYSjJaV1JUWTNKcGNIUkJkSFJ5YVdKMWRHVnpJaXdpZEhsd1pTSXNJbk55WXlJc0ltNXZibU5sSWl3aWJtOU5iMlIxYkdVaUxDSkVUMDFGZG1Gc0lpd2lZMjlrWlNJc0ltNXZaR1VpTENKa2IyTWlMQ0pwSWl3aWRtRnNJaXdpYzJOeWFYQjBJaXdpWTNKbFlYUmxSV3hsYldWdWRDSXNJblJsZUhRaUxDSm5aWFJCZEhSeWFXSjFkR1VpTENKelpYUkJkSFJ5YVdKMWRHVWlMQ0pvWldGa0lpd2lZWEJ3Wlc1a1EyaHBiR1FpTENKd1lYSmxiblJPYjJSbElpd2ljbVZ0YjNabFEyaHBiR1FpTENKMGIxUjVjR1VpTENKcVVYVmxjbmtpTENKelpXeGxZM1J2Y2lJc0ltTnZiblJsZUhRaUxDSm1iaUlzSW1sdWFYUWlMQ0pwYzBGeWNtRjVUR2xyWlNJc0lteGxibWQwYUNJc0luQnliM1J2ZEhsd1pTSXNJbXB4ZFdWeWVTSXNJbU52Ym5OMGNuVmpkRzl5SWl3aWRHOUJjbkpoZVNJc0ltZGxkQ0lzSW01MWJTSXNJbkIxYzJoVGRHRmpheUlzSW1Wc1pXMXpJaXdpY21WMElpd2liV1Z5WjJVaUxDSndjbVYyVDJKcVpXTjBJaXdpWldGamFDSXNJbU5oYkd4aVlXTnJJaXdpYldGd0lpd2laV3hsYlNJc0ltRnlaM1Z0Wlc1MGN5SXNJbVpwY25OMElpd2laWEVpTENKc1lYTjBJaXdpWlhabGJpSXNJbWR5WlhBaUxDSmZaV3hsYlNJc0ltOWtaQ0lzSW14bGJpSXNJbW9pTENKbGJtUWlMQ0p6YjNKMElpd2ljM0JzYVdObElpd2laWGgwWlc1a0lpd2liM0IwYVc5dWN5SXNJbTVoYldVaUxDSmpiM0I1SWl3aVkyOXdlVWx6UVhKeVlYa2lMQ0pqYkc5dVpTSXNJblJoY21kbGRDSXNJbVJsWlhBaUxDSnBjMUJzWVdsdVQySnFaV04wSWl3aVFYSnlZWGtpTENKcGMwRnljbUY1SWl3aWRXNWtaV1pwYm1Wa0lpd2laWGh3WVc1a2J5SXNJazFoZEdnaUxDSnlZVzVrYjIwaUxDSnlaWEJzWVdObElpd2lhWE5TWldGa2VTSXNJbVZ5Y205eUlpd2liWE5uSWl3aWJtOXZjQ0lzSW5CeWIzUnZJaXdpUTNSdmNpSXNJbWx6Ulcxd2RIbFBZbXBsWTNRaUxDSm5iRzlpWVd4RmRtRnNJaXdpYldGclpVRnljbUY1SWl3aWNtVnpkV3gwY3lJc0ltbHVRWEp5WVhraUxDSnpaV052Ym1RaUxDSnBiblpsY25RaUxDSnRZWFJqYUdWeklpd2lZMkZzYkdKaFkydEZlSEJsWTNRaUxDSmhjbWNpTENKMllXeDFaU0lzSW1kMWFXUWlMQ0pUZVcxaWIyd2lMQ0pwZEdWeVlYUnZjaUlzSW5Od2JHbDBJaXdpWDJraUxDSjBiMHh2ZDJWeVEyRnpaU0lzSWxOcGVucHNaU0lzSWtWNGNISWlMQ0puWlhSVVpYaDBJaXdpYVhOWVRVd2lMQ0owYjJ0bGJtbDZaU0lzSW1OdmJYQnBiR1VpTENKelpXeGxZM1FpTENKdmRYUmxjbTF2YzNSRGIyNTBaWGgwSWl3aWMyOXlkRWx1Y0hWMElpd2lhR0Z6UkhWd2JHbGpZWFJsSWl3aWMyVjBSRzlqZFcxbGJuUWlMQ0prYjJORmJHVnRJaXdpWkc5amRXMWxiblJKYzBoVVRVd2lMQ0p5WW5WblozbFJVMEVpTENKeVluVm5aM2xOWVhSamFHVnpJaXdpWTI5dWRHRnBibk1pTENKRVlYUmxJaXdpY0hKbFptVnljbVZrUkc5aklpd2laR2x5Y25WdWN5SXNJbVJ2Ym1VaUxDSmpiR0Z6YzBOaFkyaGxJaXdpWTNKbFlYUmxRMkZqYUdVaUxDSjBiMnRsYmtOaFkyaGxJaXdpWTI5dGNHbHNaWEpEWVdOb1pTSXNJbTV2Ym01aGRHbDJaVk5sYkdWamRHOXlRMkZqYUdVaUxDSnpiM0owVDNKa1pYSWlMQ0poSWl3aVlpSXNJbkJ2Y0NJc0luQjFjMmhPWVhScGRtVWlMQ0pzYVhOMElpd2lZbTl2YkdWaGJuTWlMQ0ozYUdsMFpYTndZV05sSWl3aWFXUmxiblJwWm1sbGNpSXNJbUYwZEhKcFluVjBaWE1pTENKd2MyVjFaRzl6SWl3aWNuZG9hWFJsYzNCaFkyVWlMQ0pTWldkRmVIQWlMQ0p5ZEhKcGJTSXNJbkpqYjIxdFlTSXNJbkpqYjIxaWFXNWhkRzl5Y3lJc0luSmtaWE5qWlc1a0lpd2ljbkJ6WlhWa2J5SXNJbkpwWkdWdWRHbG1hV1Z5SWl3aWJXRjBZMmhGZUhCeUlpd2lTVVFpTENKRFRFRlRVeUlzSWxSQlJ5SXNJa0ZVVkZJaUxDSlFVMFZWUkU4aUxDSkRTRWxNUkNJc0ltSnZiMndpTENKdVpXVmtjME52Ym5SbGVIUWlMQ0p5YUhSdGJDSXNJbkpwYm5CMWRITWlMQ0p5YUdWaFpHVnlJaXdpY201aGRHbDJaU0lzSW5KeGRXbGphMFY0Y0hJaUxDSnljMmxpYkdsdVp5SXNJbkoxYm1WelkyRndaU0lzSW1aMWJtVnpZMkZ3WlNJc0ltVnpZMkZ3WlNJc0ltNXZia2hsZUNJc0ltaHBaMmdpTENKVGRISnBibWNpTENKbWNtOXRRMmhoY2tOdlpHVWlMQ0p5WTNOelpYTmpZWEJsSWl3aVptTnpjMlZ6WTJGd1pTSXNJbU5vSWl3aVlYTkRiMlJsVUc5cGJuUWlMQ0pqYUdGeVEyOWtaVUYwSWl3aWRXNXNiMkZrU0dGdVpHeGxjaUlzSW1sdVJHbHpZV0pzWldSR2FXVnNaSE5sZENJc0ltRmtaRU52YldKcGJtRjBiM0lpTENKa2FYTmhZbXhsWkNJc0ltNXZaR1ZPWVcxbElpd2laR2x5SWl3aWJtVjRkQ0lzSW1Ob2FXeGtUbTlrWlhNaUxDSmxJaXdpWld4eklpd2ljMlZsWkNJc0ltMGlMQ0p1YVdRaUxDSnRZWFJqYUNJc0ltZHliM1Z3Y3lJc0ltNWxkMU5sYkdWamRHOXlJaXdpYm1WM1EyOXVkR1Y0ZENJc0ltOTNibVZ5Ukc5amRXMWxiblFpTENKbGVHVmpJaXdpWjJWMFJXeGxiV1Z1ZEVKNVNXUWlMQ0pwWkNJc0ltZGxkRVZzWlcxbGJuUnpRbmxVWVdkT1lXMWxJaXdpWjJWMFJXeGxiV1Z1ZEhOQ2VVTnNZWE56VG1GdFpTSXNJbkZ6WVNJc0luUmxjM1FpTENKMFpYTjBRMjl1ZEdWNGRDSXNJbk5qYjNCbElpd2lkRzlUWld4bFkzUnZjaUlzSW1wdmFXNGlMQ0p4ZFdWeWVWTmxiR1ZqZEc5eVFXeHNJaXdpY1hOaFJYSnliM0lpTENKeVpXMXZkbVZCZEhSeWFXSjFkR1VpTENKclpYbHpJaXdpWTJGamFHVWlMQ0pyWlhraUxDSmpZV05vWlV4bGJtZDBhQ0lzSW5Ob2FXWjBJaXdpYldGeWEwWjFibU4wYVc5dUlpd2lZWE56WlhKMElpd2laV3dpTENKaFpHUklZVzVrYkdVaUxDSmhkSFJ5Y3lJc0ltaGhibVJzWlhJaUxDSmhkSFJ5U0dGdVpHeGxJaXdpYzJsaWJHbHVaME5vWldOcklpd2lZM1Z5SWl3aVpHbG1aaUlzSW5OdmRYSmpaVWx1WkdWNElpd2libVY0ZEZOcFlteHBibWNpTENKamNtVmhkR1ZKYm5CMWRGQnpaWFZrYnlJc0ltTnlaV0YwWlVKMWRIUnZibEJ6WlhWa2J5SXNJbU55WldGMFpVUnBjMkZpYkdWa1VITmxkV1J2SWl3aWFYTkVhWE5oWW14bFpDSXNJbU55WldGMFpWQnZjMmwwYVc5dVlXeFFjMlYxWkc4aUxDSmhjbWQxYldWdWRDSXNJbTFoZEdOb1NXNWtaWGhsY3lJc0ltNWhiV1Z6Y0dGalpTSXNJbTVoYldWemNHRmpaVlZTU1NJc0ltUnZZM1Z0Wlc1MFJXeGxiV1Z1ZENJc0ltaGhjME52YlhCaGNtVWlMQ0p6ZFdKWGFXNWtiM2NpTENKa1pXWmhkV3gwVm1sbGR5SXNJblJ2Y0NJc0ltRmtaRVYyWlc1MFRHbHpkR1Z1WlhJaUxDSmhkSFJoWTJoRmRtVnVkQ0lzSW1Oc1lYTnpUbUZ0WlNJc0ltTnlaV0YwWlVOdmJXMWxiblFpTENKblpYUkNlVWxrSWl3aVoyVjBSV3hsYldWdWRITkNlVTVoYldVaUxDSm1hV3gwWlhJaUxDSmhkSFJ5U1dRaUxDSm1hVzVrSWl3aVoyVjBRWFIwY21saWRYUmxUbTlrWlNJc0luUmhaeUlzSW5SdGNDSXNJbWx1Y0hWMElpd2lhVzV1WlhKSVZFMU1JaXdpYldGMFkyaGxjMU5sYkdWamRHOXlJaXdpZDJWaWEybDBUV0YwWTJobGMxTmxiR1ZqZEc5eUlpd2liVzk2VFdGMFkyaGxjMU5sYkdWamRHOXlJaXdpYjAxaGRHTm9aWE5UWld4bFkzUnZjaUlzSW0xelRXRjBZMmhsYzFObGJHVmpkRzl5SWl3aVpHbHpZMjl1Ym1WamRHVmtUV0YwWTJnaUxDSmpiMjF3WVhKbFJHOWpkVzFsYm5SUWIzTnBkR2x2YmlJc0ltRmtiM2R1SWl3aVluVndJaXdpWTI5dGNHRnlaU0lzSW5OdmNuUkVaWFJoWTJobFpDSXNJbUYxY0NJc0ltRndJaXdpWW5BaUxDSjFibk5vYVdaMElpd2laWGh3Y2lJc0ltVnNaVzFsYm5Seklpd2lZWFIwY2lJc0luTndaV05wWm1sbFpDSXNJbk5sYkNJc0luVnVhWEYxWlZOdmNuUWlMQ0prZFhCc2FXTmhkR1Z6SWl3aVpHVjBaV04wUkhWd2JHbGpZWFJsY3lJc0luTnZjblJUZEdGaWJHVWlMQ0owWlhoMFEyOXVkR1Z1ZENJc0ltWnBjbk4wUTJocGJHUWlMQ0p1YjJSbFZtRnNkV1VpTENKelpXeGxZM1J2Y25NaUxDSmpjbVZoZEdWUWMyVjFaRzhpTENKeVpXeGhkR2wyWlNJc0lqNGlMQ0lnSWl3aUt5SXNJbjRpTENKd2NtVkdhV3gwWlhJaUxDSmxlR05sYzNNaUxDSjFibkYxYjNSbFpDSXNJbTV2WkdWT1lXMWxVMlZzWldOMGIzSWlMQ0p3WVhSMFpYSnVJaXdpYjNCbGNtRjBiM0lpTENKamFHVmpheUlzSW5KbGMzVnNkQ0lzSW5kb1lYUWlMQ0pmWVhKbmRXMWxiblFpTENKemFXMXdiR1VpTENKbWIzSjNZWEprSWl3aWIyWlVlWEJsSWl3aVgyTnZiblJsZUhRaUxDSjRiV3dpTENKMWJtbHhkV1ZEWVdOb1pTSXNJbTkxZEdWeVEyRmphR1VpTENKdWIyUmxTVzVrWlhnaUxDSnpkR0Z5ZENJc0luQmhjbVZ1ZENJc0luVnpaVU5oWTJobElpd2liR0Z6ZEVOb2FXeGtJaXdpZFc1cGNYVmxTVVFpTENKd2MyVjFaRzhpTENKaGNtZHpJaXdpYzJWMFJtbHNkR1Z5Y3lJc0ltbGtlQ0lzSW0xaGRHTm9aV1FpTENKdWIzUWlMQ0p0WVhSamFHVnlJaXdpZFc1dFlYUmphR1ZrSWl3aWFHRnpJaXdpYkdGdVp5SXNJbVZzWlcxTVlXNW5JaXdpYUdGemFDSXNJbXh2WTJGMGFXOXVJaXdpY205dmRDSXNJbVp2WTNWeklpd2lZV04wYVhabFJXeGxiV1Z1ZENJc0ltaGhjMFp2WTNWeklpd2lhSEpsWmlJc0luUmhZa2x1WkdWNElpd2laVzVoWW14bFpDSXNJbU5vWldOclpXUWlMQ0p6Wld4bFkzUmxaQ0lzSW5ObGJHVmpkR1ZrU1c1a1pYZ2lMQ0psYlhCMGVTSXNJbWhsWVdSbGNpSXNJbUoxZEhSdmJpSXNJbDl0WVhSamFFbHVaR1Y0WlhNaUxDSnNkQ0lzSW1kMElpd2ljbUZrYVc4aUxDSmphR1ZqYTJKdmVDSXNJbVpwYkdVaUxDSndZWE56ZDI5eVpDSXNJbWx0WVdkbElpd2ljM1ZpYldsMElpd2ljbVZ6WlhRaUxDSjBiMnRsYm5NaUxDSmpiMjFpYVc1aGRHOXlJaXdpWW1GelpTSXNJbk5yYVhBaUxDSmphR1ZqYTA1dmJrVnNaVzFsYm5Seklpd2laRzl1WlU1aGJXVWlMQ0p2YkdSRFlXTm9aU0lzSW01bGQwTmhZMmhsSWl3aVpXeGxiV1Z1ZEUxaGRHTm9aWElpTENKdFlYUmphR1Z5Y3lJc0ltTnZibVJsYm5ObElpd2libVYzVlc1dFlYUmphR1ZrSWl3aWJXRndjR1ZrSWl3aWMyVjBUV0YwWTJobGNpSXNJbkJ2YzNSR2FXeDBaWElpTENKd2IzTjBSbWx1WkdWeUlpd2ljRzl6ZEZObGJHVmpkRzl5SWl3aWRHVnRjQ0lzSW5CeVpVMWhjQ0lzSW5CdmMzUk5ZWEFpTENKd2NtVmxlR2x6ZEdsdVp5SXNJbU52Ym5SbGVIUnpJaXdpYlhWc2RHbHdiR1ZEYjI1MFpYaDBjeUlzSW0xaGRHTm9aWEpKYmlJc0ltMWhkR05vWlhKUGRYUWlMQ0p0WVhSamFHVnlSbkp2YlZSdmEyVnVjeUlzSW1Ob1pXTnJRMjl1ZEdWNGRDSXNJbXhsWVdScGJtZFNaV3hoZEdsMlpTSXNJbWx0Y0d4cFkybDBVbVZzWVhScGRtVWlMQ0p0WVhSamFFTnZiblJsZUhRaUxDSnRZWFJqYUVGdWVVTnZiblJsZUhRaUxDSm1hV3gwWlhKeklpd2ljR0Z5YzJWUGJteDVJaXdpYzI5R1lYSWlMQ0p3Y21WR2FXeDBaWEp6SWl3aVkyRmphR1ZrSWl3aWMyVjBUV0YwWTJobGNuTWlMQ0psYkdWdFpXNTBUV0YwWTJobGNuTWlMQ0ppZVZObGRDSXNJbUo1Uld4bGJXVnVkQ0lzSW5OMWNHVnlUV0YwWTJobGNpSXNJbTkxZEdWeWJXOXpkQ0lzSW0xaGRHTm9aV1JEYjNWdWRDSXNJbk5sZEUxaGRHTm9aV1FpTENKamIyNTBaWGgwUW1GamEzVndJaXdpWkdseWNuVnVjMVZ1YVhGMVpTSXNJbTFoZEdOb1pYSkdjbTl0UjNKdmRYQk5ZWFJqYUdWeWN5SXNJblJ2YTJWdUlpd2lZMjl0Y0dsc1pXUWlMQ0pmYm1GdFpTSXNJbVJsWm1GMWJIUldZV3gxWlNJc0luVnVhWEYxWlNJc0ltbHpXRTFNUkc5aklpd2laWE5qWVhCbFUyVnNaV04wYjNJaUxDSjFiblJwYkNJc0luUnlkVzVqWVhSbElpd2lhWE1pTENKemFXSnNhVzVuY3lJc0ltNGlMQ0p5Ym1WbFpITkRiMjUwWlhoMElpd2ljbk5wYm1kc1pWUmhaeUlzSW5kcGJtNXZkeUlzSW5GMVlXeHBabWxsY2lJc0luTmxiR1lpTENKeWIyOTBhbEYxWlhKNUlpd2ljR0Z5YzJWSVZFMU1JaXdpY21WaFpIa2lMQ0p5Y0dGeVpXNTBjM0J5WlhZaUxDSm5kV0Z5WVc1MFpXVmtWVzVwY1hWbElpd2lZMmhwYkdSeVpXNGlMQ0pqYjI1MFpXNTBjeUlzSW5CeVpYWWlMQ0p6YVdKc2FXNW5JaXdpZEdGeVoyVjBjeUlzSW13aUxDSmpiRzl6WlhOMElpd2lhVzVrWlhnaUxDSndjbVYyUVd4c0lpd2lZV1JrSWl3aVlXUmtRbUZqYXlJc0luQmhjbVZ1ZEhNaUxDSndZWEpsYm5SelZXNTBhV3dpTENKdVpYaDBRV3hzSWl3aWJtVjRkRlZ1ZEdsc0lpd2ljSEpsZGxWdWRHbHNJaXdpWTI5dWRHVnVkRVJ2WTNWdFpXNTBJaXdpWTI5dWRHVnVkQ0lzSW5KbGRtVnljMlVpTENKeWJtOTBhSFJ0Ykhkb2FYUmxJaXdpU1dSbGJuUnBkSGtpTENKMklpd2lWR2h5YjNkbGNpSXNJbVY0SWl3aVlXUnZjSFJXWVd4MVpTSXNJbkpsYzI5c2RtVWlMQ0p5WldwbFkzUWlMQ0p1YjFaaGJIVmxJaXdpYldWMGFHOWtJaXdpY0hKdmJXbHpaU0lzSW1aaGFXd2lMQ0owYUdWdUlpd2lRMkZzYkdKaFkydHpJaXdpYjJKcVpXTjBJaXdpWHlJc0ltWnNZV2NpTENKamNtVmhkR1ZQY0hScGIyNXpJaXdpWm1seWFXNW5JaXdpYldWdGIzSjVJaXdpWm1seVpXUWlMQ0pzYjJOclpXUWlMQ0p4ZFdWMVpTSXNJbVpwY21sdVowbHVaR1Y0SWl3aVptbHlaU0lzSW05dVkyVWlMQ0p6ZEc5d1QyNUdZV3h6WlNJc0luSmxiVzkyWlNJc0ltUnBjMkZpYkdVaUxDSnNiMk5ySWl3aVptbHlaVmRwZEdnaUxDSkVaV1psY25KbFpDSXNJbVoxYm1NaUxDSjBkWEJzWlhNaUxDSnpkR0YwWlNJc0ltRnNkMkY1Y3lJc0ltUmxabVZ5Y21Wa0lpd2lZMkYwWTJnaUxDSndhWEJsSWl3aVptNXpJaXdpYm1WM1JHVm1aWElpTENKMGRYQnNaU0lzSW5KbGRIVnlibVZrSWl3aWNISnZaM0psYzNNaUxDSnViM1JwWm5raUxDSnZia1oxYkdacGJHeGxaQ0lzSW05dVVtVnFaV04wWldRaUxDSnZibEJ5YjJkeVpYTnpJaXdpYldGNFJHVndkR2dpTENKa1pYQjBhQ0lzSW5Od1pXTnBZV3dpTENKMGFHRjBJaXdpYldsbmFIUlVhSEp2ZHlJc0lsUjVjR1ZGY25KdmNpSXNJbTV2ZEdsbWVWZHBkR2dpTENKeVpYTnZiSFpsVjJsMGFDSXNJbkJ5YjJObGMzTWlMQ0psZUdObGNIUnBiMjVJYjI5cklpd2ljM1JoWTJ0VWNtRmpaU0lzSW5KbGFtVmpkRmRwZEdnaUxDSm5aWFJUZEdGamEwaHZiMnNpTENKelpYUlVhVzFsYjNWMElpd2ljM1JoZEdWVGRISnBibWNpTENKM2FHVnVJaXdpYzJsdVoyeGxWbUZzZFdVaUxDSnlaVzFoYVc1cGJtY2lMQ0p5WlhOdmJIWmxRMjl1ZEdWNGRITWlMQ0p5WlhOdmJIWmxWbUZzZFdWeklpd2ljSEpwYldGeWVTSXNJblZ3WkdGMFpVWjFibU1pTENKeVpYSnliM0pPWVcxbGN5SXNJbk4wWVdOcklpd2lZMjl1YzI5c1pTSXNJbmRoY200aUxDSnRaWE56WVdkbElpd2ljbVZoWkhsRmVHTmxjSFJwYjI0aUxDSnlaV0ZrZVV4cGMzUWlMQ0pqYjIxd2JHVjBaV1FpTENKeVpXMXZkbVZGZG1WdWRFeHBjM1JsYm1WeUlpd2ljbVZoWkhsWFlXbDBJaXdpZDJGcGRDSXNJbkpsWVdSNVUzUmhkR1VpTENKa2IxTmpjbTlzYkNJc0ltRmpZMlZ6Y3lJc0ltTm9ZV2x1WVdKc1pTSXNJbVZ0Y0hSNVIyVjBJaXdpY21GM0lpd2lZblZzYXlJc0lsOXJaWGtpTENKeWJYTlFjbVZtYVhnaUxDSnlaR0Z6YUVGc2NHaGhJaXdpWm1OaGJXVnNRMkZ6WlNJc0lsOWhiR3dpTENKc1pYUjBaWElpTENKMGIxVndjR1Z5UTJGelpTSXNJbU5oYldWc1EyRnpaU0lzSW5OMGNtbHVaeUlzSW1GalkyVndkRVJoZEdFaUxDSnZkMjVsY2lJc0lrUmhkR0VpTENKMWFXUWlMQ0prWldacGJtVlFjbTl3WlhKMGVTSXNJbU52Ym1acFozVnlZV0pzWlNJc0luTmxkQ0lzSW1SaGRHRWlMQ0p3Y205d0lpd2lhR0Z6UkdGMFlTSXNJbVJoZEdGUWNtbDJJaXdpWkdGMFlWVnpaWElpTENKeVluSmhZMlVpTENKeWJYVnNkR2xFWVhOb0lpd2laR0YwWVVGMGRISWlMQ0pLVTA5T0lpd2ljR0Z5YzJVaUxDSm5aWFJFWVhSaElpd2ljbVZ0YjNabFJHRjBZU0lzSWw5a1lYUmhJaXdpWDNKbGJXOTJaVVJoZEdFaUxDSmtaWEYxWlhWbElpd2ljM1JoY25STVpXNW5kR2dpTENKb2IyOXJjeUlzSWw5eGRXVjFaVWh2YjJ0eklpd2ljM1J2Y0NJc0luTmxkSFJsY2lJc0ltTnNaV0Z5VVhWbGRXVWlMQ0pqYjNWdWRDSXNJbVJsWm1WeUlpd2ljRzUxYlNJc0luTnZkWEpqWlNJc0luSmpjM05PZFcwaUxDSmpjM05GZUhCaGJtUWlMQ0pwYzBGMGRHRmphR1ZrSWl3aVkyOXRjRzl6WldRaUxDSm5aWFJTYjI5MFRtOWtaU0lzSW1selNHbGtaR1Z1VjJsMGFHbHVWSEpsWlNJc0luTjBlV3hsSWl3aVpHbHpjR3hoZVNJc0ltTnpjeUlzSW1Ga2FuVnpkRU5UVXlJc0luWmhiSFZsVUdGeWRITWlMQ0owZDJWbGJpSXNJbUZrYW5WemRHVmtJaXdpYzJOaGJHVWlMQ0p0WVhoSmRHVnlZWFJwYjI1eklpd2lZM1Z5Y21WdWRGWmhiSFZsSWl3aWFXNXBkR2xoYkNJc0luVnVhWFFpTENKamMzTk9kVzFpWlhJaUxDSnBibWwwYVdGc1NXNVZibWwwSWl3aVpHVm1ZWFZzZEVScGMzQnNZWGxOWVhBaUxDSm5aWFJFWldaaGRXeDBSR2x6Y0d4aGVTSXNJbUp2WkhraUxDSnphRzkzU0dsa1pTSXNJbk5vYjNjaUxDSjJZV3gxWlhNaUxDSm9hV1JsSWl3aWRHOW5aMnhsSWl3aVpHbDJJaXdpY21Ob1pXTnJZV0pzWlZSNWNHVWlMQ0p5ZEdGblRtRnRaU0lzSW5KelkzSnBjSFJVZVhCbElpd2lZM0psWVhSbFJHOWpkVzFsYm5SR2NtRm5iV1Z1ZENJc0ltTm9aV05yUTJ4dmJtVWlMQ0pqYkc5dVpVNXZaR1VpTENKdWIwTnNiMjVsUTJobFkydGxaQ0lzSW05d2RHbHZiaUlzSW5keVlYQk5ZWEFpTENKMGFHVmhaQ0lzSW1OdmJDSXNJblJ5SWl3aWRHUWlMQ0pmWkdWbVlYVnNkQ0lzSW1kbGRFRnNiQ0lzSW5ObGRFZHNiMkpoYkVWMllXd2lMQ0p5WldaRmJHVnRaVzUwY3lJc0luUmliMlI1SWl3aWRHWnZiM1FpTENKamIyeG5jbTkxY0NJc0ltTmhjSFJwYjI0aUxDSjBhQ0lzSW05d2RHZHliM1Z3SWl3aVluVnBiR1JHY21GbmJXVnVkQ0lzSW5OamNtbHdkSE1pTENKelpXeGxZM1JwYjI0aUxDSnBaMjV2Y21Wa0lpd2lkM0poY0NJc0ltRjBkR0ZqYUdWa0lpd2labkpoWjIxbGJuUWlMQ0p1YjJSbGN5SXNJbWgwYld4UWNtVm1hV3gwWlhJaUxDSmpjbVZoZEdWVVpYaDBUbTlrWlNJc0luSjBlWEJsYm1GdFpYTndZV05sSWl3aWNtVjBkWEp1VkhKMVpTSXNJbkpsZEhWeWJrWmhiSE5sSWl3aVpYaHdaV04wVTNsdVl5SXNJbVZ5Y2lJc0luTmhabVZCWTNScGRtVkZiR1Z0Wlc1MElpd2liMjRpTENKMGVYQmxjeUlzSW05dVpTSXNJbTl5YVdkR2JpSXNJbVYyWlc1MElpd2liMlptSWl3aWJHVjJaWEpoWjJWT1lYUnBkbVVpTENKdWIzUkJjM2x1WXlJc0luTmhkbVZrSWl3aWFYTlVjbWxuWjJWeUlpd2laR1ZzWldkaGRHVlVlWEJsSWl3aWMzUnZjRkJ5YjNCaFoyRjBhVzl1SWl3aWMzUnZjRWx0YldWa2FXRjBaVkJ5YjNCaFoyRjBhVzl1SWl3aWNISmxkbVZ1ZEVSbFptRjFiSFFpTENKMGNtbG5aMlZ5SWl3aVJYWmxiblFpTENKb1lXNWtiR1ZQWW1wSmJpSXNJbVYyWlc1MFNHRnVaR3hsSWl3aVpYWmxiblJ6SWl3aWRDSXNJbWhoYm1Sc1pVOWlhaUlzSW1oaGJtUnNaWEp6SWl3aWJtRnRaWE53WVdObGN5SXNJbTl5YVdkVWVYQmxJaXdpWld4bGJVUmhkR0VpTENKamNtVmhkR1VpTENKb1lXNWtiR1VpTENKMGNtbG5aMlZ5WldRaUxDSmthWE53WVhSamFDSXNJbUpwYm1SVWVYQmxJaXdpWkdWc1pXZGhkR1ZEYjNWdWRDSXNJbk5sZEhWd0lpd2liV0Z3Y0dWa1ZIbHdaWE1pTENKdmNtbG5RMjkxYm5RaUxDSjBaV0Z5Wkc5M2JpSXNJbkpsYlc5MlpVVjJaVzUwSWl3aWJtRjBhWFpsUlhabGJuUWlMQ0pvWVc1a2JHVnlVWFZsZFdVaUxDSm1hWGdpTENKa1pXeGxaMkYwWlZSaGNtZGxkQ0lzSW5CeVpVUnBjM0JoZEdOb0lpd2lhWE5RY205d1lXZGhkR2x2YmxOMGIzQndaV1FpTENKamRYSnlaVzUwVkdGeVoyVjBJaXdpYVhOSmJXMWxaR2xoZEdWUWNtOXdZV2RoZEdsdmJsTjBiM0J3WldRaUxDSnlibUZ0WlhOd1lXTmxJaXdpY0c5emRFUnBjM0JoZEdOb0lpd2liV0YwWTJobFpFaGhibVJzWlhKeklpd2liV0YwWTJobFpGTmxiR1ZqZEc5eWN5SXNJbUZrWkZCeWIzQWlMQ0pvYjI5cklpd2laVzUxYldWeVlXSnNaU0lzSW05eWFXZHBibUZzUlhabGJuUWlMQ0ozY21sMFlXSnNaU0lzSW14dllXUWlMQ0p1YjBKMVltSnNaU0lzSW1Oc2FXTnJJaXdpWW1WbWIzSmxkVzVzYjJGa0lpd2ljbVYwZFhKdVZtRnNkV1VpTENKd2NtOXdjeUlzSW1selJHVm1ZWFZzZEZCeVpYWmxiblJsWkNJc0ltUmxabUYxYkhSUWNtVjJaVzUwWldRaUxDSnlaV3hoZEdWa1ZHRnlaMlYwSWl3aWRHbHRaVk4wWVcxd0lpd2libTkzSWl3aWFYTlRhVzExYkdGMFpXUWlMQ0poYkhSTFpYa2lMQ0ppZFdKaWJHVnpJaXdpWTJGdVkyVnNZV0pzWlNJc0ltTm9ZVzVuWldSVWIzVmphR1Z6SWl3aVkzUnliRXRsZVNJc0ltUmxkR0ZwYkNJc0ltVjJaVzUwVUdoaGMyVWlMQ0p0WlhSaFMyVjVJaXdpY0dGblpWZ2lMQ0p3WVdkbFdTSXNJbk5vYVdaMFMyVjVJaXdpZG1sbGR5SXNJbU5vWVhJaUxDSmphR0Z5UTI5a1pTSXNJbXRsZVVOdlpHVWlMQ0ppZFhSMGIyNXpJaXdpWTJ4cFpXNTBXQ0lzSW1Oc2FXVnVkRmtpTENKdlptWnpaWFJZSWl3aWIyWm1jMlYwV1NJc0luQnZhVzUwWlhKSlpDSXNJbkJ2YVc1MFpYSlVlWEJsSWl3aWMyTnlaV1Z1V0NJc0luTmpjbVZsYmxraUxDSjBZWEpuWlhSVWIzVmphR1Z6SWl3aWRHOUZiR1Z0Wlc1MElpd2lkRzkxWTJobGN5SXNJbmRvYVdOb0lpd2lZbXgxY2lJc0ltMXZkWE5sWlc1MFpYSWlMQ0p0YjNWelpXeGxZWFpsSWl3aWNHOXBiblJsY21WdWRHVnlJaXdpY0c5cGJuUmxjbXhsWVhabElpd2liM0pwWnlJc0luSmxiR0YwWldRaUxDSnlibTlKYm01bGNtaDBiV3dpTENKeVkyaGxZMnRsWkNJc0luSmpiR1ZoYmxOamNtbHdkQ0lzSW0xaGJtbHdkV3hoZEdsdmJsUmhjbWRsZENJc0ltUnBjMkZpYkdWVFkzSnBjSFFpTENKeVpYTjBiM0psVTJOeWFYQjBJaXdpWTJ4dmJtVkRiM0I1UlhabGJuUWlMQ0prWlhOMElpd2lkV1JoZEdGUGJHUWlMQ0oxWkdGMFlVTjFjaUlzSW1SdmJVMWhibWx3SWl3aVkyOXNiR1ZqZEdsdmJpSXNJbWhoYzFOamNtbHdkSE1pTENKcFRtOURiRzl1WlNJc0luWmhiSFZsU1hOR2RXNWpkR2x2YmlJc0ltaDBiV3dpTENKZlpYWmhiRlZ5YkNJc0ltdGxaWEJFWVhSaElpd2lZMnhsWVc1RVlYUmhJaXdpWkdGMFlVRnVaRVYyWlc1MGN5SXNJbVJsWlhCRVlYUmhRVzVrUlhabGJuUnpJaXdpYzNKalJXeGxiV1Z1ZEhNaUxDSmtaWE4wUld4bGJXVnVkSE1pTENKcGJsQmhaMlVpTENKa1pYUmhZMmdpTENKaGNIQmxibVFpTENKd2NtVndaVzVrSWl3aWFXNXpaWEowUW1WbWIzSmxJaXdpWW1WbWIzSmxJaXdpWVdaMFpYSWlMQ0p5WlhCc1lXTmxWMmwwYUNJc0luSmxjR3hoWTJWRGFHbHNaQ0lzSW1Gd2NHVnVaRlJ2SWl3aWNISmxjR1Z1WkZSdklpd2lhVzV6WlhKMFFXWjBaWElpTENKeVpYQnNZV05sUVd4c0lpd2liM0pwWjJsdVlXd2lMQ0pwYm5ObGNuUWlMQ0p5Ym5WdGJtOXVjSGdpTENKblpYUlRkSGxzWlhNaUxDSnZjR1Z1WlhJaUxDSm5aWFJEYjIxd2RYUmxaRk4wZVd4bElpd2ljM2RoY0NJc0ltOXNaQ0lzSW5KaWIzaFRkSGxzWlNJc0ltTjFja05UVXlJc0ltTnZiWEIxZEdWa0lpd2lkMmxrZEdnaUxDSnRhVzVYYVdSMGFDSXNJbTFoZUZkcFpIUm9JaXdpWjJWMFVISnZjR1Z5ZEhsV1lXeDFaU0lzSW5CcGVHVnNRbTk0VTNSNWJHVnpJaXdpWVdSa1IyVjBTRzl2YTBsbUlpd2lZMjl1WkdsMGFXOXVSbTRpTENKb2IyOXJSbTRpTENKamIyMXdkWFJsVTNSNWJHVlVaWE4wY3lJc0ltTnZiblJoYVc1bGNpSXNJbU56YzFSbGVIUWlMQ0prYVhaVGRIbHNaU0lzSW5CcGVHVnNVRzl6YVhScGIyNVdZV3dpTENKeVpXeHBZV0pzWlUxaGNtZHBia3hsWm5SV1lXd2lMQ0p5YjNWdVpGQnBlR1ZzVFdWaGMzVnlaWE1pTENKdFlYSm5hVzVNWldaMElpd2ljbWxuYUhRaUxDSndhWGhsYkVKdmVGTjBlV3hsYzFaaGJDSXNJbUp2ZUZOcGVtbHVaMUpsYkdsaFlteGxWbUZzSWl3aWNHOXphWFJwYjI0aUxDSnpZM0p2Ykd4aWIzaFRhWHBsVm1Gc0lpd2liMlptYzJWMFYybGtkR2dpTENKdFpXRnpkWEpsSWl3aWNtOTFibVFpTENKd1lYSnpaVVpzYjJGMElpd2ljbVZzYVdGaWJHVlVja1JwYldWdWMybHZibk5XWVd3aUxDSmlZV05yWjNKdmRXNWtRMnhwY0NJc0ltTnNaV0Z5UTJ4dmJtVlRkSGxzWlNJc0ltSnZlRk5wZW1sdVoxSmxiR2xoWW14bElpd2ljR2w0Wld4UWIzTnBkR2x2YmlJc0luSmxiR2xoWW14bFRXRnlaMmx1VEdWbWRDSXNJbk5qY205c2JHSnZlRk5wZW1VaUxDSnlaV3hwWVdKc1pWUnlSR2x0Wlc1emFXOXVjeUlzSW5SaFlteGxJaXdpZEhKRGFHbHNaQ0lzSW5SeVUzUjViR1VpTENKb1pXbG5hSFFpTENKd1lYSnpaVWx1ZENJc0ltSnZjbVJsY2xSdmNGZHBaSFJvSWl3aVltOXlaR1Z5UW05MGRHOXRWMmxrZEdnaUxDSnZabVp6WlhSSVpXbG5hSFFpTENKamMzTlFjbVZtYVhobGN5SXNJbVZ0Y0hSNVUzUjViR1VpTENKMlpXNWtiM0pRY205d2N5SXNJbVpwYm1Gc1VISnZjRTVoYldVaUxDSm1hVzVoYkNJc0ltTnpjMUJ5YjNCeklpd2lZMkZ3VG1GdFpTSXNJblpsYm1SdmNsQnliM0JPWVcxbElpd2ljbVJwYzNCc1lYbHpkMkZ3SWl3aWNtTjFjM1J2YlZCeWIzQWlMQ0pqYzNOVGFHOTNJaXdpZG1semFXSnBiR2wwZVNJc0ltTnpjMDV2Y20xaGJGUnlZVzV6Wm05eWJTSXNJbXhsZEhSbGNsTndZV05wYm1jaUxDSm1iMjUwVjJWcFoyaDBJaXdpYzJWMFVHOXphWFJwZG1WT2RXMWlaWElpTENKemRXSjBjbUZqZENJc0ltMWhlQ0lzSW1KdmVFMXZaR1ZzUVdScWRYTjBiV1Z1ZENJc0ltUnBiV1Z1YzJsdmJpSXNJbUp2ZUNJc0ltbHpRbTl5WkdWeVFtOTRJaXdpYzNSNWJHVnpJaXdpWTI5dGNIVjBaV1JXWVd3aUxDSmxlSFJ5WVNJc0ltUmxiSFJoSWl3aVkyVnBiQ0lzSW1kbGRGZHBaSFJvVDNKSVpXbG5hSFFpTENKMllXeDFaVWx6UW05eVpHVnlRbTk0SWl3aWIyWm1jMlYwVUhKdmNDSXNJbWRsZEVOc2FXVnVkRkpsWTNSeklpd2lWSGRsWlc0aUxDSmxZWE5wYm1jaUxDSmpjM05JYjI5cmN5SXNJbTl3WVdOcGRIa2lMQ0poYm1sdFlYUnBiMjVKZEdWeVlYUnBiMjVEYjNWdWRDSXNJbU52YkhWdGJrTnZkVzUwSWl3aVptbHNiRTl3WVdOcGRIa2lMQ0ptYkdWNFIzSnZkeUlzSW1ac1pYaFRhSEpwYm1zaUxDSm5jbWxrUVhKbFlTSXNJbWR5YVdSRGIyeDFiVzRpTENKbmNtbGtRMjlzZFcxdVJXNWtJaXdpWjNKcFpFTnZiSFZ0YmxOMFlYSjBJaXdpWjNKcFpGSnZkeUlzSW1keWFXUlNiM2RGYm1RaUxDSm5jbWxrVW05M1UzUmhjblFpTENKc2FXNWxTR1ZwWjJoMElpd2liM0prWlhJaUxDSnZjbkJvWVc1eklpd2lkMmxrYjNkeklpd2lla2x1WkdWNElpd2llbTl2YlNJc0ltOXlhV2RPWVcxbElpd2lhWE5EZFhOMGIyMVFjbTl3SWl3aWMyVjBVSEp2Y0dWeWRIa2lMQ0pwYzBacGJtbDBaU0lzSW1kbGRFSnZkVzVrYVc1blEyeHBaVzUwVW1WamRDSXNJbk5qY205c2JHSnZlRk5wZW1WQ2RXZG5lU0lzSW14bFpuUWlMQ0p0WVhKbmFXNGlMQ0p3WVdSa2FXNW5JaXdpWW05eVpHVnlJaXdpY0hKbFptbDRJaXdpYzNWbVptbDRJaXdpWlhod1lXNWtJaXdpWlhod1lXNWtaV1FpTENKd1lYSjBjeUlzSW5CeWIzQkliMjlyY3lJc0luSjFiaUlzSW5CbGNtTmxiblFpTENKbFlYTmxaQ0lzSW1SMWNtRjBhVzl1SWl3aWNHOXpJaXdpYzNSbGNDSXNJbVo0SWl3aWMyTnliMnhzVkc5d0lpd2ljMk55YjJ4c1RHVm1kQ0lzSW14cGJtVmhjaUlzSW5BaUxDSnpkMmx1WnlJc0ltTnZjeUlzSWxCSklpd2labmhPYjNjaUxDSnBibEJ5YjJkeVpYTnpJaXdpY21aNGRIbHdaWE1pTENKeWNuVnVJaXdpYzJOb1pXUjFiR1VpTENKb2FXUmtaVzRpTENKeVpYRjFaWE4wUVc1cGJXRjBhVzl1Um5KaGJXVWlMQ0pwYm5SbGNuWmhiQ0lzSW5ScFkyc2lMQ0pqY21WaGRHVkdlRTV2ZHlJc0ltZGxia1o0SWl3aWFXNWpiSFZrWlZkcFpIUm9JaXdpWTNKbFlYUmxWSGRsWlc0aUxDSmhibWx0WVhScGIyNGlMQ0pCYm1sdFlYUnBiMjRpTENKMGQyVmxibVZ5Y3lJc0luQnliM0JsY25ScFpYTWlMQ0p6ZEc5d2NHVmtJaXdpY0hKbFptbHNkR1Z5Y3lJc0ltTjFjbkpsYm5SVWFXMWxJaXdpYzNSaGNuUlVhVzFsSWl3aWRIZGxaVzV6SWl3aWIzQjBjeUlzSW5Od1pXTnBZV3hGWVhOcGJtY2lMQ0p2Y21sbmFXNWhiRkJ5YjNCbGNuUnBaWE1pTENKdmNtbG5hVzVoYkU5d2RHbHZibk1pTENKbmIzUnZSVzVrSWl3aWNISnZjRVpwYkhSbGNpSXNJbUpwYm1RaUxDSmpiMjF3YkdWMFpTSXNJblJwYldWeUlpd2lZVzVwYlNJc0lpb2lMQ0owZDJWbGJtVnlJaXdpYjJ4a1ptbHlaU0lzSW5CeWIzQlVkMlZsYmlJc0luSmxjM1J2Y21WRWFYTndiR0Y1SWl3aWFYTkNiM2dpTENKa1lYUmhVMmh2ZHlJc0luVnVjWFZsZFdWa0lpd2liM1psY21ac2IzY2lMQ0p2ZG1WeVpteHZkMWdpTENKdmRtVnlabXh2ZDFraUxDSndjbVZtYVd4MFpYSWlMQ0p6Y0dWbFpDSXNJbTl3ZENJc0luTndaV1ZrY3lJc0ltWmhaR1ZVYnlJc0luUnZJaXdpWVc1cGJXRjBaU0lzSW05d2RHRnNiQ0lzSW1SdlFXNXBiV0YwYVc5dUlpd2labWx1YVhOb0lpd2ljM1J2Y0ZGMVpYVmxJaXdpZEdsdFpYSnpJaXdpWTNOelJtNGlMQ0p6Ykdsa1pVUnZkMjRpTENKemJHbGtaVlZ3SWl3aWMyeHBaR1ZVYjJkbmJHVWlMQ0ptWVdSbFNXNGlMQ0ptWVdSbFQzVjBJaXdpWm1Ga1pWUnZaMmRzWlNJc0luTnNiM2NpTENKbVlYTjBJaXdpWkdWc1lYa2lMQ0owYVcxbElpd2lkR2x0Wlc5MWRDSXNJbU5zWldGeVZHbHRaVzkxZENJc0ltTm9aV05yVDI0aUxDSnZjSFJUWld4bFkzUmxaQ0lzSW5KaFpHbHZWbUZzZFdVaUxDSmliMjlzU0c5dmF5SXNJbkpsYlc5MlpVRjBkSElpTENKdVZIbHdaU0lzSW1GMGRISkliMjlyY3lJc0ltRjBkSEpPWVcxbGN5SXNJbWRsZEhSbGNpSXNJbXh2ZDJWeVkyRnpaVTVoYldVaUxDSnlabTlqZFhOaFlteGxJaXdpY21Oc2FXTnJZV0pzWlNJc0luTjBjbWx3UVc1a1EyOXNiR0Z3YzJVaUxDSm5aWFJEYkdGemN5SXNJbU5zWVhOelpYTlViMEZ5Y21GNUlpd2ljbVZ0YjNabFVISnZjQ0lzSW5CeWIzQkdhWGdpTENKMFlXSnBibVJsZUNJc0ltWnZjaUlzSW1Oc1lYTnpJaXdpWVdSa1EyeGhjM01pTENKamJHRnpjMlZ6SWl3aVkzVnlWbUZzZFdVaUxDSmpiR0Y2ZWlJc0ltWnBibUZzVm1Gc2RXVWlMQ0p5WlcxdmRtVkRiR0Z6Y3lJc0luUnZaMmRzWlVOc1lYTnpJaXdpYzNSaGRHVldZV3dpTENKcGMxWmhiR2xrVm1Gc2RXVWlMQ0pqYkdGemMwNWhiV1Z6SWl3aWFHRnpRMnhoYzNNaUxDSnljbVYwZFhKdUlpd2lkbUZzU0c5dmEzTWlMQ0p2Y0hScGIyNVRaWFFpTENKbWIyTjFjMmx1SWl3aWNtWnZZM1Z6VFc5eWNHZ2lMQ0p6ZEc5d1VISnZjR0ZuWVhScGIyNURZV3hzWW1GamF5SXNJbTl1YkhsSVlXNWtiR1Z5Y3lJc0ltSjFZbUpzWlZSNWNHVWlMQ0p2Ym5SNWNHVWlMQ0pzWVhOMFJXeGxiV1Z1ZENJc0ltVjJaVzUwVUdGMGFDSXNJbkJoY21WdWRGZHBibVJ2ZHlJc0luTnBiWFZzWVhSbElpd2lkSEpwWjJkbGNraGhibVJzWlhJaUxDSmhkSFJoWTJobGN5SXNJbkp4ZFdWeWVTSXNJbkJoY25ObFdFMU1JaXdpY0dGeWMyVnlSWEp5YjNKRmJHVnRJaXdpUkU5TlVHRnljMlZ5SWl3aWNHRnljMlZHY205dFUzUnlhVzVuSWl3aWNtSnlZV05yWlhRaUxDSnlRMUpNUmlJc0luSnpkV0p0YVhSMFpYSlVlWEJsY3lJc0luSnpkV0p0YVhSMFlXSnNaU0lzSW1KMWFXeGtVR0Z5WVcxeklpd2lkSEpoWkdsMGFXOXVZV3dpTENKd1lYSmhiU0lzSW5NaUxDSjJZV3gxWlU5eVJuVnVZM1JwYjI0aUxDSmxibU52WkdWVlVrbERiMjF3YjI1bGJuUWlMQ0p6WlhKcFlXeHBlbVVpTENKelpYSnBZV3hwZW1WQmNuSmhlU0lzSW5JeU1DSXNJbkpvWVhOb0lpd2ljbUZ1ZEdsRFlXTm9aU0lzSW5Kb1pXRmtaWEp6SWl3aWNtNXZRMjl1ZEdWdWRDSXNJbkp3Y205MGIyTnZiQ0lzSW5SeVlXNXpjRzl5ZEhNaUxDSmhiR3hVZVhCbGN5SXNJbTl5YVdkcGJrRnVZMmh2Y2lJc0ltRmtaRlJ2VUhKbFptbHNkR1Z5YzA5eVZISmhibk53YjNKMGN5SXNJbk4wY25WamRIVnlaU0lzSW1SaGRHRlVlWEJsUlhod2NtVnpjMmx2YmlJc0ltUmhkR0ZVZVhCbElpd2laR0YwWVZSNWNHVnpJaXdpYVc1emNHVmpkRkJ5WldacGJIUmxjbk5QY2xSeVlXNXpjRzl5ZEhNaUxDSnFjVmhJVWlJc0ltbHVjM0JsWTNSbFpDSXNJbk5sWld0cGJtZFVjbUZ1YzNCdmNuUWlMQ0pwYm5Od1pXTjBJaXdpY0hKbFptbHNkR1Z5VDNKR1lXTjBiM0o1SWl3aVpHRjBZVlI1Y0dWUGNsUnlZVzV6Y0c5eWRDSXNJbUZxWVhoRmVIUmxibVFpTENKbWJHRjBUM0IwYVc5dWN5SXNJbUZxWVhoVFpYUjBhVzVuY3lJc0ltRmpkR2wyWlNJc0lteGhjM1JOYjJScFptbGxaQ0lzSW1WMFlXY2lMQ0oxY213aUxDSnBjMHh2WTJGc0lpd2ljSEp2ZEc5amIyd2lMQ0p3Y205alpYTnpSR0YwWVNJc0ltRnplVzVqSWl3aVkyOXVkR1Z1ZEZSNWNHVWlMQ0poWTJObGNIUnpJaXdpYW5OdmJpSXNJbkpsYzNCdmJuTmxSbWxsYkdSeklpd2lZMjl1ZG1WeWRHVnljeUlzSWlvZ2RHVjRkQ0lzSW5SbGVIUWdhSFJ0YkNJc0luUmxlSFFnYW5OdmJpSXNJblJsZUhRZ2VHMXNJaXdpWVdwaGVGTmxkSFZ3SWl3aWMyVjBkR2x1WjNNaUxDSmhhbUY0VUhKbFptbHNkR1Z5SWl3aVlXcGhlRlJ5WVc1emNHOXlkQ0lzSW1GcVlYZ2lMQ0owY21GdWMzQnZjblFpTENKallXTm9aVlZTVENJc0luSmxjM0J2Ym5ObFNHVmhaR1Z5YzFOMGNtbHVaeUlzSW5KbGMzQnZibk5sU0dWaFpHVnljeUlzSW5ScGJXVnZkWFJVYVcxbGNpSXNJblZ5YkVGdVkyaHZjaUlzSW1acGNtVkhiRzlpWVd4eklpd2lkVzVqWVdOb1pXUWlMQ0pqWVd4c1ltRmphME52Ym5SbGVIUWlMQ0puYkc5aVlXeEZkbVZ1ZEVOdmJuUmxlSFFpTENKamIyMXdiR1YwWlVSbFptVnljbVZrSWl3aWMzUmhkSFZ6UTI5a1pTSXNJbkpsY1hWbGMzUklaV0ZrWlhKeklpd2ljbVZ4ZFdWemRFaGxZV1JsY25OT1lXMWxjeUlzSW5OMGNrRmliM0owSWl3aVoyVjBVbVZ6Y0c5dWMyVklaV0ZrWlhJaUxDSm5aWFJCYkd4U1pYTndiMjV6WlVobFlXUmxjbk1pTENKelpYUlNaWEYxWlhOMFNHVmhaR1Z5SWl3aWIzWmxjbkpwWkdWTmFXMWxWSGx3WlNJc0ltMXBiV1ZVZVhCbElpd2ljM1JoZEhWeklpd2lZV0p2Y25RaUxDSnpkR0YwZFhOVVpYaDBJaXdpWm1sdVlXeFVaWGgwSWl3aVkzSnZjM05FYjIxaGFXNGlMQ0pvYjNOMElpd2lhR0Z6UTI5dWRHVnVkQ0lzSW1sbVRXOWthV1pwWldRaUxDSm9aV0ZrWlhKeklpd2lZbVZtYjNKbFUyVnVaQ0lzSW5OMVkyTmxjM01pTENKelpXNWtJaXdpYm1GMGFYWmxVM1JoZEhWelZHVjRkQ0lzSW5KbGMzQnZibk5sY3lJc0ltbHpVM1ZqWTJWemN5SXNJbkpsYzNCdmJuTmxJaXdpYlc5a2FXWnBaV1FpTENKamRDSXNJbVpwYm1Gc1JHRjBZVlI1Y0dVaUxDSm1hWEp6ZEVSaGRHRlVlWEJsSWl3aVlXcGhlRWhoYm1Sc1pWSmxjM0J2Ym5ObGN5SXNJbU52Ym5ZeUlpd2lZM1Z5Y21WdWRDSXNJbU52Ym5ZaUxDSmtZWFJoUm1sc2RHVnlJaXdpZEdoeWIzZHpJaXdpWVdwaGVFTnZiblpsY25RaUxDSm5aWFJLVTA5T0lpd2laMlYwVTJOeWFYQjBJaXdpZEdWNGRDQnpZM0pwY0hRaUxDSjNjbUZ3UVd4c0lpd2labWx5YzNSRmJHVnRaVzUwUTJocGJHUWlMQ0ozY21Gd1NXNXVaWElpTENKb2RHMXNTWE5HZFc1amRHbHZiaUlzSW5WdWQzSmhjQ0lzSW5acGMybGliR1VpTENKNGFISWlMQ0pZVFV4SWRIUndVbVZ4ZFdWemRDSXNJbmhvY2xOMVkyTmxjM05UZEdGMGRYTWlMQ0l3SWl3aU1USXlNeUlzSW5ob2NsTjFjSEJ2Y25SbFpDSXNJbU52Y25NaUxDSmxjbkp2Y2tOaGJHeGlZV05ySWl3aWIzQmxiaUlzSW5WelpYSnVZVzFsSWl3aWVHaHlSbWxsYkdSeklpd2liMjVzYjJGa0lpd2liMjVsY25KdmNpSXNJbTl1WVdKdmNuUWlMQ0p2Ym5ScGJXVnZkWFFpTENKdmJuSmxZV1I1YzNSaGRHVmphR0Z1WjJVaUxDSnlaWE53YjI1elpWUjVjR1VpTENKeVpYTndiMjV6WlZSbGVIUWlMQ0ppYVc1aGNua2lMQ0p6WTNKcGNIUkJkSFJ5Y3lJc0ltTm9ZWEp6WlhRaUxDSnpZM0pwY0hSRGFHRnljMlYwSWl3aVpYWjBJaXdpYjJ4a1EyRnNiR0poWTJ0eklpd2ljbXB6YjI1d0lpd2lhbk52Ym5BaUxDSnFjMjl1Y0VOaGJHeGlZV05ySWl3aWIzSnBaMmx1WVd4VFpYUjBhVzVuY3lJc0ltTmhiR3hpWVdOclRtRnRaU0lzSW05MlpYSjNjbWwwZEdWdUlpd2ljbVZ6Y0c5dWMyVkRiMjUwWVdsdVpYSWlMQ0pxYzI5dVVISnZjQ0lzSW1OeVpXRjBaVWhVVFV4RWIyTjFiV1Z1ZENJc0ltbHRjR3hsYldWdWRHRjBhVzl1SWl3aWEyVmxjRk5qY21sd2RITWlMQ0p3WVhKelpXUWlMQ0p3WVhKaGJYTWlMQ0poYm1sdFlYUmxaQ0lzSW05bVpuTmxkQ0lzSW5ObGRFOW1abk5sZENJc0ltTjFjbEJ2YzJsMGFXOXVJaXdpWTNWeVRHVm1kQ0lzSW1OMWNrTlRVMVJ2Y0NJc0ltTjFjbFJ2Y0NJc0ltTjFjazltWm5ObGRDSXNJbU4xY2tOVFUweGxablFpTENKamRYSkZiR1Z0SWl3aWRYTnBibWNpTENKeVpXTjBJaXdpZDJsdUlpd2ljR0ZuWlZsUFptWnpaWFFpTENKd1lXZGxXRTltWm5ObGRDSXNJbTltWm5ObGRGQmhjbVZ1ZENJc0luQmhjbVZ1ZEU5bVpuTmxkQ0lzSW5OamNtOXNiRlJ2SWl3aVNHVnBaMmgwSWl3aVYybGtkR2dpTENJaUxDSmtaV1poZFd4MFJYaDBjbUVpTENKbWRXNWpUbUZ0WlNJc0luVnVZbWx1WkNJc0ltUmxiR1ZuWVhSbElpd2lkVzVrWld4bFoyRjBaU0lzSW1odmRtVnlJaXdpWm01UGRtVnlJaXdpWm01UGRYUWlMQ0p3Y205NGVTSXNJbWh2YkdSU1pXRmtlU0lzSW1odmJHUWlMQ0p3WVhKelpVcFRUMDRpTENKcGMwNTFiV1Z5YVdNaUxDSnBjMDVoVGlJc0luUnlhVzBpTENKa1pXWnBibVVpTENKaGJXUWlMQ0pmYWxGMVpYSjVJaXdpWHlRaUxDSWtJaXdpYm05RGIyNW1iR2xqZENKZExDSnRZWEJ3YVc1bmN5STZJa05CWVVFc1UwRkJXVUVzUlVGQlVVTXNSMEZGYmtJc1lVRkZkVUlzYVVKQlFWaERMRkZCUVdsRUxHbENRVUZ1UWtFc1QwRkJUME1zVVVGVGFFUkVMRTlCUVU5RExGRkJRVlZJTEVWQlFVOUpMRk5CUTNaQ1NDeEZRVUZUUkN4SFFVRlJMRWRCUTJwQ0xGTkJRVlZMTEVkQlExUXNTVUZCVFVFc1JVRkJSVVFzVTBGRFVDeE5RVUZOTEVsQlFVbEZMRTFCUVU4c05FTkJSV3hDTEU5QlFVOU1MRVZCUVZOSkxFbEJSMnhDU2l4RlFVRlRSQ3hIUVhSQ1dDeERRVEJDZFVJc2IwSkJRVmhQTEU5QlFYbENRU3hQUVVGVFF5eExRVUZOTEZOQlFWVkVMRVZCUVZGRkxFZEJUWFJGTEdGQlJVRXNTVUZCU1VNc1JVRkJUU3hIUVVWT1F5eEZRVUZYUXl4UFFVRlBReXhsUVVWc1FrTXNSVUZCVVVvc1JVRkJTVWtzVFVGRldrTXNSVUZCVDB3c1JVRkJTVXNzUzBGQlR5eFRRVUZWUXl4SFFVTXZRaXhQUVVGUFRpeEZRVUZKU3l4TFFVRkxSU3hMUVVGTlJDeEpRVU51UWl4VFFVRlZRU3hIUVVOaUxFOUJRVTlPTEVWQlFVbFJMRTlCUVU5RExFMUJRVThzUjBGQlNVZ3NTVUZKTVVKSkxFVkJRVTlXTEVWQlFVbFZMRXRCUlZoRExFVkJRVlZZTEVWQlFVbFhMRkZCUldSRExFVkJRV0VzUjBGRllrTXNSVUZCVjBRc1JVRkJWME1zVTBGRmRFSkRMRVZCUVZOR0xFVkJRVmRITEdWQlJYQkNReXhGUVVGaFJpeEZRVUZQUkN4VFFVVndRa2tzUlVGQmRVSkVMRVZCUVZkVUxFdEJRVTFNTEZGQlJYaERaMElzUlVGQlZTeEhRVVZXUXl4RlFVRmhMRk5CUVhGQ1F5eEhRVk53UXl4TlFVRnpRaXh0UWtGQlVrRXNSMEZCT0VNc2FVSkJRV3BDUVN4RlFVRkpReXhWUVVNeFFpeHRRa0ZCWWtRc1JVRkJTVVVzVFVGSlZrTXNSVUZCVnl4VFFVRnRRa2dzUjBGRGFFTXNUMEZCWXl4TlFVRlFRU3hIUVVGbFFTeEpRVUZSUVN4RlFVRkpka0lzVVVGSmFFTklMRVZCUVZkSExFVkJRVTlJTEZOQlNXcENPRUlzUlVGQk5FSXNRMEZETDBKRExFMUJRVTBzUlVGRFRrTXNTMEZCU3l4RlFVTk1ReXhQUVVGUExFVkJRMUJETEZWQlFWVXNSMEZIV0N4VFFVRlRReXhGUVVGVFF5eEZRVUZOUXl4RlFVRk5ReXhIUVVjM1FpeEpRVUZKUXl4RlFVRkhReXhGUVVOT1F5eEhRVWhFU0N4RlFVRk5RU3hIUVVGUGRFTXNSMEZIUXpCRExHTkJRV1VzVlVGSE4wSXNSMEZFUVVRc1JVRkJUMFVzUzBGQlQxQXNSVUZEVkVNc1JVRkRTaXhKUVVGTlJTeExRVUZMVkN4SFFWbFdWU3hGUVVGTlNDeEZRVUZOUlN4SlFVRlBSaXhGUVVGTFR5eGpRVUZuUWxBc1JVRkJTMDhzWVVGQlkwd3NTMEZGTVVSRkxFVkJRVTlKTEdGQlFXTk9MRVZCUVVkRExFZEJTVE5DUml4RlFVRkpVU3hMUVVGTFF5eFpRVUZoVGl4SFFVRlRUeXhYUVVGWFF5eFpRVUZoVWl4SFFVbDZSQ3hUUVVGVFV5eEZRVUZSZUVJc1IwRkRhRUlzVDBGQldTeE5RVUZRUVN4RlFVTkhRU3hGUVVGTkxFZEJTVkVzYVVKQlFWSkJMRWRCUVcxRExHMUNRVUZTUVN4RlFVTjRRMUlzUlVGQldVTXNSVUZCVTA0c1MwRkJUV0VzUzBGQlZ5eG5Ra0ZETDBKQkxFVkJVVlFzU1VGSlEzbENMRVZCUVZNc1UwRkJWVU1zUlVGQlZVTXNSMEZKTlVJc1QwRkJUeXhKUVVGSlJpeEZRVUZQUnl4SFFVRkhReXhMUVVGTlNDeEZRVUZWUXl4SlFUQldka01zVTBGQlUwY3NSVUZCWVRsQ0xFZEJUWEpDTEVsQlFVa3JRaXhKUVVGWEwwSXNSMEZCVHl4WFFVRlpRU3hIUVVGUFFTeEZRVUZKSzBJc1QwRkROVU14UWl4RlFVRlBiVUlzUlVGQlVYaENMRWRCUldoQ0xFOUJRVXRFTEVWQlFWbERMRXRCUVZOSExFVkJRVlZJTEV0QlNYQkNMRlZCUVZSTExFZEJRU3RDTEVsQlFWZ3dRaXhIUVVOU0xHbENRVUZZUVN4SFFVRjFRa0VzUlVGQlV5eEhRVUZQUVN4RlFVRlRMRXRCUVU4dlFpeEhRWEpYYUVWNVFpeEZRVUZQUnl4SFFVRkxTQ3hGUVVGUFR5eFZRVUZaTEVOQlJ6bENReXhQUVdKVkxGRkJaVlpETEZsQlFXRlVMRVZCUjJKTkxFOUJRVkVzUlVGRlVra3NVVUZCVXl4WFFVTlNMRTlCUVU5dVJDeEZRVUZOUnl4TFFVRk5WQ3hQUVV0d1FqQkVMRWxCUVVzc1UwRkJWVU1zUjBGSFpDeFBRVUZaTEUxQlFWQkJMRVZCUTBkeVJDeEZRVUZOUnl4TFFVRk5WQ3hOUVVsaU1rUXNSVUZCVFN4RlFVRkpNMFFzUzBGQlRUSkVMRVZCUVUwelJDeExRVUZMY1VRc1VVRkJWM0pFTEV0QlFVMHlSQ3hKUVV0d1JFTXNWVUZCVnl4VFFVRlZReXhIUVVkd1FpeEpRVUZKUXl4RlFVRk5aaXhGUVVGUFowSXNUVUZCVHk5RUxFdEJRVXQzUkN4alFVRmxTeXhIUVUwMVF5eFBRVWhCUXl4RlFVRkpSU3hYUVVGaGFFVXNTMEZIVmpoRUxFZEJTVkpITEV0QlFVMHNVMEZCVlVNc1IwRkRaaXhQUVVGUGJrSXNSVUZCVDJ0Q0xFdEJRVTFxUlN4TFFVRk5hMFVzU1VGSE0wSkRMRWxCUVVzc1UwRkJWVVFzUjBGRFpDeFBRVUZQYkVVc1MwRkJTelJFTEZWQlFWZGlMRVZCUVU5dlFpeEpRVUZMYmtVc1MwRkJUU3hUUVVGVmIwVXNSVUZCVFdwRExFZEJRM2hFTEU5QlFVOHJRaXhGUVVGVGVrUXNTMEZCVFRKRUxFVkJRVTFxUXl4RlFVRkhhVU1zVDBGSmFrTTVSQ3hOUVVGUExGZEJRMDRzVDBGQlQwNHNTMEZCU3pSRUxGVkJRVmQwUkN4RlFVRk5TeXhOUVVGUFdDeExRVUZOY1VVc1lVRkhNME5ETEUxQlFVOHNWMEZEVGl4UFFVRlBkRVVzUzBGQlMzVkZMRWRCUVVrc1NVRkhha0pETEV0QlFVMHNWMEZEVEN4UFFVRlBlRVVzUzBGQlMzVkZMRWxCUVVzc1NVRkhiRUpGTEV0QlFVMHNWMEZEVEN4UFFVRlBla1VzUzBGQlN6UkVMRlZCUVZkaUxFVkJRVTh5UWl4TFFVRk5NVVVzUzBGQlRTeFRRVUZWTWtVc1JVRkJUM2hETEVkQlF6RkVMRTlCUVZOQkxFVkJRVWtzUjBGQlRTeE5RVWx5UW5sRExFbEJRVXNzVjBGRFNpeFBRVUZQTlVVc1MwRkJTelJFTEZWQlFWZGlMRVZCUVU4eVFpeExRVUZOTVVVc1MwRkJUU3hUUVVGVk1rVXNSVUZCVDNoRExFZEJRekZFTEU5QlFVOUJMRVZCUVVrc1RVRkpZbTlETEVkQlFVa3NVMEZCVlhCRExFZEJRMklzU1VGQlNUQkRMRVZCUVUwM1JTeExRVUZMY1VRc1QwRkRaSGxDTEVkQlFVc3pReXhIUVVGTlFTeEZRVUZKTEVWQlFVa3dReXhGUVVGTkxFZEJRekZDTEU5QlFVODNSU3hMUVVGTE5FUXNWVUZCVjJ0Q0xFZEJRVXNzUjBGQlMwRXNSVUZCU1VRc1JVRkJUU3hEUVVGRk4wVXNTMEZCVFRoRkxFbEJRVkVzUzBGSE5VUkRMRWxCUVVzc1YwRkRTaXhQUVVGUEwwVXNTMEZCUzJkRkxGbEJRV05vUlN4TFFVRkxkMFFzWlVGTGFFTTFReXhMUVVGTlFTeEZRVU5PYjBVc1MwRkJUVGxGTEVWQlFVazRSU3hMUVVOV1F5eFBRVUZSTDBVc1JVRkJTU3RGTEZGQlIySnNReXhGUVVGUGJVTXNUMEZCVTI1RExFVkJRVTlITEVkQlFVZG5ReXhQUVVGVExGZEJRMnhETEVsQlFVbERMRVZCUVZORExFVkJRVTE0UkN4RlFVRkxlVVFzUlVGQlRVTXNSVUZCWVVNc1JVRkRNVU5ETEVWQlFWTnVRaXhWUVVGWExFbEJRVThzUjBGRE0wSnNReXhGUVVGSkxFVkJRMHByUWl4RlFVRlRaMElzVlVGQlZXaENMRTlCUTI1Q2IwTXNSMEZCVHl4RlFYTkNVaXhKUVc1Q2RVSXNhMEpCUVZoRUxFbEJRMWhETEVWQlFVOUVMRVZCUjFCQkxFVkJRVk51UWl4VlFVRlhiRU1zU1VGQlR5eEhRVU16UWtFc1MwRkpjMElzYVVKQlFWaHhSQ3hIUVVGM1FtNUZMRVZCUVZsdFJTeExRVU12UTBFc1JVRkJVeXhKUVVsTWNrUXNTVUZCVFd0Q0xFbEJRMVp0UXl4RlFVRlRlRVlzUzBGRFZHMURMRXRCUjA5QkxFVkJRVWxyUWl4RlFVRlJiRUlzU1VGSGJrSXNSMEZCY1VNc1QwRkJPVUpuUkN4RlFVRlZaQ3hWUVVGWGJFTXNTVUZITTBJc1NVRkJUV2xFTEV0QlFWRkVMRVZCUTJKRkxFVkJRVTlHTEVWQlFWTkRMRWRCU1VZc1kwRkJWRUVzUjBGQmQwSkpMRWxCUVZkSUxFbEJTMjVEU1N4SFFVRlJTaXhKUVVGVmRFTXNSVUZCVHpKRExHTkJRV1ZNTEV0QlF6RkRReXhGUVVGalN5eE5RVUZOUXl4UlFVRlRVQ3hOUVVNdlFucEVMRVZCUVUwMFJDeEZRVUZSU2l4SFFVbGlSeXhGUVVSSlJDeEpRVUZuUWtzc1RVRkJUVU1zVVVGQlUyaEZMRWRCUXpOQ0xFZEJRMGt3UkN4SFFVRm5RblpETEVWQlFVOHlReXhqUVVGbE9VUXNSMEZITVVOQkxFVkJSa0VzUjBGSlZEQkVMRWRCUVdNc1JVRkhaRVVzUlVGQlVVb3NSMEZCVTNKRExFVkJRVTl0UXl4UFFVRlJUeXhGUVVGTlJpeEZRVUZQUml4VFFVZDZRbEVzU1VGQlZGSXNTVUZEV0Vjc1JVRkJVVW9zUjBGQlUwTXNTVUZQY2tJc1QwRkJUMGNzUjBGSFVucERMRVZCUVU5dFF5eFBRVUZSTEVOQlIyUlpMRkZCUVZNc1ZVRnNURU1zVVVGclRITkNReXhMUVVGTFF5eFZRVUZYUXl4UlFVRlRMRTFCUVU4c1NVRkhhRVZETEZOQlFWTXNSVUZGVkVNc1RVRkJUeXhUUVVGVlF5eEhRVU5vUWl4TlFVRk5MRWxCUVVsMFJ5eE5RVUZQYzBjc1NVRkhiRUpETEV0QlFVMHNZVUZGVGxnc1kwRkJaU3hUUVVGVmNFVXNSMEZEZUVJc1NVRkJTV2RHTEVWQlFVOURMRVZCU1Znc1UwRkJUV3BHTEVkQlFXZERMRzlDUVVGNlFsQXNSVUZCVTA0c1MwRkJUV0VzVVVGSk5VSm5SaXhGUVVGUmJrY3NSVUZCVlcxQ0xFdEJVMHNzYlVKQlJIWkNhVVlzUlVGQlQzWkdMRVZCUVU5UUxFdEJRVTAyUml4RlFVRlBMR2RDUVVGdFFrRXNSVUZCVFRsRExHTkJRMlowUXl4RlFVRlhWQ3hMUVVGTk9FWXNTMEZCVjNCR0xFbEJSMnhGY1VZc1kwRkJaU3hUUVVGVmJFWXNSMEZEZUVJc1NVRkJTVGhFTEVWQlJVb3NTVUZCVFVFc1MwRkJVVGxFTEVWQlEySXNUMEZCVHl4RlFVVlNMRTlCUVU4c1IwRkxVbTFHTEZkQlFWa3NVMEZCVlhwRkxFVkJRVTF0UkN4RlFVRlRha1FzUjBGRGNFTklMRVZCUVZORExFVkJRVTBzUTBGQlJVZ3NUVUZCVDNORUxFZEJRVmRCTEVWQlFWRjBSQ3hQUVVGVFN5eEpRVWR5UkN0Q0xFdEJRVTBzVTBGQlZUTkRMRVZCUVVzMFF5eEhRVU53UWl4SlFVRkpZaXhGUVVGUmJFSXNSVUZCU1N4RlFVVm9RaXhIUVVGTGFVSXNSVUZCWVRsQ0xFZEJSV3BDTEVsQlJFRXJRaXhGUVVGVEwwSXNSVUZCU1N0Q0xFOUJRMHhzUWl4RlFVRkphMElzU1VGRGNVTXNTVUZCTTBOaExFVkJRVk42UkN4TFFVRk5ZU3hGUVVGTFlTeEhRVUZMUVN4RlFVRkhZaXhGUVVGTFlTeEpRVVJ1UWtFc1ZVRk5jRUlzU1VGQlRVRXNTMEZCUzJJc1JVRkRWaXhKUVVGblJDeEpRVUV6UXpSRExFVkJRVk42UkN4TFFVRk5ZU3hGUVVGTFlTeEhRVUZMUVN4RlFVRkhZaXhGUVVGTFlTeEpRVU55UXl4TlFVdElMRTlCUVU5aUxFZEJTVkp2Uml4VlFVRlhMRk5CUVZWNFJ5eEZRVUZMZVVjc1IwRkRla0lzU1VGQlNUZERMRVZCUVUwMlF5eEhRVUZYTEVkQllYSkNMRTlCV0Zrc1RVRkJVSHBITEVsQlEwTnJSQ3hGUVVGaGFFUXNUMEZCVVVZc1NVRkRla0kyUXl4RlFVRlBaMElzVFVGQlQwUXNSVUZEUlN4cFFrRkJValZFTEVWQlEwNHNRMEZCUlVFc1IwRkJVVUVzUjBGSFdsVXNSVUZCUzBnc1MwRkJUWEZFTEVWQlFVczFSQ3hKUVVsWU5FUXNSMEZIVWpoRExGRkJRVk1zVTBGQlZYaERMRVZCUVUxc1JTeEZRVUZMYVVNc1IwRkROMElzVDBGQll5eE5RVUZRYWtNc1IwRkJaU3hGUVVGSlZ5eEZRVUZSU2l4TFFVRk5VQ3hGUVVGTGEwVXNSVUZCVFdwRExFbEJTM0JFTkVJc1RVRkJUeXhUUVVGVlR5eEZRVUZQZFVNc1IwRkxka0lzU1VGS1FTeEpRVUZKYUVNc1IwRkJUMmRETEVWQlFVOTRSQ3hQUVVOcVFubENMRVZCUVVrc1JVRkRTak5ETEVWQlFVbHRReXhGUVVGTmFrSXNUMEZGU0hsQ0xFVkJRVWxFTEVWQlFVdERMRWxCUTJoQ1VpeEZRVUZQYmtNc1MwRkJVVEJGTEVWQlFWRXZRaXhIUVV0NFFpeFBRVVpCVWl4RlFVRk5ha0lzVDBGQlUyeENMRVZCUlZKdFF5eEhRVWRTU1N4TFFVRk5MRk5CUVZWaUxFVkJRVTlMTEVWQlFWVTBReXhIUVZOb1F5eEpRVkpCTEVsQlEwTkRMRVZCUVZVc1IwRkRWalZGTEVWQlFVa3NSVUZEU210Q0xFVkJRVk5STEVWQlFVMVNMRTlCUTJZeVJDeEhRVUZyUWtZc1JVRkpXRE5GTEVWQlFVbHJRaXhGUVVGUmJFSXNTMEZEUVN0Q0xFVkJRVlZNTEVWQlFVOHhRaXhIUVVGTFFTeExRVU5vUWpaRkxFZEJRM2hDUkN4RlFVRlJia2NzUzBGQlRXbEVMRVZCUVU4eFFpeEpRVWwyUWl4UFFVRlBORVVzUjBGSlVqVkRMRWxCUVVzc1UwRkJWVTRzUlVGQlQwc3NSVUZCVlN0RExFZEJReTlDTEVsQlFVazFSQ3hGUVVGUk5rUXNSVUZEV0M5RkxFVkJRVWtzUlVGRFNqSkNMRVZCUVUwc1IwRkhVQ3hIUVVGTFZpeEZRVUZoVXl4SFFVVnFRaXhKUVVSQlVpeEZRVUZUVVN4RlFVRk5VaXhQUVVOUWJFSXNSVUZCU1d0Q0xFVkJRVkZzUWl4SlFVZE1MRTlCUm1RclJTeEZRVUZSYUVRc1JVRkJWVXdzUlVGQlR6RkNMRWRCUVV0QkxFVkJRVWM0UlN4TFFVZG9RMjVFTEVWQlFVbHNSQ3hMUVVGTmMwY3NVVUZOV2l4SlFVRk5MMFVzUzBGQlN6QkNMRVZCUjBrc1QwRkdaSEZFTEVWQlFWRm9SQ3hGUVVGVlRDeEZRVUZQTVVJc1IwRkJTMEVzUlVGQlJ6aEZMRXRCUjJoRGJrUXNSVUZCU1d4RUxFdEJRVTF6Unl4SFFVMWlMRTlCUVU4elJ5eEZRVUZOZFVRc1NVRkpaSEZFTEV0QlFVMHNSVUZKVGk5R0xGRkJRVk5CTEVsQlIyRXNiVUpCUVZoblJ5eFRRVU5ZY2tVc1JVRkJUMGNzUjBGQlNXdEZMRTlCUVU5RExGVkJRV0Z1U0N4RlFVRkxhMGdzVDBGQlQwTXNWMEZKTlVOMFJTeEZRVUZQYTBJc1MwRkJUU3gxUlVGQmRVVnhSQ3hOUVVGUExFdEJRekZHTEZOQlFWVkRMRVZCUVVsdVF5eEhRVU5pZEVVc1JVRkJXU3hYUVVGaGMwVXNSVUZCVHl4TFFVRlJRU3hGUVVGTGIwTXNaMEpCYlVJdlF5eEpRVUZKUXl4RlFWZEtMRk5CUVZreFNDeEhRVU5hTEVsQlFVbHZReXhGUVVOSVppeEZRVU5CYzBjc1JVRkRRVU1zUlVGRFFVTXNSVUZEUVVNc1JVRkRRVU1zUlVGRFFVTXNSVUZEUVVNc1JVRkRRVU1zUlVGRFFVTXNSVUZIUVVNc1JVRkRRWFpKTEVWQlEwRjNTU3hGUVVOQlF5eEZRVU5CUXl4RlFVTkJReXhGUVVOQmVFSXNSVUZEUVhsQ0xFVkJSMEV4UXl4RlFVRlZMRk5CUVZjc1JVRkJTU3hKUVVGSk1rTXNTMEZETjBKRExFVkJRV1V6U1N4RlFVRlBTQ3hUUVVOMFFpdEpMRVZCUVZVc1JVRkRWa01zUlVGQlR5eEZRVU5RUXl4RlFVRmhReXhMUVVOaVF5eEZRVUZoUkN4TFFVTmlSU3hGUVVGblFrWXNTMEZEYUVKSExFVkJRWGxDU0N4TFFVTjZRa2tzUlVGQldTeFRRVUZWUXl4RlFVRkhReXhIUVVsNFFpeFBRVWhMUkN4SlFVRk5ReXhKUVVOV2JFSXNSMEZCWlN4SFFVVlVMRWRCU1ZKc1NDeEZRVUZUTEVkQlFVOURMR1ZCUTJoQ1ppeEZRVUZOTEVkQlEwNXRTaXhGUVVGTmJrb3NSVUZCU1cxS0xFbEJRMVpETEVWQlFXRndTaXhGUVVGSlZTeExRVU5xUWtFc1JVRkJUMVlzUlVGQlNWVXNTMEZEV0U0c1JVRkJVVW9zUlVGQlNVa3NUVUZKV2s4c1JVRkJWU3hUUVVGVk1Fa3NSVUZCVFc1R0xFZEJSM3BDTEVsQlJrRXNTVUZCU1dwRExFVkJRVWtzUlVGRFVEQkRMRVZCUVUwd1JTeEZRVUZMYkVjc1QwRkRTbXhDTEVWQlFVa3dReXhGUVVGTE1VTXNTVUZEYUVJc1IwRkJTMjlJTEVWQlFVMXdTQ3hMUVVGUmFVTXNSVUZEYkVJc1QwRkJUMnBETEVWQlIxUXNUMEZCVVN4SFFVZFVjVWdzUlVGQlZ5dzJTRUZOV0VNc1JVRkJZU3h6UWtGSFlrTXNSVUZCWVN3d1FrRkJORUpFTEVWQlEzaERMREJEUVVkRVJTeEZRVUZoTEUxQlFWRkdMRVZCUVdFc1MwRkJUME1zUlVGQllTeFBRVUZUUkN4RlFVYzVSQ3huUWtGQmEwSkJMRVZCU1d4Q0xESkVRVUUyUkVNc1JVRkJZU3hQUVVNeFJVUXNSVUZCWVN4UFFVVmtSeXhGUVVGVkxFdEJRVTlHTEVWQlFXRXNkMFpCVDBGRExFVkJRV0VzWlVGUE0wTkZMRVZCUVdNc1NVRkJTVU1zVDBGQlVVd3NSVUZCWVN4SlFVRkxMRXRCUXpWRFRTeEZRVUZSTEVsQlFVbEVMRTlCUVZFc1NVRkJUVXdzUlVGQllTdzRRa0ZEZEVOQkxFVkJRV0VzUzBGQlRTeExRVVZ3UWs4c1JVRkJVeXhKUVVGSlJpeFBRVUZSTEVsQlFVMU1MRVZCUVdFc1MwRkJUMEVzUlVGQllTeExRVU0xUkZFc1JVRkJaU3hKUVVGSlNDeFBRVUZSTEVsQlFVMU1MRVZCUVdFc1YwRkJZVUVzUlVGQllTeEpRVUZOUVN4RlFVTTNSU3hMUVVORVV5eEZRVUZYTEVsQlFVbEtMRTlCUVZGTUxFVkJRV0VzVFVGRmNFTlZMRVZCUVZVc1NVRkJTVXdzVDBGQlVVWXNSMEZEZEVKUkxFVkJRV01zU1VGQlNVNHNUMEZCVVN4SlFVRk5TaXhGUVVGaExFdEJSVGREVnl4RlFVRlpMRU5CUTFoRExFZEJRVTBzU1VGQlNWSXNUMEZCVVN4TlFVRlJTaXhGUVVGaExFdEJRM1pEWVN4TlFVRlRMRWxCUVVsVUxFOUJRVkVzVVVGQlZVb3NSVUZCWVN4TFFVTTFRMk1zU1VGQlR5eEpRVUZKVml4UFFVRlJMRXRCUVU5S0xFVkJRV0VzVTBGRGRrTmxMRXRCUVZFc1NVRkJTVmdzVDBGQlVTeEpRVUZOU0N4SFFVTXhRbVVzVDBGQlZTeEpRVUZKV2l4UFFVRlJMRWxCUVUxR0xFZEJRelZDWlN4TlFVRlRMRWxCUVVsaUxFOUJRVkVzZVVSQlEzQkNUQ3hGUVVGaExDdENRVUZwUTBFc1JVRkJZU3hqUVVNelJFRXNSVUZCWVN4aFFVRmxRU3hGUVVGaExGTkJRVlVzUzBGRGNFUnRRaXhMUVVGUkxFbEJRVWxrTEU5QlFWRXNUMEZCVTA0c1JVRkJWeXhMUVVGTkxFdEJTVGxEY1VJc1lVRkJaMElzU1VGQlNXWXNUMEZCVVN4SlFVRk5UQ3hGUVVOcVF5eHRSRUZCY1VSQkxFVkJRM0pFTEcxQ1FVRnhRa0VzUlVGQllTeHRRa0ZCYjBJc1RVRkhlRVJ4UWl4RlFVRlJMRk5CUTFKRExFVkJRVlVzYzBOQlExWkRMRVZCUVZVc1UwRkZWa01zUlVGQlZTeDVRa0ZIVmtNc1JVRkJZU3h0UTBGRllrTXNSMEZCVnl4UFFVbFlReXhIUVVGWkxFbEJRVWwwUWl4UFFVRlJMSFZDUVVGNVFrd3NSVUZCWVN4MVFrRkJkMElzUzBGRGRFWTBRaXhIUVVGWkxGTkJRVlZETEVWQlFWRkRMRWRCUXpkQ0xFbEJRVWxETEVWQlFVOHNTMEZCVDBZc1JVRkJUMmhNTEUxQlFVOHNSMEZCVFN4TlFVVjBReXhQUVVGUGFVd3NTVUZUVGtNc1JVRkJUeXhGUVVOT1F5eFBRVUZQUXl4aFFVRmpSaXhGUVVGUExFOUJRelZDUXl4UFFVRlBReXhoUVVGalJpeEhRVUZSTEVkQlFVc3NUVUZCWlN4TFFVRlFRU3hGUVVGbExGTkJTelZFUnl4SFFVRmhMSE5FUVVOaVF5eEhRVUZoTEZOQlFWVkRMRVZCUVVsRExFZEJRekZDTEU5QlFVdEJMRVZCUjFFc1QwRkJVRVFzUlVGRFJ5eEpRVWxFUVN4RlFVRkhka3dzVFVGQlR5eEhRVUZKTEVkQlFVMHNTMEZETVVKMVRDeEZRVUZIUlN4WFFVRlpSaXhGUVVGSGVFa3NUMEZCVXl4SFFVRkpkRU1zVTBGQlZTeEpRVUZQTEVsQlNUTkRMRXRCUVU4NFN5eEhRVTltUnl4SFFVRm5RaXhYUVVObU4wUXNTMEZIUkRoRUxFZEJRWEZDUXl4SFFVTndRaXhUUVVGVk9VZ3NSMEZEVkN4UFFVRjVRaXhKUVVGc1FrRXNSVUZCU3l0SUxGVkJRWEZFTEdGQlFXaERMMGdzUlVGQlMyZEpMRk5CUVZNMVJTeGxRVVZvUkN4RFFVRkZOa1VzU1VGQlN5eGhRVUZqUXl4TFFVRk5MRmRCU1RkQ0xFbEJRME14VEN4RlFVRkxSQ3hOUVVOR1ZDeEZRVUZOU1N4RlFVRk5SeXhMUVVGTmFVa3NSVUZCWVRaRUxGbEJRMnBETjBRc1JVRkJZVFpFTEZsQlRXUnlUU3hGUVVGTGQwa3NSVUZCWVRaRUxGZEJRVmRzU2l4UlFVRlRPVUlzVTBGRGNrTXNUVUZCVVdsTUxFZEJRMVExVEN4RlFVRlBMRU5CUVVWRUxFMUJRVTlVTEVWQlFVbHRSQ3hQUVVkdVFpeFRRVUZWYlVNc1JVRkJVV2xJTEVkQlEycENia1FzUlVGQlZ6TkpMRTFCUVU4MlJTeEZRVUZSYkVZc1JVRkJUVWNzUzBGQlRXZE5MRXRCUzNaRExGTkJRVlZxU0N4RlFVRlJhVWdzUjBGTGFrSXNTVUZLUVN4SlFVRkpNMGdzUlVGQlNWVXNSVUZCVDI1RExFOUJRMlJzUWl4RlFVRkpMRVZCUjB0eFJDeEZRVUZSVml4TFFVRlJNa2dzUlVGQlMzUkxMRTlCUXk5Q2NVUXNSVUZCVDI1RExFOUJRVk41UWl4RlFVRkpMRWxCUzNaQ0xGTkJRVk15UXl4SFFVRlJla1VzUlVGQlZVTXNSVUZCVXpCRUxFVkJRVk1yUml4SFFVTTFReXhKUVVGSlF5eEZRVUZIZUVzc1JVRkJSMmxETEVWQlFVMTNTU3hGUVVGTFF5eEZRVUZQUXl4RlFVRlJReXhGUVVOdVEwTXNSVUZCWVM5S0xFZEJRVmRCTEVWQlFWRm5TeXhqUVVkb1F6Rk1MRVZCUVZjd1FpeEZRVUZWUVN4RlFVRlJNVUlzVTBGQlZ5eEZRVXQ2UXl4SFFVaEJiMFlzUlVGQlZVRXNSMEZCVnl4SFFVZEpMR2xDUVVGaU0wUXNTVUZCTUVKQkxFZEJRM2hDTEVsQlFXSjZRaXhIUVVFclFpeEpRVUZpUVN4SFFVRXJRaXhMUVVGaVFTeEZRVVZ3UXl4UFFVRlBiMFlzUlVGSlVpeEpRVUZOSzBZc1NVRkRUSFpGTEVWQlFXRnNSaXhIUVVOaVFTeEZRVUZWUVN4SFFVRlhja1FzUlVGRmFFSjVTU3hIUVVGcFFpeERRVWx5UWl4SFFVRnJRaXhMUVVGaU9VY3NTVUZCY1VKelRDeEZRVUZSTTBJc1JVRkJWMmRETEV0QlFVMXNTeXhKUVVkc1JDeEhRVUZQTWtvc1JVRkJTVVVzUlVGQlR5eEpRVWRxUWl4SFFVRnJRaXhKUVVGaWRFd3NSVUZCYVVJc1EwRkRja0lzUzBGQlR6WkRMRVZCUVU5dVFpeEZRVUZSYTBzc1pVRkJaMEpTTEVsQlZYSkRMRTlCUVU5b1J5eEZRVXhRTEVkQlFVdDJReXhGUVVGTFowb3NTMEZCVDFRc1JVRkZhRUlzVDBGRVFXaEhMRVZCUVZFdlJpeExRVUZOZDBRc1IwRkRVSFZETEU5QldWUXNSMEZCUzNGSExFbEJRV2RDTlVrc1JVRkJUelJKTEVWQlFWZEhMR1ZCUVdkQ1VpeExRVU4wUkc1RkxFVkJRVlYyUml4RlFVRlRiVUlzU1VGRGJrSkJMRVZCUVV0blNpeExRVUZQVkN4RlFVZGFMRTlCUkVGb1J5eEZRVUZSTDBZc1MwRkJUWGRFTEVkQlExQjFReXhOUVV0SUxFTkJRVUVzUjBGQlMydEhMRVZCUVU4c1IwRkZiRUlzVDBGRVFXcE5MRVZCUVV0RUxFMUJRVTluUnl4RlFVRlRNVVFzUlVGQlVXOUxMSEZDUVVGelFuSkxMRWxCUXpWRE1rUXNSVUZIUkN4SlFVRlBaMGNzUlVGQlNVVXNSVUZCVHl4TFFVRlRla3dzUlVGQlVXdE5MSGRDUVVONlEzSkxMRVZCUVZGeFN5eDFRa0ZIVWl4UFFVUkJNVTBzUlVGQlMwUXNUVUZCVDJkSExFVkJRVk14UkN4RlFVRlJjVXNzZFVKQlFYZENXQ3hKUVVNNVEyaEhMRVZCUzFRc1IwRkJTM1pHTEVWQlFWRnRUU3hOUVVOWWRFVXNSVUZCZDBKcVJ5eEZRVUZYTEZGQlEycERjMFlzU1VGQlkwRXNSVUZCVld0R0xFdEJRVTE0U3l4TlFVbHNRaXhKUVVGaWVrSXNSMEZCY1VRc1YwRkJia013UWl4RlFVRlJiVW9zVTBGQlV6VkZMR1ZCUVN0Q0xFTkJXWEJGTEVkQlZrRjFSaXhGUVVGakwwb3NSVUZEWkdkTExFVkJRV0V2U2l4RlFWTkxMRWxCUVdJeFFpeEpRVU5HTWtrc1JVRkJVM05FTEV0QlFVMTRTeXhKUVVGamFVZ3NSVUZCWVhWRUxFdEJRVTE0U3l4SlFVRmxMRU5CY1VKcVJTeExRV3hDUVdkTExFVkJRV0UzUWl4SFFVRlRjVU1zUzBGQlRYaExMRWxCUVdONVN5eEhRVUZoZUVzc1JVRkJVVXdzWVVGRE9VUkxMRXRCU1cxQ1FTeEhRVUZaTjBJc1JVRkJVWE5OTEZOQlIyaERaQ3hGUVVGTk0wb3NSVUZCVVZRc1lVRkJZeXhQUVVOc1EyOUxMRVZCUVUxQkxFVkJRVWt6Unl4UlFVRlRNRVlzUjBGQldVTXNTVUZGTDBJelNTeEZRVUZSVWl4aFFVRmpMRXRCUVZGdFN5eEZRVUZOT1Vjc1NVRk5kRU16UkN4SFFVUkJNa3NzUlVGQlUycEdMRVZCUVZVM1JTeEpRVU5TU3l4UFFVTkliRUlzUzBGRFVESkxMRVZCUVZFelN5eEpRVUZSZVVzc1JVRkJUU3hKUVVGTlFTeEZRVUZOTEZWQlFXRXNTVUZET1VObExFZEJRVmxpTEVWQlFWRXpTeXhKUVVWMFFqUkxMRVZCUVdORUxFVkJRVTlqTEV0QlFVMHNTMEZITlVJc1NVRkpReXhQUVVoQmFFNHNSVUZCUzBRc1RVRkJUMmRITEVWQlExaHhSeXhGUVVGWFlTeHBRa0ZCYTBKa0xFbEJSWFpDY0Vjc1JVRkRUaXhOUVVGUmJVZ3NSMEZEVkRkRkxFVkJRWGRDYWtjc1IwRkJWU3hIUVVOcVF5eFJRVU5KTkVvc1NVRkJVVGxITEVkQlExbzNReXhGUVVGUk9Fc3NaMEpCUVdsQ0xGRkJVVGxDTEU5QlFVOW9SeXhGUVVGUkwwVXNSVUZCVTJsRUxGRkJRVk00UkN4RlFVRlBMRTFCUVZFNVJ5eEZRVUZUTUVRc1JVRkJVeXRHTEVkQlUyNUZMRk5CUVZNMVJDeExRVU5TTEVsQlFVbHJSaXhGUVVGUExFZEJXVmdzVDBGV1FTeFRRVUZUUXl4RlFVRlBReXhGUVVGTGFFZ3NSMEZSY0VJc1QwRk1TemhITEVWQlFVdHdUaXhMUVVGTmMwNHNSVUZCVFN4TFFVRlJlRWNzUlVGQlMzbEhMRzlDUVVjelFrWXNSVUZCVDBRc1JVRkJTMGtzVTBGRldFZ3NSVUZCVDBNc1JVRkJUU3hMUVVGUmFFZ3NSMEZUYUVNc1UwRkJVMjFJTEVkQlFXTnVUQ3hIUVVWMFFpeFBRVVJCUVN4RlFVRkpORU1zU1VGQldTeEZRVU5VTlVNc1JVRlBVaXhUUVVGVGIwd3NSMEZCVVhCTUxFZEJRMmhDTEVsQlFVbHhUQ3hGUVVGTE0wOHNSVUZCVXpCRExHTkJRV1VzV1VGRmFrTXNTVUZEUXl4UlFVRlRXU3hGUVVGSmNVd3NSMEZEV2l4TlFVRlJMMElzUjBGRFZDeFBRVUZQTEVWQlEwNHNVVUZIU1N0Q0xFVkJRVWN6VEN4WlFVTlFNa3dzUlVGQlJ6Tk1MRmRCUVZkRExGbEJRV0V3VEN4SFFVazFRa0VzUlVGQlN5eE5RVk5RTEZOQlFWTkRMRWRCUVZkRExFVkJRVTlETEVkQlNURkNMRWxCU0VFc1NVRkJTWGhQTEVWQlFVMTFUeXhGUVVGTmJrZ3NUVUZCVHl4TFFVTjBRbTVHTEVWQlFVbHFReXhGUVVGSmJVUXNUMEZGUkd4Q0xFdEJRMUIxUml4RlFVRkxhVWdzVjBGQldYcFBMRVZCUVV0cFF5eEpRVUZSZFUwc1JVRlZhRU1zVTBGQlUwVXNSMEZCWTNwR0xFVkJRVWRETEVkQlEzcENMRWxCUVVsNVJpeEZRVUZOZWtZc1IwRkJTMFFzUlVGRFpESkdMRVZCUVU5RUxFZEJRWE5DTEVsQlFXWXhSaXhGUVVGRk5VZ3NWVUZCYVVNc1NVRkJaalpJTEVWQlFVVTNTQ3hWUVVOdVF6UklMRVZCUVVVMFJpeFpRVUZqTTBZc1JVRkJSVEpHTEZsQlIzQkNMRWRCUVV0RUxFVkJRMG9zVDBGQlQwRXNSVUZKVWl4SFFVRkxSQ3hGUVVOS0xFdEJRVlZCTEVWQlFVMUJMRVZCUVVsSExHRkJRMjVDTEVkQlFVdElMRWxCUVZGNlJpeEZRVU5hTEU5QlFWRXNSVUZMV0N4UFFVRlBSQ3hGUVVGSkxFZEJRVXNzUlVGUGFrSXNVMEZCVXpoR0xFZEJRVzFDZEU0c1IwRkRNMElzVDBGQlR5eFRRVUZWZVVNc1IwRkZhRUlzVFVGQlowSXNWVUZFVEVFc1JVRkJTMmRKTEZOQlFWTTFSU3hsUVVORmNFUXNSVUZCUzNwRExFOUJRVk5CTEVkQlVUTkRMRk5CUVZOMVRpeEhRVUZ2UW5aT0xFZEJRelZDTEU5QlFVOHNVMEZCVlhsRExFZEJRMmhDTEVsQlFVbG5RaXhGUVVGUGFFSXNSVUZCUzJkSkxGTkJRVk0xUlN4alFVTjZRaXhQUVVGclFpeFZRVUZVY0VNc1IwRkJOa0lzVjBGQlZFRXNTVUZCZFVKb1FpeEZRVUZMZWtNc1QwRkJVMEVzUjBGUmNFVXNVMEZCVTNkT0xFZEJRWE5DYUVRc1IwRkhPVUlzVDBGQlR5eFRRVUZWTDBnc1IwRkxhRUlzVFVGQlN5eFRRVUZWUVN4RlFWTlVRU3hGUVVGTGVFSXNZVUZCWjBNc1NVRkJiRUozUWl4RlFVRkxLMGdzVTBGSGRrSXNWVUZCVnk5SUxFVkJRMVlzVlVGQlYwRXNSVUZCUzNoQ0xGZEJRMkozUWl4RlFVRkxlRUlzVjBGQlYzVktMRmRCUVdGQkxFVkJSVGRDTDBnc1JVRkJTeXRJTEZkQlFXRkJMRVZCVFhCQ0wwZ3NSVUZCUzJkTUxHRkJRV1ZxUkN4SFFVa3hRaTlJTEVWQlFVdG5UQ3hqUVVGblFtcEVMRWRCUTNKQ1JpeEhRVUZ2UWpkSUxFdEJRVmNyU0N4RlFVY3hRaTlJTEVWQlFVc3JTQ3hYUVVGaFFTeEZRVXRrTEZWQlFWY3ZTQ3hIUVVObVFTeEZRVUZMSzBnc1YwRkJZVUVzUjBGWk5VSXNVMEZCVTJ0RUxFZEJRWGRDYmswc1IwRkRhRU1zVDBGQlQyMU1MRWRCUVdNc1UwRkJWV2xDTEVkQlJUbENMRTlCUkVGQkxFZEJRVmxCTEVWQlEweHFRaXhIUVVGakxGTkJRVlV6UWl4RlFVRk5NMFlzUjBGTmNFTXNTVUZNUVN4SlFVRkpha01zUlVGRFNIbExMRVZCUVdWeVRTeEZRVUZKTEVkQlFVbDNTaXhGUVVGTGNrb3NUMEZCVVdsTkxFZEJRM0JEYms0c1JVRkJTVzlPTEVWQlFXRnNUU3hQUVVkV2JFSXNTMEZEUm5WTExFVkJRVkUxU0N4RlFVRkplVXNzUlVGQlkzQk9MRTFCUXpsQ2RVc3NSVUZCVFRWSUxFdEJRVk5wUXl4RlFVRlRha01zUjBGQlRUUklMRVZCUVUwMVNDeFRRVmw2UXl4VFFVRlRNa2tzUjBGQllYaExMRWRCUTNKQ0xFOUJRVTlCTEZGQlFXMUVMRWxCUVdwRFFTeEZRVUZSYjBzc2MwSkJRWGREY0Vzc1JVRnJja014UlN4SlFVRk5aQ3hMUVRseFEwNW1MRVZCUVZWeFJ5eEhRVUZQY2tjc1VVRkJWU3hIUVU4elFuZEhMRVZCUVZGSUxFZEJRVTlITEUxQlFWRXNVMEZCVlhoRUxFZEJRMmhETEVsQlFVbHZUQ3hGUVVGWmNFd3NSMEZCVVVFc1JVRkJTM0ZNTEdGQlF6VkNja2dzUlVGQlZXaEZMRWxCUVZWQkxFVkJRVXMyU1N4bFFVRnBRamRKTEVkQlFVOXpUQ3huUWtGTGJFUXNUMEZCVVRWRkxFVkJRVTB3UXl4TFFVRk5aME1zUjBGQllYQklMRWRCUVZkQkxFVkJRVkZuUlN4VlFVRlpMRk5CVVdwRmFrVXNSVUZCWTFZc1IwRkJUMVVzV1VGQll5eFRRVUZWYkVjc1IwRkROVU1zU1VGQlNUQk9MRVZCUVZsRExFVkJRMll4VGl4RlFVRk5SQ3hGUVVGUFFTeEZRVUZMWjB3c1pVRkJhVUpvVEN4RlFVRlBlVWNzUlVGUE0wTXNUMEZCUzNoSExFZEJRVTkwUXl4SFFVRTJRaXhKUVVGcVFuTkRMRVZCUVVsWUxGVkJRVzFDVnl4RlFVRkpkMDRzYVVKQlRXNUVkRWdzUjBGRVFYaEpMRVZCUVZkelF5eEhRVU5SZDA0c1owSkJRMjVDY2tnc1IwRkJhMEpVTEVWQlFVOW9TU3hIUVZGd1FqaEpMRWRCUVdkQ09Va3NTVUZEYkVKblVTeEZRVUZaYUZFc1JVRkJVMmxSTEdOQlFXbENSQ3hGUVVGVlJTeE5RVUZSUml4SlFVZHlSRUVzUlVGQlZVY3NhVUpCUTJSSUxFVkJRVlZITEdsQ1FVRnJRaXhUUVVGVkwwUXNTVUZCWlN4SFFVY3hRelJFTEVWQlFWVkpMR0ZCUTNKQ1NpeEZRVUZWU1N4WlFVRmhMRmRCUVZsb1JTeExRVk55UXpWTExFVkJRVkZ6VFN4TlFVRlJXU3hIUVVGUkxGTkJRVlZETEVkQlJXcERMRTlCUkVGdVJ5eEZRVUZSZWtZc1dVRkJZVFJNTEVkQlFVczFUQ3haUVVGaEwwTXNSVUZCVXpCRExHTkJRV1VzWVVGRGVrSXNTVUZCZUVKcFRTeEZRVUZIVml4dFFrRkRabFVzUlVGQlIxWXNhVUpCUVd0Q0xIVkNRVUYzUW5oTExGTkJVMmhFYWtNc1JVRkJVWFZKTEZkQlFXRXlSU3hIUVVGUkxGTkJRVlZETEVkQlJYUkRMRTlCUkVGQkxFVkJRVWN3UWl4VlFVRlpMRXRCUTFBeFFpeEZRVUZITDB3c1lVRkJZeXhsUVU4eFFuQkNMRVZCUVZGcFRTeHhRa0ZCZFVKcFFpeEhRVUZSTEZOQlFWVkRMRWRCUldoRUxFOUJSRUZCTEVWQlFVYzFUQ3haUVVGaEwwTXNSVUZCVTNOUkxHTkJRV1VzVFVGRGFFTXpRaXhGUVVGSGJFSXNjVUpCUVhOQ0xFdEJRVTFvU3l4VFFVbDRRMnBETEVWQlFWRnJUU3gxUWtGQmVVSnlReXhGUVVGUmRVTXNTMEZCVFRWT0xFVkJRVk13VGl4M1FrRk5lRVJzVFN4RlFVRlJLMDhzVVVGQlZUZENMRWRCUVZFc1UwRkJWVU1zUjBGRmJrTXNUMEZFUVc1SExFVkJRVkY2Uml4WlFVRmhORXdzUjBGQlMyNUNMRWRCUVV0MFNDeEhRVU4yUW14SExFVkJRVk4zVVN4dlFrRkJjMEo0VVN4RlFVRlRkMUVzYTBKQlFXMUNkRXNzUjBGQlZYcERMRk5CU1hwRmFrTXNSVUZCVVN0UExGTkJRMXA2U1N4RlFVRkxNa2tzVDBGQllTeEhRVUZKTEZOQlFWVnFSQ3hIUVVNdlFpeEpRVUZKYTBRc1JVRkJVMnhFTEVWQlFVZHVTQ3hSUVVGVGJVWXNSMEZCVjBNc1NVRkRjRU1zVDBGQlR5eFRRVUZWYWtnc1IwRkRhRUlzVDBGQlQwRXNSVUZCU3pWQ0xHRkJRV01zVVVGQlZ6aE9MRWxCUjNaRE5Va3NSVUZCU3paSkxFdEJRVmNzUjBGQlNTeFRRVUZWYmtRc1JVRkJTVzVMTEVkQlEycERMRkZCUVhWRExFbEJRVE5DUVN4RlFVRlJhMHNzWjBKQlFXdERPVVVzUlVGQmFVSXNRMEZEZEVVc1NVRkJTV3BGTEVWQlFVOXVRaXhGUVVGUmEwc3NaVUZCWjBKRExFZEJRMjVETEU5QlFVOW9TaXhGUVVGUExFTkJRVVZCTEVkQlFWTXNUMEZKTTBKelJDeEZRVUZMTWtrc1QwRkJZU3hIUVVGTExGTkJRVlZxUkN4SFFVTm9ReXhKUVVGSmEwUXNSVUZCVTJ4RUxFVkJRVWR1U0N4UlFVRlRiVVlzUjBGQlYwTXNTVUZEY0VNc1QwRkJUeXhUUVVGVmFrZ3NSMEZEYUVJc1NVRkJTVzVETEU5QlFYZERMRWxCUVRGQ2JVTXNSVUZCUzI5TkxHdENRVU4wUW5CTkxFVkJRVXR2VFN4cFFrRkJhMElzVFVGRGVFSXNUMEZCVDNaUExFZEJRVkZCTEVWQlFVdHBSaXhSUVVGVmIwb3NTVUZOYUVNMVNTeEZRVUZMTmtrc1MwRkJWeXhIUVVGSkxGTkJRVlZ1UkN4RlFVRkpia3NzUjBGRGFrTXNVVUZCZFVNc1NVRkJNMEpCTEVWQlFWRnJTeXhuUWtGQmEwTTVSU3hGUVVGcFFpeERRVU4wUlN4SlFVRkpjRWNzUlVGQlRVVXNSVUZCUnpCQ0xFVkJRMXBQTEVWQlFVOXVRaXhGUVVGUmEwc3NaVUZCWjBKRExFZEJSV2hETEVkQlFVdG9TaXhGUVVGUExFTkJTVmdzU1VGRVFXNURMRVZCUVU5dFF5eEZRVUZMYjAwc2FVSkJRV3RDTEZGQlEycENkazhzUlVGQlMybEdMRkZCUVZWclJ5eEZRVU16UWl4TlFVRlBMRU5CUVVWb1NpeEhRVTFXTEVsQlJrRlFMRVZCUVZGYUxFVkJRVkZ0VGl4clFrRkJiVUpvUkN4SFFVTnVRMnBNTEVWQlFVa3NSVUZEVFdsRExFVkJRVTlRTEVWQlFVOHhRaXhOUVVWMlFpeEpRVVJCUml4RlFVRlBiVU1zUlVGQlMyOU5MR2xDUVVGclFpeFJRVU5xUW5aUExFVkJRVXRwUml4UlFVRlZhMGNzUlVGRE0wSXNUVUZCVHl4RFFVRkZhRW9zUjBGTFdpeE5RVUZQTEUxQlRWWnpSQ3hGUVVGTE5ra3NTMEZCV1N4SlFVRkpibEFzUlVGQlVXbE5MSEZDUVVNMVFpeFRRVUZWYjBRc1JVRkJTM2hPTEVkQlEyUXNXVUZCTmtNc1NVRkJha05CTEVWQlFWRnZTeXh4UWtGRFduQkxMRVZCUVZGdlN5eHhRa0ZCYzBKdlJDeEhRVWN4UW5KUUxFVkJRVkZ0VFN4SlFVTmFkRXNzUlVGQlVUUkxMR2xDUVVGclFqUkRMRkZCUkROQ0xFZEJTMUlzVTBGQlZVRXNSVUZCUzNoT0xFZEJRMlFzU1VGQlNXMUNMRVZCUTBoelRTeEZRVUZOTEVkQlEwNTJUeXhGUVVGSkxFVkJSMHAzUlN4RlFVRlZNVVFzUlVGQlVXOUxMSEZDUVVGelFtOUVMRWRCUjNwRExFZEJRV0VzVFVGQlVrRXNSVUZCWXl4RFFVTnNRaXhMUVVGVmNrMHNSVUZCVDNWRExFVkJRVk40UlN4TlFVTkdMRWxCUVd4Q2FVTXNSVUZCU3pkRExGVkJRMVJ0VUN4RlFVRkpPVkFzUzBGQlRYZEVMRWRCU1Zvc1QwRkJUM05OTEVWQlJWSXNUMEZCVHk5S0xFZEJTVlJsTEVWQlFVczJTU3hMUVVGakxFMUJRVWx1VUN4RlFVRlJhMDBzZDBKQlFUQkNMRk5CUVZVeVF5eEZRVUZYYUU0c1IwRkROMFVzVVVGQkswTXNTVUZCYmtOQkxFVkJRVkZ4U3l4M1FrRkJNRU5xUml4RlFVTTNSQ3hQUVVGUGNFWXNSVUZCVVhGTExIVkNRVUYzUWpKRExFbEJWWHBETVVnc1JVRkJaMElzUjBGUGFFSkVMRVZCUVZrc1NVRkZUR3hJTEVWQlFWRnRUU3hKUVVGTmRFTXNSVUZCVVhWRExFdEJRVTAxVGl4RlFVRlRhVThzY1VKQlNUTkRVeXhIUVVGUkxGTkJRVlZETEVkQlJXcENMRWxCUVVsdlF5eEZRVTlLZGtrc1JVRkJVWHBHTEZsQlFXRTBUQ3hIUVVGTGNVTXNWVUZCV1N4VlFVRlpPVXNzUlVGQlZTeHhRa0ZETVVOQkxFVkJRVlVzYTBWQlQzWkNlVWtzUlVGQlIxWXNhVUpCUVd0Q0xIZENRVUY1UW5oTExGRkJRMnhFYVVZc1JVRkJWVEZJTEV0QlFVMHNVMEZCVnpaSkxFVkJRV0VzWjBKQlMyNURPRVVzUlVGQlIxWXNhVUpCUVd0Q0xHTkJRV1Y0U3l4UlFVTjZRMmxHTEVWQlFWVXhTQ3hMUVVGTkxFMUJRVkUyU1N4RlFVRmhMR0ZCUVdWRUxFVkJRVmNzUzBGSk1VUXJSU3hGUVVGSFZpeHBRa0ZCYTBJc1VVRkJWUzlJTEVWQlFWVXNUVUZCVDNwRExGRkJRM0pFYVVZc1JVRkJWVEZJTEV0QlFVMHNUMEZSYWtJclVDeEZRVUZSTDFFc1JVRkJVekJETEdOQlFXVXNWVUZETVVKSExHRkJRV01zVDBGQlVTeEpRVU0xUWpoTUxFVkJRVWMxVEN4WlFVRmhaMDhzUjBGRFZuQkRMRVZCUVVkV0xHbENRVUZyUWl4aFFVRmplRXNzVVVGRGVFTnBSaXhGUVVGVk1VZ3NTMEZCVFN4TlFVRlJOa2tzUlVGQllTeFJRVUZWUVN4RlFVRmhMRXRCUXpORVFTeEZRVUZoTEdkQ1FVMVVPRVVzUlVGQlIxWXNhVUpCUVd0Q0xGbEJRV0Y0U3l4UlFVTjJRMmxHTEVWQlFWVXhTQ3hMUVVGTkxGbEJUVmd5VGl4RlFVRkhWaXhwUWtGQmEwSXNTMEZCVHk5SUxFVkJRVlVzVFVGQlQzcERMRkZCUTJ4RWFVWXNSVUZCVlRGSUxFdEJRVTBzV1VGTGFrSXlUaXhGUVVGSFZpeHBRa0ZCYTBJc1VVRkRja0oyUml4RlFVRlZNVWdzUzBGQlRTeHBRa0ZIYWtJd1RpeEhRVUZSTEZOQlFWVkRMRWRCUTJwQ1FTeEZRVUZIY1VNc1ZVRkJXU3h2UmtGTFppeEpRVUZKUkN4RlFVRlJMMUVzUlVGQlV6QkRMR05CUVdVc1UwRkRjRU54VHl4RlFVRk5iRThzWVVGQll5eFBRVUZSTEZWQlF6VkNPRXdzUlVGQlJ6Vk1MRmxCUVdGblR5eEhRVUZSYkU4c1lVRkJZeXhQUVVGUkxFdEJTWHBET0V3c1JVRkJSMVlzYVVKQlFXdENMRmxCUVdGNFN5eFJRVU4wUTJsR0xFVkJRVlV4U0N4TFFVRk5MRTlCUVZNMlNTeEZRVUZoTEdWQlMxY3NTVUZCTjBNNFJTeEZRVUZIVml4cFFrRkJhMElzV1VGQllYaExMRkZCUTNSRGFVWXNSVUZCVlRGSUxFdEJRVTBzVjBGQldTeGhRVXMzUW5kSUxFVkJRVkY2Uml4WlFVRmhORXdzUjBGQlMzQkRMRlZCUVZjc1JVRkRZeXhKUVVFNVEyOURMRVZCUVVkV0xHbENRVUZyUWl4aFFVRmplRXNzVVVGRGRrTnBSaXhGUVVGVk1VZ3NTMEZCVFN4WFFVRlpMR0ZCU3pkQ01rNHNSVUZCUjFZc2FVSkJRV3RDTEZGQlEzSkNka1lzUlVGQlZURklMRXRCUVUwc1dVRkpXRkVzUlVGQlVYbFFMR2RDUVVGclFqVkdMRVZCUVZGMVF5eExRVUZSZWtjc1JVRkJWWEZDTEVWQlFWRnlRaXhUUVVOc1JYRkNMRVZCUVZFd1NTeDFRa0ZEVWpGSkxFVkJRVkV5U1N4dlFrRkRVak5KTEVWQlFWRTBTU3hyUWtGRFVqVkpMRVZCUVZFMlNTeHhRa0ZGVWpORExFZEJRVkVzVTBGQlZVTXNSMEZKYWtKdVRpeEZRVUZST0ZBc2EwSkJRVzlDYmtzc1JVRkJVWFJITEV0QlFVMDRUaXhGUVVGSkxFdEJTVGxEZUVnc1JVRkJVWFJITEV0QlFVMDRUaXhGUVVGSkxHRkJRMnhDYUVjc1JVRkJZek5JTEV0QlFVMHNTMEZCVFdkS0xFdEJTVFZDZEVJc1JVRkJXVUVzUlVGQlZXcEdMRkZCUVZVc1NVRkJTWGxITEU5QlFWRjRRaXhGUVVGVmMwWXNTMEZCVFN4TlFVTTFSSEpHTEVWQlFXZENRU3hGUVVGamJFWXNVVUZCVlN4SlFVRkplVWNzVDBGQlVYWkNMRVZCUVdOeFJpeExRVUZOTEUxQlNYaEZLMElzUlVGQllURkZMRVZCUVZGMVF5eExRVUZOY0VZc1JVRkJVU3RKTEhsQ1FVdHVRek5KTEVWQlFWZHRTQ3hIUVVGak1VVXNSVUZCVVhWRExFdEJRVTF3Uml4RlFVRlJTU3hWUVVNNVF5eFRRVUZWVnl4RlFVRkhReXhIUVVOYUxFbEJRVWxuU1N4RlFVRjFRaXhKUVVGbWFra3NSVUZCUlRWSUxGTkJRV2xDTkVnc1JVRkJSWFZITEdkQ1FVRnJRblpITEVWQlEyeEVhMGtzUlVGQlRXcEpMRWRCUVV0QkxFVkJRVVY0Unl4WFFVTmtMRTlCUVU5MVJ5eEpRVUZOYTBrc1RVRkJWMEVzUjBGQmQwSXNTVUZCYWtKQkxFVkJRVWs1VUN4WlFVTnNRelpRTEVWQlFVMDFTU3hUUVVOTU5Fa3NSVUZCVFRWSkxGTkJRVlUyU1N4SFFVTm9RbXhKTEVWQlFVVm5TU3g1UWtGQk9FUXNSMEZCYmtOb1NTeEZRVUZGWjBrc2QwSkJRWGxDUlN4TlFVY3pSQ3hUUVVGVmJFa3NSVUZCUjBNc1IwRkRXaXhIUVVGTFFTeEZRVU5LTEV0QlFWVkJMRVZCUVVsQkxFVkJRVVY0Unl4WlFVTm1MRWRCUVV0M1J5eEpRVUZOUkN4RlFVTldMRTlCUVU4c1JVRkpWaXhQUVVGUExFZEJUMVJFTEVWQlFWbDVSeXhGUVVOYUxGTkJRVlY0Unl4RlFVRkhReXhIUVVkYUxFZEJRVXRFTEVsQlFVMURMRVZCUlZZc1QwRkVRV3hDTEVkQlFXVXNSVUZEVWl4RlFVbFNMRWxCUVVsdlNpeEhRVUZYYmtrc1JVRkJSV2RKTEhsQ1FVRXlRaTlJTEVWQlFVVXJTQ3gzUWtGRE9VTXNUMEZCUzBjc1NVRm5RbFVzUjBGUVprRXNSMEZCV1c1SkxFVkJRVVU0UkN4bFFVRnBRamxFTEV0QlFWTkRMRVZCUVVVMlJDeGxRVUZwUWpkRUxFZEJRekZFUkN4RlFVRkZaMGtzZDBKQlFYbENMMGdzUjBGSE0wSXNTMEZKUjJoSkxFVkJRVkZ0VVN4alFVRm5RbTVKTEVWQlFVVXJTQ3gzUWtGQmVVSm9TU3hMUVVGUmJVa3NSVUZQZWtSdVNTeEhRVUZMZGtvc1IwRkJXWFZLTEVWQlFVVTRSQ3hsUVVGcFFuWkZMRWRCUTNoRFJpeEZRVUZWUlN4RlFVRmpVeXhKUVVOb1FpeEZRVTlLUXl4SFFVRkxlRW9zUjBGQldYZEtMRVZCUVVVMlJDeGxRVUZwUW5aRkxFZEJRM2hEUml4RlFVRlZSU3hGUVVGalZTeEhRVU5xUWl4RlFVbEVia0lzUlVGRFNuQklMRVZCUVZOdlNDeEZRVUZYYTBJc1IwRkJUWFJKTEVWQlFWTnZTQ3hGUVVGWGJVSXNSMEZEYUVRc1JVRkhaU3hGUVVGV2Ewa3NSMEZCWlN4RlFVRkpMRWxCUlROQ0xGTkJRVlZ1U1N4RlFVRkhReXhIUVVkYUxFZEJRVXRFTEVsQlFVMURMRVZCUlZZc1QwRkVRV3hDTEVkQlFXVXNSVUZEVWl4RlFVZFNMRWxCUVVreVJ5eEZRVU5JTVUwc1JVRkJTU3hGUVVOS2NWQXNSVUZCVFhKSkxFVkJRVVYyUnl4WFFVTlNlVThzUlVGQlRXcEpMRVZCUVVWNFJ5eFhRVU5TTms4c1JVRkJTeXhEUVVGRmRFa3NSMEZEVUhWSkxFVkJRVXNzUTBGQlJYUkpMRWRCUjFJc1NVRkJUVzlKTEVsQlFWRklMRVZCVFdJc1QwRkJUMnhKTEVkQlFVdDJTaXhIUVVGWkxFVkJRM1pDZDBvc1IwRkJTM2hLTEVWQlFWY3NSVUZGYUVJMFVpeEhRVUZQTEVWQlExQklMRVZCUVUwc1JVRkRUbkJLTEVWQlEwVndTQ3hGUVVGVGIwZ3NSVUZCVjJ0Q0xFZEJRVTEwU1N4RlFVRlRiMGdzUlVGQlYyMUNMRWRCUTJoRUxFVkJSMHNzUjBGQlMyOUpMRWxCUVZGSUxFVkJRMjVDTEU5QlFVOTZReXhIUVVGamVrWXNSVUZCUjBNc1IwRkxla0lzU1VGRVFYbEdMRVZCUVUweFJpeEZRVU5KTUVZc1JVRkJUVUVzUlVGQlNXcE5MRmxCUTI1Q05rOHNSVUZCUjBVc1VVRkJVemxETEVkQlIySXNTVUZFUVVFc1JVRkJUWHBHTEVWQlEwbDVSaXhGUVVGTlFTeEZRVUZKYWswc1dVRkRia0k0VHl4RlFVRkhReXhSUVVGVE9VTXNSMEZKWWl4TFFVRlJORU1zUlVGQlNYUlFMRXRCUVZGMVVDeEZRVUZKZGxBc1NVRkRka0pCTEVsQlIwUXNUMEZCVDBFc1JVRkhUbmxOTEVkQlFXTTJReXhGUVVGSmRGQXNSMEZCUzNWUUxFVkJRVWwyVUN4SlFVOHpRbk5RTEVWQlFVbDBVQ3hKUVVGUGRVY3NSMEZCWjBJc1JVRkRNMEpuU2l4RlFVRkpkbEFzU1VGQlQzVkhMRVZCUVdVc1JVRkZNVUlzUjBGSFN6bEpMRWRCTDJORFFTeEhRV3RrVkRaSUxFZEJRVTlXTEZGQlFWVXNVMEZCVlRaTExFVkJRVTFETEVkQlEyaERMRTlCUVU5d1N5eEhRVUZSYlVzc1JVRkJUU3hMUVVGTkxFdEJRVTFETEVsQlIyeERjRXNzUjBGQlQyOUtMR2RDUVVGclFpeFRRVUZWZWswc1JVRkJUWGRPTEVkQlIzaERMRWRCUmtGNlNpeEZRVUZoTDBRc1IwRkZVbWhFTEVWQlFWRjVVQ3hwUWtGQmJVSjRTU3hKUVVNNVFsa3NSVUZCZDBJeVNTeEZRVUZQTEZGQlF6ZENja29zU1VGQmEwSkJMRVZCUVdOcFJpeExRVUZOYjBVc1QwRkRkRU4wU2l4SlFVRnJRa0VzUlVGQlZXdEdMRXRCUVUxdlJTeEpRVVZ5UXl4SlFVTkRMRWxCUVVrNVRpeEZRVUZOYVVRc1JVRkJVWFJITEV0QlFVMHlSQ3hGUVVGTmQwNHNSMEZIT1VJc1IwRkJTemxPTEVkQlFVOHhReXhGUVVGUk9GQXNiVUpCU1c1Q09VMHNSVUZCUzNoRkxGVkJRWFZETEV0QlFUTkNkMFVzUlVGQlMzaEZMRk5CUVZNeVFpeFRRVU12UWl4UFFVRlBkVU1zUlVGRlVDeE5RVUZSTUVrc1IwRkRWSFpFTEVWQlFYZENNa2tzUjBGQlRTeEhRVWxvUXl4UFFVRlBia3NzUjBGQlVXMUxMRVZCUVUxb1V5eEZRVUZWTEV0QlFVMHNRMEZCUlhkRkxFbEJRVk5tTEU5QlFWTXNSMEZITVVSdlJTeEhRVUZQWlN4VFFVRlhMRk5CUVZWMlJpeEZRVUZUYlVJc1IwRlZjRU1zVDBGSVQyNUNMRVZCUVZGblN5eGxRVUZwUW1oTExFbEJRV0Z5UkN4SFFVTTFRM1ZKTEVWQlFXRnNSaXhIUVVWUWRVWXNSVUZCVlhaR0xFVkJRVk50UWl4SlFVY3pRbkZFTEVkQlFVOXhTeXhMUVVGUExGTkJRVlV4VGl4RlFVRk5aMElzU1VGUGRFSm9RaXhGUVVGTE5ra3NaVUZCYVVJM1NTeEpRVUZWZUVVc1IwRkRkRU4xU1N4RlFVRmhMMFFzUjBGSFpDeEpRVUZKYkVJc1JVRkJTM2RGTEVWQlFVdHBTQ3hYUVVGWmRrb3NSVUZCUzI5RExHVkJSemxDY0VZc1JVRkJUV01zUjBGQlRXeERMRVZCUVU5UUxFdEJRVTFwU0N4RlFVRkxhVWdzVjBGQldYWktMRVZCUVV0dlF5eGxRVU01UTNSRkxFVkJRVWxyUWl4RlFVRk5aMElzUjBGQlQybEVMRkZCUTJwQ2VFTXNSVUZGUml4WlFVRmxRU3hKUVVGU2VrUXNSVUZEVGtFc1JVRkRRV2hDTEVWQlFWRjFTU3hoUVVGbGRFSXNSVUZEZEVKcVJTeEZRVUZMTlVJc1lVRkJZelJETEVsQlEycENhRVFzUlVGQlRXZERMRVZCUVV0dlRTeHBRa0ZCYTBKd1RDeExRVUZaYUVRc1JVRkJTVEpRTEZWQlF6bERNMUFzUlVGQlNUaEZMRTFCUTBvc1RVRkhTazhzUjBGQlR6WkVMRTlCUVZNc1UwRkJWVEJITEVkQlEzcENMRTlCUVZOQkxFVkJRVTBzU1VGQlN5OU1MRkZCUVZNd1JpeEhRVUZaUXl4TFFVY3hRMjVGTEVkQlFVOTBRaXhOUVVGUkxGTkJRVlZETEVkQlEzaENMRTFCUVUwc1NVRkJTWFJITEUxQlFVOHNNRU5CUVRSRGMwY3NTVUZQT1VSeFFpeEhRVUZQZDBzc1YwRkJZU3hUUVVGVmRFd3NSMEZETjBJc1NVRkJTWFpETEVWQlEwZzRUaXhGUVVGaExFZEJRMkp3VGl4RlFVRkpMRVZCUTBvelF5eEZRVUZKTEVWQlQwd3NSMEZLUVN0R0xFZEJRV2RDT1Vjc1JVRkJVU3RSTEdsQ1FVTjRRbXhMTEVkQlFXRTNSeXhGUVVGUloxSXNXVUZCWTNwTUxFVkJRVkZ5Unl4TlFVRlBMRWRCUTJ4RWNVY3NSVUZCVVROQ0xFdEJRVTFyUlN4SFFVVlVhRUlzUlVGQlpTeERRVU51UWl4TFFVRlZPVVFzUlVGQlQzVkRMRVZCUVZONFJTeE5RVU53UW1sRExFbEJRVk4xUXl4RlFVRlRlRVVzUzBGRGRFSXlReXhGUVVGSmIwNHNSVUZCVjNSU0xFdEJRVTExUWl4SlFVZDJRaXhMUVVGUk1rTXNTMEZEVURaQ0xFVkJRVkV4UWl4UFFVRlJhVTRzUlVGQldYQk9MRWRCUVVzc1IwRlJia01zVDBGR1FXMUVMRVZCUVZrc1MwRkZUSFJDTEVkQlQxSm5RaXhGUVVGVlJpeEhRVUZQUlN4UlFVRlZMRk5CUVZWMlJDeEhRVU53UXl4SlFVRkpia01zUlVGRFNEWkNMRVZCUVUwc1IwRkRUak5DTEVWQlFVa3NSVUZEU2xvc1JVRkJWelpETEVWQlFVczNReXhUUVVWcVFpeEhRVUZOUVN4SFFWRkRMRWRCUVd0Q0xFbEJRV0pCTEVkQlFTdENMRWxCUVdKQkxFZEJRU3RDTEV0QlFXSkJMRVZCUVd0Q0xFTkJTV3BGTEVkQlFXbERMR2xDUVVGeVFqWkRMRVZCUVV0cFR5eFpRVU5vUWl4UFFVRlBhazhzUlVGQlMybFBMRmxCU1Zvc1NVRkJUV3BQTEVWQlFVOUJMRVZCUVV0clR5eFhRVUZaYkU4c1JVRkJUVUVzUlVGQlQwRXNSVUZCU3pSTExGbEJReTlEYkV3c1IwRkJUelpFTEVWQlFWTjJSQ3hSUVVkYUxFZEJRV3RDTEVsQlFXSTNReXhIUVVFclFpeEpRVUZpUVN4RlFVTTNRaXhQUVVGUE5rTXNSVUZCUzIxUExHVkJia0phTEV0QlFWVjBVU3hGUVVGUGJVTXNSVUZCVFdwRExFMUJSM1JDTWtJc1IwRkJUelpFTEVWQlFWTXhSaXhIUVhGQ2JFSXNUMEZCVHpaQ0xFbEJSMUkwUkN4RlFVRlBSQ3hIUVVGUEswc3NWVUZCV1N4RFFVZDZRbkpGTEZsQlFXRXNSMEZGWW5ORkxHRkJRV053UlN4SFFVVmtlRUlzVFVGQlQzaERMRVZCUlZCelJTeFhRVUZaTEVkQlJWbzBRaXhMUVVGTkxFZEJSVTV0UXl4VFFVRlZMRU5CUTFSRExFbEJRVXNzUTBGQlJYUkhMRWxCUVVzc1lVRkJZeTlJTEU5QlFVOHNSMEZEYWtOelR5eEpRVUZMTEVOQlFVVjJSeXhKUVVGTExHTkJRMXAzUnl4SlFVRkxMRU5CUVVWNFJ5eEpRVUZMTEd0Q1FVRnRRaTlJTEU5QlFVOHNSMEZEZEVOM1R5eEpRVUZMTEVOQlFVVjZSeXhKUVVGTExHOUNRVWRpTUVjc1ZVRkJWeXhEUVVOV2RFa3NTMEZCVVN4VFFVRlZiME1zUjBGWGFrSXNUMEZXUVVFc1JVRkJUeXhIUVVGTlFTeEZRVUZQTEVkQlFVazFSeXhSUVVGVGJVWXNSMEZCVjBNc1NVRkhOVU4zUWl4RlFVRlBMRWxCUVZGQkxFVkJRVThzU1VGQlQwRXNSVUZCVHl4SlFVTnVRMEVzUlVGQlR5eEpRVUZQTEVsQlFVczFSeXhSUVVGVGJVWXNSMEZCVjBNc1NVRkZjRUlzVDBGQlpuZENMRVZCUVU4c1MwRkRXRUVzUlVGQlR5eEhRVUZOTEVsQlFVMUJMRVZCUVU4c1IwRkJUU3hMUVVjeFFrRXNSVUZCVFhaTkxFMUJRVThzUlVGQlJ5eEpRVWQ0UW5GTExFMUJRVk1zVTBGQlZXdERMRWRCYVVOc1FpeFBRWEpDUVVFc1JVRkJUeXhIUVVGTlFTeEZRVUZQTEVkQlFVbHlSaXhqUVVWVkxGRkJRVGRDY1VZc1JVRkJUeXhIUVVGSmRrMHNUVUZCVHl4RlFVRkhMRWxCUjI1Q2RVMHNSVUZCVHl4SlFVTmFjRVlzUjBGQlQzUkNMRTFCUVU4d1J5eEZRVUZQTEVsQlMzUkNRU3hGUVVGUExFdEJRVk5CTEVWQlFVOHNSMEZEZEVKQkxFVkJRVThzU1VGQlVVRXNSVUZCVHl4SlFVRlBMRWRCUXpkQ0xFZEJRWEZDTEZOQlFXWkJMRVZCUVU4c1NVRkJhVU1zVVVGQlprRXNSVUZCVHl4TFFVTjJRMEVzUlVGQlR5eExRVUZYUVN4RlFVRlBMRWRCUVUxQkxFVkJRVThzU1VGQmQwSXNVVUZCWmtFc1JVRkJUeXhMUVVjelEwRXNSVUZCVHl4SlFVTnNRbkJHTEVkQlFVOTBRaXhOUVVGUE1FY3NSVUZCVHl4SlFVZG1RU3hIUVVkU2JrTXNUMEZCVlN4VFFVRlZiVU1zUjBGRGJrSXNTVUZCU1cxSExFVkJRMGhETEVkQlFWbHdSeXhGUVVGUExFbEJRVTlCTEVWQlFVOHNSMEZGYkVNc1QwRkJTM2hETEVWQlFXMUNMRTFCUVVWdFJDeExRVUZOV0N4RlFVRlBMRWxCUXk5Q0xFMUJTVWhCTEVWQlFVOHNSMEZEV0VFc1JVRkJUeXhIUVVGTlFTeEZRVUZQTEVsQlFVOUJMRVZCUVU4c1NVRkJUeXhIUVVjNVFtOUhMRWRCUVZrNVNTeEZRVUZSY1VRc1MwRkJUWGxHTEV0QlIyNURSQ3hGUVVGVGJrd3NSVUZCVlc5TUxFZEJRVlVzVFVGSE4wSkVMRVZCUVZORExFVkJRVk53VXl4UlFVRlRMRWxCUVV0dlV5eEZRVUZUTlZBc1QwRkJVekpRTEVkQlFWZERMRVZCUVZNMVVDeFZRVWQ0UlhkS0xFVkJRVThzUjBGQlRVRXNSVUZCVHl4SFFVRkpkazBzVFVGQlR5eEZRVUZITUZNc1IwRkRiRU51Unl4RlFVRlBMRWRCUVUxdlJ5eEZRVUZUTTFNc1RVRkJUeXhGUVVGSE1GTXNTVUZKTVVKdVJ5eEZRVUZOZGswc1RVRkJUeXhGUVVGSExFMUJTWHBDSzFBc1QwRkJVU3hEUVVWUU4wWXNTVUZCVHl4VFFVRlZNRWtzUjBGRGFFSXNTVUZCU1RsSExFVkJRVmM0Unl4RlFVRnBRbXBPTEZGQlFWTnRSaXhIUVVGWFF5eEpRVUZaTjBRc1kwRkRhRVVzVFVGQk5FSXNUVUZCY2tJd1RDeEZRVU5PTEZkQlEwTXNUMEZCVHl4SFFVVlNMRk5CUVZVNVR5eEhRVU5VTEU5QlFVOUJMRVZCUVV0blNTeFZRVUZaYUVrc1JVRkJTMmRKTEZOQlFWTTFSU3huUWtGQmEwSTBSU3hKUVVrelJEZENMRTFCUVZNc1UwRkJWVEJHTEVkQlEyeENMRWxCUVVsclJDeEZRVUZWZEVzc1JVRkJXVzlJTEVWQlFWa3NTMEZGZEVNc1QwRkJUMnRFTEVsQlEwcEJMRVZCUVZVc1NVRkJTWEpLTEU5QlFWRXNUVUZCVVV3c1JVRkRMMElzU1VGQlRYZEhMRVZCUVZrc1NVRkJUWGhITEVWQlFXRXNVMEZCWVZvc1JVRkRha1J2U0N4RlFVRlhMRk5CUVZVM1RDeEhRVU53UWl4UFFVRlBLMDhzUlVGQlVUTkdMRXRCUTFrc2FVSkJRVzVDY0Vvc1JVRkJTelpNTEZkQlFUQkNOMHdzUlVGQlN6Wk1MR2RDUVVOa0xFbEJRWFJDTjB3c1JVRkJTelZDTEdOQlExZzBRaXhGUVVGTE5VSXNZVUZCWXl4VlFVTndRaXhQUVV0T2FVa3NTMEZCVVN4VFFVRlZja1lzUlVGQlRXZFBMRVZCUVZWRExFZEJRMnBETEU5QlFVOHNVMEZCVldwUUxFZEJRMmhDTEVsQlFVbHJVQ3hGUVVGVE4wd3NSMEZCVDNGTExFdEJRVTB4VGl4RlFVRk5aMElzUjBGRmFFTXNUMEZCWlN4TlFVRldhMDhzUlVGRFowSXNUMEZCWWtZc1IwRkZSa0VzU1VGSlRrVXNSMEZCVlN4SFFVbFZMRTFCUVdKR0xFVkJRVzFDUlN4SlFVRlhSQ3hGUVVOMlFpeFBRVUZpUkN4RlFVRnZRa1VzU1VGQlYwUXNSVUZEYkVJc1QwRkJZa1FzUlVGQmIwSkRMRWRCUVhGRExFbEJRVFZDUXl4RlFVRlBlbE1zVVVGQlUzZFRMRWRCUTJoRExFOUJRV0pFTEVWQlFXOUNReXhIUVVGVFF5eEZRVUZQZWxNc1VVRkJVM2RUTEVsQlFWY3NSVUZETTBNc1QwRkJZa1FzUlVGQmIwSkRMRWRCUVZORExFVkJRVTlvVkN4UFFVRlJLMU1zUlVGQlRXaFJMRlZCUVdGblVTeEZRVU5zUkN4UFFVRmlSQ3hIUVVGelFpeEpRVUZOUlN4RlFVRlBjazRzVVVGQlV6UkVMRVZCUVdFc1MwRkJVU3hMUVVGTmFFb3NVVUZCVTNkVExFbEJRVmNzUlVGRE9VVXNUMEZCWWtRc1NVRkJiMEpGTEVsQlFWZEVMRWRCUVZORExFVkJRVTlvVkN4TlFVRlBMRVZCUVVjclV5eEZRVUZOYUZFc1QwRkJVeXhMUVVGUloxRXNSVUZCVVN4UlFVOHpSakZKTEUxQlFWTXNVMEZCVldoS0xFVkJRVTAwVWl4RlFVRk5ReXhGUVVGWGJGQXNSVUZCVDBVc1IwRkRhRVFzU1VGQlNXbFFMRVZCUVdkRExGRkJRWFpDT1ZJc1JVRkJTM0pDTEUxQlFVOHNSVUZCUnl4SFFVTXpRbTlVTEVWQlFTdENMRk5CUVhKQ0wxSXNSVUZCUzNKQ0xFOUJRVkVzUjBGRGRrSnhWQ3hGUVVGclFpeFpRVUZVU2l4RlFVVldMRTlCUVdsQ0xFbEJRVlpxVUN4SFFVRjNRaXhKUVVGVVJTeEZRVWR5UWl4VFFVRlZTaXhIUVVOVUxGRkJRVk5CTEVWQlFVdDRRaXhaUVVkbUxGTkJRVlYzUWl4RlFVRk5kMUFzUlVGQlZVTXNSMEZEZWtJc1NVRkJTVFZHTEVWQlFVODJSaXhGUVVGaFF5eEZRVUZaT1ZJc1JVRkJUU3RTTEVWQlFWZERMRVZCUTNCRU5VZ3NSVUZCVFc5SUxFbEJRVmRETEVWQlFWVXNZMEZCWjBJc2EwSkJRek5EVVN4RlFVRlRPVkFzUlVGQlMzaENMRmRCUTJSM1F5eEZRVUZQZFU4c1IwRkJWWFpRTEVWQlFVdG5TU3hUUVVGVE5VVXNZMEZETDBJeVRTeEhRVUZaVGl4SlFVRlJSaXhGUVVOd1FqZEZMRWRCUVU4c1JVRkZVaXhIUVVGTGIwWXNSVUZCVXl4RFFVZGlMRWRCUVV0VUxFVkJRVk1zUTBGRFlpeExRVUZSY0Vnc1IwRkJUU3hEUVVWaUxFbEJSRUZ3U3l4RlFVRlBiVU1zUlVGRFIyNURMRVZCUVU5QkxFVkJRVTF2U3l4SlFVTjBRaXhIUVVGTGMwZ3NSVUZEU2pGU0xFVkJRVXR0U3l4VFFVRlROVVVzWjBKQlFXdENjRU1zUlVGRFpDeEpRVUZzUW01RUxFVkJRVXRXTEZOQlJVd3NUMEZCVHl4RlFVdFVNRk1zUlVGQlVUVklMRVZCUVdVc1UwRkJWREZMTEVsQlFXOUNjMU1zUjBGQlV5eGpRVVUxUXl4UFFVRlBMRVZCVFZJc1IwRklRVUVzUlVGQlVTeERRVUZGVUN4RlFVRlZVU3hGUVVGUE5VSXNWMEZCWVRSQ0xFVkJRVTlGTEZkQlJ6RkRWaXhIUVVGWFV5eEhRV3RDWml4SlFVaEJja1lzUjBGRVFXdEdMRWRCUkVFdlJpeEhRVWhCTmtZc1IwRktRVU1zUjBGRVFUbFNMRVZCUVU5cFV5eEhRVU5aY0U4c1MwRkJaVGRFTEVWQlFVMDJSQ3hIUVVGWkxFdEJTVEZDTjBRc1JVRkJTMjlUTEZsQlF6VkNUaXhGUVVGWk9WSXNSVUZCUzI5VExGVkJRV0VzUzBGRldqRlRMRWxCUVZVc1NVRkRXaXhMUVVGUlowZ3NSMEZCVjNOR0xFVkJRVThzUzBGRGVrSkJMRVZCUVU4c1IwRkRNMEpvVFN4RlFVRlBLMUlzUjBGQllVVXNSVUZCVHpOSUxGZEJRVmw1U0N4SFFVVTNRaTlTTEVsQlFWTXJVaXhIUVVGaEwxSXNSMEZCVVVFc1JVRkJUVzlMTEV0QlJ6TkRlVU1zUlVGQlQydEdMRVZCUVZrc1NVRkJUME1zUlVGQlRUVkxMRTlCUjJ4RExFZEJRWFZDTEVsQlFXeENjRWdzUlVGQlMxWXNXVUZCYjBKMVRpeEhRVUZSTjAwc1NVRkJVMjFETEVWQlFVOHNRMEZEY2tRd1VDeEZRVUZoYmxNc1IwRkJVeXhEUVVGRlowZ3NSVUZCVTNGTUxFVkJRVmRzUml4SFFVTTFReXhaUVhsQ1JpeEhRV3hDUzNGR0xFbEJZVXB5Uml4RlFVUkJhMFlzUjBGRVFTOUdMRWRCU0VFMlJpeEhRVXBCUXl4SFFVUkJPVklzUlVGQlQyMURMRWRCUTFrd1FpeExRVUZsTjBRc1JVRkJUVFpFTEVkQlFWa3NTMEZKTVVJM1JDeEZRVUZMYjFNc1dVRkROVUpPTEVWQlFWazVVaXhGUVVGTGIxTXNWVUZCWVN4TFFVVmFNVk1zU1VGQlZTeEpRVU5hTEV0QlFWRm5TQ3hIUVVGWGMwWXNSVUZCVHl4TFFVMW9ReXhKUVVGVVlTeEZRVWRLTEUxQlFWVTNUU3hKUVVGVEsxSXNSMEZCWVM5U0xFZEJRVkZCTEVWQlFVMXZTeXhMUVVNelEzbERMRVZCUVU5clJpeEZRVUZaTEVsQlFVOURMRVZCUVUwMVN5eFZRVVV6UW5OTExFVkJRMDR4VWl4RlFVRkxiVXNzVTBGQlV6VkZMR2RDUVVGclFuQkRMRVZCUTJRc1NVRkJiRUp1UkN4RlFVRkxWaXhqUVVOSWRVNHNTVUZIUjNGR0xFdEJUVXBNTEVkQlRFRkRMRVZCUVdFNVVpeEZRVUZOTmtRc1MwRkRhRUkzUkN4RlFVRk5Oa1FzUjBGQldTeExRVWxMTjBRc1JVRkJTMjlUTEZsQlF6VkNUaXhGUVVGWk9WSXNSVUZCUzI5VExGVkJRV0VzUzBGRmNFSXhVeXhIUVVGVExFTkJRVVZuU0N4RlFVRlRiVWNzU1VGSE4wSTNUU3hKUVVGVGJVTXNUVUZWYkVJc1QwRkVRVEJMTEVkQlFWRjBTeXhMUVVOUlJpeEhRVUZYZDBzc1JVRkJUM2hMTEVkQlFWVXNSMEZCUzNkTExFVkJRVTk0U3l4SFFVRlRMRXRCUzNKRmIwY3NUMEZCVlN4VFFVRlZORW9zUlVGQlVXaEdMRWRCVFROQ0xFbEJRVWxwUml4RlFVTkljbElzUlVGQlMzZEZMRVZCUVV0clF5eFJRVUZUTUVzc1NVRkJXVFZOTEVWQlFVczRUU3hYUVVGWlJpeEZRVUZQT1Uwc1owSkJRM1JFUXl4SFFVRlBkRUlzVFVGQlR5eDFRa0ZCZVVKdFR5eEhRVXQ2UXl4UFFVRkxjRklzUlVGQlNUUkRMRWRCUTBRMVF5eEZRVUZKYjAwc1IwRkpVSEJOTEVWQlFVZEhMRTlCUVZNc1IwRkRhRUpyVWl4RlFVRlBMRU5CUVVWRUxFVkJRVkZCTEVWQlFWRXNSMEZCU1doR0xFZEJRM1JDTlVnc1JVRkJTemhOTEZkQlFWZDJWQ3hsUVVGblFuRlVMRVZCUVU4NVRTeGxRVU0zUXpaSExFZEJRV01zVTBGQlZUTkNMRVZCUVUwelJpeEhRVWszUWl4SlFVaEJMRWxCUVVrd1RpeEZRVU5JUXl4RlFVRlZlRklzUlVGQlNYZEtMRVZCUVUwMFF5eEhRVU53UW01T0xFVkJRVWwxVXl4RlFVRlJjbElzVDBGRFRHeENMRXRCUlZCMVN5eEZRVVJCSzBnc1JVRkJUVFZVTEVWQlFWTTJUQ3hGUVVGTlowa3NSVUZCVTNaVExFOUJRMkkwUlN4RlFVRlRNRTRzUjBGQlVVTXNSVUZCVTNaVExFMUJSemRETEZOQlFWVnBReXhIUVVOVUxFOUJRVTlzUWl4RlFVRkphMElzUlVGQlRTeEZRVUZIYlZFc1MwRkphRUp5VWl4SlFVbFVNRWNzVVVGQlV5eERRVWRTSzBzc1NVRkJUM1JITEVkQlFXTXNVMEZCVlhKTUxFZEJTemxDTEVsQlFVa3lUaXhGUVVGUkxFZEJRMWhvU3l4RlFVRlZMRWRCUTFacFR5eEZRVUZWT1Uwc1JVRkJVemxGTEVWQlFWTnBSQ3hSUVVGVE9FUXNSVUZCVHl4UFFVVTNReXhQUVVGUE5rc3NSVUZCVXpsUExFZEJRMloxU1N4SFFVRmpMRk5CUVZVelFpeEZRVUZOTTBZc1JVRkJVelpOTEVWQlFWVkRMRWRCVFdoRUxFbEJURUVzU1VGQlNYcFFMRVZCUTBoNVVTeEZRVUZaUkN4RlFVRlRiRWtzUlVGQlRTeExRVUZOYlVnc1JVRkJTeXhKUVVOMFF6RlNMRVZCUVVsMVN5eEZRVUZMY2tvc1QwRkhSbXhDTEUxQlEwRnBReXhGUVVGUGVWRXNSVUZCVnpGVExFMUJRM2hDZFVzc1JVRkJUWFpMTEV0QlFWTTBSU3hGUVVGVE5VVXNSMEZCVFdsRExFMUJTV3BETEZOQlFWVkJMRVZCUVUxM1VDeEZRVUZWUXl4SFFVMTZRaXhQUVV4QmJFUXNSVUZCVHl4SFFVRk5kazBzUlVGRFluZFJMRVZCUVZOcVJTeEZRVUZQTEV0QlFVMXJSQ3hGUVVGTGJFNHNSMEZITTBKblN5eEZRVUZQTEVkQlFVMHNUVUZEVEdoTExFVkJRVkV3UXl4VFFVbHVRbmxNTEVsQlFVOTZSeXhIUVVGakxGTkJRVlZ5VEN4SFFVTTVRaXhQUVVGUExGTkJRVlZ2UWl4SFFVTm9RaXhQUVVGUGNVUXNSMEZCVVhwRkxFVkJRVlZ2UWl4SFFVRlBaaXhQUVVGVExFdEJTVE5EYlVZc1UwRkJXVFpHTEVkQlFXTXNVMEZCVlRsTUxFZEJSVzVETEU5QlJFRkJMRVZCUVU5QkxFVkJRVXN3UkN4UlFVRlRiVVlzUjBGQlYwTXNTVUZEZWtJc1UwRkJWV3BJTEVkQlEyaENMRTlCUVZOQkxFVkJRVXRwVHl4aFFVRmxNVXNzUlVGQlUzWkVMRWxCUVZOMlJDeFJRVUZUTUVJc1NVRkJWU3hMUVZkd1JYZFRMRXRCUVZFeFJ5eEhRVUZqTEZOQlFWVXdSeXhIUVU4dlFpeFBRVXBOTTBzc1JVRkJXVzlFTEV0QlFVMTFTQ3hIUVVGUkxFdEJReTlDZEU0c1IwRkJUM1JDTEUxQlFVOHNjVUpCUVhWQ05FOHNSMEZGZEVOQkxFVkJRVTlCTEVWQlFVczVUeXhSUVVGVGJVWXNSMEZCVjBNc1NVRkJXVGRFTEdOQlEzSkRMRk5CUVZWd1JDeEhRVU5vUWl4SlFVRkpORkVzUlVGRFNpeEhRVU5ETEVkQlFVOUJMRVZCUVZjelRTeEZRVU5xUW1wRkxFVkJRVXN5VVN4TFFVTk1NMUVzUlVGQlN6VkNMR0ZCUVdNc1lVRkJaMEkwUWl4RlFVRkxOVUlzWVVGQll5eFJRVWQwUkN4UFFVUkJkMU1zUlVGQlYwRXNSVUZCVTNoT0xHbENRVU5CZFU0c1IwRkJNa01zU1VGQmJrTkRMRVZCUVZOdVZTeFJRVUZUYTFVc1JVRkJUeXhaUVVVelF6TlJMRVZCUVU5QkxFVkJRVXQ0UWl4aFFVRnJReXhKUVVGc1FuZENMRVZCUVVzM1F5eFZRVU0zUXl4UFFVRlBMRXRCUzFScFJTeFBRVUZWTEZOQlFWVndRaXhIUVVOdVFpeEpRVUZKTmxFc1JVRkJUMnhXTEVWQlFVOXRWaXhWUVVGWmJsWXNSVUZCVDIxV0xGTkJRVk5FTEV0QlF6bERMRTlCUVU5QkxFZEJRVkZCTEVWQlFVc3pWU3hOUVVGUExFdEJRVkU0UkN4RlFVRkxaMG9zU1VGSGVrTXJTQ3hMUVVGUkxGTkJRVlV2VVN4SFFVTnFRaXhQUVVGUFFTeEpRVUZUWjBVc1IwRkhha0puVGl4TlFVRlRMRk5CUVZWb1VpeEhRVU5zUWl4UFFVRlBRU3hKUVVGVGVFVXNSVUZCVTNsV0xHbENRVU55UW5wV0xFVkJRVk13Vml4VlFVRlpNVllzUlVGQlV6QldMR2RDUVVNM1FteFNMRVZCUVV0NlF5eE5RVUZSZVVNc1JVRkJTMjFTTEU5QlFWTnVVaXhGUVVGTGIxSXNWMEZKZEVORExGRkJRVmQwUnl4SlFVRnpRaXhIUVVOcVEyaEVMRk5CUVZsblJDeEpRVUZ6UWl4SFFVVnNRM1ZITEZGQlFWY3NVMEZCVlhSU0xFZEJTWEJDTEVsQlFVbG5TU3hGUVVGWGFFa3NSVUZCUzJkSkxGTkJRVk0xUlN4alFVTTNRaXhOUVVGelFpeFZRVUZpTkVVc1MwRkJNRUpvU1N4RlFVRkxjMUlzVTBGRGVFSXNWMEZCWW5SS0xFdEJRVEpDYUVrc1JVRkJTM1ZTTEZWQlIzQkRRU3hUUVVGWkxGTkJRVlYyVWl4SFFWTnlRaXhQUVV4TFFTeEZRVUZMZUVJc1dVRkZWSGRDTEVWQlFVdDRRaXhYUVVGWFoxUXNaVUZIVVN4SlFVRnNRbmhTTEVWQlFVdDFVaXhWUVVsaVJTeE5RVUZUTEZOQlFWVjZVaXhIUVUxc1FpeEpRVUZOUVN4RlFVRlBRU3hGUVVGTGEwOHNWMEZCV1d4UExFVkJRVTFCTEVWQlFVOUJMRVZCUVVzMFN5eFpRVU12UXl4SFFVRkxOVXNzUlVGQlN6ZERMRk5CUVZjc1JVRkRjRUlzVDBGQlR5eEZRVWRVTEU5QlFVOHNSMEZIVWpKVExFOUJRVlVzVTBGQlZUbFFMRWRCUTI1Q0xFOUJRVkZ6UkN4RlFVRkxhME1zVVVGQmFVSXNUVUZCUjNoR0xFbEJTV3hETUZJc1QwRkJWU3hUUVVGVk1WSXNSMEZEYmtJc1QwRkJUelJITEVWQlFWRjNReXhMUVVGTmNFb3NSVUZCUzJkSkxGZEJSek5DZFVVc1RVRkJVeXhUUVVGVmRrMHNSMEZEYkVJc1QwRkJUekpITEVWQlFWRjVReXhMUVVGTmNFb3NSVUZCUzJkSkxGZEJSek5DTWtvc1QwRkJWU3hUUVVGVk0xSXNSMEZEYmtJc1NVRkJTV2RDTEVWQlFVOW9RaXhGUVVGTFowa3NVMEZCVXpWRkxHTkJRM3BDTEUxQlFXZENMRlZCUVZSd1F5eEhRVUZyUXl4WFFVRmthRUlzUlVGQlMzcERMRTFCUVRoQ0xGZEJRVlI1UkN4SFFVZDBSRGRETEV0QlFWRXNVMEZCVlRaQ0xFZEJRMnBDTEVsQlFVa3dUaXhGUVVOS0xFMUJRWFZETEZWQlFXaERNVTRzUlVGQlMyZEpMRk5CUVZNMVJTeGxRVU5PTEZOQlFXUndSQ3hGUVVGTGVrTXNUMEZKZFVNc1QwRkJlRU50VVN4RlFVRlBNVTRzUlVGQlN6VkNMR0ZCUVdNc1ZVRkRUaXhUUVVGMlFuTlFMRVZCUVV0MFN5eG5Ra0ZKVW14RUxFMUJRVk1yU3l4SFFVRjNRaXhYUVVOb1F5eE5RVUZQTEVOQlFVVXNTMEZIVmpkTExFdEJRVkUyU3l4SFFVRjNRaXhUUVVGVk1rY3NSVUZCWlROVExFZEJRM2hFTEUxQlFVOHNRMEZCUlVFc1JVRkJVeXhMUVVkdVFtdENMRWRCUVUwNFN5eEhRVUYzUWl4VFFVRlZNa2NzUlVGQlpUTlRMRVZCUVZGcFRTeEhRVU01UkN4TlFVRlBMRU5CUVVWQkxFVkJRVmNzUlVGQlNVRXNSVUZCVjJwTkxFVkJRVk5wVFN4TFFVYzNRemRMTEV0QlFWRTBTeXhIUVVGM1FpeFRRVUZWUlN4RlFVRmpiRTBzUjBGRmRrUXNTVUZFUVN4SlFVRkpiRUlzUlVGQlNTeEZRVU5CUVN4RlFVRkphMElzUlVGQlVXeENMRWRCUVVzc1JVRkRlRUp2VGl4RlFVRmhNMDhzUzBGQlRYVkNMRWRCUlhCQ0xFOUJRVTl2VGl4SlFVZFNNMHNzU1VGQlQzbExMRWRCUVhkQ0xGTkJRVlZGTEVWQlFXTnNUU3hIUVVWMFJDeEpRVVJCTEVsQlFVbHNRaXhGUVVGSkxFVkJRMEZCTEVWQlFVbHJRaXhGUVVGUmJFSXNSMEZCU3l4RlFVTjRRbTlPTEVWQlFXRXpUeXhMUVVGTmRVSXNSMEZGY0VJc1QwRkJUMjlPTEVsQlIxSXdSeXhIUVVGTk5VY3NSMEZCZDBJc1UwRkJWVVVzUlVGQlkyeE5MRVZCUVZGcFRTeEhRVTAzUkN4SlFVeEJMRWxCUVVsdVRpeEZRVUZKYlU0c1JVRkJWeXhGUVVOc1FrRXNSVUZCVjJwTkxFVkJRMWhwVFN4RlFVRlhhazBzUlVGRFZrRXNSVUZEUVdsTkxFbEJRMUZ1VGl4SFFVRkxMRWRCUTJSdlRpeEZRVUZoTTA4c1MwRkJUWFZDTEVkQlJYQkNMRTlCUVU5dlRpeEpRVWRTTWtjc1IwRkJUVGRITEVkQlFYZENMRk5CUVZWRkxFVkJRV05zVFN4RlFVRlJhVTBzUjBGRk4wUXNTVUZFUVN4SlFVRkpiazRzUlVGQlNXMU9MRVZCUVZjc1JVRkJTVUVzUlVGQlYycE5MRVZCUVZOcFRTeEpRVU5xUTI1T0xFVkJRVWxyUWl4SFFVTmlhMDBzUlVGQllUTlBMRXRCUVUxMVFpeEhRVVZ3UWl4UFFVRlBiMDRzVDBGTFRETkdMRkZCUVdVc1NVRkJTV3hETEVWQlFVdHJReXhSUVVGakxFZEJSMmhETEVOQlFVVjFUU3hQUVVGUExFVkJRVTFETEZWQlFWVXNSVUZCVFVNc1RVRkJUU3hGUVVGTlF5eFZRVUZWTEVWQlFVMURMRTlCUVU4c1IwRkROVVUzVHl4RlFVRkxhME1zVVVGQlUzcElMRWRCUVUwNFRTeEhRVUZ0UWpsTkxFZEJSWGhETEVsQlFVMUJMRWxCUVVzc1EwRkJSWEZWTEZGQlFWRXNSVUZCVFVNc1QwRkJUeXhIUVVOcVF5OVBMRVZCUVV0clF5eFJRVUZUZWtnc1IwRkJUU3ROTEVkQlFXOUNMMDBzUjBGSmVrTXNVMEZCVTNGVExFMUJNRVZVTEZOQlFWTTNSeXhIUVVGWkswa3NSMEZKY0VJc1NVRklRU3hKUVVGSmRsVXNSVUZCU1N4RlFVTlFNRU1zUlVGQlRUWlNMRVZCUVU5eVZDeFBRVU5pVEN4RlFVRlhMRWRCUTBwaUxFVkJRVWt3UXl4RlFVRkxNVU1zU1VGRGFFSmhMRWRCUVZrd1ZDeEZRVUZSZGxVc1IwRkJTU3RGTEUxQlJYcENMRTlCUVU5c1JTeEZRVWRTTEZOQlFWTnJTaXhIUVVGbE1Fa3NSVUZCVXl0Q0xFVkJRVmxETEVkQlF6VkRMRWxCUVVsMlN5eEZRVUZOYzBzc1JVRkJWM1JMTEVsQlEzQkNkMHNzUlVGQlQwWXNSVUZCVjNKTExFdEJRMnhDTkVJc1JVRkJUVEpKTEVkQlFWRjRTeXhGUVVOa2VVc3NSVUZCYlVKR0xFZEJRV2RDTEdWQlFWSXhTU3hGUVVNelFqWkpMRVZCUVZkdVR5eEpRVVZhTEU5QlFVOHJUaXhGUVVGWGNsTXNUVUZIYWtJc1UwRkJWVVlzUlVGQlRXNUNMRVZCUVZNMFVTeEhRVU40UWl4TFFVRlZlbEFzUlVGQlQwRXNSVUZCVFdsSkxFbEJRM1JDTEVkQlFYVkNMRWxCUVd4Q2Fra3NSVUZCU3pkRExGVkJRV3RDZFZZc1JVRkRNMElzVDBGQlQyeERMRVZCUVZONFVTeEZRVUZOYmtJc1JVRkJVelJSTEVkQlIycERMRTlCUVU4c1IwRkpVaXhUUVVGVmVsQXNSVUZCVFc1Q0xFVkJRVk0wVVN4SFFVTjRRaXhKUVVGSmJVUXNSVUZCVld4RUxFVkJRV0ZETEVWQlF6RkNhMFFzUlVGQlZ5eERRVUZGZEU4c1JVRkJVMjlQTEVkQlIzWkNMRWRCUVV0c1JDeEhRVU5LTEV0QlFWVjZVQ3hGUVVGUFFTeEZRVUZOYVVrc1NVRkRkRUlzU1VGQmRVSXNTVUZCYkVKcVNTeEZRVUZMTjBNc1ZVRkJhMEoxVml4SlFVTjBRbXhETEVWQlFWTjRVU3hGUVVGTmJrSXNSVUZCVXpSUkxFZEJRelZDTEU5QlFVOHNUMEZMVml4TFFVRlZlbEFzUlVGQlQwRXNSVUZCVFdsSkxFbEJRM1JDTEVkQlFYVkNMRWxCUVd4Q2Fra3NSVUZCU3pkRExGVkJRV3RDZFZZc1JVRlJNMElzUjBGSVFXaEVMRWRCU2tGRExFVkJRV0V6VUN4RlFVRk5NRUlzUzBGQlpURkNMRVZCUVUwd1FpeEhRVUZaTEV0QlNURkNNVUlzUlVGQlMybFJMRmxCUXpWQ1RpeEZRVUZaTTFBc1JVRkJTMmxSTEZWQlFXRXNTVUZGTlVKM1F5eEhRVUZSUVN4SlFVRlRlbE1zUlVGQlMyZEpMRk5CUVZNMVJTeGpRVU51UTNCRUxFVkJRVTlCTEVWQlFVMXBTU3hKUVVGVGFra3NUVUZEYUVJc1EwRkJRU3hKUVVGUE5GTXNSVUZCVjJ4RUxFVkJRV0UxUml4TFFVTnlRemhKTEVWQlFWVXNTMEZCVVhKUExFZEJRVmR4VHl4RlFVRlZMRXRCUVZGRUxFVkJSeTlETEU5QlFWTkZMRVZCUVZVc1IwRkJUVVFzUlVGQlZTeEhRVTl1UXl4SFFVaEJiRVFzUlVGQllUVkdMRWRCUVZFclNTeEZRVWRrUVN4RlFVRlZMRWRCUVUxeVF5eEZRVUZUZUZFc1JVRkJUVzVDTEVWQlFWTTBVU3hIUVVNNVF5eFBRVUZQTEVWQlRWb3NUMEZCVHl4SFFVbFdMRk5CUVZOeFJDeEhRVUZuUWtNc1IwRkRlRUlzVDBGQlQwRXNSVUZCVXpsVUxFOUJRVk1zUlVGRGVFSXNVMEZCVldVc1JVRkJUVzVDTEVWQlFWTTBVU3hIUVVWNFFpeEpRVVJCTEVsQlFVa3hVaXhGUVVGSloxWXNSVUZCVXpsVUxFOUJRMVJzUWl4TFFVTlFMRWxCUVUxblZpeEZRVUZWYUZZc1IwRkJTMmxETEVWQlFVMXVRaXhGUVVGVE5GRXNSMEZEYmtNc1QwRkJUeXhGUVVkVUxFOUJRVThzUjBGRlVuTkVMRVZCUVZVc1IwRlpXaXhUUVVGVFF5eEhRVUZWZGtNc1JVRkJWekZSTEVWQlFVdHJUU3hGUVVGUmNFNHNSVUZCVXpSUkxFZEJUMjVFTEVsQlRrRXNTVUZCU1hwUUxFVkJRMGhwVkN4RlFVRmxMRWRCUTJac1ZpeEZRVUZKTEVWQlEwb3dReXhGUVVGTloxRXNSVUZCVlhoU0xFOUJRMmhDYVZVc1JVRkJaMElzVFVGQlVHNVVMRVZCUlVab1F5eEZRVUZKTUVNc1JVRkJTekZETEV0QlExUnBReXhGUVVGUGVWRXNSVUZCVnpGVExFMUJRMnhDYTA4c1NVRkJWVUVzUlVGQlVXcE5MRVZCUVUxdVFpeEZRVUZUTkZFc1MwRkRkRU4zUkN4RlFVRmhlbGNzUzBGQlRYZEVMRWRCUTJSclZDeEhRVU5LYmxRc1JVRkJTWFpFTEV0QlFVMTFRaXhMUVUxa0xFOUJRVTlyVml4RlFVZFNMRk5CUVZORkxFZEJRVmw0UlN4RlFVRlhMMUFzUlVGQlZUUlNMRVZCUVZNMFF5eEZRVUZaUXl4RlFVRlpReXhIUVU4eFJTeFBRVTVMUml4SlFVRmxRU3hGUVVGWk1WSXNTMEZETDBJd1VpeEZRVUZoUkN4SFFVRlpReXhKUVVWeVFrTXNTVUZCWlVFc1JVRkJXVE5TTEV0QlF5OUNNbElzUlVGQllVWXNSMEZCV1VVc1JVRkJXVU1zU1VGRkwwSnlTaXhIUVVGakxGTkJRVlV6UWl4RlFVRk5MMFlzUlVGQlV6RkVMRVZCUVZNMFVTeEhRVU4wUkN4SlFVRkpPRVFzUlVGQlRYaFdMRVZCUVVkcFF5eEZRVU5hZDFRc1JVRkJVeXhIUVVOVVF5eEZRVUZWTEVkQlExWkRMRVZCUVdOdVVpeEZRVUZSZEVRc1QwRkhkRUpSTEVWQlFWRTJTU3hIUVRWRFdDeFRRVUV5UWpGS0xFVkJRVlVyVlN4RlFVRlZjRklzUjBGSE9VTXNTVUZHUVN4SlFVRkplRVVzUlVGQlNTeEZRVU5RTUVNc1JVRkJUV3RVTEVWQlFWTXhWU3hQUVVOU2JFSXNSVUZCU1RCRExFVkJRVXN4UXl4SlFVTm9Rbk5HTEVkQlFWRjZSU3hGUVVGVksxVXNSVUZCVlRWV0xFZEJRVXQzUlN4SFFVVnNReXhQUVVGUFFTeEZRWE5EVjNGU0xFTkJRMlpvVml4SFFVRlpMRWxCUTFwRExFVkJRVkV4UWl4VFFVRlhMRU5CUVVVd1FpeEhRVUZaUVN4RlFVTnFReXhKUVVsRVoxWXNSMEZCV1d4R0xFbEJRV1Z5Unl4SFFVRlRNVW9zUlVGRmJrTmhMRVZCUkVGMVZDeEhRVUZWZGxRc1JVRkJUeXRVTEVWQlFWRTNSU3hGUVVGWE9WQXNSVUZCVXpSUkxFZEJSemxEY1VVc1JVRkJZWFJFTEVWQlIxbzJReXhKUVVGblFpOUxMRVZCUVU5eFJ5eEZRVUZaSzBVc1IwRkJaVTRzUjBGSGFrUXNSMEZIUVRkUkxFVkJRMFJ6VWl4RlFWRkdMRWRCVEV0eVJDeEhRVU5LUVN4RlFVRlRjVVFzUlVGQlYwTXNSVUZCV1dwV0xFVkJRVk0wVVN4SFFVbHlRekpFTEVWQlRVb3NTVUZNUVVjc1JVRkJUMUFzUjBGQlZXTXNSVUZCV1V3c1IwRkROMEpNTEVWQlFWbEhMRVZCUVUwc1IwRkJTVEZWTEVWQlFWTTBVU3hIUVVjdlFqRlNMRVZCUVVsM1ZpeEZRVUZMZEZVc1QwRkRSR3hDTEUxQlEwRnBReXhGUVVGUGRWUXNSVUZCVFhoV0xFMUJRMjVDSzFZc1JVRkJXVXdzUlVGQlV6RldMRTFCUVZjNFZpeEZRVUZYU2l4RlFVRlRNVllzU1VGQlVXbERMRWxCU3k5RUxFZEJRVXR6U1N4SFFVTktMRWRCUVVzclN5eEhRVUZqTVVVc1JVRkJXU3hEUVVNNVFpeEhRVUZMTUVVc1JVRkJZU3hEUVV0cVFpeEpRVVpCUlN4RlFVRlBMRWRCUTFCNFZpeEZRVUZKSzFZc1JVRkJWemRWTEU5QlExQnNRaXhOUVVOQmFVTXNSVUZCVHpoVUxFVkJRVmt2Vml4TFFVZDZRbmRXTEVWQlFVc3ZWeXhMUVVGUmNWZ3NSVUZCVnpsV0xFZEJRVTFwUXl4SFFVZG9RM0ZVTEVWQlFWa3NTMEZCVVZNc1JVRkJZU3hIUVVGTlVDeEZRVUZOT1VRc1IwRkxPVU1zU1VGRVFURlNMRVZCUVVrclZpeEZRVUZYTjFVc1QwRkRVR3hDTEUxQlEwRnBReXhGUVVGUE9GUXNSVUZCV1M5V0xFMUJRM1pDZDFZc1JVRkJUMFlzUlVGQllUVlhMRVZCUVZNMlRDeEZRVUZOZEVrc1IwRkJVM2RVTEVWQlFWRjZWaXhMUVVGVExFbEJSUzlFZFVzc1JVRkJUV2xNTEV0QlFWbG9VaXhGUVVGVFoxSXNSMEZCVTNaVUxGVkJUM1pET0ZRc1JVRkJZV1FzUjBGRFdtTXNTVUZCWlhaU0xFVkJRMlIxVWl4RlFVRlhhbFFzVDBGQlVUWlRMRVZCUVdGSkxFVkJRVmMzVlN4UlFVTXpRelpWTEVkQlJVZFVMRVZCUTBwQkxFVkJRVmtzUzBGQlRUbFJMRVZCUVZOMVVpeEZRVUZaY2tVc1IwRkZka05xVkN4RlFVRkxSQ3hOUVVGUFowY3NSVUZCVTNWU0xFdEJUWHBDTEZOQlFWTkRMRWRCUVcxQ2VrSXNSMEY1UWpOQ0xFbEJlRUpCTEVsQlFVa3dRaXhGUVVGamVFUXNSVUZCVXpsUUxFVkJRekZDUkN4RlFVRk5ObElzUlVGQlQzSlVMRTlCUTJKblZpeEZRVUZyUWpOUkxFVkJRVXRuVEN4VFFVRlZaMFVzUlVGQlVTeEhRVUZKTDFVc1RVRkROME15Vnl4RlFVRnRRa1FzUjBGQmJVSXpVU3hGUVVGTFowd3NVMEZCVlN4TFFVTnlSSFpSTEVWQlFVbHJWeXhGUVVGclFpeEZRVUZKTEVWQlJ6RkNSU3hGUVVGbGNrMHNSMEZCWlN4VFFVRlZPVWdzUjBGRGRrTXNUMEZCVDBFc1NVRkJVMmRWTEVkQlEyUkZMRWRCUVd0Q0xFZEJRM0pDUlN4RlFVRnJRblJOTEVkQlFXVXNVMEZCVlRsSUxFZEJRekZETEU5QlFVOTJSQ3hGUVVGVGRWZ3NSVUZCWTJoVkxFbEJRVlVzUjBGRGRFTnJWU3hIUVVGclFpeEhRVU55UW01Q0xFVkJRVmNzUTBGQlJTeFRRVUZWTDFNc1JVRkJUVzVDTEVWQlFWTTBVU3hIUVVOeVF5eEpRVUZKTDFBc1IwRkJVM1ZWTEVsQlFYRkNlRVVzUjBGQlR6VlJMRWxCUVZrclJTeE5RVU5zUkc5UkxFVkJRV1Z1Vml4SFFVRlZNVUlzVTBGRE1VSm5XQ3hGUVVGamJsVXNSVUZCVFc1Q0xFVkJRVk0wVVN4SFFVTTNRakpGTEVWQlFXbENjRlVzUlVGQlRXNUNMRVZCUVZNMFVTeEpRVWxzUXl4UFFVUkJkVVVzUlVGQlpTeExRVU5TZEZVc1NVRkhSRE5DTEVWQlFVa3dReXhGUVVGTE1VTXNTVUZEYUVJc1IwRkJUM2xUTEVWQlFWVnNUaXhGUVVGTFowd3NVMEZCVldkRkxFVkJRVkYyVlN4SFFVRkpVaXhOUVVNelEzZFdMRVZCUVZjc1EwRkJSV3BNTEVkQlFXVm5UQ3hIUVVGblFrTXNSMEZCV1haRExGRkJRMnhFTEVOQlNVNHNTVUZJUVVFc1JVRkJWV3hPTEVWQlFVc3lTU3hQUVVGUmNVY3NSVUZCVVhaVkxFZEJRVWxTTEUxQlFVOW9RaXhOUVVGUExFdEJRVTByVml4RlFVRlJkbFVzUjBGQlNUUkZMRlZCUjNKRWFrSXNSMEZCV1N4RFFVbDZRaXhKUVVSQmFFSXNTVUZCVFRORExFVkJRMFV5UXl4RlFVRkpSQ3hKUVVOT05rTXNSVUZCUzJkTUxGTkJRVlZuUlN4RlFVRlJOVklzUjBGQlNXNUVMRTFCUkdoQ2JVUXNTMEZMYWtJc1QwRkJUM2xUTEVkQlEwNXdWaXhGUVVGSkxFZEJRVXNyVlN4SFFVRm5Ra01zUjBGRGVrSm9WaXhGUVVGSkxFZEJRVXQzVEN4SFFVZFVLMGtzUlVGRFJYQlhMRTFCUVU4c1JVRkJSelpDTEVWQlFVa3NSMEZEWkhwQ0xFOUJRVkVzUTBGQlJYZEhMRTFCUVdkRExFMUJRWHBDZDFBc1JVRkJVWFpWTEVWQlFVa3NSMEZCU1ZJc1MwRkJaU3hKUVVGTkxFMUJRM1JFYzBVc1VVRkJVemhFTEVWQlFVOHNUVUZEYkVJMlN5eEZRVU5CZWxNc1JVRkJTVEpETEVkQlFVdHhWQ3hIUVVGdFFucENMRVZCUVU5d1Z5eE5RVUZQTmtJc1JVRkJSekpETEVsQlF6ZERRU3hGUVVGSlJDeEhRVUZQYzFRc1IwRkJjVUo2UWl4RlFVRlRRU3hGUVVGUGNGY3NUVUZCVDNkRkxFbEJRM1pFUVN4RlFVRkpSQ3hIUVVGUE9Fa3NSMEZCV1N0SkxFbEJSM3BDVXl4RlFVRlRkbGNzUzBGQlRXZFZMRWRCU1dwQ0xFOUJRVTl6UXl4SFFVRm5Ra01zUjBGdlZIaENMRTlCZEhCQ1FUTkRMRWRCUVZkc1VpeFZRVUZaYjBVc1JVRkJTeXRSTEZGQlFWVXZVU3hGUVVGTGEwTXNVVUZETTBOc1F5eEZRVUZMT0Uwc1YwRkJZU3hKUVVGSlFTeEhRVVYwUWpOTkxFVkJRVmRLTEVkQlFVOUpMRk5CUVZjc1UwRkJWVGRGTEVWQlFWVXdWaXhIUVVOb1JDeEpRVUZKYUVVc1JVRkJVemRJTEVWQlFVODJTaXhGUVVGUkwxVXNSVUZETTBKbldDeEZRVUZQTjB3c1JVRkJVVGhNTEVWQlEyWkRMRVZCUVZNNVVDeEZRVUZaTDBZc1JVRkJWeXhMUVVWcVF5eEhRVUZMTmxZc1JVRkRTaXhQUVVGUFNDeEZRVUZaTEVWQlFVbEhMRVZCUVU5MldTeE5RVUZQTEVkQlQzUkRMRWxCU2tGeFdTeEZRVUZSTTFZc1JVRkRVamhLTEVWQlFWTXNSMEZEVkRoTUxFVkJRV0ZzVWl4RlFVRkxjVXdzVlVGRlZqUkdMRWRCUVZFc1EwRXlRbVlzU1VGQlRXaFlMRXRCZUVKQksxTXNTMEZCWVRkSUxFVkJRVkUzUXl4RlFVRlBhMFFzUzBGQlRYbE1MRTFCUTJ4RE9Vd3NTVUZIU2poTUxFVkJRVkZCTEVWQlFVMXlXU3hOUVVGUGRVMHNSVUZCVHl4SFFVRkplRW9zVTBGQldYTldMRWRCUlRkRE4wd3NSVUZCVDJ4TkxFdEJRVkU0Vml4RlFVRlRMRXRCUjNwQ2FFTXNSMEZCVlN4SFFVZElOMGdzUlVGQlVUVkRMRVZCUVdGcFJDeExRVUZOZVV3c1RVRkRha05xUlN4RlFVRlZOMGdzUlVGQlRYVkNMRkZCUTJoQ2Mwa3NSVUZCVHpsV0xFdEJRVTBzUTBGRFduTkhMRTFCUVU5M1RpeEZRVWRRTDFNc1MwRkJUV3RNTEVWQlFVOHNSMEZCU1RWSExGRkJRVk00UkN4RlFVRlBMRTlCUld4RE5FOHNSVUZCVVVFc1JVRkJUWEpaTEUxQlFVOXZWU3hGUVVGUmNsSXNVMEZKYUVKeFJTeEZRVUZMTWtrc1UwRkRXSGhFTEVWQlFWRjRReXhGUVVGWE1Va3NSMEZCVDNWTUxFdEJRVTE1VEN4TFFVRm5Ra01zUlVGQldXcFlMRTFCUTJoRmEwd3NSVUZCVVN0TUxFVkJRVmxxV0N4SFFVRlJhMHdzVFVGRE9VSTJTQ3hGUVVGVk4wZ3NSVUZCVFhWQ0xGRkJRMmhDYzBrc1JVRkJUemxXTEV0QlFVMHNRMEZEV25OSExFMUJRVTkzVGl4RlFVTlFMMU1zUzBGQlRVRXNSVUZEVG05R0xGRkJRVk00Uml4SlFVVldPRXdzUlVGQlVVRXNSVUZCVFhKWkxFMUJRVTl2VlN4RlFVRlJjbElzVTBGSkwwSXNTVUZCVFhGU0xFVkJRMHdzVFVGUFJpeFBRVUZQWjBVc1JVRkRUa01zUlVGQlRYUldMRTlCUTA1elZpeEZRVU5EYkZJc1IwRkJUM1JDTEUxQlFVOXVSQ3hIUVVka0swWXNSVUZCV1M5R0xFVkJRVlU0U2l4SFFVRlRlRTBzVFVGQlR5eEpRVFJhZWtOM1NDeEZRVUZWVEN4SFFVRlBTeXhSUVVGVkxGTkJRVlU1UlN4RlFVRlZOa29zUjBGRE9VTXNTVUZCU1RGTExFVkJRMGd5Vnl4RlFVRmpMRWRCUTJSRExFVkJRV3RDTEVkQlEyeENSaXhGUVVGVE4xQXNSVUZCWldoSExFVkJRVmNzUzBGRmNFTXNTVUZCVFRaV0xFVkJRVk1zUTBGUFpDeEpRVXBOYUUwc1NVRkRURUVzUlVGQlVXaEdMRVZCUVZVM1JTeEpRVVZ1UW1Jc1JVRkJTVEJMTEVWQlFVMTRTaXhQUVVOR2JFSXNUVUZEVURCWExFVkJRVk5XTEVkQlFXMUNkRXdzUlVGQlR6RkxMRXRCUTNSQ01rUXNSMEZEV21kVUxFVkJRVmxzV1N4TFFVRk5hVmtzUjBGRmJFSkZMRVZCUVdkQ2Jsa3NTMEZCVFdsWkxFbEJTM2hDUVN4RlFVRlROMUFzUlVGRFVtaEhMRVZCY2twSUxGTkJRVzFESzFZc1JVRkJhVUpFTEVkQlEyNUVMRWxCUVVsRkxFVkJRVkZHTEVWQlFWbDZWaXhQUVVGVExFVkJRMmhETkZZc1JVRkJXVVlzUlVGQlowSXhWaXhQUVVGVExFVkJRM0pETmxZc1JVRkJaU3hUUVVGVmVFMHNSVUZCVFhwS0xFVkJRVk0wVVN4RlFVRkxiRTRzUlVGQlUzZFRMRWRCUTNKRUxFbEJRVWt2VlN4RlFVRk5WU3hGUVVGSE9GQXNSVUZEV25kRkxFVkJRV1VzUlVGRFptcFlMRVZCUVVrc1NVRkRTakJUTEVWQlFWbHVTU3hIUVVGUkxFZEJRM0JDTWswc1JVRkJZU3hIUVVOaVF5eEZRVUZuUW5SU0xFVkJSMmhDYmtVc1JVRkJVVFpKTEVkQlFWRjFUU3hIUVVGaGRsSXNSVUZCU3paSkxFdEJRVmtzU1VGQlJ5eEpRVUZMTkVrc1IwRkhkRVJKTEVWQlFXdENOVkVzUjBGQk5FSXNUVUZCYWtJeVVTeEZRVUYzUWl4RlFVRkpkbFFzUzBGQlMwTXNWVUZCV1N4SFFVTXhSVzVDTEVWQlFVMW9RaXhGUVVGTlVpeFBRV05pTEVsQldrczRWaXhKUVUxS2JsSXNSVUZCYlVJdlJTeEhRVUZYY2tRc1IwRkJXWEZFTEVkQlFWZHJWeXhIUVUwNVEyaFlMRWxCUVUwd1F5eEhRVUZuUXl4UFFVRjJRbFFzUlVGQlQxQXNSVUZCVHpGQ0xFbEJRV1ZCTEVsQlFVMHNRMEZEZWtRc1IwRkJTemhYTEVkQlFXRTNWU3hGUVVGUExFTkJWM2hDTEVsQlZrRlZMRVZCUVVrc1JVRk5SVGRDTEVkQlFWZHRRaXhGUVVGTE5ra3NaVUZCYVVKeVRpeEpRVU4wUTNWSkxFVkJRV0V2UkN4SFFVTmllVkFzUjBGQlQzaE1MRWRCUlVWMVRTeEZRVUZWYlVVc1JVRkJhVUpxVlN4TlFVTndReXhIUVVGTE9GQXNSVUZCVTNoUkxFVkJRVTF1UWl4SFFVRlhja1FzUlVGQlZXbFZMRWRCUVZFc1EwRkRhRVJzVGl4RlFVRlJMMFlzUzBGQlRYZEVMRWRCUTJRc1RVRkhSeXRWTEVsQlEwcDRVU3hGUVVGVk5GRXNSMEZMVUZBc1MwRkhSelZWTEVkQlFWRjNVU3hIUVVGWGVGRXNTVUZEZWtKblZpeEpRVWxKTVUwc1IwRkRTbTFKTEVWQlFWVnFWU3hMUVVGTmQwUXNTVUZuUW01Q0xFZEJWRUZuVml4SFFVRm5RbXBZTEVWQlUxZzJWeXhIUVVGVE4xY3NTVUZCVFdsWUxFVkJRV1VzUTBGRmJFTXNTVUZFUVhSVkxFVkJRVWtzUlVGRFRUaFFMRVZCUVZWclJTeEZRVUZoYUZVc1RVRkRhRU00VUN4RlFVRlRReXhGUVVGWGQwVXNSVUZCV1hCWExFVkJRVk0wVVN4SFFVY3hReXhIUVVGTGJrZ3NSVUZCVHl4RFFVZFlMRWRCUVVzd1RTeEZRVUZsTEVWQlEyNUNMRXRCUVZGcVdDeExRVU5ETUZNc1JVRkJWekZUTEVsQlFVOXJXQ3hGUVVGWmJGZ3NTMEZEY2tOcldDeEZRVUZaYkZnc1IwRkJUV3RJTEVWQlFVazFTU3hMUVVGTmEwY3NTVUZOTDBJd1V5eEZRVUZoYWtNc1IwRkJWV2xETEVkQlNYaENlbGtzUlVGQlMwUXNUVUZCVDJkSExFVkJRVk13VXl4SFFVZG9Ra1lzU1VGQlkzcE5MRWRCUVZFeVRTeEZRVUZYYUZjc1QwRkJVeXhIUVVNMVF5dFdMRVZCUVdWT0xFVkJRVmw2Vml4UFFVRlhMRWRCUlhoRGIwVXNSMEZCVDNkTExGZEJRVmwwVEN4SFFWVnlRaXhQUVV4TGQxTXNTVUZEU25oUkxFVkJRVlUwVVN4RlFVTldkbElzUlVGQmJVSnpVaXhIUVVkaWVrVXNSMEZIVkN4UFFVRlBiVVVzUlVGRFRqTkxMRWRCUVdNMlN5eEhRVU5rUVN4RlFUUkNRMDBzUTBGQk1FSlVMRVZCUVdsQ1JDeExRVWx5UXpsV0xGTkJRVmRCTEVWQlJXNUNMRTlCUVU4MlZpeEhRVmxTT1ZFc1JVRkJVMDRzUjBGQlQwMHNUMEZCVXl4VFFVRlZMMFVzUlVGQlZVTXNSVUZCVXpCRUxFVkJRVk1yUml4SFFVTTVSQ3hKUVVGSmRrc3NSVUZCUjNWVkxFVkJRVkVyUXl4RlFVRlBPVmdzUlVGQlRUUlBMRVZCUXpOQ2JVb3NSVUZCSzBJc2JVSkJRV0l4Vnl4SFFVRXlRa0VzUlVGRE4wTTJTaXhIUVVGVFNDeEhRVUZSTjBVc1JVRkJXVGRGTEVWQlFWY3dWeXhGUVVGVE1WY3NWVUZCV1VFc1IwRk5PVVFzUjBGS1FUSkVMRVZCUVZWQkxFZEJRVmNzUjBGSlF5eEpRVUZxUW10SExFVkJRVTE0U2l4UFFVRmxMRU5CU1hwQ0xFbEJSRUZ4VkN4RlFVRlROMG9zUlVGQlR5eEhRVUZOUVN4RlFVRlBMRWRCUVVsMlRTeE5RVUZQTEVsQlF6VkNLME1zVDBGQlV5eEhRVUZ6UXl4UlFVRXZRbTlYTEVWQlFWRXZReXhGUVVGUkxFbEJRVTB2VlN4TlFVTTFRaXhKUVVGeVFuTkNMRVZCUVZFeFFpeFZRVUZyUWpoSExFZEJRV3RDV0N4RlFVRkxaMHdzVTBGQlZXZEZMRVZCUVZFc1IwRkJTUzlWTEUxQlFWTXNRMEZKYUVZc1MwRkdRWE5DTEVkQlFWbDVSU3hGUVVGTE5ra3NTMEZCVnl4SFFVRkhhMG9zUlVGQlRURlRMRkZCUVZNc1IwRkROVU5rTEZGQlFWTnRSaXhIUVVGWFF5eEpRVUZoY0Vrc1NVRkJZU3hKUVVGTkxFbEJSWEpFTEU5QlFVOHdSQ3hGUVVkSksxTXNTVUZEV0hwWExFVkJRVlZCTEVWQlFWRk1MRmxCUjI1Q1NTeEZRVUZYUVN4RlFVRlRNVU1zVFVGQlQyOVhMRVZCUVU5MFNTeFJRVUZSYkVnc1RVRkJUVGRFTEZGQlMycEVMRWxCUkVGc1FpeEZRVUZKYTBrc1JVRkJNRUlzWVVGQlJXMUVMRXRCUVUxNFN5eEhRVUZoTEVWQlFVa3dWQ3hGUVVGUGNsUXNUMEZEZEVSc1FpeE5RVU5RYzFnc1JVRkJVUzlETEVWQlFWRjJWU3hKUVVkWWRVWXNSVUZCUzJkTUxGTkJRVmt2VVN4RlFVRlBPRmdzUlVGQlRUbFlMRkZCUjI1RExFbEJRVTgwVHl4RlFVRlBOMGtzUlVGQlN6WkpMRXRCUVUwMVR5eE5RVWRxUWl0TExFVkJRVTgyUkN4RlFVTmlhMG9zUlVGQlRURlRMRkZCUVZNc1IwRkJTV1FzVVVGQlUyMUdMRWRCUVZkRExFbEJRM1pEUml4SFFVRlRjVU1zUzBGQlRXdEtMRVZCUVZFc1IwRkJTUzlWTEU5QlFWVTRUQ3hIUVVGaGVFc3NSVUZCVVV3c1lVRkRla1JMTEVsQlEwa3NRMEZMVEN4SFFVWkJlVlFzUlVGQlQzcFNMRTlCUVZFNVF5eEZRVUZITEV0QlEyeENZU3hGUVVGWE1Fb3NSVUZCUzNKS0xGRkJRVlZ6U3l4SFFVRlpLMGtzU1VGSGNrTXNUMEZFUVRsV0xFVkJRVXRFTEUxQlFVOW5SeXhGUVVGVEswWXNSMEZEWkM5R0xFVkJSMUlzVDBGbFNpeFBRVkJGSzFNc1IwRkJXVFZTTEVWQlFWTTVSU3hGUVVGVk5rb3NTVUZEYUVOSUxFVkJRMEY2U2l4SFFVTkRiMFlzUlVGRFJERkNMRWRCUTBNeFJDeEhRVUZYYTBrc1IwRkJVM0ZETEV0QlFVMTRTeXhKUVVGamVVc3NSMEZCWVhoTExFVkJRVkZNTEdGQlFXZENTeXhIUVVWNFJUQkVMRWRCVFZKMlJpeEZRVUZSWjFJc1YwRkJZWFJOTEVWQlFWRjNRaXhOUVVGUExFbEJRVXQwUXl4TFFVRk5hMFVzUjBGQldUQkZMRXRCUVUwc1RVRkJVemxJTEVWQlNURkZNVVVzUlVGQlVTdFJMRzFDUVVGeFFtcExMRVZCUnpkQ1F5eEpRVWxCTDBjc1JVRkJVVzFSTEdGQlFXVnFSQ3hIUVVGUkxGTkJRVlZETEVkQlIzaERMRTlCUVRSRkxFVkJRWEpGUVN4RlFVRkhORU1zZDBKQlFYbENkbElzUlVGQlV6QkRMR05CUVdVc1pVRk5kRVJuVFN4SFFVRlJMRk5CUVZWRExFZEJSWFpDTEU5QlJFRkJMRVZCUVVkeFF5eFZRVUZaTEcxQ1FVTnBReXhOUVVGNlEzSkRMRVZCUVVjclJDeFhRVUZYT1ZBc1lVRkJZeXhYUVVWdVEyZE5MRWRCUVZjc2VVSkJRVEJDTEZOQlFWVndTeXhGUVVGTlowSXNSVUZCVFhkRExFZEJRekZFTEVsQlFVMUJMRVZCUTB3c1QwRkJUM2hFTEVWQlFVczFRaXhoUVVGak5FTXNSVUZCTmtJc1UwRkJka0pCTEVWQlFVdHZReXhqUVVFeVFpeEZRVUZKTEV0QlQycEZjRWNzUlVGQlVYVkpMRmxCUVdVeVJTeEhRVUZSTEZOQlFWVkRMRWRCUnpsRExFOUJSa0ZCTEVWQlFVZHhReXhWUVVGWkxGZEJRMlp5UXl4RlFVRkhLMFFzVjBGQlZ6ZFFMR0ZCUVdNc1VVRkJVeXhKUVVOWkxFdEJRVEZET0V3c1JVRkJSeXRFTEZkQlFWYzVVQ3hoUVVGakxGbEJSVzVEWjAwc1IwRkJWeXhSUVVGVExGTkJRVlZ3U3l4RlFVRk5kVllzUlVGQlR5OVNMRWRCUXpGRExFbEJRVTFCTEVkQlFYbERMRlZCUVdoRGVFUXNSVUZCUzJkSkxGTkJRVk0xUlN4alFVTTFRaXhQUVVGUGNFUXNSVUZCUzNkV0xHVkJUMVIwVEN4SFFVRlJMRk5CUVZWRExFZEJRM1pDTEU5QlFYZERMRTFCUVdwRFFTeEZRVUZITDB3c1lVRkJZeXhsUVVWNFFtZE5MRWRCUVZkb1JpeEZRVUZWTEZOQlFWVndSaXhGUVVGTlowSXNSVUZCVFhkRExFZEJRekZETEVsQlFVbDRSaXhGUVVOS0xFbEJRVTEzUml4RlFVTk1MRTlCUVhkQ0xFbEJRV3BDZUVRc1JVRkJUV2RDTEVkQlFXdENRU3hGUVVGTGIwTXNaVUZEYWtOd1JpeEZRVUZOWjBNc1JVRkJTMjlOTEdsQ1FVRnJRbkJNTEV0QlFWbG9SQ3hGUVVGSk1sQXNWVUZET1VNelVDeEZRVUZKT0VVc1RVRkRTaXhQUVV0RlR5eEhRVEUwUlZBc1EwRTBORVZMTVVnc1IwRkpUR2RFTEVWQlFVOTNUaXhMUVVGUE9Va3NSVUZEWkRGRkxFVkJRVTgyVHl4TFFVRlBia3NzUlVGQlR5dExMRlZCUjNKQ2VsQXNSVUZCVHpaUExFdEJRVTBzUzBGQlVUZFBMRVZCUVU4MlR5eExRVUZMYUVrc1VVRkRha00zUnl4RlFVRlBhMUFzVjBGQllXeFFMRVZCUVU4NFZ5eFBRVUZUY0ZNc1JVRkJUM2RMTEZkQlF6TkRiRkFzUlVGQlQxSXNTMEZCVDJ0R0xFVkJRVTlGTEZGQlEzSkNOVVVzUlVGQlR5dFhMRk5CUVZkeVV5eEZRVUZQUnl4TlFVTjZRamRGTEVWQlFVOTVSaXhUUVVGWFppeEZRVUZQWlN4VFFVTjZRbnBHTEVWQlFVOW5XQ3hsUVVGcFFuUlRMRVZCUVU4MlJDeFBRVXN2UWl4SlFVRkpaU3hGUVVGTkxGTkJRVlZxU1N4RlFVRk5hVWtzUlVGQlN6Sk9MRWRCU1RsQ0xFbEJTRUVzU1VGQlNYUkdMRVZCUVZVc1IwRkRZblZHTEU5QlFYRkNjRlVzU1VGQlZtMVZMRWRCUlVZMVZpeEZRVUZQUVN4RlFVRk5hVWtzUzBGQk5rSXNTVUZCYkVKcVNTeEZRVUZMTjBNc1ZVRkRkRU1zUjBGQmRVSXNTVUZCYkVJMlF5eEZRVUZMTjBNc1UwRkJhVUlzUTBGRE1VSXNSMEZCU3pCWkxFZEJRVmxzV0N4RlFVRlJjVUlzUjBGQlR6aFdMRWRCUVVsR0xFZEJRMjVETEUxQlJVUjBSaXhGUVVGUk9WUXNTMEZCVFhkRUxFZEJSMmhDTEU5QlFVOXpVU3hIUVVsS2VVWXNSVUZCVnl4VFFVRlZReXhGUVVGSGFGY3NSMEZITTBJc1NVRkdRU3hKUVVGSmMxRXNSVUZCVlN4SFFVVk9NRVlzUlVGQlIwRXNSVUZCU1VFc1JVRkJSWEJNTEZsQlEwa3NTVUZCWm05TUxFVkJRVVUzV1N4VlFVRnJRalpaTEVsQlFVMW9WeXhIUVVNNVFuTlJMRVZCUVZFNVZDeExRVUZOZDFvc1IwRkphRUlzVDBGQlR6RkdMRWRCU1VveVJpeEZRVUZuUW5SWUxFVkJRVTgyVHl4TFFVRkxMMFVzVFVGQlRXaERMR0ZCU1hSRExGTkJRVk4xUWl4RlFVRlZhRWtzUlVGQlRXZENMRWRCUlhoQ0xFOUJRVTlvUWl4RlFVRkxaMGtzVlVGQldXaEpMRVZCUVV0blNTeFRRVUZUTlVVc1owSkJRV3RDY0VNc1JVRkJTMjlETEdOQlJ6bEVMRWxCUVVrNFV5eEZRVUZoTEd0RlFVdHFRaXhUUVVGVFF5eEZRVUZSTVVrc1JVRkJWVEpKTEVWQlFWYzNSaXhIUVVOeVF5eFBRVUZMZEZRc1JVRkJXVzFhTEVkQlExUjZXQ3hGUVVGUE1rSXNTMEZCVFcxT0xFVkJRVlVzVTBGQlZYcE9MRVZCUVUxcVF5eEhRVU0zUXl4UlFVRlRjVmtzUlVGQlZTOWFMRXRCUVUweVJDeEZRVUZOYWtNc1JVRkJSMmxETEV0QlFWZDFVU3hKUVVzeFF6WkdMRVZCUVZWcVdpeFRRVU5RZDBJc1JVRkJUekpDTEV0QlFVMXRUaXhGUVVGVkxGTkJRVlY2VGl4SFFVTjJReXhQUVVGVFFTeEpRVUZUYjFjc1NVRkJaMEkzUml4SlFVdFdMR2xDUVVGa05rWXNSVUZEU25wWUxFVkJRVTh5UWl4TFFVRk5iVTRzUlVGQlZTeFRRVUZWZWs0c1IwRkRka01zVDBGQlUzWkVMRVZCUVZGS0xFdEJRVTByV2l4RlFVRlhjRmNzU1VGQlZTeEpRVUZSZFZFc1NVRkxMME0xVWl4RlFVRlBjMDRzVDBGQlVXMUxMRVZCUVZjelNTeEZRVUZWT0VNc1IwRkhOVU0xVWl4RlFVRlBjMDRzVDBGQlV5eFRRVUZWZFVJc1JVRkJUUzlPTEVWQlFVODRVU3hIUVVOMFF5eEpRVUZKZGxFc1JVRkJUMUFzUlVGQlR5eEhRVTFzUWl4UFFVcExPRkVzU1VGRFNpOURMRVZCUVU4c1VVRkJWVUVzUlVGQlR5eExRVWRJTEVsQlFXcENMMDRzUlVGQlRWSXNVVUZCYTBNc1NVRkJiRUpsTEVWQlFVczNReXhUUVVONFFuZENMRVZCUVU5M1RpeExRVUZMVFN4blFrRkJhVUo2VFN4RlFVRk5kMDRzUjBGQlV5eERRVUZGZUU0c1IwRkJVeXhIUVVkNFJISkNMRVZCUVU5M1RpeExRVUZMZUVvc1VVRkJVelpMTEVWQlFVMDNUeXhGUVVGUE1rSXNTMEZCVFdJc1JVRkJUeXhUUVVGVlR5eEhRVU12UkN4UFFVRjVRaXhKUVVGc1FrRXNSVUZCU3pkRExHRkJTV1IzUWl4RlFVRlBSeXhIUVVGSFowTXNUMEZCVVN4RFFVTnFRbkZNTEV0QlFVMHNVMEZCVlhaT0xFZEJRMllzU1VGQlNXSXNSVUZCUnpKQ0xFVkJRMDVsTEVWQlFVMDNSU3hMUVVGTGNVUXNUMEZEV0c5WUxFVkJRVTk2WVN4TFFVVlNMRWRCUVhsQ0xHbENRVUZpWjBRc1JVRkRXQ3hQUVVGUGFFUXNTMEZCU3pSRUxGVkJRVmRpTEVWQlFWRkRMRWRCUVZkeFRpeFBRVUZSTEZkQlEycEVMRWxCUVUxc1R5eEZRVUZKTEVWQlFVZEJMRVZCUVVrd1F5eEZRVUZMTVVNc1NVRkRja0lzUjBGQlMxa3NSVUZCVDNsR0xGTkJRVlZwVXl4RlFVRk5kRmtzUjBGQlMyNURMRTFCUTJoRExFOUJRVThzUzBGUldDeEpRVVpCT0VRc1JVRkJUVGxFTEV0QlFVczBSQ3hWUVVGWExFbEJSV2hDZWtJc1JVRkJTU3hGUVVGSFFTeEZRVUZKTUVNc1JVRkJTekZETEVsQlEzSkNXU3hGUVVGUGQwNHNTMEZCVFhaT0xFVkJRVlY1V0N4RlFVRk5kRmtzUjBGQlN6SkNMRWRCUjI1RExFOUJRVTlsTEVWQlFVMHNSVUZCU1RsQ0xFVkJRVTlyVUN4WFFVRlpiazhzUjBGQlVVRXNSMEZGTjBOMVRTeFBRVUZSTEZOQlFWVnlUaXhIUVVOcVFpeFBRVUZQYUVRc1MwRkJTelJFTEZWQlFWY3lWeXhGUVVGUmRtRXNTMEZCVFdkRUxFZEJRVmtzU1VGQlNTeExRVVYwUkRKU0xFbEJRVXNzVTBGQlZUTlNMRWRCUTJRc1QwRkJUMmhFTEV0QlFVczBSQ3hWUVVGWE1sY3NSVUZCVVhaaExFdEJRVTFuUkN4SFFVRlpMRWxCUVVrc1MwRkZkRVJyV0N4SFFVRkpMRk5CUVZWc1dDeEhRVU5pTEZGQlFWTjFXQ3hGUVVOU2RtRXNTMEZKYjBJc2FVSkJRV0puUkN4SFFVRjVRbkZZTEVWQlFXTTNUU3hMUVVGTmVFc3NSMEZEYmtSRUxFVkJRVkZETEVkQlExSkJMRWRCUVZrc1NVRkRZaXhIUVVORFN5eFZRVk5LTEVsQlFVbHhXQ3hGUVUxSWVGQXNSVUZCWVN4MVEwRkZUbTVKTEVWQlFVOUhMRWRCUVVkRExFdEJRVThzVTBGQlZVZ3NSVUZCVlVNc1JVRkJVMnRUTEVkQlEzQkVMRWxCUVVsMFNTeEZRVUZQZWtrc1JVRkhXQ3hKUVVGTmNFSXNSVUZEVEN4UFFVRlBhRVFzUzBGUlVpeEhRVWhCYlZZc1JVRkJUMEVzUjBGQlVYVkdMRVZCUjFVc2FVSkJRV0l4V0N4RlFVRjNRaXhEUVdGdVF5eExRVkJETmtvc1JVRk1jMElzVFVGQmJFSTNTaXhGUVVGVkxFbEJRM05DTEUxQlFYQkRRU3hGUVVGVlFTeEZRVUZUU3l4UFFVRlRMRWxCUXpWQ1RDeEZRVUZUU3l4UlFVRlZMRVZCUjFnc1EwRkJSU3hMUVVGTlRDeEZRVUZWTEUxQlIyeENhMGtzUlVGQlYyZERMRXRCUVUxc1N5eE5RVWxXTmtvc1JVRkJUeXhKUVVGUk5Vb3NSVUUyUTNoQ0xFOUJRVTFCTEVkQlFWZEJMRVZCUVZGTkxGRkJRM1JDVGl4SFFVRlhhMU1zUjBGQlR6VkZMRXRCUVUxMlRpeEhRVXN4UW1oRUxFdEJRVXQzUkN4WlFVRmhVQ3hIUVVGVmMwNHNTMEZCVFhaT0xFZEJhRVI2UXl4SFFVRkxOa29zUlVGQlR5eEhRVUZOTEVOQldXcENMRWRCV0VFMVNpeEZRVUZWUVN4aFFVRnRRa1lzUlVGQlUwVXNSVUZCVXl4SFFVRk5RU3hGUVVseVJFWXNSVUZCVDJkQ0xFMUJRVTh2UkN4TFFVRk5LME1zUlVGQlR6UllMRlZCUXpGQ09VNHNSVUZCVHl4SFFVTlFOVW9zUjBGQlYwRXNSVUZCVVRGQ0xGTkJRVmN3UWl4RlFVRlJaMHNzWlVGQmFVSm9TeXhGUVVGVmNrUXNSMEZEYWtVc1NVRkpTVEJoTEVWQlFWYzVUU3hMUVVGTldDeEZRVUZQTEV0QlFWTTVTaXhGUVVGUE1rTXNZMEZCWlhwRExFZEJRek5FTEVsQlFVMDBTaXhMUVVGVE5Vb3NSVUZIVkRWQ0xFVkJRVmx5UWl4TFFVRk5OazBzU1VGRGRFSTNUU3hMUVVGTk5rMHNSMEZCVXpWS0xFVkJRVk0wU2l4SlFVbDRRamROTEV0QlFVczRVaXhMUVVGTmFrWXNSVUZCVHpWS0xFVkJRVk0wU2l4SlFVczVRaXhQUVVGUE4wMHNTMEZaVUN4UFFWSkJiMFVzUlVGQlQzaEZMRVZCUVZOMVRpeGxRVUZuUWs0c1JVRkJUeXhQUVV0MFF6ZE5MRXRCUVUwc1IwRkJUVzlGTEVWQlExcHdSU3hMUVVGTGNVUXNUMEZCVXl4SFFVVlNja1FzUzBGalNDeFBRVUZMWjBRc1JVRkJVM3BDTEZWQlEzQkNka0lzUzBGQlRTeEhRVUZOWjBRc1JVRkRXbWhFTEV0QlFVdHhSQ3hQUVVGVExFVkJRMUJ5UkN4TlFVbEpjVUlzUlVGQldUSkNMRkZCUTBRMlF5eEpRVUZtYzFBc1JVRkJTM2xHTEUxQlExaDZSaXhGUVVGTGVVWXNUVUZCVHpWWUxFZEJSMXBCTEVWQlFWVkVMRWRCUjB4QkxFVkJRVTh5UkN4VlFVRlhNVVFzUlVGQlZXaEVMRkZCU1doRGMwUXNWVUZCV1ZBc1JVRkJUMGNzUjBGSGVFSjNXQ3hGUVVGaE0xZ3NSVUZCVVc1RUxFZEJSM0pDTEVsQlFVbHBZaXhGUVVGbExHbERRVWRzUWtNc1JVRkJiVUlzUTBGRGJFSkRMRlZCUVZVc1JVRkRWa01zVlVGQlZTeEZRVU5XTVU4c1RVRkJUU3hGUVVOT01rOHNUVUZCVFN4SFFXOUdVaXhUUVVGVFF5eEZRVUZUY2swc1JVRkJTM2hETEVkQlEzUkNMRTFCUVZWM1F5eEZRVUZOUVN4RlFVRkxlRU1zUzBGQk5FSXNTVUZCYWtKM1F5eEZRVUZKZEU0c1YwRkRjRU1zVDBGQlQzTk9MRVZCYmtaU09Vd3NSVUZCVDBjc1IwRkJSMmRETEU5QlFWRXNRMEZEYWtJMFVDeEpRVUZMTEZOQlFWVjBVQ3hIUVVOa0xFbEJRVWt5Vml4RlFVRlZjRmtzUlVGQlVYbERMRVZCUVZGNFJpeE5RVU0zUW05aUxFVkJRVWxFTEVWQlFWRTVXQ3hQUVVWaUxFOUJRVTl5UkN4TFFVRkxjVkVzVDBGQlVTeFhRVVZ1UWl4SlFVUkJMRWxCUVVsc1R5eEZRVUZKTEVWQlEwRkJMRVZCUVVscFdpeEZRVUZIYWxvc1NVRkRaQ3hIUVVGTFdTeEZRVUZQZVVZc1UwRkJWWGhKTEV0QlFVMXRZaXhGUVVGVGFGb3NTVUZEY0VNc1QwRkJUeXhMUVUxWWExb3NVVUZCVXl4VFFVRlZOMGtzUlVGQlYzWlFMRWRCUXpkQ0xFbEJRVWswVEN4RlFVTklNVTBzUlVGQlNTeEZRVU5LYVZvc1JVRkJTWEJpTEV0QlFVdHhSQ3hQUVVOVWNWSXNSVUZCVlN4SFFVTldlVWNzUlVGQkswSXNhVUpCUVdRelNTeEhRVUV3UW5wUUxFVkJRVkY1VUN4SFFVZHdSQ3hKUVVGTk5rZ3NSVUZCWXpkTkxFdEJRVTFuUml4SFFVTjZRaXhMUVVGUmNsRXNSVUZCU1dsYUxFVkJRVWRxV2l4SlFVTmtMRWxCUVUwd1RTeEZRVUZOTjA4c1MwRkJUVzFETEVkQlFVc3dUU3hIUVVGUFFTeEpRVUZSTlV3c1JVRkJVelJNTEVWQlFVMUJMRVZCUVVscVRTeFhRVWQ0UkN4SFFVRkxhVTBzUlVGQlNYUk9MRk5CUVZjc1MwRkJVVFJhTEVWQlF6TkNRU3hGUVVGUlJ5eE5RVUZQZWswc1NVRkJVeXhGUVVkUUxFbEJRV3BDUVN4RlFVRkpkRTRzVlVGRFNIZENMRVZCUVU5M1RpeExRVUZMVFN4blFrRkJhVUpvUXl4RlFVRkxNa1FzU1VGQlowSXNRMEZGYmtSclF5eEZRVUZST1ZRc1MwRkJUV2xQTEVkQlEyUXNUVUZOU2l4UFFVRlBOMDhzUzBGQlN6UkVMRlZCUVZjNFVTeEZRVUZSY2xJc1QwRkJVeXhGUVVGSlRpeEZRVUZQYTFBc1YwRkJXWGxETEVkQlFWbEJMRWxCU1RWRk5FY3NUVUZCVHl4VFFVRlZiRmdzUjBGSGFFSXNUMEZCVFVFc1JVRkxaU3hwUWtGQlZFRXNSVUZEU25aRUxFVkJRVkZLTEV0QlFVMXpReXhGUVVGUmNVSXNSMEZCVVhCRkxFdEJRVTBzU1VGSmNrTmhMRVZCUVZGS0xFdEJRVTFVTEV0QlIzQkNiMFVzUlVGQlMySXNUMEZCVTJFc1JVRkJUU3hIUVVGTlFTeEhRVnBxUW5CRkxFdEJRVTBzU1VGQlQwRXNTMEZCVFN4SFFVRkpORU1zVjBGQlpUVkRMRXRCUVV0elJTeFJRVUZSYVZnc1ZVRkJWV3haTEZGQlFWVXNSMEZuUW14R2JWa3NTVUZCU3l4VFFVRlZlRmtzUlVGQlZVTXNSMEZEZUVJc1QwRkJUMnBFTEV0QlFVczBSQ3hWUVVOWVlpeEZRVUZQYTFBc1YwRkRUbXhRTEVWQlFVOW5RaXhOUVVGUEwwUXNTMEZCU3pCRUxFMUJRVTlZTEVWQlFWRkRMRVZCUVZWRExFOUJTeTlEZDFrc1VVRkJVeXhUUVVGVmVsa3NSMEZEYkVJc1QwRkJUMmhFTEV0QlFVdDNZaXhKUVVGcFFpeE5RVUZhZUZrc1JVRkRhRUpvUkN4TFFVRkxaMFVzVjBGQllXaEZMRXRCUVV0blJTeFhRVUZYY1Uwc1QwRkJVWEpPTEU5QlZUZERSQ3hGUVVGUGEwSXNTMEZCVFN4RFFVTmFhVkVzVDBGQlVTeFRRVUZWT1ZBc1IwRkRha0lzU1VGQlNUaFFMRVZCUVZNNVVDeEZRVUZMZUVJc1YwRkRiRUlzVDBGQlQzTlNMRWRCUVRoQ0xFdEJRWEJDUVN4RlFVRlBNMU1zVTBGQmEwSXlVeXhGUVVGVExFMUJSWEJFZDBnc1VVRkJVeXhUUVVGVmRGZ3NSMEZEYkVJc1QwRkJUMmxKTEVWQlFVdHFTU3hGUVVGTkxHVkJSVzVDZFZnc1lVRkJZeXhUUVVGVmRsZ3NSVUZCVFcxRUxFVkJRVWw1VXl4SFFVTnFReXhQUVVGUE0wNHNSVUZCUzJwSkxFVkJRVTBzWVVGQll6UldMRWxCUldwRE1VNHNTMEZCVFN4VFFVRlZiRWtzUjBGRFppeFBRVUZQT0Zjc1JVRkJVemxYTEVWQlFVMHNaMEpCUlhaQ05sY3NTMEZCVFN4VFFVRlZOMWNzUjBGRFppeFBRVUZQT0Zjc1JVRkJVemxYTEVWQlFVMHNiMEpCUlhaQ2QxZ3NVVUZCVXl4VFFVRlZlRmdzUjBGRGJFSXNUMEZCVDJsSkxFVkJRVXRxU1N4RlFVRk5MR2RDUVVWdVFtMVlMRkZCUVZNc1UwRkJWVzVZTEVkQlEyeENMRTlCUVU5cFNTeEZRVUZMYWtrc1JVRkJUU3h2UWtGRmJrSjVXQ3hWUVVGWExGTkJRVlY2V0N4RlFVRk5iVVFzUlVGQlNYbFRMRWRCUXpsQ0xFOUJRVTh6VGl4RlFVRkxha2tzUlVGQlRTeGpRVUZsTkZZc1NVRkZiRU00UWl4VlFVRlhMRk5CUVZVeFdDeEZRVUZOYlVRc1JVRkJTWGxUTEVkQlF6bENMRTlCUVU4elRpeEZRVUZMYWtrc1JVRkJUU3hyUWtGQmJVSTBWaXhKUVVWMFEwY3NVMEZCVlN4VFFVRlZMMVlzUjBGRGJrSXNUMEZCVHl0V0xFZEJRVmt2Vml4RlFVRkxlRUlzV1VGQll5eEpRVUZMTUZBc1YwRkJXV3hQTEVsQlJYaEVNbGNzVTBGQlZTeFRRVUZWTTFjc1IwRkRia0lzVDBGQlR5dFdMRVZCUVZVdlZpeEZRVUZMYTA4c1lVRkZka0l3U1N4VFFVRlZMRk5CUVZVMVZ5eEhRVU51UWl4UFFVRTJRaXhOUVVGNFFrRXNSVUZCU3pKWUxHbENRVXRVTldJc1JVRkJWV2xGTEVWQlFVc3lXQ3hwUWtGRlVqTllMRVZCUVVzeVdDeHBRa0ZOVWpOUUxFVkJRVlZvU1N4RlFVRk5MR05CUTNCQ1FTeEZRVUZQUVN4RlFVRkxORmdzVTBGQlZ6VllMRWRCUjJwQ2NrSXNSVUZCVDJkQ0xFMUJRVThzUjBGQlNVc3NSVUZCUzIxSkxHVkJSVGRDTEZOQlFWVnVTQ3hGUVVGTmJFTXNSMEZEYkVKSUxFVkJRVTlITEVkQlFVbHJReXhIUVVGVExGTkJRVlUwVlN4RlFVRlBhRmdzUjBGRGNFTXNTVUZCU1RCU0xFVkJRVlV6VWl4RlFVRlBiMElzU1VGQlMyNUZMRXRCUVUxclJDeEZRVUZKT0Zjc1IwRjFRbkJETEUxQmNrSXdRaXhWUVVGeVFqVlZMRVZCUVVzNVJTeFBRVUZSTEV0QlEycENNRU1zUlVGQlYyZFlMRWRCUjFCb1dDeEhRVUZuUXl4cFFrRkJZa0VzU1VGRGRrSXdVaXhGUVVGVk0xSXNSVUZCVDNOT0xFOUJRVkZ5VGl4RlFVRlZNRklzU1VGSEwwSXhWU3hMUVVGTGNVUXNUMEZCVXl4SlFVZGFlVmdzUlVGQmEwSXhWaXhKUVVOMlFuSkRMRVZCUVU5clVDeFhRVUZaZVVNc1IwRkpabTFITEVWQlFXRnlUaXhMUVVGTmNFa3NTVUZEZGtKelVDeEZRVUZSZFVnc1YwRkpTR3BqTEV0QlFVczBSQ3hWUVVGWE9GRXNUVUZIZWtJc1NVRkJTWGRJTEVWQlFXZENMRzlDUVhOUGNFSXNVMEZCVTBNc1JVRkJWVU1zUjBGRGJFSXNUMEZCVDBFc1JVRkZVaXhUUVVGVFF5eEZRVUZUUXl4SFFVTnFRaXhOUVVGTlFTeEZRVWRRTEZOQlFWTkRMRVZCUVZseVZpeEZRVUZQYzFZc1JVRkJVME1zUlVGQlVVTXNSMEZETlVNc1NVRkJTVU1zUlVGRlNpeEpRVWROZWxZc1IwRkJVemRHTEVWQlFXTnpZaXhGUVVGVGVsWXNSVUZCVFRCV0xGTkJRekZEUkN4RlFVRlBiR01zUzBGQlRYbEhMRWRCUVZFd1FpeExRVUZOTkZRc1IwRkJWVXNzUzBGQlRVb3NSMEZIYUVOMlZpeEhRVUZUTjBZc1JVRkJZM05pTEVWQlFWTjZWaXhGUVVGTk5GWXNUVUZEYWtSSUxFVkJRVTlzWXl4TFFVRk5lVWNzUlVGQlQzTldMRVZCUVZORExFZEJVVGRDUkN4RlFVRlJOMklzVjBGQlQydEdMRVZCUVZjc1EwRkJSWEZDTEVkQlFWRTFSeXhOUVVGUGIyTXNTVUZOTTBNc1RVRkJVWGhXTEVkQlNWUjFWaXhGUVVGUE9XSXNWMEZCVDJ0R0xFVkJRVmNzUTBGQlJYRkNMRXRCZGs4M1FtNUZMRVZCUVU5bllTeFZRVUZaTEZOQlFWVTFXQ3hIUVVrMVFrRXNSVUZCTmtJc2FVSkJRVnBCTEVWQmJFTnNRaXhUUVVGM1FrRXNSMEZEZGtJc1NVRkJTVFpZTEVWQlFWTXNSMEZKWWl4UFFVaEJhbUVzUlVGQlQydENMRXRCUVUxclFpeEZRVUZSTUVnc1RVRkJUM0ZRTEVsQlFXMUNMRWRCUVVrc1UwRkJWV1VzUlVGQlIwTXNSMEZETDBSR0xFVkJRVkZGTEVsQlFWTXNTVUZGV0VZc1JVRTRRazVITEVOQlFXVm9XU3hIUVVObWNFTXNSVUZCVDIxRExFOUJRVkVzUjBGQlNVTXNSMEZGY0VJc1NVRkRRMmxaTEVWQlIwRkRMRVZCUjBGRExFVkJSMEZETEVWQlIwRm9WU3hGUVVGUExFZEJSMUJwVlN4RlFVRlJMRWRCUjFKRExFZEJRV1VzUlVGSFprTXNSVUZCVHl4WFFWRk9MRWxCVEVGSUxFVkJRVk5CTEVkQlFWVndXU3hGUVVGUmQxa3NTMEZKTTBKTUxFVkJRVkZHTEVkQlFWTXNSVUZEVkVrc1JVRkJUVzVoTEU5QlFWRnZZU3hIUVVGbExFVkJSWEJETEVsQlJFRktMRVZCUVZOSExFVkJRVTF3VUN4VlFVTk1jVkFzUlVGQlkyeFZMRVZCUVV0c1J5eFRRVWR0UXl4SlFVRXhSR3RITEVWQlFVMXJWU3hIUVVGak9XTXNUVUZCVHpCakxFVkJRVkVzUjBGQlMwRXNSVUZCVVN4TFFVTndSR3haTEVWQlFWRjVXU3hqUVVkU1NDeEZRVUZqYkZVc1JVRkJTMnhITEU5QlEyNUNaMkVzUjBGQlV5eEhRVTFPYkZrc1JVRkJVV3RaTEZOQlEySkJMRWRCUVZNc1IwRkhWa1FzUjBGQlV5eEZRVWRLUnl4SlFVbElhRlVzUlVGRVNUaFVMRVZCUTBjc1IwRkpRU3hMUVUxV05VTXNSVUZCVHl4RFFVZE9aU3hKUVVGTExGZEJNa0pLTEU5Qk1VSkxhbE1zU1VGSFF6aFVMRWxCUVZkRUxFbEJRMlpMTEVWQlFXTnNWU3hGUVVGTGJFY3NUMEZCVXl4RlFVTTFRbTFoTEVWQlFVMDFZeXhMUVVGTmVXTXNTVUZIWWl4VFFVRlhOMElzUlVGQlMycElMRWRCUTJaNFVpeEZRVUZQYTBJc1MwRkJUWE5STEVWQlFVMHNVMEZCVlRCSkxFVkJRVWRvVnl4SFFVTXhRalZHTEVWQlFWazBSaXhIUVVOV09VSXNSVUZCVVRCVkxGRkJRVmRaTEVWQlFVc3pSaXhKUVVGTE4wNHNTVUZEYkVOelF5eEZRVUZMTTBrc1MwRkJUWEZITEVkQlJVUkJMRWRCUVU5QkxFVkJRVWsxUkN4UlFVRTBRaXhYUVVGc1FsQXNSVUZCVVcxRkxFbEJSM2hEZFZVc1JVRkJTM1pWTEV0QlZGSXNRMEZaU3pWRExGZEJSVUZuV2l4SlFVRlhSQ3hIUVVObVRTeExRVWRMTVdRc1RVRkpValprTEU5QlFWRXNWMEZaVUN4UFFWaEJPV0VzUlVGQlQydENMRXRCUVUxSkxGVkJRVmNzVTBGQlZUUlpMRVZCUVVkb1Z5eEhRVVZ3UXl4SlFVUkJMRWxCUVVseFZTeEhRVU5OUVN4RlFVRlJkbGtzUlVGQlR6WkVMRkZCUVZOTExFVkJRVXR6UXl4RlFVRk5LMUlzUzBGQllTeEhRVU42UkM5U0xFVkJRVXQwUlN4UFFVRlJjVmNzUlVGQlR5eEhRVWRtUVN4SFFVRlRiVU1zUjBGRFlrRXNUVUZKU1hwa0xFMUJTMUk0VlN4SlFVRkxMRk5CUVZVMVVpeEhRVU5rTEU5QlFVOUJMRVZCUTA1SUxFVkJRVTgyUkN4UlFVRlRNVVFzUlVGQlNYRkhMRWxCUVZVc1JVRkRPVUpCTEVWQlFVdHNSeXhQUVVGVExFZEJTV2hDZDFNc1RVRkJUeXhYUVVsT0xFOUJTRXQwVFN4SlFVTktRU3hGUVVGUExFbEJSVVIyU2l4TlFVMVNPR1FzVVVGQlV5eFhRVWRTTEU5QlJrRlFMRVZCUVZORExFVkJRVkVzUjBGRGFrSnFWU3hGUVVGUE9GUXNSVUZCVXl4SFFVTlVjbVFzVFVGRlVtMU5MRk5CUVZVc1YwRkRWQ3hQUVVGUk5VTXNSMEZOVkhkVkxFdEJRVTBzVjBGTFRDeFBRVXBCVWl4RlFVRlRReXhGUVVGUkxFZEJRMWhJTEVkQlFWZEVMRWxCUTJoQ04xUXNSVUZCVHpoVUxFVkJRVk1zU1VGRlZuSmtMRTFCUlZKMVpDeFBRVUZSTEZkQlExQXNVVUZCVTBFc1IwRkpWbE1zVTBGQlZTeFRRVUZWTDJFc1JVRkJVM05TTEVkQlV6VkNMRTlCVWsxblNpeEpRVVZNYUVvc1JVRkJUeXhEUVVGRmRGSXNSMEZFVkhOU0xFVkJRVTlCTEVkQlFWRXNTVUZEVVdwVkxFMUJRVkZwVlN4RlFVRkxhbFVzVVVGQlZXbFZMRWRCUXpsRGFVb3NSVUZCVFRWakxFdEJRVTB5VkN4SFFVTk9Oa2tzUjBGRFRFMHNTMEZIU3pGa0xFMUJTVkl3WkN4TFFVRk5MRmRCUlV3c1QwRkVRV3BFTEVWQlFVdDFSQ3hUUVVGVmFHVXNTMEZCVFhGRkxGZEJRMlJ5UlN4TlFVbFNjMlFzVFVGQlR5eFhRVU5PTEZGQlFWTkJMRWxCU1Zvc1QwRkJUemRETEVkQk5FTlNNVmdzUlVGQlQyMURMRTlCUVZFc1EwRkZaQ3RaTEZOQlFWVXNVMEZCVlVNc1IwRkRia0lzU1VGQlNVTXNSVUZCVXl4RFFVbFlMRU5CUVVVc1UwRkJWU3hYUVVGWmNHSXNSVUZCVDJkaExGVkJRVmNzVlVGRGVrTm9ZU3hGUVVGUFoyRXNWVUZCVnl4VlFVRlpMRWRCUXk5Q0xFTkJRVVVzVlVGQlZ5eFBRVUZSYUdFc1JVRkJUMmRoTEZWQlFWY3NaVUZEZEVOb1lTeEZRVUZQWjJFc1ZVRkJWeXhsUVVGcFFpeEZRVUZITEZsQlEzWkRMRU5CUVVVc1UwRkJWU3hQUVVGUmFHRXNSVUZCVDJkaExGVkJRVmNzWlVGRGNrTm9ZU3hGUVVGUFoyRXNWVUZCVnl4bFFVRnBRaXhGUVVGSExHRkJSWGhEY1VJc1JVRkJVU3hWUVVOU2VFSXNSVUZCVlN4RFFVTlVkMElzVFVGQlR5eFhRVU5PTEU5QlFVOUJMRWRCUlZKRExFOUJRVkVzVjBGRlVDeFBRVVJCUXl4RlFVRlRNVllzUzBGQlRYWkZMRmRCUVZsM1dTeExRVUZOZUZrc1YwRkRNVUp5UlN4TlFVVlNkV1VzVFVGQlV5eFRRVUZWY21Jc1IwRkRiRUlzVDBGQlR6QmFMRVZCUVZGRkxFdEJRVTBzUzBGQlRUVmFMRWxCU1RWQ2MySXNTMEZCVFN4WFFVTk1MRWxCUVVsRExFVkJRVTF3WVN4VlFVVldMRTlCUVU5MFFpeEZRVUZQYTJJc1UwRkJWU3hUUVVGVlV5eEhRVU5xUXpOaUxFVkJRVTlyUWl4TFFVRk5hMkVzUlVGQlVTeFRRVUZWTlZjc1JVRkJTVzlZTEVkQlIyeERMRWxCUVVsNllpeEZRVUZMTjBJc1JVRkJXVzlrTEVWQlFVdEZMRVZCUVU4c1RVRkJWMFlzUlVGQlMwVXNSVUZCVHl4SlFVdDRSRXdzUlVGQlZVc3NSVUZCVHl4SlFVRlBMRmRCUTNaQ0xFbEJRVWxETEVWQlFWY3hZaXhIUVVGTlFTeEZRVUZIZGtNc1RVRkJUMWdzUzBGQlRYRkZMRmRCUTJoRGRXRXNSMEZCV1haa0xFVkJRVmwxWkN4RlFVRlRhRU1zVTBGRGNrTm5ReXhGUVVGVGFFTXNWVUZEVUdsRExGTkJRVlZJTEVWQlFWTkpMRkZCUTI1Q2JGY3NTMEZCVFRoV0xFVkJRVk5zUXl4VFFVTm1TeXhMUVVGTk5rSXNSVUZCVTJwRExGRkJSV3BDYVVNc1JVRkJWVU1zUlVGQlR5eEhRVUZOTEZGQlEzUkNNMlVzUzBGRFFXdEVMRVZCUVVzc1EwRkJSVEJpTEVkQlFXRjJZU3hsUVV0NFFtOWhMRVZCUVUwc1QwRkRTRGRDTEZkQlJVeEZMRXRCUVUwc1UwRkJWV2xETEVWQlFXRkRMRVZCUVZsRExFZEJRM2hETEVsQlFVbERMRVZCUVZjc1JVRkRaaXhUUVVGVE1VTXNSVUZCVXpKRExFVkJRVTlpTEVWQlFWVTFVQ3hGUVVGVE1GRXNSMEZETTBNc1QwRkJUeXhYUVVOT0xFbEJRVWxETEVWQlFVOXlaaXhMUVVOV2RWVXNSVUZCVDJ4UkxGVkJRMUJwWWl4RlFVRmhMRmRCUTFvc1NVRkJTVllzUlVGQlZUbENMRVZCUzJRc1MwRkJTM0ZETEVWQlFWRkVMRWRCUVdJc1EwRlJRU3hKUVVwQlRpeEZRVUZYYkZFc1JVRkJVUzlPTEUxQlFVOHdaU3hGUVVGTk9Vc3NUVUZKWkN0S0xFVkJRVk14UWl4VlFVTXhRaXhOUVVGTkxFbEJRVWt5UXl4VlFVRlhMRFJDUVU5MFFucERMRVZCUVU4NFFpeEpRVXRuUWl4cFFrRkJZa0VzUjBGRFdTeHRRa0ZCWWtFc1NVRkRVa0VzUlVGQlV6bENMRXRCUjB4NllpeEZRVUZaZVdJc1IwRkhXSE5ETEVWQlEwcDBReXhGUVVGTGNtTXNTMEZEU20xbExFVkJRMEZ3UXl4RlFVRlRNRU1zUlVGQlZWb3NSVUZCVlc1RExFVkJRVlZwUkN4SFFVTjJRelZETEVWQlFWTXdReXhGUVVGVldpeEZRVUZWYWtNc1JVRkJVeXRETEV0QlQzWkRSaXhKUVVWQmNFTXNSVUZCUzNKakxFdEJRMHB0WlN4RlFVTkJjRU1zUlVGQlV6QkRMRVZCUVZWYUxFVkJRVlZ1UXl4RlFVRlZhVVFzUjBGRGRrTTFReXhGUVVGVE1FTXNSVUZCVlZvc1JVRkJWV3BETEVWQlFWTXJReXhIUVVOMFF6VkRMRVZCUVZNd1F5eEZRVUZWV2l4RlFVRlZia01zUlVGRE5VSnRReXhGUVVGVGEwSXNaVUZUVURsUkxFbEJRVmw1VGl4SlFVTm9RbXRFTEU5QlFVOTRXaXhGUVVOUU1FOHNSVUZCVHl4RFFVRkZjVXNzUzBGTFVsRXNSMEZCVjJRc1JVRkJVMjFDTEdGQlFXVktMRVZCUVUwNVN5eE5RVXMzUTIxTUxFVkJRVlZPTEVWQlExUkZMRVZCUTBFc1YwRkRReXhKUVVORFFTeEpRVU5ETEUxQlFWRTVVeXhIUVVWS2Vrb3NSVUZCVDJ0aUxGTkJRVk13UWl4bFFVTndRalZqTEVWQlFVOXJZaXhUUVVGVE1FSXNZMEZCWlc1VUxFVkJRemxDYTFRc1JVRkJVVVVzV1VGTlRGUXNSVUZCVVN4SFFVRkxSQ3hKUVVsYWVGRXNTVUZCV1RKT0xFbEJRMmhDWjBRc1QwRkJUM2hhTEVWQlExQXdUeXhGUVVGUExFTkJRVVV2U0N4SlFVZFdPRklzUlVGQlUzVkNMRmRCUVZsU0xFVkJRVTA1U3l4TlFWTXpRalJMTEVWQlEwcFBMRXRCUzBzell5eEZRVUZQYTJJc1UwRkJVelpDTEdWQlEzQkNTaXhGUVVGUlJTeFhRVUZoTjJNc1JVRkJUMnRpTEZOQlFWTTJRaXhuUWtGRmRFTXZaaXhGUVVGUFoyZENMRmRCUVZsTUxFdEJTM1JDTEU5QlFVOHpZeXhGUVVGUGEySXNVMEZCVlN4VFFVRlZVeXhIUVVkcVExQXNSVUZCVVN4SFFVRkxMRWRCUVVrelF5eEpRVU5vUW1kQ0xFVkJRME1zUlVGRFFXdERMRVZCUTBGeVpDeEZRVUZaTkdRc1IwRkRXRUVzUlVGRFFUbERMRVZCUTBSMVF5eEZRVUZUWXl4aFFVdFlja0lzUlVGQlVTeEhRVUZMTEVkQlFVa3pReXhKUVVOb1FtZENMRVZCUTBNc1JVRkRRV3RETEVWQlEwRnlaQ3hGUVVGWk1HUXNSMEZEV0VFc1JVRkRRVFZETEVsQlMwaG5ReXhGUVVGUkxFZEJRVXNzUjBGQlNUTkRMRWxCUTJoQ1owSXNSVUZEUXl4RlFVTkJhME1zUlVGRFFYSmtMRVZCUVZreVpDeEhRVU5ZUVN4RlFVTkJNME1zVFVGSFFVOHNWMEZMVEVFc1VVRkJVeXhUUVVGVmRHSXNSMEZEYkVJc1QwRkJZeXhOUVVGUVFTeEZRVUZqZVVJc1JVRkJUMjFETEU5QlFWRTFSQ3hGUVVGTGMySXNSMEZCV1VFc1NVRkhka1F3UWl4RlFVRlhMRWRCYTBWYUxFOUJMMFJCZG1Jc1JVRkJUMnRDTEV0QlFVMXJZU3hGUVVGUkxGTkJRVlZvWXl4RlFVRkhkMk1zUjBGRGFrTXNTVUZCU1hCV0xFVkJRVTl2Vml4RlFVRlBMRWRCUTJwQ2NVSXNSVUZCWTNKQ0xFVkJRVThzUjBGTGRFSXZRaXhGUVVGVEswSXNSVUZCVHl4SlFVRlJjRllzUlVGQlMybFRMRWxCUjNoQ2QwVXNSMEZEU25wWExFVkJRVXRwVXl4SlFVTktMRmRCU1VNMFF5eEZRVUZSTkVJc1IwRkxWRGRDTEVWQlFWRXNSVUZCU1doakxFZEJRVXNzUjBGQlNUSmlMRkZCU1hKQ1N5eEZRVUZSTEVWQlFVbG9ZeXhIUVVGTExFZEJRVWt5WWl4UlFVZHlRa3NzUlVGQlVTeEhRVUZMTEVkQlFVbEtMRXRCUjJwQ1NTeEZRVUZSTEVkQlFVc3NSMEZCU1Vvc1RVRlBia0o0VlN4RlFVRkxhVk1zU1VGQlMyMUVMRVZCUVU4c1IwRkJTV3BDTEUxQlMzSkNXU3hGUVVGVlN5eEZRVUZQTEVsQlFWRXNWMEZGZUVJc1QwRkVRVXdzUlVGQlZVc3NSVUZCVHl4SFFVRk5MRkZCUVZVelpTeFBRVUZUYzJVc1QwRkJWM3BaTEVWQlFWazNSaXhMUVVGTmNVVXNWMEZEYUVWeVJTeE5RVTFTYzJVc1JVRkJWVXNzUlVGQlR5eEhRVUZOTEZGQlFWZHdWaXhGUVVGTGVWVXNWMEZKZUVOd1FpeEZRVUZSUVN4UlFVRlRNRUlzUjBGSFdrb3NSMEZEU2tFc1JVRkJTM3BrTEV0QlFVMDJaQ3hGUVVGVlFTeEhRVWxtUVN4SFFVbFNNa0lzUzBGQlRTeFRRVUZWUXl4SFFVTm1MRWxCUjBORExFVkJRVms1WWl4VlFVRlZhRUlzVDBGSGRFSnNRaXhGUVVGSloyVXNSVUZIU2tNc1JVRkJhMEo2WVN4TlFVRlBlRVFzUjBGRGVrSnJaU3hGUVVGblFpOW1MRVZCUVUxSExFdEJRVTAwUkN4WFFVYzFRbWxqTEVWQlFWVjJaQ3hGUVVGUGEySXNWMEZIYWtKelF5eEZRVUZoTEZOQlFWVndaU3hIUVVOMFFpeFBRVUZQTEZOQlFWVXJSU3hIUVVOb1FtdGFMRVZCUVdsQ2FtVXNSMEZCVFc1RExFdEJRM1pDY1dkQ0xFVkJRV1ZzWlN4SFFVRk5hME1zVlVGQlZXaENMRTlCUVZNc1JVRkJTUzlETEVWQlFVMUhMRXRCUVUwMFJDeFhRVUZqTmtNc1NVRkROVVJwV2l4SFFVTlVSeXhGUVVGUllpeFpRVUZoVnl4RlFVRnBRa01zUzBGTk1VTXNSMEZCUzBZc1IwRkJZU3hKUVVOcVFqVkVMRVZCUVZreVJDeEZRVUZoU1N4RlFVRlJNVmdzUzBGQlRUSllMRVZCUVZsd1pTeEpRVUZOY1dFc1VVRkJVemhFTEVWQlFWRTNSQ3hSUVVONFJUQkVMRWRCUjNWQ0xGbEJRWEJDUnl4RlFVRlJiRU1zVTBGRFdpOWpMRVZCUVZsblppeEZRVUZsYkdVc1NVRkJUMnRsTEVWQlFXVnNaU3hIUVVGSk1tRXNUMEZGY2tRc1QwRkJUM2RFTEVWQlFWRjRSQ3hQUVV0cVFpeExRVUZSTTJFc1MwRkRVRzloTEVWQlFWazRSQ3hGUVVGbGJHVXNSMEZCUzI5bExFVkJRVmx3WlN4SFFVRkxiV1VzUlVGQlVUZEVMRkZCUnpGRUxFOUJRVTgyUkN4RlFVRlJNVVFzWVVGUGFrSXNTVUZCU1RSRUxFVkJRV01zZVVSQlJXeENlbVFzUlVGQlQydGlMRk5CUVZNd1FpeGpRVUZuUWl4VFFVRlZlRm9zUlVGQlQzTmhMRWRCU1RORE1XZENMRVZCUVU4eVowSXNVMEZCVnpOblFpeEZRVUZQTW1kQ0xGRkJRVkZETEUxQlFWRjRZU3hIUVVGVGNXRXNSVUZCV1doVUxFdEJRVTF5U0N4RlFVRk5aaXhQUVVNNVJYSkdMRVZCUVU4eVowSXNVVUZCVVVNc1MwRkJUU3c0UWtGQlowTjRZU3hGUVVGTmVXRXNVVUZCVTNwaExFVkJRVTF6WVN4TlFVRlBRU3hKUVU5dVJqRmtMRVZCUVU4NFpDeGxRVUZwUWl4VFFVRlZNV0VzUjBGRGFrTndSeXhGUVVGUFoyZENMRmRCUVZrc1YwRkRiRUlzVFVGQlRUVmFMRXRCVVZJc1NVRkJTVEpoTEVWQlFWa3ZaQ3hGUVVGUGEySXNWMEZyUkhaQ0xGTkJRVk00UXl4SlFVTlNibWhDTEVWQlFWTnZhRUlzYjBKQlFYRkNMRzFDUVVGdlFrUXNSMEZEYkVSb2FFSXNSVUZCVDJsb1FpeHZRa0ZCY1VJc1QwRkJVVVFzUjBGRGNFTm9aU3hGUVVGUE5sZ3NVVUZ1UkZJM1dDeEZRVUZQUnl4SFFVRkhNRmdzVFVGQlVTeFRRVUZWTVZnc1IwRlpNMElzVDBGV1FUUmtMRVZCUTBWb1JTeExRVUZOTlZvc1IwRkxUbkZpTEUxQlFVOHNVMEZCVlhCWkxFZEJRMnBDY0VRc1JVRkJUemhrTEdWQlFXZENNV0VzUzBGSGJFSnVSeXhOUVVkU0swTXNSVUZCVDIxRExFOUJRVkVzUTBGSFpHZENMRk5CUVZNc1JVRkpWQ3RoTEZWQlFWY3NSVUZIV0hKSExFMUJRVThzVTBGQlZYTkhMRXRCUjBZc1NVRkJWRUVzU1VGQmEwSnVaU3hGUVVGUGEyVXNWVUZCV1d4bExFVkJRVTl0UkN4WFFVdHFSRzVFTEVWQlFVOXRSQ3hUUVVGVkxFZEJSMGdzU1VGQlZHZGlMRXRCUVcxQ2JtVXNSVUZCVDJ0bExGVkJRVmtzUjBGTE0wTklMRVZCUVZWeVFpeFpRVUZoTjJZc1JVRkJWU3hEUVVGRmJVUXNVVUZKY2tOQkxFVkJRVTgyV0N4TlFVRk5hME1zUzBGQlQyZEZMRVZCUVZWb1JTeExRV0ZFTEdGQlFYaENiR1FzUlVGQlUzVm9RaXhaUVVOaExGbEJRWGhDZG1oQ0xFVkJRVk4xYUVJc1lVRkJOa0oyYUVJc1JVRkJVemhRTEdkQ1FVRm5RakJTTEZOQlIycEZjbWhDTEVWQlFVOW5aMElzVjBGQldXaGtMRVZCUVU4MldDeFJRVXN4UW1oaUxFVkJRVk50VVN4cFFrRkJhMElzYlVKQlFXOUNaMUlzUjBGSEwwTm9hRUlzUlVGQlQyZFJMR2xDUVVGclFpeFBRVUZSWjFJc1NVRlJiRU1zU1VGQlNVMHNSVUZCVXl4VFFVRlZlR1FzUlVGQlQxZ3NSVUZCU1dkTUxFVkJRVXRvU0N4RlFVRlBiMkVzUlVGQlYwTXNSVUZCVlVNc1IwRkRiRVVzU1VGQlNYSm1MRVZCUVVrc1JVRkRVREJETEVWQlFVMW9RaXhGUVVGTlVpeFBRVU5hYjJVc1JVRkJZeXhOUVVGUWRsUXNSVUZIVWl4SFFVRjFRaXhYUVVGc1FuQk1MRVZCUVZGdlRDeEhRVVZhTEVsQlFVMHZUQ3hMUVVST2JXWXNSMEZCV1N4RlFVTkVjRlFzUlVGRFZtMVVMRVZCUVZGNFpDeEZRVUZQV0N4RlFVRkpaaXhGUVVGSEswd3NSVUZCU3k5TUxFbEJRVXNzUlVGQlRXOW1MRVZCUVZWRExGRkJTVE5ETEZGQlFXVXpZaXhKUVVGV2NVSXNTVUZEV0c5aExFZEJRVmtzUlVGRlRtcG5RaXhGUVVGWk5rWXNTMEZEYWtKellTeEhRVUZOTEVkQlIwWkRMRWxCUjBORUxFZEJRMHAwWlN4RlFVRkhla01zUzBGQlRXOUVMRVZCUVU5eFJDeEhRVU5vUW1oRkxFVkJRVXNzVDBGSlRIVmxMRVZCUVU5MlpTeEZRVU5RUVN4RlFVRkxMRk5CUVZWclFpeEZRVUZOYzJRc1JVRkJUWGhoTEVkQlF6RkNMRTlCUVU5MVlTeEZRVUZMYUdoQ0xFdEJRVTF6UXl4RlFVRlJjVUlzUjBGQlVUaERMRTFCUzJoRGFFVXNSMEZEU2l4TFFVRlJaaXhGUVVGSk1FTXNSVUZCU3pGRExFbEJRMmhDWlN4RlFVTkRWeXhGUVVGUE1VSXNSMEZCU3l0TUxFVkJRVXR6VkN4RlFVTm9RblJoTEVWQlEwRkJMRVZCUVUxNlJ5eExRVUZOYjBRc1JVRkJUekZDTEVkQlFVdEJMRVZCUVVkbExFVkJRVWxYTEVWQlFVOHhRaXhIUVVGTEswd3NTMEZOYUVRc1QwRkJTMjlVTEVWQlEwZDZaQ3hGUVVsSU5HUXNSVUZEUjNabExFVkJRVWQ2UXl4TFFVRk5iMFFzUjBGSFZtZENMRVZCUVUwelFpeEZRVUZKVnl4RlFVRlBMRWRCUVV0eFN5eEhRVUZSY1ZRc1IwRkxiRU5KTEVWQlFWa3NVVUZEWmtNc1JVRkJZU3haUVVka0xGTkJRVk5ETEVWQlFWbERMRVZCUVUxRExFZEJRekZDTEU5QlFVOUJMRVZCUVU5RExHTkJUV1lzVTBGQlUwTXNSVUZCVjBNc1IwRkRia0lzVDBGQlQwRXNSVUZCVDJwakxGRkJRVk13WWl4RlFVRlhMRTlCUVZFeFlpeFJRVUZUTW1Jc1JVRkJXVU1zUjBGRmFFVXNTVUZCU1Uwc1JVRkJZU3hUUVVGVlF5eEhRVkV4UWl4UFFVRXdRaXhKUVVGdVFrRXNSVUZCVFRkblFpeFZRVUZ4UXl4SlFVRnVRalpuUWl4RlFVRk5OMmRDTEZsQlFYTkNObWRDTEVWQlFVMDNaMElzVlVGTmJFVXNVMEZCVXpoblFpeEpRVU5TY21sQ0xFdEJRVXM0Uml4UlFVRlZMME1zUlVGQlR5dERMRkZCUVZWMVl5eEZRVUZMUXl4TlFVZDBRMFFzUlVGQlMwTXNTVUZCVFN4RlFVVllSQ3hGUVVGTEwyVXNWVUZCV1N4RFFVVm9RakpMTEUxQlFVOHNVMEZCVlcxVkxFZEJSMmhDTEVsQlFVbHNZaXhGUVVGUmEySXNSVUZCVDNCcFFpeExRVUZMT0VZc1UwRTBRbmhDTEU5QmVrSk5iMElzU1VGRFRFRXNSVUZCVVN4SFFVdElhV0lzUlVGQldVTXNTMEZKV0VFc1JVRkJUVGRuUWl4VFFVTldObWRDTEVWQlFVOXdhVUlzUzBGQlN6aEdMRk5CUVZsdlFpeEZRVTE0UWpsSExFOUJRVTl0YVVJc1pVRkJaMEpJTEVWQlFVOXdhVUlzUzBGQlN6aEdMRkZCUVZNc1EwRkRNME52UWl4TlFVRlBRU3hGUVVOUWMySXNZMEZCWXl4TlFVMVlkR0lzUjBGRlVuVmlMRWxCUVVzc1UwRkJWVXdzUlVGQlQwMHNSVUZCVFhoaUxFZEJRek5DTEVsQlFVbDVZaXhGUVVOSU1WVXNSVUZCVVdwUExFdEJRVXRwVHl4TlFVRlBiVlVzUjBGSmNrSXNSMEZCY1VJc2FVSkJRVlJOTEVWQlExaDZWU3hGUVVGUFoxVXNSVUZCVjFNc1NVRkJWM2hpTEU5QlRUZENMRWxCUVUxNVlpeExRVUZSUkN4RlFVTmllbFVzUlVGQlQyZFZMRVZCUVZkVkxFbEJRVmRFTEVWQlFVMURMRWRCUjNKRExFOUJRVTh4VlN4SFFVVlNka3NzU1VGQlN5eFRRVUZWTUdVc1JVRkJUMnhWTEVkQlEzSkNMRmxCUVdWeVNTeEpRVUZTY1Vrc1JVRkRUbXhQTEV0QlFVdHBUeXhOUVVGUGJWVXNSMEZIV2tFc1JVRkJUM0JwUWl4TFFVRkxPRVlzVlVGQllYTmpMRVZCUVU5d2FVSXNTMEZCU3poR0xGTkJRVmR0WXl4RlFVRlhMMVFzUzBGRk4wUnRWQ3hQUVVGUkxGTkJRVlZsTEVWQlFVOXNWU3hGUVVGTGFFZ3NSMEZoTjBJc1dVRkJZWEpDTEVsQlFWSnhTU3hIUVVORFFTeEhRVUZ6UWl4cFFrRkJVa0VzVVVGQlowTnlTU3hKUVVGV2NVSXNSVUZGYkVOc1NDeExRVUZMTUVRc1NVRkJTekJsTEVWQlFVOXNWU3hKUVZONlFteFBMRXRCUVV0NWFVSXNTVUZCUzB3c1JVRkJUMnhWTEVWQlFVdG9TQ3hSUVVsTWNrSXNTVUZCVm5GQ0xFVkJRWE5DUVN4RlFVRlJaMGdzU1VGRmRFTXlVQ3hQUVVGUkxGTkJRVlYxUlN4RlFVRlBiRlVzUjBGRGVFSXNTVUZCU1M5TUxFVkJRMGc0VEN4RlFVRlJiVlVzUlVGQlQzQnBRaXhMUVVGTE9FWXNVMEZGY2tJc1VVRkJaVVFzU1VGQlZtOUpMRVZCUVV3c1EwRkpRU3hSUVVGaGNFa3NTVUZCVW5GSkxFVkJRVzlDTEVOQmEwSjRRaTlNTEVkQldFTXJUQ3hGUVVwSmRra3NUVUZCVFVNc1VVRkJVM05KTEVkQlNXSkJMRVZCUVVrdlNpeEpRVUZMT0dRc1NVRkZaaTlVTEVWQlFVMHJWQ3hGUVVGWEwxUXNUVUZKU2tRc1JVRkRXaXhEUVVGRlF5eEhRVU5CUVN4RlFVRkpja0lzVFVGQlQzRlFMRWxCUVcxQ0xFbEJSekZDTjFrc1QwRkZVaXhMUVVGUmJFSXNXVUZEUVRoTUxFVkJRVTlETEVWQlFVc3ZUQ3hWUVV0U01FUXNTVUZCVW5GSkxFZEJRWEZDYmt3c1JVRkJUM2xFTEdOQlFXVjVTQ3hOUVUweFEyMVZMRVZCUVUwM1owSXNVMEZEVmpablFpeEZRVUZQY0dsQ0xFdEJRVXM0Uml4alFVRlpSQ3hUUVVWcVFuVmpMRVZCUVU5d2FVSXNTMEZCU3poR0xGbEJTWFJDT0dNc1VVRkJVeXhUUVVGVlVpeEhRVU5zUWl4SlFVRkpibFVzUlVGQlVXMVZMRVZCUVU5d2FVSXNTMEZCU3poR0xGTkJRM2hDTEZsQlFXbENSQ3hKUVVGV2Iwa3NTVUZCZDBKc1RDeEZRVUZQZVVRc1kwRkJaWGxJTEV0QlIzWkVMRWxCUVVrMFZTeEZRVUZYTEVsQlFVbFNMRVZCUldaVExFVkJRVmNzU1VGQlNWUXNSVUZqWmxVc1JVRkJVeXhuUTBGRFdrTXNSVUZCWVN4VFFUSkNaQ3hUUVVGVFF5eEZRVUZWTjJVc1JVRkJUVGhLTEVWQlFVdDNWU3hIUVVNM1FpeEpRVUZKZEdRc1JVRkpTaXhSUVVGalV5eEpRVUZVTm1Nc1IwRkJkME1zU1VGQmJFSjBaU3hGUVVGTE4wTXNVMEZKTDBJc1IwRklRVFpFTEVWQlFVOHNVVUZCVlRoSkxFVkJRVWxxU1N4UlFVRlRLMk1zUlVGQldTeFBRVUZSZUdJc1kwRkhOMElzYVVKQlJuSkNhMklzUlVGQlQzUmxMRVZCUVVzMVFpeGhRVUZqTkVNc1NVRkZUU3hEUVVNdlFpeEpRVU5EYzJRc1JVRndRMG9zVTBGQmEwSkJMRWRCUTJwQ0xFMUJRV01zVTBGQlZFRXNSMEZKVXl4VlFVRlVRU3hKUVVsVExGTkJRVlJCTEVWQlEwY3NTMEZKU0VFc1MwRkJWVUVzUlVGQlR5eEpRVU5pUVN4RlFVZEtTeXhGUVVGUGRsWXNTMEZCVFd0V0xFZEJRMVpSTEV0QlFVdERMRTFCUVU5VUxFZEJSMkpCTEVkQlkwZFZMRU5CUVZOV0xFZEJRMllzVFVGQlVXeFhMRWxCUjFaelZ5eEZRVUZUVEN4SlFVRkxjbVVzUlVGQlRUaEtMRVZCUVV0M1ZTeFJRVVY2UWtFc1QwRkJUemRqTEVWQlIxUXNUMEZCVHpaakxFVkJSMUl6Wml4RlFVRlBiVU1zVDBGQlVTeERRVU5rTUdRc1VVRkJVeXhUUVVGVmVHVXNSMEZEYkVJc1QwRkJUekJsTEVWQlFWTkdMRkZCUVZONFpTeEpRVUZWZVdVc1JVRkJVMFFzVVVGQlUzaGxMRWxCUjNSRWMyVXNTMEZCVFN4VFFVRlZkR1VzUlVGQlRXZENMRVZCUVUxelpDeEhRVU16UWl4UFFVRlBTU3hGUVVGVGVrSXNUMEZCVVdwa0xFVkJRVTFuUWl4RlFVRk5jMlFzU1VGSGNrTlhMRmRCUVZrc1UwRkJWV3BtTEVWQlFVMW5RaXhIUVVNelFqQmtMRVZCUVZOcVJpeFBRVUZSZWxvc1JVRkJUV2RDTEVsQlMzaENhMlVzVFVGQlR5eFRRVUZWYkdZc1JVRkJUV2RDTEVWQlFVMXpaQ3hIUVVNMVFpeFBRVUZQUnl4RlFVRlRlRUlzVDBGQlVXcGtMRVZCUVUxblFpeEZRVUZOYzJRc1NVRkhja05oTEZsQlFXRXNVMEZCVlc1bUxFVkJRVTFuUWl4SFFVTTFRbmxrTEVWQlFWTm9SaXhQUVVGUmVsb3NSVUZCVFdkQ0xFMUJTWHBDY2tNc1JVRkJUMGNzUjBGQlIyZERMRTlCUVZFc1EwRkRha0ozWkN4TFFVRk5MRk5CUVZWNFZTeEZRVUZMYUVnc1IwRkRjRUlzU1VGQlNTOUZMRVZCUVVkcFJDeEZRVUZOYzJRc1JVRkRXblJsTEVWQlFVOXdSU3hMUVVGTkxFZEJRMko1VHl4RlFVRlJja3NzUjBGQlVVRXNSVUZCUzNWR0xGZEJSM1JDTEZGQlFXRTVSQ3hKUVVGU2NVa3NSVUZCYjBJc1EwRkRlRUlzUjBGQlMyeFBMRXRCUVV0eFJDeFRRVU5VY1dZc1JVRkJUMGtzUlVGQlUzQm1MRWxCUVV0VkxFZEJSVVVzU1VGQmJFSkJMRVZCUVVzM1F5eFhRVUZ0UW5Ob1FpeEZRVUZUYm1Zc1NVRkJTMVVzUlVGQlRTeHBRa0ZCYlVJc1EwRkZia1VzU1VGRVFXcERMRVZCUVVselRTeEZRVUZOY0V3c1QwRkRSbXhDTEV0QlNVWnpUU3hGUVVGUGRFMHNTVUZGYzBJc1MwRkVha05wUkN4RlFVRlBjVW9zUlVGQlQzUk5MRWRCUVVscFJDeE5RVU5TZGtVc1VVRkJVeXhYUVVOc1FuVkZMRVZCUVU4Mll5eEZRVUZYTjJNc1JVRkJTemxGTEUxQlFVOHNTVUZET1VJeWFVSXNSVUZCVlRkbExFVkJRVTFuUWl4RlFVRk5jMlFzUlVGQlRYUmtMRXRCU1M5Q2VXUXNSVUZCVTBvc1NVRkJTM0psTEVWQlFVMHNaMEpCUVdkQ0xFZEJTWFJETEU5QlFVOXpaU3hGUVVsU0xFMUJRVzlDTEdsQ1FVRlNlRlVzUlVGRFNteFBMRXRCUVV0cFJTeExRVUZOTEZkQlEycENObVVzUlVGQlUwd3NTVUZCUzNwcFFpeExRVUZOYTA4c1MwRkpabTFVTEVWQlFWRnlhRUlzUzBGQlRTeFRRVUZWYTBnc1IwRkRPVUlzU1VGQlNYZGlMRVZCVDBvc1IwRkJTM1JsTEZGQlFXdENlVUlzU1VGQlZuRkNMRVZCUzFvc1dVRkJZM0pDTEV0QlJHUTJZeXhGUVVGUFNTeEZRVUZUY0dZc1NVRkJTMVVzUlVGQlRUaEtMRWxCUlc1Q2QxVXNUMEZOVFRkakxFdEJSR1EyWXl4RlFVRlBUeXhGUVVGVk4yVXNSVUZCVFRoS0xFbEJSV1ozVlN4UFFVbFNMRVZCU1VReGFVSXNTMEZCUzJsRkxFdEJRVTBzVjBGSFZqWmxMRVZCUVZOTUxFbEJRVXQ2YVVJc1MwRkJUV3RQTEVWQlFVdG9TQ3hOUVVWNFFpeExRVUZOUVN4RlFVRlBOME1zVlVGQlZXaENMRTlCUVZNc1JVRkJSeXhOUVVGTkxFbEJSemREWjJkQ0xGZEJRVmtzVTBGQlZXNVdMRWRCUTNKQ0xFOUJRVTlzVHl4TFFVRkxhVVVzUzBGQlRTeFhRVU5xUWpabExFVkJRVk5xUml4UFFVRlJOMlFzUzBGQlRXdFBMRkZCVFRGQ2Jrd3NSVUZCVDIxRExFOUJRVkVzUTBGRFpITlpMRTFCUVU4c1UwRkJWWEJhTEVWQlFVMTZReXhGUVVGTksyZENMRWRCUXpWQ0xFbEJRVWxzUml4RlFVVktMRWRCUVV0d1dpeEZRVmxLTEU5QldFRjZReXhIUVVGVFFTeEhRVUZSTEUxQlFWTXNVVUZETVVJMllpeEZRVUZSY1VZc1JVRkJVMjVtTEVsQlFVdFZMRVZCUVUxNlF5eEhRVWQyUWl0blFpeExRVU5GYkVZc1IwRkJVemRZTEUxQlFVMURMRkZCUVZNNFl5eEhRVU0zUW14R0xFVkJRVkZ4Uml4RlFVRlRlRUlzVDBGQlVXcGtMRVZCUVUxNlF5eEZRVUZOYjBJc1JVRkJUekpFTEZWQlFWZG5ZeXhKUVVWMlJHeEdMRVZCUVUwMVl5eExRVUZOT0doQ0xFbEJSMUJzUml4SFFVRlRMRWxCU1d4Q1owY3NVVUZCVXl4VFFVRlZjR1lzUlVGQlRYcERMRWRCUTNoQ1FTeEZRVUZQUVN4SFFVRlJMRXRCUldZc1NVRkJTVFppTEVWQlFWRjZZU3hGUVVGUGVXRXNUVUZCVDNCYUxFVkJRVTE2UXl4SFFVTXZRamhvUWl4RlFVRmpha2NzUlVGQlRXNWhMRTlCUTNCQ1NDeEZRVUZMYzJFc1JVRkJUWEJRTEZGQlExaHpWaXhGUVVGUk0yZENMRVZCUVU4MFowSXNXVUZCWVhabUxFVkJRVTE2UXl4SFFVMTJRaXhsUVVGUWRVSXNTVUZEU2tFc1JVRkJTM05oTEVWQlFVMXdVQ3hSUVVOWWNWWXNTMEZIU1hablFpeEpRVWxWTEU5QlFWUjJRaXhIUVVOS05tSXNSVUZCVFRkTUxGRkJRVk1zY1VKQlNWUXJVaXhGUVVGTlJTeExRVU5pTVdkQ0xFVkJRVWQ2UXl4TFFVRk5Na1FzUlVGd1FrWXNWMEZEVG5KQ0xFVkJRVTk1WjBJc1VVRkJVM0JtTEVWQlFVMTZReXhKUVcxQ1JpdG9RaXhMUVVkb1FrUXNSMEZCWlVNc1IwRkRjRUpCTEVWQlFVMDNUaXhOUVVGTk5rZ3NVVUZMWkdsSExGbEJRV0VzVTBGQlZYWm1MRVZCUVUxNlF5eEhRVU0xUWl4SlFVRkpkVTBzUlVGQlRYWk5MRVZCUVU4c1lVRkRha0lzVDBGQlQydG9RaXhGUVVGVGJtWXNTVUZCUzFVc1JVRkJUVGhLTEVsQlFWTXlWU3hGUVVGVGVFSXNUMEZCVVdwa0xFVkJRVTA0U2l4RlFVRkxMRU5CUXk5RU1rZ3NUVUZCVHpsVExFVkJRVTluWVN4VlFVRlhMR1ZCUVdkQ2RrSXNTVUZCU3l4WFFVTTNRM0ZJTEVWQlFWTm9SaXhQUVVGUmVsb3NSVUZCVFN4RFFVRkZla01zUlVGQlR5eFJRVUZUZFUwc1YwRk5OME51VEN4RlFVRlBSeXhIUVVGSFowTXNUMEZCVVN4RFFVTnFRbk5aTEUxQlFVOHNVMEZCVlRkaUxFVkJRVTByWjBJc1IwRkRkRUlzU1VGQlNXMUNMRVZCUVZNc1JVRlJZaXhOUVU1eFFpeHBRa0ZCVkd4cFFpeEpRVU5ZSzJkQ0xFVkJRVTh2WjBJc1JVRkRVRUVzUlVGQlR5eExRVU5RYTJsQ0xFdEJSMGw0Wml4VlFVRlZhRUlzVDBGQlUzZG5RaXhGUVVOb1FqbG5RaXhGUVVGUGVXRXNUVUZCVDNoa0xFdEJRVTBzUjBGQlN6SkNMRkZCUjJwQ2EwVXNTVUZCVkRaakxFVkJRMDR4YVVJc1MwRkRRVUVzUzBGQlMybEZMRXRCUVUwc1YwRkRWaXhKUVVGSmRWb3NSVUZCVVhwaExFVkJRVTk1WVN4TlFVRlBlR1FzUzBGQlRUSkNMRVZCUVUwclowSXNSMEZIZEVNelppeEZRVUZQTkdkQ0xGbEJRV0V6YWtJc1MwRkJUVEpDTEVkQlJWb3NUMEZCVkVFc1IwRkJaME1zWlVGQlpqWmlMRVZCUVU4c1NVRkROVUo2WVN4RlFVRlBlV2RDTEZGQlFWTjRha0lzUzBGQlRUSkNMRTFCU1RGQ05taENMRkZCUVZNc1UwRkJWVGRvUWl4SFFVTnNRaXhQUVVGUE0wSXNTMEZCUzJsRkxFdEJRVTBzVjBGRGFrSnNRaXhGUVVGUGVXZENMRkZCUVZONGFrSXNTMEZCVFRKQ0xFMUJSM2hDYldsQ0xGZEJRVmtzVTBGQlZXNXBRaXhIUVVOeVFpeFBRVUZQTTBJc1MwRkJTM2RrTEUxQlFVODNZaXhIUVVGUkxFdEJRVTBzUzBGTGJFTnBZaXhSUVVGVExGTkJRVlZxWWl4RlFVRk5UQ3hIUVVONFFpeEpRVUZKYjFBc1JVRkRTSEZVTEVWQlFWRXNSVUZEVWtNc1JVRkJVV3BvUWl4RlFVRlBhMklzVjBGRFpuQk5MRVZCUVZjM1VpeExRVU5ZYlVNc1JVRkJTVzVETEV0QlFVdHhSQ3hQUVVOVWJWb3NSVUZCVlN4aFFVTkRkVWdzUjBGRFZFTXNSVUZCVFhaRkxGbEJRV0UxVGl4RlFVRlZMRU5CUVVWQkxFdEJWV3hETEVsQlRuRkNMR2xDUVVGVWJGRXNTVUZEV0V3c1JVRkJUVXNzUlVGRFRrRXNUMEZCVDJ0RkxFZEJSVkpzUlN4RlFVRlBRU3hIUVVGUkxFdEJSVkJSTEUxQlExQjFUeXhGUVVGTmJWTXNSVUZCVTI1bUxFbEJRVXR0VHl4RlFVRlZNVkFzUjBGQlMxSXNSVUZCVHl4blFrRkRPVUlyVHl4RlFVRkpiVVlzVVVGRFptdFBMRWxCUTBGeVZDeEZRVUZKYlVZc1RVRkJUVEpHTEVsQlFVdG5RaXhKUVVscVFpeFBRVVJCUVN4SlFVTlBkMGdzUlVGQlRYQklMRkZCUVZOMFlpeE5RVWQ0UWl4SlFVRkpNbWxDTEVWQlFVOHNjME5CUVRCRFF5eFBRVVZxUkVNc1IwRkJWU3hKUVVGSmNtRXNUMEZCVVN4cFFrRkJiVUp0WVN4RlFVRlBMR05CUVdVc1MwRkhMMFJITEVkQlFWa3NRMEZCUlN4TlFVRlBMRkZCUVZNc1UwRkJWU3hSUVVWNFF6RlZMRWRCUVd0Q09WQXNSVUZCVXpoUUxHZENRVWt4UWpKVkxFZEJRV0VzVTBGQlZXcG5RaXhIUVVONlFpeFBRVUZQY2tJc1JVRkJUM2xHTEZOQlFWVndSU3hGUVVGTE5ra3NZMEZCWlRkSkxFbEJSVGREYTJkQ0xFZEJRVmNzUTBGQlJVRXNWVUZCVlN4SFFVOXVRalZWTEVkQlFXZENObFVzWTBGRGNFSkdMRWRCUVdFc1UwRkJWV3BuUWl4SFFVTjBRaXhQUVVGUGNrSXNSVUZCVDNsR0xGTkJRVlZ3UlN4RlFVRkxOa2tzWTBGQlpUZEpMRWxCUXpORFFTeEZRVUZMYldkQ0xGbEJRV0ZFTEUxQlFXVnNaMElzUlVGQlN6WkpMR2RDUVVjeFF5eEpRVUZKZFZnc1IwRkJjVUlzVTBGQlZYQm5RaXhGUVVGTmJVc3NSMEZQZGtNc1RVRkJPRUlzVlVGSU9VSnVTeXhGUVVGUGJVc3NSMEZCVFc1TExFZEJSMFJ4WjBJc1RVRkJUVU1zVTBGRFRTeExRVUYyUW5SblFpeEZRVUZMY1dkQ0xFMUJRVTFETEZOQlRWaE1MRWRCUVZscVowSXNTVUZGYzBJc1UwRkJiRU55UWl4RlFVRlBOR2hDTEVsQlFVdDJaMElzUlVGQlRTeFpRVXR5UWl4VFFVRlRkMmRDTEVkQlFWZDRaMElzUlVGQlRYVmxMRVZCUVUxclF5eEZRVUZaUXl4SFFVTXpReXhKUVVGSlF5eEZRVUZWUXl4RlFVTmlReXhGUVVGblFpeEhRVU5vUWtNc1JVRkJaVW9zUlVGRFpDeFhRVU5ETEU5QlFVOUJMRVZCUVUxcVZ5eFBRVVZrTEZkQlEwTXNUMEZCVHpsTUxFVkJRVTgwYUVJc1NVRkJTM1puUWl4RlFVRk5kV1VzUlVGQlRTeExRVVZxUTNkRExFVkJRVlZFTEVsQlExWkZMRVZCUVU5UUxFZEJRV05CTEVWQlFWa3NTMEZCVXpsb1FpeEZRVUZQYzJsQ0xGVkJRVmN4UXl4SFFVRlRMRWRCUVVzc1RVRkhNVVV5UXl4RlFVRm5RbXhvUWl4RlFVRkxOME1zVjBGRGJFSjNRaXhGUVVGUGMybENMRlZCUVZjeFF5eEpRVUZ0UWl4UFFVRlVlVU1zU1VGQmEwSkVMRWxCUTJoRWFFSXNSMEZCVVdwWUxFdEJRVTF1U3l4RlFVRlBOR2hDTEVsQlFVdDJaMElzUlVGQlRYVmxMRWxCUld4RExFZEJRVXN5UXl4SFFVRnBRa0VzUlVGQlpTeExRVUZSUml4RlFVRlBMRU5CV1c1RUxFbEJVa0ZFTEVkQlFXOUNMRVZCUjNCQ1F5eEZRVUZQUVN4SFFVRlJSU3hGUVVGbExFZEJSemxDUVN4SFFVRnBRa2dzUjBGQlZ5eEZRVVZ3UWtZc1MwRkpVR3hwUWl4RlFVRlBNR2hDTEUxQlFVOXlaMElzUlVGQlRYVmxMRVZCUVUweVF5eEZRVUZuUWtZc1NVRkRia01zUlVGQlNVb3NTVUZCV1N4SFFVRk5RU3hGUVVGUlJTeEpRVUZwUWtNc1IwRkJWeXhOUVVGWExFbEJRek5GUml4RlFVRm5RaXhIUVVWcVFrc3NSMEZCWjBOT0xFVkJTV3BEVFN4SFFVRm5ReXhGUVVOb1EzWnBRaXhGUVVGUE1HaENMRTFCUVU5eVowSXNSVUZCVFhWbExFVkJRVTB5UXl4RlFVRm5Ra1lzUjBGSE1VTlFMRVZCUVdGQkxFZEJRV01zUjBGblFqVkNMRTlCWWt0QkxFbEJRMHBUTEVkQlFXbENRU3hKUVVGclFrZ3NSMEZCVnl4RlFVYzVRMG9zUlVGQlYwWXNSVUZCV1N4SFFVTjBRbE1zUjBGQmEwSlVMRVZCUVZrc1IwRkJUU3hIUVVGTlFTeEZRVUZaTEVsQlEzSkVRU3hGUVVGWkxFZEJRMVJETEVsQlEwcEJMRVZCUVUxTkxFdEJRVTlCTEVWQlEySk9MRVZCUVUwM1VTeE5RVUZSY1ZJc1JVRkRaRklzUlVGQlRTOW1MRWxCUVUxblowSXNTVUZIVUVFc1JVRkpVaXhKUVVGSlVTeEhRVUZ2UWl4SFFVVjRRaXhUUVVGVFF5eEhRVUZ0UW5Cb1FpeEhRVU16UWl4SlFVRkpkVlFzUlVGRFNIcFdMRVZCUVUxclF5eEZRVUZMTmtrc1kwRkRXR0lzUlVGQlYyaEpMRVZCUVV0blNTeFRRVU5vUW5OWkxFVkJRVlZoTEVkQlFXMUNibG9zUjBGRk9VSXNUMEZCUzNOWkxFbEJTVXd2VFN4RlFVRlBlbFlzUlVGQlNYVnFRaXhMUVVGTE9XbENMRmxCUVdGVUxFVkJRVWxKTEdOQlFXVTRTaXhKUVVOb1JITlpMRVZCUVZVemFFSXNSVUZCVHpSb1FpeEpRVUZMYUU0c1JVRkJUU3hYUVVVMVFrRXNSVUZCU3k5VkxGZEJRVmRETEZsQlFXRTRWU3hIUVVWYUxGTkJRVm9yVFN4SlFVTktRU3hGUVVGVkxGTkJSVmhoTEVkQlFXMUNibG9zUjBGQllYTlpMRVZCUlhwQ1FTeEhRVWRTTEZOQlFWTm5RaXhIUVVGVk4xUXNSVUZCVlRoVUxFZEJUelZDTEVsQlRrRXNTVUZCU1dwQ0xFVkJRVk4wWjBJc1JVRkRXbmRvUWl4RlFVRlRMRWRCUTFSMFN5eEZRVUZSTEVWQlExSnFXU3hGUVVGVGQwOHNSVUZCVTNoUExFOUJSMWhwV1N4RlFVRlJhbGtzUlVGQlVXbFpMRXRCUTNaQ2JGZ3NSVUZCVDNsT0xFVkJRVlY1U2l4SlFVTk9iVW9zVVVGSldFTXNSVUZCVlhSblFpeEZRVUZMY1dkQ0xFMUJRVTFETEZGQlEyaENhVUlzUjBGTFlTeFRRVUZhYWtJc1NVRkRTbXRDTEVWQlFWRjBTeXhIUVVGVmRVZ3NSVUZCVTI1bUxFbEJRVXRWTEVWQlFVMHNXVUZCWlN4TFFVTXZRM2RvUWl4RlFVRlJkRXNzUzBGRFlteFlMRVZCUVV0eFowSXNUVUZCVFVNc1VVRkJWU3hMUVVkTExFdEJRWFpDZEdkQ0xFVkJRVXR4WjBJc1RVRkJUVU1zVTBGQmEwSkdMRWRCUVc5Q2NHZENMRXRCUTNKRWQyaENMRVZCUVZGMFN5eEhRVUZWYTBzc1IwRkJiVUp3YUVJc1MwRkhja0lzVTBGQlduTm5RaXhKUVVOS2EwSXNSVUZCVVhSTExFZEJRVlVzVDBGSGJFSjFTQ3hGUVVGVFNpeEpRVUZMY21Vc1JVRkJUU3hWUVVGWGMyZENMRXRCVFd4RExFbEJRVTF3U2l4RlFVRlJMRVZCUVVkQkxFVkJRVkZxV1N4RlFVRlJhVmtzU1VGRFVpeE5RVUZ1UW5OTExFVkJRVkYwU3l4TFFVTmFla29zUlVGQlZYbEtMRWRCUVZGdFNpeE5RVUZOUXl4UlFVRlZhMElzUlVGQlVYUkxMRWxCU1RWRExFOUJRVTk2U2l4RlFVZFNPVThzUlVGQlQwY3NSMEZCUjJkRExFOUJRVkVzUTBGRGFrSjVaMElzUzBGQlRTeFhRVU5NTEU5QlFVOUVMRWRCUVZVeGJFSXNUVUZCVFN4SlFVVjRRalpzUWl4TFFVRk5MRmRCUTB3c1QwRkJUMGdzUjBGQlZURnNRaXhQUVVWc1FqaHNRaXhQUVVGUkxGTkJRVlV4U0N4SFFVTnFRaXhOUVVGelFpeHJRa0ZCVmtFc1JVRkRTa0VzUlVGQlVYQmxMRXRCUVVzeWJFSXNUMEZCVXpOc1FpeExRVUZMTm14Q0xFOUJSelZDTjJ4Q0xFdEJRVXRwUlN4TFFVRk5MRmRCUTFwMVowSXNSMEZCYjBKNGEwSXNUVUZEZUVJclF5eEZRVUZSTDBNc1RVRkJUekpzUWl4UFFVVm1OV2xDTEVWQlFWRXZReXhOUVVGUE5teENMRmxCUzI1Q0xFbEJWVVZGTEVkQlEwRndWaXhIUVZoRmNWWXNSMEZCYVVJc2QwSkJSV3BDUXl4SFFVRlhMR2xEUVVWWVF5eEhRVUZqTEhGRFFVMW9Ra2dzUjBGRVkyNXRRaXhGUVVGVGRXMUNMSGxDUVVOU2VHcENMRmxCUVdFdlF5eEZRVUZUTUVNc1kwRkJaU3hUUVVOd1JIRlBMRWRCUVZFdlVTeEZRVUZUTUVNc1kwRkJaU3hWUVUwelFrY3NZVUZCWXl4UFFVRlJMRk5CUXpWQ2EwOHNSMEZCVFd4UExHRkJRV01zVlVGQlZ5eFhRVU12UW10UExFZEJRVTFzVHl4aFFVRmpMRTlCUVZFc1MwRkZOVUp6YWtJc1IwRkJTWEJxUWl4WlFVRmhaMDhzU1VGSmFrSjJVQ3hGUVVGUloyeENMRmRCUVdGTUxFZEJRVWxOTEZkQlFWY3NSMEZCVDBFc1YwRkJWeXhIUVVGUGFsTXNWVUZCVlhOQ0xGRkJTWFpGY1ZFc1IwRkJTVzVXTEZWQlFWa3NlVUpCUTJoQ2VGQXNSVUZCVVd0c1FpeHBRa0ZCYlVKUUxFZEJRVWxOTEZkQlFWY3NSMEZCVDJwVExGVkJRVlYzUml4aFFVc3pSRzFOTEVkQlFVbHVWaXhWUVVGWkxHOUNRVU5vUW5oUUxFVkJRVkZ0YkVJc1UwRkJWMUlzUjBGQlNUTlNMRlZCUzNoQ0xFbEJRVWx2VXl4SFFVRlZMRU5CUzJKRExFMUJRVThzUTBGQlJTeEZRVUZITEZWQlFWY3NXVUZEZGtKRExFbEJRVXNzUTBGQlJTeEZRVUZITEc5Q1FVRnhRaXgxUWtGREwwSkRMRWRCUVVrc1EwRkJSU3hGUVVGSExHbENRVUZyUWl4dlFrRkRNMEpETEVkQlFVa3NRMEZCUlN4RlFVRkhMSEZDUVVGelFpeDVRa0ZGTDBKRExGTkJRVlVzUTBGQlJTeEZRVUZITEVkQlFVa3NTMEZaY0VJc1UwRkJVME1zUjBGQlVUZHFRaXhGUVVGVGQwNHNSMEZKZWtJc1NVRkJTVE5OTEVWQldVb3NUMEZVUTBFc1QwRkVORU1zU1VGQmFrTmlMRVZCUVZGdlN5eHhRa0ZEWW5CTExFVkJRVkZ2U3l4eFFrRkJjMEp2UkN4SFFVRlBMRlZCUlVrc1NVRkJOMEo0VGl4RlFVRlJORXNzYVVKQlEzQkNOVXNzUlVGQlVUUkxMR2xDUVVGclFqUkRMRWRCUVU4c1MwRkhha01zVVVGSFRUVkxMRWxCUVZJMFN5eEhRVUZ4UWtFc1IwRkJUM0pGTEVWQlFWVnVTaXhGUVVGVGQwNHNSMEZETlVNeFRpeEZRVUZQWjBJc1RVRkJUeXhEUVVGRlpDeEhRVUZYWVN4SFFVYzFRa0VzUlVGTFVpeFRRVUZUYVdwQ0xFZEJRV1ZzYWtJc1JVRkJUMjFxUWl4SFFVazVRaXhKUVVoQkxFbEJRVWszYTBJc1JVRkJTU3hGUVVOUWFWb3NSVUZCU1haWUxFVkJRVTFTTEU5QlJVaHNRaXhGUVVGSmFWb3NSVUZCUjJwYUxFbEJRMlF3WjBJc1JVRkJVMG9zU1VGRFVqVmxMRVZCUVU4eFFpeEhRVU5RTEdOQlEwTTJhMElzUjBGQlpXNUZMRVZCUVZOdVppeEpRVUZMYzJwQ0xFVkJRV0UzYTBJc1IwRkJTeXhsUVRGRGJrUnhhMElzUjBGQlVWTXNUVUZCVVZRc1IwRkJVVlVzVFVGQlVWWXNSMEZCVVZjc1UwRkJWMWdzUjBGQlVWa3NVVUZCVlZvc1IwRkJVVU1zVFVGRE4wVkVMRWRCUVZGaExFZEJRVXRpTEVkQlFWRkpMRWRCUjJaNGJFSXNSVUZCVVcxc1FpeFRRVU5pUXl4SFFVRlJZeXhUUVVGWFpDeEhRVUZSUkN4UFFVRlRMRU5CUVVVc1JVRkJSeXdyUWtGQlowTXNZMEV5UXpGRkxFbEJRVWw2WWl4SFFVRlJMRmxCUlZvc1UwRkJVM2xqTEVkQlFXVXhha0lzUlVGQlQxb3NSVUZCVTNWclFpeEZRVUZUUXl4RlFVRlhReXhIUVU4elJDeEpRVTVCTEVsQlFVbDBha0lzUlVGQlRYTk5MRVZCUVV0RUxFVkJRVXRyV0N4RlFVRk5ReXhGUVVGVk9XbENMRVZCUTI1REsybENMRVZCUVZjMWEwSXNSVUZCVVd0cVFpeDVRa0ZEYmtJeVFpeEZRVUZSTEVkQlExSXpiRUlzUlVGQlNTeEZRVU5LYVZvc1JVRkJTWFpZTEVWQlFVMVNMRTlCUlVoc1FpeEZRVUZKYVZvc1JVRkJSMnBhTEVsQlIyUXNTVUZHUVdsRExFVkJRVTlRTEVWQlFVOHhRaXhMUVVWUkxFbEJRVlJwUXl4RlFVZGFMRWRCUVhkQ0xGZEJRVzVDZEVJc1JVRkJVWE5DTEVkQlNWcHlRaXhGUVVGUFowSXNUVUZCVHl0cVFpeEZRVUZQTVdwQ0xFVkJRVXMzUXl4VFFVRlhMRU5CUVVVMlF5eEhRVUZUUVN4UlFVY3hReXhIUVVGTk1FY3NSMEZCVFRCRExFdEJRVTF3U2l4SFFVbHNRaXhEUVZWT0xFbEJWRUZ6VFN4RlFVRk5RU3hIUVVGUGJWZ3NSVUZCVTJ4c1FpeFpRVUZoVFN4RlFVRlJXQ3hqUVVGbExGRkJSekZFYlU4c1IwRkJVWGRXTEVkQlFWTXZXU3hMUVVGTk9Va3NTVUZCVlN4RFFVRkZMRWRCUVVrc1MwRkJVU3hIUVVGSmIwUXNZMEZEYmtSdFowSXNSVUZCVDI1Q0xFZEJRVk12Vml4SlFVRlRLMVlzUjBGQlVVc3NVMEZEYWtOdVZ5eEZRVUZKUlN4VlFVRlpLMWNzUlVGQlRTeEhRVUZOTld0Q0xFVkJRVTluYkVJc1kwRkJaVE5xUWl4SFFVRlRkV3BDTEVWQlFVMHNSMEZIYWtVM2FVSXNSVUZCU1RacFFpeEZRVUZOTEVkQlEwWTNhVUlzUzBGRFVEUk1MRVZCUVUxQkxFVkJRVWt3UkN4VlFVdFljbElzUlVGQlQyZENMRTFCUVU4cmFrSXNSVUZCVDNCWUxFVkJRVWx1UlN4aFFVZDZRbTFGTEVWQlFVMXRXQ3hGUVVGVGRsWXNXVUZIV0VRc1dVRkJZeXhSUVhwQ2JFSjVWaXhGUVVGTmJHNUNMRXRCUVUxeFF5eEZRVUZSSzJ0Q0xHVkJRV2RDTldwQ0xFbEJhME4yUXl4SlFVaEJlV3BDTEVWQlFWTjRWaXhaUVVGakxFZEJSWFpDYkZFc1JVRkJTU3hGUVVOTmFVTXNSVUZCVHpCcVFpeEZRVUZQTTJ4Q0xFMUJSM1pDTEVkQlFVdHpiRUlzUjBGQllURnJRaXhGUVVGUE5rUXNVVUZCVTNoRExFVkJRVTF4YWtJc1NVRkJaU3hGUVVOcVJFTXNSMEZEU2tFc1JVRkJVVGx0UWl4TFFVRk5kMFFzVVVGblFtaENMRWRCV0VGM2FrSXNSVUZCVjNaRUxFZEJRVmxxWjBJc1IwRkhka0p6VFN4RlFVRk5iMWNzUjBGQlVXVXNSVUZCVTJ4c1FpeFpRVUZoZVVJc1IwRkJVU3hWUVVkMlEzZHFRaXhIUVVOS1lpeEhRVUZsY2xjc1IwRkpXRGhYTEVWQlJVb3NTVUZFUVRGcFFpeEZRVUZKTEVWQlEwMVdMRVZCUVU5elRTeEZRVUZMTlV3c1RVRkRhRUp2YUVJc1IwRkJXVEZaTEV0QlFVMXdTaXhGUVVGTGVrTXNUVUZCVVN4TFFVTnVRelpzUWl4RlFVRlJOVzFDTEV0QlFVMTNSQ3hIUVUxc1FpeFBRVUZQZVdwQ0xFVkJTVklzU1VGQlNVa3NSMEZCYVVJc2MwSkJSWEpDTEZOQlFWTkRMRXRCUTFJc1QwRkJUeXhGUVVkU0xGTkJRVk5ETEV0QlExSXNUMEZCVHl4RlFWTlNMRk5CUVZORExFZEJRVmxvYTBJc1JVRkJUWHBETEVkQlF6RkNMRTlCUVZONVF5eEpRVTFXTEZkQlEwTXNTVUZEUXl4UFFVRlBlRVVzUlVGQlUzbFdMR05CUTJZc1RVRkJVV2RVTEV0QlZGRkRMRXRCUVhGRExGVkJRVlF6YlVJc1IwRlpMME1zVTBGQlV6UnRRaXhIUVVGSmJtdENMRVZCUVUxdmEwSXNSVUZCVDNoc1FpeEZRVUZWTUdZc1JVRkJUWGhtTEVWQlFVbDFiRUlzUjBGRE4wTXNTVUZCU1VNc1JVRkJVUzl0UWl4RlFVZGFMRWRCUVhOQ0xHbENRVUZXTm0xQ0xFVkJRWEZDTEVOQlUyaERMRWxCUVUwM2JVSXNTVUZPYlVJc2FVSkJRV0p4UWl4SlFVZFlNR1lzUlVGQlQwRXNSMEZCVVRGbUxFVkJRMlpCTEU5QlFWYzJReXhIUVVWRk1tbENMRVZCUTJKRUxFZEJRVWx1YTBJc1JVRkJUWHBETEVWQlFVMXhRaXhGUVVGVk1HWXNSVUZCVFRoR0xFVkJRVTgzYlVJc1IwRkJVVGh0UWl4SFFVVm9SQ3hQUVVGUGNtdENMRVZCYzBKU0xFZEJia0poTEUxQlFWSnpaU3hIUVVGelFpeE5RVUZPZUdZc1IwRkhjRUpCTEVWQlFVdEdMRVZCUTB3d1ppeEZRVUZQTVdZc1QwRkJWelpETEVkQlEwUXNUVUZCVGpORExFbEJRMk1zYVVKQlFXSkdMRWRCUjFoRkxFVkJRVXQzWml4RlFVTk1RU3hQUVVGUE4yTXNTVUZKVURORExFVkJRVXQzWml4RlFVTk1RU3hGUVVGUE1XWXNSVUZEVUVFc1QwRkJWelpETEV0QlIwUXNTVUZCVURORExFVkJRMHBCTEVWQlFVdHBiRUlzVVVGRFF5eEpRVUZOYW14Q0xFVkJRMW9zVDBGQlQydENMRVZCWlZJc1QwRmFZU3hKUVVGU2NXdENMRWxCUTBwRExFVkJRVk40YkVJc1IwRkRWRUVzUlVGQlN5eFRRVUZWZVd4Q0xFZEJTV1FzVDBGRVFUVnNRaXhKUVVGVE5teENMRWxCUVV0RUxFZEJRMUJFTEVWQlFVOHZia0lzVFVGQlQxZ3NTMEZCVFhGRkxHRkJTWHBDT0VNc1MwRkJUM1ZvUWl4RlFVRlBkbWhDTEU5QlFWVjFhRUlzUlVGQlQzWm9RaXhMUVVGUGNFVXNSVUZCVDI5RkxGTkJSVEZETDBNc1JVRkJTMGdzUzBGQlRTeFhRVU5xUW14Q0xFVkJRVTgwYkVJc1RVRkJUVzVPTEVsQlFVdDRZaXhMUVVGTmQyOUNMRVZCUVU5MGJFSXNSVUZCU1hkbUxFVkJRVTB4Wml4TFFTdGhNME1zVTBGQlV6WnNRaXhIUVVGblFuUmhMRVZCUVVrMVRTeEZRVUZOZVcxQ0xFZEJSelZDUVN4SFFWRk9ka1lzUlVGQlUwb3NTVUZCUzJ4VkxFVkJRVWsxVFN4SFFVRk5MRWRCUTNoQ2IwSXNSVUZCVHpSc1FpeE5RVUZOYms0c1NVRkJTMnBPTEVWQlFVazFUU3hGUVVGTkxFTkJRek5DTms0c1YwRkJWeXhGUVVOWVpDeFJRVUZUTEZOQlFWVnBZU3hIUVVOc1FpeEpRVUZKUnl4RlFVRlZlRllzUlVGRFlubFdMRVZCUVZGc1J5eEZRVUZUYm1Zc1NVRkJTekZFTEV0QlFVMHlRaXhIUVVVM1FpeEhRVUY1UWl4RlFVRnNRbWR1UWl4RlFVRk5TeXhYUVVGdFFtaHdRaXhMUVVGTk1rSXNTVUZMY2tNc1IwRkJUVzl1UWl4RlFVRk5NV3hDTEZGQmRVTkZUaXhGUVVGUE5HeENMRTFCUVUxMlNpeFJRVUZUZW1Rc1NVRkJWU3hKUVVGTGMyNUNMR05CUTJ4RVRpeEZRVUZOVHl4MVFrRnlRazRzUjBGa1FVZ3NSVUZCVVhwdlFpeEZRVUZOUnl4TFFVRk5ORVFzVjBGRGNFSjNaU3hGUVVGVFNpeEpRVUZMZW1sQ0xFdEJRVTB5UWl4RlFVRk5iMjVDTEVkQlN6RkNSQ3hGUVVGWFZpeEZRVUZaY0c5Q0xFdEJRVTB5UWl4SFFVTTNRak5DTEV0QlFVMHlRaXhMUVVWRWIyNUNMRXRCUkV4NlZpeEZRVUZUZFZBc1JVRkJVMjVtTEVsQlFVc3hSQ3hMUVVGTk1rSXNTMEZEU20xdVFpeEZRVU40UW1wSExFVkJRVk5LTEVsQlFVdDZhVUlzUzBGQlRUSkNMRWRCUVUwc1IwRkZNVUl5VWl4RlFVRlRMRWRCUlV4NVZpeEpRVUZWZWxZc1JVRlhaQ3hQUVZKQmNWWXNSVUZCVFZFc01rSkJRMDVTTEVWQlFVMVRMR2xDUVU5RE9WWXNSMEZCVlVFc1JVRkJUM0JOTEZkQlpXWTJhRUlzUlVGQlRURnNRaXhUUVVkcVFuZG1MRVZCUVZOS0xFbEJRVXQ2YVVJc1MwRkJUVEpDTEVWQlFVMHNRMEZEZWtKMVJpeE5RVUZQYmtVc1JVRkJUelJzUWl4TlFVRk5WU3hSUVVsdVFuUnRRaXhGUVVGUGJVTXNUMEZCVVRacVFpeEZRVUZQTEVkQlFVdG9iVUlzUlVGQlQzVnRRaXhOUVVGTmFHMUNMRmRCUTNoRGVXeENMRVZCUVUxNmIwSXNUVUZCVHl4SFFVTmlUaXhSUVV0R01tOUNMRVZCUVUxUkxIRkRRUzlGTUVKMGFrSXNTVUZCTjBKblpDeEZRVUZUYm1Zc1NVRkJTelpMTEVWQlFVazFUU3hKUVVOMFFtOUNMRVZCUVU4MGJFSXNUVUZCVFc1T0xFbEJRVXRxVGl4RlFVRkpOVTBzUlVGQlRYVnRRaXhKUVRWaEwwSnViRUlzUlVGQlR6UnNRaXhOUVVGUkxFTkJSV1J1Y0VJc1QwRkJVU3hIUVVWU1oyTXNTVUZCU3l4VFFVRlZjRmdzUlVGQlRXOXJRaXhGUVVGUE9Wb3NSVUZCVTJkVkxFVkJRVTB4Wml4SFFVVXhReXhKUVVGSmRXMUNMRVZCUVdGRExFVkJRV0U1V1N4RlFVTTNRaXRaTEVWQlFWRkRMRVZCUVVkRExFVkJRMWgyU3l4RlFVRlRkMHNzUlVGQlZXcHZRaXhGUVVGTmEyOUNMRVZCUVZsRExFVkJRM0pEUXl4RlFVRlhiRWdzUlVGQlUyNW1MRWxCUVV0VkxFZEJSekZDTEVkQlFVMHJaQ3hGUVVGWkwyUXNSMEYxUTJ4Q0xFbEJiRU5MYzBzc1JVRkJVVUVzVlVGRldrRXNSMEZFUVRaaExFVkJRV00zWVN4SFFVTlJRU3hSUVVOMFFqRk1MRVZCUVZkMWJVSXNSVUZCV1hadFFpeFZRVXR1UWtFc1IwRkRTa1FzUlVGQlQzZE9MRXRCUVV0TkxHZENRVUZwUW01Q0xFZEJRV2xDTVUwc1IwRkpla013VEN4RlFVRlJka2dzVDBGRFluVklMRVZCUVZGMlNDeExRVUZQY0VVc1JVRkJUMjlGTEZOQlNXWnphVUlzUlVGQlUwMHNSVUZCVTA0c1ZVRkRla0pCTEVWQlFWTk5MRVZCUVZOT0xFOUJRVk55Y0VJc1QwRkJUelJ3UWl4UFFVRlJMRkZCUlc1RFVpeEZRVUZqVHl4RlFVRlRSU3hWUVVNNVFsUXNSVUZCWTA4c1JVRkJVMFVzVDBGQlV5eFRRVUZWZW1Rc1IwRkpla01zV1VGQmVVSXNTVUZCV0hwS0xFZEJRVEJDUVN4RlFVRlBOR3hDTEUxQlFVMTFRaXhaUVVGak1XUXNSVUZCUlRkTExFdEJRM0JGYjBJc1JVRkJUelJzUWl4TlFVRk5kMElzVTBGQlUzaHdRaXhOUVVGUGVVUXNSVUZCVFVNc1owSkJRV04zUWl4SlFVMXdSRFpxUWl4SFFVUkJiRUlzUjBGQlZVRXNSMEZCVXl4SlFVRkxNMklzVFVGQlQzRlFMRWxCUVcxQ0xFTkJRVVVzUzBGRE1VTTNXU3hQUVVOR2NXMUNMRXRCUlZBdmJrSXNSVUZCVDIxdlFpeEhRVVJRY0Zvc1JVRkJUWFZZTEVkQlFXVXZZU3hMUVVGTmMySXNSVUZCVDJ0Q0xFdEJRVk1zU1VGRGNFSXNSMEZEZGtKSExFZEJRV1Z1V2l4RlFVRkxMRWxCUVU4c1NVRkJTM0JLTEUxQlFVOHNTMEZCVFhSRExFOUJSM1pEY2tRc1NVRkxUbmxrTEVWQlFWVnlZeXhGUVVGUE5HeENMRTFCUVUxMlNpeFJRVUZUZW1Rc1NVRkJWU3hIUVVjeFEwRXNSMEZCVTNGQ0xFVkJRVmR2WXl4RlFVRlJOa29zWVVGQlpUZEtMRVZCUVZGblRDeFhRVUZqZW05Q0xFVkJSMnBGZVdRc1JVRkJWWEpqTEVWQlFVODBiRUlzVFVGQlRYWktMRkZCUVZONlpDeEpRVUZWTEVkQlJ6RkRaMjlDTEVWQlFWazFiVUlzUlVGQlQyMURMRTlCUVZFc1EwRkRNVUoyUkN4TFFVRk5RU3hGUVVOT2JXOUNMRk5CUVZWQkxFVkJRMVp3U0N4TFFVRk5RU3hGUVVOT2FGVXNVVUZCVTBFc1JVRkRWSFpJTEV0QlFVMTFTQ3hGUVVGUmRrZ3NTMEZEWkc1RkxGTkJRVlZCTEVWQlExWTJTQ3hoUVVGak4wZ3NSMEZCV1VRc1JVRkJUelpQTEV0QlFVc3ZSU3hOUVVGTmFFTXNZVUZCWVRKRExFdEJRVTE0U3l4SFFVTXZSSGROTEZWQlFWZHhZU3hGUVVGWGFtTXNTMEZCVFN4TlFVTXhRakppTEVsQlIwdExMRVZCUVZkSUxFVkJRVkU1YmtJc1QwRkRNVUpwYjBJc1JVRkJWMGdzUlVGQlVUbHVRaXhIUVVGVExFbEJRMjVDTUc5Q0xHTkJRV2RDTEVWQlIyNUNha3dzUlVGQlVXdE1MRkZCUTJsRUxFbEJRVGxFYkV3c1JVRkJVV3RNTEUxQlFVMDNjRUlzUzBGQlRUSkVMRVZCUVUxelpTeEZRVUZOYlVnc1JVRkJXVXdzU1VGRmRrTndiRUlzUlVGQlN6Sk1MR3RDUVVOVU0wd3NSVUZCU3pKTUxHbENRVUZyUW5CUExFVkJRVTAyYmtJc1NVRkxNMEp3U3l4RlFVRlJOVVFzVFVGRFdqUkVMRVZCUVZFMVJDeEpRVUZKTDJFc1MwRkJUVEpFTEVWQlFVMTFiRUlzUjBGRmJFSkJMRVZCUVZWcVlpeFJRVUZSZGtnc1QwRkRka0ozYVVJc1JVRkJWV3BpTEZGQlFWRjJTQ3hMUVVGUGRVZ3NSVUZCVVhaSUxFOUJTemxDYmtVc1JVRkRTalJ0UWl4RlFVRlRNMnRDTEU5QlFWRXlhMElzUlVGQlUxTXNaMEpCUVdsQ0xFVkJRVWRXTEVkQlJUbERReXhGUVVGVGFIQkNMRXRCUVUwcmIwSXNSMEZKYUVJMWJVSXNSVUZCVHpSc1FpeE5RVUZOYm5CQ0xFOUJRVkZ0UXl4SlFVRlRMRWxCVFdoRGEyTXNUMEZCVVN4VFFVRlZlbG9zUlVGQlRXOXJRaXhGUVVGUE9Wb3NSVUZCVXpGTUxFVkJRVlYxYmtJc1IwRkZha1FzU1VGQlNYcHNRaXhGUVVGSE1HeENMRVZCUVZjNVdpeEZRVU5xUWl0WkxFVkJRVkZETEVWQlFVZERMRVZCUTFoMlN5eEZRVUZUZDBzc1JVRkJWV3B2UWl4RlFVRk5hMjlDTEVWQlFWbERMRVZCUTNKRFF5eEZRVUZYYkVnc1JVRkJVMFFzVVVGQlUzaGxMRWxCUVZWNVpTeEZRVUZUYm1Zc1NVRkJTMVVzUjBGRmRFUXNSMEZCVFRKc1FpeEpRVUZsVGl4RlFVRlRUU3hGUVVGVFRpeFJRVUYyUXl4RFFVOUJMRWxCUkVGRExFZEJSRUZzUWl4SFFVRlZRU3hIUVVGVExFbEJRVXN6WWl4TlFVRlBjVkFzU1VGQmJVSXNRMEZCUlN4TFFVTXhRemRaTEU5QlEwWnhiVUlzUzBGTlVDeEhRVXBCTDI1Q0xFVkJRVTl0YjBJc1IwRkVVSEJhTEVWQlFVMTFXQ3hIUVVGbEwyRXNTMEZCVFhOaUxFVkJRVTlyUWl4TFFVRlRMRWxCUTNCQ0xFZEJRM1pDUnl4SFFVRmxibG9zUlVGQlN5eEpRVUZQTEVsQlFVdHdTaXhOUVVGUExFdEJRVTEwUXl4UFFVZDJRM0pFTEVWQlFVNHNRMEZsUVN4SlFWSkJlV1FzUlVGQlZYSmpMRVZCUVU4MGJFSXNUVUZCVFhaS0xGRkJRVk42WkN4SlFVRlZMRWRCUlRGRGFXOUNMRVZCUVZkSUxFVkJSRmc1YmtJc1IwRkJVM0ZDTEVWQlFWZHZZeXhGUVVGUk5rb3NZVUZCWlRkS0xFVkJRVkZuVEN4WFFVRmplbTlDTEVsQlEzQkRMRWRCUXpkQ0swOHNSVUZCVFVFc1JVRkJTeXhKUVVOV0xFbEJRVWsxUnl4UFFVRlJMRlZCUVZrclppeEZRVUZYYW1Nc1MwRkJUU3hwUWtGQmIwSXNWMEZIT1VRMFl5eEZRVUZaTVd4Q0xFVkJRVWs0YTBJc1JVRkJVM1p0UWl4UFFVTnFRbmxDTEV0QlExQTJhMElzUlVGQldVTXNSVUZCVlRsclFpeEpRVVZtZVd4Q0xFZEJRV1ZVTEVsQlFXRklMRVZCUVZWSExGVkJRM3BEY0dJc1IwRkJWMEVzUlVGQlVYWklMRTlCUVZOM2FVSXNSVUZCVlhocFFpeE5RVU4wUTNWS0xFbEJRVTlCTEVWQlFVbHNSQ3hMUVVGTmJXTXNSVUZCVlc1aExGbEJRek5DZUUwc1IwRkJXVUVzU1VGQllUSnRRaXhGUVVGVk0yMUNMRmRCUTNoQ0xFOUJRV0pCTEVsQlFYRkNNbTFDTEVWQlFWVXpiVUlzV1VGRGFFTTBiVUlzUlVGQlV6TnJRaXhQUVVGUlNDeEZRVUZITEVkQlJXWTJhMElzUlVGQlZUTnRRaXhWUVVOa05HMUNMRVZCUVZOVExHZENRVVZNYWt3c1JVRkJVWFpDTEZGQlExcDFRaXhGUVVGUmRrSXNUMEZCVDNCa0xFdEJRVTB5UkN4RlFVRk5kV3hDTEVsQlQzcENZU3hKUVVGaldpeEZRVUZUZG0xQ0xGTkJRM0pDSzJJc1JVRkJVWEZNTEZkQlEydEVMRWxCUVM5RWNrd3NSVUZCVVhGTUxGTkJRVk5vY1VJc1MwRkJUVEpFTEVWQlFVMTViRUlzUlVGQldVVXNSVUZCVTBVc1UwRkZiRVJzYmtJc1JVRkJUekp1UWl4WlFVRmhkRzFDTEVWQlFVMTZReXhGUVVGTmIyOUNMRVZCUVZORkxHVkJSMjVEVWl4RlFVRlJPVzVDTEZOQk1VTm1MRWxCUVUxQkxFdEJRVkU0YmtJc1JVRkRZakZ0UWl4RlFVRlBOR3hDTEUxQlFVMDVTeXhQUVVGUmVsb3NSVUZCVFhwRExFVkJRVTgyYlVJc1JVRkJUMnRDTEVkQlFVdG9ZaXhGUVVGVE1Vd3NSMEZCVlN4SFFUaERMMFJFTEVWQlFVOTVSQ3hqUVVGbGFXcENMRWxCUXpGQ05VY3NSVUZCVTJoR0xFOUJRVkY2V2l4RlFVRk5MRzFDUVVsNlFpdHNRaXhUUVVGVkxGTkJRVlZSTEVkQlJXNUNMRWxCUVVsNGIwSXNSVUZCUnpKRExFVkJRVWRvUWl4RlFVRkxORkVzUlVGQlUybFdMRVZCUVZkcFFpeEZRVU5zUTNKWExFVkJRVThzU1VGQlNUVlBMRTFCUVU5MFFpeFZRVUZWYUVJc1VVRkhOVUp6YkVJc1JVRkJVVFZzUWl4RlFVRlBOR3hDTEUxQlFVMXJReXhKUVVGTFJpeEhRVVV4UW1Zc1IwRkRReTlITEVWQlFWTnVaaXhKUVVGTE1VUXNTMEZCVFN4WFFVRmpTU3hQUVVGUE5IQkNMRTlCUVZFc1QwRkRMME55UWl4RlFVRk5hRzVDTEU5QlFWVXNSMEZEYmtKNVpDeEZRVUZWY21Nc1JVRkJUelJzUWl4TlFVRk5ka29zVVVGQlUzVktMRVZCUVUxb2JrSXNUMEZCVlN4SFFVdHFSQ3hKUVVaQk5GTXNSVUZCVFN4SFFVRk5iMVVzUlVGRlRuaHRRaXhGUVVGSkxFVkJRVWRCTEVWQlFVbHJReXhWUVVGVmFFSXNUMEZCVVd4Q0xFbEJRMnhEYjFNc1JVRkJUWEJUTEVkQlFVMXJReXhWUVVGWGJFTXNSMEZOZUVJc1IwRklRWGR0UWl4RlFVRk5iVU1zWlVGQmFVSTVjVUlzVFVGSGJFSnZaaXhGUVVGUk1rd3NZMEZCTWtRc1NVRkJOVU16VEN4RlFVRlJNa3dzV1VGQldYUnhRaXhMUVVGTlZDeExRVUZOTW05Q0xFZEJRVFZFTEVOQlUwRXNTVUZLUVdsRExFVkJRV1UzYmtJc1JVRkJUelJzUWl4TlFVRk5hVUlzVTBGQlUyNXdRaXhMUVVGTlZDeExRVUZOTW05Q0xFVkJRVTlwUWl4SFFVZDRSSHB1UWl4RlFVRkpMRWRCUTAxMVV5eEZRVUZWYTFjc1JVRkJZM3B2UWl4UlFVRlpkMjFDTEVWQlFVMXhReXgzUWtGSmJrUXNTVUZJUVhKRExFVkJRVTF6UXl4alFVRm5RblpYTEVWQlFWRjBVU3hMUVVVNVFsVXNSVUZCU1N4SFFVTk5ObXRDTEVWQlFWbHFWaXhGUVVGUmExWXNVMEZCVlRsclFpeFJRVU4wUXpacVFpeEZRVUZOZFVNc2FVTkJTVVIyUXl4RlFVRk5kME1zWVVGQmMwTXNTVUZCZUVKNFFpeEZRVUZWYm1Fc1dVRkRia050V2l4RlFVRk5kME1zVjBGQlZ6TmtMRXRCUVUxdFl5eEZRVUZWYm1Fc1lVRkZha050V2l4RlFVRk5aMElzVlVGQldVRXNSVUZEYkVKb1FpeEZRVUZOYWtjc1MwRkJUMmxJTEVWQlFWVnFTQ3hWUVV0V04yTXNTMEZJWWk5Q0xFbEJRVlZtTEVWQlFVODBiRUlzVFVGQlRYWktMRkZCUVZOMVN5eEZRVUZWUnl4WFFVRmpMRWxCUVV0SExGRkJRelZFVGl4RlFVRlZhbUlzVTBGQlZTOU9MRTFCUVU4clZDeEZRVUZSZEZFc1MwRkJUVzFSTEUxQlIxUXNTMEZCZWtKdlZTeEZRVUZOY2xZc1QwRkJVM2hRTEV0QlEzSkNObXRDTEVWQlFVMVRMR2xDUVVOT1ZDeEZRVUZOVHl4dlFrRlpXQ3hQUVVwTE9Vb3NSVUZCVVdkTkxHTkJRMXBvVFN4RlFVRlJaMDBzWVVGQllUTnhRaXhMUVVGTlZDeExRVUZOTW05Q0xFZEJSek5DUVN4RlFVRk5jbFlzVTBGSFpITlhMRk5CUVZVc1UwRkJWV3BDTEVWQlFVOXBRaXhIUVVNeFFpeEpRVUZKZW01Q0xFVkJRVWQzYmtJc1JVRkJWek5ZTEVWQlFVdHhXaXhGUVVGcFFrTXNSVUZEZGtOV0xFVkJRV1VzUjBGRFpsQXNSVUZCWjBKVUxFVkJRVk5UTEdOQlEzcENlR0lzUlVGQlRUaGFMRVZCUVUxdWFrSXNUMEZIWWl4SFFVRkxObXRDTEVkQlNVcDRZaXhGUVVGSmRFNHNXVUZQWXl4VlFVRm1iMjVDTEVWQlFVMW9ia0lzVFVGQmIwSm5ia0lzUlVGQlRUVlRMRkZCUVZVc1IwRkZOME1zUzBGQlVXeElMRWxCUVZFM1R5eExRVUZOTms4c1JVRkJUVUVzUlVGQlNXcE5MRmxCUVdNMVF5eExRVWszUXl4SFFVRnpRaXhKUVVGcVFqWlBMRVZCUVVsMFRpeFhRVUZ2UXl4VlFVRm1iMjVDTEVWQlFVMW9ia0lzVDBGQmNVTXNTVUZCYWtKclRpeEZRVUZKTVVNc1ZVRkJjMElzUTBGSGFrWXNTVUZHUVd0bUxFVkJRV3RDTEVkQlEyeENReXhGUVVGdFFpeEhRVU5pYm5CQ0xFVkJRVWtzUlVGQlIwRXNSVUZCU1d0dlFpeEZRVUZsYkc5Q0xGTkJUVVV3UkN4SlFVRTFRbmxzUWl4RlFVWk1kRm9zUjBGSVFUSllMRVZCUVZsRExFVkJRVlY2YmtJc1NVRkhUbUVzVTBGQlZ5eFBRVWN4UW5OdlFpeEZRVUZyUW5SYUxFZEJRVkV5V0N4RlFVRlZPV1VzWVVGRGJrTTVTQ3hGUVVGUmFWQXNSVUZCUzJoVExFMUJRVTl6WWl4TlFVRlBlazBzU1VGQlV5eEZRVU53UXpsTUxFVkJRVTkzVGl4TFFVRk5lVUlzUlVGQlMyaFRMRXRCUVUwc1MwRkJUU3hEUVVGRk5rOHNTVUZCVVhoTUxGRkJSWEpEYVc5Q0xFVkJRV3RDZEZvc1NVRkRkRUp4V2l4RlFVRm5RbnB4UWl4TFFVRk5LMjlDTEVkQlIyNUNNRUlzUlVGQlowSm9iMElzVVVGRGNFSjFia0lzUlVGQllXaHhRaXhMUVVGTkxFTkJRVVYzUkN4TFFVRk5lVXNzUlVGQlN5dGhMRk5CUVZWNVFpeEpRVms1UXl4UFFVeEJlR01zUlVGQlRUZFBMRXRCUTBSeGNVSXNSVUZCWjBKVUxFVkJRVk4yYlVJc1VVRkROMEoxYmtJc1JVRkJZV2h4UWl4TFFVRk5MRU5CUVVWM1JDeExRVUZOZVVzc1JVRkJTeXRoTEZOQlFWVkJMRVZCUVZOMGNFSXNUVUZCVHl0d1FpeExRVWR3UkU4c1IwRkhVbGNzVVVGQlV5eFRRVUZWYm0xQ0xFVkJRVTF2YlVJc1IwRkRlRUp3Y2tJc1QwRkJUMjFwUWl4bFFVRm5RbmhtTEVWQlFVOTFiVUlzVFVGQlRXaHRRaXhWUVVGWE9FSXNSVUZCVFN4RFFVTndSSEZ0UWl4WlFVRlpMRVZCUTFwcVNpeGpRVUZqTEVWQlJXUTVaU3hKUVVGTGNrTXNSVUZCV1cxeFFpeEhRVU5vUWl4WFFVTkRMRWRCUVV0NGNrSXNTMEZCU3pCeVFpeGpRVU5VTEU5QlFVOUdMRVZCUVUxNGNrSXNTMEZCU3pCeVFpeG5Ra0ZIY0VJc1YwRkRReXhIUVVGTE1YSkNMRXRCUVVzd2NrSXNZMEZEVkN4UFFVRlBNWEpDTEV0QlFVc3dja0lzWTBGQlpYUnRRaXhKUVVrNVFuRmtMRWxCUVVzc1UwRkJWWFppTEVkQlEyUTVSeXhQUVVGUGJXbENMR1ZCUVdkQ2RtbENMRXRCUVUxdlJpeEZRVUZOTEVOQlEyeERjVzFDTEZsQlFWa3NSVUZEV21wS0xHTkJRV01zUlVGRFpHMUtMRlZCUVZVc1JVRkRWbnByUWl4TlFVRlBRU3hSUVUxWU1tcENMRWxCUVVzc1UwRkJWV0VzUjBGRFpDeFBRVUZQUVN4RlFVRmxNMjlDTEVWQlFVOHJReXhUUVVNMVFqUnNRaXhGUVVOQkxFbEJRVWt6YjBJc1JVRkJUM1Z0UWl4TlFVRlBiME1zU1VGSGNFSjBUU3hSUVVGVExFTkJRMUozVFN4TFFVRk5MRU5CUjB4RExGVkJRVlVzUjBGRldFTXNUVUZCVHl4RFFVZE9lRUlzVFVGQlR5eFRRVUZWTlVnc1IwRkphRUlzU1VGQlNXNVZMRVZCUVV0MlR5eE5RVUZSTUdsQ0xFVkJWMnBDTEU5QlVrdHpSQ3hIUVVGbGVGa3NTMEZCVFdVc1JVRkJSelZOTEU5QlF6VkNORTBzUlVGQlIzVmtMRTlCUVZNeFppeEZRVUZWYlVNc1JVRkJTU3hWUVVjeFFuTmhMRWRCUVdkQ2RHRXNSVUZCU1N4UlFVRlRNbG9zUzBGSmRrSXNSMEZGVW0xQ0xGRkJRVk1zVTBGQlZUTkhMRWRCU1d4Q0xFbEJRVWx1VlN4RlFVRkxkazhzVFVGQlVUQnBRaXhGUVZWcVFpeFBRVkJMYzBRc1IwRkJaWGhaTEV0QlFVMWxMRVZCUVVjMVRTeFBRVU0xUWpSTkxFVkJRVWQxWkN4UFFVRlRNV1lzUlVGQlZXMURMRVZCUVVrc1ZVRkZNVUp6WVN4SFFVRm5RblJoTEVWQlFVa3NWVUZKWkN4SFFVdFNjMWtzVTBGQlZTeFRRVUZWT0VJc1IwRkRia0lzU1VGQlNXNXFRaXhGUVVGVGJXcENMRVZCUVUxdWFrSXNUMEZEYmtJc1QwRkJUM2RuUWl4SFFVRmxlRmtzUzBGQlRXaEpMRVZCUVU4M1JDeFBRVU5zUXpaRUxFVkJRVTl6YlVJc1QwRkJVekZtTEVWQlFWVTFSeXhGUVVGUkxGVkJRMnhEY1dRc1JVRkJVMjVtTEVsQlFVczRRaXhGUVVGUkxGVkJRM1JDTkVjc1JVRkJWVFZITEVWQlFWRXNUMEZKY2tKMWJVSXNZVUZCWXl4RFFVTmlXQ3hoUVVGakxGTkJRVlY2UXl4UlFVbEVPV2xDTEVsQlFXcENPR2xDTEVWQlFVMXlWaXhSUVVGM1FuRldMRVZCUVUwclF5eG5Ra0ZEZUVNdlF5eEZRVUZOSzBNc1kwRkJZMDBzV1VGQlkzSkVMRVZCUVUxeVZpeFpRVzlITjBOMlVTeEZRVUZQTW01Q0xGbEJRV01zVTBGQlZYUnRRaXhGUVVGTmVrTXNSVUZCVFhOdlFpeEhRVWR5UXpkc1FpeEZRVUZMTkdNc2NVSkJRMVExWXl4RlFVRkxOR01zYjBKQlFYRkNjbVlzUlVGQlRYTnZRaXhKUVVsc1EyeHVRaXhGUVVGUGRXMUNMRTFCUVZFc1UwRkJWVEZ1UWl4RlFVRkxjWEZDTEVkQlJ6ZENMRXRCUVZGcWMwSXNaMEpCUVdkQ0swTXNSVUZCVDNWdFFpeFBRVU01UWl4UFFVRlBMRWxCUVVsMmJVSXNSVUZCVDNWdFFpeE5RVUZQTVc1Q0xFVkJRVXR4Y1VJc1IwRkpNVUp5Y1VJc1IwRkJUMEVzUlVGQlNVUXNUVUZEWmpOQ0xFdEJRVXN3Y2tJc1kwRkJaMEk1Y0VJc1JVRkRja0kxUWl4TFFVRkxNa0lzUzBGQlQwTXNSVUZCU1VRc1MwRkphRUl6UWl4TFFVRkxhM05DTEcxQ1FVRnhRblJ4UWl4RlFVRkpkWEZDTEhWQ1FVTklkRzFDTEVsQlFYcENha1VzUlVGQlNYVnhRaXh0UWtGSFowSXNTVUZCY0VKMmNVSXNSVUZCU1c5eFFpeFpRVU5NT1VRc1IwRkRRVU1zUjBGTFJHNXZRaXhMUVVGTGQwWXNUMEZCVnpWRUxFVkJRVWswUkN4UlFVRnJReXhKUVVGNFFqVkVMRVZCUVVrMFJDeFBRVUZQYWtVc1UwRkRlRU5MTEVWQlFVazBSQ3hQUVVGUE5VTXNWMEZEV0doQ0xFVkJRVWswUkN4UFFVVk1lRVlzUzBGQlMybHlRaXhqUVVGblFuSndRaXhGUVVGSmNYQkNMR05CUTNwQ2FuSkNMRXRCUVV0dmMwSXNZMEZCWjBKNGNVSXNSVUZCU1hkeFFpeGxRVWw2UW5CelFpeExRVUZMTWtJc1MwRkJUME1zUlVGSlVuRnhRaXhIUVVOS2JIQkNMRVZCUVU5dFF5eFBRVUZSYkVZc1MwRkJUV2x6UWl4SFFVbDBRbXB6UWl4TFFVRkxjWE5DTEZWQlFWbDZjVUlzUjBGQlQwRXNSVUZCU1hseFFpeFhRVUZoTldwQ0xFdEJRVXMyYWtJc1RVRkhPVU4wYzBJc1MwRkJUU3RETEVWQlFVOHJReXhWUVVGWkxFZEJTekZDTDBNc1JVRkJUM1Z0UWl4TlFVRk5hRzFDTEZWQlFWa3NRMEZEZUVKRkxGbEJRV0ZVTEVWQlFVOTFiVUlzVFVGRGNFSTBReXh0UWtGQmIwSXZSQ3hIUVVOd1FqWkRMSEZDUVVGelFqZERMRWRCUTNSQ0swTXNPRUpCUVN0Q0wwTXNSMEZETDBKdlJTeGhRVUZoTEVWQlJXSnVSQ3hsUVVGblFpeFhRVU5tTEVsQlFVazFZeXhGUVVGSmVFMHNTMEZCU3pCeVFpeGpRVVZpTVhKQ0xFdEJRVXRyYzBJc2JVSkJRWEZDYUVVc1IwRkZja0l4WWl4SlFVRk5lRTBzUzBGQlMzVnpRaXhoUVVObUwyWXNSVUZCUlRSakxHdENRVWRLUml4blFrRkJhVUlzVjBGRGFFSXNTVUZCU1RGakxFVkJRVWw0VFN4TFFVRkxNSEpDTEdOQlJXSXhja0lzUzBGQlMyZHlRaXh4UWtGQmRVSTVReXhIUVVWMlFqRmlMRWxCUVUxNFRTeExRVUZMZFhOQ0xHRkJRMll2Wml4RlFVRkZNR01zYlVKQlIwcERMSGxDUVVFd1FpeFhRVU42UWl4SlFVRkpNMk1zUlVGQlNYaE5MRXRCUVVzd2NrSXNZMEZGWWpGeVFpeExRVUZMYTNKQ0xEaENRVUZuUTJoRUxFZEJSV2hETVdJc1NVRkJUWGhOTEV0QlFVdDFjMElzWVVGRFppOW1MRVZCUVVVeVl5d3lRa0ZIU0c1d1FpeExRVUZMYTNCQ0xHOUNRVXRRYm0xQ0xFVkJRVTlyUWl4TFFVRk5MRU5CUTFwMWIwSXNVVUZCVVN4RlFVTlNReXhUUVVGVExFVkJRMVJETEZsQlFWa3NSVUZEV2tNc1owSkJRV2RDTEVWQlEyaENReXhUUVVGVExFVkJRMVJETEZGQlFWRXNSVUZEVWtNc1dVRkJXU3hGUVVOYVF5eFRRVUZUTEVWQlExUkRMRTlCUVU4c1JVRkRVRU1zVDBGQlR5eEZRVU5RUXl4VlFVRlZMRVZCUTFaRExFMUJRVTBzUlVGRFRrTXNUVUZCVVN4RlFVTlNjSEpDTEUxQlFVMHNSVUZEVG5GeVFpeFZRVUZWTEVWQlExWnVaaXhMUVVGTExFVkJRMHh2Wml4VFFVRlRMRVZCUTFSMldDeFJRVUZSTEVWQlExSjNXQ3hUUVVGVExFVkJRMVJETEZOQlFWTXNSVUZEVkVNc1UwRkJVeXhGUVVOVVF5eFRRVUZUTEVWQlExUkRMRk5CUVZNc1JVRkRWRU1zVjBGQlZ5eEZRVU5ZUXl4aFFVRmhMRVZCUTJKRExGTkJRVk1zUlVGRFZFTXNVMEZCVXl4RlFVTlVReXhsUVVGbExFVkJRMlpETEZkQlFWY3NSVUZEV0VNc1UwRkJVeXhGUVVOVVF5eFBRVUZQTEVkQlEweHdja0lzUlVGQlR6UnNRaXhOUVVGTk5FTXNVMEZGYUVKNGIwSXNSVUZCVDJ0Q0xFdEJRVTBzUTBGQlJXMVNMRTFCUVU4c1ZVRkJWMmRhTEV0QlFVMHNXVUZCWXl4VFFVRlZlbk5DTEVWQlFVMXpia0lzUjBGRGNFVnNiVUlzUlVGQlR6UnNRaXhOUVVGTmRrb3NVVUZCVTNwa0xFZEJRVk1zUTBGSE9VSXliMElzVFVGQlR5eFhRVkZPTEU5QlNFRjZRaXhIUVVGblFqZHZRaXhMUVVGTk1rSXNSVUZCVFhsdFFpeExRVWR5UWl4SFFVVlNhVUlzVVVGQlV5eFhRVTFTTEU5QlNFRlNMRWRCUVdkQ04yOUNMRXRCUVUweVFpeEpRVWRtTEVkQlMxSnJiRUlzVTBGQlZTeFhRVU5VTEU5QlFVOHNSMEZIVW05RExHRkJRV05CTEV0QldXaENiRzFDTEVWQlFVOXJRaXhMUVVGTkxFTkJRMXB2Y1VJc1YwRkJXU3haUVVOYVF5eFhRVUZaTEZkQlExcERMR0ZCUVdNc1kwRkRaRU1zWVVGQll5eGpRVU5hTEZOQlFWVkRMRVZCUVUwMVJDeEhRVU5zUWpsdVFpeEZRVUZQTkd4Q0xFMUJRVTEyU2l4UlFVRlRjVkFzUjBGQlV5eERRVU01UW5oR0xHRkJRV00wUWl4RlFVTmtWQ3hUUVVGVlV5eEZRVVZXV2l4UFFVRlJMRk5CUVZWMFFpeEhRVU5xUWl4SlFVRkpOMnRDTEVWQlJVZzBjVUlzUlVGQlZTOUdMRVZCUVUxNVJDeGpRVU5vUW5wRExFVkJRVmxvUWl4RlFVRk5aMElzVlVGVGJrSXNUMEZNVFN0RkxFbEJRV0ZCTEVsQlRsUXhkVUlzVFVGTlowTXJReXhGUVVGUGVVWXNVMEZPZGtONFNTeExRVTE1UkRCMVFpeE5RVU5zUlM5R0xFVkJRVTFvYmtJc1MwRkJUMmR2UWl4RlFVRlZSeXhUUVVOMlFtaHRRaXhGUVVGTk5teENMRVZCUVZWcVlpeFJRVUZSTDA0c1RVRkJUMWdzUzBGQlRYRkZMRmRCUTNKRGMydENMRVZCUVUxb2JrSXNTMEZCVDJ0d1FpeEhRVVZRTDIxQ0xFMUJTMVptTEVWQlFVOUhMRWRCUVVkblF5eFBRVUZSTEVOQlJXcENjV3BDTEVkQlFVa3NVMEZCVlVNc1JVRkJUM2hzUWl4RlFVRlZNR1lzUlVGQlRYaG1MRWRCUTNCRExFOUJRVTl4YkVJc1IwRkJTWFp2UWl4TFFVRk5kMjlDTEVWQlFVOTRiRUlzUlVGQlZUQm1MRVZCUVUxNFppeEpRVVY2UTNWc1FpeEpRVUZMTEZOQlFWVkVMRVZCUVU5NGJFSXNSVUZCVlRCbUxFVkJRVTE0Wml4SFFVTnlReXhQUVVGUGNXeENMRWRCUVVsMmIwSXNTMEZCVFhkdlFpeEZRVUZQZUd4Q0xFVkJRVlV3Wml4RlFVRk5lR1lzUlVGQlNTeEpRVVUzUXpCc1FpeEpRVUZMTEZOQlFWVktMRVZCUVU5NGJFSXNSVUZCVlVVc1IwRkRMMElzU1VGQlNYbHRRaXhGUVVGWGFHOUNMRVZCUTJZc1IwRkJTelp0UWl4SFFVRlRRU3hGUVVGTldTeG5Ra0ZCYTBKYUxFVkJRVTF0UWl4VlFWY3pReXhQUVZKQlFTeEZRVUZaYmtJc1JVRkJUVzFDTEZWQlEyeENOVzFDTEVWQlFWRjViRUlzUlVGQlRYTkRMR2RDUVVGcFFteERMRWxCUXpsQ1pTeEZRVUZWYm1Fc1ZVRkRWRzFoTEVWQlFWVkhMRk5CUVZjc1NVRkJUVWdzUlVGQlZXNWhMRlZCUTNKRGJXRXNSVUZCVlVjc1UwRkRXRWdzUlVGQlZUTnRRaXhUUVVOV01tMUNMRVZCUVZWcVlpeFRRVVZLTVU4c1MwRkZVaXhIUVVGelFpeHBRa0ZCVm5kdlFpeEZRVUZ4UWl4RFFVZG9ReXhKUVVGTk4yMUNMRXRCUVZFMmJVSXNSVUZEWW5odlFpeExRVUZMTkc5Q0xFbEJRVXRxYmtJc1JVRkJUWEZDTEVWQlFWVjNiRUlzUlVGQlR6ZHRRaXhKUVVWc1F5eFBRVUZQTTBJc1MwRlhVaXhQUVZSclFpeEpRVUZpWjBRc1IwRkJNRU1zYlVKQlFXSkJMRWxCUjJwRFJTeEZRVUZMUml4RlFVTk1RU3hQUVVGWE5rTXNTVUZGUVN4SlFVRlFNME1zU1VGRFNrRXNSVUZCUzJsc1FpeEpRVVZEYm05Q0xFdEJRVXRwUlN4TFFVRk5MRmRCUTJwQ2JFSXNSVUZCVHpSc1FpeE5RVUZOT1Vzc1QwRkJVVGRrTEV0QlFVMTNiMElzUlVGQlQzUnNRaXhGUVVGSlJpeFJRVTE2UXl4SlFVdERNbkpDTEVkQlFXVXNkMEpCUjJaRExFZEJRVmNzYjBOQlExaERMRWRCUVdVc01rTkJSMmhDTEZOQlFWTkRMRWRCUVc5Q01YRkNMRVZCUVUwMFdDeEhRVU5zUXl4UFFVRkxOVkFzUlVGQlZXaEpMRVZCUVUwc1ZVRkRjRUpuU1N4RlFVRXJRaXhMUVVGeVFqUlFMRVZCUVZGNllTeFRRVUZyUW5saExFVkJRVlZCTEVWQlFWRXhTaXhYUVVGWkxFOUJSVE5FZGxBc1JVRkJVWEZDTEVkQlFVOHlWeXhUUVVGVkxGTkJRVmNzU1VGSGNrTXpWeXhGUVVsU0xGTkJRVk15Y1VJc1IwRkJaVE54UWl4SFFVVjJRaXhQUVVSQlFTeEZRVUZMZWtNc1RVRkJlVU1zVDBGQmFFTjVReXhGUVVGTE5VSXNZVUZCWXl4VFFVRnpRaXhKUVVGTk5FSXNSVUZCUzNwRExFdEJRek5FZVVNc1JVRkZVaXhUUVVGVE5IRkNMRWRCUVdVMWNVSXNSMEZQZGtJc1RVRk9Na01zVjBGQmNFTkJMRVZCUVV0NlF5eE5RVUZSTEVsQlFVdHlRaXhOUVVGUExFVkJRVWNzUjBGRGJFTTRSQ3hGUVVGTGVrTXNTMEZCVDNsRExFVkJRVXQ2UXl4TFFVRkxja0lzVFVGQlR5eEhRVVUzUWpoRUxFVkJRVXN5U2l4blFrRkJhVUlzVVVGSGFFSXpTaXhGUVVkU0xGTkJRVk0yY1VJc1IwRkJaMEp5ZEVJc1JVRkJTM04wUWl4SFFVTTNRaXhKUVVGSkwzTkNMRVZCUVVkcFdpeEZRVUZIZWxvc1JVRkJaMEozZEVJc1JVRkJWVU1zUlVGQlZUTkdMRVZCUlRsRExFZEJRWFZDTEVsQlFXeENlVVlzUlVGQlN6TjBRaXhUUVVGV0xFTkJTMEVzUjBGQlMzTm9RaXhGUVVGVFJDeFJRVUZUYUdoQ0xFdEJSWFJDTm01Q0xFVkJSRmMxUnl4RlFVRlRibVlzU1VGQlN6bENMRWRCUTFBMmJrSXNVVUZMYWtJc1NVRkJUVGx1UWl4TFFVWk9hMmhDTEVWQlFWTm9SaXhQUVVGUmNWSXNSVUZCVFN4cFFrRkZWSHBHTEVWQlEySXNTVUZCVFhSdVFpeEZRVUZKTEVWQlFVZHBXaXhGUVVGSmNVOHNSVUZCVVRsdVFpeEhRVUZQTUVJc1QwRkJVV3hDTEVWQlFVbHBXaXhGUVVGSGFsb3NTVUZET1VOWkxFVkJRVTgwYkVJc1RVRkJUVzVPTEVsQlFVc3dWQ3hGUVVGTmRuUkNMRVZCUVUwNGJrSXNSVUZCVVRsdVFpeEhRVUZSVVN4SlFVODNRekpuUWl4RlFVRlRSaXhSUVVGVGFHaENMRXRCUTNSQ2RYUkNMRVZCUVZkeVRTeEZRVUZUZWtJc1QwRkJVWHBtTEVkQlF6VkNkM1JDTEVWQlFWZHljMElzUlVGQlQyMURMRTlCUVZFc1IwRkJTV2x4UWl4SFFVVTVRbkpOTEVWQlFWTk1MRWxCUVV0NVRTeEZRVUZOUlN4TFFXdENkRUlzVTBGQlUwTXNSMEZCVlVNc1JVRkJXUzloTEVWQlFVMXlVU3hGUVVGVmQycENMRWRCUnpsRGJsUXNSVUZCVDJoVkxFVkJRVTFuVlN4SFFVVmlMRWxCUVVselZDeEZRVUZWZG1wQ0xFVkJRVTlyYWtJc1JVRkJVeXRJTEVWQlFWbDBkRUlzUlVGQlRVTXNSVUZETDBORExFVkJRVWtzUlVGRFNtbGFMRVZCUVVsclZTeEZRVUZYYW5OQ0xFOUJRMlp0YzBJc1JVRkJWM0JWTEVWQlFVa3NSVUZEWm14VkxFVkJRVkZ4VGl4RlFVRk5MRWRCUTJScllpeEZRVUZyUW5CMVFpeEZRVUZaTmtZc1IwRkhMMElzUjBGQlMzVnZRaXhIUVVORWNsVXNSVUZCU1N4SFFVRnpRaXhwUWtGQlZteFZMRWxCUTJoQ09VWXNSVUZCVVdkc1FpeFpRVUZqZDBrc1IwRkJVM0JvUWl4TFFVRk5kRWNzUjBGRGVFTXNUMEZCVDI5dlFpeEZRVUZYY25KQ0xFdEJRVTBzVTBGQlZYRllMRWRCUTJwRExFbEJRVWxpTEVWQlFVODJWU3hGUVVGWEwzRkNMRWRCUVVrclZ5eEhRVU55UW0xVkxFbEJRMHBzWWl4RlFVRk5MRWRCUVUxeVRpeEZRVUZOZWtjc1MwRkJUVlFzUzBGQlRYTmlMRVZCUVU5aUxFVkJRVXRwVml4VFFVVXpRMHdzUjBGQlZUVlZMRVZCUVUxc1J5eEZRVUZOY2xFc1JVRkJWWGRxUWl4TFFVbHNReXhIUVVGTGRFMHNTVUZGU2psWExFZEJSRUYxYWtJc1JVRkJWMDRzUjBGQlpXaFVMRVZCUVUwcllTeEZRVUZaTEVkQlFVbHlhVUlzWlVGQlpTeEZRVUZQY1dsQ0xFVkJRVmsxU0N4SlFVTnFSWEJXTEZkQlJXMUNMRWxCUVM5Q2RWWXNSVUZCVTNSaUxGZEJRVmRzU2l4VFFVTjRRbmRyUWl4RlFVRlhkbXBDTEVkQlNWQkJMRWRCUVZOdmFrSXNSMEZCVlN4RFFVOTJRaXhKUVV4Qk5rZ3NSMEZFUVM5SUxFVkJRVlY2YTBJc1JVRkJUMjlDTEVsQlFVc3lhVUlzUjBGQlVXVXNSVUZCVlN4VlFVRlphMGdzUzBGREwwSXhja0lzVDBGTFlteENMRVZCUVVscFdpeEZRVUZIYWxvc1NVRkRaRVlzUlVGQlR6UnNRaXhGUVVWR01XeENMRWxCUVUxeGRFSXNTVUZEVm5aMFFpeEZRVUZQWXl4RlFVRlBkME1zVFVGQlQzUkVMRWRCUVUwc1IwRkJUU3hIUVVjMVFuTjBRaXhIUVVsS2VITkNMRVZCUVU5blFpeE5RVUZQZVdwQ0xFVkJRVk5XTEVkQlFWRTNhMElzUlVGQlRTeFpRVWwyUTJsRExFVkJRVk42UkN4TFFVRk5OblZDTEVWQlFWbHVkRUlzUjBGQlMwWXNSVUZCVFVVc1IwRkhka01zUjBGQlMyOTBRaXhGUVU5S0xFbEJUa0Z5ZEVJc1JVRkJUWE5zUWl4RlFVRlRRU3hGUVVGUmJtdENMRTlCUVZNc1IwRkJTVFJLTEdOQlIzQkRiRXNzUlVGQlQyOUNMRWxCUVV0eGFrSXNSVUZCVTNkSUxFbEJSMlkzYzBJc1JVRkJTU3hGUVVGSFFTeEZRVUZKYjNSQ0xFVkJRVmx3ZEVJc1NVRkROVUpHTEVWQlFVOTFiRUlzUlVGQlUzSnNRaXhIUVVOWUsycENMRWRCUVZreFdTeExRVUZOZGt3c1JVRkJTMDRzVFVGQlVTeE5RVU5zUTJ0b1FpeEZRVUZUZUVJc1QwRkJVWEJtTEVWQlFVMHNaVUZEZUVKakxFVkJRVTk1Uml4VFFVRlZkRWNzUlVGQlMwUXNTMEZGYWtKQkxFVkJRVXRNTEV0QlFUaERMRmxCUVhKRFN5eEZRVUZMVGl4TlFVRlJMRWxCUVVzMlJpeGpRVWN2UW5wRkxFVkJRVTgwYzBJc1YwRkJZVEYwUWl4RlFVRkxTQ3hWUVVNM1FtbENMRVZCUVU4MGMwSXNVMEZCVlRGMFFpeEZRVUZMVEN4SlFVRkxMRU5CUXpGQ1F5eE5RVUZQU1N4RlFVRkxTaXhQUVVGVFNTeEZRVUZMVHl4aFFVRmpMRlZCUTNSRFRpeEhRVWRLU0N4RlFVRlRSU3hGUVVGTGIxRXNXVUZCV1hCTkxGRkJRVk0wYjBJc1IwRkJZeXhKUVVGTk5YTkNMRVZCUVUxRExFbEJVVzVGTEU5QlFVOXZkRUlzUlVGSFVpeFRRVUZUZWxJc1IwRkJVWHBhTEVWQlFVMXdRaXhGUVVGVk5ITkNMRWRCUzJoRExFbEJTa0VzU1VGQlNUTjBRaXhGUVVOSU5teENMRVZCUVZFNWEwSXNSVUZCVjBRc1JVRkJUM05PTEU5QlFWRnlUaXhGUVVGVmIwSXNSMEZCVTBFc1JVRkRja1JxUXl4RlFVRkpMRVZCUlRSQ0xFOUJRWFpDUml4RlFVRlBObXhDTEVWQlFVOHpiRUlzU1VGQlpVRXNTVUZEYUVONWRFSXNSMEZCT0VJc1NVRkJiRUl6ZEVJc1JVRkJTMVlzVlVGRGRFSjNRaXhGUVVGUE9ITkNMRlZCUVZjdlNTeEhRVUZSTjJ0Q0xFbEJSM1JDUVN4RlFVRkxWeXhoUVVOS1ozUkNMRWRCUVZsMlRDeEhRVUZaY0dsQ0xFbEJRelZDT0d0Q0xFZEJRV1ZFTEVkQlFWRTNhMElzUlVGQlRTeFhRVVU1UWtFc1JVRkJTMWNzVjBGQlYwTXNXVUZCWVZvc1NVRkpMMElzVDBGQlQyMURMRVZCUjFKeVFpeEZRVUZQYlVNc1QwRkJVU3hEUVVOa05tbENMR05CUVdVc1UwRkJWVEpJTEVkQlEzaENMRTlCUVU5QkxFZEJSMUp1Y1VJc1RVRkJUeXhUUVVGVmJrSXNSVUZCVFRCeVFpeEZRVUZsUXl4SFFVTnlReXhKUVVGSk5YUkNMRVZCUVVkcFdpeEZRVUZITkZVc1JVRkJZVU1zUlVGd1NVNXlkVUlzUlVGQlMzTjBRaXhGUVVOdVFqbHBRaXhGUVc5SlJqZEhMRVZCUVZGdVFpeEZRVUZMYVdsQ0xGZEJRVmNzUjBGRGVFSTJTaXhGUVVGVE4wd3NSMEZCV1dwblFpeEhRVWQwUWl4TFFVRk5hRVFzUlVGQlVXdHNRaXhuUWtGQmMwTXNTVUZCYkVKc2FVSXNSVUZCU3pkRExGVkJRVzlETEV0QlFXeENOa01zUlVGQlN6ZERMRlZCUXpORWQwSXNSVUZCVHl0WExGTkJRVlV4Vml4SlFVMXVRaXhKUVVoQk5uSkNMRVZCUVdWdVNpeEhRVUZSZG1oQ0xFZEJSMnBDY0VRc1JVRkJTU3hGUVVGSGFWb3NSMEZHWWpSVkxFVkJRV05zU2l4SFFVRlJNV2xDTEVsQlJVOW1MRTlCUVZGc1FpeEZRVUZKYVZvc1JVRkJSMnBhTEVsQmFFbzFRbEFzUlVGcFNreHZkVUlzUlVGQllUZDBRaXhIUVdwS1NDdHpRaXhGUVdsS1VXVXNSVUZCWXpsMFFpeEhRV2hLZWtOcFN5eFBRVUZCUVN4RlFVZGpMRmRCU0dSQkxFVkJRVmM0YVVJc1JVRkJTemxwUWl4VFFVRlROVVVzWjBKQlIwRjNaU3hIUVVGbGVGa3NTMEZCVFRWTUxFVkJRVWxFTEUxQlEzSkVkWFJDTEVWQlFVdDRXaXhSUVVGVk9WUXNSVUZCU1RoVUxGRkJSMHNzVlVGQlluUktMRWRCUVhGRExHRkJRV0pCTEVsQlEyNURPR2xDTEVWQlFVdDBWaXhoUVVGbGFGa3NSVUZCU1dkWkxHTkJOa2w0UWl4SFFVRkxhMWNzUlVGRFNpeEhRVUZMUXl4RlFVbEtMRWxCU0VGRExFVkJRV05CTEVkQlFXVnNTaXhIUVVGUk1XbENMRWRCUTNKRE5uSkNMRVZCUVdWQkxFZEJRV2RDYmtvc1IwRkJVWFpvUWl4SFFVVnFRM0JFTEVWQlFVa3NSVUZCUjJsYUxFVkJRVWswVlN4RlFVRlpNM05DTEU5QlFWRnNRaXhGUVVGSmFWb3NSVUZCUjJwYUxFbEJRek5ET0hOQ0xFZEJRV2RDWlN4RlFVRmhOM1JDTEVkQlFVczRkRUlzUlVGQll6bDBRaXhUUVVkcVJEaHpRaXhIUVVGblFqZHhRaXhGUVVGTmJVSXNSMEZYZUVJc1QwRk9RVEJ4UWl4RlFVRmxia29zUjBGQlVYWm9RaXhGUVVGUExGZEJRMXBzUXl4UFFVRlRMRWRCUXpGQ01HcENMRWRCUVdWclNpeEhRVUZsUXl4SFFVRlZjRW9zUjBGQlVURnBRaXhGUVVGTkxGZEJTV2hFYlVJc1IwRkhVbk54UWl4VlFVRlhMRk5CUVZWb2MwSXNSMEZMY0VJc1NVRktRU3hKUVVGSk5tVXNSVUZCVFhSbExFVkJRVTE2UXl4RlFVTm1lV1FzUlVGQlZYSmpMRVZCUVU4MGJFSXNUVUZCVFhaS0xGRkJRM1pDYW1Rc1JVRkJTU3hQUVVVMlFqQkVMRXRCUVhoQ2VrSXNSVUZCVDFBc1JVRkJUekZDTEVsQlFYRkNRU3hKUVVNMVF5eEhRVUZMWjJkQ0xFVkJRVmt2WkN4SFFVRlRMRU5CUTNwQ0xFZEJRVTl6WlN4RlFVRlBkR1VzUlVGQlRYbGxMRVZCUVZNdll5eFRRVUZqTEVOQlF6RkRMRWRCUVVzMFl5eEZRVUZMSzBjc1QwRkRWQ3hKUVVGTk9XNUNMRXRCUVZFclowSXNSVUZCU3l0SExFOUJRMkp5U3l4RlFVRlRlbVFzUjBGRFltOUNMRVZCUVU4MGJFSXNUVUZCVFRsTExFOUJRVkY2V2l4RlFVRk5la01zUjBGSk0wSnZRaXhGUVVGUE1tNUNMRmxCUVdGMGJVSXNSVUZCVFhwRExFVkJRVTByWjBJc1JVRkJTM1ZJTEZGQlQzaEROMnhDTEVWQlFVMTVaU3hGUVVGVEwyTXNZMEZCV1VRc1JVRkZka0o2UWl4RlFVRk5NR1VzUlVGQlUyaGtMRmRCU1c1Q01VSXNSVUZCVFRCbExFVkJRVk5vWkN4alFVRlpSQ3hQUVU5b1F6bERMRVZCUVU5SExFZEJRVWRuUXl4UFFVRlJMRU5CUTJwQ2FYSkNMRTlCUVZFc1UwRkJWVzUwUWl4SFFVTnFRaXhQUVVGUE5tRXNSMEZCVVRka0xFdEJRVTFuUkN4SFFVRlZMRWxCUjJoRE5tRXNUMEZCVVN4VFFVRlZOMkVzUjBGRGFrSXNUMEZCVHpaaExFZEJRVkUzWkN4TFFVRk5aMFFzU1VGSGRFSlVMRXRCUVUwc1UwRkJWVEpGTEVkQlEyWXNUMEZCVDIxaExFVkJRVkZ5YUVJc1MwRkJUU3hUUVVGVmEwZ3NSMEZET1VJc1dVRkJhVUp5UWl4SlFVRldjVUlzUlVGRFRtNUZMRVZCUVU5U0xFdEJRVTEyUXl4TlFVTmlRU3hMUVVGTE5sWXNVVUZCVVRWU0xFdEJRVTBzVjBGRFN5eEpRVUZzUW1wRkxFdEJRVXQxUWl4VlFVRnZReXhMUVVGc1FuWkNMRXRCUVV0MVFpeFZRVUZ4UXl4SlFVRnNRblpDTEV0QlFVdDFRaXhYUVVONFJIWkNMRXRCUVV0eFV5eFpRVUZqYmt3c1RVRkhjRUlzUzBGQlRVRXNSVUZCVHpkRExGVkJRVlZvUWl4VFFVY3pRaXR6UWl4UFFVRlJMRmRCUTFBc1QwRkJUMllzUjBGQlZYSjJRaXhMUVVGTmNVVXNWVUZCVnl4VFFVRlZSQ3hIUVVOd1FpeEpRVUZzUW5CRkxFdEJRVXQxUWl4VlFVRnZReXhMUVVGc1FuWkNMRXRCUVV0MVFpeFZRVUZ4UXl4SlFVRnNRblpDTEV0QlFVdDFRaXhWUVVNelEzVjBRaXhIUVVGdlFqbDFRaXhMUVVGTmIwVXNSMEZEYUVONlFpeFpRVUZoZVVJc1RVRkxka0pwYzBJc1VVRkJVeXhYUVVOU0xFOUJRVTlvUWl4SFFVRlZjblpDTEV0QlFVMXhSU3hWUVVGWExGTkJRVlZFTEVkQlF6TkRMRWRCUVhWQ0xFbEJRV3hDY0VVc1MwRkJTM1ZDTEZWQlFXOURMRXRCUVd4Q2RrSXNTMEZCUzNWQ0xGVkJRWEZETEVsQlFXeENka0lzUzBGQlMzVkNMRk5CUVdsQ0xFTkJRM3BGTEVsQlFVbHBSU3hGUVVGVGMzQkNMRWRCUVc5Q09YVkNMRXRCUVUxdlJTeEhRVU4yUTI5Q0xFVkJRVTg0Y1VJc1lVRkJZMnh6UWl4RlFVRk5iMElzUlVGQlR6aE5MR2RDUVV0eVEybGxMRTlCUVZFc1YwRkRVQ3hQUVVGUGJFSXNSMEZCVlhKMlFpeExRVUZOY1VVc1ZVRkJWeXhUUVVGVlJDeEhRVU4wUTNCRkxFdEJRVXMwUXl4WlFVTlVOVU1zUzBGQlN6UkRMRmRCUVZjd2RFSXNZVUZCWTJ4elFpeEZRVUZOY0VVc1UwRkxka04zZDBJc1RVRkJUeXhYUVVOT0xFOUJRVTl1UWl4SFFVRlZjblpDTEV0QlFVMXhSU3hWUVVGWExGTkJRVlZFTEVkQlEzUkRjRVVzUzBGQlN6UkRMRmxCUTFRMVF5eExRVUZMTkVNc1YwRkJWekIwUWl4aFFVRmpiSE5DTEVWQlFVMXdSU3hMUVVGTFoxQXNaMEpCU3pWRE5rY3NUVUZCVHl4WFFVbE9MRWxCU0VFc1NVRkJTWHBTTEVWQlEwaHFReXhGUVVGSkxFVkJSVEpDTEU5QlFYUkNhVU1zUlVGQlQzQkZMRXRCUVUxdFF5eEpRVUZsUVN4SlFVTmtMRWxCUVd4Q2FVTXNSVUZCU3pkRExGZEJSMVIzUWl4RlFVRlBPSE5DTEZWQlFWY3ZTU3hIUVVGUk1XbENMRWRCUVUwc1NVRkhhRU5CTEVWQlFVdHBUeXhaUVVGakxFbEJTWEpDTEU5QlFVOXlVeXhOUVVkU2RVWXNUVUZCVHl4VFFVRlZkWEZDTEVWQlFXVkRMRWRCU1M5Q0xFOUJTRUZFTEVWQlFXbERMRTFCUVdwQ1FTeEhRVUZuUTBFc1JVRkRhRVJETEVWQlFYbERMRTFCUVhKQ1FTeEZRVUUwUWtRc1JVRkJaMEpETEVWQlJYcEVMM1pDTEV0QlFVdHRSU3hKUVVGTExGZEJRMmhDTEU5QlFVOXdRaXhGUVVGUGQwTXNUVUZCVDNaR0xFdEJRVTA0ZGtJc1JVRkJaVU1zVFVGSk5VTk1MRXRCUVUwc1UwRkJWWGh2UWl4SFFVTm1MRTlCUVU5dFlTeEZRVUZSY21oQ0xFdEJRVTBzVTBGQlZXdElMRWRCUXpsQ0xFbEJRVWs1UXl4RlFVRlBjRVVzUzBGQlRTeEpRVUZQTEVkQlEzWkNiVU1zUlVGQlNTeEZRVU5LYVZvc1JVRkJTWEJpTEV0QlFVdHhSQ3hQUVVWV0xGRkJRV1YzUXl4SlFVRldjVUlzUjBGQmVVTXNTVUZCYkVJNVF5eEZRVUZMTjBNc1UwRkRhRU1zVDBGQlR6WkRMRVZCUVV0M1RTeFZRVWxpTEVkQlFYTkNMR2xDUVVGV01Vb3NTVUZCZFVKNWJrSXNSMEZCWVc1b1FpeExRVUZOZEVjc1MwRkRjRVJ6Wml4SlFVRlhVQ3hIUVVGVEwxa3NTMEZCVFdoSExFbEJRVmNzUTBGQlJTeEhRVUZKTEV0QlFWRXNSMEZCU1Uwc1pVRkJhMElzUTBGRk1VVk9MRVZCUVZGdVJTeEZRVUZQWjJ4Q0xHTkJRV1UzWjBJc1IwRkZPVUlzU1VGRFF5eExRVUZSTDBVc1JVRkJTV2xhTEVWQlFVZHFXaXhKUVVsVExFdEJTSFpDYVVNc1JVRkJUM0JGTEV0QlFVMXRReXhKUVVGUExFbEJSMVphTEZkQlExUjNRaXhGUVVGUE9ITkNMRlZCUVZjdlNTeEhRVUZSTVdsQ0xFZEJRVTBzU1VGRGFFTkJMRVZCUVV0M1RTeFZRVUZaTVVvc1IwRkpia0k1UXl4RlFVRlBMRVZCUjA0c1RVRkJVVzlKTEV0QlIwNXdTU3hIUVVOS2NFVXNTMEZCU3paV0xGRkJRVkYxWVN4UFFVRlJiSEJDTEVsQlJYQkNMRXRCUVUxQkxFVkJRVTgzUXl4VlFVRlZhRUlzVTBGSE0wSnZkRUlzV1VGQllTeFhRVU5hTEVsQlFVa3ZTU3hGUVVGVkxFZEJSMlFzVDBGQlR6SklMRWRCUVZWeWRrSXNTMEZCVFhGRkxGVkJRVmNzVTBGQlZVUXNSMEZETTBNc1NVRkJTVGhRTEVWQlFWTnNWU3hMUVVGTE5FTXNWMEZGWWtjc1JVRkJUelpFTEZGQlFWTTFSeXhMUVVGTk1HNUNMRWRCUVZrc1NVRkRkRU16YTBJc1JVRkJUemh6UWl4VlFVRlhMMGtzUjBGQlVUbHRRaXhQUVVOeVFtdFZMRWRCUTBwQkxFVkJRVTkzWXl4aFFVRmpkSE5DTEVWQlFVMXdSU3hSUVVzelFqQnVRaXhOUVVsTU0ydENMRVZCUVU5clFpeExRVUZOTEVOQlExb3djMElzVTBGQlZTeFRRVU5XUXl4VlFVRlhMRlZCUTFoT0xHRkJRV01zVTBGRFpFOHNXVUZCWVN4UlFVTmlReXhYUVVGWkxHVkJRMVlzVTBGQlZURnlRaXhGUVVGTk1uSkNMRWRCUTJ4Q2FIVkNMRVZCUVU5SExFZEJRVWxyUXl4SFFVRlRMRk5CUVZWd1F5eEhRVTgzUWl4SlFVNUJMRWxCUVVsaExFVkJRMGhETEVWQlFVMHNSMEZEVG10MFFpeEZRVUZUYW5WQ0xFVkJRVkZETEVkQlEycENkMElzUlVGQlQzZHpRaXhGUVVGUE0zUkNMRTlCUVZNc1JVRkRka0pzUWl4RlFVRkpMRVZCUlVkQkxFZEJRVXR4UXl4RlFVRk5ja01zU1VGRGJFSXdRaXhGUVVGUk1VSXNTVUZCVFhGRExFVkJRVTk0UlN4TFFVRlBRU3hMUVVGTGRVWXNUMEZCVHl4SFFVTjRRM2hETEVWQlFWRnBkVUlzUlVGQlVUZDFRaXhKUVVGUE5IVkNMRWRCUVZsc2RFSXNSMEZKYmtOcVJDeEZRVUZMUkN4TlFVRlBiVVFzUlVGQlMwUXNSVUZCVFVnc1QwRkhlRUlzVDBGQlR6RkVMRXRCUVVzMFJDeFZRVUZYUlN4TlFVZDZRaXhKUVVGSmJYUkNMRWRCUVZrc1NVRkJTVzV1UWl4UFFVRlJMRXRCUVU5dFlTeEZRVUZQTEd0Q1FVRnRRaXhMUVVWNlJHbE9MRWRCUVZrc1UwRkJWVGx6UWl4SFFVdDRRaXhKUVVGSksyOUNMRVZCUVU4dmIwSXNSVUZCU3paSkxHTkJRV00wUXl4WlFVMDVRaXhQUVVwTmMyUXNSMEZCVTBFc1JVRkJTMmRGTEZOQlEyNUNhRVVzUlVGQlQzQjBRaXhIUVVkRWIzUkNMRVZCUVV0cFJTeHBRa0ZCYTBKb2RFSXNTVUZITlVKcGRFSXNSMEZCVHl4VFFVRlZhblJDTEVWQlFVMWxMRVZCUVZOcVFpeEhRVU51UXl4SlFVRkpTaXhGUVVGTGMwSXNSVUZEVW10elFpeEZRVUZOTEVkQlIxQXNTVUZCVFd4elFpeExRVUZSUkN4RlFVTmliWE5DTEVWQlFVdHNjMElzUjBGQlUyaENMRVZCUVV0eFowSXNUVUZCVDNKbUxFZEJRekZDYUVJc1JVRkJTM0ZuUWl4TlFVRlBjbVlzUjBGQlUwUXNSVUZCVTBNc1IwRk5MMElzU1VGQlRVRXNTMEZJVG5SQ0xFVkJRVTFKTEVWQlFWTjZSQ3hMUVVGTk1rUXNSMEZIVUdVc1JVRkRZbVlzUlVGQlMzRm5RaXhOUVVGUGNtWXNSMEZCVTJ0elFpeEZRVUZMYkhOQ0xFZEJSek5DTEU5QlFVOTBRaXhIUVVsS2VYUkNMRWRCUVZrc1NVRkJTWHB1UWl4UFFVRlJjMkVzUjBGQlZYaFhMRXRCUVUwc1MwRkJUeXhMUVdsS2JrUXNVMEZCVXpScVFpeEhRVUZSY0hSQ0xFVkJRVTFuUWl4RlFVRk5jWE5DTEVkQlF6VkNMRWxCUVVsRExFVkJRVTlETEVWQlFWVkRMRVZCUVZVNWRFSXNSVUZOT1VJeVowSXNSVUZCVVhKblFpeEZRVUZMY1dkQ0xFMUJjVU5rTEU5QmJrTkJaMDRzUlVGQlYwRXNSMEZCV1ZBc1IwRkJWemx6UWl4TlFWRndRaXhOUVVaaVRpeEZRVUZOTW5SQ0xFVkJRVk5KTEdsQ1FVRnJRbnB6UWl4SlFVRlZjWE5DTEVWQlFWVnljMElzUzBGRmFrTnBaaXhIUVVGWmFtZENMRXRCUXk5Q1RpeEZRVUZOWml4RlFVRlBNR2hDTEUxQlFVOXlaMElzUlVGQlRXZENMRXRCVVhKQ2FFVXNSVUZCVVRCM1FpeHJRa0ZCYjBKaUxFZEJRVlY2YWtJc1MwRkJUVEZLTEVsQlFWTjVkRUlzUjBGQlZTOXFRaXhMUVVGTmNFa3NTMEZITVVWemMwSXNSVUZCVVdwT0xFVkJRVTFwVGl4TlFVTmtReXhGUVVGWGJFNHNSVUZCVFd0T0xGTkJRMnBDUXl4RlFVRlhiazRzUlVGQlRXMU9MRk5CUjJwQ2JrNHNSVUZCVFd0T0xGTkJRVmRzVGl4RlFVRk5iVTRzVTBGQlYyNU9MRVZCUVUxcFRpeE5RVUZSTlhSQ0xFVkJRMmhFUVN4RlFVRk5NblJDTEVWQlFWTkRMRTFCUjJacVRpeEZRVUZOYVU0c1RVRkJVVUVzUlVGRFpHcE9MRVZCUVUxclRpeFRRVUZYUVN4RlFVTnFRbXhPTEVWQlFVMXRUaXhUUVVGWFFTeFRRVWxLTDNKQ0xFbEJRVkl2UWl4RlFVbE9RU3hGUVVGTkxFZEJRMDVCTEVWQlNVWXNVMEZCVTJsMVFpeEhRVUZqUXl4RlFVRmhReXhIUVVkdVF5eE5RVUZQTEVOQlEwNTJkVUlzU1VGQlN5eFhRVU5LTEVsQlFVdHpkVUlzU1VGVFRDeFBRVUZUYUhsQ0xFdEJRVXN3UkN4SlFVRk5kWFZDTEVkQlFWTjBlRUlzVFVGQlQxZ3NTMEZCVFhGRkxHdENRVXhzUTNKRkxFdEJRVXN3UkN4UFFUTk5hRUlzVjBGSlF5eFRRVUZUZDNWQ0xFbEJSMUlzUjBGQlRXNU5MRVZCUVU0c1EwRkpRVzlOTEVWQlFWVXhUaXhOUVVGTk1rNHNVVUZCVlN3clJVRkZNVUp5VFN4RlFVRkpkRUlzVFVGQlRUSk9MRkZCUTFRc05FaEJSMFF4YVVJc1IwRkJaMEl2VFN4WlFVRmhkM1pDTEVkQlFWbDRka0lzV1VGQllXOXFRaXhIUVVWMFJDeEpRVUZKYzAwc1JVRkJWM1I1UWl4RlFVRlBjWGhDTEdsQ1FVRnJRbkpNTEVkQlEzaERkVTBzUlVGQmIwTXNUMEZCYWtKRUxFVkJRVk4yYVVJc1NVRkhOVUo1YVVJc1JVRkJjMFVzUzBGQk9VTkRMRVZCUVc5Q1NDeEZRVUZUU1N4WlFVbHlSREZOTEVWQlFVbDBRaXhOUVVGTmFVOHNUVUZCVVN4TlFVTnNRa01zUlVGQk5rUXNTMEZCZWtOSUxFVkJRVzlDU0N4RlFVRlRTeXhQUVVscVJFVXNSVUZCWjBVc1MwRkJla05LTEVWQlFXOUNTQ3hGUVVGVFdDeFBRVTF3UkROTUxFVkJRVWwwUWl4TlFVRk5iMDhzVTBGQlZ5eFhRVU55UWtNc1JVRkJhVVVzUzBGQk9VTk9MRVZCUVc5Q2VrMHNSVUZCU1dkT0xGbEJRV01zUjBGRmVrUnlha0lzUjBGQlowSTNUU3haUVVGaGMzWkNMRWRCU1RkQ2NFMHNSVUZCVFN4TlFVZFFMRk5CUVZONVRTeEZRVUZ2UWxFc1IwRkROVUlzVDBGQlQycDBRaXhMUVVGTGEzUkNMRTFCUVU5RExGZEJRVmxHTEVsQlIyaERMRWxCUVVsV0xFVkJRV3RDVFN4RlFVRnpRa1VzUlVGQmEwSklMRVZCUXpkRVVTeEZRVUY1UWxvc1JVRkRla0pLTEVWQlFWbDJlVUlzUlVGQlV6QkRMR05CUVdVc1QwRkRjRU41YWtJc1JVRkJUVzV0UWl4RlFVRlRNRU1zWTBGQlpTeFBRVWQ2UW5scVFpeEZRVUZKZEVJc1VVRk5Wbk5DTEVWQlFVbDBRaXhOUVVGTk1rOHNaVUZCYVVJc1kwRkRNMEp5VGl4RlFVRkpUU3hYUVVGWExFZEJRVTgxUWl4TlFVRk5NazhzWlVGQmFVSXNSMEZETjBOb2VVSXNSVUZCVVdsNVFpeG5Ra0ZCSzBNc1owSkJRVGRDZEU0c1JVRkJTWFJDTEUxQlFVMHlUeXhsUVVWd1EzSjNRaXhGUVVGUGJVTXNUMEZCVVRsRUxFVkJRVk1zUTBGRGRrSnJlVUlzYTBKQlFXMUNMRmRCUld4Q0xFOUJSRUZ3UWl4SlFVTlBWU3hIUVVWU1pDeGxRVUZuUWl4WFFVVm1MRTlCUkVGSkxFbEJRMDlUTEVkQlJWSlpMR05CUVdVc1YwRkZaQ3hQUVVSQmNrSXNTVUZEVDBrc1IwRkZVbXRDTEcxQ1FVRnZRaXhYUVVWdVFpeFBRVVJCZEVJc1NVRkRUMHNzUjBGRlVtdENMR05CUVdVc1YwRkZaQ3hQUVVSQmRrSXNTVUZEVDFrc1IwRlpVbGtzY1VKQlFYTkNMRmRCUTNKQ0xFbEJRVWxETEVWQlFVOW9UaXhGUVVGSmFVNHNSVUZCVTBNc1JVRnRRM2hDTEU5QmJFTm5ReXhOUVVFelFsWXNTVUZEU2xFc1JVRkJVUzk2UWl4RlFVRlRNRU1zWTBGQlpTeFRRVU5vUTNGclFpeEZRVUZMTDIxQ0xFVkJRVk13UXl4alFVRmxMRTFCUXpkQ2MzaENMRVZCUVZWb01FSXNSVUZCVXpCRExHTkJRV1VzVDBGRmJFTnhlRUlzUlVGQlRXeFFMRTFCUVUweVRpeFJRVUZWTERKRVFVTjBRbnBNTEVWQlFVZHNReXhOUVVGTk1rNHNVVUZCVlN4dFFrRkxia0o2VEN4RlFVRkhiRU1zVFVGQlRYRlFMRTlCUVZNc1RVRkRiRUpHTEVWQlFWRnVVQ3hOUVVGTmNWQXNUMEZCVXl4TlFWRjJRa1lzUlVGQlVXNVFMRTFCUVUxRExGRkJRVlVzVVVGRmVFSm9WaXhIUVVORkwwMHNXVUZCWVdkNFFpeEhRVU5pYUhoQ0xGbEJRV0ZuYTBJc1IwRkRZbWhyUWl4WlFVRmhhWGhDTEVkQlJXWkRMRVZCUVZVNWVrSXNSVUZCVDNGNFFpeHBRa0ZCYTBKNlN5eEhRVU51UTNkTkxFVkJRVFJDV1N4VFFVRlZSaXhGUVVGUlF5eFBRVUZSTEVsQlEzSkVReXhUUVVGVlJpeEZRVUZSUnl4bFFVRm5RaXhKUVVOc1EwUXNVMEZCVlVZc1JVRkJVVWtzYTBKQlFXMUNMRTFCUVZkMFRpeEZRVUZIZFU0c1lVRkZjRVI0YTBJc1IwRkJaMEkzVFN4WlFVRmhPSGRDTEVsQlJYWkNVaXhOUVhaSlZpeEhRWE5PUVN4SlFVRkpaMElzUjBGQll5eERRVUZGTEZOQlFWVXNUVUZCVHl4TlFVTndRME1zUjBGQllYZ3dRaXhGUVVGVE1FTXNZMEZCWlN4UFFVRlJiV2xDTEUxQlF6ZERORkFzUjBGQll5eEhRV3RDWml4VFFVRlRReXhIUVVGbGJIWkNMRWRCUTNaQ0xFbEJRVWx0ZGtJc1JVRkJVWGg0UWl4RlFVRlBlWGhDTEZOQlFWVndka0lzU1VGQlZXbDJRaXhIUVVGaGFuWkNMRWRCUlhCRUxFOUJRVXR0ZGtJc1NVRkhRVzUyUWl4TFFVRlJaM1pDTEVkQlEweG9ka0lzUlVGRlJHbDJRaXhIUVVGaGFuWkNMRWRCZUVKeVFpeFRRVUY1UWtFc1IwRk5lRUlzU1VGSVFTeEpRVUZKY1haQ0xFVkJRVlZ5ZGtJc1JVRkJUU3hIUVVGSk5HTXNZMEZCWjBJMVl5eEZRVUZMT1VVc1RVRkJUeXhIUVVOdVJEWkNMRVZCUVVsbmVVSXNSMEZCV1RsM1FpeFBRVVZVYkVJc1MwRkZVQ3hKUVVSQmFVUXNSVUZCVHl0MVFpeEhRVUZoYUhsQ0xFZEJRVTF6ZVVJc1MwRkRZa3dzUjBGRFdpeFBRVUZQYUhaQ0xFVkJaVzlDYzNaQ0xFTkJRV2RDZEhaQ0xFbEJRVlZCTEVkQlNYaEVMRWxCUzBOMWRrSXNSMEZCWlN3MFFrRkRaa01zUjBGQll5eE5RVU5rUXl4SFFVRlZMRU5CUVVWb1F5eFRRVUZWTEZkQlFWbHBReXhYUVVGWkxGTkJRVlZ3VVN4UlFVRlRMRk5CUTJwRmNWRXNSMEZCY1VJc1EwRkRjRUpETEdOQlFXVXNTVUZEWmtNc1YwRkJXU3hQUVVka0xGTkJRVk5ETEVkQlFXMUNkbmRDTEVWQlFVOTFReXhGUVVGUGFYVkNMRWRCU1hwRExFbEJRVWx3ZFVJc1JVRkJWVzlrTEVkQlFWRnFXQ3hMUVVGTmFFY3NSMEZETlVJc1QwRkJUMGdzUlVGSFRtaENMRXRCUVV0eGRrSXNTVUZCU3l4RlFVRkhjblZDTEVWQlFWTXNTVUZCVVc5MVFpeEhRVUZaTEV0QlFWVndkVUlzUlVGQlV5eEpRVUZQTEUxQlEzQkZSeXhGUVVkR0xGTkJRVk50ZFVJc1IwRkJiMEpxZUVJc1JVRkJUV3Q0UWl4RlFVRlhReXhGUVVGTFF5eEZRVUZoUXl4RlFVRlJReXhIUVVOMlJTeEpRVUZKZG5wQ0xFVkJRV3RDTEZWQlFXUnRla0lzUlVGQmQwSXNSVUZCU1N4RlFVTnVRMHNzUlVGQlVTeEZRVU5TUXl4RlFVRlJMRVZCUjFRc1IwRkJTMHdzUzBGQlZVTXNSVUZCWXl4VFFVRlhMRmRCUTNaRExFOUJRVThzUlVGSFVpeExRVUZSY25wQ0xFVkJRVWtzUlVGQlIwRXNSMEZCU3l4RlFVZE9MRmRCUVZKdmVrSXNTVUZEU2tzc1IwRkJVemQ1UWl4RlFVRlBOR2hDTEVsQlFVdDJaMElzUlVGQlRXMTRRaXhGUVVGTmJsSXNSMEZCVjJwcFFpeEpRVUZMTEVWQlFVMXpla0lzU1VGSmJFUkVMRWRCYlVKUkxGbEJRVkpFTEVsQlEwcExMRWRCUVZNM2VVSXNSVUZCVHpSb1FpeEpRVUZMZG1kQ0xFVkJRVTBzVlVGQldXZG5RaXhIUVVGWGFtbENMRWxCUVVzc1JVRkJUWE42UWl4SlFVbHFSQ3hYUVVGU1JpeEpRVU5LU3l4SFFVRlROM2xDTEVWQlFVODBhRUlzU1VGQlMzWm5RaXhGUVVGTkxGTkJRVmRuWjBJc1IwRkJWMnBwUWl4SFFVRk5MRk5CUVZNc1JVRkJUWE42UWl4TlFYUkNka1ZITEVkQlFWTTNlVUlzUlVGQlR6Um9RaXhKUVVGTGRtZENMRVZCUVUwc1ZVRkJXV2RuUWl4SFFVRlhhbWxDTEVsQlFVc3NSVUZCVFhONlFpeEhRVWRvUkN4WlFVRlNSaXhGUVVOS1N5eEhRVUZUTjNsQ0xFVkJRVTgwYUVJc1NVRkJTM1puUWl4RlFVRk5MRk5CUVZkblowSXNSMEZCVjJwcFFpeEhRVUZOTEZOQlFWTXNSVUZCVFhONlFpeEhRVWwwUlVVc1IwRkJVelY1UWl4RlFVRlBOR2hDTEVsQlFVdDJaMElzUlVGQlRTeFRRVUZYWjJkQ0xFZEJRVmRxYVVJc1IwRkJUU3hUUVVGVExFVkJRVTF6ZWtJc1NVRnZRM3BGTEU5QmFFSk5SQ3hIUVVGbFJTeEhRVUZsTEVsQlNXNURSU3hIUVVGVE4zWkNMRXRCUVV0eGRrSXNTVUZCU3l4RlFVRkhjblpDTEV0QlFVczRka0lzUzBGRE1VSjZlRUlzUlVGQlRTeFRRVUZYYTNoQ0xFVkJRVmNzUjBGQlNYUlVMR05CUVdkQ2MxUXNSVUZCVldneFFpeE5RVUZQTEVsQlEycEZiekZDTEVWQlEwRkZMRVZCUTBGRUxFVkJRMEVzVFVGSlRTeEhRVWRFUXl4RlFVZFNMRk5CUVZORkxFZEJRV3RDTVhoQ0xFVkJRVTFyZUVJc1JVRkJWMHNzUjBGSE0wTXNTVUZCU1VZc1JVRkJVM1pGTEVkQlFWYzVjMElzUjBGTGRrSnZlRUlzU1VGRWJVSndNRUlzUlVGQlVXdDVRaXh4UWtGQmRVSnhReXhKUVVWRkxHVkJRVzVFTlhsQ0xFVkJRVTgwYUVJc1NVRkJTM1puUWl4RlFVRk5MR0ZCUVdFc1JVRkJUM0Y0UWl4SFFVTjJRMDBzUlVGQmJVSlFMRVZCUlc1Q2NIcENMRVZCUVUxdmRrSXNSMEZCVVhCMFFpeEZRVUZOYTNoQ0xFVkJRVmRITEVkQlF5OUNUeXhGUVVGaExGTkJRVmRXTEVWQlFWY3NSMEZCU1hSVUxHTkJRV2RDYzFRc1JVRkJWV2d4UWl4TlFVRlBMRWRCU1hwRkxFZEJRVXN5ZDBJc1IwRkJWWHBxUWl4TFFVRk5jRXdzUjBGQlVTeERRVU0xUWl4SlFVRk5kWHBDTEVWQlEwd3NUMEZCVDNaNlFpeEZRVVZTUVN4RlFVRk5MRTlCZVVOUUxGRkJiRU5SYUVJc1JVRkJVV3Q1UWl4eFFrRkJkVUpyUXl4SlFVMXlRM0F3UWl4RlFVRlJjM2xDTEhkQ1FVRXdRblJ1UWl4RlFVRlZhRWtzUlVGQlRTeFBRVWt6UXl4VFFVRlNhRU1zU1VGSlF6aDNRaXhYUVVGWk9YZENMRWxCUVRCRUxGZEJRV3BFVnl4RlFVRlBOR2hDTEVsQlFVdDJaMElzUlVGQlRTeFhRVUZYTEVWQlFVOXhlRUlzUzBGSE1VUnllRUlzUlVGQlN6WjRRaXhwUWtGQmFVSTFlVUlzVTBGRmRFSnRlVUlzUlVGQmFVVXNaVUZCYmtSNmVVSXNSVUZCVHpSb1FpeEpRVUZMZG1kQ0xFVkJRVTBzWVVGQllTeEZRVUZQY1hoQ0xFbEJTM0JFVFN4RlFVRnRRa01zUzBGQll6VjRRaXhMUVVWb1EyaERMRVZCUVUxblF5eEZRVUZOTkhoQ0xFMUJTMlExZWtJc1JVRkJUVGgzUWl4WFFVRlpPWGRDTEVsQlFWTXNSMEZKTVVKcGVrSXNSMEZEUTJwNFFpeEZRVU5CYTNoQ0xFVkJRMEZMTEVsQlFWZElMRVZCUVdNc1UwRkJWeXhYUVVOd1EwOHNSVUZEUVU0c1JVRkhRWEo2UWl4SFFVVkZMRXRCSzFOTUxGTkJRVk00ZWtJc1IwRkJUemw0UWl4RlFVRk5aU3hGUVVGVGQyUXNSVUZCVFRWa0xFVkJRVXR2ZUVJc1IwRkRla01zVDBGQlR5eEpRVUZKUkN4SFFVRk5OWGxDTEZWQlFWVklMRXRCUVUxcFFpeEZRVUZOWlN4RlFVRlRkMlFzUlVGQlRUVmtMRVZCUVV0dmVFSXNSMEUzVXpWRWNIcENMRVZCUVU5dFF5eFBRVUZSTEVOQlNXUnJlRUlzVTBGQlZTeERRVU5VUXl4UlFVRlRMRU5CUTFJemVVSXNTVUZCU3l4VFFVRlZWU3hGUVVGTmNYUkNMRWRCUTNCQ0xFZEJRVXRCTEVWQlFWY3NRMEZIWml4SlFVRkpNM1JDTEVWQlFVMHdkRUlzUjBGQlVYQjBRaXhGUVVGTkxGZEJRM2hDTEUxQlFXVXNTMEZCVWs0c1JVRkJZU3hKUVVGTlFTeE5RVTg1UW5Wb1FpeFZRVUZYTEVOQlExWnBVaXg1UWtGQk1rSXNSVUZETTBKRExHRkJRV1VzUlVGRFprTXNZVUZCWlN4RlFVTm1ReXhWUVVGWkxFVkJRMXBETEZsQlFXTXNSVUZEWkhwQ0xGbEJRV01zUlVGRFpEQkNMRlZCUVZrc1JVRkRXa01zV1VGQll5eEZRVU5rUXl4bFFVRnBRaXhGUVVOcVFrTXNhVUpCUVcxQ0xFVkJRMjVDUXl4VFFVRlhMRVZCUTFoRExGbEJRV01zUlVGRFpFTXNZMEZCWjBJc1JVRkRhRUpETEZsQlFXTXNSVUZEWkdJc1UwRkJWeXhGUVVOWVl5eFBRVUZUTEVWQlExUkRMRk5CUVZjc1JVRkRXRU1zVVVGQlZTeEZRVU5XUXl4UlFVRlZMRVZCUTFaRExFMUJRVkVzUjBGTFZDOURMRk5CUVZVc1IwRkhWaTlRTEUxQlFVOHNVMEZCVlhKblFpeEZRVUZOWjBJc1JVRkJUVGhDTEVWQlFVOTVkVUlzUjBGSGJrTXNSMEZCVFhaNFFpeEhRVUV3UWl4SlFVRnNRa0VzUlVGQlN6ZERMRlZCUVc5RExFbEJRV3hDTmtNc1JVRkJTemRETEZWQlFXMUNOa01zUlVGQlMzRm5RaXhOUVVGc1JTeERRVXRCTEVsQlFVa3paMElzUlVGQlMyNURMRVZCUVUwcmFFSXNSVUZEWkRoVUxFVkJRVmQyVml4RlFVRlhOMk1zUjBGRGRFSnhlVUlzUlVGQlpUZERMRWRCUVZsd2JrSXNTMEZCVFhCSkxFZEJRMnBEY1dZc1JVRkJVWEpuUWl4RlFVRkxjV2RDTEUxQllXUXNSMEZTVFdkVUxFbEJRMHh5ZVVJc1JVRkJUMnQyUWl4SFFVRmxhMFFzU1VGSmRrSTVWQ3hGUVVGUk0yZENMRVZCUVU5eGVrSXNVMEZCVldoNFFpeEpRVUZWY2tNc1JVRkJUM0Y2UWl4VFFVRlZiMElzVVVGSGNrTXplRUlzU1VGQlZuRkNMRVZCTUVOS0xFOUJRVXQzWXl4SFFVRlRMRkZCUVZOQkxGRkJRM2RDTjJRc1MwRkJOVU12UWl4RlFVRk5OR1lzUlVGQlRXaG5RaXhKUVVGTFZTeEhRVUZOTEVWQlFVOTFlRUlzU1VGRmVrSTNlRUlzUlVGSlJESm5RaXhGUVVGUGNtWXNSMEUzUTBFc1dVRklaSHBFTEZOQlFXTjFSaXhMUVVkamNFUXNSVUZCVFhGblFpeEhRVUZSYWxnc1MwRkJUV2hITEV0QlFXRndSQ3hGUVVGTExFdEJRMnBGYjBRc1JVRkJVVEJrTEVkQlFWZDRaMElzUlVGQlRXZENMRVZCUVUxMFFpeEhRVWN2UW01RExFVkJRVThzVlVGSlRTeE5RVUZVZFVZc1IwRkJhVUpCTEVkQlFWVkJMRWxCVDJ4Q0xGZEJRVlIyUml4SFFVRnpRamd4UWl4SlFVTXhRblozUWl4SFFVRlRjRVFzUjBGQlQwRXNSVUZCU3l4TFFVRlRaaXhGUVVGUGMybENMRlZCUVZkdFV5eEhRVUZoTEVkQlFVc3NUMEZKTjBSd01rSXNSVUZCVVdsNVFpeHBRa0ZCTmtJc1MwRkJWbTV6UWl4SFFVRnBSQ3hKUVVGcVF6bENMRVZCUVV0MlJTeFJRVUZUTEdkQ1FVTTVSRFJxUWl4RlFVRlBjbVlzUjBGQlV5eFhRVWxZYzJVc1IwRkJXU3hSUVVGVFFTeFJRVU56UWpka0xFdEJRVGxEY1VJc1JVRkJVWGRqTEVWQlFVMXFRaXhKUVVGTGNtVXNSVUZCVFRoRExFVkJRVTk1ZFVJc1RVRkZOMEk0UWl4RlFVTkthRlFzUlVGQlRXbFVMRmxCUVdGMGVVSXNSVUZCVFRoQ0xFZEJSWHBDZFdRc1JVRkJUM0ptTEVkQlFWTTRRaXhOUVd0Q2NFSjVaQ3hKUVVGTExGTkJRVlYyWjBJc1JVRkJUV2RDTEVWQlFVMTFkMElzUlVGQlQwWXNSMEZEYWtNc1NVRkJTWEo2UWl4RlFVRkxkVUlzUlVGQlN5dG1MRVZCUTJJNFZDeEZRVUZYZGxZc1JVRkJWemRqTEVkQk5rSjJRaXhQUVRWQ1owSjNka0lzUjBGQldYQnVRaXhMUVVGTmNFa3NTMEZOYWtOQkxFVkJRVTlyZGtJc1IwRkJaV3RFTEV0QlNYWkNPVlFzUlVGQlVUTm5RaXhGUVVGUGNYcENMRk5CUVZWb2VFSXNTVUZCVlhKRExFVkJRVTl4ZWtJc1UwRkJWVzlDTEV0QlIzUkRMRkZCUVZNNVZDeEpRVU4wUW5Sb1FpeEZRVUZOYzJoQ0xFVkJRVTFvWjBJc1NVRkJTMVVzUjBGQlRTeEZRVUZOZFhoQ0xGTkJTV3BDT1haQ0xFbEJRVko2UkN4SlFVTktRU3hGUVVGTmIzWkNMRWRCUVZGd2RFSXNSVUZCVFdkQ0xFVkJRVTF4ZDBJc1NVRkpaQ3hYUVVGU2NucENMRWRCUVc5Q1owUXNTMEZCVVRKMlFpeExRVU5vUXpONVFpeEZRVUZOTW5sQ0xFZEJRVzlDTTNaQ0xFbEJTVm9zUzBGQlZuVjNRaXhIUVVGblFrRXNSMEZEY0VKb2VVSXNSVUZCVFhWMlFpeFhRVUZaT1hkQ0xFbEJRMFFzU1VGQlZuVjZRaXhIUVVGclFtZERMRk5CUVZWb01FSXNSMEZCVVVFc1IwRkJUeXhGUVVGSmRrSXNSMEZIYUVSQkxFdEJTVlJYTEVWQlFVOXJRaXhMUVVGTkxFTkJRVVVzVTBGQlZTeFRRVUZYTEZOQlFWVnpSQ3hGUVVGSkszUkNMRWRCUTJwRWRubENMRVZCUVU5eGVrSXNVMEZCVldRc1IwRkJZeXhEUVVNNVFqVjRRaXhKUVVGTExGTkJRVlZWTEVWQlFVMXhkRUlzUlVGQlZXdEZMRWRCUXpsQ0xFZEJRVXRzUlN4RlFVbEtMRTlCUVU5clJDeEhRVUZoYm01Q0xFdEJRVTE2U3l4RlFVRlBOR2hDTEVsQlFVdDJaMElzUlVGQlRTeGhRVkY0UTBFc1JVRkJTelo0UWl4cFFrRkJhVUkxZVVJc1VVRkJWMlVzUlVGQlMzZDZRaXgzUWtGQmQwSnNSeXhOUVVscVJXOUZMRWRCUVd0Q01YaENMRVZCUVUxcmVFSXNSVUZCVjBzc1IwRklia04wUlN4SFFVRk5hblJDTEVWQlFVMTVkMElzUjBGQlV5eFhRVU53UWl4UFFVRlBhVUlzUjBGQmEwSXhlRUlzUlVGQlRXdDRRaXhGUVVGWFN5eE5RVTA1UTJ4VUxFbEJRVXNzVTBGQlZYSmxMRVZCUVUwNFF5eEZRVUZQZVhWQ0xFZEJRek5DTEVsQlFVazFkVUlzUlVGRFNEQjFRaXhGUVVGVGRrVXNSMEZCVnpselFpeEhRVWx3UW5sNlFpeEhRVUZ6UW5veVFpeEZRVUZSY1hsQ0xHbENRVU5VTEdGQlFYQkNaME1zUlVGQlR6VkRMRk5CU1ZJeVF5eEhRVVJyUW5GRExFZEJRWE5DYkVNc1NVRkZXU3hsUVVGdVJEVjVRaXhGUVVGUE5HaENMRWxCUVV0MlowSXNSVUZCVFN4aFFVRmhMRVZCUVU5eGVFSXNSMEZEZGtOT0xFVkJRVmRSTEVWQlExWk9MRWRCUTBOcWVFSXNSVUZEUVd0NFFpeEZRVU5CU3l4RlFVTkJTQ3hGUVVOQlF5eEhRVVZFTEVWQmNVSkdMRTlCYWtKTFJDeEhRVUZsY1VNc1NVRkRia0l4UXl4SFFVRlpjSFpDTEV0QlFVczRka0lzUzBGRGFFSjZlRUlzUlVGQlRTeFRRVUZYYTNoQ0xFVkJRVmNzUjBGQlNYUlVMR05CUVdkQ2MxUXNSVUZCVldneFFpeE5RVUZQTEVsQlEycEZOSGxDTEZkQlFWbDFReXhGUVVGUlNDeEpRVU53UWtRc1IwRkJiMEpxZUVJc1JVRkJUV3Q0UWl4RlFVRlhMRlZCUVZVc1JVRkJUMGNzUjBGRGRFUXNTMEZMUjA0c1NVRkJZM0IxUWl4RlFVRlZiMlFzUjBGQlVXcFlMRXRCUVUxb1J5eExRVU5pTEZGQlFUTkNTQ3hGUVVGVExFbEJRVThzVVVGRmJFSXpReXhGUVVGTGNXZENMRTFCUVU4MlVTeEhRVUZqY0hWQ0xFVkJRekZDUVN4RlFVRlJia1VzUlVGQlR6Um9RaXhKUVVGTGRtZENMRVZCUVUxcmVFSXNTVUZIY0VKS0xFZEJRVzFDT1hkQ0xFVkJRVTA0UXl4RlFVRlBhWFZDTEU5QlN6RkRjSGxDTEVWQlFVOXhla0lzVTBGQlV6TkVMRmRCUVdGV0xFZEJRV016ZDBJc1JVRkJVVzk1UWl4dFFrRkRiRVFzVTBGQlZYQjJRaXhGUVVGTmNYUkNMRWRCUTJZc1IwRkJTMEVzUlVGRFNpeFBRVUZUZVVJc1YwRkJXVEZDTEVkQlFWRndkRUlzUlVGQlRTeG5Ra0ZEYkVOQkxFVkJRVXQzZWtJc2QwSkJRWGRDUlN4TFFVTTFRbnBITEVkQlFVMXFkRUlzUlVGQlRTeERRVUZGY1hWQ0xGZEJRVmtzUjBGQlN5eFhRVU01UWl4UFFVRlBjblZDTEVWQlFVdDNla0lzZDBKQlFYZENSU3hSUVVWdVF5eFBRVTFRTHpCQ0xFVkJRVTlyUWl4TFFVRk5MRU5CUTFvNGVrSXNUMEZCVVN4SFFVTlNReXhSUVVGVExFZEJRMVJETEU5QlFWRXNVMEZEVGl4VFFVRlZReXhGUVVGUlF5eEhRVU53UW5BeFFpeEZRVUZQY1hwQ0xGTkJRVlU0UWl4RlFVRlRReXhIUVVGWExFTkJRM0JEUXl4UFFVRlJMRk5CUVZWc2VFSXNSMEZQYWtJc1NVRk9RU3hKUVVGSkwwVXNSVUZCU1N4RlFVTlFhekpDTEVWQlFWY3NSMEZIV0VNc1JVRkJlVUlzYVVKQlFWWndlRUlzUlVGQmNVSkJMRVZCUVUxSkxFMUJRVThzUzBGQlVTeERRVUZGU2l4SFFVVndSQzlGTEVWQlFVa3NSVUZCUjBFc1NVRkRaR3N5UWl4RlFVRlZTQ3hGUVVGVE9WUXNSMEZCVjJwcFFpeEhRVUZOWnpKQ0xFZEJRMjVEUnl4RlFVRlBiakpDTEVsQlFVOXRNa0lzUlVGQlQyNHlRaXhGUVVGSkxFbEJRVTl0TWtJc1JVRkJUeXhIUVVkNlF5eFBRVUZQUkN4SlFVbFBMRmRCUVZoSUxFbEJRMHB1TVVJc1JVRkJUM0Y2UWl4VFFVRlZPRUlzUlVGQlUwTXNSMEZCVXpGV0xFbEJRVTE1VXl4TlFVa3pRMjU1UWl4RlFVRlBSeXhIUVVGSFowTXNUMEZCVVN4RFFVTnFRbmxtTEVsQlFVc3NVMEZCVlhabUxFVkJRVTA0UWl4SFFVTndRaXhQUVVGUGJXRXNSVUZCVVhKb1FpeExRVUZOTEZOQlFWVnZSU3hGUVVGTlowSXNSVUZCVFRoQ0xFZEJRekZETEVsQlFVbDFkVUlzUlVGQlVUVjNRaXhGUVVOWVZpeEZRVUZOTEVkQlEwNW9ReXhGUVVGSkxFVkJSVXdzUjBGQlMzZEVMRTFCUVUxRExGRkJRVk5TTEVkQlFWTXNRMEZKTlVJc1NVRklRWEYzUWl4RlFVRlRka1VzUjBGQlZ6bHpRaXhIUVVOd1FsTXNSVUZCVFU4c1JVRkJTeTlDTEU5QlJVaHNRaXhGUVVGSk1FTXNSVUZCU3pGRExFbEJRMmhDWjBNc1JVRkJTMmxDTEVWQlFVMXFSQ3hKUVVGUldTeEZRVUZQTkdoQ0xFbEJRVXQyWjBJc1JVRkJUV2RDTEVWQlFVMXFSQ3hKUVVGTExFVkJRVTl6ZWtJc1IwRkhlRVFzVDBGQlQzUjRRaXhGUVVkU0xGbEJRV2xDTUVJc1NVRkJWbkZDTEVWQlEwNXVSU3hGUVVGUE1HaENMRTFCUVU5eVowSXNSVUZCVFdkQ0xFVkJRVTA0UWl4SFFVTXhRbTVGTEVWQlFVODBhRUlzU1VGQlMzWm5RaXhGUVVGTlowSXNTVUZEYWtKQkxFVkJRVTA0UWl4RlFVRlBOME1zVlVGQlZXaENMRTlCUVZNc1RVRlJja05PTEVWQlFVOXRla0lzVFVGQlVVRXNSMEZGWmtFc1IwRkJUVFY1UWl4VlFVRlpMRU5CUTJwQ1JTeFpRVUZoTUhsQ0xFZEJRMkl2ZVVJc1MwRkJUU3hUUVVGVmFVSXNSVUZCVFdVc1JVRkJVM2RrTEVWQlFVMDFaQ3hGUVVGTGIzaENMRVZCUVZFdlVTeEhRVU5xUkhCc1FpeExRVUZMYjBVc1MwRkJUMEVzUlVGRFduQkZMRXRCUVVzeWFVSXNTMEZCVDBFc1JVRkRXak5wUWl4TFFVRkxiVEpDTEU5QlFWTkJMRWRCUVZWd2VrSXNSVUZCVDI5NlFpeFBRVUZQZEZBc1UwRkRkRU0zYlVJc1MwRkJTMjFHTEZGQlFWVkJMRVZCUTJadVJpeExRVUZMYVZVc1RVRkJVV3BWTEV0QlFVdHpjMElzU1VGQlRYUnpRaXhMUVVGTE5rOHNUVUZETjBJM1R5eExRVUZMSzBVc1NVRkJUVUVzUlVGRFdDOUZMRXRCUVV0dmJFSXNTMEZCVDBFc1NVRkJWWEpwUWl4RlFVRlBjMmxDTEZWQlFWY3hReXhIUVVGVExFZEJRVXNzVDBGRmRrUTVWQ3hKUVVGTExGZEJRMG9zU1VGQlNUWlZMRVZCUVZGM1V5eEhRVUZOY1VNc1ZVRkJWM1kwUWl4TFFVRkxNbWxDTEUxQlJXeERMRTlCUVU5bExFZEJRVk5CTEVWQlFVMW9aMElzU1VGRGNrSm5aMElzUlVGQlRXaG5RaXhKUVVGTE1VUXNUVUZEV0dzeVFpeEhRVUZOY1VNc1ZVRkJWVEZTTEZOQlFWTnVha0lzU1VGQlN6RkVMRTlCUldoRGR6UkNMRWxCUVVzc1UwRkJWVU1zUjBGRFpDeEpRVUZKUXl4RlFVTklhRllzUlVGQlVYZFRMRWRCUVUxeFF5eFZRVUZYZGpSQ0xFdEJRVXN5YVVJc1RVRnZRaTlDTEU5QmJFSkxNMmxDTEV0QlFVdHRSaXhSUVVGUmQzcENMRk5CUTJwQ016UkNMRXRCUVVzME5FSXNTVUZCVFVZc1JVRkJVVE14UWl4RlFVRlBiM3BDTEU5QlFWRnVNa0lzUzBGQlMyMHlRaXhSUVVOMFEzTkRMRVZCUVZONk5FSXNTMEZCUzIxR0xGRkJRVkYzZWtJc1UwRkJWMFlzUlVGQlV5eEZRVUZITEVWQlFVZDZORUlzUzBGQlMyMUdMRkZCUVZGM2VrSXNWVUZIT1VRek5FSXNTMEZCU3pRMFFpeEpRVUZOUml4RlFVRlJSQ3hGUVVWd1FubzBRaXhMUVVGTGMzTkNMRXRCUVZGMGMwSXNTMEZCU3l0RkxFbEJRVTB2UlN4TFFVRkxhVlVzVDBGQlZYbHJRaXhGUVVGUk1UUkNMRXRCUVV0cFZTeE5RVVV2UTJwVkxFdEJRVXR0Uml4UlFVRlJNSHBDTEUxQlEycENOelJDTEV0QlFVdHRSaXhSUVVGUk1IcENMRXRCUVV0d05FSXNTMEZCVFZRc1MwRkJTMjlGTEV0QlFVMXdSU3hMUVVGTGMzTkNMRWxCUVV0MGMwSXNUVUZIZWtNd2FrSXNSMEZCVTBFc1JVRkJUV3BDTEVsQlEyNUNhVUlzUlVGQlRXcENMRWxCUVV0NmFVSXNUVUZGV0dzeVFpeEhRVUZOY1VNc1ZVRkJWVEZTTEZOQlFWTndSU3hKUVVGTGVtbENMRTFCUlhoQ1FTeFBRVWxVYXpKQ0xFZEJRVTAxZVVJc1ZVRkJWVWdzUzBGQlMwY3NWVUZCV1RSNVFpeEhRVUZOTlhsQ0xGVkJSWFpETkhsQ0xFZEJRVTF4UXl4VlFVRlpMRU5CUTJwQ01WSXNVMEZCVlN4RFFVTlVibXBDTEVsQlFVc3NVMEZCVlc5b1FpeEhRVU5rTEVsQlFVbDRVaXhGUVVsS0xFOUJRVFpDTEVsQlFYaENkMUlzUlVGQlRURm5RaXhMUVVGTE4wTXNWVUZEWVN4TlFVRTFRblZxUWl4RlFVRk5NV2RDTEV0QlFVMHdaMElzUlVGQlRXNURMRTlCUVc5RUxFMUJRV3hEYlVNc1JVRkJUVEZuUWl4TFFVRkxjV2RDTEUxQlFVOUxMRVZCUVUxdVF5eE5RVU55UkcxRExFVkJRVTB4WjBJc1MwRkJUVEJuUWl4RlFVRk5ia01zVDBGUE1VSnlVQ3hGUVVGVGRsRXNSVUZCVHpSb1FpeEpRVUZMUnl4RlFVRk5NV2RDTEV0QlFVMHdaMElzUlVGQlRXNURMRXRCUVUwc1RVRkhhRUlzVTBGQldISlFMRVZCUVhkQ1FTeEZRVUZLTEVkQlJYWkRiVkFzU1VGQlN5eFRRVUZWY1VNc1IwRkxWQzlvUWl4RlFVRlBLekZDTEVkQlFVZEVMRXRCUVUwdlZDeEZRVUZOYmtNc1RVRkRNVUkxWml4RlFVRlBLekZDTEVkQlFVZEVMRXRCUVUwdlZDeEZRVUZOYmtNc1RVRkJVVzFETEVkQlEwc3NTVUZCZUVKQkxFVkJRVTB4WjBJc1MwRkJTemRETEZkQlEzUkNkMElzUlVGQlQzRjZRaXhUUVVGVmRGSXNSVUZCVFc1RExFOUJRelpDTEUxQlFXNUViVU1zUlVGQlRURm5RaXhMUVVGTGNXZENMRTFCUVU4MlVDeEhRVUZsZUZBc1JVRkJUVzVETEU5QlIzaERiVU1zUlVGQlRURm5RaXhMUVVGTk1HZENMRVZCUVUxdVF5eE5RVUZUYlVNc1JVRkJUWGRJTEVsQlJtcERkbkJDTEVWQlFVOHdhRUlzVFVGQlQwc3NSVUZCVFRGblFpeExRVUZOTUdkQ0xFVkJRVTF1UXl4TFFVRk5iVU1zUlVGQlRYZElMRWxCUVUxNFNDeEZRVUZOVFN4VFFWVTFSRGhSTEVkQlFVMXhReXhWUVVGVlVTeFZRVUZaTjBNc1IwRkJUWEZETEZWQlFWVlRMRmRCUVdFc1EwRkRlRVIyVnl4SlFVRkxMRk5CUVZWeFF5eEhRVU5VUVN4RlFVRk5NV2RDTEV0QlFVczNReXhWUVVGWmRXcENMRVZCUVUweFowSXNTMEZCUzNoQ0xHRkJRM1JEYTJsQ0xFVkJRVTB4WjBJc1MwRkJUVEJuUWl4RlFVRk5ia01zVFVGQlUyMURMRVZCUVUxM1NDeFBRVXR3UTNad1FpeEZRVUZQYjNwQ0xFOUJRVk1zUTBGRFpqaERMRTlCUVZFc1UwRkJWVU1zUjBGRGFrSXNUMEZCVDBFc1IwRkZVa01zVFVGQlR5eFRRVUZWUkN4SFFVTm9RaXhOUVVGUExFZEJRVTF1ZWtJc1MwRkJTM0Y2UWl4SlFVRkxSaXhGUVVGSmJucENMRXRCUVV0emVrSXNTVUZCVHl4SFFVVjRRM2hUTEZOQlFWVXNVMEZIV0RscVFpeEZRVUZQS3pGQ0xFZEJRVXMxUXl4SFFVRk5OWGxDTEZWQlFWVklMRXRCUnpWQ1NpeEZRVUZQS3pGQ0xFZEJRVWRFTEV0QlFVOHNSMEZMYWtJc1NVRkRRMU1zUjBGQlQwTXNSMEZEVUVNc1IwRkJWeXg1UWtGRFdFTXNSMEZCVHl4alFVVlNMRk5CUVZORExFdEJRMGhJTEUxQlEzRkNMRWxCUVhCQ016VkNMRVZCUVZNck5VSXNVVUZCYjBJMU5VSXNSVUZCVHpZMVFpeHpRa0ZEZUVNM05VSXNSVUZCVHpZMVFpeHpRa0ZCZFVKR0xFbEJSVGxDTXpWQ0xFVkJRVTluWjBJc1YwRkJXVEphTEVkQlFWVXpNa0lzUlVGQlR5c3hRaXhIUVVGSFpTeFZRVWQ0UXpreVFpeEZRVUZQS3pGQ0xFZEJRVWRuUWl4UlFVdGFMRk5CUVZORExFdEJTVklzVDBGSVFXZzJRaXhGUVVGUFoyZENMRmRCUVZrc1YwRkRiRUoxV2l4UlFVRlJlbnBDTEVsQlJVRjVla0lzUjBGQlVUZDNRaXhMUVVGTE5tcENMRTFCU1haQ0xGTkJRVk13VGl4SFFVRlBjalJDTEVWQlFVMXpORUlzUjBGRGNrSXNTVUZCU1RsTUxFVkJRMGhvYzBJc1JVRkJTU3hGUVVOS2MwMHNSVUZCVVN4RFFVRkZjV3hDTEU5QlFWRnVlVUlzUjBGTGJrSXNTVUZFUVhNMFFpeEZRVUZsUVN4RlFVRmxMRVZCUVVrc1JVRkRNVUk1TTBJc1JVRkJTU3hGUVVGSFFTeEhRVUZMTEVWQlFVazRNMElzUlVGRmRrSjRja0lzUlVGQlR5eFZRVVJRTUdZc1JVRkJVUzlLTEVkQlFWZHFhVUlzUzBGRFUzTk5MRVZCUVU4c1ZVRkJXVEJtTEVkQlFWVjRjMElzUlVGUE1VUXNUMEZLUzNNMFFpeEpRVU5LZUhKQ0xFVkJRVTAwYmtJc1VVRkJWVFZ1UWl4RlFVRk5hV3BDTEUxQlFWRXZka0lzUjBGSGVFSTRUU3hGUVVkU0xGTkJRVk41Y2tJc1IwRkJZV2g2UWl4RlFVRlBlV0lzUlVGQlRYZFlMRWRCUzJ4RExFbEJTa0VzU1VGQlNYSldMRVZCUTBoM1N5eEhRVUZsT0Vzc1IwRkJWVU1zVTBGQlZURllMRWxCUVZVc1NVRkJTMnBwUWl4UFFVRlJNRFZDTEVkQlFWVkRMRk5CUVZVc1RVRkRPVVV2WlN4RlFVRlJMRVZCUTFKcVdTeEZRVUZUYVhOQ0xFVkJRVmRxYzBJc1QwRkRZbWxaTEVWQlFWRnFXU3hGUVVGUmFWa3NTVUZEZGtJc1IwRkJUM2RLTEVWQlFWRjNTeXhGUVVGWmFGVXNSMEZCVVRkaExFdEJRVTB3TlVJc1JVRkJWM2hZTEVWQlFVMTZZaXhIUVVkNlJDeFBRVUZQTkdRc1JVRnpUbFlzVTBGQlUzTldMRWRCUVZkb01rSXNSVUZCVFdzeVFpeEZRVUZaYmpGQ0xFZEJRM0pETEVsQlFVbHRUeXhGUVVOSWFXNUNMRVZCUTBGcVppeEZRVUZSTEVWQlExSnFXU3hGUVVGVEt6SkNMRWRCUVZWSkxGZEJRVmR1TTBJc1QwRkRPVUpwWWl4RlFVRlhkbUlzUlVGQlQydGlMRmRCUVZkSkxFOUJRVkVzYTBKQlJ6ZENlV0lzUlVGQlN6RXhRaXhQUVVWaU1ERkNMRVZCUVU4c1YwRkRUaXhIUVVGTFV5eEZRVU5LTEU5QlFVOHNSVUZaVWl4SlFWWkJMRWxCUVVsRkxFVkJRV051UWl4SlFVRlRVeXhMUVVNeFFqVmFMRVZCUVZsd1lTeExRVUZMY1haQ0xFbEJRVXNzUlVGQlJ5dEZMRVZCUVZWUExGVkJRVmxRTEVWQlFWVjRRaXhUUVVGWE9FSXNSMEZMY0VWb1F5eEZRVUZWTEVkQlJFaDBXU3hGUVVGWloyRXNSVUZCVlhoQ0xGVkJRVmtzUjBGRmVrTnlaQ3hGUVVGUkxFVkJRMUpxV1N4RlFVRlRPREpDTEVWQlFWVlJMRTlCUVU5ME0wSXNUMEZGYmtKcFdTeEZRVUZSYWxrc1JVRkJVV2xaTEVsQlEzWkNObVVzUlVGQlZWRXNUMEZCVVhKbUxFZEJRVkZyWkN4SlFVRkxReXhIUVUxb1F5eFBRVWhCYm1Fc1JVRkJVMnRDTEZkQlFWbHdZaXhGUVVGTkxFTkJRVVVyTVVJc1JVRkJWekZDTEVWQlFWTjBXU3hKUVVjMVEzTlpMRVZCUVZVc1IwRkJTM0F4UWl4RlFVTmFPR01zUjBGSlJqbGpMRWRCUTB4cFlpeEZRVUZUYTBJc1YwRkJXWEJpTEVWQlFVMHNRMEZCUlNzeFFpeEZRVUZYTEVWQlFVY3NTVUZKTlVNM1lpeEZRVUZUYlVJc1dVRkJZWEppTEVWQlFVMHNRMEZCUlNzeFFpeExRVU4yUWl4SlFVVlNRU3hGUVVGWk4ySXNSVUZCVXpGQ0xGRkJRVk1zUTBGRE4wSjRXU3hMUVVGTlFTeEZRVU5PTm01Q0xFMUJRVTlzY0VJc1JVRkJUMjFETEU5QlFWRXNSMEZCU1c4eFFpeEhRVU14UWswc1MwRkJUVGN6UWl4RlFVRlBiVU1zVVVGQlVTeEZRVUZOTEVOQlF6RkNNakZDTEdOQlFXVXNSMEZEWmpGRkxFOUJRVkZ3ZWtJc1JVRkJUMjk2UWl4UFFVRlBkRkFzVlVGRGNFSXhhRUlzUjBGRFNESXhRaXh0UWtGQmIwSlNMRVZCUTNCQ1V5eG5Ra0ZCYVVJMU1VSXNSVUZEYWtKMU1VSXNWVUZCVjNCQ0xFbEJRVk5UTEV0QlEzQkNjRUlzVTBGQlZYaDZRaXhGUVVGUmQzcENMRk5CUTJ4Q1owTXNUMEZCVVN4SFFVTlNWQ3haUVVGaExGTkJRVlYyV0N4RlFVRk5OV1FzUjBGRE5VSXNTVUZCU1N0bUxFVkJRVkV2YUVJc1JVRkJUMjE2UWl4TlFVRlBPWGhDTEVWQlFVMHJNVUlzUlVGQlZWTXNTMEZCVFdwWkxFVkJRVTAxWkN4RlFVTnlSRzh4UWl4RlFVRlZVeXhMUVVGTFF5eGpRVUZsYkZrc1NVRkJWWGRZTEVWQlFWVlRMRXRCUVV0NlJTeFJRVVY0UkN4UFFVUkJaMFVzUlVGQlZWRXNUMEZCVHk4MVFpeExRVUZOYTJ0Q0xFZEJRMmhDUVN4SFFVVlNiRUlzUzBGQlRTeFRRVUZWYjFnc1IwRkRaaXhKUVVGSk1XWXNSVUZCVVN4RlFVbFlhbGtzUlVGQlV6SXpRaXhGUVVGVllpeEZRVUZWVVN4UFFVRlBkRE5DTEU5QlFWTXNSVUZET1VNc1IwRkJTMnN6UWl4RlFVTktMRTlCUVU5Mk5rSXNTMEZIVWl4SlFVUkJkVFpDTEVkQlFWVXNSVUZEUm1wbUxFVkJRVkZxV1N4RlFVRlJhVmtzU1VGRGRrSTJaU3hGUVVGVlVTeFBRVUZSY21Zc1IwRkJVV3RrTEVsQlFVc3NSMEZWYUVNc1QwRk9TM2RETEVkQlEwb3hZeXhGUVVGVGEwSXNWMEZCV1hCaUxFVkJRVTBzUTBGQlJTc3hRaXhGUVVGWExFVkJRVWNzU1VGRE0wTTNZaXhGUVVGVGJVSXNXVUZCWVhKaUxFVkJRVTBzUTBGQlJTc3hRaXhGUVVGWFlTeExRVVY2UXpGakxFVkJRVk4xUWl4WFFVRlplbUlzUlVGQlRTeERRVUZGS3pGQ0xFVkJRVmRoTEVsQlJXeERhRGRDTEZGQlIxUnBjMElzUlVGQlVXdFBMRVZCUVZWc1R5eE5RVWx1UWl4TFFTOUlSQ3hUUVVGeFFrRXNSVUZCVHpSUExFZEJRek5DTEVsQlFVbDJaaXhGUVVGUGJGY3NSVUZCVFN0M1FpeEZRVUZSYW5aQ0xFVkJRVTkzWXl4RlFVZG9ReXhKUVVGTmNFa3NTMEZCVXpKUkxFVkJaV1FzUjBGaVFXdExMRVZCUVZNd1JTeEZRVVJVZWpGQ0xFVkJRVTgyWXl4RlFVRlhNMGNzU1VGRmJFSndWU3hGUVVGUksydENMRVZCUVU4elVTeEhRVU5XTTFZc1RVRkJUVU1zVVVGQlUzTkNMRXRCUTI1Q2FYWkNMRVZCUVZOcWRrSXNSVUZCVHl4SFFVTm9Ra0VzUlVGQlVTdHJRaXhGUVVGUE0xRXNSMEZCVlhCVkxFVkJRVThzU1VGSE5VSnZWU3hKUVVGVmJGY3NTVUZEWkRadFFpeEZRVUZQTjIxQ0xFZEJRVk00UWl4VFFVTlVLMnRDTEVWQlFVOHpVU3hMUVVkbWIwa3NSVUZCVVROblFpeEZRVUZQY1hwQ0xGTkJRVlZvZUVJc1MwRkRXQ3hYUVVGWmMyVXNSVUZOZWtJc1NVRkJUWEJKTEV0QlRFNXdWU3hGUVVGUmQyTXNSVUZCVFRCVkxFOUJRVkZzZUVJc1ZVRkRaaXRyUWl4RlFVRlBOMjFDTEVkQlNVTTRRaXhGUVVOT2IxVXNTMEZCVXpKUkxFbEJRMmhDUVN4RlFVRlBNMUVzUjBGQlZYQlZMRVZCUVU5dlZTeEhRVU40UW5WbUxFVkJRV1YyWml4SFFVRlZObUVzVVVGSk0wSXdSU3hGUVVGbGVqRkNMRWRCUVZNcmQwSXNSVUUyUmpGQ09FVXNRMEZCV1doUUxFVkJRVTlyVHl4RlFVRlZVeXhMUVVGTFF5eGxRVVV4UW5abUxFVkJRVkZxV1N4RlFVRlJhVmtzU1VGRmRrSXNSMEZFUVdoSkxFVkJRVk00YlVJc1IwRkJWVWtzVjBGQldXeG1MRWRCUVZFM1lTeExRVUZOTURWQ0xFVkJRVmN2TVVJc1JVRkJUVFp1UWl4RlFVRlBhMDhzUlVGQlZWTXNUVUZOT1VVc1QwRktTM1kxUWl4RlFVRlphVk1zUlVGQlQzTlJMRkZCUTNaQ04yZENMRVZCUVU4MFowSXNXVUZCWVhkWExFVkJRVlV2TVVJc1MwRkJUU3N4UWl4RlFVRlZVeXhMUVVGTGNHUXNUMEZCVVc5SExFdEJRekZFZEZFc1JVRkJUM05STEV0QlFVdHpXQ3hMUVVGTk5XNUNMRWxCUldKQkxFVkJlVUpVTEU5QmNrSkJkbEVzUlVGQlQyOUNMRWxCUVVzNGJrSXNSVUZCVDJsUExFZEJRV0ZETEVkQlJUTkNPVFJDTEVWQlFWazRORUlzUlVGQlZWTXNTMEZCU3pOdFFpeFJRVU12UW10dFFpeEZRVUZWVXl4TFFVRkxNMjFDTEUxQlFVMTRWQ3hMUVVGTk1rUXNSVUZCVFNzeFFpeEhRVWxzUTBFc1JVRkRSWFJpTEZOQlFWVnpZaXhGUVVGVlV5eExRVUZMTDJJc1ZVRkRla0pxVnl4TFFVRk5kWGhDTEVWQlFWVlRMRXRCUVV0b2VVSXNTMEZCVFhWNFFpeEZRVUZWVXl4TFFVRkxUeXhWUVVNeFEzUmxMRXRCUVUxelpDeEZRVUZWVXl4TFFVRkxMMlFzVFVGRGNrSjNRaXhQUVVGUk9HSXNSVUZCVlZNc1MwRkJTM1pqTEZGQlJYcENkR0lzUlVGQlR5c3hRaXhIUVVGSGMwTXNUVUZEVkhJMFFpeEZRVUZQYlVNc1QwRkJVVFF3UWl4RlFVRk5MRU5CUTNCQ01URkNMRXRCUVUxQkxFVkJRMDVwTTBJc1MwRkJUV3hDTEVWQlEwNHpZeXhOUVVGUE1tTXNSVUZCVlZNc1MwRkJTM0JrTEZOQlNXcENNbU1zUlVGSFVuQXpRaXhGUVVGUGNUTkNMRlZCUVZseU0wSXNSVUZCVDIxRExFOUJRVkZyTVVJc1IwRkJWeXhEUVVVMVEwTXNVMEZCVlN4RFFVTlVhVUlzU1VGQlN5eERRVUZGTEZOQlFWVXpXU3hGUVVGTmVtSXNSMEZEZEVJc1NVRkJTVFJrTEVWQlFWRTVhMElzUzBGQlMyczJRaXhaUVVGaGRsZ3NSVUZCVFhwaUxFZEJSWEJETEU5QlJFRXdaQ3hIUVVGWFJTeEZRVUZOTVdkQ0xFdEJRVTExWlN4RlFVRk5kMElzUjBGQlVXcFlMRXRCUVUxb1J5eEhRVUZUTkdRc1IwRkROME5CTEV0QlNWUjVWeXhSUVVGVExGTkJRVlYwVUN4RlFVRlBMMjVDTEVkQlEzQkNOME1zUlVGQldUUnhRaXhKUVVOb1FpOXVRaXhGUVVGWEsyNUNMRVZCUTFoQkxFVkJRVkVzUTBGQlJTeE5RVVZXUVN4RlFVRlJRU3hGUVVGTmNHWXNUVUZCVDNGUUxFZEJUM1JDTEVsQlNrRXNTVUZCU1hsSExFVkJRMGh5U0N4RlFVRlJMRVZCUTFKcVdTeEZRVUZUTkc5Q0xFVkJRVTAxYjBJc1QwRkZVbWxaTEVWQlFWRnFXU3hGUVVGUmFWa3NTVUZEZGtKeFNDeEZRVUZQYzBvc1JVRkJUek5STEVkQlEyUTRaU3hIUVVGVlF5eFRRVUZWTVZnc1IwRkJVM2xZTEVkQlFWVkRMRk5CUVZVeFdDeEpRVUZWTEVkQlF6TkVlVmdzUjBGQlZVTXNVMEZCVlRGWUxFZEJRVTlvVWl4UlFVRlRlazRzU1VGSmRFTnpNa0lzVjBGQldTeERRVE5YWWl4VFFVRXlRbkF5UWl4RlFVRk5ObTVDTEVWQlFVOHlUeXhIUVVOMlF5eEpRVUZKYWxrc1JVRkJUWHBpTEVWQlFVODBaU3hGUVVGUmNFTXNSVUZCVHpoWUxFVkJRVk5ETEVWQlFWZERMRVZCUVdkQ2FGZ3NSVUZEYmtWcFdDeEZRVUZSTEZWQlFWY3hVQ3hIUVVGVExGZEJRVmxCTEVWQlEzaERiMUFzUlVGQlQzSTNRaXhMUVVOUWVYVkNMRVZCUVU4c1IwRkRVR2hMTEVWQlFWRnlaMElzUlVGQlMzRm5RaXhOUVVOaWExWXNSVUZCVTNZeFFpeEZRVUZMTjBNc1ZVRkJXV2xxUWl4SFFVRnZRbkJuUWl4SFFVTTVRM2N6UWl4RlFVRlhMMWtzUlVGQlUyNW1MRWxCUVV0VkxFVkJRVTBzVlVFMlFtaERMRWxCUVUxMVpTeExRVEZDUVdsWkxFVkJRVXR3WkN4UlFVVmhMRTlCUkhaQ2EwY3NSVUZCVVROblFpeEZRVUZQTkdkQ0xGbEJRV0YyWml4RlFVRk5MRTlCUTNaQ2VUTkNMRmRCUTFadVdTeEZRVUZOYlZrc1UwRkJWeXhGUVVOcVFrd3NSVUZCVlRsWUxFVkJRVTAzVGl4TlFVRk5Oa2dzUzBGRGRFSm5SeXhGUVVGTk4wNHNUVUZCVFRaSUxFdEJRVThzVjBGRFdtZEhMRVZCUVUxdFdTeFZRVU5ZVEN4TlFVbElPVmdzUlVGQlRXMVpMRmRCUlU1U0xFVkJRVXRvWkN4UFFVRlJMRmRCUjFwblpDeEZRVUZMYUdRc1QwRkJVU3hYUVVOYWNVWXNSVUZCVFcxWkxGZEJRMEU1TkVJc1JVRkJUM2xoTEUxQlFVOXdXaXhGUVVGTkxFMUJRVTltTEZGQlEyaERjV2RDTEVWQlFVMDNUaXhOUVVGTk5rZ3NXVUZQUm5WUExFVkJSV0lzUjBGRVFTOXJRaXhGUVVGUksydENMRVZCUVU5MFNpeEhRVU5XTmxjc1IwRkJVMmh6UWl4TFFVRk5kRWNzUjBGQlZTeERRVWMzUWl4VlFVWlBLMnRDTEVWQlFVOTBTaXhIUVVOa2JVUXNSVUZCVTBFc1IwRkJiMElzVjBGQlZqVmxMRVZCUTJSQkxFdEJRVmw1ZVVJc1JVRkJVeXhQUVVGVExGRkJRVmNzUTBGSk4wTXNSMEZCWlN4VFFVRldlbmxDTEVsQlFXOUNNREJDTEZGQlFXbERMekZDTEVsQlFYSkNLekZDTEVWQlFWVnFXaXhIUVVzNVF5eFRRVXBCWjFnc1IwRkJVeXhGUVU5WWJFd3NSVUZCVFRsTUxFZEJRVk5wV2l4SFFVRlpRU3hGUVVGVmFsb3NTVUZCVlRWbUxFVkJRVTh3YUVJc1RVRkJUM0puUWl4RlFVRk5kV1VzUjBGTmNrVXNTVUZFUVRoWkxFZEJRV0V4TkVJc1JVRkJUM2xFTEdOQlFXVjViRUlzVFVGRGFFSnNjRUlzUlVGQlQzbEVMR05CUVdWcGIwSXNSMEU0UkhwRExFbEJRVTA1VEN4TFFYcEVSR2RhTEVkQlFUSkNMRWxCUVd4Q2RqTkNMRVZCUVVzM1F5eFhRVTFzUW5FMVFpeEZRVUZMYTBJc1UwRkJWeXhEUVVGRmNsZ3NSVUZCVFhGWUxGTkJRVlZ5V0N4RlFVRk5jMWdzVlVGQlYzUllMRVZCUVUxMVdDeFhRVWxzUXl4UFFVUjJRazRzUlVGQmFVSkZMRWRCUVZsQkxFVkJRVk5zV0N4WFFVVnlRMmRZTEVWQlFXbENOMWtzUlVGQlUyNW1MRWxCUVV0VkxFVkJRVTBzV1VGSGNrSXNWVUZFYWtKelowSXNSVUZCVlROb1FpeEZRVUZQTkdoQ0xFbEJRVXQyWjBJc1JVRkJUU3hqUVVWMFFuTXpRaXhGUVVOS2FGZ3NSVUZCVldkWUxFZEJTVlpvVnl4SFFVRlZMRU5CUVVWMGFFSXNTVUZCVVN4SFFVTndRbk16UWl4RlFVRnBRblF6UWl4RlFVRkxjV2RDTEUxQlFVMURMRk5CUVZkbldDeEZRVU4yUTJoWUxFVkJRVlV6YUVJc1JVRkJUelJvUWl4SlFVRkxkbWRDTEVWQlFVMHNWMEZETlVKemFFSXNSMEZCVlN4RFFVRkZkR2hDTEU5QlMwY3NWMEZCV25OblFpeEhRVUZ2UXl4cFFrRkJXa0VzUjBGQlowUXNUVUZCYkVKbldDeEpRVU55UWl4VFFVRm9Rek0wUWl4RlFVRlBOR2hDTEVsQlFVdDJaMElzUlVGQlRTeFhRVWRvUW5FelFpeEpRVU5NU2l4RlFVRkxlbmxDTEV0QlFVMHNWMEZEVmpaaUxFVkJRVTFETEZGQlFWVm5XQ3hKUVVWTkxFMUJRV3hDUVN4SlFVTkthRmdzUlVGQlZVUXNSVUZCVFVNc1VVRkRhRUpuV0N4RlFVRTJRaXhUUVVGYWFGZ3NSVUZCY1VJc1IwRkJTMEVzU1VGSE4wTkVMRVZCUVUxRExGRkJRVlVzYVVKQlMyUnJWeXhGUVVGTGEwSXNWMEZEVkhKWUxFVkJRVTF4V0N4VFFVRlhMRk5CUTJwQ1ZDeEZRVUZMYUdRc1QwRkJVU3hYUVVOYWIwY3NSVUZCVFhGWUxGTkJRVmRzUWl4RlFVRkxhMElzVTBGQlZTeEhRVU5vUTNKWUxFVkJRVTF6V0N4VlFVRlpia0lzUlVGQlMydENMRk5CUVZVc1IwRkRha055V0N4RlFVRk5kVmdzVlVGQldYQkNMRVZCUVV0clFpeFRRVUZWTEUxQlMyNURUQ3hIUVVGWkxFVkJRMFZvVGl4RlFVZFFaMDRzU1VGRFFVY3NSVUZEUXl4WFFVRlpRU3hKUVVOb1FtcERMRVZCUVZOcFF5eEZRVUZUYWtNc1VVRkhia0pwUXl4RlFVRlhMMWtzUlVGQlUzaENMRTlCUVZGcVpDeEZRVUZOTEZOQlFWVXNRMEZCUlhOblFpeFJRVUZUWjFnc1NVRkpia1ExVml4SlFVTktPRllzUlVGQlUycERMRkZCUVZWQkxFZEJTV1pCTEVkQlEwcHFWU3hIUVVGVkxFTkJRVVYwYUVJc1NVRkJVU3hIUVV0eVFta3pRaXhGUVVGTGVubENMRXRCUVUwc1YwRlRWaXhKUVVGTksxb3NTMEZLUVdkWUxFZEJRMHhxVlN4SFFVRlZMRU5CUVVWMGFFSXNTVUZGWW5sbExFVkJRVk5vUml4UFFVRlJlbG9zUlVGQlRTeFZRVU5VY1hGQ0xFVkJRMkl4Y2tJc1JVRkJUekJvUWl4TlFVRlBjbWRDTEVWQlFVMTFaU3hGUVVGTk9Fd3NSVUZCVFRsTUxFOUJUVzVET0Zrc1JVRkJXWFpDTEVkQlFXRlFMRVZCUVZOcFF5eEZRVUZWYWxvc1IwRkJVeXhGUVVGSFFTeEZRVUZOTUZrc1IwRkRkRVF4V1N4TFFVRlJhVm9zU1VGRFprRXNSVUZCVldwYUxFZEJRVk00V1N4RlFVRlZlRzVDTEUxQlEzaENNR3hDTEVsQlEwbzRRaXhGUVVGVk1USkNMRWxCUVUwd01rSXNSVUZCVlhodVFpeE5RVU14UW5kdVFpeEZRVUZWZUc1Q0xFMUJRVkVzVFVGMVRYSkNaMjlDTEZWQlFWY3NVMEZCVlM4elFpeEZRVUZWYlhOQ0xFZEJRM3BDUVN4RlFVTktLMG9zUjBGQlZVa3NWMEZCVnpkdlFpeFJRVUZUZWs0c1IwRkZPVUpyTWtJc1IwRkJWVWtzVjBGQlZ6VTFRaXhMUVVGTmMwUXNUVUZMT1VKdVFpeEZRVUZQYlRWQ0xFMUJRVkVzVTBGQlZVRXNSVUZCVHk5R0xFVkJRVkZxZWtJc1IwRkRka01zU1VGQlNXazFRaXhGUVVGTlJDeEhRVUV3UWl4cFFrRkJWa0VzUlVGQmNVSnVOVUlzUlVGQlQyMURMRTlCUVZFc1IwRkJTV2N6UWl4SFFVRlZMRU5CUXpORlppeFRRVUZWYWpSQ0xFbEJRVTlCTEVkQlFVMXBla0lzUjBGRGRFSTVNRUlzUlVGQldUWTJRaXhKUVVGWFFTeEZRVU40UW5aRUxGTkJRVlYxUkN4RlFVTldMMFlzVDBGQlVXcDZRaXhIUVVGTmFYcENMRWRCUVZWQkxFbEJRVmM1TUVJc1JVRkJXVGd3UWl4SlFVRlpRU3hIUVc5RE5VUXNUMEZvUTB0d2VrSXNSVUZCVHlzeFFpeEhRVUZIYkZFc1NVRkRaSFZVTEVWQlFVbDRSQ3hUUVVGWExFVkJSMk1zYVVKQlFXcENkMFFzUlVGQlNYaEVMRmRCUTFaM1JDeEZRVUZKZUVRc1dVRkJXVFV4UWl4RlFVRlBLekZDTEVkQlFVZHpSQ3hQUVVNNVFrUXNSVUZCU1hoRUxGTkJRVmMxTVVJc1JVRkJUeXN4UWl4SFFVRkhjMFFzVDBGQlVVUXNSVUZCU1hoRUxGVkJSM0pEZDBRc1JVRkJTWGhFTEZOQlFWYzFNVUlzUlVGQlR5c3hRaXhIUVVGSGMwUXNUMEZCVDNaV0xGVkJUV3BDTEUxQlFXSnpWaXhGUVVGSk0yVXNVVUZCSzBJc1NVRkJaREpsTEVWQlFVa3paU3hSUVVNM1FqSmxMRVZCUVVrelpTeE5RVUZSTEUxQlNXSXlaU3hGUVVGSk4wc3NTVUZCVFRaTExFVkJRVWxvUWl4VFFVVmtaMElzUlVGQlNXaENMRk5CUVZjc1YwRkRWRGsxUWl4RlFVRlpPRFpDTEVWQlFVazNTeXhOUVVOd1FqWkxMRVZCUVVrM1N5eEpRVUZKTjNkQ0xFdEJRVTFVTEUxQlIxWnRPRUlzUlVGQlNUTmxMRTlCUTFKNllTeEZRVUZQZVdkQ0xGRkJRVk40YWtJc1MwRkJUVzA0UWl4RlFVRkpNMlVzVVVGSmNrSXlaU3hIUVVkU2NEVkNMRVZCUVU5SExFZEJRVWRuUXl4UFFVRlJMRU5CUTJwQ2JUTkNMRTlCUVZFc1UwRkJWVWdzUlVGQlQwa3NSVUZCU1c1SExFVkJRVkZxZVVJc1IwRkhjRU1zVDBGQlQyeEZMRXRCUVV0eFVTeFBRVUZSYlZVc1NVRkJjVUpITEVsQlFVc3NWVUZCVnl4SFFVRkpaMElzVDBGSE0wUTFaMElzVFVGQlRYY3pRaXhSUVVGVExFTkJRVVZzUnl4UlFVRlRhVWNzUjBGQlRVb3NSVUZCVHk5R0xFVkJRVkZxZVVJc1NVRkZiRVJ4TkVJc1VVRkJVeXhUUVVGVk5Wb3NSVUZCVFhWYUxFVkJRVTh2Uml4RlFVRlJhbmxDTEVkQlEzWkRMRWxCUVVreVVpeEZRVUZST1ZNc1JVRkJUM2xFTEdOQlFXVnRZeXhIUVVOcVF6WmFMRVZCUVZONk5VSXNSVUZCVDIwMVFpeE5RVUZQUVN4RlFVRlBMMFlzUlVGQlVXcDVRaXhIUVVOMFEzVTBRaXhGUVVGakxGZEJSMklzU1VGQlNYQkNMRVZCUVU5cVFpeEhRVUZYY0RaQ0xFdEJRVTByUXl4RlFVRlBiVU1zVDBGQlVTeEhRVUZKZVdRc1IwRkJVVFphTEVsQlIyeEVNMjFDTEVkQlFWTm5UaXhGUVVGVGJtWXNTVUZCU3pGRUxFdEJRVTBzV1VGRGFrTnhOMElzUlVGQlMzcFlMRTFCUVUwc1NVRk5aQ3hQUVVaQk5sa3NSVUZCV1VNc1QwRkJVMFFzUlVGRlpEVnRRaXhKUVVFd1FpeEpRVUZxUWpKdFFpeEZRVUZQYUdZc1RVRkRkRUo0WkN4TFFVRkxhVVVzUzBGQlRYYzBRaXhIUVVOWWVqaENMRXRCUVV0M1pDeE5RVUZQWjJZc1JVRkJUMmhtTEUxQlFVOXBaaXhKUVVVMVFqZFpMRXRCUVUwc1UwRkJWV3BwUWl4RlFVRk5iV2xDTEVWQlFWbHJXQ3hIUVVOcVF5eEpRVUZKTWtJc1JVRkJXU3hUUVVGVmFsb3NSMEZEZWtJc1NVRkJTVVVzUlVGQlQwWXNSVUZCVFVVc1dVRkRWa1lzUlVGQlRVVXNTMEZEWWtFc1JVRkJUVzlZTEVsQldWQXNUVUZVY1VJc2FVSkJRVlJ5TlVJc1NVRkRXSEUxUWl4RlFVRlZiRmdzUlVGRFZrRXNSVUZCWVc1cFFpeEZRVU5pUVN4UFFVRlBhMFVzUjBGRlNHbGxMRWRCUTBvNWFrSXNTMEZCUzNka0xFMUJRVTgzWWl4SFFVRlJMRXRCUVUwc1NVRkhjRUl6UWl4TFFVRkxhVVVzUzBGQlRTeFhRVU5xUWl4SlFVRkpkV1lzUjBGQlZTeEZRVU5pYkVrc1JVRkJaMElzVFVGQlVqTmFMRWRCUVdkQ1FTeEZRVUZQTEdGQlF5OUNhVGRDTEVWQlFWTTNOVUlzUlVGQlR6WTFRaXhQUVVOb1FteGhMRVZCUVU5SExFVkJRVk51Wml4SlFVRkxNVVFzVFVGRmRFSXNSMEZCUzNOaUxFVkJRME52U0N4RlFVRk5jRWdzU1VGQlYyOUlMRVZCUVUxd1NDeEhRVUZSYzBrc1RVRkRia01yV1N4RlFVRlhhbUVzUlVGQlRYQklMRk5CUjJ4Q0xFbEJRVTFCTEV0QlFWTnZTQ3hGUVVOVVFTeEZRVUZOY0Vnc1NVRkJWMjlJTEVWQlFVMXdTQ3hIUVVGUmMwa3NUVUZCVVRaV0xFZEJRVXRxYzBJc1MwRkJUVGhPTEVsQlEzUkVjV2hDTEVWQlFWZHFZU3hGUVVGTmNFZ3NTVUZMY0VJc1NVRkJUVUVzUlVGQlVYTm9RaXhGUVVGUGRqVkNMRTlCUVZGcFdTeExRVU4yUW5Ob1FpeEZRVUZSZEdoQ0xFZEJRVkZzV0N4UFFVRlRjRVVzVFVGRGJrSXNUVUZCVWpKQ0xFZEJRV2RDYVRkQ0xFVkJRVkYwYUVJc1IwRkJVV3RETEZGQlFWVTNZaXhKUVVVMVEyazNRaXhGUVVGUmRHaENMRWRCUVZFclppeExRVUZMZWxnc1MwRkJUVzlZTEVkQlF6TkNlRmdzUjBGQlZTeEZRVU5XYjFvc1JVRkJUek16UWl4UFFVRlJjVmNzUlVGQlR5eExRVTl1UW10SkxFZEJRVmwzV0N4SFFVTm9RbW8wUWl4RlFVRlBlV2RDTEZGQlFWTjRha0lzUzBGQlRUSkNMRTFCU1hwQ0t6WkNMRTlCUVZFc1UwRkJWUzgyUWl4SFFVbHFRaXhQUVVoakxFbEJRVlJCTEVsQlEwcEJMRVZCUVU5QkxFZEJRVkVzVFVGRlZETkNMRXRCUVV0cFJTeExRVUZOTEZkQlEycENMRWxCUVVseFdDeEZRVU5JYjBnc1JVRkJUMGNzUlVGQlUyNW1MRWxCUVVzeFJDeE5RVU55UW5ka0xFVkJRVkZyUml4RlFVRk5MMmRDTEVWQlFVOHNVMEZEY2tJcmFFSXNSVUZCVVdoQ0xFVkJRVTB2WjBJc1JVRkJUeXhqUVVOeVFtazNRaXhGUVVGVE56VkNMRVZCUVU4Mk5VSXNUMEZEYUVKMk5VSXNSVUZCVTIxaExFVkJRVkZCTEVWQlFVMXVZU3hQUVVGVExFVkJZV3BETEVsQlZrRnhaaXhGUVVGTFoyRXNVVUZCVXl4RlFVZGtNelZDTEVWQlFVOTVZU3hOUVVGUGVHUXNTMEZCVFRKQ0xFVkJRVTBzU1VGRmNrSXJhRUlzUjBGQlUwRXNSVUZCVFVVc1RVRkRia0pHTEVWQlFVMUZMRXRCUVV0dWFrSXNTMEZCVFZRc1RVRkJUU3hIUVVsc1FuTmlMRVZCUVZGemFFSXNSVUZCVDNZMVFpeFBRVUZSYVZrc1MwRkRka0p6YUVJc1JVRkJVWFJvUWl4SFFVRlJiRmdzVDBGQlUzQkZMRTFCUVZFME9FSXNSVUZCVVhSb1FpeEhRVUZSYTBNc1VVRkJWVGRpTEVsQlF5OUVhVGRDTEVWQlFWRjBhRUlzUjBGQlVTdG1MRXRCUVV0NldDeE5RVUZOTEVkQlF6TkNaMW9zUlVGQlR6TXpRaXhQUVVGUmNWY3NSVUZCVHl4SlFVdDRRaXhKUVVGTlFTeEZRVUZSTEVWQlFVZEJMRVZCUVZGcVdTeEZRVUZSYVZrc1NVRkRNMEpyUXl4RlFVRlBiRU1zU1VGQlYydERMRVZCUVU5c1F5eEhRVUZSYjJoQ0xGRkJRM0pEYkdZc1JVRkJUMnhETEVkQlFWRnZhRUlzVDBGQlQybzRRaXhMUVVGTlZDeGhRVXQyUWpCcFFpeEZRVUZMWjJFc1dVRkxaak0xUWl4RlFVRlBhMElzUzBGQlRTeERRVUZGTEZOQlFWVXNUMEZCVVN4UlFVRlZMRk5CUVZWelJDeEZRVUZKYmtNc1IwRkRlRVFzU1VGQlNYa3pRaXhGUVVGUk9UVkNMRVZCUVU5SExFZEJRVWxyUXl4SFFVTjJRbkpETEVWQlFVOUhMRWRCUVVsclF5eEhRVUZUTEZOQlFWVTRNa0lzUlVGQlR5OUdMRVZCUVZGcWVVSXNSMEZETlVNc1QwRkJaMElzVFVGQlZHYzBRaXhIUVVGclF5eHJRa0ZCVmtFc1JVRkRPVUpYTEVWQlFVMXNPRUlzVFVGQlQxZ3NTMEZCVFhGRkxGZEJRMjVDY2tVc1MwRkJTM1U0UWl4UlFVRlRka01zUjBGQlR6VXdRaXhIUVVGTkxFZEJRVkU0TWtJc1JVRkJUeTlHTEVWQlFWRnFlVUlzVFVGTGNrUnVRaXhGUVVGUGEwSXNTMEZCVFN4RFFVTmFOalJDTEZWQlFWYzVReXhIUVVGUExGRkJRMnhDSzBNc1VVRkJVeTlETEVkQlFVOHNVVUZEYUVKblJDeFpRVUZoYUVRc1IwRkJUeXhWUVVOd1FtbEVMRTlCUVZFc1EwRkJSVFZITEZGQlFWTXNVVUZEYmtJMlJ5eFJRVUZUTEVOQlFVVTNSeXhSUVVGVExGRkJRM0JDT0Vjc1YwRkJXU3hEUVVGRk9VY3NVVUZCVXl4WFFVTnlRaXhUUVVGVmFuaENMRVZCUVUwMmJVSXNSMEZEYkVKc2NFSXNSVUZCVDBjc1IwRkJTV3RETEVkQlFWTXNVMEZCVlRneVFpeEZRVUZQTDBZc1JVRkJVV3A1UWl4SFFVTTFReXhQUVVGUGJFVXNTMEZCUzNVNFFpeFJRVUZUZEZFc1JVRkJUMmxSTEVWQlFVOHZSaXhGUVVGUmFubENMRTFCU1RkRGJrSXNSVUZCVHpZMVFpeFBRVUZUTEVkQlEyaENOelZDTEVWQlFVOHJNVUlzUjBGQlIyZENMRXRCUVU4c1YwRkRhRUlzU1VGQlNYTkNMRVZCUTBocU5VSXNSVUZCU1N4RlFVTktlVFpDTEVWQlFWTTNOVUlzUlVGQlR6WTFRaXhQUVVscVFpeEpRVVpCZEVRc1IwRkJVVGQzUWl4TFFVRkxObXBDTEUxQlJVeHVjVUlzUlVGQlNYazJRaXhGUVVGUGRqVkNMRTlCUVZGc1FpeExRVU14UW1rMVFpeEZRVUZSZDBJc1JVRkJVWG8yUWl4UFFVZERlVFpDTEVWQlFWRjZOa0lzUzBGQlVXazFRaXhIUVVOb1EzZENMRVZCUVU4ek0wSXNUMEZCVVRsRExFbEJRVXNzUjBGSmFFSjVOa0lzUlVGQlQzWTFRaXhSUVVOYVRpeEZRVUZQS3pGQ0xFZEJRVWRzVml4UFFVVllNRllzVVVGQlVYcDZRaXhIUVVkVU9VTXNSVUZCVHlzeFFpeEhRVUZIYzBNc1RVRkJVU3hUUVVGVlFTeEhRVU16UW5JMFFpeEZRVUZQTmpWQ0xFOUJRVTlvT0VJc1MwRkJUWGMyUWl4SFFVTndRbkkwUWl4RlFVRlBLekZDTEVkQlFVYzNhMElzVTBGSFdHeFNMRVZCUVU4ck1VSXNSMEZCUjJVc1UwRkJWeXhIUVVOeVFqa3lRaXhGUVVGUEt6RkNMRWRCUVVjM2EwSXNUVUZCVVN4WFFVTmFjMnhDTEV0QlNVeEJMRWxCUVdFc1JVRkRZa2NzVDBGSFJETXlRaXhGUVVGUEt6RkNMRWRCUVVkc1ZpeExRVUZQTEZkQlEyaENNbFlzUjBGQllTeE5RVWRrZURKQ0xFVkJRVThyTVVJc1IwRkJSM05FTEU5QlFWTXNRMEZEYkVKblFpeExRVUZOTEVsQlEwNURMRXRCUVUwc1NVRkhUbmhYTEZOQlFWVXNTMEZOV0RscVFpeEZRVUZQUnl4SFFVRkhielpDTEUxQlFWRXNVMEZCVlVNc1JVRkJUVFUzUWl4SFFVbHFReXhQUVVoQk5EZENMRVZCUVU5NE5rSXNSVUZCVHlzeFFpeEpRVUZMTHpGQ0xFVkJRVThyTVVJc1IwRkJSM05FTEU5QlFWRnRRaXhKUVVGcFFrRXNSVUZEZEVRMU4wSXNSVUZCVDBFc1IwRkJVU3hMUVVWU00wSXNTMEZCUzNka0xFMUJRVTgzWWl4RlFVRk5MRk5CUVZVeVN5eEZRVUZOYjFnc1IwRkRlRU1zU1VGQlNUaGFMRVZCUVZWNk9VSXNSVUZCVDJkblFpeFhRVUZaZWxRc1JVRkJUV2w0UWl4SFFVTjJRemRhTEVWQlFVMUZMRXRCUVU4c1YwRkRXamRxUWl4RlFVRlBNRGxDTEdGQlFXTkVMRTlCVFhoQ0xGZEJRME1zU1VGQlNUZHpRaXhGUVVGUkwxRXNSVUZCVXpCRExHTkJRV1VzVTBGRmJrTTJOVUlzUlVGRVUzWTRRaXhGUVVGVE1FTXNZMEZCWlN4VlFVTndRa3NzV1VGQllTOURMRVZCUVZNd1F5eGpRVUZsTEZkQlJXNUVjVThzUlVGQlRXaFFMRXRCUVU4c1YwRkpZbEFzUlVGQlVYTTRRaXhSUVVFd1FpeExRVUZvUWk5elFpeEZRVUZOZWtvc1RVRkplRUk1Uml4RlFVRlJkVGhDTEZsQlFXTjRRaXhGUVVGSmVHMUNMRlZCU1RGQ2FFWXNSVUZCVVM5UkxFVkJRVk13UXl4alFVRmxMRlZCUXpGQ05FVXNUVUZCVVN4SlFVTmtlVW9zUlVGQlRXaFFMRXRCUVU4c1VVRkRZbEFzUlVGQlVYYzRRaXhYUVVFMlFpeE5RVUZvUW1wMFFpeEZRVUZOZWtvc1RVRndRalZDTEVkQmQwSkJMRWxCUVVreU1rSXNSMEZEU0d4MlFpeEhRVUZoTlV3c1JVRkJUelpQTEV0QlFVdHFSQ3hYUVVVeFFqVk1MRVZCUVU5SExFZEJRVWRuUXl4UFFVRlJMRU5CUTJwQ05FMHNTMEZCVFN4VFFVRlZNVTBzUlVGQlRUaENMRWRCUTNKQ0xFOUJRVTl0WVN4RlFVRlJjbWhDTEV0QlFVMHJReXhGUVVGUEswOHNTMEZCVFRGTkxFVkJRVTA0UWl4RlFVRlBOME1zVlVGQlZXaENMRTlCUVZNc1NVRkhia1Y1TmtJc1YwRkJXU3hUUVVGVk1UUkNMRWRCUTNKQ0xFOUJRVTl3Uml4TFFVRkxhVVVzUzBGQlRTeFhRVU5xUW14Q0xFVkJRVThyTmtJc1YwRkJXVGs1UWl4TFFVRk5iMFlzVVVGTE5VSnlReXhGUVVGUGJVTXNUMEZCVVN4RFFVTmtORTBzUzBGQlRTeFRRVUZWTVU0c1JVRkJUV2RDTEVWQlFVMDRRaXhIUVVNelFpeEpRVUZKY0VRc1JVRkJTelJtTEVWQlExSnhZU3hGUVVGUk16VkNMRVZCUVVzM1F5eFRRVWRrTEVkQlFXVXNTVUZCVm5jNFFpeEhRVUY1UWl4SlFVRldRU3hIUVVGNVFpeEpRVUZXUVN4RlFVdHVReXhaUVVGclF5eEpRVUYwUWpNMVFpeEZRVUZMTlVJc1lVRkRWRThzUlVGQlR6Um1MRXRCUVUxMlpTeEZRVUZOWjBJc1JVRkJUVGhDTEVsQlMyeENMRWxCUVZZMk1rSXNSMEZCWjBKb04wSXNSVUZCVHl0WExGTkJRVlV4Vml4TFFVTnlRM05tTEVWQlFWRXpaMElzUlVGQlQyazNRaXhWUVVGWE5UUkNMRVZCUVV0dlF5eHBRa0ZETlVKNlJTeEZRVUZQTms4c1MwRkJTeTlGTEUxQlFVMXFReXhMUVVGTE5FTXNTMEZCVFhCSkxFZEJRVk41TkVJc1VVRkJWMmcwUWl4VFFVZDBRMEVzU1VGQlZuRkNMRVZCUTFjc1QwRkJWa0VzVDBGRFNtNUZMRVZCUVU4ck5rSXNWMEZCV1RFMVFpeEZRVUZOWjBJc1IwRkpja0p6WlN4SFFVRlRMRkZCUVZOQkxGRkJRM1ZDTjJRc1MwRkJNME12UWl4RlFVRk5OR1lzUlVGQlRXcENMRWxCUVV0eVpTeEZRVUZOT0VNc1JVRkJUemxDTEVsQlEzcENkRUlzUjBGSFVrMHNSVUZCU3pOQ0xHRkJRV015UXl4RlFVRk5PRUlzUlVGQlVTeEpRVU14UWtFc1IwRkhTSGRqTEVkQlFWTXNVVUZCVTBFc1IwRkJLME1zVVVGQmNFTTFaaXhGUVVGTk5HWXNSVUZCVFdoblFpeEpRVUZMVlN4RlFVRk5aMElzU1VGRGFrUjBRaXhGUVUxTkxFOUJTR1JCTEVWQlFVMW1MRVZCUVU5M1RpeExRVUZMZFVJc1MwRkJUVEZPTEVWQlFVMW5RaXhUUVVkVVV5eEZRVUZaTDBJc1NVRkhiRU5yTmtJc1ZVRkJWeXhEUVVOV2NqaENMRXRCUVUwc1EwRkRURGhuUWl4SlFVRkxMRk5CUVZWeVpTeEZRVUZOT0VNc1IwRkRjRUlzU1VGQlRUbEdMRVZCUVZGM09FSXNXVUZCZDBJc1ZVRkJWakV5UWl4SFFVTXpRbXRHTEVWQlFWVm9TU3hGUVVGTkxGTkJRVmtzUTBGRE5VSXNTVUZCU1doRExFVkJRVTFuUXl4RlFVRkxPRU1zVFVGTFppeFBRVXBCT1VNc1JVRkJTek5DTEdGQlFXTXNUMEZCVVhsRkxFZEJRM1JDT1VVc1NVRkRTbWRETEVWQlFVczRReXhOUVVGUk9VVXNSMEZGVURoRkxFMUJUVmcwTWtJc1YwRkJXU3hUUVVGVk1UVkNMRVZCUVUwNFF5eEhRVU16UWl4SlFVRkpPVUlzUlVGRFNHcEVMRVZCUVVrc1JVRkpTamczUWl4RlFVRlpMekpDTEVkQlFWTkJMRVZCUVUweVJpeE5RVUZQY1ZBc1IwRkZia01zUjBGQlN5dG9RaXhIUVVFclFpeEpRVUZzUWpjMVFpeEZRVUZMTjBNc1UwRkRkRUlzUzBGQlZUWkVMRVZCUVU4Mk5FSXNSVUZCVnprM1FpeE5RVU16UW1sRExFVkJRVXN5U2l4blFrRkJhVUl6U1N4TlFVOHhRbmswUWl4SFFVRlhMRU5CUTFad1lpeEpRVUZMTEZOQlFWVnlaU3hGUVVGTk9FTXNSVUZCVHpsQ0xFZEJVVE5DTEU5QlVHVXNTVUZCVmpoQ0xFVkJSMHB1UlN4RlFVRlBLelpDTEZkQlFWa3hOVUlzUlVGQlRXZENMRWRCUlhwQ2FFSXNSVUZCU3pOQ0xHRkJRV015UXl4RlFVRk5RU3hIUVVWdVFrRXNTVUZKVkhKRExFVkJRVTlyUWl4TFFVRk5iRUlzUlVGQlR6WlBMRXRCUVVzdlJTeE5RVUZOYWtNc1MwRkJTM05hTEU5QlFVOXlXQ3hOUVVGUExGRkJRVlVzVTBGQlZYUkdMRVZCUVVsdVF5eEhRVU42UlN4SlFVRkpPRFJDTEVWQlFWTjJka0lzUjBGQldYWktMRWxCUVZWeVF5eEZRVUZQZDA0c1MwRkJTM1ZDTEV0QlJTOURia1FzUjBGQldYWktMRWRCUVZNc1UwRkJWV2hDTEVWQlFVMW5RaXhGUVVGTmQwTXNSMEZETVVNc1NVRkJTVGxFTEVWQlFVdHRiVUlzUlVGRFVtdFZMRVZCUVdkQ0x6UkNMRVZCUVV0dlF5eGpRVmwwUWl4UFFWWk5TU3hKUVVkTWNXbENMRVZCUVZOMFlpeEhRVUZaZDNaQ0xFZEJRM0pDZUhaQ0xFZEJRVmwzZGtJc1IwRkJhMEp5TmtJc1JVRkRPVUpCTEVWQlFYRkRMRTFCUVM5Q2J6WkNMRVZCUVZFNU5VSXNSVUZCVFdkQ0xFVkJRVTEzUXl4SFFVTjZRblV5UWl4RlFVTkJMRXRCUTBSNGRrSXNSMEZCV1hkMlFpeEhRVUZyUW14VkxFZEJSWGhDYm0xQ0xFdEJUMVFzU1VGQlNYTTJRaXhIUVVGaExITkRRVU5vUWtNc1IwRkJZU3huUWtGNVNXSXNVMEZCVTBNc1IwRkJhMEp3TTBJc1IwRkZNVUlzVDBGRVlVRXNSVUZCVFRKR0xFMUJRVTl4VUN4SlFVRnRRaXhKUVVNdlFuUlBMRXRCUVUwc1MwRkpkRUlzVTBGQlV6SjNRaXhIUVVGVmJqWkNMRWRCUTJ4Q0xFOUJRVTlCTEVWQlFVczFRaXhqUVVGblFqUkNMRVZCUVVzMVFpeGhRVUZqTEZWQlFXRXNSMEZITjBRc1UwRkJVMmM0UWl4SFFVRm5RblF6UWl4SFFVTjRRaXhQUVVGTGRrSXNUVUZCVFVNc1VVRkJVM05DTEVkQlExcEJMRVZCUldNc2FVSkJRVlpCTEVkQlEwcEJMRVZCUVUweVJpeE5RVUZQY1ZBc1NVRkZaQ3hIUVhoS1VtNWFMRVZCUVU5SExFZEJRVWRuUXl4UFFVRlJMRU5CUTJwQ2VXUXNTMEZCVFN4VFFVRlZkbVFzUlVGQlRUaENMRWRCUTNKQ0xFOUJRVTl0WVN4RlFVRlJjbWhDTEV0QlFVMHJReXhGUVVGUE5HWXNTMEZCVFhaa0xFVkJRVTA0UWl4RlFVRlBOME1zVlVGQlZXaENMRTlCUVZNc1NVRkhia1Z2TjBJc1YwRkJXU3hUUVVGVmNqVkNMRWRCUTNKQ0xFOUJRVTl3Uml4TFFVRkxhVVVzUzBGQlRTeHJRa0ZEVm1wRkxFdEJRVTByUXl4RlFVRlBNamRDTEZGQlFWTjBOVUlzU1VGQlZVRXNVVUZMTVVOeVF5eEZRVUZQYlVNc1QwRkJVU3hEUVVOa2VXUXNTMEZCVFN4VFFVRlZkbVVzUlVGQlRXZENMRVZCUVUwNFFpeEhRVU16UWl4SlFVRkpjRVFzUlVGQlN6Um1MRVZCUTFKeFlTeEZRVUZSTXpWQ0xFVkJRVXMzUXl4VFFVZGtMRWRCUVdVc1NVRkJWbmM0UWl4SFFVRjVRaXhKUVVGV1FTeEhRVUY1UWl4SlFVRldRU3hGUVZkdVF5eFBRVkJsTEVsQlFWWkJMRWRCUVdkQ2FEZENMRVZCUVU4clZ5eFRRVUZWTVZZc1MwRkhja05uUWl4RlFVRlBja01zUlVGQlR6STNRaXhSUVVGVGREVkNMRWxCUVZWQkxFVkJRMnBEYzJVc1JVRkJVVE5uUWl4RlFVRlBkekZDTEZWQlFWZHVla0lzVTBGSFdsTXNTVUZCVm5GQ0xFVkJRME4zWXl4SFFVRlRMRkZCUVZOQkxGRkJRM1ZDTjJRc1MwRkJNME12UWl4RlFVRk5OR1lzUlVGQlRXcENMRWxCUVV0eVpTeEZRVUZOT0VNc1JVRkJUemxDTEVsQlEzcENkRUlzUlVGSFEwMHNSVUZCVFdkQ0xFZEJRVk00UWl4RlFVZHdRbmRqTEVkQlFWTXNVVUZCVTBFc1IwRkJLME1zVVVGQmNFTTFaaXhGUVVGTk5HWXNSVUZCVFdoblFpeEpRVUZMVlN4RlFVRk5aMElzU1VGRGFrUjBRaXhGUVVkRVRTeEZRVUZOWjBJc1NVRkhaRzE2UWl4VlFVRlhMRU5CUTFZdmFVSXNVMEZCVlN4RFFVTlVPVklzU1VGQlN5eFRRVUZWVlN4SFFVOWtMRWxCUVVsMU5rSXNSVUZCVnpVM1FpeEZRVUZQZDA0c1MwRkJTM1ZDTEV0QlFVMHhUaXhGUVVGTkxGbEJSWFpETEU5QlFVdDFOa0lzUlVGRFJ6VkxMRk5CUVZVMFN5eEZRVUZWTEVsQlNUTkNVQ3hIUVVGWE5YZENMRXRCUVUxd1NpeEZRVUZMWjBrc1YwRkRkRUpwZVVJc1IwRkJWemQzUWl4TFFVRk5jRW9zUlVGQlMyZEpMRmRCUTNSQ2FFa3NSVUZCUzIxU0xFdEJSVVVzUjBGSFFTeExRVXRZYlhCQ0xGRkJRVk1zUTBGRFVrVXNTVUZCVHl4VlFVTlFReXhOUVVGVExHVkJXVXg2T1VJc1JVRkJVWFU0UWl4alFVTmlOVFpDTEVWQlFVOTNNVUlzVlVGQlZUVnBRaXhUUVVGWExFTkJRek5DYWxNc1NVRkJTeXhUUVVGVlZTeEhRVWxrTEVsQlFVazRVQ3hGUVVGVE9WQXNSVUZCUzNoQ0xGZEJTV3hDTEU5QlNFdHpVaXhIUVVGVlFTeEZRVUZQZEZJc1dVRkRja0p6VWl4RlFVRlBkRklzVjBGQlYyZFVMR05CUlZvc1RVRkZValpOTEVsQlFVc3NVMEZCVlhKbExFZEJTV1FzU1VGQlNUaFFMRVZCUVZNNVVDeEZRVUZMZUVJc1YwRkRZbk5TTEVsQlEwcEJMRVZCUVU4d1FpeGpRVVZHTVVJc1JVRkJUM1JTTEZsQlExaHpVaXhGUVVGUGRGSXNWMEZCVjJkVUxHdENRVTkyUWpkVExFVkJRVTlyUWl4TFFVRk5MRU5CUTFvc1YwRkRRU3hYUVVOQkxGbEJRMEVzWTBGRFFTeGpRVU5CTEZWQlEwRXNWVUZEUVN4VFFVTkJMR05CUTBFc2JVSkJRMFVzVjBGRFJteENMRVZCUVU4eU4wSXNVVUZCVXpFclFpeExRVUZMZDBnc1pVRkJhMEo0U0N4UFFUUkNlRU1yUXl4RlFVRlBSeXhIUVVGSFowTXNUMEZCVVN4RFFVTnFRalExUWl4VFFVRlZMRk5CUVZVMU0wSXNSMEZEYmtJc1NVRkJTVFl6UWl4RlFVRlRNelpDTEVWQlFVMTVTeXhGUVVGTGJYZENMRVZCUVZWRExFVkJRVTl1TmtJc1JVRkJSMjgyUWl4RlFVTXpReTg0UWl4RlFVRkpMRVZCUlV3c1IwRkJTMlFzUlVGQldUWkdMRWRCUTJoQ0xFOUJRVTlzU0N4TFFVRkxhVVVzUzBGQlRTeFRRVUZWWVN4SFFVTXpRaTlDTEVWQlFWRXZReXhOUVVGUE9DdENMRk5CUVZVMU0wSXNSVUZCVFhwSExFdEJRVTFVTEV0QlFVMDRSU3hGUVVGSGVUVkNMRWRCUVZWMkswSXNWVUZOTVVRc1NVRkdRU3NyUWl4RlFVRlZVQ3hIUVVGblFuUXpRaXhKUVVWaU4wUXNUMEZEV2l4TFFVRlZaU3hGUVVGUGNFVXNTMEZCVFcxRExFMUJTWFJDTEVkQlNFRTJPRUlzUlVGQlYxUXNSMEZCVlc0MlFpeEhRVU55UW5sTExFVkJRWGRDTEVsQlFXeENla3NzUlVGQlN6ZERMRlZCUVc5Q0xFbEJRVTByT0VJc1IwRkJhMEpWTEVkQlFXRXNTVUZGZWtRc1EwRkZWaXhKUVVSQmJEWkNMRVZCUVVrc1JVRkRUVzAyUWl4RlFVRlJSaXhGUVVGVGFqWkNMRTFCUTNKQ0swb3NSVUZCU1doUExGRkJRVk1zU1VGQlRXOHJRaXhGUVVGUkxFdEJRVkVzU1VGRGRrTndkMElzUjBGQlQyOTNRaXhGUVVGUkxFdEJUVnBFTEV0QlJFeEZMRVZCUVdGYUxFZEJRV3RDZW5aQ0xFdEJSVGxDZWtzc1JVRkJTek5DTEdGQlFXTXNVVUZCVTNrNFFpeEhRVTFvUXl4UFFVRlBiQzlDTEUxQlIxSnRMMElzV1VGQllTeFRRVUZWYWpSQ0xFZEJRM1JDTEVsQlFVazJNMElzUlVGQlV6TTJRaXhGUVVGTmVVc3NSVUZCUzIxM1FpeEZRVUZWUXl4RlFVRlBialpDTEVWQlFVZHZOa0lzUlVGRE0wTXZPRUlzUlVGQlNTeEZRVVZNTEVkQlFVdGtMRVZCUVZrMlJpeEhRVU5vUWl4UFFVRlBiRWdzUzBGQlMybEZMRXRCUVUwc1UwRkJWV0VzUjBGRE0wSXZRaXhGUVVGUkwwTXNUVUZCVDIwdlFpeFpRVUZoYWpSQ0xFVkJRVTE2Unl4TFFVRk5WQ3hMUVVGTk9FVXNSVUZCUjNrMVFpeEhRVUZWZGl0Q0xGVkJTVGRFTEVsQlFVMXhSU3hWUVVGVmFFSXNUMEZEWml4UFFVRlBja1FzUzBGQlN6aFNMRXRCUVUwc1VVRkJVeXhKUVVzMVFpeEpRVVpCYVhSQ0xFVkJRVlZRTEVkQlFXZENkRE5DTEVsQlJXSTNSQ3hQUVVOYUxFdEJRVlZsTEVWQlFVOXdSU3hMUVVGTmJVTXNUVUZOZEVJc1IwRk1RVFk0UWl4RlFVRlhWQ3hIUVVGVmJqWkNMRWRCUjNKQ2VVc3NSVUZCZDBJc1NVRkJiRUo2U3l4RlFVRkxOME1zVlVGQmIwSXNTVUZCVFNzNFFpeEhRVUZyUWxVc1IwRkJZU3hKUVVWNlJDeERRVVZXTEVsQlJFRnNOa0lzUlVGQlNTeEZRVU5OYlRaQ0xFVkJRVkZHTEVWQlFWTnFOa0lzVFVGSE1VSXNTMEZCVVN0S0xFVkJRVWxvVHl4UlFVRlRMRWxCUVUxdkswSXNSVUZCVVN4TlFVRlRMRWRCUXpORGNIZENMRVZCUVUxQkxFVkJRVWsxU1N4UlFVRlRMRWxCUVUxbk5VSXNSVUZCVVN4SlFVRkxMRXRCVFc1RFJDeExRVVJNUlN4RlFVRmhXaXhIUVVGclFucDJRaXhMUVVVNVFucExMRVZCUVVzelFpeGhRVUZqTEZGQlFWTjVPRUlzUjBGTmFFTXNUMEZCVDJ3dlFpeE5RVWRTYnk5Q0xGbEJRV0VzVTBGQlZXdzBRaXhGUVVGUGJUUkNMRWRCUXpkQ0xFbEJRVWt4T1VJc1UwRkJZM1ZHTEVWQlEycENielJDTEVWQlFYZENMRmRCUVZRek9VSXNSMEZCY1VKblJTeE5RVUZOUXl4UlFVRlRjMElzUjBGRmNFUXNUVUZCZVVJc2EwSkJRV0p0TkVJc1IwRkJNRUpETEVWQlF6bENSQ3hGUVVGWGNpOUNMRXRCUVVzNEswSXNVMEZCVlRVelFpeEhRVUZWYkVnc1MwRkJTMjB2UWl4WlFVRmhhalJDTEVkQlIzcEVOMFlzUlVGQldUWkdMRWRCUTFSc1NDeExRVUZMYVVVc1MwRkJUU3hUUVVGVk9VSXNSMEZETTBKWkxFVkJRVkV2UXl4TlFVRlBieTlDTEZsQlEyUnNORUlzUlVGQlRYcEhMRXRCUVUxVUxFdEJRVTF0UXl4RlFVRkhiemhDTEVkQlFWVjJLMElzVFVGQlVYRXZRaXhIUVVOMlEwRXNTMEZMU1hJdlFpeExRVUZMYVVVc1MwRkJUU3hYUVVOcVFpeEpRVUZKWjAwc1JVRkJWemxPTEVWQlFVZHpXU3hGUVVGTk9HdENMRVZCUlhoQ0xFZEJRVXRFTEVWQlQwb3NTVUZLUVc0NVFpeEZRVUZKTEVWQlEwcHpXU3hGUVVGUE1WZ3NSVUZCVVM5RExFMUJRMloxTDBJc1JVRkJZV1lzUjBGQlowSjBNMElzUjBGRmJrSXJTU3hGUVVGWmMzWkNMRVZCUVZsd09VSXNUVUZITlVKeldTeEZRVUZMSzJ0Q0xGTkJRVlYyZGtJc1IwRkRia0ozU3l4RlFVRkxNR3RDTEZsQlFXRnNka0lzUjBGRmJFSjNTeXhGUVVGTGNXdENMRk5CUVZVM2RVSXNZVUZMU1hCTExFbEJRVlp4UWl4SFFVRm5ReXhaUVVGVWRrWXNTMEZEYkVOelR5eEZRVUZaYzNWQ0xFZEJRVlYySzBJc1VVRkpja0kyYVVJc1JVRkJVMG9zU1VGQlMzcHBRaXhMUVVGTkxHZENRVUZwUW1sUkxFZEJUMnBEYWxFc1MwRkJTM2xETEdOQlExUjZReXhMUVVGTGVVTXNZVUZCWXl4UlFVTnNRbmRPTEVsQlFYVkNMRWxCUVZZdlNTeEZRVU5hTEVkQlEwRXlZaXhGUVVGVGJtWXNTVUZCU3pGRUxFdEJRVTBzYTBKQlFYRkNMRkZCVHk5RGR5OUNMRk5CUVZVc1UwRkJWWGc0UWl4SFFVTnVRaXhKUVVGSmFVNHNSVUZCVnpkTUxFVkJRMlJxUXl4RlFVRkpMRVZCUjB3c1NVRkVRVGhPTEVWQlFWa3NTVUZCVFdwT0xFVkJRVmNzU1VGRGJrSnZRaXhGUVVGUGNFVXNTMEZCVFcxRExFMUJRM1JDTEVkQlFYVkNMRWxCUVd4Q2FVTXNSVUZCU3pkRExGZEJRMUFzU1VGQlRTczRRaXhIUVVGclFrTXNSMEZCVlc0MlFpeEpRVUZYTEV0QlFVMTJSQ3hSUVVGVGIxQXNTVUZCWlN4RlFVTTNSU3hQUVVGUExFVkJTVlFzVDBGQlR5eExRVTlVTEVsQlFVbDNka0lzUjBGQlZTeE5RVVZrTVRoQ0xFVkJRVTlITEVkQlFVZG5ReXhQUVVGUkxFTkJRMnBDT1VNc1NVRkJTeXhUUVVGVk9FVXNSMEZEWkN4SlFVRkpkMk1zUlVGQlR6Vm1MRVZCUVVzeWNrSXNSVUZEWm5KeVFpeEZRVUZQY0VVc1MwRkJUU3hIUVVWa0xFOUJRVTF4UlN4VlFVRlZhRUlzVVVFd1FtaENiM05DTEVWQlFXdENjSFZDTEVWQlFWazJSaXhIUVVWMlFteElMRXRCUVV0cFJTeExRVUZOTEZOQlFWVTVRaXhIUVVNelFpeEpRVUZKUXl4RlFVVnRRaXhKUVVGc1FuQkRMRXRCUVV0MVFpeFhRVmRGTEU5QlRsaGhMRVZCUkVseGRFSXNSVUZEUlhadlFpeEZRVUZOZWtjc1MwRkJUVlFzUzBGQlRXMURMRVZCUVVkWkxFVkJRVkV2UXl4TlFVRlBiME1zVDBGRmNFTTRSU3hIUVV0T09VVXNSVUZCVFN4SFFVVnZRaXhwUWtGQlVrRXNSVUZEYkVKQkxFZEJRVThzUjBGRlNYVkVMRTFCUVUxRExGRkJRVk40UkN4TFFVTXhRa0VzUlVGQlRWY3NSVUZCVDI5Q0xFbEJRVXN2UWl4RlFVRkxMRk5CUVZVNFJTeEhRVU5vUXl4UFFVRm5RaXhOUVVGVVFTeEZRVUZuUWl4SFFVRkxRU3hGUVVGUkxFOUJTWFJEZDJNc1JVRkJVVE5uUWl4RlFVRlBNamhDTEZOQlFWVXhMMElzUzBGQlN6SkNMRTlCUVZWdlFpeEZRVUZQTWpoQ0xGTkJRVlV4TDBJc1MwRkJTMjlOTEZOQlFWTTFSU3hwUWtGSGNrUXNVVUZCVTJ0akxGRkJRU3RETjJRc1NVRkJjRU0yWkN4RlFVRk5ha0lzU1VGQlMzcHBRaXhMUVVGTmIwTXNSVUZCU3l4WFFVTXpSSEJETEV0QlFVdHJTQ3hOUVVGUk9VVXNUMEY2UkZSblF5eEhRVU5LYzJZc1JVRkJVVE5uUWl4RlFVRlBNamhDTEZOQlFWVjBOMElzUlVGQlMzcERMRTlCUXpkQ2IwSXNSVUZCVHpJNFFpeFRRVUZWZERkQ0xFVkJRVXRuU1N4VFFVRlROVVVzYVVKQlJ5OUNMRkZCUVZOcll5eFJRVU5uUXpka0xFdEJRWFpETDBJc1JVRkJUVFJtTEVWQlFVMW9aMElzU1VGQlMxVXNSVUZCVFN4VlFVVnNRazRzUlVGTldTeHBRa0ZJY0VKQkxFVkJRVTFOTEVWQlFVczRReXhQUVVsSWNFUXNSVUZCU1cxRExGRkJRVk4zTlVJc1IwRkJVeXhKUVVsb1FpeE5RVUZRTXpkQ0xFVkJRV01zUjBGQlMwRXNUMEZITTBJc1MwRjVRMGhtTEVWQlFVOXRReXhQUVVGUkxFTkJRMlIzTmtJc1UwRkJWU3hEUVVOVWJsb3NUMEZCVVN4RFFVTlFOMmxDTEVsQlFVc3NVMEZCVlZVc1IwRkZaQ3hKUVVGSmFFTXNSVUZCVFZjc1JVRkJUM2RPTEV0QlFVdDFRaXhMUVVGTk1VNHNSVUZCVFN4VFFVTnNReXhQUVVGakxFMUJRVkJvUXl4RlFVTk9RU3hGUVUxQmF6aENMRWRCUVd0Q2RqZENMRVZCUVU5U0xFdEJRVTAyUWl4TlFVZHNRekpFTEU5QlFWRXNRMEZEVUhKRkxFbEJRVXNzVTBGQlZWVXNSMEZEWkN4SlFVRkpPRU1zUlVGQlQzRm1MRVZCUVZGd2EwSXNSVUZEYkVKblJDeEZRVUZWWml4RlFVRkxaU3hSUVVObWJWY3NSVUZCVVd4WUxFVkJRVXQzVWl4alFVTmlObE1zUlVGQmIwSXNaVUZCWkhKclFpeEZRVUZMZWtNc1MwRkRXR2xyUWl4RlFVRlROa01zUlVGQlRTeExRVUZQTEVkQlEzUkNNazBzUlVGQlRUTk5MRVZCUVUxdVRpeEZRVUZSTEVWQlFVbHVWeXhGUVVGUk9VSXNUMEZWYWtNc1NVRlFRMnhDTEVWQlJFbHRXaXhGUVVGUkxFVkJRMUk0V2l4RlFVZEJNMDBzUlVGQlRXNU9MRVZCUVZFc1JVRkpXRzVhTEVWQlFVbHBla0lzUlVGQlMycDZRaXhKUVV0b1FpeExRVXBCYjJ0Q0xFVkJRVk53YUVJc1JVRkJVMmhFTEVsQlNVcDNWQ3hWUVVGWmVGUXNTVUZCVFcxYUxFdEJSemRDYVV3c1JVRkJUM0JoTEZsQlEweHZZU3hGUVVGUE0ycENMRmRCUVZkMVNpeFhRVU51UWtNc1JVRkJWVzFoTEVWQlFVOHpha0lzVjBGQldTeGhRVUZwUWl4RFFVMXFSQ3hIUVVoQmMwVXNSVUZCVVc1RkxFVkJRVkYzYWtJc1IwRkJVMjVyUWl4TlFVZHdRbkZ0UWl4RlFVTktMRTlCUVU5MmFFSXNSVUZKVWpCbExFVkJRVTlvYkVJc1MwRkJUWE5ITEVkQlNXWXNUMEZCVHpCbExFZEJSMUp1UkN4SlFVRkxMRk5CUVZWeVpTeEZRVUZOT0VNc1IwRk5jRUlzU1VGTVFTeEpRVUZKZVRSQ0xFVkJRVmR3V2l4RlFVTmtjR2hDTEVWQlFWVm1MRVZCUVV0bExGRkJRMlo1WjBJc1JVRkJVemRwUWl4RlFVRlBNa1FzVlVGQlYxRXNSMEZETTBJdlJTeEZRVUZKWjBRc1JVRkJVVGxDTEU5QlJVeHNRaXhQUVVOUWIydENMRVZCUVZOd2FFSXNSVUZCVTJoRUxFbEJTVTUzVkN4VFFVTllOVk1zUlVGQlR6WkVMRkZCUVZNM1JDeEZRVUZQTWpoQ0xGTkJRVk51V2l4UFFVRlBOMmxDTEVsQlFVczJhVUlzUjBGQlZWZ3NTVUZCV1N4TFFVVnNSU3RhTEVkQlFWa3NSMEZWWkN4UFFVaE5RU3hKUVVOTWRqZENMRVZCUVV0M1VpeGxRVUZwUWl4SFFVVm9RbWRSTEU5QlQxZzNhVUlzUlVGQlQydENMRXRCUVUwc1EwRkJSU3hSUVVGVExGbEJRV01zVjBGRGNrTnNRaXhGUVVGUE1qaENMRk5CUVZVeEwwSXNUVUZCVXl4RFFVTjZRbmxwUWl4SlFVRkxMRk5CUVZWeVpTeEZRVUZOT0VNc1IwRkRjRUlzUjBGQlMzWkNMRTFCUVUxRExGRkJRVk56UWl4SFFVTnVRaXhQUVVGVE9VTXNSVUZCUzNOU0xGRkJRVlV6VXl4RlFVRlBOa1FzVVVGQlV6ZEVMRVZCUVZGeFFpeEhRVUZQYUVNc1RVRkJUemhGTEVsQlFWY3NTVUZKZEVVNVJpeEZRVUZSY3poQ0xGVkJRMkl6TmtJc1JVRkJUekk0UWl4VFFVRlZNUzlDTEUxQlFVOHdSQ3hKUVVGTkxGTkJRVlZWTEVkQlEzWkRMRTlCUVhkRExFOUJRV3BEUVN4RlFVRkxOVUlzWVVGQll5eFRRVUZ4UWl4TFFVRlBORUlzUlVGQlN6aERMRlZCVnpsRU9VWXNSVUZCVVhjclFpeFJRVUZWTEdOQlFXVTNMMElzUlVGSGFrTXNTVUZCU1RndlFpeEhRVUZqTEd0RFFVTnFRa01zUjBGQk1FSXNVMEZCVlhSNlFpeEhRVU51UTBFc1JVRkJSVEJqTEcxQ1FVZEtibTFDTEVWQlFVOXRReXhQUVVGUmJrTXNSVUZCVHpSc1FpeE5RVUZQTEVOQlJUVkNWU3hSUVVGVExGTkJRVlZXTEVWQlFVOXFSeXhGUVVGTmRHVXNSVUZCVFRJM1FpeEhRVVZ5UXl4SlFVRkpOVGxDTEVWQlFVY3dUU3hGUVVGTE5rSXNSVUZCUzNOMlFpeEZRVUZaUXl4RlFVRlJhRmNzUlVGQlVUZExMRVZCUVZNNFowSXNSVUZEY2tSRExFVkJRVmtzUTBGQlJTODNRaXhIUVVGUmVFVXNSMEZEZEVJclFpeEZRVUZQV0N4RlFVRlBVQ3hMUVVGTmEyOUNMRVZCUVU4c1VVRkJWMEVzUlVGQlRXaHVRaXhMUVVGUFoyNUNMRVZCUTI1RWEwSXNSVUZCWVRkdlFpeEZRVUZQVUN4TFFVRk5hMjlDTEVWQlFVOHNZVUZCWjBKQkxFVkJRVTF1V2l4VlFVRlZiRWtzVFVGQlR5eExRVUZSTEVkQlMycEdMRWRCU0VGMVNDeEZRVUZOY1hoQ0xFVkJRV040ZGtJc1JVRkJUWFJOTEVWQlFVOUJMRWRCUVZGNFJTeEZRVWRzUWl4SlFVRnNRbmRGTEVWQlFVczNReXhWUVVGdlF5eEpRVUZzUWpaRExFVkJRVXMzUXl4WFFVczFRbk1yUWl4SFFVRlpjbmxDTEV0QlFVMDNUQ3hGUVVGUGIwSXNSVUZCVHpSc1FpeE5RVUZOZFVJc1lVRkpkRU4yYjBJc1JVRkJTMlFzVVVGQlV5eE5RVUZUTEVsQlJ6TkNaM0JDTEVWQlFXRnNiMElzUlVGQlN6SkdMRTFCUVU4c1MwRkRla0l6Uml4RlFVRlBhMjlDTEVWQlFWZDZZaXhSUVVOc1FubGlMRVZCUVZjM2EwSXNVVUZGV21rM1FpeEZRVUZUZEN0Q0xFVkJRVXRrTEZGQlFWTXNTMEZCVVN4SFFVRkxMRXRCUVU5akxFZEJSek5EWjI1Q0xFVkJRVkZCTEVWQlFVODFiRUlzUlVGQlR5dERMRk5CUTNKQ05tbENMRVZCUTBFc1NVRkJTVFZzUWl4RlFVRlBkVzFDTEUxQlFVOHpia0lzUlVGQmRVSXNhVUpCUVZabmJrSXNSMEZCYzBKQkxFbEJSMmhFU3l4VlFVRlpLMWNzUlVGQlpTeEZRVUZKTEVWQlEzSkRjRmdzUlVGQlRXNWFMRlZCUVZseFlTeEZRVUZYYW1Nc1MwRkJUU3hMUVVOdVF5dGhMRVZCUVUxM1F5eFhRVUZoZUVNc1JVRkJUVzVhTEZWQlEzaENMRWxCUVVreFJpeFBRVUZSTEZWQlFWa3JaaXhGUVVGWGFtTXNTMEZCVFN4cFFrRkJiMElzVjBGRE4wUXNTMEZIUkN0aExFVkJRVTF5Vml4WlFVRlRlazRzUlVGRFZEaHBRaXhGUVVGTmJtcENMRk5CUTFodGFrSXNSVUZCVFc1cVFpeFBRVUZUY0VJc1IwRkphRUp6WlN4RlFVRmxMRTFCUVZKQkxFVkJRMDRzUTBGQlJXbEhMRWRCUTBZMWJFSXNSVUZCVHpKRUxGVkJRVmRuWXl4RlFVRk5MRU5CUVVWcFJ5eEpRVWN6UW5aS0xFVkJRVlZ5WXl4RlFVRlBOR3hDTEUxQlFVMTJTaXhSUVVGVGVtUXNTVUZCVlN4SFFVTndRMjhyUWl4SlFVRm5Rak5uUWl4RlFVRlJhVXNzVlVGQmJVUXNTVUZCZUVOcVN5eEZRVUZSYVVzc1VVRkJVVEZ2UWl4TlFVRlBlVVFzUlVGQlRYTmxMRWxCUVhSRkxFTkJUVUVzU1VGQlRYRmtMRWxCUVdsQ00yZENMRVZCUVZGNVRTeFhRVUZoY0hGQ0xFVkJRVlV5UXl4SFFVRlRMRU5CVFRsRUxFbEJTa0UwTjBJc1JVRkJZVFZuUWl4RlFVRlJOa29zWTBGQlowSjBia0lzUlVGREwwSnJLMElzUjBGQldYSjVRaXhMUVVGTmQzbENMRVZCUVdGeUswSXNTMEZEY0VOclRpeEZRVUZOUVN4RlFVRkphazBzV1VGRlNHbE5MRVZCUVV0QkxFVkJRVTFCTEVWQlFVbHFUU3hYUVVOMFFuVTVRaXhGUVVGVmRpOUNMRXRCUVUxcFR5eEhRVU5vUWpaQ0xFVkJRVTAzUWl4RlFVbEdOa0lzUzBGQlZYUk5MRVZCUVVzMlNTeGxRVUZwUW5KT0xFbEJRM0JEZFdkRExFVkJRVlYyTDBJc1MwRkJUVGhRTEVWQlFVbGlMR0ZCUVdWaExFVkJRVWt3ZGtJc1kwRkJaMEp5WjBNc1IwRk5la1FzU1VGRVFXOURMRVZCUVVrc1IwRkRUVEJOTEVWQlFVMXplRUlzUlVGQlYyZ3JRaXhSUVVGWmQyMUNMRVZCUVUxeFF5eDNRa0ZETlVOclZpeEZRVUZqY25oQ0xFVkJRMlE0V2l4RlFVRk5hRzVDTEV0QlFVOVJMRVZCUVVrc1JVRkRhRUkyT1VJc1JVRkRRVFZuUWl4RlFVRlJaMHdzVlVGQldYcHZRaXhIUVVkeVFuTnZRaXhIUVVGWGNFZ3NSVUZCVTI1bUxFbEJRVXR0VEN4RlFVRkxMRmRCUVdONlR5eFBRVUZQTkhCQ0xFOUJRVkVzVDBGQlZYSkNMRVZCUVUxb2JrSXNUMEZETVVWcmFFSXNSVUZCVTI1bUxFbEJRVXR0VEN4RlFVRkxMRmxCUlc1Q2IySXNSVUZCVDNSd1FpeE5RVUZQYTA4c1JVRkJTelpVTEVsQlNYQkNkVWdzUlVGQlUyZFhMRWRCUVZWd2VFSXNSVUZCUzI5NFFpeExRVU5VYUZjc1JVRkJUM1J3UWl4UFFVRlRkMmhDTEVWQlFWbDBWQ3hMUVVNeFF6aGFMRVZCUVUxeVZpeFBRVUZUTWxjc1JVRkJUM1J3UWl4TlFVRlBhMDhzUlVGQlN6WlVMRWxCUTFvc1NVRkJha0pwUnl4RlFVRk5jbFlzVVVGRFZuRldMRVZCUVUxVExHdENRVGhEVkN4UFFURkRRVlFzUlVGQlRXaHVRaXhMUVVGUFFTeEZRVWRRYnl0Q0xFZEJRV2xDY0Znc1JVRkJUWFZFTEhOQ1FVVndRamxOTEVWQlFWRjVTQ3hYUVVOeFF5eEpRVUZ3UkhwSUxFVkJRVkY1U0N4VFFVRlRiRzFDTEUxQlFVOTNMMElzUlVGQlZUa3lRaXhOUVVGUGNWb3NTMEZEZWtOUUxFVkJRVmt2WkN4SlFVbFFOamRDTEVkQlFWVTFLMElzUlVGQldTdERMRVZCUVUxNlF5eE5RVUZoUml4RlFVRlZNa01zVFVGSGRrUnpUU3hGUVVGTmRFMHNSVUZCVFRZM1FpeE5RVWRZTnpkQ0xFVkJRVTAyTjBJc1IwRkJWeXhOUVVsc1FtdzVRaXhGUVVGUE5HeENMRTFCUVUxMVFpeFZRVUZaZG05Q0xFVkJSWEJDWjI1Q0xFVkJRVTF4UXl4M1FrRkRWbXRXTEVWQlFWbHVkMElzYVVKQlFXdENjRThzUlVGQlRXMHJRaXhKUVVkeVF6RTNRaXhGUVVGTmVrTXNTMEZGUkdkdVFpeEZRVUZOY1VNc2QwSkJRMVpyVml4RlFVRlpiR1lzYjBKQlFYRkNjbVlzUlVGQlRXMHJRaXhKUVVkNFF5ODRRaXhGUVVGUE5HeENMRTFCUVUxMVFpeGxRVUZaY210Q0xFVkJSWEJDTmtzc1NVRkRTblJOTEVWQlFVMDJOMElzUjBGQlYzWjJRaXhKUVUxa2FWa3NSVUZCVFhKV0xGTkJTMlFyYzBJc1UwRkJWU3hUUVVGVk1TdENMRVZCUVUxNVF5eEZRVUZOZFd0Q0xFZEJReTlDTEVsQlFVbHVZeXhGUVVGSmVrb3NSVUZCVDIxRExFOUJRMlFzU1VGQlNXNURMRVZCUVU5MWJVSXNUVUZEV0Znc1JVRkRRU3hEUVVORGFHNUNMRXRCUVUxQkxFVkJRMDQwY1VJc1lVRkJZU3hKUVVsbWVIQkNMRVZCUVU4MGJFSXNUVUZCVFZVc1VVRkJVemRqTEVWQlFVY3NTMEZCVFhCSkxFMUJTMnBEY2tJc1JVRkJUMGNzUjBGQlIyZERMRTlCUVZFc1EwRkZha0p0YTBJc1VVRkJVeXhUUVVGVk1XNUNMRVZCUVUwclowSXNSMEZEZUVJc1QwRkJUekZwUWl4TFFVRkxhVVVzUzBGQlRTeFhRVU5xUW14Q0xFVkJRVTgwYkVJc1RVRkJUVlVzVVVGQlV6RnVRaXhGUVVGTksyZENMRVZCUVUweGFVSXNVMEZIY0VOelowTXNaVUZCWjBJc1UwRkJWVE1yUWl4RlFVRk5LMmRDTEVkQlF5OUNMRWxCUVVsMFpTeEZRVUZQY0VVc1MwRkJUU3hIUVVOcVFpeEhRVUZMYjBVc1JVRkRTaXhQUVVGUGNrSXNSVUZCVHpSc1FpeE5RVUZOVlN4UlFVRlRNVzVDTEVWQlFVMHJaMElzUlVGQlRYUmxMRWRCUVUwc1RVRmpOVU5vUkN4RlFVRlJkeXRDTEZOQlEySTNPRUlzUlVGQlQydENMRXRCUVUwc1EwRkJSVzFTTEUxQlFVOHNWVUZCVjJkYUxFdEJRVTBzV1VGQll5eFRRVUZWU3l4RlFVRk5OVVFzUjBGSGNFVXNTVUZCU1c1akxFVkJRVlVzVTBGQlZXbGhMRWRCUTNaQ05XeENMRVZCUVU4MGJFSXNUVUZCVFRCWUxGTkJRVlY0Vml4RlFVRkxiRU1zUlVGQlRXNXFRaXhQUVVGUmVrTXNSVUZCVHpSc1FpeE5RVUZOYTBNc1NVRkJTMnhETEV0QlJ6ZEVOV3hDTEVWQlFVODBiRUlzVFVGQlRYWktMRkZCUVZONVRDeEhRVUZSTEVOQlF6ZENVQ3hOUVVGUExGZEJTVTRzU1VGQlNYQnZRaXhGUVVGTmJFTXNTMEZCUzJsT0xHVkJRV2xDYWs0c1MwRkJTMG9zVlVGQldVa3NTMEZEYUVSMVowTXNSVUZCVnpGa0xFVkJRVk40UWl4UFFVRlJibVlzUlVGQlN6SnZRaXhIUVVVMVFqQldMRWRCUTB4eUswSXNSVUZCU1RaT0xHbENRVUZyUWpCbExFVkJRVTB2Wml4SFFVRlRMRWRCUlhSRGJWVXNSVUZCVTNoQ0xFOUJRVkZ1Wml4RlFVRkxNbTlDTEVkQlFVOHdWaXhIUVVGWkxFZEJRVTBzU1VGRmFFUTVWaXhUUVVGVkxGZEJRMVFzU1VGQlNYWnZRaXhGUVVGTmJFTXNTMEZCUzJsT0xHVkJRV2xDYWs0c1MwRkJTMG9zVlVGQldVa3NTMEZEYUVSMVowTXNSVUZCVnpGa0xFVkJRVk40UWl4UFFVRlJibVlzUlVGQlN6SnZRaXhIUVVGUkxFVkJSWEJETUZZc1JVRkxUREZrTEVWQlFWTjRRaXhQUVVGUmJtWXNSVUZCU3pKdlFpeEZRVUZMTUZZc1NVRktNMEp5SzBJc1JVRkJTVGhsTEc5Q1FVRnhRbmxPTEVWQlFVMHZaaXhIUVVGVExFZEJRM2hEYlZVc1JVRkJVMmhHTEU5QlFWRXpZaXhGUVVGTE1tOUNMRkZCVXpOQ0xFbEJRVWt6Vml4SFFVRlhibFlzUlVGQlQyMVdMRk5CUld4Q2NsUXNSMEZCVVN4RFFVRkZjMFlzUzBGQlRYTkNMRXRCUVVzMmFrSXNUMEZGY2tKclZTeEhRVUZUTEV0QlMySjZPVUlzUlVGQlR6QTVRaXhUUVVGWExGTkJRVlV2WkN4SFFVTXpRaXhKUVVGSk4wOHNSVUZCU3paelFpeEZRVU5VTEVsQlFVMW9aU3hIUVVGM1FpeHBRa0ZCVkVFc1JVRkRjRUlzVDBGQlR5eExRVXRTTEVsQlEwTTNUeXhIUVVGTkxFbEJRVTA1VkN4RlFVRlBOR2RETEZkQlFXTkRMR2RDUVVGcFFteGxMRVZCUVUwc1dVRkRka1FzVFVGQlVXeFhMRWxCV1ZZc1QwRldRV3N3UWl4RlFVRnJRamR6UWl4SFFVRlBRU3hGUVVGSmVFY3NjVUpCUVhOQ0xHVkJRV2xDTEVkQlF6bEVkMGNzU1VGQlR6WnpRaXhIUVVOYU16bENMRVZCUVU5dlJDeE5RVUZQTEdsQ1FVTmlkVFpDTEVWQlEwTXpPVUlzUlVGQlQyOUNMRWxCUVV0MU9FSXNSVUZCWjBKdU1FSXNWMEZCV1N4VFFVRlZaME1zUjBGRGFrUXNUMEZCVDBFc1JVRkJSemhFTEdOQlExQjZSU3hMUVVGTkxFMUJRMVk0VlN4SlFVZEpOMDhzUjBGSlVpeEpRVU5EWjNSQ0xFZEJRVmNzVVVGRFdFTXNSMEZCVVN4VFFVTlNReXhIUVVGclFpeDNRMEZEYkVKRExFZEJRV1VzY1VOQlJXaENMRk5CUVZORExFZEJRV0V2U1N4RlFVRlJOVEpDTEVWQlFVczBMMElzUlVGQllURnNRaXhIUVVNdlF5eEpRVUZKY0Zjc1JVRkZTaXhIUVVGTFR5eE5RVUZOUXl4UlFVRlRkRVVzUjBGSGJrSjVRaXhGUVVGUGEwSXNTMEZCVFRORExFVkJRVXNzVTBGQlZXRXNSVUZCUjJsaExFZEJRM3BDT0d0Q0xFZEJRV1ZNTEVkQlFWTnlla0lzUzBGQlRUQnhRaXhIUVVkc1F6RmpMRVZCUVVzd1l5eEZRVUZST1dJc1IwRkxZalpyUWl4SFFVTkRMMGtzUlVGQlV5eExRVUZ4UWl4cFFrRkJUamxpTEVkQlFYVkNMRTFCUVV4QkxFVkJRVmxxWVN4RlFVRkpMRWxCUVU4c1NVRkRha1ZwWVN4RlFVTkJPR3RDTEVWQlEwRXhiRUlzVlVGTFJ5eEhRVUZOTUd4Q0xFZEJRV2xETEZkQlFXeENjQ3RDTEVWQlFWRjRRaXhIUVZWdVEydGhMRVZCUVVzd1l5eEZRVUZSTlRKQ0xGRkJVR0lzU1VGQlRUaEVMRXRCUVZFNVJDeEZRVU5pTWk5Q0xFZEJRV0V2U1N4RlFVRlRMRWxCUVUwNWVVSXNSVUZCVHl4SlFVRkxPVVFzUlVGQlN6aEVMRWRCUVZFNE4wSXNSVUZCWVRGc1FpeEhRVmx5UlhwWkxFVkJRVTl2SzBJc1RVRkJVU3hUUVVGVmFEUkNMRVZCUVVjck0wSXNSMEZETTBJc1NVRkJTV2hLTEVWQlEwaHJTaXhGUVVGSkxFZEJRMG8xYkVJc1JVRkJUU3hUUVVGVmRFNHNSVUZCUzIxNlFpeEhRVWR3UWl4SlFVRkpialpDTEVWQlFWRTNSaXhGUVVGWloyZERMRWRCUTNaQ1FTeEpRVU5CUVN4RlFVVkVSQ3hGUVVGSFFTeEZRVUZGTHpsQ0xGRkJRVmRwSzBJc2JVSkJRVzlDY0hwQ0xFZEJRVkVzU1VGRE0wTnZla0lzYlVKQlFUWkNMRTFCUVZSd05rSXNSVUZCWjBJc1IwRkJTMEVzU1VGSE5VTXNSMEZCVlN4TlFVRk1hVU1zUlVGRFNpeE5RVUZQTEVkQlNWSXNSMEZCUzNoRUxFMUJRVTFETEZGQlFWTjFSQ3hKUVVGVFFTeEZRVUZGTlVZc1UwRkJWMUlzUlVGQlR6SkRMR05CUVdWNVJDeEhRVWN2UkhCSExFVkJRVTlyUWl4TFFVRk5hMFlzUlVGQlJ5eFhRVU5tY1ZNc1JVRkJTM2hpTEV0QlFVdHZSaXhMUVVGTmNFWXNTMEZCUzJ0SUxHTkJUM1JDTEVsQlFVMW5lRUlzUzBGQlZTOTFRaXhGUVVObU9ETkNMRWRCUVdFdlNTeEZRVUZSTDNWQ0xFVkJRVWNyZFVJc1IwRkJWV2RLTEVWQlFXRXhiRUlzUjBGTGFrUXNUMEZCVHpSc1FpeEZRVUZGZUhwQ0xFdEJRVTBzVFVGSGFFSTNTeXhGUVVGUFJ5eEhRVUZIWjBNc1QwRkJVU3hEUVVOcVFuRTRRaXhWUVVGWExGZEJRMVlzVDBGQlQzZ3JRaXhGUVVGUGJ5dENMRTFCUVU5dWFFTXNTMEZCUzNkb1F5eHRRa0ZGTTBKQkxHVkJRV2RDTEZkQlEyWXNUMEZCVDNob1F5eExRVUZMYlVVc1NVRkJTeXhYUVVkb1FpeEpRVUZKTUU0c1JVRkJWemxQTEVWQlFVODBaaXhMUVVGTk0ybENMRXRCUVUwc1dVRkRiRU1zVDBGQlR6WlNMRVZCUVZjNVR5eEZRVUZQTWtRc1ZVRkJWMjFNTEVkQlFXRTNVaXhQUVVNNVEzRlJMRTlCUVZFc1YwRkRXQ3hKUVVGSk1VOHNSVUZCVHpOQ0xFdEJRVXN5UWl4TFFVZG9RaXhQUVVGUE0wSXNTMEZCUzI5R0xFOUJRVk55UXl4RlFVRlJMME1zVFVGQlQydGhMRWRCUVVrc1kwRkRka000YlVJc1IwRkJZWGg2UWl4TFFVRk5lRTRzUzBGQlMyOU5MRmxCUVdVeU1FSXNSMEZCWjBKMmVrSXNTMEZCVFRkTUxFdEJRek5FTTBJc1MwRkJTekJXTEZWQlFWbHpVU3hIUVVGbGVGa3NTMEZCVFRkTUxFMUJRM1JEZDBNc1NVRkJTeXhUUVVGVmIwUXNSVUZCU1c1RUxFZEJRM1JDTEVsQlFVbG9ReXhGUVVGTlZ5eEZRVUZSTDBNc1RVRkJUMjlETEUxQlJYcENMRTlCUVZrc1RVRkJVRUVzUlVGRFJ5eExRVWRJZFVRc1RVRkJUVU1zVVVGQlUzaEVMRWRCUTFwWExFVkJRVTl2UWl4SlFVRkxMMElzUlVGQlN5eFRRVUZWUVN4SFFVTnFReXhOUVVGUExFTkJRVVZuUkN4TFFVRk5hRUlzUlVGQlMyZENMRXRCUVUwNFFpeE5RVUZQT1VVc1JVRkJTVFpFTEZGQlFWTTJOa0lzUjBGQlR5eFhRVWxvUkN4RFFVRkZNVGRDTEV0QlFVMW9RaXhGUVVGTFowSXNTMEZCVFRoQ0xFMUJRVTg1UlN4RlFVRkpOa1FzVVVGQlV6WTJRaXhIUVVGUExGZEJRMnhFY0RsQ0xGTkJTMDRzU1VGRFF5czVRaXhIUVVGTkxFOUJRMDVETEVkQlFWRXNUMEZEVWtNc1IwRkJZU3huUWtGRFlrTXNSMEZCVnl3MlFrRkpXRU1zUjBGQllTeHBRa0ZEWWtNc1IwRkJXU3hSUVZkYWRFZ3NSMEZCWVN4SFFVOWlkVWdzUjBGQllTeEhRVWRpUXl4SFFVRlhMRXRCUVV0MGFFTXNUMEZCVVN4TFFVZDRRblZvUXl4SFFVRmxjbWxETEVWQlFWTXdReXhqUVVGbExFdEJTM2hETEZOQlFWTTBMMElzUjBGQk5rSkRMRWRCUjNKRExFOUJRVThzVTBGQlZVTXNSVUZCYjBKc2EwSXNSMEZGUkN4cFFrRkJka0pyYTBJc1NVRkRXR3hyUWl4RlFVRlBhMnRDTEVWQlExQkJMRVZCUVhGQ0xFdEJSM1JDTEVsQlFVbERMRVZCUTBoc1owTXNSVUZCU1N4RlFVTktiV2RETEVWQlFWbEdMRVZCUVcxQ05UWkNMR05CUVdOeFJpeE5RVUZQY1ZBc1NVRkJiVUlzUjBGRmVFVXNSMEZCU3pkaExFVkJRVmsyWXl4SFFVZG9RaXhMUVVGVmJXdENMRVZCUVZkRExFVkJRVmR1WjBNc1RVRkhVaXhOUVVGc1FtdG5ReXhGUVVGVkxFbEJRMlJCTEVWQlFWZEJMRVZCUVZNdmFFTXNUVUZCVHl4SlFVRlBMRXRCUTJoRE5taERMRVZCUVZkRkxFZEJRV0ZHTEVWQlFWZEZMRWxCUVdNc1NVRkJTekYzUWl4UlFVRlRkVTBzUzBGSkwwUnBhMElzUlVGQlYwVXNSMEZCWVVZc1JVRkJWMFVzU1VGQll5eEpRVUZMZW1oRExFdEJRVTF6WkN4SlFWRnVSU3hUUVVGVGNXdENMRWRCUVN0Q1NpeEZRVUZYYURsQ0xFVkJRVk0wTVVJc1JVRkJhVUo1U0N4SFFVVTFSU3hKUVVGSlF5eEZRVUZaTEVkQlEyWkRMRVZCUVhGQ1VDeEpRVUZqU2l4SFFVVndReXhUUVVGVFdTeEZRVUZUVGl4SFFVTnFRaXhKUVVGSk1YTkNMRVZCWTBvc1QwRmlRVGh6UWl4RlFVRlhTaXhKUVVGaExFVkJRM2hDZEM5Q0xFVkJRVTlyUWl4TFFVRk5heXRDTEVWQlFWZEZMRWxCUVdNc1IwRkJTU3hUUVVGVmNHeENMRVZCUVVjeWJFSXNSMEZEZEVRc1NVRkJTVU1zUlVGQmMwSkVMRVZCUVc5Q2VqbENMRVZCUVZNME1VSXNSVUZCYVVKNVNDeEhRVU40UlN4TlFVRnZReXhwUWtGQmVFSkxMRWRCUTFaSUxFZEJRWEZDUkN4RlFVRlhTU3hIUVV0MFFrZ3NTVUZEUkM5elFpeEZRVUZYYTNSQ0xGRkJSR1lzUjBGSVRqRTVRaXhGUVVGUmJUbENMRlZCUVZVemQwSXNVVUZCVTJ0NFFpeEhRVU16UWtZc1JVRkJVMFVzU1VGRFJpeExRVXRHYkhSQ0xFVkJSMUlzVDBGQlQyZDBRaXhGUVVGVGVEbENMRVZCUVZGdE9VSXNWVUZCVnl4TlFVRlZSeXhGUVVGWExFMUJRVk5GTEVWQlFWTXNTMEZOTTBVc1UwRkJVMGNzUjBGQldYUTVRaXhGUVVGUk5VUXNSMEZETlVJc1NVRkJTWE5OTEVWQlFVdDZTU3hGUVVOU2N6bENMRVZCUVdOb1owTXNSVUZCVDJsblF5eGhRVUZoUkN4aFFVRmxMRWRCUld4RUxFbEJRVTAzTUVJc1MwRkJUM1JOTEU5QlExRnBSU3hKUVVGbWFrVXNSVUZCUzNOTkxFMUJRMUEyTUVJc1JVRkJZVGN3UWl4SFFVRlJNVWtzUlVGQlYwTXNTVUZCVlVFc1JVRkJUeXhMUVVGVmVVa3NSMEZCVVhSTkxFVkJRVXR6VFN4SlFVODFSU3hQUVVwTGVra3NSMEZEU2pGRExFVkJRVTl0UXl4UlFVRlJMRVZCUVUxTkxFVkJRVkZETEVkQlIzWkNSQ3hGUVM5RlVuazRRaXhIUVVGaE1YTkNMRXRCUVU5TUxFZEJRVk5MTEV0QloxQTNRbmhUTEVWQlFVOXRReXhQUVVGUkxFTkJSMlFyT1VJc1QwRkJVU3hGUVVkU1F5eGhRVUZqTEVkQlEyUkRMRXRCUVUwc1IwRkZUa2dzWVVGQll5eERRVU5pU1N4SlFVRkxiSFZDTEVkQlFWTkxMRXRCUTJRMVZDeExRVUZOTEUxQlEwNHdhRU1zVVVGNFVtZENMRFJFUVhkU1VUY3hRaXhMUVVGTk1FZ3NSMEZCVTI5MVFpeFZRVU4yUXpscVF5eFJRVUZSTEVWQlExSXJha01zWVVGQllTeEZRVU5pUXl4UFFVRlBMRVZCUTFCRExGbEJRV0VzYlVSQlkySkRMRkZCUVZNc1EwRkRVbkJKTEVsQlFVc3dSeXhIUVVOTWVpOUNMRXRCUVUwc1lVRkRUbTEwUWl4TFFVRk5MRmxCUTA0M1lpeEpRVUZMTERSQ1FVTk1PSFpDTEV0QlFVMHNjVU5CUjFBemIwSXNVMEZCVlN4RFFVTlVia2dzU1VGQlN5eFZRVU5NTm1Jc1MwRkJUU3hUUVVOT2FWVXNTMEZCVFN4WlFVZFFReXhsUVVGblFpeERRVU5tTDNaQ0xFbEJRVXNzWTBGRFRIUlNMRXRCUVUwc1pVRkRUbTlvUXl4TFFVRk5MR2RDUVV0UVJTeFhRVUZaTEVOQlIxaERMRk5CUVZWeU5FSXNUMEZIVm5NMFFpeGhRVUZoTEVWQlIySkRMRmxCUVdFNVowSXNTMEZCUzBNc1RVRkhiRUk0WjBJc1YwRkJXV3hvUXl4RlFVRlBNRGxDTEZWQlQzQkNjME1zV1VGQllTeERRVU5hU3l4TFFVRkxMRVZCUTB4dVowTXNVMEZCVXl4SlFVOVlhV2hETEZWQlFWY3NVMEZCVlRFclFpeEZRVUZSTWl0Q0xFZEJRelZDTEU5QlFVOUJMRVZCUjA1eVFpeEhRVUZaUVN4SFFVRlpkRGxDTEVWQlFWRjZReXhGUVVGUGFXZERMR05CUVdkQ2JVSXNSMEZIZGtSeVFpeEhRVUZaTHk5Q0xFVkJRVTlwWjBNc1lVRkJZM2c1UWl4SlFVZHVRelFyUWl4alFVRmxiRU1zUjBGQk5rSXhTQ3hKUVVNMVF6WktMR05CUVdWdVF5eEhRVUUyUWtnc1NVRkhOVU4xUXl4TFFVRk5MRk5CUVZWc1FpeEZRVUZMYWl0Q0xFZEJSMEVzYVVKQlFWSnBLMElzU1VGRFdHb3JRaXhGUVVGVmFTdENMRVZCUTFaQkxFOUJRVTEyT1VJc1IwRkpVRllzUlVGQlZVRXNSMEZCVnl4SFFVVnlRaXhKUVVGSmJ5OUNMRVZCUjBoRExFVkJSMEZETEVWQlEwRkRMRVZCUjBGRExFVkJSMEZETEVWQlIwRTNha0lzUlVGSFFUaHFRaXhGUVVkQk1XbERMRVZCUjBFeWFVTXNSVUZIUVRGRUxFVkJRVWx5SzBJc1JVRkJUMjFvUXl4VlFVRlhMRWRCUVVrdkswSXNSMEZITVVJMEwwSXNSVUZCYTBJelJDeEZRVUZGYml0Q0xGTkJRVmR0SzBJc1JVRkhMMEkwUkN4RlFVRnhRalZFTEVWQlFVVnVLMElzVlVGRGNFSTRhRU1zUlVGQlowSjRha01zVlVGQldYZHFReXhGUVVGblFuaG9ReXhSUVVNNVExSXNSVUZCVVdkcFF5eEhRVU5TYUdsRExFVkJRVTgwYkVJc1RVRkhVbkpMTEVWQlFWZDJZaXhGUVVGUGEySXNWMEZEYkVKbmJrSXNSVUZCYlVKc2FVTXNSVUZCVDJkaExGVkJRVmNzWlVGSGNrTnRiMElzUlVGQllUbEVMRVZCUVVVNFJDeFpRVUZqTEVkQlJ6ZENReXhGUVVGcFFpeEhRVU5xUWtNc1JVRkJjMElzUjBGSGRFSkRMRVZCUVZjc1YwRkhXRGRETEVWQlFWRXNRMEZEVUhKb1FpeFhRVUZaTEVWQlIxcHRhMElzYTBKQlFXMUNMRk5CUVZWd00wSXNSMEZETlVJc1NVRkJTWEpDTEVWQlEwb3NSMEZCUzJ0VkxFVkJRVmtzUTBGRGFFSXNTVUZCVFRKcVFpeEZRVVZNTEVsQlJFRkJMRVZCUVd0Q0xFZEJRMUkzTTBJc1JVRkJVU3N3UWl4SFFVRlRNVEJDTEV0QlFVMTFNMElzU1VGRGFFTkRMRVZCUVdsQ056TkNMRVZCUVU4c1IwRkJTWEpHTEdOQlFXZENMRTFCUTNwRGF6bENMRVZCUVdsQ056TkNMRVZCUVU4c1IwRkJTWEpHTEdOQlFXZENMRTFCUVZNc1NVRkRja1E1Unl4UFFVRlJiVTBzUlVGQlR5eEpRVWR3UWtFc1JVRkJVVFl6UWl4RlFVRnBRbmd5UWl4RlFVRkpNVWNzWTBGQlowSXNTMEZGT1VNc1QwRkJaMElzVFVGQlZIRkdMRVZCUVdkQ0xFdEJRVTlCTEVWQlFVMWxMRXRCUVUwc1QwRkpNME15TTBJc2MwSkJRWFZDTEZkQlEzUkNMRTlCUVU5NGEwSXNSVUZCV1RCcVFpeEZRVUYzUWl4TlFVazFRMlVzYVVKQlFXdENMRk5CUVZWd1owTXNSVUZCVFRoQ0xFZEJUV3BETEU5QlRHdENMRTFCUVdJMldpeEpRVU5LTTJJc1JVRkJUMmRuUXl4RlFVRnhRbWhuUXl4RlFVRkxiME1zWlVGRGFFTTBPVUlzUlVGQmNVSm9aME1zUlVGQlMyOURMR2RDUVVGdFFuQkRMRVZCUXpsREt5OUNMRVZCUVdkQ0x5OUNMRWRCUVZNNFFpeEhRVVZ1UW14SUxFMUJTVko1YkVNc2FVSkJRV3RDTEZOQlFWVTVha01zUjBGSk0wSXNUMEZJYTBJc1RVRkJZbTltTEVsQlEwcHhaMElzUlVGQlJYTkZMRk5CUVZjdmFrTXNSMEZGVUROQ0xFMUJTVkpyYkVNc1YwRkJXU3hUUVVGVkwyZERMRWRCUTNKQ0xFbEJRVWx1UXl4RlFVTktMRWRCUVV0dFF5eEZRVU5LTEVkQlFVczBZeXhGUVVkS2VXaENMRVZCUVUxdWEwSXNUMEZCVVd4aExFVkJRVXR4SzBJc1JVRkJUVzFFTEdOQlNYcENMRWxCUVUwemFrTXNTMEZCVVcxRExFVkJRMklyWjBNc1JVRkJXV3hxUXl4SFFVRlRMRU5CUVVWcmFrTXNSVUZCV1d4cVF5eEhRVUZSYlVNc1JVRkJTMjVETEVsQlNXNUVMRTlCUVU5b1F5eE5RVWxTTkd4RExFMUJRVThzVTBGQlZVTXNSMEZEYUVJc1NVRkJTVU1zUlVGQldVUXNSMEZCWTFJc1JVRkxPVUlzVDBGS1MyUXNSMEZEU2tFc1JVRkJWWEZDTEUxQlFVOUZMRWRCUld4Q2JEbENMRVZCUVUwc1JVRkJSMnM1UWl4SFFVTkdPV3hETEU5QmIwSldMRWRCWmtGelpTeEZRVUZUTVVJc1VVRkJVelJzUWl4SFFVdHNRbkJDTEVWQlFVVm5ReXhOUVVGVlFTeEhRVUZQYUVNc1JVRkJSV2RETEV0QlFVOXNkVUlzUjBGQlUwc3NUVUZCVXl4SlFVTTFRM1JRTEZGQlFWTTJOMElzUjBGQlZ6VnpRaXhIUVVGVGIzVkNMRk5CUVZjc1RVRkhNVU5zUXl4RlFVRkZlaTlDTEV0QlFVOTNSQ3hGUVVGUmQxZ3NVVUZCVlhoWUxFVkJRVkY0UkN4TlFVRlJlUzlDTEVWQlFVVjZhMElzVVVGQlZYbHJRaXhGUVVGRmVpOUNMRXRCUjNwRWVTOUNMRVZCUVVWclFpeFhRVUZqYkVJc1JVRkJSV2xDTEZWQlFWa3NTMEZCVFRjMlFpeGpRVUZqY1VZc1RVRkJUM0ZRTEVsQlFXMUNMRU5CUVVVc1NVRkhlRVFzVFVGQmFrSnJiRUlzUlVGQlJUSkZMRmxCUVhOQ0xFTkJRelZDYmtJc1JVRkJXV2hzUXl4RlFVRlRNRU1zWTBGQlpTeExRVXR3UXl4SlFVTkRjMmxETEVWQlFWVnlka0lzUzBGQlR6WnlRaXhGUVVGRlowTXNTVUZKYmtKM1FpeEZRVUZWY25aQ0xFdEJRVTl4ZGtJc1JVRkJWWEoyUWl4TFFVTXpRalp5UWl4RlFVRkZNa1VzV1VGQll6bEVMRWRCUVdGeFFpeFRRVUZYTEV0QlFVOXlRaXhIUVVGaEswUXNUVUZETTBSd1FpeEZRVUZWZEVJc1UwRkJWeXhMUVVGUGMwSXNSVUZCVlc5Q0xFdEJRM1JETEUxQlFWRjROVUlzUjBGSlZEUXdRaXhGUVVGRk1rVXNZVUZCWXl4SFFXRnNRaXhIUVZKTE0wVXNSVUZCUlRGbExFMUJRVkV3WlN4RlFVRkZiVU1zWVVGQmFVTXNhVUpCUVZodVF5eEZRVUZGTVdVc1QwRkRlRU13WlN4RlFVRkZNV1VzUzBGQlR6Tm1MRVZCUVU5dkswSXNUVUZCVDBNc1JVRkJSVEZsTEV0QlFVMHdaU3hGUVVGRlJpeGpRVWxzUTNGQ0xFZEJRU3RDTDBnc1IwRkJXVFJITEVWQlFVZHFPRUlzUlVGQlUzRTVRaXhIUVVkc1JIcG9RaXhGUVVOS0xFOUJRVTk1YUVJc1JVRTRSVklzU1VGQlRYSm5ReXhMUVhwRlRqQnBReXhGUVVGak9XaERMRVZCUVU4MGJFSXNUMEZCVTNsWkxFVkJRVVUxYUVNc1UwRkhVU3hIUVVGd1FuVkVMRVZCUVU5clowTXNWVUZETVVKc1owTXNSVUZCVHpSc1FpeE5RVUZOVlN4UlFVRlRMR0ZCU1haQ0sxZ3NSVUZCUlhvdlFpeExRVUZQZVM5Q0xFVkJRVVY2TDBJc1MwRkJTM0ZuUWl4alFVZG9RbTltTEVWQlFVVTJSU3haUVVGamNFVXNSMEZCVjNJd1FpeExRVUZOTkhwQ0xFVkJRVVY2TDBJc1RVRkxia00yYVVNc1JVRkJWM0JFTEVWQlFVVm5ReXhKUVVGSmJqbENMRkZCUVZONU4wSXNSMEZCVHl4SlFVY3pRazRzUlVGQlJUWkZMRmRCZDBKSk4wVXNSVUZCUlRGbExFMUJRVkV3WlN4RlFVRkZiVU1zWVVGRGIwUXNTMEZCZWtWdVF5eEZRVUZGY1VNc1lVRkJaU3hKUVVGTE5XbERMRkZCUVZNc2RVTkJRMnBEZFdkRExFVkJRVVV4WlN4TFFVRlBNR1VzUlVGQlJURmxMRXRCUVV0Nll5eFJRVUZUZHpkQ0xFZEJRVXNzVDBGMlFqbENjVVFzUlVGQlZ6RkVMRVZCUVVWblF5eEpRVUZKT1dsRExFMUJRVTlyYTBNc1JVRkJVMjVvUXl4UlFVYzFRaXM1UWl4RlFVRkZNV1VzVDBGQlZUQmxMRVZCUVVWdFF5eGhRVUZwUXl4cFFrRkJXRzVETEVWQlFVVXhaU3hSUVVNeFF6aG9RaXhKUVVGamFFVXNSMEZCVDJoNlFpeExRVUZOWnpOQ0xFZEJRV0VzU1VGQlRTeExRVUZSY0VRc1JVRkJSVEZsTEZsQlIycEVNR1VzUlVGQlJURmxMRTlCU1U4c1NVRkJXakJsTEVWQlFVVnVla0lzVVVGRFRuVXlRaXhGUVVGWFFTeEZRVUZUZGl0Q0xGRkJRVk13TjBJc1IwRkJXU3hOUVVONlEyMUVMRWRCUVdGMFJTeEhRVUZQYUhwQ0xFdEJRVTFuTTBJc1IwRkJZU3hKUVVGTkxFdEJRVkVzUzBGQlV6TnBReXhIUVVGTmMwWXNUMEZEYmtVeU9VSXNSMEZKUmpGRUxFVkJRVVZuUXl4SlFVRk5iMElzUlVGQlYwMHNSMEZUWmpGRUxFVkJRVVU0UlN4aFFVTkVibXBETEVWQlFVOXRaME1zWVVGQlkzTkNMRWxCUTNwQ2FFTXNSVUZCVFdkRUxHbENRVUZyUWl4dlFrRkJjVUo2YVVNc1JVRkJUMjFuUXl4aFFVRmpjMElzU1VGRk9VUjZhRU1zUlVGQlQyOW5ReXhMUVVGTmNVSXNTVUZEYWtKb1F5eEZRVUZOWjBRc2FVSkJRV3RDTEdkQ1FVRnBRbnBwUXl4RlFVRlBiMmRETEV0QlFVMXhRaXhOUVV0dVJIQkVMRVZCUVVVeFpTeE5RVUZSTUdVc1JVRkJSVFpGTEdGQlFXZERMRWxCUVd4Q04wVXNSVUZCUlhGRExHRkJRWGxDZEN0Q0xFVkJRVkZ6SzBJc1kwRkRha1ZxUWl4RlFVRk5aMFFzYVVKQlFXdENMR1ZCUVdkQ2NFVXNSVUZCUlhGRExHRkJTVE5EYWtJc1JVRkJUV2RFTEdsQ1FVTk1MRk5CUTBGd1JTeEZRVUZGYTBJc1ZVRkJWeXhKUVVGUGJFSXNSVUZCUlhORExGRkJRVk4wUXl4RlFVRkZhMElzVlVGQlZ5eEpRVU16UTJ4Q0xFVkJRVVZ6UXl4UlFVRlRkRU1zUlVGQlJXdENMRlZCUVZjc1MwRkRRU3hOUVVGeVFteENMRVZCUVVWclFpeFZRVUZYTEVkQlFXTXNTMEZCVDA0c1IwRkJWeXhYUVVGaExFbEJRemRFV2l4RlFVRkZjME1zVVVGQlV5eE5RVWxHZEVNc1JVRkJSU3RGTEZGQlExb3pSQ3hGUVVGTlowUXNhVUpCUVd0Q2NtcERMRVZCUVVkcEwwSXNSVUZCUlN0RkxGRkJRVk5vYTBNc1NVRkpka01zUjBGQlMya3ZRaXhGUVVGRlowWXNZMEZESzBNc1NVRkJia1JvUml4RlFVRkZaMFlzVjBGQlZ6TnNReXhMUVVGTmMydERMRVZCUVdsQ2RrTXNSVUZCVDNCQ0xFbEJRV2xDY21kQ0xFZEJSemxFTEU5QlFVOTVhRUlzUlVGQlRXOUVMRkZCWldRc1IwRllRVkFzUlVGQlZ5eFJRVWRZU2l4RlFVRnBRbnB3UWl4SlFVRkxOR3hDTEVWQlFVVnFSeXhWUVVONFFuRklMRVZCUVUwMU5VSXNTMEZCVFhjMFFpeEZRVUZGYVVZc1UwRkRaRGRFTEVWQlFVMHpiRUlzUzBGQlRYVnJRaXhGUVVGRmFqZENMRTlCUjJSdkswSXNSVUZCV1doRExFZEJRU3RDVWl4SFFVRlpXQ3hGUVVGSGFqaENMRVZCUVZOeE9VSXNSMEZMTlVRc1EwRlRUaXhIUVZKQlFTeEZRVUZOY21oQ0xGZEJRV0VzUlVGSFpEQnFRaXhIUVVOS1J5eEZRVUZ0UWpOaUxGRkJRVk1zVjBGQldTeERRVUZGYlZvc1JVRkJUM0JDTEVsQlNUZERjbWRDTEVWQlEwb3NUMEZCVDNsb1FpeEZRVWxJY0VJc1JVRkJSVzlETEU5QlFWTndReXhGUVVGRk5VUXNVVUZCVlN4SlFVTXpRbTFJTEVWQlFXVTFhME1zUlVGQlQyZG5RaXhYUVVGWkxGZEJRMnBEZVdsQ0xFVkJRVTF2UkN4TlFVRlBMRmxCUTFoNFJTeEZRVUZGTlVRc1ZVRkhUaXhKUVVORGVtTXNSMEZCV1N4RlFVTmFkMnBDTEVWQlFWVXJRaXhMUVVGTmJrSXNSVUZCWjBKMk9FSXNSMEZETDBJc1RVRkJVVFJFTEVkQlIxUXNSMEZCUzNWVkxFVkJRMG9zVFVGQlRYWlZMRVZCU1ZBMVJDeEhRVUZQTEVWQlFVYzBSQ3hUUVdoRFdEVkVMRWRCUVU4c1JVRkJSeXhuUWtGeFExZ3NVMEZCVTBFc1JVRkJUU3M0UWl4RlFVRlJXU3hGUVVGclFrTXNSVUZCVjB3c1IwRkRia1FzU1VGQlNVMHNSVUZCVjBvc1JVRkJVMnhuUXl4RlFVRlBkV2RETEVWQlFWVkRMRVZCUTNoRFpDeEZRVUZoVlN4RlFVZFVlR3hDTEVsQlNVeEJMRWRCUVZrc1JVRkhVRFJxUWl4SFFVTktOV3RETEVWQlFVOHdPVUlzWVVGQlkydElMRWRCUzNSQ1NpeFBRVUZaTVN0Q0xFVkJSMW8wSzBJc1JVRkJkMEl3UWl4SFFVRlhMRWRCUjI1RE0wUXNSVUZCVFhKb1FpeFhRVUZoZDJ0Q0xFVkJRVk1zUlVGQlNTeEZRVUZKTEVWQlIzQkRZeXhGUVVGWlpDeEhRVUZWTEV0QlFVOUJMRVZCUVZNc1MwRkJhMElzVFVGQldFRXNSVUZIZUVOaExFbEJRMHBGTEVWQk4yeENTaXhUUVVFNFFuUkdMRVZCUVVkdlFpeEZRVUZQWjBVc1IwRlBka01zU1VGTVFTeEpRVUZKU1N4RlFVRkphbXhETEVWQlFVMXJiRU1zUlVGQlpVTXNSVUZETlVJNWNrSXNSVUZCVjI5dFFpeEZRVUZGY0cxQ0xGTkJRMkp6YmtJc1JVRkJXV3hDTEVWQlFVVnJRaXhWUVVkWkxFMUJRVzVDUVN4RlFVRlhMRWxCUTJ4Q1FTeEZRVUZWYkRCQ0xHRkJRMFYyU1N4SlFVRlFLMmRETEVsQlEwcEJMRVZCUVV0NFJpeEZRVUZGYzBVc1ZVRkJXV3hFTEVWQlFVMDRReXhyUWtGQmJVSXNhVUpCU3psRExFZEJRVXR6UWl4RlFVTktMRWxCUVUxcWJFTXNTMEZCVVhGYUxFVkJRMklzUjBGQlMwRXNSVUZCVlhKYUxFbEJRVlZ4V2l4RlFVRlZjbG9zUjBGQlR6Wk1MRXRCUVUxdk5VSXNSMEZCVHl4RFFVTjBSSFJGTEVWQlFWVXpkMElzVVVGQlUyaFJMRWRCUTI1Q0xFMUJUVWdzUjBGQlN6Sm5ReXhGUVVGWExFdEJRVTlyUlN4RlFVTjBRa3NzUlVGQlowSjJSU3hGUVVGWExFOUJRM0pDTEVOQlIwNHNTVUZCVFROblF5eExRVUZSTm10RExFVkJRVmtzUTBGRGVrSXNTVUZCVFd4RkxFVkJRVmNzU1VGQlQyeENMRVZCUVVWNVF5eFhRVUZaYkdsRExFVkJRVThzU1VGQlRUSm5ReXhGUVVGWExFbEJRVkVzUTBGRGNrVjFSU3hGUVVGblFteHNReXhGUVVOb1FpeE5RVVZMYld4RExFbEJRMHhCTEVWQlFXZENibXhETEVkQlMyeENhMnhETEVWQlFXZENRU3hIUVVGcFFrTXNSVUZOYkVNc1IwRkJTMFFzUlVGSlNpeFBRVWhMUVN4SlFVRnJRblpGTEVWQlFWY3NTVUZEYWtOQkxFVkJRVlV6ZDBJc1VVRkJVMnN4UWl4SFFVVmlUQ3hGUVVGWFN5eEhRVEJwUWt4RkxFTkJRWEZDTTBZc1JVRkJSMjlDTEVWQlFVOW5SU3hMUVVseVEwTXNSMEZEVERGcVF5eEZRVUZQTmtRc1VVRkJVeXhUUVVGVmR6WkNMRVZCUVVWclFpeFpRVUZsTEVkQlF6TkRkaTlDTEVWQlFVODJSQ3hSUVVGVExFOUJRVkYzTmtJc1JVRkJSV3RDTEZkQlFXTXNTVUZEZUVOc1FpeEZRVUZGZVVNc1YwRkJXU3hsUVVGclFpeGpRVWxxUXpaRExFVkJPV2xDU0N4VFFVRnpRblJHTEVWQlFVZHpSaXhGUVVGVmJFVXNSVUZCVDJsRkxFZEJRM3BETEVsQlFVbFBMRVZCUVU5RExFVkJRVk5ETEVWQlFVMTRNa0lzUlVGQlMzVkxMRVZCUXpsQ05HOUNMRVZCUVdFc1IwRkhZblpDTEVWQlFWbHNRaXhGUVVGRmEwSXNWVUZCVldocFF5eFJRVWQ2UWl4SFFVRkxaMmxETEVWQlFWY3NSMEZEWml4SlFVRk5ORVVzUzBGQlVUbEdMRVZCUVVWNVF5eFhRVU5tUVN4RlFVRlpjVVFzUlVGQlN6RXZRaXhsUVVGclFqUTFRaXhGUVVGRmVVTXNWMEZCV1hGRUxFZEJUMjVFTEVsQlNFRkVMRVZCUVZVelJTeEZRVUZWYkRCQ0xGRkJSMW8yTkVJc1IwRmpVQ3hIUVZwTE4wWXNSVUZCUlhkRExHVkJRV2RDY1VRc1MwRkRkRUo2UlN4RlFVRlBjRUlzUlVGQlJYZERMR1ZCUVdkQ2NVUXNTVUZCWTFBc1NVRkpiRU42Y2tJc1IwRkJVWGR5UWl4SFFVRmhja1lzUlVGQlJTdEdMR0ZCUXpWQ1ZDeEZRVUZYZEVZc1JVRkJSU3RHTEZkQlFWbFVMRVZCUVZWMFJpeEZRVUZGYVVJc1YwRkhkRU53YmtJc1JVRkJUMmR6UWl4RlFVTlFRU3hGUVVGVk0wVXNSVUZCVld3d1FpeFJRVXR1UWl4SFFVRnBRaXhOUVVGYU5qUkNMRVZCUlVwQkxFVkJRVlZvYzBJc1QwRkhTaXhIUVVGakxFMUJRVlJCTEVkQlFXZENRU3hKUVVGVFozTkNMRVZCUVZVc1EwRk5PVU1zUzBGSVFVTXNSVUZCVDNKRUxFVkJRVmsxYjBJc1JVRkJUeXhKUVVGTlozTkNMRWxCUVdGd1JDeEZRVUZaTEV0QlFVOXZSQ3hKUVVrdlJDeEpRVUZOUkN4TFFVRlRia1FzUlVGSlpDeEpRVVJCYm5wQ0xFVkJRVTF6TWtJc1JVRkJUVEV2UWl4TlFVRlBMRTFCUTFRc1MwRkJVVEl2UWl4SlFVZHFRa01zUlVGQlQzSkVMRVZCUVZrMWIwSXNSVUZCVHl4SlFVRk5ka3NzUlVGQlN5eExRVU53UTIxNlFpeEZRVUZaTEV0QlFVOXVla0lzUlVGQlN5eExRVU5pTEVWQlIwY3NTVUZCVkhjeVFpeEZRVU5LUVN4RlFVRlBja1FzUlVGQldXMUVMRWxCUjJkQ0xFbEJRWGhDYmtRc1JVRkJXVzFFTEV0QlEzWkNReXhGUVVGVmRqSkNMRVZCUVVzc1IwRkRaalI0UWl4RlFVRlZNM2RDTEZGQlFWTnFRaXhGUVVGTExFdEJSWHBDTEUxQlQwb3NTVUZCWXl4SlFVRlVkekpDTEVWQlIwb3NSMEZCUzBFc1IwRkJVVGxHTEVWQlFVVm5SeXhQUVVOa1ZpeEZRVUZYVVN4RlFVRk5VaXhSUVVWcVFpeEpRVU5EUVN4RlFVRlhVU3hGUVVGTlVpeEhRVU5vUWl4TlFVRlJiRFpDTEVkQlExUXNUVUZCVHl4RFFVTk9ORklzVFVGQlR5eGpRVU5RYWxrc1RVRkJUeXRuUXl4RlFVRlBNVFpDTEVWQlFVa3NjMEpCUVhkQ2VVOHNSVUZCVHl4UFFVRlRaM05DTEVsQlUycEZMRTFCUVU4c1EwRkJSVGR2UWl4TlFVRlBMRlZCUVZkelJTeExRVUZOWjJ0Q0xFZEJhV1J3UWxjc1EwRkJZV3BITEVWQlFVZHpSaXhGUVVGVmJFVXNSVUZCVDJsRkxFZEJSM1pEUVN4SFFVZERja1lzUlVGQlJUaEZMR05CUTA1VExFVkJRVmR1UlN4RlFVRk5PRU1zYTBKQlFXMUNMRzlDUVVWdVEzWnBReXhGUVVGUGJXZERMR0ZCUVdOelFpeEhRVUZoYlVNc1NVRkZia05CTEVWQlFWZHVSU3hGUVVGTk9FTXNhMEpCUVcxQ0xGZEJSVzVEZG1sRExFVkJRVTl2WjBNc1MwRkJUWEZDTEVkQlFXRnRReXhKUVV0YUxFMUJRVmhvUWl4SFFVRTJRaXhUUVVGWWRrVXNSVUZCUlhvdlFpeExRVU40UW10clF5eEZRVUZoTEZsQlIxTXNUVUZCV0VZc1JVRkRXRVVzUlVGQllTeGxRVWxpUVN4RlFVRmhZU3hGUVVGVGRHOUNMRTFCUTNSQ2FXOUNMRVZCUVZWTExFVkJRVk5vYTBJc1MwRkZia0lyYWtJc1NVRkVRWFJuUXl4RlFVRlJkV2RETEVWQlFWTjJaME1zVlVGTmJFSkJMRVZCUVZFd0wwSXNSMEZEU0VZc1IwRkJWMFVzU1VGRFprRXNSVUZCWVN4UlFVTlNSaXhGUVVGVExFbEJRMkpCTEVWQlFWTXNTMEZOV201RUxFVkJRVTF0UkN4UFFVRlRRU3hGUVVObWJrUXNSVUZCVFhGRUxGbEJRV1ZWTEVkQlFXOUNWaXhIUVVGbExFZEJSMjVFV1N4RlFVTktibTlDTEVWQlFWTnRRaXhaUVVGaGMyeENMRVZCUVdsQ0xFTkJRVVZ6UWl4RlFVRlRVaXhGUVVGWmNrUXNTVUZGT1VSc2EwSXNSVUZCVTNWQ0xGZEJRVmxyYkVJc1JVRkJhVUlzUTBGQlJYWkRMRVZCUVU5eFJDeEZRVUZaTVM5Q0xFbEJTVFZFY1RoQ0xFVkJRVTB3UXl4WFFVRlpRU3hIUVVOc1FrRXNUMEZCWVhJdlFpeEZRVVZTWnk5Q0xFZEJRMHBITEVWQlFXMUNNMklzVVVGQlUyOWtMRVZCUVZrc1kwRkJaMElzV1VGRGRrUXNRMEZCUldwRkxFVkJRVTl3UWl4RlFVRkhjVVlzUlVGQldVb3NSVUZCVld4blF5eEpRVWx3UXpnclFpeEZRVUZwUW1wdVFpeFRRVUZWSzIxQ0xFVkJRV2xDTEVOQlFVVjJReXhGUVVGUGNVUXNTVUZGYUVSb1FpeEpRVU5LUnl4RlFVRnRRak5pTEZGQlFWTXNaVUZCWjBJc1EwRkJSVzFhTEVWQlFVOXdRaXhOUVVjelEzSXJRaXhGUVVGUGEyZERMRkZCUTJoQ2JHZERMRVZCUVU4MGJFSXNUVUZCVFZVc1VVRkJVeXhqUVV0NlFpeFBRVUZQYlZvc1IwRkhVamhGTEZGQlFWTXNVMEZCVld4RkxFVkJRVXN4WjBJc1JVRkJUWGhsTEVkQlF6ZENMRTlCUVU5dVFpeEZRVUZQVnl4SlFVRkxNQzlDTEVWQlFVc3haMElzUlVGQlRYaGxMRVZCUVZVc1UwRkhla054YWtNc1ZVRkJWeXhUUVVGVmJrVXNSVUZCUzJ3dlFpeEhRVU42UWl4UFFVRlBia0lzUlVGQlQxY3NTVUZCU3pBdlFpeFBRVUZMZGpsQ0xFVkJRVmN6UWl4RlFVRlZMR0ZCU1M5RGJrSXNSVUZCVDJ0Q0xFdEJRVTBzUTBGQlJTeE5RVUZQTEZGQlFWVXNVMEZCVlhORUxFVkJRVWx2Vml4SFFVTTNRelZhTEVWQlFWRTBXaXhIUVVGWExGTkJRVlY1YlVJc1JVRkJTekZuUWl4RlFVRk5lR1VzUlVGQlZYWkRMRWRCVldwRUxFOUJVRXRPTEVWQlFWbHhhRUlzUzBGRGFFSXZaMElzUlVGQlQwRXNSMEZCVVhWRExFVkJRMlpCTEVWQlFWZDNaU3hGUVVOWVFTeFBRVUZQTjJNc1IwRkpSRGxETEVWQlFVOTFhRU1zUzBGQlRYWm9ReXhGUVVGUGJVTXNUMEZCVVN4RFFVTnNRMnNyUWl4SlFVRkxRU3hGUVVOTWVtaERMRXRCUVUxbllpeEZRVU5PTUd4Q0xGTkJRVlV4WjBNc1JVRkRWaXRuUWl4TFFVRk5RU3hGUVVOT01tcENMRkZCUVZOdWFVTXNSMEZEVUc1Q0xFVkJRVTh5UXl4alFVRmxNRGxDTEVsQlFWTkJMRTlCU1hCRGNtZERMRVZCUVU5eGFFTXNZMEZCWlN4VFFVRlZhRVFzUjBGREwwSXNTVUZCU1dvdlFpeEZRVU5LTEVsQlFVMUJMRXRCUVV0cEwwSXNSVUZCUlN0RkxGRkJRMkVzYVVKQlFYQkNhR3RETEVWQlFVVnhSaXhuUWtGRFRqUTFRaXhGUVVGRmNVTXNXVUZCWTNKRExFVkJRVVVyUlN4UlFVRlRhR3RETEVsQlFVOHNUVUZOY2tOWkxFVkJRVTgwYzBJc1UwRkJWeXhUUVVGVmVWUXNSVUZCUzJvclFpeEZRVUZUYWtRc1IwRkRla01zVDBGQlQyRXNSVUZCVDNWb1F5eExRVUZOTEVOQlEyNUNiRUlzU1VGQlMwRXNSVUZIVEhwb1F5eExRVUZOTEUxQlEwNHdaME1zVTBGQlZTeFRRVU5XY0RCQ0xFOUJRVThzUlVGRFVIVXhRaXhQUVVGUExFVkJRMUJvYTBNc1VVRkJVU3hGUVV0U2NXdERMRmRCUVZrc1EwRkRXREpFTEdOQlFXVXNZMEZGYUVKTUxGZEJRVmtzVTBGQlZWUXNSMEZEY2tJemFrTXNSVUZCVHpCRUxGZEJRVmxwWjBNc1JVRkJWWFpvUXl4RlFVRlRha1FzVDBGTmVrTmhMRVZCUVU5SExFZEJRVWRuUXl4UFFVRlJMRU5CUTJwQ2RXbERMRkZCUVZNc1UwRkJWUzlZTEVkQlEyeENMRWxCUVVrdlNDeEZRWGxDU2l4UFFYWkNTek51UWl4TFFVRk5MRXRCUTB4eFFpeEZRVUZaY1hWQ0xFdEJRMmhDUVN4RlFVRlBRU3hGUVVGTGFuWkNMRXRCUVUxVUxFdEJRVTBzUzBGSmVrSXlia0lzUlVGQlR6VnJRaXhGUVVGUk1uTkNMRVZCUVUweGRrSXNTMEZCVFN4SFFVRkphVTRzWlVGQlowSXhTU3hIUVVGSkxFZEJRVWxuUWl4UFFVRlBMRWRCUlhwRWRrWXNTMEZCVFN4SFFVRkpORU1zV1VGRFpDdHJRaXhGUVVGTE1ra3NZVUZCWTNSM1FpeExRVUZOTEVsQlJ6RkNNbTVDTEVWQlFVdDRha0lzU1VGQlN5eFhRVWRVTEVsQlJrRXNTVUZCU1VNc1JVRkJUM0JGTEV0QlJVaHZSU3hGUVVGTGMycERMRzFDUVVOYWRHcERMRVZCUVU5QkxFVkJRVXR6YWtNc2EwSkJSMklzVDBGQlQzUnFReXhKUVVOS1ozTkNMRTlCUVZGd2QwSXNUMEZIVGtFc1RVRkhVakp1UXl4VlFVRlhMRk5CUVZWcVdTeEhRVU53UWl4UFFVRkxjblZDTEVWQlFWbHhkVUlzUjBGRFZERjJRaXhMUVVGTGFVVXNTMEZCVFN4VFFVRlZPVUlzUjBGRE0wSlpMRVZCUVZFdlF5eE5RVUZQTW01RExGVkJRVmRxV1N4RlFVRkxhblpDTEV0QlFVMVVMRXRCUVUxdFF5eE5RVWwwUTI1RExFdEJRVXRwUlN4TFFVRk5MRmRCUTJwQ0xFbEJRVWwzVnl4RlFVRlBNVmdzUlVGQlVTOURMRTFCUTJ4Q1oySXNSVUZCVjFBc1JVRkJTMDhzVjBGRldrRXNSVUZCVXpOWUxFOUJRMkl5V0N4RlFVRlRlWE5DTEZGQlFWTXZXQ3hIUVVkc1FtcFdMRVZCUVVzeVZpeFBRVUZSVml4TlFVdG9RaTlJTEV0QlFVMHNVMEZCVlN0SUxFZEJRMllzU1VGQlNXdFpMRVZCUVdsQ2RtMURMRVZCUVZseGRVSXNSMEZGYWtNc1QwRkJUekYyUWl4TFFVRkxhVVVzUzBGQlRTeFRRVUZWT1VJc1IwRkRNMEpaTEVWQlFWRXZReXhOUVVGUGVXNURMRkZCUVZOSExFVkJRV2xDYkZrc1JVRkJTMnAyUWl4TFFVRk5WQ3hMUVVGTmJVTXNSMEZCVFhWMFFpeE5RVWxzUlcxWkxFOUJRVkVzVTBGQlZUZHJReXhIUVVscVFpeFBRVWhCYUVRc1MwRkJTMnRWTEU5QlFWRnNVaXhIUVVGWE1sSXNTVUZCU3l4UlFVRlRNVkVzUzBGQlRTeFhRVU16UTJ4Q0xFVkJRVkV2UXl4TlFVRlBlWGRDTEZsQlFXRjZkMElzUzBGQlMzVk5MR05CUlROQ2RrMHNVVUZMVkN0RExFVkJRVTgyVHl4TFFVRkxhRWtzVVVGQlVTdDJRaXhQUVVGVExGTkJRVlYyTVVJc1IwRkRkRU1zVDBGQlVYSkNMRVZCUVU4MlR5eExRVUZMYUVrc1VVRkJVV3NyUWl4UlFVRlRNV3BETEVsQlJYUkRja0lzUlVGQlR6WlBMRXRCUVV0b1NTeFJRVUZSYXl0Q0xGRkJRVlVzVTBGQlZURnFReXhIUVVOMlF5eFRRVUZYUVN4RlFVRkxNblZDTEdGQlFXVXpkVUlzUlVGQlN6aDJRaXhqUVVGblFqbDJRaXhGUVVGTE5uaENMR2xDUVVGcFFqVjVRaXhUUVUwelJVNHNSVUZCVDJsblF5eGhRVUZoSzBVc1NVRkJUU3hYUVVONlFpeEpRVU5ETEU5QlFVOHNTVUZCU1dodlF5eEZRVUZQYVc5RExHVkJRMnBDTEUxQlFWRjROMElzVFVGSFdDeEpRVUZKZVRkQ0xFZEJRVzFDTEVOQlIzSkNReXhGUVVGSExFbEJTVWhETEV0QlFVMHNTMEZGVUVNc1IwRkJaWEpzUXl4RlFVRlBhV2RETEdGQlFXRXJSU3hOUVVWd1F6TnRReXhGUVVGUmFXNURMRTlCUVZORUxFbEJRV3RDTEc5Q1FVRnhRa0VzUjBGRGVFUm9ia01zUlVGQlVXdHFReXhMUVVGUE9FUXNTMEZCYVVKQkxFZEJSV2hEY214RExFVkJRVTl6YUVNc1kwRkJaU3hUUVVGVmJDOUNMRWRCUXk5Q0xFbEJRVWxxUWl4RlFVRlZiMnRETEVWQlIyUXNSMEZCUzJ4dVF5eEZRVUZSYVc1RExFMUJRVkZFTEV0QlFXbENhbXBETEVWQlFWRTBaME1zV1VGRE4wTXNUVUZCVHl4RFFVTk9UeXhMUVVGTkxGTkJRVlZJTEVWQlFWTm9UQ3hIUVVONFFpeEpRVUZKYURWQ0xFVkJRMGcwYkVNc1JVRkJUVFZwUXl4RlFVRlJOR2xETEUxQlYyWXNSMEZVUVVFc1JVRkJTVkVzUzBGRFNIQnFReXhGUVVGUmVFUXNTMEZEVW5kRUxFVkJRVkZwSzBJc1NVRkRVbW9yUWl4RlFVRlJjU3RDTEUxQlExSnlLMElzUlVGQlVYRnFReXhUUVVOU2NtcERMRVZCUVZGdFVpeFZRVWxLYmxJc1JVRkJVWE5xUXl4VlFVTmFMRWxCUVUxMGJVTXNTMEZCUzJkRUxFVkJRVkZ6YWtNc1ZVRkRiRUpXTEVWQlFVczFiRU1zUjBGQlRXZEVMRVZCUVZGemFrTXNWVUZCVjNSdFF5eEhRVzFDYUVNc1NVRkJUVUVzUzBGa1JHZEVMRVZCUVZGMVowTXNWVUZCV1hGRExFVkJRVWwwUXl4clFrRkROVUp6UXl4RlFVRkpkRU1zYVVKQlFXdENkR2RETEVWQlFWRjFaME1zVlVGUmVrSjJaME1zUlVGQlVUUm5ReXhoUVVGblFra3NSVUZCVXl4elFrRkRkRU5CTEVWQlFWTXNiMEpCUVhWQ0xHdENRVWwwUWtFc1JVRkRWalJDTEVWQlFVbDJReXhwUWtGQmEwSnlha01zUlVGQlIyZHJReXhGUVVGVGFHdERMRWxCU1c1REswSXNSVUZCVnl4VFFVRlZka01zUjBGRGNFSXNUMEZCVHl4WFFVTkVkVU1zU1VGRFNrRXNSVUZCVjI5clF5eEZRVUZuUWxBc1JVRkJTVmNzVDBGRE9VSllMRVZCUVVsWkxGRkJRVlZhTEVWQlFVbGhMRkZCUVZWaUxFVkJRVWxqTEZWQlF5OUNaQ3hGUVVGSlpTeHRRa0ZCY1VJc1MwRkZZaXhWUVVGVWJtNURMRVZCUTBwdmJVTXNSVUZCU1c1RExGRkJRMmRDTEZWQlFWUnFhME1zUlVGTFowSXNhVUpCUVdadmJVTXNSVUZCU1hCRExFOUJRMlo0U3l4RlFVRlZMRVZCUVVjc1UwRkZZa0VzUlVGSFF6Uk5MRVZCUVVsd1F5eFBRVU5LYjBNc1JVRkJTV3hETEZsQlNVNHhTeXhGUVVORE9FMHNSMEZCYTBKR0xFVkJRVWx3UXl4VFFVRlpiME1zUlVGQlNYQkRMRTlCUTNSRGIwTXNSVUZCU1d4RExGZEJTeXRDTEZWQlFXcERhME1zUlVGQlNXZENMR05CUVdkQ0xGTkJRMDBzYVVKQlFYSkNhRUlzUlVGQlNXbENMR0ZCUTFZc1EwRkJSVU1zVDBGQlVXeENMRVZCUVVseVFpeFZRVU5rTEVOQlFVVnVhME1zUzBGQlRYZHNReXhGUVVGSmFVSXNZMEZEWW1wQ0xFVkJRVWw0UXl3MFFrRlJWSGRETEVWQlFVbFhMRTlCUVZONGEwTXNTVUZEWW05clF5eEZRVUZuUWxBc1JVRkJTVmtzVVVGQlZWb3NSVUZCU1dNc1ZVRkJXVE5yUXl4RlFVRlZMR05CUzI1RE1rSXNTVUZCYUVKcmFVTXNSVUZCU1dFc1VVRkRVbUlzUlVGQlNXRXNVVUZCVlU0c1JVRkZaRkFzUlVGQlNXVXNiVUpCUVhGQ0xGZEJSMEVzU1VGQmJrSm1MRVZCUVVrMWJVSXNXVUZOVW5Cb1FpeEZRVUZQWjJkQ0xGZEJRVmtzVjBGRFlqZGlMRWRCUTBwdmEwTXNUMEZSVEhCclF5eEZRVUZYUVN4RlFVRlZMRk5CUlhKQ0xFbEJSME0yYWtNc1JVRkJTWHBDTEV0QlFVMXVhRU1zUlVGQlVUaG5ReXhaUVVGak9XZERMRVZCUVZGMVpDeE5RVUZSTEUxQlF5OURMRTFCUVZGc1Z5eEhRVWRVTEVkQlFVdDBTU3hGUVVOS0xFMUJRVTF6U1N4SlFVdFVielZDTEUxQlFVOHNWMEZEUkRGb1F5eEhRVU5LUVN4UlFWZE1ia0lzUlVGQlQzRm9ReXhqUVVGbExGTkJRVlZvUkN4SFFVTXhRa0VzUlVGQlJUSkZMR05CUTA0elJTeEZRVUZGY0cxQ0xGTkJRVk16V1N4UlFVRlRMRXRCUzNSQ1ZTeEZRVUZQYldoRExGVkJRVmNzUTBGRGFrSlNMRkZCUVZNc1EwRkRVbkpvUXl4UFFVRlJMRFpHUVVkVU1sa3NVMEZCVlN4RFFVTlVNMWtzVDBGQlVTd3lRa0ZGVkhkb1F5eFhRVUZaTEVOQlExZ3lSQ3hqUVVGbExGTkJRVlZxYkVNc1IwRkZlRUlzVDBGRVFWRXNSVUZCVHpCRUxGZEJRVmxzUlN4SFFVTmFRU3hOUVUxV1VTeEZRVUZQY1doRExHTkJRV1VzVTBGQlZTeFRRVUZWYUVRc1VVRkRlRUoyTjBJc1NVRkJXblUzUWl4RlFVRkZibnBDTEZGQlEwNXRla0lzUlVGQlJXNTZRaXhQUVVGUkxFZEJSVTV0ZWtJc1JVRkJSVEpGTEdOQlEwNHpSU3hGUVVGRmVpOUNMRXRCUVU4c1UwRkxXRzlDTEVWQlFVOXphRU1zWTBGQlpTeFRRVUZWTEZOQlFWVnFSQ3hIUVVsNFF5eEpRVUZKTHl0Q0xFVkJRVkUyUWl4RlFVUmlMRWRCUVV0ck9VSXNSVUZCUlRKRkxHRkJRV1V6UlN4RlFVRkZPRWdzV1VGRmRrSXNUVUZCVHl4RFFVTk9OVU1zUzBGQlRTeFRRVUZWY25CQ0xFVkJRVWRyWlN4SFFVTnNRamswUWl4RlFVRlRWU3hGUVVGUkxGbEJRMllyVHl4TFFVRk5jM1pDTEVWQlFVVTRTQ3hoUVVGbExFbEJRM1pDZG0xQ0xFdEJRVTBzUTBGQlJYZHRRaXhSUVVGVEwwZ3NSVUZCUldkSkxHTkJRV1Y0YmtNc1NVRkJTM2N2UWl4RlFVRkZaME1zVFVGRGVrTTNZU3hIUVVGSkxHRkJRV055YTBJc1JVRkJWeXhUUVVGVmJXeERMRWRCUTNaRGFHNURMRVZCUVU5M1lpeFRRVU5RTTFvc1JVRkJWeXhMUVVOT2JXeERMRWRCUTBwc1R5eEZRVUYxUWl4VlFVRmlhMDhzUlVGQlNURnVReXhMUVVGdFFpeEpRVUZOTEVsQlFVc3dia01zUlVGQlNURnVReXhSUVV0dVJDOUNMRVZCUVZNNFF5eExRVUZMUXl4WlFVRmhUaXhGUVVGUkxFdEJSWEJEZFdwRExFMUJRVThzVjBGRFJERm9ReXhIUVVOS1FTeFJRVlZNTEVsQmNVZExkV2hDTEVkQmNrZEVObXBDTEVkQlFXVXNSMEZEYkVKRExFZEJRVk1zYjBKQlIxWjRiVU1zUlVGQlQyMW9ReXhWUVVGWExFTkJRMnBDYzBZc1RVRkJUeXhYUVVOUVF5eGpRVUZsTEZkQlEyUXNTVUZCU1hac1F5eEZRVUZYYjJ4RExFZEJRV0ZxWjBNc1QwRkJWM1JITEVWQlFVOHJReXhSUVVGVkxFbEJRVkZxUlN4SFFVRk5jMFlzVDBGRmRFVXNUMEZFUVc1SUxFdEJRVTFyUlN4SlFVRmhMRVZCUTFwQkxFdEJTMVJ1UWl4RlFVRlBjV2hETEdOQlFXVXNZVUZCWXl4VFFVRlZhRVFzUlVGQlIzTkpMRVZCUVd0Q2JFZ3NSMEZGYkVVc1NVRkJTVzFJTEVWQlFXTkRMRVZCUVdGRExFVkJRemxDUXl4SFFVRjFRaXhKUVVGYU1Va3NSVUZCUlc5SkxGRkJRWEZDUkN4SFFVRlBMemRDTEV0QlFVMDBla0lzUlVGQlJXZERMRXRCUTJoRUxFMUJRMnRDTEdsQ1FVRllhRU1zUlVGQlJURmxMRTFCUlRaRExFdEJSRzVFTUdVc1JVRkJSWEZETEdGQlFXVXNTVUZEYWtJMWFVTXNVVUZCVXl4elEwRkRXREJ2UXl4SFFVRlBMemRDTEV0QlFVMDBla0lzUlVGQlJURmxMRTlCUVZVc1VVRkpOVUlzUjBGQlMyOXVRaXhIUVVGcFF5eFZRVUZ5UWpGSkxFVkJRVVZyUWl4VlFVRlhMRWRCT0VRM1FpeFBRVE5FUVhGSUxFVkJRV1YyU1N4RlFVRkZjVWtzWTBGQlowSndiME1zUlVGQldTc3ZRaXhGUVVGRmNVa3NaVUZET1VOeVNTeEZRVUZGY1Vrc1owSkJRMFp5U1N4RlFVRkZjVWtzWTBGSFJVc3NSVUZEU2pGSkxFVkJRVWN3U1N4SFFVRmhNVWtzUlVGQlJ6QkpMRWRCUVZjM2FrTXNVVUZCVTNOcVF5eEhRVUZSTEV0QlFVOUpMRWxCUXk5Q0xFbEJRVnAyU1N4RlFVRkZiMGtzVVVGRFluQkpMRVZCUVVWblF5eE5RVUZUTlVNc1IwRkJUMmg2UWl4TFFVRk5OSHBDTEVWQlFVVm5ReXhMUVVGUkxFbEJRVTBzUzBGQlVXaERMRVZCUVVWdlNTeE5RVUZSTEVsQlFVMUhMRWRCU1dwRmRra3NSVUZCUlhsRExGZEJRVmtzWlVGQmEwSXNWMEZKTDBJc1QwRklUV2RITEVkQlEwdzViVU1zUlVGQlQyOUVMRTFCUVU5M2FrTXNSVUZCWlN4dFFrRkZka0pGTEVWQlFXMUNMRWxCU1ROQ2Vra3NSVUZCUld0Q0xGVkJRVmNzUjBGQlRTeFBRVWR1UW5OSUxFVkJRV00zY0VNc1JVRkJVVFJ3UXl4SFFVTjBRalZ3UXl4RlFVRlJOSEJETEVkQlFXbENMRmRCUTNoQ1JTeEZRVUZ2UW5oc1F5eFhRVWx5UW0wclFpeEZRVUZOYm10Q0xFOUJRVkVzWjBKQlIxRjRXU3hKUVVGb1FpdHFReXhGUVVOS04yMURMRVZCUVZGb1JDeEhRVUZUTUN0Q0xGZEJRVmxyVEN4SFFVazNRalZ3UXl4RlFVRlJOSEJETEVkQlFXbENReXhGUVVseVFuaEpMRVZCUVVkMVNTeExRVWRRZGtrc1JVRkJSWEZKTEdOQlFXZENReXhGUVVGcFFrUXNZMEZIYmtOSUxFZEJRV0V4YjBNc1MwRkJUU3R2UXl4SlFVbG1SU3hIUVVGeFFuaHZReXhGUVVGWmRXOURMRWxCUTNKRFFTeEZRVUZoUXl4RlFVRnRRaXhKUVVkcVEwRXNSVUZCYjBKRUxFOUJRV012YWtNc1NVRkpOVUlzVjBGWlZIcEZMRVZCUVZFeWIwTXNjVUpCUTBoMGEwSXNSMEZCVHpkc1FpeEZRVUZUYjNGRExHVkJRV1ZFTEcxQ1FVRnZRaXhKUVVGTGRHdENMRTFCUTNaRU4xVXNWVUZCV1N3MlFrRkRhVUlzU1VGQk0wSTJWU3hIUVVGTGJGb3NWMEZCVjJ4S0xGRkJVWGhDVGl4RlFVRlBORmdzVlVGQldTeFRRVUZWSzBnc1JVRkJUWHBtTEVWQlFWTm5ia01zUjBGRE0wTXNUVUZCY1VJc2FVSkJRVlIyYmtJc1JVRkRTaXhKUVVWblFpeHJRa0ZCV25wbUxFbEJRMWhuYmtNc1JVRkJZMmh1UXl4RlFVTmtRU3hIUVVGVkxFZEJTMHhCTEVsQlNVRTNRaXhGUVVGUk1tOURMSEZDUVUxYWJucENMRWRCVEVFelZDeEZRVUZWY2tRc1JVRkJVMjl4UXl4bFFVRmxSQ3h0UWtGQmIwSXNTMEZMZGtONmJrTXNZMEZCWlN4VFFVTjZRbWxVTEV0QlFVOHpWaXhGUVVGVGMxWXNVMEZCVTBzc1MwRkRPVUowVXl4RlFVRlJVQ3hMUVVGTFF5eFpRVUZoYVZVc1NVRkZNVUl6VkN4RlFVRlZja1FzUjBGTFdqUnVRaXhIUVVGWGVXbENMRWRCUVdVc1NVRkVNVUpETEVWQlFWTTFka0lzUlVGQlYzQk9MRXRCUVUxM1ZpeEpRVXRzUWl4RFFVRkZlbVlzUlVGQlVWZ3NZMEZCWlRSdVF5eEZRVUZSTEUxQlIzcERRU3hGUVVGVE0ybENMRWRCUVdVc1EwRkJSVGRGTEVkQlFWRjZaaXhGUVVGVGRXdENMRWRCUlhSRFFTeEhRVUZYUVN4RlFVRlJibXRDTEZGQlEzWkNUaXhGUVVGUmVXdENMRWRCUVZVelNpeFRRVWRhT1dFc1JVRkJUMmRDTEUxQlFVOHNSMEZCU1cxdFF5eEZRVUZQTXpsQ0xHTkJiRU5vUXl4SlFVRkpjVXNzUlVGQlRYTjZRaXhGUVVGUk1XbENMRWRCZVVOdVFucHJRaXhGUVVGUFJ5eEhRVUZITUc5Q0xFdEJRVThzVTBGQlZYZFlMRVZCUVVzclJ5eEZRVUZSYW0xRExFZEJRM1pETEVsQlFVbHNRaXhGUVVGVmNrSXNSVUZCVFN0clF5eEZRVU51UW1welFpeEZRVUZQZW1Fc1MwRkRVRFJ2UWl4RlFVRk5kMkVzUlVGQlNYWnBReXhSUVVGVExFdEJjMFJ3UWl4UFFYQkVTeXR1UWl4SFFVRlBMRWxCUTFnMWJFSXNSVUZCVjNNM1FpeEhRVUZyUWpoRkxFVkJRVWs1YVVNc1RVRkJUM052UWl4SlFVTjRRM2RoTEVWQlFVMUJMRVZCUVVrNWFVTXNUVUZCVHl4RlFVRkhjMjlDTEVsQlNXaENkbTVDTEVWQlFWazRiME1zU1VGSGFFSnFiVU1zUlVGQlYybHRReXhGUVVOWVFTeFBRVUZUZEd0RExFZEJSMFZ6YTBNc1IwRkJORUlzYVVKQlFWaEJMRWxCUXpWQ2VHOURMRVZCUVU4c1VVRkpTRGhaTEVWQlFVdHdXQ3hQUVVGVExFZEJRMnhDVGl4RlFVRlBkV2hETEV0QlFVMHNRMEZEV214Q0xFbEJRVXRCTEVWQlMweDZhRU1zUzBGQlRVRXNSMEZCVVN4TlFVTmtNR2RETEZOQlFWVXNUMEZEVmpObUxFdEJRVTE1YmtJc1NVRkRTSFpvUXl4TFFVRk5MRk5CUVZWdlowTXNSMEZIYmtKMFF5eEZRVUZYY21sRExGVkJSVmh2Vnl4RlFVRkxhVllzUzBGQlRURnpRaXhGUVVsV1JDeEZRVUZSTEZOQlFWVnhkRUlzVDBGQlVYSjBRaXhGUVVGUE5GZ3NWVUZCVjNGMVFpeEpRVUZwUW5vMFFpeExRVUZOZGs0c1IwRkhia1ZuYlVNc1MwRkxSVE54UWl4UFFVRlJibUVzUjBGQldTeFRRVUZWY3l0Q0xFVkJRVTl0UkN4SFFVTjRRMnh5UWl4RlFVRkxlRmNzUzBGQlRTeFhRVU5XUXl4RlFVRlRka1FzVFVGQlQxZ3NTMEZCVFRCdFF5eEhRVUZaTEVOQlFVVnNSU3hGUVVGTmQwY3NZVUZCWTNKRUxFVkJRVkZ1UkN4UlFVczFSSGhwUXl4TlFVMVNLME1zUlVGQlR6WlBMRXRCUVV0b1NTeFJRVUZSZDJkRExGTkJRVmNzVTBGQlZXaHRReXhIUVVONFF5eFBRVUZQY2tJc1JVRkJUekpDTEV0QlFVMHpRaXhGUVVGUE5qVkNMRTlCUVZFc1UwRkJWVEUxUWl4SFFVTTFReXhQUVVGUGEwSXNTVUZCVTJ4Q0xFVkJRVWRyUWl4UFFVTm9RbVlzVVVGTlRFNHNSVUZCVDNOdVF5eFBRVUZUTEVOQlEyWkRMRlZCUVZjc1UwRkJWV3h0UXl4RlFVRk5aU3hGUVVGVGFFUXNSMEZEYmtNc1NVRkJTVzl2UXl4RlFVRmhReXhGUVVGVFF5eEZRVUZYUXl4RlFVRlJReXhGUVVGWFF5eEZRVU4yUkM5WUxFVkJRVmM1ZGtJc1JVRkJUelJvUWl4SlFVRkxkbWRDTEVWQlFVMHNXVUZETjBKNWJVTXNSVUZCVlRsdVF5eEZRVUZSY1VJc1IwRkRiRUkyYmtJc1JVRkJVU3hIUVVkVExGZEJRV0kwUnl4SlFVTktlblZDTEVWQlFVdHhaMElzVFVGQlRXOVBMRk5CUVZjc1dVRkhka0k0V0N4RlFVRlpSU3hGUVVGUlVpeFRRVU53UWtrc1JVRkJXVEZ1UXl4RlFVRlBOR2hDTEVsQlFVdDJaMElzUlVGQlRTeFBRVU01UW5kdFF5eEZRVUZoTjI1RExFVkJRVTgwYUVJc1NVRkJTM1puUWl4RlFVRk5MRk5CUTBrc1lVRkJZbmwxUWl4SFFVRjNReXhWUVVGaVFTeExRVU01UXpSWUxFVkJRVmxITEVkQlFXRXZjRU1zVVVGQlV5eFRRVUZaTEVkQlRXaEVObkJETEVkQlJFRklMRVZCUVdOTkxFVkJRVkZvV1N4WlFVTkVMMmxDTEVsQlEzSkNNRFpDTEVWQlFWVkVMRVZCUVZsNlV5eFBRVWQwUWpSVExFVkJRVk40V0N4WFFVRlpkVmdzU1VGQlpTeEZRVU53UTBRc1JVRkJWWFJZTEZkQlFWa3dXQ3hKUVVGblFpeEhRVWRzUTNad1F5eEZRVUZaT0VRc1MwRkhhRUpCTEVWQlFWVkJMRVZCUVZFeFJTeExRVUZOTWtRc1JVRkJUV3BETEVWQlFVZFpMRVZCUVU5dFF5eFBRVUZSTEVkQlFVbDViRU1zUzBGSGFrTXNUVUZCWm5oc1F5eEZRVUZSTWtzc1RVRkRXbTFqTEVWQlFVMXVZeXhKUVVGUk0wc3NSVUZCVVRKTExFbEJRVTAyTmtJc1JVRkJWVGMyUWl4SlFVRlJORFpDTEVkQlJURkNMRTFCUVdoQ2RteERMRVZCUVZFeWVVSXNUMEZEV2pkTUxFVkJRVTAyVEN4TFFVRlRNM2xDTEVWQlFWRXllVUlzUzBGQlR6WlRMRVZCUVZVM1V5eExRVUZUTUZNc1IwRkhOME1zVlVGQlYzSnNReXhGUVVObVFTeEZRVUZSTW14RExFMUJRVTF5Y1VNc1MwRkJUVEpFTEVWQlFVMDJia0lzUjBGSE1VSTBaU3hGUVVGUmJHMUNMRWxCUVV0elNDeExRVXRvUW14d1FpeEZRVUZQUnl4SFFVRkhaME1zVDBGQlVTeERRVWRxUW0xc1F5eFBRVUZSTEZOQlFWVnNiRU1zUjBGSGFrSXNSMEZCUzJRc1ZVRkJWV2hDTEU5QlEyUXNXVUZCYlVKM1F5eEpRVUZhVml4RlFVTk9ia1lzUzBGRFFVRXNTMEZCUzJsRkxFdEJRVTBzVTBGQlZUbENMRWRCUTNCQ1dTeEZRVUZQYzI1RExFOUJRVTlETEZWQlFWZDBjVU1zUzBGQlRXMUdMRVZCUVZOb1JDeExRVWt6UXl4SlFVRkpORzlETEVWQlFVMURMRVZCUTFRMWJVTXNSVUZCVDNCRkxFdEJRVTBzUjBGRlpDeFBRVUZOYjBVc1JVRlJRVUVzUlVGQlN6WjRRaXhwUWtGQmFVSTFlVUlzVVVGTE5VSXdia01zUlVGQlR6TnRReXhGUVVGTGQzcENMSGRDUVVOYWIxUXNSVUZCVFRWdFF5eEZRVUZMTmtrc1kwRkJZelJETEZsQlEyeENMRU5CUTA1RExFbEJRVXRwTjBJc1JVRkJTMm8zUWl4SlFVRk5hemRDTEVWQlFVbERMRmxCUTNCQ2JsUXNTMEZCVFdsVUxFVkJRVXRxVkN4TFFVRlBhMVFzUlVGQlNVVXNZMEZTWml4RFFVRkZjRGRDTEVsQlFVc3NSVUZCUjJkdlFpeExRVUZOTEZGQlZIaENMRWRCZFVKRWFrWXNVMEZCVlN4WFFVTlVMRWRCUVUwM2VVSXNTMEZCVFN4SFFVRmFMRU5CU1VFc1NVRkJTVzF5UXl4RlFVRmpaQ3hGUVVGUmJtOURMRVZCUTNwQ2EwTXNSVUZCVDNCRkxFdEJRVTBzUjBGRFltOXlReXhGUVVGbExFTkJRVVYwTjBJc1NVRkJTeXhGUVVGSFoyOUNMRXRCUVUwc1IwRkhhRU1zUjBGQmQwTXNWVUZCYmtNdk1FSXNSVUZCVHpSb1FpeEpRVUZMZG1kQ0xFVkJRVTBzV1VGSGRFSnBiVU1zUlVGQlUycHRReXhGUVVGTGQzcENMRFJDUVVWU0xFTkJUMDRzU1VGT1FYbFRMRVZCUVZOeWNVTXNTMEZCUzNGeFF5eFRRVWxrYm05RExFVkJRVTFyUXl4RlFVRkxOa2tzWTBGRFdHc3JRaXhGUVVGbEwyMURMRVZCUVVzcmJVTXNZMEZCWjBKcWNFTXNSVUZCU1hkT0xHZENRVU5vUTNrM1FpeEpRVU5NUVN4SlFVRnBRbXB3UXl4RlFVRkpkV3BDTEUxQlFWRXdiRUlzU1VGQmFVSnFjRU1zUlVGQlNYZE9MR3RDUVVOVUxGZEJRVE5ETTAwc1JVRkJUelJvUWl4SlFVRkxkMjFDTEVWQlFXTXNZVUZGTVVKQkxFVkJRV1ZCTEVWQlFXRjJiME1zVjBGRmVFSjFiME1zUjBGQlowSkJMRWxCUVdsQ0wyMURMRWRCUVd0RExFbEJRVEZDSzIxRExFVkJRV0UxY0VNc1dVRkhNVVEyY0VNc1JVRkJaWEp2UXl4RlFVRlJiMjlETEVkQlFXVmtMRlZCUTNwQ2RqWkNMRXRCUVU4dlRTeEZRVUZQTkdoQ0xFbEJRVXQzYlVJc1JVRkJZeXhyUWtGQmEwSXNSMEZEYUVWRExFVkJRV0YwVkN4TlFVRlJMekJDTEVWQlFVODBhRUlzU1VGQlMzZHRRaXhGUVVGakxHMUNRVUZ0UWl4SlFVdHdSU3hOUVVGUExFTkJRMDV5TjBJc1NVRkJTM1UyUWl4RlFVRlBkalpDTEVsQlFVMXpOMElzUlVGQllYUTNRaXhKUVVGTkwwMHNSVUZCVHpSb1FpeEpRVUZMZG1kQ0xFVkJRVTBzWVVGQllTeEhRVU53UlRCNlFpeExRVUZOZFZNc1JVRkJUM1pUTEV0QlFVOXpWQ3hGUVVGaGRGUXNTMEZCVHk4d1FpeEZRVUZQTkdoQ0xFbEJRVXQyWjBJc1JVRkJUU3hqUVVGakxFMUJZekZGSzIxRExHRkJRV01zVjBGRFlpeFBRVUZQYm5KRExFdEJRVXR0UlN4SlFVRkxMRmRCUjJoQ0xFbEJSa0VzU1VGQlNXZHVReXhGUVVGbGJuSkRMRXRCUVV0dGNrTXNZVUZGYUVKQkxFZEJRVEpFTEZkQlFUTkRjRzlETEVWQlFVODBhRUlzU1VGQlMzZHRRaXhGUVVGakxHRkJRMnBFUVN4RlFVRmxRU3hGUVVGaFFTeGhRVWMzUWl4UFFVRlBRU3hIUVVGblFubzNRaXhSUVUweFFqTk5MRVZCUVU5clFpeExRVUZOTEVOQlFVVXJNRUlzVjBGQldTeGpRVUZsUkN4VlFVRlhMR1ZCUVdsQ0xGTkJRVlZ3WXl4RlFVRlJaMGNzUjBGRGRrWXNTVUZCU1RkVExFVkJRVTBzWjBKQlFXdENObE1zUlVGRk5VSTFaaXhGUVVGUFJ5eEhRVUZKZVZvc1IwRkJWeXhUUVVGVmRtRXNSMEZETDBJc1QwRkJUMmxtTEVWQlFWRnlhRUlzUzBGQlRTeFRRVUZWYjBVc1JVRkJUWFZaTEVWQlFWRjJZU3hIUVVjMVF5eEpRVUZKTkc5RExFVkJUMG9zUjBGT1MzWndReXhGUVVGVk1rTXNSMEZEWkRSdFF5eEZRVUZOTlcxRExFVkJRM1ZDTEVsQlFXeENRU3hGUVVGTE4wTXNWMEZEYUVKNWNFTXNSVUZCVFRWdFF5eEZRVUZMZVV3c2EwSkJSME5vU3l4SlFVRlNla1FzUlVGRFNpeFBRVUZQTkc5RExFVkJRVTFCTEVWQlFVdHliMElzUjBGQlUzWmxMRVZCUVUxMVdTeEhRVWMzUW5GMVFpeEZRVU5LUVN4RlFVRkpTeXhUUVVOR2RqZENMRVZCUVZsck4wSXNSVUZCU1VVc1dVRkJWamx2UXl4RlFVTlFNRTRzUlVGQlRURk9MRVZCUVUwMGIwTXNSVUZCU1VNc1lVRkpha0kzYlVNc1JVRkJUWFZaTEVkQlFWZDJZU3hIUVVWb1FuVmhMRVZCUVZGMllTeEZRVUZMYVVNc1ZVRkJWV2hDTEZkQlZUVkNUaXhGUVVGUGEwSXNTMEZCVFN4RFFVRkZMRTFCUVU4c1VVRkJWU3hUUVVGVmMwUXNSVUZCU1c5aUxFZEJRemRETldZc1JVRkJUM0Y2UWl4VFFVRlZlbFFzUjBGQlUyOVFMRWRCUVdNemQwSXNSVUZCVVcxNVFpeGpRVU12UXl4VFFVRlZiblpDTEVWQlFVMXhkRUlzUjBGRFppeEhRVUZMUVN4RlFVbEtMRTlCU0VGQkxFVkJRVmRFTEVkQlFWRndkRUlzUlVGQlRYVmxMRWRCUjJ4Q2MwOHNSMEZCVlhwcVFpeExRVUZOYVd0Q0xFZEJRM1JDTVhWQ0xFVkJRVkZ4UWl4SFFVRlBlWFZDTEZkQlFWbHNVU3hIUVVGVExFdEJRM0JET0U4c1RVRlJUREYxUWl4RlFVRlBhMElzUzBGQlRTeERRVUZGY1c1RExFOUJRVkVzVTBGQlZVTXNUVUZCVHl4VFFVRlhMRk5CUVZWdWJVTXNSVUZCVFhwRUxFZEJRMnhGYjBJc1JVRkJUMnRDTEV0QlFVMHNRMEZEV2l0NlFpeFJRVUZUTEZGQlFWVTFlVUlzUlVGRGJrSTBWeXhSUVVGVGNtRXNSVUZEVkRad1F5eEhRVUZKTEZGQlFWVndiVU1zUjBGRFdpeFRRVUZWY1cxRExFVkJRV05ETEVkQlJ6RkNNMjlETEVWQlFVOUhMRWRCUVVsM2IwTXNSMEZCWVN4VFFVRlZNMVFzUlVGQlVUZDNRaXhIUVVONlF5eEpRVUZKYjJFc1JVRkJXV3BrTEZWQlFWVm9RaXhUUVVGWmIyOURMRWRCUVd0RExHdENRVUZZTVZRc1IwRkROVVJ3UXl4RlFVRlJPRllzUzBGQk5rSXNTVUZCV0RGVUxFbEJRVFpDTEVsQlFWWTNkMElzUlVGQmFVSXNVMEZCVnl4VlFVVXhSU3hQUVVGUGJXRXNSVUZCVVhKb1FpeExRVUZOTEZOQlFWVnZSU3hGUVVGTmVrTXNSVUZCVFhWR0xFZEJRekZETEVsQlFVbG9SaXhGUVVWS0xFOUJRVXRVTEVWQlFWVXlReXhIUVVkNVFpeEpRVUZvUTNOdVF5eEZRVUZUTjNGRExGRkJRVk1zVTBGRGVFSjFSQ3hGUVVGTkxGRkJRVlZuUWl4SFFVTm9RbWhDTEVWQlFVdDRSU3hUUVVGVE9GQXNaMEpCUVdsQ0xGTkJRVmQwU3l4SFFVbHlRaXhKUVVGc1FtaENMRVZCUVVzM1F5eFZRVU5VVnl4RlFVRk5hME1zUlVGQlMzTk1MR2RDUVVsS00wb3NTMEZCUzNGMlFpeEpRVU5ZYUhoQ0xFVkJRVXR4YUVJc1MwRkJUU3hUUVVGWGNtZENMRWRCUVZGc1JDeEZRVUZMTEZOQlFWZHJSQ3hIUVVNNVEyaENMRVZCUVV0eGFFSXNTMEZCVFN4VFFVRlhjbWRDTEVkQlFWRnNSQ3hGUVVGTExGTkJRVmRyUkN4SFFVTTVRMnhFTEVWQlFVc3NVMEZCVjJ0RUxGVkJTVVJUTEVsQlFWWnhRaXhGUVVkT2JrVXNSVUZCVHpSb1FpeEpRVUZMZG1kQ0xFVkJRVTE2UXl4RlFVRk5aekJDTEVkQlIzaENOWGxDTEVWQlFVOHdhRUlzVFVGQlQzSm5RaXhGUVVGTmVrTXNSVUZCVFhWR0xFVkJRVTk1ZFVJc1NVRkRhRU5vTUVJc1JVRkJUVEptTEVWQlFWbDVWeXhQUVVGVGJIbENMRVZCUVZkNVlpeFJRVTAxUTNabExFVkJRVTlyUWl4TFFVRk5MRU5CUTFvc1dVRkRRU3hYUVVOQkxHVkJRMEVzV1VGRFFTeGpRVU5CTEZsQlEwVXNVMEZCVlhORUxFVkJRVWsxUml4SFFVTm9RbTlDTEVWQlFVOUhMRWRCUVVsMlFpeEhRVUZUTEZOQlFWVjFRaXhIUVVNM1FpeFBRVUZQYkVRc1MwRkJTM1Z2UWl4SFFVRkpOVzFDTEVWQlFVMTFRaXhOUVU5NFFrZ3NSVUZCVDBjc1IwRkJSMmRETEU5QlFWRXNRMEZGYWtKbk1rSXNTMEZCVFN4VFFVRlZNVk1zUlVGQlR6bEdMRVZCUVUxNFppeEhRVU0xUWl4UFFVRlBiRVFzUzBGQlMzVnZRaXhIUVVGSlF5eEZRVUZQTEV0QlFVMDVSaXhGUVVGTmVHWXNTVUZGY0VONWIwTXNUMEZCVVN4VFFVRlZibXBDTEVWQlFVOTBiRUlzUjBGRGVFSXNUMEZCVDJ4RUxFdEJRVXMwYjBJc1NVRkJTMG9zUlVGQlR5eExRVUZOZEd4Q0xFbEJSeTlDTUc5RExGTkJRVlVzVTBGQlZUVnZReXhGUVVGVmQyeENMRVZCUVU4NVJpeEZRVUZOZUdZc1IwRkRNVU1zVDBGQlQyeEVMRXRCUVV0MWIwSXNSMEZCU1VNc1JVRkJUM2hzUWl4RlFVRlZNR1lzUlVGQlRYaG1MRWxCUlhoRE1tOURMRmRCUVZrc1UwRkJWVGR2UXl4RlFVRlZkMnhDTEVWQlFVOTBiRUlzUjBGSGRFTXNUMEZCTkVJc1NVRkJja0p0UWl4VlFVRlZhRUlzVDBGRGFFSnlSQ3hMUVVGTE5HOUNMRWxCUVVzMWJFSXNSVUZCVlN4TlFVTndRbWhFTEV0QlFVczBiMElzU1VGQlMwb3NSVUZCVDNoc1FpeEhRVUZaTEV0QlFVMUZMRWxCUjNKRE5HOURMRTFCUVU4c1UwRkJWVU1zUlVGQlVVTXNSMEZEZUVJc1QwRkJUMmh6UXl4TFFVRkxjWFZDTEZkQlFWa3daQ3hIUVVGVGVtUXNWMEZCV1RCa0xFZEJRVk5FTEUxQlNYaEVhSEJETEVWQlFVOXJRaXhMUVVOT0xIZE1RVVUwUkhGRUxFMUJRVThzUzBGRGJrVXNVMEZCVlVNc1JVRkJTVzVETEVkQlIySnlReXhGUVVGUFJ5eEhRVUZKYTBNc1IwRkJVeXhUUVVGVmMyUXNSVUZCVFhobUxFZEJRMjVETEU5QlFVOXRRaXhWUVVGVmFFSXNUMEZCVXl4RlFVTjZRbkpFTEV0QlFVdDFiMElzUjBGQlNXNXFRaXhGUVVGTkxFdEJRVTF6WkN4RlFVRk5lR1lzUjBGRE0wSnNSQ3hMUVVGTGNYQkNMRkZCUVZOcWEwSXNUVUZWYkVJc1NVRkJTVEpGTEVkQlFWRXNjVU5CVFZwb1NDeEZRVUZQYTNCRExFMUJRVkVzVTBGQlZTOXZReXhGUVVGSlJDeEhRVU0xUWl4SlFVRkplVTRzUlVGQlN6WkVMRVZCUVUwd00wSXNSVUZWWml4SFFWSjNRaXhwUWtGQldtaHdReXhKUVVOWWVVNHNSVUZCVFhoT0xFVkJRVWxFTEVkQlExWkJMRVZCUVZWRExFVkJRMVpCTEVWQlFVdDNUaXhIUVV0QmNsQXNSVUZCV1RaQ0xFZEJZV3hDTEU5QlVrRnhVaXhGUVVGUGFsVXNSVUZCVFVjc1MwRkJUVFJFTEZWQlFWY3NTVUZET1VJMGJrTXNSVUZCVVN4WFFVTlFMRTlCUVU4dmIwTXNSVUZCUjNaRExFMUJRVTl6UXl4SFFVRlhha1FzUzBGQlRYVlZMRVZCUVVzM1ZDeFBRVUZSU2l4RlFVRk5SeXhMUVVGTk5FUXNaVUZKZEVRNFF5eExRVUZQYWtVc1JVRkJSMmxGTEV0QlFVOXFSU3hGUVVGSGFVVXNUVUZCVVhCRkxFVkJRVTl2UlN4UFFVVnNRemhyUXl4SFFVZFNiSEJETEVWQlFVOXRjRU1zVlVGQldTeFRRVUZWUXl4SFFVTjJRa0VzUlVGRFNuQndReXhGUVVGUGEyVXNXVUZGVUd4bExFVkJRVTgyV0N4UFFVRlBMRWxCUjJoQ04xZ3NSVUZCVHpaRExGRkJRVlZFTEUxQlFVMURMRkZCUTNaQ04wTXNSVUZCVDNGd1F5eFZRVUZaYkhCQ0xFdEJRVXRETEUxQlEzaENjR2RDTEVWQlFVOXhTaXhUUVVGWFFTeEZRVU5zUW5KS0xFVkJRVTh4UWl4WFFVRmhRU3hGUVVOd1FqQkNMRVZCUVU5MFFpeFRRVUZYUVN4RlFVTnNRbk5DTEVWQlFVOXJaaXhWUVVGWlFTeEZRVU51UW14bUxFVkJRVTl3UWl4TFFVRlBiVUlzUlVGRlpFTXNSVUZCVDNWd1FpeEpRVUZOTjJwQ0xFdEJRVXMyYWtJc1NVRkZiRUoyY0VJc1JVRkJUM053UXl4VlFVRlpMRk5CUVZVdmNVTXNSMEZMTlVJc1NVRkJTVXNzUlVGQlQyOUNMRVZCUVU5d1FpeExRVUZOVEN4SFFVTjRRaXhQUVVGclFpeFhRVUZVU3l4SFFVRTRRaXhYUVVGVVFTeExRVXMxUWpKeFF5eE5RVUZQYUhKRExFVkJRVTAwZUVJc1YwRkJXVFY0UWl4TFFVYzFRbmxDTEVWQlFVOTNjRU1zUzBGQlR5eFRRVUZWYUhGRExFZEJRM1pDTEU5QlFXVXNUVUZCVWtFc1JVRkRUaXhKUVVORlFTeEZRVUZQTEVsQlFVc3dSQ3hSUVVGVE9FUXNSMEZCVHl4TFFXdENWQ3h0UWtGQldIbHBReXhSUVVGNVFrRXNUMEZCVDBNc1MwRkRNME5FTEU5QlFWRXNVMEZCVlN4SFFVRkpMRmRCUTNKQ0xFOUJRVTk2Y0VNc1NVRlBWQ3hKUVVkRE1uQkRMRWRCUVZVemMwTXNSVUZCVDJkRUxFOUJSMnBDTkhCRExFZEJRVXMxYzBNc1JVRkJUelp6UXl4RlFYZENZaXhQUVhSQ1FUZHdReXhGUVVGUE9IQkRMRmRCUVdFc1UwRkJWWEJ1UXl4SFFWTTNRaXhQUVZKTE1VWXNSVUZCVHpaelF5eEpRVUZOTjNCRExFbEJRMnBDYUVRc1JVRkJUelp6UXl4RlFVRkpSQ3hKUVVkUWJHNURMRWRCUVZFeFJpeEZRVUZQWjBRc1UwRkJWMEVzU1VGRE9VSm9SQ3hGUVVGUFowUXNUMEZCVXpKd1F5eEpRVWRXTTNCRExGRkJUV2xDTEVsQlFXSTVReXhKUVVOWVJpeEZRVUZQWjBRc1QwRkJVMmhFTEVWQlFVODJjME1zUlVGQlNUZHdReXhIUVUxeVFrRWlMQ0ptYVd4bElqb2lMMmh2YldVdmVtbHVieTl3Y205cVpXTjBjeTl6WldGMGJXRndkakl2YldGemRHVnlMM05sWVhSdFlYQjJNaTlqYkdsbGJuUXZibTlrWlY5dGIyUjFiR1Z6TDJweGRXVnllUzlrYVhOMEwycHhkV1Z5ZVM1cWN5SjkiLCJ2YXIgY2FjaGVkU2V0VGltZW91dCxjYWNoZWRDbGVhclRpbWVvdXQscHJvY2Vzcz1tb2R1bGUuZXhwb3J0cz17fTtmdW5jdGlvbiBkZWZhdWx0U2V0VGltb3V0KCl7dGhyb3cgbmV3IEVycm9yKFwic2V0VGltZW91dCBoYXMgbm90IGJlZW4gZGVmaW5lZFwiKX1mdW5jdGlvbiBkZWZhdWx0Q2xlYXJUaW1lb3V0KCl7dGhyb3cgbmV3IEVycm9yKFwiY2xlYXJUaW1lb3V0IGhhcyBub3QgYmVlbiBkZWZpbmVkXCIpfWZ1bmN0aW9uIHJ1blRpbWVvdXQoZSl7aWYoY2FjaGVkU2V0VGltZW91dD09PXNldFRpbWVvdXQpcmV0dXJuIHNldFRpbWVvdXQoZSwwKTtpZigoY2FjaGVkU2V0VGltZW91dD09PWRlZmF1bHRTZXRUaW1vdXR8fCFjYWNoZWRTZXRUaW1lb3V0KSYmc2V0VGltZW91dClyZXR1cm4gY2FjaGVkU2V0VGltZW91dD1zZXRUaW1lb3V0LHNldFRpbWVvdXQoZSwwKTt0cnl7cmV0dXJuIGNhY2hlZFNldFRpbWVvdXQoZSwwKX1jYXRjaCh0KXt0cnl7cmV0dXJuIGNhY2hlZFNldFRpbWVvdXQuY2FsbChudWxsLGUsMCl9Y2F0Y2godCl7cmV0dXJuIGNhY2hlZFNldFRpbWVvdXQuY2FsbCh0aGlzLGUsMCl9fX1mdW5jdGlvbiBydW5DbGVhclRpbWVvdXQoZSl7aWYoY2FjaGVkQ2xlYXJUaW1lb3V0PT09Y2xlYXJUaW1lb3V0KXJldHVybiBjbGVhclRpbWVvdXQoZSk7aWYoKGNhY2hlZENsZWFyVGltZW91dD09PWRlZmF1bHRDbGVhclRpbWVvdXR8fCFjYWNoZWRDbGVhclRpbWVvdXQpJiZjbGVhclRpbWVvdXQpcmV0dXJuIGNhY2hlZENsZWFyVGltZW91dD1jbGVhclRpbWVvdXQsY2xlYXJUaW1lb3V0KGUpO3RyeXtyZXR1cm4gY2FjaGVkQ2xlYXJUaW1lb3V0KGUpfWNhdGNoKHQpe3RyeXtyZXR1cm4gY2FjaGVkQ2xlYXJUaW1lb3V0LmNhbGwobnVsbCxlKX1jYXRjaCh0KXtyZXR1cm4gY2FjaGVkQ2xlYXJUaW1lb3V0LmNhbGwodGhpcyxlKX19fSFmdW5jdGlvbigpe3RyeXtjYWNoZWRTZXRUaW1lb3V0PVwiZnVuY3Rpb25cIj09dHlwZW9mIHNldFRpbWVvdXQ/c2V0VGltZW91dDpkZWZhdWx0U2V0VGltb3V0fWNhdGNoKGUpe2NhY2hlZFNldFRpbWVvdXQ9ZGVmYXVsdFNldFRpbW91dH10cnl7Y2FjaGVkQ2xlYXJUaW1lb3V0PVwiZnVuY3Rpb25cIj09dHlwZW9mIGNsZWFyVGltZW91dD9jbGVhclRpbWVvdXQ6ZGVmYXVsdENsZWFyVGltZW91dH1jYXRjaChlKXtjYWNoZWRDbGVhclRpbWVvdXQ9ZGVmYXVsdENsZWFyVGltZW91dH19KCk7dmFyIGN1cnJlbnRRdWV1ZSxxdWV1ZT1bXSxkcmFpbmluZz0hMSxxdWV1ZUluZGV4PS0xO2Z1bmN0aW9uIGNsZWFuVXBOZXh0VGljaygpe2RyYWluaW5nJiZjdXJyZW50UXVldWUmJihkcmFpbmluZz0hMSxjdXJyZW50UXVldWUubGVuZ3RoP3F1ZXVlPWN1cnJlbnRRdWV1ZS5jb25jYXQocXVldWUpOnF1ZXVlSW5kZXg9LTEscXVldWUubGVuZ3RoJiZkcmFpblF1ZXVlKCkpfWZ1bmN0aW9uIGRyYWluUXVldWUoKXtpZighZHJhaW5pbmcpe3ZhciBlPXJ1blRpbWVvdXQoY2xlYW5VcE5leHRUaWNrKTtkcmFpbmluZz0hMDtmb3IodmFyIHQ9cXVldWUubGVuZ3RoO3Q7KXtmb3IoY3VycmVudFF1ZXVlPXF1ZXVlLHF1ZXVlPVtdOysrcXVldWVJbmRleDx0OyljdXJyZW50UXVldWUmJmN1cnJlbnRRdWV1ZVtxdWV1ZUluZGV4XS5ydW4oKTtxdWV1ZUluZGV4PS0xLHQ9cXVldWUubGVuZ3RofWN1cnJlbnRRdWV1ZT1udWxsLGRyYWluaW5nPSExLHJ1bkNsZWFyVGltZW91dChlKX19ZnVuY3Rpb24gSXRlbShlLHQpe3RoaXMuZnVuPWUsdGhpcy5hcnJheT10fWZ1bmN0aW9uIG5vb3AoKXt9cHJvY2Vzcy5uZXh0VGljaz1mdW5jdGlvbihlKXt2YXIgdD1uZXcgQXJyYXkoYXJndW1lbnRzLmxlbmd0aC0xKTtpZihhcmd1bWVudHMubGVuZ3RoPjEpZm9yKHZhciByPTE7cjxhcmd1bWVudHMubGVuZ3RoO3IrKyl0W3ItMV09YXJndW1lbnRzW3JdO3F1ZXVlLnB1c2gobmV3IEl0ZW0oZSx0KSksMSE9PXF1ZXVlLmxlbmd0aHx8ZHJhaW5pbmd8fHJ1blRpbWVvdXQoZHJhaW5RdWV1ZSl9LEl0ZW0ucHJvdG90eXBlLnJ1bj1mdW5jdGlvbigpe3RoaXMuZnVuLmFwcGx5KG51bGwsdGhpcy5hcnJheSl9LHByb2Nlc3MudGl0bGU9XCJicm93c2VyXCIscHJvY2Vzcy5icm93c2VyPSEwLHByb2Nlc3MuZW52PXt9LHByb2Nlc3MuYXJndj1bXSxwcm9jZXNzLnZlcnNpb249XCJcIixwcm9jZXNzLnZlcnNpb25zPXt9LHByb2Nlc3Mub249bm9vcCxwcm9jZXNzLmFkZExpc3RlbmVyPW5vb3AscHJvY2Vzcy5vbmNlPW5vb3AscHJvY2Vzcy5vZmY9bm9vcCxwcm9jZXNzLnJlbW92ZUxpc3RlbmVyPW5vb3AscHJvY2Vzcy5yZW1vdmVBbGxMaXN0ZW5lcnM9bm9vcCxwcm9jZXNzLmVtaXQ9bm9vcCxwcm9jZXNzLnByZXBlbmRMaXN0ZW5lcj1ub29wLHByb2Nlc3MucHJlcGVuZE9uY2VMaXN0ZW5lcj1ub29wLHByb2Nlc3MubGlzdGVuZXJzPWZ1bmN0aW9uKGUpe3JldHVybltdfSxwcm9jZXNzLmJpbmRpbmc9ZnVuY3Rpb24oZSl7dGhyb3cgbmV3IEVycm9yKFwicHJvY2Vzcy5iaW5kaW5nIGlzIG5vdCBzdXBwb3J0ZWRcIil9LHByb2Nlc3MuY3dkPWZ1bmN0aW9uKCl7cmV0dXJuXCIvXCJ9LHByb2Nlc3MuY2hkaXI9ZnVuY3Rpb24oZSl7dGhyb3cgbmV3IEVycm9yKFwicHJvY2Vzcy5jaGRpciBpcyBub3Qgc3VwcG9ydGVkXCIpfSxwcm9jZXNzLnVtYXNrPWZ1bmN0aW9uKCl7cmV0dXJuIDB9O1xuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSW1KeWIzZHpaWEl1YW5NaVhTd2libUZ0WlhNaU9sc2lZMkZqYUdWa1UyVjBWR2x0Wlc5MWRDSXNJbU5oWTJobFpFTnNaV0Z5VkdsdFpXOTFkQ0lzSW5CeWIyTmxjM01pTENKdGIyUjFiR1VpTENKbGVIQnZjblJ6SWl3aVpHVm1ZWFZzZEZObGRGUnBiVzkxZENJc0lrVnljbTl5SWl3aVpHVm1ZWFZzZEVOc1pXRnlWR2x0Wlc5MWRDSXNJbkoxYmxScGJXVnZkWFFpTENKbWRXNGlMQ0p6WlhSVWFXMWxiM1YwSWl3aVpTSXNJbU5oYkd3aUxDSjBhR2x6SWl3aWNuVnVRMnhsWVhKVWFXMWxiM1YwSWl3aWJXRnlhMlZ5SWl3aVkyeGxZWEpVYVcxbGIzVjBJaXdpWTNWeWNtVnVkRkYxWlhWbElpd2ljWFZsZFdVaUxDSmtjbUZwYm1sdVp5SXNJbkYxWlhWbFNXNWtaWGdpTENKamJHVmhibFZ3VG1WNGRGUnBZMnNpTENKc1pXNW5kR2dpTENKamIyNWpZWFFpTENKa2NtRnBibEYxWlhWbElpd2lkR2x0Wlc5MWRDSXNJbXhsYmlJc0luSjFiaUlzSWtsMFpXMGlMQ0poY25KaGVTSXNJbTV2YjNBaUxDSnVaWGgwVkdsamF5SXNJbUZ5WjNNaUxDSkJjbkpoZVNJc0ltRnlaM1Z0Wlc1MGN5SXNJbWtpTENKd2RYTm9JaXdpY0hKdmRHOTBlWEJsSWl3aVlYQndiSGtpTENKMGFYUnNaU0lzSW1KeWIzZHpaWElpTENKbGJuWWlMQ0poY21kMklpd2lkbVZ5YzJsdmJpSXNJblpsY25OcGIyNXpJaXdpYjI0aUxDSmhaR1JNYVhOMFpXNWxjaUlzSW05dVkyVWlMQ0p2Wm1ZaUxDSnlaVzF2ZG1WTWFYTjBaVzVsY2lJc0luSmxiVzkyWlVGc2JFeHBjM1JsYm1WeWN5SXNJbVZ0YVhRaUxDSndjbVZ3Wlc1a1RHbHpkR1Z1WlhJaUxDSndjbVZ3Wlc1a1QyNWpaVXhwYzNSbGJtVnlJaXdpYkdsemRHVnVaWEp6SWl3aWJtRnRaU0lzSW1KcGJtUnBibWNpTENKamQyUWlMQ0pqYUdScGNpSXNJbVJwY2lJc0luVnRZWE5ySWwwc0ltMWhjSEJwYm1keklqb2lRVUZEUVN4SlFVOUpRU3hwUWtGRFFVTXNiVUpCVWtGRExGRkJRVlZETEU5QlFVOURMRkZCUVZVc1IwRlZMMElzVTBGQlUwTXNiVUpCUTB3c1RVRkJUU3hKUVVGSlF5eE5RVUZOTEcxRFFVVndRaXhUUVVGVFF5eHpRa0ZEVEN4TlFVRk5MRWxCUVVsRUxFMUJRVTBzY1VOQmMwSndRaXhUUVVGVFJTeFhRVUZYUXl4SFFVTm9RaXhIUVVGSlZDeHRRa0ZCY1VKVkxGZEJSWEpDTEU5QlFVOUJMRmRCUVZkRUxFVkJRVXNzUjBGSE0wSXNTVUZCUzFRc2JVSkJRWEZDU3l4dFFrRkJjVUpNTEcxQ1FVRnhRbFVzVjBGRmFFVXNUMEZFUVZZc2FVSkJRVzFDVlN4WFFVTmFRU3hYUVVGWFJDeEZRVUZMTEVkQlJUTkNMRWxCUlVrc1QwRkJUMVFzYVVKQlFXbENVeXhGUVVGTExFZEJReTlDTEUxQlFVMUZMRWRCUTBvc1NVRkZTU3hQUVVGUFdDeHBRa0ZCYVVKWkxFdEJRVXNzUzBGQlRVZ3NSVUZCU3l4SFFVTXhReXhOUVVGTlJTeEhRVVZLTEU5QlFVOVlMR2xDUVVGcFFsa3NTMEZCUzBNc1MwRkJUVW9zUlVGQlN5eExRVTF3UkN4VFFVRlRTeXhuUWtGQlowSkRMRWRCUTNKQ0xFZEJRVWxrTEhGQ1FVRjFRbVVzWVVGRmRrSXNUMEZCVDBFc1lVRkJZVVFzUjBGSGVFSXNTVUZCUzJRc2NVSkJRWFZDVFN4elFrRkJkMEpPTEhGQ1FVRjFRbVVzWVVGRmRrVXNUMEZFUVdZc2JVSkJRWEZDWlN4aFFVTmtRU3hoUVVGaFJDeEhRVVY0UWl4SlFVVkpMRTlCUVU5a0xHMUNRVUZ0UW1Nc1IwRkROVUlzVFVGQlQwb3NSMEZEVEN4SlFVVkpMRTlCUVU5V0xHMUNRVUZ0UWxjc1MwRkJTeXhMUVVGTlJ5eEhRVU4yUXl4TlFVRlBTaXhIUVVkTUxFOUJRVTlXTEcxQ1FVRnRRbGNzUzBGQlMwTXNTMEZCVFVVc1RVRnFSV2hFTEZkQlEwY3NTVUZGVVdZc2FVSkJSSE5DTEcxQ1FVRm1WU3hYUVVOWlFTeFhRVVZCVEN4cFFrRkZla0lzVFVGQlQwMHNSMEZEVEZnc2FVSkJRVzFDU3l4cFFrRkZka0lzU1VGRlVVb3NiVUpCUkhkQ0xHMUNRVUZxUW1Vc1lVRkRZMEVzWVVGRlFWUXNiMEpCUlROQ0xFMUJRVTlKTEVkQlEweFdMRzFDUVVGeFFrMHNjVUpCYWtJM1FpeEhRWGRGUVN4SlFVVkpWU3hoUVVaQlF5eE5RVUZSTEVkQlExSkRMRlZCUVZjc1JVRkZXRU1zV1VGQll5eEZRVVZzUWl4VFFVRlRReXhyUWtGRFFVWXNWVUZCWVVZc1pVRkhiRUpGTEZWQlFWY3NSVUZEVUVZc1lVRkJZVXNzVDBGRFlrb3NUVUZCVVVRc1lVRkJZVTBzVDBGQlQwd3NUMEZGTlVKRkxGbEJRV01zUlVGRlpFWXNUVUZCVFVrc1VVRkRUa1VzWTBGSlVpeFRRVUZUUVN4aFFVTk1MRWxCUVVsTUxGTkJRVW9zUTBGSFFTeEpRVUZKVFN4RlFVRlZha0lzVjBGQlYyRXNhVUpCUTNwQ1JpeFZRVUZYTEVWQlIxZ3NTVUZFUVN4SlFVRkpUeXhGUVVGTlVpeE5RVUZOU1N4UFFVTldTU3hIUVVGTExFTkJSMUFzU1VGR1FWUXNZVUZCWlVNc1RVRkRaa0VzVFVGQlVTeExRVU5EUlN4WFFVRmhUU3hIUVVOa1ZDeGpRVU5CUVN4aFFVRmhSeXhaUVVGWlR5eE5RVWRxUTFBc1dVRkJZeXhGUVVOa1RTeEZRVUZOVWl4TlFVRk5TU3hQUVVWb1Frd3NZVUZCWlN4TFFVTm1SU3hWUVVGWExFVkJRMWhNTEdkQ1FVRm5RbGNzU1VGcFFuQkNMRk5CUVZOSExFdEJRVXR1UWl4RlFVRkxiMElzUjBGRFptaENMRXRCUVV0S0xFbEJRVTFCTEVWQlExaEpMRXRCUVV0blFpeE5RVUZSUVN4RlFWbHFRaXhUUVVGVFF5eFJRVFZDVkRWQ0xGRkJRVkUyUWl4VFFVRlhMRk5CUVZWMFFpeEhRVU42UWl4SlFVRkpkVUlzUlVGQlR5eEpRVUZKUXl4TlFVRk5ReXhWUVVGVldpeFBRVUZUTEVkQlEzaERMRWRCUVVsWkxGVkJRVlZhTEU5QlFWTXNSVUZEYmtJc1NVRkJTeXhKUVVGSllTeEZRVUZKTEVWQlFVZEJMRVZCUVVsRUxGVkJRVlZhTEU5QlFWRmhMRWxCUTJ4RFNDeEZRVUZMUnl4RlFVRkpMRWRCUVV0RUxGVkJRVlZETEVkQlIyaERha0lzVFVGQlRXdENMRXRCUVVzc1NVRkJTVklzUzBGQlMyNUNMRVZCUVV0MVFpeEpRVU5LTEVsQlFXcENaQ3hOUVVGTlNTeFJRVUZwUWtnc1ZVRkRka0pZTEZkQlFWZG5RaXhoUVZOdVFra3NTMEZCUzFNc1ZVRkJWVllzU1VGQlRTeFhRVU5xUW1Rc1MwRkJTMG9zU1VGQlNUWkNMRTFCUVUwc1MwRkJUWHBDTEV0QlFVdG5RaXhSUVVVNVFqTkNMRkZCUVZGeFF5eE5RVUZSTEZWQlEyaENja01zVVVGQlVYTkRMRk5CUVZVc1JVRkRiRUowUXl4UlFVRlJkVU1zU1VGQlRTeEhRVU5rZGtNc1VVRkJVWGRETEV0QlFVOHNSMEZEWm5oRExGRkJRVkY1UXl4UlFVRlZMRWRCUTJ4Q2VrTXNVVUZCVVRCRExGTkJRVmNzUjBGSmJrSXhReXhSUVVGUk1rTXNSMEZCUzJZc1MwRkRZalZDTEZGQlFWRTBReXhaUVVGamFFSXNTMEZEZEVJMVFpeFJRVUZSTmtNc1MwRkJUMnBDTEV0QlEyWTFRaXhSUVVGUk9FTXNTVUZCVFd4Q0xFdEJRMlExUWl4UlFVRlJLME1zWlVGQmFVSnVRaXhMUVVONlFqVkNMRkZCUVZGblJDeHRRa0ZCY1VKd1FpeExRVU0zUWpWQ0xGRkJRVkZwUkN4TFFVRlBja0lzUzBGRFpqVkNMRkZCUVZGclJDeG5Ra0ZCYTBKMFFpeExRVU14UWpWQ0xGRkJRVkZ0UkN4dlFrRkJjMEoyUWl4TFFVVTVRalZDTEZGQlFWRnZSQ3hWUVVGWkxGTkJRVlZETEVkQlFWRXNUVUZCVHl4SlFVVTNRM0pFTEZGQlFWRnpSQ3hSUVVGVkxGTkJRVlZFTEVkQlEzaENMRTFCUVUwc1NVRkJTV3BFTEUxQlFVMHNjVU5CUjNCQ1NpeFJRVUZSZFVRc1NVRkJUU3hYUVVGakxFMUJRVThzUzBGRGJrTjJSQ3hSUVVGUmQwUXNUVUZCVVN4VFFVRlZReXhIUVVOMFFpeE5RVUZOTEVsQlFVbHlSQ3hOUVVGTkxHMURRVVZ3UWtvc1VVRkJVVEJFTEUxQlFWRXNWMEZCWVN4UFFVRlBJaXdpWm1sc1pTSTZJaTlvYjIxbEwzcHBibTh2Y0hKdmFtVmpkSE12YzJWaGRHMWhjSFl5TDIxaGMzUmxjaTl6WldGMGJXRndkakl2WTJ4cFpXNTBMMjV2WkdWZmJXOWtkV3hsY3k5d2NtOWpaWE56TDJKeWIzZHpaWEl1YW5NaWZRPT0iLCJ2YXIgYnVmZmVyPXJlcXVpcmUoXCJidWZmZXJcIiksQnVmZmVyPWJ1ZmZlci5CdWZmZXI7ZnVuY3Rpb24gY29weVByb3BzKGYsZSl7Zm9yKHZhciByIGluIGYpZVtyXT1mW3JdfWZ1bmN0aW9uIFNhZmVCdWZmZXIoZixlLHIpe3JldHVybiBCdWZmZXIoZixlLHIpfUJ1ZmZlci5mcm9tJiZCdWZmZXIuYWxsb2MmJkJ1ZmZlci5hbGxvY1Vuc2FmZSYmQnVmZmVyLmFsbG9jVW5zYWZlU2xvdz9tb2R1bGUuZXhwb3J0cz1idWZmZXI6KGNvcHlQcm9wcyhidWZmZXIsZXhwb3J0cyksZXhwb3J0cy5CdWZmZXI9U2FmZUJ1ZmZlciksU2FmZUJ1ZmZlci5wcm90b3R5cGU9T2JqZWN0LmNyZWF0ZShCdWZmZXIucHJvdG90eXBlKSxjb3B5UHJvcHMoQnVmZmVyLFNhZmVCdWZmZXIpLFNhZmVCdWZmZXIuZnJvbT1mdW5jdGlvbihmLGUscil7aWYoXCJudW1iZXJcIj09dHlwZW9mIGYpdGhyb3cgbmV3IFR5cGVFcnJvcihcIkFyZ3VtZW50IG11c3Qgbm90IGJlIGEgbnVtYmVyXCIpO3JldHVybiBCdWZmZXIoZixlLHIpfSxTYWZlQnVmZmVyLmFsbG9jPWZ1bmN0aW9uKGYsZSxyKXtpZihcIm51bWJlclwiIT10eXBlb2YgZil0aHJvdyBuZXcgVHlwZUVycm9yKFwiQXJndW1lbnQgbXVzdCBiZSBhIG51bWJlclwiKTt2YXIgdT1CdWZmZXIoZik7cmV0dXJuIHZvaWQgMCE9PWU/XCJzdHJpbmdcIj09dHlwZW9mIHI/dS5maWxsKGUscik6dS5maWxsKGUpOnUuZmlsbCgwKSx1fSxTYWZlQnVmZmVyLmFsbG9jVW5zYWZlPWZ1bmN0aW9uKGYpe2lmKFwibnVtYmVyXCIhPXR5cGVvZiBmKXRocm93IG5ldyBUeXBlRXJyb3IoXCJBcmd1bWVudCBtdXN0IGJlIGEgbnVtYmVyXCIpO3JldHVybiBCdWZmZXIoZil9LFNhZmVCdWZmZXIuYWxsb2NVbnNhZmVTbG93PWZ1bmN0aW9uKGYpe2lmKFwibnVtYmVyXCIhPXR5cGVvZiBmKXRocm93IG5ldyBUeXBlRXJyb3IoXCJBcmd1bWVudCBtdXN0IGJlIGEgbnVtYmVyXCIpO3JldHVybiBidWZmZXIuU2xvd0J1ZmZlcihmKX07XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJbWx1WkdWNExtcHpJbDBzSW01aGJXVnpJanBiSW1KMVptWmxjaUlzSW5KbGNYVnBjbVVpTENKQ2RXWm1aWElpTENKamIzQjVVSEp2Y0hNaUxDSnpjbU1pTENKa2MzUWlMQ0pyWlhraUxDSlRZV1psUW5WbVptVnlJaXdpWVhKbklpd2laVzVqYjJScGJtZFBjazltWm5ObGRDSXNJbXhsYm1kMGFDSXNJbVp5YjIwaUxDSmhiR3h2WXlJc0ltRnNiRzlqVlc1ellXWmxJaXdpWVd4c2IyTlZibk5oWm1WVGJHOTNJaXdpYlc5a2RXeGxJaXdpWlhod2IzSjBjeUlzSW5CeWIzUnZkSGx3WlNJc0lrOWlhbVZqZENJc0ltTnlaV0YwWlNJc0lsUjVjR1ZGY25KdmNpSXNJbk5wZW1VaUxDSm1hV3hzSWl3aVpXNWpiMlJwYm1jaUxDSmlkV1lpTENKMWJtUmxabWx1WldRaUxDSlRiRzkzUW5WbVptVnlJbDBzSW0xaGNIQnBibWR6SWpvaVFVRkZRU3hKUVVGSlFTeFBRVUZUUXl4UlFVRlJMRlZCUTJwQ1F5eFBRVUZUUml4UFFVRlBSU3hQUVVkd1FpeFRRVUZUUXl4VlFVRlhReXhGUVVGTFF5eEhRVU4yUWl4SlFVRkxMRWxCUVVsRExFdEJRVTlHTEVWQlEyUkRMRVZCUVVsRExFZEJRVTlHTEVWQlFVbEZMRWRCVjI1Q0xGTkJRVk5ETEZkQlFWbERMRVZCUVV0RExFVkJRV3RDUXl4SFFVTXhReXhQUVVGUFVpeFBRVUZQVFN4RlFVRkxReXhGUVVGclFrTXNSMEZVYmtOU0xFOUJRVTlUTEUxQlFWRlVMRTlCUVU5VkxFOUJRVk5XTEU5QlFVOVhMR0ZCUVdWWUxFOUJRVTlaTEdkQ1FVTTVSRU1zVDBGQlQwTXNVVUZCVldoQ0xGRkJSMnBDUnl4VlFVRlZTQ3hQUVVGUlowSXNVMEZEYkVKQkxGRkJRVkZrTEU5QlFWTkxMRmxCVDI1Q1FTeFhRVUZYVlN4VlFVRlpReXhQUVVGUFF5eFBRVUZQYWtJc1QwRkJUMlVzVjBGSE5VTmtMRlZCUVZWRUxFOUJRVkZMTEZsQlJXeENRU3hYUVVGWFNTeExRVUZQTEZOQlFWVklMRVZCUVV0RExFVkJRV3RDUXl4SFFVTnFSQ3hIUVVGdFFpeHBRa0ZCVWtZc1JVRkRWQ3hOUVVGTkxFbEJRVWxaTEZWQlFWVXNhVU5CUlhSQ0xFOUJRVTlzUWl4UFFVRlBUU3hGUVVGTFF5eEZRVUZyUWtNc1NVRkhka05JTEZkQlFWZExMRTFCUVZFc1UwRkJWVk1zUlVGQlRVTXNSVUZCVFVNc1IwRkRka01zUjBGQmIwSXNhVUpCUVZSR0xFVkJRMVFzVFVGQlRTeEpRVUZKUkN4VlFVRlZMRFpDUVVWMFFpeEpRVUZKU1N4RlFVRk5kRUlzVDBGQlQyMUNMRWRCVldwQ0xGbEJWR0ZKTEVsQlFWUklMRVZCUTNOQ0xHbENRVUZpUXl4RlFVTlVReXhGUVVGSlJpeExRVUZMUVN4RlFVRk5ReXhIUVVWbVF5eEZRVUZKUml4TFFVRkxRU3hIUVVkWVJTeEZRVUZKUml4TFFVRkxMRWRCUlVwRkxFZEJSMVJxUWl4WFFVRlhUU3haUVVGakxGTkJRVlZSTEVkQlEycERMRWRCUVc5Q0xHbENRVUZVUVN4RlFVTlVMRTFCUVUwc1NVRkJTVVFzVlVGQlZTdzJRa0ZGZEVJc1QwRkJUMnhDTEU5QlFVOXRRaXhKUVVkb1FtUXNWMEZCVjA4c1owSkJRV3RDTEZOQlFWVlBMRWRCUTNKRExFZEJRVzlDTEdsQ1FVRlVRU3hGUVVOVUxFMUJRVTBzU1VGQlNVUXNWVUZCVlN3MlFrRkZkRUlzVDBGQlQzQkNMRTlCUVU4d1FpeFhRVUZYVENJc0ltWnBiR1VpT2lJdmFHOXRaUzk2YVc1dkwzQnliMnBsWTNSekwzTmxZWFJ0WVhCMk1pOXRZWE4wWlhJdmMyVmhkRzFoY0hZeUwyTnNhV1Z1ZEM5dWIyUmxYMjF2WkhWc1pYTXZjMkZtWlMxaWRXWm1aWEl2YVc1a1pYZ3Vhbk1pZlE9PSIsIiFmdW5jdGlvbih0KXt0LnBhcnNlcj1mdW5jdGlvbih0LGUpe3JldHVybiBuZXcgcyh0LGUpfSx0LlNBWFBhcnNlcj1zLHQuU0FYU3RyZWFtPW4sdC5jcmVhdGVTdHJlYW09ZnVuY3Rpb24odCxlKXtyZXR1cm4gbmV3IG4odCxlKX0sdC5NQVhfQlVGRkVSX0xFTkdUSD02NTUzNjt2YXIgZSxpPVtcImNvbW1lbnRcIixcInNnbWxEZWNsXCIsXCJ0ZXh0Tm9kZVwiLFwidGFnTmFtZVwiLFwiZG9jdHlwZVwiLFwicHJvY0luc3ROYW1lXCIsXCJwcm9jSW5zdEJvZHlcIixcImVudGl0eVwiLFwiYXR0cmliTmFtZVwiLFwiYXR0cmliVmFsdWVcIixcImNkYXRhXCIsXCJzY3JpcHRcIl07ZnVuY3Rpb24gcyhlLGEpe2lmKCEodGhpcyBpbnN0YW5jZW9mIHMpKXJldHVybiBuZXcgcyhlLGEpOyFmdW5jdGlvbih0KXtmb3IodmFyIGU9MCxzPWkubGVuZ3RoO2U8cztlKyspdFtpW2VdXT1cIlwifSh0aGlzKSx0aGlzLnE9dGhpcy5jPVwiXCIsdGhpcy5idWZmZXJDaGVja1Bvc2l0aW9uPXQuTUFYX0JVRkZFUl9MRU5HVEgsdGhpcy5vcHQ9YXx8e30sdGhpcy5vcHQubG93ZXJjYXNlPXRoaXMub3B0Lmxvd2VyY2FzZXx8dGhpcy5vcHQubG93ZXJjYXNldGFncyx0aGlzLmxvb3NlQ2FzZT10aGlzLm9wdC5sb3dlcmNhc2U/XCJ0b0xvd2VyQ2FzZVwiOlwidG9VcHBlckNhc2VcIix0aGlzLnRhZ3M9W10sdGhpcy5jbG9zZWQ9dGhpcy5jbG9zZWRSb290PXRoaXMuc2F3Um9vdD0hMSx0aGlzLnRhZz10aGlzLmVycm9yPW51bGwsdGhpcy5zdHJpY3Q9ISFlLHRoaXMubm9zY3JpcHQ9ISghZSYmIXRoaXMub3B0Lm5vc2NyaXB0KSx0aGlzLnN0YXRlPUQuQkVHSU4sdGhpcy5zdHJpY3RFbnRpdGllcz10aGlzLm9wdC5zdHJpY3RFbnRpdGllcyx0aGlzLkVOVElUSUVTPXRoaXMuc3RyaWN0RW50aXRpZXM/T2JqZWN0LmNyZWF0ZSh0LlhNTF9FTlRJVElFUyk6T2JqZWN0LmNyZWF0ZSh0LkVOVElUSUVTKSx0aGlzLmF0dHJpYkxpc3Q9W10sdGhpcy5vcHQueG1sbnMmJih0aGlzLm5zPU9iamVjdC5jcmVhdGUoaCkpLHRoaXMudHJhY2tQb3NpdGlvbj0hMSE9PXRoaXMub3B0LnBvc2l0aW9uLHRoaXMudHJhY2tQb3NpdGlvbiYmKHRoaXMucG9zaXRpb249dGhpcy5saW5lPXRoaXMuY29sdW1uPTApLEModGhpcyxcIm9ucmVhZHlcIil9dC5FVkVOVFM9W1widGV4dFwiLFwicHJvY2Vzc2luZ2luc3RydWN0aW9uXCIsXCJzZ21sZGVjbGFyYXRpb25cIixcImRvY3R5cGVcIixcImNvbW1lbnRcIixcIm9wZW50YWdzdGFydFwiLFwiYXR0cmlidXRlXCIsXCJvcGVudGFnXCIsXCJjbG9zZXRhZ1wiLFwib3BlbmNkYXRhXCIsXCJjZGF0YVwiLFwiY2xvc2VjZGF0YVwiLFwiZXJyb3JcIixcImVuZFwiLFwicmVhZHlcIixcInNjcmlwdFwiLFwib3Blbm5hbWVzcGFjZVwiLFwiY2xvc2VuYW1lc3BhY2VcIl0sT2JqZWN0LmNyZWF0ZXx8KE9iamVjdC5jcmVhdGU9ZnVuY3Rpb24odCl7ZnVuY3Rpb24gZSgpe31yZXR1cm4gZS5wcm90b3R5cGU9dCxuZXcgZX0pLE9iamVjdC5rZXlzfHwoT2JqZWN0LmtleXM9ZnVuY3Rpb24odCl7dmFyIGU9W107Zm9yKHZhciBpIGluIHQpdC5oYXNPd25Qcm9wZXJ0eShpKSYmZS5wdXNoKGkpO3JldHVybiBlfSkscy5wcm90b3R5cGU9e2VuZDpmdW5jdGlvbigpe3YodGhpcyl9LHdyaXRlOmZ1bmN0aW9uKGUpe2lmKHRoaXMuZXJyb3IpdGhyb3cgdGhpcy5lcnJvcjtpZih0aGlzLmNsb3NlZClyZXR1cm4gUih0aGlzLFwiQ2Fubm90IHdyaXRlIGFmdGVyIGNsb3NlLiBBc3NpZ24gYW4gb25yZWFkeSBoYW5kbGVyLlwiKTtpZihudWxsPT09ZSlyZXR1cm4gdih0aGlzKTtcIm9iamVjdFwiPT10eXBlb2YgZSYmKGU9ZS50b1N0cmluZygpKTt2YXIgcz0wLGE9XCJcIjtmb3IoO2E9TShlLHMrKyksdGhpcy5jPWEsYTspc3dpdGNoKHRoaXMudHJhY2tQb3NpdGlvbiYmKHRoaXMucG9zaXRpb24rKyxcIlxcblwiPT09YT8odGhpcy5saW5lKyssdGhpcy5jb2x1bW49MCk6dGhpcy5jb2x1bW4rKyksdGhpcy5zdGF0ZSl7Y2FzZSBELkJFR0lOOmlmKHRoaXMuc3RhdGU9RC5CRUdJTl9XSElURVNQQUNFLFwiXFx1ZmVmZlwiPT09YSljb250aW51ZTtHKHRoaXMsYSk7Y29udGludWU7Y2FzZSBELkJFR0lOX1dISVRFU1BBQ0U6Ryh0aGlzLGEpO2NvbnRpbnVlO2Nhc2UgRC5URVhUOmlmKHRoaXMuc2F3Um9vdCYmIXRoaXMuY2xvc2VkUm9vdCl7Zm9yKHZhciBuPXMtMTthJiZcIjxcIiE9PWEmJlwiJlwiIT09YTspKGE9TShlLHMrKykpJiZ0aGlzLnRyYWNrUG9zaXRpb24mJih0aGlzLnBvc2l0aW9uKyssXCJcXG5cIj09PWE/KHRoaXMubGluZSsrLHRoaXMuY29sdW1uPTApOnRoaXMuY29sdW1uKyspO3RoaXMudGV4dE5vZGUrPWUuc3Vic3RyaW5nKG4scy0xKX1cIjxcIiE9PWF8fHRoaXMuc2F3Um9vdCYmdGhpcy5jbG9zZWRSb290JiYhdGhpcy5zdHJpY3Q/KG0oYSl8fHRoaXMuc2F3Um9vdCYmIXRoaXMuY2xvc2VkUm9vdHx8UCh0aGlzLFwiVGV4dCBkYXRhIG91dHNpZGUgb2Ygcm9vdCBub2RlLlwiKSxcIiZcIj09PWE/dGhpcy5zdGF0ZT1ELlRFWFRfRU5USVRZOnRoaXMudGV4dE5vZGUrPWEpOih0aGlzLnN0YXRlPUQuT1BFTl9XQUtBLHRoaXMuc3RhcnRUYWdQb3NpdGlvbj10aGlzLnBvc2l0aW9uKTtjb250aW51ZTtjYXNlIEQuU0NSSVBUOlwiPFwiPT09YT90aGlzLnN0YXRlPUQuU0NSSVBUX0VORElORzp0aGlzLnNjcmlwdCs9YTtjb250aW51ZTtjYXNlIEQuU0NSSVBUX0VORElORzpcIi9cIj09PWE/dGhpcy5zdGF0ZT1ELkNMT1NFX1RBRzoodGhpcy5zY3JpcHQrPVwiPFwiK2EsdGhpcy5zdGF0ZT1ELlNDUklQVCk7Y29udGludWU7Y2FzZSBELk9QRU5fV0FLQTppZihcIiFcIj09PWEpdGhpcy5zdGF0ZT1ELlNHTUxfREVDTCx0aGlzLnNnbWxEZWNsPVwiXCI7ZWxzZSBpZihtKGEpKTtlbHNlIGlmKF8obCxhKSl0aGlzLnN0YXRlPUQuT1BFTl9UQUcsdGhpcy50YWdOYW1lPWE7ZWxzZSBpZihcIi9cIj09PWEpdGhpcy5zdGF0ZT1ELkNMT1NFX1RBRyx0aGlzLnRhZ05hbWU9XCJcIjtlbHNlIGlmKFwiP1wiPT09YSl0aGlzLnN0YXRlPUQuUFJPQ19JTlNULHRoaXMucHJvY0luc3ROYW1lPXRoaXMucHJvY0luc3RCb2R5PVwiXCI7ZWxzZXtpZihQKHRoaXMsXCJVbmVuY29kZWQgPFwiKSx0aGlzLnN0YXJ0VGFnUG9zaXRpb24rMTx0aGlzLnBvc2l0aW9uKXt2YXIgYz10aGlzLnBvc2l0aW9uLXRoaXMuc3RhcnRUYWdQb3NpdGlvbjthPW5ldyBBcnJheShjKS5qb2luKFwiIFwiKSthfXRoaXMudGV4dE5vZGUrPVwiPFwiK2EsdGhpcy5zdGF0ZT1ELlRFWFR9Y29udGludWU7Y2FzZSBELlNHTUxfREVDTDoodGhpcy5zZ21sRGVjbCthKS50b1VwcGVyQ2FzZSgpPT09cj8oTyh0aGlzLFwib25vcGVuY2RhdGFcIiksdGhpcy5zdGF0ZT1ELkNEQVRBLHRoaXMuc2dtbERlY2w9XCJcIix0aGlzLmNkYXRhPVwiXCIpOnRoaXMuc2dtbERlY2wrYT09PVwiLS1cIj8odGhpcy5zdGF0ZT1ELkNPTU1FTlQsdGhpcy5jb21tZW50PVwiXCIsdGhpcy5zZ21sRGVjbD1cIlwiKToodGhpcy5zZ21sRGVjbCthKS50b1VwcGVyQ2FzZSgpPT09bz8odGhpcy5zdGF0ZT1ELkRPQ1RZUEUsKHRoaXMuZG9jdHlwZXx8dGhpcy5zYXdSb290KSYmUCh0aGlzLFwiSW5hcHByb3ByaWF0ZWx5IGxvY2F0ZWQgZG9jdHlwZSBkZWNsYXJhdGlvblwiKSx0aGlzLmRvY3R5cGU9XCJcIix0aGlzLnNnbWxEZWNsPVwiXCIpOlwiPlwiPT09YT8oTyh0aGlzLFwib25zZ21sZGVjbGFyYXRpb25cIix0aGlzLnNnbWxEZWNsKSx0aGlzLnNnbWxEZWNsPVwiXCIsdGhpcy5zdGF0ZT1ELlRFWFQpOk4oYSk/KHRoaXMuc3RhdGU9RC5TR01MX0RFQ0xfUVVPVEVELHRoaXMuc2dtbERlY2wrPWEpOnRoaXMuc2dtbERlY2wrPWE7Y29udGludWU7Y2FzZSBELlNHTUxfREVDTF9RVU9URUQ6YT09PXRoaXMucSYmKHRoaXMuc3RhdGU9RC5TR01MX0RFQ0wsdGhpcy5xPVwiXCIpLHRoaXMuc2dtbERlY2wrPWE7Y29udGludWU7Y2FzZSBELkRPQ1RZUEU6XCI+XCI9PT1hPyh0aGlzLnN0YXRlPUQuVEVYVCxPKHRoaXMsXCJvbmRvY3R5cGVcIix0aGlzLmRvY3R5cGUpLHRoaXMuZG9jdHlwZT0hMCk6KHRoaXMuZG9jdHlwZSs9YSxcIltcIj09PWE/dGhpcy5zdGF0ZT1ELkRPQ1RZUEVfRFREOk4oYSkmJih0aGlzLnN0YXRlPUQuRE9DVFlQRV9RVU9URUQsdGhpcy5xPWEpKTtjb250aW51ZTtjYXNlIEQuRE9DVFlQRV9RVU9URUQ6dGhpcy5kb2N0eXBlKz1hLGE9PT10aGlzLnEmJih0aGlzLnE9XCJcIix0aGlzLnN0YXRlPUQuRE9DVFlQRSk7Y29udGludWU7Y2FzZSBELkRPQ1RZUEVfRFREOnRoaXMuZG9jdHlwZSs9YSxcIl1cIj09PWE/dGhpcy5zdGF0ZT1ELkRPQ1RZUEU6TihhKSYmKHRoaXMuc3RhdGU9RC5ET0NUWVBFX0RURF9RVU9URUQsdGhpcy5xPWEpO2NvbnRpbnVlO2Nhc2UgRC5ET0NUWVBFX0RURF9RVU9URUQ6dGhpcy5kb2N0eXBlKz1hLGE9PT10aGlzLnEmJih0aGlzLnN0YXRlPUQuRE9DVFlQRV9EVEQsdGhpcy5xPVwiXCIpO2NvbnRpbnVlO2Nhc2UgRC5DT01NRU5UOlwiLVwiPT09YT90aGlzLnN0YXRlPUQuQ09NTUVOVF9FTkRJTkc6dGhpcy5jb21tZW50Kz1hO2NvbnRpbnVlO2Nhc2UgRC5DT01NRU5UX0VORElORzpcIi1cIj09PWE/KHRoaXMuc3RhdGU9RC5DT01NRU5UX0VOREVELHRoaXMuY29tbWVudD1TKHRoaXMub3B0LHRoaXMuY29tbWVudCksdGhpcy5jb21tZW50JiZPKHRoaXMsXCJvbmNvbW1lbnRcIix0aGlzLmNvbW1lbnQpLHRoaXMuY29tbWVudD1cIlwiKToodGhpcy5jb21tZW50Kz1cIi1cIithLHRoaXMuc3RhdGU9RC5DT01NRU5UKTtjb250aW51ZTtjYXNlIEQuQ09NTUVOVF9FTkRFRDpcIj5cIiE9PWE/KFAodGhpcyxcIk1hbGZvcm1lZCBjb21tZW50XCIpLHRoaXMuY29tbWVudCs9XCItLVwiK2EsdGhpcy5zdGF0ZT1ELkNPTU1FTlQpOnRoaXMuc3RhdGU9RC5URVhUO2NvbnRpbnVlO2Nhc2UgRC5DREFUQTpcIl1cIj09PWE/dGhpcy5zdGF0ZT1ELkNEQVRBX0VORElORzp0aGlzLmNkYXRhKz1hO2NvbnRpbnVlO2Nhc2UgRC5DREFUQV9FTkRJTkc6XCJdXCI9PT1hP3RoaXMuc3RhdGU9RC5DREFUQV9FTkRJTkdfMjoodGhpcy5jZGF0YSs9XCJdXCIrYSx0aGlzLnN0YXRlPUQuQ0RBVEEpO2NvbnRpbnVlO2Nhc2UgRC5DREFUQV9FTkRJTkdfMjpcIj5cIj09PWE/KHRoaXMuY2RhdGEmJk8odGhpcyxcIm9uY2RhdGFcIix0aGlzLmNkYXRhKSxPKHRoaXMsXCJvbmNsb3NlY2RhdGFcIiksdGhpcy5jZGF0YT1cIlwiLHRoaXMuc3RhdGU9RC5URVhUKTpcIl1cIj09PWE/dGhpcy5jZGF0YSs9XCJdXCI6KHRoaXMuY2RhdGErPVwiXV1cIithLHRoaXMuc3RhdGU9RC5DREFUQSk7Y29udGludWU7Y2FzZSBELlBST0NfSU5TVDpcIj9cIj09PWE/dGhpcy5zdGF0ZT1ELlBST0NfSU5TVF9FTkRJTkc6bShhKT90aGlzLnN0YXRlPUQuUFJPQ19JTlNUX0JPRFk6dGhpcy5wcm9jSW5zdE5hbWUrPWE7Y29udGludWU7Y2FzZSBELlBST0NfSU5TVF9CT0RZOmlmKCF0aGlzLnByb2NJbnN0Qm9keSYmbShhKSljb250aW51ZTtcIj9cIj09PWE/dGhpcy5zdGF0ZT1ELlBST0NfSU5TVF9FTkRJTkc6dGhpcy5wcm9jSW5zdEJvZHkrPWE7Y29udGludWU7Y2FzZSBELlBST0NfSU5TVF9FTkRJTkc6XCI+XCI9PT1hPyhPKHRoaXMsXCJvbnByb2Nlc3NpbmdpbnN0cnVjdGlvblwiLHtuYW1lOnRoaXMucHJvY0luc3ROYW1lLGJvZHk6dGhpcy5wcm9jSW5zdEJvZHl9KSx0aGlzLnByb2NJbnN0TmFtZT10aGlzLnByb2NJbnN0Qm9keT1cIlwiLHRoaXMuc3RhdGU9RC5URVhUKToodGhpcy5wcm9jSW5zdEJvZHkrPVwiP1wiK2EsdGhpcy5zdGF0ZT1ELlBST0NfSU5TVF9CT0RZKTtjb250aW51ZTtjYXNlIEQuT1BFTl9UQUc6XyhULGEpP3RoaXMudGFnTmFtZSs9YTooeSh0aGlzKSxcIj5cIj09PWE/VSh0aGlzKTpcIi9cIj09PWE/dGhpcy5zdGF0ZT1ELk9QRU5fVEFHX1NMQVNIOihtKGEpfHxQKHRoaXMsXCJJbnZhbGlkIGNoYXJhY3RlciBpbiB0YWcgbmFtZVwiKSx0aGlzLnN0YXRlPUQuQVRUUklCKSk7Y29udGludWU7Y2FzZSBELk9QRU5fVEFHX1NMQVNIOlwiPlwiPT09YT8oVSh0aGlzLCEwKSx4KHRoaXMpKTooUCh0aGlzLFwiRm9yd2FyZC1zbGFzaCBpbiBvcGVuaW5nIHRhZyBub3QgZm9sbG93ZWQgYnkgPlwiKSx0aGlzLnN0YXRlPUQuQVRUUklCKTtjb250aW51ZTtjYXNlIEQuQVRUUklCOmlmKG0oYSkpY29udGludWU7XCI+XCI9PT1hP1UodGhpcyk6XCIvXCI9PT1hP3RoaXMuc3RhdGU9RC5PUEVOX1RBR19TTEFTSDpfKGwsYSk/KHRoaXMuYXR0cmliTmFtZT1hLHRoaXMuYXR0cmliVmFsdWU9XCJcIix0aGlzLnN0YXRlPUQuQVRUUklCX05BTUUpOlAodGhpcyxcIkludmFsaWQgYXR0cmlidXRlIG5hbWVcIik7Y29udGludWU7Y2FzZSBELkFUVFJJQl9OQU1FOlwiPVwiPT09YT90aGlzLnN0YXRlPUQuQVRUUklCX1ZBTFVFOlwiPlwiPT09YT8oUCh0aGlzLFwiQXR0cmlidXRlIHdpdGhvdXQgdmFsdWVcIiksdGhpcy5hdHRyaWJWYWx1ZT10aGlzLmF0dHJpYk5hbWUsQih0aGlzKSxVKHRoaXMpKTptKGEpP3RoaXMuc3RhdGU9RC5BVFRSSUJfTkFNRV9TQVdfV0hJVEU6XyhULGEpP3RoaXMuYXR0cmliTmFtZSs9YTpQKHRoaXMsXCJJbnZhbGlkIGF0dHJpYnV0ZSBuYW1lXCIpO2NvbnRpbnVlO2Nhc2UgRC5BVFRSSUJfTkFNRV9TQVdfV0hJVEU6aWYoXCI9XCI9PT1hKXRoaXMuc3RhdGU9RC5BVFRSSUJfVkFMVUU7ZWxzZXtpZihtKGEpKWNvbnRpbnVlO1AodGhpcyxcIkF0dHJpYnV0ZSB3aXRob3V0IHZhbHVlXCIpLHRoaXMudGFnLmF0dHJpYnV0ZXNbdGhpcy5hdHRyaWJOYW1lXT1cIlwiLHRoaXMuYXR0cmliVmFsdWU9XCJcIixPKHRoaXMsXCJvbmF0dHJpYnV0ZVwiLHtuYW1lOnRoaXMuYXR0cmliTmFtZSx2YWx1ZTpcIlwifSksdGhpcy5hdHRyaWJOYW1lPVwiXCIsXCI+XCI9PT1hP1UodGhpcyk6XyhsLGEpPyh0aGlzLmF0dHJpYk5hbWU9YSx0aGlzLnN0YXRlPUQuQVRUUklCX05BTUUpOihQKHRoaXMsXCJJbnZhbGlkIGF0dHJpYnV0ZSBuYW1lXCIpLHRoaXMuc3RhdGU9RC5BVFRSSUIpfWNvbnRpbnVlO2Nhc2UgRC5BVFRSSUJfVkFMVUU6aWYobShhKSljb250aW51ZTtOKGEpPyh0aGlzLnE9YSx0aGlzLnN0YXRlPUQuQVRUUklCX1ZBTFVFX1FVT1RFRCk6KFAodGhpcyxcIlVucXVvdGVkIGF0dHJpYnV0ZSB2YWx1ZVwiKSx0aGlzLnN0YXRlPUQuQVRUUklCX1ZBTFVFX1VOUVVPVEVELHRoaXMuYXR0cmliVmFsdWU9YSk7Y29udGludWU7Y2FzZSBELkFUVFJJQl9WQUxVRV9RVU9URUQ6aWYoYSE9PXRoaXMucSl7XCImXCI9PT1hP3RoaXMuc3RhdGU9RC5BVFRSSUJfVkFMVUVfRU5USVRZX1E6dGhpcy5hdHRyaWJWYWx1ZSs9YTtjb250aW51ZX1CKHRoaXMpLHRoaXMucT1cIlwiLHRoaXMuc3RhdGU9RC5BVFRSSUJfVkFMVUVfQ0xPU0VEO2NvbnRpbnVlO2Nhc2UgRC5BVFRSSUJfVkFMVUVfQ0xPU0VEOm0oYSk/dGhpcy5zdGF0ZT1ELkFUVFJJQjpcIj5cIj09PWE/VSh0aGlzKTpcIi9cIj09PWE/dGhpcy5zdGF0ZT1ELk9QRU5fVEFHX1NMQVNIOl8obCxhKT8oUCh0aGlzLFwiTm8gd2hpdGVzcGFjZSBiZXR3ZWVuIGF0dHJpYnV0ZXNcIiksdGhpcy5hdHRyaWJOYW1lPWEsdGhpcy5hdHRyaWJWYWx1ZT1cIlwiLHRoaXMuc3RhdGU9RC5BVFRSSUJfTkFNRSk6UCh0aGlzLFwiSW52YWxpZCBhdHRyaWJ1dGUgbmFtZVwiKTtjb250aW51ZTtjYXNlIEQuQVRUUklCX1ZBTFVFX1VOUVVPVEVEOmlmKCFmKGEpKXtcIiZcIj09PWE/dGhpcy5zdGF0ZT1ELkFUVFJJQl9WQUxVRV9FTlRJVFlfVTp0aGlzLmF0dHJpYlZhbHVlKz1hO2NvbnRpbnVlfUIodGhpcyksXCI+XCI9PT1hP1UodGhpcyk6dGhpcy5zdGF0ZT1ELkFUVFJJQjtjb250aW51ZTtjYXNlIEQuQ0xPU0VfVEFHOmlmKHRoaXMudGFnTmFtZSlcIj5cIj09PWE/eCh0aGlzKTpfKFQsYSk/dGhpcy50YWdOYW1lKz1hOnRoaXMuc2NyaXB0Pyh0aGlzLnNjcmlwdCs9XCI8L1wiK3RoaXMudGFnTmFtZSx0aGlzLnRhZ05hbWU9XCJcIix0aGlzLnN0YXRlPUQuU0NSSVBUKToobShhKXx8UCh0aGlzLFwiSW52YWxpZCB0YWduYW1lIGluIGNsb3NpbmcgdGFnXCIpLHRoaXMuc3RhdGU9RC5DTE9TRV9UQUdfU0FXX1dISVRFKTtlbHNle2lmKG0oYSkpY29udGludWU7ZChsLGEpP3RoaXMuc2NyaXB0Pyh0aGlzLnNjcmlwdCs9XCI8L1wiK2EsdGhpcy5zdGF0ZT1ELlNDUklQVCk6UCh0aGlzLFwiSW52YWxpZCB0YWduYW1lIGluIGNsb3NpbmcgdGFnLlwiKTp0aGlzLnRhZ05hbWU9YX1jb250aW51ZTtjYXNlIEQuQ0xPU0VfVEFHX1NBV19XSElURTppZihtKGEpKWNvbnRpbnVlO1wiPlwiPT09YT94KHRoaXMpOlAodGhpcyxcIkludmFsaWQgY2hhcmFjdGVycyBpbiBjbG9zaW5nIHRhZ1wiKTtjb250aW51ZTtjYXNlIEQuVEVYVF9FTlRJVFk6Y2FzZSBELkFUVFJJQl9WQUxVRV9FTlRJVFlfUTpjYXNlIEQuQVRUUklCX1ZBTFVFX0VOVElUWV9VOnZhciB1LGg7c3dpdGNoKHRoaXMuc3RhdGUpe2Nhc2UgRC5URVhUX0VOVElUWTp1PUQuVEVYVCxoPVwidGV4dE5vZGVcIjticmVhaztjYXNlIEQuQVRUUklCX1ZBTFVFX0VOVElUWV9ROnU9RC5BVFRSSUJfVkFMVUVfUVVPVEVELGg9XCJhdHRyaWJWYWx1ZVwiO2JyZWFrO2Nhc2UgRC5BVFRSSUJfVkFMVUVfRU5USVRZX1U6dT1ELkFUVFJJQl9WQUxVRV9VTlFVT1RFRCxoPVwiYXR0cmliVmFsdWVcIn1cIjtcIj09PWE/KHRoaXNbaF0rPXcodGhpcyksdGhpcy5lbnRpdHk9XCJcIix0aGlzLnN0YXRlPXUpOl8odGhpcy5lbnRpdHkubGVuZ3RoP3A6RSxhKT90aGlzLmVudGl0eSs9YTooUCh0aGlzLFwiSW52YWxpZCBjaGFyYWN0ZXIgaW4gZW50aXR5IG5hbWVcIiksdGhpc1toXSs9XCImXCIrdGhpcy5lbnRpdHkrYSx0aGlzLmVudGl0eT1cIlwiLHRoaXMuc3RhdGU9dSk7Y29udGludWU7ZGVmYXVsdDp0aHJvdyBuZXcgRXJyb3IodGhpcyxcIlVua25vd24gc3RhdGU6IFwiK3RoaXMuc3RhdGUpfXRoaXMucG9zaXRpb24+PXRoaXMuYnVmZmVyQ2hlY2tQb3NpdGlvbiYmZnVuY3Rpb24oZSl7Zm9yKHZhciBzPU1hdGgubWF4KHQuTUFYX0JVRkZFUl9MRU5HVEgsMTApLGE9MCxuPTAscj1pLmxlbmd0aDtuPHI7bisrKXt2YXIgbz1lW2lbbl1dLmxlbmd0aDtpZihvPnMpc3dpdGNoKGlbbl0pe2Nhc2VcInRleHROb2RlXCI6RihlKTticmVhaztjYXNlXCJjZGF0YVwiOk8oZSxcIm9uY2RhdGFcIixlLmNkYXRhKSxlLmNkYXRhPVwiXCI7YnJlYWs7Y2FzZVwic2NyaXB0XCI6TyhlLFwib25zY3JpcHRcIixlLnNjcmlwdCksZS5zY3JpcHQ9XCJcIjticmVhaztkZWZhdWx0OlIoZSxcIk1heCBidWZmZXIgbGVuZ3RoIGV4Y2VlZGVkOiBcIitpW25dKX1hPU1hdGgubWF4KGEsbyl9dmFyIGM9dC5NQVhfQlVGRkVSX0xFTkdUSC1hO2UuYnVmZmVyQ2hlY2tQb3NpdGlvbj1jK2UucG9zaXRpb259KHRoaXMpO3JldHVybiB0aGlzfSxyZXN1bWU6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5lcnJvcj1udWxsLHRoaXN9LGNsb3NlOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMud3JpdGUobnVsbCl9LGZsdXNoOmZ1bmN0aW9uKCl7dmFyIHQ7Rih0PXRoaXMpLFwiXCIhPT10LmNkYXRhJiYoTyh0LFwib25jZGF0YVwiLHQuY2RhdGEpLHQuY2RhdGE9XCJcIiksXCJcIiE9PXQuc2NyaXB0JiYoTyh0LFwib25zY3JpcHRcIix0LnNjcmlwdCksdC5zY3JpcHQ9XCJcIil9fTt0cnl7ZT1yZXF1aXJlKFwic3RyZWFtXCIpLlN0cmVhbX1jYXRjaCh0KXtlPWZ1bmN0aW9uKCl7fX12YXIgYT10LkVWRU5UUy5maWx0ZXIoZnVuY3Rpb24odCl7cmV0dXJuXCJlcnJvclwiIT09dCYmXCJlbmRcIiE9PXR9KTtmdW5jdGlvbiBuKHQsaSl7aWYoISh0aGlzIGluc3RhbmNlb2YgbikpcmV0dXJuIG5ldyBuKHQsaSk7ZS5hcHBseSh0aGlzKSx0aGlzLl9wYXJzZXI9bmV3IHModCxpKSx0aGlzLndyaXRhYmxlPSEwLHRoaXMucmVhZGFibGU9ITA7dmFyIHI9dGhpczt0aGlzLl9wYXJzZXIub25lbmQ9ZnVuY3Rpb24oKXtyLmVtaXQoXCJlbmRcIil9LHRoaXMuX3BhcnNlci5vbmVycm9yPWZ1bmN0aW9uKHQpe3IuZW1pdChcImVycm9yXCIsdCksci5fcGFyc2VyLmVycm9yPW51bGx9LHRoaXMuX2RlY29kZXI9bnVsbCxhLmZvckVhY2goZnVuY3Rpb24odCl7T2JqZWN0LmRlZmluZVByb3BlcnR5KHIsXCJvblwiK3Qse2dldDpmdW5jdGlvbigpe3JldHVybiByLl9wYXJzZXJbXCJvblwiK3RdfSxzZXQ6ZnVuY3Rpb24oZSl7aWYoIWUpcmV0dXJuIHIucmVtb3ZlQWxsTGlzdGVuZXJzKHQpLHIuX3BhcnNlcltcIm9uXCIrdF09ZSxlO3Iub24odCxlKX0sZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITF9KX0pfW4ucHJvdG90eXBlPU9iamVjdC5jcmVhdGUoZS5wcm90b3R5cGUse2NvbnN0cnVjdG9yOnt2YWx1ZTpufX0pLG4ucHJvdG90eXBlLndyaXRlPWZ1bmN0aW9uKHQpe2lmKFwiZnVuY3Rpb25cIj09dHlwZW9mIEJ1ZmZlciYmXCJmdW5jdGlvblwiPT10eXBlb2YgQnVmZmVyLmlzQnVmZmVyJiZCdWZmZXIuaXNCdWZmZXIodCkpe2lmKCF0aGlzLl9kZWNvZGVyKXt2YXIgZT1yZXF1aXJlKFwic3RyaW5nX2RlY29kZXJcIikuU3RyaW5nRGVjb2Rlcjt0aGlzLl9kZWNvZGVyPW5ldyBlKFwidXRmOFwiKX10PXRoaXMuX2RlY29kZXIud3JpdGUodCl9cmV0dXJuIHRoaXMuX3BhcnNlci53cml0ZSh0LnRvU3RyaW5nKCkpLHRoaXMuZW1pdChcImRhdGFcIix0KSwhMH0sbi5wcm90b3R5cGUuZW5kPWZ1bmN0aW9uKHQpe3JldHVybiB0JiZ0Lmxlbmd0aCYmdGhpcy53cml0ZSh0KSx0aGlzLl9wYXJzZXIuZW5kKCksITB9LG4ucHJvdG90eXBlLm9uPWZ1bmN0aW9uKHQsaSl7dmFyIHM9dGhpcztyZXR1cm4gcy5fcGFyc2VyW1wib25cIit0XXx8LTE9PT1hLmluZGV4T2YodCl8fChzLl9wYXJzZXJbXCJvblwiK3RdPWZ1bmN0aW9uKCl7dmFyIGU9MT09PWFyZ3VtZW50cy5sZW5ndGg/W2FyZ3VtZW50c1swXV06QXJyYXkuYXBwbHkobnVsbCxhcmd1bWVudHMpO2Uuc3BsaWNlKDAsMCx0KSxzLmVtaXQuYXBwbHkocyxlKX0pLGUucHJvdG90eXBlLm9uLmNhbGwocyx0LGkpfTt2YXIgcj1cIltDREFUQVtcIixvPVwiRE9DVFlQRVwiLGM9XCJodHRwOi8vd3d3LnczLm9yZy9YTUwvMTk5OC9uYW1lc3BhY2VcIix1PVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC94bWxucy9cIixoPXt4bWw6Yyx4bWxuczp1fSxsPS9bOl9BLVphLXpcXHUwMEMwLVxcdTAwRDZcXHUwMEQ4LVxcdTAwRjZcXHUwMEY4LVxcdTAyRkZcXHUwMzcwLVxcdTAzN0RcXHUwMzdGLVxcdTFGRkZcXHUyMDBDLVxcdTIwMERcXHUyMDcwLVxcdTIxOEZcXHUyQzAwLVxcdTJGRUZcXHUzMDAxLVxcdUQ3RkZcXHVGOTAwLVxcdUZEQ0ZcXHVGREYwLVxcdUZGRkRdLyxUPS9bOl9BLVphLXpcXHUwMEMwLVxcdTAwRDZcXHUwMEQ4LVxcdTAwRjZcXHUwMEY4LVxcdTAyRkZcXHUwMzcwLVxcdTAzN0RcXHUwMzdGLVxcdTFGRkZcXHUyMDBDLVxcdTIwMERcXHUyMDcwLVxcdTIxOEZcXHUyQzAwLVxcdTJGRUZcXHUzMDAxLVxcdUQ3RkZcXHVGOTAwLVxcdUZEQ0ZcXHVGREYwLVxcdUZGRkRcXHUwMEI3XFx1MDMwMC1cXHUwMzZGXFx1MjAzRi1cXHUyMDQwLlxcZC1dLyxFPS9bIzpfQS1aYS16XFx1MDBDMC1cXHUwMEQ2XFx1MDBEOC1cXHUwMEY2XFx1MDBGOC1cXHUwMkZGXFx1MDM3MC1cXHUwMzdEXFx1MDM3Ri1cXHUxRkZGXFx1MjAwQy1cXHUyMDBEXFx1MjA3MC1cXHUyMThGXFx1MkMwMC1cXHUyRkVGXFx1MzAwMS1cXHVEN0ZGXFx1RjkwMC1cXHVGRENGXFx1RkRGMC1cXHVGRkZEXS8scD0vWyM6X0EtWmEtelxcdTAwQzAtXFx1MDBENlxcdTAwRDgtXFx1MDBGNlxcdTAwRjgtXFx1MDJGRlxcdTAzNzAtXFx1MDM3RFxcdTAzN0YtXFx1MUZGRlxcdTIwMEMtXFx1MjAwRFxcdTIwNzAtXFx1MjE4RlxcdTJDMDAtXFx1MkZFRlxcdTMwMDEtXFx1RDdGRlxcdUY5MDAtXFx1RkRDRlxcdUZERjAtXFx1RkZGRFxcdTAwQjdcXHUwMzAwLVxcdTAzNkZcXHUyMDNGLVxcdTIwNDAuXFxkLV0vO2Z1bmN0aW9uIG0odCl7cmV0dXJuXCIgXCI9PT10fHxcIlxcblwiPT09dHx8XCJcXHJcIj09PXR8fFwiXFx0XCI9PT10fWZ1bmN0aW9uIE4odCl7cmV0dXJuJ1wiJz09PXR8fFwiJ1wiPT09dH1mdW5jdGlvbiBmKHQpe3JldHVyblwiPlwiPT09dHx8bSh0KX1mdW5jdGlvbiBfKHQsZSl7cmV0dXJuIHQudGVzdChlKX1mdW5jdGlvbiBkKHQsZSl7cmV0dXJuIV8odCxlKX12YXIgZyxBLEksRD0wO2Zvcih2YXIgYiBpbiB0LlNUQVRFPXtCRUdJTjpEKyssQkVHSU5fV0hJVEVTUEFDRTpEKyssVEVYVDpEKyssVEVYVF9FTlRJVFk6RCsrLE9QRU5fV0FLQTpEKyssU0dNTF9ERUNMOkQrKyxTR01MX0RFQ0xfUVVPVEVEOkQrKyxET0NUWVBFOkQrKyxET0NUWVBFX1FVT1RFRDpEKyssRE9DVFlQRV9EVEQ6RCsrLERPQ1RZUEVfRFREX1FVT1RFRDpEKyssQ09NTUVOVF9TVEFSVElORzpEKyssQ09NTUVOVDpEKyssQ09NTUVOVF9FTkRJTkc6RCsrLENPTU1FTlRfRU5ERUQ6RCsrLENEQVRBOkQrKyxDREFUQV9FTkRJTkc6RCsrLENEQVRBX0VORElOR18yOkQrKyxQUk9DX0lOU1Q6RCsrLFBST0NfSU5TVF9CT0RZOkQrKyxQUk9DX0lOU1RfRU5ESU5HOkQrKyxPUEVOX1RBRzpEKyssT1BFTl9UQUdfU0xBU0g6RCsrLEFUVFJJQjpEKyssQVRUUklCX05BTUU6RCsrLEFUVFJJQl9OQU1FX1NBV19XSElURTpEKyssQVRUUklCX1ZBTFVFOkQrKyxBVFRSSUJfVkFMVUVfUVVPVEVEOkQrKyxBVFRSSUJfVkFMVUVfQ0xPU0VEOkQrKyxBVFRSSUJfVkFMVUVfVU5RVU9URUQ6RCsrLEFUVFJJQl9WQUxVRV9FTlRJVFlfUTpEKyssQVRUUklCX1ZBTFVFX0VOVElUWV9VOkQrKyxDTE9TRV9UQUc6RCsrLENMT1NFX1RBR19TQVdfV0hJVEU6RCsrLFNDUklQVDpEKyssU0NSSVBUX0VORElORzpEKyt9LHQuWE1MX0VOVElUSUVTPXthbXA6XCImXCIsZ3Q6XCI+XCIsbHQ6XCI8XCIscXVvdDonXCInLGFwb3M6XCInXCJ9LHQuRU5USVRJRVM9e2FtcDpcIiZcIixndDpcIj5cIixsdDpcIjxcIixxdW90OidcIicsYXBvczpcIidcIixBRWxpZzoxOTgsQWFjdXRlOjE5MyxBY2lyYzoxOTQsQWdyYXZlOjE5MixBcmluZzoxOTcsQXRpbGRlOjE5NSxBdW1sOjE5NixDY2VkaWw6MTk5LEVUSDoyMDgsRWFjdXRlOjIwMSxFY2lyYzoyMDIsRWdyYXZlOjIwMCxFdW1sOjIwMyxJYWN1dGU6MjA1LEljaXJjOjIwNixJZ3JhdmU6MjA0LEl1bWw6MjA3LE50aWxkZToyMDksT2FjdXRlOjIxMSxPY2lyYzoyMTIsT2dyYXZlOjIxMCxPc2xhc2g6MjE2LE90aWxkZToyMTMsT3VtbDoyMTQsVEhPUk46MjIyLFVhY3V0ZToyMTgsVWNpcmM6MjE5LFVncmF2ZToyMTcsVXVtbDoyMjAsWWFjdXRlOjIyMSxhYWN1dGU6MjI1LGFjaXJjOjIyNixhZWxpZzoyMzAsYWdyYXZlOjIyNCxhcmluZzoyMjksYXRpbGRlOjIyNyxhdW1sOjIyOCxjY2VkaWw6MjMxLGVhY3V0ZToyMzMsZWNpcmM6MjM0LGVncmF2ZToyMzIsZXRoOjI0MCxldW1sOjIzNSxpYWN1dGU6MjM3LGljaXJjOjIzOCxpZ3JhdmU6MjM2LGl1bWw6MjM5LG50aWxkZToyNDEsb2FjdXRlOjI0MyxvY2lyYzoyNDQsb2dyYXZlOjI0Mixvc2xhc2g6MjQ4LG90aWxkZToyNDUsb3VtbDoyNDYsc3psaWc6MjIzLHRob3JuOjI1NCx1YWN1dGU6MjUwLHVjaXJjOjI1MSx1Z3JhdmU6MjQ5LHV1bWw6MjUyLHlhY3V0ZToyNTMseXVtbDoyNTUsY29weToxNjkscmVnOjE3NCxuYnNwOjE2MCxpZXhjbDoxNjEsY2VudDoxNjIscG91bmQ6MTYzLGN1cnJlbjoxNjQseWVuOjE2NSxicnZiYXI6MTY2LHNlY3Q6MTY3LHVtbDoxNjgsb3JkZjoxNzAsbGFxdW86MTcxLG5vdDoxNzIsc2h5OjE3MyxtYWNyOjE3NSxkZWc6MTc2LHBsdXNtbjoxNzcsc3VwMToxODUsc3VwMjoxNzgsc3VwMzoxNzksYWN1dGU6MTgwLG1pY3JvOjE4MSxwYXJhOjE4MixtaWRkb3Q6MTgzLGNlZGlsOjE4NCxvcmRtOjE4NixyYXF1bzoxODcsZnJhYzE0OjE4OCxmcmFjMTI6MTg5LGZyYWMzNDoxOTAsaXF1ZXN0OjE5MSx0aW1lczoyMTUsZGl2aWRlOjI0NyxPRWxpZzozMzgsb2VsaWc6MzM5LFNjYXJvbjozNTIsc2Nhcm9uOjM1MyxZdW1sOjM3Nixmbm9mOjQwMixjaXJjOjcxMCx0aWxkZTo3MzIsQWxwaGE6OTEzLEJldGE6OTE0LEdhbW1hOjkxNSxEZWx0YTo5MTYsRXBzaWxvbjo5MTcsWmV0YTo5MTgsRXRhOjkxOSxUaGV0YTo5MjAsSW90YTo5MjEsS2FwcGE6OTIyLExhbWJkYTo5MjMsTXU6OTI0LE51OjkyNSxYaTo5MjYsT21pY3Jvbjo5MjcsUGk6OTI4LFJobzo5MjksU2lnbWE6OTMxLFRhdTo5MzIsVXBzaWxvbjo5MzMsUGhpOjkzNCxDaGk6OTM1LFBzaTo5MzYsT21lZ2E6OTM3LGFscGhhOjk0NSxiZXRhOjk0NixnYW1tYTo5NDcsZGVsdGE6OTQ4LGVwc2lsb246OTQ5LHpldGE6OTUwLGV0YTo5NTEsdGhldGE6OTUyLGlvdGE6OTUzLGthcHBhOjk1NCxsYW1iZGE6OTU1LG11Ojk1NixudTo5NTcseGk6OTU4LG9taWNyb246OTU5LHBpOjk2MCxyaG86OTYxLHNpZ21hZjo5NjIsc2lnbWE6OTYzLHRhdTo5NjQsdXBzaWxvbjo5NjUscGhpOjk2NixjaGk6OTY3LHBzaTo5Njgsb21lZ2E6OTY5LHRoZXRhc3ltOjk3Nyx1cHNpaDo5NzgscGl2Ojk4MixlbnNwOjgxOTQsZW1zcDo4MTk1LHRoaW5zcDo4MjAxLHp3bmo6ODIwNCx6d2o6ODIwNSxscm06ODIwNixybG06ODIwNyxuZGFzaDo4MjExLG1kYXNoOjgyMTIsbHNxdW86ODIxNixyc3F1bzo4MjE3LHNicXVvOjgyMTgsbGRxdW86ODIyMCxyZHF1bzo4MjIxLGJkcXVvOjgyMjIsZGFnZ2VyOjgyMjQsRGFnZ2VyOjgyMjUsYnVsbDo4MjI2LGhlbGxpcDo4MjMwLHBlcm1pbDo4MjQwLHByaW1lOjgyNDIsUHJpbWU6ODI0Myxsc2FxdW86ODI0OSxyc2FxdW86ODI1MCxvbGluZTo4MjU0LGZyYXNsOjgyNjAsZXVybzo4MzY0LGltYWdlOjg0NjUsd2VpZXJwOjg0NzIscmVhbDo4NDc2LHRyYWRlOjg0ODIsYWxlZnN5bTo4NTAxLGxhcnI6ODU5Mix1YXJyOjg1OTMscmFycjo4NTk0LGRhcnI6ODU5NSxoYXJyOjg1OTYsY3JhcnI6ODYyOSxsQXJyOjg2NTYsdUFycjo4NjU3LHJBcnI6ODY1OCxkQXJyOjg2NTksaEFycjo4NjYwLGZvcmFsbDo4NzA0LHBhcnQ6ODcwNixleGlzdDo4NzA3LGVtcHR5Ojg3MDksbmFibGE6ODcxMSxpc2luOjg3MTIsbm90aW46ODcxMyxuaTo4NzE1LHByb2Q6ODcxOSxzdW06ODcyMSxtaW51czo4NzIyLGxvd2FzdDo4NzI3LHJhZGljOjg3MzAscHJvcDo4NzMzLGluZmluOjg3MzQsYW5nOjg3MzYsYW5kOjg3NDMsb3I6ODc0NCxjYXA6ODc0NSxjdXA6ODc0NixpbnQ6ODc0Nyx0aGVyZTQ6ODc1NixzaW06ODc2NCxjb25nOjg3NzMsYXN5bXA6ODc3NixuZTo4ODAwLGVxdWl2Ojg4MDEsbGU6ODgwNCxnZTo4ODA1LHN1Yjo4ODM0LHN1cDo4ODM1LG5zdWI6ODgzNixzdWJlOjg4Mzgsc3VwZTo4ODM5LG9wbHVzOjg4NTMsb3RpbWVzOjg4NTUscGVycDo4ODY5LHNkb3Q6ODkwMSxsY2VpbDo4OTY4LHJjZWlsOjg5NjksbGZsb29yOjg5NzAscmZsb29yOjg5NzEsbGFuZzo5MDAxLHJhbmc6OTAwMixsb3o6OTY3NCxzcGFkZXM6OTgyNCxjbHViczo5ODI3LGhlYXJ0czo5ODI5LGRpYW1zOjk4MzB9LE9iamVjdC5rZXlzKHQuRU5USVRJRVMpLmZvckVhY2goZnVuY3Rpb24oZSl7dmFyIGk9dC5FTlRJVElFU1tlXSxzPVwibnVtYmVyXCI9PXR5cGVvZiBpP1N0cmluZy5mcm9tQ2hhckNvZGUoaSk6aTt0LkVOVElUSUVTW2VdPXN9KSx0LlNUQVRFKXQuU1RBVEVbdC5TVEFURVtiXV09YjtmdW5jdGlvbiBDKHQsZSxpKXt0W2VdJiZ0W2VdKGkpfWZ1bmN0aW9uIE8odCxlLGkpe3QudGV4dE5vZGUmJkYodCksQyh0LGUsaSl9ZnVuY3Rpb24gRih0KXt0LnRleHROb2RlPVModC5vcHQsdC50ZXh0Tm9kZSksdC50ZXh0Tm9kZSYmQyh0LFwib250ZXh0XCIsdC50ZXh0Tm9kZSksdC50ZXh0Tm9kZT1cIlwifWZ1bmN0aW9uIFModCxlKXtyZXR1cm4gdC50cmltJiYoZT1lLnRyaW0oKSksdC5ub3JtYWxpemUmJihlPWUucmVwbGFjZSgvXFxzKy9nLFwiIFwiKSksZX1mdW5jdGlvbiBSKHQsZSl7cmV0dXJuIEYodCksdC50cmFja1Bvc2l0aW9uJiYoZSs9XCJcXG5MaW5lOiBcIit0LmxpbmUrXCJcXG5Db2x1bW46IFwiK3QuY29sdW1uK1wiXFxuQ2hhcjogXCIrdC5jKSxlPW5ldyBFcnJvcihlKSx0LmVycm9yPWUsQyh0LFwib25lcnJvclwiLGUpLHR9ZnVuY3Rpb24gdih0KXtyZXR1cm4gdC5zYXdSb290JiYhdC5jbG9zZWRSb290JiZQKHQsXCJVbmNsb3NlZCByb290IHRhZ1wiKSx0LnN0YXRlIT09RC5CRUdJTiYmdC5zdGF0ZSE9PUQuQkVHSU5fV0hJVEVTUEFDRSYmdC5zdGF0ZSE9PUQuVEVYVCYmUih0LFwiVW5leHBlY3RlZCBlbmRcIiksRih0KSx0LmM9XCJcIix0LmNsb3NlZD0hMCxDKHQsXCJvbmVuZFwiKSxzLmNhbGwodCx0LnN0cmljdCx0Lm9wdCksdH1mdW5jdGlvbiBQKHQsZSl7aWYoXCJvYmplY3RcIiE9dHlwZW9mIHR8fCEodCBpbnN0YW5jZW9mIHMpKXRocm93IG5ldyBFcnJvcihcImJhZCBjYWxsIHRvIHN0cmljdEZhaWxcIik7dC5zdHJpY3QmJlIodCxlKX1mdW5jdGlvbiB5KHQpe3Quc3RyaWN0fHwodC50YWdOYW1lPXQudGFnTmFtZVt0Lmxvb3NlQ2FzZV0oKSk7dmFyIGU9dC50YWdzW3QudGFncy5sZW5ndGgtMV18fHQsaT10LnRhZz17bmFtZTp0LnRhZ05hbWUsYXR0cmlidXRlczp7fX07dC5vcHQueG1sbnMmJihpLm5zPWUubnMpLHQuYXR0cmliTGlzdC5sZW5ndGg9MCxPKHQsXCJvbm9wZW50YWdzdGFydFwiLGkpfWZ1bmN0aW9uIEwodCxlKXt2YXIgaT10LmluZGV4T2YoXCI6XCIpPDA/W1wiXCIsdF06dC5zcGxpdChcIjpcIikscz1pWzBdLGE9aVsxXTtyZXR1cm4gZSYmXCJ4bWxuc1wiPT09dCYmKHM9XCJ4bWxuc1wiLGE9XCJcIikse3ByZWZpeDpzLGxvY2FsOmF9fWZ1bmN0aW9uIEIodCl7aWYodC5zdHJpY3R8fCh0LmF0dHJpYk5hbWU9dC5hdHRyaWJOYW1lW3QubG9vc2VDYXNlXSgpKSwtMSE9PXQuYXR0cmliTGlzdC5pbmRleE9mKHQuYXR0cmliTmFtZSl8fHQudGFnLmF0dHJpYnV0ZXMuaGFzT3duUHJvcGVydHkodC5hdHRyaWJOYW1lKSl0LmF0dHJpYk5hbWU9dC5hdHRyaWJWYWx1ZT1cIlwiO2Vsc2V7aWYodC5vcHQueG1sbnMpe3ZhciBlPUwodC5hdHRyaWJOYW1lLCEwKSxpPWUucHJlZml4LHM9ZS5sb2NhbDtpZihcInhtbG5zXCI9PT1pKWlmKFwieG1sXCI9PT1zJiZ0LmF0dHJpYlZhbHVlIT09YylQKHQsXCJ4bWw6IHByZWZpeCBtdXN0IGJlIGJvdW5kIHRvIFwiK2MrXCJcXG5BY3R1YWw6IFwiK3QuYXR0cmliVmFsdWUpO2Vsc2UgaWYoXCJ4bWxuc1wiPT09cyYmdC5hdHRyaWJWYWx1ZSE9PXUpUCh0LFwieG1sbnM6IHByZWZpeCBtdXN0IGJlIGJvdW5kIHRvIFwiK3UrXCJcXG5BY3R1YWw6IFwiK3QuYXR0cmliVmFsdWUpO2Vsc2V7dmFyIGE9dC50YWcsbj10LnRhZ3NbdC50YWdzLmxlbmd0aC0xXXx8dDthLm5zPT09bi5ucyYmKGEubnM9T2JqZWN0LmNyZWF0ZShuLm5zKSksYS5uc1tzXT10LmF0dHJpYlZhbHVlfXQuYXR0cmliTGlzdC5wdXNoKFt0LmF0dHJpYk5hbWUsdC5hdHRyaWJWYWx1ZV0pfWVsc2UgdC50YWcuYXR0cmlidXRlc1t0LmF0dHJpYk5hbWVdPXQuYXR0cmliVmFsdWUsTyh0LFwib25hdHRyaWJ1dGVcIix7bmFtZTp0LmF0dHJpYk5hbWUsdmFsdWU6dC5hdHRyaWJWYWx1ZX0pO3QuYXR0cmliTmFtZT10LmF0dHJpYlZhbHVlPVwiXCJ9fWZ1bmN0aW9uIFUodCxlKXtpZih0Lm9wdC54bWxucyl7dmFyIGk9dC50YWcscz1MKHQudGFnTmFtZSk7aS5wcmVmaXg9cy5wcmVmaXgsaS5sb2NhbD1zLmxvY2FsLGkudXJpPWkubnNbcy5wcmVmaXhdfHxcIlwiLGkucHJlZml4JiYhaS51cmkmJihQKHQsXCJVbmJvdW5kIG5hbWVzcGFjZSBwcmVmaXg6IFwiK0pTT04uc3RyaW5naWZ5KHQudGFnTmFtZSkpLGkudXJpPXMucHJlZml4KTt2YXIgYT10LnRhZ3NbdC50YWdzLmxlbmd0aC0xXXx8dDtpLm5zJiZhLm5zIT09aS5ucyYmT2JqZWN0LmtleXMoaS5ucykuZm9yRWFjaChmdW5jdGlvbihlKXtPKHQsXCJvbm9wZW5uYW1lc3BhY2VcIix7cHJlZml4OmUsdXJpOmkubnNbZV19KX0pO2Zvcih2YXIgbj0wLHI9dC5hdHRyaWJMaXN0Lmxlbmd0aDtuPHI7bisrKXt2YXIgbz10LmF0dHJpYkxpc3Rbbl0sYz1vWzBdLHU9b1sxXSxoPUwoYywhMCksbD1oLnByZWZpeCxUPWgubG9jYWwsRT1cIlwiPT09bD9cIlwiOmkubnNbbF18fFwiXCIscD17bmFtZTpjLHZhbHVlOnUscHJlZml4OmwsbG9jYWw6VCx1cmk6RX07bCYmXCJ4bWxuc1wiIT09bCYmIUUmJihQKHQsXCJVbmJvdW5kIG5hbWVzcGFjZSBwcmVmaXg6IFwiK0pTT04uc3RyaW5naWZ5KGwpKSxwLnVyaT1sKSx0LnRhZy5hdHRyaWJ1dGVzW2NdPXAsTyh0LFwib25hdHRyaWJ1dGVcIixwKX10LmF0dHJpYkxpc3QubGVuZ3RoPTB9dC50YWcuaXNTZWxmQ2xvc2luZz0hIWUsdC5zYXdSb290PSEwLHQudGFncy5wdXNoKHQudGFnKSxPKHQsXCJvbm9wZW50YWdcIix0LnRhZyksZXx8KHQubm9zY3JpcHR8fFwic2NyaXB0XCIhPT10LnRhZ05hbWUudG9Mb3dlckNhc2UoKT90LnN0YXRlPUQuVEVYVDp0LnN0YXRlPUQuU0NSSVBULHQudGFnPW51bGwsdC50YWdOYW1lPVwiXCIpLHQuYXR0cmliTmFtZT10LmF0dHJpYlZhbHVlPVwiXCIsdC5hdHRyaWJMaXN0Lmxlbmd0aD0wfWZ1bmN0aW9uIHgodCl7aWYoIXQudGFnTmFtZSlyZXR1cm4gUCh0LFwiV2VpcmQgZW1wdHkgY2xvc2UgdGFnLlwiKSx0LnRleHROb2RlKz1cIjwvPlwiLHZvaWQodC5zdGF0ZT1ELlRFWFQpO2lmKHQuc2NyaXB0KXtpZihcInNjcmlwdFwiIT09dC50YWdOYW1lKXJldHVybiB0LnNjcmlwdCs9XCI8L1wiK3QudGFnTmFtZStcIj5cIix0LnRhZ05hbWU9XCJcIix2b2lkKHQuc3RhdGU9RC5TQ1JJUFQpO08odCxcIm9uc2NyaXB0XCIsdC5zY3JpcHQpLHQuc2NyaXB0PVwiXCJ9dmFyIGU9dC50YWdzLmxlbmd0aCxpPXQudGFnTmFtZTt0LnN0cmljdHx8KGk9aVt0Lmxvb3NlQ2FzZV0oKSk7Zm9yKHZhciBzPWk7ZS0tOyl7aWYodC50YWdzW2VdLm5hbWU9PT1zKWJyZWFrO1AodCxcIlVuZXhwZWN0ZWQgY2xvc2UgdGFnXCIpfWlmKGU8MClyZXR1cm4gUCh0LFwiVW5tYXRjaGVkIGNsb3NpbmcgdGFnOiBcIit0LnRhZ05hbWUpLHQudGV4dE5vZGUrPVwiPC9cIit0LnRhZ05hbWUrXCI+XCIsdm9pZCh0LnN0YXRlPUQuVEVYVCk7dC50YWdOYW1lPWk7Zm9yKHZhciBhPXQudGFncy5sZW5ndGg7YS0tID5lOyl7dmFyIG49dC50YWc9dC50YWdzLnBvcCgpO3QudGFnTmFtZT10LnRhZy5uYW1lLE8odCxcIm9uY2xvc2V0YWdcIix0LnRhZ05hbWUpO3ZhciByPXt9O2Zvcih2YXIgbyBpbiBuLm5zKXJbb109bi5uc1tvXTt2YXIgYz10LnRhZ3NbdC50YWdzLmxlbmd0aC0xXXx8dDt0Lm9wdC54bWxucyYmbi5ucyE9PWMubnMmJk9iamVjdC5rZXlzKG4ubnMpLmZvckVhY2goZnVuY3Rpb24oZSl7dmFyIGk9bi5uc1tlXTtPKHQsXCJvbmNsb3NlbmFtZXNwYWNlXCIse3ByZWZpeDplLHVyaTppfSl9KX0wPT09ZSYmKHQuY2xvc2VkUm9vdD0hMCksdC50YWdOYW1lPXQuYXR0cmliVmFsdWU9dC5hdHRyaWJOYW1lPVwiXCIsdC5hdHRyaWJMaXN0Lmxlbmd0aD0wLHQuc3RhdGU9RC5URVhUfWZ1bmN0aW9uIHcodCl7dmFyIGUsaT10LmVudGl0eSxzPWkudG9Mb3dlckNhc2UoKSxhPVwiXCI7cmV0dXJuIHQuRU5USVRJRVNbaV0/dC5FTlRJVElFU1tpXTp0LkVOVElUSUVTW3NdP3QuRU5USVRJRVNbc106KFwiI1wiPT09KGk9cykuY2hhckF0KDApJiYoXCJ4XCI9PT1pLmNoYXJBdCgxKT8oaT1pLnNsaWNlKDIpLGE9KGU9cGFyc2VJbnQoaSwxNikpLnRvU3RyaW5nKDE2KSk6KGk9aS5zbGljZSgxKSxhPShlPXBhcnNlSW50KGksMTApKS50b1N0cmluZygxMCkpKSxpPWkucmVwbGFjZSgvXjArLyxcIlwiKSxpc05hTihlKXx8YS50b0xvd2VyQ2FzZSgpIT09aT8oUCh0LFwiSW52YWxpZCBjaGFyYWN0ZXIgZW50aXR5XCIpLFwiJlwiK3QuZW50aXR5K1wiO1wiKTpTdHJpbmcuZnJvbUNvZGVQb2ludChlKSl9ZnVuY3Rpb24gRyh0LGUpe1wiPFwiPT09ZT8odC5zdGF0ZT1ELk9QRU5fV0FLQSx0LnN0YXJ0VGFnUG9zaXRpb249dC5wb3NpdGlvbik6bShlKXx8KFAodCxcIk5vbi13aGl0ZXNwYWNlIGJlZm9yZSBmaXJzdCB0YWcuXCIpLHQudGV4dE5vZGU9ZSx0LnN0YXRlPUQuVEVYVCl9ZnVuY3Rpb24gTSh0LGUpe3ZhciBpPVwiXCI7cmV0dXJuIGU8dC5sZW5ndGgmJihpPXQuY2hhckF0KGUpKSxpfUQ9dC5TVEFURSxTdHJpbmcuZnJvbUNvZGVQb2ludHx8KGc9U3RyaW5nLmZyb21DaGFyQ29kZSxBPU1hdGguZmxvb3IsST1mdW5jdGlvbigpe3ZhciB0LGUsaT1bXSxzPS0xLGE9YXJndW1lbnRzLmxlbmd0aDtpZighYSlyZXR1cm5cIlwiO2Zvcih2YXIgbj1cIlwiOysrczxhOyl7dmFyIHI9TnVtYmVyKGFyZ3VtZW50c1tzXSk7aWYoIWlzRmluaXRlKHIpfHxyPDB8fHI+MTExNDExMXx8QShyKSE9PXIpdGhyb3cgUmFuZ2VFcnJvcihcIkludmFsaWQgY29kZSBwb2ludDogXCIrcik7cjw9NjU1MzU/aS5wdXNoKHIpOih0PTU1Mjk2Kygoci09NjU1MzYpPj4xMCksZT1yJTEwMjQrNTYzMjAsaS5wdXNoKHQsZSkpLChzKzE9PT1hfHxpLmxlbmd0aD4xNjM4NCkmJihuKz1nLmFwcGx5KG51bGwsaSksaS5sZW5ndGg9MCl9cmV0dXJuIG59LE9iamVjdC5kZWZpbmVQcm9wZXJ0eT9PYmplY3QuZGVmaW5lUHJvcGVydHkoU3RyaW5nLFwiZnJvbUNvZGVQb2ludFwiLHt2YWx1ZTpJLGNvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMH0pOlN0cmluZy5mcm9tQ29kZVBvaW50PUkpfShcInVuZGVmaW5lZFwiPT10eXBlb2YgZXhwb3J0cz90aGlzLnNheD17fTpleHBvcnRzKTtcblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYkluTmhlQzVxY3lKZExDSnVZVzFsY3lJNld5SnpZWGdpTENKd1lYSnpaWElpTENKemRISnBZM1FpTENKdmNIUWlMQ0pUUVZoUVlYSnpaWElpTENKVFFWaFRkSEpsWVcwaUxDSmpjbVZoZEdWVGRISmxZVzBpTENKTlFWaGZRbFZHUmtWU1gweEZUa2RVU0NJc0lsTjBjbVZoYlNJc0ltSjFabVpsY25NaUxDSjBhR2x6SWl3aWFTSXNJbXdpTENKc1pXNW5kR2dpTENKamJHVmhja0oxWm1abGNuTWlMQ0p4SWl3aVl5SXNJbUoxWm1abGNrTm9aV05yVUc5emFYUnBiMjRpTENKc2IzZGxjbU5oYzJVaUxDSnNiM2RsY21OaGMyVjBZV2R6SWl3aWJHOXZjMlZEWVhObElpd2lkR0ZuY3lJc0ltTnNiM05sWkNJc0ltTnNiM05sWkZKdmIzUWlMQ0p6WVhkU2IyOTBJaXdpZEdGbklpd2laWEp5YjNJaUxDSnViM05qY21sd2RDSXNJbk4wWVhSbElpd2lVeUlzSWtKRlIwbE9JaXdpYzNSeWFXTjBSVzUwYVhScFpYTWlMQ0pGVGxSSlZFbEZVeUlzSWs5aWFtVmpkQ0lzSW1OeVpXRjBaU0lzSWxoTlRGOUZUbFJKVkVsRlV5SXNJbUYwZEhKcFlreHBjM1FpTENKNGJXeHVjeUlzSW01eklpd2ljbTl2ZEU1VElpd2lkSEpoWTJ0UWIzTnBkR2x2YmlJc0luQnZjMmwwYVc5dUlpd2liR2x1WlNJc0ltTnZiSFZ0YmlJc0ltVnRhWFFpTENKRlZrVk9WRk1pTENKdklpd2lSaUlzSW5CeWIzUnZkSGx3WlNJc0ltdGxlWE1pTENKaElpd2lhR0Z6VDNkdVVISnZjR1Z5ZEhraUxDSndkWE5vSWl3aVpXNWtJaXdpZDNKcGRHVWlMQ0pqYUhWdWF5SXNJblJ2VTNSeWFXNW5JaXdpWTJoaGNrRjBJaXdpUWtWSFNVNWZWMGhKVkVWVFVFRkRSU0lzSW1KbFoybHVWMmhwZEdWVGNHRmpaU0lzSWxSRldGUWlMQ0p6ZEdGeWRHa2lMQ0owWlhoMFRtOWtaU0lzSW5OMVluTjBjbWx1WnlJc0ltbHpWMmhwZEdWemNHRmpaU0lzSW5OMGNtbGpkRVpoYVd3aUxDSlVSVmhVWDBWT1ZFbFVXU0lzSWs5UVJVNWZWMEZMUVNJc0luTjBZWEowVkdGblVHOXphWFJwYjI0aUxDSlRRMUpKVUZRaUxDSlRRMUpKVUZSZlJVNUVTVTVISWl3aWMyTnlhWEIwSWl3aVEweFBVMFZmVkVGSElpd2lVMGROVEY5RVJVTk1JaXdpYzJkdGJFUmxZMndpTENKcGMwMWhkR05vSWl3aWJtRnRaVk4wWVhKMElpd2lUMUJGVGw5VVFVY2lMQ0owWVdkT1lXMWxJaXdpVUZKUFExOUpUbE5VSWl3aWNISnZZMGx1YzNST1lXMWxJaXdpY0hKdlkwbHVjM1JDYjJSNUlpd2ljR0ZrSWl3aVFYSnlZWGtpTENKcWIybHVJaXdpZEc5VmNIQmxja05oYzJVaUxDSkRSRUZVUVNJc0ltVnRhWFJPYjJSbElpd2lZMlJoZEdFaUxDSkRUMDFOUlU1VUlpd2lZMjl0YldWdWRDSXNJa1JQUTFSWlVFVWlMQ0prYjJOMGVYQmxJaXdpYVhOUmRXOTBaU0lzSWxOSFRVeGZSRVZEVEY5UlZVOVVSVVFpTENKRVQwTlVXVkJGWDBSVVJDSXNJa1JQUTFSWlVFVmZVVlZQVkVWRUlpd2lSRTlEVkZsUVJWOUVWRVJmVVZWUFZFVkVJaXdpUTA5TlRVVk9WRjlGVGtSSlRrY2lMQ0pEVDAxTlJVNVVYMFZPUkVWRUlpd2lkR1Y0ZEc5d2RITWlMQ0pEUkVGVVFWOUZUa1JKVGtjaUxDSkRSRUZVUVY5RlRrUkpUa2RmTWlJc0lsQlNUME5mU1U1VFZGOUZUa1JKVGtjaUxDSlFVazlEWDBsT1UxUmZRazlFV1NJc0ltNWhiV1VpTENKaWIyUjVJaXdpYm1GdFpVSnZaSGtpTENKdVpYZFVZV2NpTENKdmNHVnVWR0ZuSWl3aVQxQkZUbDlVUVVkZlUweEJVMGdpTENKQlZGUlNTVUlpTENKamJHOXpaVlJoWnlJc0ltRjBkSEpwWWs1aGJXVWlMQ0poZEhSeWFXSldZV3gxWlNJc0lrRlVWRkpKUWw5T1FVMUZJaXdpUVZSVVVrbENYMVpCVEZWRklpd2lZWFIwY21saUlpd2lRVlJVVWtsQ1gwNUJUVVZmVTBGWFgxZElTVlJGSWl3aVlYUjBjbWxpZFhSbGN5SXNJblpoYkhWbElpd2lRVlJVVWtsQ1gxWkJURlZGWDFGVlQxUkZSQ0lzSWtGVVZGSkpRbDlXUVV4VlJWOVZUbEZWVDFSRlJDSXNJa0ZVVkZKSlFsOVdRVXhWUlY5RlRsUkpWRmxmVVNJc0lrRlVWRkpKUWw5V1FVeFZSVjlEVEU5VFJVUWlMQ0pwYzBGMGRISnBZa1Z1WkNJc0lrRlVWRkpKUWw5V1FVeFZSVjlGVGxSSlZGbGZWU0lzSWtOTVQxTkZYMVJCUjE5VFFWZGZWMGhKVkVVaUxDSnViM1JOWVhSamFDSXNJbkpsZEhWeWJsTjBZWFJsSWl3aVluVm1abVZ5SWl3aWNHRnljMlZGYm5ScGRIa2lMQ0psYm5ScGRIa2lMQ0psYm5ScGRIbENiMlI1SWl3aVpXNTBhWFI1VTNSaGNuUWlMQ0pGY25KdmNpSXNJbTFoZUVGc2JHOTNaV1FpTENKTllYUm9JaXdpYldGNElpd2liV0Y0UVdOMGRXRnNJaXdpYkdWdUlpd2lZMnh2YzJWVVpYaDBJaXdpYlNJc0ltTm9aV05yUW5WbVptVnlUR1Z1WjNSb0lpd2ljbVZ6ZFcxbElpd2lZMnh2YzJVaUxDSm1iSFZ6YUNJc0luSmxjWFZwY21VaUxDSmxlQ0lzSW5OMGNtVmhiVmR5WVhCeklpd2labWxzZEdWeUlpd2laWFlpTENKaGNIQnNlU0lzSWw5d1lYSnpaWElpTENKM2NtbDBZV0pzWlNJc0luSmxZV1JoWW14bElpd2liV1VpTENKdmJtVnVaQ0lzSW05dVpYSnliM0lpTENKbGNpSXNJbDlrWldOdlpHVnlJaXdpWm05eVJXRmphQ0lzSW1SbFptbHVaVkJ5YjNCbGNuUjVJaXdpWjJWMElpd2ljMlYwSWl3aWFDSXNJbkpsYlc5MlpVRnNiRXhwYzNSbGJtVnljeUlzSW05dUlpd2laVzUxYldWeVlXSnNaU0lzSW1OdmJtWnBaM1Z5WVdKc1pTSXNJbU52Ym5OMGNuVmpkRzl5SWl3aVpHRjBZU0lzSWtKMVptWmxjaUlzSW1selFuVm1abVZ5SWl3aVUwUWlMQ0pUZEhKcGJtZEVaV052WkdWeUlpd2lhR0Z1Wkd4bGNpSXNJbWx1WkdWNFQyWWlMQ0poY21keklpd2lZWEpuZFcxbGJuUnpJaXdpYzNCc2FXTmxJaXdpWTJGc2JDSXNJbGhOVEY5T1FVMUZVMUJCUTBVaUxDSllUVXhPVTE5T1FVMUZVMUJCUTBVaUxDSjRiV3dpTENKeVpXZGxlQ0lzSW5SbGMzUWlMQ0p6ZEhKcGJtZEdjbTl0UTJoaGNrTnZaR1VpTENKbWJHOXZjaUlzSW1aeWIyMURiMlJsVUc5cGJuUWlMQ0p6SWl3aVUxUkJWRVVpTENKRFQwMU5SVTVVWDFOVVFWSlVTVTVISWl3aVlXMXdJaXdpWjNRaUxDSnNkQ0lzSW5GMWIzUWlMQ0poY0c5eklpd2lRVVZzYVdjaUxDSkJZV04xZEdVaUxDSkJZMmx5WXlJc0lrRm5jbUYyWlNJc0lrRnlhVzVuSWl3aVFYUnBiR1JsSWl3aVFYVnRiQ0lzSWtOalpXUnBiQ0lzSWtWVVNDSXNJa1ZoWTNWMFpTSXNJa1ZqYVhKaklpd2lSV2R5WVhabElpd2lSWFZ0YkNJc0lrbGhZM1YwWlNJc0lrbGphWEpqSWl3aVNXZHlZWFpsSWl3aVNYVnRiQ0lzSWs1MGFXeGtaU0lzSWs5aFkzVjBaU0lzSWs5amFYSmpJaXdpVDJkeVlYWmxJaXdpVDNOc1lYTm9JaXdpVDNScGJHUmxJaXdpVDNWdGJDSXNJbFJJVDFKT0lpd2lWV0ZqZFhSbElpd2lWV05wY21NaUxDSlZaM0poZG1VaUxDSlZkVzFzSWl3aVdXRmpkWFJsSWl3aVlXRmpkWFJsSWl3aVlXTnBjbU1pTENKaFpXeHBaeUlzSW1GbmNtRjJaU0lzSW1GeWFXNW5JaXdpWVhScGJHUmxJaXdpWVhWdGJDSXNJbU5qWldScGJDSXNJbVZoWTNWMFpTSXNJbVZqYVhKaklpd2laV2R5WVhabElpd2laWFJvSWl3aVpYVnRiQ0lzSW1saFkzVjBaU0lzSW1samFYSmpJaXdpYVdkeVlYWmxJaXdpYVhWdGJDSXNJbTUwYVd4a1pTSXNJbTloWTNWMFpTSXNJbTlqYVhKaklpd2liMmR5WVhabElpd2liM05zWVhOb0lpd2liM1JwYkdSbElpd2liM1Z0YkNJc0luTjZiR2xuSWl3aWRHaHZjbTRpTENKMVlXTjFkR1VpTENKMVkybHlZeUlzSW5WbmNtRjJaU0lzSW5WMWJXd2lMQ0o1WVdOMWRHVWlMQ0o1ZFcxc0lpd2lZMjl3ZVNJc0luSmxaeUlzSW01aWMzQWlMQ0pwWlhoamJDSXNJbU5sYm5RaUxDSndiM1Z1WkNJc0ltTjFjbkpsYmlJc0lubGxiaUlzSW1KeWRtSmhjaUlzSW5ObFkzUWlMQ0oxYld3aUxDSnZjbVJtSWl3aWJHRnhkVzhpTENKdWIzUWlMQ0p6YUhraUxDSnRZV055SWl3aVpHVm5JaXdpY0d4MWMyMXVJaXdpYzNWd01TSXNJbk4xY0RJaUxDSnpkWEF6SWl3aVlXTjFkR1VpTENKdGFXTnlieUlzSW5CaGNtRWlMQ0p0YVdSa2IzUWlMQ0pqWldScGJDSXNJbTl5WkcwaUxDSnlZWEYxYnlJc0ltWnlZV014TkNJc0ltWnlZV014TWlJc0ltWnlZV016TkNJc0ltbHhkV1Z6ZENJc0luUnBiV1Z6SWl3aVpHbDJhV1JsSWl3aVQwVnNhV2NpTENKdlpXeHBaeUlzSWxOallYSnZiaUlzSW5OallYSnZiaUlzSWxsMWJXd2lMQ0ptYm05bUlpd2lZMmx5WXlJc0luUnBiR1JsSWl3aVFXeHdhR0VpTENKQ1pYUmhJaXdpUjJGdGJXRWlMQ0pFWld4MFlTSXNJa1Z3YzJsc2IyNGlMQ0phWlhSaElpd2lSWFJoSWl3aVZHaGxkR0VpTENKSmIzUmhJaXdpUzJGd2NHRWlMQ0pNWVcxaVpHRWlMQ0pOZFNJc0lrNTFJaXdpV0draUxDSlBiV2xqY205dUlpd2lVR2tpTENKU2FHOGlMQ0pUYVdkdFlTSXNJbFJoZFNJc0lsVndjMmxzYjI0aUxDSlFhR2tpTENKRGFHa2lMQ0pRYzJraUxDSlBiV1ZuWVNJc0ltRnNjR2hoSWl3aVltVjBZU0lzSW1kaGJXMWhJaXdpWkdWc2RHRWlMQ0psY0hOcGJHOXVJaXdpZW1WMFlTSXNJbVYwWVNJc0luUm9aWFJoSWl3aWFXOTBZU0lzSW10aGNIQmhJaXdpYkdGdFltUmhJaXdpYlhVaUxDSnVkU0lzSW5ocElpd2liMjFwWTNKdmJpSXNJbkJwSWl3aWNtaHZJaXdpYzJsbmJXRm1JaXdpYzJsbmJXRWlMQ0owWVhVaUxDSjFjSE5wYkc5dUlpd2ljR2hwSWl3aVkyaHBJaXdpY0hOcElpd2liMjFsWjJFaUxDSjBhR1YwWVhONWJTSXNJblZ3YzJsb0lpd2ljR2wySWl3aVpXNXpjQ0lzSW1WdGMzQWlMQ0owYUdsdWMzQWlMQ0o2ZDI1cUlpd2llbmRxSWl3aWJISnRJaXdpY214dElpd2libVJoYzJnaUxDSnRaR0Z6YUNJc0lteHpjWFZ2SWl3aWNuTnhkVzhpTENKelluRjFieUlzSW14a2NYVnZJaXdpY21SeGRXOGlMQ0ppWkhGMWJ5SXNJbVJoWjJkbGNpSXNJa1JoWjJkbGNpSXNJbUoxYkd3aUxDSm9aV3hzYVhBaUxDSndaWEp0YVd3aUxDSndjbWx0WlNJc0lsQnlhVzFsSWl3aWJITmhjWFZ2SWl3aWNuTmhjWFZ2SWl3aWIyeHBibVVpTENKbWNtRnpiQ0lzSW1WMWNtOGlMQ0pwYldGblpTSXNJbmRsYVdWeWNDSXNJbkpsWVd3aUxDSjBjbUZrWlNJc0ltRnNaV1p6ZVcwaUxDSnNZWEp5SWl3aWRXRnljaUlzSW5KaGNuSWlMQ0prWVhKeUlpd2lhR0Z5Y2lJc0ltTnlZWEp5SWl3aWJFRnljaUlzSW5WQmNuSWlMQ0p5UVhKeUlpd2laRUZ5Y2lJc0ltaEJjbklpTENKbWIzSmhiR3dpTENKd1lYSjBJaXdpWlhocGMzUWlMQ0psYlhCMGVTSXNJbTVoWW14aElpd2lhWE5wYmlJc0ltNXZkR2x1SWl3aWJta2lMQ0p3Y205a0lpd2ljM1Z0SWl3aWJXbHVkWE1pTENKc2IzZGhjM1FpTENKeVlXUnBZeUlzSW5CeWIzQWlMQ0pwYm1acGJpSXNJbUZ1WnlJc0ltRnVaQ0lzSW05eUlpd2lZMkZ3SWl3aVkzVndJaXdpYVc1MElpd2lkR2hsY21VMElpd2ljMmx0SWl3aVkyOXVaeUlzSW1GemVXMXdJaXdpYm1VaUxDSmxjWFZwZGlJc0lteGxJaXdpWjJVaUxDSnpkV0lpTENKemRYQWlMQ0p1YzNWaUlpd2ljM1ZpWlNJc0luTjFjR1VpTENKdmNHeDFjeUlzSW05MGFXMWxjeUlzSW5CbGNuQWlMQ0p6Wkc5MElpd2liR05sYVd3aUxDSnlZMlZwYkNJc0lteG1iRzl2Y2lJc0luSm1iRzl2Y2lJc0lteGhibWNpTENKeVlXNW5JaXdpYkc5Nklpd2ljM0JoWkdWeklpd2lZMngxWW5NaUxDSm9aV0Z5ZEhNaUxDSmthV0Z0Y3lJc0ltdGxlU0lzSW1VaUxDSlRkSEpwYm1jaUxDSm1jbTl0UTJoaGNrTnZaR1VpTENKbGRtVnVkQ0lzSW01dlpHVlVlWEJsSWl3aWRHVjRkQ0lzSW5SeWFXMGlMQ0p1YjNKdFlXeHBlbVVpTENKeVpYQnNZV05sSWl3aWJXVnpjMkZuWlNJc0luQmhjbVZ1ZENJc0luRnVZVzFsSWl3aVlYUjBjbWxpZFhSbElpd2ljWFZoYkU1aGJXVWlMQ0p6Y0d4cGRDSXNJbkJ5WldacGVDSXNJbXh2WTJGc0lpd2ljVzRpTENKelpXeG1RMnh2YzJsdVp5SXNJblZ5YVNJc0lrcFRUMDRpTENKemRISnBibWRwWm5raUxDSndJaXdpYm5ZaUxDSnBjMU5sYkdaRGJHOXphVzVuSWl3aWRHOU1iM2RsY2tOaGMyVWlMQ0owSWl3aVkyeHZjMlZVYnlJc0luQnZjQ0lzSW5naUxDSnVJaXdpYm5WdElpd2laVzUwYVhSNVRFTWlMQ0p1ZFcxVGRISWlMQ0p6YkdsalpTSXNJbkJoY25ObFNXNTBJaXdpYVhOT1lVNGlMQ0p5WlhOMWJIUWlMQ0pvYVdkb1UzVnljbTluWVhSbElpd2liRzkzVTNWeWNtOW5ZWFJsSWl3aVkyOWtaVlZ1YVhSeklpd2lhVzVrWlhnaUxDSmpiMlJsVUc5cGJuUWlMQ0pPZFcxaVpYSWlMQ0pwYzBacGJtbDBaU0lzSWxKaGJtZGxSWEp5YjNJaUxDSmxlSEJ2Y25SeklsMHNJbTFoY0hCcGJtZHpJam9pUTBGQlF5eFRRVUZYUVN4SFFVTldRU3hGUVVGSlF5eFBRVUZUTEZOQlFWVkRMRVZCUVZGRExFZEJRVThzVDBGQlR5eEpRVUZKUXl4RlFVRlZSaXhGUVVGUlF5eEpRVU51UlVnc1JVRkJTVWtzVlVGQldVRXNSVUZEYUVKS0xFVkJRVWxMTEZWQlFWbEJMRVZCUTJoQ1RDeEZRVUZKVFN4aFFYVkxTaXhUUVVGMVFrb3NSVUZCVVVNc1IwRkROMElzVDBGQlR5eEpRVUZKUlN4RlFVRlZTQ3hGUVVGUlF5eEpRVGRLTDBKSUxFVkJRVWxQTEd0Q1FVRnZRaXhOUVVWNFFpeEpRU3RKU1VNc1JVRXZTVUZETEVWQlFWVXNRMEZEV2l4VlFVRlhMRmRCUVZrc1YwRkJXU3hWUVVGWExGVkJRemxETEdWQlFXZENMR1ZCUVdkQ0xGTkJRVlVzWVVGRE1VTXNZMEZCWlN4UlFVRlRMRlZCZDBJeFFpeFRRVUZUVEN4RlFVRlhSaXhGUVVGUlF5eEhRVU14UWl4TFFVRk5UeXhuUWtGQlowSk9MRWRCUTNCQ0xFOUJRVThzU1VGQlNVRXNSVUZCVlVZc1JVRkJVVU1zU1VGM1JtcERMRk5CUVhWQ1JpeEhRVU55UWl4SlFVRkxMRWxCUVVsVkxFVkJRVWtzUlVGQlIwTXNSVUZCU1Vnc1JVRkJVVWtzVDBGQlVVWXNSVUZCU1VNc1JVRkJSMFFzU1VGRGVrTldMRVZCUVU5UkxFVkJRVkZGTEVsQlFVMHNSMEYwUm5aQ1J5eERRVVJoU2l4TlFVRkJRU3hMUVVWT1N5eEZRVVpOVEN4TFFVVkxUU3hGUVVGSkxFZEJSbFJPTEV0QlIwNVBMRzlDUVVGelFtcENMRVZCUVVsUExHdENRVWh3UWtjc1MwRkpUbEFzU1VGQlRVRXNSMEZCVHl4SFFVcFFUeXhMUVV0T1VDeEpRVUZKWlN4VlFVeEZVaXhMUVV0cFFsQXNTVUZCU1dVc1YwRk1ja0pTTEV0QlMzbERVQ3hKUVVGSlowSXNZMEZNTjBOVUxFdEJUVTVWTEZWQlRrMVdMRXRCVFdGUUxFbEJRVWxsTEZWQlFWa3NZMEZCWjBJc1kwRk9OME5TTEV0QlQwNVhMRXRCUVU4c1IwRlFSRmdzUzBGUlRsa3NUMEZTVFZvc1MwRlJWV0VzVjBGU1ZtSXNTMEZST0VKakxGTkJRVlVzUlVGU2VFTmtMRXRCVTA1bExFbEJWRTFtTEV0QlUwOW5RaXhOUVVGUkxFdEJWR1pvUWl4TFFWVk9VaXhUUVVGWFFTeEZRVlpNVVN4TFFWZE9hVUlzV1VGQlkzcENMRWxCV0ZKUkxFdEJWM2xDVUN4SlFVRkpkMElzVlVGWU4wSnFRaXhMUVZsT2EwSXNUVUZCVVVNc1JVRkJSVU1zVFVGYVNuQkNMRXRCWVU1eFFpeGxRV0pOY2tJc1MwRmhhMEpRTEVsQlFVazBRaXhsUVdKMFFuSkNMRXRCWTA1elFpeFRRV1JOZEVJc1MwRmpXWEZDTEdWQlFXbENSU3hQUVVGUFF5eFBRVUZQYkVNc1JVRkJTVzFETEdOQlFXZENSaXhQUVVGUFF5eFBRVUZQYkVNc1JVRkJTV2RETEZWQlpHcEdkRUlzUzBGbFRqQkNMRmRCUVdFc1IwRm1VREZDTEV0QmIwSkdVQ3hKUVVGSmEwTXNVVUZ3UWtZelFpeExRWEZDU2pSQ0xFZEJRVXRNTEU5QlFVOURMRTlCUVU5TExFbEJja0ptTjBJc1MwRjVRazQ0UWl4bFFVRjNReXhKUVhwQ2JFTTVRaXhMUVhsQ2FVSlFMRWxCUVVselF5eFRRWHBDY2tJdlFpeExRVEJDUmpoQ0xHZENRVEZDUlRsQ0xFdEJNa0pLSzBJc1UwRXpRa2t2UWl4TFFUSkNZMmRETEV0Qk0wSmthRU1zUzBFeVFqUkNhVU1zVDBGQlV5eEhRVVZzUkVNc1JVRTNRbUZzUXl4TFFUWkNRU3hYUVhaRVpsWXNSVUZCU1RaRExFOUJRVk1zUTBGRFdDeFBRVU5CTEhkQ1FVTkJMR3RDUVVOQkxGVkJRMEVzVlVGRFFTeGxRVU5CTEZsQlEwRXNWVUZEUVN4WFFVTkJMRmxCUTBFc1VVRkRRU3hoUVVOQkxGRkJRMEVzVFVGRFFTeFJRVU5CTEZOQlEwRXNaMEpCUTBFc2EwSkJkME5IV2l4UFFVRlBReXhUUVVOV1JDeFBRVUZQUXl4UFFVRlRMRk5CUVZWWkxFZEJRM2hDTEZOQlFWTkRMRXRCUjFRc1QwRkdRVUVzUlVGQlJVTXNWVUZCV1VZc1JVRkRTQ3hKUVVGSlF5eEpRVXRrWkN4UFFVRlBaMElzVDBGRFZtaENMRTlCUVU5blFpeExRVUZQTEZOQlFWVklMRWRCUTNSQ0xFbEJRVWxKTEVWQlFVa3NSMEZEVWl4SlFVRkxMRWxCUVVsMlF5eExRVUZMYlVNc1JVRkJUMEVzUlVGQlJVc3NaVUZCWlhoRExFbEJRVWwxUXl4RlFVRkZSU3hMUVVGTGVrTXNSMEZEYWtRc1QwRkJUM1ZETEVsQk1FUllPVU1zUlVGQlZUUkRMRlZCUVZrc1EwRkRjRUpMTEVsQlFVc3NWMEZCWTBFc1JVRkJTVE5ETEU5QlEzWkNORU1zVFVFd2VVSkdMRk5CUVdkQ1F5eEhRVVZrTEVkQlFVazNReXhMUVVGTFowSXNUVUZEVUN4TlFVRk5hRUlzUzBGQlMyZENMRTFCUldJc1IwRktZV2hDTEV0QlNVWlpMRTlCUTFRc1QwRkJUMGtzUlVGTVNXaENMRXRCVFZRc2QwUkJSVW9zUjBGQll5eFBRVUZXTmtNc1JVRkRSaXhQUVVGUFJpeEZRVlJKTTBNc1RVRlhVU3hwUWtGQlZqWkRMRWxCUTFSQkxFVkJRVkZCTEVWQlFVMURMRmxCUldoQ0xFbEJRVWszUXl4RlFVRkpMRVZCUTBwTExFVkJRVWtzUjBGRFVpeExRVU5GUVN4RlFVRkplVU1zUlVGQlQwWXNSVUZCVHpWRExFdEJha0pRUkN4TFFXdENTazBzUlVGQlNVRXNSVUZGVGtFc1IwRmpUQ3hQUVd4RFYwNHNTMEYzUWtFNFFpeG5Ra0Y0UWtFNVFpeExRWGxDUml0Q0xGZEJRMGNzVDBGQlRucENMRWRCTVVKTFRpeExRVEpDUVdkRExFOUJNMEpCYUVNc1MwRTBRa0ZwUXl4UFFVRlRMRWRCTlVKVWFrTXNTMEU0UWtGcFF5eFZRVGxDUVdwRExFdEJhME5KYTBJc1QwRkRZaXhMUVVGTFF5eEZRVUZGUXl4TlFVVk1MRWRCY2tOUGNFSXNTMEZ2UTBGclFpeE5RVUZSUXl4RlFVRkZOa0lzYVVKQlExQXNWMEZCVGpGRExFVkJRMFlzVTBGRlJqSkRMRVZCZUVOUGFrUXNTMEYzUTJsQ1RTeEhRVU40UWl4VFFVVkdMRXRCUVV0aExFVkJRVVUyUWl4cFFrRkRURU1zUlVFMVEwOXFSQ3hMUVRSRGFVSk5MRWRCUTNoQ0xGTkJSVVlzUzBGQlMyRXNSVUZCUlN0Q0xFdEJRMHdzUjBGb1JFOXNSQ3hMUVdkRVNXTXNWVUZvUkVwa0xFdEJaMFIxUW1Fc1YwRkJXU3hEUVVWNFF5eEpRVVJCTEVsQlFVbHpReXhGUVVGVGJFUXNSVUZCU1N4RlFVTldTeXhIUVVGWExFMUJRVTVCTEVkQlFXMUNMRTFCUVU1QkxFbEJRM1pDUVN4RlFVRkplVU1zUlVGQlQwWXNSVUZCVHpWRExFOUJia1JtUkN4TFFXOUVZVGhDTEdkQ1FYQkVZamxDTEV0QmNVUk5LMElzVjBGRFJ5eFBRVUZPZWtJc1IwRjBSRWhPTEV0QmRVUlJaME1zVDBGMlJGSm9ReXhMUVhkRVVXbERMRTlCUVZNc1IwRjRSR3BDYWtNc1MwRXdSRkZwUXl4VlFURkVVbXBETEV0Qk9FUkZiMFFzVlVGQldWQXNSVUZCVFZFc1ZVRkJWVVlzUlVGQlVXeEVMRVZCUVVrc1IwRkZka01zVFVGQlRrc3NSMEZvUlVkT0xFdEJaMFZ0UW1Nc1UwRm9SVzVDWkN4TFFXZEZjVU5oTEdGQmFFVnlRMklzUzBGblJUSkVVaXhSUVVrelJEaEVMRVZCUVdGb1JDeEpRWEJGWWs0c1MwRnZSVFJDWXl4VlFYQkZOVUprTEV0QmIwVTRRMkVzV1VGRGFrUXdReXhGUVhKRlIzWkVMRXRCY1VWblFpeHRRMEZGV0N4TlFVRk9UU3hGUVhaRlEwNHNTMEYzUlVsclFpeE5RVUZSUXl4RlFVRkZjVU1zV1VGNFJXUjRSQ3hMUVRCRlNXOUVMRlZCUVZrNVF5eEpRVEZGYUVKT0xFdEJhVVZGYTBJc1RVRkJVVU1zUlVGQlJYTkRMRlZCYWtWYWVrUXNTMEZyUlVVd1JDeHBRa0ZzUlVZeFJDeExRV3RGTkVJclFpeFZRVmR1UXl4VFFVVkdMRXRCUVV0YUxFVkJRVVYzUXl4UFFVVkxMRTFCUVU1eVJDeEZRV3BHUjA0c1MwRnJSa1ZyUWl4TlFVRlJReXhGUVVGRmVVTXNZMEZzUmxvMVJDeExRVzlHUlRaRUxGRkJRVlYyUkN4RlFVVnVRaXhUUVVWR0xFdEJRVXRoTEVWQlFVVjVReXhqUVVOTExFMUJRVTUwUkN4RlFYcEdSMDRzUzBFd1JrVnJRaXhOUVVGUlF5eEZRVUZGTWtNc1YwRXhSbG81UkN4TFFUUkdSVFpFTEZGQlFWVXNTVUZCVFhaRUxFVkJOVVpzUWs0c1MwRTJSa1ZyUWl4TlFVRlJReXhGUVVGRmQwTXNVVUZGYmtJc1UwRkZSaXhMUVVGTGVFTXNSVUZCUlhORExGVkJSVXdzUjBGQlZTeE5RVUZPYmtRc1JVRnVSMGRPTEV0QmIwZEZhMElzVFVGQlVVTXNSVUZCUlRSRExGVkJjRWRhTDBRc1MwRnhSMFZuUlN4VFFVRlhMRkZCUTJJc1IwRkJTVllzUlVGQllXaEVMRk5CUldwQ0xFZEJRVWt5UkN4RlFVRlJReXhGUVVGWE5VUXNSMEY0UjNaQ1RpeExRWGxIUld0Q0xFMUJRVkZETEVWQlFVVm5SQ3hUUVhwSFdtNUZMRXRCTUVkRmIwVXNVVUZCVlRsRUxFOUJRMW9zUjBGQlZTeE5RVUZPUVN4RlFUTkhTazRzUzBFMFIwVnJRaXhOUVVGUlF5eEZRVUZGTWtNc1ZVRTFSMW81UkN4TFFUWkhSVzlGTEZGQlFWVXNVVUZEV2l4SFFVRlZMRTFCUVU0NVJDeEZRVGxIU2s0c1MwRXJSMFZyUWl4TlFVRlJReXhGUVVGRmEwUXNWVUV2UjFweVJTeExRV2RJUlhORkxHRkJhRWhHZEVVc1MwRm5TSGRDZFVVc1lVRkJaU3hQUVVOMlF5eERRVWRNTEVkQlJrRm9RaXhGUVd4SVMzWkVMRXRCYTBoakxHVkJiRWhrUVN4TFFXOUlUVEJFTEdsQ1FVRnRRaXhGUVhCSWVrSXhSQ3hMUVc5SWIwTXJRaXhUUVVGVkxFTkJRMnBFTEVsQlFVbDVReXhGUVhKSVJIaEZMRXRCY1VoakswSXNVMEZ5U0dRdlFpeExRWEZJWjBNd1JDeHBRa0ZEYmtOd1JDeEZRVUZKTEVsQlFVbHRSU3hOUVVGTlJDeEhRVUZMUlN4TFFVRkxMRXRCUVU5d1JTeEZRWFJJTlVKT0xFdEJkMGhGYjBRc1ZVRkJXU3hKUVVGTk9VTXNSVUY0U0hCQ1RpeExRWGxJUld0Q0xFMUJRVkZETEVWQlFVVXJRaXhMUVVWdVFpeFRRVVZHTEV0QlFVc3ZRaXhGUVVGRk5FTXNWMEUzU0VVdlJDeExRVGhJUzJkRkxGTkJRVmN4UkN4SFFVRkhjVVVzWjBKQlFXdENReXhIUVVNeFEwTXNSVUV2U0VzM1JTeExRU3RJV1N4bFFTOUlXa0VzUzBGblNVVnJRaXhOUVVGUlF5eEZRVUZGZVVRc1RVRm9TVm8xUlN4TFFXbEpSV2RGTEZOQlFWY3NSMEZxU1dKb1JTeExRV3RKUlRoRkxFMUJRVkVzU1VGc1NWWTVSU3hMUVcxSlYyZEZMRk5CUVZjeFJDeEpRVUZOTEUxQmJrazFRazRzUzBGdlNVVnJRaXhOUVVGUlF5eEZRVUZGTkVRc1VVRndTVm92UlN4TFFYRkpSV2RHTEZGQlFWVXNSMEZ5U1Zwb1JpeExRWE5KUldkRkxGTkJRVmNzUzBGMFNXSm9SU3hMUVhWSldXZEZMRk5CUVZjeFJDeEhRVUZIY1VVc1owSkJRV3RDVFN4SFFYWkpOVU5xUml4TFFYZEpSV3RDTEUxQlFWRkRMRVZCUVVVNFJDeFRRWGhKV21wR0xFdEJlVWxOYTBZc1UwRjZTVTVzUml4TFFYbEpkMEpqTEZWQlF6TkNlVU1zUlVFeFNVZDJSQ3hMUVRKSlJDd3JRMEV6U1VOQkxFdEJOa2xGYTBZc1VVRkJWU3hIUVRkSldteEdMRXRCT0VsRlowVXNVMEZCVnl4SlFVTklMRTFCUVU0eFJDeEhRVU5VZFVVc1JVRm9Ta3MzUlN4TFFXZEtXU3h2UWtGb1NscEJMRXRCWjBwM1EyZEZMRlZCYUVwNFEyaEZMRXRCYVVwRlowVXNVMEZCVnl4SFFXcEtZbWhGTEV0QmEwcEZhMElzVFVGQlVVTXNSVUZCUlN0Q0xFMUJRMUpwUXl4RlFVRlJOMFVzU1VGdVNscE9MRXRCYjBwRmEwSXNUVUZCVVVNc1JVRkJSV2xGTEdsQ1FYQktXbkJHTEV0QmNVcEZaMFVzVlVGQldURkVMRWRCY2twa1RpeExRWFZLUldkRkxGVkJRVmt4UkN4RlFVVnlRaXhUUVVWR0xFdEJRVXRoTEVWQlFVVnBSU3hwUWtGRFJEbEZMRWxCTlVwSFRpeExRVFJLVlVzc1NVRTFTbFpNTEV0Qk5rcEZhMElzVFVGQlVVTXNSVUZCUlRSRExGVkJOMHBhTDBRc1MwRTRTa1ZMTEVWQlFVa3NTVUU1U2s1TUxFdEJaMHRCWjBVc1ZVRkJXVEZFTEVWQlEyNUNMRk5CUlVZc1MwRkJTMkVzUlVGQlJUaEVMRkZCUTBzc1RVRkJUak5GTEVkQmNFdEhUaXhMUVhGTFJXdENMRTFCUVZGRExFVkJRVVVyUWl4TFFVTnFRakpDTEVWQmRFdExOMFVzUzBGelMxa3NXVUYwUzFwQkxFdEJjMHRuUTJ0R0xGTkJkRXRvUTJ4R0xFdEJkVXRGYTBZc1UwRkJWU3hKUVhaTFdteEdMRXRCZVV0RmEwWXNVMEZCVnpWRkxFVkJRMUlzVFVGQlRrRXNSVUV4UzBOT0xFdEJNa3RKYTBJc1RVRkJVVU1zUlVGQlJXdEZMRmxCUTFKR0xFVkJRVkUzUlN4TFFUVkxaRTRzUzBFMlMwbHJRaXhOUVVGUlF5eEZRVUZGYlVVc1pVRTNTMlIwUml4TFFUaExTVXNzUlVGQlNVTXNTVUZIWml4VFFVVkdMRXRCUVV0aExFVkJRVVZ0UlN4bFFXNU1SWFJHTEV0QmIweEJhMFlzVTBGQlZ6VkZMRVZCUTJSQkxFbEJja3hIVGl4TFFYRk1WVXNzU1VGeVRGWk1MRXRCYzB4RlN5eEZRVUZKTEVkQmRFeE9UQ3hMUVhWTVJXdENMRTFCUVZGRExFVkJRVVU0UkN4VFFVVnVRaXhUUVVWR0xFdEJRVXM1UkN4RlFVRkZhMFVzV1VFelRFVnlSaXhMUVRSTVFXdEdMRk5CUVZjMVJTeEZRVU5TTEUxQlFVNUJMRVZCTjB4SFRpeExRVGhNUld0Q0xFMUJRVkZETEVWQlFVVTRSQ3hSUVVOU1JTeEZRVUZSTjBVc1MwRXZURnBPTEV0QlowMUZhMElzVFVGQlVVTXNSVUZCUlc5RkxHMUNRV2hOV25aR0xFdEJhVTFGU3l4RlFVRkpReXhIUVVWaUxGTkJSVVlzUzBGQlMyRXNSVUZCUlc5RkxHMUNRWEpOUlhaR0xFdEJjMDFCYTBZc1UwRkJWelZGTEVWQlEyUkJMRWxCZGsxSFRpeExRWFZOVlVzc1NVRjJUVlpNTEV0QmQwMUZhMElzVFVGQlVVTXNSVUZCUld0RkxGbEJlRTFhY2tZc1MwRjVUVVZMTEVWQlFVa3NTVUZGWWl4VFFVVkdMRXRCUVV0akxFVkJRVVUwUkN4UlFVTkxMRTFCUVU1NlJTeEZRVGxOUjA0c1MwRXJUVVZyUWl4TlFVRlJReXhGUVVGRmNVVXNaVUV2VFZwNFJpeExRV2xPUldkR0xGTkJRVmN4UlN4RlFVVndRaXhUUVVWR0xFdEJRVXRoTEVWQlFVVnhSU3hsUVVOTExFMUJRVTVzUml4SFFYUk9SMDRzUzBGMVRrVnJRaXhOUVVGUlF5eEZRVUZGYzBVc1kwRjJUbHA2Uml4TFFYZE9SV2RHTEZGQlFWVlZMRVZCZUU1YU1VWXNTMEYzVGpSQ1VDeEpRWGhPTlVKUExFdEJkMDUzUTJkR0xGTkJlRTU0UTJoR0xFdEJlVTVOWjBZc1UwRkRWRWdzUlVFeFRrYzNSU3hMUVRCT1l5eFpRVEZPWkVFc1MwRXdUbXREWjBZc1UwRXhUbXhEYUVZc1MwRTBUa1ZuUml4UlFVRlZMRXRCTlU1YWFFWXNTMEU0VGtWblJpeFRRVUZYTEVsQlFVMHhSU3hGUVRsT2JrSk9MRXRCSzA1RmEwSXNUVUZCVVVNc1JVRkJSVFJFTEZOQlJXNUNMRk5CUlVZc1MwRkJTelZFTEVWQlFVVnpSU3hqUVVOTExFMUJRVTV1Uml4SFFVTkdhVVFzUlVGeVQwdDJSQ3hMUVhGUFl5eHhRa0Z5VDJSQkxFdEJkMDlGWjBZc1UwRkJWeXhMUVVGUE1VVXNSVUY0VDNCQ1RpeExRWGxQUld0Q0xFMUJRVkZETEVWQlFVVTBSQ3hUUVhwUFdpOUZMRXRCTWs5RmEwSXNUVUZCVVVNc1JVRkJSU3RDTEV0QlJXNUNMRk5CUlVZc1MwRkJTeTlDTEVWQlFVVjVSQ3hOUVVOTExFMUJRVTUwUlN4RlFXaFFSMDRzUzBGcFVFVnJRaXhOUVVGUlF5eEZRVUZGZDBVc1lVRnFVRm96Uml4TFFXMVFSVGhGTEU5QlFWTjRSU3hGUVVWc1FpeFRRVVZHTEV0QlFVdGhMRVZCUVVWM1JTeGhRVU5MTEUxQlFVNXlSaXhGUVhoUVIwNHNTMEY1VUVWclFpeE5RVUZSUXl4RlFVRkZlVVVzWjBKQmVsQmFOVVlzUzBFeVVFVTRSU3hQUVVGVExFbEJRVTE0UlN4RlFUTlFha0pPTEV0Qk5GQkZhMElzVFVGQlVVTXNSVUZCUlhsRUxFOUJSVzVDTEZOQlJVWXNTMEZCUzNwRUxFVkJRVVY1UlN4bFFVTkxMRTFCUVU1MFJpeEhRV3BSUjA0c1MwRnJVVTA0UlN4UFFVTlVSQ3hGUVc1UlJ6ZEZMRXRCYlZGakxGVkJibEZrUVN4TFFXMVJaME00UlN4UFFVVnlRMFFzUlVGeVVVczNSU3hMUVhGUldTeG5Ra0Z5VVZwQkxFdEJjMUZGT0VVc1RVRkJVU3hIUVhSUlZqbEZMRXRCZFZGRmEwSXNUVUZCVVVNc1JVRkJSU3RDTEUxQlEwWXNUVUZCVGpWRExFVkJlRkZLVGl4TFFYbFJSVGhGTEU5QlFWTXNTMEY2VVZnNVJTeExRVEpSUlRoRkxFOUJRVk1zUzBGQlQzaEZMRVZCTTFGc1FrNHNTMEUwVVVWclFpeE5RVUZSUXl4RlFVRkZlVVFzVDBGRmJrSXNVMEZGUml4TFFVRkxla1FzUlVGQlJXdEVMRlZCUTBzc1RVRkJUaTlFTEVWQmFsSkhUaXhMUVd0U1JXdENMRTFCUVZGRExFVkJRVVV3UlN4cFFrRkRVblpETEVWQlFXRm9SQ3hIUVc1U2FrSk9MRXRCYjFKRmEwSXNUVUZCVVVNc1JVRkJSVEpGTEdWQmNGSmFPVVlzUzBGelVrVnpSU3hqUVVGblFtaEZMRVZCUlhwQ0xGTkJSVVlzUzBGQlMyRXNSVUZCUlRKRkxHVkJRMHdzU1VFelVrODVSaXhMUVRKU1MzVkZMR05CUVdkQ2FrSXNSVUZCWVdoRUxFZEJRM1pETEZOQlEyVXNUVUZCVGtFc1JVRTNVa3BPTEV0Qk9GSkZhMElzVFVGQlVVTXNSVUZCUlRCRkxHbENRVGxTV2pkR0xFdEJaMU5GZFVVc1kwRkJaMEpxUlN4RlFVVjZRaXhUUVVWR0xFdEJRVXRoTEVWQlFVVXdSU3hwUWtGRFN5eE5RVUZPZGtZc1IwRkRSblZGTEVWQmRGTkxOMFVzUzBGelUxa3NNRUpCUVRKQ0xFTkJRekZESzBZc1MwRjJVMGN2Uml4TFFYVlRWWE5GTEdGQlEySXdRaXhMUVhoVFIyaEhMRXRCZDFOVmRVVXNaVUY0VTFaMlJTeExRVEJUUlhORkxHRkJNVk5HZEVVc1MwRXdVM2RDZFVVc1lVRkJaU3hIUVRGVGRrTjJSU3hMUVRKVFJXdENMRTFCUVZGRExFVkJRVVVyUWl4UFFUTlRXbXhFTEV0Qk5sTkZkVVVzWTBGQlowSXNTVUZCVFdwRkxFVkJOMU40UWs0c1MwRTRVMFZyUWl4TlFVRlJReXhGUVVGRk1rVXNaMEpCUlc1Q0xGTkJSVVlzUzBGQlN6TkZMRVZCUVVWblJDeFRRVU5FUml4RlFVRlJaME1zUlVGQlZUTkdMRWRCYmxSbVRpeExRVzlVUlc5RkxGTkJRVmM1UkN4SFFVVnNRalJHTEVWQmRGUkxiRWNzVFVGMVZFc3NUVUZCVGswc1JVRkRSalpHTEVWQmVGUkhia2NzVFVGNVZGa3NUVUZCVGswc1JVRjZWRTVPTEV0Qk1GUkphMElzVFVGQlVVTXNSVUZCUldsR0xHZENRVVZhT1VNc1JVRkJZV2hFTEVsQlEyaENhVVFzUlVFM1ZFTjJSQ3hMUVRaVWEwSXNhVU5CTjFSc1FrRXNTMEVyVkVsclFpeE5RVUZSUXl4RlFVRkZhMFlzVTBGSGNrSXNVMEZGUml4TFFVRkxiRVlzUlVGQlJXbEdMR1ZCUTBzc1RVRkJUamxHTEVkQlEwWTJSaXhGUVhSVlMyNUhMRTFCYzFWWExFZEJRMmhDYzBjc1JVRjJWVXQwUnl4UlFYbFZUSFZFTEVWQmVsVkxka1FzUzBGNVZXTXNhMFJCZWxWa1FTeExRVEJWUld0Q0xFMUJRVkZETEVWQlFVVnJSaXhSUVVWdVFpeFRRVVZHTEV0QlFVdHNSaXhGUVVGRmEwWXNUMEZGVEN4SFFVRkpMME1zUlVGQllXaEVMRWRCUTJZc1UwRkRaU3hOUVVGT1FTeEZRVU5VTmtZc1JVRnVWa3R1Unl4TlFXOVdWU3hOUVVGT1RTeEZRWEJXU2s0c1MwRnhWa1ZyUWl4TlFVRlJReXhGUVVGRmFVWXNaVUZEVW01RExFVkJRVkZETEVWQlFWYzFSQ3hKUVhSV2RrSk9MRXRCZFZaRmRVY3NWMEZCWVdwSExFVkJkbFptVGl4TFFYZFdSWGRITEZsQlFXTXNSMEY0Vm1oQ2VFY3NTMEY1VmtWclFpeE5RVUZSUXl4RlFVRkZjMFlzWVVGRmFrSnNSQ3hGUVROV1MzWkVMRXRCTWxaakxEQkNRVVZ5UWl4VFFVVkdMRXRCUVV0dFFpeEZRVUZGYzBZc1dVRkRTeXhOUVVGT2JrY3NSVUZvVjBkT0xFdEJhVmRGYTBJc1RVRkJVVU1zUlVGQlJYVkdMR0ZCUTBZc1RVRkJUbkJITEVkQlExUnBSQ3hGUVc1WFMzWkVMRXRCYlZkakxESkNRVzVYWkVFc1MwRnZWMFYzUnl4WlFYQlhSbmhITEV0QmIxZDFRblZITEZkQlF6VkNTU3hGUVhKWFN6TkhMRTFCYzFkTWJVY3NSVUYwVjB0dVJ5eFBRWFZYU1hORUxFVkJRV0ZvUkN4SFFYWlhha0pPTEV0QmQxZEZhMElzVFVGQlVVTXNSVUZCUlhsR0xITkNRVU5TTTBNc1JVRkJVV2RETEVWQlFWVXpSaXhIUVhwWGRFSk9MRXRCTUZkRmRVY3NXVUZCWTJwSExFVkJSWEpDYVVRc1JVRTFWMHQyUkN4TFFUUlhZeXd3UWtGRmNrSXNVMEZGUml4TFFVRkxiVUlzUlVGQlJYbEdMSE5DUVVOTUxFZEJRVlVzVFVGQlRuUkhMRVZCYWxoSFRpeExRV3RZUld0Q0xFMUJRVkZETEVWQlFVVjFSaXhwUWtGRFdpeERRVUZCTEVkQlFVbHdSQ3hGUVVGaGFFUXNSMEZEZEVJc1UwRkZRV2xFTEVWQmRGaExka1FzUzBGeldHTXNNa0pCZEZoa1FTeExRWFZZUldVc1NVRkJTVGhHTEZkQmRsaE9OMGNzUzBGMVdIZENkVWNzV1VGQll5eEhRWFpZZEVOMlJ5eExRWGRZUlhkSExGbEJRV01zUjBGRGNrSXpRaXhGUVhwWVN6ZEZMRXRCZVZoWkxHTkJRV1VzUTBGRE9VSXJSaXhMUVRGWVJ5OUdMRXRCTUZoVmRVY3NWMEZEWWs4c1RVRkJUeXhMUVROWVNqbEhMRXRCTmxoRmRVY3NWMEZCWVN4SFFVTldMRTFCUVU1cVJ5eEZRVU5HTmtZc1JVRXZXRWR1Unl4TlFXZFpUV2xGTEVWQlFWRkRMRVZCUVZjMVJDeEpRV2haZWtKT0xFdEJhVmxKZFVjc1YwRkJZV3BITEVWQmFsbHFRazRzUzBGcldVbHJRaXhOUVVGUlF5eEZRVUZGYzBZc1kwRkZha0pzUkN4RlFYQlpSM1pFTEV0QmIxbG5RaXd3UWtGd1dXaENRU3hMUVhGWlNXdENMRTFCUVZGRExFVkJRVVZyUml4UlFVZHlRaXhUUVVWR0xFdEJRVXRzUml4RlFVRkZkVVlzWVVGRFRDeEhRVUZKY0VRc1JVRkJZV2hFTEVkQlEyWXNVMEZEVXpaRkxFVkJRVkUzUlN4SlFUZFpXazRzUzBFNFdVVkxMRVZCUVVsRExFVkJPVmxPVGl4TFFTdFpSV3RDTEUxQlFWRkRMRVZCUVVVMFJpeHpRa0ZGYWtKNFJDeEZRV3BhUzNaRUxFdEJhVnBqTERSQ1FXcGFaRUVzUzBGcldrVnJRaXhOUVVGUlF5eEZRVUZGTmtZc2MwSkJiRnBhYUVnc1MwRnRXa1YzUnl4WlFVRmpiRWNzUjBGRmRrSXNVMEZGUml4TFFVRkxZU3hGUVVGRk5FWXNiMEpCUTB3c1IwRkJTWHBITEVsQmVGcEhUaXhMUVhkYVZVc3NSVUZCUnl4RFFVTlNMRTFCUVU1RExFVkJlbHBEVGl4TFFUQmFTV3RDTEUxQlFWRkRMRVZCUVVVNFJpeHpRa0V4V21ScVNDeExRVFJhU1hkSExHRkJRV1ZzUnl4RlFVVjRRaXhUUVVWR2NVY3NSVUZvWVU4elJ5eE5RVUZCUVN4TFFXbGhRVXNzUlVGQlNTeEhRV3BoU2t3c1MwRnJZVUZyUWl4TlFVRlJReXhGUVVGRkswWXNiMEpCUTJwQ0xGTkJSVVlzUzBGQlN5OUdMRVZCUVVVclJpeHZRa0ZEUkRWRUxFVkJRV0ZvUkN4SFFYUmhWazRzUzBGMVlVVnJRaXhOUVVGUlF5eEZRVUZGYTBZc1QwRkRSaXhOUVVGT0wwWXNSVUZEVkRaR0xFVkJlbUZMYmtjc1RVRXdZVlVzVFVGQlRrMHNSVUV4WVVwT0xFdEJNbUZGYTBJc1RVRkJVVU1zUlVGQlJXbEdMR1ZCUTFKdVF5eEZRVUZSUXl4RlFVRlhOVVFzU1VGRE5VSnBSQ3hGUVRkaFMzWkVMRXRCTm1GakxHOURRVGRoWkVFc1MwRTRZVVYxUnl4WFFVRmhha2NzUlVFNVlXWk9MRXRCSzJGRmQwY3NXVUZCWXl4SFFTOWhhRUo0Unl4TFFXZGlSV3RDTEUxQlFWRkRMRVZCUVVWelJpeGhRVVZxUW14RUxFVkJiR0pMZGtRc1MwRnJZbU1zTUVKQlJYSkNMRk5CUlVZc1MwRkJTMjFDTEVWQlFVVTJSaXh6UWtGRFRDeEpRVUZMUnl4RlFVRlpOMGNzUjBGQlNTeERRVU5VTEUxQlFVNUJMRVZCZUdKRFRpeExRWGxpU1d0Q0xFMUJRVkZETEVWQlFVVnBSeXh6UWtGNlltUndTQ3hMUVRKaVNYZEhMR0ZCUVdWc1J5eEZRVVY0UWl4VFFVVkdjVWNzUlVFdllrOHpSeXhOUVdkalJ5eE5RVUZPVFN4RlFVTkdOa1lzUlVGcVkwdHVSeXhOUVVGQlFTeExRVzFqUld0Q0xFMUJRVkZETEVWQlFVVnJSaXhQUVVWdVFpeFRRVVZHTEV0QlFVdHNSaXhGUVVGRk1rTXNWVUZEVEN4SFFYaGpUemxFTEV0QmQyTkxiMFVzVVVGaFN5eE5RVUZPT1VRc1JVRkRWR2RITEVWQmRHUkxkRWNzVFVGMVpFbHBSU3hGUVVGUlowTXNSVUZCVlROR0xFZEJkbVIwUWs0c1MwRjNaRVZ2UlN4VFFVRlhPVVFzUlVGNFpHSk9MRXRCZVdSWE5rUXNVVUY2WkZnM1JDeExRVEJrUlRaRUxGRkJRVlVzUzBFeFpGbzNSQ3hMUVRCa01FSnZSU3hSUVRGa01VSndSU3hMUVRKa1JXOUZMRkZCUVZVc1IwRXpaRnB3UlN4TFFUUmtSV3RDTEUxQlFWRkRMRVZCUVVWM1F5eFRRVVZhVEN4RlFVRmhhRVFzU1VGRGFFSnBSQ3hGUVM5a1IzWkVMRXRCSzJSblFpeHJRMEV2WkdoQ1FTeExRV2xsUld0Q0xFMUJRVkZETEVWQlFVVnJSeXg1UWtGNlFrVXNRMEZEYmtJc1IwRkJTUzlFTEVWQlFXRm9SQ3hIUVVObUxGTkJRMU5uU0N4RlFVRlRjRVFzUlVGQlZ6VkVMRWRCTTJNeFFrNHNTMEUwWTFFMlJDeFJRVFZqVWpkRUxFdEJObU5OTmtRc1VVRkJWU3hMUVVGUGRrUXNSVUUzWTNaQ1RpeExRVGhqVFd0Q0xFMUJRVkZETEVWQlFVVjNReXhSUVVWcVFrb3NSVUZvWkVOMlJDeExRV2RrYTBJc2JVTkJhR1JzUWtFc1MwRnRaRWx2UlN4UlFVRlZPVVFzUlVGblFuSkNMRk5CUlVZc1MwRkJTMkVzUlVGQlJXdEhMRzlDUVVOTUxFZEJRVWt2UkN4RlFVRmhhRVFzUjBGRFppeFRRVVZSTEUxQlFVNUJMRVZCUTBablJ5eEZRVEZsUzNSSExFMUJOR1ZNZFVRc1JVRTFaVXQyUkN4TFFUUmxZeXh4UTBGRmNrSXNVMEZGUml4TFFVRkxiVUlzUlVGQlJYRkRMRmxCUTFBc1MwRkJTM0pETEVWQlFVVTRSaXh6UWtGRFVDeExRVUZMT1VZc1JVRkJSV2xITEhOQ1FVTk1MRWxCUVVsSExFVkJRMEZETEVWQlEwb3NUMEZ5Wms5NFNDeExRWEZtVVd0Q0xFOUJRMklzUzBGQlMwTXNSVUZCUlhGRExGbEJRMHdyUkN4RlFVRmpjRWNzUlVGQlJTdENMRXRCUTJoQ2MwVXNSVUZCVXl4WFFVTlVMRTFCUlVZc1MwRkJTM0pITEVWQlFVVTRSaXh6UWtGRFRFMHNSVUZCWTNCSExFVkJRVVUwUml4dlFrRkRhRUpUTEVWQlFWTXNZMEZEVkN4TlFVVkdMRXRCUVV0eVJ5eEZRVUZGYVVjc2MwSkJRMHhITEVWQlFXTndSeXhGUVVGRk5rWXNjMEpCUTJoQ1VTeEZRVUZUTEdOQlNVZ3NUVUZCVG14SUxFZEJkR2RDUjA0c1MwRjFaMEpGZDBnc1NVRkJWME1zUlVGMlowSmlla2dzVFVGQlFVRXNTMEYzWjBKRk1FZ3NUMEZCVXl4SFFYaG5RbGd4U0N4TFFYbG5Ra1ZyUWl4TlFVRlJjVWNzUjBGRFRuUkVMRVZCTVdkQ1NtcEZMRXRCTUdkQ2JVSXdTQ3hQUVVGUGRrZ3NUMEZCVTNkSUxFVkJRV0ZETEVWQlFXRjBTQ3hIUVRGblFqZEVUaXhMUVRKblFrVXdTQ3hSUVVGVmNFZ3NSMEZGYWtKcFJDeEZRVGRuUWt0MlJDeExRVFpuUW1Nc2IwTkJOMmRDWkVFc1MwRTRaMEpGZDBnc1NVRkJWeXhKUVRsblFtSjRTQ3hMUVRoblFqQkNNRWdzVDBGQlUzQklMRVZCT1dkQ2JrTk9MRXRCSzJkQ1JUQklMRTlCUVZNc1IwRXZaMEpZTVVnc1MwRm5hRUpGYTBJc1RVRkJVWEZITEVkQlIycENMRk5CUlVZc1VVRkRSU3hOUVVGTkxFbEJRVWxOTEUxQmRHaENTRGRJTEV0QmMyaENhVUlzYTBKQmRHaENha0pCTEV0QmMyaENORU5yUWl4UFFYUm9RalZEYkVJc1MwRXdhRUpHSzBJc1ZVRXhhRUpGTDBJc1MwRXdhRUpwUWs4c2NVSkJOek5EYUVNc1UwRkJORUpvUWl4SFFVY3hRaXhKUVVaQkxFbEJRVWwxU1N4RlFVRmhReXhMUVVGTFF5eEpRVUZKTVVrc1JVRkJTVThzYTBKQlFXMUNMRWxCUXpkRGIwa3NSVUZCV1N4RlFVTlFhRWtzUlVGQlNTeEZRVUZIUXl4RlFVRkpTQ3hGUVVGUlNTeFBRVUZSUml4RlFVRkpReXhGUVVGSFJDeEpRVUZMTEVOQlF6bERMRWxCUVVscFNTeEZRVUZOTTBrc1JVRkJUMUVzUlVGQlVVVXNTVUZCU1VVc1QwRkROMElzUjBGQlNTdElMRVZCUVUxS0xFVkJTMUlzVDBGQlVTOUlMRVZCUVZGRkxFbEJRMlFzU1VGQlN5eFhRVU5JYTBrc1JVRkJWVFZKTEVkQlExWXNUVUZGUml4SlFVRkxMRkZCUTBoelJpeEZRVUZUZEVZc1JVRkJVU3hWUVVGWFFTeEZRVUZQZFVZc1QwRkRia04yUml4RlFVRlBkVVlzVFVGQlVTeEhRVU5tTEUxQlJVWXNTVUZCU3l4VFFVTklSQ3hGUVVGVGRFWXNSVUZCVVN4WFFVRlpRU3hGUVVGUGMwVXNVVUZEY0VOMFJTeEZRVUZQYzBVc1QwRkJVeXhIUVVOb1FpeE5RVVZHTEZGQlEwVTNReXhGUVVGTmVrSXNSVUZCVVN3clFrRkJhVU5STEVWQlFWRkZMRWxCUnpkRVowa3NSVUZCV1VZc1MwRkJTME1zU1VGQlNVTXNSVUZCVjBNc1IwRkhiRU1zU1VGQlNVVXNSVUZCU1RsSkxFVkJRVWxQTEd0Q1FVRnZRbTlKTEVWQlEyaERNVWtzUlVGQlQyZENMRzlDUVVGelFqWklMRVZCUVVrM1NTeEZRVUZQZDBNc1UwRTJNVU4wUTNOSExFTkJNMmhDVjNKSkxFMUJObWhDWWl4UFFUZG9RbUZCTEUxQk1YbENZbk5KTEU5QlFWRXNWMEZCYVVNc1QwRkJia0owU1N4TFFVRkxaMElzVFVGQlVTeExRVUZoYUVJc1RVRkRhRVIxU1N4TlFVRlBMRmRCUVdNc1QwRkJUM1pKTEV0QlFVczBReXhOUVVGTkxFOUJRM1pETkVZc1RVRkJUeXhYUVdwQ1ZDeEpRVUYxUW1wS0xFVkJRM0pDTkVrc1JVRkVjVUkxU1N4RlFXbENZVk1zVFVGbVlpeExRVUZxUWxRc1JVRkJUM1ZHTEZGQlExUkVMRVZCUVZOMFJpeEZRVUZSTEZWQlFWZEJMRVZCUVU5MVJpeFBRVU51UTNaR0xFVkJRVTkxUml4TlFVRlJMRWxCUlVzc1MwRkJiRUoyUml4RlFVRlBjMFVzVTBGRFZHZENMRVZCUVZOMFJpeEZRVUZSTEZkQlFWbEJMRVZCUVU5elJTeFJRVU53UTNSRkxFVkJRVTl6UlN4UFFVRlRMRTFCWVhCQ0xFbEJRMFV2UkN4RlFVRlRNa2tzVVVGQlVTeFZRVUZWTTBrc1QwRkRNMElzVFVGQlR6UkpMRWRCUTFBMVNTeEZRVUZUTEdGQlIxZ3NTVUZCU1RaSkxFVkJRV055U2l4RlFVRkpOa01zVDBGQlQzbEhMRTlCUVU4c1UwRkJWVU1zUjBGRE5VTXNUVUZCWXl4VlFVRlFRU3hIUVVGNVFpeFJRVUZRUVN4SlFVOHpRaXhUUVVGVGJFb3NSVUZCVjBnc1JVRkJVVU1zUjBGRE1VSXNTMEZCVFU4c1owSkJRV2RDVEN4SFFVTndRaXhQUVVGUExFbEJRVWxCTEVWQlFWVklMRVZCUVZGRExFZEJSeTlDU3l4RlFVRlBaMG9zVFVGQlRUbEpMRTFCUldKQkxFdEJRVXNyU1N4UlFVRlZMRWxCUVVseVNpeEZRVUZWUml4RlFVRlJReXhIUVVOeVEwOHNTMEZCUzJkS0xGVkJRVmNzUlVGRGFFSm9TaXhMUVVGTGFVb3NWVUZCVnl4RlFVVm9RaXhKUVVGSlF5eEZRVUZMYkVvc1MwRkZWRUVzUzBGQlN5dEpMRkZCUVZGSkxFMUJRVkVzVjBGRGJrSkVMRVZCUVVkb1NDeExRVUZMTEZGQlIxWnNReXhMUVVGTEswa3NVVUZCVVVzc1VVRkJWU3hUUVVGVlF5eEhRVU12UWtnc1JVRkJSMmhJTEV0QlFVc3NVVUZCVTIxSUxFZEJTV3BDU0N4RlFVRkhTQ3hSUVVGUkwwZ3NUVUZCVVN4TlFVZHlRbWhDTEV0QlFVdHpTaXhUUVVGWExFdEJSV2hDV0N4RlFVRlpXU3hSUVVGUkxGTkJRVlZXTEVkQlF6VkNkRWdzVDBGQlQybEpMR1ZCUVdWT0xFVkJRVWtzUzBGQlQwd3NSVUZCU1N4RFFVTnVRMWtzU1VGQlN5eFhRVU5JTEU5QlFVOVFMRVZCUVVkSUxGRkJRVkVzUzBGQlQwWXNTVUZGTTBKaExFbEJRVXNzVTBGQlZVTXNSMEZEWWl4SlFVRkxRU3hGUVVkSUxFOUJSa0ZVTEVWQlFVZFZMRzFDUVVGdFFtWXNSMEZEZEVKTExFVkJRVWRJTEZGQlFWRXNTMEZCVDBZc1IwRkJUV01zUlVGRGFrSkJMRVZCUlZSVUxFVkJRVWRYTEVkQlFVZG9RaXhGUVVGSll5eEpRVVZhUnl4WlFVRlpMRVZCUTFwRExHTkJRV01zVFVGTGNFSndTeXhGUVVGVk1rTXNWVUZCV1dZc1QwRkJUME1zVDBGQlR6RkNMRVZCUVU5M1F5eFZRVUZYTEVOQlEzQkVNRWdzV1VGQllTeERRVU5ZYkVRc1RVRkJUMjVJTEV0QlNWaEJMRVZCUVZVeVF5eFZRVUZWVFN4TlFVRlJMRk5CUVZWeFNDeEhRVU53UXl4SFFVRnpRaXh0UWtGQldFTXNVVUZEYTBJc2JVSkJRWEJDUVN4UFFVRlBReXhWUVVOa1JDeFBRVUZQUXl4VFFVRlRSaXhIUVVGUExFTkJRM1pDTEVsQlFVdHFTeXhMUVVGTGMwb3NVMEZCVlN4RFFVTnNRaXhKUVVGSll5eEZRVUZMTTBJc1VVRkJVU3hyUWtGQmEwSTBRaXhqUVVOdVEzSkxMRXRCUVV0elNpeFRRVUZYTEVsQlFVbGpMRVZCUVVjc1VVRkZla0pJTEVWQlFVOXFTeXhMUVVGTGMwb3NVMEZCVXpGSExFMUJRVTF4U0N4SFFVczNRaXhQUVVaQmFrc3NTMEZCU3l0SkxGRkJRVkZ1Unl4TlFVRk5jVWdzUlVGQlMyNUlMRmxCUTNoQ09VTXNTMEZCUzJ0RExFdEJRVXNzVDBGQlVTdElMRWxCUTFnc1IwRkhWSFJMTEVWQlFWVXlReXhWUVVGVlN5eEpRVUZOTEZOQlFWVkZMRWRCUzJ4RExFOUJTa2xCTEVkQlFWTkJMRVZCUVUweFF5eFJRVU5xUWtnc1MwRkJTelJETEUxQlFVMURMRWRCUldJM1F5eExRVUZMSzBrc1VVRkJVWEJITEU5QlEwNHNSMEZIVkdoRUxFVkJRVlV5UXl4VlFVRlZkVWdzUjBGQlN5eFRRVUZWYUVJc1JVRkJTWGxDTEVkQlEzSkRMRWxCUVVsd1FpeEZRVUZMYkVvc1MwRlRWQ3hQUVZKTGEwb3NSVUZCUjBnc1VVRkJVU3hMUVVGUFJpeExRVUZ2UXl4SlFVRTNRa1lzUlVGQldUUkNMRkZCUVZFeFFpeExRVU5vUkVzc1JVRkJSMGdzVVVGQlVTeExRVUZQUml4SFFVRk5MRmRCUTNSQ0xFbEJRVWt5UWl4RlFVRTBRaXhKUVVGeVFrTXNWVUZCVlhSTExFOUJRV1VzUTBGQlEzTkxMRlZCUVZVc1NVRkJUV2hITEUxQlFVMXhSU3hOUVVGTkxFdEJRVTB5UWl4WFFVTjJSVVFzUlVGQlMwVXNUMEZCVHl4RlFVRkhMRVZCUVVjM1FpeEhRVU5zUWtzc1JVRkJSMmhJTEV0QlFVczBSeXhOUVVGTlNTeEZRVUZKYzBJc1MwRkpaakZMTEVWQlFVOTNReXhWUVVGVmRVZ3NSMEZCUjJNc1MwRkJTM3BDTEVWQlFVbE1MRVZCUVVsNVFpeEpRVXN4UXl4SlFVRkpNVVlzUlVGQlVTeFZRVU5TU3l4RlFVRlZMRlZCUTFZeVJpeEZRVUZuUWl4MVEwRkRhRUpETEVWQlFXdENMR2REUVVOc1FtaEtMRVZCUVZNc1EwRkJSV2xLTEVsQlFVdEdMRVZCUVdWcVNpeE5RVUZQYTBvc1IwRlJkRU16Unl4RlFVRlpMRFJLUVVWYUswSXNSVUZCVnl4blRVRkZXREpDTEVWQlFXTXNOa3BCUTJSRUxFVkJRV0VzYVUxQlJXcENMRk5CUVZOeVJTeEZRVUZqYUVRc1IwRkRja0lzVFVGQllTeE5RVUZPUVN4SFFVRnRRaXhQUVVGT1FTeEhRVUZ2UWl4UFFVRk9RU3hIUVVGdlFpeFBRVUZPUVN4RlFVZHNSQ3hUUVVGVE5rVXNSVUZCVXpkRkxFZEJRMmhDTEUxQlFXRXNUVUZCVGtFc1IwRkJiVUlzVFVGQlRrRXNSVUZIZEVJc1UwRkJVelpITEVWQlFXRTNSeXhIUVVOd1FpeE5RVUZoTEUxQlFVNUJMRWRCUVdGblJDeEZRVUZoYUVRc1IwRkhia01zVTBGQlV6SkVMRVZCUVZNNFJ5eEZRVUZQZWtzc1IwRkRka0lzVDBGQlQzbExMRVZCUVUxRExFdEJRVXN4U3l4SFFVZHdRaXhUUVVGVFowZ3NSVUZCVlhsRUxFVkJRVTk2U3l4SFFVTjRRaXhQUVVGUk1rUXNSVUZCVVRoSExFVkJRVTk2U3l4SFFVZDZRaXhKUVhkeVExRXlTeXhGUVVOQlF5eEZRVU5CUXl4RlFURnlRMHBvU3l4RlFVRkpMRVZCYzFSU0xFbEJRVXNzU1VGQlNXbExMRXRCY2xSVU9Vd3NSVUZCU1N0TUxFMUJRVkVzUTBGRFZtcExMRTFCUVU5RUxFbEJRMUEyUWl4cFFrRkJhMEkzUWl4SlFVTnNRaXRDTEV0QlFVMHZRaXhKUVVOT2NVTXNXVUZCWVhKRExFbEJRMkp6UXl4VlFVRlhkRU1zU1VGRFdEUkRMRlZCUVZjMVF5eEpRVU5ZYVVVc2FVSkJRV3RDYWtVc1NVRkRiRUk0UkN4UlFVRlRPVVFzU1VGRFZHMUZMR1ZCUVdkQ2JrVXNTVUZEYUVKclJTeFpRVUZoYkVVc1NVRkRZbTlGTEcxQ1FVRnZRbkJGTEVsQlEzQkNiVXNzYVVKQlFXdENia3NzU1VGRGJFSTBSQ3hSUVVGVE5VUXNTVUZEVkhGRkxHVkJRV2RDY2tVc1NVRkRhRUp6UlN4alFVRmxkRVVzU1VGRFpubEVMRTFCUVU5NlJDeEpRVU5RZDBVc1lVRkJZM2hGTEVsQlEyUjVSU3hsUVVGblFucEZMRWxCUTJoQ2EwUXNWVUZCVjJ4RUxFbEJRMWd5UlN4bFFVRm5Rak5GTEVsQlEyaENNRVVzYVVKQlFXdENNVVVzU1VGRGJFSm5SQ3hUUVVGVmFFUXNTVUZEVm1sR0xHVkJRV2RDYWtZc1NVRkRhRUpyUml4UFFVRlJiRVlzU1VGRFVuTkdMRmxCUVdGMFJpeEpRVU5pZVVZc2MwSkJRWFZDZWtZc1NVRkRka0oxUml4aFFVRmpka1lzU1VGRFpEUkdMRzlDUVVGeFFqVkdMRWxCUTNKQ0swWXNiMEpCUVhGQ0wwWXNTVUZEY2tJMlJpeHpRa0ZCZFVJM1JpeEpRVU4yUWpoR0xITkNRVUYxUWpsR0xFbEJRM1pDYVVjc2MwSkJRWFZDYWtjc1NVRkRka0l5UXl4VlFVRlhNME1zU1VGRFdHdEhMRzlDUVVGeFFteEhMRWxCUTNKQ2QwTXNUMEZCVVhoRExFbEJRMUo1UXl4alFVRmxla01zUzBGSGFrSTNRaXhGUVVGSmJVTXNZVUZCWlN4RFFVTnFRamhLTEVsQlFVOHNTVUZEVUVNc1IwRkJUU3hKUVVOT1F5eEhRVUZOTEVsQlEwNURMRXRCUVZFc1NVRkRVa01zUzBGQlVTeExRVWRXY2swc1JVRkJTV2RETEZOQlFWY3NRMEZEWW1sTExFbEJRVThzU1VGRFVFTXNSMEZCVFN4SlFVTk9ReXhIUVVGTkxFbEJRMDVETEV0QlFWRXNTVUZEVWtNc1MwRkJVU3hKUVVOU1F5eE5RVUZUTEVsQlExUkRMRTlCUVZVc1NVRkRWa01zVFVGQlV5eEpRVU5VUXl4UFFVRlZMRWxCUTFaRExFMUJRVk1zU1VGRFZFTXNUMEZCVlN4SlFVTldReXhMUVVGUkxFbEJRMUpETEU5QlFWVXNTVUZEVmtNc1NVRkJUeXhKUVVOUVF5eFBRVUZWTEVsQlExWkRMRTFCUVZNc1NVRkRWRU1zVDBGQlZTeEpRVU5XUXl4TFFVRlJMRWxCUTFKRExFOUJRVlVzU1VGRFZrTXNUVUZCVXl4SlFVTlVReXhQUVVGVkxFbEJRMVpETEV0QlFWRXNTVUZEVWtNc1QwRkJWU3hKUVVOV1F5eFBRVUZWTEVsQlExWkRMRTFCUVZNc1NVRkRWRU1zVDBGQlZTeEpRVU5XUXl4UFFVRlZMRWxCUTFaRExFOUJRVlVzU1VGRFZrTXNTMEZCVVN4SlFVTlNReXhOUVVGVExFbEJRMVJETEU5QlFWVXNTVUZEVmtNc1RVRkJVeXhKUVVOVVF5eFBRVUZWTEVsQlExWkRMRXRCUVZFc1NVRkRVa01zVDBGQlZTeEpRVU5XUXl4UFFVRlZMRWxCUTFaRExFMUJRVk1zU1VGRFZFTXNUVUZCVXl4SlFVTlVReXhQUVVGVkxFbEJRMVpETEUxQlFWTXNTVUZEVkVNc1QwRkJWU3hKUVVOV1F5eExRVUZSTEVsQlExSkRMRTlCUVZVc1NVRkRWa01zVDBGQlZTeEpRVU5XUXl4TlFVRlRMRWxCUTFSRExFOUJRVlVzU1VGRFZrTXNTVUZCVHl4SlFVTlFReXhMUVVGUkxFbEJRMUpETEU5QlFWVXNTVUZEVmtNc1RVRkJVeXhKUVVOVVF5eFBRVUZWTEVsQlExWkRMRXRCUVZFc1NVRkRVa01zVDBGQlZTeEpRVU5XUXl4UFFVRlZMRWxCUTFaRExFMUJRVk1zU1VGRFZFTXNUMEZCVlN4SlFVTldReXhQUVVGVkxFbEJRMVpETEU5QlFWVXNTVUZEVmtNc1MwRkJVU3hKUVVOU1F5eE5RVUZUTEVsQlExUkRMRTFCUVZNc1NVRkRWRU1zVDBGQlZTeEpRVU5XUXl4TlFVRlRMRWxCUTFSRExFOUJRVlVzU1VGRFZrTXNTMEZCVVN4SlFVTlNReXhQUVVGVkxFbEJRMVpETEV0QlFWRXNTVUZEVWtNc1MwRkJVU3hKUVVOU1F5eEpRVUZQTEVsQlExQkRMRXRCUVZFc1NVRkRVa01zVFVGQlV5eEpRVU5VUXl4TFFVRlJMRWxCUTFKRExFMUJRVk1zU1VGRFZFTXNUMEZCVlN4SlFVTldReXhKUVVGUExFbEJRMUJETEU5QlFWVXNTVUZEVmtNc1MwRkJVU3hKUVVOU1F5eEpRVUZQTEVsQlExQkRMRXRCUVZFc1NVRkRVa01zVFVGQlV5eEpRVU5VUXl4SlFVRlBMRWxCUTFCRExFbEJRVThzU1VGRFVFTXNTMEZCVVN4SlFVTlNReXhKUVVGUExFbEJRMUJETEU5QlFWVXNTVUZEVmtNc1MwRkJVU3hKUVVOU1F5eExRVUZSTEVsQlExSkRMRXRCUVZFc1NVRkRVa01zVFVGQlV5eEpRVU5VUXl4TlFVRlRMRWxCUTFSRExFdEJRVkVzU1VGRFVrTXNUMEZCVlN4SlFVTldReXhOUVVGVExFbEJRMVJETEV0QlFWRXNTVUZEVWtNc1RVRkJVeXhKUVVOVVF5eFBRVUZWTEVsQlExWkRMRTlCUVZVc1NVRkRWa01zVDBGQlZTeEpRVU5XUXl4UFFVRlZMRWxCUTFaRExFMUJRVk1zU1VGRFZFTXNUMEZCVlN4SlFVTldReXhOUVVGVExFbEJRMVJETEUxQlFWTXNTVUZEVkVNc1QwRkJWU3hKUVVOV1F5eFBRVUZWTEVsQlExWkRMRXRCUVZFc1NVRkRVa01zUzBGQlVTeEpRVU5TUXl4TFFVRlJMRWxCUTFKRExFMUJRVk1zU1VGRFZFTXNUVUZCVXl4SlFVTlVReXhMUVVGUkxFbEJRMUpETEUxQlFWTXNTVUZEVkVNc1RVRkJVeXhKUVVOVVF5eFJRVUZYTEVsQlExaERMRXRCUVZFc1NVRkRVa01zU1VGQlR5eEpRVU5RUXl4TlFVRlRMRWxCUTFSRExFdEJRVkVzU1VGRFVrTXNUVUZCVXl4SlFVTlVReXhQUVVGVkxFbEJRMVpETEVkQlFVMHNTVUZEVGtNc1IwRkJUU3hKUVVOT1F5eEhRVUZOTEVsQlEwNURMRkZCUVZjc1NVRkRXRU1zUjBGQlRTeEpRVU5PUXl4SlFVRlBMRWxCUTFCRExFMUJRVk1zU1VGRFZFTXNTVUZCVHl4SlFVTlFReXhSUVVGWExFbEJRMWhETEVsQlFVOHNTVUZEVUVNc1NVRkJUeXhKUVVOUVF5eEpRVUZQTEVsQlExQkRMRTFCUVZNc1NVRkRWRU1zVFVGQlV5eEpRVU5VUXl4TFFVRlJMRWxCUTFKRExFMUJRVk1zU1VGRFZFTXNUVUZCVXl4SlFVTlVReXhSUVVGWExFbEJRMWhETEV0QlFWRXNTVUZEVWtNc1NVRkJUeXhKUVVOUVF5eE5RVUZUTEVsQlExUkRMRXRCUVZFc1NVRkRVa01zVFVGQlV5eEpRVU5VUXl4UFFVRlZMRWxCUTFaRExFZEJRVTBzU1VGRFRrTXNSMEZCVFN4SlFVTk9ReXhIUVVGTkxFbEJRMDVETEZGQlFWY3NTVUZEV0VNc1IwRkJUU3hKUVVOT1F5eEpRVUZQTEVsQlExQkRMRTlCUVZVc1NVRkRWa01zVFVGQlV5eEpRVU5VUXl4SlFVRlBMRWxCUTFCRExGRkJRVmNzU1VGRFdFTXNTVUZCVHl4SlFVTlFReXhKUVVGUExFbEJRMUJETEVsQlFVOHNTVUZEVUVNc1RVRkJVeXhKUVVOVVF5eFRRVUZaTEVsQlExcERMRTFCUVZNc1NVRkRWRU1zU1VGQlR5eEpRVU5RUXl4TFFVRlJMRXRCUTFKRExFdEJRVkVzUzBGRFVrTXNUMEZCVlN4TFFVTldReXhMUVVGUkxFdEJRMUpETEVsQlFVOHNTMEZEVUVNc1NVRkJUeXhMUVVOUVF5eEpRVUZQTEV0QlExQkRMRTFCUVZNc1MwRkRWRU1zVFVGQlV5eExRVU5VUXl4TlFVRlRMRXRCUTFSRExFMUJRVk1zUzBGRFZFTXNUVUZCVXl4TFFVTlVReXhOUVVGVExFdEJRMVJETEUxQlFWTXNTMEZEVkVNc1RVRkJVeXhMUVVOVVF5eFBRVUZWTEV0QlExWkRMRTlCUVZVc1MwRkRWa01zUzBGQlVTeExRVU5TUXl4UFFVRlZMRXRCUTFaRExFOUJRVlVzUzBGRFZrTXNUVUZCVXl4TFFVTlVReXhOUVVGVExFdEJRMVJETEU5QlFWVXNTMEZEVmtNc1QwRkJWU3hMUVVOV1F5eE5RVUZUTEV0QlExUkRMRTFCUVZNc1MwRkRWRU1zUzBGQlVTeExRVU5TUXl4TlFVRlRMRXRCUTFSRExFOUJRVlVzUzBGRFZrTXNTMEZCVVN4TFFVTlNReXhOUVVGVExFdEJRMVJETEZGQlFWY3NTMEZEV0VNc1MwRkJVU3hMUVVOU1F5eExRVUZSTEV0QlExSkRMRXRCUVZFc1MwRkRVa01zUzBGQlVTeExRVU5TUXl4TFFVRlJMRXRCUTFKRExFMUJRVk1zUzBGRFZFTXNTMEZCVVN4TFFVTlNReXhMUVVGUkxFdEJRMUpETEV0QlFWRXNTMEZEVWtNc1MwRkJVU3hMUVVOU1F5eExRVUZSTEV0QlExSkRMRTlCUVZVc1MwRkRWa01zUzBGQlVTeExRVU5TUXl4TlFVRlRMRXRCUTFSRExFMUJRVk1zUzBGRFZFTXNUVUZCVXl4TFFVTlVReXhMUVVGUkxFdEJRMUpETEUxQlFWTXNTMEZEVkVNc1IwRkJUU3hMUVVOT1F5eExRVUZSTEV0QlExSkRMRWxCUVU4c1MwRkRVRU1zVFVGQlV5eExRVU5VUXl4UFFVRlZMRXRCUTFaRExFMUJRVk1zUzBGRFZFTXNTMEZCVVN4TFFVTlNReXhOUVVGVExFdEJRMVJETEVsQlFVOHNTMEZEVUVNc1NVRkJUeXhMUVVOUVF5eEhRVUZOTEV0QlEwNURMRWxCUVU4c1MwRkRVRU1zU1VGQlR5eExRVU5RUXl4SlFVRlBMRXRCUTFCRExFOUJRVlVzUzBGRFZrTXNTVUZCVHl4TFFVTlFReXhMUVVGUkxFdEJRMUpETEUxQlFWTXNTMEZEVkVNc1IwRkJUU3hMUVVOT1F5eE5RVUZUTEV0QlExUkRMRWRCUVUwc1MwRkRUa01zUjBGQlRTeExRVU5PUXl4SlFVRlBMRXRCUTFCRExFbEJRVThzUzBGRFVFTXNTMEZCVVN4TFFVTlNReXhMUVVGUkxFdEJRMUpETEV0QlFWRXNTMEZEVWtNc1RVRkJVeXhMUVVOVVF5eFBRVUZWTEV0QlExWkRMRXRCUVZFc1MwRkRVa01zUzBGQlVTeExRVU5TUXl4TlFVRlRMRXRCUTFSRExFMUJRVk1zUzBGRFZFTXNUMEZCVlN4TFFVTldReXhQUVVGVkxFdEJRMVpETEV0QlFWRXNTMEZEVWtNc1MwRkJVU3hMUVVOU1F5eEpRVUZQTEV0QlExQkRMRTlCUVZVc1MwRkRWa01zVFVGQlV5eExRVU5VUXl4UFFVRlZMRXRCUTFaRExFMUJRVk1zVFVGSFdEVmFMRTlCUVU5blFpeExRVUZMYWtRc1JVRkJTV2RETEZWQlFWVnBTU3hSUVVGUkxGTkJRVlUyVWl4SFFVTXhReXhKUVVGSlF5eEZRVUZKTDJJc1JVRkJTV2RETEZOQlFWTTRXaXhIUVVOcVFtaFJMRVZCUVdsQ0xHbENRVUZPYVZFc1JVRkJhVUpETEU5QlFVOURMR0ZCUVdGR0xFZEJRVXRCTEVWQlEzcEVMMklzUlVGQlNXZERMRk5CUVZNNFdpeEhRVUZQYUZFc1NVRkhVamxNTEVWQlFVa3JUQ3hOUVVOb1FpOU1MRVZCUVVrclRDeE5RVUZOTDB3c1JVRkJTU3RNTEUxQlFVMUVMRWxCUVUxQkxFVkJUVFZDTEZOQlFWTnNTaXhGUVVGTk0wTXNSVUZCVVdsakxFVkJRVTkyVWl4SFFVTTFRakZMTEVWQlFVOXBZeXhKUVVGVmFtTXNSVUZCVDJsakxFZEJRVTkyVWl4SFFVZHFReXhUUVVGVGNFWXNSVUZCVlhSR0xFVkJRVkZyWXl4RlFVRlZlRklzUjBGREwwSXhTeXhGUVVGUE5rUXNWVUZCVlN0RkxFVkJRVlUxU1N4SFFVTXZRakpETEVWQlFVc3pReXhGUVVGUmEyTXNSVUZCVlhoU0xFZEJSM3BDTEZOQlFWTTVRaXhGUVVGWE5Va3NSMEZEYkVKQkxFVkJRVTgyUkN4VFFVRlhjME1zUlVGQlUyNUhMRVZCUVU5RkxFbEJRVXRHTEVWQlFVODJSQ3hWUVVNeFF6ZEVMRVZCUVU4MlJDeFZRVUZWYkVJc1JVRkJTek5ETEVWQlFWRXNVMEZCVlVFc1JVRkJUelpFTEZWQlEyNUVOMFFzUlVGQlR6WkVMRk5CUVZjc1IwRkhjRUlzVTBGQlUzTkRMRVZCUVZWcVJ5eEZRVUZMYVdNc1IwRkhkRUlzVDBGR1NXcGpMRVZCUVVscll5eFBRVUZOUkN4RlFVRlBRU3hGUVVGTFF5eFJRVU4wUW14akxFVkJRVWx0WXl4WlFVRlhSaXhGUVVGUFFTeEZRVUZMUnl4UlFVRlJMRTlCUVZFc1RVRkRlRU5JTEVWQlIxUXNVMEZCVXpGaExFVkJRVTk2UWl4RlFVRlJPRW9zUjBGVmRFSXNUMEZVUVd4Q0xFVkJRVlUxU1N4SFFVTk9RU3hGUVVGUGRVTXNaMEpCUTFSMVNDeEhRVUZOTEZkQlFXRTVTaXhGUVVGUGVVTXNTMEZEZUVJc1lVRkJaWHBETEVWQlFVOHdReXhQUVVOMFFpeFhRVUZoTVVNc1JVRkJUMlVzUjBGRmVFSXJTU3hGUVVGTExFbEJRVWw0UWl4TlFVRk5kMElzUjBGRFpqbEtMRVZCUVU5NVFpeE5RVUZSY1Vrc1JVRkRabTVJTEVWQlFVc3pReXhGUVVGUkxGVkJRVmM0U2l4SFFVTnFRamxLTEVWQlIxUXNVMEZCVTI5RUxFVkJRVXR3UkN4SFFWbGFMRTlCV0VsQkxFVkJRVTkxUWl4VlFVRlpka0lzUlVGQlQzTkNMRmxCUVZrd1F5eEZRVUZYYUVVc1JVRkJVU3h4UWtGRGVFUkJMRVZCUVU4eVFpeFJRVUZWUXl4RlFVRkZReXhQUVVOeVFqZENMRVZCUVU4eVFpeFJRVUZWUXl4RlFVRkZOa0lzYTBKQlEyNUNla1FzUlVGQlR6SkNMRkZCUVZWRExFVkJRVVVyUWl4TlFVTndRbXhETEVWQlFVMTZRaXhGUVVGUkxHdENRVVZvUWpSSkxFVkJRVlUxU1N4SFFVTldRU3hGUVVGUFpTeEZRVUZKTEVkQlExaG1MRVZCUVU5eFFpeFJRVUZUTEVWQlEyaENjMElzUlVGQlN6TkRMRVZCUVZFc1UwRkRZa2NzUlVGQlZXbE1MRXRCUVV0d1RDeEZRVUZSUVN4RlFVRlBReXhQUVVGUlJDeEZRVUZQUlN4TFFVTjBRMFlzUlVGSFZDeFRRVUZUWjBVc1JVRkJXV2hGTEVWQlFWRjFZeXhIUVVNelFpeEhRVUZ6UWl4cFFrRkJXSFpqTEV0QlFYbENRU3hoUVVGclFrY3NSMEZEY0VRc1RVRkJUU3hKUVVGSmJVa3NUVUZCVFN3d1FrRkZaSFJKTEVWQlFVOURMRkZCUTFSM1FpeEZRVUZOZWtJc1JVRkJVWFZqTEVkQlNXeENMRk5CUVZNMVZpeEZRVUZSTTBjc1IwRkRWa0VzUlVGQlQwTXNVMEZCVVVRc1JVRkJUelpGTEZGQlFWVTNSU3hGUVVGUE5rVXNVVUZCVVRkRkxFVkJRVTl0UWl4alFVTXpSQ3hKUVVGSmNXSXNSVUZCVTNoakxFVkJRVTl2UWl4TFFVRkxjRUlzUlVGQlQyOUNMRXRCUVV0U0xFOUJRVk1zU1VGQlRWb3NSVUZEYUVSM1FpeEZRVUZOZUVJc1JVRkJUM2RDTEVsQlFVMHNRMEZCUldkR0xFdEJRVTE0Unl4RlFVRlBOa1VzVVVGQlUzbERMRmRCUVZrc1NVRkhka1IwU0N4RlFVRlBSU3hKUVVGSmEwTXNVVUZEWWxvc1JVRkJTV0VzUjBGQlMyMWhMRVZCUVU5dVlTeEpRVVZzUW5KRExFVkJRVTl0UXl4WFFVRlhka0lzVDBGQlV5eEZRVU16UWpCRkxFVkJRVk4wUml4RlFVRlJMR2xDUVVGclFuZENMRWRCUjNKRExGTkJRVk5wWWl4RlFVRlBhbGNzUlVGQlRXdFhMRWRCUTNCQ0xFbEJRMGxETEVWQlJFbHVWeXhGUVVGTGQwVXNVVUZCVVN4TFFVTkdMRVZCUVVrc1EwRkJSU3hIUVVGSmVFVXNSMEZCVTBFc1JVRkJTMjlYTEUxQlFVMHNTMEZETjBORExFVkJRVk5HTEVWQlFWTXNSMEZEYkVKSExFVkJRVkZJTEVWQlFWTXNSMEZSY2tJc1QwRk1TVVFzUjBGQmMwSXNWVUZCVkd4WExFbEJRMlp4Vnl4RlFVRlRMRkZCUTFSRExFVkJRVkVzU1VGSFNDeERRVUZGUkN4UFFVRlJRU3hGUVVGUlF5eE5RVUZQUVN4SFFVZHNReXhUUVVGVE1WWXNSVUZCVVhCSUxFZEJTMllzUjBGS1MwRXNSVUZCVDBNc1UwRkRWa1FzUlVGQlQyZElMRmRCUVdGb1NDeEZRVUZQWjBnc1YwRkJWMmhJTEVWQlFVOXRRaXhsUVVkUExFbEJRV3hFYmtJc1JVRkJUMjFETEZkQlFWYzJTU3hSUVVGUmFFd3NSVUZCVDJkSUxHRkJRMjVEYUVnc1JVRkJUM2RDTEVsQlFVazRSaXhYUVVGWGNFVXNaVUZCWld4RUxFVkJRVTluU0N4WlFVTTFRMmhJTEVWQlFVOW5TQ3hYUVVGaGFFZ3NSVUZCVDJsSUxGbEJRV01zVDBGR00wTXNRMEZOUVN4SFFVRkpha2dzUlVGQlQwVXNTVUZCU1d0RExFMUJRVThzUTBGRGNFSXNTVUZCU1RKaExFVkJRVXRPTEVWQlFVMTZZeXhGUVVGUFowZ3NXVUZCV1N4SFFVTTVRalpXTEVWQlFWTkZMRVZCUVVkR0xFOUJRMXBETEVWQlFWRkRMRVZCUVVkRUxFMUJSV1lzUjBGQlpTeFZRVUZZUkN4RlFVVkdMRWRCUVdNc1VVRkJWa01zUjBGQmJVSTVZeXhGUVVGUGFVZ3NZMEZCWjBKdlJTeEZRVU0xUTNKSUxFVkJRVmRvUlN4RlFVTlVMR2REUVVGclEzRk1MRVZCUVdkQ0xHRkJRM0pEY2t3c1JVRkJUMmxJTEd0Q1FVTnFRaXhIUVVGakxGVkJRVlkyVml4SFFVRnhRamxqTEVWQlFVOXBTQ3hqUVVGblFuRkZMRVZCUTNKRWRFZ3NSVUZCVjJoRkxFVkJRMVFzYTBOQlFXOURjMHdzUlVGQmEwSXNZVUZEZWtOMFRDeEZRVUZQYVVnc2FVSkJRMnBDTEVOQlEwd3NTVUZCU1hwR0xFVkJRVTE0UWl4RlFVRlBkMElzU1VGRFltZGlMRVZCUVZONFl5eEZRVUZQYjBJc1MwRkJTM0JDTEVWQlFVOXZRaXhMUVVGTFVpeFBRVUZUTEVsQlFVMWFMRVZCUTJoRWQwSXNSVUZCU1dFc1MwRkJUMjFoTEVWQlFVOXVZU3hMUVVOd1FtSXNSVUZCU1dFc1IwRkJTMHdzVDBGQlQwTXNUMEZCVDNWaExFVkJRVTl1WVN4TFFVVm9RMklzUlVGQlNXRXNSMEZCUjNsaExFZEJRVk01WXl4RlFVRlBhVWdzV1VGUE0wSnFTQ3hGUVVGUGJVTXNWMEZCVjJkQ0xFdEJRVXNzUTBGQlEyNUVMRVZCUVU5blNDeFhRVUZaYUVnc1JVRkJUMmxJTEcxQ1FVZHNSR3BJTEVWQlFVOTNRaXhKUVVGSk9FWXNWMEZCVjNSSUxFVkJRVTluU0N4WlFVRmphRWdzUlVGQlQybElMRmxCUTJ4RU0wSXNSVUZCVTNSR0xFVkJRVkVzWTBGQlpTeERRVU01UW5kSExFdEJRVTE0Unl4RlFVRlBaMGdzVjBGRFlrOHNUVUZCVDNaSUxFVkJRVTlwU0N4alFVbHNRbXBJTEVWQlFVOW5TQ3hYUVVGaGFFZ3NSVUZCVDJsSUxGbEJRV01zU1VGSE0wTXNVMEZCVTB3c1JVRkJVelZITEVWQlFWRm5aQ3hIUVVONFFpeEhRVUZKYUdRc1JVRkJUMFVzU1VGQlNXdERMRTFCUVU4c1EwRkZjRUlzU1VGQlNWb3NSVUZCVFhoQ0xFVkJRVTkzUWl4SlFVZGlkV0lzUlVGQlMwNHNSVUZCVFhwakxFVkJRVTgyUlN4VFFVTjBRbkpFTEVWQlFVbHhZaXhQUVVGVFJTeEZRVUZIUml4UFFVTm9RbkppTEVWQlFVbHpZaXhOUVVGUlF5eEZRVUZIUkN4TlFVTm1kR0lzUlVGQlNYbGlMRWxCUVUxNllpeEZRVUZKWVN4SFFVRkhNR0VzUlVGQlIwWXNVMEZCVnl4SFFVVXpRbkppTEVWQlFVbHhZaXhUUVVGWGNtSXNSVUZCU1hsaUxFMUJRM0pDYWxvc1JVRkJWMmhGTEVWQlFWRXNOa0pCUTJwQ2EyUXNTMEZCUzBNc1ZVRkJWVzVrTEVWQlFVODJSU3hWUVVONFFuSkVMRVZCUVVsNVlpeEpRVUZOUml4RlFVRkhSaXhSUVVkbUxFbEJRVWxNTEVWQlFWTjRZeXhGUVVGUGIwSXNTMEZCUzNCQ0xFVkJRVTl2UWl4TFFVRkxVaXhQUVVGVExFbEJRVTFhTEVWQlEyaEVkMElzUlVGQlNXRXNTVUZCVFcxaExFVkJRVTl1WVN4TFFVRlBZaXhGUVVGSllTeEpRVU01UWt3c1QwRkJUMmRDTEV0QlFVdDRRaXhGUVVGSllTeEpRVUZKTWtnc1VVRkJVU3hUUVVGVmIxUXNSMEZEY0VNNVdDeEZRVUZUZEVZc1JVRkJVU3hyUWtGQmJVSXNRMEZEYkVNMll5eFBRVUZSVHl4RlFVTlNTQ3hKUVVGTGVtSXNSVUZCU1dFc1IwRkJSeXRoTEU5QlVXeENMRWxCUVVzc1NVRkJTVEZqTEVWQlFVa3NSVUZCUjBNc1JVRkJTVmdzUlVGQlQyMURMRmRCUVZkMlFpeFBRVUZSUml4RlFVRkpReXhGUVVGSFJDeEpRVUZMTEVOQlEzaEVMRWxCUVVreVl5eEZRVUZMY21Rc1JVRkJUMjFETEZkQlFWZDZRaXhIUVVOMlFqaEdMRVZCUVU4MlZ5eEZRVUZITEVkQlExWTVWaXhGUVVGUk9GWXNSVUZCUnl4SFFVTllWaXhGUVVGWFJpeEZRVUZOYWxjc1IwRkJUU3hIUVVOMlFuRlhMRVZCUVZOR0xFVkJRVk5GTEU5QlEyeENReXhGUVVGUlNDeEZRVUZUUnl4TlFVTnFRa2NzUlVGQmFVSXNTMEZCV0Vvc1JVRkJaMElzUjBGQlRYSmlMRVZCUVVsaExFZEJRVWQzWVN4SlFVRlhMRWRCUXpsRE5Wb3NSVUZCU1N4RFFVTk9kVVFzUzBGQlRVRXNSVUZEVG1Vc1RVRkJUMEVzUlVGRFVITldMRTlCUVZGQkxFVkJRMUpETEUxQlFVOUJMRVZCUTFCSExFbEJRVXRCTEVkQlMwaEtMRWRCUVhGQ0xGVkJRVmhCTEVsQlFYVkNTU3hKUVVOdVEycGFMRVZCUVZkb1JTeEZRVUZSTERaQ1FVTnFRbXRrTEV0QlFVdERMRlZCUVZWT0xFbEJRMnBDTlZvc1JVRkJSV2RoTEVsQlFVMUtMRWRCUlZZM1l5eEZRVUZQZDBJc1NVRkJTVGhHTEZkQlFWZGtMRWRCUVZGMlJDeEZRVU01UW5GRExFVkJRVk4wUml4RlFVRlJMR05CUVdWcFJDeEhRVVZzUTJwRUxFVkJRVTl0UXl4WFFVRlhka0lzVDBGQlV5eEZRVWMzUWxvc1JVRkJUM2RDTEVsQlFVazRZaXhuUWtGQmEwSk9MRVZCUnpkQ2FHUXNSVUZCVDNWQ0xGTkJRVlVzUlVGRGFrSjJRaXhGUVVGUGIwSXNTMEZCU3l0Q0xFdEJRVXR1UkN4RlFVRlBkMElzUzBGRGVFSTRSQ3hGUVVGVGRFWXNSVUZCVVN4WlFVRmhRU3hGUVVGUGQwSXNTMEZEYUVOM1lpeEpRVVZGYUdRc1JVRkJUekJDTEZWQlFUWkRMRmRCUVdwRE1VSXNSVUZCVHpaRkxGRkJRVkV3V1N4alFVZHlRM1prTEVWQlFVOHlRaXhOUVVGUlF5eEZRVUZGSzBJc1MwRkdha0l6UkN4RlFVRlBNa0lzVFVGQlVVTXNSVUZCUlhkRExFOUJTVzVDY0VVc1JVRkJUM2RDTEVsQlFVMHNTMEZEWW5oQ0xFVkJRVTgyUlN4UlFVRlZMRWxCUlc1Q04wVXNSVUZCVDJkSUxGZEJRV0ZvU0N4RlFVRlBhVWdzV1VGQll5eEhRVU42UTJwSUxFVkJRVTl0UXl4WFFVRlhka0lzVDBGQlV5eEZRVWMzUWl4VFFVRlRiVWNzUlVGQlZTOUhMRWRCUTJwQ0xFbEJRVXRCTEVWQlFVODJSU3hSUVVsV0xFOUJTRUZpTEVWQlFWZG9SU3hGUVVGUkxEQkNRVU51UWtFc1JVRkJUelpFTEZWQlFWa3NWMEZEYmtJM1JDeEZRVUZQTWtJc1RVRkJVVU1zUlVGQlJTdENMRTFCU1c1Q0xFZEJRVWt6UkN4RlFVRlBjMFVzVDBGQlVTeERRVU5xUWl4SFFVRjFRaXhYUVVGdVFuUkZMRVZCUVU4MlJTeFJRVWxVTEU5QlNFRTNSU3hGUVVGUGMwVXNVVUZCVlN4TFFVRlBkRVVzUlVGQlR6WkZMRkZCUVZVc1NVRkRla00zUlN4RlFVRlBOa1VzVVVGQlZTeFJRVU5xUWpkRkxFVkJRVTh5UWl4TlFVRlJReXhGUVVGRmQwTXNVVUZIYmtKclFpeEZRVUZUZEVZc1JVRkJVU3hYUVVGWlFTeEZRVUZQYzBVc1VVRkRjRU4wUlN4RlFVRlBjMFVzVDBGQlV5eEhRVXRzUWl4SlFVRkphMW9zUlVGQlNYaGtMRVZCUVU5dlFpeExRVUZMVWl4UFFVTm9RbWxGTEVWQlFWVTNSU3hGUVVGUE5rVXNVVUZEYUVJM1JTeEZRVUZQUXl4VFFVTldORVVzUlVGQlZVRXNSVUZCVVRkRkxFVkJRVTl0UWl4alFVY3pRaXhKUVVSQkxFbEJRVWx6WXl4RlFVRlZOVmtzUlVGRFVESlpMRXRCUVVzc1EwRkZWaXhIUVVSWmVHUXNSVUZCVDI5Q0xFdEJRVXR2WXl4SFFVTmthRmdzVDBGQlUybFlMRVZCU1dwQ0xFMUJSa0Y2V2l4RlFVRlhhRVVzUlVGQlVTeDNRa0ZQZGtJc1IwRkJTWGRrTEVWQlFVa3NSVUZKVGl4UFFVaEJlRm9zUlVGQlYyaEZMRVZCUVZFc01FSkJRVFJDUVN4RlFVRlBOa1VzVTBGRGRFUTNSU3hGUVVGUE5rUXNWVUZCV1N4TFFVRlBOMFFzUlVGQlR6WkZMRkZCUVZVc1UwRkRNME0zUlN4RlFVRlBNa0lzVFVGQlVVTXNSVUZCUlN0Q0xFMUJSMjVDTTBRc1JVRkJUelpGTEZGQlFWVkJMRVZCUldwQ0xFbEJSRUVzU1VGQlNXZElMRVZCUVVrM1RDeEZRVUZQYjBJc1MwRkJTMUlzVDBGRFltbE1MRXRCUVUweVVpeEhRVUZITEVOQlEyUXNTVUZCU1doakxFVkJRVTE0UWl4RlFVRlBkMElzU1VGQlRYaENMRVZCUVU5dlFpeExRVUZMYzJNc1RVRkRia014WkN4RlFVRlBOa1VzVVVGQlZUZEZMRVZCUVU5M1FpeEpRVUZKWjBZc1MwRkROVUpzUWl4RlFVRlRkRVlzUlVGQlVTeGhRVUZqUVN4RlFVRlBOa1VzVTBGRmRFTXNTVUZCU1RoWkxFVkJRVWtzUjBGRFVpeEpRVUZMTEVsQlFVbHFaQ3hMUVVGTFl5eEZRVUZKWVN4SFFVTm9Rbk5pTEVWQlFVVnFaQ3hIUVVGTFl5eEZRVUZKWVN4SFFVRkhNMElzUjBGSGFFSXNTVUZCU1RoaUxFVkJRVk40WXl4RlFVRlBiMElzUzBGQlMzQkNMRVZCUVU5dlFpeExRVUZMVWl4UFFVRlRMRWxCUVUxYUxFVkJRMmhFUVN4RlFVRlBSU3hKUVVGSmEwTXNUMEZCVTFvc1JVRkJTV0VzUzBGQlQyMWhMRVZCUVU5dVlTeEpRVVY0UTB3c1QwRkJUMmRDTEV0QlFVdDRRaXhGUVVGSllTeEpRVUZKTWtnc1VVRkJVU3hUUVVGVmIxUXNSMEZEY0VNc1NVRkJTVkVzUlVGQlNYQmpMRVZCUVVsaExFZEJRVWNyWVN4SFFVTm1PVmdzUlVGQlUzUkdMRVZCUVZFc2JVSkJRVzlDTEVOQlFVVTJZeXhQUVVGUlR5eEZRVUZIU0N4SlFVRkxWeXhOUVVsdVJDeEpRVUZPU2l4SlFVRlRlR1FzUlVGQlQzTkNMRmxCUVdFc1IwRkRha04wUWl4RlFVRlBOa1VzVVVGQlZUZEZMRVZCUVU5cFNDeFpRVUZqYWtnc1JVRkJUMmRJTEZkQlFXRXNSMEZETVVSb1NDeEZRVUZQYlVNc1YwRkJWM1pDTEU5QlFWTXNSVUZETTBKYUxFVkJRVTh5UWl4TlFVRlJReXhGUVVGRkswSXNTMEZIYmtJc1UwRkJVM1ZGTEVWQlFXRnNTU3hIUVVOd1FpeEpRVVZKTm1Rc1JVRkdRVEZXTEVWQlFWTnVTU3hGUVVGUGJVa3NUMEZEYUVJeVZpeEZRVUZYTTFZc1JVRkJUMjlXTEdOQlJXeENVU3hGUVVGVExFZEJSV0lzVDBGQlNTOWtMRVZCUVU4clFpeFRRVUZUYjBjc1IwRkRXRzVKTEVWQlFVOHJRaXhUUVVGVGIwY3NSMEZGY2tKdVNTeEZRVUZQSzBJc1UwRkJVeXRpTEVkQlExZzVaQ3hGUVVGUEswSXNVMEZCVXl0aUxFbEJSMEVzVDBGRWVrSXpWaXhGUVVGVE1sWXNSMEZEUlhSaExFOUJRVThzUzBGRFV5eE5RVUZ5UWpKRkxFVkJRVTh6UlN4UFFVRlBMRWxCUTJoQ01rVXNSVUZCVTBFc1JVRkJUelpXTEUxQlFVMHNSMEZGZEVKRUxFZEJSRUZHTEVWQlFVMUpMRk5CUVZNNVZpeEZRVUZSTEV0QlExWTFSU3hUUVVGVExFMUJSWFJDTkVVc1JVRkJVMEVzUlVGQlR6WldMRTFCUVUwc1IwRkZkRUpFTEVkQlJFRkdMRVZCUVUxSkxGTkJRVk01Vml4RlFVRlJMRXRCUTFZMVJTeFRRVUZUTEUxQlJ6RkNORVVzUlVGQlUwRXNSVUZCVDIxVkxGRkJRVkVzVFVGQlR5eEpRVU16UWpSQ0xFMUJRVTFNTEVsQlFWRkZMRVZCUVU5U0xHZENRVUZyUW5CV0xFZEJRM3BEYmtVc1JVRkJWMmhGTEVWQlFWRXNORUpCUTFvc1NVRkJUVUVzUlVGQlQyMUpMRTlCUVZNc1MwRkhlRUkwVkN4UFFVRlBibEVzWTBGQlkybFRMRWxCUnpsQ0xGTkJRVk51WVN4RlFVRnBRakZFTEVWQlFWRmxMRWRCUTNSQ0xFMUJRVTVCTEVkQlEwWm1MRVZCUVU4eVFpeE5RVUZSUXl4RlFVRkZjME1zVlVGRGFrSnNSU3hGUVVGUGJVVXNhVUpCUVcxQ2JrVXNSVUZCVDNkRExGVkJRM1pDZFVJc1JVRkJZV2hFTEV0QlIzWkNhVVFzUlVGQlYyaEZMRVZCUVZFc2IwTkJRMjVDUVN4RlFVRlBOa1FzVTBGQlZ6bERMRVZCUTJ4Q1ppeEZRVUZQTWtJc1RVRkJVVU1zUlVGQlJTdENMRTFCU1hKQ0xGTkJRVk5JTEVWQlFWRkdMRVZCUVU4MVF5eEhRVU4wUWl4SlFVRkplV1FzUlVGQlV5eEhRVWxpTEU5QlNFbDZaQ3hGUVVGSk5FTXNSVUZCVFRGRExGTkJRMXAxWkN4RlFVRlROMkVzUlVGQlRVVXNUMEZCVHpsRExFbEJSV3BDZVdRc1JVRnlWbFIyWXl4RlFVRkpOMElzUlVGQlNTdE1MRTFCTWpOQ1NHbFJMRTlCUVU5dVVTeG5Ra0ZGU2tZc1JVRkJjVUp4VVN4UFFVRlBReXhoUVVNMVFuSlJMRVZCUVZGdVJDeExRVUZMYlVRc1RVRkRZa01zUlVGQlowSXNWMEZEYkVJc1NVRkZTWGRUTEVWQlEwRkRMRVZCUmtGRExFVkJRVmtzUjBGSFdrTXNSMEZCVXl4RlFVTlVNMlFzUlVGQlUzTkxMRlZCUVZWMFN5eFBRVU4yUWl4SlFVRkxRU3hGUVVOSUxFMUJRVThzUjBGSFZDeEpRVVJCTEVsQlFVbDFaQ3hGUVVGVExFdEJRMHBKTEVWQlFWRXpaQ3hIUVVGUkxFTkJRM1pDTEVsQlFVazBaQ3hGUVVGWlF5eFBRVUZQZGxRc1ZVRkJWWEZVTEVsQlEycERMRWxCUTBkSExGTkJRVk5HTEVsQlExWkJMRVZCUVZrc1IwRkRXa0VzUlVGQldTeFRRVU5hTjFNc1JVRkJUVFpUTEV0QlFXVkJMRVZCUlhKQ0xFMUJRVTFITEZkQlFWY3NkVUpCUVhsQ1NDeEhRVVY0UTBFc1IwRkJZU3hOUVVObVJpeEZRVUZWYm1Jc1MwRkJTM0ZpTEVsQlNXWktMRVZCUVc5RExGRkJSSEJEU1N4SFFVRmhMRkZCUTJsQ0xFbEJRemxDU0N4RlFVRm5Ra2NzUlVGQldTeExRVUZUTEUxQlEzSkRSaXhGUVVGVmJtSXNTMEZCUzJsaUxFVkJRV1ZETEV0QlJUVkNSU3hGUVVGUkxFbEJRVTB6WkN4SFFVRlZNR1FzUlVGQlZURmtMRTlCTjBKNlFpeFRRVGhDV0hWa0xFZEJRVlY2VXl4RlFVRnRRbTVETEUxQlFVMHNTMEZCVFN0VkxFZEJRM3BEUVN4RlFVRlZNV1FzVDBGQlV5eEhRVWQyUWl4UFFVRlBkV1FzUjBGSFRHNWpMRTlCUVU5cFNTeGxRVU5VYWtrc1QwRkJUMmxKTEdWQlFXVTRVaXhQUVVGUkxHZENRVUZwUWl4RFFVTTNRM2hWTEUxQlFVOXhSU3hGUVVOUWNFSXNZMEZCWXl4RlFVTmtaaXhWUVVGVkxFbEJSMXB6VXl4UFFVRlBibEVzWTBGQlowSkJMRWRCZUdoRU9VSXNRMEUwYUVSeFFpeHZRa0ZCV21kVUxGRkJRVEJDYm1Vc1MwRkJTMVlzU1VGQlRTeEhRVUZMTm1VaUxDSm1hV3hsSWpvaUwyaHZiV1V2ZW1sdWJ5OXdjbTlxWldOMGN5OXpaV0YwYldGd2RqSXZiV0Z6ZEdWeUwzTmxZWFJ0WVhCMk1pOWpiR2xsYm5RdmJtOWtaVjl0YjJSMWJHVnpMM05oZUM5c2FXSXZjMkY0TG1wekluMD0iLCJtb2R1bGUuZXhwb3J0cz1TdHJlYW07dmFyIEVFPXJlcXVpcmUoXCJldmVudHNcIikuRXZlbnRFbWl0dGVyLGluaGVyaXRzPXJlcXVpcmUoXCJpbmhlcml0c1wiKTtmdW5jdGlvbiBTdHJlYW0oKXtFRS5jYWxsKHRoaXMpfWluaGVyaXRzKFN0cmVhbSxFRSksU3RyZWFtLlJlYWRhYmxlPXJlcXVpcmUoXCJyZWFkYWJsZS1zdHJlYW0vbGliL19zdHJlYW1fcmVhZGFibGUuanNcIiksU3RyZWFtLldyaXRhYmxlPXJlcXVpcmUoXCJyZWFkYWJsZS1zdHJlYW0vbGliL19zdHJlYW1fd3JpdGFibGUuanNcIiksU3RyZWFtLkR1cGxleD1yZXF1aXJlKFwicmVhZGFibGUtc3RyZWFtL2xpYi9fc3RyZWFtX2R1cGxleC5qc1wiKSxTdHJlYW0uVHJhbnNmb3JtPXJlcXVpcmUoXCJyZWFkYWJsZS1zdHJlYW0vbGliL19zdHJlYW1fdHJhbnNmb3JtLmpzXCIpLFN0cmVhbS5QYXNzVGhyb3VnaD1yZXF1aXJlKFwicmVhZGFibGUtc3RyZWFtL2xpYi9fc3RyZWFtX3Bhc3N0aHJvdWdoLmpzXCIpLFN0cmVhbS5maW5pc2hlZD1yZXF1aXJlKFwicmVhZGFibGUtc3RyZWFtL2xpYi9pbnRlcm5hbC9zdHJlYW1zL2VuZC1vZi1zdHJlYW0uanNcIiksU3RyZWFtLnBpcGVsaW5lPXJlcXVpcmUoXCJyZWFkYWJsZS1zdHJlYW0vbGliL2ludGVybmFsL3N0cmVhbXMvcGlwZWxpbmUuanNcIiksU3RyZWFtLlN0cmVhbT1TdHJlYW0sU3RyZWFtLnByb3RvdHlwZS5waXBlPWZ1bmN0aW9uKGUscil7dmFyIHQ9dGhpcztmdW5jdGlvbiBhKHIpe2Uud3JpdGFibGUmJiExPT09ZS53cml0ZShyKSYmdC5wYXVzZSYmdC5wYXVzZSgpfWZ1bmN0aW9uIGkoKXt0LnJlYWRhYmxlJiZ0LnJlc3VtZSYmdC5yZXN1bWUoKX10Lm9uKFwiZGF0YVwiLGEpLGUub24oXCJkcmFpblwiLGkpLGUuX2lzU3RkaW98fHImJiExPT09ci5lbmR8fCh0Lm9uKFwiZW5kXCIscyksdC5vbihcImNsb3NlXCIsbykpO3ZhciBuPSExO2Z1bmN0aW9uIHMoKXtufHwobj0hMCxlLmVuZCgpKX1mdW5jdGlvbiBvKCl7bnx8KG49ITAsXCJmdW5jdGlvblwiPT10eXBlb2YgZS5kZXN0cm95JiZlLmRlc3Ryb3koKSl9ZnVuY3Rpb24gbShlKXtpZihsKCksMD09PUVFLmxpc3RlbmVyQ291bnQodGhpcyxcImVycm9yXCIpKXRocm93IGV9ZnVuY3Rpb24gbCgpe3QucmVtb3ZlTGlzdGVuZXIoXCJkYXRhXCIsYSksZS5yZW1vdmVMaXN0ZW5lcihcImRyYWluXCIsaSksdC5yZW1vdmVMaXN0ZW5lcihcImVuZFwiLHMpLHQucmVtb3ZlTGlzdGVuZXIoXCJjbG9zZVwiLG8pLHQucmVtb3ZlTGlzdGVuZXIoXCJlcnJvclwiLG0pLGUucmVtb3ZlTGlzdGVuZXIoXCJlcnJvclwiLG0pLHQucmVtb3ZlTGlzdGVuZXIoXCJlbmRcIixsKSx0LnJlbW92ZUxpc3RlbmVyKFwiY2xvc2VcIixsKSxlLnJlbW92ZUxpc3RlbmVyKFwiY2xvc2VcIixsKX1yZXR1cm4gdC5vbihcImVycm9yXCIsbSksZS5vbihcImVycm9yXCIsbSksdC5vbihcImVuZFwiLGwpLHQub24oXCJjbG9zZVwiLGwpLGUub24oXCJjbG9zZVwiLGwpLGUuZW1pdChcInBpcGVcIix0KSxlfTtcblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYkltbHVaR1Y0TG1weklsMHNJbTVoYldWeklqcGJJbTF2WkhWc1pTSXNJbVY0Y0c5eWRITWlMQ0pUZEhKbFlXMGlMQ0pGUlNJc0luSmxjWFZwY21VaUxDSkZkbVZ1ZEVWdGFYUjBaWElpTENKcGJtaGxjbWwwY3lJc0ltTmhiR3dpTENKMGFHbHpJaXdpVW1WaFpHRmliR1VpTENKWGNtbDBZV0pzWlNJc0lrUjFjR3hsZUNJc0lsUnlZVzV6Wm05eWJTSXNJbEJoYzNOVWFISnZkV2RvSWl3aVptbHVhWE5vWldRaUxDSndhWEJsYkdsdVpTSXNJbkJ5YjNSdmRIbHdaU0lzSW5CcGNHVWlMQ0prWlhOMElpd2liM0IwYVc5dWN5SXNJbk52ZFhKalpTSXNJbTl1WkdGMFlTSXNJbU5vZFc1cklpd2lkM0pwZEdGaWJHVWlMQ0ozY21sMFpTSXNJbkJoZFhObElpd2liMjVrY21GcGJpSXNJbkpsWVdSaFlteGxJaXdpY21WemRXMWxJaXdpYjI0aUxDSmZhWE5UZEdScGJ5SXNJbVZ1WkNJc0ltOXVaVzVrSWl3aWIyNWpiRzl6WlNJc0ltUnBaRTl1Ulc1a0lpd2laR1Z6ZEhKdmVTSXNJbTl1WlhKeWIzSWlMQ0psY2lJc0ltTnNaV0Z1ZFhBaUxDSnNhWE4wWlc1bGNrTnZkVzUwSWl3aWNtVnRiM1psVEdsemRHVnVaWElpTENKbGJXbDBJbDBzSW0xaGNIQnBibWR6SWpvaVFVRnhRa0ZCTEU5QlFVOURMRkZCUVZWRExFOUJSV3BDTEVsQlFVbERMRWRCUVV0RExGRkJRVkVzVlVGQlZVTXNZVUZEZGtKRExGTkJRVmRHTEZGQlFWRXNXVUZ0UW5aQ0xGTkJRVk5HTEZOQlExQkRMRWRCUVVkSkxFdEJRVXRETEUxQmJFSldSaXhUUVVGVFNpeFBRVUZSUXl4SlFVTnFRa1FzVDBGQlQwOHNVMEZCVjB3c1VVRkJVU3d5UTBGRE1VSkdMRTlCUVU5UkxGTkJRVmRPTEZGQlFWRXNNa05CUXpGQ1JpeFBRVUZQVXl4UFFVRlRVQ3hSUVVGUkxIbERRVU40UWtZc1QwRkJUMVVzVlVGQldWSXNVVUZCVVN3MFEwRkRNMEpHTEU5QlFVOVhMRmxCUVdOVUxGRkJRVkVzT0VOQlF6ZENSaXhQUVVGUFdTeFRRVUZYVml4UlFVRlJMSGxFUVVNeFFrWXNUMEZCVDJFc1UwRkJWMWdzVVVGQlVTeHZSRUZITVVKR0xFOUJRVTlCTEU5QlFWTkJMRTlCVjJoQ1FTeFBRVUZQWXl4VlFVRlZReXhMUVVGUExGTkJRVk5ETEVWQlFVMURMRWRCUTNKRExFbEJRVWxETEVWQlFWTmFMRXRCUldJc1UwRkJVMkVzUlVGQlQwTXNSMEZEVmtvc1JVRkJTMHNzVjBGRFNDeEpRVUZWVEN4RlFVRkxUU3hOUVVGTlJpeEpRVUZWUml4RlFVRlBTeXhQUVVONFEwd3NSVUZCVDBzc1VVRlBZaXhUUVVGVFF5eEpRVU5JVGl4RlFVRlBUeXhWUVVGWlVDeEZRVUZQVVN4UlFVTTFRbElzUlVGQlQxRXNVMEZLV0ZJc1JVRkJUMU1zUjBGQlJ5eFBRVUZSVWl4SFFWRnNRa2dzUlVGQlMxY3NSMEZCUnl4UlFVRlRTQ3hIUVVsYVVpeEZRVUZMV1N4VlFVRmpXQ3hKUVVFeVFpeEpRVUZvUWtFc1JVRkJVVmtzVFVGRGVrTllMRVZCUVU5VExFZEJRVWNzVFVGQlQwY3NSMEZEYWtKYUxFVkJRVTlUTEVkQlFVY3NVVUZCVTBrc1NVRkhja0lzU1VGQlNVTXNSMEZCVnl4RlFVTm1MRk5CUVZOR0xFbEJRMGhGTEVsQlEwcEJMRWRCUVZjc1JVRkZXR2hDTEVWQlFVdGhMRTlCU1ZBc1UwRkJVMFVzU1VGRFNFTXNTVUZEU2tFc1IwRkJWeXhGUVVWcFFpeHRRa0ZCYWtKb1FpeEZRVUZMYVVJc1UwRkJkMEpxUWl4RlFVRkxhVUlzVjBGSkwwTXNVMEZCVTBNc1JVRkJVVU1zUjBGRlppeEhRVVJCUXl4SlFVTjNReXhKUVVGd1EyNURMRWRCUVVkdlF5eGpRVUZqTDBJc1MwRkJUU3hUUVVONlFpeE5RVUZOTmtJc1JVRlJWaXhUUVVGVFF5eEpRVU5RYkVJc1JVRkJUMjlDTEdWQlFXVXNUMEZCVVc1Q0xFZEJRemxDU0N4RlFVRkxjMElzWlVGQlpTeFJRVUZUWkN4SFFVVTNRazRzUlVGQlQyOUNMR1ZCUVdVc1RVRkJUMUlzUjBGRE4wSmFMRVZCUVU5dlFpeGxRVUZsTEZGQlFWTlFMRWRCUlM5Q1lpeEZRVUZQYjBJc1pVRkJaU3hSUVVGVFNpeEhRVU12UW14Q0xFVkJRVXR6UWl4bFFVRmxMRkZCUVZOS0xFZEJSVGRDYUVJc1JVRkJUMjlDTEdWQlFXVXNUVUZCVDBZc1IwRkROMEpzUWl4RlFVRlBiMElzWlVGQlpTeFJRVUZUUml4SFFVVXZRbkJDTEVWQlFVdHpRaXhsUVVGbExGRkJRVk5HTEVkQlZ5OUNMRTlCTlVKQmJFSXNSVUZCVDFNc1IwRkJSeXhSUVVGVFR5eEhRVU51UW14Q0xFVkJRVXRYTEVkQlFVY3NVVUZCVTA4c1IwRnRRbXBDYUVJc1JVRkJUMU1zUjBGQlJ5eE5RVUZQVXl4SFFVTnFRbXhDTEVWQlFVOVRMRWRCUVVjc1VVRkJVMU1zUjBGRmJrSndRaXhGUVVGTFZ5eEhRVUZITEZGQlFWTlRMRWRCUldwQ2NFSXNSVUZCUzNWQ0xFdEJRVXNzVDBGQlVYSkNMRWRCUjFoR0lpd2labWxzWlNJNklpOW9iMjFsTDNwcGJtOHZjSEp2YW1WamRITXZjMlZoZEcxaGNIWXlMMjFoYzNSbGNpOXpaV0YwYldGd2RqSXZZMnhwWlc1MEwyNXZaR1ZmYlc5a2RXeGxjeTl6ZEhKbFlXMHRZbkp2ZDNObGNtbG1lUzlwYm1SbGVDNXFjeUo5IiwiXCJ1c2Ugc3RyaWN0XCI7ZnVuY3Rpb24gX2luaGVyaXRzTG9vc2UoZSxyKXtlLnByb3RvdHlwZT1PYmplY3QuY3JlYXRlKHIucHJvdG90eXBlKSxlLnByb3RvdHlwZS5jb25zdHJ1Y3Rvcj1lLGUuX19wcm90b19fPXJ9dmFyIGNvZGVzPXt9O2Z1bmN0aW9uIGNyZWF0ZUVycm9yVHlwZShlLHIsdCl7dHx8KHQ9RXJyb3IpO3ZhciBuPWZ1bmN0aW9uKGUpe2Z1bmN0aW9uIHQodCxuLG8pe3JldHVybiBlLmNhbGwodGhpcyxmdW5jdGlvbihlLHQsbil7cmV0dXJuXCJzdHJpbmdcIj09dHlwZW9mIHI/cjpyKGUsdCxuKX0odCxuLG8pKXx8dGhpc31yZXR1cm4gX2luaGVyaXRzTG9vc2UodCxlKSx0fSh0KTtuLnByb3RvdHlwZS5uYW1lPXQubmFtZSxuLnByb3RvdHlwZS5jb2RlPWUsY29kZXNbZV09bn1mdW5jdGlvbiBvbmVPZihlLHIpe2lmKEFycmF5LmlzQXJyYXkoZSkpe3ZhciB0PWUubGVuZ3RoO3JldHVybiBlPWUubWFwKGZ1bmN0aW9uKGUpe3JldHVybiBTdHJpbmcoZSl9KSx0PjI/XCJvbmUgb2YgXCIuY29uY2F0KHIsXCIgXCIpLmNvbmNhdChlLnNsaWNlKDAsdC0xKS5qb2luKFwiLCBcIiksXCIsIG9yIFwiKStlW3QtMV06Mj09PXQ/XCJvbmUgb2YgXCIuY29uY2F0KHIsXCIgXCIpLmNvbmNhdChlWzBdLFwiIG9yIFwiKS5jb25jYXQoZVsxXSk6XCJvZiBcIi5jb25jYXQocixcIiBcIikuY29uY2F0KGVbMF0pfXJldHVyblwib2YgXCIuY29uY2F0KHIsXCIgXCIpLmNvbmNhdChTdHJpbmcoZSkpfWZ1bmN0aW9uIHN0YXJ0c1dpdGgoZSxyLHQpe3JldHVybiBlLnN1YnN0cighdHx8dDwwPzA6K3Qsci5sZW5ndGgpPT09cn1mdW5jdGlvbiBlbmRzV2l0aChlLHIsdCl7cmV0dXJuKHZvaWQgMD09PXR8fHQ+ZS5sZW5ndGgpJiYodD1lLmxlbmd0aCksZS5zdWJzdHJpbmcodC1yLmxlbmd0aCx0KT09PXJ9ZnVuY3Rpb24gaW5jbHVkZXMoZSxyLHQpe3JldHVyblwibnVtYmVyXCIhPXR5cGVvZiB0JiYodD0wKSwhKHQrci5sZW5ndGg+ZS5sZW5ndGgpJiYtMSE9PWUuaW5kZXhPZihyLHQpfWNyZWF0ZUVycm9yVHlwZShcIkVSUl9JTlZBTElEX09QVF9WQUxVRVwiLGZ1bmN0aW9uKGUscil7cmV0dXJuJ1RoZSB2YWx1ZSBcIicrcisnXCIgaXMgaW52YWxpZCBmb3Igb3B0aW9uIFwiJytlKydcIid9LFR5cGVFcnJvciksY3JlYXRlRXJyb3JUeXBlKFwiRVJSX0lOVkFMSURfQVJHX1RZUEVcIixmdW5jdGlvbihlLHIsdCl7dmFyIG4sbztpZihcInN0cmluZ1wiPT10eXBlb2YgciYmc3RhcnRzV2l0aChyLFwibm90IFwiKT8obj1cIm11c3Qgbm90IGJlXCIscj1yLnJlcGxhY2UoL15ub3QgLyxcIlwiKSk6bj1cIm11c3QgYmVcIixlbmRzV2l0aChlLFwiIGFyZ3VtZW50XCIpKW89XCJUaGUgXCIuY29uY2F0KGUsXCIgXCIpLmNvbmNhdChuLFwiIFwiKS5jb25jYXQob25lT2YocixcInR5cGVcIikpO2Vsc2V7dmFyIGM9aW5jbHVkZXMoZSxcIi5cIik/XCJwcm9wZXJ0eVwiOlwiYXJndW1lbnRcIjtvPSdUaGUgXCInLmNvbmNhdChlLCdcIiAnKS5jb25jYXQoYyxcIiBcIikuY29uY2F0KG4sXCIgXCIpLmNvbmNhdChvbmVPZihyLFwidHlwZVwiKSl9cmV0dXJuIG8rPVwiLiBSZWNlaXZlZCB0eXBlIFwiLmNvbmNhdCh0eXBlb2YgdCl9LFR5cGVFcnJvciksY3JlYXRlRXJyb3JUeXBlKFwiRVJSX1NUUkVBTV9QVVNIX0FGVEVSX0VPRlwiLFwic3RyZWFtLnB1c2goKSBhZnRlciBFT0ZcIiksY3JlYXRlRXJyb3JUeXBlKFwiRVJSX01FVEhPRF9OT1RfSU1QTEVNRU5URURcIixmdW5jdGlvbihlKXtyZXR1cm5cIlRoZSBcIitlK1wiIG1ldGhvZCBpcyBub3QgaW1wbGVtZW50ZWRcIn0pLGNyZWF0ZUVycm9yVHlwZShcIkVSUl9TVFJFQU1fUFJFTUFUVVJFX0NMT1NFXCIsXCJQcmVtYXR1cmUgY2xvc2VcIiksY3JlYXRlRXJyb3JUeXBlKFwiRVJSX1NUUkVBTV9ERVNUUk9ZRURcIixmdW5jdGlvbihlKXtyZXR1cm5cIkNhbm5vdCBjYWxsIFwiK2UrXCIgYWZ0ZXIgYSBzdHJlYW0gd2FzIGRlc3Ryb3llZFwifSksY3JlYXRlRXJyb3JUeXBlKFwiRVJSX01VTFRJUExFX0NBTExCQUNLXCIsXCJDYWxsYmFjayBjYWxsZWQgbXVsdGlwbGUgdGltZXNcIiksY3JlYXRlRXJyb3JUeXBlKFwiRVJSX1NUUkVBTV9DQU5OT1RfUElQRVwiLFwiQ2Fubm90IHBpcGUsIG5vdCByZWFkYWJsZVwiKSxjcmVhdGVFcnJvclR5cGUoXCJFUlJfU1RSRUFNX1dSSVRFX0FGVEVSX0VORFwiLFwid3JpdGUgYWZ0ZXIgZW5kXCIpLGNyZWF0ZUVycm9yVHlwZShcIkVSUl9TVFJFQU1fTlVMTF9WQUxVRVNcIixcIk1heSBub3Qgd3JpdGUgbnVsbCB2YWx1ZXMgdG8gc3RyZWFtXCIsVHlwZUVycm9yKSxjcmVhdGVFcnJvclR5cGUoXCJFUlJfVU5LTk9XTl9FTkNPRElOR1wiLGZ1bmN0aW9uKGUpe3JldHVyblwiVW5rbm93biBlbmNvZGluZzogXCIrZX0sVHlwZUVycm9yKSxjcmVhdGVFcnJvclR5cGUoXCJFUlJfU1RSRUFNX1VOU0hJRlRfQUZURVJfRU5EX0VWRU5UXCIsXCJzdHJlYW0udW5zaGlmdCgpIGFmdGVyIGVuZCBldmVudFwiKSxtb2R1bGUuZXhwb3J0cy5jb2Rlcz1jb2RlcztcblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYkltVnljbTl5Y3kxaWNtOTNjMlZ5TG1weklsMHNJbTVoYldWeklqcGJJbDlwYm1obGNtbDBjMHh2YjNObElpd2ljM1ZpUTJ4aGMzTWlMQ0p6ZFhCbGNrTnNZWE56SWl3aWNISnZkRzkwZVhCbElpd2lUMkpxWldOMElpd2lZM0psWVhSbElpd2lZMjl1YzNSeWRXTjBiM0lpTENKZlgzQnliM1J2WDE4aUxDSmpiMlJsY3lJc0ltTnlaV0YwWlVWeWNtOXlWSGx3WlNJc0ltTnZaR1VpTENKdFpYTnpZV2RsSWl3aVFtRnpaU0lzSWtWeWNtOXlJaXdpVG05a1pVVnljbTl5SWl3aVgwSmhjMlVpTENKaGNtY3hJaXdpWVhKbk1pSXNJbUZ5WnpNaUxDSmpZV3hzSWl3aWRHaHBjeUlzSW1kbGRFMWxjM05oWjJVaUxDSnVZVzFsSWl3aWIyNWxUMllpTENKbGVIQmxZM1JsWkNJc0luUm9hVzVuSWl3aVFYSnlZWGtpTENKcGMwRnljbUY1SWl3aWJHVnVJaXdpYkdWdVozUm9JaXdpYldGd0lpd2lhU0lzSWxOMGNtbHVaeUlzSW1OdmJtTmhkQ0lzSW5Oc2FXTmxJaXdpYW05cGJpSXNJbk4wWVhKMGMxZHBkR2dpTENKemRISWlMQ0p6WldGeVkyZ2lMQ0p3YjNNaUxDSnpkV0p6ZEhJaUxDSmxibVJ6VjJsMGFDSXNJblJvYVhOZmJHVnVJaXdpZFc1a1pXWnBibVZrSWl3aWMzVmljM1J5YVc1bklpd2lhVzVqYkhWa1pYTWlMQ0p6ZEdGeWRDSXNJbWx1WkdWNFQyWWlMQ0oyWVd4MVpTSXNJbFI1Y0dWRmNuSnZjaUlzSW1GamRIVmhiQ0lzSW1SbGRHVnliV2x1WlhJaUxDSnRjMmNpTENKeVpYQnNZV05sSWl3aWRIbHdaU0lzSW1GeVp5SXNJbTF2WkhWc1pTSXNJbVY0Y0c5eWRITWlYU3dpYldGd2NHbHVaM01pT2lKQlFVRkJMR0ZCUlVFc1UwRkJVMEVzWlVGQlpVTXNSVUZCVlVNc1IwRkJZMFFzUlVGQlUwVXNWVUZCV1VNc1QwRkJUME1zVDBGQlQwZ3NSVUZCVjBNc1YwRkJXVVlzUlVGQlUwVXNWVUZCVlVjc1dVRkJZMHdzUlVGQlZVRXNSVUZCVTAwc1ZVRkJXVXdzUlVGRk1Vc3NTVUZCU1Uwc1RVRkJVU3hIUVVWYUxGTkJRVk5ETEdkQ1FVRm5Ra01zUlVGQlRVTXNSVUZCVTBNc1IwRkRha05CTEVsQlEwaEJMRVZCUVU5RExFOUJWMVFzU1VGQlNVTXNSVUZGU2l4VFFVRlZReXhIUVVkU0xGTkJRVk5FTEVWQlFWVkZMRVZCUVUxRExFVkJRVTFETEVkQlF6ZENMRTlCUVU5SUxFVkJRVTFKTEV0QlFVdERMRXRCWkhSQ0xGTkJRVzlDU2l4RlFVRk5ReXhGUVVGTlF5eEhRVU01UWl4TlFVRjFRaXhwUWtGQldsQXNSVUZEUmtFc1JVRkZRVUVzUlVGQlVVc3NSVUZCVFVNc1JVRkJUVU1zUjBGVlNFY3NRMEZCVjB3c1JVRkJUVU1zUlVGQlRVTXNTMEZCVlVVc1MwRkhNMFFzVDBGT1FYQkNMR1ZCUVdWakxFVkJRVmRETEVkQlRXNUNSQ3hGUVZCVUxFTkJVVVZHTEVkQlJVWkZMRVZCUVZWWUxGVkJRVlZ0UWl4TFFVRlBWaXhGUVVGTFZTeExRVU5vUTFJc1JVRkJWVmdzVlVGQlZVOHNTMEZCVDBFc1JVRkRNMEpHTEUxQlFVMUZMRWRCUVZGSkxFVkJTV2hDTEZOQlFWTlRMRTFCUVUxRExFVkJRVlZETEVkQlEzWkNMRWRCUVVsRExFMUJRVTFETEZGQlFWRklMRWRCUVZjc1EwRkRNMElzU1VGQlNVa3NSVUZCVFVvc1JVRkJVMHNzVDBGTGJrSXNUMEZLUVV3c1JVRkJWMEVzUlVGQlUwMHNTVUZCU1N4VFFVRlZReXhIUVVOb1F5eFBRVUZQUXl4UFFVRlBSQ3hMUVVkYVNDeEZRVUZOTEVWQlEwUXNWVUZCVlVzc1QwRkJUMUlzUlVGQlR5eExRVUZMVVN4UFFVRlBWQ3hGUVVGVFZTeE5RVUZOTEVWQlFVZE9MRVZCUVUwc1IwRkJSMDhzUzBGQlN5eE5RVUZQTEZOQlFWZFlMRVZCUVZOSkxFVkJRVTBzUjBGRE0wWXNTVUZCVWtFc1JVRkRSaXhWUVVGVlN5eFBRVUZQVWl4RlFVRlBMRXRCUVV0UkxFOUJRVTlVTEVWQlFWTXNSMEZCU1N4UlFVRlJVeXhQUVVGUFZDeEZRVUZUTEVsQlJYcEZMRTFCUVUxVExFOUJRVTlTTEVWQlFVOHNTMEZCUzFFc1QwRkJUMVFzUlVGQlV5eEpRVWRzUkN4TlFVRlBMRTFCUVUxVExFOUJRVTlTTEVWQlFVOHNTMEZCUzFFc1QwRkJUMFFzVDBGQlQxSXNTVUZMYkVRc1UwRkJVMWtzVjBGQlYwTXNSVUZCUzBNc1JVRkJVVU1zUjBGREwwSXNUMEZCVDBZc1JVRkJTVWNzVVVGQlVVUXNSMEZCVDBFc1JVRkJUU3hGUVVGSkxFZEJRVXRCTEVWQlFVdEVMRVZCUVU5VUxGVkJRVmxUTEVWQlNXNUZMRk5CUVZOSExGTkJRVk5LTEVWQlFVdERMRVZCUVZGSkxFZEJTemRDTEZsQlNtbENReXhKUVVGaVJDeEhRVUV3UWtFc1JVRkJWMHdzUlVGQlNWSXNWVUZETTBOaExFVkJRVmRNTEVWQlFVbFNMRkZCUjFaUkxFVkJRVWxQTEZWQlFWVkdMRVZCUVZkS0xFVkJRVTlVTEU5QlFWRmhMRXRCUVdOS0xFVkJTUzlFTEZOQlFWTlBMRk5CUVZOU0xFVkJRVXRETEVWQlFWRlJMRWRCU3pkQ0xFMUJTbkZDTEdsQ1FVRldRU3hKUVVOVVFTeEZRVUZSTEV0QlIwNUJMRVZCUVZGU0xFVkJRVTlVTEU5QlFWTlJMRVZCUVVsU0xGVkJSMU1zU1VGQmFFTlJMRVZCUVVsVkxGRkJRVkZVTEVWQlFWRlJMRWRCU1M5Q2NrTXNaMEpCUVdkQ0xIZENRVUY1UWl4VFFVRlZZU3hGUVVGTk1FSXNSMEZEZGtRc1RVRkJUeXhqUVVGblFrRXNSVUZCVVN3MFFrRkJPRUl4UWl4RlFVRlBMRXRCUTI1Rk1rSXNWMEZEU0hoRExHZENRVUZuUWl4MVFrRkJkMElzVTBGQlZXRXNSVUZCVFVVc1JVRkJWVEJDTEVkQlJXaEZMRWxCUVVsRExFVkJVMEZETEVWQlJVb3NSMEZVZDBJc2FVSkJRV0kxUWl4SFFVRjVRbGtzVjBGQlYxb3NSVUZCVlN4VFFVTjJSREpDTEVWQlFXRXNZMEZEWWpOQ0xFVkJRVmRCTEVWQlFWTTJRaXhSUVVGUkxGRkJRVk1zUzBGRmNrTkdMRVZCUVdFc1ZVRkxXRllzVTBGQlUyNUNMRVZCUVUwc1lVRkZha0k0UWl4RlFVRk5MRTlCUVU5dVFpeFBRVUZQV0N4RlFVRk5MRXRCUVV0WExFOUJRVTlyUWl4RlFVRlpMRXRCUVV0c1FpeFBRVUZQVml4TlFVRk5ReXhGUVVGVkxHRkJRM3BGTEVOQlEwd3NTVUZCU1RoQ0xFVkJRVTlVTEZOQlFWTjJRaXhGUVVGTkxFdEJRVThzVjBGQllTeFhRVU01UXpoQ0xFVkJRVTBzVVVGQlUyNUNMRTlCUVU5WUxFVkJRVTBzVFVGQlQxY3NUMEZCVDNGQ0xFVkJRVTBzUzBGQlMzSkNMRTlCUVU5clFpeEZRVUZaTEV0QlFVdHNRaXhQUVVGUFZpeE5RVUZOUXl4RlFVRlZMRk5CU1hSSExFOUJSRUUwUWl4SFFVRlBMRzFDUVVGdFFtNUNMR05CUVdOcFFpeEpRVVYyUTBRc1YwRkRTSGhETEdkQ1FVRm5RaXcwUWtGQk5rSXNNa0pCUXpkRFFTeG5Ra0ZCWjBJc05rSkJRVGhDTEZOQlFWVmhMRWRCUTNSRUxFMUJRVThzVDBGQlUwRXNSVUZCVHl3clFrRkZla0ppTEdkQ1FVRm5RaXcyUWtGQk9FSXNiVUpCUXpsRFFTeG5Ra0ZCWjBJc2RVSkJRWGRDTEZOQlFWVmhMRWRCUTJoRUxFMUJRVThzWlVGQmFVSkJMRVZCUVU4c2EwTkJSV3BEWWl4blFrRkJaMElzZDBKQlFYbENMR3REUVVONlEwRXNaMEpCUVdkQ0xIbENRVUV3UWl3MlFrRkRNVU5CTEdkQ1FVRm5RaXcyUWtGQk9FSXNiVUpCUXpsRFFTeG5Ra0ZCWjBJc2VVSkJRVEJDTEhORFFVRjFRM2RETEZkQlEycEdlRU1zWjBKQlFXZENMSFZDUVVGM1FpeFRRVUZWT0VNc1IwRkRhRVFzVFVGQlR5eHhRa0ZCZFVKQkxFZEJRemRDVGl4WFFVTkllRU1zWjBKQlFXZENMSEZEUVVGelF5eHZRMEZEZEVRclF5eFBRVUZQUXl4UlFVRlJha1FzVFVGQlVVRWlMQ0ptYVd4bElqb2lMMmh2YldVdmVtbHVieTl3Y205cVpXTjBjeTl6WldGMGJXRndkakl2YldGemRHVnlMM05sWVhSdFlYQjJNaTlqYkdsbGJuUXZibTlrWlY5dGIyUjFiR1Z6TDNOMGNtVmhiUzFpY205M2MyVnlhV1o1TDI1dlpHVmZiVzlrZFd4bGN5OXlaV0ZrWVdKc1pTMXpkSEpsWVcwdlpYSnliM0p6TFdKeWIzZHpaWEl1YW5NaWZRPT0iLCJcInVzZSBzdHJpY3RcIjt2YXIgb2JqZWN0S2V5cz1PYmplY3Qua2V5c3x8ZnVuY3Rpb24oZSl7dmFyIHQ9W107Zm9yKHZhciByIGluIGUpdC5wdXNoKHIpO3JldHVybiB0fTttb2R1bGUuZXhwb3J0cz1EdXBsZXg7dmFyIFJlYWRhYmxlPXJlcXVpcmUoXCIuL19zdHJlYW1fcmVhZGFibGVcIiksV3JpdGFibGU9cmVxdWlyZShcIi4vX3N0cmVhbV93cml0YWJsZVwiKTtyZXF1aXJlKFwiaW5oZXJpdHNcIikoRHVwbGV4LFJlYWRhYmxlKTtmb3IodmFyIGtleXM9b2JqZWN0S2V5cyhXcml0YWJsZS5wcm90b3R5cGUpLHY9MDt2PGtleXMubGVuZ3RoO3YrKyl7dmFyIG1ldGhvZD1rZXlzW3ZdO0R1cGxleC5wcm90b3R5cGVbbWV0aG9kXXx8KER1cGxleC5wcm90b3R5cGVbbWV0aG9kXT1Xcml0YWJsZS5wcm90b3R5cGVbbWV0aG9kXSl9ZnVuY3Rpb24gRHVwbGV4KGUpe2lmKCEodGhpcyBpbnN0YW5jZW9mIER1cGxleCkpcmV0dXJuIG5ldyBEdXBsZXgoZSk7UmVhZGFibGUuY2FsbCh0aGlzLGUpLFdyaXRhYmxlLmNhbGwodGhpcyxlKSx0aGlzLmFsbG93SGFsZk9wZW49ITAsZSYmKCExPT09ZS5yZWFkYWJsZSYmKHRoaXMucmVhZGFibGU9ITEpLCExPT09ZS53cml0YWJsZSYmKHRoaXMud3JpdGFibGU9ITEpLCExPT09ZS5hbGxvd0hhbGZPcGVuJiYodGhpcy5hbGxvd0hhbGZPcGVuPSExLHRoaXMub25jZShcImVuZFwiLG9uZW5kKSkpfWZ1bmN0aW9uIG9uZW5kKCl7dGhpcy5fd3JpdGFibGVTdGF0ZS5lbmRlZHx8cHJvY2Vzcy5uZXh0VGljayhvbkVuZE5ULHRoaXMpfWZ1bmN0aW9uIG9uRW5kTlQoZSl7ZS5lbmQoKX1PYmplY3QuZGVmaW5lUHJvcGVydHkoRHVwbGV4LnByb3RvdHlwZSxcIndyaXRhYmxlSGlnaFdhdGVyTWFya1wiLHtlbnVtZXJhYmxlOiExLGdldDpmdW5jdGlvbigpe3JldHVybiB0aGlzLl93cml0YWJsZVN0YXRlLmhpZ2hXYXRlck1hcmt9fSksT2JqZWN0LmRlZmluZVByb3BlcnR5KER1cGxleC5wcm90b3R5cGUsXCJ3cml0YWJsZUJ1ZmZlclwiLHtlbnVtZXJhYmxlOiExLGdldDpmdW5jdGlvbigpe3JldHVybiB0aGlzLl93cml0YWJsZVN0YXRlJiZ0aGlzLl93cml0YWJsZVN0YXRlLmdldEJ1ZmZlcigpfX0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShEdXBsZXgucHJvdG90eXBlLFwid3JpdGFibGVMZW5ndGhcIix7ZW51bWVyYWJsZTohMSxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fd3JpdGFibGVTdGF0ZS5sZW5ndGh9fSksT2JqZWN0LmRlZmluZVByb3BlcnR5KER1cGxleC5wcm90b3R5cGUsXCJkZXN0cm95ZWRcIix7ZW51bWVyYWJsZTohMSxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdm9pZCAwIT09dGhpcy5fcmVhZGFibGVTdGF0ZSYmdm9pZCAwIT09dGhpcy5fd3JpdGFibGVTdGF0ZSYmKHRoaXMuX3JlYWRhYmxlU3RhdGUuZGVzdHJveWVkJiZ0aGlzLl93cml0YWJsZVN0YXRlLmRlc3Ryb3llZCl9LHNldDpmdW5jdGlvbihlKXt2b2lkIDAhPT10aGlzLl9yZWFkYWJsZVN0YXRlJiZ2b2lkIDAhPT10aGlzLl93cml0YWJsZVN0YXRlJiYodGhpcy5fcmVhZGFibGVTdGF0ZS5kZXN0cm95ZWQ9ZSx0aGlzLl93cml0YWJsZVN0YXRlLmRlc3Ryb3llZD1lKX19KTtcblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYklsOXpkSEpsWVcxZlpIVndiR1Y0TG1weklsMHNJbTVoYldWeklqcGJJbTlpYW1WamRFdGxlWE1pTENKUFltcGxZM1FpTENKclpYbHpJaXdpYjJKcUlpd2lhMlY1SWl3aWNIVnphQ0lzSW0xdlpIVnNaU0lzSW1WNGNHOXlkSE1pTENKRWRYQnNaWGdpTENKU1pXRmtZV0pzWlNJc0luSmxjWFZwY21VaUxDSlhjbWwwWVdKc1pTSXNJbkJ5YjNSdmRIbHdaU0lzSW5ZaUxDSnNaVzVuZEdnaUxDSnRaWFJvYjJRaUxDSnZjSFJwYjI1eklpd2lkR2hwY3lJc0ltTmhiR3dpTENKaGJHeHZkMGhoYkdaUGNHVnVJaXdpY21WaFpHRmliR1VpTENKM2NtbDBZV0pzWlNJc0ltOXVZMlVpTENKdmJtVnVaQ0lzSWw5M2NtbDBZV0pzWlZOMFlYUmxJaXdpWlc1a1pXUWlMQ0p3Y205alpYTnpJaXdpYm1WNGRGUnBZMnNpTENKdmJrVnVaRTVVSWl3aWMyVnNaaUlzSW1WdVpDSXNJbVJsWm1sdVpWQnliM0JsY25SNUlpd2laVzUxYldWeVlXSnNaU0lzSW1kbGRDSXNJbWhwWjJoWFlYUmxjazFoY21zaUxDSm5aWFJDZFdabVpYSWlMQ0oxYm1SbFptbHVaV1FpTENKZmNtVmhaR0ZpYkdWVGRHRjBaU0lzSW1SbGMzUnliM2xsWkNJc0luTmxkQ0lzSW5aaGJIVmxJbDBzSW0xaGNIQnBibWR6SWpvaVFVRjNRa0VzWVVGSFFTeEpRVUZKUVN4WFFVRmhReXhQUVVGUFF5eE5RVUZSTEZOQlFWVkRMRWRCUTNoRExFbEJRVWxFTEVWQlFVOHNSMEZGV0N4SlFVRkxMRWxCUVVsRkxFdEJRVTlFTEVWQlEyUkVMRVZCUVV0SExFdEJRVXRFTEVkQlIxb3NUMEZCVDBZc1IwRkxWRWtzVDBGQlQwTXNVVUZCVlVNc1QwRkZha0lzU1VGQlNVTXNVMEZCVjBNc1VVRkJVU3h6UWtGRmJrSkRMRk5CUVZkRUxGRkJRVkVzYzBKQlJYWkNRU3hSUVVGUkxGZEJRVkpCTEVOQlFXOUNSaXhQUVVGUlF5eFZRVTB4UWl4SlFVWkJMRWxCUVVsUUxFdEJRVTlHTEZkQlFWZFhMRk5CUVZORExGZEJSWFJDUXl4RlFVRkpMRVZCUVVkQkxFVkJRVWxZTEV0QlFVdFpMRTlCUVZGRUxFbEJRVXNzUTBGRGNFTXNTVUZCU1VVc1QwRkJVMklzUzBGQlMxY3NSMEZEWWt3c1QwRkJUMGtzVlVGQlZVY3NWVUZCVTFBc1QwRkJUMGtzVlVGQlZVY3NVVUZCVlVvc1UwRkJVME1zVlVGQlZVY3NVMEZKYWtZc1UwRkJVMUFzVDBGQlQxRXNSMEZEWkN4TFFVRk5ReXhuUWtGQlowSlVMRkZCUVZNc1QwRkJUeXhKUVVGSlFTeFBRVUZQVVN4SFFVTnFSRkFzVTBGQlUxTXNTMEZCUzBRc1MwRkJUVVFzUjBGRGNFSk1MRk5CUVZOUExFdEJRVXRFTEV0QlFVMUVMRWRCUTNCQ1F5eExRVUZMUlN4bFFVRm5RaXhGUVVWcVFrZ3NTMEZEZFVJc1NVRkJja0pCTEVWQlFWRkpMRmRCUVc5Q1NDeExRVUZMUnl4VlFVRlhMRWxCUTNaQ0xFbEJRWEpDU2l4RlFVRlJTeXhYUVVGdlFrb3NTMEZCUzBrc1ZVRkJWeXhKUVVWc1FpeEpRVUV4UWt3c1JVRkJVVWNzWjBKQlExWkdMRXRCUVV0RkxHVkJRV2RDTEVWQlEzSkNSaXhMUVVGTFN5eExRVUZMTEUxQlFVOURMRk5CYVVOMlFpeFRRVUZUUVN4UlFVVklUaXhMUVVGTFR5eGxRVUZsUXl4UFFVZDRRa01zVVVGQlVVTXNVMEZCVTBNc1VVRkJVMWdzVFVGSE5VSXNVMEZCVTFjc1VVRkJVVU1zUjBGRFprRXNSVUZCUzBNc1RVRnlRMUEzUWl4UFFVRlBPRUlzWlVGQlpYWkNMRTlCUVU5SkxGVkJRVmNzZDBKQlFYbENMRU5CU1M5RWIwSXNXVUZCV1N4RlFVTmFReXhKUVVGTExGZEJRMGdzVDBGQlQyaENMRXRCUVV0UExHVkJRV1ZWTEdsQ1FVY3ZRbXBETEU5QlFVODRRaXhsUVVGbGRrSXNUMEZCVDBrc1ZVRkJWeXhwUWtGQmEwSXNRMEZKZUVSdlFpeFpRVUZaTEVWQlExcERMRWxCUVVzc1YwRkRTQ3hQUVVGUGFFSXNTMEZCUzA4c1owSkJRV3RDVUN4TFFVRkxUeXhsUVVGbFZ5eGxRVWQwUkd4RExFOUJRVTg0UWl4bFFVRmxka0lzVDBGQlQwa3NWVUZCVnl4cFFrRkJhMElzUTBGSmVFUnZRaXhaUVVGWkxFVkJRMXBETEVsQlFVc3NWMEZEU0N4UFFVRlBhRUlzUzBGQlMwOHNaVUZCWlZZc1ZVRm5RaTlDWWl4UFFVRlBPRUlzWlVGQlpYWkNMRTlCUVU5SkxGVkJRVmNzV1VGQllTeERRVWx1Ukc5Q0xGbEJRVmtzUlVGRFdrTXNTVUZCU3l4WFFVTklMRmxCUVRSQ1J5eEpRVUY0UW01Q0xFdEJRVXR2UWl4eFFrRkJkMFJFTEVsQlFYaENia0lzUzBGQlMwOHNhVUpCU1haRFVDeExRVUZMYjBJc1pVRkJaVU1zVjBGQllYSkNMRXRCUVV0UExHVkJRV1ZqTEZsQlJUbEVReXhKUVVGTExGTkJRV0ZETEZGQlIxbEtMRWxCUVhoQ2JrSXNTMEZCUzI5Q0xIRkNRVUYzUkVRc1NVRkJlRUp1UWl4TFFVRkxUeXhwUWtGTk9VTlFMRXRCUVV0dlFpeGxRVUZsUXl4VlFVRlpSU3hGUVVOb1EzWkNMRXRCUVV0UExHVkJRV1ZqTEZWQlFWbEZJaXdpWm1sc1pTSTZJaTlvYjIxbEwzcHBibTh2Y0hKdmFtVmpkSE12YzJWaGRHMWhjSFl5TDIxaGMzUmxjaTl6WldGMGJXRndkakl2WTJ4cFpXNTBMMjV2WkdWZmJXOWtkV3hsY3k5emRISmxZVzB0WW5KdmQzTmxjbWxtZVM5dWIyUmxYMjF2WkhWc1pYTXZjbVZoWkdGaWJHVXRjM1J5WldGdEwyeHBZaTlmYzNSeVpXRnRYMlIxY0d4bGVDNXFjeUo5IiwiXCJ1c2Ugc3RyaWN0XCI7bW9kdWxlLmV4cG9ydHM9UGFzc1Rocm91Z2g7dmFyIFRyYW5zZm9ybT1yZXF1aXJlKFwiLi9fc3RyZWFtX3RyYW5zZm9ybVwiKTtmdW5jdGlvbiBQYXNzVGhyb3VnaChyKXtpZighKHRoaXMgaW5zdGFuY2VvZiBQYXNzVGhyb3VnaCkpcmV0dXJuIG5ldyBQYXNzVGhyb3VnaChyKTtUcmFuc2Zvcm0uY2FsbCh0aGlzLHIpfXJlcXVpcmUoXCJpbmhlcml0c1wiKShQYXNzVGhyb3VnaCxUcmFuc2Zvcm0pLFBhc3NUaHJvdWdoLnByb3RvdHlwZS5fdHJhbnNmb3JtPWZ1bmN0aW9uKHIscyxvKXtvKG51bGwscil9O1xuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSWw5emRISmxZVzFmY0dGemMzUm9jbTkxWjJndWFuTWlYU3dpYm1GdFpYTWlPbHNpYlc5a2RXeGxJaXdpWlhod2IzSjBjeUlzSWxCaGMzTlVhSEp2ZFdkb0lpd2lWSEpoYm5ObWIzSnRJaXdpY21WeGRXbHlaU0lzSW05d2RHbHZibk1pTENKMGFHbHpJaXdpWTJGc2JDSXNJbkJ5YjNSdmRIbHdaU0lzSWw5MGNtRnVjMlp2Y20waUxDSmphSFZ1YXlJc0ltVnVZMjlrYVc1bklpd2lZMklpWFN3aWJXRndjR2x1WjNNaU9pSkJRWFZDUVN4aFFVVkJRU3hQUVVGUFF5eFJRVUZWUXl4WlFVVnFRaXhKUVVGSlF5eFZRVUZaUXl4UlFVRlJMSFZDUVVsNFFpeFRRVUZUUml4WlFVRlpSeXhIUVVOdVFpeExRVUZOUXl4blFrRkJaMEpLTEdGQlFXTXNUMEZCVHl4SlFVRkpRU3haUVVGWlJ5eEhRVU16UkVZc1ZVRkJWVWtzUzBGQlMwUXNTMEZCVFVRc1IwRktka0pFTEZGQlFWRXNWMEZCVWtFc1EwRkJiMEpHTEZsQlFXRkRMRmRCVDJwRFJDeFpRVUZaVFN4VlFVRlZReXhYUVVGaExGTkJRVlZETEVWQlFVOURMRVZCUVZWRExFZEJRelZFUVN4RlFVRkhMRXRCUVUxR0lpd2labWxzWlNJNklpOW9iMjFsTDNwcGJtOHZjSEp2YW1WamRITXZjMlZoZEcxaGNIWXlMMjFoYzNSbGNpOXpaV0YwYldGd2RqSXZZMnhwWlc1MEwyNXZaR1ZmYlc5a2RXeGxjeTl6ZEhKbFlXMHRZbkp2ZDNObGNtbG1lUzl1YjJSbFgyMXZaSFZzWlhNdmNtVmhaR0ZpYkdVdGMzUnlaV0Z0TDJ4cFlpOWZjM1J5WldGdFgzQmhjM04wYUhKdmRXZG9MbXB6SW4wPSIsIlwidXNlIHN0cmljdFwiO3ZhciBEdXBsZXg7bW9kdWxlLmV4cG9ydHM9UmVhZGFibGUsUmVhZGFibGUuUmVhZGFibGVTdGF0ZT1SZWFkYWJsZVN0YXRlO3ZhciBFRT1yZXF1aXJlKFwiZXZlbnRzXCIpLkV2ZW50RW1pdHRlcixFRWxpc3RlbmVyQ291bnQ9ZnVuY3Rpb24oZSx0KXtyZXR1cm4gZS5saXN0ZW5lcnModCkubGVuZ3RofSxTdHJlYW09cmVxdWlyZShcIi4vaW50ZXJuYWwvc3RyZWFtcy9zdHJlYW1cIiksQnVmZmVyPXJlcXVpcmUoXCJidWZmZXJcIikuQnVmZmVyLE91clVpbnQ4QXJyYXk9Z2xvYmFsLlVpbnQ4QXJyYXl8fGZ1bmN0aW9uKCl7fTtmdW5jdGlvbiBfdWludDhBcnJheVRvQnVmZmVyKGUpe3JldHVybiBCdWZmZXIuZnJvbShlKX1mdW5jdGlvbiBfaXNVaW50OEFycmF5KGUpe3JldHVybiBCdWZmZXIuaXNCdWZmZXIoZSl8fGUgaW5zdGFuY2VvZiBPdXJVaW50OEFycmF5fXZhciBkZWJ1ZyxkZWJ1Z1V0aWw9cmVxdWlyZShcInV0aWxcIik7ZGVidWc9ZGVidWdVdGlsJiZkZWJ1Z1V0aWwuZGVidWdsb2c/ZGVidWdVdGlsLmRlYnVnbG9nKFwic3RyZWFtXCIpOmZ1bmN0aW9uKCl7fTt2YXIgU3RyaW5nRGVjb2RlcixjcmVhdGVSZWFkYWJsZVN0cmVhbUFzeW5jSXRlcmF0b3IsZnJvbSxCdWZmZXJMaXN0PXJlcXVpcmUoXCIuL2ludGVybmFsL3N0cmVhbXMvYnVmZmVyX2xpc3RcIiksZGVzdHJveUltcGw9cmVxdWlyZShcIi4vaW50ZXJuYWwvc3RyZWFtcy9kZXN0cm95XCIpLF9yZXF1aXJlPXJlcXVpcmUoXCIuL2ludGVybmFsL3N0cmVhbXMvc3RhdGVcIiksZ2V0SGlnaFdhdGVyTWFyaz1fcmVxdWlyZS5nZXRIaWdoV2F0ZXJNYXJrLF9yZXF1aXJlJGNvZGVzPXJlcXVpcmUoXCIuLi9lcnJvcnNcIikuY29kZXMsRVJSX0lOVkFMSURfQVJHX1RZUEU9X3JlcXVpcmUkY29kZXMuRVJSX0lOVkFMSURfQVJHX1RZUEUsRVJSX1NUUkVBTV9QVVNIX0FGVEVSX0VPRj1fcmVxdWlyZSRjb2Rlcy5FUlJfU1RSRUFNX1BVU0hfQUZURVJfRU9GLEVSUl9NRVRIT0RfTk9UX0lNUExFTUVOVEVEPV9yZXF1aXJlJGNvZGVzLkVSUl9NRVRIT0RfTk9UX0lNUExFTUVOVEVELEVSUl9TVFJFQU1fVU5TSElGVF9BRlRFUl9FTkRfRVZFTlQ9X3JlcXVpcmUkY29kZXMuRVJSX1NUUkVBTV9VTlNISUZUX0FGVEVSX0VORF9FVkVOVDtyZXF1aXJlKFwiaW5oZXJpdHNcIikoUmVhZGFibGUsU3RyZWFtKTt2YXIgZXJyb3JPckRlc3Ryb3k9ZGVzdHJveUltcGwuZXJyb3JPckRlc3Ryb3ksa1Byb3h5RXZlbnRzPVtcImVycm9yXCIsXCJjbG9zZVwiLFwiZGVzdHJveVwiLFwicGF1c2VcIixcInJlc3VtZVwiXTtmdW5jdGlvbiBwcmVwZW5kTGlzdGVuZXIoZSx0LHIpe2lmKFwiZnVuY3Rpb25cIj09dHlwZW9mIGUucHJlcGVuZExpc3RlbmVyKXJldHVybiBlLnByZXBlbmRMaXN0ZW5lcih0LHIpO2UuX2V2ZW50cyYmZS5fZXZlbnRzW3RdP0FycmF5LmlzQXJyYXkoZS5fZXZlbnRzW3RdKT9lLl9ldmVudHNbdF0udW5zaGlmdChyKTplLl9ldmVudHNbdF09W3IsZS5fZXZlbnRzW3RdXTplLm9uKHQscil9ZnVuY3Rpb24gUmVhZGFibGVTdGF0ZShlLHQscil7RHVwbGV4PUR1cGxleHx8cmVxdWlyZShcIi4vX3N0cmVhbV9kdXBsZXhcIiksZT1lfHx7fSxcImJvb2xlYW5cIiE9dHlwZW9mIHImJihyPXQgaW5zdGFuY2VvZiBEdXBsZXgpLHRoaXMub2JqZWN0TW9kZT0hIWUub2JqZWN0TW9kZSxyJiYodGhpcy5vYmplY3RNb2RlPXRoaXMub2JqZWN0TW9kZXx8ISFlLnJlYWRhYmxlT2JqZWN0TW9kZSksdGhpcy5oaWdoV2F0ZXJNYXJrPWdldEhpZ2hXYXRlck1hcmsodGhpcyxlLFwicmVhZGFibGVIaWdoV2F0ZXJNYXJrXCIsciksdGhpcy5idWZmZXI9bmV3IEJ1ZmZlckxpc3QsdGhpcy5sZW5ndGg9MCx0aGlzLnBpcGVzPW51bGwsdGhpcy5waXBlc0NvdW50PTAsdGhpcy5mbG93aW5nPW51bGwsdGhpcy5lbmRlZD0hMSx0aGlzLmVuZEVtaXR0ZWQ9ITEsdGhpcy5yZWFkaW5nPSExLHRoaXMuc3luYz0hMCx0aGlzLm5lZWRSZWFkYWJsZT0hMSx0aGlzLmVtaXR0ZWRSZWFkYWJsZT0hMSx0aGlzLnJlYWRhYmxlTGlzdGVuaW5nPSExLHRoaXMucmVzdW1lU2NoZWR1bGVkPSExLHRoaXMucGF1c2VkPSEwLHRoaXMuZW1pdENsb3NlPSExIT09ZS5lbWl0Q2xvc2UsdGhpcy5hdXRvRGVzdHJveT0hIWUuYXV0b0Rlc3Ryb3ksdGhpcy5kZXN0cm95ZWQ9ITEsdGhpcy5kZWZhdWx0RW5jb2Rpbmc9ZS5kZWZhdWx0RW5jb2Rpbmd8fFwidXRmOFwiLHRoaXMuYXdhaXREcmFpbj0wLHRoaXMucmVhZGluZ01vcmU9ITEsdGhpcy5kZWNvZGVyPW51bGwsdGhpcy5lbmNvZGluZz1udWxsLGUuZW5jb2RpbmcmJihTdHJpbmdEZWNvZGVyfHwoU3RyaW5nRGVjb2Rlcj1yZXF1aXJlKFwic3RyaW5nX2RlY29kZXIvXCIpLlN0cmluZ0RlY29kZXIpLHRoaXMuZGVjb2Rlcj1uZXcgU3RyaW5nRGVjb2RlcihlLmVuY29kaW5nKSx0aGlzLmVuY29kaW5nPWUuZW5jb2RpbmcpfWZ1bmN0aW9uIFJlYWRhYmxlKGUpe2lmKER1cGxleD1EdXBsZXh8fHJlcXVpcmUoXCIuL19zdHJlYW1fZHVwbGV4XCIpLCEodGhpcyBpbnN0YW5jZW9mIFJlYWRhYmxlKSlyZXR1cm4gbmV3IFJlYWRhYmxlKGUpO3ZhciB0PXRoaXMgaW5zdGFuY2VvZiBEdXBsZXg7dGhpcy5fcmVhZGFibGVTdGF0ZT1uZXcgUmVhZGFibGVTdGF0ZShlLHRoaXMsdCksdGhpcy5yZWFkYWJsZT0hMCxlJiYoXCJmdW5jdGlvblwiPT10eXBlb2YgZS5yZWFkJiYodGhpcy5fcmVhZD1lLnJlYWQpLFwiZnVuY3Rpb25cIj09dHlwZW9mIGUuZGVzdHJveSYmKHRoaXMuX2Rlc3Ryb3k9ZS5kZXN0cm95KSksU3RyZWFtLmNhbGwodGhpcyl9ZnVuY3Rpb24gcmVhZGFibGVBZGRDaHVuayhlLHQscixhLG4pe2RlYnVnKFwicmVhZGFibGVBZGRDaHVua1wiLHQpO3ZhciBpLGQ9ZS5fcmVhZGFibGVTdGF0ZTtpZihudWxsPT09dClkLnJlYWRpbmc9ITEsb25Fb2ZDaHVuayhlLGQpO2Vsc2UgaWYobnx8KGk9Y2h1bmtJbnZhbGlkKGQsdCkpLGkpZXJyb3JPckRlc3Ryb3koZSxpKTtlbHNlIGlmKGQub2JqZWN0TW9kZXx8dCYmdC5sZW5ndGg+MClpZihcInN0cmluZ1wiPT10eXBlb2YgdHx8ZC5vYmplY3RNb2RlfHxPYmplY3QuZ2V0UHJvdG90eXBlT2YodCk9PT1CdWZmZXIucHJvdG90eXBlfHwodD1fdWludDhBcnJheVRvQnVmZmVyKHQpKSxhKWQuZW5kRW1pdHRlZD9lcnJvck9yRGVzdHJveShlLG5ldyBFUlJfU1RSRUFNX1VOU0hJRlRfQUZURVJfRU5EX0VWRU5UKTphZGRDaHVuayhlLGQsdCwhMCk7ZWxzZSBpZihkLmVuZGVkKWVycm9yT3JEZXN0cm95KGUsbmV3IEVSUl9TVFJFQU1fUFVTSF9BRlRFUl9FT0YpO2Vsc2V7aWYoZC5kZXN0cm95ZWQpcmV0dXJuITE7ZC5yZWFkaW5nPSExLGQuZGVjb2RlciYmIXI/KHQ9ZC5kZWNvZGVyLndyaXRlKHQpLGQub2JqZWN0TW9kZXx8MCE9PXQubGVuZ3RoP2FkZENodW5rKGUsZCx0LCExKTptYXliZVJlYWRNb3JlKGUsZCkpOmFkZENodW5rKGUsZCx0LCExKX1lbHNlIGF8fChkLnJlYWRpbmc9ITEsbWF5YmVSZWFkTW9yZShlLGQpKTtyZXR1cm4hZC5lbmRlZCYmKGQubGVuZ3RoPGQuaGlnaFdhdGVyTWFya3x8MD09PWQubGVuZ3RoKX1mdW5jdGlvbiBhZGRDaHVuayhlLHQscixhKXt0LmZsb3dpbmcmJjA9PT10Lmxlbmd0aCYmIXQuc3luYz8odC5hd2FpdERyYWluPTAsZS5lbWl0KFwiZGF0YVwiLHIpKToodC5sZW5ndGgrPXQub2JqZWN0TW9kZT8xOnIubGVuZ3RoLGE/dC5idWZmZXIudW5zaGlmdChyKTp0LmJ1ZmZlci5wdXNoKHIpLHQubmVlZFJlYWRhYmxlJiZlbWl0UmVhZGFibGUoZSkpLG1heWJlUmVhZE1vcmUoZSx0KX1mdW5jdGlvbiBjaHVua0ludmFsaWQoZSx0KXt2YXIgcjtyZXR1cm4gX2lzVWludDhBcnJheSh0KXx8XCJzdHJpbmdcIj09dHlwZW9mIHR8fHZvaWQgMD09PXR8fGUub2JqZWN0TW9kZXx8KHI9bmV3IEVSUl9JTlZBTElEX0FSR19UWVBFKFwiY2h1bmtcIixbXCJzdHJpbmdcIixcIkJ1ZmZlclwiLFwiVWludDhBcnJheVwiXSx0KSkscn1PYmplY3QuZGVmaW5lUHJvcGVydHkoUmVhZGFibGUucHJvdG90eXBlLFwiZGVzdHJveWVkXCIse2VudW1lcmFibGU6ITEsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHZvaWQgMCE9PXRoaXMuX3JlYWRhYmxlU3RhdGUmJnRoaXMuX3JlYWRhYmxlU3RhdGUuZGVzdHJveWVkfSxzZXQ6ZnVuY3Rpb24oZSl7dGhpcy5fcmVhZGFibGVTdGF0ZSYmKHRoaXMuX3JlYWRhYmxlU3RhdGUuZGVzdHJveWVkPWUpfX0pLFJlYWRhYmxlLnByb3RvdHlwZS5kZXN0cm95PWRlc3Ryb3lJbXBsLmRlc3Ryb3ksUmVhZGFibGUucHJvdG90eXBlLl91bmRlc3Ryb3k9ZGVzdHJveUltcGwudW5kZXN0cm95LFJlYWRhYmxlLnByb3RvdHlwZS5fZGVzdHJveT1mdW5jdGlvbihlLHQpe3QoZSl9LFJlYWRhYmxlLnByb3RvdHlwZS5wdXNoPWZ1bmN0aW9uKGUsdCl7dmFyIHIsYT10aGlzLl9yZWFkYWJsZVN0YXRlO3JldHVybiBhLm9iamVjdE1vZGU/cj0hMDpcInN0cmluZ1wiPT10eXBlb2YgZSYmKCh0PXR8fGEuZGVmYXVsdEVuY29kaW5nKSE9PWEuZW5jb2RpbmcmJihlPUJ1ZmZlci5mcm9tKGUsdCksdD1cIlwiKSxyPSEwKSxyZWFkYWJsZUFkZENodW5rKHRoaXMsZSx0LCExLHIpfSxSZWFkYWJsZS5wcm90b3R5cGUudW5zaGlmdD1mdW5jdGlvbihlKXtyZXR1cm4gcmVhZGFibGVBZGRDaHVuayh0aGlzLGUsbnVsbCwhMCwhMSl9LFJlYWRhYmxlLnByb3RvdHlwZS5pc1BhdXNlZD1mdW5jdGlvbigpe3JldHVybiExPT09dGhpcy5fcmVhZGFibGVTdGF0ZS5mbG93aW5nfSxSZWFkYWJsZS5wcm90b3R5cGUuc2V0RW5jb2Rpbmc9ZnVuY3Rpb24oZSl7U3RyaW5nRGVjb2Rlcnx8KFN0cmluZ0RlY29kZXI9cmVxdWlyZShcInN0cmluZ19kZWNvZGVyL1wiKS5TdHJpbmdEZWNvZGVyKTt2YXIgdD1uZXcgU3RyaW5nRGVjb2RlcihlKTt0aGlzLl9yZWFkYWJsZVN0YXRlLmRlY29kZXI9dCx0aGlzLl9yZWFkYWJsZVN0YXRlLmVuY29kaW5nPXRoaXMuX3JlYWRhYmxlU3RhdGUuZGVjb2Rlci5lbmNvZGluZztmb3IodmFyIHI9dGhpcy5fcmVhZGFibGVTdGF0ZS5idWZmZXIuaGVhZCxhPVwiXCI7bnVsbCE9PXI7KWErPXQud3JpdGUoci5kYXRhKSxyPXIubmV4dDtyZXR1cm4gdGhpcy5fcmVhZGFibGVTdGF0ZS5idWZmZXIuY2xlYXIoKSxcIlwiIT09YSYmdGhpcy5fcmVhZGFibGVTdGF0ZS5idWZmZXIucHVzaChhKSx0aGlzLl9yZWFkYWJsZVN0YXRlLmxlbmd0aD1hLmxlbmd0aCx0aGlzfTt2YXIgTUFYX0hXTT0xMDczNzQxODI0O2Z1bmN0aW9uIGNvbXB1dGVOZXdIaWdoV2F0ZXJNYXJrKGUpe3JldHVybiBlPj1NQVhfSFdNP2U9TUFYX0hXTTooZS0tLGV8PWU+Pj4xLGV8PWU+Pj4yLGV8PWU+Pj40LGV8PWU+Pj44LGV8PWU+Pj4xNixlKyspLGV9ZnVuY3Rpb24gaG93TXVjaFRvUmVhZChlLHQpe3JldHVybiBlPD0wfHwwPT09dC5sZW5ndGgmJnQuZW5kZWQ/MDp0Lm9iamVjdE1vZGU/MTplIT1lP3QuZmxvd2luZyYmdC5sZW5ndGg/dC5idWZmZXIuaGVhZC5kYXRhLmxlbmd0aDp0Lmxlbmd0aDooZT50LmhpZ2hXYXRlck1hcmsmJih0LmhpZ2hXYXRlck1hcms9Y29tcHV0ZU5ld0hpZ2hXYXRlck1hcmsoZSkpLGU8PXQubGVuZ3RoP2U6dC5lbmRlZD90Lmxlbmd0aDoodC5uZWVkUmVhZGFibGU9ITAsMCkpfWZ1bmN0aW9uIG9uRW9mQ2h1bmsoZSx0KXtpZihkZWJ1ZyhcIm9uRW9mQ2h1bmtcIiksIXQuZW5kZWQpe2lmKHQuZGVjb2Rlcil7dmFyIHI9dC5kZWNvZGVyLmVuZCgpO3ImJnIubGVuZ3RoJiYodC5idWZmZXIucHVzaChyKSx0Lmxlbmd0aCs9dC5vYmplY3RNb2RlPzE6ci5sZW5ndGgpfXQuZW5kZWQ9ITAsdC5zeW5jP2VtaXRSZWFkYWJsZShlKToodC5uZWVkUmVhZGFibGU9ITEsdC5lbWl0dGVkUmVhZGFibGV8fCh0LmVtaXR0ZWRSZWFkYWJsZT0hMCxlbWl0UmVhZGFibGVfKGUpKSl9fWZ1bmN0aW9uIGVtaXRSZWFkYWJsZShlKXt2YXIgdD1lLl9yZWFkYWJsZVN0YXRlO2RlYnVnKFwiZW1pdFJlYWRhYmxlXCIsdC5uZWVkUmVhZGFibGUsdC5lbWl0dGVkUmVhZGFibGUpLHQubmVlZFJlYWRhYmxlPSExLHQuZW1pdHRlZFJlYWRhYmxlfHwoZGVidWcoXCJlbWl0UmVhZGFibGVcIix0LmZsb3dpbmcpLHQuZW1pdHRlZFJlYWRhYmxlPSEwLHByb2Nlc3MubmV4dFRpY2soZW1pdFJlYWRhYmxlXyxlKSl9ZnVuY3Rpb24gZW1pdFJlYWRhYmxlXyhlKXt2YXIgdD1lLl9yZWFkYWJsZVN0YXRlO2RlYnVnKFwiZW1pdFJlYWRhYmxlX1wiLHQuZGVzdHJveWVkLHQubGVuZ3RoLHQuZW5kZWQpLHQuZGVzdHJveWVkfHwhdC5sZW5ndGgmJiF0LmVuZGVkfHwoZS5lbWl0KFwicmVhZGFibGVcIiksdC5lbWl0dGVkUmVhZGFibGU9ITEpLHQubmVlZFJlYWRhYmxlPSF0LmZsb3dpbmcmJiF0LmVuZGVkJiZ0Lmxlbmd0aDw9dC5oaWdoV2F0ZXJNYXJrLGZsb3coZSl9ZnVuY3Rpb24gbWF5YmVSZWFkTW9yZShlLHQpe3QucmVhZGluZ01vcmV8fCh0LnJlYWRpbmdNb3JlPSEwLHByb2Nlc3MubmV4dFRpY2sobWF5YmVSZWFkTW9yZV8sZSx0KSl9ZnVuY3Rpb24gbWF5YmVSZWFkTW9yZV8oZSx0KXtmb3IoOyF0LnJlYWRpbmcmJiF0LmVuZGVkJiYodC5sZW5ndGg8dC5oaWdoV2F0ZXJNYXJrfHx0LmZsb3dpbmcmJjA9PT10Lmxlbmd0aCk7KXt2YXIgcj10Lmxlbmd0aDtpZihkZWJ1ZyhcIm1heWJlUmVhZE1vcmUgcmVhZCAwXCIpLGUucmVhZCgwKSxyPT09dC5sZW5ndGgpYnJlYWt9dC5yZWFkaW5nTW9yZT0hMX1mdW5jdGlvbiBwaXBlT25EcmFpbihlKXtyZXR1cm4gZnVuY3Rpb24oKXt2YXIgdD1lLl9yZWFkYWJsZVN0YXRlO2RlYnVnKFwicGlwZU9uRHJhaW5cIix0LmF3YWl0RHJhaW4pLHQuYXdhaXREcmFpbiYmdC5hd2FpdERyYWluLS0sMD09PXQuYXdhaXREcmFpbiYmRUVsaXN0ZW5lckNvdW50KGUsXCJkYXRhXCIpJiYodC5mbG93aW5nPSEwLGZsb3coZSkpfX1mdW5jdGlvbiB1cGRhdGVSZWFkYWJsZUxpc3RlbmluZyhlKXt2YXIgdD1lLl9yZWFkYWJsZVN0YXRlO3QucmVhZGFibGVMaXN0ZW5pbmc9ZS5saXN0ZW5lckNvdW50KFwicmVhZGFibGVcIik+MCx0LnJlc3VtZVNjaGVkdWxlZCYmIXQucGF1c2VkP3QuZmxvd2luZz0hMDplLmxpc3RlbmVyQ291bnQoXCJkYXRhXCIpPjAmJmUucmVzdW1lKCl9ZnVuY3Rpb24gblJlYWRpbmdOZXh0VGljayhlKXtkZWJ1ZyhcInJlYWRhYmxlIG5leHR0aWNrIHJlYWQgMFwiKSxlLnJlYWQoMCl9ZnVuY3Rpb24gcmVzdW1lKGUsdCl7dC5yZXN1bWVTY2hlZHVsZWR8fCh0LnJlc3VtZVNjaGVkdWxlZD0hMCxwcm9jZXNzLm5leHRUaWNrKHJlc3VtZV8sZSx0KSl9ZnVuY3Rpb24gcmVzdW1lXyhlLHQpe2RlYnVnKFwicmVzdW1lXCIsdC5yZWFkaW5nKSx0LnJlYWRpbmd8fGUucmVhZCgwKSx0LnJlc3VtZVNjaGVkdWxlZD0hMSxlLmVtaXQoXCJyZXN1bWVcIiksZmxvdyhlKSx0LmZsb3dpbmcmJiF0LnJlYWRpbmcmJmUucmVhZCgwKX1mdW5jdGlvbiBmbG93KGUpe3ZhciB0PWUuX3JlYWRhYmxlU3RhdGU7Zm9yKGRlYnVnKFwiZmxvd1wiLHQuZmxvd2luZyk7dC5mbG93aW5nJiZudWxsIT09ZS5yZWFkKCk7KTt9ZnVuY3Rpb24gZnJvbUxpc3QoZSx0KXtyZXR1cm4gMD09PXQubGVuZ3RoP251bGw6KHQub2JqZWN0TW9kZT9yPXQuYnVmZmVyLnNoaWZ0KCk6IWV8fGU+PXQubGVuZ3RoPyhyPXQuZGVjb2Rlcj90LmJ1ZmZlci5qb2luKFwiXCIpOjE9PT10LmJ1ZmZlci5sZW5ndGg/dC5idWZmZXIuZmlyc3QoKTp0LmJ1ZmZlci5jb25jYXQodC5sZW5ndGgpLHQuYnVmZmVyLmNsZWFyKCkpOnI9dC5idWZmZXIuY29uc3VtZShlLHQuZGVjb2Rlcikscik7dmFyIHJ9ZnVuY3Rpb24gZW5kUmVhZGFibGUoZSl7dmFyIHQ9ZS5fcmVhZGFibGVTdGF0ZTtkZWJ1ZyhcImVuZFJlYWRhYmxlXCIsdC5lbmRFbWl0dGVkKSx0LmVuZEVtaXR0ZWR8fCh0LmVuZGVkPSEwLHByb2Nlc3MubmV4dFRpY2soZW5kUmVhZGFibGVOVCx0LGUpKX1mdW5jdGlvbiBlbmRSZWFkYWJsZU5UKGUsdCl7aWYoZGVidWcoXCJlbmRSZWFkYWJsZU5UXCIsZS5lbmRFbWl0dGVkLGUubGVuZ3RoKSwhZS5lbmRFbWl0dGVkJiYwPT09ZS5sZW5ndGgmJihlLmVuZEVtaXR0ZWQ9ITAsdC5yZWFkYWJsZT0hMSx0LmVtaXQoXCJlbmRcIiksZS5hdXRvRGVzdHJveSkpe3ZhciByPXQuX3dyaXRhYmxlU3RhdGU7KCFyfHxyLmF1dG9EZXN0cm95JiZyLmZpbmlzaGVkKSYmdC5kZXN0cm95KCl9fWZ1bmN0aW9uIGluZGV4T2YoZSx0KXtmb3IodmFyIHI9MCxhPWUubGVuZ3RoO3I8YTtyKyspaWYoZVtyXT09PXQpcmV0dXJuIHI7cmV0dXJuLTF9UmVhZGFibGUucHJvdG90eXBlLnJlYWQ9ZnVuY3Rpb24oZSl7ZGVidWcoXCJyZWFkXCIsZSksZT1wYXJzZUludChlLDEwKTt2YXIgdD10aGlzLl9yZWFkYWJsZVN0YXRlLHI9ZTtpZigwIT09ZSYmKHQuZW1pdHRlZFJlYWRhYmxlPSExKSwwPT09ZSYmdC5uZWVkUmVhZGFibGUmJigoMCE9PXQuaGlnaFdhdGVyTWFyaz90Lmxlbmd0aD49dC5oaWdoV2F0ZXJNYXJrOnQubGVuZ3RoPjApfHx0LmVuZGVkKSlyZXR1cm4gZGVidWcoXCJyZWFkOiBlbWl0UmVhZGFibGVcIix0Lmxlbmd0aCx0LmVuZGVkKSwwPT09dC5sZW5ndGgmJnQuZW5kZWQ/ZW5kUmVhZGFibGUodGhpcyk6ZW1pdFJlYWRhYmxlKHRoaXMpLG51bGw7aWYoMD09PShlPWhvd011Y2hUb1JlYWQoZSx0KSkmJnQuZW5kZWQpcmV0dXJuIDA9PT10Lmxlbmd0aCYmZW5kUmVhZGFibGUodGhpcyksbnVsbDt2YXIgYSxuPXQubmVlZFJlYWRhYmxlO3JldHVybiBkZWJ1ZyhcIm5lZWQgcmVhZGFibGVcIixuKSwoMD09PXQubGVuZ3RofHx0Lmxlbmd0aC1lPHQuaGlnaFdhdGVyTWFyaykmJmRlYnVnKFwibGVuZ3RoIGxlc3MgdGhhbiB3YXRlcm1hcmtcIixuPSEwKSx0LmVuZGVkfHx0LnJlYWRpbmc/ZGVidWcoXCJyZWFkaW5nIG9yIGVuZGVkXCIsbj0hMSk6biYmKGRlYnVnKFwiZG8gcmVhZFwiKSx0LnJlYWRpbmc9ITAsdC5zeW5jPSEwLDA9PT10Lmxlbmd0aCYmKHQubmVlZFJlYWRhYmxlPSEwKSx0aGlzLl9yZWFkKHQuaGlnaFdhdGVyTWFyayksdC5zeW5jPSExLHQucmVhZGluZ3x8KGU9aG93TXVjaFRvUmVhZChyLHQpKSksbnVsbD09PShhPWU+MD9mcm9tTGlzdChlLHQpOm51bGwpPyh0Lm5lZWRSZWFkYWJsZT10Lmxlbmd0aDw9dC5oaWdoV2F0ZXJNYXJrLGU9MCk6KHQubGVuZ3RoLT1lLHQuYXdhaXREcmFpbj0wKSwwPT09dC5sZW5ndGgmJih0LmVuZGVkfHwodC5uZWVkUmVhZGFibGU9ITApLHIhPT1lJiZ0LmVuZGVkJiZlbmRSZWFkYWJsZSh0aGlzKSksbnVsbCE9PWEmJnRoaXMuZW1pdChcImRhdGFcIixhKSxhfSxSZWFkYWJsZS5wcm90b3R5cGUuX3JlYWQ9ZnVuY3Rpb24oZSl7ZXJyb3JPckRlc3Ryb3kodGhpcyxuZXcgRVJSX01FVEhPRF9OT1RfSU1QTEVNRU5URUQoXCJfcmVhZCgpXCIpKX0sUmVhZGFibGUucHJvdG90eXBlLnBpcGU9ZnVuY3Rpb24oZSx0KXt2YXIgcj10aGlzLGE9dGhpcy5fcmVhZGFibGVTdGF0ZTtzd2l0Y2goYS5waXBlc0NvdW50KXtjYXNlIDA6YS5waXBlcz1lO2JyZWFrO2Nhc2UgMTphLnBpcGVzPVthLnBpcGVzLGVdO2JyZWFrO2RlZmF1bHQ6YS5waXBlcy5wdXNoKGUpfWEucGlwZXNDb3VudCs9MSxkZWJ1ZyhcInBpcGUgY291bnQ9JWQgb3B0cz0lalwiLGEucGlwZXNDb3VudCx0KTt2YXIgbj0oIXR8fCExIT09dC5lbmQpJiZlIT09cHJvY2Vzcy5zdGRvdXQmJmUhPT1wcm9jZXNzLnN0ZGVycj9kOmY7ZnVuY3Rpb24gaSh0LG4pe2RlYnVnKFwib251bnBpcGVcIiksdD09PXImJm4mJiExPT09bi5oYXNVbnBpcGVkJiYobi5oYXNVbnBpcGVkPSEwLGRlYnVnKFwiY2xlYW51cFwiKSxlLnJlbW92ZUxpc3RlbmVyKFwiY2xvc2VcIixiKSxlLnJlbW92ZUxpc3RlbmVyKFwiZmluaXNoXCIscCksZS5yZW1vdmVMaXN0ZW5lcihcImRyYWluXCIsbyksZS5yZW1vdmVMaXN0ZW5lcihcImVycm9yXCIsdSksZS5yZW1vdmVMaXN0ZW5lcihcInVucGlwZVwiLGkpLHIucmVtb3ZlTGlzdGVuZXIoXCJlbmRcIixkKSxyLnJlbW92ZUxpc3RlbmVyKFwiZW5kXCIsZiksci5yZW1vdmVMaXN0ZW5lcihcImRhdGFcIixsKSxzPSEwLCFhLmF3YWl0RHJhaW58fGUuX3dyaXRhYmxlU3RhdGUmJiFlLl93cml0YWJsZVN0YXRlLm5lZWREcmFpbnx8bygpKX1mdW5jdGlvbiBkKCl7ZGVidWcoXCJvbmVuZFwiKSxlLmVuZCgpfWEuZW5kRW1pdHRlZD9wcm9jZXNzLm5leHRUaWNrKG4pOnIub25jZShcImVuZFwiLG4pLGUub24oXCJ1bnBpcGVcIixpKTt2YXIgbz1waXBlT25EcmFpbihyKTtlLm9uKFwiZHJhaW5cIixvKTt2YXIgcz0hMTtmdW5jdGlvbiBsKHQpe2RlYnVnKFwib25kYXRhXCIpO3ZhciBuPWUud3JpdGUodCk7ZGVidWcoXCJkZXN0LndyaXRlXCIsbiksITE9PT1uJiYoKDE9PT1hLnBpcGVzQ291bnQmJmEucGlwZXM9PT1lfHxhLnBpcGVzQ291bnQ+MSYmLTEhPT1pbmRleE9mKGEucGlwZXMsZSkpJiYhcyYmKGRlYnVnKFwiZmFsc2Ugd3JpdGUgcmVzcG9uc2UsIHBhdXNlXCIsYS5hd2FpdERyYWluKSxhLmF3YWl0RHJhaW4rKyksci5wYXVzZSgpKX1mdW5jdGlvbiB1KHQpe2RlYnVnKFwib25lcnJvclwiLHQpLGYoKSxlLnJlbW92ZUxpc3RlbmVyKFwiZXJyb3JcIix1KSwwPT09RUVsaXN0ZW5lckNvdW50KGUsXCJlcnJvclwiKSYmZXJyb3JPckRlc3Ryb3koZSx0KX1mdW5jdGlvbiBiKCl7ZS5yZW1vdmVMaXN0ZW5lcihcImZpbmlzaFwiLHApLGYoKX1mdW5jdGlvbiBwKCl7ZGVidWcoXCJvbmZpbmlzaFwiKSxlLnJlbW92ZUxpc3RlbmVyKFwiY2xvc2VcIixiKSxmKCl9ZnVuY3Rpb24gZigpe2RlYnVnKFwidW5waXBlXCIpLHIudW5waXBlKGUpfXJldHVybiByLm9uKFwiZGF0YVwiLGwpLHByZXBlbmRMaXN0ZW5lcihlLFwiZXJyb3JcIix1KSxlLm9uY2UoXCJjbG9zZVwiLGIpLGUub25jZShcImZpbmlzaFwiLHApLGUuZW1pdChcInBpcGVcIixyKSxhLmZsb3dpbmd8fChkZWJ1ZyhcInBpcGUgcmVzdW1lXCIpLHIucmVzdW1lKCkpLGV9LFJlYWRhYmxlLnByb3RvdHlwZS51bnBpcGU9ZnVuY3Rpb24oZSl7dmFyIHQ9dGhpcy5fcmVhZGFibGVTdGF0ZSxyPXtoYXNVbnBpcGVkOiExfTtpZigwPT09dC5waXBlc0NvdW50KXJldHVybiB0aGlzO2lmKDE9PT10LnBpcGVzQ291bnQpcmV0dXJuIGUmJmUhPT10LnBpcGVzP3RoaXM6KGV8fChlPXQucGlwZXMpLHQucGlwZXM9bnVsbCx0LnBpcGVzQ291bnQ9MCx0LmZsb3dpbmc9ITEsZSYmZS5lbWl0KFwidW5waXBlXCIsdGhpcyxyKSx0aGlzKTtpZighZSl7dmFyIGE9dC5waXBlcyxuPXQucGlwZXNDb3VudDt0LnBpcGVzPW51bGwsdC5waXBlc0NvdW50PTAsdC5mbG93aW5nPSExO2Zvcih2YXIgaT0wO2k8bjtpKyspYVtpXS5lbWl0KFwidW5waXBlXCIsdGhpcyx7aGFzVW5waXBlZDohMX0pO3JldHVybiB0aGlzfXZhciBkPWluZGV4T2YodC5waXBlcyxlKTtyZXR1cm4tMT09PWQ/dGhpczoodC5waXBlcy5zcGxpY2UoZCwxKSx0LnBpcGVzQ291bnQtPTEsMT09PXQucGlwZXNDb3VudCYmKHQucGlwZXM9dC5waXBlc1swXSksZS5lbWl0KFwidW5waXBlXCIsdGhpcyxyKSx0aGlzKX0sUmVhZGFibGUucHJvdG90eXBlLm9uPWZ1bmN0aW9uKGUsdCl7dmFyIHI9U3RyZWFtLnByb3RvdHlwZS5vbi5jYWxsKHRoaXMsZSx0KSxhPXRoaXMuX3JlYWRhYmxlU3RhdGU7cmV0dXJuXCJkYXRhXCI9PT1lPyhhLnJlYWRhYmxlTGlzdGVuaW5nPXRoaXMubGlzdGVuZXJDb3VudChcInJlYWRhYmxlXCIpPjAsITEhPT1hLmZsb3dpbmcmJnRoaXMucmVzdW1lKCkpOlwicmVhZGFibGVcIj09PWUmJihhLmVuZEVtaXR0ZWR8fGEucmVhZGFibGVMaXN0ZW5pbmd8fChhLnJlYWRhYmxlTGlzdGVuaW5nPWEubmVlZFJlYWRhYmxlPSEwLGEuZmxvd2luZz0hMSxhLmVtaXR0ZWRSZWFkYWJsZT0hMSxkZWJ1ZyhcIm9uIHJlYWRhYmxlXCIsYS5sZW5ndGgsYS5yZWFkaW5nKSxhLmxlbmd0aD9lbWl0UmVhZGFibGUodGhpcyk6YS5yZWFkaW5nfHxwcm9jZXNzLm5leHRUaWNrKG5SZWFkaW5nTmV4dFRpY2ssdGhpcykpKSxyfSxSZWFkYWJsZS5wcm90b3R5cGUuYWRkTGlzdGVuZXI9UmVhZGFibGUucHJvdG90eXBlLm9uLFJlYWRhYmxlLnByb3RvdHlwZS5yZW1vdmVMaXN0ZW5lcj1mdW5jdGlvbihlLHQpe3ZhciByPVN0cmVhbS5wcm90b3R5cGUucmVtb3ZlTGlzdGVuZXIuY2FsbCh0aGlzLGUsdCk7cmV0dXJuXCJyZWFkYWJsZVwiPT09ZSYmcHJvY2Vzcy5uZXh0VGljayh1cGRhdGVSZWFkYWJsZUxpc3RlbmluZyx0aGlzKSxyfSxSZWFkYWJsZS5wcm90b3R5cGUucmVtb3ZlQWxsTGlzdGVuZXJzPWZ1bmN0aW9uKGUpe3ZhciB0PVN0cmVhbS5wcm90b3R5cGUucmVtb3ZlQWxsTGlzdGVuZXJzLmFwcGx5KHRoaXMsYXJndW1lbnRzKTtyZXR1cm5cInJlYWRhYmxlXCIhPT1lJiZ2b2lkIDAhPT1lfHxwcm9jZXNzLm5leHRUaWNrKHVwZGF0ZVJlYWRhYmxlTGlzdGVuaW5nLHRoaXMpLHR9LFJlYWRhYmxlLnByb3RvdHlwZS5yZXN1bWU9ZnVuY3Rpb24oKXt2YXIgZT10aGlzLl9yZWFkYWJsZVN0YXRlO3JldHVybiBlLmZsb3dpbmd8fChkZWJ1ZyhcInJlc3VtZVwiKSxlLmZsb3dpbmc9IWUucmVhZGFibGVMaXN0ZW5pbmcscmVzdW1lKHRoaXMsZSkpLGUucGF1c2VkPSExLHRoaXN9LFJlYWRhYmxlLnByb3RvdHlwZS5wYXVzZT1mdW5jdGlvbigpe3JldHVybiBkZWJ1ZyhcImNhbGwgcGF1c2UgZmxvd2luZz0lalwiLHRoaXMuX3JlYWRhYmxlU3RhdGUuZmxvd2luZyksITEhPT10aGlzLl9yZWFkYWJsZVN0YXRlLmZsb3dpbmcmJihkZWJ1ZyhcInBhdXNlXCIpLHRoaXMuX3JlYWRhYmxlU3RhdGUuZmxvd2luZz0hMSx0aGlzLmVtaXQoXCJwYXVzZVwiKSksdGhpcy5fcmVhZGFibGVTdGF0ZS5wYXVzZWQ9ITAsdGhpc30sUmVhZGFibGUucHJvdG90eXBlLndyYXA9ZnVuY3Rpb24oZSl7dmFyIHQ9dGhpcyxyPXRoaXMuX3JlYWRhYmxlU3RhdGUsYT0hMTtmb3IodmFyIG4gaW4gZS5vbihcImVuZFwiLGZ1bmN0aW9uKCl7aWYoZGVidWcoXCJ3cmFwcGVkIGVuZFwiKSxyLmRlY29kZXImJiFyLmVuZGVkKXt2YXIgZT1yLmRlY29kZXIuZW5kKCk7ZSYmZS5sZW5ndGgmJnQucHVzaChlKX10LnB1c2gobnVsbCl9KSxlLm9uKFwiZGF0YVwiLGZ1bmN0aW9uKG4peyhkZWJ1ZyhcIndyYXBwZWQgZGF0YVwiKSxyLmRlY29kZXImJihuPXIuZGVjb2Rlci53cml0ZShuKSksci5vYmplY3RNb2RlJiZudWxsPT1uKXx8KHIub2JqZWN0TW9kZXx8biYmbi5sZW5ndGgpJiYodC5wdXNoKG4pfHwoYT0hMCxlLnBhdXNlKCkpKX0pLGUpdm9pZCAwPT09dGhpc1tuXSYmXCJmdW5jdGlvblwiPT10eXBlb2YgZVtuXSYmKHRoaXNbbl09ZnVuY3Rpb24odCl7cmV0dXJuIGZ1bmN0aW9uKCl7cmV0dXJuIGVbdF0uYXBwbHkoZSxhcmd1bWVudHMpfX0obikpO2Zvcih2YXIgaT0wO2k8a1Byb3h5RXZlbnRzLmxlbmd0aDtpKyspZS5vbihrUHJveHlFdmVudHNbaV0sdGhpcy5lbWl0LmJpbmQodGhpcyxrUHJveHlFdmVudHNbaV0pKTtyZXR1cm4gdGhpcy5fcmVhZD1mdW5jdGlvbih0KXtkZWJ1ZyhcIndyYXBwZWQgX3JlYWRcIix0KSxhJiYoYT0hMSxlLnJlc3VtZSgpKX0sdGhpc30sXCJmdW5jdGlvblwiPT10eXBlb2YgU3ltYm9sJiYoUmVhZGFibGUucHJvdG90eXBlW1N5bWJvbC5hc3luY0l0ZXJhdG9yXT1mdW5jdGlvbigpe3JldHVybiB2b2lkIDA9PT1jcmVhdGVSZWFkYWJsZVN0cmVhbUFzeW5jSXRlcmF0b3ImJihjcmVhdGVSZWFkYWJsZVN0cmVhbUFzeW5jSXRlcmF0b3I9cmVxdWlyZShcIi4vaW50ZXJuYWwvc3RyZWFtcy9hc3luY19pdGVyYXRvclwiKSksY3JlYXRlUmVhZGFibGVTdHJlYW1Bc3luY0l0ZXJhdG9yKHRoaXMpfSksT2JqZWN0LmRlZmluZVByb3BlcnR5KFJlYWRhYmxlLnByb3RvdHlwZSxcInJlYWRhYmxlSGlnaFdhdGVyTWFya1wiLHtlbnVtZXJhYmxlOiExLGdldDpmdW5jdGlvbigpe3JldHVybiB0aGlzLl9yZWFkYWJsZVN0YXRlLmhpZ2hXYXRlck1hcmt9fSksT2JqZWN0LmRlZmluZVByb3BlcnR5KFJlYWRhYmxlLnByb3RvdHlwZSxcInJlYWRhYmxlQnVmZmVyXCIse2VudW1lcmFibGU6ITEsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX3JlYWRhYmxlU3RhdGUmJnRoaXMuX3JlYWRhYmxlU3RhdGUuYnVmZmVyfX0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShSZWFkYWJsZS5wcm90b3R5cGUsXCJyZWFkYWJsZUZsb3dpbmdcIix7ZW51bWVyYWJsZTohMSxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fcmVhZGFibGVTdGF0ZS5mbG93aW5nfSxzZXQ6ZnVuY3Rpb24oZSl7dGhpcy5fcmVhZGFibGVTdGF0ZSYmKHRoaXMuX3JlYWRhYmxlU3RhdGUuZmxvd2luZz1lKX19KSxSZWFkYWJsZS5fZnJvbUxpc3Q9ZnJvbUxpc3QsT2JqZWN0LmRlZmluZVByb3BlcnR5KFJlYWRhYmxlLnByb3RvdHlwZSxcInJlYWRhYmxlTGVuZ3RoXCIse2VudW1lcmFibGU6ITEsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX3JlYWRhYmxlU3RhdGUubGVuZ3RofX0pLFwiZnVuY3Rpb25cIj09dHlwZW9mIFN5bWJvbCYmKFJlYWRhYmxlLmZyb209ZnVuY3Rpb24oZSx0KXtyZXR1cm4gdm9pZCAwPT09ZnJvbSYmKGZyb209cmVxdWlyZShcIi4vaW50ZXJuYWwvc3RyZWFtcy9mcm9tXCIpKSxmcm9tKFJlYWRhYmxlLGUsdCl9KTtcblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYklsOXpkSEpsWVcxZmNtVmhaR0ZpYkdVdWFuTWlYU3dpYm1GdFpYTWlPbHNpUkhWd2JHVjRJaXdpYlc5a2RXeGxJaXdpWlhod2IzSjBjeUlzSWxKbFlXUmhZbXhsSWl3aVVtVmhaR0ZpYkdWVGRHRjBaU0lzSWtWRklpd2ljbVZ4ZFdseVpTSXNJa1YyWlc1MFJXMXBkSFJsY2lJc0lrVkZiR2x6ZEdWdVpYSkRiM1Z1ZENJc0ltVnRhWFIwWlhJaUxDSjBlWEJsSWl3aWJHbHpkR1Z1WlhKeklpd2liR1Z1WjNSb0lpd2lVM1J5WldGdElpd2lRblZtWm1WeUlpd2lUM1Z5VldsdWREaEJjbkpoZVNJc0ltZHNiMkpoYkNJc0lsVnBiblE0UVhKeVlYa2lMQ0pmZFdsdWREaEJjbkpoZVZSdlFuVm1abVZ5SWl3aVkyaDFibXNpTENKbWNtOXRJaXdpWDJselZXbHVkRGhCY25KaGVTSXNJbTlpYWlJc0ltbHpRblZtWm1WeUlpd2laR1ZpZFdjaUxDSmtaV0oxWjFWMGFXd2lMQ0prWldKMVoyeHZaeUlzSWxOMGNtbHVaMFJsWTI5a1pYSWlMQ0pqY21WaGRHVlNaV0ZrWVdKc1pWTjBjbVZoYlVGemVXNWpTWFJsY21GMGIzSWlMQ0pDZFdabVpYSk1hWE4wSWl3aVpHVnpkSEp2ZVVsdGNHd2lMQ0pmY21WeGRXbHlaU0lzSW1kbGRFaHBaMmhYWVhSbGNrMWhjbXNpTENKZmNtVnhkV2x5WlNSamIyUmxjeUlzSW1OdlpHVnpJaXdpUlZKU1gwbE9Wa0ZNU1VSZlFWSkhYMVJaVUVVaUxDSkZVbEpmVTFSU1JVRk5YMUJWVTBoZlFVWlVSVkpmUlU5R0lpd2lSVkpTWDAxRlZFaFBSRjlPVDFSZlNVMVFURVZOUlU1VVJVUWlMQ0pGVWxKZlUxUlNSVUZOWDFWT1UwaEpSbFJmUVVaVVJWSmZSVTVFWDBWV1JVNVVJaXdpWlhKeWIzSlBja1JsYzNSeWIza2lMQ0pyVUhKdmVIbEZkbVZ1ZEhNaUxDSndjbVZ3Wlc1a1RHbHpkR1Z1WlhJaUxDSmxkbVZ1ZENJc0ltWnVJaXdpWDJWMlpXNTBjeUlzSWtGeWNtRjVJaXdpYVhOQmNuSmhlU0lzSW5WdWMyaHBablFpTENKdmJpSXNJbTl3ZEdsdmJuTWlMQ0p6ZEhKbFlXMGlMQ0pwYzBSMWNHeGxlQ0lzSW5Sb2FYTWlMQ0p2WW1wbFkzUk5iMlJsSWl3aWNtVmhaR0ZpYkdWUFltcGxZM1JOYjJSbElpd2lhR2xuYUZkaGRHVnlUV0Z5YXlJc0ltSjFabVpsY2lJc0luQnBjR1Z6SWl3aWNHbHdaWE5EYjNWdWRDSXNJbVpzYjNkcGJtY2lMQ0psYm1SbFpDSXNJbVZ1WkVWdGFYUjBaV1FpTENKeVpXRmthVzVuSWl3aWMzbHVZeUlzSW01bFpXUlNaV0ZrWVdKc1pTSXNJbVZ0YVhSMFpXUlNaV0ZrWVdKc1pTSXNJbkpsWVdSaFlteGxUR2x6ZEdWdWFXNW5JaXdpY21WemRXMWxVMk5vWldSMWJHVmtJaXdpY0dGMWMyVmtJaXdpWlcxcGRFTnNiM05sSWl3aVlYVjBiMFJsYzNSeWIza2lMQ0prWlhOMGNtOTVaV1FpTENKa1pXWmhkV3gwUlc1amIyUnBibWNpTENKaGQyRnBkRVJ5WVdsdUlpd2ljbVZoWkdsdVowMXZjbVVpTENKa1pXTnZaR1Z5SWl3aVpXNWpiMlJwYm1jaUxDSmZjbVZoWkdGaWJHVlRkR0YwWlNJc0luSmxZV1JoWW14bElpd2ljbVZoWkNJc0lsOXlaV0ZrSWl3aVpHVnpkSEp2ZVNJc0lsOWtaWE4wY205NUlpd2lZMkZzYkNJc0luSmxZV1JoWW14bFFXUmtRMmgxYm1zaUxDSmhaR1JVYjBaeWIyNTBJaXdpYzJ0cGNFTm9kVzVyUTJobFkyc2lMQ0psY2lJc0luTjBZWFJsSWl3aWIyNUZiMlpEYUhWdWF5SXNJbU5vZFc1clNXNTJZV3hwWkNJc0lrOWlhbVZqZENJc0ltZGxkRkJ5YjNSdmRIbHdaVTltSWl3aWNISnZkRzkwZVhCbElpd2lZV1JrUTJoMWJtc2lMQ0ozY21sMFpTSXNJbTFoZVdKbFVtVmhaRTF2Y21VaUxDSmxiV2wwSWl3aWNIVnphQ0lzSW1WdGFYUlNaV0ZrWVdKc1pTSXNJblZ1WkdWbWFXNWxaQ0lzSW1SbFptbHVaVkJ5YjNCbGNuUjVJaXdpWlc1MWJXVnlZV0pzWlNJc0ltZGxkQ0lzSW5ObGRDSXNJblpoYkhWbElpd2lYM1Z1WkdWemRISnZlU0lzSW5WdVpHVnpkSEp2ZVNJc0ltVnljaUlzSW1OaUlpd2lhWE5RWVhWelpXUWlMQ0p6WlhSRmJtTnZaR2x1WnlJc0ltVnVZeUlzSW5BaUxDSm9aV0ZrSWl3aVkyOXVkR1Z1ZENJc0ltUmhkR0VpTENKdVpYaDBJaXdpWTJ4bFlYSWlMQ0pOUVZoZlNGZE5JaXdpWTI5dGNIVjBaVTVsZDBocFoyaFhZWFJsY2sxaGNtc2lMQ0p1SWl3aWFHOTNUWFZqYUZSdlVtVmhaQ0lzSW1WdVpDSXNJbVZ0YVhSU1pXRmtZV0pzWlY4aUxDSndjbTlqWlhOeklpd2libVY0ZEZScFkyc2lMQ0ptYkc5M0lpd2liV0Y1WW1WU1pXRmtUVzl5WlY4aUxDSnNaVzRpTENKd2FYQmxUMjVFY21GcGJpSXNJbk55WXlJc0luVndaR0YwWlZKbFlXUmhZbXhsVEdsemRHVnVhVzVuSWl3aWMyVnNaaUlzSW14cGMzUmxibVZ5UTI5MWJuUWlMQ0p5WlhOMWJXVWlMQ0p1VW1WaFpHbHVaMDVsZUhSVWFXTnJJaXdpY21WemRXMWxYeUlzSW1aeWIyMU1hWE4wSWl3aWNtVjBJaXdpYzJocFpuUWlMQ0pxYjJsdUlpd2labWx5YzNRaUxDSmpiMjVqWVhRaUxDSmpiMjV6ZFcxbElpd2laVzVrVW1WaFpHRmliR1VpTENKbGJtUlNaV0ZrWVdKc1pVNVVJaXdpZDFOMFlYUmxJaXdpWDNkeWFYUmhZbXhsVTNSaGRHVWlMQ0ptYVc1cGMyaGxaQ0lzSW1sdVpHVjRUMllpTENKNGN5SXNJbmdpTENKcElpd2liQ0lzSW5CaGNuTmxTVzUwSWl3aWJrOXlhV2NpTENKa2IxSmxZV1FpTENKd2FYQmxJaXdpWkdWemRDSXNJbkJwY0dWUGNIUnpJaXdpWlc1a1JtNGlMQ0p6ZEdSdmRYUWlMQ0p6ZEdSbGNuSWlMQ0p2Ym1WdVpDSXNJblZ1Y0dsd1pTSXNJbTl1ZFc1d2FYQmxJaXdpZFc1d2FYQmxTVzVtYnlJc0ltaGhjMVZ1Y0dsd1pXUWlMQ0p5WlcxdmRtVk1hWE4wWlc1bGNpSXNJbTl1WTJ4dmMyVWlMQ0p2Ym1acGJtbHphQ0lzSW05dVpISmhhVzRpTENKdmJtVnljbTl5SWl3aWIyNWtZWFJoSWl3aVkyeGxZVzVsWkZWd0lpd2libVZsWkVSeVlXbHVJaXdpYjI1alpTSXNJbkJoZFhObElpd2laR1Z6ZEhNaUxDSnBibVJsZUNJc0luTndiR2xqWlNJc0ltVjJJaXdpY21Weklpd2lZV1JrVEdsemRHVnVaWElpTENKeVpXMXZkbVZCYkd4TWFYTjBaVzVsY25NaUxDSmhjSEJzZVNJc0ltRnlaM1Z0Wlc1MGN5SXNJbmR5WVhBaUxDSmZkR2hwY3lJc0ltMWxkR2h2WkNJc0ltSnBibVFpTENKVGVXMWliMndpTENKaGMzbHVZMGwwWlhKaGRHOXlJaXdpWDJaeWIyMU1hWE4wSWl3aWFYUmxjbUZpYkdVaUxDSnZjSFJ6SWwwc0ltMWhjSEJwYm1keklqb2lRVUZ2UWtFc1lVRkxRU3hKUVVGSlFTeFBRVWhLUXl4UFFVRlBReXhSUVVGVlF5eFRRVTFxUWtFc1UwRkJVME1zWTBGQlowSkJMR05CUjNwQ0xFbEJRVWxETEVkQlFVdERMRkZCUVZFc1ZVRkJWVU1zWVVGRmRrSkRMR2RDUVVGclFpeFRRVUY1UWtNc1JVRkJVME1zUjBGRGRFUXNUMEZCVDBRc1JVRkJVVVVzVlVGQlZVUXNSMEZCVFVVc1VVRlBOMEpETEU5QlFWTlFMRkZCUVZFc05rSkJTV3BDVVN4UFFVRlRVaXhSUVVGUkxGVkJRVlZSTEU5QlJUTkNReXhqUVVGblFrTXNUMEZCVDBNc1dVRkJZeXhoUVVWNlF5eFRRVUZUUXl4dlFrRkJiMEpETEVkQlF6TkNMRTlCUVU5TUxFOUJRVTlOTEV0QlFVdEVMRWRCUjNKQ0xGTkJRVk5GTEdOQlFXTkRMRWRCUTNKQ0xFOUJRVTlTTEU5QlFVOVRMRk5CUVZORUxFbEJRVkZCTEdGQlFXVlFMR05CUzJoRUxFbEJSVWxUTEUxQlJrRkRMRlZCUVZsdVFpeFJRVUZSTEZGQlMzUkNhMElzVFVGRVJVTXNWMEZCWVVFc1ZVRkJWVU1zVTBGRGFrSkVMRlZCUVZWRExGTkJRVk1zVlVGRmJrSXNZVUZMVml4SlFXTkpReXhqUVVOQlF5eHJRMEZEUVZJc1MwRm9Ra0ZUTEZkQlFXRjJRaXhSUVVGUkxHdERRVVZ5UW5kQ0xGbEJRV040UWl4UlFVRlJMRGhDUVVWMFFubENMRk5CUVZkNlFpeFJRVUZSTERSQ1FVTnVRakJDTEdsQ1FVRnRRa1FzVTBGQlUwTXNhVUpCUlRWQ1F5eGxRVUZwUWpOQ0xGRkJRVkVzWVVGQllUUkNMRTFCUTNSRFF5eHhRa0ZCZFVKR0xHVkJRV1ZGTEhGQ1FVTjBRME1zTUVKQlFUUkNTQ3hsUVVGbFJ5d3dRa0ZETTBORExESkNRVUUyUWtvc1pVRkJaVWtzTWtKQlF6VkRReXh0UTBGQmNVTk1MR1ZCUVdWTExHMURRVTk0UkdoRExGRkJRVkVzVjBGQlVrRXNRMEZCYjBKSUxGTkJRVlZWTEZGQlJUbENMRWxCUVVrd1FpeGxRVUZwUWxRc1dVRkJXVk1zWlVGRE4wSkRMR0ZCUVdVc1EwRkJReXhSUVVGVExGRkJRVk1zVlVGQlZ5eFJRVUZUTEZWQlJURkVMRk5CUVZORExHZENRVUZuUW1oRExFVkJRVk5wUXl4RlFVRlBReXhIUVVkMlF5eEhRVUYxUXl4dFFrRkJOVUpzUXl4RlFVRlJaME1zWjBKQlFXZERMRTlCUVU5b1F5eEZRVUZSWjBNc1owSkJRV2RDUXl4RlFVRlBReXhIUVV0d1JteERMRVZCUVZGdFF5eFRRVUZaYmtNc1JVRkJVVzFETEZGQlFWRkdMRWRCUVhWRFJ5eE5RVUZOUXl4UlFVRlJja01zUlVGQlVXMURMRkZCUVZGR0xFbEJRVk5xUXl4RlFVRlJiVU1zVVVGQlVVWXNSMEZCVDBzc1VVRkJVVW9zUjBGQlUyeERMRVZCUVZGdFF5eFJRVUZSUml4SFFVRlRMRU5CUVVORExFVkJRVWxzUXl4RlFVRlJiVU1zVVVGQlVVWXNTVUZCTlVwcVF5eEZRVUZSZFVNc1IwRkJSMDRzUlVGQlQwTXNSMEZIY2tVc1UwRkJVM1pETEdOQlFXTTJReXhGUVVGVFF5eEZRVUZSUXl4SFFVTjBRMjVFTEU5QlFWTkJMRkZCUVZWTkxGRkJRVkVzYjBKQlF6TkNNa01zUlVGQlZVRXNSMEZCVnl4SFFVMUhMR3RDUVVGaVJTeEpRVUYzUWtFc1JVRkJWMFFzWVVGQmEwSnNSQ3hSUVVkb1JXOUVMRXRCUVV0RExHRkJRV1ZLTEVWQlFWRkpMRmRCUTNoQ1JpeEpRVUZWUXl4TFFVRkxReXhYUVVGaFJDeExRVUZMUXl4alFVRm5Ra29zUlVGQlVVc3NiMEpCUnpkRVJpeExRVUZMUnl4alFVRm5RblpDTEdsQ1FVRnBRbTlDTEV0QlFVMUlMRVZCUVZNc2QwSkJRWGxDUlN4SFFVazVSVU1zUzBGQlMwa3NUMEZCVXl4SlFVRkpNMElzVjBGRGJFSjFRaXhMUVVGTGVFTXNUMEZCVXl4RlFVTmtkME1zUzBGQlMwc3NUVUZCVVN4TFFVTmlUQ3hMUVVGTFRTeFhRVUZoTEVWQlEyeENUaXhMUVVGTFR5eFJRVUZWTEV0QlEyWlFMRXRCUVV0UkxFOUJRVkVzUlVGRFlsSXNTMEZCUzFNc1dVRkJZU3hGUVVOc1FsUXNTMEZCUzFVc1UwRkJWU3hGUVV0bVZpeExRVUZMVnl4TlFVRlBMRVZCUjFwWUxFdEJRVXRaTEdOQlFXVXNSVUZEY0VKYUxFdEJRVXRoTEdsQ1FVRnJRaXhGUVVOMlFtSXNTMEZCUzJNc2JVSkJRVzlDTEVWQlEzcENaQ3hMUVVGTFpTeHBRa0ZCYTBJc1JVRkRka0ptTEV0QlFVdG5RaXhSUVVGVExFVkJSV1JvUWl4TFFVRkxhVUlzVjBGQmEwTXNTVUZCZEVKd1FpeEZRVUZSYjBJc1ZVRkZla0pxUWl4TFFVRkxhMElzWTBGQlowSnlRaXhGUVVGUmNVSXNXVUZGTjBKc1FpeExRVUZMYlVJc1YwRkJXU3hGUVVscVFtNUNMRXRCUVV0dlFpeG5Ra0ZCYTBKMlFpeEZRVUZSZFVJc2FVSkJRVzFDTEU5QlJXeEVjRUlzUzBGQlMzRkNMRmRCUVdFc1JVRkZiRUp5UWl4TFFVRkxjMElzWVVGQll5eEZRVU51UW5SQ0xFdEJRVXQxUWl4UlFVRlZMRXRCUTJaMlFpeExRVUZMZDBJc1UwRkJWeXhMUVVWYU0wSXNSVUZCVVRKQ0xGZEJRMHhxUkN4blFrRkJaVUVzWTBGQlowSnlRaXhSUVVGUkxHMUNRVUZ0UW5GQ0xHVkJReTlFZVVJc1MwRkJTM1ZDTEZGQlFWVXNTVUZCU1doRUxHTkJRV056UWl4RlFVRlJNa0lzVlVGRGVrTjRRaXhMUVVGTGQwSXNVMEZCVnpOQ0xFVkJRVkV5UWl4VlFVazFRaXhUUVVGVGVrVXNVMEZCVXpoRExFZEJSV2hDTEVkQlJFRnFSQ3hQUVVGVFFTeFJRVUZWVFN4UlFVRlJMSE5DUVVOeVFqaERMR2RDUVVGblFtcEVMRlZCUVZjc1QwRkJUeXhKUVVGSlFTeFRRVUZUT0VNc1IwRkhja1FzU1VGQlNVVXNSVUZCVjBNc1owSkJRV2RDY0VRc1QwRkRMMEp2UkN4TFFVRkxlVUlzWlVGQmFVSXNTVUZCU1hwRkxHTkJRV00yUXl4RlFVRlRSeXhMUVVGTlJDeEhRVVYyUkVNc1MwRkJTekJDTEZWQlFWY3NSVUZGV2pkQ0xFbEJRekJDTEcxQ1FVRnFRa0VzUlVGQlVUaENMRTlCUVhGQ00wSXNTMEZCU3pSQ0xFMUJRVkV2UWl4RlFVRlJPRUlzVFVGRE9VSXNiVUpCUVhCQ09VSXNSVUZCVVdkRExGVkJRWGRDTjBJc1MwRkJTemhDTEZOQlFWZHFReXhGUVVGUlowTXNWVUZIY2tWd1JTeFBRVUZQYzBVc1MwRkJTeTlDTEUxQmFVVmtMRk5CUVZOblF5eHBRa0ZCYVVKc1F5eEZRVUZSTDBJc1JVRkJUM2xFTEVWQlFWVlRMRVZCUVZsRExFZEJRemRFT1VRc1RVRkJUU3h0UWtGQmIwSk1MRWRCUXpGQ0xFbEJUVTF2UlN4RlFVNUdReXhGUVVGUmRFTXNSVUZCVHpKQ0xHVkJSVzVDTEVkQlFXTXNUMEZCVmpGRUxFVkJRMFp4UlN4RlFVRk5NVUlzVTBGQlZTeEZRVU5vUWpKQ0xGZEJRVmQyUXl4RlFVRlJjME1zVVVGTGJrSXNSMEZHUzBZc1NVRkJaMEpETEVWQlFVdEhMR0ZCUVdGR0xFVkJRVTl5UlN4SlFVVXhRMjlGTEVWQlEwWm9SQ3hsUVVGbFZ5eEZRVUZSY1VNc1VVRkRiRUlzUjBGQlNVTXNSVUZCVFc1RExGbEJRV05zUXl4SFFVRlRRU3hGUVVGTlVDeFBRVUZUTEVWQlMzSkVMRWRCU25GQ0xHbENRVUZXVHl4SFFVRjFRbkZGTEVWQlFVMXVReXhaUVVGamMwTXNUMEZCVDBNc1pVRkJaWHBGTEV0QlFWZE1MRTlCUVU4clJTeFpRVU0xUmpGRkxFVkJRVkZFTEc5Q1FVRnZRa01zU1VGSE1VSnJSU3hGUVVORlJ5eEZRVUZOTTBJc1YwRkJXWFJDTEdWQlFXVlhMRVZCUVZFc1NVRkJTVm9zYjBOQlFUSkRkMFFzVTBGQlV6VkRMRVZCUVZGelF5eEZRVUZQY2tVc1IwRkJUeXhSUVVOMFNDeEhRVUZKY1VVc1JVRkJUVFZDTEUxQlEyWnlRaXhsUVVGbFZ5eEZRVUZSTEVsQlFVbGtMQ3RDUVVOMFFpeERRVUZCTEVkQlFVbHZSQ3hGUVVGTmFrSXNWVUZEWml4UFFVRlBMRVZCUlZCcFFpeEZRVUZOTVVJc1UwRkJWU3hGUVVWYU1FSXNSVUZCVFdJc1ZVRkJXVU1zUjBGRGNFSjZSQ3hGUVVGUmNVVXNSVUZCVFdJc1VVRkJVVzlDTEUxQlFVMDFSU3hIUVVONFFuRkZMRVZCUVUxdVF5eFpRVUVyUWl4SlFVRnFRbXhETEVWQlFVMVFMRTlCUVdOclJpeFRRVUZUTlVNc1JVRkJVWE5ETEVWQlFVOXlSU3hIUVVGUExFZEJRVmsyUlN4alFVRmpPVU1zUlVGQlVYTkRMRWxCUlRkSFRTeFRRVUZUTlVNc1JVRkJVWE5ETEVWQlFVOXlSU3hIUVVGUExGRkJSM3BDYTBVc1NVRkRWa2NzUlVGQlRURkNMRk5CUVZVc1JVRkRhRUpyUXl4alFVRmpPVU1zUlVGQlVYTkRMRWxCVHpGQ0xFOUJRVkZCTEVWQlFVMDFRaXhSUVVGVk5FSXNSVUZCVFRWRkxFOUJRVk0wUlN4RlFVRk5ha01zWlVGQmEwTXNTVUZCYWtKcFF5eEZRVUZOTlVVc1VVRkhkRVVzVTBGQlUydEdMRk5CUVZNMVF5eEZRVUZSYzBNc1JVRkJUM0pGTEVWQlFVOXJSU3hIUVVOc1EwY3NSVUZCVFRkQ0xGTkJRVFJDTEVsQlFXcENOa0lzUlVGQlRUVkZMRk5CUVdsQ05FVXNSVUZCVFhwQ0xFMUJRMmhFZVVJc1JVRkJUV1lzVjBGQllTeEZRVU51UW5aQ0xFVkJRVThyUXl4TFFVRkxMRTlCUVZFNVJTeExRVWR3UW5GRkxFVkJRVTAxUlN4UlFVRlZORVVzUlVGQlRXNURMRmRCUVdFc1JVRkJTV3hETEVWQlFVMVFMRTlCUTNwRGVVVXNSVUZCV1Vjc1JVRkJUV2hETEU5QlFVOVVMRkZCUVZFMVFpeEhRVUZaY1VVc1JVRkJUV2hETEU5QlFVOHdReXhMUVVGTEwwVXNSMEZETDBSeFJTeEZRVUZOZUVJc1kwRkJZMjFETEdGQlFXRnFSQ3hKUVVkMlF6aERMR05CUVdNNVF5eEZRVUZSYzBNc1IwRkhlRUlzVTBGQlUwVXNZVUZCWVVZc1JVRkJUM0pGTEVkQlF6TkNMRWxCUVVsdlJTeEZRVTFLTEU5QlNrdHNSU3hqUVVGalJpeEpRVUV5UWl4cFFrRkJWa0VzVVVGQlowTnBSaXhKUVVGV2FrWXNSMEZCZDBKeFJTeEZRVUZOYmtNc1lVRkRkRVpyUXl4RlFVRkxMRWxCUVVsd1JDeHhRa0ZCY1VJc1VVRkJVeXhEUVVGRExGTkJRVlVzVTBGQlZTeGpRVUZsYUVJc1NVRkhkRVZ2UlN4RlFXcEpWRWtzVDBGQlQxVXNaVUZCWld4SExGTkJRVk13Uml4VlFVRlhMRmxCUVdFc1EwRkpja1JUTEZsQlFWa3NSVUZEV2tNc1NVRkJTeXhYUVVOSUxGbEJRVFJDU0N4SlFVRjRRbWhFTEV0QlFVdDVRaXhuUWtGSlJucENMRXRCUVV0NVFpeGxRVUZsVGl4WFFVVTNRbWxETEVsQlFVc3NVMEZCWVVNc1IwRkhXSEpFTEV0QlFVdDVRaXhwUWtGTlZucENMRXRCUVV0NVFpeGxRVUZsVGl4VlFVRlphME1zVFVGSGNFTjBSeXhUUVVGVE1FWXNWVUZCVlZvc1VVRkJWVzVFTEZsQlFWbHRSQ3hSUVVONlF6bEZMRk5CUVZNd1JpeFZRVUZWWVN4WFFVRmhOVVVzV1VGQldUWkZMRlZCUlRWRGVFY3NVMEZCVXpCR0xGVkJRVlZZTEZOQlFWY3NVMEZCVlRCQ0xFVkJRVXRETEVkQlF6TkRRU3hGUVVGSFJDeEpRVTlNZWtjc1UwRkJVekJHTEZWQlFWVkxMRXRCUVU4c1UwRkJWUzlGTEVWQlFVOTVSQ3hIUVVONlF5eEpRVU5KVlN4RlFVUkJSU3hGUVVGUmNFTXNTMEZCUzNsQ0xHVkJhMEpxUWl4UFFXWkxWeXhGUVVGTmJrTXNWMEZaVkdsRExFZEJRV2xDTEVWQldFa3NhVUpCUVZadVJTeExRVU5VZVVRc1JVRkJWMEVzUjBGQldWa3NSVUZCVFdoQ0xHMUNRVVZhWjBJc1JVRkJUVm9zVjBGRGNrSjZSQ3hGUVVGUlRDeFBRVUZQVFN4TFFVRkxSQ3hGUVVGUGVVUXNSMEZETTBKQkxFVkJRVmNzU1VGSFlsVXNSMEZCYVVJc1IwRk5aRVlzYVVKQlFXbENhRU1zUzBGQlRXcERMRVZCUVU5NVJDeEhRVUZWTEVWQlFVOVZMRWxCU1hoRWJrWXNVMEZCVXpCR0xGVkJRVlU1UXl4UlFVRlZMRk5CUVZVMVFpeEhRVU55UXl4UFFVRlBhVVVzYVVKQlFXbENhRU1zUzBGQlRXcERMRVZCUVU4c1RVRkJUU3hIUVVGTkxFbEJlVVZ1UkdoQ0xGTkJRVk13Uml4VlFVRlZhVUlzVTBGQlZ5eFhRVU0xUWl4UFFVRjFReXhKUVVGb1F6RkVMRXRCUVV0NVFpeGxRVUZsYkVJc1UwRkpOMEo0UkN4VFFVRlRNRVlzVlVGQlZXdENMRmxCUVdNc1UwRkJWVU1zUjBGRGNFTnlSaXhuUWtGQlpVRXNZMEZCWjBKeVFpeFJRVUZSTEcxQ1FVRnRRbkZDTEdWQlF5OUVMRWxCUVVsblJDeEZRVUZWTEVsQlFVbG9SQ3hqUVVGamNVWXNSMEZEYUVNMVJDeExRVUZMZVVJc1pVRkJaVVlzVVVGQlZVRXNSVUZGT1VKMlFpeExRVUZMZVVJc1pVRkJaVVFzVTBGQlYzaENMRXRCUVV0NVFpeGxRVUZsUml4UlFVRlJReXhUUVVzelJDeEpRVWhCTEVsQlFVbHhReXhGUVVGSk4wUXNTMEZCUzNsQ0xHVkJRV1Z5UWl4UFFVRlBNRVFzUzBGREwwSkRMRVZCUVZVc1IwRkZSQ3hQUVVGT1JpeEhRVU5NUlN4SFFVRlhlRU1zUlVGQlVXOUNMRTFCUVUxclFpeEZRVUZGUnl4TlFVTXpRa2dzUlVGQlNVRXNSVUZCUlVrc1MwRlBVaXhQUVVwQmFrVXNTMEZCUzNsQ0xHVkJRV1Z5UWl4UFFVRlBPRVFzVVVGRldDeExRVUZhU0N4SFFVRm5RaTlFTEV0QlFVdDVRaXhsUVVGbGNrSXNUMEZCVHpCRExFdEJRVXRwUWl4SFFVTndSQzlFTEV0QlFVdDVRaXhsUVVGbGFrVXNUMEZCVTNWSExFVkJRVkYyUnl4UFFVTTVRbmRETEUxQlNWUXNTVUZCU1cxRkxGRkJRVlVzVjBGRlpDeFRRVUZUUXl4M1FrRkJkMEpETEVkQlowSXZRaXhQUVdaSlFTeEhRVUZMUml4UlFVVlFSU3hGUVVGSlJpeFRRVWxLUlN4SlFVTkJRU3hIUVVGTFFTeEpRVUZOTEVWQlExaEJMRWRCUVV0QkxFbEJRVTBzUlVGRFdFRXNSMEZCUzBFc1NVRkJUU3hGUVVOWVFTeEhRVUZMUVN4SlFVRk5MRVZCUTFoQkxFZEJRVXRCTEVsQlFVMHNSMEZEV0VFc1MwRkhTMEVzUlVGTFZDeFRRVUZUUXl4alFVRmpSQ3hGUVVGSGFrTXNSMEZEZUVJc1QwRkJTV2xETEVkQlFVc3NSMEZCYzBJc1NVRkJha0pxUXl4RlFVRk5OVVVzVVVGQlowSTBSU3hGUVVGTk5VSXNUVUZCWXl4RlFVTndSRFJDTEVWQlFVMXVReXhYUVVGdFFpeEZRVVY2UW05RkxFZEJRVTFCTEVWQlJVcHFReXhGUVVGTk4wSXNVMEZCVnpaQ0xFVkJRVTAxUlN4UFFVRmxORVVzUlVGQlRXaERMRTlCUVU4d1JDeExRVUZMUlN4TFFVRkxlRWNzVDBGQmJVSTBSU3hGUVVGTk5VVXNVVUZKZUVZMlJ5eEZRVUZKYWtNc1JVRkJUV3BETEdkQ1FVRmxhVU1zUlVGQlRXcERMR05CUVdkQ2FVVXNkMEpCUVhkQ1F5eEpRVU4yUlVFc1IwRkJTMnBETEVWQlFVMDFSU3hQUVVGbE5rY3NSVUZGZWtKcVF5eEZRVUZOTlVJc1RVRkxTalJDTEVWQlFVMDFSU3hSUVVwWU5FVXNSVUZCVFhoQ0xHTkJRV1VzUlVGRFpDeEpRWE5IV0N4VFFVRlRlVUlzVjBGQlYzWkRMRVZCUVZGelF5eEhRVVV4UWl4SFFVUkJhRVVzVFVGQlRTeGxRVU5HWjBVc1JVRkJUVFZDTEUxQlFWWXNRMEZGUVN4SFFVRkpORUlzUlVGQlRXSXNVVUZCVXl4RFFVTnFRaXhKUVVGSmVFUXNSVUZCVVhGRkxFVkJRVTFpTEZGQlFWRm5SQ3hOUVVWMFFuaEhMRWRCUVZOQkxFVkJRVTFRTEZOQlEycENORVVzUlVGQlRXaERMRTlCUVU4d1F5eExRVUZMTDBVc1IwRkRiRUp4UlN4RlFVRk5OVVVzVVVGQlZUUkZMRVZCUVUxdVF5eFhRVUZoTEVWQlFVbHNReXhGUVVGTlVDeFJRVWxxUkRSRkxFVkJRVTAxUWl4UFFVRlJMRVZCUlZZMFFpeEZRVUZOZWtJc1MwRkpVbTlETEdGQlFXRnFSQ3hKUVVkaWMwTXNSVUZCVFhoQ0xHTkJRV1VzUlVGRmFFSjNRaXhGUVVGTmRrSXNhMEpCUTFSMVFpeEZRVUZOZGtJc2FVSkJRV3RDTEVWQlEzaENNa1FzWTBGQll6RkZMRTFCVVhCQ0xGTkJRVk5wUkN4aFFVRmhha1FzUjBGRGNFSXNTVUZCU1hORExFVkJRVkYwUXl4RlFVRlBNa0lzWlVGRGJrSnlSQ3hOUVVGTkxHVkJRV2RDWjBVc1JVRkJUWGhDTEdGQlFXTjNRaXhGUVVGTmRrSXNhVUpCUTJoRWRVSXNSVUZCVFhoQ0xHTkJRV1VzUlVGRmFFSjNRaXhGUVVGTmRrSXNhMEpCUTFSNlF5eE5RVUZOTEdWQlFXZENaMFVzUlVGQlRUZENMRk5CUXpWQ05rSXNSVUZCVFhaQ0xHbENRVUZyUWl4RlFVTjRRalJFTEZGQlFWRkRMRk5CUVZOR0xHTkJRV1V4UlN4SlFVbHdReXhUUVVGVE1FVXNZMEZCWXpGRkxFZEJRM0pDTEVsQlFVbHpReXhGUVVGUmRFTXNSVUZCVHpKQ0xHVkJRMjVDY2tRc1RVRkJUU3huUWtGQmFVSm5SU3hGUVVGTmFrSXNWVUZCVjJsQ0xFVkJRVTAxUlN4UFFVRlJORVVzUlVGQlRUVkNMRTlCUlhaRU5FSXNSVUZCVFdwQ0xGbEJRV05wUWl4RlFVRk5OVVVzVTBGQlZUUkZMRVZCUVUwMVFpeFJRVU0zUTFZc1JVRkJUeXRETEV0QlFVc3NXVUZEV2xRc1JVRkJUWFpDTEdsQ1FVRnJRaXhIUVZNeFFuVkNMRVZCUVUxNFFpeGpRVUZuUW5kQ0xFVkJRVTAzUWl4VlFVRlpOa0lzUlVGQlRUVkNMRTlCUVZNMFFpeEZRVUZOTlVVc1VVRkJWVFJGTEVWQlFVMXFReXhqUVVNM1JYZEZMRXRCUVVzM1JTeEhRVk5RTEZOQlFWTTRReXhqUVVGak9VTXNSVUZCVVhORExFZEJRM2hDUVN4RlFVRk5aQ3hqUVVOVVl5eEZRVUZOWkN4aFFVRmpMRVZCUTNCQ2JVUXNVVUZCVVVNc1UwRkJVMFVzWlVGQlowSTVSU3hGUVVGUmMwTXNTVUZKTjBNc1UwRkJVM2RETEdWQlFXVTVSU3hGUVVGUmMwTXNSMEYzUWpsQ0xFMUJRVkZCTEVWQlFVMHhRaXhWUVVGWk1FSXNSVUZCVFRWQ0xGRkJRVlUwUWl4RlFVRk5OVVVzVDBGQlV6UkZMRVZCUVUxcVF5eGxRVUZwUW1sRExFVkJRVTAzUWl4VFFVRTBRaXhKUVVGcVFqWkNMRVZCUVUwMVJTeFRRVUZsTEVOQlEzQklMRWxCUVVseFNDeEZRVUZOZWtNc1JVRkJUVFZGTEU5QlIyaENMRWRCUmtGWkxFMUJRVTBzZDBKQlEwNHdRaXhGUVVGUE5rSXNTMEZCU3l4SFFVTlNhMFFzU1VGQlVYcERMRVZCUVUwMVJTeFBRVU5vUWl4TlFVZEtORVVzUlVGQlRXUXNZVUZCWXl4RlFXZEtkRUlzVTBGQlUzZEVMRmxCUVZsRExFZEJRMjVDTEU5QlFVOHNWMEZEVEN4SlFVRkpNME1zUlVGQlVUSkRMRVZCUVVsMFJDeGxRVU5vUW5KRUxFMUJRVTBzWTBGQlpXZEZMRVZCUVUxbUxGbEJRM1pDWlN4RlFVRk5aaXhaUVVGWlpTeEZRVUZOWml4aFFVVklMRWxCUVhKQ1pTeEZRVUZOWml4WlFVRnZRbXBGTEdkQ1FVRm5RakpJTEVWQlFVc3NWVUZEYWtRelF5eEZRVUZOTjBJc1UwRkJWU3hGUVVOb1FtOUZMRXRCUVV0SkxFdEJjVWhZTEZOQlFWTkRMSGRDUVVGM1FrTXNSMEZETDBJc1NVRkJTVGRETEVWQlFWRTJReXhGUVVGTGVFUXNaVUZEYWtKWExFVkJRVTEwUWl4clFrRkJiMEp0UlN4RlFVRkxReXhqUVVGakxGbEJRV01zUlVGRmRrUTVReXhGUVVGTmNrSXNhMEpCUVc5Q2NVSXNSVUZCVFhCQ0xFOUJSMnhEYjBJc1JVRkJUVGRDTEZOQlFWVXNSVUZEVURCRkxFVkJRVXRETEdOQlFXTXNVVUZCVlN4SFFVTjBRMFFzUlVGQlMwVXNVMEZKVkN4VFFVRlRReXhwUWtGQmFVSklMRWRCUTNoQ04wY3NUVUZCVFN3MFFrRkRUalpITEVWQlFVdDBSQ3hMUVVGTExFZEJjVUphTEZOQlFWTjNSQ3hQUVVGUGNrWXNSVUZCVVhORExFZEJRMnBDUVN4RlFVRk5ja0lzYTBKQlExUnhRaXhGUVVGTmNrSXNhVUpCUVd0Q0xFVkJRM2hDTUVRc1VVRkJVVU1zVTBGQlUxY3NVVUZCVTNaR0xFVkJRVkZ6UXl4SlFVbDBReXhUUVVGVGFVUXNVVUZCVVhaR0xFVkJRVkZ6UXl4SFFVTjJRbWhGTEUxQlFVMHNVMEZCVldkRkxFVkJRVTB4UWl4VFFVVnFRakJDTEVWQlFVMHhRaXhUUVVOVVdpeEZRVUZQTmtJc1MwRkJTeXhIUVVka1V5eEZRVUZOY2tJc2FVSkJRV3RDTEVWQlEzaENha0lzUlVGQlR5dERMRXRCUVVzc1ZVRkRXamhDTEV0QlFVczNSU3hIUVVORWMwTXNSVUZCVFRkQ0xGVkJRVmsyUWl4RlFVRk5NVUlzVTBGQlUxb3NSVUZCVHpaQ0xFdEJRVXNzUjBGblFtNUVMRk5CUVZOblJDeExRVUZMTjBVc1IwRkRXaXhKUVVGSmMwTXNSVUZCVVhSRExFVkJRVTh5UWl4bFFVZHVRaXhKUVVaQmNrUXNUVUZCVFN4UFFVRlJaMFVzUlVGQlRUZENMRk5CUldJMlFpeEZRVUZOTjBJc1UwRkJOa0lzVDBGQmJFSlVMRVZCUVU4MlFpeFZRVFJJYWtNc1UwRkJVekpFTEZOQlFWTnFRaXhGUVVGSGFrTXNSMEZGYmtJc1QwRkJjVUlzU1VGQmFrSkJMRVZCUVUwMVJTeFBRVUZ4UWl4TlFVVXpRalJGTEVWQlFVMXVReXhYUVVGWmMwWXNSVUZCVFc1RUxFVkJRVTFvUXl4UFFVRlBiMFlzVTBGQmEwSnVRaXhIUVVGTFFTeEhRVUZMYWtNc1JVRkJUVFZGTEZGQlJYUkVLMGdzUlVGQlptNUVMRVZCUVUxaUxGRkJRV1ZoTEVWQlFVMW9ReXhQUVVGUGNVWXNTMEZCU3l4SlFVRnhReXhKUVVGNFFuSkVMRVZCUVUxb1F5eFBRVUZQTlVNc1QwRkJiMEkwUlN4RlFVRk5hRU1zVDBGQlQzTkdMRkZCUVcxQ2RFUXNSVUZCVFdoRExFOUJRVTkxUml4UFFVRlBka1FzUlVGQlRUVkZMRkZCUTI1S05FVXNSVUZCVFdoRExFOUJRVTg0UkN4VFFVZGljVUlzUlVGQlRXNUVMRVZCUVUxb1F5eFBRVUZQZDBZc1VVRkJVWFpDTEVWQlFVZHFReXhGUVVGTllpeFRRVVV2UW1kRkxFZEJWRkFzU1VGQlNVRXNSVUZaVGl4VFFVRlRUU3haUVVGWkwwWXNSMEZEYmtJc1NVRkJTWE5ETEVWQlFWRjBReXhGUVVGUE1rSXNaVUZEYmtKeVJDeE5RVUZOTEdOQlFXVm5SU3hGUVVGTk0wSXNXVUZGZEVJeVFpeEZRVUZOTTBJc1lVRkRWREpDTEVWQlFVMDFRaXhQUVVGUkxFVkJRMlJwUlN4UlFVRlJReXhUUVVGVGIwSXNZMEZCWlRGRUxFVkJRVTkwUXl4SlFVa3pReXhUUVVGVFowY3NZMEZCWXpGRUxFVkJRVTkwUXl4SFFVYzFRaXhIUVVaQk1VSXNUVUZCVFN4blFrRkJhVUpuUlN4RlFVRk5NMElzVjBGQldUSkNMRVZCUVUwMVJTeFRRVVV4UXpSRkxFVkJRVTB6UWl4WlFVRXJRaXhKUVVGcVFqSkNMRVZCUVUwMVJTeFRRVU0zUWpSRkxFVkJRVTB6UWl4WlFVRmhMRVZCUTI1Q1dDeEZRVUZQTkVJc1ZVRkJWeXhGUVVOc1FqVkNMRVZCUVU4clF5eExRVUZMTEU5QlJWSlVMRVZCUVUxc1FpeGhRVUZoTEVOQlIzSkNMRWxCUVVrMlJTeEZRVUZUYWtjc1JVRkJUMnRITEdsQ1FVVm1SQ3hIUVVGVlFTeEZRVUZQTjBVc1lVRkJaVFpGTEVWQlFVOUZMRmRCUXpGRGJrY3NSVUZCVHl0Q0xGZEJaMEptTEZOQlFWTnhSU3hSUVVGUlF5eEZRVUZKUXl4SFFVTnVRaXhKUVVGTExFbEJRVWxETEVWQlFVa3NSVUZCUjBNc1JVRkJTVWdzUlVGQlJ6TkpMRTlCUVZFMlNTeEZRVUZKUXl4RlFVRkhSQ3hKUVVOd1F5eEhRVUZKUml4RlFVRkhSU3hMUVVGUFJDeEZRVUZITEU5QlFVOURMRVZCUnpGQ0xFOUJRVkVzUlVFemRFSldkRW9zVTBGQlV6QkdMRlZCUVZWa0xFdEJRVThzVTBGQlZUQkRMRWRCUTJ4RGFrY3NUVUZCVFN4UFFVRlJhVWNzUjBGRFpFRXNSVUZCU1d0RExGTkJRVk5zUXl4RlFVRkhMRWxCUTJoQ0xFbEJRVWxxUXl4RlFVRlJjRU1zUzBGQlMzbENMR1ZCUTJJclJTeEZRVUZSYmtNc1JVRkxXaXhIUVVwVkxFbEJRVTVCTEVsQlFWTnFReXhGUVVGTmRrSXNhVUpCUVd0Q0xFZEJTVE5DTEVsQlFVNTNSQ3hIUVVGWGFrTXNSVUZCVFhoQ0xHZENRVUV3UXl4SlFVRjRRbmRDTEVWQlFVMXFReXhqUVVGelFtbERMRVZCUVUwMVJTeFJRVUZWTkVVc1JVRkJUV3BETEdOQlFXZENhVU1zUlVGQlRUVkZMRTlCUVZNc1NVRkJUVFJGTEVWQlFVMDFRaXhQUVVkc1NTeFBRVVpCY0VNc1RVRkJUU3h4UWtGQmMwSm5SU3hGUVVGTk5VVXNUMEZCVVRSRkxFVkJRVTAxUWl4UFFVTXpRaXhKUVVGcVFqUkNMRVZCUVUwMVJTeFJRVUZuUWpSRkxFVkJRVTAxUWl4TlFVRlBjVVlzV1VGQldUZEdMRTFCUVZjclF5eGhRVUZoTDBNc1RVRkRjRVVzUzBGTFZDeEhRVUZWTEV0QlJsWnhSU3hGUVVGSlF5eGpRVUZqUkN4RlFVRkhha01zUzBGRlRrRXNSVUZCVFRWQ0xFMUJSVzVDTEU5QlJIRkNMRWxCUVdwQ05FSXNSVUZCVFRWRkxGRkJRV054U1N4WlFVRlpOMFlzVFVGRE4wSXNTMEY1UWxRc1NVRTBRa2wxUml4RlFUVkNRV3RDTEVWQlFWTnlSU3hGUVVGTmVFSXNZVUZuUkc1Q0xFOUJMME5CZUVNc1RVRkJUU3huUWtGQmFVSnhTU3hKUVVWR0xFbEJRV3BDY2tVc1JVRkJUVFZGTEZGQlFXZENORVVzUlVGQlRUVkZMRTlCUVZNMlJ5eEZRVUZKYWtNc1JVRkJUV3BETEdkQ1FVVnFSQzlDTEUxQlFVMHNOa0pCUkU1eFNTeEhRVUZUTEVkQlRWQnlSU3hGUVVGTk5VSXNUMEZCVXpSQ0xFVkJRVTB4UWl4UlFVVjJRblJETEUxQlFVMHNiVUpCUkU1eFNTeEhRVUZUTEVkQlJVRkJMRWxCUTFSeVNTeE5RVUZOTEZkQlEwNW5SU3hGUVVGTk1VSXNVMEZCVlN4RlFVTm9RakJDTEVWQlFVMTZRaXhOUVVGUExFVkJSVkVzU1VGQmFrSjVRaXhGUVVGTk5VVXNVMEZCWXpSRkxFVkJRVTE0UWl4alFVRmxMRWRCUlRkRFdpeExRVUZMTkVJc1RVRkJUVkVzUlVGQlRXcERMR1ZCUldwQ2FVTXNSVUZCVFhwQ0xFMUJRVThzUlVGSFVubENMRVZCUVUweFFpeFZRVUZUTWtRc1JVRkJTVU1zWTBGQlkydERMRVZCUVU5d1JTeExRVTF1UXl4UlFVWkViVVFzUlVGQlVHeENMRVZCUVVrc1JVRkJVMmxDTEZOQlFWTnFRaXhGUVVGSGFrTXNSMEZCYTBJc1QwRkhOME5CTEVWQlFVMTRRaXhoUVVGbGQwSXNSVUZCVFRWRkxGRkJRVlUwUlN4RlFVRk5ha01zWTBGRE0wTnJSU3hGUVVGSkxFbEJSVXBxUXl4RlFVRk5OVVVzVVVGQlZUWkhMRVZCUTJoQ2FrTXNSVUZCVFdZc1YwRkJZU3hIUVVkQkxFbEJRV3BDWlN4RlFVRk5OVVVzVTBGSFNEUkZMRVZCUVUwMVFpeFJRVUZQTkVJc1JVRkJUWGhDTEdOQlFXVXNSMEZGYmtNMFJpeEpRVUZWYmtNc1IwRkJTMnBETEVWQlFVMDFRaXhQUVVGUGNVWXNXVUZCV1RkR0xFOUJSMnhETEU5QlFWSjFSaXhIUVVGamRrWXNTMEZCU3paRExFdEJRVXNzVDBGQlVUQkRMRWRCUXpkQ1FTeEhRWGRJVkhoSkxGTkJRVk13Uml4VlFVRlZZaXhOUVVGUkxGTkJRVlY1UXl4SFFVTnVRMnhHTEdWQlFXVmhMRXRCUVUwc1NVRkJTV1lzTWtKQlFUSkNMR0ZCUjNSRWJFTXNVMEZCVXpCR0xGVkJRVlZwUlN4TFFVRlBMRk5CUVZWRExFVkJRVTFETEVkQlEzaERMRWxCUVVrM1FpeEZRVUZOTDBVc1MwRkRUbTlETEVWQlFWRndReXhMUVVGTGVVSXNaVUZGYWtJc1QwRkJVVmNzUlVGQlRUbENMRmxCUTFvc1MwRkJTeXhGUVVOSU9FSXNSVUZCVFM5Q0xFMUJRVkZ6Unl4RlFVTmtMRTFCUlVZc1MwRkJTeXhGUVVOSWRrVXNSVUZCVFM5Q0xFMUJRVkVzUTBGQlF5dENMRVZCUVUwdlFpeE5RVUZQYzBjc1IwRkROVUlzVFVGRlJpeFJRVU5GZGtVc1JVRkJUUzlDTEUxQlFVMTVReXhMUVVGTE5rUXNSMEZKY2tKMlJTeEZRVUZOT1VJc1dVRkJZeXhGUVVOd1FteERMRTFCUVUwc2QwSkJRWGxDWjBVc1JVRkJUVGxDTEZkQlFWbHpSeXhIUVVOcVJDeEpRVU5KUXl4SlFVUlZSQ3hKUVVFMlFpeEpRVUZxUWtFc1JVRkJVM0pETEUxQlFXdENiME1zU1VGQlUyeERMRkZCUVZGeFF5eFJRVUZWU0N4SlFVRlRiRU1zVVVGQlVYTkRMRTlCUXpkRlF5eEZRVUZSUXl4RlFVazFRaXhUUVVGVFF5eEZRVUZUZUVZc1JVRkJWWGxHTEVkQlF6RkNMMGtzVFVGQlRTeFpRVVZHYzBRc1NVRkJZWEZFTEVkQlExaHZReXhKUVVGM1F5eEpRVUV4UWtFc1JVRkJWME1zWVVGRE0wSkVMRVZCUVZkRExGbEJRV0VzUlVGdlFqVkNhRW9zVFVGQlRTeFhRVVZPZFVrc1JVRkJTMVVzWlVGQlpTeFJRVUZUUXl4SFFVTTNRbGdzUlVGQlMxVXNaVUZCWlN4VFFVRlZSU3hIUVVNNVFsb3NSVUZCUzFVc1pVRkJaU3hSUVVGVFJ5eEhRVU0zUW1Jc1JVRkJTMVVzWlVGQlpTeFJRVUZUU1N4SFFVTTNRbVFzUlVGQlMxVXNaVUZCWlN4VFFVRlZTQ3hIUVVNNVFtNURMRVZCUVVselF5eGxRVUZsTEUxQlFVOU1MRWRCUXpGQ2FrTXNSVUZCU1hORExHVkJRV1VzVFVGQlQwb3NSMEZETVVKc1F5eEZRVUZKYzBNc1pVRkJaU3hQUVVGUlN5eEhRVU16UWtNc1IwRkJXU3hIUVUxU2RrWXNSVUZCVFdZc1dVRkJaMEp6Uml4RlFVRkxXQ3hwUWtGQmEwSlhMRVZCUVV0WUxHVkJRV1UwUWl4WFFVRlpTaXhMUVRsQ2JrWXNVMEZCVTFJc1NVRkRVRFZKTEUxQlFVMHNVMEZEVG5WSkxFVkJRVXR3UXl4TlFXaENTRzVETEVWQlFVMHpRaXhYUVVGWlowVXNVVUZCVVVNc1UwRkJVMjFETEVkQlFWazVRaXhGUVVGSk9FTXNTMEZCU3l4TlFVRlBhRUlzUjBGRGJrVkdMRVZCUVVzdlJ5eEhRVUZITEZOQlFWVnpTQ3hIUVhOQ2JFSXNTVUZCU1Uwc1JVRkJWVEZETEZsQlFWbERMRWRCUXpGQ05FSXNSVUZCU3k5SExFZEJRVWNzVVVGQlV6UklMRWRCUTJwQ0xFbEJRVWxITEVkQlFWa3NSVUYzUW1oQ0xGTkJRVk5FTEVWQlFVOHpTaXhIUVVOa1N5eE5RVUZOTEZWQlEwNHNTVUZCU1cxSUxFVkJRVTF2UWl4RlFVRkxhRVVzVFVGQlRUVkZMRWRCUTNKQ1N5eE5RVUZOTEdGQlFXTnRTQ3hKUVVWU0xFbEJRVkpCTEV0QlMzZENMRWxCUVhKQ2JrUXNSVUZCVFRsQ0xGbEJRVzlDT0VJc1JVRkJUUzlDTEZGQlFWVnpSeXhIUVVGUmRrVXNSVUZCVFRsQ0xGZEJRV0VzU1VGQmNVTXNTVUZCYUVNMFJpeFJRVUZST1VRc1JVRkJUUzlDTEUxQlFVOXpSeXhOUVVGclFtZENMRWxCUTNCSWRrb3NUVUZCVFN3NFFrRkJLMEpuUlN4RlFVRk5aaXhaUVVNelEyVXNSVUZCVFdZc1kwRkhVakJFTEVWQlFVa3JReXhUUVUxU0xGTkJRVk5NTEVWQlFWRjBSaXhIUVVObUwwUXNUVUZCVFN4VlFVRlhLMFFzUjBGRGFrSTRSU3hKUVVOQlRpeEZRVUZMVlN4bFFVRmxMRkZCUVZOSkxFZEJRMVVzU1VGQmJrTnlTeXhuUWtGQlowSjFTaXhGUVVGTkxGVkJRV2RDZUVnc1pVRkJaWGRJTEVWQlFVMTRSU3hIUVUxcVJTeFRRVUZUYlVZc1NVRkRVRmdzUlVGQlMxVXNaVUZCWlN4VFFVRlZSU3hIUVVNNVFrNHNTVUZMUml4VFFVRlRUU3hKUVVOUWJrb3NUVUZCVFN4WlFVTk9kVWtzUlVGQlMxVXNaVUZCWlN4UlFVRlRReXhIUVVNM1Frd3NTVUZMUml4VFFVRlRRU3hKUVVOUU4wa3NUVUZCVFN4VlFVTk9Na2NzUlVGQlNXdERMRTlCUVU5T0xFZEJWMklzVDBFM1JFRTFRaXhGUVVGSmJrWXNSMEZCUnl4UFFVRlJPRWdzUjBFclFtWnlTU3huUWtGQlowSnpTQ3hGUVVGTkxGRkJRVk5qTEVkQlR5OUNaQ3hGUVVGTGEwSXNTMEZCU3l4UlFVRlRVQ3hIUVZGdVFsZ3NSVUZCUzJ0Q0xFdEJRVXNzVTBGQlZVNHNSMEZSY0VKYUxFVkJRVXM1UkN4TFFVRkxMRTlCUVZGclF5eEhRVVZpTTBNc1JVRkJUVGRDTEZWQlExUnVReXhOUVVGTkxHVkJRMDR5Unl4RlFVRkpTU3hWUVVkRGQwSXNSMEZuUWxRMVNpeFRRVUZUTUVZc1ZVRkJWWGRGTEU5QlFWTXNVMEZCVlU0c1IwRkRjRU1zU1VGQlNYWkZMRVZCUVZGd1F5eExRVUZMZVVJc1pVRkRZakJHTEVWQlFXRXNRMEZEWmtNc1dVRkJXU3hIUVVka0xFZEJRWGxDTEVsQlFYSkNhRVlzUlVGQlRUbENMRmRCUVd0Q0xFOUJRVTlPTEV0QlJXNURMRWRCUVhsQ0xFbEJRWEpDYjBNc1JVRkJUVGxDTEZkQlJWSXNUMEZCU1hGSExFZEJRVkZCTEVsQlFWTjJSU3hGUVVGTkwwSXNUVUZCWTB3c1RVRkRjRU15Unl4SlFVRk5RU3hGUVVGUGRrVXNSVUZCVFM5Q0xFOUJSWGhDSzBJc1JVRkJUUzlDTEUxQlFWRXNTMEZEWkN0Q0xFVkJRVTA1UWl4WFFVRmhMRVZCUTI1Q09FSXNSVUZCVFRkQ0xGTkJRVlVzUlVGRFdtOUhMRWRCUVUxQkxFVkJRVXM1UkN4TFFVRkxMRk5CUVZVM1F5eExRVUZOYlVnc1IwRkROMEp1U0N4TlFVbFVMRWxCUVVzeVJ5eEZRVUZOTEVOQlJWUXNTVUZCU1c5Q0xFVkJRVkV6Uml4RlFVRk5MMElzVFVGRFpIZEZMRVZCUVUxNlF5eEZRVUZOT1VJc1YwRkRhRUk0UWl4RlFVRk5MMElzVFVGQlVTeExRVU5rSzBJc1JVRkJUVGxDTEZkQlFXRXNSVUZEYmtJNFFpeEZRVUZOTjBJc1UwRkJWU3hGUVVWb1FpeEpRVUZMTEVsQlFVazRSaXhGUVVGSkxFVkJRVWRCTEVWQlFVbDRRaXhGUVVGTGQwSXNTVUZEZGtJd1FpeEZRVUZOTVVJc1IwRkJSM2hFTEV0QlFVc3NVMEZCVlRkRExFdEJRVTBzUTBGRE5VSnZTQ3haUVVGWkxFbEJTV2hDTEU5QlFVOXdTQ3hMUVVsVUxFbEJRVWxuU1N4RlFVRlJPVUlzVVVGQlVUbEVMRVZCUVUwdlFpeE5RVUZQYzBjc1IwRkRha01zVDBGQlpTeEpRVUZZY1VJc1JVRkJjVUpvU1N4TlFVTjZRbTlETEVWQlFVMHZRaXhOUVVGTk5FZ3NUMEZCVDBRc1JVRkJUeXhIUVVNeFFqVkdMRVZCUVUwNVFpeFpRVUZqTEVWQlEwc3NTVUZCY2tJNFFpeEZRVUZOT1VJc1lVRkJhMEk0UWl4RlFVRk5MMElzVFVGQlVTdENMRVZCUVUwdlFpeE5RVUZOTEVsQlEzUkVjMGNzUlVGQlN6bEVMRXRCUVVzc1UwRkJWVGRETEV0QlFVMXRTQ3hIUVVOdVFtNUlMRTlCUzFScVJDeFRRVUZUTUVZc1ZVRkJWVGRETEVkQlFVc3NVMEZCVlhOSkxFVkJRVWt6U1N4SFFVTndReXhKUVVGSk5Fa3NSVUZCVFRGTExFOUJRVTluUml4VlFVRlZOME1zUjBGQlIyMURMRXRCUVVzdlFpeExRVUZOYTBrc1JVRkJTVE5KTEVkQlEzcEROa01zUlVGQlVYQkRMRXRCUVV0NVFpeGxRWFZDYWtJc1RVRnlRbGNzVTBGQlVIbEhMRWRCUjBZNVJpeEZRVUZOZEVJc2EwSkJRVzlDWkN4TFFVRkxhMFlzWTBGQll5eFpRVUZqTEVkQlJYSkRMRWxCUVd4Q09VTXNSVUZCVFRkQ0xGTkJRVzFDVUN4TFFVRkxiVVlzVlVGRGJFSXNZVUZCVUN0RExFbEJRMG81Uml4RlFVRk5NMElzV1VGQlpUSkNMRVZCUVUxMFFpeHZRa0ZET1VKelFpeEZRVUZOZEVJc2EwSkJRVzlDYzBJc1JVRkJUWGhDTEdOQlFXVXNSVUZETDBOM1FpeEZRVUZOTjBJc1UwRkJWU3hGUVVOb1FqWkNMRVZCUVUxMlFpeHBRa0ZCYTBJc1JVRkRlRUo2UXl4TlFVRk5MR05CUVdWblJTeEZRVUZOTlVVc1QwRkJVVFJGTEVWQlFVMHhRaXhUUVVWeVF6QkNMRVZCUVUwMVJTeFBRVU5TZFVZc1lVRkJZUzlETEUxQlEwaHZReXhGUVVGTk1VSXNVMEZEYUVJclJDeFJRVUZSUXl4VFFVRlRWU3hwUWtGQmEwSndSaXhSUVV0c1EyMUpMRWRCUjFSd1RDeFRRVUZUTUVZc1ZVRkJWVEpHTEZsQlFXTnlUQ3hUUVVGVE1FWXNWVUZCVlRkRExFZEJSWEJFTjBNc1UwRkJVekJHTEZWQlFWVTBSU3hsUVVGcFFpeFRRVUZWWVN4RlFVRkpNMGtzUjBGRGFFUXNTVUZCU1RSSkxFVkJRVTB4U3l4UFFVRlBaMFlzVlVGQlZUUkZMR1ZCUVdWMFJpeExRVUZMTDBJc1MwRkJUV3RKTEVWQlFVa3pTU3hIUVZsNlJDeE5RVlpYTEdGQlFWQXlTU3hIUVU5R2VrUXNVVUZCVVVNc1UwRkJVMDBzZDBKQlFYbENhRVlzVFVGSGNrTnRTU3hIUVVkVWNFd3NVMEZCVXpCR0xGVkJRVlUwUml4dFFrRkJjVUlzVTBGQlZVZ3NSMEZEYUVRc1NVRkJTVU1zUlVGQlRURkxMRTlCUVU5blJpeFZRVUZWTkVZc2JVSkJRVzFDUXl4TlFVRk5kRWtzUzBGQlRYVkpMRmRCV1RGRUxFMUJWbGNzWVVGQlVFd3NVVUZCTkVKc1JpeEpRVUZRYTBZc1IwRlBka0o2UkN4UlFVRlJReXhUUVVGVFRTeDNRa0ZCZVVKb1JpeE5RVWR5UTIxSkxFZEJkVUpVY0V3c1UwRkJVekJHTEZWQlFWVXdReXhQUVVGVExGZEJRekZDTEVsQlFVa3ZReXhGUVVGUmNFTXNTMEZCUzNsQ0xHVkJXV3BDTEU5QlZrdFhMRVZCUVUwM1FpeFZRVU5VYmtNc1RVRkJUU3hWUVVsT1owVXNSVUZCVFRkQ0xGTkJRVmMyUWl4RlFVRk5kRUlzYTBKQlEzWkNjVVVzVDBGQlQyNUdMRXRCUVUxdlF5eEpRVWRtUVN4RlFVRk5jRUlzVVVGQlV5eEZRVU5TYUVJc1RVRjFRbFJxUkN4VFFVRlRNRVlzVlVGQlZYRkdMRTFCUVZFc1YwRlZla0lzVDBGVVFURktMRTFCUVUwc2QwSkJRWGxDTkVJc1MwRkJTM2xDTEdWQlFXVnNRaXhWUVVWbUxFbEJRV2hEVUN4TFFVRkxlVUlzWlVGQlpXeENMRlZCUTNSQ2JrTXNUVUZCVFN4VFFVTk9ORUlzUzBGQlMzbENMR1ZCUVdWc1FpeFRRVUZWTEVWQlF6bENVQ3hMUVVGTE5rTXNTMEZCU3l4VlFVZGFOME1zUzBGQlMzbENMR1ZCUVdWVUxGRkJRVk1zUlVGRGRFSm9RaXhOUVdWVWFrUXNVMEZCVXpCR0xGVkJRVlVyUml4TFFVRlBMRk5CUVZVeFNTeEhRVU5zUXl4SlFVRkpNa2tzUlVGQlVYcEpMRXRCUlZKdlF5eEZRVUZSY0VNc1MwRkJTM2xDTEdWQlEySlVMRWRCUVZNc1JVRXdRbUlzU1VGQlN5eEpRVUZKY1VZc1MwRjZRbFIyUnl4RlFVRlBSaXhIUVVGSExFMUJRVThzVjBGSFppeEhRVVpCZUVJc1RVRkJUU3hsUVVWR1owVXNSVUZCVFdJc1ZVRkJXV0VzUlVGQlRUVkNMRTFCUVU4c1EwRkRha01zU1VGQlNYcERMRVZCUVZGeFJTeEZRVUZOWWl4UlFVRlJaMFFzVFVGRGRFSjRSeXhIUVVGVFFTeEZRVUZOVUN4UlFVRlJhVXdzUlVGQlRUTkdMRXRCUVVzdlJTeEhRVWQ0UXpCTExFVkJRVTB6Uml4TFFVRkxMRkZCUldKb1JDeEZRVUZQUml4SFFVRkhMRTlCUVZFc1UwRkJWVGRDTEVsQlF6RkNTeXhOUVVGTkxHZENRVU5HWjBVc1JVRkJUV0lzVlVGQlUzaEVMRVZCUVZGeFJTeEZRVUZOWWl4UlFVRlJiMElzVFVGQlRUVkZMRWxCUlRORGNVVXNSVUZCVFc1RExGbEJRV01zVFVGQlEyeERMRXRCUVhsRWNVVXNSVUZCVFc1RExGbEJRV2RDYkVNc1IwRkJWVUVzUlVGQlRWQXNWVUZGT1VkcFRDeEZRVUZOTTBZc1MwRkJTeTlGTEV0QlIyNUNhVVFzUjBGQlV5eEZRVU5VYkVJc1JVRkJUMmRKTEZsQlMwZG9TU3hQUVVOSmEwUXNTVUZCV21oRUxFdEJRVXR4Unl4SlFVRjVReXh0UWtGQlpIWkhMRVZCUVU5MVJ5eExRVU42UTNKSExFdEJRVXR4Unl4SFFVRkxMRk5CUVc5Q2NVTXNSMEZETlVJc1QwRkJUeXhYUVVOTUxFOUJRVTgxU1N4RlFVRlBORWtzUjBGQlVVb3NUVUZCVFhoSkxFVkJRVkY1U1N4WlFVWTVRaXhEUVVsU2JFTXNTVUZMVGl4SlFVRkxMRWxCUVVsb1F5eEZRVUZKTEVWQlFVZEJMRVZCUVVscVJpeGhRVUZoTlVJc1QwRkJVVFpITEVsQlEzWkRka1VzUlVGQlQwWXNSMEZCUjFJc1lVRkJZV2xHTEVkQlFVbHlSU3hMUVVGTE5rTXNTMEZCU3poR0xFdEJRVXN6U1N4TFFVRk5XaXhoUVVGaGFVWXNTMEZqTDBRc1QwRlVRWEpGTEV0QlFVczBRaXhOUVVGUkxGTkJRVlY1UXl4SFFVTnlRbXBITEUxQlFVMHNaMEpCUVdsQ2FVY3NSMEZGYmtKeVJDeEpRVU5HUVN4SFFVRlRMRVZCUTFSc1FpeEZRVUZQY1VZc1YwRkpTbTVHTEUxQlIyRXNiVUpCUVZnMFNTeFRRVU5VTjB3c1UwRkJVekJHTEZWQlFWVnRSeXhQUVVGUFF5eGxRVUZwUWl4WFFVdDZReXhaUVVvd1F6ZEdMRWxCUVhSRGVFVXNiME5CUTBaQkxHdERRVUZ2UTNSQ0xGRkJRVkVzYzBOQlIzWkRjMElzYTBOQlFXdERkMElzVVVGSk4wTjFReXhQUVVGUFZTeGxRVUZsYkVjc1UwRkJVekJHTEZWQlFWY3NkMEpCUVhsQ0xFTkJTV3BGVXl4WlFVRlpMRVZCUTFwRExFbEJRVXNzVjBGRFNDeFBRVUZQYmtRc1MwRkJTM2xDTEdWQlFXVjBRaXhwUWtGSEwwSnZReXhQUVVGUFZTeGxRVUZsYkVjc1UwRkJVekJHTEZWQlFWY3NhVUpCUVd0Q0xFTkJTVEZFVXl4WlFVRlpMRVZCUTFwRExFbEJRVXNzVjBGRFNDeFBRVUZQYmtRc1MwRkJTM2xDTEdkQ1FVRnJRbnBDTEV0QlFVdDVRaXhsUVVGbGNrSXNWVUZIZEVSdFF5eFBRVUZQVlN4bFFVRmxiRWNzVTBGQlV6QkdMRlZCUVZjc2EwSkJRVzFDTEVOQlNUTkVVeXhaUVVGWkxFVkJRMXBETEVsQlFVc3NWMEZEU0N4UFFVRlBia1FzUzBGQlMzbENMR1ZCUVdWc1FpeFRRVVUzUWpaRExFbEJRVXNzVTBGQllXaENMRWRCUTFwd1F5eExRVUZMZVVJc2FVSkJRMUI2UWl4TFFVRkxlVUlzWlVGQlpXeENMRkZCUVZVMlFpeE5RVXR3UTNKR0xGTkJRVk1yVEN4VlFVRlplRVFzVTBGRGNrSXZReXhQUVVGUFZTeGxRVUZsYkVjc1UwRkJVekJHTEZWQlFWY3NhVUpCUVd0Q0xFTkJTVEZFVXl4WlFVRlpMRVZCUTFwRExFbEJRVXNzVjBGRFNDeFBRVUZQYmtRc1MwRkJTM2xDTEdWQlFXVnFSU3hWUVc5RVZDeHRRa0ZCV0c5TUxGTkJRMVEzVEN4VFFVRlRhVUlzUzBGQlR5eFRRVUZWSzBzc1JVRkJWVU1zUjBGTGJFTXNXVUZLWVdoSExFbEJRVlJvUml4UFFVTkdRU3hMUVVGUFpDeFJRVUZSTERSQ1FVZFdZeXhMUVVGTGFrSXNVMEZCVldkTkxFVkJRVlZESWl3aVptbHNaU0k2SWk5b2IyMWxMM3BwYm04dmNISnZhbVZqZEhNdmMyVmhkRzFoY0hZeUwyMWhjM1JsY2k5elpXRjBiV0Z3ZGpJdlkyeHBaVzUwTDI1dlpHVmZiVzlrZFd4bGN5OXpkSEpsWVcwdFluSnZkM05sY21sbWVTOXViMlJsWDIxdlpIVnNaWE12Y21WaFpHRmliR1V0YzNSeVpXRnRMMnhwWWk5ZmMzUnlaV0Z0WDNKbFlXUmhZbXhsTG1wekluMD0iLCJcInVzZSBzdHJpY3RcIjttb2R1bGUuZXhwb3J0cz1UcmFuc2Zvcm07dmFyIF9yZXF1aXJlJGNvZGVzPXJlcXVpcmUoXCIuLi9lcnJvcnNcIikuY29kZXMsRVJSX01FVEhPRF9OT1RfSU1QTEVNRU5URUQ9X3JlcXVpcmUkY29kZXMuRVJSX01FVEhPRF9OT1RfSU1QTEVNRU5URUQsRVJSX01VTFRJUExFX0NBTExCQUNLPV9yZXF1aXJlJGNvZGVzLkVSUl9NVUxUSVBMRV9DQUxMQkFDSyxFUlJfVFJBTlNGT1JNX0FMUkVBRFlfVFJBTlNGT1JNSU5HPV9yZXF1aXJlJGNvZGVzLkVSUl9UUkFOU0ZPUk1fQUxSRUFEWV9UUkFOU0ZPUk1JTkcsRVJSX1RSQU5TRk9STV9XSVRIX0xFTkdUSF8wPV9yZXF1aXJlJGNvZGVzLkVSUl9UUkFOU0ZPUk1fV0lUSF9MRU5HVEhfMCxEdXBsZXg9cmVxdWlyZShcIi4vX3N0cmVhbV9kdXBsZXhcIik7ZnVuY3Rpb24gYWZ0ZXJUcmFuc2Zvcm0ocixlKXt2YXIgdD10aGlzLl90cmFuc2Zvcm1TdGF0ZTt0LnRyYW5zZm9ybWluZz0hMTt2YXIgbj10LndyaXRlY2I7aWYobnVsbD09PW4pcmV0dXJuIHRoaXMuZW1pdChcImVycm9yXCIsbmV3IEVSUl9NVUxUSVBMRV9DQUxMQkFDSyk7dC53cml0ZWNodW5rPW51bGwsdC53cml0ZWNiPW51bGwsbnVsbCE9ZSYmdGhpcy5wdXNoKGUpLG4ocik7dmFyIGk9dGhpcy5fcmVhZGFibGVTdGF0ZTtpLnJlYWRpbmc9ITEsKGkubmVlZFJlYWRhYmxlfHxpLmxlbmd0aDxpLmhpZ2hXYXRlck1hcmspJiZ0aGlzLl9yZWFkKGkuaGlnaFdhdGVyTWFyayl9ZnVuY3Rpb24gVHJhbnNmb3JtKHIpe2lmKCEodGhpcyBpbnN0YW5jZW9mIFRyYW5zZm9ybSkpcmV0dXJuIG5ldyBUcmFuc2Zvcm0ocik7RHVwbGV4LmNhbGwodGhpcyxyKSx0aGlzLl90cmFuc2Zvcm1TdGF0ZT17YWZ0ZXJUcmFuc2Zvcm06YWZ0ZXJUcmFuc2Zvcm0uYmluZCh0aGlzKSxuZWVkVHJhbnNmb3JtOiExLHRyYW5zZm9ybWluZzohMSx3cml0ZWNiOm51bGwsd3JpdGVjaHVuazpudWxsLHdyaXRlZW5jb2Rpbmc6bnVsbH0sdGhpcy5fcmVhZGFibGVTdGF0ZS5uZWVkUmVhZGFibGU9ITAsdGhpcy5fcmVhZGFibGVTdGF0ZS5zeW5jPSExLHImJihcImZ1bmN0aW9uXCI9PXR5cGVvZiByLnRyYW5zZm9ybSYmKHRoaXMuX3RyYW5zZm9ybT1yLnRyYW5zZm9ybSksXCJmdW5jdGlvblwiPT10eXBlb2Ygci5mbHVzaCYmKHRoaXMuX2ZsdXNoPXIuZmx1c2gpKSx0aGlzLm9uKFwicHJlZmluaXNoXCIscHJlZmluaXNoKX1mdW5jdGlvbiBwcmVmaW5pc2goKXt2YXIgcj10aGlzO1wiZnVuY3Rpb25cIiE9dHlwZW9mIHRoaXMuX2ZsdXNofHx0aGlzLl9yZWFkYWJsZVN0YXRlLmRlc3Ryb3llZD9kb25lKHRoaXMsbnVsbCxudWxsKTp0aGlzLl9mbHVzaChmdW5jdGlvbihlLHQpe2RvbmUocixlLHQpfSl9ZnVuY3Rpb24gZG9uZShyLGUsdCl7aWYoZSlyZXR1cm4gci5lbWl0KFwiZXJyb3JcIixlKTtpZihudWxsIT10JiZyLnB1c2godCksci5fd3JpdGFibGVTdGF0ZS5sZW5ndGgpdGhyb3cgbmV3IEVSUl9UUkFOU0ZPUk1fV0lUSF9MRU5HVEhfMDtpZihyLl90cmFuc2Zvcm1TdGF0ZS50cmFuc2Zvcm1pbmcpdGhyb3cgbmV3IEVSUl9UUkFOU0ZPUk1fQUxSRUFEWV9UUkFOU0ZPUk1JTkc7cmV0dXJuIHIucHVzaChudWxsKX1yZXF1aXJlKFwiaW5oZXJpdHNcIikoVHJhbnNmb3JtLER1cGxleCksVHJhbnNmb3JtLnByb3RvdHlwZS5wdXNoPWZ1bmN0aW9uKHIsZSl7cmV0dXJuIHRoaXMuX3RyYW5zZm9ybVN0YXRlLm5lZWRUcmFuc2Zvcm09ITEsRHVwbGV4LnByb3RvdHlwZS5wdXNoLmNhbGwodGhpcyxyLGUpfSxUcmFuc2Zvcm0ucHJvdG90eXBlLl90cmFuc2Zvcm09ZnVuY3Rpb24ocixlLHQpe3QobmV3IEVSUl9NRVRIT0RfTk9UX0lNUExFTUVOVEVEKFwiX3RyYW5zZm9ybSgpXCIpKX0sVHJhbnNmb3JtLnByb3RvdHlwZS5fd3JpdGU9ZnVuY3Rpb24ocixlLHQpe3ZhciBuPXRoaXMuX3RyYW5zZm9ybVN0YXRlO2lmKG4ud3JpdGVjYj10LG4ud3JpdGVjaHVuaz1yLG4ud3JpdGVlbmNvZGluZz1lLCFuLnRyYW5zZm9ybWluZyl7dmFyIGk9dGhpcy5fcmVhZGFibGVTdGF0ZTsobi5uZWVkVHJhbnNmb3JtfHxpLm5lZWRSZWFkYWJsZXx8aS5sZW5ndGg8aS5oaWdoV2F0ZXJNYXJrKSYmdGhpcy5fcmVhZChpLmhpZ2hXYXRlck1hcmspfX0sVHJhbnNmb3JtLnByb3RvdHlwZS5fcmVhZD1mdW5jdGlvbihyKXt2YXIgZT10aGlzLl90cmFuc2Zvcm1TdGF0ZTtudWxsPT09ZS53cml0ZWNodW5rfHxlLnRyYW5zZm9ybWluZz9lLm5lZWRUcmFuc2Zvcm09ITA6KGUudHJhbnNmb3JtaW5nPSEwLHRoaXMuX3RyYW5zZm9ybShlLndyaXRlY2h1bmssZS53cml0ZWVuY29kaW5nLGUuYWZ0ZXJUcmFuc2Zvcm0pKX0sVHJhbnNmb3JtLnByb3RvdHlwZS5fZGVzdHJveT1mdW5jdGlvbihyLGUpe0R1cGxleC5wcm90b3R5cGUuX2Rlc3Ryb3kuY2FsbCh0aGlzLHIsZnVuY3Rpb24ocil7ZShyKX0pfTtcblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYklsOXpkSEpsWVcxZmRISmhibk5tYjNKdExtcHpJbDBzSW01aGJXVnpJanBiSW0xdlpIVnNaU0lzSW1WNGNHOXlkSE1pTENKVWNtRnVjMlp2Y20waUxDSmZjbVZ4ZFdseVpTUmpiMlJsY3lJc0luSmxjWFZwY21VaUxDSmpiMlJsY3lJc0lrVlNVbDlOUlZSSVQwUmZUazlVWDBsTlVFeEZUVVZPVkVWRUlpd2lSVkpTWDAxVlRGUkpVRXhGWDBOQlRFeENRVU5MSWl3aVJWSlNYMVJTUVU1VFJrOVNUVjlCVEZKRlFVUlpYMVJTUVU1VFJrOVNUVWxPUnlJc0lrVlNVbDlVVWtGT1UwWlBVazFmVjBsVVNGOU1SVTVIVkVoZk1DSXNJa1IxY0d4bGVDSXNJbUZtZEdWeVZISmhibk5tYjNKdElpd2laWElpTENKa1lYUmhJaXdpZEhNaUxDSjBhR2x6SWl3aVgzUnlZVzV6Wm05eWJWTjBZWFJsSWl3aWRISmhibk5tYjNKdGFXNW5JaXdpWTJJaUxDSjNjbWwwWldOaUlpd2laVzFwZENJc0luZHlhWFJsWTJoMWJtc2lMQ0p3ZFhOb0lpd2ljbk1pTENKZmNtVmhaR0ZpYkdWVGRHRjBaU0lzSW5KbFlXUnBibWNpTENKdVpXVmtVbVZoWkdGaWJHVWlMQ0pzWlc1bmRHZ2lMQ0pvYVdkb1YyRjBaWEpOWVhKcklpd2lYM0psWVdRaUxDSnZjSFJwYjI1eklpd2lZMkZzYkNJc0ltSnBibVFpTENKdVpXVmtWSEpoYm5ObWIzSnRJaXdpZDNKcGRHVmxibU52WkdsdVp5SXNJbk41Ym1NaUxDSjBjbUZ1YzJadmNtMGlMQ0pmZEhKaGJuTm1iM0p0SWl3aVpteDFjMmdpTENKZlpteDFjMmdpTENKdmJpSXNJbkJ5WldacGJtbHphQ0lzSWw5MGFHbHpJaXdpWkdWemRISnZlV1ZrSWl3aVpHOXVaU0lzSW5OMGNtVmhiU0lzSWw5M2NtbDBZV0pzWlZOMFlYUmxJaXdpY0hKdmRHOTBlWEJsSWl3aVkyaDFibXNpTENKbGJtTnZaR2x1WnlJc0lsOTNjbWwwWlNJc0ltNGlMQ0pmWkdWemRISnZlU0lzSW1WeWNpSXNJbVZ5Y2pJaVhTd2liV0Z3Y0dsdVozTWlPaUpCUVRaRVFTeGhRVVZCUVN4UFFVRlBReXhSUVVGVlF5eFZRVVZxUWl4SlFVRkpReXhsUVVGcFFrTXNVVUZCVVN4aFFVRmhReXhOUVVOMFEwTXNNa0pCUVRaQ1NDeGxRVUZsUnl3eVFrRkROVU5ETEhOQ1FVRjNRa29zWlVGQlpVa3NjMEpCUTNaRFF5eHRRMEZCY1VOTUxHVkJRV1ZMTEcxRFFVTndSRU1zTkVKQlFUaENUaXhsUVVGbFRTdzBRa0ZGTjBORExFOUJRVk5PTEZGQlFWRXNiMEpCU1hKQ0xGTkJRVk5QTEdWQlFXVkRMRVZCUVVsRExFZEJRekZDTEVsQlFVbERMRVZCUVV0RExFdEJRVXRETEdkQ1FVTmtSaXhGUVVGSFJ5eGpRVUZsTEVWQlEyeENMRWxCUVVsRExFVkJRVXRLTEVWQlFVZExMRkZCUlZvc1IwRkJWeXhQUVVGUVJDeEZRVU5HTEU5QlFVOUlMRXRCUVV0TExFdEJRVXNzVVVGQlV5eEpRVUZKWWl4MVFrRkhhRU5QTEVWQlFVZFBMRmRCUVdFc1MwRkRhRUpRTEVWQlFVZExMRkZCUVZVc1MwRkRSQ3hOUVVGU1RpeEhRVU5HUlN4TFFVRkxUeXhMUVVGTFZDeEhRVU5hU3l4RlFVRkhUaXhIUVVOSUxFbEJRVWxYTEVWQlFVdFNMRXRCUVV0VExHVkJRMlJFTEVWQlFVZEZMRk5CUVZVc1IwRkZWRVlzUlVGQlIwY3NZMEZCWjBKSUxFVkJRVWRKTEU5QlFWTktMRVZCUVVkTExHZENRVU53UTJJc1MwRkJTMk1zVFVGQlRVNHNSVUZCUjBzc1pVRkpiRUlzVTBGQlV6RkNMRlZCUVZVMFFpeEhRVU5xUWl4TFFVRk5aaXhuUWtGQlowSmlMRmRCUVZrc1QwRkJUeXhKUVVGSlFTeFZRVUZWTkVJc1IwRkRka1J3UWl4UFFVRlBjVUlzUzBGQlMyaENMRXRCUVUxbExFZEJRMnhDWml4TFFVRkxReXhuUWtGQmEwSXNRMEZEY2tKTUxHVkJRV2RDUVN4bFFVRmxjVUlzUzBGQlMycENMRTFCUTNCRGEwSXNaVUZCWlN4RlFVTm1hRUlzWTBGQll5eEZRVU5rUlN4UlFVRlRMRXRCUTFSRkxGZEJRVmtzUzBGRFdtRXNZMEZCWlN4TlFVZHFRbTVDTEV0QlFVdFRMR1ZCUVdWRkxHTkJRV1VzUlVGSmJrTllMRXRCUVV0VExHVkJRV1ZYTEUxQlFVOHNSVUZGZGtKTUxFbEJReXRDTEcxQ1FVRjBRa0VzUlVGQlVVMHNXVUZCTUVKeVFpeExRVUZMYzBJc1YwRkJZVkFzUlVGQlVVMHNWMEZETVVNc2JVSkJRV3hDVGl4RlFVRlJVU3hSUVVGelFuWkNMRXRCUVV0M1FpeFBRVUZUVkN4RlFVRlJVU3hSUVVscVJYWkNMRXRCUVV0NVFpeEhRVUZITEZsQlFXRkRMRmRCUjNaQ0xGTkJRVk5CTEZsQlExQXNTVUZCU1VNc1JVRkJVVE5DTEV0QlJXVXNiVUpCUVdoQ1FTeExRVUZMZDBJc1VVRkJNRUo0UWl4TFFVRkxVeXhsUVVGbGJVSXNWVUZMTlVSRExFdEJRVXMzUWl4TFFVRk5MRXRCUVUwc1RVRktha0pCTEV0QlFVdDNRaXhQUVVGUExGTkJRVlV6UWl4RlFVRkpReXhIUVVONFFpdENMRXRCUVV0R0xFVkJRVTg1UWl4RlFVRkpReXhMUVRaRWRFSXNVMEZCVXl0Q0xFdEJRVXRETEVWQlFWRnFReXhGUVVGSlF5eEhRVU40UWl4SFFVRkpSQ3hGUVVGSkxFOUJRVTlwUXl4RlFVRlBla0lzUzBGQlN5eFJRVUZUVWl4SFFVMXdReXhIUVV4WkxFMUJRVkpETEVkQlEwWm5ReXhGUVVGUGRrSXNTMEZCUzFRc1IwRkpWbWRETEVWQlFVOURMR1ZCUVdWdVFpeFBRVUZSTEUxQlFVMHNTVUZCU1d4Q0xEUkNRVU0xUXl4SFFVRkpiME1zUlVGQlR6ZENMR2RDUVVGblFrTXNZVUZCWXl4TlFVRk5MRWxCUVVsVUxHMURRVU51UkN4UFFVRlBjVU1zUlVGQlQzWkNMRXRCUVVzc1RVRTVTSEpDYkVJc1VVRkJVU3hYUVVGU1FTeERRVUZ2UWtZc1ZVRkJWMUVzVVVFclJDOUNVaXhWUVVGVk5rTXNWVUZCVlhwQ0xFdEJRVThzVTBGQlZUQkNMRVZCUVU5RExFZEJSVEZETEU5QlJFRnNReXhMUVVGTFF5eG5Ra0ZCWjBKcFFpeGxRVUZuUWl4RlFVTTVRblpDTEU5QlFVOXhReXhWUVVGVmVrSXNTMEZCUzFNc1MwRkJTMmhDTEV0QlFVMXBReXhGUVVGUFF5eEpRV0ZxUkM5RExGVkJRVlUyUXl4VlFVRlZWaXhYUVVGaExGTkJRVlZYTEVWQlFVOURMRVZCUVZVdlFpeEhRVU14UkVFc1JVRkJSeXhKUVVGSldpd3lRa0ZCTWtJc2EwSkJSM0JEU2l4VlFVRlZOa01zVlVGQlZVY3NUMEZCVXl4VFFVRlZSaXhGUVVGUFF5eEZRVUZWTDBJc1IwRkRkRVFzU1VGQlNVb3NSVUZCUzBNc1MwRkJTME1zWjBKQlMyUXNSMEZLUVVZc1JVRkJSMHNzVVVGQlZVUXNSVUZEWWtvc1JVRkJSMDhzVjBGQllUSkNMRVZCUTJoQ2JFTXNSVUZCUjI5Q0xHTkJRV2RDWlN4SFFVVmtia01zUlVGQlIwY3NZVUZCWXl4RFFVTndRaXhKUVVGSlRTeEZRVUZMVWl4TFFVRkxVeXhuUWtGRFZsWXNSVUZCUjIxQ0xHVkJRV2xDVml4RlFVRkhSeXhqUVVGblFrZ3NSVUZCUjBrc1QwRkJVMG9zUlVGQlIwc3NaMEpCUVdWaUxFdEJRVXRqTEUxQlFVMU9MRVZCUVVkTExHbENRVTh6UmpGQ0xGVkJRVlUyUXl4VlFVRlZiRUlzVFVGQlVTeFRRVUZWYzBJc1IwRkRjRU1zU1VGQlNYSkRMRVZCUVV0RExFdEJRVXRETEdkQ1FVVlJMRTlCUVd4Q1JpeEZRVUZIVHl4WlFVRjNRbEFzUlVGQlIwY3NZVUZQYUVOSUxFVkJRVWR0UWl4bFFVRm5RaXhIUVU1dVFtNUNMRVZCUVVkSExHTkJRV1VzUlVGRmJFSkdMRXRCUVV0elFpeFhRVUZYZGtJc1JVRkJSMDhzVjBGQldWQXNSVUZCUjI5Q0xHTkJRV1Z3UWl4RlFVRkhTQ3hyUWtGUmVFUlVMRlZCUVZVMlF5eFZRVUZWU3l4VFFVRlhMRk5CUVZWRExFVkJRVXR1UXl4SFFVTTFRMUlzVDBGQlQzRkRMRlZCUVZWTExGTkJRVk55UWl4TFFVRkxhRUlzUzBGQlRYTkRMRVZCUVVzc1UwRkJWVU1zUjBGRGJFUndReXhGUVVGSGIwTWlMQ0ptYVd4bElqb2lMMmh2YldVdmVtbHVieTl3Y205cVpXTjBjeTl6WldGMGJXRndkakl2YldGemRHVnlMM05sWVhSdFlYQjJNaTlqYkdsbGJuUXZibTlrWlY5dGIyUjFiR1Z6TDNOMGNtVmhiUzFpY205M2MyVnlhV1o1TDI1dlpHVmZiVzlrZFd4bGN5OXlaV0ZrWVdKc1pTMXpkSEpsWVcwdmJHbGlMMTl6ZEhKbFlXMWZkSEpoYm5ObWIzSnRMbXB6SW4wPSIsIlwidXNlIHN0cmljdFwiO2Z1bmN0aW9uIFdyaXRlUmVxKGUsdCxyKXt0aGlzLmNodW5rPWUsdGhpcy5lbmNvZGluZz10LHRoaXMuY2FsbGJhY2s9cix0aGlzLm5leHQ9bnVsbH1mdW5jdGlvbiBDb3JrZWRSZXF1ZXN0KGUpe3ZhciB0PXRoaXM7dGhpcy5uZXh0PW51bGwsdGhpcy5lbnRyeT1udWxsLHRoaXMuZmluaXNoPWZ1bmN0aW9uKCl7b25Db3JrZWRGaW5pc2godCxlKX19dmFyIER1cGxleDttb2R1bGUuZXhwb3J0cz1Xcml0YWJsZSxXcml0YWJsZS5Xcml0YWJsZVN0YXRlPVdyaXRhYmxlU3RhdGU7dmFyIGludGVybmFsVXRpbD17ZGVwcmVjYXRlOnJlcXVpcmUoXCJ1dGlsLWRlcHJlY2F0ZVwiKX0sU3RyZWFtPXJlcXVpcmUoXCIuL2ludGVybmFsL3N0cmVhbXMvc3RyZWFtXCIpLEJ1ZmZlcj1yZXF1aXJlKFwiYnVmZmVyXCIpLkJ1ZmZlcixPdXJVaW50OEFycmF5PWdsb2JhbC5VaW50OEFycmF5fHxmdW5jdGlvbigpe307ZnVuY3Rpb24gX3VpbnQ4QXJyYXlUb0J1ZmZlcihlKXtyZXR1cm4gQnVmZmVyLmZyb20oZSl9ZnVuY3Rpb24gX2lzVWludDhBcnJheShlKXtyZXR1cm4gQnVmZmVyLmlzQnVmZmVyKGUpfHxlIGluc3RhbmNlb2YgT3VyVWludDhBcnJheX12YXIgcmVhbEhhc0luc3RhbmNlLGRlc3Ryb3lJbXBsPXJlcXVpcmUoXCIuL2ludGVybmFsL3N0cmVhbXMvZGVzdHJveVwiKSxfcmVxdWlyZT1yZXF1aXJlKFwiLi9pbnRlcm5hbC9zdHJlYW1zL3N0YXRlXCIpLGdldEhpZ2hXYXRlck1hcms9X3JlcXVpcmUuZ2V0SGlnaFdhdGVyTWFyayxfcmVxdWlyZSRjb2Rlcz1yZXF1aXJlKFwiLi4vZXJyb3JzXCIpLmNvZGVzLEVSUl9JTlZBTElEX0FSR19UWVBFPV9yZXF1aXJlJGNvZGVzLkVSUl9JTlZBTElEX0FSR19UWVBFLEVSUl9NRVRIT0RfTk9UX0lNUExFTUVOVEVEPV9yZXF1aXJlJGNvZGVzLkVSUl9NRVRIT0RfTk9UX0lNUExFTUVOVEVELEVSUl9NVUxUSVBMRV9DQUxMQkFDSz1fcmVxdWlyZSRjb2Rlcy5FUlJfTVVMVElQTEVfQ0FMTEJBQ0ssRVJSX1NUUkVBTV9DQU5OT1RfUElQRT1fcmVxdWlyZSRjb2Rlcy5FUlJfU1RSRUFNX0NBTk5PVF9QSVBFLEVSUl9TVFJFQU1fREVTVFJPWUVEPV9yZXF1aXJlJGNvZGVzLkVSUl9TVFJFQU1fREVTVFJPWUVELEVSUl9TVFJFQU1fTlVMTF9WQUxVRVM9X3JlcXVpcmUkY29kZXMuRVJSX1NUUkVBTV9OVUxMX1ZBTFVFUyxFUlJfU1RSRUFNX1dSSVRFX0FGVEVSX0VORD1fcmVxdWlyZSRjb2Rlcy5FUlJfU1RSRUFNX1dSSVRFX0FGVEVSX0VORCxFUlJfVU5LTk9XTl9FTkNPRElORz1fcmVxdWlyZSRjb2Rlcy5FUlJfVU5LTk9XTl9FTkNPRElORyxlcnJvck9yRGVzdHJveT1kZXN0cm95SW1wbC5lcnJvck9yRGVzdHJveTtmdW5jdGlvbiBub3AoKXt9ZnVuY3Rpb24gV3JpdGFibGVTdGF0ZShlLHQscil7RHVwbGV4PUR1cGxleHx8cmVxdWlyZShcIi4vX3N0cmVhbV9kdXBsZXhcIiksZT1lfHx7fSxcImJvb2xlYW5cIiE9dHlwZW9mIHImJihyPXQgaW5zdGFuY2VvZiBEdXBsZXgpLHRoaXMub2JqZWN0TW9kZT0hIWUub2JqZWN0TW9kZSxyJiYodGhpcy5vYmplY3RNb2RlPXRoaXMub2JqZWN0TW9kZXx8ISFlLndyaXRhYmxlT2JqZWN0TW9kZSksdGhpcy5oaWdoV2F0ZXJNYXJrPWdldEhpZ2hXYXRlck1hcmsodGhpcyxlLFwid3JpdGFibGVIaWdoV2F0ZXJNYXJrXCIsciksdGhpcy5maW5hbENhbGxlZD0hMSx0aGlzLm5lZWREcmFpbj0hMSx0aGlzLmVuZGluZz0hMSx0aGlzLmVuZGVkPSExLHRoaXMuZmluaXNoZWQ9ITEsdGhpcy5kZXN0cm95ZWQ9ITE7dmFyIGk9ITE9PT1lLmRlY29kZVN0cmluZ3M7dGhpcy5kZWNvZGVTdHJpbmdzPSFpLHRoaXMuZGVmYXVsdEVuY29kaW5nPWUuZGVmYXVsdEVuY29kaW5nfHxcInV0ZjhcIix0aGlzLmxlbmd0aD0wLHRoaXMud3JpdGluZz0hMSx0aGlzLmNvcmtlZD0wLHRoaXMuc3luYz0hMCx0aGlzLmJ1ZmZlclByb2Nlc3Npbmc9ITEsdGhpcy5vbndyaXRlPWZ1bmN0aW9uKGUpe29ud3JpdGUodCxlKX0sdGhpcy53cml0ZWNiPW51bGwsdGhpcy53cml0ZWxlbj0wLHRoaXMuYnVmZmVyZWRSZXF1ZXN0PW51bGwsdGhpcy5sYXN0QnVmZmVyZWRSZXF1ZXN0PW51bGwsdGhpcy5wZW5kaW5nY2I9MCx0aGlzLnByZWZpbmlzaGVkPSExLHRoaXMuZXJyb3JFbWl0dGVkPSExLHRoaXMuZW1pdENsb3NlPSExIT09ZS5lbWl0Q2xvc2UsdGhpcy5hdXRvRGVzdHJveT0hIWUuYXV0b0Rlc3Ryb3ksdGhpcy5idWZmZXJlZFJlcXVlc3RDb3VudD0wLHRoaXMuY29ya2VkUmVxdWVzdHNGcmVlPW5ldyBDb3JrZWRSZXF1ZXN0KHRoaXMpfWZ1bmN0aW9uIFdyaXRhYmxlKGUpe3ZhciB0PXRoaXMgaW5zdGFuY2VvZihEdXBsZXg9RHVwbGV4fHxyZXF1aXJlKFwiLi9fc3RyZWFtX2R1cGxleFwiKSk7aWYoIXQmJiFyZWFsSGFzSW5zdGFuY2UuY2FsbChXcml0YWJsZSx0aGlzKSlyZXR1cm4gbmV3IFdyaXRhYmxlKGUpO3RoaXMuX3dyaXRhYmxlU3RhdGU9bmV3IFdyaXRhYmxlU3RhdGUoZSx0aGlzLHQpLHRoaXMud3JpdGFibGU9ITAsZSYmKFwiZnVuY3Rpb25cIj09dHlwZW9mIGUud3JpdGUmJih0aGlzLl93cml0ZT1lLndyaXRlKSxcImZ1bmN0aW9uXCI9PXR5cGVvZiBlLndyaXRldiYmKHRoaXMuX3dyaXRldj1lLndyaXRldiksXCJmdW5jdGlvblwiPT10eXBlb2YgZS5kZXN0cm95JiYodGhpcy5fZGVzdHJveT1lLmRlc3Ryb3kpLFwiZnVuY3Rpb25cIj09dHlwZW9mIGUuZmluYWwmJih0aGlzLl9maW5hbD1lLmZpbmFsKSksU3RyZWFtLmNhbGwodGhpcyl9ZnVuY3Rpb24gd3JpdGVBZnRlckVuZChlLHQpe3ZhciByPW5ldyBFUlJfU1RSRUFNX1dSSVRFX0FGVEVSX0VORDtlcnJvck9yRGVzdHJveShlLHIpLHByb2Nlc3MubmV4dFRpY2sodCxyKX1mdW5jdGlvbiB2YWxpZENodW5rKGUsdCxyLGkpe3ZhciBuO3JldHVybiBudWxsPT09cj9uPW5ldyBFUlJfU1RSRUFNX05VTExfVkFMVUVTOlwic3RyaW5nXCI9PXR5cGVvZiByfHx0Lm9iamVjdE1vZGV8fChuPW5ldyBFUlJfSU5WQUxJRF9BUkdfVFlQRShcImNodW5rXCIsW1wic3RyaW5nXCIsXCJCdWZmZXJcIl0scikpLCFufHwoZXJyb3JPckRlc3Ryb3koZSxuKSxwcm9jZXNzLm5leHRUaWNrKGksbiksITEpfWZ1bmN0aW9uIGRlY29kZUNodW5rKGUsdCxyKXtyZXR1cm4gZS5vYmplY3RNb2RlfHwhMT09PWUuZGVjb2RlU3RyaW5nc3x8XCJzdHJpbmdcIiE9dHlwZW9mIHR8fCh0PUJ1ZmZlci5mcm9tKHQscikpLHR9ZnVuY3Rpb24gd3JpdGVPckJ1ZmZlcihlLHQscixpLG4sbyl7aWYoIXIpe3ZhciBzPWRlY29kZUNodW5rKHQsaSxuKTtpIT09cyYmKHI9ITAsbj1cImJ1ZmZlclwiLGk9cyl9dmFyIGE9dC5vYmplY3RNb2RlPzE6aS5sZW5ndGg7dC5sZW5ndGgrPWE7dmFyIHU9dC5sZW5ndGg8dC5oaWdoV2F0ZXJNYXJrO2lmKHV8fCh0Lm5lZWREcmFpbj0hMCksdC53cml0aW5nfHx0LmNvcmtlZCl7dmFyIGY9dC5sYXN0QnVmZmVyZWRSZXF1ZXN0O3QubGFzdEJ1ZmZlcmVkUmVxdWVzdD17Y2h1bms6aSxlbmNvZGluZzpuLGlzQnVmOnIsY2FsbGJhY2s6byxuZXh0Om51bGx9LGY/Zi5uZXh0PXQubGFzdEJ1ZmZlcmVkUmVxdWVzdDp0LmJ1ZmZlcmVkUmVxdWVzdD10Lmxhc3RCdWZmZXJlZFJlcXVlc3QsdC5idWZmZXJlZFJlcXVlc3RDb3VudCs9MX1lbHNlIGRvV3JpdGUoZSx0LCExLGEsaSxuLG8pO3JldHVybiB1fWZ1bmN0aW9uIGRvV3JpdGUoZSx0LHIsaSxuLG8scyl7dC53cml0ZWxlbj1pLHQud3JpdGVjYj1zLHQud3JpdGluZz0hMCx0LnN5bmM9ITAsdC5kZXN0cm95ZWQ/dC5vbndyaXRlKG5ldyBFUlJfU1RSRUFNX0RFU1RST1lFRChcIndyaXRlXCIpKTpyP2UuX3dyaXRldihuLHQub253cml0ZSk6ZS5fd3JpdGUobixvLHQub253cml0ZSksdC5zeW5jPSExfWZ1bmN0aW9uIG9ud3JpdGVFcnJvcihlLHQscixpLG4pey0tdC5wZW5kaW5nY2Iscj8ocHJvY2Vzcy5uZXh0VGljayhuLGkpLHByb2Nlc3MubmV4dFRpY2soZmluaXNoTWF5YmUsZSx0KSxlLl93cml0YWJsZVN0YXRlLmVycm9yRW1pdHRlZD0hMCxlcnJvck9yRGVzdHJveShlLGkpKToobihpKSxlLl93cml0YWJsZVN0YXRlLmVycm9yRW1pdHRlZD0hMCxlcnJvck9yRGVzdHJveShlLGkpLGZpbmlzaE1heWJlKGUsdCkpfWZ1bmN0aW9uIG9ud3JpdGVTdGF0ZVVwZGF0ZShlKXtlLndyaXRpbmc9ITEsZS53cml0ZWNiPW51bGwsZS5sZW5ndGgtPWUud3JpdGVsZW4sZS53cml0ZWxlbj0wfWZ1bmN0aW9uIG9ud3JpdGUoZSx0KXt2YXIgcj1lLl93cml0YWJsZVN0YXRlLGk9ci5zeW5jLG49ci53cml0ZWNiO2lmKFwiZnVuY3Rpb25cIiE9dHlwZW9mIG4pdGhyb3cgbmV3IEVSUl9NVUxUSVBMRV9DQUxMQkFDSztpZihvbndyaXRlU3RhdGVVcGRhdGUociksdClvbndyaXRlRXJyb3IoZSxyLGksdCxuKTtlbHNle3ZhciBvPW5lZWRGaW5pc2gocil8fGUuZGVzdHJveWVkO298fHIuY29ya2VkfHxyLmJ1ZmZlclByb2Nlc3Npbmd8fCFyLmJ1ZmZlcmVkUmVxdWVzdHx8Y2xlYXJCdWZmZXIoZSxyKSxpP3Byb2Nlc3MubmV4dFRpY2soYWZ0ZXJXcml0ZSxlLHIsbyxuKTphZnRlcldyaXRlKGUscixvLG4pfX1mdW5jdGlvbiBhZnRlcldyaXRlKGUsdCxyLGkpe3J8fG9ud3JpdGVEcmFpbihlLHQpLHQucGVuZGluZ2NiLS0saSgpLGZpbmlzaE1heWJlKGUsdCl9ZnVuY3Rpb24gb253cml0ZURyYWluKGUsdCl7MD09PXQubGVuZ3RoJiZ0Lm5lZWREcmFpbiYmKHQubmVlZERyYWluPSExLGUuZW1pdChcImRyYWluXCIpKX1mdW5jdGlvbiBjbGVhckJ1ZmZlcihlLHQpe3QuYnVmZmVyUHJvY2Vzc2luZz0hMDt2YXIgcj10LmJ1ZmZlcmVkUmVxdWVzdDtpZihlLl93cml0ZXYmJnImJnIubmV4dCl7dmFyIGk9dC5idWZmZXJlZFJlcXVlc3RDb3VudCxuPW5ldyBBcnJheShpKSxvPXQuY29ya2VkUmVxdWVzdHNGcmVlO28uZW50cnk9cjtmb3IodmFyIHM9MCxhPSEwO3I7KW5bc109cixyLmlzQnVmfHwoYT0hMSkscj1yLm5leHQscys9MTtuLmFsbEJ1ZmZlcnM9YSxkb1dyaXRlKGUsdCwhMCx0Lmxlbmd0aCxuLFwiXCIsby5maW5pc2gpLHQucGVuZGluZ2NiKyssdC5sYXN0QnVmZmVyZWRSZXF1ZXN0PW51bGwsby5uZXh0Pyh0LmNvcmtlZFJlcXVlc3RzRnJlZT1vLm5leHQsby5uZXh0PW51bGwpOnQuY29ya2VkUmVxdWVzdHNGcmVlPW5ldyBDb3JrZWRSZXF1ZXN0KHQpLHQuYnVmZmVyZWRSZXF1ZXN0Q291bnQ9MH1lbHNle2Zvcig7cjspe3ZhciB1PXIuY2h1bmssZj1yLmVuY29kaW5nLGw9ci5jYWxsYmFjaztpZihkb1dyaXRlKGUsdCwhMSx0Lm9iamVjdE1vZGU/MTp1Lmxlbmd0aCx1LGYsbCkscj1yLm5leHQsdC5idWZmZXJlZFJlcXVlc3RDb3VudC0tLHQud3JpdGluZylicmVha31udWxsPT09ciYmKHQubGFzdEJ1ZmZlcmVkUmVxdWVzdD1udWxsKX10LmJ1ZmZlcmVkUmVxdWVzdD1yLHQuYnVmZmVyUHJvY2Vzc2luZz0hMX1mdW5jdGlvbiBuZWVkRmluaXNoKGUpe3JldHVybiBlLmVuZGluZyYmMD09PWUubGVuZ3RoJiZudWxsPT09ZS5idWZmZXJlZFJlcXVlc3QmJiFlLmZpbmlzaGVkJiYhZS53cml0aW5nfWZ1bmN0aW9uIGNhbGxGaW5hbChlLHQpe2UuX2ZpbmFsKGZ1bmN0aW9uKHIpe3QucGVuZGluZ2NiLS0sciYmZXJyb3JPckRlc3Ryb3koZSxyKSx0LnByZWZpbmlzaGVkPSEwLGUuZW1pdChcInByZWZpbmlzaFwiKSxmaW5pc2hNYXliZShlLHQpfSl9ZnVuY3Rpb24gcHJlZmluaXNoKGUsdCl7dC5wcmVmaW5pc2hlZHx8dC5maW5hbENhbGxlZHx8KFwiZnVuY3Rpb25cIiE9dHlwZW9mIGUuX2ZpbmFsfHx0LmRlc3Ryb3llZD8odC5wcmVmaW5pc2hlZD0hMCxlLmVtaXQoXCJwcmVmaW5pc2hcIikpOih0LnBlbmRpbmdjYisrLHQuZmluYWxDYWxsZWQ9ITAscHJvY2Vzcy5uZXh0VGljayhjYWxsRmluYWwsZSx0KSkpfWZ1bmN0aW9uIGZpbmlzaE1heWJlKGUsdCl7dmFyIHI9bmVlZEZpbmlzaCh0KTtpZihyJiYocHJlZmluaXNoKGUsdCksMD09PXQucGVuZGluZ2NiJiYodC5maW5pc2hlZD0hMCxlLmVtaXQoXCJmaW5pc2hcIiksdC5hdXRvRGVzdHJveSkpKXt2YXIgaT1lLl9yZWFkYWJsZVN0YXRlOyghaXx8aS5hdXRvRGVzdHJveSYmaS5lbmRFbWl0dGVkKSYmZS5kZXN0cm95KCl9cmV0dXJuIHJ9ZnVuY3Rpb24gZW5kV3JpdGFibGUoZSx0LHIpe3QuZW5kaW5nPSEwLGZpbmlzaE1heWJlKGUsdCksciYmKHQuZmluaXNoZWQ/cHJvY2Vzcy5uZXh0VGljayhyKTplLm9uY2UoXCJmaW5pc2hcIixyKSksdC5lbmRlZD0hMCxlLndyaXRhYmxlPSExfWZ1bmN0aW9uIG9uQ29ya2VkRmluaXNoKGUsdCxyKXt2YXIgaT1lLmVudHJ5O2ZvcihlLmVudHJ5PW51bGw7aTspe3ZhciBuPWkuY2FsbGJhY2s7dC5wZW5kaW5nY2ItLSxuKHIpLGk9aS5uZXh0fXQuY29ya2VkUmVxdWVzdHNGcmVlLm5leHQ9ZX1yZXF1aXJlKFwiaW5oZXJpdHNcIikoV3JpdGFibGUsU3RyZWFtKSxXcml0YWJsZVN0YXRlLnByb3RvdHlwZS5nZXRCdWZmZXI9ZnVuY3Rpb24oKXtmb3IodmFyIGU9dGhpcy5idWZmZXJlZFJlcXVlc3QsdD1bXTtlOyl0LnB1c2goZSksZT1lLm5leHQ7cmV0dXJuIHR9LGZ1bmN0aW9uKCl7dHJ5e09iamVjdC5kZWZpbmVQcm9wZXJ0eShXcml0YWJsZVN0YXRlLnByb3RvdHlwZSxcImJ1ZmZlclwiLHtnZXQ6aW50ZXJuYWxVdGlsLmRlcHJlY2F0ZShmdW5jdGlvbigpe3JldHVybiB0aGlzLmdldEJ1ZmZlcigpfSxcIl93cml0YWJsZVN0YXRlLmJ1ZmZlciBpcyBkZXByZWNhdGVkLiBVc2UgX3dyaXRhYmxlU3RhdGUuZ2V0QnVmZmVyIGluc3RlYWQuXCIsXCJERVAwMDAzXCIpfSl9Y2F0Y2goZSl7fX0oKSxcImZ1bmN0aW9uXCI9PXR5cGVvZiBTeW1ib2wmJlN5bWJvbC5oYXNJbnN0YW5jZSYmXCJmdW5jdGlvblwiPT10eXBlb2YgRnVuY3Rpb24ucHJvdG90eXBlW1N5bWJvbC5oYXNJbnN0YW5jZV0/KHJlYWxIYXNJbnN0YW5jZT1GdW5jdGlvbi5wcm90b3R5cGVbU3ltYm9sLmhhc0luc3RhbmNlXSxPYmplY3QuZGVmaW5lUHJvcGVydHkoV3JpdGFibGUsU3ltYm9sLmhhc0luc3RhbmNlLHt2YWx1ZTpmdW5jdGlvbihlKXtyZXR1cm4hIXJlYWxIYXNJbnN0YW5jZS5jYWxsKHRoaXMsZSl8fHRoaXM9PT1Xcml0YWJsZSYmKGUmJmUuX3dyaXRhYmxlU3RhdGUgaW5zdGFuY2VvZiBXcml0YWJsZVN0YXRlKX19KSk6cmVhbEhhc0luc3RhbmNlPWZ1bmN0aW9uKGUpe3JldHVybiBlIGluc3RhbmNlb2YgdGhpc30sV3JpdGFibGUucHJvdG90eXBlLnBpcGU9ZnVuY3Rpb24oKXtlcnJvck9yRGVzdHJveSh0aGlzLG5ldyBFUlJfU1RSRUFNX0NBTk5PVF9QSVBFKX0sV3JpdGFibGUucHJvdG90eXBlLndyaXRlPWZ1bmN0aW9uKGUsdCxyKXt2YXIgaT10aGlzLl93cml0YWJsZVN0YXRlLG49ITEsbz0haS5vYmplY3RNb2RlJiZfaXNVaW50OEFycmF5KGUpO3JldHVybiBvJiYhQnVmZmVyLmlzQnVmZmVyKGUpJiYoZT1fdWludDhBcnJheVRvQnVmZmVyKGUpKSxcImZ1bmN0aW9uXCI9PXR5cGVvZiB0JiYocj10LHQ9bnVsbCksbz90PVwiYnVmZmVyXCI6dHx8KHQ9aS5kZWZhdWx0RW5jb2RpbmcpLFwiZnVuY3Rpb25cIiE9dHlwZW9mIHImJihyPW5vcCksaS5lbmRpbmc/d3JpdGVBZnRlckVuZCh0aGlzLHIpOihvfHx2YWxpZENodW5rKHRoaXMsaSxlLHIpKSYmKGkucGVuZGluZ2NiKyssbj13cml0ZU9yQnVmZmVyKHRoaXMsaSxvLGUsdCxyKSksbn0sV3JpdGFibGUucHJvdG90eXBlLmNvcms9ZnVuY3Rpb24oKXt0aGlzLl93cml0YWJsZVN0YXRlLmNvcmtlZCsrfSxXcml0YWJsZS5wcm90b3R5cGUudW5jb3JrPWZ1bmN0aW9uKCl7dmFyIGU9dGhpcy5fd3JpdGFibGVTdGF0ZTtlLmNvcmtlZCYmKGUuY29ya2VkLS0sZS53cml0aW5nfHxlLmNvcmtlZHx8ZS5idWZmZXJQcm9jZXNzaW5nfHwhZS5idWZmZXJlZFJlcXVlc3R8fGNsZWFyQnVmZmVyKHRoaXMsZSkpfSxXcml0YWJsZS5wcm90b3R5cGUuc2V0RGVmYXVsdEVuY29kaW5nPWZ1bmN0aW9uKGUpe2lmKFwic3RyaW5nXCI9PXR5cGVvZiBlJiYoZT1lLnRvTG93ZXJDYXNlKCkpLCEoW1wiaGV4XCIsXCJ1dGY4XCIsXCJ1dGYtOFwiLFwiYXNjaWlcIixcImJpbmFyeVwiLFwiYmFzZTY0XCIsXCJ1Y3MyXCIsXCJ1Y3MtMlwiLFwidXRmMTZsZVwiLFwidXRmLTE2bGVcIixcInJhd1wiXS5pbmRleE9mKChlK1wiXCIpLnRvTG93ZXJDYXNlKCkpPi0xKSl0aHJvdyBuZXcgRVJSX1VOS05PV05fRU5DT0RJTkcoZSk7cmV0dXJuIHRoaXMuX3dyaXRhYmxlU3RhdGUuZGVmYXVsdEVuY29kaW5nPWUsdGhpc30sT2JqZWN0LmRlZmluZVByb3BlcnR5KFdyaXRhYmxlLnByb3RvdHlwZSxcIndyaXRhYmxlQnVmZmVyXCIse2VudW1lcmFibGU6ITEsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX3dyaXRhYmxlU3RhdGUmJnRoaXMuX3dyaXRhYmxlU3RhdGUuZ2V0QnVmZmVyKCl9fSksT2JqZWN0LmRlZmluZVByb3BlcnR5KFdyaXRhYmxlLnByb3RvdHlwZSxcIndyaXRhYmxlSGlnaFdhdGVyTWFya1wiLHtlbnVtZXJhYmxlOiExLGdldDpmdW5jdGlvbigpe3JldHVybiB0aGlzLl93cml0YWJsZVN0YXRlLmhpZ2hXYXRlck1hcmt9fSksV3JpdGFibGUucHJvdG90eXBlLl93cml0ZT1mdW5jdGlvbihlLHQscil7cihuZXcgRVJSX01FVEhPRF9OT1RfSU1QTEVNRU5URUQoXCJfd3JpdGUoKVwiKSl9LFdyaXRhYmxlLnByb3RvdHlwZS5fd3JpdGV2PW51bGwsV3JpdGFibGUucHJvdG90eXBlLmVuZD1mdW5jdGlvbihlLHQscil7dmFyIGk9dGhpcy5fd3JpdGFibGVTdGF0ZTtyZXR1cm5cImZ1bmN0aW9uXCI9PXR5cGVvZiBlPyhyPWUsZT1udWxsLHQ9bnVsbCk6XCJmdW5jdGlvblwiPT10eXBlb2YgdCYmKHI9dCx0PW51bGwpLG51bGwhPWUmJnRoaXMud3JpdGUoZSx0KSxpLmNvcmtlZCYmKGkuY29ya2VkPTEsdGhpcy51bmNvcmsoKSksaS5lbmRpbmd8fGVuZFdyaXRhYmxlKHRoaXMsaSxyKSx0aGlzfSxPYmplY3QuZGVmaW5lUHJvcGVydHkoV3JpdGFibGUucHJvdG90eXBlLFwid3JpdGFibGVMZW5ndGhcIix7ZW51bWVyYWJsZTohMSxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fd3JpdGFibGVTdGF0ZS5sZW5ndGh9fSksT2JqZWN0LmRlZmluZVByb3BlcnR5KFdyaXRhYmxlLnByb3RvdHlwZSxcImRlc3Ryb3llZFwiLHtlbnVtZXJhYmxlOiExLGdldDpmdW5jdGlvbigpe3JldHVybiB2b2lkIDAhPT10aGlzLl93cml0YWJsZVN0YXRlJiZ0aGlzLl93cml0YWJsZVN0YXRlLmRlc3Ryb3llZH0sc2V0OmZ1bmN0aW9uKGUpe3RoaXMuX3dyaXRhYmxlU3RhdGUmJih0aGlzLl93cml0YWJsZVN0YXRlLmRlc3Ryb3llZD1lKX19KSxXcml0YWJsZS5wcm90b3R5cGUuZGVzdHJveT1kZXN0cm95SW1wbC5kZXN0cm95LFdyaXRhYmxlLnByb3RvdHlwZS5fdW5kZXN0cm95PWRlc3Ryb3lJbXBsLnVuZGVzdHJveSxXcml0YWJsZS5wcm90b3R5cGUuX2Rlc3Ryb3k9ZnVuY3Rpb24oZSx0KXt0KGUpfTtcblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYklsOXpkSEpsWVcxZmQzSnBkR0ZpYkdVdWFuTWlYU3dpYm1GdFpYTWlPbHNpVjNKcGRHVlNaWEVpTENKamFIVnVheUlzSW1WdVkyOWthVzVuSWl3aVkySWlMQ0owYUdseklpd2lZMkZzYkdKaFkyc2lMQ0p1WlhoMElpd2lRMjl5YTJWa1VtVnhkV1Z6ZENJc0luTjBZWFJsSWl3aVgzUm9hWE1pTENKbGJuUnllU0lzSW1acGJtbHphQ0lzSW05dVEyOXlhMlZrUm1sdWFYTm9JaXdpUkhWd2JHVjRJaXdpYlc5a2RXeGxJaXdpWlhod2IzSjBjeUlzSWxkeWFYUmhZbXhsSWl3aVYzSnBkR0ZpYkdWVGRHRjBaU0lzSW1sdWRHVnlibUZzVlhScGJDSXNJbVJsY0hKbFkyRjBaU0lzSW5KbGNYVnBjbVVpTENKVGRISmxZVzBpTENKQ2RXWm1aWElpTENKUGRYSlZhVzUwT0VGeWNtRjVJaXdpWjJ4dlltRnNJaXdpVldsdWREaEJjbkpoZVNJc0lsOTFhVzUwT0VGeWNtRjVWRzlDZFdabVpYSWlMQ0ptY205dElpd2lYMmx6VldsdWREaEJjbkpoZVNJc0ltOWlhaUlzSW1selFuVm1abVZ5SWl3aWNtVmhiRWhoYzBsdWMzUmhibU5sSWl3aVpHVnpkSEp2ZVVsdGNHd2lMQ0pmY21WeGRXbHlaU0lzSW1kbGRFaHBaMmhYWVhSbGNrMWhjbXNpTENKZmNtVnhkV2x5WlNSamIyUmxjeUlzSW1OdlpHVnpJaXdpUlZKU1gwbE9Wa0ZNU1VSZlFWSkhYMVJaVUVVaUxDSkZVbEpmVFVWVVNFOUVYMDVQVkY5SlRWQk1SVTFGVGxSRlJDSXNJa1ZTVWw5TlZVeFVTVkJNUlY5RFFVeE1Ra0ZEU3lJc0lrVlNVbDlUVkZKRlFVMWZRMEZPVGs5VVgxQkpVRVVpTENKRlVsSmZVMVJTUlVGTlgwUkZVMVJTVDFsRlJDSXNJa1ZTVWw5VFZGSkZRVTFmVGxWTVRGOVdRVXhWUlZNaUxDSkZVbEpmVTFSU1JVRk5YMWRTU1ZSRlgwRkdWRVZTWDBWT1JDSXNJa1ZTVWw5VlRrdE9UMWRPWDBWT1EwOUVTVTVISWl3aVpYSnliM0pQY2tSbGMzUnliM2tpTENKdWIzQWlMQ0p2Y0hScGIyNXpJaXdpYzNSeVpXRnRJaXdpYVhORWRYQnNaWGdpTENKdlltcGxZM1JOYjJSbElpd2lkM0pwZEdGaWJHVlBZbXBsWTNSTmIyUmxJaXdpYUdsbmFGZGhkR1Z5VFdGeWF5SXNJbVpwYm1Gc1EyRnNiR1ZrSWl3aWJtVmxaRVJ5WVdsdUlpd2laVzVrYVc1bklpd2laVzVrWldRaUxDSm1hVzVwYzJobFpDSXNJbVJsYzNSeWIzbGxaQ0lzSW01dlJHVmpiMlJsSWl3aVpHVmpiMlJsVTNSeWFXNW5jeUlzSW1SbFptRjFiSFJGYm1OdlpHbHVaeUlzSW14bGJtZDBhQ0lzSW5keWFYUnBibWNpTENKamIzSnJaV1FpTENKemVXNWpJaXdpWW5WbVptVnlVSEp2WTJWemMybHVaeUlzSW05dWQzSnBkR1VpTENKbGNpSXNJbmR5YVhSbFkySWlMQ0ozY21sMFpXeGxiaUlzSW1KMVptWmxjbVZrVW1WeGRXVnpkQ0lzSW14aGMzUkNkV1ptWlhKbFpGSmxjWFZsYzNRaUxDSndaVzVrYVc1blkySWlMQ0p3Y21WbWFXNXBjMmhsWkNJc0ltVnljbTl5UlcxcGRIUmxaQ0lzSW1WdGFYUkRiRzl6WlNJc0ltRjFkRzlFWlhOMGNtOTVJaXdpWW5WbVptVnlaV1JTWlhGMVpYTjBRMjkxYm5RaUxDSmpiM0pyWldSU1pYRjFaWE4wYzBaeVpXVWlMQ0pqWVd4c0lpd2lYM2R5YVhSaFlteGxVM1JoZEdVaUxDSjNjbWwwWVdKc1pTSXNJbmR5YVhSbElpd2lYM2R5YVhSbElpd2lkM0pwZEdWMklpd2lYM2R5YVhSbGRpSXNJbVJsYzNSeWIza2lMQ0pmWkdWemRISnZlU0lzSW1acGJtRnNJaXdpWDJacGJtRnNJaXdpZDNKcGRHVkJablJsY2tWdVpDSXNJbkJ5YjJObGMzTWlMQ0p1WlhoMFZHbGpheUlzSW5aaGJHbGtRMmgxYm1zaUxDSmtaV052WkdWRGFIVnVheUlzSW5keWFYUmxUM0pDZFdabVpYSWlMQ0pwYzBKMVppSXNJbTVsZDBOb2RXNXJJaXdpYkdWdUlpd2ljbVYwSWl3aWJHRnpkQ0lzSW1SdlYzSnBkR1VpTENKdmJuZHlhWFJsUlhKeWIzSWlMQ0ptYVc1cGMyaE5ZWGxpWlNJc0ltOXVkM0pwZEdWVGRHRjBaVlZ3WkdGMFpTSXNJbTVsWldSR2FXNXBjMmdpTENKamJHVmhja0oxWm1abGNpSXNJbUZtZEdWeVYzSnBkR1VpTENKdmJuZHlhWFJsUkhKaGFXNGlMQ0psYldsMElpd2liQ0lzSW1KMVptWmxjaUlzSWtGeWNtRjVJaXdpYUc5c1pHVnlJaXdpWTI5MWJuUWlMQ0poYkd4Q2RXWm1aWEp6SWl3aVkyRnNiRVpwYm1Gc0lpd2laWEp5SWl3aWNISmxabWx1YVhOb0lpd2libVZsWkNJc0luSlRkR0YwWlNJc0lsOXlaV0ZrWVdKc1pWTjBZWFJsSWl3aVpXNWtSVzFwZEhSbFpDSXNJbVZ1WkZkeWFYUmhZbXhsSWl3aWIyNWpaU0lzSW1OdmNtdFNaWEVpTENKd2NtOTBiM1I1Y0dVaUxDSm5aWFJDZFdabVpYSWlMQ0pqZFhKeVpXNTBJaXdpYjNWMElpd2ljSFZ6YUNJc0lrOWlhbVZqZENJc0ltUmxabWx1WlZCeWIzQmxjblI1SWl3aVoyVjBJaXdpWHlJc0lsTjViV0p2YkNJc0ltaGhjMGx1YzNSaGJtTmxJaXdpUm5WdVkzUnBiMjRpTENKMllXeDFaU0lzSW05aWFtVmpkQ0lzSW5CcGNHVWlMQ0pqYjNKcklpd2lkVzVqYjNKcklpd2ljMlYwUkdWbVlYVnNkRVZ1WTI5a2FXNW5JaXdpZEc5TWIzZGxja05oYzJVaUxDSnBibVJsZUU5bUlpd2laVzUxYldWeVlXSnNaU0lzSW1WdVpDSXNJblZ1WkdWbWFXNWxaQ0lzSW5ObGRDSXNJbDkxYm1SbGMzUnliM2tpTENKMWJtUmxjM1J5YjNraVhTd2liV0Z3Y0dsdVozTWlPaUpCUVhWQ1FTeGhRVXRCTEZOQlFWTkJMRk5CUVZORExFVkJRVTlETEVWQlFWVkRMRWRCUTJwRFF5eExRVUZMU0N4TlFVRlJRU3hGUVVOaVJ5eExRVUZMUml4VFFVRlhRU3hGUVVOb1FrVXNTMEZCUzBNc1UwRkJWMFlzUlVGRGFFSkRMRXRCUVV0RkxFdEJRVThzUzBGTFpDeFRRVUZUUXl4alFVRmpReXhIUVVOeVFpeEpRVUZKUXl4RlFVRlJUQ3hMUVVWYVFTeExRVUZMUlN4TFFVRlBMRXRCUTFwR0xFdEJRVXROTEUxQlFWRXNTMEZGWWs0c1MwRkJTMDhzVDBGQlV5eFhRVU5hUXl4bFFVRmxTQ3hGUVVGUFJDeEpRVkV4UWl4SlFVRkpTeXhQUVROQ1NrTXNUMEZCVDBNc1VVRkJWVU1zVTBFNFFtcENRU3hUUVVGVFF5eGpRVUZuUWtFc1kwRkhla0lzU1VGQlNVTXNZVUZCWlN4RFFVTnFRa01zVlVGQlYwTXNVVUZCVVN4dFFrRk5ha0pETEU5QlFWTkVMRkZCUVZFc05rSkJTV3BDUlN4UFFVRlRSaXhSUVVGUkxGVkJRVlZGTEU5QlJUTkNReXhqUVVGblFrTXNUMEZCVDBNc1dVRkJZeXhoUVVWNlF5eFRRVUZUUXl4dlFrRkJiMEo2UWl4SFFVTXpRaXhQUVVGUGNVSXNUMEZCVDBzc1MwRkJTekZDTEVkQlIzSkNMRk5CUVZNeVFpeGpRVUZqUXl4SFFVTnlRaXhQUVVGUFVDeFBRVUZQVVN4VFFVRlRSQ3hKUVVGUlFTeGhRVUZsVGl4alFVZG9SQ3hKUVd0SlNWRXNaMEpCYkVsQlF5eFpRVUZqV2l4UlFVRlJMRGhDUVVWMFFtRXNVMEZCVjJJc1VVRkJVU3cwUWtGRGJrSmpMR2xDUVVGdFFrUXNVMEZCVTBNc2FVSkJSVFZDUXl4bFFVRnBRbVlzVVVGQlVTeGhRVUZoWjBJc1RVRkRkRU5ETEhGQ1FVRjFRa1lzWlVGQlpVVXNjVUpCUTNSRFF5d3lRa0ZCTmtKSUxHVkJRV1ZITERKQ1FVTTFRME1zYzBKQlFYZENTaXhsUVVGbFNTeHpRa0ZEZGtORExIVkNRVUY1UWt3c1pVRkJaVXNzZFVKQlEzaERReXh4UWtGQmRVSk9MR1ZCUVdWTkxIRkNRVU4wUTBNc2RVSkJRWGxDVUN4bFFVRmxUeXgxUWtGRGVFTkRMREpDUVVFMlFsSXNaVUZCWlZFc01rSkJRelZEUXl4eFFrRkJkVUpVTEdWQlFXVlRMSEZDUVVWMFEwTXNaVUZCYVVKaUxGbEJRVmxoTEdWQlNXcERMRk5CUVZORExFOUJSVlFzVTBGQlV6ZENMR05CUVdNNFFpeEZRVUZUUXl4RlFVRlJReXhIUVVOMFEzQkRMRTlCUVZOQkxGRkJRVlZQTEZGQlFWRXNiMEpCUXpOQ01rSXNSVUZCVlVFc1IwRkJWeXhIUVUxSExHdENRVUZpUlN4SlFVRjNRa0VzUlVGQlYwUXNZVUZCYTBKdVF5eFJRVWRvUlZRc1MwRkJTemhETEdGQlFXVklMRVZCUVZGSExGZEJRM2hDUkN4SlFVRlZOME1zUzBGQlN6aERMRmRCUVdFNVF5eExRVUZMT0VNc1kwRkJaMEpJTEVWQlFWRkpMRzlDUVVrM1JDOURMRXRCUVV0blJDeGpRVUZuUW14Q0xHbENRVUZwUWpsQ0xFdEJRVTB5UXl4RlFVRlRMSGRDUVVGNVFrVXNSMEZGT1VVM1F5eExRVUZMYVVRc1lVRkJZeXhGUVVWdVFtcEVMRXRCUVV0clJDeFhRVUZaTEVWQlJXcENiRVFzUzBGQlMyMUVMRkZCUVZNc1JVRkZaRzVFTEV0QlFVdHZSQ3hQUVVGUkxFVkJSV0p3UkN4TFFVRkxjVVFzVlVGQlZ5eEZRVVZvUW5KRUxFdEJRVXR6UkN4WFFVRlpMRVZCU1dwQ0xFbEJRVWxETEVkQlFYRkRMRWxCUVRGQ1dpeEZRVUZSWVN4alFVTjJRbmhFTEV0QlFVdDNSQ3hsUVVGcFFrUXNSVUZKZEVKMlJDeExRVUZMZVVRc1owSkJRV3RDWkN4RlFVRlJZeXhwUWtGQmJVSXNUMEZKYkVSNlJDeExRVUZMTUVRc1QwRkJVeXhGUVVWa01VUXNTMEZCU3pKRUxGTkJRVlVzUlVGRlpqTkVMRXRCUVVzMFJDeFBRVUZUTEVWQlMyUTFSQ3hMUVVGTE5rUXNUVUZCVHl4RlFVbGFOMFFzUzBGQlN6aEVMR3RDUVVGdFFpeEZRVVY0UWpsRUxFdEJRVXNyUkN4UlFVRlZMRk5CUVZWRExFZEJRM1pDUkN4UlFVRlJia0lzUlVGQlVXOUNMRWxCU1d4Q2FFVXNTMEZCUzJsRkxGRkJRVlVzUzBGRlptcEZMRXRCUVV0clJTeFRRVUZYTEVWQlEyaENiRVVzUzBGQlMyMUZMR2RDUVVGclFpeExRVU4yUW01RkxFdEJRVXR2UlN4dlFrRkJjMElzUzBGSE0wSndSU3hMUVVGTGNVVXNWVUZCV1N4RlFVZHFRbkpGTEV0QlFVdHpSU3hoUVVGakxFVkJSVzVDZEVVc1MwRkJTM1ZGTEdOQlFXVXNSVUZGY0VKMlJTeExRVUZMZDBVc1YwRkJhME1zU1VGQmRFSTNRaXhGUVVGUk5rSXNWVUZGZWtKNFJTeExRVUZMZVVVc1kwRkJaMEk1UWl4RlFVRlJPRUlzV1VGRk4wSjZSU3hMUVVGTE1FVXNjVUpCUVhWQ0xFVkJSelZDTVVVc1MwRkJTekpGTEcxQ1FVRnhRaXhKUVVGSmVFVXNZMEZCWTBnc1RVRTBRemxETEZOQlFWTlpMRk5CUVZNclFpeEhRVlZvUWl4SlFVRkpSU3hGUVVGWE4wTXNaMEpCVkdaVExFOUJRVk5CTEZGQlFWVlBMRkZCUVZFc2NVSkJWVE5DTEVsQlFVczJRaXhKUVVGaGJFSXNaMEpCUVdkQ2FVUXNTMEZCUzJoRkxGTkJRVlZhTEUxQlFVOHNUMEZCVHl4SlFVRkpXU3hUUVVGVEswSXNSMEZETlVVelF5eExRVUZMTmtVc1pVRkJhVUlzU1VGQlNXaEZMR05CUVdNNFFpeEZRVUZUTTBNc1MwRkJUVFpETEVkQlJYWkVOME1zUzBGQlN6aEZMRlZCUVZjc1JVRkZXbTVETEVsQlF6SkNMRzFDUVVGc1FrRXNSVUZCVVc5RExGRkJRWE5DTDBVc1MwRkJTMmRHTEU5QlFWTnlReXhGUVVGUmIwTXNUMEZEYWtNc2JVSkJRVzVDY0VNc1JVRkJVWE5ETEZOQlFYVkNha1lzUzBGQlMydEdMRkZCUVZWMlF5eEZRVUZSYzBNc1VVRkRiRU1zYlVKQlFYQkNkRU1zUlVGQlVYZERMRlZCUVhkQ2JrWXNTMEZCUzI5R0xGTkJRVmQ2UXl4RlFVRlJkME1zVTBGRGRFTXNiVUpCUVd4Q2VFTXNSVUZCVVRCRExGRkJRWE5DY2tZc1MwRkJTM05HTEU5QlFWTXpReXhGUVVGUk1FTXNVVUZIYWtWd1JTeFBRVUZQTWtRc1MwRkJTelZGTEUxQlVXUXNVMEZCVTNWR0xHTkJRV016UXl4RlFVRlJOME1zUjBGRE4wSXNTVUZCU1dsRkxFVkJRVXNzU1VGQlNYcENMREpDUVVWaVJTeGxRVUZsUnl4RlFVRlJiMElzUjBGRGRrSjNRaXhSUVVGUlF5eFRRVUZUTVVZc1JVRkJTV2xGTEVkQlRYWkNMRk5CUVZNd1FpeFhRVUZYT1VNc1JVRkJVWGhETEVWQlFVOVFMRVZCUVU5RkxFZEJRM2hETEVsQlFVbHBSU3hGUVZGS0xFOUJUbU1zVDBGQlZtNUZMRVZCUTBadFJTeEZRVUZMTEVsQlFVa3hRaXgxUWtGRGFVSXNhVUpCUVZaNlF5eEhRVUYxUWs4c1JVRkJUVEJETEdGQlF6ZERhMElzUlVGQlN5eEpRVUZKTDBJc2NVSkJRWEZDTEZGQlFWTXNRMEZCUXl4VFFVRlZMRlZCUVZkd1F5eExRVWN6UkcxRkxFbEJRMFoyUWl4bFFVRmxSeXhGUVVGUmIwSXNSMEZEZGtKM1FpeFJRVUZSUXl4VFFVRlRNVVlzUlVGQlNXbEZMRWxCUTJRc1IwRTJSRmdzVTBGQlV6SkNMRmxCUVZsMlJpeEZRVUZQVUN4RlFVRlBReXhIUVV0cVF5eFBRVXBMVFN4RlFVRk5NRU1zWVVGQmMwTXNTVUZCZUVJeFF5eEZRVUZOYjBRc1pVRkJORU1zYVVKQlFWWXpSQ3hKUVVNdlJFRXNSVUZCVVhGQ0xFOUJRVTlMTEV0QlFVc3hRaXhGUVVGUFF5eEpRVWQwUWtRc1JVRmxWQ3hUUVVGVEswWXNZMEZCWTJoRUxFVkJRVkY0UXl4RlFVRlBlVVlzUlVGQlQyaEhMRVZCUVU5RExFVkJRVlZETEVkQlF6VkVMRWxCUVVzNFJpeEZRVUZQTEVOQlExWXNTVUZCU1VNc1JVRkJWMGdzV1VGQldYWkdMRVZCUVU5UUxFVkJRVTlETEVkQlJYSkRSQ3hKUVVGVmFVY3NTVUZEV2tRc1IwRkJVU3hGUVVOU0wwWXNSVUZCVnl4VFFVTllSQ3hGUVVGUmFVY3NSMEZKV2l4SlFVRkpReXhGUVVGTk0wWXNSVUZCVFRCRExGZEJRV0VzUlVGQlNXcEVMRVZCUVUwMlJDeFBRVU4yUTNSRUxFVkJRVTF6UkN4UlFVRlZjVU1zUlVGRGFFSXNTVUZCU1VNc1JVRkJUVFZHTEVWQlFVMXpSQ3hQUVVGVGRFUXNSVUZCVFRSRExHTkJTUzlDTEVkQlJrdG5SQ3hKUVVGTE5VWXNSVUZCVFRoRExGZEJRVmtzUjBGRmVFSTVReXhGUVVGTmRVUXNVMEZCVjNaRUxFVkJRVTEzUkN4UFFVRlJMRU5CUTJwRExFbEJRVWx4UXl4RlFVRlBOMFlzUlVGQlRXZEZMRzlDUVVOcVFtaEZMRVZCUVUxblJTeHZRa0ZCYzBJc1EwRkRNVUoyUlN4TlFVRlBRU3hGUVVOUVF5eFRRVUZWUVN4RlFVTldLMFlzVFVGQlQwRXNSVUZEVURWR0xGTkJRVlZHTEVWQlExWkhMRXRCUVUwc1RVRkhTaXRHTEVWQlEwWkJMRVZCUVVzdlJpeExRVUZQUlN4RlFVRk5aMFVzYjBKQlJXeENhRVVzUlVGQlRTdEVMR2RDUVVGclFpOUVMRVZCUVUxblJTeHZRa0ZIYUVOb1JTeEZRVUZOYzBVc2MwSkJRWGRDTEU5QlJUbENkMElzVVVGQlVYUkVMRVZCUVZGNFF5eEhRVUZQTEVWQlFVOHlSaXhGUVVGTGJFY3NSVUZCVDBNc1JVRkJWVU1zUjBGSGRFUXNUMEZCVDJsSExFVkJSMVFzVTBGQlUwVXNVVUZCVVhSRUxFVkJRVkY0UXl4RlFVRlBOa1VzUlVGQlVXTXNSVUZCUzJ4SExFVkJRVTlETEVWQlFWVkRMRWRCUXpWRVN5eEZRVUZOT0VRc1UwRkJWelpDTEVWQlEycENNMFlzUlVGQlRUWkVMRkZCUVZWc1JTeEZRVU5vUWtzc1JVRkJUWFZFTEZOQlFWVXNSVUZEYUVKMlJDeEZRVUZOZVVRc1RVRkJUeXhGUVVOVWVrUXNSVUZCVFd0RUxGVkJRVmRzUkN4RlFVRk5Na1FzVVVGQlVTeEpRVUZKTVVJc2NVSkJRWEZDTEZWQlFXMUNORU1zUlVGQlVYSkRMRVZCUVU5elF5eFJRVUZSY2tZc1JVRkJUMDhzUlVGQlRUSkVMRk5CUVdOdVFpeEZRVUZQYjBNc1QwRkJUMjVHTEVWQlFVOURMRVZCUVZWTkxFVkJRVTB5UkN4VFFVTjBTek5FTEVWQlFVMTVSQ3hOUVVGUExFVkJSMllzVTBGQlUzTkRMR0ZCUVdGMlJDeEZRVUZSZUVNc1JVRkJUM2xFTEVWQlFVMUhMRVZCUVVscVJTeExRVU16UTBzc1JVRkJUV2xGTEZWQlJVcFNMRWRCUjBZeVFpeFJRVUZSUXl4VFFVRlRNVVlzUlVGQlNXbEZMRWRCUjNKQ2QwSXNVVUZCVVVNc1UwRkJVMWNzV1VGQllYaEVMRVZCUVZGNFF5eEhRVU4wUTNkRExFVkJRVTlwUXl4bFFVRmxUaXhqUVVGbExFVkJRM0pET1VJc1pVRkJaVWNzUlVGQlVXOUNMRXRCU1haQ2FrVXNSVUZCUjJsRkxFZEJRMGh3UWl4RlFVRlBhVU1zWlVGQlpVNHNZMEZCWlN4RlFVTnlRemxDTEdWQlFXVkhMRVZCUVZGdlFpeEhRVWQyUW05RExGbEJRVmw0UkN4RlFVRlJlRU1zU1VGSmVFSXNVMEZCVTJsSExHMUNRVUZ0UW1wSExFZEJRekZDUVN4RlFVRk5kVVFzVTBGQlZTeEZRVU5vUW5aRUxFVkJRVTAyUkN4UlFVRlZMRXRCUTJoQ04wUXNSVUZCVFhORUxGRkJRVlYwUkN4RlFVRk5PRVFzVTBGRGRFSTVSQ3hGUVVGTk9FUXNVMEZCVnl4RlFVZHVRaXhUUVVGVFNDeFJRVUZSYmtJc1JVRkJVVzlDTEVkQlEzWkNMRWxCUVVrMVJDeEZRVUZSZDBNc1JVRkJUMmxETEdWQlEyWm9RaXhGUVVGUGVrUXNSVUZCVFhsRUxFdEJRMkk1UkN4RlFVRkxTeXhGUVVGTk5rUXNVVUZEWml4SFFVRnJRaXh0UWtGQlVHeEZMRVZCUVcxQ0xFMUJRVTBzU1VGQlNXOURMSE5DUVVWNFF5eEhRVVJCYTBVc2JVSkJRVzFDYWtjc1IwRkRaalJFTEVWQlFVbHRReXhoUVVGaGRrUXNSVUZCVVhoRExFVkJRVTk1UkN4RlFVRk5SeXhGUVVGSmFrVXNUMEZCVXl4RFFVVnlSQ3hKUVVGSmMwUXNSVUZCVjJsRUxGZEJRVmRzUnl4SlFVRlZkME1zUlVGQlQxVXNWVUZGZEVORUxFZEJRV0ZxUkN4RlFVRk5kMFFzVVVGQlYzaEVMRVZCUVUwd1JDeHRRa0ZCYjBJeFJDeEZRVUZOSzBRc2FVSkJRMnBGYjBNc1dVRkJXVE5FTEVWQlFWRjRReXhIUVVkc1FubEVMRVZCUTBZeVFpeFJRVUZSUXl4VFFVRlRaU3hYUVVGWk5VUXNSVUZCVVhoRExFVkJRVTlwUkN4RlFVRlZkRVFzUjBGRmRFUjVSeXhYUVVGWE5VUXNSVUZCVVhoRExFVkJRVTlwUkN4RlFVRlZkRVFzU1VGTE1VTXNVMEZCVTNsSExGZEJRVmMxUkN4RlFVRlJlRU1zUlVGQlQybEVMRVZCUVZWMFJDeEhRVU4wUTNORUxFZEJRVlZ2UkN4aFFVRmhOMFFzUlVGQlVYaERMRWRCUTNCRFFTeEZRVUZOYVVVc1dVRkRUblJGTEVsQlEwRnhSeXhaUVVGWmVFUXNSVUZCVVhoRExFZEJUWFJDTEZOQlFWTnhSeXhoUVVGaE4wUXNSVUZCVVhoRExFZEJRMUFzU1VGQmFrSkJMRVZCUVUxelJDeFJRVUZuUW5SRUxFVkJRVTA0UXl4WlFVTTVRamxETEVWQlFVMDRReXhYUVVGWkxFVkJRMnhDVGl4RlFVRlBPRVFzUzBGQlN5eFZRVXRvUWl4VFFVRlRTQ3haUVVGWk0wUXNSVUZCVVhoRExFZEJRek5DUVN4RlFVRk5NRVFzYTBKQlFXMUNMRVZCUTNwQ0xFbEJRVWw0UkN4RlFVRlJSaXhGUVVGTkswUXNaMEpCUld4Q0xFZEJRVWwyUWl4RlFVRlBjME1zVTBGQlZ6VkZMRWRCUVZOQkxFVkJRVTFLTEV0QlFVMHNRMEZGZWtNc1NVRkJTWGxITEVWQlFVbDJSeXhGUVVGTmMwVXNjVUpCUTFaclF5eEZRVUZUTEVsQlFVbERMRTFCUVUxR0xFZEJRMjVDUnl4RlFVRlRNVWNzUlVGQlRYVkZMRzFDUVVOdVFtMURMRVZCUVU5NFJ5eE5RVUZSUVN4RlFVbG1MRWxCU0VFc1NVRkJTWGxITEVWQlFWRXNSVUZEVWtNc1IwRkJZU3hGUVVWV01VY3NSMEZEVEhOSExFVkJRVTlITEVkQlFWTjZSeXhGUVVOWVFTeEZRVUZOZFVZc1VVRkJUMjFDTEVkQlFXRXNSMEZETDBJeFJ5eEZRVUZSUVN4RlFVRk5TaXhMUVVOa05rY3NSMEZCVXl4RlFVZFlTQ3hGUVVGUFNTeFhRVUZoUVN4RlFVTndRbVFzVVVGQlVYUkVMRVZCUVZGNFF5eEhRVUZQTEVWQlFVMUJMRVZCUVUxelJDeFBRVUZSYTBRc1JVRkJVU3hIUVVGSlJTeEZRVUZQZGtjc1VVRkhPVVJJTEVWQlFVMXBSU3haUVVOT2FrVXNSVUZCVFdkRkxHOUNRVUZ6UWl4TFFVVjRRakJETEVWQlFVODFSeXhOUVVOVVJTeEZRVUZOZFVVc2JVSkJRWEZDYlVNc1JVRkJUelZITEV0QlEyeERORWNzUlVGQlR6VkhMRXRCUVU4c1RVRkZaRVVzUlVGQlRYVkZMRzFDUVVGeFFpeEpRVUZKZUVVc1kwRkJZME1zUjBGSEwwTkJMRVZCUVUxelJTeHhRa0ZCZFVJc1RVRkRlRUlzUTBGRlRDeExRVUZQY0VVc1IwRkJUeXhEUVVOYUxFbEJRVWxVTEVWQlFWRlRMRVZCUVUxVUxFMUJRMlJETEVWQlFWZFJMRVZCUVUxU0xGTkJRMnBDUXl4RlFVRkxUeXhGUVVGTlRDeFRRVk5tTEVkQlVFRnBSeXhSUVVGUmRFUXNSVUZCVVhoRExFZEJRVThzUlVGRVlrRXNSVUZCVFRCRExGZEJRV0VzUlVGQlNXcEVMRVZCUVUwMlJDeFBRVU5LTjBRc1JVRkJUME1zUlVGQlZVTXNSMEZEY0VSUExFVkJRVkZCTEVWQlFVMUtMRXRCUTJSRkxFVkJRVTF6UlN4MVFrRkxSblJGTEVWQlFVMTFSQ3hSUVVOU0xFMUJTVlVzVDBGQlZuSkVMRWxCUVdkQ1JpeEZRVUZOWjBVc2IwSkJRWE5DTEUxQlIyeEVhRVVzUlVGQlRTdEVMR2RDUVVGclFqZEVMRVZCUTNoQ1JpeEZRVUZOTUVRc2EwSkJRVzFDTEVWQk1rTXpRaXhUUVVGVGQwTXNWMEZCVjJ4SExFZEJRMnhDTEU5QlFVOUJMRVZCUVUwclF5eFJRVUV5UWl4SlFVRnFRaTlETEVWQlFVMXpSQ3hSUVVFd1F5eFBRVUV4UW5SRUxFVkJRVTByUkN4clFrRkJOa0l2UkN4RlFVRk5hVVFzVjBGQllXcEVMRVZCUVUxMVJDeFJRVWN6Unl4VFFVRlRjMFFzVlVGQlZYSkZMRVZCUVZGNFF5eEhRVU42UW5kRExFVkJRVTh3UXl4UFFVRlBMRk5CUVZVMFFpeEhRVU4wUWpsSExFVkJRVTFwUlN4WlFVVkdOa01zUjBGRFJucEZMR1ZCUVdWSExFVkJRVkZ6UlN4SFFVZDZRamxITEVWQlFVMXJSU3hoUVVGakxFVkJRM0JDTVVJc1JVRkJUemhFTEV0QlFVc3NZVUZEV2s0c1dVRkJXWGhFTEVWQlFWRjRReXhMUVVsNFFpeFRRVUZUSzBjc1ZVRkJWWFpGTEVWQlFWRjRReXhIUVVOd1FrRXNSVUZCVFd0RkxHRkJRV2RDYkVVc1JVRkJUVFpETEdOQlEwWXNiVUpCUVd4Q1RDeEZRVUZQTUVNc1VVRkJNRUpzUml4RlFVRk5hMFFzVjBGTGFFUnNSQ3hGUVVGTmEwVXNZVUZCWXl4RlFVTndRakZDTEVWQlFVODRSQ3hMUVVGTExHVkJURnAwUnl4RlFVRk5hVVVzV1VGRFRtcEZMRVZCUVUwMlF5eGhRVUZqTEVWQlEzQkNkVU1zVVVGQlVVTXNVMEZCVTNkQ0xGVkJRVmR5UlN4RlFVRlJlRU1zUzBGUk1VTXNVMEZCVTJkSExGbEJRVmw0UkN4RlFVRlJlRU1zUjBGRE0wSXNTVUZCU1dkSUxFVkJRVTlrTEZkQlFWZHNSeXhIUVVWMFFpeEhRVUZKWjBnc1NVRkRSa1FzVlVGQlZYWkZMRVZCUVZGNFF5eEhRVVZOTEVsQlFYQkNRU3hGUVVGTmFVVXNXVUZEVW1wRkxFVkJRVTFwUkN4VlFVRlhMRVZCUTJwQ1ZDeEZRVUZQT0VRc1MwRkJTeXhWUVVWU2RFY3NSVUZCVFhGRkxHTkJRV0VzUTBGSGNrSXNTVUZCU1RSRExFVkJRVk42UlN4RlFVRlBNRVVzYVVKQlJXWkVMRWRCUVZWQkxFVkJRVTgxUXl4aFFVRmxORU1zUlVGQlQwVXNZVUZETVVNelJTeEZRVUZQZFVNc1ZVRk5aaXhQUVVGUGFVTXNSVUZIVkN4VFFVRlRTU3haUVVGWk5VVXNSVUZCVVhoRExFVkJRVTlNTEVkQlEyeERTeXhGUVVGTkswTXNVVUZCVXl4RlFVTm1hVVFzV1VGQldYaEVMRVZCUVZGNFF5eEhRVVZvUWt3c1NVRkRSVXNzUlVGQlRXbEVMRk5CUVZWdFF5eFJRVUZSUXl4VFFVRlRNVVlzUjBGQlV6WkRMRVZCUVU4MlJTeExRVUZMTEZOQlFWVXhTQ3hKUVVkMFJVc3NSVUZCVFdkRUxFOUJRVkVzUlVGRFpGSXNSVUZCVDJ0RExGVkJRVmNzUlVGSGNFSXNVMEZCVTNSRkxHVkJRV1ZyU0N4RlFVRlRkRWdzUlVGQlR6aEhMRWRCUTNSRExFbEJRVWsxUnl4RlFVRlJiMGdzUlVGQlVYQklMRTFCUjNCQ0xFbEJSa0Z2U0N4RlFVRlJjRWdzVFVGQlVTeExRVVZVUVN4SFFVRlBMRU5CUTFvc1NVRkJTVkFzUlVGQlMwOHNSVUZCVFV3c1UwRkRaa2NzUlVGQlRXbEZMRmxCUTA1MFJTeEZRVUZIYlVnc1IwRkRTRFZITEVWQlFWRkJMRVZCUVUxS0xFdEJTV2hDUlN4RlFVRk5kVVVzYlVKQlFXMUNla1VzUzBGQlQzZElMRVZCZEdwQ2JFTXhSeXhSUVVGUkxGZEJRVkpCTEVOQlFXOUNTaXhUUVVGVlN5eFJRWGxHT1VKS0xHTkJRV000Unl4VlFVRlZReXhWUVVGWkxGZEJTV3hETEVsQlNFRXNTVUZCU1VNc1JVRkJWVGRJTEV0QlFVdHRSU3huUWtGRFpqSkVMRVZCUVUwc1IwRkZTRVFzUjBGRFRFTXNSVUZCU1VNc1MwRkJTMFlzUjBGRFZFRXNSVUZCVlVFc1JVRkJVVE5JTEV0QlIzQkNMRTlCUVU4MFNDeEhRVWRVTEZkQlEwVXNTVUZEUlVVc1QwRkJUME1zWlVGQlpYQklMR05CUVdNNFJ5eFZRVUZYTEZOQlFWVXNRMEZEZGtSUExFbEJRVXR3U0N4aFFVRmhReXhWUVVGVkxGZEJRekZDTEU5QlFVOW1MRXRCUVVzMFNDeGhRVU5ZTERaRlFVRnRSaXhoUVVWNFJpeE5RVUZQVHl4TFFWQllMRWRCWTNOQ0xHMUNRVUZZUXl4UlFVRjVRa0VzVDBGQlQwTXNZVUZCYVVVc2JVSkJRVE5EUXl4VFFVRlRXQ3hWUVVGVlV5eFBRVUZQUXl4alFVTjZSakZITEdkQ1FVRnJRakpITEZOQlFWTllMRlZCUVZWVExFOUJRVTlETEdGQlF6VkRUQ3hQUVVGUFF5eGxRVUZsY2tnc1UwRkJWWGRJTEU5QlFVOURMRmxCUVdFc1EwRkRiRVJGTEUxQlFVOHNVMEZCWlVNc1IwRkRjRUlzVVVGQlNUZEhMR2RDUVVGblFtbEVMRXRCUVVzMVJTeExRVUZOZDBrc1NVRkRNMEo0U1N4UFFVRlRXU3hYUVVOT05FZ3NSMEZCVlVFc1JVRkJUek5FTERCQ1FVRXdRbWhGTEcxQ1FVbDBSR01zWjBKQlFXdENMRk5CUVhsQ05rY3NSMEZEZWtNc1QwRkJUMEVzWVVGQmEwSjRTU3hOUVN0Q04wSlpMRk5CUVZNclJ5eFZRVUZWWXl4TFFVRlBMRmRCUTNoQ2FFY3NaVUZCWlhwRExFdEJRVTBzU1VGQlNXOURMSGxDUVN0Q00wSjRRaXhUUVVGVEswY3NWVUZCVlRWRExFMUJRVkVzVTBGQlZXeEdMRVZCUVU5RExFVkJRVlZETEVkQlEzQkVMRWxCUVVsTExFVkJRVkZLTEV0QlFVczJSU3hsUVVOaWJVSXNSMEZCVFN4RlFVVk9TQ3hIUVVGVGVrWXNSVUZCVFRCRExGbEJRV04wUWl4alFVRmpNMElzUjBGcFFpOURMRTlCWmtsblJ5eEpRVUZWTTBVc1QwRkJUMUVzVTBGQlV6ZENMRXRCUXpWQ1FTeEZRVUZSZVVJc2IwSkJRVzlDZWtJc1NVRkhUaXh0UWtGQllrTXNTVUZEVkVNc1JVRkJTMFFzUlVGRFRFRXNSVUZCVnl4TlFVZFVLMFlzUlVGQlR5OUdMRVZCUVZjc1UwRkJiVUpCTEVsQlFWVkJMRVZCUVZkTkxFVkJRVTF4UkN4cFFrRkRiRVFzYlVKQlFWQXhSQ3hKUVVGdFFrRXNSVUZCU3pKRExFdEJReTlDZEVNc1JVRkJUU3RETEU5QlFWRnZReXhqUVVGamRrWXNTMEZCVFVRc1NVRkJZVGhHTEVkQlFWTklMRmRCUVZjeFJpeExRVUZOU1N4RlFVRlBVQ3hGUVVGUFJTeE5RVU42Umtzc1JVRkJUV2xGTEZsQlEwNHlRaXhGUVVGTlNpeGpRVUZqTlVZc1MwRkJUVWtzUlVGQlQzbEdMRVZCUVU5b1J5eEZRVUZQUXl4RlFVRlZReXhKUVVWd1JHbEhMRWRCUjFSd1JpeFRRVUZUSzBjc1ZVRkJWV1VzUzBGQlR5eFhRVU40UWpGSkxFdEJRVXMyUlN4bFFVRmxha0lzVlVGSGRFSm9SQ3hUUVVGVEswY3NWVUZCVldkQ0xFOUJRVk1zVjBGRE1VSXNTVUZCU1haSkxFVkJRVkZLTEV0QlFVczJSU3hsUVVWaWVrVXNSVUZCVFhkRUxGTkJRMUo0UkN4RlFVRk5kMFFzVTBGRFJIaEVMRVZCUVUxMVJDeFRRVUZaZGtRc1JVRkJUWGRFTEZGQlFWZDRSQ3hGUVVGTk1FUXNiVUpCUVc5Q01VUXNSVUZCVFN0RUxHbENRVUZwUW05RExGbEJRVmwyUnl4TFFVRk5TU3hMUVVrdlIxRXNVMEZCVXl0SExGVkJRVlZwUWl4dFFrRkJjVUlzVTBGQk5FSTVTU3hIUVVkc1JTeEhRVVIzUWl4cFFrRkJZa0VzU1VGQmRVSkJMRVZCUVZkQkxFVkJRVk1yU1N4cFFrRkRhRVFzUTBGQlF5eE5RVUZQTEU5QlFWRXNVVUZCVXl4UlFVRlRMRk5CUVZVc1UwRkJWU3hQUVVGUkxGRkJRVk1zVlVGQlZ5eFhRVUZaTEU5QlFVOURMRk5CUVZOb1NpeEZRVUZYTEVsQlFVa3JTU3huUWtGQmEwSXNSMEZCU1N4TlFVRk5MRWxCUVVseVJ5eHhRa0ZCY1VJeFF5eEhRVVY0VEN4UFFVUkJSU3hMUVVGTE5rVXNaVUZCWlhCQ0xHZENRVUZyUWpORUxFVkJReTlDUlN4TlFVZFVaMGtzVDBGQlQwTXNaVUZCWlhKSUxGTkJRVk1yUnl4VlFVRlhMR2xDUVVGclFpeERRVWt4Ukc5Q0xGbEJRVmtzUlVGRFdtSXNTVUZCU3l4WFFVTklMRTlCUVU5c1NTeExRVUZMTmtVc1owSkJRV3RDTjBVc1MwRkJTelpGTEdWQlFXVXJReXhsUVZsMFJFa3NUMEZCVDBNc1pVRkJaWEpJTEZOQlFWTXJSeXhWUVVGWExIZENRVUY1UWl4RFFVbHFSVzlDTEZsQlFWa3NSVUZEV21Jc1NVRkJTeXhYUVVOSUxFOUJRVTlzU1N4TFFVRkxOa1VzWlVGQlpUZENMR2xDUVRSTUwwSndReXhUUVVGVEswY3NWVUZCVlRORExFOUJRVk1zVTBGQlZXNUdMRVZCUVU5RExFVkJRVlZETEVkQlEzSkVRU3hGUVVGSExFbEJRVWx0UXl3eVFrRkJNa0lzWTBGSGNFTjBRaXhUUVVGVEswY3NWVUZCVlhwRExGRkJRVlVzUzBGRk4wSjBSU3hUUVVGVEswY3NWVUZCVlhGQ0xFbEJRVTBzVTBGQlZXNUtMRVZCUVU5RExFVkJRVlZETEVkQlEyeEVMRWxCUVVsTExFVkJRVkZLTEV0QlFVczJSU3hsUVc5Q2FrSXNUVUZzUW5GQ0xHMUNRVUZXYUVZc1IwRkRWRVVzUlVGQlMwWXNSVUZEVEVFc1JVRkJVU3hMUVVOU1F5eEZRVUZYTEUxQlEydENMRzFDUVVGaVFTeEpRVU5vUWtNc1JVRkJTMFFzUlVGRFRFRXNSVUZCVnl4TlFVZFVSQ3hOUVVGQlFTeEhRVUYxUTBjc1MwRkJTeXRGTEUxQlFVMXNSaXhGUVVGUFF5eEhRVVY2UkUwc1JVRkJUWGRFTEZOQlExSjRSQ3hGUVVGTmQwUXNUMEZCVXl4RlFVTm1OVVFzUzBGQlN6SkpMRlZCU1VaMlNTeEZRVUZOSzBNc1VVRkJVWEZGTEZsQlFWbDRTQ3hMUVVGTlNTeEZRVUZQVEN4SFFVTnlRME1zVFVGSFZHZEpMRTlCUVU5RExHVkJRV1Z5U0N4VFFVRlRLMGNzVlVGQlZ5eHBRa0ZCYTBJc1EwRkpNVVJ2UWl4WlFVRlpMRVZCUTFwaUxFbEJRVXNzVjBGRFNDeFBRVUZQYkVrc1MwRkJTelpGTEdWQlFXVnVRaXhWUVhWR0wwSnpSU3hQUVVGUFF5eGxRVUZsY2tnc1UwRkJVeXRITEZWQlFWY3NXVUZCWVN4RFFVbHlSRzlDTEZsQlFWa3NSVUZEV21Jc1NVRkJTeXhYUVVOSUxGbEJRVFJDWlN4SlFVRjRRbXBLTEV0QlFVczJSU3huUWtGSlJqZEZMRXRCUVVzMlJTeGxRVUZsZGtJc1YwRkZOMEkwUml4SlFVRkxMRk5CUVdGWUxFZEJSMWgyU1N4TFFVRkxOa1VzYVVKQlRWWTNSU3hMUVVGTE5rVXNaVUZCWlhaQ0xGVkJRVmxwUml4TlFVZHdRek5JTEZOQlFWTXJSeXhWUVVGVmVFTXNVVUZCVlhaRUxGbEJRVmwxUkN4UlFVTjZRM1pGTEZOQlFWTXJSeXhWUVVGVmQwSXNWMEZCWVhaSUxGbEJRVmwzU0N4VlFVVTFRM2hKTEZOQlFWTXJSeXhWUVVGVmRrTXNVMEZCVnl4VFFVRlZPRUlzUlVGQlMyNUlMRWRCUXpORFFTeEZRVUZIYlVnaUxDSm1hV3hsSWpvaUwyaHZiV1V2ZW1sdWJ5OXdjbTlxWldOMGN5OXpaV0YwYldGd2RqSXZiV0Z6ZEdWeUwzTmxZWFJ0WVhCMk1pOWpiR2xsYm5RdmJtOWtaVjl0YjJSMWJHVnpMM04wY21WaGJTMWljbTkzYzJWeWFXWjVMMjV2WkdWZmJXOWtkV3hsY3k5eVpXRmtZV0pzWlMxemRISmxZVzB2YkdsaUwxOXpkSEpsWVcxZmQzSnBkR0ZpYkdVdWFuTWlmUT09IiwiXCJ1c2Ugc3RyaWN0XCI7dmFyIF9PYmplY3Qkc2V0UHJvdG90eXBlTztmdW5jdGlvbiBfZGVmaW5lUHJvcGVydHkoZSx0LHIpe3JldHVybiB0IGluIGU/T2JqZWN0LmRlZmluZVByb3BlcnR5KGUsdCx7dmFsdWU6cixlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMH0pOmVbdF09cixlfXZhciBmaW5pc2hlZD1yZXF1aXJlKFwiLi9lbmQtb2Ytc3RyZWFtXCIpLGtMYXN0UmVzb2x2ZT1TeW1ib2woXCJsYXN0UmVzb2x2ZVwiKSxrTGFzdFJlamVjdD1TeW1ib2woXCJsYXN0UmVqZWN0XCIpLGtFcnJvcj1TeW1ib2woXCJlcnJvclwiKSxrRW5kZWQ9U3ltYm9sKFwiZW5kZWRcIiksa0xhc3RQcm9taXNlPVN5bWJvbChcImxhc3RQcm9taXNlXCIpLGtIYW5kbGVQcm9taXNlPVN5bWJvbChcImhhbmRsZVByb21pc2VcIiksa1N0cmVhbT1TeW1ib2woXCJzdHJlYW1cIik7ZnVuY3Rpb24gY3JlYXRlSXRlclJlc3VsdChlLHQpe3JldHVybnt2YWx1ZTplLGRvbmU6dH19ZnVuY3Rpb24gcmVhZEFuZFJlc29sdmUoZSl7dmFyIHQ9ZVtrTGFzdFJlc29sdmVdO2lmKG51bGwhPT10KXt2YXIgcj1lW2tTdHJlYW1dLnJlYWQoKTtudWxsIT09ciYmKGVba0xhc3RQcm9taXNlXT1udWxsLGVba0xhc3RSZXNvbHZlXT1udWxsLGVba0xhc3RSZWplY3RdPW51bGwsdChjcmVhdGVJdGVyUmVzdWx0KHIsITEpKSl9fWZ1bmN0aW9uIG9uUmVhZGFibGUoZSl7cHJvY2Vzcy5uZXh0VGljayhyZWFkQW5kUmVzb2x2ZSxlKX1mdW5jdGlvbiB3cmFwRm9yTmV4dChlLHQpe3JldHVybiBmdW5jdGlvbihyLG8pe2UudGhlbihmdW5jdGlvbigpe3Rba0VuZGVkXT9yKGNyZWF0ZUl0ZXJSZXN1bHQodm9pZCAwLCEwKSk6dFtrSGFuZGxlUHJvbWlzZV0ocixvKX0sbyl9fXZhciBBc3luY0l0ZXJhdG9yUHJvdG90eXBlPU9iamVjdC5nZXRQcm90b3R5cGVPZihmdW5jdGlvbigpe30pLFJlYWRhYmxlU3RyZWFtQXN5bmNJdGVyYXRvclByb3RvdHlwZT1PYmplY3Quc2V0UHJvdG90eXBlT2YoKF9kZWZpbmVQcm9wZXJ0eShfT2JqZWN0JHNldFByb3RvdHlwZU89e2dldCBzdHJlYW0oKXtyZXR1cm4gdGhpc1trU3RyZWFtXX0sbmV4dDpmdW5jdGlvbigpe3ZhciBlPXRoaXMsdD10aGlzW2tFcnJvcl07aWYobnVsbCE9PXQpcmV0dXJuIFByb21pc2UucmVqZWN0KHQpO2lmKHRoaXNba0VuZGVkXSlyZXR1cm4gUHJvbWlzZS5yZXNvbHZlKGNyZWF0ZUl0ZXJSZXN1bHQodm9pZCAwLCEwKSk7aWYodGhpc1trU3RyZWFtXS5kZXN0cm95ZWQpcmV0dXJuIG5ldyBQcm9taXNlKGZ1bmN0aW9uKHQscil7cHJvY2Vzcy5uZXh0VGljayhmdW5jdGlvbigpe2Vba0Vycm9yXT9yKGVba0Vycm9yXSk6dChjcmVhdGVJdGVyUmVzdWx0KHZvaWQgMCwhMCkpfSl9KTt2YXIgcixvPXRoaXNba0xhc3RQcm9taXNlXTtpZihvKXI9bmV3IFByb21pc2Uod3JhcEZvck5leHQobyx0aGlzKSk7ZWxzZXt2YXIgbj10aGlzW2tTdHJlYW1dLnJlYWQoKTtpZihudWxsIT09bilyZXR1cm4gUHJvbWlzZS5yZXNvbHZlKGNyZWF0ZUl0ZXJSZXN1bHQobiwhMSkpO3I9bmV3IFByb21pc2UodGhpc1trSGFuZGxlUHJvbWlzZV0pfXJldHVybiB0aGlzW2tMYXN0UHJvbWlzZV09cixyfX0sU3ltYm9sLmFzeW5jSXRlcmF0b3IsZnVuY3Rpb24oKXtyZXR1cm4gdGhpc30pLF9kZWZpbmVQcm9wZXJ0eShfT2JqZWN0JHNldFByb3RvdHlwZU8sXCJyZXR1cm5cIixmdW5jdGlvbigpe3ZhciBlPXRoaXM7cmV0dXJuIG5ldyBQcm9taXNlKGZ1bmN0aW9uKHQscil7ZVtrU3RyZWFtXS5kZXN0cm95KG51bGwsZnVuY3Rpb24oZSl7ZT9yKGUpOnQoY3JlYXRlSXRlclJlc3VsdCh2b2lkIDAsITApKX0pfSl9KSxfT2JqZWN0JHNldFByb3RvdHlwZU8pLEFzeW5jSXRlcmF0b3JQcm90b3R5cGUpLGNyZWF0ZVJlYWRhYmxlU3RyZWFtQXN5bmNJdGVyYXRvcj1mdW5jdGlvbihlKXt2YXIgdCxyPU9iamVjdC5jcmVhdGUoUmVhZGFibGVTdHJlYW1Bc3luY0l0ZXJhdG9yUHJvdG90eXBlLChfZGVmaW5lUHJvcGVydHkodD17fSxrU3RyZWFtLHt2YWx1ZTplLHdyaXRhYmxlOiEwfSksX2RlZmluZVByb3BlcnR5KHQsa0xhc3RSZXNvbHZlLHt2YWx1ZTpudWxsLHdyaXRhYmxlOiEwfSksX2RlZmluZVByb3BlcnR5KHQsa0xhc3RSZWplY3Qse3ZhbHVlOm51bGwsd3JpdGFibGU6ITB9KSxfZGVmaW5lUHJvcGVydHkodCxrRXJyb3Ise3ZhbHVlOm51bGwsd3JpdGFibGU6ITB9KSxfZGVmaW5lUHJvcGVydHkodCxrRW5kZWQse3ZhbHVlOmUuX3JlYWRhYmxlU3RhdGUuZW5kRW1pdHRlZCx3cml0YWJsZTohMH0pLF9kZWZpbmVQcm9wZXJ0eSh0LGtIYW5kbGVQcm9taXNlLHt2YWx1ZTpmdW5jdGlvbihlLHQpe3ZhciBvPXJba1N0cmVhbV0ucmVhZCgpO28/KHJba0xhc3RQcm9taXNlXT1udWxsLHJba0xhc3RSZXNvbHZlXT1udWxsLHJba0xhc3RSZWplY3RdPW51bGwsZShjcmVhdGVJdGVyUmVzdWx0KG8sITEpKSk6KHJba0xhc3RSZXNvbHZlXT1lLHJba0xhc3RSZWplY3RdPXQpfSx3cml0YWJsZTohMH0pLHQpKTtyZXR1cm4gcltrTGFzdFByb21pc2VdPW51bGwsZmluaXNoZWQoZSxmdW5jdGlvbihlKXtpZihlJiZcIkVSUl9TVFJFQU1fUFJFTUFUVVJFX0NMT1NFXCIhPT1lLmNvZGUpe3ZhciB0PXJba0xhc3RSZWplY3RdO3JldHVybiBudWxsIT09dCYmKHJba0xhc3RQcm9taXNlXT1udWxsLHJba0xhc3RSZXNvbHZlXT1udWxsLHJba0xhc3RSZWplY3RdPW51bGwsdChlKSksdm9pZChyW2tFcnJvcl09ZSl9dmFyIG89cltrTGFzdFJlc29sdmVdO251bGwhPT1vJiYocltrTGFzdFByb21pc2VdPW51bGwscltrTGFzdFJlc29sdmVdPW51bGwscltrTGFzdFJlamVjdF09bnVsbCxvKGNyZWF0ZUl0ZXJSZXN1bHQodm9pZCAwLCEwKSkpLHJba0VuZGVkXT0hMH0pLGUub24oXCJyZWFkYWJsZVwiLG9uUmVhZGFibGUuYmluZChudWxsLHIpKSxyfTttb2R1bGUuZXhwb3J0cz1jcmVhdGVSZWFkYWJsZVN0cmVhbUFzeW5jSXRlcmF0b3I7XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJbUZ6ZVc1algybDBaWEpoZEc5eUxtcHpJbDBzSW01aGJXVnpJanBiSWw5UFltcGxZM1FrYzJWMFVISnZkRzkwZVhCbFR5SXNJbDlrWldacGJtVlFjbTl3WlhKMGVTSXNJbTlpYWlJc0ltdGxlU0lzSW5aaGJIVmxJaXdpVDJKcVpXTjBJaXdpWkdWbWFXNWxVSEp2Y0dWeWRIa2lMQ0psYm5WdFpYSmhZbXhsSWl3aVkyOXVabWxuZFhKaFlteGxJaXdpZDNKcGRHRmliR1VpTENKbWFXNXBjMmhsWkNJc0luSmxjWFZwY21VaUxDSnJUR0Z6ZEZKbGMyOXNkbVVpTENKVGVXMWliMndpTENKclRHRnpkRkpsYW1WamRDSXNJbXRGY25KdmNpSXNJbXRGYm1SbFpDSXNJbXRNWVhOMFVISnZiV2x6WlNJc0ltdElZVzVrYkdWUWNtOXRhWE5sSWl3aWExTjBjbVZoYlNJc0ltTnlaV0YwWlVsMFpYSlNaWE4xYkhRaUxDSmtiMjVsSWl3aWNtVmhaRUZ1WkZKbGMyOXNkbVVpTENKcGRHVnlJaXdpY21WemIyeDJaU0lzSW1SaGRHRWlMQ0p5WldGa0lpd2liMjVTWldGa1lXSnNaU0lzSW5CeWIyTmxjM01pTENKdVpYaDBWR2xqYXlJc0luZHlZWEJHYjNKT1pYaDBJaXdpYkdGemRGQnliMjFwYzJVaUxDSnlaV3BsWTNRaUxDSjBhR1Z1SWl3aWRXNWtaV1pwYm1Wa0lpd2lRWE41Ym1OSmRHVnlZWFJ2Y2xCeWIzUnZkSGx3WlNJc0ltZGxkRkJ5YjNSdmRIbHdaVTltSWl3aVVtVmhaR0ZpYkdWVGRISmxZVzFCYzNsdVkwbDBaWEpoZEc5eVVISnZkRzkwZVhCbElpd2ljMlYwVUhKdmRHOTBlWEJsVDJZaUxDSnpkSEpsWVcwaUxDSjBhR2x6SWl3aWJtVjRkQ0lzSWw5MGFHbHpJaXdpWlhKeWIzSWlMQ0pRY205dGFYTmxJaXdpWkdWemRISnZlV1ZrSWl3aWNISnZiV2x6WlNJc0ltRnplVzVqU1hSbGNtRjBiM0lpTENKZmRHaHBjeklpTENKa1pYTjBjbTk1SWl3aVpYSnlJaXdpWTNKbFlYUmxVbVZoWkdGaWJHVlRkSEpsWVcxQmMzbHVZMGwwWlhKaGRHOXlJaXdpWDA5aWFtVmpkQ1JqY21WaGRHVWlMQ0pwZEdWeVlYUnZjaUlzSW1OeVpXRjBaU0lzSWw5eVpXRmtZV0pzWlZOMFlYUmxJaXdpWlc1a1JXMXBkSFJsWkNJc0ltTnZaR1VpTENKdmJpSXNJbUpwYm1RaUxDSnRiMlIxYkdVaUxDSmxlSEJ2Y25SeklsMHNJbTFoY0hCcGJtZHpJam9pUVVGQlFTeGhRVVZCTEVsQlFVbEJMSE5DUVVWS0xGTkJRVk5ETEdkQ1FVRm5Ra01zUlVGQlMwTXNSVUZCUzBNc1IwRkJhVXNzVDBGQmNFcEVMRXRCUVU5RUxFVkJRVTlITEU5QlFVOURMR1ZCUVdWS0xFVkJRVXRETEVWQlFVc3NRMEZCUlVNc1RVRkJUMEVzUlVGQlQwY3NXVUZCV1N4RlFVRk5ReXhqUVVGakxFVkJRVTFETEZWQlFWVXNTVUZCYTBKUUxFVkJRVWxETEVkQlFVOURMRVZCUVdkQ1JpeEZRVVV6VFN4SlFVRkpVU3hUUVVGWFF5eFJRVUZSTEcxQ1FVVnVRa01zWVVGQlpVTXNUMEZCVHl4bFFVTjBRa01zV1VGQlkwUXNUMEZCVHl4alFVTnlRa1VzVDBGQlUwWXNUMEZCVHl4VFFVTm9Ra2NzVDBGQlUwZ3NUMEZCVHl4VFFVTm9Ra2tzWVVGQlpVb3NUMEZCVHl4bFFVTjBRa3NzWlVGQmFVSk1MRTlCUVU4c2FVSkJRM2hDVFN4UlFVRlZUaXhQUVVGUExGVkJSWEpDTEZOQlFWTlBMR2xDUVVGcFFtaENMRVZCUVU5cFFpeEhRVU12UWl4TlFVRlBMRU5CUTB4cVFpeE5RVUZQUVN4RlFVTlFhVUlzUzBGQlRVRXNSMEZKVml4VFFVRlRReXhsUVVGbFF5eEhRVU4wUWl4SlFVRkpReXhGUVVGVlJDeEZRVUZMV0N4alFVVnVRaXhIUVVGblFpeFBRVUZhV1N4RlFVRnJRaXhEUVVOd1FpeEpRVUZKUXl4RlFVRlBSaXhGUVVGTFNpeFRRVUZUVHl4UFFVbGFMRTlCUVZSRUxFbEJRMFpHTEVWQlFVdE9MR05CUVdkQ0xFdEJRM0pDVFN4RlFVRkxXQ3hqUVVGblFpeExRVU55UWxjc1JVRkJTMVFzWVVGQlpTeExRVU53UWxVc1JVRkJVVW9zYVVKQlFXbENTeXhIUVVGTkxFMUJTM0pETEZOQlFWTkZMRmRCUVZkS0xFZEJSMnhDU3l4UlFVRlJReXhUUVVGVFVDeGxRVUZuUWtNc1IwRkhia01zVTBGQlUwOHNXVUZCV1VNc1JVRkJZVklzUjBGRGFFTXNUMEZCVHl4VFFVRlZReXhGUVVGVFVTeEhRVU40UWtRc1JVRkJXVVVzUzBGQlN5eFhRVU5ZVml4RlFVRkxVQ3hSUVVOUVVTeEZRVUZSU2l4elFrRkJhVUpqTEVkQlFWY3NTVUZKZEVOWUxFVkJRVXRNTEdkQ1FVRm5RazBzUlVGQlUxRXNTVUZETjBKQkxFbEJTVkFzU1VGQlNVY3NkVUpCUVhsQ09VSXNUMEZCVHl0Q0xHVkJRV1VzWTBGREwwTkRMSEZEUVVGMVEyaERMRTlCUVU5cFF5eG5Ra0UwUkM5RGNrTXNaMEpCTlVRclJFUXNjMEpCUVhkQ0xFTkJRM2hHZFVNc1lVRkRSU3hQUVVGUFF5eExRVUZMY2tJc1ZVRkhaSE5DTEV0QlFVMHNWMEZEU2l4SlFVRkpReXhGUVVGUlJpeExRVWxTUnl4RlFVRlJTQ3hMUVVGTGVrSXNVVUZGYWtJc1IwRkJZeXhQUVVGV05FSXNSVUZEUml4UFFVRlBReXhSUVVGUldpeFBRVUZQVnl4SFFVZDRRaXhIUVVGSlNDeExRVUZMZUVJc1VVRkRVQ3hQUVVGUE5FSXNVVUZCVVhCQ0xGRkJRVkZLTEhOQ1FVRnBRbU1zUjBGQlZ5eEpRVWR5UkN4SFFVRkpUU3hMUVVGTGNrSXNVMEZCVXpCQ0xGVkJTMmhDTEU5QlFVOHNTVUZCU1VRc1VVRkJVU3hUUVVGVmNFSXNSVUZCVTFFc1IwRkRjRU5LTEZGQlFWRkRMRk5CUVZNc1YwRkRXR0VzUlVGQlRUTkNMRkZCUTFKcFFpeEZRVUZQVlN4RlFVRk5NMElzVTBGRllsTXNSVUZCVVVvc2MwSkJRV2xDWXl4SFFVRlhMRkZCVlRWRExFbEJRMGxaTEVWQlJFRm1MRVZCUVdOVExFdEJRVXQyUWl4alFVZDJRaXhIUVVGSll5eEZRVU5HWlN4RlFVRlZMRWxCUVVsR0xGRkJRVkZrTEZsQlFWbERMRVZCUVdGVExGZEJRekZETEVOQlIwd3NTVUZCU1dZc1JVRkJUMlVzUzBGQlMzSkNMRk5CUVZOUExFOUJSWHBDTEVkQlFXRXNUMEZCVkVRc1JVRkRSaXhQUVVGUGJVSXNVVUZCVVhCQ0xGRkJRVkZLTEdsQ1FVRnBRa3NzUjBGQlRTeEpRVWRvUkhGQ0xFVkJRVlVzU1VGQlNVWXNVVUZCVVVvc1MwRkJTM1JDTEdsQ1FVazNRaXhQUVVSQmMwSXNTMEZCUzNaQ0xHTkJRV2RDTmtJc1JVRkRaRUVzU1VGRkswSnFReXhQUVVGUGEwTXNZMEZCWlN4WFFVTTVSQ3hQUVVGUFVDeFBRVU5NZGtNc1owSkJRV2RDUkN4elFrRkJkVUlzVTBGQlZTeFhRVU51UkN4SlFVRkpaMFFzUlVGQlUxSXNTMEZMWWl4UFFVRlBMRWxCUVVsSkxGRkJRVkVzVTBGQlZYQkNMRVZCUVZOUkxFZEJRM0JEWjBJc1JVRkJUemRDTEZOQlFWTTRRaXhSUVVGUkxFdEJRVTBzVTBGQlZVTXNSMEZEYkVOQkxFVkJRMFpzUWl4RlFVRlBhMElzUjBGSlZERkNMRVZCUVZGS0xITkNRVUZwUW1Nc1IwRkJWeXhWUVVkMFEyeERMSFZDUVVGM1FtMURMSGRDUVVWNFFtZENMR3REUVVGdlF5eFRRVUV5UTFvc1IwRkRha1lzU1VGQlNXRXNSVUZGUVVNc1JVRkJWMmhFTEU5QlFVOXBSQ3hQUVVGUGFrSXNjME5CUVRSRWNFTXNaMEpCUVhKQ2JVUXNSVUZCYVVJc1IwRkJiME5xUXl4UlFVRlRMRU5CUTJoSlppeE5RVUZQYlVNc1JVRkRVRGxDTEZWQlFWVXNTVUZEVWxJc1owSkJRV2RDYlVRc1JVRkJaMEo0UXl4aFFVRmpMRU5CUTJoRVVpeE5RVUZQTEV0QlExQkxMRlZCUVZVc1NVRkRVbElzWjBKQlFXZENiVVFzUlVGQlowSjBReXhaUVVGaExFTkJReTlEVml4TlFVRlBMRXRCUTFCTExGVkJRVlVzU1VGRFVsSXNaMEpCUVdkQ2JVUXNSVUZCWjBKeVF5eFBRVUZSTEVOQlF6RkRXQ3hOUVVGUExFdEJRMUJMTEZWQlFWVXNTVUZEVWxJc1owSkJRV2RDYlVRc1JVRkJaMEp3UXl4UFFVRlJMRU5CUXpGRFdpeE5RVUZQYlVNc1JVRkJUMmRDTEdWQlFXVkRMRmRCUXpkQ0wwTXNWVUZCVlN4SlFVTlNVaXhuUWtGQlowSnRSQ3hGUVVGblFteERMR1ZCUVdkQ0xFTkJRMnhFWkN4TlFVRlBMRk5CUVdWdlFpeEZRVUZUVVN4SFFVTTNRaXhKUVVGSlVDeEZRVUZQTkVJc1JVRkJVMnhETEZOQlFWTlBMRTlCUlhwQ1JDeEhRVU5HTkVJc1JVRkJVM0JETEdOQlFXZENMRXRCUTNwQ2IwTXNSVUZCVTNwRExHTkJRV2RDTEV0QlEzcENlVU1zUlVGQlUzWkRMR0ZCUVdVc1MwRkRlRUpWTEVWQlFWRktMR2xDUVVGcFFrc3NSMEZCVFN4TlFVVXZRalJDTEVWQlFWTjZReXhqUVVGblFsa3NSVUZEZWtJMlFpeEZRVUZUZGtNc1lVRkJaV3RDTEVsQlJ6VkNka0lzVlVGQlZTeEpRVU5TTWtNc1NVRTRRa29zVDBFM1FrRkRMRVZCUVZOd1F5eGpRVUZuUWl4TFFVTjZRbEFzVTBGQlV6WkNMRVZCUVZFc1UwRkJWVmNzUjBGRGVrSXNSMEZCU1VFc1IwRkJiMElzSzBKQlFXSkJMRVZCUVVsUExFdEJRWFZETEVOQlEzQkVMRWxCUVVsNlFpeEZRVUZUY1VJc1JVRkJVM1pETEdGQlYzUkNMRTlCVW1Vc1QwRkJXR3RDTEVsQlEwWnhRaXhGUVVGVGNFTXNZMEZCWjBJc1MwRkRla0p2UXl4RlFVRlRla01zWTBGQlowSXNTMEZEZWtKNVF5eEZRVUZUZGtNc1lVRkJaU3hMUVVONFFtdENMRVZCUVU5clFpeFRRVWRVUnl4RlFVRlRkRU1zVVVGQlZXMURMRWRCU1hKQ0xFbEJRVWt4UWl4RlFVRlZOa0lzUlVGQlUzcERMR05CUlZBc1QwRkJXbGtzU1VGRFJqWkNMRVZCUVZOd1F5eGpRVUZuUWl4TFFVTjZRbTlETEVWQlFWTjZReXhqUVVGblFpeExRVU42UW5sRExFVkJRVk4yUXl4aFFVRmxMRXRCUTNoQ1ZTeEZRVUZSU2l4elFrRkJhVUpqTEVkQlFWY3NTMEZIZEVOdFFpeEZRVUZUY2tNc1UwRkJWU3hKUVVWeVFuVkNMRVZCUVU5dFFpeEhRVUZITEZkQlFWa3ZRaXhYUVVGWFowTXNTMEZCU3l4TFFVRk5UaXhKUVVOeVEwRXNSMEZIVkU4c1QwRkJUME1zVVVGQlZWWWlMQ0ptYVd4bElqb2lMMmh2YldVdmVtbHVieTl3Y205cVpXTjBjeTl6WldGMGJXRndkakl2YldGemRHVnlMM05sWVhSdFlYQjJNaTlqYkdsbGJuUXZibTlrWlY5dGIyUjFiR1Z6TDNOMGNtVmhiUzFpY205M2MyVnlhV1o1TDI1dlpHVmZiVzlrZFd4bGN5OXlaV0ZrWVdKc1pTMXpkSEpsWVcwdmJHbGlMMmx1ZEdWeWJtRnNMM04wY21WaGJYTXZZWE41Ym1OZmFYUmxjbUYwYjNJdWFuTWlmUT09IiwiXCJ1c2Ugc3RyaWN0XCI7ZnVuY3Rpb24gb3duS2V5cyhlLHQpe3ZhciBuPU9iamVjdC5rZXlzKGUpO2lmKE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMpe3ZhciByPU9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMoZSk7dCYmKHI9ci5maWx0ZXIoZnVuY3Rpb24odCl7cmV0dXJuIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoZSx0KS5lbnVtZXJhYmxlfSkpLG4ucHVzaC5hcHBseShuLHIpfXJldHVybiBufWZ1bmN0aW9uIF9vYmplY3RTcHJlYWQoZSl7Zm9yKHZhciB0PTE7dDxhcmd1bWVudHMubGVuZ3RoO3QrKyl7dmFyIG49bnVsbCE9YXJndW1lbnRzW3RdP2FyZ3VtZW50c1t0XTp7fTt0JTI/b3duS2V5cyhPYmplY3QobiksITApLmZvckVhY2goZnVuY3Rpb24odCl7X2RlZmluZVByb3BlcnR5KGUsdCxuW3RdKX0pOk9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3JzP09iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKGUsT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcnMobikpOm93bktleXMoT2JqZWN0KG4pKS5mb3JFYWNoKGZ1bmN0aW9uKHQpe09iamVjdC5kZWZpbmVQcm9wZXJ0eShlLHQsT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihuLHQpKX0pfXJldHVybiBlfWZ1bmN0aW9uIF9kZWZpbmVQcm9wZXJ0eShlLHQsbil7cmV0dXJuIHQgaW4gZT9PYmplY3QuZGVmaW5lUHJvcGVydHkoZSx0LHt2YWx1ZTpuLGVudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwfSk6ZVt0XT1uLGV9ZnVuY3Rpb24gX2NsYXNzQ2FsbENoZWNrKGUsdCl7aWYoIShlIGluc3RhbmNlb2YgdCkpdGhyb3cgbmV3IFR5cGVFcnJvcihcIkNhbm5vdCBjYWxsIGEgY2xhc3MgYXMgYSBmdW5jdGlvblwiKX1mdW5jdGlvbiBfZGVmaW5lUHJvcGVydGllcyhlLHQpe2Zvcih2YXIgbj0wO248dC5sZW5ndGg7bisrKXt2YXIgcj10W25dO3IuZW51bWVyYWJsZT1yLmVudW1lcmFibGV8fCExLHIuY29uZmlndXJhYmxlPSEwLFwidmFsdWVcImluIHImJihyLndyaXRhYmxlPSEwKSxPYmplY3QuZGVmaW5lUHJvcGVydHkoZSxyLmtleSxyKX19ZnVuY3Rpb24gX2NyZWF0ZUNsYXNzKGUsdCxuKXtyZXR1cm4gdCYmX2RlZmluZVByb3BlcnRpZXMoZS5wcm90b3R5cGUsdCksbiYmX2RlZmluZVByb3BlcnRpZXMoZSxuKSxlfXZhciBfcmVxdWlyZT1yZXF1aXJlKFwiYnVmZmVyXCIpLEJ1ZmZlcj1fcmVxdWlyZS5CdWZmZXIsX3JlcXVpcmUyPXJlcXVpcmUoXCJ1dGlsXCIpLGluc3BlY3Q9X3JlcXVpcmUyLmluc3BlY3QsY3VzdG9tPWluc3BlY3QmJmluc3BlY3QuY3VzdG9tfHxcImluc3BlY3RcIjtmdW5jdGlvbiBjb3B5QnVmZmVyKGUsdCxuKXtCdWZmZXIucHJvdG90eXBlLmNvcHkuY2FsbChlLHQsbil9bW9kdWxlLmV4cG9ydHM9ZnVuY3Rpb24oKXtmdW5jdGlvbiBlKCl7X2NsYXNzQ2FsbENoZWNrKHRoaXMsZSksdGhpcy5oZWFkPW51bGwsdGhpcy50YWlsPW51bGwsdGhpcy5sZW5ndGg9MH1yZXR1cm4gX2NyZWF0ZUNsYXNzKGUsW3trZXk6XCJwdXNoXCIsdmFsdWU6ZnVuY3Rpb24oZSl7dmFyIHQ9e2RhdGE6ZSxuZXh0Om51bGx9O3RoaXMubGVuZ3RoPjA/dGhpcy50YWlsLm5leHQ9dDp0aGlzLmhlYWQ9dCx0aGlzLnRhaWw9dCwrK3RoaXMubGVuZ3RofX0se2tleTpcInVuc2hpZnRcIix2YWx1ZTpmdW5jdGlvbihlKXt2YXIgdD17ZGF0YTplLG5leHQ6dGhpcy5oZWFkfTswPT09dGhpcy5sZW5ndGgmJih0aGlzLnRhaWw9dCksdGhpcy5oZWFkPXQsKyt0aGlzLmxlbmd0aH19LHtrZXk6XCJzaGlmdFwiLHZhbHVlOmZ1bmN0aW9uKCl7aWYoMCE9PXRoaXMubGVuZ3RoKXt2YXIgZT10aGlzLmhlYWQuZGF0YTtyZXR1cm4gMT09PXRoaXMubGVuZ3RoP3RoaXMuaGVhZD10aGlzLnRhaWw9bnVsbDp0aGlzLmhlYWQ9dGhpcy5oZWFkLm5leHQsLS10aGlzLmxlbmd0aCxlfX19LHtrZXk6XCJjbGVhclwiLHZhbHVlOmZ1bmN0aW9uKCl7dGhpcy5oZWFkPXRoaXMudGFpbD1udWxsLHRoaXMubGVuZ3RoPTB9fSx7a2V5Olwiam9pblwiLHZhbHVlOmZ1bmN0aW9uKGUpe2lmKDA9PT10aGlzLmxlbmd0aClyZXR1cm5cIlwiO2Zvcih2YXIgdD10aGlzLmhlYWQsbj1cIlwiK3QuZGF0YTt0PXQubmV4dDspbis9ZSt0LmRhdGE7cmV0dXJuIG59fSx7a2V5OlwiY29uY2F0XCIsdmFsdWU6ZnVuY3Rpb24oZSl7aWYoMD09PXRoaXMubGVuZ3RoKXJldHVybiBCdWZmZXIuYWxsb2MoMCk7Zm9yKHZhciB0PUJ1ZmZlci5hbGxvY1Vuc2FmZShlPj4+MCksbj10aGlzLmhlYWQscj0wO247KWNvcHlCdWZmZXIobi5kYXRhLHQscikscis9bi5kYXRhLmxlbmd0aCxuPW4ubmV4dDtyZXR1cm4gdH19LHtrZXk6XCJjb25zdW1lXCIsdmFsdWU6ZnVuY3Rpb24oZSx0KXt2YXIgbjtyZXR1cm4gZTx0aGlzLmhlYWQuZGF0YS5sZW5ndGg/KG49dGhpcy5oZWFkLmRhdGEuc2xpY2UoMCxlKSx0aGlzLmhlYWQuZGF0YT10aGlzLmhlYWQuZGF0YS5zbGljZShlKSk6bj1lPT09dGhpcy5oZWFkLmRhdGEubGVuZ3RoP3RoaXMuc2hpZnQoKTp0P3RoaXMuX2dldFN0cmluZyhlKTp0aGlzLl9nZXRCdWZmZXIoZSksbn19LHtrZXk6XCJmaXJzdFwiLHZhbHVlOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuaGVhZC5kYXRhfX0se2tleTpcIl9nZXRTdHJpbmdcIix2YWx1ZTpmdW5jdGlvbihlKXt2YXIgdD10aGlzLmhlYWQsbj0xLHI9dC5kYXRhO2ZvcihlLT1yLmxlbmd0aDt0PXQubmV4dDspe3ZhciBhPXQuZGF0YSxpPWU+YS5sZW5ndGg/YS5sZW5ndGg6ZTtpZihpPT09YS5sZW5ndGg/cis9YTpyKz1hLnNsaWNlKDAsZSksMD09PShlLT1pKSl7aT09PWEubGVuZ3RoPygrK24sdC5uZXh0P3RoaXMuaGVhZD10Lm5leHQ6dGhpcy5oZWFkPXRoaXMudGFpbD1udWxsKToodGhpcy5oZWFkPXQsdC5kYXRhPWEuc2xpY2UoaSkpO2JyZWFrfSsrbn1yZXR1cm4gdGhpcy5sZW5ndGgtPW4scn19LHtrZXk6XCJfZ2V0QnVmZmVyXCIsdmFsdWU6ZnVuY3Rpb24oZSl7dmFyIHQ9QnVmZmVyLmFsbG9jVW5zYWZlKGUpLG49dGhpcy5oZWFkLHI9MTtmb3Iobi5kYXRhLmNvcHkodCksZS09bi5kYXRhLmxlbmd0aDtuPW4ubmV4dDspe3ZhciBhPW4uZGF0YSxpPWU+YS5sZW5ndGg/YS5sZW5ndGg6ZTtpZihhLmNvcHkodCx0Lmxlbmd0aC1lLDAsaSksMD09PShlLT1pKSl7aT09PWEubGVuZ3RoPygrK3Isbi5uZXh0P3RoaXMuaGVhZD1uLm5leHQ6dGhpcy5oZWFkPXRoaXMudGFpbD1udWxsKToodGhpcy5oZWFkPW4sbi5kYXRhPWEuc2xpY2UoaSkpO2JyZWFrfSsrcn1yZXR1cm4gdGhpcy5sZW5ndGgtPXIsdH19LHtrZXk6Y3VzdG9tLHZhbHVlOmZ1bmN0aW9uKGUsdCl7cmV0dXJuIGluc3BlY3QodGhpcyxfb2JqZWN0U3ByZWFkKHt9LHQse2RlcHRoOjAsY3VzdG9tSW5zcGVjdDohMX0pKX19XSksZX0oKTtcblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYkltSjFabVpsY2w5c2FYTjBMbXB6SWwwc0ltNWhiV1Z6SWpwYkltOTNia3RsZVhNaUxDSnZZbXBsWTNRaUxDSmxiblZ0WlhKaFlteGxUMjVzZVNJc0ltdGxlWE1pTENKUFltcGxZM1FpTENKblpYUlBkMjVRY205d1pYSjBlVk41YldKdmJITWlMQ0p6ZVcxaWIyeHpJaXdpWm1sc2RHVnlJaXdpYzNsdElpd2laMlYwVDNkdVVISnZjR1Z5ZEhsRVpYTmpjbWx3ZEc5eUlpd2laVzUxYldWeVlXSnNaU0lzSW5CMWMyZ2lMQ0poY0hCc2VTSXNJbDl2WW1wbFkzUlRjSEpsWVdRaUxDSjBZWEpuWlhRaUxDSnBJaXdpWVhKbmRXMWxiblJ6SWl3aWJHVnVaM1JvSWl3aWMyOTFjbU5sSWl3aVptOXlSV0ZqYUNJc0ltdGxlU0lzSWw5a1pXWnBibVZRY205d1pYSjBlU0lzSW1kbGRFOTNibEJ5YjNCbGNuUjVSR1Z6WTNKcGNIUnZjbk1pTENKa1pXWnBibVZRY205d1pYSjBhV1Z6SWl3aVpHVm1hVzVsVUhKdmNHVnlkSGtpTENKdlltb2lMQ0oyWVd4MVpTSXNJbU52Ym1acFozVnlZV0pzWlNJc0luZHlhWFJoWW14bElpd2lYMk5zWVhOelEyRnNiRU5vWldOcklpd2lhVzV6ZEdGdVkyVWlMQ0pEYjI1emRISjFZM1J2Y2lJc0lsUjVjR1ZGY25KdmNpSXNJbDlrWldacGJtVlFjbTl3WlhKMGFXVnpJaXdpY0hKdmNITWlMQ0prWlhOamNtbHdkRzl5SWl3aVgyTnlaV0YwWlVOc1lYTnpJaXdpY0hKdmRHOVFjbTl3Y3lJc0luTjBZWFJwWTFCeWIzQnpJaXdpY0hKdmRHOTBlWEJsSWl3aVgzSmxjWFZwY21VaUxDSnlaWEYxYVhKbElpd2lRblZtWm1WeUlpd2lYM0psY1hWcGNtVXlJaXdpYVc1emNHVmpkQ0lzSW1OMWMzUnZiU0lzSW1OdmNIbENkV1ptWlhJaUxDSnpjbU1pTENKdlptWnpaWFFpTENKamIzQjVJaXdpWTJGc2JDSXNJbTF2WkhWc1pTSXNJbVY0Y0c5eWRITWlMQ0pDZFdabVpYSk1hWE4wSWl3aWRHaHBjeUlzSW1obFlXUWlMQ0owWVdsc0lpd2lkaUlzSW1WdWRISjVJaXdpWkdGMFlTSXNJbTVsZUhRaUxDSnlaWFFpTENKeklpd2ljQ0lzSW00aUxDSmhiR3h2WXlJc0ltRnNiRzlqVlc1ellXWmxJaXdpYUdGelUzUnlhVzVuY3lJc0luTnNhV05sSWl3aWMyaHBablFpTENKZloyVjBVM1J5YVc1bklpd2lYMmRsZEVKMVptWmxjaUlzSW1NaUxDSnpkSElpTENKdVlpSXNJbUoxWmlJc0lsOGlMQ0p2Y0hScGIyNXpJaXdpWkdWd2RHZ2lMQ0pqZFhOMGIyMUpibk53WldOMElsMHNJbTFoY0hCcGJtZHpJam9pUVVGQlFTeGhRVVZCTEZOQlFWTkJMRkZCUVZGRExFVkJRVkZETEVkQlFXdENMRWxCUVVsRExFVkJRVTlETEU5QlFVOUVMRXRCUVV0R0xFZEJRVk1zUjBGQlNVY3NUMEZCVDBNc2MwSkJRWFZDTEVOQlFVVXNTVUZCU1VNc1JVRkJWVVlzVDBGQlQwTXNjMEpCUVhOQ1NpeEhRVUZoUXl4SlFVRm5Ra2tzUlVGQlZVRXNSVUZCVVVNc1QwRkJUeXhUUVVGVlF5eEhRVUZQTEU5QlFVOUtMRTlCUVU5TExIbENRVUY1UWxJc1JVRkJVVThzUjBGQlMwVXNZMEZCWjBKUUxFVkJRVXRSTEV0QlFVdERMRTFCUVUxVUxFVkJRVTFITEVkQlFWa3NUMEZCVDBnc1JVRkZPVlVzVTBGQlUxVXNZMEZCWTBNc1IwRkJWU3hKUVVGTExFbEJRVWxETEVWQlFVa3NSVUZCUjBFc1JVRkJTVU1zVlVGQlZVTXNUMEZCVVVZc1NVRkJTeXhEUVVGRkxFbEJRVWxITEVWQlFYbENMRTFCUVdoQ1JpeFZRVUZWUkN4SFFVRmhReXhWUVVGVlJDeEhRVUZMTEVkQlFWRkJMRVZCUVVrc1JVRkJTMllzVVVGQlVVa3NUMEZCVDJNc1NVRkJVeXhIUVVGTlF5eFJRVUZSTEZOQlFWVkRMRWRCUVU5RExHZENRVUZuUWxBc1JVRkJVVTBzUlVGQlMwWXNSVUZCVDBVc1RVRkJjMEpvUWl4UFFVRlBhMElzTUVKQlFUWkNiRUlzVDBGQlQyMUNMR2xDUVVGcFFsUXNSVUZCVVZZc1QwRkJUMnRDTERCQ1FVRXdRa29zU1VGQmJVSnNRaXhSUVVGUlNTeFBRVUZQWXl4SlFVRlRReXhSUVVGUkxGTkJRVlZETEVkQlFVOW9RaXhQUVVGUGIwSXNaVUZCWlZZc1JVRkJVVTBzUlVGQlMyaENMRTlCUVU5TExIbENRVUY1UWxNc1JVRkJVVVVzVFVGQlpTeFBRVUZQVGl4RlFVVTNaMElzVTBGQlUwOHNaMEpCUVdkQ1NTeEZRVUZMVEN4RlFVRkxUU3hIUVVGcFN5eFBRVUZ3U2s0c1MwRkJUMHNzUlVGQlQzSkNMRTlCUVU5dlFpeGxRVUZsUXl4RlFVRkxUQ3hGUVVGTExFTkJRVVZOTEUxQlFVOUJMRVZCUVU5b1FpeFpRVUZaTEVWQlFVMXBRaXhqUVVGakxFVkJRVTFETEZWQlFWVXNTVUZCYTBKSUxFVkJRVWxNTEVkQlFVOU5MRVZCUVdkQ1JDeEZRVVV6VFN4VFFVRlRTU3huUWtGQlowSkRMRVZCUVZWRExFZEJRV1VzUzBGQlRVUXNZVUZCYjBKRExFZEJRV2RDTEUxQlFVMHNTVUZCU1VNc1ZVRkJWU3h4UTBGRmFFZ3NVMEZCVTBNc2EwSkJRV3RDYmtJc1JVRkJVVzlDTEVkQlFWTXNTVUZCU3l4SlFVRkpia0lzUlVGQlNTeEZRVUZIUVN4RlFVRkpiVUlzUlVGQlRXcENMRTlCUVZGR0xFbEJRVXNzUTBGQlJTeEpRVUZKYjBJc1JVRkJZVVFzUlVGQlRXNUNMRWRCUVVsdlFpeEZRVUZYZWtJc1YwRkJZWGxDTEVWQlFWZDZRaXhoUVVGakxFVkJRVTk1UWl4RlFVRlhVaXhqUVVGbExFVkJRVlVzVlVGQlYxRXNTVUZCV1VFc1JVRkJWMUFzVlVGQlZ5eEhRVUZOZUVJc1QwRkJUMjlDTEdWQlFXVldMRVZCUVZGeFFpeEZRVUZYWml4SlFVRkxaU3hKUVVVM1V5eFRRVUZUUXl4aFFVRmhUQ3hGUVVGaFRTeEZRVUZaUXl4SFFVRnRTaXhQUVVGb1NVUXNSMEZCV1Vvc2EwSkJRV3RDUml4RlFVRlpVU3hWUVVGWFJpeEhRVUZwUWtNc1IwRkJZVXdzYTBKQlFXdENSaXhGUVVGaFR5eEhRVUZ4UWxBc1JVRkZlazBzU1VGQlNWTXNVMEZCVjBNc1VVRkJVU3hWUVVOdVFrTXNUMEZCVTBZc1UwRkJVMFVzVDBGRmJFSkRMRlZCUVZsR0xGRkJRVkVzVVVGRGNFSkhMRkZCUVZWRUxGVkJRVlZETEZGQlJYQkNReXhQUVVGVFJDeFRRVUZYUVN4UlFVRlJReXhSUVVGVkxGVkJSVEZETEZOQlFWTkRMRmRCUVZkRExFVkJRVXRxUXl4RlFVRlJhME1zUjBGREwwSk9MRTlCUVU5SUxGVkJRVlZWTEV0QlFVdERMRXRCUVV0SUxFVkJRVXRxUXl4RlFVRlJhME1zUjBGSE1VTkhMRTlCUVU5RExGRkJSVkFzVjBGRFJTeFRRVUZUUXl4SlFVTlFlRUlzWjBKQlFXZENlVUlzUzBGQlRVUXNSMEZGZEVKRExFdEJRVXRETEV0QlFVOHNTMEZEV2tRc1MwRkJTMFVzUzBGQlR5eExRVU5hUml4TFFVRkxja01zVDBGQlV5eEZRVGhMYUVJc1QwRXpTMEZ0UWl4aFFVRmhhVUlzUlVGQldTeERRVUZETEVOQlEzaENha01zU1VGQlN5eFBRVU5NVFN4TlFVRlBMRk5CUVdNclFpeEhRVU51UWl4SlFVRkpReXhGUVVGUkxFTkJRMVpETEV0QlFVMUdMRVZCUTA1SExFdEJRVTBzVFVGRlNrNHNTMEZCUzNKRExFOUJRVk1zUlVGQlIzRkRMRXRCUVV0RkxFdEJRVXRKTEV0QlFVOUdMRVZCUVZkS0xFdEJRVXRETEV0QlFVOUhMRVZCUXpkRVNpeExRVUZMUlN4TFFVRlBSU3hKUVVOV1NpeExRVUZMY2tNc1UwRkZVaXhEUVVORVJ5eEpRVUZMTEZWQlEweE5MRTFCUVU4c1UwRkJhVUlyUWl4SFFVTjBRaXhKUVVGSlF5eEZRVUZSTEVOQlExWkRMRXRCUVUxR0xFVkJRMDVITEV0QlFVMU9MRXRCUVV0RExFMUJSVThzU1VGQmFFSkVMRXRCUVV0eVF5eFRRVUZqY1VNc1MwRkJTMFVzUzBGQlQwVXNSMEZEYmtOS0xFdEJRVXRETEV0QlFVOUhMRWxCUTFaS0xFdEJRVXR5UXl4VFFVVlNMRU5CUTBSSExFbEJRVXNzVVVGRFRFMHNUVUZCVHl4WFFVTk1MRWRCUVc5Q0xFbEJRV2hDTkVJc1MwRkJTM0pETEU5QlFWUXNRMEZEUVN4SlFVRkpORU1zUlVGQlRWQXNTMEZCUzBNc1MwRkJTMGtzUzBGSGNFSXNUMEZHYjBJc1NVRkJhRUpNTEV0QlFVdHlReXhQUVVGamNVTXNTMEZCUzBNc1MwRkJUMFFzUzBGQlMwVXNTMEZCVHl4TFFVRlZSaXhMUVVGTFF5eExRVUZQUkN4TFFVRkxReXhMUVVGTFN5eFBRVU0zUlU0c1MwRkJTM0pETEU5QlEwRTBReXhMUVVWU0xFTkJRMFI2UXl4SlFVRkxMRkZCUTB4TkxFMUJRVThzVjBGRFREUkNMRXRCUVV0RExFdEJRVTlFTEV0QlFVdEZMRXRCUVU4c1MwRkRlRUpHTEV0QlFVdHlReXhQUVVGVExFbEJSV1lzUTBGRFJFY3NTVUZCU3l4UFFVTk1UU3hOUVVGUExGTkJRV052UXl4SFFVTnVRaXhIUVVGdlFpeEpRVUZvUWxJc1MwRkJTM0pETEU5QlFXTXNUVUZCVHl4SFFVazVRaXhKUVVoQkxFbEJRVWs0UXl4RlFVRkpWQ3hMUVVGTFF5eExRVU5VVFN4RlFVRk5MRWRCUVV0RkxFVkJRVVZLTEV0QlJWWkpMRVZCUVVsQkxFVkJRVVZJTEUxQlExaERMRWRCUVU5RExFVkJRVWxETEVWQlFVVktMRXRCUjJZc1QwRkJUMFVzU1VGRlVpeERRVU5FZWtNc1NVRkJTeXhUUVVOTVRTeE5RVUZQTEZOQlFXZENjME1zUjBGRGNrSXNSMEZCYjBJc1NVRkJhRUpXTEV0QlFVdHlReXhQUVVGakxFOUJRVTk1UWl4UFFVRlBkVUlzVFVGQlRTeEhRVXN6UXl4SlFVcEJMRWxCUVVsS0xFVkJRVTF1UWl4UFFVRlBkMElzV1VGQldVWXNTVUZCVFN4SFFVTXZRa1FzUlVGQlNWUXNTMEZCUzBNc1MwRkRWSGhETEVWQlFVa3NSVUZGUkdkRUxFZEJRMHhxUWl4WFFVRlhhVUlzUlVGQlJVb3NTMEZCVFVVc1JVRkJTemxETEVkQlEzaENRU3hIUVVGTFowUXNSVUZCUlVvc1MwRkJTekZETEU5QlExbzRReXhGUVVGSlFTeEZRVUZGU0N4TFFVZFNMRTlCUVU5RExFbEJSMUlzUTBGRFJIcERMRWxCUVVzc1ZVRkRURTBzVFVGQlR5eFRRVUZwUW5ORExFVkJRVWRITEVkQlEzcENMRWxCUVVsT0xFVkJZMG9zVDBGYVNVY3NSVUZCU1ZZc1MwRkJTME1zUzBGQlMwa3NTMEZCU3pGRExGRkJSWEpDTkVNc1JVRkJUVkFzUzBGQlMwTXNTMEZCUzBrc1MwRkJTMU1zVFVGQlRTeEZRVUZIU2l4SFFVTTVRbFlzUzBGQlMwTXNTMEZCUzBrc1MwRkJUMHdzUzBGQlMwTXNTMEZCUzBrc1MwRkJTMU1zVFVGQlRVb3NTVUZIZEVOSUxFVkJSbE5ITEVsQlFVMVdMRXRCUVV0RExFdEJRVXRKTEV0QlFVc3hReXhQUVVWNFFuRkRMRXRCUVV0bExGRkJSMHhHTEVWQlFXRmlMRXRCUVV0blFpeFhRVUZYVGl4SFFVRkxWaXhMUVVGTGFVSXNWMEZCVjFBc1IwRkhia1JJTEVsQlJWSXNRMEZEUkhwRExFbEJRVXNzVVVGRFRFMHNUVUZCVHl4WFFVTk1MRTlCUVU4MFFpeExRVUZMUXl4TFFVRkxTU3hQUVVkc1FpeERRVU5FZGtNc1NVRkJTeXhoUVVOTVRTeE5RVUZQTEZOQlFXOUNjME1zUjBGRGVrSXNTVUZCU1VRc1JVRkJTVlFzUzBGQlMwTXNTMEZEVkdsQ0xFVkJRVWtzUlVGRFNsZ3NSVUZCVFVVc1JVRkJSVW9zUzBGSFdpeEpRVVpCU3l4SFFVRkxTQ3hGUVVGSk5VTXNUMEZGUmpoRExFVkJRVWxCTEVWQlFVVklMRTFCUVUwc1EwRkRha0lzU1VGQlNXRXNSVUZCVFZZc1JVRkJSVW9zUzBGRFVtVXNSVUZCUzFZc1JVRkJTVk1zUlVGQlNYaEVMRTlCUVZOM1JDeEZRVUZKZUVRc1QwRkJVeXRETEVWQlNYWkRMRWRCU0VsVkxFbEJRVTlFTEVWQlFVbDRSQ3hQUVVGUk5FTXNSMEZCVDFrc1JVRkJVMW9zUjBGQlQxa3NSVUZCU1V3c1RVRkJUU3hGUVVGSFNpeEhRVWRxUkN4TFFVWldRU3hIUVVGTFZTeEhRVVZSTEVOQlExQkJMRWxCUVU5RUxFVkJRVWw0UkN4VlFVTllkVVFzUlVGRFJWUXNSVUZCUlVnc1MwRkJUVTRzUzBGQlMwTXNTMEZCVDFFc1JVRkJSVWdzUzBGQlZVNHNTMEZCUzBNc1MwRkJUMFFzUzBGQlMwVXNTMEZCVHl4UFFVVTFSRVlzUzBGQlMwTXNTMEZCVDFFc1JVRkRXa0VzUlVGQlJVb3NTMEZCVDJNc1JVRkJTVXdzVFVGQlRVMHNTVUZIY2tJc1VVRkhRVVlzUlVGSlNpeFBRVVJCYkVJc1MwRkJTM0pETEZGQlFWVjFSQ3hGUVVOU1dDeEpRVWRTTEVOQlEwUjZReXhKUVVGTExHRkJRMHhOTEUxQlFVOHNVMEZCYjBKelF5eEhRVU42UWl4SlFVRkpTQ3hGUVVGTmJrSXNUMEZCVDNkQ0xGbEJRVmxHTEVkQlEzcENSQ3hGUVVGSlZDeExRVUZMUXl4TFFVTlVhVUlzUlVGQlNTeEZRVWxTTEVsQlNFRlVMRVZCUVVWS0xFdEJRVXRXTEV0QlFVdFpMRWRCUTFwSExFZEJRVXRFTEVWQlFVVktMRXRCUVVzeFF5eFBRVVZNT0VNc1JVRkJTVUVzUlVGQlJVZ3NUVUZCVFN4RFFVTnFRaXhKUVVGSlpTeEZRVUZOV2l4RlFVRkZTaXhMUVVOU1pTeEZRVUZMVml4RlFVRkpWeXhGUVVGSk1VUXNUMEZCVXpCRUxFVkJRVWt4UkN4UFFVRlRLME1zUlVGSmRrTXNSMEZJUVZjc1JVRkJTVEZDTEV0QlFVdFpMRVZCUVV0QkxFVkJRVWsxUXl4UFFVRlRLME1zUlVGQlJ5eEZRVUZIVlN4SFFVZDJRaXhMUVVaV1ZpeEhRVUZMVlN4SFFVVlJMRU5CUTFCQkxFbEJRVTlETEVWQlFVa3hSQ3hWUVVOWWRVUXNSVUZEUlZRc1JVRkJSVWdzUzBGQlRVNHNTMEZCUzBNc1MwRkJUMUVzUlVGQlJVZ3NTMEZCVlU0c1MwRkJTME1zUzBGQlQwUXNTMEZCUzBVc1MwRkJUeXhQUVVVMVJFWXNTMEZCUzBNc1MwRkJUMUVzUlVGRFdrRXNSVUZCUlVvc1MwRkJUMmRDTEVWQlFVbFFMRTFCUVUxTkxFbEJSM0pDTEZGQlIwRkdMRVZCU1Vvc1QwRkVRV3hDTEV0QlFVdHlReXhSUVVGVmRVUXNSVUZEVWxnc1NVRkhVaXhEUVVORWVrTXNTVUZCUzNsQ0xFOUJRMHh1UWl4TlFVRlBMRk5CUVdWclJDeEZRVUZIUXl4SFFVTjJRaXhQUVVGUGFrTXNVVUZCVVZVc1MwRkJUWHBETEdOQlFXTXNSMEZCU1dkRkxFVkJRVk1zUTBGRk9VTkRMRTFCUVU4c1JVRkZVRU1zWlVGQlpTeFRRVXRrTVVJc1JVRndURlFpTENKbWFXeGxJam9pTDJodmJXVXZlbWx1Ynk5d2NtOXFaV04wY3k5elpXRjBiV0Z3ZGpJdmJXRnpkR1Z5TDNObFlYUnRZWEIyTWk5amJHbGxiblF2Ym05a1pWOXRiMlIxYkdWekwzTjBjbVZoYlMxaWNtOTNjMlZ5YVdaNUwyNXZaR1ZmYlc5a2RXeGxjeTl5WldGa1lXSnNaUzF6ZEhKbFlXMHZiR2xpTDJsdWRHVnlibUZzTDNOMGNtVmhiWE12WW5WbVptVnlYMnhwYzNRdWFuTWlmUT09IiwiXCJ1c2Ugc3RyaWN0XCI7ZnVuY3Rpb24gZGVzdHJveSh0LGUpe3ZhciByPXRoaXMsaT10aGlzLl9yZWFkYWJsZVN0YXRlJiZ0aGlzLl9yZWFkYWJsZVN0YXRlLmRlc3Ryb3llZCxhPXRoaXMuX3dyaXRhYmxlU3RhdGUmJnRoaXMuX3dyaXRhYmxlU3RhdGUuZGVzdHJveWVkO3JldHVybiBpfHxhPyhlP2UodCk6dCYmKHRoaXMuX3dyaXRhYmxlU3RhdGU/dGhpcy5fd3JpdGFibGVTdGF0ZS5lcnJvckVtaXR0ZWR8fCh0aGlzLl93cml0YWJsZVN0YXRlLmVycm9yRW1pdHRlZD0hMCxwcm9jZXNzLm5leHRUaWNrKGVtaXRFcnJvck5ULHRoaXMsdCkpOnByb2Nlc3MubmV4dFRpY2soZW1pdEVycm9yTlQsdGhpcyx0KSksdGhpcyk6KHRoaXMuX3JlYWRhYmxlU3RhdGUmJih0aGlzLl9yZWFkYWJsZVN0YXRlLmRlc3Ryb3llZD0hMCksdGhpcy5fd3JpdGFibGVTdGF0ZSYmKHRoaXMuX3dyaXRhYmxlU3RhdGUuZGVzdHJveWVkPSEwKSx0aGlzLl9kZXN0cm95KHR8fG51bGwsZnVuY3Rpb24odCl7IWUmJnQ/ci5fd3JpdGFibGVTdGF0ZT9yLl93cml0YWJsZVN0YXRlLmVycm9yRW1pdHRlZD9wcm9jZXNzLm5leHRUaWNrKGVtaXRDbG9zZU5ULHIpOihyLl93cml0YWJsZVN0YXRlLmVycm9yRW1pdHRlZD0hMCxwcm9jZXNzLm5leHRUaWNrKGVtaXRFcnJvckFuZENsb3NlTlQscix0KSk6cHJvY2Vzcy5uZXh0VGljayhlbWl0RXJyb3JBbmRDbG9zZU5ULHIsdCk6ZT8ocHJvY2Vzcy5uZXh0VGljayhlbWl0Q2xvc2VOVCxyKSxlKHQpKTpwcm9jZXNzLm5leHRUaWNrKGVtaXRDbG9zZU5ULHIpfSksdGhpcyl9ZnVuY3Rpb24gZW1pdEVycm9yQW5kQ2xvc2VOVCh0LGUpe2VtaXRFcnJvck5UKHQsZSksZW1pdENsb3NlTlQodCl9ZnVuY3Rpb24gZW1pdENsb3NlTlQodCl7dC5fd3JpdGFibGVTdGF0ZSYmIXQuX3dyaXRhYmxlU3RhdGUuZW1pdENsb3NlfHx0Ll9yZWFkYWJsZVN0YXRlJiYhdC5fcmVhZGFibGVTdGF0ZS5lbWl0Q2xvc2V8fHQuZW1pdChcImNsb3NlXCIpfWZ1bmN0aW9uIHVuZGVzdHJveSgpe3RoaXMuX3JlYWRhYmxlU3RhdGUmJih0aGlzLl9yZWFkYWJsZVN0YXRlLmRlc3Ryb3llZD0hMSx0aGlzLl9yZWFkYWJsZVN0YXRlLnJlYWRpbmc9ITEsdGhpcy5fcmVhZGFibGVTdGF0ZS5lbmRlZD0hMSx0aGlzLl9yZWFkYWJsZVN0YXRlLmVuZEVtaXR0ZWQ9ITEpLHRoaXMuX3dyaXRhYmxlU3RhdGUmJih0aGlzLl93cml0YWJsZVN0YXRlLmRlc3Ryb3llZD0hMSx0aGlzLl93cml0YWJsZVN0YXRlLmVuZGVkPSExLHRoaXMuX3dyaXRhYmxlU3RhdGUuZW5kaW5nPSExLHRoaXMuX3dyaXRhYmxlU3RhdGUuZmluYWxDYWxsZWQ9ITEsdGhpcy5fd3JpdGFibGVTdGF0ZS5wcmVmaW5pc2hlZD0hMSx0aGlzLl93cml0YWJsZVN0YXRlLmZpbmlzaGVkPSExLHRoaXMuX3dyaXRhYmxlU3RhdGUuZXJyb3JFbWl0dGVkPSExKX1mdW5jdGlvbiBlbWl0RXJyb3JOVCh0LGUpe3QuZW1pdChcImVycm9yXCIsZSl9ZnVuY3Rpb24gZXJyb3JPckRlc3Ryb3kodCxlKXt2YXIgcj10Ll9yZWFkYWJsZVN0YXRlLGk9dC5fd3JpdGFibGVTdGF0ZTtyJiZyLmF1dG9EZXN0cm95fHxpJiZpLmF1dG9EZXN0cm95P3QuZGVzdHJveShlKTp0LmVtaXQoXCJlcnJvclwiLGUpfW1vZHVsZS5leHBvcnRzPXtkZXN0cm95OmRlc3Ryb3ksdW5kZXN0cm95OnVuZGVzdHJveSxlcnJvck9yRGVzdHJveTplcnJvck9yRGVzdHJveX07XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJbVJsYzNSeWIza3Vhbk1pWFN3aWJtRnRaWE1pT2xzaVpHVnpkSEp2ZVNJc0ltVnljaUlzSW1OaUlpd2lYM1JvYVhNaUxDSjBhR2x6SWl3aWNtVmhaR0ZpYkdWRVpYTjBjbTk1WldRaUxDSmZjbVZoWkdGaWJHVlRkR0YwWlNJc0ltUmxjM1J5YjNsbFpDSXNJbmR5YVhSaFlteGxSR1Z6ZEhKdmVXVmtJaXdpWDNkeWFYUmhZbXhsVTNSaGRHVWlMQ0psY25KdmNrVnRhWFIwWldRaUxDSndjbTlqWlhOeklpd2libVY0ZEZScFkyc2lMQ0psYldsMFJYSnliM0pPVkNJc0lsOWtaWE4wY205NUlpd2laVzFwZEVOc2IzTmxUbFFpTENKbGJXbDBSWEp5YjNKQmJtUkRiRzl6WlU1VUlpd2ljMlZzWmlJc0ltVnRhWFJEYkc5elpTSXNJbVZ0YVhRaUxDSjFibVJsYzNSeWIza2lMQ0p5WldGa2FXNW5JaXdpWlc1a1pXUWlMQ0psYm1SRmJXbDBkR1ZrSWl3aVpXNWthVzVuSWl3aVptbHVZV3hEWVd4c1pXUWlMQ0p3Y21WbWFXNXBjMmhsWkNJc0ltWnBibWx6YUdWa0lpd2laWEp5YjNKUGNrUmxjM1J5YjNraUxDSnpkSEpsWVcwaUxDSnlVM1JoZEdVaUxDSjNVM1JoZEdVaUxDSmhkWFJ2UkdWemRISnZlU0lzSW0xdlpIVnNaU0lzSW1WNGNHOXlkSE1pWFN3aWJXRndjR2x1WjNNaU9pSkJRVUZCTEdGQlJVRXNVMEZCVTBFc1VVRkJVVU1zUlVGQlMwTXNSMEZEY0VJc1NVRkJTVU1zUlVGQlVVTXNTMEZGVWtNc1JVRkJiMEpFTEV0QlFVdEZMR2RDUVVGclFrWXNTMEZCUzBVc1pVRkJaVU1zVlVGREwwUkRMRVZCUVc5Q1NpeExRVUZMU3l4blFrRkJhMEpNTEV0QlFVdExMR1ZCUVdWR0xGVkJSVzVGTEU5QlFVbEdMRWRCUVhGQ1J5eEhRVU51UWs0c1JVRkRSa0VzUlVGQlIwUXNSMEZEVFVFc1NVRkRTa2NzUzBGQlMwc3NaVUZGUlV3c1MwRkJTMHNzWlVGQlpVTXNaVUZET1VKT0xFdEJRVXRMTEdWQlFXVkRMR05CUVdVc1JVRkRia05ETEZGQlFWRkRMRk5CUVZORExGbEJRV0ZVTEV0QlFVMUlMRWxCU0hCRFZTeFJRVUZSUXl4VFFVRlRReXhaUVVGaFZDeExRVUZOU0N4SlFVOXFRMGNzVDBGTFRFRXNTMEZCUzBVc2FVSkJRMUJHTEV0QlFVdEZMR1ZCUVdWRExGZEJRVmtzUjBGSk9VSklMRXRCUVV0TExHbENRVU5RVEN4TFFVRkxTeXhsUVVGbFJpeFhRVUZaTEVkQlIyeERTQ3hMUVVGTFZTeFRRVUZUWWl4SFFVRlBMRXRCUVUwc1UwRkJWVUVzU1VGRE9VSkRMRWRCUVUxRUxFVkJRMHBGTEVWQlFVMU5MR1ZCUlVOT0xFVkJRVTFOTEdWQlFXVkRMR0ZCU1M5Q1F5eFJRVUZSUXl4VFFVRlRSeXhaUVVGaFdpeEpRVWc1UWtFc1JVRkJUVTBzWlVGQlpVTXNZMEZCWlN4RlFVTndRME1zVVVGQlVVTXNVMEZCVTBrc2IwSkJRWEZDWWl4RlFVRlBSaXhKUVVnM1ExVXNVVUZCVVVNc1UwRkJVMGtzYjBKQlFYRkNZaXhGUVVGUFJpeEhRVTkwUTBNc1IwRkRWRk1zVVVGQlVVTXNVMEZCVTBjc1dVRkJZVm9zUjBGRE9VSkVMRVZCUVVkRUxFbEJSVWhWTEZGQlFWRkRMRk5CUVZOSExGbEJRV0ZhTEV0QlNUTkNReXhOUVVkVUxGTkJRVk5aTEc5Q1FVRnZRa01zUlVGQlRXaENMRWRCUTJwRFdTeFpRVUZaU1N4RlFVRk5hRUlzUjBGRGJFSmpMRmxCUVZsRkxFZEJSMlFzVTBGQlUwWXNXVUZCV1VVc1IwRkRaa0VzUlVGQlMxSXNhVUpCUVcxQ1VTeEZRVUZMVWl4bFFVRmxVeXhYUVVNMVEwUXNSVUZCUzFnc2FVSkJRVzFDVnl4RlFVRkxXQ3hsUVVGbFdTeFhRVU5vUkVRc1JVRkJTMFVzUzBGQlN5eFRRVWRhTEZOQlFWTkRMRmxCUTBob1FpeExRVUZMUlN4cFFrRkRVRVlzUzBGQlMwVXNaVUZCWlVNc1YwRkJXU3hGUVVOb1EwZ3NTMEZCUzBVc1pVRkJaV1VzVTBGQlZTeEZRVU01UW1wQ0xFdEJRVXRGTEdWQlFXVm5RaXhQUVVGUkxFVkJRelZDYkVJc1MwRkJTMFVzWlVGQlpXbENMRmxCUVdFc1IwRkhMMEp1UWl4TFFVRkxTeXhwUWtGRFVFd3NTMEZCUzBzc1pVRkJaVVlzVjBGQldTeEZRVU5vUTBnc1MwRkJTMHNzWlVGQlpXRXNUMEZCVVN4RlFVTTFRbXhDTEV0QlFVdExMR1ZCUVdWbExGRkJRVk1zUlVGRE4wSndRaXhMUVVGTFN5eGxRVUZsWjBJc1lVRkJZeXhGUVVOc1EzSkNMRXRCUVV0TExHVkJRV1ZwUWl4aFFVRmpMRVZCUTJ4RGRFSXNTMEZCUzBzc1pVRkJaV3RDTEZWQlFWY3NSVUZETDBKMlFpeExRVUZMU3l4bFFVRmxReXhqUVVGbExFZEJTWFpETEZOQlFWTkhMRmxCUVZsSkxFVkJRVTFvUWl4SFFVTjZRbWRDTEVWQlFVdEZMRXRCUVVzc1VVRkJVMnhDTEVkQlIzSkNMRk5CUVZNeVFpeGxRVUZsUXl4RlFVRlJOVUlzUjBGTk9VSXNTVUZCU1RaQ0xFVkJRVk5FTEVWQlFVOTJRaXhsUVVOb1FubENMRVZCUVZOR0xFVkJRVTl3UWl4bFFVTm9RbkZDTEVkQlFWVkJMRVZCUVU5RkxHRkJRV1ZFTEVkQlFWVkJMRVZCUVU5RExGbEJRV0ZJTEVWQlFVODNRaXhSUVVGUlF5eEhRVUZWTkVJc1JVRkJUMVlzUzBGQlN5eFJRVUZUYkVJc1IwRkhiRWhuUXl4UFFVRlBReXhSUVVGVkxFTkJRMlpzUXl4UlFVRlRRU3hSUVVOVWIwSXNWVUZCVjBFc1ZVRkRXRkVzWlVGQlowSkJJaXdpWm1sc1pTSTZJaTlvYjIxbEwzcHBibTh2Y0hKdmFtVmpkSE12YzJWaGRHMWhjSFl5TDIxaGMzUmxjaTl6WldGMGJXRndkakl2WTJ4cFpXNTBMMjV2WkdWZmJXOWtkV3hsY3k5emRISmxZVzB0WW5KdmQzTmxjbWxtZVM5dWIyUmxYMjF2WkhWc1pYTXZjbVZoWkdGaWJHVXRjM1J5WldGdEwyeHBZaTlwYm5SbGNtNWhiQzl6ZEhKbFlXMXpMMlJsYzNSeWIza3Vhbk1pZlE9PSIsIlwidXNlIHN0cmljdFwiO3ZhciBFUlJfU1RSRUFNX1BSRU1BVFVSRV9DTE9TRT1yZXF1aXJlKFwiLi4vLi4vLi4vZXJyb3JzXCIpLmNvZGVzLkVSUl9TVFJFQU1fUFJFTUFUVVJFX0NMT1NFO2Z1bmN0aW9uIG9uY2UoZSl7dmFyIHI9ITE7cmV0dXJuIGZ1bmN0aW9uKCl7aWYoIXIpe3I9ITA7Zm9yKHZhciB0PWFyZ3VtZW50cy5sZW5ndGgsbj1uZXcgQXJyYXkodCksbz0wO288dDtvKyspbltvXT1hcmd1bWVudHNbb107ZS5hcHBseSh0aGlzLG4pfX19ZnVuY3Rpb24gbm9vcCgpe31mdW5jdGlvbiBpc1JlcXVlc3QoZSl7cmV0dXJuIGUuc2V0SGVhZGVyJiZcImZ1bmN0aW9uXCI9PXR5cGVvZiBlLmFib3J0fWZ1bmN0aW9uIGVvcyhlLHIsdCl7aWYoXCJmdW5jdGlvblwiPT10eXBlb2YgcilyZXR1cm4gZW9zKGUsbnVsbCxyKTtyfHwocj17fSksdD1vbmNlKHR8fG5vb3ApO3ZhciBuPXIucmVhZGFibGV8fCExIT09ci5yZWFkYWJsZSYmZS5yZWFkYWJsZSxvPXIud3JpdGFibGV8fCExIT09ci53cml0YWJsZSYmZS53cml0YWJsZSxpPWZ1bmN0aW9uKCl7ZS53cml0YWJsZXx8bCgpfSxhPWUuX3dyaXRhYmxlU3RhdGUmJmUuX3dyaXRhYmxlU3RhdGUuZmluaXNoZWQsbD1mdW5jdGlvbigpe289ITEsYT0hMCxufHx0LmNhbGwoZSl9LHM9ZS5fcmVhZGFibGVTdGF0ZSYmZS5fcmVhZGFibGVTdGF0ZS5lbmRFbWl0dGVkLGM9ZnVuY3Rpb24oKXtuPSExLHM9ITAsb3x8dC5jYWxsKGUpfSx1PWZ1bmN0aW9uKHIpe3QuY2FsbChlLHIpfSxmPWZ1bmN0aW9uKCl7dmFyIHI7cmV0dXJuIG4mJiFzPyhlLl9yZWFkYWJsZVN0YXRlJiZlLl9yZWFkYWJsZVN0YXRlLmVuZGVkfHwocj1uZXcgRVJSX1NUUkVBTV9QUkVNQVRVUkVfQ0xPU0UpLHQuY2FsbChlLHIpKTpvJiYhYT8oZS5fd3JpdGFibGVTdGF0ZSYmZS5fd3JpdGFibGVTdGF0ZS5lbmRlZHx8KHI9bmV3IEVSUl9TVFJFQU1fUFJFTUFUVVJFX0NMT1NFKSx0LmNhbGwoZSxyKSk6dm9pZCAwfSxkPWZ1bmN0aW9uKCl7ZS5yZXEub24oXCJmaW5pc2hcIixsKX07cmV0dXJuIGlzUmVxdWVzdChlKT8oZS5vbihcImNvbXBsZXRlXCIsbCksZS5vbihcImFib3J0XCIsZiksZS5yZXE/ZCgpOmUub24oXCJyZXF1ZXN0XCIsZCkpOm8mJiFlLl93cml0YWJsZVN0YXRlJiYoZS5vbihcImVuZFwiLGkpLGUub24oXCJjbG9zZVwiLGkpKSxlLm9uKFwiZW5kXCIsYyksZS5vbihcImZpbmlzaFwiLGwpLCExIT09ci5lcnJvciYmZS5vbihcImVycm9yXCIsdSksZS5vbihcImNsb3NlXCIsZiksZnVuY3Rpb24oKXtlLnJlbW92ZUxpc3RlbmVyKFwiY29tcGxldGVcIixsKSxlLnJlbW92ZUxpc3RlbmVyKFwiYWJvcnRcIixmKSxlLnJlbW92ZUxpc3RlbmVyKFwicmVxdWVzdFwiLGQpLGUucmVxJiZlLnJlcS5yZW1vdmVMaXN0ZW5lcihcImZpbmlzaFwiLGwpLGUucmVtb3ZlTGlzdGVuZXIoXCJlbmRcIixpKSxlLnJlbW92ZUxpc3RlbmVyKFwiY2xvc2VcIixpKSxlLnJlbW92ZUxpc3RlbmVyKFwiZmluaXNoXCIsbCksZS5yZW1vdmVMaXN0ZW5lcihcImVuZFwiLGMpLGUucmVtb3ZlTGlzdGVuZXIoXCJlcnJvclwiLHUpLGUucmVtb3ZlTGlzdGVuZXIoXCJjbG9zZVwiLGYpfX1tb2R1bGUuZXhwb3J0cz1lb3M7XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJbVZ1WkMxdlppMXpkSEpsWVcwdWFuTWlYU3dpYm1GdFpYTWlPbHNpUlZKU1gxTlVVa1ZCVFY5UVVrVk5RVlJWVWtWZlEweFBVMFVpTENKeVpYRjFhWEpsSWl3aVkyOWtaWE1pTENKdmJtTmxJaXdpWTJGc2JHSmhZMnNpTENKallXeHNaV1FpTENKZmJHVnVJaXdpWVhKbmRXMWxiblJ6SWl3aWJHVnVaM1JvSWl3aVlYSm5jeUlzSWtGeWNtRjVJaXdpWDJ0bGVTSXNJbUZ3Y0d4NUlpd2lkR2hwY3lJc0ltNXZiM0FpTENKcGMxSmxjWFZsYzNRaUxDSnpkSEpsWVcwaUxDSnpaWFJJWldGa1pYSWlMQ0poWW05eWRDSXNJbVZ2Y3lJc0ltOXdkSE1pTENKeVpXRmtZV0pzWlNJc0luZHlhWFJoWW14bElpd2liMjVzWldkaFkzbG1hVzVwYzJnaUxDSnZibVpwYm1semFDSXNJbmR5YVhSaFlteGxSVzVrWldRaUxDSmZkM0pwZEdGaWJHVlRkR0YwWlNJc0ltWnBibWx6YUdWa0lpd2lZMkZzYkNJc0luSmxZV1JoWW14bFJXNWtaV1FpTENKZmNtVmhaR0ZpYkdWVGRHRjBaU0lzSW1WdVpFVnRhWFIwWldRaUxDSnZibVZ1WkNJc0ltOXVaWEp5YjNJaUxDSmxjbklpTENKdmJtTnNiM05sSWl3aVpXNWtaV1FpTENKdmJuSmxjWFZsYzNRaUxDSnlaWEVpTENKdmJpSXNJbVZ5Y205eUlpd2ljbVZ0YjNabFRHbHpkR1Z1WlhJaUxDSnRiMlIxYkdVaUxDSmxlSEJ2Y25SeklsMHNJbTFoY0hCcGJtZHpJam9pUVVGRlFTeGhRVVZCTEVsQlFVbEJMREpDUVVFMlFrTXNVVUZCVVN4dFFrRkJiVUpETEUxQlFVMUdMREpDUVVWc1JTeFRRVUZUUnl4TFFVRkxReXhIUVVOYUxFbEJRVWxETEVkQlFWTXNSVUZEWWl4UFFVRlBMRmRCUTB3c1NVRkJTVUVzUlVGQlNpeERRVU5CUVN4SFFVRlRMRVZCUlZRc1NVRkJTeXhKUVVGSlF5eEZRVUZQUXl4VlFVRlZReXhQUVVGUlF5eEZRVUZQTEVsQlFVbERMRTFCUVUxS0xFZEJRVTlMTEVWQlFVOHNSVUZCUjBFc1JVRkJUMHdzUlVGQlRVc3NTVUZETDBWR0xFVkJRVXRGTEVkQlFWRktMRlZCUVZWSkxFZEJSM3BDVUN4RlFVRlRVU3hOUVVGTlF5eExRVUZOU2l4TFFVbDZRaXhUUVVGVFN5eFJRVVZVTEZOQlFWTkRMRlZCUVZWRExFZEJRMnBDTEU5QlFVOUJMRVZCUVU5RExGZEJRWEZETEcxQ1FVRnFRa1FzUlVGQlQwVXNUVUZITTBNc1UwRkJVME1zU1VGQlNVZ3NSVUZCVVVrc1JVRkJUV2hDTEVkQlEzcENMRWRCUVc5Q0xHMUNRVUZVWjBJc1JVRkJjVUlzVDBGQlQwUXNTVUZCU1Vnc1JVRkJVU3hMUVVGTlNTeEhRVU53UkVFc1NVRkJUVUVzUlVGQlR5eEpRVU5zUW1oQ0xFVkJRVmRFTEV0QlFVdERMRWRCUVZsVkxFMUJRelZDTEVsQlFVbFBMRVZCUVZkRUxFVkJRVXRETEZkQlFUaENMRWxCUVd4Q1JDeEZRVUZMUXl4VlFVRnpRa3dzUlVGQlQwc3NVMEZET1VSRExFVkJRVmRHTEVWQlFVdEZMRmRCUVRoQ0xFbEJRV3hDUml4RlFVRkxSU3hWUVVGelFrNHNSVUZCVDAwc1UwRkZPVVJETEVWQlFXbENMRmRCUTJSUUxFVkJRVTlOTEZWQlFWVkZMRXRCUjNCQ1F5eEZRVUZuUWxRc1JVRkJUMVVzWjBKQlFXdENWaXhGUVVGUFZTeGxRVUZsUXl4VFFVVXZSRWdzUlVGQlZ5eFhRVU5pUml4SFFVRlhMRVZCUTFoSExFZEJRV2RDTEVWQlExaEtMRWRCUVZWcVFpeEZRVUZUZDBJc1MwRkJTMW9zU1VGSE0wSmhMRVZCUVdkQ1lpeEZRVUZQWXl4blFrRkJhMEprTEVWQlFVOWpMR1ZCUVdWRExGZEJSUzlFUXl4RlFVRlJMRmRCUTFaWUxFZEJRVmNzUlVGRFdGRXNSMEZCWjBJc1JVRkRXRkFzUjBGQlZXeENMRVZCUVZOM1FpeExRVUZMV2l4SlFVY3pRbWxDTEVWQlFWVXNVMEZCYVVKRExFZEJRemRDT1VJc1JVRkJVM2RDTEV0QlFVdGFMRVZCUVZGclFpeEpRVWR3UWtNc1JVRkJWU3hYUVVOYUxFbEJRVWxFTEVWQlJVb3NUMEZCU1dJc1NVRkJZVkVzUjBGRFZtSXNSVUZCVDJNc1owSkJRVzFDWkN4RlFVRlBZeXhsUVVGbFRTeFJRVUZQUml4RlFVRk5MRWxCUVVsc1F5dzBRa0ZETDBSSkxFVkJRVk4zUWl4TFFVRkxXaXhGUVVGUmEwSXNTVUZITTBKYUxFbEJRV0ZITEVkQlExWlVMRVZCUVU5VkxHZENRVUZ0UWxZc1JVRkJUMVVzWlVGQlpWVXNVVUZCVDBZc1JVRkJUU3hKUVVGSmJFTXNORUpCUXk5RVNTeEZRVUZUZDBJc1MwRkJTMW9zUlVGQlVXdENMRk5CUmk5Q0xFZEJUVVZITEVWQlFWa3NWMEZEWkhKQ0xFVkJRVTl6UWl4SlFVRkpReXhIUVVGSExGTkJRVlZtTEVsQmFVSXhRaXhQUVdSSlZDeFZRVUZWUXl4SlFVTmFRU3hGUVVGUGRVSXNSMEZCUnl4WFFVRlpaaXhIUVVOMFFsSXNSVUZCVDNWQ0xFZEJRVWNzVVVGQlUwb3NSMEZEWm01Q0xFVkJRVTl6UWl4SlFVRkxSQ3hKUVVGcFFuSkNMRVZCUVU5MVFpeEhRVUZITEZWQlFWZEdMRWxCUXpkRFppeEpRVUZoVGl4RlFVRlBWU3hwUWtGRk4wSldMRVZCUVU5MVFpeEhRVUZITEUxQlFVOW9RaXhIUVVOcVFsQXNSVUZCVDNWQ0xFZEJRVWNzVVVGQlUyaENMRWxCUjNKQ1VDeEZRVUZQZFVJc1IwRkJSeXhOUVVGUFVDeEhRVU5xUW1oQ0xFVkJRVTkxUWl4SFFVRkhMRk5CUVZWbUxFbEJRMFFzU1VGQlprb3NSVUZCUzI5Q0xFOUJRV2xDZUVJc1JVRkJUM1ZDTEVkQlFVY3NVVUZCVTA0c1IwRkROME5xUWl4RlFVRlBkVUlzUjBGQlJ5eFJRVUZUU2l4SFFVTmFMRmRCUTB4dVFpeEZRVUZQZVVJc1pVRkJaU3hYUVVGWmFrSXNSMEZEYkVOU0xFVkJRVTk1UWl4bFFVRmxMRkZCUVZOT0xFZEJReTlDYmtJc1JVRkJUM2xDTEdWQlFXVXNWVUZCVjBvc1IwRkROMEp5UWl4RlFVRlBjMElzUzBGQlMzUkNMRVZCUVU5elFpeEpRVUZKUnl4bFFVRmxMRk5CUVZWcVFpeEhRVU53UkZJc1JVRkJUM2xDTEdWQlFXVXNUVUZCVDJ4Q0xFZEJRemRDVUN4RlFVRlBlVUlzWlVGQlpTeFJRVUZUYkVJc1IwRkRMMEpRTEVWQlFVOTVRaXhsUVVGbExGTkJRVlZxUWl4SFFVTm9RMUlzUlVGQlQzbENMR1ZCUVdVc1RVRkJUMVFzUjBGRE4wSm9RaXhGUVVGUGVVSXNaVUZCWlN4UlFVRlRVaXhIUVVNdlFtcENMRVZCUVU5NVFpeGxRVUZsTEZGQlFWTk9MRWxCU1c1RFR5eFBRVUZQUXl4UlFVRlZlRUlpTENKbWFXeGxJam9pTDJodmJXVXZlbWx1Ynk5d2NtOXFaV04wY3k5elpXRjBiV0Z3ZGpJdmJXRnpkR1Z5TDNObFlYUnRZWEIyTWk5amJHbGxiblF2Ym05a1pWOXRiMlIxYkdWekwzTjBjbVZoYlMxaWNtOTNjMlZ5YVdaNUwyNXZaR1ZmYlc5a2RXeGxjeTl5WldGa1lXSnNaUzF6ZEhKbFlXMHZiR2xpTDJsdWRHVnlibUZzTDNOMGNtVmhiWE12Wlc1a0xXOW1MWE4wY21WaGJTNXFjeUo5IiwibW9kdWxlLmV4cG9ydHM9ZnVuY3Rpb24oKXt0aHJvdyBuZXcgRXJyb3IoXCJSZWFkYWJsZS5mcm9tIGlzIG5vdCBhdmFpbGFibGUgaW4gdGhlIGJyb3dzZXJcIil9O1xuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSW1aeWIyMHRZbkp2ZDNObGNpNXFjeUpkTENKdVlXMWxjeUk2V3lKdGIyUjFiR1VpTENKbGVIQnZjblJ6SWl3aVJYSnliM0lpWFN3aWJXRndjR2x1WjNNaU9pSkJRVUZCUVN4UFFVRlBReXhSUVVGVkxGZEJRMllzVFVGQlRTeEpRVUZKUXl4TlFVRk5JaXdpWm1sc1pTSTZJaTlvYjIxbEwzcHBibTh2Y0hKdmFtVmpkSE12YzJWaGRHMWhjSFl5TDIxaGMzUmxjaTl6WldGMGJXRndkakl2WTJ4cFpXNTBMMjV2WkdWZmJXOWtkV3hsY3k5emRISmxZVzB0WW5KdmQzTmxjbWxtZVM5dWIyUmxYMjF2WkhWc1pYTXZjbVZoWkdGaWJHVXRjM1J5WldGdEwyeHBZaTlwYm5SbGNtNWhiQzl6ZEhKbFlXMXpMMlp5YjIwdFluSnZkM05sY2k1cWN5SjkiLCJcInVzZSBzdHJpY3RcIjt2YXIgZW9zO2Z1bmN0aW9uIG9uY2UoZSl7dmFyIHI9ITE7cmV0dXJuIGZ1bmN0aW9uKCl7cnx8KHI9ITAsZS5hcHBseSh2b2lkIDAsYXJndW1lbnRzKSl9fXZhciBfcmVxdWlyZSRjb2Rlcz1yZXF1aXJlKFwiLi4vLi4vLi4vZXJyb3JzXCIpLmNvZGVzLEVSUl9NSVNTSU5HX0FSR1M9X3JlcXVpcmUkY29kZXMuRVJSX01JU1NJTkdfQVJHUyxFUlJfU1RSRUFNX0RFU1RST1lFRD1fcmVxdWlyZSRjb2Rlcy5FUlJfU1RSRUFNX0RFU1RST1lFRDtmdW5jdGlvbiBub29wKGUpe2lmKGUpdGhyb3cgZX1mdW5jdGlvbiBpc1JlcXVlc3QoZSl7cmV0dXJuIGUuc2V0SGVhZGVyJiZcImZ1bmN0aW9uXCI9PXR5cGVvZiBlLmFib3J0fWZ1bmN0aW9uIGRlc3Ryb3llcihlLHIsbixvKXtvPW9uY2Uobyk7dmFyIHQ9ITE7ZS5vbihcImNsb3NlXCIsZnVuY3Rpb24oKXt0PSEwfSksdm9pZCAwPT09ZW9zJiYoZW9zPXJlcXVpcmUoXCIuL2VuZC1vZi1zdHJlYW1cIikpLGVvcyhlLHtyZWFkYWJsZTpyLHdyaXRhYmxlOm59LGZ1bmN0aW9uKGUpe2lmKGUpcmV0dXJuIG8oZSk7dD0hMCxvKCl9KTt2YXIgaT0hMTtyZXR1cm4gZnVuY3Rpb24ocil7aWYoIXQmJiFpKXJldHVybiBpPSEwLGlzUmVxdWVzdChlKT9lLmFib3J0KCk6XCJmdW5jdGlvblwiPT10eXBlb2YgZS5kZXN0cm95P2UuZGVzdHJveSgpOnZvaWQgbyhyfHxuZXcgRVJSX1NUUkVBTV9ERVNUUk9ZRUQoXCJwaXBlXCIpKX19ZnVuY3Rpb24gY2FsbChlKXtlKCl9ZnVuY3Rpb24gcGlwZShlLHIpe3JldHVybiBlLnBpcGUocil9ZnVuY3Rpb24gcG9wQ2FsbGJhY2soZSl7cmV0dXJuIGUubGVuZ3RoP1wiZnVuY3Rpb25cIiE9dHlwZW9mIGVbZS5sZW5ndGgtMV0/bm9vcDplLnBvcCgpOm5vb3B9ZnVuY3Rpb24gcGlwZWxpbmUoKXtmb3IodmFyIGU9YXJndW1lbnRzLmxlbmd0aCxyPW5ldyBBcnJheShlKSxuPTA7bjxlO24rKylyW25dPWFyZ3VtZW50c1tuXTt2YXIgbyx0PXBvcENhbGxiYWNrKHIpO2lmKEFycmF5LmlzQXJyYXkoclswXSkmJihyPXJbMF0pLHIubGVuZ3RoPDIpdGhyb3cgbmV3IEVSUl9NSVNTSU5HX0FSR1MoXCJzdHJlYW1zXCIpO3ZhciBpPXIubWFwKGZ1bmN0aW9uKGUsbil7dmFyIHU9bjxyLmxlbmd0aC0xO3JldHVybiBkZXN0cm95ZXIoZSx1LG4+MCxmdW5jdGlvbihlKXtvfHwobz1lKSxlJiZpLmZvckVhY2goY2FsbCksdXx8KGkuZm9yRWFjaChjYWxsKSx0KG8pKX0pfSk7cmV0dXJuIHIucmVkdWNlKHBpcGUpfW1vZHVsZS5leHBvcnRzPXBpcGVsaW5lO1xuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSW5CcGNHVnNhVzVsTG1weklsMHNJbTVoYldWeklqcGJJbVZ2Y3lJc0ltOXVZMlVpTENKallXeHNZbUZqYXlJc0ltTmhiR3hsWkNJc0ltRndjR3g1SWl3aVlYSm5kVzFsYm5Seklpd2lYM0psY1hWcGNtVWtZMjlrWlhNaUxDSnlaWEYxYVhKbElpd2lZMjlrWlhNaUxDSkZVbEpmVFVsVFUwbE9SMTlCVWtkVElpd2lSVkpTWDFOVVVrVkJUVjlFUlZOVVVrOVpSVVFpTENKdWIyOXdJaXdpWlhKeUlpd2lhWE5TWlhGMVpYTjBJaXdpYzNSeVpXRnRJaXdpYzJWMFNHVmhaR1Z5SWl3aVlXSnZjblFpTENKa1pYTjBjbTk1WlhJaUxDSnlaV0ZrYVc1bklpd2lkM0pwZEdsdVp5SXNJbU5zYjNObFpDSXNJbTl1SWl3aWRXNWtaV1pwYm1Wa0lpd2ljbVZoWkdGaWJHVWlMQ0ozY21sMFlXSnNaU0lzSW1SbGMzUnliM2xsWkNJc0ltUmxjM1J5YjNraUxDSmpZV3hzSWl3aVptNGlMQ0p3YVhCbElpd2labkp2YlNJc0luUnZJaXdpY0c5d1EyRnNiR0poWTJzaUxDSnpkSEpsWVcxeklpd2liR1Z1WjNSb0lpd2ljRzl3SWl3aWNHbHdaV3hwYm1VaUxDSmZiR1Z1SWl3aVFYSnlZWGtpTENKZmEyVjVJaXdpWlhKeWIzSWlMQ0pwYzBGeWNtRjVJaXdpWkdWemRISnZlWE1pTENKdFlYQWlMQ0pwSWl3aVptOXlSV0ZqYUNJc0luSmxaSFZqWlNJc0ltMXZaSFZzWlNJc0ltVjRjRzl5ZEhNaVhTd2liV0Z3Y0dsdVozTWlPaUpCUVVWQkxHRkJSVUVzU1VGQlNVRXNTVUZGU2l4VFFVRlRReXhMUVVGTFF5eEhRVU5hTEVsQlFVbERMRWRCUVZNc1JVRkRZaXhQUVVGUExGZEJRMFJCTEVsQlEwcEJMRWRCUVZNc1JVRkRWRVFzUlVGQlUwVXNWMEZCVFN4RlFVRlJReXhoUVVrelFpeEpRVUZKUXl4bFFVRnBRa01zVVVGQlVTeHRRa0ZCYlVKRExFMUJRelZEUXl4cFFrRkJiVUpJTEdWQlFXVkhMR2xDUVVOc1EwTXNjVUpCUVhWQ1NpeGxRVUZsU1N4eFFrRkZNVU1zVTBGQlUwTXNTMEZCUzBNc1IwRkZXaXhIUVVGSlFTeEZRVUZMTEUxQlFVMUJMRVZCUjJwQ0xGTkJRVk5ETEZWQlFWVkRMRWRCUTJwQ0xFOUJRVTlCTEVWQlFVOURMRmRCUVhGRExHMUNRVUZxUWtRc1JVRkJUMFVzVFVGSE0wTXNVMEZCVTBNc1ZVRkJWVWdzUlVGQlVVa3NSVUZCVTBNc1JVRkJVMnBDTEVkQlF6TkRRU3hGUVVGWFJDeExRVUZMUXl4SFFVTm9RaXhKUVVGSmEwSXNSMEZCVXl4RlFVTmlUaXhGUVVGUFR5eEhRVUZITEZGQlFWTXNWMEZEYWtKRUxFZEJRVk1zVTBGRlEwVXNTVUZCVW5SQ0xFMUJRVzFDUVN4SlFVRk5UeXhSUVVGUkxHOUNRVU55UTFBc1NVRkJTV01zUlVGQlVTeERRVU5XVXl4VFFVRlZUQ3hGUVVOV1RTeFRRVUZWVEN4SFFVTlVMRk5CUVZWUUxFZEJRMWdzUjBGQlNVRXNSVUZCU3l4UFFVRlBWaXhGUVVGVFZTeEhRVU42UWxFc1IwRkJVeXhGUVVOVWJFSXNUVUZGUml4SlFVRkpkVUlzUjBGQldTeEZRVU5vUWl4UFFVRlBMRk5CUVZWaUxFZEJRMllzU1VGQlNWRXNTVUZEUVVzc1JVRkhTaXhQUVVaQlFTeEhRVUZaTEVWQlJWSmFMRlZCUVZWRExFZEJRV2RDUVN4RlFVRlBSU3hSUVVOUUxHMUNRVUZ1UWtZc1JVRkJUMWtzVVVGQkswSmFMRVZCUVU5WkxHVkJRM2hFZUVJc1JVRkJVMVVzUjBGQlR5eEpRVUZKUml4eFFrRkJjVUlzVlVGSk4wTXNVMEZCVTJsQ0xFdEJRVXRETEVkQlExcEJMRWxCUjBZc1UwRkJVME1zUzBGQlMwTXNSVUZCVFVNc1IwRkRiRUlzVDBGQlQwUXNSVUZCUzBRc1MwRkJTMFVzUjBGSGJrSXNVMEZCVTBNc1dVRkJXVU1zUjBGRGJrSXNUMEZCUzBFc1JVRkJVVU1zVDBGRE9FSXNiVUpCUVdoRFJDeEZRVUZSUVN4RlFVRlJReXhQUVVGVExFZEJRVEJDZGtJc1MwRkRka1J6UWl4RlFVRlJSU3hOUVVaaGVFSXNTMEZMT1VJc1UwRkJVM2xDTEZkQlExQXNTVUZCU3l4SlFVRkpReXhGUVVGUGFFTXNWVUZCVlRaQ0xFOUJRVkZFTEVWQlFWVXNTVUZCU1Vzc1RVRkJUVVFzUjBGQlQwVXNSVUZCVHl4RlFVRkhRU3hGUVVGUFJpeEZRVUZOUlN4SlFVTnNSazRzUlVGQlVVMHNSMEZCVVd4RExGVkJRVlZyUXl4SFFVYzFRaXhKUVU5SlF5eEZRVkJCZEVNc1JVRkJWemhDTEZsQlFWbERMRWRCUnpOQ0xFZEJSa2xMTEUxQlFVMUhMRkZCUVZGU0xFVkJRVkVzVFVGQlMwRXNSVUZCVlVFc1JVRkJVU3hKUVVVM1EwRXNSVUZCVVVNc1QwRkJVeXhGUVVOdVFpeE5RVUZOTEVsQlFVbDZRaXhwUWtGQmFVSXNWMEZKTjBJc1NVRkJTV2xETEVWQlFWZFVMRVZCUVZGVkxFbEJRVWtzVTBGQlZUZENMRVZCUVZFNFFpeEhRVU16UXl4SlFVRkpNVUlzUlVGQlZUQkNMRVZCUVVsWUxFVkJRVkZETEU5QlFWTXNSVUZGYmtNc1QwRkJUMnBDTEZWQlFWVklMRVZCUVZGSkxFVkJSRmd3UWl4RlFVRkpMRVZCUTNsQ0xGTkJRVlZvUXl4SFFVTTVRelJDTEVsQlFVOUJMRVZCUVZFMVFpeEhRVU5vUWtFc1IwRkJTemhDTEVWQlFWTkhMRkZCUVZGc1FpeE5RVU4wUWxRc1NVRkRTbmRDTEVWQlFWTkhMRkZCUVZGc1FpeE5RVU5xUW5wQ0xFVkJRVk56UXl4UlFVZGlMRTlCUVU5UUxFVkJRVkZoTEU5QlFVOXFRaXhOUVVkNFFtdENMRTlCUVU5RExGRkJRVlZhSWl3aVptbHNaU0k2SWk5b2IyMWxMM3BwYm04dmNISnZhbVZqZEhNdmMyVmhkRzFoY0hZeUwyMWhjM1JsY2k5elpXRjBiV0Z3ZGpJdlkyeHBaVzUwTDI1dlpHVmZiVzlrZFd4bGN5OXpkSEpsWVcwdFluSnZkM05sY21sbWVTOXViMlJsWDIxdlpIVnNaWE12Y21WaFpHRmliR1V0YzNSeVpXRnRMMnhwWWk5cGJuUmxjbTVoYkM5emRISmxZVzF6TDNCcGNHVnNhVzVsTG1wekluMD0iLCJcInVzZSBzdHJpY3RcIjt2YXIgRVJSX0lOVkFMSURfT1BUX1ZBTFVFPXJlcXVpcmUoXCIuLi8uLi8uLi9lcnJvcnNcIikuY29kZXMuRVJSX0lOVkFMSURfT1BUX1ZBTFVFO2Z1bmN0aW9uIGhpZ2hXYXRlck1hcmtGcm9tKHIsZSx0KXtyZXR1cm4gbnVsbCE9ci5oaWdoV2F0ZXJNYXJrP3IuaGlnaFdhdGVyTWFyazplP3JbdF06bnVsbH1mdW5jdGlvbiBnZXRIaWdoV2F0ZXJNYXJrKHIsZSx0LGEpe3ZhciBpPWhpZ2hXYXRlck1hcmtGcm9tKGUsYSx0KTtpZihudWxsIT1pKXtpZighaXNGaW5pdGUoaSl8fE1hdGguZmxvb3IoaSkhPT1pfHxpPDApdGhyb3cgbmV3IEVSUl9JTlZBTElEX09QVF9WQUxVRShhP3Q6XCJoaWdoV2F0ZXJNYXJrXCIsaSk7cmV0dXJuIE1hdGguZmxvb3IoaSl9cmV0dXJuIHIub2JqZWN0TW9kZT8xNjoxNjM4NH1tb2R1bGUuZXhwb3J0cz17Z2V0SGlnaFdhdGVyTWFyazpnZXRIaWdoV2F0ZXJNYXJrfTtcblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYkluTjBZWFJsTG1weklsMHNJbTVoYldWeklqcGJJa1ZTVWw5SlRsWkJURWxFWDA5UVZGOVdRVXhWUlNJc0luSmxjWFZwY21VaUxDSmpiMlJsY3lJc0ltaHBaMmhYWVhSbGNrMWhjbXRHY205dElpd2liM0IwYVc5dWN5SXNJbWx6UkhWd2JHVjRJaXdpWkhWd2JHVjRTMlY1SWl3aWFHbG5hRmRoZEdWeVRXRnlheUlzSW1kbGRFaHBaMmhYWVhSbGNrMWhjbXNpTENKemRHRjBaU0lzSW1oM2JTSXNJbWx6Um1sdWFYUmxJaXdpVFdGMGFDSXNJbVpzYjI5eUlpd2liMkpxWldOMFRXOWtaU0lzSW0xdlpIVnNaU0lzSW1WNGNHOXlkSE1pWFN3aWJXRndjR2x1WjNNaU9pSkJRVUZCTEdGQlJVRXNTVUZCU1VFc2MwSkJRWGRDUXl4UlFVRlJMRzFDUVVGdFFrTXNUVUZCVFVZc2MwSkJSVGRFTEZOQlFWTkhMR3RDUVVGclFrTXNSVUZCVTBNc1JVRkJWVU1zUjBGRE5VTXNUMEZCWjBNc1RVRkJla0pHTEVWQlFWRkhMR05CUVhkQ1NDeEZRVUZSUnl4alFVRm5Ra1lzUlVGQlYwUXNSVUZCVVVVc1IwRkJZU3hMUVVkcVJ5eFRRVUZUUlN4cFFrRkJhVUpETEVWQlFVOU1MRVZCUVZORkxFVkJRVmRFTEVkQlEyNUVMRWxCUVVsTExFVkJRVTFRTEd0Q1FVRnJRa01zUlVGQlUwTXNSVUZCVlVNc1IwRkZMME1zUjBGQlZ5eE5RVUZRU1N4RlFVRmhMRU5CUTJZc1NVRkJUVU1zVTBGQlUwUXNTVUZCVVVVc1MwRkJTME1zVFVGQlRVZ3NTMEZCVTBFc1IwRkJVVUVzUlVGQlRTeEZRVVYyUkN4TlFVRk5MRWxCUVVsV0xITkNRVVJEU3l4RlFVRlhReXhGUVVGWkxHZENRVU5KU1N4SFFVZDRReXhQUVVGUFJTeExRVUZMUXl4TlFVRk5TQ3hIUVVsd1FpeFBRVUZQUkN4RlFVRk5TeXhYUVVGaExFZEJRVXNzVFVGSGFrTkRMRTlCUVU5RExGRkJRVlVzUTBGRFpsSXNhVUpCUVd0Q1FTSXNJbVpwYkdVaU9pSXZhRzl0WlM5NmFXNXZMM0J5YjJwbFkzUnpMM05sWVhSdFlYQjJNaTl0WVhOMFpYSXZjMlZoZEcxaGNIWXlMMk5zYVdWdWRDOXViMlJsWDIxdlpIVnNaWE12YzNSeVpXRnRMV0p5YjNkelpYSnBabmt2Ym05a1pWOXRiMlIxYkdWekwzSmxZV1JoWW14bExYTjBjbVZoYlM5c2FXSXZhVzUwWlhKdVlXd3ZjM1J5WldGdGN5OXpkR0YwWlM1cWN5SjkiLCJtb2R1bGUuZXhwb3J0cz1yZXF1aXJlKFwiZXZlbnRzXCIpLkV2ZW50RW1pdHRlcjtcblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYkluTjBjbVZoYlMxaWNtOTNjMlZ5TG1weklsMHNJbTVoYldWeklqcGJJbTF2WkhWc1pTSXNJbVY0Y0c5eWRITWlMQ0p5WlhGMWFYSmxJaXdpUlhabGJuUkZiV2wwZEdWeUlsMHNJbTFoY0hCcGJtZHpJam9pUVVGQlFVRXNUMEZCVDBNc1VVRkJWVU1zVVVGQlVTeFZRVUZWUXlJc0ltWnBiR1VpT2lJdmFHOXRaUzk2YVc1dkwzQnliMnBsWTNSekwzTmxZWFJ0WVhCMk1pOXRZWE4wWlhJdmMyVmhkRzFoY0hZeUwyTnNhV1Z1ZEM5dWIyUmxYMjF2WkhWc1pYTXZjM1J5WldGdExXSnliM2R6WlhKcFpua3ZibTlrWlY5dGIyUjFiR1Z6TDNKbFlXUmhZbXhsTFhOMGNtVmhiUzlzYVdJdmFXNTBaWEp1WVd3dmMzUnlaV0Z0Y3k5emRISmxZVzB0WW5KdmQzTmxjaTVxY3lKOSIsIlwidXNlIHN0cmljdFwiO3ZhciBCdWZmZXI9cmVxdWlyZShcInNhZmUtYnVmZmVyXCIpLkJ1ZmZlcixpc0VuY29kaW5nPUJ1ZmZlci5pc0VuY29kaW5nfHxmdW5jdGlvbih0KXtzd2l0Y2goKHQ9XCJcIit0KSYmdC50b0xvd2VyQ2FzZSgpKXtjYXNlXCJoZXhcIjpjYXNlXCJ1dGY4XCI6Y2FzZVwidXRmLThcIjpjYXNlXCJhc2NpaVwiOmNhc2VcImJpbmFyeVwiOmNhc2VcImJhc2U2NFwiOmNhc2VcInVjczJcIjpjYXNlXCJ1Y3MtMlwiOmNhc2VcInV0ZjE2bGVcIjpjYXNlXCJ1dGYtMTZsZVwiOmNhc2VcInJhd1wiOnJldHVybiEwO2RlZmF1bHQ6cmV0dXJuITF9fTtmdW5jdGlvbiBfbm9ybWFsaXplRW5jb2RpbmcodCl7aWYoIXQpcmV0dXJuXCJ1dGY4XCI7Zm9yKHZhciBlOzspc3dpdGNoKHQpe2Nhc2VcInV0ZjhcIjpjYXNlXCJ1dGYtOFwiOnJldHVyblwidXRmOFwiO2Nhc2VcInVjczJcIjpjYXNlXCJ1Y3MtMlwiOmNhc2VcInV0ZjE2bGVcIjpjYXNlXCJ1dGYtMTZsZVwiOnJldHVyblwidXRmMTZsZVwiO2Nhc2VcImxhdGluMVwiOmNhc2VcImJpbmFyeVwiOnJldHVyblwibGF0aW4xXCI7Y2FzZVwiYmFzZTY0XCI6Y2FzZVwiYXNjaWlcIjpjYXNlXCJoZXhcIjpyZXR1cm4gdDtkZWZhdWx0OmlmKGUpcmV0dXJuO3Q9KFwiXCIrdCkudG9Mb3dlckNhc2UoKSxlPSEwfX1mdW5jdGlvbiBub3JtYWxpemVFbmNvZGluZyh0KXt2YXIgZT1fbm9ybWFsaXplRW5jb2RpbmcodCk7aWYoXCJzdHJpbmdcIiE9dHlwZW9mIGUmJihCdWZmZXIuaXNFbmNvZGluZz09PWlzRW5jb2Rpbmd8fCFpc0VuY29kaW5nKHQpKSl0aHJvdyBuZXcgRXJyb3IoXCJVbmtub3duIGVuY29kaW5nOiBcIit0KTtyZXR1cm4gZXx8dH1mdW5jdGlvbiBTdHJpbmdEZWNvZGVyKHQpe3ZhciBlO3N3aXRjaCh0aGlzLmVuY29kaW5nPW5vcm1hbGl6ZUVuY29kaW5nKHQpLHRoaXMuZW5jb2Rpbmcpe2Nhc2VcInV0ZjE2bGVcIjp0aGlzLnRleHQ9dXRmMTZUZXh0LHRoaXMuZW5kPXV0ZjE2RW5kLGU9NDticmVhaztjYXNlXCJ1dGY4XCI6dGhpcy5maWxsTGFzdD11dGY4RmlsbExhc3QsZT00O2JyZWFrO2Nhc2VcImJhc2U2NFwiOnRoaXMudGV4dD1iYXNlNjRUZXh0LHRoaXMuZW5kPWJhc2U2NEVuZCxlPTM7YnJlYWs7ZGVmYXVsdDpyZXR1cm4gdGhpcy53cml0ZT1zaW1wbGVXcml0ZSx2b2lkKHRoaXMuZW5kPXNpbXBsZUVuZCl9dGhpcy5sYXN0TmVlZD0wLHRoaXMubGFzdFRvdGFsPTAsdGhpcy5sYXN0Q2hhcj1CdWZmZXIuYWxsb2NVbnNhZmUoZSl9ZnVuY3Rpb24gdXRmOENoZWNrQnl0ZSh0KXtyZXR1cm4gdDw9MTI3PzA6dD4+NT09Nj8yOnQ+PjQ9PTE0PzM6dD4+Mz09MzA/NDp0Pj42PT0yPy0xOi0yfWZ1bmN0aW9uIHV0ZjhDaGVja0luY29tcGxldGUodCxlLHMpe3ZhciBpPWUubGVuZ3RoLTE7aWYoaTxzKXJldHVybiAwO3ZhciBuPXV0ZjhDaGVja0J5dGUoZVtpXSk7cmV0dXJuIG4+PTA/KG4+MCYmKHQubGFzdE5lZWQ9bi0xKSxuKTotLWk8c3x8LTI9PT1uPzA6KG49dXRmOENoZWNrQnl0ZShlW2ldKSk+PTA/KG4+MCYmKHQubGFzdE5lZWQ9bi0yKSxuKTotLWk8c3x8LTI9PT1uPzA6KG49dXRmOENoZWNrQnl0ZShlW2ldKSk+PTA/KG4+MCYmKDI9PT1uP249MDp0Lmxhc3ROZWVkPW4tMyksbik6MH1mdW5jdGlvbiB1dGY4Q2hlY2tFeHRyYUJ5dGVzKHQsZSxzKXtpZigxMjghPSgxOTImZVswXSkpcmV0dXJuIHQubGFzdE5lZWQ9MCxcIu+/vVwiO2lmKHQubGFzdE5lZWQ+MSYmZS5sZW5ndGg+MSl7aWYoMTI4IT0oMTkyJmVbMV0pKXJldHVybiB0Lmxhc3ROZWVkPTEsXCLvv71cIjtpZih0Lmxhc3ROZWVkPjImJmUubGVuZ3RoPjImJjEyOCE9KDE5MiZlWzJdKSlyZXR1cm4gdC5sYXN0TmVlZD0yLFwi77+9XCJ9fWZ1bmN0aW9uIHV0ZjhGaWxsTGFzdCh0KXt2YXIgZT10aGlzLmxhc3RUb3RhbC10aGlzLmxhc3ROZWVkLHM9dXRmOENoZWNrRXh0cmFCeXRlcyh0aGlzLHQsZSk7cmV0dXJuIHZvaWQgMCE9PXM/czp0aGlzLmxhc3ROZWVkPD10Lmxlbmd0aD8odC5jb3B5KHRoaXMubGFzdENoYXIsZSwwLHRoaXMubGFzdE5lZWQpLHRoaXMubGFzdENoYXIudG9TdHJpbmcodGhpcy5lbmNvZGluZywwLHRoaXMubGFzdFRvdGFsKSk6KHQuY29weSh0aGlzLmxhc3RDaGFyLGUsMCx0Lmxlbmd0aCksdm9pZCh0aGlzLmxhc3ROZWVkLT10Lmxlbmd0aCkpfWZ1bmN0aW9uIHV0ZjhUZXh0KHQsZSl7dmFyIHM9dXRmOENoZWNrSW5jb21wbGV0ZSh0aGlzLHQsZSk7aWYoIXRoaXMubGFzdE5lZWQpcmV0dXJuIHQudG9TdHJpbmcoXCJ1dGY4XCIsZSk7dGhpcy5sYXN0VG90YWw9czt2YXIgaT10Lmxlbmd0aC0ocy10aGlzLmxhc3ROZWVkKTtyZXR1cm4gdC5jb3B5KHRoaXMubGFzdENoYXIsMCxpKSx0LnRvU3RyaW5nKFwidXRmOFwiLGUsaSl9ZnVuY3Rpb24gdXRmOEVuZCh0KXt2YXIgZT10JiZ0Lmxlbmd0aD90aGlzLndyaXRlKHQpOlwiXCI7cmV0dXJuIHRoaXMubGFzdE5lZWQ/ZStcIu+/vVwiOmV9ZnVuY3Rpb24gdXRmMTZUZXh0KHQsZSl7aWYoKHQubGVuZ3RoLWUpJTI9PTApe3ZhciBzPXQudG9TdHJpbmcoXCJ1dGYxNmxlXCIsZSk7aWYocyl7dmFyIGk9cy5jaGFyQ29kZUF0KHMubGVuZ3RoLTEpO2lmKGk+PTU1Mjk2JiZpPD01NjMxOSlyZXR1cm4gdGhpcy5sYXN0TmVlZD0yLHRoaXMubGFzdFRvdGFsPTQsdGhpcy5sYXN0Q2hhclswXT10W3QubGVuZ3RoLTJdLHRoaXMubGFzdENoYXJbMV09dFt0Lmxlbmd0aC0xXSxzLnNsaWNlKDAsLTEpfXJldHVybiBzfXJldHVybiB0aGlzLmxhc3ROZWVkPTEsdGhpcy5sYXN0VG90YWw9Mix0aGlzLmxhc3RDaGFyWzBdPXRbdC5sZW5ndGgtMV0sdC50b1N0cmluZyhcInV0ZjE2bGVcIixlLHQubGVuZ3RoLTEpfWZ1bmN0aW9uIHV0ZjE2RW5kKHQpe3ZhciBlPXQmJnQubGVuZ3RoP3RoaXMud3JpdGUodCk6XCJcIjtpZih0aGlzLmxhc3ROZWVkKXt2YXIgcz10aGlzLmxhc3RUb3RhbC10aGlzLmxhc3ROZWVkO3JldHVybiBlK3RoaXMubGFzdENoYXIudG9TdHJpbmcoXCJ1dGYxNmxlXCIsMCxzKX1yZXR1cm4gZX1mdW5jdGlvbiBiYXNlNjRUZXh0KHQsZSl7dmFyIHM9KHQubGVuZ3RoLWUpJTM7cmV0dXJuIDA9PT1zP3QudG9TdHJpbmcoXCJiYXNlNjRcIixlKToodGhpcy5sYXN0TmVlZD0zLXMsdGhpcy5sYXN0VG90YWw9MywxPT09cz90aGlzLmxhc3RDaGFyWzBdPXRbdC5sZW5ndGgtMV06KHRoaXMubGFzdENoYXJbMF09dFt0Lmxlbmd0aC0yXSx0aGlzLmxhc3RDaGFyWzFdPXRbdC5sZW5ndGgtMV0pLHQudG9TdHJpbmcoXCJiYXNlNjRcIixlLHQubGVuZ3RoLXMpKX1mdW5jdGlvbiBiYXNlNjRFbmQodCl7dmFyIGU9dCYmdC5sZW5ndGg/dGhpcy53cml0ZSh0KTpcIlwiO3JldHVybiB0aGlzLmxhc3ROZWVkP2UrdGhpcy5sYXN0Q2hhci50b1N0cmluZyhcImJhc2U2NFwiLDAsMy10aGlzLmxhc3ROZWVkKTplfWZ1bmN0aW9uIHNpbXBsZVdyaXRlKHQpe3JldHVybiB0LnRvU3RyaW5nKHRoaXMuZW5jb2RpbmcpfWZ1bmN0aW9uIHNpbXBsZUVuZCh0KXtyZXR1cm4gdCYmdC5sZW5ndGg/dGhpcy53cml0ZSh0KTpcIlwifWV4cG9ydHMuU3RyaW5nRGVjb2Rlcj1TdHJpbmdEZWNvZGVyLFN0cmluZ0RlY29kZXIucHJvdG90eXBlLndyaXRlPWZ1bmN0aW9uKHQpe2lmKDA9PT10Lmxlbmd0aClyZXR1cm5cIlwiO3ZhciBlLHM7aWYodGhpcy5sYXN0TmVlZCl7aWYodm9pZCAwPT09KGU9dGhpcy5maWxsTGFzdCh0KSkpcmV0dXJuXCJcIjtzPXRoaXMubGFzdE5lZWQsdGhpcy5sYXN0TmVlZD0wfWVsc2Ugcz0wO3JldHVybiBzPHQubGVuZ3RoP2U/ZSt0aGlzLnRleHQodCxzKTp0aGlzLnRleHQodCxzKTplfHxcIlwifSxTdHJpbmdEZWNvZGVyLnByb3RvdHlwZS5lbmQ9dXRmOEVuZCxTdHJpbmdEZWNvZGVyLnByb3RvdHlwZS50ZXh0PXV0ZjhUZXh0LFN0cmluZ0RlY29kZXIucHJvdG90eXBlLmZpbGxMYXN0PWZ1bmN0aW9uKHQpe2lmKHRoaXMubGFzdE5lZWQ8PXQubGVuZ3RoKXJldHVybiB0LmNvcHkodGhpcy5sYXN0Q2hhcix0aGlzLmxhc3RUb3RhbC10aGlzLmxhc3ROZWVkLDAsdGhpcy5sYXN0TmVlZCksdGhpcy5sYXN0Q2hhci50b1N0cmluZyh0aGlzLmVuY29kaW5nLDAsdGhpcy5sYXN0VG90YWwpO3QuY29weSh0aGlzLmxhc3RDaGFyLHRoaXMubGFzdFRvdGFsLXRoaXMubGFzdE5lZWQsMCx0Lmxlbmd0aCksdGhpcy5sYXN0TmVlZC09dC5sZW5ndGh9O1xuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSW5OMGNtbHVaMTlrWldOdlpHVnlMbXB6SWwwc0ltNWhiV1Z6SWpwYklrSjFabVpsY2lJc0luSmxjWFZwY21VaUxDSnBjMFZ1WTI5a2FXNW5JaXdpWlc1amIyUnBibWNpTENKMGIweHZkMlZ5UTJGelpTSXNJbDl1YjNKdFlXeHBlbVZGYm1OdlpHbHVaeUlzSW1WdVl5SXNJbkpsZEhKcFpXUWlMQ0p1YjNKdFlXeHBlbVZGYm1OdlpHbHVaeUlzSW01bGJtTWlMQ0pGY25KdmNpSXNJbE4wY21sdVowUmxZMjlrWlhJaUxDSnVZaUlzSW5Sb2FYTWlMQ0owWlhoMElpd2lkWFJtTVRaVVpYaDBJaXdpWlc1a0lpd2lkWFJtTVRaRmJtUWlMQ0ptYVd4c1RHRnpkQ0lzSW5WMFpqaEdhV3hzVEdGemRDSXNJbUpoYzJVMk5GUmxlSFFpTENKaVlYTmxOalJGYm1RaUxDSjNjbWwwWlNJc0luTnBiWEJzWlZkeWFYUmxJaXdpYzJsdGNHeGxSVzVrSWl3aWJHRnpkRTVsWldRaUxDSnNZWE4wVkc5MFlXd2lMQ0pzWVhOMFEyaGhjaUlzSW1Gc2JHOWpWVzV6WVdabElpd2lkWFJtT0VOb1pXTnJRbmwwWlNJc0ltSjVkR1VpTENKMWRHWTRRMmhsWTJ0SmJtTnZiWEJzWlhSbElpd2ljMlZzWmlJc0ltSjFaaUlzSW1raUxDSnFJaXdpYkdWdVozUm9JaXdpZFhSbU9FTm9aV05yUlhoMGNtRkNlWFJsY3lJc0luQWlMQ0p5SWl3aWRXNWtaV1pwYm1Wa0lpd2lZMjl3ZVNJc0luUnZVM1J5YVc1bklpd2lkWFJtT0ZSbGVIUWlMQ0owYjNSaGJDSXNJblYwWmpoRmJtUWlMQ0pqSWl3aVkyaGhja052WkdWQmRDSXNJbk5zYVdObElpd2liaUlzSW1WNGNHOXlkSE1pTENKd2NtOTBiM1I1Y0dVaVhTd2liV0Z3Y0dsdVozTWlPaUpCUVhGQ1FTeGhRVWxCTEVsQlFVbEJMRTlCUVZORExGRkJRVkVzWlVGQlpVUXNUMEZIYUVORkxGZEJRV0ZHTEU5QlFVOUZMRmxCUVdNc1UwRkJWVU1zUjBGRk9VTXNVVUZFUVVFc1JVRkJWeXhIUVVGTFFTeEpRVU5KUVN4RlFVRlRReXhsUVVNelFpeEpRVUZMTEUxQlFVMHNTVUZCU3l4UFFVRlBMRWxCUVVzc1VVRkJVU3hKUVVGTExGRkJRVkVzU1VGQlN5eFRRVUZUTEVsQlFVc3NVMEZCVXl4SlFVRkxMRTlCUVU4c1NVRkJTeXhSUVVGUkxFbEJRVXNzVlVGQlZTeEpRVUZMTEZkQlFWY3NTVUZCU3l4TlFVTjRTU3hQUVVGUExFVkJRMVFzVVVGRFJTeFBRVUZQTEVsQlNXSXNVMEZCVTBNc2JVSkJRVzFDUXl4SFFVTXhRaXhKUVVGTFFTeEZRVUZMTEUxQlFVOHNUMEZGYWtJc1NVRkVRU3hKUVVGSlF5eEpRVVZHTEU5QlFWRkVMRWRCUTA0c1NVRkJTeXhQUVVOTUxFbEJRVXNzVVVGRFNDeE5RVUZQTEU5QlExUXNTVUZCU3l4UFFVTk1MRWxCUVVzc1VVRkRUQ3hKUVVGTExGVkJRMHdzU1VGQlN5eFhRVU5JTEUxQlFVOHNWVUZEVkN4SlFVRkxMRk5CUTB3c1NVRkJTeXhUUVVOSUxFMUJRVThzVTBGRFZDeEpRVUZMTEZOQlEwd3NTVUZCU3l4UlFVTk1MRWxCUVVzc1RVRkRTQ3hQUVVGUFFTeEZRVU5VTEZGQlEwVXNSMEZCU1VNc1JVRkJVeXhQUVVOaVJDeEhRVUZQTEVkQlFVdEJMRWRCUVV0R0xHTkJRMnBDUnl4SFFVRlZMRWRCVDJ4Q0xGTkJRVk5ETEd0Q1FVRnJRa1lzUjBGRGVrSXNTVUZCU1Vjc1JVRkJUMG9zYlVKQlFXMUNReXhIUVVNNVFpeEhRVUZ2UWl4cFFrRkJWRWNzU1VGQmMwSlVMRTlCUVU5RkxHRkJRV1ZCTEdGQlFXVkJMRmRCUVZkSkxFbEJRVThzVFVGQlRTeEpRVUZKU1N4TlFVRk5MSEZDUVVGMVFrb3NSMEZETDBnc1QwRkJUMGNzUjBGQlVVZ3NSVUZQYWtJc1UwRkJVMHNzWTBGQlkxSXNSMEZGY2tJc1NVRkJTVk1zUlVGRFNpeFBRVVpCUXl4TFFVRkxWaXhUUVVGWFN5eHJRa0ZCYTBKTUxFZEJSVEZDVlN4TFFVRkxWaXhWUVVOWUxFbEJRVXNzVlVGRFNGVXNTMEZCUzBNc1MwRkJUME1zVlVGRFdrWXNTMEZCUzBjc1NVRkJUVU1zVTBGRFdFd3NSVUZCU3l4RlFVTk1MRTFCUTBZc1NVRkJTeXhQUVVOSVF5eExRVUZMU3l4VFFVRlhReXhoUVVOb1FsQXNSVUZCU3l4RlFVTk1MRTFCUTBZc1NVRkJTeXhUUVVOSVF5eExRVUZMUXl4TFFVRlBUU3hYUVVOYVVDeExRVUZMUnl4SlFVRk5TeXhWUVVOWVZDeEZRVUZMTEVWQlEwd3NUVUZEUml4UlFVZEZMRTlCUmtGRExFdEJRVXRUTEUxQlFWRkRMR2xDUVVOaVZpeExRVUZMUnl4SlFVRk5VU3hYUVVkbVdDeExRVUZMV1N4VFFVRlhMRVZCUTJoQ1dpeExRVUZMWVN4VlFVRlpMRVZCUTJwQ1lpeExRVUZMWXl4VFFVRlhNMElzVDBGQlR6UkNMRmxCUVZsb1FpeEhRVzlEY2tNc1UwRkJVMmxDTEdOQlFXTkRMRWRCUTNKQ0xFOUJRVWxCTEVkQlFWRXNTVUZCWVN4RlFVRlhRU3hIUVVGUkxFZEJRVTBzUlVGQllTeEZRVUZYUVN4SFFVRlJMRWRCUVUwc1IwRkJZU3hGUVVGWFFTeEhRVUZSTEVkQlFVMHNSMEZCWVN4RlFVTndTVUVzUjBGQlVTeEhRVUZOTEVkQlFWRXNSMEZCU3l4RlFVMXdReXhUUVVGVFF5eHZRa0ZCYjBKRExFVkJRVTFETEVWQlFVdERMRWRCUTNSRExFbEJRVWxETEVWQlFVbEdMRVZCUVVsSExFOUJRVk1zUlVGRGNrSXNSMEZCU1VRc1JVRkJTVVFzUlVGQlJ5eFBRVUZQTEVWQlEyeENMRWxCUVVsMFFpeEZRVUZMYVVJc1kwRkJZMGtzUlVGQlNVVXNTVUZETTBJc1QwRkJTWFpDTEVkQlFVMHNSMEZEU2tFc1JVRkJTeXhKUVVGSGIwSXNSVUZCUzFBc1UwRkJWMklzUlVGQlN5eEhRVU14UWtFc1MwRkZTSFZDTEVWQlFVbEVMRWxCUVdFc1NVRkJVblJDTEVWQlFXdENMRWRCUTJwRFFTeEZRVUZMYVVJc1kwRkJZMGtzUlVGQlNVVXNUVUZEWWl4SFFVTktka0lzUlVGQlN5eEpRVUZIYjBJc1JVRkJTMUFzVTBGQlYySXNSVUZCU3l4SFFVTXhRa0VzUzBGRlNIVkNMRVZCUVVsRUxFbEJRV0VzU1VGQlVuUkNMRVZCUVd0Q0xFZEJRMnBEUVN4RlFVRkxhVUlzWTBGQlkwa3NSVUZCU1VVc1RVRkRZaXhIUVVOS2RrSXNSVUZCU3l4SlFVTkpMRWxCUVZCQkxFVkJRVlZCTEVWQlFVc3NSVUZCVDI5Q0xFVkJRVXRRTEZOQlFWZGlMRVZCUVVzc1IwRkZNVU5CTEVkQlJVWXNSVUZYVkN4VFFVRlRlVUlzYjBKQlFXOUNUQ3hGUVVGTlF5eEZRVUZMU3l4SFFVTjBReXhIUVVGM1FpeE5RVUZXTEVsQlFWUk1MRVZCUVVrc1NVRkZVQ3hQUVVSQlJDeEZRVUZMVUN4VFFVRlhMRVZCUTFRc1NVRkZWQ3hIUVVGSlR5eEZRVUZMVUN4VFFVRlhMRWRCUVV0UkxFVkJRVWxITEU5QlFWTXNSVUZCUnl4RFFVTjJReXhIUVVGM1FpeE5RVUZXTEVsQlFWUklMRVZCUVVrc1NVRkZVQ3hQUVVSQlJDeEZRVUZMVUN4VFFVRlhMRVZCUTFRc1NVRkZWQ3hIUVVGSlR5eEZRVUZMVUN4VFFVRlhMRWRCUVV0UkxFVkJRVWxITEU5QlFWTXNSMEZEV2l4TlFVRldMRWxCUVZSSUxFVkJRVWtzU1VGRlVDeFBRVVJCUkN4RlFVRkxVQ3hUUVVGWExFVkJRMVFzUzBGUFppeFRRVUZUVGl4aFFVRmhZeXhIUVVOd1FpeEpRVUZKU3l4RlFVRkpla0lzUzBGQlMyRXNWVUZCV1dJc1MwRkJTMWtzVTBGRE1VSmpMRVZCUVVsR0xHOUNRVUZ2UW5oQ0xFdEJRVTF2UWl4RlFVRkxTeXhIUVVOMlF5eFpRVUZWUlN4SlFVRk9SQ3hGUVVGM1FrRXNSVUZEZUVJeFFpeExRVUZMV1N4VlFVRlpVU3hGUVVGSlJ5eFJRVU4yUWtnc1JVRkJTVkVzUzBGQlN6VkNMRXRCUVV0akxGTkJRVlZYTEVWQlFVY3NSVUZCUjNwQ0xFdEJRVXRaTEZWQlF6VkNXaXhMUVVGTFl5eFRRVUZUWlN4VFFVRlROMElzUzBGQlMxWXNVMEZCVlN4RlFVRkhWU3hMUVVGTFlTeGhRVVYyUkU4c1JVRkJTVkVzUzBGQlN6VkNMRXRCUVV0akxGTkJRVlZYTEVWQlFVY3NSVUZCUjB3c1JVRkJTVWNzWVVGRGJFTjJRaXhMUVVGTFdTeFZRVUZaVVN4RlFVRkpSeXhUUVUxMlFpeFRRVUZUVHl4VFFVRlRWaXhGUVVGTFF5eEhRVU55UWl4SlFVRkpWU3hGUVVGUllpeHZRa0ZCYjBKc1FpeExRVUZOYjBJc1JVRkJTME1zUjBGRE0wTXNTVUZCUzNKQ0xFdEJRVXRaTEZOQlFWVXNUMEZCVDFFc1JVRkJTVk1zVTBGQlV5eFBRVUZSVWl4SFFVTm9SSEpDTEV0QlFVdGhMRlZCUVZsclFpeEZRVU5xUWl4SlFVRkpOVUlzUlVGQlRXbENMRVZCUVVsSExGRkJRVlZSTEVWQlFWRXZRaXhMUVVGTFdTeFZRVVZ5UXl4UFFVUkJVU3hGUVVGSlVTeExRVUZMTlVJc1MwRkJTMk1zVTBGQlZTeEZRVUZIV0N4SFFVTndRbWxDTEVWQlFVbFRMRk5CUVZNc1QwRkJVVklzUlVGQlIyeENMRWRCUzJwRExGTkJRVk0yUWl4UlFVRlJXaXhIUVVObUxFbEJRVWxOTEVWQlFVbE9MRWRCUVU5QkxFVkJRVWxITEU5QlFWTjJRaXhMUVVGTFV5eE5RVUZOVnl4SFFVRlBMRWRCUXpsRExFOUJRVWx3UWl4TFFVRkxXU3hUUVVGcFFtTXNSVUZCU1N4SlFVTjJRa0VzUlVGUFZDeFRRVUZUZUVJc1ZVRkJWV3RDTEVWQlFVdERMRWRCUTNSQ0xFbEJRVXRFTEVWQlFVbEhMRTlCUVZOR0xFZEJRVXNzUjBGQlRTeEZRVUZITEVOQlF6bENMRWxCUVVsTExFVkJRVWxPTEVWQlFVbFRMRk5CUVZNc1ZVRkJWMUlzUjBGRGFFTXNSMEZCU1Vzc1JVRkJSeXhEUVVOTUxFbEJRVWxQTEVWQlFVbFFMRVZCUVVWUkxGZEJRVmRTTEVWQlFVVklMRTlCUVZNc1IwRkRhRU1zUjBGQlNWVXNSMEZCU3l4UFFVRlZRU3hIUVVGTExFMUJTM1JDTEU5QlNrRnFReXhMUVVGTFdTeFRRVUZYTEVWQlEyaENXaXhMUVVGTFlTeFZRVUZaTEVWQlEycENZaXhMUVVGTFl5eFRRVUZUTEVkQlFVdE5MRVZCUVVsQkxFVkJRVWxITEU5QlFWTXNSMEZEY0VOMlFpeExRVUZMWXl4VFFVRlRMRWRCUVV0TkxFVkJRVWxCTEVWQlFVbEhMRTlCUVZNc1IwRkROMEpITEVWQlFVVlRMRTFCUVUwc1IwRkJTU3hIUVVkMlFpeFBRVUZQVkN4RlFVdFVMRTlCU0VFeFFpeExRVUZMV1N4VFFVRlhMRVZCUTJoQ1dpeExRVUZMWVN4VlFVRlpMRVZCUTJwQ1lpeExRVUZMWXl4VFFVRlRMRWRCUVV0TkxFVkJRVWxCTEVWQlFVbEhMRTlCUVZNc1IwRkROMEpJTEVWQlFVbFRMRk5CUVZNc1ZVRkJWMUlzUlVGQlIwUXNSVUZCU1Vjc1QwRkJVeXhIUVV0cVJDeFRRVUZUYmtJc1UwRkJVMmRDTEVkQlEyaENMRWxCUVVsTkxFVkJRVWxPTEVkQlFVOUJMRVZCUVVsSExFOUJRVk4yUWl4TFFVRkxVeXhOUVVGTlZ5eEhRVUZQTEVkQlF6bERMRWRCUVVsd1FpeExRVUZMV1N4VFFVRlZMRU5CUTJwQ0xFbEJRVWxVTEVWQlFVMUlMRXRCUVV0aExGVkJRVmxpTEV0QlFVdFpMRk5CUTJoRExFOUJRVTlqTEVWQlFVa3hRaXhMUVVGTFl5eFRRVUZUWlN4VFFVRlRMRlZCUVZjc1JVRkJSekZDTEVkQlJXeEVMRTlCUVU5MVFpeEZRVWRVTEZOQlFWTnVRaXhYUVVGWFlTeEZRVUZMUXl4SFFVTjJRaXhKUVVGSlpTeEhRVUZMYUVJc1JVRkJTVWNzVDBGQlUwWXNSMEZCU3l4RlFVTXpRaXhQUVVGVkxFbEJRVTVsTEVWQlFXZENhRUlzUlVGQlNWTXNVMEZCVXl4VFFVRlZVaXhKUVVNelEzSkNMRXRCUVV0WkxGTkJRVmNzUlVGQlNYZENMRVZCUTNCQ2NFTXNTMEZCUzJFc1ZVRkJXU3hGUVVOUUxFbEJRVTUxUWl4RlFVTkdjRU1zUzBGQlMyTXNVMEZCVXl4SFFVRkxUU3hGUVVGSlFTeEZRVUZKUnl4UFFVRlRMRWxCUlhCRGRrSXNTMEZCUzJNc1UwRkJVeXhIUVVGTFRTeEZRVUZKUVN4RlFVRkpSeXhQUVVGVExFZEJRM0JEZGtJc1MwRkJTMk1zVTBGQlV5eEhRVUZMVFN4RlFVRkpRU3hGUVVGSlJ5eFBRVUZUTEVsQlJTOUNTQ3hGUVVGSlV5eFRRVUZUTEZOQlFWVlNMRVZCUVVkRUxFVkJRVWxITEU5QlFWTmhMRWxCUjJoRUxGTkJRVk0xUWl4VlFVRlZXU3hIUVVOcVFpeEpRVUZKVFN4RlFVRkpUaXhIUVVGUFFTeEZRVUZKUnl4UFFVRlRka0lzUzBGQlMxTXNUVUZCVFZjc1IwRkJUeXhIUVVNNVF5eFBRVUZKY0VJc1MwRkJTMWtzVTBGQmFVSmpMRVZCUVVreFFpeExRVUZMWXl4VFFVRlRaU3hUUVVGVExGTkJRVlVzUlVGQlJ5eEZRVUZKTjBJc1MwRkJTMWtzVlVGRGNFVmpMRVZCU1ZRc1UwRkJVMmhDTEZsQlFWbFZMRWRCUTI1Q0xFOUJRVTlCTEVWQlFVbFRMRk5CUVZNM1FpeExRVUZMVml4VlFVY3pRaXhUUVVGVGNVSXNWVUZCVlZNc1IwRkRha0lzVDBGQlQwRXNSMEZCVDBFc1JVRkJTVWNzVDBGQlUzWkNMRXRCUVV0VExFMUJRVTFYTEVkQlFVOHNSMEY2VGk5RGFVSXNVVUZCVVhaRExHTkJRV2RDUVN4alFUWkNlRUpCTEdOQlFXTjNReXhWUVVGVk4wSXNUVUZCVVN4VFFVRlZWeXhIUVVONFF5eEhRVUZ0UWl4SlFVRm1RU3hGUVVGSlJ5eFBRVUZqTEUxQlFVOHNSMEZETjBJc1NVRkJTVWNzUlVGRFFVd3NSVUZEU2l4SFFVRkpja0lzUzBGQlMxa3NVMEZCVlN4RFFVVnFRaXhSUVVGVlpTeExRVVJXUkN4RlFVRkpNVUlzUzBGQlMwc3NVMEZCVTJVc1NVRkRSeXhOUVVGUExFZEJRelZDUXl4RlFVRkpja0lzUzBGQlMxa3NVMEZEVkZvc1MwRkJTMWtzVTBGQlZ5eFBRVVZvUWxNc1JVRkJTU3hGUVVWT0xFOUJRVWxCTEVWQlFVbEVMRVZCUVVsSExFOUJRV1ZITEVWQlFVbEJMRVZCUVVreFFpeExRVUZMUXl4TFFVRkxiVUlzUlVGQlMwTXNSMEZCUzNKQ0xFdEJRVXRETEV0QlFVdHRRaXhGUVVGTFF5eEhRVU12UkVzc1IwRkJTeXhKUVVka05VSXNZMEZCWTNkRExGVkJRVlZ1UXl4SlFVRk5Oa0lzVVVGSE9VSnNReXhqUVVGamQwTXNWVUZCVlhKRExFdEJRVTgyUWl4VFFVY3ZRbWhETEdOQlFXTjNReXhWUVVGVmFrTXNVMEZCVnl4VFFVRlZaU3hIUVVNelF5eEhRVUZKY0VJc1MwRkJTMWtzVlVGQldWRXNSVUZCU1Vjc1QwRkZka0lzVDBGRVFVZ3NSVUZCU1ZFc1MwRkJTelZDTEV0QlFVdGpMRk5CUVZWa0xFdEJRVXRoTEZWQlFWbGlMRXRCUVV0WkxGTkJRVlVzUlVGQlIxb3NTMEZCUzFrc1ZVRkRla1JhTEV0QlFVdGpMRk5CUVZObExGTkJRVk0zUWl4TFFVRkxWaXhUUVVGVkxFVkJRVWRWTEV0QlFVdGhMRmRCUlhaRVR5eEZRVUZKVVN4TFFVRkxOVUlzUzBGQlMyTXNVMEZCVldRc1MwRkJTMkVzVlVGQldXSXNTMEZCUzFrc1UwRkJWU3hGUVVGSFVTeEZRVUZKUnl4UlFVTXZSSFpDTEV0QlFVdFpMRlZCUVZsUkxFVkJRVWxISWl3aVptbHNaU0k2SWk5b2IyMWxMM3BwYm04dmNISnZhbVZqZEhNdmMyVmhkRzFoY0hZeUwyMWhjM1JsY2k5elpXRjBiV0Z3ZGpJdlkyeHBaVzUwTDI1dlpHVmZiVzlrZFd4bGN5OXpkSEpwYm1kZlpHVmpiMlJsY2k5c2FXSXZjM1J5YVc1blgyUmxZMjlrWlhJdWFuTWlmUT09IiwidmFyIG5leHRUaWNrPXJlcXVpcmUoXCJwcm9jZXNzL2Jyb3dzZXIuanNcIikubmV4dFRpY2ssYXBwbHk9RnVuY3Rpb24ucHJvdG90eXBlLmFwcGx5LHNsaWNlPUFycmF5LnByb3RvdHlwZS5zbGljZSxpbW1lZGlhdGVJZHM9e30sbmV4dEltbWVkaWF0ZUlkPTA7ZnVuY3Rpb24gVGltZW91dChlLHQpe3RoaXMuX2lkPWUsdGhpcy5fY2xlYXJGbj10fWV4cG9ydHMuc2V0VGltZW91dD1mdW5jdGlvbigpe3JldHVybiBuZXcgVGltZW91dChhcHBseS5jYWxsKHNldFRpbWVvdXQsd2luZG93LGFyZ3VtZW50cyksY2xlYXJUaW1lb3V0KX0sZXhwb3J0cy5zZXRJbnRlcnZhbD1mdW5jdGlvbigpe3JldHVybiBuZXcgVGltZW91dChhcHBseS5jYWxsKHNldEludGVydmFsLHdpbmRvdyxhcmd1bWVudHMpLGNsZWFySW50ZXJ2YWwpfSxleHBvcnRzLmNsZWFyVGltZW91dD1leHBvcnRzLmNsZWFySW50ZXJ2YWw9ZnVuY3Rpb24oZSl7ZS5jbG9zZSgpfSxUaW1lb3V0LnByb3RvdHlwZS51bnJlZj1UaW1lb3V0LnByb3RvdHlwZS5yZWY9ZnVuY3Rpb24oKXt9LFRpbWVvdXQucHJvdG90eXBlLmNsb3NlPWZ1bmN0aW9uKCl7dGhpcy5fY2xlYXJGbi5jYWxsKHdpbmRvdyx0aGlzLl9pZCl9LGV4cG9ydHMuZW5yb2xsPWZ1bmN0aW9uKGUsdCl7Y2xlYXJUaW1lb3V0KGUuX2lkbGVUaW1lb3V0SWQpLGUuX2lkbGVUaW1lb3V0PXR9LGV4cG9ydHMudW5lbnJvbGw9ZnVuY3Rpb24oZSl7Y2xlYXJUaW1lb3V0KGUuX2lkbGVUaW1lb3V0SWQpLGUuX2lkbGVUaW1lb3V0PS0xfSxleHBvcnRzLl91bnJlZkFjdGl2ZT1leHBvcnRzLmFjdGl2ZT1mdW5jdGlvbihlKXtjbGVhclRpbWVvdXQoZS5faWRsZVRpbWVvdXRJZCk7dmFyIHQ9ZS5faWRsZVRpbWVvdXQ7dD49MCYmKGUuX2lkbGVUaW1lb3V0SWQ9c2V0VGltZW91dChmdW5jdGlvbigpe2UuX29uVGltZW91dCYmZS5fb25UaW1lb3V0KCl9LHQpKX0sZXhwb3J0cy5zZXRJbW1lZGlhdGU9XCJmdW5jdGlvblwiPT10eXBlb2Ygc2V0SW1tZWRpYXRlP3NldEltbWVkaWF0ZTpmdW5jdGlvbihlKXt2YXIgdD1uZXh0SW1tZWRpYXRlSWQrKyxpPSEoYXJndW1lbnRzLmxlbmd0aDwyKSYmc2xpY2UuY2FsbChhcmd1bWVudHMsMSk7cmV0dXJuIGltbWVkaWF0ZUlkc1t0XT0hMCxuZXh0VGljayhmdW5jdGlvbigpe2ltbWVkaWF0ZUlkc1t0XSYmKGk/ZS5hcHBseShudWxsLGkpOmUuY2FsbChudWxsKSxleHBvcnRzLmNsZWFySW1tZWRpYXRlKHQpKX0pLHR9LGV4cG9ydHMuY2xlYXJJbW1lZGlhdGU9XCJmdW5jdGlvblwiPT10eXBlb2YgY2xlYXJJbW1lZGlhdGU/Y2xlYXJJbW1lZGlhdGU6ZnVuY3Rpb24oZSl7ZGVsZXRlIGltbWVkaWF0ZUlkc1tlXX07XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJbTFoYVc0dWFuTWlYU3dpYm1GdFpYTWlPbHNpYm1WNGRGUnBZMnNpTENKeVpYRjFhWEpsSWl3aVlYQndiSGtpTENKR2RXNWpkR2x2YmlJc0luQnliM1J2ZEhsd1pTSXNJbk5zYVdObElpd2lRWEp5WVhraUxDSnBiVzFsWkdsaGRHVkpaSE1pTENKdVpYaDBTVzF0WldScFlYUmxTV1FpTENKVWFXMWxiM1YwSWl3aWFXUWlMQ0pqYkdWaGNrWnVJaXdpZEdocGN5SXNJbDlwWkNJc0lsOWpiR1ZoY2tadUlpd2laWGh3YjNKMGN5SXNJbk5sZEZScGJXVnZkWFFpTENKallXeHNJaXdpZDJsdVpHOTNJaXdpWVhKbmRXMWxiblJ6SWl3aVkyeGxZWEpVYVcxbGIzVjBJaXdpYzJWMFNXNTBaWEoyWVd3aUxDSmpiR1ZoY2tsdWRHVnlkbUZzSWl3aWRHbHRaVzkxZENJc0ltTnNiM05sSWl3aWRXNXlaV1lpTENKeVpXWWlMQ0psYm5KdmJHd2lMQ0pwZEdWdElpd2liWE5sWTNNaUxDSmZhV1JzWlZScGJXVnZkWFJKWkNJc0lsOXBaR3hsVkdsdFpXOTFkQ0lzSW5WdVpXNXliMnhzSWl3aVgzVnVjbVZtUVdOMGFYWmxJaXdpWVdOMGFYWmxJaXdpWDI5dVZHbHRaVzkxZENJc0luTmxkRWx0YldWa2FXRjBaU0lzSW1adUlpd2lZWEpuY3lJc0lteGxibWQwYUNJc0ltTnNaV0Z5U1cxdFpXUnBZWFJsSWwwc0ltMWhjSEJwYm1keklqb2lRVUZCUVN4SlFVRkpRU3hUUVVGWFF5eFJRVUZSTEhOQ1FVRnpRa1FzVTBGRGVrTkZMRTFCUVZGRExGTkJRVk5ETEZWQlFWVkdMRTFCUXpOQ1J5eE5RVUZSUXl4TlFVRk5SaXhWUVVGVlF5eE5RVU40UWtVc1lVRkJaU3hIUVVObVF5eG5Ra0ZCYTBJc1JVRmhkRUlzVTBGQlUwTXNVVUZCVVVNc1JVRkJTVU1zUjBGRGJrSkRMRXRCUVV0RExFbEJRVTFJTEVWQlExaEZMRXRCUVV0RkxGTkJRVmRJTEVWQldHeENTU3hSUVVGUlF5eFhRVUZoTEZkQlEyNUNMRTlCUVU4c1NVRkJTVkFzVVVGQlVWQXNUVUZCVFdVc1MwRkJTMFFzVjBGQldVVXNUMEZCVVVNc1YwRkJXVU1zWlVGRmFFVk1MRkZCUVZGTkxGbEJRV01zVjBGRGNFSXNUMEZCVHl4SlFVRkpXaXhSUVVGUlVDeE5RVUZOWlN4TFFVRkxTU3haUVVGaFNDeFBRVUZSUXl4WFFVRlpSeXhuUWtGRmFrVlFMRkZCUVZGTExHRkJRMUpNTEZGQlFWRlBMR05CUVdkQ0xGTkJRVk5ETEVkQlFWZEJMRVZCUVZGRExGTkJUWEJFWml4UlFVRlJUQ3hWUVVGVmNVSXNUVUZCVVdoQ0xGRkJRVkZNTEZWQlFWVnpRaXhKUVVGTkxHRkJRMnhFYWtJc1VVRkJVVXdzVlVGQlZXOUNMRTFCUVZFc1YwRkRlRUphTEV0QlFVdEZMRk5CUVZOSExFdEJRVXRETEU5QlFWRk9MRXRCUVV0RExFMUJTV3hEUlN4UlFVRlJXU3hQUVVGVExGTkJRVk5ETEVWQlFVMURMRWRCUXpsQ1ZDeGhRVUZoVVN4RlFVRkxSU3huUWtGRGJFSkdMRVZCUVV0SExHRkJRV1ZHTEVkQlIzUkNaQ3hSUVVGUmFVSXNVMEZCVnl4VFFVRlRTaXhIUVVNeFFsSXNZVUZCWVZFc1JVRkJTMFVzWjBKQlEyeENSaXhGUVVGTFJ5eGpRVUZuUWl4SFFVZDJRbWhDTEZGQlFWRnJRaXhoUVVGbGJFSXNVVUZCVVcxQ0xFOUJRVk1zVTBGQlUwNHNSMEZETDBOU0xHRkJRV0ZSTEVWQlFVdEZMR2RDUVVWc1FpeEpRVUZKUkN4RlFVRlJSQ3hGUVVGTFJ5eGhRVU5pUml4SFFVRlRMRWxCUTFoRUxFVkJRVXRGTEdWQlFXbENaQ3hYUVVGWExGZEJRek5DV1N4RlFVRkxUeXhaUVVOUVVDeEZRVUZMVHl4alFVTk9UaXhMUVV0UVpDeFJRVUZSY1VJc1lVRkJkVU1zYlVKQlFXcENRU3hoUVVFNFFrRXNZVUZCWlN4VFFVRlRReXhIUVVOc1JpeEpRVUZKTTBJc1JVRkJTMFlzYTBKQlEwdzRRaXhKUVVGUGJrSXNWVUZCVlc5Q0xFOUJRVk1zU1VGQldXeERMRTFCUVUxWkxFdEJRVXRGTEZWQlFWY3NSMEZyUW1oRkxFOUJhRUpCV2l4aFFVRmhSeXhKUVVGTkxFVkJSVzVDVml4VFFVRlRMRmRCUTBoUExHRkJRV0ZITEV0QlIxZzBRaXhGUVVOR1JDeEZRVUZIYmtNc1RVRkJUU3hMUVVGTmIwTXNSMEZGWmtRc1JVRkJSM0JDTEV0QlFVc3NUVUZIVmtZc1VVRkJVWGxDTEdWQlFXVTVRaXhOUVVsd1FrRXNSMEZIVkVzc1VVRkJVWGxDTEdWQlFUSkRMRzFDUVVGdVFrRXNaVUZCWjBOQkxHVkJRV2xDTEZOQlFWTTVRaXhWUVVOcVJrZ3NZVUZCWVVjaUxDSm1hV3hsSWpvaUwyaHZiV1V2ZW1sdWJ5OXdjbTlxWldOMGN5OXpaV0YwYldGd2RqSXZiV0Z6ZEdWeUwzTmxZWFJ0WVhCMk1pOWpiR2xsYm5RdmJtOWtaVjl0YjJSMWJHVnpMM1JwYldWeWN5MWljbTkzYzJWeWFXWjVMMjFoYVc0dWFuTWlmUT09IiwiZnVuY3Rpb24gZGVwcmVjYXRlKHIsZSl7aWYoY29uZmlnKFwibm9EZXByZWNhdGlvblwiKSlyZXR1cm4gcjt2YXIgbz0hMTtyZXR1cm4gZnVuY3Rpb24oKXtpZighbyl7aWYoY29uZmlnKFwidGhyb3dEZXByZWNhdGlvblwiKSl0aHJvdyBuZXcgRXJyb3IoZSk7Y29uZmlnKFwidHJhY2VEZXByZWNhdGlvblwiKT9jb25zb2xlLnRyYWNlKGUpOmNvbnNvbGUud2FybihlKSxvPSEwfXJldHVybiByLmFwcGx5KHRoaXMsYXJndW1lbnRzKX19ZnVuY3Rpb24gY29uZmlnKHIpe3RyeXtpZighZ2xvYmFsLmxvY2FsU3RvcmFnZSlyZXR1cm4hMX1jYXRjaChyKXtyZXR1cm4hMX12YXIgZT1nbG9iYWwubG9jYWxTdG9yYWdlW3JdO3JldHVybiBudWxsIT1lJiZcInRydWVcIj09PVN0cmluZyhlKS50b0xvd2VyQ2FzZSgpfW1vZHVsZS5leHBvcnRzPWRlcHJlY2F0ZTtcblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYkltSnliM2R6WlhJdWFuTWlYU3dpYm1GdFpYTWlPbHNpWkdWd2NtVmpZWFJsSWl3aVptNGlMQ0p0YzJjaUxDSmpiMjVtYVdjaUxDSjNZWEp1WldRaUxDSkZjbkp2Y2lJc0ltTnZibk52YkdVaUxDSjBjbUZqWlNJc0luZGhjbTRpTENKaGNIQnNlU0lzSW5Sb2FYTWlMQ0poY21kMWJXVnVkSE1pTENKdVlXMWxJaXdpWjJ4dlltRnNJaXdpYkc5allXeFRkRzl5WVdkbElpd2lYeUlzSW5aaGJDSXNJbE4wY21sdVp5SXNJblJ2VEc5M1pYSkRZWE5sSWl3aWJXOWtkV3hsSWl3aVpYaHdiM0owY3lKZExDSnRZWEJ3YVc1bmN5STZJa0ZCZVVKQkxGTkJRVk5CTEZWQlFWZERMRVZCUVVsRExFZEJRM1JDTEVkQlFVbERMRTlCUVU4c2FVSkJRMVFzVDBGQlQwWXNSVUZIVkN4SlFVRkpSeXhIUVVGVExFVkJaV0lzVDBGa1FTeFhRVU5GTEVsQlFVdEJMRVZCUVZFc1EwRkRXQ3hIUVVGSlJDeFBRVUZQTEc5Q1FVTlVMRTFCUVUwc1NVRkJTVVVzVFVGQlRVZ3NSMEZEVUVNc1QwRkJUeXh2UWtGRGFFSkhMRkZCUVZGRExFMUJRVTFNTEVkQlJXUkpMRkZCUVZGRkxFdEJRVXRPTEVkQlJXWkZMRWRCUVZNc1JVRkZXQ3hQUVVGUFNDeEZRVUZIVVN4TlFVRk5ReXhMUVVGTlF5eFpRV014UWl4VFFVRlRVaXhQUVVGUlV5eEhRVVZtTEVsQlEwVXNTVUZCUzBNc1QwRkJUME1zWVVGQll5eFBRVUZQTEVWQlEycERMRTFCUVU5RExFZEJRMUFzVDBGQlR5eEZRVVZVTEVsQlFVbERMRVZCUVUxSUxFOUJRVTlETEdGQlFXRkdMRWRCUXpsQ0xFOUJRVWtzVFVGQlVVa3NSMEZEZVVJc1UwRkJPVUpETEU5QlFVOUVMRWRCUVV0RkxHTkJOVVJ5UWtNc1QwRkJUME1zVVVGQlZYQkNJaXdpWm1sc1pTSTZJaTlvYjIxbEwzcHBibTh2Y0hKdmFtVmpkSE12YzJWaGRHMWhjSFl5TDIxaGMzUmxjaTl6WldGMGJXRndkakl2WTJ4cFpXNTBMMjV2WkdWZmJXOWtkV3hsY3k5MWRHbHNMV1JsY0hKbFkyRjBaUzlpY205M2MyVnlMbXB6SW4wPSIsIihmdW5jdGlvbigpe1widXNlIHN0cmljdFwiO2V4cG9ydHMuc3RyaXBCT009ZnVuY3Rpb24odCl7cmV0dXJuXCJcXHVmZWZmXCI9PT10WzBdP3Quc3Vic3RyaW5nKDEpOnR9fSkuY2FsbCh0aGlzKTtcblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYkltSnZiUzVxY3lKZExDSnVZVzFsY3lJNld5SmxlSEJ2Y25Seklpd2ljM1J5YVhCQ1QwMGlMQ0p6ZEhJaUxDSnpkV0p6ZEhKcGJtY2lMQ0pqWVd4c0lpd2lkR2hwY3lKZExDSnRZWEJ3YVc1bmN5STZJa05CUTBFc1YwRkRSU3hoUVVOQlFTeFJRVUZSUXl4VFFVRlhMRk5CUVZORExFZEJRekZDTEUxQlFXVXNWMEZCV0VFc1JVRkJTU3hIUVVORFFTeEZRVUZKUXl4VlFVRlZMRWRCUldSRUxFdEJTVlpGTEV0QlFVdERJaXdpWm1sc1pTSTZJaTlvYjIxbEwzcHBibTh2Y0hKdmFtVmpkSE12YzJWaGRHMWhjSFl5TDIxaGMzUmxjaTl6WldGMGJXRndkakl2WTJ4cFpXNTBMMjV2WkdWZmJXOWtkV3hsY3k5NGJXd3lhbk12YkdsaUwySnZiUzVxY3lKOSIsIihmdW5jdGlvbigpe1widXNlIHN0cmljdFwiO3ZhciB0LGUsbyxpLHIsbj17fS5oYXNPd25Qcm9wZXJ0eTt0PXJlcXVpcmUoXCJ4bWxidWlsZGVyXCIpLGU9cmVxdWlyZShcIi4vZGVmYXVsdHNcIikuZGVmYXVsdHMsaT1mdW5jdGlvbih0KXtyZXR1cm5cInN0cmluZ1wiPT10eXBlb2YgdCYmKHQuaW5kZXhPZihcIiZcIik+PTB8fHQuaW5kZXhPZihcIj5cIik+PTB8fHQuaW5kZXhPZihcIjxcIik+PTApfSxyPWZ1bmN0aW9uKHQpe3JldHVyblwiPCFbQ0RBVEFbXCIrbyh0KStcIl1dPlwifSxvPWZ1bmN0aW9uKHQpe3JldHVybiB0LnJlcGxhY2UoXCJdXT5cIixcIl1dXV0+PCFbQ0RBVEFbPlwiKX0sZXhwb3J0cy5CdWlsZGVyPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gbyh0KXt2YXIgbyxpLHI7Zm9yKG8gaW4gdGhpcy5vcHRpb25zPXt9LGk9ZVsuMl0pbi5jYWxsKGksbykmJihyPWlbb10sdGhpcy5vcHRpb25zW29dPXIpO2ZvcihvIGluIHQpbi5jYWxsKHQsbykmJihyPXRbb10sdGhpcy5vcHRpb25zW29dPXIpfXJldHVybiBvLnByb3RvdHlwZS5idWlsZE9iamVjdD1mdW5jdGlvbihvKXt2YXIgcyxhLGwscCxmLHU7cmV0dXJuIHM9dGhpcy5vcHRpb25zLmF0dHJrZXksYT10aGlzLm9wdGlvbnMuY2hhcmtleSwxPT09T2JqZWN0LmtleXMobykubGVuZ3RoJiZ0aGlzLm9wdGlvbnMucm9vdE5hbWU9PT1lWy4yXS5yb290TmFtZT9vPW9bZj1PYmplY3Qua2V5cyhvKVswXV06Zj10aGlzLm9wdGlvbnMucm9vdE5hbWUsdT10aGlzLGw9ZnVuY3Rpb24odCxlKXt2YXIgbyxwLGYsYyxoLGQ7aWYoXCJvYmplY3RcIiE9dHlwZW9mIGUpdS5vcHRpb25zLmNkYXRhJiZpKGUpP3QucmF3KHIoZSkpOnQudHh0KGUpO2Vsc2UgaWYoQXJyYXkuaXNBcnJheShlKSl7Zm9yKGMgaW4gZSlpZihuLmNhbGwoZSxjKSlmb3IoaCBpbiBwPWVbY10pZj1wW2hdLHQ9bCh0LmVsZShoKSxmKS51cCgpfWVsc2UgZm9yKGggaW4gZSlpZihuLmNhbGwoZSxoKSlpZihwPWVbaF0saD09PXMpe2lmKFwib2JqZWN0XCI9PXR5cGVvZiBwKWZvcihvIGluIHApZD1wW29dLHQ9dC5hdHQobyxkKX1lbHNlIGlmKGg9PT1hKXQ9dS5vcHRpb25zLmNkYXRhJiZpKHApP3QucmF3KHIocCkpOnQudHh0KHApO2Vsc2UgaWYoQXJyYXkuaXNBcnJheShwKSlmb3IoYyBpbiBwKW4uY2FsbChwLGMpJiYodD1cInN0cmluZ1wiPT10eXBlb2YoZj1wW2NdKT91Lm9wdGlvbnMuY2RhdGEmJmkoZik/dC5lbGUoaCkucmF3KHIoZikpLnVwKCk6dC5lbGUoaCxmKS51cCgpOmwodC5lbGUoaCksZikudXAoKSk7ZWxzZVwib2JqZWN0XCI9PXR5cGVvZiBwP3Q9bCh0LmVsZShoKSxwKS51cCgpOlwic3RyaW5nXCI9PXR5cGVvZiBwJiZ1Lm9wdGlvbnMuY2RhdGEmJmkocCk/dD10LmVsZShoKS5yYXcocihwKSkudXAoKToobnVsbD09cCYmKHA9XCJcIiksdD10LmVsZShoLHAudG9TdHJpbmcoKSkudXAoKSk7cmV0dXJuIHR9LHA9dC5jcmVhdGUoZix0aGlzLm9wdGlvbnMueG1sZGVjLHRoaXMub3B0aW9ucy5kb2N0eXBlLHtoZWFkbGVzczp0aGlzLm9wdGlvbnMuaGVhZGxlc3MsYWxsb3dTdXJyb2dhdGVDaGFyczp0aGlzLm9wdGlvbnMuYWxsb3dTdXJyb2dhdGVDaGFyc30pLGwocCxvKS5lbmQodGhpcy5vcHRpb25zLnJlbmRlck9wdHMpfSxvfSgpfSkuY2FsbCh0aGlzKTtcblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYkltSjFhV3hrWlhJdWFuTWlYU3dpYm1GdFpYTWlPbHNpWW5WcGJHUmxjaUlzSW1SbFptRjFiSFJ6SWl3aVpYTmpZWEJsUTBSQlZFRWlMQ0p5WlhGMWFYSmxjME5FUVZSQklpd2lkM0poY0VORVFWUkJJaXdpYUdGelVISnZjQ0lzSW1oaGMwOTNibEJ5YjNCbGNuUjVJaXdpY21WeGRXbHlaU0lzSW1WdWRISjVJaXdpYVc1a1pYaFBaaUlzSW5KbGNHeGhZMlVpTENKbGVIQnZjblJ6SWl3aVFuVnBiR1JsY2lJc0ltOXdkSE1pTENKclpYa2lMQ0p5WldZaUxDSjJZV3gxWlNJc0luUm9hWE1pTENKdmNIUnBiMjV6SWl3aVkyRnNiQ0lzSW5CeWIzUnZkSGx3WlNJc0ltSjFhV3hrVDJKcVpXTjBJaXdpY205dmRFOWlhaUlzSW1GMGRISnJaWGtpTENKamFHRnlhMlY1SWl3aWNtVnVaR1Z5SWl3aWNtOXZkRVZzWlcxbGJuUWlMQ0p5YjI5MFRtRnRaU0lzSWw5MGFHbHpJaXdpVDJKcVpXTjBJaXdpYTJWNWN5SXNJbXhsYm1kMGFDSXNJbVZzWlcxbGJuUWlMQ0p2WW1vaUxDSmhkSFJ5SWl3aVkyaHBiR1FpTENKcGJtUmxlQ0lzSW1Oa1lYUmhJaXdpY21GM0lpd2lkSGgwSWl3aVFYSnlZWGtpTENKcGMwRnljbUY1SWl3aVpXeGxJaXdpZFhBaUxDSmhkSFFpTENKMGIxTjBjbWx1WnlJc0ltTnlaV0YwWlNJc0luaHRiR1JsWXlJc0ltUnZZM1I1Y0dVaUxDSm9aV0ZrYkdWemN5SXNJbUZzYkc5M1UzVnljbTluWVhSbFEyaGhjbk1pTENKbGJtUWlMQ0p5Wlc1a1pYSlBjSFJ6SWwwc0ltMWhjSEJwYm1keklqb2lRMEZEUVN4WFFVTkZMR0ZCUTBFc1NVRkJTVUVzUlVGQlUwTXNSVUZCVlVNc1JVRkJZVU1zUlVGQlpVTXNSVUZEYWtSRExFVkJRVlVzUjBGQlIwTXNaVUZGWms0c1JVRkJWVThzVVVGQlVTeGpRVVZzUWs0c1JVRkJWMDBzVVVGQlVTeGpRVUZqVGl4VFFVVnFRMFVzUlVGQlowSXNVMEZCVTBzc1IwRkRka0lzVFVGQmQwSXNhVUpCUVZaQkxFbEJRWFZDUVN4RlFVRk5ReXhSUVVGUkxFMUJRVkVzUjBGQlMwUXNSVUZCVFVNc1VVRkJVU3hOUVVGUkxFZEJRVXRFTEVWQlFVMURMRkZCUVZFc1RVRkJVU3hKUVVkdVNFd3NSVUZCV1N4VFFVRlRTU3hIUVVOdVFpeE5RVUZQTEZsQlFXVk9MRVZCUVZsTkxFZEJRVlVzVDBGSE9VTk9MRVZCUVdNc1UwRkJVMDBzUjBGRGNrSXNUMEZCVDBFc1JVRkJUVVVzVVVGQlVTeE5RVUZQTEc5Q1FVYzVRa01zVVVGQlVVTXNVVUZCVlN4WFFVTm9RaXhUUVVGVFFTeEZRVUZSUXl4SFFVTm1MRWxCUVVsRExFVkJRVXRETEVWQlFVdERMRVZCUjJRc1NVRkJTMFlzUzBGR1RFY3NTMEZCUzBNc1VVRkJWU3hIUVVObVNDeEZRVUZOWkN4RlFVRlRMRWxCUlZKSkxFVkJRVkZqTEV0QlFVdEtMRVZCUVV0RUxFdEJRM1pDUlN4RlFVRlJSQ3hGUVVGSlJDeEhRVU5hUnl4TFFVRkxReXhSUVVGUlNpeEhRVUZQUlN4SFFVVjBRaXhKUVVGTFJpeExRVUZQUkN4RlFVTk1VaXhGUVVGUll5eExRVUZMVGl4RlFVRk5ReXhMUVVONFFrVXNSVUZCVVVnc1JVRkJTME1zUjBGRFlrY3NTMEZCUzBNc1VVRkJVVW9zUjBGQlQwVXNSMEYxUm5oQ0xFOUJia1pCU2l4RlFVRlJVU3hWUVVGVlF5eFpRVUZqTEZOQlFWTkRMRWRCUTNaRExFbEJRVWxETEVWQlFWTkRMRVZCUVZORExFVkJRVkZETEVWQlFXRkRMRVZCVTNoQ1F5eEZRWE5GYmtJc1QwRTVSVUZNTEVWQlFWVk9MRXRCUVV0RExGRkJRVkZMTEZGQlEzWkNReXhGUVVGVlVDeExRVUZMUXl4UlFVRlJUU3hSUVVOakxFbEJRV2hEU3l4UFFVRlBReXhMUVVGTFVpeEhRVUZUVXl4UlFVRnJRbVFzUzBGQlMwTXNVVUZCVVZNc1YwRkJZVEZDTEVWQlFWTXNTVUZCVHpCQ0xGTkJSWEJHVEN4RlFVRlZRU3hGUVVSV1N5eEZRVUZYUlN4UFFVRlBReXhMUVVGTFVpeEhRVUZUTEVsQlIyaERTeXhGUVVGWFZpeExRVUZMUXl4UlFVRlJVeXhUUVVWUVF5eEZRV2xGYUVKWUxFdEJha1ZJVVN4RlFVTlRMRk5CUVZOUExFVkJRVk5ETEVkQlEzWkNMRWxCUVVsRExFVkJRVTFETEVWQlFVOHpRaXhGUVVGUE5FSXNSVUZCVDNSQ0xFVkJRVXRGTEVWQlEzQkRMRWRCUVcxQ0xHbENRVUZTYVVJc1JVRkRURXdzUlVGQlRWWXNVVUZCVVcxQ0xFOUJRVk5zUXl4RlFVRmpPRUlzUjBGRGRrTkVMRVZCUVZGTkxFbEJRVWxzUXl4RlFVRlZOa0lzU1VGRmRFSkVMRVZCUVZGUExFbEJRVWxPTEZGQlJWUXNSMEZCU1U4c1RVRkJUVU1zVVVGQlVWSXNTVUZEZGtJc1NVRkJTMGNzUzBGQlUwZ3NSVUZEV2l4SFFVRkxOVUlzUlVGQlVXTXNTMEZCUzJNc1JVRkJTMGNzUjBGRmRrSXNTVUZCUzNSQ0xFdEJSRXh4UWl4RlFVRlJSaXhGUVVGSlJ5eEhRVVZXTlVJc1JVRkJVVEpDTEVWQlFVMXlRaXhIUVVOa2EwSXNSVUZCVlZBc1JVRkJUMDhzUlVGQlVWVXNTVUZCU1RWQ0xFZEJRVTFPTEVkQlFVOXRReXhWUVVrNVF5eEpRVUZMTjBJc1MwRkJUMjFDTEVWQlExWXNSMEZCU3pWQ0xFVkJRVkZqTEV0QlFVdGpMRVZCUVV0dVFpeEhRVVYyUWl4SFFVUkJjVUlzUlVGQlVVWXNSVUZCU1c1Q0xFZEJRMUpCTEVsQlFWRlRMRWRCUTFZc1IwRkJjVUlzYVVKQlFWWlpMRVZCUTFRc1NVRkJTMFFzUzBGQlVVTXNSVUZEV0c1Q0xFVkJRVkZ0UWl4RlFVRk5SQ3hIUVVOa1JpeEZRVUZWUVN4RlFVRlJXU3hKUVVGSlZpeEZRVUZOYkVJc1VVRkhNMElzUjBGQlNVWXNTVUZCVVZVc1JVRkZabEVzUlVGRVJVb3NSVUZCVFZZc1VVRkJVVzFDTEU5QlFWTnNReXhGUVVGalowTXNSMEZETjBKSUxFVkJRVkZOTEVsQlFVbHNReXhGUVVGVkswSXNTVUZGZEVKSUxFVkJRVkZQTEVsQlFVbEtMRkZCUlc1Q0xFZEJRVWxMTEUxQlFVMURMRkZCUVZGT0xFZEJRM1pDTEVsQlFVdERMRXRCUVZORUxFVkJRMUE1UWl4RlFVRlJZeXhMUVVGTFowSXNSVUZCVDBNc1MwRkpja0pLTEVWQlJtbENMR2xDUVVSeVFuaENMRVZCUVZFeVFpeEZRVUZOUXl4SlFVVlNVaXhGUVVGTlZpeFJRVUZSYlVJc1QwRkJVMnhETEVWQlFXTkxMRWRCUXpkQ2QwSXNSVUZCVVZVc1NVRkJTVFZDTEVkQlFVdDNRaXhKUVVGSmJFTXNSVUZCVlVrc1NVRkJVVzFETEV0QlJYWkRXQ3hGUVVGUlZTeEpRVUZKTlVJc1JVRkJTMDRzUjBGQlQyMURMRXRCUnpGQ2JFSXNSVUZCVDA4c1JVRkJVVlVzU1VGQlNUVkNMRWRCUVUxT0xFZEJRVTl0UXl4VlFVZHdRaXhwUWtGQlZsSXNSVUZEYUVKSUxFVkJRVlZRTEVWQlFVOVBMRVZCUVZGVkxFbEJRVWsxUWl4SFFVRk5jVUlzUjBGQlQxRXNTMEZGY2tJc2FVSkJRVlpTTEVkQlFYTkNVQ3hGUVVGTlZpeFJRVUZSYlVJc1QwRkJVMnhETEVWQlFXTm5ReXhIUVVOd1JVZ3NSVUZCVlVFc1JVRkJVVlVzU1VGQlNUVkNMRWRCUVV0M1FpeEpRVUZKYkVNc1JVRkJWU3RDTEVsQlFWRlJMRTFCUlhCRExFMUJRVlJTTEVsQlEwWkJMRVZCUVZFc1NVRkZWa2dzUlVGQlZVRXNSVUZCVVZVc1NVRkJTVFZDTEVWQlFVdHhRaXhGUVVGTlZTeFpRVUZaUml4TlFVdHlSQ3hQUVVGUFdDeEhRVWRZVGl4RlFVRmpNVUlzUlVGQlVUaERMRTlCUVU5dVFpeEZRVUZWVml4TFFVRkxReXhSUVVGUk5rSXNUMEZCVVRsQ0xFdEJRVXRETEZGQlFWRTRRaXhSUVVGVExFTkJRMmhHUXl4VFFVRlZhRU1zUzBGQlMwTXNVVUZCVVN0Q0xGTkJRM1pDUXl4dlFrRkJjVUpxUXl4TFFVRkxReXhSUVVGUlowTXNjMEpCUlRkQ2VrSXNSVUZCVDBNc1JVRkJZVW9zUjBGQlV6WkNMRWxCUVVsc1F5eExRVUZMUXl4UlFVRlJhME1zWVVGSGFFUjRReXhGUVhCSFV5eExRWGRIYWtKUExFdEJRVXRHSWl3aVptbHNaU0k2SWk5b2IyMWxMM3BwYm04dmNISnZhbVZqZEhNdmMyVmhkRzFoY0hZeUwyMWhjM1JsY2k5elpXRjBiV0Z3ZGpJdlkyeHBaVzUwTDI1dlpHVmZiVzlrZFd4bGN5OTRiV3d5YW5NdmJHbGlMMkoxYVd4a1pYSXVhbk1pZlE9PSIsIihmdW5jdGlvbigpe2V4cG9ydHMuZGVmYXVsdHM9ey4xOntleHBsaWNpdENoYXJrZXk6ITEsdHJpbTohMCxub3JtYWxpemU6ITAsbm9ybWFsaXplVGFnczohMSxhdHRya2V5OlwiQFwiLGNoYXJrZXk6XCIjXCIsZXhwbGljaXRBcnJheTohMSxpZ25vcmVBdHRyczohMSxtZXJnZUF0dHJzOiExLGV4cGxpY2l0Um9vdDohMSx2YWxpZGF0b3I6bnVsbCx4bWxuczohMSxleHBsaWNpdENoaWxkcmVuOiExLGNoaWxka2V5OlwiQEBcIixjaGFyc0FzQ2hpbGRyZW46ITEsaW5jbHVkZVdoaXRlQ2hhcnM6ITEsYXN5bmM6ITEsc3RyaWN0OiEwLGF0dHJOYW1lUHJvY2Vzc29yczpudWxsLGF0dHJWYWx1ZVByb2Nlc3NvcnM6bnVsbCx0YWdOYW1lUHJvY2Vzc29yczpudWxsLHZhbHVlUHJvY2Vzc29yczpudWxsLGVtcHR5VGFnOlwiXCJ9LC4yOntleHBsaWNpdENoYXJrZXk6ITEsdHJpbTohMSxub3JtYWxpemU6ITEsbm9ybWFsaXplVGFnczohMSxhdHRya2V5OlwiJFwiLGNoYXJrZXk6XCJfXCIsZXhwbGljaXRBcnJheTohMCxpZ25vcmVBdHRyczohMSxtZXJnZUF0dHJzOiExLGV4cGxpY2l0Um9vdDohMCx2YWxpZGF0b3I6bnVsbCx4bWxuczohMSxleHBsaWNpdENoaWxkcmVuOiExLHByZXNlcnZlQ2hpbGRyZW5PcmRlcjohMSxjaGlsZGtleTpcIiQkXCIsY2hhcnNBc0NoaWxkcmVuOiExLGluY2x1ZGVXaGl0ZUNoYXJzOiExLGFzeW5jOiExLHN0cmljdDohMCxhdHRyTmFtZVByb2Nlc3NvcnM6bnVsbCxhdHRyVmFsdWVQcm9jZXNzb3JzOm51bGwsdGFnTmFtZVByb2Nlc3NvcnM6bnVsbCx2YWx1ZVByb2Nlc3NvcnM6bnVsbCxyb290TmFtZTpcInJvb3RcIix4bWxkZWM6e3ZlcnNpb246XCIxLjBcIixlbmNvZGluZzpcIlVURi04XCIsc3RhbmRhbG9uZTohMH0sZG9jdHlwZTpudWxsLHJlbmRlck9wdHM6e3ByZXR0eTohMCxpbmRlbnQ6XCIgIFwiLG5ld2xpbmU6XCJcXG5cIn0saGVhZGxlc3M6ITEsY2h1bmtTaXplOjFlNCxlbXB0eVRhZzpcIlwiLGNkYXRhOiExfX19KS5jYWxsKHRoaXMpO1xuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSW1SbFptRjFiSFJ6TG1weklsMHNJbTVoYldWeklqcGJJbVY0Y0c5eWRITWlMQ0prWldaaGRXeDBjeUlzSWpBdU1TSXNJbVY0Y0d4cFkybDBRMmhoY210bGVTSXNJblJ5YVcwaUxDSnViM0p0WVd4cGVtVWlMQ0p1YjNKdFlXeHBlbVZVWVdkeklpd2lZWFIwY210bGVTSXNJbU5vWVhKclpYa2lMQ0psZUhCc2FXTnBkRUZ5Y21GNUlpd2lhV2R1YjNKbFFYUjBjbk1pTENKdFpYSm5aVUYwZEhKeklpd2laWGh3YkdsamFYUlNiMjkwSWl3aWRtRnNhV1JoZEc5eUlpd2llRzFzYm5NaUxDSmxlSEJzYVdOcGRFTm9hV3hrY21WdUlpd2lZMmhwYkdSclpYa2lMQ0pqYUdGeWMwRnpRMmhwYkdSeVpXNGlMQ0pwYm1Oc2RXUmxWMmhwZEdWRGFHRnljeUlzSW1GemVXNWpJaXdpYzNSeWFXTjBJaXdpWVhSMGNrNWhiV1ZRY205alpYTnpiM0p6SWl3aVlYUjBjbFpoYkhWbFVISnZZMlZ6YzI5eWN5SXNJblJoWjA1aGJXVlFjbTlqWlhOemIzSnpJaXdpZG1Gc2RXVlFjbTlqWlhOemIzSnpJaXdpWlcxd2RIbFVZV2NpTENJd0xqSWlMQ0p3Y21WelpYSjJaVU5vYVd4a2NtVnVUM0prWlhJaUxDSnliMjkwVG1GdFpTSXNJbmh0YkdSbFl5SXNJblpsY25OcGIyNGlMQ0psYm1OdlpHbHVaeUlzSW5OMFlXNWtZV3h2Ym1VaUxDSmtiMk4wZVhCbElpd2ljbVZ1WkdWeVQzQjBjeUlzSW5CeVpYUjBlU0lzSW1sdVpHVnVkQ0lzSW01bGQyeHBibVVpTENKb1pXRmtiR1Z6Y3lJc0ltTm9kVzVyVTJsNlpTSXNJbU5rWVhSaElpd2lZMkZzYkNJc0luUm9hWE1pWFN3aWJXRndjR2x1WjNNaU9pSkRRVU5CTEZkQlEwVkJMRkZCUVZGRExGTkJRVmNzUTBGRGFrSkRMRWRCUVU4c1EwRkRURU1zYVVKQlFXbENMRVZCUTJwQ1F5eE5RVUZOTEVWQlEwNURMRmRCUVZjc1JVRkRXRU1zWlVGQlpTeEZRVU5tUXl4UlFVRlRMRWxCUTFSRExGRkJRVk1zU1VGRFZFTXNaVUZCWlN4RlFVTm1ReXhoUVVGaExFVkJRMkpETEZsQlFWa3NSVUZEV2tNc1kwRkJZeXhGUVVOa1F5eFZRVUZYTEV0QlExaERMRTlCUVU4c1JVRkRVRU1zYTBKQlFXdENMRVZCUTJ4Q1F5eFRRVUZWTEV0QlExWkRMR2xDUVVGcFFpeEZRVU5xUWtNc2JVSkJRVzFDTEVWQlEyNUNReXhQUVVGUExFVkJRMUJETEZGQlFWRXNSVUZEVWtNc2JVSkJRVzlDTEV0QlEzQkNReXh2UWtGQmNVSXNTMEZEY2tKRExHdENRVUZ0UWl4TFFVTnVRa01zWjBKQlFXbENMRXRCUTJwQ1F5eFRRVUZWTEVsQlJWcERMRWRCUVU4c1EwRkRUSFpDTEdsQ1FVRnBRaXhGUVVOcVFrTXNUVUZCVFN4RlFVTk9ReXhYUVVGWExFVkJRMWhETEdWQlFXVXNSVUZEWmtNc1VVRkJVeXhKUVVOVVF5eFJRVUZUTEVsQlExUkRMR1ZCUVdVc1JVRkRaa01zWVVGQllTeEZRVU5pUXl4WlFVRlpMRVZCUTFwRExHTkJRV01zUlVGRFpFTXNWVUZCVnl4TFFVTllReXhQUVVGUExFVkJRMUJETEd0Q1FVRnJRaXhGUVVOc1Fsa3NkVUpCUVhWQ0xFVkJRM1pDV0N4VFFVRlZMRXRCUTFaRExHbENRVUZwUWl4RlFVTnFRa01zYlVKQlFXMUNMRVZCUTI1Q1F5eFBRVUZQTEVWQlExQkRMRkZCUVZFc1JVRkRVa01zYlVKQlFXOUNMRXRCUTNCQ1F5eHZRa0ZCY1VJc1MwRkRja0pETEd0Q1FVRnRRaXhMUVVOdVFrTXNaMEpCUVdsQ0xFdEJRMnBDU1N4VFFVRlZMRTlCUTFaRExFOUJRVkVzUTBGRFRrTXNVVUZCVnl4TlFVTllReXhUUVVGWkxGRkJRMXBETEZsQlFXTXNSMEZGYUVKRExGRkJRVk1zUzBGRFZFTXNWMEZCV1N4RFFVTldReXhSUVVGVkxFVkJRMVpETEU5QlFWVXNTMEZEVmtNc1VVRkJWeXhOUVVWaVF5eFZRVUZWTEVWQlExWkRMRlZCUVZjc1NVRkRXR1FzVTBGQlZTeEhRVU5XWlN4UFFVRlBMRTFCU1ZaRExFdEJRVXRESWl3aVptbHNaU0k2SWk5b2IyMWxMM3BwYm04dmNISnZhbVZqZEhNdmMyVmhkRzFoY0hZeUwyMWhjM1JsY2k5elpXRjBiV0Z3ZGpJdlkyeHBaVzUwTDI1dlpHVmZiVzlrZFd4bGN5OTRiV3d5YW5NdmJHbGlMMlJsWm1GMWJIUnpMbXB6SW4wPSIsIihmdW5jdGlvbigpe1widXNlIHN0cmljdFwiO3ZhciB0LHIscyxlLGksbixvLGEsaD1mdW5jdGlvbih0LHIpe3JldHVybiBmdW5jdGlvbigpe3JldHVybiB0LmFwcGx5KHIsYXJndW1lbnRzKX19LHA9e30uaGFzT3duUHJvcGVydHk7bz1yZXF1aXJlKFwic2F4XCIpLHM9cmVxdWlyZShcImV2ZW50c1wiKSx0PXJlcXVpcmUoXCIuL2JvbVwiKSxuPXJlcXVpcmUoXCIuL3Byb2Nlc3NvcnNcIiksYT1yZXF1aXJlKFwidGltZXJzXCIpLnNldEltbWVkaWF0ZSxyPXJlcXVpcmUoXCIuL2RlZmF1bHRzXCIpLmRlZmF1bHRzLGU9ZnVuY3Rpb24odCl7cmV0dXJuXCJvYmplY3RcIj09dHlwZW9mIHQmJm51bGwhPXQmJjA9PT1PYmplY3Qua2V5cyh0KS5sZW5ndGh9LGk9ZnVuY3Rpb24odCxyLHMpe3ZhciBlLGk7Zm9yKGU9MCxpPXQubGVuZ3RoO2U8aTtlKyspcj0oMCx0W2VdKShyLHMpO3JldHVybiByfSxleHBvcnRzLlBhcnNlcj1mdW5jdGlvbihjKXtmdW5jdGlvbiB1KHQpe3ZhciBzLGUsaTtpZih0aGlzLnBhcnNlU3RyaW5nUHJvbWlzZT1oKHRoaXMucGFyc2VTdHJpbmdQcm9taXNlLHRoaXMpLHRoaXMucGFyc2VTdHJpbmc9aCh0aGlzLnBhcnNlU3RyaW5nLHRoaXMpLHRoaXMucmVzZXQ9aCh0aGlzLnJlc2V0LHRoaXMpLHRoaXMuYXNzaWduT3JQdXNoPWgodGhpcy5hc3NpZ25PclB1c2gsdGhpcyksdGhpcy5wcm9jZXNzQXN5bmM9aCh0aGlzLnByb2Nlc3NBc3luYyx0aGlzKSwhKHRoaXMgaW5zdGFuY2VvZiBleHBvcnRzLlBhcnNlcikpcmV0dXJuIG5ldyBleHBvcnRzLlBhcnNlcih0KTtmb3IocyBpbiB0aGlzLm9wdGlvbnM9e30sZT1yWy4yXSlwLmNhbGwoZSxzKSYmKGk9ZVtzXSx0aGlzLm9wdGlvbnNbc109aSk7Zm9yKHMgaW4gdClwLmNhbGwodCxzKSYmKGk9dFtzXSx0aGlzLm9wdGlvbnNbc109aSk7dGhpcy5vcHRpb25zLnhtbG5zJiYodGhpcy5vcHRpb25zLnhtbG5za2V5PXRoaXMub3B0aW9ucy5hdHRya2V5K1wibnNcIiksdGhpcy5vcHRpb25zLm5vcm1hbGl6ZVRhZ3MmJih0aGlzLm9wdGlvbnMudGFnTmFtZVByb2Nlc3NvcnN8fCh0aGlzLm9wdGlvbnMudGFnTmFtZVByb2Nlc3NvcnM9W10pLHRoaXMub3B0aW9ucy50YWdOYW1lUHJvY2Vzc29ycy51bnNoaWZ0KG4ubm9ybWFsaXplKSksdGhpcy5yZXNldCgpfXJldHVybiBmdW5jdGlvbih0LHIpe2Zvcih2YXIgcyBpbiByKXAuY2FsbChyLHMpJiYodFtzXT1yW3NdKTtmdW5jdGlvbiBlKCl7dGhpcy5jb25zdHJ1Y3Rvcj10fWUucHJvdG90eXBlPXIucHJvdG90eXBlLHQucHJvdG90eXBlPW5ldyBlLHQuX19zdXBlcl9fPXIucHJvdG90eXBlfSh1LHMpLHUucHJvdG90eXBlLnByb2Nlc3NBc3luYz1mdW5jdGlvbigpe3ZhciB0LHI7dHJ5e3JldHVybiB0aGlzLnJlbWFpbmluZy5sZW5ndGg8PXRoaXMub3B0aW9ucy5jaHVua1NpemU/KHQ9dGhpcy5yZW1haW5pbmcsdGhpcy5yZW1haW5pbmc9XCJcIix0aGlzLnNheFBhcnNlcj10aGlzLnNheFBhcnNlci53cml0ZSh0KSx0aGlzLnNheFBhcnNlci5jbG9zZSgpKToodD10aGlzLnJlbWFpbmluZy5zdWJzdHIoMCx0aGlzLm9wdGlvbnMuY2h1bmtTaXplKSx0aGlzLnJlbWFpbmluZz10aGlzLnJlbWFpbmluZy5zdWJzdHIodGhpcy5vcHRpb25zLmNodW5rU2l6ZSx0aGlzLnJlbWFpbmluZy5sZW5ndGgpLHRoaXMuc2F4UGFyc2VyPXRoaXMuc2F4UGFyc2VyLndyaXRlKHQpLGEodGhpcy5wcm9jZXNzQXN5bmMpKX1jYXRjaCh0KXtpZihyPXQsIXRoaXMuc2F4UGFyc2VyLmVyclRocm93bilyZXR1cm4gdGhpcy5zYXhQYXJzZXIuZXJyVGhyb3duPSEwLHRoaXMuZW1pdChyKX19LHUucHJvdG90eXBlLmFzc2lnbk9yUHVzaD1mdW5jdGlvbih0LHIscyl7cmV0dXJuIHIgaW4gdD8odFtyXWluc3RhbmNlb2YgQXJyYXl8fCh0W3JdPVt0W3JdXSksdFtyXS5wdXNoKHMpKTp0aGlzLm9wdGlvbnMuZXhwbGljaXRBcnJheT90W3JdPVtzXTp0W3JdPXN9LHUucHJvdG90eXBlLnJlc2V0PWZ1bmN0aW9uKCl7dmFyIHQscixzLG4sYTtyZXR1cm4gdGhpcy5yZW1vdmVBbGxMaXN0ZW5lcnMoKSx0aGlzLnNheFBhcnNlcj1vLnBhcnNlcih0aGlzLm9wdGlvbnMuc3RyaWN0LHt0cmltOiExLG5vcm1hbGl6ZTohMSx4bWxuczp0aGlzLm9wdGlvbnMueG1sbnN9KSx0aGlzLnNheFBhcnNlci5lcnJUaHJvd249ITEsdGhpcy5zYXhQYXJzZXIub25lcnJvcj0oYT10aGlzLGZ1bmN0aW9uKHQpe2lmKGEuc2F4UGFyc2VyLnJlc3VtZSgpLCFhLnNheFBhcnNlci5lcnJUaHJvd24pcmV0dXJuIGEuc2F4UGFyc2VyLmVyclRocm93bj0hMCxhLmVtaXQoXCJlcnJvclwiLHQpfSksdGhpcy5zYXhQYXJzZXIub25lbmQ9ZnVuY3Rpb24odCl7cmV0dXJuIGZ1bmN0aW9uKCl7aWYoIXQuc2F4UGFyc2VyLmVuZGVkKXJldHVybiB0LnNheFBhcnNlci5lbmRlZD0hMCx0LmVtaXQoXCJlbmRcIix0LnJlc3VsdE9iamVjdCl9fSh0aGlzKSx0aGlzLnNheFBhcnNlci5lbmRlZD0hMSx0aGlzLkVYUExJQ0lUX0NIQVJLRVk9dGhpcy5vcHRpb25zLmV4cGxpY2l0Q2hhcmtleSx0aGlzLnJlc3VsdE9iamVjdD1udWxsLG49W10sdD10aGlzLm9wdGlvbnMuYXR0cmtleSxyPXRoaXMub3B0aW9ucy5jaGFya2V5LHRoaXMuc2F4UGFyc2VyLm9ub3BlbnRhZz1mdW5jdGlvbihzKXtyZXR1cm4gZnVuY3Rpb24oZSl7dmFyIG8sYSxoLGMsdTtpZigoaD17fSlbcl09XCJcIiwhcy5vcHRpb25zLmlnbm9yZUF0dHJzKWZvcihvIGluIHU9ZS5hdHRyaWJ1dGVzKXAuY2FsbCh1LG8pJiYodCBpbiBofHxzLm9wdGlvbnMubWVyZ2VBdHRyc3x8KGhbdF09e30pLGE9cy5vcHRpb25zLmF0dHJWYWx1ZVByb2Nlc3NvcnM/aShzLm9wdGlvbnMuYXR0clZhbHVlUHJvY2Vzc29ycyxlLmF0dHJpYnV0ZXNbb10sbyk6ZS5hdHRyaWJ1dGVzW29dLGM9cy5vcHRpb25zLmF0dHJOYW1lUHJvY2Vzc29ycz9pKHMub3B0aW9ucy5hdHRyTmFtZVByb2Nlc3NvcnMsbyk6byxzLm9wdGlvbnMubWVyZ2VBdHRycz9zLmFzc2lnbk9yUHVzaChoLGMsYSk6aFt0XVtjXT1hKTtyZXR1cm4gaFtcIiNuYW1lXCJdPXMub3B0aW9ucy50YWdOYW1lUHJvY2Vzc29ycz9pKHMub3B0aW9ucy50YWdOYW1lUHJvY2Vzc29ycyxlLm5hbWUpOmUubmFtZSxzLm9wdGlvbnMueG1sbnMmJihoW3Mub3B0aW9ucy54bWxuc2tleV09e3VyaTplLnVyaSxsb2NhbDplLmxvY2FsfSksbi5wdXNoKGgpfX0odGhpcyksdGhpcy5zYXhQYXJzZXIub25jbG9zZXRhZz1mdW5jdGlvbih0KXtyZXR1cm4gZnVuY3Rpb24oKXt2YXIgcyxvLGEsaCxjLHUsbCxtLGYsUDtpZih1PW4ucG9wKCksYz11W1wiI25hbWVcIl0sdC5vcHRpb25zLmV4cGxpY2l0Q2hpbGRyZW4mJnQub3B0aW9ucy5wcmVzZXJ2ZUNoaWxkcmVuT3JkZXJ8fGRlbGV0ZSB1W1wiI25hbWVcIl0sITA9PT11LmNkYXRhJiYocz11LmNkYXRhLGRlbGV0ZSB1LmNkYXRhKSxmPW5bbi5sZW5ndGgtMV0sdVtyXS5tYXRjaCgvXlxccyokLykmJiFzPyhvPXVbcl0sZGVsZXRlIHVbcl0pOih0Lm9wdGlvbnMudHJpbSYmKHVbcl09dVtyXS50cmltKCkpLHQub3B0aW9ucy5ub3JtYWxpemUmJih1W3JdPXVbcl0ucmVwbGFjZSgvXFxzezIsfS9nLFwiIFwiKS50cmltKCkpLHVbcl09dC5vcHRpb25zLnZhbHVlUHJvY2Vzc29ycz9pKHQub3B0aW9ucy52YWx1ZVByb2Nlc3NvcnMsdVtyXSxjKTp1W3JdLDE9PT1PYmplY3Qua2V5cyh1KS5sZW5ndGgmJnIgaW4gdSYmIXQuRVhQTElDSVRfQ0hBUktFWSYmKHU9dVtyXSkpLGUodSkmJih1PVwiXCIhPT10Lm9wdGlvbnMuZW1wdHlUYWc/dC5vcHRpb25zLmVtcHR5VGFnOm8pLG51bGwhPXQub3B0aW9ucy52YWxpZGF0b3ImJihQPVwiL1wiK2Z1bmN0aW9uKCl7dmFyIHQscixzO2ZvcihzPVtdLHQ9MCxyPW4ubGVuZ3RoO3Q8cjt0KyspaD1uW3RdLHMucHVzaChoW1wiI25hbWVcIl0pO3JldHVybiBzfSgpLmNvbmNhdChjKS5qb2luKFwiL1wiKSxmdW5jdGlvbigpe3ZhciByO3RyeXt1PXQub3B0aW9ucy52YWxpZGF0b3IoUCxmJiZmW2NdLHUpfWNhdGNoKHMpe3JldHVybiByPXMsdC5lbWl0KFwiZXJyb3JcIixyKX19KCkpLHQub3B0aW9ucy5leHBsaWNpdENoaWxkcmVuJiYhdC5vcHRpb25zLm1lcmdlQXR0cnMmJlwib2JqZWN0XCI9PXR5cGVvZiB1KWlmKHQub3B0aW9ucy5wcmVzZXJ2ZUNoaWxkcmVuT3JkZXIpe2lmKGYpe2ZvcihhIGluIGZbdC5vcHRpb25zLmNoaWxka2V5XT1mW3Qub3B0aW9ucy5jaGlsZGtleV18fFtdLGw9e30sdSlwLmNhbGwodSxhKSYmKGxbYV09dVthXSk7Zlt0Lm9wdGlvbnMuY2hpbGRrZXldLnB1c2gobCksZGVsZXRlIHVbXCIjbmFtZVwiXSwxPT09T2JqZWN0LmtleXModSkubGVuZ3RoJiZyIGluIHUmJiF0LkVYUExJQ0lUX0NIQVJLRVkmJih1PXVbcl0pfX1lbHNlIGg9e30sdC5vcHRpb25zLmF0dHJrZXkgaW4gdSYmKGhbdC5vcHRpb25zLmF0dHJrZXldPXVbdC5vcHRpb25zLmF0dHJrZXldLGRlbGV0ZSB1W3Qub3B0aW9ucy5hdHRya2V5XSksIXQub3B0aW9ucy5jaGFyc0FzQ2hpbGRyZW4mJnQub3B0aW9ucy5jaGFya2V5IGluIHUmJihoW3Qub3B0aW9ucy5jaGFya2V5XT11W3Qub3B0aW9ucy5jaGFya2V5XSxkZWxldGUgdVt0Lm9wdGlvbnMuY2hhcmtleV0pLE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzKHUpLmxlbmd0aD4wJiYoaFt0Lm9wdGlvbnMuY2hpbGRrZXldPXUpLHU9aDtyZXR1cm4gbi5sZW5ndGg+MD90LmFzc2lnbk9yUHVzaChmLGMsdSk6KHQub3B0aW9ucy5leHBsaWNpdFJvb3QmJihtPXUsKHU9e30pW2NdPW0pLHQucmVzdWx0T2JqZWN0PXUsdC5zYXhQYXJzZXIuZW5kZWQ9ITAsdC5lbWl0KFwiZW5kXCIsdC5yZXN1bHRPYmplY3QpKX19KHRoaXMpLHM9ZnVuY3Rpb24odCl7cmV0dXJuIGZ1bmN0aW9uKHMpe3ZhciBlLGk7aWYoaT1uW24ubGVuZ3RoLTFdKXJldHVybiBpW3JdKz1zLHQub3B0aW9ucy5leHBsaWNpdENoaWxkcmVuJiZ0Lm9wdGlvbnMucHJlc2VydmVDaGlsZHJlbk9yZGVyJiZ0Lm9wdGlvbnMuY2hhcnNBc0NoaWxkcmVuJiYodC5vcHRpb25zLmluY2x1ZGVXaGl0ZUNoYXJzfHxcIlwiIT09cy5yZXBsYWNlKC9cXFxcbi9nLFwiXCIpLnRyaW0oKSkmJihpW3Qub3B0aW9ucy5jaGlsZGtleV09aVt0Lm9wdGlvbnMuY2hpbGRrZXldfHxbXSwoZT17XCIjbmFtZVwiOlwiX190ZXh0X19cIn0pW3JdPXMsdC5vcHRpb25zLm5vcm1hbGl6ZSYmKGVbcl09ZVtyXS5yZXBsYWNlKC9cXHN7Mix9L2csXCIgXCIpLnRyaW0oKSksaVt0Lm9wdGlvbnMuY2hpbGRrZXldLnB1c2goZSkpLGl9fSh0aGlzKSx0aGlzLnNheFBhcnNlci5vbnRleHQ9cyx0aGlzLnNheFBhcnNlci5vbmNkYXRhPWZ1bmN0aW9uKHQpe3ZhciByO2lmKHI9cyh0KSlyZXR1cm4gci5jZGF0YT0hMH19LHUucHJvdG90eXBlLnBhcnNlU3RyaW5nPWZ1bmN0aW9uKHIscyl7dmFyIGU7bnVsbCE9cyYmXCJmdW5jdGlvblwiPT10eXBlb2YgcyYmKHRoaXMub24oXCJlbmRcIixmdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5yZXNldCgpLHMobnVsbCx0KX0pLHRoaXMub24oXCJlcnJvclwiLGZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLnJlc2V0KCkscyh0KX0pKTt0cnl7cmV0dXJuXCJcIj09PShyPXIudG9TdHJpbmcoKSkudHJpbSgpPyh0aGlzLmVtaXQoXCJlbmRcIixudWxsKSwhMCk6KHI9dC5zdHJpcEJPTShyKSx0aGlzLm9wdGlvbnMuYXN5bmM/KHRoaXMucmVtYWluaW5nPXIsYSh0aGlzLnByb2Nlc3NBc3luYyksdGhpcy5zYXhQYXJzZXIpOnRoaXMuc2F4UGFyc2VyLndyaXRlKHIpLmNsb3NlKCkpfWNhdGNoKHQpe2lmKGU9dCwhdGhpcy5zYXhQYXJzZXIuZXJyVGhyb3duJiYhdGhpcy5zYXhQYXJzZXIuZW5kZWQpcmV0dXJuIHRoaXMuZW1pdChcImVycm9yXCIsZSksdGhpcy5zYXhQYXJzZXIuZXJyVGhyb3duPSEwO2lmKHRoaXMuc2F4UGFyc2VyLmVuZGVkKXRocm93IGV9fSx1LnByb3RvdHlwZS5wYXJzZVN0cmluZ1Byb21pc2U9ZnVuY3Rpb24odCl7cmV0dXJuIG5ldyBQcm9taXNlKChyPXRoaXMsZnVuY3Rpb24ocyxlKXtyZXR1cm4gci5wYXJzZVN0cmluZyh0LGZ1bmN0aW9uKHQscil7cmV0dXJuIHQ/ZSh0KTpzKHIpfSl9KSk7dmFyIHJ9LHV9KCksZXhwb3J0cy5wYXJzZVN0cmluZz1mdW5jdGlvbih0LHIscyl7dmFyIGUsaTtyZXR1cm4gbnVsbCE9cz8oXCJmdW5jdGlvblwiPT10eXBlb2YgcyYmKGU9cyksXCJvYmplY3RcIj09dHlwZW9mIHImJihpPXIpKTooXCJmdW5jdGlvblwiPT10eXBlb2YgciYmKGU9ciksaT17fSksbmV3IGV4cG9ydHMuUGFyc2VyKGkpLnBhcnNlU3RyaW5nKHQsZSl9LGV4cG9ydHMucGFyc2VTdHJpbmdQcm9taXNlPWZ1bmN0aW9uKHQscil7dmFyIHM7cmV0dXJuXCJvYmplY3RcIj09dHlwZW9mIHImJihzPXIpLG5ldyBleHBvcnRzLlBhcnNlcihzKS5wYXJzZVN0cmluZ1Byb21pc2UodCl9fSkuY2FsbCh0aGlzKTtcblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYkluQmhjbk5sY2k1cWN5SmRMQ0p1WVcxbGN5STZXeUppYjIwaUxDSmtaV1poZFd4MGN5SXNJbVYyWlc1MGN5SXNJbWx6Ulcxd2RIa2lMQ0p3Y205alpYTnpTWFJsYlNJc0luQnliMk5sYzNOdmNuTWlMQ0p6WVhnaUxDSnpaWFJKYlcxbFpHbGhkR1VpTENKaWFXNWtJaXdpWm00aUxDSnRaU0lzSW1Gd2NHeDVJaXdpWVhKbmRXMWxiblJ6SWl3aWFHRnpVSEp2Y0NJc0ltaGhjMDkzYmxCeWIzQmxjblI1SWl3aWNtVnhkV2x5WlNJc0luUm9hVzVuSWl3aVQySnFaV04wSWl3aWEyVjVjeUlzSW14bGJtZDBhQ0lzSW1sMFpXMGlMQ0pyWlhraUxDSnBJaXdpYkdWdUlpd2ljSEp2WTJWemN5SXNJbVY0Y0c5eWRITWlMQ0pRWVhKelpYSWlMQ0p6ZFhCbGNrTnNZWE56SWl3aWIzQjBjeUlzSW5KbFppSXNJblpoYkhWbElpd2lkR2hwY3lJc0luQmhjbk5sVTNSeWFXNW5VSEp2YldselpTSXNJbkJoY25ObFUzUnlhVzVuSWl3aWNtVnpaWFFpTENKaGMzTnBaMjVQY2xCMWMyZ2lMQ0p3Y205alpYTnpRWE41Ym1NaUxDSnZjSFJwYjI1eklpd2lZMkZzYkNJc0luaHRiRzV6SWl3aWVHMXNibk5yWlhraUxDSmhkSFJ5YTJWNUlpd2libTl5YldGc2FYcGxWR0ZuY3lJc0luUmhaMDVoYldWUWNtOWpaWE56YjNKeklpd2lkVzV6YUdsbWRDSXNJbTV2Y20xaGJHbDZaU0lzSW1Ob2FXeGtJaXdpY0dGeVpXNTBJaXdpWTNSdmNpSXNJbU52Ym5OMGNuVmpkRzl5SWl3aWNISnZkRzkwZVhCbElpd2lYMTl6ZFhCbGNsOWZJaXdpWlhoMFpXNWtJaXdpWTJoMWJtc2lMQ0psY25JaUxDSnlaVzFoYVc1cGJtY2lMQ0pqYUhWdWExTnBlbVVpTENKellYaFFZWEp6WlhJaUxDSjNjbWwwWlNJc0ltTnNiM05sSWl3aWMzVmljM1J5SWl3aVpYSnliM0l4SWl3aVpYSnlWR2h5YjNkdUlpd2laVzFwZENJc0ltOWlhaUlzSW01bGQxWmhiSFZsSWl3aVFYSnlZWGtpTENKd2RYTm9JaXdpWlhod2JHbGphWFJCY25KaGVTSXNJbU5vWVhKclpYa2lMQ0p2Ym5SbGVIUWlMQ0p6ZEdGamF5SXNJbDkwYUdseklpd2ljbVZ0YjNabFFXeHNUR2x6ZEdWdVpYSnpJaXdpY0dGeWMyVnlJaXdpYzNSeWFXTjBJaXdpZEhKcGJTSXNJbTl1WlhKeWIzSWlMQ0psY25KdmNpSXNJbkpsYzNWdFpTSXNJbTl1Wlc1a0lpd2laVzVrWldRaUxDSnlaWE4xYkhSUFltcGxZM1FpTENKRldGQk1TVU5KVkY5RFNFRlNTMFZaSWl3aVpYaHdiR2xqYVhSRGFHRnlhMlY1SWl3aWIyNXZjR1Z1ZEdGbklpd2libTlrWlNJc0luQnliMk5sYzNObFpFdGxlU0lzSW1sbmJtOXlaVUYwZEhKeklpd2lZWFIwY21saWRYUmxjeUlzSW0xbGNtZGxRWFIwY25NaUxDSmhkSFJ5Vm1Gc2RXVlFjbTlqWlhOemIzSnpJaXdpWVhSMGNrNWhiV1ZRY205alpYTnpiM0p6SWl3aWJtRnRaU0lzSW5WeWFTSXNJbXh2WTJGc0lpd2liMjVqYkc5elpYUmhaeUlzSW1Oa1lYUmhJaXdpWlcxd2RIbFRkSElpTENKdWIyUmxUbUZ0WlNJc0ltOWlha05zYjI1bElpd2liMnhrSWl3aWN5SXNJbmh3WVhSb0lpd2ljRzl3SWl3aVpYaHdiR2xqYVhSRGFHbHNaSEpsYmlJc0luQnlaWE5sY25abFEyaHBiR1J5Wlc1UGNtUmxjaUlzSW0xaGRHTm9JaXdpY21Wd2JHRmpaU0lzSW5aaGJIVmxVSEp2WTJWemMyOXljeUlzSW1WdGNIUjVWR0ZuSWl3aWRtRnNhV1JoZEc5eUlpd2ljbVZ6ZFd4MGN5SXNJbU52Ym1OaGRDSXNJbXB2YVc0aUxDSmphR2xzWkd0bGVTSXNJbU5vWVhKelFYTkRhR2xzWkhKbGJpSXNJbWRsZEU5M2JsQnliM0JsY25SNVRtRnRaWE1pTENKbGVIQnNhV05wZEZKdmIzUWlMQ0owWlhoMElpd2lZMmhoY2tOb2FXeGtJaXdpYVc1amJIVmtaVmRvYVhSbFEyaGhjbk1pTENJamJtRnRaU0lzSW05dVkyUmhkR0VpTENKemRISWlMQ0pqWWlJc0ltOXVJaXdpY21WemRXeDBJaXdpZEc5VGRISnBibWNpTENKemRISnBjRUpQVFNJc0ltRnplVzVqSWl3aVVISnZiV2x6WlNJc0luSmxjMjlzZG1VaUxDSnlaV3BsWTNRaUxDSmhJaXdpWWlKZExDSnRZWEJ3YVc1bmN5STZJa05CUTBFc1YwRkRSU3hoUVVOQkxFbEJRVWxCTEVWQlFVdERMRVZCUVZWRExFVkJRVkZETEVWQlFWTkRMRVZCUVdGRExFVkJRVmxETEVWQlFVdERMRVZCUTJoRlF5eEZRVUZQTEZOQlFWTkRMRVZCUVVsRExFZEJRVXNzVDBGQlR5eFhRVUZaTEU5QlFVOUVMRVZCUVVkRkxFMUJRVTFFTEVWQlFVbEZMR0ZCUldoRlF5eEZRVUZWTEVkQlFVZERMR1ZCUldaU0xFVkJRVTFUTEZGQlFWRXNUMEZGWkdJc1JVRkJVMkVzVVVGQlVTeFZRVVZxUW1Zc1JVRkJUV1VzVVVGQlVTeFRRVVZrVml4RlFVRmhWU3hSUVVGUkxHZENRVVZ5UWxJc1JVRkJaVkVzVVVGQlVTeFZRVUZWVWl4aFFVVnFRMDRzUlVGQlYyTXNVVUZCVVN4alFVRmpaQ3hUUVVWcVEwVXNSVUZCVlN4VFFVRlRZU3hIUVVOcVFpeE5RVUYzUWl4cFFrRkJWa0VzUjBGQlowTXNUVUZCVkVFc1IwRkJaMFFzU1VGQk9VSkRMRTlCUVU5RExFdEJRVXRHTEVkQlFVOUhMRkZCUnpWRlppeEZRVUZqTEZOQlFWTkRMRVZCUVZsbExFVkJRVTFETEVkQlEzWkRMRWxCUVVsRExFVkJRVWRETEVWQlExQXNTVUZCUzBRc1JVRkJTU3hGUVVGSFF5eEZRVUZOYkVJc1JVRkJWMk1zVDBGQlVVY3NSVUZCU1VNc1JVRkJTMFFzU1VGRk5VTkdMRWRCUkVGSkxFVkJRVlZ1UWl4RlFVRlhhVUlzU1VGRFRrWXNSVUZCVFVNc1IwRkZka0lzVDBGQlQwUXNSMEZIVkVzc1VVRkJVVU1zVDBGQlV5eFRRVUZWUXl4SFFVZDZRaXhUUVVGVFJDeEZRVUZQUlN4SFFVMWtMRWxCUVVsUUxFVkJRVXRSTEVWQlFVdERMRVZCUTJRc1IwRk9RVU1zUzBGQlMwTXNiVUpCUVhGQ2VFSXNSVUZCUzNWQ0xFdEJRVXRETEcxQ1FVRnZRa1FzVFVGRGVFUkJMRXRCUVV0RkxGbEJRV042UWl4RlFVRkxkVUlzUzBGQlMwVXNXVUZCWVVZc1RVRkRNVU5CTEV0QlFVdEhMRTFCUVZFeFFpeEZRVUZMZFVJc1MwRkJTMGNzVFVGQlQwZ3NUVUZET1VKQkxFdEJRVXRKTEdGQlFXVXpRaXhGUVVGTGRVSXNTMEZCUzBrc1lVRkJZMG9zVFVGRE5VTkJMRXRCUVV0TExHRkJRV1UxUWl4RlFVRkxkVUlzUzBGQlMwc3NZVUZCWTB3c1VVRkZkRU5CTEdkQ1FVRm5RazRzVVVGQlVVTXNVVUZETlVJc1QwRkJUeXhKUVVGSlJDeFJRVUZSUXl4UFFVRlBSU3hIUVVrMVFpeEpRVUZMVUN4TFFVWk1WU3hMUVVGTFRTeFJRVUZWTEVkQlEyWlNMRVZCUVUwMVFpeEZRVUZUTEVsQlJWSlpMRVZCUVZGNVFpeExRVUZMVkN4RlFVRkxVaXhMUVVOMlFsTXNSVUZCVVVRc1JVRkJTVklzUjBGRFdsVXNTMEZCUzAwc1VVRkJVV2hDTEVkQlFVOVRMRWRCUlhSQ0xFbEJRVXRVTEV0QlFVOVBMRVZCUTB4bUxFVkJRVkY1UWl4TFFVRkxWaXhGUVVGTlVDeExRVU40UWxNc1JVRkJVVVlzUlVGQlMxQXNSMEZEWWxVc1MwRkJTMDBzVVVGQlVXaENMRWRCUVU5VExFZEJSV3hDUXl4TFFVRkxUU3hSUVVGUlJTeFJRVU5tVWl4TFFVRkxUU3hSUVVGUlJ5eFRRVUZYVkN4TFFVRkxUU3hSUVVGUlNTeFJRVUZWTEUxQlJUZERWaXhMUVVGTFRTeFJRVUZSU3l4blFrRkRWbGdzUzBGQlMwMHNVVUZCVVUwc2IwSkJRMmhDV2l4TFFVRkxUU3hSUVVGUlRTeHJRa0ZCYjBJc1NVRkZia05hTEV0QlFVdE5MRkZCUVZGTkxHdENRVUZyUWtNc1VVRkJVWFpETEVWQlFWZDNReXhaUVVWd1JHUXNTMEZCUzBjc1VVRjVVbEFzVDBGMlZsTXNVMEZCVTFrc1JVRkJUME1zUjBGQlZTeEpRVUZMTEVsQlFVa3hRaXhMUVVGUE1FSXNSVUZCWTJ4RExFVkJRVkY1UWl4TFFVRkxVeXhGUVVGUk1VSXNTMEZCVFhsQ0xFVkJRVTE2UWl4SFFVRlBNRUlzUlVGQlR6RkNMRWxCUVZFc1UwRkJVekpDTEVsQlFWTnFRaXhMUVVGTGEwSXNXVUZCWTBnc1JVRkJVMFVzUlVGQlMwVXNWVUZCV1Vnc1JVRkJUMGNzVlVGQlYwb3NSVUZCVFVrc1ZVRkJXU3hKUVVGSlJpeEZRVUZSUml4RlFVRk5TeXhWUVVGWlNpeEZRVUZQUnl4VlFUWkNhRkZGTEVOQlFVOHhRaXhGUVRSVVRuaENMRWRCZUZKRWQwSXNSVUZCVDNkQ0xGVkJRVlZrTEdGQlFXVXNWMEZET1VJc1NVRkJTV2xDTEVWQlFVOURMRVZCUTFnc1NVRkRSU3hQUVVGSmRrSXNTMEZCUzNkQ0xGVkJRVlZ3UXl4UlFVRlZXU3hMUVVGTFRTeFJRVUZSYlVJc1YwRkRlRU5JTEVWQlFWRjBRaXhMUVVGTGQwSXNWVUZEWW5oQ0xFdEJRVXQzUWl4VlFVRlpMRWRCUTJwQ2VFSXNTMEZCU3pCQ0xGVkJRVmt4UWl4TFFVRkxNRUlzVlVGQlZVTXNUVUZCVFV3c1IwRkRMMEowUWl4TFFVRkxNRUlzVlVGQlZVVXNWVUZGZEVKT0xFVkJRVkYwUWl4TFFVRkxkMElzVlVGQlZVc3NUMEZCVHl4RlFVRkhOMElzUzBGQlMwMHNVVUZCVVcxQ0xGZEJRemxEZWtJc1MwRkJTM2RDTEZWQlFWbDRRaXhMUVVGTGQwSXNWVUZCVlVzc1QwRkJUemRDTEV0QlFVdE5MRkZCUVZGdFFpeFZRVUZYZWtJc1MwRkJTM2RDTEZWQlFWVndReXhSUVVNNVJWa3NTMEZCU3pCQ0xGVkJRVmt4UWl4TFFVRkxNRUlzVlVGQlZVTXNUVUZCVFV3c1IwRkRMMEk1UXl4RlFVRmhkMElzUzBGQlMwc3NaVUZGTTBJc1RVRkJUM2xDTEVkQlJWQXNSMEZFUVZBc1JVRkJUVThzUjBGRFJEbENMRXRCUVVzd1FpeFZRVUZWU3l4VlFVVnNRaXhQUVVSQkwwSXNTMEZCU3pCQ0xGVkJRVlZMTEZkQlFWa3NSVUZEY0VJdlFpeExRVUZMWjBNc1MwRkJTMVFzUzBGTGRrSTFRaXhGUVVGUGQwSXNWVUZCVldZc1lVRkJaU3hUUVVGVE5rSXNSVUZCU3pORExFVkJRVXMwUXl4SFFVTnFSQ3hQUVVGTk5VTXNTMEZCVHpKRExFZEJUMHhCTEVWQlFVa3pReXhoUVVGblFqWkRMRkZCUTNoQ1JpeEZRVUZKTTBNc1IwRkJUeXhEUVVGRE1rTXNSVUZCU1RORExFdEJSVmd5UXl4RlFVRkpNME1zUjBGQlN6aERMRXRCUVV0R0xFbEJWR2hDYkVNc1MwRkJTMDBzVVVGQlVTdENMR05CUjFSS0xFVkJRVWt6UXl4SFFVRlBMRU5CUVVNMFF5eEhRVVphUkN4RlFVRkpNME1zUjBGQlR6UkRMRWRCV1hoQ2RrTXNSVUZCVDNkQ0xGVkJRVlZvUWl4TlFVRlJMRmRCUTNaQ0xFbEJRVWxQTEVWQlFWTTBRaXhGUVVGVFF5eEZRVUZSUXl4RlFWRkxReXhGUVRCTGJrTXNUMEZxVEVGNlF5eExRVUZMTUVNc2NVSkJRMHd4UXl4TFFVRkxNRUlzVlVGQldXNUVMRVZCUVVsdlJTeFBRVUZQTTBNc1MwRkJTMDBzVVVGQlVYTkRMRTlCUVZFc1EwRkRMME5ETEUxQlFVMHNSVUZEVGk5Q0xGZEJRVmNzUlVGRFdFNHNUVUZCVDFJc1MwRkJTMDBzVVVGQlVVVXNVVUZGZEVKU0xFdEJRVXN3UWl4VlFVRlZTeXhYUVVGWkxFVkJRek5DTDBJc1MwRkJTekJDTEZWQlFWVnZRaXhUUVVGdlFrd3NSVUZSYUVONlF5eExRVkJOTEZOQlFWTXJReXhIUVVWa0xFZEJSRUZPTEVWQlFVMW1MRlZCUVZWelFpeFZRVU5ZVUN4RlFVRk5aaXhWUVVGVlN5eFZRVVZ1UWl4UFFVUkJWU3hGUVVGTlppeFZRVUZWU3l4WFFVRlpMRVZCUTNKQ1ZTeEZRVUZOVkN4TFFVRkxMRkZCUVZObExFdEJTV3BETDBNc1MwRkJTekJDTEZWQlFWVjFRaXhOUVVGUkxGTkJRVlZTTEVkQlF5OUNMRTlCUVU4c1YwRkRUQ3hKUVVGTFFTeEZRVUZOWml4VlFVRlZkMElzVFVGRmJrSXNUMEZFUVZRc1JVRkJUV1lzVlVGQlZYZENMRTlCUVZFc1JVRkRha0pVTEVWQlFVMVVMRXRCUVVzc1RVRkJUMU1zUlVGQlRWVXNaVUZLWkN4RFFVOXdRbTVFTEUxQlEwaEJMRXRCUVVzd1FpeFZRVUZWZDBJc1QwRkJVU3hGUVVOMlFteEVMRXRCUVV0dlJDeHBRa0ZCYlVKd1JDeExRVUZMVFN4UlFVRlJLME1zWjBKQlEzSkRja1FzUzBGQlMyMUVMR0ZCUVdVc1MwRkRjRUpZTEVWQlFWRXNSMEZEVWpsQ0xFVkJRVlZXTEV0QlFVdE5MRkZCUVZGSkxGRkJRM1pDTkVJc1JVRkJWWFJETEV0QlFVdE5MRkZCUVZGblF5eFJRVU4yUW5SRExFdEJRVXN3UWl4VlFVRlZORUlzVlVGQldTeFRRVUZWWWl4SFFVTnVReXhQUVVGUExGTkJRVk5qTEVkQlEyUXNTVUZCU1dwRkxFVkJRVXMwUXl4RlFVRlZSQ3hGUVVGTGRVSXNSVUZCWXpGRUxFVkJSM1JETEVsQlJrRnRReXhGUVVGTkxFbEJRMFpMTEVkQlFWY3NTVUZEVmtjc1JVRkJUVzVETEZGQlFWRnRSQ3haUVVWcVFpeEpRVUZMYmtVc1MwRkVURkVzUlVGQlRYbEVMRVZCUVV0SExGZEJSVW8xUlN4RlFVRlJlVUlzUzBGQlMxUXNSVUZCUzFJc1MwRkRha0p2UWl4TFFVRlhkVUlzUjBGQlUxRXNSVUZCVFc1RExGRkJRVkZ4UkN4aFFVTjBRekZDTEVWQlFVbDJRaXhIUVVGWExFbEJSV3BDZDBJc1JVRkJWMDhzUlVGQlRXNURMRkZCUVZGelJDeHZRa0ZCYzBKMlJpeEZRVUZaYjBVc1JVRkJUVzVETEZGQlFWRnpSQ3h2UWtGQmNVSk1MRVZCUVV0SExGZEJRVmR3UlN4SFFVRk5RU3hIUVVGUGFVVXNSVUZCUzBjc1YwRkJWM0JGTEVkQlF6TkphMFVzUlVGQlpXWXNSVUZCVFc1RExGRkJRVkYxUkN4dFFrRkJjVUo0Uml4RlFVRlpiMFVzUlVGQlRXNURMRkZCUVZGMVJDeHRRa0ZCYjBKMlJTeEhRVUZQUVN4RlFVTnVSMjFFTEVWQlFVMXVReXhSUVVGUmNVUXNWMEZEYUVKc1FpeEZRVUZOY2tNc1lVRkJZVFpDTEVWQlFVdDFRaXhGUVVGamRFSXNSMEZGZEVORUxFVkJRVWwyUWl4SFFVRlRPRU1zUjBGQlowSjBRaXhIUVZkdVF5eFBRVkJCUkN4RlFVRkpMRk5CUVZkUkxFVkJRVTF1UXl4UlFVRlJUU3hyUWtGQmIwSjJReXhGUVVGWmIwVXNSVUZCVFc1RExGRkJRVkZOTEd0Q1FVRnRRakpETEVWQlFVdFBMRTFCUVZGUUxFVkJRVXRQTEV0QlF6Vkhja0lzUlVGQlRXNURMRkZCUVZGRkxGRkJRMmhDZVVJc1JVRkJTVkVzUlVGQlRXNURMRkZCUVZGSExGVkJRVmtzUTBGRE5VSnpSQ3hKUVVGTFVpeEZRVUZMVVN4SlFVTldReXhOUVVGUFZDeEZRVUZMVXl4UlFVZFVlRUlzUlVGQlRVb3NTMEZCUzBnc1NVRTFRa3NzUTBFNFFuaENha01zVFVGRFNFRXNTMEZCU3pCQ0xGVkJRVlYxUXl4WFFVRmhMRk5CUVZWNFFpeEhRVU53UXl4UFFVRlBMRmRCUTB3c1NVRkJTWGxDTEVWQlFVOURMRVZCUVZVM1JTeEZRVUZMYVVVc1JVRkJUV0VzUlVGQlZXNURMRVZCUVV0dlF5eEZRVUZWUXl4RlFVRkxReXhGUVVGSFF5eEZRV2xFYWtVc1IwRm9SRUYyUXl4RlFVRk5UeXhGUVVGTmFVTXNUVUZEV2t3c1JVRkJWMjVETEVWQlFVa3NVMEZEVmxFc1JVRkJUVzVETEZGQlFWRnZSU3hyUWtGQmNVSnFReXhGUVVGTmJrTXNVVUZCVVhGRkxEaENRVU0zUXpGRExFVkJRVWtzVlVGRlN5eEpRVUZrUVN4RlFVRkphVU1zVVVGRFRrRXNSVUZCVVdwRExFVkJRVWxwUXl4aFFVTk1ha01zUlVGQlNXbERMRTlCUldKTExFVkJRVWt2UWl4RlFVRk5RU3hGUVVGTmNFUXNUMEZCVXl4SFFVTnlRalpETEVWQlFVbExMRWRCUVZOelF5eE5RVUZOTEZkQlFXRldMRWRCUTJ4RFF5eEZRVUZYYkVNc1JVRkJTVXNzVlVGRFVrd3NSVUZCU1Vzc1MwRkZVRWNzUlVGQlRXNURMRkZCUVZGMVF5eFBRVU5vUWxvc1JVRkJTVXNzUjBGQlYwd3NSVUZCU1Vzc1IwRkJVMDhzVVVGRk1VSktMRVZCUVUxdVF5eFJRVUZSVVN4WlFVTm9RbTFDTEVWQlFVbExMRWRCUVZkTUxFVkJRVWxMTEVkQlFWTjFReXhSUVVGUkxGVkJRVmNzUzBGQlMyaERMRkZCUlhSRVdpeEZRVUZKU3l4SFFVRlhSeXhGUVVGTmJrTXNVVUZCVVhkRkxHZENRVUZyUW5wSExFVkJRVmx2UlN4RlFVRk5ia01zVVVGQlVYZEZMR2RDUVVGcFFqZERMRVZCUVVsTExFZEJRVlU0UWl4SFFVRlpia01zUlVGQlNVc3NSMEZEZUVZc1NVRkJOVUp3UkN4UFFVRlBReXhMUVVGTE9FTXNSMEZCU3pkRExGRkJRV2RDYTBRc1MwRkJWMHdzU1VGQlVWRXNSVUZCVFZjc2JVSkJRelZFYmtJc1JVRkJUVUVzUlVGQlNVc3NTMEZIVm14RkxFVkJRVkUyUkN4TFFVTldRU3hGUVVGcFF5eExRVUV6UWxFc1JVRkJUVzVETEZGQlFWRjVSU3hUUVVGclFuUkRMRVZCUVUxdVF5eFJRVUZSZVVVc1UwRkJWMW9zUjBGRmJFTXNUVUZCTTBJeFFpeEZRVUZOYmtNc1VVRkJVVEJGTEZsQlEyaENVaXhGUVVGUkxFbEJRVThzVjBGRFlpeEpRVUZKYWtZc1JVRkJSME1zUlVGQlMzbEdMRVZCUlZvc1NVRkVRVUVzUlVGQlZTeEhRVU5NTVVZc1JVRkJTU3hGUVVGSFF5eEZRVUZOWjBRc1JVRkJUWEJFTEU5QlFWRkhMRVZCUVVsRExFVkJRVXRFTEVsQlEzWkRaMFVzUlVGQlQyWXNSVUZCVFdwRUxFZEJRMkl3Uml4RlFVRlJOME1zUzBGQlMyMUNMRVZCUVVzc1ZVRkZjRUlzVDBGQlR6QkNMRVZCVUVzc1IwRlJVa01zVDBGQlQyUXNSMEZCVldVc1MwRkJTeXhMUVVNMVFpeFhRVU5GTEVsQlFVazFSQ3hGUVVOS0xFbEJRMU5WTEVWQlFVMVJMRVZCUVUxdVF5eFJRVUZSTUVVc1ZVRkJWVklzUlVGQlQwUXNSMEZCUzBFc1JVRkJSVWdzUjBGQlYyNURMRWRCUXpsRUxFMUJRVTlJTEVkQlJWQXNUMEZFUVZBc1JVRkJUVThzUlVGRFExY3NSVUZCVFZRc1MwRkJTeXhSUVVGVFZDeEpRVTR2UWl4SlFWVkZhMElzUlVGQlRXNURMRkZCUVZGdlJTeHRRa0ZCY1VKcVF5eEZRVUZOYmtNc1VVRkJVWEZFTEZsQlFUWkNMR2xDUVVGU01VSXNSVUZEZUVVc1IwRkJTMUVzUlVGQlRXNURMRkZCUVZGeFJTeDFRa0ZqV2l4SFFVRkpTaXhGUVVGSExFTkJSMW9zU1VGQlMycEdMRXRCUmt4cFJpeEZRVUZGT1VJc1JVRkJUVzVETEZGQlFWRTRSU3hWUVVGWllpeEZRVUZGT1VJc1JVRkJUVzVETEZGQlFWRTRSU3hYUVVGaExFZEJRM3BFWml4RlFVRlhMRWRCUTBOd1F5eEZRVU5NYmtRc1JVRkJVWGxDTEV0QlFVc3dRaXhGUVVGTE0wTXNTMEZEZGtJclJTeEZRVUZUTDBVc1IwRkJUekpETEVWQlFVa3pReXhKUVVWMFFtbEdMRVZCUVVVNVFpeEZRVUZOYmtNc1VVRkJVVGhGTEZWQlFWVm9SQ3hMUVVGTGFVTXNWVUZEZUVKd1F5eEZRVUZKTEZOQlEzRkNMRWxCUVRWQ0wwTXNUMEZCVDBNc1MwRkJTemhETEVkQlFVczNReXhSUVVGblFtdEVMRXRCUVZkTUxFbEJRVkZSTEVWQlFVMVhMRzFDUVVNMVJHNUNMRVZCUVUxQkxFVkJRVWxMTEZWQmRrSmFhVUlzUlVGQlR5eEhRVU5JWkN4RlFVRk5ia01zVVVGQlVVa3NWMEZCVjNWQ0xFbEJRek5DYzBJc1JVRkJTMlFzUlVGQlRXNURMRkZCUVZGSkxGTkJRVmQxUWl4RlFVRkpVU3hGUVVGTmJrTXNVVUZCVVVrc1owSkJRM3BEZFVJc1JVRkJTVkVzUlVGQlRXNURMRkZCUVZGSkxGZEJSWFJDSzBJc1JVRkJUVzVETEZGQlFWRXJSU3hwUWtGQmJVSTFReXhGUVVGTmJrTXNVVUZCVVdkRExGZEJRVmRNTEVsQlF6ZEVjMElzUlVGQlMyUXNSVUZCVFc1RExGRkJRVkZuUXl4VFFVRlhUQ3hGUVVGSlVTeEZRVUZOYmtNc1VVRkJVV2RETEdkQ1FVTjZRMHdzUlVGQlNWRXNSVUZCVFc1RExGRkJRVkZuUXl4VlFVVjJRbkJFTEU5QlFVOXZSeXh2UWtGQmIwSnlSQ3hIUVVGTE4wTXNUMEZCVXl4SlFVTXpRMjFGTEVWQlFVdGtMRVZCUVUxdVF5eFJRVUZST0VVc1ZVRkJXVzVFTEVkQlJXcERRU3hGUVVGTmMwSXNSVUZsVml4UFFVRkpaaXhGUVVGTmNFUXNUMEZCVXl4RlFVTldjVVFzUlVGQlRYSkRMR0ZCUVdGdFJTeEZRVUZIU0N4RlFVRlZia01zU1VGRmJrTlJMRVZCUVUxdVF5eFJRVUZSYVVZc1pVRkRhRUpxUWl4RlFVRk5ja01zUjBGRFRrRXNSVUZCVFN4SlFVTkdiVU1zUjBGQldVVXNSMEZGYkVJM1FpeEZRVUZOVlN4aFFVRmxiRUlzUlVGRGNrSlJMRVZCUVUxbUxGVkJRVlYzUWl4UFFVRlJMRVZCUTJwQ1ZDeEZRVUZOVkN4TFFVRkxMRTFCUVU5VExFVkJRVTFWTEdkQ1FURkdWQ3hEUVRaR2VrSnVSQ3hOUVVOSWRVTXNSVUZCVXl4VFFVRlZSU3hIUVVOcVFpeFBRVUZQTEZOQlFWTXJReXhIUVVOa0xFbEJRVWxETEVWQlFWZHNRaXhGUVVWbUxFZEJSRUZCTEVWQlFVa3ZRaXhGUVVGTlFTeEZRVUZOY0VRc1QwRkJVeXhIUVdOMlFpeFBRVnBCYlVZc1JVRkJSV3BETEVsQlFWbHJSQ3hGUVVOV0wwTXNSVUZCVFc1RExGRkJRVkZ2UlN4clFrRkJiMEpxUXl4RlFVRk5ia01zVVVGQlVYRkZMSFZDUVVGNVFteERMRVZCUVUxdVF5eFJRVUZSSzBVc2EwSkJRVzlDTlVNc1JVRkJUVzVETEZGQlFWRnZSaXh0UWtGQmVVUXNTMEZCY0VOR0xFVkJRVXRZTEZGQlFWRXNUMEZCVVN4SlFVRkphRU1zVlVGRGVrc3dRaXhGUVVGRk9VSXNSVUZCVFc1RExGRkJRVkU0UlN4VlFVRlpZaXhGUVVGRk9VSXNSVUZCVFc1RExGRkJRVkU0UlN4WFFVRmhMRWxCUTNwRVN5eEZRVUZaTEVOQlExWkZMRkZCUVZNc1lVRkZSSEpFTEVkQlFWZHJSQ3hGUVVOcVFpOURMRVZCUVUxdVF5eFJRVUZSVVN4WlFVTm9RakpGTEVWQlFWVnVSQ3hIUVVGWGJVUXNSVUZCVlc1RUxFZEJRVk4xUXl4UlFVRlJMRlZCUVZjc1MwRkJTMmhETEZGQlJXeEZNRUlzUlVGQlJUbENMRVZCUVUxdVF5eFJRVUZST0VVc1ZVRkJWV2hFTEV0QlFVdHhSQ3hKUVVVeFFteENMRWRCYWtKS0xFTkJiMEpPZGtVc1RVRkRTRUVzUzBGQlN6QkNMRlZCUVZWaExFOUJRVk5CTEVWQlEycENka01zUzBGQlN6QkNMRlZCUVZWclJTeFJRVU5pTEZOQlFWTktMRWRCUTJRc1NVRkJTV3BDTEVWQlJVb3NSMEZFUVVFc1JVRkJTV2hETEVWQlFVOXBSQ3hIUVVWVUxFOUJRVTlxUWl4RlFVRkZUQ3hQUVVGUkxFbEJUWHBDZGtVc1JVRkJUM2RDTEZWQlFWVnFRaXhaUVVGakxGTkJRVk15Uml4RlFVRkxReXhIUVVNelF5eEpRVUZKZGtVc1JVRkRUeXhOUVVGT2RVVXNSMEZCTmtJc2JVSkJRVkJCTEVsQlEzcENPVVlzUzBGQlN5dEdMRWRCUVVjc1RVRkJUeXhUUVVGVFF5eEhRVVYwUWl4UFFVUkJhRWNzUzBGQlMwY3NVVUZEUlRKR0xFVkJRVWNzUzBGQlRVVXNTMEZGYkVKb1J5eExRVUZMSzBZc1IwRkJSeXhSUVVGVExGTkJRVk40UlN4SFFVVjRRaXhQUVVSQmRrSXNTMEZCUzBjc1VVRkRSVEpHTEVWQlFVZDJSU3hOUVVka0xFbEJSVVVzVFVGQmJVSXNUVUZFYmtKelJTeEZRVUZOUVN4RlFVRkpTU3haUVVOR2NFUXNVVUZEVGpkRExFdEJRVXRuUXl4TFFVRkxMRTFCUVU4c1QwRkRWaXhKUVVWVU5rUXNSVUZCVFRWSUxFVkJRVWxwU1N4VFFVRlRUQ3hIUVVObU4wWXNTMEZCUzAwc1VVRkJVVFpHTEU5QlEyWnVSeXhMUVVGTGQwSXNWVUZCV1hGRkxFVkJRMnBDY2tnc1JVRkJZWGRDTEV0QlFVdExMR05CUTFoTUxFdEJRVXN3UWl4WFFVVlFNVUlzUzBGQlN6QkNMRlZCUVZWRExFMUJRVTFyUlN4SFFVRkxha1VzVTBGRGFrTXNUVUZCVDBVc1IwRkZVQ3hIUVVSQlVDeEZRVUZOVHl4SFFVTkJPVUlzUzBGQlN6QkNMRlZCUVZWTExGbEJRV0V2UWl4TFFVRkxNRUlzVlVGQlZYZENMRTFCUlM5RExFOUJSRUZzUkN4TFFVRkxaME1zUzBGQlN5eFJRVUZUVkN4SFFVTmFka0lzUzBGQlN6QkNMRlZCUVZWTExGZEJRVmtzUlVGRE4wSXNSMEZCU1M5Q0xFdEJRVXN3UWl4VlFVRlZkMElzVFVGRGVFSXNUVUZCVFROQ0xFbEJTMW8xUWl4RlFVRlBkMElzVlVGQlZXeENMRzFDUVVGeFFpeFRRVUZUTkVZc1IwRkROME1zVDBGQlR5eEpRVUZKVHl4VFFVRnJRak5FTEVWQlZURkNla01zUzBGVVRTeFRRVUZUY1Vjc1JVRkJVME1zUjBGRGRrSXNUMEZCVHpkRUxFVkJRVTEyUXl4WlFVRlpNa1lzUlVGQlN5eFRRVUZUZEVVc1JVRkJTM2hDTEVkQlF6RkRMRTlCUVVsM1FpeEZRVU5MSzBVc1JVRkJUeTlGTEVkQlJWQTRSU3hGUVVGUmRFY3NVVUZPU2l4SlFVRlZNRU1zUjBGaGVFSTVReXhGUVROVVVTeEhRU3RVYWtKRUxGRkJRVkZSTEZsQlFXTXNVMEZCVXpKR0xFVkJRVXRWTEVWQlFVZERMRWRCUTNKRExFbEJRVWxXTEVWQlFVbDRSaXhGUVdWU0xFOUJaRk1zVFVGQlRHdEhMRWRCUTJVc2JVSkJRVTVCTEVsQlExUldMRVZCUVV0VkxFZEJSVlVzYVVKQlFVNUVMRWxCUTFScVJ5eEZRVUZWYVVjc1MwRkhTeXh0UWtGQlRrRXNTVUZEVkZRc1JVRkJTMU1zUjBGRlVHcEhMRVZCUVZVc1NVRkZTQ3hKUVVGSldpeFJRVUZSUXl4UFFVRlBWeXhIUVVOa1NpeFpRVUZaTWtZc1JVRkJTME1zU1VGSGFrTndSeXhSUVVGUlR5eHRRa0ZCY1VJc1UwRkJVelJHTEVWQlFVdFZMRWRCUTNwRExFbEJRVWxxUnl4RlFVdEtMRTFCU21sQ0xHbENRVUZPYVVjc1NVRkRWR3BITEVWQlFWVnBSeXhIUVVWSUxFbEJRVWszUnl4UlFVRlJReXhQUVVGUFZ5eEhRVU5rVEN4dFFrRkJiVUkwUml4TlFVZHNRM1JHTEV0QlFVdFFJaXdpWm1sc1pTSTZJaTlvYjIxbEwzcHBibTh2Y0hKdmFtVmpkSE12YzJWaGRHMWhjSFl5TDIxaGMzUmxjaTl6WldGMGJXRndkakl2WTJ4cFpXNTBMMjV2WkdWZmJXOWtkV3hsY3k5NGJXd3lhbk12YkdsaUwzQmhjbk5sY2k1cWN5SjkiLCIoZnVuY3Rpb24oKXtcInVzZSBzdHJpY3RcIjt2YXIgZTtlPW5ldyBSZWdFeHAoLyg/IXhtbG5zKV4uKjovKSxleHBvcnRzLm5vcm1hbGl6ZT1mdW5jdGlvbihlKXtyZXR1cm4gZS50b0xvd2VyQ2FzZSgpfSxleHBvcnRzLmZpcnN0Q2hhckxvd2VyQ2FzZT1mdW5jdGlvbihlKXtyZXR1cm4gZS5jaGFyQXQoMCkudG9Mb3dlckNhc2UoKStlLnNsaWNlKDEpfSxleHBvcnRzLnN0cmlwUHJlZml4PWZ1bmN0aW9uKHIpe3JldHVybiByLnJlcGxhY2UoZSxcIlwiKX0sZXhwb3J0cy5wYXJzZU51bWJlcnM9ZnVuY3Rpb24oZSl7cmV0dXJuIGlzTmFOKGUpfHwoZT1lJTE9PTA/cGFyc2VJbnQoZSwxMCk6cGFyc2VGbG9hdChlKSksZX0sZXhwb3J0cy5wYXJzZUJvb2xlYW5zPWZ1bmN0aW9uKGUpe3JldHVybi9eKD86dHJ1ZXxmYWxzZSkkL2kudGVzdChlKSYmKGU9XCJ0cnVlXCI9PT1lLnRvTG93ZXJDYXNlKCkpLGV9fSkuY2FsbCh0aGlzKTtcblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYkluQnliMk5sYzNOdmNuTXVhbk1pWFN3aWJtRnRaWE1pT2xzaWNISmxabWw0VFdGMFkyZ2lMQ0pTWldkRmVIQWlMQ0psZUhCdmNuUnpJaXdpYm05eWJXRnNhWHBsSWl3aWMzUnlJaXdpZEc5TWIzZGxja05oYzJVaUxDSm1hWEp6ZEVOb1lYSk1iM2RsY2tOaGMyVWlMQ0pqYUdGeVFYUWlMQ0p6YkdsalpTSXNJbk4wY21sd1VISmxabWw0SWl3aWNtVndiR0ZqWlNJc0luQmhjbk5sVG5WdFltVnljeUlzSW1selRtRk9JaXdpY0dGeWMyVkpiblFpTENKd1lYSnpaVVpzYjJGMElpd2ljR0Z5YzJWQ2IyOXNaV0Z1Y3lJc0luUmxjM1FpTENKallXeHNJaXdpZEdocGN5SmRMQ0p0WVhCd2FXNW5jeUk2SWtOQlEwRXNWMEZEUlN4aFFVTkJMRWxCUVVsQkxFVkJSVXBCTEVWQlFXTXNTVUZCU1VNc1QwRkJUeXhwUWtGRmVrSkRMRkZCUVZGRExGVkJRVmtzVTBGQlUwTXNSMEZETTBJc1QwRkJUMEVzUlVGQlNVTXNaVUZIWWtnc1VVRkJVVWtzYlVKQlFYRkNMRk5CUVZOR0xFZEJRM0JETEU5QlFVOUJMRVZCUVVsSExFOUJRVThzUjBGQlIwWXNZMEZCWjBKRUxFVkJRVWxKTEUxQlFVMHNTVUZIYWtST0xGRkJRVkZQTEZsQlFXTXNVMEZCVTB3c1IwRkROMElzVDBGQlQwRXNSVUZCU1Uwc1VVRkJVVllzUlVGQllTeExRVWRzUTBVc1VVRkJVVk1zWVVGQlpTeFRRVUZUVUN4SFFVazVRaXhQUVVoTFVTeE5RVUZOVWl4TFFVTlVRU3hGUVVGTlFTeEZRVUZOTEVkQlFVMHNSVUZCU1ZNc1UwRkJVMVFzUlVGQlN5eEpRVUZOVlN4WFFVRlhWaXhKUVVWb1JFRXNSMEZIVkVZc1VVRkJVV0VzWTBGQlowSXNVMEZCVTFnc1IwRkpMMElzVFVGSVNTeHZRa0ZCYjBKWkxFdEJRVXRhTEV0QlF6TkNRU3hGUVVFMFFpeFRRVUYwUWtFc1JVRkJTVU1zWlVGRlRFUXNTMEZIVW1Fc1MwRkJTME1pTENKbWFXeGxJam9pTDJodmJXVXZlbWx1Ynk5d2NtOXFaV04wY3k5elpXRjBiV0Z3ZGpJdmJXRnpkR1Z5TDNObFlYUnRZWEIyTWk5amJHbGxiblF2Ym05a1pWOXRiMlIxYkdWekwzaHRiREpxY3k5c2FXSXZjSEp2WTJWemMyOXljeTVxY3lKOSIsIihmdW5jdGlvbigpe1widXNlIHN0cmljdFwiO3ZhciByLGUsdCxzLG89e30uaGFzT3duUHJvcGVydHk7ZT1yZXF1aXJlKFwiLi9kZWZhdWx0c1wiKSxyPXJlcXVpcmUoXCIuL2J1aWxkZXJcIiksdD1yZXF1aXJlKFwiLi9wYXJzZXJcIikscz1yZXF1aXJlKFwiLi9wcm9jZXNzb3JzXCIpLGV4cG9ydHMuZGVmYXVsdHM9ZS5kZWZhdWx0cyxleHBvcnRzLnByb2Nlc3NvcnM9cyxleHBvcnRzLlZhbGlkYXRpb25FcnJvcj1mdW5jdGlvbihyKXtmdW5jdGlvbiBlKHIpe3RoaXMubWVzc2FnZT1yfXJldHVybiBmdW5jdGlvbihyLGUpe2Zvcih2YXIgdCBpbiBlKW8uY2FsbChlLHQpJiYoclt0XT1lW3RdKTtmdW5jdGlvbiBzKCl7dGhpcy5jb25zdHJ1Y3Rvcj1yfXMucHJvdG90eXBlPWUucHJvdG90eXBlLHIucHJvdG90eXBlPW5ldyBzLHIuX19zdXBlcl9fPWUucHJvdG90eXBlfShlLEVycm9yKSxlfSgpLGV4cG9ydHMuQnVpbGRlcj1yLkJ1aWxkZXIsZXhwb3J0cy5QYXJzZXI9dC5QYXJzZXIsZXhwb3J0cy5wYXJzZVN0cmluZz10LnBhcnNlU3RyaW5nLGV4cG9ydHMucGFyc2VTdHJpbmdQcm9taXNlPXQucGFyc2VTdHJpbmdQcm9taXNlfSkuY2FsbCh0aGlzKTtcblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYkluaHRiREpxY3k1cWN5SmRMQ0p1WVcxbGN5STZXeUppZFdsc1pHVnlJaXdpWkdWbVlYVnNkSE1pTENKd1lYSnpaWElpTENKd2NtOWpaWE56YjNKeklpd2lhR0Z6VUhKdmNDSXNJbWhoYzA5M2JsQnliM0JsY25SNUlpd2ljbVZ4ZFdseVpTSXNJbVY0Y0c5eWRITWlMQ0pXWVd4cFpHRjBhVzl1UlhKeWIzSWlMQ0p6ZFhCbGNrTnNZWE56SWl3aWJXVnpjMkZuWlNJc0luUm9hWE1pTENKamFHbHNaQ0lzSW5CaGNtVnVkQ0lzSW10bGVTSXNJbU5oYkd3aUxDSmpkRzl5SWl3aVkyOXVjM1J5ZFdOMGIzSWlMQ0p3Y205MGIzUjVjR1VpTENKZlgzTjFjR1Z5WDE4aUxDSmxlSFJsYm1RaUxDSkZjbkp2Y2lJc0lrSjFhV3hrWlhJaUxDSlFZWEp6WlhJaUxDSndZWEp6WlZOMGNtbHVaeUlzSW5CaGNuTmxVM1J5YVc1blVISnZiV2x6WlNKZExDSnRZWEJ3YVc1bmN5STZJa05CUTBFc1YwRkRSU3hoUVVOQkxFbEJRVWxCTEVWQlFWTkRMRVZCUVZWRExFVkJRVkZETEVWQlJUZENReXhGUVVGVkxFZEJRVWRETEdWQlJXWktMRVZCUVZkTExGRkJRVkVzWTBGRmJrSk9MRVZCUVZWTkxGRkJRVkVzWVVGRmJFSktMRVZCUVZOSkxGRkJRVkVzV1VGRmFrSklMRVZCUVdGSExGRkJRVkVzWjBKQlJYSkNReXhSUVVGUlRpeFRRVUZYUVN4RlFVRlRRU3hUUVVVMVFrMHNVVUZCVVVvc1YwRkJZVUVzUlVGRmNrSkpMRkZCUVZGRExHZENRVUZyUWl4VFFVRlZReXhIUVVkc1F5eFRRVUZUUkN4RlFVRm5Ra1VzUjBGRGRrSkRMRXRCUVV0RUxGRkJRVlZCTEVWQlIycENMRTlCZEVKVExGTkJRVk5GTEVWQlFVOURMRWRCUVZVc1NVRkJTeXhKUVVGSlF5eExRVUZQUkN4RlFVRmpWQ3hGUVVGUlZ5eExRVUZMUml4RlFVRlJReXhMUVVGTlJpeEZRVUZOUlN4SFFVRlBSQ3hGUVVGUFF5eEpRVUZSTEZOQlFWTkZMRWxCUVZOTUxFdEJRVXROTEZsQlFXTk1MRVZCUVZOSkxFVkJRVXRGTEZWQlFWbE1MRVZCUVU5TExGVkJRVmRPTEVWQlFVMU5MRlZCUVZrc1NVRkJTVVlzUlVGQlVVb3NSVUZCVFU4c1ZVRkJXVTRzUlVGQlQwc3NWVUZuUW1oUlJTeERRVUZQV2l4RlFWRk9ZU3hQUVVaTllpeEZRVkJwUWl4SFFWY3hRa1FzVVVGQlVXVXNVVUZCVlhSQ0xFVkJRVkZ6UWl4UlFVVXhRbVlzVVVGQlVXZENMRTlCUVZOeVFpeEZRVUZQY1VJc1QwRkZlRUpvUWl4UlFVRlJhVUlzV1VGQlkzUkNMRVZCUVU5elFpeFpRVVUzUW1wQ0xGRkJRVkZyUWl4dFFrRkJjVUoyUWl4RlFVRlBkVUlzY1VKQlJXNURWaXhMUVVGTFNpSXNJbVpwYkdVaU9pSXZhRzl0WlM5NmFXNXZMM0J5YjJwbFkzUnpMM05sWVhSdFlYQjJNaTl0WVhOMFpYSXZjMlZoZEcxaGNIWXlMMk5zYVdWdWRDOXViMlJsWDIxdlpIVnNaWE12ZUcxc01tcHpMMnhwWWk5NGJXd3lhbk11YW5NaWZRPT0iLCIoZnVuY3Rpb24oKXttb2R1bGUuZXhwb3J0cz17RGlzY29ubmVjdGVkOjEsUHJlY2VkaW5nOjIsRm9sbG93aW5nOjQsQ29udGFpbnM6OCxDb250YWluZWRCeToxNixJbXBsZW1lbnRhdGlvblNwZWNpZmljOjMyfX0pLmNhbGwodGhpcyk7XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJa1J2WTNWdFpXNTBVRzl6YVhScGIyNHVhbk1pWFN3aWJtRnRaWE1pT2xzaWJXOWtkV3hsSWl3aVpYaHdiM0owY3lJc0lrUnBjMk52Ym01bFkzUmxaQ0lzSWxCeVpXTmxaR2x1WnlJc0lrWnZiR3h2ZDJsdVp5SXNJa052Ym5SaGFXNXpJaXdpUTI5dWRHRnBibVZrUW5raUxDSkpiWEJzWlcxbGJuUmhkR2x2YmxOd1pXTnBabWxqSWl3aVkyRnNiQ0lzSW5Sb2FYTWlYU3dpYldGd2NHbHVaM01pT2lKRFFVTkJMRmRCUTBWQkxFOUJRVTlETEZGQlFWVXNRMEZEWmtNc1lVRkJZeXhGUVVOa1F5eFZRVUZYTEVWQlExaERMRlZCUVZjc1JVRkRXRU1zVTBGQlZTeEZRVU5XUXl4WlFVRmhMRWRCUTJKRExIVkNRVUYzUWl4TlFVZDZRa01zUzBGQlMwTWlMQ0ptYVd4bElqb2lMMmh2YldVdmVtbHVieTl3Y205cVpXTjBjeTl6WldGMGJXRndkakl2YldGemRHVnlMM05sWVhSdFlYQjJNaTlqYkdsbGJuUXZibTlrWlY5dGIyUjFiR1Z6TDNodGJHSjFhV3hrWlhJdmJHbGlMMFJ2WTNWdFpXNTBVRzl6YVhScGIyNHVhbk1pZlE9PSIsIihmdW5jdGlvbigpe21vZHVsZS5leHBvcnRzPXtFbGVtZW50OjEsQXR0cmlidXRlOjIsVGV4dDozLENEYXRhOjQsRW50aXR5UmVmZXJlbmNlOjUsRW50aXR5RGVjbGFyYXRpb246NixQcm9jZXNzaW5nSW5zdHJ1Y3Rpb246NyxDb21tZW50OjgsRG9jdW1lbnQ6OSxEb2NUeXBlOjEwLERvY3VtZW50RnJhZ21lbnQ6MTEsTm90YXRpb25EZWNsYXJhdGlvbjoxMixEZWNsYXJhdGlvbjoyMDEsUmF3OjIwMixBdHRyaWJ1dGVEZWNsYXJhdGlvbjoyMDMsRWxlbWVudERlY2xhcmF0aW9uOjIwNCxEdW1teToyMDV9fSkuY2FsbCh0aGlzKTtcblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYklrNXZaR1ZVZVhCbExtcHpJbDBzSW01aGJXVnpJanBiSW0xdlpIVnNaU0lzSW1WNGNHOXlkSE1pTENKRmJHVnRaVzUwSWl3aVFYUjBjbWxpZFhSbElpd2lWR1Y0ZENJc0lrTkVZWFJoSWl3aVJXNTBhWFI1VW1WbVpYSmxibU5sSWl3aVJXNTBhWFI1UkdWamJHRnlZWFJwYjI0aUxDSlFjbTlqWlhOemFXNW5TVzV6ZEhKMVkzUnBiMjRpTENKRGIyMXRaVzUwSWl3aVJHOWpkVzFsYm5RaUxDSkViMk5VZVhCbElpd2lSRzlqZFcxbGJuUkdjbUZuYldWdWRDSXNJazV2ZEdGMGFXOXVSR1ZqYkdGeVlYUnBiMjRpTENKRVpXTnNZWEpoZEdsdmJpSXNJbEpoZHlJc0lrRjBkSEpwWW5WMFpVUmxZMnhoY21GMGFXOXVJaXdpUld4bGJXVnVkRVJsWTJ4aGNtRjBhVzl1SWl3aVJIVnRiWGtpTENKallXeHNJaXdpZEdocGN5SmRMQ0p0WVhCd2FXNW5jeUk2SWtOQlEwRXNWMEZEUlVFc1QwRkJUME1zVVVGQlZTeERRVU5tUXl4UlFVRlRMRVZCUTFSRExGVkJRVmNzUlVGRFdFTXNTMEZCVFN4RlFVTk9ReXhOUVVGUExFVkJRMUJETEdkQ1FVRnBRaXhGUVVOcVFrTXNhMEpCUVcxQ0xFVkJRMjVDUXl4elFrRkJkVUlzUlVGRGRrSkRMRkZCUVZNc1JVRkRWRU1zVTBGQlZTeEZRVU5XUXl4UlFVRlRMRWRCUTFSRExHbENRVUZyUWl4SFFVTnNRa01zYjBKQlFYRkNMRWRCUTNKQ1F5eFpRVUZoTEVsQlEySkRMRWxCUVVzc1NVRkRURU1zY1VKQlFYTkNMRWxCUTNSQ1F5eHRRa0ZCYjBJc1NVRkRjRUpETEUxQlFVOHNUMEZIVWtNc1MwRkJTME1pTENKbWFXeGxJam9pTDJodmJXVXZlbWx1Ynk5d2NtOXFaV04wY3k5elpXRjBiV0Z3ZGpJdmJXRnpkR1Z5TDNObFlYUnRZWEIyTWk5amJHbGxiblF2Ym05a1pWOXRiMlIxYkdWekwzaHRiR0oxYVd4a1pYSXZiR2xpTDA1dlpHVlVlWEJsTG1wekluMD0iLCIoZnVuY3Rpb24oKXt2YXIgdCxyLG4sZSxvLGksYyxsPVtdLnNsaWNlLHU9e30uaGFzT3duUHJvcGVydHk7dD1mdW5jdGlvbigpe3ZhciB0LHIsbixlLGksYztpZihjPWFyZ3VtZW50c1swXSxpPTI8PWFyZ3VtZW50cy5sZW5ndGg/bC5jYWxsKGFyZ3VtZW50cywxKTpbXSxvKE9iamVjdC5hc3NpZ24pKU9iamVjdC5hc3NpZ24uYXBwbHkobnVsbCxhcmd1bWVudHMpO2Vsc2UgZm9yKHQ9MCxuPWkubGVuZ3RoO3Q8bjt0KyspaWYobnVsbCE9KGU9aVt0XSkpZm9yKHIgaW4gZSl1LmNhbGwoZSxyKSYmKGNbcl09ZVtyXSk7cmV0dXJuIGN9LG89ZnVuY3Rpb24odCl7cmV0dXJuISF0JiZcIltvYmplY3QgRnVuY3Rpb25dXCI9PT1PYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwodCl9LGk9ZnVuY3Rpb24odCl7dmFyIHI7cmV0dXJuISF0JiYoXCJmdW5jdGlvblwiPT0ocj10eXBlb2YgdCl8fFwib2JqZWN0XCI9PT1yKX0sbj1mdW5jdGlvbih0KXtyZXR1cm4gbyhBcnJheS5pc0FycmF5KT9BcnJheS5pc0FycmF5KHQpOlwiW29iamVjdCBBcnJheV1cIj09PU9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbCh0KX0sZT1mdW5jdGlvbih0KXt2YXIgcjtpZihuKHQpKXJldHVybiF0Lmxlbmd0aDtmb3IociBpbiB0KWlmKHUuY2FsbCh0LHIpKXJldHVybiExO3JldHVybiEwfSxjPWZ1bmN0aW9uKHQpe3ZhciByLG47cmV0dXJuIGkodCkmJihuPU9iamVjdC5nZXRQcm90b3R5cGVPZih0KSkmJihyPW4uY29uc3RydWN0b3IpJiZcImZ1bmN0aW9uXCI9PXR5cGVvZiByJiZyIGluc3RhbmNlb2YgciYmRnVuY3Rpb24ucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwocik9PT1GdW5jdGlvbi5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChPYmplY3QpfSxyPWZ1bmN0aW9uKHQpe3JldHVybiBvKHQudmFsdWVPZik/dC52YWx1ZU9mKCk6dH0sbW9kdWxlLmV4cG9ydHMuYXNzaWduPXQsbW9kdWxlLmV4cG9ydHMuaXNGdW5jdGlvbj1vLG1vZHVsZS5leHBvcnRzLmlzT2JqZWN0PWksbW9kdWxlLmV4cG9ydHMuaXNBcnJheT1uLG1vZHVsZS5leHBvcnRzLmlzRW1wdHk9ZSxtb2R1bGUuZXhwb3J0cy5pc1BsYWluT2JqZWN0PWMsbW9kdWxlLmV4cG9ydHMuZ2V0VmFsdWU9cn0pLmNhbGwodGhpcyk7XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJbFYwYVd4cGRIa3Vhbk1pWFN3aWJtRnRaWE1pT2xzaVlYTnphV2R1SWl3aVoyVjBWbUZzZFdVaUxDSnBjMEZ5Y21GNUlpd2lhWE5GYlhCMGVTSXNJbWx6Um5WdVkzUnBiMjRpTENKcGMwOWlhbVZqZENJc0ltbHpVR3hoYVc1UFltcGxZM1FpTENKemJHbGpaU0lzSW1oaGMxQnliM0FpTENKb1lYTlBkMjVRY205d1pYSjBlU0lzSW1raUxDSnJaWGtpTENKc1pXNGlMQ0p6YjNWeVkyVWlMQ0p6YjNWeVkyVnpJaXdpZEdGeVoyVjBJaXdpWVhKbmRXMWxiblJ6SWl3aWJHVnVaM1JvSWl3aVkyRnNiQ0lzSWs5aWFtVmpkQ0lzSW1Gd2NHeDVJaXdpZG1Gc0lpd2ljSEp2ZEc5MGVYQmxJaXdpZEc5VGRISnBibWNpTENKeVpXWWlMQ0pCY25KaGVTSXNJbU4wYjNJaUxDSndjbTkwYnlJc0ltZGxkRkJ5YjNSdmRIbHdaVTltSWl3aVkyOXVjM1J5ZFdOMGIzSWlMQ0pHZFc1amRHbHZiaUlzSW05aWFpSXNJblpoYkhWbFQyWWlMQ0p0YjJSMWJHVWlMQ0psZUhCdmNuUnpJaXdpZEdocGN5SmRMQ0p0WVhCd2FXNW5jeUk2SWtOQlEwRXNWMEZEUlN4SlFVRkpRU3hGUVVGUlF5eEZRVUZWUXl4RlFVRlRReXhGUVVGVFF5eEZRVUZaUXl4RlFVRlZReXhGUVVNMVJFTXNSVUZCVVN4SFFVRkhRU3hOUVVOWVF5eEZRVUZWTEVkQlFVZERMR1ZCUldaVUxFVkJRVk1zVjBGRFVDeEpRVUZKVlN4RlFVRkhReXhGUVVGTFF5eEZRVUZMUXl4RlFVRlJReXhGUVVGVFF5eEZRVVZzUXl4SFFVUkJRU3hGUVVGVFF5eFZRVUZWTEVkQlFVbEdMRVZCUVZVc1IwRkJTMFVzVlVGQlZVTXNUMEZCVTFZc1JVRkJUVmNzUzBGQlMwWXNWVUZCVnl4SFFVRkxMRWRCUTJoR1dpeEZRVUZYWlN4UFFVRlBia0lzVVVGRGNFSnRRaXhQUVVGUGJrSXNUMEZCVDI5Q0xFMUJRVTBzUzBGQlRVb3NaMEpCUlRGQ0xFbEJRVXRPTEVWQlFVa3NSVUZCUjBVc1JVRkJUVVVzUlVGQlVVY3NUMEZCVVZBc1JVRkJTVVVzUlVGQlMwWXNTVUZGZWtNc1IwRkJZeXhQUVVSa1J5eEZRVUZUUXl4RlFVRlJTaXhKUVVWbUxFbEJRVXRETEV0QlFVOUZMRVZCUTB4TUxFVkJRVkZWTEV0QlFVdE1MRVZCUVZGR0xFdEJRekZDU1N4RlFVRlBTaXhIUVVGUFJTeEZRVUZQUml4SlFVczNRaXhQUVVGUFNTeEhRVWRVV0N4RlFVRmhMRk5CUVZOcFFpeEhRVU53UWl4UlFVRlRRU3hIUVVFclF5eHpRa0ZCZUVOR0xFOUJRVTlITEZWQlFWVkRMRk5CUVZOTUxFdEJRVXRITEVsQlIycEVhRUlzUlVGQlZ5eFRRVUZUWjBJc1IwRkRiRUlzU1VGQlNVY3NSVUZEU2l4UlFVRlRTQ3hKUVVFclFpeGhRVUYwUWtjc1UwRkJZVWdzU1VGQkswSXNWMEZCVWtjc1NVRkhlRVIwUWl4RlFVRlZMRk5CUVZOdFFpeEhRVU5xUWl4UFFVRkpha0lzUlVGQlYzRkNMRTFCUVUxMlFpeFRRVU5hZFVJc1RVRkJUWFpDTEZGQlFWRnRRaXhIUVVVd1FpeHRRa0ZCZUVOR0xFOUJRVTlITEZWQlFWVkRMRk5CUVZOTUxFdEJRVXRITEVsQlNURkRiRUlzUlVGQlZTeFRRVUZUYTBJc1IwRkRha0lzU1VGQlNWWXNSVUZEU2l4SFFVRkpWQ3hGUVVGUmJVSXNSMEZEVml4UFFVRlJRU3hGUVVGSlNpeFBRVVZhTEVsQlFVdE9MRXRCUVU5VkxFVkJRMVlzUjBGQlMySXNSVUZCVVZVc1MwRkJTMGNzUlVGQlMxWXNSMEZEZGtJc1QwRkJUeXhGUVVWVUxFOUJRVThzUjBGSldFd3NSVUZCWjBJc1UwRkJVMlVzUjBGRGRrSXNTVUZCU1Vzc1JVRkJUVU1zUlVGRFZpeFBRVUZQZEVJc1JVRkJVMmRDTEV0QlFWTk5MRVZCUVZGU0xFOUJRVTlUTEdWQlFXVlFMRTFCUVZWTExFVkJRVTlETEVWQlFVMUZMR05CUVdsRExHMUNRVUZVU0N4SFFVRjVRa0VzWVVGQlowSkJMRWRCUVZWSkxGTkJRVk5TTEZWQlFWVkRMRk5CUVZOTUxFdEJRVXRSTEV0QlFWVkpMRk5CUVZOU0xGVkJRVlZETEZOQlFWTk1MRXRCUVV0RExGTkJSM1pQYkVJc1JVRkJWeXhUUVVGVE9FSXNSMEZEYkVJc1QwRkJTVE5DTEVWQlFWY3lRaXhGUVVGSlF5eFRRVU5XUkN4RlFVRkpReXhWUVVWS1JDeEhRVWxZUlN4UFFVRlBReXhSUVVGUmJFTXNUMEZCVTBFc1JVRkZlRUpwUXl4UFFVRlBReXhSUVVGUk9VSXNWMEZCWVVFc1JVRkZOVUkyUWl4UFFVRlBReXhSUVVGUk4wSXNVMEZCVjBFc1JVRkZNVUkwUWl4UFFVRlBReXhSUVVGUmFFTXNVVUZCVlVFc1JVRkZla0lyUWl4UFFVRlBReXhSUVVGUkwwSXNVVUZCVlVFc1JVRkZla0k0UWl4UFFVRlBReXhSUVVGUk5VSXNZMEZCWjBKQkxFVkJSUzlDTWtJc1QwRkJUME1zVVVGQlVXcERMRk5CUVZkQkxFbEJSWHBDYVVJc1MwRkJTMmxDSWl3aVptbHNaU0k2SWk5b2IyMWxMM3BwYm04dmNISnZhbVZqZEhNdmMyVmhkRzFoY0hZeUwyMWhjM1JsY2k5elpXRjBiV0Z3ZGpJdlkyeHBaVzUwTDI1dlpHVmZiVzlrZFd4bGN5OTRiV3hpZFdsc1pHVnlMMnhwWWk5VmRHbHNhWFI1TG1wekluMD0iLCIoZnVuY3Rpb24oKXttb2R1bGUuZXhwb3J0cz17Tm9uZTowLE9wZW5UYWc6MSxJbnNpZGVUYWc6MixDbG9zZVRhZzozfX0pLmNhbGwodGhpcyk7XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJbGR5YVhSbGNsTjBZWFJsTG1weklsMHNJbTVoYldWeklqcGJJbTF2WkhWc1pTSXNJbVY0Y0c5eWRITWlMQ0pPYjI1bElpd2lUM0JsYmxSaFp5SXNJa2x1YzJsa1pWUmhaeUlzSWtOc2IzTmxWR0ZuSWl3aVkyRnNiQ0lzSW5Sb2FYTWlYU3dpYldGd2NHbHVaM01pT2lKRFFVTkJMRmRCUTBWQkxFOUJRVTlETEZGQlFWVXNRMEZEWmtNc1MwRkJUU3hGUVVOT1F5eFJRVUZUTEVWQlExUkRMRlZCUVZjc1JVRkRXRU1zVTBGQlZTeExRVWRZUXl4TFFVRkxReUlzSW1acGJHVWlPaUl2YUc5dFpTOTZhVzV2TDNCeWIycGxZM1J6TDNObFlYUnRZWEIyTWk5dFlYTjBaWEl2YzJWaGRHMWhjSFl5TDJOc2FXVnVkQzl1YjJSbFgyMXZaSFZzWlhNdmVHMXNZblZwYkdSbGNpOXNhV0l2VjNKcGRHVnlVM1JoZEdVdWFuTWlmUT09IiwiKGZ1bmN0aW9uKCl7dmFyIHQ7dD1yZXF1aXJlKFwiLi9Ob2RlVHlwZVwiKSxyZXF1aXJlKFwiLi9YTUxOb2RlXCIpLG1vZHVsZS5leHBvcnRzPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gZShlLG4scil7aWYodGhpcy5wYXJlbnQ9ZSx0aGlzLnBhcmVudCYmKHRoaXMub3B0aW9ucz10aGlzLnBhcmVudC5vcHRpb25zLHRoaXMuc3RyaW5naWZ5PXRoaXMucGFyZW50LnN0cmluZ2lmeSksbnVsbD09bil0aHJvdyBuZXcgRXJyb3IoXCJNaXNzaW5nIGF0dHJpYnV0ZSBuYW1lLiBcIit0aGlzLmRlYnVnSW5mbyhuKSk7dGhpcy5uYW1lPXRoaXMuc3RyaW5naWZ5Lm5hbWUobiksdGhpcy52YWx1ZT10aGlzLnN0cmluZ2lmeS5hdHRWYWx1ZShyKSx0aGlzLnR5cGU9dC5BdHRyaWJ1dGUsdGhpcy5pc0lkPSExLHRoaXMuc2NoZW1hVHlwZUluZm89bnVsbH1yZXR1cm4gT2JqZWN0LmRlZmluZVByb3BlcnR5KGUucHJvdG90eXBlLFwibm9kZVR5cGVcIix7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMudHlwZX19KSxPYmplY3QuZGVmaW5lUHJvcGVydHkoZS5wcm90b3R5cGUsXCJvd25lckVsZW1lbnRcIix7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMucGFyZW50fX0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShlLnByb3RvdHlwZSxcInRleHRDb250ZW50XCIse2dldDpmdW5jdGlvbigpe3JldHVybiB0aGlzLnZhbHVlfSxzZXQ6ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMudmFsdWU9dHx8XCJcIn19KSxPYmplY3QuZGVmaW5lUHJvcGVydHkoZS5wcm90b3R5cGUsXCJuYW1lc3BhY2VVUklcIix7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuXCJcIn19KSxPYmplY3QuZGVmaW5lUHJvcGVydHkoZS5wcm90b3R5cGUsXCJwcmVmaXhcIix7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuXCJcIn19KSxPYmplY3QuZGVmaW5lUHJvcGVydHkoZS5wcm90b3R5cGUsXCJsb2NhbE5hbWVcIix7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMubmFtZX19KSxPYmplY3QuZGVmaW5lUHJvcGVydHkoZS5wcm90b3R5cGUsXCJzcGVjaWZpZWRcIix7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuITB9fSksZS5wcm90b3R5cGUuY2xvbmU9ZnVuY3Rpb24oKXtyZXR1cm4gT2JqZWN0LmNyZWF0ZSh0aGlzKX0sZS5wcm90b3R5cGUudG9TdHJpbmc9ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMub3B0aW9ucy53cml0ZXIuYXR0cmlidXRlKHRoaXMsdGhpcy5vcHRpb25zLndyaXRlci5maWx0ZXJPcHRpb25zKHQpKX0sZS5wcm90b3R5cGUuZGVidWdJbmZvPWZ1bmN0aW9uKHQpe3JldHVybiBudWxsPT0odD10fHx0aGlzLm5hbWUpP1wicGFyZW50OiA8XCIrdGhpcy5wYXJlbnQubmFtZStcIj5cIjpcImF0dHJpYnV0ZToge1wiK3QrXCJ9LCBwYXJlbnQ6IDxcIit0aGlzLnBhcmVudC5uYW1lK1wiPlwifSxlLnByb3RvdHlwZS5pc0VxdWFsTm9kZT1mdW5jdGlvbih0KXtyZXR1cm4gdC5uYW1lc3BhY2VVUkk9PT10aGlzLm5hbWVzcGFjZVVSSSYmKHQucHJlZml4PT09dGhpcy5wcmVmaXgmJih0LmxvY2FsTmFtZT09PXRoaXMubG9jYWxOYW1lJiZ0LnZhbHVlPT09dGhpcy52YWx1ZSkpfSxlfSgpfSkuY2FsbCh0aGlzKTtcblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYklsaE5URUYwZEhKcFluVjBaUzVxY3lKZExDSnVZVzFsY3lJNld5Sk9iMlJsVkhsd1pTSXNJbkpsY1hWcGNtVWlMQ0p0YjJSMWJHVWlMQ0psZUhCdmNuUnpJaXdpV0UxTVFYUjBjbWxpZFhSbElpd2ljR0Z5Wlc1MElpd2libUZ0WlNJc0luWmhiSFZsSWl3aWRHaHBjeUlzSW05d2RHbHZibk1pTENKemRISnBibWRwWm5raUxDSkZjbkp2Y2lJc0ltUmxZblZuU1c1bWJ5SXNJbUYwZEZaaGJIVmxJaXdpZEhsd1pTSXNJa0YwZEhKcFluVjBaU0lzSW1selNXUWlMQ0p6WTJobGJXRlVlWEJsU1c1bWJ5SXNJazlpYW1WamRDSXNJbVJsWm1sdVpWQnliM0JsY25SNUlpd2ljSEp2ZEc5MGVYQmxJaXdpWjJWMElpd2ljMlYwSWl3aVkyeHZibVVpTENKamNtVmhkR1VpTENKMGIxTjBjbWx1WnlJc0luZHlhWFJsY2lJc0ltRjBkSEpwWW5WMFpTSXNJbVpwYkhSbGNrOXdkR2x2Ym5NaUxDSnBjMFZ4ZFdGc1RtOWtaU0lzSW01dlpHVWlMQ0p1WVcxbGMzQmhZMlZWVWtraUxDSndjbVZtYVhnaUxDSnNiMk5oYkU1aGJXVWlMQ0pqWVd4c0lsMHNJbTFoY0hCcGJtZHpJam9pUTBGRFFTeFhRVU5GTEVsQlFVbEJMRVZCUlVwQkxFVkJRVmRETEZGQlFWRXNZMEZGVkVFc1VVRkJVU3hoUVVWc1FrTXNUMEZCVDBNc1VVRkJlVUlzVjBGRE9VSXNVMEZCVTBNc1JVRkJZVU1zUlVGQlVVTXNSVUZCVFVNc1IwRk5iRU1zUjBGTVFVTXNTMEZCUzBnc1QwRkJVMEVzUlVGRFZrY3NTMEZCUzBnc1UwRkRVRWNzUzBGQlMwTXNVVUZCVlVRc1MwRkJTMGdzVDBGQlQwa3NVVUZETTBKRUxFdEJRVXRGTEZWQlFWbEdMRXRCUVV0SUxFOUJRVTlMTEZkQlJXNUNMRTFCUVZKS0xFVkJRMFlzVFVGQlRTeEpRVUZKU3l4TlFVRk5MREpDUVVFMlFrZ3NTMEZCUzBrc1ZVRkJWVTRzU1VGRk9VUkZMRXRCUVV0R0xFdEJRVTlGTEV0QlFVdEZMRlZCUVZWS0xFdEJRVXRCTEVkQlEyaERSU3hMUVVGTFJDeE5RVUZSUXl4TFFVRkxSU3hWUVVGVlJ5eFRRVUZUVGl4SFFVTnlRME1zUzBGQlMwMHNTMEZCVDJRc1JVRkJVMlVzVlVGRGNrSlFMRXRCUVV0UkxFMUJRVThzUlVGRFdsSXNTMEZCUzFNc1pVRkJhVUlzUzBGcFJuaENMRTlCT1VWQlF5eFBRVUZQUXl4bFFVRmxaaXhGUVVGaFowSXNWVUZCVnl4WFFVRlpMRU5CUTNoRVF5eEpRVUZMTEZkQlEwZ3NUMEZCVDJJc1MwRkJTMDBzVVVGSmFFSkpMRTlCUVU5RExHVkJRV1ZtTEVWQlFXRm5RaXhWUVVGWExHVkJRV2RDTEVOQlF6VkVReXhKUVVGTExGZEJRMGdzVDBGQlQySXNTMEZCUzBnc1ZVRkphRUpoTEU5QlFVOURMR1ZCUVdWbUxFVkJRV0ZuUWl4VlFVRlhMR05CUVdVc1EwRkRNMFJETEVsQlFVc3NWMEZEU0N4UFFVRlBZaXhMUVVGTFJDeFBRVVZrWlN4SlFVRkxMRk5CUVZObUxFZEJRMW9zVDBGQlQwTXNTMEZCUzBRc1RVRkJVVUVzUjBGQlV5eE5RVWxxUTFjc1QwRkJUME1zWlVGQlpXWXNSVUZCWVdkQ0xGVkJRVmNzWlVGQlowSXNRMEZETlVSRExFbEJRVXNzVjBGRFNDeE5RVUZQTEUxQlNWaElMRTlCUVU5RExHVkJRV1ZtTEVWQlFXRm5RaXhWUVVGWExGTkJRVlVzUTBGRGRFUkRMRWxCUVVzc1YwRkRTQ3hOUVVGUExFMUJTVmhJTEU5QlFVOURMR1ZCUVdWbUxFVkJRV0ZuUWl4VlFVRlhMRmxCUVdFc1EwRkRla1JETEVsQlFVc3NWMEZEU0N4UFFVRlBZaXhMUVVGTFJpeFJRVWxvUWxrc1QwRkJUME1zWlVGQlpXWXNSVUZCWVdkQ0xGVkJRVmNzV1VGQllTeERRVU42UkVNc1NVRkJTeXhYUVVOSUxFOUJRVThzUzBGSldHcENMRVZCUVdGblFpeFZRVUZWUnl4TlFVRlJMRmRCUXpkQ0xFOUJRVTlNTEU5QlFVOU5MRTlCUVU5b1FpeFBRVWQyUWtvc1JVRkJZV2RDTEZWQlFWVkxMRk5CUVZjc1UwRkJVMmhDTEVkQlEzcERMRTlCUVU5RUxFdEJRVXRETEZGQlFWRnBRaXhQUVVGUFF5eFZRVUZWYmtJc1MwRkJUVUVzUzBGQlMwTXNVVUZCVVdsQ0xFOUJRVTlGTEdOQlFXTnVRaXhMUVVjdlJVd3NSVUZCWVdkQ0xGVkJRVlZTTEZWQlFWa3NVMEZCVTA0c1IwRkZNVU1zVDBGQldTeFBRVVJhUVN4RlFVRlBRU3hIUVVGUlJTeExRVUZMUml4TlFVVllMRmxCUVdORkxFdEJRVXRJTEU5QlFVOURMRXRCUVU4c1NVRkZha01zWlVGQmFVSkJMRVZCUVU4c1pVRkJhVUpGTEV0QlFVdElMRTlCUVU5RExFdEJRVThzUzBGSmRrVkdMRVZCUVdGblFpeFZRVUZWVXl4WlFVRmpMRk5CUVZORExFZEJRelZETEU5QlFVbEJMRVZCUVV0RExHVkJRV2xDZGtJc1MwRkJTM1ZDTEdWQlJ6TkNSQ3hGUVVGTFJTeFRRVUZYZUVJc1MwRkJTM2RDTEZOQlIzSkNSaXhGUVVGTFJ5eFpRVUZqZWtJc1MwRkJTM2xDTEZkQlIzaENTQ3hGUVVGTGRrSXNVVUZCVlVNc1MwRkJTMFFzVTBGTmJrSklMRVZCTDBaMVFpeExRVzFITDBJNFFpeExRVUZMTVVJaUxDSm1hV3hsSWpvaUwyaHZiV1V2ZW1sdWJ5OXdjbTlxWldOMGN5OXpaV0YwYldGd2RqSXZiV0Z6ZEdWeUwzTmxZWFJ0WVhCMk1pOWpiR2xsYm5RdmJtOWtaVjl0YjJSMWJHVnpMM2h0YkdKMWFXeGtaWEl2YkdsaUwxaE5URUYwZEhKcFluVjBaUzVxY3lKOSIsIihmdW5jdGlvbigpe3ZhciB0LHIsbz17fS5oYXNPd25Qcm9wZXJ0eTt0PXJlcXVpcmUoXCIuL05vZGVUeXBlXCIpLHI9cmVxdWlyZShcIi4vWE1MQ2hhcmFjdGVyRGF0YVwiKSxtb2R1bGUuZXhwb3J0cz1mdW5jdGlvbihlKXtmdW5jdGlvbiBpKHIsbyl7aWYoaS5fX3N1cGVyX18uY29uc3RydWN0b3IuY2FsbCh0aGlzLHIpLG51bGw9PW8pdGhyb3cgbmV3IEVycm9yKFwiTWlzc2luZyBDREFUQSB0ZXh0LiBcIit0aGlzLmRlYnVnSW5mbygpKTt0aGlzLm5hbWU9XCIjY2RhdGEtc2VjdGlvblwiLHRoaXMudHlwZT10LkNEYXRhLHRoaXMudmFsdWU9dGhpcy5zdHJpbmdpZnkuY2RhdGEobyl9cmV0dXJuIGZ1bmN0aW9uKHQscil7Zm9yKHZhciBlIGluIHIpby5jYWxsKHIsZSkmJih0W2VdPXJbZV0pO2Z1bmN0aW9uIGkoKXt0aGlzLmNvbnN0cnVjdG9yPXR9aS5wcm90b3R5cGU9ci5wcm90b3R5cGUsdC5wcm90b3R5cGU9bmV3IGksdC5fX3N1cGVyX189ci5wcm90b3R5cGV9KGksciksaS5wcm90b3R5cGUuY2xvbmU9ZnVuY3Rpb24oKXtyZXR1cm4gT2JqZWN0LmNyZWF0ZSh0aGlzKX0saS5wcm90b3R5cGUudG9TdHJpbmc9ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMub3B0aW9ucy53cml0ZXIuY2RhdGEodGhpcyx0aGlzLm9wdGlvbnMud3JpdGVyLmZpbHRlck9wdGlvbnModCkpfSxpfSgpfSkuY2FsbCh0aGlzKTtcblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYklsaE5URU5FWVhSaExtcHpJbDBzSW01aGJXVnpJanBiSWs1dlpHVlVlWEJsSWl3aVdFMU1RMmhoY21GamRHVnlSR0YwWVNJc0ltaGhjMUJ5YjNBaUxDSm9ZWE5QZDI1UWNtOXdaWEowZVNJc0luSmxjWFZwY21VaUxDSnRiMlIxYkdVaUxDSmxlSEJ2Y25Seklpd2ljM1Z3WlhKRGJHRnpjeUlzSWxoTlRFTkVZWFJoSWl3aWNHRnlaVzUwSWl3aWRHVjRkQ0lzSWw5ZmMzVndaWEpmWHlJc0ltTnZibk4wY25WamRHOXlJaXdpWTJGc2JDSXNJblJvYVhNaUxDSkZjbkp2Y2lJc0ltUmxZblZuU1c1bWJ5SXNJbTVoYldVaUxDSjBlWEJsSWl3aVEwUmhkR0VpTENKMllXeDFaU0lzSW5OMGNtbHVaMmxtZVNJc0ltTmtZWFJoSWl3aVkyaHBiR1FpTENKclpYa2lMQ0pqZEc5eUlpd2ljSEp2ZEc5MGVYQmxJaXdpWlhoMFpXNWtJaXdpWTJ4dmJtVWlMQ0pQWW1wbFkzUWlMQ0pqY21WaGRHVWlMQ0owYjFOMGNtbHVaeUlzSW05d2RHbHZibk1pTENKM2NtbDBaWElpTENKbWFXeDBaWEpQY0hScGIyNXpJbDBzSW0xaGNIQnBibWR6SWpvaVEwRkRRU3hYUVVORkxFbEJRVWxCTEVWQlFXOUNReXhGUVVWMFFrTXNSVUZCVlN4SFFVRkhReXhsUVVWbVNDeEZRVUZYU1N4UlFVRlJMR05CUlc1Q1NDeEZRVUZ0UWtjc1VVRkJVU3h6UWtGRk0wSkRMRTlCUVU5RExGRkJRWEZDTEZOQlFWVkRMRWRCUjNCRExGTkJRVk5ETEVWQlFWTkRMRVZCUVZGRExFZEJSWGhDTEVkQlJFRkdMRVZCUVZOSExGVkJRVlZETEZsQlFWbERMRXRCUVV0RExFdEJRVTFNTEVkQlF6bENMRTFCUVZKRExFVkJRMFlzVFVGQlRTeEpRVUZKU3l4TlFVRk5MSFZDUVVGNVFrUXNTMEZCUzBVc1lVRkZhRVJHTEV0QlFVdEhMRXRCUVU4c2FVSkJRMXBJTEV0QlFVdEpMRXRCUVU5c1FpeEZRVUZUYlVJc1RVRkRja0pNTEV0QlFVdE5MRTFCUVZGT0xFdEJRVXRQTEZWQlFWVkRMRTFCUVUxYUxFZEJWM0JETEU5Qk5VSlRMRk5CUVZOaExFVkJRVTlrTEVkQlFWVXNTVUZCU3l4SlFVRkpaU3hMUVVGUFppeEZRVUZqVUN4RlFVRlJWeXhMUVVGTFNpeEZRVUZSWlN4TFFVRk5SQ3hGUVVGTlF5eEhRVUZQWml4RlFVRlBaU3hKUVVGUkxGTkJRVk5ETEVsQlFWTllMRXRCUVV0R0xGbEJRV05YTEVWQlFWTkZMRVZCUVV0RExGVkJRVmxxUWl4RlFVRlBhVUlzVlVGQlYwZ3NSVUZCVFVjc1ZVRkJXU3hKUVVGSlJDeEZRVUZSUml4RlFVRk5XaXhWUVVGWlJpeEZRVUZQYVVJc1ZVRlJhRkZETEVOQlFVOXVRaXhGUVhOQ1RsQXNSMEZXUkU4c1JVRkJVMnRDTEZWQlFWVkZMRTFCUVZFc1YwRkRla0lzVDBGQlQwTXNUMEZCVDBNc1QwRkJUMmhDTEU5QlIzWkNUaXhGUVVGVGEwSXNWVUZCVlVzc1UwRkJWeXhUUVVGVFF5eEhRVU55UXl4UFFVRlBiRUlzUzBGQlMydENMRkZCUVZGRExFOUJRVTlZTEUxQlFVMVNMRXRCUVUxQkxFdEJRVXRyUWl4UlFVRlJReXhQUVVGUFF5eGpRVUZqUml4TFFVZHdSWGhDTEVWQmNrSnRRaXhMUVhsQ00wSkxMRXRCUVV0RElpd2labWxzWlNJNklpOW9iMjFsTDNwcGJtOHZjSEp2YW1WamRITXZjMlZoZEcxaGNIWXlMMjFoYzNSbGNpOXpaV0YwYldGd2RqSXZZMnhwWlc1MEwyNXZaR1ZmYlc5a2RXeGxjeTk0Yld4aWRXbHNaR1Z5TDJ4cFlpOVlUVXhEUkdGMFlTNXFjeUo5IiwiKGZ1bmN0aW9uKCl7dmFyIHQsZT17fS5oYXNPd25Qcm9wZXJ0eTt0PXJlcXVpcmUoXCIuL1hNTE5vZGVcIiksbW9kdWxlLmV4cG9ydHM9ZnVuY3Rpb24obyl7ZnVuY3Rpb24gbih0KXtuLl9fc3VwZXJfXy5jb25zdHJ1Y3Rvci5jYWxsKHRoaXMsdCksdGhpcy52YWx1ZT1cIlwifXJldHVybiBmdW5jdGlvbih0LG8pe2Zvcih2YXIgbiBpbiBvKWUuY2FsbChvLG4pJiYodFtuXT1vW25dKTtmdW5jdGlvbiByKCl7dGhpcy5jb25zdHJ1Y3Rvcj10fXIucHJvdG90eXBlPW8ucHJvdG90eXBlLHQucHJvdG90eXBlPW5ldyByLHQuX19zdXBlcl9fPW8ucHJvdG90eXBlfShuLHQpLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShuLnByb3RvdHlwZSxcImRhdGFcIix7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMudmFsdWV9LHNldDpmdW5jdGlvbih0KXtyZXR1cm4gdGhpcy52YWx1ZT10fHxcIlwifX0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShuLnByb3RvdHlwZSxcImxlbmd0aFwiLHtnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy52YWx1ZS5sZW5ndGh9fSksT2JqZWN0LmRlZmluZVByb3BlcnR5KG4ucHJvdG90eXBlLFwidGV4dENvbnRlbnRcIix7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMudmFsdWV9LHNldDpmdW5jdGlvbih0KXtyZXR1cm4gdGhpcy52YWx1ZT10fHxcIlwifX0pLG4ucHJvdG90eXBlLmNsb25lPWZ1bmN0aW9uKCl7cmV0dXJuIE9iamVjdC5jcmVhdGUodGhpcyl9LG4ucHJvdG90eXBlLnN1YnN0cmluZ0RhdGE9ZnVuY3Rpb24odCxlKXt0aHJvdyBuZXcgRXJyb3IoXCJUaGlzIERPTSBtZXRob2QgaXMgbm90IGltcGxlbWVudGVkLlwiK3RoaXMuZGVidWdJbmZvKCkpfSxuLnByb3RvdHlwZS5hcHBlbmREYXRhPWZ1bmN0aW9uKHQpe3Rocm93IG5ldyBFcnJvcihcIlRoaXMgRE9NIG1ldGhvZCBpcyBub3QgaW1wbGVtZW50ZWQuXCIrdGhpcy5kZWJ1Z0luZm8oKSl9LG4ucHJvdG90eXBlLmluc2VydERhdGE9ZnVuY3Rpb24odCxlKXt0aHJvdyBuZXcgRXJyb3IoXCJUaGlzIERPTSBtZXRob2QgaXMgbm90IGltcGxlbWVudGVkLlwiK3RoaXMuZGVidWdJbmZvKCkpfSxuLnByb3RvdHlwZS5kZWxldGVEYXRhPWZ1bmN0aW9uKHQsZSl7dGhyb3cgbmV3IEVycm9yKFwiVGhpcyBET00gbWV0aG9kIGlzIG5vdCBpbXBsZW1lbnRlZC5cIit0aGlzLmRlYnVnSW5mbygpKX0sbi5wcm90b3R5cGUucmVwbGFjZURhdGE9ZnVuY3Rpb24odCxlLG8pe3Rocm93IG5ldyBFcnJvcihcIlRoaXMgRE9NIG1ldGhvZCBpcyBub3QgaW1wbGVtZW50ZWQuXCIrdGhpcy5kZWJ1Z0luZm8oKSl9LG4ucHJvdG90eXBlLmlzRXF1YWxOb2RlPWZ1bmN0aW9uKHQpe3JldHVybiEhbi5fX3N1cGVyX18uaXNFcXVhbE5vZGUuYXBwbHkodGhpcyxhcmd1bWVudHMpLmlzRXF1YWxOb2RlKHQpJiZ0LmRhdGE9PT10aGlzLmRhdGF9LG59KCl9KS5jYWxsKHRoaXMpO1xuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSWxoTlRFTm9ZWEpoWTNSbGNrUmhkR0V1YW5NaVhTd2libUZ0WlhNaU9sc2lXRTFNVG05a1pTSXNJbWhoYzFCeWIzQWlMQ0pvWVhOUGQyNVFjbTl3WlhKMGVTSXNJbkpsY1hWcGNtVWlMQ0p0YjJSMWJHVWlMQ0psZUhCdmNuUnpJaXdpYzNWd1pYSkRiR0Z6Y3lJc0lsaE5URU5vWVhKaFkzUmxja1JoZEdFaUxDSndZWEpsYm5RaUxDSmZYM04xY0dWeVgxOGlMQ0pqYjI1emRISjFZM1J2Y2lJc0ltTmhiR3dpTENKMGFHbHpJaXdpZG1Gc2RXVWlMQ0pqYUdsc1pDSXNJbXRsZVNJc0ltTjBiM0lpTENKd2NtOTBiM1I1Y0dVaUxDSmxlSFJsYm1RaUxDSlBZbXBsWTNRaUxDSmtaV1pwYm1WUWNtOXdaWEowZVNJc0ltZGxkQ0lzSW5ObGRDSXNJbXhsYm1kMGFDSXNJbU5zYjI1bElpd2lZM0psWVhSbElpd2ljM1ZpYzNSeWFXNW5SR0YwWVNJc0ltOW1abk5sZENJc0ltTnZkVzUwSWl3aVJYSnliM0lpTENKa1pXSjFaMGx1Wm04aUxDSmhjSEJsYm1SRVlYUmhJaXdpWVhKbklpd2lhVzV6WlhKMFJHRjBZU0lzSW1SbGJHVjBaVVJoZEdFaUxDSnlaWEJzWVdObFJHRjBZU0lzSW1selJYRjFZV3hPYjJSbElpd2libTlrWlNJc0ltRndjR3g1SWl3aVlYSm5kVzFsYm5Seklpd2laR0YwWVNKZExDSnRZWEJ3YVc1bmN5STZJa05CUTBFc1YwRkRSU3hKUVVGelFrRXNSVUZGY0VKRExFVkJRVlVzUjBGQlIwTXNaVUZGWmtZc1JVRkJWVWNzVVVGQlVTeGhRVVZzUWtNc1QwRkJUME1zVVVGQk5rSXNVMEZCVlVNc1IwRkhOVU1zVTBGQlUwTXNSVUZCYVVKRExFZEJRM2hDUkN4RlFVRnBRa1VzVlVGQlZVTXNXVUZCV1VNc1MwRkJTME1zUzBGQlRVb3NSMEZEYkVSSkxFdEJRVXRETEUxQlFWRXNSMEUyUkdZc1QwRjJSVk1zVTBGQlUwTXNSVUZCVDA0c1IwRkJWU3hKUVVGTExFbEJRVWxQTEV0QlFVOVFMRVZCUVdOUUxFVkJRVkZWTEV0QlFVdElMRVZCUVZGUExFdEJRVTFFTEVWQlFVMURMRWRCUVU5UUxFVkJRVTlQTEVsQlFWRXNVMEZCVTBNc1NVRkJVMG9zUzBGQlMwWXNXVUZCWTBrc1JVRkJVMFVzUlVGQlMwTXNWVUZCV1ZRc1JVRkJUMU1zVlVGQlYwZ3NSVUZCVFVjc1ZVRkJXU3hKUVVGSlJDeEZRVUZSUml4RlFVRk5UQ3hWUVVGWlJDeEZRVUZQVXl4VlFVMW9VVU1zUTBGQlQxZ3NSVUZ0UlU1UUxFZEJOVVJFYlVJc1QwRkJUME1zWlVGQlpXSXNSVUZCYVVKVkxGVkJRVmNzVDBGQlVTeERRVU40UkVrc1NVRkJTeXhYUVVOSUxFOUJRVTlVTEV0QlFVdERMRTlCUldSVExFbEJRVXNzVTBGQlUxUXNSMEZEV2l4UFFVRlBSQ3hMUVVGTFF5eE5RVUZSUVN4SFFVRlRMRTFCU1dwRFRTeFBRVUZQUXl4bFFVRmxZaXhGUVVGcFFsVXNWVUZCVnl4VFFVRlZMRU5CUXpGRVNTeEpRVUZMTEZkQlEwZ3NUMEZCVDFRc1MwRkJTME1zVFVGQlRWVXNWVUZKZEVKS0xFOUJRVTlETEdWQlFXVmlMRVZCUVdsQ1ZTeFZRVUZYTEdOQlFXVXNRMEZETDBSSkxFbEJRVXNzVjBGRFNDeFBRVUZQVkN4TFFVRkxReXhQUVVWa1V5eEpRVUZMTEZOQlFWTlVMRWRCUTFvc1QwRkJUMFFzUzBGQlMwTXNUVUZCVVVFc1IwRkJVeXhOUVVscVEwNHNSVUZCYVVKVkxGVkJRVlZQTEUxQlFWRXNWMEZEYWtNc1QwRkJUMHdzVDBGQlQwMHNUMEZCVDJJc1QwRkhka0pNTEVWQlFXbENWU3hWUVVGVlV5eGpRVUZuUWl4VFFVRlRReXhGUVVGUlF5eEhRVU14UkN4TlFVRk5MRWxCUVVsRExFMUJRVTBzYzBOQlFYZERha0lzUzBGQlMydENMR05CUnk5RWRrSXNSVUZCYVVKVkxGVkJRVlZqTEZkQlFXRXNVMEZCVTBNc1IwRkRMME1zVFVGQlRTeEpRVUZKU0N4TlFVRk5MSE5EUVVGM1EycENMRXRCUVV0clFpeGpRVWN2UkhaQ0xFVkJRV2xDVlN4VlFVRlZaMElzVjBGQllTeFRRVUZUVGl4RlFVRlJTeXhIUVVOMlJDeE5RVUZOTEVsQlFVbElMRTFCUVUwc2MwTkJRWGREYWtJc1MwRkJTMnRDTEdOQlJ5OUVka0lzUlVGQmFVSlZMRlZCUVZWcFFpeFhRVUZoTEZOQlFWTlFMRVZCUVZGRExFZEJRM1pFTEUxQlFVMHNTVUZCU1VNc1RVRkJUU3h6UTBGQmQwTnFRaXhMUVVGTGEwSXNZMEZITDBSMlFpeEZRVUZwUWxVc1ZVRkJWV3RDTEZsQlFXTXNVMEZCVTFJc1JVRkJVVU1zUlVGQlQwa3NSMEZETDBRc1RVRkJUU3hKUVVGSlNDeE5RVUZOTEhORFFVRjNRMnBDTEV0QlFVdHJRaXhqUVVjdlJIWkNMRVZCUVdsQ1ZTeFZRVUZWYlVJc1dVRkJZeXhUUVVGVFF5eEhRVU5vUkN4UlFVRkxPVUlzUlVGQmFVSkZMRlZCUVZVeVFpeFpRVUZaUlN4TlFVRk5NVUlzUzBGQlRUSkNMRmRCUVZkSUxGbEJRVmxETEVsQlJ6TkZRU3hGUVVGTFJ5eFBRVUZUTlVJc1MwRkJTelJDTEUxQlRXeENha01zUlVGc1JUSkNMRXRCYzBWdVEwa3NTMEZCUzBNaUxDSm1hV3hsSWpvaUwyaHZiV1V2ZW1sdWJ5OXdjbTlxWldOMGN5OXpaV0YwYldGd2RqSXZiV0Z6ZEdWeUwzTmxZWFJ0WVhCMk1pOWpiR2xsYm5RdmJtOWtaVjl0YjJSMWJHVnpMM2h0YkdKMWFXeGtaWEl2YkdsaUwxaE5URU5vWVhKaFkzUmxja1JoZEdFdWFuTWlmUT09IiwiKGZ1bmN0aW9uKCl7dmFyIHQsbyxyPXt9Lmhhc093blByb3BlcnR5O3Q9cmVxdWlyZShcIi4vTm9kZVR5cGVcIiksbz1yZXF1aXJlKFwiLi9YTUxDaGFyYWN0ZXJEYXRhXCIpLG1vZHVsZS5leHBvcnRzPWZ1bmN0aW9uKGUpe2Z1bmN0aW9uIG4obyxyKXtpZihuLl9fc3VwZXJfXy5jb25zdHJ1Y3Rvci5jYWxsKHRoaXMsbyksbnVsbD09cil0aHJvdyBuZXcgRXJyb3IoXCJNaXNzaW5nIGNvbW1lbnQgdGV4dC4gXCIrdGhpcy5kZWJ1Z0luZm8oKSk7dGhpcy5uYW1lPVwiI2NvbW1lbnRcIix0aGlzLnR5cGU9dC5Db21tZW50LHRoaXMudmFsdWU9dGhpcy5zdHJpbmdpZnkuY29tbWVudChyKX1yZXR1cm4gZnVuY3Rpb24odCxvKXtmb3IodmFyIGUgaW4gbylyLmNhbGwobyxlKSYmKHRbZV09b1tlXSk7ZnVuY3Rpb24gbigpe3RoaXMuY29uc3RydWN0b3I9dH1uLnByb3RvdHlwZT1vLnByb3RvdHlwZSx0LnByb3RvdHlwZT1uZXcgbix0Ll9fc3VwZXJfXz1vLnByb3RvdHlwZX0obixvKSxuLnByb3RvdHlwZS5jbG9uZT1mdW5jdGlvbigpe3JldHVybiBPYmplY3QuY3JlYXRlKHRoaXMpfSxuLnByb3RvdHlwZS50b1N0cmluZz1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5vcHRpb25zLndyaXRlci5jb21tZW50KHRoaXMsdGhpcy5vcHRpb25zLndyaXRlci5maWx0ZXJPcHRpb25zKHQpKX0sbn0oKX0pLmNhbGwodGhpcyk7XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJbGhOVEVOdmJXMWxiblF1YW5NaVhTd2libUZ0WlhNaU9sc2lUbTlrWlZSNWNHVWlMQ0pZVFV4RGFHRnlZV04wWlhKRVlYUmhJaXdpYUdGelVISnZjQ0lzSW1oaGMwOTNibEJ5YjNCbGNuUjVJaXdpY21WeGRXbHlaU0lzSW0xdlpIVnNaU0lzSW1WNGNHOXlkSE1pTENKemRYQmxja05zWVhOeklpd2lXRTFNUTI5dGJXVnVkQ0lzSW5CaGNtVnVkQ0lzSW5SbGVIUWlMQ0pmWDNOMWNHVnlYMThpTENKamIyNXpkSEoxWTNSdmNpSXNJbU5oYkd3aUxDSjBhR2x6SWl3aVJYSnliM0lpTENKa1pXSjFaMGx1Wm04aUxDSnVZVzFsSWl3aWRIbHdaU0lzSWtOdmJXMWxiblFpTENKMllXeDFaU0lzSW5OMGNtbHVaMmxtZVNJc0ltTnZiVzFsYm5RaUxDSmphR2xzWkNJc0ltdGxlU0lzSW1OMGIzSWlMQ0p3Y205MGIzUjVjR1VpTENKbGVIUmxibVFpTENKamJHOXVaU0lzSWs5aWFtVmpkQ0lzSW1OeVpXRjBaU0lzSW5SdlUzUnlhVzVuSWl3aWIzQjBhVzl1Y3lJc0luZHlhWFJsY2lJc0ltWnBiSFJsY2s5d2RHbHZibk1pWFN3aWJXRndjR2x1WjNNaU9pSkRRVU5CTEZkQlEwVXNTVUZCU1VFc1JVRkJWVU1zUlVGRldrTXNSVUZCVlN4SFFVRkhReXhsUVVWbVNDeEZRVUZYU1N4UlFVRlJMR05CUlc1Q1NDeEZRVUZ0UWtjc1VVRkJVU3h6UWtGRk0wSkRMRTlCUVU5RExGRkJRWFZDTEZOQlFWVkRMRWRCUjNSRExGTkJRVk5ETEVWQlFWZERMRVZCUVZGRExFZEJSVEZDTEVkQlJFRkdMRVZCUVZkSExGVkJRVlZETEZsQlFWbERMRXRCUVV0RExFdEJRVTFNTEVkQlEyaERMRTFCUVZKRExFVkJRMFlzVFVGQlRTeEpRVUZKU3l4TlFVRk5MSGxDUVVFeVFrUXNTMEZCUzBVc1lVRkZiRVJHTEV0QlFVdEhMRXRCUVU4c1YwRkRXa2dzUzBGQlMwa3NTMEZCVDJ4Q0xFVkJRVk50UWl4UlFVTnlRa3dzUzBGQlMwMHNUVUZCVVU0c1MwRkJTMDhzVlVGQlZVTXNVVUZCVVZvc1IwRlhkRU1zVDBFMVFsTXNVMEZCVTJFc1JVRkJUMlFzUjBGQlZTeEpRVUZMTEVsQlFVbGxMRXRCUVU5bUxFVkJRV05RTEVWQlFWRlhMRXRCUVV0S0xFVkJRVkZsTEV0QlFVMUVMRVZCUVUxRExFZEJRVTltTEVWQlFVOWxMRWxCUVZFc1UwRkJVME1zU1VGQlUxZ3NTMEZCUzBZc1dVRkJZMWNzUlVGQlUwVXNSVUZCUzBNc1ZVRkJXV3BDTEVWQlFVOXBRaXhWUVVGWFNDeEZRVUZOUnl4VlFVRlpMRWxCUVVsRUxFVkJRVkZHTEVWQlFVMWFMRlZCUVZsR0xFVkJRVTlwUWl4VlFWRm9VVU1zUTBGQlQyNUNMRVZCYzBKT1VDeEhRVlpFVHl4RlFVRlhhMElzVlVGQlZVVXNUVUZCVVN4WFFVTXpRaXhQUVVGUFF5eFBRVUZQUXl4UFFVRlBhRUlzVDBGSGRrSk9MRVZCUVZkclFpeFZRVUZWU3l4VFFVRlhMRk5CUVZORExFZEJRM1pETEU5QlFVOXNRaXhMUVVGTGEwSXNVVUZCVVVNc1QwRkJUMWdzVVVGQlVWSXNTMEZCVFVFc1MwRkJTMnRDTEZGQlFWRkRMRTlCUVU5RExHTkJRV05HTEV0QlIzUkZlRUlzUlVGeVFuRkNMRXRCZVVJM1Frc3NTMEZCUzBNaUxDSm1hV3hsSWpvaUwyaHZiV1V2ZW1sdWJ5OXdjbTlxWldOMGN5OXpaV0YwYldGd2RqSXZiV0Z6ZEdWeUwzTmxZWFJ0WVhCMk1pOWpiR2xsYm5RdmJtOWtaVjl0YjJSMWJHVnpMM2h0YkdKMWFXeGtaWEl2YkdsaUwxaE5URU52YlcxbGJuUXVhbk1pZlE9PSIsIihmdW5jdGlvbigpe3ZhciBlLHQ7ZT1yZXF1aXJlKFwiLi9YTUxET01FcnJvckhhbmRsZXJcIiksdD1yZXF1aXJlKFwiLi9YTUxET01TdHJpbmdMaXN0XCIpLG1vZHVsZS5leHBvcnRzPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gYSgpe3RoaXMuZGVmYXVsdFBhcmFtcz17XCJjYW5vbmljYWwtZm9ybVwiOiExLFwiY2RhdGEtc2VjdGlvbnNcIjohMSxjb21tZW50czohMSxcImRhdGF0eXBlLW5vcm1hbGl6YXRpb25cIjohMSxcImVsZW1lbnQtY29udGVudC13aGl0ZXNwYWNlXCI6ITAsZW50aXRpZXM6ITAsXCJlcnJvci1oYW5kbGVyXCI6bmV3IGUsaW5mb3NldDohMCxcInZhbGlkYXRlLWlmLXNjaGVtYVwiOiExLG5hbWVzcGFjZXM6ITAsXCJuYW1lc3BhY2UtZGVjbGFyYXRpb25zXCI6ITAsXCJub3JtYWxpemUtY2hhcmFjdGVyc1wiOiExLFwic2NoZW1hLWxvY2F0aW9uXCI6XCJcIixcInNjaGVtYS10eXBlXCI6XCJcIixcInNwbGl0LWNkYXRhLXNlY3Rpb25zXCI6ITAsdmFsaWRhdGU6ITEsXCJ3ZWxsLWZvcm1lZFwiOiEwfSx0aGlzLnBhcmFtcz1PYmplY3QuY3JlYXRlKHRoaXMuZGVmYXVsdFBhcmFtcyl9cmV0dXJuIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhLnByb3RvdHlwZSxcInBhcmFtZXRlck5hbWVzXCIse2dldDpmdW5jdGlvbigpe3JldHVybiBuZXcgdChPYmplY3Qua2V5cyh0aGlzLmRlZmF1bHRQYXJhbXMpKX19KSxhLnByb3RvdHlwZS5nZXRQYXJhbWV0ZXI9ZnVuY3Rpb24oZSl7cmV0dXJuIHRoaXMucGFyYW1zLmhhc093blByb3BlcnR5KGUpP3RoaXMucGFyYW1zW2VdOm51bGx9LGEucHJvdG90eXBlLmNhblNldFBhcmFtZXRlcj1mdW5jdGlvbihlLHQpe3JldHVybiEwfSxhLnByb3RvdHlwZS5zZXRQYXJhbWV0ZXI9ZnVuY3Rpb24oZSx0KXtyZXR1cm4gbnVsbCE9dD90aGlzLnBhcmFtc1tlXT10OmRlbGV0ZSB0aGlzLnBhcmFtc1tlXX0sYX0oKX0pLmNhbGwodGhpcyk7XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJbGhOVEVSUFRVTnZibVpwWjNWeVlYUnBiMjR1YW5NaVhTd2libUZ0WlhNaU9sc2lXRTFNUkU5TlJYSnliM0pJWVc1a2JHVnlJaXdpV0UxTVJFOU5VM1J5YVc1blRHbHpkQ0lzSW5KbGNYVnBjbVVpTENKdGIyUjFiR1VpTENKbGVIQnZjblJ6SWl3aVdFMU1SRTlOUTI5dVptbG5kWEpoZEdsdmJpSXNJblJvYVhNaUxDSmtaV1poZFd4MFVHRnlZVzF6SWl3aVkyRnViMjVwWTJGc0xXWnZjbTBpTENKalpHRjBZUzF6WldOMGFXOXVjeUlzSW1OdmJXMWxiblJ6SWl3aVpHRjBZWFI1Y0dVdGJtOXliV0ZzYVhwaGRHbHZiaUlzSW1Wc1pXMWxiblF0WTI5dWRHVnVkQzEzYUdsMFpYTndZV05sSWl3aVpXNTBhWFJwWlhNaUxDSmxjbkp2Y2kxb1lXNWtiR1Z5SWl3aWFXNW1iM05sZENJc0luWmhiR2xrWVhSbExXbG1MWE5qYUdWdFlTSXNJbTVoYldWemNHRmpaWE1pTENKdVlXMWxjM0JoWTJVdFpHVmpiR0Z5WVhScGIyNXpJaXdpYm05eWJXRnNhWHBsTFdOb1lYSmhZM1JsY25NaUxDSnpZMmhsYldFdGJHOWpZWFJwYjI0aUxDSnpZMmhsYldFdGRIbHdaU0lzSW5Od2JHbDBMV05rWVhSaExYTmxZM1JwYjI1eklpd2lkbUZzYVdSaGRHVWlMQ0ozWld4c0xXWnZjbTFsWkNJc0luQmhjbUZ0Y3lJc0lrOWlhbVZqZENJc0ltTnlaV0YwWlNJc0ltUmxabWx1WlZCeWIzQmxjblI1SWl3aWNISnZkRzkwZVhCbElpd2laMlYwSWl3aWEyVjVjeUlzSW1kbGRGQmhjbUZ0WlhSbGNpSXNJbTVoYldVaUxDSm9ZWE5QZDI1UWNtOXdaWEowZVNJc0ltTmhibE5sZEZCaGNtRnRaWFJsY2lJc0luWmhiSFZsSWl3aWMyVjBVR0Z5WVcxbGRHVnlJaXdpWTJGc2JDSmRMQ0p0WVhCd2FXNW5jeUk2SWtOQlEwRXNWMEZEUlN4SlFVRjVRa0VzUlVGQmIwSkRMRVZCUlRkRFJDeEZRVUZ4UWtVc1VVRkJVU3gzUWtGRk4wSkVMRVZCUVcxQ1F5eFJRVUZSTEhOQ1FVVXpRa01zVDBGQlQwTXNVVUZCWjBNc1YwRkRja01zVTBGQlUwTXNTVUZGVUVNc1MwRkJTME1zWTBGQlowSXNRMEZEYmtKRExHdENRVUZyUWl4RlFVTnNRa01zYTBKQlFXdENMRVZCUTJ4Q1F5eFZRVUZaTEVWQlExcERMREJDUVVFd1FpeEZRVU14UWtNc09FSkJRVGhDTEVWQlF6bENReXhWUVVGWkxFVkJRMXBETEdkQ1FVRnBRaXhKUVVGSlpDeEZRVU55UW1Vc1UwRkJWeXhGUVVOWVF5eHpRa0ZCYzBJc1JVRkRkRUpETEZsQlFXTXNSVUZEWkVNc01FSkJRVEJDTEVWQlF6RkNReXgzUWtGQmQwSXNSVUZEZUVKRExHdENRVUZ0UWl4SFFVTnVRa01zWTBGQlpTeEhRVU5tUXl4M1FrRkJkMElzUlVGRGVFSkRMRlZCUVZrc1JVRkRXa01zWlVGQlpTeEhRVVZxUW14Q0xFdEJRVXR0UWl4UFFVRnpRa01zVDBGQlQwTXNUMEZCVDNKQ0xFdEJRVXRETEdWQk5rSm9SQ3hQUVRGQ1FXMUNMRTlCUVU5RkxHVkJRV1YyUWl4RlFVRnZRbmRDTEZWQlFWY3NhVUpCUVd0Q0xFTkJRM0pGUXl4SlFVRkxMRmRCUTBnc1QwRkJUeXhKUVVGSk4wSXNSVUZCYVVKNVFpeFBRVUZQU3l4TFFVRkxla0lzUzBGQlMwTXNiVUpCU1dwRVJpeEZRVUZ2UW5kQ0xGVkJRVlZITEdGQlFXVXNVMEZCVTBNc1IwRkRjRVFzVDBGQlNUTkNMRXRCUVV0dFFpeFBRVUZQVXl4bFFVRmxSQ3hIUVVOMFFqTkNMRXRCUVV0dFFpeFBRVUZQVVN4SFFVVmFMRTFCU1ZnMVFpeEZRVUZ2UW5kQ0xGVkJRVlZOTEdkQ1FVRnJRaXhUUVVGVFJpeEZRVUZOUnl4SFFVTTNSQ3hQUVVGUExFZEJSMVF2UWl4RlFVRnZRbmRDTEZWQlFWVlJMR0ZCUVdVc1UwRkJVMG9zUlVGQlRVY3NSMEZETVVRc1QwRkJZU3hOUVVGVVFTeEZRVU5MT1VJc1MwRkJTMjFDTEU5QlFVOVJMRWRCUVZGSExGTkJSV0k1UWl4TFFVRkxiVUlzVDBGQlQxRXNTVUZKZGtJMVFpeEZRVzVFT0VJc1MwRjFSSFJEYVVNc1MwRkJTMmhESWl3aVptbHNaU0k2SWk5b2IyMWxMM3BwYm04dmNISnZhbVZqZEhNdmMyVmhkRzFoY0hZeUwyMWhjM1JsY2k5elpXRjBiV0Z3ZGpJdlkyeHBaVzUwTDI1dlpHVmZiVzlrZFd4bGN5OTRiV3hpZFdsc1pHVnlMMnhwWWk5WVRVeEVUMDFEYjI1bWFXZDFjbUYwYVc5dUxtcHpJbjA9IiwiKGZ1bmN0aW9uKCl7bW9kdWxlLmV4cG9ydHM9ZnVuY3Rpb24oKXtmdW5jdGlvbiBuKCl7fXJldHVybiBuLnByb3RvdHlwZS5oYW5kbGVFcnJvcj1mdW5jdGlvbihuKXt0aHJvdyBuZXcgRXJyb3Iobil9LG59KCl9KS5jYWxsKHRoaXMpO1xuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSWxoTlRFUlBUVVZ5Y205eVNHRnVaR3hsY2k1cWN5SmRMQ0p1WVcxbGN5STZXeUp0YjJSMWJHVWlMQ0psZUhCdmNuUnpJaXdpV0UxTVJFOU5SWEp5YjNKSVlXNWtiR1Z5SWl3aWNISnZkRzkwZVhCbElpd2lhR0Z1Wkd4bFJYSnliM0lpTENKbGNuSnZjaUlzSWtWeWNtOXlJaXdpWTJGc2JDSXNJblJvYVhNaVhTd2liV0Z3Y0dsdVozTWlPaUpEUVVOQkxGZEJSMFZCTEU5QlFVOURMRkZCUVN0Q0xGZEJRM0JETEZOQlFWTkRMRXRCVFZRc1QwRktRVUVzUlVGQmJVSkRMRlZCUVZWRExGbEJRV01zVTBGQlUwTXNSMEZEYkVRc1RVRkJUU3hKUVVGSlF5eE5RVUZOUkN4SlFVZFlTQ3hGUVZBMlFpeExRVmR5UTBzc1MwRkJTME1pTENKbWFXeGxJam9pTDJodmJXVXZlbWx1Ynk5d2NtOXFaV04wY3k5elpXRjBiV0Z3ZGpJdmJXRnpkR1Z5TDNObFlYUnRZWEIyTWk5amJHbGxiblF2Ym05a1pWOXRiMlIxYkdWekwzaHRiR0oxYVd4a1pYSXZiR2xpTDFoTlRFUlBUVVZ5Y205eVNHRnVaR3hsY2k1cWN5SjkiLCIoZnVuY3Rpb24oKXttb2R1bGUuZXhwb3J0cz1mdW5jdGlvbigpe2Z1bmN0aW9uIHQoKXt9cmV0dXJuIHQucHJvdG90eXBlLmhhc0ZlYXR1cmU9ZnVuY3Rpb24odCxlKXtyZXR1cm4hMH0sdC5wcm90b3R5cGUuY3JlYXRlRG9jdW1lbnRUeXBlPWZ1bmN0aW9uKHQsZSxvKXt0aHJvdyBuZXcgRXJyb3IoXCJUaGlzIERPTSBtZXRob2QgaXMgbm90IGltcGxlbWVudGVkLlwiKX0sdC5wcm90b3R5cGUuY3JlYXRlRG9jdW1lbnQ9ZnVuY3Rpb24odCxlLG8pe3Rocm93IG5ldyBFcnJvcihcIlRoaXMgRE9NIG1ldGhvZCBpcyBub3QgaW1wbGVtZW50ZWQuXCIpfSx0LnByb3RvdHlwZS5jcmVhdGVIVE1MRG9jdW1lbnQ9ZnVuY3Rpb24odCl7dGhyb3cgbmV3IEVycm9yKFwiVGhpcyBET00gbWV0aG9kIGlzIG5vdCBpbXBsZW1lbnRlZC5cIil9LHQucHJvdG90eXBlLmdldEZlYXR1cmU9ZnVuY3Rpb24odCxlKXt0aHJvdyBuZXcgRXJyb3IoXCJUaGlzIERPTSBtZXRob2QgaXMgbm90IGltcGxlbWVudGVkLlwiKX0sdH0oKX0pLmNhbGwodGhpcyk7XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJbGhOVEVSUFRVbHRjR3hsYldWdWRHRjBhVzl1TG1weklsMHNJbTVoYldWeklqcGJJbTF2WkhWc1pTSXNJbVY0Y0c5eWRITWlMQ0pZVFV4RVQwMUpiWEJzWlcxbGJuUmhkR2x2YmlJc0luQnliM1J2ZEhsd1pTSXNJbWhoYzBabFlYUjFjbVVpTENKbVpXRjBkWEpsSWl3aWRtVnljMmx2YmlJc0ltTnlaV0YwWlVSdlkzVnRaVzUwVkhsd1pTSXNJbkYxWVd4cFptbGxaRTVoYldVaUxDSndkV0pzYVdOSlpDSXNJbk41YzNSbGJVbGtJaXdpUlhKeWIzSWlMQ0pqY21WaGRHVkViMk4xYldWdWRDSXNJbTVoYldWemNHRmpaVlZTU1NJc0ltUnZZM1I1Y0dVaUxDSmpjbVZoZEdWSVZFMU1SRzlqZFcxbGJuUWlMQ0owYVhSc1pTSXNJbWRsZEVabFlYUjFjbVVpTENKallXeHNJaXdpZEdocGN5SmRMQ0p0WVhCd2FXNW5jeUk2SWtOQlEwRXNWMEZIUlVFc1QwRkJUME1zVVVGQmFVTXNWMEZEZEVNc1UwRkJVME1zUzBGelFsUXNUMEZ3UWtGQkxFVkJRWEZDUXl4VlFVRlZReXhYUVVGaExGTkJRVk5ETEVWQlFWTkRMRWRCUXpWRUxFOUJRVThzUjBGSFZFb3NSVUZCY1VKRExGVkJRVlZKTEcxQ1FVRnhRaXhUUVVGVFF5eEZRVUZsUXl4RlFVRlZReXhIUVVOd1JpeE5RVUZOTEVsQlFVbERMRTFCUVUwc2QwTkJSMnhDVkN4RlFVRnhRa01zVlVGQlZWTXNaVUZCYVVJc1UwRkJVME1zUlVGQlkwd3NSVUZCWlUwc1IwRkRjRVlzVFVGQlRTeEpRVUZKU0N4TlFVRk5MSGREUVVkc1FsUXNSVUZCY1VKRExGVkJRVlZaTEcxQ1FVRnhRaXhUUVVGVFF5eEhRVU16UkN4TlFVRk5MRWxCUVVsTUxFMUJRVTBzZDBOQlIyeENWQ3hGUVVGeFFrTXNWVUZCVldNc1YwRkJZU3hUUVVGVFdpeEZRVUZUUXl4SFFVTTFSQ3hOUVVGTkxFbEJRVWxMTEUxQlFVMHNkME5CUjFoVUxFVkJka0lyUWl4TFFUSkNka05uUWl4TFFVRkxReUlzSW1acGJHVWlPaUl2YUc5dFpTOTZhVzV2TDNCeWIycGxZM1J6TDNObFlYUnRZWEIyTWk5dFlYTjBaWEl2YzJWaGRHMWhjSFl5TDJOc2FXVnVkQzl1YjJSbFgyMXZaSFZzWlhNdmVHMXNZblZwYkdSbGNpOXNhV0l2V0UxTVJFOU5TVzF3YkdWdFpXNTBZWFJwYjI0dWFuTWlmUT09IiwiKGZ1bmN0aW9uKCl7bW9kdWxlLmV4cG9ydHM9ZnVuY3Rpb24oKXtmdW5jdGlvbiB0KHQpe3RoaXMuYXJyPXR8fFtdfXJldHVybiBPYmplY3QuZGVmaW5lUHJvcGVydHkodC5wcm90b3R5cGUsXCJsZW5ndGhcIix7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuYXJyLmxlbmd0aH19KSx0LnByb3RvdHlwZS5pdGVtPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLmFyclt0XXx8bnVsbH0sdC5wcm90b3R5cGUuY29udGFpbnM9ZnVuY3Rpb24odCl7cmV0dXJuLTEhPT10aGlzLmFyci5pbmRleE9mKHQpfSx0fSgpfSkuY2FsbCh0aGlzKTtcblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYklsaE5URVJQVFZOMGNtbHVaMHhwYzNRdWFuTWlYU3dpYm1GdFpYTWlPbHNpYlc5a2RXeGxJaXdpWlhod2IzSjBjeUlzSWxoTlRFUlBUVk4wY21sdVoweHBjM1FpTENKaGNuSWlMQ0owYUdseklpd2lUMkpxWldOMElpd2laR1ZtYVc1bFVISnZjR1Z5ZEhraUxDSndjbTkwYjNSNWNHVWlMQ0puWlhRaUxDSnNaVzVuZEdnaUxDSnBkR1Z0SWl3aWFXNWtaWGdpTENKamIyNTBZV2x1Y3lJc0luTjBjaUlzSW1sdVpHVjRUMllpTENKallXeHNJbDBzSW0xaGNIQnBibWR6SWpvaVEwRkRRU3hYUVVkRlFTeFBRVUZQUXl4UlFVRTJRaXhYUVVOc1F5eFRRVUZUUXl4RlFVRnBRa01zUjBGRGVFSkRMRXRCUVV0RUxFbEJRVTFCTEVkQlFVOHNSMEZwUW5CQ0xFOUJaRUZGTEU5QlFVOURMR1ZCUVdWS0xFVkJRV2xDU3l4VlFVRlhMRk5CUVZVc1EwRkRNVVJETEVsQlFVc3NWMEZEU0N4UFFVRlBTaXhMUVVGTFJDeEpRVUZKVFN4VlFVbHdRbEFzUlVGQmFVSkxMRlZCUVZWSExFdEJRVThzVTBGQlUwTXNSMEZEZWtNc1QwRkJUMUFzUzBGQlMwUXNTVUZCU1ZFc1NVRkJWU3hOUVVjMVFsUXNSVUZCYVVKTExGVkJRVlZMTEZOQlFWY3NVMEZCVTBNc1IwRkROME1zVDBGQmEwTXNTVUZCTTBKVUxFdEJRVXRFTEVsQlFVbFhMRkZCUVZGRUxFbEJSMjVDV0N4RlFXNUNNa0lzUzBGMVFtNURZU3hMUVVGTFdDSXNJbVpwYkdVaU9pSXZhRzl0WlM5NmFXNXZMM0J5YjJwbFkzUnpMM05sWVhSdFlYQjJNaTl0WVhOMFpYSXZjMlZoZEcxaGNIWXlMMk5zYVdWdWRDOXViMlJsWDIxdlpIVnNaWE12ZUcxc1luVnBiR1JsY2k5c2FXSXZXRTFNUkU5TlUzUnlhVzVuVEdsemRDNXFjeUo5IiwiKGZ1bmN0aW9uKCl7dmFyIHQsZSxpPXt9Lmhhc093blByb3BlcnR5O2U9cmVxdWlyZShcIi4vWE1MTm9kZVwiKSx0PXJlcXVpcmUoXCIuL05vZGVUeXBlXCIpLG1vZHVsZS5leHBvcnRzPWZ1bmN0aW9uKHIpe2Z1bmN0aW9uIG4oZSxpLHIsbyxzLHUpe2lmKG4uX19zdXBlcl9fLmNvbnN0cnVjdG9yLmNhbGwodGhpcyxlKSxudWxsPT1pKXRocm93IG5ldyBFcnJvcihcIk1pc3NpbmcgRFREIGVsZW1lbnQgbmFtZS4gXCIrdGhpcy5kZWJ1Z0luZm8oKSk7aWYobnVsbD09cil0aHJvdyBuZXcgRXJyb3IoXCJNaXNzaW5nIERURCBhdHRyaWJ1dGUgbmFtZS4gXCIrdGhpcy5kZWJ1Z0luZm8oaSkpO2lmKCFvKXRocm93IG5ldyBFcnJvcihcIk1pc3NpbmcgRFREIGF0dHJpYnV0ZSB0eXBlLiBcIit0aGlzLmRlYnVnSW5mbyhpKSk7aWYoIXMpdGhyb3cgbmV3IEVycm9yKFwiTWlzc2luZyBEVEQgYXR0cmlidXRlIGRlZmF1bHQuIFwiK3RoaXMuZGVidWdJbmZvKGkpKTtpZigwIT09cy5pbmRleE9mKFwiI1wiKSYmKHM9XCIjXCIrcyksIXMubWF0Y2goL14oI1JFUVVJUkVEfCNJTVBMSUVEfCNGSVhFRHwjREVGQVVMVCkkLykpdGhyb3cgbmV3IEVycm9yKFwiSW52YWxpZCBkZWZhdWx0IHZhbHVlIHR5cGU7IGV4cGVjdGVkOiAjUkVRVUlSRUQsICNJTVBMSUVELCAjRklYRUQgb3IgI0RFRkFVTFQuIFwiK3RoaXMuZGVidWdJbmZvKGkpKTtpZih1JiYhcy5tYXRjaCgvXigjRklYRUR8I0RFRkFVTFQpJC8pKXRocm93IG5ldyBFcnJvcihcIkRlZmF1bHQgdmFsdWUgb25seSBhcHBsaWVzIHRvICNGSVhFRCBvciAjREVGQVVMVC4gXCIrdGhpcy5kZWJ1Z0luZm8oaSkpO3RoaXMuZWxlbWVudE5hbWU9dGhpcy5zdHJpbmdpZnkubmFtZShpKSx0aGlzLnR5cGU9dC5BdHRyaWJ1dGVEZWNsYXJhdGlvbix0aGlzLmF0dHJpYnV0ZU5hbWU9dGhpcy5zdHJpbmdpZnkubmFtZShyKSx0aGlzLmF0dHJpYnV0ZVR5cGU9dGhpcy5zdHJpbmdpZnkuZHRkQXR0VHlwZShvKSx1JiYodGhpcy5kZWZhdWx0VmFsdWU9dGhpcy5zdHJpbmdpZnkuZHRkQXR0RGVmYXVsdCh1KSksdGhpcy5kZWZhdWx0VmFsdWVUeXBlPXN9cmV0dXJuIGZ1bmN0aW9uKHQsZSl7Zm9yKHZhciByIGluIGUpaS5jYWxsKGUscikmJih0W3JdPWVbcl0pO2Z1bmN0aW9uIG4oKXt0aGlzLmNvbnN0cnVjdG9yPXR9bi5wcm90b3R5cGU9ZS5wcm90b3R5cGUsdC5wcm90b3R5cGU9bmV3IG4sdC5fX3N1cGVyX189ZS5wcm90b3R5cGV9KG4sZSksbi5wcm90b3R5cGUudG9TdHJpbmc9ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMub3B0aW9ucy53cml0ZXIuZHRkQXR0TGlzdCh0aGlzLHRoaXMub3B0aW9ucy53cml0ZXIuZmlsdGVyT3B0aW9ucyh0KSl9LG59KCl9KS5jYWxsKHRoaXMpO1xuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSWxoTlRFUlVSRUYwZEV4cGMzUXVhbk1pWFN3aWJtRnRaWE1pT2xzaVRtOWtaVlI1Y0dVaUxDSllUVXhPYjJSbElpd2lhR0Z6VUhKdmNDSXNJbWhoYzA5M2JsQnliM0JsY25SNUlpd2ljbVZ4ZFdseVpTSXNJbTF2WkhWc1pTSXNJbVY0Y0c5eWRITWlMQ0p6ZFhCbGNrTnNZWE56SWl3aVdFMU1SRlJFUVhSMFRHbHpkQ0lzSW5CaGNtVnVkQ0lzSW1Wc1pXMWxiblJPWVcxbElpd2lZWFIwY21saWRYUmxUbUZ0WlNJc0ltRjBkSEpwWW5WMFpWUjVjR1VpTENKa1pXWmhkV3gwVm1Gc2RXVlVlWEJsSWl3aVpHVm1ZWFZzZEZaaGJIVmxJaXdpWDE5emRYQmxjbDlmSWl3aVkyOXVjM1J5ZFdOMGIzSWlMQ0pqWVd4c0lpd2lkR2hwY3lJc0lrVnljbTl5SWl3aVpHVmlkV2RKYm1adklpd2lhVzVrWlhoUFppSXNJbTFoZEdOb0lpd2ljM1J5YVc1bmFXWjVJaXdpYm1GdFpTSXNJblI1Y0dVaUxDSkJkSFJ5YVdKMWRHVkVaV05zWVhKaGRHbHZiaUlzSW1SMFpFRjBkRlI1Y0dVaUxDSmtkR1JCZEhSRVpXWmhkV3gwSWl3aVkyaHBiR1FpTENKclpYa2lMQ0pqZEc5eUlpd2ljSEp2ZEc5MGVYQmxJaXdpWlhoMFpXNWtJaXdpZEc5VGRISnBibWNpTENKdmNIUnBiMjV6SWl3aWQzSnBkR1Z5SWl3aVpIUmtRWFIwVEdsemRDSXNJbVpwYkhSbGNrOXdkR2x2Ym5NaVhTd2liV0Z3Y0dsdVozTWlPaUpEUVVOQkxGZEJRMFVzU1VGQlNVRXNSVUZCZVVKRExFVkJSVE5DUXl4RlFVRlZMRWRCUVVkRExHVkJSV1pHTEVWQlFWVkhMRkZCUVZFc1lVRkZiRUpLTEVWQlFWZEpMRkZCUVZFc1kwRkZia0pETEU5QlFVOURMRkZCUVRCQ0xGTkJRVlZETEVkQlIzcERMRk5CUVZORExFVkJRV05ETEVWQlFWRkRMRVZCUVdGRExFVkJRV1ZETEVWQlFXVkRMRVZCUVd0Q1F5eEhRVVV4Uml4SFFVUkJUaXhGUVVGalR5eFZRVUZWUXl4WlFVRlpReXhMUVVGTFF5eExRVUZOVkN4SFFVTTFRaXhOUVVGbVF5eEZRVU5HTEUxQlFVMHNTVUZCU1ZNc1RVRkJUU3cyUWtGQkswSkVMRXRCUVV0RkxHRkJSWFJFTEVkQlFYRkNMRTFCUVdwQ1ZDeEZRVU5HTEUxQlFVMHNTVUZCU1ZFc1RVRkJUU3dyUWtGQmFVTkVMRXRCUVV0RkxGVkJRVlZXTEVsQlJXeEZMRWxCUVV0RkxFVkJRMGdzVFVGQlRTeEpRVUZKVHl4TlFVRk5MQ3RDUVVGcFEwUXNTMEZCUzBVc1ZVRkJWVllzU1VGRmJFVXNTVUZCUzBjc1JVRkRTQ3hOUVVGTkxFbEJRVWxOTEUxQlFVMHNhME5CUVc5RFJDeExRVUZMUlN4VlFVRlZWaXhKUVV0eVJTeEhRVWh6UXl4SlFVRnNRMGNzUlVGQmFVSlJMRkZCUVZFc1QwRkRNMEpTTEVWQlFXMUNMRWxCUVUxQkxFbEJSWFJDUVN4RlFVRnBRbE1zVFVGQlRTd3dRMEZETVVJc1RVRkJUU3hKUVVGSlNDeE5RVUZOTEd0R1FVRnZSa1FzUzBGQlMwVXNWVUZCVlZZc1NVRkZja2dzUjBGQlNVa3NTVUZCYVVKRUxFVkJRV2xDVXl4TlFVRk5MSFZDUVVNeFF5eE5RVUZOTEVsQlFVbElMRTFCUVUwc2NVUkJRWFZFUkN4TFFVRkxSU3hWUVVGVlZpeEpRVVY0UmxFc1MwRkJTMUlzV1VGQlkxRXNTMEZCUzBzc1ZVRkJWVU1zUzBGQlMyUXNSMEZEZGtOUkxFdEJRVXRQTEV0QlFVOTZRaXhGUVVGVE1FSXNjVUpCUTNKQ1VpeExRVUZMVUN4alFVRm5RazhzUzBGQlMwc3NWVUZCVlVNc1MwRkJTMklzUjBGRGVrTlBMRXRCUVV0T0xHTkJRV2RDVFN4TFFVRkxTeXhWUVVGVlNTeFhRVUZYWml4SFFVTXpRMFVzU1VGRFJra3NTMEZCUzBvc1lVRkJaVWtzUzBGQlMwc3NWVUZCVlVzc1kwRkJZMlFzU1VGRmJrUkpMRXRCUVV0TUxHbENRVUZ0UWtFc1JVRlBNVUlzVDBFdlExTXNVMEZCVTJkQ0xFVkJRVTl3UWl4SFFVRlZMRWxCUVVzc1NVRkJTWEZDTEV0QlFVOXlRaXhGUVVGalVDeEZRVUZSWlN4TFFVRkxVaXhGUVVGUmNVSXNTMEZCVFVRc1JVRkJUVU1zUjBGQlQzSkNMRVZCUVU5eFFpeEpRVUZSTEZOQlFWTkRMRWxCUVZOaUxFdEJRVXRHTEZsQlFXTmhMRVZCUVZORkxFVkJRVXRETEZWQlFWbDJRaXhGUVVGUGRVSXNWVUZCVjBnc1JVRkJUVWNzVlVGQldTeEpRVUZKUkN4RlFVRlJSaXhGUVVGTlpDeFZRVUZaVGl4RlFVRlBkVUlzVlVGUmFGRkRMRU5CUVU5NlFpeEZRWGxEVGxBc1IwRk9SRThzUlVGQlkzZENMRlZCUVZWRkxGTkJRVmNzVTBGQlUwTXNSMEZETVVNc1QwRkJUMnBDTEV0QlFVdHBRaXhSUVVGUlF5eFBRVUZQUXl4WFFVRlhia0lzUzBGQlRVRXNTMEZCUzJsQ0xGRkJRVkZETEU5QlFVOUZMR05CUVdOSUxFdEJSM3BGTTBJc1JVRjRRM2RDTEV0Qk5FTm9RMU1zUzBGQlMwTWlMQ0ptYVd4bElqb2lMMmh2YldVdmVtbHVieTl3Y205cVpXTjBjeTl6WldGMGJXRndkakl2YldGemRHVnlMM05sWVhSdFlYQjJNaTlqYkdsbGJuUXZibTlrWlY5dGIyUjFiR1Z6TDNodGJHSjFhV3hrWlhJdmJHbGlMMWhOVEVSVVJFRjBkRXhwYzNRdWFuTWlmUT09IiwiKGZ1bmN0aW9uKCl7dmFyIHQscixlPXt9Lmhhc093blByb3BlcnR5O3I9cmVxdWlyZShcIi4vWE1MTm9kZVwiKSx0PXJlcXVpcmUoXCIuL05vZGVUeXBlXCIpLG1vZHVsZS5leHBvcnRzPWZ1bmN0aW9uKGkpe2Z1bmN0aW9uIG4ocixlLGkpe2lmKG4uX19zdXBlcl9fLmNvbnN0cnVjdG9yLmNhbGwodGhpcyxyKSxudWxsPT1lKXRocm93IG5ldyBFcnJvcihcIk1pc3NpbmcgRFREIGVsZW1lbnQgbmFtZS4gXCIrdGhpcy5kZWJ1Z0luZm8oKSk7aXx8KGk9XCIoI1BDREFUQSlcIiksQXJyYXkuaXNBcnJheShpKSYmKGk9XCIoXCIraS5qb2luKFwiLFwiKStcIilcIiksdGhpcy5uYW1lPXRoaXMuc3RyaW5naWZ5Lm5hbWUoZSksdGhpcy50eXBlPXQuRWxlbWVudERlY2xhcmF0aW9uLHRoaXMudmFsdWU9dGhpcy5zdHJpbmdpZnkuZHRkRWxlbWVudFZhbHVlKGkpfXJldHVybiBmdW5jdGlvbih0LHIpe2Zvcih2YXIgaSBpbiByKWUuY2FsbChyLGkpJiYodFtpXT1yW2ldKTtmdW5jdGlvbiBuKCl7dGhpcy5jb25zdHJ1Y3Rvcj10fW4ucHJvdG90eXBlPXIucHJvdG90eXBlLHQucHJvdG90eXBlPW5ldyBuLHQuX19zdXBlcl9fPXIucHJvdG90eXBlfShuLHIpLG4ucHJvdG90eXBlLnRvU3RyaW5nPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLm9wdGlvbnMud3JpdGVyLmR0ZEVsZW1lbnQodGhpcyx0aGlzLm9wdGlvbnMud3JpdGVyLmZpbHRlck9wdGlvbnModCkpfSxufSgpfSkuY2FsbCh0aGlzKTtcblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYklsaE5URVJVUkVWc1pXMWxiblF1YW5NaVhTd2libUZ0WlhNaU9sc2lUbTlrWlZSNWNHVWlMQ0pZVFV4T2IyUmxJaXdpYUdGelVISnZjQ0lzSW1oaGMwOTNibEJ5YjNCbGNuUjVJaXdpY21WeGRXbHlaU0lzSW0xdlpIVnNaU0lzSW1WNGNHOXlkSE1pTENKemRYQmxja05zWVhOeklpd2lXRTFNUkZSRVJXeGxiV1Z1ZENJc0luQmhjbVZ1ZENJc0ltNWhiV1VpTENKMllXeDFaU0lzSWw5ZmMzVndaWEpmWHlJc0ltTnZibk4wY25WamRHOXlJaXdpWTJGc2JDSXNJblJvYVhNaUxDSkZjbkp2Y2lJc0ltUmxZblZuU1c1bWJ5SXNJa0Z5Y21GNUlpd2lhWE5CY25KaGVTSXNJbXB2YVc0aUxDSnpkSEpwYm1kcFpua2lMQ0owZVhCbElpd2lSV3hsYldWdWRFUmxZMnhoY21GMGFXOXVJaXdpWkhSa1JXeGxiV1Z1ZEZaaGJIVmxJaXdpWTJocGJHUWlMQ0pyWlhraUxDSmpkRzl5SWl3aWNISnZkRzkwZVhCbElpd2laWGgwWlc1a0lpd2lkRzlUZEhKcGJtY2lMQ0p2Y0hScGIyNXpJaXdpZDNKcGRHVnlJaXdpWkhSa1JXeGxiV1Z1ZENJc0ltWnBiSFJsY2s5d2RHbHZibk1pWFN3aWJXRndjR2x1WjNNaU9pSkRRVU5CTEZkQlEwVXNTVUZCU1VFc1JVRkJlVUpETEVWQlJUTkNReXhGUVVGVkxFZEJRVWRETEdWQlJXWkdMRVZCUVZWSExGRkJRVkVzWVVGRmJFSktMRVZCUVZkSkxGRkJRVkVzWTBGRmJrSkRMRTlCUVU5RExGRkJRVEJDTEZOQlFWVkRMRWRCUjNwRExGTkJRVk5ETEVWQlFXTkRMRVZCUVZGRExFVkJRVTFETEVkQlJXNURMRWRCUkVGSUxFVkJRV05KTEZWQlFWVkRMRmxCUVZsRExFdEJRVXRETEV0QlFVMU9MRWRCUTI1RExFMUJRVkpETEVWQlEwWXNUVUZCVFN4SlFVRkpUU3hOUVVGTkxEWkNRVUVyUWtRc1MwRkJTMFVzWVVGRmFrUk9MRWxCUTBoQkxFVkJRVkVzWVVGRlRrOHNUVUZCVFVNc1VVRkJVVklzUzBGRGFFSkJMRVZCUVZFc1NVRkJUVUVzUlVGQlRWTXNTMEZCU3l4TFFVRlBMRXRCUld4RFRDeExRVUZMVEN4TFFVRlBTeXhMUVVGTFRTeFZRVUZWV0N4TFFVRkxRU3hIUVVOb1Ewc3NTMEZCUzA4c1MwRkJUM1JDTEVWQlFWTjFRaXh0UWtGRGNrSlNMRXRCUVV0S0xFMUJRVkZKTEV0QlFVdE5MRlZCUVZWSExHZENRVUZuUW1Jc1IwRlBPVU1zVDBFNVFsTXNVMEZCVTJNc1JVRkJUMmhDTEVkQlFWVXNTVUZCU3l4SlFVRkphVUlzUzBGQlQycENMRVZCUVdOUUxFVkJRVkZaTEV0QlFVdE1MRVZCUVZGcFFpeExRVUZOUkN4RlFVRk5ReXhIUVVGUGFrSXNSVUZCVDJsQ0xFbEJRVkVzVTBGQlUwTXNTVUZCVTFvc1MwRkJTMFlzV1VGQlkxa3NSVUZCVTBVc1JVRkJTME1zVlVGQldXNUNMRVZCUVU5dFFpeFZRVUZYU0N4RlFVRk5SeXhWUVVGWkxFbEJRVWxFTEVWQlFWRkdMRVZCUVUxaUxGVkJRVmxJTEVWQlFVOXRRaXhWUVZGb1VVTXNRMEZCVDNKQ0xFVkJkMEpPVUN4SFFVNUVUeXhGUVVGamIwSXNWVUZCVlVVc1UwRkJWeXhUUVVGVFF5eEhRVU14UXl4UFFVRlBhRUlzUzBGQlMyZENMRkZCUVZGRExFOUJRVTlETEZkQlFWZHNRaXhMUVVGTlFTeExRVUZMWjBJc1VVRkJVVU1zVDBGQlQwVXNZMEZCWTBnc1MwRkhla1YyUWl4RlFYWkNkMElzUzBFeVFtaERUU3hMUVVGTFF5SXNJbVpwYkdVaU9pSXZhRzl0WlM5NmFXNXZMM0J5YjJwbFkzUnpMM05sWVhSdFlYQjJNaTl0WVhOMFpYSXZjMlZoZEcxaGNIWXlMMk5zYVdWdWRDOXViMlJsWDIxdlpIVnNaWE12ZUcxc1luVnBiR1JsY2k5c2FXSXZXRTFNUkZSRVJXeGxiV1Z1ZEM1cWN5SjkiLCIoZnVuY3Rpb24oKXt2YXIgdCxlLGksbj17fS5oYXNPd25Qcm9wZXJ0eTtpPXJlcXVpcmUoXCIuL1V0aWxpdHlcIikuaXNPYmplY3QsZT1yZXF1aXJlKFwiLi9YTUxOb2RlXCIpLHQ9cmVxdWlyZShcIi4vTm9kZVR5cGVcIiksbW9kdWxlLmV4cG9ydHM9ZnVuY3Rpb24ocil7ZnVuY3Rpb24gbyhlLG4scixzKXtpZihvLl9fc3VwZXJfXy5jb25zdHJ1Y3Rvci5jYWxsKHRoaXMsZSksbnVsbD09cil0aHJvdyBuZXcgRXJyb3IoXCJNaXNzaW5nIERURCBlbnRpdHkgbmFtZS4gXCIrdGhpcy5kZWJ1Z0luZm8ocikpO2lmKG51bGw9PXMpdGhyb3cgbmV3IEVycm9yKFwiTWlzc2luZyBEVEQgZW50aXR5IHZhbHVlLiBcIit0aGlzLmRlYnVnSW5mbyhyKSk7aWYodGhpcy5wZT0hIW4sdGhpcy5uYW1lPXRoaXMuc3RyaW5naWZ5Lm5hbWUociksdGhpcy50eXBlPXQuRW50aXR5RGVjbGFyYXRpb24saShzKSl7aWYoIXMucHViSUQmJiFzLnN5c0lEKXRocm93IG5ldyBFcnJvcihcIlB1YmxpYyBhbmQvb3Igc3lzdGVtIGlkZW50aWZpZXJzIGFyZSByZXF1aXJlZCBmb3IgYW4gZXh0ZXJuYWwgZW50aXR5LiBcIit0aGlzLmRlYnVnSW5mbyhyKSk7aWYocy5wdWJJRCYmIXMuc3lzSUQpdGhyb3cgbmV3IEVycm9yKFwiU3lzdGVtIGlkZW50aWZpZXIgaXMgcmVxdWlyZWQgZm9yIGEgcHVibGljIGV4dGVybmFsIGVudGl0eS4gXCIrdGhpcy5kZWJ1Z0luZm8ocikpO2lmKHRoaXMuaW50ZXJuYWw9ITEsbnVsbCE9cy5wdWJJRCYmKHRoaXMucHViSUQ9dGhpcy5zdHJpbmdpZnkuZHRkUHViSUQocy5wdWJJRCkpLG51bGwhPXMuc3lzSUQmJih0aGlzLnN5c0lEPXRoaXMuc3RyaW5naWZ5LmR0ZFN5c0lEKHMuc3lzSUQpKSxudWxsIT1zLm5EYXRhJiYodGhpcy5uRGF0YT10aGlzLnN0cmluZ2lmeS5kdGRORGF0YShzLm5EYXRhKSksdGhpcy5wZSYmdGhpcy5uRGF0YSl0aHJvdyBuZXcgRXJyb3IoXCJOb3RhdGlvbiBkZWNsYXJhdGlvbiBpcyBub3QgYWxsb3dlZCBpbiBhIHBhcmFtZXRlciBlbnRpdHkuIFwiK3RoaXMuZGVidWdJbmZvKHIpKX1lbHNlIHRoaXMudmFsdWU9dGhpcy5zdHJpbmdpZnkuZHRkRW50aXR5VmFsdWUocyksdGhpcy5pbnRlcm5hbD0hMH1yZXR1cm4gZnVuY3Rpb24odCxlKXtmb3IodmFyIGkgaW4gZSluLmNhbGwoZSxpKSYmKHRbaV09ZVtpXSk7ZnVuY3Rpb24gcigpe3RoaXMuY29uc3RydWN0b3I9dH1yLnByb3RvdHlwZT1lLnByb3RvdHlwZSx0LnByb3RvdHlwZT1uZXcgcix0Ll9fc3VwZXJfXz1lLnByb3RvdHlwZX0obyxlKSxPYmplY3QuZGVmaW5lUHJvcGVydHkoby5wcm90b3R5cGUsXCJwdWJsaWNJZFwiLHtnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5wdWJJRH19KSxPYmplY3QuZGVmaW5lUHJvcGVydHkoby5wcm90b3R5cGUsXCJzeXN0ZW1JZFwiLHtnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5zeXNJRH19KSxPYmplY3QuZGVmaW5lUHJvcGVydHkoby5wcm90b3R5cGUsXCJub3RhdGlvbk5hbWVcIix7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMubkRhdGF8fG51bGx9fSksT2JqZWN0LmRlZmluZVByb3BlcnR5KG8ucHJvdG90eXBlLFwiaW5wdXRFbmNvZGluZ1wiLHtnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gbnVsbH19KSxPYmplY3QuZGVmaW5lUHJvcGVydHkoby5wcm90b3R5cGUsXCJ4bWxFbmNvZGluZ1wiLHtnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gbnVsbH19KSxPYmplY3QuZGVmaW5lUHJvcGVydHkoby5wcm90b3R5cGUsXCJ4bWxWZXJzaW9uXCIse2dldDpmdW5jdGlvbigpe3JldHVybiBudWxsfX0pLG8ucHJvdG90eXBlLnRvU3RyaW5nPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLm9wdGlvbnMud3JpdGVyLmR0ZEVudGl0eSh0aGlzLHRoaXMub3B0aW9ucy53cml0ZXIuZmlsdGVyT3B0aW9ucyh0KSl9LG99KCl9KS5jYWxsKHRoaXMpO1xuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSWxoTlRFUlVSRVZ1ZEdsMGVTNXFjeUpkTENKdVlXMWxjeUk2V3lKT2IyUmxWSGx3WlNJc0lsaE5URTV2WkdVaUxDSnBjMDlpYW1WamRDSXNJbWhoYzFCeWIzQWlMQ0pvWVhOUGQyNVFjbTl3WlhKMGVTSXNJbkpsY1hWcGNtVWlMQ0p0YjJSMWJHVWlMQ0psZUhCdmNuUnpJaXdpYzNWd1pYSkRiR0Z6Y3lJc0lsaE5URVJVUkVWdWRHbDBlU0lzSW5CaGNtVnVkQ0lzSW5CbElpd2libUZ0WlNJc0luWmhiSFZsSWl3aVgxOXpkWEJsY2w5Zklpd2lZMjl1YzNSeWRXTjBiM0lpTENKallXeHNJaXdpZEdocGN5SXNJa1Z5Y205eUlpd2laR1ZpZFdkSmJtWnZJaXdpYzNSeWFXNW5hV1o1SWl3aWRIbHdaU0lzSWtWdWRHbDBlVVJsWTJ4aGNtRjBhVzl1SWl3aWNIVmlTVVFpTENKemVYTkpSQ0lzSW1sdWRHVnlibUZzSWl3aVpIUmtVSFZpU1VRaUxDSmtkR1JUZVhOSlJDSXNJbTVFWVhSaElpd2laSFJrVGtSaGRHRWlMQ0prZEdSRmJuUnBkSGxXWVd4MVpTSXNJbU5vYVd4a0lpd2lhMlY1SWl3aVkzUnZjaUlzSW5CeWIzUnZkSGx3WlNJc0ltVjRkR1Z1WkNJc0lrOWlhbVZqZENJc0ltUmxabWx1WlZCeWIzQmxjblI1SWl3aVoyVjBJaXdpZEc5VGRISnBibWNpTENKdmNIUnBiMjV6SWl3aWQzSnBkR1Z5SWl3aVpIUmtSVzUwYVhSNUlpd2labWxzZEdWeVQzQjBhVzl1Y3lKZExDSnRZWEJ3YVc1bmN5STZJa05CUTBFc1YwRkRSU3hKUVVGSlFTeEZRVUYzUWtNc1JVRkJVME1zUlVGRmJrTkRMRVZCUVZVc1IwRkJSME1zWlVGRlprWXNSVUZCVjBjc1VVRkJVU3hoUVVGaFNDeFRRVVZvUTBRc1JVRkJWVWtzVVVGQlVTeGhRVVZzUWt3c1JVRkJWMHNzVVVGQlVTeGpRVVZ1UWtNc1QwRkJUME1zVVVGQmVVSXNVMEZCVlVNc1IwRkhlRU1zVTBGQlUwTXNSVUZCWVVNc1JVRkJVVU1zUlVGQlNVTXNSVUZCVFVNc1IwRkZkRU1zUjBGRVFVb3NSVUZCWVVzc1ZVRkJWVU1zV1VGQldVTXNTMEZCUzBNc1MwRkJUVkFzUjBGRGJFTXNUVUZCVWtVc1JVRkRSaXhOUVVGTkxFbEJRVWxOTEUxQlFVMHNORUpCUVRoQ1JDeExRVUZMUlN4VlFVRlZVQ3hKUVVVdlJDeEhRVUZoTEUxQlFWUkRMRVZCUTBZc1RVRkJUU3hKUVVGSlN5eE5RVUZOTERaQ1FVRXJRa1FzUzBGQlMwVXNWVUZCVlZBc1NVRkxhRVVzUjBGSVFVc3NTMEZCUzA0c1MwRkJUMEVzUlVGRFdrMHNTMEZCUzB3c1MwRkJUMHNzUzBGQlMwY3NWVUZCVlZJc1MwRkJTMEVzUjBGRGFFTkxMRXRCUVV0SkxFdEJRVTl5UWl4RlFVRlRjMElzYTBKQlEyaENjRUlzUlVGQlUxY3NSMEZIVUN4RFFVTk1MRWxCUVV0QkxFVkJRVTFWTEZGQlFWVldMRVZCUVUxWExFMUJRM3BDTEUxQlFVMHNTVUZCU1U0c1RVRkJUU3g1UlVGQk1rVkVMRXRCUVV0RkxGVkJRVlZRTEVsQlJUVkhMRWRCUVVsRExFVkJRVTFWTEZGQlFWVldMRVZCUVUxWExFMUJRM2hDTEUxQlFVMHNTVUZCU1U0c1RVRkJUU3dyUkVGQmFVVkVMRXRCUVV0RkxGVkJRVlZRTEVsQldXeEhMRWRCVmtGTExFdEJRVXRSTEZWQlFWY3NSVUZEUnl4TlFVRm1XaXhGUVVGTlZTeFJRVU5TVGl4TFFVRkxUU3hOUVVGUlRpeExRVUZMUnl4VlFVRlZUU3hUUVVGVFlpeEZRVUZOVlN4UlFVVXhRaXhOUVVGbVZpeEZRVUZOVnl4UlFVTlNVQ3hMUVVGTFR5eE5RVUZSVUN4TFFVRkxSeXhWUVVGVlR5eFRRVUZUWkN4RlFVRk5WeXhSUVVVeFFpeE5RVUZtV0N4RlFVRk5aU3hSUVVOU1dDeExRVUZMVnl4TlFVRlJXQ3hMUVVGTFJ5eFZRVUZWVXl4VFFVRlRhRUlzUlVGQlRXVXNVVUZGZWtOWUxFdEJRVXRPTEVsQlFVMU5MRXRCUVV0WExFMUJRMnhDTEUxQlFVMHNTVUZCU1ZZc1RVRkJUU3c0UkVGQlowVkVMRXRCUVV0RkxGVkJRVlZRTEZOQmNFSnFSMHNzUzBGQlMwb3NUVUZCVVVrc1MwRkJTMGNzVlVGQlZWVXNaVUZCWldwQ0xFZEJRek5EU1N4TFFVRkxVU3hWUVVGWExFVkJaMFZ3UWl4UFFYcEdVeXhUUVVGVFRTeEZRVUZQY2tJc1IwRkJWU3hKUVVGTExFbEJRVWx6UWl4TFFVRlBkRUlzUlVGQlkxQXNSVUZCVVdFc1MwRkJTMDRzUlVGQlVYTkNMRXRCUVUxRUxFVkJRVTFETEVkQlFVOTBRaXhGUVVGUGMwSXNTVUZCVVN4VFFVRlRReXhKUVVGVGFFSXNTMEZCUzBZc1dVRkJZMmRDTEVWQlFWTkZMRVZCUVV0RExGVkJRVmw0UWl4RlFVRlBkMElzVlVGQlYwZ3NSVUZCVFVjc1ZVRkJXU3hKUVVGSlJDeEZRVUZSUml4RlFVRk5ha0lzVlVGQldVb3NSVUZCVDNkQ0xGVkJWV2hSUXl4RFFVRlBNVUlzUlVGcFJrNVNMRWRCTVVORWJVTXNUMEZCVDBNc1pVRkJaVFZDTEVWQlFXRjVRaXhWUVVGWExGZEJRVmtzUTBGRGVFUkpMRWxCUVVzc1YwRkRTQ3hQUVVGUGNrSXNTMEZCUzAwc1UwRkphRUpoTEU5QlFVOURMR1ZCUVdVMVFpeEZRVUZoZVVJc1ZVRkJWeXhYUVVGWkxFTkJRM2hFU1N4SlFVRkxMRmRCUTBnc1QwRkJUM0pDTEV0QlFVdFBMRk5CU1doQ1dTeFBRVUZQUXl4bFFVRmxOVUlzUlVGQllYbENMRlZCUVZjc1pVRkJaMElzUTBGRE5VUkpMRWxCUVVzc1YwRkRTQ3hQUVVGUGNrSXNTMEZCUzFjc1QwRkJVeXhSUVVsNlFsRXNUMEZCVDBNc1pVRkJaVFZDTEVWQlFXRjVRaXhWUVVGWExHZENRVUZwUWl4RFFVTTNSRWtzU1VGQlN5eFhRVU5JTEU5QlFVOHNVVUZKV0VZc1QwRkJUME1zWlVGQlpUVkNMRVZCUVdGNVFpeFZRVUZYTEdOQlFXVXNRMEZETTBSSkxFbEJRVXNzVjBGRFNDeFBRVUZQTEZGQlNWaEdMRTlCUVU5RExHVkJRV1UxUWl4RlFVRmhlVUlzVlVGQlZ5eGhRVUZqTEVOQlF6RkVTU3hKUVVGTExGZEJRMGdzVDBGQlR5eFJRVWxZTjBJc1JVRkJZWGxDTEZWQlFWVkxMRk5CUVZjc1UwRkJVME1zUjBGRGVrTXNUMEZCVDNaQ0xFdEJRVXQxUWl4UlFVRlJReXhQUVVGUFF5eFZRVUZWZWtJc1MwRkJUVUVzUzBGQlMzVkNMRkZCUVZGRExFOUJRVTlGTEdOQlFXTklMRXRCUjNoRkwwSXNSVUZvUm5WQ0xFdEJiMFl2UWs4c1MwRkJTME1pTENKbWFXeGxJam9pTDJodmJXVXZlbWx1Ynk5d2NtOXFaV04wY3k5elpXRjBiV0Z3ZGpJdmJXRnpkR1Z5TDNObFlYUnRZWEIyTWk5amJHbGxiblF2Ym05a1pWOXRiMlIxYkdWekwzaHRiR0oxYVd4a1pYSXZiR2xpTDFoTlRFUlVSRVZ1ZEdsMGVTNXFjeUo5IiwiKGZ1bmN0aW9uKCl7dmFyIHQscixpPXt9Lmhhc093blByb3BlcnR5O3I9cmVxdWlyZShcIi4vWE1MTm9kZVwiKSx0PXJlcXVpcmUoXCIuL05vZGVUeXBlXCIpLG1vZHVsZS5leHBvcnRzPWZ1bmN0aW9uKGUpe2Z1bmN0aW9uIG8ocixpLGUpe2lmKG8uX19zdXBlcl9fLmNvbnN0cnVjdG9yLmNhbGwodGhpcyxyKSxudWxsPT1pKXRocm93IG5ldyBFcnJvcihcIk1pc3NpbmcgRFREIG5vdGF0aW9uIG5hbWUuIFwiK3RoaXMuZGVidWdJbmZvKGkpKTtpZighZS5wdWJJRCYmIWUuc3lzSUQpdGhyb3cgbmV3IEVycm9yKFwiUHVibGljIG9yIHN5c3RlbSBpZGVudGlmaWVycyBhcmUgcmVxdWlyZWQgZm9yIGFuIGV4dGVybmFsIGVudGl0eS4gXCIrdGhpcy5kZWJ1Z0luZm8oaSkpO3RoaXMubmFtZT10aGlzLnN0cmluZ2lmeS5uYW1lKGkpLHRoaXMudHlwZT10Lk5vdGF0aW9uRGVjbGFyYXRpb24sbnVsbCE9ZS5wdWJJRCYmKHRoaXMucHViSUQ9dGhpcy5zdHJpbmdpZnkuZHRkUHViSUQoZS5wdWJJRCkpLG51bGwhPWUuc3lzSUQmJih0aGlzLnN5c0lEPXRoaXMuc3RyaW5naWZ5LmR0ZFN5c0lEKGUuc3lzSUQpKX1yZXR1cm4gZnVuY3Rpb24odCxyKXtmb3IodmFyIGUgaW4gcilpLmNhbGwocixlKSYmKHRbZV09cltlXSk7ZnVuY3Rpb24gbygpe3RoaXMuY29uc3RydWN0b3I9dH1vLnByb3RvdHlwZT1yLnByb3RvdHlwZSx0LnByb3RvdHlwZT1uZXcgbyx0Ll9fc3VwZXJfXz1yLnByb3RvdHlwZX0obyxyKSxPYmplY3QuZGVmaW5lUHJvcGVydHkoby5wcm90b3R5cGUsXCJwdWJsaWNJZFwiLHtnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5wdWJJRH19KSxPYmplY3QuZGVmaW5lUHJvcGVydHkoby5wcm90b3R5cGUsXCJzeXN0ZW1JZFwiLHtnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5zeXNJRH19KSxvLnByb3RvdHlwZS50b1N0cmluZz1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5vcHRpb25zLndyaXRlci5kdGROb3RhdGlvbih0aGlzLHRoaXMub3B0aW9ucy53cml0ZXIuZmlsdGVyT3B0aW9ucyh0KSl9LG99KCl9KS5jYWxsKHRoaXMpO1xuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSWxoTlRFUlVSRTV2ZEdGMGFXOXVMbXB6SWwwc0ltNWhiV1Z6SWpwYklrNXZaR1ZVZVhCbElpd2lXRTFNVG05a1pTSXNJbWhoYzFCeWIzQWlMQ0pvWVhOUGQyNVFjbTl3WlhKMGVTSXNJbkpsY1hWcGNtVWlMQ0p0YjJSMWJHVWlMQ0psZUhCdmNuUnpJaXdpYzNWd1pYSkRiR0Z6Y3lJc0lsaE5URVJVUkU1dmRHRjBhVzl1SWl3aWNHRnlaVzUwSWl3aWJtRnRaU0lzSW5aaGJIVmxJaXdpWDE5emRYQmxjbDlmSWl3aVkyOXVjM1J5ZFdOMGIzSWlMQ0pqWVd4c0lpd2lkR2hwY3lJc0lrVnljbTl5SWl3aVpHVmlkV2RKYm1adklpd2ljSFZpU1VRaUxDSnplWE5KUkNJc0luTjBjbWx1WjJsbWVTSXNJblI1Y0dVaUxDSk9iM1JoZEdsdmJrUmxZMnhoY21GMGFXOXVJaXdpWkhSa1VIVmlTVVFpTENKa2RHUlRlWE5KUkNJc0ltTm9hV3hrSWl3aWEyVjVJaXdpWTNSdmNpSXNJbkJ5YjNSdmRIbHdaU0lzSW1WNGRHVnVaQ0lzSWs5aWFtVmpkQ0lzSW1SbFptbHVaVkJ5YjNCbGNuUjVJaXdpWjJWMElpd2lkRzlUZEhKcGJtY2lMQ0p2Y0hScGIyNXpJaXdpZDNKcGRHVnlJaXdpWkhSa1RtOTBZWFJwYjI0aUxDSm1hV3gwWlhKUGNIUnBiMjV6SWwwc0ltMWhjSEJwYm1keklqb2lRMEZEUVN4WFFVTkZMRWxCUVVsQkxFVkJRVEJDUXl4RlFVVTFRa01zUlVGQlZTeEhRVUZIUXl4bFFVVm1SaXhGUVVGVlJ5eFJRVUZSTEdGQlJXeENTaXhGUVVGWFNTeFJRVUZSTEdOQlJXNUNReXhQUVVGUFF5eFJRVUV5UWl4VFFVRlZReXhIUVVjeFF5eFRRVUZUUXl4RlFVRmxReXhGUVVGUlF5eEZRVUZOUXl4SFFVVndReXhIUVVSQlNDeEZRVUZsU1N4VlFVRlZReXhaUVVGWlF5eExRVUZMUXl4TFFVRk5UaXhIUVVOd1F5eE5RVUZTUXl4RlFVTkdMRTFCUVUwc1NVRkJTVTBzVFVGQlRTdzRRa0ZCWjBORUxFdEJRVXRGTEZWQlFWVlFMRWxCUldwRkxFbEJRVXRETEVWQlFVMVBMRkZCUVZWUUxFVkJRVTFSTEUxQlEzcENMRTFCUVUwc1NVRkJTVWdzVFVGQlRTeHhSVUZCZFVWRUxFdEJRVXRGTEZWQlFWVlFMRWxCUlhoSFN5eExRVUZMVEN4TFFVRlBTeXhMUVVGTFN5eFZRVUZWVml4TFFVRkxRU3hIUVVOb1Ewc3NTMEZCUzAwc1MwRkJUM0pDTEVWQlFWTnpRaXh2UWtGRFJpeE5RVUZtV0N4RlFVRk5UeXhSUVVOU1NDeExRVUZMUnl4TlFVRlJTQ3hMUVVGTFN5eFZRVUZWUnl4VFFVRlRXaXhGUVVGTlR5eFJRVVV4UWl4TlFVRm1VQ3hGUVVGTlVTeFJRVU5TU2l4TFFVRkxTU3hOUVVGUlNpeExRVUZMU3l4VlFVRlZTU3hUUVVGVFlpeEZRVUZOVVN4UlFXOUNMME1zVDBFMVExTXNVMEZCVTAwc1JVRkJUMmhDTEVkQlFWVXNTVUZCU3l4SlFVRkphVUlzUzBGQlQycENMRVZCUVdOUUxFVkJRVkZaTEV0QlFVdE1MRVZCUVZGcFFpeExRVUZOUkN4RlFVRk5ReXhIUVVGUGFrSXNSVUZCVDJsQ0xFbEJRVkVzVTBGQlUwTXNTVUZCVTFvc1MwRkJTMFlzV1VGQlkxa3NSVUZCVTBVc1JVRkJTME1zVlVGQldXNUNMRVZCUVU5dFFpeFZRVUZYU0N4RlFVRk5SeXhWUVVGWkxFbEJRVWxFTEVWQlFWRkdMRVZCUVUxaUxGVkJRVmxJTEVWQlFVOXRRaXhWUVZGb1VVTXNRMEZCVDNKQ0xFVkJjME5PVUN4SFFXeENSRFpDTEU5QlFVOURMR1ZCUVdWMlFpeEZRVUZsYjBJc1ZVRkJWeXhYUVVGWkxFTkJRekZFU1N4SlFVRkxMRmRCUTBnc1QwRkJUMnBDTEV0QlFVdEhMRk5CU1doQ1dTeFBRVUZQUXl4bFFVRmxka0lzUlVGQlpXOUNMRlZCUVZjc1YwRkJXU3hEUVVNeFJFa3NTVUZCU3l4WFFVTklMRTlCUVU5cVFpeExRVUZMU1N4VFFVbG9RbGdzUlVGQlpXOUNMRlZCUVZWTExGTkJRVmNzVTBGQlUwTXNSMEZETTBNc1QwRkJUMjVDTEV0QlFVdHRRaXhSUVVGUlF5eFBRVUZQUXl4WlFVRlpja0lzUzBGQlRVRXNTMEZCUzIxQ0xGRkJRVkZETEU5QlFVOUZMR05CUVdOSUxFdEJSekZGTVVJc1JVRnlRM2xDTEV0QmVVTnFRMDBzUzBGQlMwTWlMQ0ptYVd4bElqb2lMMmh2YldVdmVtbHVieTl3Y205cVpXTjBjeTl6WldGMGJXRndkakl2YldGemRHVnlMM05sWVhSdFlYQjJNaTlqYkdsbGJuUXZibTlrWlY5dGIyUjFiR1Z6TDNodGJHSjFhV3hrWlhJdmJHbGlMMWhOVEVSVVJFNXZkR0YwYVc5dUxtcHpJbjA9IiwiKGZ1bmN0aW9uKCl7dmFyIHQsaSxuLG89e30uaGFzT3duUHJvcGVydHk7bj1yZXF1aXJlKFwiLi9VdGlsaXR5XCIpLmlzT2JqZWN0LGk9cmVxdWlyZShcIi4vWE1MTm9kZVwiKSx0PXJlcXVpcmUoXCIuL05vZGVUeXBlXCIpLG1vZHVsZS5leHBvcnRzPWZ1bmN0aW9uKHIpe2Z1bmN0aW9uIGUoaSxvLHIscyl7dmFyIGw7ZS5fX3N1cGVyX18uY29uc3RydWN0b3IuY2FsbCh0aGlzLGkpLG4obykmJihvPShsPW8pLnZlcnNpb24scj1sLmVuY29kaW5nLHM9bC5zdGFuZGFsb25lKSxvfHwobz1cIjEuMFwiKSx0aGlzLnR5cGU9dC5EZWNsYXJhdGlvbix0aGlzLnZlcnNpb249dGhpcy5zdHJpbmdpZnkueG1sVmVyc2lvbihvKSxudWxsIT1yJiYodGhpcy5lbmNvZGluZz10aGlzLnN0cmluZ2lmeS54bWxFbmNvZGluZyhyKSksbnVsbCE9cyYmKHRoaXMuc3RhbmRhbG9uZT10aGlzLnN0cmluZ2lmeS54bWxTdGFuZGFsb25lKHMpKX1yZXR1cm4gZnVuY3Rpb24odCxpKXtmb3IodmFyIG4gaW4gaSlvLmNhbGwoaSxuKSYmKHRbbl09aVtuXSk7ZnVuY3Rpb24gcigpe3RoaXMuY29uc3RydWN0b3I9dH1yLnByb3RvdHlwZT1pLnByb3RvdHlwZSx0LnByb3RvdHlwZT1uZXcgcix0Ll9fc3VwZXJfXz1pLnByb3RvdHlwZX0oZSxpKSxlLnByb3RvdHlwZS50b1N0cmluZz1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5vcHRpb25zLndyaXRlci5kZWNsYXJhdGlvbih0aGlzLHRoaXMub3B0aW9ucy53cml0ZXIuZmlsdGVyT3B0aW9ucyh0KSl9LGV9KCl9KS5jYWxsKHRoaXMpO1xuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSWxoTlRFUmxZMnhoY21GMGFXOXVMbXB6SWwwc0ltNWhiV1Z6SWpwYklrNXZaR1ZVZVhCbElpd2lXRTFNVG05a1pTSXNJbWx6VDJKcVpXTjBJaXdpYUdGelVISnZjQ0lzSW1oaGMwOTNibEJ5YjNCbGNuUjVJaXdpY21WeGRXbHlaU0lzSW0xdlpIVnNaU0lzSW1WNGNHOXlkSE1pTENKemRYQmxja05zWVhOeklpd2lXRTFNUkdWamJHRnlZWFJwYjI0aUxDSndZWEpsYm5RaUxDSjJaWEp6YVc5dUlpd2laVzVqYjJScGJtY2lMQ0p6ZEdGdVpHRnNiMjVsSWl3aWNtVm1JaXdpWDE5emRYQmxjbDlmSWl3aVkyOXVjM1J5ZFdOMGIzSWlMQ0pqWVd4c0lpd2lkR2hwY3lJc0luUjVjR1VpTENKRVpXTnNZWEpoZEdsdmJpSXNJbk4wY21sdVoybG1lU0lzSW5odGJGWmxjbk5wYjI0aUxDSjRiV3hGYm1OdlpHbHVaeUlzSW5odGJGTjBZVzVrWVd4dmJtVWlMQ0pqYUdsc1pDSXNJbXRsZVNJc0ltTjBiM0lpTENKd2NtOTBiM1I1Y0dVaUxDSmxlSFJsYm1RaUxDSjBiMU4wY21sdVp5SXNJbTl3ZEdsdmJuTWlMQ0ozY21sMFpYSWlMQ0prWldOc1lYSmhkR2x2YmlJc0ltWnBiSFJsY2s5d2RHbHZibk1pWFN3aWJXRndjR2x1WjNNaU9pSkRRVU5CTEZkQlEwVXNTVUZCU1VFc1JVRkJNRUpETEVWQlFWTkRMRVZCUlhKRFF5eEZRVUZWTEVkQlFVZERMR1ZCUldaR0xFVkJRVmRITEZGQlFWRXNZVUZCWVVnc1UwRkZhRU5FTEVWQlFWVkpMRkZCUVZFc1lVRkZiRUpNTEVWQlFWZExMRkZCUVZFc1kwRkZia0pETEU5QlFVOURMRkZCUVRKQ0xGTkJRVlZETEVkQlJ6RkRMRk5CUVZORExFVkJRV1ZETEVWQlFWRkRMRVZCUVZORExFVkJRVlZETEVkQlEycEVMRWxCUVVsRExFVkJRMHBNTEVWQlFXVk5MRlZCUVZWRExGbEJRVmxETEV0QlFVdERMRXRCUVUxU0xFZEJRelZEVWl4RlFVRlRVeXhMUVVOSlFTeEhRVUZtUnl4RlFVRk5TQ3hIUVVGMVFrRXNVVUZCVTBNc1JVRkJWMFVzUlVGQlNVWXNVMEZCVlVNc1JVRkJZVU1zUlVGQlNVUXNXVUZGTjBWR0xFbEJRMGhCTEVWQlFWVXNUMEZGV2s4c1MwRkJTME1zUzBGQlQyNUNMRVZCUVZOdlFpeFpRVU55UWtZc1MwRkJTMUFzVVVGQlZVOHNTMEZCUzBjc1ZVRkJWVU1zVjBGQlYxZ3NSMEZEZWtJc1RVRkJXa01zU1VGRFJrMHNTMEZCUzA0c1UwRkJWMDBzUzBGQlMwY3NWVUZCVlVVc1dVRkJXVmdzU1VGRk0wSXNUVUZCWkVNc1NVRkRSa3NzUzBGQlMwd3NWMEZCWVVzc1MwRkJTMGNzVlVGQlZVY3NZMEZCWTFnc1NVRlJia1FzVDBGdVExTXNVMEZCVTFrc1JVRkJUMllzUjBGQlZTeEpRVUZMTEVsQlFVbG5RaXhMUVVGUGFFSXNSVUZCWTFBc1JVRkJVV01zUzBGQlMxQXNSVUZCVVdkQ0xFdEJRVTFFTEVWQlFVMURMRWRCUVU5b1FpeEZRVUZQWjBJc1NVRkJVU3hUUVVGVFF5eEpRVUZUVkN4TFFVRkxSaXhaUVVGalV5eEZRVUZUUlN4RlFVRkxReXhWUVVGWmJFSXNSVUZCVDJ0Q0xGVkJRVmRJTEVWQlFVMUhMRlZCUVZrc1NVRkJTVVFzUlVGQlVVWXNSVUZCVFZZc1ZVRkJXVXdzUlVGQlQydENMRlZCVldoUlF5eERRVUZQY0VJc1JVRXlRazVTTEVkQlRrUlJMRVZCUVdWdFFpeFZRVUZWUlN4VFFVRlhMRk5CUVZORExFZEJRek5ETEU5QlFVOWlMRXRCUVV0aExGRkJRVkZETEU5QlFVOURMRmxCUVZsbUxFdEJRVTFCTEV0QlFVdGhMRkZCUVZGRExFOUJRVTlGTEdOQlFXTklMRXRCUnpGRmRFSXNSVUV4UW5sQ0xFdEJPRUpxUTFFc1MwRkJTME1pTENKbWFXeGxJam9pTDJodmJXVXZlbWx1Ynk5d2NtOXFaV04wY3k5elpXRjBiV0Z3ZGpJdmJXRnpkR1Z5TDNObFlYUnRZWEIyTWk5amJHbGxiblF2Ym05a1pWOXRiMlIxYkdWekwzaHRiR0oxYVd4a1pYSXZiR2xpTDFoTlRFUmxZMnhoY21GMGFXOXVMbXB6SW4wPSIsIihmdW5jdGlvbigpe3ZhciB0LGUsbixpLHIsbyxzLHAsdT17fS5oYXNPd25Qcm9wZXJ0eTtwPXJlcXVpcmUoXCIuL1V0aWxpdHlcIikuaXNPYmplY3Qscz1yZXF1aXJlKFwiLi9YTUxOb2RlXCIpLHQ9cmVxdWlyZShcIi4vTm9kZVR5cGVcIiksZT1yZXF1aXJlKFwiLi9YTUxEVERBdHRMaXN0XCIpLGk9cmVxdWlyZShcIi4vWE1MRFRERW50aXR5XCIpLG49cmVxdWlyZShcIi4vWE1MRFRERWxlbWVudFwiKSxyPXJlcXVpcmUoXCIuL1hNTERURE5vdGF0aW9uXCIpLG89cmVxdWlyZShcIi4vWE1MTmFtZWROb2RlTWFwXCIpLG1vZHVsZS5leHBvcnRzPWZ1bmN0aW9uKGgpe2Z1bmN0aW9uIGMoZSxuLGkpe3ZhciByLG8scyx1LGgseTtpZihjLl9fc3VwZXJfXy5jb25zdHJ1Y3Rvci5jYWxsKHRoaXMsZSksdGhpcy50eXBlPXQuRG9jVHlwZSxlLmNoaWxkcmVuKWZvcihvPTAscz0odT1lLmNoaWxkcmVuKS5sZW5ndGg7bzxzO28rKylpZigocj11W29dKS50eXBlPT09dC5FbGVtZW50KXt0aGlzLm5hbWU9ci5uYW1lO2JyZWFrfXRoaXMuZG9jdW1lbnRPYmplY3Q9ZSxwKG4pJiYobj0oaD1uKS5wdWJJRCxpPWguc3lzSUQpLG51bGw9PWkmJihpPSh5PVtuLGldKVswXSxuPXlbMV0pLG51bGwhPW4mJih0aGlzLnB1YklEPXRoaXMuc3RyaW5naWZ5LmR0ZFB1YklEKG4pKSxudWxsIT1pJiYodGhpcy5zeXNJRD10aGlzLnN0cmluZ2lmeS5kdGRTeXNJRChpKSl9cmV0dXJuIGZ1bmN0aW9uKHQsZSl7Zm9yKHZhciBuIGluIGUpdS5jYWxsKGUsbikmJih0W25dPWVbbl0pO2Z1bmN0aW9uIGkoKXt0aGlzLmNvbnN0cnVjdG9yPXR9aS5wcm90b3R5cGU9ZS5wcm90b3R5cGUsdC5wcm90b3R5cGU9bmV3IGksdC5fX3N1cGVyX189ZS5wcm90b3R5cGV9KGMscyksT2JqZWN0LmRlZmluZVByb3BlcnR5KGMucHJvdG90eXBlLFwiZW50aXRpZXNcIix7Z2V0OmZ1bmN0aW9uKCl7dmFyIGUsbixpLHIscztmb3Iocj17fSxuPTAsaT0ocz10aGlzLmNoaWxkcmVuKS5sZW5ndGg7bjxpO24rKykoZT1zW25dKS50eXBlIT09dC5FbnRpdHlEZWNsYXJhdGlvbnx8ZS5wZXx8KHJbZS5uYW1lXT1lKTtyZXR1cm4gbmV3IG8ocil9fSksT2JqZWN0LmRlZmluZVByb3BlcnR5KGMucHJvdG90eXBlLFwibm90YXRpb25zXCIse2dldDpmdW5jdGlvbigpe3ZhciBlLG4saSxyLHM7Zm9yKHI9e30sbj0wLGk9KHM9dGhpcy5jaGlsZHJlbikubGVuZ3RoO248aTtuKyspKGU9c1tuXSkudHlwZT09PXQuTm90YXRpb25EZWNsYXJhdGlvbiYmKHJbZS5uYW1lXT1lKTtyZXR1cm4gbmV3IG8ocil9fSksT2JqZWN0LmRlZmluZVByb3BlcnR5KGMucHJvdG90eXBlLFwicHVibGljSWRcIix7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMucHViSUR9fSksT2JqZWN0LmRlZmluZVByb3BlcnR5KGMucHJvdG90eXBlLFwic3lzdGVtSWRcIix7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuc3lzSUR9fSksT2JqZWN0LmRlZmluZVByb3BlcnR5KGMucHJvdG90eXBlLFwiaW50ZXJuYWxTdWJzZXRcIix7Z2V0OmZ1bmN0aW9uKCl7dGhyb3cgbmV3IEVycm9yKFwiVGhpcyBET00gbWV0aG9kIGlzIG5vdCBpbXBsZW1lbnRlZC5cIit0aGlzLmRlYnVnSW5mbygpKX19KSxjLnByb3RvdHlwZS5lbGVtZW50PWZ1bmN0aW9uKHQsZSl7dmFyIGk7cmV0dXJuIGk9bmV3IG4odGhpcyx0LGUpLHRoaXMuY2hpbGRyZW4ucHVzaChpKSx0aGlzfSxjLnByb3RvdHlwZS5hdHRMaXN0PWZ1bmN0aW9uKHQsbixpLHIsbyl7dmFyIHM7cmV0dXJuIHM9bmV3IGUodGhpcyx0LG4saSxyLG8pLHRoaXMuY2hpbGRyZW4ucHVzaChzKSx0aGlzfSxjLnByb3RvdHlwZS5lbnRpdHk9ZnVuY3Rpb24odCxlKXt2YXIgbjtyZXR1cm4gbj1uZXcgaSh0aGlzLCExLHQsZSksdGhpcy5jaGlsZHJlbi5wdXNoKG4pLHRoaXN9LGMucHJvdG90eXBlLnBFbnRpdHk9ZnVuY3Rpb24odCxlKXt2YXIgbjtyZXR1cm4gbj1uZXcgaSh0aGlzLCEwLHQsZSksdGhpcy5jaGlsZHJlbi5wdXNoKG4pLHRoaXN9LGMucHJvdG90eXBlLm5vdGF0aW9uPWZ1bmN0aW9uKHQsZSl7dmFyIG47cmV0dXJuIG49bmV3IHIodGhpcyx0LGUpLHRoaXMuY2hpbGRyZW4ucHVzaChuKSx0aGlzfSxjLnByb3RvdHlwZS50b1N0cmluZz1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5vcHRpb25zLndyaXRlci5kb2NUeXBlKHRoaXMsdGhpcy5vcHRpb25zLndyaXRlci5maWx0ZXJPcHRpb25zKHQpKX0sYy5wcm90b3R5cGUuZWxlPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIHRoaXMuZWxlbWVudCh0LGUpfSxjLnByb3RvdHlwZS5hdHQ9ZnVuY3Rpb24odCxlLG4saSxyKXtyZXR1cm4gdGhpcy5hdHRMaXN0KHQsZSxuLGkscil9LGMucHJvdG90eXBlLmVudD1mdW5jdGlvbih0LGUpe3JldHVybiB0aGlzLmVudGl0eSh0LGUpfSxjLnByb3RvdHlwZS5wZW50PWZ1bmN0aW9uKHQsZSl7cmV0dXJuIHRoaXMucEVudGl0eSh0LGUpfSxjLnByb3RvdHlwZS5ub3Q9ZnVuY3Rpb24odCxlKXtyZXR1cm4gdGhpcy5ub3RhdGlvbih0LGUpfSxjLnByb3RvdHlwZS51cD1mdW5jdGlvbigpe3JldHVybiB0aGlzLnJvb3QoKXx8dGhpcy5kb2N1bWVudE9iamVjdH0sYy5wcm90b3R5cGUuaXNFcXVhbE5vZGU9ZnVuY3Rpb24odCl7cmV0dXJuISFjLl9fc3VwZXJfXy5pc0VxdWFsTm9kZS5hcHBseSh0aGlzLGFyZ3VtZW50cykuaXNFcXVhbE5vZGUodCkmJih0Lm5hbWU9PT10aGlzLm5hbWUmJih0LnB1YmxpY0lkPT09dGhpcy5wdWJsaWNJZCYmdC5zeXN0ZW1JZD09PXRoaXMuc3lzdGVtSWQpKX0sY30oKX0pLmNhbGwodGhpcyk7XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJbGhOVEVSdlkxUjVjR1V1YW5NaVhTd2libUZ0WlhNaU9sc2lUbTlrWlZSNWNHVWlMQ0pZVFV4RVZFUkJkSFJNYVhOMElpd2lXRTFNUkZSRVJXeGxiV1Z1ZENJc0lsaE5URVJVUkVWdWRHbDBlU0lzSWxoTlRFUlVSRTV2ZEdGMGFXOXVJaXdpV0UxTVRtRnRaV1JPYjJSbFRXRndJaXdpV0UxTVRtOWtaU0lzSW1selQySnFaV04wSWl3aWFHRnpVSEp2Y0NJc0ltaGhjMDkzYmxCeWIzQmxjblI1SWl3aWNtVnhkV2x5WlNJc0ltMXZaSFZzWlNJc0ltVjRjRzl5ZEhNaUxDSnpkWEJsY2tOc1lYTnpJaXdpV0UxTVJHOWpWSGx3WlNJc0luQmhjbVZ1ZENJc0luQjFZa2xFSWl3aWMzbHpTVVFpTENKamFHbHNaQ0lzSW1raUxDSnNaVzRpTENKeVpXWWlMQ0p5WldZeElpd2ljbVZtTWlJc0lsOWZjM1Z3WlhKZlh5SXNJbU52Ym5OMGNuVmpkRzl5SWl3aVkyRnNiQ0lzSW5Sb2FYTWlMQ0owZVhCbElpd2lSRzlqVkhsd1pTSXNJbU5vYVd4a2NtVnVJaXdpYkdWdVozUm9JaXdpUld4bGJXVnVkQ0lzSW01aGJXVWlMQ0prYjJOMWJXVnVkRTlpYW1WamRDSXNJbk4wY21sdVoybG1lU0lzSW1SMFpGQjFZa2xFSWl3aVpIUmtVM2x6U1VRaUxDSnJaWGtpTENKamRHOXlJaXdpY0hKdmRHOTBlWEJsSWl3aVpYaDBaVzVrSWl3aVQySnFaV04wSWl3aVpHVm1hVzVsVUhKdmNHVnlkSGtpTENKblpYUWlMQ0p1YjJSbGN5SXNJa1Z1ZEdsMGVVUmxZMnhoY21GMGFXOXVJaXdpY0dVaUxDSk9iM1JoZEdsdmJrUmxZMnhoY21GMGFXOXVJaXdpUlhKeWIzSWlMQ0prWldKMVowbHVabThpTENKbGJHVnRaVzUwSWl3aWRtRnNkV1VpTENKd2RYTm9JaXdpWVhSMFRHbHpkQ0lzSW1Wc1pXMWxiblJPWVcxbElpd2lZWFIwY21saWRYUmxUbUZ0WlNJc0ltRjBkSEpwWW5WMFpWUjVjR1VpTENKa1pXWmhkV3gwVm1Gc2RXVlVlWEJsSWl3aVpHVm1ZWFZzZEZaaGJIVmxJaXdpWlc1MGFYUjVJaXdpY0VWdWRHbDBlU0lzSW01dmRHRjBhVzl1SWl3aWRHOVRkSEpwYm1jaUxDSnZjSFJwYjI1eklpd2lkM0pwZEdWeUlpd2laRzlqVkhsd1pTSXNJbVpwYkhSbGNrOXdkR2x2Ym5NaUxDSmxiR1VpTENKaGRIUWlMQ0psYm5RaUxDSndaVzUwSWl3aWJtOTBJaXdpZFhBaUxDSnliMjkwSWl3aWFYTkZjWFZoYkU1dlpHVWlMQ0p1YjJSbElpd2lZWEJ3YkhraUxDSmhjbWQxYldWdWRITWlMQ0p3ZFdKc2FXTkpaQ0lzSW5ONWMzUmxiVWxrSWwwc0ltMWhjSEJwYm1keklqb2lRMEZEUVN4WFFVTkZMRWxCUVVsQkxFVkJRVlZETEVWQlFXVkRMRVZCUVdWRExFVkJRV05ETEVWQlFUUkNReXhGUVVGcFFrTXNSVUZCVTBNc1JVRkZPVWRETEVWQlFWVXNSMEZCUjBNc1pVRkZaa1lzUlVGQlYwY3NVVUZCVVN4aFFVRmhTQ3hUUVVWb1EwUXNSVUZCVlVrc1VVRkJVU3hoUVVWc1FsWXNSVUZCVjFVc1VVRkJVU3hqUVVWdVFsUXNSVUZCWjBKVExGRkJRVkVzYlVKQlJYaENVQ3hGUVVGbFR5eFJRVUZSTEd0Q1FVVjJRbElzUlVGQlowSlJMRkZCUVZFc2JVSkJSWGhDVGl4RlFVRnBRazBzVVVGQlVTeHZRa0ZGZWtKTUxFVkJRV3RDU3l4UlFVRlJMSEZDUVVVeFFrTXNUMEZCVDBNc1VVRkJkVUlzVTBGQlZVTXNSMEZIZEVNc1UwRkJVME1zUlVGQlYwTXNSVUZCVVVNc1JVRkJUME1zUjBGRGFrTXNTVUZCU1VNc1JVRkJUME1zUlVGQlIwTXNSVUZCUzBNc1JVRkJTME1zUlVGQlRVTXNSVUZIT1VJc1IwRkdRVlFzUlVGQlYxVXNWVUZCVlVNc1dVRkJXVU1zUzBGQlMwTXNTMEZCVFZvc1IwRkROVU5aTEV0QlFVdERMRXRCUVU4MVFpeEZRVUZUTmtJc1VVRkRha0prTEVWQlFVOWxMRk5CUlZRc1NVRkJTMWdzUlVGQlNTeEZRVUZIUXl4SFFVUmFReXhGUVVGTlRpeEZRVUZQWlN4VlFVTlRReXhQUVVGUldpeEZRVUZKUXl4RlFVRkxSQ3hKUVVWeVF5eEpRVVJCUkN4RlFVRlJSeXhGUVVGSlJpeEpRVU5HVXl4UFFVRlROVUlzUlVGQlUyZERMRkZCUVZNc1EwRkRia05NTEV0QlFVdE5MRXRCUVU5bUxFVkJRVTFsTEV0QlEyeENMRTFCU1U1T0xFdEJRVXRQTEdWQlFXbENia0lzUlVGRGJFSlNMRVZCUVZOVExFdEJRMGRCTEVkQlFXUk5MRVZCUVU5T0xFZEJRVzlDUVN4TlFVRlBReXhGUVVGUlN5eEZRVUZMVEN4UFFVVndReXhOUVVGVVFTeEpRVU54UWtFc1IwRkJka0pOTEVWQlFVOHNRMEZCUTFBc1JVRkJUME1zU1VGQmNVSXNSMEZCU1VRc1JVRkJVVThzUlVGQlN5eEpRVVV4UXl4TlFVRlVVQ3hKUVVOR1Z5eExRVUZMV0N4TlFVRlJWeXhMUVVGTFVTeFZRVUZWUXl4VFFVRlRjRUlzU1VGRk1VSXNUVUZCVkVNc1NVRkRSbFVzUzBGQlMxWXNUVUZCVVZVc1MwRkJTMUVzVlVGQlZVVXNVMEZCVTNCQ0xFbEJiVWw2UXl4UFFXeE1VeXhUUVVGVFF5eEZRVUZQU0N4SFFVRlZMRWxCUVVzc1NVRkJTWFZDTEV0QlFVOTJRaXhGUVVGalVDeEZRVUZSYTBJc1MwRkJTMWdzUlVGQlVYVkNMRXRCUVUxd1FpeEZRVUZOYjBJc1IwRkJUM1pDTEVWQlFVOTFRaXhKUVVGUkxGTkJRVk5ETEVsQlFWTmFMRXRCUVV0R0xGbEJRV05RTEVWQlFWTnhRaXhGUVVGTFF5eFZRVUZaZWtJc1JVRkJUM2xDTEZWQlFWZDBRaXhGUVVGTmMwSXNWVUZCV1N4SlFVRkpSQ3hGUVVGUmNrSXNSVUZCVFUwc1ZVRkJXVlFzUlVGQlQzbENMRlZCYjBKb1VVTXNRMEZCVHpOQ0xFVkJaMHRPVWl4SFFXcEpSRzlETEU5QlFVOURMR1ZCUVdVM1FpeEZRVUZYTUVJc1ZVRkJWeXhYUVVGWkxFTkJRM1JFU1N4SlFVRkxMRmRCUTBnc1NVRkJTVEZDTEVWQlFVOURMRVZCUVVkRExFVkJRVXQ1UWl4RlFVRlBlRUlzUlVGSE1VSXNTVUZHUVhkQ0xFVkJRVkVzUjBGRlNERkNMRVZCUVVrc1JVRkJSME1zUjBGRVdrTXNSVUZCVFUwc1MwRkJTMGNzVlVGRFYwTXNUMEZCVVZvc1JVRkJTVU1zUlVGQlMwUXNTMEZEY2tORUxFVkJRVkZITEVWQlFVbEdMRWxCUTBSVExFOUJRVk0xUWl4RlFVRlRPRU1zYlVKQlFYVkNOVUlzUlVGQlRUWkNMRXRCUTNoRVJpeEZRVUZOTTBJc1JVRkJUV1VzVFVGQlVXWXNSMEZIZUVJc1QwRkJUeXhKUVVGSllpeEZRVUZuUW5kRExFMUJTUzlDU0N4UFFVRlBReXhsUVVGbE4wSXNSVUZCVnpCQ0xGVkJRVmNzV1VGQllTeERRVU4yUkVrc1NVRkJTeXhYUVVOSUxFbEJRVWt4UWl4RlFVRlBReXhGUVVGSFF5eEZRVUZMZVVJc1JVRkJUM2hDTEVWQlJ6RkNMRWxCUmtGM1FpeEZRVUZSTEVkQlJVZ3hRaXhGUVVGSkxFVkJRVWRETEVkQlJGcERMRVZCUVUxTkxFdEJRVXRITEZWQlExZERMRTlCUVZGYUxFVkJRVWxETEVWQlFVdEVMRXRCUTNKRFJDeEZRVUZSUnl4RlFVRkpSaXhKUVVOR1V5eFBRVUZUTlVJc1JVRkJVMmRFTEhOQ1FVTXhRa2dzUlVGQlRUTkNMRVZCUVUxbExFMUJRVkZtTEVkQlIzaENMRTlCUVU4c1NVRkJTV0lzUlVGQlowSjNReXhOUVVrdlFrZ3NUMEZCVDBNc1pVRkJaVGRDTEVWQlFWY3dRaXhWUVVGWExGZEJRVmtzUTBGRGRFUkpMRWxCUVVzc1YwRkRTQ3hQUVVGUGFrSXNTMEZCUzFnc1UwRkphRUl3UWl4UFFVRlBReXhsUVVGbE4wSXNSVUZCVnpCQ0xGVkJRVmNzVjBGQldTeERRVU4wUkVrc1NVRkJTeXhYUVVOSUxFOUJRVTlxUWl4TFFVRkxWaXhUUVVsb1FubENMRTlCUVU5RExHVkJRV1UzUWl4RlFVRlhNRUlzVlVGQlZ5eHBRa0ZCYTBJc1EwRkROVVJKTEVsQlFVc3NWMEZEU0N4TlFVRk5MRWxCUVVsTExFMUJRVTBzYzBOQlFYZERkRUlzUzBGQlMzVkNMR2RDUVVscVJYQkRMRVZCUVZjd1FpeFZRVUZWVnl4UlFVRlZMRk5CUVZOc1FpeEZRVUZOYlVJc1IwRkROVU1zU1VGQlNXeERMRVZCUjBvc1QwRkdRVUVzUlVGQlVTeEpRVUZKYUVJc1JVRkJZM2xDTEV0QlFVMU5MRVZCUVUxdFFpeEhRVU4wUTNwQ0xFdEJRVXRITEZOQlFWTjFRaXhMUVVGTGJrTXNSMEZEV2xNc1RVRkhWR0lzUlVGQlZ6QkNMRlZCUVZWakxGRkJRVlVzVTBGQlUwTXNSVUZCWVVNc1JVRkJaVU1zUlVGQlpVTXNSVUZCYTBKRExFZEJRMjVITEVsQlFVbDZReXhGUVVkS0xFOUJSa0ZCTEVWQlFWRXNTVUZCU1dwQ0xFVkJRV013UWl4TFFVRk5ORUlzUlVGQllVTXNSVUZCWlVNc1JVRkJaVU1zUlVGQmEwSkRMRWRCUXpkR2FFTXNTMEZCUzBjc1UwRkJVM1ZDTEV0QlFVdHVReXhIUVVOYVV5eE5RVWRVWWl4RlFVRlhNRUlzVlVGQlZXOUNMRTlCUVZNc1UwRkJVek5DTEVWQlFVMXRRaXhIUVVNelF5eEpRVUZKYkVNc1JVRkhTaXhQUVVaQlFTeEZRVUZSTEVsQlFVbG1MRVZCUVdGM1FpeE5RVUZOTEVWQlFVOU5MRVZCUVUxdFFpeEhRVU0xUTNwQ0xFdEJRVXRITEZOQlFWTjFRaXhMUVVGTGJrTXNSMEZEV2xNc1RVRkhWR0lzUlVGQlZ6QkNMRlZCUVZWeFFpeFJRVUZWTEZOQlFWTTFRaXhGUVVGTmJVSXNSMEZETlVNc1NVRkJTV3hETEVWQlIwb3NUMEZHUVVFc1JVRkJVU3hKUVVGSlppeEZRVUZoZDBJc1RVRkJUU3hGUVVGTlRTeEZRVUZOYlVJc1IwRkRNME42UWl4TFFVRkxSeXhUUVVGVGRVSXNTMEZCUzI1RExFZEJRMXBUTEUxQlIxUmlMRVZCUVZjd1FpeFZRVUZWYzBJc1UwRkJWeXhUUVVGVE4wSXNSVUZCVFcxQ0xFZEJRemRETEVsQlFVbHNReXhGUVVkS0xFOUJSa0ZCTEVWQlFWRXNTVUZCU1dRc1JVRkJaWFZDTEV0QlFVMU5MRVZCUVUxdFFpeEhRVU4yUTNwQ0xFdEJRVXRITEZOQlFWTjFRaXhMUVVGTGJrTXNSMEZEV2xNc1RVRkhWR0lzUlVGQlZ6QkNMRlZCUVZWMVFpeFRRVUZYTEZOQlFWTkRMRWRCUTNaRExFOUJRVTl5UXl4TFFVRkxjVU1zVVVGQlVVTXNUMEZCVDBNc1VVRkJVWFpETEV0QlFVMUJMRXRCUVV0eFF5eFJRVUZSUXl4UFFVRlBSU3hqUVVGalNDeExRVWMzUld4RUxFVkJRVmN3UWl4VlFVRlZORUlzU1VGQlRTeFRRVUZUYmtNc1JVRkJUVzFDTEVkQlEzaERMRTlCUVU5NlFpeExRVUZMZDBJc1VVRkJVV3hDTEVWQlFVMXRRaXhKUVVjMVFuUkRMRVZCUVZjd1FpeFZRVUZWTmtJc1NVRkJUU3hUUVVGVFpDeEZRVUZoUXl4RlFVRmxReXhGUVVGbFF5eEZRVUZyUWtNc1IwRkRMMFlzVDBGQlQyaERMRXRCUVVzeVFpeFJRVUZSUXl4RlFVRmhReXhGUVVGbFF5eEZRVUZsUXl4RlFVRnJRa01zU1VGSGJrWTNReXhGUVVGWE1FSXNWVUZCVlRoQ0xFbEJRVTBzVTBGQlUzSkRMRVZCUVUxdFFpeEhRVU40UXl4UFFVRlBla0lzUzBGQlMybERMRTlCUVU4elFpeEZRVUZOYlVJc1NVRkhNMEowUXl4RlFVRlhNRUlzVlVGQlZTdENMRXRCUVU4c1UwRkJVM1JETEVWQlFVMXRRaXhIUVVONlF5eFBRVUZQZWtJc1MwRkJTMnRETEZGQlFWRTFRaXhGUVVGTmJVSXNTVUZITlVKMFF5eEZRVUZYTUVJc1ZVRkJWV2RETEVsQlFVMHNVMEZCVTNaRExFVkJRVTF0UWl4SFFVTjRReXhQUVVGUGVrSXNTMEZCUzIxRExGTkJRVk0zUWl4RlFVRk5iVUlzU1VGSE4wSjBReXhGUVVGWE1FSXNWVUZCVldsRExFZEJRVXNzVjBGRGVFSXNUMEZCVHpsRExFdEJRVXNyUXl4UlFVRlZMME1zUzBGQlMwOHNaMEpCUnpkQ2NFSXNSVUZCVnpCQ0xGVkJRVlZ0UXl4WlFVRmpMRk5CUVZORExFZEJRekZETEZGQlFVczVSQ3hGUVVGWFZTeFZRVUZWYlVRc1dVRkJXVVVzVFVGQlRXeEVMRXRCUVUxdFJDeFhRVUZYU0N4WlFVRlpReXhMUVVkeVJVRXNSVUZCU3pORExFOUJRVk5PTEV0QlFVdE5MRTlCUjI1Q01rTXNSVUZCUzBjc1YwRkJZWEJFTEV0QlFVdHZSQ3hWUVVkMlFrZ3NSVUZCUzBrc1YwRkJZWEpFTEV0QlFVdHhSQ3haUVUxMFFteEZMRVZCTDBweFFpeExRVzFMTjBKWkxFdEJRVXRESWl3aVptbHNaU0k2SWk5b2IyMWxMM3BwYm04dmNISnZhbVZqZEhNdmMyVmhkRzFoY0hZeUwyMWhjM1JsY2k5elpXRjBiV0Z3ZGpJdlkyeHBaVzUwTDI1dlpHVmZiVzlrZFd4bGN5OTRiV3hpZFdsc1pHVnlMMnhwWWk5WVRVeEViMk5VZVhCbExtcHpJbjA9IiwiKGZ1bmN0aW9uKCl7dmFyIHQsZSxvLG4scixpLHAsaD17fS5oYXNPd25Qcm9wZXJ0eTtwPXJlcXVpcmUoXCIuL1V0aWxpdHlcIikuaXNQbGFpbk9iamVjdCxvPXJlcXVpcmUoXCIuL1hNTERPTUltcGxlbWVudGF0aW9uXCIpLGU9cmVxdWlyZShcIi4vWE1MRE9NQ29uZmlndXJhdGlvblwiKSxuPXJlcXVpcmUoXCIuL1hNTE5vZGVcIiksdD1yZXF1aXJlKFwiLi9Ob2RlVHlwZVwiKSxpPXJlcXVpcmUoXCIuL1hNTFN0cmluZ2lmaWVyXCIpLHI9cmVxdWlyZShcIi4vWE1MU3RyaW5nV3JpdGVyXCIpLG1vZHVsZS5leHBvcnRzPWZ1bmN0aW9uKHMpe2Z1bmN0aW9uIHUobyl7dS5fX3N1cGVyX18uY29uc3RydWN0b3IuY2FsbCh0aGlzLG51bGwpLHRoaXMubmFtZT1cIiNkb2N1bWVudFwiLHRoaXMudHlwZT10LkRvY3VtZW50LHRoaXMuZG9jdW1lbnRVUkk9bnVsbCx0aGlzLmRvbUNvbmZpZz1uZXcgZSxvfHwobz17fSksby53cml0ZXJ8fChvLndyaXRlcj1uZXcgciksdGhpcy5vcHRpb25zPW8sdGhpcy5zdHJpbmdpZnk9bmV3IGkobyl9cmV0dXJuIGZ1bmN0aW9uKHQsZSl7Zm9yKHZhciBvIGluIGUpaC5jYWxsKGUsbykmJih0W29dPWVbb10pO2Z1bmN0aW9uIG4oKXt0aGlzLmNvbnN0cnVjdG9yPXR9bi5wcm90b3R5cGU9ZS5wcm90b3R5cGUsdC5wcm90b3R5cGU9bmV3IG4sdC5fX3N1cGVyX189ZS5wcm90b3R5cGV9KHUsbiksT2JqZWN0LmRlZmluZVByb3BlcnR5KHUucHJvdG90eXBlLFwiaW1wbGVtZW50YXRpb25cIix7dmFsdWU6bmV3IG99KSxPYmplY3QuZGVmaW5lUHJvcGVydHkodS5wcm90b3R5cGUsXCJkb2N0eXBlXCIse2dldDpmdW5jdGlvbigpe3ZhciBlLG8sbixyO2ZvcihvPTAsbj0ocj10aGlzLmNoaWxkcmVuKS5sZW5ndGg7bzxuO28rKylpZigoZT1yW29dKS50eXBlPT09dC5Eb2NUeXBlKXJldHVybiBlO3JldHVybiBudWxsfX0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh1LnByb3RvdHlwZSxcImRvY3VtZW50RWxlbWVudFwiLHtnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5yb290T2JqZWN0fHxudWxsfX0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh1LnByb3RvdHlwZSxcImlucHV0RW5jb2RpbmdcIix7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIG51bGx9fSksT2JqZWN0LmRlZmluZVByb3BlcnR5KHUucHJvdG90eXBlLFwic3RyaWN0RXJyb3JDaGVja2luZ1wiLHtnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4hMX19KSxPYmplY3QuZGVmaW5lUHJvcGVydHkodS5wcm90b3R5cGUsXCJ4bWxFbmNvZGluZ1wiLHtnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gMCE9PXRoaXMuY2hpbGRyZW4ubGVuZ3RoJiZ0aGlzLmNoaWxkcmVuWzBdLnR5cGU9PT10LkRlY2xhcmF0aW9uP3RoaXMuY2hpbGRyZW5bMF0uZW5jb2Rpbmc6bnVsbH19KSxPYmplY3QuZGVmaW5lUHJvcGVydHkodS5wcm90b3R5cGUsXCJ4bWxTdGFuZGFsb25lXCIse2dldDpmdW5jdGlvbigpe3JldHVybiAwIT09dGhpcy5jaGlsZHJlbi5sZW5ndGgmJnRoaXMuY2hpbGRyZW5bMF0udHlwZT09PXQuRGVjbGFyYXRpb24mJlwieWVzXCI9PT10aGlzLmNoaWxkcmVuWzBdLnN0YW5kYWxvbmV9fSksT2JqZWN0LmRlZmluZVByb3BlcnR5KHUucHJvdG90eXBlLFwieG1sVmVyc2lvblwiLHtnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gMCE9PXRoaXMuY2hpbGRyZW4ubGVuZ3RoJiZ0aGlzLmNoaWxkcmVuWzBdLnR5cGU9PT10LkRlY2xhcmF0aW9uP3RoaXMuY2hpbGRyZW5bMF0udmVyc2lvbjpcIjEuMFwifX0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh1LnByb3RvdHlwZSxcIlVSTFwiLHtnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5kb2N1bWVudFVSSX19KSxPYmplY3QuZGVmaW5lUHJvcGVydHkodS5wcm90b3R5cGUsXCJvcmlnaW5cIix7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIG51bGx9fSksT2JqZWN0LmRlZmluZVByb3BlcnR5KHUucHJvdG90eXBlLFwiY29tcGF0TW9kZVwiLHtnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gbnVsbH19KSxPYmplY3QuZGVmaW5lUHJvcGVydHkodS5wcm90b3R5cGUsXCJjaGFyYWN0ZXJTZXRcIix7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIG51bGx9fSksT2JqZWN0LmRlZmluZVByb3BlcnR5KHUucHJvdG90eXBlLFwiY29udGVudFR5cGVcIix7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIG51bGx9fSksdS5wcm90b3R5cGUuZW5kPWZ1bmN0aW9uKHQpe3ZhciBlO3JldHVybiBlPXt9LHQ/cCh0KSYmKGU9dCx0PXRoaXMub3B0aW9ucy53cml0ZXIpOnQ9dGhpcy5vcHRpb25zLndyaXRlcix0LmRvY3VtZW50KHRoaXMsdC5maWx0ZXJPcHRpb25zKGUpKX0sdS5wcm90b3R5cGUudG9TdHJpbmc9ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMub3B0aW9ucy53cml0ZXIuZG9jdW1lbnQodGhpcyx0aGlzLm9wdGlvbnMud3JpdGVyLmZpbHRlck9wdGlvbnModCkpfSx1LnByb3RvdHlwZS5jcmVhdGVFbGVtZW50PWZ1bmN0aW9uKHQpe3Rocm93IG5ldyBFcnJvcihcIlRoaXMgRE9NIG1ldGhvZCBpcyBub3QgaW1wbGVtZW50ZWQuXCIrdGhpcy5kZWJ1Z0luZm8oKSl9LHUucHJvdG90eXBlLmNyZWF0ZURvY3VtZW50RnJhZ21lbnQ9ZnVuY3Rpb24oKXt0aHJvdyBuZXcgRXJyb3IoXCJUaGlzIERPTSBtZXRob2QgaXMgbm90IGltcGxlbWVudGVkLlwiK3RoaXMuZGVidWdJbmZvKCkpfSx1LnByb3RvdHlwZS5jcmVhdGVUZXh0Tm9kZT1mdW5jdGlvbih0KXt0aHJvdyBuZXcgRXJyb3IoXCJUaGlzIERPTSBtZXRob2QgaXMgbm90IGltcGxlbWVudGVkLlwiK3RoaXMuZGVidWdJbmZvKCkpfSx1LnByb3RvdHlwZS5jcmVhdGVDb21tZW50PWZ1bmN0aW9uKHQpe3Rocm93IG5ldyBFcnJvcihcIlRoaXMgRE9NIG1ldGhvZCBpcyBub3QgaW1wbGVtZW50ZWQuXCIrdGhpcy5kZWJ1Z0luZm8oKSl9LHUucHJvdG90eXBlLmNyZWF0ZUNEQVRBU2VjdGlvbj1mdW5jdGlvbih0KXt0aHJvdyBuZXcgRXJyb3IoXCJUaGlzIERPTSBtZXRob2QgaXMgbm90IGltcGxlbWVudGVkLlwiK3RoaXMuZGVidWdJbmZvKCkpfSx1LnByb3RvdHlwZS5jcmVhdGVQcm9jZXNzaW5nSW5zdHJ1Y3Rpb249ZnVuY3Rpb24odCxlKXt0aHJvdyBuZXcgRXJyb3IoXCJUaGlzIERPTSBtZXRob2QgaXMgbm90IGltcGxlbWVudGVkLlwiK3RoaXMuZGVidWdJbmZvKCkpfSx1LnByb3RvdHlwZS5jcmVhdGVBdHRyaWJ1dGU9ZnVuY3Rpb24odCl7dGhyb3cgbmV3IEVycm9yKFwiVGhpcyBET00gbWV0aG9kIGlzIG5vdCBpbXBsZW1lbnRlZC5cIit0aGlzLmRlYnVnSW5mbygpKX0sdS5wcm90b3R5cGUuY3JlYXRlRW50aXR5UmVmZXJlbmNlPWZ1bmN0aW9uKHQpe3Rocm93IG5ldyBFcnJvcihcIlRoaXMgRE9NIG1ldGhvZCBpcyBub3QgaW1wbGVtZW50ZWQuXCIrdGhpcy5kZWJ1Z0luZm8oKSl9LHUucHJvdG90eXBlLmdldEVsZW1lbnRzQnlUYWdOYW1lPWZ1bmN0aW9uKHQpe3Rocm93IG5ldyBFcnJvcihcIlRoaXMgRE9NIG1ldGhvZCBpcyBub3QgaW1wbGVtZW50ZWQuXCIrdGhpcy5kZWJ1Z0luZm8oKSl9LHUucHJvdG90eXBlLmltcG9ydE5vZGU9ZnVuY3Rpb24odCxlKXt0aHJvdyBuZXcgRXJyb3IoXCJUaGlzIERPTSBtZXRob2QgaXMgbm90IGltcGxlbWVudGVkLlwiK3RoaXMuZGVidWdJbmZvKCkpfSx1LnByb3RvdHlwZS5jcmVhdGVFbGVtZW50TlM9ZnVuY3Rpb24odCxlKXt0aHJvdyBuZXcgRXJyb3IoXCJUaGlzIERPTSBtZXRob2QgaXMgbm90IGltcGxlbWVudGVkLlwiK3RoaXMuZGVidWdJbmZvKCkpfSx1LnByb3RvdHlwZS5jcmVhdGVBdHRyaWJ1dGVOUz1mdW5jdGlvbih0LGUpe3Rocm93IG5ldyBFcnJvcihcIlRoaXMgRE9NIG1ldGhvZCBpcyBub3QgaW1wbGVtZW50ZWQuXCIrdGhpcy5kZWJ1Z0luZm8oKSl9LHUucHJvdG90eXBlLmdldEVsZW1lbnRzQnlUYWdOYW1lTlM9ZnVuY3Rpb24odCxlKXt0aHJvdyBuZXcgRXJyb3IoXCJUaGlzIERPTSBtZXRob2QgaXMgbm90IGltcGxlbWVudGVkLlwiK3RoaXMuZGVidWdJbmZvKCkpfSx1LnByb3RvdHlwZS5nZXRFbGVtZW50QnlJZD1mdW5jdGlvbih0KXt0aHJvdyBuZXcgRXJyb3IoXCJUaGlzIERPTSBtZXRob2QgaXMgbm90IGltcGxlbWVudGVkLlwiK3RoaXMuZGVidWdJbmZvKCkpfSx1LnByb3RvdHlwZS5hZG9wdE5vZGU9ZnVuY3Rpb24odCl7dGhyb3cgbmV3IEVycm9yKFwiVGhpcyBET00gbWV0aG9kIGlzIG5vdCBpbXBsZW1lbnRlZC5cIit0aGlzLmRlYnVnSW5mbygpKX0sdS5wcm90b3R5cGUubm9ybWFsaXplRG9jdW1lbnQ9ZnVuY3Rpb24oKXt0aHJvdyBuZXcgRXJyb3IoXCJUaGlzIERPTSBtZXRob2QgaXMgbm90IGltcGxlbWVudGVkLlwiK3RoaXMuZGVidWdJbmZvKCkpfSx1LnByb3RvdHlwZS5yZW5hbWVOb2RlPWZ1bmN0aW9uKHQsZSxvKXt0aHJvdyBuZXcgRXJyb3IoXCJUaGlzIERPTSBtZXRob2QgaXMgbm90IGltcGxlbWVudGVkLlwiK3RoaXMuZGVidWdJbmZvKCkpfSx1LnByb3RvdHlwZS5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lPWZ1bmN0aW9uKHQpe3Rocm93IG5ldyBFcnJvcihcIlRoaXMgRE9NIG1ldGhvZCBpcyBub3QgaW1wbGVtZW50ZWQuXCIrdGhpcy5kZWJ1Z0luZm8oKSl9LHUucHJvdG90eXBlLmNyZWF0ZUV2ZW50PWZ1bmN0aW9uKHQpe3Rocm93IG5ldyBFcnJvcihcIlRoaXMgRE9NIG1ldGhvZCBpcyBub3QgaW1wbGVtZW50ZWQuXCIrdGhpcy5kZWJ1Z0luZm8oKSl9LHUucHJvdG90eXBlLmNyZWF0ZVJhbmdlPWZ1bmN0aW9uKCl7dGhyb3cgbmV3IEVycm9yKFwiVGhpcyBET00gbWV0aG9kIGlzIG5vdCBpbXBsZW1lbnRlZC5cIit0aGlzLmRlYnVnSW5mbygpKX0sdS5wcm90b3R5cGUuY3JlYXRlTm9kZUl0ZXJhdG9yPWZ1bmN0aW9uKHQsZSxvKXt0aHJvdyBuZXcgRXJyb3IoXCJUaGlzIERPTSBtZXRob2QgaXMgbm90IGltcGxlbWVudGVkLlwiK3RoaXMuZGVidWdJbmZvKCkpfSx1LnByb3RvdHlwZS5jcmVhdGVUcmVlV2Fsa2VyPWZ1bmN0aW9uKHQsZSxvKXt0aHJvdyBuZXcgRXJyb3IoXCJUaGlzIERPTSBtZXRob2QgaXMgbm90IGltcGxlbWVudGVkLlwiK3RoaXMuZGVidWdJbmZvKCkpfSx1fSgpfSkuY2FsbCh0aGlzKTtcblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYklsaE5URVJ2WTNWdFpXNTBMbXB6SWwwc0ltNWhiV1Z6SWpwYklrNXZaR1ZVZVhCbElpd2lXRTFNUkU5TlEyOXVabWxuZFhKaGRHbHZiaUlzSWxoTlRFUlBUVWx0Y0d4bGJXVnVkR0YwYVc5dUlpd2lXRTFNVG05a1pTSXNJbGhOVEZOMGNtbHVaMWR5YVhSbGNpSXNJbGhOVEZOMGNtbHVaMmxtYVdWeUlpd2lhWE5RYkdGcGJrOWlhbVZqZENJc0ltaGhjMUJ5YjNBaUxDSm9ZWE5QZDI1UWNtOXdaWEowZVNJc0luSmxjWFZwY21VaUxDSnRiMlIxYkdVaUxDSmxlSEJ2Y25Seklpd2ljM1Z3WlhKRGJHRnpjeUlzSWxoTlRFUnZZM1Z0Wlc1MElpd2liM0IwYVc5dWN5SXNJbDlmYzNWd1pYSmZYeUlzSW1OdmJuTjBjblZqZEc5eUlpd2lZMkZzYkNJc0luUm9hWE1pTENKdVlXMWxJaXdpZEhsd1pTSXNJa1J2WTNWdFpXNTBJaXdpWkc5amRXMWxiblJWVWtraUxDSmtiMjFEYjI1bWFXY2lMQ0ozY21sMFpYSWlMQ0p6ZEhKcGJtZHBabmtpTENKamFHbHNaQ0lzSW5CaGNtVnVkQ0lzSW10bGVTSXNJbU4wYjNJaUxDSndjbTkwYjNSNWNHVWlMQ0psZUhSbGJtUWlMQ0pQWW1wbFkzUWlMQ0prWldacGJtVlFjbTl3WlhKMGVTSXNJblpoYkhWbElpd2laMlYwSWl3aWFTSXNJbXhsYmlJc0luSmxaaUlzSW1Ob2FXeGtjbVZ1SWl3aWJHVnVaM1JvSWl3aVJHOWpWSGx3WlNJc0luSnZiM1JQWW1wbFkzUWlMQ0pFWldOc1lYSmhkR2x2YmlJc0ltVnVZMjlrYVc1bklpd2ljM1JoYm1SaGJHOXVaU0lzSW5abGNuTnBiMjRpTENKbGJtUWlMQ0ozY21sMFpYSlBjSFJwYjI1eklpd2laRzlqZFcxbGJuUWlMQ0ptYVd4MFpYSlBjSFJwYjI1eklpd2lkRzlUZEhKcGJtY2lMQ0pqY21WaGRHVkZiR1Z0Wlc1MElpd2lkR0ZuVG1GdFpTSXNJa1Z5Y205eUlpd2laR1ZpZFdkSmJtWnZJaXdpWTNKbFlYUmxSRzlqZFcxbGJuUkdjbUZuYldWdWRDSXNJbU55WldGMFpWUmxlSFJPYjJSbElpd2laR0YwWVNJc0ltTnlaV0YwWlVOdmJXMWxiblFpTENKamNtVmhkR1ZEUkVGVVFWTmxZM1JwYjI0aUxDSmpjbVZoZEdWUWNtOWpaWE56YVc1blNXNXpkSEoxWTNScGIyNGlMQ0owWVhKblpYUWlMQ0pqY21WaGRHVkJkSFJ5YVdKMWRHVWlMQ0pqY21WaGRHVkZiblJwZEhsU1pXWmxjbVZ1WTJVaUxDSm5aWFJGYkdWdFpXNTBjMEo1VkdGblRtRnRaU0lzSW5SaFoyNWhiV1VpTENKcGJYQnZjblJPYjJSbElpd2lhVzF3YjNKMFpXUk9iMlJsSWl3aVpHVmxjQ0lzSW1OeVpXRjBaVVZzWlcxbGJuUk9VeUlzSW01aGJXVnpjR0ZqWlZWU1NTSXNJbkYxWVd4cFptbGxaRTVoYldVaUxDSmpjbVZoZEdWQmRIUnlhV0oxZEdWT1V5SXNJbWRsZEVWc1pXMWxiblJ6UW5sVVlXZE9ZVzFsVGxNaUxDSnNiMk5oYkU1aGJXVWlMQ0puWlhSRmJHVnRaVzUwUW5sSlpDSXNJbVZzWlcxbGJuUkpaQ0lzSW1Ga2IzQjBUbTlrWlNJc0luTnZkWEpqWlNJc0ltNXZjbTFoYkdsNlpVUnZZM1Z0Wlc1MElpd2ljbVZ1WVcxbFRtOWtaU0lzSW01dlpHVWlMQ0puWlhSRmJHVnRaVzUwYzBKNVEyeGhjM05PWVcxbElpd2lZMnhoYzNOT1lXMWxjeUlzSW1OeVpXRjBaVVYyWlc1MElpd2laWFpsYm5SSmJuUmxjbVpoWTJVaUxDSmpjbVZoZEdWU1lXNW5aU0lzSW1OeVpXRjBaVTV2WkdWSmRHVnlZWFJ2Y2lJc0luSnZiM1FpTENKM2FHRjBWRzlUYUc5M0lpd2labWxzZEdWeUlpd2lZM0psWVhSbFZISmxaVmRoYkd0bGNpSmRMQ0p0WVhCd2FXNW5jeUk2SWtOQlEwRXNWMEZEUlN4SlFVRkpRU3hGUVVGVlF5eEZRVUZ4UWtNc1JVRkJiVU5ETEVWQlFWTkRMRVZCUVdsQ1F5eEZRVUZuUWtNc1JVRkZPVWRETEVWQlFWVXNSMEZCUjBNc1pVRkZaa1lzUlVGQlowSkhMRkZCUVZFc1lVRkJZVWdzWTBGRmNrTktMRVZCUVhWQ1R5eFJRVUZSTERCQ1FVVXZRbElzUlVGQmMwSlJMRkZCUVZFc2VVSkJSVGxDVGl4RlFVRlZUU3hSUVVGUkxHRkJSV3hDVkN4RlFVRlhVeXhSUVVGUkxHTkJSVzVDU2l4RlFVRnBRa2tzVVVGQlVTeHZRa0ZGZWtKTUxFVkJRV3RDU3l4UlFVRlJMSEZDUVVVeFFrTXNUMEZCVDBNc1VVRkJkMElzVTBGQlZVTXNSMEZIZGtNc1UwRkJVME1zUlVGQldVTXNSMEZEYmtKRUxFVkJRVmxGTEZWQlFWVkRMRmxCUVZsRExFdEJRVXRETEV0QlFVMHNUVUZETjBOQkxFdEJRVXRETEV0QlFVOHNXVUZEV2tRc1MwRkJTMFVzUzBGQlQzQkNMRVZCUVZOeFFpeFRRVU55UWtnc1MwRkJTMGtzV1VGQll5eExRVU51UWtvc1MwRkJTMHNzVlVGQldTeEpRVUZKZEVJc1JVRkRja0poTEVsQlFWbEJMRVZCUVZVc1NVRkRha0pCTEVWQlFWRlZMRk5CUTFoV0xFVkJRVkZWTEU5QlFWTXNTVUZCU1hCQ0xFZEJSWFpDWXl4TFFVRkxTaXhSUVVGVlFTeEZRVU5tU1N4TFFVRkxUeXhWUVVGWkxFbEJRVWx3UWl4RlFVRmxVeXhIUVRKTmRFTXNUMEV4VDFNc1UwRkJVMWtzUlVGQlQwTXNSMEZCVlN4SlFVRkxMRWxCUVVsRExFdEJRVTlFTEVWQlFXTndRaXhGUVVGUlZTeExRVUZMVlN4RlFVRlJReXhMUVVGTlJpeEZRVUZOUlN4SFFVRlBSQ3hGUVVGUFF5eEpRVUZSTEZOQlFWTkRMRWxCUVZOWUxFdEJRVXRHTEZsQlFXTlZMRVZCUVZOSExFVkJRVXRETEZWQlFWbElMRVZCUVU5SExGVkJRVmRLTEVWQlFVMUpMRlZCUVZrc1NVRkJTVVFzUlVGQlVVZ3NSVUZCVFZnc1ZVRkJXVmtzUlVGQlQwY3NWVUZyUW1oUlF5eERRVUZQYkVJc1JVRXdUazVXTEVkQk1VMUVOa0lzVDBGQlQwTXNaVUZCWlhCQ0xFVkJRVmxwUWl4VlFVRlhMR2xDUVVGclFpeERRVU0zUkVrc1RVRkJUeXhKUVVGSmFFTXNTVUZIWWpoQ0xFOUJRVTlETEdWQlFXVndRaXhGUVVGWmFVSXNWVUZCVnl4VlFVRlhMRU5CUTNSRVN5eEpRVUZMTEZkQlEwZ3NTVUZCU1ZRc1JVRkJUMVVzUlVGQlIwTXNSVUZCUzBNc1JVRkZia0lzU1VGQlMwWXNSVUZCU1N4RlFVRkhReXhIUVVSYVF5eEZRVUZOY0VJc1MwRkJTM0ZDTEZWQlExZERMRTlCUVZGS0xFVkJRVWxETEVWQlFVdEVMRWxCUlhKRExFbEJSRUZXTEVWQlFWRlpMRVZCUVVsR0xFbEJRMFpvUWl4UFFVRlRjRUlzUlVGQlUzbERMRkZCUXpGQ0xFOUJRVTltTEVWQlIxZ3NUMEZCVHl4UlFVbFlUU3hQUVVGUFF5eGxRVUZsY0VJc1JVRkJXV2xDTEZWQlFWY3NhMEpCUVcxQ0xFTkJRemxFU3l4SlFVRkxMRmRCUTBnc1QwRkJUMnBDTEV0QlFVdDNRaXhaUVVGakxGRkJTVGxDVml4UFFVRlBReXhsUVVGbGNFSXNSVUZCV1dsQ0xGVkJRVmNzWjBKQlFXbENMRU5CUXpWRVN5eEpRVUZMTEZkQlEwZ3NUMEZCVHl4UlFVbFlTQ3hQUVVGUFF5eGxRVUZsY0VJc1JVRkJXV2xDTEZWQlFWY3NjMEpCUVhWQ0xFTkJRMnhGU3l4SlFVRkxMRmRCUTBnc1QwRkJUeXhMUVVsWVNDeFBRVUZQUXl4bFFVRmxjRUlzUlVGQldXbENMRlZCUVZjc1kwRkJaU3hEUVVNeFJFc3NTVUZCU3l4WFFVTklMRTlCUVRaQ0xFbEJRWHBDYWtJc1MwRkJTM0ZDTEZOQlFWTkRMRkZCUVdkQ2RFSXNTMEZCUzNGQ0xGTkJRVk1zUjBGQlIyNUNMRTlCUVZOd1FpeEZRVUZUTWtNc1dVRkROVVI2UWl4TFFVRkxjVUlzVTBGQlV5eEhRVUZIU3l4VFFVVnFRaXhSUVV0aVdpeFBRVUZQUXl4bFFVRmxjRUlzUlVGQldXbENMRlZCUVZjc1owSkJRV2xDTEVOQlF6VkVTeXhKUVVGTExGZEJRMGdzVDBGQk5rSXNTVUZCZWtKcVFpeExRVUZMY1VJc1UwRkJVME1zVVVGQlowSjBRaXhMUVVGTGNVSXNVMEZCVXl4SFFVRkhia0lzVDBGQlUzQkNMRVZCUVZNeVF5eGhRVU0xUWl4UlFVRm9RM3BDTEV0QlFVdHhRaXhUUVVGVExFZEJRVWROTEdOQlR6bENZaXhQUVVGUFF5eGxRVUZsY0VJc1JVRkJXV2xDTEZWQlFWY3NZVUZCWXl4RFFVTjZSRXNzU1VGQlN5eFhRVU5JTEU5QlFUWkNMRWxCUVhwQ2FrSXNTMEZCUzNGQ0xGTkJRVk5ETEZGQlFXZENkRUlzUzBGQlMzRkNMRk5CUVZNc1IwRkJSMjVDTEU5QlFWTndRaXhGUVVGVE1rTXNXVUZETlVSNlFpeExRVUZMY1VJc1UwRkJVeXhIUVVGSFR5eFJRVVZxUWl4VFFVdGlaQ3hQUVVGUFF5eGxRVUZsY0VJc1JVRkJXV2xDTEZWQlFWY3NUVUZCVHl4RFFVTnNSRXNzU1VGQlN5eFhRVU5JTEU5QlFVOXFRaXhMUVVGTFNTeGxRVWxvUWxVc1QwRkJUME1zWlVGQlpYQkNMRVZCUVZscFFpeFZRVUZYTEZOQlFWVXNRMEZEY2tSTExFbEJRVXNzVjBGRFNDeFBRVUZQTEZGQlNWaElMRTlCUVU5RExHVkJRV1Z3UWl4RlFVRlphVUlzVlVGQlZ5eGhRVUZqTEVOQlEzcEVTeXhKUVVGTExGZEJRMGdzVDBGQlR5eFJRVWxZU0N4UFFVRlBReXhsUVVGbGNFSXNSVUZCV1dsQ0xGVkJRVmNzWlVGQlowSXNRMEZETTBSTExFbEJRVXNzVjBGRFNDeFBRVUZQTEZGQlNWaElMRTlCUVU5RExHVkJRV1Z3UWl4RlFVRlphVUlzVlVGQlZ5eGpRVUZsTEVOQlF6RkVTeXhKUVVGTExGZEJRMGdzVDBGQlR5eFJRVWxZZEVJc1JVRkJXV2xDTEZWQlFWVnBRaXhKUVVGTkxGTkJRVk4yUWl4SFFVTnVReXhKUVVGSmQwSXNSVUZSU2l4UFFWQkJRU3hGUVVGblFpeEhRVU5ZZUVJc1JVRkZUV3hDTEVWQlFXTnJRaXhMUVVOMlFuZENMRVZCUVdkQ2VFSXNSVUZEYUVKQkxFVkJRVk5PTEV0QlFVdEtMRkZCUVZGVkxGRkJTSFJDUVN4RlFVRlRUaXhMUVVGTFNpeFJRVUZSVlN4UFFVdHFRa0VzUlVGQlQzbENMRk5CUVZNdlFpeExRVUZOVFN4RlFVRlBNRUlzWTBGQlkwWXNTMEZIY0VSdVF5eEZRVUZaYVVJc1ZVRkJWWEZDTEZOQlFWY3NVMEZCVTNKRExFZEJRM2hETEU5QlFVOUpMRXRCUVV0S0xGRkJRVkZWTEU5QlFVOTVRaXhUUVVGVEwwSXNTMEZCVFVFc1MwRkJTMG9zVVVGQlVWVXNUMEZCVHpCQ0xHTkJRV053UXl4TFFVYzVSVVFzUlVGQldXbENMRlZCUVZWelFpeGpRVUZuUWl4VFFVRlRReXhIUVVNM1F5eE5RVUZOTEVsQlFVbERMRTFCUVUwc2MwTkJRWGREY0VNc1MwRkJTM0ZETEdOQlJ5OUVNVU1zUlVGQldXbENMRlZCUVZVd1FpeDFRa0ZCZVVJc1YwRkROME1zVFVGQlRTeEpRVUZKUml4TlFVRk5MSE5EUVVGM1EzQkRMRXRCUVV0eFF5eGpRVWN2UkRGRExFVkJRVmxwUWl4VlFVRlZNa0lzWlVGQmFVSXNVMEZCVTBNc1IwRkRPVU1zVFVGQlRTeEpRVUZKU2l4TlFVRk5MSE5EUVVGM1EzQkRMRXRCUVV0eFF5eGpRVWN2UkRGRExFVkJRVmxwUWl4VlFVRlZOa0lzWTBGQlowSXNVMEZCVTBRc1IwRkROME1zVFVGQlRTeEpRVUZKU2l4TlFVRk5MSE5EUVVGM1EzQkRMRXRCUVV0eFF5eGpRVWN2UkRGRExFVkJRVmxwUWl4VlFVRlZPRUlzYlVKQlFYRkNMRk5CUVZOR0xFZEJRMnhFTEUxQlFVMHNTVUZCU1Vvc1RVRkJUU3h6UTBGQmQwTndReXhMUVVGTGNVTXNZMEZITDBReFF5eEZRVUZaYVVJc1ZVRkJWU3RDTERSQ1FVRTRRaXhUUVVGVFF5eEZRVUZSU2l4SFFVTnVSU3hOUVVGTkxFbEJRVWxLTEUxQlFVMHNjME5CUVhkRGNFTXNTMEZCUzNGRExHTkJSeTlFTVVNc1JVRkJXV2xDTEZWQlFWVnBReXhuUWtGQmEwSXNVMEZCVXpWRExFZEJReTlETEUxQlFVMHNTVUZCU1cxRExFMUJRVTBzYzBOQlFYZERjRU1zUzBGQlMzRkRMR05CUnk5RU1VTXNSVUZCV1dsQ0xGVkJRVlZyUXl4elFrRkJkMElzVTBGQlV6ZERMRWRCUTNKRUxFMUJRVTBzU1VGQlNXMURMRTFCUVUwc2MwTkJRWGREY0VNc1MwRkJTM0ZETEdOQlJ5OUVNVU1zUlVGQldXbENMRlZCUVZWdFF5eHhRa0ZCZFVJc1UwRkJVME1zUjBGRGNFUXNUVUZCVFN4SlFVRkpXaXhOUVVGTkxITkRRVUYzUTNCRExFdEJRVXR4UXl4alFVY3ZSREZETEVWQlFWbHBRaXhWUVVGVmNVTXNWMEZCWVN4VFFVRlRReXhGUVVGalF5eEhRVU40UkN4TlFVRk5MRWxCUVVsbUxFMUJRVTBzYzBOQlFYZERjRU1zUzBGQlMzRkRMR05CUnk5RU1VTXNSVUZCV1dsQ0xGVkJRVlYzUXl4blFrRkJhMElzVTBGQlUwTXNSVUZCWTBNc1IwRkROMFFzVFVGQlRTeEpRVUZKYkVJc1RVRkJUU3h6UTBGQmQwTndReXhMUVVGTGNVTXNZMEZITDBReFF5eEZRVUZaYVVJc1ZVRkJWVEpETEd0Q1FVRnZRaXhUUVVGVFJpeEZRVUZqUXl4SFFVTXZSQ3hOUVVGTkxFbEJRVWxzUWl4TlFVRk5MSE5EUVVGM1EzQkRMRXRCUVV0eFF5eGpRVWN2UkRGRExFVkJRVmxwUWl4VlFVRlZORU1zZFVKQlFYbENMRk5CUVZOSUxFVkJRV05KTEVkQlEzQkZMRTFCUVUwc1NVRkJTWEpDTEUxQlFVMHNjME5CUVhkRGNFTXNTMEZCUzNGRExHTkJSeTlFTVVNc1JVRkJXV2xDTEZWQlFWVTRReXhsUVVGcFFpeFRRVUZUUXl4SFFVTTVReXhOUVVGTkxFbEJRVWwyUWl4TlFVRk5MSE5EUVVGM1EzQkRMRXRCUVV0eFF5eGpRVWN2UkRGRExFVkJRVmxwUWl4VlFVRlZaMFFzVlVGQldTeFRRVUZUUXl4SFFVTjZReXhOUVVGTkxFbEJRVWw2UWl4TlFVRk5MSE5EUVVGM1EzQkRMRXRCUVV0eFF5eGpRVWN2UkRGRExFVkJRVmxwUWl4VlFVRlZhMFFzYTBKQlFXOUNMRmRCUTNoRExFMUJRVTBzU1VGQlNURkNMRTFCUVUwc2MwTkJRWGREY0VNc1MwRkJTM0ZETEdOQlJ5OUVNVU1zUlVGQldXbENMRlZCUVZWdFJDeFhRVUZoTEZOQlFWTkRMRVZCUVUxWUxFVkJRV05ETEVkQlF6bEVMRTFCUVUwc1NVRkJTV3hDTEUxQlFVMHNjME5CUVhkRGNFTXNTMEZCUzNGRExHTkJSeTlFTVVNc1JVRkJXV2xDTEZWQlFWVnhSQ3gxUWtGQmVVSXNVMEZCVTBNc1IwRkRkRVFzVFVGQlRTeEpRVUZKT1VJc1RVRkJUU3h6UTBGQmQwTndReXhMUVVGTGNVTXNZMEZITDBReFF5eEZRVUZaYVVJc1ZVRkJWWFZFTEZsQlFXTXNVMEZCVTBNc1IwRkRNME1zVFVGQlRTeEpRVUZKYUVNc1RVRkJUU3h6UTBGQmQwTndReXhMUVVGTGNVTXNZMEZITDBReFF5eEZRVUZaYVVJc1ZVRkJWWGxFTEZsQlFXTXNWMEZEYkVNc1RVRkJUU3hKUVVGSmFrTXNUVUZCVFN4elEwRkJkME53UXl4TFFVRkxjVU1zWTBGSEwwUXhReXhGUVVGWmFVSXNWVUZCVlRCRUxHMUNRVUZ4UWl4VFFVRlRReXhGUVVGTlF5eEZRVUZaUXl4SFFVTndSU3hOUVVGTkxFbEJRVWx5UXl4TlFVRk5MSE5EUVVGM1EzQkRMRXRCUVV0eFF5eGpRVWN2UkRGRExFVkJRVmxwUWl4VlFVRlZPRVFzYVVKQlFXMUNMRk5CUVZOSUxFVkJRVTFETEVWQlFWbERMRWRCUTJ4RkxFMUJRVTBzU1VGQlNYSkRMRTFCUVUwc2MwTkJRWGREY0VNc1MwRkJTM0ZETEdOQlIzaEVNVU1zUlVGNlRuTkNMRXRCTms0NVFra3NTMEZCUzBNaUxDSm1hV3hsSWpvaUwyaHZiV1V2ZW1sdWJ5OXdjbTlxWldOMGN5OXpaV0YwYldGd2RqSXZiV0Z6ZEdWeUwzTmxZWFJ0WVhCMk1pOWpiR2xsYm5RdmJtOWtaVjl0YjJSMWJHVnpMM2h0YkdKMWFXeGtaWEl2YkdsaUwxaE5URVJ2WTNWdFpXNTBMbXB6SW4wPSIsIihmdW5jdGlvbigpe3ZhciB0LGUscixpLG4sbyxzLGgsdSxjLGEscCxsLGQsdyx5LGYsdixMLG0sTixELE8sYj17fS5oYXNPd25Qcm9wZXJ0eTtPPXJlcXVpcmUoXCIuL1V0aWxpdHlcIiksTj1PLmlzT2JqZWN0LG09Ty5pc0Z1bmN0aW9uLEQ9Ty5pc1BsYWluT2JqZWN0LEw9Ty5nZXRWYWx1ZSx0PXJlcXVpcmUoXCIuL05vZGVUeXBlXCIpLHA9cmVxdWlyZShcIi4vWE1MRG9jdW1lbnRcIiksbD1yZXF1aXJlKFwiLi9YTUxFbGVtZW50XCIpLGk9cmVxdWlyZShcIi4vWE1MQ0RhdGFcIiksbj1yZXF1aXJlKFwiLi9YTUxDb21tZW50XCIpLHc9cmVxdWlyZShcIi4vWE1MUmF3XCIpLHY9cmVxdWlyZShcIi4vWE1MVGV4dFwiKSxkPXJlcXVpcmUoXCIuL1hNTFByb2Nlc3NpbmdJbnN0cnVjdGlvblwiKSxjPXJlcXVpcmUoXCIuL1hNTERlY2xhcmF0aW9uXCIpLGE9cmVxdWlyZShcIi4vWE1MRG9jVHlwZVwiKSxvPXJlcXVpcmUoXCIuL1hNTERUREF0dExpc3RcIiksaD1yZXF1aXJlKFwiLi9YTUxEVERFbnRpdHlcIikscz1yZXF1aXJlKFwiLi9YTUxEVERFbGVtZW50XCIpLHU9cmVxdWlyZShcIi4vWE1MRFRETm90YXRpb25cIikscj1yZXF1aXJlKFwiLi9YTUxBdHRyaWJ1dGVcIiksZj1yZXF1aXJlKFwiLi9YTUxTdHJpbmdpZmllclwiKSx5PXJlcXVpcmUoXCIuL1hNTFN0cmluZ1dyaXRlclwiKSxlPXJlcXVpcmUoXCIuL1dyaXRlclN0YXRlXCIpLG1vZHVsZS5leHBvcnRzPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gTyhlLHIsaSl7dmFyIG47dGhpcy5uYW1lPVwiP3htbFwiLHRoaXMudHlwZT10LkRvY3VtZW50LGV8fChlPXt9KSxuPXt9LGUud3JpdGVyP0QoZS53cml0ZXIpJiYobj1lLndyaXRlcixlLndyaXRlcj1uZXcgeSk6ZS53cml0ZXI9bmV3IHksdGhpcy5vcHRpb25zPWUsdGhpcy53cml0ZXI9ZS53cml0ZXIsdGhpcy53cml0ZXJPcHRpb25zPXRoaXMud3JpdGVyLmZpbHRlck9wdGlvbnMobiksdGhpcy5zdHJpbmdpZnk9bmV3IGYoZSksdGhpcy5vbkRhdGFDYWxsYmFjaz1yfHxmdW5jdGlvbigpe30sdGhpcy5vbkVuZENhbGxiYWNrPWl8fGZ1bmN0aW9uKCl7fSx0aGlzLmN1cnJlbnROb2RlPW51bGwsdGhpcy5jdXJyZW50TGV2ZWw9LTEsdGhpcy5vcGVuVGFncz17fSx0aGlzLmRvY3VtZW50U3RhcnRlZD0hMSx0aGlzLmRvY3VtZW50Q29tcGxldGVkPSExLHRoaXMucm9vdD1udWxsfXJldHVybiBPLnByb3RvdHlwZS5jcmVhdGVDaGlsZE5vZGU9ZnVuY3Rpb24oZSl7dmFyIHIsaSxuLG8scyxoLHUsYztzd2l0Y2goZS50eXBlKXtjYXNlIHQuQ0RhdGE6dGhpcy5jZGF0YShlLnZhbHVlKTticmVhaztjYXNlIHQuQ29tbWVudDp0aGlzLmNvbW1lbnQoZS52YWx1ZSk7YnJlYWs7Y2FzZSB0LkVsZW1lbnQ6Zm9yKGkgaW4gbj17fSx1PWUuYXR0cmlicyliLmNhbGwodSxpKSYmKHI9dVtpXSxuW2ldPXIudmFsdWUpO3RoaXMubm9kZShlLm5hbWUsbik7YnJlYWs7Y2FzZSB0LkR1bW15OnRoaXMuZHVtbXkoKTticmVhaztjYXNlIHQuUmF3OnRoaXMucmF3KGUudmFsdWUpO2JyZWFrO2Nhc2UgdC5UZXh0OnRoaXMudGV4dChlLnZhbHVlKTticmVhaztjYXNlIHQuUHJvY2Vzc2luZ0luc3RydWN0aW9uOnRoaXMuaW5zdHJ1Y3Rpb24oZS50YXJnZXQsZS52YWx1ZSk7YnJlYWs7ZGVmYXVsdDp0aHJvdyBuZXcgRXJyb3IoXCJUaGlzIFhNTCBub2RlIHR5cGUgaXMgbm90IHN1cHBvcnRlZCBpbiBhIEpTIG9iamVjdDogXCIrZS5jb25zdHJ1Y3Rvci5uYW1lKX1mb3Iocz0wLGg9KGM9ZS5jaGlsZHJlbikubGVuZ3RoO3M8aDtzKyspbz1jW3NdLHRoaXMuY3JlYXRlQ2hpbGROb2RlKG8pLG8udHlwZT09PXQuRWxlbWVudCYmdGhpcy51cCgpO3JldHVybiB0aGlzfSxPLnByb3RvdHlwZS5kdW1teT1mdW5jdGlvbigpe3JldHVybiB0aGlzfSxPLnByb3RvdHlwZS5ub2RlPWZ1bmN0aW9uKHQsZSxyKXt2YXIgaTtpZihudWxsPT10KXRocm93IG5ldyBFcnJvcihcIk1pc3Npbmcgbm9kZSBuYW1lLlwiKTtpZih0aGlzLnJvb3QmJi0xPT09dGhpcy5jdXJyZW50TGV2ZWwpdGhyb3cgbmV3IEVycm9yKFwiRG9jdW1lbnQgY2FuIG9ubHkgaGF2ZSBvbmUgcm9vdCBub2RlLiBcIit0aGlzLmRlYnVnSW5mbyh0KSk7cmV0dXJuIHRoaXMub3BlbkN1cnJlbnQoKSx0PUwodCksbnVsbD09ZSYmKGU9e30pLGU9TChlKSxOKGUpfHwocj0oaT1bZSxyXSlbMF0sZT1pWzFdKSx0aGlzLmN1cnJlbnROb2RlPW5ldyBsKHRoaXMsdCxlKSx0aGlzLmN1cnJlbnROb2RlLmNoaWxkcmVuPSExLHRoaXMuY3VycmVudExldmVsKyssdGhpcy5vcGVuVGFnc1t0aGlzLmN1cnJlbnRMZXZlbF09dGhpcy5jdXJyZW50Tm9kZSxudWxsIT1yJiZ0aGlzLnRleHQociksdGhpc30sTy5wcm90b3R5cGUuZWxlbWVudD1mdW5jdGlvbihlLHIsaSl7dmFyIG4sbyxzLGgsdSxjO2lmKHRoaXMuY3VycmVudE5vZGUmJnRoaXMuY3VycmVudE5vZGUudHlwZT09PXQuRG9jVHlwZSl0aGlzLmR0ZEVsZW1lbnQuYXBwbHkodGhpcyxhcmd1bWVudHMpO2Vsc2UgaWYoQXJyYXkuaXNBcnJheShlKXx8TihlKXx8bShlKSlmb3IoaD10aGlzLm9wdGlvbnMubm9WYWxpZGF0aW9uLHRoaXMub3B0aW9ucy5ub1ZhbGlkYXRpb249ITAsKGM9bmV3IHAodGhpcy5vcHRpb25zKS5lbGVtZW50KFwiVEVNUF9ST09UXCIpKS5lbGVtZW50KGUpLHRoaXMub3B0aW9ucy5ub1ZhbGlkYXRpb249aCxvPTAscz0odT1jLmNoaWxkcmVuKS5sZW5ndGg7bzxzO28rKyluPXVbb10sdGhpcy5jcmVhdGVDaGlsZE5vZGUobiksbi50eXBlPT09dC5FbGVtZW50JiZ0aGlzLnVwKCk7ZWxzZSB0aGlzLm5vZGUoZSxyLGkpO3JldHVybiB0aGlzfSxPLnByb3RvdHlwZS5hdHRyaWJ1dGU9ZnVuY3Rpb24odCxlKXt2YXIgaSxuO2lmKCF0aGlzLmN1cnJlbnROb2RlfHx0aGlzLmN1cnJlbnROb2RlLmNoaWxkcmVuKXRocm93IG5ldyBFcnJvcihcImF0dCgpIGNhbiBvbmx5IGJlIHVzZWQgaW1tZWRpYXRlbHkgYWZ0ZXIgYW4gZWxlKCkgY2FsbCBpbiBjYWxsYmFjayBtb2RlLiBcIit0aGlzLmRlYnVnSW5mbyh0KSk7aWYobnVsbCE9dCYmKHQ9TCh0KSksTih0KSlmb3IoaSBpbiB0KWIuY2FsbCh0LGkpJiYobj10W2ldLHRoaXMuYXR0cmlidXRlKGksbikpO2Vsc2UgbShlKSYmKGU9ZS5hcHBseSgpKSx0aGlzLm9wdGlvbnMua2VlcE51bGxBdHRyaWJ1dGVzJiZudWxsPT1lP3RoaXMuY3VycmVudE5vZGUuYXR0cmlic1t0XT1uZXcgcih0aGlzLHQsXCJcIik6bnVsbCE9ZSYmKHRoaXMuY3VycmVudE5vZGUuYXR0cmlic1t0XT1uZXcgcih0aGlzLHQsZSkpO3JldHVybiB0aGlzfSxPLnByb3RvdHlwZS50ZXh0PWZ1bmN0aW9uKHQpe3ZhciBlO3JldHVybiB0aGlzLm9wZW5DdXJyZW50KCksZT1uZXcgdih0aGlzLHQpLHRoaXMub25EYXRhKHRoaXMud3JpdGVyLnRleHQoZSx0aGlzLndyaXRlck9wdGlvbnMsdGhpcy5jdXJyZW50TGV2ZWwrMSksdGhpcy5jdXJyZW50TGV2ZWwrMSksdGhpc30sTy5wcm90b3R5cGUuY2RhdGE9ZnVuY3Rpb24odCl7dmFyIGU7cmV0dXJuIHRoaXMub3BlbkN1cnJlbnQoKSxlPW5ldyBpKHRoaXMsdCksdGhpcy5vbkRhdGEodGhpcy53cml0ZXIuY2RhdGEoZSx0aGlzLndyaXRlck9wdGlvbnMsdGhpcy5jdXJyZW50TGV2ZWwrMSksdGhpcy5jdXJyZW50TGV2ZWwrMSksdGhpc30sTy5wcm90b3R5cGUuY29tbWVudD1mdW5jdGlvbih0KXt2YXIgZTtyZXR1cm4gdGhpcy5vcGVuQ3VycmVudCgpLGU9bmV3IG4odGhpcyx0KSx0aGlzLm9uRGF0YSh0aGlzLndyaXRlci5jb21tZW50KGUsdGhpcy53cml0ZXJPcHRpb25zLHRoaXMuY3VycmVudExldmVsKzEpLHRoaXMuY3VycmVudExldmVsKzEpLHRoaXN9LE8ucHJvdG90eXBlLnJhdz1mdW5jdGlvbih0KXt2YXIgZTtyZXR1cm4gdGhpcy5vcGVuQ3VycmVudCgpLGU9bmV3IHcodGhpcyx0KSx0aGlzLm9uRGF0YSh0aGlzLndyaXRlci5yYXcoZSx0aGlzLndyaXRlck9wdGlvbnMsdGhpcy5jdXJyZW50TGV2ZWwrMSksdGhpcy5jdXJyZW50TGV2ZWwrMSksdGhpc30sTy5wcm90b3R5cGUuaW5zdHJ1Y3Rpb249ZnVuY3Rpb24odCxlKXt2YXIgcixpLG4sbyxzO2lmKHRoaXMub3BlbkN1cnJlbnQoKSxudWxsIT10JiYodD1MKHQpKSxudWxsIT1lJiYoZT1MKGUpKSxBcnJheS5pc0FycmF5KHQpKWZvcihyPTAsbz10Lmxlbmd0aDtyPG87cisrKWk9dFtyXSx0aGlzLmluc3RydWN0aW9uKGkpO2Vsc2UgaWYoTih0KSlmb3IoaSBpbiB0KWIuY2FsbCh0LGkpJiYobj10W2ldLHRoaXMuaW5zdHJ1Y3Rpb24oaSxuKSk7ZWxzZSBtKGUpJiYoZT1lLmFwcGx5KCkpLHM9bmV3IGQodGhpcyx0LGUpLHRoaXMub25EYXRhKHRoaXMud3JpdGVyLnByb2Nlc3NpbmdJbnN0cnVjdGlvbihzLHRoaXMud3JpdGVyT3B0aW9ucyx0aGlzLmN1cnJlbnRMZXZlbCsxKSx0aGlzLmN1cnJlbnRMZXZlbCsxKTtyZXR1cm4gdGhpc30sTy5wcm90b3R5cGUuZGVjbGFyYXRpb249ZnVuY3Rpb24odCxlLHIpe3ZhciBpO2lmKHRoaXMub3BlbkN1cnJlbnQoKSx0aGlzLmRvY3VtZW50U3RhcnRlZCl0aHJvdyBuZXcgRXJyb3IoXCJkZWNsYXJhdGlvbigpIG11c3QgYmUgdGhlIGZpcnN0IG5vZGUuXCIpO3JldHVybiBpPW5ldyBjKHRoaXMsdCxlLHIpLHRoaXMub25EYXRhKHRoaXMud3JpdGVyLmRlY2xhcmF0aW9uKGksdGhpcy53cml0ZXJPcHRpb25zLHRoaXMuY3VycmVudExldmVsKzEpLHRoaXMuY3VycmVudExldmVsKzEpLHRoaXN9LE8ucHJvdG90eXBlLmRvY3R5cGU9ZnVuY3Rpb24odCxlLHIpe2lmKHRoaXMub3BlbkN1cnJlbnQoKSxudWxsPT10KXRocm93IG5ldyBFcnJvcihcIk1pc3Npbmcgcm9vdCBub2RlIG5hbWUuXCIpO2lmKHRoaXMucm9vdCl0aHJvdyBuZXcgRXJyb3IoXCJkdGQoKSBtdXN0IGNvbWUgYmVmb3JlIHRoZSByb290IG5vZGUuXCIpO3JldHVybiB0aGlzLmN1cnJlbnROb2RlPW5ldyBhKHRoaXMsZSxyKSx0aGlzLmN1cnJlbnROb2RlLnJvb3ROb2RlTmFtZT10LHRoaXMuY3VycmVudE5vZGUuY2hpbGRyZW49ITEsdGhpcy5jdXJyZW50TGV2ZWwrKyx0aGlzLm9wZW5UYWdzW3RoaXMuY3VycmVudExldmVsXT10aGlzLmN1cnJlbnROb2RlLHRoaXN9LE8ucHJvdG90eXBlLmR0ZEVsZW1lbnQ9ZnVuY3Rpb24odCxlKXt2YXIgcjtyZXR1cm4gdGhpcy5vcGVuQ3VycmVudCgpLHI9bmV3IHModGhpcyx0LGUpLHRoaXMub25EYXRhKHRoaXMud3JpdGVyLmR0ZEVsZW1lbnQocix0aGlzLndyaXRlck9wdGlvbnMsdGhpcy5jdXJyZW50TGV2ZWwrMSksdGhpcy5jdXJyZW50TGV2ZWwrMSksdGhpc30sTy5wcm90b3R5cGUuYXR0TGlzdD1mdW5jdGlvbih0LGUscixpLG4pe3ZhciBzO3JldHVybiB0aGlzLm9wZW5DdXJyZW50KCkscz1uZXcgbyh0aGlzLHQsZSxyLGksbiksdGhpcy5vbkRhdGEodGhpcy53cml0ZXIuZHRkQXR0TGlzdChzLHRoaXMud3JpdGVyT3B0aW9ucyx0aGlzLmN1cnJlbnRMZXZlbCsxKSx0aGlzLmN1cnJlbnRMZXZlbCsxKSx0aGlzfSxPLnByb3RvdHlwZS5lbnRpdHk9ZnVuY3Rpb24odCxlKXt2YXIgcjtyZXR1cm4gdGhpcy5vcGVuQ3VycmVudCgpLHI9bmV3IGgodGhpcywhMSx0LGUpLHRoaXMub25EYXRhKHRoaXMud3JpdGVyLmR0ZEVudGl0eShyLHRoaXMud3JpdGVyT3B0aW9ucyx0aGlzLmN1cnJlbnRMZXZlbCsxKSx0aGlzLmN1cnJlbnRMZXZlbCsxKSx0aGlzfSxPLnByb3RvdHlwZS5wRW50aXR5PWZ1bmN0aW9uKHQsZSl7dmFyIHI7cmV0dXJuIHRoaXMub3BlbkN1cnJlbnQoKSxyPW5ldyBoKHRoaXMsITAsdCxlKSx0aGlzLm9uRGF0YSh0aGlzLndyaXRlci5kdGRFbnRpdHkocix0aGlzLndyaXRlck9wdGlvbnMsdGhpcy5jdXJyZW50TGV2ZWwrMSksdGhpcy5jdXJyZW50TGV2ZWwrMSksdGhpc30sTy5wcm90b3R5cGUubm90YXRpb249ZnVuY3Rpb24odCxlKXt2YXIgcjtyZXR1cm4gdGhpcy5vcGVuQ3VycmVudCgpLHI9bmV3IHUodGhpcyx0LGUpLHRoaXMub25EYXRhKHRoaXMud3JpdGVyLmR0ZE5vdGF0aW9uKHIsdGhpcy53cml0ZXJPcHRpb25zLHRoaXMuY3VycmVudExldmVsKzEpLHRoaXMuY3VycmVudExldmVsKzEpLHRoaXN9LE8ucHJvdG90eXBlLnVwPWZ1bmN0aW9uKCl7aWYodGhpcy5jdXJyZW50TGV2ZWw8MCl0aHJvdyBuZXcgRXJyb3IoXCJUaGUgZG9jdW1lbnQgbm9kZSBoYXMgbm8gcGFyZW50LlwiKTtyZXR1cm4gdGhpcy5jdXJyZW50Tm9kZT8odGhpcy5jdXJyZW50Tm9kZS5jaGlsZHJlbj90aGlzLmNsb3NlTm9kZSh0aGlzLmN1cnJlbnROb2RlKTp0aGlzLm9wZW5Ob2RlKHRoaXMuY3VycmVudE5vZGUpLHRoaXMuY3VycmVudE5vZGU9bnVsbCk6dGhpcy5jbG9zZU5vZGUodGhpcy5vcGVuVGFnc1t0aGlzLmN1cnJlbnRMZXZlbF0pLGRlbGV0ZSB0aGlzLm9wZW5UYWdzW3RoaXMuY3VycmVudExldmVsXSx0aGlzLmN1cnJlbnRMZXZlbC0tLHRoaXN9LE8ucHJvdG90eXBlLmVuZD1mdW5jdGlvbigpe2Zvcig7dGhpcy5jdXJyZW50TGV2ZWw+PTA7KXRoaXMudXAoKTtyZXR1cm4gdGhpcy5vbkVuZCgpfSxPLnByb3RvdHlwZS5vcGVuQ3VycmVudD1mdW5jdGlvbigpe2lmKHRoaXMuY3VycmVudE5vZGUpcmV0dXJuIHRoaXMuY3VycmVudE5vZGUuY2hpbGRyZW49ITAsdGhpcy5vcGVuTm9kZSh0aGlzLmN1cnJlbnROb2RlKX0sTy5wcm90b3R5cGUub3Blbk5vZGU9ZnVuY3Rpb24ocil7dmFyIGksbixvLHM7aWYoIXIuaXNPcGVuKXtpZih0aGlzLnJvb3R8fDAhPT10aGlzLmN1cnJlbnRMZXZlbHx8ci50eXBlIT09dC5FbGVtZW50fHwodGhpcy5yb290PXIpLG49XCJcIixyLnR5cGU9PT10LkVsZW1lbnQpe2ZvcihvIGluIHRoaXMud3JpdGVyT3B0aW9ucy5zdGF0ZT1lLk9wZW5UYWcsbj10aGlzLndyaXRlci5pbmRlbnQocix0aGlzLndyaXRlck9wdGlvbnMsdGhpcy5jdXJyZW50TGV2ZWwpK1wiPFwiK3IubmFtZSxzPXIuYXR0cmlicyliLmNhbGwocyxvKSYmKGk9c1tvXSxuKz10aGlzLndyaXRlci5hdHRyaWJ1dGUoaSx0aGlzLndyaXRlck9wdGlvbnMsdGhpcy5jdXJyZW50TGV2ZWwpKTtuKz0oci5jaGlsZHJlbj9cIj5cIjpcIi8+XCIpK3RoaXMud3JpdGVyLmVuZGxpbmUocix0aGlzLndyaXRlck9wdGlvbnMsdGhpcy5jdXJyZW50TGV2ZWwpLHRoaXMud3JpdGVyT3B0aW9ucy5zdGF0ZT1lLkluc2lkZVRhZ31lbHNlIHRoaXMud3JpdGVyT3B0aW9ucy5zdGF0ZT1lLk9wZW5UYWcsbj10aGlzLndyaXRlci5pbmRlbnQocix0aGlzLndyaXRlck9wdGlvbnMsdGhpcy5jdXJyZW50TGV2ZWwpK1wiPCFET0NUWVBFIFwiK3Iucm9vdE5vZGVOYW1lLHIucHViSUQmJnIuc3lzSUQ/bis9JyBQVUJMSUMgXCInK3IucHViSUQrJ1wiIFwiJytyLnN5c0lEKydcIic6ci5zeXNJRCYmKG4rPScgU1lTVEVNIFwiJytyLnN5c0lEKydcIicpLHIuY2hpbGRyZW4/KG4rPVwiIFtcIix0aGlzLndyaXRlck9wdGlvbnMuc3RhdGU9ZS5JbnNpZGVUYWcpOih0aGlzLndyaXRlck9wdGlvbnMuc3RhdGU9ZS5DbG9zZVRhZyxuKz1cIj5cIiksbis9dGhpcy53cml0ZXIuZW5kbGluZShyLHRoaXMud3JpdGVyT3B0aW9ucyx0aGlzLmN1cnJlbnRMZXZlbCk7cmV0dXJuIHRoaXMub25EYXRhKG4sdGhpcy5jdXJyZW50TGV2ZWwpLHIuaXNPcGVuPSEwfX0sTy5wcm90b3R5cGUuY2xvc2VOb2RlPWZ1bmN0aW9uKHIpe3ZhciBpO2lmKCFyLmlzQ2xvc2VkKXJldHVybiBpPVwiXCIsdGhpcy53cml0ZXJPcHRpb25zLnN0YXRlPWUuQ2xvc2VUYWcsaT1yLnR5cGU9PT10LkVsZW1lbnQ/dGhpcy53cml0ZXIuaW5kZW50KHIsdGhpcy53cml0ZXJPcHRpb25zLHRoaXMuY3VycmVudExldmVsKStcIjwvXCIrci5uYW1lK1wiPlwiK3RoaXMud3JpdGVyLmVuZGxpbmUocix0aGlzLndyaXRlck9wdGlvbnMsdGhpcy5jdXJyZW50TGV2ZWwpOnRoaXMud3JpdGVyLmluZGVudChyLHRoaXMud3JpdGVyT3B0aW9ucyx0aGlzLmN1cnJlbnRMZXZlbCkrXCJdPlwiK3RoaXMud3JpdGVyLmVuZGxpbmUocix0aGlzLndyaXRlck9wdGlvbnMsdGhpcy5jdXJyZW50TGV2ZWwpLHRoaXMud3JpdGVyT3B0aW9ucy5zdGF0ZT1lLk5vbmUsdGhpcy5vbkRhdGEoaSx0aGlzLmN1cnJlbnRMZXZlbCksci5pc0Nsb3NlZD0hMH0sTy5wcm90b3R5cGUub25EYXRhPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIHRoaXMuZG9jdW1lbnRTdGFydGVkPSEwLHRoaXMub25EYXRhQ2FsbGJhY2sodCxlKzEpfSxPLnByb3RvdHlwZS5vbkVuZD1mdW5jdGlvbigpe3JldHVybiB0aGlzLmRvY3VtZW50Q29tcGxldGVkPSEwLHRoaXMub25FbmRDYWxsYmFjaygpfSxPLnByb3RvdHlwZS5kZWJ1Z0luZm89ZnVuY3Rpb24odCl7cmV0dXJuIG51bGw9PXQ/XCJcIjpcIm5vZGU6IDxcIit0K1wiPlwifSxPLnByb3RvdHlwZS5lbGU9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5lbGVtZW50LmFwcGx5KHRoaXMsYXJndW1lbnRzKX0sTy5wcm90b3R5cGUubm9kPWZ1bmN0aW9uKHQsZSxyKXtyZXR1cm4gdGhpcy5ub2RlKHQsZSxyKX0sTy5wcm90b3R5cGUudHh0PWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLnRleHQodCl9LE8ucHJvdG90eXBlLmRhdD1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5jZGF0YSh0KX0sTy5wcm90b3R5cGUuY29tPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLmNvbW1lbnQodCl9LE8ucHJvdG90eXBlLmlucz1mdW5jdGlvbih0LGUpe3JldHVybiB0aGlzLmluc3RydWN0aW9uKHQsZSl9LE8ucHJvdG90eXBlLmRlYz1mdW5jdGlvbih0LGUscil7cmV0dXJuIHRoaXMuZGVjbGFyYXRpb24odCxlLHIpfSxPLnByb3RvdHlwZS5kdGQ9ZnVuY3Rpb24odCxlLHIpe3JldHVybiB0aGlzLmRvY3R5cGUodCxlLHIpfSxPLnByb3RvdHlwZS5lPWZ1bmN0aW9uKHQsZSxyKXtyZXR1cm4gdGhpcy5lbGVtZW50KHQsZSxyKX0sTy5wcm90b3R5cGUubj1mdW5jdGlvbih0LGUscil7cmV0dXJuIHRoaXMubm9kZSh0LGUscil9LE8ucHJvdG90eXBlLnQ9ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMudGV4dCh0KX0sTy5wcm90b3R5cGUuZD1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5jZGF0YSh0KX0sTy5wcm90b3R5cGUuYz1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5jb21tZW50KHQpfSxPLnByb3RvdHlwZS5yPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLnJhdyh0KX0sTy5wcm90b3R5cGUuaT1mdW5jdGlvbih0LGUpe3JldHVybiB0aGlzLmluc3RydWN0aW9uKHQsZSl9LE8ucHJvdG90eXBlLmF0dD1mdW5jdGlvbigpe3JldHVybiB0aGlzLmN1cnJlbnROb2RlJiZ0aGlzLmN1cnJlbnROb2RlLnR5cGU9PT10LkRvY1R5cGU/dGhpcy5hdHRMaXN0LmFwcGx5KHRoaXMsYXJndW1lbnRzKTp0aGlzLmF0dHJpYnV0ZS5hcHBseSh0aGlzLGFyZ3VtZW50cyl9LE8ucHJvdG90eXBlLmE9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5jdXJyZW50Tm9kZSYmdGhpcy5jdXJyZW50Tm9kZS50eXBlPT09dC5Eb2NUeXBlP3RoaXMuYXR0TGlzdC5hcHBseSh0aGlzLGFyZ3VtZW50cyk6dGhpcy5hdHRyaWJ1dGUuYXBwbHkodGhpcyxhcmd1bWVudHMpfSxPLnByb3RvdHlwZS5lbnQ9ZnVuY3Rpb24odCxlKXtyZXR1cm4gdGhpcy5lbnRpdHkodCxlKX0sTy5wcm90b3R5cGUucGVudD1mdW5jdGlvbih0LGUpe3JldHVybiB0aGlzLnBFbnRpdHkodCxlKX0sTy5wcm90b3R5cGUubm90PWZ1bmN0aW9uKHQsZSl7cmV0dXJuIHRoaXMubm90YXRpb24odCxlKX0sT30oKX0pLmNhbGwodGhpcyk7XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJbGhOVEVSdlkzVnRaVzUwUTBJdWFuTWlYU3dpYm1GdFpYTWlPbHNpVG05a1pWUjVjR1VpTENKWGNtbDBaWEpUZEdGMFpTSXNJbGhOVEVGMGRISnBZblYwWlNJc0lsaE5URU5FWVhSaElpd2lXRTFNUTI5dGJXVnVkQ0lzSWxoTlRFUlVSRUYwZEV4cGMzUWlMQ0pZVFV4RVZFUkZiR1Z0Wlc1MElpd2lXRTFNUkZSRVJXNTBhWFI1SWl3aVdFMU1SRlJFVG05MFlYUnBiMjRpTENKWVRVeEVaV05zWVhKaGRHbHZiaUlzSWxoTlRFUnZZMVI1Y0dVaUxDSllUVXhFYjJOMWJXVnVkQ0lzSWxoTlRFVnNaVzFsYm5RaUxDSllUVXhRY205alpYTnphVzVuU1c1emRISjFZM1JwYjI0aUxDSllUVXhTWVhjaUxDSllUVXhUZEhKcGJtZFhjbWwwWlhJaUxDSllUVXhUZEhKcGJtZHBabWxsY2lJc0lsaE5URlJsZUhRaUxDSm5aWFJXWVd4MVpTSXNJbWx6Um5WdVkzUnBiMjRpTENKcGMwOWlhbVZqZENJc0ltbHpVR3hoYVc1UFltcGxZM1FpTENKeVpXWWlMQ0pvWVhOUWNtOXdJaXdpYUdGelQzZHVVSEp2Y0dWeWRIa2lMQ0p5WlhGMWFYSmxJaXdpYlc5a2RXeGxJaXdpWlhod2IzSjBjeUlzSWxoTlRFUnZZM1Z0Wlc1MFEwSWlMQ0p2Y0hScGIyNXpJaXdpYjI1RVlYUmhJaXdpYjI1RmJtUWlMQ0ozY21sMFpYSlBjSFJwYjI1eklpd2lkR2hwY3lJc0ltNWhiV1VpTENKMGVYQmxJaXdpUkc5amRXMWxiblFpTENKM2NtbDBaWElpTENKbWFXeDBaWEpQY0hScGIyNXpJaXdpYzNSeWFXNW5hV1o1SWl3aWIyNUVZWFJoUTJGc2JHSmhZMnNpTENKdmJrVnVaRU5oYkd4aVlXTnJJaXdpWTNWeWNtVnVkRTV2WkdVaUxDSmpkWEp5Wlc1MFRHVjJaV3dpTENKdmNHVnVWR0ZuY3lJc0ltUnZZM1Z0Wlc1MFUzUmhjblJsWkNJc0ltUnZZM1Z0Wlc1MFEyOXRjR3hsZEdWa0lpd2ljbTl2ZENJc0luQnliM1J2ZEhsd1pTSXNJbU55WldGMFpVTm9hV3hrVG05a1pTSXNJbTV2WkdVaUxDSmhkSFFpTENKaGRIUk9ZVzFsSWl3aVlYUjBjbWxpZFhSbGN5SXNJbU5vYVd4a0lpd2lhU0lzSW14bGJpSXNJbkpsWmpFaUxDSnlaV1l5SWl3aVEwUmhkR0VpTENKalpHRjBZU0lzSW5aaGJIVmxJaXdpUTI5dGJXVnVkQ0lzSW1OdmJXMWxiblFpTENKRmJHVnRaVzUwSWl3aVlYUjBjbWxpY3lJc0ltTmhiR3dpTENKRWRXMXRlU0lzSW1SMWJXMTVJaXdpVW1GM0lpd2ljbUYzSWl3aVZHVjRkQ0lzSW5SbGVIUWlMQ0pRY205alpYTnphVzVuU1c1emRISjFZM1JwYjI0aUxDSnBibk4wY25WamRHbHZiaUlzSW5SaGNtZGxkQ0lzSWtWeWNtOXlJaXdpWTI5dWMzUnlkV04wYjNJaUxDSmphR2xzWkhKbGJpSXNJbXhsYm1kMGFDSXNJblZ3SWl3aVpHVmlkV2RKYm1adklpd2liM0JsYmtOMWNuSmxiblFpTENKbGJHVnRaVzUwSWl3aWIyeGtWbUZzYVdSaGRHbHZia1pzWVdjaUxDSkViMk5VZVhCbElpd2laSFJrUld4bGJXVnVkQ0lzSW1Gd2NHeDVJaXdpWVhKbmRXMWxiblJ6SWl3aVFYSnlZWGtpTENKcGMwRnljbUY1SWl3aWJtOVdZV3hwWkdGMGFXOXVJaXdpWVhSMGNtbGlkWFJsSWl3aVlYUjBWbUZzZFdVaUxDSnJaV1Z3VG5Wc2JFRjBkSEpwWW5WMFpYTWlMQ0pwYm5OVVlYSm5aWFFpTENKcGJuTldZV3gxWlNJc0luQnliMk5sYzNOcGJtZEpibk4wY25WamRHbHZiaUlzSW1SbFkyeGhjbUYwYVc5dUlpd2lkbVZ5YzJsdmJpSXNJbVZ1WTI5a2FXNW5JaXdpYzNSaGJtUmhiRzl1WlNJc0ltUnZZM1I1Y0dVaUxDSndkV0pKUkNJc0luTjVjMGxFSWl3aWNtOXZkRTV2WkdWT1lXMWxJaXdpWVhSMFRHbHpkQ0lzSW1Wc1pXMWxiblJPWVcxbElpd2lZWFIwY21saWRYUmxUbUZ0WlNJc0ltRjBkSEpwWW5WMFpWUjVjR1VpTENKa1pXWmhkV3gwVm1Gc2RXVlVlWEJsSWl3aVpHVm1ZWFZzZEZaaGJIVmxJaXdpWkhSa1FYUjBUR2x6ZENJc0ltVnVkR2wwZVNJc0ltUjBaRVZ1ZEdsMGVTSXNJbkJGYm5ScGRIa2lMQ0p1YjNSaGRHbHZiaUlzSW1SMFpFNXZkR0YwYVc5dUlpd2lZMnh2YzJWT2IyUmxJaXdpYjNCbGJrNXZaR1VpTENKbGJtUWlMQ0pqYUhWdWF5SXNJbWx6VDNCbGJpSXNJbk4wWVhSbElpd2lUM0JsYmxSaFp5SXNJbWx1WkdWdWRDSXNJbVZ1Wkd4cGJtVWlMQ0pKYm5OcFpHVlVZV2NpTENKRGJHOXpaVlJoWnlJc0ltbHpRMnh2YzJWa0lpd2lUbTl1WlNJc0lteGxkbVZzSWl3aVpXeGxJaXdpYm05a0lpd2lkSGgwSWl3aVpHRjBJaXdpWTI5dElpd2lhVzV6SWl3aVpHVmpJaXdpWkhSa0lpd2laU0lzSW00aUxDSjBJaXdpWkNJc0ltTWlMQ0p5SWl3aVlTSXNJbVZ1ZENJc0luQmxiblFpTENKdWIzUWlYU3dpYldGd2NHbHVaM01pT2lKRFFVTkJMRmRCUTBVc1NVRkJTVUVzUlVGQlZVTXNSVUZCWVVNc1JVRkJZME1zUlVGQlZVTXNSVUZCV1VNc1JVRkJaVU1zUlVGQlpVTXNSVUZCWTBNc1JVRkJaMEpETEVWQlFXZENReXhGUVVGWlF5eEZRVUUwUWtNc1JVRkJXVU1zUlVGQk1FSkRMRVZCUVZGRExFVkJRV2xDUXl4RlFVRm5Ra01zUlVGQlUwTXNSVUZCVlVNc1JVRkJXVU1zUlVGQlZVTXNSVUZCWlVNc1JVRkRlRlJETEVWQlFWVXNSMEZCUjBNc1pVRkZaa1lzUlVGQlRVY3NVVUZCVVN4aFFVRmpUQ3hGUVVGWFJTeEZRVUZKUml4VFFVRlZSQ3hGUVVGaFJ5eEZRVUZKU0N4WFFVRlpSU3hGUVVGblFrTXNSVUZCU1VRc1kwRkJaVWdzUlVGQlYwa3NSVUZCU1Vvc1UwRkZjRWxzUWl4RlFVRlhlVUlzVVVGQlVTeGpRVVZ1UW1Rc1JVRkJZMk1zVVVGQlVTeHBRa0ZGZEVKaUxFVkJRV0ZoTEZGQlFWRXNaMEpCUlhKQ2RFSXNSVUZCVjNOQ0xGRkJRVkVzWTBGRmJrSnlRaXhGUVVGaGNVSXNVVUZCVVN4blFrRkZja0pZTEVWQlFWTlhMRkZCUVZFc1dVRkZha0pTTEVWQlFWVlJMRkZCUVZFc1lVRkZiRUphTEVWQlFUSkNXU3hSUVVGUkxEaENRVVZ1UTJoQ0xFVkJRV2xDWjBJc1VVRkJVU3h2UWtGRmVrSm1MRVZCUVdGbExGRkJRVkVzWjBKQlJYSkNjRUlzUlVGQlowSnZRaXhSUVVGUkxHMUNRVVY0UW14Q0xFVkJRV1ZyUWl4UlFVRlJMR3RDUVVWMlFtNUNMRVZCUVdkQ2JVSXNVVUZCVVN4dFFrRkZlRUpxUWl4RlFVRnBRbWxDTEZGQlFWRXNiMEpCUlhwQ2RrSXNSVUZCWlhWQ0xGRkJRVkVzYTBKQlJYWkNWQ3hGUVVGcFFsTXNVVUZCVVN4dlFrRkZla0pXTEVWQlFXdENWU3hSUVVGUkxIRkNRVVV4UW5oQ0xFVkJRV04zUWl4UlFVRlJMR2xDUVVWMFFrTXNUMEZCVDBNc1VVRkJNRUlzVjBGREwwSXNVMEZCVTBNc1JVRkJZME1zUlVGQlUwTXNSVUZCVVVNc1IwRkRkRU1zU1VGQlNVTXNSVUZEU2tNc1MwRkJTME1zUzBGQlR5eFBRVU5hUkN4TFFVRkxSU3hMUVVGUGJrTXNSVUZCVTI5RExGTkJRM0pDVUN4SlFVRlpRU3hGUVVGVkxFbEJRM1JDUnl4RlFVRm5RaXhIUVVOWVNDeEZRVUZSVVN4UFFVVkdhRUlzUlVGQlkxRXNSVUZCVVZFc1ZVRkRMMEpNTEVWQlFXZENTQ3hGUVVGUlVTeFBRVU40UWxJc1JVRkJVVkVzVDBGQlV5eEpRVUZKZEVJc1IwRklja0pqTEVWQlFWRlJMRTlCUVZNc1NVRkJTWFJDTEVWQlMzWkNhMElzUzBGQlMwb3NVVUZCVlVFc1JVRkRaa2tzUzBGQlMwa3NUMEZCVTFJc1JVRkJVVkVzVDBGRGRFSktMRXRCUVV0RUxHTkJRV2RDUXl4TFFVRkxTU3hQUVVGUFF5eGpRVUZqVGl4SFFVTXZRME1zUzBGQlMwMHNWVUZCV1N4SlFVRkpka0lzUlVGQlpXRXNSMEZEY0VOSkxFdEJRVXRQTEdWQlFXbENWaXhIUVVGVkxHRkJRMmhEUnl4TFFVRkxVU3hqUVVGblFsWXNSMEZCVXl4aFFVTTVRa1VzUzBGQlMxTXNXVUZCWXl4TFFVTnVRbFFzUzBGQlMxVXNZMEZCWjBJc1JVRkRja0pXTEV0QlFVdFhMRk5CUVZjc1IwRkRhRUpZTEV0QlFVdFpMR2xDUVVGclFpeEZRVU4yUWxvc1MwRkJTMkVzYlVKQlFXOUNMRVZCUTNwQ1lpeExRVUZMWXl4TFFVRlBMRXRCZDJOa0xFOUJjbU5CYmtJc1JVRkJZMjlDTEZWQlFWVkRMR2RDUVVGclFpeFRRVUZUUXl4SFFVTnFSQ3hKUVVGSlF5eEZRVUZMUXl4RlFVRlRReXhGUVVGWlF5eEZRVUZQUXl4RlFVRkhReXhGUVVGTFF5eEZRVUZOUXl4RlFVTnVSQ3hQUVVGUlVpeEZRVUZMWml4TlFVTllMRXRCUVV0dVF5eEZRVUZUTWtRc1RVRkRXakZDTEV0QlFVc3lRaXhOUVVGTlZpeEZRVUZMVnl4UFFVTm9RaXhOUVVOR0xFdEJRVXMzUkN4RlFVRlRPRVFzVVVGRFdqZENMRXRCUVVzNFFpeFJRVUZSWWl4RlFVRkxWeXhQUVVOc1FpeE5RVU5HTEV0QlFVczNSQ3hGUVVGVFowVXNVVUZIV2l4SlFVRkxXaXhMUVVaTVF5eEZRVUZoTEVkQlEySkpMRVZCUVU5UUxFVkJRVXRsTEZGQlJVd3hReXhGUVVGUk1rTXNTMEZCUzFRc1JVRkJUVXdzUzBGRGVFSkVMRVZCUVUxTkxFVkJRVXRNTEVkQlExaERMRVZCUVZkRUxFZEJRVmRFTEVWQlFVbFZMRTlCUlRWQ05VSXNTMEZCUzJsQ0xFdEJRVXRCTEVWQlFVdG9RaXhMUVVGTmJVSXNSMEZEY2tJc1RVRkRSaXhMUVVGTGNrUXNSVUZCVTIxRkxFMUJRMXBzUXl4TFFVRkxiVU1zVVVGRFRDeE5RVU5HTEV0QlFVdHdSU3hGUVVGVGNVVXNTVUZEV25CRExFdEJRVXR4UXl4SlFVRkpjRUlzUlVGQlMxY3NUMEZEWkN4TlFVTkdMRXRCUVVzM1JDeEZRVUZUZFVVc1MwRkRXblJETEV0QlFVdDFReXhMUVVGTGRFSXNSVUZCUzFjc1QwRkRaaXhOUVVOR0xFdEJRVXMzUkN4RlFVRlRlVVVzYzBKQlExcDRReXhMUVVGTGVVTXNXVUZCV1hoQ0xFVkJRVXQ1UWl4UFFVRlJla0lzUlVGQlMxY3NUMEZEYmtNc1RVRkRSaXhSUVVORkxFMUJRVTBzU1VGQlNXVXNUVUZCVFN4MVJFRkJlVVF4UWl4RlFVRkxNa0lzV1VGQldUTkRMRTFCUnpsR0xFbEJRVXR4UWl4RlFVRkpMRVZCUVVkRExFZEJSRnBGTEVWQlFVOVNMRVZCUVVzMFFpeFZRVU5YUXl4UFFVRlJlRUlzUlVGQlNVTXNSVUZCUzBRc1NVRkRkRU5FTEVWQlFWRkpMRVZCUVV0SUxFZEJRMkowUWl4TFFVRkxaMElzWjBKQlFXZENTeXhIUVVOcVFrRXNSVUZCVFc1Q0xFOUJRVk51UXl4RlFVRlRaMFVzVTBGRE1VSXZRaXhMUVVGTEswTXNTMEZIVkN4UFFVRlBMME1zVFVGSFZFd3NSVUZCWTI5Q0xGVkJRVlZ2UWl4TlFVRlJMRmRCUXpsQ0xFOUJRVTl1UXl4TlFVZFVUQ3hGUVVGamIwSXNWVUZCVlVVc1MwRkJUeXhUUVVGVGFFSXNSVUZCVFcxQ0xFVkJRVmx0UWl4SFFVTjRSQ3hKUVVGSlppeEZRVU5LTEVkQlFWa3NUVUZCVW5aQ0xFVkJRMFlzVFVGQlRTeEpRVUZKTUVNc1RVRkJUU3h6UWtGRmJFSXNSMEZCU1RORExFdEJRVXRqTEU5QlFTdENMRWxCUVhaQ1pDeExRVUZMVlN4aFFVTndRaXhOUVVGTkxFbEJRVWxwUXl4TlFVRk5MSGxEUVVFeVF6TkRMRXRCUVV0blJDeFZRVUZWTDBNc1NVRnJRalZGTEU5QmFFSkJSQ3hMUVVGTGFVUXNZMEZEVEdoRUxFVkJRVTlvUWl4RlFVRlRaMElzUjBGRFJTeE5RVUZrYlVJc1NVRkRSa0VzUlVGQllTeEpRVVZtUVN4RlFVRmhia01zUlVGQlUyMURMRWRCUTJwQ2FrTXNSVUZCVTJsRExFdEJRMlZ0UWl4SFFVRXpRbVlzUlVGQlR5eERRVUZEU2l4RlFVRlpiVUlzU1VGQmJVSXNSMEZCU1c1Q0xFVkJRV0ZKTEVWQlFVc3NTVUZGTDBSNFFpeExRVUZMVXl4WlFVRmpMRWxCUVVrNVFpeEZRVUZYY1VJc1MwRkJUVU1zUlVGQlRXMUNMRWRCUXpsRGNFSXNTMEZCUzFNc1dVRkJXVzlETEZWQlFWY3NSVUZETlVJM1F5eExRVUZMVlN4bFFVTk1WaXhMUVVGTFZ5eFRRVUZUV0N4TFFVRkxWU3hqUVVGblFsWXNTMEZCUzFNc1dVRkROVUlzVFVGQlVqaENMRWRCUTBaMlF5eExRVUZMZFVNc1MwRkJTMEVzUjBGRlRIWkRMRTFCUjFSTUxFVkJRV052UWl4VlFVRlZiVU1zVVVGQlZTeFRRVUZUYWtRc1JVRkJUVzFDTEVWQlFWbHRRaXhIUVVNelJDeEpRVUZKYkVJc1JVRkJUME1zUlVGQlIwTXNSVUZCU3pSQ0xFVkJRVzFDTTBJc1JVRkJUVllzUlVGRE5VTXNSMEZCU1dRc1MwRkJTMU1zWVVGQlpWUXNTMEZCUzFNc1dVRkJXVkFzVDBGQlUyNURMRVZCUVZOeFJpeFJRVU42UkhCRUxFdEJRVXR4UkN4WFFVRlhReXhOUVVGTmRFUXNTMEZCVFhWRUxHZENRVVUxUWl4SFFVRkpReXhOUVVGTlF5eFJRVUZSZUVRc1NVRkJVMlFzUlVGQlUyTXNTVUZCVTJZc1JVRkJWMlVzUjBGUGRFUXNTVUZPUVd0RUxFVkJRVzlDYmtRc1MwRkJTMG9zVVVGQlVUaEVMR0ZCUTJwRE1VUXNTMEZCUzBvc1VVRkJVVGhFTEdOQlFXVXNSMEZETlVJMVF5eEZRVUZQTEVsQlFVbHdReXhGUVVGWmMwSXNTMEZCUzBvc1UwRkJVM05FTEZGQlFWRXNZMEZEZUVOQkxGRkJRVkZxUkN4SFFVTmlSQ3hMUVVGTFNpeFJRVUZST0VRc1lVRkJaVkFzUlVGRmRrSTNRaXhGUVVGSkxFVkJRVWRETEVkQlJGcERMRVZCUVU5V0xFVkJRVXNyUWl4VlFVTlhReXhQUVVGUmVFSXNSVUZCU1VNc1JVRkJTMFFzU1VGRGRFTkVMRVZCUVZGSExFVkJRVXRHTEVkQlEySjBRaXhMUVVGTFowSXNaMEpCUVdkQ1N5eEhRVU5xUWtFc1JVRkJUVzVDTEU5QlFWTnVReXhGUVVGVFowVXNVMEZETVVJdlFpeExRVUZMSzBNc1ZVRkpWQzlETEV0QlFVdHBRaXhMUVVGTGFFSXNSVUZCVFcxQ0xFVkJRVmx0UWl4SFFVZG9ReXhQUVVGUGRrTXNUVUZIVkV3c1JVRkJZMjlDTEZWQlFWVTBReXhWUVVGWkxGTkJRVk14UkN4RlFVRk5Na0lzUjBGRGFrUXNTVUZCU1ZRc1JVRkJVM2xETEVWQlEySXNTVUZCU3pWRUxFdEJRVXRUTEdGQlFXVlVMRXRCUVV0VExGbEJRVmx2UXl4VFFVTjRReXhOUVVGTkxFbEJRVWxHTEUxQlFVMHNORVZCUVRoRk0wTXNTMEZCUzJkRUxGVkJRVlV2UXl4SlFVc3ZSeXhIUVVoWkxFMUJRVkpCTEVsQlEwWkJMRVZCUVU5b1FpeEZRVUZUWjBJc1NVRkZaR1FzUlVGQlUyTXNSMEZEV0N4SlFVRkxhMElzUzBGQlYyeENMRVZCUTFSWUxFVkJRVkV5UXl4TFFVRkxhRU1zUlVGQlRXdENMRXRCUTNoQ2VVTXNSVUZCVnpORUxFVkJRVXRyUWl4SFFVTm9RbTVDTEV0QlFVc3lSQ3hWUVVGVmVFTXNSVUZCVTNsRExGTkJSM1JDTVVVc1JVRkJWekJETEV0QlEySkJMRVZCUVZGQkxFVkJRVTB3UWl4VFFVVmFkRVFzUzBGQlMwb3NVVUZCVVdsRkxHOUNRVUZuUXl4TlFVRlVha01zUlVGRGRFTTFRaXhMUVVGTFV5eFpRVUZaZFVJc1VVRkJVUzlDTEVkQlFWRXNTVUZCU1doRExFVkJRV0VyUWl4TFFVRk5ReXhGUVVGTkxFbEJRelZETEUxQlFWUXlRaXhKUVVOVU5VSXNTMEZCUzFNc1dVRkJXWFZDTEZGQlFWRXZRaXhIUVVGUkxFbEJRVWxvUXl4RlFVRmhLMElzUzBGQlRVTXNSVUZCVFRKQ0xFbEJSMnhGTEU5QlFVODFRaXhOUVVkVVRDeEZRVUZqYjBJc1ZVRkJWWGRDTEV0QlFVOHNVMEZCVTFnc1IwRkRkRU1zU1VGQlNWZ3NSVUZKU2l4UFFVaEJha0lzUzBGQlMybEVMR05CUTB4b1F5eEZRVUZQTEVsQlFVbHFReXhGUVVGUlowSXNTMEZCVFRSQ0xFZEJRM3BDTlVJc1MwRkJTMGdzVDBGQlQwY3NTMEZCUzBrc1QwRkJUMjFETEV0QlFVdDBRaXhGUVVGTmFrSXNTMEZCUzBRc1kwRkJaVU1zUzBGQlMxVXNZVUZCWlN4SFFVRkpWaXhMUVVGTFZTeGhRVUZsTEVkQlF6VkdWaXhOUVVkVVRDeEZRVUZqYjBJc1ZVRkJWVmtzVFVGQlVTeFRRVUZUUXl4SFFVTjJReXhKUVVGSldDeEZRVWxLTEU5QlNFRnFRaXhMUVVGTGFVUXNZMEZEVEdoRExFVkJRVThzU1VGQlNTOURMRVZCUVZNNFFpeExRVUZOTkVJc1IwRkRNVUkxUWl4TFFVRkxTQ3hQUVVGUFJ5eExRVUZMU1N4UFFVRlBkVUlzVFVGQlRWWXNSVUZCVFdwQ0xFdEJRVXRFTEdOQlFXVkRMRXRCUVV0VkxHRkJRV1VzUjBGQlNWWXNTMEZCUzFVc1lVRkJaU3hIUVVNM1JsWXNUVUZIVkV3c1JVRkJZMjlDTEZWQlFWVmxMRkZCUVZVc1UwRkJVMFlzUjBGRGVrTXNTVUZCU1Znc1JVRkpTaXhQUVVoQmFrSXNTMEZCUzJsRUxHTkJRMHhvUXl4RlFVRlBMRWxCUVVrNVF5eEZRVUZYTmtJc1MwRkJUVFJDTEVkQlF6VkNOVUlzUzBGQlMwZ3NUMEZCVDBjc1MwRkJTMGtzVDBGQlR6QkNMRkZCUVZGaUxFVkJRVTFxUWl4TFFVRkxSQ3hqUVVGbFF5eExRVUZMVlN4aFFVRmxMRWRCUVVsV0xFdEJRVXRWTEdGQlFXVXNSMEZETDBaV0xFMUJSMVJNTEVWQlFXTnZRaXhWUVVGVmMwSXNTVUZCVFN4VFFVRlRWQ3hIUVVOeVF5eEpRVUZKV0N4RlFVbEtMRTlCU0VGcVFpeExRVUZMYVVRc1kwRkRUR2hETEVWQlFVOHNTVUZCU1hCRExFVkJRVTl0UWl4TFFVRk5ORUlzUjBGRGVFSTFRaXhMUVVGTFNDeFBRVUZQUnl4TFFVRkxTU3hQUVVGUGFVTXNTVUZCU1hCQ0xFVkJRVTFxUWl4TFFVRkxSQ3hqUVVGbFF5eExRVUZMVlN4aFFVRmxMRWRCUVVsV0xFdEJRVXRWTEdGQlFXVXNSMEZETTBaV0xFMUJSMVJNTEVWQlFXTnZRaXhWUVVGVk1FSXNXVUZCWXl4VFFVRlRReXhGUVVGUlpDeEhRVU55UkN4SlFVRkpUaXhGUVVGSGQwTXNSVUZCVjBNc1JVRkJWWGhETEVWQlFVdE9MRVZCVVdwRExFZEJVRUZxUWl4TFFVRkxhVVFzWTBGRFV5eE5RVUZXVUN4SlFVTkdRU3hGUVVGVGVrUXNSVUZCVTNsRUxFbEJSVkFzVFVGQlZHUXNTVUZEUmtFc1JVRkJVVE5ETEVWQlFWTXlReXhKUVVWbU5FSXNUVUZCVFVNc1VVRkJVV1lzUjBGRGFFSXNTVUZCUzNCQ0xFVkJRVWtzUlVGQlIwTXNSVUZCVFcxQ0xFVkJRVTlKTEU5QlFWRjRRaXhGUVVGSlF5eEZRVUZMUkN4SlFVTjRRM2RETEVWQlFWbHdRaXhGUVVGUGNFSXNSMEZEYmtKMFFpeExRVUZMZVVNc1dVRkJXWEZDTEZGQlJXUXNSMEZCU1RORkxFVkJRVk4xUkN4SFFVTnNRaXhKUVVGTGIwSXNTMEZCWVhCQ0xFVkJRMWh3UkN4RlFVRlJNa01zUzBGQlMxTXNSVUZCVVc5Q0xFdEJRekZDUXl4RlFVRlhja0lzUlVGQlQyOUNMRWRCUTJ4Q09VUXNTMEZCUzNsRExGbEJRVmx4UWl4RlFVRlhReXhUUVVjeFFqZEZMRVZCUVZjd1F5eExRVU5pUVN4RlFVRlJRU3hGUVVGTk1FSXNVMEZGYUVKeVF5eEZRVUZQTEVsQlFVbHlReXhGUVVGNVFtOUNMRXRCUVUwd1F5eEZRVUZSWkN4SFFVTnNSRFZDTEV0QlFVdElMRTlCUVU5SExFdEJRVXRKTEU5QlFVODBSQ3h6UWtGQmMwSXZReXhGUVVGTmFrSXNTMEZCUzBRc1kwRkJaVU1zUzBGQlMxVXNZVUZCWlN4SFFVRkpWaXhMUVVGTFZTeGhRVUZsTEVkQlJYUklMRTlCUVU5V0xFMUJSMVJNTEVWQlFXTnZRaXhWUVVGVmEwUXNXVUZCWXl4VFFVRlRReXhGUVVGVFF5eEZRVUZWUXl4SFFVTm9SU3hKUVVGSmJrUXNSVUZGU2l4SFFVUkJha0lzUzBGQlMybEVMR05CUTBScVJDeExRVUZMV1N4blFrRkRVQ3hOUVVGTkxFbEJRVWtyUWl4TlFVRk5MSGxEUVVsc1FpeFBRVVpCTVVJc1JVRkJUeXhKUVVGSmVrTXNSVUZCWlhkQ0xFdEJRVTFyUlN4RlFVRlRReXhGUVVGVlF5eEhRVU51UkhCRkxFdEJRVXRJTEU5QlFVOUhMRXRCUVV0SkxFOUJRVTgyUkN4WlFVRlphRVFzUlVGQlRXcENMRXRCUVV0RUxHTkJRV1ZETEV0QlFVdFZMR0ZCUVdVc1IwRkJTVllzUzBGQlMxVXNZVUZCWlN4SFFVTnVSMVlzVFVGSFZFd3NSVUZCWTI5Q0xGVkJRVlZ6UkN4UlFVRlZMRk5CUVZOMlJDeEZRVUZOZDBRc1JVRkJUME1zUjBGRmRFUXNSMEZFUVhaRkxFdEJRVXRwUkN4alFVTlBMRTFCUVZKdVF5eEZRVU5HTEUxQlFVMHNTVUZCU1RaQ0xFMUJRVTBzTWtKQlJXeENMRWRCUVVrelF5eExRVUZMWXl4TFFVTlFMRTFCUVUwc1NVRkJTVFpDTEUxQlFVMHNlVU5CVDJ4Q0xFOUJURUV6UXl4TFFVRkxVeXhaUVVGakxFbEJRVWxvUXl4RlFVRlhkVUlzUzBGQlRYTkZMRVZCUVU5RExFZEJReTlEZGtVc1MwRkJTMU1zV1VGQldTdEVMR0ZCUVdVeFJDeEZRVU5vUTJRc1MwRkJTMU1zV1VGQldXOURMRlZCUVZjc1JVRkROVUkzUXl4TFFVRkxWU3hsUVVOTVZpeExRVUZMVnl4VFFVRlRXQ3hMUVVGTFZTeGpRVUZuUWxZc1MwRkJTMU1zV1VGRGFrTlVMRTFCUjFSTUxFVkJRV052UWl4VlFVRlZjME1zVjBGQllTeFRRVUZUY0VRc1JVRkJUVEpDTEVkQlEyeEVMRWxCUVVsWUxFVkJTVW9zVDBGSVFXcENMRXRCUVV0cFJDeGpRVU5NYUVNc1JVRkJUeXhKUVVGSk5VTXNSVUZCWXpKQ0xFdEJRVTFETEVWQlFVMHlRaXhIUVVOeVF6VkNMRXRCUVV0SUxFOUJRVTlITEV0QlFVdEpMRTlCUVU5cFJDeFhRVUZYY0VNc1JVRkJUV3BDTEV0QlFVdEVMR05CUVdWRExFdEJRVXRWTEdGQlFXVXNSMEZCU1ZZc1MwRkJTMVVzWVVGQlpTeEhRVU5zUjFZc1RVRkhWRXdzUlVGQlkyOUNMRlZCUVZVd1JDeFJRVUZWTEZOQlFWTkRMRVZCUVdGRExFVkJRV1ZETEVWQlFXVkRMRVZCUVd0Q1F5eEhRVU4wUnl4SlFVRkpOMFFzUlVGSlNpeFBRVWhCYWtJc1MwRkJTMmxFTEdOQlEweG9ReXhGUVVGUExFbEJRVWszUXl4RlFVRmpORUlzUzBGQlRUQkZMRVZCUVdGRExFVkJRV1ZETEVWQlFXVkRMRVZCUVd0Q1F5eEhRVU0xUmpsRkxFdEJRVXRJTEU5QlFVOUhMRXRCUVV0SkxFOUJRVTh5UlN4WFFVRlhPVVFzUlVGQlRXcENMRXRCUVV0RUxHTkJRV1ZETEV0QlFVdFZMR0ZCUVdVc1IwRkJTVllzUzBGQlMxVXNZVUZCWlN4SFFVTnNSMVlzVFVGSFZFd3NSVUZCWTI5Q0xGVkJRVlZwUlN4UFFVRlRMRk5CUVZNdlJTeEZRVUZOTWtJc1IwRkRPVU1zU1VGQlNWZ3NSVUZKU2l4UFFVaEJha0lzUzBGQlMybEVMR05CUTB4b1F5eEZRVUZQTEVsQlFVa3pReXhGUVVGaE1FSXNUVUZCVFN4RlFVRlBReXhGUVVGTk1rSXNSMEZETTBNMVFpeExRVUZMU0N4UFFVRlBSeXhMUVVGTFNTeFBRVUZQTmtVc1ZVRkJWV2hGTEVWQlFVMXFRaXhMUVVGTFJDeGpRVUZsUXl4TFFVRkxWU3hoUVVGbExFZEJRVWxXTEV0QlFVdFZMR0ZCUVdVc1IwRkRha2RXTEUxQlIxUk1MRVZCUVdOdlFpeFZRVUZWYlVVc1VVRkJWU3hUUVVGVGFrWXNSVUZCVFRKQ0xFZEJReTlETEVsQlFVbFlMRVZCU1Vvc1QwRklRV3BDTEV0QlFVdHBSQ3hqUVVOTWFFTXNSVUZCVHl4SlFVRkpNME1zUlVGQllUQkNMRTFCUVUwc1JVRkJUVU1zUlVGQlRUSkNMRWRCUXpGRE5VSXNTMEZCUzBnc1QwRkJUMGNzUzBGQlMwa3NUMEZCVHpaRkxGVkJRVlZvUlN4RlFVRk5ha0lzUzBGQlMwUXNZMEZCWlVNc1MwRkJTMVVzWVVGQlpTeEhRVUZKVml4TFFVRkxWU3hoUVVGbExFZEJRMnBIVml4TlFVZFVUQ3hGUVVGamIwSXNWVUZCVlc5RkxGTkJRVmNzVTBGQlUyeEdMRVZCUVUweVFpeEhRVU5vUkN4SlFVRkpXQ3hGUVVsS0xFOUJTRUZxUWl4TFFVRkxhVVFzWTBGRFRHaERMRVZCUVU4c1NVRkJTVEZETEVWQlFXVjVRaXhMUVVGTlF5eEZRVUZOTWtJc1IwRkRkRU0xUWl4TFFVRkxTQ3hQUVVGUFJ5eExRVUZMU1N4UFFVRlBaMFlzV1VGQldXNUZMRVZCUVUxcVFpeExRVUZMUkN4alFVRmxReXhMUVVGTFZTeGhRVUZsTEVkQlFVbFdMRXRCUVV0VkxHRkJRV1VzUjBGRGJrZFdMRTFCUjFSTUxFVkJRV052UWl4VlFVRlZaME1zUjBGQlN5eFhRVU16UWl4SFFVRkpMME1zUzBGQlMxVXNZVUZCWlN4RlFVTjBRaXhOUVVGTkxFbEJRVWxwUXl4TlFVRk5MRzlEUVdOc1FpeFBRVnBKTTBNc1MwRkJTMU1zWVVGRFNGUXNTMEZCUzFNc1dVRkJXVzlETEZOQlEyNUNOME1zUzBGQlMzRkdMRlZCUVZWeVJpeExRVUZMVXl4aFFVVndRbFFzUzBGQlMzTkdMRk5CUVZOMFJpeExRVUZMVXl4aFFVVnlRbFFzUzBGQlMxTXNXVUZCWXl4TlFVVnVRbFFzUzBGQlMzRkdMRlZCUVZWeVJpeExRVUZMVnl4VFFVRlRXQ3hMUVVGTFZTeHpRa0ZGTjBKV0xFdEJRVXRYTEZOQlFWTllMRXRCUVV0VkxHTkJRekZDVml4TFFVRkxWU3hsUVVORlZpeE5RVWRVVEN4RlFVRmpiMElzVlVGQlZYZEZMRWxCUVUwc1YwRkROVUlzUzBGQlQzWkdMRXRCUVV0VkxHTkJRV2RDTEVkQlF6RkNWaXhMUVVGTEswTXNTMEZGVUN4UFFVRlBMME1zUzBGQlMwWXNVMEZIWkVnc1JVRkJZMjlDTEZWQlFWVnJReXhaUVVGakxGZEJRM0JETEVkQlFVbHFSQ3hMUVVGTFV5eFpRVVZRTEU5QlJFRlVMRXRCUVV0VExGbEJRVmx2UXl4VlFVRlhMRVZCUTNKQ04wTXNTMEZCUzNOR0xGTkJRVk4wUml4TFFVRkxVeXhqUVVrNVFtUXNSVUZCWTI5Q0xGVkJRVlYxUlN4VFFVRlhMRk5CUVZOeVJTeEhRVU14UXl4SlFVRkpReXhGUVVGTGMwVXNSVUZCVDNaR0xFVkJRVTExUWl4RlFVTjBRaXhKUVVGTFVDeEZRVUZMZDBVc1QwRkJVU3hEUVV0b1FpeEhRVXBMZWtZc1MwRkJTMk1zVFVGQk9FSXNTVUZCZEVKa0xFdEJRVXRWTEdOQlFYTkNUeXhGUVVGTFppeFBRVUZUYmtNc1JVRkJVMmRGTEZWQlEyeEZMMElzUzBGQlMyTXNTMEZCVDBjc1IwRkZaSFZGTEVWQlFWRXNSMEZEU25aRkxFVkJRVXRtTEU5QlFWTnVReXhGUVVGVFowVXNVVUZCVXl4RFFVbHNReXhKUVVGTE9VSXNTMEZJVEVRc1MwRkJTMFFzWTBGQll6SkdMRTFCUVZFeFNDeEZRVUZaTWtnc1VVRkRka05JTEVWQlFWRjRSaXhMUVVGTFNTeFBRVUZQZDBZc1QwRkJUek5GTEVWQlFVMXFRaXhMUVVGTFJDeGpRVUZsUXl4TFFVRkxWU3hqUVVGblFpeEpRVUZOVHl4RlFVRkxhRUlzUzBGRGNrWjFRaXhGUVVGUFVDeEZRVUZMWlN4UlFVVk1NVU1zUlVGQlVUSkRMRXRCUVV0VUxFVkJRVTEyUWl4TFFVTjRRbWxDTEVWQlFVMU5MRVZCUVV0MlFpeEhRVU5ZZFVZc1IwRkJVM2hHTEV0QlFVdEpMRTlCUVU5MVJDeFZRVUZWZWtNc1JVRkJTMnhDTEV0QlFVdEVMR05CUVdWRExFdEJRVXRWTEdWQlJTOUVPRVVzU1VGQlZYWkZMRVZCUVVzMFFpeFRRVUZYTEVsQlFVMHNUVUZCVVRkRExFdEJRVXRKTEU5QlFVOTVSaXhSUVVGUk5VVXNSVUZCVFdwQ0xFdEJRVXRFTEdOQlFXVkRMRXRCUVV0VkxHTkJRek5HVml4TFFVRkxSQ3hqUVVGak1rWXNUVUZCVVRGSUxFVkJRVms0U0N4bFFVVjJRemxHTEV0QlFVdEVMR05CUVdNeVJpeE5RVUZSTVVnc1JVRkJXVEpJTEZGQlEzWkRTQ3hGUVVGUmVFWXNTMEZCUzBrc1QwRkJUM2RHTEU5QlFVOHpSU3hGUVVGTmFrSXNTMEZCUzBRc1kwRkJaVU1zUzBGQlMxVXNZMEZCWjBJc1lVRkJaVThzUlVGQlMzVkVMR0ZCUXpGR2RrUXNSVUZCUzNGRUxFOUJRVk55UkN4RlFVRkxjMFFzVFVGRGNrSnBRaXhIUVVGVExGbEJRV04yUlN4RlFVRkxjVVFzVFVGQlVTeE5RVUZSY2tRc1JVRkJTM05FTEUxQlFWRXNTVUZEYUVSMFJDeEZRVUZMYzBRc1VVRkRaR2xDTEVkQlFWTXNXVUZCWTNaRkxFVkJRVXR6UkN4TlFVRlJMRXRCUld4RGRFUXNSVUZCU3pSQ0xGVkJRMUF5UXl4SFFVRlRMRXRCUTFSNFJpeExRVUZMUkN4alFVRmpNa1lzVFVGQlVURklMRVZCUVZrNFNDeFpRVVYyUXpsR0xFdEJRVXRFTEdOQlFXTXlSaXhOUVVGUk1VZ3NSVUZCV1N0SUxGTkJRM1pEVUN4SFFVRlRMRXRCUlZoQkxFZEJRVk40Uml4TFFVRkxTU3hQUVVGUGVVWXNVVUZCVVRWRkxFVkJRVTFxUWl4TFFVRkxSQ3hqUVVGbFF5eExRVUZMVlN4alFVYzVSQ3hQUVVSQlZpeExRVUZMU0N4UFFVRlBNa1lzUlVGQlQzaEdMRXRCUVV0VkxHTkJRMnBDVHl4RlFVRkxkMFVzVVVGQlV5eEpRVWw2UWpsR0xFVkJRV052UWl4VlFVRlZjMFVzVlVGQldTeFRRVUZUY0VVc1IwRkRNME1zU1VGQlNYVkZMRVZCUTBvc1NVRkJTM1pGTEVWQlFVc3JSU3hUUVZWU0xFOUJWRUZTTEVWQlFWRXNSMEZEVW5oR0xFdEJRVXRFTEdOQlFXTXlSaXhOUVVGUk1VZ3NSVUZCV1N0SUxGTkJSWEpEVUN4RlFVUkZka1VzUlVGQlMyWXNUMEZCVTI1RExFVkJRVk5uUlN4UlFVTnFRaTlDTEV0QlFVdEpMRTlCUVU5M1JpeFBRVUZQTTBVc1JVRkJUV3BDTEV0QlFVdEVMR05CUVdWRExFdEJRVXRWTEdOQlFXZENMRXRCUVU5UExFVkJRVXRvUWl4TFFVRlBMRWxCUVUxRUxFdEJRVXRKTEU5QlFVOTVSaXhSUVVGUk5VVXNSVUZCVFdwQ0xFdEJRVXRFTEdOQlFXVkRMRXRCUVV0VkxHTkJSVGxKVml4TFFVRkxTU3hQUVVGUGQwWXNUMEZCVHpORkxFVkJRVTFxUWl4TFFVRkxSQ3hqUVVGbFF5eExRVUZMVlN4alFVRm5RaXhMUVVGUFZpeExRVUZMU1N4UFFVRlBlVVlzVVVGQlVUVkZMRVZCUVUxcVFpeExRVUZMUkN4alFVRmxReXhMUVVGTFZTeGpRVVYwU1ZZc1MwRkJTMFFzWTBGQll6SkdMRTFCUVZFeFNDeEZRVUZaYVVrc1MwRkRka05xUnl4TFFVRkxTQ3hQUVVGUE1rWXNSVUZCVDNoR0xFdEJRVXRWTEdOQlEycENUeXhGUVVGTEswVXNWVUZCVnl4SFFVa3pRbkpITEVWQlFXTnZRaXhWUVVGVmJFSXNUMEZCVXl4VFFVRlRNa1lzUlVGQlQxVXNSMEZGTDBNc1QwRkVRV3hITEV0QlFVdFpMR2xDUVVGclFpeEZRVU5vUWxvc1MwRkJTMDhzWlVGQlpXbEdMRVZCUVU5VkxFVkJRVkVzU1VGSE5VTjJSeXhGUVVGamIwSXNWVUZCVldwQ0xFMUJRVkVzVjBGRk9VSXNUMEZFUVVVc1MwRkJTMkVzYlVKQlFXOUNMRVZCUTJ4Q1lpeExRVUZMVVN4cFFrRkhaR0lzUlVGQlkyOUNMRlZCUVZWcFF5eFZRVUZaTEZOQlFWTXZReXhIUVVNelF5eFBRVUZaTEUxQlFWSkJMRVZCUTBzc1IwRkZRU3hWUVVGWlFTeEZRVUZQTEV0QlNUbENUaXhGUVVGamIwSXNWVUZCVlc5R0xFbEJRVTBzVjBGRE5VSXNUMEZCVDI1SExFdEJRVXRyUkN4UlFVRlJTU3hOUVVGTmRFUXNTMEZCVFhWRUxGbEJSMnhETlVRc1JVRkJZMjlDTEZWQlFWVnhSaXhKUVVGTkxGTkJRVk51Unl4RlFVRk5iVUlzUlVGQldXMUNMRWRCUTNaRUxFOUJRVTkyUXl4TFFVRkxhVUlzUzBGQlMyaENMRVZCUVUxdFFpeEZRVUZaYlVJc1NVRkhja00xUXl4RlFVRmpiMElzVlVGQlZYTkdMRWxCUVUwc1UwRkJVM3BGTEVkQlEzSkRMRTlCUVU4MVFpeExRVUZMZFVNc1MwRkJTMWdzU1VGSGJrSnFReXhGUVVGamIwSXNWVUZCVlhWR0xFbEJRVTBzVTBGQlV6RkZMRWRCUTNKRExFOUJRVTgxUWl4TFFVRkxNa0lzVFVGQlRVTXNTVUZIY0VKcVF5eEZRVUZqYjBJc1ZVRkJWWGRHTEVsQlFVMHNVMEZCVXpORkxFZEJRM0pETEU5QlFVODFRaXhMUVVGTE9FSXNVVUZCVVVZc1NVRkhkRUpxUXl4RlFVRmpiMElzVlVGQlZYbEdMRWxCUVUwc1UwRkJVemxFTEVWQlFWRmtMRWRCUXpkRExFOUJRVTgxUWl4TFFVRkxlVU1zV1VGQldVTXNSVUZCVVdRc1NVRkhiRU5xUXl4RlFVRmpiMElzVlVGQlZUQkdMRWxCUVUwc1UwRkJVM1pETEVWQlFWTkRMRVZCUVZWRExFZEJRM2hFTEU5QlFVOXdSU3hMUVVGTGFVVXNXVUZCV1VNc1JVRkJVME1zUlVGQlZVTXNTVUZITjBONlJTeEZRVUZqYjBJc1ZVRkJWVEpHTEVsQlFVMHNVMEZCVXpWR0xFVkJRVTEzUkN4RlFVRlBReXhIUVVOc1JDeFBRVUZQZGtVc1MwRkJTM0ZGTEZGQlFWRjJSQ3hGUVVGTmQwUXNSVUZCVDBNc1NVRkhia00xUlN4RlFVRmpiMElzVlVGQlZUUkdMRVZCUVVrc1UwRkJVekZITEVWQlFVMXRRaXhGUVVGWmJVSXNSMEZEY2tRc1QwRkJUM1pETEV0QlFVdHJSQ3hSUVVGUmFrUXNSVUZCVFcxQ0xFVkJRVmx0UWl4SlFVZDRRelZETEVWQlFXTnZRaXhWUVVGVk5rWXNSVUZCU1N4VFFVRlRNMGNzUlVGQlRXMUNMRVZCUVZsdFFpeEhRVU55UkN4UFFVRlBka01zUzBGQlMybENMRXRCUVV0b1FpeEZRVUZOYlVJc1JVRkJXVzFDTEVsQlIzSkROVU1zUlVGQlkyOUNMRlZCUVZVNFJpeEZRVUZKTEZOQlFWTnFSaXhIUVVOdVF5eFBRVUZQTlVJc1MwRkJTM1ZETEV0QlFVdFlMRWxCUjI1Q2FrTXNSVUZCWTI5Q0xGVkJRVlVyUml4RlFVRkpMRk5CUVZOc1JpeEhRVU51UXl4UFFVRlBOVUlzUzBGQlN6SkNMRTFCUVUxRExFbEJSM0JDYWtNc1JVRkJZMjlDTEZWQlFWVm5SeXhGUVVGSkxGTkJRVk51Uml4SFFVTnVReXhQUVVGUE5VSXNTMEZCU3poQ0xGRkJRVkZHTEVsQlIzUkNha01zUlVGQlkyOUNMRlZCUVZWcFJ5eEZRVUZKTEZOQlFWTndSaXhIUVVOdVF5eFBRVUZQTlVJc1MwRkJTM0ZETEVsQlFVbFVMRWxCUjJ4Q2FrTXNSVUZCWTI5Q0xGVkJRVlZQTEVWQlFVa3NVMEZCVTI5Q0xFVkJRVkZrTEVkQlF6TkRMRTlCUVU4MVFpeExRVUZMZVVNc1dVRkJXVU1zUlVGQlVXUXNTVUZIYkVOcVF5eEZRVUZqYjBJc1ZVRkJWVWNzU1VGQlRTeFhRVU0xUWl4UFFVRkpiRUlzUzBGQlMxTXNZVUZCWlZRc1MwRkJTMU1zV1VGQldWQXNUMEZCVTI1RExFVkJRVk54Uml4UlFVTnNSSEJFTEV0QlFVdDVSU3hSUVVGUmJrSXNUVUZCVFhSRUxFdEJRVTExUkN4WFFVVjZRblpFTEV0QlFVc3lSQ3hWUVVGVlRDeE5RVUZOZEVRc1MwRkJUWFZFTEZsQlNYUkROVVFzUlVGQlkyOUNMRlZCUVZWclJ5eEZRVUZKTEZkQlF6RkNMRTlCUVVscVNDeExRVUZMVXl4aFFVRmxWQ3hMUVVGTFV5eFpRVUZaVUN4UFFVRlRia01zUlVGQlUzRkdMRkZCUTJ4RWNFUXNTMEZCUzNsRkxGRkJRVkZ1UWl4TlFVRk5kRVFzUzBGQlRYVkVMRmRCUlhwQ2RrUXNTMEZCU3pKRUxGVkJRVlZNTEUxQlFVMTBSQ3hMUVVGTmRVUXNXVUZKZEVNMVJDeEZRVUZqYjBJc1ZVRkJWVzFITEVsQlFVMHNVMEZCVTJwSUxFVkJRVTB5UWl4SFFVTXpReXhQUVVGUE5VSXNTMEZCUzJkR0xFOUJRVTh2UlN4RlFVRk5Na0lzU1VGSE0wSnFReXhGUVVGamIwSXNWVUZCVlc5SExFdEJRVThzVTBGQlUyeElMRVZCUVUweVFpeEhRVU0xUXl4UFFVRlBOVUlzUzBGQlMydEdMRkZCUVZGcVJpeEZRVUZOTWtJc1NVRkhOVUpxUXl4RlFVRmpiMElzVlVGQlZYRkhMRWxCUVUwc1UwRkJVMjVJTEVWQlFVMHlRaXhIUVVNelF5eFBRVUZQTlVJc1MwRkJTMjFHTEZOQlFWTnNSaXhGUVVGTk1rSXNTVUZIZEVKcVF5eEZRV2hsZDBJc1MwRnZaV2hEYzBNc1MwRkJTMnBESWl3aVptbHNaU0k2SWk5b2IyMWxMM3BwYm04dmNISnZhbVZqZEhNdmMyVmhkRzFoY0hZeUwyMWhjM1JsY2k5elpXRjBiV0Z3ZGpJdlkyeHBaVzUwTDI1dlpHVmZiVzlrZFd4bGN5OTRiV3hpZFdsc1pHVnlMMnhwWWk5WVRVeEViMk4xYldWdWRFTkNMbXB6SW4wPSIsIihmdW5jdGlvbigpe3ZhciB0LG8scj17fS5oYXNPd25Qcm9wZXJ0eTtvPXJlcXVpcmUoXCIuL1hNTE5vZGVcIiksdD1yZXF1aXJlKFwiLi9Ob2RlVHlwZVwiKSxtb2R1bGUuZXhwb3J0cz1mdW5jdGlvbihlKXtmdW5jdGlvbiBuKG8pe24uX19zdXBlcl9fLmNvbnN0cnVjdG9yLmNhbGwodGhpcyxvKSx0aGlzLnR5cGU9dC5EdW1teX1yZXR1cm4gZnVuY3Rpb24odCxvKXtmb3IodmFyIGUgaW4gbylyLmNhbGwobyxlKSYmKHRbZV09b1tlXSk7ZnVuY3Rpb24gbigpe3RoaXMuY29uc3RydWN0b3I9dH1uLnByb3RvdHlwZT1vLnByb3RvdHlwZSx0LnByb3RvdHlwZT1uZXcgbix0Ll9fc3VwZXJfXz1vLnByb3RvdHlwZX0obixvKSxuLnByb3RvdHlwZS5jbG9uZT1mdW5jdGlvbigpe3JldHVybiBPYmplY3QuY3JlYXRlKHRoaXMpfSxuLnByb3RvdHlwZS50b1N0cmluZz1mdW5jdGlvbih0KXtyZXR1cm5cIlwifSxufSgpfSkuY2FsbCh0aGlzKTtcblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYklsaE5URVIxYlcxNUxtcHpJbDBzSW01aGJXVnpJanBiSWs1dlpHVlVlWEJsSWl3aVdFMU1UbTlrWlNJc0ltaGhjMUJ5YjNBaUxDSm9ZWE5QZDI1UWNtOXdaWEowZVNJc0luSmxjWFZwY21VaUxDSnRiMlIxYkdVaUxDSmxlSEJ2Y25Seklpd2ljM1Z3WlhKRGJHRnpjeUlzSWxoTlRFUjFiVzE1SWl3aWNHRnlaVzUwSWl3aVgxOXpkWEJsY2w5Zklpd2lZMjl1YzNSeWRXTjBiM0lpTENKallXeHNJaXdpZEdocGN5SXNJblI1Y0dVaUxDSkVkVzF0ZVNJc0ltTm9hV3hrSWl3aWEyVjVJaXdpWTNSdmNpSXNJbkJ5YjNSdmRIbHdaU0lzSW1WNGRHVnVaQ0lzSW1Oc2IyNWxJaXdpVDJKcVpXTjBJaXdpWTNKbFlYUmxJaXdpZEc5VGRISnBibWNpTENKdmNIUnBiMjV6SWwwc0ltMWhjSEJwYm1keklqb2lRMEZEUVN4WFFVTkZMRWxCUVVsQkxFVkJRVzlDUXl4RlFVVjBRa01zUlVGQlZTeEhRVUZIUXl4bFFVVm1SaXhGUVVGVlJ5eFJRVUZSTEdGQlJXeENTaXhGUVVGWFNTeFJRVUZSTEdOQlJXNUNReXhQUVVGUFF5eFJRVUZ4UWl4VFFVRlZReXhIUVVkd1F5eFRRVUZUUXl4RlFVRlRReXhIUVVOb1FrUXNSVUZCVTBVc1ZVRkJWVU1zV1VGQldVTXNTMEZCUzBNc1MwRkJUVW9zUjBGRE1VTkpMRXRCUVV0RExFdEJRVTlrTEVWQlFWTmxMRTFCVjNaQ0xFOUJka0pUTEZOQlFWTkRMRVZCUVU5UUxFZEJRVlVzU1VGQlN5eEpRVUZKVVN4TFFVRlBVaXhGUVVGalVDeEZRVUZSVlN4TFFVRkxTQ3hGUVVGUlVTeExRVUZOUkN4RlFVRk5ReXhIUVVGUFVpeEZRVUZQVVN4SlFVRlJMRk5CUVZORExFbEJRVk5NTEV0QlFVdEdMRmxCUVdOTExFVkJRVk5GTEVWQlFVdERMRlZCUVZsV0xFVkJRVTlWTEZWQlFWZElMRVZCUVUxSExGVkJRVmtzU1VGQlNVUXNSVUZCVVVZc1JVRkJUVTRzVlVGQldVUXNSVUZCVDFVc1ZVRlJhRkZETEVOQlFVOWFMRVZCYVVKT1VDeEhRVlpFVHl4RlFVRlRWeXhWUVVGVlJTeE5RVUZSTEZkQlEzcENMRTlCUVU5RExFOUJRVTlETEU5QlFVOVdMRTlCUjNaQ1RDeEZRVUZUVnl4VlFVRlZTeXhUUVVGWExGTkJRVk5ETEVkQlEzSkRMRTFCUVU4c1NVRkhSbXBDTEVWQmFFSnRRaXhMUVc5Q00wSkpMRXRCUVV0RElpd2labWxzWlNJNklpOW9iMjFsTDNwcGJtOHZjSEp2YW1WamRITXZjMlZoZEcxaGNIWXlMMjFoYzNSbGNpOXpaV0YwYldGd2RqSXZZMnhwWlc1MEwyNXZaR1ZmYlc5a2RXeGxjeTk0Yld4aWRXbHNaR1Z5TDJ4cFlpOVlUVXhFZFcxdGVTNXFjeUo5IiwiKGZ1bmN0aW9uKCl7dmFyIHQsZSxyLG8saSxuLHMsaCx1PXt9Lmhhc093blByb3BlcnR5O2g9cmVxdWlyZShcIi4vVXRpbGl0eVwiKSxzPWguaXNPYmplY3Qsbj1oLmlzRnVuY3Rpb24saT1oLmdldFZhbHVlLG89cmVxdWlyZShcIi4vWE1MTm9kZVwiKSx0PXJlcXVpcmUoXCIuL05vZGVUeXBlXCIpLGU9cmVxdWlyZShcIi4vWE1MQXR0cmlidXRlXCIpLHI9cmVxdWlyZShcIi4vWE1MTmFtZWROb2RlTWFwXCIpLG1vZHVsZS5leHBvcnRzPWZ1bmN0aW9uKGgpe2Z1bmN0aW9uIHAoZSxyLG8pe3ZhciBpLG4scyxoO2lmKHAuX19zdXBlcl9fLmNvbnN0cnVjdG9yLmNhbGwodGhpcyxlKSxudWxsPT1yKXRocm93IG5ldyBFcnJvcihcIk1pc3NpbmcgZWxlbWVudCBuYW1lLiBcIit0aGlzLmRlYnVnSW5mbygpKTtpZih0aGlzLm5hbWU9dGhpcy5zdHJpbmdpZnkubmFtZShyKSx0aGlzLnR5cGU9dC5FbGVtZW50LHRoaXMuYXR0cmlicz17fSx0aGlzLnNjaGVtYVR5cGVJbmZvPW51bGwsbnVsbCE9byYmdGhpcy5hdHRyaWJ1dGUobyksZS50eXBlPT09dC5Eb2N1bWVudCYmKHRoaXMuaXNSb290PSEwLHRoaXMuZG9jdW1lbnRPYmplY3Q9ZSxlLnJvb3RPYmplY3Q9dGhpcyxlLmNoaWxkcmVuKSlmb3Iobj0wLHM9KGg9ZS5jaGlsZHJlbikubGVuZ3RoO248cztuKyspaWYoKGk9aFtuXSkudHlwZT09PXQuRG9jVHlwZSl7aS5uYW1lPXRoaXMubmFtZTticmVha319cmV0dXJuIGZ1bmN0aW9uKHQsZSl7Zm9yKHZhciByIGluIGUpdS5jYWxsKGUscikmJih0W3JdPWVbcl0pO2Z1bmN0aW9uIG8oKXt0aGlzLmNvbnN0cnVjdG9yPXR9by5wcm90b3R5cGU9ZS5wcm90b3R5cGUsdC5wcm90b3R5cGU9bmV3IG8sdC5fX3N1cGVyX189ZS5wcm90b3R5cGV9KHAsbyksT2JqZWN0LmRlZmluZVByb3BlcnR5KHAucHJvdG90eXBlLFwidGFnTmFtZVwiLHtnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5uYW1lfX0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwLnByb3RvdHlwZSxcIm5hbWVzcGFjZVVSSVwiLHtnZXQ6ZnVuY3Rpb24oKXtyZXR1cm5cIlwifX0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwLnByb3RvdHlwZSxcInByZWZpeFwiLHtnZXQ6ZnVuY3Rpb24oKXtyZXR1cm5cIlwifX0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwLnByb3RvdHlwZSxcImxvY2FsTmFtZVwiLHtnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5uYW1lfX0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwLnByb3RvdHlwZSxcImlkXCIse2dldDpmdW5jdGlvbigpe3Rocm93IG5ldyBFcnJvcihcIlRoaXMgRE9NIG1ldGhvZCBpcyBub3QgaW1wbGVtZW50ZWQuXCIrdGhpcy5kZWJ1Z0luZm8oKSl9fSksT2JqZWN0LmRlZmluZVByb3BlcnR5KHAucHJvdG90eXBlLFwiY2xhc3NOYW1lXCIse2dldDpmdW5jdGlvbigpe3Rocm93IG5ldyBFcnJvcihcIlRoaXMgRE9NIG1ldGhvZCBpcyBub3QgaW1wbGVtZW50ZWQuXCIrdGhpcy5kZWJ1Z0luZm8oKSl9fSksT2JqZWN0LmRlZmluZVByb3BlcnR5KHAucHJvdG90eXBlLFwiY2xhc3NMaXN0XCIse2dldDpmdW5jdGlvbigpe3Rocm93IG5ldyBFcnJvcihcIlRoaXMgRE9NIG1ldGhvZCBpcyBub3QgaW1wbGVtZW50ZWQuXCIrdGhpcy5kZWJ1Z0luZm8oKSl9fSksT2JqZWN0LmRlZmluZVByb3BlcnR5KHAucHJvdG90eXBlLFwiYXR0cmlidXRlc1wiLHtnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5hdHRyaWJ1dGVNYXAmJnRoaXMuYXR0cmlidXRlTWFwLm5vZGVzfHwodGhpcy5hdHRyaWJ1dGVNYXA9bmV3IHIodGhpcy5hdHRyaWJzKSksdGhpcy5hdHRyaWJ1dGVNYXB9fSkscC5wcm90b3R5cGUuY2xvbmU9ZnVuY3Rpb24oKXt2YXIgdCxlLHIsbztmb3IoZSBpbihyPU9iamVjdC5jcmVhdGUodGhpcykpLmlzUm9vdCYmKHIuZG9jdW1lbnRPYmplY3Q9bnVsbCksci5hdHRyaWJzPXt9LG89dGhpcy5hdHRyaWJzKXUuY2FsbChvLGUpJiYodD1vW2VdLHIuYXR0cmlic1tlXT10LmNsb25lKCkpO3JldHVybiByLmNoaWxkcmVuPVtdLHRoaXMuY2hpbGRyZW4uZm9yRWFjaChmdW5jdGlvbih0KXt2YXIgZTtyZXR1cm4oZT10LmNsb25lKCkpLnBhcmVudD1yLHIuY2hpbGRyZW4ucHVzaChlKX0pLHJ9LHAucHJvdG90eXBlLmF0dHJpYnV0ZT1mdW5jdGlvbih0LHIpe3ZhciBvLGg7aWYobnVsbCE9dCYmKHQ9aSh0KSkscyh0KSlmb3IobyBpbiB0KXUuY2FsbCh0LG8pJiYoaD10W29dLHRoaXMuYXR0cmlidXRlKG8saCkpO2Vsc2UgbihyKSYmKHI9ci5hcHBseSgpKSx0aGlzLm9wdGlvbnMua2VlcE51bGxBdHRyaWJ1dGVzJiZudWxsPT1yP3RoaXMuYXR0cmlic1t0XT1uZXcgZSh0aGlzLHQsXCJcIik6bnVsbCE9ciYmKHRoaXMuYXR0cmlic1t0XT1uZXcgZSh0aGlzLHQscikpO3JldHVybiB0aGlzfSxwLnByb3RvdHlwZS5yZW1vdmVBdHRyaWJ1dGU9ZnVuY3Rpb24odCl7dmFyIGUscixvO2lmKG51bGw9PXQpdGhyb3cgbmV3IEVycm9yKFwiTWlzc2luZyBhdHRyaWJ1dGUgbmFtZS4gXCIrdGhpcy5kZWJ1Z0luZm8oKSk7aWYodD1pKHQpLEFycmF5LmlzQXJyYXkodCkpZm9yKHI9MCxvPXQubGVuZ3RoO3I8bztyKyspZT10W3JdLGRlbGV0ZSB0aGlzLmF0dHJpYnNbZV07ZWxzZSBkZWxldGUgdGhpcy5hdHRyaWJzW3RdO3JldHVybiB0aGlzfSxwLnByb3RvdHlwZS50b1N0cmluZz1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5vcHRpb25zLndyaXRlci5lbGVtZW50KHRoaXMsdGhpcy5vcHRpb25zLndyaXRlci5maWx0ZXJPcHRpb25zKHQpKX0scC5wcm90b3R5cGUuYXR0PWZ1bmN0aW9uKHQsZSl7cmV0dXJuIHRoaXMuYXR0cmlidXRlKHQsZSl9LHAucHJvdG90eXBlLmE9ZnVuY3Rpb24odCxlKXtyZXR1cm4gdGhpcy5hdHRyaWJ1dGUodCxlKX0scC5wcm90b3R5cGUuZ2V0QXR0cmlidXRlPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLmF0dHJpYnMuaGFzT3duUHJvcGVydHkodCk/dGhpcy5hdHRyaWJzW3RdLnZhbHVlOm51bGx9LHAucHJvdG90eXBlLnNldEF0dHJpYnV0ZT1mdW5jdGlvbih0LGUpe3Rocm93IG5ldyBFcnJvcihcIlRoaXMgRE9NIG1ldGhvZCBpcyBub3QgaW1wbGVtZW50ZWQuXCIrdGhpcy5kZWJ1Z0luZm8oKSl9LHAucHJvdG90eXBlLmdldEF0dHJpYnV0ZU5vZGU9ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuYXR0cmlicy5oYXNPd25Qcm9wZXJ0eSh0KT90aGlzLmF0dHJpYnNbdF06bnVsbH0scC5wcm90b3R5cGUuc2V0QXR0cmlidXRlTm9kZT1mdW5jdGlvbih0KXt0aHJvdyBuZXcgRXJyb3IoXCJUaGlzIERPTSBtZXRob2QgaXMgbm90IGltcGxlbWVudGVkLlwiK3RoaXMuZGVidWdJbmZvKCkpfSxwLnByb3RvdHlwZS5yZW1vdmVBdHRyaWJ1dGVOb2RlPWZ1bmN0aW9uKHQpe3Rocm93IG5ldyBFcnJvcihcIlRoaXMgRE9NIG1ldGhvZCBpcyBub3QgaW1wbGVtZW50ZWQuXCIrdGhpcy5kZWJ1Z0luZm8oKSl9LHAucHJvdG90eXBlLmdldEVsZW1lbnRzQnlUYWdOYW1lPWZ1bmN0aW9uKHQpe3Rocm93IG5ldyBFcnJvcihcIlRoaXMgRE9NIG1ldGhvZCBpcyBub3QgaW1wbGVtZW50ZWQuXCIrdGhpcy5kZWJ1Z0luZm8oKSl9LHAucHJvdG90eXBlLmdldEF0dHJpYnV0ZU5TPWZ1bmN0aW9uKHQsZSl7dGhyb3cgbmV3IEVycm9yKFwiVGhpcyBET00gbWV0aG9kIGlzIG5vdCBpbXBsZW1lbnRlZC5cIit0aGlzLmRlYnVnSW5mbygpKX0scC5wcm90b3R5cGUuc2V0QXR0cmlidXRlTlM9ZnVuY3Rpb24odCxlLHIpe3Rocm93IG5ldyBFcnJvcihcIlRoaXMgRE9NIG1ldGhvZCBpcyBub3QgaW1wbGVtZW50ZWQuXCIrdGhpcy5kZWJ1Z0luZm8oKSl9LHAucHJvdG90eXBlLnJlbW92ZUF0dHJpYnV0ZU5TPWZ1bmN0aW9uKHQsZSl7dGhyb3cgbmV3IEVycm9yKFwiVGhpcyBET00gbWV0aG9kIGlzIG5vdCBpbXBsZW1lbnRlZC5cIit0aGlzLmRlYnVnSW5mbygpKX0scC5wcm90b3R5cGUuZ2V0QXR0cmlidXRlTm9kZU5TPWZ1bmN0aW9uKHQsZSl7dGhyb3cgbmV3IEVycm9yKFwiVGhpcyBET00gbWV0aG9kIGlzIG5vdCBpbXBsZW1lbnRlZC5cIit0aGlzLmRlYnVnSW5mbygpKX0scC5wcm90b3R5cGUuc2V0QXR0cmlidXRlTm9kZU5TPWZ1bmN0aW9uKHQpe3Rocm93IG5ldyBFcnJvcihcIlRoaXMgRE9NIG1ldGhvZCBpcyBub3QgaW1wbGVtZW50ZWQuXCIrdGhpcy5kZWJ1Z0luZm8oKSl9LHAucHJvdG90eXBlLmdldEVsZW1lbnRzQnlUYWdOYW1lTlM9ZnVuY3Rpb24odCxlKXt0aHJvdyBuZXcgRXJyb3IoXCJUaGlzIERPTSBtZXRob2QgaXMgbm90IGltcGxlbWVudGVkLlwiK3RoaXMuZGVidWdJbmZvKCkpfSxwLnByb3RvdHlwZS5oYXNBdHRyaWJ1dGU9ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuYXR0cmlicy5oYXNPd25Qcm9wZXJ0eSh0KX0scC5wcm90b3R5cGUuaGFzQXR0cmlidXRlTlM9ZnVuY3Rpb24odCxlKXt0aHJvdyBuZXcgRXJyb3IoXCJUaGlzIERPTSBtZXRob2QgaXMgbm90IGltcGxlbWVudGVkLlwiK3RoaXMuZGVidWdJbmZvKCkpfSxwLnByb3RvdHlwZS5zZXRJZEF0dHJpYnV0ZT1mdW5jdGlvbih0LGUpe3JldHVybiB0aGlzLmF0dHJpYnMuaGFzT3duUHJvcGVydHkodCk/dGhpcy5hdHRyaWJzW3RdLmlzSWQ6ZX0scC5wcm90b3R5cGUuc2V0SWRBdHRyaWJ1dGVOUz1mdW5jdGlvbih0LGUscil7dGhyb3cgbmV3IEVycm9yKFwiVGhpcyBET00gbWV0aG9kIGlzIG5vdCBpbXBsZW1lbnRlZC5cIit0aGlzLmRlYnVnSW5mbygpKX0scC5wcm90b3R5cGUuc2V0SWRBdHRyaWJ1dGVOb2RlPWZ1bmN0aW9uKHQsZSl7dGhyb3cgbmV3IEVycm9yKFwiVGhpcyBET00gbWV0aG9kIGlzIG5vdCBpbXBsZW1lbnRlZC5cIit0aGlzLmRlYnVnSW5mbygpKX0scC5wcm90b3R5cGUuZ2V0RWxlbWVudHNCeVRhZ05hbWU9ZnVuY3Rpb24odCl7dGhyb3cgbmV3IEVycm9yKFwiVGhpcyBET00gbWV0aG9kIGlzIG5vdCBpbXBsZW1lbnRlZC5cIit0aGlzLmRlYnVnSW5mbygpKX0scC5wcm90b3R5cGUuZ2V0RWxlbWVudHNCeVRhZ05hbWVOUz1mdW5jdGlvbih0LGUpe3Rocm93IG5ldyBFcnJvcihcIlRoaXMgRE9NIG1ldGhvZCBpcyBub3QgaW1wbGVtZW50ZWQuXCIrdGhpcy5kZWJ1Z0luZm8oKSl9LHAucHJvdG90eXBlLmdldEVsZW1lbnRzQnlDbGFzc05hbWU9ZnVuY3Rpb24odCl7dGhyb3cgbmV3IEVycm9yKFwiVGhpcyBET00gbWV0aG9kIGlzIG5vdCBpbXBsZW1lbnRlZC5cIit0aGlzLmRlYnVnSW5mbygpKX0scC5wcm90b3R5cGUuaXNFcXVhbE5vZGU9ZnVuY3Rpb24odCl7dmFyIGUscixvO2lmKCFwLl9fc3VwZXJfXy5pc0VxdWFsTm9kZS5hcHBseSh0aGlzLGFyZ3VtZW50cykuaXNFcXVhbE5vZGUodCkpcmV0dXJuITE7aWYodC5uYW1lc3BhY2VVUkkhPT10aGlzLm5hbWVzcGFjZVVSSSlyZXR1cm4hMTtpZih0LnByZWZpeCE9PXRoaXMucHJlZml4KXJldHVybiExO2lmKHQubG9jYWxOYW1lIT09dGhpcy5sb2NhbE5hbWUpcmV0dXJuITE7aWYodC5hdHRyaWJzLmxlbmd0aCE9PXRoaXMuYXR0cmlicy5sZW5ndGgpcmV0dXJuITE7Zm9yKGU9cj0wLG89dGhpcy5hdHRyaWJzLmxlbmd0aC0xOzA8PW8/cjw9bzpyPj1vO2U9MDw9bz8rK3I6LS1yKWlmKCF0aGlzLmF0dHJpYnNbZV0uaXNFcXVhbE5vZGUodC5hdHRyaWJzW2VdKSlyZXR1cm4hMTtyZXR1cm4hMH0scH0oKX0pLmNhbGwodGhpcyk7XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJbGhOVEVWc1pXMWxiblF1YW5NaVhTd2libUZ0WlhNaU9sc2lUbTlrWlZSNWNHVWlMQ0pZVFV4QmRIUnlhV0oxZEdVaUxDSllUVXhPWVcxbFpFNXZaR1ZOWVhBaUxDSllUVXhPYjJSbElpd2laMlYwVm1Gc2RXVWlMQ0pwYzBaMWJtTjBhVzl1SWl3aWFYTlBZbXBsWTNRaUxDSnlaV1lpTENKb1lYTlFjbTl3SWl3aWFHRnpUM2R1VUhKdmNHVnlkSGtpTENKeVpYRjFhWEpsSWl3aWJXOWtkV3hsSWl3aVpYaHdiM0owY3lJc0luTjFjR1Z5UTJ4aGMzTWlMQ0pZVFV4RmJHVnRaVzUwSWl3aWNHRnlaVzUwSWl3aWJtRnRaU0lzSW1GMGRISnBZblYwWlhNaUxDSmphR2xzWkNJc0ltb2lMQ0pzWlc0aUxDSnlaV1l4SWl3aVgxOXpkWEJsY2w5Zklpd2lZMjl1YzNSeWRXTjBiM0lpTENKallXeHNJaXdpZEdocGN5SXNJa1Z5Y205eUlpd2laR1ZpZFdkSmJtWnZJaXdpYzNSeWFXNW5hV1o1SWl3aWRIbHdaU0lzSWtWc1pXMWxiblFpTENKaGRIUnlhV0p6SWl3aWMyTm9aVzFoVkhsd1pVbHVabThpTENKaGRIUnlhV0oxZEdVaUxDSkViMk4xYldWdWRDSXNJbWx6VW05dmRDSXNJbVJ2WTNWdFpXNTBUMkpxWldOMElpd2ljbTl2ZEU5aWFtVmpkQ0lzSW1Ob2FXeGtjbVZ1SWl3aWJHVnVaM1JvSWl3aVJHOWpWSGx3WlNJc0ltdGxlU0lzSW1OMGIzSWlMQ0p3Y205MGIzUjVjR1VpTENKbGVIUmxibVFpTENKUFltcGxZM1FpTENKa1pXWnBibVZRY205d1pYSjBlU0lzSW1kbGRDSXNJbUYwZEhKcFluVjBaVTFoY0NJc0ltNXZaR1Z6SWl3aVkyeHZibVVpTENKaGRIUWlMQ0poZEhST1lXMWxJaXdpWTJ4dmJtVmtVMlZzWmlJc0ltTnlaV0YwWlNJc0ltWnZja1ZoWTJnaUxDSmpiRzl1WldSRGFHbHNaQ0lzSW5CMWMyZ2lMQ0oyWVd4MVpTSXNJbUYwZEZaaGJIVmxJaXdpWVhCd2JIa2lMQ0p2Y0hScGIyNXpJaXdpYTJWbGNFNTFiR3hCZEhSeWFXSjFkR1Z6SWl3aWNtVnRiM1psUVhSMGNtbGlkWFJsSWl3aVFYSnlZWGtpTENKcGMwRnljbUY1SWl3aWRHOVRkSEpwYm1jaUxDSjNjbWwwWlhJaUxDSmxiR1Z0Wlc1MElpd2labWxzZEdWeVQzQjBhVzl1Y3lJc0ltRWlMQ0puWlhSQmRIUnlhV0oxZEdVaUxDSnpaWFJCZEhSeWFXSjFkR1VpTENKblpYUkJkSFJ5YVdKMWRHVk9iMlJsSWl3aWMyVjBRWFIwY21saWRYUmxUbTlrWlNJc0ltNWxkMEYwZEhJaUxDSnlaVzF2ZG1WQmRIUnlhV0oxZEdWT2IyUmxJaXdpYjJ4a1FYUjBjaUlzSW1kbGRFVnNaVzFsYm5SelFubFVZV2RPWVcxbElpd2laMlYwUVhSMGNtbGlkWFJsVGxNaUxDSnVZVzFsYzNCaFkyVlZVa2tpTENKc2IyTmhiRTVoYldVaUxDSnpaWFJCZEhSeWFXSjFkR1ZPVXlJc0luRjFZV3hwWm1sbFpFNWhiV1VpTENKeVpXMXZkbVZCZEhSeWFXSjFkR1ZPVXlJc0ltZGxkRUYwZEhKcFluVjBaVTV2WkdWT1V5SXNJbk5sZEVGMGRISnBZblYwWlU1dlpHVk9VeUlzSW1kbGRFVnNaVzFsYm5SelFubFVZV2RPWVcxbFRsTWlMQ0pvWVhOQmRIUnlhV0oxZEdVaUxDSm9ZWE5CZEhSeWFXSjFkR1ZPVXlJc0luTmxkRWxrUVhSMGNtbGlkWFJsSWl3aWFYTkpaQ0lzSW5ObGRFbGtRWFIwY21saWRYUmxUbE1pTENKelpYUkpaRUYwZEhKcFluVjBaVTV2WkdVaUxDSnBaRUYwZEhJaUxDSjBZV2R1WVcxbElpd2laMlYwUld4bGJXVnVkSE5DZVVOc1lYTnpUbUZ0WlNJc0ltTnNZWE56VG1GdFpYTWlMQ0pwYzBWeGRXRnNUbTlrWlNJc0ltNXZaR1VpTENKcElpd2lZWEpuZFcxbGJuUnpJaXdpY0hKbFptbDRJbDBzSW0xaGNIQnBibWR6SWpvaVEwRkRRU3hYUVVORkxFbEJRVWxCTEVWQlFWVkRMRVZCUVRCQ1F5eEZRVUZwUWtNc1JVRkJVME1zUlVGQlZVTXNSVUZCV1VNc1JVRkJWVU1zUlVGRmFFZERMRVZCUVZVc1IwRkJSME1zWlVGRlprWXNSVUZCVFVjc1VVRkJVU3hoUVVGalNpeEZRVUZYUXl4RlFVRkpSQ3hUUVVGVlJDeEZRVUZoUlN4RlFVRkpSaXhYUVVGWlJDeEZRVUZYUnl4RlFVRkpTQ3hUUVVWcVIwUXNSVUZCVlU4c1VVRkJVU3hoUVVWc1FsWXNSVUZCVjFVc1VVRkJVU3hqUVVWdVFsUXNSVUZCWlZNc1VVRkJVU3hyUWtGRmRrSlNMRVZCUVd0Q1VTeFJRVUZSTEhGQ1FVVXhRa01zVDBGQlQwTXNVVUZCZFVJc1UwRkJWVU1zUjBGSGRFTXNVMEZCVTBNc1JVRkJWME1zUlVGQlVVTXNSVUZCVFVNc1IwRkRhRU1zU1VGQlNVTXNSVUZCVDBNc1JVRkJSME1zUlVGQlMwTXNSVUZGYmtJc1IwRkVRVkFzUlVGQlYxRXNWVUZCVlVNc1dVRkJXVU1zUzBGQlMwTXNTMEZCVFZZc1IwRkRhRU1zVFVGQlVrTXNSVUZEUml4TlFVRk5MRWxCUVVsVkxFMUJRVTBzZVVKQlFUSkNSQ3hMUVVGTFJTeGhRVk5zUkN4SFFWQkJSaXhMUVVGTFZDeExRVUZQVXl4TFFVRkxSeXhWUVVGVldpeExRVUZMUVN4SFFVTm9RMU1zUzBGQlMwa3NTMEZCVHpkQ0xFVkJRVk00UWl4UlFVTnlRa3dzUzBGQlMwMHNVVUZCVlN4SFFVTm1UaXhMUVVGTFR5eGxRVUZwUWl4TFFVTktMRTFCUVdSbUxFZEJRMFpSTEV0QlFVdFJMRlZCUVZWb1FpeEhRVVZpUml4RlFVRlBZeXhQUVVGVE4wSXNSVUZCVTJ0RExGZEJRek5DVkN4TFFVRkxWU3hSUVVGVExFVkJRMlJXTEV0QlFVdFhMR1ZCUVdsQ2NrSXNSVUZEZEVKQkxFVkJRVTl6UWl4WFFVRmhXaXhMUVVOb1FsWXNSVUZCVDNWQ0xGVkJSVlFzU1VGQlMyNUNMRVZCUVVrc1JVRkJSME1zUjBGRVdrTXNSVUZCVDA0c1JVRkJUM1ZDTEZWQlExTkRMRTlCUVZGd1FpeEZRVUZKUXl4RlFVRkxSQ3hKUVVWMFF5eEpRVVJCUkN4RlFVRlJSeXhGUVVGTFJpeEpRVU5JVlN4UFFVRlROMElzUlVGQlUzZERMRkZCUVZNc1EwRkRia04wUWl4RlFVRk5SaXhMUVVGUFV5eExRVUZMVkN4TFFVTnNRaXhQUVRKUVZpeFBRV3hUVXl4VFFVRlRSU3hGUVVGUFNDeEhRVUZWTEVsQlFVc3NTVUZCU1RCQ0xFdEJRVTh4UWl4RlFVRmpVQ3hGUVVGUlowSXNTMEZCUzFRc1JVRkJVVEJDTEV0QlFVMTJRaXhGUVVGTmRVSXNSMEZCVHpGQ0xFVkJRVTh3UWl4SlFVRlJMRk5CUVZORExFbEJRVk5xUWl4TFFVRkxSaXhaUVVGalRDeEZRVUZUZDBJc1JVRkJTME1zVlVGQldUVkNMRVZCUVU4MFFpeFZRVUZYZWtJc1JVRkJUWGxDTEZWQlFWa3NTVUZCU1VRc1JVRkJVWGhDTEVWQlFVMUpMRlZCUVZsUUxFVkJRVTgwUWl4VlFXTm9VVU1zUTBGQlR6bENMRVZCYzFKT1dDeEhRWFJRUkRCRExFOUJRVTlETEdWQlFXVm9ReXhGUVVGWE5rSXNWVUZCVnl4VlFVRlhMRU5CUTNKRVNTeEpRVUZMTEZkQlEwZ3NUMEZCVDNSQ0xFdEJRVXRVTEZGQlNXaENOa0lzVDBGQlQwTXNaVUZCWldoRExFVkJRVmMyUWl4VlFVRlhMR1ZCUVdkQ0xFTkJRekZFU1N4SlFVRkxMRmRCUTBnc1RVRkJUeXhOUVVsWVJpeFBRVUZQUXl4bFFVRmxhRU1zUlVGQlZ6WkNMRlZCUVZjc1UwRkJWU3hEUVVOd1JFa3NTVUZCU3l4WFFVTklMRTFCUVU4c1RVRkpXRVlzVDBGQlQwTXNaVUZCWldoRExFVkJRVmMyUWl4VlFVRlhMRmxCUVdFc1EwRkRka1JKTEVsQlFVc3NWMEZEU0N4UFFVRlBkRUlzUzBGQlMxUXNVVUZKYUVJMlFpeFBRVUZQUXl4bFFVRmxhRU1zUlVGQlZ6WkNMRlZCUVZjc1MwRkJUU3hEUVVOb1JFa3NTVUZCU3l4WFFVTklMRTFCUVUwc1NVRkJTWEpDTEUxQlFVMHNjME5CUVhkRFJDeExRVUZMUlN4blFrRkpha1ZyUWl4UFFVRlBReXhsUVVGbGFFTXNSVUZCVnpaQ0xGVkJRVmNzV1VGQllTeERRVU4yUkVrc1NVRkJTeXhYUVVOSUxFMUJRVTBzU1VGQlNYSkNMRTFCUVUwc2MwTkJRWGREUkN4TFFVRkxSU3huUWtGSmFrVnJRaXhQUVVGUFF5eGxRVUZsYUVNc1JVRkJWelpDTEZWQlFWY3NXVUZCWVN4RFFVTjJSRWtzU1VGQlN5eFhRVU5JTEUxQlFVMHNTVUZCU1hKQ0xFMUJRVTBzYzBOQlFYZERSQ3hMUVVGTFJTeG5Ra0ZKYWtWclFpeFBRVUZQUXl4bFFVRmxhRU1zUlVGQlZ6WkNMRlZCUVZjc1lVRkJZeXhEUVVONFJFa3NTVUZCU3l4WFFVbElMRTlCU0V0MFFpeExRVUZMZFVJc1kwRkJhVUoyUWl4TFFVRkxkVUlzWVVGQllVTXNVVUZETTBONFFpeExRVUZMZFVJc1lVRkJaU3hKUVVGSk9VTXNSVUZCWjBKMVFpeExRVUZMVFN4VlFVVjRRMDRzUzBGQlMzVkNMR2RDUVVsb1FteERMRVZCUVZjMlFpeFZRVUZWVHl4TlFVRlJMRmRCUXpOQ0xFbEJRVWxETEVWQlFVdERMRVZCUVZORExFVkJRVmxvUXl4RlFVODVRaXhKUVVGTEswSXNTMEZPVEVNc1JVRkJZVklzVDBGQlQxTXNUMEZCVHpkQ0xFOUJRMXBWTEZOQlEySnJRaXhGUVVGWGFrSXNaVUZCYVVJc1RVRkZPVUpwUWl4RlFVRlhkRUlzVVVGQlZTeEhRVU55UWxZc1JVRkJUMGtzUzBGQlMwMHNVVUZGVEhaQ0xFVkJRVkZuUWl4TFFVRkxTQ3hGUVVGTkswSXNTMEZEZUVKRUxFVkJRVTA1UWl4RlFVRkxLMElzUjBGRFdFTXNSVUZCVjNSQ0xGRkJRVkZ4UWl4SFFVRlhSQ3hGUVVGSlJDeFRRVk53UXl4UFFWQkJSeXhGUVVGWFppeFRRVUZYTEVkQlEzUkNZaXhMUVVGTFlTeFRRVUZUYVVJc1VVRkJVU3hUUVVGVGNrTXNSMEZETjBJc1NVRkJTWE5ETEVWQlIwb3NUMEZHUVVFc1JVRkJZM1JETEVWQlFVMW5ReXhUUVVOU2JrTXNUMEZCVTNORExFVkJRMlJCTEVWQlFWZG1MRk5CUVZOdFFpeExRVUZMUkN4TFFVVXpRa2dzUjBGSFZIWkRMRVZCUVZjMlFpeFZRVUZWVml4VlFVRlpMRk5CUVZOcVFpeEZRVUZOTUVNc1IwRkRPVU1zU1VGQlNVNHNSVUZCVTA4c1JVRkpZaXhIUVVoWkxFMUJRVkl6UXl4SlFVTkdRU3hGUVVGUFdpeEZRVUZUV1N4SlFVVmtWaXhGUVVGVFZTeEhRVU5ZTEVsQlFVdHZReXhMUVVGWGNFTXNSVUZEVkZJc1JVRkJVV2RDTEV0QlFVdFNMRVZCUVUxdlF5eExRVU40UWs4c1JVRkJWek5ETEVWQlFVdHZReXhIUVVOb1FqTkNMRXRCUVV0UkxGVkJRVlZ0UWl4RlFVRlRUeXhUUVVkMFFuUkVMRVZCUVZkeFJDeExRVU5pUVN4RlFVRlJRU3hGUVVGTlJTeFRRVVZhYmtNc1MwRkJTMjlETEZGQlFWRkRMRzlDUVVGblF5eE5RVUZVU2l4RlFVTjBRMnBETEV0QlFVdE5MRkZCUVZGbUxFZEJRVkVzU1VGQlNXWXNSVUZCWVhkQ0xFdEJRVTFVTEVWQlFVMHNTVUZEYUVNc1RVRkJWREJETEVsQlExUnFReXhMUVVGTFRTeFJRVUZSWml4SFFVRlJMRWxCUVVsbUxFVkJRV0YzUWl4TFFVRk5WQ3hGUVVGTk1FTXNTVUZIZEVRc1QwRkJUMnBETEUxQlIxUllMRVZCUVZjMlFpeFZRVUZWYjBJc1owSkJRV3RDTEZOQlFWTXZReXhIUVVNNVF5eEpRVUZKYjBNc1JVRkJVMnBETEVWQlFVZERMRVZCUTJoQ0xFZEJRVmtzVFVGQlVrb3NSVUZEUml4TlFVRk5MRWxCUVVsVkxFMUJRVTBzTWtKQlFUWkNSQ3hMUVVGTFJTeGhRVWR3UkN4SFFVUkJXQ3hGUVVGUFdpeEZRVUZUV1N4SFFVTmFaMFFzVFVGQlRVTXNVVUZCVVdwRUxFZEJRMmhDTEVsQlFVdEhMRVZCUVVrc1JVRkJSME1zUlVGQlRVb3NSVUZCUzNWQ0xFOUJRVkZ3UWl4RlFVRkpReXhGUVVGTFJDeEpRVU4wUTJsRExFVkJRVlZ3UXl4RlFVRkxSeXhWUVVOU1RTeExRVUZMVFN4UlFVRlJjVUlzWlVGSFpqTkNMRXRCUVV0TkxGRkJRVkZtTEVkQlJYUkNMRTlCUVU5VExFMUJSMVJZTEVWQlFWYzJRaXhWUVVGVmRVSXNVMEZCVnl4VFFVRlRUQ3hIUVVOMlF5eFBRVUZQY0VNc1MwRkJTMjlETEZGQlFWRk5MRTlCUVU5RExGRkJRVkV6UXl4TFFVRk5RU3hMUVVGTGIwTXNVVUZCVVUwc1QwRkJUMFVzWTBGQlkxSXNTMEZITjBVdlF5eEZRVUZYTmtJc1ZVRkJWVkVzU1VGQlRTeFRRVUZUYmtNc1JVRkJUVEJETEVkQlEzaERMRTlCUVU5cVF5eExRVUZMVVN4VlFVRlZha0lzUlVGQlRUQkRMRWxCUnpsQ05VTXNSVUZCVnpaQ0xGVkJRVlV5UWl4RlFVRkpMRk5CUVZOMFJDeEZRVUZOTUVNc1IwRkRkRU1zVDBGQlQycERMRXRCUVV0UkxGVkJRVlZxUWl4RlFVRk5NRU1zU1VGSE9VSTFReXhGUVVGWE5rSXNWVUZCVlRSQ0xHRkJRV1VzVTBGQlUzWkVMRWRCUXpORExFOUJRVWxUTEV0QlFVdE5MRkZCUVZGMFFpeGxRVUZsVHl4SFFVTjJRbE1zUzBGQlMwMHNVVUZCVVdZc1IwRkJUVEJETEUxQlJXNUNMRTFCU1ZnMVF5eEZRVUZYTmtJc1ZVRkJWVFpDTEdGQlFXVXNVMEZCVTNoRUxFVkJRVTB3UXl4SFFVTnFSQ3hOUVVGTkxFbEJRVWxvUXl4TlFVRk5MSE5EUVVGM1EwUXNTMEZCUzBVc1kwRkhMMFJpTEVWQlFWYzJRaXhWUVVGVk9FSXNhVUpCUVcxQ0xGTkJRVk42UkN4SFFVTXZReXhQUVVGSlV5eExRVUZMVFN4UlFVRlJkRUlzWlVGQlpVOHNSMEZEZGtKVExFdEJRVXROTEZGQlFWRm1MRWRCUldJc1RVRkpXRVlzUlVGQlZ6WkNMRlZCUVZVclFpeHBRa0ZCYlVJc1UwRkJVME1zUjBGREwwTXNUVUZCVFN4SlFVRkpha1FzVFVGQlRTeHpRMEZCZDBORUxFdEJRVXRGTEdOQlJ5OUVZaXhGUVVGWE5rSXNWVUZCVldsRExHOUNRVUZ6UWl4VFFVRlRReXhIUVVOc1JDeE5RVUZOTEVsQlFVbHVSQ3hOUVVGTkxITkRRVUYzUTBRc1MwRkJTMFVzWTBGSEwwUmlMRVZCUVZjMlFpeFZRVUZWYlVNc2NVSkJRWFZDTEZOQlFWTTVSQ3hIUVVOdVJDeE5RVUZOTEVsQlFVbFZMRTFCUVUwc2MwTkJRWGREUkN4TFFVRkxSU3hqUVVjdlJHSXNSVUZCVnpaQ0xGVkJRVlZ2UXl4bFFVRnBRaXhUUVVGVFF5eEZRVUZqUXl4SFFVTXpSQ3hOUVVGTkxFbEJRVWwyUkN4TlFVRk5MSE5EUVVGM1EwUXNTMEZCUzBVc1kwRkhMMFJpTEVWQlFWYzJRaXhWUVVGVmRVTXNaVUZCYVVJc1UwRkJVMFlzUlVGQlkwY3NSVUZCWlhwQ0xFZEJRekZGTEUxQlFVMHNTVUZCU1doRExFMUJRVTBzYzBOQlFYZERSQ3hMUVVGTFJTeGpRVWN2UkdJc1JVRkJWelpDTEZWQlFWVjVReXhyUWtGQmIwSXNVMEZCVTBvc1JVRkJZME1zUjBGRE9VUXNUVUZCVFN4SlFVRkpka1FzVFVGQlRTeHpRMEZCZDBORUxFdEJRVXRGTEdOQlJ5OUVZaXhGUVVGWE5rSXNWVUZCVlRCRExHMUNRVUZ4UWl4VFFVRlRUQ3hGUVVGalF5eEhRVU12UkN4TlFVRk5MRWxCUVVsMlJDeE5RVUZOTEhORFFVRjNRMFFzUzBGQlMwVXNZMEZITDBSaUxFVkJRVmMyUWl4VlFVRlZNa01zYlVKQlFYRkNMRk5CUVZOWUxFZEJRMnBFTEUxQlFVMHNTVUZCU1dwRUxFMUJRVTBzYzBOQlFYZERSQ3hMUVVGTFJTeGpRVWN2UkdJc1JVRkJWelpDTEZWQlFWVTBReXgxUWtGQmVVSXNVMEZCVTFBc1JVRkJZME1zUjBGRGJrVXNUVUZCVFN4SlFVRkpka1FzVFVGQlRTeHpRMEZCZDBORUxFdEJRVXRGTEdOQlJ5OUVZaXhGUVVGWE5rSXNWVUZCVlRaRExHRkJRV1VzVTBGQlUzaEZMRWRCUXpORExFOUJRVTlUTEV0QlFVdE5MRkZCUVZGMFFpeGxRVUZsVHl4SlFVZHlRMFlzUlVGQlZ6WkNMRlZCUVZVNFF5eGxRVUZwUWl4VFFVRlRWQ3hGUVVGalF5eEhRVU16UkN4TlFVRk5MRWxCUVVsMlJDeE5RVUZOTEhORFFVRjNRMFFzUzBGQlMwVXNZMEZITDBSaUxFVkJRVmMyUWl4VlFVRlZLME1zWlVGQmFVSXNVMEZCVXpGRkxFVkJRVTB5UlN4SFFVTnVSQ3hQUVVGSmJFVXNTMEZCUzAwc1VVRkJVWFJDTEdWQlFXVlBMRWRCUTNaQ1V5eExRVUZMVFN4UlFVRlJaaXhIUVVGTk1rVXNTMEZGYmtKQkxFZEJTVmczUlN4RlFVRlhOa0lzVlVGQlZXbEVMR2xDUVVGdFFpeFRRVUZUV2l4RlFVRmpReXhGUVVGWFZTeEhRVU40UlN4TlFVRk5MRWxCUVVscVJTeE5RVUZOTEhORFFVRjNRMFFzUzBGQlMwVXNZMEZITDBSaUxFVkJRVmMyUWl4VlFVRlZhMFFzYlVKQlFYRkNMRk5CUVZORExFVkJRVkZJTEVkQlEzcEVMRTFCUVUwc1NVRkJTV3BGTEUxQlFVMHNjME5CUVhkRFJDeExRVUZMUlN4alFVY3ZSR0lzUlVGQlZ6WkNMRlZCUVZWdFF5eHhRa0ZCZFVJc1UwRkJVMmxDTEVkQlEyNUVMRTFCUVUwc1NVRkJTWEpGTEUxQlFVMHNjME5CUVhkRFJDeExRVUZMUlN4alFVY3ZSR0lzUlVGQlZ6WkNMRlZCUVZVMFF5eDFRa0ZCZVVJc1UwRkJVMUFzUlVGQlkwTXNSMEZEYmtVc1RVRkJUU3hKUVVGSmRrUXNUVUZCVFN4elEwRkJkME5FTEV0QlFVdEZMR05CUnk5RVlpeEZRVUZYTmtJc1ZVRkJWWEZFTEhWQ1FVRjVRaXhUUVVGVFF5eEhRVU55UkN4TlFVRk5MRWxCUVVsMlJTeE5RVUZOTEhORFFVRjNRMFFzUzBGQlMwVXNZMEZITDBSaUxFVkJRVmMyUWl4VlFVRlZkVVFzV1VGQll5eFRRVUZUUXl4SFFVTXhReXhKUVVGSlF5eEZRVUZIYWtZc1JVRkJSMFVzUlVGRFZpeEpRVUZMVUN4RlFVRlhVU3hWUVVGVk5FVXNXVUZCV1hSRExFMUJRVTF1UXl4TFFVRk5ORVVzVjBGQlYwZ3NXVUZCV1VNc1IwRkRka1VzVDBGQlR5eEZRVVZVTEVkQlFVbEJMRVZCUVV0dVFpeGxRVUZwUW5aRUxFdEJRVXQxUkN4aFFVTTNRaXhQUVVGUExFVkJSVlFzUjBGQlNXMUNMRVZCUVV0SExGTkJRVmMzUlN4TFFVRkxOa1VzVDBGRGRrSXNUMEZCVHl4RlFVVlVMRWRCUVVsSUxFVkJRVXRzUWl4WlFVRmplRVFzUzBGQlMzZEVMRlZCUXpGQ0xFOUJRVThzUlVGRlZDeEhRVUZKYTBJc1JVRkJTM0JGTEZGQlFWRlJMRk5CUVZka0xFdEJRVXROTEZGQlFWRlJMRTlCUTNaRExFOUJRVThzUlVGRlZDeEpRVUZMTmtRc1JVRkJTV3BHTEVWQlFVa3NSVUZCUjBVc1JVRkJUMGtzUzBGQlMwMHNVVUZCVVZFc1QwRkJVeXhGUVVGSExFZEJRVXRzUWl4RlFVRlBSaXhIUVVGTFJTeEZRVUZQUml4SFFVRkxSU3hGUVVGTkswVXNSVUZCU1N4SFFVRkxMMFVzU1VGQlUwWXNTVUZCVFVFc1JVRkRla2NzU1VGQlMwMHNTMEZCUzAwc1VVRkJVWEZGTEVkQlFVZEdMRmxCUVZsRExFVkJRVXR3UlN4UlFVRlJjVVVzU1VGRE5VTXNUMEZCVHl4RlFVZFlMRTlCUVU4c1IwRkhSblJHTEVWQmNsSnhRaXhMUVhsU04wSlZMRXRCUVV0RElpd2labWxzWlNJNklpOW9iMjFsTDNwcGJtOHZjSEp2YW1WamRITXZjMlZoZEcxaGNIWXlMMjFoYzNSbGNpOXpaV0YwYldGd2RqSXZZMnhwWlc1MEwyNXZaR1ZmYlc5a2RXeGxjeTk0Yld4aWRXbHNaR1Z5TDJ4cFlpOVlUVXhGYkdWdFpXNTBMbXB6SW4wPSIsIihmdW5jdGlvbigpe21vZHVsZS5leHBvcnRzPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gZShlKXt0aGlzLm5vZGVzPWV9cmV0dXJuIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShlLnByb3RvdHlwZSxcImxlbmd0aFwiLHtnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gT2JqZWN0LmtleXModGhpcy5ub2RlcykubGVuZ3RofHwwfX0pLGUucHJvdG90eXBlLmNsb25lPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMubm9kZXM9bnVsbH0sZS5wcm90b3R5cGUuZ2V0TmFtZWRJdGVtPWZ1bmN0aW9uKGUpe3JldHVybiB0aGlzLm5vZGVzW2VdfSxlLnByb3RvdHlwZS5zZXROYW1lZEl0ZW09ZnVuY3Rpb24oZSl7dmFyIHQ7cmV0dXJuIHQ9dGhpcy5ub2Rlc1tlLm5vZGVOYW1lXSx0aGlzLm5vZGVzW2Uubm9kZU5hbWVdPWUsdHx8bnVsbH0sZS5wcm90b3R5cGUucmVtb3ZlTmFtZWRJdGVtPWZ1bmN0aW9uKGUpe3ZhciB0O3JldHVybiB0PXRoaXMubm9kZXNbZV0sZGVsZXRlIHRoaXMubm9kZXNbZV0sdHx8bnVsbH0sZS5wcm90b3R5cGUuaXRlbT1mdW5jdGlvbihlKXtyZXR1cm4gdGhpcy5ub2Rlc1tPYmplY3Qua2V5cyh0aGlzLm5vZGVzKVtlXV18fG51bGx9LGUucHJvdG90eXBlLmdldE5hbWVkSXRlbU5TPWZ1bmN0aW9uKGUsdCl7dGhyb3cgbmV3IEVycm9yKFwiVGhpcyBET00gbWV0aG9kIGlzIG5vdCBpbXBsZW1lbnRlZC5cIil9LGUucHJvdG90eXBlLnNldE5hbWVkSXRlbU5TPWZ1bmN0aW9uKGUpe3Rocm93IG5ldyBFcnJvcihcIlRoaXMgRE9NIG1ldGhvZCBpcyBub3QgaW1wbGVtZW50ZWQuXCIpfSxlLnByb3RvdHlwZS5yZW1vdmVOYW1lZEl0ZW1OUz1mdW5jdGlvbihlLHQpe3Rocm93IG5ldyBFcnJvcihcIlRoaXMgRE9NIG1ldGhvZCBpcyBub3QgaW1wbGVtZW50ZWQuXCIpfSxlfSgpfSkuY2FsbCh0aGlzKTtcblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYklsaE5URTVoYldWa1RtOWtaVTFoY0M1cWN5SmRMQ0p1WVcxbGN5STZXeUp0YjJSMWJHVWlMQ0psZUhCdmNuUnpJaXdpV0UxTVRtRnRaV1JPYjJSbFRXRndJaXdpYm05a1pYTWlMQ0owYUdseklpd2lUMkpxWldOMElpd2laR1ZtYVc1bFVISnZjR1Z5ZEhraUxDSndjbTkwYjNSNWNHVWlMQ0puWlhRaUxDSnJaWGx6SWl3aWJHVnVaM1JvSWl3aVkyeHZibVVpTENKblpYUk9ZVzFsWkVsMFpXMGlMQ0p1WVcxbElpd2ljMlYwVG1GdFpXUkpkR1Z0SWl3aWJtOWtaU0lzSW05c1pFNXZaR1VpTENKdWIyUmxUbUZ0WlNJc0luSmxiVzkyWlU1aGJXVmtTWFJsYlNJc0ltbDBaVzBpTENKcGJtUmxlQ0lzSW1kbGRFNWhiV1ZrU1hSbGJVNVRJaXdpYm1GdFpYTndZV05sVlZKSklpd2liRzlqWVd4T1lXMWxJaXdpUlhKeWIzSWlMQ0p6WlhST1lXMWxaRWwwWlcxT1V5SXNJbkpsYlc5MlpVNWhiV1ZrU1hSbGJVNVRJaXdpWTJGc2JDSmRMQ0p0WVhCd2FXNW5jeUk2SWtOQlEwRXNWMEZIUlVFc1QwRkJUME1zVVVGQk5FSXNWMEZEYWtNc1UwRkJVME1zUlVGQlowSkRMRWRCUTNaQ1F5eExRVUZMUkN4TlFVRlJRU3hGUVN0RFppeFBRVFZEUVVVc1QwRkJUME1zWlVGQlpVb3NSVUZCWjBKTExGVkJRVmNzVTBGQlZTeERRVU42UkVNc1NVRkJTeXhYUVVOSUxFOUJRVTlJTEU5QlFVOUpMRXRCUVV0TUxFdEJRVXRFTEU5QlFVOVBMRkZCUVZVc1MwRkpOME5TTEVWQlFXZENTeXhWUVVGVlNTeE5RVUZSTEZkQlEyaERMRTlCUVU5UUxFdEJRVXRFTEUxQlFWRXNUVUZIZEVKRUxFVkJRV2RDU3l4VlFVRlZTeXhoUVVGbExGTkJRVk5ETEVkQlEyaEVMRTlCUVU5VUxFdEJRVXRFTEUxQlFVMVZMRWxCUjNCQ1dDeEZRVUZuUWtzc1ZVRkJWVThzWVVGQlpTeFRRVUZUUXl4SFFVTm9SQ3hKUVVGSlF5eEZRVWRLTEU5QlJrRkJMRVZCUVZWYUxFdEJRVXRFTEUxQlFVMVpMRVZCUVV0RkxGVkJRekZDWWl4TFFVRkxSQ3hOUVVGTldTeEZRVUZMUlN4VlFVRlpSaXhGUVVOeVFrTXNSMEZCVnl4TlFVZHdRbVFzUlVGQlowSkxMRlZCUVZWWExHZENRVUZyUWl4VFFVRlRUQ3hIUVVOdVJDeEpRVUZKUnl4RlFVZEtMRTlCUmtGQkxFVkJRVlZhTEV0QlFVdEVMRTFCUVUxVkxGVkJRMlJVTEV0QlFVdEVMRTFCUVUxVkxFZEJRMWhITEVkQlFWY3NUVUZIY0VKa0xFVkJRV2RDU3l4VlFVRlZXU3hMUVVGUExGTkJRVk5ETEVkQlEzaERMRTlCUVU5b1FpeExRVUZMUkN4TlFVRk5SU3hQUVVGUFNTeExRVUZMVEN4TFFVRkxSQ3hQUVVGUGFVSXNTMEZCVnl4TlFVZDJSR3hDTEVWQlFXZENTeXhWUVVGVll5eGxRVUZwUWl4VFFVRlRReXhGUVVGalF5eEhRVU5vUlN4TlFVRk5MRWxCUVVsRExFMUJRVTBzZDBOQlIyeENkRUlzUlVGQlowSkxMRlZCUVZWclFpeGxRVUZwUWl4VFFVRlRWaXhIUVVOc1JDeE5RVUZOTEVsQlFVbFRMRTFCUVUwc2QwTkJSMnhDZEVJc1JVRkJaMEpMTEZWQlFWVnRRaXhyUWtGQmIwSXNVMEZCVTBvc1JVRkJZME1zUjBGRGJrVXNUVUZCVFN4SlFVRkpReXhOUVVGTkxIZERRVWRZZEVJc1JVRnFSREJDTEV0QmNVUnNRM2xDTEV0QlFVdDJRaUlzSW1acGJHVWlPaUl2YUc5dFpTOTZhVzV2TDNCeWIycGxZM1J6TDNObFlYUnRZWEIyTWk5dFlYTjBaWEl2YzJWaGRHMWhjSFl5TDJOc2FXVnVkQzl1YjJSbFgyMXZaSFZzWlhNdmVHMXNZblZwYkdSbGNpOXNhV0l2V0UxTVRtRnRaV1JPYjJSbFRXRndMbXB6SW4wPSIsIihmdW5jdGlvbigpe3ZhciB0LGUsbixyLGksbyxzLGgscCx1LGMsbCxkLGEsZix5LG0sZz17fS5oYXNPd25Qcm9wZXJ0eTttPXJlcXVpcmUoXCIuL1V0aWxpdHlcIikseT1tLmlzT2JqZWN0LGY9bS5pc0Z1bmN0aW9uLGE9bS5pc0VtcHR5LGQ9bS5nZXRWYWx1ZSxoPW51bGwsbj1udWxsLHI9bnVsbCxpPW51bGwsbz1udWxsLGM9bnVsbCxsPW51bGwsdT1udWxsLHM9bnVsbCxlPW51bGwscD1udWxsLHQ9bnVsbCxtb2R1bGUuZXhwb3J0cz1mdW5jdGlvbigpe2Z1bmN0aW9uIG0oZCl7dGhpcy5wYXJlbnQ9ZCx0aGlzLnBhcmVudCYmKHRoaXMub3B0aW9ucz10aGlzLnBhcmVudC5vcHRpb25zLHRoaXMuc3RyaW5naWZ5PXRoaXMucGFyZW50LnN0cmluZ2lmeSksdGhpcy52YWx1ZT1udWxsLHRoaXMuY2hpbGRyZW49W10sdGhpcy5iYXNlVVJJPW51bGwsaHx8KGg9cmVxdWlyZShcIi4vWE1MRWxlbWVudFwiKSxuPXJlcXVpcmUoXCIuL1hNTENEYXRhXCIpLHI9cmVxdWlyZShcIi4vWE1MQ29tbWVudFwiKSxpPXJlcXVpcmUoXCIuL1hNTERlY2xhcmF0aW9uXCIpLG89cmVxdWlyZShcIi4vWE1MRG9jVHlwZVwiKSxjPXJlcXVpcmUoXCIuL1hNTFJhd1wiKSxsPXJlcXVpcmUoXCIuL1hNTFRleHRcIiksdT1yZXF1aXJlKFwiLi9YTUxQcm9jZXNzaW5nSW5zdHJ1Y3Rpb25cIikscz1yZXF1aXJlKFwiLi9YTUxEdW1teVwiKSxlPXJlcXVpcmUoXCIuL05vZGVUeXBlXCIpLHA9cmVxdWlyZShcIi4vWE1MTm9kZUxpc3RcIikscmVxdWlyZShcIi4vWE1MTmFtZWROb2RlTWFwXCIpLHQ9cmVxdWlyZShcIi4vRG9jdW1lbnRQb3NpdGlvblwiKSl9cmV0dXJuIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShtLnByb3RvdHlwZSxcIm5vZGVOYW1lXCIse2dldDpmdW5jdGlvbigpe3JldHVybiB0aGlzLm5hbWV9fSksT2JqZWN0LmRlZmluZVByb3BlcnR5KG0ucHJvdG90eXBlLFwibm9kZVR5cGVcIix7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMudHlwZX19KSxPYmplY3QuZGVmaW5lUHJvcGVydHkobS5wcm90b3R5cGUsXCJub2RlVmFsdWVcIix7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMudmFsdWV9fSksT2JqZWN0LmRlZmluZVByb3BlcnR5KG0ucHJvdG90eXBlLFwicGFyZW50Tm9kZVwiLHtnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5wYXJlbnR9fSksT2JqZWN0LmRlZmluZVByb3BlcnR5KG0ucHJvdG90eXBlLFwiY2hpbGROb2Rlc1wiLHtnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5jaGlsZE5vZGVMaXN0JiZ0aGlzLmNoaWxkTm9kZUxpc3Qubm9kZXN8fCh0aGlzLmNoaWxkTm9kZUxpc3Q9bmV3IHAodGhpcy5jaGlsZHJlbikpLHRoaXMuY2hpbGROb2RlTGlzdH19KSxPYmplY3QuZGVmaW5lUHJvcGVydHkobS5wcm90b3R5cGUsXCJmaXJzdENoaWxkXCIse2dldDpmdW5jdGlvbigpe3JldHVybiB0aGlzLmNoaWxkcmVuWzBdfHxudWxsfX0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShtLnByb3RvdHlwZSxcImxhc3RDaGlsZFwiLHtnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5jaGlsZHJlblt0aGlzLmNoaWxkcmVuLmxlbmd0aC0xXXx8bnVsbH19KSxPYmplY3QuZGVmaW5lUHJvcGVydHkobS5wcm90b3R5cGUsXCJwcmV2aW91c1NpYmxpbmdcIix7Z2V0OmZ1bmN0aW9uKCl7dmFyIHQ7cmV0dXJuIHQ9dGhpcy5wYXJlbnQuY2hpbGRyZW4uaW5kZXhPZih0aGlzKSx0aGlzLnBhcmVudC5jaGlsZHJlblt0LTFdfHxudWxsfX0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShtLnByb3RvdHlwZSxcIm5leHRTaWJsaW5nXCIse2dldDpmdW5jdGlvbigpe3ZhciB0O3JldHVybiB0PXRoaXMucGFyZW50LmNoaWxkcmVuLmluZGV4T2YodGhpcyksdGhpcy5wYXJlbnQuY2hpbGRyZW5bdCsxXXx8bnVsbH19KSxPYmplY3QuZGVmaW5lUHJvcGVydHkobS5wcm90b3R5cGUsXCJvd25lckRvY3VtZW50XCIse2dldDpmdW5jdGlvbigpe3JldHVybiB0aGlzLmRvY3VtZW50KCl8fG51bGx9fSksT2JqZWN0LmRlZmluZVByb3BlcnR5KG0ucHJvdG90eXBlLFwidGV4dENvbnRlbnRcIix7Z2V0OmZ1bmN0aW9uKCl7dmFyIHQsbixyLGksbztpZih0aGlzLm5vZGVUeXBlPT09ZS5FbGVtZW50fHx0aGlzLm5vZGVUeXBlPT09ZS5Eb2N1bWVudEZyYWdtZW50KXtmb3Iobz1cIlwiLG49MCxyPShpPXRoaXMuY2hpbGRyZW4pLmxlbmd0aDtuPHI7bisrKSh0PWlbbl0pLnRleHRDb250ZW50JiYobys9dC50ZXh0Q29udGVudCk7cmV0dXJuIG99cmV0dXJuIG51bGx9LHNldDpmdW5jdGlvbih0KXt0aHJvdyBuZXcgRXJyb3IoXCJUaGlzIERPTSBtZXRob2QgaXMgbm90IGltcGxlbWVudGVkLlwiK3RoaXMuZGVidWdJbmZvKCkpfX0pLG0ucHJvdG90eXBlLnNldFBhcmVudD1mdW5jdGlvbih0KXt2YXIgZSxuLHIsaSxvO2Zvcih0aGlzLnBhcmVudD10LHQmJih0aGlzLm9wdGlvbnM9dC5vcHRpb25zLHRoaXMuc3RyaW5naWZ5PXQuc3RyaW5naWZ5KSxvPVtdLG49MCxyPShpPXRoaXMuY2hpbGRyZW4pLmxlbmd0aDtuPHI7bisrKWU9aVtuXSxvLnB1c2goZS5zZXRQYXJlbnQodGhpcykpO3JldHVybiBvfSxtLnByb3RvdHlwZS5lbGVtZW50PWZ1bmN0aW9uKHQsZSxuKXt2YXIgcixpLG8scyxoLHAsdSxjLGwsbSx3O2lmKHA9bnVsbCxudWxsPT09ZSYmbnVsbD09biYmKGU9KGw9W3t9LG51bGxdKVswXSxuPWxbMV0pLG51bGw9PWUmJihlPXt9KSxlPWQoZSkseShlKXx8KG49KG09W2Usbl0pWzBdLGU9bVsxXSksbnVsbCE9dCYmKHQ9ZCh0KSksQXJyYXkuaXNBcnJheSh0KSlmb3Iobz0wLHU9dC5sZW5ndGg7bzx1O28rKylpPXRbb10scD10aGlzLmVsZW1lbnQoaSk7ZWxzZSBpZihmKHQpKXA9dGhpcy5lbGVtZW50KHQuYXBwbHkoKSk7ZWxzZSBpZih5KHQpKXtmb3IoaCBpbiB0KWlmKGcuY2FsbCh0LGgpKWlmKHc9dFtoXSxmKHcpJiYodz13LmFwcGx5KCkpLCF0aGlzLm9wdGlvbnMuaWdub3JlRGVjb3JhdG9ycyYmdGhpcy5zdHJpbmdpZnkuY29udmVydEF0dEtleSYmMD09PWguaW5kZXhPZih0aGlzLnN0cmluZ2lmeS5jb252ZXJ0QXR0S2V5KSlwPXRoaXMuYXR0cmlidXRlKGguc3Vic3RyKHRoaXMuc3RyaW5naWZ5LmNvbnZlcnRBdHRLZXkubGVuZ3RoKSx3KTtlbHNlIGlmKCF0aGlzLm9wdGlvbnMuc2VwYXJhdGVBcnJheUl0ZW1zJiZBcnJheS5pc0FycmF5KHcpJiZhKHcpKXA9dGhpcy5kdW1teSgpO2Vsc2UgaWYoeSh3KSYmYSh3KSlwPXRoaXMuZWxlbWVudChoKTtlbHNlIGlmKHRoaXMub3B0aW9ucy5rZWVwTnVsbE5vZGVzfHxudWxsIT13KWlmKCF0aGlzLm9wdGlvbnMuc2VwYXJhdGVBcnJheUl0ZW1zJiZBcnJheS5pc0FycmF5KHcpKWZvcihzPTAsYz13Lmxlbmd0aDtzPGM7cysrKWk9d1tzXSwocj17fSlbaF09aSxwPXRoaXMuZWxlbWVudChyKTtlbHNlIHkodyk/IXRoaXMub3B0aW9ucy5pZ25vcmVEZWNvcmF0b3JzJiZ0aGlzLnN0cmluZ2lmeS5jb252ZXJ0VGV4dEtleSYmMD09PWguaW5kZXhPZih0aGlzLnN0cmluZ2lmeS5jb252ZXJ0VGV4dEtleSk/cD10aGlzLmVsZW1lbnQodyk6KHA9dGhpcy5lbGVtZW50KGgpKS5lbGVtZW50KHcpOnA9dGhpcy5lbGVtZW50KGgsdyk7ZWxzZSBwPXRoaXMuZHVtbXkoKX1lbHNlIHA9dGhpcy5vcHRpb25zLmtlZXBOdWxsTm9kZXN8fG51bGwhPT1uPyF0aGlzLm9wdGlvbnMuaWdub3JlRGVjb3JhdG9ycyYmdGhpcy5zdHJpbmdpZnkuY29udmVydFRleHRLZXkmJjA9PT10LmluZGV4T2YodGhpcy5zdHJpbmdpZnkuY29udmVydFRleHRLZXkpP3RoaXMudGV4dChuKTohdGhpcy5vcHRpb25zLmlnbm9yZURlY29yYXRvcnMmJnRoaXMuc3RyaW5naWZ5LmNvbnZlcnRDRGF0YUtleSYmMD09PXQuaW5kZXhPZih0aGlzLnN0cmluZ2lmeS5jb252ZXJ0Q0RhdGFLZXkpP3RoaXMuY2RhdGEobik6IXRoaXMub3B0aW9ucy5pZ25vcmVEZWNvcmF0b3JzJiZ0aGlzLnN0cmluZ2lmeS5jb252ZXJ0Q29tbWVudEtleSYmMD09PXQuaW5kZXhPZih0aGlzLnN0cmluZ2lmeS5jb252ZXJ0Q29tbWVudEtleSk/dGhpcy5jb21tZW50KG4pOiF0aGlzLm9wdGlvbnMuaWdub3JlRGVjb3JhdG9ycyYmdGhpcy5zdHJpbmdpZnkuY29udmVydFJhd0tleSYmMD09PXQuaW5kZXhPZih0aGlzLnN0cmluZ2lmeS5jb252ZXJ0UmF3S2V5KT90aGlzLnJhdyhuKTohdGhpcy5vcHRpb25zLmlnbm9yZURlY29yYXRvcnMmJnRoaXMuc3RyaW5naWZ5LmNvbnZlcnRQSUtleSYmMD09PXQuaW5kZXhPZih0aGlzLnN0cmluZ2lmeS5jb252ZXJ0UElLZXkpP3RoaXMuaW5zdHJ1Y3Rpb24odC5zdWJzdHIodGhpcy5zdHJpbmdpZnkuY29udmVydFBJS2V5Lmxlbmd0aCksbik6dGhpcy5ub2RlKHQsZSxuKTp0aGlzLmR1bW15KCk7aWYobnVsbD09cCl0aHJvdyBuZXcgRXJyb3IoXCJDb3VsZCBub3QgY3JlYXRlIGFueSBlbGVtZW50cyB3aXRoOiBcIit0K1wiLiBcIit0aGlzLmRlYnVnSW5mbygpKTtyZXR1cm4gcH0sbS5wcm90b3R5cGUuaW5zZXJ0QmVmb3JlPWZ1bmN0aW9uKHQsZSxuKXt2YXIgcixpLG8scyxoO2lmKG51bGwhPXQ/dC50eXBlOnZvaWQgMClyZXR1cm4gcz1lLChvPXQpLnNldFBhcmVudCh0aGlzKSxzPyhpPWNoaWxkcmVuLmluZGV4T2YocyksaD1jaGlsZHJlbi5zcGxpY2UoaSksY2hpbGRyZW4ucHVzaChvKSxBcnJheS5wcm90b3R5cGUucHVzaC5hcHBseShjaGlsZHJlbixoKSk6Y2hpbGRyZW4ucHVzaChvKSxvO2lmKHRoaXMuaXNSb290KXRocm93IG5ldyBFcnJvcihcIkNhbm5vdCBpbnNlcnQgZWxlbWVudHMgYXQgcm9vdCBsZXZlbC4gXCIrdGhpcy5kZWJ1Z0luZm8odCkpO3JldHVybiBpPXRoaXMucGFyZW50LmNoaWxkcmVuLmluZGV4T2YodGhpcyksaD10aGlzLnBhcmVudC5jaGlsZHJlbi5zcGxpY2UoaSkscj10aGlzLnBhcmVudC5lbGVtZW50KHQsZSxuKSxBcnJheS5wcm90b3R5cGUucHVzaC5hcHBseSh0aGlzLnBhcmVudC5jaGlsZHJlbixoKSxyfSxtLnByb3RvdHlwZS5pbnNlcnRBZnRlcj1mdW5jdGlvbih0LGUsbil7dmFyIHIsaSxvO2lmKHRoaXMuaXNSb290KXRocm93IG5ldyBFcnJvcihcIkNhbm5vdCBpbnNlcnQgZWxlbWVudHMgYXQgcm9vdCBsZXZlbC4gXCIrdGhpcy5kZWJ1Z0luZm8odCkpO3JldHVybiBpPXRoaXMucGFyZW50LmNoaWxkcmVuLmluZGV4T2YodGhpcyksbz10aGlzLnBhcmVudC5jaGlsZHJlbi5zcGxpY2UoaSsxKSxyPXRoaXMucGFyZW50LmVsZW1lbnQodCxlLG4pLEFycmF5LnByb3RvdHlwZS5wdXNoLmFwcGx5KHRoaXMucGFyZW50LmNoaWxkcmVuLG8pLHJ9LG0ucHJvdG90eXBlLnJlbW92ZT1mdW5jdGlvbigpe3ZhciB0O2lmKHRoaXMuaXNSb290KXRocm93IG5ldyBFcnJvcihcIkNhbm5vdCByZW1vdmUgdGhlIHJvb3QgZWxlbWVudC4gXCIrdGhpcy5kZWJ1Z0luZm8oKSk7cmV0dXJuIHQ9dGhpcy5wYXJlbnQuY2hpbGRyZW4uaW5kZXhPZih0aGlzKSxbXS5zcGxpY2UuYXBwbHkodGhpcy5wYXJlbnQuY2hpbGRyZW4sW3QsdC10KzFdLmNvbmNhdChbXSkpLHRoaXMucGFyZW50fSxtLnByb3RvdHlwZS5ub2RlPWZ1bmN0aW9uKHQsZSxuKXt2YXIgcixpO3JldHVybiBudWxsIT10JiYodD1kKHQpKSxlfHwoZT17fSksZT1kKGUpLHkoZSl8fChuPShpPVtlLG5dKVswXSxlPWlbMV0pLHI9bmV3IGgodGhpcyx0LGUpLG51bGwhPW4mJnIudGV4dChuKSx0aGlzLmNoaWxkcmVuLnB1c2gocikscn0sbS5wcm90b3R5cGUudGV4dD1mdW5jdGlvbih0KXt2YXIgZTtyZXR1cm4geSh0KSYmdGhpcy5lbGVtZW50KHQpLGU9bmV3IGwodGhpcyx0KSx0aGlzLmNoaWxkcmVuLnB1c2goZSksdGhpc30sbS5wcm90b3R5cGUuY2RhdGE9ZnVuY3Rpb24odCl7dmFyIGU7cmV0dXJuIGU9bmV3IG4odGhpcyx0KSx0aGlzLmNoaWxkcmVuLnB1c2goZSksdGhpc30sbS5wcm90b3R5cGUuY29tbWVudD1mdW5jdGlvbih0KXt2YXIgZTtyZXR1cm4gZT1uZXcgcih0aGlzLHQpLHRoaXMuY2hpbGRyZW4ucHVzaChlKSx0aGlzfSxtLnByb3RvdHlwZS5jb21tZW50QmVmb3JlPWZ1bmN0aW9uKHQpe3ZhciBlLG47cmV0dXJuIGU9dGhpcy5wYXJlbnQuY2hpbGRyZW4uaW5kZXhPZih0aGlzKSxuPXRoaXMucGFyZW50LmNoaWxkcmVuLnNwbGljZShlKSx0aGlzLnBhcmVudC5jb21tZW50KHQpLEFycmF5LnByb3RvdHlwZS5wdXNoLmFwcGx5KHRoaXMucGFyZW50LmNoaWxkcmVuLG4pLHRoaXN9LG0ucHJvdG90eXBlLmNvbW1lbnRBZnRlcj1mdW5jdGlvbih0KXt2YXIgZSxuO3JldHVybiBlPXRoaXMucGFyZW50LmNoaWxkcmVuLmluZGV4T2YodGhpcyksbj10aGlzLnBhcmVudC5jaGlsZHJlbi5zcGxpY2UoZSsxKSx0aGlzLnBhcmVudC5jb21tZW50KHQpLEFycmF5LnByb3RvdHlwZS5wdXNoLmFwcGx5KHRoaXMucGFyZW50LmNoaWxkcmVuLG4pLHRoaXN9LG0ucHJvdG90eXBlLnJhdz1mdW5jdGlvbih0KXt2YXIgZTtyZXR1cm4gZT1uZXcgYyh0aGlzLHQpLHRoaXMuY2hpbGRyZW4ucHVzaChlKSx0aGlzfSxtLnByb3RvdHlwZS5kdW1teT1mdW5jdGlvbigpe3JldHVybiBuZXcgcyh0aGlzKX0sbS5wcm90b3R5cGUuaW5zdHJ1Y3Rpb249ZnVuY3Rpb24odCxlKXt2YXIgbixyLGksbyxzO2lmKG51bGwhPXQmJih0PWQodCkpLG51bGwhPWUmJihlPWQoZSkpLEFycmF5LmlzQXJyYXkodCkpZm9yKG89MCxzPXQubGVuZ3RoO288cztvKyspbj10W29dLHRoaXMuaW5zdHJ1Y3Rpb24obik7ZWxzZSBpZih5KHQpKWZvcihuIGluIHQpZy5jYWxsKHQsbikmJihyPXRbbl0sdGhpcy5pbnN0cnVjdGlvbihuLHIpKTtlbHNlIGYoZSkmJihlPWUuYXBwbHkoKSksaT1uZXcgdSh0aGlzLHQsZSksdGhpcy5jaGlsZHJlbi5wdXNoKGkpO3JldHVybiB0aGlzfSxtLnByb3RvdHlwZS5pbnN0cnVjdGlvbkJlZm9yZT1mdW5jdGlvbih0LGUpe3ZhciBuLHI7cmV0dXJuIG49dGhpcy5wYXJlbnQuY2hpbGRyZW4uaW5kZXhPZih0aGlzKSxyPXRoaXMucGFyZW50LmNoaWxkcmVuLnNwbGljZShuKSx0aGlzLnBhcmVudC5pbnN0cnVjdGlvbih0LGUpLEFycmF5LnByb3RvdHlwZS5wdXNoLmFwcGx5KHRoaXMucGFyZW50LmNoaWxkcmVuLHIpLHRoaXN9LG0ucHJvdG90eXBlLmluc3RydWN0aW9uQWZ0ZXI9ZnVuY3Rpb24odCxlKXt2YXIgbixyO3JldHVybiBuPXRoaXMucGFyZW50LmNoaWxkcmVuLmluZGV4T2YodGhpcykscj10aGlzLnBhcmVudC5jaGlsZHJlbi5zcGxpY2UobisxKSx0aGlzLnBhcmVudC5pbnN0cnVjdGlvbih0LGUpLEFycmF5LnByb3RvdHlwZS5wdXNoLmFwcGx5KHRoaXMucGFyZW50LmNoaWxkcmVuLHIpLHRoaXN9LG0ucHJvdG90eXBlLmRlY2xhcmF0aW9uPWZ1bmN0aW9uKHQsbixyKXt2YXIgbyxzO3JldHVybiBvPXRoaXMuZG9jdW1lbnQoKSxzPW5ldyBpKG8sdCxuLHIpLDA9PT1vLmNoaWxkcmVuLmxlbmd0aD9vLmNoaWxkcmVuLnVuc2hpZnQocyk6by5jaGlsZHJlblswXS50eXBlPT09ZS5EZWNsYXJhdGlvbj9vLmNoaWxkcmVuWzBdPXM6by5jaGlsZHJlbi51bnNoaWZ0KHMpLG8ucm9vdCgpfHxvfSxtLnByb3RvdHlwZS5kdGQ9ZnVuY3Rpb24odCxuKXt2YXIgcixpLHMsaCxwLHUsYyxsLGQ7Zm9yKHI9dGhpcy5kb2N1bWVudCgpLGk9bmV3IG8ocix0LG4pLHM9aD0wLHU9KGw9ci5jaGlsZHJlbikubGVuZ3RoO2g8dTtzPSsraClpZihsW3NdLnR5cGU9PT1lLkRvY1R5cGUpcmV0dXJuIHIuY2hpbGRyZW5bc109aSxpO2ZvcihzPXA9MCxjPShkPXIuY2hpbGRyZW4pLmxlbmd0aDtwPGM7cz0rK3ApaWYoZFtzXS5pc1Jvb3QpcmV0dXJuIHIuY2hpbGRyZW4uc3BsaWNlKHMsMCxpKSxpO3JldHVybiByLmNoaWxkcmVuLnB1c2goaSksaX0sbS5wcm90b3R5cGUudXA9ZnVuY3Rpb24oKXtpZih0aGlzLmlzUm9vdCl0aHJvdyBuZXcgRXJyb3IoXCJUaGUgcm9vdCBub2RlIGhhcyBubyBwYXJlbnQuIFVzZSBkb2MoKSBpZiB5b3UgbmVlZCB0byBnZXQgdGhlIGRvY3VtZW50IG9iamVjdC5cIik7cmV0dXJuIHRoaXMucGFyZW50fSxtLnByb3RvdHlwZS5yb290PWZ1bmN0aW9uKCl7dmFyIHQ7Zm9yKHQ9dGhpczt0Oyl7aWYodC50eXBlPT09ZS5Eb2N1bWVudClyZXR1cm4gdC5yb290T2JqZWN0O2lmKHQuaXNSb290KXJldHVybiB0O3Q9dC5wYXJlbnR9fSxtLnByb3RvdHlwZS5kb2N1bWVudD1mdW5jdGlvbigpe3ZhciB0O2Zvcih0PXRoaXM7dDspe2lmKHQudHlwZT09PWUuRG9jdW1lbnQpcmV0dXJuIHQ7dD10LnBhcmVudH19LG0ucHJvdG90eXBlLmVuZD1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5kb2N1bWVudCgpLmVuZCh0KX0sbS5wcm90b3R5cGUucHJldj1mdW5jdGlvbigpe3ZhciB0O2lmKCh0PXRoaXMucGFyZW50LmNoaWxkcmVuLmluZGV4T2YodGhpcykpPDEpdGhyb3cgbmV3IEVycm9yKFwiQWxyZWFkeSBhdCB0aGUgZmlyc3Qgbm9kZS4gXCIrdGhpcy5kZWJ1Z0luZm8oKSk7cmV0dXJuIHRoaXMucGFyZW50LmNoaWxkcmVuW3QtMV19LG0ucHJvdG90eXBlLm5leHQ9ZnVuY3Rpb24oKXt2YXIgdDtpZigtMT09PSh0PXRoaXMucGFyZW50LmNoaWxkcmVuLmluZGV4T2YodGhpcykpfHx0PT09dGhpcy5wYXJlbnQuY2hpbGRyZW4ubGVuZ3RoLTEpdGhyb3cgbmV3IEVycm9yKFwiQWxyZWFkeSBhdCB0aGUgbGFzdCBub2RlLiBcIit0aGlzLmRlYnVnSW5mbygpKTtyZXR1cm4gdGhpcy5wYXJlbnQuY2hpbGRyZW5bdCsxXX0sbS5wcm90b3R5cGUuaW1wb3J0RG9jdW1lbnQ9ZnVuY3Rpb24odCl7dmFyIGU7cmV0dXJuKGU9dC5yb290KCkuY2xvbmUoKSkucGFyZW50PXRoaXMsZS5pc1Jvb3Q9ITEsdGhpcy5jaGlsZHJlbi5wdXNoKGUpLHRoaXN9LG0ucHJvdG90eXBlLmRlYnVnSW5mbz1mdW5jdGlvbih0KXt2YXIgZSxuO3JldHVybiBudWxsIT0odD10fHx0aGlzLm5hbWUpfHwobnVsbCE9KGU9dGhpcy5wYXJlbnQpP2UubmFtZTp2b2lkIDApP251bGw9PXQ/XCJwYXJlbnQ6IDxcIit0aGlzLnBhcmVudC5uYW1lK1wiPlwiOihudWxsIT0obj10aGlzLnBhcmVudCk/bi5uYW1lOnZvaWQgMCk/XCJub2RlOiA8XCIrdCtcIj4sIHBhcmVudDogPFwiK3RoaXMucGFyZW50Lm5hbWUrXCI+XCI6XCJub2RlOiA8XCIrdCtcIj5cIjpcIlwifSxtLnByb3RvdHlwZS5lbGU9ZnVuY3Rpb24odCxlLG4pe3JldHVybiB0aGlzLmVsZW1lbnQodCxlLG4pfSxtLnByb3RvdHlwZS5ub2Q9ZnVuY3Rpb24odCxlLG4pe3JldHVybiB0aGlzLm5vZGUodCxlLG4pfSxtLnByb3RvdHlwZS50eHQ9ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMudGV4dCh0KX0sbS5wcm90b3R5cGUuZGF0PWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLmNkYXRhKHQpfSxtLnByb3RvdHlwZS5jb209ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuY29tbWVudCh0KX0sbS5wcm90b3R5cGUuaW5zPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIHRoaXMuaW5zdHJ1Y3Rpb24odCxlKX0sbS5wcm90b3R5cGUuZG9jPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuZG9jdW1lbnQoKX0sbS5wcm90b3R5cGUuZGVjPWZ1bmN0aW9uKHQsZSxuKXtyZXR1cm4gdGhpcy5kZWNsYXJhdGlvbih0LGUsbil9LG0ucHJvdG90eXBlLmU9ZnVuY3Rpb24odCxlLG4pe3JldHVybiB0aGlzLmVsZW1lbnQodCxlLG4pfSxtLnByb3RvdHlwZS5uPWZ1bmN0aW9uKHQsZSxuKXtyZXR1cm4gdGhpcy5ub2RlKHQsZSxuKX0sbS5wcm90b3R5cGUudD1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy50ZXh0KHQpfSxtLnByb3RvdHlwZS5kPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLmNkYXRhKHQpfSxtLnByb3RvdHlwZS5jPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLmNvbW1lbnQodCl9LG0ucHJvdG90eXBlLnI9ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMucmF3KHQpfSxtLnByb3RvdHlwZS5pPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIHRoaXMuaW5zdHJ1Y3Rpb24odCxlKX0sbS5wcm90b3R5cGUudT1mdW5jdGlvbigpe3JldHVybiB0aGlzLnVwKCl9LG0ucHJvdG90eXBlLmltcG9ydFhNTEJ1aWxkZXI9ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuaW1wb3J0RG9jdW1lbnQodCl9LG0ucHJvdG90eXBlLnJlcGxhY2VDaGlsZD1mdW5jdGlvbih0LGUpe3Rocm93IG5ldyBFcnJvcihcIlRoaXMgRE9NIG1ldGhvZCBpcyBub3QgaW1wbGVtZW50ZWQuXCIrdGhpcy5kZWJ1Z0luZm8oKSl9LG0ucHJvdG90eXBlLnJlbW92ZUNoaWxkPWZ1bmN0aW9uKHQpe3Rocm93IG5ldyBFcnJvcihcIlRoaXMgRE9NIG1ldGhvZCBpcyBub3QgaW1wbGVtZW50ZWQuXCIrdGhpcy5kZWJ1Z0luZm8oKSl9LG0ucHJvdG90eXBlLmFwcGVuZENoaWxkPWZ1bmN0aW9uKHQpe3Rocm93IG5ldyBFcnJvcihcIlRoaXMgRE9NIG1ldGhvZCBpcyBub3QgaW1wbGVtZW50ZWQuXCIrdGhpcy5kZWJ1Z0luZm8oKSl9LG0ucHJvdG90eXBlLmhhc0NoaWxkTm9kZXM9ZnVuY3Rpb24oKXtyZXR1cm4gMCE9PXRoaXMuY2hpbGRyZW4ubGVuZ3RofSxtLnByb3RvdHlwZS5jbG9uZU5vZGU9ZnVuY3Rpb24odCl7dGhyb3cgbmV3IEVycm9yKFwiVGhpcyBET00gbWV0aG9kIGlzIG5vdCBpbXBsZW1lbnRlZC5cIit0aGlzLmRlYnVnSW5mbygpKX0sbS5wcm90b3R5cGUubm9ybWFsaXplPWZ1bmN0aW9uKCl7dGhyb3cgbmV3IEVycm9yKFwiVGhpcyBET00gbWV0aG9kIGlzIG5vdCBpbXBsZW1lbnRlZC5cIit0aGlzLmRlYnVnSW5mbygpKX0sbS5wcm90b3R5cGUuaXNTdXBwb3J0ZWQ9ZnVuY3Rpb24odCxlKXtyZXR1cm4hMH0sbS5wcm90b3R5cGUuaGFzQXR0cmlidXRlcz1mdW5jdGlvbigpe3JldHVybiAwIT09dGhpcy5hdHRyaWJzLmxlbmd0aH0sbS5wcm90b3R5cGUuY29tcGFyZURvY3VtZW50UG9zaXRpb249ZnVuY3Rpb24oZSl7dmFyIG47cmV0dXJuIHRoaXMsdGhpcz09PWU/MDp0aGlzLmRvY3VtZW50KCkhPT1lLmRvY3VtZW50KCk/KG49dC5EaXNjb25uZWN0ZWR8dC5JbXBsZW1lbnRhdGlvblNwZWNpZmljLE1hdGgucmFuZG9tKCk8LjU/bnw9dC5QcmVjZWRpbmc6bnw9dC5Gb2xsb3dpbmcsbik6dGhpcy5pc0FuY2VzdG9yKGUpP3QuQ29udGFpbnN8dC5QcmVjZWRpbmc6dGhpcy5pc0Rlc2NlbmRhbnQoZSk/dC5Db250YWluc3x0LkZvbGxvd2luZzp0aGlzLmlzUHJlY2VkaW5nKGUpP3QuUHJlY2VkaW5nOnQuRm9sbG93aW5nfSxtLnByb3RvdHlwZS5pc1NhbWVOb2RlPWZ1bmN0aW9uKHQpe3Rocm93IG5ldyBFcnJvcihcIlRoaXMgRE9NIG1ldGhvZCBpcyBub3QgaW1wbGVtZW50ZWQuXCIrdGhpcy5kZWJ1Z0luZm8oKSl9LG0ucHJvdG90eXBlLmxvb2t1cFByZWZpeD1mdW5jdGlvbih0KXt0aHJvdyBuZXcgRXJyb3IoXCJUaGlzIERPTSBtZXRob2QgaXMgbm90IGltcGxlbWVudGVkLlwiK3RoaXMuZGVidWdJbmZvKCkpfSxtLnByb3RvdHlwZS5pc0RlZmF1bHROYW1lc3BhY2U9ZnVuY3Rpb24odCl7dGhyb3cgbmV3IEVycm9yKFwiVGhpcyBET00gbWV0aG9kIGlzIG5vdCBpbXBsZW1lbnRlZC5cIit0aGlzLmRlYnVnSW5mbygpKX0sbS5wcm90b3R5cGUubG9va3VwTmFtZXNwYWNlVVJJPWZ1bmN0aW9uKHQpe3Rocm93IG5ldyBFcnJvcihcIlRoaXMgRE9NIG1ldGhvZCBpcyBub3QgaW1wbGVtZW50ZWQuXCIrdGhpcy5kZWJ1Z0luZm8oKSl9LG0ucHJvdG90eXBlLmlzRXF1YWxOb2RlPWZ1bmN0aW9uKHQpe3ZhciBlLG4scjtpZih0Lm5vZGVUeXBlIT09dGhpcy5ub2RlVHlwZSlyZXR1cm4hMTtpZih0LmNoaWxkcmVuLmxlbmd0aCE9PXRoaXMuY2hpbGRyZW4ubGVuZ3RoKXJldHVybiExO2ZvcihlPW49MCxyPXRoaXMuY2hpbGRyZW4ubGVuZ3RoLTE7MDw9cj9uPD1yOm4+PXI7ZT0wPD1yPysrbjotLW4paWYoIXRoaXMuY2hpbGRyZW5bZV0uaXNFcXVhbE5vZGUodC5jaGlsZHJlbltlXSkpcmV0dXJuITE7cmV0dXJuITB9LG0ucHJvdG90eXBlLmdldEZlYXR1cmU9ZnVuY3Rpb24odCxlKXt0aHJvdyBuZXcgRXJyb3IoXCJUaGlzIERPTSBtZXRob2QgaXMgbm90IGltcGxlbWVudGVkLlwiK3RoaXMuZGVidWdJbmZvKCkpfSxtLnByb3RvdHlwZS5zZXRVc2VyRGF0YT1mdW5jdGlvbih0LGUsbil7dGhyb3cgbmV3IEVycm9yKFwiVGhpcyBET00gbWV0aG9kIGlzIG5vdCBpbXBsZW1lbnRlZC5cIit0aGlzLmRlYnVnSW5mbygpKX0sbS5wcm90b3R5cGUuZ2V0VXNlckRhdGE9ZnVuY3Rpb24odCl7dGhyb3cgbmV3IEVycm9yKFwiVGhpcyBET00gbWV0aG9kIGlzIG5vdCBpbXBsZW1lbnRlZC5cIit0aGlzLmRlYnVnSW5mbygpKX0sbS5wcm90b3R5cGUuY29udGFpbnM9ZnVuY3Rpb24odCl7cmV0dXJuISF0JiYodD09PXRoaXN8fHRoaXMuaXNEZXNjZW5kYW50KHQpKX0sbS5wcm90b3R5cGUuaXNEZXNjZW5kYW50PWZ1bmN0aW9uKHQpe3ZhciBlLG4scixpO2ZvcihuPTAscj0oaT10aGlzLmNoaWxkcmVuKS5sZW5ndGg7bjxyO24rKyl7aWYodD09PShlPWlbbl0pKXJldHVybiEwO2lmKGUuaXNEZXNjZW5kYW50KHQpKXJldHVybiEwfXJldHVybiExfSxtLnByb3RvdHlwZS5pc0FuY2VzdG9yPWZ1bmN0aW9uKHQpe3JldHVybiB0LmlzRGVzY2VuZGFudCh0aGlzKX0sbS5wcm90b3R5cGUuaXNQcmVjZWRpbmc9ZnVuY3Rpb24odCl7dmFyIGUsbjtyZXR1cm4gZT10aGlzLnRyZWVQb3NpdGlvbih0KSxuPXRoaXMudHJlZVBvc2l0aW9uKHRoaXMpLC0xIT09ZSYmLTEhPT1uJiZlPG59LG0ucHJvdG90eXBlLmlzRm9sbG93aW5nPWZ1bmN0aW9uKHQpe3ZhciBlLG47cmV0dXJuIGU9dGhpcy50cmVlUG9zaXRpb24odCksbj10aGlzLnRyZWVQb3NpdGlvbih0aGlzKSwtMSE9PWUmJi0xIT09biYmZT5ufSxtLnByb3RvdHlwZS50cmVlUG9zaXRpb249ZnVuY3Rpb24odCl7dmFyIGUsbjtyZXR1cm4gbj0wLGU9ITEsdGhpcy5mb3JlYWNoVHJlZU5vZGUodGhpcy5kb2N1bWVudCgpLGZ1bmN0aW9uKHIpe2lmKG4rKywhZSYmcj09PXQpcmV0dXJuIGU9ITB9KSxlP246LTF9LG0ucHJvdG90eXBlLmZvcmVhY2hUcmVlTm9kZT1mdW5jdGlvbih0LGUpe3ZhciBuLHIsaSxvLHM7Zm9yKHR8fCh0PXRoaXMuZG9jdW1lbnQoKSkscj0wLGk9KG89dC5jaGlsZHJlbikubGVuZ3RoO3I8aTtyKyspe2lmKHM9ZShuPW9bcl0pKXJldHVybiBzO2lmKHM9dGhpcy5mb3JlYWNoVHJlZU5vZGUobixlKSlyZXR1cm4gc319LG19KCl9KS5jYWxsKHRoaXMpO1xuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSWxoTlRFNXZaR1V1YW5NaVhTd2libUZ0WlhNaU9sc2lSRzlqZFcxbGJuUlFiM05wZEdsdmJpSXNJazV2WkdWVWVYQmxJaXdpV0UxTVEwUmhkR0VpTENKWVRVeERiMjF0Wlc1MElpd2lXRTFNUkdWamJHRnlZWFJwYjI0aUxDSllUVXhFYjJOVWVYQmxJaXdpV0UxTVJIVnRiWGtpTENKWVRVeEZiR1Z0Wlc1MElpd2lXRTFNVG05a1pVeHBjM1FpTENKWVRVeFFjbTlqWlhOemFXNW5TVzV6ZEhKMVkzUnBiMjRpTENKWVRVeFNZWGNpTENKWVRVeFVaWGgwSWl3aVoyVjBWbUZzZFdVaUxDSnBjMFZ0Y0hSNUlpd2lhWE5HZFc1amRHbHZiaUlzSW1selQySnFaV04wSWl3aWNtVm1NU0lzSW1oaGMxQnliM0FpTENKb1lYTlBkMjVRY205d1pYSjBlU0lzSW5KbGNYVnBjbVVpTENKdGIyUjFiR1VpTENKbGVIQnZjblJ6SWl3aVdFMU1UbTlrWlNJc0luQmhjbVZ1ZERFaUxDSjBhR2x6SWl3aWNHRnlaVzUwSWl3aWIzQjBhVzl1Y3lJc0luTjBjbWx1WjJsbWVTSXNJblpoYkhWbElpd2lZMmhwYkdSeVpXNGlMQ0ppWVhObFZWSkpJaXdpVDJKcVpXTjBJaXdpWkdWbWFXNWxVSEp2Y0dWeWRIa2lMQ0p3Y205MGIzUjVjR1VpTENKblpYUWlMQ0p1WVcxbElpd2lkSGx3WlNJc0ltTm9hV3hrVG05a1pVeHBjM1FpTENKdWIyUmxjeUlzSW14bGJtZDBhQ0lzSW1raUxDSnBibVJsZUU5bUlpd2laRzlqZFcxbGJuUWlMQ0pqYUdsc1pDSXNJbW9pTENKc1pXNGlMQ0p5WldZeUlpd2ljM1J5SWl3aWJtOWtaVlI1Y0dVaUxDSkZiR1Z0Wlc1MElpd2lSRzlqZFcxbGJuUkdjbUZuYldWdWRDSXNJblJsZUhSRGIyNTBaVzUwSWl3aWMyVjBJaXdpUlhKeWIzSWlMQ0prWldKMVowbHVabThpTENKelpYUlFZWEpsYm5RaUxDSnlaWE4xYkhSeklpd2ljSFZ6YUNJc0ltVnNaVzFsYm5RaUxDSmhkSFJ5YVdKMWRHVnpJaXdpZEdWNGRDSXNJbU5vYVd4a1RtOWtaU0lzSW1sMFpXMGlMQ0pySWl3aWEyVjVJaXdpYkdGemRFTm9hV3hrSWl3aWJHVnVNU0lzSW5KbFpqTWlMQ0oyWVd3aUxDSkJjbkpoZVNJc0ltbHpRWEp5WVhraUxDSmhjSEJzZVNJc0ltTmhiR3dpTENKcFoyNXZjbVZFWldOdmNtRjBiM0p6SWl3aVkyOXVkbVZ5ZEVGMGRFdGxlU0lzSW1GMGRISnBZblYwWlNJc0luTjFZbk4wY2lJc0luTmxjR0Z5WVhSbFFYSnlZWGxKZEdWdGN5SXNJbVIxYlcxNUlpd2lhMlZsY0U1MWJHeE9iMlJsY3lJc0ltTnZiblpsY25SVVpYaDBTMlY1SWl3aVkyOXVkbVZ5ZEVORVlYUmhTMlY1SWl3aVkyUmhkR0VpTENKamIyNTJaWEowUTI5dGJXVnVkRXRsZVNJc0ltTnZiVzFsYm5RaUxDSmpiMjUyWlhKMFVtRjNTMlY1SWl3aWNtRjNJaXdpWTI5dWRtVnlkRkJKUzJWNUlpd2lhVzV6ZEhKMVkzUnBiMjRpTENKdWIyUmxJaXdpYVc1elpYSjBRbVZtYjNKbElpd2libVYzUTJocGJHUWlMQ0p5WldaRGFHbHNaQ0lzSW5KbGJXOTJaV1FpTENKemNHeHBZMlVpTENKcGMxSnZiM1FpTENKcGJuTmxjblJCWm5SbGNpSXNJbkpsYlc5MlpTSXNJbU52Ym1OaGRDSXNJbU52YlcxbGJuUkNaV1p2Y21VaUxDSmpiMjF0Wlc1MFFXWjBaWElpTENKMFlYSm5aWFFpTENKcGJuTlVZWEpuWlhRaUxDSnBibk5XWVd4MVpTSXNJbWx1YzNSeWRXTjBhVzl1UW1WbWIzSmxJaXdpYVc1emRISjFZM1JwYjI1QlpuUmxjaUlzSW1SbFkyeGhjbUYwYVc5dUlpd2lkbVZ5YzJsdmJpSXNJbVZ1WTI5a2FXNW5JaXdpYzNSaGJtUmhiRzl1WlNJc0ltUnZZeUlzSW5odGJHUmxZeUlzSW5WdWMyaHBablFpTENKRVpXTnNZWEpoZEdsdmJpSXNJbkp2YjNRaUxDSmtkR1FpTENKd2RXSkpSQ0lzSW5ONWMwbEVJaXdpWkc5amRIbHdaU0lzSWtSdlkxUjVjR1VpTENKMWNDSXNJa1J2WTNWdFpXNTBJaXdpY205dmRFOWlhbVZqZENJc0ltVnVaQ0lzSW5CeVpYWWlMQ0p1WlhoMElpd2lhVzF3YjNKMFJHOWpkVzFsYm5RaUxDSmpiRzl1WldSU2IyOTBJaXdpWTJ4dmJtVWlMQ0psYkdVaUxDSnViMlFpTENKMGVIUWlMQ0prWVhRaUxDSmpiMjBpTENKcGJuTWlMQ0prWldNaUxDSmxJaXdpYmlJc0luUWlMQ0prSWl3aVl5SXNJbklpTENKMUlpd2lhVzF3YjNKMFdFMU1RblZwYkdSbGNpSXNJbkpsY0d4aFkyVkRhR2xzWkNJc0ltOXNaRU5vYVd4a0lpd2ljbVZ0YjNabFEyaHBiR1FpTENKaGNIQmxibVJEYUdsc1pDSXNJbWhoYzBOb2FXeGtUbTlrWlhNaUxDSmpiRzl1WlU1dlpHVWlMQ0prWldWd0lpd2libTl5YldGc2FYcGxJaXdpYVhOVGRYQndiM0owWldRaUxDSm1aV0YwZFhKbElpd2lhR0Z6UVhSMGNtbGlkWFJsY3lJc0ltRjBkSEpwWW5NaUxDSmpiMjF3WVhKbFJHOWpkVzFsYm5SUWIzTnBkR2x2YmlJc0ltOTBhR1Z5SWl3aWNtVnpJaXdpUkdselkyOXVibVZqZEdWa0lpd2lTVzF3YkdWdFpXNTBZWFJwYjI1VGNHVmphV1pwWXlJc0lrMWhkR2dpTENKeVlXNWtiMjBpTENKUWNtVmpaV1JwYm1jaUxDSkdiMnhzYjNkcGJtY2lMQ0pwYzBGdVkyVnpkRzl5SWl3aVEyOXVkR0ZwYm5NaUxDSnBjMFJsYzJObGJtUmhiblFpTENKcGMxQnlaV05sWkdsdVp5SXNJbWx6VTJGdFpVNXZaR1VpTENKc2IyOXJkWEJRY21WbWFYZ2lMQ0p1WVcxbGMzQmhZMlZWVWtraUxDSnBjMFJsWm1GMWJIUk9ZVzFsYzNCaFkyVWlMQ0pzYjI5cmRYQk9ZVzFsYzNCaFkyVlZVa2tpTENKd2NtVm1hWGdpTENKcGMwVnhkV0ZzVG05a1pTSXNJbWRsZEVabFlYUjFjbVVpTENKelpYUlZjMlZ5UkdGMFlTSXNJbVJoZEdFaUxDSm9ZVzVrYkdWeUlpd2laMlYwVlhObGNrUmhkR0VpTENKamIyNTBZV2x1Y3lJc0ltNXZaR1ZRYjNNaUxDSjBhR2x6VUc5eklpd2lkSEpsWlZCdmMybDBhVzl1SWl3aWFYTkdiMnhzYjNkcGJtY2lMQ0ptYjNWdVpDSXNJbkJ2Y3lJc0ltWnZjbVZoWTJoVWNtVmxUbTlrWlNJc0ltWjFibU1pWFN3aWJXRndjR2x1WjNNaU9pSkRRVU5CTEZkQlEwVXNTVUZCU1VFc1JVRkJhMEpETEVWQlFWVkRMRVZCUVZWRExFVkJRVmxETEVWQlFXZENReXhGUVVGWlF5eEZRVUZWUXl4RlFVRnpRME1zUlVGQllVTXNSVUZCTUVKRExFVkJRVkZETEVWQlFWTkRMRVZCUVZWRExFVkJRVk5ETEVWQlFWbERMRVZCUVZWRExFVkJRMnBQUXl4RlFVRlZMRWRCUVVkRExHVkJSV1pHTEVWQlFVOUhMRkZCUVZFc1lVRkJZMG9zUlVGQlYwTXNSVUZCUzBRc1UwRkJWVVFzUlVGQllVVXNSVUZCUzBZc1YwRkJXVVFzUlVGQlZVY3NSVUZCUzBnc1VVRkJVMFFzUlVGQlYwa3NSVUZCUzBvc1UwRkZOMGhNTEVWQlFXRXNTMEZGWWt3c1JVRkJWeXhMUVVWWVF5eEZRVUZoTEV0QlJXSkRMRVZCUVdsQ0xFdEJSV3BDUXl4RlFVRmhMRXRCUldKTExFVkJRVk1zUzBGRlZFTXNSVUZCVlN4TFFVVldSaXhGUVVFeVFpeExRVVV6UWtnc1JVRkJWeXhMUVVWWVRDeEZRVUZYTEV0QlJWaFBMRVZCUVdNc1MwRkpaRklzUlVGQmJVSXNTMEZGYmtKdlFpeFBRVUZQUXl4UlFVRnZRaXhYUVVONlFpeFRRVUZUUXl4RlFVRlJReXhIUVVObVF5eExRVUZMUXl4UFFVRlRSaXhGUVVOV1F5eExRVUZMUXl4VFFVTlFSQ3hMUVVGTFJTeFJRVUZWUml4TFFVRkxReXhQUVVGUFF5eFJRVU16UWtZc1MwRkJTMGNzVlVGQldVZ3NTMEZCUzBNc1QwRkJUMFVzVjBGRkwwSklMRXRCUVV0SkxFMUJRVkVzUzBGRFlrb3NTMEZCUzBzc1UwRkJWeXhIUVVOb1Frd3NTMEZCUzAwc1VVRkJWU3hMUVVOV2RrSXNTVUZEU0VFc1JVRkJZVmtzVVVGQlVTeG5Ra0ZEY2tKcVFpeEZRVUZYYVVJc1VVRkJVU3hqUVVOdVFtaENMRVZCUVdGblFpeFJRVUZSTEdkQ1FVTnlRbVlzUlVGQmFVSmxMRkZCUVZFc2IwSkJRM3BDWkN4RlFVRmhZeXhSUVVGUkxHZENRVU55UWxRc1JVRkJVMU1zVVVGQlVTeFpRVU5xUWxJc1JVRkJWVkVzVVVGQlVTeGhRVU5zUWxZc1JVRkJNa0pWTEZGQlFWRXNPRUpCUTI1RFlpeEZRVUZYWVN4UlFVRlJMR05CUTI1Q2JFSXNSVUZCVjJ0Q0xGRkJRVkVzWTBGRGJrSllMRVZCUVdOWExGRkJRVkVzYVVKQlEwcEJMRkZCUVZFc2NVSkJRekZDYmtJc1JVRkJiVUp0UWl4UlFVRlJMSFZDUVc5MFFpOUNMRTlCYUhSQ1FWa3NUMEZCVDBNc1pVRkJaVllzUlVGQlVWY3NWVUZCVnl4WFFVRlpMRU5CUTI1RVF5eEpRVUZMTEZkQlEwZ3NUMEZCVDFZc1MwRkJTMWNzVVVGSmFFSktMRTlCUVU5RExHVkJRV1ZXTEVWQlFWRlhMRlZCUVZjc1YwRkJXU3hEUVVOdVJFTXNTVUZCU3l4WFFVTklMRTlCUVU5V0xFdEJRVXRaTEZGQlNXaENUQ3hQUVVGUFF5eGxRVUZsVml4RlFVRlJWeXhWUVVGWExGbEJRV0VzUTBGRGNFUkRMRWxCUVVzc1YwRkRTQ3hQUVVGUFZpeExRVUZMU1N4VFFVbG9Ra2NzVDBGQlQwTXNaVUZCWlZZc1JVRkJVVmNzVlVGQlZ5eGhRVUZqTEVOQlEzSkVReXhKUVVGTExGZEJRMGdzVDBGQlQxWXNTMEZCUzBNc1ZVRkphRUpOTEU5QlFVOURMR1ZCUVdWV0xFVkJRVkZYTEZWQlFWY3NZVUZCWXl4RFFVTnlSRU1zU1VGQlN5eFhRVWxJTEU5QlNFdFdMRXRCUVV0aExHVkJRV3RDWWl4TFFVRkxZU3hqUVVGalF5eFJRVU0zUTJRc1MwRkJTMkVzWTBGQlowSXNTVUZCU1RkQ0xFVkJRVmxuUWl4TFFVRkxTeXhYUVVWeVEwd3NTMEZCUzJFc2FVSkJTV2hDVGl4UFFVRlBReXhsUVVGbFZpeEZRVUZSVnl4VlFVRlhMR0ZCUVdNc1EwRkRja1JETEVsQlFVc3NWMEZEU0N4UFFVRlBWaXhMUVVGTFN5eFRRVUZUTEVsQlFVMHNVVUZKTDBKRkxFOUJRVTlETEdWQlFXVldMRVZCUVZGWExGVkJRVmNzV1VGQllTeERRVU53UkVNc1NVRkJTeXhYUVVOSUxFOUJRVTlXTEV0QlFVdExMRk5CUVZOTUxFdEJRVXRMTEZOQlFWTlZMRTlCUVZNc1NVRkJUU3hSUVVsMFJGSXNUMEZCVDBNc1pVRkJaVllzUlVGQlVWY3NWVUZCVnl4clFrRkJiVUlzUTBGRE1VUkRMRWxCUVVzc1YwRkRTQ3hKUVVGSlRTeEZRVVZLTEU5QlJFRkJMRVZCUVVsb1FpeExRVUZMUXl4UFFVRlBTU3hUUVVGVFdTeFJRVUZSYWtJc1RVRkRNVUpCTEV0QlFVdERMRTlCUVU5SkxGTkJRVk5YTEVWQlFVa3NTVUZCVFN4UlFVa3hRMVFzVDBGQlQwTXNaVUZCWlZZc1JVRkJVVmNzVlVGQlZ5eGpRVUZsTEVOQlEzUkVReXhKUVVGTExGZEJRMGdzU1VGQlNVMHNSVUZGU2l4UFFVUkJRU3hGUVVGSmFFSXNTMEZCUzBNc1QwRkJUMGtzVTBGQlUxa3NVVUZCVVdwQ0xFMUJRekZDUVN4TFFVRkxReXhQUVVGUFNTeFRRVUZUVnl4RlFVRkpMRWxCUVUwc1VVRkpNVU5VTEU5QlFVOURMR1ZCUVdWV0xFVkJRVkZYTEZWQlFWY3NaMEpCUVdsQ0xFTkJRM2hFUXl4SlFVRkxMRmRCUTBnc1QwRkJUMVlzUzBGQlMydENMRmxCUVdNc1VVRkpPVUpZTEU5QlFVOURMR1ZCUVdWV0xFVkJRVkZYTEZWQlFWY3NZMEZCWlN4RFFVTjBSRU1zU1VGQlN5eFhRVU5JTEVsQlFVbFRMRVZCUVU5RExFVkJRVWRETEVWQlFVdERMRVZCUVUxRExFVkJRM3BDTEVkQlFVbDJRaXhMUVVGTGQwSXNWMEZCWVM5RExFVkJRVk5uUkN4VFFVRlhla0lzUzBGQlMzZENMRmRCUVdFdlF5eEZRVUZUYVVRc2FVSkJRV3RDTEVOQlIzSkdMRWxCUmtGSUxFVkJRVTBzUjBGRlJFZ3NSVUZCU1N4RlFVRkhReXhIUVVSYVF5eEZRVUZQZEVJc1MwRkJTMHNzVlVGRFYxVXNUMEZCVVVzc1JVRkJTVU1zUlVGQlMwUXNTMEZEZEVORUxFVkJRVkZITEVWQlFVdEdMRWxCUTBoUExHTkJRMUpLTEVkQlFVOUtMRVZCUVUxUkxHRkJSMnBDTEU5QlFVOUtMRVZCUlZBc1QwRkJUeXhOUVVkWVN5eEpRVUZMTEZOQlFWTjRRaXhIUVVOYUxFMUJRVTBzU1VGQlNYbENMRTFCUVUwc2MwTkJRWGRETjBJc1MwRkJTemhDTEdkQ1FVbHFSV2hETEVWQlFWRlhMRlZCUVZWelFpeFZRVUZaTEZOQlFWTTVRaXhIUVVOeVF5eEpRVUZKYTBJc1JVRkJUME1zUlVGQlIwTXNSVUZCUzBNc1JVRkJUVlVzUlVGUmVrSXNTVUZRUVdoRExFdEJRVXRETEU5QlFWTkJMRVZCUTFaQkxFbEJRMFpFTEV0QlFVdEZMRkZCUVZWRUxFVkJRVTlETEZGQlEzUkNSaXhMUVVGTFJ5eFZRVUZaUml4RlFVRlBSU3hYUVVjeFFqWkNMRVZCUVZVc1IwRkRURm9zUlVGQlNTeEZRVUZIUXl4SFFVWmFReXhGUVVGUGRFSXNTMEZCUzBzc1ZVRkZWMVVzVDBGQlVVc3NSVUZCU1VNc1JVRkJTMFFzU1VGRGRFTkVMRVZCUVZGSExFVkJRVXRHTEVkQlEySlpMRVZCUVZGRExFdEJRVXRrTEVWQlFVMVpMRlZCUVZVdlFpeFBRVVV2UWl4UFFVRlBaME1zUjBGSFZHeERMRVZCUVZGWExGVkJRVlY1UWl4UlFVRlZMRk5CUVZOMlFpeEZRVUZOZDBJc1JVRkJXVU1zUjBGRGNrUXNTVUZCU1VNc1JVRkJWME1zUlVGQlRXeENMRVZCUVVkdFFpeEZRVUZIUXl4RlFVRkxReXhGUVVGWGNFSXNSVUZCUzNGQ0xFVkJRVTF3UWl4RlFVRk5jVUlzUlVGQlRVTXNSVUZsYkVVc1IwRmtRVWdzUlVGQldTeExRVU5QTEU5QlFXWk9MRWRCUVdkRExFMUJRVkpETEVsQlExQkVMRWRCUVc1Q1lpeEZRVUZQTEVOQlFVTXNSMEZCU1N4UFFVRjVRaXhIUVVGSll5eEZRVUZQWkN4RlFVRkxMRWxCUlhKRExFMUJRV1JoTEVsQlEwWkJMRVZCUVdFc1NVRkZaa0VzUlVGQllTOURMRVZCUVZNclF5eEhRVU5xUWpWRExFVkJRVk0wUXl4TFFVTmxReXhIUVVFelFrOHNSVUZCVHl4RFFVRkRVaXhGUVVGWlF5eEpRVUZ0UWl4SFFVRkpSQ3hGUVVGaFVTeEZRVUZMTEVsQlJXNUVMRTFCUVZKb1F5eEpRVU5HUVN4RlFVRlBka0lzUlVGQlUzVkNMRWxCUldSclF5eE5RVUZOUXl4UlFVRlJia01zUjBGRGFFSXNTVUZCUzFNc1JVRkJTU3hGUVVGSFF5eEZRVUZOVml4RlFVRkxTU3hQUVVGUlN5eEZRVUZKUXl4RlFVRkxSQ3hKUVVOMFEydENMRVZCUVU4elFpeEZRVUZMVXl4SFFVTmFjVUlzUlVGQldYcERMRXRCUVV0clF5eFJRVUZSU1N4UlFVVjBRaXhIUVVGSmFFUXNSVUZCVjNGQ0xFZEJRM0JDT0VJc1JVRkJXWHBETEV0QlFVdHJReXhSUVVGUmRrSXNSVUZCUzI5RExHTkJRM3BDTEVkQlFVbDRSQ3hGUVVGVGIwSXNTVUZEYkVJc1NVRkJTelpDTEV0QlFVODNRaXhGUVVOV0xFZEJRVXRzUWl4RlFVRlJkVVFzUzBGQlMzSkRMRVZCUVUwMlFpeEhRVXQ0UWl4SFFVcEJTU3hGUVVGTmFrTXNSVUZCU3paQ0xFZEJRMUJzUkN4RlFVRlhjMFFzUzBGRFlrRXNSVUZCVFVFc1JVRkJTVWNzVlVGRlVDOURMRXRCUVV0RkxGRkJRVkVyUXl4clFrRkJiMEpxUkN4TFFVRkxSeXhWUVVGVkswTXNaVUZCSzBRc1NVRkJPVU5XTEVWQlFVbDJRaXhSUVVGUmFrSXNTMEZCUzBjc1ZVRkJWU3RETEdWQlF5OUdWQ3hGUVVGWmVrTXNTMEZCUzIxRUxGVkJRVlZZTEVWQlFVbFpMRTlCUVU5d1JDeExRVUZMUnl4VlFVRlZLME1zWTBGQlkyNURMRkZCUVZNMlFpeFJRVU4yUlN4SlFVRkxOVU1zUzBGQlMwVXNVVUZCVVcxRUxHOUNRVUZ6UWxJc1RVRkJUVU1zVVVGQlVVWXNTVUZCVVhaRUxFVkJRVkYxUkN4SFFVTXpSVWdzUlVGQldYcERMRXRCUVV0elJDeGhRVU5hTEVkQlFVa3ZSQ3hGUVVGVGNVUXNTVUZCVVhaRUxFVkJRVkYxUkN4SFFVTnNRMGdzUlVGQldYcERMRXRCUVV0clF5eFJRVUZSVFN4UlFVTndRaXhIUVVGTGVFTXNTMEZCUzBVc1VVRkJVWEZFTEdWQlFYbENMRTFCUVZCWUxFVkJSWEJETEVsQlFVczFReXhMUVVGTFJTeFJRVUZSYlVRc2IwSkJRWE5DVWl4TlFVRk5ReXhSUVVGUlJpeEhRVU16UkN4SlFVRkxUQ3hGUVVGSkxFVkJRVWRITEVWQlFVOUZMRVZCUVVrM1FpeFBRVUZSZDBJc1JVRkJTVWNzUlVGQlRVZ3NTVUZEZGtORUxFVkJRVTlOTEVWQlFVbE1MRWxCUTFoR0xFVkJRVmtzU1VGRFJrY3NSMEZCVDBZc1JVRkRha0pITEVWQlFWbDZReXhMUVVGTGEwTXNVVUZCVVVjc1VVRkZiRUk1UXl4RlFVRlRjVVFzU1VGRFlqVkRMRXRCUVV0RkxGRkJRVkVyUXl4clFrRkJiMEpxUkN4TFFVRkxSeXhWUVVGVmNVUXNaMEpCUVdsRkxFbEJRUzlEYUVJc1JVRkJTWFpDTEZGQlFWRnFRaXhMUVVGTFJ5eFZRVUZWY1VRc1owSkJRMmhIWml4RlFVRlpla01zUzBGQlMydERMRkZCUVZGVkxFbEJSWHBDU0N4RlFVRlpla01zUzBGQlMydERMRkZCUVZGTkxFbEJRMlpPTEZGQlFWRlZMRWRCUjNCQ1NDeEZRVUZaZWtNc1MwRkJTMnRETEZGQlFWRk5MRVZCUVV0SkxGRkJhRUk1UWtnc1JVRkJXWHBETEV0QlFVdHpSQ3hoUVhWQ2JrSmlMRVZCU2xGNlF5eExRVUZMUlN4UlFVRlJjVVFzWlVGQk1FSXNUMEZCVkc1Q0xFZEJSMjVEY0VNc1MwRkJTMFVzVVVGQlVTdERMR3RDUVVGdlFtcEVMRXRCUVV0SExGVkJRVlZ4UkN4blFrRkJhMFVzU1VGQmFFUTNReXhGUVVGTFRTeFJRVUZSYWtJc1MwRkJTMGNzVlVGQlZYRkVMR2RDUVVOeVJuaEVMRXRCUVV0dlF5eExRVUZMUVN4SlFVTmFjRU1zUzBGQlMwVXNVVUZCVVN0RExHdENRVUZ2UW1wRUxFdEJRVXRITEZWQlFWVnpSQ3hwUWtGQmIwVXNTVUZCYWtRNVF5eEZRVUZMVFN4UlFVRlJha0lzUzBGQlMwY3NWVUZCVlhORUxHbENRVU0zUm5wRUxFdEJRVXN3UkN4TlFVRk5kRUlzU1VGRFluQkRMRXRCUVV0RkxGRkJRVkVyUXl4clFrRkJiMEpxUkN4TFFVRkxSeXhWUVVGVmQwUXNiVUpCUVhkRkxFbEJRVzVFYUVRc1JVRkJTMDBzVVVGQlVXcENMRXRCUVV0SExGVkJRVlYzUkN4dFFrRkRMMFl6UkN4TFFVRkxORVFzVVVGQlVYaENMRWxCUTJad1F5eExRVUZMUlN4UlFVRlJLME1zYTBKQlFXOUNha1FzUzBGQlMwY3NWVUZCVlRCRUxHVkJRV2RGTEVsQlFTOURiRVFzUlVGQlMwMHNVVUZCVVdwQ0xFdEJRVXRITEZWQlFWVXdSQ3hsUVVNelJqZEVMRXRCUVVzNFJDeEpRVUZKTVVJc1NVRkRXSEJETEV0QlFVdEZMRkZCUVZFclF5eHJRa0ZCYjBKcVJDeExRVUZMUnl4VlFVRlZORVFzWTBGQk9FUXNTVUZCT1VOd1JDeEZRVUZMVFN4UlFVRlJha0lzUzBGQlMwY3NWVUZCVlRSRUxHTkJRekZHTDBRc1MwRkJTMmRGTEZsQlFWbHlSQ3hGUVVGTGVVTXNUMEZCVDNCRUxFdEJRVXRITEZWQlFWVTBSQ3hoUVVGaGFFUXNVVUZCVTNGQ0xFZEJSV3hGY0VNc1MwRkJTMmxGTEV0QlFVdDBSQ3hGUVVGTmQwSXNSVUZCV1VNc1IwRmlPVUp3UXl4TFFVRkxjMFFzVVVGblFtNUNMRWRCUVdsQ0xFMUJRV0ppTEVWQlEwWXNUVUZCVFN4SlFVRkpXaXhOUVVGTkxIVkRRVUY1UTJ4Q0xFVkJRVThzUzBGQlQxZ3NTMEZCU3poQ0xHRkJSVGxGTEU5QlFVOVhMRWRCUjFRelF5eEZRVUZSVnl4VlFVRlZlVVFzWVVGQlpTeFRRVUZUZGtRc1JVRkJUWGRDTEVWQlFWbERMRWRCUXpGRUxFbEJRVWxxUWl4RlFVRlBTQ3hGUVVGSGJVUXNSVUZCVlVNc1JVRkJWVU1zUlVGRGJFTXNSMEZCV1N4TlFVRlNNVVFzUlVGQlpVRXNSVUZCUzBNc1ZVRkJUeXhGUVZrM1FpeFBRVlpCZDBRc1JVRkJWMnBETEVkQlJGaG5ReXhGUVVGWGVFUXNSMEZGUm05Q0xGVkJRVlV2UWl4TlFVTm1iMFVzUjBGRFJuQkVMRVZCUVVsWUxGTkJRVk5aTEZGQlFWRnRSQ3hIUVVOeVFrTXNSVUZCVldoRkxGTkJRVk5wUlN4UFFVRlBkRVFzUjBGRE1VSllMRk5CUVZNMFFpeExRVUZMYTBNc1IwRkRaSFJDTEUxQlFVMXdReXhWUVVGVmQwSXNTMEZCUzJNc1RVRkJUVEZETEZOQlFWVm5SU3hKUVVWeVEyaEZMRk5CUVZNMFFpeExRVUZMYTBNc1IwRkZWRUVzUlVGRlVDeEhRVUZKYmtVc1MwRkJTM1ZGTEU5QlExQXNUVUZCVFN4SlFVRkpNVU1zVFVGQlRTeDVRMEZCTWtNM1FpeExRVUZMT0VJc1ZVRkJWVzVDTEVsQlRUVkZMRTlCU2tGTExFVkJRVWxvUWl4TFFVRkxReXhQUVVGUFNTeFRRVUZUV1N4UlFVRlJha0lzVFVGRGFrTnhSU3hGUVVGVmNrVXNTMEZCUzBNc1QwRkJUMGtzVTBGQlUybEZMRTlCUVU5MFJDeEhRVU4wUTBjc1JVRkJVVzVDTEV0QlFVdERMRTlCUVU5cFF5eFJRVUZSZGtJc1JVRkJUWGRDTEVWQlFWbERMRWRCUXpsRFV5eE5RVUZOY0VNc1ZVRkJWWGRDTEV0QlFVdGpMRTFCUVUwdlF5eExRVUZMUXl4UFFVRlBTU3hUUVVGVlowVXNSMEZETVVOc1JDeEhRVWxZY2tJc1JVRkJVVmNzVlVGQlZTdEVMRmxCUVdNc1UwRkJVemRFTEVWQlFVMTNRaXhGUVVGWlF5eEhRVU42UkN4SlFVRkpha0lzUlVGQlQwZ3NSVUZCUjNGRUxFVkJRMlFzUjBGQlNYSkZMRXRCUVV0MVJTeFBRVU5RTEUxQlFVMHNTVUZCU1RGRExFMUJRVTBzZVVOQlFUSkROMElzUzBGQlN6aENMRlZCUVZWdVFpeEpRVTAxUlN4UFFVcEJTeXhGUVVGSmFFSXNTMEZCUzBNc1QwRkJUMGtzVTBGQlUxa3NVVUZCVVdwQ0xFMUJRMnBEY1VVc1JVRkJWWEpGTEV0QlFVdERMRTlCUVU5SkxGTkJRVk5wUlN4UFFVRlBkRVFzUlVGQlNTeEhRVU14UTBjc1JVRkJVVzVDTEV0QlFVdERMRTlCUVU5cFF5eFJRVUZSZGtJc1JVRkJUWGRDTEVWQlFWbERMRWRCUXpsRFV5eE5RVUZOY0VNc1ZVRkJWWGRDTEV0QlFVdGpMRTFCUVUwdlF5eExRVUZMUXl4UFFVRlBTU3hUUVVGVlowVXNSMEZETVVOc1JDeEhRVWRVY2tJc1JVRkJVVmNzVlVGQlZXZEZMRTlCUVZNc1YwRkRla0lzU1VGQlNYcEVMRVZCUTBvc1IwRkJTV2hDTEV0QlFVdDFSU3hQUVVOUUxFMUJRVTBzU1VGQlNURkRMRTFCUVUwc2JVTkJRWEZETjBJc1MwRkJTemhDTEdGQlNUVkVMRTlCUmtGa0xFVkJRVWxvUWl4TFFVRkxReXhQUVVGUFNTeFRRVUZUV1N4UlFVRlJha0lzVFVGRGFrTXNSMEZCUjNORkxFOUJRVTkyUWl4TlFVRk5MME1zUzBGQlMwTXNUMEZCVDBrc1UwRkJWU3hEUVVGRFZ5eEZRVUZIUVN4RlFVRkpRU3hGUVVGSkxFZEJRVWN3UkN4UFFVRmpMRXRCUXpWRU1VVXNTMEZCUzBNc1VVRkhaRWdzUlVGQlVWY3NWVUZCVlhkRUxFdEJRVThzVTBGQlUzUkVMRVZCUVUxM1FpeEZRVUZaUXl4SFFVTnNSQ3hKUVVGSmFrSXNSVUZCVDBjc1JVRmpXQ3hQUVdKWkxFMUJRVkpZTEVsQlEwWkJMRVZCUVU5MlFpeEZRVUZUZFVJc1NVRkZiRUozUWl4SlFVRmxRU3hGUVVGaExFbEJRelZDUVN4RlFVRmhMME1zUlVGQlV5dERMRWRCUTJwQ05VTXNSVUZCVXpSRExFdEJRMlZETEVkQlFUTkNaQ3hGUVVGUExFTkJRVU5oTEVWQlFWbERMRWxCUVcxQ0xFZEJRVWxFTEVWQlFXRmlMRVZCUVVzc1NVRkZMMFJJTEVWQlFWRXNTVUZCU1hCRExFVkJRVmRwUWl4TFFVRk5WeXhGUVVGTmQwSXNSMEZEZGtJc1RVRkJVa01zUjBGRFJtcENMRVZCUVUxcFFpeExRVUZMUVN4SFFVVmljRU1zUzBGQlMwc3NVMEZCVXpSQ0xFdEJRVXRrTEVkQlExcEJMRWRCUjFSeVFpeEZRVUZSVnl4VlFVRlZNa0lzUzBGQlR5eFRRVUZUYUVNc1IwRkRhRU1zU1VGQlNXVXNSVUZOU2l4UFFVeEpOVUlzUlVGQlUyRXNTVUZEV0Vvc1MwRkJTMnRETEZGQlFWRTVRaXhIUVVWbVpTeEZRVUZSTEVsQlFVbG9ReXhGUVVGUllTeExRVUZOU1N4SFFVTXhRa29zUzBGQlMwc3NVMEZCVXpSQ0xFdEJRVXRrTEVkQlExcHVRaXhOUVVkVVJpeEZRVUZSVnl4VlFVRlZhVVFzVFVGQlVTeFRRVUZUZEVRc1IwRkRha01zU1VGQlNXVXNSVUZIU2l4UFFVWkJRU3hGUVVGUkxFbEJRVWw2UXl4RlFVRlRjMElzUzBGQlRVa3NSMEZETTBKS0xFdEJRVXRMTEZOQlFWTTBRaXhMUVVGTFpDeEhRVU5hYmtJc1RVRkhWRVlzUlVGQlVWY3NWVUZCVlcxRUxGRkJRVlVzVTBGQlUzaEVMRWRCUTI1RExFbEJRVWxsTEVWQlIwb3NUMEZHUVVFc1JVRkJVU3hKUVVGSmVFTXNSVUZCVjNGQ0xFdEJRVTFKTEVkQlF6ZENTaXhMUVVGTFN5eFRRVUZUTkVJc1MwRkJTMlFzUjBGRFdtNUNMRTFCUjFSR0xFVkJRVkZYTEZWQlFWVnJSU3hqUVVGblFpeFRRVUZUZGtVc1IwRkRla01zU1VGQlYxa3NSVUZCUjNGRUxFVkJTMlFzVDBGS1FYSkVMRVZCUVVsb1FpeExRVUZMUXl4UFFVRlBTU3hUUVVGVFdTeFJRVUZSYWtJc1RVRkRha054UlN4RlFVRlZja1VzUzBGQlMwTXNUMEZCVDBrc1UwRkJVMmxGTEU5QlFVOTBSQ3hIUVVNNVFtaENMRXRCUVV0RExFOUJRVTh5UkN4UlFVRlJlRVFzUjBGRE5VSjVReXhOUVVGTmNFTXNWVUZCVlhkQ0xFdEJRVXRqTEUxQlFVMHZReXhMUVVGTFF5eFBRVUZQU1N4VFFVRlZaMFVzUjBGRE1VTnlSU3hOUVVkVVJpeEZRVUZSVnl4VlFVRlZiVVVzWVVGQlpTeFRRVUZUZUVVc1IwRkRlRU1zU1VGQlYxa3NSVUZCUjNGRUxFVkJTMlFzVDBGS1FYSkVMRVZCUVVsb1FpeExRVUZMUXl4UFFVRlBTU3hUUVVGVFdTeFJRVUZSYWtJc1RVRkRha054UlN4RlFVRlZja1VzUzBGQlMwTXNUMEZCVDBrc1UwRkJVMmxGTEU5QlFVOTBSQ3hGUVVGSkxFZEJRMnhEYUVJc1MwRkJTME1zVDBGQlR6SkVMRkZCUVZGNFJDeEhRVU0xUW5sRExFMUJRVTF3UXl4VlFVRlZkMElzUzBGQlMyTXNUVUZCVFM5RExFdEJRVXRETEU5QlFVOUpMRk5CUVZWblJTeEhRVU14UTNKRkxFMUJSMVJHTEVWQlFWRlhMRlZCUVZWeFJDeEpRVUZOTEZOQlFWTXhSQ3hIUVVNdlFpeEpRVUZKWlN4RlFVZEtMRTlCUmtGQkxFVkJRVkVzU1VGQlNXcERMRVZCUVU5akxFdEJRVTFKTEVkQlEzcENTaXhMUVVGTFN5eFRRVUZUTkVJc1MwRkJTMlFzUjBGRFdtNUNMRTFCUjFSR0xFVkJRVkZYTEZWQlFWVTJReXhOUVVGUkxGZEJSM2hDTEU5QlJGRXNTVUZCU1hoRkxFVkJRVk5yUWl4UFFVbDJRa1lzUlVGQlVWY3NWVUZCVlhWRUxGbEJRV01zVTBGQlUyRXNSVUZCVVhwRkxFZEJReTlETEVsQlFVa3dSU3hGUVVGWFF5eEZRVUZWWml4RlFVRmhOVU1zUlVGQlIwTXNSVUZQZWtNc1IwRk9ZeXhOUVVGV2QwUXNTVUZEUmtFc1JVRkJVM3BHTEVWQlFWTjVSaXhKUVVWUUxFMUJRVlI2UlN4SlFVTkdRU3hGUVVGUmFFSXNSVUZCVTJkQ0xFbEJSV1o1UXl4TlFVRk5ReXhSUVVGUkswSXNSMEZEYUVJc1NVRkJTM3BFTEVWQlFVa3NSVUZCUjBNc1JVRkJUWGRFTEVWQlFVODVSQ3hQUVVGUlN5eEZRVUZKUXl4RlFVRkxSQ3hKUVVONFF6QkVMRVZCUVZsRUxFVkJRVTk2UkN4SFFVTnVRbkJDTEV0QlFVdG5SU3haUVVGWll5eFJRVVZrTEVkQlFVbDJSaXhGUVVGVGMwWXNSMEZEYkVJc1NVRkJTME1zUzBGQllVUXNSVUZEV0hCR0xFVkJRVkYxUkN4TFFVRkxOa0lzUlVGQlVVTXNTMEZETVVKRExFVkJRVmRHTEVWQlFVOURMRWRCUTJ4Q09VVXNTMEZCUzJkRkxGbEJRVmxqTEVWQlFWZERMRk5CUnpGQ2VrWXNSVUZCVjJNc1MwRkRZa0VzUlVGQlVVRXNSVUZCVFRKRExGTkJSV2hDYVVJc1JVRkJZeXhKUVVGSkwwVXNSVUZCZVVKbExFdEJRVTAyUlN4RlFVRlJla1VzUjBGRGVrUktMRXRCUVV0TExGTkJRVk0wUWl4TFFVRkxLMElzUjBGRmNrSXNUMEZCVDJoRkxFMUJSMVJHTEVWQlFWRlhMRlZCUVZWMVJTeHJRa0ZCYjBJc1UwRkJVMGdzUlVGQlVYcEZMRWRCUTNKRUxFbEJRVmRaTEVWQlFVZHhSQ3hGUVV0a0xFOUJTa0Z5UkN4RlFVRkphRUlzUzBGQlMwTXNUMEZCVDBrc1UwRkJVMWtzVVVGQlVXcENMRTFCUTJwRGNVVXNSVUZCVlhKRkxFdEJRVXRETEU5QlFVOUpMRk5CUVZOcFJTeFBRVUZQZEVRc1IwRkRPVUpvUWl4TFFVRkxReXhQUVVGUEswUXNXVUZCV1dFc1JVRkJVWHBGTEVkQlEzaERlVU1zVFVGQlRYQkRMRlZCUVZWM1FpeExRVUZMWXl4TlFVRk5MME1zUzBGQlMwTXNUMEZCVDBrc1UwRkJWV2RGTEVkQlF6RkRja1VzVFVGSFZFWXNSVUZCVVZjc1ZVRkJWWGRGTEdsQ1FVRnRRaXhUUVVGVFNpeEZRVUZSZWtVc1IwRkRjRVFzU1VGQlYxa3NSVUZCUjNGRUxFVkJTMlFzVDBGS1FYSkVMRVZCUVVsb1FpeExRVUZMUXl4UFFVRlBTU3hUUVVGVFdTeFJRVUZSYWtJc1RVRkRha054UlN4RlFVRlZja1VzUzBGQlMwTXNUMEZCVDBrc1UwRkJVMmxGTEU5QlFVOTBSQ3hGUVVGSkxFZEJRMnhEYUVJc1MwRkJTME1zVDBGQlR5dEVMRmxCUVZsaExFVkJRVkY2UlN4SFFVTjRRM2xETEUxQlFVMXdReXhWUVVGVmQwSXNTMEZCUzJNc1RVRkJUUzlETEV0QlFVdERMRTlCUVU5SkxGTkJRVlZuUlN4SFFVTXhRM0pGTEUxQlIxUkdMRVZCUVZGWExGVkJRVlY1UlN4WlFVRmpMRk5CUVZORExFVkJRVk5ETEVWQlFWVkRMRWRCUXpGRUxFbEJRVWxETEVWQlFVdERMRVZCVlZRc1QwRlVRVVFzUlVGQlRYUkdMRXRCUVV0clFpeFhRVU5ZY1VVc1JVRkJVeXhKUVVGSk0wY3NSVUZCWlRCSExFVkJRVXRJTEVWQlFWTkRMRVZCUVZWRExFZEJRM2hDTEVsQlFYaENReXhGUVVGSmFrWXNVMEZCVTFVc1QwRkRablZGTEVWQlFVbHFSaXhUUVVGVGJVWXNVVUZCVVVRc1IwRkRXa1FzUlVGQlNXcEdMRk5CUVZNc1IwRkJSMDhzVDBGQlUyNURMRVZCUVZOblNDeFpRVU16UTBnc1JVRkJTV3BHTEZOQlFWTXNSMEZCUzJ0R0xFVkJSV3hDUkN4RlFVRkpha1lzVTBGQlUyMUdMRkZCUVZGRUxFZEJSV2hDUkN4RlFVRkpTU3hSUVVGVlNpeEhRVWQyUW5oR0xFVkJRVkZYTEZWQlFWVnJSaXhKUVVGTkxGTkJRVk5ETEVWQlFVOURMRWRCUTNSRExFbEJRVmRRTEVWQlFVdFJMRVZCUVZNNVJTeEZRVUZIU1N4RlFVRkhiVUlzUlVGQlIyeENMRVZCUVV0eFFpeEZRVUZOY0VJc1JVRkJUWEZDTEVWQlNXNUVMRWxCU0VFeVF5eEZRVUZOZEVZc1MwRkJTMnRDTEZkQlExZzBSU3hGUVVGVkxFbEJRVWxxU0N4RlFVRlhlVWNzUlVGQlMwMHNSVUZCVDBNc1IwRkZhRU0zUlN4RlFVRkpTU3hGUVVGSkxFVkJRVWRETEVkQlJHaENReXhGUVVGUFowVXNSVUZCU1dwR0xGVkJRMmRDVlN4UFFVRlJTeXhGUVVGSlF5eEZRVUZMVEN4SlFVRk5TU3hGUVVWb1JDeEhRVVJSUlN4RlFVRkxUaXhIUVVOSVNpeFBRVUZUYmtNc1JVRkJVM05JTEZGQlJURkNMRTlCUkVGVUxFVkJRVWxxUml4VFFVRlRWeXhIUVVGTE9FVXNSVUZEV0VFc1JVRkpXQ3hKUVVGTE9VVXNSVUZCU1hWQ0xFVkJRVWtzUlVGQlIwY3NSMEZFYUVKRExFVkJRVTh5UXl4RlFVRkpha1lzVlVGRGFVSlZMRTlCUVZGM1FpeEZRVUZKUnl4RlFVRk5NVUlzU1VGQlRYVkNMRVZCUld4RUxFZEJSRkZKTEVWQlFVc3pRaXhIUVVOSWRVUXNUMEZGVWl4UFFVUkJaU3hGUVVGSmFrWXNVMEZCVTJsRkxFOUJRVTkwUkN4RlFVRkhMRVZCUVVjNFJTeEhRVU51UWtFc1JVRkpXQ3hQUVVSQlVpeEZRVUZKYWtZc1UwRkJVelJDTEV0QlFVczJSQ3hIUVVOWVFTeEhRVWRVYUVjc1JVRkJVVmNzVlVGQlZYVkdMRWRCUVVzc1YwRkRja0lzUjBGQlNXaEhMRXRCUVV0MVJTeFBRVU5RTEUxQlFVMHNTVUZCU1RGRExFMUJRVTBzYTBaQlJXeENMRTlCUVU4M1FpeExRVUZMUXl4UlFVZGtTQ3hGUVVGUlZ5eFZRVUZWYVVZc1MwRkJUeXhYUVVOMlFpeEpRVUZKZWtJc1JVRkZTaXhKUVVSQlFTeEZRVUZQYWtVc1MwRkRRV2xGTEVkQlFVMHNRMEZEV0N4SFFVRkpRU3hGUVVGTGNrUXNUMEZCVTI1RExFVkJRVk4zU0N4VFFVTjZRaXhQUVVGUGFFTXNSVUZCUzJsRExGZEJRMUFzUjBGQlNXcERMRVZCUVV0TkxFOUJRMlFzVDBGQlQwNHNSVUZGVUVFc1JVRkJUMEVzUlVGQlMyaEZMRk5CUzJ4Q1NDeEZRVUZSVnl4VlFVRlZVeXhUUVVGWExGZEJRek5DTEVsQlFVa3JReXhGUVVWS0xFbEJSRUZCTEVWQlFVOXFSU3hMUVVOQmFVVXNSMEZCVFN4RFFVTllMRWRCUVVsQkxFVkJRVXR5UkN4UFFVRlRia01zUlVGQlUzZElMRk5CUTNwQ0xFOUJRVTlvUXl4RlFVVlFRU3hGUVVGUFFTeEZRVUZMYUVVc1UwRkxiRUpJTEVWQlFWRlhMRlZCUVZVd1JpeEpRVUZOTEZOQlFWTnFSeXhIUVVNdlFpeFBRVUZQUml4TFFVRkxhMElzVjBGQlYybEdMRWxCUVVscVJ5eEpRVWMzUWtvc1JVRkJVVmNzVlVGQlZUSkdMRXRCUVU4c1YwRkRka0lzU1VGQlNYQkdMRVZCUlVvc1NVRkVRVUVzUlVGQlNXaENMRXRCUVV0RExFOUJRVTlKTEZOQlFWTlpMRkZCUVZGcVFpeFBRVU42UWl4RlFVTk9MRTFCUVUwc1NVRkJTVFpDTEUxQlFVMHNPRUpCUVdkRE4wSXNTMEZCU3poQ0xHRkJSWFpFTEU5QlFVODVRaXhMUVVGTFF5eFBRVUZQU1N4VFFVRlRWeXhGUVVGSkxFbEJSMnhEYkVJc1JVRkJVVmNzVlVGQlZUUkdMRXRCUVU4c1YwRkRka0lzU1VGQlNYSkdMRVZCUlVvc1NVRkJWeXhMUVVSWVFTeEZRVUZKYUVJc1MwRkJTME1zVDBGQlQwa3NVMEZCVTFrc1VVRkJVV3BDTEZGQlEycENaMElzU1VGQlRXaENMRXRCUVV0RExFOUJRVTlKTEZOQlFWTlZMRTlCUVZNc1JVRkRiRVFzVFVGQlRTeEpRVUZKWXl4TlFVRk5MRFpDUVVFclFqZENMRXRCUVVzNFFpeGhRVVYwUkN4UFFVRlBPVUlzUzBGQlMwTXNUMEZCVDBrc1UwRkJVMWNzUlVGQlNTeEpRVWRzUTJ4Q0xFVkJRVkZYTEZWQlFWVTJSaXhsUVVGcFFpeFRRVUZUYUVJc1IwRkRNVU1zU1VGQlNXbENMRVZCUzBvc1QwRktRVUVzUlVGQllXcENMRVZCUVVsSkxFOUJRVTlqTEZOQlEySjJSeXhQUVVGVFJDeExRVU53UW5WSExFVkJRVmRvUXl4UlFVRlRMRVZCUTNCQ2RrVXNTMEZCUzBzc1UwRkJVelJDTEV0QlFVdHpSU3hIUVVOYWRrY3NUVUZIVkVZc1JVRkJVVmNzVlVGQlZYRkNMRlZCUVZrc1UwRkJVMjVDTEVkQlEzSkRMRWxCUVVsWExFVkJRVTF4UWl4RlFVVldMRTlCUVdFc1QwRkVZbWhETEVWQlFVOUJMRWRCUVZGWUxFdEJRVXRYTEZGQlF6UkNMRTlCUVhaQ1Z5eEZRVUZQZEVJc1MwRkJTME1zVVVGQmEwSnhRaXhGUVVGTFdDeFZRVUZQTEVkQlJXaEVMRTFCUVZKQkxFVkJRMFlzV1VGQlkxZ3NTMEZCUzBNc1QwRkJUMVVzUzBGQlR5eExRVU5NTEU5QlFYWkNaME1zUlVGQlR6TkRMRXRCUVV0RExGRkJRV3RDTUVNc1JVRkJTMmhETEZWQlFVOHNSMEZITDBNc1ZVRkJXVUVzUlVGQlR5eGxRVUZwUWxnc1MwRkJTME1zVDBGQlQxVXNTMEZCVHl4SlFVWjJSQ3hWUVVGWlFTeEZRVUZQTEVsQlNtNUNMRWxCVlZoaUxFVkJRVkZYTEZWQlFWVm5SeXhKUVVGTkxGTkJRVk01Uml4RlFVRk5kMElzUlVGQldVTXNSMEZEYWtRc1QwRkJUM0JETEV0QlFVdHJReXhSUVVGUmRrSXNSVUZCVFhkQ0xFVkJRVmxETEVsQlIzaERkRU1zUlVGQlVWY3NWVUZCVldsSExFbEJRVTBzVTBGQlV5OUdMRVZCUVUxM1FpeEZRVUZaUXl4SFFVTnFSQ3hQUVVGUGNFTXNTMEZCUzJsRkxFdEJRVXQwUkN4RlFVRk5kMElzUlVGQldVTXNTVUZIY2tOMFF5eEZRVUZSVnl4VlFVRlZhMGNzU1VGQlRTeFRRVUZUZGtjc1IwRkRMMElzVDBGQlQwb3NTMEZCUzI5RExFdEJRVXRvUXl4SlFVZHVRazRzUlVGQlVWY3NWVUZCVlcxSExFbEJRVTBzVTBGQlUzaEhMRWRCUXk5Q0xFOUJRVTlLTEV0QlFVc3dSQ3hOUVVGTmRFUXNTVUZIY0VKT0xFVkJRVkZYTEZWQlFWVnZSeXhKUVVGTkxGTkJRVk42Unl4SFFVTXZRaXhQUVVGUFNpeExRVUZMTkVRc1VVRkJVWGhFTEVsQlIzUkNUaXhGUVVGUlZ5eFZRVUZWY1Vjc1NVRkJUU3hUUVVGVGFrTXNSVUZCVVhwRkxFZEJRM1pETEU5QlFVOUtMRXRCUVV0blJTeFpRVUZaWVN4RlFVRlJla1VzU1VGSGJFTk9MRVZCUVZGWExGVkJRVlUyUlN4SlFVRk5MRmRCUTNSQ0xFOUJRVTkwUml4TFFVRkxhMElzV1VGSFpIQkNMRVZCUVZGWExGVkJRVlZ6Unl4SlFVRk5MRk5CUVZNMVFpeEZRVUZUUXl4RlFVRlZReXhIUVVOc1JDeFBRVUZQY2tZc1MwRkJTMnRHTEZsQlFWbERMRVZCUVZORExFVkJRVlZETEVsQlJ6ZERka1lzUlVGQlVWY3NWVUZCVlhWSExFVkJRVWtzVTBGQlUzSkhMRVZCUVUxM1FpeEZRVUZaUXl4SFFVTXZReXhQUVVGUGNFTXNTMEZCUzJ0RExGRkJRVkYyUWl4RlFVRk5kMElzUlVGQldVTXNTVUZIZUVOMFF5eEZRVUZSVnl4VlFVRlZkMGNzUlVGQlNTeFRRVUZUZEVjc1JVRkJUWGRDTEVWQlFWbERMRWRCUXk5RExFOUJRVTl3UXl4TFFVRkxhVVVzUzBGQlMzUkVMRVZCUVUxM1FpeEZRVUZaUXl4SlFVZHlRM1JETEVWQlFWRlhMRlZCUVZWNVJ5eEZRVUZKTEZOQlFWTTVSeXhIUVVNM1FpeFBRVUZQU2l4TFFVRkxiME1zUzBGQlMyaERMRWxCUjI1Q1RpeEZRVUZSVnl4VlFVRlZNRWNzUlVGQlNTeFRRVUZUTDBjc1IwRkROMElzVDBGQlQwb3NTMEZCU3pCRUxFMUJRVTEwUkN4SlFVZHdRazRzUlVGQlVWY3NWVUZCVlRKSExFVkJRVWtzVTBGQlUyaElMRWRCUXpkQ0xFOUJRVTlLTEV0QlFVczBSQ3hSUVVGUmVFUXNTVUZIZEVKT0xFVkJRVkZYTEZWQlFWVTBSeXhGUVVGSkxGTkJRVk5xU0N4SFFVTTNRaXhQUVVGUFNpeExRVUZMT0VRc1NVRkJTVEZFTEVsQlIyeENUaXhGUVVGUlZ5eFZRVUZWVHl4RlFVRkpMRk5CUVZNMlJDeEZRVUZSZWtVc1IwRkRja01zVDBGQlQwb3NTMEZCUzJkRkxGbEJRVmxoTEVWQlFWRjZSU3hKUVVkc1EwNHNSVUZCVVZjc1ZVRkJWVFpITEVWQlFVa3NWMEZEY0VJc1QwRkJUM1JJTEV0QlFVdG5SeXhOUVVka2JFY3NSVUZCVVZjc1ZVRkJWVGhITEdsQ1FVRnRRaXhUUVVGVGFrTXNSMEZETlVNc1QwRkJUM1JHTEV0QlFVdHpSeXhsUVVGbGFFSXNTVUZITjBKNFJpeEZRVUZSVnl4VlFVRlZLMGNzWVVGQlpTeFRRVUZUY2tRc1JVRkJWWE5FTEVkQlEyeEVMRTFCUVUwc1NVRkJTVFZHTEUxQlFVMHNjME5CUVhkRE4wSXNTMEZCU3poQ0xHTkJSeTlFYUVNc1JVRkJVVmNzVlVGQlZXbElMRmxCUVdNc1UwRkJVMFFzUjBGRGRrTXNUVUZCVFN4SlFVRkpOVVlzVFVGQlRTeHpRMEZCZDBNM1FpeExRVUZMT0VJc1kwRkhMMFJvUXl4RlFVRlJWeXhWUVVGVmEwZ3NXVUZCWXl4VFFVRlRlRVFzUjBGRGRrTXNUVUZCVFN4SlFVRkpkRU1zVFVGQlRTeHpRMEZCZDBNM1FpeExRVUZMT0VJc1kwRkhMMFJvUXl4RlFVRlJWeXhWUVVGVmJVZ3NZMEZCWjBJc1YwRkRhRU1zVDBGQlowTXNTVUZCZWtJMVNDeExRVUZMU3l4VFFVRlRWU3hSUVVkMlFtcENMRVZCUVZGWExGVkJRVlZ2U0N4VlFVRlpMRk5CUVZORExFZEJRM0pETEUxQlFVMHNTVUZCU1dwSExFMUJRVTBzYzBOQlFYZEROMElzUzBGQlN6aENMR05CUnk5RWFFTXNSVUZCVVZjc1ZVRkJWWE5JTEZWQlFWa3NWMEZETlVJc1RVRkJUU3hKUVVGSmJFY3NUVUZCVFN4elEwRkJkME0zUWl4TFFVRkxPRUlzWTBGSEwwUm9ReXhGUVVGUlZ5eFZRVUZWZFVnc1dVRkJZeXhUUVVGVFF5eEZRVUZUT1VNc1IwRkRhRVFzVDBGQlR5eEhRVWRVY2tZc1JVRkJVVmNzVlVGQlZYbElMR05CUVdkQ0xGZEJRMmhETEU5QlFTdENMRWxCUVhoQ2JFa3NTMEZCUzIxSkxGRkJRVkZ3U0N4UlFVZDBRbXBDTEVWQlFWRlhMRlZCUVZVeVNDeDNRa0ZCTUVJc1UwRkJVME1zUjBGRGJrUXNTVUZCVTBNc1JVRkZWQ3hQUVVSTmRFa3NTMEZCUVVFc1QwRkRUWEZKTEVWQlEwZ3NSVUZEUlhKSkxFdEJRVXRyUWl4aFFVRmxiVWdzUlVGQlRXNUlMRmxCUTI1RGIwZ3NSVUZCVFRsS0xFVkJRV2xDSzBvc1lVRkJaUzlLTEVWQlFXbENaMHNzZFVKQlEyNUVReXhMUVVGTFF5eFRRVUZYTEVkQlEyeENTaXhIUVVGUE9Vb3NSVUZCYVVKdFN5eFZRVVY0UWt3c1IwRkJUemxLTEVWQlFXbENiMHNzVlVGRmJrSk9MRWRCVmtoMFNTeExRVmRUTmtrc1YwRkJWMUlzUjBGRGFrSTNTaXhGUVVGcFFuTkxMRk5CUVZkMFN5eEZRVUZwUW0xTExGVkJXbWhFTTBrc1MwRmhVeXRKTEdGQlFXRldMRWRCUTI1Q04wb3NSVUZCYVVKelN5eFRRVUZYZEVzc1JVRkJhVUp2U3l4VlFXUm9SRFZKTEV0QlpWTm5TaXhaUVVGWldDeEhRVU5zUWpkS0xFVkJRV2xDYlVzc1ZVRkZha0p1U3l4RlFVRnBRbTlMTEZkQlNUVkNPVWtzUlVGQlVWY3NWVUZCVlhkSkxGZEJRV0VzVTBGQlUxb3NSMEZEZEVNc1RVRkJUU3hKUVVGSmVFY3NUVUZCVFN4elEwRkJkME0zUWl4TFFVRkxPRUlzWTBGSEwwUm9ReXhGUVVGUlZ5eFZRVUZWZVVrc1lVRkJaU3hUUVVGVFF5eEhRVU40UXl4TlFVRk5MRWxCUVVsMFNDeE5RVUZOTEhORFFVRjNRemRDTEV0QlFVczRRaXhqUVVjdlJHaERMRVZCUVZGWExGVkJRVlV5U1N4dFFrRkJjVUlzVTBGQlUwUXNSMEZET1VNc1RVRkJUU3hKUVVGSmRFZ3NUVUZCVFN4elEwRkJkME0zUWl4TFFVRkxPRUlzWTBGSEwwUm9ReXhGUVVGUlZ5eFZRVUZWTkVrc2JVSkJRWEZDTEZOQlFWTkRMRWRCUXpsRExFMUJRVTBzU1VGQlNYcElMRTFCUVUwc2MwTkJRWGRETjBJc1MwRkJTemhDTEdOQlJ5OUVhRU1zUlVGQlVWY3NWVUZCVlRoSkxGbEJRV01zVTBGQlUzUkdMRWRCUTNaRExFbEJRVWxxUkN4RlFVRkhTU3hGUVVGSFJTeEZRVU5XTEVkQlFVa3lReXhGUVVGTGVrTXNWMEZCWVhoQ0xFdEJRVXQzUWl4VFFVTjZRaXhQUVVGUExFVkJSVlFzUjBGQlNYbERMRVZCUVVzMVJDeFRRVUZUVlN4VFFVRlhaaXhMUVVGTFN5eFRRVUZUVlN4UFFVTjZReXhQUVVGUExFVkJSVlFzU1VGQlMwTXNSVUZCU1Vrc1JVRkJTU3hGUVVGSFJTeEZRVUZQZEVJc1MwRkJTMHNzVTBGQlUxVXNUMEZCVXl4RlFVRkhMRWRCUVV0UExFVkJRVTlHTEVkQlFVdEZMRVZCUVU5R0xFZEJRVXRGTEVWQlFVMU9MRVZCUVVrc1IwRkJTMDBzU1VGQlUwWXNTVUZCVFVFc1JVRkRNVWNzU1VGQlMzQkNMRXRCUVV0TExGTkJRVk5YTEVkQlFVZDFTU3haUVVGWmRFWXNSVUZCU3pWRUxGTkJRVk5YTEVsQlF6bERMRTlCUVU4c1JVRkhXQ3hQUVVGUExFZEJSMVJzUWl4RlFVRlJWeXhWUVVGVkswa3NWMEZCWVN4VFFVRlRka0lzUlVGQlV6bERMRWRCUXk5RExFMUJRVTBzU1VGQlNYUkVMRTFCUVUwc2MwTkJRWGRETjBJc1MwRkJTemhDTEdOQlJ5OUVhRU1zUlVGQlVWY3NWVUZCVldkS0xGbEJRV01zVTBGQlUycElMRVZCUVV0clNDeEZRVUZOUXl4SFFVTnNSQ3hOUVVGTkxFbEJRVWs1U0N4TlFVRk5MSE5EUVVGM1F6ZENMRXRCUVVzNFFpeGpRVWN2UkdoRExFVkJRVkZYTEZWQlFWVnRTaXhaUVVGakxGTkJRVk53U0N4SFFVTjJReXhOUVVGTkxFbEJRVWxZTEUxQlFVMHNjME5CUVhkRE4wSXNTMEZCU3poQ0xHTkJSeTlFYUVNc1JVRkJVVmNzVlVGQlZXOUtMRk5CUVZjc1UwRkJVM2hDTEVkQlEzQkRMRkZCUVV0QkxFbEJSMFZCTEVsQlFWVnlTU3hOUVVGUlFTeExRVUZMSzBrc1lVRkJZVllzUzBGSE4wTjJTU3hGUVVGUlZ5eFZRVUZWYzBrc1lVRkJaU3hUUVVGVE9VVXNSMEZEZUVNc1NVRkJTVGxETEVWQlFUQkNReXhGUVVGSFF5eEZRVUZMUXl4RlFVVjBReXhKUVVGTFJpeEZRVUZKTEVWQlFVZERMRWRCUkZwRExFVkJRVTkwUWl4TFFVRkxTeXhWUVVOWFZTeFBRVUZSU3l4RlFVRkpReXhGUVVGTFJDeEpRVUZMTEVOQlJUTkRMRWRCUVVrMlF5eExRVVJLT1VNc1JVRkJVVWNzUlVGQlMwWXNTVUZGV0N4UFFVRlBMRVZCUjFRc1IwRkViMEpFTEVWQlFVMDBTQ3hoUVVGaE9VVXNSMEZGY2tNc1QwRkJUeXhGUVVkWUxFOUJRVThzUjBGSFZHNUZMRVZCUVZGWExGVkJRVlZ2U1N4WFFVRmhMRk5CUVZNMVJTeEhRVU4wUXl4UFFVRlBRU3hGUVVGTE9FVXNZVUZCWVM5SkxFOUJSek5DUml4RlFVRlJWeXhWUVVGVmRVa3NXVUZCWXl4VFFVRlRMMFVzUjBGRGRrTXNTVUZCU1RaR0xFVkJRVk5ETEVWQlIySXNUMEZHUVVRc1JVRkJWVGxLTEV0QlFVdG5TeXhoUVVGaEwwWXNSMEZETlVJNFJpeEZRVUZWTDBvc1MwRkJTMmRMTEdGQlFXRm9TeXhQUVVOWUxFbEJRV0k0U2l4SlFVRXJRaXhKUVVGaVF5eEhRVWRpUkN4RlFVRlZReXhIUVVseVFtcExMRVZCUVZGWExGVkJRVlYzU2l4WlFVRmpMRk5CUVZOb1J5eEhRVU4yUXl4SlFVRkpOa1lzUlVGQlUwTXNSVUZIWWl4UFFVWkJSQ3hGUVVGVk9Vb3NTMEZCUzJkTExHRkJRV0V2Uml4SFFVTTFRamhHTEVWQlFWVXZTaXhMUVVGTFowc3NZVUZCWVdoTExFOUJRMWdzU1VGQllqaEtMRWxCUVN0Q0xFbEJRV0pETEVkQlIySkVMRVZCUVZWRExFZEJTWEpDYWtzc1JVRkJVVmNzVlVGQlZYVktMR0ZCUVdVc1UwRkJVeTlHTEVkQlEzaERMRWxCUVVscFJ5eEZRVUZQUXl4RlFWTllMRTlCVWtGQkxFVkJRVTBzUlVGRFRrUXNSMEZCVVN4RlFVTlNiRXNzUzBGQlMyOUxMR2RDUVVGblFuQkxMRXRCUVV0clFpeFhRVUZaTEZOQlFWTnRRaXhIUVVVM1F5eEhRVVJCT0Vnc1MwRkRTMFFzUjBGQlV6ZElMRWxCUVdNMFFpeEZRVU14UWl4UFFVRlBhVWNzUjBGQlVTeEpRVWRtUVN4RlFVTkxReXhIUVVWRExFZEJTVnB5U3l4RlFVRlJWeXhWUVVGVk1rb3NaMEpCUVd0Q0xGTkJRVk51Unl4RlFVRk5iMGNzUjBGRGFrUXNTVUZCU1d4S0xFVkJRVTlETEVWQlFVZERMRVZCUVV0RExFVkJRVTFuU0N4RlFVZDZRaXhKUVVaQmNrVXNTVUZCVTBFc1JVRkJUMnBGTEV0QlFVdHJRaXhaUVVWb1FrVXNSVUZCU1N4RlFVRkhReXhIUVVSYVF5eEZRVUZQTWtNc1JVRkJTelZFTEZWQlExZFZMRTlCUVZGTExFVkJRVWxETEVWQlFVdEVMRWxCUVVzc1EwRkZNME1zUjBGQlNXdElMRVZCUVUwclFpeEZRVVJXYkVvc1JVRkJVVWNzUlVGQlMwWXNTVUZGV0N4UFFVRlBhMGdzUlVGSFVDeEhRVVJCUVN4RlFVRk5kRWtzUzBGQlMyOUxMR2RDUVVGblFtcEtMRVZCUVU5clNpeEhRVVZvUXl4UFFVRlBMMElzU1VGTlVuaEpMRVZCTTNWQ2EwSXNTMEVyZFVJeFFtdEVMRXRCUVV0b1JDSXNJbVpwYkdVaU9pSXZhRzl0WlM5NmFXNXZMM0J5YjJwbFkzUnpMM05sWVhSdFlYQjJNaTl0WVhOMFpYSXZjMlZoZEcxaGNIWXlMMk5zYVdWdWRDOXViMlJsWDIxdlpIVnNaWE12ZUcxc1luVnBiR1JsY2k5c2FXSXZXRTFNVG05a1pTNXFjeUo5IiwiKGZ1bmN0aW9uKCl7bW9kdWxlLmV4cG9ydHM9ZnVuY3Rpb24oKXtmdW5jdGlvbiB0KHQpe3RoaXMubm9kZXM9dH1yZXR1cm4gT2JqZWN0LmRlZmluZVByb3BlcnR5KHQucHJvdG90eXBlLFwibGVuZ3RoXCIse2dldDpmdW5jdGlvbigpe3JldHVybiB0aGlzLm5vZGVzLmxlbmd0aHx8MH19KSx0LnByb3RvdHlwZS5jbG9uZT1mdW5jdGlvbigpe3JldHVybiB0aGlzLm5vZGVzPW51bGx9LHQucHJvdG90eXBlLml0ZW09ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMubm9kZXNbdF18fG51bGx9LHR9KCl9KS5jYWxsKHRoaXMpO1xuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSWxoTlRFNXZaR1ZNYVhOMExtcHpJbDBzSW01aGJXVnpJanBiSW0xdlpIVnNaU0lzSW1WNGNHOXlkSE1pTENKWVRVeE9iMlJsVEdsemRDSXNJbTV2WkdWeklpd2lkR2hwY3lJc0lrOWlhbVZqZENJc0ltUmxabWx1WlZCeWIzQmxjblI1SWl3aWNISnZkRzkwZVhCbElpd2laMlYwSWl3aWJHVnVaM1JvSWl3aVkyeHZibVVpTENKcGRHVnRJaXdpYVc1a1pYZ2lMQ0pqWVd4c0lsMHNJbTFoY0hCcGJtZHpJam9pUTBGRFFTeFhRVWRGUVN4UFFVRlBReXhSUVVGM1FpeFhRVU0zUWl4VFFVRlRReXhGUVVGWlF5eEhRVU51UWtNc1MwRkJTMFFzVFVGQlVVRXNSVUZwUW1Zc1QwRmtRVVVzVDBGQlQwTXNaVUZCWlVvc1JVRkJXVXNzVlVGQlZ5eFRRVUZWTEVOQlEzSkVReXhKUVVGTExGZEJRMGdzVDBGQlQwb3NTMEZCUzBRc1RVRkJUVTBzVVVGQlZTeExRVWxvUTFBc1JVRkJXVXNzVlVGQlZVY3NUVUZCVVN4WFFVTTFRaXhQUVVGUFRpeExRVUZMUkN4TlFVRlJMRTFCUjNSQ1JDeEZRVUZaU3l4VlFVRlZTU3hMUVVGUExGTkJRVk5ETEVkQlEzQkRMRTlCUVU5U0xFdEJRVXRFTEUxQlFVMVRMRWxCUVZVc1RVRkhka0pXTEVWQmJrSnpRaXhMUVhWQ09VSlhMRXRCUVV0VUlpd2labWxzWlNJNklpOW9iMjFsTDNwcGJtOHZjSEp2YW1WamRITXZjMlZoZEcxaGNIWXlMMjFoYzNSbGNpOXpaV0YwYldGd2RqSXZZMnhwWlc1MEwyNXZaR1ZmYlc5a2RXeGxjeTk0Yld4aWRXbHNaR1Z5TDJ4cFlpOVlUVXhPYjJSbFRHbHpkQzVxY3lKOSIsIihmdW5jdGlvbigpe3ZhciB0LHIsaT17fS5oYXNPd25Qcm9wZXJ0eTt0PXJlcXVpcmUoXCIuL05vZGVUeXBlXCIpLHI9cmVxdWlyZShcIi4vWE1MQ2hhcmFjdGVyRGF0YVwiKSxtb2R1bGUuZXhwb3J0cz1mdW5jdGlvbihlKXtmdW5jdGlvbiBvKHIsaSxlKXtpZihvLl9fc3VwZXJfXy5jb25zdHJ1Y3Rvci5jYWxsKHRoaXMsciksbnVsbD09aSl0aHJvdyBuZXcgRXJyb3IoXCJNaXNzaW5nIGluc3RydWN0aW9uIHRhcmdldC4gXCIrdGhpcy5kZWJ1Z0luZm8oKSk7dGhpcy50eXBlPXQuUHJvY2Vzc2luZ0luc3RydWN0aW9uLHRoaXMudGFyZ2V0PXRoaXMuc3RyaW5naWZ5Lmluc1RhcmdldChpKSx0aGlzLm5hbWU9dGhpcy50YXJnZXQsZSYmKHRoaXMudmFsdWU9dGhpcy5zdHJpbmdpZnkuaW5zVmFsdWUoZSkpfXJldHVybiBmdW5jdGlvbih0LHIpe2Zvcih2YXIgZSBpbiByKWkuY2FsbChyLGUpJiYodFtlXT1yW2VdKTtmdW5jdGlvbiBvKCl7dGhpcy5jb25zdHJ1Y3Rvcj10fW8ucHJvdG90eXBlPXIucHJvdG90eXBlLHQucHJvdG90eXBlPW5ldyBvLHQuX19zdXBlcl9fPXIucHJvdG90eXBlfShvLHIpLG8ucHJvdG90eXBlLmNsb25lPWZ1bmN0aW9uKCl7cmV0dXJuIE9iamVjdC5jcmVhdGUodGhpcyl9LG8ucHJvdG90eXBlLnRvU3RyaW5nPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLm9wdGlvbnMud3JpdGVyLnByb2Nlc3NpbmdJbnN0cnVjdGlvbih0aGlzLHRoaXMub3B0aW9ucy53cml0ZXIuZmlsdGVyT3B0aW9ucyh0KSl9LG8ucHJvdG90eXBlLmlzRXF1YWxOb2RlPWZ1bmN0aW9uKHQpe3JldHVybiEhby5fX3N1cGVyX18uaXNFcXVhbE5vZGUuYXBwbHkodGhpcyxhcmd1bWVudHMpLmlzRXF1YWxOb2RlKHQpJiZ0LnRhcmdldD09PXRoaXMudGFyZ2V0fSxvfSgpfSkuY2FsbCh0aGlzKTtcblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKemIzVnlZMlZ6SWpwYklsaE5URkJ5YjJObGMzTnBibWRKYm5OMGNuVmpkR2x2Ymk1cWN5SmRMQ0p1WVcxbGN5STZXeUpPYjJSbFZIbHdaU0lzSWxoTlRFTm9ZWEpoWTNSbGNrUmhkR0VpTENKb1lYTlFjbTl3SWl3aWFHRnpUM2R1VUhKdmNHVnlkSGtpTENKeVpYRjFhWEpsSWl3aWJXOWtkV3hsSWl3aVpYaHdiM0owY3lJc0luTjFjR1Z5UTJ4aGMzTWlMQ0pZVFV4UWNtOWpaWE56YVc1blNXNXpkSEoxWTNScGIyNGlMQ0p3WVhKbGJuUWlMQ0owWVhKblpYUWlMQ0oyWVd4MVpTSXNJbDlmYzNWd1pYSmZYeUlzSW1OdmJuTjBjblZqZEc5eUlpd2lZMkZzYkNJc0luUm9hWE1pTENKRmNuSnZjaUlzSW1SbFluVm5TVzVtYnlJc0luUjVjR1VpTENKUWNtOWpaWE56YVc1blNXNXpkSEoxWTNScGIyNGlMQ0p6ZEhKcGJtZHBabmtpTENKcGJuTlVZWEpuWlhRaUxDSnVZVzFsSWl3aWFXNXpWbUZzZFdVaUxDSmphR2xzWkNJc0ltdGxlU0lzSW1OMGIzSWlMQ0p3Y205MGIzUjVjR1VpTENKbGVIUmxibVFpTENKamJHOXVaU0lzSWs5aWFtVmpkQ0lzSW1OeVpXRjBaU0lzSW5SdlUzUnlhVzVuSWl3aWIzQjBhVzl1Y3lJc0luZHlhWFJsY2lJc0luQnliMk5sYzNOcGJtZEpibk4wY25WamRHbHZiaUlzSW1acGJIUmxjazl3ZEdsdmJuTWlMQ0pwYzBWeGRXRnNUbTlrWlNJc0ltNXZaR1VpTENKaGNIQnNlU0lzSW1GeVozVnRaVzUwY3lKZExDSnRZWEJ3YVc1bmN5STZJa05CUTBFc1YwRkRSU3hKUVVGSlFTeEZRVUZWUXl4RlFVVmFReXhGUVVGVkxFZEJRVWRETEdWQlJXWklMRVZCUVZkSkxGRkJRVkVzWTBGRmJrSklMRVZCUVcxQ1J5eFJRVUZSTEhOQ1FVVXpRa01zVDBGQlQwTXNVVUZCY1VNc1UwRkJWVU1zUjBGSGNFUXNVMEZCVTBNc1JVRkJlVUpETEVWQlFWRkRMRVZCUVZGRExFZEJSV2hFTEVkQlJFRklMRVZCUVhsQ1NTeFZRVUZWUXl4WlFVRlpReXhMUVVGTFF5eExRVUZOVGl4SFFVTTFReXhOUVVGV1F5eEZRVU5HTEUxQlFVMHNTVUZCU1Uwc1RVRkJUU3dyUWtGQmFVTkVMRXRCUVV0RkxHRkJSWGhFUml4TFFVRkxSeXhMUVVGUGJFSXNSVUZCVTIxQ0xITkNRVU55UWtvc1MwRkJTMHdzVDBGQlUwc3NTMEZCUzBzc1ZVRkJWVU1zVlVGQlZWZ3NSMEZEZGtOTExFdEJRVXRQTEV0QlFVOVFMRXRCUVV0TUxFOUJRMkpETEVsQlEwWkpMRXRCUVV0S0xFMUJRVkZKTEV0QlFVdExMRlZCUVZWSExGTkJRVk5hTEVsQmMwSjZReXhQUVhwRFV5eFRRVUZUWVN4RlFVRlBaaXhIUVVGVkxFbEJRVXNzU1VGQlNXZENMRXRCUVU5b1FpeEZRVUZqVUN4RlFVRlJXU3hMUVVGTFRDeEZRVUZSWjBJc1MwRkJUVVFzUlVGQlRVTXNSMEZCVDJoQ0xFVkJRVTluUWl4SlFVRlJMRk5CUVZORExFbEJRVk5ZTEV0QlFVdEdMRmxCUVdOWExFVkJRVk5GTEVWQlFVdERMRlZCUVZsc1FpeEZRVUZQYTBJc1ZVRkJWMGdzUlVGQlRVY3NWVUZCV1N4SlFVRkpSQ3hGUVVGUlJpeEZRVUZOV2l4VlFVRlpTQ3hGUVVGUGEwSXNWVUZSYUZGRExFTkJRVTl3UWl4RlFXMURUbEFzUjBGd1FrUlBMRVZCUVhsQ2JVSXNWVUZCVlVVc1RVRkJVU3hYUVVONlF5eFBRVUZQUXl4UFFVRlBReXhQUVVGUGFFSXNUMEZIZGtKUUxFVkJRWGxDYlVJc1ZVRkJWVXNzVTBGQlZ5eFRRVUZUUXl4SFFVTnlSQ3hQUVVGUGJFSXNTMEZCUzJ0Q0xGRkJRVkZETEU5QlFVOURMSE5DUVVGelFuQkNMRXRCUVUxQkxFdEJRVXRyUWl4UlFVRlJReXhQUVVGUFJTeGpRVUZqU0N4TFFVY3pSbnBDTEVWQlFYbENiVUlzVlVGQlZWVXNXVUZCWXl4VFFVRlRReXhIUVVONFJDeFJRVUZMT1VJc1JVRkJlVUpKTEZWQlFWVjVRaXhaUVVGWlJTeE5RVUZOZUVJc1MwRkJUWGxDTEZkQlFWZElMRmxCUVZsRExFbEJSMjVHUVN4RlFVRkxOVUlzVTBGQlYwc3NTMEZCUzB3c1VVRk5jRUpHTEVWQmJFTnRReXhMUVhORE0wTk5MRXRCUVV0RElpd2labWxzWlNJNklpOW9iMjFsTDNwcGJtOHZjSEp2YW1WamRITXZjMlZoZEcxaGNIWXlMMjFoYzNSbGNpOXpaV0YwYldGd2RqSXZZMnhwWlc1MEwyNXZaR1ZmYlc5a2RXeGxjeTk0Yld4aWRXbHNaR1Z5TDJ4cFlpOVlUVXhRY205alpYTnphVzVuU1c1emRISjFZM1JwYjI0dWFuTWlmUT09IiwiKGZ1bmN0aW9uKCl7dmFyIHQscixvPXt9Lmhhc093blByb3BlcnR5O3Q9cmVxdWlyZShcIi4vTm9kZVR5cGVcIikscj1yZXF1aXJlKFwiLi9YTUxOb2RlXCIpLG1vZHVsZS5leHBvcnRzPWZ1bmN0aW9uKGUpe2Z1bmN0aW9uIGkocixvKXtpZihpLl9fc3VwZXJfXy5jb25zdHJ1Y3Rvci5jYWxsKHRoaXMsciksbnVsbD09byl0aHJvdyBuZXcgRXJyb3IoXCJNaXNzaW5nIHJhdyB0ZXh0LiBcIit0aGlzLmRlYnVnSW5mbygpKTt0aGlzLnR5cGU9dC5SYXcsdGhpcy52YWx1ZT10aGlzLnN0cmluZ2lmeS5yYXcobyl9cmV0dXJuIGZ1bmN0aW9uKHQscil7Zm9yKHZhciBlIGluIHIpby5jYWxsKHIsZSkmJih0W2VdPXJbZV0pO2Z1bmN0aW9uIGkoKXt0aGlzLmNvbnN0cnVjdG9yPXR9aS5wcm90b3R5cGU9ci5wcm90b3R5cGUsdC5wcm90b3R5cGU9bmV3IGksdC5fX3N1cGVyX189ci5wcm90b3R5cGV9KGksciksaS5wcm90b3R5cGUuY2xvbmU9ZnVuY3Rpb24oKXtyZXR1cm4gT2JqZWN0LmNyZWF0ZSh0aGlzKX0saS5wcm90b3R5cGUudG9TdHJpbmc9ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMub3B0aW9ucy53cml0ZXIucmF3KHRoaXMsdGhpcy5vcHRpb25zLndyaXRlci5maWx0ZXJPcHRpb25zKHQpKX0saX0oKX0pLmNhbGwodGhpcyk7XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJbGhOVEZKaGR5NXFjeUpkTENKdVlXMWxjeUk2V3lKT2IyUmxWSGx3WlNJc0lsaE5URTV2WkdVaUxDSm9ZWE5RY205d0lpd2lhR0Z6VDNkdVVISnZjR1Z5ZEhraUxDSnlaWEYxYVhKbElpd2liVzlrZFd4bElpd2laWGh3YjNKMGN5SXNJbk4xY0dWeVEyeGhjM01pTENKWVRVeFNZWGNpTENKd1lYSmxiblFpTENKMFpYaDBJaXdpWDE5emRYQmxjbDlmSWl3aVkyOXVjM1J5ZFdOMGIzSWlMQ0pqWVd4c0lpd2lkR2hwY3lJc0lrVnljbTl5SWl3aVpHVmlkV2RKYm1adklpd2lkSGx3WlNJc0lsSmhkeUlzSW5aaGJIVmxJaXdpYzNSeWFXNW5hV1o1SWl3aWNtRjNJaXdpWTJocGJHUWlMQ0pyWlhraUxDSmpkRzl5SWl3aWNISnZkRzkwZVhCbElpd2laWGgwWlc1a0lpd2lZMnh2Ym1VaUxDSlBZbXBsWTNRaUxDSmpjbVZoZEdVaUxDSjBiMU4wY21sdVp5SXNJbTl3ZEdsdmJuTWlMQ0ozY21sMFpYSWlMQ0ptYVd4MFpYSlBjSFJwYjI1eklsMHNJbTFoY0hCcGJtZHpJam9pUTBGRFFTeFhRVU5GTEVsQlFVbEJMRVZCUVZWRExFVkJSVnBETEVWQlFWVXNSMEZCUjBNc1pVRkZaa2dzUlVGQlYwa3NVVUZCVVN4alFVVnVRa2dzUlVGQlZVY3NVVUZCVVN4aFFVVnNRa01zVDBGQlQwTXNVVUZCYlVJc1UwRkJWVU1zUjBGSGJFTXNVMEZCVTBNc1JVRkJUME1zUlVGQlVVTXNSMEZGZEVJc1IwRkVRVVlzUlVGQlQwY3NWVUZCVlVNc1dVRkJXVU1zUzBGQlMwTXNTMEZCVFV3c1IwRkROVUlzVFVGQlVrTXNSVUZEUml4TlFVRk5MRWxCUVVsTExFMUJRVTBzY1VKQlFYVkNSQ3hMUVVGTFJTeGhRVVU1UTBZc1MwRkJTMGNzUzBGQlQycENMRVZCUVZOclFpeEpRVU55UWtvc1MwRkJTMHNzVFVGQlVVd3NTMEZCUzAwc1ZVRkJWVU1zU1VGQlNWZ3NSMEZYYkVNc1QwRXpRbE1zVTBGQlUxa3NSVUZCVDJJc1IwRkJWU3hKUVVGTExFbEJRVWxqTEV0QlFVOWtMRVZCUVdOUUxFVkJRVkZYTEV0QlFVdEtMRVZCUVZGakxFdEJRVTFFTEVWQlFVMURMRWRCUVU5a0xFVkJRVTlqTEVsQlFWRXNVMEZCVTBNc1NVRkJVMVlzUzBGQlMwWXNXVUZCWTFVc1JVRkJVMFVzUlVGQlMwTXNWVUZCV1doQ0xFVkJRVTluUWl4VlFVRlhTQ3hGUVVGTlJ5eFZRVUZaTEVsQlFVbEVMRVZCUVZGR0xFVkJRVTFZTEZWQlFWbEdMRVZCUVU5blFpeFZRVkZvVVVNc1EwRkJUMnhDTEVWQmNVSk9VQ3hIUVZaRVR5eEZRVUZQYVVJc1ZVRkJWVVVzVFVGQlVTeFhRVU4yUWl4UFFVRlBReXhQUVVGUFF5eFBRVUZQWml4UFFVZDJRazRzUlVGQlQybENMRlZCUVZWTExGTkJRVmNzVTBGQlUwTXNSMEZEYmtNc1QwRkJUMnBDTEV0QlFVdHBRaXhSUVVGUlF5eFBRVUZQV0N4SlFVRkpVQ3hMUVVGTlFTeExRVUZMYVVJc1VVRkJVVU1zVDBGQlQwTXNZMEZCWTBZc1MwRkhiRVYyUWl4RlFYQkNhVUlzUzBGM1FucENTeXhMUVVGTFF5SXNJbVpwYkdVaU9pSXZhRzl0WlM5NmFXNXZMM0J5YjJwbFkzUnpMM05sWVhSdFlYQjJNaTl0WVhOMFpYSXZjMlZoZEcxaGNIWXlMMk5zYVdWdWRDOXViMlJsWDIxdlpIVnNaWE12ZUcxc1luVnBiR1JsY2k5c2FXSXZXRTFNVW1GM0xtcHpJbjA9IiwiKGZ1bmN0aW9uKCl7dmFyIHQsZSxyLHM9e30uaGFzT3duUHJvcGVydHk7dD1yZXF1aXJlKFwiLi9Ob2RlVHlwZVwiKSxyPXJlcXVpcmUoXCIuL1hNTFdyaXRlckJhc2VcIiksZT1yZXF1aXJlKFwiLi9Xcml0ZXJTdGF0ZVwiKSxtb2R1bGUuZXhwb3J0cz1mdW5jdGlvbihpKXtmdW5jdGlvbiBuKHQsZSl7dGhpcy5zdHJlYW09dCxuLl9fc3VwZXJfXy5jb25zdHJ1Y3Rvci5jYWxsKHRoaXMsZSl9cmV0dXJuIGZ1bmN0aW9uKHQsZSl7Zm9yKHZhciByIGluIGUpcy5jYWxsKGUscikmJih0W3JdPWVbcl0pO2Z1bmN0aW9uIGkoKXt0aGlzLmNvbnN0cnVjdG9yPXR9aS5wcm90b3R5cGU9ZS5wcm90b3R5cGUsdC5wcm90b3R5cGU9bmV3IGksdC5fX3N1cGVyX189ZS5wcm90b3R5cGV9KG4sciksbi5wcm90b3R5cGUuZW5kbGluZT1mdW5jdGlvbih0LHIscyl7cmV0dXJuIHQuaXNMYXN0Um9vdE5vZGUmJnIuc3RhdGU9PT1lLkNsb3NlVGFnP1wiXCI6bi5fX3N1cGVyX18uZW5kbGluZS5jYWxsKHRoaXMsdCxyLHMpfSxuLnByb3RvdHlwZS5kb2N1bWVudD1mdW5jdGlvbih0LGUpe3ZhciByLHMsaSxuLG8sYSxoLGwscDtmb3Iocz1pPTAsbz0oaD10LmNoaWxkcmVuKS5sZW5ndGg7aTxvO3M9KytpKShyPWhbc10pLmlzTGFzdFJvb3ROb2RlPXM9PT10LmNoaWxkcmVuLmxlbmd0aC0xO2ZvcihlPXRoaXMuZmlsdGVyT3B0aW9ucyhlKSxwPVtdLG49MCxhPShsPXQuY2hpbGRyZW4pLmxlbmd0aDtuPGE7bisrKXI9bFtuXSxwLnB1c2godGhpcy53cml0ZUNoaWxkTm9kZShyLGUsMCkpO3JldHVybiBwfSxuLnByb3RvdHlwZS5hdHRyaWJ1dGU9ZnVuY3Rpb24odCxlLHIpe3JldHVybiB0aGlzLnN0cmVhbS53cml0ZShuLl9fc3VwZXJfXy5hdHRyaWJ1dGUuY2FsbCh0aGlzLHQsZSxyKSl9LG4ucHJvdG90eXBlLmNkYXRhPWZ1bmN0aW9uKHQsZSxyKXtyZXR1cm4gdGhpcy5zdHJlYW0ud3JpdGUobi5fX3N1cGVyX18uY2RhdGEuY2FsbCh0aGlzLHQsZSxyKSl9LG4ucHJvdG90eXBlLmNvbW1lbnQ9ZnVuY3Rpb24odCxlLHIpe3JldHVybiB0aGlzLnN0cmVhbS53cml0ZShuLl9fc3VwZXJfXy5jb21tZW50LmNhbGwodGhpcyx0LGUscikpfSxuLnByb3RvdHlwZS5kZWNsYXJhdGlvbj1mdW5jdGlvbih0LGUscil7cmV0dXJuIHRoaXMuc3RyZWFtLndyaXRlKG4uX19zdXBlcl9fLmRlY2xhcmF0aW9uLmNhbGwodGhpcyx0LGUscikpfSxuLnByb3RvdHlwZS5kb2NUeXBlPWZ1bmN0aW9uKHQscixzKXt2YXIgaSxuLG8sYTtpZihzfHwocz0wKSx0aGlzLm9wZW5Ob2RlKHQscixzKSxyLnN0YXRlPWUuT3BlblRhZyx0aGlzLnN0cmVhbS53cml0ZSh0aGlzLmluZGVudCh0LHIscykpLHRoaXMuc3RyZWFtLndyaXRlKFwiPCFET0NUWVBFIFwiK3Qucm9vdCgpLm5hbWUpLHQucHViSUQmJnQuc3lzSUQ/dGhpcy5zdHJlYW0ud3JpdGUoJyBQVUJMSUMgXCInK3QucHViSUQrJ1wiIFwiJyt0LnN5c0lEKydcIicpOnQuc3lzSUQmJnRoaXMuc3RyZWFtLndyaXRlKCcgU1lTVEVNIFwiJyt0LnN5c0lEKydcIicpLHQuY2hpbGRyZW4ubGVuZ3RoPjApe2Zvcih0aGlzLnN0cmVhbS53cml0ZShcIiBbXCIpLHRoaXMuc3RyZWFtLndyaXRlKHRoaXMuZW5kbGluZSh0LHIscykpLHIuc3RhdGU9ZS5JbnNpZGVUYWcsbj0wLG89KGE9dC5jaGlsZHJlbikubGVuZ3RoO248bztuKyspaT1hW25dLHRoaXMud3JpdGVDaGlsZE5vZGUoaSxyLHMrMSk7ci5zdGF0ZT1lLkNsb3NlVGFnLHRoaXMuc3RyZWFtLndyaXRlKFwiXVwiKX1yZXR1cm4gci5zdGF0ZT1lLkNsb3NlVGFnLHRoaXMuc3RyZWFtLndyaXRlKHIuc3BhY2VCZWZvcmVTbGFzaCtcIj5cIiksdGhpcy5zdHJlYW0ud3JpdGUodGhpcy5lbmRsaW5lKHQscixzKSksci5zdGF0ZT1lLk5vbmUsdGhpcy5jbG9zZU5vZGUodCxyLHMpfSxuLnByb3RvdHlwZS5lbGVtZW50PWZ1bmN0aW9uKHIsaSxuKXt2YXIgbyxhLGgsbCxwLHUsYyxkLF87Zm9yKGMgaW4gbnx8KG49MCksdGhpcy5vcGVuTm9kZShyLGksbiksaS5zdGF0ZT1lLk9wZW5UYWcsdGhpcy5zdHJlYW0ud3JpdGUodGhpcy5pbmRlbnQocixpLG4pK1wiPFwiK3IubmFtZSksZD1yLmF0dHJpYnMpcy5jYWxsKGQsYykmJihvPWRbY10sdGhpcy5hdHRyaWJ1dGUobyxpLG4pKTtpZihsPTA9PT0oaD1yLmNoaWxkcmVuLmxlbmd0aCk/bnVsbDpyLmNoaWxkcmVuWzBdLDA9PT1ofHxyLmNoaWxkcmVuLmV2ZXJ5KGZ1bmN0aW9uKGUpe3JldHVybihlLnR5cGU9PT10LlRleHR8fGUudHlwZT09PXQuUmF3KSYmXCJcIj09PWUudmFsdWV9KSlpLmFsbG93RW1wdHk/KHRoaXMuc3RyZWFtLndyaXRlKFwiPlwiKSxpLnN0YXRlPWUuQ2xvc2VUYWcsdGhpcy5zdHJlYW0ud3JpdGUoXCI8L1wiK3IubmFtZStcIj5cIikpOihpLnN0YXRlPWUuQ2xvc2VUYWcsdGhpcy5zdHJlYW0ud3JpdGUoaS5zcGFjZUJlZm9yZVNsYXNoK1wiLz5cIikpO2Vsc2UgaWYoIWkucHJldHR5fHwxIT09aHx8bC50eXBlIT09dC5UZXh0JiZsLnR5cGUhPT10LlJhd3x8bnVsbD09bC52YWx1ZSl7Zm9yKHRoaXMuc3RyZWFtLndyaXRlKFwiPlwiK3RoaXMuZW5kbGluZShyLGksbikpLGkuc3RhdGU9ZS5JbnNpZGVUYWcscD0wLHU9KF89ci5jaGlsZHJlbikubGVuZ3RoO3A8dTtwKyspYT1fW3BdLHRoaXMud3JpdGVDaGlsZE5vZGUoYSxpLG4rMSk7aS5zdGF0ZT1lLkNsb3NlVGFnLHRoaXMuc3RyZWFtLndyaXRlKHRoaXMuaW5kZW50KHIsaSxuKStcIjwvXCIrci5uYW1lK1wiPlwiKX1lbHNlIHRoaXMuc3RyZWFtLndyaXRlKFwiPlwiKSxpLnN0YXRlPWUuSW5zaWRlVGFnLGkuc3VwcHJlc3NQcmV0dHlDb3VudCsrLCEwLHRoaXMud3JpdGVDaGlsZE5vZGUobCxpLG4rMSksaS5zdXBwcmVzc1ByZXR0eUNvdW50LS0sITEsaS5zdGF0ZT1lLkNsb3NlVGFnLHRoaXMuc3RyZWFtLndyaXRlKFwiPC9cIityLm5hbWUrXCI+XCIpO3JldHVybiB0aGlzLnN0cmVhbS53cml0ZSh0aGlzLmVuZGxpbmUocixpLG4pKSxpLnN0YXRlPWUuTm9uZSx0aGlzLmNsb3NlTm9kZShyLGksbil9LG4ucHJvdG90eXBlLnByb2Nlc3NpbmdJbnN0cnVjdGlvbj1mdW5jdGlvbih0LGUscil7cmV0dXJuIHRoaXMuc3RyZWFtLndyaXRlKG4uX19zdXBlcl9fLnByb2Nlc3NpbmdJbnN0cnVjdGlvbi5jYWxsKHRoaXMsdCxlLHIpKX0sbi5wcm90b3R5cGUucmF3PWZ1bmN0aW9uKHQsZSxyKXtyZXR1cm4gdGhpcy5zdHJlYW0ud3JpdGUobi5fX3N1cGVyX18ucmF3LmNhbGwodGhpcyx0LGUscikpfSxuLnByb3RvdHlwZS50ZXh0PWZ1bmN0aW9uKHQsZSxyKXtyZXR1cm4gdGhpcy5zdHJlYW0ud3JpdGUobi5fX3N1cGVyX18udGV4dC5jYWxsKHRoaXMsdCxlLHIpKX0sbi5wcm90b3R5cGUuZHRkQXR0TGlzdD1mdW5jdGlvbih0LGUscil7cmV0dXJuIHRoaXMuc3RyZWFtLndyaXRlKG4uX19zdXBlcl9fLmR0ZEF0dExpc3QuY2FsbCh0aGlzLHQsZSxyKSl9LG4ucHJvdG90eXBlLmR0ZEVsZW1lbnQ9ZnVuY3Rpb24odCxlLHIpe3JldHVybiB0aGlzLnN0cmVhbS53cml0ZShuLl9fc3VwZXJfXy5kdGRFbGVtZW50LmNhbGwodGhpcyx0LGUscikpfSxuLnByb3RvdHlwZS5kdGRFbnRpdHk9ZnVuY3Rpb24odCxlLHIpe3JldHVybiB0aGlzLnN0cmVhbS53cml0ZShuLl9fc3VwZXJfXy5kdGRFbnRpdHkuY2FsbCh0aGlzLHQsZSxyKSl9LG4ucHJvdG90eXBlLmR0ZE5vdGF0aW9uPWZ1bmN0aW9uKHQsZSxyKXtyZXR1cm4gdGhpcy5zdHJlYW0ud3JpdGUobi5fX3N1cGVyX18uZHRkTm90YXRpb24uY2FsbCh0aGlzLHQsZSxyKSl9LG59KCl9KS5jYWxsKHRoaXMpO1xuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSWxoTlRGTjBjbVZoYlZkeWFYUmxjaTVxY3lKZExDSnVZVzFsY3lJNld5Sk9iMlJsVkhsd1pTSXNJbGR5YVhSbGNsTjBZWFJsSWl3aVdFMU1WM0pwZEdWeVFtRnpaU0lzSW1oaGMxQnliM0FpTENKb1lYTlBkMjVRY205d1pYSjBlU0lzSW5KbGNYVnBjbVVpTENKdGIyUjFiR1VpTENKbGVIQnZjblJ6SWl3aWMzVndaWEpEYkdGemN5SXNJbGhOVEZOMGNtVmhiVmR5YVhSbGNpSXNJbk4wY21WaGJTSXNJbTl3ZEdsdmJuTWlMQ0owYUdseklpd2lYMTl6ZFhCbGNsOWZJaXdpWTI5dWMzUnlkV04wYjNJaUxDSmpZV3hzSWl3aVkyaHBiR1FpTENKd1lYSmxiblFpTENKclpYa2lMQ0pqZEc5eUlpd2ljSEp2ZEc5MGVYQmxJaXdpWlhoMFpXNWtJaXdpWlc1a2JHbHVaU0lzSW01dlpHVWlMQ0pzWlhabGJDSXNJbWx6VEdGemRGSnZiM1JPYjJSbElpd2ljM1JoZEdVaUxDSkRiRzl6WlZSaFp5SXNJbVJ2WTNWdFpXNTBJaXdpWkc5aklpd2lhU0lzSW1vaUxDSnJJaXdpYkdWdUlpd2liR1Z1TVNJc0luSmxaaUlzSW5KbFpqRWlMQ0p5WlhOMWJIUnpJaXdpWTJocGJHUnlaVzRpTENKc1pXNW5kR2dpTENKbWFXeDBaWEpQY0hScGIyNXpJaXdpY0hWemFDSXNJbmR5YVhSbFEyaHBiR1JPYjJSbElpd2lZWFIwY21saWRYUmxJaXdpWVhSMElpd2lkM0pwZEdVaUxDSmpaR0YwWVNJc0ltTnZiVzFsYm5RaUxDSmtaV05zWVhKaGRHbHZiaUlzSW1SdlkxUjVjR1VpTENKdmNHVnVUbTlrWlNJc0lrOXdaVzVVWVdjaUxDSnBibVJsYm5RaUxDSnliMjkwSWl3aWJtRnRaU0lzSW5CMVlrbEVJaXdpYzNselNVUWlMQ0pKYm5OcFpHVlVZV2NpTENKemNHRmpaVUpsWm05eVpWTnNZWE5vSWl3aVRtOXVaU0lzSW1Oc2IzTmxUbTlrWlNJc0ltVnNaVzFsYm5RaUxDSmphR2xzWkU1dlpHVkRiM1Z1ZENJc0ltWnBjbk4wUTJocGJHUk9iMlJsSWl3aVlYUjBjbWxpY3lJc0ltVjJaWEo1SWl3aVpTSXNJblI1Y0dVaUxDSlVaWGgwSWl3aVVtRjNJaXdpZG1Gc2RXVWlMQ0poYkd4dmQwVnRjSFI1SWl3aWNISmxkSFI1SWl3aWMzVndjSEpsYzNOUWNtVjBkSGxEYjNWdWRDSXNJbkJ5YjJObGMzTnBibWRKYm5OMGNuVmpkR2x2YmlJc0luSmhkeUlzSW5SbGVIUWlMQ0prZEdSQmRIUk1hWE4wSWl3aVpIUmtSV3hsYldWdWRDSXNJbVIwWkVWdWRHbDBlU0lzSW1SMFpFNXZkR0YwYVc5dUlsMHNJbTFoY0hCcGJtZHpJam9pUTBGRFFTeFhRVU5GTEVsQlFVbEJMRVZCUVZWRExFVkJRVGhDUXl4RlFVVXhRME1zUlVGQlZTeEhRVUZIUXl4bFFVVm1TaXhGUVVGWFN5eFJRVUZSTEdOQlJXNUNTQ3hGUVVGblFrY3NVVUZCVVN4dFFrRkZlRUpLTEVWQlFXTkpMRkZCUVZFc2FVSkJSWFJDUXl4UFFVRlBReXhSUVVFMFFpeFRRVUZWUXl4SFFVY3pReXhUUVVGVFF5eEZRVUZuUWtNc1JVRkJVVU1zUjBGREwwSkRMRXRCUVV0R0xFOUJRVk5CTEVWQlEyUkVMRVZCUVdkQ1NTeFZRVUZWUXl4WlFVRlpReXhMUVVGTFNDeExRVUZOUkN4SFFUQktia1FzVDBGNFMxTXNVMEZCVTBzc1JVRkJUME1zUjBGQlZTeEpRVUZMTEVsQlFVbERMRXRCUVU5RUxFVkJRV05rTEVWQlFWRlpMRXRCUVV0RkxFVkJRVkZETEV0QlFVMUdMRVZCUVUxRkxFZEJRVTlFTEVWQlFVOURMRWxCUVZFc1UwRkJVME1zU1VGQlUxQXNTMEZCUzBVc1dVRkJZMFVzUlVGQlUwY3NSVUZCUzBNc1ZVRkJXVWdzUlVGQlQwY3NWVUZCVjBvc1JVRkJUVWtzVlVGQldTeEpRVUZKUkN4RlFVRlJTQ3hGUVVGTlNDeFZRVUZaU1N4RlFVRlBSeXhWUVZWb1VVTXNRMEZCVDFvc1JVRm5TMDVRTEVkQmVrcEVUeXhGUVVGblFsY3NWVUZCVlVVc1VVRkJWU3hUUVVGVFF5eEZRVUZOV2l4RlFVRlRZU3hIUVVNeFJDeFBRVUZKUkN4RlFVRkxSU3huUWtGQmEwSmtMRVZCUVZGbExGRkJRVlY2UWl4RlFVRlpNRUlzVTBGRGFFUXNSMEZGUVd4Q0xFVkJRV2RDU1N4VlFVRlZVeXhSUVVGUlVDeExRVUZMU0N4TFFVRk5WeXhGUVVGTldpeEZRVUZUWVN4SlFVbDJSV1lzUlVGQlowSlhMRlZCUVZWUkxGTkJRVmNzVTBGQlUwTXNSVUZCUzJ4Q0xFZEJRMnBFTEVsQlFVbExMRVZCUVU5akxFVkJRVWRETEVWQlFVZERMRVZCUVVkRExFVkJRVXRETEVWQlFVMURMRVZCUVV0RExFVkJRVTFETEVWQlJURkRMRWxCUVV0UUxFVkJRVWxETEVWQlFVa3NSVUZCUjBVc1IwRkVhRUpGTEVWQlFVMU9MRVZCUVVsVExGVkJRMmRDUXl4UFFVRlJVaXhGUVVGSlJTeEZRVUZMU0N4SlFVRk5ReXhIUVVNdlEyWXNSVUZCVVcxQ0xFVkJRVWxNTEVsQlEwNU1MR1ZCUVdsQ1N5eEpRVUZOUkN4RlFVRkpVeXhUUVVGVFF5eFBRVUZUTEVWQlMzSkVMRWxCU0VFMVFpeEZRVUZWUXl4TFFVRkxORUlzWTBGQll6ZENMRWRCUlRkQ01FSXNSVUZCVlN4SFFVTk1UQ3hGUVVGSkxFVkJRVWRGTEVkQlJscEZMRVZCUVU5UUxFVkJRVWxUTEZWQlJXRkRMRTlCUVZGUUxFVkJRVWxGTEVWQlFVMUdMRWxCUTNoRGFFSXNSVUZCVVc5Q0xFVkJRVXRLTEVkQlEySkxMRVZCUVZGSkxFdEJRVXMzUWl4TFFVRkxPRUlzWlVGQlpURkNMRVZCUVU5TUxFVkJRVk1zU1VGRmJrUXNUMEZCVHpCQ0xFZEJSMVExUWl4RlFVRm5RbGNzVlVGQlZYVkNMRlZCUVZrc1UwRkJVME1zUlVGQlMycERMRVZCUVZOaExFZEJRek5FTEU5QlFVOWFMRXRCUVV0R0xFOUJRVTl0UXl4TlFVRk5jRU1zUlVGQlowSkpMRlZCUVZVNFFpeFZRVUZWTlVJc1MwRkJTMGdzUzBGQlRXZERMRVZCUVV0cVF5eEZRVUZUWVN4TFFVZDRSbVlzUlVGQlowSlhMRlZCUVZVd1FpeE5RVUZSTEZOQlFWTjJRaXhGUVVGTldpeEZRVUZUWVN4SFFVTjRSQ3hQUVVGUFdpeExRVUZMUml4UFFVRlBiVU1zVFVGQlRYQkRMRVZCUVdkQ1NTeFZRVUZWYVVNc1RVRkJUUzlDTEV0QlFVdElMRXRCUVUxWExFVkJRVTFhTEVWQlFWTmhMRXRCUjNKR1ppeEZRVUZuUWxjc1ZVRkJWVEpDTEZGQlFWVXNVMEZCVTNoQ0xFVkJRVTFhTEVWQlFWTmhMRWRCUXpGRUxFOUJRVTlhTEV0QlFVdEdMRTlCUVU5dFF5eE5RVUZOY0VNc1JVRkJaMEpKTEZWQlFWVnJReXhSUVVGUmFFTXNTMEZCUzBnc1MwRkJUVmNzUlVGQlRWb3NSVUZCVTJFc1MwRkhka1ptTEVWQlFXZENWeXhWUVVGVk5FSXNXVUZCWXl4VFFVRlRla0lzUlVGQlRWb3NSVUZCVTJFc1IwRkRPVVFzVDBGQlQxb3NTMEZCUzBZc1QwRkJUMjFETEUxQlFVMXdReXhGUVVGblFra3NWVUZCVlcxRExGbEJRVmxxUXl4TFFVRkxTQ3hMUVVGTlZ5eEZRVUZOV2l4RlFVRlRZU3hMUVVjelJtWXNSVUZCWjBKWExGVkJRVlUyUWl4UlFVRlZMRk5CUVZNeFFpeEZRVUZOV2l4RlFVRlRZU3hIUVVNeFJDeEpRVUZKVWl4RlFVRlBaU3hGUVVGSFJTeEZRVUZMUlN4RlFWZHVRaXhIUVZaQldDeEpRVUZWUVN4RlFVRlJMRWRCUTJ4Q1dpeExRVUZMYzBNc1UwRkJVek5DTEVWQlFVMWFMRVZCUVZOaExFZEJRemRDWWl4RlFVRlJaU3hOUVVGUmVrSXNSVUZCV1d0RUxGRkJRelZDZGtNc1MwRkJTMFlzVDBGQlQyMURMRTFCUVUxcVF5eExRVUZMZDBNc1QwRkJUemRDTEVWQlFVMWFMRVZCUVZOaExFbEJRemREV2l4TFFVRkxSaXhQUVVGUGJVTXNUVUZCVFN4aFFVRmxkRUlzUlVGQlN6aENMRTlCUVU5RExFMUJRM3BETDBJc1JVRkJTMmRETEU5QlFWTm9ReXhGUVVGTGFVTXNUVUZEY2tJMVF5eExRVUZMUml4UFFVRlBiVU1zVFVGQlRTeFpRVUZqZEVJc1JVRkJTMmRETEUxQlFWRXNUVUZCVVdoRExFVkJRVXRwUXl4TlFVRlJMRXRCUTNwRWFrTXNSVUZCUzJsRExFOUJRMlExUXl4TFFVRkxSaXhQUVVGUGJVTXNUVUZCVFN4WlFVRmpkRUlzUlVGQlMybERMRTFCUVZFc1MwRkZNME5xUXl4RlFVRkxaU3hUUVVGVFF5eFBRVUZUTEVWQlFVY3NRMEZMTlVJc1NVRktRVE5DTEV0QlFVdEdMRTlCUVU5dFF5eE5RVUZOTEUxQlEyeENha01zUzBGQlMwWXNUMEZCVDIxRExFMUJRVTFxUXl4TFFVRkxWU3hSUVVGUlF5eEZRVUZOV2l4RlFVRlRZU3hKUVVNNVEySXNSVUZCVVdVc1RVRkJVWHBDTEVWQlFWbDNSQ3hWUVVWMlFqRkNMRVZCUVVrc1JVRkJSMFVzUjBGRVdrVXNSVUZCVFZvc1JVRkJTMlVzVlVGRFYwTXNUMEZCVVZJc1JVRkJTVVVzUlVGQlMwWXNTVUZEY2tObUxFVkJRVkZ0UWl4RlFVRkpTaXhIUVVOYWJrSXNTMEZCU3poQ0xHVkJRV1V4UWl4RlFVRlBUQ3hGUVVGVFlTeEZRVUZSTEVkQlJUbERZaXhGUVVGUlpTeE5RVUZSZWtJc1JVRkJXVEJDTEZOQlF6VkNaaXhMUVVGTFJpeFBRVUZQYlVNc1RVRkJUU3hMUVUxd1FpeFBRVXBCYkVNc1JVRkJVV1VzVFVGQlVYcENMRVZCUVZrd1FpeFRRVU0xUW1Zc1MwRkJTMFlzVDBGQlQyMURMRTFCUVUxc1F5eEZRVUZSSzBNc2FVSkJRVzFDTEV0QlF6ZERPVU1zUzBGQlMwWXNUMEZCVDIxRExFMUJRVTFxUXl4TFFVRkxWU3hSUVVGUlF5eEZRVUZOV2l4RlFVRlRZU3hKUVVNNVEySXNSVUZCVVdVc1RVRkJVWHBDTEVWQlFWa3dSQ3hMUVVOeVFpOURMRXRCUVV0blJDeFZRVUZWY2tNc1JVRkJUVm9zUlVGQlUyRXNTVUZIZGtObUxFVkJRV2RDVnl4VlFVRlZlVU1zVVVGQlZTeFRRVUZUZEVNc1JVRkJUVm9zUlVGQlUyRXNSMEZETVVRc1NVRkJTVzlDTEVWQlFVczFRaXhGUVVGUE9FTXNSVUZCWjBKRExFVkJRV2RDYUVNc1JVRkJSMFVzUlVGQlMzRkNMRVZCUVhkQ2JrSXNSVUZCUzBNc1JVRk5ja1lzU1VGQlMydENMRXRCVEV3NVFpeEpRVUZWUVN4RlFVRlJMRWRCUTJ4Q1dpeExRVUZMYzBNc1UwRkJVek5DTEVWQlFVMWFMRVZCUVZOaExFZEJRemRDWWl4RlFVRlJaU3hOUVVGUmVrSXNSVUZCV1d0RUxGRkJRelZDZGtNc1MwRkJTMFlzVDBGQlQyMURMRTFCUVUxcVF5eExRVUZMZDBNc1QwRkJUemRDTEVWQlFVMWFMRVZCUVZOaExFZEJRVk1zU1VGQlRVUXNSVUZCU3l0Q0xFMUJRMnBGYmtJc1JVRkJUVm9zUlVGQlMzbERMRkZCUlVvM1JDeEZRVUZSV1N4TFFVRkxiMElzUlVGQlMyMUNMRXRCUTNaQ1ZpeEZRVUZOVkN4RlFVRkpiVUlzUjBGRFZqRkRMRXRCUVVzclFpeFZRVUZWUXl4RlFVRkxha01zUlVGQlUyRXNTVUZKTDBJc1IwRkVRWFZETEVWQlFXOURMRXRCUkhCRFJDeEZRVUZwUW5aRExFVkJRVXRsTEZOQlFWTkRMRkZCUTFNc1MwRkJUMmhDTEVWQlFVdGxMRk5CUVZNc1IwRkRkRU1zU1VGQmJrSjNRaXhIUVVGM1FuWkRMRVZCUVV0bExGTkJRVk15UWl4TlFVRk5MRk5CUVZORExFZEJRM1pFTEU5QlFWRkJMRVZCUVVWRExFOUJRVk51UlN4RlFVRlRiMFVzVFVGQlVVWXNSVUZCUlVNc1QwRkJVMjVGTEVWQlFWTnhSU3hOUVVGdlFpeExRVUZhU0N4RlFVRkZTU3hSUVVVNVJETkVMRVZCUVZFMFJDeFpRVU5XTTBRc1MwRkJTMFlzVDBGQlQyMURMRTFCUVUwc1MwRkRiRUpzUXl4RlFVRlJaU3hOUVVGUmVrSXNSVUZCV1RCQ0xGTkJRelZDWml4TFFVRkxSaXhQUVVGUGJVTXNUVUZCVFN4TFFVRlBkRUlzUlVGQlN5dENMRXRCUVU4c1QwRkZja016UXl4RlFVRlJaU3hOUVVGUmVrSXNSVUZCV1RCQ0xGTkJRelZDWml4TFFVRkxSaXhQUVVGUGJVTXNUVUZCVFd4RExFVkJRVkVyUXl4cFFrRkJiVUlzV1VGRk1VTXNTVUZCU1M5RExFVkJRVkUyUkN4UlFVRTJRaXhKUVVGdVFsWXNSMEZCZVVKRExFVkJRV1ZKTEU5QlFWTnVSU3hGUVVGVGIwVXNUVUZCVVV3c1JVRkJaVWtzVDBGQlUyNUZMRVZCUVZOeFJTeExRVUZwUXl4TlFVRjRRazRzUlVGQlpVOHNUVUZWYWtvc1EwRkpUQ3hKUVVoQk1VUXNTMEZCUzBZc1QwRkJUMjFETEUxQlFVMHNTVUZCVFdwRExFdEJRVXRWTEZGQlFWRkRMRVZCUVUxYUxFVkJRVk5oTEVsQlEzQkVZaXhGUVVGUlpTeE5RVUZSZWtJc1JVRkJXWGRFTEZWQlJYWkNNVUlzUlVGQlNTeEZRVUZIUlN4SFFVUmFSeXhGUVVGUFlpeEZRVUZMWlN4VlFVTlhReXhQUVVGUlVpeEZRVUZKUlN4RlFVRkxSaXhKUVVOMFEyWXNSVUZCVVc5Q0xFVkJRVXRNTEVkQlEySnVRaXhMUVVGTE9FSXNaVUZCWlRGQ0xFVkJRVTlNTEVWQlFWTmhMRVZCUVZFc1IwRkZPVU5pTEVWQlFWRmxMRTFCUVZGNlFpeEZRVUZaTUVJc1UwRkROVUptTEV0QlFVdEdMRTlCUVU5dFF5eE5RVUZOYWtNc1MwRkJTM2RETEU5QlFVODNRaXhGUVVGTldpeEZRVUZUWVN4SFFVRlRMRXRCUVU5RUxFVkJRVXNyUWl4TFFVRlBMRlZCYkVKNlJURkRMRXRCUVV0R0xFOUJRVTl0UXl4TlFVRk5MRXRCUTJ4Q2JFTXNSVUZCVVdVc1RVRkJVWHBDTEVWQlFWbDNSQ3hWUVVNMVFqbERMRVZCUVZFNFJDeDFRa0ZEVnl4RlFVTnVRamRFTEV0QlFVczRRaXhsUVVGbGNVSXNSVUZCWjBKd1JDeEZRVUZUWVN4RlFVRlJMRWRCUTNKRVlpeEZRVUZST0VRc2RVSkJRMWNzUlVGRGJrSTVSQ3hGUVVGUlpTeE5RVUZSZWtJc1JVRkJXVEJDTEZOQlF6VkNaaXhMUVVGTFJpeFBRVUZQYlVNc1RVRkJUU3hMUVVGUGRFSXNSVUZCU3l0Q0xFdEJRVThzUzBGamRrTXNUMEZHUVRGRExFdEJRVXRHTEU5QlFVOXRReXhOUVVGTmFrTXNTMEZCUzFVc1VVRkJVVU1zUlVGQlRWb3NSVUZCVTJFc1NVRkRPVU5pTEVWQlFWRmxMRTFCUVZGNlFpeEZRVUZaTUVRc1MwRkRja0l2UXl4TFFVRkxaMFFzVlVGQlZYSkRMRVZCUVUxYUxFVkJRVk5oTEVsQlIzWkRaaXhGUVVGblFsY3NWVUZCVlhORUxITkNRVUYzUWl4VFFVRlRia1FzUlVGQlRWb3NSVUZCVTJFc1IwRkRlRVVzVDBGQlQxb3NTMEZCUzBZc1QwRkJUMjFETEUxQlFVMXdReXhGUVVGblFra3NWVUZCVlRaRUxITkNRVUZ6UWpORUxFdEJRVXRJTEV0QlFVMVhMRVZCUVUxYUxFVkJRVk5oTEV0QlIzSkhaaXhGUVVGblFsY3NWVUZCVlhWRUxFbEJRVTBzVTBGQlUzQkVMRVZCUVUxYUxFVkJRVk5oTEVkQlEzUkVMRTlCUVU5YUxFdEJRVXRHTEU5QlFVOXRReXhOUVVGTmNFTXNSVUZCWjBKSkxGVkJRVlU0UkN4SlFVRkpOVVFzUzBGQlMwZ3NTMEZCVFZjc1JVRkJUVm9zUlVGQlUyRXNTMEZIYmtabUxFVkJRV2RDVnl4VlFVRlZkMFFzUzBGQlR5eFRRVUZUY2tRc1JVRkJUVm9zUlVGQlUyRXNSMEZEZGtRc1QwRkJUMW9zUzBGQlMwWXNUMEZCVDIxRExFMUJRVTF3UXl4RlFVRm5Ra2tzVlVGQlZTdEVMRXRCUVVzM1JDeExRVUZMU0N4TFFVRk5WeXhGUVVGTldpeEZRVUZUWVN4TFFVZHdSbVlzUlVGQlowSlhMRlZCUVZWNVJDeFhRVUZoTEZOQlFWTjBSQ3hGUVVGTldpeEZRVUZUWVN4SFFVTTNSQ3hQUVVGUFdpeExRVUZMUml4UFFVRlBiVU1zVFVGQlRYQkRMRVZCUVdkQ1NTeFZRVUZWWjBVc1YwRkJWemxFTEV0QlFVdElMRXRCUVUxWExFVkJRVTFhTEVWQlFWTmhMRXRCUnpGR1ppeEZRVUZuUWxjc1ZVRkJWVEJFTEZkQlFXRXNVMEZCVTNaRUxFVkJRVTFhTEVWQlFWTmhMRWRCUXpkRUxFOUJRVTlhTEV0QlFVdEdMRTlCUVU5dFF5eE5RVUZOY0VNc1JVRkJaMEpKTEZWQlFWVnBSU3hYUVVGWEwwUXNTMEZCUzBnc1MwRkJUVmNzUlVGQlRWb3NSVUZCVTJFc1MwRkhNVVptTEVWQlFXZENWeXhWUVVGVk1rUXNWVUZCV1N4VFFVRlRlRVFzUlVGQlRWb3NSVUZCVTJFc1IwRkROVVFzVDBGQlQxb3NTMEZCUzBZc1QwRkJUMjFETEUxQlFVMXdReXhGUVVGblFra3NWVUZCVld0RkxGVkJRVlZvUlN4TFFVRkxTQ3hMUVVGTlZ5eEZRVUZOV2l4RlFVRlRZU3hMUVVkNlJtWXNSVUZCWjBKWExGVkJRVlUwUkN4WlFVRmpMRk5CUVZONlJDeEZRVUZOV2l4RlFVRlRZU3hIUVVNNVJDeFBRVUZQV2l4TFFVRkxSaXhQUVVGUGJVTXNUVUZCVFhCRExFVkJRV2RDU1N4VlFVRlZiVVVzV1VGQldXcEZMRXRCUVV0SUxFdEJRVTFYTEVWQlFVMWFMRVZCUVZOaExFdEJSM0JHWml4RlFTOUtNRUlzUzBGdFMyeERUU3hMUVVGTFNDSXNJbVpwYkdVaU9pSXZhRzl0WlM5NmFXNXZMM0J5YjJwbFkzUnpMM05sWVhSdFlYQjJNaTl0WVhOMFpYSXZjMlZoZEcxaGNIWXlMMk5zYVdWdWRDOXViMlJsWDIxdlpIVnNaWE12ZUcxc1luVnBiR1JsY2k5c2FXSXZXRTFNVTNSeVpXRnRWM0pwZEdWeUxtcHpJbjA9IiwiKGZ1bmN0aW9uKCl7dmFyIHQsZT17fS5oYXNPd25Qcm9wZXJ0eTt0PXJlcXVpcmUoXCIuL1hNTFdyaXRlckJhc2VcIiksbW9kdWxlLmV4cG9ydHM9ZnVuY3Rpb24obil7ZnVuY3Rpb24gcih0KXtyLl9fc3VwZXJfXy5jb25zdHJ1Y3Rvci5jYWxsKHRoaXMsdCl9cmV0dXJuIGZ1bmN0aW9uKHQsbil7Zm9yKHZhciByIGluIG4pZS5jYWxsKG4scikmJih0W3JdPW5bcl0pO2Z1bmN0aW9uIG8oKXt0aGlzLmNvbnN0cnVjdG9yPXR9by5wcm90b3R5cGU9bi5wcm90b3R5cGUsdC5wcm90b3R5cGU9bmV3IG8sdC5fX3N1cGVyX189bi5wcm90b3R5cGV9KHIsdCksci5wcm90b3R5cGUuZG9jdW1lbnQ9ZnVuY3Rpb24odCxlKXt2YXIgbixyLG8saSxsO2ZvcihlPXRoaXMuZmlsdGVyT3B0aW9ucyhlKSxpPVwiXCIscj0wLG89KGw9dC5jaGlsZHJlbikubGVuZ3RoO3I8bztyKyspbj1sW3JdLGkrPXRoaXMud3JpdGVDaGlsZE5vZGUobixlLDApO3JldHVybiBlLnByZXR0eSYmaS5zbGljZSgtZS5uZXdsaW5lLmxlbmd0aCk9PT1lLm5ld2xpbmUmJihpPWkuc2xpY2UoMCwtZS5uZXdsaW5lLmxlbmd0aCkpLGl9LHJ9KCl9KS5jYWxsKHRoaXMpO1xuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSWxoTlRGTjBjbWx1WjFkeWFYUmxjaTVxY3lKZExDSnVZVzFsY3lJNld5SllUVXhYY21sMFpYSkNZWE5sSWl3aWFHRnpVSEp2Y0NJc0ltaGhjMDkzYmxCeWIzQmxjblI1SWl3aWNtVnhkV2x5WlNJc0ltMXZaSFZzWlNJc0ltVjRjRzl5ZEhNaUxDSnpkWEJsY2tOc1lYTnpJaXdpV0UxTVUzUnlhVzVuVjNKcGRHVnlJaXdpYjNCMGFXOXVjeUlzSWw5ZmMzVndaWEpmWHlJc0ltTnZibk4wY25WamRHOXlJaXdpWTJGc2JDSXNJblJvYVhNaUxDSmphR2xzWkNJc0luQmhjbVZ1ZENJc0ltdGxlU0lzSW1OMGIzSWlMQ0p3Y205MGIzUjVjR1VpTENKbGVIUmxibVFpTENKa2IyTjFiV1Z1ZENJc0ltUnZZeUlzSW1raUxDSnNaVzRpTENKeUlpd2ljbVZtSWl3aVptbHNkR1Z5VDNCMGFXOXVjeUlzSW1Ob2FXeGtjbVZ1SWl3aWJHVnVaM1JvSWl3aWQzSnBkR1ZEYUdsc1pFNXZaR1VpTENKd2NtVjBkSGtpTENKemJHbGpaU0lzSW01bGQyeHBibVVpWFN3aWJXRndjR2x1WjNNaU9pSkRRVU5CTEZkQlEwVXNTVUZCY1VKQkxFVkJSVzVDUXl4RlFVRlZMRWRCUVVkRExHVkJSV1pHTEVWQlFXZENSeXhSUVVGUkxHMUNRVVY0UWtNc1QwRkJUME1zVVVGQk5FSXNVMEZCVlVNc1IwRkhNME1zVTBGQlUwTXNSVUZCWjBKRExFZEJRM1pDUkN4RlFVRm5Ra1VzVlVGQlZVTXNXVUZCV1VNc1MwRkJTME1zUzBGQlRVb3NSMEZyUW01RUxFOUJNMEpUTEZOQlFWTkxMRVZCUVU5RExFZEJRVlVzU1VGQlN5eEpRVUZKUXl4TFFVRlBSQ3hGUVVGallpeEZRVUZSVlN4TFFVRkxSeXhGUVVGUlF5eExRVUZOUml4RlFVRk5SU3hIUVVGUFJDeEZRVUZQUXl4SlFVRlJMRk5CUVZORExFbEJRVk5LTEV0QlFVdEdMRmxCUVdOSExFVkJRVk5ITEVWQlFVdERMRlZCUVZsSUxFVkJRVTlITEZWQlFWZEtMRVZCUVUxSkxGVkJRVmtzU1VGQlNVUXNSVUZCVVVnc1JVRkJUVW9zVlVGQldVc3NSVUZCVDBjc1ZVRk5hRkZETEVOQlFVOVlMRVZCZFVKT1VDeEhRV3BDUkU4c1JVRkJaMEpWTEZWQlFWVkZMRk5CUVZjc1UwRkJVME1zUlVGQlMxb3NSMEZEYWtRc1NVRkJTVXNzUlVGQlQxRXNSVUZCUjBNc1JVRkJTME1zUlVGQlIwTXNSVUZKZEVJc1NVRklRV2hDTEVWQlFWVkpMRXRCUVV0aExHTkJRV05xUWl4SFFVTTNRbVVzUlVGQlNTeEhRVVZEUml4RlFVRkpMRVZCUVVkRExFZEJSRnBGTEVWQlFVMUtMRVZCUVVsTkxGVkJRMWxETEU5QlFWRk9MRVZCUVVsRExFVkJRVXRFTEVsQlEzSkRVaXhGUVVGUlZ5eEZRVUZKU0N4SFFVTmFSU3hIUVVGTFdDeExRVUZMWjBJc1pVRkJaV1lzUlVGQlQwd3NSVUZCVXl4SFFVc3pReXhQUVVoSlFTeEZRVUZSY1VJc1VVRkJWVTRzUlVGQlJVOHNUMEZCVDNSQ0xFVkJRVkYxUWl4UlFVRlJTaXhWUVVGWmJrSXNSVUZCVVhWQ0xGVkJRMnBGVWl4RlFVRkpRU3hGUVVGRlR5eE5RVUZOTEVkQlFVbDBRaXhGUVVGUmRVSXNVVUZCVVVvc1UwRkZNMEpLTEVkQlIwWm9RaXhGUVhSQ01FSXNTMEV3UW14RFNTeExRVUZMUXlJc0ltWnBiR1VpT2lJdmFHOXRaUzk2YVc1dkwzQnliMnBsWTNSekwzTmxZWFJ0WVhCMk1pOXRZWE4wWlhJdmMyVmhkRzFoY0hZeUwyTnNhV1Z1ZEM5dWIyUmxYMjF2WkhWc1pYTXZlRzFzWW5WcGJHUmxjaTlzYVdJdldFMU1VM1J5YVc1blYzSnBkR1Z5TG1wekluMD0iLCIoZnVuY3Rpb24oKXt2YXIgdD1mdW5jdGlvbih0LG8pe3JldHVybiBmdW5jdGlvbigpe3JldHVybiB0LmFwcGx5KG8sYXJndW1lbnRzKX19LG89e30uaGFzT3duUHJvcGVydHk7bW9kdWxlLmV4cG9ydHM9ZnVuY3Rpb24oKXtmdW5jdGlvbiBuKG4pe3ZhciByLGksZTtmb3IociBpbiB0aGlzLmFzc2VydExlZ2FsTmFtZT10KHRoaXMuYXNzZXJ0TGVnYWxOYW1lLHRoaXMpLHRoaXMuYXNzZXJ0TGVnYWxDaGFyPXQodGhpcy5hc3NlcnRMZWdhbENoYXIsdGhpcyksbnx8KG49e30pLHRoaXMub3B0aW9ucz1uLHRoaXMub3B0aW9ucy52ZXJzaW9ufHwodGhpcy5vcHRpb25zLnZlcnNpb249XCIxLjBcIiksaT1uLnN0cmluZ2lmeXx8e30pby5jYWxsKGkscikmJihlPWlbcl0sdGhpc1tyXT1lKX1yZXR1cm4gbi5wcm90b3R5cGUubmFtZT1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5vcHRpb25zLm5vVmFsaWRhdGlvbj90OnRoaXMuYXNzZXJ0TGVnYWxOYW1lKFwiXCIrdHx8XCJcIil9LG4ucHJvdG90eXBlLnRleHQ9ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMub3B0aW9ucy5ub1ZhbGlkYXRpb24/dDp0aGlzLmFzc2VydExlZ2FsQ2hhcih0aGlzLnRleHRFc2NhcGUoXCJcIit0fHxcIlwiKSl9LG4ucHJvdG90eXBlLmNkYXRhPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLm9wdGlvbnMubm9WYWxpZGF0aW9uP3Q6KHQ9KHQ9XCJcIit0fHxcIlwiKS5yZXBsYWNlKFwiXV0+XCIsXCJdXV1dPjwhW0NEQVRBWz5cIiksdGhpcy5hc3NlcnRMZWdhbENoYXIodCkpfSxuLnByb3RvdHlwZS5jb21tZW50PWZ1bmN0aW9uKHQpe2lmKHRoaXMub3B0aW9ucy5ub1ZhbGlkYXRpb24pcmV0dXJuIHQ7aWYoKHQ9XCJcIit0fHxcIlwiKS5tYXRjaCgvLS0vKSl0aHJvdyBuZXcgRXJyb3IoXCJDb21tZW50IHRleHQgY2Fubm90IGNvbnRhaW4gZG91YmxlLWh5cGVuOiBcIit0KTtyZXR1cm4gdGhpcy5hc3NlcnRMZWdhbENoYXIodCl9LG4ucHJvdG90eXBlLnJhdz1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5vcHRpb25zLm5vVmFsaWRhdGlvbj90OlwiXCIrdHx8XCJcIn0sbi5wcm90b3R5cGUuYXR0VmFsdWU9ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMub3B0aW9ucy5ub1ZhbGlkYXRpb24/dDp0aGlzLmFzc2VydExlZ2FsQ2hhcih0aGlzLmF0dEVzY2FwZSh0PVwiXCIrdHx8XCJcIikpfSxuLnByb3RvdHlwZS5pbnNUYXJnZXQ9ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMub3B0aW9ucy5ub1ZhbGlkYXRpb24/dDp0aGlzLmFzc2VydExlZ2FsQ2hhcihcIlwiK3R8fFwiXCIpfSxuLnByb3RvdHlwZS5pbnNWYWx1ZT1mdW5jdGlvbih0KXtpZih0aGlzLm9wdGlvbnMubm9WYWxpZGF0aW9uKXJldHVybiB0O2lmKCh0PVwiXCIrdHx8XCJcIikubWF0Y2goL1xcPz4vKSl0aHJvdyBuZXcgRXJyb3IoXCJJbnZhbGlkIHByb2Nlc3NpbmcgaW5zdHJ1Y3Rpb24gdmFsdWU6IFwiK3QpO3JldHVybiB0aGlzLmFzc2VydExlZ2FsQ2hhcih0KX0sbi5wcm90b3R5cGUueG1sVmVyc2lvbj1mdW5jdGlvbih0KXtpZih0aGlzLm9wdGlvbnMubm9WYWxpZGF0aW9uKXJldHVybiB0O2lmKCEodD1cIlwiK3R8fFwiXCIpLm1hdGNoKC8xXFwuWzAtOV0rLykpdGhyb3cgbmV3IEVycm9yKFwiSW52YWxpZCB2ZXJzaW9uIG51bWJlcjogXCIrdCk7cmV0dXJuIHR9LG4ucHJvdG90eXBlLnhtbEVuY29kaW5nPWZ1bmN0aW9uKHQpe2lmKHRoaXMub3B0aW9ucy5ub1ZhbGlkYXRpb24pcmV0dXJuIHQ7aWYoISh0PVwiXCIrdHx8XCJcIikubWF0Y2goL15bQS1aYS16XSg/OltBLVphLXowLTkuXy1dKSokLykpdGhyb3cgbmV3IEVycm9yKFwiSW52YWxpZCBlbmNvZGluZzogXCIrdCk7cmV0dXJuIHRoaXMuYXNzZXJ0TGVnYWxDaGFyKHQpfSxuLnByb3RvdHlwZS54bWxTdGFuZGFsb25lPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLm9wdGlvbnMubm9WYWxpZGF0aW9uP3Q6dD9cInllc1wiOlwibm9cIn0sbi5wcm90b3R5cGUuZHRkUHViSUQ9ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMub3B0aW9ucy5ub1ZhbGlkYXRpb24/dDp0aGlzLmFzc2VydExlZ2FsQ2hhcihcIlwiK3R8fFwiXCIpfSxuLnByb3RvdHlwZS5kdGRTeXNJRD1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5vcHRpb25zLm5vVmFsaWRhdGlvbj90OnRoaXMuYXNzZXJ0TGVnYWxDaGFyKFwiXCIrdHx8XCJcIil9LG4ucHJvdG90eXBlLmR0ZEVsZW1lbnRWYWx1ZT1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5vcHRpb25zLm5vVmFsaWRhdGlvbj90OnRoaXMuYXNzZXJ0TGVnYWxDaGFyKFwiXCIrdHx8XCJcIil9LG4ucHJvdG90eXBlLmR0ZEF0dFR5cGU9ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMub3B0aW9ucy5ub1ZhbGlkYXRpb24/dDp0aGlzLmFzc2VydExlZ2FsQ2hhcihcIlwiK3R8fFwiXCIpfSxuLnByb3RvdHlwZS5kdGRBdHREZWZhdWx0PWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLm9wdGlvbnMubm9WYWxpZGF0aW9uP3Q6dGhpcy5hc3NlcnRMZWdhbENoYXIoXCJcIit0fHxcIlwiKX0sbi5wcm90b3R5cGUuZHRkRW50aXR5VmFsdWU9ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMub3B0aW9ucy5ub1ZhbGlkYXRpb24/dDp0aGlzLmFzc2VydExlZ2FsQ2hhcihcIlwiK3R8fFwiXCIpfSxuLnByb3RvdHlwZS5kdGRORGF0YT1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5vcHRpb25zLm5vVmFsaWRhdGlvbj90OnRoaXMuYXNzZXJ0TGVnYWxDaGFyKFwiXCIrdHx8XCJcIil9LG4ucHJvdG90eXBlLmNvbnZlcnRBdHRLZXk9XCJAXCIsbi5wcm90b3R5cGUuY29udmVydFBJS2V5PVwiP1wiLG4ucHJvdG90eXBlLmNvbnZlcnRUZXh0S2V5PVwiI3RleHRcIixuLnByb3RvdHlwZS5jb252ZXJ0Q0RhdGFLZXk9XCIjY2RhdGFcIixuLnByb3RvdHlwZS5jb252ZXJ0Q29tbWVudEtleT1cIiNjb21tZW50XCIsbi5wcm90b3R5cGUuY29udmVydFJhd0tleT1cIiNyYXdcIixuLnByb3RvdHlwZS5hc3NlcnRMZWdhbENoYXI9ZnVuY3Rpb24odCl7dmFyIG8sbjtpZih0aGlzLm9wdGlvbnMubm9WYWxpZGF0aW9uKXJldHVybiB0O2lmKG89XCJcIixcIjEuMFwiPT09dGhpcy5vcHRpb25zLnZlcnNpb24pe2lmKG89L1tcXDAtXFx4MDhcXHgwQlxcZlxceDBFLVxceDFGXFx1RkZGRVxcdUZGRkZdfFtcXHVEODAwLVxcdURCRkZdKD8hW1xcdURDMDAtXFx1REZGRl0pfCg/OlteXFx1RDgwMC1cXHVEQkZGXXxeKVtcXHVEQzAwLVxcdURGRkZdLyxuPXQubWF0Y2gobykpdGhyb3cgbmV3IEVycm9yKFwiSW52YWxpZCBjaGFyYWN0ZXIgaW4gc3RyaW5nOiBcIit0K1wiIGF0IGluZGV4IFwiK24uaW5kZXgpfWVsc2UgaWYoXCIxLjFcIj09PXRoaXMub3B0aW9ucy52ZXJzaW9uJiYobz0vW1xcMFxcdUZGRkVcXHVGRkZGXXxbXFx1RDgwMC1cXHVEQkZGXSg/IVtcXHVEQzAwLVxcdURGRkZdKXwoPzpbXlxcdUQ4MDAtXFx1REJGRl18XilbXFx1REMwMC1cXHVERkZGXS8sbj10Lm1hdGNoKG8pKSl0aHJvdyBuZXcgRXJyb3IoXCJJbnZhbGlkIGNoYXJhY3RlciBpbiBzdHJpbmc6IFwiK3QrXCIgYXQgaW5kZXggXCIrbi5pbmRleCk7cmV0dXJuIHR9LG4ucHJvdG90eXBlLmFzc2VydExlZ2FsTmFtZT1mdW5jdGlvbih0KXt2YXIgbztpZih0aGlzLm9wdGlvbnMubm9WYWxpZGF0aW9uKXJldHVybiB0O2lmKHRoaXMuYXNzZXJ0TGVnYWxDaGFyKHQpLG89L14oWzpBLVpfYS16XFx4QzAtXFx4RDZcXHhEOC1cXHhGNlxceEY4LVxcdTAyRkZcXHUwMzcwLVxcdTAzN0RcXHUwMzdGLVxcdTFGRkZcXHUyMDBDXFx1MjAwRFxcdTIwNzAtXFx1MjE4RlxcdTJDMDAtXFx1MkZFRlxcdTMwMDEtXFx1RDdGRlxcdUY5MDAtXFx1RkRDRlxcdUZERjAtXFx1RkZGRF18W1xcdUQ4MDAtXFx1REI3Rl1bXFx1REMwMC1cXHVERkZGXSkoW1xceDJEXFwuMC06QS1aX2EtelxceEI3XFx4QzAtXFx4RDZcXHhEOC1cXHhGNlxceEY4LVxcdTAzN0RcXHUwMzdGLVxcdTFGRkZcXHUyMDBDXFx1MjAwRFxcdTIwM0ZcXHUyMDQwXFx1MjA3MC1cXHUyMThGXFx1MkMwMC1cXHUyRkVGXFx1MzAwMS1cXHVEN0ZGXFx1RjkwMC1cXHVGRENGXFx1RkRGMC1cXHVGRkZEXXxbXFx1RDgwMC1cXHVEQjdGXVtcXHVEQzAwLVxcdURGRkZdKSokLywhdC5tYXRjaChvKSl0aHJvdyBuZXcgRXJyb3IoXCJJbnZhbGlkIGNoYXJhY3RlciBpbiBuYW1lXCIpO3JldHVybiB0fSxuLnByb3RvdHlwZS50ZXh0RXNjYXBlPWZ1bmN0aW9uKHQpe3ZhciBvO3JldHVybiB0aGlzLm9wdGlvbnMubm9WYWxpZGF0aW9uP3Q6KG89dGhpcy5vcHRpb25zLm5vRG91YmxlRW5jb2Rpbmc/Lyg/ISZcXFMrOykmL2c6LyYvZyx0LnJlcGxhY2UobyxcIiZhbXA7XCIpLnJlcGxhY2UoLzwvZyxcIiZsdDtcIikucmVwbGFjZSgvPi9nLFwiJmd0O1wiKS5yZXBsYWNlKC9cXHIvZyxcIiYjeEQ7XCIpKX0sbi5wcm90b3R5cGUuYXR0RXNjYXBlPWZ1bmN0aW9uKHQpe3ZhciBvO3JldHVybiB0aGlzLm9wdGlvbnMubm9WYWxpZGF0aW9uP3Q6KG89dGhpcy5vcHRpb25zLm5vRG91YmxlRW5jb2Rpbmc/Lyg/ISZcXFMrOykmL2c6LyYvZyx0LnJlcGxhY2UobyxcIiZhbXA7XCIpLnJlcGxhY2UoLzwvZyxcIiZsdDtcIikucmVwbGFjZSgvXCIvZyxcIiZxdW90O1wiKS5yZXBsYWNlKC9cXHQvZyxcIiYjeDk7XCIpLnJlcGxhY2UoL1xcbi9nLFwiJiN4QTtcIikucmVwbGFjZSgvXFxyL2csXCImI3hEO1wiKSl9LG59KCl9KS5jYWxsKHRoaXMpO1xuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSWxoTlRGTjBjbWx1WjJsbWFXVnlMbXB6SWwwc0ltNWhiV1Z6SWpwYkltSnBibVFpTENKbWJpSXNJbTFsSWl3aVlYQndiSGtpTENKaGNtZDFiV1Z1ZEhNaUxDSm9ZWE5RY205d0lpd2lhR0Z6VDNkdVVISnZjR1Z5ZEhraUxDSnRiMlIxYkdVaUxDSmxlSEJ2Y25Seklpd2lXRTFNVTNSeWFXNW5hV1pwWlhJaUxDSnZjSFJwYjI1eklpd2lhMlY1SWl3aWNtVm1JaXdpZG1Gc2RXVWlMQ0owYUdseklpd2lZWE56WlhKMFRHVm5ZV3hPWVcxbElpd2lZWE56WlhKMFRHVm5ZV3hEYUdGeUlpd2lkbVZ5YzJsdmJpSXNJbk4wY21sdVoybG1lU0lzSW1OaGJHd2lMQ0p3Y205MGIzUjVjR1VpTENKdVlXMWxJaXdpZG1Gc0lpd2libTlXWVd4cFpHRjBhVzl1SWl3aWRHVjRkQ0lzSW5SbGVIUkZjMk5oY0dVaUxDSmpaR0YwWVNJc0luSmxjR3hoWTJVaUxDSmpiMjF0Wlc1MElpd2liV0YwWTJnaUxDSkZjbkp2Y2lJc0luSmhkeUlzSW1GMGRGWmhiSFZsSWl3aVlYUjBSWE5qWVhCbElpd2lhVzV6VkdGeVoyVjBJaXdpYVc1elZtRnNkV1VpTENKNGJXeFdaWEp6YVc5dUlpd2llRzFzUlc1amIyUnBibWNpTENKNGJXeFRkR0Z1WkdGc2IyNWxJaXdpWkhSa1VIVmlTVVFpTENKa2RHUlRlWE5KUkNJc0ltUjBaRVZzWlcxbGJuUldZV3gxWlNJc0ltUjBaRUYwZEZSNWNHVWlMQ0prZEdSQmRIUkVaV1poZFd4MElpd2laSFJrUlc1MGFYUjVWbUZzZFdVaUxDSmtkR1JPUkdGMFlTSXNJbU52Ym5abGNuUkJkSFJMWlhraUxDSmpiMjUyWlhKMFVFbExaWGtpTENKamIyNTJaWEowVkdWNGRFdGxlU0lzSW1OdmJuWmxjblJEUkdGMFlVdGxlU0lzSW1OdmJuWmxjblJEYjIxdFpXNTBTMlY1SWl3aVkyOXVkbVZ5ZEZKaGQwdGxlU0lzSW5OMGNpSXNJbkpsWjJWNElpd2ljbVZ6SWl3aWFXNWtaWGdpTENKaGJYQnlaV2RsZUNJc0ltNXZSRzkxWW14bFJXNWpiMlJwYm1jaVhTd2liV0Z3Y0dsdVozTWlPaUpEUVVOQkxGZEJRMFVzU1VGRFJVRXNSVUZCVHl4VFFVRlRReXhGUVVGSlF5eEhRVUZMTEU5QlFVOHNWMEZCV1N4UFFVRlBSQ3hGUVVGSFJTeE5RVUZOUkN4RlFVRkpSU3hoUVVOb1JVTXNSVUZCVlN4SFFVRkhReXhsUVVWbVF5eFBRVUZQUXl4UlFVRXlRaXhYUVVOb1F5eFRRVUZUUXl4RlFVRmxReXhIUVVkMFFpeEpRVUZKUXl4RlFVRkxReXhGUVVGTFF5eEZRVTlrTEVsQlFVdEdMRXRCVkV4SExFdEJRVXRETEdkQ1FVRnJRbVlzUlVGQlMyTXNTMEZCUzBNc1owSkJRV2xDUkN4TlFVTnNSRUVzUzBGQlMwVXNaMEpCUVd0Q2FFSXNSVUZCUzJNc1MwRkJTMFVzWjBKQlFXbENSaXhOUVVWc1JFb3NTVUZCV1VFc1JVRkJWU3hKUVVOMFFra3NTMEZCUzBvc1VVRkJWVUVzUlVGRFZra3NTMEZCUzBvc1VVRkJVVThzVlVGRGFFSklMRXRCUVV0S0xGRkJRVkZQTEZGQlFWVXNUMEZGZWtKTUxFVkJRVTFHTEVWQlFWRlJMRmRCUVdFc1IwRkZjRUppTEVWQlFWRmpMRXRCUVV0UUxFVkJRVXRFTEV0QlEzWkNSU3hGUVVGUlJDeEZRVUZKUkN4SFFVTmFSeXhMUVVGTFNDeEhRVUZQUlN4SFFYVk9hRUlzVDBGdVRrRktMRVZCUVdWWExGVkJRVlZETEV0QlFVOHNVMEZCVTBNc1IwRkRka01zVDBGQlNWSXNTMEZCUzBvc1VVRkJVV0VzWVVGRFVrUXNSVUZGUmxJc1MwRkJTME1zWjBKQlFXZENMRWRCUVV0UExFZEJRVThzUzBGSE1VTmlMRVZCUVdWWExGVkJRVlZKTEV0QlFVOHNVMEZCVTBZc1IwRkRka01zVDBGQlNWSXNTMEZCUzBvc1VVRkJVV0VzWVVGRFVrUXNSVUZGUmxJc1MwRkJTMFVzWjBKQlFXZENSaXhMUVVGTFZ5eFhRVUZYTEVkQlFVdElMRWRCUVU4c1RVRkhNVVJpTEVWQlFXVlhMRlZCUVZWTkxFMUJRVkVzVTBGQlUwb3NSMEZEZUVNc1QwRkJTVklzUzBGQlMwb3NVVUZCVVdFc1lVRkRVa1FzUjBGSFZFRXNSMEZFUVVFc1JVRkJUU3hIUVVGTFFTeEhRVUZQTEVsQlExSkxMRkZCUVZFc1RVRkJUeXh0UWtGRGJFSmlMRXRCUVV0RkxHZENRVUZuUWswc1MwRkhPVUppTEVWQlFXVlhMRlZCUVZWUkxGRkJRVlVzVTBGQlUwNHNSMEZETVVNc1IwRkJTVklzUzBGQlMwb3NVVUZCVVdFc1lVRkRaaXhQUVVGUFJDeEZRVWRVTEVsQlJFRkJMRVZCUVUwc1IwRkJTMEVzUjBGQlR5eEpRVU5XVHl4TlFVRk5MRTFCUTFvc1RVRkJUU3hKUVVGSlF5eE5RVUZOTERaRFFVRXJRMUlzUjBGRmFrVXNUMEZCVDFJc1MwRkJTMFVzWjBKQlFXZENUU3hKUVVjNVFtSXNSVUZCWlZjc1ZVRkJWVmNzU1VGQlRTeFRRVUZUVkN4SFFVTjBReXhQUVVGSlVpeExRVUZMU2l4UlFVRlJZU3hoUVVOU1JDeEZRVVZHTEVkQlFVdEJMRWRCUVU4c1NVRkhja0ppTEVWQlFXVlhMRlZCUVZWWkxGTkJRVmNzVTBGQlUxWXNSMEZETTBNc1QwRkJTVklzUzBGQlMwb3NVVUZCVVdFc1lVRkRVa1FzUlVGRlJsSXNTMEZCUzBVc1owSkJRV2RDUml4TFFVRkxiVUlzVlVGQlZWZ3NSVUZCVFN4SFFVRkxRU3hIUVVGUExFMUJSeTlFWWl4RlFVRmxWeXhWUVVGVll5eFZRVUZaTEZOQlFWTmFMRWRCUXpWRExFOUJRVWxTTEV0QlFVdEtMRkZCUVZGaExHRkJRMUpFTEVWQlJVWlNMRXRCUVV0RkxHZENRVUZuUWl4SFFVRkxUU3hIUVVGUExFdEJSekZEWWl4RlFVRmxWeXhWUVVGVlpTeFRRVUZYTEZOQlFWTmlMRWRCUXpORExFZEJRVWxTTEV0QlFVdEtMRkZCUVZGaExHRkJRMllzVDBGQlQwUXNSVUZIVkN4SlFVUkJRU3hGUVVGTkxFZEJRVXRCTEVkQlFVOHNTVUZEVms4c1RVRkJUU3hQUVVOYUxFMUJRVTBzU1VGQlNVTXNUVUZCVFN4NVEwRkJNa05TTEVkQlJUZEVMRTlCUVU5U0xFdEJRVXRGTEdkQ1FVRm5RazBzU1VGSE9VSmlMRVZCUVdWWExGVkJRVlZuUWl4WFFVRmhMRk5CUVZOa0xFZEJRemRETEVkQlFVbFNMRXRCUVV0S0xGRkJRVkZoTEdGQlEyWXNUMEZCVDBRc1JVRkhWQ3hMUVVSQlFTeEZRVUZOTEVkQlFVdEJMRWRCUVU4c1NVRkRWRThzVFVGQlRTeGhRVU5pTEUxQlFVMHNTVUZCU1VNc1RVRkJUU3d5UWtGQk5rSlNMRWRCUlM5RExFOUJRVTlCTEVkQlIxUmlMRVZCUVdWWExGVkJRVlZwUWl4WlFVRmpMRk5CUVZObUxFZEJRemxETEVkQlFVbFNMRXRCUVV0S0xGRkJRVkZoTEdGQlEyWXNUMEZCVDBRc1JVRkhWQ3hMUVVSQlFTeEZRVUZOTEVkQlFVdEJMRWRCUVU4c1NVRkRWRThzVFVGQlRTeHBRMEZEWWl4TlFVRk5MRWxCUVVsRExFMUJRVTBzY1VKQlFYVkNVaXhIUVVWNlF5eFBRVUZQVWl4TFFVRkxSU3huUWtGQlowSk5MRWxCUnpsQ1lpeEZRVUZsVnl4VlFVRlZhMElzWTBGQlowSXNVMEZCVTJoQ0xFZEJRMmhFTEU5QlFVbFNMRXRCUVV0S0xGRkJRVkZoTEdGQlExSkVMRVZCUlV4QkxFVkJRMHNzVFVGRlFTeE5RVWxZWWl4RlFVRmxWeXhWUVVGVmJVSXNVMEZCVnl4VFFVRlRha0lzUjBGRE0wTXNUMEZCU1ZJc1MwRkJTMG9zVVVGQlVXRXNZVUZEVWtRc1JVRkZSbElzUzBGQlMwVXNaMEpCUVdkQ0xFZEJRVXROTEVkQlFVOHNTMEZITVVOaUxFVkJRV1ZYTEZWQlFWVnZRaXhUUVVGWExGTkJRVk5zUWl4SFFVTXpReXhQUVVGSlVpeExRVUZMU2l4UlFVRlJZU3hoUVVOU1JDeEZRVVZHVWl4TFFVRkxSU3huUWtGQlowSXNSMEZCUzAwc1IwRkJUeXhMUVVjeFEySXNSVUZCWlZjc1ZVRkJWWEZDTEdkQ1FVRnJRaXhUUVVGVGJrSXNSMEZEYkVRc1QwRkJTVklzUzBGQlMwb3NVVUZCVVdFc1lVRkRVa1FzUlVGRlJsSXNTMEZCUzBVc1owSkJRV2RDTEVkQlFVdE5MRWRCUVU4c1MwRkhNVU5pTEVWQlFXVlhMRlZCUVZWelFpeFhRVUZoTEZOQlFWTndRaXhIUVVNM1F5eFBRVUZKVWl4TFFVRkxTaXhSUVVGUllTeGhRVU5TUkN4RlFVVkdVaXhMUVVGTFJTeG5Ra0ZCWjBJc1IwRkJTMDBzUjBGQlR5eExRVWN4UTJJc1JVRkJaVmNzVlVGQlZYVkNMR05CUVdkQ0xGTkJRVk55UWl4SFFVTm9SQ3hQUVVGSlVpeExRVUZMU2l4UlFVRlJZU3hoUVVOU1JDeEZRVVZHVWl4TFFVRkxSU3huUWtGQlowSXNSMEZCUzAwc1IwRkJUeXhMUVVjeFEySXNSVUZCWlZjc1ZVRkJWWGRDTEdWQlFXbENMRk5CUVZOMFFpeEhRVU5xUkN4UFFVRkpVaXhMUVVGTFNpeFJRVUZSWVN4aFFVTlNSQ3hGUVVWR1VpeExRVUZMUlN4blFrRkJaMElzUjBGQlMwMHNSMEZCVHl4TFFVY3hRMklzUlVGQlpWY3NWVUZCVlhsQ0xGTkJRVmNzVTBGQlUzWkNMRWRCUXpORExFOUJRVWxTTEV0QlFVdEtMRkZCUVZGaExHRkJRMUpFTEVWQlJVWlNMRXRCUVV0RkxHZENRVUZuUWl4SFFVRkxUU3hIUVVGUExFdEJSekZEWWl4RlFVRmxWeXhWUVVGVk1FSXNZMEZCWjBJc1NVRkZla055UXl4RlFVRmxWeXhWUVVGVk1rSXNZVUZCWlN4SlFVVjRRM1JETEVWQlFXVlhMRlZCUVZVMFFpeGxRVUZwUWl4UlFVVXhRM1pETEVWQlFXVlhMRlZCUVZVMlFpeG5Ra0ZCYTBJc1UwRkZNME40UXl4RlFVRmxWeXhWUVVGVk9FSXNhMEpCUVc5Q0xGZEJSVGREZWtNc1JVRkJaVmNzVlVGQlZTdENMR05CUVdkQ0xFOUJSWHBETVVNc1JVRkJaVmNzVlVGQlZVb3NaMEpCUVd0Q0xGTkJRVk52UXl4SFFVTnNSQ3hKUVVGSlF5eEZRVUZQUXl4RlFVTllMRWRCUVVsNFF5eExRVUZMU2l4UlFVRlJZU3hoUVVObUxFOUJRVTgyUWl4RlFVZFVMRWRCUkVGRExFVkJRVkVzUjBGRGNVSXNVVUZCZWtKMlF5eExRVUZMU2l4UlFVRlJUeXhUUVVWbUxFZEJSRUZ2UXl4RlFVRlJMR2RJUVVOS1F5eEZRVUZOUml4RlFVRkpka0lzVFVGQlRYZENMRWRCUTJ4Q0xFMUJRVTBzU1VGQlNYWkNMRTFCUVUwc1owTkJRV3REYzBJc1JVRkJUU3hoUVVGbFJTeEZRVUZKUXl4WlFVVjRSU3hIUVVFMlFpeFJRVUY2UW5wRExFdEJRVXRLTEZGQlFWRlBMRlZCUTNSQ2IwTXNSVUZCVVN3MFJrRkRTa01zUlVGQlRVWXNSVUZCU1haQ0xFMUJRVTEzUWl4SlFVTnNRaXhOUVVGTkxFbEJRVWwyUWl4TlFVRk5MR2REUVVGclEzTkNMRVZCUVUwc1lVRkJaVVVzUlVGQlNVTXNUMEZITDBVc1QwRkJUMGdzUjBGSFZETkRMRVZCUVdWWExGVkJRVlZNTEdkQ1FVRnJRaXhUUVVGVGNVTXNSMEZEYkVRc1NVRkJTVU1zUlVGRFNpeEhRVUZKZGtNc1MwRkJTMG9zVVVGQlVXRXNZVUZEWml4UFFVRlBOa0lzUlVGSlZDeEhRVVpCZEVNc1MwRkJTMFVzWjBKQlFXZENiME1zUjBGRGNrSkRMRVZCUVZFc1oxaEJRMGhFTEVWQlFVbDJRaXhOUVVGTmQwSXNSMEZEWWl4TlFVRk5MRWxCUVVsMlFpeE5RVUZOTERaQ1FVVnNRaXhQUVVGUGMwSXNSMEZIVkRORExFVkJRV1ZYTEZWQlFWVkxMRmRCUVdFc1UwRkJVekpDTEVkQlF6ZERMRWxCUVVsSkxFVkJRMG9zVDBGQlNURkRMRXRCUVV0S0xGRkJRVkZoTEdGQlExSTJRaXhIUVVWVVNTeEZRVUZYTVVNc1MwRkJTMG9zVVVGQlVTdERMR2xDUVVGdFFpeGpRVUZuUWl4TFFVTndSRXdzUlVGQlNYcENMRkZCUVZFMlFpeEZRVUZWTEZOQlFWTTNRaXhSUVVGUkxFdEJRVTBzVVVGQlVVRXNVVUZCVVN4TFFVRk5MRkZCUVZGQkxGRkJRVkVzVFVGQlR5eFhRVWR1UjJ4Q0xFVkJRV1ZYTEZWQlFWVmhMRlZCUVZrc1UwRkJVMjFDTEVkQlF6VkRMRWxCUVVsSkxFVkJRMG9zVDBGQlNURkRMRXRCUVV0S0xGRkJRVkZoTEdGQlExSTJRaXhIUVVWVVNTeEZRVUZYTVVNc1MwRkJTMG9zVVVGQlVTdERMR2xDUVVGdFFpeGpRVUZuUWl4TFFVTndSRXdzUlVGQlNYcENMRkZCUVZFMlFpeEZRVUZWTEZOQlFWTTNRaXhSUVVGUkxFdEJRVTBzVVVGQlVVRXNVVUZCVVN4TFFVRk5MRlZCUVZWQkxGRkJRVkVzVFVGQlR5eFRRVUZUUVN4UlFVRlJMRTFCUVU4c1UwRkJVMEVzVVVGQlVTeE5RVUZQTEZkQlJ6bEpiRUlzUlVGeVQzbENMRXRCZVU5cVExVXNTMEZCUzB3aUxDSm1hV3hsSWpvaUwyaHZiV1V2ZW1sdWJ5OXdjbTlxWldOMGN5OXpaV0YwYldGd2RqSXZiV0Z6ZEdWeUwzTmxZWFJ0WVhCMk1pOWpiR2xsYm5RdmJtOWtaVjl0YjJSMWJHVnpMM2h0YkdKMWFXeGtaWEl2YkdsaUwxaE5URk4wY21sdVoybG1hV1Z5TG1wekluMD0iLCIoZnVuY3Rpb24oKXt2YXIgdCxlLG89e30uaGFzT3duUHJvcGVydHk7dD1yZXF1aXJlKFwiLi9Ob2RlVHlwZVwiKSxlPXJlcXVpcmUoXCIuL1hNTENoYXJhY3RlckRhdGFcIiksbW9kdWxlLmV4cG9ydHM9ZnVuY3Rpb24ocil7ZnVuY3Rpb24gaShlLG8pe2lmKGkuX19zdXBlcl9fLmNvbnN0cnVjdG9yLmNhbGwodGhpcyxlKSxudWxsPT1vKXRocm93IG5ldyBFcnJvcihcIk1pc3NpbmcgZWxlbWVudCB0ZXh0LiBcIit0aGlzLmRlYnVnSW5mbygpKTt0aGlzLm5hbWU9XCIjdGV4dFwiLHRoaXMudHlwZT10LlRleHQsdGhpcy52YWx1ZT10aGlzLnN0cmluZ2lmeS50ZXh0KG8pfXJldHVybiBmdW5jdGlvbih0LGUpe2Zvcih2YXIgciBpbiBlKW8uY2FsbChlLHIpJiYodFtyXT1lW3JdKTtmdW5jdGlvbiBpKCl7dGhpcy5jb25zdHJ1Y3Rvcj10fWkucHJvdG90eXBlPWUucHJvdG90eXBlLHQucHJvdG90eXBlPW5ldyBpLHQuX19zdXBlcl9fPWUucHJvdG90eXBlfShpLGUpLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShpLnByb3RvdHlwZSxcImlzRWxlbWVudENvbnRlbnRXaGl0ZXNwYWNlXCIse2dldDpmdW5jdGlvbigpe3Rocm93IG5ldyBFcnJvcihcIlRoaXMgRE9NIG1ldGhvZCBpcyBub3QgaW1wbGVtZW50ZWQuXCIrdGhpcy5kZWJ1Z0luZm8oKSl9fSksT2JqZWN0LmRlZmluZVByb3BlcnR5KGkucHJvdG90eXBlLFwid2hvbGVUZXh0XCIse2dldDpmdW5jdGlvbigpe3ZhciB0LGUsbztmb3Iobz1cIlwiLGU9dGhpcy5wcmV2aW91c1NpYmxpbmc7ZTspbz1lLmRhdGErbyxlPWUucHJldmlvdXNTaWJsaW5nO2ZvcihvKz10aGlzLmRhdGEsdD10aGlzLm5leHRTaWJsaW5nO3Q7KW8rPXQuZGF0YSx0PXQubmV4dFNpYmxpbmc7cmV0dXJuIG99fSksaS5wcm90b3R5cGUuY2xvbmU9ZnVuY3Rpb24oKXtyZXR1cm4gT2JqZWN0LmNyZWF0ZSh0aGlzKX0saS5wcm90b3R5cGUudG9TdHJpbmc9ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMub3B0aW9ucy53cml0ZXIudGV4dCh0aGlzLHRoaXMub3B0aW9ucy53cml0ZXIuZmlsdGVyT3B0aW9ucyh0KSl9LGkucHJvdG90eXBlLnNwbGl0VGV4dD1mdW5jdGlvbih0KXt0aHJvdyBuZXcgRXJyb3IoXCJUaGlzIERPTSBtZXRob2QgaXMgbm90IGltcGxlbWVudGVkLlwiK3RoaXMuZGVidWdJbmZvKCkpfSxpLnByb3RvdHlwZS5yZXBsYWNlV2hvbGVUZXh0PWZ1bmN0aW9uKHQpe3Rocm93IG5ldyBFcnJvcihcIlRoaXMgRE9NIG1ldGhvZCBpcyBub3QgaW1wbGVtZW50ZWQuXCIrdGhpcy5kZWJ1Z0luZm8oKSl9LGl9KCl9KS5jYWxsKHRoaXMpO1xuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSWxoTlRGUmxlSFF1YW5NaVhTd2libUZ0WlhNaU9sc2lUbTlrWlZSNWNHVWlMQ0pZVFV4RGFHRnlZV04wWlhKRVlYUmhJaXdpYUdGelVISnZjQ0lzSW1oaGMwOTNibEJ5YjNCbGNuUjVJaXdpY21WeGRXbHlaU0lzSW0xdlpIVnNaU0lzSW1WNGNHOXlkSE1pTENKemRYQmxja05zWVhOeklpd2lXRTFNVkdWNGRDSXNJbkJoY21WdWRDSXNJblJsZUhRaUxDSmZYM04xY0dWeVgxOGlMQ0pqYjI1emRISjFZM1J2Y2lJc0ltTmhiR3dpTENKMGFHbHpJaXdpUlhKeWIzSWlMQ0prWldKMVowbHVabThpTENKdVlXMWxJaXdpZEhsd1pTSXNJbFJsZUhRaUxDSjJZV3gxWlNJc0luTjBjbWx1WjJsbWVTSXNJbU5vYVd4a0lpd2lhMlY1SWl3aVkzUnZjaUlzSW5CeWIzUnZkSGx3WlNJc0ltVjRkR1Z1WkNJc0lrOWlhbVZqZENJc0ltUmxabWx1WlZCeWIzQmxjblI1SWl3aVoyVjBJaXdpYm1WNGRDSXNJbkJ5WlhZaUxDSnpkSElpTENKd2NtVjJhVzkxYzFOcFlteHBibWNpTENKa1lYUmhJaXdpYm1WNGRGTnBZbXhwYm1jaUxDSmpiRzl1WlNJc0ltTnlaV0YwWlNJc0luUnZVM1J5YVc1bklpd2liM0IwYVc5dWN5SXNJbmR5YVhSbGNpSXNJbVpwYkhSbGNrOXdkR2x2Ym5NaUxDSnpjR3hwZEZSbGVIUWlMQ0p2Wm1aelpYUWlMQ0p5WlhCc1lXTmxWMmh2YkdWVVpYaDBJaXdpWTI5dWRHVnVkQ0pkTENKdFlYQndhVzVuY3lJNklrTkJRMEVzVjBGRFJTeEpRVUZKUVN4RlFVRlZReXhGUVVWYVF5eEZRVUZWTEVkQlFVZERMR1ZCUldaSUxFVkJRVmRKTEZGQlFWRXNZMEZGYmtKSUxFVkJRVzFDUnl4UlFVRlJMSE5DUVVVelFrTXNUMEZCVDBNc1VVRkJiMElzVTBGQlZVTXNSMEZIYmtNc1UwRkJVME1zUlVGQlVVTXNSVUZCVVVNc1IwRkZka0lzUjBGRVFVWXNSVUZCVVVjc1ZVRkJWVU1zV1VGQldVTXNTMEZCUzBNc1MwRkJUVXdzUjBGRE4wSXNUVUZCVWtNc1JVRkRSaXhOUVVGTkxFbEJRVWxMTEUxQlFVMHNlVUpCUVRKQ1JDeExRVUZMUlN4aFFVVnNSRVlzUzBGQlMwY3NTMEZCVHl4UlFVTmFTQ3hMUVVGTFNTeExRVUZQYkVJc1JVRkJVMjFDTEV0QlEzSkNUQ3hMUVVGTFRTeE5RVUZSVGl4TFFVRkxUeXhWUVVGVldDeExRVUZMUVN4SFFUUkRia01zVDBFM1JGTXNVMEZCVTFrc1JVRkJUMklzUjBGQlZTeEpRVUZMTEVsQlFVbGpMRXRCUVU5a0xFVkJRV05RTEVWQlFWRlhMRXRCUVV0S0xFVkJRVkZqTEV0QlFVMUVMRVZCUVUxRExFZEJRVTlrTEVWQlFVOWpMRWxCUVZFc1UwRkJVME1zU1VGQlUxWXNTMEZCUzBZc1dVRkJZMVVzUlVGQlUwVXNSVUZCUzBNc1ZVRkJXV2hDTEVWQlFVOW5RaXhWUVVGWFNDeEZRVUZOUnl4VlFVRlpMRWxCUVVsRUxFVkJRVkZHTEVWQlFVMVlMRlZCUVZsR0xFVkJRVTluUWl4VlFWRm9VVU1zUTBGQlQyeENMRVZCZFVST1VDeEhRVE5EUkRCQ0xFOUJRVTlETEdWQlFXVndRaXhGUVVGUmFVSXNWVUZCVnl3MlFrRkJPRUlzUTBGRGNrVkpMRWxCUVVzc1YwRkRTQ3hOUVVGTkxFbEJRVWxrTEUxQlFVMHNjME5CUVhkRFJDeExRVUZMUlN4blFrRkpha1ZYTEU5QlFVOURMR1ZCUVdWd1FpeEZRVUZSYVVJc1ZVRkJWeXhaUVVGaExFTkJRM0JFU1N4SlFVRkxMRmRCUTBnc1NVRkJTVU1zUlVGQlRVTXNSVUZCVFVNc1JVRkhhRUlzU1VGR1FVRXNSVUZCVFN4SFFVTk9SQ3hGUVVGUGFrSXNTMEZCUzIxQ0xHZENRVU5NUml4SFFVTk1ReXhGUVVGTlJDeEZRVUZMUnl4TFFVRlBSaXhGUVVOc1FrUXNSVUZCVDBFc1JVRkJTMFVzWjBKQlNXUXNTVUZHUVVRc1IwRkJUMnhDTEV0QlFVdHZRaXhMUVVOYVNpeEZRVUZQYUVJc1MwRkJTM0ZDTEZsQlEweE1MRWRCUTB4RkxFZEJRVmxHTEVWQlFVdEpMRXRCUTJwQ1NpeEZRVUZQUVN4RlFVRkxTeXhaUVVWa0xFOUJRVTlJTEV0QlNWaDRRaXhGUVVGUmFVSXNWVUZCVlZjc1RVRkJVU3hYUVVONFFpeFBRVUZQVkN4UFFVRlBWU3hQUVVGUGRrSXNUMEZIZGtKT0xFVkJRVkZwUWl4VlFVRlZZU3hUUVVGWExGTkJRVk5ETEVkQlEzQkRMRTlCUVU5NlFpeExRVUZMZVVJc1VVRkJVVU1zVDBGQlR6bENMRXRCUVV0SkxFdEJRVTFCTEV0QlFVdDVRaXhSUVVGUlF5eFBRVUZQUXl4alFVRmpSaXhMUVVjeFJTOUNMRVZCUVZGcFFpeFZRVUZWYVVJc1ZVRkJXU3hUUVVGVFF5eEhRVU55UXl4TlFVRk5MRWxCUVVrMVFpeE5RVUZOTEhORFFVRjNRMFFzUzBGQlMwVXNZMEZITDBSU0xFVkJRVkZwUWl4VlFVRlZiVUlzYVVKQlFXMUNMRk5CUVZORExFZEJRelZETEUxQlFVMHNTVUZCU1RsQ0xFMUJRVTBzYzBOQlFYZERSQ3hMUVVGTFJTeGpRVWQ0UkZJc1JVRjBSR3RDTEV0Qk1FUXhRa3NzUzBGQlMwTWlMQ0ptYVd4bElqb2lMMmh2YldVdmVtbHVieTl3Y205cVpXTjBjeTl6WldGMGJXRndkakl2YldGemRHVnlMM05sWVhSdFlYQjJNaTlqYkdsbGJuUXZibTlrWlY5dGIyUjFiR1Z6TDNodGJHSjFhV3hrWlhJdmJHbGlMMWhOVEZSbGVIUXVhbk1pZlE9PSIsIihmdW5jdGlvbigpe3ZhciBlLHQsbixzPXt9Lmhhc093blByb3BlcnR5O249cmVxdWlyZShcIi4vVXRpbGl0eVwiKS5hc3NpZ24sZT1yZXF1aXJlKFwiLi9Ob2RlVHlwZVwiKSxyZXF1aXJlKFwiLi9YTUxEZWNsYXJhdGlvblwiKSxyZXF1aXJlKFwiLi9YTUxEb2NUeXBlXCIpLHJlcXVpcmUoXCIuL1hNTENEYXRhXCIpLHJlcXVpcmUoXCIuL1hNTENvbW1lbnRcIikscmVxdWlyZShcIi4vWE1MRWxlbWVudFwiKSxyZXF1aXJlKFwiLi9YTUxSYXdcIikscmVxdWlyZShcIi4vWE1MVGV4dFwiKSxyZXF1aXJlKFwiLi9YTUxQcm9jZXNzaW5nSW5zdHJ1Y3Rpb25cIikscmVxdWlyZShcIi4vWE1MRHVtbXlcIikscmVxdWlyZShcIi4vWE1MRFREQXR0TGlzdFwiKSxyZXF1aXJlKFwiLi9YTUxEVERFbGVtZW50XCIpLHJlcXVpcmUoXCIuL1hNTERUREVudGl0eVwiKSxyZXF1aXJlKFwiLi9YTUxEVEROb3RhdGlvblwiKSx0PXJlcXVpcmUoXCIuL1dyaXRlclN0YXRlXCIpLG1vZHVsZS5leHBvcnRzPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gbyhlKXt2YXIgdCxuLG87Zm9yKHQgaW4gZXx8KGU9e30pLHRoaXMub3B0aW9ucz1lLG49ZS53cml0ZXJ8fHt9KXMuY2FsbChuLHQpJiYobz1uW3RdLHRoaXNbXCJfXCIrdF09dGhpc1t0XSx0aGlzW3RdPW8pfXJldHVybiBvLnByb3RvdHlwZS5maWx0ZXJPcHRpb25zPWZ1bmN0aW9uKGUpe3ZhciBzLG8sYSxpLHIsbCx1LHA7cmV0dXJuIGV8fChlPXt9KSxlPW4oe30sdGhpcy5vcHRpb25zLGUpLChzPXt3cml0ZXI6dGhpc30pLnByZXR0eT1lLnByZXR0eXx8ITEscy5hbGxvd0VtcHR5PWUuYWxsb3dFbXB0eXx8ITEscy5pbmRlbnQ9bnVsbCE9KG89ZS5pbmRlbnQpP286XCIgIFwiLHMubmV3bGluZT1udWxsIT0oYT1lLm5ld2xpbmUpP2E6XCJcXG5cIixzLm9mZnNldD1udWxsIT0oaT1lLm9mZnNldCk/aTowLHMuZG9udFByZXR0eVRleHROb2Rlcz1udWxsIT0ocj1udWxsIT0obD1lLmRvbnRQcmV0dHlUZXh0Tm9kZXMpP2w6ZS5kb250cHJldHR5dGV4dG5vZGVzKT9yOjAscy5zcGFjZUJlZm9yZVNsYXNoPW51bGwhPSh1PW51bGwhPShwPWUuc3BhY2VCZWZvcmVTbGFzaCk/cDplLnNwYWNlYmVmb3Jlc2xhc2gpP3U6XCJcIiwhMD09PXMuc3BhY2VCZWZvcmVTbGFzaCYmKHMuc3BhY2VCZWZvcmVTbGFzaD1cIiBcIikscy5zdXBwcmVzc1ByZXR0eUNvdW50PTAscy51c2VyPXt9LHMuc3RhdGU9dC5Ob25lLHN9LG8ucHJvdG90eXBlLmluZGVudD1mdW5jdGlvbihlLHQsbil7dmFyIHM7cmV0dXJuIXQucHJldHR5fHx0LnN1cHByZXNzUHJldHR5Q291bnQ/XCJcIjp0LnByZXR0eSYmKHM9KG58fDApK3Qub2Zmc2V0KzEpPjA/bmV3IEFycmF5KHMpLmpvaW4odC5pbmRlbnQpOlwiXCJ9LG8ucHJvdG90eXBlLmVuZGxpbmU9ZnVuY3Rpb24oZSx0LG4pe3JldHVybiF0LnByZXR0eXx8dC5zdXBwcmVzc1ByZXR0eUNvdW50P1wiXCI6dC5uZXdsaW5lfSxvLnByb3RvdHlwZS5hdHRyaWJ1dGU9ZnVuY3Rpb24oZSx0LG4pe3ZhciBzO3JldHVybiB0aGlzLm9wZW5BdHRyaWJ1dGUoZSx0LG4pLHM9XCIgXCIrZS5uYW1lKyc9XCInK2UudmFsdWUrJ1wiJyx0aGlzLmNsb3NlQXR0cmlidXRlKGUsdCxuKSxzfSxvLnByb3RvdHlwZS5jZGF0YT1mdW5jdGlvbihlLG4scyl7dmFyIG87cmV0dXJuIHRoaXMub3Blbk5vZGUoZSxuLHMpLG4uc3RhdGU9dC5PcGVuVGFnLG89dGhpcy5pbmRlbnQoZSxuLHMpK1wiPCFbQ0RBVEFbXCIsbi5zdGF0ZT10Lkluc2lkZVRhZyxvKz1lLnZhbHVlLG4uc3RhdGU9dC5DbG9zZVRhZyxvKz1cIl1dPlwiK3RoaXMuZW5kbGluZShlLG4scyksbi5zdGF0ZT10Lk5vbmUsdGhpcy5jbG9zZU5vZGUoZSxuLHMpLG99LG8ucHJvdG90eXBlLmNvbW1lbnQ9ZnVuY3Rpb24oZSxuLHMpe3ZhciBvO3JldHVybiB0aGlzLm9wZW5Ob2RlKGUsbixzKSxuLnN0YXRlPXQuT3BlblRhZyxvPXRoaXMuaW5kZW50KGUsbixzKStcIlxceDNjIS0tIFwiLG4uc3RhdGU9dC5JbnNpZGVUYWcsbys9ZS52YWx1ZSxuLnN0YXRlPXQuQ2xvc2VUYWcsbys9XCIgLS1cXHgzZVwiK3RoaXMuZW5kbGluZShlLG4scyksbi5zdGF0ZT10Lk5vbmUsdGhpcy5jbG9zZU5vZGUoZSxuLHMpLG99LG8ucHJvdG90eXBlLmRlY2xhcmF0aW9uPWZ1bmN0aW9uKGUsbixzKXt2YXIgbztyZXR1cm4gdGhpcy5vcGVuTm9kZShlLG4scyksbi5zdGF0ZT10Lk9wZW5UYWcsbz10aGlzLmluZGVudChlLG4scykrXCI8P3htbFwiLG4uc3RhdGU9dC5JbnNpZGVUYWcsbys9JyB2ZXJzaW9uPVwiJytlLnZlcnNpb24rJ1wiJyxudWxsIT1lLmVuY29kaW5nJiYobys9JyBlbmNvZGluZz1cIicrZS5lbmNvZGluZysnXCInKSxudWxsIT1lLnN0YW5kYWxvbmUmJihvKz0nIHN0YW5kYWxvbmU9XCInK2Uuc3RhbmRhbG9uZSsnXCInKSxuLnN0YXRlPXQuQ2xvc2VUYWcsbys9bi5zcGFjZUJlZm9yZVNsYXNoK1wiPz5cIixvKz10aGlzLmVuZGxpbmUoZSxuLHMpLG4uc3RhdGU9dC5Ob25lLHRoaXMuY2xvc2VOb2RlKGUsbixzKSxvfSxvLnByb3RvdHlwZS5kb2NUeXBlPWZ1bmN0aW9uKGUsbixzKXt2YXIgbyxhLGkscixsO2lmKHN8fChzPTApLHRoaXMub3Blbk5vZGUoZSxuLHMpLG4uc3RhdGU9dC5PcGVuVGFnLHI9dGhpcy5pbmRlbnQoZSxuLHMpLHIrPVwiPCFET0NUWVBFIFwiK2Uucm9vdCgpLm5hbWUsZS5wdWJJRCYmZS5zeXNJRD9yKz0nIFBVQkxJQyBcIicrZS5wdWJJRCsnXCIgXCInK2Uuc3lzSUQrJ1wiJzplLnN5c0lEJiYocis9JyBTWVNURU0gXCInK2Uuc3lzSUQrJ1wiJyksZS5jaGlsZHJlbi5sZW5ndGg+MCl7Zm9yKHIrPVwiIFtcIixyKz10aGlzLmVuZGxpbmUoZSxuLHMpLG4uc3RhdGU9dC5JbnNpZGVUYWcsYT0wLGk9KGw9ZS5jaGlsZHJlbikubGVuZ3RoO2E8aTthKyspbz1sW2FdLHIrPXRoaXMud3JpdGVDaGlsZE5vZGUobyxuLHMrMSk7bi5zdGF0ZT10LkNsb3NlVGFnLHIrPVwiXVwifXJldHVybiBuLnN0YXRlPXQuQ2xvc2VUYWcscis9bi5zcGFjZUJlZm9yZVNsYXNoK1wiPlwiLHIrPXRoaXMuZW5kbGluZShlLG4scyksbi5zdGF0ZT10Lk5vbmUsdGhpcy5jbG9zZU5vZGUoZSxuLHMpLHJ9LG8ucHJvdG90eXBlLmVsZW1lbnQ9ZnVuY3Rpb24obixvLGEpe3ZhciBpLHIsbCx1LHAsZCxoLGMseSxULGYsTixnLEQ7Zm9yKHkgaW4gYXx8KGE9MCksVD0hMSxmPVwiXCIsdGhpcy5vcGVuTm9kZShuLG8sYSksby5zdGF0ZT10Lk9wZW5UYWcsZis9dGhpcy5pbmRlbnQobixvLGEpK1wiPFwiK24ubmFtZSxOPW4uYXR0cmlicylzLmNhbGwoTix5KSYmKGk9Tlt5XSxmKz10aGlzLmF0dHJpYnV0ZShpLG8sYSkpO2lmKHU9MD09PShsPW4uY2hpbGRyZW4ubGVuZ3RoKT9udWxsOm4uY2hpbGRyZW5bMF0sMD09PWx8fG4uY2hpbGRyZW4uZXZlcnkoZnVuY3Rpb24odCl7cmV0dXJuKHQudHlwZT09PWUuVGV4dHx8dC50eXBlPT09ZS5SYXcpJiZcIlwiPT09dC52YWx1ZX0pKW8uYWxsb3dFbXB0eT8oZis9XCI+XCIsby5zdGF0ZT10LkNsb3NlVGFnLGYrPVwiPC9cIituLm5hbWUrXCI+XCIrdGhpcy5lbmRsaW5lKG4sbyxhKSk6KG8uc3RhdGU9dC5DbG9zZVRhZyxmKz1vLnNwYWNlQmVmb3JlU2xhc2grXCIvPlwiK3RoaXMuZW5kbGluZShuLG8sYSkpO2Vsc2UgaWYoIW8ucHJldHR5fHwxIT09bHx8dS50eXBlIT09ZS5UZXh0JiZ1LnR5cGUhPT1lLlJhd3x8bnVsbD09dS52YWx1ZSl7aWYoby5kb250UHJldHR5VGV4dE5vZGVzKWZvcihwPTAsaD0oZz1uLmNoaWxkcmVuKS5sZW5ndGg7cDxoO3ArKylpZigoKHI9Z1twXSkudHlwZT09PWUuVGV4dHx8ci50eXBlPT09ZS5SYXcpJiZudWxsIT1yLnZhbHVlKXtvLnN1cHByZXNzUHJldHR5Q291bnQrKyxUPSEwO2JyZWFrfWZvcihmKz1cIj5cIit0aGlzLmVuZGxpbmUobixvLGEpLG8uc3RhdGU9dC5JbnNpZGVUYWcsZD0wLGM9KEQ9bi5jaGlsZHJlbikubGVuZ3RoO2Q8YztkKyspcj1EW2RdLGYrPXRoaXMud3JpdGVDaGlsZE5vZGUocixvLGErMSk7by5zdGF0ZT10LkNsb3NlVGFnLGYrPXRoaXMuaW5kZW50KG4sbyxhKStcIjwvXCIrbi5uYW1lK1wiPlwiLFQmJm8uc3VwcHJlc3NQcmV0dHlDb3VudC0tLGYrPXRoaXMuZW5kbGluZShuLG8sYSksby5zdGF0ZT10Lk5vbmV9ZWxzZSBmKz1cIj5cIixvLnN0YXRlPXQuSW5zaWRlVGFnLG8uc3VwcHJlc3NQcmV0dHlDb3VudCsrLFQ9ITAsZis9dGhpcy53cml0ZUNoaWxkTm9kZSh1LG8sYSsxKSxvLnN1cHByZXNzUHJldHR5Q291bnQtLSxUPSExLG8uc3RhdGU9dC5DbG9zZVRhZyxmKz1cIjwvXCIrbi5uYW1lK1wiPlwiK3RoaXMuZW5kbGluZShuLG8sYSk7cmV0dXJuIHRoaXMuY2xvc2VOb2RlKG4sbyxhKSxmfSxvLnByb3RvdHlwZS53cml0ZUNoaWxkTm9kZT1mdW5jdGlvbih0LG4scyl7c3dpdGNoKHQudHlwZSl7Y2FzZSBlLkNEYXRhOnJldHVybiB0aGlzLmNkYXRhKHQsbixzKTtjYXNlIGUuQ29tbWVudDpyZXR1cm4gdGhpcy5jb21tZW50KHQsbixzKTtjYXNlIGUuRWxlbWVudDpyZXR1cm4gdGhpcy5lbGVtZW50KHQsbixzKTtjYXNlIGUuUmF3OnJldHVybiB0aGlzLnJhdyh0LG4scyk7Y2FzZSBlLlRleHQ6cmV0dXJuIHRoaXMudGV4dCh0LG4scyk7Y2FzZSBlLlByb2Nlc3NpbmdJbnN0cnVjdGlvbjpyZXR1cm4gdGhpcy5wcm9jZXNzaW5nSW5zdHJ1Y3Rpb24odCxuLHMpO2Nhc2UgZS5EdW1teTpyZXR1cm5cIlwiO2Nhc2UgZS5EZWNsYXJhdGlvbjpyZXR1cm4gdGhpcy5kZWNsYXJhdGlvbih0LG4scyk7Y2FzZSBlLkRvY1R5cGU6cmV0dXJuIHRoaXMuZG9jVHlwZSh0LG4scyk7Y2FzZSBlLkF0dHJpYnV0ZURlY2xhcmF0aW9uOnJldHVybiB0aGlzLmR0ZEF0dExpc3QodCxuLHMpO2Nhc2UgZS5FbGVtZW50RGVjbGFyYXRpb246cmV0dXJuIHRoaXMuZHRkRWxlbWVudCh0LG4scyk7Y2FzZSBlLkVudGl0eURlY2xhcmF0aW9uOnJldHVybiB0aGlzLmR0ZEVudGl0eSh0LG4scyk7Y2FzZSBlLk5vdGF0aW9uRGVjbGFyYXRpb246cmV0dXJuIHRoaXMuZHRkTm90YXRpb24odCxuLHMpO2RlZmF1bHQ6dGhyb3cgbmV3IEVycm9yKFwiVW5rbm93biBYTUwgbm9kZSB0eXBlOiBcIit0LmNvbnN0cnVjdG9yLm5hbWUpfX0sby5wcm90b3R5cGUucHJvY2Vzc2luZ0luc3RydWN0aW9uPWZ1bmN0aW9uKGUsbixzKXt2YXIgbztyZXR1cm4gdGhpcy5vcGVuTm9kZShlLG4scyksbi5zdGF0ZT10Lk9wZW5UYWcsbz10aGlzLmluZGVudChlLG4scykrXCI8P1wiLG4uc3RhdGU9dC5JbnNpZGVUYWcsbys9ZS50YXJnZXQsZS52YWx1ZSYmKG8rPVwiIFwiK2UudmFsdWUpLG4uc3RhdGU9dC5DbG9zZVRhZyxvKz1uLnNwYWNlQmVmb3JlU2xhc2grXCI/PlwiLG8rPXRoaXMuZW5kbGluZShlLG4scyksbi5zdGF0ZT10Lk5vbmUsdGhpcy5jbG9zZU5vZGUoZSxuLHMpLG99LG8ucHJvdG90eXBlLnJhdz1mdW5jdGlvbihlLG4scyl7dmFyIG87cmV0dXJuIHRoaXMub3Blbk5vZGUoZSxuLHMpLG4uc3RhdGU9dC5PcGVuVGFnLG89dGhpcy5pbmRlbnQoZSxuLHMpLG4uc3RhdGU9dC5JbnNpZGVUYWcsbys9ZS52YWx1ZSxuLnN0YXRlPXQuQ2xvc2VUYWcsbys9dGhpcy5lbmRsaW5lKGUsbixzKSxuLnN0YXRlPXQuTm9uZSx0aGlzLmNsb3NlTm9kZShlLG4scyksb30sby5wcm90b3R5cGUudGV4dD1mdW5jdGlvbihlLG4scyl7dmFyIG87cmV0dXJuIHRoaXMub3Blbk5vZGUoZSxuLHMpLG4uc3RhdGU9dC5PcGVuVGFnLG89dGhpcy5pbmRlbnQoZSxuLHMpLG4uc3RhdGU9dC5JbnNpZGVUYWcsbys9ZS52YWx1ZSxuLnN0YXRlPXQuQ2xvc2VUYWcsbys9dGhpcy5lbmRsaW5lKGUsbixzKSxuLnN0YXRlPXQuTm9uZSx0aGlzLmNsb3NlTm9kZShlLG4scyksb30sby5wcm90b3R5cGUuZHRkQXR0TGlzdD1mdW5jdGlvbihlLG4scyl7dmFyIG87cmV0dXJuIHRoaXMub3Blbk5vZGUoZSxuLHMpLG4uc3RhdGU9dC5PcGVuVGFnLG89dGhpcy5pbmRlbnQoZSxuLHMpK1wiPCFBVFRMSVNUXCIsbi5zdGF0ZT10Lkluc2lkZVRhZyxvKz1cIiBcIitlLmVsZW1lbnROYW1lK1wiIFwiK2UuYXR0cmlidXRlTmFtZStcIiBcIitlLmF0dHJpYnV0ZVR5cGUsXCIjREVGQVVMVFwiIT09ZS5kZWZhdWx0VmFsdWVUeXBlJiYobys9XCIgXCIrZS5kZWZhdWx0VmFsdWVUeXBlKSxlLmRlZmF1bHRWYWx1ZSYmKG8rPScgXCInK2UuZGVmYXVsdFZhbHVlKydcIicpLG4uc3RhdGU9dC5DbG9zZVRhZyxvKz1uLnNwYWNlQmVmb3JlU2xhc2grXCI+XCIrdGhpcy5lbmRsaW5lKGUsbixzKSxuLnN0YXRlPXQuTm9uZSx0aGlzLmNsb3NlTm9kZShlLG4scyksb30sby5wcm90b3R5cGUuZHRkRWxlbWVudD1mdW5jdGlvbihlLG4scyl7dmFyIG87cmV0dXJuIHRoaXMub3Blbk5vZGUoZSxuLHMpLG4uc3RhdGU9dC5PcGVuVGFnLG89dGhpcy5pbmRlbnQoZSxuLHMpK1wiPCFFTEVNRU5UXCIsbi5zdGF0ZT10Lkluc2lkZVRhZyxvKz1cIiBcIitlLm5hbWUrXCIgXCIrZS52YWx1ZSxuLnN0YXRlPXQuQ2xvc2VUYWcsbys9bi5zcGFjZUJlZm9yZVNsYXNoK1wiPlwiK3RoaXMuZW5kbGluZShlLG4scyksbi5zdGF0ZT10Lk5vbmUsdGhpcy5jbG9zZU5vZGUoZSxuLHMpLG99LG8ucHJvdG90eXBlLmR0ZEVudGl0eT1mdW5jdGlvbihlLG4scyl7dmFyIG87cmV0dXJuIHRoaXMub3Blbk5vZGUoZSxuLHMpLG4uc3RhdGU9dC5PcGVuVGFnLG89dGhpcy5pbmRlbnQoZSxuLHMpK1wiPCFFTlRJVFlcIixuLnN0YXRlPXQuSW5zaWRlVGFnLGUucGUmJihvKz1cIiAlXCIpLG8rPVwiIFwiK2UubmFtZSxlLnZhbHVlP28rPScgXCInK2UudmFsdWUrJ1wiJzooZS5wdWJJRCYmZS5zeXNJRD9vKz0nIFBVQkxJQyBcIicrZS5wdWJJRCsnXCIgXCInK2Uuc3lzSUQrJ1wiJzplLnN5c0lEJiYobys9JyBTWVNURU0gXCInK2Uuc3lzSUQrJ1wiJyksZS5uRGF0YSYmKG8rPVwiIE5EQVRBIFwiK2UubkRhdGEpKSxuLnN0YXRlPXQuQ2xvc2VUYWcsbys9bi5zcGFjZUJlZm9yZVNsYXNoK1wiPlwiK3RoaXMuZW5kbGluZShlLG4scyksbi5zdGF0ZT10Lk5vbmUsdGhpcy5jbG9zZU5vZGUoZSxuLHMpLG99LG8ucHJvdG90eXBlLmR0ZE5vdGF0aW9uPWZ1bmN0aW9uKGUsbixzKXt2YXIgbztyZXR1cm4gdGhpcy5vcGVuTm9kZShlLG4scyksbi5zdGF0ZT10Lk9wZW5UYWcsbz10aGlzLmluZGVudChlLG4scykrXCI8IU5PVEFUSU9OXCIsbi5zdGF0ZT10Lkluc2lkZVRhZyxvKz1cIiBcIitlLm5hbWUsZS5wdWJJRCYmZS5zeXNJRD9vKz0nIFBVQkxJQyBcIicrZS5wdWJJRCsnXCIgXCInK2Uuc3lzSUQrJ1wiJzplLnB1YklEP28rPScgUFVCTElDIFwiJytlLnB1YklEKydcIic6ZS5zeXNJRCYmKG8rPScgU1lTVEVNIFwiJytlLnN5c0lEKydcIicpLG4uc3RhdGU9dC5DbG9zZVRhZyxvKz1uLnNwYWNlQmVmb3JlU2xhc2grXCI+XCIrdGhpcy5lbmRsaW5lKGUsbixzKSxuLnN0YXRlPXQuTm9uZSx0aGlzLmNsb3NlTm9kZShlLG4scyksb30sby5wcm90b3R5cGUub3Blbk5vZGU9ZnVuY3Rpb24oZSx0LG4pe30sby5wcm90b3R5cGUuY2xvc2VOb2RlPWZ1bmN0aW9uKGUsdCxuKXt9LG8ucHJvdG90eXBlLm9wZW5BdHRyaWJ1dGU9ZnVuY3Rpb24oZSx0LG4pe30sby5wcm90b3R5cGUuY2xvc2VBdHRyaWJ1dGU9ZnVuY3Rpb24oZSx0LG4pe30sb30oKX0pLmNhbGwodGhpcyk7XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSnpiM1Z5WTJWeklqcGJJbGhOVEZkeWFYUmxja0poYzJVdWFuTWlYU3dpYm1GdFpYTWlPbHNpVG05a1pWUjVjR1VpTENKWGNtbDBaWEpUZEdGMFpTSXNJbUZ6YzJsbmJpSXNJbWhoYzFCeWIzQWlMQ0pvWVhOUGQyNVFjbTl3WlhKMGVTSXNJbkpsY1hWcGNtVWlMQ0p0YjJSMWJHVWlMQ0psZUhCdmNuUnpJaXdpV0UxTVYzSnBkR1Z5UW1GelpTSXNJbTl3ZEdsdmJuTWlMQ0pyWlhraUxDSnlaV1lpTENKMllXeDFaU0lzSW5Sb2FYTWlMQ0ozY21sMFpYSWlMQ0pqWVd4c0lpd2ljSEp2ZEc5MGVYQmxJaXdpWm1sc2RHVnlUM0IwYVc5dWN5SXNJbVpwYkhSbGNtVmtUM0IwYVc5dWN5SXNJbkpsWmpFaUxDSnlaV1l5SWl3aWNtVm1NeUlzSW5KbFpqUWlMQ0p5WldZMUlpd2ljbVZtTmlJc0luQnlaWFIwZVNJc0ltRnNiRzkzUlcxd2RIa2lMQ0pwYm1SbGJuUWlMQ0p1Wlhkc2FXNWxJaXdpYjJabWMyVjBJaXdpWkc5dWRGQnlaWFIwZVZSbGVIUk9iMlJsY3lJc0ltUnZiblJ3Y21WMGRIbDBaWGgwYm05a1pYTWlMQ0p6Y0dGalpVSmxabTl5WlZOc1lYTm9JaXdpYzNCaFkyVmlaV1p2Y21WemJHRnphQ0lzSW5OMWNIQnlaWE56VUhKbGRIUjVRMjkxYm5RaUxDSjFjMlZ5SWl3aWMzUmhkR1VpTENKT2IyNWxJaXdpYm05a1pTSXNJbXhsZG1Wc0lpd2lhVzVrWlc1MFRHVjJaV3dpTENKQmNuSmhlU0lzSW1wdmFXNGlMQ0psYm1Sc2FXNWxJaXdpWVhSMGNtbGlkWFJsSWl3aVlYUjBJaXdpY2lJc0ltOXdaVzVCZEhSeWFXSjFkR1VpTENKdVlXMWxJaXdpWTJ4dmMyVkJkSFJ5YVdKMWRHVWlMQ0pqWkdGMFlTSXNJbTl3Wlc1T2IyUmxJaXdpVDNCbGJsUmhaeUlzSWtsdWMybGtaVlJoWnlJc0lrTnNiM05sVkdGbklpd2lZMnh2YzJWT2IyUmxJaXdpWTI5dGJXVnVkQ0lzSW1SbFkyeGhjbUYwYVc5dUlpd2lkbVZ5YzJsdmJpSXNJbVZ1WTI5a2FXNW5JaXdpYzNSaGJtUmhiRzl1WlNJc0ltUnZZMVI1Y0dVaUxDSmphR2xzWkNJc0lta2lMQ0pzWlc0aUxDSnliMjkwSWl3aWNIVmlTVVFpTENKemVYTkpSQ0lzSW1Ob2FXeGtjbVZ1SWl3aWJHVnVaM1JvSWl3aWQzSnBkR1ZEYUdsc1pFNXZaR1VpTENKbGJHVnRaVzUwSWl3aVkyaHBiR1JPYjJSbFEyOTFiblFpTENKbWFYSnpkRU5vYVd4a1RtOWtaU0lzSW1vaUxDSnNaVzR4SWl3aWNISmxkSFI1VTNWd2NISmxjM05sWkNJc0ltRjBkSEpwWW5NaUxDSmxkbVZ5ZVNJc0ltVWlMQ0owZVhCbElpd2lWR1Y0ZENJc0lsSmhkeUlzSWtORVlYUmhJaXdpUTI5dGJXVnVkQ0lzSWtWc1pXMWxiblFpTENKeVlYY2lMQ0owWlhoMElpd2lVSEp2WTJWemMybHVaMGx1YzNSeWRXTjBhVzl1SWl3aWNISnZZMlZ6YzJsdVowbHVjM1J5ZFdOMGFXOXVJaXdpUkhWdGJYa2lMQ0pFWldOc1lYSmhkR2x2YmlJc0lrUnZZMVI1Y0dVaUxDSkJkSFJ5YVdKMWRHVkVaV05zWVhKaGRHbHZiaUlzSW1SMFpFRjBkRXhwYzNRaUxDSkZiR1Z0Wlc1MFJHVmpiR0Z5WVhScGIyNGlMQ0prZEdSRmJHVnRaVzUwSWl3aVJXNTBhWFI1UkdWamJHRnlZWFJwYjI0aUxDSmtkR1JGYm5ScGRIa2lMQ0pPYjNSaGRHbHZia1JsWTJ4aGNtRjBhVzl1SWl3aVpIUmtUbTkwWVhScGIyNGlMQ0pGY25KdmNpSXNJbU52Ym5OMGNuVmpkRzl5SWl3aWRHRnlaMlYwSWl3aVpXeGxiV1Z1ZEU1aGJXVWlMQ0poZEhSeWFXSjFkR1ZPWVcxbElpd2lZWFIwY21saWRYUmxWSGx3WlNJc0ltUmxabUYxYkhSV1lXeDFaVlI1Y0dVaUxDSmtaV1poZFd4MFZtRnNkV1VpTENKd1pTSXNJbTVFWVhSaElsMHNJbTFoY0hCcGJtZHpJam9pUTBGRFFTeFhRVU5GTEVsQlFVbEJMRVZCUVZWRExFVkJRVEpOUXl4RlFVTjJUa01zUlVGQlZTeEhRVUZIUXl4bFFVVm1SaXhGUVVGVFJ5eFJRVUZSTEdGQlFXRklMRTlCUlRsQ1JpeEZRVUZYU3l4UlFVRlJMR05CUlVaQkxGRkJRVkVzYjBKQlJWcEJMRkZCUVZFc1owSkJSVlpCTEZGQlFWRXNZMEZGVGtFc1VVRkJVU3huUWtGRlVrRXNVVUZCVVN4blFrRkZXa0VzVVVGQlVTeFpRVVZRUVN4UlFVRlJMR0ZCUlZOQkxGRkJRVkVzT0VKQlJYaENRU3hSUVVGUkxHTkJSVWhCTEZGQlFWRXNiVUpCUlZKQkxGRkJRVkVzYlVKQlJWUkJMRkZCUVZFc2EwSkJSVTVCTEZGQlFWRXNiMEpCUlhwQ1NpeEZRVUZqU1N4UlFVRlJMR2xDUVVWMFFrTXNUMEZCVDBNc1VVRkJNRUlzVjBGREwwSXNVMEZCVTBNc1JVRkJZME1zUjBGRGNrSXNTVUZCU1VNc1JVRkJTME1zUlVGQlMwTXNSVUZKWkN4SlFVRkxSaXhMUVVoTVJDeEpRVUZaUVN4RlFVRlZMRWxCUTNSQ1NTeExRVUZMU2l4UlFVRlZRU3hGUVVObVJTeEZRVUZOUml4RlFVRlJTeXhSUVVGVkxFZEJSV3BDV0N4RlFVRlJXU3hMUVVGTFNpeEZRVUZMUkN4TFFVTjJRa1VzUlVGQlVVUXNSVUZCU1VRc1IwRkRXa2NzUzBGQlN5eEpRVUZOU0N4SFFVRlBSeXhMUVVGTFNDeEhRVU4yUWtjc1MwRkJTMGdzUjBGQlQwVXNSMEYzV0doQ0xFOUJjRmhCU2l4RlFVRmpVU3hWUVVGVlF5eGpRVUZuUWl4VFFVRlRVaXhIUVVNdlF5eEpRVUZKVXl4RlFVRnBRbEFzUlVGQlMxRXNSVUZCVFVNc1JVRkJUVU1zUlVGQlRVTXNSVUZCVFVNc1JVRkJUVU1zUlVGdFFuaEVMRTlCYkVKQlppeEpRVUZaUVN4RlFVRlZMRWxCUTNSQ1FTeEZRVUZWVUN4RlFVRlBMRWRCUVVsWExFdEJRVXRLTEZGQlFWTkJMRWxCUTI1RFV5eEZRVUZyUWl4RFFVTm9Ra29zVDBGQlVVUXNUMEZGVFZrc1QwRkJVMmhDTEVWQlFWRm5RaXhUUVVGVkxFVkJRek5EVUN4RlFVRm5RbEVzVjBGQllXcENMRVZCUVZGcFFpeGhRVUZqTEVWQlEyNUVVaXhGUVVGblFsTXNUMEZCYlVNc1QwRkJla0pvUWl4RlFVRk5SaXhGUVVGUmEwSXNVVUZCYTBKb1FpeEZRVUZOTEV0QlEyaEZUeXhGUVVGblFsVXNVVUZCYzBNc1QwRkJNMEpVTEVWQlFVOVdMRVZCUVZGdFFpeFRRVUZ0UWxRc1JVRkJUeXhMUVVOd1JVUXNSVUZCWjBKWExFOUJRVzlETEU5QlFURkNWQ3hGUVVGUFdDeEZRVUZSYjBJc1VVRkJhMEpVTEVWQlFVOHNSVUZEYkVWR0xFVkJRV2RDV1N4dlFrRkJiMGdzVDBGQk4wWlVMRVZCUVN0RExFOUJRWFpEUXl4RlFVRlBZaXhGUVVGUmNVSXNjVUpCUVN0Q1VpeEZRVUZQWWl4RlFVRlJjMElzY1VKQlFTdENWaXhGUVVGUExFVkJRMnhLU0N4RlFVRm5RbU1zYVVKQlFUSkhMRTlCUVhaR1ZDeEZRVUUwUXl4UFFVRndRME1zUlVGQlQyWXNSVUZCVVhWQ0xHdENRVUUwUWxJc1JVRkJUMllzUlVGQlVYZENMR3RDUVVFMFFsWXNSVUZCVHl4SlFVTm9SeXhKUVVGeVEwd3NSVUZCWjBKakxHMUNRVU5zUW1Rc1JVRkJaMEpqTEdsQ1FVRnRRaXhMUVVWeVEyUXNSVUZCWjBKblFpeHZRa0ZCYzBJc1JVRkRkRU5vUWl4RlFVRm5RbWxDTEV0QlFVOHNSMEZEZGtKcVFpeEZRVUZuUW10Q0xFMUJRVkZ1UXl4RlFVRlpiME1zUzBGRE4wSnVRaXhIUVVkVVZpeEZRVUZqVVN4VlFVRlZWeXhQUVVGVExGTkJRVk5YTEVWQlFVMDNRaXhGUVVGVE9FSXNSMEZEZGtRc1NVRkJTVU1zUlVGRFNpeFBRVUZMTDBJc1JVRkJVV2RDTEZGQlFWVm9RaXhGUVVGUmVVSXNiMEpCUTNSQ0xFZEJRMFY2UWl4RlFVRlJaMElzVTBGRGFrSmxMRWRCUVdWRUxFZEJRVk1zUjBGQlN6bENMRVZCUVZGdlFpeFBRVUZUTEVkQlF6VkNMRVZCUTFRc1NVRkJTVmtzVFVGQlRVUXNSMEZCWVVVc1MwRkJTMnBETEVWQlFWRnJRaXhSUVVkNFF5eEpRVWRVYmtJc1JVRkJZMUVzVlVGQlZUSkNMRkZCUVZVc1UwRkJVMHdzUlVGQlRUZENMRVZCUVZNNFFpeEhRVU40UkN4UFFVRkxPVUlzUlVGQlVXZENMRkZCUVZWb1FpeEZRVUZSZVVJc2IwSkJRM1JDTEVkQlJVRjZRaXhGUVVGUmJVSXNVMEZKYmtKd1FpeEZRVUZqVVN4VlFVRlZORUlzVlVGQldTeFRRVUZUUXl4RlFVRkxjRU1zUlVGQlV6aENMRWRCUTNwRUxFbEJRVWxQTEVWQlNVb3NUMEZJUVdwRExFdEJRVXRyUXl4alFVRmpSaXhGUVVGTGNFTXNSVUZCVXpoQ0xFZEJRMnBEVHl4RlFVRkpMRWxCUVUxRUxFVkJRVWxITEV0QlFVOHNTMEZCVDBnc1JVRkJTV3BETEUxQlFWRXNTVUZEZUVORExFdEJRVXR2UXl4bFFVRmxTaXhGUVVGTGNFTXNSVUZCVXpoQ0xFZEJRek5DVHl4SFFVZFVkRU1zUlVGQlkxRXNWVUZCVld0RExFMUJRVkVzVTBGQlUxb3NSVUZCVFRkQ0xFVkJRVk00UWl4SFFVTjBSQ3hKUVVGSlR5eEZRVlZLTEU5QlZFRnFReXhMUVVGTGMwTXNVMEZCVTJJc1JVRkJUVGRDTEVWQlFWTTRRaXhIUVVNM1FqbENMRVZCUVZFeVFpeE5RVUZSYmtNc1JVRkJXVzFFTEZGQlF6VkNUaXhGUVVGSmFrTXNTMEZCUzJNc1QwRkJUMWNzUlVGQlRUZENMRVZCUVZNNFFpeEhRVUZUTEZsQlEzaERPVUlzUlVGQlVUSkNMRTFCUVZGdVF5eEZRVUZaYjBRc1ZVRkROVUpRTEVkQlFVdFNMRVZCUVVzeFFpeE5RVU5XU0N4RlFVRlJNa0lzVFVGQlVXNURMRVZCUVZseFJDeFRRVU0xUWxJc1IwRkJTeXhOUVVGUmFrTXNTMEZCU3poQ0xGRkJRVkZNTEVWQlFVMDNRaXhGUVVGVE9FSXNSMEZEZWtNNVFpeEZRVUZSTWtJc1RVRkJVVzVETEVWQlFWbHZReXhMUVVNMVFuaENMRXRCUVVzd1F5eFZRVUZWYWtJc1JVRkJUVGRDTEVWQlFWTTRRaXhIUVVOMlFrOHNSMEZIVkhSRExFVkJRV05STEZWQlFWVjNReXhSUVVGVkxGTkJRVk5zUWl4RlFVRk5OMElzUlVGQlV6aENMRWRCUTNoRUxFbEJRVWxQTEVWQlZVb3NUMEZVUVdwRExFdEJRVXR6UXl4VFFVRlRZaXhGUVVGTk4wSXNSVUZCVXpoQ0xFZEJRemRDT1VJc1JVRkJVVEpDTEUxQlFWRnVReXhGUVVGWmJVUXNVVUZETlVKT0xFVkJRVWxxUXl4TFFVRkxZeXhQUVVGUFZ5eEZRVUZOTjBJc1JVRkJVemhDTEVkQlFWTXNWMEZEZUVNNVFpeEZRVUZSTWtJc1RVRkJVVzVETEVWQlFWbHZSQ3hWUVVNMVFsQXNSMEZCUzFJc1JVRkJTekZDTEUxQlExWklMRVZCUVZFeVFpeE5RVUZSYmtNc1JVRkJXWEZFTEZOQlF6VkNVaXhIUVVGTExGVkJRVk5xUXl4TFFVRkxPRUlzVVVGQlVVd3NSVUZCVFRkQ0xFVkJRVk00UWl4SFFVTXhRemxDTEVWQlFWRXlRaXhOUVVGUmJrTXNSVUZCV1c5RExFdEJRelZDZUVJc1MwRkJTekJETEZWQlFWVnFRaXhGUVVGTk4wSXNSVUZCVXpoQ0xFZEJRM1pDVHl4SFFVZFVkRU1zUlVGQlkxRXNWVUZCVlhsRExGbEJRV01zVTBGQlUyNUNMRVZCUVUwM1FpeEZRVUZUT0VJc1IwRkROVVFzU1VGQlNVOHNSVUZwUWtvc1QwRm9Ra0ZxUXl4TFFVRkxjME1zVTBGQlUySXNSVUZCVFRkQ0xFVkJRVk00UWl4SFFVTTNRamxDTEVWQlFWRXlRaXhOUVVGUmJrTXNSVUZCV1cxRUxGRkJRelZDVGl4RlFVRkpha01zUzBGQlMyTXNUMEZCVDFjc1JVRkJUVGRDTEVWQlFWTTRRaXhIUVVGVExGRkJRM2hET1VJc1JVRkJVVEpDTEUxQlFWRnVReXhGUVVGWmIwUXNWVUZETlVKUUxFZEJRVXNzWVVGQlpWSXNSVUZCUzI5Q0xGRkJRVlVzU1VGRFpDeE5RVUZxUW5CQ0xFVkJRVXR4UWl4WFFVTlFZaXhIUVVGTExHTkJRV2RDVWl4RlFVRkxjVUlzVTBGQlZ5eExRVVZvUWl4TlFVRnVRbkpDTEVWQlFVdHpRaXhoUVVOUVpDeEhRVUZMTEdkQ1FVRnJRbElzUlVGQlMzTkNMRmRCUVdFc1MwRkZNME51UkN4RlFVRlJNa0lzVFVGQlVXNURMRVZCUVZseFJDeFRRVU0xUWxJc1IwRkJTM0pETEVWQlFWRjFRaXhwUWtGQmJVSXNTMEZEYUVOakxFZEJRVXRxUXl4TFFVRkxPRUlzVVVGQlVVd3NSVUZCVFRkQ0xFVkJRVk00UWl4SFFVTnFRemxDTEVWQlFWRXlRaXhOUVVGUmJrTXNSVUZCV1c5RExFdEJRelZDZUVJc1MwRkJTekJETEZWQlFWVnFRaXhGUVVGTk4wSXNSVUZCVXpoQ0xFZEJRM1pDVHl4SFFVZFVkRU1zUlVGQlkxRXNWVUZCVlRaRExGRkJRVlVzVTBGQlUzWkNMRVZCUVUwM1FpeEZRVUZUT0VJc1IwRkRlRVFzU1VGQlNYVkNMRVZCUVU5RExFVkJRVWRETEVWQlFVdHNRaXhGUVVGSGJrTXNSVUZYZEVJc1IwRldRVFJDTEVsQlFWVkJMRVZCUVZFc1IwRkRiRUl4UWl4TFFVRkxjME1zVTBGQlUySXNSVUZCVFRkQ0xFVkJRVk00UWl4SFFVTTNRamxDTEVWQlFWRXlRaXhOUVVGUmJrTXNSVUZCV1cxRUxGRkJRelZDVGl4RlFVRkpha01zUzBGQlMyTXNUMEZCVDFjc1JVRkJUVGRDTEVWQlFWTTRRaXhIUVVNdlFrOHNSMEZCU3l4aFFVRmxVaXhGUVVGTE1rSXNUMEZCVDJwQ0xFdEJRelZDVml4RlFVRkxORUlzVDBGQlV6VkNMRVZCUVVzMlFpeE5RVU55UW5KQ0xFZEJRVXNzV1VGQlkxSXNSVUZCU3pSQ0xFMUJRVkVzVFVGQlVUVkNMRVZCUVVzMlFpeE5RVUZSTEVsQlF6VkROMElzUlVGQlN6WkNMRkZCUTJSeVFpeEhRVUZMTEZsQlFXTlNMRVZCUVVzMlFpeE5RVUZSTEV0QlJUbENOMElzUlVGQlN6aENMRk5CUVZORExFOUJRVk1zUlVGQlJ5eERRVXMxUWl4SlFVcEJka0lzUjBGQlN5eExRVU5NUVN4SFFVRkxha01zUzBGQlN6aENMRkZCUVZGTUxFVkJRVTAzUWl4RlFVRlRPRUlzUjBGRGFrTTVRaXhGUVVGUk1rSXNUVUZCVVc1RExFVkJRVmx2UkN4VlFVVjJRbFVzUlVGQlNTeEZRVUZIUXl4SFFVUmFja1FzUlVGQlRUSkNMRVZCUVVzNFFpeFZRVU5YUXl4UFFVRlJUaXhGUVVGSlF5eEZRVUZMUkN4SlFVTnlRMFFzUlVGQlVXNUVMRVZCUVVsdlJDeEhRVU5hYWtJc1IwRkJTMnBETEV0QlFVdDVSQ3hsUVVGbFVpeEZRVUZQY2tRc1JVRkJVemhDTEVWQlFWRXNSMEZGYmtRNVFpeEZRVUZSTWtJc1RVRkJVVzVETEVWQlFWbHhSQ3hUUVVNMVFsSXNSMEZCU3l4SlFVOVFMRTlCVEVGeVF5eEZRVUZSTWtJc1RVRkJVVzVETEVWQlFWbHhSQ3hUUVVNMVFsSXNSMEZCUzNKRExFVkJRVkYxUWl4cFFrRkJiVUlzU1VGRGFFTmpMRWRCUVV0cVF5eExRVUZMT0VJc1VVRkJVVXdzUlVGQlRUZENMRVZCUVZNNFFpeEhRVU5xUXpsQ0xFVkJRVkV5UWl4TlFVRlJia01zUlVGQldXOURMRXRCUXpWQ2VFSXNTMEZCU3pCRExGVkJRVlZxUWl4RlFVRk5OMElzUlVGQlV6aENMRWRCUTNaQ1R5eEhRVWRVZEVNc1JVRkJZMUVzVlVGQlZYVkVMRkZCUVZVc1UwRkJVMnBETEVWQlFVMDNRaXhGUVVGVE9FSXNSMEZEZUVRc1NVRkJTVTBzUlVGQlMybENMRVZCUVU5VkxFVkJRV2RDUXl4RlFVRm5RbFlzUlVGQlIxY3NSVUZCUjFZc1JVRkJTMWNzUlVGQlRUTkNMRVZCUVUwMFFpeEZRVUZyUWpsQ0xFVkJRVWR1UXl4RlFVRkxVU3hGUVVGTlF5eEZRVkYyUnl4SlFVRkxORUlzUzBGUVRGUXNTVUZCVlVFc1JVRkJVU3hIUVVOc1FuRkRMRWRCUVcxQ0xFVkJRMjVDT1VJc1JVRkJTU3hIUVVOS2FrTXNTMEZCUzNORExGTkJRVk5pTEVWQlFVMDNRaXhGUVVGVE9FSXNSMEZETjBJNVFpeEZRVUZSTWtJc1RVRkJVVzVETEVWQlFWbHRSQ3hSUVVNMVFrNHNSMEZCUzJwRExFdEJRVXRqTEU5QlFVOVhMRVZCUVUwM1FpeEZRVUZUT0VJc1IwRkJVeXhKUVVGTlJDeEZRVUZMVlN4TFFVTndSSEpETEVWQlFVMHlRaXhGUVVGTGRVTXNVVUZGU2pGRkxFVkJRVkZaTEV0QlFVdEtMRVZCUVV0eFF5eExRVU4yUWtnc1JVRkJUV3hETEVWQlFVbHhReXhIUVVOV1JpeEhRVUZMYWtNc1MwRkJTeXRDTEZWQlFWVkRMRVZCUVV0d1F5eEZRVUZUT0VJc1NVRkpjRU1zUjBGRVFXdERMRVZCUVc5RExFdEJSSEJEUkN4RlFVRnBRbXhETEVWQlFVczRRaXhUUVVGVFF5eFJRVU5UTEV0QlFVOHZRaXhGUVVGTE9FSXNVMEZCVXl4SFFVTjBReXhKUVVGdVFra3NSMEZCZDBKc1F5eEZRVUZMT0VJc1UwRkJVMVVzVFVGQlRTeFRRVUZUUXl4SFFVTjJSQ3hQUVVGUlFTeEZRVUZGUXl4UFFVRlRhRVlzUlVGQlUybEdMRTFCUVZGR0xFVkJRVVZETEU5QlFWTm9SaXhGUVVGVGEwWXNUVUZCYjBJc1MwRkJXa2dzUlVGQlJXNUZMRkZCUlRsRVNDeEZRVUZSYVVJc1dVRkRWbTlDTEVkQlFVc3NTVUZEVEhKRExFVkJRVkV5UWl4TlFVRlJia01zUlVGQldYRkVMRk5CUXpWQ1VpeEhRVUZMTEV0QlFVOVNMRVZCUVV0VkxFdEJRVThzU1VGQlRXNURMRXRCUVVzNFFpeFJRVUZSVEN4RlFVRk5OMElzUlVGQlV6aENMRXRCUlRGRU9VSXNSVUZCVVRKQ0xFMUJRVkZ1UXl4RlFVRlpjVVFzVTBGRE5VSlNMRWRCUVV0eVF5eEZRVUZSZFVJc2FVSkJRVzFDTEV0QlFVOXVRaXhMUVVGTE9FSXNVVUZCVVV3c1JVRkJUVGRDTEVWQlFWTTRRaXhUUVVWb1JTeEpRVUZKT1VJc1JVRkJVV2RDTEZGQlFUWkNMRWxCUVc1Q0swTXNSMEZCZVVKRExFVkJRV1ZQTEU5QlFWTm9SaXhGUVVGVGFVWXNUVUZCVVZJc1JVRkJaVThzVDBGQlUyaEdMRVZCUVZOclJpeExRVUZwUXl4TlFVRjRRbFFzUlVGQlpUZEVMRTFCVldwS0xFTkJRMHdzUjBGQlNVZ3NSVUZCVVhGQ0xHOUNRVVZXTEVsQlFVdHBReXhGUVVGSkxFVkJRVWRETEVkQlJGbzNReXhGUVVGUGJVSXNSVUZCU3poQ0xGVkJRMWRETEU5QlFWRk9MRVZCUVVsRExFVkJRVXRFTEVsQlJYUkRMRXRCUkVGRUxFVkJRVkV6UXl4RlFVRkxORU1zU1VGRFJtbENMRTlCUVZOb1JpeEZRVUZUYVVZc1RVRkJVVzVDTEVWQlFVMXJRaXhQUVVGVGFFWXNSVUZCVTJ0R0xFMUJRWGRDTEUxQlFXWndRaXhGUVVGTmJFUXNUVUZCWjBJc1EwRkRNVVpJTEVWQlFWRjVRaXh6UWtGRFVqQkRMRWRCUVcxQ0xFVkJRMjVDTEUxQlQwNHNTVUZJUVRsQ0xFZEJRVXNzU1VGQlRXcERMRXRCUVVzNFFpeFJRVUZSVEN4RlFVRk5OMElzUlVGQlV6aENMRWRCUTNaRE9VSXNSVUZCVVRKQ0xFMUJRVkZ1UXl4RlFVRlpiMFFzVlVGRmRrSnhRaXhGUVVGSkxFVkJRVWRETEVkQlJGcDJSQ3hGUVVGUGEwSXNSVUZCU3poQ0xGVkJRMWxETEU5QlFWRkxMRVZCUVVsRExFVkJRVTFFTEVsQlEzaERXaXhGUVVGUk1VTXNSVUZCUzNORUxFZEJRMkkxUWl4SFFVRkxha01zUzBGQlMzbEVMR1ZCUVdWU0xFVkJRVTl5UkN4RlFVRlRPRUlzUlVGQlVTeEhRVVZ1UkRsQ0xFVkJRVkV5UWl4TlFVRlJia01zUlVGQldYRkVMRk5CUXpWQ1VpeEhRVUZMYWtNc1MwRkJTMk1zVDBGQlQxY3NSVUZCVFRkQ0xFVkJRVk00UWl4SFFVRlRMRXRCUVU5RUxFVkJRVXRWTEV0QlFVOHNTVUZEZUVRMFFpeEhRVU5HYmtVc1JVRkJVWGxDTEhOQ1FVVldXU3hIUVVGTGFrTXNTMEZCU3poQ0xGRkJRVkZNTEVWQlFVMDNRaXhGUVVGVE9FSXNSMEZEYWtNNVFpeEZRVUZSTWtJc1RVRkJVVzVETEVWQlFWbHZReXhWUVd4RE5VSlRMRWRCUVVzc1NVRkRUSEpETEVWQlFWRXlRaXhOUVVGUmJrTXNSVUZCV1c5RUxGVkJRelZDTlVNc1JVRkJVWGxDTEhOQ1FVTlNNRU1zUjBGQmJVSXNSVUZEYmtJNVFpeEhRVUZMYWtNc1MwRkJTM2xFTEdWQlFXVkhMRVZCUVdkQ2FFVXNSVUZCVXpoQ0xFVkJRVkVzUjBGRE1VUTVRaXhGUVVGUmVVSXNjMEpCUTFJd1F5eEhRVUZ0UWl4RlFVTnVRbTVGTEVWQlFWRXlRaXhOUVVGUmJrTXNSVUZCV1hGRUxGTkJRelZDVWl4SFFVRkxMRXRCUVU5U0xFVkJRVXRWTEV0QlFVOHNTVUZCVFc1RExFdEJRVXM0UWl4UlFVRlJUQ3hGUVVGTk4wSXNSVUZCVXpoQ0xFZEJOa0kxUkN4UFFVUkJNVUlzUzBGQlN6QkRMRlZCUVZWcVFpeEZRVUZOTjBJc1JVRkJVemhDTEVkQlEzWkNUeXhIUVVkVWRFTXNSVUZCWTFFc1ZVRkJWWE5FTEdWQlFXbENMRk5CUVZOb1F5eEZRVUZOTjBJc1JVRkJVemhDTEVkQlF5OUVMRTlCUVZGRUxFVkJRVXN3UXl4TlFVTllMRXRCUVV0b1JpeEZRVUZUYlVZc1RVRkRXaXhQUVVGUGRFVXNTMEZCUzNGRExFMUJRVTFhTEVWQlFVMDNRaXhGUVVGVE9FSXNSMEZEYmtNc1MwRkJTM1pETEVWQlFWTnZSaXhSUVVOYUxFOUJRVTkyUlN4TFFVRkxNa01zVVVGQlVXeENMRVZCUVUwM1FpeEZRVUZUT0VJc1IwRkRja01zUzBGQlMzWkRMRVZCUVZOeFJpeFJRVU5hTEU5QlFVOTRSU3hMUVVGTE1FUXNVVUZCVVdwRExFVkJRVTAzUWl4RlFVRlRPRUlzUjBGRGNrTXNTMEZCUzNaRExFVkJRVk5yUml4SlFVTmFMRTlCUVU5eVJTeExRVUZMZVVVc1NVRkJTV2hFTEVWQlFVMDNRaXhGUVVGVE9FSXNSMEZEYWtNc1MwRkJTM1pETEVWQlFWTnBSaXhMUVVOYUxFOUJRVTl3UlN4TFFVRkxNRVVzUzBGQlMycEVMRVZCUVUwM1FpeEZRVUZUT0VJc1IwRkRiRU1zUzBGQlMzWkRMRVZCUVZOM1JpeHpRa0ZEV2l4UFFVRlBNMFVzUzBGQlN6UkZMSE5DUVVGelFtNUVMRVZCUVUwM1FpeEZRVUZUT0VJc1IwRkRia1FzUzBGQlMzWkRMRVZCUVZNd1JpeE5RVU5hTEUxQlFVOHNSMEZEVkN4TFFVRkxNVVlzUlVGQlV6SkdMRmxCUTFvc1QwRkJUemxGTEV0QlFVczBReXhaUVVGWmJrSXNSVUZCVFRkQ0xFVkJRVk00UWl4SFFVTjZReXhMUVVGTGRrTXNSVUZCVXpSR0xGRkJRMW9zVDBGQlR5OUZMRXRCUVV0blJDeFJRVUZSZGtJc1JVRkJUVGRDTEVWQlFWTTRRaXhIUVVOeVF5eExRVUZMZGtNc1JVRkJVelpHTEhGQ1FVTmFMRTlCUVU5b1JpeExRVUZMYVVZc1YwRkJWM2hFTEVWQlFVMDNRaXhGUVVGVE9FSXNSMEZEZUVNc1MwRkJTM1pETEVWQlFWTXJSaXh0UWtGRFdpeFBRVUZQYkVZc1MwRkJTMjFHTEZkQlFWY3hSQ3hGUVVGTk4wSXNSVUZCVXpoQ0xFZEJRM2hETEV0QlFVdDJReXhGUVVGVGFVY3NhMEpCUTFvc1QwRkJUM0JHTEV0QlFVdHhSaXhWUVVGVk5VUXNSVUZCVFRkQ0xFVkJRVk00UWl4SFFVTjJReXhMUVVGTGRrTXNSVUZCVTIxSExHOUNRVU5hTEU5QlFVOTBSaXhMUVVGTGRVWXNXVUZCV1RsRUxFVkJRVTAzUWl4RlFVRlRPRUlzUjBGRGVrTXNVVUZEUlN4TlFVRk5MRWxCUVVrNFJDeE5RVUZOTERCQ1FVRTBRaTlFTEVWQlFVdG5SU3haUVVGWmRFUXNVVUZKYmtWNFF5eEZRVUZqVVN4VlFVRlZlVVVzYzBKQlFYZENMRk5CUVZOdVJDeEZRVUZOTjBJc1JVRkJVemhDTEVkQlEzUkZMRWxCUVVsUExFVkJZMG9zVDBGaVFXcERMRXRCUVV0elF5eFRRVUZUWWl4RlFVRk5OMElzUlVGQlV6aENMRWRCUXpkQ09VSXNSVUZCVVRKQ0xFMUJRVkZ1UXl4RlFVRlpiVVFzVVVGRE5VSk9MRVZCUVVscVF5eExRVUZMWXl4UFFVRlBWeXhGUVVGTk4wSXNSVUZCVXpoQ0xFZEJRVk1zUzBGRGVFTTVRaXhGUVVGUk1rSXNUVUZCVVc1RExFVkJRVmx2UkN4VlFVTTFRbEFzUjBGQlMxSXNSVUZCUzJsRkxFOUJRMDVxUlN4RlFVRkxNVUlzVVVGRFVHdERMRWRCUVVzc1NVRkJUVklzUlVGQlN6RkNMRTlCUld4Q1NDeEZRVUZSTWtJc1RVRkJVVzVETEVWQlFWbHhSQ3hUUVVNMVFsSXNSMEZCUzNKRExFVkJRVkYxUWl4cFFrRkJiVUlzUzBGRGFFTmpMRWRCUVV0cVF5eExRVUZMT0VJc1VVRkJVVXdzUlVGQlRUZENMRVZCUVZNNFFpeEhRVU5xUXpsQ0xFVkJRVkV5UWl4TlFVRlJia01zUlVGQldXOURMRXRCUXpWQ2VFSXNTMEZCU3pCRExGVkJRVlZxUWl4RlFVRk5OMElzUlVGQlV6aENMRWRCUTNaQ1R5eEhRVWRVZEVNc1JVRkJZMUVzVlVGQlZYTkZMRWxCUVUwc1UwRkJVMmhFTEVWQlFVMDNRaXhGUVVGVE9FSXNSMEZEY0VRc1NVRkJTVThzUlVGVlNpeFBRVlJCYWtNc1MwRkJTM05ETEZOQlFWTmlMRVZCUVUwM1FpeEZRVUZUT0VJc1IwRkROMEk1UWl4RlFVRlJNa0lzVFVGQlVXNURMRVZCUVZsdFJDeFJRVU0xUWs0c1JVRkJTV3BETEV0QlFVdGpMRTlCUVU5WExFVkJRVTAzUWl4RlFVRlRPRUlzUjBGREwwSTVRaXhGUVVGUk1rSXNUVUZCVVc1RExFVkJRVmx2UkN4VlFVTTFRbEFzUjBGQlMxSXNSVUZCU3pGQ0xFMUJRMVpJTEVWQlFWRXlRaXhOUVVGUmJrTXNSVUZCV1hGRUxGTkJRelZDVWl4SFFVRkxha01zUzBGQlN6aENMRkZCUVZGTUxFVkJRVTAzUWl4RlFVRlRPRUlzUjBGRGFrTTVRaXhGUVVGUk1rSXNUVUZCVVc1RExFVkJRVmx2UXl4TFFVTTFRbmhDTEV0QlFVc3dReXhWUVVGVmFrSXNSVUZCVFRkQ0xFVkJRVk00UWl4SFFVTjJRazhzUjBGSFZIUkRMRVZCUVdOUkxGVkJRVlYxUlN4TFFVRlBMRk5CUVZOcVJDeEZRVUZOTjBJc1JVRkJVemhDTEVkQlEzSkVMRWxCUVVsUExFVkJWVW9zVDBGVVFXcERMRXRCUVV0elF5eFRRVUZUWWl4RlFVRk5OMElzUlVGQlV6aENMRWRCUXpkQ09VSXNSVUZCVVRKQ0xFMUJRVkZ1UXl4RlFVRlpiVVFzVVVGRE5VSk9MRVZCUVVscVF5eExRVUZMWXl4UFFVRlBWeXhGUVVGTk4wSXNSVUZCVXpoQ0xFZEJReTlDT1VJc1JVRkJVVEpDTEUxQlFWRnVReXhGUVVGWmIwUXNWVUZETlVKUUxFZEJRVXRTTEVWQlFVc3hRaXhOUVVOV1NDeEZRVUZSTWtJc1RVRkJVVzVETEVWQlFWbHhSQ3hUUVVNMVFsSXNSMEZCUzJwRExFdEJRVXM0UWl4UlFVRlJUQ3hGUVVGTk4wSXNSVUZCVXpoQ0xFZEJRMnBET1VJc1JVRkJVVEpDTEUxQlFWRnVReXhGUVVGWmIwTXNTMEZETlVKNFFpeExRVUZMTUVNc1ZVRkJWV3BDTEVWQlFVMDNRaXhGUVVGVE9FSXNSMEZEZGtKUExFZEJSMVIwUXl4RlFVRmpVU3hWUVVGVk9FVXNWMEZCWVN4VFFVRlRlRVFzUlVGQlRUZENMRVZCUVZNNFFpeEhRVU16UkN4SlFVRkpUeXhGUVdkQ1NpeFBRV1pCYWtNc1MwRkJTM05ETEZOQlFWTmlMRVZCUVUwM1FpeEZRVUZUT0VJc1IwRkROMEk1UWl4RlFVRlJNa0lzVFVGQlVXNURMRVZCUVZsdFJDeFJRVU0xUWs0c1JVRkJTV3BETEV0QlFVdGpMRTlCUVU5WExFVkJRVTAzUWl4RlFVRlRPRUlzUjBGQlV5eFpRVU40UXpsQ0xFVkJRVkV5UWl4TlFVRlJia01zUlVGQldXOUVMRlZCUXpWQ1VDeEhRVUZMTEVsQlFVMVNMRVZCUVV0clJTeFpRVUZqTEVsQlFVMXNSU3hGUVVGTGJVVXNZMEZCWjBJc1NVRkJUVzVGTEVWQlFVdHZSU3hqUVVOMFF5eGhRVUV4UW5CRkxFVkJRVXR4UlN4dFFrRkRVRGRFTEVkQlFVc3NTVUZCVFZJc1JVRkJTM0ZGTEd0Q1FVVmtja1VzUlVGQlMzTkZMR1ZCUTFBNVJDeEhRVUZMTEV0QlFVOVNMRVZCUVV0elJTeGhRVUZsTEV0QlJXeERia2NzUlVGQlVUSkNMRTFCUVZGdVF5eEZRVUZaY1VRc1UwRkROVUpTTEVkQlFVdHlReXhGUVVGUmRVSXNhVUpCUVcxQ0xFbEJRVTF1UWl4TFFVRkxPRUlzVVVGQlVVd3NSVUZCVFRkQ0xFVkJRVk00UWl4SFFVTnNSVGxDTEVWQlFWRXlRaXhOUVVGUmJrTXNSVUZCV1c5RExFdEJRelZDZUVJc1MwRkJTekJETEZWQlFWVnFRaXhGUVVGTk4wSXNSVUZCVXpoQ0xFZEJRM1pDVHl4SFFVZFVkRU1zUlVGQlkxRXNWVUZCVldkR0xGZEJRV0VzVTBGQlV6RkVMRVZCUVUwM1FpeEZRVUZUT0VJc1IwRkRNMFFzU1VGQlNVOHNSVUZWU2l4UFFWUkJha01zUzBGQlMzTkRMRk5CUVZOaUxFVkJRVTAzUWl4RlFVRlRPRUlzUjBGRE4wSTVRaXhGUVVGUk1rSXNUVUZCVVc1RExFVkJRVmx0UkN4UlFVTTFRazRzUlVGQlNXcERMRXRCUVV0akxFOUJRVTlYTEVWQlFVMDNRaXhGUVVGVE9FSXNSMEZCVXl4WlFVTjRRemxDTEVWQlFWRXlRaXhOUVVGUmJrTXNSVUZCV1c5RUxGVkJRelZDVUN4SFFVRkxMRWxCUVUxU0xFVkJRVXRWTEV0QlFVOHNTVUZCVFZZc1JVRkJTekZDTEUxQlEyeERTQ3hGUVVGUk1rSXNUVUZCVVc1RExFVkJRVmx4UkN4VFFVTTFRbElzUjBGQlMzSkRMRVZCUVZGMVFpeHBRa0ZCYlVJc1NVRkJUVzVDTEV0QlFVczRRaXhSUVVGUlRDeEZRVUZOTjBJc1JVRkJVemhDTEVkQlEyeEZPVUlzUlVGQlVUSkNMRTFCUVZGdVF5eEZRVUZaYjBNc1MwRkROVUo0UWl4TFFVRkxNRU1zVlVGQlZXcENMRVZCUVUwM1FpeEZRVUZUT0VJc1IwRkRka0pQTEVkQlIxUjBReXhGUVVGalVTeFZRVUZWYTBZc1ZVRkJXU3hUUVVGVE5VUXNSVUZCVFRkQ0xFVkJRVk00UWl4SFFVTXhSQ3hKUVVGSlR5eEZRWGxDU2l4UFFYaENRV3BETEV0QlFVdHpReXhUUVVGVFlpeEZRVUZOTjBJc1JVRkJVemhDTEVkQlF6ZENPVUlzUlVGQlVUSkNMRTFCUVZGdVF5eEZRVUZaYlVRc1VVRkROVUpPTEVWQlFVbHFReXhMUVVGTFl5eFBRVUZQVnl4RlFVRk5OMElzUlVGQlV6aENMRWRCUVZNc1YwRkRlRU01UWl4RlFVRlJNa0lzVFVGQlVXNURMRVZCUVZsdlJDeFZRVU40UW1Zc1JVRkJTM1ZGTEV0QlExQXZSQ3hIUVVGTExFMUJSVkJCTEVkQlFVc3NTVUZCVFZJc1JVRkJTMVVzUzBGRFdsWXNSVUZCU3pGQ0xFMUJRMUJyUXl4SFFVRkxMRXRCUVU5U0xFVkJRVXN4UWl4TlFVRlJMRXRCUlhKQ01FSXNSVUZCU3pSQ0xFOUJRVk0xUWl4RlFVRkxOa0lzVFVGRGNrSnlRaXhIUVVGTExGbEJRV05TTEVWQlFVczBRaXhOUVVGUkxFMUJRVkUxUWl4RlFVRkxOa0lzVFVGQlVTeEpRVU0xUXpkQ0xFVkJRVXMyUWl4UlFVTmtja0lzUjBGQlN5eFpRVUZqVWl4RlFVRkxOa0lzVFVGQlVTeExRVVU1UWpkQ0xFVkJRVXQzUlN4UlFVTlFhRVVzUjBGQlN5eFZRVUZaVWl4RlFVRkxkMFVzVVVGSE1VSnlSeXhGUVVGUk1rSXNUVUZCVVc1RExFVkJRVmx4UkN4VFFVTTFRbElzUjBGQlMzSkRMRVZCUVZGMVFpeHBRa0ZCYlVJc1NVRkJUVzVDTEV0QlFVczRRaXhSUVVGUlRDeEZRVUZOTjBJc1JVRkJVemhDTEVkQlEyeEZPVUlzUlVGQlVUSkNMRTFCUVZGdVF5eEZRVUZaYjBNc1MwRkROVUo0UWl4TFFVRkxNRU1zVlVGQlZXcENMRVZCUVUwM1FpeEZRVUZUT0VJc1IwRkRka0pQTEVkQlIxUjBReXhGUVVGalVTeFZRVUZWYjBZc1dVRkJZeXhUUVVGVE9VUXNSVUZCVFRkQ0xFVkJRVk00UWl4SFFVTTFSQ3hKUVVGSlR5eEZRV2xDU2l4UFFXaENRV3BETEV0QlFVdHpReXhUUVVGVFlpeEZRVUZOTjBJc1JVRkJVemhDTEVkQlF6ZENPVUlzUlVGQlVUSkNMRTFCUVZGdVF5eEZRVUZaYlVRc1VVRkROVUpPTEVWQlFVbHFReXhMUVVGTFl5eFBRVUZQVnl4RlFVRk5OMElzUlVGQlV6aENMRWRCUVZNc1lVRkRlRU01UWl4RlFVRlJNa0lzVFVGQlVXNURMRVZCUVZsdlJDeFZRVU0xUWxBc1IwRkJTeXhKUVVGTlVpeEZRVUZMVlN4TFFVTmFWaXhGUVVGTE5FSXNUMEZCVXpWQ0xFVkJRVXMyUWl4TlFVTnlRbkpDTEVkQlFVc3NXVUZCWTFJc1JVRkJTelJDTEUxQlFWRXNUVUZCVVRWQ0xFVkJRVXMyUWl4TlFVRlJMRWxCUXpWRE4wSXNSVUZCU3pSQ0xFMUJRMlJ3UWl4SFFVRkxMRmxCUVdOU0xFVkJRVXMwUWl4TlFVRlJMRWxCUTNaQ05VSXNSVUZCU3paQ0xGRkJRMlJ5UWl4SFFVRkxMRmxCUVdOU0xFVkJRVXMyUWl4TlFVRlJMRXRCUld4RE1VUXNSVUZCVVRKQ0xFMUJRVkZ1UXl4RlFVRlpjVVFzVTBGRE5VSlNMRWRCUVV0eVF5eEZRVUZSZFVJc2FVSkJRVzFDTEVsQlFVMXVRaXhMUVVGTE9FSXNVVUZCVVV3c1JVRkJUVGRDTEVWQlFWTTRRaXhIUVVOc1JUbENMRVZCUVZFeVFpeE5RVUZSYmtNc1JVRkJXVzlETEV0QlF6VkNlRUlzUzBGQlN6QkRMRlZCUVZWcVFpeEZRVUZOTjBJc1JVRkJVemhDTEVkQlEzWkNUeXhIUVVkVWRFTXNSVUZCWTFFc1ZVRkJWVzFETEZOQlFWY3NVMEZCVTJJc1JVRkJUVGRDTEVWQlFWTTRRaXhMUVVVelJDOUNMRVZCUVdOUkxGVkJRVlYxUXl4VlFVRlpMRk5CUVZOcVFpeEZRVUZOTjBJc1JVRkJVemhDTEV0QlJUVkVMMElzUlVGQlkxRXNWVUZCVlN0Q0xHTkJRV2RDTEZOQlFWTkdMRVZCUVV0d1F5eEZRVUZUT0VJc1MwRkZMMFF2UWl4RlFVRmpVU3hWUVVGVmFVTXNaVUZCYVVJc1UwRkJVMG9zUlVGQlMzQkRMRVZCUVZNNFFpeExRVVY2UkM5Q0xFVkJiRmwzUWl4TFFYTlphRU5QTEV0QlFVdEdJaXdpWm1sc1pTSTZJaTlvYjIxbEwzcHBibTh2Y0hKdmFtVmpkSE12YzJWaGRHMWhjSFl5TDIxaGMzUmxjaTl6WldGMGJXRndkakl2WTJ4cFpXNTBMMjV2WkdWZmJXOWtkV3hsY3k5NGJXeGlkV2xzWkdWeUwyeHBZaTlZVFV4WGNtbDBaWEpDWVhObExtcHpJbjA9IiwiKGZ1bmN0aW9uKCl7dmFyIGUscix0LG4saSxvLHUsbCxtLHM7cz1yZXF1aXJlKFwiLi9VdGlsaXR5XCIpLGw9cy5hc3NpZ24sbT1zLmlzRnVuY3Rpb24sdD1yZXF1aXJlKFwiLi9YTUxET01JbXBsZW1lbnRhdGlvblwiKSxuPXJlcXVpcmUoXCIuL1hNTERvY3VtZW50XCIpLGk9cmVxdWlyZShcIi4vWE1MRG9jdW1lbnRDQlwiKSx1PXJlcXVpcmUoXCIuL1hNTFN0cmluZ1dyaXRlclwiKSxvPXJlcXVpcmUoXCIuL1hNTFN0cmVhbVdyaXRlclwiKSxlPXJlcXVpcmUoXCIuL05vZGVUeXBlXCIpLHI9cmVxdWlyZShcIi4vV3JpdGVyU3RhdGVcIiksbW9kdWxlLmV4cG9ydHMuY3JlYXRlPWZ1bmN0aW9uKGUscix0LGkpe3ZhciBvLHU7aWYobnVsbD09ZSl0aHJvdyBuZXcgRXJyb3IoXCJSb290IGVsZW1lbnQgbmVlZHMgYSBuYW1lLlwiKTtyZXR1cm4gaT1sKHt9LHIsdCxpKSx1PShvPW5ldyBuKGkpKS5lbGVtZW50KGUpLGkuaGVhZGxlc3N8fChvLmRlY2xhcmF0aW9uKGkpLG51bGw9PWkucHViSUQmJm51bGw9PWkuc3lzSUR8fG8uZHRkKGkpKSx1fSxtb2R1bGUuZXhwb3J0cy5iZWdpbj1mdW5jdGlvbihlLHIsdCl7dmFyIG87cmV0dXJuIG0oZSkmJihyPShvPVtlLHJdKVswXSx0PW9bMV0sZT17fSkscj9uZXcgaShlLHIsdCk6bmV3IG4oZSl9LG1vZHVsZS5leHBvcnRzLnN0cmluZ1dyaXRlcj1mdW5jdGlvbihlKXtyZXR1cm4gbmV3IHUoZSl9LG1vZHVsZS5leHBvcnRzLnN0cmVhbVdyaXRlcj1mdW5jdGlvbihlLHIpe3JldHVybiBuZXcgbyhlLHIpfSxtb2R1bGUuZXhwb3J0cy5pbXBsZW1lbnRhdGlvbj1uZXcgdCxtb2R1bGUuZXhwb3J0cy5ub2RlVHlwZT1lLG1vZHVsZS5leHBvcnRzLndyaXRlclN0YXRlPXJ9KS5jYWxsKHRoaXMpO1xuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSW1sdVpHVjRMbXB6SWwwc0ltNWhiV1Z6SWpwYklrNXZaR1ZVZVhCbElpd2lWM0pwZEdWeVUzUmhkR1VpTENKWVRVeEVUMDFKYlhCc1pXMWxiblJoZEdsdmJpSXNJbGhOVEVSdlkzVnRaVzUwSWl3aVdFMU1SRzlqZFcxbGJuUkRRaUlzSWxoTlRGTjBjbVZoYlZkeWFYUmxjaUlzSWxoTlRGTjBjbWx1WjFkeWFYUmxjaUlzSW1GemMybG5iaUlzSW1selJuVnVZM1JwYjI0aUxDSnlaV1lpTENKeVpYRjFhWEpsSWl3aWJXOWtkV3hsSWl3aVpYaHdiM0owY3lJc0ltTnlaV0YwWlNJc0ltNWhiV1VpTENKNGJXeGtaV01pTENKa2IyTjBlWEJsSWl3aWIzQjBhVzl1Y3lJc0ltUnZZeUlzSW5KdmIzUWlMQ0pGY25KdmNpSXNJbVZzWlcxbGJuUWlMQ0pvWldGa2JHVnpjeUlzSW1SbFkyeGhjbUYwYVc5dUlpd2ljSFZpU1VRaUxDSnplWE5KUkNJc0ltUjBaQ0lzSW1KbFoybHVJaXdpYjI1RVlYUmhJaXdpYjI1RmJtUWlMQ0p5WldZeElpd2ljM1J5YVc1blYzSnBkR1Z5SWl3aWMzUnlaV0Z0VjNKcGRHVnlJaXdpYzNSeVpXRnRJaXdpYVcxd2JHVnRaVzUwWVhScGIyNGlMQ0p1YjJSbFZIbHdaU0lzSW5keWFYUmxjbE4wWVhSbElpd2lZMkZzYkNJc0luUm9hWE1pWFN3aWJXRndjR2x1WjNNaU9pSkRRVU5CTEZkQlEwVXNTVUZCU1VFc1JVRkJWVU1zUlVGQllVTXNSVUZCYzBKRExFVkJRV0ZETEVWQlFXVkRMRVZCUVdsQ1F5eEZRVUZwUWtNc1JVRkJVVU1zUlVGQldVTXNSVUZGYmtsQkxFVkJRVTFETEZGQlFWRXNZVUZCWTBnc1JVRkJVMFVzUlVGQlNVWXNUMEZCVVVNc1JVRkJZVU1zUlVGQlNVUXNWMEZGYkVWT0xFVkJRWFZDVVN4UlFVRlJMREJDUVVVdlFsQXNSVUZCWTA4c1VVRkJVU3hwUWtGRmRFSk9MRVZCUVdkQ1RTeFJRVUZSTEcxQ1FVVjRRa29zUlVGQmEwSkpMRkZCUVZFc2NVSkJSVEZDVEN4RlFVRnJRa3NzVVVGQlVTeHhRa0ZGTVVKV0xFVkJRVmRWTEZGQlFWRXNZMEZGYmtKVUxFVkJRV05UTEZGQlFWRXNhVUpCUlhSQ1F5eFBRVUZQUXl4UlFVRlJReXhQUVVGVExGTkJRVk5ETEVWQlFVMURMRVZCUVZGRExFVkJRVk5ETEVkQlEzUkVMRWxCUVVsRExFVkJRVXRETEVWQlExUXNSMEZCV1N4TlFVRlNUQ3hGUVVOR0xFMUJRVTBzU1VGQlNVMHNUVUZCVFN3NFFrRlhiRUlzVDBGVVFVZ3NSVUZCVlZZc1JVRkJUeXhIUVVGSlVTeEZRVUZSUXl4RlFVRlRReXhIUVVWMFEwVXNSMEZFUVVRc1JVRkJUU3hKUVVGSlppeEZRVUZaWXl4SlFVTllTU3hSUVVGUlVDeEhRVU5rUnl4RlFVRlJTeXhYUVVOWVNpeEZRVUZKU3l4WlFVRlpUaXhIUVVOTkxFMUJRV3BDUVN4RlFVRlJUeXhQUVVGdlF5eE5RVUZxUWxBc1JVRkJVVkVzVDBGRGRFTlFMRVZCUVVsUkxFbEJRVWxVTEVsQlIweEZMRWRCUjFSU0xFOUJRVTlETEZGQlFWRmxMRTFCUVZFc1UwRkJVMVlzUlVGQlUxY3NSVUZCVVVNc1IwRkRMME1zU1VGQlNVTXNSVUZMU2l4UFFVcEpkRUlzUlVGQlYxTXNTMEZEWVZjc1IwRkJNVUpGTEVWQlFVOHNRMEZCUTJJc1JVRkJVMWNzU1VGQmRVSXNSMEZCU1VNc1JVRkJVVU1zUlVGQlN5eEhRVU42UkdJc1JVRkJWU3hKUVVWU1Z5eEZRVU5MTEVsQlFVbDRRaXhGUVVGallTeEZRVUZUVnl4RlFVRlJReXhIUVVWdVF5eEpRVUZKTVVJc1JVRkJXV01zU1VGSk0wSk9MRTlCUVU5RExGRkJRVkZ0UWl4aFFVRmxMRk5CUVZOa0xFZEJRM0pETEU5QlFVOHNTVUZCU1Znc1JVRkJaMEpYTEVsQlJ6ZENUaXhQUVVGUFF5eFJRVUZSYjBJc1lVRkJaU3hUUVVGVFF5eEZRVUZSYUVJc1IwRkROME1zVDBGQlR5eEpRVUZKV2l4RlFVRm5RalJDTEVWQlFWRm9RaXhKUVVkeVEwNHNUMEZCVDBNc1VVRkJVWE5DTEdWQlFXbENMRWxCUVVsb1F5eEZRVVZ3UTFNc1QwRkJUME1zVVVGQlVYVkNMRk5CUVZkdVF5eEZRVVV4UWxjc1QwRkJUME1zVVVGQlVYZENMRmxCUVdOdVF5eEpRVVUxUW05RExFdEJRVXRESWl3aVptbHNaU0k2SWk5b2IyMWxMM3BwYm04dmNISnZhbVZqZEhNdmMyVmhkRzFoY0hZeUwyMWhjM1JsY2k5elpXRjBiV0Z3ZGpJdlkyeHBaVzUwTDI1dlpHVmZiVzlrZFd4bGN5OTRiV3hpZFdsc1pHVnlMMnhwWWk5cGJtUmxlQzVxY3lKOSIsIlxuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSW5ObFlYUnRZWEF1WTNOeklsMHNJbTVoYldWeklqcGJYU3dpYldGd2NHbHVaM01pT2lJaUxDSm1hV3hsSWpvaUwyaHZiV1V2ZW1sdWJ5OXdjbTlxWldOMGN5OXpaV0YwYldGd2RqSXZiV0Z6ZEdWeUwzTmxZWFJ0WVhCMk1pOWpiR2xsYm5RdmMzSmpMMk56Y3k5elpXRjBiV0Z3TG1OemN5SjkiLCJpbXBvcnQgKiBhcyBDb21tdW5pY2F0aW9uIGZyb20gXCIuL2NvbW11bmljYXRpb25cIjtcblxuZXhwb3J0IGZ1bmN0aW9uIGluamVjdEJvb2tpbmdCdG4oKTogdm9pZCB7XG4gICAgalF1ZXJ5KFwiLmZsYXNoX3NlYXRfbWFwX2JveFwiKS5yZW1vdmUoKTtcbiAgICBjaGFuZ2VCb29raW5nQnRuQ1NTKCk7XG4gICAgYXBwZW5kQm9va2luZ0J0bkhUTUwoKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHNob3dTZWF0bWFwQnRuUGFyZW50KCk6IHZvaWQge1xuICAgIENvbW11bmljYXRpb24uc2VuZEV2ZW50VG9QYXJlbnQoXCJjaGlsZF9zZWF0bWFwX3JlYWR5XCIpO1xufVxuXG5mdW5jdGlvbiBhcHBlbmRCb29raW5nQnRuSFRNTCgpOiB2b2lkIHtcbiAgICBqUXVlcnkoXCIjZmxhc2hfc2VhdF9tYXBfYm94X2lkXCIpLmFwcGVuZChgXG4gICAgPGRpdiBjbGFzcz1cInJvd19zcGFjZVwiPjwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJyb3dfc3BhY2VcIj48L2Rpdj5cbiAgICA8ZGl2IGlkPVwiY29udGFpbmVyQm9va2luZ0J0blwiPlxuICAgICAgICA8YSBjbGFzcz1cImNvbnRpbnVlXCIgaWQ9XCJvcGVuU2VhdG1hcFwiPlxuICAgICAgICAgICAgPHNwYW4+U2FhbHBsYW5idWNodW5nPC9zcGFuPlxuICAgICAgICA8L2E+XG4gICAgICAgIDxkaXYgaWQ9XCJkaWFsb2dTZWF0bWFwXCIgaGlkZGVuPVwiaGlkZGVuXCI+PC9kaXY+XG4gICAgPC9kaXY+XG4gICAgYCk7XG59XG5cbmZ1bmN0aW9uIGNoYW5nZUJvb2tpbmdCdG5DU1MoKTogdm9pZCB7XG4gICAgalF1ZXJ5KCcjZmxhc2hfc2VhdF9tYXBfYm94X2lkJykuY3NzKHtcbiAgICAgICAgXCJkaXNwbGF5XCI6IFwiYmxvY2tcIixcbiAgICAgICAgXCJwb3NpdGlvblwiOiBcInJlbGF0aXZlXCIsXG4gICAgICAgIFwid2lkdGhcIjogXCIxMDAlXCJcbiAgICB9KTtcbn0iLCJpbXBvcnQgKiBhcyBYTUxIZWxwZXIgZnJvbSBcIi4veG1saGVscGVyXCI7XG5pbXBvcnQgeyBjb25maWcgfSBmcm9tIFwiLi9jb25maWdcIjtcbmltcG9ydCAqIGFzIEkgZnJvbSBcIi4uL3R5cGVzL3R5cGVzXCI7XG5pbXBvcnQgKiBhcyBFdmVudHMgZnJvbSBcIi4vZXZlbnRzXCI7XG5pbXBvcnQgKiBhcyBDYXJ0QnV0dG9ucyBmcm9tIFwiLi9jYXJ0QnV0dG9uc1wiO1xuXG5leHBvcnQgZnVuY3Rpb24gYWRkSXRlbShpblNlYXRPYmo6IEkuSlNDU2VsZWN0ZWRTZWF0KTogdm9pZCB7IFxuICAgIGNvbnN0IGNvbG9yOiBzdHJpbmcgPSBgIyR7WE1MSGVscGVyLmdldFZlbnVlUHJpY2VzY2FsZVByb3BlcnR5QnlQcmljZXNjYWxlSUQoXCJjb2xvclwiLCBpblNlYXRPYmouZGF0YS5zZWF0c09iai5pZFswXSl9YDtcbiAgICBjb25zdCBjYXRlZ29yeTogc3RyaW5nIHwgdW5kZWZpbmVkID0gWE1MSGVscGVyLmdldFZlbnVlUHJpY2VzY2FsZVByb3BlcnR5QnlQcmljZXNjYWxlSUQoXCJkZXNjXCIsIGluU2VhdE9iai5kYXRhLnNlYXRzT2JqLmlkWzBdKTtcbiAgICBjb25zdCBzZWF0OiBzdHJpbmcgPSBjb25maWcuc3RhdGUubGF5b3V0Um93c1tpblNlYXRPYmouaWRdWzVdO1xuICAgIGNvbnN0IHJvdzogc3RyaW5nID0gY29uZmlnLnN0YXRlLmxheW91dFJvd3NbaW5TZWF0T2JqLmlkXVs0XTtcbiAgICBjb25zdCBzZWN0aW9uSUQ6IHN0cmluZyA9IGNvbmZpZy5zdGF0ZS5sYXlvdXRSb3dzW2luU2VhdE9iai5pZF1bM107XG4gICAgY29uc3Qgc2VjdGlvbkRlc2M6IHN0cmluZyB8IHVuZGVmaW5lZCA9IFhNTEhlbHBlci5nZXRTZWN0aW9uRGVzY0J5U2VjdGlvbklEKHNlY3Rpb25JRCk7XG4gICAgY29uc3Qgc2VhdFN0cjogc3RyaW5nIHwgdW5kZWZpbmVkID0gYCR7c2VjdGlvbkRlc2N9PGJyLz5SZWloZSAke3Jvd30gUGxhdHogJHtzZWF0fWA7XG4gICAgY29uc3QgYnV5ZXJUeXBlczogSS5UeXBlQnV5ZXJUeXBlID0gWE1MSGVscGVyLmdldEJ1eWVyVHlwZXNCeVByaWNlc2NhbGVJRChpblNlYXRPYmouZGF0YS5zZWF0c09iai5pZFswXSk7XG4gICAgY29uc3QgY2FydElEOiBzdHJpbmcgPSBgY2FydEl0ZW0tJHtpblNlYXRPYmouaWR9YDtcbiAgICBjb25zdCBkcm9wZG93bkJ1eWVyVHlwZXNTZWxlY3Rvcjogc3RyaW5nID0gYCMke2NhcnRJRH0gLmRyb3Bkb3duQnV5ZXJUeXBlc2A7XG5cbiAgICBhcHBlbmRIVE1MKGNhcnRJRCwgY29sb3IsIGNhdGVnb3J5LCBzZWF0U3RyKTtcbiAgICBhZGREcm9wZG93bkJ1eWVyVHlwZU9wdGlvbnMoYnV5ZXJUeXBlcywgZHJvcGRvd25CdXllclR5cGVzU2VsZWN0b3IpO1xuICAgIEV2ZW50cy5hZGRDYXJ0RHJvcGRvd25CdXllclR5cGVzKGRyb3Bkb3duQnV5ZXJUeXBlc1NlbGVjdG9yLCBpblNlYXRPYmopO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gcmVtb3ZlQ2FydEl0ZW1zKCk6IHZvaWQge1xuICAgIGpRdWVyeShcIiNjYXJ0SXRlbUhUTUwgLmNhcnRJdGVtXCIpLmVhY2goZnVuY3Rpb24gKCkge1xuICAgICAgICB0aGlzLnJlbW92ZSgpO1xuICAgIH0pO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gY2hhbmdlZERyb3Bkb3duQnV5ZXJUeXBlKGluU2VsZWN0OiBIVE1MU2VsZWN0RWxlbWVudCwgaW5TZWF0T2JqOiBJLkpTQ1NlbGVjdGVkU2VhdCk6IHZvaWQge1xuICAgIGNvbnN0IGluZGV4OiBudW1iZXIgPSBjb25maWcuc3RhdGUuc2VsZWN0ZWRTZWF0c0Fyci5maW5kSW5kZXgoYXJyID0+XG4gICAgICAgIGFyclswXSA9PT0gaW5TZWF0T2JqLmlkKTtcblxuICAgIGNvbmZpZy5zdGF0ZS5zZWxlY3RlZFNlYXRzQXJyW2luZGV4XVsxXSA9IGluU2VsZWN0LnZhbHVlO1xuICAgIGNvbnN0IGJ1eWVyVHlwZUNvZGUgPSBYTUxIZWxwZXIuZ2V0QnV5ZXJUeXBlQ29kZUJ5QnV5ZXJUeXBlSUQoaW5TZWxlY3QudmFsdWUpO1xuXG4gICAgaWYgKGJ1eWVyVHlwZUNvZGUpXG4gICAgICAgIGNvbmZpZy5zdGF0ZS5zZWxlY3RlZFNlYXRzQXJyW2luZGV4XVsyXSA9IGJ1eWVyVHlwZUNvZGU7XG5cbiAgICBjYWxjT3ZlcmFsbFByaWNlKCk7XG4gICAgQ2FydEJ1dHRvbnMuc2V0QnRuQ2FydFRleHQoKTtcblxuICAgIGNvbnN0IHVybCA9IGdlbmVyYXRlQ2hlY2tvdXRVcmwoKTtcbiAgICBFdmVudHMuYWRkUmVkaXJlY3RDaGVja291dCh1cmwpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gY2FsY092ZXJhbGxQcmljZSgpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICAgIGlmICghY29uZmlnLnN0YXRlLnNlbGVjdGVkU2VhdHNBcnIubGVuZ3RoKSB7XG4gICAgICAgIGNvbmZpZy5zdGF0ZS5wcmljZU92ZXJhbGwgPSBcIjBcIjtcbiAgICAgICAgcmV0dXJuIFwiMFwiO1xuICAgIH1cblxuICAgIGNvbmZpZy5zdGF0ZS5wcmljZU92ZXJhbGwgPSBzdW1TZWF0UHJpY2VzKCk7XG4gICAgcmV0dXJuIGNvbmZpZy5zdGF0ZS5wcmljZU92ZXJhbGw7XG59XG5cblxuZXhwb3J0IGZ1bmN0aW9uIGdlbmVyYXRlQ2FydEl0ZW1zKCk6IHZvaWQge1xuICAgIGlmICghY29uZmlnLnN0YXRlLnNlbGVjdGVkU2VhdHNBcnIubGVuZ3RoKVxuICAgICAgICByZXR1cm47XG5cbiAgICBmb3IgKGNvbnN0IGtleSBpbiBjb25maWcuc3RhdGUuc2VsZWN0ZWRTZWF0c09iaikge1xuICAgICAgICBpZiAoT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGNvbmZpZy5zdGF0ZS5zZWxlY3RlZFNlYXRzT2JqLCBrZXkpKSB7XG4gICAgICAgICAgICBjb25zdCBlbGVtZW50ID0gY29uZmlnLnN0YXRlLnNlbGVjdGVkU2VhdHNPYmpba2V5XTtcbiAgICAgICAgICAgIGFkZEl0ZW0oZWxlbWVudCk7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpbml0TW9kYWxDYXJ0KCk6IHZvaWQge1xuICAgIGpRdWVyeShcIiNtb2RhbENhcnQtb3ZlcmxheVwiKS5oaWRlKCk7XG4gICAgRXZlbnRzLmFkZENhcnRCYWNrKCk7XG4gICAgRXZlbnRzLmFkZENhcnRDbG9zZSgpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2VuZXJhdGVDaGVja291dFVybCgpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICAgIGlmICghY29uZmlnLnN0YXRlLnNlbGVjdGVkU2VhdHNBcnIubGVuZ3RoKVxuICAgICAgICByZXR1cm47XG5cbiAgICBjb25zdCBpbnB1dHNXaXRoVmFsdWUgPSBjb25maWcuc3RhdGUuaW5wdXRzV2l0aFZhbHVlITtcbiAgICBjb25zdCBzZWxlY3RlZFNlYXRJbmRleGVzOiBzdHJpbmcgPSBYTUxIZWxwZXIuZ2VuZXJhdGVTZWxlY3RlZFNlYXRJbmRleGVzKCk7XG4gICAgcmV0dXJuIGAke2lucHV0c1dpdGhWYWx1ZVtcInRpY2tldFB1cmNoYXNlVXJsXCJdfT91c2VyX2NvbnRleHQ9JHtpbnB1dHNXaXRoVmFsdWUudXNlcl9jb250ZXh0fSZwaWQ9JHtpbnB1dHNXaXRoVmFsdWVbXCJwaWRcIl19JnNlbGVjdGVkX3NlYXRfaW5kZXhlcz0ke3NlbGVjdGVkU2VhdEluZGV4ZXN9JnRyeHN0YXRlPTE0OGA7XG59XG5cbmZ1bmN0aW9uIGFwcGVuZEhUTUwoaW5DYXJ0SUQ6IHN0cmluZywgaW5Db2xvcjogc3RyaW5nLCBpbkNhdGVnb3J5OiBzdHJpbmcgfCB1bmRlZmluZWQsIGluU2VhdFN0cjogc3RyaW5nKTogdm9pZCB7XG4gICAgalF1ZXJ5KFwiI2NhcnRJdGVtSFRNTCAuZmwtaHRtbFwiKS5hcHBlbmQoYFxuICAgIDxkaXYgY2xhc3M9XCJjYXJ0SXRlbVwiIGlkPVwiJHtpbkNhcnRJRH1cIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImNhcnRJdGVtQ29sb3JlZFNxdWFyZVwiIHN0eWxlPVwiYmFja2dyb3VuZDogJHtpbkNvbG9yfTtcIj48L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImNhcnRJdGVtQ2F0ZWdvcnlcIj4ke2luQ2F0ZWdvcnl9PC9kaXY+XG4gICAgICAgIDxoNSBjbGFzcz1cImNhcnRJdGVtU2VhdFwiPiR7aW5TZWF0U3RyfTwvaDU+XG4gICAgICAgIDxzZWxlY3QgbmFtZT1cImRyb3Bkb3duQnV5ZXJUeXBlc1wiIGNsYXNzPVwiZHJvcGRvd25CdXllclR5cGVzXCI+PC9zZWxlY3Q+XG4gICAgPC9kaXY+YCk7XG59XG5cbi8vIHRvZG86IGdlbmVyYWxpemUgZHJvcGRvd24gZmlsbCBvcHRpb25zXG5mdW5jdGlvbiBhZGREcm9wZG93bkJ1eWVyVHlwZU9wdGlvbnMoaW5CdXllclR5cGVzOiBJLlR5cGVCdXllclR5cGUsIGluU2VsZWN0b3I6IHN0cmluZykge1xuICAgIGlmICghaW5CdXllclR5cGVzKVxuICAgICAgICByZXR1cm47XG5cbiAgICBpbkJ1eWVyVHlwZXMuZm9yRWFjaChhcnIgPT4geyAgICAgICAgXG4gICAgICAgIGlmIChhcnJbMF0pXG4gICAgICAgICAgICBhcHBlbmRPcHRpb24oaW5TZWxlY3RvciwgYXJyKVxuICAgIH0pO1xufVxuXG5mdW5jdGlvbiBhcHBlbmRPcHRpb24oaW5TZWxlY3Rvcjogc3RyaW5nLCBpbkFycjogSS5UeXBlQnV5ZXJUeXBlQXJyKTogdm9pZCB7XG4gICAgY29uc3QgZHJvcGRvd25CdXllclR5cGVzOiBIVE1MRWxlbWVudCA9IGpRdWVyeShpblNlbGVjdG9yKS5nZXQoMCk7XG4gICAgbGV0IG9wdDogSFRNTE9wdGlvbkVsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdvcHRpb24nKTtcbiAgICBvcHQudmFsdWUgPSA8c3RyaW5nPmluQXJyWzBdO1xuICAgIG9wdC5pbm5lckhUTUwgPSBgJHtpbkFyclsyXX0g4oKsJHtpbkFyclsxXX1gO1xuICAgIGRyb3Bkb3duQnV5ZXJUeXBlcy5hcHBlbmRDaGlsZChvcHQpO1xufVxuXG5mdW5jdGlvbiBzdW1TZWF0UHJpY2VzKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGNvbmZpZy5zdGF0ZS5zZWxlY3RlZFNlYXRzQXJyLm1hcChnZXRTZWF0UHJpY2UpXG4gICAgICAgIC5yZWR1Y2UoKHByZXYsIGN1cnIpID0+IHByZXYgKyBjdXJyKVxuICAgICAgICAudG9GaXhlZCgyKTtcbn1cblxuZnVuY3Rpb24gZ2V0U2VhdFByaWNlKGFycjogc3RyaW5nW10pIHtcbiAgICBjb25zdCBzZWF0SUQ6IHN0cmluZyA9IGFyclswXTtcbiAgICAgICAgY29uc3QgYnV5ZXJ0eXBlSUQ6IHN0cmluZyA9IGFyclsxXTtcbiAgICAgICAgY29uc3Qgc2VsZWN0ZWRTZWF0OiBJLkpTQ1NlbGVjdGVkU2VhdCA9IGNvbmZpZy5zdGF0ZS5zZWxlY3RlZFNlYXRzT2JqW3NlYXRJRF07XG4gICAgICAgIGNvbnN0IHByaWNlc2NhbGVJRDogc3RyaW5nID0gc2VsZWN0ZWRTZWF0LmRhdGEuc2VhdHNPYmouaWRbMF07XG4gICAgICAgIGNvbnN0IHByaWNlc2NhbGVPYmo6IEkuUHJpY2VzY2FsZTUgfCB1bmRlZmluZWQgPSBYTUxIZWxwZXIuZ2V0VmVudWVQcmljZVN0cnVjdHVyZVByb3BlcnR5QnlQcmljZXNjYWxlSUQocHJpY2VzY2FsZUlEKTtcblxuICAgICAgICBpZiAocHJpY2VzY2FsZU9iaikge1xuICAgICAgICAgICAgY29uc3Qgc2VhdFByaWNlOiBudW1iZXIgfCB1bmRlZmluZWQgPSBYTUxIZWxwZXIuZ2V0UHJpY2VCeUJ1eWVyVHlwZUlEKGJ1eWVydHlwZUlELCBwcmljZXNjYWxlT2JqKTtcblxuICAgICAgICAgICAgaWYgKHNlYXRQcmljZSlcbiAgICAgICAgICAgICAgICByZXR1cm4gc2VhdFByaWNlOyAgIFxuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIDA7XG59IiwiaW1wb3J0IHsgY29uZmlnIH0gZnJvbSBcIi4vY29uZmlnXCI7XG5cbmV4cG9ydCBmdW5jdGlvbiBzZXRCdG5DYXJ0VGV4dCgpOiB2b2lkIHtcbiAgICBqUXVlcnkoXCIjbW9kYWxDYXJ0IC51YWJiLWJ1dHRvbi10ZXh0XCIpWzBdLmlubmVyVGV4dCA9IGNyZWF0ZUNhcnRCdG5UZXh0KCk7XG4gICAgalF1ZXJ5KFwiI21vZGFsQ2FydFN1bSAudWFiYi1oZWFkaW5nLXRleHRcIilbMF0udGV4dENvbnRlbnQgPSBjcmVhdGVNb2RhbENhcnRCdG5UZXh0KCk7XG59XG5cbmZ1bmN0aW9uIGNyZWF0ZUNhcnRCdG5UZXh0KCk6IHN0cmluZyB7XG4gICAgY29uc3QgbnVtVGlja2V0czogbnVtYmVyID0gY29uZmlnLnN0YXRlLnNlbGVjdGVkU2VhdHNBcnIubGVuZ3RoO1xuXG4gICAgaWYgKGNvbmZpZy5zdGF0ZS5wcmljZU92ZXJhbGwgIT09IFwiXCIpXG4gICAgICAgIHJldHVybiBudW1UaWNrZXRzID09PSAxID8gYCR7bnVtVGlja2V0c30gVGlja2V0IGbDvHIg4oKsJHtjb25maWcuc3RhdGUucHJpY2VPdmVyYWxsfWAgOiBgJHtudW1UaWNrZXRzfSBUaWNrZXRzIGbDvHIg4oKsJHtjb25maWcuc3RhdGUucHJpY2VPdmVyYWxsfWA7XG4gICAgZWxzZSBcbiAgICAgICAgcmV0dXJuIFwiMCBUaWNrZXRzIGbDvHIg4oKsMC4wMFwiOyAgICBcbn1cblxuZnVuY3Rpb24gY3JlYXRlTW9kYWxDYXJ0QnRuVGV4dCgpOiBzdHJpbmcge1xuICAgIGNvbnN0IG51bVRpY2tldHM6IG51bWJlciA9IGNvbmZpZy5zdGF0ZS5zZWxlY3RlZFNlYXRzQXJyLmxlbmd0aDtcblxuICAgIGlmIChjb25maWcuc3RhdGUucHJpY2VPdmVyYWxsICE9PSBcIlwiKVxuICAgICAgICByZXR1cm4gYFN1bW1lICgke251bVRpY2tldHN9IFBsw6R0emUpIOKCrCR7Y29uZmlnLnN0YXRlLnByaWNlT3ZlcmFsbH1gO1xuICAgIGVsc2VcbiAgICAgICAgcmV0dXJuIGBTdW1tZSAoMCBQbMOkdHplKSDigqwwLDAwYDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHNob3dIaWRlQnRuQ2FydExvYWRpbmcoaW5Td2l0Y2g6IHN0cmluZyk6IHZvaWQge1xuICAgIGlmIChpblN3aXRjaCA9PT0gXCJzaG93XCIpIHtcbiAgICAgICAgalF1ZXJ5KFwiI21vZGFsQ2FydCAudWFiYi1idXR0b25cIikuY3NzKFwicG9pbnRlci1ldmVudHNcIiwgXCJub25lXCIpO1xuICAgICAgICBqUXVlcnkoXCIjbW9kYWxDYXJ0IGlcIikuaGlkZSgpO1xuICAgICAgICBqUXVlcnkoXCIjbW9kYWxDYXJ0IC51YWJiLWJ1dHRvbi10ZXh0XCIpLmFkZENsYXNzKFwiZG90LXB1bHNlXCIpO1xuICAgIH1cbiAgICBlbHNlIGlmIChpblN3aXRjaCA9PT0gXCJoaWRlXCIpIHtcbiAgICAgICAgalF1ZXJ5KFwiI21vZGFsQ2FydCBpXCIpLnNob3coKTtcbiAgICAgICAgalF1ZXJ5KFwiI21vZGFsQ2FydCAudWFiYi1idXR0b24tdGV4dFwiKS5yZW1vdmVDbGFzcyhcImRvdC1wdWxzZVwiKTtcbiAgICAgICAgalF1ZXJ5KFwiI21vZGFsQ2FydCAudWFiYi1idXR0b25cIikuY3NzKFwicG9pbnRlci1ldmVudHNcIiwgXCJhbGxcIik7XG4gICAgfVxufSIsImltcG9ydCAqIGFzIENvbW11bmljYXRpb24gZnJvbSBcIi4vY29tbXVuaWNhdGlvblwiO1xuaW1wb3J0ICogYXMgVUkgZnJvbSBcIi4vdWlcIjtcbmltcG9ydCB7IGNvbmZpZyB9IGZyb20gXCIuL2NvbmZpZ1wiO1xuaW1wb3J0IFV0aWxzIGZyb20gXCIuL3V0aWxzXCI7XG5pbXBvcnQgKiBhcyBQYXJzZXIgZnJvbSAnLi9wYXJzZXInO1xuaW1wb3J0ICogYXMgSSBmcm9tIFwiLi4vdHlwZXMvdHlwZXNcIjtcbmltcG9ydCAqIGFzIEpTQyBmcm9tIFwiLi9qc2NcIjtcbmltcG9ydCAqIGFzIExlZ2VuZCBmcm9tIFwiLi9sZWdlbmRcIjtcbmltcG9ydCAqIGFzIEV2ZW50cyBmcm9tIFwiLi9ldmVudHNcIjtcbmltcG9ydCAqIGFzIFRyaW1zIGZyb20gXCIuL3RyaW1zXCI7XG5pbXBvcnQgKiBhcyBYTUxIZWxwZXIgZnJvbSBcIi4veG1saGVscGVyXCI7XG5pbXBvcnQgKiBhcyBQYW56b29tIGZyb20gXCIuL3Bhbnpvb21cIjtcbmltcG9ydCAqIGFzIGpCb3hIZWxwZXIgZnJvbSBcIi4vakJveEhlbHBlclwiO1xuaW1wb3J0ICogYXMgQ2FydCBmcm9tIFwiLi9jYXJ0XCI7XG5pbXBvcnQgKiBhcyBDYXJ0QnV0dG9ucyBmcm9tIFwiLi9jYXJ0QnV0dG9uc1wiO1xuXG5leHBvcnQgZnVuY3Rpb24gaW5pdFZlbnVlKCkge1xuICAgIFVJLmNvbnRyb2xMb2Z0bG9hZGVyKFwic2hvd1wiKTtcbiAgICBDb21tdW5pY2F0aW9uLnNlbmRFdmVudFRvUGFyZW50KFwiY2hpbGRfaW5pdF9uZWVkSW5wdXRzV2l0aFZhbHVlXCIpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaW5pdFNlbmRWZW51ZVhNTChpbkU6IGFueSkge1xuICAgIGNvbnN0IGRhdGE6IEkuTWVzc2FnZSA9IEpTT04ucGFyc2UoaW5FLmRhdGEpO1xuICAgIGNvbmZpZy5zdGF0ZS5pblZlbnVlWE1MID0gZGF0YS5tZXNzYWdlLm1hcF9yZXNwb25zZTtcbiAgICBjb25zdCB2ZW51ZVhNTCA9IGNvbmZpZy5zdGF0ZS5pblZlbnVlWE1MITtcblxuICAgIC8vIEdlbmVyYXRlIHByaWNlc2NhbGUgY3NzIGNsYXNzZXNcbiAgICBjb25zdCBjc3MgPSBVSS5nZW5lcmF0ZVByaWNlc2NhbGVDU1MoKTtcbiAgICBVdGlscy5pbmplY3QoY3NzLCBcImNzc0N1c3RvbVwiLCBcImJvZHlcIik7XG5cbiAgICAvLyBGaWxsIGV2ZW50IGluZm9cbiAgICBjb25zdCBldmVudEluZm8gPSBQYXJzZXIuZ2V0RXZlbnRJbmZvKCk7XG4gICAgVUkuc2V0RXZlbnRJbmZvKGV2ZW50SW5mbyk7XG5cbiAgICAvLyBGaWxsIHNlbGVjdCBkcm9wZG93blxuICAgIGNvbnN0IHNlYXRtYXBMaXN0aW5nOiBJLlNlYXRtYXBbXSA9IHZlbnVlWE1MLnNlYXRtYXBfY29uZmlnWzBdLnNlYXRtYXA7XG4gICAgVUkuc2V0T3B0aW9uU2VsZWN0KHNlYXRtYXBMaXN0aW5nLCBcImRyb3Bkb3duU2VhdG1hcFwiKTtcblxuICAgIC8vIERpc3BsYXkgZmlyc3Qgc2VhdG1hcFhNTFxuICAgIGNvbnN0IGlkOiBzdHJpbmcgPSBzZWF0bWFwTGlzdGluZ1swXS5pZFswXTtcbiAgICBqUXVlcnkoXCIjZHJvcGRvd25TZWF0bWFwXCIpLnZhbChpZCk7XG4gICAgQ29tbXVuaWNhdGlvbi5uZWVkU2VhdG1hcFhNTChpZCk7XG5cbiAgICBVdGlscy5jb25zb2xlTG9nKGNzcyk7XG4gICAgVXRpbHMuY29uc29sZUxvZyhzZWF0bWFwTGlzdGluZyk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpbml0U2VuZElucHV0c1dpdGhWYWx1ZShpbkU6IGFueSkge1xuICAgIGNvbnN0IGRhdGE6IEkuTWVzc2FnZSA9IEpTT04ucGFyc2UoaW5FLmRhdGEpO1xuICAgIGNvbmZpZy5zdGF0ZS5pbnB1dHNXaXRoVmFsdWUgPSBkYXRhLm1lc3NhZ2U7XG4gICAgVUkuY2hhbmdlVmVudWVJbWFnZSgpO1xuICAgIENvbW11bmljYXRpb24uc2VuZEV2ZW50VG9QYXJlbnQoXCJjaGlsZF9pbml0X25lZWRWZW51ZVhNTFwiKTtcbn1cblxuXG5leHBvcnQgZnVuY3Rpb24gc2VuZFNlYXRtYXBYTUwoaW5FOiBhbnkpIHtcbiAgICBjb25zdCBkYXRhOiBJLk1lc3NhZ2UgPSBKU09OLnBhcnNlKGluRS5kYXRhKTtcbiAgICBjb25maWcuc3RhdGUuc2VhdG1hcFhNTCA9IGRhdGEubWVzc2FnZS5tYXBfcmVzcG9uc2U7XG4gICAgY29uc3QgbWFwOiBzdHJpbmdbXSA9IEpTQy5nZW5lcmF0ZU1hcCgpO1xuICAgIGNvbnN0IHJvd3NOYW1pbmc6IHN0cmluZ1tdID0gSlNDLmdldFJvd3NOYW1pbmcoKTtcbiAgICBjb25zdCBzZWF0czogSS5KU0NTZWF0cyA9IEpTQy5nZXRTZWF0cygpO1xuICAgIGNvbnN0IGxlZ2VuZDogSS5KU0NMZWdlbmQgPSBKU0MuZ2VuZXJhdGVMZWdlbmQoXCIjSlNDTGVnZW5kSW5uZXJcIik7XG5cbiAgICBKU0MuYWRkU2VhdG1hcChcIiNjb250YWluZXJTZWF0bWFwSW5uZXJcIiwgbWFwLCByb3dzTmFtaW5nLCBzZWF0cywgbGVnZW5kKTtcbiAgICBKU0Muc2V0VW5hdmFpbGFibGVTZWF0cygpO1xuICAgIEpTQy5zZWxlY3RTZWF0c0luQ2FydCgpO1xuICAgIExlZ2VuZC5jb252ZXJ0TGVnZW5kVG9Ecm9wZG93bihcImRyb3Bkb3duTGVnZW5kXCIpO1xuICAgIEV2ZW50cy5kcm9wZG93bkxlZ2VuZE9uQ2hhbmdlKFwiI2Ryb3Bkb3duTGVnZW5kXCIpO1xuICAgIFRyaW1zLmFkZFRyaW1zKCk7XG4gICAgWE1MSGVscGVyLnByb2Nlc3NTTUFQKCk7XG4gICAgY29uZmlnLnN0YXRlLnBhbnpvb20gPSBQYW56b29tLmFkZFBhbnpvb20oXCIjY29udGFpbmVyU2VhdG1hcElubmVyXCIsIFwiLnBhbnpvb21ab29tSW5cIiwgXCIucGFuem9vbVpvb21PdXRcIiwgXCIjcGFuem9vbVJlc2V0Wm9vbVwiKTtcbiAgICBVSS5jb250cm9sTG9mdGxvYWRlcihcImhpZGVcIik7XG4gICAgakJveEhlbHBlci5jcmVhdGVTZWF0VG9vbHRpcHMoKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHNlbmRDaGVja291dFJlc3BvbnNlKGluRTogYW55KSB7XG4gICAgY29uc3QgZGF0YTogSS5NZXNzYWdlID0gSlNPTi5wYXJzZShpbkUuZGF0YSk7XG4gICAgY29uZmlnLnN0YXRlLmlzVmFsaWRTZWF0U2VsZWN0aW9uID0gZGF0YS5tZXNzYWdlLmlzVmFsaWRTZWF0U2VsZWN0aW9uO1xuXG4gICAgVXRpbHMuY29uc29sZUxvZyhkYXRhLm1lc3NhZ2UpO1xuXG4gICAgaWYgKCFjb25maWcuc3RhdGUuaXNWYWxpZFNlYXRTZWxlY3Rpb24pIHtcbiAgICAgICAgakJveEhlbHBlci5zaG93SkJveE5vdGljZShgQXVzd2FobCBuaWNodCBtw7ZnbGljaDogQml0dGUgbGFzc2VuIFNpZSBrZWluZW4gZWluemVsbmVuIFBsYXR6IGZyZWkuYCk7XG4gICAgICAgIENhcnRCdXR0b25zLnNob3dIaWRlQnRuQ2FydExvYWRpbmcoXCJoaWRlXCIpO1xuICAgIH1cbiAgICBlbHNlIHtcbiAgICAgICAgQ2FydC5yZW1vdmVDYXJ0SXRlbXMoKTtcbiAgICAgICAgQ2FydC5nZW5lcmF0ZUNhcnRJdGVtcygpO1xuICAgICAgICBjb25zdCB1cmwgPSBDYXJ0LmdlbmVyYXRlQ2hlY2tvdXRVcmwoKTtcbiAgICAgICAgRXZlbnRzLmFkZFJlZGlyZWN0Q2hlY2tvdXQodXJsKTtcbiAgICAgICAgVUkuZmFkZUluQ2FydE1vZGFsKCk7XG4gICAgICAgIENhcnRCdXR0b25zLnNob3dIaWRlQnRuQ2FydExvYWRpbmcoXCJoaWRlXCIpO1xuICAgIH1cblxuICAgIGNvbmZpZy5zdGF0ZS5jYXJ0Q2hhbmdlZCA9IGZhbHNlO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaW5qZWN0UmVzb3VyY2VzKCk6IHZvaWQge1xuICAgIGNvbnN0IGJyYW5jaDogSS5UeXBlQ29uZmlnQnJhbmNoID0gY29uZmlnLmJyYW5jaDtcbiAgICBjb25zdCByZXNvdXJjZXMgPSBjb25maWcucmVzb3VyY2VzW2JyYW5jaF07XG5cbiAgICBVdGlscy5pbmplY3QocmVzb3VyY2VzLkpTQywgXCJqc1wiLCBcImhlYWRcIik7XG4gICAgVXRpbHMuaW5qZWN0KHJlc291cmNlcy5DU1NKU0MsIFwiY3NzXCIsIFwiYm9keVwiKTsgICAgXG4gICAgVXRpbHMuaW5qZWN0KHJlc291cmNlcy5DU1NqUXVlcnlVSSwgXCJjc3NcIiwgXCJib2R5XCIpOyAgICBcbiAgICBVdGlscy5pbmplY3QocmVzb3VyY2VzLkNTU0NoaWxkLCBcImNzc1wiLCBcImJvZHlcIik7XG4gICAgLy8gVXRpbHMuaW5qZWN0KHJlc291cmNlcy5DU1NqQm94LCBcImNzc1wiLCBcImJvZHlcIik7XG59IiwiaW1wb3J0ICogYXMgSSBmcm9tIFwiLi4vdHlwZXMvdHlwZXNcIjtcbmltcG9ydCBheGlvcywgeyBBeGlvc1Jlc3BvbnNlIH0gZnJvbSAnYXhpb3MnO1xuY29uc3QgeG1sMmpzUGFyc2VyID0gcmVxdWlyZSgneG1sMmpzJykucGFyc2VTdHJpbmc7XG5pbXBvcnQgKiBhcyBVSSBmcm9tIFwiLi91aVwiO1xuaW1wb3J0IHsgY29uZmlnIH0gZnJvbSBcIi4vY29uZmlnXCI7XG5pbXBvcnQgKiBhcyBDYXJ0IGZyb20gXCIuL2NhcnRcIjtcbmltcG9ydCBVdGlscyBmcm9tICcuL3V0aWxzJ1xuXG4vLyByZXdvcmsgdHJ5L2NhdGNoID9cbmV4cG9ydCBmdW5jdGlvbiBzZW5kTWVzc2FnZShpbkRhdGE6IEkuTWVzc2FnZSwgaW5Ubzogc3RyaW5nKTogdm9pZCB7XG4gICAgaWYgKGluVG8gPT09IFwicGFyZW50XCIpXG4gICAgICAgIHdpbmRvdy5wYXJlbnQucG9zdE1lc3NhZ2UoSlNPTi5zdHJpbmdpZnkoaW5EYXRhKSwgJyonKTtcbiAgICBlbHNlIHtcbiAgICAgICAgY29uc3QgY2hpbGQ6IGFueSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGluVG8pO1xuXG4gICAgICAgIGlmIChjaGlsZCAhPT0gbnVsbCAmJiBjaGlsZC5jb250ZW50V2luZG93ICE9PSBudWxsKVxuICAgICAgICAgICAgY2hpbGQuY29udGVudFdpbmRvdy5wb3N0TWVzc2FnZShKU09OLnN0cmluZ2lmeShpbkRhdGEpLCBcIipcIik7XG4gICAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gbGlzdGVuVG9NZXNzYWdlcyhpbkhhbmRsZXI6IENhbGxhYmxlRnVuY3Rpb24pOiB2b2lkIHtcbiAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcignbWVzc2FnZScsIChlOiBhbnkpOiB2b2lkID0+IHtcbiAgICAgICAgaW5IYW5kbGVyKGUpO1xuICAgIH0pO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gc2VuZFhNTChpblVybDogc3RyaW5nLCBpblRvOiBzdHJpbmcsIGluRXZlbnQ6IHN0cmluZywgaW5Gcm9tOiBzdHJpbmcsIGluRGF0ZTogbnVtYmVyID0gRGF0ZS5ub3coKSk6IHZvaWQge1xuICAgIGdldFhNTFByb21pc2UoaW5VcmwpLnRoZW4oKHJlc3VsdDogdW5rbm93bik6IHZvaWQgPT4ge1xuICAgICAgICBjb25zdCBtZXNzYWdlOiBJLk1lc3NhZ2UgPSB7XG4gICAgICAgICAgICBkYXRlOiBpbkRhdGUsXG4gICAgICAgICAgICBmcm9tOiBpbkZyb20sXG4gICAgICAgICAgICBtZXNzYWdlOiByZXN1bHQsXG4gICAgICAgICAgICBldmVudDogaW5FdmVudFxuICAgICAgICB9XG4gICAgICAgIHNlbmRNZXNzYWdlKG1lc3NhZ2UsIGluVG8pO1xuICAgIH0pXG4gICAgICAgIC5jYXRjaChmdW5jdGlvbiAoZXJyKSB7XG4gICAgICAgICAgICBjb25zb2xlLmVycm9yKGVycik7XG4gICAgICAgIH0pO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gc2VuZEV2ZW50VG9DaGlsZChpbkV2ZW50OiBzdHJpbmcpOiB2b2lkIHtcbiAgICBjb25zdCBtZXNzYWdlOiBJLk1lc3NhZ2UgPSB7XG4gICAgICAgIG1lc3NhZ2U6IG51bGwsXG4gICAgICAgIGZyb206IFwicGFyZW50XCIsXG4gICAgICAgIGV2ZW50OiBpbkV2ZW50LFxuICAgICAgICBkYXRlOiBEYXRlLm5vdygpXG4gICAgfTtcbiAgICBzZW5kTWVzc2FnZShtZXNzYWdlLCBcImlmcmFtZVNlYXRtYXBcIik7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBzZW5kRXZlbnRUb1BhcmVudChpbkV2ZW50OiBzdHJpbmcpOiB2b2lkIHtcbiAgICBjb25zdCBtZXNzYWdlOiBJLk1lc3NhZ2UgPSB7XG4gICAgICAgIG1lc3NhZ2U6IG51bGwsXG4gICAgICAgIGZyb206IFwiY2hpbGRcIixcbiAgICAgICAgZXZlbnQ6IGluRXZlbnQsXG4gICAgICAgIGRhdGU6IERhdGUubm93KClcbiAgICB9O1xuICAgIHNlbmRNZXNzYWdlKG1lc3NhZ2UsIFwicGFyZW50XCIpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gbmVlZFNlYXRtYXBYTUwoaW5JRDogc3RyaW5nKTogdm9pZCB7XG4gICAgY29uc3QgbWVzc2FnZTogSS5NZXNzYWdlID0ge1xuICAgICAgICBtZXNzYWdlOiBpbklELFxuICAgICAgICBmcm9tOiBcImNoaWxkXCIsXG4gICAgICAgIGV2ZW50OiBcImNoaWxkX25lZWRTZWF0bWFwWE1MXCIsXG4gICAgICAgIGRhdGU6IERhdGUubm93KClcbiAgICB9O1xuICAgIHNlbmRNZXNzYWdlKG1lc3NhZ2UsIFwicGFyZW50XCIpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gY2FuY2VsQ2hlY2tvdXQoaW5Vcmw6IHN0cmluZyk6IHZvaWQge1xuICAgIC8vIHVzZSBmZXRjaCBpbnN0ZWFkIG9mIGF4aW9zIGJlY2F1c2Ugb2YgMzAyIHJlZGlyZWN0XG4gICAgLy8gc2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9heGlvcy9heGlvcy9pc3N1ZXMvOTMyXG4gICAgZmV0Y2goaW5VcmwsIHtcbiAgICAgICAgcmVkaXJlY3Q6IFwibWFudWFsXCJcbiAgICB9KVxuICAgICAgICAudGhlbigoKSA9PiBVdGlscy5jb25zb2xlTG9nKGAke2luVXJsfSBjYW5jZWxlZGApKVxuICAgICAgICAuY2F0Y2goKGVycm9yKSA9PiBVdGlscy5jb25zb2xlTG9nKGVycm9yKSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc1ZhbGlkU2VhdFNlbGVjdGlvbigpOiB2b2lkIHtcbiAgICBqUXVlcnkoXCIjbW9kYWxDYXJ0LW92ZXJsYXlcIikuaGlkZSgpO1xuXG4gICAgaWYgKCFjb25maWcuc3RhdGUuc2VsZWN0ZWRTZWF0c0Fyci5sZW5ndGgpXG4gICAgICAgIHJldHVybjtcblxuICAgIFVJLmFkanVzdFVJVG9Mb2FkaW5nKCk7XG4gICAgY29uc3QgdXJsOiBzdHJpbmcgfCB1bmRlZmluZWQgPSBDYXJ0LmdlbmVyYXRlQ2hlY2tvdXRVcmwoKTtcblxuICAgIGNvbnN0IG1lc3NhZ2U6IEkuTWVzc2FnZSA9IHtcbiAgICAgICAgbWVzc2FnZToge1xuICAgICAgICAgICAgdXJsOiB1cmwsXG4gICAgICAgIH0sXG4gICAgICAgIGZyb206IFwiY2hpbGRcIixcbiAgICAgICAgZXZlbnQ6IFwiY2hpbGRfbmVlZENoZWNrb3V0UmVzcG9uc2VcIixcbiAgICAgICAgZGF0ZTogRGF0ZS5ub3coKVxuICAgIH07XG5cbiAgICBzZW5kTWVzc2FnZShtZXNzYWdlLCBcInBhcmVudFwiKTtcbn1cblxuZnVuY3Rpb24gZ2V0WE1MUHJvbWlzZShpblVybDogc3RyaW5nKTogUHJvbWlzZTx1bmtub3duPiB7XG4gICAgcmV0dXJuIGF4aW9zLmdldChpblVybClcbiAgICAgICAgLnRoZW4oKHJlc3BvbnNlOiB2b2lkIHwgQXhpb3NSZXNwb25zZTxhbnk+KSA9PiB7XG4gICAgICAgICAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmU6IGFueSwgcmVqZWN0OiBhbnkpID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBBeGlvc1Jlc3BvbnNlID0gPEF4aW9zUmVzcG9uc2U+cmVzcG9uc2U7XG4gICAgICAgICAgICAgICAgaWYgKEF4aW9zUmVzcG9uc2Uuc3RhdHVzID09PSAyMDAgJiYgQXhpb3NSZXNwb25zZS5oZWFkZXJzW1wiY29udGVudC10eXBlXCJdID09PSBcInRleHQveG1sO2NoYXJzZXQ9dXRmLThcIikge1xuICAgICAgICAgICAgICAgICAgICB4bWwyanNQYXJzZXIoQXhpb3NSZXNwb25zZS5kYXRhLFxuICAgICAgICAgICAgICAgICAgICAgICAgeyBub3JtYWxpemVUYWdzOiB0cnVlLCBub3JtYWxpemU6IHRydWUsIG1lcmdlQXR0cnM6IHRydWUgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgIChlcnI6IGFueSwgcmVzdWx0OiBhbnkpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoZXJyKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWplY3QoZXJyKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbHNlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc29sdmUocmVzdWx0KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9KVxuICAgICAgICAuY2F0Y2goKGVycm9yKSA9PiBVdGlscy5jb25zb2xlTG9nKGVycm9yKSk7XG59IiwiaW1wb3J0ICogYXMgSSBmcm9tIFwiLi4vdHlwZXMvdHlwZXNcIjtcblxuZXhwb3J0IGNvbnN0IGNvbmZpZzogSS5Db25maWcgPSB7XG4gICAgY2hpbGRIYXNWZW51ZVhNTDogZmFsc2UsXG4gICAgZGVidWc6IHRydWUsXG4gICAgYnJhbmNoOiBcIm1hc3RlclwiLFxuICAgIHZlcnNpb246IFwiMC4wLjFcIixcbiAgICBtYXhTZWxlY3RlZFNlYXRzOiAxMCxcbiAgICByZXNvdXJjZXM6IHtcbiAgICAgICAgbWFzdGVyOiB7XG4gICAgICAgICAgICBzZWF0bWFwOiBcImh0dHBzOi8vdGlja2V0cy56aW5vbWVkaWEuZGVcIixcbiAgICAgICAgICAgIEpTQzogXCJodHRwczovL3RpY2tldHMuemlub21lZGlhLmRlL2xpYnMvalF1ZXJ5LVNlYXQtQ2hhcnRzL2pxdWVyeS5zZWF0LWNoYXJ0cy5taW4uanNcIixcbiAgICAgICAgICAgIENTU0NoaWxkOiBcImh0dHBzOi8vdGlja2V0cy56aW5vbWVkaWEuZGUvZGlzdC9zZWF0bWFwLmNzc1wiLFxuICAgICAgICAgICAgQ1NTSlNDOiBcImh0dHBzOi8vdGlja2V0cy56aW5vbWVkaWEuZGUvbGlicy9qUXVlcnktU2VhdC1DaGFydHMvanF1ZXJ5LnNlYXQtY2hhcnRzLmNzc1wiLFxuICAgICAgICAgICAgQ1NTUGFyZW50OiBcImh0dHBzOi8vdGlja2V0cy56aW5vbWVkaWEuZGUvZGlzdC9pbmplY3QuY3NzXCIsXG4gICAgICAgICAgICBDU1NqUXVlcnlVSTogXCJodHRwczovL2NvZGUuanF1ZXJ5LmNvbS91aS8xLjEyLjEvdGhlbWVzL2Jhc2UvanF1ZXJ5LXVpLmNzc1wiLFxuICAgICAgICAgICAgQ1NTakJveDogXCJodHRwczovL3RpY2tldHMuemlub21lZGlhLmRlL2Rpc3QvakJveC5hbGwubWluLmNzc1wiXG4gICAgICAgIH0sXG4gICAgICAgIHN0YWdpbmc6IHtcbiAgICAgICAgICAgIHNlYXRtYXA6IFwiaHR0cHM6Ly9zdGFnaW5nLnRpY2tldHMuemlub21lZGlhLmRlXCIsXG4gICAgICAgICAgICBKU0M6IFwiaHR0cHM6Ly9zdGFnaW5nLnRpY2tldHMuemlub21lZGlhLmRlL2xpYnMvalF1ZXJ5LVNlYXQtQ2hhcnRzL2pxdWVyeS5zZWF0LWNoYXJ0cy5taW4uanNcIixcbiAgICAgICAgICAgIENTU0NoaWxkOiBcImh0dHBzOi8vc3RhZ2luZy50aWNrZXRzLnppbm9tZWRpYS5kZS9kaXN0L3NlYXRtYXAuY3NzXCIsXG4gICAgICAgICAgICBDU1NKU0M6IFwiaHR0cHM6Ly9zdGFnaW5nLnRpY2tldHMuemlub21lZGlhLmRlL2xpYnMvalF1ZXJ5LVNlYXQtQ2hhcnRzL2pxdWVyeS5zZWF0LWNoYXJ0cy5jc3NcIixcbiAgICAgICAgICAgIENTU1BhcmVudDogXCJodHRwczovL3N0YWdpbmcudGlja2V0cy56aW5vbWVkaWEuZGUvZGlzdC9pbmplY3QuY3NzXCIsXG4gICAgICAgICAgICBDU1NqUXVlcnlVSTogXCJodHRwczovL2NvZGUuanF1ZXJ5LmNvbS91aS8xLjEyLjEvdGhlbWVzL2Jhc2UvanF1ZXJ5LXVpLmNzc1wiLFxuICAgICAgICAgICAgQ1NTakJveDogXCJodHRwczovL3N0YWdpbmcudGlja2V0cy56aW5vbWVkaWEuZGUvZGlzdC9qQm94LmFsbC5taW4uY3NzXCJcbiAgICAgICAgfVxuICAgIH0sXG4gICAgc3RhdGU6IHtcbiAgICAgICAgcHJpY2VPdmVyYWxsOiBcIlwiLFxuICAgICAgICBjYXJ0Q2hhbmdlZDogZmFsc2UsXG4gICAgICAgIHNlbGVjdGVkU2VhdHNBcnI6IFtdLFxuICAgICAgICBzZWxlY3RlZFNlYXRzT2JqOiB7fSxcbiAgICAgICAgbGF5b3V0Um93czoge30sXG4gICAgICAgIGlzVmFsaWRTZWF0U2VsZWN0aW9uOiBmYWxzZSxcbiAgICAgICAgaW5wdXRzV2l0aFZhbHVlOiB1bmRlZmluZWQsXG4gICAgICAgIHNlYXRtYXA6IHVuZGVmaW5lZCxcbiAgICAgICAgcGFuem9vbTogdW5kZWZpbmVkLFxuICAgICAgICBpblZlbnVlWE1MOiB1bmRlZmluZWQsXG4gICAgICAgIHNlYXRtYXBYTUw6IHVuZGVmaW5lZCxcbiAgICB9XG59IiwiaW1wb3J0ICogYXMgQ29tbXVuaWNhdGlvbiBmcm9tIFwiLi9jb21tdW5pY2F0aW9uXCI7XG5pbXBvcnQgKiBhcyBVSSBmcm9tIFwiLi91aVwiO1xuaW1wb3J0IHsgY29uZmlnIH0gZnJvbSBcIi4vY29uZmlnXCI7XG5pbXBvcnQgKiBhcyBJIGZyb20gXCIuLi90eXBlcy90eXBlc1wiO1xuaW1wb3J0ICogYXMgSlNDIGZyb20gXCIuL2pzY1wiO1xuaW1wb3J0ICogYXMgQ2FydCBmcm9tIFwiLi9jYXJ0XCI7XG5pbXBvcnQgKiBhcyBMZWdlbmQgZnJvbSBcIi4vbGVnZW5kXCI7XG5pbXBvcnQgKiBhcyBqQm94SGVscGVyIGZyb20gXCIuL2pCb3hIZWxwZXJcIjtcblxuZXhwb3J0IGZ1bmN0aW9uIGFkZENsb3NlTW9kYWwoKTogdm9pZCB7XG4gICAgY29uc3QgYnRuQ2xvc2VNb2RhbDogSFRNTEVsZW1lbnQgfCB1bmRlZmluZWQgPSBqUXVlcnkoXCIjYnRuQ2xvc2VNb2RhbFwiKS5nZXQoMCk7XG4gICAgaWYgKGJ0bkNsb3NlTW9kYWwpXG4gICAgICAgIGJ0bkNsb3NlTW9kYWwuYWRkRXZlbnRMaXN0ZW5lcihcImNsaWNrXCIsICgpID0+IENvbW11bmljYXRpb24uc2VuZEV2ZW50VG9QYXJlbnQoXCJjaGlsZF9jbG9zZURpYWxvZ1wiKSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBhZGREcm9wZG93blNlYXRtYXAoKTogdm9pZCB7XG4gICAgY29uc3QgZHJvcGRvd25TZWF0bWFwOiBIVE1MRWxlbWVudCB8IG51bGwgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChcImRyb3Bkb3duU2VhdG1hcFwiKTtcblxuICAgIGlmIChkcm9wZG93blNlYXRtYXApIHtcbiAgICAgICAgZHJvcGRvd25TZWF0bWFwLmFkZEV2ZW50TGlzdGVuZXIoXCJjaGFuZ2VcIiwgZnVuY3Rpb24gKHRoaXM6IEhUTUxTZWxlY3RFbGVtZW50KSB7XG4gICAgICAgICAgICBVSS5jb250cm9sTG9mdGxvYWRlcihcInNob3dcIik7IC8vIHRvZG86IHJld3JpdGU/XG4gICAgICAgICAgICBVSS5kZXN0cm95Q3VycmVudFNlYXRtYXAoXCIjY29udGFpbmVyU2VhdG1hcElubmVyXCIpO1xuICAgICAgICAgICAgQ29tbXVuaWNhdGlvbi5uZWVkU2VhdG1hcFhNTCh0aGlzLnZhbHVlKTtcbiAgICAgICAgfSk7XG4gICAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gYWRkTW9kYWxDYXJ0KCk6IHZvaWQge1xuICAgIGNvbnN0IGJ0bkNhcnQ6IEhUTUxFbGVtZW50IHwgdW5kZWZpbmVkID0galF1ZXJ5KFwiI21vZGFsQ2FydCAudWFiYi1idXR0b25cIikuZ2V0KDApO1xuXG4gICAgaWYgKGJ0bkNhcnQpIHtcbiAgICAgICAgYnRuQ2FydC5hZGRFdmVudExpc3RlbmVyKFwiY2xpY2tcIiwgKCkgPT4ge1xuICAgICAgICAgICAgaWYgKCFjb25maWcuc3RhdGUuc2VsZWN0ZWRTZWF0c0Fyci5sZW5ndGgpXG4gICAgICAgICAgICAgICAgakJveEhlbHBlci5zaG93SkJveE5vdGljZShgU2llIGhhYmVuIGJpc2xhbmcga2VpbmVuIFBsYXR6IGF1c2dld8OkaGx0LmApO1xuICAgICAgICAgICAgZWxzZSBpZiAoY29uZmlnLnN0YXRlLmNhcnRDaGFuZ2VkKVxuICAgICAgICAgICAgICAgIENvbW11bmljYXRpb24uaXNWYWxpZFNlYXRTZWxlY3Rpb24oKTtcbiAgICAgICAgICAgIGVsc2UgaWYgKCFjb25maWcuc3RhdGUuY2FydENoYW5nZWQgJiYgY29uZmlnLnN0YXRlLmlzVmFsaWRTZWF0U2VsZWN0aW9uKVxuICAgICAgICAgICAgICAgIFVJLmZhZGVJbkNhcnRNb2RhbCgpO1xuICAgICAgICAgICAgZWxzZSBpZiAoIWNvbmZpZy5zdGF0ZS5jYXJ0Q2hhbmdlZCAmJiAhY29uZmlnLnN0YXRlLmlzVmFsaWRTZWF0U2VsZWN0aW9uKVxuICAgICAgICAgICAgICAgIGpCb3hIZWxwZXIuc2hvd0pCb3hOb3RpY2UoYEF1c3dhaGwgbmljaHQgbcO2Z2xpY2g6IEJpdHRlIGxhc3NlbiBTaWUga2VpbmVuIGVpbnplbG5lbiBQbGF0eiBmcmVpLmApO1xuICAgICAgICB9KTtcbiAgICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBhZGRSZWRpcmVjdENoZWNrb3V0KGluVXJsOiBzdHJpbmcgfCB1bmRlZmluZWQpOiB2b2lkIHtcbiAgICBpZiAoIWluVXJsKVxuICAgICAgICByZXR1cm47XG5cbiAgICBjb25zdCBidG5DaGVja291dCA9IGpRdWVyeShcIiNtb2RhbENhcnQtb3ZlcmxheSAjY2hlY2tvdXQgLmZsLWJ1dHRvblwiKS5nZXQoMCk7XG4gICAgaWYgKGJ0bkNoZWNrb3V0KSB7XG4gICAgICAgIGJ0bkNoZWNrb3V0LmFkZEV2ZW50TGlzdGVuZXIoXCJjbGlja1wiLCAoKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBtZXNzYWdlOiBJLk1lc3NhZ2UgPSB7XG4gICAgICAgICAgICAgICAgbWVzc2FnZToge1xuICAgICAgICAgICAgICAgICAgICB1cmw6IGluVXJsLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgZnJvbTogXCJjaGlsZFwiLFxuICAgICAgICAgICAgICAgIGV2ZW50OiBcImNoaWxkX2NsaWNrX2NoZWNrb3V0XCIsXG4gICAgICAgICAgICAgICAgZGF0ZTogRGF0ZS5ub3coKVxuICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIENvbW11bmljYXRpb24uc2VuZE1lc3NhZ2UobWVzc2FnZSwgXCJwYXJlbnRcIik7XG4gICAgICAgIH0pO1xuICAgIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGFkZENhcnRDbG9zZSgpOiB2b2lkIHtcbiAgICBjb25zdCBidG5DbG9zZTogSFRNTEVsZW1lbnQgPSBqUXVlcnkoXCIjbW9kYWxDYXJ0LW92ZXJsYXkgLnVhYmItY2xvc2UtaWNvblwiKS5nZXQoMCk7XG4gICAgaWYgKGJ0bkNsb3NlKVxuICAgICAgICBidG5DbG9zZS5hZGRFdmVudExpc3RlbmVyKFwiY2xpY2tcIiwgKCkgPT4gQ29tbXVuaWNhdGlvbi5zZW5kRXZlbnRUb1BhcmVudChcImNoaWxkX3Nob3dfZGlhbG9nX3RpdGxlYmFyXCIpKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGFkZENhcnRCYWNrKCk6IHZvaWQge1xuICAgIGNvbnN0IGJ0bkJhY2s6IEhUTUxFbGVtZW50ID0galF1ZXJ5KFwiI21vZGFsQ2FydC1vdmVybGF5ICNnb0JhY2sgLmZsLWJ1dHRvblwiKS5nZXQoMCk7XG4gICAgaWYgKGJ0bkJhY2spXG4gICAgICAgIGJ0bkJhY2suYWRkRXZlbnRMaXN0ZW5lcihcImNsaWNrXCIsICgpID0+IGpRdWVyeShcIiNtb2RhbENhcnQtb3ZlcmxheSAudWFiYi1jbG9zZS1pY29uXCIpLnRyaWdnZXIoXCJjbGlja1wiKSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBkcm9wZG93bkxlZ2VuZE9uQ2hhbmdlKGluU2VsZWN0b3I6IHN0cmluZyk6IHZvaWQge1xuICAgIGNvbnN0IHNlYXRtYXA6IGFueSA9IGNvbmZpZy5zdGF0ZS5zZWF0bWFwO1xuICAgIGNvbnN0IGRyb3Bkb3duTGVnZW5kOiBIVE1MRWxlbWVudCA9IGpRdWVyeShpblNlbGVjdG9yKS5nZXQoMCk7XG5cbiAgICBkcm9wZG93bkxlZ2VuZC5hZGRFdmVudExpc3RlbmVyKFwiY2hhbmdlXCIsIGZ1bmN0aW9uICh0aGlzOiBIVE1MU2VsZWN0RWxlbWVudCkge1xuICAgICAgICBjb25zdCB2YWx1ZTogc3RyaW5nID0gdGhpcy52YWx1ZTtcbiAgICAgICAgY29uc3QgY2xhc3NOYW1lOiBzdHJpbmcgPSBgLl8ke3ZhbHVlfWA7XG5cbiAgICAgICAgTGVnZW5kLmNoYW5nZURyb3Bkb3duTGVnZW5kQkdDb2xvcihpblNlbGVjdG9yLCB2YWx1ZSwgY2xhc3NOYW1lKTtcblxuICAgICAgICBpZiAodmFsdWUgPT09IFwiYWxsXCIpIHtcbiAgICAgICAgICAgIHNlYXRtYXAuZmluZCgndW5hdmFpbGFibGUnKS5zdGF0dXMoJ2F2YWlsYWJsZScpO1xuICAgICAgICAgICAgSlNDLnNldFVuYXZhaWxhYmxlU2VhdHMoKTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIHNlYXRtYXAuZmluZCgnYXZhaWxhYmxlJykuc3RhdHVzKCd1bmF2YWlsYWJsZScpO1xuICAgICAgICAgICAgSlNDLmFjdGl2YXRlU2VhdHNCeVNlY3Rpb25JRCh2YWx1ZSk7XG4gICAgICAgICAgICBKU0Muc2V0VW5hdmFpbGFibGVTZWF0cygpO1xuICAgICAgICB9XG4gICAgfSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBhZGRDYXJ0RHJvcGRvd25CdXllclR5cGVzKGluU2VsZWN0b3I6IHN0cmluZywgaW5TZWF0T2JqOiBJLkpTQ1NlbGVjdGVkU2VhdCk6IHZvaWQge1xuICAgIC8vIHRvZG86IHdoaWNoIHZhcmlhbnQgaXMgbm90IGRlcHJlY2F0ZWQ/XG4gICAgalF1ZXJ5KGluU2VsZWN0b3IpLm9uKCdjaGFuZ2UnLCBmdW5jdGlvbiAodGhpczogSFRNTFNlbGVjdEVsZW1lbnQpIHtcbiAgICAgICAgQ2FydC5jaGFuZ2VkRHJvcGRvd25CdXllclR5cGUodGhpcywgaW5TZWF0T2JqKTtcbiAgICB9KTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGFkZE9wZW5TZWF0bWFwKCkge1xuICAgIGpRdWVyeShcIiNvcGVuU2VhdG1hcFwiKS5vbihcImNsaWNrXCIsICgpID0+IHtcbiAgICAgICAgaWYgKCFjb25maWcuY2hpbGRIYXNWZW51ZVhNTClcbiAgICAgICAgICAgIENvbW11bmljYXRpb24uc2VuZEV2ZW50VG9DaGlsZChcInBhcmVudF9pbml0X3ZlbnVlXCIpO1xuXG4gICAgICAgIGpRdWVyeSgnaHRtbCwgYm9keScpLmNzcygnb3ZlcmZsb3cnLCAnaGlkZGVuJyk7XG4gICAgICAgIGpRdWVyeShcIiNkaWFsb2dTZWF0bWFwXCIpLmRpYWxvZygnb3BlbicpO1xuICAgIH0pO1xufSIsImltcG9ydCBqQm94IGZyb20gXCJqYm94XCI7XG5pbXBvcnQgeyBjb25maWcgfSBmcm9tIFwiLi9jb25maWdcIjtcbmltcG9ydCAqIGFzIFhNTEhlbHBlciBmcm9tIFwiLi94bWxoZWxwZXJcIjtcblxuZXhwb3J0IGZ1bmN0aW9uIHNob3dKQm94Tm90aWNlKGluQ29udGVudDogc3RyaW5nLCBpbkF1dG9DbG9zZTogbnVtYmVyIHwgYm9vbGVhbiB8IHVuZGVmaW5lZCA9IDUwMDApOiB2b2lkIHtcbiAgICBuZXcgakJveDxcIk5vdGljZVwiPiAoJ05vdGljZScsIHtcbiAgICAgICAgcG9zaXRpb246IHsgeDogJ2NlbnRlcicsIHk6ICd0b3AnIH0sXG4gICAgICAgIG9mZnNldDogeyB4OiAwLCB5OiAzMjAgfSxcbiAgICAgICAgY29udGVudDogaW5Db250ZW50LFxuICAgICAgICBhdXRvQ2xvc2U6IGluQXV0b0Nsb3NlLFxuICAgICAgICBhbmltYXRpb246IHsgb3BlbjogXCJ6b29tSW5cIiwgY2xvc2U6IFwiem9vbU91dFwiIH0sXG4gICAgICAgIGNsb3NlT25Fc2M6IGZhbHNlLFxuICAgICAgICBjbG9zZUJ1dHRvbjogdHJ1ZSxcbiAgICAgICAgY2xvc2VPbk1vdXNlbGVhdmU6IGZhbHNlLFxuICAgICAgICBjbG9zZU9uQ2xpY2s6IGZhbHNlLFxuICAgICAgICBkcmFnZ2FibGU6IGZhbHNlLFxuICAgICAgICBjb2xvcjogXCJyZWRcIixcbiAgICAgICAgc3RhY2s6IHRydWUsXG4gICAgICAgIHNob3dDb3VudGRvd246IHRydWUsXG4gICAgICAgIHJlcG9zaXRpb246IHRydWUsXG4gICAgICAgIHJlc3BvbnNpdmVXaWR0aDogdHJ1ZSxcbiAgICAgICAgcmVzcG9uc2l2ZUhlaWdodDogdHJ1ZSxcbiAgICB9KTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZVNlYXRUb29sdGlwcygpOiB2b2lkIHtcbiAgICBuZXcgakJveDxcIlRvb2x0aXBcIj4gKFwiVG9vbHRpcFwiLCB7XG4gICAgICAgIGF0dGFjaDogalF1ZXJ5KFwiLnNlYXRDaGFydHMtc2VhdFwiKSxcbiAgICAgICAgb25PcGVuOiBmdW5jdGlvbiAodGhpczogYW55KSB7XG4gICAgICAgICAgICBzaG93U2VhdFRvb2x0aXAodGhpcyk7XG4gICAgICAgIH0sXG4gICAgfSk7XG59XG5cbmZ1bmN0aW9uIHNob3dTZWF0VG9vbHRpcChqQm94OiBhbnkpOiB2b2lkIHtcbiAgICBjb25zdCBzZWF0SUQ6IHN0cmluZyA9IGpCb3guc291cmNlWzBdLmlkO1xuICAgIGNvbnN0IHNlYXQ6IHN0cmluZyA9IGNvbmZpZy5zdGF0ZS5sYXlvdXRSb3dzW3NlYXRJRF1bNV07XG4gICAgY29uc3Qgcm93OiBzdHJpbmcgPSBjb25maWcuc3RhdGUubGF5b3V0Um93c1tzZWF0SURdWzRdO1xuICAgIGNvbnN0IHNlY3Rpb25JRDogc3RyaW5nID0gY29uZmlnLnN0YXRlLmxheW91dFJvd3Nbc2VhdElEXVszXTtcbiAgICBjb25zdCBzZWN0aW9uRGVzYzogc3RyaW5nIHwgdW5kZWZpbmVkID0gWE1MSGVscGVyLmdldFNlY3Rpb25EZXNjQnlTZWN0aW9uSUQoc2VjdGlvbklEKTtcbiAgICBjb25zdCB0b29sdGlwQ29udGVudDogc3RyaW5nID0gYCR7c2VjdGlvbkRlc2N9PGJyLz5SZWloZSAke3Jvd30gUGxhdHogJHtzZWF0fWA7XG5cbiAgICBqQm94LnNldENvbnRlbnQodG9vbHRpcENvbnRlbnQpO1xufSIsImltcG9ydCAqIGFzIEkgZnJvbSBcIi4uL3R5cGVzL3R5cGVzXCI7XG5pbXBvcnQgeyBjb25maWcgfSBmcm9tIFwiLi9jb25maWdcIjtcbmltcG9ydCAqIGFzIFN0YXRlIGZyb20gXCIuL3N0YXRlXCI7XG5pbXBvcnQgKiBhcyBDYXJ0IGZyb20gXCIuL2NhcnRcIjtcbmltcG9ydCAqIGFzIENhcnRCdXR0b25zIGZyb20gXCIuL2NhcnRCdXR0b25zXCI7XG5pbXBvcnQgVXRpbHMgZnJvbSAnLi91dGlscydcblxuZXhwb3J0IGZ1bmN0aW9uIGdldFNlYXRzKCk6IEkuSlNDU2VhdHMge1xuICAgIGNvbnN0IHNlYXRtYXBYTUw6IGFueSA9IGNvbmZpZy5zdGF0ZS5zZWF0bWFwWE1MO1xuICAgIGNvbnN0IHByaWNlc2NhbGVBcnI6IEkuU2VhdG1hcFByaWNlc2NhbGVbXSA9IHNlYXRtYXBYTUwuc2VhdG1hcFswXS5wcmljZXNjYWxlX2NvbmZpZ1swXS5wcmljZXNjYWxlO1xuICAgIGxldCBzZWF0bWFwSW5pdFNlYXRzOiBJLkpTQ1NlYXRzID0ge307XG5cbiAgICBmb3IgKGxldCBrZXkgaW4gcHJpY2VzY2FsZUFycikge1xuICAgICAgICBjb25zdCBzZWF0c09iajogSS5KU0NTZWF0czIgPSB7XG4gICAgICAgICAgICBcImNsYXNzZXNcIjogYF8ke3ByaWNlc2NhbGVBcnJba2V5XS5pZFswXX1gLFxuICAgICAgICAgICAgXCJzZWF0c09ialwiOiBwcmljZXNjYWxlQXJyW2tleV1cbiAgICAgICAgfVxuICAgICAgICBjb25zdCBzZWF0c0tleTogc3RyaW5nID0gU3RyaW5nLmZyb21DaGFyQ29kZSg5NyArIHBhcnNlSW50KGtleSkpLnRvTG9jYWxlVXBwZXJDYXNlKCk7XG4gICAgICAgIHNlYXRtYXBJbml0U2VhdHNbc2VhdHNLZXldID0gc2VhdHNPYmo7XG4gICAgfVxuXG4gICAgcmV0dXJuIHNlYXRtYXBJbml0U2VhdHM7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBhY3RpdmF0ZVNlYXRzQnlTZWN0aW9uSUQoaW5WYWx1ZTogc3RyaW5nKTogdm9pZCB7XG4gICAgY29uc3Qgc2VhdG1hcFhNTDogYW55ID0gY29uZmlnLnN0YXRlLnNlYXRtYXBYTUw7XG4gICAgY29uc3Qgc2VhdG1hcDogYW55ID0gY29uZmlnLnN0YXRlLnNlYXRtYXA7XG4gICAgY29uc3QgcHJpY2VzY2FsZUFycjogSS5TZWF0bWFwUHJpY2VzY2FsZVtdID0gc2VhdG1hcFhNTC5zZWF0bWFwWzBdLnByaWNlc2NhbGVfY29uZmlnWzBdLnByaWNlc2NhbGU7XG5cbiAgICBjb25zdCBzZWF0c0Fycjogc3RyaW5nW10gfCB1bmRlZmluZWQgPSBwcmljZXNjYWxlQXJyLmZpbmQoYXJyID0+IHtcbiAgICAgICAgcmV0dXJuIGFyci5pZFswXSA9PT0gaW5WYWx1ZTtcbiAgICB9KT8ubWFza1swXS5zcGxpdChcIixcIik7XG5cbiAgICBzZWF0bWFwLnN0YXR1cyhzZWF0c0FyciwgXCJhdmFpbGFibGVcIik7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRSb3dzTmFtaW5nKCk6IHN0cmluZ1tdIHtcbiAgICBjb25zdCBzZWF0bWFwWE1MOiBhbnkgPSBjb25maWcuc3RhdGUuc2VhdG1hcFhNTDtcbiAgICBjb25zdCBsYXlvdXQ6IEkuU2VhdG1hcExheW91dCA9IHNlYXRtYXBYTUwuc2VhdG1hcFswXS5sYXlvdXRzWzBdLmxheW91dFswXTtcbiAgICBjb25zdCBoZWlnaHQ6IG51bWJlciA9IHBhcnNlSW50KGxheW91dC5oZWlnaHRbMF0pO1xuICAgIGNvbnN0IG5hbWluZ0Fycjogc3RyaW5nW10gPSBBcnJheS5mcm9tKHsgbGVuZ3RoOiBoZWlnaHQgfSwgKF8pID0+IFwiXCIpO1xuICAgIGNvbnN0IHJvd3NBcnI6IEkuTGF5b3V0Um93MltdID0gbGF5b3V0LnJvd3NbMF0ucm93O1xuXG4gICAgcm93c0Fyci5mb3JFYWNoKGVsZW1lbnQgPT4ge1xuICAgICAgICBjb25zdCBpbmRleDogbnVtYmVyID0gcGFyc2VJbnQoZWxlbWVudC55X2NlbGxfY29vcmRbMF0pO1xuICAgICAgICBjb25zdCBzZWF0c0Fycjogc3RyaW5nW10gPSBlbGVtZW50LnNlYXRzWzBdLnNwbGl0KFwifFwiKTtcbiAgICAgICAgY29uc3Qgc2VhdEFycjogc3RyaW5nW10gPSBzcGxpdFNlYXRTdHIoc2VhdHNBcnJbMF0pO1xuICAgICAgICBjb25zdCByb3c6IHN0cmluZyA9IHNlYXRBcnJbNF07XG4gICAgICAgIG5hbWluZ0FycltpbmRleF0gPSByb3c7XG4gICAgfSk7XG5cbiAgICByZXR1cm4gbmFtaW5nQXJyO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2VuZXJhdGVNYXAoKTogc3RyaW5nW10ge1xuICAgIGNvbnN0IHNlYXRtYXBYTUw6IGFueSA9IGNvbmZpZy5zdGF0ZS5zZWF0bWFwWE1MO1xuICAgIGNvbnN0IGxheW91dDogSS5TZWF0bWFwTGF5b3V0ID0gc2VhdG1hcFhNTC5zZWF0bWFwWzBdLmxheW91dHNbMF0ubGF5b3V0WzBdO1xuICAgIGNvbnN0IHJvd3M6IEkuTGF5b3V0Um93MltdID0gbGF5b3V0LnJvd3NbMF0ucm93O1xuICAgIGNvbnN0IHByaWNlc2NhbGVBcnI6IEkuU2VhdG1hcFByaWNlc2NhbGVbXSA9IHNlYXRtYXBYTUwuc2VhdG1hcFswXS5wcmljZXNjYWxlX2NvbmZpZ1swXS5wcmljZXNjYWxlO1xuICAgIGNvbnN0IGF2YWlsYWJpbGl0eUFycjogSS5KU0NBdmFpbGFiaWxpdHkgPSBzZWF0bWFwWE1MLnNlYXRtYXBbMF0udmlld19tb2Rlc1swXS52aWV3X21vZGVbMF0uYXZhaWxhYmlsaXR5WzBdO1xuXG4gICAgLy8gRm9ybTogYXJyTWF0cml4W1ldW1hdXG4gICAgbGV0IGFyck1hdHJpeDogc3RyaW5nW11bXSA9IGNyZWF0ZUFyck1hdHJpeChcbiAgICAgICAgcGFyc2VJbnQobGF5b3V0LmhlaWdodFswXSksXG4gICAgICAgIHBhcnNlSW50KGxheW91dC53aWR0aFswXSksXG4gICAgICAgIFwiX1wiXG4gICAgKTtcblxuICAgIGFyck1hdHJpeCA9IGVudGVyU2VhdHNJbk1hdHJpeChyb3dzLCBhcnJNYXRyaXgsIHByaWNlc2NhbGVBcnIsIGF2YWlsYWJpbGl0eUFycik7XG4gICAgcmV0dXJuIGFyck1hdHJpeC5tYXAoZWxlbWVudCA9PiBlbGVtZW50LmpvaW4oXCJcIikpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2VuZXJhdGVMZWdlbmQoaW5Ob2RlOiBzdHJpbmcpOiBJLkpTQ0xlZ2VuZCB7XG4gICAgY29uc3Qgc2VhdG1hcFhNTDogYW55ID0gY29uZmlnLnN0YXRlLnNlYXRtYXBYTUw7XG4gICAgY29uc3QgdmVudWVYTUw6IEkuVmVudWVYTUwgPSBjb25maWcuc3RhdGUuaW5WZW51ZVhNTCE7XG4gICAgY29uc3QgcHJpY2VzY2FsZUFycjogSS5TZWF0bWFwUHJpY2VzY2FsZVtdID0gc2VhdG1hcFhNTC5zZWF0bWFwWzBdLnByaWNlc2NhbGVfY29uZmlnWzBdLnByaWNlc2NhbGU7XG4gICAgY29uc3QgdmVudWVQcmljZXNjYWxlQXJyOiBJLlByaWNlc2NhbGUyW10gPSB2ZW51ZVhNTC52ZW51ZVswXS5wcmljZXNjYWxlc1swXS5wcmljZXNjYWxlO1xuXG4gICAgcmV0dXJuIDxJLkpTQ0xlZ2VuZD57XG4gICAgICAgIG5vZGU6IGpRdWVyeShpbk5vZGUpLFxuICAgICAgICBpdGVtczogY3JlYXRlTGVnZW5kSXRlbXMocHJpY2VzY2FsZUFyciwgdmVudWVQcmljZXNjYWxlQXJyKVxuICAgIH1cbn1cblxuXG5cbmV4cG9ydCBmdW5jdGlvbiBzZXRVbmF2YWlsYWJsZVNlYXRzKCk6IHZvaWQge1xuICAgIGNvbnN0IHNlYXRtYXBYTUw6IGFueSA9IGNvbmZpZy5zdGF0ZS5zZWF0bWFwWE1MO1xuICAgIGNvbnN0IHNlYXRtYXA6IGFueSA9IGNvbmZpZy5zdGF0ZS5zZWF0bWFwO1xuICAgIGNvbnN0IGF2YWlsYWJpbGl0eUFycjogSS5KU0NBdmFpbGFiaWxpdHkgPSBzZWF0bWFwWE1MLnNlYXRtYXBbMF0udmlld19tb2Rlc1swXS52aWV3X21vZGVbMF0uYXZhaWxhYmlsaXR5WzBdO1xuXG4gICAgaWYgKGF2YWlsYWJpbGl0eUFyci51bmF2YWlsYWJsZV91bnNlbGVjdGFibGVfbWFza1swXSAhPT0gXCJcIikge1xuICAgICAgICBjb25zdCB1bmF2YWlsYWJsZUFycjogc3RyaW5nW10gPSBhdmFpbGFiaWxpdHlBcnIudW5hdmFpbGFibGVfdW5zZWxlY3RhYmxlX21hc2tbMF0uc3BsaXQoXCIsXCIpO1xuICAgICAgICBzZWF0bWFwLnN0YXR1cyh1bmF2YWlsYWJsZUFyciwgXCJ1bmF2YWlsYWJsZVwiKTtcbiAgICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRTZWF0c0tleShpblNlYXRJRDogc3RyaW5nLCBpblByaWNlc2NhbGVBcnI6IEkuU2VhdG1hcFByaWNlc2NhbGVbXSk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gICAgZm9yIChsZXQga2V5IGluIGluUHJpY2VzY2FsZUFycikge1xuICAgICAgICBpZiAoaW5QcmljZXNjYWxlQXJyW2tleV0ubWFza1swXS5pbmNsdWRlcyhpblNlYXRJRCkpXG4gICAgICAgICAgICByZXR1cm4gU3RyaW5nLmZyb21DaGFyQ29kZSg5NyArIHBhcnNlSW50KGtleSkpLnRvTG9jYWxlVXBwZXJDYXNlKCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHNwbGl0U2VhdFN0cihpblNlYXRTdHI6IHN0cmluZyk6IHN0cmluZ1tdIHtcbiAgICByZXR1cm4gaW5TZWF0U3RyLnNwbGl0KFwiLFwiKS5tYXAoKGl0ZW0pID0+IGl0ZW0udHJpbSgpKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZUFyck1hdHJpeChpbk51bXJvd3M6IG51bWJlciwgaW5OdW1jb2xzOiBudW1iZXIsIGluQ2hhcmFjdGVyOiBzdHJpbmcpOiBzdHJpbmdbXVtdIHtcbiAgICByZXR1cm4gQXJyYXkoaW5OdW1yb3dzKS5maWxsKG51bGwpLm1hcCgoKSA9PiBBcnJheShpbk51bWNvbHMpLmZpbGwoaW5DaGFyYWN0ZXIpKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHNlbGVjdFNlYXRzSW5DYXJ0KCk6IHZvaWQge1xuICAgIGNvbnN0IHNlYXRtYXA6IGFueSA9IGNvbmZpZy5zdGF0ZS5zZWF0bWFwO1xuICAgIGNvbmZpZy5zdGF0ZS5zZWxlY3RlZFNlYXRzQXJyLmZvckVhY2goYXJyID0+IHtcbiAgICAgICAgY29uc3Qgc2VhdElEOiBzdHJpbmcgPSBhcnJbMF07XG5cbiAgICAgICAgaWYgKHNlYXRtYXAuZ2V0KHNlYXRJRCkpXG4gICAgICAgICAgICBzZWF0bWFwLnN0YXR1cyhzZWF0SUQsIFwic2VsZWN0ZWRcIik7XG4gICAgfSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBhZGRTZWF0bWFwKGluU2VsZWN0b3I6IHN0cmluZywgaW5NYXA6IHN0cmluZ1tdLCBpblJvd3NOYW1pbmc6IHN0cmluZ1tdLCBpblNlYXRzOiBJLkpTQ1NlYXRzLCBpbkxlZ2VuZDogSS5KU0NMZWdlbmQpOiB2b2lkIHtcbiAgICBjb25zdCBjb250YWluZXJTZWF0bWFwOiBhbnkgPSAoPGFueT53aW5kb3cpLmpRdWVyeShpblNlbGVjdG9yKTtcblxuICAgIGNvbmZpZy5zdGF0ZS5zZWF0bWFwID0gY29udGFpbmVyU2VhdG1hcC5zZWF0Q2hhcnRzKHtcbiAgICAgICAgbmFtaW5nOiB7XG4gICAgICAgICAgICB0b3A6IGZhbHNlLFxuICAgICAgICAgICAgbGVmdDogZmFsc2UsXG4gICAgICAgICAgICByb3dzOiBpblJvd3NOYW1pbmcsXG4gICAgICAgIH0sXG4gICAgICAgIG1hcDogaW5NYXAsXG4gICAgICAgIHNlYXRzOiBpblNlYXRzLFxuICAgICAgICBsZWdlbmQ6IGluTGVnZW5kLFxuICAgICAgICBjbGljazogZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgcmV0dXJuIGNsaWNrZWRTZWF0KHRoaXMpO1xuICAgICAgICB9XG4gICAgfSk7XG59XG5cbmZ1bmN0aW9uIGNyZWF0ZUxlZ2VuZEl0ZW1zKHByaWNlc2NhbGVBcnI6IEkuU2VhdG1hcFByaWNlc2NhbGVbXSwgdmVudWVQcmljZXNjYWxlQXJyOiBJLlByaWNlc2NhbGUyW10pOiBzdHJpbmdbXVtdIHtcbiAgICByZXR1cm4gcHJpY2VzY2FsZUFyci5tYXAoKGFyciwgaW5kZXg6IG51bWJlcikgPT4ge1xuICAgICAgICBjb25zdCBpZDogc3RyaW5nID0gYXJyLmlkWzBdO1xuICAgICAgICBjb25zdCBzZWF0c0tleTogc3RyaW5nID0gU3RyaW5nLmZyb21DaGFyQ29kZSg5NyArIGluZGV4KS50b0xvY2FsZVVwcGVyQ2FzZSgpO1xuICAgICAgICBjb25zdCBkZXNjOiBzdHJpbmcgfCB1bmRlZmluZWQgPSB2ZW51ZVByaWNlc2NhbGVBcnIuZmluZChvYmogPT4gb2JqLmlkWzBdID09PSBpZCk/LmRlc2NbMF07XG4gICAgICAgIGNvbnN0IGRlc2NyaXB0aW9uOiBzdHJpbmcgPSBgJHtkZXNjfSDigqwke3ByaWNlc2NhbGVBcnJbaW5kZXhdLnJlZl9wcmljZVswXX1gO1xuICAgICAgICByZXR1cm4gW3NlYXRzS2V5LCBcImF2YWlsYWJsZVwiLCBkZXNjcmlwdGlvbl07XG4gICAgfSk7XG59XG5cbmZ1bmN0aW9uIGVudGVyU2VhdHNJbk1hdHJpeChpblJvd3M6IEkuTGF5b3V0Um93MltdLCBpbkFyck1hdHJpeDogc3RyaW5nW11bXSwgaW5QcmljZXNjYWxlQXJyOiBJLlNlYXRtYXBQcmljZXNjYWxlW10sIGluQXZhaWxhYmlsaXR5QXJyOiBJLkpTQ0F2YWlsYWJpbGl0eSk6IHN0cmluZ1tdW10ge1xuICAgIGNvbnN0IGF2YWlsYWJsZUFycjogc3RyaW5nW10gPSBpbkF2YWlsYWJpbGl0eUFyci5hdmFpbGFibGVfc2VsZWN0YWJsZV9tYXNrWzBdLnNwbGl0KFwiLFwiKTtcbiAgICBjb25zdCB1bmF2YWlsYWJsZUFycjogc3RyaW5nW10gPSBpbkF2YWlsYWJpbGl0eUFyci51bmF2YWlsYWJsZV91bnNlbGVjdGFibGVfbWFza1swXS5zcGxpdChcIixcIik7XG5cbiAgICBpblJvd3MuZm9yRWFjaChlbGVtZW50ID0+IHtcbiAgICAgICAgY29uc3Qgcm93OiBJLkxheW91dFJvdzIgPSBlbGVtZW50O1xuICAgICAgICBjb25zdCBZOiBudW1iZXIgPSBwYXJzZUludChyb3cueV9jZWxsX2Nvb3JkWzBdKSAtIDE7XG4gICAgICAgIGNvbnN0IHNlYXRzQXJyOiBzdHJpbmdbXSA9IHJvdy5zZWF0c1swXS5zcGxpdChcInxcIik7XG5cbiAgICAgICAgc2VhdHNBcnIuZm9yRWFjaChlbGVtZW50ID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHNlYXRTdHI6IHN0cmluZyA9IGVsZW1lbnQ7XG4gICAgICAgICAgICAvLyBGb3JtOlxuICAgICAgICAgICAgLy8gXCI1Njg0MjAsNTY4NDIwLDE1LDcwMjQsMTMgLDFcIlxuXG4gICAgICAgICAgICBjb25zdCBzZWF0QXJyOiBzdHJpbmdbXSA9IHNwbGl0U2VhdFN0cihzZWF0U3RyKTtcbiAgICAgICAgICAgIC8vIEZvcm06XG4gICAgICAgICAgICAvLyAwOiBcIjU2ODUyOFwiIC0+IElEXG4gICAgICAgICAgICAvLyAxOiBcIjU2ODUyOFwiIC0+IElEXG4gICAgICAgICAgICAvLyAyOiBcIjIxXCIgLT4gWC1Db29yZCBiZW51dHplblxuICAgICAgICAgICAgLy8gMzogXCI3MDI0XCIgLT4gc2VjdGlvbiBJRFxuICAgICAgICAgICAgLy8gNDogXCIxM1wiIC0+IFJlaWhlbmJlemVpY2hudW5nXG4gICAgICAgICAgICAvLyA1OiBcIjRcIiAtPiBQbGF0em51bW1lclxuXG4gICAgICAgICAgICAvLyBza2lwIGJsYWNrZWQgb3V0IHNlYXRzICAgICAgICAgICAgXG4gICAgICAgICAgICBpZiAoIWF2YWlsYWJsZUFyci5pbmNsdWRlcyhzZWF0QXJyWzBdKSAmJiAhdW5hdmFpbGFibGVBcnIuaW5jbHVkZXMoc2VhdEFyclswXSkpXG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuXG4gICAgICAgICAgICAvLyBjb25zdCBYOiBudW1iZXIgPSBwYXJzZUludChzZWF0QXJyWzVdKTtcbiAgICAgICAgICAgIGNvbnN0IFg6IG51bWJlciA9IHBhcnNlSW50KHNlYXRBcnJbMl0pIC0gMTtcbiAgICAgICAgICAgIGNvbnN0IHNlYXRzS2V5OiBzdHJpbmcgfCB1bmRlZmluZWQgPSBnZXRTZWF0c0tleShzZWF0QXJyWzBdLCBpblByaWNlc2NhbGVBcnIpO1xuXG4gICAgICAgICAgICBpZiAoc2VhdHNLZXkpXG4gICAgICAgICAgICAgICAgaW5BcnJNYXRyaXhbWV1bWF0gPSBgJHtzZWF0c0tleX1bJHtzZWF0QXJyWzBdfSwgXWA7XG5cblxuICAgICAgICAgICAgLy8gc2F2ZSBzZWF0QXJyIGluIHN0YXRlIHdpdGggc2VhdElEIGFzIGtleVxuICAgICAgICAgICAgY29uZmlnLnN0YXRlLmxheW91dFJvd3Nbc2VhdEFyclswXV0gPSBzZWF0QXJyO1xuICAgICAgICB9KTtcbiAgICB9KTtcblxuICAgIHJldHVybiBpbkFyck1hdHJpeDtcbn1cblxuZnVuY3Rpb24gY2xpY2tlZFNlYXQoaW5TZWF0bWFwOiBhbnkpIHtcbiAgICBpZiAoaW5TZWF0bWFwLnN0YXR1cygpID09ICdhdmFpbGFibGUnKSB7XG4gICAgICAgIHJldHVybiBjbGlja0F2YWlsYWJsZVNlYXQoaW5TZWF0bWFwKTtcbiAgICB9XG4gICAgZWxzZSBpZiAoaW5TZWF0bWFwLnN0YXR1cygpID09PSBcInNlbGVjdGVkXCIpIHtcbiAgICAgICAgcmV0dXJuIGNsaWNrZWRTZWxlY3RlZFNlYXQoaW5TZWF0bWFwKTtcbiAgICB9XG4gICAgZWxzZSBpZiAoaW5TZWF0bWFwLnN0YXR1cygpID09ICd1bmF2YWlsYWJsZScpIHtcbiAgICAgICAgcmV0dXJuIFwidW5hdmFpbGFibGVcIjtcbiAgICB9XG4gICAgZWxzZSB7XG4gICAgICAgIHJldHVybiBpblNlYXRtYXAuc3R5bGUoKTtcbiAgICB9XG59XG5cbmZ1bmN0aW9uIGNsaWNrQXZhaWxhYmxlU2VhdChpblNlYXRtYXA6IGFueSkge1xuICAgIGNvbnN0IHNlbGVjdGVkU2VhdDogSS5KU0NTZWxlY3RlZFNlYXQgPSBpblNlYXRtYXAuc2V0dGluZ3M7XG5cbiAgICBVdGlscy5jb25zb2xlTG9nKHNlbGVjdGVkU2VhdCk7XG5cbiAgICBpZiAoU3RhdGUubWF4aW11bVNlbGVjdGVkU2VhdHNSZWFjaGVkKHNlbGVjdGVkU2VhdCkpXG4gICAgICAgIHJldHVybiBcImF2YWlsYWJsZVwiO1xuXG4gICAgU3RhdGUuYWRkU2VhdFRvU3RhdGUoc2VsZWN0ZWRTZWF0KTtcbiAgICBDYXJ0LmNhbGNPdmVyYWxsUHJpY2UoKTtcbiAgICBDYXJ0QnV0dG9ucy5zZXRCdG5DYXJ0VGV4dCgpO1xuXG4gICAgcmV0dXJuIFwic2VsZWN0ZWRcIjtcbn1cblxuZnVuY3Rpb24gY2xpY2tlZFNlbGVjdGVkU2VhdChpblNlYXRtYXA6IGFueSkge1xuICAgIGNvbnN0IHNlbGVjdGVkU2VhdDogSS5KU0NTZWxlY3RlZFNlYXQgPSBpblNlYXRtYXAuc2V0dGluZ3M7XG4gICAgU3RhdGUucmVtb3ZlU2VhdEZyb21TdGF0ZShzZWxlY3RlZFNlYXQpO1xuICAgIENhcnQuY2FsY092ZXJhbGxQcmljZSgpO1xuICAgIENhcnRCdXR0b25zLnNldEJ0bkNhcnRUZXh0KCk7XG5cbiAgICByZXR1cm4gXCJhdmFpbGFibGVcIjtcbn0iLCJleHBvcnQgZnVuY3Rpb24gY29udmVydExlZ2VuZFRvRHJvcGRvd24oaW5JRDogc3RyaW5nKTogdm9pZCB7XG4gICAgalF1ZXJ5KCd1bC5zZWF0Q2hhcnRzLWxlZ2VuZExpc3QnKS5lYWNoKGZ1bmN0aW9uICgpIHtcbiAgICAgICAgbGV0IHNlbGVjdDogSlF1ZXJ5PEhUTUxTZWxlY3RFbGVtZW50PiA9IGpRdWVyeShkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzZWxlY3QnKSlcbiAgICAgICAgICAgIC5pbnNlcnRCZWZvcmUoXG4gICAgICAgICAgICAgICAgalF1ZXJ5KHRoaXMpLmhpZGUoKVxuICAgICAgICAgICAgKTtcblxuICAgICAgICBzZWxlY3QuYXR0cih7IGlkOiBpbklEIH0pO1xuICAgICAgICBhcHBlbmRGaXJzdExlZ2VuZE9wdGlvbihzZWxlY3QpO1xuICAgICAgICBhcHBlbmRMZWdlbmRPcHRpb25zKHRoaXMsIHNlbGVjdCk7ICAgICAgICBcbiAgICB9KTtcbn1cblxuZnVuY3Rpb24gYXBwZW5kTGVnZW5kT3B0aW9ucyhlbGVtZW50OiBIVE1MRWxlbWVudCwgaW5TZWxlY3Q6IEpRdWVyeTxIVE1MU2VsZWN0RWxlbWVudD4pIHtcbiAgICBqUXVlcnkoJz5saScsIGVsZW1lbnQpLmVhY2goZnVuY3Rpb24gKCkge1xuICAgICAgICBjb25zdCBjbGFzc05hbWU6IHN0cmluZyA9IGpRdWVyeSh0aGlzKVswXS5jaGlsZHJlblswXS5jbGFzc0xpc3RbM107XG4gICAgICAgIGNvbnN0IHZhbDogc3RyaW5nID0gY2xhc3NOYW1lLnN1YnN0cmluZygxKTtcbiAgICAgICAgY29uc3QgdGV4dDogc3RyaW5nID0gKDxIVE1MRWxlbWVudD5qUXVlcnkodGhpcylbMF0uY2hpbGRyZW5bMV0pLmlubmVyVGV4dDtcblxuICAgICAgICBhcHBlbmRMZWdlbmRPcHRpb24oaW5TZWxlY3QsIGNsYXNzTmFtZSwgdmFsLCB0ZXh0KTtcbiAgICB9KTtcbn1cblxuZnVuY3Rpb24gYXBwZW5kTGVnZW5kT3B0aW9uKGluU2VsZWN0OiBKUXVlcnk8SFRNTFNlbGVjdEVsZW1lbnQ+LCBjbGFzc05hbWU6IHN0cmluZywgdmFsOiBzdHJpbmcsIHRleHQ6IHN0cmluZyk6IHZvaWQge1xuICAgIGxldCBvcHRpb246IEpRdWVyeTxIVE1MT3B0aW9uRWxlbWVudD4gPSBqUXVlcnkoJzxvcHRpb24vPicpO1xuICAgIG9wdGlvbi5hdHRyKHsgJ3ZhbHVlJzogdmFsLCAnY2xhc3MnOiBjbGFzc05hbWUgfSkudGV4dCh0ZXh0KTtcbiAgICBpblNlbGVjdC5hcHBlbmQob3B0aW9uKTtcbn1cblxuZnVuY3Rpb24gYXBwZW5kRmlyc3RMZWdlbmRPcHRpb24oaW5TZWxlY3Q6IEpRdWVyeTxIVE1MU2VsZWN0RWxlbWVudD4pOiB2b2lkIHtcbiAgICBsZXQgb3B0aW9uOiBKUXVlcnk8SFRNTE9wdGlvbkVsZW1lbnQ+ID0galF1ZXJ5KCc8b3B0aW9uLz4nKTtcbiAgICBvcHRpb24uYXR0cih7ICd2YWx1ZSc6ICdhbGwnIH0pLnRleHQoJ0FsbGUgUHJlaXNrYXRlZ29yaWVuJyk7XG4gICAgb3B0aW9uLmNzcyhcImNvbG9yXCIsIFwiIzVjNWM1Y1wiKTtcbiAgICBpblNlbGVjdC5hcHBlbmQob3B0aW9uKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNoYW5nZURyb3Bkb3duTGVnZW5kQkdDb2xvcihpblNlbGVjdG9yOiBzdHJpbmcsIGluVmFsdWU6IHN0cmluZywgaW5DbGFzc05hbWU6IHN0cmluZyk6IHZvaWQge1xuICAgIGxldCBiZ0NvbG9yOiBzdHJpbmcgPSBcIiNmYWZhZmFcIjtcbiAgICBsZXQgY29sb3I6IHN0cmluZyA9IFwiIzVjNWM1Y1wiO1xuXG4gICAgaWYgKGluVmFsdWUgIT09IFwiYWxsXCIpIHtcbiAgICAgICAgY29sb3IgPSBcIndoaXRlXCI7XG4gICAgICAgIGJnQ29sb3IgPSBqUXVlcnkoaW5DbGFzc05hbWUpLmNzcyhcImJhY2tncm91bmQtY29sb3JcIik7XG4gICAgfVxuXG4gICAgalF1ZXJ5KGluU2VsZWN0b3IpLmNzcyhcImNvbG9yXCIsIGNvbG9yKTtcbiAgICBqUXVlcnkoaW5TZWxlY3RvcikuY3NzKFwiYmFja2dyb3VuZC1jb2xvclwiLCBiZ0NvbG9yKTtcbiAgICBqUXVlcnkoYCR7aW5TZWxlY3Rvcn0gb3B0aW9uW3ZhbHVlPVwiYWxsXCJdYCkuY3NzKFwiY29sb3JcIiwgY29sb3IpO1xufSIsImltcG9ydCBQYW56b29tIGZyb20gJ0BwYW56b29tL3Bhbnpvb20nO1xuaW1wb3J0IHsgUGFuem9vbU9iamVjdCB9IGZyb20gXCJAcGFuem9vbS9wYW56b29tL2Rpc3Qvc3JjL3R5cGVzXCI7XG5pbXBvcnQgeyBjb25maWcgfSBmcm9tIFwiLi9jb25maWdcIjtcblxuZXhwb3J0IGZ1bmN0aW9uIGFkZFBhbnpvb20oaW5TZWxlY3Rvcjogc3RyaW5nLCBpbkJ0blpvb21Jbjogc3RyaW5nIHwgdW5kZWZpbmVkID0gdW5kZWZpbmVkLCBpbkJ0blpvb21PdXQ6IHN0cmluZyB8IHVuZGVmaW5lZCA9IHVuZGVmaW5lZCwgaW5CdG5SZXNldFpvb206IHN0cmluZyB8IHVuZGVmaW5lZCA9IHVuZGVmaW5lZCk6IFBhbnpvb21PYmplY3QgfCB1bmRlZmluZWQge1xuICAgIGNvbnN0IGNvbnRhaW5lcjogSFRNTEVsZW1lbnQgPSBqUXVlcnkoaW5TZWxlY3RvcikuZ2V0KDApO1xuXG4gICAgaWYgKGNvbnRhaW5lcikge1xuICAgICAgICBjb25zdCBwYW56b29tOiBQYW56b29tT2JqZWN0ID0gUGFuem9vbShjb250YWluZXIsIHtcbiAgICAgICAgICAgIG1heFNjYWxlOiA1LFxuICAgICAgICAgICAgYW5pbWF0ZTogZmFsc2UsXG4gICAgICAgICAgICBvdmVyZmxvdzogXCJoaWRkZW5cIixcbiAgICAgICAgICAgIHN0YXJ0U2NhbGU6IFwiMC42NlwiXG4gICAgICAgIH0pO1xuXG4gICAgICAgIGFkZFBhbnpvb21FdmVudHMoaW5CdG5ab29tSW4sIGluQnRuWm9vbU91dCwgaW5CdG5SZXNldFpvb20sIGNvbnRhaW5lci5wYXJlbnRFbGVtZW50ISwgcGFuem9vbSk7XG4gICAgICAgIHJldHVybiBwYW56b29tO1xuICAgIH1cblxuICAgIHJldHVybiB1bmRlZmluZWQ7XG59XG5cbmZ1bmN0aW9uIGFkZFBhbnpvb21FdmVudHMoaW5CdG5ab29tSW46IHN0cmluZyB8IHVuZGVmaW5lZCwgaW5CdG5ab29tT3V0OiBzdHJpbmcgfCB1bmRlZmluZWQsIGluQnRuUmVzZXRab29tOiBzdHJpbmcgfCB1bmRlZmluZWQsIGNvbnRhaW5lclBhcmVudDogSFRNTEVsZW1lbnQsIHBhbnpvb206IFBhbnpvb21PYmplY3QpOiB2b2lkIHtcbiAgICBjb25zdCBldmVudE1hcHBpbmcgPSBbXG4gICAgICAgIHsgU2VsZWN0b3I6IGluQnRuWm9vbUluLCBQYW56b29tRnVuY3Rpb246IHBhbnpvb20uem9vbUluLCBUeXBlOiBcImNsaWNrXCIgfSxcbiAgICAgICAgeyBTZWxlY3RvcjogaW5CdG5ab29tT3V0LCBQYW56b29tRnVuY3Rpb246IHBhbnpvb20uem9vbU91dCwgVHlwZTogXCJjbGlja1wiIH0sXG4gICAgICAgIHsgU2VsZWN0b3I6IGluQnRuUmVzZXRab29tLCBQYW56b29tRnVuY3Rpb246IHBhbnpvb20ucmVzZXQsIFR5cGU6IFwiY2xpY2tcIiB9LFxuICAgICAgICB7IEhUTUxFbGVtZW50OiBjb250YWluZXJQYXJlbnQsIFBhbnpvb21GdW5jdGlvbjogcGFuem9vbS56b29tV2l0aFdoZWVsLCBUeXBlOiBcIndoZWVsXCIgfVxuICAgIF07XG5cbiAgICBldmVudE1hcHBpbmcubWFwKGV2ZW50ID0+IHtcbiAgICAgICAgaWYgKGV2ZW50LlNlbGVjdG9yKSB7XG4gICAgICAgICAgICBjb25zdCBidG46IEhUTUxFbGVtZW50IHwgdW5kZWZpbmVkID0galF1ZXJ5KGV2ZW50LlNlbGVjdG9yKS5nZXQoMCk7XG4gICAgICAgICAgICBpZiAoYnRuKVxuICAgICAgICAgICAgICAgIGJ0bi5hZGRFdmVudExpc3RlbmVyKGV2ZW50LlR5cGUsIGV2ZW50LlBhbnpvb21GdW5jdGlvbik7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSBpZiAoZXZlbnQuSFRNTEVsZW1lbnQpIHtcbiAgICAgICAgICAgIGlmIChldmVudC5UeXBlID09PSBcIndoZWVsXCIpXG4gICAgICAgICAgICAgICAgZXZlbnQuSFRNTEVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcihldmVudC5UeXBlLCBldmVudC5QYW56b29tRnVuY3Rpb24pO1xuICAgICAgICB9XG4gICAgfSlcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHVuYmluZFBhbnpvb21FdmVudHMoaW5TZWxlY3Rvcjogc3RyaW5nKTogdm9pZCB7XG4gICAgY29uc3QgY29udGFpbmVyOiBIVE1MRWxlbWVudCA9IGpRdWVyeShpblNlbGVjdG9yKS5nZXQoMCk7XG4gICAgY29udGFpbmVyLnBhcmVudEVsZW1lbnQ/LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ3doZWVsJywgY29uZmlnLnN0YXRlLnBhbnpvb20hLnpvb21XaXRoV2hlZWwpO1xufSIsImltcG9ydCAqIGFzIEkgZnJvbSBcIi4uL3R5cGVzL3R5cGVzXCI7XG5pbXBvcnQgeyBjb25maWcgfSBmcm9tIFwiLi9jb25maWdcIjtcbnZhciBqUXVlcnkgPSByZXF1aXJlKFwianF1ZXJ5XCIpO1xuaW1wb3J0IFV0aWxzIGZyb20gJy4vdXRpbHMnO1xuXG5leHBvcnQgZnVuY3Rpb24gZ2V0VmVudWVMb2NhdGlvbigpOiBzdHJpbmcge1xuICAgIGxldCBzcGFuQXJyOiBzdHJpbmdbXSA9IFtdO1xuICAgIGpRdWVyeShcIi52ZW51ZSBzcGFuXCIpLmVhY2goZnVuY3Rpb24gKHRoaXM6IGFueSkge1xuICAgICAgICBzcGFuQXJyLnB1c2goalF1ZXJ5KHRoaXMpLnRleHQoKSk7XG4gICAgfSk7XG5cbiAgICByZXR1cm4gc3BhbkFyci5qb2luKFwiLCBcIik7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRJbnB1dHMoaW5Db250ZW50OiBzdHJpbmcpOiBJLklucHV0cyAge1xuICAgIGNvbnN0IHBhcnNlZEhUTUw6IE5vZGVbXSA9IGpRdWVyeS5wYXJzZUhUTUwoaW5Db250ZW50KTtcbiAgICBsZXQgaW5wdXRzOiBJLklucHV0cyA9IHt9O1xuXG4gICAgalF1ZXJ5KHBhcnNlZEhUTUwpLmZpbmQoJ2lucHV0JykuZWFjaChmdW5jdGlvbiAodGhpczogYW55KSB7XG4gICAgICAgIGNvbnN0IG5hbWU6IHN0cmluZyA9IHRoaXMubmFtZTtcbiAgICAgICAgY29uc3QgdmFsdWU6IHN0cmluZyA9IHRoaXMudmFsdWU7XG5cbiAgICAgICAgaWYgKHZhbHVlICE9PSAnJylcbiAgICAgICAgICAgIGlucHV0c1tuYW1lXSA9IHZhbHVlO1xuICAgIH0pO1xuXG4gICAgcmV0dXJuIGlucHV0cztcbn1cblxuLy8gdG9kbzogY2hlY2sgd2l0aCBkaWZmZXJlbnQgdmVudWVzXG5leHBvcnQgZnVuY3Rpb24gZ2V0SW1wb3J0YW50Tm90ZSgpOiBJLkltcG9ydGFudE5vdGUgfCB1bmRlZmluZWQgIHtcbiAgICBpZiAoalF1ZXJ5KFwiLmltcG9ydGFudF9ub3RlXCIpLmxlbmd0aCkge1xuICAgICAgICBjb25zdCBpbXBvcnRhbnROb3RlOiBzdHJpbmcgfCBudWxsID0galF1ZXJ5KFwiLmltcG9ydGFudF9ub3RlXCIpWzBdLnRleHRDb250ZW50O1xuXG4gICAgICAgIGlmIChpbXBvcnRhbnROb3RlPy50cmltKCkubGVuZ3RoKSB7XG4gICAgICAgICAgICBjb25zdCBpbXBvcnRhbnROb3RlRW5jb2RlZDogc3RyaW5nID0gZW5jb2RlVVJJQ29tcG9uZW50KGltcG9ydGFudE5vdGUpO1xuICAgICAgICAgICAgcmV0dXJuIDxJLkltcG9ydGFudE5vdGU+IHtcbiAgICAgICAgICAgICAgICBcImltcG9ydGFudE5vdGVcIjogaW1wb3J0YW50Tm90ZSxcbiAgICAgICAgICAgICAgICBcImltcG9ydGFudE5vdGVFbmNvZGVkXCI6IGltcG9ydGFudE5vdGVFbmNvZGVkXG4gICAgICAgICAgICB9ICAgICAgICBcbiAgICAgICAgfVxuICAgIH0gICBcblxuICAgIHJldHVybiB1bmRlZmluZWQ7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRBZGRpdGlvbmFsSW5wdXRzKGluQ29udGVudDogc3RyaW5nKTogSS5JbnB1dHMge1xuICAgIGNvbnN0IGV2ZW50ID0gaW5Db250ZW50Lm1hdGNoKC9ldmVudDpcIiguKz8pXCIvKSFbMV07XG4gICAgY29uc3QgaG9sZGNvZGUgPSBpbkNvbnRlbnQubWF0Y2goL2hvbGRjb2RlOlwiKC4rPylcIi8pIVsxXTtcbiAgICBjb25zdCBwb3N0dXJsUmF3ID0gaW5Db250ZW50Lm1hdGNoKC9wb3N0dXJsOlwiKC4rPylcIi8pIVsxXTtcbiAgICBjb25zdCBwb3N0dXJsUmF3RGVjb2RlZCA9IGRlY29kZVVSSUNvbXBvbmVudChwb3N0dXJsUmF3KTtcbiAgICBjb25zdCBwb3N0dXJsID0gZGVjb2RlVVJJQ29tcG9uZW50KGAke3Bvc3R1cmxSYXd9JmV2ZW50PSR7ZXZlbnR9JmhvbGRjb2RlPSR7aG9sZGNvZGV9Jm5vY2FjaGU9MCZpbmNscGtnPVkmaW5jbG9mZmVyPVkmaW5jbGNhcnRkZXRhaWxzPVkmaW5jbENhcnQ9WSZpbmNsdmVudWU9WWApO1xuICAgIGNvbnN0IHZlbnVlTG9jYXRpb24gPSBnZXRWZW51ZUxvY2F0aW9uKCk7XG4gICAgY29uc3QgdGlja2V0UHVyY2hhc2VVcmwgPSBgJHtwb3N0dXJsUmF3RGVjb2RlZC5zcGxpdChcIj9cIilbMF0uc3BsaXQoJy8nKS5zbGljZSgwLC0xKS5qb2luKCcvJyl9L1RpY2tldFB1cmNoYXNlYDtcblxuICAgIHJldHVybiA8SS5JbnB1dHM+IHtcbiAgICAgICAgXCJldmVudFwiOiBldmVudCxcbiAgICAgICAgXCJob2xkY29kZVwiOiBob2xkY29kZSxcbiAgICAgICAgXCJwb3N0dXJsUmF3XCI6IHBvc3R1cmxSYXcsXG4gICAgICAgIFwicG9zdHVybFJhd0RlY29kZWRcIjogcG9zdHVybFJhd0RlY29kZWQsXG4gICAgICAgIFwicG9zdHVybFwiOiBwb3N0dXJsLFxuICAgICAgICBcInZlbnVlTG9jYXRpb25cIjogdmVudWVMb2NhdGlvbixcbiAgICAgICAgXCJ0aWNrZXRQdXJjaGFzZVVybFwiOiB0aWNrZXRQdXJjaGFzZVVybFxuICAgIH0gICAgXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRWZW51ZUltYWdlKCk6IEkuVmVudWVJbWFnZSB8IHVuZGVmaW5lZCB7XG4gICAgY29uc3QgaW1nOiBIVE1MSW1hZ2VFbGVtZW50ID0galF1ZXJ5KFwiI3N0YXRpY192ZW51ZV9tYXAgaW1nXCIpLmdldCgwKTtcblxuICAgIGlmIChpbWcpIHtcbiAgICAgICAgcmV0dXJuIDxJLlZlbnVlSW1hZ2U+IHtcbiAgICAgICAgICAgIHZlbnVlSW1hZ2VTcmM6IGltZy5zcmMsXG4gICAgICAgICAgICB2ZW51ZUltYWdlSGVpZ2h0OiBpbWcuaGVpZ2h0LFxuICAgICAgICAgICAgdmVudWVJbWFnZVdpZHRoOiBpbWcud2lkdGhcbiAgICAgICAgfVxuICAgIH1cbiAgICBcbiAgICByZXR1cm4gdW5kZWZpbmVkO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0U01BUCgpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICAgIGlmICghalF1ZXJ5KFwiI3NlYXRpbmdfbWFwX3VybFwiKS5sZW5ndGgpXG4gICAgICAgIHJldHVybiB1bmRlZmluZWQ7XG5cbiAgICBjb25zdCBzdHI6IHN0cmluZyA9IGpRdWVyeShcIiNzZWF0aW5nX21hcF91cmwgYVwiKS5hdHRyKFwib25jbGlja1wiKTtcbiAgICBjb25zdCByZSA9IC9vcGVuTmV3V2luZG93XFwoXFwnKFxcZCspXFwnLztcbiAgICBjb25zdCBmb3VuZDogUmVnRXhwTWF0Y2hBcnJheSB8IG51bGwgPSBzdHIubWF0Y2gocmUpO1xuIFxuICAgIHJldHVybiBmb3VuZCA/IGZvdW5kWzFdIDogdW5kZWZpbmVkO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0RXZlbnRJbmZvKCk6IEkuRXZlbnRJbmZvIHtcbiAgICBjb25zdCB2ZW51ZVhNTDogSS5WZW51ZVhNTCA9IGNvbmZpZy5zdGF0ZS5pblZlbnVlWE1MITtcbiAgICBjb25zdCBzZWN0aW9uQXJyOiBJLlNlY3Rpb24yW10gPSB2ZW51ZVhNTC5tYXN0ZXJfY29uZmlnWzBdLnNlY3Rpb25faW52ZW50b3J5WzBdLnNlY3Rpb247XG4gICAgY29uc3QgZXZlbnRPYmo6IEkuRXZlbnQgPSB2ZW51ZVhNTC5ldmVudFswXTtcbiAgICBjb25zdCBldmVudDogSS5FdmVudCA9IHZlbnVlWE1MLmV2ZW50WzBdO1xuICAgIGNvbnN0IHZlbnVlX2NvbmZpZzogSS5WZW51ZUNvbmZpZyA9IHZlbnVlWE1MLnZlbnVlX2NvbmZpZ1swXTtcbiAgICBjb25zdCBkYXRlT2JqOiBEYXRlID0gbmV3IERhdGUocGFyc2VJbnQoZXZlbnQueWVhclswXSksIHBhcnNlSW50KGV2ZW50Lm1vbnRoWzBdKSAtIDEsIHBhcnNlSW50KGV2ZW50LmRheVswXSksIHBhcnNlSW50KGV2ZW50LmhvdXJbMF0pLCBwYXJzZUludChldmVudC5taW51dGVbMF0pKTtcbiAgICBjb25zdCBzdGFydDogc3RyaW5nW10gPSBbZGF0ZU9iai50b0xvY2FsZVN0cmluZyhbXCJkZS1ERVwiXSwgeyB3ZWVrZGF5OiBcImxvbmdcIiwgZGF5OiBcIjItZGlnaXRcIiwgbW9udGg6IFwiMi1kaWdpdFwiLCB5ZWFyOiBcIm51bWVyaWNcIiwgaG91cjogXCIyLWRpZ2l0XCIsIG1pbnV0ZTogXCIyLWRpZ2l0XCIsIHRpbWVab25lTmFtZTogXCJzaG9ydFwiIH0pXTtcbiAgICBjb25zdCB3ZWVrZGF5OiBzdHJpbmdbXSA9IFtVdGlscy5nZXREYXlOYW1lKGRhdGVPYmosIFwiZGUtREVcIildO1xuICAgIGNvbnN0IHNlYXRzX2F2YWlsYWJsZSA9IHNlY3Rpb25BcnIubWFwKGl0ZW0gPT4gcGFyc2VJbnQoaXRlbS5hdmFpbGFibGVbMF0pKS5yZWR1Y2UoKHByZXYsIGN1cnIpID0+IHByZXYgKyBjdXJyKTtcblxuICAgIGNvbnN0IGV2ZW50RXh0ZW5kOiBJLkV2ZW50RXh0ZW5kID0ge1xuICAgICAgICB2ZW51ZV9jb25maWdfY2FwYWNpdHk6IHZlbnVlX2NvbmZpZy5jYXBhY2l0eSxcbiAgICAgICAgdmVudWVfY29uZmlnX2NvZGU6IHZlbnVlX2NvbmZpZy5jb2RlLFxuICAgICAgICB2ZW51ZV9jb25maWdfZGVzYzogdmVudWVfY29uZmlnLmRlc2MsXG4gICAgICAgIHZlbnVlX2NvbmZpZ19pZDogdmVudWVfY29uZmlnLmlkLFxuICAgICAgICB2ZW51ZV9jb25maWdfbmF2X2ltYWdlOiB2ZW51ZV9jb25maWcubmF2X2ltYWdlLFxuICAgICAgICB2ZW51ZV9jb25maWdfbmF2X2ltYWdlX2hlaWdodDogdmVudWVfY29uZmlnLm5hdl9pbWFnZV9oZWlnaHQsXG4gICAgICAgIHZlbnVlX2NvbmZpZ19uYXZfaW1hZ2Vfd2lkdGg6IHZlbnVlX2NvbmZpZy5uYXZfaW1hZ2Vfd2lkdGgsXG4gICAgICAgIHN0YXJ0OiBzdGFydCxcbiAgICAgICAgd2Vla2RheTogd2Vla2RheSxcbiAgICAgICAgc2VhdHNfYXZhaWxhYmxlOiBzZWF0c19hdmFpbGFibGUsXG4gICAgfTtcblxuICAgIHJldHVybiA8SS5FdmVudEluZm8+eyAuLi5ldmVudE9iaiwgLi4uZXZlbnRFeHRlbmQgfTtcbn0iLCJpbXBvcnQgeyBjb25maWcgfSBmcm9tIFwiLi9jb25maWdcIjtcbmltcG9ydCAqIGFzIEkgZnJvbSBcIi4uL3R5cGVzL3R5cGVzXCI7XG5pbXBvcnQgKiBhcyBYTUxIZWxwZXIgZnJvbSBcIi4veG1saGVscGVyXCI7XG5pbXBvcnQgKiBhcyBqQm94SGVscGVyIGZyb20gXCIuL2pCb3hIZWxwZXJcIjtcblxuZXhwb3J0IGZ1bmN0aW9uIGFkZFNlYXRUb1N0YXRlKGluU2VsZWN0ZWRTZWF0OiBJLkpTQ1NlbGVjdGVkU2VhdCk6IHZvaWQge1xuICAgIGFkZFNlYXRPYmpUb1N0YXRlKGluU2VsZWN0ZWRTZWF0KTtcbiAgICBjb25zdCBwcmljZXNjYWxlSUQ6IHN0cmluZyA9IGNvbmZpZy5zdGF0ZS5zZWxlY3RlZFNlYXRzT2JqW2luU2VsZWN0ZWRTZWF0LmlkXS5kYXRhLnNlYXRzT2JqLmlkWzBdO1xuICAgIGNvbnN0IHByaWNlc2NhbGVPYmo6IEkuUHJpY2VzY2FsZTUgfCB1bmRlZmluZWQgPSBYTUxIZWxwZXIuZ2V0VmVudWVQcmljZVN0cnVjdHVyZVByb3BlcnR5QnlQcmljZXNjYWxlSUQocHJpY2VzY2FsZUlEKTtcblxuICAgIGlmIChwcmljZXNjYWxlT2JqKSB7XG4gICAgICAgIGNvbnN0IGZpcnN0QnV5ZXJUeXBlSUQ6IHN0cmluZyA9IHByaWNlc2NhbGVPYmouYnV5ZXJfdHlwZVswXS5pZFswXTtcbiAgICAgICAgY29uc3QgYnV5ZXJUeXBlQ29kZTogc3RyaW5nIHwgdW5kZWZpbmVkID0gWE1MSGVscGVyLmdldEJ1eWVyVHlwZUNvZGVCeUJ1eWVyVHlwZUlEKGZpcnN0QnV5ZXJUeXBlSUQpO1xuICAgICAgICBjb25zdCBzZWxlY3RlZFNlYXRzQXJySXRlbTogKHN0cmluZyB8IHVuZGVmaW5lZClbXSA9IFtpblNlbGVjdGVkU2VhdC5pZCwgZmlyc3RCdXllclR5cGVJRCwgYnV5ZXJUeXBlQ29kZV07XG4gICAgICAgIGFkZFNlYXRzSXRlbVRvU3RhdGUoc2VsZWN0ZWRTZWF0c0Fyckl0ZW0pO1xuICAgIH1cbiAgICBlbHNlXG4gICAgICAgIGNvbnNvbGUud2FybihgQ2Fubm90IGZpbmQgY29ycmVzcG9uZGluZyB2ZW51ZVhNTCBwcmljZXNjYWxlT2JqIGZvciBwcmljZXNjYWxlIHdpdGggSUQgJHtwcmljZXNjYWxlSUR9YCk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiByZW1vdmVTZWF0RnJvbVN0YXRlKGluU2VsZWN0ZWRTZWF0OiBJLkpTQ1NlbGVjdGVkU2VhdCk6IHZvaWQge1xuICAgIGRlbGV0ZSBjb25maWcuc3RhdGUuc2VsZWN0ZWRTZWF0c09ialtpblNlbGVjdGVkU2VhdC5pZF07XG5cbiAgICBjb25zdCBpbmRleDogbnVtYmVyID0gY29uZmlnLnN0YXRlLnNlbGVjdGVkU2VhdHNBcnIuZmluZEluZGV4KGFyciA9PiBhcnJbMF0gPT09IGluU2VsZWN0ZWRTZWF0LmlkKTtcbiAgICBjb25maWcuc3RhdGUuc2VsZWN0ZWRTZWF0c0Fyci5zcGxpY2UoaW5kZXgsIDEpO1xuXG4gICAgY29uZmlnLnN0YXRlLmNhcnRDaGFuZ2VkID0gdHJ1ZTtcblxuICAgIGlmICghY29uZmlnLnN0YXRlLnNlbGVjdGVkU2VhdHNBcnIubGVuZ3RoKVxuICAgICAgICBqUXVlcnkoXCIjbW9kYWxDYXJ0LW92ZXJsYXlcIikuaGlkZSgpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gbWF4aW11bVNlbGVjdGVkU2VhdHNSZWFjaGVkKGluU2VhdE9iajogSS5KU0NTZWxlY3RlZFNlYXQpOiBib29sZWFuIHtcbiAgICBjb25zdCBzZWF0bWFwOiBhbnkgPSBjb25maWcuc3RhdGUuc2VhdG1hcDtcblxuICAgIGlmIChjb25maWcuc3RhdGUuc2VsZWN0ZWRTZWF0c0Fyci5sZW5ndGggPj0gY29uZmlnLm1heFNlbGVjdGVkU2VhdHMpIHtcbiAgICAgICAgakJveEhlbHBlci5zaG93SkJveE5vdGljZShgU2llIGvDtm5uZW4gbWF4aW1hbCAke2NvbmZpZy5tYXhTZWxlY3RlZFNlYXRzfSBQbMOkdHplIGF1c3fDpGhsZW4uYCk7XG4gICAgICAgIHNlYXRtYXAuc3RhdHVzKGluU2VhdE9iai5pZCwgXCJhdmFpbGFibGVcIik7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cblxuICAgIHJldHVybiBmYWxzZTtcbn1cblxuZnVuY3Rpb24gYWRkU2VhdHNJdGVtVG9TdGF0ZShpbkl0ZW06IChzdHJpbmcgfCB1bmRlZmluZWQpW10pOiB2b2lkIHtcbiAgICBpZiAoaW5JdGVtLmV2ZXJ5KHYgPT4gdiAhPT0gKFwiXCIgfHwgdW5kZWZpbmVkIHx8IG51bGwpKSkge1xuICAgICAgICBjb25maWcuc3RhdGUuc2VsZWN0ZWRTZWF0c0Fyci5wdXNoKDxzdHJpbmdbXT5pbkl0ZW0pO1xuICAgICAgICBjb25maWcuc3RhdGUuY2FydENoYW5nZWQgPSB0cnVlO1xuICAgIH1cbn1cblxuZnVuY3Rpb24gYWRkU2VhdE9ialRvU3RhdGUoaW5TZWxlY3RlZFNlYXQ6IEkuSlNDU2VsZWN0ZWRTZWF0KTogdm9pZCB7XG4gICAgY29uc3Qgc2VhdElEOiBzdHJpbmcgPSBpblNlbGVjdGVkU2VhdC5pZDtcbiAgICBjb25zdCBzZWF0T2JqOiBJLlN0YXRlSlNDU2VsZWN0ZWRTZWF0cyA9IHtcbiAgICAgICAgW3NlYXRJRF06IGluU2VsZWN0ZWRTZWF0XG4gICAgfVxuXG4gICAgY29uZmlnLnN0YXRlLnNlbGVjdGVkU2VhdHNPYmogPSB7IC4uLmNvbmZpZy5zdGF0ZS5zZWxlY3RlZFNlYXRzT2JqLCAuLi5zZWF0T2JqIH1cbn0iLCJpbXBvcnQgeyBjb25maWcgfSBmcm9tIFwiLi9jb25maWdcIjtcbmltcG9ydCAqIGFzIEkgZnJvbSBcIi4uL3R5cGVzL3R5cGVzXCI7XG5cbmV4cG9ydCBmdW5jdGlvbiBhZGRUcmltcygpOiB2b2lkIHtcbiAgICBjb25zdCBzZWF0bWFwWE1MOiBhbnkgPSBjb25maWcuc3RhdGUuc2VhdG1hcFhNTDtcbiAgICBjb25zdCB0cmltQXJyOiBJLlRyaW1bXSA9IHNlYXRtYXBYTUwuc2VhdG1hcFswXS50cmltc1swXS50cmltO1xuXG4gICAgdHJpbUFyci5mb3JFYWNoKGFyciA9PiB7XG4gICAgICAgIGNvbnN0IFt4VHJpbSwgeVRyaW1dID0gYXJyLmNvb3JkWzBdLnNwbGl0KFwiLFwiKS5tYXAoTnVtYmVyKTtcbiAgICAgICAgY29uc3QgdGV4dEFycjogc3RyaW5nW10gPSBhcnIudGV4dFswXS5zcGxpdChcIjtcIikuZmlsdGVyKEJvb2xlYW4pO1xuICAgICAgICBjb25zdCB4OiBudW1iZXIgPSB4VHJpbSAvIDIwO1xuICAgICAgICBjb25zdCB5OiBudW1iZXIgPSBNYXRoLnJvdW5kKHlUcmltIC8gMjEuMjUpOyAgICAgICAgXG5cbiAgICAgICAgZGVjb2RlVHJpbSh0ZXh0QXJyLCB4LCB5KTtcbiAgICB9KTtcbn1cblxuZnVuY3Rpb24gZGVjb2RlVHJpbSh0ZXh0QXJyOiBzdHJpbmdbXSwgeDogbnVtYmVyLCB5OiBudW1iZXIpOiB2b2lkIHtcbiAgICBjb25zdCBzcGVjaWFsQ2hhcjogTWFwPHN0cmluZywgc3RyaW5nPiA9IG5ldyBNYXAoW1xuICAgICAgICBbXCImI3g4ZVwiLCBcIsOEXCJdLFxuICAgICAgICBbXCImI3g5OVwiLCBcIsOWXCJdLFxuICAgICAgICBbXCImI3g5YVwiLCBcIsOcXCJdLFxuICAgICAgICBbXCImI3g4NFwiLCBcIsOkXCJdLFxuICAgICAgICBbXCImI3g5NFwiLCBcIsO2XCJdLFxuICAgICAgICBbXCImI3g4MVwiLCBcIsO8XCJdLFxuICAgICAgICBbXCImI3hlMVwiLCBcIsOfXCJdXG4gICAgXSk7XG5cbiAgICB0ZXh0QXJyLm1hcCgoZWxlbWVudCwgaW5kZXgpID0+IHtcbiAgICAgICAgY29uc3QgY2hhcmFjdGVyOiBzdHJpbmcgfCB1bmRlZmluZWQgPSBzcGVjaWFsQ2hhci5oYXMoZWxlbWVudCkgPyBzcGVjaWFsQ2hhci5nZXQoZWxlbWVudCkgOiBkZWNvZGVOb3JtYWxUcmltKGVsZW1lbnQpO1xuXG4gICAgICAgIGlmIChjaGFyYWN0ZXIpIHtcbiAgICAgICAgICAgIGNvbnN0IHRyaW1Qb3M6IEkuVHJpbVBvcyA9IGdldEpTQ1RyaW1Qb3MoeCwgeSwgaW5kZXgpO1xuICAgICAgICAgICAgYXBwbHlUcmltKGNoYXJhY3RlciwgdHJpbVBvcyk7XG4gICAgICAgIH0gICAgICAgICAgICBcbiAgICB9KTtcbn1cblxuZnVuY3Rpb24gZGVjb2RlTm9ybWFsVHJpbShlbGVtZW50OiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIGNvbnN0IGNoYXJDb2RlOiBzdHJpbmcgPSBlbGVtZW50LnJlcGxhY2UoL15cXCZcXCMvLCBcIjBcIik7XG4gICAgcmV0dXJuIFN0cmluZy5mcm9tQ2hhckNvZGUocGFyc2VJbnQoY2hhckNvZGUsIDE2KSk7XG59XG5cbmZ1bmN0aW9uIGFwcGx5VHJpbShpbkNoYXJhY3Rlcjogc3RyaW5nLCBpblRyaW1Qb3M6IEkuVHJpbVBvcyk6IHZvaWQge1xuICAgIGNvbnN0IHJlZ2V4OiBSZWdFeHAgPSAvW15hLXpBLVowLTnDpMO2w7zDhMOWw5zDnyRdLztcbiAgICBcbiAgICBpZiAoIXJlZ2V4LnRlc3QoaW5DaGFyYWN0ZXIpKVxuICAgICAgICBqUXVlcnkoXCIuc2VhdENoYXJ0cy1yb3dcIilbaW5UcmltUG9zLnlKU0NdLmNoaWxkcmVuW2luVHJpbVBvcy54SlNDXS5pbm5lckhUTUwgPSBgPHNwYW4gY2xhc3M9XCJ0cmltQ2hhclwiPiR7aW5DaGFyYWN0ZXJ9PC9zcGFuPmBcbn1cblxuZnVuY3Rpb24gZ2V0SlNDVHJpbVBvcyhpblg6IG51bWJlciwgaW5ZOiBudW1iZXIsIGluZGV4OiBudW1iZXIpOiBJLlRyaW1Qb3Mge1xuICAgIHJldHVybiA8SS5UcmltUG9zPiB7XG4gICAgICAgIHg6IGluWCxcbiAgICAgICAgeTogaW5ZLFxuICAgICAgICB4SlNDOiAoaW5YIC0gMSkgKyBpbmRleCxcbiAgICAgICAgeUpTQzogaW5ZIC0gMVxuICAgIH1cbn0iLCJpbXBvcnQgKiBhcyBJIGZyb20gXCIuLi90eXBlcy90eXBlc1wiO1xuaW1wb3J0ICogYXMgQ29tbXVuaWNhdGlvbiBmcm9tIFwiLi9jb21tdW5pY2F0aW9uXCI7XG5pbXBvcnQgeyBjb25maWcgfSBmcm9tIFwiLi9jb25maWdcIjtcbmltcG9ydCAqIGFzIEV2ZW50cyBmcm9tIFwiLi9ldmVudHNcIjtcbmltcG9ydCAqIGFzIFBhbnpvb20gZnJvbSBcIi4vcGFuem9vbVwiO1xuaW1wb3J0ICogYXMgQ2FydEJ1dHRvbnMgZnJvbSBcIi4vY2FydEJ1dHRvbnNcIjtcbmltcG9ydCBVdGlscyBmcm9tIFwiLi91dGlsc1wiO1xuXG5leHBvcnQgZnVuY3Rpb24gc2V0T3B0aW9uU2VsZWN0KGluU2VhdG1hcExpc3Rpbmc6IEkuU2VhdG1hcFtdLCBpbklkOiBzdHJpbmcpOiB2b2lkIHtcbiAgICBjb25zdCBzZWF0bWFwRHJvcGRvd246IEhUTUxFbGVtZW50IHwgbnVsbCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGluSWQpO1xuXG4gICAgaWYgKHNlYXRtYXBEcm9wZG93bikge1xuICAgICAgICBmb3IgKGxldCBzZWF0bWFwT2JqIG9mIGluU2VhdG1hcExpc3RpbmcpIHtcbiAgICAgICAgICAgIHZhciBvcHQ6IEhUTUxPcHRpb25FbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnb3B0aW9uJyk7XG4gICAgICAgICAgICBvcHQudmFsdWUgPSBzZWF0bWFwT2JqLmlkWzBdO1xuICAgICAgICAgICAgb3B0LmlubmVySFRNTCA9IHNlYXRtYXBPYmouZGVzY1swXTtcbiAgICAgICAgICAgIHNlYXRtYXBEcm9wZG93bi5hcHBlbmRDaGlsZChvcHQpO1xuICAgICAgICB9XG4gICAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gc2V0RXZlbnRJbmZvKGluRXZlbnRJbmZvOiBJLkV2ZW50SW5mbyk6IHZvaWQge1xuICAgIGNvbnN0IGlucHV0c1dpdGhWYWx1ZSA9IGNvbmZpZy5zdGF0ZS5pbnB1dHNXaXRoVmFsdWUhO1xuXG4gICAgalF1ZXJ5KFwiI2V2ZW50SW5mb0Rlc2Mgc3Bhbi5mbC1oZWFkaW5nLXRleHRcIilbMF0uY2hpbGROb2Rlc1swXS50ZXh0Q29udGVudCA9IGluRXZlbnRJbmZvLmRlc2NbMF07XG4gICAgalF1ZXJ5KFwiI2V2ZW50SW5mb0RhdGUgcFwiKVswXS5jaGlsZE5vZGVzWzBdLnRleHRDb250ZW50ID0gaW5FdmVudEluZm8uc3RhcnRbMF07XG4gICAgalF1ZXJ5KFwiI2V2ZW50SW5mb0xvY2F0aW9uIHBcIilbMF0uY2hpbGROb2Rlc1swXS50ZXh0Q29udGVudCA9IGlucHV0c1dpdGhWYWx1ZS52ZW51ZUxvY2F0aW9uO1xuICAgIGpRdWVyeShcIiNldmVudEluZm9DYXBhY2l0eSBwXCIpWzBdLmNoaWxkTm9kZXNbMF0udGV4dENvbnRlbnQgPSBgVmVyZsO8Z2JhcmUgUGzDpHR6ZTogJHtpbkV2ZW50SW5mby5zZWF0c19hdmFpbGFibGV9IHZvbiAke2luRXZlbnRJbmZvLnZlbnVlX2NvbmZpZ19jYXBhY2l0eVswXX1gO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlRGlhbG9nKCk6IHZvaWQge1xuICAgIGNvbnN0IGlmcmFtZUhUTUw6IHN0cmluZyA9IFwiPGlmcmFtZSBpZD0naWZyYW1lU2VhdG1hcCcgc2Nyb2xsaW5nPSdubycgZnJhbWVib3JkZXI9JzAnIG1hcmdpbndpZHRoPScwJyBtYXJnaW5oZWlnaHQ9JzAnIGFsbG93ZnVsbHNjcmVlbiB3aWR0aD0nMTAwJScgLz5cIjtcbiAgICBjb25zdCBzcmM6IHN0cmluZyA9IFV0aWxzLmdldENvbmZpZ1ZhbHVlKFwic2VhdG1hcFwiKTtcblxuICAgIGpRdWVyeShcIiNkaWFsb2dTZWF0bWFwXCIpLmFwcGVuZChcbiAgICAgICAgalF1ZXJ5KGlmcmFtZUhUTUwpXG4gICAgICAgICAgICAuYXR0cihcInNyY1wiLCBzcmMpKVxuICAgICAgICAuZGlhbG9nKHtcbiAgICAgICAgICAgIG1vZGFsOiB0cnVlLFxuICAgICAgICAgICAgYXV0b09wZW46IGZhbHNlLFxuICAgICAgICAgICAgY2xvc2VPbkVzY2FwZTogdHJ1ZSxcbiAgICAgICAgICAgIGRyYWdnYWJsZTogZmFsc2UsXG4gICAgICAgICAgICBoaWRlOiB0cnVlLFxuICAgICAgICAgICAgc2hvdzogdHJ1ZSxcbiAgICAgICAgICAgIHJlc2l6YWJsZTogZmFsc2UsXG4gICAgICAgICAgICB0aXRsZTogXCJcIixcbiAgICAgICAgICAgIHdpZHRoOiBcIjEwMCVcIixcbiAgICAgICAgICAgIGhlaWdodDogXCJhdXRvXCIsXG4gICAgICAgICAgICBjbG9zZTogKCkgPT4galF1ZXJ5KFwiaHRtbCwgYm9keVwiKS5jc3MoXCJvdmVyZmxvd1wiLCBcImF1dG9cIiksXG4gICAgICAgIH0pO1xuXG4gICAgRXZlbnRzLmFkZE9wZW5TZWF0bWFwKCk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBkZXN0cm95Q3VycmVudFNlYXRtYXAoaW5TZWxlY3Rvcjogc3RyaW5nKTogdm9pZCB7XG4gICAgaWYgKGNvbmZpZy5zdGF0ZS5wYW56b29tKVxuICAgICAgICBQYW56b29tLnVuYmluZFBhbnpvb21FdmVudHMoaW5TZWxlY3Rvcik7XG5cbiAgICBqUXVlcnkoXCIjY29udGFpbmVyU2VhdG1hcElubmVyXCIpLnJlbW92ZSgpO1xuICAgIGpRdWVyeShcIiNodG1sU2VhdG1hcElubmVyIC5mbC1odG1sXCIpLnJlbW92ZUF0dHIoXCJzdHlsZVwiKTtcbiAgICBqUXVlcnkoXCIjaHRtbFNlYXRtYXBJbm5lciAuZmwtaHRtbFwiKS5hcHBlbmQoJzxkaXYgaWQ9XCJjb250YWluZXJTZWF0bWFwSW5uZXJcIj48L2Rpdj4nKTtcbiAgICBqUXVlcnkoXCIjSlNDTGVnZW5kSW5uZXJcIikucmVtb3ZlKCk7XG4gICAgalF1ZXJ5KFwiI0pTQ0xlZ2VuZCAuZmwtaHRtbFwiKS5hcHBlbmQoJzxkaXYgaWQ9XCJKU0NMZWdlbmRJbm5lclwiPjwvZGl2PicpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gY29udHJvbExvZnRsb2FkZXIoaW5Td2l0Y2g6IHN0cmluZykge1xuICAgIGlmIChpblN3aXRjaCA9PT0gXCJzaG93XCIpXG4gICAgICAgIGpRdWVyeShcImJvZHlcIikucmVtb3ZlQ2xhc3MoXCJsb2FkZWQgbG9mdGxvYWRlci1sb2FkZWRcIik7XG4gICAgZWxzZSBpZiAoaW5Td2l0Y2ggPT09IFwiaGlkZVwiKVxuICAgICAgICBqUXVlcnkoXCJib2R5XCIpLmFkZENsYXNzKFwibG9hZGVkIGxvZnRsb2FkZXItbG9hZGVkXCIpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gY2hhbmdlVmVudWVJbWFnZSgpOiB2b2lkIHtcbiAgICBjb25zdCBpbnB1dHNXaXRoVmFsdWU6IEkuSW5wdXRzV2l0aFZhbHVlID0gY29uZmlnLnN0YXRlLmlucHV0c1dpdGhWYWx1ZSE7XG5cbiAgICBpZiAoaW5wdXRzV2l0aFZhbHVlLnZlbnVlSW1hZ2VTcmMgIT09IHVuZGVmaW5lZClcbiAgICAgICAgalF1ZXJ5KFwiI3ZlbnVlSW1hZ2UgaW1nXCIpLmF0dHIoXCJzcmNcIiwgaW5wdXRzV2l0aFZhbHVlLnZlbnVlSW1hZ2VTcmMpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZmFkZUluQ2FydE1vZGFsKCk6IHZvaWQge1xuICAgIGpRdWVyeShcIiNtb2RhbENhcnQtb3ZlcmxheVwiKS5mYWRlSW4oMzAwKTtcbiAgICBDb21tdW5pY2F0aW9uLnNlbmRFdmVudFRvUGFyZW50KFwiY2hpbGRfaGlkZV9kaWFsb2dfdGl0bGViYXJcIik7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZW5lcmF0ZVByaWNlc2NhbGVDU1MoKTogc3RyaW5nIHtcbiAgICBjb25zdCB2ZW51ZVhNTDogSS5WZW51ZVhNTCA9IGNvbmZpZy5zdGF0ZS5pblZlbnVlWE1MITtcbiAgICBjb25zdCB2ZW51ZVByaWNlc2NhbGVzQXJyOiBJLlByaWNlc2NhbGUyW10gPSB2ZW51ZVhNTC52ZW51ZVswXS5wcmljZXNjYWxlc1swXS5wcmljZXNjYWxlO1xuXG4gICAgcmV0dXJuIHZlbnVlUHJpY2VzY2FsZXNBcnIubWFwKGFyciA9PiB7XG4gICAgICAgIGNvbnN0IElEOiBzdHJpbmcgPSBhcnIuaWRbMF07XG4gICAgICAgIGxldCBjb2xvcjogc3RyaW5nID0gYCMke2Fyci5jb2xvclswXX0gIWltcG9ydGFudGA7ICAvLyBVcGRhdGU6IENvbG9ycyBhcmUgYWx3YXlzIGRlZmluZWQ6IGZhbGxiYWNrIGNvbG9ycyBleGlzdCBpbiBzeXN0ZW0gc28gZXZlcnkgWE1MIHByb3ZpZGVzIHRoZW1cbiAgICAgICAgcmV0dXJuIGAuXyR7SUR9IHsgYmFja2dyb3VuZC1jb2xvcjogJHtjb2xvcn07IH1gO1xuICAgIH0pLmpvaW4oXCJcXHJcXG5cIik7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBhZGp1c3RVSVRvTG9hZGluZygpOiB2b2lkIHtcbiAgICBDYXJ0QnV0dG9ucy5zaG93SGlkZUJ0bkNhcnRMb2FkaW5nKFwic2hvd1wiKTtcbiAgICBqUXVlcnkoXCIjbW9kYWxDYXJ0IGlcIikuaGlkZSgpO1xuICAgIGpRdWVyeShcIiNtb2RhbENhcnQgLnVhYmItYnV0dG9uLXRleHRcIikuYWRkQ2xhc3MoXCJkb3QtcHVsc2VcIik7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBhcHBlbmRWZXJzaW9uKCk6IHZvaWQge1xuICAgIGpRdWVyeShcIiNib3R0b21IVE1MVmVyc2lvblwiKVswXS5pbm5lclRleHQgPSBjb25maWcudmVyc2lvbjtcbiAgICBqUXVlcnkoXCIjYm90dG9tSFRNTEJyYW5jaFwiKVswXS5pbm5lclRleHQgPSBgKCR7Y29uZmlnLmJyYW5jaH0pYDtcbn0iLCJpbXBvcnQgKiBhcyBJIGZyb20gXCIuLi90eXBlcy90eXBlc1wiO1xuaW1wb3J0IHsgY29uZmlnIH0gZnJvbSBcIi4vY29uZmlnXCI7XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIFV0aWxzIHtcblxuICAgIHN0YXRpYyB3YWl0Rm9yRWxlbWVudChpblNlbGVjdG9yOiBzdHJpbmcgfCBDYWxsYWJsZUZ1bmN0aW9uLCBpbkNhbGxiYWNrOiBGdW5jdGlvbiwgaW5Td2l0Y2g6IEkuVHlwZVdhaXRGb3JFbGVtZW50U3dpdGNoID0gXCJzZWxlY3RvclwiLCBpbkNoZWNrSW50ZXJ2YWxJbk1zOiBudW1iZXIgPSAxMDAwLCBpblRpbWVvdXRJbk1zOiBudW1iZXIgPSAxMDAwMCk6IHZvaWQge1xuICAgICAgICBjb25zdCBzdGFydFRpbWVJbk1zOiBudW1iZXIgPSBEYXRlLm5vdygpO1xuXG4gICAgICAgIChmdW5jdGlvbiBsb29wU2VhcmNoKCk6IHZvaWQge1xuICAgICAgICAgICAgY29uc3QgZWxlbWVudDogYm9vbGVhbiB8IEhUTUxFbGVtZW50ID0gaW5Td2l0Y2ggPT09IFwic2VsZWN0b3JcIiA/IGpRdWVyeSg8c3RyaW5nPmluU2VsZWN0b3IpLmdldCgwKSA6IFV0aWxzLmdldFNlYXRtYXBFbGVtZW50KCk7XG5cbiAgICAgICAgICAgIGlmIChlbGVtZW50KSB7XG4gICAgICAgICAgICAgICAgVXRpbHMuY29uc29sZUxvZyhcInJlYWR5XCIpO1xuICAgICAgICAgICAgICAgIGluQ2FsbGJhY2soKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgIFV0aWxzLmNvbnNvbGVMb2coYFJlcGVhdGluZyBmb3IgJHtpblN3aXRjaH1gKTtcbiAgICAgICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKGluVGltZW91dEluTXMgJiYgRGF0ZS5ub3coKSAtIHN0YXJ0VGltZUluTXMgPiBpblRpbWVvdXRJbk1zKVxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xuXG4gICAgICAgICAgICAgICAgICAgIGxvb3BTZWFyY2goKTtcbiAgICAgICAgICAgICAgICB9LCBpbkNoZWNrSW50ZXJ2YWxJbk1zKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSkoKTtcbiAgICB9XG5cbiAgICBzdGF0aWMgZ2V0U2VhdG1hcEVsZW1lbnQoKTogYm9vbGVhbiB7XG4gICAgICAgIGNvbnN0IHNlYXRDaGFydHM6IENhbGxhYmxlRnVuY3Rpb24gPSAoPGFueT53aW5kb3cpLmpRdWVyeShcIiNjb250YWluZXJTZWF0bWFwXCIpLnNlYXRDaGFydHM7XG4gICAgICAgIHJldHVybiBVdGlscy5pc0Z1bmN0aW9uKHNlYXRDaGFydHMpO1xuICAgIH1cblxuICAgIHN0YXRpYyB3YWl0Rm9yU2VhdG1hcChpbkNhbGxiYWNrOiBGdW5jdGlvbik6IHZvaWQge1xuICAgICAgICBjb25zdCBzZWF0Q2hhcnRzOiBDYWxsYWJsZUZ1bmN0aW9uID0gKDxhbnk+d2luZG93KS5qUXVlcnkoXCIjY29udGFpbmVyU2VhdG1hcFwiKS5zZWF0Q2hhcnRzO1xuICAgICAgICB0aGlzLndhaXRGb3JFbGVtZW50KHNlYXRDaGFydHMsIGluQ2FsbGJhY2ssIFwic2VhdG1hcFwiKTtcbiAgICB9XG5cbiAgICBzdGF0aWMgcXVlcnlTZWxlY3RvcihzZWxlY3Rvcjogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgICAgIGlmIChkb2N1bWVudC5xdWVyeVNlbGVjdG9yKHNlbGVjdG9yKSAhPSBudWxsKVxuICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgIGVsc2VcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG5cbiAgICBzdGF0aWMgaXNGdW5jdGlvbihpblNlbGVjdG9yOiBDYWxsYWJsZUZ1bmN0aW9uKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0eXBlb2YgaW5TZWxlY3RvciA9PT0gXCJmdW5jdGlvblwiID8gdHJ1ZSA6IGZhbHNlO1xuICAgIH1cblxuICAgIHN0YXRpYyBpbmplY3QoaW5Db250ZW50OiBzdHJpbmcsIGluVHlwZTogc3RyaW5nID0gXCJqc1wiLCBpbkxvYzogc3RyaW5nID0gXCJoZWFkXCIpOiB2b2lkIHtcbiAgICAgICAgdmFyIHNjcmlwdDogSS5UeXBlSW5qZWN0U2NyaXB0IHwgdW5kZWZpbmVkO1xuXG4gICAgICAgIHN3aXRjaCAoaW5UeXBlKSB7XG4gICAgICAgICAgICBjYXNlIFwianNcIjpcbiAgICAgICAgICAgICAgICBzY3JpcHQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzY3JpcHQnKTtcbiAgICAgICAgICAgICAgICBzY3JpcHQudHlwZSA9ICd0ZXh0L2phdmFzY3JpcHQnO1xuICAgICAgICAgICAgICAgIHNjcmlwdC5zcmMgPSBpbkNvbnRlbnQ7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG5cbiAgICAgICAgICAgIGNhc2UgXCJjc3NcIjpcbiAgICAgICAgICAgICAgICBzY3JpcHQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdsaW5rJyk7XG4gICAgICAgICAgICAgICAgc2NyaXB0LnR5cGUgPSAndGV4dC9jc3MnO1xuICAgICAgICAgICAgICAgICg8SFRNTExpbmtFbGVtZW50PnNjcmlwdCkucmVsID0gXCJzdHlsZXNoZWV0XCI7XG4gICAgICAgICAgICAgICAgKDxIVE1MTGlua0VsZW1lbnQ+c2NyaXB0KS5ocmVmID0gaW5Db250ZW50O1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuXG4gICAgICAgICAgICBjYXNlIFwiY3NzQ3VzdG9tXCI6XG4gICAgICAgICAgICAgICAgc2NyaXB0ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc3R5bGUnKTtcbiAgICAgICAgICAgICAgICBzY3JpcHQudHlwZSA9ICd0ZXh0L2Nzcyc7XG4gICAgICAgICAgICAgICAgc2NyaXB0LmlubmVySFRNTCA9IGluQ29udGVudDtcbiAgICAgICAgICAgICAgICBicmVhaztcblxuICAgICAgICAgICAgY2FzZSBcInNjcmlwdFwiOlxuICAgICAgICAgICAgICAgIHNjcmlwdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3NjcmlwdCcpO1xuICAgICAgICAgICAgICAgIHNjcmlwdC50eXBlID0gJ3RleHQvamF2YXNjcmlwdCc7XG4gICAgICAgICAgICAgICAgc2NyaXB0LmlubmVySFRNTCA9IGluQ29udGVudDtcbiAgICAgICAgICAgICAgICBicmVhaztcblxuICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICBzY3JpcHQgPSB1bmRlZmluZWQ7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoc2NyaXB0KVxuICAgICAgICAgICAgVXRpbHMuYXBwZW5kU2NyaXB0KHNjcmlwdCwgaW5Mb2MpO1xuICAgIH1cblxuICAgIHN0YXRpYyBhcHBlbmRTY3JpcHQoaW5TY3JpcHQ6IEkuVHlwZUluamVjdFNjcmlwdCwgaW5Mb2M6IHN0cmluZyk6IHZvaWQge1xuICAgICAgICBpZiAoaW5Mb2MgPT09IFwiYm9keVwiKVxuICAgICAgICAgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChpblNjcmlwdCk7XG4gICAgICAgIGVsc2UgaWYgKGluTG9jID09PSBcImhlYWRcIilcbiAgICAgICAgICAgIGRvY3VtZW50LmhlYWQuYXBwZW5kQ2hpbGQoaW5TY3JpcHQpO1xuICAgIH1cblxuICAgIHN0YXRpYyBnZXREYXlOYW1lKGluRGF0ZTogRGF0ZSwgaW5Mb2NhbGU6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiBpbkRhdGUudG9Mb2NhbGVEYXRlU3RyaW5nKGluTG9jYWxlLCB7IHdlZWtkYXk6ICdsb25nJyB9KTtcbiAgICB9XG5cbiAgICBzdGF0aWMgY29uc29sZUxvZyhpbk1lc3NhZ2U6IGFueSkge1xuICAgICAgICBpZiAocHJvY2Vzcy5lbnZbXCJOT0RFX0VOVlwiXSA9PT0gXCJkZXZlbG9wbWVudFwiKVxuICAgICAgICAgICAgY29uc29sZS5sb2coaW5NZXNzYWdlKTtcbiAgICB9XG5cbiAgICBzdGF0aWMgZ2V0Q29uZmlnVmFsdWUoaW5Qcm9wZXJ0eTogSS5UeXBlQ29uZmlnUmVzb3VyY2VzUHJvcGVydHkpOiBzdHJpbmcge1xuICAgICAgICBjb25zdCBicmFuY2g6IEkuVHlwZUNvbmZpZ0JyYW5jaCA9IGNvbmZpZy5icmFuY2g7XG4gICAgICAgIGNvbnN0IHJlc291cmNlcyA9IGNvbmZpZy5yZXNvdXJjZXNbYnJhbmNoXTtcbiAgICAgICAgcmV0dXJuIHJlc291cmNlc1tpblByb3BlcnR5XTtcbiAgICB9XG59IiwiXG5pbXBvcnQgKiBhcyBJIGZyb20gXCIuLi90eXBlcy90eXBlc1wiO1xuaW1wb3J0IHsgY29uZmlnIH0gZnJvbSBcIi4vY29uZmlnXCI7XG5cbmV4cG9ydCBmdW5jdGlvbiBwcm9jZXNzU01BUCgpOiB2b2lkIHtcbiAgICBjb25zdCBpbnB1dHNXaXRoVmFsdWUgPSBjb25maWcuc3RhdGUuaW5wdXRzV2l0aFZhbHVlITtcblxuICAgIGlmICghaW5wdXRzV2l0aFZhbHVlLnNtYXApXG4gICAgICAgIHJldHVybjtcblxuICAgIGNvbnN0IHNtYXBBcnI6IG51bWJlcltdID0gaW5wdXRzV2l0aFZhbHVlLnNtYXAuc3BsaXQoXCJcIikubWFwKE51bWJlcik7XG5cbiAgICBpZiAoIXNtYXBBcnJbMF0pXG4gICAgICAgIGpRdWVyeShcIiNldmVudEluZm9DYXBhY2l0eVwiKS5oaWRlKCk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRTZWN0aW9uRGVzY0J5U2VjdGlvbklEKGluU2VjdGlvbklEOiBzdHJpbmcpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICAgIGNvbnN0IHZlbnVlWE1MOiBJLlZlbnVlWE1MID0gY29uZmlnLnN0YXRlLmluVmVudWVYTUwhO1xuICAgIGNvbnN0IHNlY3Rpb25BcnI6IEkuU2VjdGlvbltdID0gdmVudWVYTUwubWFzdGVyX2NvbmZpZ1swXS5zZWN0aW9uX2NvbmZpZ1swXS5zZWN0aW9uO1xuXG4gICAgcmV0dXJuIHNlY3Rpb25BcnIuZmluZChhcnIgPT4gaW5TZWN0aW9uSUQgPT09IGFyci5pZFswXSk/LmRlc2NbMF07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRWZW51ZVByaWNlc2NhbGVQcm9wZXJ0eUJ5UHJpY2VzY2FsZUlEKGluUHJvcGVydHk6IEkuUHJpY2VzY2FsZTJQcm9wZXJ0aWVzLCBpblByaWNlc2NhbGVJRDogc3RyaW5nKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgICBjb25zdCB2ZW51ZVhNTDogSS5WZW51ZVhNTCA9IGNvbmZpZy5zdGF0ZS5pblZlbnVlWE1MITtcbiAgICBjb25zdCB2ZW51ZVByaWNlc2NhbGVBcnI6IEkuUHJpY2VzY2FsZTJbXSA9IHZlbnVlWE1MLnZlbnVlWzBdLnByaWNlc2NhbGVzWzBdLnByaWNlc2NhbGU7XG5cbiAgICByZXR1cm4gdmVudWVQcmljZXNjYWxlQXJyLmZpbmQob2JqID0+IG9iai5pZFswXSA9PT0gaW5QcmljZXNjYWxlSUQgPyBvYmogOiB1bmRlZmluZWQpPy5baW5Qcm9wZXJ0eV1bMF07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRCdXllclR5cGVDb2RlQnlCdXllclR5cGVJRChpbkJ1eWVyVHlwZUlEOiBzdHJpbmcpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICAgIGNvbnN0IHZlbnVlWE1MOiBJLlZlbnVlWE1MID0gY29uZmlnLnN0YXRlLmluVmVudWVYTUwhO1xuICAgIGNvbnN0IHZlbnVlQnV5ZXJUeXBlQXJyOiBJLkJ1eWVyVHlwZTJbXSA9IHZlbnVlWE1MLnZlbnVlWzBdLmJ1eWVyX3R5cGVzWzBdLmJ1eWVyX3R5cGU7XG5cbiAgICByZXR1cm4gdmVudWVCdXllclR5cGVBcnIuZmluZChhcnIgPT4gaW5CdXllclR5cGVJRCA9PT0gYXJyLmlkWzBdKT8uY29kZVswXTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldFByaWNlQnlCdXllclR5cGVJRChpbkJ1eWVydHlwZUlEOiBzdHJpbmcsIGluUHJpY2VzY2FsZU9iajogSS5QcmljZXNjYWxlNSk6IG51bWJlciB8IHVuZGVmaW5lZCB7XG4gICAgY29uc3QgcHJpY2UgPSBpblByaWNlc2NhbGVPYmo/LmJ1eWVyX3R5cGUuZmluZChhcnIgPT4gYXJyLmlkWzBdID09PSBpbkJ1eWVydHlwZUlEKT8ucHJpY2VbMF07XG4gICAgcmV0dXJuIHByaWNlID8gcGFyc2VGbG9hdChwcmljZSkgOiB1bmRlZmluZWQ7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRWZW51ZVByaWNlU3RydWN0dXJlUHJvcGVydHlCeVByaWNlc2NhbGVJRChpbklEOiBzdHJpbmcpOiBJLlByaWNlc2NhbGU1IHwgdW5kZWZpbmVkIHtcbiAgICBjb25zdCB2ZW51ZVhNTDogSS5WZW51ZVhNTCA9IGNvbmZpZy5zdGF0ZS5pblZlbnVlWE1MITtcbiAgICBjb25zdCB2ZW51ZVByaWNlc2NhbGVBcnI6IEkuUHJpY2VzY2FsZTVbXSA9IHZlbnVlWE1MLnByaWNlX3N0cnVjdHVyZVswXS5wcmljZXNjYWxlO1xuICAgIHJldHVybiB2ZW51ZVByaWNlc2NhbGVBcnIuZmluZChvYmogPT4gb2JqLmlkWzBdID09PSBpbklEKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldEJ1eWVyVHlwZXNCeVByaWNlc2NhbGVJRChpblByaWNlc2NhbGVJRDogc3RyaW5nKTogSS5UeXBlQnV5ZXJUeXBlQXJyW10gfCB1bmRlZmluZWQge1xuICAgIGNvbnN0IGJ1eWVyVHlwZXNBcnI6IEkuQnV5ZXJUeXBlM1tdIHwgdW5kZWZpbmVkID0gZmluZEJ1eWVyVHlwZXNBcnJCeVByaWNlc2NhbGVJRChpblByaWNlc2NhbGVJRCk7XG4gICAgcmV0dXJuIGJ1eWVyVHlwZXNBcnIgPyBidXllclR5cGVzQXJyLm1hcChhcnIgPT4gW2Fyci5pZFswXSwgYXJyLnByaWNlWzBdLCBnZXRCdXllclR5cGVEZXNjKGFycildKSA6IHVuZGVmaW5lZDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdlbmVyYXRlU2VsZWN0ZWRTZWF0SW5kZXhlcygpOiBzdHJpbmcge1xuICAgIHJldHVybiAoY29uZmlnLnN0YXRlLnNlbGVjdGVkU2VhdHNBcnIubWFwKGFyciA9PiBhcnIuam9pbihcIixcIikpKS5qb2luKFwifFwiKTtcbn1cblxuZnVuY3Rpb24gZmluZEJ1eWVyVHlwZXNBcnJCeVByaWNlc2NhbGVJRChpblByaWNlc2NhbGVJRDogc3RyaW5nKTogSS5CdXllclR5cGUzW10gfCB1bmRlZmluZWQge1xuICAgIGNvbnN0IHZlbnVlWE1MOiBJLlZlbnVlWE1MID0gY29uZmlnLnN0YXRlLmluVmVudWVYTUwhO1xuICAgIGNvbnN0IHZlbnVlUHJpY2VzY2FsZUFycjogSS5QcmljZXNjYWxlNVtdID0gdmVudWVYTUwucHJpY2Vfc3RydWN0dXJlWzBdLnByaWNlc2NhbGU7XG5cbiAgICByZXR1cm4gdmVudWVQcmljZXNjYWxlQXJyLmZpbmQob2JqID0+IG9iai5pZFswXSA9PT0gaW5QcmljZXNjYWxlSUQpPy5idXllcl90eXBlO1xufVxuXG5mdW5jdGlvbiBnZXRCdXllclR5cGVEZXNjKGluQXJyOiBJLkJ1eWVyVHlwZTMpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICAgIGNvbnN0IHZlbnVlWE1MOiBJLlZlbnVlWE1MID0gY29uZmlnLnN0YXRlLmluVmVudWVYTUwhO1xuICAgIGNvbnN0IGJ1eWVyVHlwZUFycjogSS5CdXllclR5cGUyW10gPSB2ZW51ZVhNTC52ZW51ZVswXS5idXllcl90eXBlc1swXS5idXllcl90eXBlO1xuXG4gICAgcmV0dXJuIGJ1eWVyVHlwZUFyci5maW5kKG9iaiA9PiBvYmouaWRbMF0gPT09IGluQXJyLmlkWzBdID8gb2JqLmRlc2NbMF0gOiB1bmRlZmluZWQpPy5kZXNjWzBdO1xufSIsImltcG9ydCBqUXVlcnkgPSByZXF1aXJlKFwianF1ZXJ5XCIpO1xuaW1wb3J0ICogYXMgQ29tbXVuaWNhdGlvbiBmcm9tIFwiLi9tb2R1bGVzL2NvbW11bmljYXRpb25cIjtcbmltcG9ydCAqIGFzIEkgZnJvbSBcIi4vdHlwZXMvdHlwZXNcIjtcbmltcG9ydCB7IGNvbmZpZyB9IGZyb20gXCIuL21vZHVsZXMvY29uZmlnXCI7XG5pbXBvcnQgVXRpbHMgZnJvbSBcIi4vbW9kdWxlcy91dGlsc1wiO1xuaW1wb3J0ICogYXMgRXZlbnRzIGZyb20gXCIuL21vZHVsZXMvZXZlbnRzXCI7XG5pbXBvcnQgKiBhcyBDYXJ0IGZyb20gXCIuL21vZHVsZXMvY2FydFwiO1xuaW1wb3J0ICogYXMgQm9va2luZ0J0biBmcm9tIFwiLi9tb2R1bGVzL2Jvb2tpbmdCdXR0b25cIjtcbmltcG9ydCAqIGFzIENoaWxkIGZyb20gJy4vbW9kdWxlcy9jaGlsZCc7XG5pbXBvcnQgKiBhcyBVSSBmcm9tIFwiLi9tb2R1bGVzL3VpXCI7XG5yZXF1aXJlKFwiLi4vc3JjL2Nzcy9zZWF0bWFwLmNzc1wiKTtcblxud2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ2xvYWQnLCAoKSA9PiB7XG4gICAgLy8gSW5qZWN0IEpTQyAoalF1ZXJ5IFNlYXQgQ2hhcnRzKVxuICAgIC8vIEluamVjdCBDU1MgZm9yIEpTQywgY2hpbGQgYW5kIGpRdWVyeSBkaWFsb2dcbiAgICBDaGlsZC5pbmplY3RSZXNvdXJjZXMoKTtcblxuICAgIC8vIFN0YXJ0IG1lc3NhZ2UgaGFuZGxlciB0byBiZSBhYmxlIHRvIHJlY2VpdmUgbWVzc2FnZXMgZnJvbSBwYXJlbnRcbiAgICBDb21tdW5pY2F0aW9uLmxpc3RlblRvTWVzc2FnZXMobWVzc2FnZUhhbmRsZXIpO1xuXG4gICAgLy8gRGl2IHdpdGggSUQgXCJjb250YWluZXJTZWF0bWFwXCIgaXMgbm90IHlldCByZWFkeSwgd2FpdCBmb3IgaXQsIHRoZW4gZGlzcGxheSBzZWF0bWFwIGJ1dHRvbiBvbiB0cnhzdGF0ZSAyMFxuICAgIFV0aWxzLndhaXRGb3JTZWF0bWFwKEJvb2tpbmdCdG4uc2hvd1NlYXRtYXBCdG5QYXJlbnQpO1xuXG4gICAgLy8gTW9kYWwgb3ZlcmxheSBmb3IgY2FydCBpcyBub3QgeWV0IHJlYWR5LCB3YWl0IGZvciBpdCwgdGhlbiBpbml0aWFsaXplXG4gICAgVXRpbHMud2FpdEZvckVsZW1lbnQoXCIjbW9kYWxDYXJ0LW92ZXJsYXlcIiwgQ2FydC5pbml0TW9kYWxDYXJ0KTtcblxuICAgIC8vIEFkZCBldmVudCBsaXN0ZW5lcnNcbiAgICBFdmVudHMuYWRkQ2xvc2VNb2RhbCgpO1xuICAgIEV2ZW50cy5hZGRNb2RhbENhcnQoKTtcbiAgICBFdmVudHMuYWRkRHJvcGRvd25TZWF0bWFwKCk7XG5cbiAgICAvLyBDaGFuZ2UgdmVyc2lvbiBjb25maWd1cmVkIGluIGNvbmZpZ1xuICAgIFVJLmFwcGVuZFZlcnNpb24oKTtcbn0pO1xuXG4vLyBIaWRlIGhlYWRlciB3aGVuIGhlaWdodCBvZiB3aW5kb3cgaXMgc21hbGxlciB0aGFuIC4uLlxuLy8gTm90ZTogQ2Fubm90IGRldGVybWluZSB3aWR0aCBvZiBpbm5lciBpZnJhbWUsIHRoZXJlZm9yZSBuZWVkIHRvIHVzZSB3aW5kb3cuaW5uZXJIZWlnaHRcbndpbmRvdy5vbnJlc2l6ZSA9IGZ1bmN0aW9uICgpIHtcbiAgICBjb25zdCBwYW56b29tID0gY29uZmlnLnN0YXRlLnBhbnpvb207XG4gICAgY29uc3QgaW5uZXJIZWlnaHQgPSB3aW5kb3cuaW5uZXJIZWlnaHQ7XG5cbiAgICBpZiAoaW5uZXJIZWlnaHQgPCA1NzYpIHtcbiAgICAgICAgalF1ZXJ5KFwiI2NvbnRhaW5lckV2ZW50SW5mb1Jvd1wiKS5oaWRlKCk7XG4gICAgICAgIHBhbnpvb20/LnJlc2V0KCk7XG4gICAgfVxuICAgIGVsc2UgaWYgKGlubmVySGVpZ2h0ID49IDU3Nikge1xuICAgICAgICBqUXVlcnkoXCIjY29udGFpbmVyRXZlbnRJbmZvUm93XCIpLnNob3coKTtcbiAgICAgICAgcGFuem9vbT8ucmVzZXQoKTtcbiAgICB9XG59XG5cbmZ1bmN0aW9uIG1lc3NhZ2VIYW5kbGVyKGluRTogYW55KSB7XG4gICAgaWYgKHR5cGVvZiAoaW5FLmRhdGEpICE9PSAnc3RyaW5nJylcbiAgICAgICAgcmV0dXJuO1xuXG4gICAgY29uc3QgZGF0YTogSS5NZXNzYWdlID0gSlNPTi5wYXJzZShpbkUuZGF0YSk7XG5cbiAgICBVdGlscy5jb25zb2xlTG9nKGBjaGlsZDogcmVjZWl2ZWQgZnJvbSAke2RhdGEuZnJvbX1gKTtcbiAgICBVdGlscy5jb25zb2xlTG9nKGRhdGEpO1xuXG4gICAgc3dpdGNoIChkYXRhLmV2ZW50KSB7XG4gICAgICAgIGNhc2UgXCJwYXJlbnRfaW5pdF92ZW51ZVwiOiB7XG4gICAgICAgICAgICBDaGlsZC5pbml0VmVudWUoKTtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgICAgIGNhc2UgXCJwYXJlbnRfaW5pdF9zZW5kVmVudWVYTUxcIjoge1xuICAgICAgICAgICAgQ2hpbGQuaW5pdFNlbmRWZW51ZVhNTChpbkUpO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICAgICAgY2FzZSBcInBhcmVudF9pbml0X3NlbmRJbnB1dHNXaXRoVmFsdWVcIjoge1xuICAgICAgICAgICAgQ2hpbGQuaW5pdFNlbmRJbnB1dHNXaXRoVmFsdWUoaW5FKTtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgICAgIGNhc2UgXCJwYXJlbnRfc2VuZFNlYXRtYXBYTUxcIjoge1xuICAgICAgICAgICAgQ2hpbGQuc2VuZFNlYXRtYXBYTUwoaW5FKTtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgICAgIGNhc2UgXCJwYXJlbnRfc2VuZENoZWNrb3V0UmVzcG9uc2VcIjogeyAgICAgICAgIFxuICAgICAgICAgICAgQ2hpbGQuc2VuZENoZWNrb3V0UmVzcG9uc2UoaW5FKTtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICBicmVhaztcbiAgICB9XG59Il19