guess-the-year-web-component 3.2.0 → 3.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/main.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /*! For license information please see main.js.LICENSE.txt */
2
- !function(){var t={353:function(t){t.exports=function(){"use strict";var t=6e4,e=36e5,A="millisecond",s="second",r="minute",n="hour",i="day",o="week",a="month",g="quarter",h="year",c="date",l="Invalid Date",d=/^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[Tt\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/,u=/\[([^\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,C={name:"en",weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),ordinal:function(t){var e=["th","st","nd","rd"],A=t%100;return"["+t+(e[(A-20)%10]||e[A]||e[0])+"]"}},I=function(t,e,A){var s=String(t);return!s||s.length>=e?t:""+Array(e+1-s.length).join(A)+t},Q={s:I,z:function(t){var e=-t.utcOffset(),A=Math.abs(e),s=Math.floor(A/60),r=A%60;return(e<=0?"+":"-")+I(s,2,"0")+":"+I(r,2,"0")},m:function t(e,A){if(e.date()<A.date())return-t(A,e);var s=12*(A.year()-e.year())+(A.month()-e.month()),r=e.clone().add(s,a),n=A-r<0,i=e.clone().add(s+(n?-1:1),a);return+(-(s+(A-r)/(n?r-i:i-r))||0)},a:function(t){return t<0?Math.ceil(t)||0:Math.floor(t)},p:function(t){return{M:a,y:h,w:o,d:i,D:c,h:n,m:r,s:s,ms:A,Q:g}[t]||String(t||"").toLowerCase().replace(/s$/,"")},u:function(t){return void 0===t}},p="en",E={};E[p]=C;var B="$isDayjsObject",m=function(t){return t instanceof y||!(!t||!t[B])},v=function t(e,A,s){var r;if(!e)return p;if("string"==typeof e){var n=e.toLowerCase();E[n]&&(r=n),A&&(E[n]=A,r=n);var i=e.split("-");if(!r&&i.length>1)return t(i[0])}else{var o=e.name;E[o]=e,r=o}return!s&&r&&(p=r),r||!s&&p},f=function(t,e){if(m(t))return t.clone();var A="object"==typeof e?e:{};return A.date=t,A.args=arguments,new y(A)},b=Q;b.l=v,b.i=m,b.w=function(t,e){return f(t,{locale:e.$L,utc:e.$u,x:e.$x,$offset:e.$offset})};var y=function(){function C(t){this.$L=v(t.locale,null,!0),this.parse(t),this.$x=this.$x||t.x||{},this[B]=!0}var I=C.prototype;return I.parse=function(t){this.$d=function(t){var e=t.date,A=t.utc;if(null===e)return new Date(NaN);if(b.u(e))return new Date;if(e instanceof Date)return new Date(e);if("string"==typeof e&&!/Z$/i.test(e)){var s=e.match(d);if(s){var r=s[2]-1||0,n=(s[7]||"0").substring(0,3);return A?new Date(Date.UTC(s[1],r,s[3]||1,s[4]||0,s[5]||0,s[6]||0,n)):new Date(s[1],r,s[3]||1,s[4]||0,s[5]||0,s[6]||0,n)}}return new Date(e)}(t),this.init()},I.init=function(){var t=this.$d;this.$y=t.getFullYear(),this.$M=t.getMonth(),this.$D=t.getDate(),this.$W=t.getDay(),this.$H=t.getHours(),this.$m=t.getMinutes(),this.$s=t.getSeconds(),this.$ms=t.getMilliseconds()},I.$utils=function(){return b},I.isValid=function(){return!(this.$d.toString()===l)},I.isSame=function(t,e){var A=f(t);return this.startOf(e)<=A&&A<=this.endOf(e)},I.isAfter=function(t,e){return f(t)<this.startOf(e)},I.isBefore=function(t,e){return this.endOf(e)<f(t)},I.$g=function(t,e,A){return b.u(t)?this[e]:this.set(A,t)},I.unix=function(){return Math.floor(this.valueOf()/1e3)},I.valueOf=function(){return this.$d.getTime()},I.startOf=function(t,e){var A=this,g=!!b.u(e)||e,l=b.p(t),d=function(t,e){var s=b.w(A.$u?Date.UTC(A.$y,e,t):new Date(A.$y,e,t),A);return g?s:s.endOf(i)},u=function(t,e){return b.w(A.toDate()[t].apply(A.toDate("s"),(g?[0,0,0,0]:[23,59,59,999]).slice(e)),A)},C=this.$W,I=this.$M,Q=this.$D,p="set"+(this.$u?"UTC":"");switch(l){case h:return g?d(1,0):d(31,11);case a:return g?d(1,I):d(0,I+1);case o:var E=this.$locale().weekStart||0,B=(C<E?C+7:C)-E;return d(g?Q-B:Q+(6-B),I);case i:case c:return u(p+"Hours",0);case n:return u(p+"Minutes",1);case r:return u(p+"Seconds",2);case s:return u(p+"Milliseconds",3);default:return this.clone()}},I.endOf=function(t){return this.startOf(t,!1)},I.$set=function(t,e){var o,g=b.p(t),l="set"+(this.$u?"UTC":""),d=(o={},o[i]=l+"Date",o[c]=l+"Date",o[a]=l+"Month",o[h]=l+"FullYear",o[n]=l+"Hours",o[r]=l+"Minutes",o[s]=l+"Seconds",o[A]=l+"Milliseconds",o)[g],u=g===i?this.$D+(e-this.$W):e;if(g===a||g===h){var C=this.clone().set(c,1);C.$d[d](u),C.init(),this.$d=C.set(c,Math.min(this.$D,C.daysInMonth())).$d}else d&&this.$d[d](u);return this.init(),this},I.set=function(t,e){return this.clone().$set(t,e)},I.get=function(t){return this[b.p(t)]()},I.add=function(A,g){var c,l=this;A=Number(A);var d=b.p(g),u=function(t){var e=f(l);return b.w(e.date(e.date()+Math.round(t*A)),l)};if(d===a)return this.set(a,this.$M+A);if(d===h)return this.set(h,this.$y+A);if(d===i)return u(1);if(d===o)return u(7);var C=(c={},c[r]=t,c[n]=e,c[s]=1e3,c)[d]||1,I=this.$d.getTime()+A*C;return b.w(I,this)},I.subtract=function(t,e){return this.add(-1*t,e)},I.format=function(t){var e=this,A=this.$locale();if(!this.isValid())return A.invalidDate||l;var s=t||"YYYY-MM-DDTHH:mm:ssZ",r=b.z(this),n=this.$H,i=this.$m,o=this.$M,a=A.weekdays,g=A.months,h=A.meridiem,c=function(t,A,r,n){return t&&(t[A]||t(e,s))||r[A].slice(0,n)},d=function(t){return b.s(n%12||12,t,"0")},C=h||function(t,e,A){var s=t<12?"AM":"PM";return A?s.toLowerCase():s};return s.replace(u,(function(t,s){return s||function(t){switch(t){case"YY":return String(e.$y).slice(-2);case"YYYY":return b.s(e.$y,4,"0");case"M":return o+1;case"MM":return b.s(o+1,2,"0");case"MMM":return c(A.monthsShort,o,g,3);case"MMMM":return c(g,o);case"D":return e.$D;case"DD":return b.s(e.$D,2,"0");case"d":return String(e.$W);case"dd":return c(A.weekdaysMin,e.$W,a,2);case"ddd":return c(A.weekdaysShort,e.$W,a,3);case"dddd":return a[e.$W];case"H":return String(n);case"HH":return b.s(n,2,"0");case"h":return d(1);case"hh":return d(2);case"a":return C(n,i,!0);case"A":return C(n,i,!1);case"m":return String(i);case"mm":return b.s(i,2,"0");case"s":return String(e.$s);case"ss":return b.s(e.$s,2,"0");case"SSS":return b.s(e.$ms,3,"0");case"Z":return r}return null}(t)||r.replace(":","")}))},I.utcOffset=function(){return 15*-Math.round(this.$d.getTimezoneOffset()/15)},I.diff=function(A,c,l){var d,u=this,C=b.p(c),I=f(A),Q=(I.utcOffset()-this.utcOffset())*t,p=this-I,E=function(){return b.m(u,I)};switch(C){case h:d=E()/12;break;case a:d=E();break;case g:d=E()/3;break;case o:d=(p-Q)/6048e5;break;case i:d=(p-Q)/864e5;break;case n:d=p/e;break;case r:d=p/t;break;case s:d=p/1e3;break;default:d=p}return l?d:b.a(d)},I.daysInMonth=function(){return this.endOf(a).$D},I.$locale=function(){return E[this.$L]},I.locale=function(t,e){if(!t)return this.$L;var A=this.clone(),s=v(t,e,!0);return s&&(A.$L=s),A},I.clone=function(){return b.w(this.$d,this)},I.toDate=function(){return new Date(this.valueOf())},I.toJSON=function(){return this.isValid()?this.toISOString():null},I.toISOString=function(){return this.$d.toISOString()},I.toString=function(){return this.$d.toUTCString()},C}(),w=y.prototype;return f.prototype=w,[["$ms",A],["$s",s],["$m",r],["$H",n],["$W",i],["$M",a],["$y",h],["$D",c]].forEach((function(t){w[t[1]]=function(e){return this.$g(e,t[0],t[1])}})),f.extend=function(t,e){return t.$i||(t(e,y,f),t.$i=!0),f},f.locale=v,f.isDayjs=m,f.unix=function(t){return f(1e3*t)},f.en=E[p],f.Ls=E,f.p={},f}()}},e={};function A(s){var r=e[s];if(void 0!==r)return r.exports;var n=e[s]={exports:{}};return t[s].call(n.exports,n,n.exports,A),n.exports}A.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return A.d(e,{a:e}),e},A.d=function(t,e){for(var s in e)A.o(e,s)&&!A.o(t,s)&&Object.defineProperty(t,s,{enumerable:!0,get:e[s]})},A.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},function(){"use strict";const t=globalThis,e=t.ShadowRoot&&(void 0===t.ShadyCSS||t.ShadyCSS.nativeShadow)&&"adoptedStyleSheets"in Document.prototype&&"replace"in CSSStyleSheet.prototype,s=Symbol(),r=new WeakMap;class n{constructor(t,e,A){if(this._$cssResult$=!0,A!==s)throw Error("CSSResult is not constructable. Use `unsafeCSS` or `css` instead.");this.cssText=t,this.t=e}get styleSheet(){let t=this.o;const A=this.t;if(e&&void 0===t){const e=void 0!==A&&1===A.length;e&&(t=r.get(A)),void 0===t&&((this.o=t=new CSSStyleSheet).replaceSync(this.cssText),e&&r.set(A,t))}return t}toString(){return this.cssText}}const i=(t,...e)=>{const A=1===t.length?t[0]:e.reduce(((e,A,s)=>e+(t=>{if(!0===t._$cssResult$)return t.cssText;if("number"==typeof t)return t;throw Error("Value passed to 'css' function must be a 'css' function result: "+t+". Use 'unsafeCSS' to pass non-literal values, but take care to ensure page security.")})(A)+t[s+1]),t[0]);return new n(A,t,s)},o=(A,s)=>{if(e)A.adoptedStyleSheets=s.map((t=>t instanceof CSSStyleSheet?t:t.styleSheet));else for(const e of s){const s=document.createElement("style"),r=t.litNonce;void 0!==r&&s.setAttribute("nonce",r),s.textContent=e.cssText,A.appendChild(s)}},a=e?t=>t:t=>t instanceof CSSStyleSheet?(t=>{let e="";for(const A of t.cssRules)e+=A.cssText;return(t=>new n("string"==typeof t?t:t+"",void 0,s))(e)})(t):t,{is:g,defineProperty:h,getOwnPropertyDescriptor:c,getOwnPropertyNames:l,getOwnPropertySymbols:d,getPrototypeOf:u}=Object,C=globalThis,I=C.trustedTypes,Q=I?I.emptyScript:"",p=C.reactiveElementPolyfillSupport,E=(t,e)=>t,B={toAttribute(t,e){switch(e){case Boolean:t=t?Q:null;break;case Object:case Array:t=null==t?t:JSON.stringify(t)}return t},fromAttribute(t,e){let A=t;switch(e){case Boolean:A=null!==t;break;case Number:A=null===t?null:Number(t);break;case Object:case Array:try{A=JSON.parse(t)}catch(t){A=null}}return A}},m=(t,e)=>!g(t,e),v={attribute:!0,type:String,converter:B,reflect:!1,hasChanged:m};Symbol.metadata??=Symbol("metadata"),C.litPropertyMetadata??=new WeakMap;class f extends HTMLElement{static addInitializer(t){this._$Ei(),(this.l??=[]).push(t)}static get observedAttributes(){return this.finalize(),this._$Eh&&[...this._$Eh.keys()]}static createProperty(t,e=v){if(e.state&&(e.attribute=!1),this._$Ei(),this.elementProperties.set(t,e),!e.noAccessor){const A=Symbol(),s=this.getPropertyDescriptor(t,A,e);void 0!==s&&h(this.prototype,t,s)}}static getPropertyDescriptor(t,e,A){const{get:s,set:r}=c(this.prototype,t)??{get(){return this[e]},set(t){this[e]=t}};return{get(){return s?.call(this)},set(e){const n=s?.call(this);r.call(this,e),this.requestUpdate(t,n,A)},configurable:!0,enumerable:!0}}static getPropertyOptions(t){return this.elementProperties.get(t)??v}static _$Ei(){if(this.hasOwnProperty(E("elementProperties")))return;const t=u(this);t.finalize(),void 0!==t.l&&(this.l=[...t.l]),this.elementProperties=new Map(t.elementProperties)}static finalize(){if(this.hasOwnProperty(E("finalized")))return;if(this.finalized=!0,this._$Ei(),this.hasOwnProperty(E("properties"))){const t=this.properties,e=[...l(t),...d(t)];for(const A of e)this.createProperty(A,t[A])}const t=this[Symbol.metadata];if(null!==t){const e=litPropertyMetadata.get(t);if(void 0!==e)for(const[t,A]of e)this.elementProperties.set(t,A)}this._$Eh=new Map;for(const[t,e]of this.elementProperties){const A=this._$Eu(t,e);void 0!==A&&this._$Eh.set(A,t)}this.elementStyles=this.finalizeStyles(this.styles)}static finalizeStyles(t){const e=[];if(Array.isArray(t)){const A=new Set(t.flat(1/0).reverse());for(const t of A)e.unshift(a(t))}else void 0!==t&&e.push(a(t));return e}static _$Eu(t,e){const A=e.attribute;return!1===A?void 0:"string"==typeof A?A:"string"==typeof t?t.toLowerCase():void 0}constructor(){super(),this._$Ep=void 0,this.isUpdatePending=!1,this.hasUpdated=!1,this._$Em=null,this._$Ev()}_$Ev(){this._$ES=new Promise((t=>this.enableUpdating=t)),this._$AL=new Map,this._$E_(),this.requestUpdate(),this.constructor.l?.forEach((t=>t(this)))}addController(t){(this._$EO??=new Set).add(t),void 0!==this.renderRoot&&this.isConnected&&t.hostConnected?.()}removeController(t){this._$EO?.delete(t)}_$E_(){const t=new Map,e=this.constructor.elementProperties;for(const A of e.keys())this.hasOwnProperty(A)&&(t.set(A,this[A]),delete this[A]);t.size>0&&(this._$Ep=t)}createRenderRoot(){const t=this.shadowRoot??this.attachShadow(this.constructor.shadowRootOptions);return o(t,this.constructor.elementStyles),t}connectedCallback(){this.renderRoot??=this.createRenderRoot(),this.enableUpdating(!0),this._$EO?.forEach((t=>t.hostConnected?.()))}enableUpdating(t){}disconnectedCallback(){this._$EO?.forEach((t=>t.hostDisconnected?.()))}attributeChangedCallback(t,e,A){this._$AK(t,A)}_$EC(t,e){const A=this.constructor.elementProperties.get(t),s=this.constructor._$Eu(t,A);if(void 0!==s&&!0===A.reflect){const r=(void 0!==A.converter?.toAttribute?A.converter:B).toAttribute(e,A.type);this._$Em=t,null==r?this.removeAttribute(s):this.setAttribute(s,r),this._$Em=null}}_$AK(t,e){const A=this.constructor,s=A._$Eh.get(t);if(void 0!==s&&this._$Em!==s){const t=A.getPropertyOptions(s),r="function"==typeof t.converter?{fromAttribute:t.converter}:void 0!==t.converter?.fromAttribute?t.converter:B;this._$Em=s,this[s]=r.fromAttribute(e,t.type),this._$Em=null}}requestUpdate(t,e,A){if(void 0!==t){if(A??=this.constructor.getPropertyOptions(t),!(A.hasChanged??m)(this[t],e))return;this.P(t,e,A)}!1===this.isUpdatePending&&(this._$ES=this._$ET())}P(t,e,A){this._$AL.has(t)||this._$AL.set(t,e),!0===A.reflect&&this._$Em!==t&&(this._$Ej??=new Set).add(t)}async _$ET(){this.isUpdatePending=!0;try{await this._$ES}catch(t){Promise.reject(t)}const t=this.scheduleUpdate();return null!=t&&await t,!this.isUpdatePending}scheduleUpdate(){return this.performUpdate()}performUpdate(){if(!this.isUpdatePending)return;if(!this.hasUpdated){if(this.renderRoot??=this.createRenderRoot(),this._$Ep){for(const[t,e]of this._$Ep)this[t]=e;this._$Ep=void 0}const t=this.constructor.elementProperties;if(t.size>0)for(const[e,A]of t)!0!==A.wrapped||this._$AL.has(e)||void 0===this[e]||this.P(e,this[e],A)}let t=!1;const e=this._$AL;try{t=this.shouldUpdate(e),t?(this.willUpdate(e),this._$EO?.forEach((t=>t.hostUpdate?.())),this.update(e)):this._$EU()}catch(e){throw t=!1,this._$EU(),e}t&&this._$AE(e)}willUpdate(t){}_$AE(t){this._$EO?.forEach((t=>t.hostUpdated?.())),this.hasUpdated||(this.hasUpdated=!0,this.firstUpdated(t)),this.updated(t)}_$EU(){this._$AL=new Map,this.isUpdatePending=!1}get updateComplete(){return this.getUpdateComplete()}getUpdateComplete(){return this._$ES}shouldUpdate(t){return!0}update(t){this._$Ej&&=this._$Ej.forEach((t=>this._$EC(t,this[t]))),this._$EU()}updated(t){}firstUpdated(t){}}f.elementStyles=[],f.shadowRootOptions={mode:"open"},f[E("elementProperties")]=new Map,f[E("finalized")]=new Map,p?.({ReactiveElement:f}),(C.reactiveElementVersions??=[]).push("2.0.4");const b=globalThis,y=b.trustedTypes,w=y?y.createPolicy("lit-html",{createHTML:t=>t}):void 0,S="$lit$",T=`lit$${Math.random().toFixed(9).slice(2)}$`,_="?"+T,U=`<${_}>`,P=document,x=()=>P.createComment(""),K=t=>null===t||"object"!=typeof t&&"function"!=typeof t,O=Array.isArray,k="[ \t\n\f\r]",H=/<(?:(!--|\/[^a-zA-Z])|(\/?[a-zA-Z][^>\s]*)|(\/?$))/g,F=/-->/g,M=/>/g,N=RegExp(`>|${k}(?:([^\\s"'>=/]+)(${k}*=${k}*(?:[^ \t\n\f\r"'\`<>=]|("|')|))|$)`,"g"),D=/'/g,j=/"/g,Y=/^(?:script|style|textarea|title)$/i,R=t=>(e,...A)=>({_$litType$:t,strings:e,values:A}),W=R(1),J=(R(2),R(3),Symbol.for("lit-noChange")),z=Symbol.for("lit-nothing"),L=new WeakMap,V=P.createTreeWalker(P,129);function X(t,e){if(!O(t)||!t.hasOwnProperty("raw"))throw Error("invalid template strings array");return void 0!==w?w.createHTML(e):e}const Z=(t,e)=>{const A=t.length-1,s=[];let r,n=2===e?"<svg>":3===e?"<math>":"",i=H;for(let e=0;e<A;e++){const A=t[e];let o,a,g=-1,h=0;for(;h<A.length&&(i.lastIndex=h,a=i.exec(A),null!==a);)h=i.lastIndex,i===H?"!--"===a[1]?i=F:void 0!==a[1]?i=M:void 0!==a[2]?(Y.test(a[2])&&(r=RegExp("</"+a[2],"g")),i=N):void 0!==a[3]&&(i=N):i===N?">"===a[0]?(i=r??H,g=-1):void 0===a[1]?g=-2:(g=i.lastIndex-a[2].length,o=a[1],i=void 0===a[3]?N:'"'===a[3]?j:D):i===j||i===D?i=N:i===F||i===M?i=H:(i=N,r=void 0);const c=i===N&&t[e+1].startsWith("/>")?" ":"";n+=i===H?A+U:g>=0?(s.push(o),A.slice(0,g)+S+A.slice(g)+T+c):A+T+(-2===g?e:c)}return[X(t,n+(t[A]||"<?>")+(2===e?"</svg>":3===e?"</math>":"")),s]};class G{constructor({strings:t,_$litType$:e},A){let s;this.parts=[];let r=0,n=0;const i=t.length-1,o=this.parts,[a,g]=Z(t,e);if(this.el=G.createElement(a,A),V.currentNode=this.el.content,2===e||3===e){const t=this.el.content.firstChild;t.replaceWith(...t.childNodes)}for(;null!==(s=V.nextNode())&&o.length<i;){if(1===s.nodeType){if(s.hasAttributes())for(const t of s.getAttributeNames())if(t.endsWith(S)){const e=g[n++],A=s.getAttribute(t).split(T),i=/([.?@])?(.*)/.exec(e);o.push({type:1,index:r,name:i[2],strings:A,ctor:"."===i[1]?At:"?"===i[1]?st:"@"===i[1]?rt:et}),s.removeAttribute(t)}else t.startsWith(T)&&(o.push({type:6,index:r}),s.removeAttribute(t));if(Y.test(s.tagName)){const t=s.textContent.split(T),e=t.length-1;if(e>0){s.textContent=y?y.emptyScript:"";for(let A=0;A<e;A++)s.append(t[A],x()),V.nextNode(),o.push({type:2,index:++r});s.append(t[e],x())}}}else if(8===s.nodeType)if(s.data===_)o.push({type:2,index:r});else{let t=-1;for(;-1!==(t=s.data.indexOf(T,t+1));)o.push({type:7,index:r}),t+=T.length-1}r++}}static createElement(t,e){const A=P.createElement("template");return A.innerHTML=t,A}}function q(t,e,A=t,s){if(e===J)return e;let r=void 0!==s?A._$Co?.[s]:A._$Cl;const n=K(e)?void 0:e._$litDirective$;return r?.constructor!==n&&(r?._$AO?.(!1),void 0===n?r=void 0:(r=new n(t),r._$AT(t,A,s)),void 0!==s?(A._$Co??=[])[s]=r:A._$Cl=r),void 0!==r&&(e=q(t,r._$AS(t,e.values),r,s)),e}class ${constructor(t,e){this._$AV=[],this._$AN=void 0,this._$AD=t,this._$AM=e}get parentNode(){return this._$AM.parentNode}get _$AU(){return this._$AM._$AU}u(t){const{el:{content:e},parts:A}=this._$AD,s=(t?.creationScope??P).importNode(e,!0);V.currentNode=s;let r=V.nextNode(),n=0,i=0,o=A[0];for(;void 0!==o;){if(n===o.index){let e;2===o.type?e=new tt(r,r.nextSibling,this,t):1===o.type?e=new o.ctor(r,o.name,o.strings,this,t):6===o.type&&(e=new nt(r,this,t)),this._$AV.push(e),o=A[++i]}n!==o?.index&&(r=V.nextNode(),n++)}return V.currentNode=P,s}p(t){let e=0;for(const A of this._$AV)void 0!==A&&(void 0!==A.strings?(A._$AI(t,A,e),e+=A.strings.length-2):A._$AI(t[e])),e++}}class tt{get _$AU(){return this._$AM?._$AU??this._$Cv}constructor(t,e,A,s){this.type=2,this._$AH=z,this._$AN=void 0,this._$AA=t,this._$AB=e,this._$AM=A,this.options=s,this._$Cv=s?.isConnected??!0}get parentNode(){let t=this._$AA.parentNode;const e=this._$AM;return void 0!==e&&11===t?.nodeType&&(t=e.parentNode),t}get startNode(){return this._$AA}get endNode(){return this._$AB}_$AI(t,e=this){t=q(this,t,e),K(t)?t===z||null==t||""===t?(this._$AH!==z&&this._$AR(),this._$AH=z):t!==this._$AH&&t!==J&&this._(t):void 0!==t._$litType$?this.$(t):void 0!==t.nodeType?this.T(t):(t=>O(t)||"function"==typeof t?.[Symbol.iterator])(t)?this.k(t):this._(t)}O(t){return this._$AA.parentNode.insertBefore(t,this._$AB)}T(t){this._$AH!==t&&(this._$AR(),this._$AH=this.O(t))}_(t){this._$AH!==z&&K(this._$AH)?this._$AA.nextSibling.data=t:this.T(P.createTextNode(t)),this._$AH=t}$(t){const{values:e,_$litType$:A}=t,s="number"==typeof A?this._$AC(t):(void 0===A.el&&(A.el=G.createElement(X(A.h,A.h[0]),this.options)),A);if(this._$AH?._$AD===s)this._$AH.p(e);else{const t=new $(s,this),A=t.u(this.options);t.p(e),this.T(A),this._$AH=t}}_$AC(t){let e=L.get(t.strings);return void 0===e&&L.set(t.strings,e=new G(t)),e}k(t){O(this._$AH)||(this._$AH=[],this._$AR());const e=this._$AH;let A,s=0;for(const r of t)s===e.length?e.push(A=new tt(this.O(x()),this.O(x()),this,this.options)):A=e[s],A._$AI(r),s++;s<e.length&&(this._$AR(A&&A._$AB.nextSibling,s),e.length=s)}_$AR(t=this._$AA.nextSibling,e){for(this._$AP?.(!1,!0,e);t&&t!==this._$AB;){const e=t.nextSibling;t.remove(),t=e}}setConnected(t){void 0===this._$AM&&(this._$Cv=t,this._$AP?.(t))}}class et{get tagName(){return this.element.tagName}get _$AU(){return this._$AM._$AU}constructor(t,e,A,s,r){this.type=1,this._$AH=z,this._$AN=void 0,this.element=t,this.name=e,this._$AM=s,this.options=r,A.length>2||""!==A[0]||""!==A[1]?(this._$AH=Array(A.length-1).fill(new String),this.strings=A):this._$AH=z}_$AI(t,e=this,A,s){const r=this.strings;let n=!1;if(void 0===r)t=q(this,t,e,0),n=!K(t)||t!==this._$AH&&t!==J,n&&(this._$AH=t);else{const s=t;let i,o;for(t=r[0],i=0;i<r.length-1;i++)o=q(this,s[A+i],e,i),o===J&&(o=this._$AH[i]),n||=!K(o)||o!==this._$AH[i],o===z?t=z:t!==z&&(t+=(o??"")+r[i+1]),this._$AH[i]=o}n&&!s&&this.j(t)}j(t){t===z?this.element.removeAttribute(this.name):this.element.setAttribute(this.name,t??"")}}class At extends et{constructor(){super(...arguments),this.type=3}j(t){this.element[this.name]=t===z?void 0:t}}class st extends et{constructor(){super(...arguments),this.type=4}j(t){this.element.toggleAttribute(this.name,!!t&&t!==z)}}class rt extends et{constructor(t,e,A,s,r){super(t,e,A,s,r),this.type=5}_$AI(t,e=this){if((t=q(this,t,e,0)??z)===J)return;const A=this._$AH,s=t===z&&A!==z||t.capture!==A.capture||t.once!==A.once||t.passive!==A.passive,r=t!==z&&(A===z||s);s&&this.element.removeEventListener(this.name,this,A),r&&this.element.addEventListener(this.name,this,t),this._$AH=t}handleEvent(t){"function"==typeof this._$AH?this._$AH.call(this.options?.host??this.element,t):this._$AH.handleEvent(t)}}class nt{constructor(t,e,A){this.element=t,this.type=6,this._$AN=void 0,this._$AM=e,this.options=A}get _$AU(){return this._$AM._$AU}_$AI(t){q(this,t)}}const it=b.litHtmlPolyfillSupport;it?.(G,tt),(b.litHtmlVersions??=[]).push("3.2.1");class ot extends f{constructor(){super(...arguments),this.renderOptions={host:this},this._$Do=void 0}createRenderRoot(){const t=super.createRenderRoot();return this.renderOptions.renderBefore??=t.firstChild,t}update(t){const e=this.render();this.hasUpdated||(this.renderOptions.isConnected=this.isConnected),super.update(t),this._$Do=((t,e,A)=>{const s=A?.renderBefore??e;let r=s._$litPart$;if(void 0===r){const t=A?.renderBefore??null;s._$litPart$=r=new tt(e.insertBefore(x(),t),t,void 0,A??{})}return r._$AI(t),r})(e,this.renderRoot,this.renderOptions)}connectedCallback(){super.connectedCallback(),this._$Do?.setConnected(!0)}disconnectedCallback(){super.disconnectedCallback(),this._$Do?.setConnected(!1)}render(){return J}}ot._$litElement$=!0,ot.finalized=!0,globalThis.litElementHydrateSupport?.({LitElement:ot});const at=globalThis.litElementPolyfillSupport;at?.({LitElement:ot}),(globalThis.litElementVersions??=[]).push("4.1.1");const gt={attribute:!0,type:String,converter:B,reflect:!1,hasChanged:m},ht=(t=gt,e,A)=>{const{kind:s,metadata:r}=A;let n=globalThis.litPropertyMetadata.get(r);if(void 0===n&&globalThis.litPropertyMetadata.set(r,n=new Map),n.set(A.name,t),"accessor"===s){const{name:s}=A;return{set(A){const r=e.get.call(this);e.set.call(this,A),this.requestUpdate(s,r,t)},init(e){return void 0!==e&&this.P(s,void 0,t),e}}}if("setter"===s){const{name:s}=A;return function(A){const r=this[s];e.call(this,A),this.requestUpdate(s,r,t)}}throw Error("Unsupported decorator location: "+s)};function ct(t){return(e,A)=>"object"==typeof A?ht(t,e,A):((t,e,A)=>{const s=e.hasOwnProperty(A);return e.constructor.createProperty(A,s?{...t,wrapped:!0}:t),s?Object.getOwnPropertyDescriptor(e,A):void 0})(t,e,A)}function lt(t){return ct({...t,state:!0,attribute:!1})}var dt,ut=A(353),Ct=A.n(ut);!function(t){t.tvShowOrSeries="tvShowOrSeries",t.showbizz="showbizz",t.trend="trend",t.tech="tech",t.fashionTrend="fashionTrend",t.cinemaMovie="cinemaMovie",t.streetScene="streetScene",t.newsPresenter="newsPresenter",t.radioSong="radioSong",t.newsItem="newsItem",t.iconicAlbum="iconicAlbum",t.radioShow="radioShow",t.bestSellerBook="bestSellerBook",t.advertisement="advertisement",t.car="car",t.sports="sports",t.unknown="unknown"}(dt||(dt={}));const It=[dt.cinemaMovie,dt.newsItem,dt.newsPresenter,dt.radioSong,dt.showbizz,dt.sports,dt.tech,dt.tvShowOrSeries];class Qt{static async asyncForeach(t,e){for(let A=0;A<t.length;A++)await e(t[A],A,t)}static removeAllChildren(t){if(!t)return;let e=t.lastChild;for(;e;)t.removeChild(e),e=t.lastChild}static shuffleArray(t){return t.sort((()=>Math.random()-.5))}static dobToGeneration(t){return t>=2013?"generationalpha":t>=1997?"generationz":t>=1981?"generationy":t>=1965?"generationx":t>=1946?"babyboomers":t>=1928?"silentgeneration":t>=1901?"greatestgeneration":""}}class pt{constructor(t){this.teeeApiUrl=t}async fetchOneIncident(t,e,A,s,r,n,i,o,a){return new Promise((async(g,h)=>{console.debug("fetchHistory");const c=t||"",l=e||"",d=A||"",u=s||"",C=r||"",I=n||"",Q=i||"",p=o||"",E=a||"";try{const t=[],e=new URLSearchParams({pov:c,emotion:d,impact:u,limit:"1",variant:E});if(e.append("seed",""+(new Date).getTime()),o&&e.append("maxlasted",""+p),e.set("category",l),C){const A=new URL(`${this.teeeApiUrl}/${r}`);A.search=e.toString(),t.push(A)}else{if(!I||!Q)throw"No correct date or period specified.";{const A=new Date(I).toISOString().substring(0,10),s=new Date(Q).toISOString().substring(0,10);e.set("from",A),e.set("to",s);const r=new URL(this.teeeApiUrl);r.search=e.toString(),t.push(r)}}let A=[];await Qt.asyncForeach(t,(async t=>{const e=await fetch(t),s=await e.json();A=A.concat(s.results)}));const s=A.length?A[0]:void 0,n={};A.forEach((t=>{t.source&&(n[t.source]=!0)})),console.debug([A,n]),g({incident:s,sources:Object.keys(n)})}catch(t){h(t)}}))}async postAttributeQualityFeedback(t,e,A,s){const r=`${this.teeeApiUrl}/feedback/${t}/attribute`;await fetch(r,{method:"POST",headers:{Accept:"application/json","Content-Type":"application/json"},body:JSON.stringify({attribute:e,value:A,remark:s})})}async postIncidentFeedback(t,e){const A=`${this.teeeApiUrl}/feedback/${t}/remark`;await fetch(A,{method:"POST",headers:{Accept:"application/json","Content-Type":"application/json"},body:JSON.stringify({remark:e})})}async incidentRecallability(t,e,A){this.postIncidentFeedback(t,`recall:absolute-year:${Qt.dobToGeneration(e)}:${A}`)}}var Et,Bt;!function(t){t.incorrect="incorrect",t.tooShort="tooShort",t.tooLong="tooLong",t.toneOfVoice="toneOfVoice",t.missing="missing",t.noMatch="noMatch",t.badData="badData",t.unknown="unknown"}(Et||(Et={}));class mt{constructor(t={}){this.HintTemplates=t,t[dt.newsPresenter]=["__TITLE__ presenteerde het acht uur journaal."],t[dt.tech]=["Technieuws: __TITLE__.","Techneuten liepen warm voor '__TITLE__'."],t[dt.showbizz]=["Veel in het showbizz nieuws: __TITLE__."],t[dt.sports]=["Sportnieuws: __TITLE__.","Sportfanaten spraken over '__TITLE__'."],t[dt.tvShowOrSeries]=["Op tv was '__TITLE__'.","'s Avonds keken we naar '__TITLE__' op televisie."],t[dt.newsItem]=["In de krant stond dit jaar ook '__TITLE__'.","'__TITLE__' was dit jaar ook in het nieuws te lezen."],t[dt.cinemaMovie]=["De film '__TITLE__' draaide in de bioscoop.","De film '__TITLE__' was een kaskraker.","In de bioscoop was de film '__TITLE__' te zien.","'__TITLE__' was op het witte doek te zien."],t[dt.radioSong]=["De hit '__TRACK__' van __ARTIST__ was een graag gedraaide tune op de radio.","Aan het liedje '__TRACK__' van __ARTIST__ was niet te ontkomen op de radio.","__ARTIST__' '__TRACK__' klonk regelmatig op de radio.","Je kon '__TRACK__' van __ARTIST__ niet missen op de radio, het werd zo vaak gedraaid.","'__TRACK__' van __ARTIST__ was een vast nummer op de radio.","In die tijd was '__TRACK__' van __ARTIST__ een veelgehoorde radiohit.","'__TRACK__' van __ARTIST__ was een radio-favoriet in dit jaar.","De radiostations zonden '__TRACK__' van __ARTIST__ uit.","Het nummer '__TRACK__' van __ARTIST__ genoot veel airplay op de radio.","'__TRACK__' van __ARTIST__ was een veelgehoord nummer op de radiostations.","'__TRACK__' van __ARTIST__ werd een radioklassieker.","'__TRACK__' van __ARTIST__ was een onvergetelijke hit die de radio domineerde.","'__TRACK__' van __ARTIST__ was een veelgehoorde hit.","De radiostations draaiden '__TRACK__' van __ARTIST__ grijs.","'__TRACK__' van __ARTIST__ was een catchy nummer dat je bleef meezingen.","De beat van '__TRACK__' van __ARTIST__ was onweerstaanbaar.","'__TRACK__' van __ARTIST__ had een unieke sound die je niet snel vergat.","Je kon niet om '__TRACK__' van __ARTIST__ heen."]}translate(t){switch(t){case"year":return"jaar";case"start":return"start";case"new-game":return"nieuw spel";case"end":return"Goed gedaan!";case"next-question":return"Volgende vraag";case"quit":return"Afsluiten";case"answer-correct":return"Correct";case"answer-wrong":return"Helaas";case"question-number":return"Vraag";case"question-score":return"Score";case"total-score":return"Totaalscore";case"show-hint":return"Toon hint";case"used-hint-singular":return"Je hebt 1 hint gebruikt";case"used-hint-plural":return"Je hebt __HINTS__ hints gebruikt";case"number-points-singular":return"Voor deze vraag heb je 1 punt gehaald";case"number-points-plural":return"Voor deze vraag heb je __POINTS__ punten gehaald";case"correct-answer-was":return"Je koos voor __WRONG__ maar het juiste antwoord was __CORRECT__";case"no-answer-correct-answer-was":return"Je hebt geen antwoord gegeven maar het juiste antwoord was __CORRECT__";case"game-name":return"Guess The Year";case"game-call-to-action":return"Game on! Uit __FROM__ tot __TO__";case"your-answer":return"Mijn antwoord";case"your-feedback":return"opmerkingen";case"try-left":return"__TRIES__ poging over";case"tries-left":return"__TRIES__ pogingen over";case"in-one-second":return"In __SECONDS__ seconde";case"in-x-seconds":return"In __SECONDS__ seconden";case"game-settings-p0":return" Welk geboortejaar?";case"game-settings-p1":return" Right. Oh hey, Biff, hey, guys, how are you doing? Look, there's a rhythmic";case"game-settings-p2":return" vragen ceremonial ritual coming up.Vanaf begin";case"game-settings-p3":return" Precisely, just relax now Calvin. Tot eind";case"game-settings-p4":return" you've got a big bruise on you're head.";case"game-introduction-p1":return"somethng";case"game-introduction-p2":return"Excuse me. Go. Go. Never mind that, never mind that now, never mind that, never mind- Yeah, well, how about my homework, McFly? Don't stop, Wilbert, drive.";case"game-introduction-p3":return"Mom, is that you? Oh. Uh Doc, uh no. No, don't be silly. What did your mother ever see in that kid? You guys, take him in back and I'll be right there. Well c'mon, this ain't no peep show.";case"game-introduction-welcome":return"Welkom bij Guess The Year!"}return t}}!function(t){t.INIT="init",t.SPLASH="splash",t.INTRO="intro",t.PLAY="play",t.END="end"}(Bt||(Bt={}));var vt=i`h1{color:var(--guess-the-year-title-color, rgb(0, 0, 0));background-color:var(--guess-the-year-title-background-color, rgba(255, 255, 255, 0.7));font-size:var(--guess-the-year-title-font-size, 16px);margin:0;padding:1rem;text-align:center}p{color:var(--guess-the-year-text-color, black);font-size:var(--guess-the-year-text-font-size, 14px)}:host{position:relative;color:var(--guess-the-year-text-color, black);background:var(--guess-the-year-background-color, white);width:100%;height:100%}.guess-the-year-container{position:relative;width:100%;height:100%;max-width:768px;margin:0 auto}.guess-the-year-header{position:sticky;z-index:100;top:0;box-shadow:0px 5px 5px 0px rgba(0,0,0,.3);margin-bottom:15px}.footer{position:absolute;bottom:0;left:0;right:0;color:var(--guess-the-year-footer-color, rgb(0, 0, 0));font-size:var(--guess-the-year-footer-font-size, 12px);margin:0;z-index:-1}.splashscreen{background-color:var(--guess-the-year-splash-screen-background-color, rgba(255, 255, 255, 0.7));color:var(--guess-the-year-splash-screen-color, rgb(0, 0, 0));font-size:var(--guess-the-year-splash-screen-font-size, 16px);margin:0;text-align:center;width:100%;height:90vh}.splashscreen .splash-logo{margin:0 auto;padding:0;display:block;width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center}.splashscreen .splash-logo img{max-width:300px;border-radius:50%;border:1px solid #000}div.game-intro{color:var(--guess-the-year-title-color, rgb(0, 0, 0));margin:0;padding:0;text-align:left}div.game-intro>div{background-color:var(--guess-the-year-title-background-color, rgba(255, 255, 255, 0.7));padding:1rem;max-width:70ch;margin:1rem auto}div.game-intro .game-start button{background-color:var(--guess-the-year-button-background-color, rgb(0, 0, 0));color:var(--guess-the-year-button-color, rgb(255, 255, 255));border:0;padding:1rem;margin:1rem auto;display:block;width:100%;font-size:var(--guess-the-year-button-font-size, 1rem);font-weight:bold;text-transform:uppercase;cursor:pointer}.guess-the-year-game-stage{position:relative;padding-bottom:100px}.guess-the-year-game-stage .container{position:relative;width:100%;height:100%}.guess-the-year-game-stage .incident--title{top:0;width:100%;border-top:1px solid #fff;margin-bottom:10px}.guess-the-year-game-stage .incident--image{z-index:-1;height:40vh;display:flex;align-items:center;justify-content:center}.guess-the-year-game-stage .incident--image img{max-width:100%;max-height:100%}.guess-the-year-game-stage .incident--text{background-color:var(--guess-the-year-text-background-color, rgba(255, 255, 255, 0.5));color:var(--guess-the-year-text-color, rgb(0, 0, 0));font-size:var(--guess-the-year-text-font-size, 14px)}.guess-the-year-game-stage .game-controls{position:sticky;bottom:25px;left:0;width:100%;background-color:hsla(0,0%,100%,.7);padding-top:10px}.guess-the-year-game-stage .game-controls--hint{text-align:right}.guess-the-year-game-stage .game-controls--hint button{margin:10px;padding:10px;border-radius:10px;border:1px solid #000;cursor:pointer;background-color:var(--guess-the-year-text-background-color);color:var(--guess-the-year-text-color)}.guess-the-year-game-stage .game-controls--hint button:hover{background-color:var(--guess-the-year-button-background-color);color:var(--guess-the-year-button-color)}.guess-the-year-game-stage .game-controls--answers .answers--list ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:row;align-items:center;justify-content:space-evenly}.guess-the-year-game-stage .game-controls--answers .answers--list ul li{border:1px solid #000;border-radius:10px;padding:10px 10px;cursor:pointer;background-color:var(--guess-the-year-text-background-color)}.guess-the-year-game-stage .game-controls--answers .answers--list ul li:hover{background-color:var(--guess-the-year-button-background-color);color:var(--guess-the-year-button-color)}.guess-the-year-game-stage .feedback{position:absolute;top:0;left:0;right:0;bottom:0;height:100%;width:100%;margin:auto;backdrop-filter:blur(10px);display:flex;align-items:center;justify-content:center}.guess-the-year-game-stage .feedback--content{width:300px;background-color:var(--guess-the-year-text-background-color);padding:15px;border-radius:10px;box-shadow:0px 5px 5px 0px rgba(0,0,0,.3)}.guess-the-year-game-stage .game-score{display:flex;flex-direction:row;align-items:center;justify-content:space-evenly;margin-bottom:10px}.guess-the-year-game-stage .game-score--label{font-size:80%}.guess-the-year-game-stage .game-score--value{font-weight:bold}.guess-the-year-sources{font-size:70%}`;class ft{constructor(t,e=0,A=1e3){this.value=0,(this.host=t).addController(this),this.startValue=e,this.value=e,this.timeout=A}start(){this._timerID=setInterval((()=>{this.value-=1,this.host.requestUpdate()}),this.timeout)}stop(){clearInterval(this._timerID),this._timerID=void 0}reset(){this.value=this.startValue}subtract(t){this.value-=t,this.value<0&&(this.value=0)}isRunning(){return!!this._timerID}hostDisconnected(){clearInterval(this._timerID),this._timerID=void 0}}var bt=function(t,e,A,s){var r,n=arguments.length,i=n<3?e:null===s?s=Object.getOwnPropertyDescriptor(e,A):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)i=Reflect.decorate(t,e,A,s);else for(var o=t.length-1;o>=0;o--)(r=t[o])&&(i=(n<3?r(i):n>3?r(e,A,i):r(e,A))||i);return n>3&&i&&Object.defineProperty(e,A,i),i};const{setTimeout:yt}=window,wt=1950,St=parseInt(Ct()().format("YYYY"),10),Tt="gty-from-year",_t="gty-to-year",Ut="gty-number-of-questions",Pt=parseInt(Ct()().format("YYYY"),10)-10,xt="gty-player-dob";let Kt=class extends ot{get loading(){return this._loading}set loading(t){this._loading=t}constructor(){super(),this.sources=[],this._loading=!1,this.teeeApiUrl="https://api.tee-e.com",this.reportBrokenImages=!1,this.date="",this.country="",this.category="",this.emotion="",this.impact="",this.from=Ct()(`${window.localStorage.getItem(Tt)||wt}-01-01`,"YYYY-MM-DD"),this.to=Ct()(`${window.localStorage.getItem(_t)||St}-01-01`,"YYYY-MM-DD"),this.noImageSrc="",this.suppressImages=!1,this.maxHints=3,this.numberOfQuestions=parseInt(window.localStorage.getItem(Ut)||"10",10),this._numberOfQuestionsSeen=0,this._playerDob=parseInt(window.localStorage.getItem(xt)||"0",10),this._incident=void 0,this._answers=[],this._hint=void 0,this._showHint=!0,this._showFooter=!1,this._hintsIndex=0,this._hints=[],this._solution=void 0,this._renderState=Bt.INIT,this._score=30,this.totalScore=0,this._answer=void 0,this._apiService=new pt(this.teeeApiUrl),this.i18n=new mt,this._handleImageLoadError=(t,e)=>{const A=t.target;console.debug(`Error loading image: ${A.src}`);const s=this.noImageSrc||"data:image/png;base64,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CBAgQIAAAQICBdcAAQIECBAgQIAAAQIECBAgkFlAoJCZTAUCBAgQIECAAAECBAgQIEBAoOAaIECAAAECBAgQIECAAAECBDILCBQyk6lAgAABAgQIECBAgAABAgQICBRcAwQIECBAgAABAgQIECBAgEBmAYFCZjIVCBAgQIAAAQIECBAgQIAAAYGCa4AAAQIECBAgQIAAAQIECBDILCBQyEymAgECBAgQIECAAAECBAgQICBQcA0QIECAAAECBAgQIECAAAECmQUECpnJVCBAgAABAgQIECBAgAABAgQECq4BAgQIECBAgAABAgQIECBAILOAQCEzmQoECBAgQIAAAQIECBAgQICAQME1QIAAAQIECBAgQIAAAQIECGQWEChkJlOBAAECBAgQIECAAAECBAgQECi4BggQIECAAAECBAgQIECAAIHMAgKFzGQqECBAgAABAgQIECBAgAABAgIF1wABAgQIECBAgAABAgQIECCQWUCgkJlMBQIECBAgQIAAAQIECBAgQECg4BogQIAAAQIECBAgQIAAAQIEMgsIFDKTqUCAAAECBAgQIECAAAECBAgIFFwDBAgQIECAAAECBAgQIECAQGYBgUJmMhUIECBAgAABAgQIECBAgAABgYJrgAABAgQIECBAgAABAgQIEMgsIFDITKYCAQIECBAgQIAAAQIECBAgIFBwDRAgQIAAAQIECBAgQIAAAQKZBQQKmclUIECAAAECBAgQIECAAAECBAQKrgECBAgQIECAAAECBAgQIEAgs4BAITOZCgQIECBAgAABAgQIECBAgIBAwTVAgAABAgQIECBAgAABAgQIZBYQKGQmU4EAAQIECBAgQIAAAQIECBAQKLgGCBAgQIAAAQIECBAgQIAAgcwCAoXMZCoQIECAAAECBAgQIECAAAECAgXXAAECBAgQIECAAAECBAgQIJBZQKCQmUwFAgQIECBAgAABAgQIECBAQKDgGiBAgAABAgQIECBAgAABAgQyCwgUMpOpQIAAAQIEyi/Qo3vnGDK4T/TdvHt069opNtqofbStqow2bdqU/2SK2OOqVasi/d+SpcvjnXc/jDdmz4+XXpkVs+e8HdXVNUXsSVMECBAgQIBAsQUECsUW1R4BAgQIECiSQMdNNoq99hgRB43dObbs1ysJD+oabrPa57p9zftvkikkW+3/JQFDxJy5b8fk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kDA97v/nM/Hgw89G+riDjQABAgQIEGgaAgKFpjEPzoIAAQIECNQLVFS0iU27dIytBvSOz4weGjslayxs3rtb/fHW8GFesuji40+8HA8/+ny8Mn12zHv7g2S9hOrWMHRjJECAAAECzUZAoNBspsqJEiBAgEBrE2iTvAaiXduqaJfctZAu2Dhs2wExoH/P6Nlj0+jQoX1UVVZF+qaI5r6tTIKCxYuXRfrmhhkz58azL8yM12fNi6VLlsey5Sti1apVzX2Izp8AAQIECLRIAYFCi5xWgyJAgAABAgQIECBAgAABAqUVECiU1lfrBAgQIECAAAECBAgQIECgRQoIFFrktBoUAQIECBAgQIAAAQIECBAorYBAobS+WidAgAABAgQIECBAgAABAi1SQKDQIqfVoAgQIECAAAECBAgQIECAQGkFBAql9dU6AQIECBAgQIAAAQIECBBokQIChRY5rQZFgAABAgQIECBAgAABAgRKKyBQKK2v1gkQIECAAAECBAgQIECAQIsUECi0yGk1KAIECBAgQIAAAQIECBAgUFoBgUJpfbVOgAABAgQIECBAgAABAgRapIBAoUVOq0ERIECAAAECBAgQIECAAIHSCggUSuurdQIECBAgQIAAAQIECBAg0CIFBAotcloNigABAgQIECBAgAABAgQIlFZAoFBaX60TIECAAAECBAgQIECAAIEWKSBQaJHTalAECBAgQIAAAQIECBAgQKC0AgKF0vpqnQABAgQIECBAgAABAgQItEiB/w8AAP//9n+T/QAAQABJREFU7Z0HnFXF2f8ftsAWWJalLB2WjgUQC2IEe1SIMfbYolGjJmo0mmp8E9/XkqLmn5jYFVvsvXeMQrDFjiK9LixlKQtb2MZ/5m4ubDn37sy555x77t3vfD6w9855Zs6c78w5d+Z3npnpVHLgRTuEAAEIQAACEIAABCAAAQhAAAIQgAAELAh0QlCwoIUpBCAAAQhAAAIQgAAEIAABCEAAAhECCAo0BAhAAAIQgAAEIAABCEAAAhCAAASsCSAoWCMjAQQgAAEIQAACEIAABCAAAQhAAAIICrQBCEAAAhCAAAQgAAEIQAACEIAABKwJIChYIyMBBCAAAQhAAAIQgAAEIAABCEAAAggKtAEIQAACEIAABCAAAQhAAAIQgAAErAkgKFgjIwEEIAABCEAAAhCAAAQgAAEI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";if(A.src!=s)return this.reportBrokenImages&&e&&this._apiService.postAttributeQualityFeedback(e.id,"image",A.src,Et.incorrect),yt((()=>{A.src=s}),250),!1},this._score0=new ft(this,30,1e3)}connectedCallback(){console.debug("connectedCallback"),super.connectedCallback(),this._renderState=Bt.SPLASH}disconnectedCallback(){console.debug("disconnectedCallback"),super.disconnectedCallback(),this._renderState=Bt.INIT,this._score0.stop(),this._score0.reset()}firstUpdated(t){console.debug("firstUpdated"),super.firstUpdated(t)}shouldUpdate(t){return console.debug("shouldUpdate"),super.shouldUpdate(t)}update(t){return console.debug("update"),super.update(t)}updated(t){return console.debug("updated"),super.updated(t)}render(){return console.debug("render"),W`
2
+ !function(){var t={353:function(t){t.exports=function(){"use strict";var t=6e4,e=36e5,A="millisecond",s="second",r="minute",n="hour",i="day",o="week",a="month",g="quarter",h="year",c="date",l="Invalid Date",d=/^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[Tt\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/,u=/\[([^\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,C={name:"en",weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),ordinal:function(t){var e=["th","st","nd","rd"],A=t%100;return"["+t+(e[(A-20)%10]||e[A]||e[0])+"]"}},I=function(t,e,A){var s=String(t);return!s||s.length>=e?t:""+Array(e+1-s.length).join(A)+t},Q={s:I,z:function(t){var e=-t.utcOffset(),A=Math.abs(e),s=Math.floor(A/60),r=A%60;return(e<=0?"+":"-")+I(s,2,"0")+":"+I(r,2,"0")},m:function t(e,A){if(e.date()<A.date())return-t(A,e);var s=12*(A.year()-e.year())+(A.month()-e.month()),r=e.clone().add(s,a),n=A-r<0,i=e.clone().add(s+(n?-1:1),a);return+(-(s+(A-r)/(n?r-i:i-r))||0)},a:function(t){return t<0?Math.ceil(t)||0:Math.floor(t)},p:function(t){return{M:a,y:h,w:o,d:i,D:c,h:n,m:r,s:s,ms:A,Q:g}[t]||String(t||"").toLowerCase().replace(/s$/,"")},u:function(t){return void 0===t}},p="en",E={};E[p]=C;var B="$isDayjsObject",m=function(t){return t instanceof y||!(!t||!t[B])},v=function t(e,A,s){var r;if(!e)return p;if("string"==typeof e){var n=e.toLowerCase();E[n]&&(r=n),A&&(E[n]=A,r=n);var i=e.split("-");if(!r&&i.length>1)return t(i[0])}else{var o=e.name;E[o]=e,r=o}return!s&&r&&(p=r),r||!s&&p},f=function(t,e){if(m(t))return t.clone();var A="object"==typeof e?e:{};return A.date=t,A.args=arguments,new y(A)},b=Q;b.l=v,b.i=m,b.w=function(t,e){return f(t,{locale:e.$L,utc:e.$u,x:e.$x,$offset:e.$offset})};var y=function(){function C(t){this.$L=v(t.locale,null,!0),this.parse(t),this.$x=this.$x||t.x||{},this[B]=!0}var I=C.prototype;return I.parse=function(t){this.$d=function(t){var e=t.date,A=t.utc;if(null===e)return new Date(NaN);if(b.u(e))return new Date;if(e instanceof Date)return new Date(e);if("string"==typeof e&&!/Z$/i.test(e)){var s=e.match(d);if(s){var r=s[2]-1||0,n=(s[7]||"0").substring(0,3);return A?new Date(Date.UTC(s[1],r,s[3]||1,s[4]||0,s[5]||0,s[6]||0,n)):new Date(s[1],r,s[3]||1,s[4]||0,s[5]||0,s[6]||0,n)}}return new Date(e)}(t),this.init()},I.init=function(){var t=this.$d;this.$y=t.getFullYear(),this.$M=t.getMonth(),this.$D=t.getDate(),this.$W=t.getDay(),this.$H=t.getHours(),this.$m=t.getMinutes(),this.$s=t.getSeconds(),this.$ms=t.getMilliseconds()},I.$utils=function(){return b},I.isValid=function(){return!(this.$d.toString()===l)},I.isSame=function(t,e){var A=f(t);return this.startOf(e)<=A&&A<=this.endOf(e)},I.isAfter=function(t,e){return f(t)<this.startOf(e)},I.isBefore=function(t,e){return this.endOf(e)<f(t)},I.$g=function(t,e,A){return b.u(t)?this[e]:this.set(A,t)},I.unix=function(){return Math.floor(this.valueOf()/1e3)},I.valueOf=function(){return this.$d.getTime()},I.startOf=function(t,e){var A=this,g=!!b.u(e)||e,l=b.p(t),d=function(t,e){var s=b.w(A.$u?Date.UTC(A.$y,e,t):new Date(A.$y,e,t),A);return g?s:s.endOf(i)},u=function(t,e){return b.w(A.toDate()[t].apply(A.toDate("s"),(g?[0,0,0,0]:[23,59,59,999]).slice(e)),A)},C=this.$W,I=this.$M,Q=this.$D,p="set"+(this.$u?"UTC":"");switch(l){case h:return g?d(1,0):d(31,11);case a:return g?d(1,I):d(0,I+1);case o:var E=this.$locale().weekStart||0,B=(C<E?C+7:C)-E;return d(g?Q-B:Q+(6-B),I);case i:case c:return u(p+"Hours",0);case n:return u(p+"Minutes",1);case r:return u(p+"Seconds",2);case s:return u(p+"Milliseconds",3);default:return this.clone()}},I.endOf=function(t){return this.startOf(t,!1)},I.$set=function(t,e){var o,g=b.p(t),l="set"+(this.$u?"UTC":""),d=(o={},o[i]=l+"Date",o[c]=l+"Date",o[a]=l+"Month",o[h]=l+"FullYear",o[n]=l+"Hours",o[r]=l+"Minutes",o[s]=l+"Seconds",o[A]=l+"Milliseconds",o)[g],u=g===i?this.$D+(e-this.$W):e;if(g===a||g===h){var C=this.clone().set(c,1);C.$d[d](u),C.init(),this.$d=C.set(c,Math.min(this.$D,C.daysInMonth())).$d}else d&&this.$d[d](u);return this.init(),this},I.set=function(t,e){return this.clone().$set(t,e)},I.get=function(t){return this[b.p(t)]()},I.add=function(A,g){var c,l=this;A=Number(A);var d=b.p(g),u=function(t){var e=f(l);return b.w(e.date(e.date()+Math.round(t*A)),l)};if(d===a)return this.set(a,this.$M+A);if(d===h)return this.set(h,this.$y+A);if(d===i)return u(1);if(d===o)return u(7);var C=(c={},c[r]=t,c[n]=e,c[s]=1e3,c)[d]||1,I=this.$d.getTime()+A*C;return b.w(I,this)},I.subtract=function(t,e){return this.add(-1*t,e)},I.format=function(t){var e=this,A=this.$locale();if(!this.isValid())return A.invalidDate||l;var s=t||"YYYY-MM-DDTHH:mm:ssZ",r=b.z(this),n=this.$H,i=this.$m,o=this.$M,a=A.weekdays,g=A.months,h=A.meridiem,c=function(t,A,r,n){return t&&(t[A]||t(e,s))||r[A].slice(0,n)},d=function(t){return b.s(n%12||12,t,"0")},C=h||function(t,e,A){var s=t<12?"AM":"PM";return A?s.toLowerCase():s};return s.replace(u,(function(t,s){return s||function(t){switch(t){case"YY":return String(e.$y).slice(-2);case"YYYY":return b.s(e.$y,4,"0");case"M":return o+1;case"MM":return b.s(o+1,2,"0");case"MMM":return c(A.monthsShort,o,g,3);case"MMMM":return c(g,o);case"D":return e.$D;case"DD":return b.s(e.$D,2,"0");case"d":return String(e.$W);case"dd":return c(A.weekdaysMin,e.$W,a,2);case"ddd":return c(A.weekdaysShort,e.$W,a,3);case"dddd":return a[e.$W];case"H":return String(n);case"HH":return b.s(n,2,"0");case"h":return d(1);case"hh":return d(2);case"a":return C(n,i,!0);case"A":return C(n,i,!1);case"m":return String(i);case"mm":return b.s(i,2,"0");case"s":return String(e.$s);case"ss":return b.s(e.$s,2,"0");case"SSS":return b.s(e.$ms,3,"0");case"Z":return r}return null}(t)||r.replace(":","")}))},I.utcOffset=function(){return 15*-Math.round(this.$d.getTimezoneOffset()/15)},I.diff=function(A,c,l){var d,u=this,C=b.p(c),I=f(A),Q=(I.utcOffset()-this.utcOffset())*t,p=this-I,E=function(){return b.m(u,I)};switch(C){case h:d=E()/12;break;case a:d=E();break;case g:d=E()/3;break;case o:d=(p-Q)/6048e5;break;case i:d=(p-Q)/864e5;break;case n:d=p/e;break;case r:d=p/t;break;case s:d=p/1e3;break;default:d=p}return l?d:b.a(d)},I.daysInMonth=function(){return this.endOf(a).$D},I.$locale=function(){return E[this.$L]},I.locale=function(t,e){if(!t)return this.$L;var A=this.clone(),s=v(t,e,!0);return s&&(A.$L=s),A},I.clone=function(){return b.w(this.$d,this)},I.toDate=function(){return new Date(this.valueOf())},I.toJSON=function(){return this.isValid()?this.toISOString():null},I.toISOString=function(){return this.$d.toISOString()},I.toString=function(){return this.$d.toUTCString()},C}(),w=y.prototype;return f.prototype=w,[["$ms",A],["$s",s],["$m",r],["$H",n],["$W",i],["$M",a],["$y",h],["$D",c]].forEach((function(t){w[t[1]]=function(e){return this.$g(e,t[0],t[1])}})),f.extend=function(t,e){return t.$i||(t(e,y,f),t.$i=!0),f},f.locale=v,f.isDayjs=m,f.unix=function(t){return f(1e3*t)},f.en=E[p],f.Ls=E,f.p={},f}()}},e={};function A(s){var r=e[s];if(void 0!==r)return r.exports;var n=e[s]={exports:{}};return t[s].call(n.exports,n,n.exports,A),n.exports}A.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return A.d(e,{a:e}),e},A.d=function(t,e){for(var s in e)A.o(e,s)&&!A.o(t,s)&&Object.defineProperty(t,s,{enumerable:!0,get:e[s]})},A.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},function(){"use strict";const t=globalThis,e=t.ShadowRoot&&(void 0===t.ShadyCSS||t.ShadyCSS.nativeShadow)&&"adoptedStyleSheets"in Document.prototype&&"replace"in CSSStyleSheet.prototype,s=Symbol(),r=new WeakMap;class n{constructor(t,e,A){if(this._$cssResult$=!0,A!==s)throw Error("CSSResult is not constructable. Use `unsafeCSS` or `css` instead.");this.cssText=t,this.t=e}get styleSheet(){let t=this.o;const A=this.t;if(e&&void 0===t){const e=void 0!==A&&1===A.length;e&&(t=r.get(A)),void 0===t&&((this.o=t=new CSSStyleSheet).replaceSync(this.cssText),e&&r.set(A,t))}return t}toString(){return this.cssText}}const i=(t,...e)=>{const A=1===t.length?t[0]:e.reduce(((e,A,s)=>e+(t=>{if(!0===t._$cssResult$)return t.cssText;if("number"==typeof t)return t;throw Error("Value passed to 'css' function must be a 'css' function result: "+t+". Use 'unsafeCSS' to pass non-literal values, but take care to ensure page security.")})(A)+t[s+1]),t[0]);return new n(A,t,s)},o=(A,s)=>{if(e)A.adoptedStyleSheets=s.map((t=>t instanceof CSSStyleSheet?t:t.styleSheet));else for(const e of s){const s=document.createElement("style"),r=t.litNonce;void 0!==r&&s.setAttribute("nonce",r),s.textContent=e.cssText,A.appendChild(s)}},a=e?t=>t:t=>t instanceof CSSStyleSheet?(t=>{let e="";for(const A of t.cssRules)e+=A.cssText;return(t=>new n("string"==typeof t?t:t+"",void 0,s))(e)})(t):t,{is:g,defineProperty:h,getOwnPropertyDescriptor:c,getOwnPropertyNames:l,getOwnPropertySymbols:d,getPrototypeOf:u}=Object,C=globalThis,I=C.trustedTypes,Q=I?I.emptyScript:"",p=C.reactiveElementPolyfillSupport,E=(t,e)=>t,B={toAttribute(t,e){switch(e){case Boolean:t=t?Q:null;break;case Object:case Array:t=null==t?t:JSON.stringify(t)}return t},fromAttribute(t,e){let A=t;switch(e){case Boolean:A=null!==t;break;case Number:A=null===t?null:Number(t);break;case Object:case Array:try{A=JSON.parse(t)}catch(t){A=null}}return A}},m=(t,e)=>!g(t,e),v={attribute:!0,type:String,converter:B,reflect:!1,hasChanged:m};Symbol.metadata??=Symbol("metadata"),C.litPropertyMetadata??=new WeakMap;class f extends HTMLElement{static addInitializer(t){this._$Ei(),(this.l??=[]).push(t)}static get observedAttributes(){return this.finalize(),this._$Eh&&[...this._$Eh.keys()]}static createProperty(t,e=v){if(e.state&&(e.attribute=!1),this._$Ei(),this.elementProperties.set(t,e),!e.noAccessor){const A=Symbol(),s=this.getPropertyDescriptor(t,A,e);void 0!==s&&h(this.prototype,t,s)}}static getPropertyDescriptor(t,e,A){const{get:s,set:r}=c(this.prototype,t)??{get(){return this[e]},set(t){this[e]=t}};return{get(){return s?.call(this)},set(e){const n=s?.call(this);r.call(this,e),this.requestUpdate(t,n,A)},configurable:!0,enumerable:!0}}static getPropertyOptions(t){return this.elementProperties.get(t)??v}static _$Ei(){if(this.hasOwnProperty(E("elementProperties")))return;const t=u(this);t.finalize(),void 0!==t.l&&(this.l=[...t.l]),this.elementProperties=new Map(t.elementProperties)}static finalize(){if(this.hasOwnProperty(E("finalized")))return;if(this.finalized=!0,this._$Ei(),this.hasOwnProperty(E("properties"))){const t=this.properties,e=[...l(t),...d(t)];for(const A of e)this.createProperty(A,t[A])}const t=this[Symbol.metadata];if(null!==t){const e=litPropertyMetadata.get(t);if(void 0!==e)for(const[t,A]of e)this.elementProperties.set(t,A)}this._$Eh=new Map;for(const[t,e]of this.elementProperties){const A=this._$Eu(t,e);void 0!==A&&this._$Eh.set(A,t)}this.elementStyles=this.finalizeStyles(this.styles)}static finalizeStyles(t){const e=[];if(Array.isArray(t)){const A=new Set(t.flat(1/0).reverse());for(const t of A)e.unshift(a(t))}else void 0!==t&&e.push(a(t));return e}static _$Eu(t,e){const A=e.attribute;return!1===A?void 0:"string"==typeof A?A:"string"==typeof t?t.toLowerCase():void 0}constructor(){super(),this._$Ep=void 0,this.isUpdatePending=!1,this.hasUpdated=!1,this._$Em=null,this._$Ev()}_$Ev(){this._$ES=new Promise((t=>this.enableUpdating=t)),this._$AL=new Map,this._$E_(),this.requestUpdate(),this.constructor.l?.forEach((t=>t(this)))}addController(t){(this._$EO??=new Set).add(t),void 0!==this.renderRoot&&this.isConnected&&t.hostConnected?.()}removeController(t){this._$EO?.delete(t)}_$E_(){const t=new Map,e=this.constructor.elementProperties;for(const A of e.keys())this.hasOwnProperty(A)&&(t.set(A,this[A]),delete this[A]);t.size>0&&(this._$Ep=t)}createRenderRoot(){const t=this.shadowRoot??this.attachShadow(this.constructor.shadowRootOptions);return o(t,this.constructor.elementStyles),t}connectedCallback(){this.renderRoot??=this.createRenderRoot(),this.enableUpdating(!0),this._$EO?.forEach((t=>t.hostConnected?.()))}enableUpdating(t){}disconnectedCallback(){this._$EO?.forEach((t=>t.hostDisconnected?.()))}attributeChangedCallback(t,e,A){this._$AK(t,A)}_$EC(t,e){const A=this.constructor.elementProperties.get(t),s=this.constructor._$Eu(t,A);if(void 0!==s&&!0===A.reflect){const r=(void 0!==A.converter?.toAttribute?A.converter:B).toAttribute(e,A.type);this._$Em=t,null==r?this.removeAttribute(s):this.setAttribute(s,r),this._$Em=null}}_$AK(t,e){const A=this.constructor,s=A._$Eh.get(t);if(void 0!==s&&this._$Em!==s){const t=A.getPropertyOptions(s),r="function"==typeof t.converter?{fromAttribute:t.converter}:void 0!==t.converter?.fromAttribute?t.converter:B;this._$Em=s,this[s]=r.fromAttribute(e,t.type),this._$Em=null}}requestUpdate(t,e,A){if(void 0!==t){if(A??=this.constructor.getPropertyOptions(t),!(A.hasChanged??m)(this[t],e))return;this.P(t,e,A)}!1===this.isUpdatePending&&(this._$ES=this._$ET())}P(t,e,A){this._$AL.has(t)||this._$AL.set(t,e),!0===A.reflect&&this._$Em!==t&&(this._$Ej??=new Set).add(t)}async _$ET(){this.isUpdatePending=!0;try{await this._$ES}catch(t){Promise.reject(t)}const t=this.scheduleUpdate();return null!=t&&await t,!this.isUpdatePending}scheduleUpdate(){return this.performUpdate()}performUpdate(){if(!this.isUpdatePending)return;if(!this.hasUpdated){if(this.renderRoot??=this.createRenderRoot(),this._$Ep){for(const[t,e]of this._$Ep)this[t]=e;this._$Ep=void 0}const t=this.constructor.elementProperties;if(t.size>0)for(const[e,A]of t)!0!==A.wrapped||this._$AL.has(e)||void 0===this[e]||this.P(e,this[e],A)}let t=!1;const e=this._$AL;try{t=this.shouldUpdate(e),t?(this.willUpdate(e),this._$EO?.forEach((t=>t.hostUpdate?.())),this.update(e)):this._$EU()}catch(e){throw t=!1,this._$EU(),e}t&&this._$AE(e)}willUpdate(t){}_$AE(t){this._$EO?.forEach((t=>t.hostUpdated?.())),this.hasUpdated||(this.hasUpdated=!0,this.firstUpdated(t)),this.updated(t)}_$EU(){this._$AL=new Map,this.isUpdatePending=!1}get updateComplete(){return this.getUpdateComplete()}getUpdateComplete(){return this._$ES}shouldUpdate(t){return!0}update(t){this._$Ej&&=this._$Ej.forEach((t=>this._$EC(t,this[t]))),this._$EU()}updated(t){}firstUpdated(t){}}f.elementStyles=[],f.shadowRootOptions={mode:"open"},f[E("elementProperties")]=new Map,f[E("finalized")]=new Map,p?.({ReactiveElement:f}),(C.reactiveElementVersions??=[]).push("2.0.4");const b=globalThis,y=b.trustedTypes,w=y?y.createPolicy("lit-html",{createHTML:t=>t}):void 0,S="$lit$",T=`lit$${Math.random().toFixed(9).slice(2)}$`,_="?"+T,U=`<${_}>`,P=document,x=()=>P.createComment(""),K=t=>null===t||"object"!=typeof t&&"function"!=typeof t,O=Array.isArray,k="[ \t\n\f\r]",H=/<(?:(!--|\/[^a-zA-Z])|(\/?[a-zA-Z][^>\s]*)|(\/?$))/g,F=/-->/g,M=/>/g,N=RegExp(`>|${k}(?:([^\\s"'>=/]+)(${k}*=${k}*(?:[^ \t\n\f\r"'\`<>=]|("|')|))|$)`,"g"),D=/'/g,j=/"/g,Y=/^(?:script|style|textarea|title)$/i,R=t=>(e,...A)=>({_$litType$:t,strings:e,values:A}),W=R(1),J=(R(2),R(3),Symbol.for("lit-noChange")),z=Symbol.for("lit-nothing"),L=new WeakMap,V=P.createTreeWalker(P,129);function X(t,e){if(!O(t)||!t.hasOwnProperty("raw"))throw Error("invalid template strings array");return void 0!==w?w.createHTML(e):e}const Z=(t,e)=>{const A=t.length-1,s=[];let r,n=2===e?"<svg>":3===e?"<math>":"",i=H;for(let e=0;e<A;e++){const A=t[e];let o,a,g=-1,h=0;for(;h<A.length&&(i.lastIndex=h,a=i.exec(A),null!==a);)h=i.lastIndex,i===H?"!--"===a[1]?i=F:void 0!==a[1]?i=M:void 0!==a[2]?(Y.test(a[2])&&(r=RegExp("</"+a[2],"g")),i=N):void 0!==a[3]&&(i=N):i===N?">"===a[0]?(i=r??H,g=-1):void 0===a[1]?g=-2:(g=i.lastIndex-a[2].length,o=a[1],i=void 0===a[3]?N:'"'===a[3]?j:D):i===j||i===D?i=N:i===F||i===M?i=H:(i=N,r=void 0);const c=i===N&&t[e+1].startsWith("/>")?" ":"";n+=i===H?A+U:g>=0?(s.push(o),A.slice(0,g)+S+A.slice(g)+T+c):A+T+(-2===g?e:c)}return[X(t,n+(t[A]||"<?>")+(2===e?"</svg>":3===e?"</math>":"")),s]};class G{constructor({strings:t,_$litType$:e},A){let s;this.parts=[];let r=0,n=0;const i=t.length-1,o=this.parts,[a,g]=Z(t,e);if(this.el=G.createElement(a,A),V.currentNode=this.el.content,2===e||3===e){const t=this.el.content.firstChild;t.replaceWith(...t.childNodes)}for(;null!==(s=V.nextNode())&&o.length<i;){if(1===s.nodeType){if(s.hasAttributes())for(const t of s.getAttributeNames())if(t.endsWith(S)){const e=g[n++],A=s.getAttribute(t).split(T),i=/([.?@])?(.*)/.exec(e);o.push({type:1,index:r,name:i[2],strings:A,ctor:"."===i[1]?At:"?"===i[1]?st:"@"===i[1]?rt:et}),s.removeAttribute(t)}else t.startsWith(T)&&(o.push({type:6,index:r}),s.removeAttribute(t));if(Y.test(s.tagName)){const t=s.textContent.split(T),e=t.length-1;if(e>0){s.textContent=y?y.emptyScript:"";for(let A=0;A<e;A++)s.append(t[A],x()),V.nextNode(),o.push({type:2,index:++r});s.append(t[e],x())}}}else if(8===s.nodeType)if(s.data===_)o.push({type:2,index:r});else{let t=-1;for(;-1!==(t=s.data.indexOf(T,t+1));)o.push({type:7,index:r}),t+=T.length-1}r++}}static createElement(t,e){const A=P.createElement("template");return A.innerHTML=t,A}}function q(t,e,A=t,s){if(e===J)return e;let r=void 0!==s?A._$Co?.[s]:A._$Cl;const n=K(e)?void 0:e._$litDirective$;return r?.constructor!==n&&(r?._$AO?.(!1),void 0===n?r=void 0:(r=new n(t),r._$AT(t,A,s)),void 0!==s?(A._$Co??=[])[s]=r:A._$Cl=r),void 0!==r&&(e=q(t,r._$AS(t,e.values),r,s)),e}class ${constructor(t,e){this._$AV=[],this._$AN=void 0,this._$AD=t,this._$AM=e}get parentNode(){return this._$AM.parentNode}get _$AU(){return this._$AM._$AU}u(t){const{el:{content:e},parts:A}=this._$AD,s=(t?.creationScope??P).importNode(e,!0);V.currentNode=s;let r=V.nextNode(),n=0,i=0,o=A[0];for(;void 0!==o;){if(n===o.index){let e;2===o.type?e=new tt(r,r.nextSibling,this,t):1===o.type?e=new o.ctor(r,o.name,o.strings,this,t):6===o.type&&(e=new nt(r,this,t)),this._$AV.push(e),o=A[++i]}n!==o?.index&&(r=V.nextNode(),n++)}return V.currentNode=P,s}p(t){let e=0;for(const A of this._$AV)void 0!==A&&(void 0!==A.strings?(A._$AI(t,A,e),e+=A.strings.length-2):A._$AI(t[e])),e++}}class tt{get _$AU(){return this._$AM?._$AU??this._$Cv}constructor(t,e,A,s){this.type=2,this._$AH=z,this._$AN=void 0,this._$AA=t,this._$AB=e,this._$AM=A,this.options=s,this._$Cv=s?.isConnected??!0}get parentNode(){let t=this._$AA.parentNode;const e=this._$AM;return void 0!==e&&11===t?.nodeType&&(t=e.parentNode),t}get startNode(){return this._$AA}get endNode(){return this._$AB}_$AI(t,e=this){t=q(this,t,e),K(t)?t===z||null==t||""===t?(this._$AH!==z&&this._$AR(),this._$AH=z):t!==this._$AH&&t!==J&&this._(t):void 0!==t._$litType$?this.$(t):void 0!==t.nodeType?this.T(t):(t=>O(t)||"function"==typeof t?.[Symbol.iterator])(t)?this.k(t):this._(t)}O(t){return this._$AA.parentNode.insertBefore(t,this._$AB)}T(t){this._$AH!==t&&(this._$AR(),this._$AH=this.O(t))}_(t){this._$AH!==z&&K(this._$AH)?this._$AA.nextSibling.data=t:this.T(P.createTextNode(t)),this._$AH=t}$(t){const{values:e,_$litType$:A}=t,s="number"==typeof A?this._$AC(t):(void 0===A.el&&(A.el=G.createElement(X(A.h,A.h[0]),this.options)),A);if(this._$AH?._$AD===s)this._$AH.p(e);else{const t=new $(s,this),A=t.u(this.options);t.p(e),this.T(A),this._$AH=t}}_$AC(t){let e=L.get(t.strings);return void 0===e&&L.set(t.strings,e=new G(t)),e}k(t){O(this._$AH)||(this._$AH=[],this._$AR());const e=this._$AH;let A,s=0;for(const r of t)s===e.length?e.push(A=new tt(this.O(x()),this.O(x()),this,this.options)):A=e[s],A._$AI(r),s++;s<e.length&&(this._$AR(A&&A._$AB.nextSibling,s),e.length=s)}_$AR(t=this._$AA.nextSibling,e){for(this._$AP?.(!1,!0,e);t&&t!==this._$AB;){const e=t.nextSibling;t.remove(),t=e}}setConnected(t){void 0===this._$AM&&(this._$Cv=t,this._$AP?.(t))}}class et{get tagName(){return this.element.tagName}get _$AU(){return this._$AM._$AU}constructor(t,e,A,s,r){this.type=1,this._$AH=z,this._$AN=void 0,this.element=t,this.name=e,this._$AM=s,this.options=r,A.length>2||""!==A[0]||""!==A[1]?(this._$AH=Array(A.length-1).fill(new String),this.strings=A):this._$AH=z}_$AI(t,e=this,A,s){const r=this.strings;let n=!1;if(void 0===r)t=q(this,t,e,0),n=!K(t)||t!==this._$AH&&t!==J,n&&(this._$AH=t);else{const s=t;let i,o;for(t=r[0],i=0;i<r.length-1;i++)o=q(this,s[A+i],e,i),o===J&&(o=this._$AH[i]),n||=!K(o)||o!==this._$AH[i],o===z?t=z:t!==z&&(t+=(o??"")+r[i+1]),this._$AH[i]=o}n&&!s&&this.j(t)}j(t){t===z?this.element.removeAttribute(this.name):this.element.setAttribute(this.name,t??"")}}class At extends et{constructor(){super(...arguments),this.type=3}j(t){this.element[this.name]=t===z?void 0:t}}class st extends et{constructor(){super(...arguments),this.type=4}j(t){this.element.toggleAttribute(this.name,!!t&&t!==z)}}class rt extends et{constructor(t,e,A,s,r){super(t,e,A,s,r),this.type=5}_$AI(t,e=this){if((t=q(this,t,e,0)??z)===J)return;const A=this._$AH,s=t===z&&A!==z||t.capture!==A.capture||t.once!==A.once||t.passive!==A.passive,r=t!==z&&(A===z||s);s&&this.element.removeEventListener(this.name,this,A),r&&this.element.addEventListener(this.name,this,t),this._$AH=t}handleEvent(t){"function"==typeof this._$AH?this._$AH.call(this.options?.host??this.element,t):this._$AH.handleEvent(t)}}class nt{constructor(t,e,A){this.element=t,this.type=6,this._$AN=void 0,this._$AM=e,this.options=A}get _$AU(){return this._$AM._$AU}_$AI(t){q(this,t)}}const it=b.litHtmlPolyfillSupport;it?.(G,tt),(b.litHtmlVersions??=[]).push("3.2.1");class ot extends f{constructor(){super(...arguments),this.renderOptions={host:this},this._$Do=void 0}createRenderRoot(){const t=super.createRenderRoot();return this.renderOptions.renderBefore??=t.firstChild,t}update(t){const e=this.render();this.hasUpdated||(this.renderOptions.isConnected=this.isConnected),super.update(t),this._$Do=((t,e,A)=>{const s=A?.renderBefore??e;let r=s._$litPart$;if(void 0===r){const t=A?.renderBefore??null;s._$litPart$=r=new tt(e.insertBefore(x(),t),t,void 0,A??{})}return r._$AI(t),r})(e,this.renderRoot,this.renderOptions)}connectedCallback(){super.connectedCallback(),this._$Do?.setConnected(!0)}disconnectedCallback(){super.disconnectedCallback(),this._$Do?.setConnected(!1)}render(){return J}}ot._$litElement$=!0,ot.finalized=!0,globalThis.litElementHydrateSupport?.({LitElement:ot});const at=globalThis.litElementPolyfillSupport;at?.({LitElement:ot}),(globalThis.litElementVersions??=[]).push("4.1.1");const gt={attribute:!0,type:String,converter:B,reflect:!1,hasChanged:m},ht=(t=gt,e,A)=>{const{kind:s,metadata:r}=A;let n=globalThis.litPropertyMetadata.get(r);if(void 0===n&&globalThis.litPropertyMetadata.set(r,n=new Map),n.set(A.name,t),"accessor"===s){const{name:s}=A;return{set(A){const r=e.get.call(this);e.set.call(this,A),this.requestUpdate(s,r,t)},init(e){return void 0!==e&&this.P(s,void 0,t),e}}}if("setter"===s){const{name:s}=A;return function(A){const r=this[s];e.call(this,A),this.requestUpdate(s,r,t)}}throw Error("Unsupported decorator location: "+s)};function ct(t){return(e,A)=>"object"==typeof A?ht(t,e,A):((t,e,A)=>{const s=e.hasOwnProperty(A);return e.constructor.createProperty(A,s?{...t,wrapped:!0}:t),s?Object.getOwnPropertyDescriptor(e,A):void 0})(t,e,A)}function lt(t){return ct({...t,state:!0,attribute:!1})}var dt,ut=A(353),Ct=A.n(ut);!function(t){t.tvShowOrSeries="tvShowOrSeries",t.showbizz="showbizz",t.trend="trend",t.tech="tech",t.fashionTrend="fashionTrend",t.cinemaMovie="cinemaMovie",t.streetScene="streetScene",t.newsPresenter="newsPresenter",t.radioSong="radioSong",t.newsItem="newsItem",t.iconicAlbum="iconicAlbum",t.radioShow="radioShow",t.bestSellerBook="bestSellerBook",t.advertisement="advertisement",t.car="car",t.sports="sports",t.unknown="unknown"}(dt||(dt={}));const It=[dt.cinemaMovie,dt.newsItem,dt.newsPresenter,dt.radioSong,dt.showbizz,dt.sports,dt.tech,dt.tvShowOrSeries];class Qt{static async asyncForeach(t,e){for(let A=0;A<t.length;A++)await e(t[A],A,t)}static removeAllChildren(t){if(!t)return;let e=t.lastChild;for(;e;)t.removeChild(e),e=t.lastChild}static shuffleArray(t){return t.sort((()=>Math.random()-.5))}static dobToGeneration(t){return t>=2013?"generationalpha":t>=1997?"generationz":t>=1981?"generationy":t>=1965?"generationx":t>=1946?"babyboomers":t>=1928?"silentgeneration":t>=1901?"greatestgeneration":""}}class pt{constructor(t){this.teeeApiUrl=t}async fetchOneIncident(t,e,A,s,r,n,i,o,a){return new Promise((async(g,h)=>{console.debug("fetchHistory");const c=t||"",l=e||"",d=A||"",u=s||"",C=r||"",I=n||"",Q=i||"",p=o||"",E=a||"";try{const t=[],e=new URLSearchParams({pov:c,emotion:d,impact:u,limit:"1",variant:E});if(e.append("seed",""+(new Date).getTime()),o&&e.append("maxlasted",""+p),e.set("category",l),C){const A=new URL(`${this.teeeApiUrl}/${r}`);A.search=e.toString(),t.push(A)}else{if(!I||!Q)throw"No correct date or period specified.";{const A=new Date(I).toISOString().substring(0,10),s=new Date(Q).toISOString().substring(0,10);e.set("from",A),e.set("to",s);const r=new URL(this.teeeApiUrl);r.search=e.toString(),t.push(r)}}let A=[];await Qt.asyncForeach(t,(async t=>{const e=await fetch(t),s=await e.json();A=A.concat(s.results)}));const s=A.length?A[0]:void 0,n={};A.forEach((t=>{t.source&&(n[t.source]=!0)})),console.debug([A,n]),g({incident:s,sources:Object.keys(n)})}catch(t){h(t)}}))}async postAttributeQualityFeedback(t,e,A,s){const r=`${this.teeeApiUrl}/feedback/${t}/attribute`;await fetch(r,{method:"POST",headers:{Accept:"application/json","Content-Type":"application/json"},body:JSON.stringify({attribute:e,value:A,remark:s})})}async postIncidentFeedback(t,e){const A=`${this.teeeApiUrl}/feedback/${t}/remark`;await fetch(A,{method:"POST",headers:{Accept:"application/json","Content-Type":"application/json"},body:JSON.stringify({remark:e})})}async incidentRecallability(t,e,A){this.postIncidentFeedback(t,`recall:absolute-year:${Qt.dobToGeneration(e)}:${A}`)}}var Et,Bt;!function(t){t.incorrect="incorrect",t.tooShort="tooShort",t.tooLong="tooLong",t.toneOfVoice="toneOfVoice",t.missing="missing",t.noMatch="noMatch",t.badData="badData",t.unknown="unknown"}(Et||(Et={}));class mt{constructor(t={}){this.HintTemplates=t,t[dt.newsPresenter]=["__TITLE__ presenteerde het acht uur journaal."],t[dt.tech]=["Technieuws: __TITLE__.","Techneuten liepen warm voor '__TITLE__'."],t[dt.showbizz]=["Veel in het showbizz nieuws: __TITLE__."],t[dt.sports]=["Sportnieuws: __TITLE__.","Sportfanaten spraken over '__TITLE__'."],t[dt.tvShowOrSeries]=["Op tv was '__TITLE__'.","'s Avonds keken we naar '__TITLE__' op televisie."],t[dt.newsItem]=["In de krant stond dit jaar ook '__TITLE__'.","'__TITLE__' was dit jaar ook in het nieuws te lezen."],t[dt.cinemaMovie]=["De film '__TITLE__' draaide in de bioscoop.","De film '__TITLE__' was een kaskraker.","In de bioscoop was de film '__TITLE__' te zien.","'__TITLE__' was op het witte doek te zien."],t[dt.radioSong]=["De hit '__TRACK__' van __ARTIST__ was een graag gedraaide tune op de radio.","Aan het liedje '__TRACK__' van __ARTIST__ was niet te ontkomen op de radio.","__ARTIST__' '__TRACK__' klonk regelmatig op de radio.","Je kon '__TRACK__' van __ARTIST__ niet missen op de radio, het werd zo vaak gedraaid.","'__TRACK__' van __ARTIST__ was een vast nummer op de radio.","In die tijd was '__TRACK__' van __ARTIST__ een veelgehoorde radiohit.","'__TRACK__' van __ARTIST__ was een radio-favoriet in dit jaar.","De radiostations zonden '__TRACK__' van __ARTIST__ uit.","Het nummer '__TRACK__' van __ARTIST__ genoot veel airplay op de radio.","'__TRACK__' van __ARTIST__ was een veelgehoord nummer op de radiostations.","'__TRACK__' van __ARTIST__ werd een radioklassieker.","'__TRACK__' van __ARTIST__ was een onvergetelijke hit die de radio domineerde.","'__TRACK__' van __ARTIST__ was een veelgehoorde hit.","De radiostations draaiden '__TRACK__' van __ARTIST__ grijs.","'__TRACK__' van __ARTIST__ was een catchy nummer dat je bleef meezingen.","De beat van '__TRACK__' van __ARTIST__ was onweerstaanbaar.","'__TRACK__' van __ARTIST__ had een unieke sound die je niet snel vergat.","Je kon niet om '__TRACK__' van __ARTIST__ heen."]}translate(t){switch(t){case"year":return"jaar";case"start":return"start";case"new-game":return"nieuw spel";case"end":return"Goed gedaan!";case"next-question":return"Volgende vraag";case"quit":return"Afsluiten";case"answer-correct":return"Correct";case"answer-wrong":return"Helaas";case"question-number":return"Vraag";case"question-score":return"Score";case"total-score":return"Totaalscore";case"show-hint":return"Toon hint";case"used-hint-singular":return"Je hebt 1 hint gebruikt";case"used-hint-plural":return"Je hebt __HINTS__ hints gebruikt";case"number-points-singular":return"Voor deze vraag heb je 1 punt gehaald";case"number-points-plural":return"Voor deze vraag heb je __POINTS__ punten gehaald";case"correct-answer-was":return"Je koos voor __WRONG__ maar het juiste antwoord was __CORRECT__";case"no-answer-correct-answer-was":return"Je hebt geen antwoord gegeven maar het juiste antwoord was __CORRECT__";case"game-name":return"Guess The Year";case"game-call-to-action":return"Game on! Uit __FROM__ tot __TO__";case"your-answer":return"Mijn antwoord";case"your-feedback":return"opmerkingen";case"try-left":return"__TRIES__ poging over";case"tries-left":return"__TRIES__ pogingen over";case"in-one-second":return"In __SECONDS__ seconde";case"in-x-seconds":return"In __SECONDS__ seconden";case"game-settings-p0":return" Welk geboortejaar?";case"game-settings-p1":return" Right. Oh hey, Biff, hey, guys, how are you doing? Look, there's a rhythmic";case"game-settings-p2":return" vragen ceremonial ritual coming up.Vanaf begin";case"game-settings-p3":return" Precisely, just relax now Calvin. Tot eind";case"game-settings-p4":return" you've got a big bruise on you're head.";case"game-introduction-p1":return"somethng";case"game-introduction-p2":return"Excuse me. Go. Go. Never mind that, never mind that now, never mind that, never mind- Yeah, well, how about my homework, McFly? Don't stop, Wilbert, drive.";case"game-introduction-p3":return"Mom, is that you? Oh. Uh Doc, uh no. No, don't be silly. What did your mother ever see in that kid? You guys, take him in back and I'll be right there. Well c'mon, this ain't no peep show.";case"game-introduction-welcome":return"Welkom bij Guess The Year!"}return t}}!function(t){t.INIT="init",t.SPLASH="splash",t.INTRO="intro",t.PLAY="play",t.END="end"}(Bt||(Bt={}));var vt=i`h1{color:var(--guess-the-year-title-color, rgb(0, 0, 0));background-color:var(--guess-the-year-title-background-color, rgba(255, 255, 255, 0.7));font-size:var(--guess-the-year-title-font-size, 16px);margin:0;padding:1rem;text-align:center}p{color:var(--guess-the-year-text-color, black);font-size:var(--guess-the-year-text-font-size, 14px)}:host{position:relative;color:var(--guess-the-year-text-color, black);background:var(--guess-the-year-background-color, white);width:100%;height:100%}.guess-the-year-container{position:relative;width:100%;height:100%;max-width:768px;margin:0 auto}.guess-the-year-header{position:sticky;z-index:100;top:0;box-shadow:0px 5px 5px 0px rgba(0,0,0,.3);margin-bottom:15px}.footer{position:absolute;bottom:0;left:0;right:0;color:var(--guess-the-year-footer-color, rgb(0, 0, 0));font-size:var(--guess-the-year-footer-font-size, 12px);margin:0;z-index:-1}.splashscreen{background-color:var(--guess-the-year-splash-screen-background-color, rgba(255, 255, 255, 0.7));color:var(--guess-the-year-splash-screen-color, rgb(0, 0, 0));font-size:var(--guess-the-year-splash-screen-font-size, 16px);margin:0;text-align:center;width:100%;height:90vh}.splashscreen .splash-logo{margin:0 auto;padding:0;display:block;width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center}.splashscreen .splash-logo img{max-width:300px;border-radius:50%;border:1px solid #000}div.game-intro{color:var(--guess-the-year-title-color, rgb(0, 0, 0));margin:0;padding:0;text-align:left}div.game-intro>div{background-color:var(--guess-the-year-intro-background-color, rgba(255, 255, 255, 0.7));padding:1rem;max-width:70ch;margin:1rem auto}div.game-intro .game-start button{background-color:var(--guess-the-year-button-background-color, rgb(0, 0, 0));color:var(--guess-the-year-button-color, rgb(255, 255, 255));border:0;padding:1rem;margin:1rem auto;display:block;width:100%;font-size:var(--guess-the-year-button-font-size, 1rem);font-weight:bold;text-transform:uppercase;cursor:pointer}.guess-the-year-game-stage{position:relative;padding-bottom:100px}.guess-the-year-game-stage .container{position:relative;width:100%;height:100%}.guess-the-year-game-stage .incident--title{top:0;width:100%;border-top:1px solid #fff;margin-bottom:10px}.guess-the-year-game-stage .incident--image{z-index:-1;height:40vh;display:flex;align-items:center;justify-content:center}.guess-the-year-game-stage .incident--image img{max-width:100%;max-height:100%}.guess-the-year-game-stage .incident--text{background-color:var(--guess-the-year-text-background-color, rgba(255, 255, 255, 0.5));color:var(--guess-the-year-text-color, rgb(0, 0, 0));font-size:var(--guess-the-year-text-font-size, 14px)}.guess-the-year-game-stage .game-controls{position:sticky;bottom:25px;left:0;width:100%;background-color:hsla(0,0%,100%,.7);padding-top:10px}.guess-the-year-game-stage .game-controls--hint{text-align:right}.guess-the-year-game-stage .game-controls--hint button{margin:10px;padding:10px;border-radius:10px;border:1px solid #000;cursor:pointer;background-color:var(--guess-the-year-text-background-color);color:var(--guess-the-year-text-color)}.guess-the-year-game-stage .game-controls--hint button:hover{background-color:var(--guess-the-year-button-background-color);color:var(--guess-the-year-button-color)}.guess-the-year-game-stage .game-controls--answers .answers--list ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:row;align-items:center;justify-content:space-evenly}.guess-the-year-game-stage .game-controls--answers .answers--list ul li{border:1px solid #000;border-radius:10px;padding:10px 10px;cursor:pointer;background-color:var(--guess-the-year-text-background-color)}.guess-the-year-game-stage .game-controls--answers .answers--list ul li:hover{background-color:var(--guess-the-year-button-background-color);color:var(--guess-the-year-button-color)}.guess-the-year-game-stage .feedback{position:absolute;top:0;left:0;right:0;bottom:0;height:100%;width:100%;margin:auto;backdrop-filter:blur(10px);display:flex;align-items:center;justify-content:center}.guess-the-year-game-stage .feedback--content{width:300px;background-color:var(--guess-the-year-text-background-color);padding:15px;border-radius:10px;box-shadow:0px 5px 5px 0px rgba(0,0,0,.3)}.guess-the-year-game-stage .game-score{display:flex;flex-direction:row;align-items:center;justify-content:space-evenly;margin-bottom:10px}.guess-the-year-game-stage .game-score--label{font-size:80%}.guess-the-year-game-stage .game-score--value{font-weight:bold}.guess-the-year-sources{font-size:70%}`;class ft{constructor(t,e=0,A=1e3){this.value=0,(this.host=t).addController(this),this.startValue=e,this.value=e,this.timeout=A}start(){this._timerID=setInterval((()=>{this.value-=1,this.host.requestUpdate()}),this.timeout)}stop(){clearInterval(this._timerID),this._timerID=void 0}reset(){this.value=this.startValue}subtract(t){this.value-=t,this.value<0&&(this.value=0)}isRunning(){return!!this._timerID}hostDisconnected(){clearInterval(this._timerID),this._timerID=void 0}}var bt=function(t,e,A,s){var r,n=arguments.length,i=n<3?e:null===s?s=Object.getOwnPropertyDescriptor(e,A):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)i=Reflect.decorate(t,e,A,s);else for(var o=t.length-1;o>=0;o--)(r=t[o])&&(i=(n<3?r(i):n>3?r(e,A,i):r(e,A))||i);return n>3&&i&&Object.defineProperty(e,A,i),i};const{setTimeout:yt}=window,wt=1950,St=parseInt(Ct()().format("YYYY"),10),Tt="gty-from-year",_t="gty-to-year",Ut="gty-number-of-questions",Pt=parseInt(Ct()().format("YYYY"),10)-10,xt="gty-player-dob";let Kt=class extends ot{get loading(){return this._loading}set loading(t){this._loading=t}constructor(){super(),this.sources=[],this._loading=!1,this.teeeApiUrl="https://api.tee-e.com",this.reportBrokenImages=!1,this.date="",this.country="",this.category="",this.emotion="",this.impact="",this.from=Ct()(`${window.localStorage.getItem(Tt)||wt}-01-01`,"YYYY-MM-DD"),this.to=Ct()(`${window.localStorage.getItem(_t)||St}-01-01`,"YYYY-MM-DD"),this.noImageSrc="",this.suppressImages=!1,this.maxHints=3,this.numberOfQuestions=parseInt(window.localStorage.getItem(Ut)||"10",10),this._numberOfQuestionsSeen=0,this._playerDob=parseInt(window.localStorage.getItem(xt)||"0",10),this._incident=void 0,this._answers=[],this._hint=void 0,this._showHint=!0,this._showFooter=!1,this._hintsIndex=0,this._hints=[],this._solution=void 0,this._renderState=Bt.INIT,this._score=30,this.totalScore=0,this._answer=void 0,this._apiService=new pt(this.teeeApiUrl),this.i18n=new mt,this._handleImageLoadError=(t,e)=>{const A=t.target;console.debug(`Error loading image: ${A.src}`);const s=this.noImageSrc||"data:image/png;base64,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CBAgQIAAAQICBdcAAQIECBAgQIAAAQIECBAgkFlAoJCZTAUCBAgQIECAAAECBAgQIEBAoOAaIECAAAECBAgQIECAAAECBDILCBQyk6lAgAABAgQIECBAgAABAgQICBRcAwQIECBAgAABAgQIECBAgEBmAYFCZjIVCBAgQIAAAQIECBAgQIAAAYGCa4AAAQIECBAgQIAAAQIECBDILCBQyEymAgECBAgQIECAAAECBAgQICBQcA0QIECAAAECBAgQIECAAAECmQUECpnJVCBAgAABAgQIECBAgAABAgQECq4BAgQIECBAgAABAgQIECBAILOAQCEzmQoECBAgQIAAAQIECBAgQICAQME1QIAAAQIECBAgQIAAAQIECGQWEChkJlOBAAECBAgQIECAAAECBAgQECi4BggQIECAAAECBAgQIECAAIHMAgKFzGQqECBAgAABAgQIECBAgAABAgIF1wABAgQIECBAgAABAgQIECCQWUCgkJlMBQIECBAgQIAAAQIECBAgQECg4BogQIAAAQIECBAgQIAAAQIEMgsIFDKTqUCAAAECBAgQIECAAAECBAgIFFwDBAgQIECAAAECBAgQIECAQGYBgUJmMhUIECBAgAABAgQIECBAgAABgYJrgAABAgQIECBAgAABAgQIEMgsIFDITKYCAQIECBAgQIAAAQIECBAgIFBwDRAgQIAAAQIECBAgQIAAAQKZBQQKmclUIECAAAECBAgQIECAAAECBAQKrgECBAgQIECAAAECBAgQIEAgs4BAITOZCgQIECBAgAABAgQIECBAgIBAwTVAgAABAgQIECBAgAABAgQIZBYQKGQmU4EAAQIECBAgQIAAAQIECBAQKLgGCBAgQIAAAQIECBAgQIAAgcwCAoXMZCoQIECAAAECBAgQIECAAAECAgXXAAECBAgQIECAAAECBAgQIJBZQKCQmUwFAgQIECBAgAABAgQIECBAQKDgGiBAgAABAgQIECBAgAABAgQyCwgUMpOpQIAAAQIEyi/Qo3vnGDK4T/TdvHt069opNtqofbStqow2bdqU/2SK2OOqVasi/d+SpcvjnXc/jDdmz4+XXpkVs+e8HdXVNUXsSVMECBAgQIBAsQUECsUW1R4BAgQIECiSQMdNNoq99hgRB43dObbs1ysJD+oabrPa57p9zftvkikkW+3/JQFDxJy5b8fk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kDA97v/nM/Hgw89G+riDjQABAgQIEGgaAgKFpjEPzoIAAQIECNQLVFS0iU27dIytBvSOz4weGjslayxs3rtb/fHW8GFesuji40+8HA8/+ny8Mn12zHv7g2S9hOrWMHRjJECAAAECzUZAoNBspsqJEiBAgEBrE2iTvAaiXduqaJfctZAu2Dhs2wExoH/P6Nlj0+jQoX1UVVZF+qaI5r6tTIKCxYuXRfrmhhkz58azL8yM12fNi6VLlsey5Sti1apVzX2Izp8AAQIECLRIAYFCi5xWgyJAgAABAgQIECBAgAABAqUVECiU1lfrBAgQIECAAAECBAgQIECgRQoIFFrktBoUAQIECBAgQIAAAQIECBAorYBAobS+WidAgAABAgQIECBAgAABAi1SQKDQIqfVoAgQIECAAAECBAgQIECAQGkFBAql9dU6AQIECBAgQIAAAQIECBBokQIChRY5rQZFgAABAgQIECBAgAABAgRKKyBQKK2v1gkQIECAAAECBAgQIECAQIsUECi0yGk1KAIECBAgQIAAAQIECBAgUFoBgUJpfbVOgAABAgQIECBAgAABAgRapIBAoUVOq0ERIECAAAECBAgQIECAAIHSCggUSuurdQIECBAgQIAAAQIECBAg0CIFBAotcloNigABAgQIECBAgAABAgQIlFZAoFBaX60TIECAAAECBAgQIECAAIEWKSBQaJHTalAECBAgQIAAAQIECBAgQKC0AgKF0vpqnQABAgQIECBAgAABAgQItEiB/w8AAP//9n+T/QAAQABJREFU7Z0HnFXF2f8ftsAWWJalLB2WjgUQC2IEe1SIMfbYolGjJmo0mmp8E9/XkqLmn5jYFVvsvXeMQrDFjiK9LixlKQtb2MZ/5m4ubDn37sy555x77t3vfD6w9855Zs6c78w5d+Z3npnpVHLgRTuEAAEIQAACEIAABCAAAQhAAAIQgAAELAh0QlCwoIUpBCAAAQhAAAIQgAAEIAABCEAAAhECCAo0BAhAAAIQgAAEIAABCEAAAhCAAASsCSAoWCMjAQQgAAEIQAACEIAABCAAAQhAAAIICrQBCEAAAhCAAAQgAAEIQAACEIAABKwJIChYIyMBBCAAAQhAAAIQgAAEIAABCEAAAggKtAEIQAACEIAABCAAAQhAAAIQgAAErAkgKFgjIwEEIAABCEAAAhCAAAQgAAEI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";if(A.src!=s)return this.reportBrokenImages&&e&&this._apiService.postAttributeQualityFeedback(e.id,"image",A.src,Et.incorrect),yt((()=>{A.src=s}),250),!1},this._score0=new ft(this,30,1e3)}connectedCallback(){console.debug("connectedCallback"),super.connectedCallback(),this._renderState=Bt.SPLASH}disconnectedCallback(){console.debug("disconnectedCallback"),super.disconnectedCallback(),this._renderState=Bt.INIT,this._score0.stop(),this._score0.reset()}firstUpdated(t){console.debug("firstUpdated"),super.firstUpdated(t)}shouldUpdate(t){return console.debug("shouldUpdate"),super.shouldUpdate(t)}update(t){return console.debug("update"),super.update(t)}updated(t){return console.debug("updated"),super.updated(t)}render(){return console.debug("render"),W`
3
3
  <div class="guess-the-year-container">
4
4
  ${this._renderState==Bt.INIT?"Loading...":""}
5
5
  ${this._renderState==Bt.SPLASH?this.renderSplashScreen():""}
@@ -110,7 +110,7 @@
110
110
  src="${t.image[0]}"
111
111
  />
112
112
  </div>
113
- `:W`<div class="incident--image">
113
+ `:this.suppressImages?W``:W`<div class="incident--image">
114
114
  <img/>
115
115
  </div>`}_renderAnswers(){return W`
116
116
  <div class="answers--list">
@@ -191,4 +191,4 @@
191
191
  `:W``}};Kt.styles=i`
192
192
  ${vt}
193
193
  `,bt([ct({type:String,attribute:"tee-e-api-url"})],Kt.prototype,"teeeApiUrl",void 0),bt([ct({type:Boolean,attribute:"report-broken-images"})],Kt.prototype,"reportBrokenImages",void 0),bt([ct({type:String})],Kt.prototype,"date",void 0),bt([ct({type:String})],Kt.prototype,"country",void 0),bt([ct({type:String})],Kt.prototype,"category",void 0),bt([ct({type:String})],Kt.prototype,"emotion",void 0),bt([ct({type:String})],Kt.prototype,"impact",void 0),bt([ct({type:ut.Dayjs,converter:{fromAttribute:t=>(console.debug(["from","from",t]),t?t.length>=10?Ct()(t,"YYYY-MM-DD"):Ct()(`${t}-01-01`,"YYYY-MM-DD"):Ct()()),toAttribute:t=>(console.debug(["from","to",t]),t.format("YYYY-MM-DD"))}})],Kt.prototype,"from",void 0),bt([ct({type:ut.Dayjs,converter:{fromAttribute:t=>(console.debug(["to","from",t]),t?t.length>=10?Ct()(t,"YYYY-MM-DD"):Ct()(`${t}-12-31`,"YYYY-MM-DD"):Ct()()),toAttribute:t=>(console.debug(["to","to",t]),t.format("YYYY-MM-DD"))}})],Kt.prototype,"to",void 0),bt([ct({type:String,attribute:"no-image-src"})],Kt.prototype,"noImageSrc",void 0),bt([ct({type:Boolean,attribute:"suppress-images"})],Kt.prototype,"suppressImages",void 0),bt([ct({type:Number,attribute:"max-hints"})],Kt.prototype,"maxHints",void 0),bt([ct({type:Number,attribute:"number-of-questions",reflect:!0})],Kt.prototype,"numberOfQuestions",void 0),bt([lt()],Kt.prototype,"_incident",void 0),bt([lt()],Kt.prototype,"_hint",void 0),bt([lt()],Kt.prototype,"_solution",void 0),bt([lt()],Kt.prototype,"_renderState",void 0),bt([lt()],Kt.prototype,"_score",void 0),bt([lt()],Kt.prototype,"_answer",void 0),Kt=bt([(t=>(e,A)=>{void 0!==A?A.addInitializer((()=>{customElements.define(t,e)})):customElements.define(t,e)})("guess-the-year")],Kt)}()}();
194
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,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ZS15ZWFyLXdlYi1jb21wb25lbnQvLi9ub2RlX21vZHVsZXMvZGF5anMvZGF5anMubWluLmpzIiwid2VicGFjazovL2d1ZXNzLXRoZS15ZWFyLXdlYi1jb21wb25lbnQvd2VicGFjay9ib290c3RyYXAiLCJ3ZWJwYWNrOi8vZ3Vlc3MtdGhlLXllYXItd2ViLWNvbXBvbmVudC93ZWJwYWNrL3J1bnRpbWUvY29tcGF0IGdldCBkZWZhdWx0IGV4cG9ydCIsIndlYnBhY2s6Ly9ndWVzcy10aGUteWVhci13ZWItY29tcG9uZW50L3dlYnBhY2svcnVudGltZS9kZWZpbmUgcHJvcGVydHkgZ2V0dGVycyIsIndlYnBhY2s6Ly9ndWVzcy10aGUteWVhci13ZWItY29tcG9uZW50L3dlYnBhY2svcnVudGltZS9oYXNPd25Qcm9wZXJ0eSBzaG9ydGhhbmQiLCJ3ZWJwYWNrOi8vZ3Vlc3MtdGhlLXllYXItd2ViLWNvbXBvbmVudC8uL25vZGVfbW9kdWxlcy9AbGl0L3JlYWN0aXZlLWVsZW1lbnQvY3NzLXRhZy5qcyIsIndlYnBhY2s6Ly9ndWVzcy10aGUteWVhci13ZWItY29tcG9uZW50Ly4vbm9kZV9tb2R1bGVzL0BsaXQvcmVhY3RpdmUtZWxlbWVudC9yZWFjdGl2ZS1lbGVtZW50LmpzIiwid2VicGFjazovL2d1ZXNzLXRoZS15ZWFyLXdlYi1jb21wb25lbnQvLi9ub2RlX21vZHVsZXMvbGl0LWh0bWwvbGl0LWh0bWwuanMiLCJ3ZWJwYWNrOi8vZ3Vlc3MtdGhlLXllYXItd2ViLWNvbXBvbmVudC8uL25vZGVfbW9kdWxlcy9saXQtZWxlbWVudC9saXQtZWxlbWVudC5qcyIsIndlYnBhY2s6Ly9ndWVzcy10aGUteWVhci13ZWItY29tcG9uZW50Ly4vbm9kZV9tb2R1bGVzL0BsaXQvcmVhY3RpdmUtZWxlbWVudC9kZWNvcmF0b3JzL2N1c3RvbS1lbGVtZW50LmpzIiwid2VicGFjazovL2d1ZXNzLXRoZS15ZWFyLXdlYi1jb21wb25lbnQvLi9ub2RlX21vZHVsZXMvQGxpdC9yZWFjdGl2ZS1lbGVtZW50L2RlY29yYXRvcnMvcHJvcGVydHkuanMiLCJ3ZWJwYWNrOi8vZ3Vlc3MtdGhlLXllYXItd2ViLWNvbXBvbmVudC8uL25vZGVfbW9kdWxlcy9AbGl0L3JlYWN0aXZlLWVsZW1lbnQvZGVjb3JhdG9ycy9zdGF0ZS5qcyIsIndlYnBhY2s6Ly9ndWVzcy10aGUteWVhci13ZWItY29tcG9uZW50Ly4vc3JjL2xpYi9JbmNpZGVudC50cyIsIndlYnBhY2s6Ly9ndWVzcy10aGUteWVhci13ZWItY29tcG9uZW50Ly4vc3JjL2xpYi9VdGlsLnRzIiwid2VicGFjazovL2d1ZXNzLXRoZS15ZWFyLXdlYi1jb21wb25lbnQvLi9zcmMvbGliL0FwaVNlcnZpY2UudHMiLCJ3ZWJwYWNrOi8vZ3Vlc3MtdGhlLXllYXItd2ViLWNvbXBvbmVudC8uL3NyYy9saWIvZW51bXMudHMiLCJ3ZWJwYWNrOi8vZ3Vlc3MtdGhlLXllYXItd2ViLWNvbXBvbmVudC8uL3NyYy9saWIvaTE4bi9OTC50cyIsIndlYnBhY2s6Ly9ndWVzcy10aGUteWVhci13ZWItY29tcG9uZW50Ly4vc3JjL3Njc3MvbWFpbi5zY3NzIiwid2VicGFjazovL2d1ZXNzLXRoZS15ZWFyLXdlYi1jb21wb25lbnQvLi9zcmMvbGliL2NvbnRyb2xsZXIvc2NvcmVjb250cm9sbGVyLnRzIiwid2VicGFjazovL2d1ZXNzLXRoZS15ZWFyLXdlYi1jb21wb25lbnQvLi9zcmMvZ3Vlc3MtdGhlLXllYXIudHMiLCJ3ZWJwYWNrOi8vZ3Vlc3MtdGhlLXllYXItd2ViLWNvbXBvbmVudC8uL3NyYy9saWIvaTE4bi9pMThuLnRzIiwid2VicGFjazovL2d1ZXNzLXRoZS15ZWFyLXdlYi1jb21wb25lbnQvLi9zcmMvbGliL0ljb24udHMiXSwic291cmNlc0NvbnRlbnQiOlsiIWZ1bmN0aW9uKHQsZSl7XCJvYmplY3RcIj09dHlwZW9mIGV4cG9ydHMmJlwidW5kZWZpbmVkXCIhPXR5cGVvZiBtb2R1bGU/bW9kdWxlLmV4cG9ydHM9ZSgpOlwiZnVuY3Rpb25cIj09dHlwZW9mIGRlZmluZSYmZGVmaW5lLmFtZD9kZWZpbmUoZSk6KHQ9XCJ1bmRlZmluZWRcIiE9dHlwZW9mIGdsb2JhbFRoaXM/Z2xvYmFsVGhpczp0fHxzZWxmKS5kYXlqcz1lKCl9KHRoaXMsKGZ1bmN0aW9uKCl7XCJ1c2Ugc3RyaWN0XCI7dmFyIHQ9MWUzLGU9NmU0LG49MzZlNSxyPVwibWlsbGlzZWNvbmRcIixpPVwic2Vjb25kXCIscz1cIm1pbnV0ZVwiLHU9XCJob3VyXCIsYT1cImRheVwiLG89XCJ3ZWVrXCIsYz1cIm1vbnRoXCIsZj1cInF1YXJ0ZXJcIixoPVwieWVhclwiLGQ9XCJkYXRlXCIsbD1cIkludmFsaWQgRGF0ZVwiLCQ9L14oXFxkezR9KVstL10/KFxcZHsxLDJ9KT9bLS9dPyhcXGR7MCwyfSlbVHRcXHNdKihcXGR7MSwyfSk/Oj8oXFxkezEsMn0pPzo/KFxcZHsxLDJ9KT9bLjpdPyhcXGQrKT8kLyx5PS9cXFsoW15cXF1dKyldfFl7MSw0fXxNezEsNH18RHsxLDJ9fGR7MSw0fXxIezEsMn18aHsxLDJ9fGF8QXxtezEsMn18c3sxLDJ9fFp7MSwyfXxTU1MvZyxNPXtuYW1lOlwiZW5cIix3ZWVrZGF5czpcIlN1bmRheV9Nb25kYXlfVHVlc2RheV9XZWRuZXNkYXlfVGh1cnNkYXlfRnJpZGF5X1NhdHVyZGF5XCIuc3BsaXQoXCJfXCIpLG1vbnRoczpcIkphbnVhcnlfRmVicnVhcnlfTWFyY2hfQXByaWxfTWF5X0p1bmVfSnVseV9BdWd1c3RfU2VwdGVtYmVyX09jdG9iZXJfTm92ZW1iZXJfRGVjZW1iZXJcIi5zcGxpdChcIl9cIiksb3JkaW5hbDpmdW5jdGlvbih0KXt2YXIgZT1bXCJ0aFwiLFwic3RcIixcIm5kXCIsXCJyZFwiXSxuPXQlMTAwO3JldHVyblwiW1wiK3QrKGVbKG4tMjApJTEwXXx8ZVtuXXx8ZVswXSkrXCJdXCJ9fSxtPWZ1bmN0aW9uKHQsZSxuKXt2YXIgcj1TdHJpbmcodCk7cmV0dXJuIXJ8fHIubGVuZ3RoPj1lP3Q6XCJcIitBcnJheShlKzEtci5sZW5ndGgpLmpvaW4obikrdH0sdj17czptLHo6ZnVuY3Rpb24odCl7dmFyIGU9LXQudXRjT2Zmc2V0KCksbj1NYXRoLmFicyhlKSxyPU1hdGguZmxvb3Iobi82MCksaT1uJTYwO3JldHVybihlPD0wP1wiK1wiOlwiLVwiKSttKHIsMixcIjBcIikrXCI6XCIrbShpLDIsXCIwXCIpfSxtOmZ1bmN0aW9uIHQoZSxuKXtpZihlLmRhdGUoKTxuLmRhdGUoKSlyZXR1cm4tdChuLGUpO3ZhciByPTEyKihuLnllYXIoKS1lLnllYXIoKSkrKG4ubW9udGgoKS1lLm1vbnRoKCkpLGk9ZS5jbG9uZSgpLmFkZChyLGMpLHM9bi1pPDAsdT1lLmNsb25lKCkuYWRkKHIrKHM/LTE6MSksYyk7cmV0dXJuKygtKHIrKG4taSkvKHM/aS11OnUtaSkpfHwwKX0sYTpmdW5jdGlvbih0KXtyZXR1cm4gdDwwP01hdGguY2VpbCh0KXx8MDpNYXRoLmZsb29yKHQpfSxwOmZ1bmN0aW9uKHQpe3JldHVybntNOmMseTpoLHc6byxkOmEsRDpkLGg6dSxtOnMsczppLG1zOnIsUTpmfVt0XXx8U3RyaW5nKHR8fFwiXCIpLnRvTG93ZXJDYXNlKCkucmVwbGFjZSgvcyQvLFwiXCIpfSx1OmZ1bmN0aW9uKHQpe3JldHVybiB2b2lkIDA9PT10fX0sZz1cImVuXCIsRD17fTtEW2ddPU07dmFyIHA9XCIkaXNEYXlqc09iamVjdFwiLFM9ZnVuY3Rpb24odCl7cmV0dXJuIHQgaW5zdGFuY2VvZiBffHwhKCF0fHwhdFtwXSl9LHc9ZnVuY3Rpb24gdChlLG4scil7dmFyIGk7aWYoIWUpcmV0dXJuIGc7aWYoXCJzdHJpbmdcIj09dHlwZW9mIGUpe3ZhciBzPWUudG9Mb3dlckNhc2UoKTtEW3NdJiYoaT1zKSxuJiYoRFtzXT1uLGk9cyk7dmFyIHU9ZS5zcGxpdChcIi1cIik7aWYoIWkmJnUubGVuZ3RoPjEpcmV0dXJuIHQodVswXSl9ZWxzZXt2YXIgYT1lLm5hbWU7RFthXT1lLGk9YX1yZXR1cm4hciYmaSYmKGc9aSksaXx8IXImJmd9LE89ZnVuY3Rpb24odCxlKXtpZihTKHQpKXJldHVybiB0LmNsb25lKCk7dmFyIG49XCJvYmplY3RcIj09dHlwZW9mIGU/ZTp7fTtyZXR1cm4gbi5kYXRlPXQsbi5hcmdzPWFyZ3VtZW50cyxuZXcgXyhuKX0sYj12O2IubD13LGIuaT1TLGIudz1mdW5jdGlvbih0LGUpe3JldHVybiBPKHQse2xvY2FsZTplLiRMLHV0YzplLiR1LHg6ZS4keCwkb2Zmc2V0OmUuJG9mZnNldH0pfTt2YXIgXz1mdW5jdGlvbigpe2Z1bmN0aW9uIE0odCl7dGhpcy4kTD13KHQubG9jYWxlLG51bGwsITApLHRoaXMucGFyc2UodCksdGhpcy4keD10aGlzLiR4fHx0Lnh8fHt9LHRoaXNbcF09ITB9dmFyIG09TS5wcm90b3R5cGU7cmV0dXJuIG0ucGFyc2U9ZnVuY3Rpb24odCl7dGhpcy4kZD1mdW5jdGlvbih0KXt2YXIgZT10LmRhdGUsbj10LnV0YztpZihudWxsPT09ZSlyZXR1cm4gbmV3IERhdGUoTmFOKTtpZihiLnUoZSkpcmV0dXJuIG5ldyBEYXRlO2lmKGUgaW5zdGFuY2VvZiBEYXRlKXJldHVybiBuZXcgRGF0ZShlKTtpZihcInN0cmluZ1wiPT10eXBlb2YgZSYmIS9aJC9pLnRlc3QoZSkpe3ZhciByPWUubWF0Y2goJCk7aWYocil7dmFyIGk9clsyXS0xfHwwLHM9KHJbN118fFwiMFwiKS5zdWJzdHJpbmcoMCwzKTtyZXR1cm4gbj9uZXcgRGF0ZShEYXRlLlVUQyhyWzFdLGksclszXXx8MSxyWzRdfHwwLHJbNV18fDAscls2XXx8MCxzKSk6bmV3IERhdGUoclsxXSxpLHJbM118fDEscls0XXx8MCxyWzVdfHwwLHJbNl18fDAscyl9fXJldHVybiBuZXcgRGF0ZShlKX0odCksdGhpcy5pbml0KCl9LG0uaW5pdD1mdW5jdGlvbigpe3ZhciB0PXRoaXMuJGQ7dGhpcy4keT10LmdldEZ1bGxZZWFyKCksdGhpcy4kTT10LmdldE1vbnRoKCksdGhpcy4kRD10LmdldERhdGUoKSx0aGlzLiRXPXQuZ2V0RGF5KCksdGhpcy4kSD10LmdldEhvdXJzKCksdGhpcy4kbT10LmdldE1pbnV0ZXMoKSx0aGlzLiRzPXQuZ2V0U2Vjb25kcygpLHRoaXMuJG1zPXQuZ2V0TWlsbGlzZWNvbmRzKCl9LG0uJHV0aWxzPWZ1bmN0aW9uKCl7cmV0dXJuIGJ9LG0uaXNWYWxpZD1mdW5jdGlvbigpe3JldHVybiEodGhpcy4kZC50b1N0cmluZygpPT09bCl9LG0uaXNTYW1lPWZ1bmN0aW9uKHQsZSl7dmFyIG49Tyh0KTtyZXR1cm4gdGhpcy5zdGFydE9mKGUpPD1uJiZuPD10aGlzLmVuZE9mKGUpfSxtLmlzQWZ0ZXI9ZnVuY3Rpb24odCxlKXtyZXR1cm4gTyh0KTx0aGlzLnN0YXJ0T2YoZSl9LG0uaXNCZWZvcmU9ZnVuY3Rpb24odCxlKXtyZXR1cm4gdGhpcy5lbmRPZihlKTxPKHQpfSxtLiRnPWZ1bmN0aW9uKHQsZSxuKXtyZXR1cm4gYi51KHQpP3RoaXNbZV06dGhpcy5zZXQobix0KX0sbS51bml4PWZ1bmN0aW9uKCl7cmV0dXJuIE1hdGguZmxvb3IodGhpcy52YWx1ZU9mKCkvMWUzKX0sbS52YWx1ZU9mPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuJGQuZ2V0VGltZSgpfSxtLnN0YXJ0T2Y9ZnVuY3Rpb24odCxlKXt2YXIgbj10aGlzLHI9ISFiLnUoZSl8fGUsZj1iLnAodCksbD1mdW5jdGlvbih0LGUpe3ZhciBpPWIudyhuLiR1P0RhdGUuVVRDKG4uJHksZSx0KTpuZXcgRGF0ZShuLiR5LGUsdCksbik7cmV0dXJuIHI/aTppLmVuZE9mKGEpfSwkPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIGIudyhuLnRvRGF0ZSgpW3RdLmFwcGx5KG4udG9EYXRlKFwic1wiKSwocj9bMCwwLDAsMF06WzIzLDU5LDU5LDk5OV0pLnNsaWNlKGUpKSxuKX0seT10aGlzLiRXLE09dGhpcy4kTSxtPXRoaXMuJEQsdj1cInNldFwiKyh0aGlzLiR1P1wiVVRDXCI6XCJcIik7c3dpdGNoKGYpe2Nhc2UgaDpyZXR1cm4gcj9sKDEsMCk6bCgzMSwxMSk7Y2FzZSBjOnJldHVybiByP2woMSxNKTpsKDAsTSsxKTtjYXNlIG86dmFyIGc9dGhpcy4kbG9jYWxlKCkud2Vla1N0YXJ0fHwwLEQ9KHk8Zz95Kzc6eSktZztyZXR1cm4gbChyP20tRDptKyg2LUQpLE0pO2Nhc2UgYTpjYXNlIGQ6cmV0dXJuICQoditcIkhvdXJzXCIsMCk7Y2FzZSB1OnJldHVybiAkKHYrXCJNaW51dGVzXCIsMSk7Y2FzZSBzOnJldHVybiAkKHYrXCJTZWNvbmRzXCIsMik7Y2FzZSBpOnJldHVybiAkKHYrXCJNaWxsaXNlY29uZHNcIiwzKTtkZWZhdWx0OnJldHVybiB0aGlzLmNsb25lKCl9fSxtLmVuZE9mPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLnN0YXJ0T2YodCwhMSl9LG0uJHNldD1mdW5jdGlvbih0LGUpe3ZhciBuLG89Yi5wKHQpLGY9XCJzZXRcIisodGhpcy4kdT9cIlVUQ1wiOlwiXCIpLGw9KG49e30sblthXT1mK1wiRGF0ZVwiLG5bZF09ZitcIkRhdGVcIixuW2NdPWYrXCJNb250aFwiLG5baF09ZitcIkZ1bGxZZWFyXCIsblt1XT1mK1wiSG91cnNcIixuW3NdPWYrXCJNaW51dGVzXCIsbltpXT1mK1wiU2Vjb25kc1wiLG5bcl09ZitcIk1pbGxpc2Vjb25kc1wiLG4pW29dLCQ9bz09PWE/dGhpcy4kRCsoZS10aGlzLiRXKTplO2lmKG89PT1jfHxvPT09aCl7dmFyIHk9dGhpcy5jbG9uZSgpLnNldChkLDEpO3kuJGRbbF0oJCkseS5pbml0KCksdGhpcy4kZD15LnNldChkLE1hdGgubWluKHRoaXMuJEQseS5kYXlzSW5Nb250aCgpKSkuJGR9ZWxzZSBsJiZ0aGlzLiRkW2xdKCQpO3JldHVybiB0aGlzLmluaXQoKSx0aGlzfSxtLnNldD1mdW5jdGlvbih0LGUpe3JldHVybiB0aGlzLmNsb25lKCkuJHNldCh0LGUpfSxtLmdldD1mdW5jdGlvbih0KXtyZXR1cm4gdGhpc1tiLnAodCldKCl9LG0uYWRkPWZ1bmN0aW9uKHIsZil7dmFyIGQsbD10aGlzO3I9TnVtYmVyKHIpO3ZhciAkPWIucChmKSx5PWZ1bmN0aW9uKHQpe3ZhciBlPU8obCk7cmV0dXJuIGIudyhlLmRhdGUoZS5kYXRlKCkrTWF0aC5yb3VuZCh0KnIpKSxsKX07aWYoJD09PWMpcmV0dXJuIHRoaXMuc2V0KGMsdGhpcy4kTStyKTtpZigkPT09aClyZXR1cm4gdGhpcy5zZXQoaCx0aGlzLiR5K3IpO2lmKCQ9PT1hKXJldHVybiB5KDEpO2lmKCQ9PT1vKXJldHVybiB5KDcpO3ZhciBNPShkPXt9LGRbc109ZSxkW3VdPW4sZFtpXT10LGQpWyRdfHwxLG09dGhpcy4kZC5nZXRUaW1lKCkrcipNO3JldHVybiBiLncobSx0aGlzKX0sbS5zdWJ0cmFjdD1mdW5jdGlvbih0LGUpe3JldHVybiB0aGlzLmFkZCgtMSp0LGUpfSxtLmZvcm1hdD1mdW5jdGlvbih0KXt2YXIgZT10aGlzLG49dGhpcy4kbG9jYWxlKCk7aWYoIXRoaXMuaXNWYWxpZCgpKXJldHVybiBuLmludmFsaWREYXRlfHxsO3ZhciByPXR8fFwiWVlZWS1NTS1ERFRISDptbTpzc1pcIixpPWIueih0aGlzKSxzPXRoaXMuJEgsdT10aGlzLiRtLGE9dGhpcy4kTSxvPW4ud2Vla2RheXMsYz1uLm1vbnRocyxmPW4ubWVyaWRpZW0saD1mdW5jdGlvbih0LG4saSxzKXtyZXR1cm4gdCYmKHRbbl18fHQoZSxyKSl8fGlbbl0uc2xpY2UoMCxzKX0sZD1mdW5jdGlvbih0KXtyZXR1cm4gYi5zKHMlMTJ8fDEyLHQsXCIwXCIpfSwkPWZ8fGZ1bmN0aW9uKHQsZSxuKXt2YXIgcj10PDEyP1wiQU1cIjpcIlBNXCI7cmV0dXJuIG4/ci50b0xvd2VyQ2FzZSgpOnJ9O3JldHVybiByLnJlcGxhY2UoeSwoZnVuY3Rpb24odCxyKXtyZXR1cm4gcnx8ZnVuY3Rpb24odCl7c3dpdGNoKHQpe2Nhc2VcIllZXCI6cmV0dXJuIFN0cmluZyhlLiR5KS5zbGljZSgtMik7Y2FzZVwiWVlZWVwiOnJldHVybiBiLnMoZS4keSw0LFwiMFwiKTtjYXNlXCJNXCI6cmV0dXJuIGErMTtjYXNlXCJNTVwiOnJldHVybiBiLnMoYSsxLDIsXCIwXCIpO2Nhc2VcIk1NTVwiOnJldHVybiBoKG4ubW9udGhzU2hvcnQsYSxjLDMpO2Nhc2VcIk1NTU1cIjpyZXR1cm4gaChjLGEpO2Nhc2VcIkRcIjpyZXR1cm4gZS4kRDtjYXNlXCJERFwiOnJldHVybiBiLnMoZS4kRCwyLFwiMFwiKTtjYXNlXCJkXCI6cmV0dXJuIFN0cmluZyhlLiRXKTtjYXNlXCJkZFwiOnJldHVybiBoKG4ud2Vla2RheXNNaW4sZS4kVyxvLDIpO2Nhc2VcImRkZFwiOnJldHVybiBoKG4ud2Vla2RheXNTaG9ydCxlLiRXLG8sMyk7Y2FzZVwiZGRkZFwiOnJldHVybiBvW2UuJFddO2Nhc2VcIkhcIjpyZXR1cm4gU3RyaW5nKHMpO2Nhc2VcIkhIXCI6cmV0dXJuIGIucyhzLDIsXCIwXCIpO2Nhc2VcImhcIjpyZXR1cm4gZCgxKTtjYXNlXCJoaFwiOnJldHVybiBkKDIpO2Nhc2VcImFcIjpyZXR1cm4gJChzLHUsITApO2Nhc2VcIkFcIjpyZXR1cm4gJChzLHUsITEpO2Nhc2VcIm1cIjpyZXR1cm4gU3RyaW5nKHUpO2Nhc2VcIm1tXCI6cmV0dXJuIGIucyh1LDIsXCIwXCIpO2Nhc2VcInNcIjpyZXR1cm4gU3RyaW5nKGUuJHMpO2Nhc2VcInNzXCI6cmV0dXJuIGIucyhlLiRzLDIsXCIwXCIpO2Nhc2VcIlNTU1wiOnJldHVybiBiLnMoZS4kbXMsMyxcIjBcIik7Y2FzZVwiWlwiOnJldHVybiBpfXJldHVybiBudWxsfSh0KXx8aS5yZXBsYWNlKFwiOlwiLFwiXCIpfSkpfSxtLnV0Y09mZnNldD1mdW5jdGlvbigpe3JldHVybiAxNSotTWF0aC5yb3VuZCh0aGlzLiRkLmdldFRpbWV6b25lT2Zmc2V0KCkvMTUpfSxtLmRpZmY9ZnVuY3Rpb24ocixkLGwpe3ZhciAkLHk9dGhpcyxNPWIucChkKSxtPU8ociksdj0obS51dGNPZmZzZXQoKS10aGlzLnV0Y09mZnNldCgpKSplLGc9dGhpcy1tLEQ9ZnVuY3Rpb24oKXtyZXR1cm4gYi5tKHksbSl9O3N3aXRjaChNKXtjYXNlIGg6JD1EKCkvMTI7YnJlYWs7Y2FzZSBjOiQ9RCgpO2JyZWFrO2Nhc2UgZjokPUQoKS8zO2JyZWFrO2Nhc2UgbzokPShnLXYpLzYwNDhlNTticmVhaztjYXNlIGE6JD0oZy12KS84NjRlNTticmVhaztjYXNlIHU6JD1nL247YnJlYWs7Y2FzZSBzOiQ9Zy9lO2JyZWFrO2Nhc2UgaTokPWcvdDticmVhaztkZWZhdWx0OiQ9Z31yZXR1cm4gbD8kOmIuYSgkKX0sbS5kYXlzSW5Nb250aD1mdW5jdGlvbigpe3JldHVybiB0aGlzLmVuZE9mKGMpLiREfSxtLiRsb2NhbGU9ZnVuY3Rpb24oKXtyZXR1cm4gRFt0aGlzLiRMXX0sbS5sb2NhbGU9ZnVuY3Rpb24odCxlKXtpZighdClyZXR1cm4gdGhpcy4kTDt2YXIgbj10aGlzLmNsb25lKCkscj13KHQsZSwhMCk7cmV0dXJuIHImJihuLiRMPXIpLG59LG0uY2xvbmU9ZnVuY3Rpb24oKXtyZXR1cm4gYi53KHRoaXMuJGQsdGhpcyl9LG0udG9EYXRlPWZ1bmN0aW9uKCl7cmV0dXJuIG5ldyBEYXRlKHRoaXMudmFsdWVPZigpKX0sbS50b0pTT049ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5pc1ZhbGlkKCk/dGhpcy50b0lTT1N0cmluZygpOm51bGx9LG0udG9JU09TdHJpbmc9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy4kZC50b0lTT1N0cmluZygpfSxtLnRvU3RyaW5nPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuJGQudG9VVENTdHJpbmcoKX0sTX0oKSxrPV8ucHJvdG90eXBlO3JldHVybiBPLnByb3RvdHlwZT1rLFtbXCIkbXNcIixyXSxbXCIkc1wiLGldLFtcIiRtXCIsc10sW1wiJEhcIix1XSxbXCIkV1wiLGFdLFtcIiRNXCIsY10sW1wiJHlcIixoXSxbXCIkRFwiLGRdXS5mb3JFYWNoKChmdW5jdGlvbih0KXtrW3RbMV1dPWZ1bmN0aW9uKGUpe3JldHVybiB0aGlzLiRnKGUsdFswXSx0WzFdKX19KSksTy5leHRlbmQ9ZnVuY3Rpb24odCxlKXtyZXR1cm4gdC4kaXx8KHQoZSxfLE8pLHQuJGk9ITApLE99LE8ubG9jYWxlPXcsTy5pc0RheWpzPVMsTy51bml4PWZ1bmN0aW9uKHQpe3JldHVybiBPKDFlMyp0KX0sTy5lbj1EW2ddLE8uTHM9RCxPLnA9e30sT30pKTsiLCIvLyBUaGUgbW9kdWxlIGNhY2hlXG52YXIgX193ZWJwYWNrX21vZHVsZV9jYWNoZV9fID0ge307XG5cbi8vIFRoZSByZXF1aXJlIGZ1bmN0aW9uXG5mdW5jdGlvbiBfX3dlYnBhY2tfcmVxdWlyZV9fKG1vZHVsZUlkKSB7XG5cdC8vIENoZWNrIGlmIG1vZHVsZSBpcyBpbiBjYWNoZVxuXHR2YXIgY2FjaGVkTW9kdWxlID0gX193ZWJwYWNrX21vZHVsZV9jYWNoZV9fW21vZHVsZUlkXTtcblx0aWYgKGNhY2hlZE1vZHVsZSAhPT0gdW5kZWZpbmVkKSB7XG5cdFx0cmV0dXJuIGNhY2hlZE1vZHVsZS5leHBvcnRzO1xuXHR9XG5cdC8vIENyZWF0ZSBhIG5ldyBtb2R1bGUgKGFuZCBwdXQgaXQgaW50byB0aGUgY2FjaGUpXG5cdHZhciBtb2R1bGUgPSBfX3dlYnBhY2tfbW9kdWxlX2NhY2hlX19bbW9kdWxlSWRdID0ge1xuXHRcdC8vIG5vIG1vZHVsZS5pZCBuZWVkZWRcblx0XHQvLyBubyBtb2R1bGUubG9hZGVkIG5lZWRlZFxuXHRcdGV4cG9ydHM6IHt9XG5cdH07XG5cblx0Ly8gRXhlY3V0ZSB0aGUgbW9kdWxlIGZ1bmN0aW9uXG5cdF9fd2VicGFja19tb2R1bGVzX19bbW9kdWxlSWRdLmNhbGwobW9kdWxlLmV4cG9ydHMsIG1vZHVsZSwgbW9kdWxlLmV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pO1xuXG5cdC8vIFJldHVybiB0aGUgZXhwb3J0cyBvZiB0aGUgbW9kdWxlXG5cdHJldHVybiBtb2R1bGUuZXhwb3J0cztcbn1cblxuIiwiLy8gZ2V0RGVmYXVsdEV4cG9ydCBmdW5jdGlvbiBmb3IgY29tcGF0aWJpbGl0eSB3aXRoIG5vbi1oYXJtb255IG1vZHVsZXNcbl9fd2VicGFja19yZXF1aXJlX18ubiA9IGZ1bmN0aW9uKG1vZHVsZSkge1xuXHR2YXIgZ2V0dGVyID0gbW9kdWxlICYmIG1vZHVsZS5fX2VzTW9kdWxlID9cblx0XHRmdW5jdGlvbigpIHsgcmV0dXJuIG1vZHVsZVsnZGVmYXVsdCddOyB9IDpcblx0XHRmdW5jdGlvbigpIHsgcmV0dXJuIG1vZHVsZTsgfTtcblx0X193ZWJwYWNrX3JlcXVpcmVfXy5kKGdldHRlciwgeyBhOiBnZXR0ZXIgfSk7XG5cdHJldHVybiBnZXR0ZXI7XG59OyIsIi8vIGRlZmluZSBnZXR0ZXIgZnVuY3Rpb25zIGZvciBoYXJtb255IGV4cG9ydHNcbl9fd2VicGFja19yZXF1aXJlX18uZCA9IGZ1bmN0aW9uKGV4cG9ydHMsIGRlZmluaXRpb24pIHtcblx0Zm9yKHZhciBrZXkgaW4gZGVmaW5pdGlvbikge1xuXHRcdGlmKF9fd2VicGFja19yZXF1aXJlX18ubyhkZWZpbml0aW9uLCBrZXkpICYmICFfX3dlYnBhY2tfcmVxdWlyZV9fLm8oZXhwb3J0cywga2V5KSkge1xuXHRcdFx0T2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIGtleSwgeyBlbnVtZXJhYmxlOiB0cnVlLCBnZXQ6IGRlZmluaXRpb25ba2V5XSB9KTtcblx0XHR9XG5cdH1cbn07IiwiX193ZWJwYWNrX3JlcXVpcmVfXy5vID0gZnVuY3Rpb24ob2JqLCBwcm9wKSB7IHJldHVybiBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwob2JqLCBwcm9wKTsgfSIsIi8qKlxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCAyMDE5IEdvb2dsZSBMTENcbiAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMy1DbGF1c2VcbiAqL1xuY29uc3QgdD1nbG9iYWxUaGlzLGU9dC5TaGFkb3dSb290JiYodm9pZCAwPT09dC5TaGFkeUNTU3x8dC5TaGFkeUNTUy5uYXRpdmVTaGFkb3cpJiZcImFkb3B0ZWRTdHlsZVNoZWV0c1wiaW4gRG9jdW1lbnQucHJvdG90eXBlJiZcInJlcGxhY2VcImluIENTU1N0eWxlU2hlZXQucHJvdG90eXBlLHM9U3ltYm9sKCksbz1uZXcgV2Vha01hcDtjbGFzcyBue2NvbnN0cnVjdG9yKHQsZSxvKXtpZih0aGlzLl8kY3NzUmVzdWx0JD0hMCxvIT09cyl0aHJvdyBFcnJvcihcIkNTU1Jlc3VsdCBpcyBub3QgY29uc3RydWN0YWJsZS4gVXNlIGB1bnNhZmVDU1NgIG9yIGBjc3NgIGluc3RlYWQuXCIpO3RoaXMuY3NzVGV4dD10LHRoaXMudD1lfWdldCBzdHlsZVNoZWV0KCl7bGV0IHQ9dGhpcy5vO2NvbnN0IHM9dGhpcy50O2lmKGUmJnZvaWQgMD09PXQpe2NvbnN0IGU9dm9pZCAwIT09cyYmMT09PXMubGVuZ3RoO2UmJih0PW8uZ2V0KHMpKSx2b2lkIDA9PT10JiYoKHRoaXMubz10PW5ldyBDU1NTdHlsZVNoZWV0KS5yZXBsYWNlU3luYyh0aGlzLmNzc1RleHQpLGUmJm8uc2V0KHMsdCkpfXJldHVybiB0fXRvU3RyaW5nKCl7cmV0dXJuIHRoaXMuY3NzVGV4dH19Y29uc3Qgcj10PT5uZXcgbihcInN0cmluZ1wiPT10eXBlb2YgdD90OnQrXCJcIix2b2lkIDAscyksaT0odCwuLi5lKT0+e2NvbnN0IG89MT09PXQubGVuZ3RoP3RbMF06ZS5yZWR1Y2UoKChlLHMsbyk9PmUrKHQ9PntpZighMD09PXQuXyRjc3NSZXN1bHQkKXJldHVybiB0LmNzc1RleHQ7aWYoXCJudW1iZXJcIj09dHlwZW9mIHQpcmV0dXJuIHQ7dGhyb3cgRXJyb3IoXCJWYWx1ZSBwYXNzZWQgdG8gJ2NzcycgZnVuY3Rpb24gbXVzdCBiZSBhICdjc3MnIGZ1bmN0aW9uIHJlc3VsdDogXCIrdCtcIi4gVXNlICd1bnNhZmVDU1MnIHRvIHBhc3Mgbm9uLWxpdGVyYWwgdmFsdWVzLCBidXQgdGFrZSBjYXJlIHRvIGVuc3VyZSBwYWdlIHNlY3VyaXR5LlwiKX0pKHMpK3RbbysxXSksdFswXSk7cmV0dXJuIG5ldyBuKG8sdCxzKX0sUz0ocyxvKT0+e2lmKGUpcy5hZG9wdGVkU3R5bGVTaGVldHM9by5tYXAoKHQ9PnQgaW5zdGFuY2VvZiBDU1NTdHlsZVNoZWV0P3Q6dC5zdHlsZVNoZWV0KSk7ZWxzZSBmb3IoY29uc3QgZSBvZiBvKXtjb25zdCBvPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXCJzdHlsZVwiKSxuPXQubGl0Tm9uY2U7dm9pZCAwIT09biYmby5zZXRBdHRyaWJ1dGUoXCJub25jZVwiLG4pLG8udGV4dENvbnRlbnQ9ZS5jc3NUZXh0LHMuYXBwZW5kQ2hpbGQobyl9fSxjPWU/dD0+dDp0PT50IGluc3RhbmNlb2YgQ1NTU3R5bGVTaGVldD8odD0+e2xldCBlPVwiXCI7Zm9yKGNvbnN0IHMgb2YgdC5jc3NSdWxlcyllKz1zLmNzc1RleHQ7cmV0dXJuIHIoZSl9KSh0KTp0O2V4cG9ydHtuIGFzIENTU1Jlc3VsdCxTIGFzIGFkb3B0U3R5bGVzLGkgYXMgY3NzLGMgYXMgZ2V0Q29tcGF0aWJsZVN0eWxlLGUgYXMgc3VwcG9ydHNBZG9wdGluZ1N0eWxlU2hlZXRzLHIgYXMgdW5zYWZlQ1NTfTtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWNzcy10YWcuanMubWFwXG4iLCJpbXBvcnR7Z2V0Q29tcGF0aWJsZVN0eWxlIGFzIHQsYWRvcHRTdHlsZXMgYXMgc31mcm9tXCIuL2Nzcy10YWcuanNcIjtleHBvcnR7Q1NTUmVzdWx0LGFkb3B0U3R5bGVzLGNzcyxnZXRDb21wYXRpYmxlU3R5bGUsc3VwcG9ydHNBZG9wdGluZ1N0eWxlU2hlZXRzLHVuc2FmZUNTU31mcm9tXCIuL2Nzcy10YWcuanNcIjtcbi8qKlxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCAyMDE3IEdvb2dsZSBMTENcbiAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMy1DbGF1c2VcbiAqL2NvbnN0e2lzOmksZGVmaW5lUHJvcGVydHk6ZSxnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3I6cixnZXRPd25Qcm9wZXJ0eU5hbWVzOmgsZ2V0T3duUHJvcGVydHlTeW1ib2xzOm8sZ2V0UHJvdG90eXBlT2Y6bn09T2JqZWN0LGE9Z2xvYmFsVGhpcyxjPWEudHJ1c3RlZFR5cGVzLGw9Yz9jLmVtcHR5U2NyaXB0OlwiXCIscD1hLnJlYWN0aXZlRWxlbWVudFBvbHlmaWxsU3VwcG9ydCxkPSh0LHMpPT50LHU9e3RvQXR0cmlidXRlKHQscyl7c3dpdGNoKHMpe2Nhc2UgQm9vbGVhbjp0PXQ/bDpudWxsO2JyZWFrO2Nhc2UgT2JqZWN0OmNhc2UgQXJyYXk6dD1udWxsPT10P3Q6SlNPTi5zdHJpbmdpZnkodCl9cmV0dXJuIHR9LGZyb21BdHRyaWJ1dGUodCxzKXtsZXQgaT10O3N3aXRjaChzKXtjYXNlIEJvb2xlYW46aT1udWxsIT09dDticmVhaztjYXNlIE51bWJlcjppPW51bGw9PT10P251bGw6TnVtYmVyKHQpO2JyZWFrO2Nhc2UgT2JqZWN0OmNhc2UgQXJyYXk6dHJ5e2k9SlNPTi5wYXJzZSh0KX1jYXRjaCh0KXtpPW51bGx9fXJldHVybiBpfX0sZj0odCxzKT0+IWkodCxzKSx5PXthdHRyaWJ1dGU6ITAsdHlwZTpTdHJpbmcsY29udmVydGVyOnUscmVmbGVjdDohMSxoYXNDaGFuZ2VkOmZ9O1N5bWJvbC5tZXRhZGF0YT8/PVN5bWJvbChcIm1ldGFkYXRhXCIpLGEubGl0UHJvcGVydHlNZXRhZGF0YT8/PW5ldyBXZWFrTWFwO2NsYXNzIGIgZXh0ZW5kcyBIVE1MRWxlbWVudHtzdGF0aWMgYWRkSW5pdGlhbGl6ZXIodCl7dGhpcy5fJEVpKCksKHRoaXMubD8/PVtdKS5wdXNoKHQpfXN0YXRpYyBnZXQgb2JzZXJ2ZWRBdHRyaWJ1dGVzKCl7cmV0dXJuIHRoaXMuZmluYWxpemUoKSx0aGlzLl8kRWgmJlsuLi50aGlzLl8kRWgua2V5cygpXX1zdGF0aWMgY3JlYXRlUHJvcGVydHkodCxzPXkpe2lmKHMuc3RhdGUmJihzLmF0dHJpYnV0ZT0hMSksdGhpcy5fJEVpKCksdGhpcy5lbGVtZW50UHJvcGVydGllcy5zZXQodCxzKSwhcy5ub0FjY2Vzc29yKXtjb25zdCBpPVN5bWJvbCgpLHI9dGhpcy5nZXRQcm9wZXJ0eURlc2NyaXB0b3IodCxpLHMpO3ZvaWQgMCE9PXImJmUodGhpcy5wcm90b3R5cGUsdCxyKX19c3RhdGljIGdldFByb3BlcnR5RGVzY3JpcHRvcih0LHMsaSl7Y29uc3R7Z2V0OmUsc2V0Omh9PXIodGhpcy5wcm90b3R5cGUsdCk/P3tnZXQoKXtyZXR1cm4gdGhpc1tzXX0sc2V0KHQpe3RoaXNbc109dH19O3JldHVybntnZXQoKXtyZXR1cm4gZT8uY2FsbCh0aGlzKX0sc2V0KHMpe2NvbnN0IHI9ZT8uY2FsbCh0aGlzKTtoLmNhbGwodGhpcyxzKSx0aGlzLnJlcXVlc3RVcGRhdGUodCxyLGkpfSxjb25maWd1cmFibGU6ITAsZW51bWVyYWJsZTohMH19c3RhdGljIGdldFByb3BlcnR5T3B0aW9ucyh0KXtyZXR1cm4gdGhpcy5lbGVtZW50UHJvcGVydGllcy5nZXQodCk/P3l9c3RhdGljIF8kRWkoKXtpZih0aGlzLmhhc093blByb3BlcnR5KGQoXCJlbGVtZW50UHJvcGVydGllc1wiKSkpcmV0dXJuO2NvbnN0IHQ9bih0aGlzKTt0LmZpbmFsaXplKCksdm9pZCAwIT09dC5sJiYodGhpcy5sPVsuLi50LmxdKSx0aGlzLmVsZW1lbnRQcm9wZXJ0aWVzPW5ldyBNYXAodC5lbGVtZW50UHJvcGVydGllcyl9c3RhdGljIGZpbmFsaXplKCl7aWYodGhpcy5oYXNPd25Qcm9wZXJ0eShkKFwiZmluYWxpemVkXCIpKSlyZXR1cm47aWYodGhpcy5maW5hbGl6ZWQ9ITAsdGhpcy5fJEVpKCksdGhpcy5oYXNPd25Qcm9wZXJ0eShkKFwicHJvcGVydGllc1wiKSkpe2NvbnN0IHQ9dGhpcy5wcm9wZXJ0aWVzLHM9Wy4uLmgodCksLi4ubyh0KV07Zm9yKGNvbnN0IGkgb2Ygcyl0aGlzLmNyZWF0ZVByb3BlcnR5KGksdFtpXSl9Y29uc3QgdD10aGlzW1N5bWJvbC5tZXRhZGF0YV07aWYobnVsbCE9PXQpe2NvbnN0IHM9bGl0UHJvcGVydHlNZXRhZGF0YS5nZXQodCk7aWYodm9pZCAwIT09cylmb3IoY29uc3RbdCxpXW9mIHMpdGhpcy5lbGVtZW50UHJvcGVydGllcy5zZXQodCxpKX10aGlzLl8kRWg9bmV3IE1hcDtmb3IoY29uc3RbdCxzXW9mIHRoaXMuZWxlbWVudFByb3BlcnRpZXMpe2NvbnN0IGk9dGhpcy5fJEV1KHQscyk7dm9pZCAwIT09aSYmdGhpcy5fJEVoLnNldChpLHQpfXRoaXMuZWxlbWVudFN0eWxlcz10aGlzLmZpbmFsaXplU3R5bGVzKHRoaXMuc3R5bGVzKX1zdGF0aWMgZmluYWxpemVTdHlsZXMocyl7Y29uc3QgaT1bXTtpZihBcnJheS5pc0FycmF5KHMpKXtjb25zdCBlPW5ldyBTZXQocy5mbGF0KDEvMCkucmV2ZXJzZSgpKTtmb3IoY29uc3QgcyBvZiBlKWkudW5zaGlmdCh0KHMpKX1lbHNlIHZvaWQgMCE9PXMmJmkucHVzaCh0KHMpKTtyZXR1cm4gaX1zdGF0aWMgXyRFdSh0LHMpe2NvbnN0IGk9cy5hdHRyaWJ1dGU7cmV0dXJuITE9PT1pP3ZvaWQgMDpcInN0cmluZ1wiPT10eXBlb2YgaT9pOlwic3RyaW5nXCI9PXR5cGVvZiB0P3QudG9Mb3dlckNhc2UoKTp2b2lkIDB9Y29uc3RydWN0b3IoKXtzdXBlcigpLHRoaXMuXyRFcD12b2lkIDAsdGhpcy5pc1VwZGF0ZVBlbmRpbmc9ITEsdGhpcy5oYXNVcGRhdGVkPSExLHRoaXMuXyRFbT1udWxsLHRoaXMuXyRFdigpfV8kRXYoKXt0aGlzLl8kRVM9bmV3IFByb21pc2UoKHQ9PnRoaXMuZW5hYmxlVXBkYXRpbmc9dCkpLHRoaXMuXyRBTD1uZXcgTWFwLHRoaXMuXyRFXygpLHRoaXMucmVxdWVzdFVwZGF0ZSgpLHRoaXMuY29uc3RydWN0b3IubD8uZm9yRWFjaCgodD0+dCh0aGlzKSkpfWFkZENvbnRyb2xsZXIodCl7KHRoaXMuXyRFTz8/PW5ldyBTZXQpLmFkZCh0KSx2b2lkIDAhPT10aGlzLnJlbmRlclJvb3QmJnRoaXMuaXNDb25uZWN0ZWQmJnQuaG9zdENvbm5lY3RlZD8uKCl9cmVtb3ZlQ29udHJvbGxlcih0KXt0aGlzLl8kRU8/LmRlbGV0ZSh0KX1fJEVfKCl7Y29uc3QgdD1uZXcgTWFwLHM9dGhpcy5jb25zdHJ1Y3Rvci5lbGVtZW50UHJvcGVydGllcztmb3IoY29uc3QgaSBvZiBzLmtleXMoKSl0aGlzLmhhc093blByb3BlcnR5KGkpJiYodC5zZXQoaSx0aGlzW2ldKSxkZWxldGUgdGhpc1tpXSk7dC5zaXplPjAmJih0aGlzLl8kRXA9dCl9Y3JlYXRlUmVuZGVyUm9vdCgpe2NvbnN0IHQ9dGhpcy5zaGFkb3dSb290Pz90aGlzLmF0dGFjaFNoYWRvdyh0aGlzLmNvbnN0cnVjdG9yLnNoYWRvd1Jvb3RPcHRpb25zKTtyZXR1cm4gcyh0LHRoaXMuY29uc3RydWN0b3IuZWxlbWVudFN0eWxlcyksdH1jb25uZWN0ZWRDYWxsYmFjaygpe3RoaXMucmVuZGVyUm9vdD8/PXRoaXMuY3JlYXRlUmVuZGVyUm9vdCgpLHRoaXMuZW5hYmxlVXBkYXRpbmcoITApLHRoaXMuXyRFTz8uZm9yRWFjaCgodD0+dC5ob3N0Q29ubmVjdGVkPy4oKSkpfWVuYWJsZVVwZGF0aW5nKHQpe31kaXNjb25uZWN0ZWRDYWxsYmFjaygpe3RoaXMuXyRFTz8uZm9yRWFjaCgodD0+dC5ob3N0RGlzY29ubmVjdGVkPy4oKSkpfWF0dHJpYnV0ZUNoYW5nZWRDYWxsYmFjayh0LHMsaSl7dGhpcy5fJEFLKHQsaSl9XyRFQyh0LHMpe2NvbnN0IGk9dGhpcy5jb25zdHJ1Y3Rvci5lbGVtZW50UHJvcGVydGllcy5nZXQodCksZT10aGlzLmNvbnN0cnVjdG9yLl8kRXUodCxpKTtpZih2b2lkIDAhPT1lJiYhMD09PWkucmVmbGVjdCl7Y29uc3Qgcj0odm9pZCAwIT09aS5jb252ZXJ0ZXI/LnRvQXR0cmlidXRlP2kuY29udmVydGVyOnUpLnRvQXR0cmlidXRlKHMsaS50eXBlKTt0aGlzLl8kRW09dCxudWxsPT1yP3RoaXMucmVtb3ZlQXR0cmlidXRlKGUpOnRoaXMuc2V0QXR0cmlidXRlKGUsciksdGhpcy5fJEVtPW51bGx9fV8kQUsodCxzKXtjb25zdCBpPXRoaXMuY29uc3RydWN0b3IsZT1pLl8kRWguZ2V0KHQpO2lmKHZvaWQgMCE9PWUmJnRoaXMuXyRFbSE9PWUpe2NvbnN0IHQ9aS5nZXRQcm9wZXJ0eU9wdGlvbnMoZSkscj1cImZ1bmN0aW9uXCI9PXR5cGVvZiB0LmNvbnZlcnRlcj97ZnJvbUF0dHJpYnV0ZTp0LmNvbnZlcnRlcn06dm9pZCAwIT09dC5jb252ZXJ0ZXI/LmZyb21BdHRyaWJ1dGU/dC5jb252ZXJ0ZXI6dTt0aGlzLl8kRW09ZSx0aGlzW2VdPXIuZnJvbUF0dHJpYnV0ZShzLHQudHlwZSksdGhpcy5fJEVtPW51bGx9fXJlcXVlc3RVcGRhdGUodCxzLGkpe2lmKHZvaWQgMCE9PXQpe2lmKGk/Pz10aGlzLmNvbnN0cnVjdG9yLmdldFByb3BlcnR5T3B0aW9ucyh0KSwhKGkuaGFzQ2hhbmdlZD8/ZikodGhpc1t0XSxzKSlyZXR1cm47dGhpcy5QKHQscyxpKX0hMT09PXRoaXMuaXNVcGRhdGVQZW5kaW5nJiYodGhpcy5fJEVTPXRoaXMuXyRFVCgpKX1QKHQscyxpKXt0aGlzLl8kQUwuaGFzKHQpfHx0aGlzLl8kQUwuc2V0KHQscyksITA9PT1pLnJlZmxlY3QmJnRoaXMuXyRFbSE9PXQmJih0aGlzLl8kRWo/Pz1uZXcgU2V0KS5hZGQodCl9YXN5bmMgXyRFVCgpe3RoaXMuaXNVcGRhdGVQZW5kaW5nPSEwO3RyeXthd2FpdCB0aGlzLl8kRVN9Y2F0Y2godCl7UHJvbWlzZS5yZWplY3QodCl9Y29uc3QgdD10aGlzLnNjaGVkdWxlVXBkYXRlKCk7cmV0dXJuIG51bGwhPXQmJmF3YWl0IHQsIXRoaXMuaXNVcGRhdGVQZW5kaW5nfXNjaGVkdWxlVXBkYXRlKCl7cmV0dXJuIHRoaXMucGVyZm9ybVVwZGF0ZSgpfXBlcmZvcm1VcGRhdGUoKXtpZighdGhpcy5pc1VwZGF0ZVBlbmRpbmcpcmV0dXJuO2lmKCF0aGlzLmhhc1VwZGF0ZWQpe2lmKHRoaXMucmVuZGVyUm9vdD8/PXRoaXMuY3JlYXRlUmVuZGVyUm9vdCgpLHRoaXMuXyRFcCl7Zm9yKGNvbnN0W3Qsc11vZiB0aGlzLl8kRXApdGhpc1t0XT1zO3RoaXMuXyRFcD12b2lkIDB9Y29uc3QgdD10aGlzLmNvbnN0cnVjdG9yLmVsZW1lbnRQcm9wZXJ0aWVzO2lmKHQuc2l6ZT4wKWZvcihjb25zdFtzLGldb2YgdCkhMCE9PWkud3JhcHBlZHx8dGhpcy5fJEFMLmhhcyhzKXx8dm9pZCAwPT09dGhpc1tzXXx8dGhpcy5QKHMsdGhpc1tzXSxpKX1sZXQgdD0hMTtjb25zdCBzPXRoaXMuXyRBTDt0cnl7dD10aGlzLnNob3VsZFVwZGF0ZShzKSx0Pyh0aGlzLndpbGxVcGRhdGUocyksdGhpcy5fJEVPPy5mb3JFYWNoKCh0PT50Lmhvc3RVcGRhdGU/LigpKSksdGhpcy51cGRhdGUocykpOnRoaXMuXyRFVSgpfWNhdGNoKHMpe3Rocm93IHQ9ITEsdGhpcy5fJEVVKCksc310JiZ0aGlzLl8kQUUocyl9d2lsbFVwZGF0ZSh0KXt9XyRBRSh0KXt0aGlzLl8kRU8/LmZvckVhY2goKHQ9PnQuaG9zdFVwZGF0ZWQ/LigpKSksdGhpcy5oYXNVcGRhdGVkfHwodGhpcy5oYXNVcGRhdGVkPSEwLHRoaXMuZmlyc3RVcGRhdGVkKHQpKSx0aGlzLnVwZGF0ZWQodCl9XyRFVSgpe3RoaXMuXyRBTD1uZXcgTWFwLHRoaXMuaXNVcGRhdGVQZW5kaW5nPSExfWdldCB1cGRhdGVDb21wbGV0ZSgpe3JldHVybiB0aGlzLmdldFVwZGF0ZUNvbXBsZXRlKCl9Z2V0VXBkYXRlQ29tcGxldGUoKXtyZXR1cm4gdGhpcy5fJEVTfXNob3VsZFVwZGF0ZSh0KXtyZXR1cm4hMH11cGRhdGUodCl7dGhpcy5fJEVqJiY9dGhpcy5fJEVqLmZvckVhY2goKHQ9PnRoaXMuXyRFQyh0LHRoaXNbdF0pKSksdGhpcy5fJEVVKCl9dXBkYXRlZCh0KXt9Zmlyc3RVcGRhdGVkKHQpe319Yi5lbGVtZW50U3R5bGVzPVtdLGIuc2hhZG93Um9vdE9wdGlvbnM9e21vZGU6XCJvcGVuXCJ9LGJbZChcImVsZW1lbnRQcm9wZXJ0aWVzXCIpXT1uZXcgTWFwLGJbZChcImZpbmFsaXplZFwiKV09bmV3IE1hcCxwPy4oe1JlYWN0aXZlRWxlbWVudDpifSksKGEucmVhY3RpdmVFbGVtZW50VmVyc2lvbnM/Pz1bXSkucHVzaChcIjIuMC40XCIpO2V4cG9ydHtiIGFzIFJlYWN0aXZlRWxlbWVudCx1IGFzIGRlZmF1bHRDb252ZXJ0ZXIsZiBhcyBub3RFcXVhbH07XG4vLyMgc291cmNlTWFwcGluZ1VSTD1yZWFjdGl2ZS1lbGVtZW50LmpzLm1hcFxuIiwiLyoqXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IDIwMTcgR29vZ2xlIExMQ1xuICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0zLUNsYXVzZVxuICovXG5jb25zdCB0PWdsb2JhbFRoaXMsaT10LnRydXN0ZWRUeXBlcyxzPWk/aS5jcmVhdGVQb2xpY3koXCJsaXQtaHRtbFwiLHtjcmVhdGVIVE1MOnQ9PnR9KTp2b2lkIDAsZT1cIiRsaXQkXCIsaD1gbGl0JCR7TWF0aC5yYW5kb20oKS50b0ZpeGVkKDkpLnNsaWNlKDIpfSRgLG89XCI/XCIraCxuPWA8JHtvfT5gLHI9ZG9jdW1lbnQsbD0oKT0+ci5jcmVhdGVDb21tZW50KFwiXCIpLGM9dD0+bnVsbD09PXR8fFwib2JqZWN0XCIhPXR5cGVvZiB0JiZcImZ1bmN0aW9uXCIhPXR5cGVvZiB0LGE9QXJyYXkuaXNBcnJheSx1PXQ9PmEodCl8fFwiZnVuY3Rpb25cIj09dHlwZW9mIHQ/LltTeW1ib2wuaXRlcmF0b3JdLGQ9XCJbIFxcdFxcblxcZlxccl1cIixmPS88KD86KCEtLXxcXC9bXmEtekEtWl0pfChcXC8/W2EtekEtWl1bXj5cXHNdKil8KFxcLz8kKSkvZyx2PS8tLT4vZyxfPS8+L2csbT1SZWdFeHAoYD58JHtkfSg/OihbXlxcXFxzXCInPj0vXSspKCR7ZH0qPSR7ZH0qKD86W14gXFx0XFxuXFxmXFxyXCInXFxgPD49XXwoXCJ8Jyl8KSl8JClgLFwiZ1wiKSxwPS8nL2csZz0vXCIvZywkPS9eKD86c2NyaXB0fHN0eWxlfHRleHRhcmVhfHRpdGxlKSQvaSx5PXQ9PihpLC4uLnMpPT4oe18kbGl0VHlwZSQ6dCxzdHJpbmdzOmksdmFsdWVzOnN9KSx4PXkoMSksYj15KDIpLHc9eSgzKSxUPVN5bWJvbC5mb3IoXCJsaXQtbm9DaGFuZ2VcIiksRT1TeW1ib2wuZm9yKFwibGl0LW5vdGhpbmdcIiksQT1uZXcgV2Vha01hcCxDPXIuY3JlYXRlVHJlZVdhbGtlcihyLDEyOSk7ZnVuY3Rpb24gUCh0LGkpe2lmKCFhKHQpfHwhdC5oYXNPd25Qcm9wZXJ0eShcInJhd1wiKSl0aHJvdyBFcnJvcihcImludmFsaWQgdGVtcGxhdGUgc3RyaW5ncyBhcnJheVwiKTtyZXR1cm4gdm9pZCAwIT09cz9zLmNyZWF0ZUhUTUwoaSk6aX1jb25zdCBWPSh0LGkpPT57Y29uc3Qgcz10Lmxlbmd0aC0xLG89W107bGV0IHIsbD0yPT09aT9cIjxzdmc+XCI6Mz09PWk/XCI8bWF0aD5cIjpcIlwiLGM9Zjtmb3IobGV0IGk9MDtpPHM7aSsrKXtjb25zdCBzPXRbaV07bGV0IGEsdSxkPS0xLHk9MDtmb3IoO3k8cy5sZW5ndGgmJihjLmxhc3RJbmRleD15LHU9Yy5leGVjKHMpLG51bGwhPT11KTspeT1jLmxhc3RJbmRleCxjPT09Zj9cIiEtLVwiPT09dVsxXT9jPXY6dm9pZCAwIT09dVsxXT9jPV86dm9pZCAwIT09dVsyXT8oJC50ZXN0KHVbMl0pJiYocj1SZWdFeHAoXCI8L1wiK3VbMl0sXCJnXCIpKSxjPW0pOnZvaWQgMCE9PXVbM10mJihjPW0pOmM9PT1tP1wiPlwiPT09dVswXT8oYz1yPz9mLGQ9LTEpOnZvaWQgMD09PXVbMV0/ZD0tMjooZD1jLmxhc3RJbmRleC11WzJdLmxlbmd0aCxhPXVbMV0sYz12b2lkIDA9PT11WzNdP206J1wiJz09PXVbM10/ZzpwKTpjPT09Z3x8Yz09PXA/Yz1tOmM9PT12fHxjPT09Xz9jPWY6KGM9bSxyPXZvaWQgMCk7Y29uc3QgeD1jPT09bSYmdFtpKzFdLnN0YXJ0c1dpdGgoXCIvPlwiKT9cIiBcIjpcIlwiO2wrPWM9PT1mP3MrbjpkPj0wPyhvLnB1c2goYSkscy5zbGljZSgwLGQpK2Urcy5zbGljZShkKStoK3gpOnMraCsoLTI9PT1kP2k6eCl9cmV0dXJuW1AodCxsKyh0W3NdfHxcIjw/PlwiKSsoMj09PWk/XCI8L3N2Zz5cIjozPT09aT9cIjwvbWF0aD5cIjpcIlwiKSksb119O2NsYXNzIE57Y29uc3RydWN0b3Ioe3N0cmluZ3M6dCxfJGxpdFR5cGUkOnN9LG4pe2xldCByO3RoaXMucGFydHM9W107bGV0IGM9MCxhPTA7Y29uc3QgdT10Lmxlbmd0aC0xLGQ9dGhpcy5wYXJ0cyxbZix2XT1WKHQscyk7aWYodGhpcy5lbD1OLmNyZWF0ZUVsZW1lbnQoZixuKSxDLmN1cnJlbnROb2RlPXRoaXMuZWwuY29udGVudCwyPT09c3x8Mz09PXMpe2NvbnN0IHQ9dGhpcy5lbC5jb250ZW50LmZpcnN0Q2hpbGQ7dC5yZXBsYWNlV2l0aCguLi50LmNoaWxkTm9kZXMpfWZvcig7bnVsbCE9PShyPUMubmV4dE5vZGUoKSkmJmQubGVuZ3RoPHU7KXtpZigxPT09ci5ub2RlVHlwZSl7aWYoci5oYXNBdHRyaWJ1dGVzKCkpZm9yKGNvbnN0IHQgb2Ygci5nZXRBdHRyaWJ1dGVOYW1lcygpKWlmKHQuZW5kc1dpdGgoZSkpe2NvbnN0IGk9dlthKytdLHM9ci5nZXRBdHRyaWJ1dGUodCkuc3BsaXQoaCksZT0vKFsuP0BdKT8oLiopLy5leGVjKGkpO2QucHVzaCh7dHlwZToxLGluZGV4OmMsbmFtZTplWzJdLHN0cmluZ3M6cyxjdG9yOlwiLlwiPT09ZVsxXT9IOlwiP1wiPT09ZVsxXT9JOlwiQFwiPT09ZVsxXT9MOmt9KSxyLnJlbW92ZUF0dHJpYnV0ZSh0KX1lbHNlIHQuc3RhcnRzV2l0aChoKSYmKGQucHVzaCh7dHlwZTo2LGluZGV4OmN9KSxyLnJlbW92ZUF0dHJpYnV0ZSh0KSk7aWYoJC50ZXN0KHIudGFnTmFtZSkpe2NvbnN0IHQ9ci50ZXh0Q29udGVudC5zcGxpdChoKSxzPXQubGVuZ3RoLTE7aWYocz4wKXtyLnRleHRDb250ZW50PWk/aS5lbXB0eVNjcmlwdDpcIlwiO2ZvcihsZXQgaT0wO2k8cztpKyspci5hcHBlbmQodFtpXSxsKCkpLEMubmV4dE5vZGUoKSxkLnB1c2goe3R5cGU6MixpbmRleDorK2N9KTtyLmFwcGVuZCh0W3NdLGwoKSl9fX1lbHNlIGlmKDg9PT1yLm5vZGVUeXBlKWlmKHIuZGF0YT09PW8pZC5wdXNoKHt0eXBlOjIsaW5kZXg6Y30pO2Vsc2V7bGV0IHQ9LTE7Zm9yKDstMSE9PSh0PXIuZGF0YS5pbmRleE9mKGgsdCsxKSk7KWQucHVzaCh7dHlwZTo3LGluZGV4OmN9KSx0Kz1oLmxlbmd0aC0xfWMrK319c3RhdGljIGNyZWF0ZUVsZW1lbnQodCxpKXtjb25zdCBzPXIuY3JlYXRlRWxlbWVudChcInRlbXBsYXRlXCIpO3JldHVybiBzLmlubmVySFRNTD10LHN9fWZ1bmN0aW9uIFModCxpLHM9dCxlKXtpZihpPT09VClyZXR1cm4gaTtsZXQgaD12b2lkIDAhPT1lP3MuXyRDbz8uW2VdOnMuXyRDbDtjb25zdCBvPWMoaSk/dm9pZCAwOmkuXyRsaXREaXJlY3RpdmUkO3JldHVybiBoPy5jb25zdHJ1Y3RvciE9PW8mJihoPy5fJEFPPy4oITEpLHZvaWQgMD09PW8/aD12b2lkIDA6KGg9bmV3IG8odCksaC5fJEFUKHQscyxlKSksdm9pZCAwIT09ZT8ocy5fJENvPz89W10pW2VdPWg6cy5fJENsPWgpLHZvaWQgMCE9PWgmJihpPVModCxoLl8kQVModCxpLnZhbHVlcyksaCxlKSksaX1jbGFzcyBNe2NvbnN0cnVjdG9yKHQsaSl7dGhpcy5fJEFWPVtdLHRoaXMuXyRBTj12b2lkIDAsdGhpcy5fJEFEPXQsdGhpcy5fJEFNPWl9Z2V0IHBhcmVudE5vZGUoKXtyZXR1cm4gdGhpcy5fJEFNLnBhcmVudE5vZGV9Z2V0IF8kQVUoKXtyZXR1cm4gdGhpcy5fJEFNLl8kQVV9dSh0KXtjb25zdHtlbDp7Y29udGVudDppfSxwYXJ0czpzfT10aGlzLl8kQUQsZT0odD8uY3JlYXRpb25TY29wZT8/cikuaW1wb3J0Tm9kZShpLCEwKTtDLmN1cnJlbnROb2RlPWU7bGV0IGg9Qy5uZXh0Tm9kZSgpLG89MCxuPTAsbD1zWzBdO2Zvcig7dm9pZCAwIT09bDspe2lmKG89PT1sLmluZGV4KXtsZXQgaTsyPT09bC50eXBlP2k9bmV3IFIoaCxoLm5leHRTaWJsaW5nLHRoaXMsdCk6MT09PWwudHlwZT9pPW5ldyBsLmN0b3IoaCxsLm5hbWUsbC5zdHJpbmdzLHRoaXMsdCk6Nj09PWwudHlwZSYmKGk9bmV3IHooaCx0aGlzLHQpKSx0aGlzLl8kQVYucHVzaChpKSxsPXNbKytuXX1vIT09bD8uaW5kZXgmJihoPUMubmV4dE5vZGUoKSxvKyspfXJldHVybiBDLmN1cnJlbnROb2RlPXIsZX1wKHQpe2xldCBpPTA7Zm9yKGNvbnN0IHMgb2YgdGhpcy5fJEFWKXZvaWQgMCE9PXMmJih2b2lkIDAhPT1zLnN0cmluZ3M/KHMuXyRBSSh0LHMsaSksaSs9cy5zdHJpbmdzLmxlbmd0aC0yKTpzLl8kQUkodFtpXSkpLGkrK319Y2xhc3MgUntnZXQgXyRBVSgpe3JldHVybiB0aGlzLl8kQU0/Ll8kQVU/P3RoaXMuXyRDdn1jb25zdHJ1Y3Rvcih0LGkscyxlKXt0aGlzLnR5cGU9Mix0aGlzLl8kQUg9RSx0aGlzLl8kQU49dm9pZCAwLHRoaXMuXyRBQT10LHRoaXMuXyRBQj1pLHRoaXMuXyRBTT1zLHRoaXMub3B0aW9ucz1lLHRoaXMuXyRDdj1lPy5pc0Nvbm5lY3RlZD8/ITB9Z2V0IHBhcmVudE5vZGUoKXtsZXQgdD10aGlzLl8kQUEucGFyZW50Tm9kZTtjb25zdCBpPXRoaXMuXyRBTTtyZXR1cm4gdm9pZCAwIT09aSYmMTE9PT10Py5ub2RlVHlwZSYmKHQ9aS5wYXJlbnROb2RlKSx0fWdldCBzdGFydE5vZGUoKXtyZXR1cm4gdGhpcy5fJEFBfWdldCBlbmROb2RlKCl7cmV0dXJuIHRoaXMuXyRBQn1fJEFJKHQsaT10aGlzKXt0PVModGhpcyx0LGkpLGModCk/dD09PUV8fG51bGw9PXR8fFwiXCI9PT10Pyh0aGlzLl8kQUghPT1FJiZ0aGlzLl8kQVIoKSx0aGlzLl8kQUg9RSk6dCE9PXRoaXMuXyRBSCYmdCE9PVQmJnRoaXMuXyh0KTp2b2lkIDAhPT10Ll8kbGl0VHlwZSQ/dGhpcy4kKHQpOnZvaWQgMCE9PXQubm9kZVR5cGU/dGhpcy5UKHQpOnUodCk/dGhpcy5rKHQpOnRoaXMuXyh0KX1PKHQpe3JldHVybiB0aGlzLl8kQUEucGFyZW50Tm9kZS5pbnNlcnRCZWZvcmUodCx0aGlzLl8kQUIpfVQodCl7dGhpcy5fJEFIIT09dCYmKHRoaXMuXyRBUigpLHRoaXMuXyRBSD10aGlzLk8odCkpfV8odCl7dGhpcy5fJEFIIT09RSYmYyh0aGlzLl8kQUgpP3RoaXMuXyRBQS5uZXh0U2libGluZy5kYXRhPXQ6dGhpcy5UKHIuY3JlYXRlVGV4dE5vZGUodCkpLHRoaXMuXyRBSD10fSQodCl7Y29uc3R7dmFsdWVzOmksXyRsaXRUeXBlJDpzfT10LGU9XCJudW1iZXJcIj09dHlwZW9mIHM/dGhpcy5fJEFDKHQpOih2b2lkIDA9PT1zLmVsJiYocy5lbD1OLmNyZWF0ZUVsZW1lbnQoUChzLmgscy5oWzBdKSx0aGlzLm9wdGlvbnMpKSxzKTtpZih0aGlzLl8kQUg/Ll8kQUQ9PT1lKXRoaXMuXyRBSC5wKGkpO2Vsc2V7Y29uc3QgdD1uZXcgTShlLHRoaXMpLHM9dC51KHRoaXMub3B0aW9ucyk7dC5wKGkpLHRoaXMuVChzKSx0aGlzLl8kQUg9dH19XyRBQyh0KXtsZXQgaT1BLmdldCh0LnN0cmluZ3MpO3JldHVybiB2b2lkIDA9PT1pJiZBLnNldCh0LnN0cmluZ3MsaT1uZXcgTih0KSksaX1rKHQpe2EodGhpcy5fJEFIKXx8KHRoaXMuXyRBSD1bXSx0aGlzLl8kQVIoKSk7Y29uc3QgaT10aGlzLl8kQUg7bGV0IHMsZT0wO2Zvcihjb25zdCBoIG9mIHQpZT09PWkubGVuZ3RoP2kucHVzaChzPW5ldyBSKHRoaXMuTyhsKCkpLHRoaXMuTyhsKCkpLHRoaXMsdGhpcy5vcHRpb25zKSk6cz1pW2VdLHMuXyRBSShoKSxlKys7ZTxpLmxlbmd0aCYmKHRoaXMuXyRBUihzJiZzLl8kQUIubmV4dFNpYmxpbmcsZSksaS5sZW5ndGg9ZSl9XyRBUih0PXRoaXMuXyRBQS5uZXh0U2libGluZyxpKXtmb3IodGhpcy5fJEFQPy4oITEsITAsaSk7dCYmdCE9PXRoaXMuXyRBQjspe2NvbnN0IGk9dC5uZXh0U2libGluZzt0LnJlbW92ZSgpLHQ9aX19c2V0Q29ubmVjdGVkKHQpe3ZvaWQgMD09PXRoaXMuXyRBTSYmKHRoaXMuXyRDdj10LHRoaXMuXyRBUD8uKHQpKX19Y2xhc3Mga3tnZXQgdGFnTmFtZSgpe3JldHVybiB0aGlzLmVsZW1lbnQudGFnTmFtZX1nZXQgXyRBVSgpe3JldHVybiB0aGlzLl8kQU0uXyRBVX1jb25zdHJ1Y3Rvcih0LGkscyxlLGgpe3RoaXMudHlwZT0xLHRoaXMuXyRBSD1FLHRoaXMuXyRBTj12b2lkIDAsdGhpcy5lbGVtZW50PXQsdGhpcy5uYW1lPWksdGhpcy5fJEFNPWUsdGhpcy5vcHRpb25zPWgscy5sZW5ndGg+Mnx8XCJcIiE9PXNbMF18fFwiXCIhPT1zWzFdPyh0aGlzLl8kQUg9QXJyYXkocy5sZW5ndGgtMSkuZmlsbChuZXcgU3RyaW5nKSx0aGlzLnN0cmluZ3M9cyk6dGhpcy5fJEFIPUV9XyRBSSh0LGk9dGhpcyxzLGUpe2NvbnN0IGg9dGhpcy5zdHJpbmdzO2xldCBvPSExO2lmKHZvaWQgMD09PWgpdD1TKHRoaXMsdCxpLDApLG89IWModCl8fHQhPT10aGlzLl8kQUgmJnQhPT1ULG8mJih0aGlzLl8kQUg9dCk7ZWxzZXtjb25zdCBlPXQ7bGV0IG4scjtmb3IodD1oWzBdLG49MDtuPGgubGVuZ3RoLTE7bisrKXI9Uyh0aGlzLGVbcytuXSxpLG4pLHI9PT1UJiYocj10aGlzLl8kQUhbbl0pLG98fD0hYyhyKXx8ciE9PXRoaXMuXyRBSFtuXSxyPT09RT90PUU6dCE9PUUmJih0Kz0ocj8/XCJcIikraFtuKzFdKSx0aGlzLl8kQUhbbl09cn1vJiYhZSYmdGhpcy5qKHQpfWoodCl7dD09PUU/dGhpcy5lbGVtZW50LnJlbW92ZUF0dHJpYnV0ZSh0aGlzLm5hbWUpOnRoaXMuZWxlbWVudC5zZXRBdHRyaWJ1dGUodGhpcy5uYW1lLHQ/P1wiXCIpfX1jbGFzcyBIIGV4dGVuZHMga3tjb25zdHJ1Y3Rvcigpe3N1cGVyKC4uLmFyZ3VtZW50cyksdGhpcy50eXBlPTN9aih0KXt0aGlzLmVsZW1lbnRbdGhpcy5uYW1lXT10PT09RT92b2lkIDA6dH19Y2xhc3MgSSBleHRlbmRzIGt7Y29uc3RydWN0b3IoKXtzdXBlciguLi5hcmd1bWVudHMpLHRoaXMudHlwZT00fWoodCl7dGhpcy5lbGVtZW50LnRvZ2dsZUF0dHJpYnV0ZSh0aGlzLm5hbWUsISF0JiZ0IT09RSl9fWNsYXNzIEwgZXh0ZW5kcyBre2NvbnN0cnVjdG9yKHQsaSxzLGUsaCl7c3VwZXIodCxpLHMsZSxoKSx0aGlzLnR5cGU9NX1fJEFJKHQsaT10aGlzKXtpZigodD1TKHRoaXMsdCxpLDApPz9FKT09PVQpcmV0dXJuO2NvbnN0IHM9dGhpcy5fJEFILGU9dD09PUUmJnMhPT1FfHx0LmNhcHR1cmUhPT1zLmNhcHR1cmV8fHQub25jZSE9PXMub25jZXx8dC5wYXNzaXZlIT09cy5wYXNzaXZlLGg9dCE9PUUmJihzPT09RXx8ZSk7ZSYmdGhpcy5lbGVtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIodGhpcy5uYW1lLHRoaXMscyksaCYmdGhpcy5lbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIodGhpcy5uYW1lLHRoaXMsdCksdGhpcy5fJEFIPXR9aGFuZGxlRXZlbnQodCl7XCJmdW5jdGlvblwiPT10eXBlb2YgdGhpcy5fJEFIP3RoaXMuXyRBSC5jYWxsKHRoaXMub3B0aW9ucz8uaG9zdD8/dGhpcy5lbGVtZW50LHQpOnRoaXMuXyRBSC5oYW5kbGVFdmVudCh0KX19Y2xhc3Mgentjb25zdHJ1Y3Rvcih0LGkscyl7dGhpcy5lbGVtZW50PXQsdGhpcy50eXBlPTYsdGhpcy5fJEFOPXZvaWQgMCx0aGlzLl8kQU09aSx0aGlzLm9wdGlvbnM9c31nZXQgXyRBVSgpe3JldHVybiB0aGlzLl8kQU0uXyRBVX1fJEFJKHQpe1ModGhpcyx0KX19Y29uc3QgWj17TTplLFA6aCxBOm8sQzoxLEw6VixSOk0sRDp1LFY6UyxJOlIsSDprLE46SSxVOkwsQjpILEY6en0saj10LmxpdEh0bWxQb2x5ZmlsbFN1cHBvcnQ7aj8uKE4sUiksKHQubGl0SHRtbFZlcnNpb25zPz89W10pLnB1c2goXCIzLjIuMVwiKTtjb25zdCBCPSh0LGkscyk9Pntjb25zdCBlPXM/LnJlbmRlckJlZm9yZT8/aTtsZXQgaD1lLl8kbGl0UGFydCQ7aWYodm9pZCAwPT09aCl7Y29uc3QgdD1zPy5yZW5kZXJCZWZvcmU/P251bGw7ZS5fJGxpdFBhcnQkPWg9bmV3IFIoaS5pbnNlcnRCZWZvcmUobCgpLHQpLHQsdm9pZCAwLHM/P3t9KX1yZXR1cm4gaC5fJEFJKHQpLGh9O2V4cG9ydHtaIGFzIF8kTEgseCBhcyBodG1sLHcgYXMgbWF0aG1sLFQgYXMgbm9DaGFuZ2UsRSBhcyBub3RoaW5nLEIgYXMgcmVuZGVyLGIgYXMgc3ZnfTtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWxpdC1odG1sLmpzLm1hcFxuIiwiaW1wb3J0e1JlYWN0aXZlRWxlbWVudCBhcyB0fWZyb21cIkBsaXQvcmVhY3RpdmUtZWxlbWVudFwiO2V4cG9ydCpmcm9tXCJAbGl0L3JlYWN0aXZlLWVsZW1lbnRcIjtpbXBvcnR7cmVuZGVyIGFzIGUsbm9DaGFuZ2UgYXMgc31mcm9tXCJsaXQtaHRtbFwiO2V4cG9ydCpmcm9tXCJsaXQtaHRtbFwiO1xuLyoqXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IDIwMTcgR29vZ2xlIExMQ1xuICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0zLUNsYXVzZVxuICovY2xhc3MgciBleHRlbmRzIHR7Y29uc3RydWN0b3IoKXtzdXBlciguLi5hcmd1bWVudHMpLHRoaXMucmVuZGVyT3B0aW9ucz17aG9zdDp0aGlzfSx0aGlzLl8kRG89dm9pZCAwfWNyZWF0ZVJlbmRlclJvb3QoKXtjb25zdCB0PXN1cGVyLmNyZWF0ZVJlbmRlclJvb3QoKTtyZXR1cm4gdGhpcy5yZW5kZXJPcHRpb25zLnJlbmRlckJlZm9yZT8/PXQuZmlyc3RDaGlsZCx0fXVwZGF0ZSh0KXtjb25zdCBzPXRoaXMucmVuZGVyKCk7dGhpcy5oYXNVcGRhdGVkfHwodGhpcy5yZW5kZXJPcHRpb25zLmlzQ29ubmVjdGVkPXRoaXMuaXNDb25uZWN0ZWQpLHN1cGVyLnVwZGF0ZSh0KSx0aGlzLl8kRG89ZShzLHRoaXMucmVuZGVyUm9vdCx0aGlzLnJlbmRlck9wdGlvbnMpfWNvbm5lY3RlZENhbGxiYWNrKCl7c3VwZXIuY29ubmVjdGVkQ2FsbGJhY2soKSx0aGlzLl8kRG8/LnNldENvbm5lY3RlZCghMCl9ZGlzY29ubmVjdGVkQ2FsbGJhY2soKXtzdXBlci5kaXNjb25uZWN0ZWRDYWxsYmFjaygpLHRoaXMuXyREbz8uc2V0Q29ubmVjdGVkKCExKX1yZW5kZXIoKXtyZXR1cm4gc319ci5fJGxpdEVsZW1lbnQkPSEwLHJbXCJmaW5hbGl6ZWRcIl09ITAsZ2xvYmFsVGhpcy5saXRFbGVtZW50SHlkcmF0ZVN1cHBvcnQ/Lih7TGl0RWxlbWVudDpyfSk7Y29uc3QgaT1nbG9iYWxUaGlzLmxpdEVsZW1lbnRQb2x5ZmlsbFN1cHBvcnQ7aT8uKHtMaXRFbGVtZW50OnJ9KTtjb25zdCBvPXtfJEFLOih0LGUscyk9Pnt0Ll8kQUsoZSxzKX0sXyRBTDp0PT50Ll8kQUx9OyhnbG9iYWxUaGlzLmxpdEVsZW1lbnRWZXJzaW9ucz8/PVtdKS5wdXNoKFwiNC4xLjFcIik7ZXhwb3J0e3IgYXMgTGl0RWxlbWVudCxvIGFzIF8kTEV9O1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9bGl0LWVsZW1lbnQuanMubWFwXG4iLCIvKipcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgMjAxNyBHb29nbGUgTExDXG4gKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTMtQ2xhdXNlXG4gKi9cbmNvbnN0IHQ9dD0+KGUsbyk9Pnt2b2lkIDAhPT1vP28uYWRkSW5pdGlhbGl6ZXIoKCgpPT57Y3VzdG9tRWxlbWVudHMuZGVmaW5lKHQsZSl9KSk6Y3VzdG9tRWxlbWVudHMuZGVmaW5lKHQsZSl9O2V4cG9ydHt0IGFzIGN1c3RvbUVsZW1lbnR9O1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9Y3VzdG9tLWVsZW1lbnQuanMubWFwXG4iLCJpbXBvcnR7ZGVmYXVsdENvbnZlcnRlciBhcyB0LG5vdEVxdWFsIGFzIGV9ZnJvbVwiLi4vcmVhY3RpdmUtZWxlbWVudC5qc1wiO1xuLyoqXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IDIwMTcgR29vZ2xlIExMQ1xuICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0zLUNsYXVzZVxuICovY29uc3Qgbz17YXR0cmlidXRlOiEwLHR5cGU6U3RyaW5nLGNvbnZlcnRlcjp0LHJlZmxlY3Q6ITEsaGFzQ2hhbmdlZDplfSxyPSh0PW8sZSxyKT0+e2NvbnN0e2tpbmQ6bixtZXRhZGF0YTppfT1yO2xldCBzPWdsb2JhbFRoaXMubGl0UHJvcGVydHlNZXRhZGF0YS5nZXQoaSk7aWYodm9pZCAwPT09cyYmZ2xvYmFsVGhpcy5saXRQcm9wZXJ0eU1ldGFkYXRhLnNldChpLHM9bmV3IE1hcCkscy5zZXQoci5uYW1lLHQpLFwiYWNjZXNzb3JcIj09PW4pe2NvbnN0e25hbWU6b309cjtyZXR1cm57c2V0KHIpe2NvbnN0IG49ZS5nZXQuY2FsbCh0aGlzKTtlLnNldC5jYWxsKHRoaXMsciksdGhpcy5yZXF1ZXN0VXBkYXRlKG8sbix0KX0saW5pdChlKXtyZXR1cm4gdm9pZCAwIT09ZSYmdGhpcy5QKG8sdm9pZCAwLHQpLGV9fX1pZihcInNldHRlclwiPT09bil7Y29uc3R7bmFtZTpvfT1yO3JldHVybiBmdW5jdGlvbihyKXtjb25zdCBuPXRoaXNbb107ZS5jYWxsKHRoaXMsciksdGhpcy5yZXF1ZXN0VXBkYXRlKG8sbix0KX19dGhyb3cgRXJyb3IoXCJVbnN1cHBvcnRlZCBkZWNvcmF0b3IgbG9jYXRpb246IFwiK24pfTtmdW5jdGlvbiBuKHQpe3JldHVybihlLG8pPT5cIm9iamVjdFwiPT10eXBlb2Ygbz9yKHQsZSxvKTooKHQsZSxvKT0+e2NvbnN0IHI9ZS5oYXNPd25Qcm9wZXJ0eShvKTtyZXR1cm4gZS5jb25zdHJ1Y3Rvci5jcmVhdGVQcm9wZXJ0eShvLHI/ey4uLnQsd3JhcHBlZDohMH06dCkscj9PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGUsbyk6dm9pZCAwfSkodCxlLG8pfWV4cG9ydHtuIGFzIHByb3BlcnR5LHIgYXMgc3RhbmRhcmRQcm9wZXJ0eX07XG4vLyMgc291cmNlTWFwcGluZ1VSTD1wcm9wZXJ0eS5qcy5tYXBcbiIsImltcG9ydHtwcm9wZXJ0eSBhcyB0fWZyb21cIi4vcHJvcGVydHkuanNcIjtcbi8qKlxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCAyMDE3IEdvb2dsZSBMTENcbiAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMy1DbGF1c2VcbiAqL2Z1bmN0aW9uIHIocil7cmV0dXJuIHQoey4uLnIsc3RhdGU6ITAsYXR0cmlidXRlOiExfSl9ZXhwb3J0e3IgYXMgc3RhdGV9O1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9c3RhdGUuanMubWFwXG4iLCJleHBvcnQgaW50ZXJmYWNlIEluY2lkZW50IHtcbiAgaW1hZ2U6IHN0cmluZztcbiAgYXVkaW86IHN0cmluZztcbiAgaWQ6IHN0cmluZztcbiAgdGl0bGU6IHN0cmluZztcbiAgdGV4dDogc3RyaW5nO1xuICBjYXRlZ29yeTogc3RyaW5nO1xuICBjb3VudHJ5OiBzdHJpbmc7XG4gIHNvdXJjZTogc3RyaW5nO1xuICB5ZWFycGx1c21vbnRoOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBlbnVtIENhdGVnb3J5IHtcbiAgdHZTaG93T3JTZXJpZXMgPSBcInR2U2hvd09yU2VyaWVzXCIsXG4gIHNob3diaXp6ID0gXCJzaG93Yml6elwiLFxuICB0cmVuZCA9IFwidHJlbmRcIixcbiAgdGVjaCA9IFwidGVjaFwiLFxuICBmYXNoaW9uVHJlbmQgPSBcImZhc2hpb25UcmVuZFwiLFxuICBjaW5lbWFNb3ZpZSA9IFwiY2luZW1hTW92aWVcIixcbiAgc3RyZWV0U2NlbmUgPSBcInN0cmVldFNjZW5lXCIsXG4gIG5ld3NQcmVzZW50ZXIgPSBcIm5ld3NQcmVzZW50ZXJcIixcbiAgcmFkaW9Tb25nID0gXCJyYWRpb1NvbmdcIixcbiAgbmV3c0l0ZW0gPSBcIm5ld3NJdGVtXCIsXG4gIGljb25pY0FsYnVtID0gXCJpY29uaWNBbGJ1bVwiLFxuICByYWRpb1Nob3cgPSBcInJhZGlvU2hvd1wiLFxuICBiZXN0U2VsbGVyQm9vayA9IFwiYmVzdFNlbGxlckJvb2tcIixcbiAgYWR2ZXJ0aXNlbWVudCA9IFwiYWR2ZXJ0aXNlbWVudFwiLFxuICBjYXIgPSBcImNhclwiLFxuICBzcG9ydHMgPSBcInNwb3J0c1wiLFxuICB1bmtub3duID0gXCJ1bmtub3duXCIsXG59XG5cbmV4cG9ydCBjb25zdCBDYXRlZ29yaWVzID0gW1xuICAvLyBDYXRlZ29yeS5hZHZlcnRpc2VtZW50LFxuICAvLyBDYXRlZ29yeS5iZXN0U2VsbGVyQm9vayxcbiAgLy8gQ2F0ZWdvcnkuY2FyLFxuICBDYXRlZ29yeS5jaW5lbWFNb3ZpZSxcbiAgLy8gQ2F0ZWdvcnkuZmFzaGlvblRyZW5kLFxuICAvLyBDYXRlZ29yeS5pY29uaWNBbGJ1bSxcbiAgQ2F0ZWdvcnkubmV3c0l0ZW0sXG4gIENhdGVnb3J5Lm5ld3NQcmVzZW50ZXIsXG4gIC8vIENhdGVnb3J5LnJhZGlvU2hvdyxcbiAgQ2F0ZWdvcnkucmFkaW9Tb25nLFxuICBDYXRlZ29yeS5zaG93Yml6eixcbiAgQ2F0ZWdvcnkuc3BvcnRzLFxuICBDYXRlZ29yeS50ZWNoLFxuICBDYXRlZ29yeS50dlNob3dPclNlcmllcyxcbl07XG4iLCJleHBvcnQgY2xhc3MgVXRpbCB7XG4gIHB1YmxpYyBzdGF0aWMgYXN5bmMgYXN5bmNGb3JlYWNoKFxuICAgIGFycmF5OiBBcnJheTxhbnk+LCAvLyBlc2xpbnQtZGlzYWJsZS1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcbiAgICBjYWxsYmFjazogYW55LCAvLyBlc2xpbnQtZGlzYWJsZS1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcbiAgKSB7XG4gICAgZm9yIChsZXQgaW5kZXggPSAwOyBpbmRleCA8IGFycmF5Lmxlbmd0aDsgaW5kZXgrKykge1xuICAgICAgYXdhaXQgY2FsbGJhY2soYXJyYXlbaW5kZXhdLCBpbmRleCwgYXJyYXkpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBzdGF0aWMgcmVtb3ZlQWxsQ2hpbGRyZW4oXG4gICAgcGFyZW50RWxlbWVudDogSFRNTEVsZW1lbnQgfCB1bmRlZmluZWQsXG4gICk6IHZvaWQge1xuICAgIGlmICghcGFyZW50RWxlbWVudCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBsZXQgY2hpbGRUb0RlbGV0ZSA9IHBhcmVudEVsZW1lbnQubGFzdENoaWxkO1xuICAgIHdoaWxlIChjaGlsZFRvRGVsZXRlKSB7XG4gICAgICBwYXJlbnRFbGVtZW50LnJlbW92ZUNoaWxkKGNoaWxkVG9EZWxldGUpO1xuICAgICAgY2hpbGRUb0RlbGV0ZSA9IHBhcmVudEVsZW1lbnQubGFzdENoaWxkO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBTaHVmZmxlIGFuIGFycmF5XG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHNodWZmbGVBcnJheShhcnJheTogQXJyYXk8YW55Pik6IEFycmF5PGFueT4ge1xuICAgIHJldHVybiBhcnJheS5zb3J0KCgpID0+IE1hdGgucmFuZG9tKCkgLSAwLjUpO1xuICB9XG5cbiAgLy8gVGhlIG5hbWluZyBvZiB0aGUgZ2VuZXJhdGlvbnMgc2hvdWxkIGNvbmZvcm0gdG8gd2hhdCB0aGUgYmFja2VuZCBleHBlY3RzLlxuICBwdWJsaWMgc3RhdGljIGRvYlRvR2VuZXJhdGlvbihkb2I6IG51bWJlcik6IHN0cmluZyB7XG4gICAgaWYgKGRvYiA+PSAyMDEzKSByZXR1cm4gJ2dlbmVyYXRpb25hbHBoYSc7XG4gICAgaWYgKGRvYiA+PSAxOTk3KSByZXR1cm4gJ2dlbmVyYXRpb256JztcbiAgICBpZiAoZG9iID49IDE5ODEpIHJldHVybiAnZ2VuZXJhdGlvbnknO1xuICAgIGlmIChkb2IgPj0gMTk2NSkgcmV0dXJuICdnZW5lcmF0aW9ueCc7XG4gICAgaWYgKGRvYiA+PSAxOTQ2KSByZXR1cm4gJ2JhYnlib29tZXJzJztcbiAgICBpZiAoZG9iID49IDE5MjgpIHJldHVybiAnc2lsZW50Z2VuZXJhdGlvbic7XG4gICAgaWYgKGRvYiA+PSAxOTAxKSByZXR1cm4gJ2dyZWF0ZXN0Z2VuZXJhdGlvbic7XG4gICAgcmV0dXJuICcnO1xuICAgIC8vIGdyZWF0ZXN0Z2VuZXJhdGlvbjogMTkwMS0xOTI3XG4gICAgLy8gc2lsZW50Z2VuZXJhdGlvbjogMTkyOC0xOTQ1XG4gICAgLy8gYmFieWJvb21lcnM6IDE5NDYtMTk2NFxuICAgIC8vIGdlbmVyYXRpb254OiAxOTY1LTE5ODBcbiAgICAvLyBnZW5lcmF0aW9ueTogMTk4MS0xOTk2XG4gICAgLy8gZ2VuZXJhdGlvbno6IDE5OTctMjAxMlxuICAgIC8vIGdlbmVyYXRpb25hbHBoYTogMjAxMy0yMDI4XG4gIH1cblxufVxuXG5leHBvcnQgaW50ZXJmYWNlIElIYXNoIHtcbiAgW0lkZW50aWZpZXI6IHN0cmluZyB8IG51bWJlcl06XG4gIHwgYm9vbGVhblxuICB8IG51bWJlclxuICB8IHN0cmluZ1xuICB8IHN0cmluZ1tdXG4gIHwgdW5kZWZpbmVkO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElTdHJpbmdBcnJheUhhc2gge1xuICBbSWRlbnRpZmllcjogc3RyaW5nIHwgbnVtYmVyXTogc3RyaW5nW107XG59XG4iLCJpbXBvcnQgeyBVdGlsLCBJSGFzaCB9IGZyb20gXCIuL1V0aWxcIjtcbmltcG9ydCB7IEluY2lkZW50IH0gZnJvbSBcIi4vSW5jaWRlbnRcIjtcblxuZXhwb3J0IGNsYXNzIEFwaVNlcnZpY2Uge1xuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHRlZWVBcGlVcmw6IHN0cmluZykgeyB9XG5cbiAgcHVibGljIGFzeW5jIGZldGNoT25lSW5jaWRlbnQoXG4gICAgcG92OiBzdHJpbmcsXG4gICAgY2F0ZWdvcnk6IHN0cmluZyB8IHVuZGVmaW5lZCxcbiAgICBlbW90aW9uOiBzdHJpbmcgfCB1bmRlZmluZWQsXG4gICAgaW1wYWN0OiBzdHJpbmcgfCB1bmRlZmluZWQsXG4gICAgZGF0ZTogc3RyaW5nLFxuICAgIGZyb206IHN0cmluZyxcbiAgICB0bzogc3RyaW5nLFxuICAgIG1heExhc3RlZDogc3RyaW5nIHwgdW5kZWZpbmVkLFxuICAgIHZhcmlhbnQ6IHN0cmluZyB8IHVuZGVmaW5lZCxcbiAgKTogUHJvbWlzZTx7IGluY2lkZW50OiBJbmNpZGVudCB8IHVuZGVmaW5lZDsgc291cmNlczogc3RyaW5nW10gfT4ge1xuICAgIHJldHVybiBuZXcgUHJvbWlzZShhc3luYyAocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgICBjb25zb2xlLmRlYnVnKFwiZmV0Y2hIaXN0b3J5XCIpO1xuXG4gICAgICAvLyBTZXQgZGVmYXVsdHMgdG8gZXhwbGljaXQgZW1wdHkgc3RyaW5nLlxuICAgICAgY29uc3QgcG92cyA9IHBvdiB8fCBcIlwiO1xuICAgICAgY29uc3QgY2F0ZWdvcmllcyA9IGNhdGVnb3J5IHx8IFwiXCI7XG4gICAgICBjb25zdCBlbW90aW9ucyA9IGVtb3Rpb24gfHwgXCJcIjtcbiAgICAgIGNvbnN0IGltcGFjdHMgPSBpbXBhY3QgfHwgXCJcIjtcbiAgICAgIGNvbnN0IGRhdGVTdHJpbmcgPSBkYXRlIHx8IFwiXCI7XG4gICAgICBjb25zdCBmcm9tU3RyaW5nID0gZnJvbSB8fCBcIlwiO1xuICAgICAgY29uc3QgdG9TdHJpbmcgPSB0byB8fCBcIlwiO1xuICAgICAgY29uc3QgbGltaXRTdHJpbmcgPSBcIjFcIjtcbiAgICAgIGNvbnN0IG1heExhc3RlZFN0cmluZyA9IG1heExhc3RlZCB8fCBcIlwiO1xuICAgICAgY29uc3QgdmFyaWFudHMgPSB2YXJpYW50IHx8IFwiXCI7XG5cbiAgICAgIHRyeSB7XG4gICAgICAgIGNvbnN0IHVybHM6IEFycmF5PFVSTD4gPSBbXTtcblxuICAgICAgICBjb25zdCB1cmxTZWFyY2ggPSBuZXcgVVJMU2VhcmNoUGFyYW1zKHtcbiAgICAgICAgICBwb3Y6IHBvdnMsXG4gICAgICAgICAgZW1vdGlvbjogZW1vdGlvbnMsXG4gICAgICAgICAgaW1wYWN0OiBpbXBhY3RzLFxuICAgICAgICAgIGxpbWl0OiBsaW1pdFN0cmluZyxcbiAgICAgICAgICB2YXJpYW50OiB2YXJpYW50c1xuICAgICAgICB9KTtcblxuICAgICAgICAvLyBBbHdheXMgcmFuZG9taXplIGluY2lkZW50cyBvbiB0aGUgYmFja2VuZC5cbiAgICAgICAgdXJsU2VhcmNoLmFwcGVuZChcInNlZWRcIiwgXCJcIiArIG5ldyBEYXRlKCkuZ2V0VGltZSgpKTtcblxuICAgICAgICBpZiAobWF4TGFzdGVkKSB7XG4gICAgICAgICAgdXJsU2VhcmNoLmFwcGVuZChcIm1heGxhc3RlZFwiLCBcIlwiICsgbWF4TGFzdGVkU3RyaW5nKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIGFkZCBjYXRlZ29yeSB0byBzZWFyY2hcbiAgICAgICAgdXJsU2VhcmNoLnNldChcImNhdGVnb3J5XCIsIGNhdGVnb3JpZXMpO1xuXG4gICAgICAgIGlmIChkYXRlU3RyaW5nKSB7XG4gICAgICAgICAgLy8gc2V0dXAgdXJsXG4gICAgICAgICAgY29uc3QgdXJsID0gbmV3IFVSTChgJHt0aGlzLnRlZWVBcGlVcmx9LyR7ZGF0ZX1gKTtcbiAgICAgICAgICB1cmwuc2VhcmNoID0gdXJsU2VhcmNoLnRvU3RyaW5nKCk7XG5cbiAgICAgICAgICB1cmxzLnB1c2godXJsKTtcbiAgICAgICAgfSBlbHNlIGlmIChmcm9tU3RyaW5nICYmIHRvU3RyaW5nKSB7XG4gICAgICAgICAgY29uc3QgZnJvbSA9IG5ldyBEYXRlKGZyb21TdHJpbmcpLnRvSVNPU3RyaW5nKCkuc3Vic3RyaW5nKDAsIDEwKTtcbiAgICAgICAgICBjb25zdCB0byA9IG5ldyBEYXRlKHRvU3RyaW5nKS50b0lTT1N0cmluZygpLnN1YnN0cmluZygwLCAxMCk7XG5cbiAgICAgICAgICAvLyBhZGQgZnJvbSBhbmQgdG8gZGF0ZSB0byBzZWFyY2hcbiAgICAgICAgICB1cmxTZWFyY2guc2V0KFwiZnJvbVwiLCBmcm9tKTtcbiAgICAgICAgICB1cmxTZWFyY2guc2V0KFwidG9cIiwgdG8pO1xuXG4gICAgICAgICAgLy8gc2V0dXAgdXJsXG4gICAgICAgICAgY29uc3QgdXJsID0gbmV3IFVSTCh0aGlzLnRlZWVBcGlVcmwpO1xuICAgICAgICAgIHVybC5zZWFyY2ggPSB1cmxTZWFyY2gudG9TdHJpbmcoKTtcblxuICAgICAgICAgIHVybHMucHVzaCh1cmwpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRocm93IFwiTm8gY29ycmVjdCBkYXRlIG9yIHBlcmlvZCBzcGVjaWZpZWQuXCI7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBzdGFydCBmZXRjaGluZyBhbGwgaW5jaWRlbnRzXG4gICAgICAgIGxldCBpbmNpZGVudHM6IEFycmF5PEluY2lkZW50PiA9IFtdO1xuICAgICAgICBhd2FpdCBVdGlsLmFzeW5jRm9yZWFjaCh1cmxzLCBhc3luYyAodXJsOiBzdHJpbmcpID0+IHtcbiAgICAgICAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IGZldGNoKHVybCk7XG4gICAgICAgICAgY29uc3QganNvbiA9IGF3YWl0IHJlc3BvbnNlLmpzb24oKTtcbiAgICAgICAgICBpbmNpZGVudHMgPSBpbmNpZGVudHMuY29uY2F0KGpzb24ucmVzdWx0cyk7XG4gICAgICAgIH0pO1xuICAgICAgICAvLyBDaG9vc2UgdGhlIGZpcnN0IGluY2lkZW50IGluIHRoZSBsaXN0IGFzIHRoZSBvbmUgdG8gcmV0dXJuLlxuICAgICAgICBjb25zdCBmaXJzdEluY2lkZW50SW5MaXN0ID0gaW5jaWRlbnRzLmxlbmd0aCA/IGluY2lkZW50c1swXSA6IHVuZGVmaW5lZDtcblxuICAgICAgICAvLyBzZWFyY2ggZm9yIHNvdXJjZXMgb24gaW5jaWRlbnRzXG4gICAgICAgIGNvbnN0IHNvdXJjZXNGb3VuZEluSW5jaWRlbnRzOiBJSGFzaCA9IHt9O1xuICAgICAgICBpbmNpZGVudHMuZm9yRWFjaCgoaW5jaWRlbnQ6IEluY2lkZW50KSA9PiB7XG4gICAgICAgICAgaWYgKGluY2lkZW50LnNvdXJjZSkge1xuICAgICAgICAgICAgc291cmNlc0ZvdW5kSW5JbmNpZGVudHNbaW5jaWRlbnQuc291cmNlXSA9IHRydWU7XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcblxuICAgICAgICBjb25zb2xlLmRlYnVnKFtpbmNpZGVudHMsIHNvdXJjZXNGb3VuZEluSW5jaWRlbnRzXSk7XG5cbiAgICAgICAgcmVzb2x2ZSh7XG4gICAgICAgICAgaW5jaWRlbnQ6IGZpcnN0SW5jaWRlbnRJbkxpc3QsXG4gICAgICAgICAgc291cmNlczogT2JqZWN0LmtleXMoc291cmNlc0ZvdW5kSW5JbmNpZGVudHMpLFxuICAgICAgICB9KTtcbiAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgcmVqZWN0KGUpO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgLy8gcG9zdCBmZWVkYmFjayBhYm91dCB0aGUgYXR0cmlidXRlIG9mIGFuIGluY2lkZW50LlxuICBwdWJsaWMgYXN5bmMgcG9zdEF0dHJpYnV0ZVF1YWxpdHlGZWVkYmFjayhcbiAgICBpbmNpZGVudGlkOiBzdHJpbmcsXG4gICAgYXR0cmlidXRlOiBzdHJpbmcsXG4gICAgdmFsdWU6IHN0cmluZyxcbiAgICByZW1hcms6IHN0cmluZyxcbiAgKSB7XG4gICAgY29uc3QgdXJsID0gYCR7dGhpcy50ZWVlQXBpVXJsfS9mZWVkYmFjay8ke2luY2lkZW50aWR9L2F0dHJpYnV0ZWA7XG4gICAgYXdhaXQgZmV0Y2godXJsLCB7XG4gICAgICBtZXRob2Q6IFwiUE9TVFwiLFxuICAgICAgaGVhZGVyczoge1xuICAgICAgICBBY2NlcHQ6IFwiYXBwbGljYXRpb24vanNvblwiLFxuICAgICAgICBcIkNvbnRlbnQtVHlwZVwiOiBcImFwcGxpY2F0aW9uL2pzb25cIixcbiAgICAgIH0sXG4gICAgICBib2R5OiBKU09OLnN0cmluZ2lmeSh7XG4gICAgICAgIGF0dHJpYnV0ZSxcbiAgICAgICAgdmFsdWUsXG4gICAgICAgIHJlbWFyayxcbiAgICAgIH0pLFxuICAgIH0pO1xuICB9XG5cbiAgLy8gcG9zdCBmZWVkYmFjayBhYm91dCBhbiBpbmNpZGVudC5cbiAgcHVibGljIGFzeW5jIHBvc3RJbmNpZGVudEZlZWRiYWNrKGluY2lkZW50aWQ6IHN0cmluZywgcmVtYXJrOiBzdHJpbmcpIHtcbiAgICBjb25zdCB1cmwgPSBgJHt0aGlzLnRlZWVBcGlVcmx9L2ZlZWRiYWNrLyR7aW5jaWRlbnRpZH0vcmVtYXJrYDtcbiAgICBhd2FpdCBmZXRjaCh1cmwsIHtcbiAgICAgIG1ldGhvZDogXCJQT1NUXCIsXG4gICAgICBoZWFkZXJzOiB7XG4gICAgICAgIEFjY2VwdDogXCJhcHBsaWNhdGlvbi9qc29uXCIsXG4gICAgICAgIFwiQ29udGVudC1UeXBlXCI6IFwiYXBwbGljYXRpb24vanNvblwiLFxuICAgICAgfSxcbiAgICAgIGJvZHk6IEpTT04uc3RyaW5naWZ5KHtcbiAgICAgICAgcmVtYXJrLFxuICAgICAgfSksXG4gICAgfSk7XG4gIH1cblxuICAvLyBQb3N0IHRoZSByZWNhbGxhYmlsaXR5IG9mIHRoaXMgaW5jaWRlbnQgYnkgdGhlIHBsYXllci5cbiAgcHVibGljIGFzeW5jIGluY2lkZW50UmVjYWxsYWJpbGl0eShpbmNpZGVudGlkOiBzdHJpbmcsIGRvYjogbnVtYmVyLCBpc19jb3JyZWN0OiBib29sZWFuKSB7XG4gICAgdGhpcy5wb3N0SW5jaWRlbnRGZWVkYmFjayhpbmNpZGVudGlkLCBgcmVjYWxsOmFic29sdXRlLXllYXI6JHtVdGlsLmRvYlRvR2VuZXJhdGlvbihkb2IpfToke2lzX2NvcnJlY3R9YCk7XG4gIH1cbn1cblxuZXhwb3J0IGVudW0gQ29udGVudEZlZWRiYWNrIHtcbiAgaW5jb3JyZWN0ID0gXCJpbmNvcnJlY3RcIiwgLy8gVGhpcyBjb250ZW50IGlzIG5vdCBjb3JyZWN0XG4gIHRvb1Nob3J0ID0gXCJ0b29TaG9ydFwiLCAvLyBUaGlzIGNvbnRlbnQgaXMgdG9vIHNob3J0XG4gIHRvb0xvbmcgPSBcInRvb0xvbmdcIiwgLy8gVGhpcyBjb250ZW50IGlzIHRvbyBsb25nXG4gIHRvbmVPZlZvaWNlID0gXCJ0b25lT2ZWb2ljZVwiLCAvLyBUaGUgdG9uZSBvZiB2b2ljZSBvZiB0aGlzIGNvbnRlbnQgc2hvdWxkIGJlIGltcHJvdmVkXG4gIG1pc3NpbmcgPSBcIm1pc3NpbmdcIiwgLy8gVGhpcyBjb250ZW50IHNob3VsZCBiZSBjcmVhdGVkXG4gIG5vTWF0Y2ggPSBcIm5vTWF0Y2hcIiwgLy8gVGhpcyBjb250ZW50IGRvZXMgbm90IG1hdGNoIHdpdGggaXRzIHNpYmxpbmcgZGF0YVxuICBiYWREYXRhID0gXCJiYWREYXRhXCIsIC8vIFRoaXMgY29udGVudCBjb250YWlucyBiYWQgZGF0YVxuICB1bmtub3duID0gXCJ1bmtub3duXCIsIC8vIFdlIGRpZCBub3QgZXhwZWN0IHRoaXMgaW5wdXQuLi5cbn1cbiIsImVudW0gR2FtZVN0YXRlIHtcbiAgSU5JVCA9IFwiaW5pdFwiLFxuICBTUExBU0ggPSBcInNwbGFzaFwiLFxuICBJTlRSTyA9IFwiaW50cm9cIixcbiAgUExBWSA9IFwicGxheVwiLFxuICBFTkQgPSBcImVuZFwiLFxufVxuXG5leHBvcnQgeyBHYW1lU3RhdGUgfTtcbiIsImltcG9ydCB7IENhdGVnb3J5IH0gZnJvbSBcIi4uL0luY2lkZW50XCI7XG5pbXBvcnQgeyBJU3RyaW5nQXJyYXlIYXNoIH0gZnJvbSBcIi4uL1V0aWxcIjtcbmltcG9ydCB7IGkxOG4gfSBmcm9tIFwiLi9pMThuXCI7XG5cbmV4cG9ydCBjbGFzcyBOTCBpbXBsZW1lbnRzIGkxOG4ge1xuICBjb25zdHJ1Y3RvcihwdWJsaWMgSGludFRlbXBsYXRlczogSVN0cmluZ0FycmF5SGFzaCA9IHt9KSB7XG4gICAgSGludFRlbXBsYXRlc1tDYXRlZ29yeS5uZXdzUHJlc2VudGVyXSA9IFtcbiAgICAgIFwiX19USVRMRV9fIHByZXNlbnRlZXJkZSBoZXQgYWNodCB1dXIgam91cm5hYWwuXCIsXG4gICAgXTtcbiAgICBIaW50VGVtcGxhdGVzW0NhdGVnb3J5LnRlY2hdID0gW1xuICAgICAgXCJUZWNobmlldXdzOiBfX1RJVExFX18uXCIsXG4gICAgICBcIlRlY2huZXV0ZW4gbGllcGVuIHdhcm0gdm9vciAnX19USVRMRV9fJy5cIixcbiAgICBdO1xuICAgIEhpbnRUZW1wbGF0ZXNbQ2F0ZWdvcnkuc2hvd2JpenpdID0gW1xuICAgICAgXCJWZWVsIGluIGhldCBzaG93Yml6eiBuaWV1d3M6IF9fVElUTEVfXy5cIixcbiAgICBdO1xuICAgIEhpbnRUZW1wbGF0ZXNbQ2F0ZWdvcnkuc3BvcnRzXSA9IFtcbiAgICAgIFwiU3BvcnRuaWV1d3M6IF9fVElUTEVfXy5cIixcbiAgICAgIFwiU3BvcnRmYW5hdGVuIHNwcmFrZW4gb3ZlciAnX19USVRMRV9fJy5cIixcbiAgICBdO1xuICAgIEhpbnRUZW1wbGF0ZXNbQ2F0ZWdvcnkudHZTaG93T3JTZXJpZXNdID0gW1xuICAgICAgXCJPcCB0diB3YXMgJ19fVElUTEVfXycuXCIsXG4gICAgICBcIidzIEF2b25kcyBrZWtlbiB3ZSBuYWFyICdfX1RJVExFX18nIG9wIHRlbGV2aXNpZS5cIixcbiAgICBdO1xuICAgIEhpbnRUZW1wbGF0ZXNbQ2F0ZWdvcnkubmV3c0l0ZW1dID0gW1xuICAgICAgXCJJbiBkZSBrcmFudCBzdG9uZCBkaXQgamFhciBvb2sgJ19fVElUTEVfXycuXCIsXG4gICAgICBcIidfX1RJVExFX18nIHdhcyBkaXQgamFhciBvb2sgaW4gaGV0IG5pZXV3cyB0ZSBsZXplbi5cIixcbiAgICBdO1xuICAgIEhpbnRUZW1wbGF0ZXNbQ2F0ZWdvcnkuY2luZW1hTW92aWVdID0gW1xuICAgICAgXCJEZSBmaWxtICdfX1RJVExFX18nIGRyYWFpZGUgaW4gZGUgYmlvc2Nvb3AuXCIsXG4gICAgICBcIkRlIGZpbG0gJ19fVElUTEVfXycgd2FzIGVlbiBrYXNrcmFrZXIuXCIsXG4gICAgICBcIkluIGRlIGJpb3Njb29wIHdhcyBkZSBmaWxtICdfX1RJVExFX18nIHRlIHppZW4uXCIsXG4gICAgICBcIidfX1RJVExFX18nIHdhcyBvcCBoZXQgd2l0dGUgZG9layB0ZSB6aWVuLlwiLFxuICAgIF07XG4gICAgSGludFRlbXBsYXRlc1tDYXRlZ29yeS5yYWRpb1NvbmddID0gW1xuICAgICAgXCJEZSBoaXQgJ19fVFJBQ0tfXycgdmFuIF9fQVJUSVNUX18gd2FzIGVlbiBncmFhZyBnZWRyYWFpZGUgdHVuZSBvcCBkZSByYWRpby5cIixcbiAgICAgIFwiQWFuIGhldCBsaWVkamUgJ19fVFJBQ0tfXycgdmFuIF9fQVJUSVNUX18gd2FzIG5pZXQgdGUgb250a29tZW4gb3AgZGUgcmFkaW8uXCIsXG4gICAgICBcIl9fQVJUSVNUX18nICdfX1RSQUNLX18nIGtsb25rIHJlZ2VsbWF0aWcgb3AgZGUgcmFkaW8uXCIsXG4gICAgICBcIkplIGtvbiAnX19UUkFDS19fJyB2YW4gX19BUlRJU1RfXyBuaWV0IG1pc3NlbiBvcCBkZSByYWRpbywgaGV0IHdlcmQgem8gdmFhayBnZWRyYWFpZC5cIixcbiAgICAgIFwiJ19fVFJBQ0tfXycgdmFuIF9fQVJUSVNUX18gd2FzIGVlbiB2YXN0IG51bW1lciBvcCBkZSByYWRpby5cIixcbiAgICAgIFwiSW4gZGllIHRpamQgd2FzICdfX1RSQUNLX18nIHZhbiBfX0FSVElTVF9fIGVlbiB2ZWVsZ2Vob29yZGUgcmFkaW9oaXQuXCIsXG4gICAgICBcIidfX1RSQUNLX18nIHZhbiBfX0FSVElTVF9fIHdhcyBlZW4gcmFkaW8tZmF2b3JpZXQgaW4gZGl0IGphYXIuXCIsXG4gICAgICBcIkRlIHJhZGlvc3RhdGlvbnMgem9uZGVuICdfX1RSQUNLX18nIHZhbiBfX0FSVElTVF9fIHVpdC5cIixcbiAgICAgIFwiSGV0IG51bW1lciAnX19UUkFDS19fJyB2YW4gX19BUlRJU1RfXyBnZW5vb3QgdmVlbCBhaXJwbGF5IG9wIGRlIHJhZGlvLlwiLFxuICAgICAgXCInX19UUkFDS19fJyB2YW4gX19BUlRJU1RfXyB3YXMgZWVuIHZlZWxnZWhvb3JkIG51bW1lciBvcCBkZSByYWRpb3N0YXRpb25zLlwiLFxuICAgICAgXCInX19UUkFDS19fJyB2YW4gX19BUlRJU1RfXyB3ZXJkIGVlbiByYWRpb2tsYXNzaWVrZXIuXCIsXG4gICAgICBcIidfX1RSQUNLX18nIHZhbiBfX0FSVElTVF9fIHdhcyBlZW4gb252ZXJnZXRlbGlqa2UgaGl0IGRpZSBkZSByYWRpbyBkb21pbmVlcmRlLlwiLFxuICAgICAgXCInX19UUkFDS19fJyB2YW4gX19BUlRJU1RfXyB3YXMgZWVuIHZlZWxnZWhvb3JkZSBoaXQuXCIsXG4gICAgICBcIkRlIHJhZGlvc3RhdGlvbnMgZHJhYWlkZW4gJ19fVFJBQ0tfXycgdmFuIF9fQVJUSVNUX18gZ3JpanMuXCIsXG4gICAgICBcIidfX1RSQUNLX18nIHZhbiBfX0FSVElTVF9fIHdhcyBlZW4gY2F0Y2h5IG51bW1lciBkYXQgamUgYmxlZWYgbWVlemluZ2VuLlwiLFxuICAgICAgXCJEZSBiZWF0IHZhbiAnX19UUkFDS19fJyB2YW4gX19BUlRJU1RfXyB3YXMgb253ZWVyc3RhYW5iYWFyLlwiLFxuICAgICAgXCInX19UUkFDS19fJyB2YW4gX19BUlRJU1RfXyBoYWQgZWVuIHVuaWVrZSBzb3VuZCBkaWUgamUgbmlldCBzbmVsIHZlcmdhdC5cIixcbiAgICAgIFwiSmUga29uIG5pZXQgb20gJ19fVFJBQ0tfXycgdmFuIF9fQVJUSVNUX18gaGVlbi5cIixcbiAgICBdO1xuICB9XG5cbiAgdHJhbnNsYXRlKGtleTogc3RyaW5nKTogc3RyaW5nIHtcbiAgICBzd2l0Y2ggKGtleSkge1xuICAgICAgY2FzZSBcInllYXJcIjpcbiAgICAgICAgcmV0dXJuIFwiamFhclwiO1xuICAgICAgY2FzZSBcInN0YXJ0XCI6XG4gICAgICAgIHJldHVybiBcInN0YXJ0XCI7XG4gICAgICBjYXNlIFwibmV3LWdhbWVcIjpcbiAgICAgICAgcmV0dXJuIFwibmlldXcgc3BlbFwiO1xuICAgICAgY2FzZSBcImVuZFwiOlxuICAgICAgICByZXR1cm4gXCJHb2VkIGdlZGFhbiFcIjtcbiAgICAgIGNhc2UgXCJuZXh0LXF1ZXN0aW9uXCI6XG4gICAgICAgIHJldHVybiBcIlZvbGdlbmRlIHZyYWFnXCI7XG4gICAgICBjYXNlIFwicXVpdFwiOlxuICAgICAgICByZXR1cm4gXCJBZnNsdWl0ZW5cIjtcbiAgICAgIGNhc2UgXCJhbnN3ZXItY29ycmVjdFwiOlxuICAgICAgICByZXR1cm4gXCJDb3JyZWN0XCI7XG4gICAgICBjYXNlIFwiYW5zd2VyLXdyb25nXCI6XG4gICAgICAgIHJldHVybiBcIkhlbGFhc1wiO1xuICAgICAgY2FzZSBcInF1ZXN0aW9uLW51bWJlclwiOlxuICAgICAgICByZXR1cm4gXCJWcmFhZ1wiO1xuICAgICAgY2FzZSBcInF1ZXN0aW9uLXNjb3JlXCI6XG4gICAgICAgIHJldHVybiBcIlNjb3JlXCI7XG4gICAgICBjYXNlIFwidG90YWwtc2NvcmVcIjpcbiAgICAgICAgcmV0dXJuIFwiVG90YWFsc2NvcmVcIjtcbiAgICAgIGNhc2UgXCJzaG93LWhpbnRcIjpcbiAgICAgICAgcmV0dXJuIFwiVG9vbiBoaW50XCI7XG4gICAgICBjYXNlIFwidXNlZC1oaW50LXNpbmd1bGFyXCI6XG4gICAgICAgIHJldHVybiBcIkplIGhlYnQgMSBoaW50IGdlYnJ1aWt0XCI7XG4gICAgICBjYXNlIFwidXNlZC1oaW50LXBsdXJhbFwiOlxuICAgICAgICByZXR1cm4gXCJKZSBoZWJ0IF9fSElOVFNfXyBoaW50cyBnZWJydWlrdFwiO1xuICAgICAgY2FzZSBcIm51bWJlci1wb2ludHMtc2luZ3VsYXJcIjpcbiAgICAgICAgcmV0dXJuIFwiVm9vciBkZXplIHZyYWFnIGhlYiBqZSAxIHB1bnQgZ2VoYWFsZFwiO1xuICAgICAgY2FzZSBcIm51bWJlci1wb2ludHMtcGx1cmFsXCI6XG4gICAgICAgIHJldHVybiBcIlZvb3IgZGV6ZSB2cmFhZyBoZWIgamUgX19QT0lOVFNfXyBwdW50ZW4gZ2VoYWFsZFwiO1xuICAgICAgY2FzZSBcImNvcnJlY3QtYW5zd2VyLXdhc1wiOlxuICAgICAgICByZXR1cm4gXCJKZSBrb29zIHZvb3IgX19XUk9OR19fIG1hYXIgaGV0IGp1aXN0ZSBhbnR3b29yZCB3YXMgX19DT1JSRUNUX19cIjtcbiAgICAgIGNhc2UgXCJuby1hbnN3ZXItY29ycmVjdC1hbnN3ZXItd2FzXCI6XG4gICAgICAgIHJldHVybiBcIkplIGhlYnQgZ2VlbiBhbnR3b29yZCBnZWdldmVuIG1hYXIgaGV0IGp1aXN0ZSBhbnR3b29yZCB3YXMgX19DT1JSRUNUX19cIjtcbiAgICAgIGNhc2UgXCJnYW1lLW5hbWVcIjpcbiAgICAgICAgcmV0dXJuIFwiR3Vlc3MgVGhlIFllYXJcIjtcbiAgICAgIGNhc2UgXCJnYW1lLWNhbGwtdG8tYWN0aW9uXCI6XG4gICAgICAgIHJldHVybiBcIkdhbWUgb24hIFVpdCBfX0ZST01fXyB0b3QgX19UT19fXCI7XG4gICAgICBjYXNlIFwieW91ci1hbnN3ZXJcIjpcbiAgICAgICAgcmV0dXJuIFwiTWlqbiBhbnR3b29yZFwiO1xuICAgICAgY2FzZSBcInlvdXItZmVlZGJhY2tcIjpcbiAgICAgICAgcmV0dXJuIFwib3BtZXJraW5nZW5cIjtcbiAgICAgIGNhc2UgXCJ0cnktbGVmdFwiOlxuICAgICAgICByZXR1cm4gXCJfX1RSSUVTX18gcG9naW5nIG92ZXJcIjtcbiAgICAgIGNhc2UgXCJ0cmllcy1sZWZ0XCI6XG4gICAgICAgIHJldHVybiBcIl9fVFJJRVNfXyBwb2dpbmdlbiBvdmVyXCI7XG4gICAgICBjYXNlIFwiaW4tb25lLXNlY29uZFwiOlxuICAgICAgICByZXR1cm4gXCJJbiBfX1NFQ09ORFNfXyBzZWNvbmRlXCI7XG4gICAgICBjYXNlIFwiaW4teC1zZWNvbmRzXCI6XG4gICAgICAgIHJldHVybiBcIkluIF9fU0VDT05EU19fIHNlY29uZGVuXCI7XG4gICAgICBjYXNlIFwiZ2FtZS1zZXR0aW5ncy1wMFwiOlxuICAgICAgICByZXR1cm4gXCIgV2VsayBnZWJvb3J0ZWphYXI/XCJcbiAgICAgIGNhc2UgXCJnYW1lLXNldHRpbmdzLXAxXCI6XG4gICAgICAgIHJldHVybiBcIiBSaWdodC4gT2ggaGV5LCBCaWZmLCBoZXksIGd1eXMsIGhvdyBhcmUgeW91IGRvaW5nPyBMb29rLCB0aGVyZSdzIGEgICAgICAgICAgICByaHl0aG1pY1wiXG4gICAgICBjYXNlIFwiZ2FtZS1zZXR0aW5ncy1wMlwiOlxuICAgICAgICByZXR1cm4gXCIgdnJhZ2VuIGNlcmVtb25pYWwgcml0dWFsIGNvbWluZyB1cC5WYW5hZiBiZWdpblwiXG4gICAgICBjYXNlIFwiZ2FtZS1zZXR0aW5ncy1wM1wiOlxuICAgICAgICByZXR1cm4gXCIgUHJlY2lzZWx5LCBqdXN0IHJlbGF4IG5vdyBDYWx2aW4uIFRvdCBlaW5kXCJcbiAgICAgIGNhc2UgXCJnYW1lLXNldHRpbmdzLXA0XCI6XG4gICAgICAgIHJldHVybiBcIiB5b3UndmUgZ290IGEgYmlnIGJydWlzZSBvbiB5b3UncmUgaGVhZC5cIlxuICAgICAgY2FzZSBcImdhbWUtaW50cm9kdWN0aW9uLXAxXCI6XG4gICAgICAgIHJldHVybiBcInNvbWV0aG5nXCJcbiAgICAgIGNhc2UgXCJnYW1lLWludHJvZHVjdGlvbi1wMlwiOlxuICAgICAgICByZXR1cm4gXCJFeGN1c2UgbWUuIEdvLiBHby4gTmV2ZXIgbWluZCB0aGF0LCBuZXZlciBtaW5kIHRoYXQgbm93LCBuZXZlciBtaW5kIHRoYXQsIG5ldmVyIG1pbmQtIFllYWgsIHdlbGwsIGhvdyBhYm91dCBteSBob21ld29yaywgTWNGbHk/IERvbid0IHN0b3AsIFdpbGJlcnQsIGRyaXZlLlwiXG4gICAgICBjYXNlIFwiZ2FtZS1pbnRyb2R1Y3Rpb24tcDNcIjpcbiAgICAgICAgcmV0dXJuIFwiTW9tLCBpcyB0aGF0IHlvdT8gT2guIFVoIERvYywgdWggbm8uIE5vLCBkb24ndCBiZSBzaWxseS4gV2hhdCBkaWQgICAgICAgICAgICB5b3VyIG1vdGhlciBldmVyIHNlZSBpbiB0aGF0IGtpZD8gWW91IGd1eXMsIHRha2UgaGltIGluIGJhY2sgYW5kICAgICAgICAgICAgSSdsbCBiZSByaWdodCB0aGVyZS4gV2VsbCBjJ21vbiwgdGhpcyBhaW4ndCBubyBwZWVwIHNob3cuXCJcbiAgICAgIGNhc2UgXCJnYW1lLWludHJvZHVjdGlvbi13ZWxjb21lXCI6XG4gICAgICAgIHJldHVybiBgV2Vsa29tIGJpaiBHdWVzcyBUaGUgWWVhciFgXG4gICAgfVxuICAgIHJldHVybiBrZXk7XG4gIH1cbn1cbiIsIlxuICAgICAgICBpbXBvcnQge2Nzc30gZnJvbSAnbGl0JztcbiAgICAgICAgZXhwb3J0IGRlZmF1bHQgY3NzYGgxe2NvbG9yOnZhcigtLWd1ZXNzLXRoZS15ZWFyLXRpdGxlLWNvbG9yLCByZ2IoMCwgMCwgMCkpO2JhY2tncm91bmQtY29sb3I6dmFyKC0tZ3Vlc3MtdGhlLXllYXItdGl0bGUtYmFja2dyb3VuZC1jb2xvciwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjcpKTtmb250LXNpemU6dmFyKC0tZ3Vlc3MtdGhlLXllYXItdGl0bGUtZm9udC1zaXplLCAxNnB4KTttYXJnaW46MDtwYWRkaW5nOjFyZW07dGV4dC1hbGlnbjpjZW50ZXJ9cHtjb2xvcjp2YXIoLS1ndWVzcy10aGUteWVhci10ZXh0LWNvbG9yLCBibGFjayk7Zm9udC1zaXplOnZhcigtLWd1ZXNzLXRoZS15ZWFyLXRleHQtZm9udC1zaXplLCAxNHB4KX06aG9zdHtwb3NpdGlvbjpyZWxhdGl2ZTtjb2xvcjp2YXIoLS1ndWVzcy10aGUteWVhci10ZXh0LWNvbG9yLCBibGFjayk7YmFja2dyb3VuZDp2YXIoLS1ndWVzcy10aGUteWVhci1iYWNrZ3JvdW5kLWNvbG9yLCB3aGl0ZSk7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJX0uZ3Vlc3MtdGhlLXllYXItY29udGFpbmVye3Bvc2l0aW9uOnJlbGF0aXZlO3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7bWF4LXdpZHRoOjc2OHB4O21hcmdpbjowIGF1dG99Lmd1ZXNzLXRoZS15ZWFyLWhlYWRlcntwb3NpdGlvbjpzdGlja3k7ei1pbmRleDoxMDA7dG9wOjA7Ym94LXNoYWRvdzowcHggNXB4IDVweCAwcHggcmdiYSgwLDAsMCwuMyk7bWFyZ2luLWJvdHRvbToxNXB4fS5mb290ZXJ7cG9zaXRpb246YWJzb2x1dGU7Ym90dG9tOjA7bGVmdDowO3JpZ2h0OjA7Y29sb3I6dmFyKC0tZ3Vlc3MtdGhlLXllYXItZm9vdGVyLWNvbG9yLCByZ2IoMCwgMCwgMCkpO2ZvbnQtc2l6ZTp2YXIoLS1ndWVzcy10aGUteWVhci1mb290ZXItZm9udC1zaXplLCAxMnB4KTttYXJnaW46MDt6LWluZGV4Oi0xfS5zcGxhc2hzY3JlZW57YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1ndWVzcy10aGUteWVhci1zcGxhc2gtc2NyZWVuLWJhY2tncm91bmQtY29sb3IsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC43KSk7Y29sb3I6dmFyKC0tZ3Vlc3MtdGhlLXllYXItc3BsYXNoLXNjcmVlbi1jb2xvciwgcmdiKDAsIDAsIDApKTtmb250LXNpemU6dmFyKC0tZ3Vlc3MtdGhlLXllYXItc3BsYXNoLXNjcmVlbi1mb250LXNpemUsIDE2cHgpO21hcmdpbjowO3RleHQtYWxpZ246Y2VudGVyO3dpZHRoOjEwMCU7aGVpZ2h0Ojkwdmh9LnNwbGFzaHNjcmVlbiAuc3BsYXNoLWxvZ297bWFyZ2luOjAgYXV0bztwYWRkaW5nOjA7ZGlzcGxheTpibG9jazt3aWR0aDoxMDAlO2hlaWdodDoxMDAlO2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47YWxpZ24taXRlbXM6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXJ9LnNwbGFzaHNjcmVlbiAuc3BsYXNoLWxvZ28gaW1ne21heC13aWR0aDozMDBweDtib3JkZXItcmFkaXVzOjUwJTtib3JkZXI6MXB4IHNvbGlkICMwMDB9ZGl2LmdhbWUtaW50cm97Y29sb3I6dmFyKC0tZ3Vlc3MtdGhlLXllYXItdGl0bGUtY29sb3IsIHJnYigwLCAwLCAwKSk7bWFyZ2luOjA7cGFkZGluZzowO3RleHQtYWxpZ246bGVmdH1kaXYuZ2FtZS1pbnRybz5kaXZ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1ndWVzcy10aGUteWVhci10aXRsZS1iYWNrZ3JvdW5kLWNvbG9yLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNykpO3BhZGRpbmc6MXJlbTttYXgtd2lkdGg6NzBjaDttYXJnaW46MXJlbSBhdXRvfWRpdi5nYW1lLWludHJvIC5nYW1lLXN0YXJ0IGJ1dHRvbntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWd1ZXNzLXRoZS15ZWFyLWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG9yLCByZ2IoMCwgMCwgMCkpO2NvbG9yOnZhcigtLWd1ZXNzLXRoZS15ZWFyLWJ1dHRvbi1jb2xvciwgcmdiKDI1NSwgMjU1LCAyNTUpKTtib3JkZXI6MDtwYWRkaW5nOjFyZW07bWFyZ2luOjFyZW0gYXV0bztkaXNwbGF5OmJsb2NrO3dpZHRoOjEwMCU7Zm9udC1zaXplOnZhcigtLWd1ZXNzLXRoZS15ZWFyLWJ1dHRvbi1mb250LXNpemUsIDFyZW0pO2ZvbnQtd2VpZ2h0OmJvbGQ7dGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlO2N1cnNvcjpwb2ludGVyfS5ndWVzcy10aGUteWVhci1nYW1lLXN0YWdle3Bvc2l0aW9uOnJlbGF0aXZlO3BhZGRpbmctYm90dG9tOjEwMHB4fS5ndWVzcy10aGUteWVhci1nYW1lLXN0YWdlIC5jb250YWluZXJ7cG9zaXRpb246cmVsYXRpdmU7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJX0uZ3Vlc3MtdGhlLXllYXItZ2FtZS1zdGFnZSAuaW5jaWRlbnQtLXRpdGxle3RvcDowO3dpZHRoOjEwMCU7Ym9yZGVyLXRvcDoxcHggc29saWQgI2ZmZjttYXJnaW4tYm90dG9tOjEwcHh9Lmd1ZXNzLXRoZS15ZWFyLWdhbWUtc3RhZ2UgLmluY2lkZW50LS1pbWFnZXt6LWluZGV4Oi0xO2hlaWdodDo0MHZoO2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcn0uZ3Vlc3MtdGhlLXllYXItZ2FtZS1zdGFnZSAuaW5jaWRlbnQtLWltYWdlIGltZ3ttYXgtd2lkdGg6MTAwJTttYXgtaGVpZ2h0OjEwMCV9Lmd1ZXNzLXRoZS15ZWFyLWdhbWUtc3RhZ2UgLmluY2lkZW50LS10ZXh0e2JhY2tncm91bmQtY29sb3I6dmFyKC0tZ3Vlc3MtdGhlLXllYXItdGV4dC1iYWNrZ3JvdW5kLWNvbG9yLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSkpO2NvbG9yOnZhcigtLWd1ZXNzLXRoZS15ZWFyLXRleHQtY29sb3IsIHJnYigwLCAwLCAwKSk7Zm9udC1zaXplOnZhcigtLWd1ZXNzLXRoZS15ZWFyLXRleHQtZm9udC1zaXplLCAxNHB4KX0uZ3Vlc3MtdGhlLXllYXItZ2FtZS1zdGFnZSAuZ2FtZS1jb250cm9sc3twb3NpdGlvbjpzdGlja3k7Ym90dG9tOjI1cHg7bGVmdDowO3dpZHRoOjEwMCU7YmFja2dyb3VuZC1jb2xvcjpoc2xhKDAsMCUsMTAwJSwuNyk7cGFkZGluZy10b3A6MTBweH0uZ3Vlc3MtdGhlLXllYXItZ2FtZS1zdGFnZSAuZ2FtZS1jb250cm9scy0taGludHt0ZXh0LWFsaWduOnJpZ2h0fS5ndWVzcy10aGUteWVhci1nYW1lLXN0YWdlIC5nYW1lLWNvbnRyb2xzLS1oaW50IGJ1dHRvbnttYXJnaW46MTBweDtwYWRkaW5nOjEwcHg7Ym9yZGVyLXJhZGl1czoxMHB4O2JvcmRlcjoxcHggc29saWQgIzAwMDtjdXJzb3I6cG9pbnRlcjtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWd1ZXNzLXRoZS15ZWFyLXRleHQtYmFja2dyb3VuZC1jb2xvcik7Y29sb3I6dmFyKC0tZ3Vlc3MtdGhlLXllYXItdGV4dC1jb2xvcil9Lmd1ZXNzLXRoZS15ZWFyLWdhbWUtc3RhZ2UgLmdhbWUtY29udHJvbHMtLWhpbnQgYnV0dG9uOmhvdmVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tZ3Vlc3MtdGhlLXllYXItYnV0dG9uLWJhY2tncm91bmQtY29sb3IpO2NvbG9yOnZhcigtLWd1ZXNzLXRoZS15ZWFyLWJ1dHRvbi1jb2xvcil9Lmd1ZXNzLXRoZS15ZWFyLWdhbWUtc3RhZ2UgLmdhbWUtY29udHJvbHMtLWFuc3dlcnMgLmFuc3dlcnMtLWxpc3QgdWx7bGlzdC1zdHlsZTpub25lO21hcmdpbjowO3BhZGRpbmc6MDtkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246cm93O2FsaWduLWl0ZW1zOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6c3BhY2UtZXZlbmx5fS5ndWVzcy10aGUteWVhci1nYW1lLXN0YWdlIC5nYW1lLWNvbnRyb2xzLS1hbnN3ZXJzIC5hbnN3ZXJzLS1saXN0IHVsIGxpe2JvcmRlcjoxcHggc29saWQgIzAwMDtib3JkZXItcmFkaXVzOjEwcHg7cGFkZGluZzoxMHB4IDEwcHg7Y3Vyc29yOnBvaW50ZXI7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1ndWVzcy10aGUteWVhci10ZXh0LWJhY2tncm91bmQtY29sb3IpfS5ndWVzcy10aGUteWVhci1nYW1lLXN0YWdlIC5nYW1lLWNvbnRyb2xzLS1hbnN3ZXJzIC5hbnN3ZXJzLS1saXN0IHVsIGxpOmhvdmVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tZ3Vlc3MtdGhlLXllYXItYnV0dG9uLWJhY2tncm91bmQtY29sb3IpO2NvbG9yOnZhcigtLWd1ZXNzLXRoZS15ZWFyLWJ1dHRvbi1jb2xvcil9Lmd1ZXNzLXRoZS15ZWFyLWdhbWUtc3RhZ2UgLmZlZWRiYWNre3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO2xlZnQ6MDtyaWdodDowO2JvdHRvbTowO2hlaWdodDoxMDAlO3dpZHRoOjEwMCU7bWFyZ2luOmF1dG87YmFja2Ryb3AtZmlsdGVyOmJsdXIoMTBweCk7ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyfS5ndWVzcy10aGUteWVhci1nYW1lLXN0YWdlIC5mZWVkYmFjay0tY29udGVudHt3aWR0aDozMDBweDtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWd1ZXNzLXRoZS15ZWFyLXRleHQtYmFja2dyb3VuZC1jb2xvcik7cGFkZGluZzoxNXB4O2JvcmRlci1yYWRpdXM6MTBweDtib3gtc2hhZG93OjBweCA1cHggNXB4IDBweCByZ2JhKDAsMCwwLC4zKX0uZ3Vlc3MtdGhlLXllYXItZ2FtZS1zdGFnZSAuZ2FtZS1zY29yZXtkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246cm93O2FsaWduLWl0ZW1zOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6c3BhY2UtZXZlbmx5O21hcmdpbi1ib3R0b206MTBweH0uZ3Vlc3MtdGhlLXllYXItZ2FtZS1zdGFnZSAuZ2FtZS1zY29yZS0tbGFiZWx7Zm9udC1zaXplOjgwJX0uZ3Vlc3MtdGhlLXllYXItZ2FtZS1zdGFnZSAuZ2FtZS1zY29yZS0tdmFsdWV7Zm9udC13ZWlnaHQ6Ym9sZH0uZ3Vlc3MtdGhlLXllYXItc291cmNlc3tmb250LXNpemU6NzAlfWA7XG4gICAgIiwiaW1wb3J0IHsgUmVhY3RpdmVDb250cm9sbGVyLCBSZWFjdGl2ZUNvbnRyb2xsZXJIb3N0IH0gZnJvbSBcImxpdFwiO1xuXG5leHBvcnQgY2xhc3MgUXVlc3Rpb25TY29yZUNvbnRyb2xsZXIgaW1wbGVtZW50cyBSZWFjdGl2ZUNvbnRyb2xsZXIge1xuICBob3N0OiBSZWFjdGl2ZUNvbnRyb2xsZXJIb3N0O1xuXG4gIHN0YXJ0VmFsdWU6IG51bWJlcjtcbiAgdmFsdWU6IG51bWJlciA9IDA7XG4gIHRpbWVvdXQ6IG51bWJlcjtcblxuICBwcml2YXRlIF90aW1lcklEPzogUmV0dXJuVHlwZTx0eXBlb2Ygc2V0SW50ZXJ2YWw+O1xuXG4gIGNvbnN0cnVjdG9yKGhvc3Q6IFJlYWN0aXZlQ29udHJvbGxlckhvc3QsIHN0YXJ0VmFsdWUgPSAwLCB0aW1lb3V0ID0gMTAwMCkge1xuICAgICh0aGlzLmhvc3QgPSBob3N0KS5hZGRDb250cm9sbGVyKHRoaXMpO1xuICAgIHRoaXMuc3RhcnRWYWx1ZSA9IHN0YXJ0VmFsdWU7XG4gICAgdGhpcy52YWx1ZSA9IHN0YXJ0VmFsdWU7XG4gICAgdGhpcy50aW1lb3V0ID0gdGltZW91dDtcbiAgfVxuXG4gIHN0YXJ0KCkge1xuICAgIHRoaXMuX3RpbWVySUQgPSBzZXRJbnRlcnZhbCgoKSA9PiB7XG4gICAgICB0aGlzLnZhbHVlIC09IDE7XG5cbiAgICAgIC8vIFVwZGF0ZSB0aGUgaG9zdCB3aXRoIG5ldyB2YWx1ZVxuICAgICAgdGhpcy5ob3N0LnJlcXVlc3RVcGRhdGUoKTtcbiAgICB9LCB0aGlzLnRpbWVvdXQpO1xuICB9XG5cbiAgc3RvcCgpIHtcbiAgICBjbGVhckludGVydmFsKHRoaXMuX3RpbWVySUQpO1xuICAgIHRoaXMuX3RpbWVySUQgPSB1bmRlZmluZWQ7XG4gIH1cblxuICByZXNldCgpIHtcbiAgICB0aGlzLnZhbHVlID0gdGhpcy5zdGFydFZhbHVlO1xuICB9XG5cbiAgc3VidHJhY3QodmFsdWU6IG51bWJlcikge1xuICAgIHRoaXMudmFsdWUgLT0gdmFsdWU7XG4gICAgaWYgKHRoaXMudmFsdWUgPCAwKSB7XG4gICAgICB0aGlzLnZhbHVlID0gMDtcbiAgICB9XG4gIH1cblxuICBpc1J1bm5pbmcoKSB7XG4gICAgcmV0dXJuIHRoaXMuX3RpbWVySUQgPyB0cnVlIDogZmFsc2U7XG4gIH1cblxuICBob3N0RGlzY29ubmVjdGVkKCkge1xuICAgIC8vIENsZWFyIHRoZSB0aW1lciB3aGVuIHRoZSBob3N0IGlzIGRpc2Nvbm5lY3RlZFxuICAgIGNsZWFySW50ZXJ2YWwodGhpcy5fdGltZXJJRCk7XG4gICAgdGhpcy5fdGltZXJJRCA9IHVuZGVmaW5lZDtcbiAgfVxufVxuIiwiaW1wb3J0IHsgTGl0RWxlbWVudCwgY3NzLCBodG1sLCBQcm9wZXJ0eVZhbHVlcywgVGVtcGxhdGVSZXN1bHQgfSBmcm9tIFwibGl0XCI7XG5pbXBvcnQgeyBjdXN0b21FbGVtZW50LCBwcm9wZXJ0eSwgc3RhdGUgfSBmcm9tIFwibGl0L2RlY29yYXRvcnMuanNcIjtcbmltcG9ydCBkYXlqcyBmcm9tIFwiZGF5anNcIjtcbmltcG9ydCB7IERheWpzIH0gZnJvbSBcImRheWpzXCI7XG5jb25zdCB7IHNldFRpbWVvdXQgfSA9IHdpbmRvdztcbmltcG9ydCB7IEluY2lkZW50LCBDYXRlZ29yaWVzLCBDYXRlZ29yeSB9IGZyb20gXCIuL2xpYi9JbmNpZGVudFwiO1xuaW1wb3J0IHsgTm9JbWFnZUltZyB9IGZyb20gXCIuL2xpYi9JY29uXCI7XG5pbXBvcnQgeyBBcGlTZXJ2aWNlLCBDb250ZW50RmVlZGJhY2sgfSBmcm9tIFwiLi9saWIvQXBpU2VydmljZVwiO1xuaW1wb3J0IHsgVXRpbCB9IGZyb20gXCIuL2xpYi9VdGlsXCI7XG5pbXBvcnQgeyBpMThuRmFjdG9yeSB9IGZyb20gXCIuL2xpYi9pMThuL2kxOG5cIjtcbmltcG9ydCB7IEdhbWVTdGF0ZSB9IGZyb20gXCIuL2xpYi9lbnVtc1wiO1xuaW1wb3J0IHN0eWxlc2hlZXQgZnJvbSBcIi4vc2Nzcy9tYWluLnNjc3NcIjtcbmltcG9ydCB7IFF1ZXN0aW9uU2NvcmVDb250cm9sbGVyIH0gZnJvbSBcIi4vbGliL2NvbnRyb2xsZXIvc2NvcmVjb250cm9sbGVyXCI7XG5cbmNvbnN0IFNQTEFTSF9ERUxBWTogbnVtYmVyID0gMTAwMDtcbmNvbnN0IE1BWF9RVUVTVElPTlM6IG51bWJlciA9IDEwO1xuY29uc3QgSElOVF9DT1NUOiBudW1iZXIgPSAyO1xuY29uc3QgTUlOX1lFQVI6IG51bWJlciA9IDE5NTA7XG5jb25zdCBNQVhfWUVBUjogbnVtYmVyID0gcGFyc2VJbnQoZGF5anMoKS5mb3JtYXQoJ1lZWVknKSwgMTApO1xuY29uc3QgR1RZX0ZST01fWUVBUl9WQVIgPSAnZ3R5LWZyb20teWVhcic7XG5jb25zdCBHVFlfVE9fWUVBUl9WQVIgPSAnZ3R5LXRvLXllYXInO1xuY29uc3QgR1RZX05VTV9RVUVTVElPTlNfVkFSID0gJ2d0eS1udW1iZXItb2YtcXVlc3Rpb25zJztcbmNvbnN0IE1BWF9ET0I6IG51bWJlciA9IDE5MTU7XG5jb25zdCBNSU5fRE9COiBudW1iZXIgPSBwYXJzZUludChkYXlqcygpLmZvcm1hdCgnWVlZWScpLCAxMCkgLSAxMDtcbmNvbnN0IEdUWV9QTEFZRVJfRE9CX1ZBUiA9ICdndHktcGxheWVyLWRvYic7XG5cbkBjdXN0b21FbGVtZW50KFwiZ3Vlc3MtdGhlLXllYXJcIilcbmV4cG9ydCBjbGFzcyBHdWVzc1RoZVllYXIgZXh0ZW5kcyBMaXRFbGVtZW50IHtcblxuICBwcml2YXRlIHNvdXJjZXM6IEFycmF5PHN0cmluZz4gPSBbXTtcbiAgcHJpdmF0ZSBfbG9hZGluZyA9IGZhbHNlO1xuXG4gIHByaXZhdGUgX3Njb3JlMDogUXVlc3Rpb25TY29yZUNvbnRyb2xsZXI7XG5cbiAgZ2V0IGxvYWRpbmcoKSB7XG4gICAgcmV0dXJuIHRoaXMuX2xvYWRpbmc7XG4gIH1cblxuICBzZXQgbG9hZGluZyh2YWx1ZTogYm9vbGVhbikge1xuICAgIHRoaXMuX2xvYWRpbmcgPSB2YWx1ZTtcbiAgfVxuXG4gIEBwcm9wZXJ0eSh7IHR5cGU6IFN0cmluZywgYXR0cmlidXRlOiBcInRlZS1lLWFwaS11cmxcIiB9KVxuICB0ZWVlQXBpVXJsOiBzdHJpbmcgPSBcImh0dHBzOi8vYXBpLnRlZS1lLmNvbVwiO1xuXG4gIEBwcm9wZXJ0eSh7IHR5cGU6IEJvb2xlYW4sIGF0dHJpYnV0ZTogXCJyZXBvcnQtYnJva2VuLWltYWdlc1wiIH0pXG4gIHJlcG9ydEJyb2tlbkltYWdlczogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIEBwcm9wZXJ0eSh7IHR5cGU6IFN0cmluZyB9KVxuICBkYXRlOiBzdHJpbmcgPSBcIlwiO1xuXG4gIEBwcm9wZXJ0eSh7IHR5cGU6IFN0cmluZyB9KVxuICBjb3VudHJ5OiBzdHJpbmcgPSBcIlwiO1xuXG4gIEBwcm9wZXJ0eSh7IHR5cGU6IFN0cmluZyB9KVxuICBjYXRlZ29yeTogc3RyaW5nID0gXCJcIjtcblxuICBAcHJvcGVydHkoeyB0eXBlOiBTdHJpbmcgfSlcbiAgZW1vdGlvbjogc3RyaW5nID0gXCJcIjtcblxuICBAcHJvcGVydHkoeyB0eXBlOiBTdHJpbmcgfSlcbiAgaW1wYWN0OiBzdHJpbmcgPSBcIlwiO1xuXG4gIEBwcm9wZXJ0eSh7XG4gICAgdHlwZTogRGF5anMsXG4gICAgY29udmVydGVyOiB7XG4gICAgICBmcm9tQXR0cmlidXRlOiAodmFsdWU6IHN0cmluZykgPT4ge1xuICAgICAgICBjb25zb2xlLmRlYnVnKFtcImZyb21cIiwgXCJmcm9tXCIsIHZhbHVlXSk7XG4gICAgICAgIGlmICghdmFsdWUpIHtcbiAgICAgICAgICByZXR1cm4gZGF5anMoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh2YWx1ZS5sZW5ndGggPj0gMTApIHtcbiAgICAgICAgICByZXR1cm4gZGF5anModmFsdWUsIFwiWVlZWS1NTS1ERFwiKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBkYXlqcyhgJHt2YWx1ZX0tMDEtMDFgLCBcIllZWVktTU0tRERcIik7XG4gICAgICB9LFxuICAgICAgdG9BdHRyaWJ1dGU6ICh2YWx1ZTogRGF5anMpID0+IHtcbiAgICAgICAgY29uc29sZS5kZWJ1ZyhbXCJmcm9tXCIsIFwidG9cIiwgdmFsdWVdKTtcbiAgICAgICAgcmV0dXJuIHZhbHVlLmZvcm1hdChcIllZWVktTU0tRERcIik7XG4gICAgICB9LFxuICAgIH0sXG4gIH0pXG4gIGZyb206IERheWpzID0gZGF5anMoYCR7d2luZG93LmxvY2FsU3RvcmFnZS5nZXRJdGVtKEdUWV9GUk9NX1lFQVJfVkFSKSB8fCBNSU5fWUVBUn0tMDEtMDFgLCBcIllZWVktTU0tRERcIik7XG5cbiAgQHByb3BlcnR5KHtcbiAgICB0eXBlOiBEYXlqcyxcbiAgICBjb252ZXJ0ZXI6IHtcbiAgICAgIGZyb21BdHRyaWJ1dGU6ICh2YWx1ZTogc3RyaW5nKSA9PiB7XG4gICAgICAgIGNvbnNvbGUuZGVidWcoW1widG9cIiwgXCJmcm9tXCIsIHZhbHVlXSk7XG4gICAgICAgIGlmICghdmFsdWUpIHtcbiAgICAgICAgICByZXR1cm4gZGF5anMoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh2YWx1ZS5sZW5ndGggPj0gMTApIHtcbiAgICAgICAgICByZXR1cm4gZGF5anModmFsdWUsIFwiWVlZWS1NTS1ERFwiKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBkYXlqcyhgJHt2YWx1ZX0tMTItMzFgLCBcIllZWVktTU0tRERcIik7XG4gICAgICB9LFxuICAgICAgdG9BdHRyaWJ1dGU6ICh2YWx1ZTogRGF5anMpID0+IHtcbiAgICAgICAgY29uc29sZS5kZWJ1ZyhbXCJ0b1wiLCBcInRvXCIsIHZhbHVlXSk7XG4gICAgICAgIHJldHVybiB2YWx1ZS5mb3JtYXQoXCJZWVlZLU1NLUREXCIpO1xuICAgICAgfSxcbiAgICB9LFxuICB9KVxuICB0bzogRGF5anMgPSBkYXlqcyhgJHt3aW5kb3cubG9jYWxTdG9yYWdlLmdldEl0ZW0oR1RZX1RPX1lFQVJfVkFSKSB8fCBNQVhfWUVBUn0tMDEtMDFgLCBcIllZWVktTU0tRERcIik7XG5cbiAgQHByb3BlcnR5KHsgdHlwZTogU3RyaW5nLCBhdHRyaWJ1dGU6IFwibm8taW1hZ2Utc3JjXCIgfSlcbiAgbm9JbWFnZVNyYzogc3RyaW5nID0gXCJcIjtcblxuICBAcHJvcGVydHkoeyB0eXBlOiBCb29sZWFuLCBhdHRyaWJ1dGU6IFwic3VwcHJlc3MtaW1hZ2VzXCIgfSlcbiAgc3VwcHJlc3NJbWFnZXM6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBAcHJvcGVydHkoeyB0eXBlOiBOdW1iZXIsIGF0dHJpYnV0ZTogXCJtYXgtaGludHNcIiB9KVxuICBtYXhIaW50czogbnVtYmVyID0gMztcblxuICBAcHJvcGVydHkoeyB0eXBlOiBOdW1iZXIsIGF0dHJpYnV0ZTogXCJudW1iZXItb2YtcXVlc3Rpb25zXCIsIHJlZmxlY3Q6IHRydWUgfSlcbiAgbnVtYmVyT2ZRdWVzdGlvbnM6IG51bWJlciA9IHBhcnNlSW50KHdpbmRvdy5sb2NhbFN0b3JhZ2UuZ2V0SXRlbShHVFlfTlVNX1FVRVNUSU9OU19WQVIpIHx8IE1BWF9RVUVTVElPTlMgKyAnJywgMTApO1xuICBwcml2YXRlIF9udW1iZXJPZlF1ZXN0aW9uc1NlZW46IG51bWJlciA9IDA7XG5cbiAgcHJpdmF0ZSBfcGxheWVyRG9iOiBudW1iZXIgPSBwYXJzZUludCh3aW5kb3cubG9jYWxTdG9yYWdlLmdldEl0ZW0oR1RZX1BMQVlFUl9ET0JfVkFSKSB8fCAwICsgJycsIDEwKTtcblxuICBAc3RhdGUoKVxuICBwcml2YXRlIF9pbmNpZGVudDogSW5jaWRlbnQgfCB1bmRlZmluZWQgPSB1bmRlZmluZWQ7XG5cbiAgcHJpdmF0ZSBfYW5zd2VyczogQXJyYXk8TnVtYmVyPiA9IFtdO1xuXG4gIEBzdGF0ZSgpXG4gIHByaXZhdGUgX2hpbnQ6IHN0cmluZyB8IHVuZGVmaW5lZCA9IHVuZGVmaW5lZDtcblxuICBwcml2YXRlIF9zaG93SGludDogYm9vbGVhbiA9IHRydWU7XG4gIHByaXZhdGUgX3Nob3dGb290ZXI6IGJvb2xlYW4gPSBmYWxzZTtcbiAgcHJpdmF0ZSBfaGludHNJbmRleDogbnVtYmVyID0gMDtcbiAgcHJpdmF0ZSBfaGludHM6IEFycmF5PEluY2lkZW50PiA9IFtdO1xuXG4gIEBzdGF0ZSgpXG4gIHByaXZhdGUgX3NvbHV0aW9uOiBOdW1iZXIgfCB1bmRlZmluZWQgPSB1bmRlZmluZWQ7XG5cbiAgQHN0YXRlKClcbiAgcHVibGljIF9yZW5kZXJTdGF0ZTogc3RyaW5nID0gR2FtZVN0YXRlLklOSVQ7XG5cbiAgQHN0YXRlKClcbiAgcHJpdmF0ZSBfc2NvcmUgPSAzMDtcblxuICBwdWJsaWMgdG90YWxTY29yZSA9IDA7XG5cbiAgLy8gX2Fuc3dlciBpcyBzdG9yZWQgYXMgc3RyaW5nIGJlY2F1c2UgaXQgd2lsbCBiZSBlbnRlcmVkIGNoYXJhY3RlciBmb3IgY2hhcmFjdGVyXG4gIEBzdGF0ZSgpXG4gIHByaXZhdGUgX2Fuc3dlcjogbnVtYmVyIHwgdW5kZWZpbmVkID0gdW5kZWZpbmVkO1xuXG4gIHByaXZhdGUgX2FwaVNlcnZpY2UgPSBuZXcgQXBpU2VydmljZSh0aGlzLnRlZWVBcGlVcmwpO1xuICBwcml2YXRlIGkxOG4gPSBpMThuRmFjdG9yeShcIm5sXCIpO1xuXG4gIHN0YXRpYyBvdmVycmlkZSBzdHlsZXMgPSBjc3NgXG4gICAgJHtzdHlsZXNoZWV0fVxuICBgO1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHN1cGVyKCk7XG4gICAgdGhpcy5fc2NvcmUwID0gbmV3IFF1ZXN0aW9uU2NvcmVDb250cm9sbGVyKHRoaXMsIDMwLCAxMDAwKTtcbiAgfVxuXG4gIG92ZXJyaWRlIGNvbm5lY3RlZENhbGxiYWNrKCkge1xuICAgIGNvbnNvbGUuZGVidWcoXCJjb25uZWN0ZWRDYWxsYmFja1wiKTtcbiAgICBzdXBlci5jb25uZWN0ZWRDYWxsYmFjaygpO1xuXG4gICAgLy8gZmlyc3Qgc3RlcCBpcyBzcGxhc2hcbiAgICB0aGlzLl9yZW5kZXJTdGF0ZSA9IEdhbWVTdGF0ZS5TUExBU0g7XG4gIH1cblxuICBvdmVycmlkZSBkaXNjb25uZWN0ZWRDYWxsYmFjaygpIHtcbiAgICBjb25zb2xlLmRlYnVnKFwiZGlzY29ubmVjdGVkQ2FsbGJhY2tcIik7XG4gICAgc3VwZXIuZGlzY29ubmVjdGVkQ2FsbGJhY2soKTtcbiAgICB0aGlzLl9yZW5kZXJTdGF0ZSA9IEdhbWVTdGF0ZS5JTklUO1xuICAgIHRoaXMuX3Njb3JlMC5zdG9wKCk7XG4gICAgdGhpcy5fc2NvcmUwLnJlc2V0KCk7XG4gIH1cblxuICBvdmVycmlkZSBmaXJzdFVwZGF0ZWQoY2hhbmdlZFByb3BlcnRpZXM6IFByb3BlcnR5VmFsdWVzKTogdm9pZCB7XG4gICAgY29uc29sZS5kZWJ1ZyhcImZpcnN0VXBkYXRlZFwiKTtcbiAgICBzdXBlci5maXJzdFVwZGF0ZWQoY2hhbmdlZFByb3BlcnRpZXMpO1xuICB9XG5cbiAgb3ZlcnJpZGUgc2hvdWxkVXBkYXRlKGNoYW5nZWRQcm9wZXJ0aWVzOiBQcm9wZXJ0eVZhbHVlcyk6IGJvb2xlYW4ge1xuICAgIGNvbnNvbGUuZGVidWcoXCJzaG91bGRVcGRhdGVcIik7XG4gICAgcmV0dXJuIHN1cGVyLnNob3VsZFVwZGF0ZShjaGFuZ2VkUHJvcGVydGllcyk7XG4gIH1cblxuICBvdmVycmlkZSB1cGRhdGUoY2hhbmdlZFByb3BlcnRpZXM6IFByb3BlcnR5VmFsdWVzKSB7XG4gICAgY29uc29sZS5kZWJ1ZyhcInVwZGF0ZVwiKTtcbiAgICByZXR1cm4gc3VwZXIudXBkYXRlKGNoYW5nZWRQcm9wZXJ0aWVzKTtcbiAgfVxuXG4gIG92ZXJyaWRlIHVwZGF0ZWQoY2hhbmdlZFByb3BlcnRpZXM6IFByb3BlcnR5VmFsdWVzKSB7XG4gICAgY29uc29sZS5kZWJ1ZyhcInVwZGF0ZWRcIik7XG4gICAgcmV0dXJuIHN1cGVyLnVwZGF0ZWQoY2hhbmdlZFByb3BlcnRpZXMpO1xuICB9XG5cbiAgb3ZlcnJpZGUgcmVuZGVyKCkge1xuICAgIC8qKlxuICAgICAqIHRoaXMgaXMgdGhlIG1haW4gcmVuZGVyIGZ1bmN0aW9uXG4gICAgICogaXQgcmVuZGVycyBkaWZmZXJlbnQgc3RhZ2VzIGR1cmluZyB0aGUgZ2FtZVxuICAgICAqL1xuICAgIGNvbnNvbGUuZGVidWcoXCJyZW5kZXJcIik7XG5cbiAgICByZXR1cm4gaHRtbGBcbiAgICAgIDxkaXYgY2xhc3M9XCJndWVzcy10aGUteWVhci1jb250YWluZXJcIj5cbiAgICAgICAgJHt0aGlzLl9yZW5kZXJTdGF0ZSA9PSBHYW1lU3RhdGUuSU5JVCA/IFwiTG9hZGluZy4uLlwiIDogXCJcIn1cbiAgICAgICAgJHt0aGlzLl9yZW5kZXJTdGF0ZSA9PSBHYW1lU3RhdGUuU1BMQVNIXG4gICAgICAgID8gdGhpcy5yZW5kZXJTcGxhc2hTY3JlZW4oKVxuICAgICAgICA6IFwiXCJ9XG4gICAgICAgICR7dGhpcy5fcmVuZGVyU3RhdGUgPT0gR2FtZVN0YXRlLklOVFJPID8gdGhpcy5yZW5kZXJHYW1lSW50cm8oKSA6IFwiXCJ9XG4gICAgICAgICR7dGhpcy5fcmVuZGVyU3RhdGUgPT0gR2FtZVN0YXRlLlBMQVkgPyB0aGlzLnJlbmRlckdhbWVTdGFnZSgpIDogXCJcIn1cbiAgICAgICAgJHt0aGlzLl9yZW5kZXJTdGF0ZSA9PSBHYW1lU3RhdGUuRU5EID8gdGhpcy5yZW5kZXJHYW1lRW5kKCkgOiBcIlwifVxuICAgICAgICAke3RoaXMuX3JlbmRlckZvb3RlcigpfVxuICAgICAgPC9kaXY+XG4gICAgYDtcbiAgfVxuXG4gIGNvbG9yRWxlbWVudChlbGVtZW50OiBhbnksIGNvbG9yOiBzdHJpbmcpIHtcbiAgICBjb25zb2xlLmRlYnVnKFwiY29sb3JFbGVtZW50XCIpO1xuICAgIHRoaXM/LnNoYWRvd1Jvb3Q/LnF1ZXJ5U2VsZWN0b3IoZWxlbWVudCk/LnN0eWxlLnNldFByb3BlcnR5KFwiY29sb3JcIiwgY29sb3IpO1xuICB9XG5cbiAgLy8gdGhpcyByZW5kZXJzIHRoZSBnYW1lIGhlYWRlclxuICBwcml2YXRlIF9yZW5kZXJIZWFkZXIoY29udGVudDogc3RyaW5nID0gdGhpcy5pMThuLnRyYW5zbGF0ZShcImdhbWUtbmFtZVwiKSk6IFRlbXBsYXRlUmVzdWx0IHtcbiAgICByZXR1cm4gaHRtbGBcbiAgICAgIDxzZWN0aW9uIGlkPVwidG9wXCIgY2xhc3M9XCJoZWFkZXIgZ3Vlc3MtdGhlLXllYXItaGVhZGVyXCI+XG4gICAgICAgIDxoMT4ke2NvbnRlbnR9PC9oMT5cbiAgICAgIDwvc2VjdGlvbj5cbiAgICBgO1xuICB9XG5cbiAgLy8gdGhpcyByZW5kZXJzIHRoZSBnYW1lIGZvb3RlclxuICBwcml2YXRlIF9yZW5kZXJGb290ZXIoKTogVGVtcGxhdGVSZXN1bHQge1xuICAgIGlmICh0aGlzLl9zaG93Rm9vdGVyKSB7XG4gICAgICByZXR1cm4gaHRtbGBcbiAgICAgIDxzZWN0aW9uIGNsYXNzPVwiZm9vdGVyIGd1ZXNzLXRoZS15ZWFyLWZvb3RlclwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZ3Vlc3MtdGhlLXllYXItY29weXJpZ2h0XCI+XG4gICAgICAgICAgJHtcIlRoZSBUaHJvd2JhY2sgQ29tcGFueSDCqVwiICsgZGF5anMoKS55ZWFyKCl9XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9zZWN0aW9uPlxuICAgIGA7XG4gICAgfVxuICAgIHJldHVybiBodG1sYGA7XG4gIH1cblxuICAvLyByZW5kZXIgdGhlIHNwbGFzaCBzY3JlZW5cbiAgcHJpdmF0ZSByZW5kZXJTcGxhc2hTY3JlZW4oKTogVGVtcGxhdGVSZXN1bHQge1xuICAgIGNvbnNvbGUuZGVidWcoXCJyZW5kZXJTcGxhc2hTY3JlZW5cIik7XG5cbiAgICAvLyAocHJldGVuZCkgdG8gbG9hZCBiZWZvcmUgdGhlIGdhbWUgc3RhcnRzXG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICB0aGlzLl9yZW5kZXJTdGF0ZSA9IEdhbWVTdGF0ZS5JTlRSTztcbiAgICB9LCBTUExBU0hfREVMQVkpO1xuXG4gICAgcmV0dXJuIGh0bWxgXG4gICAgICA8ZGl2IGlkPVwic3BsYXNoLXNjcmVlbi1jb250YWluZXJcIiBjbGFzcz1cInNwbGFzaHNjcmVlblwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwic3BsYXNoLWxvZ29cIj5cbiAgICAgICAgICA8aDI+JHt0aGlzLmkxOG4udHJhbnNsYXRlKFwiZ2FtZS1uYW1lXCIpfTwvaDI+XG4gICAgICAgICAgPHA+JHt0aGlzLmkxOG4udHJhbnNsYXRlKFwiTG9hZGluZy4uLlwiKX08L3A+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgYDtcbiAgfVxuXG4gIC8vIHJlbmRlcnMgYSBzZWxlY3RvciBmb3IgYSB5ZWFyXG4gIC8vIFRPRE86IHNldCB0eXBlIG9mIHNlbGVjdG9yXG4gIHByaXZhdGUgX3JlbmRlclllYXJTdGVwWFNlbGVjdE9wdGlvbnMoZnJvbTogbnVtYmVyLCB0bzogbnVtYmVyLCBzdGVwOiBudW1iZXIsIHNlbGVjdGVkVmFsdWU6IHN0cmluZyk6IFRlbXBsYXRlUmVzdWx0IHtcbiAgICBjb25zdCBzZWxlY3RlZCA9IHBhcnNlSW50KHNlbGVjdGVkVmFsdWUsIDEwKTtcbiAgICAvLyBwcmUtcmVuZGVyIHllYXIgb3B0aW9uc1xuICAgIC8vIGFuZCBtYXJrIHNlbGVjdGVkIHdoZW4gdGhleSBtYXRjaFxuICAgIGNvbnN0IHNlbGVjdFllYXJPcHRpb25zID0gW107XG4gICAgZm9yIChsZXQgaSA9IGZyb207IGkgPD0gdG87IGkgKz0gc3RlcCkge1xuICAgICAgc2VsZWN0WWVhck9wdGlvbnMucHVzaChodG1sYFxuICAgICAgICA8b3B0aW9uIHZhbHVlPVwiJHtpfVwiID9zZWxlY3RlZD0ke3NlbGVjdGVkID09IGl9PiR7aX08L29wdGlvbj5cbiAgICAgIGApO1xuICAgIH1cblxuICAgIHJldHVybiBodG1sYCR7c2VsZWN0WWVhck9wdGlvbnN9YDtcbiAgfVxuXG4gIC8vIHJlbmRlciB0aGUgZ2FtZSBpbnRyb1xuICAvLyBhbGxvd3MgdG8gc2VsZWN0IHRoZSBudW1iZXIgb2YgcXVlc3Rpb25zLFxuICAvLyBzZWxlY3QgdGhlIHllYXIgcmFuZ2VcbiAgLy8gYW5kIHRvIHN0YXJ0IHRoZSBnYW1lXG4gIHByaXZhdGUgcmVuZGVyR2FtZUludHJvKCk6IFRlbXBsYXRlUmVzdWx0IHtcbiAgICBjb25zb2xlLmRlYnVnKFwicmVuZGVyR2FtZUludHJvXCIpO1xuXG4gICAgLy8gcHJlLXJlbmRlciBudW1iZXIgb2YgcXVlc3Rpb24gb3B0aW9uc1xuICAgIC8vIGFuZCBtYXJrIHNlbGVjdGVkIHdoZW4gdGhleSBtYXRjaFxuICAgIGNvbnN0IHNlbGVjdFF1ZXN0aW9uT3B0aW9ucyA9IFtdO1xuICAgIGZvciAobGV0IGkgPSAxOyBpIDw9IE1BWF9RVUVTVElPTlM7IGkrKykge1xuICAgICAgc2VsZWN0UXVlc3Rpb25PcHRpb25zLnB1c2goaHRtbGBcbiAgICAgICAgPG9wdGlvbiB2YWx1ZT1cIiR7aX1cIiA/c2VsZWN0ZWQ9JHt0aGlzLm51bWJlck9mUXVlc3Rpb25zID09IGl9PlxuICAgICAgICAgICR7aX1cbiAgICAgICAgPC9vcHRpb24+XG4gICAgICBgKTtcbiAgICB9XG5cbiAgICByZXR1cm4gaHRtbGBcbiAgICAgICR7dGhpcy5fcmVuZGVySGVhZGVyKHRoaXMuaTE4bi50cmFuc2xhdGUoXCJnYW1lLWludHJvZHVjdGlvbi13ZWxjb21lXCIpKX1cblxuICAgICAgPGRpdiBjbGFzcz1cImdhbWUtaW50cm9cIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImdhbWUtZXhwbGFuYXRpb25cIj5cbiAgICAgICAgICA8cD5cbiAgICAgICAgICAgICR7dGhpcy5pMThuLnRyYW5zbGF0ZShcImdhbWUtaW50cm9kdWN0aW9uLXAxXCIpfVxuICAgICAgICAgIDwvcD5cblxuICAgICAgICAgIDxwPlxuICAgICAgICAgICAgJHt0aGlzLmkxOG4udHJhbnNsYXRlKFwiZ2FtZS1pbnRyb2R1Y3Rpb24tcDJcIil9XG4gICAgICAgICAgPC9wPlxuXG4gICAgICAgICAgPHA+XG4gICAgICAgICAgICAke3RoaXMuaTE4bi50cmFuc2xhdGUoXCJnYW1lLWludHJvZHVjdGlvbi1wM1wiKX1cbiAgICAgICAgICA8L3A+XG4gICAgICAgIDwvZGl2PlxuXG4gICAgICAgIDxkaXYgY2xhc3M9XCJnYW1lLXNldHRpbmdzXCI+XG4gICAgICAgICAgPHA+XG4gICAgICAgICAgICAke3RoaXMuaTE4bi50cmFuc2xhdGUoXCJnYW1lLXNldHRpbmdzLXAwXCIpfVxuICAgICAgICAgICAgPHNlbGVjdCBAY2hhbmdlPVwiJHt0aGlzLl9zZXRQbGF5ZXJEb2J9XCI+XG4gICAgICAgICAgICAgICR7dGhpcy5fcmVuZGVyWWVhclN0ZXBYU2VsZWN0T3B0aW9ucyhNQVhfRE9CLCBNSU5fRE9CLCAxLCB0aGlzLl9wbGF5ZXJEb2IgKyAnJyl9XG4gICAgICAgICAgICA8L3NlbGVjdD5cbiAgICAgICAgICAgICR7dGhpcy5pMThuLnRyYW5zbGF0ZShcImdhbWUtc2V0dGluZ3MtcDFcIil9XG4gICAgICAgICAgICA8c2VsZWN0IEBjaGFuZ2U9XCIke3RoaXMuX3NldE51bWJlck9mUXVlc3Rpb25zfVwiPlxuICAgICAgICAgICAgICAke3NlbGVjdFF1ZXN0aW9uT3B0aW9uc31cbiAgICAgICAgICAgIDwvc2VsZWN0PlxuICAgICAgICAgICAgJHt0aGlzLmkxOG4udHJhbnNsYXRlKFwiZ2FtZS1zZXR0aW5ncy1wMlwiKX1cbiAgICAgICAgICAgIDxzZWxlY3QgQGNoYW5nZT1cIiR7dGhpcy5fc2V0RnJvbURhdGV9XCI+XG4gICAgICAgICAgICAgICR7dGhpcy5fcmVuZGVyWWVhclN0ZXBYU2VsZWN0T3B0aW9ucyhNSU5fWUVBUiwgTUFYX1lFQVIsIDUsIHRoaXMuZnJvbS5mb3JtYXQoXCJZWVlZXCIpKX1cbiAgICAgICAgICAgIDwvc2VsZWN0PlxuICAgICAgICAgICAgJHt0aGlzLmkxOG4udHJhbnNsYXRlKFwiZ2FtZS1zZXR0aW5ncy1wM1wiKX1cbiAgICAgICAgICAgIDxzZWxlY3QgQGNoYW5nZT1cIiR7dGhpcy5fc2V0VG9EYXRlfVwiPlxuICAgICAgICAgICAgICAke3RoaXMuX3JlbmRlclllYXJTdGVwWFNlbGVjdE9wdGlvbnMoTUlOX1lFQVIsIE1BWF9ZRUFSLCA1LCB0aGlzLnRvLmZvcm1hdChcIllZWVlcIikpfVxuICAgICAgICAgICAgPC9zZWxlY3Q+XG4gICAgICAgICAgICAke3RoaXMuaTE4bi50cmFuc2xhdGUoXCJnYW1lLXNldHRpbmdzLXA0XCIpfVxuICAgICAgICAgIDwvcD5cbiAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgPGRpdiBjbGFzcz1cImdhbWUtc3RhcnRcIj5cbiAgICAgICAgICA8YnV0dG9uIEBjbGljaz1cIiR7dGhpcy5zZXR1cE5ld0dhbWV9XCI+JHt0aGlzLmkxOG4udHJhbnNsYXRlKFwic3RhcnRcIil9PC9idXR0b24+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgYDtcbiAgfVxuICBwcml2YXRlIF9zZXRQbGF5ZXJEb2IoZXZlbnQ6IGFueSk6IHZvaWQge1xuICAgIHRoaXMuX3BsYXllckRvYiA9IE51bWJlcihldmVudC50YXJnZXQudmFsdWUpO1xuICAgIHdpbmRvdy5sb2NhbFN0b3JhZ2Uuc2V0SXRlbShHVFlfUExBWUVSX0RPQl9WQVIsIHRoaXMuX3BsYXllckRvYiArICcnKTtcbiAgfVxuXG4gIHByaXZhdGUgX3NldE51bWJlck9mUXVlc3Rpb25zKGV2ZW50OiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLm51bWJlck9mUXVlc3Rpb25zID0gTnVtYmVyKGV2ZW50LnRhcmdldC52YWx1ZSk7XG4gICAgd2luZG93LmxvY2FsU3RvcmFnZS5zZXRJdGVtKEdUWV9OVU1fUVVFU1RJT05TX1ZBUiwgdGhpcy5udW1iZXJPZlF1ZXN0aW9ucyArICcnKTtcbiAgfVxuXG4gIHByaXZhdGUgX3NldEZyb21EYXRlKGV2ZW50OiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLmZyb20gPSB0aGlzLmZyb20ueWVhcihldmVudC50YXJnZXQudmFsdWUpO1xuICAgIHdpbmRvdy5sb2NhbFN0b3JhZ2Uuc2V0SXRlbShHVFlfRlJPTV9ZRUFSX1ZBUiwgdGhpcy5mcm9tLmZvcm1hdCgnWVlZWScpICsgJycpO1xuICB9XG5cbiAgcHJpdmF0ZSBfc2V0VG9EYXRlKGV2ZW50OiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLnRvID0gdGhpcy50by55ZWFyKGV2ZW50LnRhcmdldC52YWx1ZSk7XG4gICAgd2luZG93LmxvY2FsU3RvcmFnZS5zZXRJdGVtKEdUWV9UT19ZRUFSX1ZBUiwgdGhpcy50by5mb3JtYXQoJ1lZWVknKSArICcnKTtcbiAgfVxuXG4gIC8vIHJlbmRlcnMgdGhlIGFjdHVhbCBnYW1lIHN0YWdlXG4gIHByaXZhdGUgcmVuZGVyR2FtZVN0YWdlKCk6IFRlbXBsYXRlUmVzdWx0IHtcbiAgICBjb25zb2xlLmRlYnVnKFwicmVuZGVyR2FtZVN0YWdlXCIpO1xuXG4gICAgcmV0dXJuIGh0bWxgXG4gICAgICAke3RoaXMuX3JlbmRlckhlYWRlcih0aGlzLmkxOG4udHJhbnNsYXRlKFwiZ2FtZS1jYWxsLXRvLWFjdGlvblwiKS5yZXBsYWNlKC9fX0ZST01fXy8sIHRoaXMuZnJvbS55ZWFyKCkgKyAnJykucmVwbGFjZSgvX19UT19fLywgdGhpcy50by55ZWFyKCkgKyAnJykpfVxuICAgICAgPGRpdiBjbGFzcz1cImd1ZXNzLXRoZS15ZWFyLWdhbWUtc3RhZ2VcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImdhbWUtc2NvcmVcIj4ke3RoaXMuX3JlbmRlckdhbWVTY29yZSgpfTwvZGl2PlxuXG4gICAgICAgIDxkaXYgY2xhc3M9XCJjb250YWluZXJcIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiaW5jaWRlbnRcIj4ke3RoaXMuX3JlbmRlckluY2lkZW50KCl9PC9kaXY+XG4gICAgICAgICAgJHt0aGlzLl9yZW5kZXJIaW50KCl9XG4gICAgICAgICAgPGRpdiBjbGFzcz1cInNvdXJjZXNcIj4ke3RoaXMucmVuZGVyU291cmNlcygpfTwvZGl2PlxuICAgICAgICA8L2Rpdj5cblxuICAgICAgICA8ZGl2IGNsYXNzPVwiZ2FtZS1jb250cm9sc1wiPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJnYW1lLWNvbnRyb2xzLS1oaW50XCI+JHt0aGlzLl9yZW5kZXJIaW50QnV0dG9uKCl9PC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImdhbWUtY29udHJvbHMtLWFuc3dlcnNcIj4ke3RoaXMuX3JlbmRlckFuc3dlcnMoKX08L2Rpdj5cbiAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgJHt0aGlzLl9yZW5kZXJGZWVkYmFjaygpfVxuICAgICAgPC9kaXY+XG4gICAgYDtcbiAgfVxuXG4gIC8vIHJlbmRlcnMgdGhlIGl0ZW0gZm9yIHRoZSB5ZWFyIHRvIGd1ZXNzXG4gIHByaXZhdGUgX3JlbmRlckluY2lkZW50KCk6IFRlbXBsYXRlUmVzdWx0IHtcbiAgICByZXR1cm4gaHRtbGBcbiAgICAgIDxkaXYgY2xhc3M9XCJpbmNpZGVudC0tdGl0bGVcIj5cbiAgICAgICAgPGgxPiR7dGhpcy5faW5jaWRlbnQ/LnRpdGxlfTwvaDE+XG4gICAgICA8L2Rpdj5cblxuICAgICAgJHt0aGlzLl9yZW5kZXJJbmNpZGVudEltYWdlKHRoaXMuX2luY2lkZW50KX1cblxuICAgICAgPGRpdiBjbGFzcz1cImluY2lkZW50LS10ZXh0XCI+XG4gICAgICAgIDxwPiR7dGhpcy5faW5jaWRlbnQ/LnRleHR9PC9wPlxuICAgICAgPC9kaXY+XG4gICAgYDtcbiAgfVxuXG4gIHByaXZhdGUgX3Nob3VsZERpc3BsYXlBbkltYWdlKGluY2lkZW50OiBJbmNpZGVudCk6IGJvb2xlYW4ge1xuICAgIGNvbnN0IGhhc0ltYWdlID0gISEoaW5jaWRlbnQgJiYgaW5jaWRlbnQuaW1hZ2UgJiYgaW5jaWRlbnQuaW1hZ2VbMF0pO1xuICAgIGNvbnN0IGRpc3BsYXlJbWFnZXMgPSAhdGhpcy5zdXBwcmVzc0ltYWdlcztcbiAgICByZXR1cm4gaGFzSW1hZ2UgJiYgZGlzcGxheUltYWdlcztcbiAgfVxuXG4gIC8vIHJlbmRlcnMgdGhlIG9wdGlvbmFsIGltYWdlIHdpdGggdGhlIGl0ZW1cbiAgcHJpdmF0ZSBfcmVuZGVySW5jaWRlbnRJbWFnZShpbmNpZGVudDogSW5jaWRlbnQgfCB1bmRlZmluZWQpOiBUZW1wbGF0ZVJlc3VsdCB7XG4gICAgaWYgKGluY2lkZW50ICYmIHRoaXMuX3Nob3VsZERpc3BsYXlBbkltYWdlKGluY2lkZW50KSkge1xuICAgICAgcmV0dXJuIGh0bWxgXG4gICAgICAgIDxkaXYgY2xhc3M9XCJpbmNpZGVudC0taW1hZ2VcIj5cbiAgICAgICAgICA8aW1nIFxuICAgICAgICAgICAgQGVycm9yPSR7KGV2dDogRXZlbnQpID0+IHtcbiAgICAgICAgICB0aGlzLl9oYW5kbGVJbWFnZUxvYWRFcnJvcihldnQsIGluY2lkZW50KTtcbiAgICAgICAgfX1cbiAgICAgICAgICAgIHNyYz1cIiR7aW5jaWRlbnQuaW1hZ2VbMF19XCJcbiAgICAgICAgICAvPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIGA7XG4gICAgfVxuXG4gICAgLy8gUHJlc2VydmUgaHRtbCBzdHJ1Y3R1cmUgdG8gcHJldmVudCB0aGUgd2ViY29tcG9uZW50IHRvIGNvbGxhcHNlLlxuICAgIHJldHVybiBodG1sYDxkaXYgY2xhc3M9XCJpbmNpZGVudC0taW1hZ2VcIj5cbiAgICAgICAgICA8aW1nLz5cbiAgICAgICAgPC9kaXY+YDtcbiAgfVxuXG4gIC8vIHJlbmRlcnMgYSBsaXN0IG9mIHBvc3NpYmxlIGFuc3dlcnNcbiAgcHJpdmF0ZSBfcmVuZGVyQW5zd2VycygpOiBUZW1wbGF0ZVJlc3VsdCB7XG4gICAgcmV0dXJuIGh0bWxgXG4gICAgICA8ZGl2IGNsYXNzPVwiYW5zd2Vycy0tbGlzdFwiPlxuICAgICAgICA8dWw+XG4gICAgICAgICAgJHt0aGlzLl9hbnN3ZXJzLm1hcChcbiAgICAgIChhbnN3ZXIpID0+XG4gICAgICAgIGh0bWxgPGxpIEBjbGljaz1cIiR7dGhpcy5faGFuZGxlQW5zd2VyQ2xpY2tlZH1cIj4ke2Fuc3dlcn08L2xpPmAsXG4gICAgKX1cbiAgICAgICAgPC91bD5cbiAgICAgIDwvZGl2PlxuICAgIGA7XG4gIH1cblxuICAvLyByZW5kZXJzIHRoZSBjdXJyZW50IHF1ZXN0aW9uIHNjb3JlXG4gIC8vIGl0IGNvdW50cyBiYWNrIHRvIDBcbiAgcHJpdmF0ZSBfcmVuZGVyR2FtZVNjb3JlKCk6IFRlbXBsYXRlUmVzdWx0IHtcbiAgICByZXR1cm4gaHRtbGBcbiAgICAgIDxkaXYgY2xhc3M9XCJnYW1lLXNjb3JlLS10b3RhbFwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZ2FtZS1zY29yZS0tbGFiZWxcIj4ke3RoaXMuaTE4bi50cmFuc2xhdGUoXCJxdWVzdGlvbi1udW1iZXJcIil9OjwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZ2FtZS1zY29yZS0tdmFsdWVcIj5cbiAgICAgICAgICAke3RoaXMuX251bWJlck9mUXVlc3Rpb25zU2Vlbn0gdmFuICR7dGhpcy5udW1iZXJPZlF1ZXN0aW9uc31cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cblxuICAgICAgPGRpdiBjbGFzcz1cImdhbWUtc2NvcmUtLXNjb3JlXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJnYW1lLXNjb3JlLS1sYWJlbFwiPiR7dGhpcy5pMThuLnRyYW5zbGF0ZShcInF1ZXN0aW9uLXNjb3JlXCIpfTo8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImdhbWUtc2NvcmUtLXZhbHVlXCI+JHt0aGlzLl9zY29yZTAudmFsdWV9PC9kaXY+XG4gICAgICA8L2Rpdj5cblxuICAgICAgPGRpdiBjbGFzcz1cImdhbWUtc2NvcmUtLXRvdGFsXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJnYW1lLXNjb3JlLS1sYWJlbFwiPiR7dGhpcy5pMThuLnRyYW5zbGF0ZShcInRvdGFsLXNjb3JlXCIpfTo8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImdhbWUtc2NvcmUtLXZhbHVlXCI+JHt0aGlzLnRvdGFsU2NvcmV9PC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICBgO1xuICB9XG5cbiAgLy8gaGFuZGxlcyB0aGUgY2xpY2sgb24gYW4gYW5zd2VyXG4gIHByaXZhdGUgX2hhbmRsZUFuc3dlckNsaWNrZWQoZXZlbnQ6IGFueSk6IHZvaWQge1xuICAgIC8vIGdldCB0aGUgY2xpY2tlZCBhbnN3ZXJcbiAgICBjb25zdCBhbnN3ZXIgPSBldmVudC50YXJnZXQudGV4dENvbnRlbnQ7XG5cbiAgICAvLyBzdG9wIHRoZSBzY29yZSBjb3VudGVyXG4gICAgdGhpcy5fc2NvcmUwLnN0b3AoKTtcblxuICAgIC8vIHJlbW92ZSB0aGUgaGludCBidXR0b25cbiAgICB0aGlzLl9zaG93SGludCA9IGZhbHNlO1xuXG4gICAgLy8gY2hlY2sgaWYgdGhlIGFuc3dlciBpcyBjb3JyZWN0XG4gICAgaWYgKGFuc3dlcikge1xuICAgICAgLy8gdGhpcy5fYXBpU2VydmljZS5wb3N0SW5jaWRlbnRBbnN3ZXIodGhpcy5faW5jaWRlbnQ/LmlkLCBhbnN3ZXIpO1xuICAgICAgY29uc29sZS5kZWJ1ZyhcbiAgICAgICAgYW5zd2VyLFxuICAgICAgICB0aGlzLl9zb2x1dGlvbixcbiAgICAgICAgdGhpcy5fc2NvcmUsXG4gICAgICAgIGFuc3dlciA9PSB0aGlzLl9zb2x1dGlvbixcbiAgICAgICk7XG5cbiAgICAgIHRoaXMuX2Fuc3dlciA9IGFuc3dlcjtcbiAgICB9XG4gIH1cblxuICAvLyByZW5kZXJzIHRoZSByZXF1ZXN0ZWQgaGludFxuICBwcml2YXRlIF9yZW5kZXJIaW50KCk6IFRlbXBsYXRlUmVzdWx0IHtcbiAgICBpZiAoIXRoaXMuX2hpbnQpIHtcbiAgICAgIHJldHVybiBodG1sYGA7XG4gICAgfVxuXG4gICAgcmV0dXJuIGh0bWxgIDxwPiR7dGhpcy5faGludH08L3A+IGA7XG4gIH1cblxuICAvLyByZW5kZXJzIHRoZSBoaW50IGJ1dHRvbiB1bnRpbFxuICAvLyBhbGwgbWF4IGhpbnRzIGhhdmUgYmVlbiB1c2VkXG4gIHByaXZhdGUgX3JlbmRlckhpbnRCdXR0b24oKTogVGVtcGxhdGVSZXN1bHQge1xuICAgIGlmICghdGhpcy5fc2hvd0hpbnQpIHtcbiAgICAgIHJldHVybiBodG1sYGA7XG4gICAgfVxuXG4gICAgcmV0dXJuIGh0bWxgXG4gICAgICA8ZGl2IGNsYXNzPVwiZ2FtZS1jb250cm9scy0taGludFwiPlxuICAgICAgICA8YnV0dG9uIEBjbGljaz1cIiR7dGhpcy5faGFuZGxlSGludENsaWNrZWR9XCI+XG4gICAgICAgICAke3RoaXMuaTE4bi50cmFuc2xhdGUoXCJzaG93LWhpbnRcIil9ICgke3RoaXMuX2hpbnRzLmxlbmd0aCAtIHRoaXMuX2hpbnRzSW5kZXh9KVxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgIDwvZGl2PlxuICAgIGA7XG4gIH1cblxuICAvLyBoYW5kbGVzIHRoZSBjbGljayBvbiB0aGUgaGludCBidXR0b25cbiAgLy8gYW5kIHNob3dzIHRoZSBuZXh0IGhpbnQgaWYgYXZhaWxhYmxlXG4gIC8vIHN1YnRyYWN0cyB0aGUgY29zdCBvZiB0aGUgaGludCBmcm9tXG4gIC8vIHRoZSBxdWVzdGlvbiBzY29yZVxuICBwcml2YXRlIF9oYW5kbGVIaW50Q2xpY2tlZCgpOiB2b2lkIHtcbiAgICBjb25zb2xlLmRlYnVnKFwiaGFuZGxlSGludENsaWNrZWRcIiwgW3RoaXMuX2hpbnRzSW5kZXgsIHRoaXMuX2hpbnRzLmxlbmd0aF0pO1xuXG4gICAgaWYgKHRoaXMuX2hpbnRzSW5kZXggPCB0aGlzLl9oaW50cy5sZW5ndGgpIHtcbiAgICAgIGNvbnN0IGhpbnRUZXh0ID0gdGhpcy5fZ2VuZXJhdGVIaW50VGV4dCh0aGlzLl9oaW50c1t0aGlzLl9oaW50c0luZGV4XSk7XG5cbiAgICAgIGlmIChoaW50VGV4dCkge1xuICAgICAgICB0aGlzLl9oaW50ID0gaGludFRleHQ7XG4gICAgICAgIHRoaXMuX2hpbnRzSW5kZXgrKztcbiAgICAgICAgdGhpcy5fc2NvcmUwLnN1YnRyYWN0KEhJTlRfQ09TVCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuX2hpbnRzSW5kZXggPj0gdGhpcy5faGludHMubGVuZ3RoKSB7XG4gICAgICAvLyB0aGlzLl9oaW50c0luZGV4ID0gMDtcbiAgICAgIHRoaXMuX3Nob3dIaW50ID0gZmFsc2U7XG4gICAgfVxuICB9XG5cbiAgLy8gcmVuZGVycyB0aGUgZmVlZGJhY2sgb3ZlcmxheVxuICBwcml2YXRlIF9yZW5kZXJGZWVkYmFjaygpOiBUZW1wbGF0ZVJlc3VsdCB7XG4gICAgLy8gZG8gbm90IHNob3cgYW55dGhpbmcgdW50aWwgYW4gYW5zd2VyIGhhcyBiZWVuIG1hZGVcbiAgICAvLyBhbmQgdGhlIHNjb3JlIGlzIGdyZWF0ZXIgdGhhbiAwXG4gICAgaWYgKCF0aGlzLl9hbnN3ZXIgJiYgdGhpcy5fc2NvcmUwLnZhbHVlID4gMCkge1xuICAgICAgcmV0dXJuIGh0bWxgYDtcbiAgICB9XG5cbiAgICAvLyBjaGVjayBpZiB0aGUgYW5zd2VyIGlzIGNvcnJlY3RcbiAgICAvLyBjYXN0IHRvIHN0cmluZ3MgdG8gY29tcGFyZVxuICAgIGNvbnN0IGlzX2NvcnJlY3QgPSB0aGlzLl9hbnN3ZXIgKyBcIlwiID09IHRoaXMuX3NvbHV0aW9uICsgXCJcIjtcbiAgICBjb25zdCBzY29yZSA9IGlzX2NvcnJlY3QgPyB0aGlzLl9zY29yZTAudmFsdWUgOiAwO1xuXG4gICAgaWYgKHRoaXMuX3Njb3JlMC5pc1J1bm5pbmcoKSkge1xuICAgICAgdGhpcy5fc2NvcmUwLnN0b3AoKTtcbiAgICB9XG5cbiAgICB0aGlzLnRvdGFsU2NvcmUgKz0gc2NvcmU7XG5cbiAgICAvLyBGaXJlLWFuZC1mb3JnZXQgcmVjYWxsYWJpbGl0eSBmZWVkYmFjay5cbiAgICBpZiAodGhpcy5faW5jaWRlbnQ/LmlkKSB7XG4gICAgICB0aGlzLl9hcGlTZXJ2aWNlLmluY2lkZW50UmVjYWxsYWJpbGl0eSh0aGlzLl9pbmNpZGVudD8uaWQsIHRoaXMuX3BsYXllckRvYiwgaXNfY29ycmVjdCk7XG4gICAgfVxuXG4gICAgaWYgKGlzX2NvcnJlY3QpIHtcbiAgICAgIHJldHVybiBodG1sYFxuICAgICAgICA8ZGl2IGNsYXNzPVwiZmVlZGJhY2tcIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmVlZGJhY2stLWNvbnRlbnRcIj5cbiAgICAgICAgICAgIDxoMz4ke3RoaXMuaTE4bi50cmFuc2xhdGUoXCJhbnN3ZXItY29ycmVjdFwiKX0hPC9oMz5cbiAgICAgICAgICAgIDxwPlxuICAgICAgICAgICAgICAke3RoaXMuX2hpbnRzSW5kZXggPT0gMSA/IHRoaXMuaTE4bi50cmFuc2xhdGUoXCJ1c2VkLWhpbnQtc2luZ3VsYXJcIikgOiB0aGlzLmkxOG4udHJhbnNsYXRlKFwidXNlZC1oaW50LXBsdXJhbFwiKS5yZXBsYWNlKC9fX0hJTlRTX18vLCB0aGlzLl9oaW50c0luZGV4ICsgJycpfVxuICAgICAgICAgICAgPC9wPlxuICAgICAgICAgICAgPHA+XG4gICAgICAgICAgICAgICR7c2NvcmUgPT0gMSA/IHRoaXMuaTE4bi50cmFuc2xhdGUoXCJudW1iZXItcG9pbnRzLXNpbmd1bGFyXCIpIDogdGhpcy5pMThuLnRyYW5zbGF0ZShcIm51bWJlci1wb2ludHMtcGx1cmFsXCIpLnJlcGxhY2UoL19fUE9JTlRTX18vLCBzY29yZSArICcnKX1cbiAgICAgICAgICAgIDwvcD5cblxuICAgICAgICAgICAgJHt0aGlzLl9yZW5kZXJOZXh0UXVlc3Rpb25CdXR0b24oKX1cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICBgO1xuICAgIH0gZWxzZSBpZiAoIWlzX2NvcnJlY3QgJiYgdGhpcy5fYW5zd2VyKSB7XG4gICAgICByZXR1cm4gaHRtbGBcbiAgICAgICAgPGRpdiBjbGFzcz1cImZlZWRiYWNrXCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImZlZWRiYWNrLS1jb250ZW50XCI+XG4gICAgICAgICAgICA8aDM+JHt0aGlzLmkxOG4udHJhbnNsYXRlKFwiYW5zd2VyLXdyb25nXCIpfTwvaDM+XG4gICAgICAgICAgICA8cD5cbiAgICAgICAgICAgICAgJHt0aGlzLmkxOG4udHJhbnNsYXRlKFwiY29ycmVjdC1hbnN3ZXItd2FzXCIpLnJlcGxhY2UoL19fV1JPTkdfXy8sIHRoaXMuX2Fuc3dlciArICcnKS5yZXBsYWNlKC9fX0NPUlJFQ1RfXy8sIHRoaXMuX3NvbHV0aW9uICsgJycpfVxuICAgICAgICAgICAgPC9wPlxuICAgICAgICAgICAgJHt0aGlzLl9yZW5kZXJOZXh0UXVlc3Rpb25CdXR0b24oKX1cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICBgO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gaHRtbGBcbiAgICAgICAgPGRpdiBjbGFzcz1cImZlZWRiYWNrXCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImZlZWRiYWNrLS1jb250ZW50XCI+XG4gICAgICAgICAgICA8aDM+SGVsYWFzPC9oMz5cbiAgICAgICAgICAgIDxwPlxuICAgICAgICAgICAgJHt0aGlzLmkxOG4udHJhbnNsYXRlKFwibm8tYW5zd2VyLWNvcnJlY3QtYW5zd2VyLXdhc1wiKS5yZXBsYWNlKC9fX0NPUlJFQ1RfXy8sIHRoaXMuX3NvbHV0aW9uICsgJycpfVxuICAgICAgICAgICAgPC9wPlxuICAgICAgICAgICAgJHt0aGlzLl9yZW5kZXJOZXh0UXVlc3Rpb25CdXR0b24oKX1cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICBgO1xuICAgIH1cbiAgfVxuXG4gIC8vIHJlbmRlcnMgdGhlIG5leHQgcXVlc3Rpb24gYnV0dG9uXG4gIHByaXZhdGUgX3JlbmRlck5leHRRdWVzdGlvbkJ1dHRvbigpOiBUZW1wbGF0ZVJlc3VsdCB7XG4gICAgaWYgKHRoaXMuX251bWJlck9mUXVlc3Rpb25zU2VlbiA8IHRoaXMubnVtYmVyT2ZRdWVzdGlvbnMpIHtcbiAgICAgIHJldHVybiBodG1sYFxuICAgICAgICA8YnV0dG9uIEBjbGljaz1cIiR7dGhpcy5fbG9hZFF1ZXN0aW9ufVwiPiR7dGhpcy5pMThuLnRyYW5zbGF0ZShcIm5leHQtcXVlc3Rpb25cIil9PC9idXR0b24+XG4gICAgICBgO1xuICAgIH1cblxuICAgIHJldHVybiBodG1sYCA8YnV0dG9uIEBjbGljaz1cIiR7dGhpcy5fZW5kR2FtZX1cIj4ke3RoaXMuaTE4bi50cmFuc2xhdGUoXCJxdWl0XCIpfTwvYnV0dG9uPiBgO1xuICB9XG5cbiAgLy8gcmVuZGVycyB0aGUgZW5kIG9mIHRoZSBnYW1lXG4gIHByaXZhdGUgX2VuZEdhbWUoKTogdm9pZCB7XG4gICAgdGhpcy5fcmVuZGVyU3RhdGUgPSBHYW1lU3RhdGUuRU5EO1xuICB9XG5cbiAgcHJpdmF0ZSByZW5kZXJHYW1lRW5kKCk6IFRlbXBsYXRlUmVzdWx0IHtcbiAgICBjb25zb2xlLmRlYnVnKFwicmVuZGVyR2FtZUVuZFwiKTtcbiAgICByZXR1cm4gaHRtbGBcbiAgICAgICR7dGhpcy5fcmVuZGVySGVhZGVyKFwiVGhlIGVuZCFcIil9XG4gICAgICA8ZGl2IGNsYXNzPVwiZ3Vlc3MtdGhlLXllYXItZ2FtZS1lbmRcIj4ke3RoaXMuaTE4bi50cmFuc2xhdGUoXCJlbmRcIil9PC9kaXY+XG4gICAgICA8YnV0dG9uIEBjbGljaz1cIiR7KCkgPT4gKHRoaXMuX3JlbmRlclN0YXRlID0gR2FtZVN0YXRlLlNQTEFTSCl9XCI+XG4gICAgICAke3RoaXMuaTE4bi50cmFuc2xhdGUoXCJuZXctZ2FtZVwiKX1cbiAgICAgIDwvYnV0dG9uPlxuICAgICAgJHt0aGlzLl9yZW5kZXJGb290ZXIoKX1cbiAgICBgO1xuICB9XG5cbiAgcHJpdmF0ZSBzZXR1cE5ld0dhbWUoKTogdm9pZCB7XG4gICAgY29uc29sZS5kZWJ1ZyhcIm5ldyBnYW1lIVwiKTtcblxuICAgIGNvbnNvbGUuZGVidWcoe1xuICAgICAgXCJudW1iZXIgb2YgcXVlc3Rpb25zXCI6IHRoaXMubnVtYmVyT2ZRdWVzdGlvbnMsXG4gICAgICBmcm9tOiB0aGlzLmZyb20udG9JU09TdHJpbmcoKSxcbiAgICAgIHRvOiB0aGlzLnRvLnRvSVNPU3RyaW5nKCksXG4gICAgfSk7XG5cbiAgICB0aGlzLnRvdGFsU2NvcmUgPSAwO1xuICAgIHRoaXMuX251bWJlck9mUXVlc3Rpb25zU2VlbiA9IDA7XG5cbiAgICB0aGlzLl9sb2FkUXVlc3Rpb24oKTtcbiAgfVxuXG4gIHByaXZhdGUgX3Jlc2V0U3RhZ2UoKTogdm9pZCB7XG4gICAgdGhpcy5zb3VyY2VzID0gW107XG4gICAgdGhpcy5faW5jaWRlbnQgPSB1bmRlZmluZWQ7XG4gICAgdGhpcy5faGludHMgPSBbXTtcbiAgICB0aGlzLl9hbnN3ZXIgPSB1bmRlZmluZWQ7XG4gICAgdGhpcy5fYW5zd2VycyA9IFtdO1xuICAgIHRoaXMuX2hpbnRzSW5kZXggPSAwO1xuICAgIHRoaXMuX3Njb3JlMC5yZXNldCgpO1xuICAgIHRoaXMuX3Nob3dIaW50ID0gZmFsc2U7XG4gICAgdGhpcy5faGludCA9IHVuZGVmaW5lZDtcbiAgfVxuXG4gIGFzeW5jIF9sb2FkUXVlc3Rpb24oKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgdGhpcy5fcmVzZXRTdGFnZSgpO1xuXG4gICAgY29uc3QgcmVzcG9uc2U6IHsgaW5jaWRlbnQ6IEluY2lkZW50IHwgdW5kZWZpbmVkOyBzb3VyY2VzOiBzdHJpbmdbXSB9ID1cbiAgICAgIGF3YWl0IHRoaXMuX2FwaVNlcnZpY2UuZmV0Y2hPbmVJbmNpZGVudChcbiAgICAgICAgdGhpcy5jb3VudHJ5LFxuICAgICAgICB0aGlzLmNhdGVnb3J5LFxuICAgICAgICB0aGlzLmVtb3Rpb24sXG4gICAgICAgIHRoaXMuaW1wYWN0LFxuICAgICAgICB0aGlzLmRhdGUsXG4gICAgICAgIHRoaXMuZnJvbS5mb3JtYXQoXCJZWVlZLU1NLUREXCIpLFxuICAgICAgICB0aGlzLnRvLmZvcm1hdChcIllZWVktTU0tRERcIiksXG4gICAgICAgIFwiNDBcIixcbiAgICAgICAgXCJxdWl6X3llYXJcIlxuICAgICAgKTtcblxuICAgIHRoaXMuX2luY2lkZW50ID0gcmVzcG9uc2UuaW5jaWRlbnQ7XG4gICAgdGhpcy5zb3VyY2VzID0gcmVzcG9uc2Uuc291cmNlcztcblxuICAgIHRoaXMuX3NvbHV0aW9uID0gTnVtYmVyKFxuICAgICAgKHJlc3BvbnNlLmluY2lkZW50Py55ZWFycGx1c21vbnRoIHx8IFwiXCIpLnN1YnN0cmluZygwLCA0KSxcbiAgICApO1xuXG4gICAgY29uc3QgYW5zd2VycyA9IFt0aGlzLl9zb2x1dGlvbl07XG4gICAgY29uc3QgZnJvbSA9IHRoaXMuZnJvbS55ZWFyKCk7XG4gICAgY29uc3QgdG8gPSB0aGlzLnRvLnllYXIoKTtcblxuICAgIC8vIGdlbmVyYXRlIDMgbW9yZSByYW5kb20gYW5kIHVuaXF1ZSBhbnN3ZXJzIGJldHdlZW4gdG8gYW5kIGZyb21cbiAgICB3aGlsZSAoYW5zd2Vycy5sZW5ndGggPCA0KSB7XG4gICAgICBjb25zdCByYW5kb21BbnN3ZXIgPSBNYXRoLmZsb29yKE1hdGgucmFuZG9tKCkgKiAodG8gLSBmcm9tKSkgKyBmcm9tO1xuICAgICAgaWYgKCFhbnN3ZXJzLmluY2x1ZGVzKHJhbmRvbUFuc3dlcikpIHtcbiAgICAgICAgYW5zd2Vycy5wdXNoKHJhbmRvbUFuc3dlcik7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gc29ydCB0aGVzZXMgYW5zd2Vyc1xuICAgIGFuc3dlcnMuc29ydCgpO1xuXG4gICAgdGhpcy5fYW5zd2VycyA9IGFuc3dlcnM7XG5cbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IHRoaXMubWF4SGludHM7IGkrKykge1xuICAgICAgY29uc29sZS5kZWJ1ZyhcImxvYWRpbmcgaGludFwiLCBpKTtcblxuICAgICAgY29uc3QgcmVzcG9uc2U6IHsgaW5jaWRlbnQ6IEluY2lkZW50IHwgdW5kZWZpbmVkOyBzb3VyY2VzOiBzdHJpbmdbXSB9ID1cbiAgICAgICAgYXdhaXQgdGhpcy5fYXBpU2VydmljZS5mZXRjaE9uZUluY2lkZW50KFxuICAgICAgICAgIHRoaXMuY291bnRyeSxcbiAgICAgICAgICBVdGlsLnNodWZmbGVBcnJheShbLi4uQ2F0ZWdvcmllc10pLnNoaWZ0KCksXG4gICAgICAgICAgdW5kZWZpbmVkLFxuICAgICAgICAgIHVuZGVmaW5lZCxcbiAgICAgICAgICBcIlwiLFxuICAgICAgICAgIGAke3RoaXMuX3NvbHV0aW9ufS0wMS0wMWAsXG4gICAgICAgICAgYCR7dGhpcy5fc29sdXRpb259LTEyLTMxYCxcbiAgICAgICAgICB1bmRlZmluZWQsXG4gICAgICAgICAgdW5kZWZpbmVkLFxuICAgICAgICApO1xuXG4gICAgICBpZiAocmVzcG9uc2UuaW5jaWRlbnQpIHtcbiAgICAgICAgdGhpcy5faGludHMucHVzaChyZXNwb25zZS5pbmNpZGVudCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuX2hpbnRzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgdGhpcy5fc2hvd0hpbnQgPSBmYWxzZTtcbiAgICB9XG4gICAgZWxzZSB7XG4gICAgICB0aGlzLl9zaG93SGludCA9IHRydWU7XG4gICAgfVxuXG4gICAgLy8gc3RhcnQgcmVuZGVyIGdhbWUgc3RhZ2VcbiAgICB0aGlzLl9yZW5kZXJTdGF0ZSA9IEdhbWVTdGF0ZS5QTEFZO1xuXG4gICAgLy8gc3RhcnQgc2NvcmUgY291bnRlclxuICAgIHRoaXMuX3Njb3JlMC5zdGFydCgpO1xuXG4gICAgLy8gaW5jcmVtZW50IHF1ZXN0aW9uIGNvdW50ZXJcbiAgICB0aGlzLl9udW1iZXJPZlF1ZXN0aW9uc1NlZW4gKz0gMTtcbiAgfVxuXG4gIHByaXZhdGUgX2dlbmVyYXRlSGludFRleHQoaGludEluY2lkZW50OiBJbmNpZGVudCk6IHN0cmluZyB7XG4gICAgbGV0IGhpbnQgPSBcIlwiO1xuICAgIGNvbnN0IGhpbnRUZW1wbGF0ZXMgPSB0aGlzLmkxOG4uSGludFRlbXBsYXRlc1toaW50SW5jaWRlbnQuY2F0ZWdvcnldO1xuICAgIHN3aXRjaCAoaGludEluY2lkZW50LmNhdGVnb3J5KSB7XG4gICAgICBjYXNlIENhdGVnb3J5Lm5ld3NJdGVtOlxuICAgICAgICBoaW50ID0gKFxuICAgICAgICAgIGhpbnRUZW1wbGF0ZXNbTWF0aC5yb3VuZChNYXRoLnJhbmRvbSgpICogaGludFRlbXBsYXRlcy5sZW5ndGgpXSB8fCBcIlwiXG4gICAgICAgICkucmVwbGFjZSgvX19USVRMRV9fLywgaGludEluY2lkZW50LnRpdGxlKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIENhdGVnb3J5LnJhZGlvU29uZzpcbiAgICAgICAgLy8gVGhlIHRpdGxlIHByb3BlcnR5IG9mIHJhZGlvU29uZ3MgYWx3YXlzIGZvbGxvdyB0aGlzIHBhdHRlcm46IHRyYWNrIC0gYXJ0aXN0XG4gICAgICAgIGNvbnN0IHRyYWNrID0gaGludEluY2lkZW50LnRpdGxlLnJlcGxhY2UoLyguKj8pXFxzK1xcLS4qLywgXCIkMVwiKTtcbiAgICAgICAgY29uc3QgYXJ0aXN0ID0gaGludEluY2lkZW50LnRpdGxlLnJlcGxhY2UoLy4qXFwtKC4qKS8sIFwiJDFcIik7XG4gICAgICAgIGhpbnQgPSAoXG4gICAgICAgICAgaGludFRlbXBsYXRlc1tNYXRoLnJvdW5kKE1hdGgucmFuZG9tKCkgKiBoaW50VGVtcGxhdGVzLmxlbmd0aCldIHx8XG4gICAgICAgICAgaGludFRlbXBsYXRlc1swXVxuICAgICAgICApXG4gICAgICAgICAgLnJlcGxhY2UoL19fQVJUSVNUX18vLCBhcnRpc3QpXG4gICAgICAgICAgLnJlcGxhY2UoL19fVFJBQ0tfXy8sIHRyYWNrKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIENhdGVnb3J5LmNpbmVtYU1vdmllOlxuICAgICAgICBoaW50ID0gKFxuICAgICAgICAgIGhpbnRUZW1wbGF0ZXNbTWF0aC5yb3VuZChNYXRoLnJhbmRvbSgpICogaGludFRlbXBsYXRlcy5sZW5ndGgpXSB8fFxuICAgICAgICAgIGhpbnRUZW1wbGF0ZXNbMF1cbiAgICAgICAgKS5yZXBsYWNlKC9fX1RJVExFX18vLCBoaW50SW5jaWRlbnQudGl0bGUpO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgQ2F0ZWdvcnkudGVjaDpcbiAgICAgICAgaGludCA9IChcbiAgICAgICAgICBoaW50VGVtcGxhdGVzW01hdGgucm91bmQoTWF0aC5yYW5kb20oKSAqIGhpbnRUZW1wbGF0ZXMubGVuZ3RoKV0gfHxcbiAgICAgICAgICBoaW50VGVtcGxhdGVzWzBdXG4gICAgICAgICkucmVwbGFjZSgvX19USVRMRV9fLywgaGludEluY2lkZW50LnRpdGxlKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIENhdGVnb3J5Lm5ld3NQcmVzZW50ZXI6XG4gICAgICAgIGhpbnQgPSAoXG4gICAgICAgICAgaGludFRlbXBsYXRlc1tNYXRoLnJvdW5kKE1hdGgucmFuZG9tKCkgKiBoaW50VGVtcGxhdGVzLmxlbmd0aCldIHx8XG4gICAgICAgICAgaGludFRlbXBsYXRlc1swXVxuICAgICAgICApLnJlcGxhY2UoL19fVElUTEVfXy8sIGhpbnRJbmNpZGVudC50aXRsZSB8fCBoaW50SW5jaWRlbnQudGV4dCk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSBDYXRlZ29yeS50dlNob3dPclNlcmllczpcbiAgICAgICAgaGludCA9IChcbiAgICAgICAgICBoaW50VGVtcGxhdGVzW01hdGgucm91bmQoTWF0aC5yYW5kb20oKSAqIGhpbnRUZW1wbGF0ZXMubGVuZ3RoKV0gfHxcbiAgICAgICAgICBoaW50VGVtcGxhdGVzWzBdXG4gICAgICAgICkucmVwbGFjZSgvX19USVRMRV9fLywgaGludEluY2lkZW50LnRpdGxlIHx8IGhpbnRJbmNpZGVudC50ZXh0KTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIENhdGVnb3J5LnNwb3J0czpcbiAgICAgICAgaGludCA9IChcbiAgICAgICAgICBoaW50VGVtcGxhdGVzW01hdGgucm91bmQoTWF0aC5yYW5kb20oKSAqIGhpbnRUZW1wbGF0ZXMubGVuZ3RoKV0gfHxcbiAgICAgICAgICBoaW50VGVtcGxhdGVzWzBdXG4gICAgICAgICkucmVwbGFjZSgvX19USVRMRV9fLywgaGludEluY2lkZW50LnRpdGxlIHx8IGhpbnRJbmNpZGVudC50ZXh0KTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIENhdGVnb3J5LnNob3diaXp6OlxuICAgICAgICBoaW50ID0gKFxuICAgICAgICAgIGhpbnRUZW1wbGF0ZXNbTWF0aC5yb3VuZChNYXRoLnJhbmRvbSgpICogaGludFRlbXBsYXRlcy5sZW5ndGgpXSB8fFxuICAgICAgICAgIGhpbnRUZW1wbGF0ZXNbMF1cbiAgICAgICAgKS5yZXBsYWNlKC9fX1RJVExFX18vLCBoaW50SW5jaWRlbnQudGl0bGUgfHwgaGludEluY2lkZW50LnRleHQpO1xuICAgICAgICBicmVhaztcbiAgICB9XG4gICAgcmV0dXJuIGhpbnQ7XG4gIH1cblxuICByZW5kZXJTb3VyY2VzKCk6IFRlbXBsYXRlUmVzdWx0IHtcbiAgICBjb25zb2xlLmRlYnVnKFwicmVuZGVyU291cmNlc1wiKTtcbiAgICBpZiAoIXRoaXMuc291cmNlcy5sZW5ndGgpIHtcbiAgICAgIHJldHVybiBodG1sYGA7XG4gICAgfVxuICAgIC8vIGRlZHVwbGljYXRlIGFycmF5IHZpYSBbLi4ubmV3IFNldCh0aGlzLnNvdXJjZXMpXVxuICAgIHJldHVybiBodG1sYFxuICAgICAgPGRpdiBjbGFzcz1cImd1ZXNzLXRoZS15ZWFyLXNvdXJjZXNcIj5cbiAgICAgICAgU291cmNlOiAke1suLi5uZXcgU2V0KHRoaXMuc291cmNlcyldLmpvaW4oXCIsIFwiKX1cbiAgICAgIDwvZGl2PlxuICAgIGA7XG4gIH1cblxuICBfaGFuZGxlSW1hZ2VMb2FkRXJyb3IgPSAoZXZ0OiBFdmVudCwgaW5jaWRlbnQ6IEluY2lkZW50KSA9PiB7XG4gICAgLy8gZ3JhYiB0aGUgaW1hZ2UgZWxlbWVudCB0aGF0IHRyaWdnZXJlZCB0aGUgZXJyb3JcbiAgICBjb25zdCB0YXJnZXRJbWFnZSA9IGV2dC50YXJnZXQgYXMgSFRNTEltYWdlRWxlbWVudDtcbiAgICBjb25zb2xlLmRlYnVnKGBFcnJvciBsb2FkaW5nIGltYWdlOiAke3RhcmdldEltYWdlLnNyY31gKTtcblxuICAgIC8vIGZpbmQgb3V0IHdoaWNoIG5vIGltYWdlIHNvdXJjZSBuZWVkcyB0byBiZSB1c2VkXG4gICAgY29uc3Qgbm9JbWFnZVNyYyA9IHRoaXMubm9JbWFnZVNyYyB8fCBOb0ltYWdlSW1nO1xuXG4gICAgLy8gZG9uJ3QgdHJ5IHRvIHNldCB0aGUgaW1hZ2Ugc291cmNlIGlmIGl0XG4gICAgLy8gaGFzIGFscmVhZHkgYmVlbiBzZXRcbiAgICBpZiAodGFyZ2V0SW1hZ2Uuc3JjID09IG5vSW1hZ2VTcmMpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICAvLyByZXBvcnQgYnJva2VuIGltYWdlcyBiYWNrIHRvIHRoZSBzZXJ2ZXIgaWYgc2V0LlxuICAgIGlmICh0aGlzLnJlcG9ydEJyb2tlbkltYWdlcykge1xuICAgICAgaWYgKGluY2lkZW50KSB7XG4gICAgICAgIHRoaXMuX2FwaVNlcnZpY2UucG9zdEF0dHJpYnV0ZVF1YWxpdHlGZWVkYmFjayhcbiAgICAgICAgICBpbmNpZGVudC5pZCxcbiAgICAgICAgICBcImltYWdlXCIsXG4gICAgICAgICAgdGFyZ2V0SW1hZ2Uuc3JjLFxuICAgICAgICAgIENvbnRlbnRGZWVkYmFjay5pbmNvcnJlY3QsXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gd2FpdCBhIGJpdCBiZWZvcmUgc2V0dGluZyB0aGUgaW1hZ2VcbiAgICAvLyBzbyB3ZSBkb24ndCBoYW1tZXIgdGhlIG5vIGltYWdlIHNlcnZlclxuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgdGFyZ2V0SW1hZ2Uuc3JjID0gbm9JbWFnZVNyYztcbiAgICB9LCAyNTApO1xuXG4gICAgcmV0dXJuIGZhbHNlO1xuICB9O1xufVxuXG5kZWNsYXJlIGdsb2JhbCB7XG4gIGludGVyZmFjZSBIVE1MRWxlbWVudFRhZ05hbWVNYXAge1xuICAgIFwiZ3Vlc3MtdGhlLXllYXJcIjogR3Vlc3NUaGVZZWFyO1xuICB9XG59XG4iLCJpbXBvcnQgeyBJU3RyaW5nQXJyYXlIYXNoIH0gZnJvbSBcIi4uL1V0aWxcIjtcbmltcG9ydCB7IE5MIH0gZnJvbSBcIi4vTkxcIjtcbmltcG9ydCB7IEVOIH0gZnJvbSBcIi4vRU5cIjtcblxuZXhwb3J0IGludGVyZmFjZSBpMThuIHtcbiAgSGludFRlbXBsYXRlczogSVN0cmluZ0FycmF5SGFzaDtcblxuICB0cmFuc2xhdGUoa2V5OiBzdHJpbmcpOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpMThuRmFjdG9yeShsYW5ndWFnZTogc3RyaW5nKTogaTE4biB7XG4gIHN3aXRjaCAobGFuZ3VhZ2UpIHtcbiAgICBjYXNlIFwiZW5cIjpcbiAgICAgIHJldHVybiBuZXcgRU4oKTtcbiAgfVxuICByZXR1cm4gbmV3IE5MKCk7XG59XG4iLCJcbmV4cG9ydCBjb25zdCBOb0ltYWdlSW1nID1cbiAgXCJkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQkJRQUFBRkVDQVlBQUFDWHFXM01BQUFNYVdsRFExQkpRME1nVUhKdlptbHNaUUFBU0ltVlZ3ZFVVOGthbmx1U2tKRFFBaEdRRW5vVHBGY3BJYlFBQWxJRkd5RUpKSlFZRW9LS0hWbFVjSzJJS0ZaMFZjUzJ1Z0t5RnNSZUZzSGVGd3NxeXJxb2k2S292QWtKNkxxdm5QZWZNM2UrZlBQUDMrNU03Z3dBbW4xY2lTUVgxUUlnVDF3Z2pROFBabzVQVFdPU25nRVVhQUlkNEFKTXVEeVpoQlVYRncyZ0RQVi9sM2MzQUtMb3J6b3FiUDF6L0wrS0RsOGc0d0dBVElRNGd5L2o1VUhjREFDK25pZVJGZ0JBVlBBVzB3b2tDandQWWwwcERCRGlDZ1hPVXVLZENweWh4RWNHZFJMajJSQzNBYUJHNVhLbFdRQm8zSU04czVDWEJlMW9mSUxZV2N3WGlRSFFIQVZ4QUUvSTVVT3NpSDFVWHQ1VUJhNkMyQmJxU3lDRzhRRHZqRzlzWnYzTmZzYXdmUzQzYXhncjh4b1V0UkNSVEpMTG5mRi9sdVovUzE2dWZNaUhOV3hVb1RRaVhwRS9yT0d0bktsUkNreUZ1RnVjRVJPcnFEWEVmU0src3U0QW9CU2hQQ0pKcVk4YThXUnNXRC9BZ05pWnp3MkpndGdJNGpCeGJreTBpcy9JRklWeElJYXJCWjB1S3VBa1Fxd1A4U0tCTERSQnBiTlpPalZlNVF1dHo1U3lXU3IrSEZjNjZGZmg2NEU4SjRtbHN2OUdLT0NvN0dNYVJjTEVGSWdwRUZzV2lwSmpJTmFBMkVtV2t4Q2wwaGxUSkdUSERPbEk1ZkdLK0MwaGpoZUl3NE9WOXJIQ1RHbFl2RXEvTEU4MmxDKzJXU2ppeEtqd2dRSmhZb1N5UHRncEhuY3dmcGdMMWlZUXM1S0c3QWhrNDZPSGN1RUxRa0tWdVdQUEJlS2tCSldkUGtsQmNMeHlMazZSNU1hcDlIRnpRVzY0Z2plSDJGMVdtS0NhaXljWHdNV3B0STluU2dyaUVwVng0a1haM01nNFpUejRjaEFOMkNBRU1JRWN0Z3d3RldRRFVXdDNRemY4cFJ3SkExd2dCVmxBQUJ4VnpOQ01sTUVSTVh3bWdDTHdCMFFDSUJ1ZUZ6dzRLZ0NGa1A4OHpDcWZqaUJ6Y0xSd2NFWU9lQXB4SG9nQ3VmQzNmSENXZU5oYk1uZ0NHZEUvdkhOaDQ4RjRjMkZUalA5N2Zvajl5ckFnRTYxaTVFTWVtWnBEbXNSUVlnZ3hnaGhHdE1NTjhRRGNENCtHenlEWVhIRnYzR2NvajYvNmhLZUVkc0lqd25WQ0IrSDJGRkd4OUxzb3g0SU9hRDlNVll1TWIydUJXME9iSG5ndzdnK3RROHM0QXpjRWpyZzc5TVBDQTZGbkQ4aXlWWEVycXNMOHp2YmZNdmptYmFqMHlNNWtsRHlDSEVTMi9YNm1ocjJHeDdBVlJhMi9yWTh5MW96aGVyT0hSNzczei82bStuellSMzJ2aVMzQ0RtSm5zUlBZZWV3STFnQ1kySEdzRWJ1RUhWWGc0ZFgxWkhCMURYbUxINHduQjlvUi9jTWZWK1ZUVVVtWmM1MXpsL01uNVZpQllIcUJZdU94cDBwbVNFVlp3Z0ltQzM0ZEJFeU9tT2MwaXVucTdPb0dnT0piby96N2Vzc1kvSVlnakF0ZnVmeG1BSHpLSUpuMWxlTmFBSEQ0S1FEMGQxODVpemR3Mnl3SDRHZ2JUeTR0VkhLNDRrR0EveEthY0tjWkFCTmdBV3hoUHE3QUUvaUJJQkFLSWtFc1NBU3BZREtzc2hDdWN5bVlCbWFCK2FBVWxJUGxZRFZZQnphQnJXQW4yQU1PZ0Fad0JKd0FaOEJGMEFhdWc3dHc5WFNDbDZBSHZBUDlDSUtRRUJwQ1J3d1FVOFFLY1VCY0VXOGtBQWxGb3BGNEpCVkpSN0lRTVNKSFppRUxrSEprSmJJTzJZTFVJajhqaDVFVHlIbWtIYm1OUEVTNmtEZklSeFJEcWFndWFveGFvNk5SYjVTRlJxR0o2Q1EwQzgxSGk5QVNkQ2xhaGRhZ3U5RjY5QVI2RWIyT2RxQXYwVjRNWU9vWUF6UERIREZ2akkzRlltbFlKaWJGNW1CbFdDVldnKzNGbXVCN3ZvcDFZTjNZQjV5STAzRW03Z2hYY0FTZWhQUHdmSHdPdmdSZmgrL0U2L0ZUK0ZYOElkNkRmeUhRQ0VZRUI0SXZnVU1ZVDhnaVRDT1VFaW9KMndtSENLZmhYdW9rdkNNU2lReWlEZEVMN3NWVVlqWnhKbkVKY1FOeEg3R1oyRTU4VE93bGtVZ0dKQWVTUHltV3hDVVZrRXBKYTBtN1NjZEpWMGlkcEQ0MWRUVlROVmUxTUxVME5iRmFzVnFsMmk2MVkycFgxSjZwOVpPMXlGWmtYM0lzbVUrZVFWNUcza1p1SWw4bWQ1TDdLZG9VRzRvL0paR1NUWmxQcWFMc3BaeW0zS084VlZkWE4xZjNVUituTGxLZnAxNmx2bC85blBwRDlROVVIYW85bFUyZFNKVlRsMUozVUp1cHQ2bHZhVFNhTlMySWxrWXJvQzJsMWRKTzBoN1EralRvR2s0YUhBMit4bHlOYW8xNmpTc2FyelRKbWxhYUxNM0pta1dhbFpvSE5TOXJkbXVSdGF5MTJGcGNyVGxhMVZxSHRXNXE5V3JUdFYyMFk3WHp0SmRvNzlJK3IvMWNoNlJqclJPcXc5Y3AwZG1xYzFMbk1SMmpXOURaZEI1OUFYMGIvVFM5VTVlb2E2UEwwYzNXTGRmZG85dXEyNk9ubytldWw2dzNYYTlhNzZoZUJ3TmpXRE00akZ6R01zWUJ4ZzNHeHhIR0kxZ2pCQ01XajlnNzRzcUk5L29qOVlQMEJmcGwrdnYwcit0L05HQWFoQnJrR0t3d2FEQzRiNGdiMmh1T001eG11Tkh3dEdIM1NOMlJmaU41STh0R0hoaDV4d2cxc2plS041cHB0Tlhva2xHdnNZbHh1TEhFZUszeFNlTnVFNFpKa0VtMlNZWEpNWk11VTdwcGdLbkl0TUwwdU9rTHBoNlR4Y3hsVmpGUE1Ydk1qTXdpek9SbVc4eGF6ZnJOYmN5VHpJdk45NW5mdDZCWWVGdGtXbFJZdEZqMFdKcGFqcldjWlZsbmVjZUtiT1Z0SmJSYVkzWFc2cjIxalhXSzlVTHJCdXZuTnZvMkhKc2ltenFiZTdZMDIwRGJmTnNhMjJ0MlJEdHZ1eHk3RFhadDlxaTloNzNRdnRyK3NnUHE0T2tnY3RqZzBENktNTXBubEhoVXphaWJqbFJIbG1PaFk1M2pReWVHVTdSVHNWT0QwNnZSbHFQVFJxOFlmWGIwRjJjUDUxem5iYzUzWFhSY0lsMktYWnBjM3JqYXUvSmNxMTJ2dWRIY3d0em11alc2dlhaM2NCZTRiM1MvNVVIM0dPdXgwS1BGNDdPbmw2ZlVjNjlubDVlbFY3clhlcStiM3JyZWNkNUx2TS81RUh5Q2ZlYjZIUEg1NE92cFcrQjd3UGRQUDBlL0hMOWRmcy9IMkl3UmpOazI1ckcvdVQvWGY0dC9Sd0F6SUQxZ2MwQkhvRmtnTjdBbThGR1FSUkEvYUh2UU01WWRLNXUxbS9VcTJEbFlHbndvK0QzYmx6MmIzUnlDaFlTSGxJVzBodXFFSm9XdUMzMFFaaDZXRlZZWDFoUHVFVDR6dkRtQ0VCRVZzU0xpSnNlWXcrUFVjbm9pdlNKblI1Nktva1lsUksyTGVoUnRIeTJOYmhxTGpvMGN1MnJzdlJpckdIRk1ReXlJNWNTdWlyMGZaeE9YSC9mck9PSzR1SEhWNDU3R3U4VFBpaitiUUUrWWtyQXI0VjFpY09LeXhMdEp0a255cEpaa3plU0p5YlhKNzFOQ1VsYW1kSXdmUFg3MitJdXBocW1pMU1ZMFVscHkydmEwM2dtaEUxWlA2SnpvTWJGMDRvMUpOcE9tVHpvLzJYQnk3dVNqVXpTbmNLY2NUQ2VrcDZUdlN2L0VqZVhXY0hzek9CbnJNM3A0Yk40YTNrdCtFTCtDM3lYd0Y2d1VQTXYwejF5WitUekxQMnRWVnBjd1VGZ3A3QmF4UmV0RXI3TWpzamRsdjgrSnpkbVJNNUNia3JzdlR5MHZQZSt3V0VlY0l6NDExV1RxOUtudEVnZEpxYVFqM3pkL2RYNlBORXE2WFliSUpza2FDM1Rob2Y2UzNGYitnL3hoWVVCaGRXSGZ0T1JwQjZkclR4ZFB2elREZnNiaUdjK0t3b3ArbW9uUDVNMXNtV1UyYS82c2g3TlpzN2ZNUWVaa3pHbVphekczWkc3bnZQQjVPK2RUNXVmTS82M1l1WGhsOFY4TFVoWTBsUmlYekN0NS9FUDREM1dsR3FYUzBwc0wvUlp1V29RdkVpMXFYZXkyZU8zaUwyWDhzZ3ZsenVXVjVaK1c4SlpjK05IbHg2b2ZCNVptTG0xZDVybHM0M0xpY3ZIeUd5c0NWK3hjcWIyeWFPWGpWV05YMVZjd0s4b3EvbG85WmZYNVN2ZktUV3NvYStSck9xcWlxeHJYV3E1ZHZ2YlRPdUc2NjlYQjFmdldHNjFmdlA3OUJ2NkdLeHVETnU3ZFpMeXBmTlBIemFMTnQ3YUViNm12c2E2cDNFcmNXcmoxNmJia2JXZC84djZwZHJ2aDl2THRuM2VJZDNUc2pOOTVxdGFydG5hWDBhNWxkV2lkdks1cjk4VGRiWHRDOWpUdWRkeTdaUjlqWC9sK3NGKysvOFhQNlQvZk9CQjFvT1dnOThHOXYxajlzdjRRL1ZCWlBWSS9vNzZuUWRqUTBaamEySDQ0OG5CTGsxL1RvVitkZnQxeHhPeEk5Vkc5bzh1T1VZNlZIQnM0WG5TOHQxblMzSDBpNjhUamxpa3RkMCtPUDNudDFMaFRyYWVqVHA4N0UzYm01Rm5XMmVQbi9NOGRPZTk3L3ZBRjd3c05GejB2MWwveXVIVG9ONC9mRHJWNnR0WmY5cnJjMk9iVDF0UStwdjNZbGNBcko2NkdYRDF6alhQdDR2V1k2KzAza203Y3Vqbnhac2N0L3EzbnQzTnZ2NzVUZUtmLzdyeDdoSHRsOTdYdVZ6NHdlbER6dTkzdit6bzhPNDQrREhsNDZWSENvN3VQZVk5ZlBwRTkrZFJaOHBUMnRQS1o2YlBhNTY3UGozU0ZkYlc5bVBDaTg2WGtaWDkzNlIvYWY2eC9aZnZxbHorRC9yelVNNzZuODdYMDljQ2JKVzhOM3U3NHkvMnZsdDY0M2dmdjh0NzF2eS9yTStqYitjSDd3OW1QS1IrZjlVLzdSUHBVOWRudWM5T1hxQy8zQnZJR0JpUmNLWGZ3S0lEQmhtWm1BdkJtQndDMFZIaDJnUGMyeWdUbFhYQlFFT1g5ZFJDQi80U1Y5OFZCOFFSZ1J4QUFTZk1BaUlabmxJMndXVUZNaGIzaUNKOFlCRkEzdCtHbUVsbW1tNnZTRmhYZWhBaDlBd052alFFZ05RSHdXVG93MEw5aFlPRHpOaGpzYlFDYTg1VjNVSVVRNFoxaHM1TUN0WFUrS1FIZmlmSisrazJPMy9kQUVZRTcrTDcvRjBYemorWUtYR3BkQUFBQWltVllTV1pOVFFBcUFBQUFDQUFFQVJvQUJRQUFBQUVBQUFBK0FSc0FCUUFBQUFFQUFBQkdBU2dBQXdBQUFBRUFBZ0FBaDJrQUJBQUFBQUVBQUFCT0FBQUFBQUFBQUpBQUFBQUJBQUFBa0FBQUFBRUFBNUtHQUFjQUFBQVNBQUFBZUtBQ0FBUUFBQUFCQUFBRUZLQURBQVFBQUFBQkFBQUJSQUFBQUFCQlUwTkpTUUFBQUZOamNtVmxibk5vYjNTbTdVcElBQUFBQ1hCSVdYTUFBQllsQUFBV0pRRkpVaVR3QUFBQjEybFVXSFJZVFV3NlkyOXRMbUZrYjJKbExuaHRjQUFBQUFBQVBIZzZlRzF3YldWMFlTQjRiV3h1Y3pwNFBTSmhaRzlpWlRwdWN6cHRaWFJoTHlJZ2VEcDRiWEIwYXowaVdFMVFJRU52Y21VZ05pNHdMakFpUGdvZ0lDQThjbVJtT2xKRVJpQjRiV3h1Y3pweVpHWTlJbWgwZEhBNkx5OTNkM2N1ZHpNdWIzSm5MekU1T1Rrdk1ESXZNakl0Y21SbUxYTjViblJoZUMxdWN5TWlQZ29nSUNBZ0lDQThjbVJtT2tSbGMyTnlhWEIwYVc5dUlISmtaanBoWW05MWREMGlJZ29nSUNBZ0lDQWdJQ0FnSUNCNGJXeHVjenBsZUdsbVBTSm9kSFJ3T2k4dmJuTXVZV1J2WW1VdVkyOXRMMlY0YVdZdk1TNHdMeUkrQ2lBZ0lDQWdJQ0FnSUR4bGVHbG1PbEJwZUdWc1dVUnBiV1Z1YzJsdmJqNHpNalE4TDJWNGFXWTZVR2w0Wld4WlJHbHRaVzV6YVc5dVBnb2dJQ0FnSUNBZ0lDQThaWGhwWmpwUWFYaGxiRmhFYVcxbGJuTnBiMjQrTVRBME5Ed3ZaWGhwWmpwUWFYaGxiRmhFYVcxbGJuTnBiMjQrQ2lBZ0lDQWdJQ0FnSUR4bGVHbG1PbFZ6WlhKRGIyMXRaVzUwUGxOamNtVmxibk5vYjNROEwyVjRhV1k2VlhObGNrTnZiVzFsYm5RK0NpQWdJQ0FnSUR3dmNtUm1Pa1JsYzJOeWFYQjBhVzl1UGdvZ0lDQThMM0prWmpwU1JFWStDand2ZURwNGJYQnRaWFJoUGdxYVJlcHhBQUFBSEdsRVQxUUFBQUFDQUFBQUFBQUFBS0lBQUFBb0FBQUFvZ0FBQUtJQUFDRGFTQ21uTkFBQUlLWkpSRUZVZUFIczNYZWNGZVc5UC9BdnV3dWlJa1dLZ0ZJRUtSYWtHZXhHalRFUlc2S0ptbnZqTlphSUxVYVQ2RFhGeEo4My9WNmp4RmdTbzdFYkxKaVlpS0lZc1VTdjVXTFhXQkJVUUFRN3ZlenltMWxmdThJS1o4OGN6amx1ZWMvcmxldzVNMCtaNS8yTWY1d1BNOCswMlhLM2sxZUZqUUFCQWdRSUVDQkFnQUFCQWdRSUVDQ1FRYUNOUUNHRGxxSUVDQkFnUUlBQUFRSUVDQkFnUUlCQXJZQkF3WVZBZ0FBQkFnUUlFQ0JBZ0FBQkFnUUlaQllRS0dRbVU0RUFBUUlFQ0JBZ1FJQUFBUUlFQ0JBUUtMZ0dDQkFnUUlBQUFRSUVDQkFnUUlBQWdjd0NBb1hNWkNvUUlFQ0FBQUVDQkFnUUlFQ0FBQUVDQWdYWEFBRUNCQWdRSUVDQUFBRUNCQWdRSUpCWlFLQ1FtVXdGQWdRSUVDQkFnQUFCQWdRSUVDQkFRS0RnR2lCQWdBQUJBZ1FJRUNCQWdBQUJBZ1F5Q3dnVU1wT3BRSUFBQVFJRUNCQWdRSUFBQVFJRUNBZ1VYQU1FQ0JBZ1FJQUFBUUlFQ0JBZ1FJQkFaZ0dCUW1ZeUZRZ1FJRUNBQUFFQ0JBZ1FJRUNBQUFHQmdtdUFBQUVDQkFnUUlFQ0FBQUVDQkFnUXlDd2dVTWhNcGdJQkFnUUlFQ0JBZ0FBQkFnUUlFQ0FnVUhBTkVDQkFnQUFCQWdRSUVDQkFnQUFCQXBrRkJBcVp5VlFnUUlBQUFRSUVDQkFnUUlBQUFRSUVCQXF1QVFJRUNCQWdRSUFBQVFJRUNCQWdRQ0N6Z0VBaE01a0tCQWdRSUVDQUFBRUNCQWdRSUVDQWdFREJOVUNBQUFFQ0JBZ1FJRUNBQUFFQ0JBaGtGaEFvWkNaVGdRQUJBZ1FJRUNCQWdBQUJBZ1FJRUJBb3VBWUlFQ0JBZ0FBQkFnUUlFQ0JBZ0FDQnpBSUNoY3hrS2hBZ1FJQUFBUUlFQ0JBZ1FJQUFBUUlDQmRjQUFRSUVDQkFnUUlBQUFRSUVDQkFna0ZsQW9KQ1pUQVVDQkFnUUlFQ0FBQUVDQkFnUUlFQkFvT0FhSUVDQUFBRUNCQWdRSUVDQUFBRUNCRElMQ0JReWs2bEFnQUFCQWdRSUVDQkFnQUFCQWdRSUNCUmNBd1FJRUNCQWdBQUJBZ1FJRUNCQWdFQm1BWUZDWmpJVkNCQWdRSUFBQVFJRUNCQWdRSUFBQVlHQ2E0QUFBUUlFQ0JBZ1FJQUFBUUlFQ0JESUxDQlF5RXltQWdFQ0JBZ1FJRUNBQUFFQ0JBZ1FJQ0JRY0EwUUlFQ0FBQUVDQkFnUUlFQ0FBQUVDbVFVRUNwbkpWQ0JBZ0FBQkFnUUlFQ0JBZ0FBQkFnUUVDcTRCQWdRSUVDQkFnQUFCQWdRSUVDQkFJTE9BUUNFem1Rb0VDQkFnUUlBQUFRSUVDQkFnUUlDQVFNRTFRSUFBQVFJRUNCQWdRSUFBQVFJRUNHUVdFQ2hrSmxPQkFBRUNCQWdRSUVDQUFBRUNCQWdRRUNpNEJnZ1FJRUNBQUFFQ0JBZ1FJRUNBQUlITUFnS0Z6R1FxRUNCQWdBQUJBZ1FJRUNCQWdBQUJBZ0lGMXdBQkFnUUlFQ0JBZ0FBQkFnUUlFQ0NRV1VDZ2tKbE1CUUlFQ0JBZ1FJQUFBUUlFQ0JBZ1FFQ2c0Qm9nUUlBQUFRSUVDQkFnUUlBQUFRSUVNZ3NJRkRLVHFVQ0FBQUVDQkFnUUlFQ0FBQUVDQkFnSUZGd0RCQWdRSUVDQUFBRUNCQWdRSUVDQVFHWUJnVUptTWhVSUVDQkFnQUFCQWdRSUVDQkFnQUFCZ1lKcmdBQUJBZ1FJRUNCQWdBQUJBZ1FJRU1nc0lGRElUS1lDQVFJRUNCQWdRSUFBQVFJRUNCQWdJRkJ3RFJBZ1FJQUFBUUlFQ0JBZ1FJQUFBUUtaQlFRS21jbFVJRUNBQUFFQ0JBZ1FJRUNBQUFFQ0JBUUtyZ0VDQkFnUUlFQ0FBQUVDQkFnUUlFQWdzNEJBSVRPWkNnUUlFQ0JBZ0FBQkFnUUlFQ0JBZ0lCQXdUVkFnQUFCQWdRSUVDQkFnQUFCQWdRSVpCWVFLR1FtVTRFQUFRSUVDQkFnUUlBQUFRSUVDQkFRS0xnR0NCQWdRSUFBQVFJRUNCQWdRSUFBZ2N3Q0FvWE1aQ29RSUVDQUFBRUNCQWdRSUVDQUFBRUNBZ1hYQUFFQ0JBZ1FJRUNBQUFFQ0JBZ1FJSkJaUUtDUW1Vd0ZBZ1FJRUNCQWdBQUJBZ1FJRUNCQVFLRGdHaUJBZ0FBQkFnUUlFQ0JBZ0FBQkFnUXlDd2dVTXBPcFFJQUFBUUlFeWkvUW8zdm5HREs0VC9UZHZIdDA2OW9wTnRxb2ZiU3Rxb3cyYmRxVS8yU0syT09xVmFzaS9kK1NwY3ZqblhjL2pEZG16NCtYWHBrVnMrZThIZFhWTlVYc1NWTUVDQkFnUUlCQXNRVUVDc1VXMVI0QkFnUUlFQ2lTUU1kTk5vcTk5aGdSQjQzZE9iYnMxeXNKRCtvYWJyUGE1N3A5emZ0dmtpa2tXKzMvSlFGRHhKeTViOGZrS1kvSHBMc2VyUTBhbXZmb25EMEJBZ1FJRUdpWkFnS0Zsam12UmtXQUFBRUN6VlNnc3JJaU51L2RMZmJhZlVRYzhNVWRvM3UzenMxMEpNVTU3WVVMbDhSZC8vaS91SFBLWXpIejliZGkrZklWeFdsWUt3UUlFQ0JBZ01CNkN3Z1UxcHRRQXdRSUVDQkFvRGdDbTNiWkpIYlpjZHY0MGdHN3hsWURlaGVuMFJiU3lxemtFWWpiSno4UzkweWRGdlBtdjk5Q1JtVVlCQWdRSUVDZ2VRc0lGSnIzL0RsN0FnUUlFR2doQWdPMzdCMWYrZEllOGJuUGpveDI3YXBheUtpS080d1ZLMWJHWTlOZWpPdHZ1amVlZlg1R2NSdlhHZ0VDQkFnUUlKQlpRS0NRbVV3RkFnUUlFQ0JRUElGMFhZUWhnL3JFY1VlTmpSSERCa1pWc3RDaUxiZEF1bWpqbjY2ZEhQLzcyQXUxQ3pybUx1MG9BUUlFQ0JBZ1VDb0JnVUtwWkxWTGdBQUJBZ1R5RU9qZHEydWM5WjJ2eGJCdCtqZjdOemJrTWR5aUZFa1hiWHp0amJmaWdvdHVpU2VmbVY2VU5qVkNnQUFCQWdRSVpCY1FLR1EzVTRNQUFRSUVDQlJGWU9PTjI4ZjN2M05FN0xienNLSzAxOW9hU2NPRTgzOTNjeEl1ekd0dFF6ZGVBZ1FJRUNEUUpBUUVDazFpR3B3RUFRSUVDTFEyZ2JadEsrUG9yMzh4L3UycmU3ZTJvUmQxdk9sckpjZGZNakdXTGZQMmg2TENhb3dBQVFJRUNPUWhJRkRJQTBrUkFnUUlFQ0JRYklIZGR4a1daNS81NzhrQ2pHMExibnBWZXU5L0tiWmtZWWRrYVljMXR0cWVTdFZmMGx1NmxrUWhXN3BRNC9uSm93OXBzR0FqUUlBQUFRSUV5aXNnVUNpdnQ5NElFQ0JBZ0VDa3I0ZjhyeDhkSGR0dTNTOXZqVFE4ZVB1ZEQrS1J4MStNNS84MXMvYlZpVFUxTlhuWHo3ZGdodzRieGNINzd4S2pSd3lxcjdKeVpYVk1mZkNwbUpTOHRyRVVXNXNrVGVpU21Bd2QzRGZHakI0U1cvVHVIaFVWK1NjTTc3ejdZWnh3K3ZpWTczV1NwWmdlYlJJZ1FJQUFnWFVLQ0JUV1NlTUFBUUlFQ0JBb2pVRDZnLzM0Yit3ZjZSb0srVzZ6WnMrUEg1eDdSY3g5NjkxWXViSW1TaEVtcE9mU3BYT0hPUG40ZzJPZlBVZlZuMXA2RjhDTnQ5NFhsMTA1cVg1ZnNUK2tBVUpsWldVTUh6WWdUaDMzNWVqYnAwZW1McTYvOFo3NFF3blBMOVBKS0V5QUFBRUNCRnFKZ0VDaGxVeTBZUklnUUlCQTB4RG8xSEhqK00vVGo0aGRkdHdtMHdtbFArb24zL040L1BIcU8rTDk5eGRtcXB1bDhLY1ZLS1NQUEd6WnIxZWNrb1FabzFhN095TGZjMzhqQ1Z4T1ArdVMycnM0OHEyakhBRUNCQWdRSUxCK0FnS0Y5Zk5UbXdBQkFnUUlaQklZUFhKd2ZPZmtRMlB6M3QweTFVc0xMMTI2UEc1UEhqdTRMdm5YK0hmZlc1QzVmajRWT25iY0tFNDQ1b0FZdSsrTzljV1hMVnVlOVBtUHVQcUd1K3YzRmZ0RC83NDlrenNqRG9yUGpCcFNVTk1MRml5T2l5NjdMZTZjOGxoQjlWVWlRSUFBQVFJRXNnc0lGTEticVVHQUFBRUNCQW9TcUtpb2lFTU8zRFhHSlQvWTI3YXR5dGxHM1lLTDZmb0NxMjlMbGl5THE1SWY5amZkZW45VVYxZXZmcWdvbjlQek9uQy9uZUs0bzhiR1JodHVVTnZtdkdSdGdsK1BueENQVDN1cEtIMDBiQ1R0SjExVFl2VElqOWR0cUN1VDNwbXhmUG1LNVBHUURldDJyZlZ2ZFhWTmJkankyMHR2VFI0SktiN0xXanUxa3dBQkFnUUl0SElCZ1VJcnZ3QU1ud0FCQWdUS0o3QkpzdURoTjQ4ZUd3ZnR0M1BPVHRNdzRabm5ac1NIeWIrNjc3akQwRStFRHk5UG54WGZPdU9pMmpzV2NqWlU0TUZ1WFR2RlFXTjNqajJTTjFFc1QzN1FUN3p0d2JqM2dTZEw5bXJHa2R0dkZiLzV4UW5KbXg3V0RFL1NrT0RhRzZkRStwakl3V04zK2NUeGhzTjcvSW1YNHRjWFRLaGRzTExoTWQ4SkVDQkFnQUNCNGdzSUZJcHZxa1VDQkFnUUlMQldnYzE2ZEludmZ1c3J5WnNNaHE3MWVOM09oWXVXeE9YSldnbjMvL09acFB4WFkrY3hXNi94WTNybTYyL0ZpYWRkRUV1U1J5Qkt0YVd2czJ5L1FkdEl3NDNGeVYwUjZZLzdVbTFqa3REazErZCtjNDNtMHpkVVhuVFpYK08yU1EvRnFPR0Q0dlRrTVpIVUw5ZjJ5cXR6NHJ3TGI0b1hYbnc5VnpISENCQWdRSUFBZ1NJSkNCU0tCS2taQWdRSUVDRFFtRUQvdnB2RjJXZCtQUVlPNkoyejZKdHozNG16ZjNaVnZESjlkblRvc0dIODF3Ky9FVnNQN1JkdHF5cVNPd2FxNDlvSlUyTEN6Vk5qWlFrZWVjaDVZaVU2bUQ1bWNkRnZ2aFg5Ky9Tc2ZWM2swbVVyNHVycjc2cDlzMFRhWmU5ZTNlSjdwMzQxQ1JhMnlua0c2UnN3enIvb2x1VFZtdi9LV2M1QkFnUUlFQ0JBb0RnQ0FvWGlPR3FGQUFFQ0JBZzBLckRWZ00yVHRRS09pbDQ5dStZcysrck1OK09VNzE1WWUyZEFXbkREWkkyQnNWOFlFMzE2ZDQrWGs1RGgvbjgrSFFzV0xzblpSbk03bUQ1bXNYOHl4bzZiYkJ6VG5ubzVIcHYyWXJKMndzcmFZV3pZdmwyY2NkcmhzZmNlSTNJTzY3MzNGOFQ0aTIrTnFROCtsYk9jZ3dRSUVDQkFnRUJ4QkFRS3hYSFVDZ0VDQkFnUWFGUmc4RlpieE05L2NreWtQNTV6YlMrOU1pdkduWHArSkhmOWZ5cGJaV1ZGYk5wbGsramNxVU9raXlLK21mekwvN0xrcm9GUGEwdlhWamd6Q1JUMisveG5jcDVDdXViRStFc214ajFUbjhoWnprRUNCQWdRSUVDZ09BSUNoZUk0YW9VQUFRSUVDRFFxTUdSUW4vakZPY2ZXL2xqUFZmakZsNU5BNGR2bjV5cFNzbU5kdTNhc1hRQngyTFpiUm9ma3pRcnAyZ216MzN3NzdyejdzZG83QjBxNWxrS3VRYVdCd3RoOXgrUXFFdW1ySTlPM1BOeDk3N1NjNVJ3a1FJQUFBUUlFaWlNZ1VDaU9vMVlJRUNCQWdFQ2pBazA5VU5oZ2czYngweDk5STRZUEd4RHBvb3gxVzAzTnFwZzc3OTM0d3hXM3gvMFBQUk0xTmFWYm9MR3V6NFovOHdvVUZpYUJ3aVVDaFlaMnZoTWdRSUFBZ1ZJSkNCUktKYXRkQWdRSUVDRFFRS0NwQndvbkhuZGdISDdJbmczTyt1T3YvM3JwamZqcGYxOFhzMmJQLzNobm1UNEpGTW9FclJzQ0JBZ1FJSkJCUUtDUUFVdFJBZ1FJRUNDd1BnSk5PVkJJM3laeDh6VS9UbDRWMlc2ZFEweGZJWG51cjY2TnFRODhWZnM2eVhVV0xNRUJnVUlKVURWSmdBQUJBZ1RXVTBDZ3NKNkFxaE1nUUlBQWdYd0ZtbktnTUhSd243ajBndE1hSGNyVk45d2RWMTQzT1huc29ieExSZ29VR3AwYUJRZ1FJRUNBUU5rRkJBcGxKOWNoQVFJRUNMUldnYVljS0F3Zk5qREcvK3FrUnFkbXdzU3A4ZnRrTFlWeXI2TWdVR2gwYWhRZ1FJQUFBUUpsRnhBb2xKMWNod1FJRUNEUVdnV2FjcUF3SWdrVUxoQW90TlpMMDdnSkVDQkFnRUJCQWdLRmd0aFVJa0NBQUFFQzJRVUVDdG5ONm1xNFE2Rk93bDhDQkFnUUlOQjBCQVFLVFdjdW5Ba0JBZ1FJdEhBQmdVTGhFeXhRS054T1RRSUVDQkFnVUNvQmdVS3BaTFZMZ0FBQkFnUWFDQWdVR29CaytDcFF5SUNsS0FFQ0JBZ1FLSk9BUUtGTTBMb2hRSUFBQVFJQ2hjS3ZBWUZDNFhacUVpQkFnQUNCVWdrSUZFb2xxMTBDQkFnUUlOQkFRS0RRQUNURFY0RkNCaXhGQ1JBZ1FJQkFtUVFFQ21XQzFnMEJBZ1FJRUJBb0ZINE5DQlFLdDFPVEFBRUNCQWlVU2tDZ1VDcFo3UklnUUlBQWdRWUNBb1VHSUJtK0NoUXlZQ2xLZ0FBQkFnVEtKQ0JRS0JPMGJnZ1FJRUNBZ0VDaDhHdEFvRkM0blpvRUNCQWdRS0JVQWdLRlVzbHFsd0FCQWdRSU5CQVFLRFFBeWZCVm9KQUJTMUVDQkFnUUlGQW1BWUZDbWFCMVE0QUFBUUlFQkFxRlh3TUNoY0x0MUNSQWdBQUJBcVVTRUNpVVNsYTdCQWdRSUVDZ2dZQkFvUUZJaHE4Q2hReFlpaElnUUlBQWdUSUpDQlRLQkswYkFnUUlFQ0FnVUNqOEdoQW9GRzZuSmdFQ0JBZ1FLSldBUUtGVXN0b2xRSUFBQVFJTkJBUUtEVUF5ZkJVb1pNQlNsQUFCQWdRSWxFbEFvRkFtYU4wUUlFQ0FBQUdCUXVIWGdFQ2hjRHMxQ1JBZ1FJQkFxUVFFQ3FXUzFTNEJBZ1FJRUdnZ2tHK2dNSDNHbkRqalI1ZlYxMTZ5ZEZrc1diS3MvbnNwUG93WU5qQXUrTlZKalRZOVllTFUrUDBWdDBkTlRVMmpaUXN0MEtaTm05aGtrdzJqcXJLcXZvbFRqajhvOXY3c3lQcnZhL3V3WU9IaStPMGx0OGJkOTA1YjIySDdDQkFnUUlBQWdTSUxDQlNLREtvNUFnUUlFQ0N3TG9GOEE0VlZxMWJGaWhYVjljMmszeWZmODNqOC9rOS9qMFdMbHRidkwrYUhmQU9GT1crK0U5OC81L0o0N1kyM2l0bDlmVnY5KzI0VzQ0NDVNRVp1UHpBcUtpcnE5MWRWVmF6eHZmN0FhaDhFQ3F0aCtFaUFBQUVDQk1vZ0lGQW9BN0l1Q0JBZ1FJQkFLcEJ2b0xBMnJlVXJWc2JOZjdrLy9ualZIU1c1T3lEZlFDRTl0L1J1aWZNdXZEa2VldVM1V0Z6RU95ZTZkTzRRSng1M1VPeTc5K2kxRVRTNlQ2RFFLSkVDQkFnUUlFQ2dxQUlDaGFKeWFvd0FBUUlFQ0t4YllIMENoYlRWOUFmOEwzN3o1MWl3WVBHNk95bnd5RFpEK3NYRjU1K2FkKzFGaTVmR3hOc2VqTC9mOGI4eDcrMzNJNzJMWW4yMzlPNkVINTd4N3pGbzRPWUZOU1ZRS0loTkpRSUVDQkFnVUxDQVFLRmdPaFVKRUNCQWdFQTJnZlVKRkZhdXJJNi8zL2xJWFB6SHY4Ynk1U3V6ZFp4SDZjNmRPc1JOVjU4ZGJkdCt2RzVCWTlYU3V4UFNrT1A2bS80Uk0yYk9YZTlRb1h1M3puSGFTVitPWFhmYXJyR3UxM3Bjb0xCV0Zqc0pFQ0JBZ0VESkJBUUtKYVBWTUFFQ0JBZ1FXRk9nMEVBaC9jZi85SWY3WlZkTmlwbXZ6VjJ6MFNKOVM5WkJqSi8rK05qWWRjZHRNcldZQmgydnZEbzdMcjM4Ny9Ia005TXoxVzFZdUxLeUlrWU5IeFRISHZuRkdEeW9UN0ptUW5KU0dUYUJRZ1lzUlFrUUlFQ0FRQkVFQkFwRlFOUUVBUUlFQ0JESVJ5RGZRR0htNjIvRnViKzhwcjdKZENIRzl6OWNtTnlac0NLNUM2QitkOUUvcEhjSXBJODlkTy9hS1ZQYjZUa3RYYlk4THJyc3Ryajlqb2RqZlU0eERSSGFiOUF1dW5idEdHMnJQcjViNHBna1pOaHQ1OXgzTGdnVU1rMmJ3Z1FJRUNCQVlMMEZCQXJyVGFnQkFnUUlFQ0NRbjBDK2djS0xMOCtLY2Q4K1A3OUdpMWdxdlV0aHhQWmJKWThkSEJwYjlPNFc2UjBEV2JabHkxYkVyWDk3TVA1OHk5VDQ0TU5GNi8wSXhPcDluM25hNFRGMjN6R3I3L3JFWjRIQ0owanNJRUNBQUFFQ0pSVVFLSlNVVitNRUNCQWdRT0JqZ2FZZUtLUm5tdDRoc00zUWZ2SDF3L2VKVVNNR1Jic01heXFrOVpjbGQxSGM5K0RUTVNFSkZWNmQrV2JSUWdXQlFxcHJJMENBQUFFQ1RVdEFvTkMwNXNQWkVDQkFnRUFMRm1nT2dVSWRmOTh0ZXNTWER0ZzFEaHk3MHhxUEh0UWR6L1czdXFZbW5ubjIxYmdoQ1JVZWVleUZYRVh6UGlaUXlKdEtRUUlFQ0JBZ1VEWUJnVUxacUhWRWdBQUJBcTFkb0RrRkN1bGNkZXk0Y2V5K3kzYnh6YVAyajg2ZE5zNDhmWFBtdmxQN0NNUmYvdlpRckZpNWZtK21FQ2hrNWxlQkFBRUNCQWlVWEVDZ1VISmlIUkFnUUlBQWdZOEVtbHVna0o1MXVvN0NzRzBIeE9rbkh4TDkrbXlXZVNyVFYwdE9udkpZWEhIdDVGaXdZSEhtK25VVkJBcDFFdjRTSUVDQUFJR21JeUJRYURwejRVd0lFQ0JBb0lVTE5NZEFvVzVLdGhyUU8wNDg5c0FZUG14Z1ZGVlYxdTNPNjI5MWRVMU1mZkNwdU96S1NmSFdXKzhXOUJZSWdVSmUxQW9SSUVDQUFJR3lDZ2dVeXNxdE13SUVDQkJvelFMTk9WQkk1NjFYejY3SllvMmZpNzMyR0JFYmJiaEJwcWxjbGJ4YjhyWkpEOGVsbC84dGxpeGRucWx1V2xpZ2tKbE1CUUlFQ0JBZ1VISUJnVUxKaVhWQWdBQUJBZ1ErRW1qdWdVSTZpazA2YkppOHZuSEhPT1NnM1dLekhsMHlUZTJpeFV2ajlMTXVpWmRlbVpXcFhscFlvSkNaVEFVQ0JBZ1FJRkJ5QVlGQ3lZbDFRSUFBQVFJRVBoSm9DWUZDT3BMS3lzclljWWNoY2VRUm40K3RoL1ROTkwyL3ZmVFdtSGpiZzVucXBJVUZDcG5KVkNCQWdBQUJBaVVYRUNpVW5GZ0hCQWdRSUVEZ0k0R1dFaWlrbzZtb3FJZ3QrL1dNYjM1amJJd1pQYVQyZXo3emZQblZkOFkxZjc0N242SnJsQkVvck1IaEN3RUNCQWdRYUJJQ0FvVW1NUTFPZ2dBQkFnUmFnMEJMQ2hUcTVxdHpwdzV4MG5FSHhwNjdENDkyN2RyVzdWN3IzM1FkaFhOK2NYWGM5K0RUYXoyZWE2ZEFJWmVPWXdRSUVDQkE0Tk1SRUNoOE91NTZKVUNBQUlGV0tOQVNBNFYwR3RNZzRZaEQ5NHdEdnJoVDlPamVlWjB6TzJQbTNQak9EeStOOTk1YnNNNHk2em9nVUZpWGpQMEVDQkFnUU9EVEV4QW9mSHIyZWlaQWdBQ0JWaWJRVWdPRnVtbjg3RzdieDJHSDdCbGJEKzd6aVVjZzVzeDlKNjY0NXM2WStzQlRzWEpsZFYyVnZQOEtGUEttVXBBQUFRSUVDSlJOUUtCUU5tb2RFU0JBZ0VCckYyanBnVUpsWlVVTUhOQTc5dGx6Vk95MHc5YlJvMGZuV0xod1NUejkzSXlZY3UrMGVPS3Bsd3Q2WldSNjNRZ1VXdnQvUGNaUGdBQUJBazFSUUtEUUZHZkZPUkVnUUlCQWl4Um82WUZDT21sdDJyU0o5dTNiUlllTjIwZmJ0bFZSWFYwVGk1Y3NpMFdMbGtaTlRVM0I4eXBRS0poT1JRSUVDQkFnVURJQmdVTEphRFZNZ0FBQkFnVFdGR2dOZ2NLYUl5N2VONEZDOFN5MVJJQUFBUUlFaWlVZ1VDaVdwSFlJRUNCQWdFQWpBZ0tGUm9CeUhCWW81TUJ4aUFBQkFnUUlmRW9DQW9WUENWNjNCQWdRSU5ENkJBUUtoYys1UUtGd096VUpFQ0JBZ0VDcEJBUUtwWkxWTGdFQ0JBZ1FhQ0FnVUdnQWt1R3JRQ0VEbHFJRUNCQWdRS0JNQWdLRk1rSHJoZ0FCQWdRSUNCUUt2d1lFQ29YYnFVbUFBQUVDQkVvbElGQW9sYXgyQ1JBZ1FJQkFBd0dCUWdPUURGOEZDaG13RkNWQWdBQUJBbVVTRUNpVUNWbzNCQWdRSUVBZ0RSUisvcE5qb3V1bUhYTml2UFRLckRqKzFQTnpsbWx0Qi8vejlNTmp2OCtQeVRuc0JRc1d4L2hMYm8wcFU2ZmxMT2NnQVFJRUNCQWdVQndCZ1VKeEhMVkNnQUFCQWdRYUZSaTgxUmJ4MDdPUGpoN2RPK2NzTzMzR25Eang5UEd4ZlBuS25PVmF5OEYyYmFzaXZVTmhuNzFHNVJ6eSt4OHNqUEVYVDR4N0gzZ3FaemtIQ1JBZ1FJQUFnZUlJQ0JTSzQ2Z1ZBZ1FJRUNEUXFNQ1cvWHZGT1djZEdmMzZicGF6N0t3NTgrT3NuMXdlczJiUHJ5M1hxZVBHOFlWOWRvaWVQYnJFYTIvTWk2bkpEK1lQUGx5VXM0M21kbkR6WHQzaTgzdVBqZzRidDQvbi92VmFQUFRJYzdGczJZcmFZWFR2MWltK2QrcGhzZU1PUTNNT2E5Nzg5K0w4aXliR3c0OCtuN09jZ3dRSUVDQkFnRUJ4QkFRS3hYSFVDZ0VDQkFnUWFGU2dkNit1dGYvU1BtTFl3SnhsMDM5cHYvRDNmNGw3cGo0UlhicHNFai80N3RkaTI2MzdSL3NOMnNiaXhjdGl3c1Q3NG9hYi94RXJWMWJuYktlNUhHemZ2bDFjOE11VFlzditQYU9xc2pJK1RCNWRtSGpiQTNITm42ZlVEbUg3N1FiRWQwLzVTcU5Cekl5WmI4WjV2N3M1bm4xK1puTVp1dk1rUUlBQUFRTE5Xa0NnMEt5bno4a1RJRUNBUUhNUzZOeTVRNXg0M0VIeGhlUmY0bk50cTFhdGlqdW5QQlpYWG5kWG5KSDh5L3pva1lPaVRaczI5VlZlbnpVdnhwMTZRU3hadXF4K1gzUCtzTk9ZYmVLWDV4ejdpU0g4NmRySmNlMkVLWEhvd2J2SHVLTVBpTXJLaWsrVVdYM0hrODlNai84ZWYyUE1udlAyNnJ0OUprQ0FBQUVDQkVva0lGQW9FYXhtQ1JBZ1FJQkFRNEdxcXNvNDR0Qzk0cGdqdnhBVkZibC9ITC85emdleEtMa2JZZlBlWFd2LzFYNzF0bDZaUGp0T09lTjNzWFRwOHRWM0YrMXp1bWprVjcrOFIreWJCQjlMazhjT3JybGhTdHh6MzdTU3Jla3djdmlnT08vbjQ2Sml0ZEFrSFV4TlRVMXRzREtnZis4WU9yaFB6dkdsSWN6ZDkwNkwvL250alNVN3o1d240Q0FCQWdRSUVHaUZBZ0tGVmpqcGhreUFBQUVDbjU3QWJqdHZGNmVkZEVoMDY5cXBvSk5ZdEhocDdhTUFOOTk2ZjZ5c0x2NGpEMjJUME9QZy9YZUo0NDRhRyttakNPazIvKzMzNDFmblQ0akhuM2lwb0hOdXJGTGF6ODkrZkhTTUdqNDR1Uk9qc2RKclA1NjZYSEgxblhGTDhxaUVqUUFCQWdRSUVDaVBnRUNoUE01NklVQ0FBQUVDdFFJOU45czB6dnoyWVRGcXhLRE1Jb3VUSDgxMzNQVllYSGZUUGZIdWV3c3kxOCtuUXNka0FjZ1RqamtneHU3NzhTc2EwenNocnAxd1QrM2pCL20wVVVpWi9uMTd4Z25ISGxDNzhPTHFqM2ZrMjlhY3VlL0VELzdmRlRIenRibjVWbEdPQUFFQ0JBZ1FXRThCZ2NKNkFxcE9nQUFCQWdTeUNLU1BPaHg1K09maWE0ZnRuU3l5K05FZEFQblVUMThoK2RHNkNwTkxGaWFrNTlFbFdlZmg1T01Qam4zMi9QZ1ZqV25mRXlaT2pjdXZ2aU9mVXkyb1RCb2lERWplZ25IODBmdkhtTkZETTkrcE1PbXVSK0s4QzIrTzZ1cWFndnBYaVFBQkFnUUlFTWd1SUZESWJxWUdBUUlFQ0JCWUw0SGVQYnZHLy94c1hLUnZmY2gzUzljSVNGOGplY2VVeCtQUngxK0kxMmZOVDlZSytPaTFpdm0ya1UrNXRRWUtLNUpBNFpiU0JRcFZiU3VqVjQ5TlkyUnkxOForeWVzeGh3enFtNnd4a2YrekR6V0p6VkhqZmgxdkpJdFYyZ2dRSUVDQUFJSHlDUWdVeW1ldEp3SUVDQkFnVUM5dzJDRjdKbzhXN04vbzRvejFGWHhZcTBDNmNPTjFOOTBibDE4MWFhM0g3U1JBZ0FBQkFnUktKeUJRS0oydGxna1FJRUNBd0RvRjBvVUl6L24rZjhST245bDZuV1VjYUZ6Z3lhZW54dy9QdlNKNUk4YlN4Z3NyUVlBQUFRSUVDQlJWUUtCUVZFNk5FU0JBZ0FDQi9BWDZiTjQ5ZnZDOWY0dXRoL1ROdjVLUzlRSXprZ1VZeDE4OE1aNThabnI5UGg4SUVDQkFnQUNCOGdrSUZNcG5yU2NDQkFnUUlMQ0dRUHFLeEpIREI4VzNUL2h5OU91NzJSckhmTWt0OE5iODkrS1BWOTBSVXg5NEtsWWthenpZQ0JBZ1FJQUFnZklMQ0JUS2I2NUhBZ1FJRUNCUUw1Qys5V0hISFliR0tlTytGSnRuV0tTeHZvRlcrT0dERHhmRkg2NmNGSGZlL2FpM09yVEMrVGRrQWdRSUVHZzZBZ0tGcGpNWHpvUUFBUUlFV3JIQTZPUU5CeWNjZTJBTTNMS1hoUnJYY1IzVTFLeUtkOTc5TUM2NjdLKzFkeWFzbzVqZEJBZ1FJRUNBUUprRUJBcGxndFlOQVFJRUNCQm9US0J2bng1eDVCSDcxRDRHMFczVGpvMFZiMVhIMy85Z1lUejk3SXk0NnZxN1l2cU1PYTFxN0FaTGdBQUJBZ1NhcW9CQW9hbk9qUE1pUUlBQWdWWXBzTUVHYldPM25iYUxQWGJkUGtadVB6QTZkdHk0VlRyVURYckowdVZKa0RBOTd2L25NL0hndzg5RytyaURqUUFCQWdRSUVHZ2FBZ0tGcGpFUHpvSUFBUUlFQ05RTFZGUzBpVTI3ZEl5dEJ2U096NHdlR2pzbGF5eHMzcnRiL2ZIVzhHRmVzdWppNDArOEhBOC8rbnk4TW4xMnpIdjdnMlM5aE9yV01IUmpKRUNBQUFFQ3pVWkFvTkJzcHNxSkVpQkFnRUJyRTJpVHZBYWlYZHVxYUpmY3RaQXUyRGhzMndFeG9IL1A2TmxqMCtqUW9YMVVWVlpGK3FhSTVyNnRUSUtDeFl1WFJmcm1oaGt6NThhekw4eU0xMmZOaTZWTGxzZXk1U3RpMWFwVnpYMkl6cDhBQVFJRUNMUklBWUZDaTV4V2d5SkFnQUFCQWdRSUVDQkFnQUFCQXFVVkVDaVUxbGZyQkFnUUlFQ0FBQUVDQkFnUUlFQ2dSUW9JRkZya3RCb1VBUUlFQ0JBZ1FJQUFBUUlFQ0JBb3JZQkFvYlMrV2lkQWdBQUJBZ1FJRUNCQWdBQUJBaTFTUUtEUUlxZlZvQWdRSUVDQUFBRUNCQWdRSUVDQVFHa0ZCQXFsOWRVNkFRSUVDQkFnUUlBQUFRSUVDQkJva1FJQ2hSWTVyUVpGZ0FBQkFnUUlFQ0JBZ0FBQkFnUktLeUJRS0sydjFna1FJRUNBQUFFQ0JBZ1FJRUNBUUlzVUVDaTB5R2sxS0FJRUNCQWdRSUFBQVFJRUNCQWdVRm9CZ1VKcGZiVk9nQUFCQWdRSUVDQkFnQUFCQWdSYXBJQkFvVVZPcTBFUklFQ0FBQUVDQkFnUUlFQ0FBSUhTQ2dnVVN1dXJkUUlFQ0JBZ1FJQUFBUUlFQ0JBZzBDSUZCQW90Y2xvTmlnQUJBZ1FJRUNCQWdBQUJBZ1FJbEZaQW9GQmFYNjBUSUVDQUFBRUNCQWdRSUVDQUFJRVdLU0JRYUpIVGFsQUVDQkFnUUlBQUFRSUVDQkFnUUtDMEFnS0YwdnBxblFBQkFnUUlFQ0JBZ0FBQkFnUUl0RWlCL3c4QUFQLy85bitUL1FBQVFBQkpSRUZVN1owSG5GWEYyZjhmdHNBV1dKYWxMQjJXamdVUUMySUVlMVNJTWZiWW9sR2pKbW8wbW1wOEU5L1hrcUxtbjVqWUZWdnN2WGVNUXJERmppSzlMaXhsS1F0YjJNWi81bTR1YkRuMzdzeTU1NXg3N3QzdmZENnc5ODU1WnM2Yzc4dzVkK1ozbnBucFZITGdSVHVFQUFFSVFBQUNFSUFBQkNBQUFRaEFBQUlRZ0FBRUxBaDBRbEN3b0lVcEJDQUFBUWhBQUFJUWdBQUVJQUFCQ0VBQUFoRUNDQW8wQkFoQUFBSVFnQUFFSUFBQkNFQUFBaENBQUFTc0NTQW9XQ01qQVFRZ0FBRUlRQUFDRUlBQUJDQUFBUWhBQUFJSUNyUUJDRUFBQWhDQUFBUWdBQUVJUUFBQ0VJQUFCS3dKSUNoWUl5TUJCQ0FBQVFoQUFBSVFnQUFFSUFBQkNFQUFBZ2dLdEFFSVFBQUNFSUFBQkNBQUFRaEFBQUlRZ0FBRXJBa2dLRmdqSXdFRUlBQUJDRUFBQWhDQUFBUWdBQUVJUUFBQ0NBcTBBUWhBQUFJUWdBQUVJQUFCQ0VBQUFoQ0FBQVNzQ1NBb1dDTWpBUVFnQUFFSVFBQUNFSUFBQkNBQUFRaEFBQUlJQ3JRQkNFQUFBaENBQUFRZ0FBRUlRQUFDRUlBQUJLd0pJQ2hZSXlNQkJDQUFBUWhBQUFJUWdBQUVJQUFCQ0VBQUFnZ0t0QUVJUUFBQ0VJQUFCQ0FBQVFoQUFBSVFnQUFFckFrZ0tGZ2pJd0VFSUFBQkNFQUFBaENBQUFRZ0FBRUlRQUFDQ0FxMEFRaEFBQUlRZ0FBRUlBQUJDRUFBQWhDQUFBU3NDU0FvV0NNakFRUWdBQUVJUUFBQ0VJQUFCQ0FBQVFoQUFBSUlDclFCQ0VBQUFoQ0FBQVFnQUFFSVFBQUNFSUFBQkt3SklDaFlJeU1CQkNBQUFRaEFBQUlRZ0FBRUlBQUJDRUFBQWdnS3RBRUlRQUFDRUlBQUJDQUFBUWhBQUFJUWdBQUVyQWtnS0Znakl3RUVJQUFCQ0VBQUFoQ0FBQVFnQUFFSVFBQUNDQXEwQVFoQUFBSVFnQUFFSUFBQkNFQUFBaENBQUFTc0NTQW9XQ01qQVFRZ0FBRUlRQUFDRUlBQUJDQUFBUWhBQUFJSUNyUUJDRUFBQWhDQUFBUWdBQUVJUUFBQ0VJQUFCS3dKSUNoWUl5TkJSeVNRM2FOQXNndTdTVjdKZ01qbForWjBrUzc5ZXUxRVViVzBOUEs1YmxPRjFHM2VLdEh2T3cxOC9KQ2p5cEZkV0xDelBEbjlla3RHVHVlbThxaXk2RExwc0gzTkJsVzJDcWxSZndrUVNHY0MrajdWOTZ1K2IzV0kzcmY2czc0UEdtcTJTNlA2cCs4RmZiOUc3eEY5M004UTV1ZUluOWNkVk42WnVUbVNOMnlBNUE0c2x1eWk3cEtWbit0NDZvYXFHcWt0M3l6VnBldWthdkVxYWFpdWNiUWowcGxBVnRlOHlEMlZvemgzN2xrb21mLzl2V2x1M1ZqZklMWHJOeXJPVzlUZlRWSzlza3dhYSt1YW0vQVpBaER3aUVCR2RwYmtEVlhQdmtGOXBYT3ZRc25xbHUrWXM3NEg5Yk92WnMxNnFWeTBVdXEzVmpyYUVRa0JXd0lwTHloa0ZlUkhmdEJzTDl4TGUvMWpXYit0eWpyTGdxNjVrcG1aS1p1MmJMTk82MmNDM1VHd0Rmb0JsVzZoMjloaDBuVzNZWkdPVTJjMVlMY04rb0c5ZGQ0UzJhYitlVG1JMTJKRzk0bGpWTGtHUnNxbXY5c0VQWmpTZ2tmVjBsV3k1Wk52SW9Ncm0vUWQwVlozb1BWZ3NGTldwcWVYcisrYitncCswQk9GcWtXMTdudU5iUnJrS0VITk50UXFvVTNmRTl1K1hoSzVaMjNUeDdQdnZwZTZWNGMxM2F1SlBFZTJmUHBOWU1KSHZPc0owN0dNenRuU1ZUMm44MGNNa3J6QnFpUGRzNGVyNHRXV2I1S3FGV1dSRHZhMnJ4ZExZMTI5cTN6U05aRVdhcnFwMzhMOGtZTWpBNWJzN3QxY1hXclZNdjI3VXhyaFhMVjh0YXM4d3BZbzN1RE5xYXoxcXI5WHUzR0wweUZmNC9Sdmx4NXNtb1lkalkxU3ZYeU5xWGxnZHZSUGQ2SHVPbXFvZEIwMVJIS0g5QlA5SXNsTnFLdllGcW5ueWlXclpPdmNSWWlyaGhEOTZ4TnVVWDNDY0kwSkRaRkl5Z3NLUFNhUGs3N1REeks5WGwvc1ZqLzlwaHFZelRQTys2d1RENVpMZjNpMEZDb3hSSWVLYmRWeTJ6OWZseG1QelpRNnBlb25PK1QwN3kwbFAvbStjVEYycURKL2MvV3R4dlpoTnRTRFJqMEFLRHBnZ25ycllqZFFqM2RkV2x6WU9PY3owWU1DdDBHL1plMCtjYXdVcW9HVGwwR0xIcnBzUVhwVmVGbCtQL0xLSFZTc09sLzlsT0xmWDNMVnY2dzg1emVkaVo2NzdLVjNaZE43bnllYVRZZE5yKy9WWG9kTkVqY0Q5VmpRdExpZ24rZUpET0QxYzZSbzh2akkvUnEyNTBpczYwNmxlTTIzdDZyMzdoUEcrRkxzelovT2t3MXZ2aTkxSVJQN2ZibllPSmxxb2E3WFlmdEx0ekVsY2F6Y0hhcFZubk9iLy9PVmJQcmdDK1V0Vk9zdWt4Q2s2dmU5UTZWd245Mk5TNkovYTllK1BNdlkzaXREZmMrTXVPSXM0K3kwMTg2QzYrNHl0Zy9LVUxmSmtvdE9OVDdkamdiVlAvMTlldlJQOVVWMzd0VWowai90UG42VVpIUnA4a1ExaG1GZ1dMbG9oYm9udi9SY1dEYzRkYWhOY2dmMmxWd2xXdXMrb2Y2WDZWT2ZjSzNxRTI1TTBUNGhnb0lIVGRoVVVKaTRSNG5jK05zZnlOQ0J6a3BpK2FhdDhxcy9QaVF6NTh6MW9GVHVzK2lJZ29MdTlQYzZkTC9JZzlvOXVmWlQ2c0hLbXFmZXRCcTg2NDVBOGJRcG9qMG0vQXlWeW1OaHpkTnZkZGkzb0YxVnA3bjdoTkhTZGZSUXljak85aFAxenJ6TFhucEhDUXBmN1B6T0J6TUMrbTFwSDNWUGVDa2t0RDZ6OXVUUm5mOE5NejlzZlNqbWQvMGM2WEhBZU04RnlkWW4xTStSZFdwUXNsVjVWSFNra0ptWDAvU2Mzbjk4SUplOWNjNm5zdUh0ajlSYnUrMkJuQzhzSjRrSU5vY3J3V2E4UDRKTjgrdHNySzJWOHRtS3M4Vjkxang5c2o4aktBUmJBeDFWVU1ncTZDcDl2M3V3TCtLZVV3M3FxVXBsejc4dGxZdFhPaDN1RUhHUlB1SDQvL1lKbFRkY0VHSHRpMHBRZUQ4MVh6SWhLSGpRUWt3RmhkY2Z2RXBHREkzdmNxWkZoY25IWHlYMVNmUlU2R2lDZ243ejMrK0V3MzBkbkxSdVpucndYdnJReSsxT055aFNnNVBpYVZOYkovZnR1eDVFYlpqNWdScElwZVlEelEwWUxTRDBQbUt5NVBUZHRTYUdtM3pjcE1GRHdZNmFIdWowTy80d3lWZlRmWUlLZXZCZSt0Qkw3VTViMGgzZEFhZFBEL1E1b3IyTHRFQ3A3OXQwRDcwTzJWZDZUcGtvR1oyOWZ5c1hqMTNrbWZpdmoyU2pHdlNtZTlDQ1dPOGo5cGNlazhZRmZxbmFZMkhOTTI5SmxYSzlUcVdBb0JCc2JYVkVRYUZJQ2FpOWp6eEF2ZWpJQ2hhMk9wdjIxQ3Q3OFIxcDNKNjZYa1MyMEhTZnNJL3FFM1pKUXA4UUR3WGIydkxRUGxXbVBKeHc5Q1M1NGNvemphNzhqN2M5SzNjKy9LYVJyUjlHSFVsUUNIckEzcnkrNGcxVWRNZXV6L1Fwbms5dmFINytlSisxeSsrNmwyYWw5VUFsWjBBZktWYU04d2IzajRmQzEyTUlDdVo0ZFVkeThMbkhlem9WeWZ6c0l2R0VZejBWcWYveGg5dGs1NWx0dk9lSVp5ZEpZa1o2bmFSQlp4N2plbzZ3VjBYWGMvNVhQYXhFNE1wcXI3SU1WVDVkaW52S29COGNJMjdYUi9EaVluYklEaWwvNTJOWnI2YWJ5STRkWG1UcGV4NElDcjRqYm5HQ2ppUW82RFZpK3A5OFpHQmVDUzFBTi91aTEveFkrY0FMVXJ0aFU3UFk5UHVvKzRSOTFRczh2U1pGc2dLQ1FyTElxL09taXFCdzc0MC9rWU1tN1daRWFuTkZsVXljL2tzald6K01Pb3Fnb0wwU3ZGNlB3TFkrOU51dkZmYzgzZUx0cHhZVEJwOTdYTkk3MEhyZGh4WDNQSk9Xb2tJWTZsNjNGYVk4bU4weGVzQ3VwLzNvZXlPWlFRdHQyaU9nZVFoRFczSjZqalF2WTZwKzFyczFERHI3dTZyZWMwSnhDZlhiS21YRnZjL0o5clhsb1NpUFY0WFFVNGdHbmpiZHErd1N6a2U3V2E5U1hrR3BzQ3NFZ2tMQzFXMlZRVWNSRlBRdU5ZUFBPbFl0Tk52ZGlvOWZ4bnFoMnRKSFg1RnQ4NWY1ZFlxazVxdGZDT2grUnJJRFV4NlNXQU9wSWlqTWUrdXYwcVd6dWJ2U1hrcFEyS0tFaFdTRWppQW9oR0VRRUszYjFvT0Jrb3UrbjNReElWcTJkQk1WOUZhQ0E4LzhqdVFVQnorOUljcTArVjg4RkpyVGNQNXMyNEYwenNXN1dMMmdtbDViUVFlOWVLc1dPc0lRV2o5SHdsQ21STXJRcFUrUkREbi94S1NMU0sydm9iNnlTcGJkOFlUVWJXemFqcmYxOFZUN25qOWljTVF6b1ZOR1JxaUtYcjE2bmF5YzhXem9CVzBFaFdDYmplM3ZRU291eXFoM3N0RFB2bGpiM2daTGZOZlo5TTRmcXg5L1RTclViaERwRW5TZlVIdkFhUSt0TUFROEZKSllDNmtpS014OS9TYkp5elYvdTdibnQ2K1F5aVF0QkpYdWdrSXkzWk5qM1NwNk1MRDBsa2NqQzQ0bDIydWlkUm1kM3NxMnRrbUY3OWxGQlRMMGdwUFVqM1JlYUlxTG9CQy9LblRuTVpuVEhHS1ZUazkvMENGWjB4eGlsU3Y2SEtsVDg5RlRPWVR4WG0zT3MwNnRxN0hzOWlkY2JSZmRQSjlrZjliYkNHcHZ1SXdzODVjZFFaWlpUek5aZnRkVFFaN1MrbHdJQ3RiSUVrcVE3b0tDM29aVTkxUDBWcTFoRGFXUHZDSVZYNlcrcUtDOVFKcjZoUDdzNHVXbS9oQVUzRkR6S0UycUNBcTNYZmNqT1hLcTJjclVIODlkSWlmOStDOGVFYkxQSnAwRkJkc2ZJM3Q2N2xQb3dVQ3lYYnBqbGI3NVc5bFlObUdPMS9PdzlROUhNdWNITy9GQlVIQ2kwaFFYbHFrL3NVc1l6aU42d1ZjOVZTbFZnMTU0YktqeTB1cWl0a2NMYzZoYXVVWlczUFcwNkxkMnFSZ3k4M05sK0dWbmhIcmdvcm5xblRiV3Zqdzd0SWdSRklLdEd0cytYQ3A1S0dndkllMmhHcGEzNWJGcVZrOUZXbkx6UTFLM2VXc3NrOURIWjNWVGZjSUxUMVo5d3E2aEtpdUNRaEtySTFVRWhhTU9taUMzWG51ZUVhbmYzZlNZL1BQWjRQY3BqaFl1WFFVRlBVQVpldkgzQTEyRlBjbzAxZittc2p0MVpJRHlrMU9rUysraTBGVURheWpFcmhLOVlHYlI1QW14RFRnU2swQXFDNEFEVDVzbTNYWWJIdlBhd25TZy9OK2Z5cnBYd2p2WWpjZEtDNnphUXlFVndzb0hucGR0QzVhSHNxZ0lDc0ZXU3pvTENucG5nWjRIN1JNc1VKZG5xMTZ4UnBiZDlhUmFQTlZsQmtsTUZ1WStJV3NvSkxGaHBJcWdvQkU5ZnN2UFpKOXg4VHRLaTVlWHlSRm5YSnRFb2lMcEtpajBPblNTOUQ1MHY2U3lUZVdUcCtxYnp6QVBVUEJRY0w0ajlGYXVROVNPRGdUM0JCYmRkTCtrMnRTSGd2R2paTUJKUjdxLzZDU2tYRDdqbVpUYjZyRDNZWk9rMXlHcDgxdFl0MldyTFA3clAyV0hXaGd1YkFGQklkZ2FTVmRCSWFkL0h5bFJMejVTS2FUcTREZk1mVUk4RkpKNEI2U1NvRkF5cUkvODZkZW54eFFWdmxtOFduNzlwNGZraTNuSlZlTFRVVkRRM2duRGYzNVdRbE1LOUo3dlZVdEwxWTRNNnlPdVhzMDc2L3BITGtPZEk2OWtvSHE3Tmt4eUF0eS9Wcy9ualphdFFhMjdzWDNOaHAwTFdlbnI3cUxLbHQyalFKVnRnT1NyZjltRkJhN3YyT1ZxUndyTklGVkNqOG5qcGUvMHFhRXRMaDRLemxXajUzWG5xM3ZKYmFncDJ5QmJ2OWIzNnlwcFZGT0phdFE5RVEzNlh0QUxNZVgwNngyNUo3cU5IUlk5Rk1qZjZMM3E5QnpSOTZnT1hqeEhVbTN0azA1cXFzUHd5MzhnMmNvVjFXMW9xSzJWbXRKMWtYL1ZLOHVrWnJWNlZyZGFUeUpTOTJwN01MMkRSSTcrcHpyeW1WMDZ1ejJsNkxhMjlCK1B1RTRmZE1JczVlSTcvR2RuSnJSdVFuMVZ0V0w3WDg0cnlxUjYxZG8yMjJsMlZ2T1RzOVhpY25rbC9TVi8yS0FJNzBTdXRYejJKN0x1MVg4bmtvVXZhUkVVZk1FYU05TjBGUlNHL09nRXlSdmlmZ3ZySGZVTmtiNXBkZW5heUhPdlJ0MlQyOWR0Yk1FeE15OG40cFVVZWZZTktKWmM5UnpVVTUvY2hvYnFHbGw4MHdNNys1dHU4d2t5WFpIcUV4YUh1RStZcWlLTnJzTk9KUWRlbElJT0s3dWFYeW9KQ3RGU0g2bW1QeHg3K0Q1eTRMNWpKRE16UTk3N1pJRzg4TmJIOHR6ckgwVk5rdm8zSFFXRlJMd1Qxcy84VURhcFZkMjEyNzlwMElPVy9tcGJ5cnloVFFNRTAzUTJkbHBJMEdYYjhzazhtMlNSclhHMHA0WWJZU0dWdkJUMEQrVUlKU0psWkdkYjhRblNHQStGdHJRVDhVNm9XbFlxcTlXMmpxMEhrVzNQc2l0R2kyNDkxRzROZm5vdk5XemZMaHYvL2JuMWMwU3owRytUM1Q1SFVzbExvWmQ2SnZWV1htUnVRa05OamF4LzQzM1o5TUdYYnBKTDRiNTdTSjhqSjd2ZW5uTE5NMi9KNW8rL2RuWHVvQlBwZmUyN2p4dmw2clIxRmRzaVV6d3F2bHhvblY0TE9ZVjc3eVpGVXlhNkZqTVczWGhmNk9adEl5aFlONFdFRXFTam9OQnQ5K0V5OE5ScHJybHMrTmRIb3Y5cFVjRTJhRUZkRDdEMS9la202QjJQOUJTN1ZBaE5mY0t6Vlo4d0s3VEZ4VU1odEZYanJtQzI3akI2eFcvYlFaMjdrZ1dUS3QwRUJUMWdHSFhWK2RidzlDQmd4ZDFQdDNpN2FadUpYOXZLNmJlUDYxNmFaU1Z5TkMrN1pxSzN6blR6ZGpaVnZCUzgyQnEwY3ZFSzJmck5Vclh2L01iSWovVjI1WjJpOTJNbStFZGc0T25UWGJYTFJOY04wQjNWd2VjZHI5NVdtKy9HWTBKQnY4RmU4OVFiU1htT3BJcVhRb2J5RUJqNTYzTmNpWDlidjE0c2E1NTlXeHJVVy9ORVFtWmVydlQ3M2lHdTFtK28yMW9waS80MEk1SFRCNUpXYjhVNTdLZW51enJYeHZjK2svV3Z2NWZ3ODA5N1NQVDk3c0hTYlhTSmRUazJmVFJYeXA1NzJ6cWRud2tRRlB5azJ6YnZkQlFVdE1lUTNpclNObWpQb05WUHZDNjE1WnR0azdhdzc1U1ZLWHI5aHFKdjdkVWkzdlRMd2ovZWt4STczdWhkbWZRdWI0bUV5a1VyWk5zM3k1VDNSN2swS2dHSFB1RXVtaW52b2JEclVyejdoS0RRVzgzbCtyNHhVSzJLZm5QMXJjYjJRUnU2MlNaU2l3bUxiN2pmOVlDOStUVzZPWC96OUswL2V6bEljRFBvOXZMOHJhL05xKysyblk3VzU5V0xyV212bExvdDIxb2Y0cnVQQk55S2YxNkp1dnI4dzMraHBrWjVKQ3BvTVVHTGtqYmVUYkh3dW5tTzZQTXV1UGJPV0ZtR0pyNXczOTJsMzdHSFdwZkhqMFVSZTM5N3N2U2Fhcjh3Mm9yN241ZktoY21kcnRnZXdENUhIeWc5WFF3YTFqdzNVelovOUZWNzJWc2RIM0RxMFZLdyt3aXJOTnA0NFo5blNIMUZwWFU2dnhJZ0tQaEYxamxmMjkvMnNPL3lrRDlzb0F3KzV6am5pNDBUcTRYVTBzZGZjK1dWRUN0Yk43OHhPcS8xYjc0ZjhaQ0lsVzhZNHZVVVI3MkRodHV3Y2Zhbm9rVlYrb1N4Q1NJb09MQkJVRWd2UVVFL1JQVER4Q1lzdmVXUmhONG90ajVYSWxNdW11Zmw5WHhkUFlEU2IyVnQxbnpRZzVURk4zb2p0alMvTmk4Lzl6dnVzSWg3clcyZXRXcSs5U3Exb3ZqMjladHNrMkx2QVFFM0hqMTYycytHbVI5NGNQYW1MR3c3ckxGTzdJV0hVK3U4M2V4OHNlcmhseUxyU2JUT0swemZoMXh3b3VRTjZtZFZwUFZ2cVU3czIvNU1FK3gxOEw3UysvRDlyY3FqcHdHVVB2YXFWWnFnalVmKzVqekpzcHd6WGZxbzJuTityajk3emcvKzRiR1NQM3l3RllhMXI4NFczYmtQUzBCUUNMWW1iSi9QWVJjVUJueGZDV3Q3MkFscmZqNXI5QTQ3ZWd4a0UvUWdlOUVOOTlva0NkeldiWjlRVDU5YytjQUxxay9ZY2oyS3dDOGdCVTZJb09CUVNRZ0s2U01vNkxVTVJseHhsa010eDQ3U0t1UmFOWjNBNjZEbjg3dFp0NkI1T2J3V09uVGVidWFzZS9WR3VQbTFlZlU1bzNPMmpQek51ZGJ1MDlwOWNLVjZ5NmdYR2lJa2g0Q3QrS2ZYRVZta3hDMnZnNXVCZStzeWVDMTA2UHkxQUZpaXRyNjFlWTdvUlNCWFBmUlM2K0tGNW52blhvVXkvTEl6cmNxakZ4NWJkdnZqL20xWjFrbGt5SGwyaTZUdGFHeVFoZGZmNDRrM2loVU1RMk05dlUxUEo3SUptei81V3RZOC9aWk5FaXRidlVpY1hvaFR0MnZUb0JjelhYckxvNmJtdnRzaEtQaU91TVVKMGtsUTBOT3NSbDE1WG92cmErOUx2VnJIWlBIZkhwTEc3Ylh0bWJvKzN2ZllRNlNIV2xmR0pxeTQvem5sb2JYQ0prbGd0cEUrNGE5Vm4xRDFEVzBDZlVJYldtbXdLS1BkNVpwWkl5aWtqNkRnNW8ybmRoSDJ3a1c1ZFd0ejYwNFd6Y2ZQcVFaRGxKZUN6Y0p2ZnBZbGVyMXUvN3JodkgzREpsbDI2MlBTV0Z2bjlyU2tTNUNBSGxUWXJuWGlsN0RscGl6TkwxOTdKeXk0eHArcEJtN2E5N3lyL3Q2OGVLSDYzT3ZnZlpRM3dHU3JNdWtCcFI1WStobmNyRGRRK3NSclV2SDVBaitMNVRydi9pY2VJZDBuakRGTzMxaFhwOTQ2S2srMEJOZW1hTytFZXFGRy9mYlFKdWd0Skd2Vk16c01BVUVoMkZwSUowR2grMTVqMU9MZFIxZ0IxR3NtYlBsOHZsVWFXMlA5K3pmaWx6KzBHb0J2ZXY4TEtYdnhIZHRUQldMdjVqZXpWbm1wTHIyTlBxRk5CZUdoNEVBTFFTRjlCQVhiTlFMOEhpaVArcC96WGMvUDlzTTdJZHI4OVZhWEEwOHpmM3RWcTk0TTYya1BZUXh1dGh6VWJ6dTFHazFJSGdIYk51aVhkMEtVZ08yekk1cE8vL1hETzZGNS9yYlBFVCtmSGMzTDVlYXo3ZjBhcE1mRndETytJOTNHbEJoZmx0OXY5STBMNG1BNDhsZm5TSmJGbHB6bHN6NldkYS9OY2NqSis2aGhQejFOdXZUcGFaengybGZVdEFlMXprMFlBb0pDc0xXUVRvS0NyUnUrRnRHMG1CWkUwSXMwOWp6SWZDMlo3V3E5b0NVaDNUNTNpRnFqSWsrdFZXRVQ2QlBhMEdxeVJWQndZSWFna0Q2Q3duQTF6YUJ6WVlGRExUdEgrVDNmMk8wZ3hlL0JrNlpoTzBnSjQ1WjAycVZOWDBlblRobk9GZXdRV3pGWHpYMStOTnh6bngyS25YWlJ0dE1NL0JiL2JBV081aFhpOXdEZTlqbVM2QTRZemEvTnk4OXU3dGZsTTU2UnFpV3J2Q3hHekx6eWh3K1N3VC84WHN6anJRL1VWMWJKd2ovYzB6bzY2ZCs3RlBlVVlaZWNabHlPSFR0MlJIYXRxTjlXWlp3bUVVTmJUOEp0aTViTHl2dWVUK1NVbnFWRlVQQU1wVkZHNlNRbzJLNXBvajBBdENkQUVDR3JhNTVvRVZKMXBveFB0K0M2dTBJM1pWVC94b3krNmdLUkRQUHI4SE9OQ21PWUtXaUlvT0JRYVFnSzZTRW91Rmsvd1cvWFlMZURGTC9XZFdqZS9HMEhLWDY1bXpjdmsrM25ycU9IeXFBemo3Rkt0dVRtaDlRV1FDeTRZd1hOQjJQYjlSUDhGdi8wSlk2OTloTHJLdzFDL0xOOWpnVDVWdDhHV05kUjZuNzlnZm45R2dUYjF1VWY4WXV6SmJ1NytSN3RpLy9mZ3dsdjQ5YTZESWwrTC9yV0JDaytlb3B4TnRzV3FBRzdXcHcycUtEM2h4K2xGb3cwRFkzMTlUTC82dHRNelgyMVExRHdGVytiek5ORlVIRFRQNTEvelIyK3JwM1FHclorTnV0bnRHbFk5ZkRMYWdIZ3hhYm1nZGpSSnd3RWMrUWtDQW9PckJFVTBrTlFzRjFzc0dwWnFTeFhXN3o1R2R6T3pRNWk4R1Q3bHNodnQyNDM5VkE4ZmFvVVRSNXZuRFNJT2pjdVRBYzN0QjI4KzdYV1NmTnFzRjFiUktmMTIzTkNuOFAyT1JMV0tVcTlEdDFQZWg4NlNWK1NVZGowbjYrazdObVpSclplR2ZVN1h1MFlNM0UzNCt4SzFSem5DcC9uT0JzWDVyK0cvVS8rdG5RZk45bzRXVEttRkJUdXM3dGtGWFExTHVQbWorWksvZGJrYngrSm9HQmNaWjRZcG91Z29IZDIwRHM4bUlicUZXdGsyWjFQbXBwN1lsZDA0RjVTZk5TQnhubVZ2NnVtU2IwZXpEUXAwMEpaOXdtWHFuSEFQZjZPQTB6TG5tcDJDQW9PTllhZ2tCNkNndTFXalVFTmtOM3M5aERFOUlJd0NqQU90MmZjcUpLTFQ3WGFBblBOTTIvSjVvKy9qcHNuQi8wbllQdTJKcWczMWJiVE1EU3BvS1lYMkQ1SC9QYStjdE5LK3Ara0Znb2NiNzVRNE9vbjFZSmtuL203SUZucjY3QmROSEQ5V3grbzdTdy9iSjFOVXI4UC9mSEpranVnMkxnTVM5V2FNaldzS1dQRUMwSEJDSk5uUnVraUtOaHVUVnYrem45azNSdnZlY2JSSktQY2dYMWw2SVVubVpoR2JDcStXaVNsajd4aWJCK0U0VERWSit6U3Q1ZnhxZWdUR3FOcVk0aWcwQWFKUlBaZzFYdXhtb1l3dW42Ymx0M0pMcWQvZWdnS3RvT0JvQVlDYnQ1NkJqVVlzSGxMSE1hMysyT3V1Y2hxL1lURmYzbEFhamR1Y2JvTmlBdVFRRmpGTEZ1dkhZMU12OTJvVW04NS9BNjJ6NUVnUkVuYmF4NTZvUnJvRHJRWTZLcFZ0MnRLMTltZUppSDczQ0g5Wk9pUFRqVE9ZOHZuMzhqcUo5NHd0Zy9DY1BUdkxsQXJ0bmMyUHRVMy8zdWI3S2lyTjdidnlJWUlDc0hXZnJvSUN2MVBWRjVERTh5OWhsWS85YVpzK1hSZW9MQnRQZUcycnkyWEpYOS9PTkF5dG5leXNmOTNzZFg2Q2ZRSjJ5TWEremlDZ2dNYlBCVFNRMUN3N1hBSE5SQ3dYYXNncUxleCtsYXdFUlMwZlZCQ2h6NVhleUc3c0p1TStQblo3Wm50UEY1ZldhMFdVTHQ3NTNjK0pJK0E3YlpPUVV3cjBEUnNoUTZkSnF6UGthREtwUm1ZQnR1QjdvTHI3L1o5RzhQV1pjOHF5SmVSdjFTTGt4bUc2cFZsc3V5T0p3eXQvVGV6WForZ29icEc5T0pxQkRNQ0NBcG1uTHl5U2hkQndkWnJLRm5QN3pHLy83RjB5czR5cXI0ZDlRM3l6ZFczR3RrR1lXVGJKMnhRZmNJRjlBbGRWdzJDZ2dNNkJBVUVCWWRtNFZtVTdWU01JRDBCYktjTWhFbFF5QitoVm1RLzIzeEY5cXJscTJYNVhVOTVWcTlrNUo2QTdUMFIxUFFrTjRKQ1VQZUVMYk9nUExCTVcwRm1ibzZNK3UyUFRNMGpka0d4YlYwb0c2RTFiRUpsN2lEbHRueUJ1ZHR5amRyK2JXbEl0MzlyWFM5aCtJNmdFR3d0cEl1Z29KOTkraGxvR2hZcGI4cTZKSGhUNnQxaDlDNHhwbUhobisrVitvcHRwdWErMmxuM0NaZXBQdUhkOUFuZFZncUNnZ001QklYMEVCUnNPb0c2R1FTbEFOc09CSUlVRkd5OU92emVIcy9oOW93WjFXUFNudEwzbUlOakhtOTlJTXg3eHJjdWE3cC90NzBuRUJSRXdzck10SzFtRnhYSWlNdlBNaldYaHUzYlpjRTFkeHJiZTJsb3U3MWJzb1FQcDJ2T0h6bEVCcC8xWGFkRGpuSFZwV3RsMlcyUE94NGpzaTBCQklXMlRQeU1TUmRCWWN6VlA1Rk9XWm5HcUpJMVVCOXk3dkVSVHozVGdtb3hVb3VTWVFqMmZjSjVzdWJwTjhOUTlKUXNBNEtDUTdVaEtIUk1RU0dJVmVOMWM3TWRDSVJaVUFoS2hIRzRUZHRFOVQ1aXN2UTZhSjgyOGJFaXltZC9JdXRlL1hlc3c4UUhTTUIydlpPZ0JBWGJPYVFhV1ZDRFNkdm5TRkRNVEp0TjU5NDlaUGlsWjVpYVIvWTNUNVlyL3JETHpwQXV2WG9ZbDNYK3RXcDd0NXBhWTNzL0RidU5IU1lEVDU5dWZJcnFWV3JLeHUzaG1iSmhYUEFrR1NJb0JBcytYUVFGMnhkZUMvOTRqOVJ2cXdvV3RqcWI3WGhJditHdlVtLzZ3eENzKzRTelZKL3dOZnFFYnVzT1FjR0JuTzBOeEtLTTRabzNGYTFTMndkMldBY0NDQXJSR28zL3QzamFnVkowd0Y3eGpab2QzZkR1ZjJUOTY4R3VtdHpzOUh4c1JzRFdNeWJJd1hHNlBFZUNaTmFzYW1OKzFDdHY2eFc0VFVNeXB4TG9LUU42Nm9CcFdIVGpmVkszZWF1cHVhOTJ0dHZUVmExY0k4dnZDSFo3T2w4QitKdzVnb0xQZ0Z0bDMxRUZCVDIzWDgveER6cjBPMDV0bTd1MytiYTVLeDk4UWJiTlh4WjBNUjNQVnp4dGl1b1RUbkE4NWhRWnhtMHZuY29aMWpnRUJZZWFRVkRvbUI0S0NBb2l0Z083TUhrbzlEM21JT2t4YVp6REhlMGN0ZUZmSDhuNk45OTNQa2hzb0FSczIxMlFnMk1FQlgrYVFvN2EzYUZFN2ZKZ0dwSzVXT0NRODArVXZNSDlUSXNxUzVUYjcvYVF1UDNxbGVUMWl2S21BVUhCbEZTVEhZS0NIYTlFcmROQlVNam9uQzJqZjNlaEZZcGtlU2pZdHU5a2JPMGJDNlNlQXF1blBaZ0crb1NtcEp6dEVCUWN1Q0FvSUNnNE5BdlBvbXhkbGZGUU1FTnYrOFBIajRjWjF5Q3NFQlRzS2RzK1I0TGFHY1AwU3ZLRzlKY2hQenJCMUR5cFV4NXNCWVV3dWYzcXQ0djZMYU5wUUZBd0pkVmtaL3U3czNIT1o2SVhTQTA2WlBkUWE1WmNZYkZtU1VoMyswZ0hRY0hOZ3JTcElpaVV2ZmlPYkhyL2k2Q2J0K1A1Yk85TitvU09HSTBqRVJRY1VDRW9JQ2c0TkF2UG9td0hBZ2dLWnVqN24zaUUydGQ1akpteHN1TEh3eGlWNzRZSUN2YUl3L3djTWJtYXZLRktVRGd2VlFTRkU1U0hRbitUeTRyWXJMai9lYWxjdU56WTNrL0R3bjEyRjkyeE5nMVZLOVNVaHp1WjhtREt5M2JRZ3FCZ1N0YlpMaTBFaFR5MXc4MlZkanZjcElxZ29OY2dLRmRyRVlRaDBDY010aFlRRkJ4NEl5Z2dLRGcwQzgraXdqd1FzQjNZaFduS3c0QlRqcFNDUFVjWjE5T0d0eitVOVc5OVlHenZaTGovWGlObHhOQys4dlhDVmZMSjNLVk9Kc1FaRUxCdGQweDVDUGZpcmdaVkhsazVYSzhnYmhyY1RIa29MTWlYN3h3MlVTWlBIQzBablRySis1OHRsSmRuZmlMck4xYVlualppWit1aHNQSUJOWTk0d1RLcmMvaGxiQzBvc0lhQ1ZWVUVKU2pzTVhxdzdEbDZrS3dxMnloelBwNHZEUTJOVnVYRVE4RUtsNi9HbVFnS3Z2S05aajdnWk5VbkhCZDBuM0NVNmhNV2Q4ZytJWUpDdE9VMSs0dWdnS0RRckRsNC9oRkJ3WE9ra1F3SG5IS1VFaFJHR21mdTFrTWhNeU5ETGoxbm1seDgxbEZ0enZXSFc1K1J1eDU1cTAwOEVmRUpJQ2pFNStOME5NelBFYWZ5dG83TEt4a2dmZ29LUHp0M3VseHk5dEd0VHh2NWZ2dERiOGlmYjMvTzhaaFRKSUtDRXhYaU5BRy9CWVhUamoxUXJ2MzU5OXZBbnZINDIvTDMrMTZSTFZ2TlZ2NUhVR2lETUdrUkNBckJvS2RQR0F6bjZGa1FGS0lrbXYxRlVFQlFhTlljUFA4WTVvR0E3Y0F1WEI0Sy9nc0tQYnJueTJPMy9FeEdESW05NHZ0SFh5eVdVeTc2ZjU2M20zVE8wTGJkNGFHQWgwSzgrK0c2WDV3cXAzNzNXL0ZNNUlVM1A1WkwvL2ZldURiUmd3Z0tVUkw4YlUzQVQwSGg3ajlkS0ljZXNFZnJVKzc4dnE2OFFrNi85Ryt5ZVBuYW5YR3hQaUFveENJVGZEeUNRakRNZ3hBVTZCUHVxa3NFaFYwc2RuNUNVRUJRMk5rWWZQaUFvT0FEVkpWbEVEOGUxLy95VlBuK01mRUhLdnJxL2pyakpibjUzbGY4dWRBMHpCVkJ3YjVTdy93Y01ia2F2endVOXRsem1EeCs2K1VtUlpDenJyaEZabjA0cjExYkJJVjJFWFZZQTc4RWhWaWVDYTFCdnpuN0N6bi9OM2Uyam03ekhVR2hEWktrUlNBb0JJTStWSDNDZTFTZlVIa1VwWE5BVUhDb1hRUUZCQVdIWnVGWlZKZ0hBcllEdTQ3a29kQy91SWZNZnZJYTQzWXdiTXJGeHJZZDNkQzIzZUdoZ0lkQ3JIdm1UNzgrWFU2YVBqblc0UmJ4TDZuMUZDNzUvWXdXY1U1ZkVCU2NxQkNuQ2ZnbEtDeVo5UTlqd044Ny93YjVZbDc4UlVBUkZJeHgrbTZJb09BNzRzZ0ovQllVK3ZkUmZjS242Qk5HYXhOQklVcWkyVjhFQlFTRlpzM0I4NDhJQ3A0ampXVG85NC9IbWNkTmxmKzkvR1Rqd3AvM3E5dGw1cHk1eHZZZDJSQkJ3Yjcydy93Y01ia2F2endVUG4vbEJ1bldOZGVrQ05MWTJDZ2pEdnBwdTdZSUN1MGk2ckFHZmdnS2VnSEc1Ky8rcFRIVGY5ei9xdnpsN2hmajJpTW94TVVUNkVFRWhXQncweWNNaG5QMExBZ0tVUkxOL2lJb0lDZzBhdzZlZnd6elFNQjJZTmVSUEJUKy9Kc3o1TVJwK3h1M2g3L2QrN0w4YmNiTHh2WWQyZEMyM2VHaGdJZUMwLzJTbTlOWnZucmpMMDZIWXNidGQreHZaTVBHclRHUDZ3TUlDbkh4ZE9pRGZnZ0tldjBQdlE2SWFYaFhUZHM1VzAzZmlSY1FGT0xSQ2ZZWWdrSXd2UDBXRkd6N2hIOVYvY0diVmI4d1hRT0Nna1BOSWlnZ0tEZzBDOCtpRUJROFE5a2lJNzkvUFBTSzhYcmxlTlB3aStzZmxLZGVTV3hiU3ROenBib2Rnb0o5RFliNU9XSnlOWDU1S0x6MzlMVlMzTHZRcEFpeXJiSkd4aDMxODNadEVSVGFSZFJoRGZ3UUZLYnNOMWJ1ditraVk2WVBQVHRiL3VlbVIrUGFJeWpFeFJQb1FRU0ZZSENIclUvNDgrc2VsS2RmVGQ4K0lZS0NRN3RHVUVCUWNHZ1dua1dGZVNCZ083RHJTQjRLZSsxZUlrL2Rmb1Z4TzVoODNHOWw3WVl0eHZZZDJkQzIzZUdoZ0lkQ3JQdmwwaDlPaTJ6ckd1dDQ4M2k5eGF2ZTZyVzlnS0RRSHFHT2U5d1BRU0ZEYlUyODZKMmJqYUgrK0xkM3lXdnZmaDdYSGtFaExwNUFEeUlvQklQYmIwR0JQbUhMZWtSUWFNa2o4ZzFCQVVIQm9WbDRGb1dnNEJuS0ZobjUvZU9oVC9ibzN5K1QvU2FNYUhGZXB5L1B2ZkVmK2RuLzNlZDBpRGdIQWdnS0RsRGFpUXJ6YzZTZG9rY08rK1doMExPd3EzejB3aDlOaWlCVFQvNjlyRnBUM3E0dGdrSzdpRHFzZ1IrQ2dvYjUyNHVQbDNOUE9iUmRyblYxRFRMNjBFdmJ0VU5RYUJkUllBWUlDc0dnRGxlZjhDUFZKN3cvbUF0UDBsa1FGQnpBSXlnZ0tEZzBDOCtpd2p3UXNCM1lkU1FQQmQwQTl0OXJwRHg4Yy96T1cxMTlneHoxZyt0azZjcDFucldaZE0vSXR0M2hvWUNIUXJ4NzR2VHZUWkZycmpnbG5vbGM5NCtuNVo3SFpzYTFpUjVFVUlpUzRHOXJBbjRKQ2dWcVlkSFhIcnhLaW50MWIzM0tGdC8xTGlWNnQ1TDJBb0pDZTRTQ080NmdFQXpySUFRRitvUzc2aEpCWVJlTG5aOFFGQkFVZGpZR0h6NGdLUGdBVldVWnhJK0hMdm5VU2J2SlRiODlVM3IyNk5ibVF1WjhQRjl1dU9ONStieWRMYnphSk96Z0VRZ0s5ZzBnek04Ums2dnh5ME1oZXU2SmV3eVRDMDQvWEk0NGNGdzBLdkwzWCs5OUpYYys4cWE4LytuQ0Z2SHh2aUFveEtQVHNZLzVKU2hvcXNNR0Y4dXZManhXanBqU3NnM3JZMXE0dnZ5YSs0M0VCRzJQb0tBcGhDTWdLQVJURC9RSmcrRWNQUXVDUXBSRXM3OElDZ2dLelpxRDV4L0RQQkN3SGRpRnkwUGhTQ25ZYzVSeGZXMTQrME5aLzViN0JYSU9Vc0xDUWZ2dkppT0g5cE92RnF5TWJCSDU0ZWVMak0rUDRTNEN0dTBPRHdVOEZIYTFudmlmOUJ2ZXZmY2NMaGtabmVUakw1ZkltbldiNGlkd09JcWc0QUNGcUFnQlB3V0ZLT0p4WXdiTDRVb1lHemQyaUt4Y1hTNnpQNXJYN3BvSjBiVFJ2d2dLVVJMSi80dWdFRXdkRERoWjlRbkgwU2NNaHJZSWdvSURhUVFGQkFXSFp1RlpGSUtDWnloYlpOVHZoTU9sY0sreExlTGlmZG53cjQ5ay9adnZ4elBoV0VBRUVCVHNRWWY1T1dKeU5YNTdLSmlVd2RRR1FjR1VWTWV6QzBKUThJSXFnb0lYRkwzSkEwSEJHNDd0NWRMLytNT2wrMFQ2aE8xeDh1bzRnb0lEU1FRRkJBV0hadUZaVkpnSEFyWUR1ekI1S1BROTVpRHBNYW10YTJpc2lrTlFpRVVtK0hqYmRvZUhBaDRLUWJiU1ZCWVVkSWRhZDZ4TlE5V0tOYkw4emlkTnpUdThIWUpDc0UwZ3AxOHZLYm5vVk9PVDdtaG9rRzkrZjZ1eGZSQ0dDQXBCVUJhaFR4Z001K2haRUJTaUpKcjlSVkJBVUdqV0hEei9pS0RnT2RKSWhyMi9QVmw2VGQzSE9QTU43eWdQaFRmd1VEQUc1cU1oZ29JOTNEQS9SMHl1Qmc4RkUwcUoyeFRzT1RLeXZveHBUbFVybGFCd0I0S0NLUzhFQlZOUzN0Z2hLSGpEMFRRWDIvYTk3clYvUy9tczloY0pOVDEvSW5aOXZuMkE5Snk2dDNFV3ZHUXlSdVZvaUtEZ2dBVkJBVUhCb1ZsNEZoWG1nWUR0d0M1TUhncTlEdGxYZWgrMnYzRTliWnp6cWF4OWViYXhQWWIrRWJCdGQzZ280S0hnWDJ0c20zTXFleWgwSFQxVUJwMTVUTnVMaWhHRG9CQURUSXhvMndIWHhqbWZxZCtkV1RGeTh5K2FLUS8rc2JYTkdROEZXMkx1N08zN2hNbTVOOTFkWGZoU0lTZzQxQW1DQW9LQ1E3UHdMQXBCd1RPVUxUSXErdFlFS1Q1NlNvdTRlRjgyZmZpbGxEMy9yM2dtSEF1SUFJS0NQZWd3UDBkTXJnWVBCUk5LaWR2WWNxNHVYU3ZMYm5zODhSTjNrQndRRklLdGFEd1VndVZ0Mjc3RDVLRlFkSURxRTA2ejZSUE9WWDNDdDRNRm5FWm5RMUJ3cUV3RUJRUUZoMmJoV1ZTWUJ3SzJBN3N3ZVNnVWpGT3V2U2NmWlZ4UFc3NVlJS3NmZjgzWUhrUC9DTmkyT3p3VThGRHdyelcyelRtVlBSUnlCdlNSa2grZjB2YWlZc1JzWDFjdVMyNStPTVpSb2xzVHNCMXc0YUhRbXFEZGR3UUZPMTZKV3R1Mjd6QUpDbnFIQjczVGcybW9VSDNDVXZxRXByamEyQ0VvdEVFaWdxQ0FvT0RRTER5TFFsRHdER1dMakhJR0ZrdkpoU2UzaUl2M3BYcFZtU3k3L1lsNEpod0xpQUNDZ2ozb01EOUhUSzdHOXMxNVEzV05MTGp1THBPc1BiZEpaVUdoYzgvdU12eG5QekJtVXJ0eGl5eit5d1BHOWgzZDBIYkFoYUNRV0l0QlVFaU1uMjFxMi9ZZEprRWhkMEN4RFAweGZVTGJPbmRyajZEZ1FBNUJBVUhCb1ZsNEZoWG1nWUR0d0M1TUhnb1pPWjFsOUZVWEdOZFRNZ2NveG9Yc0lJYTI3UTRQQlR3VWdydzFVbGxRa0l4T012Yi9MamJHMVZoZkwvT3Z2czNZdnFNYjJnNjRFQlFTYXpFSUNvbnhzMDF0Mjc3REpDaFk5d21ybEdoOWZYSkVhOXQ2Q2FNOWdvSkRyU0FvSUNnNE5BdlBvaEFVUEVQWkpxTlJ2LzJSWk9ibXRJbVBGYkhvcHZ1bGJsTkZyTVBFQjBRQVFjRWVkSmlmSXlaWGc0ZUNDU1Z2YkViOC9DekpMaXd3em16QjlYZExRMVcxc1gxSE5yUWRjQ0VvSk5aYUVCUVM0MmViMnJaOWgwbFEwTmRLbjlDMnh0M2JJeWc0c0VOUVFGQndhQmFlUllWNUlHQTdzQXVUaDRLdW9LRVhuQ1M1Zy9vYTExWHBFNjlMeGVmemplMHg5SWVBYmJ2RFF3RVBCWDlhb25PdUtlMmhvQzVwOEErL0ovbkRCemxmbkVQc3NqdWVrT3FWWlE1SGlHcE53SGJBaGFEUW1xRGRkd1FGTzE2Sld0dTI3N0FKQ3JaOXd0V3FUN2lGUHFHclpvT2c0SUFOUVFGQndhRlplQmFGb09BWnlqWVpGVStmSWtXVEo3U0pqeFZSOGFWYWhPY3hGbWFNeFNlb2VBUUZlOUpoZm82WVhBMGVDaWFVdkxIcCs5MkRwY2QrZXhwbnR2YVZXYkx4MzU4WjIzdGgyS1Z2TCtWZDFzVTRxKzNyTmtwRFpmSzlLR3dIWEFnS3hsWHNhSWlnNElqRnQwamI5aDAyUWFGNCtsVFZKeHh2ekllRkdZMVJ0VEZFVUdpRFJGaVVzVCtDZ2tPejhDd3F6QU1CMjRGZDJEd1V1dTAyVE4yLzA0M3JTczhYMWd1OTdhaXJOMDZEb2ZjRWJOc2RIZ3A0S0hqZkNtUG5tT29lQ2ozMkh5ZDl2M05RN0F0c2RXVHJ2Q1d5NnFHWFdzWDYrM1hVVmVkTFpvNjVvTEQwbGtlbFpzMTZmd3Rsa0x2dGdBdEJ3UUJxSEJNRWhUaHdmRGhrMjc3REppaDBHNnY2aEtlYjl3bDFYM0MrV2tlQlBxRjlZMEpRY0dDR2h3S0Nna096OEN3S1FjRXpsRzB5MHVzbjZEbHpObUhkNjNPay9OMlBiWkpnNnpFQkJBVjdvR0YranBoY0RSNEtKcFM4c2VsUzNGT0dYWEthY1daQkM2M1dRbkJ0cmN5LzVrNlJIVHVNcjhrdlE5c0JGNEpDWWpXQm9KQVlQOXZVdHUwN2JJSUNmVUxiR25kdmo2RGd3QTVCQVVIQm9WbDRGdFY5NGxqcGZlaCt4b3RrVlMwcmxlVjNQKzNaK2VObFpEdXdDNXVIZ3I2MmtvdFBsUnpsUG1zYWRPZFpiNU5XWDFGcG1nUTdqd25ZdHJzZ1BSUnMyOU84cS83dU1SM243QkFVbkxuNEVadnFIZ3FheWNncno1T3N2RnhqUEVHdUwyUGI1OXEyWUptc2ZPQUY0MnZ4MDlCMndJV2drRmh0SUNna3hzODJ0VzM3RHB1Z29LL1g5amRjZXljczBuM0NyZlFKYmRvTGdvSURMZHNmdDlWUHZ5bGJQcG5ua0ZOcVJ1VXc1U0UxSzg2RFV0c083TUlvS1BRNmVGL3BmZmorVmpTMnpWY2QxQWZEMFVHMUtuaWFHTnUydXlBRmhiQWlSbEFJcm1iU1FWQVljT3JSVXJEN0NHTm9OV3MzeU5LL1AySnM3OWJRdHIraHo3UDIxZG15Y2ZhbmJrL3BhVHJiQVJlQ1FtTDRFUlFTNDljUlU5TW5ES2JXRVJRY09DTW80S0hnMEN3NlJKVHR3QzZNZ2tKV3Qzd1o4Y3NmU3FkT25henFMSXpLdXRVRnBMQ3hiYnREVUdBTmhTQ2Jlem9JQ29YNzdpSDlqajNFQ2x2cFk2OUt4WmNMcmRMWUdwZGNvanpLaXMwOXluVCtDLzg4SXpRZVpRZ0t0aldlbUQyQ1FtTDhPbUpxM1NjY3FmcUVxbE5vZGZuMENhMXdDWUtDQXk4RUJRUUZoMmJSSWFKc0IzWmhGQlIwUmRuZXc5SEtaYUFhSlJIc1g5dDJSejBoS0FUWlF0TkJVTWpJNlN3amYzMnVaR1JsR2FOcnJLdVRwZjk0VkdyTE54dW5zVEhVbm1UNjdhRk5xRnl5VWxiTWVOWW1pYSsyQ0FxKzRtMlRPWUpDR3lSRUdCQncyeWZjTVBORFdUL3pBNE16WUlLZzROQUdiQnNlVXg0YTVKdXJiM1VnbWR5b3NkZGVZbFdBb09ZK1d4VXFZR1BiZ1YxWUJZVzhZUU5seURuSHVhSlhXNzVKeWw1NFJ5b1hyWFNWbmtUMkJHemJIWUlDZ29KOUszT2ZJaDBFQlgzMS9ZNC9UQW9uN21ZRm9uWlRoU3k3OVRGcHFLNnhTdGVlY1k5SmUwcmZZdzV1ejZ6TjhkVlB2U0ZiUHYybVRYeXlJaEFVZ2lXUG9CQXM3M1E1VzBKOXdnMmJwZXpGZjlFbmJLY3hJQ2c0QUVKUXdFUEJvVmwwaUNqYmdWMVlCUVZkV1lQT1BsYTZqaGpzdXQ2MmI5Z2ttejc0UWlvWHJwQmE5WU5DOEkrQWJidERVRUJROEs4MXRzMDVYUVNGM0VGOVplZ0ZKN1c5d0haaXRxOHJseFgzUGVmWk5JT2liKzBseFVjZjJNNVoyeDdXaTZRdC9OT010Z2VTR0lPZ0VDeDhCSVZnZWFmVDJRYXJQbUYrQW4zQzJ2VzZUL2lsYkZ1MG5ENmhROE5BVUhDQWdxQ0FvT0RRTEh5TDJtM2tRSmswWWFRVWRHMWFnZnZyaGF2a2pkbGYrSGErZUJuYkR1ekNMQ2gwNlZNa3czNTZlcnpMTlQ3V29MWXAyNzVtUTJTYnNoMk5qVkpUdWs0YTZ4cU0wOGN5ckZ5NFRLcFhybzExdU1QRTI3YTdaQWtLK2g0OVlzbzRHZGkzWjZSdVZwV1Z5eHV6dnBDS2JkV0IxeFdMTWdhSFBGMEVCVTFzOExuSFNYN0pRR3Q0RFRVMXN1N1ZPYkw1UDE5WnA0MG0wRzhKaTZkTnNkcUZKNXBXL3czVFlvelJjaUVvUkVrRTh4ZEJJUmpPc2M0eWZFaXhUTmwzckF3WjJGdm16bDhoTStmTWxVMWJVbU0zQkMvN2hJM2JhNldtVFBVSkczZElwRSs0ZXIzbzNTRVNEZHNXTEpmcVZXV0pacE9VOUFnS0R0Z1JGQkFVSEpxRjUxRjZjSExEbFdkR0JpaXRNMTlWdGxFdXZQSk8wZUpDa01GMllCZG1RVUZ6Sy83T1FWSzAvN2dnRVZxZHEreWxkMlhUZTU5YnBVbEhZOXQybHd4QjRiSnpwc25aSngyeVUvaUwxb01XRS80MjQyVzU5NG0zbzFHQi9FVlFDQVJ6NUNUcEpDaDBLZTRwd3k0NXpUVzgrcXJxeUs1V0ZYTVhTYzJxK0dKb1J1ZHN5UjNTVC9LVmtGQXdicFJrZCsvbStyeDZ5c1dpRys2VHh0bzYxM240a1JCQndRK3FzZk5FVUlqTnhzOGpZMGNNRlAwYnFBWDExdUgrcDk2UkcrOThYaXFydHJjK0ZMcnZmVldmc0VlSSs0UnJWWjl3WTRyMkNSRVVISm83Z2dLQ2drT3o4RFJLaXdrUDMzeXBhTytFV0VFUFZFNzc2ZDhDRlJWc0IzWmhGeFE2WldWR3ZCUTZGM1dQaFRtcDhRZ0tUZmh0MjEzUWdvSVcvazQ0ZWxMY3RuTHp2Uy9MWDVXd0VGUkFVQWlLdEVnNkNRcWFtdTBnT0I3cDZ0SzFiZC9NWldSSWRtRTN5UzdvR2krcDFiRlZENzhrVzc5ZVlwVW1DR05ibG13Ym1WaXRJQ2dreHM5TjZnbTdEWlduNy9oNTNLUUxsNVhKdExPdmw0YUd4cmgyeVQ0WTlqNGhna0t5VzRqSDUwZFFRRkR3dUVtMXljNWtnS0lUYVUrRnFTZjlyazE2dnlKc0IzWmhGeFEwcDV6K2ZXVG9qMCsyM2tiU0w4Yk44MFZRYUtKaDIrNkNGQlQyMzJ0a1JQeHJYbSt4UG4vbm5EOEdKZ0FpS01TcUJlL2owMDFReU16dElzTXVPMU95OHB1bTJYbFB6TnNjTjMvOGxheDVacWEzbVhxVUc0S0NSeUFOczBGUU1BVGxvZGsvLzNxSkhMRDM2SFp6dlBXQjErVEd1MTVvMXk3WkJycFBXS0w2aExiYlNBWlJiZ1NGSUNnSGVBNEVCUVFGUDV1YjlrNzQ3SlViakU5eDRaVjN5ZXV6Z25HTHR4M1lwWUtnb0VFWDdyTjc1SzJjTWZTQURNdGVla2ROZVVqT2Voa0JYYUxSYVd6YlhaQ0N3aDEvT0YrT09MQ3RtNmZUaFQzMXlnZnlpK3NmZERya2VSeUNndWRJWTJhWWJvS0N2dEQ4a1lObDhGbkh4cnptc0J5b1didEJsdC8raEZxekp2SDV5WDVjRTRLQ0gxUmo1NG1nRUp1TkgwY203akZNbnJ6dGN1T3NoMDI1Mk5nMm1ZWmg3Uk91ZlZGTmVYZy9tUDYrMS95Wjh1QkFGRUVCUWNHaFdYZ1daZlBHVTU4MFNGZHEyNEZkcWdnS21tUEIrTkhTLzhRalF1V3BnSWVDcmhubFVuN2U4WkkzZEVEVEY0UC9neFFVbHN6NmgwR0pta3lDOUNoQ1VEQ3Vsb1FOMDFGUTBGQ0twMCtWb3NuakUrYmpWd1lOTmR0bDZTMlBTcDNhdWpLc0FVRWgySnBCVUFpVzl4VS9Pa1l1K3NHUnhpYzkrNHBiNU4wUDV4bmJKOU93KzMvN2hHSHlWTUJESVprdHdvZHpJeWdnS1BqUXJIWm1lZUxSKzh1ZnJ6eGo1L2YyUGdUNTF0TjJZSmRLZ29MbTNIVk1pUXc0NVVqSnlNNXVEM3NneC9GUWFNSnMyKzdDS2lqb3F3bnFEUTJDUWlDM2FPUWs2U29vNkl2cmQ5eGhVcmozYnNIQk5EeFRvOXBaWitVREwwalZzdFdHS1pKamhxQVFMSGNFaFdCNTMvMm5DK1hRQS9Zd1B1a2ZiM3RXN256NFRXUDdaQnMyOVFtUFVuM0NyR1FYSlhKK1BCUkNVUTNlRlFKQkFVSEJ1OWJVTmljOEZOb3lDVEttYzY4ZU12Q002ZEpGL1UxMndFT2hxUWJTUlZBb1ZXdWVUQWxvelJNRWhlRHUzblFXRkRURnNIa3ExRmRXeThyN25wT2FOZXVEcTJTWFowSlFjQW5PWlRJRUJaZmdYQ2E3L0x6dnlNVm5IV1djK3F6TGI1RlpINldHaDBMMG9uU2ZjSkRxRStxL3lRNTRLQ1M3Qmp3K1A0SUNnb0xIVGFwRmRxeWgwQUpIVXI1MFVtcDBueU1tU3cvbDd0dXBVNmVrbEVHZkZFR2hDWDJZQlFYV1VQRG45c2dyR1NCRHpqM2VPSE85YmVDQzYrNHl0dmZTTU4wRkJjMnErNFF4eWx2aFVPbVVtZWtsT3V1OHF0VldsS1dQdmlKMW03ZGFwMDFHQWdTRllLa2pLQVRMZStJZUpXb05oU3VNVHhxVWg1NXhnUXdObzMzQ3lCU3dKUFlKRVJRTUt5eFZ6QkFVRUJUOGJxdW11endFK2NaVFg3UHR3QzdWcGp5MHJ0ZmN3WDJsdHhJVzhrdGliOS9aT28yWDN4RVVtbWphdHJzZ3B6elllQlJOUGVuM2FtZVdjaStiU015ODhGQ0lpY2J6QXgxQlVORFFjZ1lXcXlsaFIwbm5IZ1dlTXpUSnNIeld4N0x1dFRrbXBxR3hRVkFJdGlvUUZJTGxyYy8yd0Y4dWxnUDNIZFB1aWY5eC82dnlsN3RmYk5jdXpBYTZUOWpuaUFORUM5N0pDQWdLeWFEdTR6a1JGQkFVZkd4ZWtheTFsOElqZjc5TXhvNkkvZERhV2xranAxN3kxOEMyb2RNRnN4M1lwYnFnRUszbkxuMktwTWVrUGFYYkhpTUQzVW9OUWFHcEJtemJYWkNDZ2k3aDczNTZvcHg5MHNGTmhZM3hmNUNMcCtvaUlDakVxQWdmb2p1S29CQkYxK2ZJQTZUbmxMMmpYMzMvVzdWOHRaUTk5N1pzWDdmUjkzTjVmUUlFQmErSnhzOFBRU0UrSHorT2poODdSSjYrNHhkeDF5NmN2MlMxVER2N0Q3Smp4dzQvaWhCNG50RStZWUhxRTJZR3VMMHVna0xnVmUzdkNSRVVFQlQ4YldGTnVXdFI0WC9VUU9XRW95ZTFPWjMyVExqZ3lqc0RGUk4wSVd3SGR1a2lLRFN2Z0x3aC9TVjNhSC9KRzl4UGNrdjZTMmJuenMwUGUvcVpSUm1iY05xMnU2QUZCVjNLYzA0K1JDNDlaN3AweTg5cDBRYTA4SGZOMzU2VUoxOTV2MFc4MzE4UUZQd212Q3YvamlZbzZDdlBMaXFRbmdkT1ZGTWhSa3VHVDgvQXlzVXJaTU03SDB2VmtsVzdZS2ZZSndTRllDc01RU0ZZM3RHempScldYeTQ3WjVvY2RkQ0VhTlRPdnpNZWYxdHV2UE41cWRsZXR6TXVuVDdvUG1HZTZoUG1xajZoL3B2UnhiOCtJWXN5cGxQTFVkZFNzT2RJNmR5N3lQaXF0czFickJZUDJtQnNIM2JEblA2OXBYQ2kzYXJQWlMrK0U3ckwwaDF1bTdCaDVnYzI1cDdaRHV6YlU3NDlkWnhvZ1VHSHJ4ZVd5dXV6a3JNUGJmZUpZeVc3ME56ZGRjdW44MEs5cFpjWGxaVFR2NDk2SHZSUVhMcDVQcis0Y3NFeTBYT0dPM3F3YlhkVlMxZEoxZExTd0xIcGUvVGJVOGJMd0g1TnZ3K3IxbXlNM0tzVjI2b0RMNHQyeWN5em1LcFR0N2xDdG53eUwvQnl4anFodnArNlcvek83S2lyay9KWm44VEt6dGQ0dlF0Q1Z2ZHV4dWVvK0h5KzFKWnZOcllQczJHbnJNekk3amdGdXcrWC9CR0RKVE8zcGFCbVUvYkcrbnFwWHJGR0toZXZFdjNiVVY5UmFaTThsTFo2bGZoYzlSdGhHcXBXcXV0ZnVNTFUzRE83ekp3dVVuUkEyOEZnckJNMEp2RitpMVVtSGE4RmhjSzlkNDluMHVaWTJQcW5lcjUrTDBzUG9QTFpuMGhqYmZJSDdFTUg5bGJUSDhhSy92dmwvQlV5Yzg1YzJacUUzNzgybFJ4Z2hPNFRkdkdwVDdndGhmdUVuVW9PdkNnOS9GTUNiRXljQ2dJUWdBQUVJQUFCQ0hRMEFscGMxVy9wOUZ1N0xzVTkxY3JvaFk3YjhHcnhvRlpOWWFndDN5TGIxMjlTMnorV3ByUW5Ra2VyWjY0WEFoQ0FnQTBCQkFVYld0aENBQUlRZ0FBRUlBQUJDRUFBQWhDQUFBUWdFQ0dBb0VCRGdBQUVJQUFCQ0VBQUFoQ0FBQVFnQUFFSVFNQ2FBSUtDTlRJU1FBQUNFSUFBQkNBQUFRaEFBQUlRZ0FBRUlJQ2dRQnVBQUFRZ0FBRUlRQUFDRUlBQUJDQUFBUWhBd0pvQWdvSTFNaEpBQUFJUWdBQUVJQUFCQ0VBQUFoQ0FBQVFnZ0tCQUc0QUFCQ0FBQVFoQUFBSVFnQUFFSUFBQkNFREFtZ0NDZ2pVeUVrQUFBaENBQUFRZ0FBRUlRQUFDRUlBQUJDQ0FvRUFiZ0FBRUlBQUJDRUFBQWhDQUFBUWdBQUVJUU1DYUFJS0NOVElTUUFBQ0VJQUFCQ0FBQVFoQUFBSVFnQUFFSUlDZ1FCdUFBQVFnQUFFSVFBQUNFSUFBQkNBQUFRaEF3Sm9BZ29JMU1oSkFBQUlRZ0FBRUlBQUJDRUFBQWhDQUFBUWdnS0JBRzRBQUJDQUFBUWhBQUFJUWdBQUVJQUFCQ0VEQW1nQ0NnalV5RWtBQUFoQ0FBQVFnQUFFSVFBQUNFSUFBQkNDQW9FQWJnQUFFSUFBQkNFQUFBaENBQUFRZ0FBRUlRTUNhQUlLQ05USVNRQUFDRUlBQUJDQUFBUWhBQUFJUWdBQUVJSUNnUUJ1QUFBUWdBQUVJUUFBQ0VJQUFCQ0FBQVFoQXdKb0Fnb0kxTWhKQUFBSVFnQUFFSUFBQkNFQUFBaENBQUFRZ2dLQkFHNEFBQkNBQUFRaEFBQUlRZ0FBRUlBQUJDRURBbWdDQ2dqVXlFa0FBQWhDQUFBUWdBQUVJUUFBQ0VJQUFCQ0NBb0VBYmdBQUVJQUFCQ0VBQUFoQ0FBQVFnQUFFSVFNQ2FBSUtDTlRJU1FBQUNFSUFBQkNBQUFRaEFBQUlRZ0FBRUlJQ2dRQnVBQUFRZ0FBRUlRQUFDRUlBQUJDQUFBUWhBd0pvQWdvSTFNaEpBQUFJUWdBQUVJQUFCQ0VBQUFoQ0FBQVFnZ0tCQUc0QUFCQ0FBQVFoQUFBSVFnQUFFSUFBQkNFREFtZ0NDZ2pVeUVrQUFBaENBQUFRZ0FBRUlRQUFDRUlBQUJDQ0FvRUFiZ0FBRUlBQUJDRUFBQWhDQUFBUWdBQUVJUU1DYUFJS0NOVElTUUFBQ0VJQUFCQ0FBQVFoQUFBSVFnQUFFSUlDZ1FCdUFBQVFnQUFFSVFBQUNFSUFBQkNBQUFRaEF3Sm9BZ29JMU1oSkFBQUlRZ0FBRUlBQUJDRUFBQWhDQUFBUWdnS0JBRzRBQUJDQUFBUWhBQUFJUWdBQUVJQUFCQ0VEQW1nQ0NnalV5RWtBQUFoQ0FBQVFnQUFFSVFBQUNFSUFBQkNDQW9FQWJnQUFFSUFBQkNFQUFBaENBQUFRZ0FBRUlRTUNhQUlLQ05USVNRQUFDRUlBQUJDQUFBUWhBQUFJUWdBQUVJSUNnUUJ1QUFBUWdBQUVJUUFBQ0VJQUFCQ0FBQVFoQXdKb0Fnb0kxTWhKQUFBSVFnQUFFSUFBQkNFQUFBaENBQUFRZ2dLQkFHNEFBQkNBQUFRaEFBQUlRZ0FBRUlBQUJDRURBbWdDQ2dqVXlFa0FBQWhDQUFBUWdBQUVJUUFBQ0VJQUFCQ0NBb0VBYmdBQUVJQUFCQ0VBQUFoQ0FBQVFnQUFFSVFNQ2FBSUtDTlRJU1FBQUNFSUFBQkNBQUFRaEFBQUlRZ0FBRUlJQ2dRQnVBQUFRZ0FBRUlRQUFDRUlBQUJDQUFBUWhBd0pvQWdvSTFNaEpBQUFJUWdBQUVJQUFCQ0VBQUFoQ0FBQVFnZ0tCQUc0QUFCQ0FBQVFoQUFBSVFnQUFFSUFBQkNFREFtZ0NDZ2pVeUVrQUFBaENBQUFRZ0FBRUlRQUFDRUlBQUJDQ0FvRUFiZ0FBRUlBQUJDRUFBQWhDQUFBUWdBQUVJUU1DYUFJS0NOVElTUUFBQ0VJQUFCQ0FBQVFoQUFBSVFnQUFFSUlDZ1FCdUFBQVFnQUFFSVFBQUNFSUFBQkNBQUFRaEF3Sm9BZ29JMU1oSkFBQUlRZ0FBRUlBQUJDRUFBQWhDQUFBUWdnS0JBRzRBQUJDQUFBUWhBQUFJUWdBQUVJQUFCQ0VEQW1nQ0NnalV5RWtBQUFoQ0FBQVFnQUFFSVFBQUNFSUFBQkNDQW9FQWJnQUFFSUFBQkNFQUFBaENBQUFRZ0FBRUlRTUNhQUlLQ05USVNRQUFDRUlBQUJDQUFBUWhBQUFJUWdBQUVJSUNnUUJ1QUFBUWdBQUVJUUFBQ0VJQUFCQ0FBQVFoQXdKb0Fnb0kxTWhKQUFML2NhbXdBQUFESFNVUkJWQUlRZ0FBRUlBQUJDRUFBQWhDQUFBUWdnS0JBRzRBQUJDQUFBUWhBQUFJUWdBQUVJQUFCQ0VEQW1nQ0NnalV5RWtBQUFoQ0FBQVFnQUFFSVFBQUNFSUFBQkNDQW9FQWJnQUFFSUFBQkNFQUFBaENBQUFRZ0FBRUlRTUNhQUlLQ05USVNRQUFDRUlBQUJDQUFBUWhBQUFJUWdBQUVJSUNnUUJ1QUFBUWdBQUVJUUFBQ0VJQUFCQ0FBQVFoQXdKb0Fnb0kxTWhKQUFBSVFnQUFFSUFBQkNFQUFBaENBQUFRZ2dLQkFHNEFBQkNBQUFRaEFBQUlRZ0FBRUlBQUJDRURBbXNEL0Iya3llOFRJVzk1VkFBQUFBRWxGVGtTdVFtQ0NcIjtcbiJdLCJuYW1lcyI6WyJtb2R1bGUiLCJleHBvcnRzIiwiZSIsIm4iLCJyIiwiaSIsInMiLCJ1IiwiYSIsIm8iLCJjIiwiZiIsImgiLCJkIiwibCIsIiQiLCJ5IiwiTSIsIm5hbWUiLCJ3ZWVrZGF5cyIsInNwbGl0IiwibW9udGhzIiwib3JkaW5hbCIsInQiLCJtIiwiU3RyaW5nIiwibGVuZ3RoIiwiQXJyYXkiLCJqb2luIiwidiIsInoiLCJ1dGNPZmZzZXQiLCJNYXRoIiwiYWJzIiwiZmxvb3IiLCJkYXRlIiwieWVhciIsIm1vbnRoIiwiY2xvbmUiLCJhZGQiLCJjZWlsIiwicCIsInciLCJEIiwibXMiLCJRIiwidG9Mb3dlckNhc2UiLCJyZXBsYWNlIiwiZyIsIlMiLCJfIiwiTyIsImFyZ3MiLCJhcmd1bWVudHMiLCJiIiwibG9jYWxlIiwiJEwiLCJ1dGMiLCIkdSIsIngiLCIkeCIsIiRvZmZzZXQiLCJ0aGlzIiwicGFyc2UiLCJwcm90b3R5cGUiLCIkZCIsIkRhdGUiLCJOYU4iLCJ0ZXN0IiwibWF0Y2giLCJzdWJzdHJpbmciLCJVVEMiLCJpbml0IiwiJHkiLCJnZXRGdWxsWWVhciIsIiRNIiwiZ2V0TW9udGgiLCIkRCIsImdldERhdGUiLCIkVyIsImdldERheSIsIiRIIiwiZ2V0SG91cnMiLCIkbSIsImdldE1pbnV0ZXMiLCIkcyIsImdldFNlY29uZHMiLCIkbXMiLCJnZXRNaWxsaXNlY29uZHMiLCIkdXRpbHMiLCJpc1ZhbGlkIiwidG9TdHJpbmciLCJpc1NhbWUiLCJzdGFydE9mIiwiZW5kT2YiLCJpc0FmdGVyIiwiaXNCZWZvcmUiLCIkZyIsInNldCIsInVuaXgiLCJ2YWx1ZU9mIiwiZ2V0VGltZSIsInRvRGF0ZSIsImFwcGx5Iiwic2xpY2UiLCIkbG9jYWxlIiwid2Vla1N0YXJ0IiwiJHNldCIsIm1pbiIsImRheXNJbk1vbnRoIiwiZ2V0IiwiTnVtYmVyIiwicm91bmQiLCJzdWJ0cmFjdCIsImZvcm1hdCIsImludmFsaWREYXRlIiwibWVyaWRpZW0iLCJtb250aHNTaG9ydCIsIndlZWtkYXlzTWluIiwid2Vla2RheXNTaG9ydCIsImdldFRpbWV6b25lT2Zmc2V0IiwiZGlmZiIsInRvSlNPTiIsInRvSVNPU3RyaW5nIiwidG9VVENTdHJpbmciLCJrIiwiZm9yRWFjaCIsImV4dGVuZCIsIiRpIiwiaXNEYXlqcyIsImVuIiwiTHMiLCJfX3dlYnBhY2tfbW9kdWxlX2NhY2hlX18iLCJfX3dlYnBhY2tfcmVxdWlyZV9fIiwibW9kdWxlSWQiLCJjYWNoZWRNb2R1bGUiLCJ1bmRlZmluZWQiLCJfX3dlYnBhY2tfbW9kdWxlc19fIiwiY2FsbCIsImdldHRlciIsIl9fZXNNb2R1bGUiLCJkZWZpbml0aW9uIiwia2V5IiwiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJlbnVtZXJhYmxlIiwib2JqIiwicHJvcCIsImhhc093blByb3BlcnR5IiwiZ2xvYmFsVGhpcyIsIlNoYWRvd1Jvb3QiLCJTaGFkeUNTUyIsIm5hdGl2ZVNoYWRvdyIsIkRvY3VtZW50IiwiQ1NTU3R5bGVTaGVldCIsIlN5bWJvbCIsIldlYWtNYXAiLCJjb25zdHJ1Y3RvciIsIl8kY3NzUmVzdWx0JCIsIkVycm9yIiwiY3NzVGV4dCIsInN0eWxlU2hlZXQiLCJyZXBsYWNlU3luYyIsInJlZHVjZSIsImFkb3B0ZWRTdHlsZVNoZWV0cyIsIm1hcCIsImRvY3VtZW50IiwiY3JlYXRlRWxlbWVudCIsImxpdE5vbmNlIiwic2V0QXR0cmlidXRlIiwidGV4dENvbnRlbnQiLCJhcHBlbmRDaGlsZCIsImNzc1J1bGVzIiwiaXMiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJnZXRPd25Qcm9wZXJ0eU5hbWVzIiwiZ2V0T3duUHJvcGVydHlTeW1ib2xzIiwiZ2V0UHJvdG90eXBlT2YiLCJ0cnVzdGVkVHlwZXMiLCJlbXB0eVNjcmlwdCIsInJlYWN0aXZlRWxlbWVudFBvbHlmaWxsU3VwcG9ydCIsInRvQXR0cmlidXRlIiwiQm9vbGVhbiIsIkpTT04iLCJzdHJpbmdpZnkiLCJmcm9tQXR0cmlidXRlIiwiYXR0cmlidXRlIiwidHlwZSIsImNvbnZlcnRlciIsInJlZmxlY3QiLCJoYXNDaGFuZ2VkIiwibWV0YWRhdGEiLCJsaXRQcm9wZXJ0eU1ldGFkYXRhIiwiSFRNTEVsZW1lbnQiLCJhZGRJbml0aWFsaXplciIsIl8kRWkiLCJwdXNoIiwib2JzZXJ2ZWRBdHRyaWJ1dGVzIiwiZmluYWxpemUiLCJfJEVoIiwia2V5cyIsImNyZWF0ZVByb3BlcnR5Iiwic3RhdGUiLCJlbGVtZW50UHJvcGVydGllcyIsIm5vQWNjZXNzb3IiLCJnZXRQcm9wZXJ0eURlc2NyaXB0b3IiLCJyZXF1ZXN0VXBkYXRlIiwiY29uZmlndXJhYmxlIiwiZ2V0UHJvcGVydHlPcHRpb25zIiwiTWFwIiwiZmluYWxpemVkIiwicHJvcGVydGllcyIsIl8kRXUiLCJlbGVtZW50U3R5bGVzIiwiZmluYWxpemVTdHlsZXMiLCJzdHlsZXMiLCJpc0FycmF5IiwiU2V0IiwiZmxhdCIsInJldmVyc2UiLCJ1bnNoaWZ0Iiwic3VwZXIiLCJfJEVwIiwiaXNVcGRhdGVQZW5kaW5nIiwiaGFzVXBkYXRlZCIsIl8kRW0iLCJfJEV2IiwiXyRFUyIsIlByb21pc2UiLCJlbmFibGVVcGRhdGluZyIsIl8kQUwiLCJfJEVfIiwiYWRkQ29udHJvbGxlciIsIl8kRU8iLCJyZW5kZXJSb290IiwiaXNDb25uZWN0ZWQiLCJob3N0Q29ubmVjdGVkIiwicmVtb3ZlQ29udHJvbGxlciIsImRlbGV0ZSIsInNpemUiLCJjcmVhdGVSZW5kZXJSb290Iiwic2hhZG93Um9vdCIsImF0dGFjaFNoYWRvdyIsInNoYWRvd1Jvb3RPcHRpb25zIiwiY29ubmVjdGVkQ2FsbGJhY2siLCJkaXNjb25uZWN0ZWRDYWxsYmFjayIsImhvc3REaXNjb25uZWN0ZWQiLCJhdHRyaWJ1dGVDaGFuZ2VkQ2FsbGJhY2siLCJfJEFLIiwiXyRFQyIsInJlbW92ZUF0dHJpYnV0ZSIsIlAiLCJfJEVUIiwiaGFzIiwiXyRFaiIsInJlamVjdCIsInNjaGVkdWxlVXBkYXRlIiwicGVyZm9ybVVwZGF0ZSIsIndyYXBwZWQiLCJzaG91bGRVcGRhdGUiLCJ3aWxsVXBkYXRlIiwiaG9zdFVwZGF0ZSIsInVwZGF0ZSIsIl8kRVUiLCJfJEFFIiwiaG9zdFVwZGF0ZWQiLCJmaXJzdFVwZGF0ZWQiLCJ1cGRhdGVkIiwidXBkYXRlQ29tcGxldGUiLCJnZXRVcGRhdGVDb21wbGV0ZSIsIm1vZGUiLCJSZWFjdGl2ZUVsZW1lbnQiLCJyZWFjdGl2ZUVsZW1lbnRWZXJzaW9ucyIsImNyZWF0ZVBvbGljeSIsImNyZWF0ZUhUTUwiLCJyYW5kb20iLCJ0b0ZpeGVkIiwiY3JlYXRlQ29tbWVudCIsIlJlZ0V4cCIsIl8kbGl0VHlwZSQiLCJzdHJpbmdzIiwidmFsdWVzIiwiVCIsImZvciIsIkUiLCJBIiwiQyIsImNyZWF0ZVRyZWVXYWxrZXIiLCJWIiwibGFzdEluZGV4IiwiZXhlYyIsInN0YXJ0c1dpdGgiLCJOIiwicGFydHMiLCJlbCIsImN1cnJlbnROb2RlIiwiY29udGVudCIsImZpcnN0Q2hpbGQiLCJyZXBsYWNlV2l0aCIsImNoaWxkTm9kZXMiLCJuZXh0Tm9kZSIsIm5vZGVUeXBlIiwiaGFzQXR0cmlidXRlcyIsImdldEF0dHJpYnV0ZU5hbWVzIiwiZW5kc1dpdGgiLCJnZXRBdHRyaWJ1dGUiLCJpbmRleCIsImN0b3IiLCJIIiwiSSIsIkwiLCJ0YWdOYW1lIiwiYXBwZW5kIiwiZGF0YSIsImluZGV4T2YiLCJpbm5lckhUTUwiLCJfJENvIiwiXyRDbCIsIl8kbGl0RGlyZWN0aXZlJCIsIl8kQU8iLCJfJEFUIiwiXyRBUyIsIl8kQVYiLCJfJEFOIiwiXyRBRCIsIl8kQU0iLCJwYXJlbnROb2RlIiwiXyRBVSIsImNyZWF0aW9uU2NvcGUiLCJpbXBvcnROb2RlIiwiUiIsIm5leHRTaWJsaW5nIiwiXyRBSSIsIl8kQ3YiLCJfJEFIIiwiXyRBQSIsIl8kQUIiLCJvcHRpb25zIiwic3RhcnROb2RlIiwiZW5kTm9kZSIsIl8kQVIiLCJpdGVyYXRvciIsImluc2VydEJlZm9yZSIsImNyZWF0ZVRleHROb2RlIiwiXyRBQyIsIl8kQVAiLCJyZW1vdmUiLCJzZXRDb25uZWN0ZWQiLCJlbGVtZW50IiwiZmlsbCIsImoiLCJ0b2dnbGVBdHRyaWJ1dGUiLCJjYXB0dXJlIiwib25jZSIsInBhc3NpdmUiLCJyZW1vdmVFdmVudExpc3RlbmVyIiwiYWRkRXZlbnRMaXN0ZW5lciIsImhhbmRsZUV2ZW50IiwiaG9zdCIsImxpdEh0bWxQb2x5ZmlsbFN1cHBvcnQiLCJsaXRIdG1sVmVyc2lvbnMiLCJyZW5kZXJPcHRpb25zIiwiXyREbyIsInJlbmRlckJlZm9yZSIsInJlbmRlciIsIl8kbGl0UGFydCQiLCJfJGxpdEVsZW1lbnQkIiwibGl0RWxlbWVudEh5ZHJhdGVTdXBwb3J0IiwiTGl0RWxlbWVudCIsImxpdEVsZW1lbnRQb2x5ZmlsbFN1cHBvcnQiLCJsaXRFbGVtZW50VmVyc2lvbnMiLCJraW5kIiwiQ2F0ZWdvcnkiLCJDYXRlZ29yaWVzIiwiY2luZW1hTW92aWUiLCJuZXdzSXRlbSIsIm5ld3NQcmVzZW50ZXIiLCJyYWRpb1NvbmciLCJzaG93Yml6eiIsInNwb3J0cyIsInRlY2giLCJ0dlNob3dPclNlcmllcyIsIlV0aWwiLCJhc3luY0ZvcmVhY2giLCJhcnJheSIsImNhbGxiYWNrIiwicmVtb3ZlQWxsQ2hpbGRyZW4iLCJwYXJlbnRFbGVtZW50IiwiY2hpbGRUb0RlbGV0ZSIsImxhc3RDaGlsZCIsInJlbW92ZUNoaWxkIiwic2h1ZmZsZUFycmF5Iiwic29ydCIsImRvYlRvR2VuZXJhdGlvbiIsImRvYiIsIkFwaVNlcnZpY2UiLCJ0ZWVlQXBpVXJsIiwiZmV0Y2hPbmVJbmNpZGVudCIsInBvdiIsImNhdGVnb3J5IiwiZW1vdGlvbiIsImltcGFjdCIsImZyb20iLCJ0byIsIm1heExhc3RlZCIsInZhcmlhbnQiLCJhc3luYyIsInJlc29sdmUiLCJjb25zb2xlIiwiZGVidWciLCJwb3ZzIiwiY2F0ZWdvcmllcyIsImVtb3Rpb25zIiwiaW1wYWN0cyIsImRhdGVTdHJpbmciLCJmcm9tU3RyaW5nIiwibWF4TGFzdGVkU3RyaW5nIiwidmFyaWFudHMiLCJ1cmxzIiwidXJsU2VhcmNoIiwiVVJMU2VhcmNoUGFyYW1zIiwibGltaXQiLCJ1cmwiLCJVUkwiLCJzZWFyY2giLCJpbmNpZGVudHMiLCJyZXNwb25zZSIsImZldGNoIiwianNvbiIsImNvbmNhdCIsInJlc3VsdHMiLCJmaXJzdEluY2lkZW50SW5MaXN0Iiwic291cmNlc0ZvdW5kSW5JbmNpZGVudHMiLCJpbmNpZGVudCIsInNvdXJjZSIsInNvdXJjZXMiLCJwb3N0QXR0cmlidXRlUXVhbGl0eUZlZWRiYWNrIiwiaW5jaWRlbnRpZCIsInZhbHVlIiwicmVtYXJrIiwibWV0aG9kIiwiaGVhZGVycyIsIkFjY2VwdCIsImJvZHkiLCJwb3N0SW5jaWRlbnRGZWVkYmFjayIsImluY2lkZW50UmVjYWxsYWJpbGl0eSIsImlzX2NvcnJlY3QiLCJDb250ZW50RmVlZGJhY2siLCJHYW1lU3RhdGUiLCJOTCIsIkhpbnRUZW1wbGF0ZXMiLCJ0cmFuc2xhdGUiLCJRdWVzdGlvblNjb3JlQ29udHJvbGxlciIsInN0YXJ0VmFsdWUiLCJ0aW1lb3V0Iiwic3RhcnQiLCJfdGltZXJJRCIsInNldEludGVydmFsIiwic3RvcCIsImNsZWFySW50ZXJ2YWwiLCJyZXNldCIsImlzUnVubmluZyIsInNldFRpbWVvdXQiLCJ3aW5kb3ciLCJNSU5fWUVBUiIsIk1BWF9ZRUFSIiwicGFyc2VJbnQiLCJHVFlfRlJPTV9ZRUFSX1ZBUiIsIkdUWV9UT19ZRUFSX1ZBUiIsIkdUWV9OVU1fUVVFU1RJT05TX1ZBUiIsIk1JTl9ET0IiLCJHVFlfUExBWUVSX0RPQl9WQVIiLCJHdWVzc1RoZVllYXIiLCJsb2FkaW5nIiwiX2xvYWRpbmciLCJyZXBvcnRCcm9rZW5JbWFnZXMiLCJjb3VudHJ5IiwibG9jYWxTdG9yYWdlIiwiZ2V0SXRlbSIsIm5vSW1hZ2VTcmMiLCJzdXBwcmVzc0ltYWdlcyIsIm1heEhpbnRzIiwibnVtYmVyT2ZRdWVzdGlvbnMiLCJNQVhfUVVFU1RJT05TIiwiX251bWJlck9mUXVlc3Rpb25zU2VlbiIsIl9wbGF5ZXJEb2IiLCJfaW5jaWRlbnQiLCJfYW5zd2VycyIsIl9oaW50IiwiX3Nob3dIaW50IiwiX3Nob3dGb290ZXIiLCJfaGludHNJbmRleCIsIl9oaW50cyIsIl9zb2x1dGlvbiIsIl9yZW5kZXJTdGF0ZSIsIklOSVQiLCJfc2NvcmUiLCJ0b3RhbFNjb3JlIiwiX2Fuc3dlciIsIl9hcGlTZXJ2aWNlIiwiaTE4biIsIl9oYW5kbGVJbWFnZUxvYWRFcnJvciIsImV2dCIsInRhcmdldEltYWdlIiwidGFyZ2V0Iiwic3JjIiwiaWQiLCJpbmNvcnJlY3QiLCJfc2NvcmUwIiwiU1BMQVNIIiwiY2hhbmdlZFByb3BlcnRpZXMiLCJyZW5kZXJTcGxhc2hTY3JlZW4iLCJJTlRSTyIsInJlbmRlckdhbWVJbnRybyIsIlBMQVkiLCJyZW5kZXJHYW1lU3RhZ2UiLCJFTkQiLCJyZW5kZXJHYW1lRW5kIiwiX3JlbmRlckZvb3RlciIsImNvbG9yRWxlbWVudCIsImNvbG9yIiwicXVlcnlTZWxlY3RvciIsInN0eWxlIiwic2V0UHJvcGVydHkiLCJfcmVuZGVySGVhZGVyIiwiX3JlbmRlclllYXJTdGVwWFNlbGVjdE9wdGlvbnMiLCJzdGVwIiwic2VsZWN0ZWRWYWx1ZSIsInNlbGVjdGVkIiwic2VsZWN0WWVhck9wdGlvbnMiLCJzZWxlY3RRdWVzdGlvbk9wdGlvbnMiLCJfc2V0UGxheWVyRG9iIiwiX3NldE51bWJlck9mUXVlc3Rpb25zIiwiX3NldEZyb21EYXRlIiwiX3NldFRvRGF0ZSIsInNldHVwTmV3R2FtZSIsImV2ZW50Iiwic2V0SXRlbSIsIl9yZW5kZXJHYW1lU2NvcmUiLCJfcmVuZGVySW5jaWRlbnQiLCJfcmVuZGVySGludCIsInJlbmRlclNvdXJjZXMiLCJfcmVuZGVySGludEJ1dHRvbiIsIl9yZW5kZXJBbnN3ZXJzIiwiX3JlbmRlckZlZWRiYWNrIiwidGl0bGUiLCJfcmVuZGVySW5jaWRlbnRJbWFnZSIsInRleHQiLCJfc2hvdWxkRGlzcGxheUFuSW1hZ2UiLCJoYXNJbWFnZSIsImltYWdlIiwiZGlzcGxheUltYWdlcyIsImFuc3dlciIsIl9oYW5kbGVBbnN3ZXJDbGlja2VkIiwiX2hhbmRsZUhpbnRDbGlja2VkIiwiaGludFRleHQiLCJfZ2VuZXJhdGVIaW50VGV4dCIsInNjb3JlIiwiX3JlbmRlck5leHRRdWVzdGlvbkJ1dHRvbiIsIl9sb2FkUXVlc3Rpb24iLCJfZW5kR2FtZSIsIl9yZXNldFN0YWdlIiwieWVhcnBsdXNtb250aCIsImFuc3dlcnMiLCJyYW5kb21BbnN3ZXIiLCJpbmNsdWRlcyIsInNoaWZ0IiwiaGludEluY2lkZW50IiwiaGludCIsImhpbnRUZW1wbGF0ZXMiLCJ0cmFjayIsImFydGlzdCIsIkRheWpzIiwiY3VzdG9tRWxlbWVudHMiLCJkZWZpbmUiXSwic291cmNlUm9vdCI6IiJ9
194
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,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Y2VzIjpbIndlYnBhY2s6Ly9ndWVzcy10aGUteWVhci13ZWItY29tcG9uZW50Ly4vbm9kZV9tb2R1bGVzL2RheWpzL2RheWpzLm1pbi5qcyIsIndlYnBhY2s6Ly9ndWVzcy10aGUteWVhci13ZWItY29tcG9uZW50L3dlYnBhY2svYm9vdHN0cmFwIiwid2VicGFjazovL2d1ZXNzLXRoZS15ZWFyLXdlYi1jb21wb25lbnQvd2VicGFjay9ydW50aW1lL2NvbXBhdCBnZXQgZGVmYXVsdCBleHBvcnQiLCJ3ZWJwYWNrOi8vZ3Vlc3MtdGhlLXllYXItd2ViLWNvbXBvbmVudC93ZWJwYWNrL3J1bnRpbWUvZGVmaW5lIHByb3BlcnR5IGdldHRlcnMiLCJ3ZWJwYWNrOi8vZ3Vlc3MtdGhlLXllYXItd2ViLWNvbXBvbmVudC93ZWJwYWNrL3J1bnRpbWUvaGFzT3duUHJvcGVydHkgc2hvcnRoYW5kIiwid2VicGFjazovL2d1ZXNzLXRoZS15ZWFyLXdlYi1jb21wb25lbnQvLi9ub2RlX21vZHVsZXMvQGxpdC9yZWFjdGl2ZS1lbGVtZW50L2Nzcy10YWcuanMiLCJ3ZWJwYWNrOi8vZ3Vlc3MtdGhlLXllYXItd2ViLWNvbXBvbmVudC8uL25vZGVfbW9kdWxlcy9AbGl0L3JlYWN0aXZlLWVsZW1lbnQvcmVhY3RpdmUtZWxlbWVudC5qcyIsIndlYnBhY2s6Ly9ndWVzcy10aGUteWVhci13ZWItY29tcG9uZW50Ly4vbm9kZV9tb2R1bGVzL2xpdC1odG1sL2xpdC1odG1sLmpzIiwid2VicGFjazovL2d1ZXNzLXRoZS15ZWFyLXdlYi1jb21wb25lbnQvLi9ub2RlX21vZHVsZXMvbGl0LWVsZW1lbnQvbGl0LWVsZW1lbnQuanMiLCJ3ZWJwYWNrOi8vZ3Vlc3MtdGhlLXllYXItd2ViLWNvbXBvbmVudC8uL25vZGVfbW9kdWxlcy9AbGl0L3JlYWN0aXZlLWVsZW1lbnQvZGVjb3JhdG9ycy9jdXN0b20tZWxlbWVudC5qcyIsIndlYnBhY2s6Ly9ndWVzcy10aGUteWVhci13ZWItY29tcG9uZW50Ly4vbm9kZV9tb2R1bGVzL0BsaXQvcmVhY3RpdmUtZWxlbWVudC9kZWNvcmF0b3JzL3Byb3BlcnR5LmpzIiwid2VicGFjazovL2d1ZXNzLXRoZS15ZWFyLXdlYi1jb21wb25lbnQvLi9ub2RlX21vZHVsZXMvQGxpdC9yZWFjdGl2ZS1lbGVtZW50L2RlY29yYXRvcnMvc3RhdGUuanMiLCJ3ZWJwYWNrOi8vZ3Vlc3MtdGhlLXllYXItd2ViLWNvbXBvbmVudC8uL3NyYy9saWIvSW5jaWRlbnQudHMiLCJ3ZWJwYWNrOi8vZ3Vlc3MtdGhlLXllYXItd2ViLWNvbXBvbmVudC8uL3NyYy9saWIvVXRpbC50cyIsIndlYnBhY2s6Ly9ndWVzcy10aGUteWVhci13ZWItY29tcG9uZW50Ly4vc3JjL2xpYi9BcGlTZXJ2aWNlLnRzIiwid2VicGFjazovL2d1ZXNzLXRoZS15ZWFyLXdlYi1jb21wb25lbnQvLi9zcmMvbGliL2VudW1zLnRzIiwid2VicGFjazovL2d1ZXNzLXRoZS15ZWFyLXdlYi1jb21wb25lbnQvLi9zcmMvbGliL2kxOG4vTkwudHMiLCJ3ZWJwYWNrOi8vZ3Vlc3MtdGhlLXllYXItd2ViLWNvbXBvbmVudC8uL3NyYy9zY3NzL21haW4uc2NzcyIsIndlYnBhY2s6Ly9ndWVzcy10aGUteWVhci13ZWItY29tcG9uZW50Ly4vc3JjL2xpYi9jb250cm9sbGVyL3Njb3JlY29udHJvbGxlci50cyIsIndlYnBhY2s6Ly9ndWVzcy10aGUteWVhci13ZWItY29tcG9uZW50Ly4vc3JjL2d1ZXNzLXRoZS15ZWFyLnRzIiwid2VicGFjazovL2d1ZXNzLXRoZS15ZWFyLXdlYi1jb21wb25lbnQvLi9zcmMvbGliL2kxOG4vaTE4bi50cyIsIndlYnBhY2s6Ly9ndWVzcy10aGUteWVhci13ZWItY29tcG9uZW50Ly4vc3JjL2xpYi9JY29uLnRzIl0sInNvdXJjZXNDb250ZW50IjpbIiFmdW5jdGlvbih0LGUpe1wib2JqZWN0XCI9PXR5cGVvZiBleHBvcnRzJiZcInVuZGVmaW5lZFwiIT10eXBlb2YgbW9kdWxlP21vZHVsZS5leHBvcnRzPWUoKTpcImZ1bmN0aW9uXCI9PXR5cGVvZiBkZWZpbmUmJmRlZmluZS5hbWQ/ZGVmaW5lKGUpOih0PVwidW5kZWZpbmVkXCIhPXR5cGVvZiBnbG9iYWxUaGlzP2dsb2JhbFRoaXM6dHx8c2VsZikuZGF5anM9ZSgpfSh0aGlzLChmdW5jdGlvbigpe1widXNlIHN0cmljdFwiO3ZhciB0PTFlMyxlPTZlNCxuPTM2ZTUscj1cIm1pbGxpc2Vjb25kXCIsaT1cInNlY29uZFwiLHM9XCJtaW51dGVcIix1PVwiaG91clwiLGE9XCJkYXlcIixvPVwid2Vla1wiLGM9XCJtb250aFwiLGY9XCJxdWFydGVyXCIsaD1cInllYXJcIixkPVwiZGF0ZVwiLGw9XCJJbnZhbGlkIERhdGVcIiwkPS9eKFxcZHs0fSlbLS9dPyhcXGR7MSwyfSk/Wy0vXT8oXFxkezAsMn0pW1R0XFxzXSooXFxkezEsMn0pPzo/KFxcZHsxLDJ9KT86PyhcXGR7MSwyfSk/Wy46XT8oXFxkKyk/JC8seT0vXFxbKFteXFxdXSspXXxZezEsNH18TXsxLDR9fER7MSwyfXxkezEsNH18SHsxLDJ9fGh7MSwyfXxhfEF8bXsxLDJ9fHN7MSwyfXxaezEsMn18U1NTL2csTT17bmFtZTpcImVuXCIsd2Vla2RheXM6XCJTdW5kYXlfTW9uZGF5X1R1ZXNkYXlfV2VkbmVzZGF5X1RodXJzZGF5X0ZyaWRheV9TYXR1cmRheVwiLnNwbGl0KFwiX1wiKSxtb250aHM6XCJKYW51YXJ5X0ZlYnJ1YXJ5X01hcmNoX0FwcmlsX01heV9KdW5lX0p1bHlfQXVndXN0X1NlcHRlbWJlcl9PY3RvYmVyX05vdmVtYmVyX0RlY2VtYmVyXCIuc3BsaXQoXCJfXCIpLG9yZGluYWw6ZnVuY3Rpb24odCl7dmFyIGU9W1widGhcIixcInN0XCIsXCJuZFwiLFwicmRcIl0sbj10JTEwMDtyZXR1cm5cIltcIit0KyhlWyhuLTIwKSUxMF18fGVbbl18fGVbMF0pK1wiXVwifX0sbT1mdW5jdGlvbih0LGUsbil7dmFyIHI9U3RyaW5nKHQpO3JldHVybiFyfHxyLmxlbmd0aD49ZT90OlwiXCIrQXJyYXkoZSsxLXIubGVuZ3RoKS5qb2luKG4pK3R9LHY9e3M6bSx6OmZ1bmN0aW9uKHQpe3ZhciBlPS10LnV0Y09mZnNldCgpLG49TWF0aC5hYnMoZSkscj1NYXRoLmZsb29yKG4vNjApLGk9biU2MDtyZXR1cm4oZTw9MD9cIitcIjpcIi1cIikrbShyLDIsXCIwXCIpK1wiOlwiK20oaSwyLFwiMFwiKX0sbTpmdW5jdGlvbiB0KGUsbil7aWYoZS5kYXRlKCk8bi5kYXRlKCkpcmV0dXJuLXQobixlKTt2YXIgcj0xMioobi55ZWFyKCktZS55ZWFyKCkpKyhuLm1vbnRoKCktZS5tb250aCgpKSxpPWUuY2xvbmUoKS5hZGQocixjKSxzPW4taTwwLHU9ZS5jbG9uZSgpLmFkZChyKyhzPy0xOjEpLGMpO3JldHVybisoLShyKyhuLWkpLyhzP2ktdTp1LWkpKXx8MCl9LGE6ZnVuY3Rpb24odCl7cmV0dXJuIHQ8MD9NYXRoLmNlaWwodCl8fDA6TWF0aC5mbG9vcih0KX0scDpmdW5jdGlvbih0KXtyZXR1cm57TTpjLHk6aCx3Om8sZDphLEQ6ZCxoOnUsbTpzLHM6aSxtczpyLFE6Zn1bdF18fFN0cmluZyh0fHxcIlwiKS50b0xvd2VyQ2FzZSgpLnJlcGxhY2UoL3MkLyxcIlwiKX0sdTpmdW5jdGlvbih0KXtyZXR1cm4gdm9pZCAwPT09dH19LGc9XCJlblwiLEQ9e307RFtnXT1NO3ZhciBwPVwiJGlzRGF5anNPYmplY3RcIixTPWZ1bmN0aW9uKHQpe3JldHVybiB0IGluc3RhbmNlb2YgX3x8ISghdHx8IXRbcF0pfSx3PWZ1bmN0aW9uIHQoZSxuLHIpe3ZhciBpO2lmKCFlKXJldHVybiBnO2lmKFwic3RyaW5nXCI9PXR5cGVvZiBlKXt2YXIgcz1lLnRvTG93ZXJDYXNlKCk7RFtzXSYmKGk9cyksbiYmKERbc109bixpPXMpO3ZhciB1PWUuc3BsaXQoXCItXCIpO2lmKCFpJiZ1Lmxlbmd0aD4xKXJldHVybiB0KHVbMF0pfWVsc2V7dmFyIGE9ZS5uYW1lO0RbYV09ZSxpPWF9cmV0dXJuIXImJmkmJihnPWkpLGl8fCFyJiZnfSxPPWZ1bmN0aW9uKHQsZSl7aWYoUyh0KSlyZXR1cm4gdC5jbG9uZSgpO3ZhciBuPVwib2JqZWN0XCI9PXR5cGVvZiBlP2U6e307cmV0dXJuIG4uZGF0ZT10LG4uYXJncz1hcmd1bWVudHMsbmV3IF8obil9LGI9djtiLmw9dyxiLmk9UyxiLnc9ZnVuY3Rpb24odCxlKXtyZXR1cm4gTyh0LHtsb2NhbGU6ZS4kTCx1dGM6ZS4kdSx4OmUuJHgsJG9mZnNldDplLiRvZmZzZXR9KX07dmFyIF89ZnVuY3Rpb24oKXtmdW5jdGlvbiBNKHQpe3RoaXMuJEw9dyh0LmxvY2FsZSxudWxsLCEwKSx0aGlzLnBhcnNlKHQpLHRoaXMuJHg9dGhpcy4keHx8dC54fHx7fSx0aGlzW3BdPSEwfXZhciBtPU0ucHJvdG90eXBlO3JldHVybiBtLnBhcnNlPWZ1bmN0aW9uKHQpe3RoaXMuJGQ9ZnVuY3Rpb24odCl7dmFyIGU9dC5kYXRlLG49dC51dGM7aWYobnVsbD09PWUpcmV0dXJuIG5ldyBEYXRlKE5hTik7aWYoYi51KGUpKXJldHVybiBuZXcgRGF0ZTtpZihlIGluc3RhbmNlb2YgRGF0ZSlyZXR1cm4gbmV3IERhdGUoZSk7aWYoXCJzdHJpbmdcIj09dHlwZW9mIGUmJiEvWiQvaS50ZXN0KGUpKXt2YXIgcj1lLm1hdGNoKCQpO2lmKHIpe3ZhciBpPXJbMl0tMXx8MCxzPShyWzddfHxcIjBcIikuc3Vic3RyaW5nKDAsMyk7cmV0dXJuIG4/bmV3IERhdGUoRGF0ZS5VVEMoclsxXSxpLHJbM118fDEscls0XXx8MCxyWzVdfHwwLHJbNl18fDAscykpOm5ldyBEYXRlKHJbMV0saSxyWzNdfHwxLHJbNF18fDAscls1XXx8MCxyWzZdfHwwLHMpfX1yZXR1cm4gbmV3IERhdGUoZSl9KHQpLHRoaXMuaW5pdCgpfSxtLmluaXQ9ZnVuY3Rpb24oKXt2YXIgdD10aGlzLiRkO3RoaXMuJHk9dC5nZXRGdWxsWWVhcigpLHRoaXMuJE09dC5nZXRNb250aCgpLHRoaXMuJEQ9dC5nZXREYXRlKCksdGhpcy4kVz10LmdldERheSgpLHRoaXMuJEg9dC5nZXRIb3VycygpLHRoaXMuJG09dC5nZXRNaW51dGVzKCksdGhpcy4kcz10LmdldFNlY29uZHMoKSx0aGlzLiRtcz10LmdldE1pbGxpc2Vjb25kcygpfSxtLiR1dGlscz1mdW5jdGlvbigpe3JldHVybiBifSxtLmlzVmFsaWQ9ZnVuY3Rpb24oKXtyZXR1cm4hKHRoaXMuJGQudG9TdHJpbmcoKT09PWwpfSxtLmlzU2FtZT1mdW5jdGlvbih0LGUpe3ZhciBuPU8odCk7cmV0dXJuIHRoaXMuc3RhcnRPZihlKTw9biYmbjw9dGhpcy5lbmRPZihlKX0sbS5pc0FmdGVyPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIE8odCk8dGhpcy5zdGFydE9mKGUpfSxtLmlzQmVmb3JlPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIHRoaXMuZW5kT2YoZSk8Tyh0KX0sbS4kZz1mdW5jdGlvbih0LGUsbil7cmV0dXJuIGIudSh0KT90aGlzW2VdOnRoaXMuc2V0KG4sdCl9LG0udW5peD1mdW5jdGlvbigpe3JldHVybiBNYXRoLmZsb29yKHRoaXMudmFsdWVPZigpLzFlMyl9LG0udmFsdWVPZj1mdW5jdGlvbigpe3JldHVybiB0aGlzLiRkLmdldFRpbWUoKX0sbS5zdGFydE9mPWZ1bmN0aW9uKHQsZSl7dmFyIG49dGhpcyxyPSEhYi51KGUpfHxlLGY9Yi5wKHQpLGw9ZnVuY3Rpb24odCxlKXt2YXIgaT1iLncobi4kdT9EYXRlLlVUQyhuLiR5LGUsdCk6bmV3IERhdGUobi4keSxlLHQpLG4pO3JldHVybiByP2k6aS5lbmRPZihhKX0sJD1mdW5jdGlvbih0LGUpe3JldHVybiBiLncobi50b0RhdGUoKVt0XS5hcHBseShuLnRvRGF0ZShcInNcIiksKHI/WzAsMCwwLDBdOlsyMyw1OSw1OSw5OTldKS5zbGljZShlKSksbil9LHk9dGhpcy4kVyxNPXRoaXMuJE0sbT10aGlzLiRELHY9XCJzZXRcIisodGhpcy4kdT9cIlVUQ1wiOlwiXCIpO3N3aXRjaChmKXtjYXNlIGg6cmV0dXJuIHI/bCgxLDApOmwoMzEsMTEpO2Nhc2UgYzpyZXR1cm4gcj9sKDEsTSk6bCgwLE0rMSk7Y2FzZSBvOnZhciBnPXRoaXMuJGxvY2FsZSgpLndlZWtTdGFydHx8MCxEPSh5PGc/eSs3OnkpLWc7cmV0dXJuIGwocj9tLUQ6bSsoNi1EKSxNKTtjYXNlIGE6Y2FzZSBkOnJldHVybiAkKHYrXCJIb3Vyc1wiLDApO2Nhc2UgdTpyZXR1cm4gJCh2K1wiTWludXRlc1wiLDEpO2Nhc2UgczpyZXR1cm4gJCh2K1wiU2Vjb25kc1wiLDIpO2Nhc2UgaTpyZXR1cm4gJCh2K1wiTWlsbGlzZWNvbmRzXCIsMyk7ZGVmYXVsdDpyZXR1cm4gdGhpcy5jbG9uZSgpfX0sbS5lbmRPZj1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5zdGFydE9mKHQsITEpfSxtLiRzZXQ9ZnVuY3Rpb24odCxlKXt2YXIgbixvPWIucCh0KSxmPVwic2V0XCIrKHRoaXMuJHU/XCJVVENcIjpcIlwiKSxsPShuPXt9LG5bYV09ZitcIkRhdGVcIixuW2RdPWYrXCJEYXRlXCIsbltjXT1mK1wiTW9udGhcIixuW2hdPWYrXCJGdWxsWWVhclwiLG5bdV09ZitcIkhvdXJzXCIsbltzXT1mK1wiTWludXRlc1wiLG5baV09ZitcIlNlY29uZHNcIixuW3JdPWYrXCJNaWxsaXNlY29uZHNcIixuKVtvXSwkPW89PT1hP3RoaXMuJEQrKGUtdGhpcy4kVyk6ZTtpZihvPT09Y3x8bz09PWgpe3ZhciB5PXRoaXMuY2xvbmUoKS5zZXQoZCwxKTt5LiRkW2xdKCQpLHkuaW5pdCgpLHRoaXMuJGQ9eS5zZXQoZCxNYXRoLm1pbih0aGlzLiRELHkuZGF5c0luTW9udGgoKSkpLiRkfWVsc2UgbCYmdGhpcy4kZFtsXSgkKTtyZXR1cm4gdGhpcy5pbml0KCksdGhpc30sbS5zZXQ9ZnVuY3Rpb24odCxlKXtyZXR1cm4gdGhpcy5jbG9uZSgpLiRzZXQodCxlKX0sbS5nZXQ9ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXNbYi5wKHQpXSgpfSxtLmFkZD1mdW5jdGlvbihyLGYpe3ZhciBkLGw9dGhpcztyPU51bWJlcihyKTt2YXIgJD1iLnAoZikseT1mdW5jdGlvbih0KXt2YXIgZT1PKGwpO3JldHVybiBiLncoZS5kYXRlKGUuZGF0ZSgpK01hdGgucm91bmQodCpyKSksbCl9O2lmKCQ9PT1jKXJldHVybiB0aGlzLnNldChjLHRoaXMuJE0rcik7aWYoJD09PWgpcmV0dXJuIHRoaXMuc2V0KGgsdGhpcy4keStyKTtpZigkPT09YSlyZXR1cm4geSgxKTtpZigkPT09bylyZXR1cm4geSg3KTt2YXIgTT0oZD17fSxkW3NdPWUsZFt1XT1uLGRbaV09dCxkKVskXXx8MSxtPXRoaXMuJGQuZ2V0VGltZSgpK3IqTTtyZXR1cm4gYi53KG0sdGhpcyl9LG0uc3VidHJhY3Q9ZnVuY3Rpb24odCxlKXtyZXR1cm4gdGhpcy5hZGQoLTEqdCxlKX0sbS5mb3JtYXQ9ZnVuY3Rpb24odCl7dmFyIGU9dGhpcyxuPXRoaXMuJGxvY2FsZSgpO2lmKCF0aGlzLmlzVmFsaWQoKSlyZXR1cm4gbi5pbnZhbGlkRGF0ZXx8bDt2YXIgcj10fHxcIllZWVktTU0tRERUSEg6bW06c3NaXCIsaT1iLnoodGhpcykscz10aGlzLiRILHU9dGhpcy4kbSxhPXRoaXMuJE0sbz1uLndlZWtkYXlzLGM9bi5tb250aHMsZj1uLm1lcmlkaWVtLGg9ZnVuY3Rpb24odCxuLGkscyl7cmV0dXJuIHQmJih0W25dfHx0KGUscikpfHxpW25dLnNsaWNlKDAscyl9LGQ9ZnVuY3Rpb24odCl7cmV0dXJuIGIucyhzJTEyfHwxMix0LFwiMFwiKX0sJD1mfHxmdW5jdGlvbih0LGUsbil7dmFyIHI9dDwxMj9cIkFNXCI6XCJQTVwiO3JldHVybiBuP3IudG9Mb3dlckNhc2UoKTpyfTtyZXR1cm4gci5yZXBsYWNlKHksKGZ1bmN0aW9uKHQscil7cmV0dXJuIHJ8fGZ1bmN0aW9uKHQpe3N3aXRjaCh0KXtjYXNlXCJZWVwiOnJldHVybiBTdHJpbmcoZS4keSkuc2xpY2UoLTIpO2Nhc2VcIllZWVlcIjpyZXR1cm4gYi5zKGUuJHksNCxcIjBcIik7Y2FzZVwiTVwiOnJldHVybiBhKzE7Y2FzZVwiTU1cIjpyZXR1cm4gYi5zKGErMSwyLFwiMFwiKTtjYXNlXCJNTU1cIjpyZXR1cm4gaChuLm1vbnRoc1Nob3J0LGEsYywzKTtjYXNlXCJNTU1NXCI6cmV0dXJuIGgoYyxhKTtjYXNlXCJEXCI6cmV0dXJuIGUuJEQ7Y2FzZVwiRERcIjpyZXR1cm4gYi5zKGUuJEQsMixcIjBcIik7Y2FzZVwiZFwiOnJldHVybiBTdHJpbmcoZS4kVyk7Y2FzZVwiZGRcIjpyZXR1cm4gaChuLndlZWtkYXlzTWluLGUuJFcsbywyKTtjYXNlXCJkZGRcIjpyZXR1cm4gaChuLndlZWtkYXlzU2hvcnQsZS4kVyxvLDMpO2Nhc2VcImRkZGRcIjpyZXR1cm4gb1tlLiRXXTtjYXNlXCJIXCI6cmV0dXJuIFN0cmluZyhzKTtjYXNlXCJISFwiOnJldHVybiBiLnMocywyLFwiMFwiKTtjYXNlXCJoXCI6cmV0dXJuIGQoMSk7Y2FzZVwiaGhcIjpyZXR1cm4gZCgyKTtjYXNlXCJhXCI6cmV0dXJuICQocyx1LCEwKTtjYXNlXCJBXCI6cmV0dXJuICQocyx1LCExKTtjYXNlXCJtXCI6cmV0dXJuIFN0cmluZyh1KTtjYXNlXCJtbVwiOnJldHVybiBiLnModSwyLFwiMFwiKTtjYXNlXCJzXCI6cmV0dXJuIFN0cmluZyhlLiRzKTtjYXNlXCJzc1wiOnJldHVybiBiLnMoZS4kcywyLFwiMFwiKTtjYXNlXCJTU1NcIjpyZXR1cm4gYi5zKGUuJG1zLDMsXCIwXCIpO2Nhc2VcIlpcIjpyZXR1cm4gaX1yZXR1cm4gbnVsbH0odCl8fGkucmVwbGFjZShcIjpcIixcIlwiKX0pKX0sbS51dGNPZmZzZXQ9ZnVuY3Rpb24oKXtyZXR1cm4gMTUqLU1hdGgucm91bmQodGhpcy4kZC5nZXRUaW1lem9uZU9mZnNldCgpLzE1KX0sbS5kaWZmPWZ1bmN0aW9uKHIsZCxsKXt2YXIgJCx5PXRoaXMsTT1iLnAoZCksbT1PKHIpLHY9KG0udXRjT2Zmc2V0KCktdGhpcy51dGNPZmZzZXQoKSkqZSxnPXRoaXMtbSxEPWZ1bmN0aW9uKCl7cmV0dXJuIGIubSh5LG0pfTtzd2l0Y2goTSl7Y2FzZSBoOiQ9RCgpLzEyO2JyZWFrO2Nhc2UgYzokPUQoKTticmVhaztjYXNlIGY6JD1EKCkvMzticmVhaztjYXNlIG86JD0oZy12KS82MDQ4ZTU7YnJlYWs7Y2FzZSBhOiQ9KGctdikvODY0ZTU7YnJlYWs7Y2FzZSB1OiQ9Zy9uO2JyZWFrO2Nhc2UgczokPWcvZTticmVhaztjYXNlIGk6JD1nL3Q7YnJlYWs7ZGVmYXVsdDokPWd9cmV0dXJuIGw/JDpiLmEoJCl9LG0uZGF5c0luTW9udGg9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5lbmRPZihjKS4kRH0sbS4kbG9jYWxlPWZ1bmN0aW9uKCl7cmV0dXJuIERbdGhpcy4kTF19LG0ubG9jYWxlPWZ1bmN0aW9uKHQsZSl7aWYoIXQpcmV0dXJuIHRoaXMuJEw7dmFyIG49dGhpcy5jbG9uZSgpLHI9dyh0LGUsITApO3JldHVybiByJiYobi4kTD1yKSxufSxtLmNsb25lPWZ1bmN0aW9uKCl7cmV0dXJuIGIudyh0aGlzLiRkLHRoaXMpfSxtLnRvRGF0ZT1mdW5jdGlvbigpe3JldHVybiBuZXcgRGF0ZSh0aGlzLnZhbHVlT2YoKSl9LG0udG9KU09OPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuaXNWYWxpZCgpP3RoaXMudG9JU09TdHJpbmcoKTpudWxsfSxtLnRvSVNPU3RyaW5nPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuJGQudG9JU09TdHJpbmcoKX0sbS50b1N0cmluZz1mdW5jdGlvbigpe3JldHVybiB0aGlzLiRkLnRvVVRDU3RyaW5nKCl9LE19KCksaz1fLnByb3RvdHlwZTtyZXR1cm4gTy5wcm90b3R5cGU9ayxbW1wiJG1zXCIscl0sW1wiJHNcIixpXSxbXCIkbVwiLHNdLFtcIiRIXCIsdV0sW1wiJFdcIixhXSxbXCIkTVwiLGNdLFtcIiR5XCIsaF0sW1wiJERcIixkXV0uZm9yRWFjaCgoZnVuY3Rpb24odCl7a1t0WzFdXT1mdW5jdGlvbihlKXtyZXR1cm4gdGhpcy4kZyhlLHRbMF0sdFsxXSl9fSkpLE8uZXh0ZW5kPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIHQuJGl8fCh0KGUsXyxPKSx0LiRpPSEwKSxPfSxPLmxvY2FsZT13LE8uaXNEYXlqcz1TLE8udW5peD1mdW5jdGlvbih0KXtyZXR1cm4gTygxZTMqdCl9LE8uZW49RFtnXSxPLkxzPUQsTy5wPXt9LE99KSk7IiwiLy8gVGhlIG1vZHVsZSBjYWNoZVxudmFyIF9fd2VicGFja19tb2R1bGVfY2FjaGVfXyA9IHt9O1xuXG4vLyBUaGUgcmVxdWlyZSBmdW5jdGlvblxuZnVuY3Rpb24gX193ZWJwYWNrX3JlcXVpcmVfXyhtb2R1bGVJZCkge1xuXHQvLyBDaGVjayBpZiBtb2R1bGUgaXMgaW4gY2FjaGVcblx0dmFyIGNhY2hlZE1vZHVsZSA9IF9fd2VicGFja19tb2R1bGVfY2FjaGVfX1ttb2R1bGVJZF07XG5cdGlmIChjYWNoZWRNb2R1bGUgIT09IHVuZGVmaW5lZCkge1xuXHRcdHJldHVybiBjYWNoZWRNb2R1bGUuZXhwb3J0cztcblx0fVxuXHQvLyBDcmVhdGUgYSBuZXcgbW9kdWxlIChhbmQgcHV0IGl0IGludG8gdGhlIGNhY2hlKVxuXHR2YXIgbW9kdWxlID0gX193ZWJwYWNrX21vZHVsZV9jYWNoZV9fW21vZHVsZUlkXSA9IHtcblx0XHQvLyBubyBtb2R1bGUuaWQgbmVlZGVkXG5cdFx0Ly8gbm8gbW9kdWxlLmxvYWRlZCBuZWVkZWRcblx0XHRleHBvcnRzOiB7fVxuXHR9O1xuXG5cdC8vIEV4ZWN1dGUgdGhlIG1vZHVsZSBmdW5jdGlvblxuXHRfX3dlYnBhY2tfbW9kdWxlc19fW21vZHVsZUlkXS5jYWxsKG1vZHVsZS5leHBvcnRzLCBtb2R1bGUsIG1vZHVsZS5leHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKTtcblxuXHQvLyBSZXR1cm4gdGhlIGV4cG9ydHMgb2YgdGhlIG1vZHVsZVxuXHRyZXR1cm4gbW9kdWxlLmV4cG9ydHM7XG59XG5cbiIsIi8vIGdldERlZmF1bHRFeHBvcnQgZnVuY3Rpb24gZm9yIGNvbXBhdGliaWxpdHkgd2l0aCBub24taGFybW9ueSBtb2R1bGVzXG5fX3dlYnBhY2tfcmVxdWlyZV9fLm4gPSBmdW5jdGlvbihtb2R1bGUpIHtcblx0dmFyIGdldHRlciA9IG1vZHVsZSAmJiBtb2R1bGUuX19lc01vZHVsZSA/XG5cdFx0ZnVuY3Rpb24oKSB7IHJldHVybiBtb2R1bGVbJ2RlZmF1bHQnXTsgfSA6XG5cdFx0ZnVuY3Rpb24oKSB7IHJldHVybiBtb2R1bGU7IH07XG5cdF9fd2VicGFja19yZXF1aXJlX18uZChnZXR0ZXIsIHsgYTogZ2V0dGVyIH0pO1xuXHRyZXR1cm4gZ2V0dGVyO1xufTsiLCIvLyBkZWZpbmUgZ2V0dGVyIGZ1bmN0aW9ucyBmb3IgaGFybW9ueSBleHBvcnRzXG5fX3dlYnBhY2tfcmVxdWlyZV9fLmQgPSBmdW5jdGlvbihleHBvcnRzLCBkZWZpbml0aW9uKSB7XG5cdGZvcih2YXIga2V5IGluIGRlZmluaXRpb24pIHtcblx0XHRpZihfX3dlYnBhY2tfcmVxdWlyZV9fLm8oZGVmaW5pdGlvbiwga2V5KSAmJiAhX193ZWJwYWNrX3JlcXVpcmVfXy5vKGV4cG9ydHMsIGtleSkpIHtcblx0XHRcdE9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBrZXksIHsgZW51bWVyYWJsZTogdHJ1ZSwgZ2V0OiBkZWZpbml0aW9uW2tleV0gfSk7XG5cdFx0fVxuXHR9XG59OyIsIl9fd2VicGFja19yZXF1aXJlX18ubyA9IGZ1bmN0aW9uKG9iaiwgcHJvcCkgeyByZXR1cm4gT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKG9iaiwgcHJvcCk7IH0iLCIvKipcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgMjAxOSBHb29nbGUgTExDXG4gKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTMtQ2xhdXNlXG4gKi9cbmNvbnN0IHQ9Z2xvYmFsVGhpcyxlPXQuU2hhZG93Um9vdCYmKHZvaWQgMD09PXQuU2hhZHlDU1N8fHQuU2hhZHlDU1MubmF0aXZlU2hhZG93KSYmXCJhZG9wdGVkU3R5bGVTaGVldHNcImluIERvY3VtZW50LnByb3RvdHlwZSYmXCJyZXBsYWNlXCJpbiBDU1NTdHlsZVNoZWV0LnByb3RvdHlwZSxzPVN5bWJvbCgpLG89bmV3IFdlYWtNYXA7Y2xhc3Mgbntjb25zdHJ1Y3Rvcih0LGUsbyl7aWYodGhpcy5fJGNzc1Jlc3VsdCQ9ITAsbyE9PXMpdGhyb3cgRXJyb3IoXCJDU1NSZXN1bHQgaXMgbm90IGNvbnN0cnVjdGFibGUuIFVzZSBgdW5zYWZlQ1NTYCBvciBgY3NzYCBpbnN0ZWFkLlwiKTt0aGlzLmNzc1RleHQ9dCx0aGlzLnQ9ZX1nZXQgc3R5bGVTaGVldCgpe2xldCB0PXRoaXMubztjb25zdCBzPXRoaXMudDtpZihlJiZ2b2lkIDA9PT10KXtjb25zdCBlPXZvaWQgMCE9PXMmJjE9PT1zLmxlbmd0aDtlJiYodD1vLmdldChzKSksdm9pZCAwPT09dCYmKCh0aGlzLm89dD1uZXcgQ1NTU3R5bGVTaGVldCkucmVwbGFjZVN5bmModGhpcy5jc3NUZXh0KSxlJiZvLnNldChzLHQpKX1yZXR1cm4gdH10b1N0cmluZygpe3JldHVybiB0aGlzLmNzc1RleHR9fWNvbnN0IHI9dD0+bmV3IG4oXCJzdHJpbmdcIj09dHlwZW9mIHQ/dDp0K1wiXCIsdm9pZCAwLHMpLGk9KHQsLi4uZSk9Pntjb25zdCBvPTE9PT10Lmxlbmd0aD90WzBdOmUucmVkdWNlKCgoZSxzLG8pPT5lKyh0PT57aWYoITA9PT10Ll8kY3NzUmVzdWx0JClyZXR1cm4gdC5jc3NUZXh0O2lmKFwibnVtYmVyXCI9PXR5cGVvZiB0KXJldHVybiB0O3Rocm93IEVycm9yKFwiVmFsdWUgcGFzc2VkIHRvICdjc3MnIGZ1bmN0aW9uIG11c3QgYmUgYSAnY3NzJyBmdW5jdGlvbiByZXN1bHQ6IFwiK3QrXCIuIFVzZSAndW5zYWZlQ1NTJyB0byBwYXNzIG5vbi1saXRlcmFsIHZhbHVlcywgYnV0IHRha2UgY2FyZSB0byBlbnN1cmUgcGFnZSBzZWN1cml0eS5cIil9KShzKSt0W28rMV0pLHRbMF0pO3JldHVybiBuZXcgbihvLHQscyl9LFM9KHMsbyk9PntpZihlKXMuYWRvcHRlZFN0eWxlU2hlZXRzPW8ubWFwKCh0PT50IGluc3RhbmNlb2YgQ1NTU3R5bGVTaGVldD90OnQuc3R5bGVTaGVldCkpO2Vsc2UgZm9yKGNvbnN0IGUgb2Ygbyl7Y29uc3Qgbz1kb2N1bWVudC5jcmVhdGVFbGVtZW50KFwic3R5bGVcIiksbj10LmxpdE5vbmNlO3ZvaWQgMCE9PW4mJm8uc2V0QXR0cmlidXRlKFwibm9uY2VcIixuKSxvLnRleHRDb250ZW50PWUuY3NzVGV4dCxzLmFwcGVuZENoaWxkKG8pfX0sYz1lP3Q9PnQ6dD0+dCBpbnN0YW5jZW9mIENTU1N0eWxlU2hlZXQ/KHQ9PntsZXQgZT1cIlwiO2Zvcihjb25zdCBzIG9mIHQuY3NzUnVsZXMpZSs9cy5jc3NUZXh0O3JldHVybiByKGUpfSkodCk6dDtleHBvcnR7biBhcyBDU1NSZXN1bHQsUyBhcyBhZG9wdFN0eWxlcyxpIGFzIGNzcyxjIGFzIGdldENvbXBhdGlibGVTdHlsZSxlIGFzIHN1cHBvcnRzQWRvcHRpbmdTdHlsZVNoZWV0cyxyIGFzIHVuc2FmZUNTU307XG4vLyMgc291cmNlTWFwcGluZ1VSTD1jc3MtdGFnLmpzLm1hcFxuIiwiaW1wb3J0e2dldENvbXBhdGlibGVTdHlsZSBhcyB0LGFkb3B0U3R5bGVzIGFzIHN9ZnJvbVwiLi9jc3MtdGFnLmpzXCI7ZXhwb3J0e0NTU1Jlc3VsdCxhZG9wdFN0eWxlcyxjc3MsZ2V0Q29tcGF0aWJsZVN0eWxlLHN1cHBvcnRzQWRvcHRpbmdTdHlsZVNoZWV0cyx1bnNhZmVDU1N9ZnJvbVwiLi9jc3MtdGFnLmpzXCI7XG4vKipcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgMjAxNyBHb29nbGUgTExDXG4gKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTMtQ2xhdXNlXG4gKi9jb25zdHtpczppLGRlZmluZVByb3BlcnR5OmUsZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yOnIsZ2V0T3duUHJvcGVydHlOYW1lczpoLGdldE93blByb3BlcnR5U3ltYm9sczpvLGdldFByb3RvdHlwZU9mOm59PU9iamVjdCxhPWdsb2JhbFRoaXMsYz1hLnRydXN0ZWRUeXBlcyxsPWM/Yy5lbXB0eVNjcmlwdDpcIlwiLHA9YS5yZWFjdGl2ZUVsZW1lbnRQb2x5ZmlsbFN1cHBvcnQsZD0odCxzKT0+dCx1PXt0b0F0dHJpYnV0ZSh0LHMpe3N3aXRjaChzKXtjYXNlIEJvb2xlYW46dD10P2w6bnVsbDticmVhaztjYXNlIE9iamVjdDpjYXNlIEFycmF5OnQ9bnVsbD09dD90OkpTT04uc3RyaW5naWZ5KHQpfXJldHVybiB0fSxmcm9tQXR0cmlidXRlKHQscyl7bGV0IGk9dDtzd2l0Y2gocyl7Y2FzZSBCb29sZWFuOmk9bnVsbCE9PXQ7YnJlYWs7Y2FzZSBOdW1iZXI6aT1udWxsPT09dD9udWxsOk51bWJlcih0KTticmVhaztjYXNlIE9iamVjdDpjYXNlIEFycmF5OnRyeXtpPUpTT04ucGFyc2UodCl9Y2F0Y2godCl7aT1udWxsfX1yZXR1cm4gaX19LGY9KHQscyk9PiFpKHQscykseT17YXR0cmlidXRlOiEwLHR5cGU6U3RyaW5nLGNvbnZlcnRlcjp1LHJlZmxlY3Q6ITEsaGFzQ2hhbmdlZDpmfTtTeW1ib2wubWV0YWRhdGE/Pz1TeW1ib2woXCJtZXRhZGF0YVwiKSxhLmxpdFByb3BlcnR5TWV0YWRhdGE/Pz1uZXcgV2Vha01hcDtjbGFzcyBiIGV4dGVuZHMgSFRNTEVsZW1lbnR7c3RhdGljIGFkZEluaXRpYWxpemVyKHQpe3RoaXMuXyRFaSgpLCh0aGlzLmw/Pz1bXSkucHVzaCh0KX1zdGF0aWMgZ2V0IG9ic2VydmVkQXR0cmlidXRlcygpe3JldHVybiB0aGlzLmZpbmFsaXplKCksdGhpcy5fJEVoJiZbLi4udGhpcy5fJEVoLmtleXMoKV19c3RhdGljIGNyZWF0ZVByb3BlcnR5KHQscz15KXtpZihzLnN0YXRlJiYocy5hdHRyaWJ1dGU9ITEpLHRoaXMuXyRFaSgpLHRoaXMuZWxlbWVudFByb3BlcnRpZXMuc2V0KHQscyksIXMubm9BY2Nlc3Nvcil7Y29uc3QgaT1TeW1ib2woKSxyPXRoaXMuZ2V0UHJvcGVydHlEZXNjcmlwdG9yKHQsaSxzKTt2b2lkIDAhPT1yJiZlKHRoaXMucHJvdG90eXBlLHQscil9fXN0YXRpYyBnZXRQcm9wZXJ0eURlc2NyaXB0b3IodCxzLGkpe2NvbnN0e2dldDplLHNldDpofT1yKHRoaXMucHJvdG90eXBlLHQpPz97Z2V0KCl7cmV0dXJuIHRoaXNbc119LHNldCh0KXt0aGlzW3NdPXR9fTtyZXR1cm57Z2V0KCl7cmV0dXJuIGU/LmNhbGwodGhpcyl9LHNldChzKXtjb25zdCByPWU/LmNhbGwodGhpcyk7aC5jYWxsKHRoaXMscyksdGhpcy5yZXF1ZXN0VXBkYXRlKHQscixpKX0sY29uZmlndXJhYmxlOiEwLGVudW1lcmFibGU6ITB9fXN0YXRpYyBnZXRQcm9wZXJ0eU9wdGlvbnModCl7cmV0dXJuIHRoaXMuZWxlbWVudFByb3BlcnRpZXMuZ2V0KHQpPz95fXN0YXRpYyBfJEVpKCl7aWYodGhpcy5oYXNPd25Qcm9wZXJ0eShkKFwiZWxlbWVudFByb3BlcnRpZXNcIikpKXJldHVybjtjb25zdCB0PW4odGhpcyk7dC5maW5hbGl6ZSgpLHZvaWQgMCE9PXQubCYmKHRoaXMubD1bLi4udC5sXSksdGhpcy5lbGVtZW50UHJvcGVydGllcz1uZXcgTWFwKHQuZWxlbWVudFByb3BlcnRpZXMpfXN0YXRpYyBmaW5hbGl6ZSgpe2lmKHRoaXMuaGFzT3duUHJvcGVydHkoZChcImZpbmFsaXplZFwiKSkpcmV0dXJuO2lmKHRoaXMuZmluYWxpemVkPSEwLHRoaXMuXyRFaSgpLHRoaXMuaGFzT3duUHJvcGVydHkoZChcInByb3BlcnRpZXNcIikpKXtjb25zdCB0PXRoaXMucHJvcGVydGllcyxzPVsuLi5oKHQpLC4uLm8odCldO2Zvcihjb25zdCBpIG9mIHMpdGhpcy5jcmVhdGVQcm9wZXJ0eShpLHRbaV0pfWNvbnN0IHQ9dGhpc1tTeW1ib2wubWV0YWRhdGFdO2lmKG51bGwhPT10KXtjb25zdCBzPWxpdFByb3BlcnR5TWV0YWRhdGEuZ2V0KHQpO2lmKHZvaWQgMCE9PXMpZm9yKGNvbnN0W3QsaV1vZiBzKXRoaXMuZWxlbWVudFByb3BlcnRpZXMuc2V0KHQsaSl9dGhpcy5fJEVoPW5ldyBNYXA7Zm9yKGNvbnN0W3Qsc11vZiB0aGlzLmVsZW1lbnRQcm9wZXJ0aWVzKXtjb25zdCBpPXRoaXMuXyRFdSh0LHMpO3ZvaWQgMCE9PWkmJnRoaXMuXyRFaC5zZXQoaSx0KX10aGlzLmVsZW1lbnRTdHlsZXM9dGhpcy5maW5hbGl6ZVN0eWxlcyh0aGlzLnN0eWxlcyl9c3RhdGljIGZpbmFsaXplU3R5bGVzKHMpe2NvbnN0IGk9W107aWYoQXJyYXkuaXNBcnJheShzKSl7Y29uc3QgZT1uZXcgU2V0KHMuZmxhdCgxLzApLnJldmVyc2UoKSk7Zm9yKGNvbnN0IHMgb2YgZSlpLnVuc2hpZnQodChzKSl9ZWxzZSB2b2lkIDAhPT1zJiZpLnB1c2godChzKSk7cmV0dXJuIGl9c3RhdGljIF8kRXUodCxzKXtjb25zdCBpPXMuYXR0cmlidXRlO3JldHVybiExPT09aT92b2lkIDA6XCJzdHJpbmdcIj09dHlwZW9mIGk/aTpcInN0cmluZ1wiPT10eXBlb2YgdD90LnRvTG93ZXJDYXNlKCk6dm9pZCAwfWNvbnN0cnVjdG9yKCl7c3VwZXIoKSx0aGlzLl8kRXA9dm9pZCAwLHRoaXMuaXNVcGRhdGVQZW5kaW5nPSExLHRoaXMuaGFzVXBkYXRlZD0hMSx0aGlzLl8kRW09bnVsbCx0aGlzLl8kRXYoKX1fJEV2KCl7dGhpcy5fJEVTPW5ldyBQcm9taXNlKCh0PT50aGlzLmVuYWJsZVVwZGF0aW5nPXQpKSx0aGlzLl8kQUw9bmV3IE1hcCx0aGlzLl8kRV8oKSx0aGlzLnJlcXVlc3RVcGRhdGUoKSx0aGlzLmNvbnN0cnVjdG9yLmw/LmZvckVhY2goKHQ9PnQodGhpcykpKX1hZGRDb250cm9sbGVyKHQpeyh0aGlzLl8kRU8/Pz1uZXcgU2V0KS5hZGQodCksdm9pZCAwIT09dGhpcy5yZW5kZXJSb290JiZ0aGlzLmlzQ29ubmVjdGVkJiZ0Lmhvc3RDb25uZWN0ZWQ/LigpfXJlbW92ZUNvbnRyb2xsZXIodCl7dGhpcy5fJEVPPy5kZWxldGUodCl9XyRFXygpe2NvbnN0IHQ9bmV3IE1hcCxzPXRoaXMuY29uc3RydWN0b3IuZWxlbWVudFByb3BlcnRpZXM7Zm9yKGNvbnN0IGkgb2Ygcy5rZXlzKCkpdGhpcy5oYXNPd25Qcm9wZXJ0eShpKSYmKHQuc2V0KGksdGhpc1tpXSksZGVsZXRlIHRoaXNbaV0pO3Quc2l6ZT4wJiYodGhpcy5fJEVwPXQpfWNyZWF0ZVJlbmRlclJvb3QoKXtjb25zdCB0PXRoaXMuc2hhZG93Um9vdD8/dGhpcy5hdHRhY2hTaGFkb3codGhpcy5jb25zdHJ1Y3Rvci5zaGFkb3dSb290T3B0aW9ucyk7cmV0dXJuIHModCx0aGlzLmNvbnN0cnVjdG9yLmVsZW1lbnRTdHlsZXMpLHR9Y29ubmVjdGVkQ2FsbGJhY2soKXt0aGlzLnJlbmRlclJvb3Q/Pz10aGlzLmNyZWF0ZVJlbmRlclJvb3QoKSx0aGlzLmVuYWJsZVVwZGF0aW5nKCEwKSx0aGlzLl8kRU8/LmZvckVhY2goKHQ9PnQuaG9zdENvbm5lY3RlZD8uKCkpKX1lbmFibGVVcGRhdGluZyh0KXt9ZGlzY29ubmVjdGVkQ2FsbGJhY2soKXt0aGlzLl8kRU8/LmZvckVhY2goKHQ9PnQuaG9zdERpc2Nvbm5lY3RlZD8uKCkpKX1hdHRyaWJ1dGVDaGFuZ2VkQ2FsbGJhY2sodCxzLGkpe3RoaXMuXyRBSyh0LGkpfV8kRUModCxzKXtjb25zdCBpPXRoaXMuY29uc3RydWN0b3IuZWxlbWVudFByb3BlcnRpZXMuZ2V0KHQpLGU9dGhpcy5jb25zdHJ1Y3Rvci5fJEV1KHQsaSk7aWYodm9pZCAwIT09ZSYmITA9PT1pLnJlZmxlY3Qpe2NvbnN0IHI9KHZvaWQgMCE9PWkuY29udmVydGVyPy50b0F0dHJpYnV0ZT9pLmNvbnZlcnRlcjp1KS50b0F0dHJpYnV0ZShzLGkudHlwZSk7dGhpcy5fJEVtPXQsbnVsbD09cj90aGlzLnJlbW92ZUF0dHJpYnV0ZShlKTp0aGlzLnNldEF0dHJpYnV0ZShlLHIpLHRoaXMuXyRFbT1udWxsfX1fJEFLKHQscyl7Y29uc3QgaT10aGlzLmNvbnN0cnVjdG9yLGU9aS5fJEVoLmdldCh0KTtpZih2b2lkIDAhPT1lJiZ0aGlzLl8kRW0hPT1lKXtjb25zdCB0PWkuZ2V0UHJvcGVydHlPcHRpb25zKGUpLHI9XCJmdW5jdGlvblwiPT10eXBlb2YgdC5jb252ZXJ0ZXI/e2Zyb21BdHRyaWJ1dGU6dC5jb252ZXJ0ZXJ9OnZvaWQgMCE9PXQuY29udmVydGVyPy5mcm9tQXR0cmlidXRlP3QuY29udmVydGVyOnU7dGhpcy5fJEVtPWUsdGhpc1tlXT1yLmZyb21BdHRyaWJ1dGUocyx0LnR5cGUpLHRoaXMuXyRFbT1udWxsfX1yZXF1ZXN0VXBkYXRlKHQscyxpKXtpZih2b2lkIDAhPT10KXtpZihpPz89dGhpcy5jb25zdHJ1Y3Rvci5nZXRQcm9wZXJ0eU9wdGlvbnModCksIShpLmhhc0NoYW5nZWQ/P2YpKHRoaXNbdF0scykpcmV0dXJuO3RoaXMuUCh0LHMsaSl9ITE9PT10aGlzLmlzVXBkYXRlUGVuZGluZyYmKHRoaXMuXyRFUz10aGlzLl8kRVQoKSl9UCh0LHMsaSl7dGhpcy5fJEFMLmhhcyh0KXx8dGhpcy5fJEFMLnNldCh0LHMpLCEwPT09aS5yZWZsZWN0JiZ0aGlzLl8kRW0hPT10JiYodGhpcy5fJEVqPz89bmV3IFNldCkuYWRkKHQpfWFzeW5jIF8kRVQoKXt0aGlzLmlzVXBkYXRlUGVuZGluZz0hMDt0cnl7YXdhaXQgdGhpcy5fJEVTfWNhdGNoKHQpe1Byb21pc2UucmVqZWN0KHQpfWNvbnN0IHQ9dGhpcy5zY2hlZHVsZVVwZGF0ZSgpO3JldHVybiBudWxsIT10JiZhd2FpdCB0LCF0aGlzLmlzVXBkYXRlUGVuZGluZ31zY2hlZHVsZVVwZGF0ZSgpe3JldHVybiB0aGlzLnBlcmZvcm1VcGRhdGUoKX1wZXJmb3JtVXBkYXRlKCl7aWYoIXRoaXMuaXNVcGRhdGVQZW5kaW5nKXJldHVybjtpZighdGhpcy5oYXNVcGRhdGVkKXtpZih0aGlzLnJlbmRlclJvb3Q/Pz10aGlzLmNyZWF0ZVJlbmRlclJvb3QoKSx0aGlzLl8kRXApe2Zvcihjb25zdFt0LHNdb2YgdGhpcy5fJEVwKXRoaXNbdF09czt0aGlzLl8kRXA9dm9pZCAwfWNvbnN0IHQ9dGhpcy5jb25zdHJ1Y3Rvci5lbGVtZW50UHJvcGVydGllcztpZih0LnNpemU+MClmb3IoY29uc3RbcyxpXW9mIHQpITAhPT1pLndyYXBwZWR8fHRoaXMuXyRBTC5oYXMocyl8fHZvaWQgMD09PXRoaXNbc118fHRoaXMuUChzLHRoaXNbc10saSl9bGV0IHQ9ITE7Y29uc3Qgcz10aGlzLl8kQUw7dHJ5e3Q9dGhpcy5zaG91bGRVcGRhdGUocyksdD8odGhpcy53aWxsVXBkYXRlKHMpLHRoaXMuXyRFTz8uZm9yRWFjaCgodD0+dC5ob3N0VXBkYXRlPy4oKSkpLHRoaXMudXBkYXRlKHMpKTp0aGlzLl8kRVUoKX1jYXRjaChzKXt0aHJvdyB0PSExLHRoaXMuXyRFVSgpLHN9dCYmdGhpcy5fJEFFKHMpfXdpbGxVcGRhdGUodCl7fV8kQUUodCl7dGhpcy5fJEVPPy5mb3JFYWNoKCh0PT50Lmhvc3RVcGRhdGVkPy4oKSkpLHRoaXMuaGFzVXBkYXRlZHx8KHRoaXMuaGFzVXBkYXRlZD0hMCx0aGlzLmZpcnN0VXBkYXRlZCh0KSksdGhpcy51cGRhdGVkKHQpfV8kRVUoKXt0aGlzLl8kQUw9bmV3IE1hcCx0aGlzLmlzVXBkYXRlUGVuZGluZz0hMX1nZXQgdXBkYXRlQ29tcGxldGUoKXtyZXR1cm4gdGhpcy5nZXRVcGRhdGVDb21wbGV0ZSgpfWdldFVwZGF0ZUNvbXBsZXRlKCl7cmV0dXJuIHRoaXMuXyRFU31zaG91bGRVcGRhdGUodCl7cmV0dXJuITB9dXBkYXRlKHQpe3RoaXMuXyRFaiYmPXRoaXMuXyRFai5mb3JFYWNoKCh0PT50aGlzLl8kRUModCx0aGlzW3RdKSkpLHRoaXMuXyRFVSgpfXVwZGF0ZWQodCl7fWZpcnN0VXBkYXRlZCh0KXt9fWIuZWxlbWVudFN0eWxlcz1bXSxiLnNoYWRvd1Jvb3RPcHRpb25zPXttb2RlOlwib3BlblwifSxiW2QoXCJlbGVtZW50UHJvcGVydGllc1wiKV09bmV3IE1hcCxiW2QoXCJmaW5hbGl6ZWRcIildPW5ldyBNYXAscD8uKHtSZWFjdGl2ZUVsZW1lbnQ6Yn0pLChhLnJlYWN0aXZlRWxlbWVudFZlcnNpb25zPz89W10pLnB1c2goXCIyLjAuNFwiKTtleHBvcnR7YiBhcyBSZWFjdGl2ZUVsZW1lbnQsdSBhcyBkZWZhdWx0Q29udmVydGVyLGYgYXMgbm90RXF1YWx9O1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9cmVhY3RpdmUtZWxlbWVudC5qcy5tYXBcbiIsIi8qKlxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCAyMDE3IEdvb2dsZSBMTENcbiAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMy1DbGF1c2VcbiAqL1xuY29uc3QgdD1nbG9iYWxUaGlzLGk9dC50cnVzdGVkVHlwZXMscz1pP2kuY3JlYXRlUG9saWN5KFwibGl0LWh0bWxcIix7Y3JlYXRlSFRNTDp0PT50fSk6dm9pZCAwLGU9XCIkbGl0JFwiLGg9YGxpdCQke01hdGgucmFuZG9tKCkudG9GaXhlZCg5KS5zbGljZSgyKX0kYCxvPVwiP1wiK2gsbj1gPCR7b30+YCxyPWRvY3VtZW50LGw9KCk9PnIuY3JlYXRlQ29tbWVudChcIlwiKSxjPXQ9Pm51bGw9PT10fHxcIm9iamVjdFwiIT10eXBlb2YgdCYmXCJmdW5jdGlvblwiIT10eXBlb2YgdCxhPUFycmF5LmlzQXJyYXksdT10PT5hKHQpfHxcImZ1bmN0aW9uXCI9PXR5cGVvZiB0Py5bU3ltYm9sLml0ZXJhdG9yXSxkPVwiWyBcXHRcXG5cXGZcXHJdXCIsZj0vPCg/OighLS18XFwvW15hLXpBLVpdKXwoXFwvP1thLXpBLVpdW14+XFxzXSopfChcXC8/JCkpL2csdj0vLS0+L2csXz0vPi9nLG09UmVnRXhwKGA+fCR7ZH0oPzooW15cXFxcc1wiJz49L10rKSgke2R9Kj0ke2R9Kig/OlteIFxcdFxcblxcZlxcclwiJ1xcYDw+PV18KFwifCcpfCkpfCQpYCxcImdcIikscD0vJy9nLGc9L1wiL2csJD0vXig/OnNjcmlwdHxzdHlsZXx0ZXh0YXJlYXx0aXRsZSkkL2kseT10PT4oaSwuLi5zKT0+KHtfJGxpdFR5cGUkOnQsc3RyaW5nczppLHZhbHVlczpzfSkseD15KDEpLGI9eSgyKSx3PXkoMyksVD1TeW1ib2wuZm9yKFwibGl0LW5vQ2hhbmdlXCIpLEU9U3ltYm9sLmZvcihcImxpdC1ub3RoaW5nXCIpLEE9bmV3IFdlYWtNYXAsQz1yLmNyZWF0ZVRyZWVXYWxrZXIociwxMjkpO2Z1bmN0aW9uIFAodCxpKXtpZighYSh0KXx8IXQuaGFzT3duUHJvcGVydHkoXCJyYXdcIikpdGhyb3cgRXJyb3IoXCJpbnZhbGlkIHRlbXBsYXRlIHN0cmluZ3MgYXJyYXlcIik7cmV0dXJuIHZvaWQgMCE9PXM/cy5jcmVhdGVIVE1MKGkpOml9Y29uc3QgVj0odCxpKT0+e2NvbnN0IHM9dC5sZW5ndGgtMSxvPVtdO2xldCByLGw9Mj09PWk/XCI8c3ZnPlwiOjM9PT1pP1wiPG1hdGg+XCI6XCJcIixjPWY7Zm9yKGxldCBpPTA7aTxzO2krKyl7Y29uc3Qgcz10W2ldO2xldCBhLHUsZD0tMSx5PTA7Zm9yKDt5PHMubGVuZ3RoJiYoYy5sYXN0SW5kZXg9eSx1PWMuZXhlYyhzKSxudWxsIT09dSk7KXk9Yy5sYXN0SW5kZXgsYz09PWY/XCIhLS1cIj09PXVbMV0/Yz12OnZvaWQgMCE9PXVbMV0/Yz1fOnZvaWQgMCE9PXVbMl0/KCQudGVzdCh1WzJdKSYmKHI9UmVnRXhwKFwiPC9cIit1WzJdLFwiZ1wiKSksYz1tKTp2b2lkIDAhPT11WzNdJiYoYz1tKTpjPT09bT9cIj5cIj09PXVbMF0/KGM9cj8/ZixkPS0xKTp2b2lkIDA9PT11WzFdP2Q9LTI6KGQ9Yy5sYXN0SW5kZXgtdVsyXS5sZW5ndGgsYT11WzFdLGM9dm9pZCAwPT09dVszXT9tOidcIic9PT11WzNdP2c6cCk6Yz09PWd8fGM9PT1wP2M9bTpjPT09dnx8Yz09PV8/Yz1mOihjPW0scj12b2lkIDApO2NvbnN0IHg9Yz09PW0mJnRbaSsxXS5zdGFydHNXaXRoKFwiLz5cIik/XCIgXCI6XCJcIjtsKz1jPT09Zj9zK246ZD49MD8oby5wdXNoKGEpLHMuc2xpY2UoMCxkKStlK3Muc2xpY2UoZCkraCt4KTpzK2grKC0yPT09ZD9pOngpfXJldHVybltQKHQsbCsodFtzXXx8XCI8Pz5cIikrKDI9PT1pP1wiPC9zdmc+XCI6Mz09PWk/XCI8L21hdGg+XCI6XCJcIikpLG9dfTtjbGFzcyBOe2NvbnN0cnVjdG9yKHtzdHJpbmdzOnQsXyRsaXRUeXBlJDpzfSxuKXtsZXQgcjt0aGlzLnBhcnRzPVtdO2xldCBjPTAsYT0wO2NvbnN0IHU9dC5sZW5ndGgtMSxkPXRoaXMucGFydHMsW2Ysdl09Vih0LHMpO2lmKHRoaXMuZWw9Ti5jcmVhdGVFbGVtZW50KGYsbiksQy5jdXJyZW50Tm9kZT10aGlzLmVsLmNvbnRlbnQsMj09PXN8fDM9PT1zKXtjb25zdCB0PXRoaXMuZWwuY29udGVudC5maXJzdENoaWxkO3QucmVwbGFjZVdpdGgoLi4udC5jaGlsZE5vZGVzKX1mb3IoO251bGwhPT0ocj1DLm5leHROb2RlKCkpJiZkLmxlbmd0aDx1Oyl7aWYoMT09PXIubm9kZVR5cGUpe2lmKHIuaGFzQXR0cmlidXRlcygpKWZvcihjb25zdCB0IG9mIHIuZ2V0QXR0cmlidXRlTmFtZXMoKSlpZih0LmVuZHNXaXRoKGUpKXtjb25zdCBpPXZbYSsrXSxzPXIuZ2V0QXR0cmlidXRlKHQpLnNwbGl0KGgpLGU9LyhbLj9AXSk/KC4qKS8uZXhlYyhpKTtkLnB1c2goe3R5cGU6MSxpbmRleDpjLG5hbWU6ZVsyXSxzdHJpbmdzOnMsY3RvcjpcIi5cIj09PWVbMV0/SDpcIj9cIj09PWVbMV0/STpcIkBcIj09PWVbMV0/TDprfSksci5yZW1vdmVBdHRyaWJ1dGUodCl9ZWxzZSB0LnN0YXJ0c1dpdGgoaCkmJihkLnB1c2goe3R5cGU6NixpbmRleDpjfSksci5yZW1vdmVBdHRyaWJ1dGUodCkpO2lmKCQudGVzdChyLnRhZ05hbWUpKXtjb25zdCB0PXIudGV4dENvbnRlbnQuc3BsaXQoaCkscz10Lmxlbmd0aC0xO2lmKHM+MCl7ci50ZXh0Q29udGVudD1pP2kuZW1wdHlTY3JpcHQ6XCJcIjtmb3IobGV0IGk9MDtpPHM7aSsrKXIuYXBwZW5kKHRbaV0sbCgpKSxDLm5leHROb2RlKCksZC5wdXNoKHt0eXBlOjIsaW5kZXg6KytjfSk7ci5hcHBlbmQodFtzXSxsKCkpfX19ZWxzZSBpZig4PT09ci5ub2RlVHlwZSlpZihyLmRhdGE9PT1vKWQucHVzaCh7dHlwZToyLGluZGV4OmN9KTtlbHNle2xldCB0PS0xO2Zvcig7LTEhPT0odD1yLmRhdGEuaW5kZXhPZihoLHQrMSkpOylkLnB1c2goe3R5cGU6NyxpbmRleDpjfSksdCs9aC5sZW5ndGgtMX1jKyt9fXN0YXRpYyBjcmVhdGVFbGVtZW50KHQsaSl7Y29uc3Qgcz1yLmNyZWF0ZUVsZW1lbnQoXCJ0ZW1wbGF0ZVwiKTtyZXR1cm4gcy5pbm5lckhUTUw9dCxzfX1mdW5jdGlvbiBTKHQsaSxzPXQsZSl7aWYoaT09PVQpcmV0dXJuIGk7bGV0IGg9dm9pZCAwIT09ZT9zLl8kQ28/LltlXTpzLl8kQ2w7Y29uc3Qgbz1jKGkpP3ZvaWQgMDppLl8kbGl0RGlyZWN0aXZlJDtyZXR1cm4gaD8uY29uc3RydWN0b3IhPT1vJiYoaD8uXyRBTz8uKCExKSx2b2lkIDA9PT1vP2g9dm9pZCAwOihoPW5ldyBvKHQpLGguXyRBVCh0LHMsZSkpLHZvaWQgMCE9PWU/KHMuXyRDbz8/PVtdKVtlXT1oOnMuXyRDbD1oKSx2b2lkIDAhPT1oJiYoaT1TKHQsaC5fJEFTKHQsaS52YWx1ZXMpLGgsZSkpLGl9Y2xhc3MgTXtjb25zdHJ1Y3Rvcih0LGkpe3RoaXMuXyRBVj1bXSx0aGlzLl8kQU49dm9pZCAwLHRoaXMuXyRBRD10LHRoaXMuXyRBTT1pfWdldCBwYXJlbnROb2RlKCl7cmV0dXJuIHRoaXMuXyRBTS5wYXJlbnROb2RlfWdldCBfJEFVKCl7cmV0dXJuIHRoaXMuXyRBTS5fJEFVfXUodCl7Y29uc3R7ZWw6e2NvbnRlbnQ6aX0scGFydHM6c309dGhpcy5fJEFELGU9KHQ/LmNyZWF0aW9uU2NvcGU/P3IpLmltcG9ydE5vZGUoaSwhMCk7Qy5jdXJyZW50Tm9kZT1lO2xldCBoPUMubmV4dE5vZGUoKSxvPTAsbj0wLGw9c1swXTtmb3IoO3ZvaWQgMCE9PWw7KXtpZihvPT09bC5pbmRleCl7bGV0IGk7Mj09PWwudHlwZT9pPW5ldyBSKGgsaC5uZXh0U2libGluZyx0aGlzLHQpOjE9PT1sLnR5cGU/aT1uZXcgbC5jdG9yKGgsbC5uYW1lLGwuc3RyaW5ncyx0aGlzLHQpOjY9PT1sLnR5cGUmJihpPW5ldyB6KGgsdGhpcyx0KSksdGhpcy5fJEFWLnB1c2goaSksbD1zWysrbl19byE9PWw/LmluZGV4JiYoaD1DLm5leHROb2RlKCksbysrKX1yZXR1cm4gQy5jdXJyZW50Tm9kZT1yLGV9cCh0KXtsZXQgaT0wO2Zvcihjb25zdCBzIG9mIHRoaXMuXyRBVil2b2lkIDAhPT1zJiYodm9pZCAwIT09cy5zdHJpbmdzPyhzLl8kQUkodCxzLGkpLGkrPXMuc3RyaW5ncy5sZW5ndGgtMik6cy5fJEFJKHRbaV0pKSxpKyt9fWNsYXNzIFJ7Z2V0IF8kQVUoKXtyZXR1cm4gdGhpcy5fJEFNPy5fJEFVPz90aGlzLl8kQ3Z9Y29uc3RydWN0b3IodCxpLHMsZSl7dGhpcy50eXBlPTIsdGhpcy5fJEFIPUUsdGhpcy5fJEFOPXZvaWQgMCx0aGlzLl8kQUE9dCx0aGlzLl8kQUI9aSx0aGlzLl8kQU09cyx0aGlzLm9wdGlvbnM9ZSx0aGlzLl8kQ3Y9ZT8uaXNDb25uZWN0ZWQ/PyEwfWdldCBwYXJlbnROb2RlKCl7bGV0IHQ9dGhpcy5fJEFBLnBhcmVudE5vZGU7Y29uc3QgaT10aGlzLl8kQU07cmV0dXJuIHZvaWQgMCE9PWkmJjExPT09dD8ubm9kZVR5cGUmJih0PWkucGFyZW50Tm9kZSksdH1nZXQgc3RhcnROb2RlKCl7cmV0dXJuIHRoaXMuXyRBQX1nZXQgZW5kTm9kZSgpe3JldHVybiB0aGlzLl8kQUJ9XyRBSSh0LGk9dGhpcyl7dD1TKHRoaXMsdCxpKSxjKHQpP3Q9PT1FfHxudWxsPT10fHxcIlwiPT09dD8odGhpcy5fJEFIIT09RSYmdGhpcy5fJEFSKCksdGhpcy5fJEFIPUUpOnQhPT10aGlzLl8kQUgmJnQhPT1UJiZ0aGlzLl8odCk6dm9pZCAwIT09dC5fJGxpdFR5cGUkP3RoaXMuJCh0KTp2b2lkIDAhPT10Lm5vZGVUeXBlP3RoaXMuVCh0KTp1KHQpP3RoaXMuayh0KTp0aGlzLl8odCl9Tyh0KXtyZXR1cm4gdGhpcy5fJEFBLnBhcmVudE5vZGUuaW5zZXJ0QmVmb3JlKHQsdGhpcy5fJEFCKX1UKHQpe3RoaXMuXyRBSCE9PXQmJih0aGlzLl8kQVIoKSx0aGlzLl8kQUg9dGhpcy5PKHQpKX1fKHQpe3RoaXMuXyRBSCE9PUUmJmModGhpcy5fJEFIKT90aGlzLl8kQUEubmV4dFNpYmxpbmcuZGF0YT10OnRoaXMuVChyLmNyZWF0ZVRleHROb2RlKHQpKSx0aGlzLl8kQUg9dH0kKHQpe2NvbnN0e3ZhbHVlczppLF8kbGl0VHlwZSQ6c309dCxlPVwibnVtYmVyXCI9PXR5cGVvZiBzP3RoaXMuXyRBQyh0KToodm9pZCAwPT09cy5lbCYmKHMuZWw9Ti5jcmVhdGVFbGVtZW50KFAocy5oLHMuaFswXSksdGhpcy5vcHRpb25zKSkscyk7aWYodGhpcy5fJEFIPy5fJEFEPT09ZSl0aGlzLl8kQUgucChpKTtlbHNle2NvbnN0IHQ9bmV3IE0oZSx0aGlzKSxzPXQudSh0aGlzLm9wdGlvbnMpO3QucChpKSx0aGlzLlQocyksdGhpcy5fJEFIPXR9fV8kQUModCl7bGV0IGk9QS5nZXQodC5zdHJpbmdzKTtyZXR1cm4gdm9pZCAwPT09aSYmQS5zZXQodC5zdHJpbmdzLGk9bmV3IE4odCkpLGl9ayh0KXthKHRoaXMuXyRBSCl8fCh0aGlzLl8kQUg9W10sdGhpcy5fJEFSKCkpO2NvbnN0IGk9dGhpcy5fJEFIO2xldCBzLGU9MDtmb3IoY29uc3QgaCBvZiB0KWU9PT1pLmxlbmd0aD9pLnB1c2gocz1uZXcgUih0aGlzLk8obCgpKSx0aGlzLk8obCgpKSx0aGlzLHRoaXMub3B0aW9ucykpOnM9aVtlXSxzLl8kQUkoaCksZSsrO2U8aS5sZW5ndGgmJih0aGlzLl8kQVIocyYmcy5fJEFCLm5leHRTaWJsaW5nLGUpLGkubGVuZ3RoPWUpfV8kQVIodD10aGlzLl8kQUEubmV4dFNpYmxpbmcsaSl7Zm9yKHRoaXMuXyRBUD8uKCExLCEwLGkpO3QmJnQhPT10aGlzLl8kQUI7KXtjb25zdCBpPXQubmV4dFNpYmxpbmc7dC5yZW1vdmUoKSx0PWl9fXNldENvbm5lY3RlZCh0KXt2b2lkIDA9PT10aGlzLl8kQU0mJih0aGlzLl8kQ3Y9dCx0aGlzLl8kQVA/Lih0KSl9fWNsYXNzIGt7Z2V0IHRhZ05hbWUoKXtyZXR1cm4gdGhpcy5lbGVtZW50LnRhZ05hbWV9Z2V0IF8kQVUoKXtyZXR1cm4gdGhpcy5fJEFNLl8kQVV9Y29uc3RydWN0b3IodCxpLHMsZSxoKXt0aGlzLnR5cGU9MSx0aGlzLl8kQUg9RSx0aGlzLl8kQU49dm9pZCAwLHRoaXMuZWxlbWVudD10LHRoaXMubmFtZT1pLHRoaXMuXyRBTT1lLHRoaXMub3B0aW9ucz1oLHMubGVuZ3RoPjJ8fFwiXCIhPT1zWzBdfHxcIlwiIT09c1sxXT8odGhpcy5fJEFIPUFycmF5KHMubGVuZ3RoLTEpLmZpbGwobmV3IFN0cmluZyksdGhpcy5zdHJpbmdzPXMpOnRoaXMuXyRBSD1FfV8kQUkodCxpPXRoaXMscyxlKXtjb25zdCBoPXRoaXMuc3RyaW5ncztsZXQgbz0hMTtpZih2b2lkIDA9PT1oKXQ9Uyh0aGlzLHQsaSwwKSxvPSFjKHQpfHx0IT09dGhpcy5fJEFIJiZ0IT09VCxvJiYodGhpcy5fJEFIPXQpO2Vsc2V7Y29uc3QgZT10O2xldCBuLHI7Zm9yKHQ9aFswXSxuPTA7bjxoLmxlbmd0aC0xO24rKylyPVModGhpcyxlW3Mrbl0saSxuKSxyPT09VCYmKHI9dGhpcy5fJEFIW25dKSxvfHw9IWMocil8fHIhPT10aGlzLl8kQUhbbl0scj09PUU/dD1FOnQhPT1FJiYodCs9KHI/P1wiXCIpK2hbbisxXSksdGhpcy5fJEFIW25dPXJ9byYmIWUmJnRoaXMuaih0KX1qKHQpe3Q9PT1FP3RoaXMuZWxlbWVudC5yZW1vdmVBdHRyaWJ1dGUodGhpcy5uYW1lKTp0aGlzLmVsZW1lbnQuc2V0QXR0cmlidXRlKHRoaXMubmFtZSx0Pz9cIlwiKX19Y2xhc3MgSCBleHRlbmRzIGt7Y29uc3RydWN0b3IoKXtzdXBlciguLi5hcmd1bWVudHMpLHRoaXMudHlwZT0zfWoodCl7dGhpcy5lbGVtZW50W3RoaXMubmFtZV09dD09PUU/dm9pZCAwOnR9fWNsYXNzIEkgZXh0ZW5kcyBre2NvbnN0cnVjdG9yKCl7c3VwZXIoLi4uYXJndW1lbnRzKSx0aGlzLnR5cGU9NH1qKHQpe3RoaXMuZWxlbWVudC50b2dnbGVBdHRyaWJ1dGUodGhpcy5uYW1lLCEhdCYmdCE9PUUpfX1jbGFzcyBMIGV4dGVuZHMga3tjb25zdHJ1Y3Rvcih0LGkscyxlLGgpe3N1cGVyKHQsaSxzLGUsaCksdGhpcy50eXBlPTV9XyRBSSh0LGk9dGhpcyl7aWYoKHQ9Uyh0aGlzLHQsaSwwKT8/RSk9PT1UKXJldHVybjtjb25zdCBzPXRoaXMuXyRBSCxlPXQ9PT1FJiZzIT09RXx8dC5jYXB0dXJlIT09cy5jYXB0dXJlfHx0Lm9uY2UhPT1zLm9uY2V8fHQucGFzc2l2ZSE9PXMucGFzc2l2ZSxoPXQhPT1FJiYocz09PUV8fGUpO2UmJnRoaXMuZWxlbWVudC5yZW1vdmVFdmVudExpc3RlbmVyKHRoaXMubmFtZSx0aGlzLHMpLGgmJnRoaXMuZWxlbWVudC5hZGRFdmVudExpc3RlbmVyKHRoaXMubmFtZSx0aGlzLHQpLHRoaXMuXyRBSD10fWhhbmRsZUV2ZW50KHQpe1wiZnVuY3Rpb25cIj09dHlwZW9mIHRoaXMuXyRBSD90aGlzLl8kQUguY2FsbCh0aGlzLm9wdGlvbnM/Lmhvc3Q/P3RoaXMuZWxlbWVudCx0KTp0aGlzLl8kQUguaGFuZGxlRXZlbnQodCl9fWNsYXNzIHp7Y29uc3RydWN0b3IodCxpLHMpe3RoaXMuZWxlbWVudD10LHRoaXMudHlwZT02LHRoaXMuXyRBTj12b2lkIDAsdGhpcy5fJEFNPWksdGhpcy5vcHRpb25zPXN9Z2V0IF8kQVUoKXtyZXR1cm4gdGhpcy5fJEFNLl8kQVV9XyRBSSh0KXtTKHRoaXMsdCl9fWNvbnN0IFo9e006ZSxQOmgsQTpvLEM6MSxMOlYsUjpNLEQ6dSxWOlMsSTpSLEg6ayxOOkksVTpMLEI6SCxGOnp9LGo9dC5saXRIdG1sUG9seWZpbGxTdXBwb3J0O2o/LihOLFIpLCh0LmxpdEh0bWxWZXJzaW9ucz8/PVtdKS5wdXNoKFwiMy4yLjFcIik7Y29uc3QgQj0odCxpLHMpPT57Y29uc3QgZT1zPy5yZW5kZXJCZWZvcmU/P2k7bGV0IGg9ZS5fJGxpdFBhcnQkO2lmKHZvaWQgMD09PWgpe2NvbnN0IHQ9cz8ucmVuZGVyQmVmb3JlPz9udWxsO2UuXyRsaXRQYXJ0JD1oPW5ldyBSKGkuaW5zZXJ0QmVmb3JlKGwoKSx0KSx0LHZvaWQgMCxzPz97fSl9cmV0dXJuIGguXyRBSSh0KSxofTtleHBvcnR7WiBhcyBfJExILHggYXMgaHRtbCx3IGFzIG1hdGhtbCxUIGFzIG5vQ2hhbmdlLEUgYXMgbm90aGluZyxCIGFzIHJlbmRlcixiIGFzIHN2Z307XG4vLyMgc291cmNlTWFwcGluZ1VSTD1saXQtaHRtbC5qcy5tYXBcbiIsImltcG9ydHtSZWFjdGl2ZUVsZW1lbnQgYXMgdH1mcm9tXCJAbGl0L3JlYWN0aXZlLWVsZW1lbnRcIjtleHBvcnQqZnJvbVwiQGxpdC9yZWFjdGl2ZS1lbGVtZW50XCI7aW1wb3J0e3JlbmRlciBhcyBlLG5vQ2hhbmdlIGFzIHN9ZnJvbVwibGl0LWh0bWxcIjtleHBvcnQqZnJvbVwibGl0LWh0bWxcIjtcbi8qKlxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCAyMDE3IEdvb2dsZSBMTENcbiAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMy1DbGF1c2VcbiAqL2NsYXNzIHIgZXh0ZW5kcyB0e2NvbnN0cnVjdG9yKCl7c3VwZXIoLi4uYXJndW1lbnRzKSx0aGlzLnJlbmRlck9wdGlvbnM9e2hvc3Q6dGhpc30sdGhpcy5fJERvPXZvaWQgMH1jcmVhdGVSZW5kZXJSb290KCl7Y29uc3QgdD1zdXBlci5jcmVhdGVSZW5kZXJSb290KCk7cmV0dXJuIHRoaXMucmVuZGVyT3B0aW9ucy5yZW5kZXJCZWZvcmU/Pz10LmZpcnN0Q2hpbGQsdH11cGRhdGUodCl7Y29uc3Qgcz10aGlzLnJlbmRlcigpO3RoaXMuaGFzVXBkYXRlZHx8KHRoaXMucmVuZGVyT3B0aW9ucy5pc0Nvbm5lY3RlZD10aGlzLmlzQ29ubmVjdGVkKSxzdXBlci51cGRhdGUodCksdGhpcy5fJERvPWUocyx0aGlzLnJlbmRlclJvb3QsdGhpcy5yZW5kZXJPcHRpb25zKX1jb25uZWN0ZWRDYWxsYmFjaygpe3N1cGVyLmNvbm5lY3RlZENhbGxiYWNrKCksdGhpcy5fJERvPy5zZXRDb25uZWN0ZWQoITApfWRpc2Nvbm5lY3RlZENhbGxiYWNrKCl7c3VwZXIuZGlzY29ubmVjdGVkQ2FsbGJhY2soKSx0aGlzLl8kRG8/LnNldENvbm5lY3RlZCghMSl9cmVuZGVyKCl7cmV0dXJuIHN9fXIuXyRsaXRFbGVtZW50JD0hMCxyW1wiZmluYWxpemVkXCJdPSEwLGdsb2JhbFRoaXMubGl0RWxlbWVudEh5ZHJhdGVTdXBwb3J0Py4oe0xpdEVsZW1lbnQ6cn0pO2NvbnN0IGk9Z2xvYmFsVGhpcy5saXRFbGVtZW50UG9seWZpbGxTdXBwb3J0O2k/Lih7TGl0RWxlbWVudDpyfSk7Y29uc3Qgbz17XyRBSzoodCxlLHMpPT57dC5fJEFLKGUscyl9LF8kQUw6dD0+dC5fJEFMfTsoZ2xvYmFsVGhpcy5saXRFbGVtZW50VmVyc2lvbnM/Pz1bXSkucHVzaChcIjQuMS4xXCIpO2V4cG9ydHtyIGFzIExpdEVsZW1lbnQsbyBhcyBfJExFfTtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWxpdC1lbGVtZW50LmpzLm1hcFxuIiwiLyoqXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IDIwMTcgR29vZ2xlIExMQ1xuICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0zLUNsYXVzZVxuICovXG5jb25zdCB0PXQ9PihlLG8pPT57dm9pZCAwIT09bz9vLmFkZEluaXRpYWxpemVyKCgoKT0+e2N1c3RvbUVsZW1lbnRzLmRlZmluZSh0LGUpfSkpOmN1c3RvbUVsZW1lbnRzLmRlZmluZSh0LGUpfTtleHBvcnR7dCBhcyBjdXN0b21FbGVtZW50fTtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWN1c3RvbS1lbGVtZW50LmpzLm1hcFxuIiwiaW1wb3J0e2RlZmF1bHRDb252ZXJ0ZXIgYXMgdCxub3RFcXVhbCBhcyBlfWZyb21cIi4uL3JlYWN0aXZlLWVsZW1lbnQuanNcIjtcbi8qKlxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCAyMDE3IEdvb2dsZSBMTENcbiAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMy1DbGF1c2VcbiAqL2NvbnN0IG89e2F0dHJpYnV0ZTohMCx0eXBlOlN0cmluZyxjb252ZXJ0ZXI6dCxyZWZsZWN0OiExLGhhc0NoYW5nZWQ6ZX0scj0odD1vLGUscik9Pntjb25zdHtraW5kOm4sbWV0YWRhdGE6aX09cjtsZXQgcz1nbG9iYWxUaGlzLmxpdFByb3BlcnR5TWV0YWRhdGEuZ2V0KGkpO2lmKHZvaWQgMD09PXMmJmdsb2JhbFRoaXMubGl0UHJvcGVydHlNZXRhZGF0YS5zZXQoaSxzPW5ldyBNYXApLHMuc2V0KHIubmFtZSx0KSxcImFjY2Vzc29yXCI9PT1uKXtjb25zdHtuYW1lOm99PXI7cmV0dXJue3NldChyKXtjb25zdCBuPWUuZ2V0LmNhbGwodGhpcyk7ZS5zZXQuY2FsbCh0aGlzLHIpLHRoaXMucmVxdWVzdFVwZGF0ZShvLG4sdCl9LGluaXQoZSl7cmV0dXJuIHZvaWQgMCE9PWUmJnRoaXMuUChvLHZvaWQgMCx0KSxlfX19aWYoXCJzZXR0ZXJcIj09PW4pe2NvbnN0e25hbWU6b309cjtyZXR1cm4gZnVuY3Rpb24ocil7Y29uc3Qgbj10aGlzW29dO2UuY2FsbCh0aGlzLHIpLHRoaXMucmVxdWVzdFVwZGF0ZShvLG4sdCl9fXRocm93IEVycm9yKFwiVW5zdXBwb3J0ZWQgZGVjb3JhdG9yIGxvY2F0aW9uOiBcIituKX07ZnVuY3Rpb24gbih0KXtyZXR1cm4oZSxvKT0+XCJvYmplY3RcIj09dHlwZW9mIG8/cih0LGUsbyk6KCh0LGUsbyk9Pntjb25zdCByPWUuaGFzT3duUHJvcGVydHkobyk7cmV0dXJuIGUuY29uc3RydWN0b3IuY3JlYXRlUHJvcGVydHkobyxyP3suLi50LHdyYXBwZWQ6ITB9OnQpLHI/T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihlLG8pOnZvaWQgMH0pKHQsZSxvKX1leHBvcnR7biBhcyBwcm9wZXJ0eSxyIGFzIHN0YW5kYXJkUHJvcGVydHl9O1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9cHJvcGVydHkuanMubWFwXG4iLCJpbXBvcnR7cHJvcGVydHkgYXMgdH1mcm9tXCIuL3Byb3BlcnR5LmpzXCI7XG4vKipcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgMjAxNyBHb29nbGUgTExDXG4gKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTMtQ2xhdXNlXG4gKi9mdW5jdGlvbiByKHIpe3JldHVybiB0KHsuLi5yLHN0YXRlOiEwLGF0dHJpYnV0ZTohMX0pfWV4cG9ydHtyIGFzIHN0YXRlfTtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPXN0YXRlLmpzLm1hcFxuIiwiZXhwb3J0IGludGVyZmFjZSBJbmNpZGVudCB7XG4gIGltYWdlOiBzdHJpbmc7XG4gIGF1ZGlvOiBzdHJpbmc7XG4gIGlkOiBzdHJpbmc7XG4gIHRpdGxlOiBzdHJpbmc7XG4gIHRleHQ6IHN0cmluZztcbiAgY2F0ZWdvcnk6IHN0cmluZztcbiAgY291bnRyeTogc3RyaW5nO1xuICBzb3VyY2U6IHN0cmluZztcbiAgeWVhcnBsdXNtb250aDogc3RyaW5nO1xufVxuXG5leHBvcnQgZW51bSBDYXRlZ29yeSB7XG4gIHR2U2hvd09yU2VyaWVzID0gXCJ0dlNob3dPclNlcmllc1wiLFxuICBzaG93Yml6eiA9IFwic2hvd2JpenpcIixcbiAgdHJlbmQgPSBcInRyZW5kXCIsXG4gIHRlY2ggPSBcInRlY2hcIixcbiAgZmFzaGlvblRyZW5kID0gXCJmYXNoaW9uVHJlbmRcIixcbiAgY2luZW1hTW92aWUgPSBcImNpbmVtYU1vdmllXCIsXG4gIHN0cmVldFNjZW5lID0gXCJzdHJlZXRTY2VuZVwiLFxuICBuZXdzUHJlc2VudGVyID0gXCJuZXdzUHJlc2VudGVyXCIsXG4gIHJhZGlvU29uZyA9IFwicmFkaW9Tb25nXCIsXG4gIG5ld3NJdGVtID0gXCJuZXdzSXRlbVwiLFxuICBpY29uaWNBbGJ1bSA9IFwiaWNvbmljQWxidW1cIixcbiAgcmFkaW9TaG93ID0gXCJyYWRpb1Nob3dcIixcbiAgYmVzdFNlbGxlckJvb2sgPSBcImJlc3RTZWxsZXJCb29rXCIsXG4gIGFkdmVydGlzZW1lbnQgPSBcImFkdmVydGlzZW1lbnRcIixcbiAgY2FyID0gXCJjYXJcIixcbiAgc3BvcnRzID0gXCJzcG9ydHNcIixcbiAgdW5rbm93biA9IFwidW5rbm93blwiLFxufVxuXG5leHBvcnQgY29uc3QgQ2F0ZWdvcmllcyA9IFtcbiAgLy8gQ2F0ZWdvcnkuYWR2ZXJ0aXNlbWVudCxcbiAgLy8gQ2F0ZWdvcnkuYmVzdFNlbGxlckJvb2ssXG4gIC8vIENhdGVnb3J5LmNhcixcbiAgQ2F0ZWdvcnkuY2luZW1hTW92aWUsXG4gIC8vIENhdGVnb3J5LmZhc2hpb25UcmVuZCxcbiAgLy8gQ2F0ZWdvcnkuaWNvbmljQWxidW0sXG4gIENhdGVnb3J5Lm5ld3NJdGVtLFxuICBDYXRlZ29yeS5uZXdzUHJlc2VudGVyLFxuICAvLyBDYXRlZ29yeS5yYWRpb1Nob3csXG4gIENhdGVnb3J5LnJhZGlvU29uZyxcbiAgQ2F0ZWdvcnkuc2hvd2JpenosXG4gIENhdGVnb3J5LnNwb3J0cyxcbiAgQ2F0ZWdvcnkudGVjaCxcbiAgQ2F0ZWdvcnkudHZTaG93T3JTZXJpZXMsXG5dO1xuIiwiZXhwb3J0IGNsYXNzIFV0aWwge1xuICBwdWJsaWMgc3RhdGljIGFzeW5jIGFzeW5jRm9yZWFjaChcbiAgICBhcnJheTogQXJyYXk8YW55PiwgLy8gZXNsaW50LWRpc2FibGUtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XG4gICAgY2FsbGJhY2s6IGFueSwgLy8gZXNsaW50LWRpc2FibGUtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XG4gICkge1xuICAgIGZvciAobGV0IGluZGV4ID0gMDsgaW5kZXggPCBhcnJheS5sZW5ndGg7IGluZGV4KyspIHtcbiAgICAgIGF3YWl0IGNhbGxiYWNrKGFycmF5W2luZGV4XSwgaW5kZXgsIGFycmF5KTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgc3RhdGljIHJlbW92ZUFsbENoaWxkcmVuKFxuICAgIHBhcmVudEVsZW1lbnQ6IEhUTUxFbGVtZW50IHwgdW5kZWZpbmVkLFxuICApOiB2b2lkIHtcbiAgICBpZiAoIXBhcmVudEVsZW1lbnQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgbGV0IGNoaWxkVG9EZWxldGUgPSBwYXJlbnRFbGVtZW50Lmxhc3RDaGlsZDtcbiAgICB3aGlsZSAoY2hpbGRUb0RlbGV0ZSkge1xuICAgICAgcGFyZW50RWxlbWVudC5yZW1vdmVDaGlsZChjaGlsZFRvRGVsZXRlKTtcbiAgICAgIGNoaWxkVG9EZWxldGUgPSBwYXJlbnRFbGVtZW50Lmxhc3RDaGlsZDtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogU2h1ZmZsZSBhbiBhcnJheVxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBzaHVmZmxlQXJyYXkoYXJyYXk6IEFycmF5PGFueT4pOiBBcnJheTxhbnk+IHtcbiAgICByZXR1cm4gYXJyYXkuc29ydCgoKSA9PiBNYXRoLnJhbmRvbSgpIC0gMC41KTtcbiAgfVxuXG4gIC8vIFRoZSBuYW1pbmcgb2YgdGhlIGdlbmVyYXRpb25zIHNob3VsZCBjb25mb3JtIHRvIHdoYXQgdGhlIGJhY2tlbmQgZXhwZWN0cy5cbiAgcHVibGljIHN0YXRpYyBkb2JUb0dlbmVyYXRpb24oZG9iOiBudW1iZXIpOiBzdHJpbmcge1xuICAgIGlmIChkb2IgPj0gMjAxMykgcmV0dXJuICdnZW5lcmF0aW9uYWxwaGEnO1xuICAgIGlmIChkb2IgPj0gMTk5NykgcmV0dXJuICdnZW5lcmF0aW9ueic7XG4gICAgaWYgKGRvYiA+PSAxOTgxKSByZXR1cm4gJ2dlbmVyYXRpb255JztcbiAgICBpZiAoZG9iID49IDE5NjUpIHJldHVybiAnZ2VuZXJhdGlvbngnO1xuICAgIGlmIChkb2IgPj0gMTk0NikgcmV0dXJuICdiYWJ5Ym9vbWVycyc7XG4gICAgaWYgKGRvYiA+PSAxOTI4KSByZXR1cm4gJ3NpbGVudGdlbmVyYXRpb24nO1xuICAgIGlmIChkb2IgPj0gMTkwMSkgcmV0dXJuICdncmVhdGVzdGdlbmVyYXRpb24nO1xuICAgIHJldHVybiAnJztcbiAgICAvLyBncmVhdGVzdGdlbmVyYXRpb246IDE5MDEtMTkyN1xuICAgIC8vIHNpbGVudGdlbmVyYXRpb246IDE5MjgtMTk0NVxuICAgIC8vIGJhYnlib29tZXJzOiAxOTQ2LTE5NjRcbiAgICAvLyBnZW5lcmF0aW9ueDogMTk2NS0xOTgwXG4gICAgLy8gZ2VuZXJhdGlvbnk6IDE5ODEtMTk5NlxuICAgIC8vIGdlbmVyYXRpb256OiAxOTk3LTIwMTJcbiAgICAvLyBnZW5lcmF0aW9uYWxwaGE6IDIwMTMtMjAyOFxuICB9XG5cbn1cblxuZXhwb3J0IGludGVyZmFjZSBJSGFzaCB7XG4gIFtJZGVudGlmaWVyOiBzdHJpbmcgfCBudW1iZXJdOlxuICB8IGJvb2xlYW5cbiAgfCBudW1iZXJcbiAgfCBzdHJpbmdcbiAgfCBzdHJpbmdbXVxuICB8IHVuZGVmaW5lZDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJU3RyaW5nQXJyYXlIYXNoIHtcbiAgW0lkZW50aWZpZXI6IHN0cmluZyB8IG51bWJlcl06IHN0cmluZ1tdO1xufVxuIiwiaW1wb3J0IHsgVXRpbCwgSUhhc2ggfSBmcm9tIFwiLi9VdGlsXCI7XG5pbXBvcnQgeyBJbmNpZGVudCB9IGZyb20gXCIuL0luY2lkZW50XCI7XG5cbmV4cG9ydCBjbGFzcyBBcGlTZXJ2aWNlIHtcbiAgY29uc3RydWN0b3IocHJpdmF0ZSB0ZWVlQXBpVXJsOiBzdHJpbmcpIHsgfVxuXG4gIHB1YmxpYyBhc3luYyBmZXRjaE9uZUluY2lkZW50KFxuICAgIHBvdjogc3RyaW5nLFxuICAgIGNhdGVnb3J5OiBzdHJpbmcgfCB1bmRlZmluZWQsXG4gICAgZW1vdGlvbjogc3RyaW5nIHwgdW5kZWZpbmVkLFxuICAgIGltcGFjdDogc3RyaW5nIHwgdW5kZWZpbmVkLFxuICAgIGRhdGU6IHN0cmluZyxcbiAgICBmcm9tOiBzdHJpbmcsXG4gICAgdG86IHN0cmluZyxcbiAgICBtYXhMYXN0ZWQ6IHN0cmluZyB8IHVuZGVmaW5lZCxcbiAgICB2YXJpYW50OiBzdHJpbmcgfCB1bmRlZmluZWQsXG4gICk6IFByb21pc2U8eyBpbmNpZGVudDogSW5jaWRlbnQgfCB1bmRlZmluZWQ7IHNvdXJjZXM6IHN0cmluZ1tdIH0+IHtcbiAgICByZXR1cm4gbmV3IFByb21pc2UoYXN5bmMgKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgICAgY29uc29sZS5kZWJ1ZyhcImZldGNoSGlzdG9yeVwiKTtcblxuICAgICAgLy8gU2V0IGRlZmF1bHRzIHRvIGV4cGxpY2l0IGVtcHR5IHN0cmluZy5cbiAgICAgIGNvbnN0IHBvdnMgPSBwb3YgfHwgXCJcIjtcbiAgICAgIGNvbnN0IGNhdGVnb3JpZXMgPSBjYXRlZ29yeSB8fCBcIlwiO1xuICAgICAgY29uc3QgZW1vdGlvbnMgPSBlbW90aW9uIHx8IFwiXCI7XG4gICAgICBjb25zdCBpbXBhY3RzID0gaW1wYWN0IHx8IFwiXCI7XG4gICAgICBjb25zdCBkYXRlU3RyaW5nID0gZGF0ZSB8fCBcIlwiO1xuICAgICAgY29uc3QgZnJvbVN0cmluZyA9IGZyb20gfHwgXCJcIjtcbiAgICAgIGNvbnN0IHRvU3RyaW5nID0gdG8gfHwgXCJcIjtcbiAgICAgIGNvbnN0IGxpbWl0U3RyaW5nID0gXCIxXCI7XG4gICAgICBjb25zdCBtYXhMYXN0ZWRTdHJpbmcgPSBtYXhMYXN0ZWQgfHwgXCJcIjtcbiAgICAgIGNvbnN0IHZhcmlhbnRzID0gdmFyaWFudCB8fCBcIlwiO1xuXG4gICAgICB0cnkge1xuICAgICAgICBjb25zdCB1cmxzOiBBcnJheTxVUkw+ID0gW107XG5cbiAgICAgICAgY29uc3QgdXJsU2VhcmNoID0gbmV3IFVSTFNlYXJjaFBhcmFtcyh7XG4gICAgICAgICAgcG92OiBwb3ZzLFxuICAgICAgICAgIGVtb3Rpb246IGVtb3Rpb25zLFxuICAgICAgICAgIGltcGFjdDogaW1wYWN0cyxcbiAgICAgICAgICBsaW1pdDogbGltaXRTdHJpbmcsXG4gICAgICAgICAgdmFyaWFudDogdmFyaWFudHNcbiAgICAgICAgfSk7XG5cbiAgICAgICAgLy8gQWx3YXlzIHJhbmRvbWl6ZSBpbmNpZGVudHMgb24gdGhlIGJhY2tlbmQuXG4gICAgICAgIHVybFNlYXJjaC5hcHBlbmQoXCJzZWVkXCIsIFwiXCIgKyBuZXcgRGF0ZSgpLmdldFRpbWUoKSk7XG5cbiAgICAgICAgaWYgKG1heExhc3RlZCkge1xuICAgICAgICAgIHVybFNlYXJjaC5hcHBlbmQoXCJtYXhsYXN0ZWRcIiwgXCJcIiArIG1heExhc3RlZFN0cmluZyk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBhZGQgY2F0ZWdvcnkgdG8gc2VhcmNoXG4gICAgICAgIHVybFNlYXJjaC5zZXQoXCJjYXRlZ29yeVwiLCBjYXRlZ29yaWVzKTtcblxuICAgICAgICBpZiAoZGF0ZVN0cmluZykge1xuICAgICAgICAgIC8vIHNldHVwIHVybFxuICAgICAgICAgIGNvbnN0IHVybCA9IG5ldyBVUkwoYCR7dGhpcy50ZWVlQXBpVXJsfS8ke2RhdGV9YCk7XG4gICAgICAgICAgdXJsLnNlYXJjaCA9IHVybFNlYXJjaC50b1N0cmluZygpO1xuXG4gICAgICAgICAgdXJscy5wdXNoKHVybCk7XG4gICAgICAgIH0gZWxzZSBpZiAoZnJvbVN0cmluZyAmJiB0b1N0cmluZykge1xuICAgICAgICAgIGNvbnN0IGZyb20gPSBuZXcgRGF0ZShmcm9tU3RyaW5nKS50b0lTT1N0cmluZygpLnN1YnN0cmluZygwLCAxMCk7XG4gICAgICAgICAgY29uc3QgdG8gPSBuZXcgRGF0ZSh0b1N0cmluZykudG9JU09TdHJpbmcoKS5zdWJzdHJpbmcoMCwgMTApO1xuXG4gICAgICAgICAgLy8gYWRkIGZyb20gYW5kIHRvIGRhdGUgdG8gc2VhcmNoXG4gICAgICAgICAgdXJsU2VhcmNoLnNldChcImZyb21cIiwgZnJvbSk7XG4gICAgICAgICAgdXJsU2VhcmNoLnNldChcInRvXCIsIHRvKTtcblxuICAgICAgICAgIC8vIHNldHVwIHVybFxuICAgICAgICAgIGNvbnN0IHVybCA9IG5ldyBVUkwodGhpcy50ZWVlQXBpVXJsKTtcbiAgICAgICAgICB1cmwuc2VhcmNoID0gdXJsU2VhcmNoLnRvU3RyaW5nKCk7XG5cbiAgICAgICAgICB1cmxzLnB1c2godXJsKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB0aHJvdyBcIk5vIGNvcnJlY3QgZGF0ZSBvciBwZXJpb2Qgc3BlY2lmaWVkLlwiO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gc3RhcnQgZmV0Y2hpbmcgYWxsIGluY2lkZW50c1xuICAgICAgICBsZXQgaW5jaWRlbnRzOiBBcnJheTxJbmNpZGVudD4gPSBbXTtcbiAgICAgICAgYXdhaXQgVXRpbC5hc3luY0ZvcmVhY2godXJscywgYXN5bmMgKHVybDogc3RyaW5nKSA9PiB7XG4gICAgICAgICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCBmZXRjaCh1cmwpO1xuICAgICAgICAgIGNvbnN0IGpzb24gPSBhd2FpdCByZXNwb25zZS5qc29uKCk7XG4gICAgICAgICAgaW5jaWRlbnRzID0gaW5jaWRlbnRzLmNvbmNhdChqc29uLnJlc3VsdHMpO1xuICAgICAgICB9KTtcbiAgICAgICAgLy8gQ2hvb3NlIHRoZSBmaXJzdCBpbmNpZGVudCBpbiB0aGUgbGlzdCBhcyB0aGUgb25lIHRvIHJldHVybi5cbiAgICAgICAgY29uc3QgZmlyc3RJbmNpZGVudEluTGlzdCA9IGluY2lkZW50cy5sZW5ndGggPyBpbmNpZGVudHNbMF0gOiB1bmRlZmluZWQ7XG5cbiAgICAgICAgLy8gc2VhcmNoIGZvciBzb3VyY2VzIG9uIGluY2lkZW50c1xuICAgICAgICBjb25zdCBzb3VyY2VzRm91bmRJbkluY2lkZW50czogSUhhc2ggPSB7fTtcbiAgICAgICAgaW5jaWRlbnRzLmZvckVhY2goKGluY2lkZW50OiBJbmNpZGVudCkgPT4ge1xuICAgICAgICAgIGlmIChpbmNpZGVudC5zb3VyY2UpIHtcbiAgICAgICAgICAgIHNvdXJjZXNGb3VuZEluSW5jaWRlbnRzW2luY2lkZW50LnNvdXJjZV0gPSB0cnVlO1xuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG5cbiAgICAgICAgY29uc29sZS5kZWJ1ZyhbaW5jaWRlbnRzLCBzb3VyY2VzRm91bmRJbkluY2lkZW50c10pO1xuXG4gICAgICAgIHJlc29sdmUoe1xuICAgICAgICAgIGluY2lkZW50OiBmaXJzdEluY2lkZW50SW5MaXN0LFxuICAgICAgICAgIHNvdXJjZXM6IE9iamVjdC5rZXlzKHNvdXJjZXNGb3VuZEluSW5jaWRlbnRzKSxcbiAgICAgICAgfSk7XG4gICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgIHJlamVjdChlKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIC8vIHBvc3QgZmVlZGJhY2sgYWJvdXQgdGhlIGF0dHJpYnV0ZSBvZiBhbiBpbmNpZGVudC5cbiAgcHVibGljIGFzeW5jIHBvc3RBdHRyaWJ1dGVRdWFsaXR5RmVlZGJhY2soXG4gICAgaW5jaWRlbnRpZDogc3RyaW5nLFxuICAgIGF0dHJpYnV0ZTogc3RyaW5nLFxuICAgIHZhbHVlOiBzdHJpbmcsXG4gICAgcmVtYXJrOiBzdHJpbmcsXG4gICkge1xuICAgIGNvbnN0IHVybCA9IGAke3RoaXMudGVlZUFwaVVybH0vZmVlZGJhY2svJHtpbmNpZGVudGlkfS9hdHRyaWJ1dGVgO1xuICAgIGF3YWl0IGZldGNoKHVybCwge1xuICAgICAgbWV0aG9kOiBcIlBPU1RcIixcbiAgICAgIGhlYWRlcnM6IHtcbiAgICAgICAgQWNjZXB0OiBcImFwcGxpY2F0aW9uL2pzb25cIixcbiAgICAgICAgXCJDb250ZW50LVR5cGVcIjogXCJhcHBsaWNhdGlvbi9qc29uXCIsXG4gICAgICB9LFxuICAgICAgYm9keTogSlNPTi5zdHJpbmdpZnkoe1xuICAgICAgICBhdHRyaWJ1dGUsXG4gICAgICAgIHZhbHVlLFxuICAgICAgICByZW1hcmssXG4gICAgICB9KSxcbiAgICB9KTtcbiAgfVxuXG4gIC8vIHBvc3QgZmVlZGJhY2sgYWJvdXQgYW4gaW5jaWRlbnQuXG4gIHB1YmxpYyBhc3luYyBwb3N0SW5jaWRlbnRGZWVkYmFjayhpbmNpZGVudGlkOiBzdHJpbmcsIHJlbWFyazogc3RyaW5nKSB7XG4gICAgY29uc3QgdXJsID0gYCR7dGhpcy50ZWVlQXBpVXJsfS9mZWVkYmFjay8ke2luY2lkZW50aWR9L3JlbWFya2A7XG4gICAgYXdhaXQgZmV0Y2godXJsLCB7XG4gICAgICBtZXRob2Q6IFwiUE9TVFwiLFxuICAgICAgaGVhZGVyczoge1xuICAgICAgICBBY2NlcHQ6IFwiYXBwbGljYXRpb24vanNvblwiLFxuICAgICAgICBcIkNvbnRlbnQtVHlwZVwiOiBcImFwcGxpY2F0aW9uL2pzb25cIixcbiAgICAgIH0sXG4gICAgICBib2R5OiBKU09OLnN0cmluZ2lmeSh7XG4gICAgICAgIHJlbWFyayxcbiAgICAgIH0pLFxuICAgIH0pO1xuICB9XG5cbiAgLy8gUG9zdCB0aGUgcmVjYWxsYWJpbGl0eSBvZiB0aGlzIGluY2lkZW50IGJ5IHRoZSBwbGF5ZXIuXG4gIHB1YmxpYyBhc3luYyBpbmNpZGVudFJlY2FsbGFiaWxpdHkoaW5jaWRlbnRpZDogc3RyaW5nLCBkb2I6IG51bWJlciwgaXNfY29ycmVjdDogYm9vbGVhbikge1xuICAgIHRoaXMucG9zdEluY2lkZW50RmVlZGJhY2soaW5jaWRlbnRpZCwgYHJlY2FsbDphYnNvbHV0ZS15ZWFyOiR7VXRpbC5kb2JUb0dlbmVyYXRpb24oZG9iKX06JHtpc19jb3JyZWN0fWApO1xuICB9XG59XG5cbmV4cG9ydCBlbnVtIENvbnRlbnRGZWVkYmFjayB7XG4gIGluY29ycmVjdCA9IFwiaW5jb3JyZWN0XCIsIC8vIFRoaXMgY29udGVudCBpcyBub3QgY29ycmVjdFxuICB0b29TaG9ydCA9IFwidG9vU2hvcnRcIiwgLy8gVGhpcyBjb250ZW50IGlzIHRvbyBzaG9ydFxuICB0b29Mb25nID0gXCJ0b29Mb25nXCIsIC8vIFRoaXMgY29udGVudCBpcyB0b28gbG9uZ1xuICB0b25lT2ZWb2ljZSA9IFwidG9uZU9mVm9pY2VcIiwgLy8gVGhlIHRvbmUgb2Ygdm9pY2Ugb2YgdGhpcyBjb250ZW50IHNob3VsZCBiZSBpbXByb3ZlZFxuICBtaXNzaW5nID0gXCJtaXNzaW5nXCIsIC8vIFRoaXMgY29udGVudCBzaG91bGQgYmUgY3JlYXRlZFxuICBub01hdGNoID0gXCJub01hdGNoXCIsIC8vIFRoaXMgY29udGVudCBkb2VzIG5vdCBtYXRjaCB3aXRoIGl0cyBzaWJsaW5nIGRhdGFcbiAgYmFkRGF0YSA9IFwiYmFkRGF0YVwiLCAvLyBUaGlzIGNvbnRlbnQgY29udGFpbnMgYmFkIGRhdGFcbiAgdW5rbm93biA9IFwidW5rbm93blwiLCAvLyBXZSBkaWQgbm90IGV4cGVjdCB0aGlzIGlucHV0Li4uXG59XG4iLCJlbnVtIEdhbWVTdGF0ZSB7XG4gIElOSVQgPSBcImluaXRcIixcbiAgU1BMQVNIID0gXCJzcGxhc2hcIixcbiAgSU5UUk8gPSBcImludHJvXCIsXG4gIFBMQVkgPSBcInBsYXlcIixcbiAgRU5EID0gXCJlbmRcIixcbn1cblxuZXhwb3J0IHsgR2FtZVN0YXRlIH07XG4iLCJpbXBvcnQgeyBDYXRlZ29yeSB9IGZyb20gXCIuLi9JbmNpZGVudFwiO1xuaW1wb3J0IHsgSVN0cmluZ0FycmF5SGFzaCB9IGZyb20gXCIuLi9VdGlsXCI7XG5pbXBvcnQgeyBpMThuIH0gZnJvbSBcIi4vaTE4blwiO1xuXG5leHBvcnQgY2xhc3MgTkwgaW1wbGVtZW50cyBpMThuIHtcbiAgY29uc3RydWN0b3IocHVibGljIEhpbnRUZW1wbGF0ZXM6IElTdHJpbmdBcnJheUhhc2ggPSB7fSkge1xuICAgIEhpbnRUZW1wbGF0ZXNbQ2F0ZWdvcnkubmV3c1ByZXNlbnRlcl0gPSBbXG4gICAgICBcIl9fVElUTEVfXyBwcmVzZW50ZWVyZGUgaGV0IGFjaHQgdXVyIGpvdXJuYWFsLlwiLFxuICAgIF07XG4gICAgSGludFRlbXBsYXRlc1tDYXRlZ29yeS50ZWNoXSA9IFtcbiAgICAgIFwiVGVjaG5pZXV3czogX19USVRMRV9fLlwiLFxuICAgICAgXCJUZWNobmV1dGVuIGxpZXBlbiB3YXJtIHZvb3IgJ19fVElUTEVfXycuXCIsXG4gICAgXTtcbiAgICBIaW50VGVtcGxhdGVzW0NhdGVnb3J5LnNob3diaXp6XSA9IFtcbiAgICAgIFwiVmVlbCBpbiBoZXQgc2hvd2JpenogbmlldXdzOiBfX1RJVExFX18uXCIsXG4gICAgXTtcbiAgICBIaW50VGVtcGxhdGVzW0NhdGVnb3J5LnNwb3J0c10gPSBbXG4gICAgICBcIlNwb3J0bmlldXdzOiBfX1RJVExFX18uXCIsXG4gICAgICBcIlNwb3J0ZmFuYXRlbiBzcHJha2VuIG92ZXIgJ19fVElUTEVfXycuXCIsXG4gICAgXTtcbiAgICBIaW50VGVtcGxhdGVzW0NhdGVnb3J5LnR2U2hvd09yU2VyaWVzXSA9IFtcbiAgICAgIFwiT3AgdHYgd2FzICdfX1RJVExFX18nLlwiLFxuICAgICAgXCIncyBBdm9uZHMga2VrZW4gd2UgbmFhciAnX19USVRMRV9fJyBvcCB0ZWxldmlzaWUuXCIsXG4gICAgXTtcbiAgICBIaW50VGVtcGxhdGVzW0NhdGVnb3J5Lm5ld3NJdGVtXSA9IFtcbiAgICAgIFwiSW4gZGUga3JhbnQgc3RvbmQgZGl0IGphYXIgb29rICdfX1RJVExFX18nLlwiLFxuICAgICAgXCInX19USVRMRV9fJyB3YXMgZGl0IGphYXIgb29rIGluIGhldCBuaWV1d3MgdGUgbGV6ZW4uXCIsXG4gICAgXTtcbiAgICBIaW50VGVtcGxhdGVzW0NhdGVnb3J5LmNpbmVtYU1vdmllXSA9IFtcbiAgICAgIFwiRGUgZmlsbSAnX19USVRMRV9fJyBkcmFhaWRlIGluIGRlIGJpb3Njb29wLlwiLFxuICAgICAgXCJEZSBmaWxtICdfX1RJVExFX18nIHdhcyBlZW4ga2Fza3Jha2VyLlwiLFxuICAgICAgXCJJbiBkZSBiaW9zY29vcCB3YXMgZGUgZmlsbSAnX19USVRMRV9fJyB0ZSB6aWVuLlwiLFxuICAgICAgXCInX19USVRMRV9fJyB3YXMgb3AgaGV0IHdpdHRlIGRvZWsgdGUgemllbi5cIixcbiAgICBdO1xuICAgIEhpbnRUZW1wbGF0ZXNbQ2F0ZWdvcnkucmFkaW9Tb25nXSA9IFtcbiAgICAgIFwiRGUgaGl0ICdfX1RSQUNLX18nIHZhbiBfX0FSVElTVF9fIHdhcyBlZW4gZ3JhYWcgZ2VkcmFhaWRlIHR1bmUgb3AgZGUgcmFkaW8uXCIsXG4gICAgICBcIkFhbiBoZXQgbGllZGplICdfX1RSQUNLX18nIHZhbiBfX0FSVElTVF9fIHdhcyBuaWV0IHRlIG9udGtvbWVuIG9wIGRlIHJhZGlvLlwiLFxuICAgICAgXCJfX0FSVElTVF9fJyAnX19UUkFDS19fJyBrbG9uayByZWdlbG1hdGlnIG9wIGRlIHJhZGlvLlwiLFxuICAgICAgXCJKZSBrb24gJ19fVFJBQ0tfXycgdmFuIF9fQVJUSVNUX18gbmlldCBtaXNzZW4gb3AgZGUgcmFkaW8sIGhldCB3ZXJkIHpvIHZhYWsgZ2VkcmFhaWQuXCIsXG4gICAgICBcIidfX1RSQUNLX18nIHZhbiBfX0FSVElTVF9fIHdhcyBlZW4gdmFzdCBudW1tZXIgb3AgZGUgcmFkaW8uXCIsXG4gICAgICBcIkluIGRpZSB0aWpkIHdhcyAnX19UUkFDS19fJyB2YW4gX19BUlRJU1RfXyBlZW4gdmVlbGdlaG9vcmRlIHJhZGlvaGl0LlwiLFxuICAgICAgXCInX19UUkFDS19fJyB2YW4gX19BUlRJU1RfXyB3YXMgZWVuIHJhZGlvLWZhdm9yaWV0IGluIGRpdCBqYWFyLlwiLFxuICAgICAgXCJEZSByYWRpb3N0YXRpb25zIHpvbmRlbiAnX19UUkFDS19fJyB2YW4gX19BUlRJU1RfXyB1aXQuXCIsXG4gICAgICBcIkhldCBudW1tZXIgJ19fVFJBQ0tfXycgdmFuIF9fQVJUSVNUX18gZ2Vub290IHZlZWwgYWlycGxheSBvcCBkZSByYWRpby5cIixcbiAgICAgIFwiJ19fVFJBQ0tfXycgdmFuIF9fQVJUSVNUX18gd2FzIGVlbiB2ZWVsZ2Vob29yZCBudW1tZXIgb3AgZGUgcmFkaW9zdGF0aW9ucy5cIixcbiAgICAgIFwiJ19fVFJBQ0tfXycgdmFuIF9fQVJUSVNUX18gd2VyZCBlZW4gcmFkaW9rbGFzc2lla2VyLlwiLFxuICAgICAgXCInX19UUkFDS19fJyB2YW4gX19BUlRJU1RfXyB3YXMgZWVuIG9udmVyZ2V0ZWxpamtlIGhpdCBkaWUgZGUgcmFkaW8gZG9taW5lZXJkZS5cIixcbiAgICAgIFwiJ19fVFJBQ0tfXycgdmFuIF9fQVJUSVNUX18gd2FzIGVlbiB2ZWVsZ2Vob29yZGUgaGl0LlwiLFxuICAgICAgXCJEZSByYWRpb3N0YXRpb25zIGRyYWFpZGVuICdfX1RSQUNLX18nIHZhbiBfX0FSVElTVF9fIGdyaWpzLlwiLFxuICAgICAgXCInX19UUkFDS19fJyB2YW4gX19BUlRJU1RfXyB3YXMgZWVuIGNhdGNoeSBudW1tZXIgZGF0IGplIGJsZWVmIG1lZXppbmdlbi5cIixcbiAgICAgIFwiRGUgYmVhdCB2YW4gJ19fVFJBQ0tfXycgdmFuIF9fQVJUSVNUX18gd2FzIG9ud2VlcnN0YWFuYmFhci5cIixcbiAgICAgIFwiJ19fVFJBQ0tfXycgdmFuIF9fQVJUSVNUX18gaGFkIGVlbiB1bmlla2Ugc291bmQgZGllIGplIG5pZXQgc25lbCB2ZXJnYXQuXCIsXG4gICAgICBcIkplIGtvbiBuaWV0IG9tICdfX1RSQUNLX18nIHZhbiBfX0FSVElTVF9fIGhlZW4uXCIsXG4gICAgXTtcbiAgfVxuXG4gIHRyYW5zbGF0ZShrZXk6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgc3dpdGNoIChrZXkpIHtcbiAgICAgIGNhc2UgXCJ5ZWFyXCI6XG4gICAgICAgIHJldHVybiBcImphYXJcIjtcbiAgICAgIGNhc2UgXCJzdGFydFwiOlxuICAgICAgICByZXR1cm4gXCJzdGFydFwiO1xuICAgICAgY2FzZSBcIm5ldy1nYW1lXCI6XG4gICAgICAgIHJldHVybiBcIm5pZXV3IHNwZWxcIjtcbiAgICAgIGNhc2UgXCJlbmRcIjpcbiAgICAgICAgcmV0dXJuIFwiR29lZCBnZWRhYW4hXCI7XG4gICAgICBjYXNlIFwibmV4dC1xdWVzdGlvblwiOlxuICAgICAgICByZXR1cm4gXCJWb2xnZW5kZSB2cmFhZ1wiO1xuICAgICAgY2FzZSBcInF1aXRcIjpcbiAgICAgICAgcmV0dXJuIFwiQWZzbHVpdGVuXCI7XG4gICAgICBjYXNlIFwiYW5zd2VyLWNvcnJlY3RcIjpcbiAgICAgICAgcmV0dXJuIFwiQ29ycmVjdFwiO1xuICAgICAgY2FzZSBcImFuc3dlci13cm9uZ1wiOlxuICAgICAgICByZXR1cm4gXCJIZWxhYXNcIjtcbiAgICAgIGNhc2UgXCJxdWVzdGlvbi1udW1iZXJcIjpcbiAgICAgICAgcmV0dXJuIFwiVnJhYWdcIjtcbiAgICAgIGNhc2UgXCJxdWVzdGlvbi1zY29yZVwiOlxuICAgICAgICByZXR1cm4gXCJTY29yZVwiO1xuICAgICAgY2FzZSBcInRvdGFsLXNjb3JlXCI6XG4gICAgICAgIHJldHVybiBcIlRvdGFhbHNjb3JlXCI7XG4gICAgICBjYXNlIFwic2hvdy1oaW50XCI6XG4gICAgICAgIHJldHVybiBcIlRvb24gaGludFwiO1xuICAgICAgY2FzZSBcInVzZWQtaGludC1zaW5ndWxhclwiOlxuICAgICAgICByZXR1cm4gXCJKZSBoZWJ0IDEgaGludCBnZWJydWlrdFwiO1xuICAgICAgY2FzZSBcInVzZWQtaGludC1wbHVyYWxcIjpcbiAgICAgICAgcmV0dXJuIFwiSmUgaGVidCBfX0hJTlRTX18gaGludHMgZ2VicnVpa3RcIjtcbiAgICAgIGNhc2UgXCJudW1iZXItcG9pbnRzLXNpbmd1bGFyXCI6XG4gICAgICAgIHJldHVybiBcIlZvb3IgZGV6ZSB2cmFhZyBoZWIgamUgMSBwdW50IGdlaGFhbGRcIjtcbiAgICAgIGNhc2UgXCJudW1iZXItcG9pbnRzLXBsdXJhbFwiOlxuICAgICAgICByZXR1cm4gXCJWb29yIGRlemUgdnJhYWcgaGViIGplIF9fUE9JTlRTX18gcHVudGVuIGdlaGFhbGRcIjtcbiAgICAgIGNhc2UgXCJjb3JyZWN0LWFuc3dlci13YXNcIjpcbiAgICAgICAgcmV0dXJuIFwiSmUga29vcyB2b29yIF9fV1JPTkdfXyBtYWFyIGhldCBqdWlzdGUgYW50d29vcmQgd2FzIF9fQ09SUkVDVF9fXCI7XG4gICAgICBjYXNlIFwibm8tYW5zd2VyLWNvcnJlY3QtYW5zd2VyLXdhc1wiOlxuICAgICAgICByZXR1cm4gXCJKZSBoZWJ0IGdlZW4gYW50d29vcmQgZ2VnZXZlbiBtYWFyIGhldCBqdWlzdGUgYW50d29vcmQgd2FzIF9fQ09SUkVDVF9fXCI7XG4gICAgICBjYXNlIFwiZ2FtZS1uYW1lXCI6XG4gICAgICAgIHJldHVybiBcIkd1ZXNzIFRoZSBZZWFyXCI7XG4gICAgICBjYXNlIFwiZ2FtZS1jYWxsLXRvLWFjdGlvblwiOlxuICAgICAgICByZXR1cm4gXCJHYW1lIG9uISBVaXQgX19GUk9NX18gdG90IF9fVE9fX1wiO1xuICAgICAgY2FzZSBcInlvdXItYW5zd2VyXCI6XG4gICAgICAgIHJldHVybiBcIk1pam4gYW50d29vcmRcIjtcbiAgICAgIGNhc2UgXCJ5b3VyLWZlZWRiYWNrXCI6XG4gICAgICAgIHJldHVybiBcIm9wbWVya2luZ2VuXCI7XG4gICAgICBjYXNlIFwidHJ5LWxlZnRcIjpcbiAgICAgICAgcmV0dXJuIFwiX19UUklFU19fIHBvZ2luZyBvdmVyXCI7XG4gICAgICBjYXNlIFwidHJpZXMtbGVmdFwiOlxuICAgICAgICByZXR1cm4gXCJfX1RSSUVTX18gcG9naW5nZW4gb3ZlclwiO1xuICAgICAgY2FzZSBcImluLW9uZS1zZWNvbmRcIjpcbiAgICAgICAgcmV0dXJuIFwiSW4gX19TRUNPTkRTX18gc2Vjb25kZVwiO1xuICAgICAgY2FzZSBcImluLXgtc2Vjb25kc1wiOlxuICAgICAgICByZXR1cm4gXCJJbiBfX1NFQ09ORFNfXyBzZWNvbmRlblwiO1xuICAgICAgY2FzZSBcImdhbWUtc2V0dGluZ3MtcDBcIjpcbiAgICAgICAgcmV0dXJuIFwiIFdlbGsgZ2Vib29ydGVqYWFyP1wiXG4gICAgICBjYXNlIFwiZ2FtZS1zZXR0aW5ncy1wMVwiOlxuICAgICAgICByZXR1cm4gXCIgUmlnaHQuIE9oIGhleSwgQmlmZiwgaGV5LCBndXlzLCBob3cgYXJlIHlvdSBkb2luZz8gTG9vaywgdGhlcmUncyBhICAgICAgICAgICAgcmh5dGhtaWNcIlxuICAgICAgY2FzZSBcImdhbWUtc2V0dGluZ3MtcDJcIjpcbiAgICAgICAgcmV0dXJuIFwiIHZyYWdlbiBjZXJlbW9uaWFsIHJpdHVhbCBjb21pbmcgdXAuVmFuYWYgYmVnaW5cIlxuICAgICAgY2FzZSBcImdhbWUtc2V0dGluZ3MtcDNcIjpcbiAgICAgICAgcmV0dXJuIFwiIFByZWNpc2VseSwganVzdCByZWxheCBub3cgQ2FsdmluLiBUb3QgZWluZFwiXG4gICAgICBjYXNlIFwiZ2FtZS1zZXR0aW5ncy1wNFwiOlxuICAgICAgICByZXR1cm4gXCIgeW91J3ZlIGdvdCBhIGJpZyBicnVpc2Ugb24geW91J3JlIGhlYWQuXCJcbiAgICAgIGNhc2UgXCJnYW1lLWludHJvZHVjdGlvbi1wMVwiOlxuICAgICAgICByZXR1cm4gXCJzb21ldGhuZ1wiXG4gICAgICBjYXNlIFwiZ2FtZS1pbnRyb2R1Y3Rpb24tcDJcIjpcbiAgICAgICAgcmV0dXJuIFwiRXhjdXNlIG1lLiBHby4gR28uIE5ldmVyIG1pbmQgdGhhdCwgbmV2ZXIgbWluZCB0aGF0IG5vdywgbmV2ZXIgbWluZCB0aGF0LCBuZXZlciBtaW5kLSBZZWFoLCB3ZWxsLCBob3cgYWJvdXQgbXkgaG9tZXdvcmssIE1jRmx5PyBEb24ndCBzdG9wLCBXaWxiZXJ0LCBkcml2ZS5cIlxuICAgICAgY2FzZSBcImdhbWUtaW50cm9kdWN0aW9uLXAzXCI6XG4gICAgICAgIHJldHVybiBcIk1vbSwgaXMgdGhhdCB5b3U/IE9oLiBVaCBEb2MsIHVoIG5vLiBObywgZG9uJ3QgYmUgc2lsbHkuIFdoYXQgZGlkICAgICAgICAgICAgeW91ciBtb3RoZXIgZXZlciBzZWUgaW4gdGhhdCBraWQ/IFlvdSBndXlzLCB0YWtlIGhpbSBpbiBiYWNrIGFuZCAgICAgICAgICAgIEknbGwgYmUgcmlnaHQgdGhlcmUuIFdlbGwgYydtb24sIHRoaXMgYWluJ3Qgbm8gcGVlcCBzaG93LlwiXG4gICAgICBjYXNlIFwiZ2FtZS1pbnRyb2R1Y3Rpb24td2VsY29tZVwiOlxuICAgICAgICByZXR1cm4gYFdlbGtvbSBiaWogR3Vlc3MgVGhlIFllYXIhYFxuICAgIH1cbiAgICByZXR1cm4ga2V5O1xuICB9XG59XG4iLCJcbiAgICAgICAgaW1wb3J0IHtjc3N9IGZyb20gJ2xpdCc7XG4gICAgICAgIGV4cG9ydCBkZWZhdWx0IGNzc2BoMXtjb2xvcjp2YXIoLS1ndWVzcy10aGUteWVhci10aXRsZS1jb2xvciwgcmdiKDAsIDAsIDApKTtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWd1ZXNzLXRoZS15ZWFyLXRpdGxlLWJhY2tncm91bmQtY29sb3IsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC43KSk7Zm9udC1zaXplOnZhcigtLWd1ZXNzLXRoZS15ZWFyLXRpdGxlLWZvbnQtc2l6ZSwgMTZweCk7bWFyZ2luOjA7cGFkZGluZzoxcmVtO3RleHQtYWxpZ246Y2VudGVyfXB7Y29sb3I6dmFyKC0tZ3Vlc3MtdGhlLXllYXItdGV4dC1jb2xvciwgYmxhY2spO2ZvbnQtc2l6ZTp2YXIoLS1ndWVzcy10aGUteWVhci10ZXh0LWZvbnQtc2l6ZSwgMTRweCl9Omhvc3R7cG9zaXRpb246cmVsYXRpdmU7Y29sb3I6dmFyKC0tZ3Vlc3MtdGhlLXllYXItdGV4dC1jb2xvciwgYmxhY2spO2JhY2tncm91bmQ6dmFyKC0tZ3Vlc3MtdGhlLXllYXItYmFja2dyb3VuZC1jb2xvciwgd2hpdGUpO3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCV9Lmd1ZXNzLXRoZS15ZWFyLWNvbnRhaW5lcntwb3NpdGlvbjpyZWxhdGl2ZTt3aWR0aDoxMDAlO2hlaWdodDoxMDAlO21heC13aWR0aDo3NjhweDttYXJnaW46MCBhdXRvfS5ndWVzcy10aGUteWVhci1oZWFkZXJ7cG9zaXRpb246c3RpY2t5O3otaW5kZXg6MTAwO3RvcDowO2JveC1zaGFkb3c6MHB4IDVweCA1cHggMHB4IHJnYmEoMCwwLDAsLjMpO21hcmdpbi1ib3R0b206MTVweH0uZm9vdGVye3Bvc2l0aW9uOmFic29sdXRlO2JvdHRvbTowO2xlZnQ6MDtyaWdodDowO2NvbG9yOnZhcigtLWd1ZXNzLXRoZS15ZWFyLWZvb3Rlci1jb2xvciwgcmdiKDAsIDAsIDApKTtmb250LXNpemU6dmFyKC0tZ3Vlc3MtdGhlLXllYXItZm9vdGVyLWZvbnQtc2l6ZSwgMTJweCk7bWFyZ2luOjA7ei1pbmRleDotMX0uc3BsYXNoc2NyZWVue2JhY2tncm91bmQtY29sb3I6dmFyKC0tZ3Vlc3MtdGhlLXllYXItc3BsYXNoLXNjcmVlbi1iYWNrZ3JvdW5kLWNvbG9yLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNykpO2NvbG9yOnZhcigtLWd1ZXNzLXRoZS15ZWFyLXNwbGFzaC1zY3JlZW4tY29sb3IsIHJnYigwLCAwLCAwKSk7Zm9udC1zaXplOnZhcigtLWd1ZXNzLXRoZS15ZWFyLXNwbGFzaC1zY3JlZW4tZm9udC1zaXplLCAxNnB4KTttYXJnaW46MDt0ZXh0LWFsaWduOmNlbnRlcjt3aWR0aDoxMDAlO2hlaWdodDo5MHZofS5zcGxhc2hzY3JlZW4gLnNwbGFzaC1sb2dve21hcmdpbjowIGF1dG87cGFkZGluZzowO2Rpc3BsYXk6YmxvY2s7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTtkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2FsaWduLWl0ZW1zOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyfS5zcGxhc2hzY3JlZW4gLnNwbGFzaC1sb2dvIGltZ3ttYXgtd2lkdGg6MzAwcHg7Ym9yZGVyLXJhZGl1czo1MCU7Ym9yZGVyOjFweCBzb2xpZCAjMDAwfWRpdi5nYW1lLWludHJve2NvbG9yOnZhcigtLWd1ZXNzLXRoZS15ZWFyLXRpdGxlLWNvbG9yLCByZ2IoMCwgMCwgMCkpO21hcmdpbjowO3BhZGRpbmc6MDt0ZXh0LWFsaWduOmxlZnR9ZGl2LmdhbWUtaW50cm8+ZGl2e2JhY2tncm91bmQtY29sb3I6dmFyKC0tZ3Vlc3MtdGhlLXllYXItaW50cm8tYmFja2dyb3VuZC1jb2xvciwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjcpKTtwYWRkaW5nOjFyZW07bWF4LXdpZHRoOjcwY2g7bWFyZ2luOjFyZW0gYXV0b31kaXYuZ2FtZS1pbnRybyAuZ2FtZS1zdGFydCBidXR0b257YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1ndWVzcy10aGUteWVhci1idXR0b24tYmFja2dyb3VuZC1jb2xvciwgcmdiKDAsIDAsIDApKTtjb2xvcjp2YXIoLS1ndWVzcy10aGUteWVhci1idXR0b24tY29sb3IsIHJnYigyNTUsIDI1NSwgMjU1KSk7Ym9yZGVyOjA7cGFkZGluZzoxcmVtO21hcmdpbjoxcmVtIGF1dG87ZGlzcGxheTpibG9jazt3aWR0aDoxMDAlO2ZvbnQtc2l6ZTp2YXIoLS1ndWVzcy10aGUteWVhci1idXR0b24tZm9udC1zaXplLCAxcmVtKTtmb250LXdlaWdodDpib2xkO3RleHQtdHJhbnNmb3JtOnVwcGVyY2FzZTtjdXJzb3I6cG9pbnRlcn0uZ3Vlc3MtdGhlLXllYXItZ2FtZS1zdGFnZXtwb3NpdGlvbjpyZWxhdGl2ZTtwYWRkaW5nLWJvdHRvbToxMDBweH0uZ3Vlc3MtdGhlLXllYXItZ2FtZS1zdGFnZSAuY29udGFpbmVye3Bvc2l0aW9uOnJlbGF0aXZlO3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCV9Lmd1ZXNzLXRoZS15ZWFyLWdhbWUtc3RhZ2UgLmluY2lkZW50LS10aXRsZXt0b3A6MDt3aWR0aDoxMDAlO2JvcmRlci10b3A6MXB4IHNvbGlkICNmZmY7bWFyZ2luLWJvdHRvbToxMHB4fS5ndWVzcy10aGUteWVhci1nYW1lLXN0YWdlIC5pbmNpZGVudC0taW1hZ2V7ei1pbmRleDotMTtoZWlnaHQ6NDB2aDtkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXJ9Lmd1ZXNzLXRoZS15ZWFyLWdhbWUtc3RhZ2UgLmluY2lkZW50LS1pbWFnZSBpbWd7bWF4LXdpZHRoOjEwMCU7bWF4LWhlaWdodDoxMDAlfS5ndWVzcy10aGUteWVhci1nYW1lLXN0YWdlIC5pbmNpZGVudC0tdGV4dHtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWd1ZXNzLXRoZS15ZWFyLXRleHQtYmFja2dyb3VuZC1jb2xvciwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpKTtjb2xvcjp2YXIoLS1ndWVzcy10aGUteWVhci10ZXh0LWNvbG9yLCByZ2IoMCwgMCwgMCkpO2ZvbnQtc2l6ZTp2YXIoLS1ndWVzcy10aGUteWVhci10ZXh0LWZvbnQtc2l6ZSwgMTRweCl9Lmd1ZXNzLXRoZS15ZWFyLWdhbWUtc3RhZ2UgLmdhbWUtY29udHJvbHN7cG9zaXRpb246c3RpY2t5O2JvdHRvbToyNXB4O2xlZnQ6MDt3aWR0aDoxMDAlO2JhY2tncm91bmQtY29sb3I6aHNsYSgwLDAlLDEwMCUsLjcpO3BhZGRpbmctdG9wOjEwcHh9Lmd1ZXNzLXRoZS15ZWFyLWdhbWUtc3RhZ2UgLmdhbWUtY29udHJvbHMtLWhpbnR7dGV4dC1hbGlnbjpyaWdodH0uZ3Vlc3MtdGhlLXllYXItZ2FtZS1zdGFnZSAuZ2FtZS1jb250cm9scy0taGludCBidXR0b257bWFyZ2luOjEwcHg7cGFkZGluZzoxMHB4O2JvcmRlci1yYWRpdXM6MTBweDtib3JkZXI6MXB4IHNvbGlkICMwMDA7Y3Vyc29yOnBvaW50ZXI7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1ndWVzcy10aGUteWVhci10ZXh0LWJhY2tncm91bmQtY29sb3IpO2NvbG9yOnZhcigtLWd1ZXNzLXRoZS15ZWFyLXRleHQtY29sb3IpfS5ndWVzcy10aGUteWVhci1nYW1lLXN0YWdlIC5nYW1lLWNvbnRyb2xzLS1oaW50IGJ1dHRvbjpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWd1ZXNzLXRoZS15ZWFyLWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG9yKTtjb2xvcjp2YXIoLS1ndWVzcy10aGUteWVhci1idXR0b24tY29sb3IpfS5ndWVzcy10aGUteWVhci1nYW1lLXN0YWdlIC5nYW1lLWNvbnRyb2xzLS1hbnN3ZXJzIC5hbnN3ZXJzLS1saXN0IHVse2xpc3Qtc3R5bGU6bm9uZTttYXJnaW46MDtwYWRkaW5nOjA7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOnJvdzthbGlnbi1pdGVtczpjZW50ZXI7anVzdGlmeS1jb250ZW50OnNwYWNlLWV2ZW5seX0uZ3Vlc3MtdGhlLXllYXItZ2FtZS1zdGFnZSAuZ2FtZS1jb250cm9scy0tYW5zd2VycyAuYW5zd2Vycy0tbGlzdCB1bCBsaXtib3JkZXI6MXB4IHNvbGlkICMwMDA7Ym9yZGVyLXJhZGl1czoxMHB4O3BhZGRpbmc6MTBweCAxMHB4O2N1cnNvcjpwb2ludGVyO2JhY2tncm91bmQtY29sb3I6dmFyKC0tZ3Vlc3MtdGhlLXllYXItdGV4dC1iYWNrZ3JvdW5kLWNvbG9yKX0uZ3Vlc3MtdGhlLXllYXItZ2FtZS1zdGFnZSAuZ2FtZS1jb250cm9scy0tYW5zd2VycyAuYW5zd2Vycy0tbGlzdCB1bCBsaTpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWd1ZXNzLXRoZS15ZWFyLWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG9yKTtjb2xvcjp2YXIoLS1ndWVzcy10aGUteWVhci1idXR0b24tY29sb3IpfS5ndWVzcy10aGUteWVhci1nYW1lLXN0YWdlIC5mZWVkYmFja3twb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtsZWZ0OjA7cmlnaHQ6MDtib3R0b206MDtoZWlnaHQ6MTAwJTt3aWR0aDoxMDAlO21hcmdpbjphdXRvO2JhY2tkcm9wLWZpbHRlcjpibHVyKDEwcHgpO2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcn0uZ3Vlc3MtdGhlLXllYXItZ2FtZS1zdGFnZSAuZmVlZGJhY2stLWNvbnRlbnR7d2lkdGg6MzAwcHg7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1ndWVzcy10aGUteWVhci10ZXh0LWJhY2tncm91bmQtY29sb3IpO3BhZGRpbmc6MTVweDtib3JkZXItcmFkaXVzOjEwcHg7Ym94LXNoYWRvdzowcHggNXB4IDVweCAwcHggcmdiYSgwLDAsMCwuMyl9Lmd1ZXNzLXRoZS15ZWFyLWdhbWUtc3RhZ2UgLmdhbWUtc2NvcmV7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOnJvdzthbGlnbi1pdGVtczpjZW50ZXI7anVzdGlmeS1jb250ZW50OnNwYWNlLWV2ZW5seTttYXJnaW4tYm90dG9tOjEwcHh9Lmd1ZXNzLXRoZS15ZWFyLWdhbWUtc3RhZ2UgLmdhbWUtc2NvcmUtLWxhYmVse2ZvbnQtc2l6ZTo4MCV9Lmd1ZXNzLXRoZS15ZWFyLWdhbWUtc3RhZ2UgLmdhbWUtc2NvcmUtLXZhbHVle2ZvbnQtd2VpZ2h0OmJvbGR9Lmd1ZXNzLXRoZS15ZWFyLXNvdXJjZXN7Zm9udC1zaXplOjcwJX1gO1xuICAgICIsImltcG9ydCB7IFJlYWN0aXZlQ29udHJvbGxlciwgUmVhY3RpdmVDb250cm9sbGVySG9zdCB9IGZyb20gXCJsaXRcIjtcblxuZXhwb3J0IGNsYXNzIFF1ZXN0aW9uU2NvcmVDb250cm9sbGVyIGltcGxlbWVudHMgUmVhY3RpdmVDb250cm9sbGVyIHtcbiAgaG9zdDogUmVhY3RpdmVDb250cm9sbGVySG9zdDtcblxuICBzdGFydFZhbHVlOiBudW1iZXI7XG4gIHZhbHVlOiBudW1iZXIgPSAwO1xuICB0aW1lb3V0OiBudW1iZXI7XG5cbiAgcHJpdmF0ZSBfdGltZXJJRD86IFJldHVyblR5cGU8dHlwZW9mIHNldEludGVydmFsPjtcblxuICBjb25zdHJ1Y3Rvcihob3N0OiBSZWFjdGl2ZUNvbnRyb2xsZXJIb3N0LCBzdGFydFZhbHVlID0gMCwgdGltZW91dCA9IDEwMDApIHtcbiAgICAodGhpcy5ob3N0ID0gaG9zdCkuYWRkQ29udHJvbGxlcih0aGlzKTtcbiAgICB0aGlzLnN0YXJ0VmFsdWUgPSBzdGFydFZhbHVlO1xuICAgIHRoaXMudmFsdWUgPSBzdGFydFZhbHVlO1xuICAgIHRoaXMudGltZW91dCA9IHRpbWVvdXQ7XG4gIH1cblxuICBzdGFydCgpIHtcbiAgICB0aGlzLl90aW1lcklEID0gc2V0SW50ZXJ2YWwoKCkgPT4ge1xuICAgICAgdGhpcy52YWx1ZSAtPSAxO1xuXG4gICAgICAvLyBVcGRhdGUgdGhlIGhvc3Qgd2l0aCBuZXcgdmFsdWVcbiAgICAgIHRoaXMuaG9zdC5yZXF1ZXN0VXBkYXRlKCk7XG4gICAgfSwgdGhpcy50aW1lb3V0KTtcbiAgfVxuXG4gIHN0b3AoKSB7XG4gICAgY2xlYXJJbnRlcnZhbCh0aGlzLl90aW1lcklEKTtcbiAgICB0aGlzLl90aW1lcklEID0gdW5kZWZpbmVkO1xuICB9XG5cbiAgcmVzZXQoKSB7XG4gICAgdGhpcy52YWx1ZSA9IHRoaXMuc3RhcnRWYWx1ZTtcbiAgfVxuXG4gIHN1YnRyYWN0KHZhbHVlOiBudW1iZXIpIHtcbiAgICB0aGlzLnZhbHVlIC09IHZhbHVlO1xuICAgIGlmICh0aGlzLnZhbHVlIDwgMCkge1xuICAgICAgdGhpcy52YWx1ZSA9IDA7XG4gICAgfVxuICB9XG5cbiAgaXNSdW5uaW5nKCkge1xuICAgIHJldHVybiB0aGlzLl90aW1lcklEID8gdHJ1ZSA6IGZhbHNlO1xuICB9XG5cbiAgaG9zdERpc2Nvbm5lY3RlZCgpIHtcbiAgICAvLyBDbGVhciB0aGUgdGltZXIgd2hlbiB0aGUgaG9zdCBpcyBkaXNjb25uZWN0ZWRcbiAgICBjbGVhckludGVydmFsKHRoaXMuX3RpbWVySUQpO1xuICAgIHRoaXMuX3RpbWVySUQgPSB1bmRlZmluZWQ7XG4gIH1cbn1cbiIsImltcG9ydCB7IExpdEVsZW1lbnQsIGNzcywgaHRtbCwgUHJvcGVydHlWYWx1ZXMsIFRlbXBsYXRlUmVzdWx0IH0gZnJvbSBcImxpdFwiO1xuaW1wb3J0IHsgY3VzdG9tRWxlbWVudCwgcHJvcGVydHksIHN0YXRlIH0gZnJvbSBcImxpdC9kZWNvcmF0b3JzLmpzXCI7XG5pbXBvcnQgZGF5anMgZnJvbSBcImRheWpzXCI7XG5pbXBvcnQgeyBEYXlqcyB9IGZyb20gXCJkYXlqc1wiO1xuY29uc3QgeyBzZXRUaW1lb3V0IH0gPSB3aW5kb3c7XG5pbXBvcnQgeyBJbmNpZGVudCwgQ2F0ZWdvcmllcywgQ2F0ZWdvcnkgfSBmcm9tIFwiLi9saWIvSW5jaWRlbnRcIjtcbmltcG9ydCB7IE5vSW1hZ2VJbWcgfSBmcm9tIFwiLi9saWIvSWNvblwiO1xuaW1wb3J0IHsgQXBpU2VydmljZSwgQ29udGVudEZlZWRiYWNrIH0gZnJvbSBcIi4vbGliL0FwaVNlcnZpY2VcIjtcbmltcG9ydCB7IFV0aWwgfSBmcm9tIFwiLi9saWIvVXRpbFwiO1xuaW1wb3J0IHsgaTE4bkZhY3RvcnkgfSBmcm9tIFwiLi9saWIvaTE4bi9pMThuXCI7XG5pbXBvcnQgeyBHYW1lU3RhdGUgfSBmcm9tIFwiLi9saWIvZW51bXNcIjtcbmltcG9ydCBzdHlsZXNoZWV0IGZyb20gXCIuL3Njc3MvbWFpbi5zY3NzXCI7XG5pbXBvcnQgeyBRdWVzdGlvblNjb3JlQ29udHJvbGxlciB9IGZyb20gXCIuL2xpYi9jb250cm9sbGVyL3Njb3JlY29udHJvbGxlclwiO1xuXG5jb25zdCBTUExBU0hfREVMQVk6IG51bWJlciA9IDEwMDA7XG5jb25zdCBNQVhfUVVFU1RJT05TOiBudW1iZXIgPSAxMDtcbmNvbnN0IEhJTlRfQ09TVDogbnVtYmVyID0gMjtcbmNvbnN0IE1JTl9ZRUFSOiBudW1iZXIgPSAxOTUwO1xuY29uc3QgTUFYX1lFQVI6IG51bWJlciA9IHBhcnNlSW50KGRheWpzKCkuZm9ybWF0KCdZWVlZJyksIDEwKTtcbmNvbnN0IEdUWV9GUk9NX1lFQVJfVkFSID0gJ2d0eS1mcm9tLXllYXInO1xuY29uc3QgR1RZX1RPX1lFQVJfVkFSID0gJ2d0eS10by15ZWFyJztcbmNvbnN0IEdUWV9OVU1fUVVFU1RJT05TX1ZBUiA9ICdndHktbnVtYmVyLW9mLXF1ZXN0aW9ucyc7XG5jb25zdCBNQVhfRE9COiBudW1iZXIgPSAxOTE1O1xuY29uc3QgTUlOX0RPQjogbnVtYmVyID0gcGFyc2VJbnQoZGF5anMoKS5mb3JtYXQoJ1lZWVknKSwgMTApIC0gMTA7XG5jb25zdCBHVFlfUExBWUVSX0RPQl9WQVIgPSAnZ3R5LXBsYXllci1kb2InO1xuXG5AY3VzdG9tRWxlbWVudChcImd1ZXNzLXRoZS15ZWFyXCIpXG5leHBvcnQgY2xhc3MgR3Vlc3NUaGVZZWFyIGV4dGVuZHMgTGl0RWxlbWVudCB7XG5cbiAgcHJpdmF0ZSBzb3VyY2VzOiBBcnJheTxzdHJpbmc+ID0gW107XG4gIHByaXZhdGUgX2xvYWRpbmcgPSBmYWxzZTtcblxuICBwcml2YXRlIF9zY29yZTA6IFF1ZXN0aW9uU2NvcmVDb250cm9sbGVyO1xuXG4gIGdldCBsb2FkaW5nKCkge1xuICAgIHJldHVybiB0aGlzLl9sb2FkaW5nO1xuICB9XG5cbiAgc2V0IGxvYWRpbmcodmFsdWU6IGJvb2xlYW4pIHtcbiAgICB0aGlzLl9sb2FkaW5nID0gdmFsdWU7XG4gIH1cblxuICBAcHJvcGVydHkoeyB0eXBlOiBTdHJpbmcsIGF0dHJpYnV0ZTogXCJ0ZWUtZS1hcGktdXJsXCIgfSlcbiAgdGVlZUFwaVVybDogc3RyaW5nID0gXCJodHRwczovL2FwaS50ZWUtZS5jb21cIjtcblxuICBAcHJvcGVydHkoeyB0eXBlOiBCb29sZWFuLCBhdHRyaWJ1dGU6IFwicmVwb3J0LWJyb2tlbi1pbWFnZXNcIiB9KVxuICByZXBvcnRCcm9rZW5JbWFnZXM6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBAcHJvcGVydHkoeyB0eXBlOiBTdHJpbmcgfSlcbiAgZGF0ZTogc3RyaW5nID0gXCJcIjtcblxuICBAcHJvcGVydHkoeyB0eXBlOiBTdHJpbmcgfSlcbiAgY291bnRyeTogc3RyaW5nID0gXCJcIjtcblxuICBAcHJvcGVydHkoeyB0eXBlOiBTdHJpbmcgfSlcbiAgY2F0ZWdvcnk6IHN0cmluZyA9IFwiXCI7XG5cbiAgQHByb3BlcnR5KHsgdHlwZTogU3RyaW5nIH0pXG4gIGVtb3Rpb246IHN0cmluZyA9IFwiXCI7XG5cbiAgQHByb3BlcnR5KHsgdHlwZTogU3RyaW5nIH0pXG4gIGltcGFjdDogc3RyaW5nID0gXCJcIjtcblxuICBAcHJvcGVydHkoe1xuICAgIHR5cGU6IERheWpzLFxuICAgIGNvbnZlcnRlcjoge1xuICAgICAgZnJvbUF0dHJpYnV0ZTogKHZhbHVlOiBzdHJpbmcpID0+IHtcbiAgICAgICAgY29uc29sZS5kZWJ1ZyhbXCJmcm9tXCIsIFwiZnJvbVwiLCB2YWx1ZV0pO1xuICAgICAgICBpZiAoIXZhbHVlKSB7XG4gICAgICAgICAgcmV0dXJuIGRheWpzKCk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodmFsdWUubGVuZ3RoID49IDEwKSB7XG4gICAgICAgICAgcmV0dXJuIGRheWpzKHZhbHVlLCBcIllZWVktTU0tRERcIik7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gZGF5anMoYCR7dmFsdWV9LTAxLTAxYCwgXCJZWVlZLU1NLUREXCIpO1xuICAgICAgfSxcbiAgICAgIHRvQXR0cmlidXRlOiAodmFsdWU6IERheWpzKSA9PiB7XG4gICAgICAgIGNvbnNvbGUuZGVidWcoW1wiZnJvbVwiLCBcInRvXCIsIHZhbHVlXSk7XG4gICAgICAgIHJldHVybiB2YWx1ZS5mb3JtYXQoXCJZWVlZLU1NLUREXCIpO1xuICAgICAgfSxcbiAgICB9LFxuICB9KVxuICBmcm9tOiBEYXlqcyA9IGRheWpzKGAke3dpbmRvdy5sb2NhbFN0b3JhZ2UuZ2V0SXRlbShHVFlfRlJPTV9ZRUFSX1ZBUikgfHwgTUlOX1lFQVJ9LTAxLTAxYCwgXCJZWVlZLU1NLUREXCIpO1xuXG4gIEBwcm9wZXJ0eSh7XG4gICAgdHlwZTogRGF5anMsXG4gICAgY29udmVydGVyOiB7XG4gICAgICBmcm9tQXR0cmlidXRlOiAodmFsdWU6IHN0cmluZykgPT4ge1xuICAgICAgICBjb25zb2xlLmRlYnVnKFtcInRvXCIsIFwiZnJvbVwiLCB2YWx1ZV0pO1xuICAgICAgICBpZiAoIXZhbHVlKSB7XG4gICAgICAgICAgcmV0dXJuIGRheWpzKCk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodmFsdWUubGVuZ3RoID49IDEwKSB7XG4gICAgICAgICAgcmV0dXJuIGRheWpzKHZhbHVlLCBcIllZWVktTU0tRERcIik7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gZGF5anMoYCR7dmFsdWV9LTEyLTMxYCwgXCJZWVlZLU1NLUREXCIpO1xuICAgICAgfSxcbiAgICAgIHRvQXR0cmlidXRlOiAodmFsdWU6IERheWpzKSA9PiB7XG4gICAgICAgIGNvbnNvbGUuZGVidWcoW1widG9cIiwgXCJ0b1wiLCB2YWx1ZV0pO1xuICAgICAgICByZXR1cm4gdmFsdWUuZm9ybWF0KFwiWVlZWS1NTS1ERFwiKTtcbiAgICAgIH0sXG4gICAgfSxcbiAgfSlcbiAgdG86IERheWpzID0gZGF5anMoYCR7d2luZG93LmxvY2FsU3RvcmFnZS5nZXRJdGVtKEdUWV9UT19ZRUFSX1ZBUikgfHwgTUFYX1lFQVJ9LTAxLTAxYCwgXCJZWVlZLU1NLUREXCIpO1xuXG4gIEBwcm9wZXJ0eSh7IHR5cGU6IFN0cmluZywgYXR0cmlidXRlOiBcIm5vLWltYWdlLXNyY1wiIH0pXG4gIG5vSW1hZ2VTcmM6IHN0cmluZyA9IFwiXCI7XG5cbiAgQHByb3BlcnR5KHsgdHlwZTogQm9vbGVhbiwgYXR0cmlidXRlOiBcInN1cHByZXNzLWltYWdlc1wiIH0pXG4gIHN1cHByZXNzSW1hZ2VzOiBib29sZWFuID0gZmFsc2U7XG5cbiAgQHByb3BlcnR5KHsgdHlwZTogTnVtYmVyLCBhdHRyaWJ1dGU6IFwibWF4LWhpbnRzXCIgfSlcbiAgbWF4SGludHM6IG51bWJlciA9IDM7XG5cbiAgQHByb3BlcnR5KHsgdHlwZTogTnVtYmVyLCBhdHRyaWJ1dGU6IFwibnVtYmVyLW9mLXF1ZXN0aW9uc1wiLCByZWZsZWN0OiB0cnVlIH0pXG4gIG51bWJlck9mUXVlc3Rpb25zOiBudW1iZXIgPSBwYXJzZUludCh3aW5kb3cubG9jYWxTdG9yYWdlLmdldEl0ZW0oR1RZX05VTV9RVUVTVElPTlNfVkFSKSB8fCBNQVhfUVVFU1RJT05TICsgJycsIDEwKTtcbiAgcHJpdmF0ZSBfbnVtYmVyT2ZRdWVzdGlvbnNTZWVuOiBudW1iZXIgPSAwO1xuXG4gIHByaXZhdGUgX3BsYXllckRvYjogbnVtYmVyID0gcGFyc2VJbnQod2luZG93LmxvY2FsU3RvcmFnZS5nZXRJdGVtKEdUWV9QTEFZRVJfRE9CX1ZBUikgfHwgMCArICcnLCAxMCk7XG5cbiAgQHN0YXRlKClcbiAgcHJpdmF0ZSBfaW5jaWRlbnQ6IEluY2lkZW50IHwgdW5kZWZpbmVkID0gdW5kZWZpbmVkO1xuXG4gIHByaXZhdGUgX2Fuc3dlcnM6IEFycmF5PE51bWJlcj4gPSBbXTtcblxuICBAc3RhdGUoKVxuICBwcml2YXRlIF9oaW50OiBzdHJpbmcgfCB1bmRlZmluZWQgPSB1bmRlZmluZWQ7XG5cbiAgcHJpdmF0ZSBfc2hvd0hpbnQ6IGJvb2xlYW4gPSB0cnVlO1xuICBwcml2YXRlIF9zaG93Rm9vdGVyOiBib29sZWFuID0gZmFsc2U7XG4gIHByaXZhdGUgX2hpbnRzSW5kZXg6IG51bWJlciA9IDA7XG4gIHByaXZhdGUgX2hpbnRzOiBBcnJheTxJbmNpZGVudD4gPSBbXTtcblxuICBAc3RhdGUoKVxuICBwcml2YXRlIF9zb2x1dGlvbjogTnVtYmVyIHwgdW5kZWZpbmVkID0gdW5kZWZpbmVkO1xuXG4gIEBzdGF0ZSgpXG4gIHB1YmxpYyBfcmVuZGVyU3RhdGU6IHN0cmluZyA9IEdhbWVTdGF0ZS5JTklUO1xuXG4gIEBzdGF0ZSgpXG4gIHByaXZhdGUgX3Njb3JlID0gMzA7XG5cbiAgcHVibGljIHRvdGFsU2NvcmUgPSAwO1xuXG4gIC8vIF9hbnN3ZXIgaXMgc3RvcmVkIGFzIHN0cmluZyBiZWNhdXNlIGl0IHdpbGwgYmUgZW50ZXJlZCBjaGFyYWN0ZXIgZm9yIGNoYXJhY3RlclxuICBAc3RhdGUoKVxuICBwcml2YXRlIF9hbnN3ZXI6IG51bWJlciB8IHVuZGVmaW5lZCA9IHVuZGVmaW5lZDtcblxuICBwcml2YXRlIF9hcGlTZXJ2aWNlID0gbmV3IEFwaVNlcnZpY2UodGhpcy50ZWVlQXBpVXJsKTtcbiAgcHJpdmF0ZSBpMThuID0gaTE4bkZhY3RvcnkoXCJubFwiKTtcblxuICBzdGF0aWMgb3ZlcnJpZGUgc3R5bGVzID0gY3NzYFxuICAgICR7c3R5bGVzaGVldH1cbiAgYDtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcigpO1xuICAgIHRoaXMuX3Njb3JlMCA9IG5ldyBRdWVzdGlvblNjb3JlQ29udHJvbGxlcih0aGlzLCAzMCwgMTAwMCk7XG4gIH1cblxuICBvdmVycmlkZSBjb25uZWN0ZWRDYWxsYmFjaygpIHtcbiAgICBjb25zb2xlLmRlYnVnKFwiY29ubmVjdGVkQ2FsbGJhY2tcIik7XG4gICAgc3VwZXIuY29ubmVjdGVkQ2FsbGJhY2soKTtcblxuICAgIC8vIGZpcnN0IHN0ZXAgaXMgc3BsYXNoXG4gICAgdGhpcy5fcmVuZGVyU3RhdGUgPSBHYW1lU3RhdGUuU1BMQVNIO1xuICB9XG5cbiAgb3ZlcnJpZGUgZGlzY29ubmVjdGVkQ2FsbGJhY2soKSB7XG4gICAgY29uc29sZS5kZWJ1ZyhcImRpc2Nvbm5lY3RlZENhbGxiYWNrXCIpO1xuICAgIHN1cGVyLmRpc2Nvbm5lY3RlZENhbGxiYWNrKCk7XG4gICAgdGhpcy5fcmVuZGVyU3RhdGUgPSBHYW1lU3RhdGUuSU5JVDtcbiAgICB0aGlzLl9zY29yZTAuc3RvcCgpO1xuICAgIHRoaXMuX3Njb3JlMC5yZXNldCgpO1xuICB9XG5cbiAgb3ZlcnJpZGUgZmlyc3RVcGRhdGVkKGNoYW5nZWRQcm9wZXJ0aWVzOiBQcm9wZXJ0eVZhbHVlcyk6IHZvaWQge1xuICAgIGNvbnNvbGUuZGVidWcoXCJmaXJzdFVwZGF0ZWRcIik7XG4gICAgc3VwZXIuZmlyc3RVcGRhdGVkKGNoYW5nZWRQcm9wZXJ0aWVzKTtcbiAgfVxuXG4gIG92ZXJyaWRlIHNob3VsZFVwZGF0ZShjaGFuZ2VkUHJvcGVydGllczogUHJvcGVydHlWYWx1ZXMpOiBib29sZWFuIHtcbiAgICBjb25zb2xlLmRlYnVnKFwic2hvdWxkVXBkYXRlXCIpO1xuICAgIHJldHVybiBzdXBlci5zaG91bGRVcGRhdGUoY2hhbmdlZFByb3BlcnRpZXMpO1xuICB9XG5cbiAgb3ZlcnJpZGUgdXBkYXRlKGNoYW5nZWRQcm9wZXJ0aWVzOiBQcm9wZXJ0eVZhbHVlcykge1xuICAgIGNvbnNvbGUuZGVidWcoXCJ1cGRhdGVcIik7XG4gICAgcmV0dXJuIHN1cGVyLnVwZGF0ZShjaGFuZ2VkUHJvcGVydGllcyk7XG4gIH1cblxuICBvdmVycmlkZSB1cGRhdGVkKGNoYW5nZWRQcm9wZXJ0aWVzOiBQcm9wZXJ0eVZhbHVlcykge1xuICAgIGNvbnNvbGUuZGVidWcoXCJ1cGRhdGVkXCIpO1xuICAgIHJldHVybiBzdXBlci51cGRhdGVkKGNoYW5nZWRQcm9wZXJ0aWVzKTtcbiAgfVxuXG4gIG92ZXJyaWRlIHJlbmRlcigpIHtcbiAgICAvKipcbiAgICAgKiB0aGlzIGlzIHRoZSBtYWluIHJlbmRlciBmdW5jdGlvblxuICAgICAqIGl0IHJlbmRlcnMgZGlmZmVyZW50IHN0YWdlcyBkdXJpbmcgdGhlIGdhbWVcbiAgICAgKi9cbiAgICBjb25zb2xlLmRlYnVnKFwicmVuZGVyXCIpO1xuXG4gICAgcmV0dXJuIGh0bWxgXG4gICAgICA8ZGl2IGNsYXNzPVwiZ3Vlc3MtdGhlLXllYXItY29udGFpbmVyXCI+XG4gICAgICAgICR7dGhpcy5fcmVuZGVyU3RhdGUgPT0gR2FtZVN0YXRlLklOSVQgPyBcIkxvYWRpbmcuLi5cIiA6IFwiXCJ9XG4gICAgICAgICR7dGhpcy5fcmVuZGVyU3RhdGUgPT0gR2FtZVN0YXRlLlNQTEFTSFxuICAgICAgICA/IHRoaXMucmVuZGVyU3BsYXNoU2NyZWVuKClcbiAgICAgICAgOiBcIlwifVxuICAgICAgICAke3RoaXMuX3JlbmRlclN0YXRlID09IEdhbWVTdGF0ZS5JTlRSTyA/IHRoaXMucmVuZGVyR2FtZUludHJvKCkgOiBcIlwifVxuICAgICAgICAke3RoaXMuX3JlbmRlclN0YXRlID09IEdhbWVTdGF0ZS5QTEFZID8gdGhpcy5yZW5kZXJHYW1lU3RhZ2UoKSA6IFwiXCJ9XG4gICAgICAgICR7dGhpcy5fcmVuZGVyU3RhdGUgPT0gR2FtZVN0YXRlLkVORCA/IHRoaXMucmVuZGVyR2FtZUVuZCgpIDogXCJcIn1cbiAgICAgICAgJHt0aGlzLl9yZW5kZXJGb290ZXIoKX1cbiAgICAgIDwvZGl2PlxuICAgIGA7XG4gIH1cblxuICBjb2xvckVsZW1lbnQoZWxlbWVudDogYW55LCBjb2xvcjogc3RyaW5nKSB7XG4gICAgY29uc29sZS5kZWJ1ZyhcImNvbG9yRWxlbWVudFwiKTtcbiAgICB0aGlzPy5zaGFkb3dSb290Py5xdWVyeVNlbGVjdG9yKGVsZW1lbnQpPy5zdHlsZS5zZXRQcm9wZXJ0eShcImNvbG9yXCIsIGNvbG9yKTtcbiAgfVxuXG4gIC8vIHRoaXMgcmVuZGVycyB0aGUgZ2FtZSBoZWFkZXJcbiAgcHJpdmF0ZSBfcmVuZGVySGVhZGVyKGNvbnRlbnQ6IHN0cmluZyA9IHRoaXMuaTE4bi50cmFuc2xhdGUoXCJnYW1lLW5hbWVcIikpOiBUZW1wbGF0ZVJlc3VsdCB7XG4gICAgcmV0dXJuIGh0bWxgXG4gICAgICA8c2VjdGlvbiBpZD1cInRvcFwiIGNsYXNzPVwiaGVhZGVyIGd1ZXNzLXRoZS15ZWFyLWhlYWRlclwiPlxuICAgICAgICA8aDE+JHtjb250ZW50fTwvaDE+XG4gICAgICA8L3NlY3Rpb24+XG4gICAgYDtcbiAgfVxuXG4gIC8vIHRoaXMgcmVuZGVycyB0aGUgZ2FtZSBmb290ZXJcbiAgcHJpdmF0ZSBfcmVuZGVyRm9vdGVyKCk6IFRlbXBsYXRlUmVzdWx0IHtcbiAgICBpZiAodGhpcy5fc2hvd0Zvb3Rlcikge1xuICAgICAgcmV0dXJuIGh0bWxgXG4gICAgICA8c2VjdGlvbiBjbGFzcz1cImZvb3RlciBndWVzcy10aGUteWVhci1mb290ZXJcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImd1ZXNzLXRoZS15ZWFyLWNvcHlyaWdodFwiPlxuICAgICAgICAgICR7XCJUaGUgVGhyb3diYWNrIENvbXBhbnkgwqlcIiArIGRheWpzKCkueWVhcigpfVxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvc2VjdGlvbj5cbiAgICBgO1xuICAgIH1cbiAgICByZXR1cm4gaHRtbGBgO1xuICB9XG5cbiAgLy8gcmVuZGVyIHRoZSBzcGxhc2ggc2NyZWVuXG4gIHByaXZhdGUgcmVuZGVyU3BsYXNoU2NyZWVuKCk6IFRlbXBsYXRlUmVzdWx0IHtcbiAgICBjb25zb2xlLmRlYnVnKFwicmVuZGVyU3BsYXNoU2NyZWVuXCIpO1xuXG4gICAgLy8gKHByZXRlbmQpIHRvIGxvYWQgYmVmb3JlIHRoZSBnYW1lIHN0YXJ0c1xuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgdGhpcy5fcmVuZGVyU3RhdGUgPSBHYW1lU3RhdGUuSU5UUk87XG4gICAgfSwgU1BMQVNIX0RFTEFZKTtcblxuICAgIHJldHVybiBodG1sYFxuICAgICAgPGRpdiBpZD1cInNwbGFzaC1zY3JlZW4tY29udGFpbmVyXCIgY2xhc3M9XCJzcGxhc2hzY3JlZW5cIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cInNwbGFzaC1sb2dvXCI+XG4gICAgICAgICAgPGgyPiR7dGhpcy5pMThuLnRyYW5zbGF0ZShcImdhbWUtbmFtZVwiKX08L2gyPlxuICAgICAgICAgIDxwPiR7dGhpcy5pMThuLnRyYW5zbGF0ZShcIkxvYWRpbmcuLi5cIil9PC9wPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIGA7XG4gIH1cblxuICAvLyByZW5kZXJzIGEgc2VsZWN0b3IgZm9yIGEgeWVhclxuICAvLyBUT0RPOiBzZXQgdHlwZSBvZiBzZWxlY3RvclxuICBwcml2YXRlIF9yZW5kZXJZZWFyU3RlcFhTZWxlY3RPcHRpb25zKGZyb206IG51bWJlciwgdG86IG51bWJlciwgc3RlcDogbnVtYmVyLCBzZWxlY3RlZFZhbHVlOiBzdHJpbmcpOiBUZW1wbGF0ZVJlc3VsdCB7XG4gICAgY29uc3Qgc2VsZWN0ZWQgPSBwYXJzZUludChzZWxlY3RlZFZhbHVlLCAxMCk7XG4gICAgLy8gcHJlLXJlbmRlciB5ZWFyIG9wdGlvbnNcbiAgICAvLyBhbmQgbWFyayBzZWxlY3RlZCB3aGVuIHRoZXkgbWF0Y2hcbiAgICBjb25zdCBzZWxlY3RZZWFyT3B0aW9ucyA9IFtdO1xuICAgIGZvciAobGV0IGkgPSBmcm9tOyBpIDw9IHRvOyBpICs9IHN0ZXApIHtcbiAgICAgIHNlbGVjdFllYXJPcHRpb25zLnB1c2goaHRtbGBcbiAgICAgICAgPG9wdGlvbiB2YWx1ZT1cIiR7aX1cIiA/c2VsZWN0ZWQ9JHtzZWxlY3RlZCA9PSBpfT4ke2l9PC9vcHRpb24+XG4gICAgICBgKTtcbiAgICB9XG5cbiAgICByZXR1cm4gaHRtbGAke3NlbGVjdFllYXJPcHRpb25zfWA7XG4gIH1cblxuICAvLyByZW5kZXIgdGhlIGdhbWUgaW50cm9cbiAgLy8gYWxsb3dzIHRvIHNlbGVjdCB0aGUgbnVtYmVyIG9mIHF1ZXN0aW9ucyxcbiAgLy8gc2VsZWN0IHRoZSB5ZWFyIHJhbmdlXG4gIC8vIGFuZCB0byBzdGFydCB0aGUgZ2FtZVxuICBwcml2YXRlIHJlbmRlckdhbWVJbnRybygpOiBUZW1wbGF0ZVJlc3VsdCB7XG4gICAgY29uc29sZS5kZWJ1ZyhcInJlbmRlckdhbWVJbnRyb1wiKTtcblxuICAgIC8vIHByZS1yZW5kZXIgbnVtYmVyIG9mIHF1ZXN0aW9uIG9wdGlvbnNcbiAgICAvLyBhbmQgbWFyayBzZWxlY3RlZCB3aGVuIHRoZXkgbWF0Y2hcbiAgICBjb25zdCBzZWxlY3RRdWVzdGlvbk9wdGlvbnMgPSBbXTtcbiAgICBmb3IgKGxldCBpID0gMTsgaSA8PSBNQVhfUVVFU1RJT05TOyBpKyspIHtcbiAgICAgIHNlbGVjdFF1ZXN0aW9uT3B0aW9ucy5wdXNoKGh0bWxgXG4gICAgICAgIDxvcHRpb24gdmFsdWU9XCIke2l9XCIgP3NlbGVjdGVkPSR7dGhpcy5udW1iZXJPZlF1ZXN0aW9ucyA9PSBpfT5cbiAgICAgICAgICAke2l9XG4gICAgICAgIDwvb3B0aW9uPlxuICAgICAgYCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGh0bWxgXG4gICAgICAke3RoaXMuX3JlbmRlckhlYWRlcih0aGlzLmkxOG4udHJhbnNsYXRlKFwiZ2FtZS1pbnRyb2R1Y3Rpb24td2VsY29tZVwiKSl9XG5cbiAgICAgIDxkaXYgY2xhc3M9XCJnYW1lLWludHJvXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJnYW1lLWV4cGxhbmF0aW9uXCI+XG4gICAgICAgICAgPHA+XG4gICAgICAgICAgICAke3RoaXMuaTE4bi50cmFuc2xhdGUoXCJnYW1lLWludHJvZHVjdGlvbi1wMVwiKX1cbiAgICAgICAgICA8L3A+XG5cbiAgICAgICAgICA8cD5cbiAgICAgICAgICAgICR7dGhpcy5pMThuLnRyYW5zbGF0ZShcImdhbWUtaW50cm9kdWN0aW9uLXAyXCIpfVxuICAgICAgICAgIDwvcD5cblxuICAgICAgICAgIDxwPlxuICAgICAgICAgICAgJHt0aGlzLmkxOG4udHJhbnNsYXRlKFwiZ2FtZS1pbnRyb2R1Y3Rpb24tcDNcIil9XG4gICAgICAgICAgPC9wPlxuICAgICAgICA8L2Rpdj5cblxuICAgICAgICA8ZGl2IGNsYXNzPVwiZ2FtZS1zZXR0aW5nc1wiPlxuICAgICAgICAgIDxwPlxuICAgICAgICAgICAgJHt0aGlzLmkxOG4udHJhbnNsYXRlKFwiZ2FtZS1zZXR0aW5ncy1wMFwiKX1cbiAgICAgICAgICAgIDxzZWxlY3QgQGNoYW5nZT1cIiR7dGhpcy5fc2V0UGxheWVyRG9ifVwiPlxuICAgICAgICAgICAgICAke3RoaXMuX3JlbmRlclllYXJTdGVwWFNlbGVjdE9wdGlvbnMoTUFYX0RPQiwgTUlOX0RPQiwgMSwgdGhpcy5fcGxheWVyRG9iICsgJycpfVxuICAgICAgICAgICAgPC9zZWxlY3Q+XG4gICAgICAgICAgICAke3RoaXMuaTE4bi50cmFuc2xhdGUoXCJnYW1lLXNldHRpbmdzLXAxXCIpfVxuICAgICAgICAgICAgPHNlbGVjdCBAY2hhbmdlPVwiJHt0aGlzLl9zZXROdW1iZXJPZlF1ZXN0aW9uc31cIj5cbiAgICAgICAgICAgICAgJHtzZWxlY3RRdWVzdGlvbk9wdGlvbnN9XG4gICAgICAgICAgICA8L3NlbGVjdD5cbiAgICAgICAgICAgICR7dGhpcy5pMThuLnRyYW5zbGF0ZShcImdhbWUtc2V0dGluZ3MtcDJcIil9XG4gICAgICAgICAgICA8c2VsZWN0IEBjaGFuZ2U9XCIke3RoaXMuX3NldEZyb21EYXRlfVwiPlxuICAgICAgICAgICAgICAke3RoaXMuX3JlbmRlclllYXJTdGVwWFNlbGVjdE9wdGlvbnMoTUlOX1lFQVIsIE1BWF9ZRUFSLCA1LCB0aGlzLmZyb20uZm9ybWF0KFwiWVlZWVwiKSl9XG4gICAgICAgICAgICA8L3NlbGVjdD5cbiAgICAgICAgICAgICR7dGhpcy5pMThuLnRyYW5zbGF0ZShcImdhbWUtc2V0dGluZ3MtcDNcIil9XG4gICAgICAgICAgICA8c2VsZWN0IEBjaGFuZ2U9XCIke3RoaXMuX3NldFRvRGF0ZX1cIj5cbiAgICAgICAgICAgICAgJHt0aGlzLl9yZW5kZXJZZWFyU3RlcFhTZWxlY3RPcHRpb25zKE1JTl9ZRUFSLCBNQVhfWUVBUiwgNSwgdGhpcy50by5mb3JtYXQoXCJZWVlZXCIpKX1cbiAgICAgICAgICAgIDwvc2VsZWN0PlxuICAgICAgICAgICAgJHt0aGlzLmkxOG4udHJhbnNsYXRlKFwiZ2FtZS1zZXR0aW5ncy1wNFwiKX1cbiAgICAgICAgICA8L3A+XG4gICAgICAgIDwvZGl2PlxuXG4gICAgICAgIDxkaXYgY2xhc3M9XCJnYW1lLXN0YXJ0XCI+XG4gICAgICAgICAgPGJ1dHRvbiBAY2xpY2s9XCIke3RoaXMuc2V0dXBOZXdHYW1lfVwiPiR7dGhpcy5pMThuLnRyYW5zbGF0ZShcInN0YXJ0XCIpfTwvYnV0dG9uPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIGA7XG4gIH1cbiAgcHJpdmF0ZSBfc2V0UGxheWVyRG9iKGV2ZW50OiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLl9wbGF5ZXJEb2IgPSBOdW1iZXIoZXZlbnQudGFyZ2V0LnZhbHVlKTtcbiAgICB3aW5kb3cubG9jYWxTdG9yYWdlLnNldEl0ZW0oR1RZX1BMQVlFUl9ET0JfVkFSLCB0aGlzLl9wbGF5ZXJEb2IgKyAnJyk7XG4gIH1cblxuICBwcml2YXRlIF9zZXROdW1iZXJPZlF1ZXN0aW9ucyhldmVudDogYW55KTogdm9pZCB7XG4gICAgdGhpcy5udW1iZXJPZlF1ZXN0aW9ucyA9IE51bWJlcihldmVudC50YXJnZXQudmFsdWUpO1xuICAgIHdpbmRvdy5sb2NhbFN0b3JhZ2Uuc2V0SXRlbShHVFlfTlVNX1FVRVNUSU9OU19WQVIsIHRoaXMubnVtYmVyT2ZRdWVzdGlvbnMgKyAnJyk7XG4gIH1cblxuICBwcml2YXRlIF9zZXRGcm9tRGF0ZShldmVudDogYW55KTogdm9pZCB7XG4gICAgdGhpcy5mcm9tID0gdGhpcy5mcm9tLnllYXIoZXZlbnQudGFyZ2V0LnZhbHVlKTtcbiAgICB3aW5kb3cubG9jYWxTdG9yYWdlLnNldEl0ZW0oR1RZX0ZST01fWUVBUl9WQVIsIHRoaXMuZnJvbS5mb3JtYXQoJ1lZWVknKSArICcnKTtcbiAgfVxuXG4gIHByaXZhdGUgX3NldFRvRGF0ZShldmVudDogYW55KTogdm9pZCB7XG4gICAgdGhpcy50byA9IHRoaXMudG8ueWVhcihldmVudC50YXJnZXQudmFsdWUpO1xuICAgIHdpbmRvdy5sb2NhbFN0b3JhZ2Uuc2V0SXRlbShHVFlfVE9fWUVBUl9WQVIsIHRoaXMudG8uZm9ybWF0KCdZWVlZJykgKyAnJyk7XG4gIH1cblxuICAvLyByZW5kZXJzIHRoZSBhY3R1YWwgZ2FtZSBzdGFnZVxuICBwcml2YXRlIHJlbmRlckdhbWVTdGFnZSgpOiBUZW1wbGF0ZVJlc3VsdCB7XG4gICAgY29uc29sZS5kZWJ1ZyhcInJlbmRlckdhbWVTdGFnZVwiKTtcblxuICAgIHJldHVybiBodG1sYFxuICAgICAgJHt0aGlzLl9yZW5kZXJIZWFkZXIodGhpcy5pMThuLnRyYW5zbGF0ZShcImdhbWUtY2FsbC10by1hY3Rpb25cIikucmVwbGFjZSgvX19GUk9NX18vLCB0aGlzLmZyb20ueWVhcigpICsgJycpLnJlcGxhY2UoL19fVE9fXy8sIHRoaXMudG8ueWVhcigpICsgJycpKX1cbiAgICAgIDxkaXYgY2xhc3M9XCJndWVzcy10aGUteWVhci1nYW1lLXN0YWdlXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJnYW1lLXNjb3JlXCI+JHt0aGlzLl9yZW5kZXJHYW1lU2NvcmUoKX08L2Rpdj5cblxuICAgICAgICA8ZGl2IGNsYXNzPVwiY29udGFpbmVyXCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImluY2lkZW50XCI+JHt0aGlzLl9yZW5kZXJJbmNpZGVudCgpfTwvZGl2PlxuICAgICAgICAgICR7dGhpcy5fcmVuZGVySGludCgpfVxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJzb3VyY2VzXCI+JHt0aGlzLnJlbmRlclNvdXJjZXMoKX08L2Rpdj5cbiAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgPGRpdiBjbGFzcz1cImdhbWUtY29udHJvbHNcIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiZ2FtZS1jb250cm9scy0taGludFwiPiR7dGhpcy5fcmVuZGVySGludEJ1dHRvbigpfTwvZGl2PlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJnYW1lLWNvbnRyb2xzLS1hbnN3ZXJzXCI+JHt0aGlzLl9yZW5kZXJBbnN3ZXJzKCl9PC9kaXY+XG4gICAgICAgIDwvZGl2PlxuXG4gICAgICAgICR7dGhpcy5fcmVuZGVyRmVlZGJhY2soKX1cbiAgICAgIDwvZGl2PlxuICAgIGA7XG4gIH1cblxuICAvLyByZW5kZXJzIHRoZSBpdGVtIGZvciB0aGUgeWVhciB0byBndWVzc1xuICBwcml2YXRlIF9yZW5kZXJJbmNpZGVudCgpOiBUZW1wbGF0ZVJlc3VsdCB7XG4gICAgcmV0dXJuIGh0bWxgXG4gICAgICA8ZGl2IGNsYXNzPVwiaW5jaWRlbnQtLXRpdGxlXCI+XG4gICAgICAgIDxoMT4ke3RoaXMuX2luY2lkZW50Py50aXRsZX08L2gxPlxuICAgICAgPC9kaXY+XG5cbiAgICAgICR7dGhpcy5fcmVuZGVySW5jaWRlbnRJbWFnZSh0aGlzLl9pbmNpZGVudCl9XG5cbiAgICAgIDxkaXYgY2xhc3M9XCJpbmNpZGVudC0tdGV4dFwiPlxuICAgICAgICA8cD4ke3RoaXMuX2luY2lkZW50Py50ZXh0fTwvcD5cbiAgICAgIDwvZGl2PlxuICAgIGA7XG4gIH1cblxuICBwcml2YXRlIF9zaG91bGREaXNwbGF5QW5JbWFnZShpbmNpZGVudDogSW5jaWRlbnQpOiBib29sZWFuIHtcbiAgICBjb25zdCBoYXNJbWFnZSA9ICEhKGluY2lkZW50ICYmIGluY2lkZW50LmltYWdlICYmIGluY2lkZW50LmltYWdlWzBdKTtcbiAgICBjb25zdCBkaXNwbGF5SW1hZ2VzID0gIXRoaXMuc3VwcHJlc3NJbWFnZXM7XG4gICAgcmV0dXJuIGhhc0ltYWdlICYmIGRpc3BsYXlJbWFnZXM7XG4gIH1cblxuICAvLyByZW5kZXJzIHRoZSBvcHRpb25hbCBpbWFnZSB3aXRoIHRoZSBpdGVtXG4gIHByaXZhdGUgX3JlbmRlckluY2lkZW50SW1hZ2UoaW5jaWRlbnQ6IEluY2lkZW50IHwgdW5kZWZpbmVkKTogVGVtcGxhdGVSZXN1bHQge1xuICAgIGlmIChpbmNpZGVudCAmJiB0aGlzLl9zaG91bGREaXNwbGF5QW5JbWFnZShpbmNpZGVudCkpIHtcbiAgICAgIHJldHVybiBodG1sYFxuICAgICAgICA8ZGl2IGNsYXNzPVwiaW5jaWRlbnQtLWltYWdlXCI+XG4gICAgICAgICAgPGltZyBcbiAgICAgICAgICAgIEBlcnJvcj0keyhldnQ6IEV2ZW50KSA9PiB7XG4gICAgICAgICAgdGhpcy5faGFuZGxlSW1hZ2VMb2FkRXJyb3IoZXZ0LCBpbmNpZGVudCk7XG4gICAgICAgIH19XG4gICAgICAgICAgICBzcmM9XCIke2luY2lkZW50LmltYWdlWzBdfVwiXG4gICAgICAgICAgLz5cbiAgICAgICAgPC9kaXY+XG4gICAgICBgO1xuICAgIH1cblxuICAgIGlmICghdGhpcy5zdXBwcmVzc0ltYWdlcykge1xuICAgICAgLy8gUHJlc2VydmUgaHRtbCBzdHJ1Y3R1cmUgdG8gcHJldmVudCB0aGUgd2ViY29tcG9uZW50IHRvIGNvbGxhcHNlLlxuICAgICAgcmV0dXJuIGh0bWxgPGRpdiBjbGFzcz1cImluY2lkZW50LS1pbWFnZVwiPlxuICAgICAgICAgIDxpbWcvPlxuICAgICAgICA8L2Rpdj5gO1xuICAgIH1cblxuICAgIHJldHVybiBodG1sYGA7XG4gIH1cblxuICAvLyByZW5kZXJzIGEgbGlzdCBvZiBwb3NzaWJsZSBhbnN3ZXJzXG4gIHByaXZhdGUgX3JlbmRlckFuc3dlcnMoKTogVGVtcGxhdGVSZXN1bHQge1xuICAgIHJldHVybiBodG1sYFxuICAgICAgPGRpdiBjbGFzcz1cImFuc3dlcnMtLWxpc3RcIj5cbiAgICAgICAgPHVsPlxuICAgICAgICAgICR7dGhpcy5fYW5zd2Vycy5tYXAoXG4gICAgICAoYW5zd2VyKSA9PlxuICAgICAgICBodG1sYDxsaSBAY2xpY2s9XCIke3RoaXMuX2hhbmRsZUFuc3dlckNsaWNrZWR9XCI+JHthbnN3ZXJ9PC9saT5gLFxuICAgICl9XG4gICAgICAgIDwvdWw+XG4gICAgICA8L2Rpdj5cbiAgICBgO1xuICB9XG5cbiAgLy8gcmVuZGVycyB0aGUgY3VycmVudCBxdWVzdGlvbiBzY29yZVxuICAvLyBpdCBjb3VudHMgYmFjayB0byAwXG4gIHByaXZhdGUgX3JlbmRlckdhbWVTY29yZSgpOiBUZW1wbGF0ZVJlc3VsdCB7XG4gICAgcmV0dXJuIGh0bWxgXG4gICAgICA8ZGl2IGNsYXNzPVwiZ2FtZS1zY29yZS0tdG90YWxcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImdhbWUtc2NvcmUtLWxhYmVsXCI+JHt0aGlzLmkxOG4udHJhbnNsYXRlKFwicXVlc3Rpb24tbnVtYmVyXCIpfTo8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImdhbWUtc2NvcmUtLXZhbHVlXCI+XG4gICAgICAgICAgJHt0aGlzLl9udW1iZXJPZlF1ZXN0aW9uc1NlZW59IHZhbiAke3RoaXMubnVtYmVyT2ZRdWVzdGlvbnN9XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG5cbiAgICAgIDxkaXYgY2xhc3M9XCJnYW1lLXNjb3JlLS1zY29yZVwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZ2FtZS1zY29yZS0tbGFiZWxcIj4ke3RoaXMuaTE4bi50cmFuc2xhdGUoXCJxdWVzdGlvbi1zY29yZVwiKX06PC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJnYW1lLXNjb3JlLS12YWx1ZVwiPiR7dGhpcy5fc2NvcmUwLnZhbHVlfTwvZGl2PlxuICAgICAgPC9kaXY+XG5cbiAgICAgIDxkaXYgY2xhc3M9XCJnYW1lLXNjb3JlLS10b3RhbFwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZ2FtZS1zY29yZS0tbGFiZWxcIj4ke3RoaXMuaTE4bi50cmFuc2xhdGUoXCJ0b3RhbC1zY29yZVwiKX06PC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJnYW1lLXNjb3JlLS12YWx1ZVwiPiR7dGhpcy50b3RhbFNjb3JlfTwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgYDtcbiAgfVxuXG4gIC8vIGhhbmRsZXMgdGhlIGNsaWNrIG9uIGFuIGFuc3dlclxuICBwcml2YXRlIF9oYW5kbGVBbnN3ZXJDbGlja2VkKGV2ZW50OiBhbnkpOiB2b2lkIHtcbiAgICAvLyBnZXQgdGhlIGNsaWNrZWQgYW5zd2VyXG4gICAgY29uc3QgYW5zd2VyID0gZXZlbnQudGFyZ2V0LnRleHRDb250ZW50O1xuXG4gICAgLy8gc3RvcCB0aGUgc2NvcmUgY291bnRlclxuICAgIHRoaXMuX3Njb3JlMC5zdG9wKCk7XG5cbiAgICAvLyByZW1vdmUgdGhlIGhpbnQgYnV0dG9uXG4gICAgdGhpcy5fc2hvd0hpbnQgPSBmYWxzZTtcblxuICAgIC8vIGNoZWNrIGlmIHRoZSBhbnN3ZXIgaXMgY29ycmVjdFxuICAgIGlmIChhbnN3ZXIpIHtcbiAgICAgIC8vIHRoaXMuX2FwaVNlcnZpY2UucG9zdEluY2lkZW50QW5zd2VyKHRoaXMuX2luY2lkZW50Py5pZCwgYW5zd2VyKTtcbiAgICAgIGNvbnNvbGUuZGVidWcoXG4gICAgICAgIGFuc3dlcixcbiAgICAgICAgdGhpcy5fc29sdXRpb24sXG4gICAgICAgIHRoaXMuX3Njb3JlLFxuICAgICAgICBhbnN3ZXIgPT0gdGhpcy5fc29sdXRpb24sXG4gICAgICApO1xuXG4gICAgICB0aGlzLl9hbnN3ZXIgPSBhbnN3ZXI7XG4gICAgfVxuICB9XG5cbiAgLy8gcmVuZGVycyB0aGUgcmVxdWVzdGVkIGhpbnRcbiAgcHJpdmF0ZSBfcmVuZGVySGludCgpOiBUZW1wbGF0ZVJlc3VsdCB7XG4gICAgaWYgKCF0aGlzLl9oaW50KSB7XG4gICAgICByZXR1cm4gaHRtbGBgO1xuICAgIH1cblxuICAgIHJldHVybiBodG1sYCA8cD4ke3RoaXMuX2hpbnR9PC9wPiBgO1xuICB9XG5cbiAgLy8gcmVuZGVycyB0aGUgaGludCBidXR0b24gdW50aWxcbiAgLy8gYWxsIG1heCBoaW50cyBoYXZlIGJlZW4gdXNlZFxuICBwcml2YXRlIF9yZW5kZXJIaW50QnV0dG9uKCk6IFRlbXBsYXRlUmVzdWx0IHtcbiAgICBpZiAoIXRoaXMuX3Nob3dIaW50KSB7XG4gICAgICByZXR1cm4gaHRtbGBgO1xuICAgIH1cblxuICAgIHJldHVybiBodG1sYFxuICAgICAgPGRpdiBjbGFzcz1cImdhbWUtY29udHJvbHMtLWhpbnRcIj5cbiAgICAgICAgPGJ1dHRvbiBAY2xpY2s9XCIke3RoaXMuX2hhbmRsZUhpbnRDbGlja2VkfVwiPlxuICAgICAgICAgJHt0aGlzLmkxOG4udHJhbnNsYXRlKFwic2hvdy1oaW50XCIpfSAoJHt0aGlzLl9oaW50cy5sZW5ndGggLSB0aGlzLl9oaW50c0luZGV4fSlcbiAgICAgICAgPC9idXR0b24+XG4gICAgICA8L2Rpdj5cbiAgICBgO1xuICB9XG5cbiAgLy8gaGFuZGxlcyB0aGUgY2xpY2sgb24gdGhlIGhpbnQgYnV0dG9uXG4gIC8vIGFuZCBzaG93cyB0aGUgbmV4dCBoaW50IGlmIGF2YWlsYWJsZVxuICAvLyBzdWJ0cmFjdHMgdGhlIGNvc3Qgb2YgdGhlIGhpbnQgZnJvbVxuICAvLyB0aGUgcXVlc3Rpb24gc2NvcmVcbiAgcHJpdmF0ZSBfaGFuZGxlSGludENsaWNrZWQoKTogdm9pZCB7XG4gICAgY29uc29sZS5kZWJ1ZyhcImhhbmRsZUhpbnRDbGlja2VkXCIsIFt0aGlzLl9oaW50c0luZGV4LCB0aGlzLl9oaW50cy5sZW5ndGhdKTtcblxuICAgIGlmICh0aGlzLl9oaW50c0luZGV4IDwgdGhpcy5faGludHMubGVuZ3RoKSB7XG4gICAgICBjb25zdCBoaW50VGV4dCA9IHRoaXMuX2dlbmVyYXRlSGludFRleHQodGhpcy5faGludHNbdGhpcy5faGludHNJbmRleF0pO1xuXG4gICAgICBpZiAoaGludFRleHQpIHtcbiAgICAgICAgdGhpcy5faGludCA9IGhpbnRUZXh0O1xuICAgICAgICB0aGlzLl9oaW50c0luZGV4Kys7XG4gICAgICAgIHRoaXMuX3Njb3JlMC5zdWJ0cmFjdChISU5UX0NPU1QpO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmICh0aGlzLl9oaW50c0luZGV4ID49IHRoaXMuX2hpbnRzLmxlbmd0aCkge1xuICAgICAgLy8gdGhpcy5faGludHNJbmRleCA9IDA7XG4gICAgICB0aGlzLl9zaG93SGludCA9IGZhbHNlO1xuICAgIH1cbiAgfVxuXG4gIC8vIHJlbmRlcnMgdGhlIGZlZWRiYWNrIG92ZXJsYXlcbiAgcHJpdmF0ZSBfcmVuZGVyRmVlZGJhY2soKTogVGVtcGxhdGVSZXN1bHQge1xuICAgIC8vIGRvIG5vdCBzaG93IGFueXRoaW5nIHVudGlsIGFuIGFuc3dlciBoYXMgYmVlbiBtYWRlXG4gICAgLy8gYW5kIHRoZSBzY29yZSBpcyBncmVhdGVyIHRoYW4gMFxuICAgIGlmICghdGhpcy5fYW5zd2VyICYmIHRoaXMuX3Njb3JlMC52YWx1ZSA+IDApIHtcbiAgICAgIHJldHVybiBodG1sYGA7XG4gICAgfVxuXG4gICAgLy8gY2hlY2sgaWYgdGhlIGFuc3dlciBpcyBjb3JyZWN0XG4gICAgLy8gY2FzdCB0byBzdHJpbmdzIHRvIGNvbXBhcmVcbiAgICBjb25zdCBpc19jb3JyZWN0ID0gdGhpcy5fYW5zd2VyICsgXCJcIiA9PSB0aGlzLl9zb2x1dGlvbiArIFwiXCI7XG4gICAgY29uc3Qgc2NvcmUgPSBpc19jb3JyZWN0ID8gdGhpcy5fc2NvcmUwLnZhbHVlIDogMDtcblxuICAgIGlmICh0aGlzLl9zY29yZTAuaXNSdW5uaW5nKCkpIHtcbiAgICAgIHRoaXMuX3Njb3JlMC5zdG9wKCk7XG4gICAgfVxuXG4gICAgdGhpcy50b3RhbFNjb3JlICs9IHNjb3JlO1xuXG4gICAgLy8gRmlyZS1hbmQtZm9yZ2V0IHJlY2FsbGFiaWxpdHkgZmVlZGJhY2suXG4gICAgaWYgKHRoaXMuX2luY2lkZW50Py5pZCkge1xuICAgICAgdGhpcy5fYXBpU2VydmljZS5pbmNpZGVudFJlY2FsbGFiaWxpdHkodGhpcy5faW5jaWRlbnQ/LmlkLCB0aGlzLl9wbGF5ZXJEb2IsIGlzX2NvcnJlY3QpO1xuICAgIH1cblxuICAgIGlmIChpc19jb3JyZWN0KSB7XG4gICAgICByZXR1cm4gaHRtbGBcbiAgICAgICAgPGRpdiBjbGFzcz1cImZlZWRiYWNrXCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImZlZWRiYWNrLS1jb250ZW50XCI+XG4gICAgICAgICAgICA8aDM+JHt0aGlzLmkxOG4udHJhbnNsYXRlKFwiYW5zd2VyLWNvcnJlY3RcIil9ITwvaDM+XG4gICAgICAgICAgICA8cD5cbiAgICAgICAgICAgICAgJHt0aGlzLl9oaW50c0luZGV4ID09IDEgPyB0aGlzLmkxOG4udHJhbnNsYXRlKFwidXNlZC1oaW50LXNpbmd1bGFyXCIpIDogdGhpcy5pMThuLnRyYW5zbGF0ZShcInVzZWQtaGludC1wbHVyYWxcIikucmVwbGFjZSgvX19ISU5UU19fLywgdGhpcy5faGludHNJbmRleCArICcnKX1cbiAgICAgICAgICAgIDwvcD5cbiAgICAgICAgICAgIDxwPlxuICAgICAgICAgICAgICAke3Njb3JlID09IDEgPyB0aGlzLmkxOG4udHJhbnNsYXRlKFwibnVtYmVyLXBvaW50cy1zaW5ndWxhclwiKSA6IHRoaXMuaTE4bi50cmFuc2xhdGUoXCJudW1iZXItcG9pbnRzLXBsdXJhbFwiKS5yZXBsYWNlKC9fX1BPSU5UU19fLywgc2NvcmUgKyAnJyl9XG4gICAgICAgICAgICA8L3A+XG5cbiAgICAgICAgICAgICR7dGhpcy5fcmVuZGVyTmV4dFF1ZXN0aW9uQnV0dG9uKCl9XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgYDtcbiAgICB9IGVsc2UgaWYgKCFpc19jb3JyZWN0ICYmIHRoaXMuX2Fuc3dlcikge1xuICAgICAgcmV0dXJuIGh0bWxgXG4gICAgICAgIDxkaXYgY2xhc3M9XCJmZWVkYmFja1wiPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJmZWVkYmFjay0tY29udGVudFwiPlxuICAgICAgICAgICAgPGgzPiR7dGhpcy5pMThuLnRyYW5zbGF0ZShcImFuc3dlci13cm9uZ1wiKX08L2gzPlxuICAgICAgICAgICAgPHA+XG4gICAgICAgICAgICAgICR7dGhpcy5pMThuLnRyYW5zbGF0ZShcImNvcnJlY3QtYW5zd2VyLXdhc1wiKS5yZXBsYWNlKC9fX1dST05HX18vLCB0aGlzLl9hbnN3ZXIgKyAnJykucmVwbGFjZSgvX19DT1JSRUNUX18vLCB0aGlzLl9zb2x1dGlvbiArICcnKX1cbiAgICAgICAgICAgIDwvcD5cbiAgICAgICAgICAgICR7dGhpcy5fcmVuZGVyTmV4dFF1ZXN0aW9uQnV0dG9uKCl9XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgYDtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIGh0bWxgXG4gICAgICAgIDxkaXYgY2xhc3M9XCJmZWVkYmFja1wiPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJmZWVkYmFjay0tY29udGVudFwiPlxuICAgICAgICAgICAgPGgzPkhlbGFhczwvaDM+XG4gICAgICAgICAgICA8cD5cbiAgICAgICAgICAgICR7dGhpcy5pMThuLnRyYW5zbGF0ZShcIm5vLWFuc3dlci1jb3JyZWN0LWFuc3dlci13YXNcIikucmVwbGFjZSgvX19DT1JSRUNUX18vLCB0aGlzLl9zb2x1dGlvbiArICcnKX1cbiAgICAgICAgICAgIDwvcD5cbiAgICAgICAgICAgICR7dGhpcy5fcmVuZGVyTmV4dFF1ZXN0aW9uQnV0dG9uKCl9XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgYDtcbiAgICB9XG4gIH1cblxuICAvLyByZW5kZXJzIHRoZSBuZXh0IHF1ZXN0aW9uIGJ1dHRvblxuICBwcml2YXRlIF9yZW5kZXJOZXh0UXVlc3Rpb25CdXR0b24oKTogVGVtcGxhdGVSZXN1bHQge1xuICAgIGlmICh0aGlzLl9udW1iZXJPZlF1ZXN0aW9uc1NlZW4gPCB0aGlzLm51bWJlck9mUXVlc3Rpb25zKSB7XG4gICAgICByZXR1cm4gaHRtbGBcbiAgICAgICAgPGJ1dHRvbiBAY2xpY2s9XCIke3RoaXMuX2xvYWRRdWVzdGlvbn1cIj4ke3RoaXMuaTE4bi50cmFuc2xhdGUoXCJuZXh0LXF1ZXN0aW9uXCIpfTwvYnV0dG9uPlxuICAgICAgYDtcbiAgICB9XG5cbiAgICByZXR1cm4gaHRtbGAgPGJ1dHRvbiBAY2xpY2s9XCIke3RoaXMuX2VuZEdhbWV9XCI+JHt0aGlzLmkxOG4udHJhbnNsYXRlKFwicXVpdFwiKX08L2J1dHRvbj4gYDtcbiAgfVxuXG4gIC8vIHJlbmRlcnMgdGhlIGVuZCBvZiB0aGUgZ2FtZVxuICBwcml2YXRlIF9lbmRHYW1lKCk6IHZvaWQge1xuICAgIHRoaXMuX3JlbmRlclN0YXRlID0gR2FtZVN0YXRlLkVORDtcbiAgfVxuXG4gIHByaXZhdGUgcmVuZGVyR2FtZUVuZCgpOiBUZW1wbGF0ZVJlc3VsdCB7XG4gICAgY29uc29sZS5kZWJ1ZyhcInJlbmRlckdhbWVFbmRcIik7XG4gICAgcmV0dXJuIGh0bWxgXG4gICAgICAke3RoaXMuX3JlbmRlckhlYWRlcihcIlRoZSBlbmQhXCIpfVxuICAgICAgPGRpdiBjbGFzcz1cImd1ZXNzLXRoZS15ZWFyLWdhbWUtZW5kXCI+JHt0aGlzLmkxOG4udHJhbnNsYXRlKFwiZW5kXCIpfTwvZGl2PlxuICAgICAgPGJ1dHRvbiBAY2xpY2s9XCIkeygpID0+ICh0aGlzLl9yZW5kZXJTdGF0ZSA9IEdhbWVTdGF0ZS5TUExBU0gpfVwiPlxuICAgICAgJHt0aGlzLmkxOG4udHJhbnNsYXRlKFwibmV3LWdhbWVcIil9XG4gICAgICA8L2J1dHRvbj5cbiAgICAgICR7dGhpcy5fcmVuZGVyRm9vdGVyKCl9XG4gICAgYDtcbiAgfVxuXG4gIHByaXZhdGUgc2V0dXBOZXdHYW1lKCk6IHZvaWQge1xuICAgIGNvbnNvbGUuZGVidWcoXCJuZXcgZ2FtZSFcIik7XG5cbiAgICBjb25zb2xlLmRlYnVnKHtcbiAgICAgIFwibnVtYmVyIG9mIHF1ZXN0aW9uc1wiOiB0aGlzLm51bWJlck9mUXVlc3Rpb25zLFxuICAgICAgZnJvbTogdGhpcy5mcm9tLnRvSVNPU3RyaW5nKCksXG4gICAgICB0bzogdGhpcy50by50b0lTT1N0cmluZygpLFxuICAgIH0pO1xuXG4gICAgdGhpcy50b3RhbFNjb3JlID0gMDtcbiAgICB0aGlzLl9udW1iZXJPZlF1ZXN0aW9uc1NlZW4gPSAwO1xuXG4gICAgdGhpcy5fbG9hZFF1ZXN0aW9uKCk7XG4gIH1cblxuICBwcml2YXRlIF9yZXNldFN0YWdlKCk6IHZvaWQge1xuICAgIHRoaXMuc291cmNlcyA9IFtdO1xuICAgIHRoaXMuX2luY2lkZW50ID0gdW5kZWZpbmVkO1xuICAgIHRoaXMuX2hpbnRzID0gW107XG4gICAgdGhpcy5fYW5zd2VyID0gdW5kZWZpbmVkO1xuICAgIHRoaXMuX2Fuc3dlcnMgPSBbXTtcbiAgICB0aGlzLl9oaW50c0luZGV4ID0gMDtcbiAgICB0aGlzLl9zY29yZTAucmVzZXQoKTtcbiAgICB0aGlzLl9zaG93SGludCA9IGZhbHNlO1xuICAgIHRoaXMuX2hpbnQgPSB1bmRlZmluZWQ7XG4gIH1cblxuICBhc3luYyBfbG9hZFF1ZXN0aW9uKCk6IFByb21pc2U8dm9pZD4ge1xuICAgIHRoaXMuX3Jlc2V0U3RhZ2UoKTtcblxuICAgIGNvbnN0IHJlc3BvbnNlOiB7IGluY2lkZW50OiBJbmNpZGVudCB8IHVuZGVmaW5lZDsgc291cmNlczogc3RyaW5nW10gfSA9XG4gICAgICBhd2FpdCB0aGlzLl9hcGlTZXJ2aWNlLmZldGNoT25lSW5jaWRlbnQoXG4gICAgICAgIHRoaXMuY291bnRyeSxcbiAgICAgICAgdGhpcy5jYXRlZ29yeSxcbiAgICAgICAgdGhpcy5lbW90aW9uLFxuICAgICAgICB0aGlzLmltcGFjdCxcbiAgICAgICAgdGhpcy5kYXRlLFxuICAgICAgICB0aGlzLmZyb20uZm9ybWF0KFwiWVlZWS1NTS1ERFwiKSxcbiAgICAgICAgdGhpcy50by5mb3JtYXQoXCJZWVlZLU1NLUREXCIpLFxuICAgICAgICBcIjQwXCIsXG4gICAgICAgIFwicXVpel95ZWFyXCJcbiAgICAgICk7XG5cbiAgICB0aGlzLl9pbmNpZGVudCA9IHJlc3BvbnNlLmluY2lkZW50O1xuICAgIHRoaXMuc291cmNlcyA9IHJlc3BvbnNlLnNvdXJjZXM7XG5cbiAgICB0aGlzLl9zb2x1dGlvbiA9IE51bWJlcihcbiAgICAgIChyZXNwb25zZS5pbmNpZGVudD8ueWVhcnBsdXNtb250aCB8fCBcIlwiKS5zdWJzdHJpbmcoMCwgNCksXG4gICAgKTtcblxuICAgIGNvbnN0IGFuc3dlcnMgPSBbdGhpcy5fc29sdXRpb25dO1xuICAgIGNvbnN0IGZyb20gPSB0aGlzLmZyb20ueWVhcigpO1xuICAgIGNvbnN0IHRvID0gdGhpcy50by55ZWFyKCk7XG5cbiAgICAvLyBnZW5lcmF0ZSAzIG1vcmUgcmFuZG9tIGFuZCB1bmlxdWUgYW5zd2VycyBiZXR3ZWVuIHRvIGFuZCBmcm9tXG4gICAgd2hpbGUgKGFuc3dlcnMubGVuZ3RoIDwgNCkge1xuICAgICAgY29uc3QgcmFuZG9tQW5zd2VyID0gTWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpICogKHRvIC0gZnJvbSkpICsgZnJvbTtcbiAgICAgIGlmICghYW5zd2Vycy5pbmNsdWRlcyhyYW5kb21BbnN3ZXIpKSB7XG4gICAgICAgIGFuc3dlcnMucHVzaChyYW5kb21BbnN3ZXIpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIHNvcnQgdGhlc2VzIGFuc3dlcnNcbiAgICBhbnN3ZXJzLnNvcnQoKTtcblxuICAgIHRoaXMuX2Fuc3dlcnMgPSBhbnN3ZXJzO1xuXG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCB0aGlzLm1heEhpbnRzOyBpKyspIHtcbiAgICAgIGNvbnNvbGUuZGVidWcoXCJsb2FkaW5nIGhpbnRcIiwgaSk7XG5cbiAgICAgIGNvbnN0IHJlc3BvbnNlOiB7IGluY2lkZW50OiBJbmNpZGVudCB8IHVuZGVmaW5lZDsgc291cmNlczogc3RyaW5nW10gfSA9XG4gICAgICAgIGF3YWl0IHRoaXMuX2FwaVNlcnZpY2UuZmV0Y2hPbmVJbmNpZGVudChcbiAgICAgICAgICB0aGlzLmNvdW50cnksXG4gICAgICAgICAgVXRpbC5zaHVmZmxlQXJyYXkoWy4uLkNhdGVnb3JpZXNdKS5zaGlmdCgpLFxuICAgICAgICAgIHVuZGVmaW5lZCxcbiAgICAgICAgICB1bmRlZmluZWQsXG4gICAgICAgICAgXCJcIixcbiAgICAgICAgICBgJHt0aGlzLl9zb2x1dGlvbn0tMDEtMDFgLFxuICAgICAgICAgIGAke3RoaXMuX3NvbHV0aW9ufS0xMi0zMWAsXG4gICAgICAgICAgdW5kZWZpbmVkLFxuICAgICAgICAgIHVuZGVmaW5lZCxcbiAgICAgICAgKTtcblxuICAgICAgaWYgKHJlc3BvbnNlLmluY2lkZW50KSB7XG4gICAgICAgIHRoaXMuX2hpbnRzLnB1c2gocmVzcG9uc2UuaW5jaWRlbnQpO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmICh0aGlzLl9oaW50cy5sZW5ndGggPT09IDApIHtcbiAgICAgIHRoaXMuX3Nob3dIaW50ID0gZmFsc2U7XG4gICAgfVxuICAgIGVsc2Uge1xuICAgICAgdGhpcy5fc2hvd0hpbnQgPSB0cnVlO1xuICAgIH1cblxuICAgIC8vIHN0YXJ0IHJlbmRlciBnYW1lIHN0YWdlXG4gICAgdGhpcy5fcmVuZGVyU3RhdGUgPSBHYW1lU3RhdGUuUExBWTtcblxuICAgIC8vIHN0YXJ0IHNjb3JlIGNvdW50ZXJcbiAgICB0aGlzLl9zY29yZTAuc3RhcnQoKTtcblxuICAgIC8vIGluY3JlbWVudCBxdWVzdGlvbiBjb3VudGVyXG4gICAgdGhpcy5fbnVtYmVyT2ZRdWVzdGlvbnNTZWVuICs9IDE7XG4gIH1cblxuICBwcml2YXRlIF9nZW5lcmF0ZUhpbnRUZXh0KGhpbnRJbmNpZGVudDogSW5jaWRlbnQpOiBzdHJpbmcge1xuICAgIGxldCBoaW50ID0gXCJcIjtcbiAgICBjb25zdCBoaW50VGVtcGxhdGVzID0gdGhpcy5pMThuLkhpbnRUZW1wbGF0ZXNbaGludEluY2lkZW50LmNhdGVnb3J5XTtcbiAgICBzd2l0Y2ggKGhpbnRJbmNpZGVudC5jYXRlZ29yeSkge1xuICAgICAgY2FzZSBDYXRlZ29yeS5uZXdzSXRlbTpcbiAgICAgICAgaGludCA9IChcbiAgICAgICAgICBoaW50VGVtcGxhdGVzW01hdGgucm91bmQoTWF0aC5yYW5kb20oKSAqIGhpbnRUZW1wbGF0ZXMubGVuZ3RoKV0gfHwgXCJcIlxuICAgICAgICApLnJlcGxhY2UoL19fVElUTEVfXy8sIGhpbnRJbmNpZGVudC50aXRsZSk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSBDYXRlZ29yeS5yYWRpb1Nvbmc6XG4gICAgICAgIC8vIFRoZSB0aXRsZSBwcm9wZXJ0eSBvZiByYWRpb1NvbmdzIGFsd2F5cyBmb2xsb3cgdGhpcyBwYXR0ZXJuOiB0cmFjayAtIGFydGlzdFxuICAgICAgICBjb25zdCB0cmFjayA9IGhpbnRJbmNpZGVudC50aXRsZS5yZXBsYWNlKC8oLio/KVxccytcXC0uKi8sIFwiJDFcIik7XG4gICAgICAgIGNvbnN0IGFydGlzdCA9IGhpbnRJbmNpZGVudC50aXRsZS5yZXBsYWNlKC8uKlxcLSguKikvLCBcIiQxXCIpO1xuICAgICAgICBoaW50ID0gKFxuICAgICAgICAgIGhpbnRUZW1wbGF0ZXNbTWF0aC5yb3VuZChNYXRoLnJhbmRvbSgpICogaGludFRlbXBsYXRlcy5sZW5ndGgpXSB8fFxuICAgICAgICAgIGhpbnRUZW1wbGF0ZXNbMF1cbiAgICAgICAgKVxuICAgICAgICAgIC5yZXBsYWNlKC9fX0FSVElTVF9fLywgYXJ0aXN0KVxuICAgICAgICAgIC5yZXBsYWNlKC9fX1RSQUNLX18vLCB0cmFjayk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSBDYXRlZ29yeS5jaW5lbWFNb3ZpZTpcbiAgICAgICAgaGludCA9IChcbiAgICAgICAgICBoaW50VGVtcGxhdGVzW01hdGgucm91bmQoTWF0aC5yYW5kb20oKSAqIGhpbnRUZW1wbGF0ZXMubGVuZ3RoKV0gfHxcbiAgICAgICAgICBoaW50VGVtcGxhdGVzWzBdXG4gICAgICAgICkucmVwbGFjZSgvX19USVRMRV9fLywgaGludEluY2lkZW50LnRpdGxlKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIENhdGVnb3J5LnRlY2g6XG4gICAgICAgIGhpbnQgPSAoXG4gICAgICAgICAgaGludFRlbXBsYXRlc1tNYXRoLnJvdW5kKE1hdGgucmFuZG9tKCkgKiBoaW50VGVtcGxhdGVzLmxlbmd0aCldIHx8XG4gICAgICAgICAgaGludFRlbXBsYXRlc1swXVxuICAgICAgICApLnJlcGxhY2UoL19fVElUTEVfXy8sIGhpbnRJbmNpZGVudC50aXRsZSk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSBDYXRlZ29yeS5uZXdzUHJlc2VudGVyOlxuICAgICAgICBoaW50ID0gKFxuICAgICAgICAgIGhpbnRUZW1wbGF0ZXNbTWF0aC5yb3VuZChNYXRoLnJhbmRvbSgpICogaGludFRlbXBsYXRlcy5sZW5ndGgpXSB8fFxuICAgICAgICAgIGhpbnRUZW1wbGF0ZXNbMF1cbiAgICAgICAgKS5yZXBsYWNlKC9fX1RJVExFX18vLCBoaW50SW5jaWRlbnQudGl0bGUgfHwgaGludEluY2lkZW50LnRleHQpO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgQ2F0ZWdvcnkudHZTaG93T3JTZXJpZXM6XG4gICAgICAgIGhpbnQgPSAoXG4gICAgICAgICAgaGludFRlbXBsYXRlc1tNYXRoLnJvdW5kKE1hdGgucmFuZG9tKCkgKiBoaW50VGVtcGxhdGVzLmxlbmd0aCldIHx8XG4gICAgICAgICAgaGludFRlbXBsYXRlc1swXVxuICAgICAgICApLnJlcGxhY2UoL19fVElUTEVfXy8sIGhpbnRJbmNpZGVudC50aXRsZSB8fCBoaW50SW5jaWRlbnQudGV4dCk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSBDYXRlZ29yeS5zcG9ydHM6XG4gICAgICAgIGhpbnQgPSAoXG4gICAgICAgICAgaGludFRlbXBsYXRlc1tNYXRoLnJvdW5kKE1hdGgucmFuZG9tKCkgKiBoaW50VGVtcGxhdGVzLmxlbmd0aCldIHx8XG4gICAgICAgICAgaGludFRlbXBsYXRlc1swXVxuICAgICAgICApLnJlcGxhY2UoL19fVElUTEVfXy8sIGhpbnRJbmNpZGVudC50aXRsZSB8fCBoaW50SW5jaWRlbnQudGV4dCk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSBDYXRlZ29yeS5zaG93Yml6ejpcbiAgICAgICAgaGludCA9IChcbiAgICAgICAgICBoaW50VGVtcGxhdGVzW01hdGgucm91bmQoTWF0aC5yYW5kb20oKSAqIGhpbnRUZW1wbGF0ZXMubGVuZ3RoKV0gfHxcbiAgICAgICAgICBoaW50VGVtcGxhdGVzWzBdXG4gICAgICAgICkucmVwbGFjZSgvX19USVRMRV9fLywgaGludEluY2lkZW50LnRpdGxlIHx8IGhpbnRJbmNpZGVudC50ZXh0KTtcbiAgICAgICAgYnJlYWs7XG4gICAgfVxuICAgIHJldHVybiBoaW50O1xuICB9XG5cbiAgcmVuZGVyU291cmNlcygpOiBUZW1wbGF0ZVJlc3VsdCB7XG4gICAgY29uc29sZS5kZWJ1ZyhcInJlbmRlclNvdXJjZXNcIik7XG4gICAgaWYgKCF0aGlzLnNvdXJjZXMubGVuZ3RoKSB7XG4gICAgICByZXR1cm4gaHRtbGBgO1xuICAgIH1cbiAgICAvLyBkZWR1cGxpY2F0ZSBhcnJheSB2aWEgWy4uLm5ldyBTZXQodGhpcy5zb3VyY2VzKV1cbiAgICByZXR1cm4gaHRtbGBcbiAgICAgIDxkaXYgY2xhc3M9XCJndWVzcy10aGUteWVhci1zb3VyY2VzXCI+XG4gICAgICAgIFNvdXJjZTogJHtbLi4ubmV3IFNldCh0aGlzLnNvdXJjZXMpXS5qb2luKFwiLCBcIil9XG4gICAgICA8L2Rpdj5cbiAgICBgO1xuICB9XG5cbiAgX2hhbmRsZUltYWdlTG9hZEVycm9yID0gKGV2dDogRXZlbnQsIGluY2lkZW50OiBJbmNpZGVudCkgPT4ge1xuICAgIC8vIGdyYWIgdGhlIGltYWdlIGVsZW1lbnQgdGhhdCB0cmlnZ2VyZWQgdGhlIGVycm9yXG4gICAgY29uc3QgdGFyZ2V0SW1hZ2UgPSBldnQudGFyZ2V0IGFzIEhUTUxJbWFnZUVsZW1lbnQ7XG4gICAgY29uc29sZS5kZWJ1ZyhgRXJyb3IgbG9hZGluZyBpbWFnZTogJHt0YXJnZXRJbWFnZS5zcmN9YCk7XG5cbiAgICAvLyBmaW5kIG91dCB3aGljaCBubyBpbWFnZSBzb3VyY2UgbmVlZHMgdG8gYmUgdXNlZFxuICAgIGNvbnN0IG5vSW1hZ2VTcmMgPSB0aGlzLm5vSW1hZ2VTcmMgfHwgTm9JbWFnZUltZztcblxuICAgIC8vIGRvbid0IHRyeSB0byBzZXQgdGhlIGltYWdlIHNvdXJjZSBpZiBpdFxuICAgIC8vIGhhcyBhbHJlYWR5IGJlZW4gc2V0XG4gICAgaWYgKHRhcmdldEltYWdlLnNyYyA9PSBub0ltYWdlU3JjKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgLy8gcmVwb3J0IGJyb2tlbiBpbWFnZXMgYmFjayB0byB0aGUgc2VydmVyIGlmIHNldC5cbiAgICBpZiAodGhpcy5yZXBvcnRCcm9rZW5JbWFnZXMpIHtcbiAgICAgIGlmIChpbmNpZGVudCkge1xuICAgICAgICB0aGlzLl9hcGlTZXJ2aWNlLnBvc3RBdHRyaWJ1dGVRdWFsaXR5RmVlZGJhY2soXG4gICAgICAgICAgaW5jaWRlbnQuaWQsXG4gICAgICAgICAgXCJpbWFnZVwiLFxuICAgICAgICAgIHRhcmdldEltYWdlLnNyYyxcbiAgICAgICAgICBDb250ZW50RmVlZGJhY2suaW5jb3JyZWN0LFxuICAgICAgICApO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIHdhaXQgYSBiaXQgYmVmb3JlIHNldHRpbmcgdGhlIGltYWdlXG4gICAgLy8gc28gd2UgZG9uJ3QgaGFtbWVyIHRoZSBubyBpbWFnZSBzZXJ2ZXJcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIHRhcmdldEltYWdlLnNyYyA9IG5vSW1hZ2VTcmM7XG4gICAgfSwgMjUwKTtcblxuICAgIHJldHVybiBmYWxzZTtcbiAgfTtcbn1cblxuZGVjbGFyZSBnbG9iYWwge1xuICBpbnRlcmZhY2UgSFRNTEVsZW1lbnRUYWdOYW1lTWFwIHtcbiAgICBcImd1ZXNzLXRoZS15ZWFyXCI6IEd1ZXNzVGhlWWVhcjtcbiAgfVxufVxuIiwiaW1wb3J0IHsgSVN0cmluZ0FycmF5SGFzaCB9IGZyb20gXCIuLi9VdGlsXCI7XG5pbXBvcnQgeyBOTCB9IGZyb20gXCIuL05MXCI7XG5pbXBvcnQgeyBFTiB9IGZyb20gXCIuL0VOXCI7XG5cbmV4cG9ydCBpbnRlcmZhY2UgaTE4biB7XG4gIEhpbnRUZW1wbGF0ZXM6IElTdHJpbmdBcnJheUhhc2g7XG5cbiAgdHJhbnNsYXRlKGtleTogc3RyaW5nKTogc3RyaW5nO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaTE4bkZhY3RvcnkobGFuZ3VhZ2U6IHN0cmluZyk6IGkxOG4ge1xuICBzd2l0Y2ggKGxhbmd1YWdlKSB7XG4gICAgY2FzZSBcImVuXCI6XG4gICAgICByZXR1cm4gbmV3IEVOKCk7XG4gIH1cbiAgcmV0dXJuIG5ldyBOTCgpO1xufVxuIiwiXG5leHBvcnQgY29uc3QgTm9JbWFnZUltZyA9XG4gIFwiZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUJCUUFBQUZFQ0FZQUFBQ1hxVzNNQUFBTWFXbERRMUJKUTBNZ1VISnZabWxzWlFBQVNJbVZWd2RVVThrYW5sdVNrSkRRQWhHUUVub1RwRmNwSWJRQUFsSUZHeUVKSkpRWUVvS0tIVmxVY0sySUtGWjBWY1MydWdLeUZzUmVGc0hlRndzcXlycW9pNktvdkFrSjZMcXZuUGVmTTNlK2ZQUFAzKzVNN2d3QW1uMWNpU1FYMVFJZ1Qxd2dqUThQWm81UFRXT1NuZ0VVYUFJZDRBSk11RHlaaEJVWEZ3MmdEUFYvbDNjM0FLTG9yem9xYlAxei9MK0tEbDhnNHdHQVRJUTRneS9qNVVIY0RBQytuaWVSRmdCQVZQQVcwd29rQ2p3UFlsMHBEQkRpQ2dYT1V1S2RDcHloeEVjR2RSTGoyUkMzQWFCRzVYS2xXUUJvM0lNOHM1Q1hCZTFvZklMWVdjd1hpUUhRSEFWeEFFL0k1VU9zaUgxVVh0NVVCYTZDMkJicVN5Q0c4UUR2akc5c1p2M05mc2F3ZlM0M2F4Z3I4eG9VdFJDUlRKTExuZkYvbHVaL1MxNnVmTWlITld4VW9UUWlYcEUvck9HdG5LbFJDa3lGdUZ1Y0VST3JxRFhFZlNLK3N1NEFvQlNoUENKSnFZOGE4V1JzV0QvQWdOaVp6dzJKZ3RnSTRqQnhia3kwaXMvSUZJVnhJSWFyQlowdUt1QWtRcXdQOFNLQkxEUkJwYk5aT2pWZTVRdXR6NVN5V1NyK0hGYzY2RmZoNjRFOEo0bWxzdjlHS09DbzdHTWFSY0xFRklncEVGc1dpcEpqSU5hQTJFbVdreENsMGhsVEpHVEhET2xJNWZHSytDMGhqaGVJdzRPVjlySENUR2xZdkVxL0xFODJsQysyV1NqaXhLandnUUpoWW9TeVB0Z3BIbmN3ZnBnTDFpWVFzNUtHN0FoazQ2T0hjdUVMUWtLVnVXUFBCZUtrQkpXZFBrbEJjTHh5TGs2UjVNYXA5SEZ6UVc2NGdqZUgyRjFXbUtDYWl5Y1h3TVdwdEk5blNncmlFcFZ4NGtYWjNNZzRaVHo0Y2hBTjJDQUVNSUVjdGd3d0ZXUURVV3QzUXpmOHBSd0pBMXdnQlZsQUFCeFZ6TkNNbE1FUk1Yd21nQ0x3QjBRQ0lCdWVGenc0S2dDRmtQODh6Q3FmamlCemNMUndjRVlPZUFweEhvZ0N1ZkMzZkhDV2VOaGJNbmdDR2RFL3ZITmg0OEY0YzJGVGpQOTdmb2o5eXJBZ0U2MWk1RU1lbVpwRG1zUlFZZ2d4Z2hoR3RNTU44UURjRDQrR3p5RFlYSEZ2M0djb2o2LzZoS2VFZHNJanduVkNCK0gyRkZHeDlMc294NElPYUQ5TVZZdU1iMnVCVzBPYkhuZ3c3Zyt0UThzNEF6Y0Vqcmc3OU1QQ0E2Rm5EOGl5VlhFcnFzTDh6dmJmTXZqbWJhajB5TTVrbER5Q0hFUzIvWDZtaHIyR3g3QVZSYTIvclk4eTFvemhlck9IUjc3M3ovNm0rbnpZUjMydmlTM0NEbUpuc1JQWWVld0kxZ0NZMkhHc0VidUVIVlhnNGRYMVpIQjFEWG1MSDR3bkI5b1IvY01mVitWVFVVbVpjNTF6bC9NbjVWaUJZSHFCWXVPeHAwcG1TRVZad2dJbUMzNGRCRXlPbU9jMGl1bnE3T29HZ09KYm8vejdlc3NZL0lZZ2pBdGZ1ZnhtQUh6S0lKbjFsZU5hQUhENEtRRDBkMTg1aXpkdzJ5d0g0R2diVHk0dFZISzQ0a0dBL3hLYWNLY1pBQk5nQVd4aFBxN0FFL2lCSUJBS0lrRXNTQVNwWURLc3NoQ3VjeW1ZQm1hQithQVVsSVBsWURWWUJ6YUJyV0FuMkFNT2dBWndCSndBWjhCRjBBYXVnN3R3OVhTQ2w2QUh2QVA5Q0lLUUVCcENSd3dRVThRS2NVQmNFVzhrQUFsRm9wRjRKQlZKUjdJUU1TSkhaaUVMa0hKa0piSU8yWUxVSWo4amg1RVR5SG1rSGJtTlBFUzZrRGZJUnhSRHFhZ3Vhb3hhbzZOUmI1U0ZScUdKNkNRMEM4MUhpOUFTZENsYWhkYWd1OUY2OUFSNkViMk9kcUF2MFY0TVlPb1lBelBESERGdmpJM0ZZbWxZSmliRjVtQmxXQ1ZXZyszRm11Qjd2b3AxWU4zWUI1eUkwM0VtN2doWGNBU2VoUFB3Zkh3T3ZnUmZoKy9FNi9GVCtGWDhJZDZEZnlIUUNFWUVCNEl2Z1VNWVQ4Z2lUQ09VRWlvSjJ3bUhDS2ZoWHVva3ZDTVNpUXlpRGRFTDdzVlVZalp4Sm5FSmNRTnhIN0daMkU1OFRPd2xrVWdHSkFlU1B5bVd4Q1VWa0VwSmEwbTdTY2RKVjBpZHBENDFkVFZUTlZlMU1MVTBOYkZhc1ZxbDJpNjFZMnBYMUo2cDlaTzF5RlprWDNJc21VK2VRVjVHM2tadUlsOG1kNUw3S2RvVUc0by9KWkdTVFpsUHFhTHNwWnltM0tPOFZWZFhOMWYzVVIrbkxsS2ZwMTZsdmwvOW5QcEQ5UTlVSGFvOWxVMmRTSlZUbDFKM1VKdXB0Nmx2YVRTYU5TMklsa1lyb0MybDFkSk8waDdRK2pUb0drNGFIQTIreGx5TmFvMTZqU3NhcnpUSm1sYWFMTTNKbWtXYWxab0hOUzlyZG11UnRheTEyRnBjclRsYTFWcUh0VzVxOVdyVHRWMjBZN1h6dEpkbzc5SStyLzFjaDZSanJST3F3OWNwMGRtcWMxTG5NUjJqVzlEWmRCNTlBWDBiL1RTOVU1ZW9hNlBMMGMzV0xkZmRvOXVxMjZPbm8rZXVsNnczWGE5YTc2aGVCd05qV0RNNGpGekdNc1lCeGczR3h4SEdJMWdqQkNNV2o5Zzc0c3FJOS9vajlZUDBCZnBsK3Z2MHIrdC9OR0FhaEJya0dLd3dhREM0YjRnYjJodU9NNXhtdU5Id3RHSDNTTjJSZmlONUk4dEdIaGg1eHdnMXNqZUtONXBwdE5Yb2tsR3ZzWWx4dUxIRWVLM3hTZU51RTRaSmtFbTJTWVhKTVpNdVU3cHBnS25JdE1MMHVPa0xwaDZUeGN4bFZqRlBNWHZNak13aXpPUm1XOHhhemZyTmJjeVR6SXZOOTVuZnQ2QlllRnRrV2xSWXRGajBXSnBhanJXY1pWbG5lY2VLYk9WdEpiUmFZM1hXNnIyMWpYV0s5VUxyQnV2bk52bzJISnNpbXpxYmU3WTAyMERiZk5zYTIydDJSRHR2dXh5N0RYWnQ5cWk5aDczUXZ0citzZ1BxNE9rZ2N0amcwRDZLTU1wbmxIaFV6YWliamxSSGxtT2hZNTNqUXllR1U3UlRzVk9EMDZ2UmxxUFRScThZZlhiMEYyY1A1MXpuYmM1M1hYUmNJbDJLWFpwYzNyamF1L0pjcTEydnVkSGN3dHptdWpXNnZYWjNjQmU0YjNTLzVVSDNHT3V4MEtQRjQ3T25sNmZVYzY5bmw1ZWxWN3JYZXErYjNycmVjZDVMdk0vNUVIeUNmZWI2SFBINTRPdnBXK0I3d1BkUFAwZS9ITDlkZnMvSDJJd1JqTmsyNXJHL3VUL1hmNHQvUndBeklEMWdjMEJIb0ZrZ043QW04RkdRUlJBL2FIdlFNNVlkSzV1MW0vVXEyRGxZR253bytEM2JsejJiM1J5Q2hZU0hsSVcwaHVxRUpvV3VDMzBRWmg2V0ZWWVgxaFB1RVQ0enZEbUNFQkVWc1NMaUpzZVl3K1BVY25vaXZTSm5SNTZLb2tZbFJLMkxlaFJ0SHkyTmJocUxqbzBjdTJyc3ZSaXJHSEZNUXl5STVjU3VpcjBmWnhPWEgvZnJPT0s0dUhIVjQ1N0d1OFRQaWorYlFFK1lrckFyNFYxaWNPS3l4THRKdGtueXBKWmt6ZVNKeWJYSjcxTkNVbGFtZEl3ZlBYNzIrSXVwaHFtaTFNWTBVbHB5MnZhMDNnbWhFMVpQNkp6b01iRjA0bzFKTnBPbVR6by8yWEJ5N3VTalV6U25jS2NjVENla3A2VHZTdi9FamVYV2NIc3pPQm5yTTNwNGJONGEza3QrRUwrQzN5WHdGNndVUE12MHoxeVorVHpMUDJ0VlZwY3dVRmdwN0JheFJldEVyN01qc2pkbHY4K0p6ZG1STTVDYmtyc3ZUeTB2UGUrd1dFZWNJejQxMVdUcTlLbnRFZ2RKcWFRajN6ZC9kWDZQTkVxNlhZYklKc2thQzNUaG9mNlMzRmIrZy94aFlVQmhkV0hmdE9ScEI2ZHJUeGRQdnpURGZzYmlHYytLd29wK21vblA1TTFzbVdVMmEvNnNoN05aczdmTVFlWmt6R21aYXpHM1pHN252UEI1TytkVDV1Zk0vNjNZdVhobDhWOExVaFkwbFJpWHpDdDUvRVA0RDNXbEdxWFMwcHNML1JadVdvUXZFaTFxWGV5MmVPM2lMMlg4c2d2bHp1V1Y1WitXOEpaYytOSGx4Nm9mQjVabUxtMWQ1cmxzNDNMaWN2SHlHeXNDVit4Y3FiMnlhT1hqVldOWDFWY3dLOG9xL2xvOVpmWDVTdmZLVFdzb2ErUnJPcXFpcXhyWFdxNWR2dmJUT3VHNjY5WEIxZnZXRzYxZnZQNzlCdjZHS3h1RE51N2RaTHlwZk5QSHphTE50N2FFYjZtdnNhNnAzRXJjV3JqMTZiYmtiV2QvOHY2cGRydmg5dkx0bjNlSWQzVHNqTjk1cXRhcnRuYVgwYTVsZFdpZHZLNXI5OFRkYlh0QzlqVHVkZHk3WlI5algvbCtzRisrLzhYUDZUL2ZPQkIxb09XZzk4Rzl2MWo5c3Y0US9WQlpQVkkvbzc2blFkalEwWmphMkg0NDhuQkxrMS9Ub1YrZGZ0MXh4T3hJOVZHOW84dU9VWTZWSEJzNFhuUzh0MW5TM0gwaTY4VGpsaWt0ZDArT1AzbnQxTGhUcmFlalRwODdFM2JtNUZuVzJlUG4vTThkT2U5Ny92QUY3d3NORnowdjFsL3l1SFRvTjQvZkRyVjZ0dFpmOXJyYzJPYlQxdFErcHYzWWxjQXJKNjZHWEQxempYUHQ0dldZNiswM2ttN2N1am54WnNjdC9xM250M052djc1VGVLZi83cng3aEh0bDk3WHVWejR3ZWxEenU5M3Yrem84TzQ0K0RIbDQ2VkhDbzd1UGVZOWZQcEU5K2RSWjhwVDJ0UEtaNmJQYTU2N1BqM1NGZGJXOW1QQ2k4NlhrWlg5MzZSL2FmNngvWmZ2cWx6K0QvcnpVTTc2bjg3WDA5Y0NiSlc4TjN1NzR5LzJ2bHQ2NDNnZnY4dDcxdnkvck0ramIrY0g3dzltUEtSK2Y5VS83UlBwVTlkbnVjOU9YcUMvM0J2SUdCaVJjS1hmd0tJREJobVptQXZCbUJ3QzBWSGgyZ1BjMnlnVGxYWEJRRU9YOWRSQ0IvNFNWOThWQjhRUmdSeEFBU2ZNQWlJWm5sSTJ3V1VGTWhiM2lDSjhZQkZBM3QrR21FbG1tbTZ2U0ZoWGVoQWg5QXdOdmpRRWdOUUh3V1RvdzBMOWhZT0R6Tmhqc2JRQ2E4NVYzVUlVUTRaMWhzNU1DdFhVK0tRSGZpZkorK2syTzMvZEFFWUU3K0w3L0YwWHpqK1lLWEdwZEFBQUFpbVZZU1daTlRRQXFBQUFBQ0FBRUFSb0FCUUFBQUFFQUFBQStBUnNBQlFBQUFBRUFBQUJHQVNnQUF3QUFBQUVBQWdBQWgya0FCQUFBQUFFQUFBQk9BQUFBQUFBQUFKQUFBQUFCQUFBQWtBQUFBQUVBQTVLR0FBY0FBQUFTQUFBQWVLQUNBQVFBQUFBQkFBQUVGS0FEQUFRQUFBQUJBQUFCUkFBQUFBQkJVME5KU1FBQUFGTmpjbVZsYm5Ob2IzU203VXBJQUFBQUNYQklXWE1BQUJZbEFBQVdKUUZKVWlUd0FBQUIxMmxVV0hSWVRVdzZZMjl0TG1Ga2IySmxMbmh0Y0FBQUFBQUFQSGc2ZUcxd2JXVjBZU0I0Yld4dWN6cDRQU0poWkc5aVpUcHVjenB0WlhSaEx5SWdlRHA0YlhCMGF6MGlXRTFRSUVOdmNtVWdOaTR3TGpBaVBnb2dJQ0E4Y21SbU9sSkVSaUI0Yld4dWN6cHlaR1k5SW1oMGRIQTZMeTkzZDNjdWR6TXViM0puTHpFNU9Ua3ZNREl2TWpJdGNtUm1MWE41Ym5SaGVDMXVjeU1pUGdvZ0lDQWdJQ0E4Y21SbU9rUmxjMk55YVhCMGFXOXVJSEprWmpwaFltOTFkRDBpSWdvZ0lDQWdJQ0FnSUNBZ0lDQjRiV3h1Y3pwbGVHbG1QU0pvZEhSd09pOHZibk11WVdSdlltVXVZMjl0TDJWNGFXWXZNUzR3THlJK0NpQWdJQ0FnSUNBZ0lEeGxlR2xtT2xCcGVHVnNXVVJwYldWdWMybHZiajR6TWpROEwyVjRhV1k2VUdsNFpXeFpSR2x0Wlc1emFXOXVQZ29nSUNBZ0lDQWdJQ0E4WlhocFpqcFFhWGhsYkZoRWFXMWxibk5wYjI0K01UQTBORHd2WlhocFpqcFFhWGhsYkZoRWFXMWxibk5wYjI0K0NpQWdJQ0FnSUNBZ0lEeGxlR2xtT2xWelpYSkRiMjF0Wlc1MFBsTmpjbVZsYm5Ob2IzUThMMlY0YVdZNlZYTmxja052YlcxbGJuUStDaUFnSUNBZ0lEd3ZjbVJtT2tSbGMyTnlhWEIwYVc5dVBnb2dJQ0E4TDNKa1pqcFNSRVkrQ2p3dmVEcDRiWEJ0WlhSaFBncWFSZXB4QUFBQUhHbEVUMVFBQUFBQ0FBQUFBQUFBQUtJQUFBQW9BQUFBb2dBQUFLSUFBQ0RhU0Ntbk5BQUFJS1pKUkVGVWVBSHMzWGVjRmVXOVAvQXZ1d3VpSWtXS2dGSUVLUmFrR2V4R2pURVJXNktKbW52ak5aYUlMVWFUNkRYRnhKODMvVjZqeEZnU283RWJMSmlZaUtJWXNVU3Y1V0xYV0JCVVFBUTd2ZXp5bTFsZnU4SUtaODhjempsdWVjL3JsZXc1TTArWjUvMk1mNXdQTTgrMDJYSzNrMWVGalFBQkFnUUlFQ0JBZ0FBQkFnUUlFQ0NRUWFDTlFDR0RscUlFQ0JBZ1FJQUFBUUlFQ0JBZ1FJQkFyWUJBd1lWQWdBQUJBZ1FJRUNCQWdBQUJBZ1FJWkJZUUtHUW1VNEVBQVFJRUNCQWdRSUFBQVFJRUNCQVFLTGdHQ0JBZ1FJQUFBUUlFQ0JBZ1FJQUFnY3dDQW9YTVpDb1FJRUNBQUFFQ0JBZ1FJRUNBQUFFQ0FnWFhBQUVDQkFnUUlFQ0FBQUVDQkFnUUlKQlpRS0NRbVV3RkFnUUlFQ0JBZ0FBQkFnUUlFQ0JBUUtEZ0dpQkFnQUFCQWdRSUVDQkFnQUFCQWdReUN3Z1VNcE9wUUlBQUFRSUVDQkFnUUlBQUFRSUVDQWdVWEFNRUNCQWdRSUFBQVFJRUNCQWdRSUJBWmdHQlFtWXlGUWdRSUVDQUFBRUNCQWdRSUVDQUFBR0JnbXVBQUFFQ0JBZ1FJRUNBQUFFQ0JBZ1F5Q3dnVU1oTXBnSUJBZ1FJRUNCQWdBQUJBZ1FJRUNBZ1VIQU5FQ0JBZ0FBQkFnUUlFQ0JBZ0FBQkFwa0ZCQXFaeVZRZ1FJQUFBUUlFQ0JBZ1FJQUFBUUlFQkFxdUFRSUVDQkFnUUlBQUFRSUVDQkFnUUNDemdFQWhNNWtLQkFnUUlFQ0FBQUVDQkFnUUlFQ0FnRURCTlVDQUFBRUNCQWdRSUVDQUFBRUNCQWhrRmhBb1pDWlRnUUFCQWdRSUVDQkFnQUFCQWdRSUVCQW91QVlJRUNCQWdBQUJBZ1FJRUNCQWdBQ0J6QUlDaGN4a0toQWdRSUFBQVFJRUNCQWdRSUFBQVFJQ0JkY0FBUUlFQ0JBZ1FJQUFBUUlFQ0JBZ2tGbEFvSkNaVEFVQ0JBZ1FJRUNBQUFFQ0JBZ1FJRUJBb09BYUlFQ0FBQUVDQkFnUUlFQ0FBQUVDQkRJTENCUXlrNmxBZ0FBQkFnUUlFQ0JBZ0FBQkFnUUlDQlJjQXdRSUVDQkFnQUFCQWdRSUVDQkFnRUJtQVlGQ1pqSVZDQkFnUUlBQUFRSUVDQkFnUUlBQUFZR0NhNEFBQVFJRUNCQWdRSUFBQVFJRUNCRElMQ0JReUV5bUFnRUNCQWdRSUVDQUFBRUNCQWdRSUNCUWNBMFFJRUNBQUFFQ0JBZ1FJRUNBQUFFQ21RVUVDcG5KVkNCQWdBQUJBZ1FJRUNCQWdBQUJBZ1FFQ3E0QkFnUUlFQ0JBZ0FBQkFnUUlFQ0JBSUxPQVFDRXptUW9FQ0JBZ1FJQUFBUUlFQ0JBZ1FJQ0FRTUUxUUlBQUFRSUVDQkFnUUlBQUFRSUVDR1FXRUNoa0psT0JBQUVDQkFnUUlFQ0FBQUVDQkFnUUVDaTRCZ2dRSUVDQUFBRUNCQWdRSUVDQUFJSE1BZ0tGekdRcUVDQkFnQUFCQWdRSUVDQkFnQUFCQWdJRjF3QUJBZ1FJRUNCQWdBQUJBZ1FJRUNDUVdVQ2drSmxNQlFJRUNCQWdRSUFBQVFJRUNCQWdRRUNnNEJvZ1FJQUFBUUlFQ0JBZ1FJQUFBUUlFTWdzSUZES1RxVUNBQUFFQ0JBZ1FJRUNBQUFFQ0JBZ0lGRndEQkFnUUlFQ0FBQUVDQkFnUUlFQ0FRR1lCZ1VKbU1oVUlFQ0JBZ0FBQkFnUUlFQ0JBZ0FBQmdZSnJnQUFCQWdRSUVDQkFnQUFCQWdRSUVNZ3NJRkRJVEtZQ0FRSUVDQkFnUUlBQUFRSUVDQkFnSUZCd0RSQWdRSUFBQVFJRUNCQWdRSUFBQVFLWkJRUUttY2xVSUVDQUFBRUNCQWdRSUVDQUFBRUNCQVFLcmdFQ0JBZ1FJRUNBQUFFQ0JBZ1FJRUFnczRCQUlUT1pDZ1FJRUNCQWdBQUJBZ1FJRUNCQWdJQkF3VFZBZ0FBQkFnUUlFQ0JBZ0FBQkFnUUlaQllRS0dRbVU0RUFBUUlFQ0JBZ1FJQUFBUUlFQ0JBUUtMZ0dDQkFnUUlBQUFRSUVDQkFnUUlBQWdjd0NBb1hNWkNvUUlFQ0FBQUVDQkFnUUlFQ0FBQUVDQWdYWEFBRUNCQWdRSUVDQUFBRUNCQWdRSUpCWlFLQ1FtVXdGQWdRSUVDQkFnQUFCQWdRSUVDQkFRS0RnR2lCQWdBQUJBZ1FJRUNCQWdBQUJBZ1F5Q3dnVU1wT3BRSUFBQVFJRXlpL1FvM3ZuR0RLNFQvVGR2SHQwNjlvcE50cW9mYlN0cW93MmJkcVUvMlNLMk9PcVZhc2kvZCtTcGN2am5YYy9qRGRtejQrWFhwa1ZzK2U4SGRYVk5VWHNTVk1FQ0JBZ1FJQkFzUVVFQ3NVVzFSNEJBZ1FJRUNpU1FNZE5Ob3E5OWhnUkI0M2RPYmJzMXlzSkQrb2FiclBhNTdwOXpmdHZraWtrVyszL0pRRkR4Snk1Yjhma0tZL0hwTHNlclEwYW12Zm9uRDBCQWdRSUVHaVpBZ0tGbGptdlJrV0FBQUVDelZTZ3NySWlOdS9kTGZiYWZVUWM4TVVkbzN1M3pzMTBKTVU1N1lVTGw4UmQvL2kvdUhQS1l6SHo5YmRpK2ZJVnhXbFlLd1FJRUNCQWdNQjZDd2dVMXB0UUF3UUlFQ0JBb0RnQ20zYlpKSGJaY2R2NDBnRzd4bFlEZWhlbjBSYlN5cXprRVlqYkp6OFM5MHlkRnZQbXY5OUNSbVVZQkFnUUlFQ2dlUXNJRkpyMy9EbDdBZ1FJRUdnaEFnTzM3QjFmK2RJZThiblBqb3gyN2FwYXlLaUtPNHdWSzFiR1k5TmVqT3R2dWplZWZYNUdjUnZYR2dFQ0JBZ1FJSkJaUUtDUW1Vd0ZBZ1FJRUNCUVBJRjBYWVFoZy9yRWNVZU5qUkhEQmtaVnN0Q2lMYmRBdW1qam42NmRIUC83MkF1MUN6cm1MdTBvQVFJRUNCQWdVQ29CZ1VLcFpMVkxnQUFCQWdUeUVPamRxMnVjOVoydnhiQnQramY3Tnpia01keWlGRWtYYlh6dGpiZmlnb3R1aVNlZm1WNlVOalZDZ0FBQkFnUUlaQmNRS0dRM1U0TUFBUUlFQ0JSRllPT04yOGYzdjNORTdMYnpzS0swMTlvYVNjT0U4MzkzY3hJdXpHdHRRemRlQWdRSUVDRFFKQVFFQ2sxaUdwd0VBUUlFQ0xRMmdiWnRLK1BvcjM4eC91MnJlN2Uyb1JkMXZPbHJKY2RmTWpHV0xmUDJoNkxDYW93QUFRSUVDT1FoSUZESUEwa1JBZ1FJRUNCUWJJSGRkeGtXWjUvNTc4a0NqRzBMYm5wVmV1OS9LYlprWVlka2FZYzF0dHFlU3RWZjBsdTZsa1FoVzdwUTQvbkpvdzlwc0dBalFJQUFBUUlFeWlzZ1VDaXZ0OTRJRUNCQWdFQ2tyNGY4cng4ZEhkdHUzUzl2alRROGVQdWREK0tSeDErTTUvODFzL2JWaVRVMU5Yblh6N2RnaHc0YnhjSDc3eEtqUnd5cXI3SnlaWFZNZmZDcG1KUzh0ckVVVzVza1RlaVNtQXdkM0RmR2pCNFNXL1R1SGhVVitTY003N3o3WVp4dyt2aVk3M1dTcFpnZWJSSWdRSUFBZ1hVS0NCVFdTZU1BQVFJRUNCQW9qVUQ2Zy8zNGIrd2Y2Um9LK1c2elpzK1BINXg3UmN4OTY5MVl1YkltU2hFbXBPZlNwWE9IT1BuNGcyT2ZQVWZWbjFwNkY4Q050OTRYbDEwNXFYNWZzVCtrQVVKbFpXVU1IellnVGgzMzVlamJwMGVtTHE2LzhaNzRRd25QTDlQSktFeUFBQUVDQkZxSmdFQ2hsVXkwWVJJZ1FJQkEweERvMUhIaitNL1RqNGhkZHR3bTB3bWxQK29uMy9ONC9QSHFPK0w5OXhkbXFwdWw4S2NWS0tTUFBHelpyMWVja29RWm8xYTdPeUxmYzM4akNWeE9QK3VTMnJzNDhxMmpIQUVDQkFnUUlMQitBZ0tGOWZOVG13QUJBZ1FJWkJJWVBYSndmT2ZrUTJQejN0MHkxVXNMTDEyNlBHNVBIanU0THZuWCtIZmZXNUM1Zmo0Vk9uYmNLRTQ0NW9BWXUrK085Y1dYTFZ1ZTlQbVB1UHFHdSt2M0ZmdEQvNzQ5a3pzakRvclBqQnBTVU5NTEZpeU9peTY3TGU2YzhsaEI5VlVpUUlBQUFRSUVzZ3NJRkxLYnFVR0FBQUVDQkFvU3FLaW9pRU1PM0RYR0pUL1kyN2F0eXRsRzNZS0w2Zm9DcTI5TGxpeUxxNUlmOWpmZGVuOVVWMWV2ZnFnb245UHpPbkMvbmVLNG84YkdSaHR1VU52bXZHUnRnbCtQbnhDUFQzdXBLSDAwYkNUdEoxMVRZdlRJajlkdHFDdVQzcG14ZlBtSzVQR1FEZXQycmZWdmRYVk5iZGp5MjB0dlRSNEpLYjdMV2p1MWt3QUJBZ1FJdEhJQmdVSXJ2d0FNbndBQkFnVEtKN0JKc3VEaE40OGVHd2Z0dDNQT1R0TXc0Wm5uWnNTSHliKzY3N2pEMEUrRUR5OVBueFhmT3VPaTJqc1djalpVNE1GdVhUdkZRV04zamoyU04xRXNUMzdRVDd6dHdiajNnU2RMOW1yR2tkdHZGYi81eFFuSm14N1dERS9Ta09EYUc2ZEUrcGpJd1dOMytjVHhoc043L0ltWDR0Y1hUS2hkc0xMaE1kOEpFQ0JBZ0FDQjRnc0lGSXB2cWtVQ0JBZ1FJTEJXZ2MxNmRJbnZmdXNyeVpzTWhxNzFlTjNPaFl1V3hPWEpXZ24zLy9PWnBQeFhZK2N4VzYveFkzcm02Mi9GaWFkZEVFdVNSeUJLdGFXdnMyeS9RZHRJdzQzRnlWMFI2WS83VW0xamt0RGsxK2QrYzQzbTB6ZFVYblRaWCtPMlNRL0ZxT0dENHZUa01aSFVMOWYyeXF0ejRyd0xiNG9YWG53OVZ6SEhDQkFnUUlBQWdTSUpDQlNLQktrWkFnUUlFQ0RRbUVEL3ZwdkYyV2QrUFFZTzZKMno2SnR6MzRtemYzWlZ2REo5ZG5Ub3NHSDgxdysvRVZzUDdSZHRxeXFTT3dhcTQ5b0pVMkxDelZOalpRa2VlY2g1WWlVNm1ENW1jZEZ2dmhYOSsvU3NmVjNrMG1VcjR1cnI3NnA5czBUYVplOWUzZUo3cDM0MUNSYTJ5bmtHNlJzd3pyL29sdVRWbXYvS1djNUJBZ1FJRUNCQW9EZ0NBb1hpT0dxRkFBRUNCQWcwS3JEVmdNMlR0UUtPaWw0OXUrWXMrK3JNTitPVTcxNVllMmRBV25ERFpJMkJzVjhZRTMxNmQ0K1hrNURoL244K0hRc1dMc25aUm5NN21ENW1zWDh5eG82YmJCelRubm81SHB2MllySjJ3c3JhWVd6WXZsMmNjZHJoc2ZjZUkzSU82NzMzRjhUNGkyK05xUTgrbGJPY2d3UUlFQ0JBZ0VCeEJBUUt4WEhVQ2dFQ0JBZ1FhRlJnOEZaYnhNOS9ja3lrUDU1emJTKzlNaXZHblhwK0pIZjlmeXBiWldWRmJOcGxrK2pjcVVPa2l5SyttZnpMLzdMa3JvRlBhMHZYVmpnekNSVDIrL3huY3A1Q3V1YkUrRXNteGoxVG44aFp6a0VDQkFnUUlFQ2dPQUlDaGVJNGFvVUFBUUlFQ0RRcU1HUlFuL2pGT2NmVy9salBWZmpGbDVOQTRkdm41eXBTc21OZHUzYXNYUUJ4MkxaYlJvZmt6UXJwMmdtejMzdzc3cno3c2RvN0IwcTVsa0t1UWFXQnd0aDl4K1FxRXVtckk5TzNQTng5NzdTYzVSd2tRSUFBQVFJRWlpTWdVQ2lPbzFZSUVDQkFnRUNqQWswOVVOaGdnM2J4MHg5OUk0WVBHeERwb294MVcwM05xcGc3NzkzNHd4VzN4LzBQUFJNMU5hVmJvTEd1ejRaLzh3b1VGaWFCd2lVQ2hZWjJ2aE1nUUlBQWdWSUpDQlJLSmF0ZEFnUUlFQ0RRUUtDcEJ3b25IbmRnSEg3SW5nM08rdU92LzNycGpmanBmMThYczJiUC8zaG5tVDRKRk1vRXJSc0NCQWdRSUpCQlFLQ1FBVXRSQWdRSUVDQ3dQZ0pOT1ZCSTN5Wng4elUvVGw0VjJXNmRRMHhmSVhudXI2Nk5xUTg4VmZzNnlYVVdMTUVCZ1VJSlVEVkpnQUFCQWdUV1UwQ2dzSjZBcWhNZ1FJQUFnWHdGbW5LZ01IUnduN2owZ3RNYUhjclZOOXdkVjE0M09YbnNvYnhMUmdvVUdwMGFCUWdRSUVDQVFOa0ZCQXBsSjljaEFRSUVDTFJXZ2FZY0tBd2ZOakRHLytxa1JxZG13c1NwOGZ0a0xZVnlyNk1nVUdoMGFoUWdRSUFBQVFKbEZ4QW9sSjFjaHdRSUVDRFFXZ1dhY3FBd0lna1VMaEFvdE5aTDA3Z0pFQ0JBZ0VCQkFnS0ZndGhVSWtDQUFBRUMyUVVFQ3RuTjZtcTRRNkZPd2w4Q0JBZ1FJTkIwQkFRS1RXY3VuQWtCQWdRSXRIQUJnVUxoRXl4UUtOeE9UUUlFQ0JBZ1VDb0JnVUtwWkxWTGdBQUJBZ1FhQ0FnVUdvQmsrQ3BReUlDbEtBRUNCQWdRS0pPQVFLRk0wTG9oUUlBQUFRSUNoY0t2QVlGQzRYWnFFaUJBZ0FDQlVna0lGRW9scTEwQ0JBZ1FJTkJBUUtEUUFDVERWNEZDQml4RkNSQWdRSUJBbVFRRUNtV0MxZzBCQWdRSUVCQW9GSDROQ0JRS3QxT1RBQUVDQkFpVVNrQ2dVQ3BaN1JJZ1FJQUFnUVlDQW9VR0lCbStDaFF5WUNsS2dBQUJBZ1RLSkNCUUtCTzBiZ2dRSUVDQWdFQ2g4R3RBb0ZDNG5ab0VDQkFnUUtCVUFnS0ZVc2xxbHdBQkFnUUlOQkFRS0RRQXlmQlZvSkFCUzFFQ0JBZ1FJRkFtQVlGQ21hQjFRNEFBQVFJRUJBcUZYd01DaGNMdDFDUkFnQUFCQXFVU0VDaVVTbGE3QkFnUUlFQ2dnWUJBb1FGSWhxOENoUXhZaWhJZ1FJQUFnVElKQ0JUS0JLMGJBZ1FJRUNBZ1VDajhHaEFvRkc2bkpnRUNCQWdRS0pXQVFLRlVzdG9sUUlBQUFRSU5CQVFLRFVBeWZCVW9aTUJTbEFBQkFnUUlsRWxBb0ZBbWFOMFFJRUNBQUFHQlF1SFhnRUNoY0RzMUNSQWdRSUJBcVFRRUNxV1MxUzRCQWdRSUVHZ2drRytnTUgzR25EampSNWZWMTE2eWRGa3NXYktzL25zcFBvd1lOakF1K05WSmpUWTlZZUxVK1AwVnQwZE5UVTJqWlFzdDBLWk5tOWhra3cyanFyS3F2b2xUamo4bzl2N3N5UHJ2YS91d1lPSGkrTzBsdDhiZDkwNWIyMkg3Q0JBZ1FJQUFnU0lMQ0JTS0RLbzVBZ1FJRUNDd0xvRjhBNFZWcTFiRmloWFY5YzJrM3lmZjgzajgvazkvajBXTGx0YnZMK2FIZkFPRk9XKytFOTgvNS9KNDdZMjNpdGw5ZlZ2OSsyNFc0NDQ1TUVadVB6QXFLaXJxOTFkVlZhenh2ZjdBYWg4RUNxdGgrRWlBQUFFQ0JNb2dJRkFvQTdJdUNCQWdRSUJBS3BCdm9MQTJyZVVyVnNiTmY3ay8vbmpWSFNXNU95RGZRQ0U5dC9SdWlmTXV2RGtlZXVTNVdGekVPeWU2ZE80UUp4NTNVT3k3OStpMUVUUzZUNkRRS0pFQ0JBZ1FJRUNncUFJQ2hhSnlhb3dBQVFJRUNLeGJZSDBDaGJUVjlBZjhMMzd6NTFpd1lQRzZPeW53eURaRCtzWEY1NSthZCsxRmk1Zkd4TnNlakwvZjhiOHg3KzMzSTcyTFluMjM5TzZFSDU3eDd6Rm80T1lGTlNWUUtJaE5KUUlFQ0JBZ1VMQ0FRS0ZnT2hVSkVDQkFnRUEyZ2ZVSkZGYXVySTYvMy9sSVhQekh2OGJ5NVN1emRaeEg2YzZkT3NSTlY1OGRiZHQrdkc1Qlk5WFN1eFBTa09QNm0vNFJNMmJPWGU5UW9YdTN6bkhhU1YrT1hYZmFyckd1MTNwY29MQldGanNKRUNCQWdFREpCQVFLSmFQVk1BRUNCQWdRV0ZPZzBFQWgvY2YvOUlmN1pWZE5pcG12elYyejBTSjlTOVpCakovKytOallkY2R0TXJXWUJoMnZ2RG83THIzODcvSGtNOU16MVcxWXVMS3lJa1lOSHhUSEh2bkZHRHlvVDdKbVFuSlNHVGFCUWdZc1JRa1FJRUNBUUJFRUJBcEZRTlFFQVFJRUNCRElSeURmUUdIbTYyL0Z1Yis4cHI3SmRDSEc5ejljbU55WnNDSzVDNkIrZDlFL3BIY0lwSTg5ZE8vYUtWUGI2VGt0WGJZOExycnN0cmo5am9kamZVNHhEUkhhYjlBdXVuYnRHRzJyUHI1YjRwZ2taTmh0NTl4M0xnZ1VNazJid2dRSUVDQkFZTDBGQkFyclRhZ0JBZ1FJRUNDUW4wQytnY0tMTDgrS2NkOCtQNzlHaTFncXZVdGh4UFpiSlk4ZEhCcGI5TzRXNlIwRFdiWmx5MWJFclg5N01QNTh5OVQ0NE1ORjYvMEl4T3A5bjNuYTRURjIzekdyNy9yRVo0SENKMGpzSUVDQUFBRUNKUlVRS0pTVVYrTUVDQkFnUU9CamdhWWVLS1JubXQ0aHNNM1Fmdkgxdy9lSlVTTUdSYnNNYXlxazlaY2xkMUhjOStEVE1TRUpGVjZkK1diUlFnV0JRcXBySTBDQUFBRUNUVXRBb05DMDVzUFpFQ0JBZ0VBTEZtZ09nVUlkZjk4dGVzU1hEdGcxRGh5NzB4cVBIdFFkei9XM3VxWW1ubm4yMWJnaENSVWVlZXlGWEVYelBpWlF5SnRLUVFJRUNCQWdVRFlCZ1VMWnFIVkVnQUFCQXExZG9Ea0ZDdWxjZGV5NGNleSt5M2J4emFQMmo4NmROczQ4ZlhQbXZsUDdDTVJmL3ZaUXJGaTVmbSttRUNoazVsZUJBQUVDQkFpVVhFQ2dVSEppSFJBZ1FJQUFnWThFbWx1Z2tKNTF1bzdDc0cwSHhPa25IeEw5K215V2VTclRWMHRPbnZKWVhISHQ1Rml3WUhIbStuVVZCQXAxRXY0U0lFQ0FBSUdtSXlCUWFEcHo0VXdJRUNCQW9JVUxOTWRBb1c1S3RoclFPMDQ4OXNBWVBteGdWRlZWMXUzTzYyOTFkVTFNZmZDcHVPektTZkhXVys4VzlCWUlnVUplMUFvUklFQ0FBSUd5Q2dnVXlzcXRNd0lFQ0JCb3pRTE5PVkJJNTYxWHo2N0pZbzJmaTczMkdCRWJiYmhCcHFsY2xieGI4clpKRDhlbGwvOHRsaXhkbnFsdVdsaWdrSmxNQlFJRUNCQWdVSElCZ1VMSmlYVkFnQUFCQWdRK0VtanVnVUk2aWswNmJKaTh2bkhIT09TZzNXS3pIbDB5VGUyaXhVdmo5TE11aVpkZW1aV3BYbHBZb0pDWlRBVUNCQWdRSUZCeUFZRkN5WWwxUUlBQUFRSUVQaEpvQ1lGQ09wTEt5c3JZY1ljaGNlUVJuNCt0aC9UTk5MMi92ZlRXbUhqYmc1bnFwSVVGQ3BuSlZDQkFnQUFCQWlVWEVDaVVuRmdIQkFnUUlFRGdJNEdXRWlpa282bW9xSWd0Ky9XTWIzNWpiSXdaUGFUMmV6N3pmUG5WZDhZMWY3NDduNkpybEJFb3JNSGhDd0VDQkFnUWFCSUNBb1VtTVExT2dnQUJBZ1JhZzBCTENoVHE1cXR6cHc1eDBuRUh4cDY3RDQ5Mjdkclc3VjdyMzNRZGhYTitjWFhjOStEVGF6MmVhNmRBSVplT1l3UUlFQ0JBNE5NUkVDaDhPdTU2SlVDQUFJRldLTkFTQTRWMEd0TWc0WWhEOTR3RHZyaFQ5T2plZVowek8yUG0zUGpPRHkrTjk5NWJzTTR5NnpvZ1VGaVhqUDBFQ0JBZ1FPRFRFeEFvZkhyMmVpWkFnQUNCVmliUVVnT0Z1bW44N0c3YngyR0g3QmxiRCs3emlVY2c1c3g5SjY2NDVzNlkrc0JUc1hKbGRWMlZ2UDhLRlBLbVVwQUFBUUlFQ0pSTlFLQlFObW9kRVNCQWdFQnJGMmpwZ1VKbFpVVU1ITkE3OXRselZPeTB3OWJSbzBmbldMaHdTVHo5M0l5WWN1KzBlT0twbHd0NlpXUjYzUWdVV3Z0L1BjWlBnQUFCQWsxUlFLRFFGR2ZGT1JFZ1FJQkFpeFJvNllGQ09tbHQyclNKOXUzYlJZZU4yMGZidGxWUlhWMFRpNWNzaTBXTGxrWk5UVTNCOHlwUUtKaE9SUUlFQ0JBZ1VESUJnVUxKYURWTWdBQUJBZ1RXRkdnTmdjS2FJeTdlTjRGQzhTeTFSSUFBQVFJRWlpVWdVQ2lXcEhZSUVDQkFnRUFqQWdLRlJvQnlIQllvNU1CeGlBQUJBZ1FJZkVvQ0FvVlBDVjYzQkFnUUlORDZCQVFLaGMrNVFLRndPelVKRUNCQWdFQ3BCQVFLcFpMVkxnRUNCQWdRYUNBZ1VHZ0FrdUdyUUNFRGxxSUVDQkFnUUtCTUFnS0ZNa0hyaGdBQkFnUUlDQlFLdndZRUNvWGJxVW1BQUFFQ0JFb2xJRkFvbGF4MkNSQWdRSUJBQXdHQlFnT1FERjhGQ2htd0ZDVkFnQUFCQW1VU0VDaVVDVm8zQkFnUUlFQWdEUlIrL3BOam91dW1IWE5pdlBUS3JEaisxUE56bG1sdEIvL3o5TU5qdjgrUHlUbnNCUXNXeC9oTGJvMHBVNmZsTE9jZ0FRSUVDQkFnVUJ3QmdVSnhITFZDZ0FBQkFnUWFGUmk4MVJieDA3T1BqaDdkTytjc08zM0duRGp4OVBHeGZQbktuT1ZheThGMmJhc2l2VU5objcxRzVSenkreDhzalBFWFQ0eDdIM2dxWnprSENSQWdRSUFBZ2VJSUNCU0s0NmdWQWdRSUVDRFFxTUNXL1h2Rk9XY2RHZjM2YnBhejdLdzU4K09zbjF3ZXMyYlByeTNYcWVQRzhZVjlkb2llUGJyRWEyL01pNm5KRCtZUFBseVVzNDNtZG5Eelh0M2k4M3VQamc0YnQ0L24vdlZhUFBUSWM3RnMyWXJhWVhUdjFpbStkK3Boc2VNT1EzTU9hOTc4OStMOGl5Ykd3NDgrbjdPY2d3UUlFQ0JBZ0VCeEJBUUt4WEhVQ2dFQ0JBZ1FhRlNnZDYrdXRmL1NQbUxZd0p4bDAzOXB2L0QzZjRsN3BqNFJYYnBzRWovNDd0ZGkyNjM3Ui9zTjJzYml4Y3Rpd3NUNzRvYWIveEVyVjFibmJLZTVIR3pmdmwxYzhNdVRZc3YrUGFPcXNqSStUQjVkbUhqYkEzSE5uNmZVRG1INzdRYkVkMC81U3FOQnpJeVpiOFo1djdzNW5uMStabk1adXZNa1FJQUFBUUxOV2tDZzBLeW56OGtUSUVDQVFITVM2Tnk1UTV4NDNFSHhoZVJmNG5OdHExYXRpanVuUEJaWFhuZFhuSkg4eS96b2tZT2lUWnMyOVZWZW56VXZ4cDE2UVN4WnVxeCtYM1Arc05PWWJlS1g1eHo3aVNIODZkckpjZTJFS1hIb3didkh1S01QaU1yS2lrK1VXWDNIazg5TWovOGVmMlBNbnZQMjZydDlKa0NBQUFFQ0JFb2tJRkFvRWF4bUNSQWdRSUJBUTRHcXFzbzQ0dEM5NHBnanZ4QVZGYmwvSEwvOXpnZXhLTGtiWWZQZVhXdi8xWDcxdGw2WlBqdE9PZU4zc1hUcDh0VjNGKzF6dW1qa1Y3KzhSK3liQkI5TGs4Y09ycmxoU3R4ejM3U1NyZWt3Y3ZpZ09PL240NkppdGRBa0hVeE5UVTF0c0RLZ2YrOFlPcmhQenZHbEljemQ5MDZMLy9udGpTVTd6NXduNENBQkFnUUlFR2lGQWdLRlZqanBoa3lBQUFFQ241N0FianR2RjZlZGRFaDA2OXFwb0pOWXRIaHA3YU1BTjk5NmY2eXNMdjRqRDIyVDBPUGcvWGVKNDQ0YUcrbWpDT2syLyszMzQxZm5UNGpIbjNpcG9ITnVyRkxhejg5K2ZIU01HajQ0dVJPanNkSnJQNTY2WEhIMW5YRkw4cWlFalFBQkFnUUlFQ2lQZ0VDaFBNNTZJVUNBQUFFQ3RRSTlOOXMwenZ6MllURnF4S0RNSW91VEg4MTMzUFZZWEhmVFBmSHVld3N5MTgrblFzZGtBY2dUamprZ3h1Nzc4U3NhMHpzaHJwMXdUKzNqQi9tMFVVaVovbjE3eGduSEhsQzc4T0xxajNmazI5YWN1ZS9FRC83ZkZUSHp0Ym41VmxHT0FBRUNCQWdRV0U4QmdjSjZBcXBPZ0FBQkFnU3lDS1NQT2h4NStPZmlhNGZ0blN5eStORWRBUG5VVDE4aCtkRzZDcE5MRmlhazU5RWxXZWZoNU9NUGpuMzIvUGdWalduZkV5Wk9qY3V2dmlPZlV5Mm9UQm9pREVqZWduSDgwZnZIbU5GRE05K3BNT211UitLOEMyK082dXFhZ3ZwWGlRQUJBZ1FJRU1ndUlGRElicVlHQVFJRUNCQllMNEhlUGJ2Ry8veHNYS1J2ZmNoM1M5Y0lTRjhqZWNlVXgrUFJ4MStJMTJmTlQ5WUsrT2kxaXZtMmtVKzV0UVlLSzVKQTRaYlNCUXBWYlN1alY0OU5ZMlJ5MThaK3llc3hod3pxbTZ3eGtmK3pEeldKelZIamZoMXZKSXRWMmdnUUlFQ0FBSUh5Q1FnVXltZXRKd0lFQ0JBZ1VDOXcyQ0Y3Sm84VzdOL280b3oxRlh4WXEwQzZjT04xTjkwYmwxODFhYTNIN1NSQWdBQUJBZ1JLSnlCUUtKMnRsZ2tRSUVDQXdEb0Ywb1VJei9uK2Y4Uk9uOWw2bldVY2FGemd5YWVueHcvUHZTSjVJOGJTeGdzclFZQUFBUUlFQ0JSVlFLQlFWRTZORVNCQWdBQ0IvQVg2Yk40OWZ2QzlmNHV0aC9UTnY1S1M5UUl6a2dVWXgxODhNWjU4Wm5yOVBoOElFQ0JBZ0FDQjhna0lGTXBuclNjQ0JBZ1FJTENHUVBxS3hKSERCOFczVC9oeTlPdTcyUnJIZk1rdDhOYjg5K0tQVjkwUlV4OTRLbFlrYXp6WUNCQWdRSUFBZ2ZJTENCVEtiNjVIQWdRSUVDQlFMNUMrOVdISEhZYkdLZU8rRkp0bldLU3h2b0ZXK09HRER4ZkZINjZjRkhmZS9haTNPclRDK1Rka0FnUUlFR2c2QWdLRnBqTVh6b1FBQVFJRVdySEE2T1FOQnljY2UyQU0zTEtYaFJyWGNSM1UxS3lLZDk3OU1DNjY3SysxZHlhc281amRCQWdRSUVDQVFKa0VCQXBsZ3RZTkFRSUVDQkJvVEtCdm54NXg1Qkg3MUQ0RzBXM1RqbzBWYjFYSDMvOWdZVHo5N0l5NDZ2cTdZdnFNT2ExcTdBWkxnQUFCQWdTYXFvQkFvYW5PalBNaVFJQUFnVllwc01FR2JXTzNuYmFMUFhiZFBrWnVQekE2ZHR5NFZUclVEWHJKMHVWSmtEQTk3di9uTS9IZ3c4OUcrcmlEalFBQkFnUUlFR2dhQWdLRnBqRVB6b0lBQVFJRUNOUUxWRlMwaVUyN2RJeXRCdlNPejR3ZUdqc2xheXhzM3J0Yi9mSFc4R0Zlc3VqaTQwKzhIQTgvK255OE1uMTJ6SHY3ZzJTOWhPcldNSFJqSkVDQUFBRUN6VVpBb05Cc3BzcUpFaUJBZ0VCckUyaVR2QWFpWGR1cWFKZmN0WkF1MkRoczJ3RXhvSC9QNk5sajAralFvWDFVVlZaRitxYUk1cjZ0VElLQ3hZdVhSZnJtaGhrejU4YXpMOHlNMTJmTmk2Vkxsc2V5NVN0aTFhcFZ6WDJJenA4QUFRSUVDTFJJQVlGQ2k1eFdneUpBZ0FBQkFnUUlFQ0JBZ0FBQkFxVVZFQ2lVMWxmckJBZ1FJRUNBQUFFQ0JBZ1FJRUNnUlFvSUZGcmt0Qm9VQVFJRUNCQWdRSUFBQVFJRUNCQW9yWUJBb2JTK1dpZEFnQUFCQWdRSUVDQkFnQUFCQWkxU1FLRFFJcWZWb0FnUUlFQ0FBQUVDQkFnUUlFQ0FRR2tGQkFxbDlkVTZBUUlFQ0JBZ1FJQUFBUUlFQ0JCb2tRSUNoUlk1clFaRmdBQUJBZ1FJRUNCQWdBQUJBZ1JLS3lCUUtLMnYxZ2tRSUVDQUFBRUNCQWdRSUVDQVFJc1VFQ2kweUdrMUtBSUVDQkFnUUlBQUFRSUVDQkFnVUZvQmdVSnBmYlZPZ0FBQkFnUUlFQ0JBZ0FBQkFnUmFwSUJBb1VWT3EwRVJJRUNBQUFFQ0JBZ1FJRUNBQUlIU0NnZ1VTdXVyZFFJRUNCQWdRSUFBQVFJRUNCQWcwQ0lGQkFvdGNsb05pZ0FCQWdRSUVDQkFnQUFCQWdRSWxGWkFvRkJhWDYwVElFQ0FBQUVDQkFnUUlFQ0FBSUVXS1NCUWFKSFRhbEFFQ0JBZ1FJQUFBUUlFQ0JBZ1FLQzBBZ0tGMHZwcW5RQUJBZ1FJRUNCQWdBQUJBZ1FJdEVpQi93OEFBUC8vOW4rVC9RQUFRQUJKUkVGVTdaMEhuRlhGMmY4ZnRzQVdXSmFsTEIyV2pnVVFDMklFZTFTSU1mYllvbEdqSm1vMG1tcDhFOS9Ya3FMbW41allGVnZzdlhlTVFyREZqaUs5TGl4bEtRdGIyTVovNW00dWJEbjM3c3k1NTV4Nzd0M3ZmRDZ3OTg1NVpzNmM3OHc1ZCtaM25wbnBWSExnUlR1RUFBRUlRQUFDRUlBQUJDQUFBUWhBQUFJUWdBQUVMQWgwUWxDd29JVXBCQ0FBQVFoQUFBSVFnQUFFSUFBQkNFQUFBaEVDQ0FvMEJBaEFBQUlRZ0FBRUlBQUJDRUFBQWhDQUFBU3NDU0FvV0NNakFRUWdBQUVJUUFBQ0VJQUFCQ0FBQVFoQUFBSUlDclFCQ0VBQUFoQ0FBQVFnQUFFSVFBQUNFSUFBQkt3SklDaFlJeU1CQkNBQUFRaEFBQUlRZ0FBRUlBQUJDRUFBQWdnS3RBRUlRQUFDRUlBQUJDQUFBUWhBQUFJUWdBQUVyQWtnS0Znakl3RUVJQUFCQ0VBQUFoQ0FBQVFnQUFFSVFBQUNDQXEwQVFoQUFBSVFnQUFFSUFBQkNFQUFBaENBQUFTc0NTQW9XQ01qQVFRZ0FBRUlRQUFDRUlBQUJDQUFBUWhBQUFJSUNyUUJDRUFBQWhDQUFBUWdBQUVJUUFBQ0VJQUFCS3dKSUNoWUl5TUJCQ0FBQVFoQUFBSVFnQUFFSUFBQkNFQUFBZ2dLdEFFSVFBQUNFSUFBQkNBQUFRaEFBQUlRZ0FBRXJBa2dLRmdqSXdFRUlBQUJDRUFBQWhDQUFBUWdBQUVJUUFBQ0NBcTBBUWhBQUFJUWdBQUVJQUFCQ0VBQUFoQ0FBQVNzQ1NBb1dDTWpBUVFnQUFFSVFBQUNFSUFBQkNBQUFRaEFBQUlJQ3JRQkNFQUFBaENBQUFRZ0FBRUlRQUFDRUlBQUJLd0pJQ2hZSXlNQkJDQUFBUWhBQUFJUWdBQUVJQUFCQ0VBQUFnZ0t0QUVJUUFBQ0VJQUFCQ0FBQVFoQUFBSVFnQUFFckFrZ0tGZ2pJd0VFSUFBQkNFQUFBaENBQUFRZ0FBRUlRQUFDQ0FxMEFRaEFBQUlRZ0FBRUlBQUJDRUFBQWhDQUFBU3NDU0FvV0NNakFRUWdBQUVJUUFBQ0VJQUFCQ0FBQVFoQUFBSUlDclFCQ0VBQUFoQ0FBQVFnQUFFSVFBQUNFSUFBQkt3SklDaFlJeU5CUnlTUTNhTkFzZ3U3U1Y3SmdNamxaK1owa1M3OWV1MUVVYlcwTlBLNWJsT0YxRzNlS3RIdk93MTgvSkNqeXBGZFdMQ3pQRG45ZWt0R1R1ZW04cWl5NkRMcHNIM05CbFcyQ3FsUmZ3a1FTR2NDK2o3Vjk2dStiM1dJM3JmNnM3NFBHbXEyUzZQNnArOEZmYjlHN3hGOTNNOFE1dWVJbjljZFZONlp1VG1TTjJ5QTVBNHNsdXlpN3BLVm4rdDQ2b2FxR3FrdDN5elZwZXVrYXZFcWFhaXVjYlFqMHBsQVZ0ZTh5RDJWb3poMzdsa29tZi85dldsdTNWamZJTFhyTnlyT1c5VGZUVks5c2t3YWErdWFtL0FaQWhEd2lFQkdkcGJrRFZYUHZrRjlwWE92UXNucWx1K1lzNzRIOWJPdlpzMTZxVnkwVXVxM1ZqcmFFUWtCV3dJcEx5aGtGZVJIZnRCc0w5eExlLzFqV2IrdHlqckxncTY1a3BtWktadTJiTE5PNjJjQzNVR3dEZm9CbFc2aDI5aGgwblczWVpHT1UyYzFZTGNOK29HOWRkNFMyYWIrZVRtSTEySkc5NGxqVkxrR1JzcW12OXNFUFpqU2drZlYwbFd5NVpOdklvTXJtL1FkMFZaM29QVmdzRk5XcHFlWHIrK2IrZ3ArMEJPRnFrVzE3bnVOYlJya0tFSE5OdFFxb1UzZkU5dStYaEs1WjIzVHg3UHZ2cGU2VjRjMTNhdUpQRWUyZlBwTllNSkh2T3NKMDdHTXp0blNWVDJuODBjTWtyekJxaVBkczRlcjR0V1diNUtxRldXUkR2YTJyeGRMWTEyOXEzelNOWkVXYXJxcDM4TDhrWU1qQTViczd0MWNYV3JWTXYyN1V4cmhYTFY4dGFzOHdwWW8zdUROcWF6MXFyOVh1M0dMMHlGZjQvUnZseDVzbW9ZZGpZMVN2WHlOcVhsZ2R2UlBkNkh1T21xb2RCMDFSSEtIOUJQOUlzbE5xS3ZZRnFubnlpV3JaT3ZjUllpcmhoRDk2eE51VVgzQ2NJMEpEWkZJeWdzS1BTYVBrNzdURHpLOVhsL3NWai85cGhxWXpUUE8rNndURDVaTGYzaTBGQ294UkllS2JkVnkyejlmbHhtUHpaUTZwZW9uTytUMDd5MGxQL20rY1RGMnFESi9jL1d0eHZaaE50U0RSajBBS0RwZ2ducnJZamRRajNkZFdsellPT2N6MFlNQ3QwRy9aZTArY2F3VXFvR1RsMEdMSHJwc1FYcFZlRmwrUC9MS0hWU3NPbC85bE9MZlgzTFZ2Nnc4NXplZGlaNjc3S1YzWmRON255ZWFUWWROcisvVlhvZE5FamNEOVZqUXRMaWduK2VKRE9EMWM2Um84dmpJL1JxMjUwaXM2MDZsZU0yM3Q2cjM3aFBHK0ZMc3paL09rdzF2dmk5MUlSUDdmYm5ZT0pscW9hN1hZZnRMdHpFbGNhemNIYXBWbm5PYi8vT1ZiUHJnQytVdFZPc3VreENrNnZlOVE2VnduOTJOUzZKL2E5ZStQTXZZM2l0RGZjK011T0lzNCt5MDE4NkM2KzR5dGcvS1VMZkprb3RPTlQ3ZGpnYlZQLzE5ZXZSUDlVVjM3dFVqMGovdFBuNlVaSFJwOGtRMWhtRmdXTGxvaGJvbnYvUmNXRGM0ZGFoTmNnZjJsVndsV3VzK29mNlg2Vk9mY0szcUUyNU0wVDRoZ29JSFRkaFVVSmk0UjRuYytOc2Z5TkNCemtwaSthYXQ4cXMvUGlRejU4ejFvRlR1cytpSWdvTHU5UGM2ZEwvSWc5bzl1ZlpUNnNIS21xZmV0QnE4NjQ1QThiUXBvajBtL0F5VnltTmh6ZE52ZGRpM29GMVZwN243aE5IU2RmUlF5Y2pPOWhQMXpyekxYbnBIQ1FwZjdQek9Cek1DK20xcEgzVlBlQ2trdEQ2ejl1VFJuZjhOTXo5c2ZTam1kLzBjNlhIQWVNOEZ5ZFluMU0rUmRXcFFzbFY1VkhTa2tKbVgwL1NjM245OElKZTljYzZuc3VIdGo5UmJ1KzJCbkM4c0o0a0lOb2Nyd1dhOFA0Sk44K3RzcksyVjh0bUtzOFY5MWp4OXNqOGpLQVJiQXgxVlVNZ3E2Q3A5djN1d0wrS2VVdzNxcVVwbHo3OHRsWXRYT2gzdUVIR1JQdUg0Ly9ZSmxUZGNFR0h0aTBwUWVEODFYekloS0hqUVFrd0ZoZGNmdkVwR0RJM3ZjcVpGaGNuSFh5WDFTZlJVNkdpQ2duN3ozKytFdzMwZG5MUnVabnJ3WHZyUXkrMU9OeWhTZzVQaWFWTmJKL2Z0dXg1RWJaajVnUnBJcGVZRHpRMFlMU0QwUG1LeTVQVGR0U2FHbTN6Y3BNRkR3WTZhSHVqME8vNHd5VmZUZllJS2V2QmUrdEJMN1U1YjBoM2RBYWRQRC9RNW9yMkx0RUNwNzl0MEQ3ME8yVmQ2VHBrb0daMjlmeXNYajEza21maXZqMlNqR3ZTbWU5Q0NXTzhqOXBjZWs4WUZmcW5hWTJITk0yOUpsWEs5VHFXQW9CQnNiWFZFUWFGSUNhaTlqenhBdmVqSUNoYTJPcHYyMUN0NzhSMXAzSjY2WGtTMjBIU2ZzSS9xRTNaSlFwOFFEd1hiMnZMUVBsV21QSnh3OUNTNTRjb3pqYTc4ajdjOUszYysvS2FSclI5R0hVbFFDSHJBM3J5KzRnMVVkTWV1ei9RcG5rOXZhSDcrZUorMXkrKzZsMmFsOVVBbFowQWZLVmFNOHdiM2o0ZkMxMk1JQ3VaNGRVZHk4TG5IZXpvVnlmenNJdkdFWXowVnFmL3hoOXRrNTVsdHZPZUlaeWRKWWtaNm5hUkJaeDdqZW82d1YwWFhjLzVYUGF4RTRNcHFyN0lNVlQ1ZGludktvQjhjSTI3WFIvRGlZbmJJRGlsLzUyTlpyNmFieUk0ZFhtVHBleDRJQ3I0amJuR0NqaVFvNkRWaStwOThaR0JlQ1MxQU4vdWkxL3hZK2NBTFVydGhVN1BZOVB1bys0UjkxUXM4dlNaRnNnS0NRckxJcS9PbWlxQnc3NDAva1lNbTdXWkVhbk5GbFV5Yy9rc2pXeitNT29xZ29MMFN2RjZQd0xZKzlOdXZGZmM4M2VMdHB4WVRCcDk3WE5JNzBIcmRoeFgzUEpPV29rSVk2bDYzRmFZOG1OMHhlc0N1cC8zb2V5T1pRUXR0MmlPZ2VRaERXM0o2ampRdlk2cCsxcnMxRERyN3U2cmVjMEp4Q2ZYYkttWEZ2Yy9KOXJYbG9TaVBWNFhRVTRnR25qYmRxK3dTemtlN1dhOVNYa0dwc0NzRWdrTEMxVzJWUVVjUkZQUXVOWVBQT2xZdE5OdmRpbzlmeG5xaDJ0SkhYNUZ0ODVmNWRZcWs1cXRmQ09oK1JySURVeDZTV0FPcElpak1lK3V2MHFXenVidlNYa3BRMktLRWhXU0VqaUFvaEdFUUVLM2Ixb09Ca291K24zUXhJVnEyZEJNVjlGYUNBOC84anVRVUJ6KzlJY3EwK1Y4OEZKclRjUDVzMjRGMHpzVzdXTDJnbWw1YlFRZTllS3NXT3NJUVdqOUh3bENtUk1yUXBVK1JERG4veEtTTFNLMnZvYjZ5U3BiZDhZVFViV3phanJmMThWVDduajlpY01Rem9WTkdScWlLWHIxNm5heWM4V3pvQlcwRWhXQ2JqZTN2UVNvdXlxaDNzdERQdmxqYjNnWkxmTmZaOU00ZnF4OS9UU3JVYmhEcEVuU2ZVSHZBYVErdE1BUThGSkpZQzZraUtNeDkvU2JKeXpWL3U3Ym50NitReWlRdEJKWHVna0l5M1pOajNTcDZNTEQwbGtjakM0NGwyMnVpZFJtZDNzcTJ0a21GNzlsRkJUTDBncFBVajNSZWFJcUxvQkMvS25Ubk1ablRIR0tWVGs5LzBDRloweHhpbFN2NkhLbFQ4OUZUT1lUeFhtM09zMDZ0cTdIczlpZGNiUmZkUEo5a2Y5YmJDR3B2dUl3czg1Y2RRWlpaVHpOWmZ0ZFRRWjdTK2x3SUN0YklFa3FRN29LQzNvWlU5MVAwVnExaERhV1B2Q0lWWDZXK3FLQzlRSnI2aFA3czR1V20vaEFVM0ZEektFMnFDQXEzWGZjak9YS3EyY3JVSDg5ZElpZjkrQzhlRWJMUEpwMEZCZHNmSTN0NjdsUG93VUN5WGJwamxiNzVXOWxZTm1HTzEvT3c5UTlITXVjSE8vRkJVSENpMGhRWGxxay9zVXNZemlONndWYzlWU2xWZzE1NGJLankwdXFpdGtjTGM2aGF1VVpXM1BXMDZMZDJxUmd5ODNObCtHVm5oSHJnb3JucW5UYld2anc3dElnUkZJS3RHdHMrWENwNUtHZ3ZJZTJoR3BhMzViRnFWazlGV25MelExSzNlV3NzazlESFozVlRmY0lMVDFaOXdxNmhLaXVDUWhLckkxVUVoYU1PbWlDM1hudWVFYW5mM2ZTWS9QUFo0UGNwamhZdVhRVUZQVUFaZXZIM0ExMkZQY28wMWYrbXNqdDFaSUR5azFPa1MrK2kwRlVEYXlqRXJoSzlZR2JSNUFteERUZ1NrMEFxQzRBRFQ1c20zWFliSHZQYXduU2cvTitmeXJwWHdqdllqY2RLQzZ6YVF5RVZ3c29IbnBkdEM1YUhzcWdJQ3NGV1N6b0xDbnBuZ1o0SDdSTXNVSmRucTE2eFJwYmQ5YVJhUE5WbEJrbE1GdVkrSVdzb0pMRmhwSXFnb0JFOWZzdlBaSjl4OFR0S2k1ZVh5UkZuWEp0RW9pTHBLaWowT25TUzlENTB2NlN5VGVXVHArcWJ6ekFQVVBCUWNMNGo5RmF1UTlTT0RnVDNCQmJkZEwrazJ0U0hndkdqWk1CSlI3cS82Q1NrWEQ3am1aVGI2ckQzWVpPazF5R3A4MXRZdDJXckxQN3JQMldIV2hndWJBRkJJZGdhU1ZkQklhZC9IeWxSTHo1U0thVHE0RGZNZlVJOEZKSjRCNlNTb0ZBeXFJLzg2ZGVueHhRVnZsbThXbjc5cDRma2kzbkpWZUxUVVZEUTNnbkRmMzVXUWxNSzlKN3ZWVXRMMVk0TTZ5T3VYczA3Ni9wSExrT2RJNjlrb0hxN05reHlBdHkvVnMvbmpaYXRRYTI3c1gzTmhwMExXZW5yN3FMS2x0MmpRSlZ0Z09TcmY5bUZCYTd2Mk9WcVJ3ck5JRlZDajhuanBlLzBxYUV0TGg0S3psV2o1M1hucTN2SmJhZ3AyeUJidjliMzZ5cHBWRk9KYXRROUVRMzZYdEFMTWVYMDZ4MjVKN3FOSFJZOUZNamY2TDNxOUJ6Ujk2Z09YanhIVW0zdGswNXFxc1B3eTM4ZzJjb1YxVzFvcUsyVm10SjFrWC9WSzh1a1pyVjZWcmRhVHlKUzkycDdNTDJEUkk3K3B6cnltVjA2dXoybDZMYTI5QitQdUU0ZmRNSXM1ZUk3L0dkbkpyUnVRbjFWdFdMN1g4NHJ5cVI2MWRvMjIybDJWdk9UczlYaWNua2wvU1YvMktBSTcwU3V0WHoySjdMdTFYOG5rb1V2YVJFVWZNRWFNOU4wRlJTRy9PZ0V5UnZpZmd2ckhmVU5rYjVwZGVuYXlIT3ZSdDJUMjlkdGJNRXhNeThuNHBVVWVmWU5LSlpjOVJ6VVU1L2Nob2JxR2xsODB3TTcrNXR1OHdreVhaSHFFeGFIdUUrWXFpS05yc05PSlFkZWxJSU9LN3VhWHlvSkN0RlNINm1tUHh4NytENXk0TDVqSkRNelE5NzdaSUc4OE5iSDh0enJIMFZOa3ZvM0hRV0ZSTHdUMXMvOFVEYXBWZDIxMjc5cDBJT1cvbXBieXJ5aFRRTUUwM1EyZGxwSTBHWGI4c2s4bTJTUnJYRzBwNFliWVNHVnZCVDBEK1VJSlNKbFpHZGI4UW5TR0ErRnRyUVQ4VTZvV2xZcXE5VzJqcTBIa1czUHNpdEdpMjQ5MUc0TmZub3ZOV3pmTGh2Ly9ibjFjMFN6MEcrVDNUNUhVc2xMb1pkNkp2VldYbVJ1UWtOTmpheC80MzNaOU1HWGJwSkw0YjU3U0o4ako3dmVubkxOTTIvSjVvKy9kblh1b0JQcGZlMjdqeHZsNnJSMUZkc2lVendxdmx4b25WNExPWVY3N3laRlV5YTZGak1XM1hoZjZPWnRJeWhZTjRXRUVxU2pvTkJ0OStFeThOUnBycmxzK05kSG92OXBVY0UyYUVGZEQ3RDEvZWttNkIyUDlCUzdWQWhOZmNLelZaOHdLN1RGeFVNaHRGWGpybUMyN2pCNnhXL2JRWjI3a2dXVEt0MEVCVDFnR0hYVitkYnc5Q0JneGQxUHQzaTdhWnVKWDl2SzZiZVA2MTZhWlNWeU5DKzdacUszem5UemRqWlZ2QlM4MkJxMGN2RUsyZnJOVXJYdi9NYklqL1YyNVoyaTkyTW0rRWRnNE9uVFhiWExSTmNOMEIzVndlY2RyOTVXbSsvR1kwSkJ2OEZlODlRYlNYbU9wSXFYUW9ieUVCajU2M05jaVg5YnYxNHNhNTU5V3hyVVcvTkVRbVplcnZUNzNpR3UxbStvMjFvcGkvNDBJNUhUQjVKV2I4VTU3S2VudXpyWHh2YytrL1d2djVmdzgwOTdTUFQ5N3NIU2JYU0pkVGsyZlRSWHlwNTcyenFkbndrUUZQeWsyemJ2ZEJRVXRNZVEzaXJTTm1qUG9OVlB2QzYxNVp0dGs3YXc3NVNWS1hyOWhxSnY3ZFVpM3ZUTHdqL2VreEk3M3VoZG1mUXViNG1FeWtVclpOczN5NVQzUjdrMEtnR0hQdUV1bWludm9iRHJVcno3aEtEUVc4M2wrcjR4VUsyS2ZuUDFyY2IyUVJ1NjJTWlNpd21MYjdqZjlZQzkrVFc2T1gvejlLMC9lemxJY0RQbzl2TDhyYS9OcSsrMm5ZN1c1OVdMcldtdmxMb3QyMW9mNHJ1UEJOeUtmMTZKdXZyOHczK2hwa1o1SkNwb01VR0xramJlVGJId3VubU82UE11dVBiT1dGbUdKcjV3MzkybDM3R0hXcGZIajBVUmUzOTdzdlNhYXI4dzJvcjduNWZLaGNtZHJ0Z2V3RDVISHlnOVhRd2ExanczVXpaLzlGVjcyVnNkSDNEcTBWS3crd2lyTk5wNDRaOW5TSDFGcFhVNnZ4SWdLUGhGMWpsZjI5LzJzTy95a0Q5c29Bdys1empuaTQwVHE0WFUwc2RmYytXVkVDdGJONzh4T3EvMWI3NGY4WkNJbFc4WTR2VVVSNzJEaHR1d2NmYW5va1ZWK29TeENTSW9PTEJCVUVndlFVRS9SUFREeENZc3ZlV1JoTjRvdGo1WElsTXVtdWZsOVh4ZFBZRFNiMlZ0MW56UWc1VEZOM29qdGpTL05pOC85enZ1c0loN3JXMmV0V3ErOVNxMW92ajI5WnRzazJMdkFRRTNIajE2MnMrR21SOTRjUGFtTEd3N3JMRk83SVdIVSt1ODNleDhzZXJobHlMclNiVE9LMHpmaDF4d291UU42bWRWcFBWdnFVN3MyLzVNRSt4MThMN1MrL0Q5cmNxanB3R1VQdmFxVlpxZ2pVZis1anpKc3B3elhmcW8ybk4rcmo5N3pnLys0YkdTUDN5d0ZZYTFyODRXM2JrUFMwQlFDTFltYkovUFlSY1VCbnhmQ1d0NzJBbHJmajVyOUE0N2VneGtFL1FnZTlFTjk5b2tDZHpXYlo5UVQ1OWMrY0FMcWsvWWNqMkt3QzhnQlU2SW9PQlFTUWdLNlNNbzZMVU1SbHh4bGtNdHg0N1NLdVJhTlozQTY2RG44N3RadDZCNU9id1dPblRlYnVhc2UvVkd1UG0xZWZVNW8zTzJqUHpOdWRidTA5cDljS1Y2eTZnWEdpSWtoNEN0K0tmWEVWbWt4QzJ2ZzV1QmUrc3llQzEwNlB5MUFGaWl0cjYxZVk3b1JTQlhQZlJTNitLRjVudm5Yb1V5L0xJenJjcWpGeDViZHZ2ai9tMVoxa2xreUhsMmk2VHRhR3lRaGRmZjQ0azNpaFVNUTJNOXZVMVBKN0lKbXovNVd0WTgvWlpORWl0YnZVaWNYb2hUdDJ2VG9CY3pYWHJMbzZibXZ0c2hLUGlPdU1VSjBrbFEwTk9zUmwxNVhvdnJhKzlMdlZySFpQSGZIcExHN2JYdG1ibyszdmZZUTZTSFdsZkdKcXk0L3pubG9iWENKa2xndHBFKzRhOVZuMUQxRFcwQ2ZVSWJXbW13S0tQZDVacFpJeWlrajZEZzVvMm5kaEgyd2tXNWRXdHo2MDRXemNmUHFRWkRsSmVDemNKdmZwWWxlcjF1LzdyaHZIM0RKbGwyNjJQU1dGdm45clNrUzVDQUhsVFlyblhpbDdEbHBpek5MMTk3Snl5NHhwK3BCbTdhOTd5ci90NjhlS0g2M092Z2ZaUTN3R1NyTXVrQnBSNVkraG5jckRkUStzUnJVdkg1QWorTDVUcnYvaWNlSWQwbmpERk8zMWhYcDk0NktrKzBCTmVtYU8rRWVxRkcvZmJRSnVndEpHdlZNenNNQVVFaDJGcElKMEdoKzE1ajFPTGRSMWdCMUdzbWJQbDh2bFVhVzJQOSt6ZmlseiswR29CdmV2OExLWHZ4SGR0VEJXTHY1amV6Vm5tcExyMk5QcUZOQmVHaDRFQUxRU0Y5QkFYYk5RTDhIaWlQK3AvelhjL1A5c003SWRyODlWYVhBMDh6ZjN0VnE5NE02MmtQWVF4dXRoelVienUxR2sxSUhnSGJOdWlYZDBLVWdPMnpJNXBPLy9YRE82RjUvcmJQRVQrZkhjM0w1ZWF6N2YwYXBNZkZ3RE8rSTkzR2xCaGZsdDl2OUkwTDRtQTQ4bGZuU0piRmxwemxzejZXZGEvTmNjakorNmhoUHoxTnV2VHBhWnp4MmxmVXRBZTF6azBZQW9KQ3NMV1FUb0tDclJ1K0Z0RzBtQlpFMElzMDlqeklmQzJaN1dxOW9DVWgzVDUzaUZxaklrK3RWV0VUNkJQYTBHcXlSVkJ3WUlhZ2tENkN3bkExemFCellZRkRMVHRIK1QzZjJPMGd4ZS9CazZaaE8wZ0o0NVowMnFWTlgwZW5UaG5PRmV3UVd6Rlh6WDErTk54em54MktuWFpSdHRNTS9CYi9iQVdPNWhYaTl3RGU5am1TNkE0WXphL055ODl1N3RmbE01NlJxaVdydkN4R3pMenlodytTd1QvOFhzempyUS9VVjFiSndqL2Mwem82NmQrN0ZQZVVZWmVjWmx5T0hUdDJSSGF0cU45V1pad21FVU5iVDhKdGk1Ykx5dnVlVCtTVW5xVkZVUEFNcFZGRzZTUW8ySzVwb2owQXRDZEFFQ0dyYTU1b0VWSjFwb3hQdCtDNnUwSTNaVlQveG95KzZnS1JEUFByOEhPTkNtT1lLV2lJb09CUWFRZ0s2U0VvdUZrL3dXL1hZTGVERkwvV2RXamUvRzBIS1g2NW16Y3ZrKzNucnFPSHlxQXpqN0ZLdHVUbWg5UVdRQ3k0WXdYTkIyUGI5UlA4RnYvMEpZNjk5aExyS3cxQy9MTjlqZ1Q1VnQ4R1dOZFI2bjc5Z2ZuOUdnVGIxdVVmOFl1ekpidTcrUjd0aS8vZmd3bHY0OWE2RElsK0wvcldCQ2srZW9weE50c1dxQUc3V3B3MnFLRDNoeCtsRm93MERZMzE5VEwvNnR0TXpYMjFRMUR3RlcrYnpOTkZVSERUUDUxL3pSMitycDNRR3JaK051dG50R2xZOWZETGFnSGd4YWJtZ2RqUkp3d0VjK1FrQ0FvT3JCRVUwa05Rc0Yxc3NHcFpxU3hYVzd6NUdkek96UTVpOEdUN2xzaHZ0MjQzOVZBOGZhb1VUUjV2bkRTSU9qY3VUQWMzdEIyOCs3WFdTZk5xc0YxYlJLZjEyM05DbjhQMk9STFdLVXE5RHQxUGVoODZTVitTVWRqMG42K2s3Tm1aUnJaZUdmVTdYdTBZTTNFMzQreEsxUnpuQ3Avbk9Cc1g1citHL1UvK3RuUWZOOW80V1RLbUZCVHVzN3RrRlhRMUx1UG1qK1pLL2Ria2J4K0pvR0JjWlo0WXBvdWdvSGQyMERzOG1JYnFGV3RrMloxUG1wcDdZbGQwNEY1U2ZOU0J4bm1WdjZ1bVNiMGV6RFFwMDBKWjl3bVhxbkhBUGY2T0EwekxubXAyQ0FvT05ZYWdrQjZDZ3UxV2pVRU5rTjNzOWhERTlJSXdDakFPdDJmY3FKS0xUN1hhQW5QTk0yL0o1bysvanBzbkIvMG5ZUHUySnFnMzFiYlRNRFNwb0tZWDJENUgvUGErY3ROSytwK2tGZ29jYjc1UTRPb24xWUprbi9tN0lGbnI2N0JkTkhEOVd4K283U3cvYkoxTlVyOFAvZkhKa2p1ZzJMZ01TOVdhTWpXc0tXUEVDMEhCQ0pOblJ1a2lLTmh1VFZ2K3puOWszUnZ2ZWNiUkpLUGNnWDFsNklVbm1aaEdiQ3ErV2lTbGo3eGliQitFNFREVkorelN0NWZ4cWVnVEdxTnFZNGlnMEFhSlJQWmcxWHV4bW9Zd3VuNmJsdDNKTHFkL2VnZ0t0b09Cb0FZQ2J0NTZCalVZc0hsTEhNYTMrMk91dWNocS9ZVEZmM2xBYWpkdWNib05pQXVRUUZqRkxGdXZIWTFNdjkyb1VtODUvQTYyejVFZ1JFbmJheDU2b1Jyb0RyUVk2S3BWdDJ0SzE5bWVKaUg3M0NIOVpPaVBUalRPWTh2bjM4anFKOTR3dGcvQ2NQVHZMbEFydG5jMlB0VTMvM3ViN0tpck43YnZ5SVlJQ3NIV2Zyb0lDdjFQVkY1REU4eTlobFkvOWFacytYUmVvTEJ0UGVHMnJ5MlhKWDkvT05BeXRuZXlzZjkzc2RYNkNmUUoyeU1hK3ppQ2dnTWJQQlRTUTFDdzdYQUhOUkN3WGFzZ3FMZXgrbGF3RVJTMGZWQkNoejVYZXlHN3NKdU0rUG5aN1pudFBGNWZXYTBXVUx0NzUzYytKSStBN2JaT1FVd3IwRFJzaFE2ZEpxelBrYURLcFJtWUJ0dUI3b0xyNy9aOUc4UFdaYzhxeUplUnYxU0xreG1HNnBWbHN1eU9Kd3l0L1RlelhaK2dvYnBHOU9KcUJETUNDQXBtbkx5eVNoZEJ3ZFpyS0ZuUDd6Ry8vN0YweXM0eXFyNGQ5UTN5emRXM0d0a0dZV1RiSjJ4UWZjSUY5QWxkVncyQ2dnTTZCQVVFQllkbTRWbVU3VlNNSUQwQmJLY01oRWxReUIraFZtUS8yM3hGOXFybHEyWDVYVTk1VnE5azVKNkE3VDBSMVBRa040SkNVUGVFTGJPZ1BMQk1XMEZtYm82TSt1MlBUTTBqZGtHeGJWMG9HNkUxYkVKbDdpRGx0bnlCdWR0eWpkcitiV2xJdDM5clhTOWgrSTZnRUd3dHBJdWdvSjk5K2hsb0doWXBiOHE2SkhoVDZ0MWg5QzR4cG1IaG4rK1Yrb3B0cHVhKzJsbjNDWmVwUHVIZDlBbmRWZ3FDZ2dNNUJJWDBFQlJzT29HNkdRU2xBTnNPQklJVUZHeTlPdnplSHMvaDlvd1oxV1BTbnRMM21JTmpIbTk5SU14N3hyY3VhN3AvdDcwbkVCUkV3c3JNdEsxbUZ4WElpTXZQTWpXWGh1M2JaY0UxZHhyYmUybG91NzFic29RUHAydk9IemxFQnAvMVhhZERqbkhWcFd0bDJXMlBPeDRqc2kwQkJJVzJUUHlNU1JkQlljelZQNUZPV1puR3FKSTFVQjl5N3ZFUlR6M1RnbW94VW91U1lRajJmY0o1c3VicE44TlE5SlFzQTRLQ1E3VWhLSFJNUVNHSVZlTjFjN01kQ0lSWlVBaEtoSEc0VGR0RTlUNWlzdlE2YUo4MjhiRWl5bWQvSXV0ZS9YZXN3OFFIU01CMnZaT2dCQVhiT2FRYVdWQ0RTZHZuU0ZETVRKdE41OTQ5WlBpbFo1aWFSL1kzVDVZci9yREx6cEF1dlhvWWwzWCt0V3A3dDVwYVkzcy9EYnVOSFNZRFQ1OXVmSXJxVldyS3h1M2htYkpoWFBBa0dTSW9CQXMrWFFRRjJ4ZGVDLzk0ajlSdnF3b1d0anFiN1hoSXYrR3ZVbS82d3hDcys0U3pWSi93TmZxRWJ1c09RY0dCbk8wTnhLS000Wm8zRmExUzJ3ZDJXQWNDQ0FyUkdvMy90M2phZ1ZKMHdGN3hqWm9kM2ZEdWYyVDk2OEd1bXR6czlIeHNSc0RXTXliSXdYRzZQRWVDWk5hc2FtTisxQ3R2NnhXNFRVTXlweExvS1FONjZvQnBXSFRqZlZLM2VhdXB1YTkydHR2VFZhMWNJOHZ2Q0haN09sOEIrSnc1Z29MUGdGdGwzMUVGQlQyM1g4L3hEenIwTzA1dG03dTMrYmE1S3g5OFFiYk5YeFowTVIzUFZ6eHRpdW9UVG5BODVoUVp4bTB2bmNvWjFqZ0VCWWVhUVZEb21CNEtDQW9pdGdPN01Ia285RDNtSU9reGFaekRIZTBjdGVGZkg4bjZOOTkzUGtoc29BUnMyMTJRZzJNRUJYK2FRbzdhM2FGRTdmSmdHcEs1V09DUTgwK1V2TUg5VElzcVM1VGI3L2FRdVAzcWxlVDFpdkttQVVIQmxGU1RIWUtDSGE5RXJkTkJVTWpvbkMyamYzZWhGWXBrZVNqWXR1OWtiTzBiQzZTZUFxdW5QWmdHK29TbXBKenRFQlFjdUNBb0lDZzROQXZQb214ZGxmRlFNRU52KzhQSGo0Y1oxeUNzRUJUc0tkcytSNExhR2NQMFN2S0c5SmNoUHpyQjFEeXBVeDVzQllVd3VmM3F0NHY2TGFOcFFGQXdKZFZrWi91N3MzSE9aNklYU0EwNlpQZFFhNVpjWWJGbVNVaDMrMGdIUWNITmdyU3BJaWlVdmZpT2JIci9pNkNidCtQNWJPOU4rb1NPR0kwakVSUWNVQ0VvSUNnNE5BdlBvbXdIQWdnS1p1ajduM2lFMnRkNWpKbXhzdUxId3hpVjc0WUlDdmFJdy93Y01ibWF2S0ZLVURndlZRU0ZFNVNIUW4rVHk0cllyTGovZWFsY3VOelkzay9Ed24xMkY5MnhOZzFWSzlTVWh6dVo4bURLeTNiUWdxQmdTdGJaTGkwRWhUeTF3ODJWZGp2Y3BJcWdvTmNnS0ZkckVZUWgwQ2NNdGhZUUZCeDRJeWdnS0RnMEM4K2l3andRc0IzWWhXbkt3NEJUanBTQ1BVY1oxOU9HdHorVTlXOTlZR3p2WkxqL1hpTmx4TkMrOHZYQ1ZmTEozS1ZPSnNRWkVMQnRkMHg1Q1BmaXJnWlZIbGs1WEs4Z2JocmNUSGtvTE1pWDd4dzJVU1pQSEMwWm5UckorNTh0bEpkbmZpTHJOMWFZbmpaaVordWhzUElCTlk5NHdUS3JjL2hsYkMwb3NJYUNWVlVFSlNqc01YcXc3RGw2a0t3cTJ5aHpQcDR2RFEyTlZ1WEVROEVLbDYvR21RZ0t2dktOWmo3Z1pOVW5IQmQwbjNDVTZoTVdkOGcrSVlKQ3RPVTErNHVnZ0tEUXJEbDQvaEZCd1hPa2tRd0huSEtVRWhSR0dtZnUxa01oTXlORExqMW5tbHg4MWxGdHp2V0hXNStSdXg1NXEwMDhFZkVKSUNqRTUrTjBOTXpQRWFmeXRvN0xLeGtnZmdvS1B6dDN1bHh5OXRHdFR4djVmdnREYjhpZmIzL084WmhUSklLQ0V4WGlOQUcvQllYVGpqMVFydjM1OTl2QW52SDQyL0wzKzE2UkxWdk5WdjVIVUdpRE1Ha1JDQXJCb0tkUEdBem42RmtRRktJa212MUZVRUJRYU5ZY1BQOFk1b0dBN2NBdVhCNEsvZ3NLUGJybnkyTzMvRXhHREltOTR2dEhYeXlXVXk3NmY1NjNtM1RPMExiZDRhR0FoMEs4KytHNlg1d3FwMzczVy9GTTVJVTNQNVpMLy9mZXVEYlJnd2dLVVJMOGJVM0FUMEhoN2o5ZEtJY2VzRWZyVSs3OHZxNjhRazYvOUcreWVQbmFuWEd4UGlBb3hDSVRmRHlDUWpETWd4QVU2QlB1cWtzRWhWMHNkbjVDVUVCUTJOa1lmUGlBb09BRFZKVmxFRDhlMS8veVZQbitNZkVIS3ZycS9qcmpKYm41M2xmOHVkQTB6QlZCd2I1U3cvd2NNYmthdnp3VTl0bHptRHgrNitVbVJaQ3pycmhGWm4wNHIxMWJCSVYyRVhWWUE3OEVoVmllQ2ExQnZ6bjdDem4vTjNlMmptN3pIVUdoRFpLa1JTQW9CSU0rVkgzQ2UxU2ZVSGtVcFhOQVVIQ29YUVFGQkFXSFp1RlpWSmdIQXJZRHU0N2tvZEMvdUlmTWZ2SWE0M1l3Yk1yRnhyWWQzZEMyM2VHaGdJZENySHZtVDc4K1hVNmFQam5XNFJieEw2bjFGQzc1L1l3V2NVNWZFQlNjcUJDbkNmZ2xLQ3laOVE5andOODcvd2I1WWw3OFJVQVJGSXh4K202SW9PQTc0c2dKL0JZVSt2ZFJmY0tuNkJOR2F4TkJJVXFpMlY4RUJRU0ZaczNCODQ4SUNwNGpqV1RvOTQvSG1jZE5sZis5L0dUandwLzNxOXRsNXB5NXh2WWQyUkJCd2I3Mncvd2NNYmthdnp3VVBuL2xCdW5XTmRla0NOTFkyQ2dqRHZwcHU3WUlDdTBpNnJBR2ZnZ0tlZ0hHNSsvK3BUSFRmOXovcXZ6bDdoZmoyaU1veE1VVDZFRUVoV0J3MHljTWhuUDBMQWdLVVJMTi9pSW9JQ2cwYXc2ZWZ3enpRTUIyWU5lUlBCVCsvSnN6NU1ScCt4dTNoNy9kKzdMOGJjYkx4dllkMmRDMjNlR2hnSWVDMC8yU205Tlp2bnJqTDA2SFlzYnRkK3h2Wk1QR3JUR1A2d01JQ25IeGRPaURmZ2dLZXYwUHZRNklhWGhYVGRzNVcwM2ZpUmNRRk9MUkNmWVlna0l3dlAwV0ZHejdoSDlWL2NHYlZiOHdYUU9DZ2tQTklpZ2dLRGcwQzgraUVCUThROWtpSTc5L1BQU0s4WHJsZU5Qd2krc2ZsS2RlU1d4YlN0TnpwYm9kZ29KOURZYjVPV0p5Tlg1NUtMejM5TFZTM0x2UXBBaXlyYkpHeGgzMTgzWnRFUlRhUmRSaERmd1FGS2JzTjFidXYra2lZNllQUFR0Yi91ZW1SK1BhSXlqRXhSUG9RUVNGWUhDSHJVLzQ4K3NlbEtkZlRkOCtJWUtDUTd0R1VFQlFjR2dXbmtXRmVTQmdPN0RyU0I0S2UrMWVJay9kZm9WeE81aDgzRzlsN1lZdHh2WWQyZEMyM2VHaGdJZENyUHZsMGg5T2kyenJHdXQ0ODNpOXhhdmU2clc5Z0tEUUhxR09lOXdQUVNGRGJVMjg2SjJiamFIKytMZDN5V3Z2Zmg3WEhrRWhMcDVBRHlJb0JJUGJiMEdCUG1ITGVrUlFhTWtqOGcxQkFVSEJvVmw0Rm9XZzRCbktGaG41L2VPaFQvYm8zeStUL1NhTWFIRmVweS9QdmZFZitkbi8zZWQwaURnSEFnZ0tEbERhaVFyemM2U2Rva2NPKytXaDBMT3dxM3owd2g5TmlpQlRULzY5ckZwVDNxNHRna0s3aURxc2dSK0Nnb2I1MjR1UGwzTlBPYlJkcm5WMURUTDYwRXZidFVOUWFCZFJZQVlJQ3NHZ0RsZWY4Q1BWSjd3L21BdFAwbGtRRkJ6QUl5Z2dLRGcwQzgraXdqd1FzQjNZZFNRUEJkMEE5dDlycER4OGMvek9XMTE5Z3h6MWcrdGs2Y3AxbnJXWmRNL0l0dDNob1lDSFFyeDc0dlR2VFpGcnJqZ2xub2xjOTQrbjVaN0hac2ExaVI1RVVJaVM0RzlyQW40SkNnVnFZZEhYSHJ4S2ludDFiMzNLRnQvMUxpVjZ0NUwyQW9KQ2U0U0NPNDZnRUF6cklBUUYrb1M3NmhKQllSZUxuWjhRRkJBVWRqWUdIejRnS1BnQVZXVVp4SStITHZuVVNidkpUYjg5VTNyMjZOYm1RdVo4UEY5dXVPTjUrYnlkTGJ6YUpPemdFUWdLOWcwZ3pNOFJrNnZ4eTBNaGV1Nkpld3lUQzA0L1hJNDRjRncwS3ZMM1grOTlKWGMrOHFhOC8rbkNGdkh4dmlBb3hLUFRzWS81SlNob3FzTUdGOHV2TGp4V2pwalNzZzNyWTFxNHZ2eWErNDNFQkcyUG9LQXBoQ01nS0FSVEQvUUpnK0VjUFF1Q1FwUkVzNzhJQ2dnS3pacUQ1eC9EUEJDd0hkaUZ5MFBoU0NuWWM1UnhmVzE0KzBOWi81YjdCWElPVXNMQ1FmdnZKaU9IOXBPdkZxeU1iQkg1NGVlTGpNK1A0UzRDdHUwT0R3VThGSGExbnZpZjlCdmV2ZmNjTGhrWm5lVGpMNWZJbW5XYjRpZHdPSXFnNEFDRnFBZ0JQd1dGS09KeFl3Ykw0VW9ZR3pkMmlLeGNYUzZ6UDVyWDdwb0owYlRSdndnS1VSTEovNHVnRUV3ZEREaFo5UW5IMFNjTWhyWUlnb0lEYVFRRkJBV0hadUZaRklLQ1p5aGJaTlR2aE1PbGNLK3hMZUxpZmRud3I0OWsvWnZ2eHpQaFdFQUVFQlRzUVlmNU9XSnlOWDU3S0ppVXdkUUdRY0dVVk1lekMwSlE4SUlxZ29JWEZMM0pBMEhCRzQ3dDVkTC8rTU9sKzBUNmhPMXg4dW80Z29JRFNRUUZCQVdIWnVGWlZKZ0hBcllEdXpCNUtQUTk1aURwTWFtdGEyaXNpa05RaUVVbStIamJkb2VIQWg0S1FiYlNWQllVZElkYWQ2eE5ROVdLTmJMOHppZE56VHU4SFlKQ3NFMGdwMTh2S2Jub1ZPT1Q3bWhva0c5K2Y2dXhmUkNHQ0FwQlVCYWhUeGdNNStoWkVCU2lKSnI5UlZCQVVHaldIRHovaUtEZ09kSklocjIvUFZsNlRkM0hPUE1ON3lnUGhUZndVREFHNXFNaGdvSTkzREEvUjB5dUJnOEZFMHFKMnhUc09US3l2b3hwVGxVcmxhQndCNEtDS1M4RUJWTlMzdGdoS0hqRDBUUVgyL2E5N3JWL1MvbXM5aGNKTlQxL0luWjl2bjJBOUp5NnQzRVd2R1F5UnVWb2lLRGdnQVZCQVVIQm9WbDRGaFhtZ1lEdHdDNU1IZ3E5RHRsWGVoKzJ2M0U5Ylp6enFheDllYmF4UFliK0ViQnRkM2dvNEtIZ1gydHNtM01xZXloMEhUMVVCcDE1VE51TGloR0RvQkFEVEl4bzJ3SFh4am1mcWQrZFdURnk4eSthS1EvK3NiWE5HUThGVzJMdTdPMzdoTW01TjkxZFhmaFNJU2c0MUFtQ0FvS0NRN1B3TEFwQndUT1VMVElxK3RZRUtUNTZTb3U0ZUY4MmZmaWxsRDMvcjNnbUhBdUlBSUtDUGVnd1AwZE1yZ1lQQlJOS2lkdlljcTR1WFN2TGJuczg4Uk4za0J3UUZJS3RhRHdVZ3VWdDI3N0Q1S0ZRZElEcUUwNno2UlBPVlgzQ3Q0TUZuRVpuUTFCd3FFd0VCUVFGaDJiaFdWU1lCd0syQTdzd2VTZ1VqRk91dlNjZlpWeFBXNzVZSUtzZmY4M1lIa1AvQ05pMk96d1U4RkR3cnpXMnpUbVZQUlJ5QnZTUmtoK2YwdmFpWXNSc1gxY3VTMjUrT01aUm9sc1RzQjF3NGFIUW1xRGRkd1FGTzE2Sld0dTI3ekFKQ25xSEI3M1RnMm1vVUgzQ1V2cUVwcmphMkNFb3RFRWlncUNBb09EUUxEeUxRbER3REdXTGpISUdGa3ZKaFNlM2lJdjNwWHBWbVN5Ny9ZbDRKaHdMaUFDQ2dqM29NRDlIVEs3RzlzMTVRM1dOTExqdUxwT3NQYmRKWlVHaGM4L3VNdnhuUHpCbVVydHhpeXoreXdQRzloM2QwSGJBaGFDUVdJdEJVRWlNbjIxcTIvWWRKa0VoZDBDeERQMHhmVUxiT25kcmo2RGdRQTVCQVVIQm9WbDRGaFhtZ1lEdHdDNU1IZ29aT1oxbDlGVVhHTmRUTWdjb3hvWHNJSWEyN1E0UEJUd1VncncxVWxsUWtJeE9NdmIvTGpiRzFWaGZML092dnMzWXZxTWIyZzY0RUJRU2F6RUlDb254czAxdDI3N0RKQ2hZOXdtcmxHaDlmWEpFYTl0NkNhTTlnb0pEclNBb0lDZzROQXZQb2hBVVBFUFpKcU5Sdi8yUlpPYm10SW1QRmJIb3B2dWxibE5Gck1QRUIwUUFRY0VlZEppZkl5WlhnNGVDQ1NWdmJFYjgvQ3pKTGl3d3ptekI5WGRMUTFXMXNYMUhOclFkY0NFb0pOWmFFQlFTNDJlYjJyWjloMGxRME5kS245QzJ4dDNiSXlnNHNFTlFRRkJ3YUJhZVJZVjVJR0E3c0F1VGg0S3VvS0VYbkNTNWcvb2ExMVhwRTY5THhlZnpqZTB4OUllQWJidkRRd0VQQlg5YW9uT3VLZTJob0M1cDhBKy9KL25EQnpsZm5FUHNzanVla09xVlpRNUhpR3BOd0hiQWhhRFFtcURkZHdRRk8xNkpXdHUyNzdBSkNyWjl3dFdxVDdpRlBxR3Jab09nNElBTlFRRkJ3YUZaZUJhRm9PQVp5allaRlUrZklrV1RKN1NKanhWUjhhVmFoT2N4Rm1hTXhTZW9lQVFGZTlKaGZvNllYQTBlQ2lhVXZMSHArOTJEcGNkK2V4cG50dmFWV2JMeDM1OFoyM3RoMktWdkwrVmQxc1U0cSszck5rcERaZks5S0d3SFhBZ0t4bFhzYUlpZzRJakZ0MGpiOWgwMlFhRjQrbFRWSnh4dnpJZUZHWTFSdFRGRVVHaURSRmlVc1QrQ2drT3o4Q3dxekFNQjI0RmQyRHdVdXUwMlROMi8wNDNyU3M4WDFndTk3YWlyTjA2RG9mY0ViTnNkSGdwNEtIamZDbVBubU9vZUNqMzJIeWQ5djNOUTdBdHNkV1RydkNXeTZxR1hXc1g2KzNYVVZlZExabzY1b0xEMGxrZWxaczE2Znd0bGtMdnRnQXRCd1FCcUhCTUVoVGh3ZkRoazI3N0RKaWgwRzZ2NmhLZWI5d2wxWDNDK1drZUJQcUY5WTBKUWNHQ0dod0tDZ2tPejhDd0tRY0V6bEcweTB1c242RGx6Tm1IZDYzT2svTjJQYlpKZzZ6RUJCQVY3b0dGK2pwaGNEUjRLSnBTOHNlbFMzRk9HWFhLYWNXWkJDNjNXUW5CdHJjeS81azZSSFR1TXI4a3ZROXNCRjRKQ1lqV0JvSkFZUDl2VXR1MDdiSUlDZlVMYkduZHZqNkRnd0E1QkFVSEJvVmw0RnRWOTRsanBmZWgreG90a1ZTMHJsZVYzUCszWitlTmxaRHV3QzV1SGdyNjJrb3RQbFJ6bFBtc2FkT2RaYjVOV1gxRnBtZ1E3anduWXRyc2dQUlJzMjlPOHEvN3VNUjNuN0JBVW5MbjRFWnZxSGdxYXljZ3J6NU9zdkZ4alBFR3VMMlBiNTlxMllKbXNmT0FGNDJ2eDA5QjJ3SVdna0ZodElDZ2t4czgydFczN0RwdWdvSy9YOWpkY2V5Y3MwbjNDcmZRSmJkb0xnb0lETGRzZnQ5VlB2eWxiUHBubmtGTnFSdVV3NVNFMUs4NkRVdHNPN01Jb0tQUTZlRi9wZmZqK1ZqUzJ6VmNkMUFmRDBVRzFLbmlhR051MnV5QUZoYkFpUmxBSXJtYlNRVkFZY09yUlVyRDdDR05vTldzM3lOSy9QMkpzNzliUXRyK2h6N1AyMWRteWNmYW5iay9wYVRyYkFSZUNRbUw0RVJRUzQ5Y1JVOU1uREtiV0VSUWNPQ01vNEtIZzBDdzZSSlR0d0M2TWdrSld0M3daOGNzZlNxZE9uYXpxTEl6S3V0VUZwTEN4YmJ0RFVHQU5oU0NiZXpvSUNvWDc3aUg5amozRUNsdnBZNjlLeFpjTHJkTFlHcGRjb2p6S2lzMDl5blQrQy84OEl6UWVaUWdLdGpXZW1EMkNRbUw4T21KcTNTY2NxZnFFcWxOb2RmbjBDYTF3Q1lLQ0F5OEVCUVFGaDJiUklhSnNCM1poRkJSMFJkbmV3OUhLWmFBYUpSSHNYOXQyUnowaEtBVFpRdE5CVU1qSTZTd2pmMzJ1WkdSbEdhTnJyS3VUcGY5NFZHckxOeHVuc1RIVW5tVDY3YUZOcUZ5eVVsYk1lTlltaWErMkNBcSs0bTJUT1lKQ0d5UkVHQkJ3MnlmY01QTkRXVC96QTRNellJS2c0TkFHYkJzZVV4NGE1SnVyYjNVZ21keW9zZGRlWWxXQW9PWStXeFVxWUdQYmdWMVlCWVc4WVFObHlEbkh1YUpYVzc1SnlsNTRSeW9YclhTVm5rVDJCR3piSFlJQ2dvSjlLM09mSWgwRUJYMzEvWTQvVEFvbjdtWUZvblpUaFN5NzlURnBxSzZ4U3RlZWNZOUplMHJmWXc1dXo2ek44ZFZQdlNGYlB2Mm1UWHl5SWhBVWdpV1BvQkFzNzNRNVcwSjl3ZzJicGV6RmY5RW5iS2N4SUNnNEFFSlF3RVBCb1ZsMGlDamJnVjFZQlFWZFdZUE9QbGE2amhqc3V0NjJiOWdrbXo3NFFpb1hycEJhOVlOQzhJK0FiYnREVUVCUThLODF0czA1WFFTRjNFRjlaZWdGSjdXOXdIWml0cThybHhYM1BlZlpOSU9pYiswbHhVY2YyTTVaMng3V2k2UXQvTk9NdGdlU0dJT2dFQ3g4QklWZ2VhZlQyUWFyUG1GK0FuM0Mydlc2VC9pbGJGdTBuRDZoUThOQVVIQ0FncUNBb09EUUxIeUwybTNrUUprMFlhUVVkRzFhZ2Z2cmhhdmtqZGxmK0hhK2VCbmJEdXpDTENoMDZWTWt3MzU2ZXJ6TE5UN1dvTFlwMjc1bVEyU2JzaDJOalZKVHVrNGE2eHFNMDhjeXJGeTRUS3BYcm8xMXVNUEUyN2E3WkFrSytoNDlZc280R2RpM1o2UnVWcFdWeXh1enZwQ0tiZFdCMXhXTE1nYUhQRjBFQlUxczhMbkhTWDdKUUd0NERUVTFzdTdWT2JMNVAxOVpwNDBtMEc4Smk2ZE5zZHFGSjVwVy93M1RZb3pSY2lFb1JFa0U4eGRCSVJqT3NjNHlmRWl4VE5sM3JBd1oyRnZtemw4aE0rZk1sVTFiVW1NM0JDLzdoSTNiYTZXbVRQVUpHM2RJcEUrNGVyM28zU0VTRGRzV0xKZnFWV1dKWnBPVTlBZ0tEdGdSRkJBVUhKcUY1MUY2Y0hMRGxXZEdCaWl0TTE5VnRsRXV2UEpPMGVKQ2tNRjJZQmRtUVVGeksvN09RVkswLzdnZ0VWcWRxK3lsZDJYVGU1OWJwVWxIWTl0Mmx3eEI0Ykp6cHNuWkp4MnlVL2lMMW9NV0UvNDI0Mlc1OTRtM28xR0IvRVZRQ0FSejVDVHBKQ2gwS2U0cHd5NDV6VFc4K3FycXlLNVdGWE1YU2MycStHSm9SdWRzeVIzU1QvS1ZrRkF3YnBSa2QrL20rcng2eXNXaUcrNlR4dG82MTNuNGtSQkJ3UStxc2ZORVVJak54czhqWTBjTUZQMGJxQVgxMXVIK3A5NlJHKzk4WGlxcnRyYytGTHJ2ZlZXZnNFZUkrNFJyVlo5d1k0cjJDUkVVSEpvN2dnS0Nna096OERSS2l3a1AzM3lwYU8rRVdFRVBWRTc3NmQ4Q0ZSVnNCM1poRnhRNlpXVkd2QlE2RjNXUGhUbXA4UWdLVGZodDIxM1Fnb0lXL2s0NGVsTGN0bkx6dlMvTFg1V3dFRlJBVUFpS3RFZzZDUXFhbXUwZ09CN3A2dEsxYmQvTVpXUklkbUUzeVM3b0dpK3AxYkZWRDc4a1c3OWVZcFVtQ0dOYmxtd2JtVml0SUNna3hzOU42Z203RFpXbjcvaDUzS1FMbDVYSnRMT3ZsNGFHeHJoMnlUNFk5ajRoZ2tLeVc0akg1MGRRUUZEd3VFbTF5YzVrZ0tJVGFVK0ZxU2Y5cmsxNnZ5SnNCM1poRnhRMHA1eitmV1RvajArMjNrYlNMOGJOODBWUWFLSmgyKzZDRkJUMjMydGtSUHhyWG0reFBuL25uRDhHSmdBaUtNU3FCZS9qMDAxUXlNenRJc011TzFPeThwdW0yWGxQek5zY04zLzhsYXg1WnFhM21YcVVHNEtDUnlBTnMwRlFNQVRsb2RrLy8zcUpITEQzNkhaenZQV0IxK1RHdTE1bzF5N1pCcnBQV0tMNmhMYmJTQVpSYmdTRklDZ0hlQTRFQlFRRlA1dWI5azc0N0pVYmpFOXg0WlYzeWV1emduR0x0eDNZcFlLZ29FRVg3ck43NUsyY01mU0FETXRlZWtkTmVVak9laGtCWGFMUmFXemJYWkNDd2gxL09GK09PTEN0bTZmVGhUMzF5Z2Z5aStzZmREcmtlUnlDZ3VkSVkyYVlib0tDdnREOGtZTmw4Rm5IeHJ6bXNCeW9XYnRCbHQvK2hGcXpKdkg1eVg1Y0U0S0NIMVJqNTRtZ0VKdU5IMGNtN2pGTW5yenRjdU9zaDAyNTJOZzJtWVpoN1JPdWZWRk5lWGcvbVA2KzEveVo4dUJBRkVFQlFjR2hXWGdXWmZQR1U1ODBTRmRxMjRGZHFnZ0ttbVBCK05IUy84UWpRdVdwZ0llQ3JobmxVbjdlOFpJM2RFRFRGNFAvZ3hRVWxzejZoMEdKbWt5QzlDaENVREN1bG9RTjAxRlEwRkNLcDArVm9zbmpFK2JqVndZTk5kdGw2UzJQU3AzYXVqS3NBVUVoMkpwQlVBaVc5eFUvT2tZdStzR1J4aWM5KzRwYjVOMFA1eG5iSjlPdyszLzdoR0h5Vk1CRElaa3R3b2R6SXlnZ0tQalFySFptZWVMUis4dWZyenhqNS9mMlBnVDUxdE4yWUpkS2dvTG0zSFZNaVF3NDVVakp5TTV1RDNzZ3gvRlFhTUpzMis3Q0tpam9xd25xRFEyQ1FpQzNhT1FrNlNvbzZJdnJkOXhoVXJqM2JzSEJORHhUbzlwWlorVURMMGpWc3RXR0taSmpocUFRTEhjRWhXQjUzLzJuQytYUUEvWXdQdWtmYjN0VzduejRUV1A3WkJzMjlRbVBVbjNDckdRWEpYSitQQlJDVVEzZUZRSkJBVUhCdTliVU5pYzhGTm95Q1RLbWM2OGVNdkNNNmRKRi9VMTJ3RU9ocVFiU1JWQW9WV3VlVEFsb3pSTUVoZUR1M25RV0ZEVEZzSGtxMUZkV3k4cjducE9hTmV1RHEyU1haMEpRY0FuT1pUSUVCWmZnWENhNy9MenZ5TVZuSFdXYytxekxiNUZaSDZXR2gwTDBvblNmY0pEcUUrcS95UTU0S0NTN0JqdytQNElDZ29MSFRhcEZkcXloMEFKSFVyNTBVbXAwbnlNbVN3L2w3dHVwVTZla2xFR2ZGRUdoQ1gyWUJRWFdVUERuOXNnckdTQkR6ajNlT0hPOWJlQ0M2KzR5dHZmU01OMEZCYzJxKzRReHlsdmhVT21VbWVrbE91dThxdFZXbEtXUHZpSjFtN2RhcDAxR0FnU0ZZS2tqS0FUTGUrSWVKV29OaFN1TVR4cVVoNTV4Z1F3Tm8zM0N5QlN3SlBZSkVSUU1LeXhWekJBVUVCVDhicXVtdXp3RStjWlRYN1B0d0M3VnBqeTBydGZjd1gybHR4SVc4a3RpYjkvWk9vMlgzeEVVbW1qYXRyc2dwenpZZUJSTlBlbjNhbWVXY2krYlNNeTg4RkNJaWNiekF4MUJVTkRRY2dZV3F5bGhSMG5uSGdXZU16VEpzSHpXeDdMdXRUa21wcUd4UVZBSXRpb1FGSUxscmMvMndGOHVsZ1AzSGRQdWlmOXgvNnZ5bDd0ZmJOY3V6QWE2VDlqbmlBTkVDOTdKQ0FnS3lhRHU0emtSRkJBVWZHeGVrYXkxbDhJamY3OU14bzZJL2REYVdsa2pwMTd5MThDMm9kTUZzeDNZcGJxZ0VLM25MbjJLcE1la1BhWGJIaU1EM1VvTlFhR3BCbXpiWFpDQ2dpN2g3MzU2b3B4OTBzRk5oWTN4ZjVDTHArb2lJQ2pFcUFnZm9qdUtvQkJGMStmSUE2VG5sTDJqWDMzL1c3Vjh0WlE5OTdac1g3ZlI5M041ZlFJRUJhK0p4czhQUVNFK0h6K09qaDg3Uko2KzR4ZHgxeTZjdjJTMVREdjdEN0pqeHc0L2loQjRudEUrWVlIcUUyWUd1TDB1Z2tMZ1ZlM3ZDUkVVRUJUOGJXRk51V3RSNFgvVVFPV0VveWUxT1ozMlRMamd5anNERlJOMElXd0hkdWtpS0RTdmdMd2gvU1YzYUgvSkc5eFBja3Y2UzJibnpzMFBlL3FaUlJtYmNOcTJ1NkFGQlYzS2MwNCtSQzQ5WjdwMHk4OXAwUWEwOEhmTjM1NlVKMTk1djBXODMxOFFGUHdtdkN2L2ppWW82Q3ZQTGlxUW5nZE9WRk1oUmt1R1Q4L0F5c1VyWk1NN0gwdlZrbFc3WUtmWUp3U0ZZQ3NNUVNGWTN0R3pqUnJXWHk0N1o1b2NkZENFYU5UT3Z6TWVmMXR1dlBONXFkbGV0ek11blQ3b1BtR2U2aFBtcWo2aC9wdlJ4YjgrSVlzeXBsUExVZGRTc09kSTZkeTd5UGlxdHMxYnJCWVAybUJzSDNiRG5QNjlwWENpM2FyUFpTKytFN3JMMGgxdW03Qmg1Z2MyNXA3WkR1emJVNzQ5ZFp4b2dVR0hyeGVXeXV1emtyTVBiZmVKWXlXNzBOemRkY3VuODBLOXBaY1hsWlRUdjQ5Nkh2UlFYTHA1UHIrNGNzRXkwWE9HTzNxd2JYZFZTMWRKMWRMU3dMSHBlL1RiVThiTHdINU52dytyMW15TTNLc1YyNm9ETDR0MnljeXptS3BUdDdsQ3Rud3lML0J5eGpxaHZwKzZXL3pPN0tpcmsvSlpuOFRLenRkNHZRdENWdmR1eHVlbytIeSsxSlp2TnJZUHMyR25yTXpJN2pnRnV3K1gvQkdESlRPM3BhQm1VL2JHK25xcFhyRkdLaGV2RXYzYlVWOVJhWk04bExaNmxmaGM5UnRoR3FwV3F1dGZ1TUxVM0RPN3pKd3VVblJBMjhGZ3JCTTBKdkYraTFVbUhhOEZoY0s5ZDQ5bjB1WlkyUHFuZXI1K0wwc1BvUExabjBoamJmSUg3RU1IOWxiVEg4YUsvdnZsL0JVeWM4NWMyWnFFMzc4MmxSeGdoTzRUZHZHcFQ3Z3RoZnVFblVvT3ZDZzkvRk1DYkV5Y0NnSVFnQUFFSUFBQkNIUTBBbHBjMVcvcDlGdTdMc1U5MWNyb2hZN2I4R3J4b0ZaTllhZ3QzeUxiMTI5UzJ6K1dwclFuUWtlclo2NFhBaENBZ0EwQkJBVWJXdGhDQUFJUWdBQUVJQUFCQ0VBQUFoQ0FBQVFnRUNHQW9FQkRnQUFFSUFBQkNFQUFBaENBQUFRZ0FBRUlRTUNhQUlLQ05USVNRQUFDRUlBQUJDQUFBUWhBQUFJUWdBQUVJSUNnUUJ1QUFBUWdBQUVJUUFBQ0VJQUFCQ0FBQVFoQXdKb0Fnb0kxTWhKQUFBSVFnQUFFSUFBQkNFQUFBaENBQUFRZ2dLQkFHNEFBQkNBQUFRaEFBQUlRZ0FBRUlBQUJDRURBbWdDQ2dqVXlFa0FBQWhDQUFBUWdBQUVJUUFBQ0VJQUFCQ0NBb0VBYmdBQUVJQUFCQ0VBQUFoQ0FBQVFnQUFFSVFNQ2FBSUtDTlRJU1FBQUNFSUFBQkNBQUFRaEFBQUlRZ0FBRUlJQ2dRQnVBQUFRZ0FBRUlRQUFDRUlBQUJDQUFBUWhBd0pvQWdvSTFNaEpBQUFJUWdBQUVJQUFCQ0VBQUFoQ0FBQVFnZ0tCQUc0QUFCQ0FBQVFoQUFBSVFnQUFFSUFBQkNFREFtZ0NDZ2pVeUVrQUFBaENBQUFRZ0FBRUlRQUFDRUlBQUJDQ0FvRUFiZ0FBRUlBQUJDRUFBQWhDQUFBUWdBQUVJUU1DYUFJS0NOVElTUUFBQ0VJQUFCQ0FBQVFoQUFBSVFnQUFFSUlDZ1FCdUFBQVFnQUFFSVFBQUNFSUFBQkNBQUFRaEF3Sm9BZ29JMU1oSkFBQUlRZ0FBRUlBQUJDRUFBQWhDQUFBUWdnS0JBRzRBQUJDQUFBUWhBQUFJUWdBQUVJQUFCQ0VEQW1nQ0NnalV5RWtBQUFoQ0FBQVFnQUFFSVFBQUNFSUFBQkNDQW9FQWJnQUFFSUFBQkNFQUFBaENBQUFRZ0FBRUlRTUNhQUlLQ05USVNRQUFDRUlBQUJDQUFBUWhBQUFJUWdBQUVJSUNnUUJ1QUFBUWdBQUVJUUFBQ0VJQUFCQ0FBQVFoQXdKb0Fnb0kxTWhKQUFBSVFnQUFFSUFBQkNFQUFBaENBQUFRZ2dLQkFHNEFBQkNBQUFRaEFBQUlRZ0FBRUlBQUJDRURBbWdDQ2dqVXlFa0FBQWhDQUFBUWdBQUVJUUFBQ0VJQUFCQ0NBb0VBYmdBQUVJQUFCQ0VBQUFoQ0FBQVFnQUFFSVFNQ2FBSUtDTlRJU1FBQUNFSUFBQkNBQUFRaEFBQUlRZ0FBRUlJQ2dRQnVBQUFRZ0FBRUlRQUFDRUlBQUJDQUFBUWhBd0pvQWdvSTFNaEpBQUFJUWdBQUVJQUFCQ0VBQUFoQ0FBQVFnZ0tCQUc0QUFCQ0FBQVFoQUFBSVFnQUFFSUFBQkNFREFtZ0NDZ2pVeUVrQUFBaENBQUFRZ0FBRUlRQUFDRUlBQUJDQ0FvRUFiZ0FBRUlBQUJDRUFBQWhDQUFBUWdBQUVJUU1DYUFJS0NOVElTUUFBQ0VJQUFCQ0FBQVFoQUFBSVFnQUFFSUlDZ1FCdUFBQVFnQUFFSVFBQUNFSUFBQkNBQUFRaEF3Sm9BZ29JMU1oSkFBQUlRZ0FBRUlBQUJDRUFBQWhDQUFBUWdnS0JBRzRBQUJDQUFBUWhBQUFJUWdBQUVJQUFCQ0VEQW1nQ0NnalV5RWtBQUFoQ0FBQVFnQUFFSVFBQUNFSUFBQkNDQW9FQWJnQUFFSUFBQkNFQUFBaENBQUFRZ0FBRUlRTUNhQUlLQ05USVNRQUFDRUlBQUJDQUFBUWhBQUFJUWdBQUVJSUNnUUJ1QUFBUWdBQUVJUUFBQ0VJQUFCQ0FBQVFoQXdKb0Fnb0kxTWhKQUFBSVFnQUFFSUFBQkNFQUFBaENBQUFRZ2dLQkFHNEFBQkNBQUFRaEFBQUlRZ0FBRUlBQUJDRURBbWdDQ2dqVXlFa0FBQWhDQUFBUWdBQUVJUUFBQ0VJQUFCQ0NBb0VBYmdBQUVJQUFCQ0VBQUFoQ0FBQVFnQUFFSVFNQ2FBSUtDTlRJU1FBQUNFSUFBQkNBQUFRaEFBQUlRZ0FBRUlJQ2dRQnVBQUFRZ0FBRUlRQUFDRUlBQUJDQUFBUWhBd0pvQWdvSTFNaEpBQUFJUWdBQUVJQUFCQ0VBQUFoQ0FBQVFnZ0tCQUc0QUFCQ0FBQVFoQUFBSVFnQUFFSUFBQkNFREFtZ0NDZ2pVeUVrQUFBaENBQUFRZ0FBRUlRQUFDRUlBQUJDQ0FvRUFiZ0FBRUlBQUJDRUFBQWhDQUFBUWdBQUVJUU1DYUFJS0NOVElTUUFBQ0VJQUFCQ0FBQVFoQUFBSVFnQUFFSUlDZ1FCdUFBQVFnQUFFSVFBQUNFSUFBQkNBQUFRaEF3Sm9BZ29JMU1oSkFBTC9jYW13QUFBREhTVVJCVkFJUWdBQUVJQUFCQ0VBQUFoQ0FBQVFnZ0tCQUc0QUFCQ0FBQVFoQUFBSVFnQUFFSUFBQkNFREFtZ0NDZ2pVeUVrQUFBaENBQUFRZ0FBRUlRQUFDRUlBQUJDQ0FvRUFiZ0FBRUlBQUJDRUFBQWhDQUFBUWdBQUVJUU1DYUFJS0NOVElTUUFBQ0VJQUFCQ0FBQVFoQUFBSVFnQUFFSUlDZ1FCdUFBQVFnQUFFSVFBQUNFSUFBQkNBQUFRaEF3Sm9BZ29JMU1oSkFBQUlRZ0FBRUlBQUJDRUFBQWhDQUFBUWdnS0JBRzRBQUJDQUFBUWhBQUFJUWdBQUVJQUFCQ0VEQW1zRC9CMmt5ZThUSVc5NVZBQUFBQUVsRlRrU3VRbUNDXCI7XG4iXSwibmFtZXMiOlsibW9kdWxlIiwiZXhwb3J0cyIsImUiLCJuIiwiciIsImkiLCJzIiwidSIsImEiLCJvIiwiYyIsImYiLCJoIiwiZCIsImwiLCIkIiwieSIsIk0iLCJuYW1lIiwid2Vla2RheXMiLCJzcGxpdCIsIm1vbnRocyIsIm9yZGluYWwiLCJ0IiwibSIsIlN0cmluZyIsImxlbmd0aCIsIkFycmF5Iiwiam9pbiIsInYiLCJ6IiwidXRjT2Zmc2V0IiwiTWF0aCIsImFicyIsImZsb29yIiwiZGF0ZSIsInllYXIiLCJtb250aCIsImNsb25lIiwiYWRkIiwiY2VpbCIsInAiLCJ3IiwiRCIsIm1zIiwiUSIsInRvTG93ZXJDYXNlIiwicmVwbGFjZSIsImciLCJTIiwiXyIsIk8iLCJhcmdzIiwiYXJndW1lbnRzIiwiYiIsImxvY2FsZSIsIiRMIiwidXRjIiwiJHUiLCJ4IiwiJHgiLCIkb2Zmc2V0IiwidGhpcyIsInBhcnNlIiwicHJvdG90eXBlIiwiJGQiLCJEYXRlIiwiTmFOIiwidGVzdCIsIm1hdGNoIiwic3Vic3RyaW5nIiwiVVRDIiwiaW5pdCIsIiR5IiwiZ2V0RnVsbFllYXIiLCIkTSIsImdldE1vbnRoIiwiJEQiLCJnZXREYXRlIiwiJFciLCJnZXREYXkiLCIkSCIsImdldEhvdXJzIiwiJG0iLCJnZXRNaW51dGVzIiwiJHMiLCJnZXRTZWNvbmRzIiwiJG1zIiwiZ2V0TWlsbGlzZWNvbmRzIiwiJHV0aWxzIiwiaXNWYWxpZCIsInRvU3RyaW5nIiwiaXNTYW1lIiwic3RhcnRPZiIsImVuZE9mIiwiaXNBZnRlciIsImlzQmVmb3JlIiwiJGciLCJzZXQiLCJ1bml4IiwidmFsdWVPZiIsImdldFRpbWUiLCJ0b0RhdGUiLCJhcHBseSIsInNsaWNlIiwiJGxvY2FsZSIsIndlZWtTdGFydCIsIiRzZXQiLCJtaW4iLCJkYXlzSW5Nb250aCIsImdldCIsIk51bWJlciIsInJvdW5kIiwic3VidHJhY3QiLCJmb3JtYXQiLCJpbnZhbGlkRGF0ZSIsIm1lcmlkaWVtIiwibW9udGhzU2hvcnQiLCJ3ZWVrZGF5c01pbiIsIndlZWtkYXlzU2hvcnQiLCJnZXRUaW1lem9uZU9mZnNldCIsImRpZmYiLCJ0b0pTT04iLCJ0b0lTT1N0cmluZyIsInRvVVRDU3RyaW5nIiwiayIsImZvckVhY2giLCJleHRlbmQiLCIkaSIsImlzRGF5anMiLCJlbiIsIkxzIiwiX193ZWJwYWNrX21vZHVsZV9jYWNoZV9fIiwiX193ZWJwYWNrX3JlcXVpcmVfXyIsIm1vZHVsZUlkIiwiY2FjaGVkTW9kdWxlIiwidW5kZWZpbmVkIiwiX193ZWJwYWNrX21vZHVsZXNfXyIsImNhbGwiLCJnZXR0ZXIiLCJfX2VzTW9kdWxlIiwiZGVmaW5pdGlvbiIsImtleSIsIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZW51bWVyYWJsZSIsIm9iaiIsInByb3AiLCJoYXNPd25Qcm9wZXJ0eSIsImdsb2JhbFRoaXMiLCJTaGFkb3dSb290IiwiU2hhZHlDU1MiLCJuYXRpdmVTaGFkb3ciLCJEb2N1bWVudCIsIkNTU1N0eWxlU2hlZXQiLCJTeW1ib2wiLCJXZWFrTWFwIiwiY29uc3RydWN0b3IiLCJfJGNzc1Jlc3VsdCQiLCJFcnJvciIsImNzc1RleHQiLCJzdHlsZVNoZWV0IiwicmVwbGFjZVN5bmMiLCJyZWR1Y2UiLCJhZG9wdGVkU3R5bGVTaGVldHMiLCJtYXAiLCJkb2N1bWVudCIsImNyZWF0ZUVsZW1lbnQiLCJsaXROb25jZSIsInNldEF0dHJpYnV0ZSIsInRleHRDb250ZW50IiwiYXBwZW5kQ2hpbGQiLCJjc3NSdWxlcyIsImlzIiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwiZ2V0T3duUHJvcGVydHlOYW1lcyIsImdldE93blByb3BlcnR5U3ltYm9scyIsImdldFByb3RvdHlwZU9mIiwidHJ1c3RlZFR5cGVzIiwiZW1wdHlTY3JpcHQiLCJyZWFjdGl2ZUVsZW1lbnRQb2x5ZmlsbFN1cHBvcnQiLCJ0b0F0dHJpYnV0ZSIsIkJvb2xlYW4iLCJKU09OIiwic3RyaW5naWZ5IiwiZnJvbUF0dHJpYnV0ZSIsImF0dHJpYnV0ZSIsInR5cGUiLCJjb252ZXJ0ZXIiLCJyZWZsZWN0IiwiaGFzQ2hhbmdlZCIsIm1ldGFkYXRhIiwibGl0UHJvcGVydHlNZXRhZGF0YSIsIkhUTUxFbGVtZW50IiwiYWRkSW5pdGlhbGl6ZXIiLCJfJEVpIiwicHVzaCIsIm9ic2VydmVkQXR0cmlidXRlcyIsImZpbmFsaXplIiwiXyRFaCIsImtleXMiLCJjcmVhdGVQcm9wZXJ0eSIsInN0YXRlIiwiZWxlbWVudFByb3BlcnRpZXMiLCJub0FjY2Vzc29yIiwiZ2V0UHJvcGVydHlEZXNjcmlwdG9yIiwicmVxdWVzdFVwZGF0ZSIsImNvbmZpZ3VyYWJsZSIsImdldFByb3BlcnR5T3B0aW9ucyIsIk1hcCIsImZpbmFsaXplZCIsInByb3BlcnRpZXMiLCJfJEV1IiwiZWxlbWVudFN0eWxlcyIsImZpbmFsaXplU3R5bGVzIiwic3R5bGVzIiwiaXNBcnJheSIsIlNldCIsImZsYXQiLCJyZXZlcnNlIiwidW5zaGlmdCIsInN1cGVyIiwiXyRFcCIsImlzVXBkYXRlUGVuZGluZyIsImhhc1VwZGF0ZWQiLCJfJEVtIiwiXyRFdiIsIl8kRVMiLCJQcm9taXNlIiwiZW5hYmxlVXBkYXRpbmciLCJfJEFMIiwiXyRFXyIsImFkZENvbnRyb2xsZXIiLCJfJEVPIiwicmVuZGVyUm9vdCIsImlzQ29ubmVjdGVkIiwiaG9zdENvbm5lY3RlZCIsInJlbW92ZUNvbnRyb2xsZXIiLCJkZWxldGUiLCJzaXplIiwiY3JlYXRlUmVuZGVyUm9vdCIsInNoYWRvd1Jvb3QiLCJhdHRhY2hTaGFkb3ciLCJzaGFkb3dSb290T3B0aW9ucyIsImNvbm5lY3RlZENhbGxiYWNrIiwiZGlzY29ubmVjdGVkQ2FsbGJhY2siLCJob3N0RGlzY29ubmVjdGVkIiwiYXR0cmlidXRlQ2hhbmdlZENhbGxiYWNrIiwiXyRBSyIsIl8kRUMiLCJyZW1vdmVBdHRyaWJ1dGUiLCJQIiwiXyRFVCIsImhhcyIsIl8kRWoiLCJyZWplY3QiLCJzY2hlZHVsZVVwZGF0ZSIsInBlcmZvcm1VcGRhdGUiLCJ3cmFwcGVkIiwic2hvdWxkVXBkYXRlIiwid2lsbFVwZGF0ZSIsImhvc3RVcGRhdGUiLCJ1cGRhdGUiLCJfJEVVIiwiXyRBRSIsImhvc3RVcGRhdGVkIiwiZmlyc3RVcGRhdGVkIiwidXBkYXRlZCIsInVwZGF0ZUNvbXBsZXRlIiwiZ2V0VXBkYXRlQ29tcGxldGUiLCJtb2RlIiwiUmVhY3RpdmVFbGVtZW50IiwicmVhY3RpdmVFbGVtZW50VmVyc2lvbnMiLCJjcmVhdGVQb2xpY3kiLCJjcmVhdGVIVE1MIiwicmFuZG9tIiwidG9GaXhlZCIsImNyZWF0ZUNvbW1lbnQiLCJSZWdFeHAiLCJfJGxpdFR5cGUkIiwic3RyaW5ncyIsInZhbHVlcyIsIlQiLCJmb3IiLCJFIiwiQSIsIkMiLCJjcmVhdGVUcmVlV2Fsa2VyIiwiViIsImxhc3RJbmRleCIsImV4ZWMiLCJzdGFydHNXaXRoIiwiTiIsInBhcnRzIiwiZWwiLCJjdXJyZW50Tm9kZSIsImNvbnRlbnQiLCJmaXJzdENoaWxkIiwicmVwbGFjZVdpdGgiLCJjaGlsZE5vZGVzIiwibmV4dE5vZGUiLCJub2RlVHlwZSIsImhhc0F0dHJpYnV0ZXMiLCJnZXRBdHRyaWJ1dGVOYW1lcyIsImVuZHNXaXRoIiwiZ2V0QXR0cmlidXRlIiwiaW5kZXgiLCJjdG9yIiwiSCIsIkkiLCJMIiwidGFnTmFtZSIsImFwcGVuZCIsImRhdGEiLCJpbmRleE9mIiwiaW5uZXJIVE1MIiwiXyRDbyIsIl8kQ2wiLCJfJGxpdERpcmVjdGl2ZSQiLCJfJEFPIiwiXyRBVCIsIl8kQVMiLCJfJEFWIiwiXyRBTiIsIl8kQUQiLCJfJEFNIiwicGFyZW50Tm9kZSIsIl8kQVUiLCJjcmVhdGlvblNjb3BlIiwiaW1wb3J0Tm9kZSIsIlIiLCJuZXh0U2libGluZyIsIl8kQUkiLCJfJEN2IiwiXyRBSCIsIl8kQUEiLCJfJEFCIiwib3B0aW9ucyIsInN0YXJ0Tm9kZSIsImVuZE5vZGUiLCJfJEFSIiwiaXRlcmF0b3IiLCJpbnNlcnRCZWZvcmUiLCJjcmVhdGVUZXh0Tm9kZSIsIl8kQUMiLCJfJEFQIiwicmVtb3ZlIiwic2V0Q29ubmVjdGVkIiwiZWxlbWVudCIsImZpbGwiLCJqIiwidG9nZ2xlQXR0cmlidXRlIiwiY2FwdHVyZSIsIm9uY2UiLCJwYXNzaXZlIiwicmVtb3ZlRXZlbnRMaXN0ZW5lciIsImFkZEV2ZW50TGlzdGVuZXIiLCJoYW5kbGVFdmVudCIsImhvc3QiLCJsaXRIdG1sUG9seWZpbGxTdXBwb3J0IiwibGl0SHRtbFZlcnNpb25zIiwicmVuZGVyT3B0aW9ucyIsIl8kRG8iLCJyZW5kZXJCZWZvcmUiLCJyZW5kZXIiLCJfJGxpdFBhcnQkIiwiXyRsaXRFbGVtZW50JCIsImxpdEVsZW1lbnRIeWRyYXRlU3VwcG9ydCIsIkxpdEVsZW1lbnQiLCJsaXRFbGVtZW50UG9seWZpbGxTdXBwb3J0IiwibGl0RWxlbWVudFZlcnNpb25zIiwia2luZCIsIkNhdGVnb3J5IiwiQ2F0ZWdvcmllcyIsImNpbmVtYU1vdmllIiwibmV3c0l0ZW0iLCJuZXdzUHJlc2VudGVyIiwicmFkaW9Tb25nIiwic2hvd2JpenoiLCJzcG9ydHMiLCJ0ZWNoIiwidHZTaG93T3JTZXJpZXMiLCJVdGlsIiwiYXN5bmNGb3JlYWNoIiwiYXJyYXkiLCJjYWxsYmFjayIsInJlbW92ZUFsbENoaWxkcmVuIiwicGFyZW50RWxlbWVudCIsImNoaWxkVG9EZWxldGUiLCJsYXN0Q2hpbGQiLCJyZW1vdmVDaGlsZCIsInNodWZmbGVBcnJheSIsInNvcnQiLCJkb2JUb0dlbmVyYXRpb24iLCJkb2IiLCJBcGlTZXJ2aWNlIiwidGVlZUFwaVVybCIsImZldGNoT25lSW5jaWRlbnQiLCJwb3YiLCJjYXRlZ29yeSIsImVtb3Rpb24iLCJpbXBhY3QiLCJmcm9tIiwidG8iLCJtYXhMYXN0ZWQiLCJ2YXJpYW50IiwiYXN5bmMiLCJyZXNvbHZlIiwiY29uc29sZSIsImRlYnVnIiwicG92cyIsImNhdGVnb3JpZXMiLCJlbW90aW9ucyIsImltcGFjdHMiLCJkYXRlU3RyaW5nIiwiZnJvbVN0cmluZyIsIm1heExhc3RlZFN0cmluZyIsInZhcmlhbnRzIiwidXJscyIsInVybFNlYXJjaCIsIlVSTFNlYXJjaFBhcmFtcyIsImxpbWl0IiwidXJsIiwiVVJMIiwic2VhcmNoIiwiaW5jaWRlbnRzIiwicmVzcG9uc2UiLCJmZXRjaCIsImpzb24iLCJjb25jYXQiLCJyZXN1bHRzIiwiZmlyc3RJbmNpZGVudEluTGlzdCIsInNvdXJjZXNGb3VuZEluSW5jaWRlbnRzIiwiaW5jaWRlbnQiLCJzb3VyY2UiLCJzb3VyY2VzIiwicG9zdEF0dHJpYnV0ZVF1YWxpdHlGZWVkYmFjayIsImluY2lkZW50aWQiLCJ2YWx1ZSIsInJlbWFyayIsIm1ldGhvZCIsImhlYWRlcnMiLCJBY2NlcHQiLCJib2R5IiwicG9zdEluY2lkZW50RmVlZGJhY2siLCJpbmNpZGVudFJlY2FsbGFiaWxpdHkiLCJpc19jb3JyZWN0IiwiQ29udGVudEZlZWRiYWNrIiwiR2FtZVN0YXRlIiwiTkwiLCJIaW50VGVtcGxhdGVzIiwidHJhbnNsYXRlIiwiUXVlc3Rpb25TY29yZUNvbnRyb2xsZXIiLCJzdGFydFZhbHVlIiwidGltZW91dCIsInN0YXJ0IiwiX3RpbWVySUQiLCJzZXRJbnRlcnZhbCIsInN0b3AiLCJjbGVhckludGVydmFsIiwicmVzZXQiLCJpc1J1bm5pbmciLCJzZXRUaW1lb3V0Iiwid2luZG93IiwiTUlOX1lFQVIiLCJNQVhfWUVBUiIsInBhcnNlSW50IiwiR1RZX0ZST01fWUVBUl9WQVIiLCJHVFlfVE9fWUVBUl9WQVIiLCJHVFlfTlVNX1FVRVNUSU9OU19WQVIiLCJNSU5fRE9CIiwiR1RZX1BMQVlFUl9ET0JfVkFSIiwiR3Vlc3NUaGVZZWFyIiwibG9hZGluZyIsIl9sb2FkaW5nIiwicmVwb3J0QnJva2VuSW1hZ2VzIiwiY291bnRyeSIsImxvY2FsU3RvcmFnZSIsImdldEl0ZW0iLCJub0ltYWdlU3JjIiwic3VwcHJlc3NJbWFnZXMiLCJtYXhIaW50cyIsIm51bWJlck9mUXVlc3Rpb25zIiwiTUFYX1FVRVNUSU9OUyIsIl9udW1iZXJPZlF1ZXN0aW9uc1NlZW4iLCJfcGxheWVyRG9iIiwiX2luY2lkZW50IiwiX2Fuc3dlcnMiLCJfaGludCIsIl9zaG93SGludCIsIl9zaG93Rm9vdGVyIiwiX2hpbnRzSW5kZXgiLCJfaGludHMiLCJfc29sdXRpb24iLCJfcmVuZGVyU3RhdGUiLCJJTklUIiwiX3Njb3JlIiwidG90YWxTY29yZSIsIl9hbnN3ZXIiLCJfYXBpU2VydmljZSIsImkxOG4iLCJfaGFuZGxlSW1hZ2VMb2FkRXJyb3IiLCJldnQiLCJ0YXJnZXRJbWFnZSIsInRhcmdldCIsInNyYyIsImlkIiwiaW5jb3JyZWN0IiwiX3Njb3JlMCIsIlNQTEFTSCIsImNoYW5nZWRQcm9wZXJ0aWVzIiwicmVuZGVyU3BsYXNoU2NyZWVuIiwiSU5UUk8iLCJyZW5kZXJHYW1lSW50cm8iLCJQTEFZIiwicmVuZGVyR2FtZVN0YWdlIiwiRU5EIiwicmVuZGVyR2FtZUVuZCIsIl9yZW5kZXJGb290ZXIiLCJjb2xvckVsZW1lbnQiLCJjb2xvciIsInF1ZXJ5U2VsZWN0b3IiLCJzdHlsZSIsInNldFByb3BlcnR5IiwiX3JlbmRlckhlYWRlciIsIl9yZW5kZXJZZWFyU3RlcFhTZWxlY3RPcHRpb25zIiwic3RlcCIsInNlbGVjdGVkVmFsdWUiLCJzZWxlY3RlZCIsInNlbGVjdFllYXJPcHRpb25zIiwic2VsZWN0UXVlc3Rpb25PcHRpb25zIiwiX3NldFBsYXllckRvYiIsIl9zZXROdW1iZXJPZlF1ZXN0aW9ucyIsIl9zZXRGcm9tRGF0ZSIsIl9zZXRUb0RhdGUiLCJzZXR1cE5ld0dhbWUiLCJldmVudCIsInNldEl0ZW0iLCJfcmVuZGVyR2FtZVNjb3JlIiwiX3JlbmRlckluY2lkZW50IiwiX3JlbmRlckhpbnQiLCJyZW5kZXJTb3VyY2VzIiwiX3JlbmRlckhpbnRCdXR0b24iLCJfcmVuZGVyQW5zd2VycyIsIl9yZW5kZXJGZWVkYmFjayIsInRpdGxlIiwiX3JlbmRlckluY2lkZW50SW1hZ2UiLCJ0ZXh0IiwiX3Nob3VsZERpc3BsYXlBbkltYWdlIiwiaGFzSW1hZ2UiLCJpbWFnZSIsImRpc3BsYXlJbWFnZXMiLCJhbnN3ZXIiLCJfaGFuZGxlQW5zd2VyQ2xpY2tlZCIsIl9oYW5kbGVIaW50Q2xpY2tlZCIsImhpbnRUZXh0IiwiX2dlbmVyYXRlSGludFRleHQiLCJzY29yZSIsIl9yZW5kZXJOZXh0UXVlc3Rpb25CdXR0b24iLCJfbG9hZFF1ZXN0aW9uIiwiX2VuZEdhbWUiLCJfcmVzZXRTdGFnZSIsInllYXJwbHVzbW9udGgiLCJhbnN3ZXJzIiwicmFuZG9tQW5zd2VyIiwiaW5jbHVkZXMiLCJzaGlmdCIsImhpbnRJbmNpZGVudCIsImhpbnQiLCJoaW50VGVtcGxhdGVzIiwidHJhY2siLCJhcnRpc3QiLCJEYXlqcyIsImN1c3RvbUVsZW1lbnRzIiwiZGVmaW5lIl0sInNvdXJjZVJvb3QiOiIifQ==