@datagrok/eda 1.1.11 → 1.1.13

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/935.js DELETED
@@ -1,3 +0,0 @@
1
- /*! For license information please see 935.js.LICENSE.txt */
2
- (self.webpackChunkeda=self.webpackChunkeda||[]).push([[935],{7935:(t,e,n)=>{"use strict";class r extends Float32Array{}var i=n(1040),s=n(1811),o=n(3979),a=n(9657),h=n(708);function c(t,e){const n=t.trueCount()+e.trueCount();if(0==n)return 1;const r=t.andWithCountBits(e,!0);return r/(n-r)}function l(t){return 0===t?3402823e32:1/t-1}function u(t=!1,e="Assertion error."){if(!t)throw new Error(e)}i.gk.Tanimoto,i.gk.Dice,i.gk.Asymmetric,i.gk.BraunBlanquet,i.gk.Cosine,i.gk.Kulczynski,i.gk.McConnaughey,i.gk.RogotGoldberg,i.gk.Russel,i.gk.Sokal,i.gk.Hamming,i.gk.Euclidean,i.gk.Tanimoto,i.gk.Dice,i.gk.Asymmetric,i.gk.BraunBlanquet,i.gk.Cosine,i.gk.Kulczynski,i.gk.McConnaughey,i.gk.RogotGoldberg,i.gk.Russel,i.gk.Sokal,i.gk.Hamming,i.gk.Euclidean,i.gk.Tanimoto,i.gk.Dice,i.gk.Cosine,i.gk.Tanimoto,i.gk.Asymmetric,i.gk.Cosine,i.gk.Sokal,h.U.HAMMING,h.U.LEVENSHTEIN,h.U.MONOMER_CHEMICAL_DISTANCE,h.U.NEEDLEMANN_WUNSCH;const g={[i.CF.Euclidean]:function(t,e){let n=0;const r=t.length;if(r!==e.length)throw new Error("The dimensionality of the vectors must match");for(let i=0;i<r;++i)n+=Math.pow(t[i]-e[i],2);return Math.sqrt(n)}},f={[i.W.Levenshtein]:s.T,[i.W.JaroWinkler]:o.H$,[i.W.Manhattan]:function(t,e){if(t.length!==e.length)return 1;{let n=0;for(let r=1;r<t.length;r++)n+=t[r]==e[r]?0:1;return n/t.length}},[i.W.Onehot]:function(t,e){return t===e?0:1}},d={[i.gk.Tanimoto]:function(t,e){return l(c(t,e))},[i.gk.Dice]:function(t,e){return l(function(t,e){const n=t.trueCount()+e.trueCount();return 0==n?0:2*t.andWithCountBits(e,!0)/n}(t,e))},[i.gk.Asymmetric]:function(t,e){return l(function(t,e){const n=Math.min(t.trueCount(),e.trueCount());return 0==n?0:t.andWithCountBits(e,!0)/n}(t,e))},[i.gk.BraunBlanquet]:function(t,e){return l(function(t,e){const n=Math.max(t.trueCount(),e.trueCount());return 0==n?0:t.andWithCountBits(e,!0)/n}(t,e))},[i.gk.Cosine]:function(t,e){return l(function(t,e){const n=t.trueCount()*e.trueCount();return 0==n?0:t.andWithCountBits(e,!0)/Math.sqrt(n)}(t,e))},[i.gk.Kulczynski]:function(t,e){return l(function(t,e){const n=t.trueCount()+e.trueCount(),r=t.trueCount()*e.trueCount();return 0==r?0:t.andWithCountBits(e,!0)*n/(2*r)}(t,e))},[i.gk.McConnaughey]:function(t,e){return l(function(t,e){const n=t.trueCount()+e.trueCount(),r=t.trueCount()*e.trueCount();return 0==r?0:(t.andWithCountBits(e,!0)*n-r)/r}(t,e))},[i.gk.RogotGoldberg]:function(t,e){return l(function(t,e){const n=t.andWithCountBits(e,!0),r=t.countBits(!0)+e.countBits(!0),i=t.length,s=i-r+n;return n==i||s==i?1:n/r+s/(2*i-r)}(t,e))},[i.gk.Russel]:function(t,e){return l(function(t,e){return 0==t.length?0:t.andWithCountBits(e,!0)/t.length}(t,e))},[i.gk.Sokal]:function(t,e){return l(function(t,e){const n=t.trueCount()+e.trueCount(),r=t.andWithCountBits(e,!0);return r/(2*n-3*r)}(t,e))},[i.gk.Hamming]:function(t,e){return t.trueCount()+e.trueCount()-2*t.andWithCountBits(e,!0)},[i.gk.Euclidean]:function(t,e){return Math.sqrt(t.trueCount()+e.trueCount()-2*t.andWithCountBits(e,!0))}},m={[i.gd.TanimotoIntArray]:function(t,e){return l(c(new a.Z(t,32*t.length),new a.Z(e,32*e.length)))}},p={[i.Yc.Difference]:function(t,e){return Math.abs(t-e)}},w={[i.Qe.Vector]:{[i.CF.Euclidean]:g[i.CF.Euclidean]},[i.Qe.String]:{[i.W.Levenshtein]:f[i.W.Levenshtein],[i.W.JaroWinkler]:f[i.W.JaroWinkler],[i.W.Manhattan]:f[i.W.Manhattan],[i.W.Onehot]:f[i.W.Onehot]},[i.Qe.BitArray]:{[i.gk.Tanimoto]:d[i.gk.Tanimoto],[i.gk.Dice]:d[i.gk.Dice],[i.gk.Asymmetric]:d[i.gk.Asymmetric],[i.gk.BraunBlanquet]:d[i.gk.BraunBlanquet],[i.gk.Cosine]:d[i.gk.Cosine],[i.gk.Kulczynski]:d[i.gk.Kulczynski],[i.gk.McConnaughey]:d[i.gk.McConnaughey],[i.gk.RogotGoldberg]:d[i.gk.RogotGoldberg],[i.gk.Russel]:d[i.gk.Russel],[i.gk.Sokal]:d[i.gk.Sokal]},[i.Qe.MacroMolecule]:{[h.U.HAMMING]:h.o[h.U.HAMMING],[h.U.LEVENSHTEIN]:h.o[h.U.LEVENSHTEIN],[h.U.NEEDLEMANN_WUNSCH]:h.o[h.U.NEEDLEMANN_WUNSCH],[h.U.MONOMER_CHEMICAL_DISTANCE]:h.o[h.U.MONOMER_CHEMICAL_DISTANCE]},[i.Qe.Number]:{[i.Yc.Difference]:p[i.Yc.Difference]},[i.Qe.IntArray]:{[i.gd.TanimotoIntArray]:m[i.gd.TanimotoIntArray]}},y=Object.keys(w).reduce(((t,e)=>{for(const n of Object.keys(w[e]))t[n]=e;return t}),{});class k{method;dataType;constructor(t){this.method=t,this.dataType=y[t]}getMeasure(t){const e=w;if(!e.hasOwnProperty(this.dataType)||!e[this.dataType].hasOwnProperty(this.method))throw new Error(`Unknown measure ${this.method} for data type ${this.dataType}`);return n=this.method,y[n]==i.Qe.MacroMolecule.toString()?e[this.dataType][this.method](t):e[this.dataType][this.method];var n}static getMetricByDataType(t){return Object.keys(w[t])}static get availableMeasures(){return Object.keys(w)}}var M,x;(x=M||(M={})).EUCLIDEAN="EUCLIDEAN",x.MANHATTAN="MANHATTAN";const v=t=>null==t;function N(t,e,n,r){if(n>t[t.length-1])return;const i=t.findIndex((t=>n<t));t.pop(),t.splice(i,0,n),e.pop(),e.splice(i,0,r)}class C{_workers;_workerCount;_terminateOnComplete;constructor(t=!0,e=!0){const r=navigator.hardwareConcurrency;this._workerCount=t?Math.max(r-2,1):1,this._workers=new Array(this._workerCount).fill(null).map((()=>new Worker(new URL(n.p+n.u(100),n.b)))),this._terminateOnComplete=e}async calc(t,e,n=!0,r){return await this.calcMulti([t],[e],n,[r??{}],[1],M.MANHATTAN)}async calcMulti(t,e,n=!0,r=[{}],i=[1],s=M.MANHATTAN){if(t.length<1)throw new Error("values must contain at least one array");if(e.length!==t.length||r.length!==t.length||i.length!==t.length)throw new Error("values, fnNames, weights and opts must have the same length");return new Promise((async(o,a)=>{try{const a=t[0].length,h=new Array(this._workerCount),c=a*(a-1)/2;this._workerCount=Math.min(this._workerCount,c);const l=c/this._workerCount,u=new Float32Array(c);let g=0,f=1,d=0,m=Number.MIN_VALUE;for(let n=0;n<this._workerCount;n++){const o=Math.floor(n*l),p=n===this._workerCount-1?c:Math.floor((n+1)*l),w=g,y=f;n!==this._workerCount-1&&(g=a-2-Math.floor(Math.sqrt(-8*p+4*a*(a-1)-7)/2-.5),f=p-a*g+Math.floor((g+1)*(g+2)/2)),this._workers[n].postMessage({values:t,fnNames:e,startRow:w,startCol:y,chunckSize:p-o,opts:r,weights:i,aggregationMethod:s}),h[n]=new Promise(((t,e)=>{this._workers[n].onmessage=({data:{error:r,distanceMatrixData:i,min:s,max:a}})=>{this._terminateOnComplete&&setTimeout((()=>this._workers[n].terminate())),r?e(r):(u.set(i,o),s<d&&(d=s),a>m&&(m=a),t())}}))}await Promise.all(h),n&&u.forEach(((t,e)=>{u[e]=(t-d)/(m-d)})),o(u)}catch(t){a(t)}}))}terminate(){this._workers.forEach((t=>t.terminate()))}}function b(t,e){return Math.floor(e()*t)}function A(t){return t()}function E(t){const e=[];for(let n=0;n<t;n++)e.push(void 0);return e}function S(t){return E(t).map(((t,e)=>e))}function F(t,e){return E(t).map((()=>e))}function z(t){return F(t,0)}function D(t){return function(t){return t.reduce(((t,e)=>t+e))}(t)/t.length}function I(t){let e=0;for(let n=0;n<t.length;n++)e=t[n]>e?t[n]:e;return e}function R(t,e,n){const r=z(t);for(let i=0;i<t;i++){let t=!0;for(;t;){const s=b(e,n);let o=!1;for(let t=0;t<i;t++)if(s===r[t]){o=!0;break}o||(t=!1),r[i]=s}}return r}function _(t,e,n){const r=[];let i=0;if(t.length!==e*n)throw new Error("Array dimensions must match input length.");for(let s=0;s<e;s++){const e=[];for(let r=0;r<n;r++)e.push(t[i]),i+=1;r.push(e)}return r}function T(t,e){const n=n=>E(t).map((()=>F(e,n))),r=[];return r.push(n(-1)),r.push(n(1/0)),r.push(n(0)),r}function O(t,e,n){const r=z(t);for(let i=0;i<t;i++){let t=!0,s=0;for(;t;){s=b(e,n);let o=!1;for(let t=0;t<i;t++)if(s===r[t]){o=!0;break}o||(t=!1)}r[i]=s}return r}function P(t,e,n,r,i){e=Math.floor(e);const s=t[0][e];if(n>=t[1][e][0])return 0;for(let t=0;t<s.length;t++)if(r===s[t])return 0;return L(t,e,n,r,i)}function L(t,e,n,r,i){const s=t[0][e],o=t[1][e],a=t[2][e];if(n>=o[0])return 0;o[0]=n,s[0]=r,a[0]=i;let h=0,c=0;for(;;){const e=2*h+1,r=e+1,i=t[0][0].length;if(e>=i)break;if(r>=i){if(!(o[e]>n))break;c=e}else if(o[e]>=o[r]){if(!(n<o[e]))break;c=e}else{if(!(n<o[r]))break;c=r}o[h]=o[c],s[h]=s[c],a[h]=a[c],h=c}return o[h]=n,s[h]=r,a[h]=i,1}function W(t,e,n,r,i){const s=T(e,r);for(let r=0;r<e;r++)for(let e=0;e<n;e++){if(t[0][r][e]<0)continue;const n=t[0][r][e],o=t[2][r][e],a=A(i);P(s,r,a,n,o),P(s,n,a,r,o),t[2][r][e]=0}return s}function V(t){const e=t[0],n=t[1];for(let t=0;t<e.length;t++){const r=e[t],i=n[t];for(let t=0;t<r.length-1;t++){const e=r.length-t-1,n=i.length-t-1,s=r[0];r[0]=r[e],r[e]=s;const o=i[0];i[0]=i[n],i[n]=o,j(i,r,n,0)}}return{indices:e,weights:n}}function j(t,e,n,r){for(;2*r+1<n;){const i=2*r+1,s=i+1;let o=r;if(t[o]<t[i]&&(o=i),s<n&&t[o]<t[s]&&(o=s),o===r)break;{const n=t[r];t[r]=t[o],t[o]=n;const i=e[r];e[r]=e[o],e[o]=i,r=o}}}function B(t,e){const n=t[0][e],r=t[1][e],i=t[2][e];let s=1/0,o=-1;for(let t=0;t>n.length;t++)1===i[t]&&r[t]<s&&(s=r[t],o=t);return o>=0?(i[o]=0,Math.floor(n[o])):-1}class U{entries=new Map;nRows=0;nCols=0;constructor(t,e,n,r){if(t.length!==e.length||t.length!==n.length)throw new Error("rows, cols and values arrays must all have the same length");this.nRows=r[0],this.nCols=r[1];for(let r=0;r<n.length;r++){const i=t[r],s=e[r];this.checkDims(i,s);const o=this.makeKey(i,s);this.entries.set(o,{value:n[r],row:i,col:s})}}makeKey(t,e){return`${t}:${e}`}checkDims(t,e){if(!(t<this.nRows&&e<this.nCols))throw new Error("row and/or col specified outside of matrix dimensions")}set(t,e,n){this.checkDims(t,e);const r=this.makeKey(t,e);this.entries.has(r)?this.entries.get(r).value=n:this.entries.set(r,{value:n,row:t,col:e})}get(t,e,n=0){const r=this.makeKey(t,e);return this.entries.has(r)?this.entries.get(r).value:n}getAll(t=!0){const e=new Array(this.entries.size).fill(null);let n=0;return this.entries.forEach((t=>{e[n++]=t})),t&&e.sort(((t,e)=>t.row===e.row?t.col-e.col:t.row-e.row)),e}getDims(){return[this.nRows,this.nCols]}getRows(){return Array.from(this.entries,(([t,e])=>e.row))}getCols(){return Array.from(this.entries,(([t,e])=>e.col))}getValues(){return Array.from(this.entries,(([t,e])=>e.value))}forEach(t){this.entries.forEach((e=>t(e.value,e.row,e.col)))}map(t){const e=new Float32Array(this.entries.size);let n=0;this.entries.forEach((r=>{e[n++]=t(r.value,r.row,r.col)}));const r=[this.nRows,this.nCols];return new U(this.getRows(),this.getCols(),e,r)}toArray(){const t=E(this.nRows).map((()=>z(this.nCols)));return this.entries.forEach((e=>{t[e.row][e.col]=e.value})),t}}function q(t){const e=t.getRows(),n=t.getCols(),r=t.getValues(),i=n.length,s=new Int32Array(i),o=new Int32Array(i),a=new Float32Array(i);s.set(e),o.set(n),a.set(r);const h=[t.nCols,t.nRows];return new U(o,s,a,h)}function G(t,e){return Z(t,e,((t,e)=>t*e))}function Y(t,e){return Z(t,e,((t,e)=>t+e))}function H(t,e){return Z(t,e,((t,e)=>t-e))}function K(t,e){return t.map((t=>t*e))}function X(t){const e=new Set,n=t.getValues(),r=t.getRows(),i=t.getCols();for(let t=0;t<n.length;t++)0===n[t]&&e.add(t);const s=(t,n)=>!e.has(n),o=n.filter(s),a=r.filter(s),h=i.filter(s);return new U(a,h,o,t.getDims())}function $(t,e="l2"){const n=Q[e],r=new Map;t.forEach(((t,e,n)=>{const i=r.get(e)||[];i.push(n),r.set(e,i)}));const i=new U([],[],[],t.getDims());for(const e of r.keys()){const s=r.get(e).sort(),o=n(s.map((n=>t.get(e,n))));for(let t=0;t<o.length;t++)i.set(e,s[t],o[t])}return i}const Q={max:t=>{let e=-1/0;for(let n=0;n<t.length;n++)e=t[n]>e?t[n]:e;return t.map((t=>t/e))},l1:t=>{let e=0;for(let n=0;n<t.length;n++)e+=t[n];return t.map((t=>t/e))},l2:t=>{let e=0;for(let n=0;n<t.length;n++)e+=t[n]**2;return t.map((t=>Math.sqrt(t**2/e)))}};function Z(t,e,n){const r=new Set,i=[],s=[],o=[],a=(r,a)=>{i.push(r),s.push(a);const h=n(t.get(r,a),e.get(r,a));o.push(h)},h=t.getValues(),c=t.getRows(),l=t.getCols();for(let t=0;t<h.length;t++){const e=c[t],n=l[t],i=`${e}:${n}`;r.add(i),a(e,n)}const u=e.getValues(),g=e.getRows(),f=e.getCols();for(let t=0;t<u.length;t++){const e=g[t],n=f[t],i=`${e}:${n}`;r.has(i)||a(e,n)}const d=[t.nRows,t.nCols];return new U(i,s,o,d)}function J(t){const e=[];t.forEach(((t,n,r)=>{e.push({value:t,row:n,col:r})})),e.sort(((t,e)=>t.row===e.row?t.col-e.col:t.row-e.row));const n=[],r=[],i=[];let s=-1;for(let t=0;t<e.length;t++){const{row:o,col:a,value:h}=e[t];o!==s&&(s=o,i.push(t)),n.push(a),r.push(h)}return{indices:n,values:r,indptr:i}}class tt{hyperplanes;offsets;children;indices;constructor(t,e,n,r){this.hyperplanes=t,this.offsets=e,this.children=n,this.indices=r}}function et(t,e,n,r){const i=Math.max(10,e),s=S(n).map(((e,n)=>function(t,e=30,n,r){return nt(t,S(t.length),e,n,r)}(t,i,n,r))),o=s.map((t=>function(t,e){const n=it(t),r=st(t),i=S(n).map((()=>t.hyperplane?1:0)),s=z(n),o=S(n).map((()=>[-1,-1])),a=S(r).map((()=>S(e).map((()=>-1))));return rt(t,i,s,o,a,0,0),new tt(i,s,o,a)}(t,i)));return o}function nt(t,e,n=30,r,i){if(e.length>n){const s=function(t,e,n){const r=b(e.length,n);let i=b(e.length,n);i+=r===i?1:0,i%=e.length;const s=e[r],o=e[i];let a=0,h=0;h=t[s]-t[o],a-=h*(t[s]+t[o])/2;let c=0,l=0;const u=z(e.length);for(let r=0;r<e.length;r++){let i=a;i+=h*t[e[r]],0===i?(u[r]=b(2,n),0===u[r]?c+=1:l+=1):i>0?(u[r]=0,c+=1):(u[r]=1,l+=1)}const g=z(c),f=z(l);c=0,l=0;for(let t=0;t<u.length;t++)0===u[t]?(g[c]=e[t],c+=1):(f[l]=e[t],l+=1);return{indicesLeft:g,indicesRight:f,hyperplane:h,offset:a}}(t,e,i),{indicesLeft:o,indicesRight:a,hyperplane:h,offset:c}=s;return{leftChild:nt(t,o,n,r+1,i),rightChild:nt(t,a,n,r+1,i),isLeaf:!1,hyperplane:h,offset:c}}return{indices:e,isLeaf:!0}}function rt(t,e,n,r,i,s,o){if(t.isLeaf)return r[s][0]=-o,i[o].splice(0,t.indices.length,...t.indices),{nodeNum:s,leafNum:o+=1};{e[s]=t.hyperplane,n[s]=t.offset,r[s][0]=s+1;const a=s;let h=rt(t.leftChild,e,n,r,i,s+1,o);return s=h.nodeNum,o=h.leafNum,r[a][1]=s+1,h=rt(t.rightChild,e,n,r,i,s+1,o),{nodeNum:h.nodeNum,leafNum:h.leafNum}}}function it(t){return t.isLeaf?1:1+it(t.leftChild)+it(t.rightChild)}function st(t){return t.isLeaf?1:st(t.leftChild)+st(t.rightChild)}function ot(t,e,n,r){let i=e;return i+=t*n,0===i?b(2,r):i>0?0:1}function at(t,e,n){let r=0;for(;e.children[r][0]>0;)r=0===ot(e.hyperplanes[r],e.offsets[r],t,n)?e.children[r][0]:e.children[r][1];const i=-1*e.children[r][0];return e.indices[i]}var ht=n(7531),ct=n(1353),lt=n(4162);const ut=1e-5,gt=.001;class ft{learningRate=1;localConnectivity=1;minDist=.1;nComponents=2;nEpochs=0;nNeighbors=15;negativeSampleRate=5;random=Math.random;repulsionStrength=1;setOpMixRatio=1;spread=1;transformQueueSize=4;targetMetric="categorical";targetWeight=.5;targetNNeighbors=15;distanceFn=dt;knnIndices;knnDistances;graph;X;isInitialized=!1;rpForest=[];initFromRandom;initFromTree;search;searchGraph;Y;embedding=[];optimizationState=new mt;get neighbors(){return this.nNeighbors}constructor(t={}){const e=e=>{void 0!==t[e]&&(this[e]=t[e])};e("distanceFn"),e("learningRate"),e("localConnectivity"),e("minDist"),e("nComponents"),e("nEpochs"),e("nNeighbors"),e("negativeSampleRate"),e("random"),e("repulsionStrength"),e("setOpMixRatio"),e("spread"),e("transformQueueSize"),this.targetNNeighbors=t.nNeighbors||this.nNeighbors||this.targetNNeighbors}fit(t){return this.initializeFit(t),this.optimizeLayout(),this.embedding}async fitAsync(t,e=(()=>!0)){return this.initializeFit(t),await this.optimizeLayoutAsync(e),this.embedding}setSupervisedProjection(t,e={}){this.Y=t,this.targetMetric=e.targetMetric||this.targetMetric,this.targetWeight=e.targetWeight||this.targetWeight,this.targetNNeighbors=e.targetNNeighbors||this.targetNNeighbors}setPrecomputedKNN(t,e){this.knnIndices=t,this.knnDistances=e}initializeFit(t){if(t.length<=this.nNeighbors)throw new Error(`Not enough data points (${t.length}) to create nNeighbors: ${this.nNeighbors}. Add more data points or adjust the configuration.`);if(this.X===t&&this.isInitialized)return this.getNEpochs();if(this.X=t,!this.knnIndices&&!this.knnDistances){const e=this.nearestNeighbors(t);this.knnIndices=e.knnIndices,this.knnDistances=e.knnDistances}this.graph=this.fuzzySimplicialSet(t,this.nNeighbors,this.setOpMixRatio),this.makeSearchFns(),this.searchGraph=this.makeSearchGraph(t),this.processGraphForSupervisedProjection();const{head:e,tail:n,epochsPerSample:r}=this.initializeSimplicialSetEmbedding();return this.optimizationState.head=e,this.optimizationState.tail=n,this.optimizationState.epochsPerSample=r,this.initializeOptimization(),this.prepareForOptimizationLoop(),this.isInitialized=!0,this.getNEpochs()}makeSearchFns(){const{initFromTree:t,initFromRandom:e}=(n=this.distanceFn,{initFromRandom:function(t,e,r,i,s){for(let o=0;o<r.length;o++){const a=R(t,e.length,s);for(let t=0;t<a.length;t++)a[t]<0||P(i,o,n(e[a[t]],r[o]),a[t],1)}},initFromTree:function(t,e,r,i,s){for(let o=0;o<r.length;o++){const a=at(r[o],t,s);for(let t=0;t<a.length;t++){if(a[t]<0)return;P(i,o,n(e[a[t]],r[o]),a[t],1)}}}});var n;this.initFromTree=t,this.initFromRandom=e,this.search=function(t){return function(e,n,r,i){const{indices:s,indptr:o}=J(n);for(let n=0;n<i.length;n++){const a=new Set(r[0][n]);for(;;){const h=B(r,n);if(-1===h)break;const c=s.slice(o[h],o[h+1]);for(const s of c)s===h||-1===s||a.has(s)||(L(r,n,t(e[s],i[n]),s,1),a.add(s))}}return r}}(this.distanceFn)}makeSearchGraph(t){const e=this.knnIndices,n=this.knnDistances,r=[t.length,t.length],i=new U([],[],[],r);for(let t=0;t<e.length;t++){const r=e[t],s=n[t];for(let e=0;e<r.length;e++){const n=r[e],o=s[e];o>0&&i.set(t,n,o)}}return Z(i,q(i),((t,e)=>t>e?t:e))}transform(t){const e=this.X;if(void 0===e||0===e.length)throw new Error("No data has been fit.");let n=Math.floor(this.nNeighbors*this.transformQueueSize);n=Math.min(e.length,n);const r=function(t,e,n,r,i,s,o){const a=T(n.length,r);if(i(r,e,n,a,o),t)for(const r of t)s(r,e,n,a,o);return a}(this.rpForest,e,t,n,this.initFromRandom,this.initFromTree,this.random),i=this.search(e,this.searchGraph,r,t);let{indices:s,weights:o}=V(i);s=s.map((t=>t.slice(0,this.nNeighbors))),o=o.map((t=>t.slice(0,this.nNeighbors)));const a=Math.max(0,this.localConnectivity-1),{sigmas:h,rhos:c}=this.smoothKNNDistance(o,this.nNeighbors,a),{rows:l,cols:u,vals:g}=this.computeMembershipStrengths(s,o,h,c),f=[t.length,e.length];let d=new U(l,u,g,f);const m=J($(d,"l1")),p=t.length,w=function(t,e,n){const r=z(t.length).map((t=>z(n[0].length)));for(let i=0;i<t.length;i++)for(let s=0;s<t[0].length;s++)for(let o=0;o<n[0].length;o++){const a=t[i][s];r[i][o]+=e[i][s]*n[a][o]}return r}(_(m.indices,p,this.nNeighbors),_(m.values,p,this.nNeighbors),this.embedding),y=this.nEpochs?this.nEpochs/3:d.nRows<=1e4?100:30,k=d.getValues().reduce(((t,e)=>e>t?e:t),0);d=d.map((t=>t<k/y?0:t)),d=X(d);const M=this.makeEpochsPerSample(d.getValues(),y),x=d.getRows(),v=d.getCols();return this.assignOptimizationStateParameters({headEmbedding:w,tailEmbedding:this.embedding,head:x,tail:v,currentEpoch:0,nEpochs:y,nVertices:d.getDims()[1],epochsPerSample:M}),this.prepareForOptimizationLoop(),this.optimizeLayout()}processGraphForSupervisedProjection(){const{Y:t,X:e}=this;if(t){if(t.length!==e.length)throw new Error("Length of X and y must be equal");if("categorical"===this.targetMetric){const e=this.targetWeight<1?1/(1-this.targetWeight)*2.5:1e12;this.graph=this.categoricalSimplicialSetIntersection(this.graph,t,e)}}}step(){const{currentEpoch:t}=this.optimizationState;return t<this.getNEpochs()&&this.optimizeLayoutStep(t),this.optimizationState.currentEpoch}getEmbedding(){return this.embedding}nearestNeighbors(t){const{distanceFn:e,nNeighbors:n}=this,r=function(t,e){return function(n,r,i,s=10,o=50,a=.001,h=.5,c=!0){const l=n.length,u=T(n.length,i);for(let r=0;r<n.length;r++){const s=O(i,n.length,e);for(let e=0;e<s.length;e++){const i=t(n[r],n[s[e]]);P(u,r,i,s[e],1),P(u,s[e],i,r,1)}}if(c)for(let e=0;e<r.length;e++)for(let i=0;i<r[e].length&&!(r[e][i]<0);i++)for(let s=i+1;s<r[e].length&&!(r[e][s]<0);s++){const o=t(n[r[e][i]],n[r[e][s]]);P(u,r[e][i],o,r[e][s],1),P(u,r[e][s],o,r[e][i],1)}for(let r=0;r<s;r++){const r=W(u,l,i,o,e);let s=0;for(let i=0;i<l;i++)for(let a=0;a<o;a++){const c=Math.floor(r[0][i][a]);if(!(c<0||A(e)<h))for(let e=0;e<o;e++){const o=Math.floor(r[0][i][e]),h=r[2][i][a],l=r[2][i][e];if(o<0||!h&&!l)continue;const g=t(n[c],n[o]);s+=P(u,c,g,o,1),s+=P(u,o,g,c,1)}}if(s<=a*i*n.length)break}return V(u)}}(e,this.random),i=5+Math.floor(.5==(s=t.length**.5/20)?0:Math.round(s));var s;const o=Math.max(5,Math.floor(Math.round((t=>Math.log(t)/Math.log(2))(t.length))));this.rpForest=et(t,n,i,this.random);const a=function(t){if(t.length>0){const e=[];for(const n of t)e.push(...n.indices);return e}return[[-1]]}(this.rpForest),{indices:h,weights:c}=r(t,a,n,o);return{knnIndices:h,knnDistances:c}}fuzzySimplicialSet(t,e,n=1){const{knnIndices:r=[],knnDistances:i=[],localConnectivity:s}=this,{sigmas:o,rhos:a}=this.smoothKNNDistance(i,e,s),{rows:h,cols:c,vals:l}=this.computeMembershipStrengths(r,i,o,a),u=[t.length,t.length],g=new U(h,c,l,u),f=q(g),d=G(g,f),m=H(Y(g,f),d);return Y(K(m,n),K(d,1-n))}categoricalSimplicialSetIntersection(t,e,n,r=1){let i=function(t,e,n=1,r=5){return t.map(((t,i,s)=>-1===e[i]||-1===e[s]?t*Math.exp(-n):e[i]!==e[s]?t*Math.exp(-r):t))}(t,e,r,n);return i=X(i),function(t){const e=q(t=$(t,"max"));return X(t=Y(t,H(e,G(e,t))))}(i)}smoothKNNDistance(t,e,n=1,r=64,i=1){const s=Math.log(e)/Math.log(2)*i,o=z(t.length),a=z(t.length);for(let e=0;e<t.length;e++){let i=0,h=1/0,c=1;const l=t[e],u=l.filter((t=>t>0));if(u.length>=n){const t=Math.floor(n),r=n-t;t>0?(o[e]=u[t-1],r>ut&&(o[e]+=r*(u[t]-u[t-1]))):o[e]=r*u[0]}else u.length>0&&(o[e]=I(u));for(let n=0;n<r;n++){let n=0;for(let r=1;r<t[e].length;r++){const i=t[e][r]-o[e];n+=i>0?Math.exp(-i/c):1}if(Math.abs(n-s)<ut)break;n>s?(h=c,c=(i+h)/2):(i=c,h===1/0?c*=2:c=(i+h)/2)}if(a[e]=c,o[e]>0){const t=D(l);a[e]<gt*t&&(a[e]=gt*t)}else{const n=D(t.map(D));a[e]<gt*n&&(a[e]=gt*n)}}return{sigmas:a,rhos:o}}computeMembershipStrengths(t,e,n,r){const i=t.length,s=t[0].length,o=z(i*s),a=z(i*s),h=z(i*s);for(let c=0;c<i;c++)for(let i=0;i<s;i++){let l=0;-1!==t[c][i]&&(l=t[c][i]===c?0:e[c][i]-r[c]<=0?1:Math.exp(-(e[c][i]-r[c])/n[c]),o[c*s+i]=c,a[c*s+i]=t[c][i],h[c*s+i]=l)}return{rows:o,cols:a,vals:h}}initializeSimplicialSetEmbedding(){const t=this.getNEpochs(),{nComponents:e}=this,n=this.graph.getValues();let r=0;for(let t=0;t<n.length;t++){const e=n[t];r<n[t]&&(r=e)}const i=this.graph.map((e=>e<r/t?0:e));this.embedding=z(i.nRows).map((()=>z(e).map((()=>20*A(this.random)-10))));const s=[],o=[],a=[],h=i.getAll();for(let t=0;t<h.length;t++){const e=h[t];e.value&&(s.push(e.value),a.push(e.row),o.push(e.col))}return{head:o,tail:a,epochsPerSample:this.makeEpochsPerSample(s,t)}}makeEpochsPerSample(t,e){const n=F(t.length,-1),r=I(t),i=t.map((t=>t/r*e));return i.forEach(((t,r)=>{t>0&&(n[r]=e/i[r])})),n}assignOptimizationStateParameters(t){Object.assign(this.optimizationState,t)}prepareForOptimizationLoop(){const{repulsionStrength:t,learningRate:e,negativeSampleRate:n}=this,{epochsPerSample:r,headEmbedding:i,tailEmbedding:s}=this.optimizationState,o=i[0].length,a=i.length===s.length,h=r.map((t=>t/n)),c=[...h],l=[...r];this.assignOptimizationStateParameters({epochOfNextSample:l,epochOfNextNegativeSample:c,epochsPerNegativeSample:h,moveOther:a,initialAlpha:e,alpha:e,gamma:t,dim:o})}initializeOptimization(){const t=this.embedding,e=this.embedding,{head:n,tail:r,epochsPerSample:i}=this.optimizationState,s=this.getNEpochs(),o=this.graph.nCols,{a,b:h}=function(t,e){const n=function(t,e,n){return E(300).map(((t,n)=>0+n*((e-0)/299)))}(0,3*t).map((t=>t<e?1:t)),r=z(n.length).map(((r,i)=>n[i]>=e?Math.exp(-(n[i]-e)/t):r)),i={x:n,y:r},{parameterValues:s}=function(t,e,n={}){let{maxIterations:r=100,gradientDifference:i=.1,damping:s=0,errorTolerance:o=.01,minValues:a,maxValues:h,initialValues:c}=n;if(s<=0)throw new Error("The damping option must be a positive number");if(!t.x||!t.y)throw new Error("The data parameter must have x and y elements");if(!(0,ht.Z)(t.x)||t.x.length<2||!(0,ht.Z)(t.y)||t.y.length<2)throw new Error("The data parameter elements must be an array with more than 2 points");if(t.x.length!==t.y.length)throw new Error("The data parameter elements must have the same size");let l=c||new Array(e.length).fill(1),u=l.length;if(h=h||new Array(u).fill(Number.MAX_SAFE_INTEGER),a=a||new Array(u).fill(Number.MIN_SAFE_INTEGER),h.length!==a.length)throw new Error("minValues and maxValues must be the same size");if(!(0,ht.Z)(l))throw new Error("initialValues must be an array");let g,f=(0,ct.Z)(t,l,e),d=f<=o;for(g=0;g<r&&!d;g++){l=(0,lt.Z)(t,l,s,i,e);for(let t=0;t<u;t++)l[t]=Math.min(Math.max(a[t],l[t]),h[t]);if(f=(0,ct.Z)(t,l,e),isNaN(f))break;d=f<=o}return{parameterValues:l,parameterError:f,iterations:g}}(i,(([t,e])=>n=>1/(1+t*n**(2*e))),{damping:1.5,initialValues:[.5,.5],gradientDifference:.1,maxIterations:100,errorTolerance:.01}),[o,a]=s;return{a:o,b:a}}(this.spread,this.minDist);this.assignOptimizationStateParameters({headEmbedding:t,tailEmbedding:e,head:n,tail:r,epochsPerSample:i,a,b:h,nEpochs:s,nVertices:o})}optimizeLayoutStep(t){const{optimizationState:e}=this,{head:n,tail:r,headEmbedding:i,tailEmbedding:s,epochsPerSample:o,epochOfNextSample:a,epochOfNextNegativeSample:h,epochsPerNegativeSample:c,moveOther:l,initialAlpha:u,alpha:g,gamma:f,a:d,b:m,dim:p,nEpochs:w,nVertices:y}=e;for(let e=0;e<o.length;e++){if(a[e]>t)continue;const u=n[e],w=r[e],k=i[u],M=s[w],x=wt(k,M);let v=0;x>0&&(v=-2*d*m*Math.pow(x,m-1),v/=d*Math.pow(x,m)+1);for(let t=0;t<p;t++){const e=pt(v*(k[t]-M[t]),4);k[t]+=e*g,l&&(M[t]+=-e*g)}a[e]+=o[e];const N=Math.floor((t-h[e])/c[e]);for(let t=0;t<N;t++){const t=b(y,this.random),e=s[t],n=wt(k,e);let r=0;if(n>0)r=2*f*m,r/=(.001+n)*(d*Math.pow(n,m)+1);else if(u===t)continue;for(let t=0;t<p;t++){let n=4;r>0&&(n=pt(r*(k[t]-e[t]),4)),k[t]+=n*g}}h[e]+=N*c[e]}return e.alpha=u*(1-t/w),e.currentEpoch+=1,i}optimizeLayoutAsync(t=(()=>!0)){return new Promise(((e,n)=>{const r=async()=>{try{const{nEpochs:n,currentEpoch:i}=this.optimizationState;this.embedding=this.optimizeLayoutStep(i);const s=this.optimizationState.currentEpoch,o=!1===t(s),a=s===n;if(o||a)return e(a);setTimeout((()=>r()),0)}catch(t){n(t)}};setTimeout((()=>r()),0)}))}optimizeLayout(t=(()=>!0)){let e=!1,n=[];for(;!e;){const{nEpochs:r,currentEpoch:i}=this.optimizationState;n=this.optimizeLayoutStep(i);const s=this.optimizationState.currentEpoch,o=!1===t(s);e=s===r||o}return n}getNEpochs(){const t=this.graph;if(this.nEpochs>0)return this.nEpochs;if(!t)return 200;const e=t.nRows;return e<=2500?500:e<=5e3?400:e<=7500?300:200}}function dt(t,e){return Math.abs(t-e)}class mt{currentEpoch=0;headEmbedding=[];tailEmbedding=[];head=[];tail=[];epochsPerSample=[];epochOfNextSample=[];epochOfNextNegativeSample=[];epochsPerNegativeSample=[];moveOther=!0;initialAlpha=1;alpha=1;gamma=1;a=1.5769434603113077;b=.8950608779109733;dim=2;nEpochs=500;nVertices=0}function pt(t,e){return t>e?e:t<-e?-e:t}function wt(t,e){let n=0;for(let r=0;r<t.length;r++)n+=Math.pow(t[r]-e[r],2);return n}class yt{_workerCount;constructor(){this._workerCount=Math.max(navigator.hardwareConcurrency-2,1)}async calc(t,e,r,i={}){const s=t.length*(t.length-1)/2,o=Math.floor(s/this._workerCount),a=t.length>2e4?await this.getMinimalThreshold(t,e,i):0;r<a&&(console.log(`using threshold ${a}`),r=a),i.threshold=r;const h=new Array(this._workerCount),c=new Array(this._workerCount).fill(null).map((()=>new Worker(new URL(n.p+n.u(471),n.b))));for(let n=0;n<this._workerCount;n++)h[n]=new Promise(((a,h)=>{const l=n*o,u=n===this._workerCount-1?s:(n+1)*o;u<=l&&a({i:new Int32Array(0),j:new Int32Array(0),distance:new Float32Array(0),idx:n}),c[n].postMessage({values:t,startIdx:l,endIdx:u,threshold:r,fnName:e,opts:i}),c[n].onmessage=({data:{error:t,i:e,j:r,distance:i}})=>{t?(c[n].terminate(),h(t)):(c[n].terminate(),a({i:e,j:r,distance:i,idx:n}))}}));const l=await Promise.all(h),u=l.reduce(((t,e)=>t+e.i.length),0),g=new Int32Array(u),f=new Int32Array(u),d=new Float32Array(u);let m=0;for(const t of l)g.set(t.i,m),f.set(t.j,m),d.set(t.distance,m),m+=t.i.length;return{i:g,j:f,distance:d}}async getKNN(t,e,n=15,r={}){return await this.multiColumnKNN([t],[e],n,[r],[1])}async multiColumnKNN(t,e,r=15,i,s,o=M.EUCLIDEAN){if(t.length!==e.length||t.length!==i.length||t.length!==s.length)throw new Error("values, distance functions, options and weights arrays should have the same length");if(t.some((e=>e.length!==t[0].length)))throw new Error("all values arrays should have the same length");const a=t[0].length*(t[0].length-1)/2,h=Math.floor(a/this._workerCount),c=new Array(this._workerCount),l=new Array(this._workerCount).fill(null).map((()=>new Worker(new URL(n.p+n.u(664),n.b))));for(let n=0;n<this._workerCount;n++)c[n]=new Promise(((c,u)=>{const g=n*h,f=n===this._workerCount-1?a:(n+1)*h;f<=g&&c({knnDistances:new Array(0),knnIndexes:new Array(0)}),l[n].postMessage({values:t,startIdx:g,endIdx:f,fnNames:e,opts:i,nNeighbours:r,weights:s,aggregationMethod:o}),l[n].onmessage=({data:{error:t,knnDistances:e,knnIndexes:r}})=>{t?(l[n].terminate(),u(t)):(l[n].terminate(),c({knnDistances:e,knnIndexes:r}))}}));const u=await Promise.all(c),g={knnDistances:new Array(t[0].length).fill(null).map((()=>new Array(r).fill(99999))),knnIndexes:new Array(t[0].length).fill(null).map((()=>new Array(r).fill(-1)))};for(const e of u)for(let n=0;n<t[0].length;++n)for(let t=0;t<e.knnDistances[n]?.length;++t)N(g.knnDistances[n],g.knnIndexes[n],e.knnDistances[n][t],e.knnIndexes[n][t]);return g}async getSampleDistances(t,e,r={}){const i=new Array(this._workerCount).fill(null).map((()=>new Worker(new URL(n.p+n.u(118),n.b)))),s=t.slice();for(let t=s.length-1;t>0;t--){const e=Math.floor(Math.random()*(t+1));[s[t],s[e]]=[s[e],s[t]]}try{const n=t.length*(t.length-1)/2,o=Math.floor(n/this._workerCount),a=1e6,h=Math.max(Math.min(n/1e3,a),Math.min(n,a)),c=Math.floor(h/this._workerCount),l=new Array(this._workerCount);for(let t=0;t<this._workerCount;t++)l[t]=new Promise(((a,h)=>{const l=t*o,u=t===this._workerCount-1?n:(t+1)*o;i[t].postMessage({values:s,startIdx:l,endIdx:u,sampleLength:c,fnName:e,opts:r}),i[t].onmessage=({data:{error:e,distance:n}})=>{i[t].terminate(),e?h(e):a({distance:n})}}));const u=await Promise.all(l),g=u.reduce(((t,e)=>t+e.distance.length),0),f=new Float32Array(g);let d=0;for(const t of u)f.set(t.distance,d),d+=t.distance.length;return f.sort(),f}catch(t){return i?.forEach((t=>t?.terminate())),console.error(t),new Float32Array(1).fill(.5)}}async getMinimalThreshold(t,e,n={}){try{const r=t.length*(t.length-1)/2,i=await this.getSampleDistances(t,e,n);return 1-i[Math.floor(7e7/r*i.length)]}catch(t){return console.error(t),.5}}static calcSync(t,e,n,r){const s=[],o=[],a=[];let h=0,c=0,l=0;const u=t.length*(t.length-1)/2;for(;h<u;){const u=v(t[c])||v(t[l])?1:n(t[c],t[l]);(Object.values(i.gk).some((t=>t===e))?1/(1+u):1-u)>=r&&(s.push(c),o.push(l),a.push(u)),h++,l++,l===t.length&&(c++,l=c+1)}return{i:new Int32Array(s),j:new Int32Array(o),distance:new Float32Array(a)}}}var kt=n(6377),Mt=n.n(kt);class xt{perplexity;dim;epsilon;iter=0;N;P;Y;gains;ystep;random=Math.random;assert(t,e){if(!t)throw e||"Assertion failed"}getopt(t,e,n){return t.hasOwnProperty(e)?t[e]:n}returnV=!1;vValue=0;gaussRandom(){if(this.returnV)return this.returnV=!1,this.vValue;const t=2*this.random()-1,e=2*this.random()-1,n=t*t+e*e;if(0===n||n>1)return this.gaussRandom();const r=Math.sqrt(-2*Math.log(n)/n);return this.vValue=e*r,this.returnV=!0,t*r}randn(t,e){return t+this.gaussRandom()*e}zeros(t){if(void 0===t||isNaN(t))return new Float32Array;if("undefined"==typeof ArrayBuffer){const e=new Float32Array(t);for(let n=0;n<t;n++)e[n]=0;return e}return new Float32Array(t)}randn2d(t,e,n){const r=void 0!==n,i=new Array(t).fill(null).map((()=>new Float32Array(e)));if(r)for(let r=0;r<t;r++)i[r]=new Float32Array(e).fill(n);else for(let n=0;n<t;n++)for(let t=0;t<e;t++)i[n][t]=this.randn(0,1e-4);return i}l2(t,e){const n=t.length;let r=0;for(let i=0;i<n;i++){const n=t[i],s=e[i];r+=(n-s)*(n-s)}return r}xtod(t){const e=t.length,n=this.zeros(e*e);for(let r=0;r<e;r++)for(let i=r+1;i<e;i++){const s=this.l2(t[r],t[i]);n[r*e+i]=s,n[i*e+r]=s}return n}getIterSize(t){return t<=2e3?200:t<=3e3?150:t<=5e3?120:100}d2p(t,e,n,r){const i=(o=r,(t,e)=>o*t+e-Math.floor((t+2)*(t+1)/2)),s=new Float32Array(r*r);var o;for(let e=0;e<r;e++)for(let n=e+1;n<r;n++)s[e*r+n]=s[n*r+e]=t[i(e,n)];const a=r,h=Math.log(e),c=this.zeros(a*a),l=this.zeros(a);for(let t=0;t<a;t++){let e=-1/0,i=1/0,o=1,u=!1;const g=this.getIterSize(r)/10;let f=0;for(;!u;){let r=0;for(let e=0;e<a;e++){const n=t===e?0:Math.exp(-s[t*a+e]*o);l[e]=n,r+=n}let c=0;for(let t=0;t<a;t++){let e;e=0===r?0:l[t]/r,l[t]=e,e>1e-7&&(c-=e*Math.log(e))}c>h?(e=o,i===1/0?o*=2:o=(o+i)/2):(i=o,e===-1/0?o/=2:o=(o+e)/2),f++,Math.abs(c-h)<n&&(u=!0),f>=g&&(u=!0)}for(let e=0;e<a;e++)c[t*a+e]=l[e]}const u=this.zeros(a*a),g=2*a;for(let t=0;t<a;t++)for(let e=0;e<a;e++)u[t*a+e]=Math.max((c[t*a+e]+c[e*a+t])/g,1e-100);return u}sign(t){return t>0?1:t<0?-1:0}constructor(t){t=t||{},this.perplexity=this.getopt(t,"perplexity",30),this.dim=this.getopt(t,"dim",2),this.epsilon=this.getopt(t,"epsilon",10),this.random=this.getopt(t,"random",Math.random)}initDataRaw(t){const e=t.length,n=t[0].length;this.assert(e>0," X is empty? You must have some data!"),this.assert(n>0," X[0] is empty? Where is the data?");const r=this.xtod(t);this.P=this.d2p(r,this.perplexity,1e-4,n),this.N=e,this.initSolution()}initDataDist(t,e){const n=t.length;this.assert(n>0," X is empty? You must have some data!"),console.time("distances to matrix"),this.P=this.d2p(t,this.perplexity,1e-4,e),console.timeEnd("distances to matrix"),this.N=e,this.initSolution()}initSolution(){this.Y=this.randn2d(this.N,this.dim),this.gains=this.randn2d(this.N,this.dim,1),this.ystep=this.randn2d(this.N,this.dim,0),this.iter=0}getSolution(){return this.Y}step(){this.iter+=1;const t=this.N,e=this.costGrad(this.Y),n=e.cost,r=e.grad,i=this.zeros(this.dim);for(let e=0;e<t;e++)for(let t=0;t<this.dim;t++){const n=r[e][t],s=this.ystep[e][t],o=this.gains[e][t];let a=this.sign(n)===this.sign(s)?.8*o:o+.2;a<.01&&(a=.01),this.gains[e][t]=a;const h=(this.iter<250?.5:.8)*s-this.epsilon*a*r[e][t];this.ystep[e][t]=h,this.Y[e][t]+=h,i[t]+=this.Y[e][t]}for(let e=0;e<t;e++)for(let n=0;n<this.dim;n++)this.Y[e][n]-=i[n]/t;return n}debugGrad(){const t=this.N,e=this.costGrad(this.Y).grad,n=1e-5;for(let r=0;r<t;r++)for(let t=0;t<this.dim;t++){const i=this.Y[r][t];this.Y[r][t]=i+n;const s=this.costGrad(this.Y);this.Y[r][t]=i-n;const o=this.costGrad(this.Y),a=e[r][t],h=(s.cost-o.cost)/(2*n);console.log(r+","+t+": gradcheck analytic: "+a+" vs. numerical: "+h),this.Y[r][t]=i}}quArr;costGrad(t){const e=this.N,n=this.dim,r=this.P,i=this.iter<100?4:1;this.quArr??=this.zeros(e*e);let s=0;for(let r=0;r<e;r++)for(let i=r+1;i<e;i++){const o=1/(1+new Array(n).reduce(((e,n,s)=>e+Math.pow(t[r][s]-t[i][s],2)),0));this.quArr[r*e+i]=o,this.quArr[i*e+r]=o,s+=2*o}let o=0;const a=new Array(e).fill(null).map((()=>new Float32Array(n).fill(0)));for(let h=0;h<e;h++)for(let c=h+1;c<e;c++){const l=Math.max(this.quArr[h*e+c]/s,1e-100);o+=-r[h*e+c]*Math.log(l)*2;const u=4*(i*r[h*e+c]-l)*this.quArr[h*e+c];for(let e=0;e<n;e++)a[h][e]+=u*(t[h][e]-t[c][e]),a[c][e]+=u*(t[c][e]-t[h][e])}return{cost:o,grad:a}}}class vt{data;weights;aggregationMethod;constructor(t){this.data=t.data,this.weights=t.weights,this.aggregationMethod=t.aggregationMethod}}class Nt extends vt{reducer;iterations;distanceFnames;distanceFns;distanceFnArgs;progressFunc;constructor(t){super(t);const e=t.randomSeed??Date(),n=Mt()(e);t.random=n,this.reducer=new xt(t),this.iterations=t?.iterations??this.reducer.getIterSize(this.data[0].length),this.distanceFnames=t.distanceFnames,this.distanceFns=t.distanceFns,this.distanceFnArgs=t.distanceFnArgs,this.progressFunc=t.progressFunc}async transform(){if(this.data[0].length>1e4)throw new Error("Maximum number of samples for T-SNE is 10000");const t=new C(!0,!1);try{const e=await t.calcMulti(this.data,this.distanceFnames,!1,this.distanceFnArgs,this.weights,this.aggregationMethod);t.terminate(),this.reducer.initDataDist(e,this.data[0].length);for(let t=0;t<this.iterations;++t)this.reducer.step(),this.progressFunc&&this.progressFunc(t,this.iterations,[]);return this.reducer.getSolution()}catch(e){throw t.terminate(),e}}}class Ct extends vt{reducer;distanceFnames;distanceFns;vectors;progressFunc;distanceFnArgs;constructor(t){const e=t.randomSeed??Date(),n=Mt()(e);super(t),u("distanceFnames"in t),u("distanceFns"in t),this.distanceFnArgs=t.distanceFnArgs,this.distanceFns=t.distanceFns,this.progressFunc=t.progressFunc,this.distanceFnames=t.distanceFnames,this.vectors=new Array(this.data[0].length).fill(0).map(((t,e)=>e)),this.data[0].length<15&&(t.nNeighbors=this.data[0].length-1),t.random=n,this.reducer=new ft(t)}async transform(t){console.time("knn graph");const e=await(new yt).multiColumnKNN(this.data,this.distanceFnames,this.reducer.neighbors,this.distanceFnArgs,this.weights,this.aggregationMethod);console.timeEnd("knn graph"),this.reducer.setPrecomputedKNN(e.knnIndexes,e.knnDistances),await new Promise((t=>{setTimeout((()=>{t()}),300)}));const n=await this.reducer.fitAsync(this.vectors,(t=>{this.progressFunc&&this.progressFunc(t,this.reducer.getNEpochs(),this.reducer.getEmbedding())}));return i=n,new Array(i.length).fill(0).map(((t,e)=>r.from(i[e])));var i}}const bt={UMAP:Ct,"t-SNE":Nt};class At{reducer;constructor(t,e,n,r,i,s){const o=[];for(let e=0;e<n.length;++e){const r=new k(n[e]).getMeasure(s.distanceFnArgs[e]);o.push(r);let i=2048;for(let n=0;n<t[e].length;++n)if(t[e][n]&&t[e][n]._length){i=t[e][n]._length;break}if(h=n[e],"BitArray"==y[h])for(let n=0;n<t[e].length;++n)t[e][n]&&t[e][n]._data?t[e][n]=new a.Z(t[e][n]._data,t[e][n]._length):t[e][n]=new a.Z(i)}var h;"UMAP"==e?this.reducer=new Ct({data:t,distanceFnames:n,distanceFns:o,distanceFnArgs:s.distanceFnArgs,weights:r,aggregationMethod:i,...s}):"t-SNE"==e&&(this.reducer=new Nt({data:t,distanceFnames:n,distanceFns:o,distanceFnArgs:s.distanceFnArgs,weights:r,aggregationMethod:i,...s}))}async transform(t=!1){if(void 0===this.reducer)throw new Error("Reducer was not defined.");let e=await this.reducer.transform();var n;return t&&(n=e,e=new Array(n[0].length).fill(0).map(((t,e)=>new r(n.length).fill(0).map(((t,r)=>n[r][e]))))),e}static availableMetricsByType(t){return Object.keys(w[t])}static get availableMethods(){return Object.keys(bt)}static get availableMetrics(){let t=[];return Object.values(w).forEach((e=>{const n=Object.values(e);t=[...t,...n]})),t}}async function Et(t,e,n){t%5==0&&self.postMessage({epochNum:t,epochsLength:e,embedding:n})}self.onmessage=async({data:{columnsData:t,method:e,distanceMetrics:n,options:r,weights:i,aggregationMethod:s}})=>{let o;try{const a=await async function(t,e,n,r,i,s){const o=new At(t,e,n,r,i,{...s,progressFunc:Et});return await o.transform(!0)}(t,e,n,i,s,r);o={embedding:a}}catch(t){o={error:t}}self.postMessage({error:o.error,embedding:o.embedding})}},6377:(t,e,n)=>{var r=n(4832),i=n(8652),s=n(801),o=n(2030),a=n(3618),h=n(9049),c=n(1971);c.alea=r,c.xor128=i,c.xorwow=s,c.xorshift7=o,c.xor4096=a,c.tychei=h,t.exports=c},4832:function(t,e,n){var r;!function(t,i,s){function o(t){var e,n=this,r=(e=4022871197,function(t){t=String(t);for(var n=0;n<t.length;n++){var r=.02519603282416938*(e+=t.charCodeAt(n));r-=e=r>>>0,e=(r*=e)>>>0,e+=4294967296*(r-=e)}return 2.3283064365386963e-10*(e>>>0)});n.next=function(){var t=2091639*n.s0+2.3283064365386963e-10*n.c;return n.s0=n.s1,n.s1=n.s2,n.s2=t-(n.c=0|t)},n.c=1,n.s0=r(" "),n.s1=r(" "),n.s2=r(" "),n.s0-=r(t),n.s0<0&&(n.s0+=1),n.s1-=r(t),n.s1<0&&(n.s1+=1),n.s2-=r(t),n.s2<0&&(n.s2+=1),r=null}function a(t,e){return e.c=t.c,e.s0=t.s0,e.s1=t.s1,e.s2=t.s2,e}function h(t,e){var n=new o(t),r=e&&e.state,i=n.next;return i.int32=function(){return 4294967296*n.next()|0},i.double=function(){return i()+11102230246251565e-32*(2097152*i()|0)},i.quick=i,r&&("object"==typeof r&&a(r,n),i.state=function(){return a(n,{})}),i}i&&i.exports?i.exports=h:n.amdD&&n.amdO?void 0===(r=function(){return h}.call(e,n,e,i))||(i.exports=r):this.alea=h}(0,t=n.nmd(t),n.amdD)},9049:function(t,e,n){var r;!function(t,i,s){function o(t){var e=this,n="";e.next=function(){var t=e.b,n=e.c,r=e.d,i=e.a;return t=t<<25^t>>>7^n,n=n-r|0,r=r<<24^r>>>8^i,i=i-t|0,e.b=t=t<<20^t>>>12^n,e.c=n=n-r|0,e.d=r<<16^n>>>16^i,e.a=i-t|0},e.a=0,e.b=0,e.c=-1640531527,e.d=1367130551,t===Math.floor(t)?(e.a=t/4294967296|0,e.b=0|t):n+=t;for(var r=0;r<n.length+20;r++)e.b^=0|n.charCodeAt(r),e.next()}function a(t,e){return e.a=t.a,e.b=t.b,e.c=t.c,e.d=t.d,e}function h(t,e){var n=new o(t),r=e&&e.state,i=function(){return(n.next()>>>0)/4294967296};return i.double=function(){do{var t=((n.next()>>>11)+(n.next()>>>0)/4294967296)/(1<<21)}while(0===t);return t},i.int32=n.next,i.quick=i,r&&("object"==typeof r&&a(r,n),i.state=function(){return a(n,{})}),i}i&&i.exports?i.exports=h:n.amdD&&n.amdO?void 0===(r=function(){return h}.call(e,n,e,i))||(i.exports=r):this.tychei=h}(0,t=n.nmd(t),n.amdD)},8652:function(t,e,n){var r;!function(t,i,s){function o(t){var e=this,n="";e.x=0,e.y=0,e.z=0,e.w=0,e.next=function(){var t=e.x^e.x<<11;return e.x=e.y,e.y=e.z,e.z=e.w,e.w^=e.w>>>19^t^t>>>8},t===(0|t)?e.x=t:n+=t;for(var r=0;r<n.length+64;r++)e.x^=0|n.charCodeAt(r),e.next()}function a(t,e){return e.x=t.x,e.y=t.y,e.z=t.z,e.w=t.w,e}function h(t,e){var n=new o(t),r=e&&e.state,i=function(){return(n.next()>>>0)/4294967296};return i.double=function(){do{var t=((n.next()>>>11)+(n.next()>>>0)/4294967296)/(1<<21)}while(0===t);return t},i.int32=n.next,i.quick=i,r&&("object"==typeof r&&a(r,n),i.state=function(){return a(n,{})}),i}i&&i.exports?i.exports=h:n.amdD&&n.amdO?void 0===(r=function(){return h}.call(e,n,e,i))||(i.exports=r):this.xor128=h}(0,t=n.nmd(t),n.amdD)},3618:function(t,e,n){var r;!function(t,i,s){function o(t){var e=this;e.next=function(){var t,n,r=e.w,i=e.X,s=e.i;return e.w=r=r+1640531527|0,n=i[s+34&127],t=i[s=s+1&127],n^=n<<13,t^=t<<17,n^=n>>>15,t^=t>>>12,n=i[s]=n^t,e.i=s,n+(r^r>>>16)|0},function(t,e){var n,r,i,s,o,a=[],h=128;for(e===(0|e)?(r=e,e=null):(e+="\0",r=0,h=Math.max(h,e.length)),i=0,s=-32;s<h;++s)e&&(r^=e.charCodeAt((s+32)%e.length)),0===s&&(o=r),r^=r<<10,r^=r>>>15,r^=r<<4,r^=r>>>13,s>=0&&(o=o+1640531527|0,i=0==(n=a[127&s]^=r+o)?i+1:0);for(i>=128&&(a[127&(e&&e.length||0)]=-1),i=127,s=512;s>0;--s)r=a[i+34&127],n=a[i=i+1&127],r^=r<<13,n^=n<<17,r^=r>>>15,n^=n>>>12,a[i]=r^n;t.w=o,t.X=a,t.i=i}(e,t)}function a(t,e){return e.i=t.i,e.w=t.w,e.X=t.X.slice(),e}function h(t,e){null==t&&(t=+new Date);var n=new o(t),r=e&&e.state,i=function(){return(n.next()>>>0)/4294967296};return i.double=function(){do{var t=((n.next()>>>11)+(n.next()>>>0)/4294967296)/(1<<21)}while(0===t);return t},i.int32=n.next,i.quick=i,r&&(r.X&&a(r,n),i.state=function(){return a(n,{})}),i}i&&i.exports?i.exports=h:n.amdD&&n.amdO?void 0===(r=function(){return h}.call(e,n,e,i))||(i.exports=r):this.xor4096=h}(0,t=n.nmd(t),n.amdD)},2030:function(t,e,n){var r;!function(t,i,s){function o(t){var e=this;e.next=function(){var t,n,r=e.x,i=e.i;return t=r[i],n=(t^=t>>>7)^t<<24,n^=(t=r[i+1&7])^t>>>10,n^=(t=r[i+3&7])^t>>>3,n^=(t=r[i+4&7])^t<<7,t=r[i+7&7],n^=(t^=t<<13)^t<<9,r[i]=n,e.i=i+1&7,n},function(t,e){var n,r=[];if(e===(0|e))r[0]=e;else for(e=""+e,n=0;n<e.length;++n)r[7&n]=r[7&n]<<15^e.charCodeAt(n)+r[n+1&7]<<13;for(;r.length<8;)r.push(0);for(n=0;n<8&&0===r[n];++n);for(8==n?r[7]=-1:r[n],t.x=r,t.i=0,n=256;n>0;--n)t.next()}(e,t)}function a(t,e){return e.x=t.x.slice(),e.i=t.i,e}function h(t,e){null==t&&(t=+new Date);var n=new o(t),r=e&&e.state,i=function(){return(n.next()>>>0)/4294967296};return i.double=function(){do{var t=((n.next()>>>11)+(n.next()>>>0)/4294967296)/(1<<21)}while(0===t);return t},i.int32=n.next,i.quick=i,r&&(r.x&&a(r,n),i.state=function(){return a(n,{})}),i}i&&i.exports?i.exports=h:n.amdD&&n.amdO?void 0===(r=function(){return h}.call(e,n,e,i))||(i.exports=r):this.xorshift7=h}(0,t=n.nmd(t),n.amdD)},801:function(t,e,n){var r;!function(t,i,s){function o(t){var e=this,n="";e.next=function(){var t=e.x^e.x>>>2;return e.x=e.y,e.y=e.z,e.z=e.w,e.w=e.v,(e.d=e.d+362437|0)+(e.v=e.v^e.v<<4^t^t<<1)|0},e.x=0,e.y=0,e.z=0,e.w=0,e.v=0,t===(0|t)?e.x=t:n+=t;for(var r=0;r<n.length+64;r++)e.x^=0|n.charCodeAt(r),r==n.length&&(e.d=e.x<<10^e.x>>>4),e.next()}function a(t,e){return e.x=t.x,e.y=t.y,e.z=t.z,e.w=t.w,e.v=t.v,e.d=t.d,e}function h(t,e){var n=new o(t),r=e&&e.state,i=function(){return(n.next()>>>0)/4294967296};return i.double=function(){do{var t=((n.next()>>>11)+(n.next()>>>0)/4294967296)/(1<<21)}while(0===t);return t},i.int32=n.next,i.quick=i,r&&("object"==typeof r&&a(r,n),i.state=function(){return a(n,{})}),i}i&&i.exports?i.exports=h:n.amdD&&n.amdO?void 0===(r=function(){return h}.call(e,n,e,i))||(i.exports=r):this.xorwow=h}(0,t=n.nmd(t),n.amdD)},1971:function(t,e,n){var r;!function(i,s,o){var a,h=256,c=o.pow(h,6),l=o.pow(2,52),u=2*l,g=h-1;function f(t,e,n){var r=[],g=w(p((e=1==e?{entropy:!0}:e||{}).entropy?[t,y(s)]:null==t?function(){try{var t;return a&&(t=a.randomBytes)?t=t(h):(t=new Uint8Array(h),(i.crypto||i.msCrypto).getRandomValues(t)),y(t)}catch(t){var e=i.navigator,n=e&&e.plugins;return[+new Date,i,n,i.screen,y(s)]}}():t,3),r),f=new d(r),k=function(){for(var t=f.g(6),e=c,n=0;t<l;)t=(t+n)*h,e*=h,n=f.g(1);for(;t>=u;)t/=2,e/=2,n>>>=1;return(t+n)/e};return k.int32=function(){return 0|f.g(4)},k.quick=function(){return f.g(4)/4294967296},k.double=k,w(y(f.S),s),(e.pass||n||function(t,e,n,r){return r&&(r.S&&m(r,f),t.state=function(){return m(f,{})}),n?(o.random=t,e):t})(k,g,"global"in e?e.global:this==o,e.state)}function d(t){var e,n=t.length,r=this,i=0,s=r.i=r.j=0,o=r.S=[];for(n||(t=[n++]);i<h;)o[i]=i++;for(i=0;i<h;i++)o[i]=o[s=g&s+t[i%n]+(e=o[i])],o[s]=e;(r.g=function(t){for(var e,n=0,i=r.i,s=r.j,o=r.S;t--;)e=o[i=g&i+1],n=n*h+o[g&(o[i]=o[s=g&s+e])+(o[s]=e)];return r.i=i,r.j=s,n})(h)}function m(t,e){return e.i=t.i,e.j=t.j,e.S=t.S.slice(),e}function p(t,e){var n,r=[],i=typeof t;if(e&&"object"==i)for(n in t)try{r.push(p(t[n],e-1))}catch(t){}return r.length?r:"string"==i?t:t+"\0"}function w(t,e){for(var n,r=t+"",i=0;i<r.length;)e[g&i]=g&(n^=19*e[g&i])+r.charCodeAt(i++);return y(e)}function y(t){return String.fromCharCode.apply(0,t)}if(w(o.random(),s),t.exports){t.exports=f;try{a=n(5042)}catch(t){}}else void 0===(r=function(){return f}.call(e,n,e,t))||(t.exports=r)}("undefined"!=typeof self?self:this,[],Math)}}]);
3
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,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LEVBQUU3VCxRQUNIb1IsQ0FDVCxDQU1BLFNBQVN5QixFQUFRcEQsRUFBS3lFLEdBQ3BCLElBQXFDQyxFQUFqQzFxQixFQUFTLEdBQUkycUIsU0FBYzNFLEVBQy9CLEdBQUl5RSxHQUFnQixVQUFQRSxFQUNYLElBQUtELEtBQVExRSxFQUNYLElBQU1obUIsRUFBTzBILEtBQUswaEIsRUFBUXBELEVBQUkwRSxHQUFPRCxFQUFRLEdBQUssQ0FBRSxNQUFPdmpCLEdBQUksQ0FHbkUsT0FBUWxILEVBQU9FLE9BQVNGLEVBQWdCLFVBQVAycUIsRUFBa0IzRSxFQUFNQSxFQUFNLElBQ2pFLENBT0EsU0FBU21ELEVBQU8vQixFQUFNamxCLEdBRXBCLElBREEsSUFBNEJ5b0IsRUFBeEJDLEVBQWF6RCxFQUFPLEdBQVc3ZSxFQUFJLEVBQ2hDQSxFQUFJc2lCLEVBQVczcUIsUUFDcEJpQyxFQUFJNm1CLEVBQU96Z0IsR0FDVHlnQixHQUFTNEIsR0FBeUIsR0FBaEJ6b0IsRUFBSTZtQixFQUFPemdCLElBQVdzaUIsRUFBV3BELFdBQVdsZixLQUVsRSxPQUFPK2dCLEVBQVNubkIsRUFDbEIsQ0E2QkEsU0FBU21uQixFQUFTM2dCLEdBQ2hCLE9BQU80ZSxPQUFPdUQsYUFBYUMsTUFBTSxFQUFHcGlCLEVBQ3RDLENBZUEsR0FOQXdnQixFQUFPVCxFQUFLcGhCLFNBQVVtaEIsR0FNYTFCLEVBQU9DLFFBQVMsQ0FDakRELEVBQU9DLFFBQVVpQyxFQUVqQixJQUNFTixFQUFhLEVBQVEsS0FDdkIsQ0FBRSxNQUFPcUMsR0FBSyxDQUNoQixXQUMwQyxLQUF4QyxhQUFvQixPQUFPL0IsQ0FBYSwrQkFRekMsQ0E5TkQsQ0FpT21CLG9CQUFUN0MsS0FBd0JBLEtBQU8zakIsS0FDdkMsR0FDQXJDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vZWRhLy4vbm9kZV9tb2R1bGVzL0BkYXRhZ3Jvay1saWJyYXJpZXMvdXRpbHMvc3JjL3R5cGUtZGVjbGFyYXRpb25zLmpzIiwid2VicGFjazovL2VkYS8uL25vZGVfbW9kdWxlcy9AZGF0YWdyb2stbGlicmFyaWVzL21sL3NyYy9kaXN0YW5jZS1tZXRyaWNzLW1ldGhvZHMuanMiLCJ3ZWJwYWNrOi8vZWRhLy4vbm9kZV9tb2R1bGVzL0BkYXRhZ3Jvay1saWJyYXJpZXMvdXRpbHMvc3JjL3ZlY3Rvci1vcGVyYXRpb25zLmpzIiwid2VicGFjazovL2VkYS8uL25vZGVfbW9kdWxlcy9AZGF0YWdyb2stbGlicmFyaWVzL21sL3NyYy90eXBlZC1tZXRyaWNzL3R5cGVkLW1ldHJpY3MuanMiLCJ3ZWJwYWNrOi8vZWRhLy4vbm9kZV9tb2R1bGVzL0BkYXRhZ3Jvay1saWJyYXJpZXMvbWwvc3JjL2Rpc3RhbmNlLW1hdHJpeC90eXBlcy5qcyIsIndlYnBhY2s6Ly9lZGEvLi9ub2RlX21vZHVsZXMvQGRhdGFncm9rLWxpYnJhcmllcy9tbC9zcmMvZGlzdGFuY2UtbWF0cml4L3V0aWxzLmpzIiwid2VicGFjazovL2VkYS8uL25vZGVfbW9kdWxlcy9AZGF0YWdyb2stbGlicmFyaWVzL21sL3NyYy9kaXN0YW5jZS1tYXRyaXgvZGlzdGFuY2UtbWF0cml4LXNlcnZpY2UuanMiLCJ3ZWJwYWNrOi8vZWRhLy4vbm9kZV9tb2R1bGVzL0BkYXRhZ3Jvay1saWJyYXJpZXMvbWwvc3JjL3VtYXAvdXRpbHMuanMiLCJ3ZWJwYWNrOi8vZWRhLy4vbm9kZV9tb2R1bGVzL0BkYXRhZ3Jvay1saWJyYXJpZXMvbWwvc3JjL3VtYXAvaGVhcC5qcyIsIndlYnBhY2s6Ly9lZGEvLi9ub2RlX21vZHVsZXMvQGRhdGFncm9rLWxpYnJhcmllcy9tbC9zcmMvdW1hcC9tYXRyaXguanMiLCJ3ZWJwYWNrOi8vZWRhLy4vbm9kZV9tb2R1bGVzL0BkYXRhZ3Jvay1saWJyYXJpZXMvbWwvc3JjL3VtYXAvdHJlZS5qcyIsIndlYnBhY2s6Ly9lZGEvLi9ub2RlX21vZHVsZXMvQGRhdGFncm9rLWxpYnJhcmllcy9tbC9zcmMvdW1hcC91bWFwLmpzIiwid2VicGFjazovL2VkYS8uL25vZGVfbW9kdWxlcy9AZGF0YWdyb2stbGlicmFyaWVzL21sL3NyYy91bWFwL25uX2Rlc2NlbnQuanMiLCJ3ZWJwYWNrOi8vZWRhLy4vbm9kZV9tb2R1bGVzL21sLWxldmVuYmVyZy1tYXJxdWFyZHQvc3JjL2luZGV4LmpzIiwid2VicGFjazovL2VkYS8uL25vZGVfbW9kdWxlcy9AZGF0YWdyb2stbGlicmFyaWVzL21sL3NyYy9kaXN0YW5jZS1tYXRyaXgvc3BhcnNlLW1hdHJpeC1zZXJ2aWNlLmpzIiwid2VicGFjazovL2VkYS8uL25vZGVfbW9kdWxlcy9AZGF0YWdyb2stbGlicmFyaWVzL21sL3NyYy90LXNuZS90LXNuZS5qcyIsIndlYnBhY2s6Ly9lZGEvLi9ub2RlX21vZHVsZXMvQGRhdGFncm9rLWxpYnJhcmllcy9tbC9zcmMvZGlzdGFuY2UtbWF0cml4L3Byb3h5LmpzIiwid2VicGFjazovL2VkYS8uL25vZGVfbW9kdWxlcy9AZGF0YWdyb2stbGlicmFyaWVzL21sL3NyYy9tdWx0aS1jb2x1bW4tZGltZW5zaW9uYWxpdHktcmVkdWN0aW9uL211bHRpLWNvbHVtbi1kaW0tcmVkdWNlci5qcyIsIndlYnBhY2s6Ly9lZGEvLi9ub2RlX21vZHVsZXMvQGRhdGFncm9rLWxpYnJhcmllcy9tbC9zcmMvbXVsdGktY29sdW1uLWRpbWVuc2lvbmFsaXR5LXJlZHVjdGlvbi9tdWxpdC1jb2x1bW4tZGltLXJlZHVjZXItd29ya2VyLmpzIiwid2VicGFjazovL2VkYS8uL25vZGVfbW9kdWxlcy9zZWVkcmFuZG9tL2luZGV4LmpzIiwid2VicGFjazovL2VkYS8uL25vZGVfbW9kdWxlcy9zZWVkcmFuZG9tL2xpYi9hbGVhLmpzIiwid2VicGFjazovL2VkYS8uL25vZGVfbW9kdWxlcy9zZWVkcmFuZG9tL2xpYi90eWNoZWkuanMiLCJ3ZWJwYWNrOi8vZWRhLy4vbm9kZV9tb2R1bGVzL3NlZWRyYW5kb20vbGliL3hvcjEyOC5qcyIsIndlYnBhY2s6Ly9lZGEvLi9ub2RlX21vZHVsZXMvc2VlZHJhbmRvbS9saWIveG9yNDA5Ni5qcyIsIndlYnBhY2s6Ly9lZGEvLi9ub2RlX21vZHVsZXMvc2VlZHJhbmRvbS9saWIveG9yc2hpZnQ3LmpzIiwid2VicGFjazovL2VkYS8uL25vZGVfbW9kdWxlcy9zZWVkcmFuZG9tL2xpYi94b3J3b3cuanMiLCJ3ZWJwYWNrOi8vZWRhLy4vbm9kZV9tb2R1bGVzL3NlZWRyYW5kb20vc2VlZHJhbmRvbS5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIERlbm90ZXMgYSB2ZWN0b3Igb2YgZmxvYXRpbmcgcG9pdCB2YWx1ZXMuXG4gKlxuICogQGV4cG9ydFxuICogQGNsYXNzIFZlY3RvclxuICogQGV4dGVuZHMge0Zsb2F0MzJBcnJheX1cbiAqL1xuZXhwb3J0IGNsYXNzIFZlY3RvciBleHRlbmRzIEZsb2F0MzJBcnJheSB7XG59XG4vKipcbiAqIERlbm90ZXMgYSB0d28tZGltZW5zaW9uYWwgbWF0cml4LlxuICpcbiAqIEBleHBvcnRcbiAqIEBjbGFzcyBNYXRyaXhcbiAqIEBleHRlbmRzIHtBcnJheTxWZWN0b3I+fVxuICovXG5leHBvcnQgY2xhc3MgTWF0cml4IGV4dGVuZHMgQXJyYXkge1xufVxuLyoqXG4gKiBEZW5vdGVzIGNhcnRlc2lhbiBjb29yZGluYXRlcy5cbiAqXG4gKiBAZXhwb3J0XG4gKiBAY2xhc3MgQ29vcmRpbmF0ZXNcbiAqIEBleHRlbmRzIHtNYXRyaXh9XG4gKi9cbmV4cG9ydCBjbGFzcyBDb29yZGluYXRlcyBleHRlbmRzIE1hdHJpeCB7XG59XG4vKipcbiAqIERlbm90ZXMgYW4gYXJyYXkgb2YgYXJiaXRyYXJ5LXR5cGVkIHZlY3RvcnMuXG4gKlxuICogQGV4cG9ydFxuICogQGNsYXNzIFZlY3RvcnNcbiAqIEBleHRlbmRzIHtBcnJheTxhbnk+fVxuICovXG5leHBvcnQgY2xhc3MgVmVjdG9ycyBleHRlbmRzIEFycmF5IHtcbn1cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSm1hV3hsSWpvaWRIbHdaUzFrWldOc1lYSmhkR2x2Ym5NdWFuTWlMQ0p6YjNWeVkyVlNiMjkwSWpvaUlpd2ljMjkxY21ObGN5STZXeUowZVhCbExXUmxZMnhoY21GMGFXOXVjeTUwY3lKZExDSnVZVzFsY3lJNlcxMHNJbTFoY0hCcGJtZHpJam9pUVVGRlFUczdPenM3TzBkQlRVYzdRVUZEU0N4TlFVRk5MRTlCUVU4c1RVRkJUeXhUUVVGUkxGbEJRVms3UTBGQlJ6dEJRVVV6UXpzN096czdPMGRCVFVjN1FVRkRTQ3hOUVVGTkxFOUJRVThzVFVGQlR5eFRRVUZSTEV0QlFXRTdRMEZCUnp0QlFVVTFRenM3T3pzN08wZEJUVWM3UVVGRFNDeE5RVUZOTEU5QlFVOHNWMEZCV1N4VFFVRlJMRTFCUVUwN1EwRkJSenRCUVVVeFF6czdPenM3TzBkQlRVYzdRVUZEU0N4TlFVRk5MRTlCUVU4c1QwRkJVU3hUUVVGUkxFdEJRVlU3UTBGQlJ5SXNJbk52ZFhKalpYTkRiMjUwWlc1MElqcGJJbWx0Y0c5eWRDQXFJR0Z6SUVSSElHWnliMjBnSjJSaGRHRm5jbTlyTFdGd2FTOWtaeWM3WEc1Y2JpOHFLbHh1SUNvZ1JHVnViM1JsY3lCaElIWmxZM1J2Y2lCdlppQm1iRzloZEdsdVp5QndiMmwwSUhaaGJIVmxjeTVjYmlBcVhHNGdLaUJBWlhod2IzSjBYRzRnS2lCQVkyeGhjM01nVm1WamRHOXlYRzRnS2lCQVpYaDBaVzVrY3lCN1JteHZZWFF6TWtGeWNtRjVmVnh1SUNvdlhHNWxlSEJ2Y25RZ1kyeGhjM01nVm1WamRHOXlJR1Y0ZEdWdVpITWdSbXh2WVhRek1rRnljbUY1SUh0OVhHNWNiaThxS2x4dUlDb2dSR1Z1YjNSbGN5QmhJSFIzYnkxa2FXMWxibk5wYjI1aGJDQnRZWFJ5YVhndVhHNGdLbHh1SUNvZ1FHVjRjRzl5ZEZ4dUlDb2dRR05zWVhOeklFMWhkSEpwZUZ4dUlDb2dRR1Y0ZEdWdVpITWdlMEZ5Y21GNVBGWmxZM1J2Y2o1OVhHNGdLaTljYm1WNGNHOXlkQ0JqYkdGemN5Qk5ZWFJ5YVhnZ1pYaDBaVzVrY3lCQmNuSmhlVHhXWldOMGIzSStJSHQ5WEc1Y2JpOHFLbHh1SUNvZ1JHVnViM1JsY3lCallYSjBaWE5wWVc0Z1kyOXZjbVJwYm1GMFpYTXVYRzRnS2x4dUlDb2dRR1Y0Y0c5eWRGeHVJQ29nUUdOc1lYTnpJRU52YjNKa2FXNWhkR1Z6WEc0Z0tpQkFaWGgwWlc1a2N5QjdUV0YwY21sNGZWeHVJQ292WEc1bGVIQnZjblFnWTJ4aGMzTWdRMjl2Y21ScGJtRjBaWE1nWlhoMFpXNWtjeUJOWVhSeWFYZ2dlMzFjYmx4dUx5b3FYRzRnS2lCRVpXNXZkR1Z6SUdGdUlHRnljbUY1SUc5bUlHRnlZbWwwY21GeWVTMTBlWEJsWkNCMlpXTjBiM0p6TGx4dUlDcGNiaUFxSUVCbGVIQnZjblJjYmlBcUlFQmpiR0Z6Y3lCV1pXTjBiM0p6WEc0Z0tpQkFaWGgwWlc1a2N5QjdRWEp5WVhrOFlXNTVQbjFjYmlBcUwxeHVaWGh3YjNKMElHTnNZWE56SUZabFkzUnZjbk1nWlhoMFpXNWtjeUJCY25KaGVUeGhibmsrSUh0OVhHNWNiaThxS2x4dUlDb2dSR1Z1YjNSbGN5QmhJR1JwWTNScGIyNWhjbmtnWTI5dWRHRnBibWx1WnlCbWRXNWpkR2x2YmlCdmNIUnBiMjV6TGx4dUlDcGNiaUFxSUVCbGVIQnZjblJjYmlBcUlFQjBlWEJsSUU5d2RHbHZibk5jYmlBcUwxeHVaWGh3YjNKMElIUjVjR1VnVDNCMGFXOXVjeUE5SUh0YmJtRnRaVG9nYzNSeWFXNW5YVG9nWVc1NWZUdGNibHh1THlvcVhHNGdLaUJFWlc1dmRHVnpJR04xYzNSdmJTQmthWE4wWVc1alpTQnRaWFJ5YVdNZ1ltVjBkMlZsYmlCMGFHVWdkSGR2SUdkcGRtVnVJSFpsWTNSdmNuTXVYRzRnS2x4dUlDb2dRR1Y0Y0c5eWRGeHVJQ29nUUhSNWNHVWdSR2x6ZEdGdVkyVk5aWFJ5YVdOY2JpQXFJRUJ3WVhKaGJTQjdZVzU1ZlNCMk1TQlVhR1VnWm1seWMzUWdkbVZqZEc5eUxseHVJQ29nUUhCaGNtRnRJSHRoYm5sOUlIWXlJRlJvWlNCelpXTnZibVFnZG1WamRHOXlMbHh1SUNvZ1FISmxkSFZ5YmlCN2JuVnRZbVZ5ZlNCRWFYTjBZVzVqWlNCaVpYUjNaV1Z1SUhSb1pYTmxJSFIzYnlCMlpXTjBiM0p6TGx4dUlDb3ZYRzVsZUhCdmNuUWdkSGx3WlNCRWFYTjBZVzVqWlUxbGRISnBZeUE5SUNoMk1Ub2dZVzU1TENCMk1qb2dZVzU1S1NBOVBpQW9iblZ0WW1WeUtUdGNibHh1THlvcVhHNGdLaUJFWlc1dmRHVnpJR0VnYzJsdGNHeGxJSE4wY21sdVp5QjBieUJ6ZEhKcGJtY2daR2xqZEdsdmJtRnllUzVjYmlBcVhHNGdLaUJBWlhod2IzSjBYRzRnS2lCQWRIbHdaU0JUZEhKcGJtZEVhV04wYVc5dVlYSjVYRzRnS2k5Y2JtVjRjRzl5ZENCMGVYQmxJRk4wY21sdVowUnBZM1JwYjI1aGNua2dQU0I3VzJ0bGVUb2djM1J5YVc1blhUb2djM1J5YVc1bmZUdGNibHh1WEc1bGVIQnZjblFnZEhsd1pTQkRiMngxYlc1SmJuQjFkRTl3ZEdsdmJuTWdQU0I3WEc0Z0lDQWdabWxzZEdWeVB6b2dLR052YkRvZ1JFY3VRMjlzZFcxdUtTQTlQaUJpYjI5c1pXRnVJSHdnYm5Wc2JEdGNibjA3WEc0aVhYMD0iLCJpbXBvcnQgQml0QXJyYXkgZnJvbSAnQGRhdGFncm9rLWxpYnJhcmllcy91dGlscy9zcmMvYml0LWFycmF5JztcbmltcG9ydCB7IEJpdEFycmF5TWV0cmljc05hbWVzIH0gZnJvbSAnLi90eXBlZC1tZXRyaWNzL2NvbnN0cyc7XG5pbXBvcnQgeyBNbURpc3RhbmNlRnVuY3Rpb25zTmFtZXMgfSBmcm9tICcuL21hY3JvbW9sZWN1bGUtZGlzdGFuY2UtZnVuY3Rpb25zJztcbmV4cG9ydCBjb25zdCBzaW1pbGFyaXR5TWV0cmljID0ge1xuICAgIFtCaXRBcnJheU1ldHJpY3NOYW1lcy5UYW5pbW90b106IHRhbmltb3RvU2ltaWxhcml0eSxcbiAgICBbQml0QXJyYXlNZXRyaWNzTmFtZXMuRGljZV06IGRpY2VTaW1pbGFyaXR5LFxuICAgIFtCaXRBcnJheU1ldHJpY3NOYW1lcy5Bc3ltbWV0cmljXTogYXN5bW1ldHJpY1NpbWlsYXJpdHksXG4gICAgW0JpdEFycmF5TWV0cmljc05hbWVzLkJyYXVuQmxhbnF1ZXRdOiBicmF1bkJsYW5xdWV0U2ltaWxhcml0eSxcbiAgICBbQml0QXJyYXlNZXRyaWNzTmFtZXMuQ29zaW5lXTogY29zaW5lU2ltaWxhcml0eSxcbiAgICBbQml0QXJyYXlNZXRyaWNzTmFtZXMuS3VsY3p5bnNraV06IGt1bGN6eW5za2lTaW1pbGFyaXR5LFxuICAgIFtCaXRBcnJheU1ldHJpY3NOYW1lcy5NY0Nvbm5hdWdoZXldOiBtY0Nvbm5hdWdoZXlTaW1pbGFyaXR5LFxuICAgIFtCaXRBcnJheU1ldHJpY3NOYW1lcy5Sb2dvdEdvbGRiZXJnXTogcm9nb3RHb2xkYmVyZ1NpbWlsYXJpdHksXG4gICAgW0JpdEFycmF5TWV0cmljc05hbWVzLlJ1c3NlbF06IHJ1c3NlbFNpbWlsYXJpdHksXG4gICAgW0JpdEFycmF5TWV0cmljc05hbWVzLlNva2FsXTogc29rYWxTaW1pbGFyaXR5LFxuICAgIFtCaXRBcnJheU1ldHJpY3NOYW1lcy5IYW1taW5nXTogaGFtbWluZ1NpbWlsYXJpdHksXG4gICAgW0JpdEFycmF5TWV0cmljc05hbWVzLkV1Y2xpZGVhbl06IGV1Y2xpZGVhblNpbWlsYXJpdHksXG59O1xuZXhwb3J0IGNvbnN0IGRpc3RhbmNlTWV0cmljcyA9IHtcbiAgICBbQml0QXJyYXlNZXRyaWNzTmFtZXMuVGFuaW1vdG9dOiB0YW5pbW90b0Rpc3RhbmNlLFxuICAgIFtCaXRBcnJheU1ldHJpY3NOYW1lcy5EaWNlXTogZGljZURpc3RhbmNlLFxuICAgIFtCaXRBcnJheU1ldHJpY3NOYW1lcy5Bc3ltbWV0cmljXTogYXN5bW1ldHJpY0Rpc3RhbmNlLFxuICAgIFtCaXRBcnJheU1ldHJpY3NOYW1lcy5CcmF1bkJsYW5xdWV0XTogYnJhdW5CbGFucXVldERpc3RhbmNlLFxuICAgIFtCaXRBcnJheU1ldHJpY3NOYW1lcy5Db3NpbmVdOiBjb3NpbmVEaXN0YW5jZSxcbiAgICBbQml0QXJyYXlNZXRyaWNzTmFtZXMuS3VsY3p5bnNraV06IGt1bGN6eW5za2lEaXN0YW5jZSxcbiAgICBbQml0QXJyYXlNZXRyaWNzTmFtZXMuTWNDb25uYXVnaGV5XTogbWNDb25uYXVnaGV5RGlzdGFuY2UsXG4gICAgW0JpdEFycmF5TWV0cmljc05hbWVzLlJvZ290R29sZGJlcmddOiByb2dvdEdvbGRiZXJnRGlzdGFuY2UsXG4gICAgW0JpdEFycmF5TWV0cmljc05hbWVzLlJ1c3NlbF06IHJ1c3NlbERpc3RhbmNlLFxuICAgIFtCaXRBcnJheU1ldHJpY3NOYW1lcy5Tb2thbF06IHNva2FsRGlzdGFuY2UsXG4gICAgW0JpdEFycmF5TWV0cmljc05hbWVzLkhhbW1pbmddOiBoYW1taW5nRGlzdGFuY2UsXG4gICAgW0JpdEFycmF5TWV0cmljc05hbWVzLkV1Y2xpZGVhbl06IGV1Y2xpZGVhbkRpc3RhbmNlLFxufTtcbmV4cG9ydCBjb25zdCBDSEVNX1NJTUlMQVJJVFlfTUVUUklDUyA9IFtcbiAgICBCaXRBcnJheU1ldHJpY3NOYW1lcy5UYW5pbW90byxcbiAgICBCaXRBcnJheU1ldHJpY3NOYW1lcy5EaWNlLFxuICAgIEJpdEFycmF5TWV0cmljc05hbWVzLkNvc2luZVxuXTtcbmV4cG9ydCBjb25zdCBTRVFfU1BBQ0VfU0lNSUxBUklUWV9NRVRSSUNTID0gW1xuICAgIEJpdEFycmF5TWV0cmljc05hbWVzLlRhbmltb3RvLFxuICAgIEJpdEFycmF5TWV0cmljc05hbWVzLkFzeW1tZXRyaWMsXG4gICAgQml0QXJyYXlNZXRyaWNzTmFtZXMuQ29zaW5lLFxuICAgIEJpdEFycmF5TWV0cmljc05hbWVzLlNva2FsXG5dO1xuZXhwb3J0IGNvbnN0IE1BQ1JPTU9MRUNVTEVfU0lNSUxBUklUWV9NRVRSSUNTID0gW1xuICAgIE1tRGlzdGFuY2VGdW5jdGlvbnNOYW1lcy5IQU1NSU5HLFxuICAgIE1tRGlzdGFuY2VGdW5jdGlvbnNOYW1lcy5MRVZFTlNIVEVJTixcbiAgICBNbURpc3RhbmNlRnVuY3Rpb25zTmFtZXMuTU9OT01FUl9DSEVNSUNBTF9ESVNUQU5DRSxcbiAgICBNbURpc3RhbmNlRnVuY3Rpb25zTmFtZXMuTkVFRExFTUFOTl9XVU5TQ0hcbl07XG5leHBvcnQgZnVuY3Rpb24gdGFuaW1vdG9TaW1pbGFyaXR5KHgsIHkpIHtcbiAgICBjb25zdCB0b3RhbCA9IHgudHJ1ZUNvdW50KCkgKyB5LnRydWVDb3VudCgpO1xuICAgIGlmICh0b3RhbCA9PSAwKVxuICAgICAgICByZXR1cm4gMS4wO1xuICAgIGNvbnN0IGNvbW1vbiA9IHguYW5kV2l0aENvdW50Qml0cyh5LCB0cnVlKTtcbiAgICByZXR1cm4gY29tbW9uIC8gKHRvdGFsIC0gY29tbW9uKTtcbn1cbmV4cG9ydCBmdW5jdGlvbiB0YW5pbW90b0Rpc3RhbmNlKHgsIHkpIHtcbiAgICByZXR1cm4gZ2V0RGlzdGFuY2VGcm9tU2ltaWxhcml0eSh0YW5pbW90b1NpbWlsYXJpdHkoeCwgeSkpO1xufVxuZXhwb3J0IGZ1bmN0aW9uIHRhbmltb3RvRGlzdGFuY2VJbnRBcnJheSh4LCB5KSB7XG4gICAgY29uc3QgeGIgPSBuZXcgQml0QXJyYXkoeCwgeC5sZW5ndGggKiAzMik7XG4gICAgY29uc3QgeWIgPSBuZXcgQml0QXJyYXkoeSwgeS5sZW5ndGggKiAzMik7XG4gICAgcmV0dXJuIGdldERpc3RhbmNlRnJvbVNpbWlsYXJpdHkodGFuaW1vdG9TaW1pbGFyaXR5KHhiLCB5YikpO1xufVxuZXhwb3J0IGZ1bmN0aW9uIGRpY2VTaW1pbGFyaXR5KHgsIHkpIHtcbiAgICBjb25zdCB0b3RhbCA9IHgudHJ1ZUNvdW50KCkgKyB5LnRydWVDb3VudCgpO1xuICAgIGlmICh0b3RhbCA9PSAwKVxuICAgICAgICByZXR1cm4gMC4wO1xuICAgIGNvbnN0IGNvbW1vbiA9IHguYW5kV2l0aENvdW50Qml0cyh5LCB0cnVlKTtcbiAgICByZXR1cm4gMiAqIGNvbW1vbiAvIHRvdGFsO1xufVxuZXhwb3J0IGZ1bmN0aW9uIGRpY2VEaXN0YW5jZSh4LCB5KSB7XG4gICAgcmV0dXJuIGdldERpc3RhbmNlRnJvbVNpbWlsYXJpdHkoZGljZVNpbWlsYXJpdHkoeCwgeSkpO1xufVxuZXhwb3J0IGZ1bmN0aW9uIGNvc2luZVNpbWlsYXJpdHkoeCwgeSkge1xuICAgIGNvbnN0IHRvdGFsID0geC50cnVlQ291bnQoKSAqIHkudHJ1ZUNvdW50KCk7XG4gICAgaWYgKHRvdGFsID09IDApXG4gICAgICAgIHJldHVybiAwLjA7XG4gICAgY29uc3QgY29tbW9uID0geC5hbmRXaXRoQ291bnRCaXRzKHksIHRydWUpO1xuICAgIHJldHVybiBjb21tb24gLyBNYXRoLnNxcnQodG90YWwpO1xufVxuZXhwb3J0IGZ1bmN0aW9uIGNvc2luZURpc3RhbmNlKHgsIHkpIHtcbiAgICByZXR1cm4gZ2V0RGlzdGFuY2VGcm9tU2ltaWxhcml0eShjb3NpbmVTaW1pbGFyaXR5KHgsIHkpKTtcbn1cbmV4cG9ydCBmdW5jdGlvbiBldWNsaWRlYW5TaW1pbGFyaXR5KHgsIHkpIHtcbiAgICByZXR1cm4gZ2V0U2ltaWxhcml0eUZyb21EaXN0YW5jZShldWNsaWRlYW5EaXN0YW5jZSh4LCB5KSk7XG59XG5leHBvcnQgZnVuY3Rpb24gZXVjbGlkZWFuRGlzdGFuY2UoeCwgeSkge1xuICAgIHJldHVybiBNYXRoLnNxcnQoeC50cnVlQ291bnQoKSArIHkudHJ1ZUNvdW50KCkgLSAyICogeC5hbmRXaXRoQ291bnRCaXRzKHksIHRydWUpKTtcbn1cbmV4cG9ydCBmdW5jdGlvbiBoYW1taW5nU2ltaWxhcml0eSh4LCB5KSB7XG4gICAgcmV0dXJuIGdldFNpbWlsYXJpdHlGcm9tRGlzdGFuY2UoaGFtbWluZ0Rpc3RhbmNlKHgsIHkpKTtcbn1cbmV4cG9ydCBmdW5jdGlvbiBoYW1taW5nRGlzdGFuY2UoeCwgeSkge1xuICAgIHJldHVybiB4LnRydWVDb3VudCgpICsgeS50cnVlQ291bnQoKSAtIDIgKiB4LmFuZFdpdGhDb3VudEJpdHMoeSwgdHJ1ZSk7XG59XG5leHBvcnQgZnVuY3Rpb24gc29rYWxTaW1pbGFyaXR5KHgsIHkpIHtcbiAgICBjb25zdCB0b3RhbCA9IHgudHJ1ZUNvdW50KCkgKyB5LnRydWVDb3VudCgpO1xuICAgIGNvbnN0IGNvbW1vbiA9IHguYW5kV2l0aENvdW50Qml0cyh5LCB0cnVlKTtcbiAgICByZXR1cm4gY29tbW9uIC8gKDIgKiB0b3RhbCAtIDMgKiBjb21tb24pO1xufVxuZXhwb3J0IGZ1bmN0aW9uIHNva2FsRGlzdGFuY2UoeCwgeSkge1xuICAgIHJldHVybiBnZXREaXN0YW5jZUZyb21TaW1pbGFyaXR5KHNva2FsU2ltaWxhcml0eSh4LCB5KSk7XG59XG5leHBvcnQgZnVuY3Rpb24ga3VsY3p5bnNraVNpbWlsYXJpdHkoeCwgeSkge1xuICAgIGNvbnN0IHRvdGFsID0geC50cnVlQ291bnQoKSArIHkudHJ1ZUNvdW50KCk7XG4gICAgY29uc3QgdG90YWxQcm9kID0geC50cnVlQ291bnQoKSAqIHkudHJ1ZUNvdW50KCk7XG4gICAgaWYgKHRvdGFsUHJvZCA9PSAwKVxuICAgICAgICByZXR1cm4gMC4wO1xuICAgIGNvbnN0IGNvbW1vbiA9IHguYW5kV2l0aENvdW50Qml0cyh5LCB0cnVlKTtcbiAgICByZXR1cm4gKGNvbW1vbiAqIHRvdGFsKSAvICgyICogdG90YWxQcm9kKTtcbn1cbmV4cG9ydCBmdW5jdGlvbiBrdWxjenluc2tpRGlzdGFuY2UoeCwgeSkge1xuICAgIHJldHVybiBnZXREaXN0YW5jZUZyb21TaW1pbGFyaXR5KGt1bGN6eW5za2lTaW1pbGFyaXR5KHgsIHkpKTtcbn1cbmV4cG9ydCBmdW5jdGlvbiBtY0Nvbm5hdWdoZXlTaW1pbGFyaXR5KHgsIHkpIHtcbiAgICBjb25zdCB0b3RhbCA9IHgudHJ1ZUNvdW50KCkgKyB5LnRydWVDb3VudCgpO1xuICAgIGNvbnN0IHRvdGFsUHJvZCA9IHgudHJ1ZUNvdW50KCkgKiB5LnRydWVDb3VudCgpO1xuICAgIGlmICh0b3RhbFByb2QgPT0gMClcbiAgICAgICAgcmV0dXJuIDAuMDtcbiAgICBjb25zdCBjb21tb24gPSB4LmFuZFdpdGhDb3VudEJpdHMoeSwgdHJ1ZSk7XG4gICAgcmV0dXJuIChjb21tb24gKiB0b3RhbCAtIHRvdGFsUHJvZCkgLyB0b3RhbFByb2Q7XG59XG5leHBvcnQgZnVuY3Rpb24gbWNDb25uYXVnaGV5RGlzdGFuY2UoeCwgeSkge1xuICAgIHJldHVybiBnZXREaXN0YW5jZUZyb21TaW1pbGFyaXR5KG1jQ29ubmF1Z2hleVNpbWlsYXJpdHkoeCwgeSkpO1xufVxuZXhwb3J0IGZ1bmN0aW9uIGFzeW1tZXRyaWNTaW1pbGFyaXR5KHgsIHkpIHtcbiAgICBjb25zdCBtaW4gPSBNYXRoLm1pbih4LnRydWVDb3VudCgpLCB5LnRydWVDb3VudCgpKTtcbiAgICBpZiAobWluID09IDApXG4gICAgICAgIHJldHVybiAwLjA7XG4gICAgY29uc3QgY29tbW9uID0geC5hbmRXaXRoQ291bnRCaXRzKHksIHRydWUpO1xuICAgIHJldHVybiBjb21tb24gLyBtaW47XG59XG5leHBvcnQgZnVuY3Rpb24gYXN5bW1ldHJpY0Rpc3RhbmNlKHgsIHkpIHtcbiAgICByZXR1cm4gZ2V0RGlzdGFuY2VGcm9tU2ltaWxhcml0eShhc3ltbWV0cmljU2ltaWxhcml0eSh4LCB5KSk7XG59XG5leHBvcnQgZnVuY3Rpb24gYnJhdW5CbGFucXVldFNpbWlsYXJpdHkoeCwgeSkge1xuICAgIGNvbnN0IG1heCA9IE1hdGgubWF4KHgudHJ1ZUNvdW50KCksIHkudHJ1ZUNvdW50KCkpO1xuICAgIGlmIChtYXggPT0gMClcbiAgICAgICAgcmV0dXJuIDAuMDtcbiAgICBjb25zdCBjb21tb24gPSB4LmFuZFdpdGhDb3VudEJpdHMoeSwgdHJ1ZSk7XG4gICAgcmV0dXJuIGNvbW1vbiAvIG1heDtcbn1cbmV4cG9ydCBmdW5jdGlvbiBicmF1bkJsYW5xdWV0RGlzdGFuY2UoeCwgeSkge1xuICAgIHJldHVybiBnZXREaXN0YW5jZUZyb21TaW1pbGFyaXR5KGJyYXVuQmxhbnF1ZXRTaW1pbGFyaXR5KHgsIHkpKTtcbn1cbmV4cG9ydCBmdW5jdGlvbiBydXNzZWxTaW1pbGFyaXR5KHgsIHkpIHtcbiAgICBpZiAoeC5sZW5ndGggPT0gMClcbiAgICAgICAgcmV0dXJuIDAuMDtcbiAgICBjb25zdCBjb21tb24gPSB4LmFuZFdpdGhDb3VudEJpdHMoeSwgdHJ1ZSk7XG4gICAgcmV0dXJuIGNvbW1vbiAvIHgubGVuZ3RoO1xufVxuZXhwb3J0IGZ1bmN0aW9uIHJ1c3NlbERpc3RhbmNlKHgsIHkpIHtcbiAgICByZXR1cm4gZ2V0RGlzdGFuY2VGcm9tU2ltaWxhcml0eShydXNzZWxTaW1pbGFyaXR5KHgsIHkpKTtcbn1cbmV4cG9ydCBmdW5jdGlvbiByb2dvdEdvbGRiZXJnU2ltaWxhcml0eSh4LCB5KSB7XG4gICAgY29uc3QgY29tbW9uID0geC5hbmRXaXRoQ291bnRCaXRzKHksIHRydWUpO1xuICAgIGNvbnN0IHRvdGFsID0geC5jb3VudEJpdHModHJ1ZSkgKyB5LmNvdW50Qml0cyh0cnVlKTtcbiAgICBjb25zdCBsZW4gPSB4Lmxlbmd0aDtcbiAgICBjb25zdCBkaWZmID0gbGVuIC0gdG90YWwgKyBjb21tb247XG4gICAgaWYgKChjb21tb24gPT0gbGVuKSB8fCAoZGlmZiA9PSBsZW4pKVxuICAgICAgICByZXR1cm4gMS4wO1xuICAgIGVsc2VcbiAgICAgICAgcmV0dXJuIGNvbW1vbiAvIHRvdGFsICsgZGlmZiAvICgyICogbGVuIC0gdG90YWwpO1xufVxuZXhwb3J0IGZ1bmN0aW9uIHJvZ290R29sZGJlcmdEaXN0YW5jZSh4LCB5KSB7XG4gICAgcmV0dXJuIGdldERpc3RhbmNlRnJvbVNpbWlsYXJpdHkocm9nb3RHb2xkYmVyZ1NpbWlsYXJpdHkoeCwgeSkpO1xufVxuZXhwb3J0IGZ1bmN0aW9uIGdldFNpbWlsYXJpdHlGcm9tRGlzdGFuY2UoZGlzdGFuY2UpIHtcbiAgICByZXR1cm4gMSAvICgxICsgZGlzdGFuY2UpO1xufVxuZXhwb3J0IGZ1bmN0aW9uIGdldERpc3RhbmNlRnJvbVNpbWlsYXJpdHkoc2ltaWxhcml0eSkge1xuICAgIHJldHVybiBzaW1pbGFyaXR5ID09PSAwID8gMy40MDI4MjNFKzM4IDogKDEgLyBzaW1pbGFyaXR5KSAtIDE7XG59XG5leHBvcnQgZnVuY3Rpb24gbnVtZXJpY0Rpc3RhbmNlKHgsIHkpIHtcbiAgICByZXR1cm4gTWF0aC5hYnMoeCAtIHkpO1xufVxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKbWFXeGxJam9pWkdsemRHRnVZMlV0YldWMGNtbGpjeTF0WlhSb2IyUnpMbXB6SWl3aWMyOTFjbU5sVW05dmRDSTZJaUlzSW5OdmRYSmpaWE1pT2xzaVpHbHpkR0Z1WTJVdGJXVjBjbWxqY3kxdFpYUm9iMlJ6TG5SeklsMHNJbTVoYldWeklqcGJYU3dpYldGd2NHbHVaM01pT2lKQlFVRkJMRTlCUVU4c1VVRkJVU3hOUVVGTkxIbERRVUY1UXl4RFFVRkRPMEZCUXk5RUxFOUJRVThzUlVGQlF5eHZRa0ZCYjBJc1JVRkJReXhOUVVGTkxIZENRVUYzUWl4RFFVRkRPMEZCUXpWRUxFOUJRVThzUlVGQlF5eDNRa0ZCZDBJc1JVRkJReXhOUVVGTkxHOURRVUZ2UXl4RFFVRkRPMEZCUlRWRkxFMUJRVTBzUTBGQlF5eE5RVUZOTEdkQ1FVRm5RaXhIUVVFMlJEdEpRVU40Uml4RFFVRkRMRzlDUVVGdlFpeERRVUZETEZGQlFWRXNRMEZCUXl4RlFVRkZMR3RDUVVGclFqdEpRVU51UkN4RFFVRkRMRzlDUVVGdlFpeERRVUZETEVsQlFVa3NRMEZCUXl4RlFVRkZMR05CUVdNN1NVRkRNME1zUTBGQlF5eHZRa0ZCYjBJc1EwRkJReXhWUVVGVkxFTkJRVU1zUlVGQlJTeHZRa0ZCYjBJN1NVRkRka1FzUTBGQlF5eHZRa0ZCYjBJc1EwRkJReXhoUVVGaExFTkJRVU1zUlVGQlJTeDFRa0ZCZFVJN1NVRkROMFFzUTBGQlF5eHZRa0ZCYjBJc1EwRkJReXhOUVVGTkxFTkJRVU1zUlVGQlJTeG5Ra0ZCWjBJN1NVRkRMME1zUTBGQlF5eHZRa0ZCYjBJc1EwRkJReXhWUVVGVkxFTkJRVU1zUlVGQlJTeHZRa0ZCYjBJN1NVRkRka1FzUTBGQlF5eHZRa0ZCYjBJc1EwRkJReXhaUVVGWkxFTkJRVU1zUlVGQlJTeHpRa0ZCYzBJN1NVRkRNMFFzUTBGQlF5eHZRa0ZCYjBJc1EwRkJReXhoUVVGaExFTkJRVU1zUlVGQlJTeDFRa0ZCZFVJN1NVRkROMFFzUTBGQlF5eHZRa0ZCYjBJc1EwRkJReXhOUVVGTkxFTkJRVU1zUlVGQlJTeG5Ra0ZCWjBJN1NVRkRMME1zUTBGQlF5eHZRa0ZCYjBJc1EwRkJReXhMUVVGTExFTkJRVU1zUlVGQlJTeGxRVUZsTzBsQlF6ZERMRU5CUVVNc2IwSkJRVzlDTEVOQlFVTXNUMEZCVHl4RFFVRkRMRVZCUVVVc2FVSkJRV2xDTzBsQlEycEVMRU5CUVVNc2IwSkJRVzlDTEVOQlFVTXNVMEZCVXl4RFFVRkRMRVZCUVVVc2JVSkJRVzFDTzBOQlEzUkVMRU5CUVVNN1FVRkZSaXhOUVVGTkxFTkJRVU1zVFVGQlRTeGxRVUZsTEVkQlFUWkVPMGxCUTNaR0xFTkJRVU1zYjBKQlFXOUNMRU5CUVVNc1VVRkJVU3hEUVVGRExFVkJRVVVzWjBKQlFXZENPMGxCUTJwRUxFTkJRVU1zYjBKQlFXOUNMRU5CUVVNc1NVRkJTU3hEUVVGRExFVkJRVVVzV1VGQldUdEpRVU42UXl4RFFVRkRMRzlDUVVGdlFpeERRVUZETEZWQlFWVXNRMEZCUXl4RlFVRkZMR3RDUVVGclFqdEpRVU55UkN4RFFVRkRMRzlDUVVGdlFpeERRVUZETEdGQlFXRXNRMEZCUXl4RlFVRkZMSEZDUVVGeFFqdEpRVU16UkN4RFFVRkRMRzlDUVVGdlFpeERRVUZETEUxQlFVMHNRMEZCUXl4RlFVRkZMR05CUVdNN1NVRkROME1zUTBGQlF5eHZRa0ZCYjBJc1EwRkJReXhWUVVGVkxFTkJRVU1zUlVGQlJTeHJRa0ZCYTBJN1NVRkRja1FzUTBGQlF5eHZRa0ZCYjBJc1EwRkJReXhaUVVGWkxFTkJRVU1zUlVGQlJTeHZRa0ZCYjBJN1NVRkRla1FzUTBGQlF5eHZRa0ZCYjBJc1EwRkJReXhoUVVGaExFTkJRVU1zUlVGQlJTeHhRa0ZCY1VJN1NVRkRNMFFzUTBGQlF5eHZRa0ZCYjBJc1EwRkJReXhOUVVGTkxFTkJRVU1zUlVGQlJTeGpRVUZqTzBsQlF6ZERMRU5CUVVNc2IwSkJRVzlDTEVOQlFVTXNTMEZCU3l4RFFVRkRMRVZCUVVVc1lVRkJZVHRKUVVNelF5eERRVUZETEc5Q1FVRnZRaXhEUVVGRExFOUJRVThzUTBGQlF5eEZRVUZGTEdWQlFXVTdTVUZETDBNc1EwRkJReXh2UWtGQmIwSXNRMEZCUXl4VFFVRlRMRU5CUVVNc1JVRkJSU3hwUWtGQmFVSTdRMEZEY0VRc1EwRkJRenRCUVVWR0xFMUJRVTBzUTBGQlF5eE5RVUZOTEhWQ1FVRjFRaXhIUVVGSE8wbEJRM0pETEc5Q1FVRnZRaXhEUVVGRExGRkJRVkU3U1VGRE4wSXNiMEpCUVc5Q0xFTkJRVU1zU1VGQlNUdEpRVU42UWl4dlFrRkJiMElzUTBGQlF5eE5RVUZOTzBOQlFVTXNRMEZCUXp0QlFVTXZRaXhOUVVGTkxFTkJRVU1zVFVGQlRTdzBRa0ZCTkVJc1IwRkJSenRKUVVNeFF5eHZRa0ZCYjBJc1EwRkJReXhSUVVGUk8wbEJRemRDTEc5Q1FVRnZRaXhEUVVGRExGVkJRVlU3U1VGREwwSXNiMEpCUVc5Q0xFTkJRVU1zVFVGQlRUdEpRVU16UWl4dlFrRkJiMElzUTBGQlF5eExRVUZMTzBOQlFVTXNRMEZCUXp0QlFVTTVRaXhOUVVGTkxFTkJRVU1zVFVGQlRTeG5RMEZCWjBNc1IwRkJSenRKUVVNNVF5eDNRa0ZCZDBJc1EwRkJReXhQUVVGUE8wbEJRMmhETEhkQ1FVRjNRaXhEUVVGRExGZEJRVmM3U1VGRGNFTXNkMEpCUVhkQ0xFTkJRVU1zZVVKQlFYbENPMGxCUTJ4RUxIZENRVUYzUWl4RFFVRkRMR2xDUVVGcFFqdERRVU16UXl4RFFVRkRPMEZCUjBZc1RVRkJUU3hWUVVGVkxHdENRVUZyUWl4RFFVRkRMRU5CUVZjc1JVRkJSU3hEUVVGWE8wbEJRM3BFTEUxQlFVMHNTMEZCU3l4SFFVRkhMRU5CUVVNc1EwRkJReXhUUVVGVExFVkJRVVVzUjBGQlJ5eERRVUZETEVOQlFVTXNVMEZCVXl4RlFVRkZMRU5CUVVNN1NVRkROVU1zU1VGQlNTeExRVUZMTEVsQlFVa3NRMEZCUXp0UlFVRkZMRTlCUVU4c1IwRkJSeXhEUVVGRE8wbEJRek5DTEUxQlFVMHNUVUZCVFN4SFFVRkhMRU5CUVVNc1EwRkJReXhuUWtGQlowSXNRMEZCUXl4RFFVRkRMRVZCUVVVc1NVRkJTU3hEUVVGRExFTkJRVU03U1VGRE0wTXNUMEZCVHl4TlFVRk5MRWRCUVVjc1EwRkJReXhMUVVGTExFZEJRVWNzVFVGQlRTeERRVUZETEVOQlFVTTdRVUZEYmtNc1EwRkJRenRCUVVWRUxFMUJRVTBzVlVGQlZTeG5Ra0ZCWjBJc1EwRkJReXhEUVVGWExFVkJRVVVzUTBGQlZ6dEpRVU4yUkN4UFFVRlBMSGxDUVVGNVFpeERRVUZETEd0Q1FVRnJRaXhEUVVGRExFTkJRVU1zUlVGQlJTeERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRPMEZCUXpkRUxFTkJRVU03UVVGRlJDeE5RVUZOTEZWQlFWVXNkMEpCUVhkQ0xFTkJRVU1zUTBGQll5eEZRVUZGTEVOQlFXTTdTVUZEY2tVc1RVRkJUU3hGUVVGRkxFZEJRVWNzU1VGQlNTeFJRVUZSTEVOQlFVTXNRMEZCUXl4RlFVRkZMRU5CUVVNc1EwRkJReXhOUVVGTkxFZEJRVWNzUlVGQlJTeERRVUZETEVOQlFVTTdTVUZETVVNc1RVRkJUU3hGUVVGRkxFZEJRVWNzU1VGQlNTeFJRVUZSTEVOQlFVTXNRMEZCUXl4RlFVRkZMRU5CUVVNc1EwRkJReXhOUVVGTkxFZEJRVWNzUlVGQlJTeERRVUZETEVOQlFVTTdTVUZETVVNc1QwRkJUeXg1UWtGQmVVSXNRMEZCUXl4clFrRkJhMElzUTBGQlF5eEZRVUZGTEVWQlFVVXNSVUZCUlN4RFFVRkRMRU5CUVVNc1EwRkJRenRCUVVNdlJDeERRVUZETzBGQlJVUXNUVUZCVFN4VlFVRlZMR05CUVdNc1EwRkJReXhEUVVGWExFVkJRVVVzUTBGQlZ6dEpRVU55UkN4TlFVRk5MRXRCUVVzc1IwRkJSeXhEUVVGRExFTkJRVU1zVTBGQlV5eEZRVUZGTEVkQlFVY3NRMEZCUXl4RFFVRkRMRk5CUVZNc1JVRkJSU3hEUVVGRE8wbEJRelZETEVsQlFVa3NTMEZCU3l4SlFVRkpMRU5CUVVNN1VVRkJSU3hQUVVGUExFZEJRVWNzUTBGQlF6dEpRVU16UWl4TlFVRk5MRTFCUVUwc1IwRkJSeXhEUVVGRExFTkJRVU1zWjBKQlFXZENMRU5CUVVNc1EwRkJReXhGUVVGRkxFbEJRVWtzUTBGQlF5eERRVUZETzBsQlF6TkRMRTlCUVU4c1EwRkJReXhIUVVGSExFMUJRVTBzUjBGQlJ5eExRVUZMTEVOQlFVTTdRVUZETlVJc1EwRkJRenRCUVVWRUxFMUJRVTBzVlVGQlZTeFpRVUZaTEVOQlFVTXNRMEZCVnl4RlFVRkZMRU5CUVZjN1NVRkRia1FzVDBGQlR5eDVRa0ZCZVVJc1EwRkJReXhqUVVGakxFTkJRVU1zUTBGQlF5eEZRVUZGTEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNN1FVRkRla1FzUTBGQlF6dEJRVVZFTEUxQlFVMHNWVUZCVlN4blFrRkJaMElzUTBGQlF5eERRVUZYTEVWQlFVVXNRMEZCVnp0SlFVTjJSQ3hOUVVGTkxFdEJRVXNzUjBGQlJ5eERRVUZETEVOQlFVTXNVMEZCVXl4RlFVRkZMRWRCUVVjc1EwRkJReXhEUVVGRExGTkJRVk1zUlVGQlJTeERRVUZETzBsQlF6VkRMRWxCUVVrc1MwRkJTeXhKUVVGSkxFTkJRVU03VVVGQlJTeFBRVUZQTEVkQlFVY3NRMEZCUXp0SlFVTXpRaXhOUVVGTkxFMUJRVTBzUjBGQlJ5eERRVUZETEVOQlFVTXNaMEpCUVdkQ0xFTkJRVU1zUTBGQlF5eEZRVUZGTEVsQlFVa3NRMEZCUXl4RFFVRkRPMGxCUXpORExFOUJRVThzVFVGQlRTeEhRVUZITEVsQlFVa3NRMEZCUXl4SlFVRkpMRU5CUVVNc1MwRkJTeXhEUVVGRExFTkJRVU03UVVGRGJrTXNRMEZCUXp0QlFVVkVMRTFCUVUwc1ZVRkJWU3hqUVVGakxFTkJRVU1zUTBGQlZ5eEZRVUZGTEVOQlFWYzdTVUZEY2tRc1QwRkJUeXg1UWtGQmVVSXNRMEZCUXl4blFrRkJaMElzUTBGQlF5eERRVUZETEVWQlFVVXNRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJRenRCUVVNelJDeERRVUZETzBGQlJVUXNUVUZCVFN4VlFVRlZMRzFDUVVGdFFpeERRVUZETEVOQlFWY3NSVUZCUlN4RFFVRlhPMGxCUXpGRUxFOUJRVThzZVVKQlFYbENMRU5CUVVNc2FVSkJRV2xDTEVOQlFVTXNRMEZCUXl4RlFVRkZMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU03UVVGRE5VUXNRMEZCUXp0QlFVVkVMRTFCUVUwc1ZVRkJWU3hwUWtGQmFVSXNRMEZCUXl4RFFVRlhMRVZCUVVVc1EwRkJWenRKUVVONFJDeFBRVUZQTEVsQlFVa3NRMEZCUXl4SlFVRkpMRU5CUVVNc1EwRkJReXhEUVVGRExGTkJRVk1zUlVGQlJTeEhRVUZITEVOQlFVTXNRMEZCUXl4VFFVRlRMRVZCUVVVc1IwRkJSeXhEUVVGRExFZEJRVWNzUTBGQlF5eERRVUZETEdkQ1FVRm5RaXhEUVVGRExFTkJRVU1zUlVGQlJTeEpRVUZKTEVOQlFVTXNRMEZCUXl4RFFVRkRPMEZCUTNCR0xFTkJRVU03UVVGRlJDeE5RVUZOTEZWQlFWVXNhVUpCUVdsQ0xFTkJRVU1zUTBGQlZ5eEZRVUZGTEVOQlFWYzdTVUZEZUVRc1QwRkJUeXg1UWtGQmVVSXNRMEZCUXl4bFFVRmxMRU5CUVVNc1EwRkJReXhGUVVGRkxFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTTdRVUZETVVRc1EwRkJRenRCUVVWRUxFMUJRVTBzVlVGQlZTeGxRVUZsTEVOQlFVTXNRMEZCVnl4RlFVRkZMRU5CUVZjN1NVRkRkRVFzVDBGQlR5eERRVUZETEVOQlFVTXNVMEZCVXl4RlFVRkZMRWRCUVVjc1EwRkJReXhEUVVGRExGTkJRVk1zUlVGQlJTeEhRVUZITEVOQlFVTXNSMEZCUnl4RFFVRkRMRU5CUVVNc1owSkJRV2RDTEVOQlFVTXNRMEZCUXl4RlFVRkZMRWxCUVVrc1EwRkJReXhEUVVGRE8wRkJRM3BGTEVOQlFVTTdRVUZGUkN4TlFVRk5MRlZCUVZVc1pVRkJaU3hEUVVGRExFTkJRVmNzUlVGQlJTeERRVUZYTzBsQlEzUkVMRTFCUVUwc1MwRkJTeXhIUVVGSExFTkJRVU1zUTBGQlF5eFRRVUZUTEVWQlFVVXNSMEZCUnl4RFFVRkRMRU5CUVVNc1UwRkJVeXhGUVVGRkxFTkJRVU03U1VGRE5VTXNUVUZCVFN4TlFVRk5MRWRCUVVjc1EwRkJReXhEUVVGRExHZENRVUZuUWl4RFFVRkRMRU5CUVVNc1JVRkJSU3hKUVVGSkxFTkJRVU1zUTBGQlF6dEpRVU16UXl4UFFVRlBMRTFCUVUwc1IwRkJSeXhEUVVGRExFTkJRVU1zUjBGQlJ5eExRVUZMTEVkQlFVY3NRMEZCUXl4SFFVRkhMRTFCUVUwc1EwRkJReXhEUVVGRE8wRkJRek5ETEVOQlFVTTdRVUZGUkN4TlFVRk5MRlZCUVZVc1lVRkJZU3hEUVVGRExFTkJRVmNzUlVGQlJTeERRVUZYTzBsQlEzQkVMRTlCUVU4c2VVSkJRWGxDTEVOQlFVTXNaVUZCWlN4RFFVRkRMRU5CUVVNc1JVRkJSU3hEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETzBGQlF6RkVMRU5CUVVNN1FVRkZSQ3hOUVVGTkxGVkJRVlVzYjBKQlFXOUNMRU5CUVVNc1EwRkJWeXhGUVVGRkxFTkJRVmM3U1VGRE0wUXNUVUZCVFN4TFFVRkxMRWRCUVVjc1EwRkJReXhEUVVGRExGTkJRVk1zUlVGQlJTeEhRVUZITEVOQlFVTXNRMEZCUXl4VFFVRlRMRVZCUVVVc1EwRkJRenRKUVVNMVF5eE5RVUZOTEZOQlFWTXNSMEZCUnl4RFFVRkRMRU5CUVVNc1UwRkJVeXhGUVVGRkxFZEJRVWNzUTBGQlF5eERRVUZETEZOQlFWTXNSVUZCUlN4RFFVRkRPMGxCUTJoRUxFbEJRVWtzVTBGQlV5eEpRVUZKTEVOQlFVTTdVVUZCUlN4UFFVRlBMRWRCUVVjc1EwRkJRenRKUVVNdlFpeE5RVUZOTEUxQlFVMHNSMEZCUnl4RFFVRkRMRU5CUVVNc1owSkJRV2RDTEVOQlFVTXNRMEZCUXl4RlFVRkZMRWxCUVVrc1EwRkJReXhEUVVGRE8wbEJRek5ETEU5QlFVOHNRMEZCUXl4TlFVRk5MRWRCUVVjc1MwRkJTeXhEUVVGRExFZEJRVWNzUTBGQlF5eERRVUZETEVkQlFVY3NVMEZCVXl4RFFVRkRMRU5CUVVNN1FVRkROVU1zUTBGQlF6dEJRVVZFTEUxQlFVMHNWVUZCVlN4clFrRkJhMElzUTBGQlF5eERRVUZYTEVWQlFVVXNRMEZCVnp0SlFVTjZSQ3hQUVVGUExIbENRVUY1UWl4RFFVRkRMRzlDUVVGdlFpeERRVUZETEVOQlFVTXNSVUZCUlN4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRE8wRkJReTlFTEVOQlFVTTdRVUZGUkN4TlFVRk5MRlZCUVZVc2MwSkJRWE5DTEVOQlFVTXNRMEZCVnl4RlFVRkZMRU5CUVZjN1NVRkROMFFzVFVGQlRTeExRVUZMTEVkQlFVY3NRMEZCUXl4RFFVRkRMRk5CUVZNc1JVRkJSU3hIUVVGSExFTkJRVU1zUTBGQlF5eFRRVUZUTEVWQlFVVXNRMEZCUXp0SlFVTTFReXhOUVVGTkxGTkJRVk1zUjBGQlJ5eERRVUZETEVOQlFVTXNVMEZCVXl4RlFVRkZMRWRCUVVjc1EwRkJReXhEUVVGRExGTkJRVk1zUlVGQlJTeERRVUZETzBsQlEyaEVMRWxCUVVrc1UwRkJVeXhKUVVGSkxFTkJRVU03VVVGQlJTeFBRVUZQTEVkQlFVY3NRMEZCUXp0SlFVTXZRaXhOUVVGTkxFMUJRVTBzUjBGQlJ5eERRVUZETEVOQlFVTXNaMEpCUVdkQ0xFTkJRVU1zUTBGQlF5eEZRVUZGTEVsQlFVa3NRMEZCUXl4RFFVRkRPMGxCUXpORExFOUJRVThzUTBGQlF5eE5RVUZOTEVkQlFVY3NTMEZCU3l4SFFVRkhMRk5CUVZNc1EwRkJReXhIUVVGSExGTkJRVk1zUTBGQlF6dEJRVU5zUkN4RFFVRkRPMEZCUlVRc1RVRkJUU3hWUVVGVkxHOUNRVUZ2UWl4RFFVRkRMRU5CUVZjc1JVRkJSU3hEUVVGWE8wbEJRek5FTEU5QlFVOHNlVUpCUVhsQ0xFTkJRVU1zYzBKQlFYTkNMRU5CUVVNc1EwRkJReXhGUVVGRkxFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTTdRVUZEYWtVc1EwRkJRenRCUVVWRUxFMUJRVTBzVlVGQlZTeHZRa0ZCYjBJc1EwRkJReXhEUVVGWExFVkJRVVVzUTBGQlZ6dEpRVU16UkN4TlFVRk5MRWRCUVVjc1IwRkJSeXhKUVVGSkxFTkJRVU1zUjBGQlJ5eERRVUZETEVOQlFVTXNRMEZCUXl4VFFVRlRMRVZCUVVVc1JVRkJSU3hEUVVGRExFTkJRVU1zVTBGQlV5eEZRVUZGTEVOQlFVTXNRMEZCUXp0SlFVTnVSQ3hKUVVGSkxFZEJRVWNzU1VGQlNTeERRVUZETzFGQlFVVXNUMEZCVHl4SFFVRkhMRU5CUVVNN1NVRkRla0lzVFVGQlRTeE5RVUZOTEVkQlFVY3NRMEZCUXl4RFFVRkRMR2RDUVVGblFpeERRVUZETEVOQlFVTXNSVUZCUlN4SlFVRkpMRU5CUVVNc1EwRkJRenRKUVVNelF5eFBRVUZQTEUxQlFVMHNSMEZCUnl4SFFVRkhMRU5CUVVNN1FVRkRkRUlzUTBGQlF6dEJRVVZFTEUxQlFVMHNWVUZCVlN4clFrRkJhMElzUTBGQlF5eERRVUZYTEVWQlFVVXNRMEZCVnp0SlFVTjZSQ3hQUVVGUExIbENRVUY1UWl4RFFVRkRMRzlDUVVGdlFpeERRVUZETEVOQlFVTXNSVUZCUlN4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRE8wRkJReTlFTEVOQlFVTTdRVUZGUkN4TlFVRk5MRlZCUVZVc2RVSkJRWFZDTEVOQlFVTXNRMEZCVnl4RlFVRkZMRU5CUVZjN1NVRkRPVVFzVFVGQlRTeEhRVUZITEVkQlFVY3NTVUZCU1N4RFFVRkRMRWRCUVVjc1EwRkJReXhEUVVGRExFTkJRVU1zVTBGQlV5eEZRVUZGTEVWQlFVVXNRMEZCUXl4RFFVRkRMRk5CUVZNc1JVRkJSU3hEUVVGRExFTkJRVU03U1VGRGJrUXNTVUZCU1N4SFFVRkhMRWxCUVVrc1EwRkJRenRSUVVGRkxFOUJRVThzUjBGQlJ5eERRVUZETzBsQlEzcENMRTFCUVUwc1RVRkJUU3hIUVVGSExFTkJRVU1zUTBGQlF5eG5Ra0ZCWjBJc1EwRkJReXhEUVVGRExFVkJRVVVzU1VGQlNTeERRVUZETEVOQlFVTTdTVUZETTBNc1QwRkJUeXhOUVVGTkxFZEJRVWNzUjBGQlJ5eERRVUZETzBGQlEzUkNMRU5CUVVNN1FVRkZSQ3hOUVVGTkxGVkJRVlVzY1VKQlFYRkNMRU5CUVVNc1EwRkJWeXhGUVVGRkxFTkJRVmM3U1VGRE5VUXNUMEZCVHl4NVFrRkJlVUlzUTBGQlF5eDFRa0ZCZFVJc1EwRkJReXhEUVVGRExFVkJRVVVzUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXp0QlFVTnNSU3hEUVVGRE8wRkJSVVFzVFVGQlRTeFZRVUZWTEdkQ1FVRm5RaXhEUVVGRExFTkJRVmNzUlVGQlJTeERRVUZYTzBsQlEzWkVMRWxCUVVrc1EwRkJReXhEUVVGRExFMUJRVTBzU1VGQlNTeERRVUZETzFGQlFVVXNUMEZCVHl4SFFVRkhMRU5CUVVNN1NVRkRPVUlzVFVGQlRTeE5RVUZOTEVkQlFVY3NRMEZCUXl4RFFVRkRMR2RDUVVGblFpeERRVUZETEVOQlFVTXNSVUZCUlN4SlFVRkpMRU5CUVVNc1EwRkJRenRKUVVNelF5eFBRVUZQTEUxQlFVMHNSMEZCUnl4RFFVRkRMRU5CUVVNc1RVRkJUU3hEUVVGRE8wRkJRek5DTEVOQlFVTTdRVUZGUkN4TlFVRk5MRlZCUVZVc1kwRkJZeXhEUVVGRExFTkJRVmNzUlVGQlJTeERRVUZYTzBsQlEzSkVMRTlCUVU4c2VVSkJRWGxDTEVOQlFVTXNaMEpCUVdkQ0xFTkJRVU1zUTBGQlF5eEZRVUZGTEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNN1FVRkRNMFFzUTBGQlF6dEJRVVZFTEUxQlFVMHNWVUZCVlN4MVFrRkJkVUlzUTBGQlF5eERRVUZYTEVWQlFVVXNRMEZCVnp0SlFVTTVSQ3hOUVVGTkxFMUJRVTBzUjBGQlJ5eERRVUZETEVOQlFVTXNaMEpCUVdkQ0xFTkJRVU1zUTBGQlF5eEZRVUZGTEVsQlFVa3NRMEZCUXl4RFFVRkRPMGxCUXpORExFMUJRVTBzUzBGQlN5eEhRVUZITEVOQlFVTXNRMEZCUXl4VFFVRlRMRU5CUVVNc1NVRkJTU3hEUVVGRExFZEJRVWNzUTBGQlF5eERRVUZETEZOQlFWTXNRMEZCUXl4SlFVRkpMRU5CUVVNc1EwRkJRenRKUVVOd1JDeE5RVUZOTEVkQlFVY3NSMEZCUnl4RFFVRkRMRU5CUVVNc1RVRkJUU3hEUVVGRE8wbEJRM0pDTEUxQlFVMHNTVUZCU1N4SFFVRkhMRWRCUVVjc1IwRkJSeXhMUVVGTExFZEJRVWNzVFVGQlRTeERRVUZETzBsQlEyeERMRWxCUVVrc1EwRkJReXhOUVVGTkxFbEJRVWtzUjBGQlJ5eERRVUZETEVsQlFVa3NRMEZCUXl4SlFVRkpMRWxCUVVrc1IwRkJSeXhEUVVGRE8xRkJRVVVzVDBGQlR5eEhRVUZITEVOQlFVTTdPMUZCUXpWRExFOUJRVThzVFVGQlRTeEhRVUZITEV0QlFVc3NSMEZCUnl4SlFVRkpMRWRCUVVjc1EwRkJReXhEUVVGRExFZEJRVWNzUjBGQlJ5eEhRVUZITEV0QlFVc3NRMEZCUXl4RFFVRkRPMEZCUTNoRUxFTkJRVU03UVVGRlJDeE5RVUZOTEZWQlFWVXNjVUpCUVhGQ0xFTkJRVU1zUTBGQlZ5eEZRVUZGTEVOQlFWYzdTVUZETlVRc1QwRkJUeXg1UWtGQmVVSXNRMEZCUXl4MVFrRkJkVUlzUTBGQlF5eERRVUZETEVWQlFVVXNRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJRenRCUVVOc1JTeERRVUZETzBGQlJVUXNUVUZCVFN4VlFVRlZMSGxDUVVGNVFpeERRVUZETEZGQlFXZENPMGxCUTNoRUxFOUJRVThzUTBGQlF5eEhRVUZITEVOQlFVTXNRMEZCUXl4SFFVRkhMRkZCUVZFc1EwRkJReXhEUVVGRE8wRkJRelZDTEVOQlFVTTdRVUZGUkN4TlFVRk5MRlZCUVZVc2VVSkJRWGxDTEVOQlFVTXNWVUZCYTBJN1NVRkRNVVFzVDBGQlR5eFZRVUZWTEV0QlFVc3NRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJReXhaUVVGWkxFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXl4SFFVRkhMRlZCUVZVc1EwRkJReXhIUVVGSExFTkJRVU1zUTBGQlF6dEJRVU5vUlN4RFFVRkRPMEZCUlVRc1RVRkJUU3hWUVVGVkxHVkJRV1VzUTBGQlF5eERRVUZUTEVWQlFVVXNRMEZCVXp0SlFVTnNSQ3hQUVVGUExFbEJRVWtzUTBGQlF5eEhRVUZITEVOQlFVTXNRMEZCUXl4SFFVRkhMRU5CUVVNc1EwRkJReXhEUVVGRE8wRkJRM3BDTEVOQlFVTWlMQ0p6YjNWeVkyVnpRMjl1ZEdWdWRDSTZXeUpwYlhCdmNuUWdRbWwwUVhKeVlYa2dabkp2YlNBblFHUmhkR0ZuY205ckxXeHBZbkpoY21sbGN5OTFkR2xzY3k5emNtTXZZbWwwTFdGeWNtRjVKenRjYm1sdGNHOXlkQ0I3UW1sMFFYSnlZWGxOWlhSeWFXTnpUbUZ0WlhOOUlHWnliMjBnSnk0dmRIbHdaV1F0YldWMGNtbGpjeTlqYjI1emRITW5PMXh1YVcxd2IzSjBJSHROYlVScGMzUmhibU5sUm5WdVkzUnBiMjV6VG1GdFpYTjlJR1p5YjIwZ0p5NHZiV0ZqY205dGIyeGxZM1ZzWlMxa2FYTjBZVzVqWlMxbWRXNWpkR2x2Ym5Nbk8xeHVYRzVsZUhCdmNuUWdZMjl1YzNRZ2MybHRhV3hoY21sMGVVMWxkSEpwWXpvZ2V5QmJibUZ0WlRvZ2MzUnlhVzVuWFRvZ0tIZzZJRUpwZEVGeWNtRjVMQ0I1T2lCQ2FYUkJjbkpoZVNrZ1BUNGdiblZ0WW1WeUlIMGdQU0I3WEc0Z0lGdENhWFJCY25KaGVVMWxkSEpwWTNOT1lXMWxjeTVVWVc1cGJXOTBiMTA2SUhSaGJtbHRiM1J2VTJsdGFXeGhjbWwwZVN4Y2JpQWdXMEpwZEVGeWNtRjVUV1YwY21samMwNWhiV1Z6TGtScFkyVmRPaUJrYVdObFUybHRhV3hoY21sMGVTeGNiaUFnVzBKcGRFRnljbUY1VFdWMGNtbGpjMDVoYldWekxrRnplVzF0WlhSeWFXTmRPaUJoYzNsdGJXVjBjbWxqVTJsdGFXeGhjbWwwZVN4Y2JpQWdXMEpwZEVGeWNtRjVUV1YwY21samMwNWhiV1Z6TGtKeVlYVnVRbXhoYm5GMVpYUmRPaUJpY21GMWJrSnNZVzV4ZFdWMFUybHRhV3hoY21sMGVTeGNiaUFnVzBKcGRFRnljbUY1VFdWMGNtbGpjMDVoYldWekxrTnZjMmx1WlYwNklHTnZjMmx1WlZOcGJXbHNZWEpwZEhrc1hHNGdJRnRDYVhSQmNuSmhlVTFsZEhKcFkzTk9ZVzFsY3k1TGRXeGplbmx1YzJ0cFhUb2dhM1ZzWTNwNWJuTnJhVk5wYldsc1lYSnBkSGtzWEc0Z0lGdENhWFJCY25KaGVVMWxkSEpwWTNOT1lXMWxjeTVOWTBOdmJtNWhkV2RvWlhsZE9pQnRZME52Ym01aGRXZG9aWGxUYVcxcGJHRnlhWFI1TEZ4dUlDQmJRbWwwUVhKeVlYbE5aWFJ5YVdOelRtRnRaWE11VW05bmIzUkhiMnhrWW1WeVoxMDZJSEp2WjI5MFIyOXNaR0psY21kVGFXMXBiR0Z5YVhSNUxGeHVJQ0JiUW1sMFFYSnlZWGxOWlhSeWFXTnpUbUZ0WlhNdVVuVnpjMlZzWFRvZ2NuVnpjMlZzVTJsdGFXeGhjbWwwZVN4Y2JpQWdXMEpwZEVGeWNtRjVUV1YwY21samMwNWhiV1Z6TGxOdmEyRnNYVG9nYzI5cllXeFRhVzFwYkdGeWFYUjVMRnh1SUNCYlFtbDBRWEp5WVhsTlpYUnlhV056VG1GdFpYTXVTR0Z0YldsdVoxMDZJR2hoYlcxcGJtZFRhVzFwYkdGeWFYUjVMRnh1SUNCYlFtbDBRWEp5WVhsTlpYUnlhV056VG1GdFpYTXVSWFZqYkdsa1pXRnVYVG9nWlhWamJHbGtaV0Z1VTJsdGFXeGhjbWwwZVN4Y2JuMDdYRzVjYm1WNGNHOXlkQ0JqYjI1emRDQmthWE4wWVc1alpVMWxkSEpwWTNNNklIc2dXMjVoYldVNklITjBjbWx1WjEwNklDaDRPaUJDYVhSQmNuSmhlU3dnZVRvZ1FtbDBRWEp5WVhrcElEMCtJRzUxYldKbGNpQjlJRDBnZTF4dUlDQmJRbWwwUVhKeVlYbE5aWFJ5YVdOelRtRnRaWE11VkdGdWFXMXZkRzlkT2lCMFlXNXBiVzkwYjBScGMzUmhibU5sTEZ4dUlDQmJRbWwwUVhKeVlYbE5aWFJ5YVdOelRtRnRaWE11UkdsalpWMDZJR1JwWTJWRWFYTjBZVzVqWlN4Y2JpQWdXMEpwZEVGeWNtRjVUV1YwY21samMwNWhiV1Z6TGtGemVXMXRaWFJ5YVdOZE9pQmhjM2x0YldWMGNtbGpSR2x6ZEdGdVkyVXNYRzRnSUZ0Q2FYUkJjbkpoZVUxbGRISnBZM05PWVcxbGN5NUNjbUYxYmtKc1lXNXhkV1YwWFRvZ1luSmhkVzVDYkdGdWNYVmxkRVJwYzNSaGJtTmxMRnh1SUNCYlFtbDBRWEp5WVhsTlpYUnlhV056VG1GdFpYTXVRMjl6YVc1bFhUb2dZMjl6YVc1bFJHbHpkR0Z1WTJVc1hHNGdJRnRDYVhSQmNuSmhlVTFsZEhKcFkzTk9ZVzFsY3k1TGRXeGplbmx1YzJ0cFhUb2dhM1ZzWTNwNWJuTnJhVVJwYzNSaGJtTmxMRnh1SUNCYlFtbDBRWEp5WVhsTlpYUnlhV056VG1GdFpYTXVUV05EYjI1dVlYVm5hR1Y1WFRvZ2JXTkRiMjV1WVhWbmFHVjVSR2x6ZEdGdVkyVXNYRzRnSUZ0Q2FYUkJjbkpoZVUxbGRISnBZM05PWVcxbGN5NVNiMmR2ZEVkdmJHUmlaWEpuWFRvZ2NtOW5iM1JIYjJ4a1ltVnlaMFJwYzNSaGJtTmxMRnh1SUNCYlFtbDBRWEp5WVhsTlpYUnlhV056VG1GdFpYTXVVblZ6YzJWc1hUb2djblZ6YzJWc1JHbHpkR0Z1WTJVc1hHNGdJRnRDYVhSQmNuSmhlVTFsZEhKcFkzTk9ZVzFsY3k1VGIydGhiRjA2SUhOdmEyRnNSR2x6ZEdGdVkyVXNYRzRnSUZ0Q2FYUkJjbkpoZVUxbGRISnBZM05PWVcxbGN5NUlZVzF0YVc1blhUb2dhR0Z0YldsdVowUnBjM1JoYm1ObExGeHVJQ0JiUW1sMFFYSnlZWGxOWlhSeWFXTnpUbUZ0WlhNdVJYVmpiR2xrWldGdVhUb2daWFZqYkdsa1pXRnVSR2x6ZEdGdVkyVXNYRzU5TzF4dVhHNWxlSEJ2Y25RZ1kyOXVjM1FnUTBoRlRWOVRTVTFKVEVGU1NWUlpYMDFGVkZKSlExTWdQU0JiWEc0Z0lFSnBkRUZ5Y21GNVRXVjBjbWxqYzA1aGJXVnpMbFJoYm1sdGIzUnZMRnh1SUNCQ2FYUkJjbkpoZVUxbGRISnBZM05PWVcxbGN5NUVhV05sTEZ4dUlDQkNhWFJCY25KaGVVMWxkSEpwWTNOT1lXMWxjeTVEYjNOcGJtVmRPMXh1Wlhod2IzSjBJR052Ym5OMElGTkZVVjlUVUVGRFJWOVRTVTFKVEVGU1NWUlpYMDFGVkZKSlExTWdQU0JiWEc0Z0lFSnBkRUZ5Y21GNVRXVjBjbWxqYzA1aGJXVnpMbFJoYm1sdGIzUnZMRnh1SUNCQ2FYUkJjbkpoZVUxbGRISnBZM05PWVcxbGN5NUJjM2x0YldWMGNtbGpMRnh1SUNCQ2FYUkJjbkpoZVUxbGRISnBZM05PWVcxbGN5NURiM05wYm1Vc1hHNGdJRUpwZEVGeWNtRjVUV1YwY21samMwNWhiV1Z6TGxOdmEyRnNYVHRjYm1WNGNHOXlkQ0JqYjI1emRDQk5RVU5TVDAxUFRFVkRWVXhGWDFOSlRVbE1RVkpKVkZsZlRVVlVVa2xEVXlBOUlGdGNiaUFnVFcxRWFYTjBZVzVqWlVaMWJtTjBhVzl1YzA1aGJXVnpMa2hCVFUxSlRrY3NYRzRnSUUxdFJHbHpkR0Z1WTJWR2RXNWpkR2x2Ym5OT1lXMWxjeTVNUlZaRlRsTklWRVZKVGl4Y2JpQWdUVzFFYVhOMFlXNWpaVVoxYm1OMGFXOXVjMDVoYldWekxrMVBUazlOUlZKZlEwaEZUVWxEUVV4ZlJFbFRWRUZPUTBVc1hHNGdJRTF0UkdsemRHRnVZMlZHZFc1amRHbHZibk5PWVcxbGN5NU9SVVZFVEVWTlFVNU9YMWRWVGxORFNGeHVYVHRjYmx4dVhHNWxlSEJ2Y25RZ1puVnVZM1JwYjI0Z2RHRnVhVzF2ZEc5VGFXMXBiR0Z5YVhSNUtIZzZJRUpwZEVGeWNtRjVMQ0I1T2lCQ2FYUkJjbkpoZVNrNklHNTFiV0psY2lCN1hHNGdJR052Ym5OMElIUnZkR0ZzSUQwZ2VDNTBjblZsUTI5MWJuUW9LU0FySUhrdWRISjFaVU52ZFc1MEtDazdYRzRnSUdsbUlDaDBiM1JoYkNBOVBTQXdLU0J5WlhSMWNtNGdNUzR3TzF4dUlDQmpiMjV6ZENCamIyMXRiMjRnUFNCNExtRnVaRmRwZEdoRGIzVnVkRUpwZEhNb2VTd2dkSEoxWlNrN1hHNGdJSEpsZEhWeWJpQmpiMjF0YjI0Z0x5QW9kRzkwWVd3Z0xTQmpiMjF0YjI0cE8xeHVmVnh1WEc1bGVIQnZjblFnWm5WdVkzUnBiMjRnZEdGdWFXMXZkRzlFYVhOMFlXNWpaU2g0T2lCQ2FYUkJjbkpoZVN3Z2VUb2dRbWwwUVhKeVlYa3BPaUJ1ZFcxaVpYSWdlMXh1SUNCeVpYUjFjbTRnWjJWMFJHbHpkR0Z1WTJWR2NtOXRVMmx0YVd4aGNtbDBlU2gwWVc1cGJXOTBiMU5wYldsc1lYSnBkSGtvZUN3Z2VTa3BPMXh1ZlZ4dVhHNWxlSEJ2Y25RZ1puVnVZM1JwYjI0Z2RHRnVhVzF2ZEc5RWFYTjBZVzVqWlVsdWRFRnljbUY1S0hnNklGVnBiblF6TWtGeWNtRjVMQ0I1T2lCVmFXNTBNekpCY25KaGVTazZJRzUxYldKbGNpQjdYRzRnSUdOdmJuTjBJSGhpSUQwZ2JtVjNJRUpwZEVGeWNtRjVLSGdzSUhndWJHVnVaM1JvSUNvZ016SXBPMXh1SUNCamIyNXpkQ0I1WWlBOUlHNWxkeUJDYVhSQmNuSmhlU2g1TENCNUxteGxibWQwYUNBcUlETXlLVHRjYmlBZ2NtVjBkWEp1SUdkbGRFUnBjM1JoYm1ObFJuSnZiVk5wYldsc1lYSnBkSGtvZEdGdWFXMXZkRzlUYVcxcGJHRnlhWFI1S0hoaUxDQjVZaWtwTzF4dWZWeHVYRzVsZUhCdmNuUWdablZ1WTNScGIyNGdaR2xqWlZOcGJXbHNZWEpwZEhrb2VEb2dRbWwwUVhKeVlYa3NJSGs2SUVKcGRFRnljbUY1S1RvZ2JuVnRZbVZ5SUh0Y2JpQWdZMjl1YzNRZ2RHOTBZV3dnUFNCNExuUnlkV1ZEYjNWdWRDZ3BJQ3NnZVM1MGNuVmxRMjkxYm5Rb0tUdGNiaUFnYVdZZ0tIUnZkR0ZzSUQwOUlEQXBJSEpsZEhWeWJpQXdMakE3WEc0Z0lHTnZibk4wSUdOdmJXMXZiaUE5SUhndVlXNWtWMmwwYUVOdmRXNTBRbWwwY3loNUxDQjBjblZsS1R0Y2JpQWdjbVYwZFhKdUlESWdLaUJqYjIxdGIyNGdMeUIwYjNSaGJEdGNibjFjYmx4dVpYaHdiM0owSUdaMWJtTjBhVzl1SUdScFkyVkVhWE4wWVc1alpTaDRPaUJDYVhSQmNuSmhlU3dnZVRvZ1FtbDBRWEp5WVhrcE9pQnVkVzFpWlhJZ2UxeHVJQ0J5WlhSMWNtNGdaMlYwUkdsemRHRnVZMlZHY205dFUybHRhV3hoY21sMGVTaGthV05sVTJsdGFXeGhjbWwwZVNoNExDQjVLU2s3WEc1OVhHNWNibVY0Y0c5eWRDQm1kVzVqZEdsdmJpQmpiM05wYm1WVGFXMXBiR0Z5YVhSNUtIZzZJRUpwZEVGeWNtRjVMQ0I1T2lCQ2FYUkJjbkpoZVNrNklHNTFiV0psY2lCN1hHNGdJR052Ym5OMElIUnZkR0ZzSUQwZ2VDNTBjblZsUTI5MWJuUW9LU0FxSUhrdWRISjFaVU52ZFc1MEtDazdYRzRnSUdsbUlDaDBiM1JoYkNBOVBTQXdLU0J5WlhSMWNtNGdNQzR3TzF4dUlDQmpiMjV6ZENCamIyMXRiMjRnUFNCNExtRnVaRmRwZEdoRGIzVnVkRUpwZEhNb2VTd2dkSEoxWlNrN1hHNGdJSEpsZEhWeWJpQmpiMjF0YjI0Z0x5Qk5ZWFJvTG5OeGNuUW9kRzkwWVd3cE8xeHVmVnh1WEc1bGVIQnZjblFnWm5WdVkzUnBiMjRnWTI5emFXNWxSR2x6ZEdGdVkyVW9lRG9nUW1sMFFYSnlZWGtzSUhrNklFSnBkRUZ5Y21GNUtUb2diblZ0WW1WeUlIdGNiaUFnY21WMGRYSnVJR2RsZEVScGMzUmhibU5sUm5KdmJWTnBiV2xzWVhKcGRIa29ZMjl6YVc1bFUybHRhV3hoY21sMGVTaDRMQ0I1S1NrN1hHNTlYRzVjYm1WNGNHOXlkQ0JtZFc1amRHbHZiaUJsZFdOc2FXUmxZVzVUYVcxcGJHRnlhWFI1S0hnNklFSnBkRUZ5Y21GNUxDQjVPaUJDYVhSQmNuSmhlU2s2SUc1MWJXSmxjaUI3WEc0Z0lISmxkSFZ5YmlCblpYUlRhVzFwYkdGeWFYUjVSbkp2YlVScGMzUmhibU5sS0dWMVkyeHBaR1ZoYmtScGMzUmhibU5sS0hnc0lIa3BLVHRjYm4xY2JseHVaWGh3YjNKMElHWjFibU4wYVc5dUlHVjFZMnhwWkdWaGJrUnBjM1JoYm1ObEtIZzZJRUpwZEVGeWNtRjVMQ0I1T2lCQ2FYUkJjbkpoZVNrNklHNTFiV0psY2lCN1hHNGdJSEpsZEhWeWJpQk5ZWFJvTG5OeGNuUW9lQzUwY25WbFEyOTFiblFvS1NBcklIa3VkSEoxWlVOdmRXNTBLQ2tnTFNBeUlDb2dlQzVoYm1SWGFYUm9RMjkxYm5SQ2FYUnpLSGtzSUhSeWRXVXBLVHRjYm4xY2JseHVaWGh3YjNKMElHWjFibU4wYVc5dUlHaGhiVzFwYm1kVGFXMXBiR0Z5YVhSNUtIZzZJRUpwZEVGeWNtRjVMQ0I1T2lCQ2FYUkJjbkpoZVNrNklHNTFiV0psY2lCN1hHNGdJSEpsZEhWeWJpQm5aWFJUYVcxcGJHRnlhWFI1Um5KdmJVUnBjM1JoYm1ObEtHaGhiVzFwYm1kRWFYTjBZVzVqWlNoNExDQjVLU2s3WEc1OVhHNWNibVY0Y0c5eWRDQm1kVzVqZEdsdmJpQm9ZVzF0YVc1blJHbHpkR0Z1WTJVb2VEb2dRbWwwUVhKeVlYa3NJSGs2SUVKcGRFRnljbUY1S1RvZ2JuVnRZbVZ5SUh0Y2JpQWdjbVYwZFhKdUlIZ3VkSEoxWlVOdmRXNTBLQ2tnS3lCNUxuUnlkV1ZEYjNWdWRDZ3BJQzBnTWlBcUlIZ3VZVzVrVjJsMGFFTnZkVzUwUW1sMGN5aDVMQ0IwY25WbEtUdGNibjFjYmx4dVpYaHdiM0owSUdaMWJtTjBhVzl1SUhOdmEyRnNVMmx0YVd4aGNtbDBlU2g0T2lCQ2FYUkJjbkpoZVN3Z2VUb2dRbWwwUVhKeVlYa3BPaUJ1ZFcxaVpYSWdlMXh1SUNCamIyNXpkQ0IwYjNSaGJDQTlJSGd1ZEhKMVpVTnZkVzUwS0NrZ0t5QjVMblJ5ZFdWRGIzVnVkQ2dwTzF4dUlDQmpiMjV6ZENCamIyMXRiMjRnUFNCNExtRnVaRmRwZEdoRGIzVnVkRUpwZEhNb2VTd2dkSEoxWlNrN1hHNGdJSEpsZEhWeWJpQmpiMjF0YjI0Z0x5QW9NaUFxSUhSdmRHRnNJQzBnTXlBcUlHTnZiVzF2YmlrN1hHNTlYRzVjYm1WNGNHOXlkQ0JtZFc1amRHbHZiaUJ6YjJ0aGJFUnBjM1JoYm1ObEtIZzZJRUpwZEVGeWNtRjVMQ0I1T2lCQ2FYUkJjbkpoZVNrNklHNTFiV0psY2lCN1hHNGdJSEpsZEhWeWJpQm5aWFJFYVhOMFlXNWpaVVp5YjIxVGFXMXBiR0Z5YVhSNUtITnZhMkZzVTJsdGFXeGhjbWwwZVNoNExDQjVLU2s3WEc1OVhHNWNibVY0Y0c5eWRDQm1kVzVqZEdsdmJpQnJkV3hqZW5sdWMydHBVMmx0YVd4aGNtbDBlU2g0T2lCQ2FYUkJjbkpoZVN3Z2VUb2dRbWwwUVhKeVlYa3BPaUJ1ZFcxaVpYSWdlMXh1SUNCamIyNXpkQ0IwYjNSaGJDQTlJSGd1ZEhKMVpVTnZkVzUwS0NrZ0t5QjVMblJ5ZFdWRGIzVnVkQ2dwTzF4dUlDQmpiMjV6ZENCMGIzUmhiRkJ5YjJRZ1BTQjRMblJ5ZFdWRGIzVnVkQ2dwSUNvZ2VTNTBjblZsUTI5MWJuUW9LVHRjYmlBZ2FXWWdLSFJ2ZEdGc1VISnZaQ0E5UFNBd0tTQnlaWFIxY200Z01DNHdPMXh1SUNCamIyNXpkQ0JqYjIxdGIyNGdQU0I0TG1GdVpGZHBkR2hEYjNWdWRFSnBkSE1vZVN3Z2RISjFaU2s3WEc0Z0lISmxkSFZ5YmlBb1kyOXRiVzl1SUNvZ2RHOTBZV3dwSUM4Z0tESWdLaUIwYjNSaGJGQnliMlFwTzF4dWZWeHVYRzVsZUhCdmNuUWdablZ1WTNScGIyNGdhM1ZzWTNwNWJuTnJhVVJwYzNSaGJtTmxLSGc2SUVKcGRFRnljbUY1TENCNU9pQkNhWFJCY25KaGVTazZJRzUxYldKbGNpQjdYRzRnSUhKbGRIVnliaUJuWlhSRWFYTjBZVzVqWlVaeWIyMVRhVzFwYkdGeWFYUjVLR3QxYkdONmVXNXphMmxUYVcxcGJHRnlhWFI1S0hnc0lIa3BLVHRjYm4xY2JseHVaWGh3YjNKMElHWjFibU4wYVc5dUlHMWpRMjl1Ym1GMVoyaGxlVk5wYldsc1lYSnBkSGtvZURvZ1FtbDBRWEp5WVhrc0lIazZJRUpwZEVGeWNtRjVLVG9nYm5WdFltVnlJSHRjYmlBZ1kyOXVjM1FnZEc5MFlXd2dQU0I0TG5SeWRXVkRiM1Z1ZENncElDc2dlUzUwY25WbFEyOTFiblFvS1R0Y2JpQWdZMjl1YzNRZ2RHOTBZV3hRY205a0lEMGdlQzUwY25WbFEyOTFiblFvS1NBcUlIa3VkSEoxWlVOdmRXNTBLQ2s3WEc0Z0lHbG1JQ2gwYjNSaGJGQnliMlFnUFQwZ01Da2djbVYwZFhKdUlEQXVNRHRjYmlBZ1kyOXVjM1FnWTI5dGJXOXVJRDBnZUM1aGJtUlhhWFJvUTI5MWJuUkNhWFJ6S0hrc0lIUnlkV1VwTzF4dUlDQnlaWFIxY200Z0tHTnZiVzF2YmlBcUlIUnZkR0ZzSUMwZ2RHOTBZV3hRY205a0tTQXZJSFJ2ZEdGc1VISnZaRHRjYm4xY2JseHVaWGh3YjNKMElHWjFibU4wYVc5dUlHMWpRMjl1Ym1GMVoyaGxlVVJwYzNSaGJtTmxLSGc2SUVKcGRFRnljbUY1TENCNU9pQkNhWFJCY25KaGVTazZJRzUxYldKbGNpQjdYRzRnSUhKbGRIVnliaUJuWlhSRWFYTjBZVzVqWlVaeWIyMVRhVzFwYkdGeWFYUjVLRzFqUTI5dWJtRjFaMmhsZVZOcGJXbHNZWEpwZEhrb2VDd2dlU2twTzF4dWZWeHVYRzVsZUhCdmNuUWdablZ1WTNScGIyNGdZWE41YlcxbGRISnBZMU5wYldsc1lYSnBkSGtvZURvZ1FtbDBRWEp5WVhrc0lIazZJRUpwZEVGeWNtRjVLVG9nYm5WdFltVnlJSHRjYmlBZ1kyOXVjM1FnYldsdUlEMGdUV0YwYUM1dGFXNG9lQzUwY25WbFEyOTFiblFvS1N3Z2VTNTBjblZsUTI5MWJuUW9LU2s3WEc0Z0lHbG1JQ2h0YVc0Z1BUMGdNQ2tnY21WMGRYSnVJREF1TUR0Y2JpQWdZMjl1YzNRZ1kyOXRiVzl1SUQwZ2VDNWhibVJYYVhSb1EyOTFiblJDYVhSektIa3NJSFJ5ZFdVcE8xeHVJQ0J5WlhSMWNtNGdZMjl0Ylc5dUlDOGdiV2x1TzF4dWZWeHVYRzVsZUhCdmNuUWdablZ1WTNScGIyNGdZWE41YlcxbGRISnBZMFJwYzNSaGJtTmxLSGc2SUVKcGRFRnljbUY1TENCNU9pQkNhWFJCY25KaGVTazZJRzUxYldKbGNpQjdYRzRnSUhKbGRIVnliaUJuWlhSRWFYTjBZVzVqWlVaeWIyMVRhVzFwYkdGeWFYUjVLR0Z6ZVcxdFpYUnlhV05UYVcxcGJHRnlhWFI1S0hnc0lIa3BLVHRjYm4xY2JseHVaWGh3YjNKMElHWjFibU4wYVc5dUlHSnlZWFZ1UW14aGJuRjFaWFJUYVcxcGJHRnlhWFI1S0hnNklFSnBkRUZ5Y21GNUxDQjVPaUJDYVhSQmNuSmhlU2s2SUc1MWJXSmxjaUI3WEc0Z0lHTnZibk4wSUcxaGVDQTlJRTFoZEdndWJXRjRLSGd1ZEhKMVpVTnZkVzUwS0Nrc0lIa3VkSEoxWlVOdmRXNTBLQ2twTzF4dUlDQnBaaUFvYldGNElEMDlJREFwSUhKbGRIVnliaUF3TGpBN1hHNGdJR052Ym5OMElHTnZiVzF2YmlBOUlIZ3VZVzVrVjJsMGFFTnZkVzUwUW1sMGN5aDVMQ0IwY25WbEtUdGNiaUFnY21WMGRYSnVJR052YlcxdmJpQXZJRzFoZUR0Y2JuMWNibHh1Wlhod2IzSjBJR1oxYm1OMGFXOXVJR0p5WVhWdVFteGhibkYxWlhSRWFYTjBZVzVqWlNoNE9pQkNhWFJCY25KaGVTd2dlVG9nUW1sMFFYSnlZWGtwT2lCdWRXMWlaWElnZTF4dUlDQnlaWFIxY200Z1oyVjBSR2x6ZEdGdVkyVkdjbTl0VTJsdGFXeGhjbWwwZVNoaWNtRjFia0pzWVc1eGRXVjBVMmx0YVd4aGNtbDBlU2g0TENCNUtTazdYRzU5WEc1Y2JtVjRjRzl5ZENCbWRXNWpkR2x2YmlCeWRYTnpaV3hUYVcxcGJHRnlhWFI1S0hnNklFSnBkRUZ5Y21GNUxDQjVPaUJDYVhSQmNuSmhlU2s2SUc1MWJXSmxjaUI3WEc0Z0lHbG1JQ2g0TG14bGJtZDBhQ0E5UFNBd0tTQnlaWFIxY200Z01DNHdPMXh1SUNCamIyNXpkQ0JqYjIxdGIyNGdQU0I0TG1GdVpGZHBkR2hEYjNWdWRFSnBkSE1vZVN3Z2RISjFaU2s3WEc0Z0lISmxkSFZ5YmlCamIyMXRiMjRnTHlCNExteGxibWQwYUR0Y2JuMWNibHh1Wlhod2IzSjBJR1oxYm1OMGFXOXVJSEoxYzNObGJFUnBjM1JoYm1ObEtIZzZJRUpwZEVGeWNtRjVMQ0I1T2lCQ2FYUkJjbkpoZVNrNklHNTFiV0psY2lCN1hHNGdJSEpsZEhWeWJpQm5aWFJFYVhOMFlXNWpaVVp5YjIxVGFXMXBiR0Z5YVhSNUtISjFjM05sYkZOcGJXbHNZWEpwZEhrb2VDd2dlU2twTzF4dWZWeHVYRzVsZUhCdmNuUWdablZ1WTNScGIyNGdjbTluYjNSSGIyeGtZbVZ5WjFOcGJXbHNZWEpwZEhrb2VEb2dRbWwwUVhKeVlYa3NJSGs2SUVKcGRFRnljbUY1S1RvZ2JuVnRZbVZ5SUh0Y2JpQWdZMjl1YzNRZ1kyOXRiVzl1SUQwZ2VDNWhibVJYYVhSb1EyOTFiblJDYVhSektIa3NJSFJ5ZFdVcE8xeHVJQ0JqYjI1emRDQjBiM1JoYkNBOUlIZ3VZMjkxYm5SQ2FYUnpLSFJ5ZFdVcElDc2dlUzVqYjNWdWRFSnBkSE1vZEhKMVpTazdYRzRnSUdOdmJuTjBJR3hsYmlBOUlIZ3ViR1Z1WjNSb08xeHVJQ0JqYjI1emRDQmthV1ptSUQwZ2JHVnVJQzBnZEc5MFlXd2dLeUJqYjIxdGIyNDdYRzRnSUdsbUlDZ29ZMjl0Ylc5dUlEMDlJR3hsYmlrZ2ZId2dLR1JwWm1ZZ1BUMGdiR1Z1S1NrZ2NtVjBkWEp1SURFdU1EdGNiaUFnWld4elpTQnlaWFIxY200Z1kyOXRiVzl1SUM4Z2RHOTBZV3dnS3lCa2FXWm1JQzhnS0RJZ0tpQnNaVzRnTFNCMGIzUmhiQ2s3WEc1OVhHNWNibVY0Y0c5eWRDQm1kVzVqZEdsdmJpQnliMmR2ZEVkdmJHUmlaWEpuUkdsemRHRnVZMlVvZURvZ1FtbDBRWEp5WVhrc0lIazZJRUpwZEVGeWNtRjVLVG9nYm5WdFltVnlJSHRjYmlBZ2NtVjBkWEp1SUdkbGRFUnBjM1JoYm1ObFJuSnZiVk5wYldsc1lYSnBkSGtvY205bmIzUkhiMnhrWW1WeVoxTnBiV2xzWVhKcGRIa29lQ3dnZVNrcE8xeHVmVnh1WEc1bGVIQnZjblFnWm5WdVkzUnBiMjRnWjJWMFUybHRhV3hoY21sMGVVWnliMjFFYVhOMFlXNWpaU2hrYVhOMFlXNWpaVG9nYm5WdFltVnlLU0I3WEc0Z0lISmxkSFZ5YmlBeElDOGdLREVnS3lCa2FYTjBZVzVqWlNrN1hHNTlYRzVjYm1WNGNHOXlkQ0JtZFc1amRHbHZiaUJuWlhSRWFYTjBZVzVqWlVaeWIyMVRhVzFwYkdGeWFYUjVLSE5wYldsc1lYSnBkSGs2SUc1MWJXSmxjaWtnZXlBdkwybHVJR05oYzJVZ2MybHRhV3hoY21sMGVTQnBjeUF3TENCMWMyVWdiV0Y0SUc1MWJXSmxjaUJtYjNJZ1pteHZZWFF6TWx4dUlDQnlaWFIxY200Z2MybHRhV3hoY21sMGVTQTlQVDBnTUNBL0lETXVOREF5T0RJelJTc3pPQ0E2SUNneElDOGdjMmx0YVd4aGNtbDBlU2tnTFNBeE8xeHVmVnh1WEc1bGVIQnZjblFnWm5WdVkzUnBiMjRnYm5WdFpYSnBZMFJwYzNSaGJtTmxLSGc2SUc1MWJXSmxjaXdnZVRvZ2JuVnRZbVZ5S1NCN1hHNGdJSEpsZEhWeWJpQk5ZWFJvTG1GaWN5aDRJQzBnZVNrN1hHNTlYRzRpWFgwPSIsImltcG9ydCB7IFZlY3RvciB9IGZyb20gJy4vdHlwZS1kZWNsYXJhdGlvbnMnO1xuaW1wb3J0IHsgcmFuZG9tRmxvYXQsIHJhbmRvbUludCB9IGZyb20gJy4vcmFuZG9tJztcbi8qKlxuICogQXNzZXJ0cyBhIGNvbmRpdGlvbiBieSB0aHJvd2luZyBhbiBFcnJvci5cbiAqXG4gKiBAZXhwb3J0XG4gKiBAcGFyYW0ge2Jvb2xlYW59IFtjb25kaXRpb249ZmFsc2VdIENvbmRpdGlvbiB0byBhc3NlcnQuXG4gKiBAcGFyYW0ge3N0cmluZ30gW21lc3NhZ2U9J0Fzc2VydGlvbiBlcnJvci4nXSBNZXNzYWdlIHRvIG91dHB1dC5cbiAqIEB0aHJvd3Mge0Vycm9yfVxuICovXG5leHBvcnQgZnVuY3Rpb24gYXNzZXJ0KGNvbmRpdGlvbiA9IGZhbHNlLCBtZXNzYWdlID0gJ0Fzc2VydGlvbiBlcnJvci4nKSB7XG4gICAgaWYgKCFjb25kaXRpb24pXG4gICAgICAgIHRocm93IG5ldyBFcnJvcihtZXNzYWdlKTtcbn1cbi8qKlxuICogQ3JlYXRlcyBuZXcgdHdvLWRpbWVuc2lvbmFsIGFycmF5IGFuZCBmaWxscyBpdCB3aXRoIHRoZSB2YWx1ZSBnaXZlbi5cbiAqXG4gKiBAcGFyYW0ge251bWJlcn0gZGltZW5zaW9uMSBUaGUgZmlyc3QgZGltZW5zaW9uIG9mIHRoZSBjb29yZGluYXRlcyAobnVtYmVyIG9mIHJvd3MpLlxuICogQHBhcmFtIHtudW1iZXJ9IGRpbWVuc2lvbjIgVGhlIHNlY29uZCBkaW1lbnNpb24gb2YgdGhlIGNvb3JkaW5hdGVzIChudW1iZXIgb2YgY29sdW1ucykuXG4gKiBAcGFyYW0ge251bWJlcn0gW2ZpbGw9MF0gQSB2YWx1ZSB0byBmaWxsIHRoZSBjb29yZGluYXRlcyB3aXRoLlxuICogQHJldHVybiB7Q29vcmRpbmF0ZXN9IEEgdHdvLWRpbWVuc2lvbmFsIGZpbGxlZCB3aXRoIHRoZSB2YWx1ZSBnaXZlbi5cbiAqIEB0b2RvIE1pZ2h0IGJlIHNsb3cgc2luY2UgdXNlZCBBcnJheS5tYXAuIFByb2JhYmx5IG5lZWRzIHBlcmZvcm1hbmNlIHJldmlzaW9uLlxuICovXG5leHBvcnQgZnVuY3Rpb24gaW5pdENvb3JkaW5hdGVzKGRpbWVuc2lvbjEsIGRpbWVuc2lvbjIsIGZpbGwgPSAwKSB7XG4gICAgcmV0dXJuIG5ldyBBcnJheShkaW1lbnNpb24xKS5maWxsKGZpbGwpLm1hcCgoKSA9PiAobmV3IFZlY3RvcihkaW1lbnNpb24yKS5maWxsKGZpbGwpKSk7XG59XG4vKipcbiAqIFRyYW5zcG9zZSBtYXRyaXguXG4gKlxuICogQGV4cG9ydFxuICogQHBhcmFtIHtNYXRyaXh9IG1hdHJpeCBUaGUgbWF0cml4IHRvIGJlIHRyYW5zcG9zZWQuXG4gKiBAcmV0dXJuIHtNYXRyaXh9IFRyYW5zcG9zZWQgbWF0cml4LlxuICogQHRvZG8gTWlnaHQgYmUgc2xvdyBzaW5jZSB1c2VkIEFycmF5Lm1hcC4gUHJvYmFibHkgbmVlZHMgcGVyZm9ybWFuY2UgcmV2aXNpb24uXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB0cmFuc3Bvc2VNYXRyaXgobWF0cml4KSB7XG4gICAgcmV0dXJuIG5ldyBBcnJheShtYXRyaXhbMF0ubGVuZ3RoKS5maWxsKDApXG4gICAgICAgIC5tYXAoKF8sIGkpID0+IChuZXcgVmVjdG9yKG1hdHJpeC5sZW5ndGgpLmZpbGwoMCkubWFwKChfLCBqKSA9PiAobWF0cml4W2pdW2ldKSkpKTtcbn1cbi8qKlxuICogQWRkcyB0d28gdmVjdG9ycyB3aXRoIHRoZSBzZWNvbmQgb25lIHRvIGJlIG11bHRpcGxpZWQgYnkgdGhlIGdpdmVuIHJhdGlvLlxuICpcbiAqIEBleHBvcnRcbiAqIEBwYXJhbSB7VmVjdG9yfSBwIFRoZSBmaXJzdCB2ZWN0b3IgdG8gYWRkLlxuICogQHBhcmFtIHtWZWN0b3J9IHEgVGhlIHNlY29uZCB2ZWN0b3IgdG8gYWRkLlxuICogQHBhcmFtIHtudW1iZXJ9IFttdWx0aXBsaWVyPTFdIEEgbXVsdGlwbGllciB0byBiZSB1c2VkIGJlZm9yZSB0aGUgc2Vjb25kIHZlY3RvciBpcyBhZGRlZC5cbiAqIEByZXR1cm4ge1ZlY3Rvcn0gTmV3IHZlY3RvciBjb250YWluZWQgdGhlIHJlc3VsdCBvZiBvcGVyYXRpb24gcCttdWx0aXBsaWVyKnEuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB2ZWN0b3JBZGQocCwgcSwgbXVsdGlwbGllciA9IDEpIHtcbiAgICBjb25zdCBuSXRlbXMgPSBwLmxlbmd0aDtcbiAgICBhc3NlcnQobkl0ZW1zID09IHEubGVuZ3RoLCAnVmVjdG9yIGxlbmd0aHMgZG8gbm90IG1hdGNoLicpO1xuICAgIGNvbnN0IHRvdGFsID0gbmV3IFZlY3RvcihuSXRlbXMpO1xuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgcC5sZW5ndGg7ICsraSlcbiAgICAgICAgdG90YWxbaV0gPSBwW2ldICsgbXVsdGlwbGllciAqIHFbaV07XG4gICAgcmV0dXJuIHRvdGFsO1xufVxuLyoqXG4gKiBTdW1zIHRoZSB2ZWN0b3IncyBpdGVtcy5cbiAqXG4gKiBAcGFyYW0ge1ZlY3Rvcn0gdiBUaGUgdmVjdG9yIHRvIGJlIHN1bW1lZC5cbiAqIEByZXR1cm4ge251bWJlcn0gVGhlIHZlY3RvcidzIGl0ZW1zIHN1bS5cbiAqL1xuZnVuY3Rpb24gaXRlbXNTdW0odikge1xuICAgIGxldCB0b3RhbCA9IDA7XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCB2Lmxlbmd0aDsgKytpKVxuICAgICAgICB0b3RhbCArPSB2W2ldO1xuICAgIHJldHVybiB0b3RhbDtcbn1cbi8qKlxuICogU3VxYXJlcyB0aGUgdmVjdG9yJ3MgaXRlbXMuXG4gKlxuICogQHBhcmFtIHtWZWN0b3J9IHYgVGhlIHZlY3RvciB0byBzcXVhcmUuXG4gKiBAcmV0dXJuIHtWZWN0b3J9IEEgbmV3IHZlY3RvciBjb250YWluaW5nIHRoZSBvcmlnaW5hbCdzIGl0ZW1zIHNxdWFyZWQuXG4gKi9cbmZ1bmN0aW9uIHZlY3RvclNxdWFyZSh2KSB7XG4gICAgY29uc3Qgbkl0ZW1zID0gdi5sZW5ndGg7XG4gICAgY29uc3QgdG90YWwgPSBuZXcgVmVjdG9yKG5JdGVtcyk7XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCB2Lmxlbmd0aDsgKytpKVxuICAgICAgICB0b3RhbFtpXSA9IHZbaV0gKiB2W2ldO1xuICAgIHJldHVybiB0b3RhbDtcbn1cbmV4cG9ydCBmdW5jdGlvbiB2ZWN0b3JMZW5ndGgodikge1xuICAgIGxldCBzcXJTdW0gPSAwO1xuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgdi5sZW5ndGg7IGkrKylcbiAgICAgICAgc3FyU3VtICs9IHZbaV0gKiB2W2ldO1xuICAgIHJldHVybiBNYXRoLnNxcnQoc3FyU3VtKTtcbn1cbmV4cG9ydCBmdW5jdGlvbiB2ZWN0b3JEb3RQcm9kdWN0KHYxLCB2Mikge1xuICAgIGlmICh2MS5sZW5ndGggIT0gdjIubGVuZ3RoKVxuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ1RoZSBkaW1lbnNpb25hbGl0eSBvZiB0aGUgdmVjdG9ycyBtdXN0IG1hdGNoJyk7XG4gICAgbGV0IHByb2QgPSAwO1xuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgdjEubGVuZ3RoOyBpKyspXG4gICAgICAgIHByb2QgKz0gdjFbaV0gKiB2MltpXTtcbiAgICByZXR1cm4gcHJvZDtcbn1cbi8qKlxuICogQ3JlYXRlcyBhIG1hdHJpeCBmaWxsZWQgd2l0aCByYW5kb20gZmxvYXRpbmcgcG9pbnQgdmFsdWVzLlxuICpcbiAqIEBleHBvcnRcbiAqIEBwYXJhbSB7bnVtYmVyfSBkaW1lbnNpb24xIFRoZSBmaXJzdCBkaW1lbnNpb24gb2YgdGhlIG1hdHJpeC5cbiAqIEBwYXJhbSB7bnVtYmVyfSBkaW1lbnNpb24yIFRoZSBzZWNvbmQgZGltZW5zaW9uIG9mIHRoZSBtYXRyaXguXG4gKiBAcGFyYW0ge251bWJlcn0gW3NjYWxlPTEuXSBNYXggdmFsdWUgZ2l2ZW4gYnkgcmFuZG9tIGdlbmVyYXRvci5cbiAqIEByZXR1cm4ge01hdHJpeH0gQSBuZXcgbWF0cml4IGZpbGxlZCB3aXRoIHJhbmRvbSBmbG9hdGluZyBwb2ludCAgdmFsdWVzLlxuICovXG5leHBvcnQgZnVuY3Rpb24gZmlsbFJhbmRvbU1hdHJpeChkaW1lbnNpb24xLCBkaW1lbnNpb24yLCBzY2FsZSA9IDEuKSB7XG4gICAgY29uc3QgbWF0cml4ID0gaW5pdENvb3JkaW5hdGVzKGRpbWVuc2lvbjEsIGRpbWVuc2lvbjIpO1xuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgZGltZW5zaW9uMTsgKytpKSB7XG4gICAgICAgIGZvciAobGV0IGogPSAwOyBqIDwgZGltZW5zaW9uMjsgKytqKVxuICAgICAgICAgICAgbWF0cml4W2ldW2pdID0gcmFuZG9tRmxvYXQoc2NhbGUpO1xuICAgIH1cbiAgICByZXR1cm4gbWF0cml4O1xufVxuLyoqXG4gKiBDYWxjdWxhdGVzIEV1Y2xpZGVhbiBkaXN0YW5jZSBiZXR3ZWVuIHR3byB2ZWN0b3JzLlxuICpcbiAqIEBleHBvcnRcbiAqIEBwYXJhbSB7VmVjdG9yfSBwIFRoZSBmaXJzdCB2ZWN0b3IuXG4gKiBAcGFyYW0ge1ZlY3Rvcn0gcSBUaGUgc2Vjb25kIHZlY3Rvci5cbiAqIEByZXR1cm4ge251bWJlcn0gRXVjbGlkZWFuIGRpc3RhbmNlIGJldHdlZW4gdGhlIGdpdmVuIHZlY3RvcnMuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBjYWxjdWxhdGVFdWNsaWRlYW5EaXN0YW5jZShwLCBxKSB7XG4gICAgbGV0IHJlc3VsdCA9IDA7XG4gICAgY29uc3QgbGVuID0gcC5sZW5ndGg7XG4gICAgaWYgKGxlbiAhPT0gcS5sZW5ndGgpXG4gICAgICAgIHRocm93IG5ldyBFcnJvcignVGhlIGRpbWVuc2lvbmFsaXR5IG9mIHRoZSB2ZWN0b3JzIG11c3QgbWF0Y2gnKTtcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IGxlbjsgKytpKVxuICAgICAgICByZXN1bHQgKz0gTWF0aC5wb3coKHBbaV0gLSBxW2ldKSwgMik7XG4gICAgcmV0dXJuIE1hdGguc3FydChyZXN1bHQpO1xufVxuLyoqXG4gKiBDcmVhdGVzIGEgZGlzdGFuY2UgbWF0cml4IHVzaW5nIGEgY3VzdG9tIGRpc3RhbmNlIGZ1bmN0aW9uLlxuICpcbiAqIEBleHBvcnRcbiAqIEBwYXJhbSB7VmVjdG9yc30gZGF0YSBJbnB1dCB2ZWN0b3JzIHRvIGNhbGN1bGF0ZSBkaXN0YW5jZXMuXG4gKiBAcGFyYW0ge0Rpc3RhbmNlTWV0cmljfSBkaXN0YW5jZSBDdXN0b20gZGlzdGFuY2UgZnVuY3Rpb24uXG4gKiBAcmV0dXJuIHtNYXRyaXh9IENhbGN1bGF0ZWQgY3VzdG9tIGRpc3RhbmNlIG1hdHJpeC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGNhbGNEaXN0YW5jZU1hdHJpeChkYXRhLCBkaXN0YW5jZSkge1xuICAgIGNvbnN0IG5JdGVtcyA9IGRhdGEubGVuZ3RoO1xuICAgIGNvbnN0IG1hdHJpeCA9IGluaXRDb29yZGluYXRlcyhuSXRlbXMsIG5JdGVtcywgMCk7XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBuSXRlbXM7ICsraSkge1xuICAgICAgICBmb3IgKGxldCBqID0gaSArIDE7IGogPCBuSXRlbXM7ICsraikge1xuICAgICAgICAgICAgY29uc3QgZCA9IChkYXRhW2ldID09IG51bGwpIHx8IChkYXRhW2pdID09IG51bGwpID8gMCA6IGRpc3RhbmNlKGRhdGFbaV0sIGRhdGFbal0pO1xuICAgICAgICAgICAgbWF0cml4W2ldW2pdID0gbWF0cml4W2pdW2ldID0gZDtcbiAgICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gbWF0cml4O1xufVxuLyoqXG4gKiBDcmVhdGVzIGEgZGlzdGFuY2UgbWF0cml4IHVzaW5nIGEgY3VzdG9tIGRpc3RhbmNlIGZ1bmN0aW9uLlxuICpcbiAqIEBleHBvcnRcbiAqIEBwYXJhbSB7VmVjdG9yc30gZGF0YSBJbnB1dCB2ZWN0b3JzIHRvIGNhbGN1bGF0ZSBkaXN0YW5jZXMuXG4gKiBAcGFyYW0ge0Rpc3RhbmNlTWV0cmljfSBkaXN0YW5jZSBDdXN0b20gZGlzdGFuY2UgZnVuY3Rpb24uXG4gKiBAcmV0dXJuIHtNYXRyaXh9IENhbGN1bGF0ZWQgY3VzdG9tIGRpc3RhbmNlIG1hdHJpeC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGNhbGNOb3JtYWxpemVkRGlzdGFuY2VNYXRyaXgoZGF0YSwgZGlzdGFuY2UpIHtcbiAgICBjb25zdCBuSXRlbXMgPSBkYXRhLmxlbmd0aDtcbiAgICBjb25zdCBtYXRyaXggPSBpbml0Q29vcmRpbmF0ZXMobkl0ZW1zLCBuSXRlbXMsIDApO1xuICAgIGxldCBtYXggPSBOdW1iZXIuTUlOX1ZBTFVFO1xuICAgIGxldCBtaW4gPSBOdW1iZXIuTUFYX1ZBTFVFO1xuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgbkl0ZW1zOyArK2kpIHtcbiAgICAgICAgZm9yIChsZXQgaiA9IGk7IGogPCBuSXRlbXM7ICsraikge1xuICAgICAgICAgICAgY29uc3QgZCA9IChkYXRhW2ldID09IG51bGwpIHx8IChkYXRhW2pdID09IG51bGwgfHwgaSA9PT0gaikgPyAwIDogZGlzdGFuY2UoZGF0YVtpXSwgZGF0YVtqXSk7XG4gICAgICAgICAgICBtYXRyaXhbaV1bal0gPSBtYXRyaXhbal1baV0gPSBkO1xuICAgICAgICAgICAgaWYgKGQgPiBtYXgpXG4gICAgICAgICAgICAgICAgbWF4ID0gZDtcbiAgICAgICAgICAgIGlmIChkIDwgbWluKVxuICAgICAgICAgICAgICAgIG1pbiA9IGQ7XG4gICAgICAgIH1cbiAgICB9XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBuSXRlbXM7ICsraSkge1xuICAgICAgICBmb3IgKGxldCBqID0gaSArIDE7IGogPCBuSXRlbXM7ICsrailcbiAgICAgICAgICAgIG1hdHJpeFtpXVtqXSA9IG1hdHJpeFtqXVtpXSA9IChtYXRyaXhbaV1bal0gLSBtaW4pIC8gKG1heCAtIG1pbik7XG4gICAgfVxuICAgIHJldHVybiBtYXRyaXg7XG59XG4vKiogR2VuZXJhdGVzIGFycmF5IGZyb20gYSByYW5nZSBbYmVnaW47IGVuZF0gb3IgW2JlZ2luOyBlbmQpIGlmIGVuZEV4Y2x1c2l2ZS4gKiovXG5leHBvcnQgZnVuY3Rpb24gZ2VuUmFuZ2UoYmVnaW4sIGVuZCwgZW5kRXhjbHVzaXZlID0gZmFsc2UpIHtcbiAgICBjb25zdCBuSXRlbXMgPSBlbmQgLSBiZWdpbiArIChlbmRFeGNsdXNpdmUgPyAwIDogMSk7XG4gICAgY29uc3Qgc2VyaWVzID0gbmV3IEludDMyQXJyYXkobkl0ZW1zKTtcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IG5JdGVtczsgKytpKVxuICAgICAgICBzZXJpZXNbaV0gPSBiZWdpbiArIGk7XG4gICAgcmV0dXJuIHNlcmllcztcbn1cbi8qKlxuICogUmV0dXJucyBvcmRlciBvZiB2YWx1ZXMgYXMgaWYgdGhleSBhcmUgc29ydGVkLlxuICpcbiAqIEBleHBvcnRcbiAqIEBwYXJhbSB7YW55W119IHZhbHVlcyBJbnB1dCBhcnJheS5cbiAqIEBwYXJhbSB7Ym9vbGVhbn0gW3JldmVyc2U9ZmFsc2VdIFdoZXRoZXIgdG8gcmV0dXJuIHJldmVyc2VkIG9yZGVyLlxuICogQHJldHVybiB7bnVtYmVyW119IFRoZSBvcmRlciBjb21wdXRlZC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGFyZ1NvcnQodmFsdWVzLCByZXZlcnNlID0gZmFsc2UpIHtcbiAgICBjb25zdCBzb3J0Zm4gPSByZXZlcnNlID8gKGEsIGIpID0+IChiWzBdIC0gYVswXSkgOiAoYSwgYikgPT4gKGFbMF0gLSBiWzBdKTtcbiAgICBjb25zdCBkZWNvciA9ICh2LCBpKSA9PiBbdiwgaV07IC8vIHNldCBpbmRleCB0byB2YWx1ZVxuICAgIGNvbnN0IHVuZGVjb3IgPSAoYSkgPT4gYVsxXTsgLy8gbGVhdmUgb25seSBpbmRleFxuICAgIGNvbnN0IF9hcmdzb3J0ID0gKGFycikgPT4gYXJyLm1hcChkZWNvcikuc29ydChzb3J0Zm4pLm1hcCh1bmRlY29yKTtcbiAgICByZXR1cm4gX2FyZ3NvcnQodmFsdWVzKTtcbn1cbi8qKlxuICogUmV0dXJucyB0aGUgaW5kZXhlcyBvZiB0aGUgbW9zdCBkaXZlcnNlIG9iamVjdHMgYWNjb3JkaW5nIHRvIHRoZSBkaXN0IGZ1bmN0aW9uXG4gKiBAcGFyYW0ge251bWJlcn0gbGVuZ3RoIHRvdGFsIG51bWJlciBvZiBvYmplY3RzXG4gKiBAcGFyYW0ge251bWJlcn0gbiBudW1iZXIgb2YgZGl2ZXJzZSBlbGVtZW50cyB0byBmaW5kXG4gKiBAcGFyYW0geyhpMTogbnVtYmVyLCBpMjogbnVtYmVyKSA9PiBudW1iZXJ9IGRpc3QgYSBmdW5jdGlvbiB3aGljaCBjYWxjdWxhdGVzIGRpc3RhbmNlIGJldHdlZW5cbiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0d28gb2JqZWN0cyB1c2luZyB0aGVpciBpbmRleGVzXG4gKiBAcmV0dXJucyB7bnVtYmVyW119IFRoZSBpbmRleGVzIG9mIHRoZSBtb3N0IGRpdmVyc2Ugb2JqZWN0c1xuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0RGl2ZXJzZVN1YnNldChsZW5ndGgsIG4sIGRpc3QpIHtcbiAgICBmdW5jdGlvbiBtYXhCeSh2YWx1ZXMsIG9yZGVyQnkpIHtcbiAgICAgICAgbGV0IG1heFZhbHVlID0gbnVsbDtcbiAgICAgICAgbGV0IG1heE9yZGVyQnkgPSBudWxsO1xuICAgICAgICBmb3IgKGNvbnN0IGVsZW1lbnQgb2YgdmFsdWVzKSB7XG4gICAgICAgICAgICBjb25zdCBlbGVtZW50T3JkZXJCeSA9IG9yZGVyQnkoZWxlbWVudCk7XG4gICAgICAgICAgICBpZiAobWF4T3JkZXJCeSA9PSBudWxsIHx8IGVsZW1lbnRPcmRlckJ5ID4gbWF4T3JkZXJCeSkge1xuICAgICAgICAgICAgICAgIG1heFZhbHVlID0gZWxlbWVudDtcbiAgICAgICAgICAgICAgICBtYXhPcmRlckJ5ID0gZWxlbWVudE9yZGVyQnk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIG1heFZhbHVlO1xuICAgIH1cbiAgICBjb25zdCBzdWJzZXQgPSBbcmFuZG9tSW50KGxlbmd0aCAtIDEpXTtcbiAgICBjb25zdCBjb21wbGVtZW50ID0gbmV3IFNldCgpO1xuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgbGVuZ3RoOyArK2kpIHtcbiAgICAgICAgaWYgKCFzdWJzZXQuaW5jbHVkZXMoaSkpXG4gICAgICAgICAgICBjb21wbGVtZW50LmFkZChpKTtcbiAgICB9XG4gICAgd2hpbGUgKHN1YnNldC5sZW5ndGggPCBuKSB7XG4gICAgICAgIGNvbnN0IGlkeCA9IG1heEJ5KGNvbXBsZW1lbnQudmFsdWVzKCksIChpKSA9PiBNYXRoLm1pbi5hcHBseShNYXRoLCBzdWJzZXQubWFwKGZ1bmN0aW9uICh2YWwsIGluZGV4KSB7XG4gICAgICAgICAgICByZXR1cm4gZGlzdChpLCB2YWwpO1xuICAgICAgICB9KSkpO1xuICAgICAgICBpZiAoaWR4KSB7XG4gICAgICAgICAgICBzdWJzZXQucHVzaChpZHgpO1xuICAgICAgICAgICAgY29tcGxlbWVudC5kZWxldGUoaWR4KTtcbiAgICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gc3Vic2V0O1xufVxuLyoqXG4gKiBSZXR1cm5zIG5vcm1hbGl6ZWQgdmVjdG9yLlxuICpcbiAqIEBleHBvcnRcbiAqIEBwYXJhbSB7VmVjdG9yfSBkYXRhIG51bWVyaWNhbCBhcnJheVxuICovXG5leHBvcnQgZnVuY3Rpb24gbm9ybWFsaXplKGRhdGEpIHtcbiAgICBjb25zdCBsZW4gPSBkYXRhLmxlbmd0aDtcbiAgICBsZXQgc3VtID0gMDtcbiAgICBsZXQgc3VtT2ZTcXVhcmVzID0gMDtcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IGxlbjsgKytpKSB7XG4gICAgICAgIHN1bSArPSBkYXRhW2ldO1xuICAgICAgICBzdW1PZlNxdWFyZXMgKz0gTWF0aC5wb3coZGF0YVtpXSwgMik7XG4gICAgfVxuICAgIGNvbnN0IG1lYW4gPSBzdW0gLyBsZW47XG4gICAgY29uc3Qgc3RkRGV2SW52ZXJzZSA9IDEuMCAvIE1hdGguc3FydChzdW1PZlNxdWFyZXMgLyBsZW4gLSBNYXRoLnBvdyhtZWFuLCAyKSk7XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBsZW47ICsraSlcbiAgICAgICAgZGF0YVtpXSA9IChkYXRhW2ldIC0gbWVhbikgKiBzdGREZXZJbnZlcnNlO1xuICAgIHJldHVybiBkYXRhO1xufVxuLyoqXG4gKiBGaW5kcyBzZXQgZGlmZmVyZW5jZSBiZXR3ZWVuIHR3byBsaXN0cy5cbiAqIEBwYXJhbSB7YW55W119IGEgVGhlIGZpcnN0IGxpc3QuXG4gKiBAcGFyYW0ge2FueVtdfSBiIFRoZSBzZWNvbmQgbGlzdC5cbiAqIEByZXR1cm4ge2FueVtdfVxuICovXG5leHBvcnQgZnVuY3Rpb24gc2V0RGlmZmVyZW5jZShhLCBiKSB7XG4gICAgY29uc3QgYlNldCA9IG5ldyBTZXQoYik7XG4gICAgcmV0dXJuIEFycmF5LmZyb20obmV3IFNldChhLmZpbHRlcigoeCkgPT4gIWJTZXQuaGFzKHgpKSkudmFsdWVzKCkpO1xufVxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKbWFXeGxJam9pZG1WamRHOXlMVzl3WlhKaGRHbHZibk11YW5NaUxDSnpiM1Z5WTJWU2IyOTBJam9pSWl3aWMyOTFjbU5sY3lJNld5SjJaV04wYjNJdGIzQmxjbUYwYVc5dWN5NTBjeUpkTENKdVlXMWxjeUk2VzEwc0ltMWhjSEJwYm1keklqb2lRVUZCUVN4UFFVRlBMRVZCUVZNc1RVRkJUU3hGUVVGMVF5eE5RVUZOTEhGQ1FVRnhRaXhEUVVGRE8wRkJRM3BHTEU5QlFVOHNSVUZCUXl4WFFVRlhMRVZCUVVVc1UwRkJVeXhGUVVGRExFMUJRVTBzVlVGQlZTeERRVUZETzBGQlJXaEVPenM3T3pzN08wZEJUMGM3UVVGRFNDeE5RVUZOTEZWQlFWVXNUVUZCVFN4RFFVRkRMRmxCUVhGQ0xFdEJRVXNzUlVGQlJTeFZRVUZyUWl4clFrRkJhMEk3U1VGRGNrWXNTVUZCU1N4RFFVRkRMRk5CUVZNN1VVRkRXaXhOUVVGTkxFbEJRVWtzUzBGQlN5eERRVUZETEU5QlFVOHNRMEZCUXl4RFFVRkRPMEZCUXpkQ0xFTkJRVU03UVVGRlJEczdPenM3T3pzN1IwRlJSenRCUVVOSUxFMUJRVTBzVlVGQlZTeGxRVUZsTEVOQlFVTXNWVUZCYTBJc1JVRkJSU3hWUVVGclFpeEZRVUZGTEU5QlFXVXNRMEZCUXp0SlFVTjBSaXhQUVVGUExFbEJRVWtzUzBGQlN5eERRVUZETEZWQlFWVXNRMEZCUXl4RFFVRkRMRWxCUVVrc1EwRkJReXhKUVVGSkxFTkJRVU1zUTBGQlF5eEhRVUZITEVOQlFVTXNSMEZCUnl4RlFVRkZMRU5CUVVNc1EwRkJReXhKUVVGSkxFMUJRVTBzUTBGQlF5eFZRVUZWTEVOQlFVTXNRMEZCUXl4SlFVRkpMRU5CUVVNc1NVRkJTU3hEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETzBGQlEzcEdMRU5CUVVNN1FVRkZSRHM3T3pzN096dEhRVTlITzBGQlEwZ3NUVUZCVFN4VlFVRlZMR1ZCUVdVc1EwRkJReXhOUVVGak8wbEJRelZETEU5QlFVOHNTVUZCU1N4TFFVRkxMRU5CUVVNc1RVRkJUU3hEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETEUxQlFVMHNRMEZCUXl4RFFVRkRMRWxCUVVrc1EwRkJReXhEUVVGRExFTkJRVU03VTBGRGRrTXNSMEZCUnl4RFFVRkRMRU5CUVVNc1EwRkJReXhGUVVGRkxFTkJRVU1zUlVGQlJTeEZRVUZGTEVOQlFVTXNRMEZCUXl4SlFVRkpMRTFCUVUwc1EwRkJReXhOUVVGTkxFTkJRVU1zVFVGQlRTeERRVUZETEVOQlFVTXNTVUZCU1N4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRExFZEJRVWNzUTBGQlF5eERRVUZETEVOQlFVTXNSVUZCUlN4RFFVRkRMRVZCUVVVc1JVRkJSU3hEUVVGRExFTkJRVU1zVFVGQlRTeERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTTdRVUZEZEVZc1EwRkJRenRCUVVWRU96czdPenM3T3p0SFFWRkhPMEZCUTBnc1RVRkJUU3hWUVVGVkxGTkJRVk1zUTBGQlF5eERRVUZUTEVWQlFVVXNRMEZCVXl4RlFVRkZMR0ZCUVhGQ0xFTkJRVU03U1VGRGNFVXNUVUZCVFN4TlFVRk5MRWRCUVVjc1EwRkJReXhEUVVGRExFMUJRVTBzUTBGQlF6dEpRVVY0UWl4TlFVRk5MRU5CUVVNc1RVRkJUU3hKUVVGSkxFTkJRVU1zUTBGQlF5eE5RVUZOTEVWQlFVVXNPRUpCUVRoQ0xFTkJRVU1zUTBGQlF6dEpRVVV6UkN4TlFVRk5MRXRCUVVzc1IwRkJSeXhKUVVGSkxFMUJRVTBzUTBGQlF5eE5RVUZOTEVOQlFVTXNRMEZCUXp0SlFVVnFReXhMUVVGTExFbEJRVWtzUTBGQlF5eEhRVUZITEVOQlFVTXNSVUZCUlN4RFFVRkRMRWRCUVVjc1EwRkJReXhEUVVGRExFMUJRVTBzUlVGQlJTeEZRVUZGTEVOQlFVTTdVVUZETDBJc1MwRkJTeXhEUVVGRExFTkJRVU1zUTBGQlF5eEhRVUZITEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNc1IwRkJSeXhWUVVGVkxFZEJRVWNzUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRPMGxCUlhSRExFOUJRVThzUzBGQlN5eERRVUZETzBGQlEyWXNRMEZCUXp0QlFVVkVPenM3T3p0SFFVdEhPMEZCUTBnc1UwRkJVeXhSUVVGUkxFTkJRVU1zUTBGQlV6dEpRVU42UWl4SlFVRkpMRXRCUVVzc1IwRkJSeXhEUVVGRExFTkJRVU03U1VGRlpDeExRVUZMTEVsQlFVa3NRMEZCUXl4SFFVRkhMRU5CUVVNc1JVRkJSU3hEUVVGRExFZEJRVWNzUTBGQlF5eERRVUZETEUxQlFVMHNSVUZCUlN4RlFVRkZMRU5CUVVNN1VVRkRMMElzUzBGQlN5eEpRVUZKTEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJRenRKUVVWb1FpeFBRVUZQTEV0QlFVc3NRMEZCUXp0QlFVTm1MRU5CUVVNN1FVRkZSRHM3T3pzN1IwRkxSenRCUVVOSUxGTkJRVk1zV1VGQldTeERRVUZETEVOQlFWTTdTVUZETjBJc1RVRkJUU3hOUVVGTkxFZEJRVWNzUTBGQlF5eERRVUZETEUxQlFVMHNRMEZCUXp0SlFVTjRRaXhOUVVGTkxFdEJRVXNzUjBGQlJ5eEpRVUZKTEUxQlFVMHNRMEZCUXl4TlFVRk5MRU5CUVVNc1EwRkJRenRKUVVWcVF5eExRVUZMTEVsQlFVa3NRMEZCUXl4SFFVRkhMRU5CUVVNc1JVRkJSU3hEUVVGRExFZEJRVWNzUTBGQlF5eERRVUZETEUxQlFVMHNSVUZCUlN4RlFVRkZMRU5CUVVNN1VVRkRMMElzUzBGQlN5eERRVUZETEVOQlFVTXNRMEZCUXl4SFFVRkhMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU1zUjBGQlJ5eERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNN1NVRkZla0lzVDBGQlR5eExRVUZMTEVOQlFVTTdRVUZEWml4RFFVRkRPMEZCUlVRc1RVRkJUU3hWUVVGVkxGbEJRVmtzUTBGQlF5eERRVUZUTzBsQlEzQkRMRWxCUVVrc1RVRkJUU3hIUVVGWExFTkJRVU1zUTBGQlF6dEpRVU4yUWl4TFFVRkxMRWxCUVVrc1EwRkJReXhIUVVGWExFTkJRVU1zUlVGQlJTeERRVUZETEVkQlFVY3NRMEZCUXl4RFFVRkRMRTFCUVUwc1JVRkJSU3hEUVVGRExFVkJRVVU3VVVGRGRrTXNUVUZCVFN4SlFVRkpMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU1zUjBGQlJ5eERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNN1NVRkRlRUlzVDBGQlR5eEpRVUZKTEVOQlFVTXNTVUZCU1N4RFFVRkRMRTFCUVUwc1EwRkJReXhEUVVGRE8wRkJRek5DTEVOQlFVTTdRVUZGUkN4TlFVRk5MRlZCUVZVc1owSkJRV2RDTEVOQlFVTXNSVUZCVlN4RlFVRkZMRVZCUVZVN1NVRkRja1FzU1VGQlNTeEZRVUZGTEVOQlFVTXNUVUZCVFN4SlFVRkpMRVZCUVVVc1EwRkJReXhOUVVGTk8xRkJRM2hDTEUxQlFVMHNTVUZCU1N4TFFVRkxMRU5CUVVNc09FTkJRVGhETEVOQlFVTXNRMEZCUXp0SlFVTnNSU3hKUVVGSkxFbEJRVWtzUjBGQlZ5eERRVUZETEVOQlFVTTdTVUZEY2tJc1MwRkJTeXhKUVVGSkxFTkJRVU1zUjBGQlZ5eERRVUZETEVWQlFVVXNRMEZCUXl4SFFVRkhMRVZCUVVVc1EwRkJReXhOUVVGTkxFVkJRVVVzUTBGQlF5eEZRVUZGTzFGQlEzaERMRWxCUVVrc1NVRkJTU3hGUVVGRkxFTkJRVU1zUTBGQlF5eERRVUZETEVkQlFVY3NSVUZCUlN4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRE8wbEJRM2hDTEU5QlFVOHNTVUZCU1N4RFFVRkRPMEZCUTJRc1EwRkJRenRCUVVWRU96czdPenM3T3p0SFFWRkhPMEZCUTBnc1RVRkJUU3hWUVVGVkxHZENRVUZuUWl4RFFVRkRMRlZCUVd0Q0xFVkJRVVVzVlVGQmEwSXNSVUZCUlN4UlFVRm5RaXhGUVVGRk8wbEJRM3BHTEUxQlFVMHNUVUZCVFN4SFFVRkhMR1ZCUVdVc1EwRkJReXhWUVVGVkxFVkJRVVVzVlVGQlZTeERRVUZETEVOQlFVTTdTVUZGZGtRc1MwRkJTeXhKUVVGSkxFTkJRVU1zUjBGQlJ5eERRVUZETEVWQlFVVXNRMEZCUXl4SFFVRkhMRlZCUVZVc1JVRkJSU3hGUVVGRkxFTkJRVU1zUlVGQlJUdFJRVU51UXl4TFFVRkxMRWxCUVVrc1EwRkJReXhIUVVGSExFTkJRVU1zUlVGQlJTeERRVUZETEVkQlFVY3NWVUZCVlN4RlFVRkZMRVZCUVVVc1EwRkJRenRaUVVOcVF5eE5RVUZOTEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRExFZEJRVWNzVjBGQlZ5eERRVUZETEV0QlFVc3NRMEZCUXl4RFFVRkRPMHRCUTNKRE8wbEJRMFFzVDBGQlR5eE5RVUZOTEVOQlFVTTdRVUZEYUVJc1EwRkJRenRCUVVWRU96czdPenM3TzBkQlQwYzdRVUZEU0N4TlFVRk5MRlZCUVZVc01FSkJRVEJDTEVOQlFVTXNRMEZCVXl4RlFVRkZMRU5CUVZNN1NVRkROMFFzU1VGQlNTeE5RVUZOTEVkQlFVY3NRMEZCUXl4RFFVRkRPMGxCUTJZc1RVRkJUU3hIUVVGSExFZEJRVWNzUTBGQlF5eERRVUZETEUxQlFVMHNRMEZCUXp0SlFVVnlRaXhKUVVGSkxFZEJRVWNzUzBGQlN5eERRVUZETEVOQlFVTXNUVUZCVFR0UlFVTnNRaXhOUVVGTkxFbEJRVWtzUzBGQlN5eERRVUZETERoRFFVRTRReXhEUVVGRExFTkJRVU03U1VGRmJFVXNTMEZCU3l4SlFVRkpMRU5CUVVNc1IwRkJSeXhEUVVGRExFVkJRVVVzUTBGQlF5eEhRVUZITEVkQlFVY3NSVUZCUlN4RlFVRkZMRU5CUVVNN1VVRkRNVUlzVFVGQlRTeEpRVUZKTEZOQlFVRXNRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRExFZEJRVWNzUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRMRVZCUVVrc1EwRkJReXhEUVVGQkxFTkJRVU03U1VGRkwwSXNUMEZCVHl4SlFVRkpMRU5CUVVNc1NVRkJTU3hEUVVGRExFMUJRVTBzUTBGQlF5eERRVUZETzBGQlF6TkNMRU5CUVVNN1FVRkZSRHM3T3pzN096dEhRVTlITzBGQlEwZ3NUVUZCVFN4VlFVRlZMR3RDUVVGclFpeERRVUZETEVsQlFXRXNSVUZCUlN4UlFVRjNRanRKUVVONFJTeE5RVUZOTEUxQlFVMHNSMEZCUnl4SlFVRkpMRU5CUVVNc1RVRkJUU3hEUVVGRE8wbEJRek5DTEUxQlFVMHNUVUZCVFN4SFFVRkhMR1ZCUVdVc1EwRkJReXhOUVVGTkxFVkJRVVVzVFVGQlRTeEZRVUZGTEVOQlFVTXNRMEZCUXl4RFFVRkRPMGxCUld4RUxFdEJRVXNzU1VGQlNTeERRVUZETEVkQlFVY3NRMEZCUXl4RlFVRkZMRU5CUVVNc1IwRkJSeXhOUVVGTkxFVkJRVVVzUlVGQlJTeERRVUZETEVWQlFVVTdVVUZETDBJc1MwRkJTeXhKUVVGSkxFTkJRVU1zUjBGQlJ5eERRVUZETEVkQlFVY3NRMEZCUXl4RlFVRkZMRU5CUVVNc1IwRkJSeXhOUVVGTkxFVkJRVVVzUlVGQlJTeERRVUZETEVWQlFVVTdXVUZEYmtNc1RVRkJUU3hEUVVGRExFZEJRVmNzUTBGQlF5eEpRVUZKTEVOQlFVTXNRMEZCUXl4RFFVRkRMRWxCUVVrc1NVRkJTU3hEUVVGRExFbEJRVWtzUTBGQlF5eEpRVUZKTEVOQlFVTXNRMEZCUXl4RFFVRkRMRWxCUVVrc1NVRkJTU3hEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNc1VVRkJVU3hEUVVGRExFbEJRVWtzUTBGQlF5eERRVUZETEVOQlFVTXNSVUZCUlN4SlFVRkpMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF6dFpRVU14Uml4TlFVRk5MRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETEVkQlFVY3NUVUZCVFN4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF5eEhRVUZITEVOQlFVTXNRMEZCUXp0VFFVTnFRenRMUVVOR08wbEJRMFFzVDBGQlR5eE5RVUZOTEVOQlFVTTdRVUZEYUVJc1EwRkJRenRCUVVWRU96czdPenM3TzBkQlQwYzdRVUZEU0N4TlFVRk5MRlZCUVZVc05FSkJRVFJDTEVOQlFVTXNTVUZCWVN4RlFVRkZMRkZCUVhkQ08wbEJRMnhHTEUxQlFVMHNUVUZCVFN4SFFVRkhMRWxCUVVrc1EwRkJReXhOUVVGTkxFTkJRVU03U1VGRE0wSXNUVUZCVFN4TlFVRk5MRWRCUVVjc1pVRkJaU3hEUVVGRExFMUJRVTBzUlVGQlJTeE5RVUZOTEVWQlFVVXNRMEZCUXl4RFFVRkRMRU5CUVVNN1NVRkRiRVFzU1VGQlNTeEhRVUZITEVkQlFVY3NUVUZCVFN4RFFVRkRMRk5CUVZNc1EwRkJRenRKUVVNelFpeEpRVUZKTEVkQlFVY3NSMEZCUnl4TlFVRk5MRU5CUVVNc1UwRkJVeXhEUVVGRE8wbEJRek5DTEV0QlFVc3NTVUZCU1N4RFFVRkRMRWRCUVVjc1EwRkJReXhGUVVGRkxFTkJRVU1zUjBGQlJ5eE5RVUZOTEVWQlFVVXNSVUZCUlN4RFFVRkRMRVZCUVVVN1VVRkRMMElzUzBGQlN5eEpRVUZKTEVOQlFVTXNSMEZCUnl4RFFVRkRMRVZCUVVVc1EwRkJReXhIUVVGSExFMUJRVTBzUlVGQlJTeEZRVUZGTEVOQlFVTXNSVUZCUlR0WlFVTXZRaXhOUVVGTkxFTkJRVU1zUjBGQlZ5eERRVUZETEVsQlFVa3NRMEZCUXl4RFFVRkRMRU5CUVVNc1NVRkJTU3hKUVVGSkxFTkJRVU1zU1VGQlNTeERRVUZETEVsQlFVa3NRMEZCUXl4RFFVRkRMRU5CUVVNc1NVRkJTU3hKUVVGSkxFbEJRVWtzUTBGQlF5eExRVUZMTEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETEZGQlFWRXNRMEZCUXl4SlFVRkpMRU5CUVVNc1EwRkJReXhEUVVGRExFVkJRVVVzU1VGQlNTeERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNN1dVRkRja2NzVFVGQlRTeERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJReXhIUVVGSExFMUJRVTBzUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNc1IwRkJSeXhEUVVGRExFTkJRVU03V1VGRGFFTXNTVUZCU1N4RFFVRkRMRWRCUVVjc1IwRkJSenRuUWtGQlJTeEhRVUZITEVkQlFVY3NRMEZCUXl4RFFVRkRPMWxCUTNKQ0xFbEJRVWtzUTBGQlF5eEhRVUZITEVkQlFVYzdaMEpCUVVVc1IwRkJSeXhIUVVGSExFTkJRVU1zUTBGQlF6dFRRVU4wUWp0TFFVTkdPMGxCUTBRc1MwRkJTeXhKUVVGSkxFTkJRVU1zUjBGQlJ5eERRVUZETEVWQlFVVXNRMEZCUXl4SFFVRkhMRTFCUVUwc1JVRkJSU3hGUVVGRkxFTkJRVU1zUlVGQlJUdFJRVU12UWl4TFFVRkxMRWxCUVVrc1EwRkJReXhIUVVGSExFTkJRVU1zUjBGQlJ5eERRVUZETEVWQlFVVXNRMEZCUXl4SFFVRkhMRTFCUVUwc1JVRkJSU3hGUVVGRkxFTkJRVU03V1VGRGFrTXNUVUZCVFN4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF5eEhRVUZITEUxQlFVMHNRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU1zUjBGQlJ5eERRVUZETEUxQlFVMHNRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU1zUjBGQlJ5eEhRVUZITEVOQlFVTXNSMEZCUnl4RFFVRkRMRWRCUVVjc1IwRkJSeXhIUVVGSExFTkJRVU1zUTBGQlF6dExRVU53UlR0SlFVTkVMRTlCUVU4c1RVRkJUU3hEUVVGRE8wRkJRMmhDTEVOQlFVTTdRVUZGUkN4clJrRkJhMFk3UVVGRGJFWXNUVUZCVFN4VlFVRlZMRkZCUVZFc1EwRkJReXhMUVVGaExFVkJRVVVzUjBGQlZ5eEZRVUZGTEZsQlFWa3NSMEZCUnl4TFFVRkxPMGxCUTNaRkxFMUJRVTBzVFVGQlRTeEhRVUZITEVkQlFVY3NSMEZCUnl4TFFVRkxMRWRCUVVjc1EwRkJReXhaUVVGWkxFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU03U1VGRGNFUXNUVUZCVFN4TlFVRk5MRWRCUVVjc1NVRkJTU3hWUVVGVkxFTkJRVU1zVFVGQlRTeERRVUZETEVOQlFVTTdTVUZGZEVNc1MwRkJTeXhKUVVGSkxFTkJRVU1zUjBGQlJ5eERRVUZETEVWQlFVVXNRMEZCUXl4SFFVRkhMRTFCUVUwc1JVRkJSU3hGUVVGRkxFTkJRVU03VVVGRE4wSXNUVUZCVFN4RFFVRkRMRU5CUVVNc1EwRkJReXhIUVVGSExFdEJRVXNzUjBGQlJ5eERRVUZETEVOQlFVTTdTVUZGZUVJc1QwRkJUeXhOUVVGTkxFTkJRVU03UVVGRGFFSXNRMEZCUXp0QlFVVkVPenM3T3pzN08wZEJUMGM3UVVGRFNDeE5RVUZOTEZWQlFWVXNUMEZCVHl4RFFVRkRMRTFCUVdFc1JVRkJSU3hQUVVGUExFZEJRVWNzUzBGQlN6dEpRVU53UkN4TlFVRk5MRTFCUVUwc1IwRkJSeXhQUVVGUExFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCVVN4RlFVRkZMRU5CUVZFc1JVRkJSU3hGUVVGRkxFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRMRWRCUVVjc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJVU3hGUVVGRkxFTkJRVkVzUlVGQlJTeEZRVUZGTEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRExFZEJRVWNzUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNN1NVRkRka2NzVFVGQlRTeExRVUZMTEVkQlFVY3NRMEZCUXl4RFFVRk5MRVZCUVVVc1EwRkJVeXhGUVVGRkxFVkJRVVVzUTBGQlF5eERRVUZETEVOQlFVTXNSVUZCUlN4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRExIRkNRVUZ4UWp0SlFVTnNSU3hOUVVGTkxFOUJRVThzUjBGQlJ5eERRVUZETEVOQlFWRXNSVUZCUlN4RlFVRkZMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTXNiVUpCUVcxQ08wbEJRM1pFTEUxQlFVMHNVVUZCVVN4SFFVRkhMRU5CUVVNc1IwRkJWU3hGUVVGRkxFVkJRVVVzUTBGQlF5eEhRVUZITEVOQlFVTXNSMEZCUnl4RFFVRkRMRXRCUVVzc1EwRkJReXhEUVVGRExFbEJRVWtzUTBGQlF5eE5RVUZOTEVOQlFVTXNRMEZCUXl4SFFVRkhMRU5CUVVNc1QwRkJUeXhEUVVGRExFTkJRVU03U1VGRE1VVXNUMEZCVHl4UlFVRlJMRU5CUVVNc1RVRkJUU3hEUVVGRExFTkJRVU03UVVGRE1VSXNRMEZCUXp0QlFVVkVPenM3T3pzN08wZEJUMGM3UVVGRFNDeE5RVUZOTEZWQlFWVXNaMEpCUVdkQ0xFTkJRVU1zVFVGQll5eEZRVUZGTEVOQlFWTXNSVUZCUlN4SlFVRjNRenRKUVVOc1J5eFRRVUZUTEV0QlFVc3NRMEZCUXl4TlFVRm5ReXhGUVVGRkxFOUJRVGhDTzFGQlF6ZEZMRWxCUVVrc1VVRkJVU3hIUVVGSExFbEJRVWtzUTBGQlF6dFJRVU53UWl4SlFVRkpMRlZCUVZVc1IwRkJSeXhKUVVGSkxFTkJRVU03VVVGRmRFSXNTMEZCU3l4TlFVRk5MRTlCUVU4c1NVRkJTU3hOUVVGTkxFVkJRVVU3V1VGRE5VSXNUVUZCVFN4alFVRmpMRWRCUVVjc1QwRkJUeXhEUVVGRExFOUJRVThzUTBGQlF5eERRVUZETzFsQlEzaERMRWxCUVVrc1ZVRkJWU3hKUVVGSkxFbEJRVWtzU1VGQlNTeGpRVUZqTEVkQlFVY3NWVUZCVlN4RlFVRkZPMmRDUVVOeVJDeFJRVUZSTEVkQlFVY3NUMEZCVHl4RFFVRkRPMmRDUVVOdVFpeFZRVUZWTEVkQlFVY3NZMEZCWXl4RFFVRkRPMkZCUXpkQ08xTkJRMFk3VVVGRFJDeFBRVUZQTEZGQlFWRXNRMEZCUXp0SlFVTnNRaXhEUVVGRE8wbEJSVVFzVFVGQlRTeE5RVUZOTEVkQlFVY3NRMEZCUXl4VFFVRlRMRU5CUVVNc1RVRkJUU3hIUVVGSExFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTTdTVUZEZGtNc1RVRkJUU3hWUVVGVkxFZEJRVWNzU1VGQlNTeEhRVUZITEVWQlFVVXNRMEZCUXp0SlFVVTNRaXhMUVVGTExFbEJRVWtzUTBGQlF5eEhRVUZITEVOQlFVTXNSVUZCUlN4RFFVRkRMRWRCUVVjc1RVRkJUU3hGUVVGRkxFVkJRVVVzUTBGQlF5eEZRVUZGTzFGQlF5OUNMRWxCUVVrc1EwRkJReXhOUVVGTkxFTkJRVU1zVVVGQlVTeERRVUZETEVOQlFVTXNRMEZCUXp0WlFVTnlRaXhWUVVGVkxFTkJRVU1zUjBGQlJ5eERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRPMHRCUTNKQ08wbEJSVVFzVDBGQlR5eE5RVUZOTEVOQlFVTXNUVUZCVFN4SFFVRkhMRU5CUVVNc1JVRkJSVHRSUVVONFFpeE5RVUZOTEVkQlFVY3NSMEZCUnl4TFFVRkxMRU5CUTJZc1ZVRkJWU3hEUVVGRExFMUJRVTBzUlVGQk9FSXNSVUZETDBNc1EwRkJReXhEUVVGRExFVkJRVVVzUlVGQlJTeERRVUZETEVsQlFVa3NRMEZCUXl4SFFVRkhMRU5CUVVNc1MwRkJTeXhEUVVGRExFbEJRVWtzUlVGQlJTeE5RVUZOTEVOQlFVTXNSMEZCUnl4RFFVRkRMRlZCUVZNc1IwRkJSeXhGUVVGRkxFdEJRVXM3V1VGRGVFUXNUMEZCVHl4SlFVRkpMRU5CUVVNc1EwRkJReXhGUVVGRkxFZEJRVWNzUTBGQlF5eERRVUZETzFGQlEzUkNMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF6dFJRVU5RTEVsQlFVa3NSMEZCUnl4RlFVRkZPMWxCUTFBc1RVRkJUU3hEUVVGRExFbEJRVWtzUTBGQlF5eEhRVUZITEVOQlFVTXNRMEZCUXp0WlFVTnFRaXhWUVVGVkxFTkJRVU1zVFVGQlRTeERRVUZETEVkQlFVY3NRMEZCUXl4RFFVRkRPMU5CUTNoQ08wdEJRMFk3U1VGRFJDeFBRVUZQTEUxQlFVMHNRMEZCUXp0QlFVTm9RaXhEUVVGRE8wRkJSVVE3T3pzN08wZEJTMGM3UVVGRFNDeE5RVUZOTEZWQlFWVXNVMEZCVXl4RFFVRkRMRWxCUVZrN1NVRkRjRU1zVFVGQlRTeEhRVUZITEVkQlFVY3NTVUZCU1N4RFFVRkRMRTFCUVUwc1EwRkJRenRKUVVONFFpeEpRVUZKTEVkQlFVY3NSMEZCUnl4RFFVRkRMRU5CUVVNN1NVRkRXaXhKUVVGSkxGbEJRVmtzUjBGQlJ5eERRVUZETEVOQlFVTTdTVUZGY2tJc1MwRkJTeXhKUVVGSkxFTkJRVU1zUjBGQlJ5eERRVUZETEVWQlFVVXNRMEZCUXl4SFFVRkhMRWRCUVVjc1JVRkJSU3hGUVVGRkxFTkJRVU1zUlVGQlJUdFJRVU0xUWl4SFFVRkhMRWxCUVVrc1NVRkJTU3hEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETzFGQlEyWXNXVUZCV1N4SlFVRkpMRk5CUVVFc1NVRkJTU3hEUVVGRExFTkJRVU1zUTBGQlF5eEZRVUZKTEVOQlFVTXNRMEZCUVN4RFFVRkRPMHRCUXpsQ08wbEJSVVFzVFVGQlRTeEpRVUZKTEVkQlFVY3NSMEZCUnl4SFFVRkhMRWRCUVVjc1EwRkJRenRKUVVOMlFpeE5RVUZOTEdGQlFXRXNSMEZCUnl4SFFVRkhMRWRCUVVjc1NVRkJTU3hEUVVGRExFbEJRVWtzUTBGQlF5eFpRVUZaTEVkQlFVY3NSMEZCUnl4SFFVRkhMRk5CUVVFc1NVRkJTU3hGUVVGSkxFTkJRVU1zUTBGQlFTeERRVUZETEVOQlFVTTdTVUZGZEVVc1MwRkJTeXhKUVVGSkxFTkJRVU1zUjBGQlJ5eERRVUZETEVWQlFVVXNRMEZCUXl4SFFVRkhMRWRCUVVjc1JVRkJSU3hGUVVGRkxFTkJRVU03VVVGRE1VSXNTVUZCU1N4RFFVRkRMRU5CUVVNc1EwRkJReXhIUVVGSExFTkJRVU1zU1VGQlNTeERRVUZETEVOQlFVTXNRMEZCUXl4SFFVRkhMRWxCUVVrc1EwRkJReXhIUVVGSExHRkJRV0VzUTBGQlF6dEpRVVUzUXl4UFFVRlBMRWxCUVVrc1EwRkJRenRCUVVOa0xFTkJRVU03UVVGRlJEczdPenM3UjBGTFJ6dEJRVU5JTEUxQlFVMHNWVUZCVlN4aFFVRmhMRU5CUVVNc1EwRkJVU3hGUVVGRkxFTkJRVkU3U1VGRE9VTXNUVUZCVFN4SlFVRkpMRWRCUVVjc1NVRkJTU3hIUVVGSExFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTTdTVUZEZUVJc1QwRkJUeXhMUVVGTExFTkJRVU1zU1VGQlNTeERRVUZETEVsQlFVa3NSMEZCUnl4RFFVRkRMRU5CUVVNc1EwRkJReXhOUVVGTkxFTkJRVU1zUTBGQlF5eERRVUZETEVWQlFVVXNSVUZCUlN4RFFVRkRMRU5CUVVNc1NVRkJTU3hEUVVGRExFZEJRVWNzUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNc1RVRkJUU3hGUVVGRkxFTkJRVU1zUTBGQlF6dEJRVU55UlN4RFFVRkRJaXdpYzI5MWNtTmxjME52Ym5SbGJuUWlPbHNpYVcxd2IzSjBJSHROWVhSeWFYZ3NJRlpsWTNSdmNpd2dRMjl2Y21ScGJtRjBaWE1zSUZabFkzUnZjbk1zSUVScGMzUmhibU5sVFdWMGNtbGpmU0JtY205dElDY3VMM1I1Y0dVdFpHVmpiR0Z5WVhScGIyNXpKenRjYm1sdGNHOXlkQ0I3Y21GdVpHOXRSbXh2WVhRc0lISmhibVJ2YlVsdWRIMGdabkp2YlNBbkxpOXlZVzVrYjIwbk8xeHVYRzR2S2lwY2JpQXFJRUZ6YzJWeWRITWdZU0JqYjI1a2FYUnBiMjRnWW5rZ2RHaHliM2RwYm1jZ1lXNGdSWEp5YjNJdVhHNGdLbHh1SUNvZ1FHVjRjRzl5ZEZ4dUlDb2dRSEJoY21GdElIdGliMjlzWldGdWZTQmJZMjl1WkdsMGFXOXVQV1poYkhObFhTQkRiMjVrYVhScGIyNGdkRzhnWVhOelpYSjBMbHh1SUNvZ1FIQmhjbUZ0SUh0emRISnBibWQ5SUZ0dFpYTnpZV2RsUFNkQmMzTmxjblJwYjI0Z1pYSnliM0l1SjEwZ1RXVnpjMkZuWlNCMGJ5QnZkWFJ3ZFhRdVhHNGdLaUJBZEdoeWIzZHpJSHRGY25KdmNuMWNiaUFxTDF4dVpYaHdiM0owSUdaMWJtTjBhVzl1SUdGemMyVnlkQ2hqYjI1a2FYUnBiMjQ2SUdKdmIyeGxZVzRnUFNCbVlXeHpaU3dnYldWemMyRm5aVG9nYzNSeWFXNW5JRDBnSjBGemMyVnlkR2x2YmlCbGNuSnZjaTRuS1NCN1hHNGdJR2xtSUNnaFkyOXVaR2wwYVc5dUtWeHVJQ0FnSUhSb2NtOTNJRzVsZHlCRmNuSnZjaWh0WlhOellXZGxLVHRjYm4xY2JseHVMeW9xWEc0Z0tpQkRjbVZoZEdWeklHNWxkeUIwZDI4dFpHbHRaVzV6YVc5dVlXd2dZWEp5WVhrZ1lXNWtJR1pwYkd4eklHbDBJSGRwZEdnZ2RHaGxJSFpoYkhWbElHZHBkbVZ1TGx4dUlDcGNiaUFxSUVCd1lYSmhiU0I3Ym5WdFltVnlmU0JrYVcxbGJuTnBiMjR4SUZSb1pTQm1hWEp6ZENCa2FXMWxibk5wYjI0Z2IyWWdkR2hsSUdOdmIzSmthVzVoZEdWeklDaHVkVzFpWlhJZ2IyWWdjbTkzY3lrdVhHNGdLaUJBY0dGeVlXMGdlMjUxYldKbGNuMGdaR2x0Wlc1emFXOXVNaUJVYUdVZ2MyVmpiMjVrSUdScGJXVnVjMmx2YmlCdlppQjBhR1VnWTI5dmNtUnBibUYwWlhNZ0tHNTFiV0psY2lCdlppQmpiMngxYlc1ektTNWNiaUFxSUVCd1lYSmhiU0I3Ym5WdFltVnlmU0JiWm1sc2JEMHdYU0JCSUhaaGJIVmxJSFJ2SUdacGJHd2dkR2hsSUdOdmIzSmthVzVoZEdWeklIZHBkR2d1WEc0Z0tpQkFjbVYwZFhKdUlIdERiMjl5WkdsdVlYUmxjMzBnUVNCMGQyOHRaR2x0Wlc1emFXOXVZV3dnWm1sc2JHVmtJSGRwZEdnZ2RHaGxJSFpoYkhWbElHZHBkbVZ1TGx4dUlDb2dRSFJ2Wkc4Z1RXbG5hSFFnWW1VZ2MyeHZkeUJ6YVc1alpTQjFjMlZrSUVGeWNtRjVMbTFoY0M0Z1VISnZZbUZpYkhrZ2JtVmxaSE1nY0dWeVptOXliV0Z1WTJVZ2NtVjJhWE5wYjI0dVhHNGdLaTljYm1WNGNHOXlkQ0JtZFc1amRHbHZiaUJwYm1sMFEyOXZjbVJwYm1GMFpYTW9aR2x0Wlc1emFXOXVNVG9nYm5WdFltVnlMQ0JrYVcxbGJuTnBiMjR5T2lCdWRXMWlaWElzSUdacGJHdzZJRzUxYldKbGNpQTlJREFwT2lCRGIyOXlaR2x1WVhSbGN5QjdYRzRnSUhKbGRIVnliaUJ1WlhjZ1FYSnlZWGtvWkdsdFpXNXphVzl1TVNrdVptbHNiQ2htYVd4c0tTNXRZWEFvS0NrZ1BUNGdLRzVsZHlCV1pXTjBiM0lvWkdsdFpXNXphVzl1TWlrdVptbHNiQ2htYVd4c0tTa3BPMXh1ZlZ4dVhHNHZLaXBjYmlBcUlGUnlZVzV6Y0c5elpTQnRZWFJ5YVhndVhHNGdLbHh1SUNvZ1FHVjRjRzl5ZEZ4dUlDb2dRSEJoY21GdElIdE5ZWFJ5YVhoOUlHMWhkSEpwZUNCVWFHVWdiV0YwY21sNElIUnZJR0psSUhSeVlXNXpjRzl6WldRdVhHNGdLaUJBY21WMGRYSnVJSHROWVhSeWFYaDlJRlJ5WVc1emNHOXpaV1FnYldGMGNtbDRMbHh1SUNvZ1FIUnZaRzhnVFdsbmFIUWdZbVVnYzJ4dmR5QnphVzVqWlNCMWMyVmtJRUZ5Y21GNUxtMWhjQzRnVUhKdlltRmliSGtnYm1WbFpITWdjR1Z5Wm05eWJXRnVZMlVnY21WMmFYTnBiMjR1WEc0Z0tpOWNibVY0Y0c5eWRDQm1kVzVqZEdsdmJpQjBjbUZ1YzNCdmMyVk5ZWFJ5YVhnb2JXRjBjbWw0T2lCTllYUnlhWGdwT2lCTllYUnlhWGdnZTF4dUlDQnlaWFIxY200Z2JtVjNJRUZ5Y21GNUtHMWhkSEpwZUZzd1hTNXNaVzVuZEdncExtWnBiR3dvTUNsY2JpQWdJQ0F1YldGd0tDaGZMQ0JwS1NBOVBpQW9ibVYzSUZabFkzUnZjaWh0WVhSeWFYZ3ViR1Z1WjNSb0tTNW1hV3hzS0RBcExtMWhjQ2dvWHl3Z2Fpa2dQVDRnS0cxaGRISnBlRnRxWFZ0cFhTa3BLU2s3WEc1OVhHNWNiaThxS2x4dUlDb2dRV1JrY3lCMGQyOGdkbVZqZEc5eWN5QjNhWFJvSUhSb1pTQnpaV052Ym1RZ2IyNWxJSFJ2SUdKbElHMTFiSFJwY0d4cFpXUWdZbmtnZEdobElHZHBkbVZ1SUhKaGRHbHZMbHh1SUNwY2JpQXFJRUJsZUhCdmNuUmNiaUFxSUVCd1lYSmhiU0I3Vm1WamRHOXlmU0J3SUZSb1pTQm1hWEp6ZENCMlpXTjBiM0lnZEc4Z1lXUmtMbHh1SUNvZ1FIQmhjbUZ0SUh0V1pXTjBiM0o5SUhFZ1ZHaGxJSE5sWTI5dVpDQjJaV04wYjNJZ2RHOGdZV1JrTGx4dUlDb2dRSEJoY21GdElIdHVkVzFpWlhKOUlGdHRkV3gwYVhCc2FXVnlQVEZkSUVFZ2JYVnNkR2x3YkdsbGNpQjBieUJpWlNCMWMyVmtJR0psWm05eVpTQjBhR1VnYzJWamIyNWtJSFpsWTNSdmNpQnBjeUJoWkdSbFpDNWNiaUFxSUVCeVpYUjFjbTRnZTFabFkzUnZjbjBnVG1WM0lIWmxZM1J2Y2lCamIyNTBZV2x1WldRZ2RHaGxJSEpsYzNWc2RDQnZaaUJ2Y0dWeVlYUnBiMjRnY0N0dGRXeDBhWEJzYVdWeUtuRXVYRzRnS2k5Y2JtVjRjRzl5ZENCbWRXNWpkR2x2YmlCMlpXTjBiM0pCWkdRb2NEb2dWbVZqZEc5eUxDQnhPaUJXWldOMGIzSXNJRzExYkhScGNHeHBaWEk2SUc1MWJXSmxjaUE5SURFcE9pQldaV04wYjNJZ2UxeHVJQ0JqYjI1emRDQnVTWFJsYlhNZ1BTQndMbXhsYm1kMGFEdGNibHh1SUNCaGMzTmxjblFvYmtsMFpXMXpJRDA5SUhFdWJHVnVaM1JvTENBblZtVmpkRzl5SUd4bGJtZDBhSE1nWkc4Z2JtOTBJRzFoZEdOb0xpY3BPMXh1WEc0Z0lHTnZibk4wSUhSdmRHRnNJRDBnYm1WM0lGWmxZM1J2Y2lodVNYUmxiWE1wTzF4dVhHNGdJR1p2Y2lBb2JHVjBJR2tnUFNBd095QnBJRHdnY0M1c1pXNW5kR2c3SUNzcmFTbGNiaUFnSUNCMGIzUmhiRnRwWFNBOUlIQmJhVjBnS3lCdGRXeDBhWEJzYVdWeUlDb2djVnRwWFR0Y2JseHVJQ0J5WlhSMWNtNGdkRzkwWVd3N1hHNTlYRzVjYmk4cUtseHVJQ29nVTNWdGN5QjBhR1VnZG1WamRHOXlKM01nYVhSbGJYTXVYRzRnS2x4dUlDb2dRSEJoY21GdElIdFdaV04wYjNKOUlIWWdWR2hsSUhabFkzUnZjaUIwYnlCaVpTQnpkVzF0WldRdVhHNGdLaUJBY21WMGRYSnVJSHR1ZFcxaVpYSjlJRlJvWlNCMlpXTjBiM0luY3lCcGRHVnRjeUJ6ZFcwdVhHNGdLaTljYm1aMWJtTjBhVzl1SUdsMFpXMXpVM1Z0S0hZNklGWmxZM1J2Y2lrNklHNTFiV0psY2lCN1hHNGdJR3hsZENCMGIzUmhiQ0E5SURBN1hHNWNiaUFnWm05eUlDaHNaWFFnYVNBOUlEQTdJR2tnUENCMkxteGxibWQwYURzZ0t5dHBLVnh1SUNBZ0lIUnZkR0ZzSUNzOUlIWmJhVjA3WEc1Y2JpQWdjbVYwZFhKdUlIUnZkR0ZzTzF4dWZWeHVYRzR2S2lwY2JpQXFJRk4xY1dGeVpYTWdkR2hsSUhabFkzUnZjaWR6SUdsMFpXMXpMbHh1SUNwY2JpQXFJRUJ3WVhKaGJTQjdWbVZqZEc5eWZTQjJJRlJvWlNCMlpXTjBiM0lnZEc4Z2MzRjFZWEpsTGx4dUlDb2dRSEpsZEhWeWJpQjdWbVZqZEc5eWZTQkJJRzVsZHlCMlpXTjBiM0lnWTI5dWRHRnBibWx1WnlCMGFHVWdiM0pwWjJsdVlXd25jeUJwZEdWdGN5QnpjWFZoY21Wa0xseHVJQ292WEc1bWRXNWpkR2x2YmlCMlpXTjBiM0pUY1hWaGNtVW9kam9nVm1WamRHOXlLVG9nVm1WamRHOXlJSHRjYmlBZ1kyOXVjM1FnYmtsMFpXMXpJRDBnZGk1c1pXNW5kR2c3WEc0Z0lHTnZibk4wSUhSdmRHRnNJRDBnYm1WM0lGWmxZM1J2Y2lodVNYUmxiWE1wTzF4dVhHNGdJR1p2Y2lBb2JHVjBJR2tnUFNBd095QnBJRHdnZGk1c1pXNW5kR2c3SUNzcmFTbGNiaUFnSUNCMGIzUmhiRnRwWFNBOUlIWmJhVjBnS2lCMlcybGRPMXh1WEc0Z0lISmxkSFZ5YmlCMGIzUmhiRHRjYm4xY2JseHVaWGh3YjNKMElHWjFibU4wYVc5dUlIWmxZM1J2Y2t4bGJtZDBhQ2gyT2lCV1pXTjBiM0lwT2lCdWRXMWlaWElnZTF4dUlDQnNaWFFnYzNGeVUzVnRPaUJ1ZFcxaVpYSWdQU0F3TzF4dUlDQm1iM0lnS0d4bGRDQnBPaUJ1ZFcxaVpYSWdQU0F3T3lCcElEd2dkaTVzWlc1bmRHZzdJR2tyS3lsY2JpQWdJQ0J6Y1hKVGRXMGdLejBnZGx0cFhTQXFJSFpiYVYwN1hHNGdJSEpsZEhWeWJpQk5ZWFJvTG5OeGNuUW9jM0Z5VTNWdEtUdGNibjFjYmx4dVpYaHdiM0owSUdaMWJtTjBhVzl1SUhabFkzUnZja1J2ZEZCeWIyUjFZM1FvZGpFNklGWmxZM1J2Y2l3Z2RqSTZJRlpsWTNSdmNpazZJRzUxYldKbGNpQjdYRzRnSUdsbUlDaDJNUzVzWlc1bmRHZ2dJVDBnZGpJdWJHVnVaM1JvS1Z4dUlDQWdJSFJvY205M0lHNWxkeUJGY25KdmNpZ25WR2hsSUdScGJXVnVjMmx2Ym1Gc2FYUjVJRzltSUhSb1pTQjJaV04wYjNKeklHMTFjM1FnYldGMFkyZ25LVHRjYmlBZ2JHVjBJSEJ5YjJRNklHNTFiV0psY2lBOUlEQTdYRzRnSUdadmNpQW9iR1YwSUdrNklHNTFiV0psY2lBOUlEQTdJR2tnUENCMk1TNXNaVzVuZEdnN0lHa3JLeWxjYmlBZ0lDQndjbTlrSUNzOUlIWXhXMmxkSUNvZ2RqSmJhVjA3WEc0Z0lISmxkSFZ5YmlCd2NtOWtPMXh1ZlZ4dVhHNHZLaXBjYmlBcUlFTnlaV0YwWlhNZ1lTQnRZWFJ5YVhnZ1ptbHNiR1ZrSUhkcGRHZ2djbUZ1Wkc5dElHWnNiMkYwYVc1bklIQnZhVzUwSUhaaGJIVmxjeTVjYmlBcVhHNGdLaUJBWlhod2IzSjBYRzRnS2lCQWNHRnlZVzBnZTI1MWJXSmxjbjBnWkdsdFpXNXphVzl1TVNCVWFHVWdabWx5YzNRZ1pHbHRaVzV6YVc5dUlHOW1JSFJvWlNCdFlYUnlhWGd1WEc0Z0tpQkFjR0Z5WVcwZ2UyNTFiV0psY24wZ1pHbHRaVzV6YVc5dU1pQlVhR1VnYzJWamIyNWtJR1JwYldWdWMybHZiaUJ2WmlCMGFHVWdiV0YwY21sNExseHVJQ29nUUhCaGNtRnRJSHR1ZFcxaVpYSjlJRnR6WTJGc1pUMHhMbDBnVFdGNElIWmhiSFZsSUdkcGRtVnVJR0o1SUhKaGJtUnZiU0JuWlc1bGNtRjBiM0l1WEc0Z0tpQkFjbVYwZFhKdUlIdE5ZWFJ5YVhoOUlFRWdibVYzSUcxaGRISnBlQ0JtYVd4c1pXUWdkMmwwYUNCeVlXNWtiMjBnWm14dllYUnBibWNnY0c5cGJuUWdJSFpoYkhWbGN5NWNiaUFxTDF4dVpYaHdiM0owSUdaMWJtTjBhVzl1SUdacGJHeFNZVzVrYjIxTllYUnlhWGdvWkdsdFpXNXphVzl1TVRvZ2JuVnRZbVZ5TENCa2FXMWxibk5wYjI0eU9pQnVkVzFpWlhJc0lITmpZV3hsT2lCdWRXMWlaWElnUFNBeExpazZJRTFoZEhKcGVDQjdYRzRnSUdOdmJuTjBJRzFoZEhKcGVDQTlJR2x1YVhSRGIyOXlaR2x1WVhSbGN5aGthVzFsYm5OcGIyNHhMQ0JrYVcxbGJuTnBiMjR5S1R0Y2JseHVJQ0JtYjNJZ0tHeGxkQ0JwSUQwZ01Ec2dhU0E4SUdScGJXVnVjMmx2YmpFN0lDc3JhU2tnZTF4dUlDQWdJR1p2Y2lBb2JHVjBJR29nUFNBd095QnFJRHdnWkdsdFpXNXphVzl1TWpzZ0t5dHFLVnh1SUNBZ0lDQWdiV0YwY21sNFcybGRXMnBkSUQwZ2NtRnVaRzl0Um14dllYUW9jMk5oYkdVcE8xeHVJQ0I5WEc0Z0lISmxkSFZ5YmlCdFlYUnlhWGc3WEc1OVhHNWNiaThxS2x4dUlDb2dRMkZzWTNWc1lYUmxjeUJGZFdOc2FXUmxZVzRnWkdsemRHRnVZMlVnWW1WMGQyVmxiaUIwZDI4Z2RtVmpkRzl5Y3k1Y2JpQXFYRzRnS2lCQVpYaHdiM0owWEc0Z0tpQkFjR0Z5WVcwZ2UxWmxZM1J2Y24wZ2NDQlVhR1VnWm1seWMzUWdkbVZqZEc5eUxseHVJQ29nUUhCaGNtRnRJSHRXWldOMGIzSjlJSEVnVkdobElITmxZMjl1WkNCMlpXTjBiM0l1WEc0Z0tpQkFjbVYwZFhKdUlIdHVkVzFpWlhKOUlFVjFZMnhwWkdWaGJpQmthWE4wWVc1alpTQmlaWFIzWldWdUlIUm9aU0JuYVhabGJpQjJaV04wYjNKekxseHVJQ292WEc1bGVIQnZjblFnWm5WdVkzUnBiMjRnWTJGc1kzVnNZWFJsUlhWamJHbGtaV0Z1UkdsemRHRnVZMlVvY0RvZ1ZtVmpkRzl5TENCeE9pQldaV04wYjNJcE9pQnVkVzFpWlhJZ2UxeHVJQ0JzWlhRZ2NtVnpkV3gwSUQwZ01EdGNiaUFnWTI5dWMzUWdiR1Z1SUQwZ2NDNXNaVzVuZEdnN1hHNWNiaUFnYVdZZ0tHeGxiaUFoUFQwZ2NTNXNaVzVuZEdncFhHNGdJQ0FnZEdoeWIzY2dibVYzSUVWeWNtOXlLQ2RVYUdVZ1pHbHRaVzV6YVc5dVlXeHBkSGtnYjJZZ2RHaGxJSFpsWTNSdmNuTWdiWFZ6ZENCdFlYUmphQ2NwTzF4dUlDQmNiaUFnWm05eUlDaHNaWFFnYVNBOUlEQTdJR2tnUENCc1pXNDdJQ3NyYVNsY2JpQWdJQ0J5WlhOMWJIUWdLejBnS0hCYmFWMGdMU0J4VzJsZEtTQXFLaUF5TzF4dUlDQmNiaUFnY21WMGRYSnVJRTFoZEdndWMzRnlkQ2h5WlhOMWJIUXBPMXh1ZlZ4dVhHNHZLaXBjYmlBcUlFTnlaV0YwWlhNZ1lTQmthWE4wWVc1alpTQnRZWFJ5YVhnZ2RYTnBibWNnWVNCamRYTjBiMjBnWkdsemRHRnVZMlVnWm5WdVkzUnBiMjR1WEc0Z0tseHVJQ29nUUdWNGNHOXlkRnh1SUNvZ1FIQmhjbUZ0SUh0V1pXTjBiM0p6ZlNCa1lYUmhJRWx1Y0hWMElIWmxZM1J2Y25NZ2RHOGdZMkZzWTNWc1lYUmxJR1JwYzNSaGJtTmxjeTVjYmlBcUlFQndZWEpoYlNCN1JHbHpkR0Z1WTJWTlpYUnlhV045SUdScGMzUmhibU5sSUVOMWMzUnZiU0JrYVhOMFlXNWpaU0JtZFc1amRHbHZiaTVjYmlBcUlFQnlaWFIxY200Z2UwMWhkSEpwZUgwZ1EyRnNZM1ZzWVhSbFpDQmpkWE4wYjIwZ1pHbHpkR0Z1WTJVZ2JXRjBjbWw0TGx4dUlDb3ZYRzVsZUhCdmNuUWdablZ1WTNScGIyNGdZMkZzWTBScGMzUmhibU5sVFdGMGNtbDRLR1JoZEdFNklGWmxZM1J2Y25Nc0lHUnBjM1JoYm1ObE9pQkVhWE4wWVc1alpVMWxkSEpwWXlrNklFMWhkSEpwZUNCN1hHNGdJR052Ym5OMElHNUpkR1Z0Y3lBOUlHUmhkR0V1YkdWdVozUm9PMXh1SUNCamIyNXpkQ0J0WVhSeWFYZ2dQU0JwYm1sMFEyOXZjbVJwYm1GMFpYTW9ia2wwWlcxekxDQnVTWFJsYlhNc0lEQXBPMXh1WEc0Z0lHWnZjaUFvYkdWMElHa2dQU0F3T3lCcElEd2dia2wwWlcxek95QXJLMmtwSUh0Y2JpQWdJQ0JtYjNJZ0tHeGxkQ0JxSUQwZ2FTQXJJREU3SUdvZ1BDQnVTWFJsYlhNN0lDc3JhaWtnZTF4dUlDQWdJQ0FnWTI5dWMzUWdaRG9nYm5WdFltVnlJRDBnS0dSaGRHRmJhVjBnUFQwZ2JuVnNiQ2tnZkh3Z0tHUmhkR0ZiYWwwZ1BUMGdiblZzYkNrZ1B5QXdJRG9nWkdsemRHRnVZMlVvWkdGMFlWdHBYU3dnWkdGMFlWdHFYU2s3WEc0Z0lDQWdJQ0J0WVhSeWFYaGJhVjFiYWwwZ1BTQnRZWFJ5YVhoYmFsMWJhVjBnUFNCa08xeHVJQ0FnSUgxY2JpQWdmVnh1SUNCeVpYUjFjbTRnYldGMGNtbDRPMXh1ZlZ4dVhHNHZLaXBjYmlBcUlFTnlaV0YwWlhNZ1lTQmthWE4wWVc1alpTQnRZWFJ5YVhnZ2RYTnBibWNnWVNCamRYTjBiMjBnWkdsemRHRnVZMlVnWm5WdVkzUnBiMjR1WEc0Z0tseHVJQ29nUUdWNGNHOXlkRnh1SUNvZ1FIQmhjbUZ0SUh0V1pXTjBiM0p6ZlNCa1lYUmhJRWx1Y0hWMElIWmxZM1J2Y25NZ2RHOGdZMkZzWTNWc1lYUmxJR1JwYzNSaGJtTmxjeTVjYmlBcUlFQndZWEpoYlNCN1JHbHpkR0Z1WTJWTlpYUnlhV045SUdScGMzUmhibU5sSUVOMWMzUnZiU0JrYVhOMFlXNWpaU0JtZFc1amRHbHZiaTVjYmlBcUlFQnlaWFIxY200Z2UwMWhkSEpwZUgwZ1EyRnNZM1ZzWVhSbFpDQmpkWE4wYjIwZ1pHbHpkR0Z1WTJVZ2JXRjBjbWw0TGx4dUlDb3ZYRzVsZUhCdmNuUWdablZ1WTNScGIyNGdZMkZzWTA1dmNtMWhiR2w2WldSRWFYTjBZVzVqWlUxaGRISnBlQ2hrWVhSaE9pQldaV04wYjNKekxDQmthWE4wWVc1alpUb2dSR2x6ZEdGdVkyVk5aWFJ5YVdNcE9pQk5ZWFJ5YVhnZ2UxeHVJQ0JqYjI1emRDQnVTWFJsYlhNZ1BTQmtZWFJoTG14bGJtZDBhRHRjYmlBZ1kyOXVjM1FnYldGMGNtbDRJRDBnYVc1cGRFTnZiM0prYVc1aGRHVnpLRzVKZEdWdGN5d2dia2wwWlcxekxDQXdLVHRjYmlBZ2JHVjBJRzFoZUNBOUlFNTFiV0psY2k1TlNVNWZWa0ZNVlVVN1hHNGdJR3hsZENCdGFXNGdQU0JPZFcxaVpYSXVUVUZZWDFaQlRGVkZPMXh1SUNCbWIzSWdLR3hsZENCcElEMGdNRHNnYVNBOElHNUpkR1Z0Y3pzZ0t5dHBLU0I3WEc0Z0lDQWdabTl5SUNoc1pYUWdhaUE5SUdrN0lHb2dQQ0J1U1hSbGJYTTdJQ3NyYWlrZ2UxeHVJQ0FnSUNBZ1kyOXVjM1FnWkRvZ2JuVnRZbVZ5SUQwZ0tHUmhkR0ZiYVYwZ1BUMGdiblZzYkNrZ2ZId2dLR1JoZEdGYmFsMGdQVDBnYm5Wc2JDQjhmQ0JwSUQwOVBTQnFLU0EvSURBZ09pQmthWE4wWVc1alpTaGtZWFJoVzJsZExDQmtZWFJoVzJwZEtUdGNiaUFnSUNBZ0lHMWhkSEpwZUZ0cFhWdHFYU0E5SUcxaGRISnBlRnRxWFZ0cFhTQTlJR1E3WEc0Z0lDQWdJQ0JwWmlBb1pDQStJRzFoZUNrZ2JXRjRJRDBnWkR0Y2JpQWdJQ0FnSUdsbUlDaGtJRHdnYldsdUtTQnRhVzRnUFNCa08xeHVJQ0FnSUgxY2JpQWdmVnh1SUNCbWIzSWdLR3hsZENCcElEMGdNRHNnYVNBOElHNUpkR1Z0Y3pzZ0t5dHBLU0I3WEc0Z0lDQWdabTl5SUNoc1pYUWdhaUE5SUdrZ0t5QXhPeUJxSUR3Z2JrbDBaVzF6T3lBcksyb3BYRzRnSUNBZ0lDQnRZWFJ5YVhoYmFWMWJhbDBnUFNCdFlYUnlhWGhiYWwxYmFWMGdQU0FvYldGMGNtbDRXMmxkVzJwZElDMGdiV2x1S1NBdklDaHRZWGdnTFNCdGFXNHBPMXh1SUNCOVhHNGdJSEpsZEhWeWJpQnRZWFJ5YVhnN1hHNTlYRzVjYmk4cUtpQkhaVzVsY21GMFpYTWdZWEp5WVhrZ1puSnZiU0JoSUhKaGJtZGxJRnRpWldkcGJqc2daVzVrWFNCdmNpQmJZbVZuYVc0N0lHVnVaQ2tnYVdZZ1pXNWtSWGhqYkhWemFYWmxMaUFxS2k5Y2JtVjRjRzl5ZENCbWRXNWpkR2x2YmlCblpXNVNZVzVuWlNoaVpXZHBiam9nYm5WdFltVnlMQ0JsYm1RNklHNTFiV0psY2l3Z1pXNWtSWGhqYkhWemFYWmxJRDBnWm1Gc2MyVXBPaUJKYm5Rek1rRnljbUY1SUh0Y2JpQWdZMjl1YzNRZ2JrbDBaVzF6SUQwZ1pXNWtJQzBnWW1WbmFXNGdLeUFvWlc1a1JYaGpiSFZ6YVhabElEOGdNQ0E2SURFcE8xeHVJQ0JqYjI1emRDQnpaWEpwWlhNZ1BTQnVaWGNnU1c1ME16SkJjbkpoZVNodVNYUmxiWE1wTzF4dVhHNGdJR1p2Y2lBb2JHVjBJR2tnUFNBd095QnBJRHdnYmtsMFpXMXpPeUFySzJrcFhHNGdJQ0FnYzJWeWFXVnpXMmxkSUQwZ1ltVm5hVzRnS3lCcE8xeHVYRzRnSUhKbGRIVnliaUJ6WlhKcFpYTTdYRzU5WEc1Y2JpOHFLbHh1SUNvZ1VtVjBkWEp1Y3lCdmNtUmxjaUJ2WmlCMllXeDFaWE1nWVhNZ2FXWWdkR2hsZVNCaGNtVWdjMjl5ZEdWa0xseHVJQ3BjYmlBcUlFQmxlSEJ2Y25SY2JpQXFJRUJ3WVhKaGJTQjdZVzU1VzExOUlIWmhiSFZsY3lCSmJuQjFkQ0JoY25KaGVTNWNiaUFxSUVCd1lYSmhiU0I3WW05dmJHVmhibjBnVzNKbGRtVnljMlU5Wm1Gc2MyVmRJRmRvWlhSb1pYSWdkRzhnY21WMGRYSnVJSEpsZG1WeWMyVmtJRzl5WkdWeUxseHVJQ29nUUhKbGRIVnliaUI3Ym5WdFltVnlXMTE5SUZSb1pTQnZjbVJsY2lCamIyMXdkWFJsWkM1Y2JpQXFMMXh1Wlhod2IzSjBJR1oxYm1OMGFXOXVJR0Z5WjFOdmNuUW9kbUZzZFdWek9pQmhibmxiWFN3Z2NtVjJaWEp6WlNBOUlHWmhiSE5sS1RvZ2JuVnRZbVZ5VzEwZ2UxeHVJQ0JqYjI1emRDQnpiM0owWm00Z1BTQnlaWFpsY25ObElEOGdLR0U2SUdGdWVWdGRMQ0JpT2lCaGJubGJYU2tnUFQ0Z0tHSmJNRjBnTFNCaFd6QmRLU0E2SUNoaE9pQmhibmxiWFN3Z1lqb2dZVzU1VzEwcElEMCtJQ2hoV3pCZElDMGdZbHN3WFNrN1hHNGdJR052Ym5OMElHUmxZMjl5SUQwZ0tIWTZJR0Z1ZVN3Z2FUb2diblZ0WW1WeUtTQTlQaUJiZGl3Z2FWMDdJQzh2SUhObGRDQnBibVJsZUNCMGJ5QjJZV3gxWlZ4dUlDQmpiMjV6ZENCMWJtUmxZMjl5SUQwZ0tHRTZJR0Z1ZVZ0ZEtTQTlQaUJoV3pGZE95QXZMeUJzWldGMlpTQnZibXg1SUdsdVpHVjRYRzRnSUdOdmJuTjBJRjloY21kemIzSjBJRDBnS0dGeWNqb2dZVzU1VzEwcElEMCtJR0Z5Y2k1dFlYQW9aR1ZqYjNJcExuTnZjblFvYzI5eWRHWnVLUzV0WVhBb2RXNWtaV052Y2lrN1hHNGdJSEpsZEhWeWJpQmZZWEpuYzI5eWRDaDJZV3gxWlhNcE8xeHVmVnh1WEc0dktpcGNiaUFxSUZKbGRIVnlibk1nZEdobElHbHVaR1Y0WlhNZ2IyWWdkR2hsSUcxdmMzUWdaR2wyWlhKelpTQnZZbXBsWTNSeklHRmpZMjl5WkdsdVp5QjBieUIwYUdVZ1pHbHpkQ0JtZFc1amRHbHZibHh1SUNvZ1FIQmhjbUZ0SUh0dWRXMWlaWEo5SUd4bGJtZDBhQ0IwYjNSaGJDQnVkVzFpWlhJZ2IyWWdiMkpxWldOMGMxeHVJQ29nUUhCaGNtRnRJSHR1ZFcxaVpYSjlJRzRnYm5WdFltVnlJRzltSUdScGRtVnljMlVnWld4bGJXVnVkSE1nZEc4Z1ptbHVaRnh1SUNvZ1FIQmhjbUZ0SUhzb2FURTZJRzUxYldKbGNpd2dhVEk2SUc1MWJXSmxjaWtnUFQ0Z2JuVnRZbVZ5ZlNCa2FYTjBJR0VnWm5WdVkzUnBiMjRnZDJocFkyZ2dZMkZzWTNWc1lYUmxjeUJrYVhOMFlXNWpaU0JpWlhSM1pXVnVYRzRnS2lBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdkSGR2SUc5aWFtVmpkSE1nZFhOcGJtY2dkR2hsYVhJZ2FXNWtaWGhsYzF4dUlDb2dRSEpsZEhWeWJuTWdlMjUxYldKbGNsdGRmU0JVYUdVZ2FXNWtaWGhsY3lCdlppQjBhR1VnYlc5emRDQmthWFpsY25ObElHOWlhbVZqZEhOY2JpQXFMMXh1Wlhod2IzSjBJR1oxYm1OMGFXOXVJR2RsZEVScGRtVnljMlZUZFdKelpYUW9iR1Z1WjNSb09pQnVkVzFpWlhJc0lHNDZJRzUxYldKbGNpd2daR2x6ZERvZ0tHa3hPaUJ1ZFcxaVpYSXNJR2t5T2lCdWRXMWlaWElwSUQwK0lHNTFiV0psY2lrNklHNTFiV0psY2x0ZElIdGNiaUFnWm5WdVkzUnBiMjRnYldGNFFua29kbUZzZFdWek9pQkpkR1Z5WVdKc1pVbDBaWEpoZEc5eVBHNTFiV0psY2o0c0lHOXlaR1Z5UW5rNklDaHBPaUJ1ZFcxaVpYSXBJRDArSUc1MWJXSmxjaWtnZTF4dUlDQWdJR3hsZENCdFlYaFdZV3gxWlNBOUlHNTFiR3c3WEc0Z0lDQWdiR1YwSUcxaGVFOXlaR1Z5UW5rZ1BTQnVkV3hzTzF4dVhHNGdJQ0FnWm05eUlDaGpiMjV6ZENCbGJHVnRaVzUwSUc5bUlIWmhiSFZsY3lrZ2UxeHVJQ0FnSUNBZ1kyOXVjM1FnWld4bGJXVnVkRTl5WkdWeVFua2dQU0J2Y21SbGNrSjVLR1ZzWlcxbGJuUXBPMXh1SUNBZ0lDQWdhV1lnS0cxaGVFOXlaR1Z5UW5rZ1BUMGdiblZzYkNCOGZDQmxiR1Z0Wlc1MFQzSmtaWEpDZVNBK0lHMWhlRTl5WkdWeVFua3BJSHRjYmlBZ0lDQWdJQ0FnYldGNFZtRnNkV1VnUFNCbGJHVnRaVzUwTzF4dUlDQWdJQ0FnSUNCdFlYaFBjbVJsY2tKNUlEMGdaV3hsYldWdWRFOXlaR1Z5UW5rN1hHNGdJQ0FnSUNCOVhHNGdJQ0FnZlZ4dUlDQWdJSEpsZEhWeWJpQnRZWGhXWVd4MVpUdGNiaUFnZlZ4dVhHNGdJR052Ym5OMElITjFZbk5sZENBOUlGdHlZVzVrYjIxSmJuUW9iR1Z1WjNSb0lDMGdNU2xkTzF4dUlDQmpiMjV6ZENCamIyMXdiR1Z0Wlc1MElEMGdibVYzSUZObGRDZ3BPMXh1WEc0Z0lHWnZjaUFvYkdWMElHa2dQU0F3T3lCcElEd2diR1Z1WjNSb095QXJLMmtwSUh0Y2JpQWdJQ0JwWmlBb0lYTjFZbk5sZEM1cGJtTnNkV1JsY3locEtTbGNiaUFnSUNBZ0lHTnZiWEJzWlcxbGJuUXVZV1JrS0drcE8xeHVJQ0I5WEc1Y2JpQWdkMmhwYkdVZ0tITjFZbk5sZEM1c1pXNW5kR2dnUENCdUtTQjdYRzRnSUNBZ1kyOXVjM1FnYVdSNElEMGdiV0Y0UW5rb1hHNGdJQ0FnSUNCamIyMXdiR1Z0Wlc1MExuWmhiSFZsY3lncElHRnpJRWwwWlhKaFlteGxTWFJsY21GMGIzSThiblZ0WW1WeVBpeGNiaUFnSUNBZ0lDaHBLU0E5UGlCTllYUm9MbTFwYmk1aGNIQnNlU2hOWVhSb0xDQnpkV0p6WlhRdWJXRndLR1oxYm1OMGFXOXVLSFpoYkN3Z2FXNWtaWGdwSUh0Y2JpQWdJQ0FnSUNBZ2NtVjBkWEp1SUdScGMzUW9hU3dnZG1Gc0tUdGNiaUFnSUNBZ0lIMHBLU2s3WEc0Z0lDQWdhV1lnS0dsa2VDa2dlMXh1SUNBZ0lDQWdjM1ZpYzJWMExuQjFjMmdvYVdSNEtUdGNiaUFnSUNBZ0lHTnZiWEJzWlcxbGJuUXVaR1ZzWlhSbEtHbGtlQ2s3WEc0Z0lDQWdmVnh1SUNCOVhHNGdJSEpsZEhWeWJpQnpkV0p6WlhRN1hHNTlYRzVjYmk4cUtseHVJQ29nVW1WMGRYSnVjeUJ1YjNKdFlXeHBlbVZrSUhabFkzUnZjaTVjYmlBcUlGeHVJQ29nUUdWNGNHOXlkRnh1SUNvZ1FIQmhjbUZ0SUh0V1pXTjBiM0o5SUdSaGRHRWdiblZ0WlhKcFkyRnNJR0Z5Y21GNVhHNGdLaTljYm1WNGNHOXlkQ0JtZFc1amRHbHZiaUJ1YjNKdFlXeHBlbVVvWkdGMFlUb2dWbVZqZEc5eUtUb2dWbVZqZEc5eUlIdGNiaUFnWTI5dWMzUWdiR1Z1SUQwZ1pHRjBZUzVzWlc1bmRHZzdYRzRnSUd4bGRDQnpkVzBnUFNBd08xeHVJQ0JzWlhRZ2MzVnRUMlpUY1hWaGNtVnpJRDBnTUR0Y2JseHVJQ0JtYjNJZ0tHeGxkQ0JwSUQwZ01Ec2dhU0E4SUd4bGJqc2dLeXRwS1NCN1hHNGdJQ0FnYzNWdElDczlJR1JoZEdGYmFWMDdYRzRnSUNBZ2MzVnRUMlpUY1hWaGNtVnpJQ3M5SUdSaGRHRmJhVjBnS2lvZ01qdGNiaUFnZlZ4dVhHNGdJR052Ym5OMElHMWxZVzRnUFNCemRXMGdMeUJzWlc0N1hHNGdJR052Ym5OMElITjBaRVJsZGtsdWRtVnljMlVnUFNBeExqQWdMeUJOWVhSb0xuTnhjblFvYzNWdFQyWlRjWFZoY21WeklDOGdiR1Z1SUMwZ2JXVmhiaUFxS2lBeUtUdGNibHh1SUNCbWIzSWdLR3hsZENCcElEMGdNRHNnYVNBOElHeGxianNnS3l0cEtWeHVJQ0FnSUdSaGRHRmJhVjBnUFNBb1pHRjBZVnRwWFNBdElHMWxZVzRwSUNvZ2MzUmtSR1YyU1c1MlpYSnpaVHRjYmx4dUlDQnlaWFIxY200Z1pHRjBZVHRjYm4xY2JseHVMeW9xWEc0Z0tpQkdhVzVrY3lCelpYUWdaR2xtWm1WeVpXNWpaU0JpWlhSM1pXVnVJSFIzYnlCc2FYTjBjeTVjYmlBcUlFQndZWEpoYlNCN1lXNTVXMTE5SUdFZ1ZHaGxJR1pwY25OMElHeHBjM1F1WEc0Z0tpQkFjR0Z5WVcwZ2UyRnVlVnRkZlNCaUlGUm9aU0J6WldOdmJtUWdiR2x6ZEM1Y2JpQXFJRUJ5WlhSMWNtNGdlMkZ1ZVZ0ZGZWeHVJQ292WEc1bGVIQnZjblFnWm5WdVkzUnBiMjRnYzJWMFJHbG1abVZ5Wlc1alpTaGhPaUJoYm5sYlhTd2dZam9nWVc1NVcxMHBPaUJoYm5sYlhTQjdYRzRnSUdOdmJuTjBJR0pUWlhRZ1BTQnVaWGNnVTJWMEtHSXBPMXh1SUNCeVpYUjFjbTRnUVhKeVlYa3Vabkp2YlNodVpYY2dVMlYwS0dFdVptbHNkR1Z5S0NoNEtTQTlQaUFoWWxObGRDNW9ZWE1vZUNrcEtTNTJZV3gxWlhNb0tTazdYRzU5WEc0aVhYMD0iLCJpbXBvcnQgKiBhcyBmbCBmcm9tICdmYXN0ZXN0LWxldmVuc2h0ZWluJztcbmltcG9ydCB7IGphcm9XaW5rbGVyIH0gZnJvbSAnamFyby13aW5rbGVyLXR5cGVzY3JpcHQnO1xuaW1wb3J0IHsgYXN5bW1ldHJpY0Rpc3RhbmNlLCBicmF1bkJsYW5xdWV0RGlzdGFuY2UsIGNvc2luZURpc3RhbmNlLCBkaWNlRGlzdGFuY2UsIGV1Y2xpZGVhbkRpc3RhbmNlLCBoYW1taW5nRGlzdGFuY2UsIGt1bGN6eW5za2lEaXN0YW5jZSwgbWNDb25uYXVnaGV5RGlzdGFuY2UsIHJvZ290R29sZGJlcmdEaXN0YW5jZSwgcnVzc2VsRGlzdGFuY2UsIHNva2FsRGlzdGFuY2UsIHRhbmltb3RvRGlzdGFuY2UsIG51bWVyaWNEaXN0YW5jZSwgdGFuaW1vdG9EaXN0YW5jZUludEFycmF5LCB9IGZyb20gJy4uL2Rpc3RhbmNlLW1ldHJpY3MtbWV0aG9kcyc7XG5pbXBvcnQgeyBjYWxjdWxhdGVFdWNsaWRlYW5EaXN0YW5jZSB9IGZyb20gJ0BkYXRhZ3Jvay1saWJyYXJpZXMvdXRpbHMvc3JjL3ZlY3Rvci1vcGVyYXRpb25zJztcbmltcG9ydCB7IG1tRGlzdGFuY2VGdW5jdGlvbnMsIE1tRGlzdGFuY2VGdW5jdGlvbnNOYW1lcyB9IGZyb20gJy4uL21hY3JvbW9sZWN1bGUtZGlzdGFuY2UtZnVuY3Rpb25zJztcbmltcG9ydCB7IERpc3RhbmNlTWV0cmljc1N1YmplY3RzLCBCaXRBcnJheU1ldHJpY3NOYW1lcywgU3RyaW5nTWV0cmljc05hbWVzLCBWZWN0b3JNZXRyaWNzTmFtZXMsIE51bWJlck1ldHJpY3NOYW1lcywgSW50QXJyYXlNZXRyaWNzTmFtZXMgfSBmcm9tICcuL2NvbnN0cyc7XG5leHBvcnQgY29uc3QgdmVjdG9yRGlzdGFuY2VNZXRyaWNzTWV0aG9kcyA9IHtcbiAgICBbVmVjdG9yTWV0cmljc05hbWVzLkV1Y2xpZGVhbl06IGNhbGN1bGF0ZUV1Y2xpZGVhbkRpc3RhbmNlLFxufTtcbmV4cG9ydCBjb25zdCBzdHJpbmdEaXN0YW5jZU1ldHJpY3NNZXRob2RzID0ge1xuICAgIFtTdHJpbmdNZXRyaWNzTmFtZXMuTGV2ZW5zaHRlaW5dOiBmbC5kaXN0YW5jZSxcbiAgICBbU3RyaW5nTWV0cmljc05hbWVzLkphcm9XaW5rbGVyXTogamFyb1dpbmtsZXIsXG4gICAgW1N0cmluZ01ldHJpY3NOYW1lcy5NYW5oYXR0YW5dOiBtYW5oYXR0YW5EaXN0YW5jZSxcbiAgICBbU3RyaW5nTWV0cmljc05hbWVzLk9uZWhvdF06IGNhdGVnb3JpY2FsRGlzdGFuY2UsXG59O1xuZXhwb3J0IGNvbnN0IGJpdEFycmF5RGlzdGFuY2VNZXRyaWNzTWV0aG9kcyA9IHtcbiAgICBbQml0QXJyYXlNZXRyaWNzTmFtZXMuVGFuaW1vdG9dOiB0YW5pbW90b0Rpc3RhbmNlLFxuICAgIFtCaXRBcnJheU1ldHJpY3NOYW1lcy5EaWNlXTogZGljZURpc3RhbmNlLFxuICAgIFtCaXRBcnJheU1ldHJpY3NOYW1lcy5Bc3ltbWV0cmljXTogYXN5bW1ldHJpY0Rpc3RhbmNlLFxuICAgIFtCaXRBcnJheU1ldHJpY3NOYW1lcy5CcmF1bkJsYW5xdWV0XTogYnJhdW5CbGFucXVldERpc3RhbmNlLFxuICAgIFtCaXRBcnJheU1ldHJpY3NOYW1lcy5Db3NpbmVdOiBjb3NpbmVEaXN0YW5jZSxcbiAgICBbQml0QXJyYXlNZXRyaWNzTmFtZXMuS3VsY3p5bnNraV06IGt1bGN6eW5za2lEaXN0YW5jZSxcbiAgICBbQml0QXJyYXlNZXRyaWNzTmFtZXMuTWNDb25uYXVnaGV5XTogbWNDb25uYXVnaGV5RGlzdGFuY2UsXG4gICAgW0JpdEFycmF5TWV0cmljc05hbWVzLlJvZ290R29sZGJlcmddOiByb2dvdEdvbGRiZXJnRGlzdGFuY2UsXG4gICAgW0JpdEFycmF5TWV0cmljc05hbWVzLlJ1c3NlbF06IHJ1c3NlbERpc3RhbmNlLFxuICAgIFtCaXRBcnJheU1ldHJpY3NOYW1lcy5Tb2thbF06IHNva2FsRGlzdGFuY2UsXG4gICAgW0JpdEFycmF5TWV0cmljc05hbWVzLkhhbW1pbmddOiBoYW1taW5nRGlzdGFuY2UsXG4gICAgW0JpdEFycmF5TWV0cmljc05hbWVzLkV1Y2xpZGVhbl06IGV1Y2xpZGVhbkRpc3RhbmNlLFxufTtcbmV4cG9ydCBjb25zdCBpbnRBcnJheURpc3RhbmNlTWV0cmljc01ldGhvZHMgPSB7XG4gICAgW0ludEFycmF5TWV0cmljc05hbWVzLlRhbmltb3RvSW50QXJyYXldOiB0YW5pbW90b0Rpc3RhbmNlSW50QXJyYXksXG59O1xuZXhwb3J0IGNvbnN0IG51bWJlckRpc3RhbmNlTWV0cmljc01ldGhvZHMgPSB7XG4gICAgW051bWJlck1ldHJpY3NOYW1lcy5EaWZmZXJlbmNlXTogbnVtZXJpY0Rpc3RhbmNlLFxufTtcbmV4cG9ydCBjb25zdCBBdmFpbGFibGVNZXRyaWNzID0ge1xuICAgIFtEaXN0YW5jZU1ldHJpY3NTdWJqZWN0cy5WZWN0b3JdOiB7XG4gICAgICAgIFtWZWN0b3JNZXRyaWNzTmFtZXMuRXVjbGlkZWFuXTogdmVjdG9yRGlzdGFuY2VNZXRyaWNzTWV0aG9kc1tWZWN0b3JNZXRyaWNzTmFtZXMuRXVjbGlkZWFuXSxcbiAgICB9LFxuICAgIFtEaXN0YW5jZU1ldHJpY3NTdWJqZWN0cy5TdHJpbmddOiB7XG4gICAgICAgIFtTdHJpbmdNZXRyaWNzTmFtZXMuTGV2ZW5zaHRlaW5dOiBzdHJpbmdEaXN0YW5jZU1ldHJpY3NNZXRob2RzW1N0cmluZ01ldHJpY3NOYW1lcy5MZXZlbnNodGVpbl0sXG4gICAgICAgIFtTdHJpbmdNZXRyaWNzTmFtZXMuSmFyb1dpbmtsZXJdOiBzdHJpbmdEaXN0YW5jZU1ldHJpY3NNZXRob2RzW1N0cmluZ01ldHJpY3NOYW1lcy5KYXJvV2lua2xlcl0sXG4gICAgICAgIFtTdHJpbmdNZXRyaWNzTmFtZXMuTWFuaGF0dGFuXTogc3RyaW5nRGlzdGFuY2VNZXRyaWNzTWV0aG9kc1tTdHJpbmdNZXRyaWNzTmFtZXMuTWFuaGF0dGFuXSxcbiAgICAgICAgW1N0cmluZ01ldHJpY3NOYW1lcy5PbmVob3RdOiBzdHJpbmdEaXN0YW5jZU1ldHJpY3NNZXRob2RzW1N0cmluZ01ldHJpY3NOYW1lcy5PbmVob3RdLFxuICAgIH0sXG4gICAgW0Rpc3RhbmNlTWV0cmljc1N1YmplY3RzLkJpdEFycmF5XToge1xuICAgICAgICBbQml0QXJyYXlNZXRyaWNzTmFtZXMuVGFuaW1vdG9dOiBiaXRBcnJheURpc3RhbmNlTWV0cmljc01ldGhvZHNbQml0QXJyYXlNZXRyaWNzTmFtZXMuVGFuaW1vdG9dLFxuICAgICAgICBbQml0QXJyYXlNZXRyaWNzTmFtZXMuRGljZV06IGJpdEFycmF5RGlzdGFuY2VNZXRyaWNzTWV0aG9kc1tCaXRBcnJheU1ldHJpY3NOYW1lcy5EaWNlXSxcbiAgICAgICAgW0JpdEFycmF5TWV0cmljc05hbWVzLkFzeW1tZXRyaWNdOiBiaXRBcnJheURpc3RhbmNlTWV0cmljc01ldGhvZHNbQml0QXJyYXlNZXRyaWNzTmFtZXMuQXN5bW1ldHJpY10sXG4gICAgICAgIFtCaXRBcnJheU1ldHJpY3NOYW1lcy5CcmF1bkJsYW5xdWV0XTogYml0QXJyYXlEaXN0YW5jZU1ldHJpY3NNZXRob2RzW0JpdEFycmF5TWV0cmljc05hbWVzLkJyYXVuQmxhbnF1ZXRdLFxuICAgICAgICBbQml0QXJyYXlNZXRyaWNzTmFtZXMuQ29zaW5lXTogYml0QXJyYXlEaXN0YW5jZU1ldHJpY3NNZXRob2RzW0JpdEFycmF5TWV0cmljc05hbWVzLkNvc2luZV0sXG4gICAgICAgIFtCaXRBcnJheU1ldHJpY3NOYW1lcy5LdWxjenluc2tpXTogYml0QXJyYXlEaXN0YW5jZU1ldHJpY3NNZXRob2RzW0JpdEFycmF5TWV0cmljc05hbWVzLkt1bGN6eW5za2ldLFxuICAgICAgICBbQml0QXJyYXlNZXRyaWNzTmFtZXMuTWNDb25uYXVnaGV5XTogYml0QXJyYXlEaXN0YW5jZU1ldHJpY3NNZXRob2RzW0JpdEFycmF5TWV0cmljc05hbWVzLk1jQ29ubmF1Z2hleV0sXG4gICAgICAgIFtCaXRBcnJheU1ldHJpY3NOYW1lcy5Sb2dvdEdvbGRiZXJnXTogYml0QXJyYXlEaXN0YW5jZU1ldHJpY3NNZXRob2RzW0JpdEFycmF5TWV0cmljc05hbWVzLlJvZ290R29sZGJlcmddLFxuICAgICAgICBbQml0QXJyYXlNZXRyaWNzTmFtZXMuUnVzc2VsXTogYml0QXJyYXlEaXN0YW5jZU1ldHJpY3NNZXRob2RzW0JpdEFycmF5TWV0cmljc05hbWVzLlJ1c3NlbF0sXG4gICAgICAgIFtCaXRBcnJheU1ldHJpY3NOYW1lcy5Tb2thbF06IGJpdEFycmF5RGlzdGFuY2VNZXRyaWNzTWV0aG9kc1tCaXRBcnJheU1ldHJpY3NOYW1lcy5Tb2thbF0sXG4gICAgfSxcbiAgICBbRGlzdGFuY2VNZXRyaWNzU3ViamVjdHMuTWFjcm9Nb2xlY3VsZV06IHtcbiAgICAgICAgW01tRGlzdGFuY2VGdW5jdGlvbnNOYW1lcy5IQU1NSU5HXTogbW1EaXN0YW5jZUZ1bmN0aW9uc1tNbURpc3RhbmNlRnVuY3Rpb25zTmFtZXMuSEFNTUlOR10sXG4gICAgICAgIFtNbURpc3RhbmNlRnVuY3Rpb25zTmFtZXMuTEVWRU5TSFRFSU5dOiBtbURpc3RhbmNlRnVuY3Rpb25zW01tRGlzdGFuY2VGdW5jdGlvbnNOYW1lcy5MRVZFTlNIVEVJTl0sXG4gICAgICAgIFtNbURpc3RhbmNlRnVuY3Rpb25zTmFtZXMuTkVFRExFTUFOTl9XVU5TQ0hdOiBtbURpc3RhbmNlRnVuY3Rpb25zW01tRGlzdGFuY2VGdW5jdGlvbnNOYW1lcy5ORUVETEVNQU5OX1dVTlNDSF0sXG4gICAgICAgIFtNbURpc3RhbmNlRnVuY3Rpb25zTmFtZXMuTU9OT01FUl9DSEVNSUNBTF9ESVNUQU5DRV06IG1tRGlzdGFuY2VGdW5jdGlvbnNbTW1EaXN0YW5jZUZ1bmN0aW9uc05hbWVzLk1PTk9NRVJfQ0hFTUlDQUxfRElTVEFOQ0VdLFxuICAgIH0sXG4gICAgW0Rpc3RhbmNlTWV0cmljc1N1YmplY3RzLk51bWJlcl06IHtcbiAgICAgICAgW051bWJlck1ldHJpY3NOYW1lcy5EaWZmZXJlbmNlXTogbnVtYmVyRGlzdGFuY2VNZXRyaWNzTWV0aG9kc1tOdW1iZXJNZXRyaWNzTmFtZXMuRGlmZmVyZW5jZV0sXG4gICAgfSxcbiAgICBbRGlzdGFuY2VNZXRyaWNzU3ViamVjdHMuSW50QXJyYXldOiB7XG4gICAgICAgIFtJbnRBcnJheU1ldHJpY3NOYW1lcy5UYW5pbW90b0ludEFycmF5XTogaW50QXJyYXlEaXN0YW5jZU1ldHJpY3NNZXRob2RzW0ludEFycmF5TWV0cmljc05hbWVzLlRhbmltb3RvSW50QXJyYXldLFxuICAgIH1cbn07XG5leHBvcnQgY29uc3QgTWV0cmljVG9EYXRhVHlwZSA9IE9iamVjdC5rZXlzKEF2YWlsYWJsZU1ldHJpY3MpXG4gICAgLnJlZHVjZSgocmV0LCBrZXkpID0+IHtcbiAgICBmb3IgKGNvbnN0IHZhbCBvZiBPYmplY3Qua2V5cyhBdmFpbGFibGVNZXRyaWNzW2tleV0pKVxuICAgICAgICByZXRbdmFsXSA9IGtleTtcbiAgICByZXR1cm4gcmV0O1xufSwge30pO1xuZXhwb3J0IGZ1bmN0aW9uIGlzU3RyaW5nTWV0cmljKG5hbWUpIHtcbiAgICByZXR1cm4gTWV0cmljVG9EYXRhVHlwZVtuYW1lXSA9PSAnU3RyaW5nJztcbn1cbmV4cG9ydCBmdW5jdGlvbiBpc0JpdEFycmF5TWV0cmljKG5hbWUpIHtcbiAgICByZXR1cm4gTWV0cmljVG9EYXRhVHlwZVtuYW1lXSA9PSAnQml0QXJyYXknO1xufVxuZXhwb3J0IGZ1bmN0aW9uIGlzVmVjdG9yTWV0cmljKG5hbWUpIHtcbiAgICByZXR1cm4gTWV0cmljVG9EYXRhVHlwZVtuYW1lXSA9PSAnVmVjdG9yJztcbn1cbmV4cG9ydCBmdW5jdGlvbiBpc01hY3JvTW9sZWN1bGVNZXRyaWMobmFtZSkge1xuICAgIHJldHVybiBNZXRyaWNUb0RhdGFUeXBlW25hbWVdID09IERpc3RhbmNlTWV0cmljc1N1YmplY3RzLk1hY3JvTW9sZWN1bGUudG9TdHJpbmcoKTtcbn1cbi8qKiBNYW5oYXR0YW4gZGlzdGFuY2UgYmV0d2VlbiB0d28gc2VxdWVuY2VzIChtYXRjaCAtIDAsIG1pc21hdGNoIC0gMSkgbm9ybWFsaXplZCBmb3IgbGVuZ3RoLiAqL1xuZXhwb3J0IGZ1bmN0aW9uIG1hbmhhdHRhbkRpc3RhbmNlKHMxLCBzMikge1xuICAgIGlmIChzMS5sZW5ndGggIT09IHMyLmxlbmd0aCkge1xuICAgICAgICByZXR1cm4gMTtcbiAgICB9XG4gICAgZWxzZSB7XG4gICAgICAgIGxldCBkaXN0ID0gMDtcbiAgICAgICAgZm9yIChsZXQgaSA9IDE7IGkgPCBzMS5sZW5ndGg7IGkrKylcbiAgICAgICAgICAgIGRpc3QgKz0gczFbaV0gPT0gczJbaV0gPyAwIDogMTtcbiAgICAgICAgcmV0dXJuIGRpc3QgLyBzMS5sZW5ndGg7XG4gICAgfVxufVxuZXhwb3J0IGZ1bmN0aW9uIGNhdGVnb3JpY2FsRGlzdGFuY2UoczEsIHMyKSB7XG4gICAgcmV0dXJuIHMxID09PSBzMiA/IDAgOiAxO1xufVxuLyoqIFVuaWZpZWQgY2xhc3MgaW1wbGVtZW50aW5nIGRpZmZlcmVudCBzdHJpbmcgbWVhc3VyZXMuICovXG5leHBvcnQgY2xhc3MgTWVhc3VyZSB7XG4gICAgbWV0aG9kO1xuICAgIGRhdGFUeXBlO1xuICAgIC8qKlxuICAgICAqIENyZWF0ZXMgYW4gaW5zdGFuY2Ugb2YgTWVhc3VyZSB3aXRoIC5cbiAgICAgKiBAcGFyYW0ge3N0cmluZ30gbWV0aG9kIE1ldGhvZCB0byBjYWxjdWxhdGUgZGlzdGFuY2UgYmV0d2VlbiBzdHJpbmdzLlxuICAgICAqIEBtZW1iZXJvZiBNZWFzdXJlclxuICAgICAqL1xuICAgIGNvbnN0cnVjdG9yKG1ldGhvZCkge1xuICAgICAgICB0aGlzLm1ldGhvZCA9IG1ldGhvZDtcbiAgICAgICAgdGhpcy5kYXRhVHlwZSA9IE1ldHJpY1RvRGF0YVR5cGVbbWV0aG9kXTtcbiAgICB9XG4gICAgLyoqXG4gICAgICogUmV0dXJucyBjdXN0b20gc3RyaW5nIGRpc3RhbmNlIGZ1bmN0aW9uIHNwZWNpZmllZC5cbiAgICAgKiBAcGFyYW0ge29wdHN9IG9wdHMgT3B0aW9ucyBmb3IgdGhlIG1lYXN1cmUuIHVzZWQgZm9yIG1hY3JvbW9sZWN1bGUgZGlzdGFuY2VzXG4gICAgICogQHJldHVybiB7RGlzdGFuY2VNZXRyaWN9IENhbGxiYWNrIG9mIHRoZSBtZWFzdXJlIGNob3Nlbi5cbiAgICAgKiBAbWVtYmVyb2YgTWVhc3VyZXJcbiAgICAgKi9cbiAgICBnZXRNZWFzdXJlKG9wdHMpIHtcbiAgICAgICAgY29uc3QgZGljdCA9IEF2YWlsYWJsZU1ldHJpY3M7XG4gICAgICAgIGlmICghZGljdC5oYXNPd25Qcm9wZXJ0eSh0aGlzLmRhdGFUeXBlKSB8fCAhZGljdFt0aGlzLmRhdGFUeXBlXS5oYXNPd25Qcm9wZXJ0eSh0aGlzLm1ldGhvZCkpXG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYFVua25vd24gbWVhc3VyZSAke3RoaXMubWV0aG9kfSBmb3IgZGF0YSB0eXBlICR7dGhpcy5kYXRhVHlwZX1gKTtcbiAgICAgICAgcmV0dXJuIGlzTWFjcm9Nb2xlY3VsZU1ldHJpYyh0aGlzLm1ldGhvZCkgP1xuICAgICAgICAgICAgZGljdFt0aGlzLmRhdGFUeXBlXVt0aGlzLm1ldGhvZF0ob3B0cykgOlxuICAgICAgICAgICAgZGljdFt0aGlzLmRhdGFUeXBlXVt0aGlzLm1ldGhvZF07XG4gICAgfVxuICAgIC8qKlxuICAgICAqIFJldHVybnMgY3VzdG9tIHN0cmluZyBkaXN0YW5jZSBieSB0aGUgZ2l2ZW4gZGF0YSB0eXBlLlxuICAgICAqIEBwYXJhbSB7QXZhaWxhYmxlRGF0YVR5cGVzfSBkYXRhVHlwZSBNZXRyaWMncyBkYXRhIHR5cGVcbiAgICAgKiBAcmV0dXJuIHtzdHJpbmdbXX0gTWV0cmljIG5hbWVzIHdoaWNoIGV4cGVjdHMgdGhlIGdpdmVuIGRhdGEgdHlwZVxuICAgICAqIEBtZW1iZXJvZiBNZWFzdXJlclxuICAgICAqL1xuICAgIHN0YXRpYyBnZXRNZXRyaWNCeURhdGFUeXBlKGRhdGFUeXBlKSB7XG4gICAgICAgIHJldHVybiBPYmplY3Qua2V5cyhBdmFpbGFibGVNZXRyaWNzW2RhdGFUeXBlXSk7XG4gICAgfVxuICAgIC8qKiBSZXR1cm5zIG1ldHJpYyBuYW1lcyBhdmFpbGFibGUuXG4gICAgICogQG1lbWJlcm9mIE1lYXN1cmVyXG4gICAgICovXG4gICAgc3RhdGljIGdldCBhdmFpbGFibGVNZWFzdXJlcygpIHtcbiAgICAgICAgcmV0dXJuIE9iamVjdC5rZXlzKEF2YWlsYWJsZU1ldHJpY3MpO1xuICAgIH1cbn1cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSm1hV3hsSWpvaWRIbHdaV1F0YldWMGNtbGpjeTVxY3lJc0luTnZkWEpqWlZKdmIzUWlPaUlpTENKemIzVnlZMlZ6SWpwYkluUjVjR1ZrTFcxbGRISnBZM011ZEhNaVhTd2libUZ0WlhNaU9sdGRMQ0p0WVhCd2FXNW5jeUk2SWtGQlFVRXNUMEZCVHl4TFFVRkxMRVZCUVVVc1RVRkJUU3h4UWtGQmNVSXNRMEZCUXp0QlFVTXhReXhQUVVGUExFVkJRVU1zVjBGQlZ5eEZRVUZETEUxQlFVMHNlVUpCUVhsQ0xFTkJRVU03UVVGRmNFUXNUMEZCVHl4RlFVTk1MR3RDUVVGclFpeEZRVU5zUWl4eFFrRkJjVUlzUlVGRGNrSXNZMEZCWXl4RlFVTmtMRmxCUVZrc1JVRkRXaXhwUWtGQmFVSXNSVUZEYWtJc1pVRkJaU3hGUVVObUxHdENRVUZyUWl4RlFVTnNRaXh2UWtGQmIwSXNSVUZEY0VJc2NVSkJRWEZDTEVWQlEzSkNMR05CUVdNc1JVRkRaQ3hoUVVGaExFVkJRMklzWjBKQlFXZENMRVZCUTJoQ0xHVkJRV1VzUlVGRFppeDNRa0ZCZDBJc1IwRkRla0lzVFVGQlRTdzJRa0ZCTmtJc1EwRkJRenRCUVVWeVF5eFBRVUZQTEVWQlFVTXNNRUpCUVRCQ0xFVkJRVU1zVFVGQlRTeHBSRUZCYVVRc1EwRkJRenRCUVVjelJpeFBRVUZQTEVWQlFVTXNiVUpCUVcxQ0xFVkJRVVVzZDBKQlFYZENMRVZCUVVNc1RVRkJUU3h4UTBGQmNVTXNRMEZCUXp0QlFVTnNSeXhQUVVGUExFVkJRVU1zZFVKQlFYVkNMRVZCUVVVc2IwSkJRVzlDTEVWQlEyNUVMR3RDUVVGclFpeEZRVUZGTEd0Q1FVRnJRaXhGUVVGRkxHdENRVUZyUWl4RlFVRkZMRzlDUVVGdlFpeEZRVUZETEUxQlFVMHNWVUZCVlN4RFFVRkRPMEZCUjNCSExFMUJRVTBzUTBGQlF5eE5RVUZOTERSQ1FVRTBRaXhIUVVGNVJEdEpRVU5vUnl4RFFVRkRMR3RDUVVGclFpeERRVUZETEZOQlFWTXNRMEZCUXl4RlFVRkZMREJDUVVFd1FqdERRVU16UkN4RFFVRkRPMEZCUlVZc1RVRkJUU3hEUVVGRExFMUJRVTBzTkVKQlFUUkNMRWRCUVhsRU8wbEJRMmhITEVOQlFVTXNhMEpCUVd0Q0xFTkJRVU1zVjBGQlZ5eERRVUZETEVWQlFVVXNSVUZCUlN4RFFVRkRMRkZCUVZFN1NVRkROME1zUTBGQlF5eHJRa0ZCYTBJc1EwRkJReXhYUVVGWExFTkJRVU1zUlVGQlJTeFhRVUZYTzBsQlF6ZERMRU5CUVVNc2EwSkJRV3RDTEVOQlFVTXNVMEZCVXl4RFFVRkRMRVZCUVVVc2FVSkJRV2xDTzBsQlEycEVMRU5CUVVNc2EwSkJRV3RDTEVOQlFVTXNUVUZCVFN4RFFVRkRMRVZCUVVVc2JVSkJRVzFDTzBOQlEycEVMRU5CUVVNN1FVRkZSaXhOUVVGTkxFTkJRVU1zVFVGQlRTdzRRa0ZCT0VJc1IwRkJOa1E3U1VGRGRFY3NRMEZCUXl4dlFrRkJiMElzUTBGQlF5eFJRVUZSTEVOQlFVTXNSVUZCUlN4blFrRkJaMEk3U1VGRGFrUXNRMEZCUXl4dlFrRkJiMElzUTBGQlF5eEpRVUZKTEVOQlFVTXNSVUZCUlN4WlFVRlpPMGxCUTNwRExFTkJRVU1zYjBKQlFXOUNMRU5CUVVNc1ZVRkJWU3hEUVVGRExFVkJRVVVzYTBKQlFXdENPMGxCUTNKRUxFTkJRVU1zYjBKQlFXOUNMRU5CUVVNc1lVRkJZU3hEUVVGRExFVkJRVVVzY1VKQlFYRkNPMGxCUXpORUxFTkJRVU1zYjBKQlFXOUNMRU5CUVVNc1RVRkJUU3hEUVVGRExFVkJRVVVzWTBGQll6dEpRVU0zUXl4RFFVRkRMRzlDUVVGdlFpeERRVUZETEZWQlFWVXNRMEZCUXl4RlFVRkZMR3RDUVVGclFqdEpRVU55UkN4RFFVRkRMRzlDUVVGdlFpeERRVUZETEZsQlFWa3NRMEZCUXl4RlFVRkZMRzlDUVVGdlFqdEpRVU42UkN4RFFVRkRMRzlDUVVGdlFpeERRVUZETEdGQlFXRXNRMEZCUXl4RlFVRkZMSEZDUVVGeFFqdEpRVU16UkN4RFFVRkRMRzlDUVVGdlFpeERRVUZETEUxQlFVMHNRMEZCUXl4RlFVRkZMR05CUVdNN1NVRkROME1zUTBGQlF5eHZRa0ZCYjBJc1EwRkJReXhMUVVGTExFTkJRVU1zUlVGQlJTeGhRVUZoTzBsQlF6TkRMRU5CUVVNc2IwSkJRVzlDTEVOQlFVTXNUMEZCVHl4RFFVRkRMRVZCUVVVc1pVRkJaVHRKUVVNdlF5eERRVUZETEc5Q1FVRnZRaXhEUVVGRExGTkJRVk1zUTBGQlF5eEZRVUZGTEdsQ1FVRnBRanREUVVOd1JDeERRVUZETzBGQlJVWXNUVUZCVFN4RFFVRkRMRTFCUVUwc09FSkJRVGhDTEVkQlFXMUZPMGxCUXpWSExFTkJRVU1zYjBKQlFXOUNMRU5CUVVNc1owSkJRV2RDTEVOQlFVTXNSVUZCUlN4M1FrRkJkMEk3UTBGRGJFVXNRMEZCUXp0QlFVVkdMRTFCUVUwc1EwRkJReXhOUVVGTkxEUkNRVUUwUWl4SFFVRjVSRHRKUVVOb1J5eERRVUZETEd0Q1FVRnJRaXhEUVVGRExGVkJRVlVzUTBGQlF5eEZRVUZGTEdWQlFXVTdRMEZEYWtRc1EwRkJRenRCUVVWR0xFMUJRVTBzUTBGQlF5eE5RVUZOTEdkQ1FVRm5RaXhIUVVGSE8wbEJRemxDTEVOQlFVTXNkVUpCUVhWQ0xFTkJRVU1zVFVGQlRTeERRVUZETEVWQlFVVTdVVUZEYUVNc1EwRkJReXhyUWtGQmEwSXNRMEZCUXl4VFFVRlRMRU5CUVVNc1JVRkJSU3cwUWtGQk5FSXNRMEZCUXl4clFrRkJhMElzUTBGQlF5eFRRVUZUTEVOQlFVTTdTMEZETTBZN1NVRkRSQ3hEUVVGRExIVkNRVUYxUWl4RFFVRkRMRTFCUVUwc1EwRkJReXhGUVVGRk8xRkJRMmhETEVOQlFVTXNhMEpCUVd0Q0xFTkJRVU1zVjBGQlZ5eERRVUZETEVWQlFVVXNORUpCUVRSQ0xFTkJRVU1zYTBKQlFXdENMRU5CUVVNc1YwRkJWeXhEUVVGRE8xRkJRemxHTEVOQlFVTXNhMEpCUVd0Q0xFTkJRVU1zVjBGQlZ5eERRVUZETEVWQlFVVXNORUpCUVRSQ0xFTkJRVU1zYTBKQlFXdENMRU5CUVVNc1YwRkJWeXhEUVVGRE8xRkJRemxHTEVOQlFVTXNhMEpCUVd0Q0xFTkJRVU1zVTBGQlV5eERRVUZETEVWQlFVVXNORUpCUVRSQ0xFTkJRVU1zYTBKQlFXdENMRU5CUVVNc1UwRkJVeXhEUVVGRE8xRkJRekZHTEVOQlFVTXNhMEpCUVd0Q0xFTkJRVU1zVFVGQlRTeERRVUZETEVWQlFVVXNORUpCUVRSQ0xFTkJRVU1zYTBKQlFXdENMRU5CUVVNc1RVRkJUU3hEUVVGRE8wdEJRM0pHTzBsQlEwUXNRMEZCUXl4MVFrRkJkVUlzUTBGQlF5eFJRVUZSTEVOQlFVTXNSVUZCUlR0UlFVTnNReXhEUVVGRExHOUNRVUZ2UWl4RFFVRkRMRkZCUVZFc1EwRkJReXhGUVVGRkxEaENRVUU0UWl4RFFVRkRMRzlDUVVGdlFpeERRVUZETEZGQlFWRXNRMEZCUXp0UlFVTTVSaXhEUVVGRExHOUNRVUZ2UWl4RFFVRkRMRWxCUVVrc1EwRkJReXhGUVVGRkxEaENRVUU0UWl4RFFVRkRMRzlDUVVGdlFpeERRVUZETEVsQlFVa3NRMEZCUXp0UlFVTjBSaXhEUVVGRExHOUNRVUZ2UWl4RFFVRkRMRlZCUVZVc1EwRkJReXhGUVVGRkxEaENRVUU0UWl4RFFVRkRMRzlDUVVGdlFpeERRVUZETEZWQlFWVXNRMEZCUXp0UlFVTnNSeXhEUVVGRExHOUNRVUZ2UWl4RFFVRkRMR0ZCUVdFc1EwRkJReXhGUVVGRkxEaENRVUU0UWl4RFFVRkRMRzlDUVVGdlFpeERRVUZETEdGQlFXRXNRMEZCUXp0UlFVTjRSeXhEUVVGRExHOUNRVUZ2UWl4RFFVRkRMRTFCUVUwc1EwRkJReXhGUVVGRkxEaENRVUU0UWl4RFFVRkRMRzlDUVVGdlFpeERRVUZETEUxQlFVMHNRMEZCUXp0UlFVTXhSaXhEUVVGRExHOUNRVUZ2UWl4RFFVRkRMRlZCUVZVc1EwRkJReXhGUVVGRkxEaENRVUU0UWl4RFFVRkRMRzlDUVVGdlFpeERRVUZETEZWQlFWVXNRMEZCUXp0UlFVTnNSeXhEUVVGRExHOUNRVUZ2UWl4RFFVRkRMRmxCUVZrc1EwRkJReXhGUVVGRkxEaENRVUU0UWl4RFFVRkRMRzlDUVVGdlFpeERRVUZETEZsQlFWa3NRMEZCUXp0UlFVTjBSeXhEUVVGRExHOUNRVUZ2UWl4RFFVRkRMR0ZCUVdFc1EwRkJReXhGUVVGRkxEaENRVUU0UWl4RFFVRkRMRzlDUVVGdlFpeERRVUZETEdGQlFXRXNRMEZCUXp0UlFVTjRSeXhEUVVGRExHOUNRVUZ2UWl4RFFVRkRMRTFCUVUwc1EwRkJReXhGUVVGRkxEaENRVUU0UWl4RFFVRkRMRzlDUVVGdlFpeERRVUZETEUxQlFVMHNRMEZCUXp0UlFVTXhSaXhEUVVGRExHOUNRVUZ2UWl4RFFVRkRMRXRCUVVzc1EwRkJReXhGUVVGRkxEaENRVUU0UWl4RFFVRkRMRzlDUVVGdlFpeERRVUZETEV0QlFVc3NRMEZCUXp0TFFVTjZSanRKUVVORUxFTkJRVU1zZFVKQlFYVkNMRU5CUVVNc1lVRkJZU3hEUVVGRExFVkJRVVU3VVVGRGRrTXNRMEZCUXl4M1FrRkJkMElzUTBGQlF5eFBRVUZQTEVOQlFVTXNSVUZCUlN4dFFrRkJiVUlzUTBGQlF5eDNRa0ZCZDBJc1EwRkJReXhQUVVGUExFTkJRVU03VVVGRGVrWXNRMEZCUXl4M1FrRkJkMElzUTBGQlF5eFhRVUZYTEVOQlFVTXNSVUZCUlN4dFFrRkJiVUlzUTBGQlF5eDNRa0ZCZDBJc1EwRkJReXhYUVVGWExFTkJRVU03VVVGRGFrY3NRMEZCUXl4M1FrRkJkMElzUTBGQlF5eHBRa0ZCYVVJc1EwRkJReXhGUVVGRkxHMUNRVUZ0UWl4RFFVRkRMSGRDUVVGM1FpeERRVUZETEdsQ1FVRnBRaXhEUVVGRE8xRkJRemRITEVOQlFVTXNkMEpCUVhkQ0xFTkJRVU1zZVVKQlFYbENMRU5CUVVNc1JVRkRiRVFzYlVKQlFXMUNMRU5CUVVNc2QwSkJRWGRDTEVOQlFVTXNlVUpCUVhsQ0xFTkJRVU03UzBGRE1VVTdTVUZEUkN4RFFVRkRMSFZDUVVGMVFpeERRVUZETEUxQlFVMHNRMEZCUXl4RlFVRkZPMUZCUTJoRExFTkJRVU1zYTBKQlFXdENMRU5CUVVNc1ZVRkJWU3hEUVVGRExFVkJRVVVzTkVKQlFUUkNMRU5CUVVNc2EwSkJRV3RDTEVOQlFVTXNWVUZCVlN4RFFVRkRPMHRCUXpkR08wbEJRMFFzUTBGQlF5eDFRa0ZCZFVJc1EwRkJReXhSUVVGUkxFTkJRVU1zUlVGQlJUdFJRVU5zUXl4RFFVRkRMRzlDUVVGdlFpeERRVUZETEdkQ1FVRm5RaXhEUVVGRExFVkJRVVVzT0VKQlFUaENMRU5CUVVNc2IwSkJRVzlDTEVOQlFVTXNaMEpCUVdkQ0xFTkJRVU03UzBGREwwYzdRMEZEUml4RFFVRkRPMEZCUlVZc1RVRkJUU3hEUVVGRExFMUJRVTBzWjBKQlFXZENMRWRCUVhGQ0xFMUJRVTBzUTBGQlF5eEpRVUZKTEVOQlFVTXNaMEpCUVdkQ0xFTkJRVU03UzBGRE5VVXNUVUZCVFN4RFFVRkRMRU5CUVVNc1IwRkJjVUlzUlVGQlJTeEhRVUZITEVWQlFVVXNSVUZCUlR0SlFVTnlReXhMUVVGTExFMUJRVTBzUjBGQlJ5eEpRVUZKTEUxQlFVMHNRMEZCUXl4SlFVRkpMRU5CUVVNc1owSkJRV2RDTEVOQlFVTXNSMEZCZVVJc1EwRkJReXhEUVVGRE8xRkJRM2hGTEVkQlFVY3NRMEZCUXl4SFFVRjVRaXhEUVVGRExFZEJRVWNzUjBGQlJ5eERRVUZETzBsQlJYWkRMRTlCUVU4c1IwRkJSeXhEUVVGRE8wRkJRMklzUTBGQlF5eEZRVUZGTEVWQlFVVXNRMEZCUXl4RFFVRkRPMEZCWlZRc1RVRkJUU3hWUVVGVkxHTkJRV01zUTBGQlF5eEpRVUZyUWp0SlFVTXZReXhQUVVGUExHZENRVUZuUWl4RFFVRkRMRWxCUVVrc1EwRkJReXhKUVVGSkxGRkJRVkVzUTBGQlF6dEJRVU0xUXl4RFFVRkRPMEZCUlVRc1RVRkJUU3hWUVVGVkxHZENRVUZuUWl4RFFVRkRMRWxCUVd0Q08wbEJRMnBFTEU5QlFVOHNaMEpCUVdkQ0xFTkJRVU1zU1VGQlNTeERRVUZETEVsQlFVa3NWVUZCVlN4RFFVRkRPMEZCUXpsRExFTkJRVU03UVVGRlJDeE5RVUZOTEZWQlFWVXNZMEZCWXl4RFFVRkRMRWxCUVd0Q08wbEJReTlETEU5QlFVOHNaMEpCUVdkQ0xFTkJRVU1zU1VGQlNTeERRVUZETEVsQlFVa3NVVUZCVVN4RFFVRkRPMEZCUXpWRExFTkJRVU03UVVGRlJDeE5RVUZOTEZWQlFWVXNjVUpCUVhGQ0xFTkJRVU1zU1VGQmEwSTdTVUZEZEVRc1QwRkJUeXhuUWtGQlowSXNRMEZCUXl4SlFVRkpMRU5CUVVNc1NVRkJTU3gxUWtGQmRVSXNRMEZCUXl4aFFVRmhMRU5CUVVNc1VVRkJVU3hGUVVGRkxFTkJRVU03UVVGRGNFWXNRMEZCUXp0QlFVVkVMR2RIUVVGblJ6dEJRVU5vUnl4TlFVRk5MRlZCUVZVc2FVSkJRV2xDTEVOQlFVTXNSVUZCVlN4RlFVRkZMRVZCUVZVN1NVRkRkRVFzU1VGQlNTeEZRVUZGTEVOQlFVTXNUVUZCVFN4TFFVRkxMRVZCUVVVc1EwRkJReXhOUVVGTkxFVkJRVVU3VVVGRE0wSXNUMEZCVHl4RFFVRkRMRU5CUVVNN1MwRkRWanRUUVVGTk8xRkJRMHdzU1VGQlNTeEpRVUZKTEVkQlFWY3NRMEZCUXl4RFFVRkRPMUZCUTNKQ0xFdEJRVXNzU1VGQlNTeERRVUZETEVkQlFVY3NRMEZCUXl4RlFVRkZMRU5CUVVNc1IwRkJSeXhGUVVGRkxFTkJRVU1zVFVGQlRTeEZRVUZGTEVOQlFVTXNSVUZCUlR0WlFVTm9ReXhKUVVGSkxFbEJRVWtzUlVGQlJTeERRVUZETEVOQlFVTXNRMEZCUXl4SlFVRkpMRVZCUVVVc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU03VVVGRGFrTXNUMEZCVHl4SlFVRkpMRWRCUVVjc1JVRkJSU3hEUVVGRExFMUJRVTBzUTBGQlF6dExRVU42UWp0QlFVTklMRU5CUVVNN1FVRkZSQ3hOUVVGTkxGVkJRVlVzYlVKQlFXMUNMRU5CUVVNc1JVRkJWU3hGUVVGRkxFVkJRVlU3U1VGRGVFUXNUMEZCVHl4RlFVRkZMRXRCUVVzc1JVRkJSU3hEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJRenRCUVVNelFpeERRVUZETzBGQlJVUXNORVJCUVRSRU8wRkJRelZFTEUxQlFVMHNUMEZCVHl4UFFVRlBPMGxCUTFJc1RVRkJUU3hEUVVGbE8wbEJRM0pDTEZGQlFWRXNRMEZCY1VJN1NVRkZka003T3pzN1QwRkpSenRKUVVOSUxGbEJRVmtzVFVGQmIwSTdVVUZET1VJc1NVRkJTU3hEUVVGRExFMUJRVTBzUjBGQlJ5eE5RVUZOTEVOQlFVTTdVVUZEY2tJc1NVRkJTU3hEUVVGRExGRkJRVkVzUjBGQlJ5eG5Ra0ZCWjBJc1EwRkJReXhOUVVGTkxFTkJRWFZDTEVOQlFVTTdTVUZEYWtVc1EwRkJRenRKUVVWRU96czdPenRQUVV0SE8wbEJRMGtzVlVGQlZTeERRVUZETEVsQlFWVTdVVUZETVVJc1RVRkJUU3hKUVVGSkxFZEJSVTRzWjBKQlFXZENMRU5CUVVNN1VVRkRja0lzU1VGQlNTeERRVUZETEVsQlFVa3NRMEZCUXl4alFVRmpMRU5CUVVNc1NVRkJTU3hEUVVGRExGRkJRVkVzUTBGQlF5eEpRVUZKTEVOQlFVTXNTVUZCU1N4RFFVRkRMRWxCUVVrc1EwRkJReXhSUVVGUkxFTkJRVU1zUTBGQlF5eGpRVUZqTEVOQlFVTXNTVUZCU1N4RFFVRkRMRTFCUVUwc1EwRkJRenRaUVVONlJpeE5RVUZOTEVsQlFVa3NTMEZCU3l4RFFVRkRMRzFDUVVGdFFpeEpRVUZKTEVOQlFVTXNUVUZCVFN4clFrRkJhMElzU1VGQlNTeERRVUZETEZGQlFWRXNSVUZCUlN4RFFVRkRMRU5CUVVNN1VVRkRia1lzVDBGQlR5eHhRa0ZCY1VJc1EwRkJReXhKUVVGSkxFTkJRVU1zVFVGQlRTeERRVUZETEVOQlFVTXNRMEZCUXp0WlFVTjRReXhKUVVGSkxFTkJRVU1zU1VGQlNTeERRVUZETEZGQlFWRXNRMEZCUXl4RFFVRkRMRWxCUVVrc1EwRkJReXhOUVVGTkxFTkJRWEZETEVOQlFVTXNTVUZCU1N4RFFVRkRMRU5CUVVNc1EwRkJRenRaUVVNM1JTeEpRVUZKTEVOQlFVTXNTVUZCU1N4RFFVRkRMRkZCUVZFc1EwRkJReXhEUVVGRExFbEJRVWtzUTBGQlF5eE5RVUZOTEVOQlFXMUNMRU5CUVVNN1NVRkRka1FzUTBGQlF6dEpRVVZFT3pzN096dFBRVXRITzBsQlEwa3NUVUZCVFN4RFFVRkRMRzFDUVVGdFFpeERRVUZETEZGQlFUUkNPMUZCUXpWRUxFOUJRVThzVFVGQlRTeERRVUZETEVsQlFVa3NRMEZCUXl4blFrRkJaMElzUTBGQlF5eFJRVUZSTEVOQlFVTXNRMEZCUXl4RFFVRkRPMGxCUTJwRUxFTkJRVU03U1VGRlJEczdUMEZGUnp0SlFVTklMRTFCUVUwc1MwRkJTeXhwUWtGQmFVSTdVVUZETVVJc1QwRkJUeXhOUVVGTkxFTkJRVU1zU1VGQlNTeERRVUZETEdkQ1FVRm5RaXhEUVVGRExFTkJRVU03U1VGRGRrTXNRMEZCUXp0RFFVTkdJaXdpYzI5MWNtTmxjME52Ym5SbGJuUWlPbHNpYVcxd2IzSjBJQ29nWVhNZ1ptd2dabkp2YlNBblptRnpkR1Z6ZEMxc1pYWmxibk5vZEdWcGJpYzdYRzVwYlhCdmNuUWdlMnBoY205WGFXNXJiR1Z5ZlNCbWNtOXRJQ2RxWVhKdkxYZHBibXRzWlhJdGRIbHdaWE5qY21sd2RDYzdYRzVwYlhCdmNuUWdlMFJwYzNSaGJtTmxUV1YwY21samZTQm1jbTl0SUNkQVpHRjBZV2R5YjJzdGJHbGljbUZ5YVdWekwzVjBhV3h6TDNOeVl5OTBlWEJsTFdSbFkyeGhjbUYwYVc5dWN5YzdYRzVwYlhCdmNuUWdlMXh1SUNCaGMzbHRiV1YwY21salJHbHpkR0Z1WTJVc1hHNGdJR0p5WVhWdVFteGhibkYxWlhSRWFYTjBZVzVqWlN4Y2JpQWdZMjl6YVc1bFJHbHpkR0Z1WTJVc1hHNGdJR1JwWTJWRWFYTjBZVzVqWlN4Y2JpQWdaWFZqYkdsa1pXRnVSR2x6ZEdGdVkyVXNYRzRnSUdoaGJXMXBibWRFYVhOMFlXNWpaU3hjYmlBZ2EzVnNZM3A1Ym5OcmFVUnBjM1JoYm1ObExGeHVJQ0J0WTBOdmJtNWhkV2RvWlhsRWFYTjBZVzVqWlN4Y2JpQWdjbTluYjNSSGIyeGtZbVZ5WjBScGMzUmhibU5sTEZ4dUlDQnlkWE56Wld4RWFYTjBZVzVqWlN4Y2JpQWdjMjlyWVd4RWFYTjBZVzVqWlN4Y2JpQWdkR0Z1YVcxdmRHOUVhWE4wWVc1alpTeGNiaUFnYm5WdFpYSnBZMFJwYzNSaGJtTmxMRnh1SUNCMFlXNXBiVzkwYjBScGMzUmhibU5sU1c1MFFYSnlZWGtzWEc1OUlHWnliMjBnSnk0dUwyUnBjM1JoYm1ObExXMWxkSEpwWTNNdGJXVjBhRzlrY3ljN1hHNWNibWx0Y0c5eWRDQjdZMkZzWTNWc1lYUmxSWFZqYkdsa1pXRnVSR2x6ZEdGdVkyVjlJR1p5YjIwZ0owQmtZWFJoWjNKdmF5MXNhV0p5WVhKcFpYTXZkWFJwYkhNdmMzSmpMM1psWTNSdmNpMXZjR1Z5WVhScGIyNXpKenRjYm1sdGNHOXlkQ0JDYVhSQmNuSmhlU0JtY205dElDZEFaR0YwWVdkeWIyc3RiR2xpY21GeWFXVnpMM1YwYVd4ekwzTnlZeTlpYVhRdFlYSnlZWGtuTzF4dWFXMXdiM0owSUh0V1pXTjBiM0lzSUZOMGNtbHVaMFJwWTNScGIyNWhjbmw5SUdaeWIyMGdKMEJrWVhSaFozSnZheTFzYVdKeVlYSnBaWE12ZFhScGJITXZjM0pqTDNSNWNHVXRaR1ZqYkdGeVlYUnBiMjV6Snp0Y2JtbHRjRzl5ZENCN2JXMUVhWE4wWVc1alpVWjFibU4wYVc5dWN5d2dUVzFFYVhOMFlXNWpaVVoxYm1OMGFXOXVjMDVoYldWemZTQm1jbTl0SUNjdUxpOXRZV055YjIxdmJHVmpkV3hsTFdScGMzUmhibU5sTFdaMWJtTjBhVzl1Y3ljN1hHNXBiWEJ2Y25RZ2UwUnBjM1JoYm1ObFRXVjBjbWxqYzFOMVltcGxZM1J6TENCQ2FYUkJjbkpoZVUxbGRISnBZM05PWVcxbGN5eGNiaUFnVTNSeWFXNW5UV1YwY21samMwNWhiV1Z6TENCV1pXTjBiM0pOWlhSeWFXTnpUbUZ0WlhNc0lFNTFiV0psY2sxbGRISnBZM05PWVcxbGN5d2dTVzUwUVhKeVlYbE5aWFJ5YVdOelRtRnRaWE45SUdaeWIyMGdKeTR2WTI5dWMzUnpKenRjYmx4dVhHNWxlSEJ2Y25RZ1kyOXVjM1FnZG1WamRHOXlSR2x6ZEdGdVkyVk5aWFJ5YVdOelRXVjBhRzlrY3pvZ2V5QmJibUZ0WlRvZ2MzUnlhVzVuWFRvZ0tIZzZJRlpsWTNSdmNpd2dlVG9nVm1WamRHOXlLU0E5UGlCdWRXMWlaWElnZlNBOUlIdGNiaUFnVzFabFkzUnZjazFsZEhKcFkzTk9ZVzFsY3k1RmRXTnNhV1JsWVc1ZE9pQmpZV3hqZFd4aGRHVkZkV05zYVdSbFlXNUVhWE4wWVc1alpTeGNibjA3WEc1Y2JtVjRjRzl5ZENCamIyNXpkQ0J6ZEhKcGJtZEVhWE4wWVc1alpVMWxkSEpwWTNOTlpYUm9iMlJ6T2lCN0lGdHVZVzFsT2lCemRISnBibWRkT2lBb2VEb2djM1J5YVc1bkxDQjVPaUJ6ZEhKcGJtY3BJRDArSUc1MWJXSmxjaUI5SUQwZ2UxeHVJQ0JiVTNSeWFXNW5UV1YwY21samMwNWhiV1Z6TGt4bGRtVnVjMmgwWldsdVhUb2dabXd1WkdsemRHRnVZMlVzWEc0Z0lGdFRkSEpwYm1kTlpYUnlhV056VG1GdFpYTXVTbUZ5YjFkcGJtdHNaWEpkT2lCcVlYSnZWMmx1YTJ4bGNpeGNiaUFnVzFOMGNtbHVaMDFsZEhKcFkzTk9ZVzFsY3k1TllXNW9ZWFIwWVc1ZE9pQnRZVzVvWVhSMFlXNUVhWE4wWVc1alpTeGNiaUFnVzFOMGNtbHVaMDFsZEhKcFkzTk9ZVzFsY3k1UGJtVm9iM1JkT2lCallYUmxaMjl5YVdOaGJFUnBjM1JoYm1ObExGeHVmVHRjYmx4dVpYaHdiM0owSUdOdmJuTjBJR0pwZEVGeWNtRjVSR2x6ZEdGdVkyVk5aWFJ5YVdOelRXVjBhRzlrY3pvZ2V5QmJibUZ0WlRvZ2MzUnlhVzVuWFRvZ0tIZzZJRUpwZEVGeWNtRjVMQ0I1T2lCQ2FYUkJjbkpoZVNrZ1BUNGdiblZ0WW1WeUlIMGdQU0I3WEc0Z0lGdENhWFJCY25KaGVVMWxkSEpwWTNOT1lXMWxjeTVVWVc1cGJXOTBiMTA2SUhSaGJtbHRiM1J2UkdsemRHRnVZMlVzWEc0Z0lGdENhWFJCY25KaGVVMWxkSEpwWTNOT1lXMWxjeTVFYVdObFhUb2daR2xqWlVScGMzUmhibU5sTEZ4dUlDQmJRbWwwUVhKeVlYbE5aWFJ5YVdOelRtRnRaWE11UVhONWJXMWxkSEpwWTEwNklHRnplVzF0WlhSeWFXTkVhWE4wWVc1alpTeGNiaUFnVzBKcGRFRnljbUY1VFdWMGNtbGpjMDVoYldWekxrSnlZWFZ1UW14aGJuRjFaWFJkT2lCaWNtRjFia0pzWVc1eGRXVjBSR2x6ZEdGdVkyVXNYRzRnSUZ0Q2FYUkJjbkpoZVUxbGRISnBZM05PWVcxbGN5NURiM05wYm1WZE9pQmpiM05wYm1WRWFYTjBZVzVqWlN4Y2JpQWdXMEpwZEVGeWNtRjVUV1YwY21samMwNWhiV1Z6TGt0MWJHTjZlVzV6YTJsZE9pQnJkV3hqZW5sdWMydHBSR2x6ZEdGdVkyVXNYRzRnSUZ0Q2FYUkJjbkpoZVUxbGRISnBZM05PWVcxbGN5NU5ZME52Ym01aGRXZG9aWGxkT2lCdFkwTnZibTVoZFdkb1pYbEVhWE4wWVc1alpTeGNiaUFnVzBKcGRFRnljbUY1VFdWMGNtbGpjMDVoYldWekxsSnZaMjkwUjI5c1pHSmxjbWRkT2lCeWIyZHZkRWR2YkdSaVpYSm5SR2x6ZEdGdVkyVXNYRzRnSUZ0Q2FYUkJjbkpoZVUxbGRISnBZM05PWVcxbGN5NVNkWE56Wld4ZE9pQnlkWE56Wld4RWFYTjBZVzVqWlN4Y2JpQWdXMEpwZEVGeWNtRjVUV1YwY21samMwNWhiV1Z6TGxOdmEyRnNYVG9nYzI5cllXeEVhWE4wWVc1alpTeGNiaUFnVzBKcGRFRnljbUY1VFdWMGNtbGpjMDVoYldWekxraGhiVzFwYm1kZE9pQm9ZVzF0YVc1blJHbHpkR0Z1WTJVc1hHNGdJRnRDYVhSQmNuSmhlVTFsZEhKcFkzTk9ZVzFsY3k1RmRXTnNhV1JsWVc1ZE9pQmxkV05zYVdSbFlXNUVhWE4wWVc1alpTeGNibjA3WEc1Y2JtVjRjRzl5ZENCamIyNXpkQ0JwYm5SQmNuSmhlVVJwYzNSaGJtTmxUV1YwY21samMwMWxkR2h2WkhNNklIc2dXMjVoYldVNklITjBjbWx1WjEwNklDaDRPaUJWYVc1ME16SkJjbkpoZVN3Z2VUb2dWV2x1ZERNeVFYSnlZWGtwSUQwK0lHNTFiV0psY2lCOUlEMGdlMXh1SUNCYlNXNTBRWEp5WVhsTlpYUnlhV056VG1GdFpYTXVWR0Z1YVcxdmRHOUpiblJCY25KaGVWMDZJSFJoYm1sdGIzUnZSR2x6ZEdGdVkyVkpiblJCY25KaGVTeGNibjA3WEc1Y2JtVjRjRzl5ZENCamIyNXpkQ0J1ZFcxaVpYSkVhWE4wWVc1alpVMWxkSEpwWTNOTlpYUm9iMlJ6T2lCN0lGdHVZVzFsT2lCemRISnBibWRkT2lBb2VEb2diblZ0WW1WeUxDQjVPaUJ1ZFcxaVpYSXBJRDArSUc1MWJXSmxjaUI5SUQwZ2UxeHVJQ0JiVG5WdFltVnlUV1YwY21samMwNWhiV1Z6TGtScFptWmxjbVZ1WTJWZE9pQnVkVzFsY21salJHbHpkR0Z1WTJVc1hHNTlPMXh1WEc1bGVIQnZjblFnWTI5dWMzUWdRWFpoYVd4aFlteGxUV1YwY21samN5QTlJSHRjYmlBZ1cwUnBjM1JoYm1ObFRXVjBjbWxqYzFOMVltcGxZM1J6TGxabFkzUnZjbDA2SUh0Y2JpQWdJQ0JiVm1WamRHOXlUV1YwY21samMwNWhiV1Z6TGtWMVkyeHBaR1ZoYmwwNklIWmxZM1J2Y2tScGMzUmhibU5sVFdWMGNtbGpjMDFsZEdodlpITmJWbVZqZEc5eVRXVjBjbWxqYzA1aGJXVnpMa1YxWTJ4cFpHVmhibDBzWEc0Z0lIMHNYRzRnSUZ0RWFYTjBZVzVqWlUxbGRISnBZM05UZFdKcVpXTjBjeTVUZEhKcGJtZGRPaUI3WEc0Z0lDQWdXMU4wY21sdVowMWxkSEpwWTNOT1lXMWxjeTVNWlhabGJuTm9kR1ZwYmwwNklITjBjbWx1WjBScGMzUmhibU5sVFdWMGNtbGpjMDFsZEdodlpITmJVM1J5YVc1blRXVjBjbWxqYzA1aGJXVnpMa3hsZG1WdWMyaDBaV2x1WFN4Y2JpQWdJQ0JiVTNSeWFXNW5UV1YwY21samMwNWhiV1Z6TGtwaGNtOVhhVzVyYkdWeVhUb2djM1J5YVc1blJHbHpkR0Z1WTJWTlpYUnlhV056VFdWMGFHOWtjMXRUZEhKcGJtZE5aWFJ5YVdOelRtRnRaWE11U21GeWIxZHBibXRzWlhKZExGeHVJQ0FnSUZ0VGRISnBibWROWlhSeWFXTnpUbUZ0WlhNdVRXRnVhR0YwZEdGdVhUb2djM1J5YVc1blJHbHpkR0Z1WTJWTlpYUnlhV056VFdWMGFHOWtjMXRUZEhKcGJtZE5aWFJ5YVdOelRtRnRaWE11VFdGdWFHRjBkR0Z1WFN4Y2JpQWdJQ0JiVTNSeWFXNW5UV1YwY21samMwNWhiV1Z6TGs5dVpXaHZkRjA2SUhOMGNtbHVaMFJwYzNSaGJtTmxUV1YwY21samMwMWxkR2h2WkhOYlUzUnlhVzVuVFdWMGNtbGpjMDVoYldWekxrOXVaV2h2ZEYwc1hHNGdJSDBzWEc0Z0lGdEVhWE4wWVc1alpVMWxkSEpwWTNOVGRXSnFaV04wY3k1Q2FYUkJjbkpoZVYwNklIdGNiaUFnSUNCYlFtbDBRWEp5WVhsTlpYUnlhV056VG1GdFpYTXVWR0Z1YVcxdmRHOWRPaUJpYVhSQmNuSmhlVVJwYzNSaGJtTmxUV1YwY21samMwMWxkR2h2WkhOYlFtbDBRWEp5WVhsTlpYUnlhV056VG1GdFpYTXVWR0Z1YVcxdmRHOWRMRnh1SUNBZ0lGdENhWFJCY25KaGVVMWxkSEpwWTNOT1lXMWxjeTVFYVdObFhUb2dZbWwwUVhKeVlYbEVhWE4wWVc1alpVMWxkSEpwWTNOTlpYUm9iMlJ6VzBKcGRFRnljbUY1VFdWMGNtbGpjMDVoYldWekxrUnBZMlZkTEZ4dUlDQWdJRnRDYVhSQmNuSmhlVTFsZEhKcFkzTk9ZVzFsY3k1QmMzbHRiV1YwY21salhUb2dZbWwwUVhKeVlYbEVhWE4wWVc1alpVMWxkSEpwWTNOTlpYUm9iMlJ6VzBKcGRFRnljbUY1VFdWMGNtbGpjMDVoYldWekxrRnplVzF0WlhSeWFXTmRMRnh1SUNBZ0lGdENhWFJCY25KaGVVMWxkSEpwWTNOT1lXMWxjeTVDY21GMWJrSnNZVzV4ZFdWMFhUb2dZbWwwUVhKeVlYbEVhWE4wWVc1alpVMWxkSEpwWTNOTlpYUm9iMlJ6VzBKcGRFRnljbUY1VFdWMGNtbGpjMDVoYldWekxrSnlZWFZ1UW14aGJuRjFaWFJkTEZ4dUlDQWdJRnRDYVhSQmNuSmhlVTFsZEhKcFkzTk9ZVzFsY3k1RGIzTnBibVZkT2lCaWFYUkJjbkpoZVVScGMzUmhibU5sVFdWMGNtbGpjMDFsZEdodlpITmJRbWwwUVhKeVlYbE5aWFJ5YVdOelRtRnRaWE11UTI5emFXNWxYU3hjYmlBZ0lDQmJRbWwwUVhKeVlYbE5aWFJ5YVdOelRtRnRaWE11UzNWc1kzcDVibk5yYVYwNklHSnBkRUZ5Y21GNVJHbHpkR0Z1WTJWTlpYUnlhV056VFdWMGFHOWtjMXRDYVhSQmNuSmhlVTFsZEhKcFkzTk9ZVzFsY3k1TGRXeGplbmx1YzJ0cFhTeGNiaUFnSUNCYlFtbDBRWEp5WVhsTlpYUnlhV056VG1GdFpYTXVUV05EYjI1dVlYVm5hR1Y1WFRvZ1ltbDBRWEp5WVhsRWFYTjBZVzVqWlUxbGRISnBZM05OWlhSb2IyUnpXMEpwZEVGeWNtRjVUV1YwY21samMwNWhiV1Z6TGsxalEyOXVibUYxWjJobGVWMHNYRzRnSUNBZ1cwSnBkRUZ5Y21GNVRXVjBjbWxqYzA1aGJXVnpMbEp2WjI5MFIyOXNaR0psY21kZE9pQmlhWFJCY25KaGVVUnBjM1JoYm1ObFRXVjBjbWxqYzAxbGRHaHZaSE5iUW1sMFFYSnlZWGxOWlhSeWFXTnpUbUZ0WlhNdVVtOW5iM1JIYjJ4a1ltVnlaMTBzWEc0Z0lDQWdXMEpwZEVGeWNtRjVUV1YwY21samMwNWhiV1Z6TGxKMWMzTmxiRjA2SUdKcGRFRnljbUY1UkdsemRHRnVZMlZOWlhSeWFXTnpUV1YwYUc5a2MxdENhWFJCY25KaGVVMWxkSEpwWTNOT1lXMWxjeTVTZFhOelpXeGRMRnh1SUNBZ0lGdENhWFJCY25KaGVVMWxkSEpwWTNOT1lXMWxjeTVUYjJ0aGJGMDZJR0pwZEVGeWNtRjVSR2x6ZEdGdVkyVk5aWFJ5YVdOelRXVjBhRzlrYzF0Q2FYUkJjbkpoZVUxbGRISnBZM05PWVcxbGN5NVRiMnRoYkYwc1hHNGdJSDBzWEc0Z0lGdEVhWE4wWVc1alpVMWxkSEpwWTNOVGRXSnFaV04wY3k1TllXTnliMDF2YkdWamRXeGxYVG9nZXlBdkx5QnZjSFJwYjI1aGJDQmhjbWR6SUc1bFpXUmxaQ0JtYjNJZ2JXRmpjbTl0YjJ4bFkzVnNaU0JtZFc1amRHbHZibk1nZDJocFkyZ2dhVzVwZEdsaGJHbDZaU0IwYUdWdFhHNGdJQ0FnVzAxdFJHbHpkR0Z1WTJWR2RXNWpkR2x2Ym5OT1lXMWxjeTVJUVUxTlNVNUhYVG9nYlcxRWFYTjBZVzVqWlVaMWJtTjBhVzl1YzF0TmJVUnBjM1JoYm1ObFJuVnVZM1JwYjI1elRtRnRaWE11U0VGTlRVbE9SMTBzWEc0Z0lDQWdXMDF0UkdsemRHRnVZMlZHZFc1amRHbHZibk5PWVcxbGN5NU1SVlpGVGxOSVZFVkpUbDA2SUcxdFJHbHpkR0Z1WTJWR2RXNWpkR2x2Ym5OYlRXMUVhWE4wWVc1alpVWjFibU4wYVc5dWMwNWhiV1Z6TGt4RlZrVk9VMGhVUlVsT1hTeGNiaUFnSUNCYlRXMUVhWE4wWVc1alpVWjFibU4wYVc5dWMwNWhiV1Z6TGs1RlJVUk1SVTFCVGs1ZlYxVk9VME5JWFRvZ2JXMUVhWE4wWVc1alpVWjFibU4wYVc5dWMxdE5iVVJwYzNSaGJtTmxSblZ1WTNScGIyNXpUbUZ0WlhNdVRrVkZSRXhGVFVGT1RsOVhWVTVUUTBoZExGeHVJQ0FnSUZ0TmJVUnBjM1JoYm1ObFJuVnVZM1JwYjI1elRtRnRaWE11VFU5T1QwMUZVbDlEU0VWTlNVTkJURjlFU1ZOVVFVNURSVjA2WEc0Z0lDQWdJQ0J0YlVScGMzUmhibU5sUm5WdVkzUnBiMjV6VzAxdFJHbHpkR0Z1WTJWR2RXNWpkR2x2Ym5OT1lXMWxjeTVOVDA1UFRVVlNYME5JUlUxSlEwRk1YMFJKVTFSQlRrTkZYU3hjYmlBZ2ZTeGNiaUFnVzBScGMzUmhibU5sVFdWMGNtbGpjMU4xWW1wbFkzUnpMazUxYldKbGNsMDZJSHRjYmlBZ0lDQmJUblZ0WW1WeVRXVjBjbWxqYzA1aGJXVnpMa1JwWm1abGNtVnVZMlZkT2lCdWRXMWlaWEpFYVhOMFlXNWpaVTFsZEhKcFkzTk5aWFJvYjJSelcwNTFiV0psY2sxbGRISnBZM05PWVcxbGN5NUVhV1ptWlhKbGJtTmxYU3hjYmlBZ2ZTeGNiaUFnVzBScGMzUmhibU5sVFdWMGNtbGpjMU4xWW1wbFkzUnpMa2x1ZEVGeWNtRjVYVG9nZTF4dUlDQWdJRnRKYm5SQmNuSmhlVTFsZEhKcFkzTk9ZVzFsY3k1VVlXNXBiVzkwYjBsdWRFRnljbUY1WFRvZ2FXNTBRWEp5WVhsRWFYTjBZVzVqWlUxbGRISnBZM05OWlhSb2IyUnpXMGx1ZEVGeWNtRjVUV1YwY21samMwNWhiV1Z6TGxSaGJtbHRiM1J2U1c1MFFYSnlZWGxkTEZ4dUlDQjlYRzU5TzF4dVhHNWxlSEJ2Y25RZ1kyOXVjM1FnVFdWMGNtbGpWRzlFWVhSaFZIbHdaVG9nVTNSeWFXNW5SR2xqZEdsdmJtRnllU0E5SUU5aWFtVmpkQzVyWlhsektFRjJZV2xzWVdKc1pVMWxkSEpwWTNNcFhHNGdJQzV5WldSMVkyVW9LSEpsZERvZ1UzUnlhVzVuUkdsamRHbHZibUZ5ZVN3Z2EyVjVLU0E5UGlCN1hHNGdJQ0FnWm05eUlDaGpiMjV6ZENCMllXd2diMllnVDJKcVpXTjBMbXRsZVhNb1FYWmhhV3hoWW14bFRXVjBjbWxqYzF0clpYa2dZWE1nUVhaaGFXeGhZbXhsUkdGMFlWUjVjR1Z6WFNrcFhHNGdJQ0FnSUNCeVpYUmJkbUZzSUdGeklFRjJZV2xzWVdKc1pVUmhkR0ZVZVhCbGMxMGdQU0JyWlhrN1hHNWNiaUFnSUNCeVpYUjFjbTRnY21WME8xeHVJQ0I5TENCN2ZTazdYRzVjYm1WNGNHOXlkQ0IwZVhCbElFRjJZV2xzWVdKc1pVUmhkR0ZVZVhCbGN5QTlJR3RsZVc5bUlIUjVjR1Z2WmlCQmRtRnBiR0ZpYkdWTlpYUnlhV056TzF4dVpYaHdiM0owSUhSNWNHVWdWbVZqZEc5eVRXVjBjbWxqY3lBOUlHdGxlVzltSUhSNWNHVnZaaUJCZG1GcGJHRmliR1ZOWlhSeWFXTnpXMFJwYzNSaGJtTmxUV1YwY21samMxTjFZbXBsWTNSekxsWmxZM1J2Y2wwN1hHNWxlSEJ2Y25RZ2RIbHdaU0JUZEhKcGJtZE5aWFJ5YVdOeklEMGdhMlY1YjJZZ2RIbHdaVzltSUVGMllXbHNZV0pzWlUxbGRISnBZM05iUkdsemRHRnVZMlZOWlhSeWFXTnpVM1ZpYW1WamRITXVVM1J5YVc1blhUdGNibVY0Y0c5eWRDQjBlWEJsSUVKcGRFRnljbUY1VFdWMGNtbGpjeUE5SUd0bGVXOW1JSFI1Y0dWdlppQkJkbUZwYkdGaWJHVk5aWFJ5YVdOelcwUnBjM1JoYm1ObFRXVjBjbWxqYzFOMVltcGxZM1J6TGtKcGRFRnljbUY1WFR0Y2JtVjRjRzl5ZENCMGVYQmxJRXR1YjNkdVRXVjBjbWxqY3lBOUlGTjBjbWx1WjAxbGRISnBZM01nZkNCQ2FYUkJjbkpoZVUxbGRISnBZM01nZkNCV1pXTjBiM0pOWlhSeWFXTnpJSHhjYmlBZ1RXMUVhWE4wWVc1alpVWjFibU4wYVc5dWMwNWhiV1Z6SUh3Z1RuVnRZbVZ5VFdWMGNtbGpjMDVoYldWeklId2dTVzUwUVhKeVlYbE5aWFJ5YVdOelRtRnRaWE03WEc1Y2JtVjRjRzl5ZENCMGVYQmxJRlpoYkdsa1ZIbHdaWE1nUFZ4dUlDQjdJR1JoZEdFNklITjBjbWx1WjF0ZExDQnRaWFJ5YVdNNklGTjBjbWx1WjAxbGRISnBZM01nZkNCTmJVUnBjM1JoYm1ObFJuVnVZM1JwYjI1elRtRnRaWE1nZlNCOFhHNGdJSHNnWkdGMFlUb2dWbVZqZEc5eVcxMHNJRzFsZEhKcFl6b2dWbVZqZEc5eVRXVjBjbWxqY3lCOUlIeGNiaUFnZXlCa1lYUmhPaUJDYVhSQmNuSmhlVnRkTENCdFpYUnlhV002SUVKcGRFRnljbUY1VFdWMGNtbGpjeUI5SUh4Y2JpQWdleUJrWVhSaE9pQnVkVzFpWlhKYlhTd2diV1YwY21sak9pQk9kVzFpWlhKTlpYUnlhV056VG1GdFpYTWdmVHRjYmx4dVpYaHdiM0owSUdaMWJtTjBhVzl1SUdselUzUnlhVzVuVFdWMGNtbGpLRzVoYldVNklFdHViM2R1VFdWMGNtbGpjeWtnZTF4dUlDQnlaWFIxY200Z1RXVjBjbWxqVkc5RVlYUmhWSGx3WlZ0dVlXMWxYU0E5UFNBblUzUnlhVzVuSnp0Y2JuMWNibHh1Wlhod2IzSjBJR1oxYm1OMGFXOXVJR2x6UW1sMFFYSnlZWGxOWlhSeWFXTW9ibUZ0WlRvZ1MyNXZkMjVOWlhSeWFXTnpLU0I3WEc0Z0lISmxkSFZ5YmlCTlpYUnlhV05VYjBSaGRHRlVlWEJsVzI1aGJXVmRJRDA5SUNkQ2FYUkJjbkpoZVNjN1hHNTlYRzVjYm1WNGNHOXlkQ0JtZFc1amRHbHZiaUJwYzFabFkzUnZjazFsZEhKcFl5aHVZVzFsT2lCTGJtOTNiazFsZEhKcFkzTXBJSHRjYmlBZ2NtVjBkWEp1SUUxbGRISnBZMVJ2UkdGMFlWUjVjR1ZiYm1GdFpWMGdQVDBnSjFabFkzUnZjaWM3WEc1OVhHNWNibVY0Y0c5eWRDQm1kVzVqZEdsdmJpQnBjMDFoWTNKdlRXOXNaV04xYkdWTlpYUnlhV01vYm1GdFpUb2dTMjV2ZDI1TlpYUnlhV056S1NCN1hHNGdJSEpsZEhWeWJpQk5aWFJ5YVdOVWIwUmhkR0ZVZVhCbFcyNWhiV1ZkSUQwOUlFUnBjM1JoYm1ObFRXVjBjbWxqYzFOMVltcGxZM1J6TGsxaFkzSnZUVzlzWldOMWJHVXVkRzlUZEhKcGJtY29LVHRjYm4xY2JseHVMeW9xSUUxaGJtaGhkSFJoYmlCa2FYTjBZVzVqWlNCaVpYUjNaV1Z1SUhSM2J5QnpaWEYxWlc1alpYTWdLRzFoZEdOb0lDMGdNQ3dnYldsemJXRjBZMmdnTFNBeEtTQnViM0p0WVd4cGVtVmtJR1p2Y2lCc1pXNW5kR2d1SUNvdlhHNWxlSEJ2Y25RZ1puVnVZM1JwYjI0Z2JXRnVhR0YwZEdGdVJHbHpkR0Z1WTJVb2N6RTZJSE4wY21sdVp5d2djekk2SUhOMGNtbHVaeWs2SUc1MWJXSmxjaUI3WEc0Z0lHbG1JQ2h6TVM1c1pXNW5kR2dnSVQwOUlITXlMbXhsYm1kMGFDa2dlMXh1SUNBZ0lISmxkSFZ5YmlBeE8xeHVJQ0I5SUdWc2MyVWdlMXh1SUNBZ0lHeGxkQ0JrYVhOME9pQnVkVzFpWlhJZ1BTQXdPMXh1SUNBZ0lHWnZjaUFvYkdWMElHa2dQU0F4T3lCcElEd2djekV1YkdWdVozUm9PeUJwS3lzcFhHNGdJQ0FnSUNCa2FYTjBJQ3M5SUhNeFcybGRJRDA5SUhNeVcybGRJRDhnTUNBNklERTdYRzRnSUNBZ2NtVjBkWEp1SUdScGMzUWdMeUJ6TVM1c1pXNW5kR2c3WEc0Z0lIMWNibjFjYmx4dVpYaHdiM0owSUdaMWJtTjBhVzl1SUdOaGRHVm5iM0pwWTJGc1JHbHpkR0Z1WTJVb2N6RTZJSE4wY21sdVp5d2djekk2SUhOMGNtbHVaeWs2SUc1MWJXSmxjaUI3WEc0Z0lISmxkSFZ5YmlCek1TQTlQVDBnY3pJZ1B5QXdJRG9nTVR0Y2JuMWNibHh1THlvcUlGVnVhV1pwWldRZ1kyeGhjM01nYVcxd2JHVnRaVzUwYVc1bklHUnBabVpsY21WdWRDQnpkSEpwYm1jZ2JXVmhjM1Z5WlhNdUlDb3ZYRzVsZUhCdmNuUWdZMnhoYzNNZ1RXVmhjM1Z5WlNCN1hHNGdJSEJ5YjNSbFkzUmxaQ0J0WlhSb2IyUTZJRXR1YjNkdVRXVjBjbWxqY3p0Y2JpQWdjSEp2ZEdWamRHVmtJR1JoZEdGVWVYQmxPaUJCZG1GcGJHRmliR1ZFWVhSaFZIbHdaWE03WEc1Y2JpQWdMeW9xWEc0Z0lDQXFJRU55WldGMFpYTWdZVzRnYVc1emRHRnVZMlVnYjJZZ1RXVmhjM1Z5WlNCM2FYUm9JQzVjYmlBZ0lDb2dRSEJoY21GdElIdHpkSEpwYm1kOUlHMWxkR2h2WkNCTlpYUm9iMlFnZEc4Z1kyRnNZM1ZzWVhSbElHUnBjM1JoYm1ObElHSmxkSGRsWlc0Z2MzUnlhVzVuY3k1Y2JpQWdJQ29nUUcxbGJXSmxjbTltSUUxbFlYTjFjbVZ5WEc0Z0lDQXFMMXh1SUNCamIyNXpkSEoxWTNSdmNpaHRaWFJvYjJRNklFdHViM2R1VFdWMGNtbGpjeWtnZTF4dUlDQWdJSFJvYVhNdWJXVjBhRzlrSUQwZ2JXVjBhRzlrTzF4dUlDQWdJSFJvYVhNdVpHRjBZVlI1Y0dVZ1BTQk5aWFJ5YVdOVWIwUmhkR0ZVZVhCbFcyMWxkR2h2WkYwZ1lYTWdRWFpoYVd4aFlteGxSR0YwWVZSNWNHVnpPMXh1SUNCOVhHNWNiaUFnTHlvcVhHNGdJQ0FxSUZKbGRIVnlibk1nWTNWemRHOXRJSE4wY21sdVp5QmthWE4wWVc1alpTQm1kVzVqZEdsdmJpQnpjR1ZqYVdacFpXUXVYRzRnSUNBcUlFQndZWEpoYlNCN2IzQjBjMzBnYjNCMGN5QlBjSFJwYjI1eklHWnZjaUIwYUdVZ2JXVmhjM1Z5WlM0Z2RYTmxaQ0JtYjNJZ2JXRmpjbTl0YjJ4bFkzVnNaU0JrYVhOMFlXNWpaWE5jYmlBZ0lDb2dRSEpsZEhWeWJpQjdSR2x6ZEdGdVkyVk5aWFJ5YVdOOUlFTmhiR3hpWVdOcklHOW1JSFJvWlNCdFpXRnpkWEpsSUdOb2IzTmxiaTVjYmlBZ0lDb2dRRzFsYldKbGNtOW1JRTFsWVhOMWNtVnlYRzRnSUNBcUwxeHVJQ0J3ZFdKc2FXTWdaMlYwVFdWaGMzVnlaU2h2Y0hSelB6b2dZVzU1S1RvZ1JHbHpkR0Z1WTJWTlpYUnlhV01nZTF4dUlDQWdJR052Ym5OMElHUnBZM1E2SUhzZ1cydGxlVG9nYzNSeWFXNW5YVHBjYmlBZ0lDQWdJSHRiYTJWNU1qb2djM1J5YVc1blhUb2dSR2x6ZEdGdVkyVk5aWFJ5YVdNZ2ZDQW9LRzl3ZEhNNklHRnVlU2tnUFQ0Z1JHbHpkR0Z1WTJWTlpYUnlhV01wZlZ4dUlDQWdJSDBnUFNCQmRtRnBiR0ZpYkdWTlpYUnlhV056TzF4dUlDQWdJR2xtSUNnaFpHbGpkQzVvWVhOUGQyNVFjbTl3WlhKMGVTaDBhR2x6TG1SaGRHRlVlWEJsS1NCOGZDQWhaR2xqZEZ0MGFHbHpMbVJoZEdGVWVYQmxYUzVvWVhOUGQyNVFjbTl3WlhKMGVTaDBhR2x6TG0xbGRHaHZaQ2twWEc0Z0lDQWdJQ0IwYUhKdmR5QnVaWGNnUlhKeWIzSW9ZRlZ1YTI1dmQyNGdiV1ZoYzNWeVpTQWtlM1JvYVhNdWJXVjBhRzlrZlNCbWIzSWdaR0YwWVNCMGVYQmxJQ1I3ZEdocGN5NWtZWFJoVkhsd1pYMWdLVHRjYmlBZ0lDQnlaWFIxY200Z2FYTk5ZV055YjAxdmJHVmpkV3hsVFdWMGNtbGpLSFJvYVhNdWJXVjBhRzlrS1NBL1hHNGdJQ0FnSUNBb1pHbGpkRnQwYUdsekxtUmhkR0ZVZVhCbFhWdDBhR2x6TG0xbGRHaHZaRjBnWVhNZ0tDaHZjSFJ6T2lCaGJua3BJRDArSUVScGMzUmhibU5sVFdWMGNtbGpLU2tvYjNCMGN5a2dPbHh1SUNBZ0lDQWdaR2xqZEZ0MGFHbHpMbVJoZEdGVWVYQmxYVnQwYUdsekxtMWxkR2h2WkYwZ1lYTWdSR2x6ZEdGdVkyVk5aWFJ5YVdNN1hHNGdJSDFjYmx4dUlDQXZLaXBjYmlBZ0lDb2dVbVYwZFhKdWN5QmpkWE4wYjIwZ2MzUnlhVzVuSUdScGMzUmhibU5sSUdKNUlIUm9aU0JuYVhabGJpQmtZWFJoSUhSNWNHVXVYRzRnSUNBcUlFQndZWEpoYlNCN1FYWmhhV3hoWW14bFJHRjBZVlI1Y0dWemZTQmtZWFJoVkhsd1pTQk5aWFJ5YVdNbmN5QmtZWFJoSUhSNWNHVmNiaUFnSUNvZ1FISmxkSFZ5YmlCN2MzUnlhVzVuVzExOUlFMWxkSEpwWXlCdVlXMWxjeUIzYUdsamFDQmxlSEJsWTNSeklIUm9aU0JuYVhabGJpQmtZWFJoSUhSNWNHVmNiaUFnSUNvZ1FHMWxiV0psY205bUlFMWxZWE4xY21WeVhHNGdJQ0FxTDF4dUlDQndkV0pzYVdNZ2MzUmhkR2xqSUdkbGRFMWxkSEpwWTBKNVJHRjBZVlI1Y0dVb1pHRjBZVlI1Y0dVNklFRjJZV2xzWVdKc1pVUmhkR0ZVZVhCbGN5azZJSE4wY21sdVoxdGRJSHRjYmlBZ0lDQnlaWFIxY200Z1QySnFaV04wTG10bGVYTW9RWFpoYVd4aFlteGxUV1YwY21samMxdGtZWFJoVkhsd1pWMHBPMXh1SUNCOVhHNWNiaUFnTHlvcUlGSmxkSFZ5Ym5NZ2JXVjBjbWxqSUc1aGJXVnpJR0YyWVdsc1lXSnNaUzVjYmlBZ0lDb2dRRzFsYldKbGNtOW1JRTFsWVhOMWNtVnlYRzRnSUNBcUwxeHVJQ0J6ZEdGMGFXTWdaMlYwSUdGMllXbHNZV0pzWlUxbFlYTjFjbVZ6S0NrNklITjBjbWx1WjF0ZElIdGNiaUFnSUNCeVpYUjFjbTRnVDJKcVpXTjBMbXRsZVhNb1FYWmhhV3hoWW14bFRXVjBjbWxqY3lrN1hHNGdJSDFjYm4xY2JpSmRmUT09IiwiZXhwb3J0IHZhciBEaXN0YW5jZUFnZ3JlZ2F0aW9uTWV0aG9kcztcbihmdW5jdGlvbiAoRGlzdGFuY2VBZ2dyZWdhdGlvbk1ldGhvZHMpIHtcbiAgICBEaXN0YW5jZUFnZ3JlZ2F0aW9uTWV0aG9kc1tcIkVVQ0xJREVBTlwiXSA9IFwiRVVDTElERUFOXCI7XG4gICAgRGlzdGFuY2VBZ2dyZWdhdGlvbk1ldGhvZHNbXCJNQU5IQVRUQU5cIl0gPSBcIk1BTkhBVFRBTlwiO1xufSkoRGlzdGFuY2VBZ2dyZWdhdGlvbk1ldGhvZHMgfHwgKERpc3RhbmNlQWdncmVnYXRpb25NZXRob2RzID0ge30pKTtcbjtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSm1hV3hsSWpvaWRIbHdaWE11YW5NaUxDSnpiM1Z5WTJWU2IyOTBJam9pSWl3aWMyOTFjbU5sY3lJNld5SjBlWEJsY3k1MGN5SmRMQ0p1WVcxbGN5STZXMTBzSW0xaGNIQnBibWR6SWpvaVFVRkJRU3hOUVVGTkxFTkJRVTRzU1VGQldTd3dRa0ZIVkR0QlFVaElMRmRCUVZrc01FSkJRVEJDTzBsQlEyeERMSEZFUVVGMVFpeERRVUZCTzBsQlEzWkNMSEZFUVVGMVFpeERRVUZCTzBGQlEzcENMRU5CUVVNc1JVRklVeXd3UWtGQk1FSXNTMEZCTVVJc01FSkJRVEJDTEZGQlIyNURPMEZCUVVFc1EwRkJReUlzSW5OdmRYSmpaWE5EYjI1MFpXNTBJanBiSW1WNGNHOXlkQ0JsYm5WdElFUnBjM1JoYm1ObFFXZG5jbVZuWVhScGIyNU5aWFJvYjJSeklIdGNiaUFnSUNCRlZVTk1TVVJGUVU0Z1BTQW5SVlZEVEVsRVJVRk9KeXhjYmlBZ0lDQk5RVTVJUVZSVVFVNGdQU0FuVFVGT1NFRlVWRUZPSnl4Y2JpQWdmVHRjYmx4dVpYaHdiM0owSUhSNWNHVWdSR2x6ZEdGdVkyVkJaMmR5WldkaGRHbHZiazFsZEdodlpDQTlJR3RsZVc5bUlIUjVjR1Z2WmlCRWFYTjBZVzVqWlVGblozSmxaMkYwYVc5dVRXVjBhRzlrY3p0Y2JpSmRmUT09IiwiaW1wb3J0IHsgRGlzdGFuY2VBZ2dyZWdhdGlvbk1ldGhvZHMgfSBmcm9tICcuL3R5cGVzJztcbmV4cG9ydCBjb25zdCBpc05pbCA9ICh4KSA9PiB4ID09PSBudWxsIHx8IHggPT09IHVuZGVmaW5lZDtcbmV4cG9ydCBmdW5jdGlvbiBpbnNlcnRTbWFsbGVyKGRpc3RhbmNlc0FyLCBpbmRleGVzLCBudW0sIGluZGV4KSB7XG4gICAgaWYgKG51bSA+IGRpc3RhbmNlc0FyW2Rpc3RhbmNlc0FyLmxlbmd0aCAtIDFdKVxuICAgICAgICByZXR1cm47XG4gICAgY29uc3QgbmV3UG9zaXRpb24gPSBkaXN0YW5jZXNBci5maW5kSW5kZXgoKHYpID0+IG51bSA8IHYpO1xuICAgIGRpc3RhbmNlc0FyLnBvcCgpO1xuICAgIGRpc3RhbmNlc0FyLnNwbGljZShuZXdQb3NpdGlvbiwgMCwgbnVtKTtcbiAgICBpbmRleGVzLnBvcCgpO1xuICAgIGluZGV4ZXMuc3BsaWNlKG5ld1Bvc2l0aW9uLCAwLCBpbmRleCk7XG59XG5leHBvcnQgZnVuY3Rpb24gaW5zZXJ0TGFyZ2VyKGRpc3RhbmNlc0FyLCBpbmRleGVzLCBudW0sIGluZGV4KSB7XG4gICAgaWYgKG51bSA8IGRpc3RhbmNlc0FyW2Rpc3RhbmNlc0FyLmxlbmd0aCAtIDFdKVxuICAgICAgICByZXR1cm47XG4gICAgY29uc3QgbmV3UG9zaXRpb24gPSBkaXN0YW5jZXNBci5maW5kSW5kZXgoKHYpID0+IG51bSA+IHYpO1xuICAgIGRpc3RhbmNlc0FyLnBvcCgpO1xuICAgIGRpc3RhbmNlc0FyLnNwbGljZShuZXdQb3NpdGlvbiwgMCwgbnVtKTtcbiAgICBpbmRleGVzLnBvcCgpO1xuICAgIGluZGV4ZXMuc3BsaWNlKG5ld1Bvc2l0aW9uLCAwLCBpbmRleCk7XG59XG5leHBvcnQgZnVuY3Rpb24gZ2V0QWdncmVnYXRpb25GdW5jdGlvbihhZ2dyZWdhdGlvbk1ldGhvZCwgd2VpZ2h0cykge1xuICAgIHN3aXRjaCAoYWdncmVnYXRpb25NZXRob2QpIHtcbiAgICAgICAgY2FzZSBEaXN0YW5jZUFnZ3JlZ2F0aW9uTWV0aG9kcy5NQU5IQVRUQU46XG4gICAgICAgICAgICByZXR1cm4gKHZzKSA9PiB2cy5yZWR1Y2UoKGFjYywgdmFsLCBpZHgpID0+IGFjYyArIHZhbCAqIHdlaWdodHNbaWR4XSwgMCk7XG4gICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICByZXR1cm4gKHZzKSA9PiB7XG4gICAgICAgICAgICAgICAgLy8gZXVjbGlkZWFuXG4gICAgICAgICAgICAgICAgY29uc3Qgc3VtID0gdnMucmVkdWNlKChhY2MsIHZhbCwgaWR4KSA9PiBhY2MgKyAodmFsICogd2VpZ2h0c1tpZHhdKSAqKiAyLCAwKTtcbiAgICAgICAgICAgICAgICByZXR1cm4gTWF0aC5zcXJ0KHN1bSk7XG4gICAgICAgICAgICB9O1xuICAgIH1cbn1cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSm1hV3hsSWpvaWRYUnBiSE11YW5NaUxDSnpiM1Z5WTJWU2IyOTBJam9pSWl3aWMyOTFjbU5sY3lJNld5SjFkR2xzY3k1MGN5SmRMQ0p1WVcxbGN5STZXMTBzSW0xaGNIQnBibWR6SWpvaVFVRkJRU3hQUVVGUExFVkJRVFJDTERCQ1FVRXdRaXhGUVVGRExFMUJRVTBzVTBGQlV5eERRVUZETzBGQlJUbEZMRTFCUVUwc1EwRkJReXhOUVVGTkxFdEJRVXNzUjBGQlJ5eERRVUZETEVOQlFVMHNSVUZCUlN4RlFVRkZMRU5CUVVNc1EwRkJReXhMUVVGTExFbEJRVWtzU1VGQlNTeERRVUZETEV0QlFVc3NVMEZCVXl4RFFVRkRPMEZCUlM5RUxFMUJRVTBzVlVGQlZTeGhRVUZoTEVOQlFVTXNWMEZCY1VJc1JVRkJSU3hQUVVGcFFpeEZRVUZGTEVkQlFWY3NSVUZCUlN4TFFVRmhPMGxCUTJoSExFbEJRVWtzUjBGQlJ5eEhRVUZITEZkQlFWY3NRMEZCUXl4WFFVRlhMRU5CUVVNc1RVRkJUU3hIUVVGRExFTkJRVU1zUTBGQlF6dFJRVU42UXl4UFFVRlBPMGxCUlZRc1RVRkJUU3hYUVVGWExFZEJRVWNzVjBGQlZ5eERRVUZETEZOQlFWTXNRMEZCUXl4RFFVRkRMRU5CUVVNc1JVRkJSU3hGUVVGRkxFTkJRVU1zUjBGQlJ5eEhRVUZITEVOQlFVTXNRMEZCUXl4RFFVRkRPMGxCUXpGRUxGZEJRVmNzUTBGQlF5eEhRVUZITEVWQlFVVXNRMEZCUXp0SlFVTnNRaXhYUVVGWExFTkJRVU1zVFVGQlRTeERRVUZETEZkQlFWY3NSVUZCUlN4RFFVRkRMRVZCUVVVc1IwRkJSeXhEUVVGRExFTkJRVU03U1VGRGVFTXNUMEZCVHl4RFFVRkRMRWRCUVVjc1JVRkJSU3hEUVVGRE8wbEJRMlFzVDBGQlR5eERRVUZETEUxQlFVMHNRMEZCUXl4WFFVRlhMRVZCUVVVc1EwRkJReXhGUVVGRkxFdEJRVXNzUTBGQlF5eERRVUZETzBGQlEzaERMRU5CUVVNN1FVRkZSQ3hOUVVGTkxGVkJRVlVzV1VGQldTeERRVUZETEZkQlFYRkNMRVZCUVVVc1QwRkJhVUlzUlVGQlJTeEhRVUZYTEVWQlFVVXNTMEZCWVR0SlFVTXZSaXhKUVVGSkxFZEJRVWNzUjBGQlJ5eFhRVUZYTEVOQlFVTXNWMEZCVnl4RFFVRkRMRTFCUVUwc1IwRkJReXhEUVVGRExFTkJRVU03VVVGRGVrTXNUMEZCVHp0SlFVVlVMRTFCUVUwc1YwRkJWeXhIUVVGSExGZEJRVmNzUTBGQlF5eFRRVUZUTEVOQlFVTXNRMEZCUXl4RFFVRkRMRVZCUVVVc1JVRkJSU3hEUVVGRExFZEJRVWNzUjBGQlJ5eERRVUZETEVOQlFVTXNRMEZCUXp0SlFVTXhSQ3hYUVVGWExFTkJRVU1zUjBGQlJ5eEZRVUZGTEVOQlFVTTdTVUZEYkVJc1YwRkJWeXhEUVVGRExFMUJRVTBzUTBGQlF5eFhRVUZYTEVWQlFVVXNRMEZCUXl4RlFVRkZMRWRCUVVjc1EwRkJReXhEUVVGRE8wbEJRM2hETEU5QlFVOHNRMEZCUXl4SFFVRkhMRVZCUVVVc1EwRkJRenRKUVVOa0xFOUJRVThzUTBGQlF5eE5RVUZOTEVOQlFVTXNWMEZCVnl4RlFVRkZMRU5CUVVNc1JVRkJSU3hMUVVGTExFTkJRVU1zUTBGQlF6dEJRVU40UXl4RFFVRkRPMEZCUlVRc1RVRkJUU3hWUVVGVkxITkNRVUZ6UWl4RFFVTndReXhwUWtGQk5FTXNSVUZCUlN4UFFVRnBRanRKUVVVdlJDeFJRVUZSTEdsQ1FVRnBRaXhGUVVGRk8xRkJRM3BDTEV0QlFVc3NNRUpCUVRCQ0xFTkJRVU1zVTBGQlV6dFpRVU4yUXl4UFFVRlBMRU5CUVVNc1JVRkJXU3hGUVVGRkxFVkJRVVVzUTBGQlF5eEZRVUZGTEVOQlFVTXNUVUZCVFN4RFFVRkRMRU5CUVVNc1IwRkJSeXhGUVVGRkxFZEJRVWNzUlVGQlJTeEhRVUZITEVWQlFVVXNSVUZCUlN4RFFVRkRMRWRCUVVjc1IwRkJSeXhIUVVGSExFZEJRVWNzVDBGQlR5eERRVUZETEVkQlFVY3NRMEZCUXl4RlFVRkZMRU5CUVVNc1EwRkJReXhEUVVGRE8xRkJRM0pHTzFsQlEwVXNUMEZCVHl4RFFVRkRMRVZCUVZrc1JVRkJSU3hGUVVGRk8yZENRVU4wUWl4WlFVRlpPMmRDUVVOYUxFMUJRVTBzUjBGQlJ5eEhRVUZITEVWQlFVVXNRMEZCUXl4TlFVRk5MRU5CUVVNc1EwRkJReXhIUVVGSExFVkJRVVVzUjBGQlJ5eEZRVUZGTEVkQlFVY3NSVUZCUlN4RlFVRkZMRU5CUVVNc1IwRkJSeXhIUVVGSExFTkJRVU1zUjBGQlJ5eEhRVUZITEU5QlFVOHNRMEZCUXl4SFFVRkhMRU5CUVVNc1EwRkJReXhKUVVGSkxFTkJRVU1zUlVGQlJTeERRVUZETEVOQlFVTXNRMEZCUXp0blFrRkROMFVzVDBGQlR5eEpRVUZKTEVOQlFVTXNTVUZCU1N4RFFVRkRMRWRCUVVjc1EwRkJReXhEUVVGRE8xbEJRM2hDTEVOQlFVTXNRMEZCUXp0TFFVTk1PMEZCUTBnc1EwRkJReUlzSW5OdmRYSmpaWE5EYjI1MFpXNTBJanBiSW1sdGNHOXlkQ0I3UkdsemRHRnVZMlZCWjJkeVpXZGhkR2x2YmsxbGRHaHZaQ3dnUkdsemRHRnVZMlZCWjJkeVpXZGhkR2x2YmsxbGRHaHZaSE45SUdaeWIyMGdKeTR2ZEhsd1pYTW5PMXh1WEc1bGVIQnZjblFnWTI5dWMzUWdhWE5PYVd3Z1BTQW9lRG9nWVc1NUtTQTlQaUI0SUQwOVBTQnVkV3hzSUh4OElIZ2dQVDA5SUhWdVpHVm1hVzVsWkR0Y2JseHVaWGh3YjNKMElHWjFibU4wYVc5dUlHbHVjMlZ5ZEZOdFlXeHNaWElvWkdsemRHRnVZMlZ6UVhJNklHNTFiV0psY2x0ZExDQnBibVJsZUdWek9pQnVkVzFpWlhKYlhTd2diblZ0T2lCdWRXMWlaWElzSUdsdVpHVjRPaUJ1ZFcxaVpYSXBJSHRjYmlBZ2FXWWdLRzUxYlNBK0lHUnBjM1JoYm1ObGMwRnlXMlJwYzNSaGJtTmxjMEZ5TG14bGJtZDBhQzB4WFNsY2JpQWdJQ0J5WlhSMWNtNDdYRzVjYmlBZ1kyOXVjM1FnYm1WM1VHOXphWFJwYjI0Z1BTQmthWE4wWVc1alpYTkJjaTVtYVc1a1NXNWtaWGdvS0hZcElEMCtJRzUxYlNBOElIWXBPMXh1SUNCa2FYTjBZVzVqWlhOQmNpNXdiM0FvS1R0Y2JpQWdaR2x6ZEdGdVkyVnpRWEl1YzNCc2FXTmxLRzVsZDFCdmMybDBhVzl1TENBd0xDQnVkVzBwTzF4dUlDQnBibVJsZUdWekxuQnZjQ2dwTzF4dUlDQnBibVJsZUdWekxuTndiR2xqWlNodVpYZFFiM05wZEdsdmJpd2dNQ3dnYVc1a1pYZ3BPMXh1ZlZ4dVhHNWxlSEJ2Y25RZ1puVnVZM1JwYjI0Z2FXNXpaWEowVEdGeVoyVnlLR1JwYzNSaGJtTmxjMEZ5T2lCdWRXMWlaWEpiWFN3Z2FXNWtaWGhsY3pvZ2JuVnRZbVZ5VzEwc0lHNTFiVG9nYm5WdFltVnlMQ0JwYm1SbGVEb2diblZ0WW1WeUtTQjdYRzRnSUdsbUlDaHVkVzBnUENCa2FYTjBZVzVqWlhOQmNsdGthWE4wWVc1alpYTkJjaTVzWlc1bmRHZ3RNVjBwWEc0Z0lDQWdjbVYwZFhKdU8xeHVYRzRnSUdOdmJuTjBJRzVsZDFCdmMybDBhVzl1SUQwZ1pHbHpkR0Z1WTJWelFYSXVabWx1WkVsdVpHVjRLQ2gyS1NBOVBpQnVkVzBnUGlCMktUdGNiaUFnWkdsemRHRnVZMlZ6UVhJdWNHOXdLQ2s3WEc0Z0lHUnBjM1JoYm1ObGMwRnlMbk53YkdsalpTaHVaWGRRYjNOcGRHbHZiaXdnTUN3Z2JuVnRLVHRjYmlBZ2FXNWtaWGhsY3k1d2IzQW9LVHRjYmlBZ2FXNWtaWGhsY3k1emNHeHBZMlVvYm1WM1VHOXphWFJwYjI0c0lEQXNJR2x1WkdWNEtUdGNibjFjYmx4dVpYaHdiM0owSUdaMWJtTjBhVzl1SUdkbGRFRm5aM0psWjJGMGFXOXVSblZ1WTNScGIyNG9YRzRnSUdGblozSmxaMkYwYVc5dVRXVjBhRzlrT2lCRWFYTjBZVzVqWlVGblozSmxaMkYwYVc5dVRXVjBhRzlrTENCM1pXbG5hSFJ6T2lCdWRXMWlaWEpiWFZ4dUtUb2dLSFpoYkhWbGN6b2diblZ0WW1WeVcxMHBJRDArSUc1MWJXSmxjaUI3WEc0Z0lITjNhWFJqYUNBb1lXZG5jbVZuWVhScGIyNU5aWFJvYjJRcElIdGNiaUFnSUNCallYTmxJRVJwYzNSaGJtTmxRV2RuY21WbllYUnBiMjVOWlhSb2IyUnpMazFCVGtoQlZGUkJUanBjYmlBZ0lDQWdJSEpsZEhWeWJpQW9kbk02SUc1MWJXSmxjbHRkS1NBOVBpQjJjeTV5WldSMVkyVW9LR0ZqWXl3Z2RtRnNMQ0JwWkhncElEMCtJR0ZqWXlBcklIWmhiQ0FxSUhkbGFXZG9kSE5iYVdSNFhTd2dNQ2s3WEc0Z0lDQWdaR1ZtWVhWc2REcGNiaUFnSUNBZ0lISmxkSFZ5YmlBb2RuTTZJRzUxYldKbGNsdGRLU0E5UGlCN1hHNGdJQ0FnSUNBZ0lDOHZJR1YxWTJ4cFpHVmhibHh1SUNBZ0lDQWdJQ0JqYjI1emRDQnpkVzBnUFNCMmN5NXlaV1IxWTJVb0tHRmpZeXdnZG1Gc0xDQnBaSGdwSUQwK0lHRmpZeUFySUNoMllXd2dLaUIzWldsbmFIUnpXMmxrZUYwcElDb3FJRElzSURBcE8xeHVJQ0FnSUNBZ0lDQnlaWFIxY200Z1RXRjBhQzV6Y1hKMEtITjFiU2s3WEc0Z0lDQWdJQ0I5TzF4dUlDQjlYRzU5WEc0aVhYMD0iLCJpbXBvcnQgeyBEaXN0YW5jZUFnZ3JlZ2F0aW9uTWV0aG9kcyB9IGZyb20gJy4vdHlwZXMnO1xuZXhwb3J0IGNsYXNzIERpc3RhbmNlTWF0cml4U2VydmljZSB7XG4gICAgX3dvcmtlcnM7XG4gICAgX3dvcmtlckNvdW50O1xuICAgIF90ZXJtaW5hdGVPbkNvbXBsZXRlO1xuICAgIGNvbnN0cnVjdG9yKHVzZUNvbmN1cnJlbnRXb3JrZXJzID0gdHJ1ZSwgdGVybWluYXRlT25Db21wbGV0ZSA9IHRydWUpIHtcbiAgICAgICAgY29uc3QgdGhyZWFkQ291bnQgPSBuYXZpZ2F0b3IuaGFyZHdhcmVDb25jdXJyZW5jeTtcbiAgICAgICAgdGhpcy5fd29ya2VyQ291bnQgPSB1c2VDb25jdXJyZW50V29ya2VycyA/IE1hdGgubWF4KHRocmVhZENvdW50IC0gMiwgMSkgOiAxO1xuICAgICAgICB0aGlzLl93b3JrZXJzID0gbmV3IEFycmF5KHRoaXMuX3dvcmtlckNvdW50KS5maWxsKG51bGwpXG4gICAgICAgICAgICAubWFwKCgpID0+IG5ldyBXb3JrZXIobmV3IFVSTCgnLi9kaXN0YW5jZS1tYXRyaXgtd29ya2VyJywgaW1wb3J0Lm1ldGEudXJsKSkpO1xuICAgICAgICB0aGlzLl90ZXJtaW5hdGVPbkNvbXBsZXRlID0gdGVybWluYXRlT25Db21wbGV0ZTtcbiAgICB9XG4gICAgO1xuICAgIGFzeW5jIGNhbGModmFsdWVzLCBmbk5hbWUsIG5vcm1hbGl6ZSA9IHRydWUsIG9wdHMpIHtcbiAgICAgICAgcmV0dXJuIGF3YWl0IHRoaXMuY2FsY011bHRpKFt2YWx1ZXNdLCBbZm5OYW1lXSwgbm9ybWFsaXplLCBbb3B0cyA/PyB7fV0sIFsxXSwgRGlzdGFuY2VBZ2dyZWdhdGlvbk1ldGhvZHMuTUFOSEFUVEFOKTtcbiAgICB9XG4gICAgYXN5bmMgY2FsY011bHRpKHZhbHVlcywgZm5OYW1lcywgbm9ybWFsaXplID0gdHJ1ZSwgb3B0cyA9IFt7fV0sIHdlaWdodHMgPSBbMV0sIGFnZ3JlZ2F0aW9uTWV0aG9kID0gRGlzdGFuY2VBZ2dyZWdhdGlvbk1ldGhvZHMuTUFOSEFUVEFOKSB7XG4gICAgICAgIGlmICh2YWx1ZXMubGVuZ3RoIDwgMSlcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcigndmFsdWVzIG11c3QgY29udGFpbiBhdCBsZWFzdCBvbmUgYXJyYXknKTtcbiAgICAgICAgaWYgKGZuTmFtZXMubGVuZ3RoICE9PSB2YWx1ZXMubGVuZ3RoIHx8IG9wdHMubGVuZ3RoICE9PSB2YWx1ZXMubGVuZ3RoIHx8IHdlaWdodHMubGVuZ3RoICE9PSB2YWx1ZXMubGVuZ3RoKVxuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCd2YWx1ZXMsIGZuTmFtZXMsIHdlaWdodHMgYW5kIG9wdHMgbXVzdCBoYXZlIHRoZSBzYW1lIGxlbmd0aCcpO1xuICAgICAgICByZXR1cm4gbmV3IFByb21pc2UoYXN5bmMgKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICBjb25zdCBsZW4gPSB2YWx1ZXNbMF0ubGVuZ3RoO1xuICAgICAgICAgICAgICAgIGNvbnN0IHByb21pc2VzID0gbmV3IEFycmF5KHRoaXMuX3dvcmtlckNvdW50KTtcbiAgICAgICAgICAgICAgICBjb25zdCB0b3RhbExlbmd0aCA9IGxlbiAqIChsZW4gLSAxKSAvIDI7IC8vIHNpemUgb2YgcmVkdWNlZCBkaXN0YW5jZSBtYXRyaXhcbiAgICAgICAgICAgICAgICB0aGlzLl93b3JrZXJDb3VudCA9IE1hdGgubWluKHRoaXMuX3dvcmtlckNvdW50LCB0b3RhbExlbmd0aCk7XG4gICAgICAgICAgICAgICAgY29uc3QgY2h1bmtTaXplID0gdG90YWxMZW5ndGggLyB0aGlzLl93b3JrZXJDb3VudDtcbiAgICAgICAgICAgICAgICBjb25zdCBkaXN0YW5jZU1hdHJpeCA9IG5ldyBGbG9hdDMyQXJyYXkodG90YWxMZW5ndGgpO1xuICAgICAgICAgICAgICAgIGxldCBlbmRSb3cgPSAwO1xuICAgICAgICAgICAgICAgIGxldCBlbmRDb2wgPSAxO1xuICAgICAgICAgICAgICAgIC8vIG1pbm1heCBmb3Igbm9ybWFsaXphdGlvblxuICAgICAgICAgICAgICAgIGxldCBsbWluID0gMDtcbiAgICAgICAgICAgICAgICBsZXQgbG1heCA9IE51bWJlci5NSU5fVkFMVUU7XG4gICAgICAgICAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCB0aGlzLl93b3JrZXJDb3VudDsgaSsrKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHN0YXJ0ID0gTWF0aC5mbG9vcihpICogY2h1bmtTaXplKTtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgZW5kID0gKGkgPT09IHRoaXMuX3dvcmtlckNvdW50IC0gMSkgPyB0b3RhbExlbmd0aCA6IE1hdGguZmxvb3IoKGkgKyAxKSAqIGNodW5rU2l6ZSk7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHN0YXJ0Um93ID0gZW5kUm93O1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBzdGFydENvbCA9IGVuZENvbDtcbiAgICAgICAgICAgICAgICAgICAgaWYgKGkgIT09IHRoaXMuX3dvcmtlckNvdW50IC0gMSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgLy8gVGhlc2UgZm9ybXVsYXMgbWFwIHRoZSBsaW5lYXIgaW5kZXggdG8gdGhlIHVwcGVyIHRyaWFuZ3VsYXIgbWF0cml4IGluZGljZXNcbiAgICAgICAgICAgICAgICAgICAgICAgIGVuZFJvdyA9IGxlbiAtIDIgLSBNYXRoLmZsb29yKE1hdGguc3FydCgtOCAqIGVuZCArIDQgKiBsZW4gKiAobGVuIC0gMSkgLSA3KSAvIDIgLSAwLjUpO1xuICAgICAgICAgICAgICAgICAgICAgICAgZW5kQ29sID0gZW5kIC0gbGVuICogZW5kUm93ICsgTWF0aC5mbG9vcigoZW5kUm93ICsgMSkgKiAoZW5kUm93ICsgMikgLyAyKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB0aGlzLl93b3JrZXJzW2ldLnBvc3RNZXNzYWdlKHsgdmFsdWVzLCBmbk5hbWVzLCBzdGFydFJvdywgc3RhcnRDb2wsIGNodW5ja1NpemU6IGVuZCAtIHN0YXJ0LCBvcHRzLCB3ZWlnaHRzLCBhZ2dyZWdhdGlvbk1ldGhvZCB9KTtcbiAgICAgICAgICAgICAgICAgICAgcHJvbWlzZXNbaV0gPSBuZXcgUHJvbWlzZSgocmVzb2x2ZVdvcmtlciwgcmVqZWN0V29ya2VyKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLl93b3JrZXJzW2ldLm9ubWVzc2FnZSA9ICh7IGRhdGE6IHsgZXJyb3IsIGRpc3RhbmNlTWF0cml4RGF0YSwgbWluLCBtYXggfSB9KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5fdGVybWluYXRlT25Db21wbGV0ZSAmJiBzZXRUaW1lb3V0KCgpID0+IHRoaXMuX3dvcmtlcnNbaV0udGVybWluYXRlKCkpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChlcnJvcikge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWplY3RXb3JrZXIoZXJyb3IpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzdGFuY2VNYXRyaXguc2V0KGRpc3RhbmNlTWF0cml4RGF0YSwgc3RhcnQpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAobWluIDwgbG1pbilcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxtaW4gPSBtaW47XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChtYXggPiBsbWF4KVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbG1heCA9IG1heDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVzb2x2ZVdvcmtlcigpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBhd2FpdCBQcm9taXNlLmFsbChwcm9taXNlcyk7XG4gICAgICAgICAgICAgICAgaWYgKG5vcm1hbGl6ZSlcbiAgICAgICAgICAgICAgICAgICAgZGlzdGFuY2VNYXRyaXguZm9yRWFjaCgodmFsdWUsIGluZGV4KSA9PiB7IGRpc3RhbmNlTWF0cml4W2luZGV4XSA9ICh2YWx1ZSAtIGxtaW4pIC8gKGxtYXggLSBsbWluKTsgfSk7XG4gICAgICAgICAgICAgICAgcmVzb2x2ZShkaXN0YW5jZU1hdHJpeCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjYXRjaCAoZSkge1xuICAgICAgICAgICAgICAgIHJlamVjdChlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxuICAgIHRlcm1pbmF0ZSgpIHtcbiAgICAgICAgdGhpcy5fd29ya2Vycy5mb3JFYWNoKCh3b3JrZXIpID0+IHdvcmtlci50ZXJtaW5hdGUoKSk7XG4gICAgfVxufVxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKbWFXeGxJam9pWkdsemRHRnVZMlV0YldGMGNtbDRMWE5sY25acFkyVXVhbk1pTENKemIzVnlZMlZTYjI5MElqb2lJaXdpYzI5MWNtTmxjeUk2V3lKa2FYTjBZVzVqWlMxdFlYUnlhWGd0YzJWeWRtbGpaUzUwY3lKZExDSnVZVzFsY3lJNlcxMHNJbTFoY0hCcGJtZHpJam9pUVVGRFFTeFBRVUZQTEVWQlFUUkNMREJDUVVFd1FpeEZRVUZETEUxQlFVMHNVMEZCVXl4RFFVRkRPMEZCUlRsRkxFMUJRVTBzVDBGQlR5eHhRa0ZCY1VJN1NVRkRkRUlzVVVGQlVTeERRVUZYTzBsQlEyNUNMRmxCUVZrc1EwRkJVenRKUVVOeVFpeHZRa0ZCYjBJc1EwRkJWVHRKUVVOMFF5eFpRVUZ0UWl4dlFrRkJiMElzUjBGQlJ5eEpRVUZKTEVWQlFVVXNiVUpCUVcxQ0xFZEJRVWNzU1VGQlNUdFJRVU40UlN4TlFVRk5MRmRCUVZjc1IwRkJSeXhUUVVGVExFTkJRVU1zYlVKQlFXMUNMRU5CUVVNN1VVRkRiRVFzU1VGQlNTeERRVUZETEZsQlFWa3NSMEZCUnl4dlFrRkJiMElzUTBGQlF5eERRVUZETEVOQlFVTXNTVUZCU1N4RFFVRkRMRWRCUVVjc1EwRkJReXhYUVVGWExFZEJRVWNzUTBGQlF5eEZRVUZGTEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU03VVVGRE5VVXNTVUZCU1N4RFFVRkRMRkZCUVZFc1IwRkJSeXhKUVVGSkxFdEJRVXNzUTBGQlF5eEpRVUZKTEVOQlFVTXNXVUZCV1N4RFFVRkRMRU5CUVVNc1NVRkJTU3hEUVVGRExFbEJRVWtzUTBGQlF6dGhRVU53UkN4SFFVRkhMRU5CUVVNc1IwRkJSeXhGUVVGRkxFTkJRVU1zU1VGQlNTeE5RVUZOTEVOQlFVTXNTVUZCU1N4SFFVRkhMRU5CUVVNc01FSkJRVEJDTEVWQlFVVXNUVUZCVFN4RFFVRkRMRWxCUVVrc1EwRkJReXhIUVVGSExFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTTdVVUZETDBVc1NVRkJTU3hEUVVGRExHOUNRVUZ2UWl4SFFVRkhMRzFDUVVGdFFpeERRVUZETzBsQlEyeEVMRU5CUVVNN1NVRkJRU3hEUVVGRE8wbEJSVXNzUzBGQlN5eERRVUZETEVsQlFVa3NRMEZCUXl4TlFVRnJRaXhGUVVGRkxFMUJRVzlDTEVWQlEzaEVMRk5CUVZNc1IwRkJSeXhKUVVGSkxFVkJRVVVzU1VGQmVVSTdVVUZETTBNc1QwRkJUeXhOUVVGTkxFbEJRVWtzUTBGQlF5eFRRVUZUTEVOQlFVTXNRMEZCUXl4TlFVRk5MRU5CUVVNc1JVRkJSU3hEUVVGRExFMUJRVTBzUTBGQlF5eEZRVUZGTEZOQlFWTXNSVUZEZGtRc1EwRkJReXhKUVVGSkxFbEJRVWtzUlVGQlJTeERRVUZETEVWQlFVVXNRMEZCUXl4RFFVRkRMRU5CUVVNc1JVRkJSU3d3UWtGQk1FSXNRMEZCUXl4VFFVRlRMRU5CUVVNc1EwRkJRenRKUVVNM1JDeERRVUZETzBsQlJVMHNTMEZCU3l4RFFVRkRMRk5CUVZNc1EwRkRjRUlzVFVGQmIwSXNSVUZCUlN4UFFVRjFRaXhGUVVNM1F5eFRRVUZUTEVkQlFVY3NTVUZCU1N4RlFVRkZMRTlCUVRaQ0xFTkJRVU1zUlVGQlJTeERRVUZETEVWQlEyNUVMRlZCUVc5Q0xFTkJRVU1zUTBGQlF5eERRVUZETEVWQlFVVXNiMEpCUVN0RExEQkNRVUV3UWl4RFFVRkRMRk5CUVZNN1VVRkZOVWNzU1VGQlNTeE5RVUZOTEVOQlFVTXNUVUZCVFN4SFFVRkhMRU5CUVVNN1dVRkRia0lzVFVGQlRTeEpRVUZKTEV0QlFVc3NRMEZCUXl4M1EwRkJkME1zUTBGQlF5eERRVUZETzFGQlF6VkVMRWxCUVVrc1QwRkJUeXhEUVVGRExFMUJRVTBzUzBGQlN5eE5RVUZOTEVOQlFVTXNUVUZCVFN4SlFVRkpMRWxCUVVrc1EwRkJReXhOUVVGTkxFdEJRVXNzVFVGQlRTeERRVUZETEUxQlFVMHNTVUZCU1N4UFFVRlBMRU5CUVVNc1RVRkJUU3hMUVVGTExFMUJRVTBzUTBGQlF5eE5RVUZOTzFsQlEzWkhMRTFCUVUwc1NVRkJTU3hMUVVGTExFTkJRVU1zTmtSQlFUWkVMRU5CUVVNc1EwRkJRenRSUVVOcVJpeFBRVUZQTEVsQlFVa3NUMEZCVHl4RFFVRkRMRXRCUVVzc1JVRkJSU3hQUVVGUExFVkJRVVVzVFVGQlRTeEZRVUZGTEVWQlFVVTdXVUZETTBNc1NVRkJTVHRuUWtGRFJpeE5RVUZOTEVkQlFVY3NSMEZCUnl4TlFVRk5MRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU1zVFVGQlRTeERRVUZETzJkQ1FVTTNRaXhOUVVGTkxGRkJRVkVzUjBGQlJ5eEpRVUZKTEV0QlFVc3NRMEZCWjBJc1NVRkJTU3hEUVVGRExGbEJRVmtzUTBGQlF5eERRVUZETzJkQ1FVTTNSQ3hOUVVGTkxGZEJRVmNzUjBGQlJ5eEhRVUZITEVkQlFVY3NRMEZCUXl4SFFVRkhMRWRCUVVjc1EwRkJReXhEUVVGRExFZEJRVWNzUTBGQlF5eERRVUZETEVOQlFVTXNhME5CUVd0RE8yZENRVU16UlN4SlFVRkpMRU5CUVVNc1dVRkJXU3hIUVVGSExFbEJRVWtzUTBGQlF5eEhRVUZITEVOQlFVTXNTVUZCU1N4RFFVRkRMRmxCUVZrc1JVRkJSU3hYUVVGWExFTkJRVU1zUTBGQlF6dG5Ra0ZETjBRc1RVRkJUU3hUUVVGVExFZEJRVWNzVjBGQlZ5eEhRVUZITEVsQlFVa3NRMEZCUXl4WlFVRlpMRU5CUVVNN1owSkJRMnhFTEUxQlFVMHNZMEZCWXl4SFFVRkhMRWxCUVVrc1dVRkJXU3hEUVVGRExGZEJRVmNzUTBGQlF5eERRVUZETzJkQ1FVTnlSQ3hKUVVGSkxFMUJRVTBzUjBGQlJ5eERRVUZETEVOQlFVTTdaMEpCUTJZc1NVRkJTU3hOUVVGTkxFZEJRVWNzUTBGQlF5eERRVUZETzJkQ1FVTm1MREpDUVVFeVFqdG5Ra0ZETTBJc1NVRkJTU3hKUVVGSkxFZEJRVWNzUTBGQlF5eERRVUZETzJkQ1FVTmlMRWxCUVVrc1NVRkJTU3hIUVVGSExFMUJRVTBzUTBGQlF5eFRRVUZUTEVOQlFVTTdaMEpCUXpWQ0xFdEJRVXNzU1VGQlNTeERRVUZETEVkQlFVY3NRMEZCUXl4RlFVRkZMRU5CUVVNc1IwRkJSeXhKUVVGSkxFTkJRVU1zV1VGQldTeEZRVUZGTEVOQlFVTXNSVUZCUlN4RlFVRkZPMjlDUVVNeFF5eE5RVUZOTEV0QlFVc3NSMEZCUnl4SlFVRkpMRU5CUVVNc1MwRkJTeXhEUVVGRExFTkJRVU1zUjBGQlJ5eFRRVUZUTEVOQlFVTXNRMEZCUXp0dlFrRkRlRU1zVFVGQlRTeEhRVUZITEVkQlFVY3NRMEZCUXl4RFFVRkRMRXRCUVVzc1NVRkJTU3hEUVVGRExGbEJRVmtzUjBGQlJ5eERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNc1YwRkJWeXhEUVVGRExFTkJRVU1zUTBGQlF5eEpRVUZKTEVOQlFVTXNTMEZCU3l4RFFVRkRMRU5CUVVNc1EwRkJReXhIUVVGSExFTkJRVU1zUTBGQlF5eEhRVUZITEZOQlFWTXNRMEZCUXl4RFFVRkRPMjlDUVVNeFJpeE5RVUZOTEZGQlFWRXNSMEZCUnl4TlFVRk5MRU5CUVVNN2IwSkJRM2hDTEUxQlFVMHNVVUZCVVN4SFFVRkhMRTFCUVUwc1EwRkJRenR2UWtGRGVFSXNTVUZCU1N4RFFVRkRMRXRCUVVzc1NVRkJTU3hEUVVGRExGbEJRVmtzUjBGQlJ5eERRVUZETEVWQlFVVTdkMEpCUXk5Q0xEWkZRVUUyUlR0M1FrRkROMFVzVFVGQlRTeEhRVUZITEVkQlFVY3NSMEZCUnl4RFFVRkRMRWRCUVVjc1NVRkJTU3hEUVVGRExFdEJRVXNzUTBGQlF5eEpRVUZKTEVOQlFVTXNTVUZCU1N4RFFVRkRMRU5CUVVNc1EwRkJReXhIUVVGSExFZEJRVWNzUjBGQlJ5eERRVUZETEVkQlFVY3NSMEZCUnl4SFFVRkhMRU5CUVVNc1IwRkJSeXhIUVVGSExFTkJRVU1zUTBGQlF5eEhRVUZITEVOQlFVTXNRMEZCUXl4SFFVRkhMRU5CUVVNc1IwRkJSeXhIUVVGSExFTkJRVU1zUTBGQlF6dDNRa0ZEZGtZc1RVRkJUU3hIUVVGSExFZEJRVWNzUjBGQlJ5eEhRVUZITEVkQlFVY3NUVUZCVFN4SFFVRkhMRWxCUVVrc1EwRkJReXhMUVVGTExFTkJRVU1zUTBGQlF5eE5RVUZOTEVkQlFVY3NRMEZCUXl4RFFVRkRMRWRCUVVjc1EwRkJReXhOUVVGTkxFZEJRVWNzUTBGQlF5eERRVUZETEVkQlFVY3NRMEZCUXl4RFFVRkRMRU5CUVVNN2NVSkJRek5GTzI5Q1FVTkVMRWxCUVVrc1EwRkJReXhSUVVGUkxFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTXNWMEZCVnl4RFFVTXhRaXhGUVVGRExFMUJRVTBzUlVGQlJTeFBRVUZQTEVWQlFVVXNVVUZCVVN4RlFVRkZMRkZCUVZFc1JVRkJSU3hWUVVGVkxFVkJRVVVzUjBGQlJ5eEhRVUZITEV0QlFVc3NSVUZCUlN4SlFVRkpMRVZCUVVVc1QwRkJUeXhGUVVGRkxHbENRVUZwUWl4RlFVRkRMRU5CUTJwSExFTkJRVU03YjBKQlEwWXNVVUZCVVN4RFFVRkRMRU5CUVVNc1EwRkJReXhIUVVGSExFbEJRVWtzVDBGQlR5eERRVUZETEVOQlFVTXNZVUZCWVN4RlFVRkZMRmxCUVZrc1JVRkJSU3hGUVVGRk8zZENRVU40UkN4SlFVRkpMRU5CUVVNc1VVRkJVU3hEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETEZOQlFWTXNSMEZCUnl4RFFVRkRMRVZCUVVNc1NVRkJTU3hGUVVGRkxFVkJRVU1zUzBGQlN5eEZRVUZGTEd0Q1FVRnJRaXhGUVVGRkxFZEJRVWNzUlVGQlJTeEhRVUZITEVWQlFVTXNSVUZCUXl4RlFVRlJMRVZCUVVVN05FSkJRMjVHTEVsQlFVa3NRMEZCUXl4dlFrRkJiMElzU1VGQlNTeFZRVUZWTEVOQlFVTXNSMEZCUnl4RlFVRkZMRU5CUVVNc1NVRkJTU3hEUVVGRExGRkJRVkVzUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXl4VFFVRlRMRVZCUVVVc1EwRkJReXhEUVVGRE96UkNRVU0xUlN4SlFVRkpMRXRCUVVzc1JVRkJSVHRuUTBGRFZDeFpRVUZaTEVOQlFVTXNTMEZCU3l4RFFVRkRMRU5CUVVNN05rSkJRM0pDTzJsRFFVRk5PMmREUVVOTUxHTkJRV01zUTBGQlF5eEhRVUZITEVOQlFVTXNhMEpCUVd0Q0xFVkJRVVVzUzBGQlN5eERRVUZETEVOQlFVTTdaME5CUXpsRExFbEJRVWtzUjBGQlJ5eEhRVUZITEVsQlFVazdiME5CUTFvc1NVRkJTU3hIUVVGSExFZEJRVWNzUTBGQlF6dG5RMEZEWWl4SlFVRkpMRWRCUVVjc1IwRkJSeXhKUVVGSk8yOURRVU5hTEVsQlFVa3NSMEZCUnl4SFFVRkhMRU5CUVVNN1owTkJRMklzWVVGQllTeEZRVUZGTEVOQlFVTTdOa0pCUTJwQ08zZENRVU5JTEVOQlFVTXNRMEZCUXp0dlFrRkRTaXhEUVVGRExFTkJRVU1zUTBGQlF6dHBRa0ZEU2p0blFrRkRSQ3hOUVVGTkxFOUJRVThzUTBGQlF5eEhRVUZITEVOQlFVTXNVVUZCVVN4RFFVRkRMRU5CUVVNN1owSkJRelZDTEVsQlFVa3NVMEZCVXp0dlFrRkRXQ3hqUVVGakxFTkJRVU1zVDBGQlR5eERRVUZETEVOQlFVTXNTMEZCU3l4RlFVRkZMRXRCUVVzc1JVRkJSU3hGUVVGRkxFZEJRVWNzWTBGQll5eERRVUZETEV0QlFVc3NRMEZCUXl4SFFVRkhMRU5CUVVNc1MwRkJTeXhIUVVGSExFbEJRVWtzUTBGQlF5eEhRVUZITEVOQlFVTXNTVUZCU1N4SFFVRkhMRWxCUVVrc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTTdaMEpCUTNoSExFOUJRVThzUTBGQlF5eGpRVUZqTEVOQlFVTXNRMEZCUXp0aFFVTjZRanRaUVVGRExFOUJRVThzUTBGQlF5eEZRVUZGTzJkQ1FVTldMRTFCUVUwc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF6dGhRVU5ZTzFGQlEwZ3NRMEZCUXl4RFFVRkRMRU5CUVVNN1NVRkRUQ3hEUVVGRE8wbEJSVTBzVTBGQlV6dFJRVU5rTEVsQlFVa3NRMEZCUXl4UlFVRlJMRU5CUVVNc1QwRkJUeXhEUVVGRExFTkJRVU1zVFVGQlRTeEZRVUZGTEVWQlFVVXNRMEZCUXl4TlFVRk5MRU5CUVVNc1UwRkJVeXhGUVVGRkxFTkJRVU1zUTBGQlF6dEpRVU40UkN4RFFVRkRPME5CUTBvaUxDSnpiM1Z5WTJWelEyOXVkR1Z1ZENJNld5SnBiWEJ2Y25RZ2UwdHViM2R1VFdWMGNtbGpjMzBnWm5KdmJTQW5MaTR2ZEhsd1pXUXRiV1YwY21samN5YzdYRzVwYlhCdmNuUWdlMFJwYzNSaGJtTmxRV2RuY21WbllYUnBiMjVOWlhSb2IyUXNJRVJwYzNSaGJtTmxRV2RuY21WbllYUnBiMjVOWlhSb2IyUnpmU0JtY205dElDY3VMM1I1Y0dWekp6dGNibHh1Wlhod2IzSjBJR05zWVhOeklFUnBjM1JoYm1ObFRXRjBjbWw0VTJWeWRtbGpaU0I3WEc0Z0lDQWdjSEpwZG1GMFpTQmZkMjl5YTJWeWN6b2dWMjl5YTJWeVcxMDdYRzRnSUNBZ2NISnBkbUYwWlNCZmQyOXlhMlZ5UTI5MWJuUTZJRzUxYldKbGNqdGNiaUFnSUNCd2NtbDJZWFJsSUY5MFpYSnRhVzVoZEdWUGJrTnZiWEJzWlhSbE9pQmliMjlzWldGdU8xeHVJQ0FnSUhCMVlteHBZeUJqYjI1emRISjFZM1J2Y2loMWMyVkRiMjVqZFhKeVpXNTBWMjl5YTJWeWN5QTlJSFJ5ZFdVc0lIUmxjbTFwYm1GMFpVOXVRMjl0Y0d4bGRHVWdQU0IwY25WbEtTQjdYRzRnSUNBZ0lDQmpiMjV6ZENCMGFISmxZV1JEYjNWdWRDQTlJRzVoZG1sbllYUnZjaTVvWVhKa2QyRnlaVU52Ym1OMWNuSmxibU41TzF4dUlDQWdJQ0FnZEdocGN5NWZkMjl5YTJWeVEyOTFiblFnUFNCMWMyVkRiMjVqZFhKeVpXNTBWMjl5YTJWeWN5QS9JRTFoZEdndWJXRjRLSFJvY21WaFpFTnZkVzUwSUMwZ01pd2dNU2tnT2lBeE8xeHVJQ0FnSUNBZ2RHaHBjeTVmZDI5eWEyVnljeUE5SUc1bGR5QkJjbkpoZVNoMGFHbHpMbDkzYjNKclpYSkRiM1Z1ZENrdVptbHNiQ2h1ZFd4c0tWeHVJQ0FnSUNBZ0lDQXViV0Z3S0NncElEMCtJRzVsZHlCWGIzSnJaWElvYm1WM0lGVlNUQ2duTGk5a2FYTjBZVzVqWlMxdFlYUnlhWGd0ZDI5eWEyVnlKeXdnYVcxd2IzSjBMbTFsZEdFdWRYSnNLU2twTzF4dUlDQWdJQ0FnZEdocGN5NWZkR1Z5YldsdVlYUmxUMjVEYjIxd2JHVjBaU0E5SUhSbGNtMXBibUYwWlU5dVEyOXRjR3hsZEdVN1hHNGdJQ0FnZlR0Y2JseHVJQ0FnSUhCMVlteHBZeUJoYzNsdVl5QmpZV3hqS0haaGJIVmxjem9nUVhKeVlYazhZVzU1UGl3Z1ptNU9ZVzFsT2lCTGJtOTNiazFsZEhKcFkzTXNYRzRnSUNBZ0lDQnViM0p0WVd4cGVtVWdQU0IwY25WbExDQnZjSFJ6UHpvZ2UxdGZPaUJ6ZEhKcGJtZGRPaUJoYm5sOUtUb2dVSEp2YldselpUeEdiRzloZERNeVFYSnlZWGsrSUh0Y2JpQWdJQ0FnSUhKbGRIVnliaUJoZDJGcGRDQjBhR2x6TG1OaGJHTk5kV3gwYVNoYmRtRnNkV1Z6WFN3Z1cyWnVUbUZ0WlYwc0lHNXZjbTFoYkdsNlpTeGNiaUFnSUNBZ0lDQWdXMjl3ZEhNZ1B6OGdlMzFkTENCYk1WMHNJRVJwYzNSaGJtTmxRV2RuY21WbllYUnBiMjVOWlhSb2IyUnpMazFCVGtoQlZGUkJUaWs3WEc0Z0lDQWdmVnh1WEc0Z0lDQWdjSFZpYkdsaklHRnplVzVqSUdOaGJHTk5kV3gwYVNoY2JpQWdJQ0FnSUhaaGJIVmxjem9nUVhKeVlYazhZVzU1UGx0ZExDQm1iazVoYldWek9pQkxibTkzYmsxbGRISnBZM05iWFN4Y2JpQWdJQ0FnSUc1dmNtMWhiR2w2WlNBOUlIUnlkV1VzSUc5d2RITTZJSHRiWHpvZ2MzUnlhVzVuWFRvZ1lXNTVmVnRkSUQwZ1czdDlYU3hjYmlBZ0lDQWdJSGRsYVdkb2RITTZJRzUxYldKbGNsdGRJRDBnV3pGZExDQmhaMmR5WldkaGRHbHZiazFsZEdodlpEb2dSR2x6ZEdGdVkyVkJaMmR5WldkaGRHbHZiazFsZEdodlpDQTlJRVJwYzNSaGJtTmxRV2RuY21WbllYUnBiMjVOWlhSb2IyUnpMazFCVGtoQlZGUkJUbHh1SUNBZ0lDazZJRkJ5YjIxcGMyVThSbXh2WVhRek1rRnljbUY1UGlCN1hHNGdJQ0FnSUNCcFppQW9kbUZzZFdWekxteGxibWQwYUNBOElERXBYRzRnSUNBZ0lDQWdJSFJvY205M0lHNWxkeUJGY25KdmNpZ25kbUZzZFdWeklHMTFjM1FnWTI5dWRHRnBiaUJoZENCc1pXRnpkQ0J2Ym1VZ1lYSnlZWGtuS1R0Y2JpQWdJQ0FnSUdsbUlDaG1iazVoYldWekxteGxibWQwYUNBaFBUMGdkbUZzZFdWekxteGxibWQwYUNCOGZDQnZjSFJ6TG14bGJtZDBhQ0FoUFQwZ2RtRnNkV1Z6TG14bGJtZDBhQ0I4ZkNCM1pXbG5hSFJ6TG14bGJtZDBhQ0FoUFQwZ2RtRnNkV1Z6TG14bGJtZDBhQ2xjYmlBZ0lDQWdJQ0FnZEdoeWIzY2dibVYzSUVWeWNtOXlLQ2QyWVd4MVpYTXNJR1p1VG1GdFpYTXNJSGRsYVdkb2RITWdZVzVrSUc5d2RITWdiWFZ6ZENCb1lYWmxJSFJvWlNCellXMWxJR3hsYm1kMGFDY3BPMXh1SUNBZ0lDQWdjbVYwZFhKdUlHNWxkeUJRY205dGFYTmxLR0Z6ZVc1aklDaHlaWE52YkhabExDQnlaV3BsWTNRcElEMCtJSHRjYmlBZ0lDQWdJQ0FnZEhKNUlIdGNiaUFnSUNBZ0lDQWdJQ0JqYjI1emRDQnNaVzRnUFNCMllXeDFaWE5iTUYwdWJHVnVaM1JvTzF4dUlDQWdJQ0FnSUNBZ0lHTnZibk4wSUhCeWIyMXBjMlZ6SUQwZ2JtVjNJRUZ5Y21GNVBGQnliMjFwYzJVOGRtOXBaRDQrS0hSb2FYTXVYM2R2Y210bGNrTnZkVzUwS1R0Y2JpQWdJQ0FnSUNBZ0lDQmpiMjV6ZENCMGIzUmhiRXhsYm1kMGFDQTlJR3hsYmlBcUlDaHNaVzRnTFNBeEtTQXZJREk3SUM4dklITnBlbVVnYjJZZ2NtVmtkV05sWkNCa2FYTjBZVzVqWlNCdFlYUnlhWGhjYmlBZ0lDQWdJQ0FnSUNCMGFHbHpMbDkzYjNKclpYSkRiM1Z1ZENBOUlFMWhkR2d1YldsdUtIUm9hWE11WDNkdmNtdGxja052ZFc1MExDQjBiM1JoYkV4bGJtZDBhQ2s3WEc0Z0lDQWdJQ0FnSUNBZ1kyOXVjM1FnWTJoMWJtdFRhWHBsSUQwZ2RHOTBZV3hNWlc1bmRHZ2dMeUIwYUdsekxsOTNiM0pyWlhKRGIzVnVkRHRjYmlBZ0lDQWdJQ0FnSUNCamIyNXpkQ0JrYVhOMFlXNWpaVTFoZEhKcGVDQTlJRzVsZHlCR2JHOWhkRE15UVhKeVlYa29kRzkwWVd4TVpXNW5kR2dwTzF4dUlDQWdJQ0FnSUNBZ0lHeGxkQ0JsYm1SU2IzY2dQU0F3TzF4dUlDQWdJQ0FnSUNBZ0lHeGxkQ0JsYm1SRGIyd2dQU0F4TzF4dUlDQWdJQ0FnSUNBZ0lDOHZJRzFwYm0xaGVDQm1iM0lnYm05eWJXRnNhWHBoZEdsdmJseHVJQ0FnSUNBZ0lDQWdJR3hsZENCc2JXbHVJRDBnTUR0Y2JpQWdJQ0FnSUNBZ0lDQnNaWFFnYkcxaGVDQTlJRTUxYldKbGNpNU5TVTVmVmtGTVZVVTdYRzRnSUNBZ0lDQWdJQ0FnWm05eUlDaHNaWFFnYVNBOUlEQTdJR2tnUENCMGFHbHpMbDkzYjNKclpYSkRiM1Z1ZERzZ2FTc3JLU0I3WEc0Z0lDQWdJQ0FnSUNBZ0lDQmpiMjV6ZENCemRHRnlkQ0E5SUUxaGRHZ3VabXh2YjNJb2FTQXFJR05vZFc1clUybDZaU2s3WEc0Z0lDQWdJQ0FnSUNBZ0lDQmpiMjV6ZENCbGJtUWdQU0FvYVNBOVBUMGdkR2hwY3k1ZmQyOXlhMlZ5UTI5MWJuUWdMU0F4S1NBL0lIUnZkR0ZzVEdWdVozUm9JRG9nVFdGMGFDNW1iRzl2Y2lnb2FTQXJJREVwSUNvZ1kyaDFibXRUYVhwbEtUdGNiaUFnSUNBZ0lDQWdJQ0FnSUdOdmJuTjBJSE4wWVhKMFVtOTNJRDBnWlc1a1VtOTNPMXh1SUNBZ0lDQWdJQ0FnSUNBZ1kyOXVjM1FnYzNSaGNuUkRiMndnUFNCbGJtUkRiMnc3WEc0Z0lDQWdJQ0FnSUNBZ0lDQnBaaUFvYVNBaFBUMGdkR2hwY3k1ZmQyOXlhMlZ5UTI5MWJuUWdMU0F4S1NCN1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUM4dklGUm9aWE5sSUdadmNtMTFiR0Z6SUcxaGNDQjBhR1VnYkdsdVpXRnlJR2x1WkdWNElIUnZJSFJvWlNCMWNIQmxjaUIwY21saGJtZDFiR0Z5SUcxaGRISnBlQ0JwYm1ScFkyVnpYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lHVnVaRkp2ZHlBOUlHeGxiaUF0SURJZ0xTQk5ZWFJvTG1ac2IyOXlLRTFoZEdndWMzRnlkQ2d0T0NBcUlHVnVaQ0FySURRZ0tpQnNaVzRnS2lBb2JHVnVJQzBnTVNrZ0xTQTNLU0F2SURJZ0xTQXdMalVwTzF4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0JsYm1SRGIyd2dQU0JsYm1RZ0xTQnNaVzRnS2lCbGJtUlNiM2NnS3lCTllYUm9MbVpzYjI5eUtDaGxibVJTYjNjZ0t5QXhLU0FxSUNobGJtUlNiM2NnS3lBeUtTQXZJRElwTzF4dUlDQWdJQ0FnSUNBZ0lDQWdmVnh1SUNBZ0lDQWdJQ0FnSUNBZ2RHaHBjeTVmZDI5eWEyVnljMXRwWFM1d2IzTjBUV1Z6YzJGblpTaGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ2UzWmhiSFZsY3l3Z1ptNU9ZVzFsY3l3Z2MzUmhjblJTYjNjc0lITjBZWEowUTI5c0xDQmphSFZ1WTJ0VGFYcGxPaUJsYm1RZ0xTQnpkR0Z5ZEN3Z2IzQjBjeXdnZDJWcFoyaDBjeXdnWVdkbmNtVm5ZWFJwYjI1TlpYUm9iMlI5WEc0Z0lDQWdJQ0FnSUNBZ0lDQXBPMXh1SUNBZ0lDQWdJQ0FnSUNBZ2NISnZiV2x6WlhOYmFWMGdQU0J1WlhjZ1VISnZiV2x6WlNnb2NtVnpiMngyWlZkdmNtdGxjaXdnY21WcVpXTjBWMjl5YTJWeUtTQTlQaUI3WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJSFJvYVhNdVgzZHZjbXRsY25OYmFWMHViMjV0WlhOellXZGxJRDBnS0h0a1lYUmhPaUI3WlhKeWIzSXNJR1JwYzNSaGJtTmxUV0YwY21sNFJHRjBZU3dnYldsdUxDQnRZWGg5ZlNrNklIWnZhV1FnUFQ0Z2UxeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lIUm9hWE11WDNSbGNtMXBibUYwWlU5dVEyOXRjR3hsZEdVZ0ppWWdjMlYwVkdsdFpXOTFkQ2dvS1NBOVBpQjBhR2x6TGw5M2IzSnJaWEp6VzJsZExuUmxjbTFwYm1GMFpTZ3BLVHRjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0JwWmlBb1pYSnliM0lwSUh0Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lISmxhbVZqZEZkdmNtdGxjaWhsY25KdmNpazdYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdmU0JsYkhObElIdGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJR1JwYzNSaGJtTmxUV0YwY21sNExuTmxkQ2hrYVhOMFlXNWpaVTFoZEhKcGVFUmhkR0VzSUhOMFlYSjBLVHRjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUdsbUlDaHRhVzRnUENCc2JXbHVLVnh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCc2JXbHVJRDBnYldsdU8xeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdhV1lnS0cxaGVDQStJR3h0WVhncFhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJR3h0WVhnZ1BTQnRZWGc3WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCeVpYTnZiSFpsVjI5eWEyVnlLQ2s3WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnZlZ4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0I5TzF4dUlDQWdJQ0FnSUNBZ0lDQWdmU2s3WEc0Z0lDQWdJQ0FnSUNBZ2ZWeHVJQ0FnSUNBZ0lDQWdJR0YzWVdsMElGQnliMjFwYzJVdVlXeHNLSEJ5YjIxcGMyVnpLVHRjYmlBZ0lDQWdJQ0FnSUNCcFppQW9ibTl5YldGc2FYcGxLVnh1SUNBZ0lDQWdJQ0FnSUNBZ1pHbHpkR0Z1WTJWTllYUnlhWGd1Wm05eVJXRmphQ2dvZG1Gc2RXVXNJR2x1WkdWNEtTQTlQaUI3SUdScGMzUmhibU5sVFdGMGNtbDRXMmx1WkdWNFhTQTlJQ2gyWVd4MVpTQXRJR3h0YVc0cElDOGdLR3h0WVhnZ0xTQnNiV2x1S1RzZ2ZTazdYRzRnSUNBZ0lDQWdJQ0FnY21WemIyeDJaU2hrYVhOMFlXNWpaVTFoZEhKcGVDazdYRzRnSUNBZ0lDQWdJSDBnWTJGMFkyZ2dLR1VwSUh0Y2JpQWdJQ0FnSUNBZ0lDQnlaV3BsWTNRb1pTazdYRzRnSUNBZ0lDQWdJSDFjYmlBZ0lDQWdJSDBwTzF4dUlDQWdJSDFjYmx4dUlDQWdJSEIxWW14cFl5QjBaWEp0YVc1aGRHVW9LVG9nZG05cFpDQjdYRzRnSUNBZ0lDQjBhR2x6TGw5M2IzSnJaWEp6TG1admNrVmhZMmdvS0hkdmNtdGxjaWtnUFQ0Z2QyOXlhMlZ5TG5SbGNtMXBibUYwWlNncEtUdGNiaUFnSUNCOVhHNTlYRzRpWFgwPSIsIi8qKlxuICogQGxpY2Vuc2VcbiAqXG4gKiBDb3B5cmlnaHQgMjAxOSBHb29nbGUgTExDLiBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICovXG4vKipcbiAqIFNpbXBsZSByYW5kb20gaW50ZWdlciBmdW5jdGlvblxuICovXG5leHBvcnQgZnVuY3Rpb24gdGF1UmFuZEludChuLCByYW5kb20pIHtcbiAgICByZXR1cm4gTWF0aC5mbG9vcihyYW5kb20oKSAqIG4pO1xufVxuLyoqXG4gKiBTaW1wbGUgcmFuZG9tIGZsb2F0IGZ1bmN0aW9uXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB0YXVSYW5kKHJhbmRvbSkge1xuICAgIHJldHVybiByYW5kb20oKTtcbn1cbi8qKlxuICogQ29tcHV0ZSB0aGUgKHN0YW5kYXJkIGwyKSBub3JtIG9mIGEgdmVjdG9yLlxuICovXG5leHBvcnQgZnVuY3Rpb24gbm9ybSh2ZWMpIHtcbiAgICBsZXQgcmVzdWx0ID0gMDtcbiAgICBmb3IgKGNvbnN0IGl0ZW0gb2YgdmVjKVxuICAgICAgICByZXN1bHQgKz0gaXRlbSAqKiAyO1xuICAgIHJldHVybiBNYXRoLnNxcnQocmVzdWx0KTtcbn1cbi8qKlxuICogQ3JlYXRlcyBhbiBlbXB0eSBhcnJheSAoZmlsbGVkIHdpdGggdW5kZWZpbmVkKVxuICovXG5leHBvcnQgZnVuY3Rpb24gZW1wdHkobikge1xuICAgIGNvbnN0IG91dHB1dCA9IFtdO1xuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgbjsgaSsrKVxuICAgICAgICBvdXRwdXQucHVzaCh1bmRlZmluZWQpO1xuICAgIHJldHVybiBvdXRwdXQ7XG59XG4vKipcbiAqIENyZWF0ZXMgYW4gYXJyYXkgZmlsbGVkIHdpdGggaW5kZXggdmFsdWVzXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiByYW5nZShuKSB7XG4gICAgcmV0dXJuIGVtcHR5KG4pLm1hcCgoXywgaSkgPT4gaSk7XG59XG4vKipcbiAqIENyZWF0ZXMgYW4gYXJyYXkgZmlsbGVkIHdpdGggYSBzcGVjaWZpYyB2YWx1ZVxuICovXG5leHBvcnQgZnVuY3Rpb24gZmlsbGVkKG4sIHYpIHtcbiAgICByZXR1cm4gZW1wdHkobikubWFwKCgpID0+IHYpO1xufVxuLyoqXG4gKiBDcmVhdGVzIGFuIGFycmF5IGZpbGxlZCB3aXRoIHplcm9zXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB6ZXJvcyhuKSB7XG4gICAgcmV0dXJuIGZpbGxlZChuLCAwKTtcbn1cbi8qKlxuICogQ3JlYXRlcyBhbiBhcnJheSBmaWxsZWQgd2l0aCBvbmVzXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBvbmVzKG4pIHtcbiAgICByZXR1cm4gZmlsbGVkKG4sIDEpO1xufVxuLyoqXG4gKiBDcmVhdGVzIGFuIGFycmF5IGZyb20gYSB0byBiLCBvZiBsZW5ndGggbGVuLCBpbmNsdXNpdmVcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGxpbmVhcihhLCBiLCBsZW4pIHtcbiAgICByZXR1cm4gZW1wdHkobGVuKS5tYXAoKF8sIGkpID0+IHtcbiAgICAgICAgcmV0dXJuIGEgKyBpICogKChiIC0gYSkgLyAobGVuIC0gMSkpO1xuICAgIH0pO1xufVxuLyoqXG4gKiBSZXR1cm5zIHRoZSBzdW0gb2YgYW4gYXJyYXlcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHN1bShpbnB1dCkge1xuICAgIHJldHVybiBpbnB1dC5yZWR1Y2UoKHN1bSwgdmFsKSA9PiBzdW0gKyB2YWwpO1xufVxuLyoqXG4gKiBSZXR1cm5zIHRoZSBtZWFuIG9mIGFuIGFycmF5XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBtZWFuKGlucHV0KSB7XG4gICAgcmV0dXJuIHN1bShpbnB1dCkgLyBpbnB1dC5sZW5ndGg7XG59XG4vKipcbiAqIFJldHVybnMgdGhlIG1heGltdW0gdmFsdWUgb2YgYW4gYXJyYXlcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIG1heChpbnB1dCkge1xuICAgIGxldCBtYXggPSAwO1xuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgaW5wdXQubGVuZ3RoOyBpKyspXG4gICAgICAgIG1heCA9IGlucHV0W2ldID4gbWF4ID8gaW5wdXRbaV0gOiBtYXg7XG4gICAgcmV0dXJuIG1heDtcbn1cbi8qKlxuICogUmV0dXJucyB0aGUgbWF4aW11bSB2YWx1ZSBvZiBhIDJkIGFycmF5XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBtYXgyZChpbnB1dCkge1xuICAgIGxldCBtYXggPSAwO1xuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgaW5wdXQubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgZm9yIChsZXQgaiA9IDA7IGogPCBpbnB1dFtpXS5sZW5ndGg7IGorKylcbiAgICAgICAgICAgIG1heCA9IGlucHV0W2ldW2pdID4gbWF4ID8gaW5wdXRbaV1bal0gOiBtYXg7XG4gICAgfVxuICAgIHJldHVybiBtYXg7XG59XG4vKipcbiAqIEdlbmVyYXRlIG5TYW1wbGVzIG1hbnkgaW50ZWdlcnMgZnJvbSAwIHRvIHBvb2xTaXplIHN1Y2ggdGhhdCBub1xuICogaW50ZWdlciBpcyBzZWxlY3RlZCB0d2ljZS4gVGhlIGR1cGxpY2F0aW9uIGNvbnN0cmFpbnQgaXMgYWNoaWV2ZWQgdmlhXG4gKiByZWplY3Rpb24gc2FtcGxpbmcuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiByZWplY3Rpb25TYW1wbGUoblNhbXBsZXMsIHBvb2xTaXplLCByYW5kb20pIHtcbiAgICBjb25zdCByZXN1bHQgPSB6ZXJvcyhuU2FtcGxlcyk7XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBuU2FtcGxlczsgaSsrKSB7XG4gICAgICAgIGxldCByZWplY3RTYW1wbGUgPSB0cnVlO1xuICAgICAgICB3aGlsZSAocmVqZWN0U2FtcGxlKSB7XG4gICAgICAgICAgICBjb25zdCBqID0gdGF1UmFuZEludChwb29sU2l6ZSwgcmFuZG9tKTtcbiAgICAgICAgICAgIGxldCBicm9rZW4gPSBmYWxzZTtcbiAgICAgICAgICAgIGZvciAobGV0IGsgPSAwOyBrIDwgaTsgaysrKSB7XG4gICAgICAgICAgICAgICAgaWYgKGogPT09IHJlc3VsdFtrXSkge1xuICAgICAgICAgICAgICAgICAgICBicm9rZW4gPSB0cnVlO1xuICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoIWJyb2tlbilcbiAgICAgICAgICAgICAgICByZWplY3RTYW1wbGUgPSBmYWxzZTtcbiAgICAgICAgICAgIHJlc3VsdFtpXSA9IGo7XG4gICAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHJlc3VsdDtcbn1cbi8qKlxuICogUmVzaGFwZXMgYSAxZCBhcnJheSBpbnRvIGEgMkQgb2YgZ2l2ZW4gZGltZW5zaW9ucy5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHJlc2hhcGUyZCh4LCBhLCBiKSB7XG4gICAgY29uc3Qgcm93cyA9IFtdO1xuICAgIC8vIGxldCBjb3VudCA9IDA7XG4gICAgbGV0IGluZGV4ID0gMDtcbiAgICBpZiAoeC5sZW5ndGggIT09IGEgKiBiKVxuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ0FycmF5IGRpbWVuc2lvbnMgbXVzdCBtYXRjaCBpbnB1dCBsZW5ndGguJyk7XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBhOyBpKyspIHtcbiAgICAgICAgY29uc3QgY29sID0gW107XG4gICAgICAgIGZvciAobGV0IGogPSAwOyBqIDwgYjsgaisrKSB7XG4gICAgICAgICAgICBjb2wucHVzaCh4W2luZGV4XSk7XG4gICAgICAgICAgICBpbmRleCArPSAxO1xuICAgICAgICB9XG4gICAgICAgIHJvd3MucHVzaChjb2wpO1xuICAgICAgICAvLyBjb3VudCArPSAxO1xuICAgIH1cbiAgICByZXR1cm4gcm93cztcbn1cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSm1hV3hsSWpvaWRYUnBiSE11YW5NaUxDSnpiM1Z5WTJWU2IyOTBJam9pSWl3aWMyOTFjbU5sY3lJNld5SjFkR2xzY3k1MGN5SmRMQ0p1WVcxbGN5STZXMTBzSW0xaGNIQnBibWR6SWpvaVFVRkJRVHM3T3pzN096czdPenM3T3pzN096czdSMEZwUWtjN1FVRkpTRHM3UjBGRlJ6dEJRVU5JTEUxQlFVMHNWVUZCVlN4VlFVRlZMRU5CUVVNc1EwRkJVeXhGUVVGRkxFMUJRV2RDTzBsQlEzQkVMRTlCUVU4c1NVRkJTU3hEUVVGRExFdEJRVXNzUTBGQlF5eE5RVUZOTEVWQlFVVXNSMEZCUnl4RFFVRkRMRU5CUVVNc1EwRkJRenRCUVVOc1F5eERRVUZETzBGQlJVUTdPMGRCUlVjN1FVRkRTQ3hOUVVGTkxGVkJRVlVzVDBGQlR5eERRVUZETEUxQlFXZENPMGxCUTNSRExFOUJRVThzVFVGQlRTeEZRVUZGTEVOQlFVTTdRVUZEYkVJc1EwRkJRenRCUVVORU96dEhRVVZITzBGQlEwZ3NUVUZCVFN4VlFVRlZMRWxCUVVrc1EwRkJReXhIUVVGaE8wbEJRMmhETEVsQlFVa3NUVUZCVFN4SFFVRkhMRU5CUVVNc1EwRkJRenRKUVVObUxFdEJRVXNzVFVGQlRTeEpRVUZKTEVsQlFVa3NSMEZCUnp0UlFVTndRaXhOUVVGTkxFbEJRVWtzU1VGQlNTeEpRVUZKTEVOQlFVTXNRMEZCUXp0SlFVVjBRaXhQUVVGUExFbEJRVWtzUTBGQlF5eEpRVUZKTEVOQlFVTXNUVUZCVFN4RFFVRkRMRU5CUVVNN1FVRkRNMElzUTBGQlF6dEJRVVZFT3p0SFFVVkhPMEZCUTBnc1RVRkJUU3hWUVVGVkxFdEJRVXNzUTBGQlF5eERRVUZUTzBsQlF6ZENMRTFCUVUwc1RVRkJUU3hIUVVGblFpeEZRVUZGTEVOQlFVTTdTVUZETDBJc1MwRkJTeXhKUVVGSkxFTkJRVU1zUjBGQlJ5eERRVUZETEVWQlFVVXNRMEZCUXl4SFFVRkhMRU5CUVVNc1JVRkJSU3hEUVVGRExFVkJRVVU3VVVGRGVFSXNUVUZCVFN4RFFVRkRMRWxCUVVrc1EwRkJReXhUUVVGVExFTkJRVU1zUTBGQlF6dEpRVVY2UWl4UFFVRlBMRTFCUVUwc1EwRkJRenRCUVVOb1FpeERRVUZETzBGQlJVUTdPMGRCUlVjN1FVRkRTQ3hOUVVGTkxGVkJRVlVzUzBGQlN5eERRVUZETEVOQlFWTTdTVUZETjBJc1QwRkJUeXhMUVVGTExFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTXNSMEZCUnl4RFFVRkRMRU5CUVVNc1EwRkJReXhGUVVGRkxFTkJRVU1zUlVGQlJTeEZRVUZGTEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNN1FVRkRia01zUTBGQlF6dEJRVVZFT3p0SFFVVkhPMEZCUTBnc1RVRkJUU3hWUVVGVkxFMUJRVTBzUTBGQlF5eERRVUZUTEVWQlFVVXNRMEZCVXp0SlFVTjZReXhQUVVGUExFdEJRVXNzUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXl4SFFVRkhMRU5CUVVNc1IwRkJSeXhGUVVGRkxFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTTdRVUZETDBJc1EwRkJRenRCUVVWRU96dEhRVVZITzBGQlEwZ3NUVUZCVFN4VlFVRlZMRXRCUVVzc1EwRkJReXhEUVVGVE8wbEJRemRDTEU5QlFVOHNUVUZCVFN4RFFVRkRMRU5CUVVNc1JVRkJSU3hEUVVGRExFTkJRVU1zUTBGQlF6dEJRVU4wUWl4RFFVRkRPMEZCUlVRN08wZEJSVWM3UVVGRFNDeE5RVUZOTEZWQlFWVXNTVUZCU1N4RFFVRkRMRU5CUVZNN1NVRkROVUlzVDBGQlR5eE5RVUZOTEVOQlFVTXNRMEZCUXl4RlFVRkZMRU5CUVVNc1EwRkJReXhEUVVGRE8wRkJRM1JDTEVOQlFVTTdRVUZGUkRzN1IwRkZSenRCUVVOSUxFMUJRVTBzVlVGQlZTeE5RVUZOTEVOQlFVTXNRMEZCVXl4RlFVRkZMRU5CUVZNc1JVRkJSU3hIUVVGWE8wbEJRM1JFTEU5QlFVOHNTMEZCU3l4RFFVRkRMRWRCUVVjc1EwRkJReXhEUVVGRExFZEJRVWNzUTBGQlF5eERRVUZETEVOQlFVTXNSVUZCUlN4RFFVRkRMRVZCUVVVc1JVRkJSVHRSUVVNM1FpeFBRVUZQTEVOQlFVTXNSMEZCUnl4RFFVRkRMRWRCUVVjc1EwRkJReXhEUVVGRExFTkJRVU1zUjBGQlJ5eERRVUZETEVOQlFVTXNSMEZCUnl4RFFVRkRMRWRCUVVjc1IwRkJSeXhEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETzBsQlEzWkRMRU5CUVVNc1EwRkJReXhEUVVGRE8wRkJRMHdzUTBGQlF6dEJRVVZFT3p0SFFVVkhPMEZCUTBnc1RVRkJUU3hWUVVGVkxFZEJRVWNzUTBGQlF5eExRVUZsTzBsQlEycERMRTlCUVU4c1MwRkJTeXhEUVVGRExFMUJRVTBzUTBGQlF5eERRVUZETEVkQlFVY3NSVUZCUlN4SFFVRkhMRVZCUVVVc1JVRkJSU3hEUVVGRExFZEJRVWNzUjBGQlJ5eEhRVUZITEVOQlFVTXNRMEZCUXp0QlFVTXZReXhEUVVGRE8wRkJSVVE3TzBkQlJVYzdRVUZEU0N4TlFVRk5MRlZCUVZVc1NVRkJTU3hEUVVGRExFdEJRV1U3U1VGRGJFTXNUMEZCVHl4SFFVRkhMRU5CUVVNc1MwRkJTeXhEUVVGRExFZEJRVWNzUzBGQlN5eERRVUZETEUxQlFVMHNRMEZCUXp0QlFVTnVReXhEUVVGRE8wRkJSVVE3TzBkQlJVYzdRVUZEU0N4TlFVRk5MRlZCUVZVc1IwRkJSeXhEUVVGRExFdEJRV1U3U1VGRGFrTXNTVUZCU1N4SFFVRkhMRWRCUVVjc1EwRkJReXhEUVVGRE8wbEJRMW9zUzBGQlN5eEpRVUZKTEVOQlFVTXNSMEZCUnl4RFFVRkRMRVZCUVVVc1EwRkJReXhIUVVGSExFdEJRVXNzUTBGQlF5eE5RVUZOTEVWQlFVVXNRMEZCUXl4RlFVRkZPMUZCUTI1RExFZEJRVWNzUjBGQlJ5eExRVUZMTEVOQlFVTXNRMEZCUXl4RFFVRkRMRWRCUVVjc1IwRkJSeXhEUVVGRExFTkJRVU1zUTBGQlF5eExRVUZMTEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRExFZEJRVWNzUTBGQlF6dEpRVVY0UXl4UFFVRlBMRWRCUVVjc1EwRkJRenRCUVVOaUxFTkJRVU03UVVGRlJEczdSMEZGUnp0QlFVTklMRTFCUVUwc1ZVRkJWU3hMUVVGTExFTkJRVU1zUzBGQmFVSTdTVUZEY2tNc1NVRkJTU3hIUVVGSExFZEJRVWNzUTBGQlF5eERRVUZETzBsQlExb3NTMEZCU3l4SlFVRkpMRU5CUVVNc1IwRkJSeXhEUVVGRExFVkJRVVVzUTBGQlF5eEhRVUZITEV0QlFVc3NRMEZCUXl4TlFVRk5MRVZCUVVVc1EwRkJReXhGUVVGRkxFVkJRVVU3VVVGRGNrTXNTMEZCU3l4SlFVRkpMRU5CUVVNc1IwRkJSeXhEUVVGRExFVkJRVVVzUTBGQlF5eEhRVUZITEV0QlFVc3NRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJReXhOUVVGTkxFVkJRVVVzUTBGQlF5eEZRVUZGTzFsQlEzUkRMRWRCUVVjc1IwRkJSeXhMUVVGTExFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRMRWRCUVVjc1IwRkJSeXhEUVVGRExFTkJRVU1zUTBGQlF5eExRVUZMTEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETEVkQlFVY3NRMEZCUXp0TFFVTXZRenRKUVVORUxFOUJRVThzUjBGQlJ5eERRVUZETzBGQlEySXNRMEZCUXp0QlFVVkVPenM3TzBkQlNVYzdRVUZEU0N4TlFVRk5MRlZCUVZVc1pVRkJaU3hEUVVNM1FpeFJRVUZuUWl4RlFVTm9RaXhSUVVGblFpeEZRVU5vUWl4TlFVRm5RanRKUVVWb1FpeE5RVUZOTEUxQlFVMHNSMEZCUnl4TFFVRkxMRU5CUVVNc1VVRkJVU3hEUVVGRExFTkJRVU03U1VGREwwSXNTMEZCU3l4SlFVRkpMRU5CUVVNc1IwRkJSeXhEUVVGRExFVkJRVVVzUTBGQlF5eEhRVUZITEZGQlFWRXNSVUZCUlN4RFFVRkRMRVZCUVVVc1JVRkJSVHRSUVVOcVF5eEpRVUZKTEZsQlFWa3NSMEZCUnl4SlFVRkpMRU5CUVVNN1VVRkRlRUlzVDBGQlR5eFpRVUZaTEVWQlFVVTdXVUZEYmtJc1RVRkJUU3hEUVVGRExFZEJRVWNzVlVGQlZTeERRVUZETEZGQlFWRXNSVUZCUlN4TlFVRk5MRU5CUVVNc1EwRkJRenRaUVVOMlF5eEpRVUZKTEUxQlFVMHNSMEZCUnl4TFFVRkxMRU5CUVVNN1dVRkRia0lzUzBGQlN5eEpRVUZKTEVOQlFVTXNSMEZCUnl4RFFVRkRMRVZCUVVVc1EwRkJReXhIUVVGSExFTkJRVU1zUlVGQlJTeERRVUZETEVWQlFVVXNSVUZCUlR0blFrRkRNVUlzU1VGQlNTeERRVUZETEV0QlFVc3NUVUZCVFN4RFFVRkRMRU5CUVVNc1EwRkJReXhGUVVGRk8yOUNRVU51UWl4TlFVRk5MRWRCUVVjc1NVRkJTU3hEUVVGRE8yOUNRVU5rTEUxQlFVMDdhVUpCUTFBN1lVRkRSanRaUVVORUxFbEJRVWtzUTBGQlF5eE5RVUZOTzJkQ1FVTlVMRmxCUVZrc1IwRkJSeXhMUVVGTExFTkJRVU03V1VGRmRrSXNUVUZCVFN4RFFVRkRMRU5CUVVNc1EwRkJReXhIUVVGSExFTkJRVU1zUTBGQlF6dFRRVU5tTzB0QlEwWTdTVUZEUkN4UFFVRlBMRTFCUVUwc1EwRkJRenRCUVVOb1FpeERRVUZETzBGQlJVUTdPMGRCUlVjN1FVRkRTQ3hOUVVGTkxGVkJRVlVzVTBGQlV5eERRVUZKTEVOQlFVMHNSVUZCUlN4RFFVRlRMRVZCUVVVc1EwRkJVenRKUVVOMlJDeE5RVUZOTEVsQlFVa3NSMEZCVlN4RlFVRkZMRU5CUVVNN1NVRkRka0lzYVVKQlFXbENPMGxCUTJwQ0xFbEJRVWtzUzBGQlN5eEhRVUZITEVOQlFVTXNRMEZCUXp0SlFVVmtMRWxCUVVrc1EwRkJReXhEUVVGRExFMUJRVTBzUzBGQlN5eERRVUZETEVkQlFVY3NRMEZCUXp0UlFVTndRaXhOUVVGTkxFbEJRVWtzUzBGQlN5eERRVUZETERKRFFVRXlReXhEUVVGRExFTkJRVU03U1VGSEwwUXNTMEZCU3l4SlFVRkpMRU5CUVVNc1IwRkJSeXhEUVVGRExFVkJRVVVzUTBGQlF5eEhRVUZITEVOQlFVTXNSVUZCUlN4RFFVRkRMRVZCUVVVc1JVRkJSVHRSUVVNeFFpeE5RVUZOTEVkQlFVY3NSMEZCVVN4RlFVRkZMRU5CUVVNN1VVRkRjRUlzUzBGQlN5eEpRVUZKTEVOQlFVTXNSMEZCUnl4RFFVRkRMRVZCUVVVc1EwRkJReXhIUVVGSExFTkJRVU1zUlVGQlJTeERRVUZETEVWQlFVVXNSVUZCUlR0WlFVTXhRaXhIUVVGSExFTkJRVU1zU1VGQlNTeERRVUZETEVOQlFVTXNRMEZCUXl4TFFVRkxMRU5CUVVNc1EwRkJReXhEUVVGRE8xbEJRMjVDTEV0QlFVc3NTVUZCU1N4RFFVRkRMRU5CUVVNN1UwRkRXanRSUVVORUxFbEJRVWtzUTBGQlF5eEpRVUZKTEVOQlFVTXNSMEZCUnl4RFFVRkRMRU5CUVVNN1VVRkRaaXhqUVVGak8wdEJRMlk3U1VGRFJDeFBRVUZQTEVsQlFVa3NRMEZCUXp0QlFVTmtMRU5CUVVNaUxDSnpiM1Z5WTJWelEyOXVkR1Z1ZENJNld5SXZLaXBjYmlBcUlFQnNhV05sYm5ObFhHNGdLbHh1SUNvZ1EyOXdlWEpwWjJoMElESXdNVGtnUjI5dloyeGxJRXhNUXk0Z1FXeHNJRkpwWjJoMGN5QlNaWE5sY25abFpDNWNiaUFxWEc0Z0tpQk1hV05sYm5ObFpDQjFibVJsY2lCMGFHVWdRWEJoWTJobElFeHBZMlZ1YzJVc0lGWmxjbk5wYjI0Z01pNHdJQ2gwYUdVZ1hDSk1hV05sYm5ObFhDSXBPMXh1SUNvZ2VXOTFJRzFoZVNCdWIzUWdkWE5sSUhSb2FYTWdabWxzWlNCbGVHTmxjSFFnYVc0Z1kyOXRjR3hwWVc1alpTQjNhWFJvSUhSb1pTQk1hV05sYm5ObExseHVJQ29nV1c5MUlHMWhlU0J2WW5SaGFXNGdZU0JqYjNCNUlHOW1JSFJvWlNCTWFXTmxibk5sSUdGMFhHNGdLbHh1SUNvZ0lDQWdJR2gwZEhBNkx5OTNkM2N1WVhCaFkyaGxMbTl5Wnk5c2FXTmxibk5sY3k5TVNVTkZUbE5GTFRJdU1GeHVJQ3BjYmlBcUlGVnViR1Z6Y3lCeVpYRjFhWEpsWkNCaWVTQmhjSEJzYVdOaFlteGxJR3hoZHlCdmNpQmhaM0psWldRZ2RHOGdhVzRnZDNKcGRHbHVaeXdnYzI5bWRIZGhjbVZjYmlBcUlHUnBjM1J5YVdKMWRHVmtJSFZ1WkdWeUlIUm9aU0JNYVdObGJuTmxJR2x6SUdScGMzUnlhV0oxZEdWa0lHOXVJR0Z1SUZ3aVFWTWdTVk5jSWlCQ1FWTkpVeXhjYmlBcUlGZEpWRWhQVlZRZ1YwRlNVa0ZPVkVsRlV5QlBVaUJEVDA1RVNWUkpUMDVUSUU5R0lFRk9XU0JMU1U1RUxDQmxhWFJvWlhJZ1pYaHdjbVZ6Y3lCdmNpQnBiWEJzYVdWa0xseHVJQ29nVTJWbElIUm9aU0JNYVdObGJuTmxJR1p2Y2lCMGFHVWdjM0JsWTJsbWFXTWdiR0Z1WjNWaFoyVWdaMjkyWlhKdWFXNW5JSEJsY20xcGMzTnBiMjV6SUdGdVpGeHVJQ29nYkdsdGFYUmhkR2x2Ym5NZ2RXNWtaWElnZEdobElFeHBZMlZ1YzJVdVhHNGdLaUE5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMWNiaUFxTDF4dVhHNXBiWEJ2Y25RZ2UxSmhibVJ2YlVadWZTQm1jbTl0SUNjdUwzVnRZWEFuTzF4dVhHNHZLaXBjYmlBcUlGTnBiWEJzWlNCeVlXNWtiMjBnYVc1MFpXZGxjaUJtZFc1amRHbHZibHh1SUNvdlhHNWxlSEJ2Y25RZ1puVnVZM1JwYjI0Z2RHRjFVbUZ1WkVsdWRDaHVPaUJ1ZFcxaVpYSXNJSEpoYm1SdmJUb2dVbUZ1Wkc5dFJtNHBJSHRjYmlBZ2NtVjBkWEp1SUUxaGRHZ3VabXh2YjNJb2NtRnVaRzl0S0NrZ0tpQnVLVHRjYm4xY2JseHVMeW9xWEc0Z0tpQlRhVzF3YkdVZ2NtRnVaRzl0SUdac2IyRjBJR1oxYm1OMGFXOXVYRzRnS2k5Y2JtVjRjRzl5ZENCbWRXNWpkR2x2YmlCMFlYVlNZVzVrS0hKaGJtUnZiVG9nVW1GdVpHOXRSbTRwSUh0Y2JpQWdjbVYwZFhKdUlISmhibVJ2YlNncE8xeHVmVnh1THlvcVhHNGdLaUJEYjIxd2RYUmxJSFJvWlNBb2MzUmhibVJoY21RZ2JESXBJRzV2Y20wZ2IyWWdZU0IyWldOMGIzSXVYRzRnS2k5Y2JtVjRjRzl5ZENCbWRXNWpkR2x2YmlCdWIzSnRLSFpsWXpvZ2JuVnRZbVZ5VzEwcElIdGNiaUFnYkdWMElISmxjM1ZzZENBOUlEQTdYRzRnSUdadmNpQW9ZMjl1YzNRZ2FYUmxiU0J2WmlCMlpXTXBYRzRnSUNBZ2NtVnpkV3gwSUNzOUlHbDBaVzBnS2lvZ01qdGNibHh1SUNCeVpYUjFjbTRnVFdGMGFDNXpjWEowS0hKbGMzVnNkQ2s3WEc1OVhHNWNiaThxS2x4dUlDb2dRM0psWVhSbGN5QmhiaUJsYlhCMGVTQmhjbkpoZVNBb1ptbHNiR1ZrSUhkcGRHZ2dkVzVrWldacGJtVmtLVnh1SUNvdlhHNWxlSEJ2Y25RZ1puVnVZM1JwYjI0Z1pXMXdkSGtvYmpvZ2JuVnRZbVZ5S1RvZ2RXNWtaV1pwYm1Wa1cxMGdlMXh1SUNCamIyNXpkQ0J2ZFhSd2RYUTZJSFZ1WkdWbWFXNWxaRnRkSUQwZ1cxMDdYRzRnSUdadmNpQW9iR1YwSUdrZ1BTQXdPeUJwSUR3Z2Jqc2dhU3NyS1Z4dUlDQWdJRzkxZEhCMWRDNXdkWE5vS0hWdVpHVm1hVzVsWkNrN1hHNWNiaUFnY21WMGRYSnVJRzkxZEhCMWREdGNibjFjYmx4dUx5b3FYRzRnS2lCRGNtVmhkR1Z6SUdGdUlHRnljbUY1SUdacGJHeGxaQ0IzYVhSb0lHbHVaR1Y0SUhaaGJIVmxjMXh1SUNvdlhHNWxlSEJ2Y25RZ1puVnVZM1JwYjI0Z2NtRnVaMlVvYmpvZ2JuVnRZbVZ5S1RvZ2JuVnRZbVZ5VzEwZ2UxeHVJQ0J5WlhSMWNtNGdaVzF3ZEhrb2Jpa3ViV0Z3S0NoZkxDQnBLU0E5UGlCcEtUdGNibjFjYmx4dUx5b3FYRzRnS2lCRGNtVmhkR1Z6SUdGdUlHRnljbUY1SUdacGJHeGxaQ0IzYVhSb0lHRWdjM0JsWTJsbWFXTWdkbUZzZFdWY2JpQXFMMXh1Wlhod2IzSjBJR1oxYm1OMGFXOXVJR1pwYkd4bFpDaHVPaUJ1ZFcxaVpYSXNJSFk2SUc1MWJXSmxjaWs2SUc1MWJXSmxjbHRkSUh0Y2JpQWdjbVYwZFhKdUlHVnRjSFI1S0c0cExtMWhjQ2dvS1NBOVBpQjJLVHRjYm4xY2JseHVMeW9xWEc0Z0tpQkRjbVZoZEdWeklHRnVJR0Z5Y21GNUlHWnBiR3hsWkNCM2FYUm9JSHBsY205elhHNGdLaTljYm1WNGNHOXlkQ0JtZFc1amRHbHZiaUI2WlhKdmN5aHVPaUJ1ZFcxaVpYSXBPaUJ1ZFcxaVpYSmJYU0I3WEc0Z0lISmxkSFZ5YmlCbWFXeHNaV1FvYml3Z01DazdYRzU5WEc1Y2JpOHFLbHh1SUNvZ1EzSmxZWFJsY3lCaGJpQmhjbkpoZVNCbWFXeHNaV1FnZDJsMGFDQnZibVZ6WEc0Z0tpOWNibVY0Y0c5eWRDQm1kVzVqZEdsdmJpQnZibVZ6S0c0NklHNTFiV0psY2lrNklHNTFiV0psY2x0ZElIdGNiaUFnY21WMGRYSnVJR1pwYkd4bFpDaHVMQ0F4S1R0Y2JuMWNibHh1THlvcVhHNGdLaUJEY21WaGRHVnpJR0Z1SUdGeWNtRjVJR1p5YjIwZ1lTQjBieUJpTENCdlppQnNaVzVuZEdnZ2JHVnVMQ0JwYm1Oc2RYTnBkbVZjYmlBcUwxeHVaWGh3YjNKMElHWjFibU4wYVc5dUlHeHBibVZoY2loaE9pQnVkVzFpWlhJc0lHSTZJRzUxYldKbGNpd2diR1Z1T2lCdWRXMWlaWElwT2lCdWRXMWlaWEpiWFNCN1hHNGdJSEpsZEhWeWJpQmxiWEIwZVNoc1pXNHBMbTFoY0Nnb1h5d2dhU2tnUFQ0Z2UxeHVJQ0FnSUhKbGRIVnliaUJoSUNzZ2FTQXFJQ2dvWWlBdElHRXBJQzhnS0d4bGJpQXRJREVwS1R0Y2JpQWdmU2s3WEc1OVhHNWNiaThxS2x4dUlDb2dVbVYwZFhKdWN5QjBhR1VnYzNWdElHOW1JR0Z1SUdGeWNtRjVYRzRnS2k5Y2JtVjRjRzl5ZENCbWRXNWpkR2x2YmlCemRXMG9hVzV3ZFhRNklHNTFiV0psY2x0ZEtUb2diblZ0WW1WeUlIdGNiaUFnY21WMGRYSnVJR2x1Y0hWMExuSmxaSFZqWlNnb2MzVnRMQ0IyWVd3cElEMCtJSE4xYlNBcklIWmhiQ2s3WEc1OVhHNWNiaThxS2x4dUlDb2dVbVYwZFhKdWN5QjBhR1VnYldWaGJpQnZaaUJoYmlCaGNuSmhlVnh1SUNvdlhHNWxlSEJ2Y25RZ1puVnVZM1JwYjI0Z2JXVmhiaWhwYm5CMWREb2diblZ0WW1WeVcxMHBPaUJ1ZFcxaVpYSWdlMXh1SUNCeVpYUjFjbTRnYzNWdEtHbHVjSFYwS1NBdklHbHVjSFYwTG14bGJtZDBhRHRjYm4xY2JseHVMeW9xWEc0Z0tpQlNaWFIxY201eklIUm9aU0J0WVhocGJYVnRJSFpoYkhWbElHOW1JR0Z1SUdGeWNtRjVYRzRnS2k5Y2JtVjRjRzl5ZENCbWRXNWpkR2x2YmlCdFlYZ29hVzV3ZFhRNklHNTFiV0psY2x0ZEtUb2diblZ0WW1WeUlIdGNiaUFnYkdWMElHMWhlQ0E5SURBN1hHNGdJR1p2Y2lBb2JHVjBJR2tnUFNBd095QnBJRHdnYVc1d2RYUXViR1Z1WjNSb095QnBLeXNwWEc0Z0lDQWdiV0Y0SUQwZ2FXNXdkWFJiYVYwZ1BpQnRZWGdnUHlCcGJuQjFkRnRwWFNBNklHMWhlRHRjYmx4dUlDQnlaWFIxY200Z2JXRjRPMXh1ZlZ4dVhHNHZLaXBjYmlBcUlGSmxkSFZ5Ym5NZ2RHaGxJRzFoZUdsdGRXMGdkbUZzZFdVZ2IyWWdZU0F5WkNCaGNuSmhlVnh1SUNvdlhHNWxlSEJ2Y25RZ1puVnVZM1JwYjI0Z2JXRjRNbVFvYVc1d2RYUTZJRzUxYldKbGNsdGRXMTBwT2lCdWRXMWlaWElnZTF4dUlDQnNaWFFnYldGNElEMGdNRHRjYmlBZ1ptOXlJQ2hzWlhRZ2FTQTlJREE3SUdrZ1BDQnBibkIxZEM1c1pXNW5kR2c3SUdrckt5a2dlMXh1SUNBZ0lHWnZjaUFvYkdWMElHb2dQU0F3T3lCcUlEd2dhVzV3ZFhSYmFWMHViR1Z1WjNSb095QnFLeXNwWEc0Z0lDQWdJQ0J0WVhnZ1BTQnBibkIxZEZ0cFhWdHFYU0ErSUcxaGVDQS9JR2x1Y0hWMFcybGRXMnBkSURvZ2JXRjRPMXh1SUNCOVhHNGdJSEpsZEhWeWJpQnRZWGc3WEc1OVhHNWNiaThxS2x4dUlDb2dSMlZ1WlhKaGRHVWdibE5oYlhCc1pYTWdiV0Z1ZVNCcGJuUmxaMlZ5Y3lCbWNtOXRJREFnZEc4Z2NHOXZiRk5wZW1VZ2MzVmphQ0IwYUdGMElHNXZYRzRnS2lCcGJuUmxaMlZ5SUdseklITmxiR1ZqZEdWa0lIUjNhV05sTGlCVWFHVWdaSFZ3YkdsallYUnBiMjRnWTI5dWMzUnlZV2x1ZENCcGN5QmhZMmhwWlhabFpDQjJhV0ZjYmlBcUlISmxhbVZqZEdsdmJpQnpZVzF3YkdsdVp5NWNiaUFxTDF4dVpYaHdiM0owSUdaMWJtTjBhVzl1SUhKbGFtVmpkR2x2YmxOaGJYQnNaU2hjYmlBZ2JsTmhiWEJzWlhNNklHNTFiV0psY2l4Y2JpQWdjRzl2YkZOcGVtVTZJRzUxYldKbGNpeGNiaUFnY21GdVpHOXRPaUJTWVc1a2IyMUdibHh1S1RvZ2JuVnRZbVZ5VzEwZ2UxeHVJQ0JqYjI1emRDQnlaWE4xYkhRZ1BTQjZaWEp2Y3lodVUyRnRjR3hsY3lrN1hHNGdJR1p2Y2lBb2JHVjBJR2tnUFNBd095QnBJRHdnYmxOaGJYQnNaWE03SUdrckt5a2dlMXh1SUNBZ0lHeGxkQ0J5WldwbFkzUlRZVzF3YkdVZ1BTQjBjblZsTzF4dUlDQWdJSGRvYVd4bElDaHlaV3BsWTNSVFlXMXdiR1VwSUh0Y2JpQWdJQ0FnSUdOdmJuTjBJR29nUFNCMFlYVlNZVzVrU1c1MEtIQnZiMnhUYVhwbExDQnlZVzVrYjIwcE8xeHVJQ0FnSUNBZ2JHVjBJR0p5YjJ0bGJpQTlJR1poYkhObE8xeHVJQ0FnSUNBZ1ptOXlJQ2hzWlhRZ2F5QTlJREE3SUdzZ1BDQnBPeUJyS3lzcElIdGNiaUFnSUNBZ0lDQWdhV1lnS0dvZ1BUMDlJSEpsYzNWc2RGdHJYU2tnZTF4dUlDQWdJQ0FnSUNBZ0lHSnliMnRsYmlBOUlIUnlkV1U3WEc0Z0lDQWdJQ0FnSUNBZ1luSmxZV3M3WEc0Z0lDQWdJQ0FnSUgxY2JpQWdJQ0FnSUgxY2JpQWdJQ0FnSUdsbUlDZ2hZbkp2YTJWdUtWeHVJQ0FnSUNBZ0lDQnlaV3BsWTNSVFlXMXdiR1VnUFNCbVlXeHpaVHRjYmx4dUlDQWdJQ0FnY21WemRXeDBXMmxkSUQwZ2FqdGNiaUFnSUNCOVhHNGdJSDFjYmlBZ2NtVjBkWEp1SUhKbGMzVnNkRHRjYm4xY2JseHVMeW9xWEc0Z0tpQlNaWE5vWVhCbGN5QmhJREZrSUdGeWNtRjVJR2x1ZEc4Z1lTQXlSQ0J2WmlCbmFYWmxiaUJrYVcxbGJuTnBiMjV6TGx4dUlDb3ZYRzVsZUhCdmNuUWdablZ1WTNScGIyNGdjbVZ6YUdGd1pUSmtQRlErS0hnNklGUmJYU3dnWVRvZ2JuVnRZbVZ5TENCaU9pQnVkVzFpWlhJcE9pQlVXMTFiWFNCN1hHNGdJR052Ym5OMElISnZkM002SUZSYlhWdGRJRDBnVzEwN1hHNGdJQzh2SUd4bGRDQmpiM1Z1ZENBOUlEQTdYRzRnSUd4bGRDQnBibVJsZUNBOUlEQTdYRzVjYmlBZ2FXWWdLSGd1YkdWdVozUm9JQ0U5UFNCaElDb2dZaWxjYmlBZ0lDQjBhSEp2ZHlCdVpYY2dSWEp5YjNJb0owRnljbUY1SUdScGJXVnVjMmx2Ym5NZ2JYVnpkQ0J0WVhSamFDQnBibkIxZENCc1pXNW5kR2d1SnlrN1hHNWNibHh1SUNCbWIzSWdLR3hsZENCcElEMGdNRHNnYVNBOElHRTdJR2tyS3lrZ2UxeHVJQ0FnSUdOdmJuTjBJR052YkRvZ1ZGdGRJRDBnVzEwN1hHNGdJQ0FnWm05eUlDaHNaWFFnYWlBOUlEQTdJR29nUENCaU95QnFLeXNwSUh0Y2JpQWdJQ0FnSUdOdmJDNXdkWE5vS0hoYmFXNWtaWGhkS1R0Y2JpQWdJQ0FnSUdsdVpHVjRJQ3M5SURFN1hHNGdJQ0FnZlZ4dUlDQWdJSEp2ZDNNdWNIVnphQ2hqYjJ3cE8xeHVJQ0FnSUM4dklHTnZkVzUwSUNzOUlERTdYRzRnSUgxY2JpQWdjbVYwZFhKdUlISnZkM003WEc1OVhHNGlYWDA9IiwiLyoqXG4gKiBAbGljZW5zZVxuICpcbiAqIENvcHlyaWdodCAyMDE5IEdvb2dsZSBMTEMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gKi9cbmltcG9ydCAqIGFzIHV0aWxzIGZyb20gJy4vdXRpbHMnO1xuLyoqXG4gKiAgQ29uc3RydWN0b3IgZm9yIHRoZSBoZWFwIG9iamVjdHMuIFRoZSBoZWFwcyBhcmUgdXNlZFxuICogZm9yIGFwcHJveGltYXRlIG5lYXJlc3QgbmVpZ2hib3Igc2VhcmNoLCBtYWludGFpbmluZyBhIGxpc3Qgb2YgcG90ZW50aWFsXG4gKiBuZWlnaGJvcnMgc29ydGVkIGJ5IHRoZWlyIGRpc3RhbmNlLiBXZSBhbHNvIGZsYWcgaWYgcG90ZW50aWFsIG5laWdoYm9yc1xuICogYXJlIG5ld2x5IGFkZGVkIHRvIHRoZSBsaXN0IG9yIG5vdC4gSW50ZXJuYWxseSB0aGlzIGlzIHN0b3JlZCBhc1xuICogYSBzaW5nbGUgYXJyYXk7IHRoZSBmaXJzdCBheGlzIGRldGVybWluZXMgd2hldGhlciB3ZSBhcmUgbG9va2luZyBhdCB0aGVcbiAqIGFycmF5IG9mIGNhbmRpZGF0ZSBpbmRpY2VzLCB0aGUgYXJyYXkgb2YgZGlzdGFuY2VzLCBvciB0aGUgZmxhZyBhcnJheSBmb3JcbiAqIHdoZXRoZXIgZWxlbWVudHMgYXJlIG5ldyBvciBub3QuIEVhY2ggb2YgdGhlc2UgYXJyYXlzIGFyZSBvZiBzaGFwZVxuICogKGBgblBvaW50c2BgLCBgYHNpemVgYClcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIG1ha2VIZWFwKG5Qb2ludHMsIHNpemUpIHtcbiAgICBjb25zdCBtYWtlQXJyYXlzID0gKGZpbGxWYWx1ZSkgPT4ge1xuICAgICAgICByZXR1cm4gdXRpbHMuZW1wdHkoblBvaW50cykubWFwKCgpID0+IHtcbiAgICAgICAgICAgIHJldHVybiB1dGlscy5maWxsZWQoc2l6ZSwgZmlsbFZhbHVlKTtcbiAgICAgICAgfSk7XG4gICAgfTtcbiAgICBjb25zdCBoZWFwID0gW107XG4gICAgaGVhcC5wdXNoKG1ha2VBcnJheXMoLTEpKTtcbiAgICBoZWFwLnB1c2gobWFrZUFycmF5cyhJbmZpbml0eSkpO1xuICAgIGhlYXAucHVzaChtYWtlQXJyYXlzKDApKTtcbiAgICByZXR1cm4gaGVhcDtcbn1cbi8qKlxuICogR2VuZXJhdGUgbl9zYW1wbGVzIG1hbnkgaW50ZWdlcnMgZnJvbSAwIHRvIHBvb2xfc2l6ZSBzdWNoIHRoYXQgbm9cbiAqIGludGVnZXIgaXMgc2VsZWN0ZWQgdHdpY2UuIFRoZSBkdXBsaWNhdGlvbiBjb25zdHJhaW50IGlzIGFjaGlldmVkIHZpYVxuICogcmVqZWN0aW9uIHNhbXBsaW5nLlxuICovXG5leHBvcnQgZnVuY3Rpb24gcmVqZWN0aW9uU2FtcGxlKG5TYW1wbGVzLCBwb29sU2l6ZSwgcmFuZG9tKSB7XG4gICAgY29uc3QgcmVzdWx0ID0gdXRpbHMuemVyb3MoblNhbXBsZXMpO1xuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgblNhbXBsZXM7IGkrKykge1xuICAgICAgICBsZXQgcmVqZWN0U2FtcGxlID0gdHJ1ZTtcbiAgICAgICAgbGV0IGogPSAwO1xuICAgICAgICB3aGlsZSAocmVqZWN0U2FtcGxlKSB7XG4gICAgICAgICAgICBqID0gdXRpbHMudGF1UmFuZEludChwb29sU2l6ZSwgcmFuZG9tKTtcbiAgICAgICAgICAgIGxldCBicm9rZW4gPSBmYWxzZTtcbiAgICAgICAgICAgIGZvciAobGV0IGsgPSAwOyBrIDwgaTsgaysrKSB7XG4gICAgICAgICAgICAgICAgaWYgKGogPT09IHJlc3VsdFtrXSkge1xuICAgICAgICAgICAgICAgICAgICBicm9rZW4gPSB0cnVlO1xuICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoIWJyb2tlbilcbiAgICAgICAgICAgICAgICByZWplY3RTYW1wbGUgPSBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgICByZXN1bHRbaV0gPSBqO1xuICAgIH1cbiAgICByZXR1cm4gcmVzdWx0O1xufVxuLyoqXG4gKiBQdXNoIGEgbmV3IGVsZW1lbnQgb250byB0aGUgaGVhcC4gVGhlIGhlYXAgc3RvcmVzIHBvdGVudGlhbCBuZWlnaGJvcnNcbiAqIGZvciBlYWNoIGRhdGEgcG9pbnQuIFRoZSBgYHJvd2BgIHBhcmFtZXRlciBkZXRlcm1pbmVzIHdoaWNoIGRhdGEgcG9pbnQgd2VcbiAqIGFyZSBhZGRyZXNzaW5nLCB0aGUgYGB3ZWlnaHRgYCBkZXRlcm1pbmVzIHRoZSBkaXN0YW5jZSAoZm9yIGhlYXAgc29ydGluZyksXG4gKiB0aGUgYGBpbmRleGBgIGlzIHRoZSBlbGVtZW50IHRvIGFkZCwgYW5kIHRoZSBmbGFnIGRldGVybWluZXMgd2hldGhlciB0aGlzXG4gKiBpcyB0byBiZSBjb25zaWRlcmVkIGEgbmV3IGFkZGl0aW9uLlxuICovXG5leHBvcnQgZnVuY3Rpb24gaGVhcFB1c2goaGVhcCwgcm93LCB3ZWlnaHQsIGluZGV4LCBmbGFnKSB7XG4gICAgcm93ID0gTWF0aC5mbG9vcihyb3cpO1xuICAgIGNvbnN0IGluZGljZXMgPSBoZWFwWzBdW3Jvd107XG4gICAgY29uc3Qgd2VpZ2h0cyA9IGhlYXBbMV1bcm93XTtcbiAgICAvL2NvbnN0IGlzTmV3ID0gaGVhcFsyXVtyb3ddO1xuICAgIGlmICh3ZWlnaHQgPj0gd2VpZ2h0c1swXSlcbiAgICAgICAgcmV0dXJuIDA7XG4gICAgLy8gQnJlYWsgaWYgd2UgYWxyZWFkeSBoYXZlIHRoaXMgZWxlbWVudC5cbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IGluZGljZXMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgaWYgKGluZGV4ID09PSBpbmRpY2VzW2ldKVxuICAgICAgICAgICAgcmV0dXJuIDA7XG4gICAgfVxuICAgIHJldHVybiB1bmNoZWNrZWRIZWFwUHVzaChoZWFwLCByb3csIHdlaWdodCwgaW5kZXgsIGZsYWcpO1xufVxuLyoqXG4gKiBQdXNoIGEgbmV3IGVsZW1lbnQgb250byB0aGUgaGVhcC4gVGhlIGhlYXAgc3RvcmVzIHBvdGVudGlhbCBuZWlnaGJvcnNcbiAqIGZvciBlYWNoIGRhdGEgcG9pbnQuIFRoZSBgYHJvd2BgIHBhcmFtZXRlciBkZXRlcm1pbmVzIHdoaWNoIGRhdGEgcG9pbnQgd2VcbiAqIGFyZSBhZGRyZXNzaW5nLCB0aGUgYGB3ZWlnaHRgYCBkZXRlcm1pbmVzIHRoZSBkaXN0YW5jZSAoZm9yIGhlYXAgc29ydGluZyksXG4gKiB0aGUgYGBpbmRleGBgIGlzIHRoZSBlbGVtZW50IHRvIGFkZCwgYW5kIHRoZSBmbGFnIGRldGVybWluZXMgd2hldGhlciB0aGlzXG4gKiBpcyB0byBiZSBjb25zaWRlcmVkIGEgbmV3IGFkZGl0aW9uLlxuICovXG5leHBvcnQgZnVuY3Rpb24gdW5jaGVja2VkSGVhcFB1c2goaGVhcCwgcm93LCB3ZWlnaHQsIGluZGV4LCBmbGFnKSB7XG4gICAgY29uc3QgaW5kaWNlcyA9IGhlYXBbMF1bcm93XTtcbiAgICBjb25zdCB3ZWlnaHRzID0gaGVhcFsxXVtyb3ddO1xuICAgIGNvbnN0IGlzTmV3ID0gaGVhcFsyXVtyb3ddO1xuICAgIGlmICh3ZWlnaHQgPj0gd2VpZ2h0c1swXSlcbiAgICAgICAgcmV0dXJuIDA7XG4gICAgLy8gSW5zZXJ0IHZhbCBhdCBwb3NpdGlvbiB6ZXJvXG4gICAgd2VpZ2h0c1swXSA9IHdlaWdodDtcbiAgICBpbmRpY2VzWzBdID0gaW5kZXg7XG4gICAgaXNOZXdbMF0gPSBmbGFnO1xuICAgIC8vIERlc2NlbmQgdGhlIGhlYXAsIHN3YXBwaW5nIHZhbHVlcyB1bnRpbCB0aGUgbWF4IGhlYXAgY3JpdGVyaW9uIGlzIG1ldFxuICAgIGxldCBpID0gMDtcbiAgICBsZXQgaVN3YXAgPSAwO1xuICAgIHdoaWxlICh0cnVlKSB7XG4gICAgICAgIGNvbnN0IGljMSA9IDIgKiBpICsgMTtcbiAgICAgICAgY29uc3QgaWMyID0gaWMxICsgMTtcbiAgICAgICAgY29uc3QgaGVhcFNoYXBlMiA9IGhlYXBbMF1bMF0ubGVuZ3RoO1xuICAgICAgICBpZiAoaWMxID49IGhlYXBTaGFwZTIpIHtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgICAgIGVsc2UgaWYgKGljMiA+PSBoZWFwU2hhcGUyKSB7XG4gICAgICAgICAgICBpZiAod2VpZ2h0c1tpYzFdID4gd2VpZ2h0KVxuICAgICAgICAgICAgICAgIGlTd2FwID0gaWMxO1xuICAgICAgICAgICAgZWxzZVxuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgICAgIGVsc2UgaWYgKHdlaWdodHNbaWMxXSA+PSB3ZWlnaHRzW2ljMl0pIHtcbiAgICAgICAgICAgIGlmICh3ZWlnaHQgPCB3ZWlnaHRzW2ljMV0pXG4gICAgICAgICAgICAgICAgaVN3YXAgPSBpYzE7XG4gICAgICAgICAgICBlbHNlXG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICBpZiAod2VpZ2h0IDwgd2VpZ2h0c1tpYzJdKVxuICAgICAgICAgICAgICAgIGlTd2FwID0gaWMyO1xuICAgICAgICAgICAgZWxzZVxuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgICAgIHdlaWdodHNbaV0gPSB3ZWlnaHRzW2lTd2FwXTtcbiAgICAgICAgaW5kaWNlc1tpXSA9IGluZGljZXNbaVN3YXBdO1xuICAgICAgICBpc05ld1tpXSA9IGlzTmV3W2lTd2FwXTtcbiAgICAgICAgaSA9IGlTd2FwO1xuICAgIH1cbiAgICB3ZWlnaHRzW2ldID0gd2VpZ2h0O1xuICAgIGluZGljZXNbaV0gPSBpbmRleDtcbiAgICBpc05ld1tpXSA9IGZsYWc7XG4gICAgcmV0dXJuIDE7XG59XG4vKipcbiAqIEJ1aWxkIGEgaGVhcCBvZiBjYW5kaWRhdGUgbmVpZ2hib3JzIGZvciBuZWFyZXN0IG5laWdoYm9yIGRlc2NlbnQuIEZvclxuICogZWFjaCB2ZXJ0ZXggdGhlIGNhbmRpZGF0ZSBuZWlnaGJvcnMgYXJlIGFueSBjdXJyZW50IG5laWdoYm9ycywgYW5kIGFueVxuICogdmVydGljZXMgdGhhdCBoYXZlIHRoZSB2ZXJ0ZXggYXMgb25lIG9mIHRoZWlyIG5lYXJlc3QgbmVpZ2hib3JzLlxuICovXG5leHBvcnQgZnVuY3Rpb24gYnVpbGRDYW5kaWRhdGVzKGN1cnJlbnRHcmFwaCwgblZlcnRpY2VzLCBuTmVpZ2hib3JzLCBtYXhDYW5kaWRhdGVzLCByYW5kb20pIHtcbiAgICBjb25zdCBjYW5kaWRhdGVOZWlnaGJvcnMgPSBtYWtlSGVhcChuVmVydGljZXMsIG1heENhbmRpZGF0ZXMpO1xuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgblZlcnRpY2VzOyBpKyspIHtcbiAgICAgICAgZm9yIChsZXQgaiA9IDA7IGogPCBuTmVpZ2hib3JzOyBqKyspIHtcbiAgICAgICAgICAgIGlmIChjdXJyZW50R3JhcGhbMF1baV1bal0gPCAwKVxuICAgICAgICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICAgICAgY29uc3QgaWR4ID0gY3VycmVudEdyYXBoWzBdW2ldW2pdO1xuICAgICAgICAgICAgY29uc3QgaXNuID0gY3VycmVudEdyYXBoWzJdW2ldW2pdO1xuICAgICAgICAgICAgY29uc3QgZCA9IHV0aWxzLnRhdVJhbmQocmFuZG9tKTtcbiAgICAgICAgICAgIGhlYXBQdXNoKGNhbmRpZGF0ZU5laWdoYm9ycywgaSwgZCwgaWR4LCBpc24pO1xuICAgICAgICAgICAgaGVhcFB1c2goY2FuZGlkYXRlTmVpZ2hib3JzLCBpZHgsIGQsIGksIGlzbik7XG4gICAgICAgICAgICBjdXJyZW50R3JhcGhbMl1baV1bal0gPSAwO1xuICAgICAgICB9XG4gICAgfVxuICAgIHJldHVybiBjYW5kaWRhdGVOZWlnaGJvcnM7XG59XG4vKipcbiAqIEdpdmVuIGFuIGFycmF5IG9mIGhlYXBzIChvZiBpbmRpY2VzIGFuZCB3ZWlnaHRzKSwgdW5wYWNrIHRoZSBoZWFwXG4gKiBvdXQgdG8gZ2l2ZSBhbmQgYXJyYXkgb2Ygc29ydGVkIGxpc3RzIG9mIGluZGljZXMgYW5kIHdlaWdodHMgYnkgaW5jcmVhc2luZ1xuICogd2VpZ2h0LiBUaGlzIGlzIGVmZmVjdGl2ZWx5IGp1c3QgdGhlIHNlY29uZCBoYWxmIG9mIGhlYXAgc29ydCAodGhlIGZpcnN0XG4gKiBoYWxmIG5vdCBiZWluZyByZXF1aXJlZCBzaW5jZSB3ZSBhbHJlYWR5IGhhdmUgdGhlIGRhdGEgaW4gYSBoZWFwKS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGRlaGVhcFNvcnQoaGVhcCkge1xuICAgIGNvbnN0IGluZGljZXMgPSBoZWFwWzBdO1xuICAgIGNvbnN0IHdlaWdodHMgPSBoZWFwWzFdO1xuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgaW5kaWNlcy5sZW5ndGg7IGkrKykge1xuICAgICAgICBjb25zdCBpbmRIZWFwID0gaW5kaWNlc1tpXTtcbiAgICAgICAgY29uc3QgZGlzdEhlYXAgPSB3ZWlnaHRzW2ldO1xuICAgICAgICBmb3IgKGxldCBqID0gMDsgaiA8IGluZEhlYXAubGVuZ3RoIC0gMTsgaisrKSB7XG4gICAgICAgICAgICBjb25zdCBpbmRIZWFwSW5kZXggPSBpbmRIZWFwLmxlbmd0aCAtIGogLSAxO1xuICAgICAgICAgICAgY29uc3QgZGlzdEhlYXBJbmRleCA9IGRpc3RIZWFwLmxlbmd0aCAtIGogLSAxO1xuICAgICAgICAgICAgY29uc3QgdGVtcDEgPSBpbmRIZWFwWzBdO1xuICAgICAgICAgICAgaW5kSGVhcFswXSA9IGluZEhlYXBbaW5kSGVhcEluZGV4XTtcbiAgICAgICAgICAgIGluZEhlYXBbaW5kSGVhcEluZGV4XSA9IHRlbXAxO1xuICAgICAgICAgICAgY29uc3QgdGVtcDIgPSBkaXN0SGVhcFswXTtcbiAgICAgICAgICAgIGRpc3RIZWFwWzBdID0gZGlzdEhlYXBbZGlzdEhlYXBJbmRleF07XG4gICAgICAgICAgICBkaXN0SGVhcFtkaXN0SGVhcEluZGV4XSA9IHRlbXAyO1xuICAgICAgICAgICAgc2lmdERvd24oZGlzdEhlYXAsIGluZEhlYXAsIGRpc3RIZWFwSW5kZXgsIDApO1xuICAgICAgICB9XG4gICAgfVxuICAgIHJldHVybiB7IGluZGljZXMsIHdlaWdodHMgfTtcbn1cbi8qKlxuICogUmVzdG9yZSB0aGUgaGVhcCBwcm9wZXJ0eSBmb3IgYSBoZWFwIHdpdGggYW4gb3V0IG9mIHBsYWNlIGVsZW1lbnRcbiAqIGF0IHBvc2l0aW9uIGBgZWx0YGAuIFRoaXMgd29ya3Mgd2l0aCBhIGhlYXAgcGFpciB3aGVyZSBoZWFwMSBjYXJyaWVzXG4gKiB0aGUgd2VpZ2h0cyBhbmQgaGVhcDIgaG9sZHMgdGhlIGNvcnJlc3BvbmRpbmcgZWxlbWVudHMuXG4gKi9cbmZ1bmN0aW9uIHNpZnREb3duKGhlYXAxLCBoZWFwMiwgY2VpbGluZywgZWx0KSB7XG4gICAgd2hpbGUgKGVsdCAqIDIgKyAxIDwgY2VpbGluZykge1xuICAgICAgICBjb25zdCBsZWZ0Q2hpbGQgPSBlbHQgKiAyICsgMTtcbiAgICAgICAgY29uc3QgcmlnaHRDaGlsZCA9IGxlZnRDaGlsZCArIDE7XG4gICAgICAgIGxldCBzd2FwID0gZWx0O1xuICAgICAgICBpZiAoaGVhcDFbc3dhcF0gPCBoZWFwMVtsZWZ0Q2hpbGRdKVxuICAgICAgICAgICAgc3dhcCA9IGxlZnRDaGlsZDtcbiAgICAgICAgaWYgKHJpZ2h0Q2hpbGQgPCBjZWlsaW5nICYmIGhlYXAxW3N3YXBdIDwgaGVhcDFbcmlnaHRDaGlsZF0pXG4gICAgICAgICAgICBzd2FwID0gcmlnaHRDaGlsZDtcbiAgICAgICAgaWYgKHN3YXAgPT09IGVsdCkge1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICBjb25zdCB0ZW1wMSA9IGhlYXAxW2VsdF07XG4gICAgICAgICAgICBoZWFwMVtlbHRdID0gaGVhcDFbc3dhcF07XG4gICAgICAgICAgICBoZWFwMVtzd2FwXSA9IHRlbXAxO1xuICAgICAgICAgICAgY29uc3QgdGVtcDIgPSBoZWFwMltlbHRdO1xuICAgICAgICAgICAgaGVhcDJbZWx0XSA9IGhlYXAyW3N3YXBdO1xuICAgICAgICAgICAgaGVhcDJbc3dhcF0gPSB0ZW1wMjtcbiAgICAgICAgICAgIGVsdCA9IHN3YXA7XG4gICAgICAgIH1cbiAgICB9XG59XG4vKipcbiAqIFNlYXJjaCB0aGUgaGVhcCBmb3IgdGhlIHNtYWxsZXN0IGVsZW1lbnQgdGhhdCBpcyBzdGlsbCBmbGFnZ2VkLlxuICovXG5leHBvcnQgZnVuY3Rpb24gc21hbGxlc3RGbGFnZ2VkKGhlYXAsIHJvdykge1xuICAgIGNvbnN0IGluZCA9IGhlYXBbMF1bcm93XTtcbiAgICBjb25zdCBkaXN0ID0gaGVhcFsxXVtyb3ddO1xuICAgIGNvbnN0IGZsYWcgPSBoZWFwWzJdW3Jvd107XG4gICAgbGV0IG1pbkRpc3QgPSBJbmZpbml0eTtcbiAgICBsZXQgcmVzdWx0SW5kZXggPSAtMTtcbiAgICBmb3IgKGxldCBpID0gMDsgaSA+IGluZC5sZW5ndGg7IGkrKykge1xuICAgICAgICBpZiAoZmxhZ1tpXSA9PT0gMSAmJiBkaXN0W2ldIDwgbWluRGlzdCkge1xuICAgICAgICAgICAgbWluRGlzdCA9IGRpc3RbaV07XG4gICAgICAgICAgICByZXN1bHRJbmRleCA9IGk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgaWYgKHJlc3VsdEluZGV4ID49IDApIHtcbiAgICAgICAgZmxhZ1tyZXN1bHRJbmRleF0gPSAwO1xuICAgICAgICByZXR1cm4gTWF0aC5mbG9vcihpbmRbcmVzdWx0SW5kZXhdKTtcbiAgICB9XG4gICAgZWxzZSB7XG4gICAgICAgIHJldHVybiAtMTtcbiAgICB9XG59XG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0ptYVd4bElqb2lhR1ZoY0M1cWN5SXNJbk52ZFhKalpWSnZiM1FpT2lJaUxDSnpiM1Z5WTJWeklqcGJJbWhsWVhBdWRITWlYU3dpYm1GdFpYTWlPbHRkTENKdFlYQndhVzVuY3lJNklrRkJRVUU3T3pzN096czdPenM3T3pzN096czdPMGRCYVVKSE8wRkJNa05JTEU5QlFVOHNTMEZCU3l4TFFVRkxMRTFCUVUwc1UwRkJVeXhEUVVGRE8wRkJTV3BET3pzN096czdPenM3UjBGVFJ6dEJRVU5JTEUxQlFVMHNWVUZCVlN4UlFVRlJMRU5CUVVNc1QwRkJaU3hGUVVGRkxFbEJRVms3U1VGRGNFUXNUVUZCVFN4VlFVRlZMRWRCUVVjc1EwRkJReXhUUVVGcFFpeEZRVUZGTEVWQlFVVTdVVUZEZGtNc1QwRkJUeXhMUVVGTExFTkJRVU1zUzBGQlN5eERRVUZETEU5QlFVOHNRMEZCUXl4RFFVRkRMRWRCUVVjc1EwRkJReXhIUVVGSExFVkJRVVU3V1VGRGJrTXNUMEZCVHl4TFFVRkxMRU5CUVVNc1RVRkJUU3hEUVVGRExFbEJRVWtzUlVGQlJTeFRRVUZUTEVOQlFVTXNRMEZCUXp0UlFVTjJReXhEUVVGRExFTkJRVU1zUTBGQlF6dEpRVU5NTEVOQlFVTXNRMEZCUXp0SlFVVkdMRTFCUVUwc1NVRkJTU3hIUVVGVExFVkJRVVVzUTBGQlF6dEpRVU4wUWl4SlFVRkpMRU5CUVVNc1NVRkJTU3hEUVVGRExGVkJRVlVzUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNN1NVRkRNVUlzU1VGQlNTeERRVUZETEVsQlFVa3NRMEZCUXl4VlFVRlZMRU5CUVVNc1VVRkJVU3hEUVVGRExFTkJRVU1zUTBGQlF6dEpRVU5vUXl4SlFVRkpMRU5CUVVNc1NVRkJTU3hEUVVGRExGVkJRVlVzUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRPMGxCUTNwQ0xFOUJRVThzU1VGQlNTeERRVUZETzBGQlEyUXNRMEZCUXp0QlFVVkVPenM3TzBkQlNVYzdRVUZEU0N4TlFVRk5MRlZCUVZVc1pVRkJaU3hEUVVNM1FpeFJRVUZuUWl4RlFVTm9RaXhSUVVGblFpeEZRVU5vUWl4TlFVRm5RanRKUVVWb1FpeE5RVUZOTEUxQlFVMHNSMEZCUnl4TFFVRkxMRU5CUVVNc1MwRkJTeXhEUVVGRExGRkJRVkVzUTBGQlF5eERRVUZETzBsQlEzSkRMRXRCUVVzc1NVRkJTU3hEUVVGRExFZEJRVWNzUTBGQlF5eEZRVUZGTEVOQlFVTXNSMEZCUnl4UlFVRlJMRVZCUVVVc1EwRkJReXhGUVVGRkxFVkJRVVU3VVVGRGFrTXNTVUZCU1N4WlFVRlpMRWRCUVVjc1NVRkJTU3hEUVVGRE8xRkJRM2hDTEVsQlFVa3NRMEZCUXl4SFFVRkhMRU5CUVVNc1EwRkJRenRSUVVOV0xFOUJRVThzV1VGQldTeEZRVUZGTzFsQlEyNUNMRU5CUVVNc1IwRkJSeXhMUVVGTExFTkJRVU1zVlVGQlZTeERRVUZETEZGQlFWRXNSVUZCUlN4TlFVRk5MRU5CUVVNc1EwRkJRenRaUVVOMlF5eEpRVUZKTEUxQlFVMHNSMEZCUnl4TFFVRkxMRU5CUVVNN1dVRkRia0lzUzBGQlN5eEpRVUZKTEVOQlFVTXNSMEZCUnl4RFFVRkRMRVZCUVVVc1EwRkJReXhIUVVGSExFTkJRVU1zUlVGQlJTeERRVUZETEVWQlFVVXNSVUZCUlR0blFrRkRNVUlzU1VGQlNTeERRVUZETEV0QlFVc3NUVUZCVFN4RFFVRkRMRU5CUVVNc1EwRkJReXhGUVVGRk8yOUNRVU51UWl4TlFVRk5MRWRCUVVjc1NVRkJTU3hEUVVGRE8yOUNRVU5rTEUxQlFVMDdhVUpCUTFBN1lVRkRSanRaUVVORUxFbEJRVWtzUTBGQlF5eE5RVUZOTzJkQ1FVRkZMRmxCUVZrc1IwRkJSeXhMUVVGTExFTkJRVU03VTBGRGJrTTdVVUZEUkN4TlFVRk5MRU5CUVVNc1EwRkJReXhEUVVGRExFZEJRVWNzUTBGQlF5eERRVUZETzB0QlEyWTdTVUZEUkN4UFFVRlBMRTFCUVUwc1EwRkJRenRCUVVOb1FpeERRVUZETzBGQlJVUTdPenM3T3p0SFFVMUhPMEZCUTBnc1RVRkJUU3hWUVVGVkxGRkJRVkVzUTBGRGRFSXNTVUZCVlN4RlFVTldMRWRCUVZjc1JVRkRXQ3hOUVVGakxFVkJRMlFzUzBGQllTeEZRVU5pTEVsQlFWazdTVUZGV2l4SFFVRkhMRWRCUVVjc1NVRkJTU3hEUVVGRExFdEJRVXNzUTBGQlF5eEhRVUZITEVOQlFVTXNRMEZCUXp0SlFVTjBRaXhOUVVGTkxFOUJRVThzUjBGQlJ5eEpRVUZKTEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNc1IwRkJSeXhEUVVGRExFTkJRVU03U1VGRE4wSXNUVUZCVFN4UFFVRlBMRWRCUVVjc1NVRkJTU3hEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETEVkQlFVY3NRMEZCUXl4RFFVRkRPMGxCUXpkQ0xEWkNRVUUyUWp0SlFVVTNRaXhKUVVGSkxFMUJRVTBzU1VGQlNTeFBRVUZQTEVOQlFVTXNRMEZCUXl4RFFVRkRPMUZCUTNSQ0xFOUJRVThzUTBGQlF5eERRVUZETzBsQlIxZ3NlVU5CUVhsRE8wbEJRM3BETEV0QlFVc3NTVUZCU1N4RFFVRkRMRWRCUVVjc1EwRkJReXhGUVVGRkxFTkJRVU1zUjBGQlJ5eFBRVUZQTEVOQlFVTXNUVUZCVFN4RlFVRkZMRU5CUVVNc1JVRkJSU3hGUVVGRk8xRkJRM1pETEVsQlFVa3NTMEZCU3l4TFFVRkxMRTlCUVU4c1EwRkJReXhEUVVGRExFTkJRVU03V1VGRGRFSXNUMEZCVHl4RFFVRkRMRU5CUVVNN1MwRkRXanRKUVVWRUxFOUJRVThzYVVKQlFXbENMRU5CUVVNc1NVRkJTU3hGUVVGRkxFZEJRVWNzUlVGQlJTeE5RVUZOTEVWQlFVVXNTMEZCU3l4RlFVRkZMRWxCUVVrc1EwRkJReXhEUVVGRE8wRkJRek5FTEVOQlFVTTdRVUZGUkRzN096czdPMGRCVFVjN1FVRkRTQ3hOUVVGTkxGVkJRVlVzYVVKQlFXbENMRU5CUXk5Q0xFbEJRVlVzUlVGRFZpeEhRVUZYTEVWQlExZ3NUVUZCWXl4RlFVTmtMRXRCUVdFc1JVRkRZaXhKUVVGWk8wbEJSVm9zVFVGQlRTeFBRVUZQTEVkQlFVY3NTVUZCU1N4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRExFZEJRVWNzUTBGQlF5eERRVUZETzBsQlF6ZENMRTFCUVUwc1QwRkJUeXhIUVVGSExFbEJRVWtzUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXl4SFFVRkhMRU5CUVVNc1EwRkJRenRKUVVNM1FpeE5RVUZOTEV0QlFVc3NSMEZCUnl4SlFVRkpMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU1zUjBGQlJ5eERRVUZETEVOQlFVTTdTVUZGTTBJc1NVRkJTU3hOUVVGTkxFbEJRVWtzVDBGQlR5eERRVUZETEVOQlFVTXNRMEZCUXp0UlFVTjBRaXhQUVVGUExFTkJRVU1zUTBGQlF6dEpRVWRZTERoQ1FVRTRRanRKUVVNNVFpeFBRVUZQTEVOQlFVTXNRMEZCUXl4RFFVRkRMRWRCUVVjc1RVRkJUU3hEUVVGRE8wbEJRM0JDTEU5QlFVOHNRMEZCUXl4RFFVRkRMRU5CUVVNc1IwRkJSeXhMUVVGTExFTkJRVU03U1VGRGJrSXNTMEZCU3l4RFFVRkRMRU5CUVVNc1EwRkJReXhIUVVGSExFbEJRVWtzUTBGQlF6dEpRVVZvUWl4M1JVRkJkMFU3U1VGRGVFVXNTVUZCU1N4RFFVRkRMRWRCUVVjc1EwRkJReXhEUVVGRE8wbEJRMVlzU1VGQlNTeExRVUZMTEVkQlFVY3NRMEZCUXl4RFFVRkRPMGxCUTJRc1QwRkJUeXhKUVVGSkxFVkJRVVU3VVVGRFdDeE5RVUZOTEVkQlFVY3NSMEZCUnl4RFFVRkRMRWRCUVVjc1EwRkJReXhIUVVGSExFTkJRVU1zUTBGQlF6dFJRVU4wUWl4TlFVRk5MRWRCUVVjc1IwRkJSeXhIUVVGSExFZEJRVWNzUTBGQlF5eERRVUZETzFGQlJYQkNMRTFCUVUwc1ZVRkJWU3hIUVVGSExFbEJRVWtzUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJReXhOUVVGTkxFTkJRVU03VVVGRGNrTXNTVUZCU1N4SFFVRkhMRWxCUVVrc1ZVRkJWU3hGUVVGRk8xbEJRM0pDTEUxQlFVMDdVMEZEVUR0aFFVRk5MRWxCUVVrc1IwRkJSeXhKUVVGSkxGVkJRVlVzUlVGQlJUdFpRVU0xUWl4SlFVRkpMRTlCUVU4c1EwRkJReXhIUVVGSExFTkJRVU1zUjBGQlJ5eE5RVUZOTzJkQ1FVTjJRaXhMUVVGTExFZEJRVWNzUjBGQlJ5eERRVUZET3p0blFrRkZXaXhOUVVGTk8xTkJRMVE3WVVGQlRTeEpRVUZKTEU5QlFVOHNRMEZCUXl4SFFVRkhMRU5CUVVNc1NVRkJTU3hQUVVGUExFTkJRVU1zUjBGQlJ5eERRVUZETEVWQlFVVTdXVUZEZGtNc1NVRkJTU3hOUVVGTkxFZEJRVWNzVDBGQlR5eERRVUZETEVkQlFVY3NRMEZCUXp0blFrRkRka0lzUzBGQlN5eEhRVUZITEVkQlFVY3NRMEZCUXpzN1owSkJSVm9zVFVGQlRUdFRRVU5VTzJGQlFVMDdXVUZEVEN4SlFVRkpMRTFCUVUwc1IwRkJSeXhQUVVGUExFTkJRVU1zUjBGQlJ5eERRVUZETzJkQ1FVTjJRaXhMUVVGTExFZEJRVWNzUjBGQlJ5eERRVUZET3p0blFrRkZXaXhOUVVGTk8xTkJRMVE3VVVGRlJDeFBRVUZQTEVOQlFVTXNRMEZCUXl4RFFVRkRMRWRCUVVjc1QwRkJUeXhEUVVGRExFdEJRVXNzUTBGQlF5eERRVUZETzFGQlF6VkNMRTlCUVU4c1EwRkJReXhEUVVGRExFTkJRVU1zUjBGQlJ5eFBRVUZQTEVOQlFVTXNTMEZCU3l4RFFVRkRMRU5CUVVNN1VVRkROVUlzUzBGQlN5eERRVUZETEVOQlFVTXNRMEZCUXl4SFFVRkhMRXRCUVVzc1EwRkJReXhMUVVGTExFTkJRVU1zUTBGQlF6dFJRVVY0UWl4RFFVRkRMRWRCUVVjc1MwRkJTeXhEUVVGRE8wdEJRMWc3U1VGRlJDeFBRVUZQTEVOQlFVTXNRMEZCUXl4RFFVRkRMRWRCUVVjc1RVRkJUU3hEUVVGRE8wbEJRM0JDTEU5QlFVOHNRMEZCUXl4RFFVRkRMRU5CUVVNc1IwRkJSeXhMUVVGTExFTkJRVU03U1VGRGJrSXNTMEZCU3l4RFFVRkRMRU5CUVVNc1EwRkJReXhIUVVGSExFbEJRVWtzUTBGQlF6dEpRVU5vUWl4UFFVRlBMRU5CUVVNc1EwRkJRenRCUVVOWUxFTkJRVU03UVVGRlJEczdPenRIUVVsSE8wRkJRMGdzVFVGQlRTeFZRVUZWTEdWQlFXVXNRMEZETjBJc1dVRkJhMElzUlVGRGJFSXNVMEZCYVVJc1JVRkRha0lzVlVGQmEwSXNSVUZEYkVJc1lVRkJjVUlzUlVGRGNrSXNUVUZCWjBJN1NVRkZhRUlzVFVGQlRTeHJRa0ZCYTBJc1IwRkJSeXhSUVVGUkxFTkJRVU1zVTBGQlV5eEZRVUZGTEdGQlFXRXNRMEZCUXl4RFFVRkRPMGxCUXpsRUxFdEJRVXNzU1VGQlNTeERRVUZETEVkQlFVY3NRMEZCUXl4RlFVRkZMRU5CUVVNc1IwRkJSeXhUUVVGVExFVkJRVVVzUTBGQlF5eEZRVUZGTEVWQlFVVTdVVUZEYkVNc1MwRkJTeXhKUVVGSkxFTkJRVU1zUjBGQlJ5eERRVUZETEVWQlFVVXNRMEZCUXl4SFFVRkhMRlZCUVZVc1JVRkJSU3hEUVVGRExFVkJRVVVzUlVGQlJUdFpRVU51UXl4SlFVRkpMRmxCUVZrc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNc1IwRkJSeXhEUVVGRE8yZENRVU16UWl4VFFVRlRPMWxCUlZnc1RVRkJUU3hIUVVGSExFZEJRVWNzV1VGQldTeERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETzFsQlEyeERMRTFCUVUwc1IwRkJSeXhIUVVGSExGbEJRVmtzUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF6dFpRVU5zUXl4TlFVRk5MRU5CUVVNc1IwRkJSeXhMUVVGTExFTkJRVU1zVDBGQlR5eERRVUZETEUxQlFVMHNRMEZCUXl4RFFVRkRPMWxCUTJoRExGRkJRVkVzUTBGQlF5eHJRa0ZCYTBJc1JVRkJSU3hEUVVGRExFVkJRVVVzUTBGQlF5eEZRVUZGTEVkQlFVY3NSVUZCUlN4SFFVRkhMRU5CUVVNc1EwRkJRenRaUVVNM1F5eFJRVUZSTEVOQlFVTXNhMEpCUVd0Q0xFVkJRVVVzUjBGQlJ5eEZRVUZGTEVOQlFVTXNSVUZCUlN4RFFVRkRMRVZCUVVVc1IwRkJSeXhEUVVGRExFTkJRVU03V1VGRE4wTXNXVUZCV1N4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXl4SFFVRkhMRU5CUVVNc1EwRkJRenRUUVVNelFqdExRVU5HTzBsQlEwUXNUMEZCVHl4clFrRkJhMElzUTBGQlF6dEJRVU0xUWl4RFFVRkRPMEZCUlVRN096czdPMGRCUzBjN1FVRkRTQ3hOUVVGTkxGVkJRVlVzVlVGQlZTeERRVUZETEVsQlFWVTdTVUZEYmtNc1RVRkJUU3hQUVVGUExFZEJRVWNzU1VGQlNTeERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRPMGxCUTNoQ0xFMUJRVTBzVDBGQlR5eEhRVUZITEVsQlFVa3NRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJRenRKUVVWNFFpeExRVUZMTEVsQlFVa3NRMEZCUXl4SFFVRkhMRU5CUVVNc1JVRkJSU3hEUVVGRExFZEJRVWNzVDBGQlR5eERRVUZETEUxQlFVMHNSVUZCUlN4RFFVRkRMRVZCUVVVc1JVRkJSVHRSUVVOMlF5eE5RVUZOTEU5QlFVOHNSMEZCUnl4UFFVRlBMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU03VVVGRE0wSXNUVUZCVFN4UlFVRlJMRWRCUVVjc1QwRkJUeXhEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETzFGQlJUVkNMRXRCUVVzc1NVRkJTU3hEUVVGRExFZEJRVWNzUTBGQlF5eEZRVUZGTEVOQlFVTXNSMEZCUnl4UFFVRlBMRU5CUVVNc1RVRkJUU3hIUVVGSExFTkJRVU1zUlVGQlJTeERRVUZETEVWQlFVVXNSVUZCUlR0WlFVTXpReXhOUVVGTkxGbEJRVmtzUjBGQlJ5eFBRVUZQTEVOQlFVTXNUVUZCVFN4SFFVRkhMRU5CUVVNc1IwRkJSeXhEUVVGRExFTkJRVU03V1VGRE5VTXNUVUZCVFN4aFFVRmhMRWRCUVVjc1VVRkJVU3hEUVVGRExFMUJRVTBzUjBGQlJ5eERRVUZETEVkQlFVY3NRMEZCUXl4RFFVRkRPMWxCUlRsRExFMUJRVTBzUzBGQlN5eEhRVUZITEU5QlFVOHNRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJRenRaUVVONlFpeFBRVUZQTEVOQlFVTXNRMEZCUXl4RFFVRkRMRWRCUVVjc1QwRkJUeXhEUVVGRExGbEJRVmtzUTBGQlF5eERRVUZETzFsQlEyNURMRTlCUVU4c1EwRkJReXhaUVVGWkxFTkJRVU1zUjBGQlJ5eExRVUZMTEVOQlFVTTdXVUZGT1VJc1RVRkJUU3hMUVVGTExFZEJRVWNzVVVGQlVTeERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRPMWxCUXpGQ0xGRkJRVkVzUTBGQlF5eERRVUZETEVOQlFVTXNSMEZCUnl4UlFVRlJMRU5CUVVNc1lVRkJZU3hEUVVGRExFTkJRVU03V1VGRGRFTXNVVUZCVVN4RFFVRkRMR0ZCUVdFc1EwRkJReXhIUVVGSExFdEJRVXNzUTBGQlF6dFpRVVZvUXl4UlFVRlJMRU5CUVVNc1VVRkJVU3hGUVVGRkxFOUJRVThzUlVGQlJTeGhRVUZoTEVWQlFVVXNRMEZCUXl4RFFVRkRMRU5CUVVNN1UwRkRMME03UzBGRFJqdEpRVU5FTEU5QlFVOHNSVUZCUXl4UFFVRlBMRVZCUVVVc1QwRkJUeXhGUVVGRExFTkJRVU03UVVGRE5VSXNRMEZCUXp0QlFVVkVPenM3TzBkQlNVYzdRVUZEU0N4VFFVRlRMRkZCUVZFc1EwRkRaaXhMUVVGbExFVkJRMllzUzBGQlpTeEZRVU5tTEU5QlFXVXNSVUZEWml4SFFVRlhPMGxCUlZnc1QwRkJUeXhIUVVGSExFZEJRVWNzUTBGQlF5eEhRVUZITEVOQlFVTXNSMEZCUnl4UFFVRlBMRVZCUVVVN1VVRkROVUlzVFVGQlRTeFRRVUZUTEVkQlFVY3NSMEZCUnl4SFFVRkhMRU5CUVVNc1IwRkJSeXhEUVVGRExFTkJRVU03VVVGRE9VSXNUVUZCVFN4VlFVRlZMRWRCUVVjc1UwRkJVeXhIUVVGSExFTkJRVU1zUTBGQlF6dFJRVU5xUXl4SlFVRkpMRWxCUVVrc1IwRkJSeXhIUVVGSExFTkJRVU03VVVGRlppeEpRVUZKTEV0QlFVc3NRMEZCUXl4SlFVRkpMRU5CUVVNc1IwRkJSeXhMUVVGTExFTkJRVU1zVTBGQlV5eERRVUZETzFsQlEyaERMRWxCUVVrc1IwRkJSeXhUUVVGVExFTkJRVU03VVVGRmJrSXNTVUZCU1N4VlFVRlZMRWRCUVVjc1QwRkJUeXhKUVVGSkxFdEJRVXNzUTBGQlF5eEpRVUZKTEVOQlFVTXNSMEZCUnl4TFFVRkxMRU5CUVVNc1ZVRkJWU3hEUVVGRE8xbEJRM3BFTEVsQlFVa3NSMEZCUnl4VlFVRlZMRU5CUVVNN1VVRkhjRUlzU1VGQlNTeEpRVUZKTEV0QlFVc3NSMEZCUnl4RlFVRkZPMWxCUTJoQ0xFMUJRVTA3VTBGRFVEdGhRVUZOTzFsQlEwd3NUVUZCVFN4TFFVRkxMRWRCUVVjc1MwRkJTeXhEUVVGRExFZEJRVWNzUTBGQlF5eERRVUZETzFsQlEzcENMRXRCUVVzc1EwRkJReXhIUVVGSExFTkJRVU1zUjBGQlJ5eExRVUZMTEVOQlFVTXNTVUZCU1N4RFFVRkRMRU5CUVVNN1dVRkRla0lzUzBGQlN5eERRVUZETEVsQlFVa3NRMEZCUXl4SFFVRkhMRXRCUVVzc1EwRkJRenRaUVVWd1FpeE5RVUZOTEV0QlFVc3NSMEZCUnl4TFFVRkxMRU5CUVVNc1IwRkJSeXhEUVVGRExFTkJRVU03V1VGRGVrSXNTMEZCU3l4RFFVRkRMRWRCUVVjc1EwRkJReXhIUVVGSExFdEJRVXNzUTBGQlF5eEpRVUZKTEVOQlFVTXNRMEZCUXp0WlFVTjZRaXhMUVVGTExFTkJRVU1zU1VGQlNTeERRVUZETEVkQlFVY3NTMEZCU3l4RFFVRkRPMWxCUTNCQ0xFZEJRVWNzUjBGQlJ5eEpRVUZKTEVOQlFVTTdVMEZEV2p0TFFVTkdPMEZCUTBnc1EwRkJRenRCUVVWRU96dEhRVVZITzBGQlEwZ3NUVUZCVFN4VlFVRlZMR1ZCUVdVc1EwRkJReXhKUVVGVkxFVkJRVVVzUjBGQlZ6dEpRVU55UkN4TlFVRk5MRWRCUVVjc1IwRkJSeXhKUVVGSkxFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTXNSMEZCUnl4RFFVRkRMRU5CUVVNN1NVRkRla0lzVFVGQlRTeEpRVUZKTEVkQlFVY3NTVUZCU1N4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRExFZEJRVWNzUTBGQlF5eERRVUZETzBsQlF6RkNMRTFCUVUwc1NVRkJTU3hIUVVGSExFbEJRVWtzUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXl4SFFVRkhMRU5CUVVNc1EwRkJRenRKUVVVeFFpeEpRVUZKTEU5QlFVOHNSMEZCUnl4UlFVRlJMRU5CUVVNN1NVRkRka0lzU1VGQlNTeFhRVUZYTEVkQlFVY3NRMEZCUXl4RFFVRkRMRU5CUVVNN1NVRkZja0lzUzBGQlN5eEpRVUZKTEVOQlFVTXNSMEZCUnl4RFFVRkRMRVZCUVVVc1EwRkJReXhIUVVGSExFZEJRVWNzUTBGQlF5eE5RVUZOTEVWQlFVVXNRMEZCUXl4RlFVRkZMRVZCUVVVN1VVRkRia01zU1VGQlNTeEpRVUZKTEVOQlFVTXNRMEZCUXl4RFFVRkRMRXRCUVVzc1EwRkJReXhKUVVGSkxFbEJRVWtzUTBGQlF5eERRVUZETEVOQlFVTXNSMEZCUnl4UFFVRlBMRVZCUVVVN1dVRkRkRU1zVDBGQlR5eEhRVUZITEVsQlFVa3NRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJRenRaUVVOc1FpeFhRVUZYTEVkQlFVY3NRMEZCUXl4RFFVRkRPMU5CUTJwQ08wdEJRMFk3U1VGRlJDeEpRVUZKTEZkQlFWY3NTVUZCU1N4RFFVRkRMRVZCUVVVN1VVRkRjRUlzU1VGQlNTeERRVUZETEZkQlFWY3NRMEZCUXl4SFFVRkhMRU5CUVVNc1EwRkJRenRSUVVOMFFpeFBRVUZQTEVsQlFVa3NRMEZCUXl4TFFVRkxMRU5CUVVNc1IwRkJSeXhEUVVGRExGZEJRVmNzUTBGQlF5eERRVUZETEVOQlFVTTdTMEZEY2tNN1UwRkJUVHRSUVVOTUxFOUJRVThzUTBGQlF5eERRVUZETEVOQlFVTTdTMEZEV0R0QlFVTklMRU5CUVVNaUxDSnpiM1Z5WTJWelEyOXVkR1Z1ZENJNld5SXZLaXBjYmlBcUlFQnNhV05sYm5ObFhHNGdLbHh1SUNvZ1EyOXdlWEpwWjJoMElESXdNVGtnUjI5dloyeGxJRXhNUXk0Z1FXeHNJRkpwWjJoMGN5QlNaWE5sY25abFpDNWNiaUFxWEc0Z0tpQk1hV05sYm5ObFpDQjFibVJsY2lCMGFHVWdRWEJoWTJobElFeHBZMlZ1YzJVc0lGWmxjbk5wYjI0Z01pNHdJQ2gwYUdVZ1hDSk1hV05sYm5ObFhDSXBPMXh1SUNvZ2VXOTFJRzFoZVNCdWIzUWdkWE5sSUhSb2FYTWdabWxzWlNCbGVHTmxjSFFnYVc0Z1kyOXRjR3hwWVc1alpTQjNhWFJvSUhSb1pTQk1hV05sYm5ObExseHVJQ29nV1c5MUlHMWhlU0J2WW5SaGFXNGdZU0JqYjNCNUlHOW1JSFJvWlNCTWFXTmxibk5sSUdGMFhHNGdLbHh1SUNvZ0lDQWdJR2gwZEhBNkx5OTNkM2N1WVhCaFkyaGxMbTl5Wnk5c2FXTmxibk5sY3k5TVNVTkZUbE5GTFRJdU1GeHVJQ3BjYmlBcUlGVnViR1Z6Y3lCeVpYRjFhWEpsWkNCaWVTQmhjSEJzYVdOaFlteGxJR3hoZHlCdmNpQmhaM0psWldRZ2RHOGdhVzRnZDNKcGRHbHVaeXdnYzI5bWRIZGhjbVZjYmlBcUlHUnBjM1J5YVdKMWRHVmtJSFZ1WkdWeUlIUm9aU0JNYVdObGJuTmxJR2x6SUdScGMzUnlhV0oxZEdWa0lHOXVJR0Z1SUZ3aVFWTWdTVk5jSWlCQ1FWTkpVeXhjYmlBcUlGZEpWRWhQVlZRZ1YwRlNVa0ZPVkVsRlV5QlBVaUJEVDA1RVNWUkpUMDVUSUU5R0lFRk9XU0JMU1U1RUxDQmxhWFJvWlhJZ1pYaHdjbVZ6Y3lCdmNpQnBiWEJzYVdWa0xseHVJQ29nVTJWbElIUm9aU0JNYVdObGJuTmxJR1p2Y2lCMGFHVWdjM0JsWTJsbWFXTWdiR0Z1WjNWaFoyVWdaMjkyWlhKdWFXNW5JSEJsY20xcGMzTnBiMjV6SUdGdVpGeHVJQ29nYkdsdGFYUmhkR2x2Ym5NZ2RXNWtaWElnZEdobElFeHBZMlZ1YzJVdVhHNGdLaUE5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMWNiaUFxTDF4dVhHNHZLaXBjYmlBcUlGUm9hWE1nYVhNZ1lTQktZWFpoVTJOeWFYQjBJSEpsYVcxd2JHVnRaVzUwWVhScGIyNGdiMllnVlUxQlVDQW9iM0pwWjJsdVlXd2diR2xqWlc1elpTQmlaV3h2ZHlrc0lHWnliMjFjYmlBcUlIUm9aU0J3ZVhSb2IyNGdhVzF3YkdWdFpXNTBZWFJwYjI0Z1ptOTFibVFnWVhRZ2FIUjBjSE02THk5bmFYUm9kV0l1WTI5dEwyeHRZMmx1Ym1WekwzVnRZWEF1WEc0Z0tseHVJQ29nUUdGMWRHaHZjaUJoYm1SNVkyOWxibVZ1UUdkdmIyZHNaUzVqYjIwZ0tFRnVaSGtnUTI5bGJtVnVLVnh1SUNvdlhHNWNiaThxS2x4dUlDb2dRR3hwWTJWdWMyVmNiaUFxSUVKVFJDQXpMVU5zWVhWelpTQk1hV05sYm5ObFhHNGdLbHh1SUNvZ1EyOXdlWEpwWjJoMElDaGpLU0F5TURFM0xDQk1aV3hoYm1RZ1RXTkpibTVsYzF4dUlDb2dRV3hzSUhKcFoyaDBjeUJ5WlhObGNuWmxaQzVjYmlBcVhHNGdLaUJTWldScGMzUnlhV0oxZEdsdmJpQmhibVFnZFhObElHbHVJSE52ZFhKalpTQmhibVFnWW1sdVlYSjVJR1p2Y20xekxDQjNhWFJvSUc5eUlIZHBkR2h2ZFhSY2JpQXFJRzF2WkdsbWFXTmhkR2x2Yml3Z1lYSmxJSEJsY20xcGRIUmxaQ0J3Y205MmFXUmxaQ0IwYUdGMElIUm9aU0JtYjJ4c2IzZHBibWNnWTI5dVpHbDBhVzl1Y3lCaGNtVWdiV1YwT2x4dUlDcGNiaUFxSUNvZ1VtVmthWE4wY21saWRYUnBiMjV6SUc5bUlITnZkWEpqWlNCamIyUmxJRzExYzNRZ2NtVjBZV2x1SUhSb1pTQmhZbTkyWlNCamIzQjVjbWxuYUhRZ2JtOTBhV05sTENCMGFHbHpYRzRnS2lBZ0lHeHBjM1FnYjJZZ1kyOXVaR2wwYVc5dWN5QmhibVFnZEdobElHWnZiR3h2ZDJsdVp5QmthWE5qYkdGcGJXVnlMbHh1SUNwY2JpQXFJQ29nVW1Wa2FYTjBjbWxpZFhScGIyNXpJR2x1SUdKcGJtRnllU0JtYjNKdElHMTFjM1FnY21Wd2NtOWtkV05sSUhSb1pTQmhZbTkyWlNCamIzQjVjbWxuYUhRZ2JtOTBhV05sTEZ4dUlDb2dJQ0IwYUdseklHeHBjM1FnYjJZZ1kyOXVaR2wwYVc5dWN5QmhibVFnZEdobElHWnZiR3h2ZDJsdVp5QmthWE5qYkdGcGJXVnlJR2x1SUhSb1pTQmtiMk4xYldWdWRHRjBhVzl1WEc0Z0tpQWdJR0Z1WkM5dmNpQnZkR2hsY2lCdFlYUmxjbWxoYkhNZ2NISnZkbWxrWldRZ2QybDBhQ0IwYUdVZ1pHbHpkSEpwWW5WMGFXOXVMbHh1SUNwY2JpQXFJQ29nVG1WcGRHaGxjaUIwYUdVZ2JtRnRaU0J2WmlCMGFHVWdZMjl3ZVhKcFoyaDBJR2h2YkdSbGNpQnViM0lnZEdobElHNWhiV1Z6SUc5bUlHbDBjMXh1SUNvZ0lDQmpiMjUwY21saWRYUnZjbk1nYldGNUlHSmxJSFZ6WldRZ2RHOGdaVzVrYjNKelpTQnZjaUJ3Y205dGIzUmxJSEJ5YjJSMVkzUnpJR1JsY21sMlpXUWdabkp2YlZ4dUlDb2dJQ0IwYUdseklITnZablIzWVhKbElIZHBkR2h2ZFhRZ2MzQmxZMmxtYVdNZ2NISnBiM0lnZDNKcGRIUmxiaUJ3WlhKdGFYTnphVzl1TGx4dUlDcGNiaUFxSUZSSVNWTWdVMDlHVkZkQlVrVWdTVk1nVUZKUFZrbEVSVVFnUWxrZ1ZFaEZJRU5QVUZsU1NVZElWQ0JJVDB4RVJWSlRJRUZPUkNCRFQwNVVVa2xDVlZSUFVsTWdYQ0pCVXlCSlUxd2lYRzRnS2lCQlRrUWdRVTVaSUVWWVVGSkZVMU1nVDFJZ1NVMVFURWxGUkNCWFFWSlNRVTVVU1VWVExDQkpUa05NVlVSSlRrY3NJRUpWVkNCT1QxUWdURWxOU1ZSRlJDQlVUeXdnVkVoRlhHNGdLaUJKVFZCTVNVVkVJRmRCVWxKQlRsUkpSVk1nVDBZZ1RVVlNRMGhCVGxSQlFrbE1TVlJaSUVGT1JDQkdTVlJPUlZOVElFWlBVaUJCSUZCQlVsUkpRMVZNUVZJZ1VGVlNVRTlUUlNCQlVrVmNiaUFxSUVSSlUwTk1RVWxOUlVRdUlFbE9JRTVQSUVWV1JVNVVJRk5JUVV4TUlGUklSU0JEVDFCWlVrbEhTRlFnU0U5TVJFVlNJRTlTSUVOUFRsUlNTVUpWVkU5U1V5QkNSU0JNU1VGQ1RFVmNiaUFxSUVaUFVpQkJUbGtnUkVsU1JVTlVMQ0JKVGtSSlVrVkRWQ3dnU1U1RFNVUkZUbFJCVEN3Z1UxQkZRMGxCVEN3Z1JWaEZUVkJNUVZKWkxDQlBVaUJEVDA1VFJWRlZSVTVVU1VGTVhHNGdLaUJFUVUxQlIwVlRJQ2hKVGtOTVZVUkpUa2NzSUVKVlZDQk9UMVFnVEVsTlNWUkZSQ0JVVHl3Z1VGSlBRMVZTUlUxRlRsUWdUMFlnVTFWQ1UxUkpWRlZVUlNCSFQwOUVVeUJQVWx4dUlDb2dVMFZTVmtsRFJWTTdJRXhQVTFNZ1QwWWdWVk5GTENCRVFWUkJMQ0JQVWlCUVVrOUdTVlJUT3lCUFVpQkNWVk5KVGtWVFV5QkpUbFJGVWxKVlVGUkpUMDRwSUVoUFYwVldSVkpjYmlBcUlFTkJWVk5GUkNCQlRrUWdUMDRnUVU1WklGUklSVTlTV1NCUFJpQk1TVUZDU1V4SlZGa3NJRmRJUlZSSVJWSWdTVTRnUTA5T1ZGSkJRMVFzSUZOVVVrbERWQ0JNU1VGQ1NVeEpWRmtzWEc0Z0tpQlBVaUJVVDFKVUlDaEpUa05NVlVSSlRrY2dUa1ZIVEVsSFJVNURSU0JQVWlCUFZFaEZVbGRKVTBVcElFRlNTVk5KVGtjZ1NVNGdRVTVaSUZkQldTQlBWVlFnVDBZZ1ZFaEZJRlZUUlZ4dUlDb2dUMFlnVkVoSlV5QlRUMFpVVjBGU1JTd2dSVlpGVGlCSlJpQkJSRlpKVTBWRUlFOUdJRlJJUlNCUVQxTlRTVUpKVEVsVVdTQlBSaUJUVlVOSUlFUkJUVUZIUlM1Y2JpQXFMMXh1WEc1cGJYQnZjblFnZTFKaGJtUnZiVVp1ZlNCbWNtOXRJQ2N1TDNWdFlYQW5PMXh1YVcxd2IzSjBJQ29nWVhNZ2RYUnBiSE1nWm5KdmJTQW5MaTkxZEdsc2N5YzdYRzVjYm1WNGNHOXlkQ0IwZVhCbElFaGxZWEFnUFNCdWRXMWlaWEpiWFZ0ZFcxMDdYRzVjYmk4cUtseHVJQ29nSUVOdmJuTjBjblZqZEc5eUlHWnZjaUIwYUdVZ2FHVmhjQ0J2WW1wbFkzUnpMaUJVYUdVZ2FHVmhjSE1nWVhKbElIVnpaV1JjYmlBcUlHWnZjaUJoY0hCeWIzaHBiV0YwWlNCdVpXRnlaWE4wSUc1bGFXZG9ZbTl5SUhObFlYSmphQ3dnYldGcGJuUmhhVzVwYm1jZ1lTQnNhWE4wSUc5bUlIQnZkR1Z1ZEdsaGJGeHVJQ29nYm1WcFoyaGliM0p6SUhOdmNuUmxaQ0JpZVNCMGFHVnBjaUJrYVhOMFlXNWpaUzRnVjJVZ1lXeHpieUJtYkdGbklHbG1JSEJ2ZEdWdWRHbGhiQ0J1WldsbmFHSnZjbk5jYmlBcUlHRnlaU0J1Wlhkc2VTQmhaR1JsWkNCMGJ5QjBhR1VnYkdsemRDQnZjaUJ1YjNRdUlFbHVkR1Z5Ym1Gc2JIa2dkR2hwY3lCcGN5QnpkRzl5WldRZ1lYTmNiaUFxSUdFZ2MybHVaMnhsSUdGeWNtRjVPeUIwYUdVZ1ptbHljM1FnWVhocGN5QmtaWFJsY20xcGJtVnpJSGRvWlhSb1pYSWdkMlVnWVhKbElHeHZiMnRwYm1jZ1lYUWdkR2hsWEc0Z0tpQmhjbkpoZVNCdlppQmpZVzVrYVdSaGRHVWdhVzVrYVdObGN5d2dkR2hsSUdGeWNtRjVJRzltSUdScGMzUmhibU5sY3l3Z2IzSWdkR2hsSUdac1lXY2dZWEp5WVhrZ1ptOXlYRzRnS2lCM2FHVjBhR1Z5SUdWc1pXMWxiblJ6SUdGeVpTQnVaWGNnYjNJZ2JtOTBMaUJGWVdOb0lHOW1JSFJvWlhObElHRnljbUY1Y3lCaGNtVWdiMllnYzJoaGNHVmNiaUFxSUNoZ1lHNVFiMmx1ZEhOZ1lDd2dZR0J6YVhwbFlHQXBYRzRnS2k5Y2JtVjRjRzl5ZENCbWRXNWpkR2x2YmlCdFlXdGxTR1ZoY0NodVVHOXBiblJ6T2lCdWRXMWlaWElzSUhOcGVtVTZJRzUxYldKbGNpazZJRWhsWVhBZ2UxeHVJQ0JqYjI1emRDQnRZV3RsUVhKeVlYbHpJRDBnS0dacGJHeFdZV3gxWlRvZ2JuVnRZbVZ5S1NBOVBpQjdYRzRnSUNBZ2NtVjBkWEp1SUhWMGFXeHpMbVZ0Y0hSNUtHNVFiMmx1ZEhNcExtMWhjQ2dvS1NBOVBpQjdYRzRnSUNBZ0lDQnlaWFIxY200Z2RYUnBiSE11Wm1sc2JHVmtLSE5wZW1Vc0lHWnBiR3hXWVd4MVpTazdYRzRnSUNBZ2ZTazdYRzRnSUgwN1hHNWNiaUFnWTI5dWMzUWdhR1ZoY0RvZ1NHVmhjQ0E5SUZ0ZE8xeHVJQ0JvWldGd0xuQjFjMmdvYldGclpVRnljbUY1Y3lndE1Ta3BPMXh1SUNCb1pXRndMbkIxYzJnb2JXRnJaVUZ5Y21GNWN5aEpibVpwYm1sMGVTa3BPMXh1SUNCb1pXRndMbkIxYzJnb2JXRnJaVUZ5Y21GNWN5Z3dLU2s3WEc0Z0lISmxkSFZ5YmlCb1pXRndPMXh1ZlZ4dVhHNHZLaXBjYmlBcUlFZGxibVZ5WVhSbElHNWZjMkZ0Y0d4bGN5QnRZVzU1SUdsdWRHVm5aWEp6SUdaeWIyMGdNQ0IwYnlCd2IyOXNYM05wZW1VZ2MzVmphQ0IwYUdGMElHNXZYRzRnS2lCcGJuUmxaMlZ5SUdseklITmxiR1ZqZEdWa0lIUjNhV05sTGlCVWFHVWdaSFZ3YkdsallYUnBiMjRnWTI5dWMzUnlZV2x1ZENCcGN5QmhZMmhwWlhabFpDQjJhV0ZjYmlBcUlISmxhbVZqZEdsdmJpQnpZVzF3YkdsdVp5NWNiaUFxTDF4dVpYaHdiM0owSUdaMWJtTjBhVzl1SUhKbGFtVmpkR2x2YmxOaGJYQnNaU2hjYmlBZ2JsTmhiWEJzWlhNNklHNTFiV0psY2l4Y2JpQWdjRzl2YkZOcGVtVTZJRzUxYldKbGNpeGNiaUFnY21GdVpHOXRPaUJTWVc1a2IyMUdibHh1S1NCN1hHNGdJR052Ym5OMElISmxjM1ZzZENBOUlIVjBhV3h6TG5wbGNtOXpLRzVUWVcxd2JHVnpLVHRjYmlBZ1ptOXlJQ2hzWlhRZ2FTQTlJREE3SUdrZ1BDQnVVMkZ0Y0d4bGN6c2dhU3NyS1NCN1hHNGdJQ0FnYkdWMElISmxhbVZqZEZOaGJYQnNaU0E5SUhSeWRXVTdYRzRnSUNBZ2JHVjBJR29nUFNBd08xeHVJQ0FnSUhkb2FXeGxJQ2h5WldwbFkzUlRZVzF3YkdVcElIdGNiaUFnSUNBZ0lHb2dQU0IxZEdsc2N5NTBZWFZTWVc1a1NXNTBLSEJ2YjJ4VGFYcGxMQ0J5WVc1a2IyMHBPMXh1SUNBZ0lDQWdiR1YwSUdKeWIydGxiaUE5SUdaaGJITmxPMXh1SUNBZ0lDQWdabTl5SUNoc1pYUWdheUE5SURBN0lHc2dQQ0JwT3lCckt5c3BJSHRjYmlBZ0lDQWdJQ0FnYVdZZ0tHb2dQVDA5SUhKbGMzVnNkRnRyWFNrZ2UxeHVJQ0FnSUNBZ0lDQWdJR0p5YjJ0bGJpQTlJSFJ5ZFdVN1hHNGdJQ0FnSUNBZ0lDQWdZbkpsWVdzN1hHNGdJQ0FnSUNBZ0lIMWNiaUFnSUNBZ0lIMWNiaUFnSUNBZ0lHbG1JQ2doWW5KdmEyVnVLU0J5WldwbFkzUlRZVzF3YkdVZ1BTQm1ZV3h6WlR0Y2JpQWdJQ0I5WEc0Z0lDQWdjbVZ6ZFd4MFcybGRJRDBnYWp0Y2JpQWdmVnh1SUNCeVpYUjFjbTRnY21WemRXeDBPMXh1ZlZ4dVhHNHZLaXBjYmlBcUlGQjFjMmdnWVNCdVpYY2daV3hsYldWdWRDQnZiblJ2SUhSb1pTQm9aV0Z3TGlCVWFHVWdhR1ZoY0NCemRHOXlaWE1nY0c5MFpXNTBhV0ZzSUc1bGFXZG9ZbTl5YzF4dUlDb2dabTl5SUdWaFkyZ2daR0YwWVNCd2IybHVkQzRnVkdobElHQmdjbTkzWUdBZ2NHRnlZVzFsZEdWeUlHUmxkR1Z5YldsdVpYTWdkMmhwWTJnZ1pHRjBZU0J3YjJsdWRDQjNaVnh1SUNvZ1lYSmxJR0ZrWkhKbGMzTnBibWNzSUhSb1pTQmdZSGRsYVdkb2RHQmdJR1JsZEdWeWJXbHVaWE1nZEdobElHUnBjM1JoYm1ObElDaG1iM0lnYUdWaGNDQnpiM0owYVc1bktTeGNiaUFxSUhSb1pTQmdZR2x1WkdWNFlHQWdhWE1nZEdobElHVnNaVzFsYm5RZ2RHOGdZV1JrTENCaGJtUWdkR2hsSUdac1lXY2daR1YwWlhKdGFXNWxjeUIzYUdWMGFHVnlJSFJvYVhOY2JpQXFJR2x6SUhSdklHSmxJR052Ym5OcFpHVnlaV1FnWVNCdVpYY2dZV1JrYVhScGIyNHVYRzRnS2k5Y2JtVjRjRzl5ZENCbWRXNWpkR2x2YmlCb1pXRndVSFZ6YUNoY2JpQWdhR1ZoY0RvZ1NHVmhjQ3hjYmlBZ2NtOTNPaUJ1ZFcxaVpYSXNYRzRnSUhkbGFXZG9kRG9nYm5WdFltVnlMRnh1SUNCcGJtUmxlRG9nYm5WdFltVnlMRnh1SUNCbWJHRm5PaUJ1ZFcxaVpYSmNiaWs2SUc1MWJXSmxjaUI3WEc0Z0lISnZkeUE5SUUxaGRHZ3VabXh2YjNJb2NtOTNLVHRjYmlBZ1kyOXVjM1FnYVc1a2FXTmxjeUE5SUdobFlYQmJNRjFiY205M1hUdGNiaUFnWTI5dWMzUWdkMlZwWjJoMGN5QTlJR2hsWVhCYk1WMWJjbTkzWFR0Y2JpQWdMeTlqYjI1emRDQnBjMDVsZHlBOUlHaGxZWEJiTWwxYmNtOTNYVHRjYmx4dUlDQnBaaUFvZDJWcFoyaDBJRDQ5SUhkbGFXZG9kSE5iTUYwcFhHNGdJQ0FnY21WMGRYSnVJREE3WEc1Y2JseHVJQ0F2THlCQ2NtVmhheUJwWmlCM1pTQmhiSEpsWVdSNUlHaGhkbVVnZEdocGN5QmxiR1Z0Wlc1MExseHVJQ0JtYjNJZ0tHeGxkQ0JwSUQwZ01Ec2dhU0E4SUdsdVpHbGpaWE11YkdWdVozUm9PeUJwS3lzcElIdGNiaUFnSUNCcFppQW9hVzVrWlhnZ1BUMDlJR2x1WkdsalpYTmJhVjBwWEc0Z0lDQWdJQ0J5WlhSMWNtNGdNRHRjYmlBZ2ZWeHVYRzRnSUhKbGRIVnliaUIxYm1Ob1pXTnJaV1JJWldGd1VIVnphQ2hvWldGd0xDQnliM2NzSUhkbGFXZG9kQ3dnYVc1a1pYZ3NJR1pzWVdjcE8xeHVmVnh1WEc0dktpcGNiaUFxSUZCMWMyZ2dZU0J1WlhjZ1pXeGxiV1Z1ZENCdmJuUnZJSFJvWlNCb1pXRndMaUJVYUdVZ2FHVmhjQ0J6ZEc5eVpYTWdjRzkwWlc1MGFXRnNJRzVsYVdkb1ltOXljMXh1SUNvZ1ptOXlJR1ZoWTJnZ1pHRjBZU0J3YjJsdWRDNGdWR2hsSUdCZ2NtOTNZR0FnY0dGeVlXMWxkR1Z5SUdSbGRHVnliV2x1WlhNZ2QyaHBZMmdnWkdGMFlTQndiMmx1ZENCM1pWeHVJQ29nWVhKbElHRmtaSEpsYzNOcGJtY3NJSFJvWlNCZ1lIZGxhV2RvZEdCZ0lHUmxkR1Z5YldsdVpYTWdkR2hsSUdScGMzUmhibU5sSUNobWIzSWdhR1ZoY0NCemIzSjBhVzVuS1N4Y2JpQXFJSFJvWlNCZ1lHbHVaR1Y0WUdBZ2FYTWdkR2hsSUdWc1pXMWxiblFnZEc4Z1lXUmtMQ0JoYm1RZ2RHaGxJR1pzWVdjZ1pHVjBaWEp0YVc1bGN5QjNhR1YwYUdWeUlIUm9hWE5jYmlBcUlHbHpJSFJ2SUdKbElHTnZibk5wWkdWeVpXUWdZU0J1WlhjZ1lXUmthWFJwYjI0dVhHNGdLaTljYm1WNGNHOXlkQ0JtZFc1amRHbHZiaUIxYm1Ob1pXTnJaV1JJWldGd1VIVnphQ2hjYmlBZ2FHVmhjRG9nU0dWaGNDeGNiaUFnY205M09pQnVkVzFpWlhJc1hHNGdJSGRsYVdkb2REb2diblZ0WW1WeUxGeHVJQ0JwYm1SbGVEb2diblZ0WW1WeUxGeHVJQ0JtYkdGbk9pQnVkVzFpWlhKY2JpazZJRzUxYldKbGNpQjdYRzRnSUdOdmJuTjBJR2x1WkdsalpYTWdQU0JvWldGd1d6QmRXM0p2ZDEwN1hHNGdJR052Ym5OMElIZGxhV2RvZEhNZ1BTQm9aV0Z3V3pGZFczSnZkMTA3WEc0Z0lHTnZibk4wSUdselRtVjNJRDBnYUdWaGNGc3lYVnR5YjNkZE8xeHVYRzRnSUdsbUlDaDNaV2xuYUhRZ1BqMGdkMlZwWjJoMGMxc3dYU2xjYmlBZ0lDQnlaWFIxY200Z01EdGNibHh1WEc0Z0lDOHZJRWx1YzJWeWRDQjJZV3dnWVhRZ2NHOXphWFJwYjI0Z2VtVnliMXh1SUNCM1pXbG5hSFJ6V3pCZElEMGdkMlZwWjJoME8xeHVJQ0JwYm1ScFkyVnpXekJkSUQwZ2FXNWtaWGc3WEc0Z0lHbHpUbVYzV3pCZElEMGdabXhoWnp0Y2JseHVJQ0F2THlCRVpYTmpaVzVrSUhSb1pTQm9aV0Z3TENCemQyRndjR2x1WnlCMllXeDFaWE1nZFc1MGFXd2dkR2hsSUcxaGVDQm9aV0Z3SUdOeWFYUmxjbWx2YmlCcGN5QnRaWFJjYmlBZ2JHVjBJR2tnUFNBd08xeHVJQ0JzWlhRZ2FWTjNZWEFnUFNBd08xeHVJQ0IzYUdsc1pTQW9kSEoxWlNrZ2UxeHVJQ0FnSUdOdmJuTjBJR2xqTVNBOUlESWdLaUJwSUNzZ01UdGNiaUFnSUNCamIyNXpkQ0JwWXpJZ1BTQnBZekVnS3lBeE8xeHVYRzRnSUNBZ1kyOXVjM1FnYUdWaGNGTm9ZWEJsTWlBOUlHaGxZWEJiTUYxYk1GMHViR1Z1WjNSb08xeHVJQ0FnSUdsbUlDaHBZekVnUGowZ2FHVmhjRk5vWVhCbE1pa2dlMXh1SUNBZ0lDQWdZbkpsWVdzN1hHNGdJQ0FnZlNCbGJITmxJR2xtSUNocFl6SWdQajBnYUdWaGNGTm9ZWEJsTWlrZ2UxeHVJQ0FnSUNBZ2FXWWdLSGRsYVdkb2RITmJhV014WFNBK0lIZGxhV2RvZENsY2JpQWdJQ0FnSUNBZ2FWTjNZWEFnUFNCcFl6RTdYRzRnSUNBZ0lDQmxiSE5sWEc0Z0lDQWdJQ0FnSUdKeVpXRnJPMXh1SUNBZ0lIMGdaV3h6WlNCcFppQW9kMlZwWjJoMGMxdHBZekZkSUQ0OUlIZGxhV2RvZEhOYmFXTXlYU2tnZTF4dUlDQWdJQ0FnYVdZZ0tIZGxhV2RvZENBOElIZGxhV2RvZEhOYmFXTXhYU2xjYmlBZ0lDQWdJQ0FnYVZOM1lYQWdQU0JwWXpFN1hHNGdJQ0FnSUNCbGJITmxYRzRnSUNBZ0lDQWdJR0p5WldGck8xeHVJQ0FnSUgwZ1pXeHpaU0I3WEc0Z0lDQWdJQ0JwWmlBb2QyVnBaMmgwSUR3Z2QyVnBaMmgwYzF0cFl6SmRLVnh1SUNBZ0lDQWdJQ0JwVTNkaGNDQTlJR2xqTWp0Y2JpQWdJQ0FnSUdWc2MyVmNiaUFnSUNBZ0lDQWdZbkpsWVdzN1hHNGdJQ0FnZlZ4dVhHNGdJQ0FnZDJWcFoyaDBjMXRwWFNBOUlIZGxhV2RvZEhOYmFWTjNZWEJkTzF4dUlDQWdJR2x1WkdsalpYTmJhVjBnUFNCcGJtUnBZMlZ6VzJsVGQyRndYVHRjYmlBZ0lDQnBjMDVsZDF0cFhTQTlJR2x6VG1WM1cybFRkMkZ3WFR0Y2JseHVJQ0FnSUdrZ1BTQnBVM2RoY0R0Y2JpQWdmVnh1WEc0Z0lIZGxhV2RvZEhOYmFWMGdQU0IzWldsbmFIUTdYRzRnSUdsdVpHbGpaWE5iYVYwZ1BTQnBibVJsZUR0Y2JpQWdhWE5PWlhkYmFWMGdQU0JtYkdGbk8xeHVJQ0J5WlhSMWNtNGdNVHRjYm4xY2JseHVMeW9xWEc0Z0tpQkNkV2xzWkNCaElHaGxZWEFnYjJZZ1kyRnVaR2xrWVhSbElHNWxhV2RvWW05eWN5Qm1iM0lnYm1WaGNtVnpkQ0J1WldsbmFHSnZjaUJrWlhOalpXNTBMaUJHYjNKY2JpQXFJR1ZoWTJnZ2RtVnlkR1Y0SUhSb1pTQmpZVzVrYVdSaGRHVWdibVZwWjJoaWIzSnpJR0Z5WlNCaGJua2dZM1Z5Y21WdWRDQnVaV2xuYUdKdmNuTXNJR0Z1WkNCaGJubGNiaUFxSUhabGNuUnBZMlZ6SUhSb1lYUWdhR0YyWlNCMGFHVWdkbVZ5ZEdWNElHRnpJRzl1WlNCdlppQjBhR1ZwY2lCdVpXRnlaWE4wSUc1bGFXZG9ZbTl5Y3k1Y2JpQXFMMXh1Wlhod2IzSjBJR1oxYm1OMGFXOXVJR0oxYVd4a1EyRnVaR2xrWVhSbGN5aGNiaUFnWTNWeWNtVnVkRWR5WVhCb09pQklaV0Z3TEZ4dUlDQnVWbVZ5ZEdsalpYTTZJRzUxYldKbGNpeGNiaUFnYms1bGFXZG9ZbTl5Y3pvZ2JuVnRZbVZ5TEZ4dUlDQnRZWGhEWVc1a2FXUmhkR1Z6T2lCdWRXMWlaWElzWEc0Z0lISmhibVJ2YlRvZ1VtRnVaRzl0Um01Y2Jpa2dlMXh1SUNCamIyNXpkQ0JqWVc1a2FXUmhkR1ZPWldsbmFHSnZjbk1nUFNCdFlXdGxTR1ZoY0NodVZtVnlkR2xqWlhNc0lHMWhlRU5oYm1ScFpHRjBaWE1wTzF4dUlDQm1iM0lnS0d4bGRDQnBJRDBnTURzZ2FTQThJRzVXWlhKMGFXTmxjenNnYVNzcktTQjdYRzRnSUNBZ1ptOXlJQ2hzWlhRZ2FpQTlJREE3SUdvZ1BDQnVUbVZwWjJoaWIzSnpPeUJxS3lzcElIdGNiaUFnSUNBZ0lHbG1JQ2hqZFhKeVpXNTBSM0poY0doYk1GMWJhVjFiYWwwZ1BDQXdLVnh1SUNBZ0lDQWdJQ0JqYjI1MGFXNTFaVHRjYmx4dUlDQWdJQ0FnWTI5dWMzUWdhV1I0SUQwZ1kzVnljbVZ1ZEVkeVlYQm9XekJkVzJsZFcycGRPMXh1SUNBZ0lDQWdZMjl1YzNRZ2FYTnVJRDBnWTNWeWNtVnVkRWR5WVhCb1d6SmRXMmxkVzJwZE8xeHVJQ0FnSUNBZ1kyOXVjM1FnWkNBOUlIVjBhV3h6TG5SaGRWSmhibVFvY21GdVpHOXRLVHRjYmlBZ0lDQWdJR2hsWVhCUWRYTm9LR05oYm1ScFpHRjBaVTVsYVdkb1ltOXljeXdnYVN3Z1pDd2dhV1I0TENCcGMyNHBPMXh1SUNBZ0lDQWdhR1ZoY0ZCMWMyZ29ZMkZ1Wkdsa1lYUmxUbVZwWjJoaWIzSnpMQ0JwWkhnc0lHUXNJR2tzSUdsemJpazdYRzRnSUNBZ0lDQmpkWEp5Wlc1MFIzSmhjR2hiTWwxYmFWMWJhbDBnUFNBd08xeHVJQ0FnSUgxY2JpQWdmVnh1SUNCeVpYUjFjbTRnWTJGdVpHbGtZWFJsVG1WcFoyaGliM0p6TzF4dWZWeHVYRzR2S2lwY2JpQXFJRWRwZG1WdUlHRnVJR0Z5Y21GNUlHOW1JR2hsWVhCeklDaHZaaUJwYm1ScFkyVnpJR0Z1WkNCM1pXbG5hSFJ6S1N3Z2RXNXdZV05ySUhSb1pTQm9aV0Z3WEc0Z0tpQnZkWFFnZEc4Z1oybDJaU0JoYm1RZ1lYSnlZWGtnYjJZZ2MyOXlkR1ZrSUd4cGMzUnpJRzltSUdsdVpHbGpaWE1nWVc1a0lIZGxhV2RvZEhNZ1lua2dhVzVqY21WaGMybHVaMXh1SUNvZ2QyVnBaMmgwTGlCVWFHbHpJR2x6SUdWbVptVmpkR2wyWld4NUlHcDFjM1FnZEdobElITmxZMjl1WkNCb1lXeG1JRzltSUdobFlYQWdjMjl5ZENBb2RHaGxJR1pwY25OMFhHNGdLaUJvWVd4bUlHNXZkQ0JpWldsdVp5QnlaWEYxYVhKbFpDQnphVzVqWlNCM1pTQmhiSEpsWVdSNUlHaGhkbVVnZEdobElHUmhkR0VnYVc0Z1lTQm9aV0Z3S1M1Y2JpQXFMMXh1Wlhod2IzSjBJR1oxYm1OMGFXOXVJR1JsYUdWaGNGTnZjblFvYUdWaGNEb2dTR1ZoY0NrZ2UxeHVJQ0JqYjI1emRDQnBibVJwWTJWeklEMGdhR1ZoY0Zzd1hUdGNiaUFnWTI5dWMzUWdkMlZwWjJoMGN5QTlJR2hsWVhCYk1WMDdYRzVjYmlBZ1ptOXlJQ2hzWlhRZ2FTQTlJREE3SUdrZ1BDQnBibVJwWTJWekxteGxibWQwYURzZ2FTc3JLU0I3WEc0Z0lDQWdZMjl1YzNRZ2FXNWtTR1ZoY0NBOUlHbHVaR2xqWlhOYmFWMDdYRzRnSUNBZ1kyOXVjM1FnWkdsemRFaGxZWEFnUFNCM1pXbG5hSFJ6VzJsZE8xeHVYRzRnSUNBZ1ptOXlJQ2hzWlhRZ2FpQTlJREE3SUdvZ1BDQnBibVJJWldGd0xteGxibWQwYUNBdElERTdJR29yS3lrZ2UxeHVJQ0FnSUNBZ1kyOXVjM1FnYVc1a1NHVmhjRWx1WkdWNElEMGdhVzVrU0dWaGNDNXNaVzVuZEdnZ0xTQnFJQzBnTVR0Y2JpQWdJQ0FnSUdOdmJuTjBJR1JwYzNSSVpXRndTVzVrWlhnZ1BTQmthWE4wU0dWaGNDNXNaVzVuZEdnZ0xTQnFJQzBnTVR0Y2JseHVJQ0FnSUNBZ1kyOXVjM1FnZEdWdGNERWdQU0JwYm1SSVpXRndXekJkTzF4dUlDQWdJQ0FnYVc1a1NHVmhjRnN3WFNBOUlHbHVaRWhsWVhCYmFXNWtTR1ZoY0VsdVpHVjRYVHRjYmlBZ0lDQWdJR2x1WkVobFlYQmJhVzVrU0dWaGNFbHVaR1Y0WFNBOUlIUmxiWEF4TzF4dVhHNGdJQ0FnSUNCamIyNXpkQ0IwWlcxd01pQTlJR1JwYzNSSVpXRndXekJkTzF4dUlDQWdJQ0FnWkdsemRFaGxZWEJiTUYwZ1BTQmthWE4wU0dWaGNGdGthWE4wU0dWaGNFbHVaR1Y0WFR0Y2JpQWdJQ0FnSUdScGMzUklaV0Z3VzJScGMzUklaV0Z3U1c1a1pYaGRJRDBnZEdWdGNESTdYRzVjYmlBZ0lDQWdJSE5wWm5SRWIzZHVLR1JwYzNSSVpXRndMQ0JwYm1SSVpXRndMQ0JrYVhOMFNHVmhjRWx1WkdWNExDQXdLVHRjYmlBZ0lDQjlYRzRnSUgxY2JpQWdjbVYwZFhKdUlIdHBibVJwWTJWekxDQjNaV2xuYUhSemZUdGNibjFjYmx4dUx5b3FYRzRnS2lCU1pYTjBiM0psSUhSb1pTQm9aV0Z3SUhCeWIzQmxjblI1SUdadmNpQmhJR2hsWVhBZ2QybDBhQ0JoYmlCdmRYUWdiMllnY0d4aFkyVWdaV3hsYldWdWRGeHVJQ29nWVhRZ2NHOXphWFJwYjI0Z1lHQmxiSFJnWUM0Z1ZHaHBjeUIzYjNKcmN5QjNhWFJvSUdFZ2FHVmhjQ0J3WVdseUlIZG9aWEpsSUdobFlYQXhJR05oY25KcFpYTmNiaUFxSUhSb1pTQjNaV2xuYUhSeklHRnVaQ0JvWldGd01pQm9iMnhrY3lCMGFHVWdZMjl5Y21WemNHOXVaR2x1WnlCbGJHVnRaVzUwY3k1Y2JpQXFMMXh1Wm5WdVkzUnBiMjRnYzJsbWRFUnZkMjRvWEc0Z0lHaGxZWEF4T2lCdWRXMWlaWEpiWFN4Y2JpQWdhR1ZoY0RJNklHNTFiV0psY2x0ZExGeHVJQ0JqWldsc2FXNW5PaUJ1ZFcxaVpYSXNYRzRnSUdWc2REb2diblZ0WW1WeVhHNHBJSHRjYmlBZ2QyaHBiR1VnS0dWc2RDQXFJRElnS3lBeElEd2dZMlZwYkdsdVp5a2dlMXh1SUNBZ0lHTnZibk4wSUd4bFpuUkRhR2xzWkNBOUlHVnNkQ0FxSURJZ0t5QXhPMXh1SUNBZ0lHTnZibk4wSUhKcFoyaDBRMmhwYkdRZ1BTQnNaV1owUTJocGJHUWdLeUF4TzF4dUlDQWdJR3hsZENCemQyRndJRDBnWld4ME8xeHVYRzRnSUNBZ2FXWWdLR2hsWVhBeFczTjNZWEJkSUR3Z2FHVmhjREZiYkdWbWRFTm9hV3hrWFNsY2JpQWdJQ0FnSUhOM1lYQWdQU0JzWldaMFEyaHBiR1E3WEc1Y2JpQWdJQ0JwWmlBb2NtbG5hSFJEYUdsc1pDQThJR05sYVd4cGJtY2dKaVlnYUdWaGNERmJjM2RoY0YwZ1BDQm9aV0Z3TVZ0eWFXZG9kRU5vYVd4a1hTbGNiaUFnSUNBZ0lITjNZWEFnUFNCeWFXZG9kRU5vYVd4a08xeHVYRzVjYmlBZ0lDQnBaaUFvYzNkaGNDQTlQVDBnWld4MEtTQjdYRzRnSUNBZ0lDQmljbVZoYXp0Y2JpQWdJQ0I5SUdWc2MyVWdlMXh1SUNBZ0lDQWdZMjl1YzNRZ2RHVnRjREVnUFNCb1pXRndNVnRsYkhSZE8xeHVJQ0FnSUNBZ2FHVmhjREZiWld4MFhTQTlJR2hsWVhBeFczTjNZWEJkTzF4dUlDQWdJQ0FnYUdWaGNERmJjM2RoY0YwZ1BTQjBaVzF3TVR0Y2JseHVJQ0FnSUNBZ1kyOXVjM1FnZEdWdGNESWdQU0JvWldGd01sdGxiSFJkTzF4dUlDQWdJQ0FnYUdWaGNESmJaV3gwWFNBOUlHaGxZWEF5VzNOM1lYQmRPMXh1SUNBZ0lDQWdhR1ZoY0RKYmMzZGhjRjBnUFNCMFpXMXdNanRjYmlBZ0lDQWdJR1ZzZENBOUlITjNZWEE3WEc0Z0lDQWdmVnh1SUNCOVhHNTlYRzVjYmk4cUtseHVJQ29nVTJWaGNtTm9JSFJvWlNCb1pXRndJR1p2Y2lCMGFHVWdjMjFoYkd4bGMzUWdaV3hsYldWdWRDQjBhR0YwSUdseklITjBhV3hzSUdac1lXZG5aV1F1WEc0Z0tpOWNibVY0Y0c5eWRDQm1kVzVqZEdsdmJpQnpiV0ZzYkdWemRFWnNZV2RuWldRb2FHVmhjRG9nU0dWaGNDd2djbTkzT2lCdWRXMWlaWElwSUh0Y2JpQWdZMjl1YzNRZ2FXNWtJRDBnYUdWaGNGc3dYVnR5YjNkZE8xeHVJQ0JqYjI1emRDQmthWE4wSUQwZ2FHVmhjRnN4WFZ0eWIzZGRPMXh1SUNCamIyNXpkQ0JtYkdGbklEMGdhR1ZoY0ZzeVhWdHliM2RkTzF4dVhHNGdJR3hsZENCdGFXNUVhWE4wSUQwZ1NXNW1hVzVwZEhrN1hHNGdJR3hsZENCeVpYTjFiSFJKYm1SbGVDQTlJQzB4TzF4dVhHNGdJR1p2Y2lBb2JHVjBJR2tnUFNBd095QnBJRDRnYVc1a0xteGxibWQwYURzZ2FTc3JLU0I3WEc0Z0lDQWdhV1lnS0dac1lXZGJhVjBnUFQwOUlERWdKaVlnWkdsemRGdHBYU0E4SUcxcGJrUnBjM1FwSUh0Y2JpQWdJQ0FnSUcxcGJrUnBjM1FnUFNCa2FYTjBXMmxkTzF4dUlDQWdJQ0FnY21WemRXeDBTVzVrWlhnZ1BTQnBPMXh1SUNBZ0lIMWNiaUFnZlZ4dVhHNGdJR2xtSUNoeVpYTjFiSFJKYm1SbGVDQStQU0F3S1NCN1hHNGdJQ0FnWm14aFoxdHlaWE4xYkhSSmJtUmxlRjBnUFNBd08xeHVJQ0FnSUhKbGRIVnliaUJOWVhSb0xtWnNiMjl5S0dsdVpGdHlaWE4xYkhSSmJtUmxlRjBwTzF4dUlDQjlJR1ZzYzJVZ2UxeHVJQ0FnSUhKbGRIVnliaUF0TVR0Y2JpQWdmVnh1ZlZ4dUlsMTkiLCIvKipcbiAqIEBsaWNlbnNlXG4gKlxuICogQ29weXJpZ2h0IDIwMTkgR29vZ2xlIExMQy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAqL1xuaW1wb3J0ICogYXMgdXRpbHMgZnJvbSAnLi91dGlscyc7XG4vKipcbiAqIEludGVybmFsIDItZGltZW5zaW9uYWwgc3BhcnNlIG1hdHJpeCBjbGFzc1xuICovXG5leHBvcnQgY2xhc3MgU3BhcnNlTWF0cml4IHtcbiAgICBlbnRyaWVzID0gbmV3IE1hcCgpO1xuICAgIG5Sb3dzID0gMDtcbiAgICBuQ29scyA9IDA7XG4gICAgY29uc3RydWN0b3Iocm93cywgY29scywgdmFsdWVzLCBkaW1zKSB7XG4gICAgICAgIGlmIChyb3dzLmxlbmd0aCAhPT0gY29scy5sZW5ndGggfHwgcm93cy5sZW5ndGggIT09IHZhbHVlcy5sZW5ndGgpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcigncm93cywgY29scyBhbmQgdmFsdWVzIGFycmF5cyBtdXN0IGFsbCBoYXZlIHRoZSBzYW1lIGxlbmd0aCcpO1xuICAgICAgICB9XG4gICAgICAgIC8vIFRPRE86IEFzc2VydCB0aGF0IGRpbXMgYXJlIGxlZ2l0LlxuICAgICAgICB0aGlzLm5Sb3dzID0gZGltc1swXTtcbiAgICAgICAgdGhpcy5uQ29scyA9IGRpbXNbMV07XG4gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgdmFsdWVzLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICBjb25zdCByb3cgPSByb3dzW2ldO1xuICAgICAgICAgICAgY29uc3QgY29sID0gY29sc1tpXTtcbiAgICAgICAgICAgIHRoaXMuY2hlY2tEaW1zKHJvdywgY29sKTtcbiAgICAgICAgICAgIGNvbnN0IGtleSA9IHRoaXMubWFrZUtleShyb3csIGNvbCk7XG4gICAgICAgICAgICB0aGlzLmVudHJpZXMuc2V0KGtleSwgeyB2YWx1ZTogdmFsdWVzW2ldLCByb3csIGNvbCB9KTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBtYWtlS2V5KHJvdywgY29sKSB7XG4gICAgICAgIHJldHVybiBgJHtyb3d9OiR7Y29sfWA7XG4gICAgfVxuICAgIGNoZWNrRGltcyhyb3csIGNvbCkge1xuICAgICAgICBjb25zdCB3aXRoaW5Cb3VuZHMgPSByb3cgPCB0aGlzLm5Sb3dzICYmIGNvbCA8IHRoaXMubkNvbHM7XG4gICAgICAgIGlmICghd2l0aGluQm91bmRzKVxuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdyb3cgYW5kL29yIGNvbCBzcGVjaWZpZWQgb3V0c2lkZSBvZiBtYXRyaXggZGltZW5zaW9ucycpO1xuICAgIH1cbiAgICBzZXQocm93LCBjb2wsIHZhbHVlKSB7XG4gICAgICAgIHRoaXMuY2hlY2tEaW1zKHJvdywgY29sKTtcbiAgICAgICAgY29uc3Qga2V5ID0gdGhpcy5tYWtlS2V5KHJvdywgY29sKTtcbiAgICAgICAgaWYgKCF0aGlzLmVudHJpZXMuaGFzKGtleSkpXG4gICAgICAgICAgICB0aGlzLmVudHJpZXMuc2V0KGtleSwgeyB2YWx1ZSwgcm93LCBjb2wgfSk7XG4gICAgICAgIGVsc2VcbiAgICAgICAgICAgIHRoaXMuZW50cmllcy5nZXQoa2V5KS52YWx1ZSA9IHZhbHVlO1xuICAgIH1cbiAgICBnZXQocm93LCBjb2wsIGRlZmF1bHRWYWx1ZSA9IDApIHtcbiAgICAgICAgLy90aGlzLmNoZWNrRGltcyhyb3csIGNvbCk7XG4gICAgICAgIGNvbnN0IGtleSA9IHRoaXMubWFrZUtleShyb3csIGNvbCk7XG4gICAgICAgIGlmICh0aGlzLmVudHJpZXMuaGFzKGtleSkpXG4gICAgICAgICAgICByZXR1cm4gdGhpcy5lbnRyaWVzLmdldChrZXkpLnZhbHVlO1xuICAgICAgICBlbHNlXG4gICAgICAgICAgICByZXR1cm4gZGVmYXVsdFZhbHVlO1xuICAgIH1cbiAgICBnZXRBbGwob3JkZXJlZCA9IHRydWUpIHtcbiAgICAgICAgY29uc3Qgcm93Q29sVmFsdWVzID0gbmV3IEFycmF5KHRoaXMuZW50cmllcy5zaXplKS5maWxsKG51bGwpO1xuICAgICAgICBsZXQgaSA9IDA7XG4gICAgICAgIHRoaXMuZW50cmllcy5mb3JFYWNoKCh2YWx1ZSkgPT4ge1xuICAgICAgICAgICAgcm93Q29sVmFsdWVzW2krK10gPSB2YWx1ZTtcbiAgICAgICAgfSk7XG4gICAgICAgIGlmIChvcmRlcmVkKSB7XG4gICAgICAgICAgICAvLyBPcmRlcmluZyB0aGUgcmVzdWx0IGlzbid0IHJlcXVpcmVkIGZvciBwcm9jZXNzaW5nIGJ1dCBpdCBkb2VzIG1ha2UgaXQgZWFzaWVyIHRvIHdyaXRlIHRlc3RzXG4gICAgICAgICAgICByb3dDb2xWYWx1ZXMuc29ydCgoYSwgYikgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChhLnJvdyA9PT0gYi5yb3cpXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBhLmNvbCAtIGIuY29sO1xuICAgICAgICAgICAgICAgIGVsc2VcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGEucm93IC0gYi5yb3c7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gcm93Q29sVmFsdWVzO1xuICAgIH1cbiAgICBnZXREaW1zKCkge1xuICAgICAgICByZXR1cm4gW3RoaXMublJvd3MsIHRoaXMubkNvbHNdO1xuICAgIH1cbiAgICBnZXRSb3dzKCkge1xuICAgICAgICByZXR1cm4gQXJyYXkuZnJvbSh0aGlzLmVudHJpZXMsIChbX2tleSwgdmFsdWVdKSA9PiB2YWx1ZS5yb3cpO1xuICAgICAgICAvLyByZXR1cm4gdGhpcy5yb3dzIGFzIHVua25vd24gYXMgbnVtYmVyW107XG4gICAgfVxuICAgIGdldENvbHMoKSB7XG4gICAgICAgIHJldHVybiBBcnJheS5mcm9tKHRoaXMuZW50cmllcywgKFtfa2V5LCB2YWx1ZV0pID0+IHZhbHVlLmNvbCk7XG4gICAgICAgIC8vIHJldHVybiB0aGlzLmNvbHMgYXMgdW5rbm93biBhcyBudW1iZXJbXTtcbiAgICB9XG4gICAgZ2V0VmFsdWVzKCkge1xuICAgICAgICByZXR1cm4gQXJyYXkuZnJvbSh0aGlzLmVudHJpZXMsIChbX2tleSwgdmFsdWVdKSA9PiB2YWx1ZS52YWx1ZSk7XG4gICAgICAgIC8vcmV0dXJuIHRoaXMudmFsdWVzIGFzIHVua25vd24gYXMgbnVtYmVyW107XG4gICAgfVxuICAgIGZvckVhY2goZm4pIHtcbiAgICAgICAgdGhpcy5lbnRyaWVzLmZvckVhY2goKHZhbHVlKSA9PiBmbih2YWx1ZS52YWx1ZSwgdmFsdWUucm93LCB2YWx1ZS5jb2wpKTtcbiAgICB9XG4gICAgbWFwKGZuKSB7XG4gICAgICAgIGNvbnN0IHZhbHMgPSBuZXcgRmxvYXQzMkFycmF5KHRoaXMuZW50cmllcy5zaXplKTtcbiAgICAgICAgbGV0IGkgPSAwO1xuICAgICAgICB0aGlzLmVudHJpZXMuZm9yRWFjaCgodmFsdWUpID0+IHtcbiAgICAgICAgICAgIHZhbHNbaSsrXSA9IGZuKHZhbHVlLnZhbHVlLCB2YWx1ZS5yb3csIHZhbHVlLmNvbCk7XG4gICAgICAgIH0pO1xuICAgICAgICBjb25zdCBkaW1zID0gW3RoaXMublJvd3MsIHRoaXMubkNvbHNdO1xuICAgICAgICByZXR1cm4gbmV3IFNwYXJzZU1hdHJpeCh0aGlzLmdldFJvd3MoKSwgdGhpcy5nZXRDb2xzKCksIHZhbHMsIGRpbXMpO1xuICAgIH1cbiAgICB0b0FycmF5KCkge1xuICAgICAgICBjb25zdCByb3dzID0gdXRpbHMuZW1wdHkodGhpcy5uUm93cyk7XG4gICAgICAgIGNvbnN0IG91dHB1dCA9IHJvd3MubWFwKCgpID0+IHtcbiAgICAgICAgICAgIHJldHVybiB1dGlscy56ZXJvcyh0aGlzLm5Db2xzKTtcbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMuZW50cmllcy5mb3JFYWNoKCh2YWx1ZSkgPT4ge1xuICAgICAgICAgICAgb3V0cHV0W3ZhbHVlLnJvd11bdmFsdWUuY29sXSA9IHZhbHVlLnZhbHVlO1xuICAgICAgICB9KTtcbiAgICAgICAgcmV0dXJuIG91dHB1dDtcbiAgICB9XG59XG4vKipcbiAqIFRyYW5zcG9zZSBhIHNwYXJzZSBtYXRyaXhcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHRyYW5zcG9zZShtYXRyaXgpIHtcbiAgICBjb25zdCBvbGRSb3dzID0gbWF0cml4LmdldFJvd3MoKTtcbiAgICBjb25zdCBvbGRDb2xzID0gbWF0cml4LmdldENvbHMoKTtcbiAgICBjb25zdCBvbGRWYWxzID0gbWF0cml4LmdldFZhbHVlcygpO1xuICAgIGNvbnN0IG1hdGxlbiA9IG9sZENvbHMubGVuZ3RoO1xuICAgIGNvbnN0IGNvbHMgPSBuZXcgSW50MzJBcnJheShtYXRsZW4pO1xuICAgIGNvbnN0IHJvd3MgPSBuZXcgSW50MzJBcnJheShtYXRsZW4pO1xuICAgIGNvbnN0IHZhbHMgPSBuZXcgRmxvYXQzMkFycmF5KG1hdGxlbik7XG4gICAgY29scy5zZXQob2xkUm93cyk7XG4gICAgcm93cy5zZXQob2xkQ29scyk7XG4gICAgdmFscy5zZXQob2xkVmFscyk7XG4gICAgY29uc3QgZGltcyA9IFttYXRyaXgubkNvbHMsIG1hdHJpeC5uUm93c107XG4gICAgcmV0dXJuIG5ldyBTcGFyc2VNYXRyaXgocm93cywgY29scywgdmFscywgZGltcyk7XG59XG4vKipcbiAqIENvbnN0cnVjdCBhIHNwYXJzZSBpZGVudGl0eSBtYXRyaXhcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGlkZW50aXR5KHNpemUpIHtcbiAgICBjb25zdCBbcm93c10gPSBzaXplO1xuICAgIGNvbnN0IG1hdHJpeCA9IG5ldyBTcGFyc2VNYXRyaXgoW10sIFtdLCBbXSwgc2l6ZSk7XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCByb3dzOyBpKyspXG4gICAgICAgIG1hdHJpeC5zZXQoaSwgaSwgMSk7XG4gICAgcmV0dXJuIG1hdHJpeDtcbn1cbi8qKlxuICogRWxlbWVudC13aXNlIG11bHRpcGxpY2F0aW9uIG9mIHR3byBtYXRyaWNlc1xuICovXG5leHBvcnQgZnVuY3Rpb24gcGFpcndpc2VNdWx0aXBseShhLCBiKSB7XG4gICAgcmV0dXJuIGVsZW1lbnRXaXNlKGEsIGIsICh4LCB5KSA9PiB4ICogeSk7XG59XG4vKipcbiAqIEVsZW1lbnQtd2lzZSBhZGRpdGlvbiBvZiB0d28gbWF0cmljZXNcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGFkZChhLCBiKSB7XG4gICAgcmV0dXJuIGVsZW1lbnRXaXNlKGEsIGIsICh4LCB5KSA9PiB4ICsgeSk7XG59XG4vKipcbiAqIEVsZW1lbnQtd2lzZSBzdWJ0cmFjdGlvbiBvZiB0d28gbWF0cmljZXNcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHN1YnRyYWN0KGEsIGIpIHtcbiAgICByZXR1cm4gZWxlbWVudFdpc2UoYSwgYiwgKHgsIHkpID0+IHggLSB5KTtcbn1cbi8qKlxuICogRWxlbWVudC13aXNlIG1heGltdW0gb2YgdHdvIG1hdHJpY2VzXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBtYXhpbXVtKGEsIGIpIHtcbiAgICByZXR1cm4gZWxlbWVudFdpc2UoYSwgYiwgKHgsIHkpID0+ICh4ID4geSA/IHggOiB5KSk7XG59XG4vKipcbiAqIFNjYWxhciBtdWx0aXBsaWNhdGlvbiBvZiB0d28gbWF0cmljZXNcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIG11bHRpcGx5U2NhbGFyKGEsIHNjYWxhcikge1xuICAgIHJldHVybiBhLm1hcCgodmFsdWUpID0+IHtcbiAgICAgICAgcmV0dXJuIHZhbHVlICogc2NhbGFyO1xuICAgIH0pO1xufVxuLyoqXG4gKiBSZXR1cm5zIGEgbmV3IG1hdHJpeCB3aXRoIHplcm8gZW50cmllcyByZW1vdmVkLlxuICovXG5leHBvcnQgZnVuY3Rpb24gZWxpbWluYXRlWmVyb3MobSkge1xuICAgIGNvbnN0IHplcm9JbmRpY2VzID0gbmV3IFNldCgpO1xuICAgIGNvbnN0IHZhbHVlcyA9IG0uZ2V0VmFsdWVzKCk7XG4gICAgY29uc3Qgcm93cyA9IG0uZ2V0Um93cygpO1xuICAgIGNvbnN0IGNvbHMgPSBtLmdldENvbHMoKTtcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IHZhbHVlcy5sZW5ndGg7IGkrKykge1xuICAgICAgICBpZiAodmFsdWVzW2ldID09PSAwKVxuICAgICAgICAgICAgemVyb0luZGljZXMuYWRkKGkpO1xuICAgIH1cbiAgICBjb25zdCByZW1vdmVCeVplcm9JbmRleCA9IChfLCBpbmRleCkgPT4gIXplcm9JbmRpY2VzLmhhcyhpbmRleCk7XG4gICAgY29uc3QgbmV4dFZhbHVlcyA9IHZhbHVlcy5maWx0ZXIocmVtb3ZlQnlaZXJvSW5kZXgpO1xuICAgIGNvbnN0IG5leHRSb3dzID0gcm93cy5maWx0ZXIocmVtb3ZlQnlaZXJvSW5kZXgpO1xuICAgIGNvbnN0IG5leHRDb2xzID0gY29scy5maWx0ZXIocmVtb3ZlQnlaZXJvSW5kZXgpO1xuICAgIHJldHVybiBuZXcgU3BhcnNlTWF0cml4KG5leHRSb3dzLCBuZXh0Q29scywgbmV4dFZhbHVlcywgbS5nZXREaW1zKCkpO1xufVxuLyoqXG4gKiBOb3JtYWxpemF0aW9uIG9mIGEgc3BhcnNlIG1hdHJpeC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIG5vcm1hbGl6ZShtLCBub3JtVHlwZSA9IFwibDJcIiAvKiBOb3JtVHlwZS5sMiAqLykge1xuICAgIGNvbnN0IG5vcm1GbiA9IG5vcm1GbnNbbm9ybVR5cGVdO1xuICAgIGNvbnN0IGNvbHNCeVJvdyA9IG5ldyBNYXAoKTtcbiAgICBtLmZvckVhY2goKF8sIHJvdywgY29sKSA9PiB7XG4gICAgICAgIGNvbnN0IGNvbHMgPSBjb2xzQnlSb3cuZ2V0KHJvdykgfHwgW107XG4gICAgICAgIGNvbHMucHVzaChjb2wpO1xuICAgICAgICBjb2xzQnlSb3cuc2V0KHJvdywgY29scyk7XG4gICAgfSk7XG4gICAgY29uc3QgbmV4dE1hdHJpeCA9IG5ldyBTcGFyc2VNYXRyaXgoW10sIFtdLCBbXSwgbS5nZXREaW1zKCkpO1xuICAgIGZvciAoY29uc3Qgcm93IG9mIGNvbHNCeVJvdy5rZXlzKCkpIHtcbiAgICAgICAgY29uc3QgY29scyA9IGNvbHNCeVJvdy5nZXQocm93KS5zb3J0KCk7XG4gICAgICAgIGNvbnN0IHZhbHMgPSBjb2xzLm1hcCgoY29sKSA9PiBtLmdldChyb3csIGNvbCkpO1xuICAgICAgICBjb25zdCBub3JtID0gbm9ybUZuKHZhbHMpO1xuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IG5vcm0ubGVuZ3RoOyBpKyspXG4gICAgICAgICAgICBuZXh0TWF0cml4LnNldChyb3csIGNvbHNbaV0sIG5vcm1baV0pO1xuICAgIH1cbiAgICByZXR1cm4gbmV4dE1hdHJpeDtcbn1cbmNvbnN0IG5vcm1GbnMgPSB7XG4gICAgW1wibWF4XCIgLyogTm9ybVR5cGUubWF4ICovXTogKHhzKSA9PiB7XG4gICAgICAgIGxldCBtYXggPSAtSW5maW5pdHk7XG4gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgeHMubGVuZ3RoOyBpKyspXG4gICAgICAgICAgICBtYXggPSB4c1tpXSA+IG1heCA/IHhzW2ldIDogbWF4O1xuICAgICAgICByZXR1cm4geHMubWFwKCh4KSA9PiB4IC8gbWF4KTtcbiAgICB9LFxuICAgIFtcImwxXCIgLyogTm9ybVR5cGUubDEgKi9dOiAoeHMpID0+IHtcbiAgICAgICAgbGV0IHN1bSA9IDA7XG4gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgeHMubGVuZ3RoOyBpKyspXG4gICAgICAgICAgICBzdW0gKz0geHNbaV07XG4gICAgICAgIHJldHVybiB4cy5tYXAoKHgpID0+IHggLyBzdW0pO1xuICAgIH0sXG4gICAgW1wibDJcIiAvKiBOb3JtVHlwZS5sMiAqL106ICh4cykgPT4ge1xuICAgICAgICBsZXQgc3VtID0gMDtcbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCB4cy5sZW5ndGg7IGkrKylcbiAgICAgICAgICAgIHN1bSArPSB4c1tpXSAqKiAyO1xuICAgICAgICByZXR1cm4geHMubWFwKCh4KSA9PiBNYXRoLnNxcnQoeCAqKiAyIC8gc3VtKSk7XG4gICAgfSxcbn07XG4vKipcbiAqIEhlbHBlciBmdW5jdGlvbiBmb3IgZWxlbWVudC13aXNlIG9wZXJhdGlvbnMuXG4gKi9cbmZ1bmN0aW9uIGVsZW1lbnRXaXNlKGEsIGIsIG9wKSB7XG4gICAgY29uc3QgdmlzaXRlZCA9IG5ldyBTZXQoKTtcbiAgICBjb25zdCByb3dzID0gW107XG4gICAgY29uc3QgY29scyA9IFtdO1xuICAgIGNvbnN0IHZhbHMgPSBbXTtcbiAgICBjb25zdCBvcGVyYXRlID0gKHJvdywgY29sKSA9PiB7XG4gICAgICAgIHJvd3MucHVzaChyb3cpO1xuICAgICAgICBjb2xzLnB1c2goY29sKTtcbiAgICAgICAgY29uc3QgbmV4dFZhbHVlID0gb3AoYS5nZXQocm93LCBjb2wpLCBiLmdldChyb3csIGNvbCkpO1xuICAgICAgICB2YWxzLnB1c2gobmV4dFZhbHVlKTtcbiAgICB9O1xuICAgIGNvbnN0IHZhbHVlc0EgPSBhLmdldFZhbHVlcygpO1xuICAgIGNvbnN0IHJvd3NBID0gYS5nZXRSb3dzKCk7XG4gICAgY29uc3QgY29sc0EgPSBhLmdldENvbHMoKTtcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IHZhbHVlc0EubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgY29uc3Qgcm93ID0gcm93c0FbaV07XG4gICAgICAgIGNvbnN0IGNvbCA9IGNvbHNBW2ldO1xuICAgICAgICBjb25zdCBrZXkgPSBgJHtyb3d9OiR7Y29sfWA7XG4gICAgICAgIHZpc2l0ZWQuYWRkKGtleSk7XG4gICAgICAgIG9wZXJhdGUocm93LCBjb2wpO1xuICAgIH1cbiAgICBjb25zdCB2YWx1ZXNCID0gYi5nZXRWYWx1ZXMoKTtcbiAgICBjb25zdCByb3dzQiA9IGIuZ2V0Um93cygpO1xuICAgIGNvbnN0IGNvbHNCID0gYi5nZXRDb2xzKCk7XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCB2YWx1ZXNCLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgIGNvbnN0IHJvdyA9IHJvd3NCW2ldO1xuICAgICAgICBjb25zdCBjb2wgPSBjb2xzQltpXTtcbiAgICAgICAgY29uc3Qga2V5ID0gYCR7cm93fToke2NvbH1gO1xuICAgICAgICBpZiAodmlzaXRlZC5oYXMoa2V5KSlcbiAgICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICBvcGVyYXRlKHJvdywgY29sKTtcbiAgICB9XG4gICAgY29uc3QgZGltcyA9IFthLm5Sb3dzLCBhLm5Db2xzXTtcbiAgICByZXR1cm4gbmV3IFNwYXJzZU1hdHJpeChyb3dzLCBjb2xzLCB2YWxzLCBkaW1zKTtcbn1cbi8qKlxuICogSGVscGVyIGZ1bmN0aW9uIGZvciBnZXR0aW5nIGRhdGEsIGluZGljZXMsIGFuZCBpbnB0ciBhcnJheXMgZnJvbSBhIHNwYXJzZVxuICogbWF0cml4IHRvIGZvbGxvdyBjc3IgbWF0cml4IGNvbnZlbnRpb25zLiBTdXBlciBpbmVmZmljaWVudCAoYW5kIGtpbmQgb2ZcbiAqIGRlZmVhdHMgdGhlIHB1cnBvc2Ugb2YgdGhpcyBjb252ZW50aW9uKSBidXQgYSBsb3Qgb2YgdGhlIHBvcnRlZCBweXRob24gdHJlZVxuICogc2VhcmNoIGxvZ2ljIGRlcGVuZHMgb24gdGhpcyBkYXRhIGZvcm1hdC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldENTUih4KSB7XG4gICAgY29uc3QgZW50cmllcyA9IFtdO1xuICAgIHguZm9yRWFjaCgodmFsdWUsIHJvdywgY29sKSA9PiB7XG4gICAgICAgIGVudHJpZXMucHVzaCh7IHZhbHVlLCByb3csIGNvbCB9KTtcbiAgICB9KTtcbiAgICBlbnRyaWVzLnNvcnQoKGEsIGIpID0+IHtcbiAgICAgICAgaWYgKGEucm93ID09PSBiLnJvdylcbiAgICAgICAgICAgIHJldHVybiBhLmNvbCAtIGIuY29sO1xuICAgICAgICBlbHNlXG4gICAgICAgICAgICByZXR1cm4gYS5yb3cgLSBiLnJvdztcbiAgICB9KTtcbiAgICBjb25zdCBpbmRpY2VzID0gW107XG4gICAgY29uc3QgdmFsdWVzID0gW107XG4gICAgY29uc3QgaW5kcHRyID0gW107XG4gICAgbGV0IGN1cnJlbnRSb3cgPSAtMTtcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IGVudHJpZXMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgY29uc3QgeyByb3csIGNvbCwgdmFsdWUgfSA9IGVudHJpZXNbaV07XG4gICAgICAgIGlmIChyb3cgIT09IGN1cnJlbnRSb3cpIHtcbiAgICAgICAgICAgIGN1cnJlbnRSb3cgPSByb3c7XG4gICAgICAgICAgICBpbmRwdHIucHVzaChpKTtcbiAgICAgICAgfVxuICAgICAgICBpbmRpY2VzLnB1c2goY29sKTtcbiAgICAgICAgdmFsdWVzLnB1c2godmFsdWUpO1xuICAgIH1cbiAgICByZXR1cm4geyBpbmRpY2VzLCB2YWx1ZXMsIGluZHB0ciB9O1xufVxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKbWFXeGxJam9pYldGMGNtbDRMbXB6SWl3aWMyOTFjbU5sVW05dmRDSTZJaUlzSW5OdmRYSmpaWE1pT2xzaWJXRjBjbWw0TG5SeklsMHNJbTVoYldWeklqcGJYU3dpYldGd2NHbHVaM01pT2lKQlFVRkJPenM3T3pzN096czdPenM3T3pzN096dEhRV2xDUnp0QlFVVklMRTlCUVU4c1MwRkJTeXhMUVVGTExFMUJRVTBzVTBGQlV5eERRVUZETzBGQlNXcERPenRIUVVWSE8wRkJRMGdzVFVGQlRTeFBRVUZQTEZsQlFWazdTVUZEWml4UFFVRlBMRWRCUVVjc1NVRkJTU3hIUVVGSExFVkJRV2xDTEVOQlFVTTdTVUZGYkVNc1MwRkJTeXhIUVVGWExFTkJRVU1zUTBGQlF6dEpRVU5zUWl4TFFVRkxMRWRCUVZjc1EwRkJReXhEUVVGRE8wbEJSVE5DTEZsQlEwVXNTVUZCTWtJc1JVRkRNMElzU1VGQk1rSXNSVUZETTBJc1RVRkJLMElzUlVGREwwSXNTVUZCWXp0UlFVVmtMRWxCUVVrc1NVRkJTU3hEUVVGRExFMUJRVTBzUzBGQlN5eEpRVUZKTEVOQlFVTXNUVUZCVFN4SlFVRkpMRWxCUVVrc1EwRkJReXhOUVVGTkxFdEJRVXNzVFVGQlRTeERRVUZETEUxQlFVMHNSVUZCUlR0WlFVTm9SU3hOUVVGTkxFbEJRVWtzUzBGQlN5eERRVU5pTERSRVFVRTBSQ3hEUVVNM1JDeERRVUZETzFOQlEwZzdVVUZGUkN4dlEwRkJiME03VVVGRGNFTXNTVUZCU1N4RFFVRkRMRXRCUVVzc1IwRkJSeXhKUVVGSkxFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTTdVVUZEY2tJc1NVRkJTU3hEUVVGRExFdEJRVXNzUjBGQlJ5eEpRVUZKTEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNN1VVRkRja0lzUzBGQlN5eEpRVUZKTEVOQlFVTXNSMEZCUnl4RFFVRkRMRVZCUVVVc1EwRkJReXhIUVVGSExFMUJRVTBzUTBGQlF5eE5RVUZOTEVWQlFVVXNRMEZCUXl4RlFVRkZMRVZCUVVVN1dVRkRkRU1zVFVGQlRTeEhRVUZITEVkQlFVY3NTVUZCU1N4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRE8xbEJRM0JDTEUxQlFVMHNSMEZCUnl4SFFVRkhMRWxCUVVrc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF6dFpRVU53UWl4SlFVRkpMRU5CUVVNc1UwRkJVeXhEUVVGRExFZEJRVWNzUlVGQlJTeEhRVUZITEVOQlFVTXNRMEZCUXp0WlFVTjZRaXhOUVVGTkxFZEJRVWNzUjBGQlJ5eEpRVUZKTEVOQlFVTXNUMEZCVHl4RFFVRkRMRWRCUVVjc1JVRkJSU3hIUVVGSExFTkJRVU1zUTBGQlF6dFpRVU51UXl4SlFVRkpMRU5CUVVNc1QwRkJUeXhEUVVGRExFZEJRVWNzUTBGQlF5eEhRVUZITEVWQlFVVXNSVUZCUXl4TFFVRkxMRVZCUVVVc1RVRkJUU3hEUVVGRExFTkJRVU1zUTBGQlF5eEZRVUZGTEVkQlFVY3NSVUZCUlN4SFFVRkhMRVZCUVVNc1EwRkJReXhEUVVGRE8xTkJRM0pFTzBsQlEwZ3NRMEZCUXp0SlFVVlBMRTlCUVU4c1EwRkJReXhIUVVGWExFVkJRVVVzUjBGQlZ6dFJRVU4wUXl4UFFVRlBMRWRCUVVjc1IwRkJSeXhKUVVGSkxFZEJRVWNzUlVGQlJTeERRVUZETzBsQlEzcENMRU5CUVVNN1NVRkZUeXhUUVVGVExFTkJRVU1zUjBGQlZ5eEZRVUZGTEVkQlFWYzdVVUZEZUVNc1RVRkJUU3haUVVGWkxFZEJRVWNzUjBGQlJ5eEhRVUZITEVsQlFVa3NRMEZCUXl4TFFVRkxMRWxCUVVrc1IwRkJSeXhIUVVGSExFbEJRVWtzUTBGQlF5eExRVUZMTEVOQlFVTTdVVUZETVVRc1NVRkJTU3hEUVVGRExGbEJRVms3V1VGRFppeE5RVUZOTEVsQlFVa3NTMEZCU3l4RFFVRkRMSFZFUVVGMVJDeERRVUZETEVOQlFVTTdTVUZETjBVc1EwRkJRenRKUVVWRUxFZEJRVWNzUTBGQlF5eEhRVUZYTEVWQlFVVXNSMEZCVnl4RlFVRkZMRXRCUVdFN1VVRkRla01zU1VGQlNTeERRVUZETEZOQlFWTXNRMEZCUXl4SFFVRkhMRVZCUVVVc1IwRkJSeXhEUVVGRExFTkJRVU03VVVGRGVrSXNUVUZCVFN4SFFVRkhMRWRCUVVjc1NVRkJTU3hEUVVGRExFOUJRVThzUTBGQlF5eEhRVUZITEVWQlFVVXNSMEZCUnl4RFFVRkRMRU5CUVVNN1VVRkRia01zU1VGQlNTeERRVUZETEVsQlFVa3NRMEZCUXl4UFFVRlBMRU5CUVVNc1IwRkJSeXhEUVVGRExFZEJRVWNzUTBGQlF6dFpRVU40UWl4SlFVRkpMRU5CUVVNc1QwRkJUeXhEUVVGRExFZEJRVWNzUTBGQlF5eEhRVUZITEVWQlFVVXNSVUZCUXl4TFFVRkxMRVZCUVVVc1IwRkJSeXhGUVVGRkxFZEJRVWNzUlVGQlF5eERRVUZETEVOQlFVTTdPMWxCUlhwRExFbEJRVWtzUTBGQlF5eFBRVUZQTEVOQlFVTXNSMEZCUnl4RFFVRkRMRWRCUVVjc1EwRkJSU3hEUVVGRExFdEJRVXNzUjBGQlJ5eExRVUZMTEVOQlFVTTdTVUZEZWtNc1EwRkJRenRKUVVWRUxFZEJRVWNzUTBGQlF5eEhRVUZYTEVWQlFVVXNSMEZCVnl4RlFVRkZMRmxCUVZrc1IwRkJSeXhEUVVGRE8xRkJRelZETERKQ1FVRXlRanRSUVVNelFpeE5RVUZOTEVkQlFVY3NSMEZCUnl4SlFVRkpMRU5CUVVNc1QwRkJUeXhEUVVGRExFZEJRVWNzUlVGQlJTeEhRVUZITEVOQlFVTXNRMEZCUXp0UlFVTnVReXhKUVVGSkxFbEJRVWtzUTBGQlF5eFBRVUZQTEVOQlFVTXNSMEZCUnl4RFFVRkRMRWRCUVVjc1EwRkJRenRaUVVOMlFpeFBRVUZQTEVsQlFVa3NRMEZCUXl4UFFVRlBMRU5CUVVNc1IwRkJSeXhEUVVGRExFZEJRVWNzUTBGQlJTeERRVUZETEV0QlFVc3NRMEZCUXpzN1dVRkZjRU1zVDBGQlR5eFpRVUZaTEVOQlFVTTdTVUZEZUVJc1EwRkJRenRKUVVWRUxFMUJRVTBzUTBGQlF5eFBRVUZQTEVkQlFVY3NTVUZCU1R0UlFVTnVRaXhOUVVGTkxGbEJRVmtzUjBGQldTeEpRVUZKTEV0QlFVc3NRMEZCUXl4SlFVRkpMRU5CUVVNc1QwRkJUeXhEUVVGRExFbEJRVWtzUTBGQlF5eERRVUZETEVsQlFVa3NRMEZCUXl4SlFVRkpMRU5CUVVNc1EwRkJRenRSUVVOMFJTeEpRVUZKTEVOQlFVTXNSMEZCUnl4RFFVRkRMRU5CUVVNN1VVRkRWaXhKUVVGSkxFTkJRVU1zVDBGQlR5eERRVUZETEU5QlFVOHNRMEZCUXl4RFFVRkRMRXRCUVVzc1JVRkJSU3hGUVVGRk8xbEJRemRDTEZsQlFWa3NRMEZCUXl4RFFVRkRMRVZCUVVVc1EwRkJReXhIUVVGSExFdEJRVXNzUTBGQlF6dFJRVU0xUWl4RFFVRkRMRU5CUVVNc1EwRkJRenRSUVVOSUxFbEJRVWtzVDBGQlR5eEZRVUZGTzFsQlExZ3NPRVpCUVRoR08xbEJRemxHTEZsQlFWa3NRMEZCUXl4SlFVRkpMRU5CUVVNc1EwRkJReXhEUVVGRExFVkJRVVVzUTBGQlF5eEZRVUZGTEVWQlFVVTdaMEpCUTNwQ0xFbEJRVWtzUTBGQlF5eERRVUZETEVkQlFVY3NTMEZCU3l4RFFVRkRMRU5CUVVNc1IwRkJSenR2UWtGRGFrSXNUMEZCVHl4RFFVRkRMRU5CUVVNc1IwRkJSeXhIUVVGSExFTkJRVU1zUTBGQlF5eEhRVUZITEVOQlFVTTdPMjlDUVVWeVFpeFBRVUZQTEVOQlFVTXNRMEZCUXl4SFFVRkhMRWRCUVVjc1EwRkJReXhEUVVGRExFZEJRVWNzUTBGQlF6dFpRVU42UWl4RFFVRkRMRU5CUVVNc1EwRkJRenRUUVVOS08xRkJRMFFzVDBGQlR5eFpRVUZaTEVOQlFVTTdTVUZEZEVJc1EwRkJRenRKUVVWRUxFOUJRVTg3VVVGRFRDeFBRVUZQTEVOQlFVTXNTVUZCU1N4RFFVRkRMRXRCUVVzc1JVRkJSU3hKUVVGSkxFTkJRVU1zUzBGQlN5eERRVUZETEVOQlFVTTdTVUZEYkVNc1EwRkJRenRKUVVWRUxFOUJRVTg3VVVGRFRDeFBRVUZQTEV0QlFVc3NRMEZCUXl4SlFVRkpMRU5CUVVNc1NVRkJTU3hEUVVGRExFOUJRVThzUlVGQlJTeERRVUZETEVOQlFVTXNTVUZCU1N4RlFVRkZMRXRCUVVzc1EwRkJReXhGUVVGRkxFVkJRVVVzUTBGQlF5eExRVUZMTEVOQlFVTXNSMEZCUnl4RFFVRkRMRU5CUVVNN1VVRkRPVVFzTWtOQlFUSkRPMGxCUXpkRExFTkJRVU03U1VGRlJDeFBRVUZQTzFGQlEwd3NUMEZCVHl4TFFVRkxMRU5CUVVNc1NVRkJTU3hEUVVGRExFbEJRVWtzUTBGQlF5eFBRVUZQTEVWQlFVVXNRMEZCUXl4RFFVRkRMRWxCUVVrc1JVRkJSU3hMUVVGTExFTkJRVU1zUlVGQlJTeEZRVUZGTEVOQlFVTXNTMEZCU3l4RFFVRkRMRWRCUVVjc1EwRkJReXhEUVVGRE8xRkJRemxFTERKRFFVRXlRenRKUVVNM1F5eERRVUZETzBsQlJVUXNVMEZCVXp0UlFVTlFMRTlCUVU4c1MwRkJTeXhEUVVGRExFbEJRVWtzUTBGQlF5eEpRVUZKTEVOQlFVTXNUMEZCVHl4RlFVRkZMRU5CUVVNc1EwRkJReXhKUVVGSkxFVkJRVVVzUzBGQlN5eERRVUZETEVWQlFVVXNSVUZCUlN4RFFVRkRMRXRCUVVzc1EwRkJReXhMUVVGTExFTkJRVU1zUTBGQlF6dFJRVU5zUlN3MFEwRkJORU03U1VGRE5VTXNRMEZCUXp0SlFVVkVMRTlCUVU4c1EwRkJReXhGUVVGeFJEdFJRVU16UkN4SlFVRkpMRU5CUVVNc1QwRkJUeXhEUVVGRExFOUJRVThzUTBGQlF5eERRVUZETEV0QlFVc3NSVUZCUlN4RlFVRkZMRU5CUVVNc1JVRkJSU3hEUVVGRExFdEJRVXNzUTBGQlF5eExRVUZMTEVWQlFVVXNTMEZCU3l4RFFVRkRMRWRCUVVjc1JVRkJSU3hMUVVGTExFTkJRVU1zUjBGQlJ5eERRVUZETEVOQlFVTXNRMEZCUXp0SlFVTjZSU3hEUVVGRE8wbEJSVVFzUjBGQlJ5eERRVUZETEVWQlFYVkVPMUZCUTNwRUxFMUJRVTBzU1VGQlNTeEhRVUZITEVsQlFVa3NXVUZCV1N4RFFVRkRMRWxCUVVrc1EwRkJReXhQUVVGUExFTkJRVU1zU1VGQlNTeERRVUZETEVOQlFVTTdVVUZEYWtRc1NVRkJTU3hEUVVGRExFZEJRVWNzUTBGQlF5eERRVUZETzFGQlExWXNTVUZCU1N4RFFVRkRMRTlCUVU4c1EwRkJReXhQUVVGUExFTkJRVU1zUTBGQlF5eExRVUZMTEVWQlFVVXNSVUZCUlR0WlFVTTNRaXhKUVVGSkxFTkJRVU1zUTBGQlF5eEZRVUZGTEVOQlFVTXNSMEZCUnl4RlFVRkZMRU5CUVVNc1MwRkJTeXhEUVVGRExFdEJRVXNzUlVGQlJTeExRVUZMTEVOQlFVTXNSMEZCUnl4RlFVRkZMRXRCUVVzc1EwRkJReXhIUVVGSExFTkJRVU1zUTBGQlF6dFJRVU53UkN4RFFVRkRMRU5CUVVNc1EwRkJRenRSUVVOSUxFMUJRVTBzU1VGQlNTeEhRVUZITEVOQlFVTXNTVUZCU1N4RFFVRkRMRXRCUVVzc1JVRkJSU3hKUVVGSkxFTkJRVU1zUzBGQlN5eERRVUZETEVOQlFVTTdVVUZEZEVNc1QwRkJUeXhKUVVGSkxGbEJRVmtzUTBGQlF5eEpRVUZKTEVOQlFVTXNUMEZCVHl4RlFVRkZMRVZCUVVVc1NVRkJTU3hEUVVGRExFOUJRVThzUlVGQlJTeEZRVUZGTEVsQlFUSkNMRVZCUVVVc1NVRkJTU3hEUVVGRExFTkJRVU03U1VGRE4wWXNRMEZCUXp0SlFVVkVMRTlCUVU4N1VVRkRUQ3hOUVVGTkxFbEJRVWtzUjBGQlowSXNTMEZCU3l4RFFVRkRMRXRCUVVzc1EwRkJReXhKUVVGSkxFTkJRVU1zUzBGQlN5eERRVUZETEVOQlFVTTdVVUZEYkVRc1RVRkJUU3hOUVVGTkxFZEJRVWNzU1VGQlNTeERRVUZETEVkQlFVY3NRMEZCUXl4SFFVRkhMRVZCUVVVN1dVRkRNMElzVDBGQlR5eExRVUZMTEVOQlFVTXNTMEZCU3l4RFFVRkRMRWxCUVVrc1EwRkJReXhMUVVGTExFTkJRVU1zUTBGQlF6dFJRVU5xUXl4RFFVRkRMRU5CUVVNc1EwRkJRenRSUVVOSUxFbEJRVWtzUTBGQlF5eFBRVUZQTEVOQlFVTXNUMEZCVHl4RFFVRkRMRU5CUVVNc1MwRkJTeXhGUVVGRkxFVkJRVVU3V1VGRE4wSXNUVUZCVFN4RFFVRkRMRXRCUVVzc1EwRkJReXhIUVVGSExFTkJRVU1zUTBGQlF5eExRVUZMTEVOQlFVTXNSMEZCUnl4RFFVRkRMRWRCUVVjc1MwRkJTeXhEUVVGRExFdEJRVXNzUTBGQlF6dFJRVU0zUXl4RFFVRkRMRU5CUVVNc1EwRkJRenRSUVVOSUxFOUJRVThzVFVGQlRTeERRVUZETzBsQlEyaENMRU5CUVVNN1EwRkRSanRCUVVWRU96dEhRVVZITzBGQlEwZ3NUVUZCVFN4VlFVRlZMRk5CUVZNc1EwRkJReXhOUVVGdlFqdEpRVU0xUXl4TlFVRk5MRTlCUVU4c1IwRkJSeXhOUVVGTkxFTkJRVU1zVDBGQlR5eEZRVUZGTEVOQlFVTTdTVUZEYWtNc1RVRkJUU3hQUVVGUExFZEJRVWNzVFVGQlRTeERRVUZETEU5QlFVOHNSVUZCUlN4RFFVRkRPMGxCUTJwRExFMUJRVTBzVDBGQlR5eEhRVUZITEUxQlFVMHNRMEZCUXl4VFFVRlRMRVZCUVVVc1EwRkJRenRKUVVOdVF5eE5RVUZOTEUxQlFVMHNSMEZCUnl4UFFVRlBMRU5CUVVNc1RVRkJUU3hEUVVGRE8wbEJRemxDTEUxQlFVMHNTVUZCU1N4SFFVRkhMRWxCUVVrc1ZVRkJWU3hEUVVGRExFMUJRVTBzUTBGQlF5eERRVUZETzBsQlEzQkRMRTFCUVUwc1NVRkJTU3hIUVVGSExFbEJRVWtzVlVGQlZTeERRVUZETEUxQlFVMHNRMEZCUXl4RFFVRkRPMGxCUTNCRExFMUJRVTBzU1VGQlNTeEhRVUZITEVsQlFVa3NXVUZCV1N4RFFVRkRMRTFCUVUwc1EwRkJReXhEUVVGRE8wbEJSWFJETEVsQlFVa3NRMEZCUXl4SFFVRkhMRU5CUVVNc1QwRkJUeXhEUVVGRExFTkJRVU03U1VGRGJFSXNTVUZCU1N4RFFVRkRMRWRCUVVjc1EwRkJReXhQUVVGUExFTkJRVU1zUTBGQlF6dEpRVU5zUWl4SlFVRkpMRU5CUVVNc1IwRkJSeXhEUVVGRExFOUJRVThzUTBGQlF5eERRVUZETzBsQlEyeENMRTFCUVUwc1NVRkJTU3hIUVVGSExFTkJRVU1zVFVGQlRTeERRVUZETEV0QlFVc3NSVUZCUlN4TlFVRk5MRU5CUVVNc1MwRkJTeXhEUVVGRExFTkJRVU03U1VGRE1VTXNUMEZCVHl4SlFVRkpMRmxCUVZrc1EwRkJReXhKUVVGSkxFVkJRVVVzU1VGQlNTeEZRVUZGTEVsQlFVa3NSVUZCUlN4SlFVRkpMRU5CUVVNc1EwRkJRenRCUVVOc1JDeERRVUZETzBGQlJVUTdPMGRCUlVjN1FVRkRTQ3hOUVVGTkxGVkJRVlVzVVVGQlVTeERRVUZETEVsQlFXTTdTVUZEY2tNc1RVRkJUU3hEUVVGRExFbEJRVWtzUTBGQlF5eEhRVUZITEVsQlFVa3NRMEZCUXp0SlFVTndRaXhOUVVGTkxFMUJRVTBzUjBGQlJ5eEpRVUZKTEZsQlFWa3NRMEZCUXl4RlFVRkZMRVZCUVVVc1JVRkJSU3hGUVVGRkxFVkJRVVVzUlVGQlJTeEpRVUZKTEVOQlFVTXNRMEZCUXp0SlFVTnNSQ3hMUVVGTExFbEJRVWtzUTBGQlF5eEhRVUZITEVOQlFVTXNSVUZCUlN4RFFVRkRMRWRCUVVjc1NVRkJTU3hGUVVGRkxFTkJRVU1zUlVGQlJUdFJRVU16UWl4TlFVRk5MRU5CUVVNc1IwRkJSeXhEUVVGRExFTkJRVU1zUlVGQlJTeERRVUZETEVWQlFVVXNRMEZCUXl4RFFVRkRMRU5CUVVNN1NVRkZkRUlzVDBGQlR5eE5RVUZOTEVOQlFVTTdRVUZEYUVJc1EwRkJRenRCUVVWRU96dEhRVVZITzBGQlEwZ3NUVUZCVFN4VlFVRlZMR2RDUVVGblFpeERRVU01UWl4RFFVRmxMRVZCUTJZc1EwRkJaVHRKUVVWbUxFOUJRVThzVjBGQlZ5eERRVUZETEVOQlFVTXNSVUZCUlN4RFFVRkRMRVZCUVVVc1EwRkJReXhEUVVGRExFVkJRVVVzUTBGQlF5eEZRVUZGTEVWQlFVVXNRMEZCUXl4RFFVRkRMRWRCUVVjc1EwRkJReXhEUVVGRExFTkJRVU03UVVGRE5VTXNRMEZCUXp0QlFVVkVPenRIUVVWSE8wRkJRMGdzVFVGQlRTeFZRVUZWTEVkQlFVY3NRMEZCUXl4RFFVRmxMRVZCUVVVc1EwRkJaVHRKUVVOc1JDeFBRVUZQTEZkQlFWY3NRMEZCUXl4RFFVRkRMRVZCUVVVc1EwRkJReXhGUVVGRkxFTkJRVU1zUTBGQlF5eEZRVUZGTEVOQlFVTXNSVUZCUlN4RlFVRkZMRU5CUVVNc1EwRkJReXhIUVVGSExFTkJRVU1zUTBGQlF5eERRVUZETzBGQlF6VkRMRU5CUVVNN1FVRkZSRHM3UjBGRlJ6dEJRVU5JTEUxQlFVMHNWVUZCVlN4UlFVRlJMRU5CUVVNc1EwRkJaU3hGUVVGRkxFTkJRV1U3U1VGRGRrUXNUMEZCVHl4WFFVRlhMRU5CUVVNc1EwRkJReXhGUVVGRkxFTkJRVU1zUlVGQlJTeERRVUZETEVOQlFVTXNSVUZCUlN4RFFVRkRMRVZCUVVVc1JVRkJSU3hEUVVGRExFTkJRVU1zUjBGQlJ5eERRVUZETEVOQlFVTXNRMEZCUXp0QlFVTTFReXhEUVVGRE8wRkJSVVE3TzBkQlJVYzdRVUZEU0N4TlFVRk5MRlZCUVZVc1QwRkJUeXhEUVVGRExFTkJRV1VzUlVGQlJTeERRVUZsTzBsQlEzUkVMRTlCUVU4c1YwRkJWeXhEUVVGRExFTkJRVU1zUlVGQlJTeERRVUZETEVWQlFVVXNRMEZCUXl4RFFVRkRMRVZCUVVVc1EwRkJReXhGUVVGRkxFVkJRVVVzUTBGQlF5eERRVUZETEVOQlFVTXNSMEZCUnl4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJRenRCUVVOMFJDeERRVUZETzBGQlJVUTdPMGRCUlVjN1FVRkRTQ3hOUVVGTkxGVkJRVlVzWTBGQll5eERRVUZETEVOQlFXVXNSVUZCUlN4TlFVRmpPMGxCUXpWRUxFOUJRVThzUTBGQlF5eERRVUZETEVkQlFVY3NRMEZCUXl4RFFVRkRMRXRCUVdFc1JVRkJSU3hGUVVGRk8xRkJRemRDTEU5QlFVOHNTMEZCU3l4SFFVRkhMRTFCUVUwc1EwRkJRenRKUVVONFFpeERRVUZETEVOQlFVTXNRMEZCUXp0QlFVTk1MRU5CUVVNN1FVRkZSRHM3UjBGRlJ6dEJRVU5JTEUxQlFVMHNWVUZCVlN4alFVRmpMRU5CUVVNc1EwRkJaVHRKUVVNMVF5eE5RVUZOTEZkQlFWY3NSMEZCUnl4SlFVRkpMRWRCUVVjc1JVRkJSU3hEUVVGRE8wbEJRemxDTEUxQlFVMHNUVUZCVFN4SFFVRkhMRU5CUVVNc1EwRkJReXhUUVVGVExFVkJRVVVzUTBGQlF6dEpRVU0zUWl4TlFVRk5MRWxCUVVrc1IwRkJSeXhEUVVGRExFTkJRVU1zVDBGQlR5eEZRVUZGTEVOQlFVTTdTVUZEZWtJc1RVRkJUU3hKUVVGSkxFZEJRVWNzUTBGQlF5eERRVUZETEU5QlFVOHNSVUZCUlN4RFFVRkRPMGxCUTNwQ0xFdEJRVXNzU1VGQlNTeERRVUZETEVkQlFVY3NRMEZCUXl4RlFVRkZMRU5CUVVNc1IwRkJSeXhOUVVGTkxFTkJRVU1zVFVGQlRTeEZRVUZGTEVOQlFVTXNSVUZCUlN4RlFVRkZPMUZCUTNSRExFbEJRVWtzVFVGQlRTeERRVUZETEVOQlFVTXNRMEZCUXl4TFFVRkxMRU5CUVVNN1dVRkRha0lzVjBGQlZ5eERRVUZETEVkQlFVY3NRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJRenRMUVVOMFFqdEpRVU5FTEUxQlFVMHNhVUpCUVdsQ0xFZEJRVWNzUTBGQlF5eERRVUZOTEVWQlFVVXNTMEZCWVN4RlFVRkZMRVZCUVVVc1EwRkJReXhEUVVGRExGZEJRVmNzUTBGQlF5eEhRVUZITEVOQlFVTXNTMEZCU3l4RFFVRkRMRU5CUVVNN1NVRkROMFVzVFVGQlRTeFZRVUZWTEVkQlFVY3NUVUZCVFN4RFFVRkRMRTFCUVUwc1EwRkJReXhwUWtGQmFVSXNRMEZCUXl4RFFVRkRPMGxCUTNCRUxFMUJRVTBzVVVGQlVTeEhRVUZITEVsQlFVa3NRMEZCUXl4TlFVRk5MRU5CUVVNc2FVSkJRV2xDTEVOQlFVTXNRMEZCUXp0SlFVTm9SQ3hOUVVGTkxGRkJRVkVzUjBGQlJ5eEpRVUZKTEVOQlFVTXNUVUZCVFN4RFFVRkRMR2xDUVVGcFFpeERRVUZETEVOQlFVTTdTVUZGYUVRc1QwRkJUeXhKUVVGSkxGbEJRVmtzUTBGQlF5eFJRVUZSTEVWQlFVVXNVVUZCVVN4RlFVRkZMRlZCUVZVc1JVRkJSU3hEUVVGRExFTkJRVU1zVDBGQlR5eEZRVUZGTEVOQlFVTXNRMEZCUXp0QlFVTjJSU3hEUVVGRE8wRkJSVVE3TzBkQlJVYzdRVUZEU0N4TlFVRk5MRlZCUVZVc1UwRkJVeXhEUVVGRExFTkJRV1VzUlVGQlJTeFJRVUZSTEhsQ1FVRmpPMGxCUXk5RUxFMUJRVTBzVFVGQlRTeEhRVUZITEU5QlFVOHNRMEZCUXl4UlFVRlJMRU5CUVVNc1EwRkJRenRKUVVWcVF5eE5RVUZOTEZOQlFWTXNSMEZCUnl4SlFVRkpMRWRCUVVjc1JVRkJiMElzUTBGQlF6dEpRVU01UXl4RFFVRkRMRU5CUVVNc1QwRkJUeXhEUVVGRExFTkJRVU1zUTBGQlF5eEZRVUZGTEVkQlFVY3NSVUZCUlN4SFFVRkhMRVZCUVVVc1JVRkJSVHRSUVVONFFpeE5RVUZOTEVsQlFVa3NSMEZCUnl4VFFVRlRMRU5CUVVNc1IwRkJSeXhEUVVGRExFZEJRVWNzUTBGQlF5eEpRVUZKTEVWQlFVVXNRMEZCUXp0UlFVTjBReXhKUVVGSkxFTkJRVU1zU1VGQlNTeERRVUZETEVkQlFVY3NRMEZCUXl4RFFVRkRPMUZCUTJZc1UwRkJVeXhEUVVGRExFZEJRVWNzUTBGQlF5eEhRVUZITEVWQlFVVXNTVUZCU1N4RFFVRkRMRU5CUVVNN1NVRkRNMElzUTBGQlF5eERRVUZETEVOQlFVTTdTVUZGU0N4TlFVRk5MRlZCUVZVc1IwRkJSeXhKUVVGSkxGbEJRVmtzUTBGQlF5eEZRVUZGTEVWQlFVVXNSVUZCUlN4RlFVRkZMRVZCUVVVc1JVRkJSU3hEUVVGRExFTkJRVU1zVDBGQlR5eEZRVUZGTEVOQlFVTXNRMEZCUXp0SlFVVTNSQ3hMUVVGTExFMUJRVTBzUjBGQlJ5eEpRVUZKTEZOQlFWTXNRMEZCUXl4SlFVRkpMRVZCUVVVc1JVRkJSVHRSUVVOc1F5eE5RVUZOTEVsQlFVa3NSMEZCUnl4VFFVRlRMRU5CUVVNc1IwRkJSeXhEUVVGRExFZEJRVWNzUTBGQlJTeERRVUZETEVsQlFVa3NSVUZCUlN4RFFVRkRPMUZCUlhoRExFMUJRVTBzU1VGQlNTeEhRVUZITEVsQlFVa3NRMEZCUXl4SFFVRkhMRU5CUVVNc1EwRkJReXhIUVVGSExFVkJRVVVzUlVGQlJTeERRVUZETEVOQlFVTXNRMEZCUXl4SFFVRkhMRU5CUVVNc1IwRkJSeXhGUVVGRkxFZEJRVWNzUTBGQlF5eERRVUZETEVOQlFVTTdVVUZEYUVRc1RVRkJUU3hKUVVGSkxFZEJRVWNzVFVGQlRTeERRVUZETEVsQlFVa3NRMEZCUXl4RFFVRkRPMUZCUXpGQ0xFdEJRVXNzU1VGQlNTeERRVUZETEVkQlFVY3NRMEZCUXl4RlFVRkZMRU5CUVVNc1IwRkJSeXhKUVVGSkxFTkJRVU1zVFVGQlRTeEZRVUZGTEVOQlFVTXNSVUZCUlR0WlFVTnNReXhWUVVGVkxFTkJRVU1zUjBGQlJ5eERRVUZETEVkQlFVY3NSVUZCUlN4SlFVRkpMRU5CUVVNc1EwRkJReXhEUVVGRExFVkJRVVVzU1VGQlNTeERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNN1MwRkRla003U1VGRlJDeFBRVUZQTEZWQlFWVXNRMEZCUXp0QlFVTndRaXhEUVVGRE8wRkJUVVFzVFVGQlRTeFBRVUZQTEVkQlFWazdTVUZEZGtJc01FSkJRV01zUlVGQlJTeERRVUZETEVWQlFWa3NSVUZCUlN4RlFVRkZPMUZCUXk5Q0xFbEJRVWtzUjBGQlJ5eEhRVUZITEVOQlFVTXNVVUZCVVN4RFFVRkRPMUZCUTNCQ0xFdEJRVXNzU1VGQlNTeERRVUZETEVkQlFVY3NRMEZCUXl4RlFVRkZMRU5CUVVNc1IwRkJSeXhGUVVGRkxFTkJRVU1zVFVGQlRTeEZRVUZGTEVOQlFVTXNSVUZCUlR0WlFVTm9ReXhIUVVGSExFZEJRVWNzUlVGQlJTeERRVUZETEVOQlFVTXNRMEZCUXl4SFFVRkhMRWRCUVVjc1EwRkJReXhEUVVGRExFTkJRVU1zUlVGQlJTeERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJReXhIUVVGSExFTkJRVU03VVVGRmJFTXNUMEZCVHl4RlFVRkZMRU5CUVVNc1IwRkJSeXhEUVVGRExFTkJRVU1zUTBGQlF5eEZRVUZGTEVWQlFVVXNRMEZCUXl4RFFVRkRMRWRCUVVjc1IwRkJSeXhEUVVGRExFTkJRVU03U1VGRGFFTXNRMEZCUXp0SlFVTkVMSGRDUVVGaExFVkJRVVVzUTBGQlF5eEZRVUZaTEVWQlFVVXNSVUZCUlR0UlFVTTVRaXhKUVVGSkxFZEJRVWNzUjBGQlJ5eERRVUZETEVOQlFVTTdVVUZEV2l4TFFVRkxMRWxCUVVrc1EwRkJReXhIUVVGSExFTkJRVU1zUlVGQlJTeERRVUZETEVkQlFVY3NSVUZCUlN4RFFVRkRMRTFCUVUwc1JVRkJSU3hEUVVGRExFVkJRVVU3V1VGRGFFTXNSMEZCUnl4SlFVRkpMRVZCUVVVc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF6dFJRVVZtTEU5QlFVOHNSVUZCUlN4RFFVRkRMRWRCUVVjc1EwRkJReXhEUVVGRExFTkJRVU1zUlVGQlJTeEZRVUZGTEVOQlFVTXNRMEZCUXl4SFFVRkhMRWRCUVVjc1EwRkJReXhEUVVGRE8wbEJRMmhETEVOQlFVTTdTVUZEUkN4M1FrRkJZU3hGUVVGRkxFTkJRVU1zUlVGQldTeEZRVUZGTEVWQlFVVTdVVUZET1VJc1NVRkJTU3hIUVVGSExFZEJRVWNzUTBGQlF5eERRVUZETzFGQlExb3NTMEZCU3l4SlFVRkpMRU5CUVVNc1IwRkJSeXhEUVVGRExFVkJRVVVzUTBGQlF5eEhRVUZITEVWQlFVVXNRMEZCUXl4TlFVRk5MRVZCUVVVc1EwRkJReXhGUVVGRk8xbEJRMmhETEVkQlFVY3NTVUZCU1N4RlFVRkZMRU5CUVVNc1EwRkJReXhEUVVGRExFbEJRVWtzUTBGQlF5eERRVUZETzFGQlJYQkNMRTlCUVU4c1JVRkJSU3hEUVVGRExFZEJRVWNzUTBGQlF5eERRVUZETEVOQlFVTXNSVUZCUlN4RlFVRkZMRU5CUVVNc1NVRkJTU3hEUVVGRExFbEJRVWtzUTBGQlF5eERRVUZETEVsQlFVa3NRMEZCUXl4SFFVRkhMRWRCUVVjc1EwRkJReXhEUVVGRExFTkJRVU03U1VGRGFFUXNRMEZCUXp0RFFVTkdMRU5CUVVNN1FVRlJSanM3UjBGRlJ6dEJRVU5JTEZOQlFWTXNWMEZCVnl4RFFVTnNRaXhEUVVGbExFVkJRMllzUTBGQlpTeEZRVU5tTEVWQlFXOURPMGxCUlhCRExFMUJRVTBzVDBGQlR5eEhRVUZITEVsQlFVa3NSMEZCUnl4RlFVRlZMRU5CUVVNN1NVRkRiRU1zVFVGQlRTeEpRVUZKTEVkQlFXRXNSVUZCUlN4RFFVRkRPMGxCUXpGQ0xFMUJRVTBzU1VGQlNTeEhRVUZoTEVWQlFVVXNRMEZCUXp0SlFVTXhRaXhOUVVGTkxFbEJRVWtzUjBGQllTeEZRVUZGTEVOQlFVTTdTVUZGTVVJc1RVRkJUU3hQUVVGUExFZEJRVWNzUTBGQlF5eEhRVUZYTEVWQlFVVXNSMEZCVnl4RlFVRkZMRVZCUVVVN1VVRkRNME1zU1VGQlNTeERRVUZETEVsQlFVa3NRMEZCUXl4SFFVRkhMRU5CUVVNc1EwRkJRenRSUVVObUxFbEJRVWtzUTBGQlF5eEpRVUZKTEVOQlFVTXNSMEZCUnl4RFFVRkRMRU5CUVVNN1VVRkRaaXhOUVVGTkxGTkJRVk1zUjBGQlJ5eEZRVUZGTEVOQlFVTXNRMEZCUXl4RFFVRkRMRWRCUVVjc1EwRkJReXhIUVVGSExFVkJRVVVzUjBGQlJ5eERRVUZETEVWQlFVVXNRMEZCUXl4RFFVRkRMRWRCUVVjc1EwRkJReXhIUVVGSExFVkJRVVVzUjBGQlJ5eERRVUZETEVOQlFVTXNRMEZCUXp0UlFVTjJSQ3hKUVVGSkxFTkJRVU1zU1VGQlNTeERRVUZETEZOQlFWTXNRMEZCUXl4RFFVRkRPMGxCUTNaQ0xFTkJRVU1zUTBGQlF6dEpRVU5HTEUxQlFVMHNUMEZCVHl4SFFVRkhMRU5CUVVNc1EwRkJReXhUUVVGVExFVkJRVVVzUTBGQlF6dEpRVU01UWl4TlFVRk5MRXRCUVVzc1IwRkJSeXhEUVVGRExFTkJRVU1zVDBGQlR5eEZRVUZGTEVOQlFVTTdTVUZETVVJc1RVRkJUU3hMUVVGTExFZEJRVWNzUTBGQlF5eERRVUZETEU5QlFVOHNSVUZCUlN4RFFVRkRPMGxCUXpGQ0xFdEJRVXNzU1VGQlNTeERRVUZETEVkQlFVY3NRMEZCUXl4RlFVRkZMRU5CUVVNc1IwRkJSeXhQUVVGUExFTkJRVU1zVFVGQlRTeEZRVUZGTEVOQlFVTXNSVUZCUlN4RlFVRkZPMUZCUTNaRExFMUJRVTBzUjBGQlJ5eEhRVUZITEV0QlFVc3NRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJRenRSUVVOeVFpeE5RVUZOTEVkQlFVY3NSMEZCUnl4TFFVRkxMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU03VVVGRGNrSXNUVUZCVFN4SFFVRkhMRWRCUVVjc1IwRkJSeXhIUVVGSExFbEJRVWtzUjBGQlJ5eEZRVUZGTEVOQlFVTTdVVUZETlVJc1QwRkJUeXhEUVVGRExFZEJRVWNzUTBGQlF5eEhRVUZITEVOQlFVTXNRMEZCUXp0UlFVTnFRaXhQUVVGUExFTkJRVU1zUjBGQlJ5eEZRVUZGTEVkQlFVY3NRMEZCUXl4RFFVRkRPMHRCUTI1Q08wbEJSVVFzVFVGQlRTeFBRVUZQTEVkQlFVY3NRMEZCUXl4RFFVRkRMRk5CUVZNc1JVRkJSU3hEUVVGRE8wbEJRemxDTEUxQlFVMHNTMEZCU3l4SFFVRkhMRU5CUVVNc1EwRkJReXhQUVVGUExFVkJRVVVzUTBGQlF6dEpRVU14UWl4TlFVRk5MRXRCUVVzc1IwRkJSeXhEUVVGRExFTkJRVU1zVDBGQlR5eEZRVUZGTEVOQlFVTTdTVUZETVVJc1MwRkJTeXhKUVVGSkxFTkJRVU1zUjBGQlJ5eERRVUZETEVWQlFVVXNRMEZCUXl4SFFVRkhMRTlCUVU4c1EwRkJReXhOUVVGTkxFVkJRVVVzUTBGQlF5eEZRVUZGTEVWQlFVVTdVVUZEZGtNc1RVRkJUU3hIUVVGSExFZEJRVWNzUzBGQlN5eERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRPMUZCUTNKQ0xFMUJRVTBzUjBGQlJ5eEhRVUZITEV0QlFVc3NRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJRenRSUVVOeVFpeE5RVUZOTEVkQlFVY3NSMEZCUnl4SFFVRkhMRWRCUVVjc1NVRkJTU3hIUVVGSExFVkJRVVVzUTBGQlF6dFJRVU0xUWl4SlFVRkpMRTlCUVU4c1EwRkJReXhIUVVGSExFTkJRVU1zUjBGQlJ5eERRVUZETzFsQlFVVXNVMEZCVXp0UlFVTXZRaXhQUVVGUExFTkJRVU1zUjBGQlJ5eEZRVUZGTEVkQlFVY3NRMEZCUXl4RFFVRkRPMHRCUTI1Q08wbEJSVVFzVFVGQlRTeEpRVUZKTEVkQlFVY3NRMEZCUXl4RFFVRkRMRU5CUVVNc1MwRkJTeXhGUVVGRkxFTkJRVU1zUTBGQlF5eExRVUZMTEVOQlFVTXNRMEZCUXp0SlFVTm9ReXhQUVVGUExFbEJRVWtzV1VGQldTeERRVUZETEVsQlFVa3NSVUZCUlN4SlFVRkpMRVZCUVVVc1NVRkJTU3hGUVVGRkxFbEJRVWtzUTBGQlF5eERRVUZETzBGQlEyeEVMRU5CUVVNN1FVRkZSRHM3T3pzN1IwRkxSenRCUVVOSUxFMUJRVTBzVlVGQlZTeE5RVUZOTEVOQlFVTXNRMEZCWlR0SlFVTndReXhOUVVGTkxFOUJRVThzUjBGQldTeEZRVUZGTEVOQlFVTTdTVUZGTlVJc1EwRkJReXhEUVVGRExFOUJRVThzUTBGQlF5eERRVUZETEV0QlFVc3NSVUZCUlN4SFFVRkhMRVZCUVVVc1IwRkJSeXhGUVVGRkxFVkJRVVU3VVVGRE5VSXNUMEZCVHl4RFFVRkRMRWxCUVVrc1EwRkJReXhGUVVGRExFdEJRVXNzUlVGQlJTeEhRVUZITEVWQlFVVXNSMEZCUnl4RlFVRkRMRU5CUVVNc1EwRkJRenRKUVVOc1F5eERRVUZETEVOQlFVTXNRMEZCUXp0SlFVVklMRTlCUVU4c1EwRkJReXhKUVVGSkxFTkJRVU1zUTBGQlF5eERRVUZETEVWQlFVVXNRMEZCUXl4RlFVRkZMRVZCUVVVN1VVRkRjRUlzU1VGQlNTeERRVUZETEVOQlFVTXNSMEZCUnl4TFFVRkxMRU5CUVVNc1EwRkJReXhIUVVGSE8xbEJRMnBDTEU5QlFVOHNRMEZCUXl4RFFVRkRMRWRCUVVjc1IwRkJSeXhEUVVGRExFTkJRVU1zUjBGQlJ5eERRVUZET3p0WlFVVnlRaXhQUVVGUExFTkJRVU1zUTBGQlF5eEhRVUZITEVkQlFVY3NRMEZCUXl4RFFVRkRMRWRCUVVjc1EwRkJRenRKUVVONlFpeERRVUZETEVOQlFVTXNRMEZCUXp0SlFVVklMRTFCUVUwc1QwRkJUeXhIUVVGaExFVkJRVVVzUTBGQlF6dEpRVU0zUWl4TlFVRk5MRTFCUVUwc1IwRkJZU3hGUVVGRkxFTkJRVU03U1VGRE5VSXNUVUZCVFN4TlFVRk5MRWRCUVdFc1JVRkJSU3hEUVVGRE8wbEJSVFZDTEVsQlFVa3NWVUZCVlN4SFFVRkhMRU5CUVVNc1EwRkJReXhEUVVGRE8wbEJRM0JDTEV0QlFVc3NTVUZCU1N4RFFVRkRMRWRCUVVjc1EwRkJReXhGUVVGRkxFTkJRVU1zUjBGQlJ5eFBRVUZQTEVOQlFVTXNUVUZCVFN4RlFVRkZMRU5CUVVNc1JVRkJSU3hGUVVGRk8xRkJRM1pETEUxQlFVMHNSVUZCUXl4SFFVRkhMRVZCUVVVc1IwRkJSeXhGUVVGRkxFdEJRVXNzUlVGQlF5eEhRVUZITEU5QlFVOHNRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJRenRSUVVOeVF5eEpRVUZKTEVkQlFVY3NTMEZCU3l4VlFVRlZMRVZCUVVVN1dVRkRkRUlzVlVGQlZTeEhRVUZITEVkQlFVY3NRMEZCUXp0WlFVTnFRaXhOUVVGTkxFTkJRVU1zU1VGQlNTeERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRPMU5CUTJoQ08xRkJRMFFzVDBGQlR5eERRVUZETEVsQlFVa3NRMEZCUXl4SFFVRkhMRU5CUVVNc1EwRkJRenRSUVVOc1FpeE5RVUZOTEVOQlFVTXNTVUZCU1N4RFFVRkRMRXRCUVVzc1EwRkJReXhEUVVGRE8wdEJRM0JDTzBsQlJVUXNUMEZCVHl4RlFVRkRMRTlCUVU4c1JVRkJSU3hOUVVGTkxFVkJRVVVzVFVGQlRTeEZRVUZETEVOQlFVTTdRVUZEYmtNc1EwRkJReUlzSW5OdmRYSmpaWE5EYjI1MFpXNTBJanBiSWk4cUtseHVJQ29nUUd4cFkyVnVjMlZjYmlBcVhHNGdLaUJEYjNCNWNtbG5hSFFnTWpBeE9TQkhiMjluYkdVZ1RFeERMaUJCYkd3Z1VtbG5hSFJ6SUZKbGMyVnlkbVZrTGx4dUlDcGNiaUFxSUV4cFkyVnVjMlZrSUhWdVpHVnlJSFJvWlNCQmNHRmphR1VnVEdsalpXNXpaU3dnVm1WeWMybHZiaUF5TGpBZ0tIUm9aU0JjSWt4cFkyVnVjMlZjSWlrN1hHNGdLaUI1YjNVZ2JXRjVJRzV2ZENCMWMyVWdkR2hwY3lCbWFXeGxJR1Y0WTJWd2RDQnBiaUJqYjIxd2JHbGhibU5sSUhkcGRHZ2dkR2hsSUV4cFkyVnVjMlV1WEc0Z0tpQlpiM1VnYldGNUlHOWlkR0ZwYmlCaElHTnZjSGtnYjJZZ2RHaGxJRXhwWTJWdWMyVWdZWFJjYmlBcVhHNGdLaUFnSUNBZ2FIUjBjRG92TDNkM2R5NWhjR0ZqYUdVdWIzSm5MMnhwWTJWdWMyVnpMMHhKUTBWT1UwVXRNaTR3WEc0Z0tseHVJQ29nVlc1c1pYTnpJSEpsY1hWcGNtVmtJR0o1SUdGd2NHeHBZMkZpYkdVZ2JHRjNJRzl5SUdGbmNtVmxaQ0IwYnlCcGJpQjNjbWwwYVc1bkxDQnpiMlowZDJGeVpWeHVJQ29nWkdsemRISnBZblYwWldRZ2RXNWtaWElnZEdobElFeHBZMlZ1YzJVZ2FYTWdaR2x6ZEhKcFluVjBaV1FnYjI0Z1lXNGdYQ0pCVXlCSlUxd2lJRUpCVTBsVExGeHVJQ29nVjBsVVNFOVZWQ0JYUVZKU1FVNVVTVVZUSUU5U0lFTlBUa1JKVkVsUFRsTWdUMFlnUVU1WklFdEpUa1FzSUdWcGRHaGxjaUJsZUhCeVpYTnpJRzl5SUdsdGNHeHBaV1F1WEc0Z0tpQlRaV1VnZEdobElFeHBZMlZ1YzJVZ1ptOXlJSFJvWlNCemNHVmphV1pwWXlCc1lXNW5kV0ZuWlNCbmIzWmxjbTVwYm1jZ2NHVnliV2x6YzJsdmJuTWdZVzVrWEc0Z0tpQnNhVzFwZEdGMGFXOXVjeUIxYm1SbGNpQjBhR1VnVEdsalpXNXpaUzVjYmlBcUlEMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFZ4dUlDb3ZYRzVjYm1sdGNHOXlkQ0FxSUdGeklIVjBhV3h6SUdaeWIyMGdKeTR2ZFhScGJITW5PMXh1WEc1MGVYQmxJRVZ1ZEhKNUlEMGdleUIyWVd4MVpUb2diblZ0WW1WeU95QnliM2M2SUc1MWJXSmxjanNnWTI5c09pQnVkVzFpWlhJZ2ZUdGNibHh1THlvcVhHNGdLaUJKYm5SbGNtNWhiQ0F5TFdScGJXVnVjMmx2Ym1Gc0lITndZWEp6WlNCdFlYUnlhWGdnWTJ4aGMzTmNiaUFxTDF4dVpYaHdiM0owSUdOc1lYTnpJRk53WVhKelpVMWhkSEpwZUNCN1hHNGdJSEJ5YVhaaGRHVWdaVzUwY21sbGN5QTlJRzVsZHlCTllYQThjM1J5YVc1bkxDQkZiblJ5ZVQ0b0tUdGNibHh1SUNCeVpXRmtiMjVzZVNCdVVtOTNjem9nYm5WdFltVnlJRDBnTUR0Y2JpQWdjbVZoWkc5dWJIa2dia052YkhNNklHNTFiV0psY2lBOUlEQTdYRzVjYmlBZ1kyOXVjM1J5ZFdOMGIzSW9YRzRnSUNBZ2NtOTNjem9nYm5WdFltVnlXMTBnZkNCSmJuUXpNa0Z5Y21GNUxGeHVJQ0FnSUdOdmJITTZJRzUxYldKbGNsdGRJSHdnU1c1ME16SkJjbkpoZVN4Y2JpQWdJQ0IyWVd4MVpYTTZJRzUxYldKbGNsdGRJSHdnUm14dllYUXpNa0Z5Y21GNUxGeHVJQ0FnSUdScGJYTTZJRzUxYldKbGNsdGRYRzRnSUNrZ2UxeHVJQ0FnSUdsbUlDaHliM2R6TG14bGJtZDBhQ0FoUFQwZ1kyOXNjeTVzWlc1bmRHZ2dmSHdnY205M2N5NXNaVzVuZEdnZ0lUMDlJSFpoYkhWbGN5NXNaVzVuZEdncElIdGNiaUFnSUNBZ0lIUm9jbTkzSUc1bGR5QkZjbkp2Y2loY2JpQWdJQ0FnSUNBZ0ozSnZkM01zSUdOdmJITWdZVzVrSUhaaGJIVmxjeUJoY25KaGVYTWdiWFZ6ZENCaGJHd2dhR0YyWlNCMGFHVWdjMkZ0WlNCc1pXNW5kR2duWEc0Z0lDQWdJQ0FwTzF4dUlDQWdJSDFjYmx4dUlDQWdJQzh2SUZSUFJFODZJRUZ6YzJWeWRDQjBhR0YwSUdScGJYTWdZWEpsSUd4bFoybDBMbHh1SUNBZ0lIUm9hWE11YmxKdmQzTWdQU0JrYVcxeld6QmRPMXh1SUNBZ0lIUm9hWE11YmtOdmJITWdQU0JrYVcxeld6RmRPMXh1SUNBZ0lHWnZjaUFvYkdWMElHa2dQU0F3T3lCcElEd2dkbUZzZFdWekxteGxibWQwYURzZ2FTc3JLU0I3WEc0Z0lDQWdJQ0JqYjI1emRDQnliM2NnUFNCeWIzZHpXMmxkTzF4dUlDQWdJQ0FnWTI5dWMzUWdZMjlzSUQwZ1kyOXNjMXRwWFR0Y2JpQWdJQ0FnSUhSb2FYTXVZMmhsWTJ0RWFXMXpLSEp2ZHl3Z1kyOXNLVHRjYmlBZ0lDQWdJR052Ym5OMElHdGxlU0E5SUhSb2FYTXViV0ZyWlV0bGVTaHliM2NzSUdOdmJDazdYRzRnSUNBZ0lDQjBhR2x6TG1WdWRISnBaWE11YzJWMEtHdGxlU3dnZTNaaGJIVmxPaUIyWVd4MVpYTmJhVjBzSUhKdmR5d2dZMjlzZlNrN1hHNGdJQ0FnZlZ4dUlDQjlYRzVjYmlBZ2NISnBkbUYwWlNCdFlXdGxTMlY1S0hKdmR6b2diblZ0WW1WeUxDQmpiMnc2SUc1MWJXSmxjaWs2SUhOMGNtbHVaeUI3WEc0Z0lDQWdjbVYwZFhKdUlHQWtlM0p2ZDMwNkpIdGpiMng5WUR0Y2JpQWdmVnh1WEc0Z0lIQnlhWFpoZEdVZ1kyaGxZMnRFYVcxektISnZkem9nYm5WdFltVnlMQ0JqYjJ3NklHNTFiV0psY2lrZ2UxeHVJQ0FnSUdOdmJuTjBJSGRwZEdocGJrSnZkVzVrY3lBOUlISnZkeUE4SUhSb2FYTXVibEp2ZDNNZ0ppWWdZMjlzSUR3Z2RHaHBjeTV1UTI5c2N6dGNiaUFnSUNCcFppQW9JWGRwZEdocGJrSnZkVzVrY3lsY2JpQWdJQ0FnSUhSb2NtOTNJRzVsZHlCRmNuSnZjaWduY205M0lHRnVaQzl2Y2lCamIyd2djM0JsWTJsbWFXVmtJRzkxZEhOcFpHVWdiMllnYldGMGNtbDRJR1JwYldWdWMybHZibk1uS1R0Y2JpQWdmVnh1WEc0Z0lITmxkQ2h5YjNjNklHNTFiV0psY2l3Z1kyOXNPaUJ1ZFcxaVpYSXNJSFpoYkhWbE9pQnVkVzFpWlhJcElIdGNiaUFnSUNCMGFHbHpMbU5vWldOclJHbHRjeWh5YjNjc0lHTnZiQ2s3WEc0Z0lDQWdZMjl1YzNRZ2EyVjVJRDBnZEdocGN5NXRZV3RsUzJWNUtISnZkeXdnWTI5c0tUdGNiaUFnSUNCcFppQW9JWFJvYVhNdVpXNTBjbWxsY3k1b1lYTW9hMlY1S1NsY2JpQWdJQ0FnSUhSb2FYTXVaVzUwY21sbGN5NXpaWFFvYTJWNUxDQjdkbUZzZFdVc0lISnZkeXdnWTI5c2ZTazdYRzRnSUNBZ1pXeHpaVnh1SUNBZ0lDQWdkR2hwY3k1bGJuUnlhV1Z6TG1kbGRDaHJaWGtwSVM1MllXeDFaU0E5SUhaaGJIVmxPMXh1SUNCOVhHNWNiaUFnWjJWMEtISnZkem9nYm5WdFltVnlMQ0JqYjJ3NklHNTFiV0psY2l3Z1pHVm1ZWFZzZEZaaGJIVmxJRDBnTUNrZ2UxeHVJQ0FnSUM4dmRHaHBjeTVqYUdWamEwUnBiWE1vY205M0xDQmpiMndwTzF4dUlDQWdJR052Ym5OMElHdGxlU0E5SUhSb2FYTXViV0ZyWlV0bGVTaHliM2NzSUdOdmJDazdYRzRnSUNBZ2FXWWdLSFJvYVhNdVpXNTBjbWxsY3k1b1lYTW9hMlY1S1NsY2JpQWdJQ0FnSUhKbGRIVnliaUIwYUdsekxtVnVkSEpwWlhNdVoyVjBLR3RsZVNraExuWmhiSFZsTzF4dUlDQWdJR1ZzYzJWY2JpQWdJQ0FnSUhKbGRIVnliaUJrWldaaGRXeDBWbUZzZFdVN1hHNGdJSDFjYmx4dUlDQm5aWFJCYkd3b2IzSmtaWEpsWkNBOUlIUnlkV1VwT2lCN0lIWmhiSFZsT2lCdWRXMWlaWEk3SUhKdmR6b2diblZ0WW1WeU95QmpiMnc2SUc1MWJXSmxjaUI5VzEwZ2UxeHVJQ0FnSUdOdmJuTjBJSEp2ZDBOdmJGWmhiSFZsY3pvZ1JXNTBjbmxiWFNBOUlHNWxkeUJCY25KaGVTaDBhR2x6TG1WdWRISnBaWE11YzJsNlpTa3VabWxzYkNodWRXeHNLVHRjYmlBZ0lDQnNaWFFnYVNBOUlEQTdYRzRnSUNBZ2RHaHBjeTVsYm5SeWFXVnpMbVp2Y2tWaFkyZ29LSFpoYkhWbEtTQTlQaUI3WEc0Z0lDQWdJQ0J5YjNkRGIyeFdZV3gxWlhOYmFTc3JYU0E5SUhaaGJIVmxPMXh1SUNBZ0lIMHBPMXh1SUNBZ0lHbG1JQ2h2Y21SbGNtVmtLU0I3WEc0Z0lDQWdJQ0F2THlCUGNtUmxjbWx1WnlCMGFHVWdjbVZ6ZFd4MElHbHpiaWQwSUhKbGNYVnBjbVZrSUdadmNpQndjbTlqWlhOemFXNW5JR0oxZENCcGRDQmtiMlZ6SUcxaGEyVWdhWFFnWldGemFXVnlJSFJ2SUhkeWFYUmxJSFJsYzNSelhHNGdJQ0FnSUNCeWIzZERiMnhXWVd4MVpYTXVjMjl5ZENnb1lTd2dZaWtnUFQ0Z2UxeHVJQ0FnSUNBZ0lDQnBaaUFvWVM1eWIzY2dQVDA5SUdJdWNtOTNLVnh1SUNBZ0lDQWdJQ0FnSUhKbGRIVnliaUJoTG1OdmJDQXRJR0l1WTI5c08xeHVJQ0FnSUNBZ0lDQmxiSE5sWEc0Z0lDQWdJQ0FnSUNBZ2NtVjBkWEp1SUdFdWNtOTNJQzBnWWk1eWIzYzdYRzRnSUNBZ0lDQjlLVHRjYmlBZ0lDQjlYRzRnSUNBZ2NtVjBkWEp1SUhKdmQwTnZiRlpoYkhWbGN6dGNiaUFnZlZ4dVhHNGdJR2RsZEVScGJYTW9LVG9nYm5WdFltVnlXMTBnZTF4dUlDQWdJSEpsZEhWeWJpQmJkR2hwY3k1dVVtOTNjeXdnZEdocGN5NXVRMjlzYzEwN1hHNGdJSDFjYmx4dUlDQm5aWFJTYjNkektDazZJRzUxYldKbGNsdGRJSHRjYmlBZ0lDQnlaWFIxY200Z1FYSnlZWGt1Wm5KdmJTaDBhR2x6TG1WdWRISnBaWE1zSUNoYlgydGxlU3dnZG1Gc2RXVmRLU0E5UGlCMllXeDFaUzV5YjNjcE8xeHVJQ0FnSUM4dklISmxkSFZ5YmlCMGFHbHpMbkp2ZDNNZ1lYTWdkVzVyYm05M2JpQmhjeUJ1ZFcxaVpYSmJYVHRjYmlBZ2ZWeHVYRzRnSUdkbGRFTnZiSE1vS1RvZ2JuVnRZbVZ5VzEwZ2UxeHVJQ0FnSUhKbGRIVnliaUJCY25KaGVTNW1jbTl0S0hSb2FYTXVaVzUwY21sbGN5d2dLRnRmYTJWNUxDQjJZV3gxWlYwcElEMCtJSFpoYkhWbExtTnZiQ2s3WEc0Z0lDQWdMeThnY21WMGRYSnVJSFJvYVhNdVkyOXNjeUJoY3lCMWJtdHViM2R1SUdGeklHNTFiV0psY2x0ZE8xeHVJQ0I5WEc1Y2JpQWdaMlYwVm1Gc2RXVnpLQ2s2SUc1MWJXSmxjbHRkSUh0Y2JpQWdJQ0J5WlhSMWNtNGdRWEp5WVhrdVpuSnZiU2gwYUdsekxtVnVkSEpwWlhNc0lDaGJYMnRsZVN3Z2RtRnNkV1ZkS1NBOVBpQjJZV3gxWlM1MllXeDFaU2s3WEc0Z0lDOHZjbVYwZFhKdUlIUm9hWE11ZG1Gc2RXVnpJR0Z6SUhWdWEyNXZkMjRnWVhNZ2JuVnRZbVZ5VzEwN1hHNGdJSDFjYmx4dUlDQm1iM0pGWVdOb0tHWnVPaUFvZG1Gc2RXVTZJRzUxYldKbGNpd2djbTkzT2lCdWRXMWlaWElzSUdOdmJEb2diblZ0WW1WeUtTQTlQaUIyYjJsa0tUb2dkbTlwWkNCN1hHNGdJQ0FnZEdocGN5NWxiblJ5YVdWekxtWnZja1ZoWTJnb0tIWmhiSFZsS1NBOVBpQm1iaWgyWVd4MVpTNTJZV3gxWlN3Z2RtRnNkV1V1Y205M0xDQjJZV3gxWlM1amIyd3BLVHRjYmlBZ2ZWeHVYRzRnSUcxaGNDaG1iam9nS0haaGJIVmxPaUJ1ZFcxaVpYSXNJSEp2ZHpvZ2JuVnRZbVZ5TENCamIydzZJRzUxYldKbGNpa2dQVDRnYm5WdFltVnlLVG9nVTNCaGNuTmxUV0YwY21sNElIdGNiaUFnSUNCamIyNXpkQ0IyWVd4eklEMGdibVYzSUVac2IyRjBNekpCY25KaGVTaDBhR2x6TG1WdWRISnBaWE11YzJsNlpTazdYRzRnSUNBZ2JHVjBJR2tnUFNBd08xeHVJQ0FnSUhSb2FYTXVaVzUwY21sbGN5NW1iM0pGWVdOb0tDaDJZV3gxWlNrZ1BUNGdlMXh1SUNBZ0lDQWdkbUZzYzF0cEt5dGRJRDBnWm00b2RtRnNkV1V1ZG1Gc2RXVXNJSFpoYkhWbExuSnZkeXdnZG1Gc2RXVXVZMjlzS1R0Y2JpQWdJQ0I5S1R0Y2JpQWdJQ0JqYjI1emRDQmthVzF6SUQwZ1czUm9hWE11YmxKdmQzTXNJSFJvYVhNdWJrTnZiSE5kTzF4dUlDQWdJSEpsZEhWeWJpQnVaWGNnVTNCaGNuTmxUV0YwY21sNEtIUm9hWE11WjJWMFVtOTNjeWdwTENCMGFHbHpMbWRsZEVOdmJITW9LU3dnZG1Gc2N5QmhjeUIxYm10dWIzZHVJR0Z6SUc1MWJXSmxjbHRkTENCa2FXMXpLVHRjYmlBZ2ZWeHVYRzRnSUhSdlFYSnlZWGtvS1NCN1hHNGdJQ0FnWTI5dWMzUWdjbTkzY3pvZ2RXNWtaV1pwYm1Wa1cxMGdQU0IxZEdsc2N5NWxiWEIwZVNoMGFHbHpMbTVTYjNkektUdGNiaUFnSUNCamIyNXpkQ0J2ZFhSd2RYUWdQU0J5YjNkekxtMWhjQ2dvS1NBOVBpQjdYRzRnSUNBZ0lDQnlaWFIxY200Z2RYUnBiSE11ZW1WeWIzTW9kR2hwY3k1dVEyOXNjeWs3WEc0Z0lDQWdmU2s3WEc0Z0lDQWdkR2hwY3k1bGJuUnlhV1Z6TG1admNrVmhZMmdvS0haaGJIVmxLU0E5UGlCN1hHNGdJQ0FnSUNCdmRYUndkWFJiZG1Gc2RXVXVjbTkzWFZ0MllXeDFaUzVqYjJ4ZElEMGdkbUZzZFdVdWRtRnNkV1U3WEc0Z0lDQWdmU2s3WEc0Z0lDQWdjbVYwZFhKdUlHOTFkSEIxZER0Y2JpQWdmVnh1ZlZ4dVhHNHZLaXBjYmlBcUlGUnlZVzV6Y0c5elpTQmhJSE53WVhKelpTQnRZWFJ5YVhoY2JpQXFMMXh1Wlhod2IzSjBJR1oxYm1OMGFXOXVJSFJ5WVc1emNHOXpaU2h0WVhSeWFYZzZJRk53WVhKelpVMWhkSEpwZUNrNklGTndZWEp6WlUxaGRISnBlQ0I3WEc0Z0lHTnZibk4wSUc5c1pGSnZkM01nUFNCdFlYUnlhWGd1WjJWMFVtOTNjeWdwTzF4dUlDQmpiMjV6ZENCdmJHUkRiMnh6SUQwZ2JXRjBjbWw0TG1kbGRFTnZiSE1vS1R0Y2JpQWdZMjl1YzNRZ2IyeGtWbUZzY3lBOUlHMWhkSEpwZUM1blpYUldZV3gxWlhNb0tUdGNiaUFnWTI5dWMzUWdiV0YwYkdWdUlEMGdiMnhrUTI5c2N5NXNaVzVuZEdnN1hHNGdJR052Ym5OMElHTnZiSE1nUFNCdVpYY2dTVzUwTXpKQmNuSmhlU2h0WVhSc1pXNHBPMXh1SUNCamIyNXpkQ0J5YjNkeklEMGdibVYzSUVsdWRETXlRWEp5WVhrb2JXRjBiR1Z1S1R0Y2JpQWdZMjl1YzNRZ2RtRnNjeUE5SUc1bGR5QkdiRzloZERNeVFYSnlZWGtvYldGMGJHVnVLVHRjYmx4dUlDQmpiMnh6TG5ObGRDaHZiR1JTYjNkektUdGNiaUFnY205M2N5NXpaWFFvYjJ4a1EyOXNjeWs3WEc0Z0lIWmhiSE11YzJWMEtHOXNaRlpoYkhNcE8xeHVJQ0JqYjI1emRDQmthVzF6SUQwZ1cyMWhkSEpwZUM1dVEyOXNjeXdnYldGMGNtbDRMbTVTYjNkelhUdGNiaUFnY21WMGRYSnVJRzVsZHlCVGNHRnljMlZOWVhSeWFYZ29jbTkzY3l3Z1kyOXNjeXdnZG1Gc2N5d2daR2x0Y3lrN1hHNTlYRzVjYmk4cUtseHVJQ29nUTI5dWMzUnlkV04wSUdFZ2MzQmhjbk5sSUdsa1pXNTBhWFI1SUcxaGRISnBlRnh1SUNvdlhHNWxlSEJ2Y25RZ1puVnVZM1JwYjI0Z2FXUmxiblJwZEhrb2MybDZaVG9nYm5WdFltVnlXMTBwT2lCVGNHRnljMlZOWVhSeWFYZ2dlMXh1SUNCamIyNXpkQ0JiY205M2MxMGdQU0J6YVhwbE8xeHVJQ0JqYjI1emRDQnRZWFJ5YVhnZ1BTQnVaWGNnVTNCaGNuTmxUV0YwY21sNEtGdGRMQ0JiWFN3Z1cxMHNJSE5wZW1VcE8xeHVJQ0JtYjNJZ0tHeGxkQ0JwSUQwZ01Ec2dhU0E4SUhKdmQzTTdJR2tyS3lsY2JpQWdJQ0J0WVhSeWFYZ3VjMlYwS0drc0lHa3NJREVwTzF4dVhHNGdJSEpsZEhWeWJpQnRZWFJ5YVhnN1hHNTlYRzVjYmk4cUtseHVJQ29nUld4bGJXVnVkQzEzYVhObElHMTFiSFJwY0d4cFkyRjBhVzl1SUc5bUlIUjNieUJ0WVhSeWFXTmxjMXh1SUNvdlhHNWxlSEJ2Y25RZ1puVnVZM1JwYjI0Z2NHRnBjbmRwYzJWTmRXeDBhWEJzZVNoY2JpQWdZVG9nVTNCaGNuTmxUV0YwY21sNExGeHVJQ0JpT2lCVGNHRnljMlZOWVhSeWFYaGNiaWs2SUZOd1lYSnpaVTFoZEhKcGVDQjdYRzRnSUhKbGRIVnliaUJsYkdWdFpXNTBWMmx6WlNoaExDQmlMQ0FvZUN3Z2VTa2dQVDRnZUNBcUlIa3BPMXh1ZlZ4dVhHNHZLaXBjYmlBcUlFVnNaVzFsYm5RdGQybHpaU0JoWkdScGRHbHZiaUJ2WmlCMGQyOGdiV0YwY21salpYTmNiaUFxTDF4dVpYaHdiM0owSUdaMWJtTjBhVzl1SUdGa1pDaGhPaUJUY0dGeWMyVk5ZWFJ5YVhnc0lHSTZJRk53WVhKelpVMWhkSEpwZUNrNklGTndZWEp6WlUxaGRISnBlQ0I3WEc0Z0lISmxkSFZ5YmlCbGJHVnRaVzUwVjJselpTaGhMQ0JpTENBb2VDd2dlU2tnUFQ0Z2VDQXJJSGtwTzF4dWZWeHVYRzR2S2lwY2JpQXFJRVZzWlcxbGJuUXRkMmx6WlNCemRXSjBjbUZqZEdsdmJpQnZaaUIwZDI4Z2JXRjBjbWxqWlhOY2JpQXFMMXh1Wlhod2IzSjBJR1oxYm1OMGFXOXVJSE4xWW5SeVlXTjBLR0U2SUZOd1lYSnpaVTFoZEhKcGVDd2dZam9nVTNCaGNuTmxUV0YwY21sNEtUb2dVM0JoY25ObFRXRjBjbWw0SUh0Y2JpQWdjbVYwZFhKdUlHVnNaVzFsYm5SWGFYTmxLR0VzSUdJc0lDaDRMQ0I1S1NBOVBpQjRJQzBnZVNrN1hHNTlYRzVjYmk4cUtseHVJQ29nUld4bGJXVnVkQzEzYVhObElHMWhlR2x0ZFcwZ2IyWWdkSGR2SUcxaGRISnBZMlZ6WEc0Z0tpOWNibVY0Y0c5eWRDQm1kVzVqZEdsdmJpQnRZWGhwYlhWdEtHRTZJRk53WVhKelpVMWhkSEpwZUN3Z1lqb2dVM0JoY25ObFRXRjBjbWw0S1RvZ1UzQmhjbk5sVFdGMGNtbDRJSHRjYmlBZ2NtVjBkWEp1SUdWc1pXMWxiblJYYVhObEtHRXNJR0lzSUNoNExDQjVLU0E5UGlBb2VDQStJSGtnUHlCNElEb2dlU2twTzF4dWZWeHVYRzR2S2lwY2JpQXFJRk5qWVd4aGNpQnRkV3gwYVhCc2FXTmhkR2x2YmlCdlppQjBkMjhnYldGMGNtbGpaWE5jYmlBcUwxeHVaWGh3YjNKMElHWjFibU4wYVc5dUlHMTFiSFJwY0d4NVUyTmhiR0Z5S0dFNklGTndZWEp6WlUxaGRISnBlQ3dnYzJOaGJHRnlPaUJ1ZFcxaVpYSXBPaUJUY0dGeWMyVk5ZWFJ5YVhnZ2UxeHVJQ0J5WlhSMWNtNGdZUzV0WVhBb0tIWmhiSFZsT2lCdWRXMWlaWElwSUQwK0lIdGNiaUFnSUNCeVpYUjFjbTRnZG1Gc2RXVWdLaUJ6WTJGc1lYSTdYRzRnSUgwcE8xeHVmVnh1WEc0dktpcGNiaUFxSUZKbGRIVnlibk1nWVNCdVpYY2diV0YwY21sNElIZHBkR2dnZW1WeWJ5QmxiblJ5YVdWeklISmxiVzkyWldRdVhHNGdLaTljYm1WNGNHOXlkQ0JtZFc1amRHbHZiaUJsYkdsdGFXNWhkR1ZhWlhKdmN5aHRPaUJUY0dGeWMyVk5ZWFJ5YVhncElIdGNiaUFnWTI5dWMzUWdlbVZ5YjBsdVpHbGpaWE1nUFNCdVpYY2dVMlYwS0NrN1hHNGdJR052Ym5OMElIWmhiSFZsY3lBOUlHMHVaMlYwVm1Gc2RXVnpLQ2s3WEc0Z0lHTnZibk4wSUhKdmQzTWdQU0J0TG1kbGRGSnZkM01vS1R0Y2JpQWdZMjl1YzNRZ1kyOXNjeUE5SUcwdVoyVjBRMjlzY3lncE8xeHVJQ0JtYjNJZ0tHeGxkQ0JwSUQwZ01Ec2dhU0E4SUhaaGJIVmxjeTVzWlc1bmRHZzdJR2tyS3lrZ2UxeHVJQ0FnSUdsbUlDaDJZV3gxWlhOYmFWMGdQVDA5SURBcFhHNGdJQ0FnSUNCNlpYSnZTVzVrYVdObGN5NWhaR1FvYVNrN1hHNGdJSDFjYmlBZ1kyOXVjM1FnY21WdGIzWmxRbmxhWlhKdlNXNWtaWGdnUFNBb1h6b2dZVzU1TENCcGJtUmxlRG9nYm5WdFltVnlLU0E5UGlBaGVtVnliMGx1WkdsalpYTXVhR0Z6S0dsdVpHVjRLVHRjYmlBZ1kyOXVjM1FnYm1WNGRGWmhiSFZsY3lBOUlIWmhiSFZsY3k1bWFXeDBaWElvY21WdGIzWmxRbmxhWlhKdlNXNWtaWGdwTzF4dUlDQmpiMjV6ZENCdVpYaDBVbTkzY3lBOUlISnZkM011Wm1sc2RHVnlLSEpsYlc5MlpVSjVXbVZ5YjBsdVpHVjRLVHRjYmlBZ1kyOXVjM1FnYm1WNGRFTnZiSE1nUFNCamIyeHpMbVpwYkhSbGNpaHlaVzF2ZG1WQ2VWcGxjbTlKYm1SbGVDazdYRzVjYmlBZ2NtVjBkWEp1SUc1bGR5QlRjR0Z5YzJWTllYUnlhWGdvYm1WNGRGSnZkM01zSUc1bGVIUkRiMnh6TENCdVpYaDBWbUZzZFdWekxDQnRMbWRsZEVScGJYTW9LU2s3WEc1OVhHNWNiaThxS2x4dUlDb2dUbTl5YldGc2FYcGhkR2x2YmlCdlppQmhJSE53WVhKelpTQnRZWFJ5YVhndVhHNGdLaTljYm1WNGNHOXlkQ0JtZFc1amRHbHZiaUJ1YjNKdFlXeHBlbVVvYlRvZ1UzQmhjbk5sVFdGMGNtbDRMQ0J1YjNKdFZIbHdaU0E5SUU1dmNtMVVlWEJsTG13eUtTQjdYRzRnSUdOdmJuTjBJRzV2Y20xR2JpQTlJRzV2Y20xR2JuTmJibTl5YlZSNWNHVmRPMXh1WEc0Z0lHTnZibk4wSUdOdmJITkNlVkp2ZHlBOUlHNWxkeUJOWVhBOGJuVnRZbVZ5TENCdWRXMWlaWEpiWFQ0b0tUdGNiaUFnYlM1bWIzSkZZV05vS0NoZkxDQnliM2NzSUdOdmJDa2dQVDRnZTF4dUlDQWdJR052Ym5OMElHTnZiSE1nUFNCamIyeHpRbmxTYjNjdVoyVjBLSEp2ZHlrZ2ZId2dXMTA3WEc0Z0lDQWdZMjlzY3k1d2RYTm9LR052YkNrN1hHNGdJQ0FnWTI5c2MwSjVVbTkzTG5ObGRDaHliM2NzSUdOdmJITXBPMXh1SUNCOUtUdGNibHh1SUNCamIyNXpkQ0J1WlhoMFRXRjBjbWw0SUQwZ2JtVjNJRk53WVhKelpVMWhkSEpwZUNoYlhTd2dXMTBzSUZ0ZExDQnRMbWRsZEVScGJYTW9LU2s3WEc1Y2JpQWdabTl5SUNoamIyNXpkQ0J5YjNjZ2IyWWdZMjlzYzBKNVVtOTNMbXRsZVhNb0tTa2dlMXh1SUNBZ0lHTnZibk4wSUdOdmJITWdQU0JqYjJ4elFubFNiM2N1WjJWMEtISnZkeWtoTG5OdmNuUW9LVHRjYmx4dUlDQWdJR052Ym5OMElIWmhiSE1nUFNCamIyeHpMbTFoY0Nnb1kyOXNLU0E5UGlCdExtZGxkQ2h5YjNjc0lHTnZiQ2twTzF4dUlDQWdJR052Ym5OMElHNXZjbTBnUFNCdWIzSnRSbTRvZG1Gc2N5azdYRzRnSUNBZ1ptOXlJQ2hzWlhRZ2FTQTlJREE3SUdrZ1BDQnViM0p0TG14bGJtZDBhRHNnYVNzcktWeHVJQ0FnSUNBZ2JtVjRkRTFoZEhKcGVDNXpaWFFvY205M0xDQmpiMnh6VzJsZExDQnViM0p0VzJsZEtUdGNiaUFnZlZ4dVhHNGdJSEpsZEhWeWJpQnVaWGgwVFdGMGNtbDRPMXh1ZlZ4dVhHNHZLaXBjYmlBcUlGWmxZM1J2Y2lCdWIzSnRZV3hwZW1GMGFXOXVJR1oxYm1OMGFXOXVjMXh1SUNvdlhHNTBlWEJsSUU1dmNtMUdibk1nUFNCN0lGdHJaWGtnYVc0Z1RtOXliVlI1Y0dWZE9pQW9kam9nYm5WdFltVnlXMTBwSUQwK0lHNTFiV0psY2x0ZElIMDdYRzVqYjI1emRDQnViM0p0Um01ek9pQk9iM0p0Um01eklEMGdlMXh1SUNCYlRtOXliVlI1Y0dVdWJXRjRYVG9nS0hoek9pQnVkVzFpWlhKYlhTa2dQVDRnZTF4dUlDQWdJR3hsZENCdFlYZ2dQU0F0U1c1bWFXNXBkSGs3WEc0Z0lDQWdabTl5SUNoc1pYUWdhU0E5SURBN0lHa2dQQ0I0Y3k1c1pXNW5kR2c3SUdrckt5bGNiaUFnSUNBZ0lHMWhlQ0E5SUhoelcybGRJRDRnYldGNElEOGdlSE5iYVYwZ09pQnRZWGc3WEc1Y2JpQWdJQ0J5WlhSMWNtNGdlSE11YldGd0tDaDRLU0E5UGlCNElDOGdiV0Y0S1R0Y2JpQWdmU3hjYmlBZ1cwNXZjbTFVZVhCbExtd3hYVG9nS0hoek9pQnVkVzFpWlhKYlhTa2dQVDRnZTF4dUlDQWdJR3hsZENCemRXMGdQU0F3TzF4dUlDQWdJR1p2Y2lBb2JHVjBJR2tnUFNBd095QnBJRHdnZUhNdWJHVnVaM1JvT3lCcEt5c3BYRzRnSUNBZ0lDQnpkVzBnS3owZ2VITmJhVjA3WEc1Y2JpQWdJQ0J5WlhSMWNtNGdlSE11YldGd0tDaDRLU0E5UGlCNElDOGdjM1Z0S1R0Y2JpQWdmU3hjYmlBZ1cwNXZjbTFVZVhCbExtd3lYVG9nS0hoek9pQnVkVzFpWlhKYlhTa2dQVDRnZTF4dUlDQWdJR3hsZENCemRXMGdQU0F3TzF4dUlDQWdJR1p2Y2lBb2JHVjBJR2tnUFNBd095QnBJRHdnZUhNdWJHVnVaM1JvT3lCcEt5c3BYRzRnSUNBZ0lDQnpkVzBnS3owZ2VITmJhVjBnS2lvZ01qdGNibHh1SUNBZ0lISmxkSFZ5YmlCNGN5NXRZWEFvS0hncElEMCtJRTFoZEdndWMzRnlkQ2g0SUNvcUlESWdMeUJ6ZFcwcEtUdGNiaUFnZlN4Y2JuMDdYRzVjYm1WNGNHOXlkQ0JqYjI1emRDQmxiblZ0SUU1dmNtMVVlWEJsSUh0Y2JpQWdiV0Y0SUQwZ0oyMWhlQ2NzWEc0Z0lHd3hJRDBnSjJ3eEp5eGNiaUFnYkRJZ1BTQW5iREluTEZ4dWZWeHVYRzR2S2lwY2JpQXFJRWhsYkhCbGNpQm1kVzVqZEdsdmJpQm1iM0lnWld4bGJXVnVkQzEzYVhObElHOXdaWEpoZEdsdmJuTXVYRzRnS2k5Y2JtWjFibU4wYVc5dUlHVnNaVzFsYm5SWGFYTmxLRnh1SUNCaE9pQlRjR0Z5YzJWTllYUnlhWGdzWEc0Z0lHSTZJRk53WVhKelpVMWhkSEpwZUN4Y2JpQWdiM0E2SUNoNE9pQnVkVzFpWlhJc0lIazZJRzUxYldKbGNpa2dQVDRnYm5WdFltVnlYRzRwT2lCVGNHRnljMlZOWVhSeWFYZ2dlMXh1SUNCamIyNXpkQ0IyYVhOcGRHVmtJRDBnYm1WM0lGTmxkRHh6ZEhKcGJtYytLQ2s3WEc0Z0lHTnZibk4wSUhKdmQzTTZJRzUxYldKbGNsdGRJRDBnVzEwN1hHNGdJR052Ym5OMElHTnZiSE02SUc1MWJXSmxjbHRkSUQwZ1cxMDdYRzRnSUdOdmJuTjBJSFpoYkhNNklHNTFiV0psY2x0ZElEMGdXMTA3WEc1Y2JpQWdZMjl1YzNRZ2IzQmxjbUYwWlNBOUlDaHliM2M2SUc1MWJXSmxjaXdnWTI5c09pQnVkVzFpWlhJcElEMCtJSHRjYmlBZ0lDQnliM2R6TG5CMWMyZ29jbTkzS1R0Y2JpQWdJQ0JqYjJ4ekxuQjFjMmdvWTI5c0tUdGNiaUFnSUNCamIyNXpkQ0J1WlhoMFZtRnNkV1VnUFNCdmNDaGhMbWRsZENoeWIzY3NJR052YkNrc0lHSXVaMlYwS0hKdmR5d2dZMjlzS1NrN1hHNGdJQ0FnZG1Gc2N5NXdkWE5vS0c1bGVIUldZV3gxWlNrN1hHNGdJSDA3WEc0Z0lHTnZibk4wSUhaaGJIVmxjMEVnUFNCaExtZGxkRlpoYkhWbGN5Z3BPMXh1SUNCamIyNXpkQ0J5YjNkelFTQTlJR0V1WjJWMFVtOTNjeWdwTzF4dUlDQmpiMjV6ZENCamIyeHpRU0E5SUdFdVoyVjBRMjlzY3lncE8xeHVJQ0JtYjNJZ0tHeGxkQ0JwSUQwZ01Ec2dhU0E4SUhaaGJIVmxjMEV1YkdWdVozUm9PeUJwS3lzcElIdGNiaUFnSUNCamIyNXpkQ0J5YjNjZ1BTQnliM2R6UVZ0cFhUdGNiaUFnSUNCamIyNXpkQ0JqYjJ3Z1BTQmpiMnh6UVZ0cFhUdGNiaUFnSUNCamIyNXpkQ0JyWlhrZ1BTQmdKSHR5YjNkOU9pUjdZMjlzZldBN1hHNGdJQ0FnZG1semFYUmxaQzVoWkdRb2EyVjVLVHRjYmlBZ0lDQnZjR1Z5WVhSbEtISnZkeXdnWTI5c0tUdGNiaUFnZlZ4dVhHNGdJR052Ym5OMElIWmhiSFZsYzBJZ1BTQmlMbWRsZEZaaGJIVmxjeWdwTzF4dUlDQmpiMjV6ZENCeWIzZHpRaUE5SUdJdVoyVjBVbTkzY3lncE8xeHVJQ0JqYjI1emRDQmpiMnh6UWlBOUlHSXVaMlYwUTI5c2N5Z3BPMXh1SUNCbWIzSWdLR3hsZENCcElEMGdNRHNnYVNBOElIWmhiSFZsYzBJdWJHVnVaM1JvT3lCcEt5c3BJSHRjYmlBZ0lDQmpiMjV6ZENCeWIzY2dQU0J5YjNkelFsdHBYVHRjYmlBZ0lDQmpiMjV6ZENCamIyd2dQU0JqYjJ4elFsdHBYVHRjYmlBZ0lDQmpiMjV6ZENCclpYa2dQU0JnSkh0eWIzZDlPaVI3WTI5c2ZXQTdYRzRnSUNBZ2FXWWdLSFpwYzJsMFpXUXVhR0Z6S0d0bGVTa3BJR052Ym5ScGJuVmxPMXh1SUNBZ0lHOXdaWEpoZEdVb2NtOTNMQ0JqYjJ3cE8xeHVJQ0I5WEc1Y2JpQWdZMjl1YzNRZ1pHbHRjeUE5SUZ0aExtNVNiM2R6TENCaExtNURiMnh6WFR0Y2JpQWdjbVYwZFhKdUlHNWxkeUJUY0dGeWMyVk5ZWFJ5YVhnb2NtOTNjeXdnWTI5c2N5d2dkbUZzY3l3Z1pHbHRjeWs3WEc1OVhHNWNiaThxS2x4dUlDb2dTR1ZzY0dWeUlHWjFibU4wYVc5dUlHWnZjaUJuWlhSMGFXNW5JR1JoZEdFc0lHbHVaR2xqWlhNc0lHRnVaQ0JwYm5CMGNpQmhjbkpoZVhNZ1puSnZiU0JoSUhOd1lYSnpaVnh1SUNvZ2JXRjBjbWw0SUhSdklHWnZiR3h2ZHlCamMzSWdiV0YwY21sNElHTnZiblpsYm5ScGIyNXpMaUJUZFhCbGNpQnBibVZtWm1samFXVnVkQ0FvWVc1a0lHdHBibVFnYjJaY2JpQXFJR1JsWm1WaGRITWdkR2hsSUhCMWNuQnZjMlVnYjJZZ2RHaHBjeUJqYjI1MlpXNTBhVzl1S1NCaWRYUWdZU0JzYjNRZ2IyWWdkR2hsSUhCdmNuUmxaQ0J3ZVhSb2IyNGdkSEpsWlZ4dUlDb2djMlZoY21Ob0lHeHZaMmxqSUdSbGNHVnVaSE1nYjI0Z2RHaHBjeUJrWVhSaElHWnZjbTFoZEM1Y2JpQXFMMXh1Wlhod2IzSjBJR1oxYm1OMGFXOXVJR2RsZEVOVFVpaDRPaUJUY0dGeWMyVk5ZWFJ5YVhncElIdGNiaUFnWTI5dWMzUWdaVzUwY21sbGN6b2dSVzUwY25sYlhTQTlJRnRkTzF4dVhHNGdJSGd1Wm05eVJXRmphQ2dvZG1Gc2RXVXNJSEp2ZHl3Z1kyOXNLU0E5UGlCN1hHNGdJQ0FnWlc1MGNtbGxjeTV3ZFhOb0tIdDJZV3gxWlN3Z2NtOTNMQ0JqYjJ4OUtUdGNiaUFnZlNrN1hHNWNiaUFnWlc1MGNtbGxjeTV6YjNKMEtDaGhMQ0JpS1NBOVBpQjdYRzRnSUNBZ2FXWWdLR0V1Y205M0lEMDlQU0JpTG5KdmR5bGNiaUFnSUNBZ0lISmxkSFZ5YmlCaExtTnZiQ0F0SUdJdVkyOXNPMXh1SUNBZ0lHVnNjMlZjYmlBZ0lDQWdJSEpsZEhWeWJpQmhMbkp2ZHlBdElHSXVjbTkzTzF4dUlDQjlLVHRjYmx4dUlDQmpiMjV6ZENCcGJtUnBZMlZ6T2lCdWRXMWlaWEpiWFNBOUlGdGRPMXh1SUNCamIyNXpkQ0IyWVd4MVpYTTZJRzUxYldKbGNsdGRJRDBnVzEwN1hHNGdJR052Ym5OMElHbHVaSEIwY2pvZ2JuVnRZbVZ5VzEwZ1BTQmJYVHRjYmx4dUlDQnNaWFFnWTNWeWNtVnVkRkp2ZHlBOUlDMHhPMXh1SUNCbWIzSWdLR3hsZENCcElEMGdNRHNnYVNBOElHVnVkSEpwWlhNdWJHVnVaM1JvT3lCcEt5c3BJSHRjYmlBZ0lDQmpiMjV6ZENCN2NtOTNMQ0JqYjJ3c0lIWmhiSFZsZlNBOUlHVnVkSEpwWlhOYmFWMDdYRzRnSUNBZ2FXWWdLSEp2ZHlBaFBUMGdZM1Z5Y21WdWRGSnZkeWtnZTF4dUlDQWdJQ0FnWTNWeWNtVnVkRkp2ZHlBOUlISnZkenRjYmlBZ0lDQWdJR2x1WkhCMGNpNXdkWE5vS0drcE8xeHVJQ0FnSUgxY2JpQWdJQ0JwYm1ScFkyVnpMbkIxYzJnb1kyOXNLVHRjYmlBZ0lDQjJZV3gxWlhNdWNIVnphQ2gyWVd4MVpTazdYRzRnSUgxY2JseHVJQ0J5WlhSMWNtNGdlMmx1WkdsalpYTXNJSFpoYkhWbGN5d2dhVzVrY0hSeWZUdGNibjFjYmlKZGZRPT0iLCIvKipcbiAqIEBsaWNlbnNlXG4gKlxuICogQ29weXJpZ2h0IDIwMTkgR29vZ2xlIExMQy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAqL1xuLyoqXG4gKiBUaGlzIGlzIGEgSmF2YVNjcmlwdCByZWltcGxlbWVudGF0aW9uIG9mIFVNQVAgKG9yaWdpbmFsIGxpY2Vuc2UgYmVsb3cpLCBmcm9tXG4gKiB0aGUgcHl0aG9uIGltcGxlbWVudGF0aW9uIGZvdW5kIGF0IGh0dHBzOi8vZ2l0aHViLmNvbS9sbWNpbm5lcy91bWFwLlxuICpcbiAqIEBhdXRob3IgYW5keWNvZW5lbkBnb29nbGUuY29tIChBbmR5IENvZW5lbilcbiAqL1xuLyoqXG4gKiBAbGljZW5zZVxuICogQlNEIDMtQ2xhdXNlIExpY2Vuc2VcbiAqXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTcsIExlbGFuZCBNY0lubmVzXG4gKiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICpcbiAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dFxuICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6XG4gKlxuICogKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXNcbiAqICAgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuXG4gKlxuICogKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsXG4gKiAgIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb25cbiAqICAgYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uXG4gKlxuICogKiBOZWl0aGVyIHRoZSBuYW1lIG9mIHRoZSBjb3B5cmlnaHQgaG9sZGVyIG5vciB0aGUgbmFtZXMgb2YgaXRzXG4gKiAgIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tXG4gKiAgIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uXG4gKlxuICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyBcIkFTIElTXCJcbiAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEVcbiAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRVxuICogRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBIT0xERVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRVxuICogRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUxcbiAqIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SXG4gKiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUlxuICogQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSxcbiAqIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFXG4gKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLlxuICovXG5pbXBvcnQgKiBhcyB1dGlscyBmcm9tICcuL3V0aWxzJztcbmV4cG9ydCBjbGFzcyBGbGF0VHJlZSB7XG4gICAgaHlwZXJwbGFuZXM7XG4gICAgb2Zmc2V0cztcbiAgICBjaGlsZHJlbjtcbiAgICBpbmRpY2VzO1xuICAgIGNvbnN0cnVjdG9yKGh5cGVycGxhbmVzLCBvZmZzZXRzLCBjaGlsZHJlbiwgaW5kaWNlcykge1xuICAgICAgICB0aGlzLmh5cGVycGxhbmVzID0gaHlwZXJwbGFuZXM7XG4gICAgICAgIHRoaXMub2Zmc2V0cyA9IG9mZnNldHM7XG4gICAgICAgIHRoaXMuY2hpbGRyZW4gPSBjaGlsZHJlbjtcbiAgICAgICAgdGhpcy5pbmRpY2VzID0gaW5kaWNlcztcbiAgICB9XG59XG4vKipcbiAqIEJ1aWxkIGEgcmFuZG9tIHByb2plY3Rpb24gZm9yZXN0IHdpdGggYGBuVHJlZXNgYC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIG1ha2VGb3Jlc3QoZGF0YSwgbk5laWdoYm9ycywgblRyZWVzLCByYW5kb20pIHtcbiAgICBjb25zdCBsZWFmU2l6ZSA9IE1hdGgubWF4KDEwLCBuTmVpZ2hib3JzKTtcbiAgICBjb25zdCB0cmVlcyA9IHV0aWxzXG4gICAgICAgIC5yYW5nZShuVHJlZXMpXG4gICAgICAgIC5tYXAoKF8sIGkpID0+IG1ha2VUcmVlKGRhdGEsIGxlYWZTaXplLCBpLCByYW5kb20pKTtcbiAgICBjb25zdCBmb3Jlc3QgPSB0cmVlcy5tYXAoKHRyZWUpID0+IGZsYXR0ZW5UcmVlKHRyZWUsIGxlYWZTaXplKSk7XG4gICAgcmV0dXJuIGZvcmVzdDtcbn1cbi8qKlxuICogQ29uc3RydWN0IGEgcmFuZG9tIHByb2plY3Rpb24gdHJlZSBiYXNlZCBvbiBgYGRhdGFgYCB3aXRoIGxlYXZlc1xuICogb2Ygc2l6ZSBhdCBtb3N0IGBgbGVhZlNpemVgYFxuICovXG5mdW5jdGlvbiBtYWtlVHJlZShkYXRhLCBsZWFmU2l6ZSA9IDMwLCBuLCByYW5kb20pIHtcbiAgICBjb25zdCBpbmRpY2VzID0gdXRpbHMucmFuZ2UoZGF0YS5sZW5ndGgpO1xuICAgIGNvbnN0IHRyZWUgPSBtYWtlRXVjbGlkZWFuVHJlZShkYXRhLCBpbmRpY2VzLCBsZWFmU2l6ZSwgbiwgcmFuZG9tKTtcbiAgICByZXR1cm4gdHJlZTtcbn1cbmZ1bmN0aW9uIG1ha2VFdWNsaWRlYW5UcmVlKGRhdGEsIGluZGljZXMsIGxlYWZTaXplID0gMzAsIHEsIHJhbmRvbSkge1xuICAgIGlmIChpbmRpY2VzLmxlbmd0aCA+IGxlYWZTaXplKSB7XG4gICAgICAgIGNvbnN0IHNwbGl0UmVzdWx0cyA9IGV1Y2xpZGVhblJhbmRvbVByb2plY3Rpb25TcGxpdChkYXRhLCBpbmRpY2VzLCByYW5kb20pO1xuICAgICAgICBjb25zdCB7IGluZGljZXNMZWZ0LCBpbmRpY2VzUmlnaHQsIGh5cGVycGxhbmUsIG9mZnNldCB9ID0gc3BsaXRSZXN1bHRzO1xuICAgICAgICBjb25zdCBsZWZ0Q2hpbGQgPSBtYWtlRXVjbGlkZWFuVHJlZShkYXRhLCBpbmRpY2VzTGVmdCwgbGVhZlNpemUsIHEgKyAxLCByYW5kb20pO1xuICAgICAgICBjb25zdCByaWdodENoaWxkID0gbWFrZUV1Y2xpZGVhblRyZWUoZGF0YSwgaW5kaWNlc1JpZ2h0LCBsZWFmU2l6ZSwgcSArIDEsIHJhbmRvbSk7XG4gICAgICAgIGNvbnN0IG5vZGUgPSB7IGxlZnRDaGlsZCwgcmlnaHRDaGlsZCwgaXNMZWFmOiBmYWxzZSwgaHlwZXJwbGFuZSwgb2Zmc2V0IH07XG4gICAgICAgIHJldHVybiBub2RlO1xuICAgIH1cbiAgICBlbHNlIHtcbiAgICAgICAgY29uc3Qgbm9kZSA9IHsgaW5kaWNlcywgaXNMZWFmOiB0cnVlIH07XG4gICAgICAgIHJldHVybiBub2RlO1xuICAgIH1cbn1cbi8qKlxuICogR2l2ZW4gYSBzZXQgb2YgYGBpbmRpY2VzYGAgZm9yIGRhdGEgcG9pbnRzIGZyb20gYGBkYXRhYGAsIGNyZWF0ZVxuICogYSByYW5kb20gaHlwZXJwbGFuZSB0byBzcGxpdCB0aGUgZGF0YSwgcmV0dXJuaW5nIHR3byBhcnJheXMgaW5kaWNlc1xuICogdGhhdCBmYWxsIG9uIGVpdGhlciBzaWRlIG9mIHRoZSBoeXBlcnBsYW5lLiBUaGlzIGlzIHRoZSBiYXNpcyBmb3IgYVxuICogcmFuZG9tIHByb2plY3Rpb24gdHJlZSwgd2hpY2ggc2ltcGx5IHVzZXMgdGhpcyBzcGxpdHRpbmcgcmVjdXJzaXZlbHkuXG4gKiBUaGlzIHBhcnRpY3VsYXIgc3BsaXQgdXNlcyBldWNsaWRlYW4gZGlzdGFuY2UgdG8gZGV0ZXJtaW5lIHRoZSBoeXBlcnBsYW5lXG4gKiBhbmQgd2hpY2ggc2lkZSBlYWNoIGRhdGEgc2FtcGxlIGZhbGxzIG9uLlxuICovXG5mdW5jdGlvbiBldWNsaWRlYW5SYW5kb21Qcm9qZWN0aW9uU3BsaXQoZGF0YSwgaW5kaWNlcywgcmFuZG9tKSB7XG4gICAgLy9jb25zdCBkaW0gPSAxO1xuICAgIC8vIFNlbGVjdCB0d28gcmFuZG9tIHBvaW50cywgc2V0IHRoZSBoeXBlcnBsYW5lIGJldHdlZW4gdGhlbVxuICAgIGNvbnN0IGxlZnRJbmRleCA9IHV0aWxzLnRhdVJhbmRJbnQoaW5kaWNlcy5sZW5ndGgsIHJhbmRvbSk7XG4gICAgbGV0IHJpZ2h0SW5kZXggPSB1dGlscy50YXVSYW5kSW50KGluZGljZXMubGVuZ3RoLCByYW5kb20pO1xuICAgIHJpZ2h0SW5kZXggKz0gbGVmdEluZGV4ID09PSByaWdodEluZGV4ID8gMSA6IDA7XG4gICAgcmlnaHRJbmRleCA9IHJpZ2h0SW5kZXggJSBpbmRpY2VzLmxlbmd0aDtcbiAgICBjb25zdCBsZWZ0ID0gaW5kaWNlc1tsZWZ0SW5kZXhdO1xuICAgIGNvbnN0IHJpZ2h0ID0gaW5kaWNlc1tyaWdodEluZGV4XTtcbiAgICAvLyBDb21wdXRlIHRoZSBub3JtYWwgdmVjdG9yIHRvIHRoZSBoeXBlcnBsYW5lICh0aGUgdmVjdG9yIGJldHdlZW4gdGhlIHR3b1xuICAgIC8vIHBvaW50cykgYW5kIHRoZSBvZmZzZXQgZnJvbSB0aGUgb3JpZ2luXG4gICAgbGV0IGh5cGVycGxhbmVPZmZzZXQgPSAwO1xuICAgIGxldCBoeXBlcnBsYW5lVmVjdG9yID0gMDtcbiAgICBoeXBlcnBsYW5lVmVjdG9yID0gZGF0YVtsZWZ0XSAtIGRhdGFbcmlnaHRdO1xuICAgIGh5cGVycGxhbmVPZmZzZXQgLT1cbiAgICAgICAgKGh5cGVycGxhbmVWZWN0b3IgKiAoZGF0YVtsZWZ0XSArIGRhdGFbcmlnaHRdKSkgLyAyLjA7XG4gICAgLy8gRm9yIGVhY2ggcG9pbnQgY29tcHV0ZSB0aGUgbWFyZ2luIChwcm9qZWN0IGludG8gbm9ybWFsIHZlY3RvcilcbiAgICAvLyBJZiB3ZSBhcmUgb24gbG93ZXIgc2lkZSBvZiB0aGUgaHlwZXJwbGFuZSBwdXQgaW4gb25lIHBpbGUsIG90aGVyd2lzZVxuICAgIC8vIHB1dCBpdCBpbiB0aGUgb3RoZXIgcGlsZSAoaWYgd2UgaGl0IGh5cGVycGxhbmUgb24gdGhlIG5vc2UsIGZsaXAgYSBjb2luKVxuICAgIGxldCBuTGVmdCA9IDA7XG4gICAgbGV0IG5SaWdodCA9IDA7XG4gICAgY29uc3Qgc2lkZSA9IHV0aWxzLnplcm9zKGluZGljZXMubGVuZ3RoKTtcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IGluZGljZXMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgbGV0IG1hcmdpbiA9IGh5cGVycGxhbmVPZmZzZXQ7XG4gICAgICAgIG1hcmdpbiArPSBoeXBlcnBsYW5lVmVjdG9yICogZGF0YVtpbmRpY2VzW2ldXTtcbiAgICAgICAgaWYgKG1hcmdpbiA9PT0gMCkge1xuICAgICAgICAgICAgc2lkZVtpXSA9IHV0aWxzLnRhdVJhbmRJbnQoMiwgcmFuZG9tKTtcbiAgICAgICAgICAgIGlmIChzaWRlW2ldID09PSAwKVxuICAgICAgICAgICAgICAgIG5MZWZ0ICs9IDE7XG4gICAgICAgICAgICBlbHNlXG4gICAgICAgICAgICAgICAgblJpZ2h0ICs9IDE7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSBpZiAobWFyZ2luID4gMCkge1xuICAgICAgICAgICAgc2lkZVtpXSA9IDA7XG4gICAgICAgICAgICBuTGVmdCArPSAxO1xuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgc2lkZVtpXSA9IDE7XG4gICAgICAgICAgICBuUmlnaHQgKz0gMTtcbiAgICAgICAgfVxuICAgIH1cbiAgICAvLyBOb3cgdGhhdCB3ZSBoYXZlIHRoZSBjb3VudHMsIGFsbG9jYXRlIGFycmF5c1xuICAgIGNvbnN0IGluZGljZXNMZWZ0ID0gdXRpbHMuemVyb3MobkxlZnQpO1xuICAgIGNvbnN0IGluZGljZXNSaWdodCA9IHV0aWxzLnplcm9zKG5SaWdodCk7XG4gICAgLy8gUG9wdWxhdGUgdGhlIGFycmF5cyB3aXRoIGluZGljZXMgYWNjb3JkaW5nIHRvIHdoaWNoIHNpZGUgdGhleSBmZWxsIG9uXG4gICAgbkxlZnQgPSAwO1xuICAgIG5SaWdodCA9IDA7XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBzaWRlLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgIGlmIChzaWRlW2ldID09PSAwKSB7XG4gICAgICAgICAgICBpbmRpY2VzTGVmdFtuTGVmdF0gPSBpbmRpY2VzW2ldO1xuICAgICAgICAgICAgbkxlZnQgKz0gMTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIGluZGljZXNSaWdodFtuUmlnaHRdID0gaW5kaWNlc1tpXTtcbiAgICAgICAgICAgIG5SaWdodCArPSAxO1xuICAgICAgICB9XG4gICAgfVxuICAgIHJldHVybiB7XG4gICAgICAgIGluZGljZXNMZWZ0LFxuICAgICAgICBpbmRpY2VzUmlnaHQsXG4gICAgICAgIGh5cGVycGxhbmU6IGh5cGVycGxhbmVWZWN0b3IsXG4gICAgICAgIG9mZnNldDogaHlwZXJwbGFuZU9mZnNldCxcbiAgICB9O1xufVxuZnVuY3Rpb24gZmxhdHRlblRyZWUodHJlZSwgbGVhZlNpemUpIHtcbiAgICBjb25zdCBuTm9kZXMgPSBudW1Ob2Rlcyh0cmVlKTtcbiAgICBjb25zdCBuTGVhdmVzID0gbnVtTGVhdmVzKHRyZWUpO1xuICAgIC8vIFRPRE86IFZlcmlmeSB0aGF0IHNwYXJzZSBjb2RlIGlzIG5vdCByZWxldmFudC4uLlxuICAgIGNvbnN0IGh5cGVycGxhbmVzID0gdXRpbHNcbiAgICAgICAgLnJhbmdlKG5Ob2RlcylcbiAgICAgICAgLm1hcCgoKSA9PiB0cmVlLmh5cGVycGxhbmUgPyAxIDogMCk7XG4gICAgY29uc3Qgb2Zmc2V0cyA9IHV0aWxzLnplcm9zKG5Ob2Rlcyk7XG4gICAgY29uc3QgY2hpbGRyZW4gPSB1dGlscy5yYW5nZShuTm9kZXMpLm1hcCgoKSA9PiBbLTEsIC0xXSk7XG4gICAgY29uc3QgaW5kaWNlcyA9IHV0aWxzXG4gICAgICAgIC5yYW5nZShuTGVhdmVzKVxuICAgICAgICAubWFwKCgpID0+IHV0aWxzLnJhbmdlKGxlYWZTaXplKS5tYXAoKCkgPT4gLTEpKTtcbiAgICByZWN1cnNpdmVGbGF0dGVuKHRyZWUsIGh5cGVycGxhbmVzLCBvZmZzZXRzLCBjaGlsZHJlbiwgaW5kaWNlcywgMCwgMCk7XG4gICAgcmV0dXJuIG5ldyBGbGF0VHJlZShoeXBlcnBsYW5lcywgb2Zmc2V0cywgY2hpbGRyZW4sIGluZGljZXMpO1xufVxuZnVuY3Rpb24gcmVjdXJzaXZlRmxhdHRlbih0cmVlLCBoeXBlcnBsYW5lcywgb2Zmc2V0cywgY2hpbGRyZW4sIGluZGljZXMsIG5vZGVOdW0sIGxlYWZOdW0pIHtcbiAgICBpZiAodHJlZS5pc0xlYWYpIHtcbiAgICAgICAgY2hpbGRyZW5bbm9kZU51bV1bMF0gPSAtbGVhZk51bTtcbiAgICAgICAgLy8gVE9ETzogVHJpcGxlIGNoZWNrIHRoaXMgb3BlcmF0aW9uIGNvcnJlc3BvbmRzIHRvXG4gICAgICAgIC8vIGluZGljZXNbbGVhZk51bSA6IHRyZWUuaW5kaWNlcy5zaGFwZVswXV0gPSB0cmVlLmluZGljZXNcbiAgICAgICAgaW5kaWNlc1tsZWFmTnVtXS5zcGxpY2UoMCwgdHJlZS5pbmRpY2VzLmxlbmd0aCwgLi4udHJlZS5pbmRpY2VzKTtcbiAgICAgICAgbGVhZk51bSArPSAxO1xuICAgICAgICByZXR1cm4geyBub2RlTnVtLCBsZWFmTnVtIH07XG4gICAgfVxuICAgIGVsc2Uge1xuICAgICAgICBoeXBlcnBsYW5lc1tub2RlTnVtXSA9IHRyZWUuaHlwZXJwbGFuZTtcbiAgICAgICAgb2Zmc2V0c1tub2RlTnVtXSA9IHRyZWUub2Zmc2V0O1xuICAgICAgICBjaGlsZHJlbltub2RlTnVtXVswXSA9IG5vZGVOdW0gKyAxO1xuICAgICAgICBjb25zdCBvbGROb2RlTnVtID0gbm9kZU51bTtcbiAgICAgICAgbGV0IHJlcyA9IHJlY3Vyc2l2ZUZsYXR0ZW4odHJlZS5sZWZ0Q2hpbGQsIGh5cGVycGxhbmVzLCBvZmZzZXRzLCBjaGlsZHJlbiwgaW5kaWNlcywgbm9kZU51bSArIDEsIGxlYWZOdW0pO1xuICAgICAgICBub2RlTnVtID0gcmVzLm5vZGVOdW07XG4gICAgICAgIGxlYWZOdW0gPSByZXMubGVhZk51bTtcbiAgICAgICAgY2hpbGRyZW5bb2xkTm9kZU51bV1bMV0gPSBub2RlTnVtICsgMTtcbiAgICAgICAgcmVzID0gcmVjdXJzaXZlRmxhdHRlbih0cmVlLnJpZ2h0Q2hpbGQsIGh5cGVycGxhbmVzLCBvZmZzZXRzLCBjaGlsZHJlbiwgaW5kaWNlcywgbm9kZU51bSArIDEsIGxlYWZOdW0pO1xuICAgICAgICByZXR1cm4geyBub2RlTnVtOiByZXMubm9kZU51bSwgbGVhZk51bTogcmVzLmxlYWZOdW0gfTtcbiAgICB9XG59XG5mdW5jdGlvbiBudW1Ob2Rlcyh0cmVlKSB7XG4gICAgaWYgKHRyZWUuaXNMZWFmKVxuICAgICAgICByZXR1cm4gMTtcbiAgICBlbHNlXG4gICAgICAgIHJldHVybiAxICsgbnVtTm9kZXModHJlZS5sZWZ0Q2hpbGQpICsgbnVtTm9kZXModHJlZS5yaWdodENoaWxkKTtcbn1cbmZ1bmN0aW9uIG51bUxlYXZlcyh0cmVlKSB7XG4gICAgaWYgKHRyZWUuaXNMZWFmKVxuICAgICAgICByZXR1cm4gMTtcbiAgICBlbHNlXG4gICAgICAgIHJldHVybiBudW1MZWF2ZXModHJlZS5sZWZ0Q2hpbGQpICsgbnVtTGVhdmVzKHRyZWUucmlnaHRDaGlsZCk7XG59XG4vKipcbiAqIEdlbmVyYXRlIGFuIGFycmF5IG9mIHNldHMgb2YgY2FuZGlkYXRlIG5lYXJlc3QgbmVpZ2hib3JzIGJ5XG4gKiBjb25zdHJ1Y3RpbmcgYSByYW5kb20gcHJvamVjdGlvbiBmb3Jlc3QgYW5kIHRha2luZyB0aGUgbGVhdmVzIG9mIGFsbCB0aGVcbiAqIHRyZWVzLiBBbnkgZ2l2ZW4gdHJlZSBoYXMgbGVhdmVzIHRoYXQgYXJlIGEgc2V0IG9mIHBvdGVudGlhbCBuZWFyZXN0XG4gKiBuZWlnaGJvcnMuIEdpdmVuIGVub3VnaCB0cmVlcyB0aGUgc2V0IG9mIGFsbCBzdWNoIGxlYXZlcyBnaXZlcyBhIGdvb2RcbiAqIGxpa2VsaWhvb2Qgb2YgZ2V0dGluZyBhIGdvb2Qgc2V0IG9mIG5lYXJlc3QgbmVpZ2hib3JzIGluIGNvbXBvc2l0ZS4gU2luY2VcbiAqIHN1Y2ggYSByYW5kb20gcHJvamVjdGlvbiBmb3Jlc3QgaXMgaW5leHBlbnNpdmUgdG8gY29tcHV0ZSwgdGhpcyBjYW4gYmUgYVxuICogdXNlZnVsIG1lYW5zIG9mIHNlZWRpbmcgb3RoZXIgbmVhcmVzdCBuZWlnaGJvciBhbGdvcml0aG1zLlxuICovXG5leHBvcnQgZnVuY3Rpb24gbWFrZUxlYWZBcnJheShycEZvcmVzdCkge1xuICAgIGlmIChycEZvcmVzdC5sZW5ndGggPiAwKSB7XG4gICAgICAgIGNvbnN0IG91dHB1dCA9IFtdO1xuICAgICAgICBmb3IgKGNvbnN0IHRyZWUgb2YgcnBGb3Jlc3QpXG4gICAgICAgICAgICBvdXRwdXQucHVzaCguLi50cmVlLmluZGljZXMpO1xuICAgICAgICByZXR1cm4gb3V0cHV0O1xuICAgIH1cbiAgICBlbHNlIHtcbiAgICAgICAgcmV0dXJuIFtbLTFdXTtcbiAgICB9XG59XG4vKipcbiAqIFNlbGVjdHMgdGhlIHNpZGUgb2YgdGhlIHRyZWUgdG8gc2VhcmNoIGR1cmluZyBmbGF0IHRyZWUgc2VhcmNoLlxuICovXG5mdW5jdGlvbiBzZWxlY3RTaWRlKGh5cGVycGxhbmUsIG9mZnNldCwgcG9pbnQsIHJhbmRvbSkge1xuICAgIGxldCBtYXJnaW4gPSBvZmZzZXQ7XG4gICAgbWFyZ2luICs9IGh5cGVycGxhbmUgKiBwb2ludDtcbiAgICBpZiAobWFyZ2luID09PSAwKSB7XG4gICAgICAgIGNvbnN0IHNpZGUgPSB1dGlscy50YXVSYW5kSW50KDIsIHJhbmRvbSk7XG4gICAgICAgIHJldHVybiBzaWRlO1xuICAgIH1cbiAgICBlbHNlIGlmIChtYXJnaW4gPiAwKSB7XG4gICAgICAgIHJldHVybiAwO1xuICAgIH1cbiAgICBlbHNlIHtcbiAgICAgICAgcmV0dXJuIDE7XG4gICAgfVxufVxuLyoqXG4gKiBTZWFyY2hlcyBhIGZsYXR0ZW5lZCBycC10cmVlIGZvciBhIHBvaW50LlxuICovXG5leHBvcnQgZnVuY3Rpb24gc2VhcmNoRmxhdFRyZWUocG9pbnQsIHRyZWUsIHJhbmRvbSkge1xuICAgIGxldCBub2RlID0gMDtcbiAgICB3aGlsZSAodHJlZS5jaGlsZHJlbltub2RlXVswXSA+IDApIHtcbiAgICAgICAgY29uc3Qgc2lkZSA9IHNlbGVjdFNpZGUodHJlZS5oeXBlcnBsYW5lc1tub2RlXSwgdHJlZS5vZmZzZXRzW25vZGVdLCBwb2ludCwgcmFuZG9tKTtcbiAgICAgICAgaWYgKHNpZGUgPT09IDApXG4gICAgICAgICAgICBub2RlID0gdHJlZS5jaGlsZHJlbltub2RlXVswXTtcbiAgICAgICAgZWxzZVxuICAgICAgICAgICAgbm9kZSA9IHRyZWUuY2hpbGRyZW5bbm9kZV1bMV07XG4gICAgfVxuICAgIGNvbnN0IGluZGV4ID0gLTEgKiB0cmVlLmNoaWxkcmVuW25vZGVdWzBdO1xuICAgIHJldHVybiB0cmVlLmluZGljZXNbaW5kZXhdO1xufVxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKbWFXeGxJam9pZEhKbFpTNXFjeUlzSW5OdmRYSmpaVkp2YjNRaU9pSWlMQ0p6YjNWeVkyVnpJanBiSW5SeVpXVXVkSE1pWFN3aWJtRnRaWE1pT2x0ZExDSnRZWEJ3YVc1bmN5STZJa0ZCUVVFN096czdPenM3T3pzN096czdPenM3TzBkQmFVSkhPMEZCUlVnN096czdPMGRCUzBjN1FVRkZTRHM3T3pzN096czdPenM3T3pzN096czdPenM3T3pzN096czdPenM3T3p0SFFTdENSenRCUVVWSUxFOUJRVThzUzBGQlN5eExRVUZMTEUxQlFVMHNVMEZCVXl4RFFVRkRPMEZCWldwRExFMUJRVTBzVDBGQlR5eFJRVUZSTzBsQlJWWTdTVUZEUVR0SlFVTkJPMGxCUTBFN1NVRktWQ3haUVVOVExGZEJRWEZDTEVWQlEzSkNMRTlCUVdsQ0xFVkJRMnBDTEZGQlFXOUNMRVZCUTNCQ0xFOUJRVzFDTzFGQlNHNUNMR2RDUVVGWExFZEJRVmdzVjBGQlZ5eERRVUZWTzFGQlEzSkNMRmxCUVU4c1IwRkJVQ3hQUVVGUExFTkJRVlU3VVVGRGFrSXNZVUZCVVN4SFFVRlNMRkZCUVZFc1EwRkJXVHRSUVVOd1FpeFpRVUZQTEVkQlFWQXNUMEZCVHl4RFFVRlpPMGxCUTNwQ0xFTkJRVU03UTBGRFREdEJRVVZFT3p0SFFVVkhPMEZCUTBnc1RVRkJUU3hWUVVGVkxGVkJRVlVzUTBGRGVFSXNTVUZCV1N4RlFVTmFMRlZCUVd0Q0xFVkJRMnhDTEUxQlFXTXNSVUZEWkN4TlFVRm5RanRKUVVWb1FpeE5RVUZOTEZGQlFWRXNSMEZCUnl4SlFVRkpMRU5CUVVNc1IwRkJSeXhEUVVGRExFVkJRVVVzUlVGQlJTeFZRVUZWTEVOQlFVTXNRMEZCUXp0SlFVVXhReXhOUVVGTkxFdEJRVXNzUjBGQlJ5eExRVUZMTzFOQlEyaENMRXRCUVVzc1EwRkJReXhOUVVGTkxFTkJRVU03VTBGRFlpeEhRVUZITEVOQlFVTXNRMEZCUXl4RFFVRkRMRVZCUVVVc1EwRkJReXhGUVVGRkxFVkJRVVVzUTBGQlF5eFJRVUZSTEVOQlFVTXNTVUZCU1N4RlFVRkZMRkZCUVZFc1JVRkJSU3hEUVVGRExFVkJRVVVzVFVGQlRTeERRVUZETEVOQlFVTXNRMEZCUXp0SlFVTjBSQ3hOUVVGTkxFMUJRVTBzUjBGQlJ5eExRVUZMTEVOQlFVTXNSMEZCUnl4RFFVRkRMRU5CUVVNc1NVRkJTU3hGUVVGRkxFVkJRVVVzUTBGQlF5eFhRVUZYTEVOQlFVTXNTVUZCU1N4RlFVRkZMRkZCUVZFc1EwRkJReXhEUVVGRExFTkJRVU03U1VGRmFFVXNUMEZCVHl4TlFVRk5MRU5CUVVNN1FVRkRhRUlzUTBGQlF6dEJRVVZFT3pzN1IwRkhSenRCUVVOSUxGTkJRVk1zVVVGQlVTeERRVU5tTEVsQlFWa3NSVUZEV2l4UlFVRlJMRWRCUVVjc1JVRkJSU3hGUVVOaUxFTkJRVk1zUlVGRFZDeE5RVUZuUWp0SlFVVm9RaXhOUVVGTkxFOUJRVThzUjBGQlJ5eExRVUZMTEVOQlFVTXNTMEZCU3l4RFFVRkRMRWxCUVVrc1EwRkJReXhOUVVGTkxFTkJRVU1zUTBGQlF6dEpRVU42UXl4TlFVRk5MRWxCUVVrc1IwRkJSeXhwUWtGQmFVSXNRMEZCUXl4SlFVRkpMRVZCUVVVc1QwRkJUeXhGUVVGRkxGRkJRVkVzUlVGQlJTeERRVUZETEVWQlFVVXNUVUZCVFN4RFFVRkRMRU5CUVVNN1NVRkRia1VzVDBGQlR5eEpRVUZKTEVOQlFVTTdRVUZEWkN4RFFVRkRPMEZCUlVRc1UwRkJVeXhwUWtGQmFVSXNRMEZEZUVJc1NVRkJXU3hGUVVOYUxFOUJRV2xDTEVWQlEycENMRkZCUVZFc1IwRkJSeXhGUVVGRkxFVkJRMklzUTBGQlV5eEZRVU5VTEUxQlFXZENPMGxCUldoQ0xFbEJRVWtzVDBGQlR5eERRVUZETEUxQlFVMHNSMEZCUnl4UlFVRlJMRVZCUVVVN1VVRkROMElzVFVGQlRTeFpRVUZaTEVkQlFVY3NPRUpCUVRoQ0xFTkJRVU1zU1VGQlNTeEZRVUZGTEU5QlFVOHNSVUZCUlN4TlFVRk5MRU5CUVVNc1EwRkJRenRSUVVNelJTeE5RVUZOTEVWQlFVTXNWMEZCVnl4RlFVRkZMRmxCUVZrc1JVRkJSU3hWUVVGVkxFVkJRVVVzVFVGQlRTeEZRVUZETEVkQlFVY3NXVUZCV1N4RFFVRkRPMUZCUlhKRkxFMUJRVTBzVTBGQlV5eEhRVUZITEdsQ1FVRnBRaXhEUVVOcVF5eEpRVUZKTEVWQlEwb3NWMEZCVnl4RlFVTllMRkZCUVZFc1JVRkRVaXhEUVVGRExFZEJRVWNzUTBGQlF5eEZRVU5NTEUxQlFVMHNRMEZEVUN4RFFVRkRPMUZCUTBZc1RVRkJUU3hWUVVGVkxFZEJRVWNzYVVKQlFXbENMRU5CUTJ4RExFbEJRVWtzUlVGRFNpeFpRVUZaTEVWQlExb3NVVUZCVVN4RlFVTlNMRU5CUVVNc1IwRkJSeXhEUVVGRExFVkJRMHdzVFVGQlRTeERRVU5RTEVOQlFVTTdVVUZGUml4TlFVRk5MRWxCUVVrc1IwRkJSeXhGUVVGRExGTkJRVk1zUlVGQlJTeFZRVUZWTEVWQlFVVXNUVUZCVFN4RlFVRkZMRXRCUVVzc1JVRkJSU3hWUVVGVkxFVkJRVVVzVFVGQlRTeEZRVUZETEVOQlFVTTdVVUZEZUVVc1QwRkJUeXhKUVVGSkxFTkJRVU03UzBGRFlqdFRRVUZOTzFGQlEwd3NUVUZCVFN4SlFVRkpMRWRCUVVjc1JVRkJReXhQUVVGUExFVkJRVVVzVFVGQlRTeEZRVUZGTEVsQlFVa3NSVUZCUXl4RFFVRkRPMUZCUTNKRExFOUJRVThzU1VGQlNTeERRVUZETzB0QlEySTdRVUZEU0N4RFFVRkRPMEZCUlVRN096czdPenM3UjBGUFJ6dEJRVU5JTEZOQlFWTXNPRUpCUVRoQ0xFTkJRM0pETEVsQlFWa3NSVUZEV2l4UFFVRnBRaXhGUVVOcVFpeE5RVUZuUWp0SlFVVm9RaXhuUWtGQlowSTdTVUZGYUVJc05FUkJRVFJFTzBsQlF6VkVMRTFCUVUwc1UwRkJVeXhIUVVGSExFdEJRVXNzUTBGQlF5eFZRVUZWTEVOQlFVTXNUMEZCVHl4RFFVRkRMRTFCUVUwc1JVRkJSU3hOUVVGTkxFTkJRVU1zUTBGQlF6dEpRVU16UkN4SlFVRkpMRlZCUVZVc1IwRkJSeXhMUVVGTExFTkJRVU1zVlVGQlZTeERRVUZETEU5QlFVOHNRMEZCUXl4TlFVRk5MRVZCUVVVc1RVRkJUU3hEUVVGRExFTkJRVU03U1VGRE1VUXNWVUZCVlN4SlFVRkpMRk5CUVZNc1MwRkJTeXhWUVVGVkxFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRE8wbEJReTlETEZWQlFWVXNSMEZCUnl4VlFVRlZMRWRCUVVjc1QwRkJUeXhEUVVGRExFMUJRVTBzUTBGQlF6dEpRVU42UXl4TlFVRk5MRWxCUVVrc1IwRkJSeXhQUVVGUExFTkJRVU1zVTBGQlV5eERRVUZETEVOQlFVTTdTVUZEYUVNc1RVRkJUU3hMUVVGTExFZEJRVWNzVDBGQlR5eERRVUZETEZWQlFWVXNRMEZCUXl4RFFVRkRPMGxCUld4RExEQkZRVUV3UlR0SlFVTXhSU3g1UTBGQmVVTTdTVUZEZWtNc1NVRkJTU3huUWtGQlowSXNSMEZCUnl4RFFVRkRMRU5CUVVNN1NVRkRla0lzU1VGQlNTeG5Ra0ZCWjBJc1IwRkJSeXhEUVVGRExFTkJRVU03U1VGSGVrSXNaMEpCUVdkQ0xFZEJRVWNzU1VGQlNTeERRVUZETEVsQlFVa3NRMEZCUXl4SFFVRkhMRWxCUVVrc1EwRkJReXhMUVVGTExFTkJRVU1zUTBGQlF6dEpRVU0xUXl4blFrRkJaMEk3VVVGRFpDeERRVUZETEdkQ1FVRm5RaXhIUVVGSExFTkJRVU1zU1VGQlNTeERRVUZETEVsQlFVa3NRMEZCUXl4SFFVRkhMRWxCUVVrc1EwRkJReXhMUVVGTExFTkJRVU1zUTBGQlF5eERRVUZETEVkQlFVY3NSMEZCUnl4RFFVRkRPMGxCUjNoRUxHbEZRVUZwUlR0SlFVTnFSU3gxUlVGQmRVVTdTVUZEZGtVc01rVkJRVEpGTzBsQlF6TkZMRWxCUVVrc1MwRkJTeXhIUVVGSExFTkJRVU1zUTBGQlF6dEpRVU5rTEVsQlFVa3NUVUZCVFN4SFFVRkhMRU5CUVVNc1EwRkJRenRKUVVObUxFMUJRVTBzU1VGQlNTeEhRVUZITEV0QlFVc3NRMEZCUXl4TFFVRkxMRU5CUVVNc1QwRkJUeXhEUVVGRExFMUJRVTBzUTBGQlF5eERRVUZETzBsQlEzcERMRXRCUVVzc1NVRkJTU3hEUVVGRExFZEJRVWNzUTBGQlF5eEZRVUZGTEVOQlFVTXNSMEZCUnl4UFFVRlBMRU5CUVVNc1RVRkJUU3hGUVVGRkxFTkJRVU1zUlVGQlJTeEZRVUZGTzFGQlEzWkRMRWxCUVVrc1RVRkJUU3hIUVVGSExHZENRVUZuUWl4RFFVRkRPMUZCUlRsQ0xFMUJRVTBzU1VGQlNTeG5Ra0ZCWjBJc1IwRkJSeXhKUVVGSkxFTkJRVU1zVDBGQlR5eERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNN1VVRkZPVU1zU1VGQlNTeE5RVUZOTEV0QlFVc3NRMEZCUXl4RlFVRkZPMWxCUTJoQ0xFbEJRVWtzUTBGQlF5eERRVUZETEVOQlFVTXNSMEZCUnl4TFFVRkxMRU5CUVVNc1ZVRkJWU3hEUVVGRExFTkJRVU1zUlVGQlJTeE5RVUZOTEVOQlFVTXNRMEZCUXp0WlFVTjBReXhKUVVGSkxFbEJRVWtzUTBGQlF5eERRVUZETEVOQlFVTXNTMEZCU3l4RFFVRkRPMmRDUVVObUxFdEJRVXNzU1VGQlNTeERRVUZETEVOQlFVTTdPMmRDUVVWWUxFMUJRVTBzU1VGQlNTeERRVUZETEVOQlFVTTdVMEZEWmp0aFFVRk5MRWxCUVVrc1RVRkJUU3hIUVVGSExFTkJRVU1zUlVGQlJUdFpRVU55UWl4SlFVRkpMRU5CUVVNc1EwRkJReXhEUVVGRExFZEJRVWNzUTBGQlF5eERRVUZETzFsQlExb3NTMEZCU3l4SlFVRkpMRU5CUVVNc1EwRkJRenRUUVVOYU8yRkJRVTA3V1VGRFRDeEpRVUZKTEVOQlFVTXNRMEZCUXl4RFFVRkRMRWRCUVVjc1EwRkJReXhEUVVGRE8xbEJRMW9zVFVGQlRTeEpRVUZKTEVOQlFVTXNRMEZCUXp0VFFVTmlPMHRCUTBZN1NVRkZSQ3dyUTBGQkswTTdTVUZETDBNc1RVRkJUU3hYUVVGWExFZEJRVWNzUzBGQlN5eERRVUZETEV0QlFVc3NRMEZCUXl4TFFVRkxMRU5CUVVNc1EwRkJRenRKUVVOMlF5eE5RVUZOTEZsQlFWa3NSMEZCUnl4TFFVRkxMRU5CUVVNc1MwRkJTeXhEUVVGRExFMUJRVTBzUTBGQlF5eERRVUZETzBsQlJYcERMSGRGUVVGM1JUdEpRVU40UlN4TFFVRkxMRWRCUVVjc1EwRkJReXhEUVVGRE8wbEJRMVlzVFVGQlRTeEhRVUZITEVOQlFVTXNRMEZCUXp0SlFVTllMRXRCUVVzc1NVRkJTU3hEUVVGRExFZEJRVWNzUTBGQlF5eEZRVUZGTEVOQlFVTXNSMEZCUnl4SlFVRkpMRU5CUVVNc1RVRkJUU3hGUVVGRkxFTkJRVU1zUlVGQlJTeEZRVUZGTzFGQlEzQkRMRWxCUVVrc1NVRkJTU3hEUVVGRExFTkJRVU1zUTBGQlF5eExRVUZMTEVOQlFVTXNSVUZCUlR0WlFVTnFRaXhYUVVGWExFTkJRVU1zUzBGQlN5eERRVUZETEVkQlFVY3NUMEZCVHl4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRE8xbEJRMmhETEV0QlFVc3NTVUZCU1N4RFFVRkRMRU5CUVVNN1UwRkRXanRoUVVGTk8xbEJRMHdzV1VGQldTeERRVUZETEUxQlFVMHNRMEZCUXl4SFFVRkhMRTlCUVU4c1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF6dFpRVU5zUXl4TlFVRk5MRWxCUVVrc1EwRkJReXhEUVVGRE8xTkJRMkk3UzBGRFJqdEpRVVZFTEU5QlFVODdVVUZEVEN4WFFVRlhPMUZCUTFnc1dVRkJXVHRSUVVOYUxGVkJRVlVzUlVGQlJTeG5Ra0ZCWjBJN1VVRkROVUlzVFVGQlRTeEZRVUZGTEdkQ1FVRm5RanRMUVVONlFpeERRVUZETzBGQlEwb3NRMEZCUXp0QlFVVkVMRk5CUVZNc1YwRkJWeXhEUVVGRExFbEJRVGhDTEVWQlFVVXNVVUZCWjBJN1NVRkRia1VzVFVGQlRTeE5RVUZOTEVkQlFVY3NVVUZCVVN4RFFVRkRMRWxCUVVrc1EwRkJReXhEUVVGRE8wbEJRemxDTEUxQlFVMHNUMEZCVHl4SFFVRkhMRk5CUVZNc1EwRkJReXhKUVVGSkxFTkJRVU1zUTBGQlF6dEpRVVZvUXl4dFJFRkJiVVE3U1VGRGJrUXNUVUZCVFN4WFFVRlhMRWRCUVVjc1MwRkJTenRUUVVOMFFpeExRVUZMTEVOQlFVTXNUVUZCVFN4RFFVRkRPMU5CUTJJc1IwRkJSeXhEUVVGRExFZEJRVWNzUlVGQlJTeERRVUZETEVsQlFVa3NRMEZCUXl4VlFVRlZMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNN1NVRkZkRU1zVFVGQlRTeFBRVUZQTEVkQlFVY3NTMEZCU3l4RFFVRkRMRXRCUVVzc1EwRkJReXhOUVVGTkxFTkJRVU1zUTBGQlF6dEpRVU53UXl4TlFVRk5MRkZCUVZFc1IwRkJSeXhMUVVGTExFTkJRVU1zUzBGQlN5eERRVUZETEUxQlFVMHNRMEZCUXl4RFFVRkRMRWRCUVVjc1EwRkJReXhIUVVGSExFVkJRVVVzUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXl4RlFVRkZMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF6dEpRVU42UkN4TlFVRk5MRTlCUVU4c1IwRkJSeXhMUVVGTE8xTkJRMnhDTEV0QlFVc3NRMEZCUXl4UFFVRlBMRU5CUVVNN1UwRkRaQ3hIUVVGSExFTkJRVU1zUjBGQlJ5eEZRVUZGTEVOQlFVTXNTMEZCU3l4RFFVRkRMRXRCUVVzc1EwRkJReXhSUVVGUkxFTkJRVU1zUTBGQlF5eEhRVUZITEVOQlFVTXNSMEZCUnl4RlFVRkZMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETzBsQlEyeEVMR2RDUVVGblFpeERRVUZETEVsQlFVa3NSVUZCUlN4WFFVRlhMRVZCUVVVc1QwRkJUeXhGUVVGRkxGRkJRVkVzUlVGQlJTeFBRVUZQTEVWQlFVVXNRMEZCUXl4RlFVRkZMRU5CUVVNc1EwRkJReXhEUVVGRE8wbEJRM1JGTEU5QlFVOHNTVUZCU1N4UlFVRlJMRU5CUVVNc1YwRkJWeXhGUVVGRkxFOUJRVThzUlVGQlJTeFJRVUZSTEVWQlFVVXNUMEZCVHl4RFFVRkRMRU5CUVVNN1FVRkRMMFFzUTBGQlF6dEJRVVZFTEZOQlFWTXNaMEpCUVdkQ0xFTkJRM1pDTEVsQlFUaENMRVZCUXpsQ0xGZEJRWEZDTEVWQlEzSkNMRTlCUVdsQ0xFVkJRMnBDTEZGQlFXOUNMRVZCUTNCQ0xFOUJRVzFDTEVWQlEyNUNMRTlCUVdVc1JVRkRaaXhQUVVGbE8wbEJSV1lzU1VGQlNTeEpRVUZKTEVOQlFVTXNUVUZCVFN4RlFVRkZPMUZCUTJZc1VVRkJVU3hEUVVGRExFOUJRVThzUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXl4SFFVRkhMRU5CUVVNc1QwRkJUeXhEUVVGRE8xRkJSV2hETEcxRVFVRnRSRHRSUVVOdVJDd3dSRUZCTUVRN1VVRkRNVVFzVDBGQlR5eERRVUZETEU5QlFVOHNRMEZCUXl4RFFVRkRMRTFCUVUwc1EwRkJReXhEUVVGRExFVkJRVVVzU1VGQlNTeERRVUZETEU5QlFWRXNRMEZCUXl4TlFVRk5MRVZCUVVVc1IwRkJSeXhKUVVGSkxFTkJRVU1zVDBGQlVTeERRVUZETEVOQlFVTTdVVUZEYmtVc1QwRkJUeXhKUVVGSkxFTkJRVU1zUTBGQlF6dFJRVU5pTEU5QlFVOHNSVUZCUXl4UFFVRlBMRVZCUVVVc1QwRkJUeXhGUVVGRExFTkJRVU03UzBGRE0wSTdVMEZCVFR0UlFVTk1MRmRCUVZjc1EwRkJReXhQUVVGUExFTkJRVU1zUjBGQlJ5eEpRVUZKTEVOQlFVTXNWVUZCVnl4RFFVRkRPMUZCUTNoRExFOUJRVThzUTBGQlF5eFBRVUZQTEVOQlFVTXNSMEZCUnl4SlFVRkpMRU5CUVVNc1RVRkJUeXhEUVVGRE8xRkJRMmhETEZGQlFWRXNRMEZCUXl4UFFVRlBMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU1zUjBGQlJ5eFBRVUZQTEVkQlFVY3NRMEZCUXl4RFFVRkRPMUZCUTI1RExFMUJRVTBzVlVGQlZTeEhRVUZITEU5QlFVOHNRMEZCUXp0UlFVVXpRaXhKUVVGSkxFZEJRVWNzUjBGQlJ5eG5Ra0ZCWjBJc1EwRkRlRUlzU1VGQlNTeERRVUZETEZOQlFWVXNSVUZEWml4WFFVRlhMRVZCUTFnc1QwRkJUeXhGUVVOUUxGRkJRVkVzUlVGRFVpeFBRVUZQTEVWQlExQXNUMEZCVHl4SFFVRkhMRU5CUVVNc1JVRkRXQ3hQUVVGUExFTkJRMUlzUTBGQlF6dFJRVU5HTEU5QlFVOHNSMEZCUnl4SFFVRkhMRU5CUVVNc1QwRkJUeXhEUVVGRE8xRkJRM1JDTEU5QlFVOHNSMEZCUnl4SFFVRkhMRU5CUVVNc1QwRkJUeXhEUVVGRE8xRkJSWFJDTEZGQlFWRXNRMEZCUXl4VlFVRlZMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU1zUjBGQlJ5eFBRVUZQTEVkQlFVY3NRMEZCUXl4RFFVRkRPMUZCUlhSRExFZEJRVWNzUjBGQlJ5eG5Ra0ZCWjBJc1EwRkRjRUlzU1VGQlNTeERRVUZETEZWQlFWY3NSVUZEYUVJc1YwRkJWeXhGUVVOWUxFOUJRVThzUlVGRFVDeFJRVUZSTEVWQlExSXNUMEZCVHl4RlFVTlFMRTlCUVU4c1IwRkJSeXhEUVVGRExFVkJRMWdzVDBGQlR5eERRVU5TTEVOQlFVTTdVVUZEUml4UFFVRlBMRVZCUVVNc1QwRkJUeXhGUVVGRkxFZEJRVWNzUTBGQlF5eFBRVUZQTEVWQlFVVXNUMEZCVHl4RlFVRkZMRWRCUVVjc1EwRkJReXhQUVVGUExFVkJRVU1zUTBGQlF6dExRVU55UkR0QlFVTklMRU5CUVVNN1FVRkZSQ3hUUVVGVExGRkJRVkVzUTBGQlF5eEpRVUU0UWp0SlFVTTVReXhKUVVGSkxFbEJRVWtzUTBGQlF5eE5RVUZOTzFGQlEySXNUMEZCVHl4RFFVRkRMRU5CUVVNN08xRkJSVlFzVDBGQlR5eERRVUZETEVkQlFVY3NVVUZCVVN4RFFVRkRMRWxCUVVrc1EwRkJReXhUUVVGVkxFTkJRVU1zUjBGQlJ5eFJRVUZSTEVOQlFVTXNTVUZCU1N4RFFVRkRMRlZCUVZjc1EwRkJReXhEUVVGRE8wRkJRM1JGTEVOQlFVTTdRVUZGUkN4VFFVRlRMRk5CUVZNc1EwRkJReXhKUVVFNFFqdEpRVU12UXl4SlFVRkpMRWxCUVVrc1EwRkJReXhOUVVGTk8xRkJRMklzVDBGQlR5eERRVUZETEVOQlFVTTdPMUZCUlZRc1QwRkJUeXhUUVVGVExFTkJRVU1zU1VGQlNTeERRVUZETEZOQlFWVXNRMEZCUXl4SFFVRkhMRk5CUVZNc1EwRkJReXhKUVVGSkxFTkJRVU1zVlVGQlZ5eERRVUZETEVOQlFVTTdRVUZEY0VVc1EwRkJRenRCUVVWRU96czdPenM3T3p0SFFWRkhPMEZCUTBnc1RVRkJUU3hWUVVGVkxHRkJRV0VzUTBGQlF5eFJRVUZ2UWp0SlFVTm9SQ3hKUVVGSkxGRkJRVkVzUTBGQlF5eE5RVUZOTEVkQlFVY3NRMEZCUXl4RlFVRkZPMUZCUTNaQ0xFMUJRVTBzVFVGQlRTeEhRVUZsTEVWQlFVVXNRMEZCUXp0UlFVTTVRaXhMUVVGTExFMUJRVTBzU1VGQlNTeEpRVUZKTEZGQlFWRTdXVUZEZWtJc1RVRkJUU3hEUVVGRExFbEJRVWtzUTBGQlF5eEhRVUZITEVsQlFVa3NRMEZCUXl4UFFVRlJMRU5CUVVNc1EwRkJRenRSUVVWb1F5eFBRVUZQTEUxQlFVMHNRMEZCUXp0TFFVTm1PMU5CUVUwN1VVRkRUQ3hQUVVGUExFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNN1MwRkRaanRCUVVOSUxFTkJRVU03UVVGRlJEczdSMEZGUnp0QlFVTklMRk5CUVZNc1ZVRkJWU3hEUVVOcVFpeFZRVUZyUWl4RlFVTnNRaXhOUVVGakxFVkJRMlFzUzBGQllTeEZRVU5pTEUxQlFXZENPMGxCUldoQ0xFbEJRVWtzVFVGQlRTeEhRVUZITEUxQlFVMHNRMEZCUXp0SlFVVndRaXhOUVVGTkxFbEJRVWtzVlVGQlZTeEhRVUZITEV0QlFVc3NRMEZCUXp0SlFVYzNRaXhKUVVGSkxFMUJRVTBzUzBGQlN5eERRVUZETEVWQlFVVTdVVUZEYUVJc1RVRkJUU3hKUVVGSkxFZEJRVWNzUzBGQlN5eERRVUZETEZWQlFWVXNRMEZCUXl4RFFVRkRMRVZCUVVVc1RVRkJUU3hEUVVGRExFTkJRVU03VVVGRGVrTXNUMEZCVHl4SlFVRkpMRU5CUVVNN1MwRkRZanRUUVVGTkxFbEJRVWtzVFVGQlRTeEhRVUZITEVOQlFVTXNSVUZCUlR0UlFVTnlRaXhQUVVGUExFTkJRVU1zUTBGQlF6dExRVU5XTzFOQlFVMDdVVUZEVEN4UFFVRlBMRU5CUVVNc1EwRkJRenRMUVVOV08wRkJRMGdzUTBGQlF6dEJRVVZFT3p0SFFVVkhPMEZCUTBnc1RVRkJUU3hWUVVGVkxHTkJRV01zUTBGRE5VSXNTMEZCWVN4RlFVTmlMRWxCUVdNc1JVRkRaQ3hOUVVGblFqdEpRVVZvUWl4SlFVRkpMRWxCUVVrc1IwRkJSeXhEUVVGRExFTkJRVU03U1VGRFlpeFBRVUZQTEVsQlFVa3NRMEZCUXl4UlFVRlJMRU5CUVVNc1NVRkJTU3hEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETEVkQlFVY3NRMEZCUXl4RlFVRkZPMUZCUTJwRExFMUJRVTBzU1VGQlNTeEhRVUZITEZWQlFWVXNRMEZEY2tJc1NVRkJTU3hEUVVGRExGZEJRVmNzUTBGQlF5eEpRVUZKTEVOQlFVTXNSVUZEZEVJc1NVRkJTU3hEUVVGRExFOUJRVThzUTBGQlF5eEpRVUZKTEVOQlFVTXNSVUZEYkVJc1MwRkJTeXhGUVVOTUxFMUJRVTBzUTBGRFVDeERRVUZETzFGQlEwWXNTVUZCU1N4SlFVRkpMRXRCUVVzc1EwRkJRenRaUVVOYUxFbEJRVWtzUjBGQlJ5eEpRVUZKTEVOQlFVTXNVVUZCVVN4RFFVRkRMRWxCUVVrc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZET3p0WlFVVTVRaXhKUVVGSkxFZEJRVWNzU1VGQlNTeERRVUZETEZGQlFWRXNRMEZCUXl4SlFVRkpMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF6dExRVU5xUXp0SlFVVkVMRTFCUVUwc1MwRkJTeXhIUVVGSExFTkJRVU1zUTBGQlF5eEhRVUZITEVsQlFVa3NRMEZCUXl4UlFVRlJMRU5CUVVNc1NVRkJTU3hEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTTdTVUZETVVNc1QwRkJUeXhKUVVGSkxFTkJRVU1zVDBGQlR5eERRVUZETEV0QlFVc3NRMEZCUXl4RFFVRkRPMEZCUXpkQ0xFTkJRVU1pTENKemIzVnlZMlZ6UTI5dWRHVnVkQ0k2V3lJdktpcGNiaUFxSUVCc2FXTmxibk5sWEc0Z0tseHVJQ29nUTI5d2VYSnBaMmgwSURJd01Ua2dSMjl2WjJ4bElFeE1ReTRnUVd4c0lGSnBaMmgwY3lCU1pYTmxjblpsWkM1Y2JpQXFYRzRnS2lCTWFXTmxibk5sWkNCMWJtUmxjaUIwYUdVZ1FYQmhZMmhsSUV4cFkyVnVjMlVzSUZabGNuTnBiMjRnTWk0d0lDaDBhR1VnWENKTWFXTmxibk5sWENJcE8xeHVJQ29nZVc5MUlHMWhlU0J1YjNRZ2RYTmxJSFJvYVhNZ1ptbHNaU0JsZUdObGNIUWdhVzRnWTI5dGNHeHBZVzVqWlNCM2FYUm9JSFJvWlNCTWFXTmxibk5sTGx4dUlDb2dXVzkxSUcxaGVTQnZZblJoYVc0Z1lTQmpiM0I1SUc5bUlIUm9aU0JNYVdObGJuTmxJR0YwWEc0Z0tseHVJQ29nSUNBZ0lHaDBkSEE2THk5M2QzY3VZWEJoWTJobExtOXlaeTlzYVdObGJuTmxjeTlNU1VORlRsTkZMVEl1TUZ4dUlDcGNiaUFxSUZWdWJHVnpjeUJ5WlhGMWFYSmxaQ0JpZVNCaGNIQnNhV05oWW14bElHeGhkeUJ2Y2lCaFozSmxaV1FnZEc4Z2FXNGdkM0pwZEdsdVp5d2djMjltZEhkaGNtVmNiaUFxSUdScGMzUnlhV0oxZEdWa0lIVnVaR1Z5SUhSb1pTQk1hV05sYm5ObElHbHpJR1JwYzNSeWFXSjFkR1ZrSUc5dUlHRnVJRndpUVZNZ1NWTmNJaUJDUVZOSlV5eGNiaUFxSUZkSlZFaFBWVlFnVjBGU1VrRk9WRWxGVXlCUFVpQkRUMDVFU1ZSSlQwNVRJRTlHSUVGT1dTQkxTVTVFTENCbGFYUm9aWElnWlhod2NtVnpjeUJ2Y2lCcGJYQnNhV1ZrTGx4dUlDb2dVMlZsSUhSb1pTQk1hV05sYm5ObElHWnZjaUIwYUdVZ2MzQmxZMmxtYVdNZ2JHRnVaM1ZoWjJVZ1oyOTJaWEp1YVc1bklIQmxjbTFwYzNOcGIyNXpJR0Z1WkZ4dUlDb2diR2x0YVhSaGRHbHZibk1nZFc1a1pYSWdkR2hsSUV4cFkyVnVjMlV1WEc0Z0tpQTlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQxY2JpQXFMMXh1WEc0dktpcGNiaUFxSUZSb2FYTWdhWE1nWVNCS1lYWmhVMk55YVhCMElISmxhVzF3YkdWdFpXNTBZWFJwYjI0Z2IyWWdWVTFCVUNBb2IzSnBaMmx1WVd3Z2JHbGpaVzV6WlNCaVpXeHZkeWtzSUdaeWIyMWNiaUFxSUhSb1pTQndlWFJvYjI0Z2FXMXdiR1Z0Wlc1MFlYUnBiMjRnWm05MWJtUWdZWFFnYUhSMGNITTZMeTluYVhSb2RXSXVZMjl0TDJ4dFkybHVibVZ6TDNWdFlYQXVYRzRnS2x4dUlDb2dRR0YxZEdodmNpQmhibVI1WTI5bGJtVnVRR2R2YjJkc1pTNWpiMjBnS0VGdVpIa2dRMjlsYm1WdUtWeHVJQ292WEc1Y2JpOHFLbHh1SUNvZ1FHeHBZMlZ1YzJWY2JpQXFJRUpUUkNBekxVTnNZWFZ6WlNCTWFXTmxibk5sWEc0Z0tseHVJQ29nUTI5d2VYSnBaMmgwSUNoaktTQXlNREUzTENCTVpXeGhibVFnVFdOSmJtNWxjMXh1SUNvZ1FXeHNJSEpwWjJoMGN5QnlaWE5sY25abFpDNWNiaUFxWEc0Z0tpQlNaV1JwYzNSeWFXSjFkR2x2YmlCaGJtUWdkWE5sSUdsdUlITnZkWEpqWlNCaGJtUWdZbWx1WVhKNUlHWnZjbTF6TENCM2FYUm9JRzl5SUhkcGRHaHZkWFJjYmlBcUlHMXZaR2xtYVdOaGRHbHZiaXdnWVhKbElIQmxjbTFwZEhSbFpDQndjbTkyYVdSbFpDQjBhR0YwSUhSb1pTQm1iMnhzYjNkcGJtY2dZMjl1WkdsMGFXOXVjeUJoY21VZ2JXVjBPbHh1SUNwY2JpQXFJQ29nVW1Wa2FYTjBjbWxpZFhScGIyNXpJRzltSUhOdmRYSmpaU0JqYjJSbElHMTFjM1FnY21WMFlXbHVJSFJvWlNCaFltOTJaU0JqYjNCNWNtbG5hSFFnYm05MGFXTmxMQ0IwYUdselhHNGdLaUFnSUd4cGMzUWdiMllnWTI5dVpHbDBhVzl1Y3lCaGJtUWdkR2hsSUdadmJHeHZkMmx1WnlCa2FYTmpiR0ZwYldWeUxseHVJQ3BjYmlBcUlDb2dVbVZrYVhOMGNtbGlkWFJwYjI1eklHbHVJR0pwYm1GeWVTQm1iM0p0SUcxMWMzUWdjbVZ3Y205a2RXTmxJSFJvWlNCaFltOTJaU0JqYjNCNWNtbG5hSFFnYm05MGFXTmxMRnh1SUNvZ0lDQjBhR2x6SUd4cGMzUWdiMllnWTI5dVpHbDBhVzl1Y3lCaGJtUWdkR2hsSUdadmJHeHZkMmx1WnlCa2FYTmpiR0ZwYldWeUlHbHVJSFJvWlNCa2IyTjFiV1Z1ZEdGMGFXOXVYRzRnS2lBZ0lHRnVaQzl2Y2lCdmRHaGxjaUJ0WVhSbGNtbGhiSE1nY0hKdmRtbGtaV1FnZDJsMGFDQjBhR1VnWkdsemRISnBZblYwYVc5dUxseHVJQ3BjYmlBcUlDb2dUbVZwZEdobGNpQjBhR1VnYm1GdFpTQnZaaUIwYUdVZ1kyOXdlWEpwWjJoMElHaHZiR1JsY2lCdWIzSWdkR2hsSUc1aGJXVnpJRzltSUdsMGMxeHVJQ29nSUNCamIyNTBjbWxpZFhSdmNuTWdiV0Y1SUdKbElIVnpaV1FnZEc4Z1pXNWtiM0p6WlNCdmNpQndjbTl0YjNSbElIQnliMlIxWTNSeklHUmxjbWwyWldRZ1puSnZiVnh1SUNvZ0lDQjBhR2x6SUhOdlpuUjNZWEpsSUhkcGRHaHZkWFFnYzNCbFkybG1hV01nY0hKcGIzSWdkM0pwZEhSbGJpQndaWEp0YVhOemFXOXVMbHh1SUNwY2JpQXFJRlJJU1ZNZ1UwOUdWRmRCVWtVZ1NWTWdVRkpQVmtsRVJVUWdRbGtnVkVoRklFTlBVRmxTU1VkSVZDQklUMHhFUlZKVElFRk9SQ0JEVDA1VVVrbENWVlJQVWxNZ1hDSkJVeUJKVTF3aVhHNGdLaUJCVGtRZ1FVNVpJRVZZVUZKRlUxTWdUMUlnU1UxUVRFbEZSQ0JYUVZKU1FVNVVTVVZUTENCSlRrTk1WVVJKVGtjc0lFSlZWQ0JPVDFRZ1RFbE5TVlJGUkNCVVR5d2dWRWhGWEc0Z0tpQkpUVkJNU1VWRUlGZEJVbEpCVGxSSlJWTWdUMFlnVFVWU1EwaEJUbFJCUWtsTVNWUlpJRUZPUkNCR1NWUk9SVk5USUVaUFVpQkJJRkJCVWxSSlExVk1RVklnVUZWU1VFOVRSU0JCVWtWY2JpQXFJRVJKVTBOTVFVbE5SVVF1SUVsT0lFNVBJRVZXUlU1VUlGTklRVXhNSUZSSVJTQkRUMUJaVWtsSFNGUWdTRTlNUkVWU0lFOVNJRU5QVGxSU1NVSlZWRTlTVXlCQ1JTQk1TVUZDVEVWY2JpQXFJRVpQVWlCQlRsa2dSRWxTUlVOVUxDQkpUa1JKVWtWRFZDd2dTVTVEU1VSRlRsUkJUQ3dnVTFCRlEwbEJUQ3dnUlZoRlRWQk1RVkpaTENCUFVpQkRUMDVUUlZGVlJVNVVTVUZNWEc0Z0tpQkVRVTFCUjBWVElDaEpUa05NVlVSSlRrY3NJRUpWVkNCT1QxUWdURWxOU1ZSRlJDQlVUeXdnVUZKUFExVlNSVTFGVGxRZ1QwWWdVMVZDVTFSSlZGVlVSU0JIVDA5RVV5QlBVbHh1SUNvZ1UwVlNWa2xEUlZNN0lFeFBVMU1nVDBZZ1ZWTkZMQ0JFUVZSQkxDQlBVaUJRVWs5R1NWUlRPeUJQVWlCQ1ZWTkpUa1ZUVXlCSlRsUkZVbEpWVUZSSlQwNHBJRWhQVjBWV1JWSmNiaUFxSUVOQlZWTkZSQ0JCVGtRZ1QwNGdRVTVaSUZSSVJVOVNXU0JQUmlCTVNVRkNTVXhKVkZrc0lGZElSVlJJUlZJZ1NVNGdRMDlPVkZKQlExUXNJRk5VVWtsRFZDQk1TVUZDU1V4SlZGa3NYRzRnS2lCUFVpQlVUMUpVSUNoSlRrTk1WVVJKVGtjZ1RrVkhURWxIUlU1RFJTQlBVaUJQVkVoRlVsZEpVMFVwSUVGU1NWTkpUa2NnU1U0Z1FVNVpJRmRCV1NCUFZWUWdUMFlnVkVoRklGVlRSVnh1SUNvZ1QwWWdWRWhKVXlCVFQwWlVWMEZTUlN3Z1JWWkZUaUJKUmlCQlJGWkpVMFZFSUU5R0lGUklSU0JRVDFOVFNVSkpURWxVV1NCUFJpQlRWVU5JSUVSQlRVRkhSUzVjYmlBcUwxeHVYRzVwYlhCdmNuUWdLaUJoY3lCMWRHbHNjeUJtY205dElDY3VMM1YwYVd4ekp6dGNibWx0Y0c5eWRDQjdVbUZ1Wkc5dFJtNHNJRlpsWTNSdmNuMGdabkp2YlNBbkxpOTFiV0Z3Snp0Y2JseHVMeW9xWEc0Z0tpQlVjbVZsSUdaMWJtTjBhVzl1WVd4cGRIa2dabTl5SUdGd2NISnZlR2x0WVhScGJtY2dibVZoY21WemRDQnVaV2xuYUdKdmNuTmNiaUFxTDF4dWFXNTBaWEptWVdObElGSmhibVJ2YlZCeWIycGxZM1JwYjI1VWNtVmxUbTlrWlNCN1hHNGdJR2x6VEdWaFpqb2dZbTl2YkdWaGJqdGNiaUFnYVc1a2FXTmxjejg2SUc1MWJXSmxjbHRkTzF4dUlDQnNaV1owUTJocGJHUS9PaUJTWVc1a2IyMVFjbTlxWldOMGFXOXVWSEpsWlU1dlpHVTdYRzRnSUhKcFoyaDBRMmhwYkdRL09pQlNZVzVrYjIxUWNtOXFaV04wYVc5dVZISmxaVTV2WkdVN1hHNGdJR2g1Y0dWeWNHeGhibVUvT2lCdWRXMWlaWEk3WEc0Z0lHOW1abk5sZEQ4NklHNTFiV0psY2p0Y2JuMWNibHh1Wlhod2IzSjBJR05zWVhOeklFWnNZWFJVY21WbElIdGNiaUFnWTI5dWMzUnlkV04wYjNJb1hHNGdJQ0FnY0hWaWJHbGpJR2g1Y0dWeWNHeGhibVZ6T2lCdWRXMWlaWEpiWFN4Y2JpQWdJQ0J3ZFdKc2FXTWdiMlptYzJWMGN6b2diblZ0WW1WeVcxMHNYRzRnSUNBZ2NIVmliR2xqSUdOb2FXeGtjbVZ1T2lCdWRXMWlaWEpiWFZ0ZExGeHVJQ0FnSUhCMVlteHBZeUJwYm1ScFkyVnpPaUJ1ZFcxaVpYSmJYVnRkWEc0Z0lDa2dlMzFjYm4xY2JseHVMeW9xWEc0Z0tpQkNkV2xzWkNCaElISmhibVJ2YlNCd2NtOXFaV04wYVc5dUlHWnZjbVZ6ZENCM2FYUm9JR0JnYmxSeVpXVnpZR0F1WEc0Z0tpOWNibVY0Y0c5eWRDQm1kVzVqZEdsdmJpQnRZV3RsUm05eVpYTjBLRnh1SUNCa1lYUmhPaUJXWldOMGIzSXNYRzRnSUc1T1pXbG5hR0p2Y25NNklHNTFiV0psY2l4Y2JpQWdibFJ5WldWek9pQnVkVzFpWlhJc1hHNGdJSEpoYm1SdmJUb2dVbUZ1Wkc5dFJtNWNiaWtnZTF4dUlDQmpiMjV6ZENCc1pXRm1VMmw2WlNBOUlFMWhkR2d1YldGNEtERXdMQ0J1VG1WcFoyaGliM0p6S1R0Y2JseHVJQ0JqYjI1emRDQjBjbVZsY3lBOUlIVjBhV3h6WEc0Z0lDQWdMbkpoYm1kbEtHNVVjbVZsY3lsY2JpQWdJQ0F1YldGd0tDaGZMQ0JwS1NBOVBpQnRZV3RsVkhKbFpTaGtZWFJoTENCc1pXRm1VMmw2WlN3Z2FTd2djbUZ1Wkc5dEtTazdYRzRnSUdOdmJuTjBJR1p2Y21WemRDQTlJSFJ5WldWekxtMWhjQ2dvZEhKbFpTa2dQVDRnWm14aGRIUmxibFJ5WldVb2RISmxaU3dnYkdWaFpsTnBlbVVwS1R0Y2JseHVJQ0J5WlhSMWNtNGdabTl5WlhOME8xeHVmVnh1WEc0dktpcGNiaUFxSUVOdmJuTjBjblZqZENCaElISmhibVJ2YlNCd2NtOXFaV04wYVc5dUlIUnlaV1VnWW1GelpXUWdiMjRnWUdCa1lYUmhZR0FnZDJsMGFDQnNaV0YyWlhOY2JpQXFJRzltSUhOcGVtVWdZWFFnYlc5emRDQmdZR3hsWVdaVGFYcGxZR0JjYmlBcUwxeHVablZ1WTNScGIyNGdiV0ZyWlZSeVpXVW9YRzRnSUdSaGRHRTZJRlpsWTNSdmNpeGNiaUFnYkdWaFpsTnBlbVVnUFNBek1DeGNiaUFnYmpvZ2JuVnRZbVZ5TEZ4dUlDQnlZVzVrYjIwNklGSmhibVJ2YlVadVhHNHBPaUJTWVc1a2IyMVFjbTlxWldOMGFXOXVWSEpsWlU1dlpHVWdlMXh1SUNCamIyNXpkQ0JwYm1ScFkyVnpJRDBnZFhScGJITXVjbUZ1WjJVb1pHRjBZUzVzWlc1bmRHZ3BPMXh1SUNCamIyNXpkQ0IwY21WbElEMGdiV0ZyWlVWMVkyeHBaR1ZoYmxSeVpXVW9aR0YwWVN3Z2FXNWthV05sY3l3Z2JHVmhabE5wZW1Vc0lHNHNJSEpoYm1SdmJTazdYRzRnSUhKbGRIVnliaUIwY21WbE8xeHVmVnh1WEc1bWRXNWpkR2x2YmlCdFlXdGxSWFZqYkdsa1pXRnVWSEpsWlNoY2JpQWdaR0YwWVRvZ1ZtVmpkRzl5TEZ4dUlDQnBibVJwWTJWek9pQnVkVzFpWlhKYlhTeGNiaUFnYkdWaFpsTnBlbVVnUFNBek1DeGNiaUFnY1RvZ2JuVnRZbVZ5TEZ4dUlDQnlZVzVrYjIwNklGSmhibVJ2YlVadVhHNHBPaUJTWVc1a2IyMVFjbTlxWldOMGFXOXVWSEpsWlU1dlpHVWdlMXh1SUNCcFppQW9hVzVrYVdObGN5NXNaVzVuZEdnZ1BpQnNaV0ZtVTJsNlpTa2dlMXh1SUNBZ0lHTnZibk4wSUhOd2JHbDBVbVZ6ZFd4MGN5QTlJR1YxWTJ4cFpHVmhibEpoYm1SdmJWQnliMnBsWTNScGIyNVRjR3hwZENoa1lYUmhMQ0JwYm1ScFkyVnpMQ0J5WVc1a2IyMHBPMXh1SUNBZ0lHTnZibk4wSUh0cGJtUnBZMlZ6VEdWbWRDd2dhVzVrYVdObGMxSnBaMmgwTENCb2VYQmxjbkJzWVc1bExDQnZabVp6WlhSOUlEMGdjM0JzYVhSU1pYTjFiSFJ6TzF4dVhHNGdJQ0FnWTI5dWMzUWdiR1ZtZEVOb2FXeGtJRDBnYldGclpVVjFZMnhwWkdWaGJsUnlaV1VvWEc0Z0lDQWdJQ0JrWVhSaExGeHVJQ0FnSUNBZ2FXNWthV05sYzB4bFpuUXNYRzRnSUNBZ0lDQnNaV0ZtVTJsNlpTeGNiaUFnSUNBZ0lIRWdLeUF4TEZ4dUlDQWdJQ0FnY21GdVpHOXRYRzRnSUNBZ0tUdGNiaUFnSUNCamIyNXpkQ0J5YVdkb2RFTm9hV3hrSUQwZ2JXRnJaVVYxWTJ4cFpHVmhibFJ5WldVb1hHNGdJQ0FnSUNCa1lYUmhMRnh1SUNBZ0lDQWdhVzVrYVdObGMxSnBaMmgwTEZ4dUlDQWdJQ0FnYkdWaFpsTnBlbVVzWEc0Z0lDQWdJQ0J4SUNzZ01TeGNiaUFnSUNBZ0lISmhibVJ2YlZ4dUlDQWdJQ2s3WEc1Y2JpQWdJQ0JqYjI1emRDQnViMlJsSUQwZ2UyeGxablJEYUdsc1pDd2djbWxuYUhSRGFHbHNaQ3dnYVhOTVpXRm1PaUJtWVd4elpTd2dhSGx3WlhKd2JHRnVaU3dnYjJabWMyVjBmVHRjYmlBZ0lDQnlaWFIxY200Z2JtOWtaVHRjYmlBZ2ZTQmxiSE5sSUh0Y2JpQWdJQ0JqYjI1emRDQnViMlJsSUQwZ2UybHVaR2xqWlhNc0lHbHpUR1ZoWmpvZ2RISjFaWDA3WEc0Z0lDQWdjbVYwZFhKdUlHNXZaR1U3WEc0Z0lIMWNibjFjYmx4dUx5b3FYRzRnS2lCSGFYWmxiaUJoSUhObGRDQnZaaUJnWUdsdVpHbGpaWE5nWUNCbWIzSWdaR0YwWVNCd2IybHVkSE1nWm5KdmJTQmdZR1JoZEdGZ1lDd2dZM0psWVhSbFhHNGdLaUJoSUhKaGJtUnZiU0JvZVhCbGNuQnNZVzVsSUhSdklITndiR2wwSUhSb1pTQmtZWFJoTENCeVpYUjFjbTVwYm1jZ2RIZHZJR0Z5Y21GNWN5QnBibVJwWTJWelhHNGdLaUIwYUdGMElHWmhiR3dnYjI0Z1pXbDBhR1Z5SUhOcFpHVWdiMllnZEdobElHaDVjR1Z5Y0d4aGJtVXVJRlJvYVhNZ2FYTWdkR2hsSUdKaGMybHpJR1p2Y2lCaFhHNGdLaUJ5WVc1a2IyMGdjSEp2YW1WamRHbHZiaUIwY21WbExDQjNhR2xqYUNCemFXMXdiSGtnZFhObGN5QjBhR2x6SUhOd2JHbDBkR2x1WnlCeVpXTjFjbk5wZG1Wc2VTNWNiaUFxSUZSb2FYTWdjR0Z5ZEdsamRXeGhjaUJ6Y0d4cGRDQjFjMlZ6SUdWMVkyeHBaR1ZoYmlCa2FYTjBZVzVqWlNCMGJ5QmtaWFJsY20xcGJtVWdkR2hsSUdoNWNHVnljR3hoYm1WY2JpQXFJR0Z1WkNCM2FHbGphQ0J6YVdSbElHVmhZMmdnWkdGMFlTQnpZVzF3YkdVZ1ptRnNiSE1nYjI0dVhHNGdLaTljYm1aMWJtTjBhVzl1SUdWMVkyeHBaR1ZoYmxKaGJtUnZiVkJ5YjJwbFkzUnBiMjVUY0d4cGRDaGNiaUFnWkdGMFlUb2dWbVZqZEc5eUxGeHVJQ0JwYm1ScFkyVnpPaUJ1ZFcxaVpYSmJYU3hjYmlBZ2NtRnVaRzl0T2lCU1lXNWtiMjFHYmx4dUtTQjdYRzRnSUM4dlkyOXVjM1FnWkdsdElEMGdNVHRjYmx4dUlDQXZMeUJUWld4bFkzUWdkSGR2SUhKaGJtUnZiU0J3YjJsdWRITXNJSE5sZENCMGFHVWdhSGx3WlhKd2JHRnVaU0JpWlhSM1pXVnVJSFJvWlcxY2JpQWdZMjl1YzNRZ2JHVm1kRWx1WkdWNElEMGdkWFJwYkhNdWRHRjFVbUZ1WkVsdWRDaHBibVJwWTJWekxteGxibWQwYUN3Z2NtRnVaRzl0S1R0Y2JpQWdiR1YwSUhKcFoyaDBTVzVrWlhnZ1BTQjFkR2xzY3k1MFlYVlNZVzVrU1c1MEtHbHVaR2xqWlhNdWJHVnVaM1JvTENCeVlXNWtiMjBwTzF4dUlDQnlhV2RvZEVsdVpHVjRJQ3M5SUd4bFpuUkpibVJsZUNBOVBUMGdjbWxuYUhSSmJtUmxlQ0EvSURFZ09pQXdPMXh1SUNCeWFXZG9kRWx1WkdWNElEMGdjbWxuYUhSSmJtUmxlQ0FsSUdsdVpHbGpaWE11YkdWdVozUm9PMXh1SUNCamIyNXpkQ0JzWldaMElEMGdhVzVrYVdObGMxdHNaV1owU1c1a1pYaGRPMXh1SUNCamIyNXpkQ0J5YVdkb2RDQTlJR2x1WkdsalpYTmJjbWxuYUhSSmJtUmxlRjA3WEc1Y2JpQWdMeThnUTI5dGNIVjBaU0IwYUdVZ2JtOXliV0ZzSUhabFkzUnZjaUIwYnlCMGFHVWdhSGx3WlhKd2JHRnVaU0FvZEdobElIWmxZM1J2Y2lCaVpYUjNaV1Z1SUhSb1pTQjBkMjljYmlBZ0x5OGdjRzlwYm5SektTQmhibVFnZEdobElHOW1abk5sZENCbWNtOXRJSFJvWlNCdmNtbG5hVzVjYmlBZ2JHVjBJR2g1Y0dWeWNHeGhibVZQWm1aelpYUWdQU0F3TzF4dUlDQnNaWFFnYUhsd1pYSndiR0Z1WlZabFkzUnZjaUE5SURBN1hHNWNibHh1SUNCb2VYQmxjbkJzWVc1bFZtVmpkRzl5SUQwZ1pHRjBZVnRzWldaMFhTQXRJR1JoZEdGYmNtbG5hSFJkTzF4dUlDQm9lWEJsY25Cc1lXNWxUMlptYzJWMElDMDlYRzRnSUNBZ0tHaDVjR1Z5Y0d4aGJtVldaV04wYjNJZ0tpQW9aR0YwWVZ0c1pXWjBYU0FySUdSaGRHRmJjbWxuYUhSZEtTa2dMeUF5TGpBN1hHNWNibHh1SUNBdkx5QkdiM0lnWldGamFDQndiMmx1ZENCamIyMXdkWFJsSUhSb1pTQnRZWEpuYVc0Z0tIQnliMnBsWTNRZ2FXNTBieUJ1YjNKdFlXd2dkbVZqZEc5eUtWeHVJQ0F2THlCSlppQjNaU0JoY21VZ2IyNGdiRzkzWlhJZ2MybGtaU0J2WmlCMGFHVWdhSGx3WlhKd2JHRnVaU0J3ZFhRZ2FXNGdiMjVsSUhCcGJHVXNJRzkwYUdWeWQybHpaVnh1SUNBdkx5QndkWFFnYVhRZ2FXNGdkR2hsSUc5MGFHVnlJSEJwYkdVZ0tHbG1JSGRsSUdocGRDQm9lWEJsY25Cc1lXNWxJRzl1SUhSb1pTQnViM05sTENCbWJHbHdJR0VnWTI5cGJpbGNiaUFnYkdWMElHNU1aV1owSUQwZ01EdGNiaUFnYkdWMElHNVNhV2RvZENBOUlEQTdYRzRnSUdOdmJuTjBJSE5wWkdVZ1BTQjFkR2xzY3k1NlpYSnZjeWhwYm1ScFkyVnpMbXhsYm1kMGFDazdYRzRnSUdadmNpQW9iR1YwSUdrZ1BTQXdPeUJwSUR3Z2FXNWthV05sY3k1c1pXNW5kR2c3SUdrckt5a2dlMXh1SUNBZ0lHeGxkQ0J0WVhKbmFXNGdQU0JvZVhCbGNuQnNZVzVsVDJabWMyVjBPMXh1WEc0Z0lDQWdiV0Z5WjJsdUlDczlJR2g1Y0dWeWNHeGhibVZXWldOMGIzSWdLaUJrWVhSaFcybHVaR2xqWlhOYmFWMWRPMXh1WEc0Z0lDQWdhV1lnS0cxaGNtZHBiaUE5UFQwZ01Da2dlMXh1SUNBZ0lDQWdjMmxrWlZ0cFhTQTlJSFYwYVd4ekxuUmhkVkpoYm1SSmJuUW9NaXdnY21GdVpHOXRLVHRjYmlBZ0lDQWdJR2xtSUNoemFXUmxXMmxkSUQwOVBTQXdLVnh1SUNBZ0lDQWdJQ0J1VEdWbWRDQXJQU0F4TzF4dUlDQWdJQ0FnWld4elpWeHVJQ0FnSUNBZ0lDQnVVbWxuYUhRZ0t6MGdNVHRjYmlBZ0lDQjlJR1ZzYzJVZ2FXWWdLRzFoY21kcGJpQStJREFwSUh0Y2JpQWdJQ0FnSUhOcFpHVmJhVjBnUFNBd08xeHVJQ0FnSUNBZ2JreGxablFnS3owZ01UdGNiaUFnSUNCOUlHVnNjMlVnZTF4dUlDQWdJQ0FnYzJsa1pWdHBYU0E5SURFN1hHNGdJQ0FnSUNCdVVtbG5hSFFnS3owZ01UdGNiaUFnSUNCOVhHNGdJSDFjYmx4dUlDQXZMeUJPYjNjZ2RHaGhkQ0IzWlNCb1lYWmxJSFJvWlNCamIzVnVkSE1zSUdGc2JHOWpZWFJsSUdGeWNtRjVjMXh1SUNCamIyNXpkQ0JwYm1ScFkyVnpUR1ZtZENBOUlIVjBhV3h6TG5wbGNtOXpLRzVNWldaMEtUdGNiaUFnWTI5dWMzUWdhVzVrYVdObGMxSnBaMmgwSUQwZ2RYUnBiSE11ZW1WeWIzTW9ibEpwWjJoMEtUdGNibHh1SUNBdkx5QlFiM0IxYkdGMFpTQjBhR1VnWVhKeVlYbHpJSGRwZEdnZ2FXNWthV05sY3lCaFkyTnZjbVJwYm1jZ2RHOGdkMmhwWTJnZ2MybGtaU0IwYUdWNUlHWmxiR3dnYjI1Y2JpQWdia3hsWm5RZ1BTQXdPMXh1SUNCdVVtbG5hSFFnUFNBd08xeHVJQ0JtYjNJZ0tHeGxkQ0JwSUQwZ01Ec2dhU0E4SUhOcFpHVXViR1Z1WjNSb095QnBLeXNwSUh0Y2JpQWdJQ0JwWmlBb2MybGtaVnRwWFNBOVBUMGdNQ2tnZTF4dUlDQWdJQ0FnYVc1a2FXTmxjMHhsWm5SYmJreGxablJkSUQwZ2FXNWthV05sYzF0cFhUdGNiaUFnSUNBZ0lHNU1aV1owSUNzOUlERTdYRzRnSUNBZ2ZTQmxiSE5sSUh0Y2JpQWdJQ0FnSUdsdVpHbGpaWE5TYVdkb2RGdHVVbWxuYUhSZElEMGdhVzVrYVdObGMxdHBYVHRjYmlBZ0lDQWdJRzVTYVdkb2RDQXJQU0F4TzF4dUlDQWdJSDFjYmlBZ2ZWeHVYRzRnSUhKbGRIVnliaUI3WEc0Z0lDQWdhVzVrYVdObGMweGxablFzWEc0Z0lDQWdhVzVrYVdObGMxSnBaMmgwTEZ4dUlDQWdJR2g1Y0dWeWNHeGhibVU2SUdoNWNHVnljR3hoYm1WV1pXTjBiM0lzWEc0Z0lDQWdiMlptYzJWME9pQm9lWEJsY25Cc1lXNWxUMlptYzJWMExGeHVJQ0I5TzF4dWZWeHVYRzVtZFc1amRHbHZiaUJtYkdGMGRHVnVWSEpsWlNoMGNtVmxPaUJTWVc1a2IyMVFjbTlxWldOMGFXOXVWSEpsWlU1dlpHVXNJR3hsWVdaVGFYcGxPaUJ1ZFcxaVpYSXBJSHRjYmlBZ1kyOXVjM1FnYms1dlpHVnpJRDBnYm5WdFRtOWtaWE1vZEhKbFpTazdYRzRnSUdOdmJuTjBJRzVNWldGMlpYTWdQU0J1ZFcxTVpXRjJaWE1vZEhKbFpTazdYRzVjYmlBZ0x5OGdWRTlFVHpvZ1ZtVnlhV1o1SUhSb1lYUWdjM0JoY25ObElHTnZaR1VnYVhNZ2JtOTBJSEpsYkdWMllXNTBMaTR1WEc0Z0lHTnZibk4wSUdoNWNHVnljR3hoYm1WeklEMGdkWFJwYkhOY2JpQWdJQ0F1Y21GdVoyVW9iazV2WkdWektWeHVJQ0FnSUM1dFlYQW9LQ2tnUFQ0Z2RISmxaUzVvZVhCbGNuQnNZVzVsSUQ4Z01TQTZJREFwTzF4dVhHNGdJR052Ym5OMElHOW1abk5sZEhNZ1BTQjFkR2xzY3k1NlpYSnZjeWh1VG05a1pYTXBPMXh1SUNCamIyNXpkQ0JqYUdsc1pISmxiaUE5SUhWMGFXeHpMbkpoYm1kbEtHNU9iMlJsY3lrdWJXRndLQ2dwSUQwK0lGc3RNU3dnTFRGZEtUdGNiaUFnWTI5dWMzUWdhVzVrYVdObGN5QTlJSFYwYVd4elhHNGdJQ0FnTG5KaGJtZGxLRzVNWldGMlpYTXBYRzRnSUNBZ0xtMWhjQ2dvS1NBOVBpQjFkR2xzY3k1eVlXNW5aU2hzWldGbVUybDZaU2t1YldGd0tDZ3BJRDArSUMweEtTazdYRzRnSUhKbFkzVnljMmwyWlVac1lYUjBaVzRvZEhKbFpTd2dhSGx3WlhKd2JHRnVaWE1zSUc5bVpuTmxkSE1zSUdOb2FXeGtjbVZ1TENCcGJtUnBZMlZ6TENBd0xDQXdLVHRjYmlBZ2NtVjBkWEp1SUc1bGR5QkdiR0YwVkhKbFpTaG9lWEJsY25Cc1lXNWxjeXdnYjJabWMyVjBjeXdnWTJocGJHUnlaVzRzSUdsdVpHbGpaWE1wTzF4dWZWeHVYRzVtZFc1amRHbHZiaUJ5WldOMWNuTnBkbVZHYkdGMGRHVnVLRnh1SUNCMGNtVmxPaUJTWVc1a2IyMVFjbTlxWldOMGFXOXVWSEpsWlU1dlpHVXNYRzRnSUdoNWNHVnljR3hoYm1Wek9pQnVkVzFpWlhKYlhTeGNiaUFnYjJabWMyVjBjem9nYm5WdFltVnlXMTBzWEc0Z0lHTm9hV3hrY21WdU9pQnVkVzFpWlhKYlhWdGRMRnh1SUNCcGJtUnBZMlZ6T2lCdWRXMWlaWEpiWFZ0ZExGeHVJQ0J1YjJSbFRuVnRPaUJ1ZFcxaVpYSXNYRzRnSUd4bFlXWk9kVzA2SUc1MWJXSmxjbHh1S1RvZ2V5QnViMlJsVG5WdE9pQnVkVzFpWlhJN0lHeGxZV1pPZFcwNklHNTFiV0psY2lCOUlIdGNiaUFnYVdZZ0tIUnlaV1V1YVhOTVpXRm1LU0I3WEc0Z0lDQWdZMmhwYkdSeVpXNWJibTlrWlU1MWJWMWJNRjBnUFNBdGJHVmhaazUxYlR0Y2JseHVJQ0FnSUM4dklGUlBSRTg2SUZSeWFYQnNaU0JqYUdWamF5QjBhR2x6SUc5d1pYSmhkR2x2YmlCamIzSnlaWE53YjI1a2N5QjBiMXh1SUNBZ0lDOHZJR2x1WkdsalpYTmJiR1ZoWms1MWJTQTZJSFJ5WldVdWFXNWthV05sY3k1emFHRndaVnN3WFYwZ1BTQjBjbVZsTG1sdVpHbGpaWE5jYmlBZ0lDQnBibVJwWTJWelcyeGxZV1pPZFcxZExuTndiR2xqWlNnd0xDQjBjbVZsTG1sdVpHbGpaWE1oTG14bGJtZDBhQ3dnTGk0dWRISmxaUzVwYm1ScFkyVnpJU2s3WEc0Z0lDQWdiR1ZoWms1MWJTQXJQU0F4TzF4dUlDQWdJSEpsZEhWeWJpQjdibTlrWlU1MWJTd2diR1ZoWms1MWJYMDdYRzRnSUgwZ1pXeHpaU0I3WEc0Z0lDQWdhSGx3WlhKd2JHRnVaWE5iYm05a1pVNTFiVjBnUFNCMGNtVmxMbWg1Y0dWeWNHeGhibVVoTzF4dUlDQWdJRzltWm5ObGRITmJibTlrWlU1MWJWMGdQU0IwY21WbExtOW1abk5sZENFN1hHNGdJQ0FnWTJocGJHUnlaVzViYm05a1pVNTFiVjFiTUYwZ1BTQnViMlJsVG5WdElDc2dNVHRjYmlBZ0lDQmpiMjV6ZENCdmJHUk9iMlJsVG5WdElEMGdibTlrWlU1MWJUdGNibHh1SUNBZ0lHeGxkQ0J5WlhNZ1BTQnlaV04xY25OcGRtVkdiR0YwZEdWdUtGeHVJQ0FnSUNBZ2RISmxaUzVzWldaMFEyaHBiR1FoTEZ4dUlDQWdJQ0FnYUhsd1pYSndiR0Z1WlhNc1hHNGdJQ0FnSUNCdlptWnpaWFJ6TEZ4dUlDQWdJQ0FnWTJocGJHUnlaVzRzWEc0Z0lDQWdJQ0JwYm1ScFkyVnpMRnh1SUNBZ0lDQWdibTlrWlU1MWJTQXJJREVzWEc0Z0lDQWdJQ0JzWldGbVRuVnRYRzRnSUNBZ0tUdGNiaUFnSUNCdWIyUmxUblZ0SUQwZ2NtVnpMbTV2WkdWT2RXMDdYRzRnSUNBZ2JHVmhaazUxYlNBOUlISmxjeTVzWldGbVRuVnRPMXh1WEc0Z0lDQWdZMmhwYkdSeVpXNWJiMnhrVG05a1pVNTFiVjFiTVYwZ1BTQnViMlJsVG5WdElDc2dNVHRjYmx4dUlDQWdJSEpsY3lBOUlISmxZM1Z5YzJsMlpVWnNZWFIwWlc0b1hHNGdJQ0FnSUNCMGNtVmxMbkpwWjJoMFEyaHBiR1FoTEZ4dUlDQWdJQ0FnYUhsd1pYSndiR0Z1WlhNc1hHNGdJQ0FnSUNCdlptWnpaWFJ6TEZ4dUlDQWdJQ0FnWTJocGJHUnlaVzRzWEc0Z0lDQWdJQ0JwYm1ScFkyVnpMRnh1SUNBZ0lDQWdibTlrWlU1MWJTQXJJREVzWEc0Z0lDQWdJQ0JzWldGbVRuVnRYRzRnSUNBZ0tUdGNiaUFnSUNCeVpYUjFjbTRnZTI1dlpHVk9kVzA2SUhKbGN5NXViMlJsVG5WdExDQnNaV0ZtVG5WdE9pQnlaWE11YkdWaFprNTFiWDA3WEc0Z0lIMWNibjFjYmx4dVpuVnVZM1JwYjI0Z2JuVnRUbTlrWlhNb2RISmxaVG9nVW1GdVpHOXRVSEp2YW1WamRHbHZibFJ5WldWT2IyUmxLVG9nYm5WdFltVnlJSHRjYmlBZ2FXWWdLSFJ5WldVdWFYTk1aV0ZtS1Z4dUlDQWdJSEpsZEhWeWJpQXhPMXh1SUNCbGJITmxYRzRnSUNBZ2NtVjBkWEp1SURFZ0t5QnVkVzFPYjJSbGN5aDBjbVZsTG14bFpuUkRhR2xzWkNFcElDc2diblZ0VG05a1pYTW9kSEpsWlM1eWFXZG9kRU5vYVd4a0lTazdYRzU5WEc1Y2JtWjFibU4wYVc5dUlHNTFiVXhsWVhabGN5aDBjbVZsT2lCU1lXNWtiMjFRY205cVpXTjBhVzl1VkhKbFpVNXZaR1VwT2lCdWRXMWlaWElnZTF4dUlDQnBaaUFvZEhKbFpTNXBjMHhsWVdZcFhHNGdJQ0FnY21WMGRYSnVJREU3WEc0Z0lHVnNjMlZjYmlBZ0lDQnlaWFIxY200Z2JuVnRUR1ZoZG1WektIUnlaV1V1YkdWbWRFTm9hV3hrSVNrZ0t5QnVkVzFNWldGMlpYTW9kSEpsWlM1eWFXZG9kRU5vYVd4a0lTazdYRzU5WEc1Y2JpOHFLbHh1SUNvZ1IyVnVaWEpoZEdVZ1lXNGdZWEp5WVhrZ2IyWWdjMlYwY3lCdlppQmpZVzVrYVdSaGRHVWdibVZoY21WemRDQnVaV2xuYUdKdmNuTWdZbmxjYmlBcUlHTnZibk4wY25WamRHbHVaeUJoSUhKaGJtUnZiU0J3Y205cVpXTjBhVzl1SUdadmNtVnpkQ0JoYm1RZ2RHRnJhVzVuSUhSb1pTQnNaV0YyWlhNZ2IyWWdZV3hzSUhSb1pWeHVJQ29nZEhKbFpYTXVJRUZ1ZVNCbmFYWmxiaUIwY21WbElHaGhjeUJzWldGMlpYTWdkR2hoZENCaGNtVWdZU0J6WlhRZ2IyWWdjRzkwWlc1MGFXRnNJRzVsWVhKbGMzUmNiaUFxSUc1bGFXZG9ZbTl5Y3k0Z1IybDJaVzRnWlc1dmRXZG9JSFJ5WldWeklIUm9aU0J6WlhRZ2IyWWdZV3hzSUhOMVkyZ2diR1ZoZG1WeklHZHBkbVZ6SUdFZ1oyOXZaRnh1SUNvZ2JHbHJaV3hwYUc5dlpDQnZaaUJuWlhSMGFXNW5JR0VnWjI5dlpDQnpaWFFnYjJZZ2JtVmhjbVZ6ZENCdVpXbG5hR0p2Y25NZ2FXNGdZMjl0Y0c5emFYUmxMaUJUYVc1alpWeHVJQ29nYzNWamFDQmhJSEpoYm1SdmJTQndjbTlxWldOMGFXOXVJR1p2Y21WemRDQnBjeUJwYm1WNGNHVnVjMmwyWlNCMGJ5QmpiMjF3ZFhSbExDQjBhR2x6SUdOaGJpQmlaU0JoWEc0Z0tpQjFjMlZtZFd3Z2JXVmhibk1nYjJZZ2MyVmxaR2x1WnlCdmRHaGxjaUJ1WldGeVpYTjBJRzVsYVdkb1ltOXlJR0ZzWjI5eWFYUm9iWE11WEc0Z0tpOWNibVY0Y0c5eWRDQm1kVzVqZEdsdmJpQnRZV3RsVEdWaFprRnljbUY1S0hKd1JtOXlaWE4wT2lCR2JHRjBWSEpsWlZ0ZEtUb2diblZ0WW1WeVcxMWJYU0I3WEc0Z0lHbG1JQ2h5Y0VadmNtVnpkQzVzWlc1bmRHZ2dQaUF3S1NCN1hHNGdJQ0FnWTI5dWMzUWdiM1YwY0hWME9pQnVkVzFpWlhKYlhWdGRJRDBnVzEwN1hHNGdJQ0FnWm05eUlDaGpiMjV6ZENCMGNtVmxJRzltSUhKd1JtOXlaWE4wS1Z4dUlDQWdJQ0FnYjNWMGNIVjBMbkIxYzJnb0xpNHVkSEpsWlM1cGJtUnBZMlZ6SVNrN1hHNWNiaUFnSUNCeVpYUjFjbTRnYjNWMGNIVjBPMXh1SUNCOUlHVnNjMlVnZTF4dUlDQWdJSEpsZEhWeWJpQmJXeTB4WFYwN1hHNGdJSDFjYm4xY2JseHVMeW9xWEc0Z0tpQlRaV3hsWTNSeklIUm9aU0J6YVdSbElHOW1JSFJvWlNCMGNtVmxJSFJ2SUhObFlYSmphQ0JrZFhKcGJtY2dabXhoZENCMGNtVmxJSE5sWVhKamFDNWNiaUFxTDF4dVpuVnVZM1JwYjI0Z2MyVnNaV04wVTJsa1pTaGNiaUFnYUhsd1pYSndiR0Z1WlRvZ2JuVnRZbVZ5TEZ4dUlDQnZabVp6WlhRNklHNTFiV0psY2l4Y2JpQWdjRzlwYm5RNklHNTFiV0psY2l4Y2JpQWdjbUZ1Wkc5dE9pQlNZVzVrYjIxR2JseHVLU0I3WEc0Z0lHeGxkQ0J0WVhKbmFXNGdQU0J2Wm1aelpYUTdYRzVjYmlBZ2JXRnlaMmx1SUNzOUlHaDVjR1Z5Y0d4aGJtVWdLaUJ3YjJsdWREdGNibHh1WEc0Z0lHbG1JQ2h0WVhKbmFXNGdQVDA5SURBcElIdGNiaUFnSUNCamIyNXpkQ0J6YVdSbElEMGdkWFJwYkhNdWRHRjFVbUZ1WkVsdWRDZ3lMQ0J5WVc1a2IyMHBPMXh1SUNBZ0lISmxkSFZ5YmlCemFXUmxPMXh1SUNCOUlHVnNjMlVnYVdZZ0tHMWhjbWRwYmlBK0lEQXBJSHRjYmlBZ0lDQnlaWFIxY200Z01EdGNiaUFnZlNCbGJITmxJSHRjYmlBZ0lDQnlaWFIxY200Z01UdGNiaUFnZlZ4dWZWeHVYRzR2S2lwY2JpQXFJRk5sWVhKamFHVnpJR0VnWm14aGRIUmxibVZrSUhKd0xYUnlaV1VnWm05eUlHRWdjRzlwYm5RdVhHNGdLaTljYm1WNGNHOXlkQ0JtZFc1amRHbHZiaUJ6WldGeVkyaEdiR0YwVkhKbFpTaGNiaUFnY0c5cGJuUTZJRzUxYldKbGNpeGNiaUFnZEhKbFpUb2dSbXhoZEZSeVpXVXNYRzRnSUhKaGJtUnZiVG9nVW1GdVpHOXRSbTVjYmlrZ2UxeHVJQ0JzWlhRZ2JtOWtaU0E5SURBN1hHNGdJSGRvYVd4bElDaDBjbVZsTG1Ob2FXeGtjbVZ1VzI1dlpHVmRXekJkSUQ0Z01Da2dlMXh1SUNBZ0lHTnZibk4wSUhOcFpHVWdQU0J6Wld4bFkzUlRhV1JsS0Z4dUlDQWdJQ0FnZEhKbFpTNW9lWEJsY25Cc1lXNWxjMXR1YjJSbFhTeGNiaUFnSUNBZ0lIUnlaV1V1YjJabWMyVjBjMXR1YjJSbFhTeGNiaUFnSUNBZ0lIQnZhVzUwTEZ4dUlDQWdJQ0FnY21GdVpHOXRYRzRnSUNBZ0tUdGNiaUFnSUNCcFppQW9jMmxrWlNBOVBUMGdNQ2xjYmlBZ0lDQWdJRzV2WkdVZ1BTQjBjbVZsTG1Ob2FXeGtjbVZ1VzI1dlpHVmRXekJkTzF4dUlDQWdJR1ZzYzJWY2JpQWdJQ0FnSUc1dlpHVWdQU0IwY21WbExtTm9hV3hrY21WdVcyNXZaR1ZkV3pGZE8xeHVJQ0I5WEc1Y2JpQWdZMjl1YzNRZ2FXNWtaWGdnUFNBdE1TQXFJSFJ5WldVdVkyaHBiR1J5Wlc1YmJtOWtaVjFiTUYwN1hHNGdJSEpsZEhWeWJpQjBjbVZsTG1sdVpHbGpaWE5iYVc1a1pYaGRPMXh1ZlZ4dUlsMTkiLCIvKiBlc2xpbnQtZGlzYWJsZSBtYXgtbGVuICovXG4vKipcbiAqIEBsaWNlbnNlXG4gKlxuICogQ29weXJpZ2h0IDIwMTkgR29vZ2xlIExMQy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAqL1xuLyoqXG4gKiBUaGlzIGlzIGEgSmF2YVNjcmlwdCByZWltcGxlbWVudGF0aW9uIG9mIFVNQVAgKG9yaWdpbmFsIGxpY2Vuc2UgYmVsb3cpLCBmcm9tXG4gKiB0aGUgcHl0aG9uIGltcGxlbWVudGF0aW9uIGZvdW5kIGF0IGh0dHBzOi8vZ2l0aHViLmNvbS9sbWNpbm5lcy91bWFwLlxuICpcbiAqIEBhdXRob3IgYW5keWNvZW5lbkBnb29nbGUuY29tIChBbmR5IENvZW5lbilcbiAqL1xuLyoqXG4gKiBAbGljZW5zZVxuICogQlNEIDMtQ2xhdXNlIExpY2Vuc2VcbiAqXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTcsIExlbGFuZCBNY0lubmVzXG4gKiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICpcbiAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dFxuICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6XG4gKlxuICogKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXNcbiAqICAgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuXG4gKlxuICogKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsXG4gKiAgIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb25cbiAqICAgYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uXG4gKlxuICogKiBOZWl0aGVyIHRoZSBuYW1lIG9mIHRoZSBjb3B5cmlnaHQgaG9sZGVyIG5vciB0aGUgbmFtZXMgb2YgaXRzXG4gKiAgIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tXG4gKiAgIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uXG4gKlxuICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyBcIkFTIElTXCJcbiAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEVcbiAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRVxuICogRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBIT0xERVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRVxuICogRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUxcbiAqIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SXG4gKiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUlxuICogQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSxcbiAqIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFXG4gKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLlxuICovXG5pbXBvcnQgKiBhcyBoZWFwIGZyb20gJy4vaGVhcCc7XG5pbXBvcnQgKiBhcyBtYXRyaXggZnJvbSAnLi9tYXRyaXgnO1xuaW1wb3J0ICogYXMgbm5EZXNjZW50IGZyb20gJy4vbm5fZGVzY2VudCc7XG5pbXBvcnQgKiBhcyB0cmVlIGZyb20gJy4vdHJlZSc7XG5pbXBvcnQgKiBhcyB1dGlscyBmcm9tICcuL3V0aWxzJztcbmltcG9ydCBMTSBmcm9tICdtbC1sZXZlbmJlcmctbWFycXVhcmR0JztcbmNvbnN0IFNNT09USF9LX1RPTEVSQU5DRSA9IDFlLTU7XG5jb25zdCBNSU5fS19ESVNUX1NDQUxFID0gMWUtMztcbi8qKlxuICogVU1BUCBwcm9qZWN0aW9uIHN5c3RlbSwgYmFzZWQgb24gdGhlIHB5dGhvbiBpbXBsZW1lbnRhdGlvbiBmcm9tIE1jSW5uZXMsIEwsXG4gKiBIZWFseSwgSiwgVU1BUDogVW5pZm9ybSBNYW5pZm9sZCBBcHByb3hpbWF0aW9uIGFuZCBQcm9qZWN0aW9uIGZvciBEaW1lbnNpb25cbiAqIFJlZHVjdGlvbiAoaHR0cHM6Ly9naXRodWIuY29tL2xtY2lubmVzL3VtYXApLlxuICpcbiAqIFRoaXMgaW1wbGVtZW50YXRpb24gZGlmZmVycyBpbiBhIGZldyByZWdhcmRzOlxuICogYSkgVGhlIGluaXRpYWxpemF0aW9uIG9mIHRoZSBlbWJlZGRpbmcgZm9yIG9wdGltaXphdGlvbiBpcyBub3QgY29tcHV0ZWQgdXNpbmdcbiAqICAgIGEgc3BlY3RyYWwgbWV0aG9kLCByYXRoZXIgaXQgaXMgaW5pdGlhbGl6ZWQgcmFuZG9tbHkuIFRoaXMgYXZvaWRzIHNvbWVcbiAqICAgIGNvbXB1dGF0aW9uYWxseSBpbnRlbnNpdmUgbWF0cml4IGVpZ2VuIGNvbXB1dGF0aW9ucyB0aGF0IGFyZW4ndCBlYXNpbHlcbiAqICAgIHBvcnRlZCB0byBKYXZhU2NyaXB0LlxuICogYikgQSBsb3Qgb2YgXCJleHRyYVwiIGZ1bmN0aW9uYWxpdHkgaGFzIGJlZW4gb21pdHRlZCBmcm9tIHRoaXMgaW1wbGVtZW50YXRpb24sXG4gKiAgICBtb3N0IG5vdGFibHkgYSBncmVhdCBkZWFsIG9mIGFsdGVybmF0ZSBkaXN0YW5jZSBmdW5jdGlvbnMuXG4gKlxuICogVGhpcyBpbXBsZW1lbnRhdGlvbiBwcm92aWRlcyB0aHJlZSBtZXRob2RzIG9mIHJlZHVjaW5nIGRpbWVuc2lvbmFsaXR5OlxuICogMSkgZml0OiBmaXQgdGhlIGRhdGEgc3luY2hyb25vdXNseVxuICogMikgZml0QXN5bmM6IGZpdCB0aGUgZGF0YSBhc3luY2hyb25vdXNseSwgd2l0aCBhIGNhbGxiYWNrIGZ1bmN0aW9uIHByb3ZpZGVkXG4gKiAgICAgIHRoYXQgaXMgaW52b2tlZCBvbiBlYWNoIG9wdGltaXphdGlvbiBzdGVwLlxuICogMykgaW5pdGlhbGl6ZUZpdCAvIHN0ZXA6IG1hbnVhbGx5IGluaXRpYWxpemUgdGhlIGFsZ29yaXRobSB0aGVuIGV4cGxpY3RseVxuICogICAgICBzdGVwIHRocm91Z2ggZWFjaCBlcG9jaCBvZiB0aGUgU0dEIG9wdGltaXphdGlvblxuICovXG5leHBvcnQgY2xhc3MgVU1BUCB7XG4gICAgbGVhcm5pbmdSYXRlID0gMS4wO1xuICAgIGxvY2FsQ29ubmVjdGl2aXR5ID0gMS4wO1xuICAgIG1pbkRpc3QgPSAwLjE7XG4gICAgbkNvbXBvbmVudHMgPSAyO1xuICAgIG5FcG9jaHMgPSAwO1xuICAgIG5OZWlnaGJvcnMgPSAxNTtcbiAgICBuZWdhdGl2ZVNhbXBsZVJhdGUgPSA1O1xuICAgIHJhbmRvbSA9IE1hdGgucmFuZG9tO1xuICAgIHJlcHVsc2lvblN0cmVuZ3RoID0gMS4wO1xuICAgIHNldE9wTWl4UmF0aW8gPSAxLjA7XG4gICAgc3ByZWFkID0gMS4wO1xuICAgIHRyYW5zZm9ybVF1ZXVlU2l6ZSA9IDQuMDtcbiAgICAvLyBTdXBlcnZpc2VkIHByb2plY3Rpb24gcGFyYW1zXG4gICAgdGFyZ2V0TWV0cmljID0gXCJjYXRlZ29yaWNhbFwiIC8qIFRhcmdldE1ldHJpYy5jYXRlZ29yaWNhbCAqLztcbiAgICB0YXJnZXRXZWlnaHQgPSAwLjU7XG4gICAgdGFyZ2V0Tk5laWdoYm9ycyA9IDE1O1xuICAgIGRpc3RhbmNlRm4gPSBudW1lcmljO1xuICAgIC8vIEtOTiBzdGF0ZSAoY2FuIGJlIHByZWNvbXB1dGVkIGFuZCBzdXBwbGllZCB2aWEgaW5pdGlhbGl6ZUZpdClcbiAgICBrbm5JbmRpY2VzO1xuICAgIGtubkRpc3RhbmNlcztcbiAgICAvLyBJbnRlcm5hbCBncmFwaCBjb25uZWN0aXZpdHkgcmVwcmVzZW50YXRpb25cbiAgICBncmFwaDtcbiAgICBYO1xuICAgIGlzSW5pdGlhbGl6ZWQgPSBmYWxzZTtcbiAgICBycEZvcmVzdCA9IFtdO1xuICAgIGluaXRGcm9tUmFuZG9tO1xuICAgIGluaXRGcm9tVHJlZTtcbiAgICBzZWFyY2g7XG4gICAgc2VhcmNoR3JhcGg7XG4gICAgLy8gU3VwZXJ2aXNlZCBwcm9qZWN0aW9uIGxhYmVscyAvIHRhcmdldHNcbiAgICBZO1xuICAgIC8vIFByb2plY3RlZCBlbWJlZGRpbmdcbiAgICBlbWJlZGRpbmcgPSBbXTtcbiAgICBvcHRpbWl6YXRpb25TdGF0ZSA9IG5ldyBPcHRpbWl6YXRpb25TdGF0ZSgpO1xuICAgIGdldCBuZWlnaGJvcnMoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLm5OZWlnaGJvcnM7XG4gICAgfVxuICAgIGNvbnN0cnVjdG9yKHBhcmFtcyA9IHt9KSB7XG4gICAgICAgIGNvbnN0IHNldFBhcmFtID0gKGtleSkgPT4ge1xuICAgICAgICAgICAgLy9AdHMtaWdub3JlXG4gICAgICAgICAgICBpZiAocGFyYW1zW2tleV0gIT09IHVuZGVmaW5lZClcbiAgICAgICAgICAgICAgICB0aGlzW2tleV0gPSBwYXJhbXNba2V5XTtcbiAgICAgICAgfTtcbiAgICAgICAgc2V0UGFyYW0oJ2Rpc3RhbmNlRm4nKTtcbiAgICAgICAgc2V0UGFyYW0oJ2xlYXJuaW5nUmF0ZScpO1xuICAgICAgICBzZXRQYXJhbSgnbG9jYWxDb25uZWN0aXZpdHknKTtcbiAgICAgICAgc2V0UGFyYW0oJ21pbkRpc3QnKTtcbiAgICAgICAgc2V0UGFyYW0oJ25Db21wb25lbnRzJyk7XG4gICAgICAgIHNldFBhcmFtKCduRXBvY2hzJyk7XG4gICAgICAgIHNldFBhcmFtKCduTmVpZ2hib3JzJyk7XG4gICAgICAgIHNldFBhcmFtKCduZWdhdGl2ZVNhbXBsZVJhdGUnKTtcbiAgICAgICAgc2V0UGFyYW0oJ3JhbmRvbScpO1xuICAgICAgICBzZXRQYXJhbSgncmVwdWxzaW9uU3RyZW5ndGgnKTtcbiAgICAgICAgc2V0UGFyYW0oJ3NldE9wTWl4UmF0aW8nKTtcbiAgICAgICAgc2V0UGFyYW0oJ3NwcmVhZCcpO1xuICAgICAgICBzZXRQYXJhbSgndHJhbnNmb3JtUXVldWVTaXplJyk7XG4gICAgICAgIHRoaXMudGFyZ2V0Tk5laWdoYm9ycyA9IHBhcmFtcy5uTmVpZ2hib3JzIHx8IHRoaXMubk5laWdoYm9ycyB8fCB0aGlzLnRhcmdldE5OZWlnaGJvcnM7XG4gICAgfVxuICAgIC8qKlxuICAgICAqIEZpdCB0aGUgZGF0YSB0byBhIHByb2plY3RlZCBlbWJlZGRpbmcgc3BhY2Ugc3luY2hyb25vdXNseS5cbiAgICAgKi9cbiAgICBmaXQoWCkge1xuICAgICAgICB0aGlzLmluaXRpYWxpemVGaXQoWCk7XG4gICAgICAgIHRoaXMub3B0aW1pemVMYXlvdXQoKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuZW1iZWRkaW5nO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBGaXQgdGhlIGRhdGEgdG8gYSBwcm9qZWN0ZWQgZW1iZWRkaW5nIHNwYWNlIGFzeW5jaHJvbm91c2x5LCB3aXRoIGEgY2FsbGJhY2tcbiAgICAgKiBmdW5jdGlvbiBpbnZva2VkIG9uIGV2ZXJ5IGVwb2NoIG9mIG9wdGltaXphdGlvbi5cbiAgICAgKi9cbiAgICBhc3luYyBmaXRBc3luYyhYLCBjYWxsYmFjayA9ICgpID0+IHRydWUpIHtcbiAgICAgICAgdGhpcy5pbml0aWFsaXplRml0KFgpO1xuICAgICAgICBhd2FpdCB0aGlzLm9wdGltaXplTGF5b3V0QXN5bmMoY2FsbGJhY2spO1xuICAgICAgICByZXR1cm4gdGhpcy5lbWJlZGRpbmc7XG4gICAgfVxuICAgIC8qKlxuICAgICAqIEluaXRpYWxpemVzIHBhcmFtZXRlcnMgbmVlZGVkIGZvciBzdXBlcnZpc2VkIHByb2plY3Rpb24uXG4gICAgICovXG4gICAgc2V0U3VwZXJ2aXNlZFByb2plY3Rpb24oWSwgcGFyYW1zID0ge30pIHtcbiAgICAgICAgdGhpcy5ZID0gWTtcbiAgICAgICAgdGhpcy50YXJnZXRNZXRyaWMgPSBwYXJhbXMudGFyZ2V0TWV0cmljIHx8IHRoaXMudGFyZ2V0TWV0cmljO1xuICAgICAgICB0aGlzLnRhcmdldFdlaWdodCA9IHBhcmFtcy50YXJnZXRXZWlnaHQgfHwgdGhpcy50YXJnZXRXZWlnaHQ7XG4gICAgICAgIHRoaXMudGFyZ2V0Tk5laWdoYm9ycyA9IHBhcmFtcy50YXJnZXROTmVpZ2hib3JzIHx8IHRoaXMudGFyZ2V0Tk5laWdoYm9ycztcbiAgICB9XG4gICAgLyoqXG4gICAgICogSW5pdGlhbGl6ZXMgdW1hcCB3aXRoIHByZWNvbXB1dGVkIEtOTiBpbmRpY2VzIGFuZCBkaXN0YW5jZXMuXG4gICAgICovXG4gICAgc2V0UHJlY29tcHV0ZWRLTk4oa25uSW5kaWNlcywga25uRGlzdGFuY2VzKSB7XG4gICAgICAgIHRoaXMua25uSW5kaWNlcyA9IGtubkluZGljZXM7XG4gICAgICAgIHRoaXMua25uRGlzdGFuY2VzID0ga25uRGlzdGFuY2VzO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBJbml0aWFsaXplcyBmaXQgYnkgY29tcHV0aW5nIEtOTiBhbmQgYSBmdXp6eSBzaW1wbGljaWFsIHNldCwgYXMgd2VsbCBhc1xuICAgICAqIGluaXRpYWxpemluZyB0aGUgcHJvamVjdGVkIGVtYmVkZGluZ3MuIFNldHMgdGhlIG9wdGltaXphdGlvbiBzdGF0ZSBhaGVhZFxuICAgICAqIG9mIG9wdGltaXphdGlvbiBzdGVwcy4gUmV0dXJucyB0aGUgbnVtYmVyIG9mIGVwb2NocyB0byBiZSB1c2VkIGZvciB0aGVcbiAgICAgKiBTR0Qgb3B0aW1pemF0aW9uLlxuICAgICAqL1xuICAgIGluaXRpYWxpemVGaXQoWCkge1xuICAgICAgICBpZiAoWC5sZW5ndGggPD0gdGhpcy5uTmVpZ2hib3JzKVxuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBOb3QgZW5vdWdoIGRhdGEgcG9pbnRzICgke1gubGVuZ3RofSkgdG8gY3JlYXRlIG5OZWlnaGJvcnM6ICR7dGhpcy5uTmVpZ2hib3JzfS4gIEFkZCBtb3JlIGRhdGEgcG9pbnRzIG9yIGFkanVzdCB0aGUgY29uZmlndXJhdGlvbi5gKTtcbiAgICAgICAgLy8gV2UgZG9uJ3QgbmVlZCB0byByZWluaXRpYWxpemUgaWYgd2UndmUgYWxyZWFkeSBpbml0aWFsaXplZCBmb3IgdGhpcyBkYXRhLlxuICAgICAgICBpZiAodGhpcy5YID09PSBYICYmIHRoaXMuaXNJbml0aWFsaXplZClcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmdldE5FcG9jaHMoKTtcbiAgICAgICAgdGhpcy5YID0gWDtcbiAgICAgICAgaWYgKCF0aGlzLmtubkluZGljZXMgJiYgIXRoaXMua25uRGlzdGFuY2VzKSB7XG4gICAgICAgICAgICBjb25zdCBrbm5SZXN1bHRzID0gdGhpcy5uZWFyZXN0TmVpZ2hib3JzKFgpO1xuICAgICAgICAgICAgdGhpcy5rbm5JbmRpY2VzID0ga25uUmVzdWx0cy5rbm5JbmRpY2VzO1xuICAgICAgICAgICAgdGhpcy5rbm5EaXN0YW5jZXMgPSBrbm5SZXN1bHRzLmtubkRpc3RhbmNlcztcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmdyYXBoID0gdGhpcy5mdXp6eVNpbXBsaWNpYWxTZXQoWCwgdGhpcy5uTmVpZ2hib3JzLCB0aGlzLnNldE9wTWl4UmF0aW8pO1xuICAgICAgICAvLyBTZXQgdXAgdGhlIHNlYXJjaCBncmFwaCBmb3Igc3Vic2VxdWVudCB0cmFuc2Zvcm1hdGlvbi5cbiAgICAgICAgdGhpcy5tYWtlU2VhcmNoRm5zKCk7XG4gICAgICAgIHRoaXMuc2VhcmNoR3JhcGggPSB0aGlzLm1ha2VTZWFyY2hHcmFwaChYKTtcbiAgICAgICAgLy8gQ2hlY2sgaWYgc3VwZXJ2aXNlZCBwcm9qZWN0aW9uLCB0aGVuIGFkanVzdCB0aGUgZ3JhcGguXG4gICAgICAgIHRoaXMucHJvY2Vzc0dyYXBoRm9yU3VwZXJ2aXNlZFByb2plY3Rpb24oKTtcbiAgICAgICAgY29uc3QgeyBoZWFkLCB0YWlsLCBlcG9jaHNQZXJTYW1wbGUsIH0gPSB0aGlzLmluaXRpYWxpemVTaW1wbGljaWFsU2V0RW1iZWRkaW5nKCk7XG4gICAgICAgIC8vIFNldCB0aGUgb3B0aW1pemF0aW9uIHJvdXRpbmUgc3RhdGVcbiAgICAgICAgdGhpcy5vcHRpbWl6YXRpb25TdGF0ZS5oZWFkID0gaGVhZDtcbiAgICAgICAgdGhpcy5vcHRpbWl6YXRpb25TdGF0ZS50YWlsID0gdGFpbDtcbiAgICAgICAgdGhpcy5vcHRpbWl6YXRpb25TdGF0ZS5lcG9jaHNQZXJTYW1wbGUgPSBlcG9jaHNQZXJTYW1wbGU7XG4gICAgICAgIC8vIE5vdywgaW5pdGlhbGl6ZSB0aGUgb3B0aW1pemF0aW9uIHN0ZXBzXG4gICAgICAgIHRoaXMuaW5pdGlhbGl6ZU9wdGltaXphdGlvbigpO1xuICAgICAgICB0aGlzLnByZXBhcmVGb3JPcHRpbWl6YXRpb25Mb29wKCk7XG4gICAgICAgIHRoaXMuaXNJbml0aWFsaXplZCA9IHRydWU7XG4gICAgICAgIHJldHVybiB0aGlzLmdldE5FcG9jaHMoKTtcbiAgICB9XG4gICAgbWFrZVNlYXJjaEZucygpIHtcbiAgICAgICAgY29uc3QgeyBpbml0RnJvbVRyZWUsIGluaXRGcm9tUmFuZG9tIH0gPSBubkRlc2NlbnQubWFrZUluaXRpYWxpemF0aW9ucyh0aGlzLmRpc3RhbmNlRm4pO1xuICAgICAgICB0aGlzLmluaXRGcm9tVHJlZSA9IGluaXRGcm9tVHJlZTtcbiAgICAgICAgdGhpcy5pbml0RnJvbVJhbmRvbSA9IGluaXRGcm9tUmFuZG9tO1xuICAgICAgICB0aGlzLnNlYXJjaCA9IG5uRGVzY2VudC5tYWtlSW5pdGlhbGl6ZWROTlNlYXJjaCh0aGlzLmRpc3RhbmNlRm4pO1xuICAgIH1cbiAgICBtYWtlU2VhcmNoR3JhcGgoWCkge1xuICAgICAgICBjb25zdCBrbm5JbmRpY2VzID0gdGhpcy5rbm5JbmRpY2VzO1xuICAgICAgICBjb25zdCBrbm5EaXN0YW5jZXMgPSB0aGlzLmtubkRpc3RhbmNlcztcbiAgICAgICAgY29uc3QgZGltcyA9IFtYLmxlbmd0aCwgWC5sZW5ndGhdO1xuICAgICAgICBjb25zdCBzZWFyY2hHcmFwaCA9IG5ldyBtYXRyaXguU3BhcnNlTWF0cml4KFtdLCBbXSwgW10sIGRpbXMpO1xuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGtubkluZGljZXMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgIGNvbnN0IGtubiA9IGtubkluZGljZXNbaV07XG4gICAgICAgICAgICBjb25zdCBkaXN0YW5jZXMgPSBrbm5EaXN0YW5jZXNbaV07XG4gICAgICAgICAgICBmb3IgKGxldCBqID0gMDsgaiA8IGtubi5sZW5ndGg7IGorKykge1xuICAgICAgICAgICAgICAgIGNvbnN0IG5laWdoYm9yID0ga25uW2pdO1xuICAgICAgICAgICAgICAgIGNvbnN0IGRpc3RhbmNlID0gZGlzdGFuY2VzW2pdO1xuICAgICAgICAgICAgICAgIGlmIChkaXN0YW5jZSA+IDApXG4gICAgICAgICAgICAgICAgICAgIHNlYXJjaEdyYXBoLnNldChpLCBuZWlnaGJvciwgZGlzdGFuY2UpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGNvbnN0IHRyYW5zcG9zZSA9IG1hdHJpeC50cmFuc3Bvc2Uoc2VhcmNoR3JhcGgpO1xuICAgICAgICByZXR1cm4gbWF0cml4Lm1heGltdW0oc2VhcmNoR3JhcGgsIHRyYW5zcG9zZSk7XG4gICAgfVxuICAgIC8qKlxuICAgICAqIFRyYW5zZm9ybXMgZGF0YSB0byB0aGUgZXhpc3RpbmcgZW1iZWRkaW5nIHNwYWNlLlxuICAgICAqL1xuICAgIHRyYW5zZm9ybSh0b1RyYW5zZm9ybSkge1xuICAgICAgICAvLyBVc2UgdGhlIHByZXZpb3VzIHJhd0RhdGFcbiAgICAgICAgY29uc3QgcmF3RGF0YSA9IHRoaXMuWDtcbiAgICAgICAgaWYgKHJhd0RhdGEgPT09IHVuZGVmaW5lZCB8fCByYXdEYXRhLmxlbmd0aCA9PT0gMClcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignTm8gZGF0YSBoYXMgYmVlbiBmaXQuJyk7XG4gICAgICAgIGxldCBuTmVpZ2hib3JzID0gTWF0aC5mbG9vcih0aGlzLm5OZWlnaGJvcnMgKiB0aGlzLnRyYW5zZm9ybVF1ZXVlU2l6ZSk7XG4gICAgICAgIG5OZWlnaGJvcnMgPSBNYXRoLm1pbihyYXdEYXRhLmxlbmd0aCwgbk5laWdoYm9ycyk7XG4gICAgICAgIGNvbnN0IGluaXQgPSBubkRlc2NlbnQuaW5pdGlhbGl6ZVNlYXJjaCh0aGlzLnJwRm9yZXN0LCByYXdEYXRhLCB0b1RyYW5zZm9ybSwgbk5laWdoYm9ycywgdGhpcy5pbml0RnJvbVJhbmRvbSwgdGhpcy5pbml0RnJvbVRyZWUsIHRoaXMucmFuZG9tKTtcbiAgICAgICAgY29uc3QgcmVzdWx0ID0gdGhpcy5zZWFyY2gocmF3RGF0YSwgdGhpcy5zZWFyY2hHcmFwaCwgaW5pdCwgdG9UcmFuc2Zvcm0pO1xuICAgICAgICBsZXQgeyBpbmRpY2VzLCB3ZWlnaHRzOiBkaXN0YW5jZXMgfSA9IGhlYXAuZGVoZWFwU29ydChyZXN1bHQpO1xuICAgICAgICBpbmRpY2VzID0gaW5kaWNlcy5tYXAoKHgpID0+IHguc2xpY2UoMCwgdGhpcy5uTmVpZ2hib3JzKSk7XG4gICAgICAgIGRpc3RhbmNlcyA9IGRpc3RhbmNlcy5tYXAoKHgpID0+IHguc2xpY2UoMCwgdGhpcy5uTmVpZ2hib3JzKSk7XG4gICAgICAgIGNvbnN0IGFkanVzdGVkTG9jYWxDb25uZWN0aXZpdHkgPSBNYXRoLm1heCgwLCB0aGlzLmxvY2FsQ29ubmVjdGl2aXR5IC0gMSk7XG4gICAgICAgIGNvbnN0IHsgc2lnbWFzLCByaG9zIH0gPSB0aGlzLnNtb290aEtOTkRpc3RhbmNlKGRpc3RhbmNlcywgdGhpcy5uTmVpZ2hib3JzLCBhZGp1c3RlZExvY2FsQ29ubmVjdGl2aXR5KTtcbiAgICAgICAgY29uc3QgeyByb3dzLCBjb2xzLCB2YWxzIH0gPSB0aGlzLmNvbXB1dGVNZW1iZXJzaGlwU3RyZW5ndGhzKGluZGljZXMsIGRpc3RhbmNlcywgc2lnbWFzLCByaG9zKTtcbiAgICAgICAgY29uc3Qgc2l6ZSA9IFt0b1RyYW5zZm9ybS5sZW5ndGgsIHJhd0RhdGEubGVuZ3RoXTtcbiAgICAgICAgbGV0IGdyYXBoID0gbmV3IG1hdHJpeC5TcGFyc2VNYXRyaXgocm93cywgY29scywgdmFscywgc2l6ZSk7XG4gICAgICAgIC8vIFRoaXMgd2FzIGEgdmVyeSBzcGVjaWFsbHkgY29uc3RydWN0ZWQgZ3JhcGggd2l0aCBjb25zdGFudCBkZWdyZWUuXG4gICAgICAgIC8vIFRoYXQgbGV0cyB1cyBkbyBmYW5jeSB1bnBhY2tpbmcgYnkgcmVzaGFwaW5nIHRoZSBjc3IgbWF0cml4IGluZGljZXNcbiAgICAgICAgLy8gYW5kIGRhdGEuIERvaW5nIHNvIHJlbGllcyBvbiB0aGUgY29uc3RhbnQgZGVncmVlIGFzc3VtcHRpb24hXG4gICAgICAgIGNvbnN0IG5vcm1lZCA9IG1hdHJpeC5ub3JtYWxpemUoZ3JhcGgsIFwibDFcIiAvKiBtYXRyaXguTm9ybVR5cGUubDEgKi8pO1xuICAgICAgICBjb25zdCBjc3JNYXRyaXggPSBtYXRyaXguZ2V0Q1NSKG5vcm1lZCk7XG4gICAgICAgIGNvbnN0IG5Qb2ludHMgPSB0b1RyYW5zZm9ybS5sZW5ndGg7XG4gICAgICAgIGNvbnN0IGVJbmRpY2VzID0gdXRpbHMucmVzaGFwZTJkKGNzck1hdHJpeC5pbmRpY2VzLCBuUG9pbnRzLCB0aGlzLm5OZWlnaGJvcnMpO1xuICAgICAgICBjb25zdCBlV2VpZ2h0cyA9IHV0aWxzLnJlc2hhcGUyZChjc3JNYXRyaXgudmFsdWVzLCBuUG9pbnRzLCB0aGlzLm5OZWlnaGJvcnMpO1xuICAgICAgICBjb25zdCBlbWJlZGRpbmcgPSBpbml0VHJhbnNmb3JtKGVJbmRpY2VzLCBlV2VpZ2h0cywgdGhpcy5lbWJlZGRpbmcpO1xuICAgICAgICBjb25zdCBuRXBvY2hzID0gdGhpcy5uRXBvY2hzID9cbiAgICAgICAgICAgIHRoaXMubkVwb2NocyAvIDMgOlxuICAgICAgICAgICAgZ3JhcGgublJvd3MgPD0gMTAwMDAgP1xuICAgICAgICAgICAgICAgIDEwMCA6XG4gICAgICAgICAgICAgICAgMzA7XG4gICAgICAgIGNvbnN0IGdyYXBoTWF4ID0gZ3JhcGhcbiAgICAgICAgICAgIC5nZXRWYWx1ZXMoKVxuICAgICAgICAgICAgLnJlZHVjZSgobWF4LCB2YWwpID0+ICh2YWwgPiBtYXggPyB2YWwgOiBtYXgpLCAwKTtcbiAgICAgICAgZ3JhcGggPSBncmFwaC5tYXAoKHZhbHVlKSA9PiAodmFsdWUgPCBncmFwaE1heCAvIG5FcG9jaHMgPyAwIDogdmFsdWUpKTtcbiAgICAgICAgZ3JhcGggPSBtYXRyaXguZWxpbWluYXRlWmVyb3MoZ3JhcGgpO1xuICAgICAgICBjb25zdCBlcG9jaHNQZXJTYW1wbGUgPSB0aGlzLm1ha2VFcG9jaHNQZXJTYW1wbGUoZ3JhcGguZ2V0VmFsdWVzKCksIG5FcG9jaHMpO1xuICAgICAgICBjb25zdCBoZWFkID0gZ3JhcGguZ2V0Um93cygpO1xuICAgICAgICBjb25zdCB0YWlsID0gZ3JhcGguZ2V0Q29scygpO1xuICAgICAgICAvLyBJbml0aWFsaXplIG9wdGltaXphdGlvbiBzbGlnaHRseSBkaWZmZXJlbnRseSB0aGFuIHRoZSBmaXQgbWV0aG9kLlxuICAgICAgICB0aGlzLmFzc2lnbk9wdGltaXphdGlvblN0YXRlUGFyYW1ldGVycyh7XG4gICAgICAgICAgICBoZWFkRW1iZWRkaW5nOiBlbWJlZGRpbmcsXG4gICAgICAgICAgICB0YWlsRW1iZWRkaW5nOiB0aGlzLmVtYmVkZGluZyxcbiAgICAgICAgICAgIGhlYWQsXG4gICAgICAgICAgICB0YWlsLFxuICAgICAgICAgICAgY3VycmVudEVwb2NoOiAwLFxuICAgICAgICAgICAgbkVwb2NocyxcbiAgICAgICAgICAgIG5WZXJ0aWNlczogZ3JhcGguZ2V0RGltcygpWzFdLFxuICAgICAgICAgICAgZXBvY2hzUGVyU2FtcGxlLFxuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5wcmVwYXJlRm9yT3B0aW1pemF0aW9uTG9vcCgpO1xuICAgICAgICByZXR1cm4gdGhpcy5vcHRpbWl6ZUxheW91dCgpO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBDaGVja3MgaWYgd2UncmUgdXNpbmcgc3VwZXJ2aXNlZCBwcm9qZWN0aW9uLCB0aGVuIHByb2Nlc3MgdGhlIGdyYXBoXG4gICAgICogYWNjb3JkaW5nbHkuXG4gICAgICovXG4gICAgcHJvY2Vzc0dyYXBoRm9yU3VwZXJ2aXNlZFByb2plY3Rpb24oKSB7XG4gICAgICAgIGNvbnN0IHsgWSwgWCB9ID0gdGhpcztcbiAgICAgICAgaWYgKFkpIHtcbiAgICAgICAgICAgIGlmIChZLmxlbmd0aCAhPT0gWC5sZW5ndGgpXG4gICAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdMZW5ndGggb2YgWCBhbmQgeSBtdXN0IGJlIGVxdWFsJyk7XG4gICAgICAgICAgICBpZiAodGhpcy50YXJnZXRNZXRyaWMgPT09IFwiY2F0ZWdvcmljYWxcIiAvKiBUYXJnZXRNZXRyaWMuY2F0ZWdvcmljYWwgKi8pIHtcbiAgICAgICAgICAgICAgICBjb25zdCBsdCA9IHRoaXMudGFyZ2V0V2VpZ2h0IDwgMS4wO1xuICAgICAgICAgICAgICAgIGNvbnN0IGZhckRpc3QgPSBsdCA/IDIuNSAqICgxLjAgLyAoMS4wIC0gdGhpcy50YXJnZXRXZWlnaHQpKSA6IDEuMGUxMjtcbiAgICAgICAgICAgICAgICB0aGlzLmdyYXBoID0gdGhpcy5jYXRlZ29yaWNhbFNpbXBsaWNpYWxTZXRJbnRlcnNlY3Rpb24odGhpcy5ncmFwaCwgWSwgZmFyRGlzdCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAvLyBUT0RPIChhbmR5Y29lbmVuQCk6IGFkZCBub24tY2F0ZWdvcmljYWwgc3VwZXJ2aXNlZCBlbWJlZGRpbmdzLlxuICAgICAgICB9XG4gICAgfVxuICAgIC8qKlxuICAgICAqIE1hbnVhbGx5IHN0ZXAgdGhyb3VnaCB0aGUgb3B0aW1pemF0aW9uIHByb2Nlc3Mgb25lIGVwb2NoIGF0IGEgdGltZS5cbiAgICAgKi9cbiAgICBzdGVwKCkge1xuICAgICAgICBjb25zdCB7IGN1cnJlbnRFcG9jaCB9ID0gdGhpcy5vcHRpbWl6YXRpb25TdGF0ZTtcbiAgICAgICAgaWYgKGN1cnJlbnRFcG9jaCA8IHRoaXMuZ2V0TkVwb2NocygpKVxuICAgICAgICAgICAgdGhpcy5vcHRpbWl6ZUxheW91dFN0ZXAoY3VycmVudEVwb2NoKTtcbiAgICAgICAgcmV0dXJuIHRoaXMub3B0aW1pemF0aW9uU3RhdGUuY3VycmVudEVwb2NoO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBSZXR1cm5zIHRoZSBjb21wdXRlZCBwcm9qZWN0ZWQgZW1iZWRkaW5nLlxuICAgICAqL1xuICAgIGdldEVtYmVkZGluZygpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZW1iZWRkaW5nO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBDb21wdXRlIHRoZSBgYG5OZWlnaGJvcnNgYCBuZWFyZXN0IHBvaW50cyBmb3IgZWFjaCBkYXRhIHBvaW50IGluIGBgWGBgXG4gICAgICogVGhpcyBtYXkgYmUgZXhhY3QsIGJ1dCBtb3JlIGxpa2VseSBpcyBhcHByb3hpbWF0ZWQgdmlhIG5lYXJlc3QgbmVpZ2hib3JcbiAgICAgKiBkZXNjZW50LlxuICAgICAqL1xuICAgIG5lYXJlc3ROZWlnaGJvcnMoWCkge1xuICAgICAgICBjb25zdCB7IGRpc3RhbmNlRm4sIG5OZWlnaGJvcnMgfSA9IHRoaXM7XG4gICAgICAgIGNvbnN0IGxvZzIgPSAobikgPT4gTWF0aC5sb2cobikgLyBNYXRoLmxvZygyKTtcbiAgICAgICAgY29uc3QgbWV0cmljTk5EZXNjZW50ID0gbm5EZXNjZW50Lm1ha2VOTkRlc2NlbnQoZGlzdGFuY2VGbiwgdGhpcy5yYW5kb20pO1xuICAgICAgICAvLyBIYW5kbGUgcHl0aG9uMyByb3VuZGluZyBkb3duIGZyb20gMC41IGRpc2NycGFuY3lcbiAgICAgICAgY29uc3Qgcm91bmQgPSAobikgPT4ge1xuICAgICAgICAgICAgcmV0dXJuIG4gPT09IDAuNSA/IDAgOiBNYXRoLnJvdW5kKG4pO1xuICAgICAgICB9O1xuICAgICAgICBjb25zdCBuVHJlZXMgPSA1ICsgTWF0aC5mbG9vcihyb3VuZChYLmxlbmd0aCAqKiAwLjUgLyAyMC4wKSk7XG4gICAgICAgIGNvbnN0IG5JdGVycyA9IE1hdGgubWF4KDUsIE1hdGguZmxvb3IoTWF0aC5yb3VuZChsb2cyKFgubGVuZ3RoKSkpKTtcbiAgICAgICAgdGhpcy5ycEZvcmVzdCA9IHRyZWUubWFrZUZvcmVzdChYLCBuTmVpZ2hib3JzLCBuVHJlZXMsIHRoaXMucmFuZG9tKTtcbiAgICAgICAgY29uc3QgbGVhZkFycmF5ID0gdHJlZS5tYWtlTGVhZkFycmF5KHRoaXMucnBGb3Jlc3QpO1xuICAgICAgICBjb25zdCB7IGluZGljZXMsIHdlaWdodHMgfSA9IG1ldHJpY05ORGVzY2VudChYLCBsZWFmQXJyYXksIG5OZWlnaGJvcnMsIG5JdGVycyk7XG4gICAgICAgIHJldHVybiB7IGtubkluZGljZXM6IGluZGljZXMsIGtubkRpc3RhbmNlczogd2VpZ2h0cyB9O1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBHaXZlbiBhIHNldCBvZiBkYXRhIFgsIGEgbmVpZ2hib3Job29kIHNpemUsIGFuZCBhIG1lYXN1cmUgb2YgZGlzdGFuY2VcbiAgICAgKiBjb21wdXRlIHRoZSBmdXp6eSBzaW1wbGljaWFsIHNldCAoaGVyZSByZXByZXNlbnRlZCBhcyBhIGZ1enp5IGdyYXBoIGluXG4gICAgICogdGhlIGZvcm0gb2YgYSBzcGFyc2UgbWF0cml4KSBhc3NvY2lhdGVkIHRvIHRoZSBkYXRhLiBUaGlzIGlzIGRvbmUgYnlcbiAgICAgKiBsb2NhbGx5IGFwcHJveGltYXRpbmcgZ2VvZGVzaWMgZGlzdGFuY2UgYXQgZWFjaCBwb2ludCwgY3JlYXRpbmcgYSBmdXp6eVxuICAgICAqIHNpbXBsaWNpYWwgc2V0IGZvciBlYWNoIHN1Y2ggcG9pbnQsIGFuZCB0aGVuIGNvbWJpbmluZyBhbGwgdGhlIGxvY2FsXG4gICAgICogZnV6enkgc2ltcGxpY2lhbCBzZXRzIGludG8gYSBnbG9iYWwgb25lIHZpYSBhIGZ1enp5IHVuaW9uLlxuICAgICAqL1xuICAgIGZ1enp5U2ltcGxpY2lhbFNldChYLCBuTmVpZ2hib3JzLCBzZXRPcE1peFJhdGlvID0gMS4wKSB7XG4gICAgICAgIGNvbnN0IHsga25uSW5kaWNlcyA9IFtdLCBrbm5EaXN0YW5jZXMgPSBbXSwgbG9jYWxDb25uZWN0aXZpdHkgfSA9IHRoaXM7XG4gICAgICAgIGNvbnN0IHsgc2lnbWFzLCByaG9zIH0gPSB0aGlzLnNtb290aEtOTkRpc3RhbmNlKGtubkRpc3RhbmNlcywgbk5laWdoYm9ycywgbG9jYWxDb25uZWN0aXZpdHkpO1xuICAgICAgICBjb25zdCB7IHJvd3MsIGNvbHMsIHZhbHMgfSA9IHRoaXMuY29tcHV0ZU1lbWJlcnNoaXBTdHJlbmd0aHMoa25uSW5kaWNlcywga25uRGlzdGFuY2VzLCBzaWdtYXMsIHJob3MpO1xuICAgICAgICBjb25zdCBzaXplID0gW1gubGVuZ3RoLCBYLmxlbmd0aF07XG4gICAgICAgIGNvbnN0IHNwYXJzZU1hdHJpeCA9IG5ldyBtYXRyaXguU3BhcnNlTWF0cml4KHJvd3MsIGNvbHMsIHZhbHMsIHNpemUpO1xuICAgICAgICBjb25zdCB0cmFuc3Bvc2UgPSBtYXRyaXgudHJhbnNwb3NlKHNwYXJzZU1hdHJpeCk7XG4gICAgICAgIGNvbnN0IHByb2RNYXRyaXggPSBtYXRyaXgucGFpcndpc2VNdWx0aXBseShzcGFyc2VNYXRyaXgsIHRyYW5zcG9zZSk7XG4gICAgICAgIGNvbnN0IGEgPSBtYXRyaXguc3VidHJhY3QobWF0cml4LmFkZChzcGFyc2VNYXRyaXgsIHRyYW5zcG9zZSksIHByb2RNYXRyaXgpO1xuICAgICAgICBjb25zdCBiID0gbWF0cml4Lm11bHRpcGx5U2NhbGFyKGEsIHNldE9wTWl4UmF0aW8pO1xuICAgICAgICBjb25zdCBjID0gbWF0cml4Lm11bHRpcGx5U2NhbGFyKHByb2RNYXRyaXgsIDEuMCAtIHNldE9wTWl4UmF0aW8pO1xuICAgICAgICBjb25zdCByZXN1bHQgPSBtYXRyaXguYWRkKGIsIGMpO1xuICAgICAgICByZXR1cm4gcmVzdWx0O1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBDb21iaW5lIGEgZnV6enkgc2ltcGxpY2lhbCBzZXQgd2l0aCBhbm90aGVyIGZ1enp5IHNpbXBsaWNpYWwgc2V0XG4gICAgICogZ2VuZXJhdGVkIGZyb20gY2F0ZWdvcmljYWwgZGF0YSB1c2luZyBjYXRlZ29yaWNhbCBkaXN0YW5jZXMuIFRoZSB0YXJnZXRcbiAgICAgKiBkYXRhIGlzIGFzc3VtZWQgdG8gYmUgY2F0ZWdvcmljYWwgbGFiZWwgZGF0YSAoYSB2ZWN0b3Igb2YgbGFiZWxzKSxcbiAgICAgKiBhbmQgdGhpcyB3aWxsIHVwZGF0ZSB0aGUgZnV6enkgc2ltcGxpY2lhbCBzZXQgdG8gcmVzcGVjdCB0aGF0IGxhYmVsIGRhdGEuXG4gICAgICovXG4gICAgY2F0ZWdvcmljYWxTaW1wbGljaWFsU2V0SW50ZXJzZWN0aW9uKHNpbXBsaWNpYWxTZXQsIHRhcmdldCwgZmFyRGlzdCwgdW5rbm93bkRpc3QgPSAxLjApIHtcbiAgICAgICAgbGV0IGludGVyc2VjdGlvbiA9IGZhc3RJbnRlcnNlY3Rpb24oc2ltcGxpY2lhbFNldCwgdGFyZ2V0LCB1bmtub3duRGlzdCwgZmFyRGlzdCk7XG4gICAgICAgIGludGVyc2VjdGlvbiA9IG1hdHJpeC5lbGltaW5hdGVaZXJvcyhpbnRlcnNlY3Rpb24pO1xuICAgICAgICByZXR1cm4gcmVzZXRMb2NhbENvbm5lY3Rpdml0eShpbnRlcnNlY3Rpb24pO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBDb21wdXRlIGEgY29udGludW91cyB2ZXJzaW9uIG9mIHRoZSBkaXN0YW5jZSB0byB0aGUga3RoIG5lYXJlc3RcbiAgICAgKiBuZWlnaGJvci4gVGhhdCBpcywgdGhpcyBpcyBzaW1pbGFyIHRvIGtubi1kaXN0YW5jZSBidXQgYWxsb3dzIGNvbnRpbnVvdXNcbiAgICAgKiBrIHZhbHVlcyByYXRoZXIgdGhhbiByZXF1aXJpbmcgYW4gaW50ZWdyYWwgay4gSW4gZXNzY2VuY2Ugd2UgYXJlIHNpbXBseVxuICAgICAqIGNvbXB1dGluZyB0aGUgZGlzdGFuY2Ugc3VjaCB0aGF0IHRoZSBjYXJkaW5hbGl0eSBvZiBmdXp6eSBzZXQgd2UgZ2VuZXJhdGVcbiAgICAgKiBpcyBrLlxuICAgICAqL1xuICAgIHNtb290aEtOTkRpc3RhbmNlKGRpc3RhbmNlcywgaywgbG9jYWxDb25uZWN0aXZpdHkgPSAxLjAsIG5JdGVyID0gNjQsIGJhbmR3aWR0aCA9IDEuMCkge1xuICAgICAgICBjb25zdCB0YXJnZXQgPSAoTWF0aC5sb2coaykgLyBNYXRoLmxvZygyKSkgKiBiYW5kd2lkdGg7XG4gICAgICAgIGNvbnN0IHJobyA9IHV0aWxzLnplcm9zKGRpc3RhbmNlcy5sZW5ndGgpO1xuICAgICAgICBjb25zdCByZXN1bHQgPSB1dGlscy56ZXJvcyhkaXN0YW5jZXMubGVuZ3RoKTtcbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBkaXN0YW5jZXMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgIGxldCBsbyA9IDAuMDtcbiAgICAgICAgICAgIGxldCBoaSA9IEluZmluaXR5O1xuICAgICAgICAgICAgbGV0IG1pZCA9IDEuMDtcbiAgICAgICAgICAgIC8vIFRPRE86IFRoaXMgaXMgdmVyeSBpbmVmZmljaWVudCwgYnV0IHdpbGwgZG8gZm9yIG5vdy4gRklYTUVcbiAgICAgICAgICAgIGNvbnN0IGl0aERpc3RhbmNlcyA9IGRpc3RhbmNlc1tpXTtcbiAgICAgICAgICAgIGNvbnN0IG5vblplcm9EaXN0cyA9IGl0aERpc3RhbmNlcy5maWx0ZXIoKGQpID0+IGQgPiAwLjApO1xuICAgICAgICAgICAgaWYgKG5vblplcm9EaXN0cy5sZW5ndGggPj0gbG9jYWxDb25uZWN0aXZpdHkpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBpbmRleCA9IE1hdGguZmxvb3IobG9jYWxDb25uZWN0aXZpdHkpO1xuICAgICAgICAgICAgICAgIGNvbnN0IGludGVycG9sYXRpb24gPSBsb2NhbENvbm5lY3Rpdml0eSAtIGluZGV4O1xuICAgICAgICAgICAgICAgIGlmIChpbmRleCA+IDApIHtcbiAgICAgICAgICAgICAgICAgICAgcmhvW2ldID0gbm9uWmVyb0Rpc3RzW2luZGV4IC0gMV07XG4gICAgICAgICAgICAgICAgICAgIGlmIChpbnRlcnBvbGF0aW9uID4gU01PT1RIX0tfVE9MRVJBTkNFKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByaG9baV0gKz1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnRlcnBvbGF0aW9uICogKG5vblplcm9EaXN0c1tpbmRleF0gLSBub25aZXJvRGlzdHNbaW5kZXggLSAxXSk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIHJob1tpXSA9IGludGVycG9sYXRpb24gKiBub25aZXJvRGlzdHNbMF07XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZWxzZSBpZiAobm9uWmVyb0Rpc3RzLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgICAgICByaG9baV0gPSB1dGlscy5tYXgobm9uWmVyb0Rpc3RzKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGZvciAobGV0IG4gPSAwOyBuIDwgbkl0ZXI7IG4rKykge1xuICAgICAgICAgICAgICAgIGxldCBwc3VtID0gMC4wO1xuICAgICAgICAgICAgICAgIGZvciAobGV0IGogPSAxOyBqIDwgZGlzdGFuY2VzW2ldLmxlbmd0aDsgaisrKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGQgPSBkaXN0YW5jZXNbaV1bal0gLSByaG9baV07XG4gICAgICAgICAgICAgICAgICAgIGlmIChkID4gMClcbiAgICAgICAgICAgICAgICAgICAgICAgIHBzdW0gKz0gTWF0aC5leHAoLShkIC8gbWlkKSk7XG4gICAgICAgICAgICAgICAgICAgIGVsc2VcbiAgICAgICAgICAgICAgICAgICAgICAgIHBzdW0gKz0gMS4wO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAoTWF0aC5hYnMocHN1bSAtIHRhcmdldCkgPCBTTU9PVEhfS19UT0xFUkFOQ0UpXG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgIGlmIChwc3VtID4gdGFyZ2V0KSB7XG4gICAgICAgICAgICAgICAgICAgIGhpID0gbWlkO1xuICAgICAgICAgICAgICAgICAgICBtaWQgPSAobG8gKyBoaSkgLyAyLjA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICBsbyA9IG1pZDtcbiAgICAgICAgICAgICAgICAgICAgaWYgKGhpID09PSBJbmZpbml0eSlcbiAgICAgICAgICAgICAgICAgICAgICAgIG1pZCAqPSAyO1xuICAgICAgICAgICAgICAgICAgICBlbHNlXG4gICAgICAgICAgICAgICAgICAgICAgICBtaWQgPSAobG8gKyBoaSkgLyAyLjA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmVzdWx0W2ldID0gbWlkO1xuICAgICAgICAgICAgLy8gVE9ETzogVGhpcyBpcyB2ZXJ5IGluZWZmaWNpZW50LCBidXQgd2lsbCBkbyBmb3Igbm93LiBGSVhNRVxuICAgICAgICAgICAgaWYgKHJob1tpXSA+IDAuMCkge1xuICAgICAgICAgICAgICAgIGNvbnN0IG1lYW5JdGhEaXN0YW5jZXMgPSB1dGlscy5tZWFuKGl0aERpc3RhbmNlcyk7XG4gICAgICAgICAgICAgICAgaWYgKHJlc3VsdFtpXSA8IE1JTl9LX0RJU1RfU0NBTEUgKiBtZWFuSXRoRGlzdGFuY2VzKVxuICAgICAgICAgICAgICAgICAgICByZXN1bHRbaV0gPSBNSU5fS19ESVNUX1NDQUxFICogbWVhbkl0aERpc3RhbmNlcztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgIGNvbnN0IG1lYW5EaXN0YW5jZXMgPSB1dGlscy5tZWFuKGRpc3RhbmNlcy5tYXAodXRpbHMubWVhbikpO1xuICAgICAgICAgICAgICAgIGlmIChyZXN1bHRbaV0gPCBNSU5fS19ESVNUX1NDQUxFICogbWVhbkRpc3RhbmNlcylcbiAgICAgICAgICAgICAgICAgICAgcmVzdWx0W2ldID0gTUlOX0tfRElTVF9TQ0FMRSAqIG1lYW5EaXN0YW5jZXM7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHsgc2lnbWFzOiByZXN1bHQsIHJob3M6IHJobyB9O1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBDb25zdHJ1Y3QgdGhlIG1lbWJlcnNoaXAgc3RyZW5ndGggZGF0YSBmb3IgdGhlIDEtc2tlbGV0b24gb2YgZWFjaCBsb2NhbFxuICAgICAqIGZ1enp5IHNpbXBsaWNpYWwgc2V0IC0tIHRoaXMgaXMgZm9ybWVkIGFzIGEgc3BhcnNlIG1hdHJpeCB3aGVyZSBlYWNoIHJvdyBpc1xuICAgICAqIGEgbG9jYWwgZnV6enkgc2ltcGxpY2lhbCBzZXQsIHdpdGggYSBtZW1iZXJzaGlwIHN0cmVuZ3RoIGZvciB0aGVcbiAgICAgKiAxLXNpbXBsZXggdG8gZWFjaCBvdGhlciBkYXRhIHBvaW50LlxuICAgICAqL1xuICAgIGNvbXB1dGVNZW1iZXJzaGlwU3RyZW5ndGhzKGtubkluZGljZXMsIGtubkRpc3RhbmNlcywgc2lnbWFzLCByaG9zKSB7XG4gICAgICAgIGNvbnN0IG5TYW1wbGVzID0ga25uSW5kaWNlcy5sZW5ndGg7XG4gICAgICAgIGNvbnN0IG5OZWlnaGJvcnMgPSBrbm5JbmRpY2VzWzBdLmxlbmd0aDtcbiAgICAgICAgY29uc3Qgcm93cyA9IHV0aWxzLnplcm9zKG5TYW1wbGVzICogbk5laWdoYm9ycyk7XG4gICAgICAgIGNvbnN0IGNvbHMgPSB1dGlscy56ZXJvcyhuU2FtcGxlcyAqIG5OZWlnaGJvcnMpO1xuICAgICAgICBjb25zdCB2YWxzID0gdXRpbHMuemVyb3MoblNhbXBsZXMgKiBuTmVpZ2hib3JzKTtcbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBuU2FtcGxlczsgaSsrKSB7XG4gICAgICAgICAgICBmb3IgKGxldCBqID0gMDsgaiA8IG5OZWlnaGJvcnM7IGorKykge1xuICAgICAgICAgICAgICAgIGxldCB2YWwgPSAwO1xuICAgICAgICAgICAgICAgIGlmIChrbm5JbmRpY2VzW2ldW2pdID09PSAtMSlcbiAgICAgICAgICAgICAgICAgICAgY29udGludWU7IC8vIFdlIGRpZG4ndCBnZXQgdGhlIGZ1bGwga25uIGZvciBpXG4gICAgICAgICAgICAgICAgaWYgKGtubkluZGljZXNbaV1bal0gPT09IGkpXG4gICAgICAgICAgICAgICAgICAgIHZhbCA9IDAuMDtcbiAgICAgICAgICAgICAgICBlbHNlIGlmIChrbm5EaXN0YW5jZXNbaV1bal0gLSByaG9zW2ldIDw9IDAuMClcbiAgICAgICAgICAgICAgICAgICAgdmFsID0gMS4wO1xuICAgICAgICAgICAgICAgIGVsc2VcbiAgICAgICAgICAgICAgICAgICAgdmFsID0gTWF0aC5leHAoLSgoa25uRGlzdGFuY2VzW2ldW2pdIC0gcmhvc1tpXSkgLyBzaWdtYXNbaV0pKTtcbiAgICAgICAgICAgICAgICByb3dzW2kgKiBuTmVpZ2hib3JzICsgal0gPSBpO1xuICAgICAgICAgICAgICAgIGNvbHNbaSAqIG5OZWlnaGJvcnMgKyBqXSA9IGtubkluZGljZXNbaV1bal07XG4gICAgICAgICAgICAgICAgdmFsc1tpICogbk5laWdoYm9ycyArIGpdID0gdmFsO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiB7IHJvd3MsIGNvbHMsIHZhbHMgfTtcbiAgICB9XG4gICAgLyoqXG4gICAgICogSW5pdGlhbGl6ZSBhIGZ1enp5IHNpbXBsaWNpYWwgc2V0IGVtYmVkZGluZywgdXNpbmcgYSBzcGVjaWZpZWRcbiAgICAgKiBpbml0aWFsaXNhdGlvbiBtZXRob2QgYW5kIHRoZW4gbWluaW1pemluZyB0aGUgZnV6enkgc2V0IGNyb3NzIGVudHJvcHlcbiAgICAgKiBiZXR3ZWVuIHRoZSAxLXNrZWxldG9ucyBvZiB0aGUgaGlnaCBhbmQgbG93IGRpbWVuc2lvbmFsIGZ1enp5IHNpbXBsaWNpYWxcbiAgICAgKiBzZXRzLlxuICAgICAqL1xuICAgIGluaXRpYWxpemVTaW1wbGljaWFsU2V0RW1iZWRkaW5nKCkge1xuICAgICAgICBjb25zdCBuRXBvY2hzID0gdGhpcy5nZXRORXBvY2hzKCk7XG4gICAgICAgIGNvbnN0IHsgbkNvbXBvbmVudHMgfSA9IHRoaXM7XG4gICAgICAgIGNvbnN0IGdyYXBoVmFsdWVzID0gdGhpcy5ncmFwaC5nZXRWYWx1ZXMoKTtcbiAgICAgICAgbGV0IGdyYXBoTWF4ID0gMDtcbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBncmFwaFZhbHVlcy5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgY29uc3QgdmFsdWUgPSBncmFwaFZhbHVlc1tpXTtcbiAgICAgICAgICAgIGlmIChncmFwaE1heCA8IGdyYXBoVmFsdWVzW2ldKVxuICAgICAgICAgICAgICAgIGdyYXBoTWF4ID0gdmFsdWU7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgZ3JhcGggPSB0aGlzLmdyYXBoLm1hcCgodmFsdWUpID0+IHtcbiAgICAgICAgICAgIGlmICh2YWx1ZSA8IGdyYXBoTWF4IC8gbkVwb2NocylcbiAgICAgICAgICAgICAgICByZXR1cm4gMDtcbiAgICAgICAgICAgIGVsc2VcbiAgICAgICAgICAgICAgICByZXR1cm4gdmFsdWU7XG4gICAgICAgIH0pO1xuICAgICAgICAvLyBXZSdyZSBub3QgY29tcHV0aW5nIHRoZSBzcGVjdHJhbCBpbml0aWFsaXphdGlvbiBpbiB0aGlzIGltcGxlbWVudGF0aW9uXG4gICAgICAgIC8vIHVudGlsIHdlIGRldGVybWluZSBhIGJldHRlciBlaWdlbnZhbHVlL2VpZ2VudmVjdG9yIGNvbXB1dGF0aW9uXG4gICAgICAgIC8vIGFwcHJvYWNoXG4gICAgICAgIHRoaXMuZW1iZWRkaW5nID0gdXRpbHMuemVyb3MoZ3JhcGgublJvd3MpLm1hcCgoKSA9PiB7XG4gICAgICAgICAgICByZXR1cm4gdXRpbHMuemVyb3MobkNvbXBvbmVudHMpLm1hcCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHV0aWxzLnRhdVJhbmQodGhpcy5yYW5kb20pICogMjAgKyAtMTA7IC8vIFJhbmRvbSBmcm9tIC0xMCB0byAxMFxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuICAgICAgICAvLyBHZXQgZ3JhcGggZGF0YSBpbiBvcmRlcmVkIHdheS4uLlxuICAgICAgICBjb25zdCB3ZWlnaHRzID0gW107XG4gICAgICAgIGNvbnN0IGhlYWQgPSBbXTtcbiAgICAgICAgY29uc3QgdGFpbCA9IFtdO1xuICAgICAgICBjb25zdCByb3dDb2xWYWx1ZXMgPSBncmFwaC5nZXRBbGwoKTtcbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCByb3dDb2xWYWx1ZXMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgIGNvbnN0IGVudHJ5ID0gcm93Q29sVmFsdWVzW2ldO1xuICAgICAgICAgICAgaWYgKGVudHJ5LnZhbHVlKSB7XG4gICAgICAgICAgICAgICAgd2VpZ2h0cy5wdXNoKGVudHJ5LnZhbHVlKTtcbiAgICAgICAgICAgICAgICB0YWlsLnB1c2goZW50cnkucm93KTtcbiAgICAgICAgICAgICAgICBoZWFkLnB1c2goZW50cnkuY29sKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBjb25zdCBlcG9jaHNQZXJTYW1wbGUgPSB0aGlzLm1ha2VFcG9jaHNQZXJTYW1wbGUod2VpZ2h0cywgbkVwb2Nocyk7XG4gICAgICAgIHJldHVybiB7IGhlYWQsIHRhaWwsIGVwb2Noc1BlclNhbXBsZSB9O1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBHaXZlbiBhIHNldCBvZiB3ZWlnaHRzIGFuZCBudW1iZXIgb2YgZXBvY2hzIGdlbmVyYXRlIHRoZSBudW1iZXIgb2ZcbiAgICAgKiBlcG9jaHMgcGVyIHNhbXBsZSBmb3IgZWFjaCB3ZWlnaHQuXG4gICAgICovXG4gICAgbWFrZUVwb2Noc1BlclNhbXBsZSh3ZWlnaHRzLCBuRXBvY2hzKSB7XG4gICAgICAgIGNvbnN0IHJlc3VsdCA9IHV0aWxzLmZpbGxlZCh3ZWlnaHRzLmxlbmd0aCwgLTEuMCk7XG4gICAgICAgIGNvbnN0IG1heCA9IHV0aWxzLm1heCh3ZWlnaHRzKTtcbiAgICAgICAgY29uc3QgblNhbXBsZXMgPSB3ZWlnaHRzLm1hcCgodykgPT4gKHcgLyBtYXgpICogbkVwb2Nocyk7XG4gICAgICAgIG5TYW1wbGVzLmZvckVhY2goKG4sIGkpID0+IHtcbiAgICAgICAgICAgIGlmIChuID4gMClcbiAgICAgICAgICAgICAgICByZXN1bHRbaV0gPSBuRXBvY2hzIC8gblNhbXBsZXNbaV07XG4gICAgICAgIH0pO1xuICAgICAgICByZXR1cm4gcmVzdWx0O1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBBc3NpZ25zIG9wdGltaXphdGlvbiBzdGF0ZSBwYXJhbWV0ZXJzIGZyb20gYSBwYXJ0aWFsIG9wdGltaXphdGlvbiBzdGF0ZS5cbiAgICAgKi9cbiAgICBhc3NpZ25PcHRpbWl6YXRpb25TdGF0ZVBhcmFtZXRlcnMoc3RhdGUpIHtcbiAgICAgICAgT2JqZWN0LmFzc2lnbih0aGlzLm9wdGltaXphdGlvblN0YXRlLCBzdGF0ZSk7XG4gICAgfVxuICAgIC8qKlxuICAgICAqIFNldHMgYSBmZXcgb3B0aW1pemF0aW9uIHN0YXRlIHBhcmFtZXRlcnMgdGhhdCBhcmUgbmVjZXNzYXJ5IGJlZm9yZSBlbnRlcmluZ1xuICAgICAqIHRoZSBvcHRpbWl6YXRpb24gc3RlcCBsb29wLlxuICAgICAqL1xuICAgIHByZXBhcmVGb3JPcHRpbWl6YXRpb25Mb29wKCkge1xuICAgICAgICAvLyBIeXBlcnBhcmFtZXRlcnNcbiAgICAgICAgY29uc3QgeyByZXB1bHNpb25TdHJlbmd0aCwgbGVhcm5pbmdSYXRlLCBuZWdhdGl2ZVNhbXBsZVJhdGUgfSA9IHRoaXM7XG4gICAgICAgIGNvbnN0IHsgZXBvY2hzUGVyU2FtcGxlLCBoZWFkRW1iZWRkaW5nLCB0YWlsRW1iZWRkaW5nLCB9ID0gdGhpcy5vcHRpbWl6YXRpb25TdGF0ZTtcbiAgICAgICAgY29uc3QgZGltID0gaGVhZEVtYmVkZGluZ1swXS5sZW5ndGg7XG4gICAgICAgIGNvbnN0IG1vdmVPdGhlciA9IGhlYWRFbWJlZGRpbmcubGVuZ3RoID09PSB0YWlsRW1iZWRkaW5nLmxlbmd0aDtcbiAgICAgICAgY29uc3QgZXBvY2hzUGVyTmVnYXRpdmVTYW1wbGUgPSBlcG9jaHNQZXJTYW1wbGUubWFwKChlKSA9PiBlIC8gbmVnYXRpdmVTYW1wbGVSYXRlKTtcbiAgICAgICAgY29uc3QgZXBvY2hPZk5leHROZWdhdGl2ZVNhbXBsZSA9IFsuLi5lcG9jaHNQZXJOZWdhdGl2ZVNhbXBsZV07XG4gICAgICAgIGNvbnN0IGVwb2NoT2ZOZXh0U2FtcGxlID0gWy4uLmVwb2Noc1BlclNhbXBsZV07XG4gICAgICAgIHRoaXMuYXNzaWduT3B0aW1pemF0aW9uU3RhdGVQYXJhbWV0ZXJzKHtcbiAgICAgICAgICAgIGVwb2NoT2ZOZXh0U2FtcGxlLFxuICAgICAgICAgICAgZXBvY2hPZk5leHROZWdhdGl2ZVNhbXBsZSxcbiAgICAgICAgICAgIGVwb2Noc1Blck5lZ2F0aXZlU2FtcGxlLFxuICAgICAgICAgICAgbW92ZU90aGVyLFxuICAgICAgICAgICAgaW5pdGlhbEFscGhhOiBsZWFybmluZ1JhdGUsXG4gICAgICAgICAgICBhbHBoYTogbGVhcm5pbmdSYXRlLFxuICAgICAgICAgICAgZ2FtbWE6IHJlcHVsc2lvblN0cmVuZ3RoLFxuICAgICAgICAgICAgZGltLFxuICAgICAgICB9KTtcbiAgICB9XG4gICAgLyoqXG4gICAgICogSW5pdGlhbGl6ZXMgb3B0aW1pemF0aW9uIHN0YXRlIGZvciBzdGVwd2lzZSBvcHRpbWl6YXRpb24uXG4gICAgICovXG4gICAgaW5pdGlhbGl6ZU9wdGltaXphdGlvbigpIHtcbiAgICAgICAgLy8gQWxnb3JpdGhtIHN0YXRlXG4gICAgICAgIGNvbnN0IGhlYWRFbWJlZGRpbmcgPSB0aGlzLmVtYmVkZGluZztcbiAgICAgICAgY29uc3QgdGFpbEVtYmVkZGluZyA9IHRoaXMuZW1iZWRkaW5nO1xuICAgICAgICAvLyBJbml0aWFsaXplZCBpbiBpbml0aWFsaXplU2ltcGxpY2lhbFNldEVtYmVkZGluZygpXG4gICAgICAgIGNvbnN0IHsgaGVhZCwgdGFpbCwgZXBvY2hzUGVyU2FtcGxlIH0gPSB0aGlzLm9wdGltaXphdGlvblN0YXRlO1xuICAgICAgICBjb25zdCBuRXBvY2hzID0gdGhpcy5nZXRORXBvY2hzKCk7XG4gICAgICAgIGNvbnN0IG5WZXJ0aWNlcyA9IHRoaXMuZ3JhcGgubkNvbHM7XG4gICAgICAgIGNvbnN0IHsgYSwgYiB9ID0gZmluZEFCUGFyYW1zKHRoaXMuc3ByZWFkLCB0aGlzLm1pbkRpc3QpO1xuICAgICAgICB0aGlzLmFzc2lnbk9wdGltaXphdGlvblN0YXRlUGFyYW1ldGVycyh7XG4gICAgICAgICAgICBoZWFkRW1iZWRkaW5nLFxuICAgICAgICAgICAgdGFpbEVtYmVkZGluZyxcbiAgICAgICAgICAgIGhlYWQsXG4gICAgICAgICAgICB0YWlsLFxuICAgICAgICAgICAgZXBvY2hzUGVyU2FtcGxlLFxuICAgICAgICAgICAgYSxcbiAgICAgICAgICAgIGIsXG4gICAgICAgICAgICBuRXBvY2hzLFxuICAgICAgICAgICAgblZlcnRpY2VzLFxuICAgICAgICB9KTtcbiAgICB9XG4gICAgLyoqXG4gICAgICogSW1wcm92ZSBhbiBlbWJlZGRpbmcgdXNpbmcgc3RvY2hhc3RpYyBncmFkaWVudCBkZXNjZW50IHRvIG1pbmltaXplIHRoZVxuICAgICAqIGZ1enp5IHNldCBjcm9zcyBlbnRyb3B5IGJldHdlZW4gdGhlIDEtc2tlbGV0b25zIG9mIHRoZSBoaWdoIGRpbWVuc2lvbmFsXG4gICAgICogYW5kIGxvdyBkaW1lbnNpb25hbCBmdXp6eSBzaW1wbGljaWFsIHNldHMuIEluIHByYWN0aWNlIHRoaXMgaXMgZG9uZSBieVxuICAgICAqIHNhbXBsaW5nIGVkZ2VzIGJhc2VkIG9uIHRoZWlyIG1lbWJlcnNoaXAgc3RyZW5ndGggKHdpdGggdGhlICgxLXApIHRlcm1zXG4gICAgICogY29taW5nIGZyb20gbmVnYXRpdmUgc2FtcGxpbmcgc2ltaWxhciB0byB3b3JkMnZlYykuXG4gICAgICovXG4gICAgb3B0aW1pemVMYXlvdXRTdGVwKG4pIHtcbiAgICAgICAgY29uc3QgeyBvcHRpbWl6YXRpb25TdGF0ZSB9ID0gdGhpcztcbiAgICAgICAgY29uc3QgeyBoZWFkLCB0YWlsLCBoZWFkRW1iZWRkaW5nLCB0YWlsRW1iZWRkaW5nLCBlcG9jaHNQZXJTYW1wbGUsIGVwb2NoT2ZOZXh0U2FtcGxlLCBlcG9jaE9mTmV4dE5lZ2F0aXZlU2FtcGxlLCBlcG9jaHNQZXJOZWdhdGl2ZVNhbXBsZSwgbW92ZU90aGVyLCBpbml0aWFsQWxwaGEsIGFscGhhLCBnYW1tYSwgYSwgYiwgZGltLCBuRXBvY2hzLCBuVmVydGljZXMsIH0gPSBvcHRpbWl6YXRpb25TdGF0ZTtcbiAgICAgICAgY29uc3QgY2xpcFZhbHVlID0gNC4wO1xuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGVwb2Noc1BlclNhbXBsZS5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgaWYgKGVwb2NoT2ZOZXh0U2FtcGxlW2ldID4gbilcbiAgICAgICAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgICAgIGNvbnN0IGogPSBoZWFkW2ldO1xuICAgICAgICAgICAgY29uc3QgayA9IHRhaWxbaV07XG4gICAgICAgICAgICBjb25zdCBjdXJyZW50ID0gaGVhZEVtYmVkZGluZ1tqXTtcbiAgICAgICAgICAgIGNvbnN0IG90aGVyID0gdGFpbEVtYmVkZGluZ1trXTtcbiAgICAgICAgICAgIGNvbnN0IGRpc3RTcXVhcmVkID0gckRpc3QoY3VycmVudCwgb3RoZXIpO1xuICAgICAgICAgICAgbGV0IGdyYWRDb2VmZiA9IDA7XG4gICAgICAgICAgICBpZiAoZGlzdFNxdWFyZWQgPiAwKSB7XG4gICAgICAgICAgICAgICAgZ3JhZENvZWZmID0gLTIuMCAqIGEgKiBiICogTWF0aC5wb3coZGlzdFNxdWFyZWQsIGIgLSAxLjApO1xuICAgICAgICAgICAgICAgIGdyYWRDb2VmZiAvPSBhICogTWF0aC5wb3coZGlzdFNxdWFyZWQsIGIpICsgMS4wO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZm9yIChsZXQgZCA9IDA7IGQgPCBkaW07IGQrKykge1xuICAgICAgICAgICAgICAgIGNvbnN0IGdyYWREID0gY2xpcChncmFkQ29lZmYgKiAoY3VycmVudFtkXSAtIG90aGVyW2RdKSwgY2xpcFZhbHVlKTtcbiAgICAgICAgICAgICAgICBjdXJyZW50W2RdICs9IGdyYWREICogYWxwaGE7XG4gICAgICAgICAgICAgICAgaWYgKG1vdmVPdGhlcilcbiAgICAgICAgICAgICAgICAgICAgb3RoZXJbZF0gKz0gLWdyYWREICogYWxwaGE7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBlcG9jaE9mTmV4dFNhbXBsZVtpXSArPSBlcG9jaHNQZXJTYW1wbGVbaV07XG4gICAgICAgICAgICBjb25zdCBuTmVnU2FtcGxlcyA9IE1hdGguZmxvb3IoKG4gLSBlcG9jaE9mTmV4dE5lZ2F0aXZlU2FtcGxlW2ldKSAvIGVwb2Noc1Blck5lZ2F0aXZlU2FtcGxlW2ldKTtcbiAgICAgICAgICAgIGZvciAobGV0IHAgPSAwOyBwIDwgbk5lZ1NhbXBsZXM7IHArKykge1xuICAgICAgICAgICAgICAgIGNvbnN0IGsgPSB1dGlscy50YXVSYW5kSW50KG5WZXJ0aWNlcywgdGhpcy5yYW5kb20pO1xuICAgICAgICAgICAgICAgIGNvbnN0IG90aGVyID0gdGFpbEVtYmVkZGluZ1trXTtcbiAgICAgICAgICAgICAgICBjb25zdCBkaXN0U3F1YXJlZCA9IHJEaXN0KGN1cnJlbnQsIG90aGVyKTtcbiAgICAgICAgICAgICAgICBsZXQgZ3JhZENvZWZmID0gMC4wO1xuICAgICAgICAgICAgICAgIGlmIChkaXN0U3F1YXJlZCA+IDAuMCkge1xuICAgICAgICAgICAgICAgICAgICBncmFkQ29lZmYgPSAyLjAgKiBnYW1tYSAqIGI7XG4gICAgICAgICAgICAgICAgICAgIGdyYWRDb2VmZiAvPVxuICAgICAgICAgICAgICAgICAgICAgICAgKDAuMDAxICsgZGlzdFNxdWFyZWQpICogKGEgKiBNYXRoLnBvdyhkaXN0U3F1YXJlZCwgYikgKyAxKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgZWxzZSBpZiAoaiA9PT0gaykge1xuICAgICAgICAgICAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgZm9yIChsZXQgZCA9IDA7IGQgPCBkaW07IGQrKykge1xuICAgICAgICAgICAgICAgICAgICBsZXQgZ3JhZEQgPSA0LjA7XG4gICAgICAgICAgICAgICAgICAgIGlmIChncmFkQ29lZmYgPiAwLjApXG4gICAgICAgICAgICAgICAgICAgICAgICBncmFkRCA9IGNsaXAoZ3JhZENvZWZmICogKGN1cnJlbnRbZF0gLSBvdGhlcltkXSksIGNsaXBWYWx1ZSk7XG4gICAgICAgICAgICAgICAgICAgIGN1cnJlbnRbZF0gKz0gZ3JhZEQgKiBhbHBoYTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBlcG9jaE9mTmV4dE5lZ2F0aXZlU2FtcGxlW2ldICs9IG5OZWdTYW1wbGVzICogZXBvY2hzUGVyTmVnYXRpdmVTYW1wbGVbaV07XG4gICAgICAgIH1cbiAgICAgICAgb3B0aW1pemF0aW9uU3RhdGUuYWxwaGEgPSBpbml0aWFsQWxwaGEgKiAoMS4wIC0gbiAvIG5FcG9jaHMpO1xuICAgICAgICBvcHRpbWl6YXRpb25TdGF0ZS5jdXJyZW50RXBvY2ggKz0gMTtcbiAgICAgICAgcmV0dXJuIGhlYWRFbWJlZGRpbmc7XG4gICAgfVxuICAgIC8qKlxuICAgICAqIEltcHJvdmUgYW4gZW1iZWRkaW5nIHVzaW5nIHN0b2NoYXN0aWMgZ3JhZGllbnQgZGVzY2VudCB0byBtaW5pbWl6ZSB0aGVcbiAgICAgKiBmdXp6eSBzZXQgY3Jvc3MgZW50cm9weSBiZXR3ZWVuIHRoZSAxLXNrZWxldG9ucyBvZiB0aGUgaGlnaCBkaW1lbnNpb25hbFxuICAgICAqIGFuZCBsb3cgZGltZW5zaW9uYWwgZnV6enkgc2ltcGxpY2lhbCBzZXRzLiBJbiBwcmFjdGljZSB0aGlzIGlzIGRvbmUgYnlcbiAgICAgKiBzYW1wbGluZyBlZGdlcyBiYXNlZCBvbiB0aGVpciBtZW1iZXJzaGlwIHN0cmVuZ3RoICh3aXRoIHRoZSAoMS1wKSB0ZXJtc1xuICAgICAqIGNvbWluZyBmcm9tIG5lZ2F0aXZlIHNhbXBsaW5nIHNpbWlsYXIgdG8gd29yZDJ2ZWMpLlxuICAgICAqL1xuICAgIG9wdGltaXplTGF5b3V0QXN5bmMoZXBvY2hDYWxsYmFjayA9ICgpID0+IHRydWUpIHtcbiAgICAgICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHN0ZXAgPSBhc3luYyAoKSA9PiB7XG4gICAgICAgICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgeyBuRXBvY2hzLCBjdXJyZW50RXBvY2ggfSA9IHRoaXMub3B0aW1pemF0aW9uU3RhdGU7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZW1iZWRkaW5nID0gdGhpcy5vcHRpbWl6ZUxheW91dFN0ZXAoY3VycmVudEVwb2NoKTtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgZXBvY2hDb21wbGV0ZWQgPSB0aGlzLm9wdGltaXphdGlvblN0YXRlLmN1cnJlbnRFcG9jaDtcbiAgICAgICAgICAgICAgICAgICAgY29uc3Qgc2hvdWxkU3RvcCA9IGVwb2NoQ2FsbGJhY2soZXBvY2hDb21wbGV0ZWQpID09PSBmYWxzZTtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgaXNGaW5pc2hlZCA9IGVwb2NoQ29tcGxldGVkID09PSBuRXBvY2hzO1xuICAgICAgICAgICAgICAgICAgICBpZiAoIXNob3VsZFN0b3AgJiYgIWlzRmluaXNoZWQpXG4gICAgICAgICAgICAgICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHN0ZXAoKSwgMCk7XG4gICAgICAgICAgICAgICAgICAgIGVsc2VcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiByZXNvbHZlKGlzRmluaXNoZWQpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBjYXRjaCAoZXJyKSB7XG4gICAgICAgICAgICAgICAgICAgIHJlamVjdChlcnIpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH07XG4gICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHN0ZXAoKSwgMCk7XG4gICAgICAgIH0pO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBJbXByb3ZlIGFuIGVtYmVkZGluZyB1c2luZyBzdG9jaGFzdGljIGdyYWRpZW50IGRlc2NlbnQgdG8gbWluaW1pemUgdGhlXG4gICAgICogZnV6enkgc2V0IGNyb3NzIGVudHJvcHkgYmV0d2VlbiB0aGUgMS1za2VsZXRvbnMgb2YgdGhlIGhpZ2ggZGltZW5zaW9uYWxcbiAgICAgKiBhbmQgbG93IGRpbWVuc2lvbmFsIGZ1enp5IHNpbXBsaWNpYWwgc2V0cy4gSW4gcHJhY3RpY2UgdGhpcyBpcyBkb25lIGJ5XG4gICAgICogc2FtcGxpbmcgZWRnZXMgYmFzZWQgb24gdGhlaXIgbWVtYmVyc2hpcCBzdHJlbmd0aCAod2l0aCB0aGUgKDEtcCkgdGVybXNcbiAgICAgKiBjb21pbmcgZnJvbSBuZWdhdGl2ZSBzYW1wbGluZyBzaW1pbGFyIHRvIHdvcmQydmVjKS5cbiAgICAgKi9cbiAgICBvcHRpbWl6ZUxheW91dChlcG9jaENhbGxiYWNrID0gKCkgPT4gdHJ1ZSkge1xuICAgICAgICBsZXQgaXNGaW5pc2hlZCA9IGZhbHNlO1xuICAgICAgICBsZXQgZW1iZWRkaW5nID0gW107XG4gICAgICAgIHdoaWxlICghaXNGaW5pc2hlZCkge1xuICAgICAgICAgICAgY29uc3QgeyBuRXBvY2hzLCBjdXJyZW50RXBvY2ggfSA9IHRoaXMub3B0aW1pemF0aW9uU3RhdGU7XG4gICAgICAgICAgICBlbWJlZGRpbmcgPSB0aGlzLm9wdGltaXplTGF5b3V0U3RlcChjdXJyZW50RXBvY2gpO1xuICAgICAgICAgICAgY29uc3QgZXBvY2hDb21wbGV0ZWQgPSB0aGlzLm9wdGltaXphdGlvblN0YXRlLmN1cnJlbnRFcG9jaDtcbiAgICAgICAgICAgIGNvbnN0IHNob3VsZFN0b3AgPSBlcG9jaENhbGxiYWNrKGVwb2NoQ29tcGxldGVkKSA9PT0gZmFsc2U7XG4gICAgICAgICAgICBpc0ZpbmlzaGVkID0gZXBvY2hDb21wbGV0ZWQgPT09IG5FcG9jaHMgfHwgc2hvdWxkU3RvcDtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gZW1iZWRkaW5nO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBHZXRzIHRoZSBudW1iZXIgb2YgZXBvY2hzIGZvciBvcHRpbWl6aW5nIHRoZSBwcm9qZWN0aW9uLlxuICAgICAqIE5PVEU6IFRoaXMgaGV1cmlzdGljIGRpZmZlcnMgZnJvbSB0aGUgcHl0aG9uIHZlcnNpb25cbiAgICAgKi9cbiAgICBnZXRORXBvY2hzKCkge1xuICAgICAgICBjb25zdCBncmFwaCA9IHRoaXMuZ3JhcGg7XG4gICAgICAgIGlmICh0aGlzLm5FcG9jaHMgPiAwKVxuICAgICAgICAgICAgcmV0dXJuIHRoaXMubkVwb2NocztcbiAgICAgICAgaWYgKCFncmFwaClcbiAgICAgICAgICAgIHJldHVybiAyMDA7XG4gICAgICAgIGNvbnN0IGxlbmd0aCA9IGdyYXBoLm5Sb3dzO1xuICAgICAgICBpZiAobGVuZ3RoIDw9IDI1MDApXG4gICAgICAgICAgICByZXR1cm4gNTAwO1xuICAgICAgICBlbHNlIGlmIChsZW5ndGggPD0gNTAwMClcbiAgICAgICAgICAgIHJldHVybiA0MDA7XG4gICAgICAgIGVsc2UgaWYgKGxlbmd0aCA8PSA3NTAwKVxuICAgICAgICAgICAgcmV0dXJuIDMwMDtcbiAgICAgICAgZWxzZVxuICAgICAgICAgICAgcmV0dXJuIDIwMDtcbiAgICB9XG59XG5leHBvcnQgZnVuY3Rpb24gZXVjbGlkZWFuKHgsIHkpIHtcbiAgICBsZXQgcmVzdWx0ID0gMDtcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IHgubGVuZ3RoOyBpKyspXG4gICAgICAgIHJlc3VsdCArPSAoeFtpXSAtIHlbaV0pICoqIDI7XG4gICAgcmV0dXJuIE1hdGguc3FydChyZXN1bHQpO1xufVxuZXhwb3J0IGZ1bmN0aW9uIG51bWVyaWMoeCwgeSkge1xuICAgIGNvbnN0IHJlc3VsdCA9IE1hdGguYWJzKHggLSB5KTtcbiAgICByZXR1cm4gcmVzdWx0O1xufVxuZXhwb3J0IGZ1bmN0aW9uIGNvc2luZSh4LCB5KSB7XG4gICAgbGV0IHJlc3VsdCA9IDAuMDtcbiAgICBsZXQgbm9ybVggPSAwLjA7XG4gICAgbGV0IG5vcm1ZID0gMC4wO1xuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgeC5sZW5ndGg7IGkrKykge1xuICAgICAgICByZXN1bHQgKz0geFtpXSAqIHlbaV07XG4gICAgICAgIG5vcm1YICs9IHhbaV0gKiogMjtcbiAgICAgICAgbm9ybVkgKz0geVtpXSAqKiAyO1xuICAgIH1cbiAgICBpZiAobm9ybVggPT09IDAgJiYgbm9ybVkgPT09IDApXG4gICAgICAgIHJldHVybiAwO1xuICAgIGVsc2UgaWYgKG5vcm1YID09PSAwIHx8IG5vcm1ZID09PSAwKVxuICAgICAgICByZXR1cm4gMS4wO1xuICAgIGVsc2VcbiAgICAgICAgcmV0dXJuIDEuMCAtIHJlc3VsdCAvIE1hdGguc3FydChub3JtWCAqIG5vcm1ZKTtcbn1cbi8qKlxuICogQW4gaW50ZXJmYWNlIHJlcHJlc2VudGluZyB0aGUgb3B0aW1pemF0aW9uIHN0YXRlIHRyYWNrZWQgYmV0d2VlbiBzdGVwcyBvZlxuICogdGhlIFNHRCBvcHRpbWl6YXRpb25cbiAqL1xuY2xhc3MgT3B0aW1pemF0aW9uU3RhdGUge1xuICAgIGN1cnJlbnRFcG9jaCA9IDA7XG4gICAgLy8gRGF0YSB0cmFja2VkIGR1cmluZyBvcHRpbWl6YXRpb24gc3RlcHMuXG4gICAgaGVhZEVtYmVkZGluZyA9IFtdO1xuICAgIHRhaWxFbWJlZGRpbmcgPSBbXTtcbiAgICBoZWFkID0gW107XG4gICAgdGFpbCA9IFtdO1xuICAgIGVwb2Noc1BlclNhbXBsZSA9IFtdO1xuICAgIGVwb2NoT2ZOZXh0U2FtcGxlID0gW107XG4gICAgZXBvY2hPZk5leHROZWdhdGl2ZVNhbXBsZSA9IFtdO1xuICAgIGVwb2Noc1Blck5lZ2F0aXZlU2FtcGxlID0gW107XG4gICAgbW92ZU90aGVyID0gdHJ1ZTtcbiAgICBpbml0aWFsQWxwaGEgPSAxLjA7XG4gICAgYWxwaGEgPSAxLjA7XG4gICAgZ2FtbWEgPSAxLjA7XG4gICAgYSA9IDEuNTc2OTQzNDYwMzExMzA3NztcbiAgICBiID0gMC44OTUwNjA4Nzc5MTA5NzMzO1xuICAgIGRpbSA9IDI7XG4gICAgbkVwb2NocyA9IDUwMDtcbiAgICBuVmVydGljZXMgPSAwO1xufVxuLyoqXG4gKiBTdGFuZGFyZCBjbGFtcGluZyBvZiBhIHZhbHVlIGludG8gYSBmaXhlZCByYW5nZVxuICovXG5mdW5jdGlvbiBjbGlwKHgsIGNsaXBWYWx1ZSkge1xuICAgIGlmICh4ID4gY2xpcFZhbHVlKVxuICAgICAgICByZXR1cm4gY2xpcFZhbHVlO1xuICAgIGVsc2UgaWYgKHggPCAtY2xpcFZhbHVlKVxuICAgICAgICByZXR1cm4gLWNsaXBWYWx1ZTtcbiAgICBlbHNlXG4gICAgICAgIHJldHVybiB4O1xufVxuLyoqXG4gKiBSZWR1Y2VkIEV1Y2xpZGVhbiBkaXN0YW5jZS5cbiAqL1xuZnVuY3Rpb24gckRpc3QoeCwgeSkge1xuICAgIGxldCByZXN1bHQgPSAwLjA7XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCB4Lmxlbmd0aDsgaSsrKVxuICAgICAgICByZXN1bHQgKz0gTWF0aC5wb3coeFtpXSAtIHlbaV0sIDIpO1xuICAgIHJldHVybiByZXN1bHQ7XG59XG4vKipcbiAqIEZpdCBhLCBiIHBhcmFtcyBmb3IgdGhlIGRpZmZlcmVudGlhYmxlIGN1cnZlIHVzZWQgaW4gbG93ZXJcbiAqIGRpbWVuc2lvbmFsIGZ1enp5IHNpbXBsaWNpYWwgY29tcGxleCBjb25zdHJ1Y3Rpb24uIFdlIHdhbnQgdGhlXG4gKiBzbW9vdGggY3VydmUgKGZyb20gYSBwcmUtZGVmaW5lZCBmYW1pbHkgd2l0aCBzaW1wbGUgZ3JhZGllbnQpIHRoYXRcbiAqIGJlc3QgbWF0Y2hlcyBhbiBvZmZzZXQgZXhwb25lbnRpYWwgZGVjYXkuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBmaW5kQUJQYXJhbXMoc3ByZWFkLCBtaW5EaXN0KSB7XG4gICAgY29uc3QgY3VydmUgPSAoW2EsIGJdKSA9PiAoeCkgPT4ge1xuICAgICAgICByZXR1cm4gMS4wIC8gKDEuMCArIGEgKiB4ICoqICgyICogYikpO1xuICAgIH07XG4gICAgY29uc3QgeHYgPSB1dGlsc1xuICAgICAgICAubGluZWFyKDAsIHNwcmVhZCAqIDMsIDMwMClcbiAgICAgICAgLm1hcCgodmFsKSA9PiAodmFsIDwgbWluRGlzdCA/IDEuMCA6IHZhbCkpO1xuICAgIGNvbnN0IHl2ID0gdXRpbHMuemVyb3MoeHYubGVuZ3RoKS5tYXAoKHZhbCwgaW5kZXgpID0+IHtcbiAgICAgICAgY29uc3QgZ3RlID0geHZbaW5kZXhdID49IG1pbkRpc3Q7XG4gICAgICAgIHJldHVybiBndGUgPyBNYXRoLmV4cCgtKHh2W2luZGV4XSAtIG1pbkRpc3QpIC8gc3ByZWFkKSA6IHZhbDtcbiAgICB9KTtcbiAgICBjb25zdCBpbml0aWFsVmFsdWVzID0gWzAuNSwgMC41XTtcbiAgICBjb25zdCBkYXRhID0geyB4OiB4diwgeTogeXYgfTtcbiAgICAvLyBEZWZhdWx0IG9wdGlvbnMgZm9yIHRoZSBhbGdvcml0aG0gKGZyb20gZ2l0aHViIGV4YW1wbGUpXG4gICAgY29uc3Qgb3B0aW9ucyA9IHtcbiAgICAgICAgZGFtcGluZzogMS41LFxuICAgICAgICBpbml0aWFsVmFsdWVzLFxuICAgICAgICBncmFkaWVudERpZmZlcmVuY2U6IDEwZS0yLFxuICAgICAgICBtYXhJdGVyYXRpb25zOiAxMDAsXG4gICAgICAgIGVycm9yVG9sZXJhbmNlOiAxMGUtMyxcbiAgICB9O1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuZXctY2FwXG4gICAgY29uc3QgeyBwYXJhbWV0ZXJWYWx1ZXMgfSA9IExNKGRhdGEsIGN1cnZlLCBvcHRpb25zKTtcbiAgICBjb25zdCBbYSwgYl0gPSBwYXJhbWV0ZXJWYWx1ZXM7XG4gICAgcmV0dXJuIHsgYSwgYiB9O1xufVxuLyoqXG4gKiBVbmRlciB0aGUgYXNzdW1wdGlvbiBvZiBjYXRlZ29yaWNhbCBkaXN0YW5jZSBmb3IgdGhlIGludGVyc2VjdGluZ1xuICogc2ltcGxpY2lhbCBzZXQgcGVyZm9ybSBhIGZhc3QgaW50ZXJzZWN0aW9uLlxuICovXG5leHBvcnQgZnVuY3Rpb24gZmFzdEludGVyc2VjdGlvbihncmFwaCwgdGFyZ2V0LCB1bmtub3duRGlzdCA9IDEuMCwgZmFyRGlzdCA9IDUuMCkge1xuICAgIHJldHVybiBncmFwaC5tYXAoKHZhbHVlLCByb3csIGNvbCkgPT4ge1xuICAgICAgICBpZiAodGFyZ2V0W3Jvd10gPT09IC0xIHx8IHRhcmdldFtjb2xdID09PSAtMSlcbiAgICAgICAgICAgIHJldHVybiB2YWx1ZSAqIE1hdGguZXhwKC11bmtub3duRGlzdCk7XG4gICAgICAgIGVsc2UgaWYgKHRhcmdldFtyb3ddICE9PSB0YXJnZXRbY29sXSlcbiAgICAgICAgICAgIHJldHVybiB2YWx1ZSAqIE1hdGguZXhwKC1mYXJEaXN0KTtcbiAgICAgICAgZWxzZVxuICAgICAgICAgICAgcmV0dXJuIHZhbHVlO1xuICAgIH0pO1xufVxuLyoqXG4gKiBSZXNldCB0aGUgbG9jYWwgY29ubmVjdGl2aXR5IHJlcXVpcmVtZW50IC0tIGVhY2ggZGF0YSBzYW1wbGUgc2hvdWxkXG4gKiBoYXZlIGNvbXBsZXRlIGNvbmZpZGVuY2UgaW4gYXQgbGVhc3Qgb25lIDEtc2ltcGxleCBpbiB0aGUgc2ltcGxpY2lhbCBzZXQuXG4gKiBXZSBjYW4gZW5mb3JjZSB0aGlzIGJ5IGxvY2FsbHkgcmVzY2FsaW5nIGNvbmZpZGVuY2VzLCBhbmQgdGhlbiByZW1lcmdpbmcgdGhlXG4gKiBkaWZmZXJlbnQgbG9jYWwgc2ltcGxpY2lhbCBzZXRzIHRvZ2V0aGVyLlxuICovXG5leHBvcnQgZnVuY3Rpb24gcmVzZXRMb2NhbENvbm5lY3Rpdml0eShzaW1wbGljaWFsU2V0KSB7XG4gICAgc2ltcGxpY2lhbFNldCA9IG1hdHJpeC5ub3JtYWxpemUoc2ltcGxpY2lhbFNldCwgXCJtYXhcIiAvKiBtYXRyaXguTm9ybVR5cGUubWF4ICovKTtcbiAgICBjb25zdCB0cmFuc3Bvc2UgPSBtYXRyaXgudHJhbnNwb3NlKHNpbXBsaWNpYWxTZXQpO1xuICAgIGNvbnN0IHByb2RNYXRyaXggPSBtYXRyaXgucGFpcndpc2VNdWx0aXBseSh0cmFuc3Bvc2UsIHNpbXBsaWNpYWxTZXQpO1xuICAgIHNpbXBsaWNpYWxTZXQgPSBtYXRyaXguYWRkKHNpbXBsaWNpYWxTZXQsIG1hdHJpeC5zdWJ0cmFjdCh0cmFuc3Bvc2UsIHByb2RNYXRyaXgpKTtcbiAgICByZXR1cm4gbWF0cml4LmVsaW1pbmF0ZVplcm9zKHNpbXBsaWNpYWxTZXQpO1xufVxuLyoqXG4gKiBHaXZlbiBpbmRpY2VzIGFuZCB3ZWlnaHRzIGFuZCBhbiBvcmlnaW5hbCBlbWJlZGRpbmdzXG4gKiBpbml0aWFsaXplIHRoZSBwb3NpdGlvbnMgb2YgbmV3IHBvaW50cyByZWxhdGl2ZSB0byB0aGVcbiAqIGluZGljZXMgYW5kIHdlaWdodHMgKG9mIHRoZWlyIG5laWdoYm9ycyBpbiB0aGUgc291cmNlIGRhdGEpLlxuICovXG5leHBvcnQgZnVuY3Rpb24gaW5pdFRyYW5zZm9ybShpbmRpY2VzLCB3ZWlnaHRzLCBlbWJlZGRpbmcpIHtcbiAgICBjb25zdCByZXN1bHQgPSB1dGlsc1xuICAgICAgICAuemVyb3MoaW5kaWNlcy5sZW5ndGgpXG4gICAgICAgIC5tYXAoKF96KSA9PiB1dGlscy56ZXJvcyhlbWJlZGRpbmdbMF0ubGVuZ3RoKSk7XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBpbmRpY2VzLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgIGZvciAobGV0IGogPSAwOyBqIDwgaW5kaWNlc1swXS5sZW5ndGg7IGorKykge1xuICAgICAgICAgICAgZm9yIChsZXQgZCA9IDA7IGQgPCBlbWJlZGRpbmdbMF0ubGVuZ3RoOyBkKyspIHtcbiAgICAgICAgICAgICAgICBjb25zdCBhID0gaW5kaWNlc1tpXVtqXTtcbiAgICAgICAgICAgICAgICByZXN1bHRbaV1bZF0gKz0gd2VpZ2h0c1tpXVtqXSAqIGVtYmVkZGluZ1thXVtkXTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gcmVzdWx0O1xufVxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKbWFXeGxJam9pZFcxaGNDNXFjeUlzSW5OdmRYSmpaVkp2YjNRaU9pSWlMQ0p6YjNWeVkyVnpJanBiSW5WdFlYQXVkSE1pWFN3aWJtRnRaWE1pT2x0ZExDSnRZWEJ3YVc1bmN5STZJa0ZCUVVFc05FSkJRVFJDTzBGQlF6VkNPenM3T3pzN096czdPenM3T3pzN096dEhRV2xDUnp0QlFVVklPenM3T3p0SFFVdEhPMEZCUlVnN096czdPenM3T3pzN096czdPenM3T3pzN096czdPenM3T3pzN096czdSMEVyUWtjN1FVRkZTQ3hQUVVGUExFdEJRVXNzU1VGQlNTeE5RVUZOTEZGQlFWRXNRMEZCUXp0QlFVTXZRaXhQUVVGUExFdEJRVXNzVFVGQlRTeE5RVUZOTEZWQlFWVXNRMEZCUXp0QlFVTnVReXhQUVVGUExFdEJRVXNzVTBGQlV5eE5RVUZOTEdOQlFXTXNRMEZCUXp0QlFVTXhReXhQUVVGUExFdEJRVXNzU1VGQlNTeE5RVUZOTEZGQlFWRXNRMEZCUXp0QlFVTXZRaXhQUVVGUExFdEJRVXNzUzBGQlN5eE5RVUZOTEZOQlFWTXNRMEZCUXp0QlFVTnFReXhQUVVGUExFVkJRVVVzVFVGQlRTeDNRa0ZCZDBJc1EwRkJRenRCUVdGNFF5eE5RVUZOTEd0Q1FVRnJRaXhIUVVGSExFbEJRVWtzUTBGQlF6dEJRVU5vUXl4TlFVRk5MR2RDUVVGblFpeEhRVUZITEVsQlFVa3NRMEZCUXp0QlFXMUlPVUk3T3pzN096czdPenM3T3pzN096czdPenM3UjBGdFFrYzdRVUZEU0N4TlFVRk5MRTlCUVU4c1NVRkJTVHRKUVVOUUxGbEJRVmtzUjBGQlJ5eEhRVUZITEVOQlFVTTdTVUZEYmtJc2FVSkJRV2xDTEVkQlFVY3NSMEZCUnl4RFFVRkRPMGxCUTNoQ0xFOUJRVThzUjBGQlJ5eEhRVUZITEVOQlFVTTdTVUZEWkN4WFFVRlhMRWRCUVVjc1EwRkJReXhEUVVGRE8wbEJRMmhDTEU5QlFVOHNSMEZCUnl4RFFVRkRMRU5CUVVNN1NVRkRXaXhWUVVGVkxFZEJRVWNzUlVGQlJTeERRVUZETzBsQlEyaENMR3RDUVVGclFpeEhRVUZITEVOQlFVTXNRMEZCUXp0SlFVTjJRaXhOUVVGTkxFZEJRVWNzU1VGQlNTeERRVUZETEUxQlFVMHNRMEZCUXp0SlFVTnlRaXhwUWtGQmFVSXNSMEZCUnl4SFFVRkhMRU5CUVVNN1NVRkRlRUlzWVVGQllTeEhRVUZITEVkQlFVY3NRMEZCUXp0SlFVTndRaXhOUVVGTkxFZEJRVWNzUjBGQlJ5eERRVUZETzBsQlEySXNhMEpCUVd0Q0xFZEJRVWNzUjBGQlJ5eERRVUZETzBsQlJXcERMQ3RDUVVFclFqdEpRVU4yUWl4WlFVRlpMR2RFUVVFMFFqdEpRVU40UXl4WlFVRlpMRWRCUVVjc1IwRkJSeXhEUVVGRE8wbEJRMjVDTEdkQ1FVRm5RaXhIUVVGSExFVkJRVVVzUTBGQlF6dEpRVVYwUWl4VlFVRlZMRWRCUVdVc1QwRkJUeXhEUVVGRE8wbEJSWHBETEdkRlFVRm5SVHRKUVVONFJDeFZRVUZWTEVOQlFXTTdTVUZEZUVJc1dVRkJXU3hEUVVGak8wbEJSV3hETERaRFFVRTJRenRKUVVOeVF5eExRVUZMTEVOQlFYVkNPMGxCUXpWQ0xFTkJRVU1zUTBGQlZUdEpRVU5ZTEdGQlFXRXNSMEZCUnl4TFFVRkxMRU5CUVVNN1NVRkRkRUlzVVVGQlVTeEhRVUZ2UWl4RlFVRkZMRU5CUVVNN1NVRkRMMElzWTBGQll5eERRVUU0UWp0SlFVTTFReXhaUVVGWkxFTkJRVFJDTzBsQlEzaERMRTFCUVUwc1EwRkJjMEk3U1VGRE5VSXNWMEZCVnl4RFFVRjFRanRKUVVVeFF5eDVRMEZCZVVNN1NVRkRha01zUTBGQlF5eERRVUZaTzBsQlJYSkNMSE5DUVVGelFqdEpRVU5rTEZOQlFWTXNSMEZCWlN4RlFVRkZMRU5CUVVNN1NVRkRNMElzYVVKQlFXbENMRWRCUVVjc1NVRkJTU3hwUWtGQmFVSXNSVUZCUlN4RFFVRkRPMGxCUjNCRUxFbEJRVWtzVTBGQlV6dFJRVU5ZTEU5QlFVOHNTVUZCU1N4RFFVRkRMRlZCUVZVc1EwRkJRenRKUVVONlFpeERRVUZETzBsQlEwUXNXVUZCV1N4VFFVRjVRaXhGUVVGRk8xRkJRM0pETEUxQlFVMHNVVUZCVVN4SFFVRkhMRU5CUVVNc1IwRkJlVUlzUlVGQlJTeEZRVUZGTzFsQlF6ZERMRmxCUVZrN1dVRkRXaXhKUVVGSkxFMUJRVTBzUTBGQlF5eEhRVUZITEVOQlFVTXNTMEZCU3l4VFFVRlRPMmRDUVVGRkxFbEJRVWtzUTBGQlF5eEhRVUZITEVOQlFVTXNSMEZCUnl4TlFVRk5MRU5CUVVNc1IwRkJSeXhEUVVGRExFTkJRVU03VVVGRGVrUXNRMEZCUXl4RFFVRkRPMUZCUlVZc1VVRkJVU3hEUVVGRExGbEJRVmtzUTBGQlF5eERRVUZETzFGQlEzWkNMRkZCUVZFc1EwRkJReXhqUVVGakxFTkJRVU1zUTBGQlF6dFJRVU42UWl4UlFVRlJMRU5CUVVNc2JVSkJRVzFDTEVOQlFVTXNRMEZCUXp0UlFVTTVRaXhSUVVGUkxFTkJRVU1zVTBGQlV5eERRVUZETEVOQlFVTTdVVUZEY0VJc1VVRkJVU3hEUVVGRExHRkJRV0VzUTBGQlF5eERRVUZETzFGQlEzaENMRkZCUVZFc1EwRkJReXhUUVVGVExFTkJRVU1zUTBGQlF6dFJRVU53UWl4UlFVRlJMRU5CUVVNc1dVRkJXU3hEUVVGRExFTkJRVU03VVVGRGRrSXNVVUZCVVN4RFFVRkRMRzlDUVVGdlFpeERRVUZETEVOQlFVTTdVVUZETDBJc1VVRkJVU3hEUVVGRExGRkJRVkVzUTBGQlF5eERRVUZETzFGQlEyNUNMRkZCUVZFc1EwRkJReXh0UWtGQmJVSXNRMEZCUXl4RFFVRkRPMUZCUXpsQ0xGRkJRVkVzUTBGQlF5eGxRVUZsTEVOQlFVTXNRMEZCUXp0UlFVTXhRaXhSUVVGUkxFTkJRVU1zVVVGQlVTeERRVUZETEVOQlFVTTdVVUZEYmtJc1VVRkJVU3hEUVVGRExHOUNRVUZ2UWl4RFFVRkRMRU5CUVVNN1VVRkRMMElzU1VGQlNTeERRVUZETEdkQ1FVRm5RaXhIUVVGSExFMUJRVTBzUTBGQlF5eFZRVUZWTEVsQlFVa3NTVUZCU1N4RFFVRkRMRlZCUVZVc1NVRkJTU3hKUVVGSkxFTkJRVU1zWjBKQlFXZENMRU5CUVVNN1NVRkRlRVlzUTBGQlF6dEpRVVZFT3p0UFFVVkhPMGxCUTBnc1IwRkJSeXhEUVVGRExFTkJRVk03VVVGRFdDeEpRVUZKTEVOQlFVTXNZVUZCWVN4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRE8xRkJRM1JDTEVsQlFVa3NRMEZCUXl4alFVRmpMRVZCUVVVc1EwRkJRenRSUVVWMFFpeFBRVUZQTEVsQlFVa3NRMEZCUXl4VFFVRlRMRU5CUVVNN1NVRkRlRUlzUTBGQlF6dEpRVVZFT3pzN1QwRkhSenRKUVVOSUxFdEJRVXNzUTBGQlF5eFJRVUZSTEVOQlExb3NRMEZCVXl4RlFVTlVMRmRCUVc5RUxFZEJRVWNzUlVGQlJTeERRVUZETEVsQlFVazdVVUZGT1VRc1NVRkJTU3hEUVVGRExHRkJRV0VzUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXp0UlFVVjBRaXhOUVVGTkxFbEJRVWtzUTBGQlF5eHRRa0ZCYlVJc1EwRkJReXhSUVVGUkxFTkJRVU1zUTBGQlF6dFJRVU42UXl4UFFVRlBMRWxCUVVrc1EwRkJReXhUUVVGVExFTkJRVU03U1VGRGVFSXNRMEZCUXp0SlFVVkVPenRQUVVWSE8wbEJRMGdzZFVKQlFYVkNMRU5CUVVNc1EwRkJWeXhGUVVGRkxGTkJRU3RDTEVWQlFVVTdVVUZEY0VVc1NVRkJTU3hEUVVGRExFTkJRVU1zUjBGQlJ5eERRVUZETEVOQlFVTTdVVUZEV0N4SlFVRkpMRU5CUVVNc1dVRkJXU3hIUVVGSExFMUJRVTBzUTBGQlF5eFpRVUZaTEVsQlFVa3NTVUZCU1N4RFFVRkRMRmxCUVZrc1EwRkJRenRSUVVNM1JDeEpRVUZKTEVOQlFVTXNXVUZCV1N4SFFVRkhMRTFCUVUwc1EwRkJReXhaUVVGWkxFbEJRVWtzU1VGQlNTeERRVUZETEZsQlFWa3NRMEZCUXp0UlFVTTNSQ3hKUVVGSkxFTkJRVU1zWjBKQlFXZENMRWRCUVVjc1RVRkJUU3hEUVVGRExHZENRVUZuUWl4SlFVRkpMRWxCUVVrc1EwRkJReXhuUWtGQlowSXNRMEZCUXp0SlFVTXpSU3hEUVVGRE8wbEJSVVE3TzA5QlJVYzdTVUZEU0N4cFFrRkJhVUlzUTBGQlF5eFZRVUZ6UWl4RlFVRkZMRmxCUVhkQ08xRkJRMmhGTEVsQlFVa3NRMEZCUXl4VlFVRlZMRWRCUVVjc1ZVRkJWU3hEUVVGRE8xRkJRemRDTEVsQlFVa3NRMEZCUXl4WlFVRlpMRWRCUVVjc1dVRkJXU3hEUVVGRE8wbEJRMjVETEVOQlFVTTdTVUZGUkRzN096czdUMEZMUnp0SlFVTklMR0ZCUVdFc1EwRkJReXhEUVVGVE8xRkJRM0pDTEVsQlFVa3NRMEZCUXl4RFFVRkRMRTFCUVUwc1NVRkJTU3hKUVVGSkxFTkJRVU1zVlVGQlZUdFpRVU0zUWl4TlFVRk5MRWxCUVVrc1MwRkJTeXhEUVVGRExESkNRVUV5UWl4RFFVRkRMRU5CUVVNc1RVRkJUU3d5UWtGQk1rSXNTVUZCU1N4RFFVRkRMRlZCUVZVc2MwUkJRWE5FTEVOQlFVTXNRMEZCUXp0UlFVZDJTaXcwUlVGQk5FVTdVVUZETlVVc1NVRkJTU3hKUVVGSkxFTkJRVU1zUTBGQlF5eExRVUZMTEVOQlFVTXNTVUZCU1N4SlFVRkpMRU5CUVVNc1lVRkJZVHRaUVVOd1F5eFBRVUZQTEVsQlFVa3NRMEZCUXl4VlFVRlZMRVZCUVVVc1EwRkJRenRSUVVjelFpeEpRVUZKTEVOQlFVTXNRMEZCUXl4SFFVRkhMRU5CUVVNc1EwRkJRenRSUVVWWUxFbEJRVWtzUTBGQlF5eEpRVUZKTEVOQlFVTXNWVUZCVlN4SlFVRkpMRU5CUVVNc1NVRkJTU3hEUVVGRExGbEJRVmtzUlVGQlJUdFpRVU14UXl4TlFVRk5MRlZCUVZVc1IwRkJSeXhKUVVGSkxFTkJRVU1zWjBKQlFXZENMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU03V1VGRE5VTXNTVUZCU1N4RFFVRkRMRlZCUVZVc1IwRkJSeXhWUVVGVkxFTkJRVU1zVlVGQlZTeERRVUZETzFsQlEzaERMRWxCUVVrc1EwRkJReXhaUVVGWkxFZEJRVWNzVlVGQlZTeERRVUZETEZsQlFWa3NRMEZCUXp0VFFVTTNRenRSUVVWRUxFbEJRVWtzUTBGQlF5eExRVUZMTEVkQlFVY3NTVUZCU1N4RFFVRkRMR3RDUVVGclFpeERRVU5zUXl4RFFVRkRMRVZCUTBRc1NVRkJTU3hEUVVGRExGVkJRVlVzUlVGRFppeEpRVUZKTEVOQlFVTXNZVUZCWVN4RFFVTnVRaXhEUVVGRE8xRkJSVVlzZVVSQlFYbEVPMUZCUTNwRUxFbEJRVWtzUTBGQlF5eGhRVUZoTEVWQlFVVXNRMEZCUXp0UlFVTnlRaXhKUVVGSkxFTkJRVU1zVjBGQlZ5eEhRVUZITEVsQlFVa3NRMEZCUXl4bFFVRmxMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU03VVVGRk0wTXNlVVJCUVhsRU8xRkJRM3BFTEVsQlFVa3NRMEZCUXl4dFEwRkJiVU1zUlVGQlJTeERRVUZETzFGQlJUTkRMRTFCUVUwc1JVRkRTaXhKUVVGSkxFVkJRMG9zU1VGQlNTeEZRVU5LTEdWQlFXVXNSMEZEYUVJc1IwRkJSeXhKUVVGSkxFTkJRVU1zWjBOQlFXZERMRVZCUVVVc1EwRkJRenRSUVVVMVF5eHhRMEZCY1VNN1VVRkRja01zU1VGQlNTeERRVUZETEdsQ1FVRnBRaXhEUVVGRExFbEJRVWtzUjBGQlJ5eEpRVUZKTEVOQlFVTTdVVUZEYmtNc1NVRkJTU3hEUVVGRExHbENRVUZwUWl4RFFVRkRMRWxCUVVrc1IwRkJSeXhKUVVGSkxFTkJRVU03VVVGRGJrTXNTVUZCU1N4RFFVRkRMR2xDUVVGcFFpeERRVUZETEdWQlFXVXNSMEZCUnl4bFFVRmxMRU5CUVVNN1VVRkZla1FzZVVOQlFYbERPMUZCUTNwRExFbEJRVWtzUTBGQlF5eHpRa0ZCYzBJc1JVRkJSU3hEUVVGRE8xRkJRemxDTEVsQlFVa3NRMEZCUXl3d1FrRkJNRUlzUlVGQlJTeERRVUZETzFGQlEyeERMRWxCUVVrc1EwRkJReXhoUVVGaExFZEJRVWNzU1VGQlNTeERRVUZETzFGQlJURkNMRTlCUVU4c1NVRkJTU3hEUVVGRExGVkJRVlVzUlVGQlJTeERRVUZETzBsQlF6TkNMRU5CUVVNN1NVRkZUeXhoUVVGaE8xRkJRMjVDTEUxQlFVMHNSVUZCUXl4WlFVRlpMRVZCUVVVc1kwRkJZeXhGUVVGRExFZEJRVWNzVTBGQlV5eERRVUZETEcxQ1FVRnRRaXhEUVVOc1JTeEpRVUZKTEVOQlFVTXNWVUZCVlN4RFFVTm9RaXhEUVVGRE8xRkJRMFlzU1VGQlNTeERRVUZETEZsQlFWa3NSMEZCUnl4WlFVRlpMRU5CUVVNN1VVRkRha01zU1VGQlNTeERRVUZETEdOQlFXTXNSMEZCUnl4alFVRmpMRU5CUVVNN1VVRkRja01zU1VGQlNTeERRVUZETEUxQlFVMHNSMEZCUnl4VFFVRlRMRU5CUVVNc2RVSkJRWFZDTEVOQlFVTXNTVUZCU1N4RFFVRkRMRlZCUVZVc1EwRkJReXhEUVVGRE8wbEJRMjVGTEVOQlFVTTdTVUZGVHl4bFFVRmxMRU5CUVVNc1EwRkJVenRSUVVNdlFpeE5RVUZOTEZWQlFWVXNSMEZCUnl4SlFVRkpMRU5CUVVNc1ZVRkJWeXhEUVVGRE8xRkJRM0JETEUxQlFVMHNXVUZCV1N4SFFVRkhMRWxCUVVrc1EwRkJReXhaUVVGaExFTkJRVU03VVVGRGVFTXNUVUZCVFN4SlFVRkpMRWRCUVVjc1EwRkJReXhEUVVGRExFTkJRVU1zVFVGQlRTeEZRVUZGTEVOQlFVTXNRMEZCUXl4TlFVRk5MRU5CUVVNc1EwRkJRenRSUVVOc1F5eE5RVUZOTEZkQlFWY3NSMEZCUnl4SlFVRkpMRTFCUVUwc1EwRkJReXhaUVVGWkxFTkJRVU1zUlVGQlJTeEZRVUZGTEVWQlFVVXNSVUZCUlN4RlFVRkZMRVZCUVVVc1NVRkJTU3hEUVVGRExFTkJRVU03VVVGRE9VUXNTMEZCU3l4SlFVRkpMRU5CUVVNc1IwRkJSeXhEUVVGRExFVkJRVVVzUTBGQlF5eEhRVUZITEZWQlFWVXNRMEZCUXl4TlFVRk5MRVZCUVVVc1EwRkJReXhGUVVGRkxFVkJRVVU3V1VGRE1VTXNUVUZCVFN4SFFVRkhMRWRCUVVjc1ZVRkJWU3hEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETzFsQlF6RkNMRTFCUVUwc1UwRkJVeXhIUVVGSExGbEJRVmtzUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXp0WlFVTnNReXhMUVVGTExFbEJRVWtzUTBGQlF5eEhRVUZITEVOQlFVTXNSVUZCUlN4RFFVRkRMRWRCUVVjc1IwRkJSeXhEUVVGRExFMUJRVTBzUlVGQlJTeERRVUZETEVWQlFVVXNSVUZCUlR0blFrRkRia01zVFVGQlRTeFJRVUZSTEVkQlFVY3NSMEZCUnl4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRE8yZENRVU40UWl4TlFVRk5MRkZCUVZFc1IwRkJSeXhUUVVGVExFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTTdaMEpCUXpsQ0xFbEJRVWtzVVVGQlVTeEhRVUZITEVOQlFVTTdiMEpCUTJRc1YwRkJWeXhEUVVGRExFZEJRVWNzUTBGQlF5eERRVUZETEVWQlFVVXNVVUZCVVN4RlFVRkZMRkZCUVZFc1EwRkJReXhEUVVGRE8yRkJRekZETzFOQlEwWTdVVUZGUkN4TlFVRk5MRk5CUVZNc1IwRkJSeXhOUVVGTkxFTkJRVU1zVTBGQlV5eERRVUZETEZkQlFWY3NRMEZCUXl4RFFVRkRPMUZCUTJoRUxFOUJRVThzVFVGQlRTeERRVUZETEU5QlFVOHNRMEZCUXl4WFFVRlhMRVZCUVVVc1UwRkJVeXhEUVVGRExFTkJRVU03U1VGRGFFUXNRMEZCUXp0SlFVVkVPenRQUVVWSE8wbEJRMGdzVTBGQlV5eERRVUZETEZkQlFXMUNPMUZCUXpOQ0xESkNRVUV5UWp0UlFVTXpRaXhOUVVGTkxFOUJRVThzUjBGQlJ5eEpRVUZKTEVOQlFVTXNRMEZCUXl4RFFVRkRPMUZCUTNaQ0xFbEJRVWtzVDBGQlR5eExRVUZMTEZOQlFWTXNTVUZCU1N4UFFVRlBMRU5CUVVNc1RVRkJUU3hMUVVGTExFTkJRVU03V1VGREwwTXNUVUZCVFN4SlFVRkpMRXRCUVVzc1EwRkJReXgxUWtGQmRVSXNRMEZCUXl4RFFVRkRPMUZCUnpORExFbEJRVWtzVlVGQlZTeEhRVUZITEVsQlFVa3NRMEZCUXl4TFFVRkxMRU5CUVVNc1NVRkJTU3hEUVVGRExGVkJRVlVzUjBGQlJ5eEpRVUZKTEVOQlFVTXNhMEpCUVd0Q0xFTkJRVU1zUTBGQlF6dFJRVU4yUlN4VlFVRlZMRWRCUVVjc1NVRkJTU3hEUVVGRExFZEJRVWNzUTBGQlF5eFBRVUZQTEVOQlFVTXNUVUZCVFN4RlFVRkZMRlZCUVZVc1EwRkJReXhEUVVGRE8xRkJRMnhFTEUxQlFVMHNTVUZCU1N4SFFVRkhMRk5CUVZNc1EwRkJReXhuUWtGQlowSXNRMEZEY2tNc1NVRkJTU3hEUVVGRExGRkJRVkVzUlVGRFlpeFBRVUZQTEVWQlExQXNWMEZCVnl4RlFVTllMRlZCUVZVc1JVRkRWaXhKUVVGSkxFTkJRVU1zWTBGQll5eEZRVU51UWl4SlFVRkpMRU5CUVVNc1dVRkJXU3hGUVVOcVFpeEpRVUZKTEVOQlFVTXNUVUZCVFN4RFFVTmFMRU5CUVVNN1VVRkZSaXhOUVVGTkxFMUJRVTBzUjBGQlJ5eEpRVUZKTEVOQlFVTXNUVUZCVFN4RFFVRkRMRTlCUVU4c1JVRkJSU3hKUVVGSkxFTkJRVU1zVjBGQlZ5eEZRVUZGTEVsQlFVa3NSVUZCUlN4WFFVRlhMRU5CUVVNc1EwRkJRenRSUVVWNlJTeEpRVUZKTEVWQlFVTXNUMEZCVHl4RlFVRkZMRTlCUVU4c1JVRkJSU3hUUVVGVExFVkJRVU1zUjBGQlJ5eEpRVUZKTEVOQlFVTXNWVUZCVlN4RFFVRkRMRTFCUVUwc1EwRkJReXhEUVVGRE8xRkJSVFZFTEU5QlFVOHNSMEZCUnl4UFFVRlBMRU5CUVVNc1IwRkJSeXhEUVVGRExFTkJRVU1zUTBGQlF5eEZRVUZGTEVWQlFVVXNRMEZCUXl4RFFVRkRMRU5CUVVNc1MwRkJTeXhEUVVGRExFTkJRVU1zUlVGQlJTeEpRVUZKTEVOQlFVTXNWVUZCVlN4RFFVRkRMRU5CUVVNc1EwRkJRenRSUVVNeFJDeFRRVUZUTEVkQlFVY3NVMEZCVXl4RFFVRkRMRWRCUVVjc1EwRkJReXhEUVVGRExFTkJRVU1zUlVGQlJTeEZRVUZGTEVOQlFVTXNRMEZCUXl4RFFVRkRMRXRCUVVzc1EwRkJReXhEUVVGRExFVkJRVVVzU1VGQlNTeERRVUZETEZWQlFWVXNRMEZCUXl4RFFVRkRMRU5CUVVNN1VVRkZPVVFzVFVGQlRTeDVRa0ZCZVVJc1IwRkJSeXhKUVVGSkxFTkJRVU1zUjBGQlJ5eERRVUZETEVOQlFVTXNSVUZCUlN4SlFVRkpMRU5CUVVNc2FVSkJRV2xDTEVkQlFVY3NRMEZCUXl4RFFVRkRMRU5CUVVNN1VVRkRNVVVzVFVGQlRTeEZRVUZETEUxQlFVMHNSVUZCUlN4SlFVRkpMRVZCUVVNc1IwRkJSeXhKUVVGSkxFTkJRVU1zYVVKQlFXbENMRU5CUXpORExGTkJRVk1zUlVGRFZDeEpRVUZKTEVOQlFVTXNWVUZCVlN4RlFVTm1MSGxDUVVGNVFpeERRVU14UWl4RFFVRkRPMUZCUlVZc1RVRkJUU3hGUVVGRExFbEJRVWtzUlVGQlJTeEpRVUZKTEVWQlFVVXNTVUZCU1N4RlFVRkRMRWRCUVVjc1NVRkJTU3hEUVVGRExEQkNRVUV3UWl4RFFVTjRSQ3hQUVVGUExFVkJRMUFzVTBGQlV5eEZRVU5VTEUxQlFVMHNSVUZEVGl4SlFVRkpMRU5CUTB3c1EwRkJRenRSUVVWR0xFMUJRVTBzU1VGQlNTeEhRVUZITEVOQlFVTXNWMEZCVnl4RFFVRkRMRTFCUVUwc1JVRkJSU3hQUVVGUExFTkJRVU1zVFVGQlRTeERRVUZETEVOQlFVTTdVVUZEYkVRc1NVRkJTU3hMUVVGTExFZEJRVWNzU1VGQlNTeE5RVUZOTEVOQlFVTXNXVUZCV1N4RFFVRkRMRWxCUVVrc1JVRkJSU3hKUVVGSkxFVkJRVVVzU1VGQlNTeEZRVUZGTEVsQlFVa3NRMEZCUXl4RFFVRkRPMUZCUlRWRUxHOUZRVUZ2UlR0UlFVTndSU3h6UlVGQmMwVTdVVUZEZEVVc0swUkJRU3RFTzFGQlJTOUVMRTFCUVUwc1RVRkJUU3hIUVVGSExFMUJRVTBzUTBGQlF5eFRRVUZUTEVOQlFVTXNTMEZCU3l4blEwRkJjVUlzUTBGQlF6dFJRVVV6UkN4TlFVRk5MRk5CUVZNc1IwRkJSeXhOUVVGTkxFTkJRVU1zVFVGQlRTeERRVUZETEUxQlFVMHNRMEZCUXl4RFFVRkRPMUZCUTNoRExFMUJRVTBzVDBGQlR5eEhRVUZITEZkQlFWY3NRMEZCUXl4TlFVRk5MRU5CUVVNN1VVRkZia01zVFVGQlRTeFJRVUZSTEVkQlFVY3NTMEZCU3l4RFFVRkRMRk5CUVZNc1EwRkRPVUlzVTBGQlV5eERRVUZETEU5QlFVOHNSVUZEYWtJc1QwRkJUeXhGUVVOUUxFbEJRVWtzUTBGQlF5eFZRVUZWTEVOQlEyaENMRU5CUVVNN1VVRkZSaXhOUVVGTkxGRkJRVkVzUjBGQlJ5eExRVUZMTEVOQlFVTXNVMEZCVXl4RFFVTTVRaXhUUVVGVExFTkJRVU1zVFVGQlRTeEZRVU5vUWl4UFFVRlBMRVZCUTFBc1NVRkJTU3hEUVVGRExGVkJRVlVzUTBGRGFFSXNRMEZCUXp0UlFVVkdMRTFCUVUwc1UwRkJVeXhIUVVGSExHRkJRV0VzUTBGQlF5eFJRVUZSTEVWQlFVVXNVVUZCVVN4RlFVRkZMRWxCUVVrc1EwRkJReXhUUVVGVExFTkJRVU1zUTBGQlF6dFJRVVZ3UlN4TlFVRk5MRTlCUVU4c1IwRkJSeXhKUVVGSkxFTkJRVU1zVDBGQlR5eERRVUZETEVOQlFVTTdXVUZETlVJc1NVRkJTU3hEUVVGRExFOUJRVThzUjBGQlJ5eERRVUZETEVOQlFVTXNRMEZCUXp0WlFVTnNRaXhMUVVGTExFTkJRVU1zUzBGQlN5eEpRVUZKTEV0QlFVc3NRMEZCUXl4RFFVRkRPMmRDUVVOd1FpeEhRVUZITEVOQlFVTXNRMEZCUXp0blFrRkRUQ3hGUVVGRkxFTkJRVU03VVVGRlVDeE5RVUZOTEZGQlFWRXNSMEZCUnl4TFFVRkxPMkZCUTI1Q0xGTkJRVk1zUlVGQlJUdGhRVU5ZTEUxQlFVMHNRMEZCUXl4RFFVRkRMRWRCUVVjc1JVRkJSU3hIUVVGSExFVkJRVVVzUlVGQlJTeERRVUZETEVOQlFVTXNSMEZCUnl4SFFVRkhMRWRCUVVjc1EwRkJReXhEUVVGRExFTkJRVU1zUjBGQlJ5eERRVUZETEVOQlFVTXNRMEZCUXl4SFFVRkhMRU5CUVVNc1JVRkJSU3hEUVVGRExFTkJRVU1zUTBGQlF6dFJRVU53UkN4TFFVRkxMRWRCUVVjc1MwRkJTeXhEUVVGRExFZEJRVWNzUTBGQlF5eERRVUZETEV0QlFVc3NSVUZCUlN4RlFVRkZMRU5CUVVNc1EwRkJReXhMUVVGTExFZEJRVWNzVVVGQlVTeEhRVUZITEU5QlFVOHNRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF5eExRVUZMTEVOQlFVTXNRMEZCUXl4RFFVRkRPMUZCUTNaRkxFdEJRVXNzUjBGQlJ5eE5RVUZOTEVOQlFVTXNZMEZCWXl4RFFVRkRMRXRCUVVzc1EwRkJReXhEUVVGRE8xRkJSWEpETEUxQlFVMHNaVUZCWlN4SFFVRkhMRWxCUVVrc1EwRkJReXh0UWtGQmJVSXNRMEZET1VNc1MwRkJTeXhEUVVGRExGTkJRVk1zUlVGQlJTeEZRVU5xUWl4UFFVRlBMRU5CUTFJc1EwRkJRenRSUVVOR0xFMUJRVTBzU1VGQlNTeEhRVUZITEV0QlFVc3NRMEZCUXl4UFFVRlBMRVZCUVVVc1EwRkJRenRSUVVNM1FpeE5RVUZOTEVsQlFVa3NSMEZCUnl4TFFVRkxMRU5CUVVNc1QwRkJUeXhGUVVGRkxFTkJRVU03VVVGRk4wSXNiMFZCUVc5Rk8xRkJRM0JGTEVsQlFVa3NRMEZCUXl4cFEwRkJhVU1zUTBGQlF6dFpRVU55UXl4aFFVRmhMRVZCUVVVc1UwRkJVenRaUVVONFFpeGhRVUZoTEVWQlFVVXNTVUZCU1N4RFFVRkRMRk5CUVZNN1dVRkROMElzU1VGQlNUdFpRVU5LTEVsQlFVazdXVUZEU2l4WlFVRlpMRVZCUVVVc1EwRkJRenRaUVVObUxFOUJRVTg3V1VGRFVDeFRRVUZUTEVWQlFVVXNTMEZCU3l4RFFVRkRMRTlCUVU4c1JVRkJSU3hEUVVGRExFTkJRVU1zUTBGQlF6dFpRVU0zUWl4bFFVRmxPMU5CUTJoQ0xFTkJRVU1zUTBGQlF6dFJRVU5JTEVsQlFVa3NRMEZCUXl3d1FrRkJNRUlzUlVGQlJTeERRVUZETzFGQlJXeERMRTlCUVU4c1NVRkJTU3hEUVVGRExHTkJRV01zUlVGQlJTeERRVUZETzBsQlF5OUNMRU5CUVVNN1NVRkZSRHM3TzA5QlIwYzdTVUZEU3l4dFEwRkJiVU03VVVGRGVrTXNUVUZCVFN4RlFVRkRMRU5CUVVNc1JVRkJSU3hEUVVGRExFVkJRVU1zUjBGQlJ5eEpRVUZKTEVOQlFVTTdVVUZEY0VJc1NVRkJTU3hEUVVGRExFVkJRVVU3V1VGRFRDeEpRVUZKTEVOQlFVTXNRMEZCUXl4TlFVRk5MRXRCUVVzc1EwRkJReXhEUVVGRExFMUJRVTA3WjBKQlEzWkNMRTFCUVUwc1NVRkJTU3hMUVVGTExFTkJRVU1zYVVOQlFXbERMRU5CUVVNc1EwRkJRenRaUVVkeVJDeEpRVUZKTEVsQlFVa3NRMEZCUXl4WlFVRlpMR2xFUVVFMlFpeEZRVUZGTzJkQ1FVTnNSQ3hOUVVGTkxFVkJRVVVzUjBGQlJ5eEpRVUZKTEVOQlFVTXNXVUZCV1N4SFFVRkhMRWRCUVVjc1EwRkJRenRuUWtGRGJrTXNUVUZCVFN4UFFVRlBMRWRCUVVjc1JVRkJSU3hEUVVGRExFTkJRVU1zUTBGQlF5eEhRVUZITEVkQlFVY3NRMEZCUXl4SFFVRkhMRWRCUVVjc1EwRkJReXhIUVVGSExFZEJRVWNzU1VGQlNTeERRVUZETEZsQlFWa3NRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRExFMUJRVTBzUTBGQlF6dG5Ra0ZEZEVVc1NVRkJTU3hEUVVGRExFdEJRVXNzUjBGQlJ5eEpRVUZKTEVOQlFVTXNiME5CUVc5RExFTkJRM0JFTEVsQlFVa3NRMEZCUXl4TFFVRkxMRVZCUTFZc1EwRkJReXhGUVVORUxFOUJRVThzUTBGRFVpeERRVUZETzJGQlEwZzdXVUZEUkN4cFJVRkJhVVU3VTBGRGJFVTdTVUZEU0N4RFFVRkRPMGxCUlVRN08wOUJSVWM3U1VGRFNDeEpRVUZKTzFGQlEwWXNUVUZCVFN4RlFVRkRMRmxCUVZrc1JVRkJReXhIUVVGSExFbEJRVWtzUTBGQlF5eHBRa0ZCYVVJc1EwRkJRenRSUVVVNVF5eEpRVUZKTEZsQlFWa3NSMEZCUnl4SlFVRkpMRU5CUVVNc1ZVRkJWU3hGUVVGRk8xbEJRMnhETEVsQlFVa3NRMEZCUXl4clFrRkJhMElzUTBGQlF5eFpRVUZaTEVOQlFVTXNRMEZCUXp0UlFVVjRReXhQUVVGUExFbEJRVWtzUTBGQlF5eHBRa0ZCYVVJc1EwRkJReXhaUVVGWkxFTkJRVU03U1VGRE4wTXNRMEZCUXp0SlFVVkVPenRQUVVWSE8wbEJRMGdzV1VGQldUdFJRVU5XTEU5QlFVOHNTVUZCU1N4RFFVRkRMRk5CUVZNc1EwRkJRenRKUVVONFFpeERRVUZETzBsQlJVUTdPenM3VDBGSlJ6dEpRVU5MTEdkQ1FVRm5RaXhEUVVGRExFTkJRVk03VVVGRGFFTXNUVUZCVFN4RlFVRkRMRlZCUVZVc1JVRkJSU3hWUVVGVkxFVkJRVU1zUjBGQlJ5eEpRVUZKTEVOQlFVTTdVVUZEZEVNc1RVRkJUU3hKUVVGSkxFZEJRVWNzUTBGQlF5eERRVUZUTEVWQlFVVXNSVUZCUlN4RFFVRkRMRWxCUVVrc1EwRkJReXhIUVVGSExFTkJRVU1zUTBGQlF5eERRVUZETEVkQlFVY3NTVUZCU1N4RFFVRkRMRWRCUVVjc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF6dFJRVU4wUkN4TlFVRk5MR1ZCUVdVc1IwRkJSeXhUUVVGVExFTkJRVU1zWVVGQllTeERRVUZETEZWQlFWVXNSVUZCUlN4SlFVRkpMRU5CUVVNc1RVRkJUU3hEUVVGRExFTkJRVU03VVVGRmVrVXNiVVJCUVcxRU8xRkJRMjVFTEUxQlFVMHNTMEZCU3l4SFFVRkhMRU5CUVVNc1EwRkJVeXhGUVVGRkxFVkJRVVU3V1VGRE1VSXNUMEZCVHl4RFFVRkRMRXRCUVVzc1IwRkJSeXhEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRMRWxCUVVrc1EwRkJReXhMUVVGTExFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTTdVVUZEZGtNc1EwRkJReXhEUVVGRE8xRkJSVVlzVFVGQlRTeE5RVUZOTEVkQlFVY3NRMEZCUXl4SFFVRkhMRWxCUVVrc1EwRkJReXhMUVVGTExFTkJRVU1zUzBGQlN5eERRVUZETEVOQlFVTXNRMEZCUXl4TlFVRk5MRWxCUVVrc1IwRkJSeXhIUVVGSExFbEJRVWtzUTBGQlF5eERRVUZETEVOQlFVTTdVVUZETjBRc1RVRkJUU3hOUVVGTkxFZEJRVWNzU1VGQlNTeERRVUZETEVkQlFVY3NRMEZCUXl4RFFVRkRMRVZCUVVVc1NVRkJTU3hEUVVGRExFdEJRVXNzUTBGQlF5eEpRVUZKTEVOQlFVTXNTMEZCU3l4RFFVRkRMRWxCUVVrc1EwRkJReXhEUVVGRExFTkJRVU1zVFVGQlRTeERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNN1VVRkZia1VzU1VGQlNTeERRVUZETEZGQlFWRXNSMEZCUnl4SlFVRkpMRU5CUVVNc1ZVRkJWU3hEUVVGRExFTkJRVU1zUlVGQlJTeFZRVUZWTEVWQlFVVXNUVUZCVFN4RlFVRkZMRWxCUVVrc1EwRkJReXhOUVVGTkxFTkJRVU1zUTBGQlF6dFJRVVZ3UlN4TlFVRk5MRk5CUVZNc1IwRkJSeXhKUVVGSkxFTkJRVU1zWVVGQllTeERRVUZETEVsQlFVa3NRMEZCUXl4UlFVRlJMRU5CUVVNc1EwRkJRenRSUVVOd1JDeE5RVUZOTEVWQlFVTXNUMEZCVHl4RlFVRkZMRTlCUVU4c1JVRkJReXhIUVVGSExHVkJRV1VzUTBGRGVFTXNRMEZCUXl4RlFVTkVMRk5CUVZNc1JVRkRWQ3hWUVVGVkxFVkJRMVlzVFVGQlRTeERRVU5RTEVOQlFVTTdVVUZEUml4UFFVRlBMRVZCUVVNc1ZVRkJWU3hGUVVGRkxFOUJRVThzUlVGQlJTeFpRVUZaTEVWQlFVVXNUMEZCVHl4RlFVRkRMRU5CUVVNN1NVRkRkRVFzUTBGQlF6dEpRVVZFT3pzN096czdPMDlCVDBjN1NVRkRTeXhyUWtGQmEwSXNRMEZEZUVJc1EwRkJVeXhGUVVOVUxGVkJRV3RDTEVWQlEyeENMR0ZCUVdFc1IwRkJSeXhIUVVGSE8xRkJSVzVDTEUxQlFVMHNSVUZCUXl4VlFVRlZMRWRCUVVjc1JVRkJSU3hGUVVGRkxGbEJRVmtzUjBGQlJ5eEZRVUZGTEVWQlFVVXNhVUpCUVdsQ0xFVkJRVU1zUjBGQlJ5eEpRVUZKTEVOQlFVTTdVVUZGY2tVc1RVRkJUU3hGUVVGRExFMUJRVTBzUlVGQlJTeEpRVUZKTEVWQlFVTXNSMEZCUnl4SlFVRkpMRU5CUVVNc2FVSkJRV2xDTEVOQlF6TkRMRmxCUVZrc1JVRkRXaXhWUVVGVkxFVkJRMVlzYVVKQlFXbENMRU5CUTJ4Q0xFTkJRVU03VVVGRlJpeE5RVUZOTEVWQlFVTXNTVUZCU1N4RlFVRkZMRWxCUVVrc1JVRkJSU3hKUVVGSkxFVkJRVU1zUjBGQlJ5eEpRVUZKTEVOQlFVTXNNRUpCUVRCQ0xFTkJRM2hFTEZWQlFWVXNSVUZEVml4WlFVRlpMRVZCUTFvc1RVRkJUU3hGUVVOT0xFbEJRVWtzUTBGRFRDeERRVUZETzFGQlJVWXNUVUZCVFN4SlFVRkpMRWRCUVVjc1EwRkJReXhEUVVGRExFTkJRVU1zVFVGQlRTeEZRVUZGTEVOQlFVTXNRMEZCUXl4TlFVRk5MRU5CUVVNc1EwRkJRenRSUVVOc1F5eE5RVUZOTEZsQlFWa3NSMEZCUnl4SlFVRkpMRTFCUVUwc1EwRkJReXhaUVVGWkxFTkJRVU1zU1VGQlNTeEZRVUZGTEVsQlFVa3NSVUZCUlN4SlFVRkpMRVZCUVVVc1NVRkJTU3hEUVVGRExFTkJRVU03VVVGRmNrVXNUVUZCVFN4VFFVRlRMRWRCUVVjc1RVRkJUU3hEUVVGRExGTkJRVk1zUTBGQlF5eFpRVUZaTEVOQlFVTXNRMEZCUXp0UlFVTnFSQ3hOUVVGTkxGVkJRVlVzUjBGQlJ5eE5RVUZOTEVOQlFVTXNaMEpCUVdkQ0xFTkJRVU1zV1VGQldTeEZRVUZGTEZOQlFWTXNRMEZCUXl4RFFVRkRPMUZCUlhCRkxFMUJRVTBzUTBGQlF5eEhRVUZITEUxQlFVMHNRMEZCUXl4UlFVRlJMRU5CUVVNc1RVRkJUU3hEUVVGRExFZEJRVWNzUTBGQlF5eFpRVUZaTEVWQlFVVXNVMEZCVXl4RFFVRkRMRVZCUVVVc1ZVRkJWU3hEUVVGRExFTkJRVU03VVVGRE0wVXNUVUZCVFN4RFFVRkRMRWRCUVVjc1RVRkJUU3hEUVVGRExHTkJRV01zUTBGQlF5eERRVUZETEVWQlFVVXNZVUZCWVN4RFFVRkRMRU5CUVVNN1VVRkRiRVFzVFVGQlRTeERRVUZETEVkQlFVY3NUVUZCVFN4RFFVRkRMR05CUVdNc1EwRkJReXhWUVVGVkxFVkJRVVVzUjBGQlJ5eEhRVUZITEdGQlFXRXNRMEZCUXl4RFFVRkRPMUZCUTJwRkxFMUJRVTBzVFVGQlRTeEhRVUZITEUxQlFVMHNRMEZCUXl4SFFVRkhMRU5CUVVNc1EwRkJReXhGUVVGRkxFTkJRVU1zUTBGQlF5eERRVUZETzFGQlJXaERMRTlCUVU4c1RVRkJUU3hEUVVGRE8wbEJRMmhDTEVOQlFVTTdTVUZGUkRzN096czdUMEZMUnp0SlFVTkxMRzlEUVVGdlF5eERRVU14UXl4aFFVRnJReXhGUVVOc1F5eE5RVUZuUWl4RlFVTm9RaXhQUVVGbExFVkJRMllzVjBGQlZ5eEhRVUZITEVkQlFVYzdVVUZGYWtJc1NVRkJTU3haUVVGWkxFZEJRVWNzWjBKQlFXZENMRU5CUTJwRExHRkJRV0VzUlVGRFlpeE5RVUZOTEVWQlEwNHNWMEZCVnl4RlFVTllMRTlCUVU4c1EwRkRVaXhEUVVGRE8xRkJRMFlzV1VGQldTeEhRVUZITEUxQlFVMHNRMEZCUXl4alFVRmpMRU5CUVVNc1dVRkJXU3hEUVVGRExFTkJRVU03VVVGRGJrUXNUMEZCVHl4elFrRkJjMElzUTBGQlF5eFpRVUZaTEVOQlFVTXNRMEZCUXp0SlFVTTVReXhEUVVGRE8wbEJSVVE3T3pzN096dFBRVTFITzBsQlEwc3NhVUpCUVdsQ0xFTkJRM1pDTEZOQlFXdENMRVZCUTJ4Q0xFTkJRVk1zUlVGRFZDeHBRa0ZCYVVJc1IwRkJSeXhIUVVGSExFVkJRM1pDTEV0QlFVc3NSMEZCUnl4RlFVRkZMRVZCUTFZc1UwRkJVeXhIUVVGSExFZEJRVWM3VVVGRlppeE5RVUZOTEUxQlFVMHNSMEZCUnl4RFFVRkRMRWxCUVVrc1EwRkJReXhIUVVGSExFTkJRVU1zUTBGQlF5eERRVUZETEVkQlFVY3NTVUZCU1N4RFFVRkRMRWRCUVVjc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF5eEhRVUZITEZOQlFWTXNRMEZCUXp0UlFVTjJSQ3hOUVVGTkxFZEJRVWNzUjBGQlJ5eExRVUZMTEVOQlFVTXNTMEZCU3l4RFFVRkRMRk5CUVZNc1EwRkJReXhOUVVGTkxFTkJRVU1zUTBGQlF6dFJRVU14UXl4TlFVRk5MRTFCUVUwc1IwRkJSeXhMUVVGTExFTkJRVU1zUzBGQlN5eERRVUZETEZOQlFWTXNRMEZCUXl4TlFVRk5MRU5CUVVNc1EwRkJRenRSUVVVM1F5eExRVUZMTEVsQlFVa3NRMEZCUXl4SFFVRkhMRU5CUVVNc1JVRkJSU3hEUVVGRExFZEJRVWNzVTBGQlV5eERRVUZETEUxQlFVMHNSVUZCUlN4RFFVRkRMRVZCUVVVc1JVRkJSVHRaUVVONlF5eEpRVUZKTEVWQlFVVXNSMEZCUnl4SFFVRkhMRU5CUVVNN1dVRkRZaXhKUVVGSkxFVkJRVVVzUjBGQlJ5eFJRVUZSTEVOQlFVTTdXVUZEYkVJc1NVRkJTU3hIUVVGSExFZEJRVWNzUjBGQlJ5eERRVUZETzFsQlJXUXNOa1JCUVRaRU8xbEJRemRFTEUxQlFVMHNXVUZCV1N4SFFVRkhMRk5CUVZNc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF6dFpRVU5zUXl4TlFVRk5MRmxCUVZrc1IwRkJSeXhaUVVGWkxFTkJRVU1zVFVGQlRTeERRVUZETEVOQlFVTXNRMEZCUXl4RlFVRkZMRVZCUVVVc1EwRkJReXhEUVVGRExFZEJRVWNzUjBGQlJ5eERRVUZETEVOQlFVTTdXVUZGZWtRc1NVRkJTU3haUVVGWkxFTkJRVU1zVFVGQlRTeEpRVUZKTEdsQ1FVRnBRaXhGUVVGRk8yZENRVU0xUXl4TlFVRk5MRXRCUVVzc1IwRkJSeXhKUVVGSkxFTkJRVU1zUzBGQlN5eERRVUZETEdsQ1FVRnBRaXhEUVVGRExFTkJRVU03WjBKQlF6VkRMRTFCUVUwc1lVRkJZU3hIUVVGSExHbENRVUZwUWl4SFFVRkhMRXRCUVVzc1EwRkJRenRuUWtGRGFFUXNTVUZCU1N4TFFVRkxMRWRCUVVjc1EwRkJReXhGUVVGRk8yOUNRVU5pTEVkQlFVY3NRMEZCUXl4RFFVRkRMRU5CUVVNc1IwRkJSeXhaUVVGWkxFTkJRVU1zUzBGQlN5eEhRVUZITEVOQlFVTXNRMEZCUXl4RFFVRkRPMjlDUVVOcVF5eEpRVUZKTEdGQlFXRXNSMEZCUnl4clFrRkJhMElzUlVGQlJUdDNRa0ZEZEVNc1IwRkJSeXhEUVVGRExFTkJRVU1zUTBGQlF6czBRa0ZEU2l4aFFVRmhMRWRCUVVjc1EwRkJReXhaUVVGWkxFTkJRVU1zUzBGQlN5eERRVUZETEVkQlFVY3NXVUZCV1N4RFFVRkRMRXRCUVVzc1IwRkJSeXhEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETzNGQ1FVTnVSVHRwUWtGRFJqdHhRa0ZCVFR0dlFrRkRUQ3hIUVVGSExFTkJRVU1zUTBGQlF5eERRVUZETEVkQlFVY3NZVUZCWVN4SFFVRkhMRmxCUVZrc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF6dHBRa0ZETVVNN1lVRkRSanRwUWtGQlRTeEpRVUZKTEZsQlFWa3NRMEZCUXl4TlFVRk5MRWRCUVVjc1EwRkJReXhGUVVGRk8yZENRVU5zUXl4SFFVRkhMRU5CUVVNc1EwRkJReXhEUVVGRExFZEJRVWNzUzBGQlN5eERRVUZETEVkQlFVY3NRMEZCUXl4WlFVRlpMRU5CUVVNc1EwRkJRenRoUVVOc1F6dFpRVVZFTEV0QlFVc3NTVUZCU1N4RFFVRkRMRWRCUVVjc1EwRkJReXhGUVVGRkxFTkJRVU1zUjBGQlJ5eExRVUZMTEVWQlFVVXNRMEZCUXl4RlFVRkZMRVZCUVVVN1owSkJRemxDTEVsQlFVa3NTVUZCU1N4SFFVRkhMRWRCUVVjc1EwRkJRenRuUWtGRFppeExRVUZMTEVsQlFVa3NRMEZCUXl4SFFVRkhMRU5CUVVNc1JVRkJSU3hEUVVGRExFZEJRVWNzVTBGQlV5eERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRMRTFCUVUwc1JVRkJSU3hEUVVGRExFVkJRVVVzUlVGQlJUdHZRa0ZETlVNc1RVRkJUU3hEUVVGRExFZEJRVWNzVTBGQlV5eERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJReXhIUVVGSExFZEJRVWNzUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXp0dlFrRkRia01zU1VGQlNTeERRVUZETEVkQlFVY3NRMEZCUXp0M1FrRkRVQ3hKUVVGSkxFbEJRVWtzU1VGQlNTeERRVUZETEVkQlFVY3NRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJReXhIUVVGSExFZEJRVWNzUTBGQlF5eERRVUZETEVOQlFVTTdPM2RDUVVVM1FpeEpRVUZKTEVsQlFVa3NSMEZCUnl4RFFVRkRPMmxDUVVObU8yZENRVVZFTEVsQlFVa3NTVUZCU1N4RFFVRkRMRWRCUVVjc1EwRkJReXhKUVVGSkxFZEJRVWNzVFVGQlRTeERRVUZETEVkQlFVY3NhMEpCUVd0Q08yOUNRVU01UXl4TlFVRk5PMmRDUVVkU0xFbEJRVWtzU1VGQlNTeEhRVUZITEUxQlFVMHNSVUZCUlR0dlFrRkRha0lzUlVGQlJTeEhRVUZITEVkQlFVY3NRMEZCUXp0dlFrRkRWQ3hIUVVGSExFZEJRVWNzUTBGQlF5eEZRVUZGTEVkQlFVY3NSVUZCUlN4RFFVRkRMRWRCUVVjc1IwRkJSeXhEUVVGRE8ybENRVU4yUWp0eFFrRkJUVHR2UWtGRFRDeEZRVUZGTEVkQlFVY3NSMEZCUnl4RFFVRkRPMjlDUVVOVUxFbEJRVWtzUlVGQlJTeExRVUZMTEZGQlFWRTdkMEpCUTJwQ0xFZEJRVWNzU1VGQlNTeERRVUZETEVOQlFVTTdPM2RDUVVWVUxFZEJRVWNzUjBGQlJ5eERRVUZETEVWQlFVVXNSMEZCUnl4RlFVRkZMRU5CUVVNc1IwRkJSeXhIUVVGSExFTkJRVU03YVVKQlEzcENPMkZCUTBZN1dVRkZSQ3hOUVVGTkxFTkJRVU1zUTBGQlF5eERRVUZETEVkQlFVY3NSMEZCUnl4RFFVRkRPMWxCUldoQ0xEWkVRVUUyUkR0WlFVTTNSQ3hKUVVGSkxFZEJRVWNzUTBGQlF5eERRVUZETEVOQlFVTXNSMEZCUnl4SFFVRkhMRVZCUVVVN1owSkJRMmhDTEUxQlFVMHNaMEpCUVdkQ0xFZEJRVWNzUzBGQlN5eERRVUZETEVsQlFVa3NRMEZCUXl4WlFVRlpMRU5CUVVNc1EwRkJRenRuUWtGRGJFUXNTVUZCU1N4TlFVRk5MRU5CUVVNc1EwRkJReXhEUVVGRExFZEJRVWNzWjBKQlFXZENMRWRCUVVjc1owSkJRV2RDTzI5Q1FVTnFSQ3hOUVVGTkxFTkJRVU1zUTBGQlF5eERRVUZETEVkQlFVY3NaMEpCUVdkQ0xFZEJRVWNzWjBKQlFXZENMRU5CUVVNN1lVRkRia1E3YVVKQlFVMDdaMEpCUTB3c1RVRkJUU3hoUVVGaExFZEJRVWNzUzBGQlN5eERRVUZETEVsQlFVa3NRMEZCUXl4VFFVRlRMRU5CUVVNc1IwRkJSeXhEUVVGRExFdEJRVXNzUTBGQlF5eEpRVUZKTEVOQlFVTXNRMEZCUXl4RFFVRkRPMmRDUVVNMVJDeEpRVUZKTEUxQlFVMHNRMEZCUXl4RFFVRkRMRU5CUVVNc1IwRkJSeXhuUWtGQlowSXNSMEZCUnl4aFFVRmhPMjlDUVVNNVF5eE5RVUZOTEVOQlFVTXNRMEZCUXl4RFFVRkRMRWRCUVVjc1owSkJRV2RDTEVkQlFVY3NZVUZCWVN4RFFVRkRPMkZCUTJoRU8xTkJRMFk3VVVGRlJDeFBRVUZQTEVWQlFVTXNUVUZCVFN4RlFVRkZMRTFCUVUwc1JVRkJSU3hKUVVGSkxFVkJRVVVzUjBGQlJ5eEZRVUZETEVOQlFVTTdTVUZEY2tNc1EwRkJRenRKUVVWRU96czdPenRQUVV0SE8wbEJRMHNzTUVKQlFUQkNMRU5CUTJoRExGVkJRVzFDTEVWQlEyNUNMRmxCUVhGQ0xFVkJRM0pDTEUxQlFXZENMRVZCUTJoQ0xFbEJRV003VVVGRlpDeE5RVUZOTEZGQlFWRXNSMEZCUnl4VlFVRlZMRU5CUVVNc1RVRkJUU3hEUVVGRE8xRkJRMjVETEUxQlFVMHNWVUZCVlN4SFFVRkhMRlZCUVZVc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF5eE5RVUZOTEVOQlFVTTdVVUZGZUVNc1RVRkJUU3hKUVVGSkxFZEJRVWNzUzBGQlN5eERRVUZETEV0QlFVc3NRMEZCUXl4UlFVRlJMRWRCUVVjc1ZVRkJWU3hEUVVGRExFTkJRVU03VVVGRGFFUXNUVUZCVFN4SlFVRkpMRWRCUVVjc1MwRkJTeXhEUVVGRExFdEJRVXNzUTBGQlF5eFJRVUZSTEVkQlFVY3NWVUZCVlN4RFFVRkRMRU5CUVVNN1VVRkRhRVFzVFVGQlRTeEpRVUZKTEVkQlFVY3NTMEZCU3l4RFFVRkRMRXRCUVVzc1EwRkJReXhSUVVGUkxFZEJRVWNzVlVGQlZTeERRVUZETEVOQlFVTTdVVUZGYUVRc1MwRkJTeXhKUVVGSkxFTkJRVU1zUjBGQlJ5eERRVUZETEVWQlFVVXNRMEZCUXl4SFFVRkhMRkZCUVZFc1JVRkJSU3hEUVVGRExFVkJRVVVzUlVGQlJUdFpRVU5xUXl4TFFVRkxMRWxCUVVrc1EwRkJReXhIUVVGSExFTkJRVU1zUlVGQlJTeERRVUZETEVkQlFVY3NWVUZCVlN4RlFVRkZMRU5CUVVNc1JVRkJSU3hGUVVGRk8yZENRVU51UXl4SlFVRkpMRWRCUVVjc1IwRkJSeXhEUVVGRExFTkJRVU03WjBKQlExb3NTVUZCU1N4VlFVRlZMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETEV0QlFVc3NRMEZCUXl4RFFVRkRPMjlDUVVONlFpeFRRVUZUTEVOQlFVTXNiVU5CUVcxRE8yZENRVVV2UXl4SlFVRkpMRlZCUVZVc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTXNTMEZCU3l4RFFVRkRPMjlDUVVONFFpeEhRVUZITEVkQlFVY3NSMEZCUnl4RFFVRkRPM0ZDUVVOUUxFbEJRVWtzV1VGQldTeERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJReXhIUVVGSExFbEJRVWtzUTBGQlF5eERRVUZETEVOQlFVTXNTVUZCU1N4SFFVRkhPMjlDUVVNeFF5eEhRVUZITEVkQlFVY3NSMEZCUnl4RFFVRkRPenR2UWtGRlZpeEhRVUZITEVkQlFVY3NTVUZCU1N4RFFVRkRMRWRCUVVjc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF5eFpRVUZaTEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRExFZEJRVWNzU1VGQlNTeERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRMRWRCUVVjc1RVRkJUU3hEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXp0blFrRkhhRVVzU1VGQlNTeERRVUZETEVOQlFVTXNSMEZCUnl4VlFVRlZMRWRCUVVjc1EwRkJReXhEUVVGRExFZEJRVWNzUTBGQlF5eERRVUZETzJkQ1FVTTNRaXhKUVVGSkxFTkJRVU1zUTBGQlF5eEhRVUZITEZWQlFWVXNSMEZCUnl4RFFVRkRMRU5CUVVNc1IwRkJSeXhWUVVGVkxFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNN1owSkJRelZETEVsQlFVa3NRMEZCUXl4RFFVRkRMRWRCUVVjc1ZVRkJWU3hIUVVGSExFTkJRVU1zUTBGQlF5eEhRVUZITEVkQlFVY3NRMEZCUXp0aFFVTm9RenRUUVVOR08xRkJSVVFzVDBGQlR5eEZRVUZETEVsQlFVa3NSVUZCUlN4SlFVRkpMRVZCUVVVc1NVRkJTU3hGUVVGRExFTkJRVU03U1VGRE5VSXNRMEZCUXp0SlFVVkVPenM3T3p0UFFVdEhPMGxCUTBzc1owTkJRV2RETzFGQlEzUkRMRTFCUVUwc1QwRkJUeXhIUVVGSExFbEJRVWtzUTBGQlF5eFZRVUZWTEVWQlFVVXNRMEZCUXp0UlFVVnNReXhOUVVGTkxFVkJRVU1zVjBGQlZ5eEZRVUZETEVkQlFVY3NTVUZCU1N4RFFVRkRPMUZCUXpOQ0xFMUJRVTBzVjBGQlZ5eEhRVUZITEVsQlFVa3NRMEZCUXl4TFFVRkxMRU5CUVVNc1UwRkJVeXhGUVVGRkxFTkJRVU03VVVGRE0wTXNTVUZCU1N4UlFVRlJMRWRCUVVjc1EwRkJReXhEUVVGRE8xRkJRMnBDTEV0QlFVc3NTVUZCU1N4RFFVRkRMRWRCUVVjc1EwRkJReXhGUVVGRkxFTkJRVU1zUjBGQlJ5eFhRVUZYTEVOQlFVTXNUVUZCVFN4RlFVRkZMRU5CUVVNc1JVRkJSU3hGUVVGRk8xbEJRek5ETEUxQlFVMHNTMEZCU3l4SFFVRkhMRmRCUVZjc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF6dFpRVU0zUWl4SlFVRkpMRkZCUVZFc1IwRkJSeXhYUVVGWExFTkJRVU1zUTBGQlF5eERRVUZETzJkQ1FVTXpRaXhSUVVGUkxFZEJRVWNzUzBGQlN5eERRVUZETzFOQlEzQkNPMUZCUlVRc1RVRkJUU3hMUVVGTExFZEJRVWNzU1VGQlNTeERRVUZETEV0QlFVc3NRMEZCUXl4SFFVRkhMRU5CUVVNc1EwRkJReXhMUVVGTExFVkJRVVVzUlVGQlJUdFpRVU55UXl4SlFVRkpMRXRCUVVzc1IwRkJSeXhSUVVGUkxFZEJRVWNzVDBGQlR6dG5Ra0ZETlVJc1QwRkJUeXhEUVVGRExFTkJRVU03TzJkQ1FVVlVMRTlCUVU4c1MwRkJTeXhEUVVGRE8xRkJRMnBDTEVOQlFVTXNRMEZCUXl4RFFVRkRPMUZCUlVnc2VVVkJRWGxGTzFGQlEzcEZMR2xGUVVGcFJUdFJRVU5xUlN4WFFVRlhPMUZCUTFnc1NVRkJTU3hEUVVGRExGTkJRVk1zUjBGQlJ5eExRVUZMTEVOQlFVTXNTMEZCU3l4RFFVRkRMRXRCUVVzc1EwRkJReXhMUVVGTExFTkJRVU1zUTBGQlF5eEhRVUZITEVOQlFVTXNSMEZCUnl4RlFVRkZPMWxCUTJwRUxFOUJRVThzUzBGQlN5eERRVUZETEV0QlFVc3NRMEZCUXl4WFFVRlhMRU5CUVVNc1EwRkJReXhIUVVGSExFTkJRVU1zUjBGQlJ5eEZRVUZGTzJkQ1FVTjJReXhQUVVGUExFdEJRVXNzUTBGQlF5eFBRVUZQTEVOQlFVTXNTVUZCU1N4RFFVRkRMRTFCUVUwc1EwRkJReXhIUVVGSExFVkJRVVVzUjBGQlJ5eERRVUZETEVWQlFVVXNRMEZCUXl4RFFVRkRMSGRDUVVGM1FqdFpRVU40UlN4RFFVRkRMRU5CUVVNc1EwRkJRenRSUVVOTUxFTkJRVU1zUTBGQlF5eERRVUZETzFGQlJVZ3NiVU5CUVcxRE8xRkJRMjVETEUxQlFVMHNUMEZCVHl4SFFVRmhMRVZCUVVVc1EwRkJRenRSUVVNM1FpeE5RVUZOTEVsQlFVa3NSMEZCWVN4RlFVRkZMRU5CUVVNN1VVRkRNVUlzVFVGQlRTeEpRVUZKTEVkQlFXRXNSVUZCUlN4RFFVRkRPMUZCUXpGQ0xFMUJRVTBzV1VGQldTeEhRVUZITEV0QlFVc3NRMEZCUXl4TlFVRk5MRVZCUVVVc1EwRkJRenRSUVVOd1F5eExRVUZMTEVsQlFVa3NRMEZCUXl4SFFVRkhMRU5CUVVNc1JVRkJSU3hEUVVGRExFZEJRVWNzV1VGQldTeERRVUZETEUxQlFVMHNSVUZCUlN4RFFVRkRMRVZCUVVVc1JVRkJSVHRaUVVNMVF5eE5RVUZOTEV0QlFVc3NSMEZCUnl4WlFVRlpMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU03V1VGRE9VSXNTVUZCU1N4TFFVRkxMRU5CUVVNc1MwRkJTeXhGUVVGRk8yZENRVU5tTEU5QlFVOHNRMEZCUXl4SlFVRkpMRU5CUVVNc1MwRkJTeXhEUVVGRExFdEJRVXNzUTBGQlF5eERRVUZETzJkQ1FVTXhRaXhKUVVGSkxFTkJRVU1zU1VGQlNTeERRVUZETEV0QlFVc3NRMEZCUXl4SFFVRkhMRU5CUVVNc1EwRkJRenRuUWtGRGNrSXNTVUZCU1N4RFFVRkRMRWxCUVVrc1EwRkJReXhMUVVGTExFTkJRVU1zUjBGQlJ5eERRVUZETEVOQlFVTTdZVUZEZEVJN1UwRkRSanRSUVVORUxFMUJRVTBzWlVGQlpTeEhRVUZITEVsQlFVa3NRMEZCUXl4dFFrRkJiVUlzUTBGQlF5eFBRVUZQTEVWQlFVVXNUMEZCVHl4RFFVRkRMRU5CUVVNN1VVRkZia1VzVDBGQlR5eEZRVUZETEVsQlFVa3NSVUZCUlN4SlFVRkpMRVZCUVVVc1pVRkJaU3hGUVVGRExFTkJRVU03U1VGRGRrTXNRMEZCUXp0SlFVVkVPenM3VDBGSFJ6dEpRVU5MTEcxQ1FVRnRRaXhEUVVGRExFOUJRV2xDTEVWQlFVVXNUMEZCWlR0UlFVTTFSQ3hOUVVGTkxFMUJRVTBzUjBGQlJ5eExRVUZMTEVOQlFVTXNUVUZCVFN4RFFVRkRMRTlCUVU4c1EwRkJReXhOUVVGTkxFVkJRVVVzUTBGQlF5eEhRVUZITEVOQlFVTXNRMEZCUXp0UlFVTnNSQ3hOUVVGTkxFZEJRVWNzUjBGQlJ5eExRVUZMTEVOQlFVTXNSMEZCUnl4RFFVRkRMRTlCUVU4c1EwRkJReXhEUVVGRE8xRkJReTlDTEUxQlFVMHNVVUZCVVN4SFFVRkhMRTlCUVU4c1EwRkJReXhIUVVGSExFTkJRVU1zUTBGQlF5eERRVUZETEVWQlFVVXNSVUZCUlN4RFFVRkRMRU5CUVVNc1EwRkJReXhIUVVGSExFZEJRVWNzUTBGQlF5eEhRVUZITEU5QlFVOHNRMEZCUXl4RFFVRkRPMUZCUTNwRUxGRkJRVkVzUTBGQlF5eFBRVUZQTEVOQlFVTXNRMEZCUXl4RFFVRkRMRVZCUVVVc1EwRkJReXhGUVVGRkxFVkJRVVU3V1VGRGVFSXNTVUZCU1N4RFFVRkRMRWRCUVVjc1EwRkJRenRuUWtGQlJTeE5RVUZOTEVOQlFVTXNRMEZCUXl4RFFVRkRMRWRCUVVjc1QwRkJUeXhIUVVGSExGRkJRVkVzUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXp0UlFVTXZReXhEUVVGRExFTkJRVU1zUTBGQlF6dFJRVU5JTEU5QlFVOHNUVUZCVFN4RFFVRkRPMGxCUTJoQ0xFTkJRVU03U1VGRlJEczdUMEZGUnp0SlFVTkxMR2xEUVVGcFF5eERRVUZETEV0QlFXbERPMUZCUTNwRkxFMUJRVTBzUTBGQlF5eE5RVUZOTEVOQlFVTXNTVUZCU1N4RFFVRkRMR2xDUVVGcFFpeEZRVUZGTEV0QlFVc3NRMEZCUXl4RFFVRkRPMGxCUXk5RExFTkJRVU03U1VGRlJEczdPMDlCUjBjN1NVRkRTeXd3UWtGQk1FSTdVVUZEYUVNc2EwSkJRV3RDTzFGQlEyeENMRTFCUVUwc1JVRkJReXhwUWtGQmFVSXNSVUZCUlN4WlFVRlpMRVZCUVVVc2EwSkJRV3RDTEVWQlFVTXNSMEZCUnl4SlFVRkpMRU5CUVVNN1VVRkZia1VzVFVGQlRTeEZRVU5LTEdWQlFXVXNSVUZEWml4aFFVRmhMRVZCUTJJc1lVRkJZU3hIUVVOa0xFZEJRVWNzU1VGQlNTeERRVUZETEdsQ1FVRnBRaXhEUVVGRE8xRkJSVE5DTEUxQlFVMHNSMEZCUnl4SFFVRkhMR0ZCUVdFc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF5eE5RVUZOTEVOQlFVTTdVVUZEY0VNc1RVRkJUU3hUUVVGVExFZEJRVWNzWVVGQllTeERRVUZETEUxQlFVMHNTMEZCU3l4aFFVRmhMRU5CUVVNc1RVRkJUU3hEUVVGRE8xRkJSV2hGTEUxQlFVMHNkVUpCUVhWQ0xFZEJRVWNzWlVGQlpTeERRVUZETEVkQlFVY3NRMEZEYWtRc1EwRkJReXhEUVVGRExFVkJRVVVzUlVGQlJTeERRVUZETEVOQlFVTXNSMEZCUnl4clFrRkJhMElzUTBGRE9VSXNRMEZCUXp0UlFVTkdMRTFCUVUwc2VVSkJRWGxDTEVkQlFVY3NRMEZCUXl4SFFVRkhMSFZDUVVGMVFpeERRVUZETEVOQlFVTTdVVUZETDBRc1RVRkJUU3hwUWtGQmFVSXNSMEZCUnl4RFFVRkRMRWRCUVVjc1pVRkJaU3hEUVVGRExFTkJRVU03VVVGRkwwTXNTVUZCU1N4RFFVRkRMR2xEUVVGcFF5eERRVUZETzFsQlEzSkRMR2xDUVVGcFFqdFpRVU5xUWl4NVFrRkJlVUk3V1VGRGVrSXNkVUpCUVhWQ08xbEJRM1pDTEZOQlFWTTdXVUZEVkN4WlFVRlpMRVZCUVVVc1dVRkJXVHRaUVVNeFFpeExRVUZMTEVWQlFVVXNXVUZCV1R0WlFVTnVRaXhMUVVGTExFVkJRVVVzYVVKQlFXbENPMWxCUTNoQ0xFZEJRVWM3VTBGRFNpeERRVUZETEVOQlFVTTdTVUZEVEN4RFFVRkRPMGxCUlVRN08wOUJSVWM3U1VGRFN5eHpRa0ZCYzBJN1VVRkROVUlzYTBKQlFXdENPMUZCUTJ4Q0xFMUJRVTBzWVVGQllTeEhRVUZITEVsQlFVa3NRMEZCUXl4VFFVRlRMRU5CUVVNN1VVRkRja01zVFVGQlRTeGhRVUZoTEVkQlFVY3NTVUZCU1N4RFFVRkRMRk5CUVZNc1EwRkJRenRSUVVWeVF5eHZSRUZCYjBRN1VVRkRjRVFzVFVGQlRTeEZRVUZETEVsQlFVa3NSVUZCUlN4SlFVRkpMRVZCUVVVc1pVRkJaU3hGUVVGRExFZEJRVWNzU1VGQlNTeERRVUZETEdsQ1FVRnBRaXhEUVVGRE8xRkJSVGRFTEUxQlFVMHNUMEZCVHl4SFFVRkhMRWxCUVVrc1EwRkJReXhWUVVGVkxFVkJRVVVzUTBGQlF6dFJRVU5zUXl4TlFVRk5MRk5CUVZNc1IwRkJSeXhKUVVGSkxFTkJRVU1zUzBGQlN5eERRVUZETEV0QlFVc3NRMEZCUXp0UlFVVnVReXhOUVVGTkxFVkJRVU1zUTBGQlF5eEZRVUZGTEVOQlFVTXNSVUZCUXl4SFFVRkhMRmxCUVZrc1EwRkJReXhKUVVGSkxFTkJRVU1zVFVGQlRTeEZRVUZGTEVsQlFVa3NRMEZCUXl4UFFVRlBMRU5CUVVNc1EwRkJRenRSUVVWMlJDeEpRVUZKTEVOQlFVTXNhVU5CUVdsRExFTkJRVU03V1VGRGNrTXNZVUZCWVR0WlFVTmlMR0ZCUVdFN1dVRkRZaXhKUVVGSk8xbEJRMG9zU1VGQlNUdFpRVU5LTEdWQlFXVTdXVUZEWml4RFFVRkRPMWxCUTBRc1EwRkJRenRaUVVORUxFOUJRVTg3V1VGRFVDeFRRVUZUTzFOQlExWXNRMEZCUXl4RFFVRkRPMGxCUTB3c1EwRkJRenRKUVVWRU96czdPenM3VDBGTlJ6dEpRVU5MTEd0Q1FVRnJRaXhEUVVGRExFTkJRVk03VVVGRGJFTXNUVUZCVFN4RlFVRkRMR2xDUVVGcFFpeEZRVUZETEVkQlFVY3NTVUZCU1N4RFFVRkRPMUZCUTJwRExFMUJRVTBzUlVGRFNpeEpRVUZKTEVWQlEwb3NTVUZCU1N4RlFVTktMR0ZCUVdFc1JVRkRZaXhoUVVGaExFVkJRMklzWlVGQlpTeEZRVU5tTEdsQ1FVRnBRaXhGUVVOcVFpeDVRa0ZCZVVJc1JVRkRla0lzZFVKQlFYVkNMRVZCUTNaQ0xGTkJRVk1zUlVGRFZDeFpRVUZaTEVWQlExb3NTMEZCU3l4RlFVTk1MRXRCUVVzc1JVRkRUQ3hEUVVGRExFVkJRMFFzUTBGQlF5eEZRVU5FTEVkQlFVY3NSVUZEU0N4UFFVRlBMRVZCUTFBc1UwRkJVeXhIUVVOV0xFZEJRVWNzYVVKQlFXbENMRU5CUVVNN1VVRkZkRUlzVFVGQlRTeFRRVUZUTEVkQlFVY3NSMEZCUnl4RFFVRkRPMUZCUlhSQ0xFdEJRVXNzU1VGQlNTeERRVUZETEVkQlFVY3NRMEZCUXl4RlFVRkZMRU5CUVVNc1IwRkJSeXhsUVVGbExFTkJRVU1zVFVGQlRTeEZRVUZGTEVOQlFVTXNSVUZCUlN4RlFVRkZPMWxCUXk5RExFbEJRVWtzYVVKQlFXbENMRU5CUVVNc1EwRkJReXhEUVVGRExFZEJRVWNzUTBGQlF6dG5Ra0ZETVVJc1UwRkJVenRaUVVkWUxFMUJRVTBzUTBGQlF5eEhRVUZITEVsQlFVa3NRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJRenRaUVVOc1FpeE5RVUZOTEVOQlFVTXNSMEZCUnl4SlFVRkpMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU03V1VGRmJFSXNUVUZCVFN4UFFVRlBMRWRCUVVjc1lVRkJZU3hEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETzFsQlEycERMRTFCUVUwc1MwRkJTeXhIUVVGSExHRkJRV0VzUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXp0WlFVVXZRaXhOUVVGTkxGZEJRVmNzUjBGQlJ5eExRVUZMTEVOQlFVTXNUMEZCVHl4RlFVRkZMRXRCUVVzc1EwRkJReXhEUVVGRE8xbEJSVEZETEVsQlFVa3NVMEZCVXl4SFFVRkhMRU5CUVVNc1EwRkJRenRaUVVOc1FpeEpRVUZKTEZkQlFWY3NSMEZCUnl4RFFVRkRMRVZCUVVVN1owSkJRMjVDTEZOQlFWTXNSMEZCUnl4RFFVRkRMRWRCUVVjc1IwRkJSeXhEUVVGRExFZEJRVWNzUTBGQlF5eEhRVUZITEVsQlFVa3NRMEZCUXl4SFFVRkhMRU5CUVVNc1YwRkJWeXhGUVVGRkxFTkJRVU1zUjBGQlJ5eEhRVUZITEVOQlFVTXNRMEZCUXp0blFrRkRNVVFzVTBGQlV5eEpRVUZKTEVOQlFVTXNSMEZCUnl4SlFVRkpMRU5CUVVNc1IwRkJSeXhEUVVGRExGZEJRVmNzUlVGQlJTeERRVUZETEVOQlFVTXNSMEZCUnl4SFFVRkhMRU5CUVVNN1lVRkRha1E3V1VGRlJDeExRVUZMTEVsQlFVa3NRMEZCUXl4SFFVRkhMRU5CUVVNc1JVRkJSU3hEUVVGRExFZEJRVWNzUjBGQlJ5eEZRVUZGTEVOQlFVTXNSVUZCUlN4RlFVRkZPMmRDUVVNMVFpeE5RVUZOTEV0QlFVc3NSMEZCUnl4SlFVRkpMRU5CUVVNc1UwRkJVeXhIUVVGSExFTkJRVU1zVDBGQlR5eERRVUZETEVOQlFVTXNRMEZCUXl4SFFVRkhMRXRCUVVzc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF5eEZRVUZGTEZOQlFWTXNRMEZCUXl4RFFVRkRPMmRDUVVOdVJTeFBRVUZQTEVOQlFVTXNRMEZCUXl4RFFVRkRMRWxCUVVrc1MwRkJTeXhIUVVGSExFdEJRVXNzUTBGQlF6dG5Ra0ZETlVJc1NVRkJTU3hUUVVGVE8yOUNRVU5ZTEV0QlFVc3NRMEZCUXl4RFFVRkRMRU5CUVVNc1NVRkJTU3hEUVVGRExFdEJRVXNzUjBGQlJ5eExRVUZMTEVOQlFVTTdZVUZET1VJN1dVRkZSQ3hwUWtGQmFVSXNRMEZCUXl4RFFVRkRMRU5CUVVNc1NVRkJTU3hsUVVGbExFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTTdXVUZGTTBNc1RVRkJUU3hYUVVGWExFZEJRVWNzU1VGQlNTeERRVUZETEV0QlFVc3NRMEZETlVJc1EwRkJReXhEUVVGRExFZEJRVWNzZVVKQlFYbENMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU1zUjBGQlJ5eDFRa0ZCZFVJc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGRGFFVXNRMEZCUXp0WlFVVkdMRXRCUVVzc1NVRkJTU3hEUVVGRExFZEJRVWNzUTBGQlF5eEZRVUZGTEVOQlFVTXNSMEZCUnl4WFFVRlhMRVZCUVVVc1EwRkJReXhGUVVGRkxFVkJRVVU3WjBKQlEzQkRMRTFCUVUwc1EwRkJReXhIUVVGSExFdEJRVXNzUTBGQlF5eFZRVUZWTEVOQlFVTXNVMEZCVXl4RlFVRkZMRWxCUVVrc1EwRkJReXhOUVVGTkxFTkJRVU1zUTBGQlF6dG5Ra0ZEYmtRc1RVRkJUU3hMUVVGTExFZEJRVWNzWVVGQllTeERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRPMmRDUVVVdlFpeE5RVUZOTEZkQlFWY3NSMEZCUnl4TFFVRkxMRU5CUVVNc1QwRkJUeXhGUVVGRkxFdEJRVXNzUTBGQlF5eERRVUZETzJkQ1FVVXhReXhKUVVGSkxGTkJRVk1zUjBGQlJ5eEhRVUZITEVOQlFVTTdaMEpCUTNCQ0xFbEJRVWtzVjBGQlZ5eEhRVUZITEVkQlFVY3NSVUZCUlR0dlFrRkRja0lzVTBGQlV5eEhRVUZITEVkQlFVY3NSMEZCUnl4TFFVRkxMRWRCUVVjc1EwRkJReXhEUVVGRE8yOUNRVU0xUWl4VFFVRlRPM2RDUVVOUUxFTkJRVU1zUzBGQlN5eEhRVUZITEZkQlFWY3NRMEZCUXl4SFFVRkhMRU5CUVVNc1EwRkJReXhIUVVGSExFbEJRVWtzUTBGQlF5eEhRVUZITEVOQlFVTXNWMEZCVnl4RlFVRkZMRU5CUVVNc1EwRkJReXhIUVVGSExFTkJRVU1zUTBGQlF5eERRVUZETzJsQ1FVTTVSRHR4UWtGQlRTeEpRVUZKTEVOQlFVTXNTMEZCU3l4RFFVRkRMRVZCUVVVN2IwSkJRMnhDTEZOQlFWTTdhVUpCUTFZN1owSkJSVVFzUzBGQlN5eEpRVUZKTEVOQlFVTXNSMEZCUnl4RFFVRkRMRVZCUVVVc1EwRkJReXhIUVVGSExFZEJRVWNzUlVGQlJTeERRVUZETEVWQlFVVXNSVUZCUlR0dlFrRkROVUlzU1VGQlNTeExRVUZMTEVkQlFVY3NSMEZCUnl4RFFVRkRPMjlDUVVOb1FpeEpRVUZKTEZOQlFWTXNSMEZCUnl4SFFVRkhPM2RDUVVOcVFpeExRVUZMTEVkQlFVY3NTVUZCU1N4RFFVRkRMRk5CUVZNc1IwRkJSeXhEUVVGRExFOUJRVThzUTBGQlF5eERRVUZETEVOQlFVTXNSMEZCUnl4TFFVRkxMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU1zUlVGQlJTeFRRVUZUTEVOQlFVTXNRMEZCUXp0dlFrRkZMMFFzVDBGQlR5eERRVUZETEVOQlFVTXNRMEZCUXl4SlFVRkpMRXRCUVVzc1IwRkJSeXhMUVVGTExFTkJRVU03YVVKQlF6ZENPMkZCUTBZN1dVRkRSQ3g1UWtGQmVVSXNRMEZCUXl4RFFVRkRMRU5CUVVNc1NVRkJTU3hYUVVGWExFZEJRVWNzZFVKQlFYVkNMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU03VTBGRE1VVTdVVUZEUkN4cFFrRkJhVUlzUTBGQlF5eExRVUZMTEVkQlFVY3NXVUZCV1N4SFFVRkhMRU5CUVVNc1IwRkJSeXhIUVVGSExFTkJRVU1zUjBGQlJ5eFBRVUZQTEVOQlFVTXNRMEZCUXp0UlFVVTNSQ3hwUWtGQmFVSXNRMEZCUXl4WlFVRlpMRWxCUVVrc1EwRkJReXhEUVVGRE8xRkJRM0JETEU5QlFVOHNZVUZCWVN4RFFVRkRPMGxCUTNaQ0xFTkJRVU03U1VGRlJEczdPenM3TzA5QlRVYzdTVUZEU3l4dFFrRkJiVUlzUTBGRGVrSXNaMEpCUVhsRUxFZEJRVWNzUlVGQlJTeERRVUZETEVsQlFVazdVVUZGYmtVc1QwRkJUeXhKUVVGSkxFOUJRVThzUTBGQlF5eERRVUZETEU5QlFVOHNSVUZCUlN4TlFVRk5MRVZCUVVVc1JVRkJSVHRaUVVOeVF5eE5RVUZOTEVsQlFVa3NSMEZCUnl4TFFVRkxMRWxCUVVrc1JVRkJSVHRuUWtGRGRFSXNTVUZCU1R0dlFrRkRSaXhOUVVGTkxFVkJRVU1zVDBGQlR5eEZRVUZGTEZsQlFWa3NSVUZCUXl4SFFVRkhMRWxCUVVrc1EwRkJReXhwUWtGQmFVSXNRMEZCUXp0dlFrRkRka1FzU1VGQlNTeERRVUZETEZOQlFWTXNSMEZCUnl4SlFVRkpMRU5CUVVNc2EwSkJRV3RDTEVOQlFVTXNXVUZCV1N4RFFVRkRMRU5CUVVNN2IwSkJRM1pFTEUxQlFVMHNZMEZCWXl4SFFVRkhMRWxCUVVrc1EwRkJReXhwUWtGQmFVSXNRMEZCUXl4WlFVRlpMRU5CUVVNN2IwSkJRek5FTEUxQlFVMHNWVUZCVlN4SFFVRkhMR0ZCUVdFc1EwRkJReXhqUVVGakxFTkJRVU1zUzBGQlN5eExRVUZMTEVOQlFVTTdiMEpCUXpORUxFMUJRVTBzVlVGQlZTeEhRVUZITEdOQlFXTXNTMEZCU3l4UFFVRlBMRU5CUVVNN2IwSkJRemxETEVsQlFVa3NRMEZCUXl4VlFVRlZMRWxCUVVrc1EwRkJReXhWUVVGVk8zZENRVU0xUWl4VlFVRlZMRU5CUVVNc1IwRkJSeXhGUVVGRkxFTkJRVU1zU1VGQlNTeEZRVUZGTEVWQlFVVXNRMEZCUXl4RFFVRkRMRU5CUVVNN08zZENRVVUxUWl4UFFVRlBMRTlCUVU4c1EwRkJReXhWUVVGVkxFTkJRVU1zUTBGQlF6dHBRa0ZET1VJN1owSkJRVU1zVDBGQlR5eEhRVUZITEVWQlFVVTdiMEpCUTFvc1RVRkJUU3hEUVVGRExFZEJRVWNzUTBGQlF5eERRVUZETzJsQ1FVTmlPMWxCUTBnc1EwRkJReXhEUVVGRE8xbEJRMFlzVlVGQlZTeERRVUZETEVkQlFVY3NSVUZCUlN4RFFVRkRMRWxCUVVrc1JVRkJSU3hGUVVGRkxFTkJRVU1zUTBGQlF5eERRVUZETzFGQlF6bENMRU5CUVVNc1EwRkJReXhEUVVGRE8wbEJRMHdzUTBGQlF6dEpRVVZFT3pzN096czdUMEZOUnp0SlFVTkxMR05CUVdNc1EwRkRjRUlzWjBKQlFYbEVMRWRCUVVjc1JVRkJSU3hEUVVGRExFbEJRVWs3VVVGRmJrVXNTVUZCU1N4VlFVRlZMRWRCUVVjc1MwRkJTeXhEUVVGRE8xRkJRM1pDTEVsQlFVa3NVMEZCVXl4SFFVRlpMRVZCUVVVc1EwRkJRenRSUVVNMVFpeFBRVUZQTEVOQlFVTXNWVUZCVlN4RlFVRkZPMWxCUTJ4Q0xFMUJRVTBzUlVGQlF5eFBRVUZQTEVWQlFVVXNXVUZCV1N4RlFVRkRMRWRCUVVjc1NVRkJTU3hEUVVGRExHbENRVUZwUWl4RFFVRkRPMWxCUTNaRUxGTkJRVk1zUjBGQlJ5eEpRVUZKTEVOQlFVTXNhMEpCUVd0Q0xFTkJRVU1zV1VGQldTeERRVUZETEVOQlFVTTdXVUZEYkVRc1RVRkJUU3hqUVVGakxFZEJRVWNzU1VGQlNTeERRVUZETEdsQ1FVRnBRaXhEUVVGRExGbEJRVmtzUTBGQlF6dFpRVU16UkN4TlFVRk5MRlZCUVZVc1IwRkJSeXhoUVVGaExFTkJRVU1zWTBGQll5eERRVUZETEV0QlFVc3NTMEZCU3l4RFFVRkRPMWxCUXpORUxGVkJRVlVzUjBGQlJ5eGpRVUZqTEV0QlFVc3NUMEZCVHl4SlFVRkpMRlZCUVZVc1EwRkJRenRUUVVOMlJEdFJRVU5FTEU5QlFVOHNVMEZCVXl4RFFVRkRPMGxCUTI1Q0xFTkJRVU03U1VGRlJEczdPMDlCUjBjN1NVRkRTU3hWUVVGVk8xRkJRMllzVFVGQlRTeExRVUZMTEVkQlFVY3NTVUZCU1N4RFFVRkRMRXRCUVVzc1EwRkJRenRSUVVWNlFpeEpRVUZKTEVsQlFVa3NRMEZCUXl4UFFVRlBMRWRCUVVjc1EwRkJRenRaUVVOc1FpeFBRVUZQTEVsQlFVa3NRMEZCUXl4UFFVRlBMRU5CUVVNN1VVRkhkRUlzU1VGQlNTeERRVUZETEV0QlFVczdXVUZEVWl4UFFVRlBMRWRCUVVjc1EwRkJRenRSUVVkaUxFMUJRVTBzVFVGQlRTeEhRVUZITEV0QlFVc3NRMEZCUXl4TFFVRkxMRU5CUVVNN1VVRkRNMElzU1VGQlNTeE5RVUZOTEVsQlFVa3NTVUZCU1R0WlFVTm9RaXhQUVVGUExFZEJRVWNzUTBGQlF6dGhRVU5TTEVsQlFVa3NUVUZCVFN4SlFVRkpMRWxCUVVrN1dVRkRja0lzVDBGQlR5eEhRVUZITEVOQlFVTTdZVUZEVWl4SlFVRkpMRTFCUVUwc1NVRkJTU3hKUVVGSk8xbEJRM0pDTEU5QlFVOHNSMEZCUnl4RFFVRkRPenRaUVVWWUxFOUJRVThzUjBGQlJ5eERRVUZETzBsQlEyWXNRMEZCUXp0RFFVTkdPMEZCUlVRc1RVRkJUU3hWUVVGVkxGTkJRVk1zUTBGQlF5eERRVUZUTEVWQlFVVXNRMEZCVXp0SlFVTTFReXhKUVVGSkxFMUJRVTBzUjBGQlJ5eERRVUZETEVOQlFVTTdTVUZEWml4TFFVRkxMRWxCUVVrc1EwRkJReXhIUVVGSExFTkJRVU1zUlVGQlJTeERRVUZETEVkQlFVY3NRMEZCUXl4RFFVRkRMRTFCUVUwc1JVRkJSU3hEUVVGRExFVkJRVVU3VVVGREwwSXNUVUZCVFN4SlFVRkpMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF5eEhRVUZITEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJReXhKUVVGSkxFTkJRVU1zUTBGQlF6dEpRVVV2UWl4UFFVRlBMRWxCUVVrc1EwRkJReXhKUVVGSkxFTkJRVU1zVFVGQlRTeERRVUZETEVOQlFVTTdRVUZETTBJc1EwRkJRenRCUVVWRUxFMUJRVTBzVlVGQlZTeFBRVUZQTEVOQlFVTXNRMEZCVXl4RlFVRkZMRU5CUVZNN1NVRkRNVU1zVFVGQlRTeE5RVUZOTEVkQlFVY3NTVUZCU1N4RFFVRkRMRWRCUVVjc1EwRkJReXhEUVVGRExFZEJRVWNzUTBGQlF5eERRVUZETEVOQlFVTTdTVUZETDBJc1QwRkJUeXhOUVVGTkxFTkJRVU03UVVGRGFFSXNRMEZCUXp0QlFVVkVMRTFCUVUwc1ZVRkJWU3hOUVVGTkxFTkJRVU1zUTBGQlV5eEZRVUZGTEVOQlFWTTdTVUZEZWtNc1NVRkJTU3hOUVVGTkxFZEJRVWNzUjBGQlJ5eERRVUZETzBsQlEycENMRWxCUVVrc1MwRkJTeXhIUVVGSExFZEJRVWNzUTBGQlF6dEpRVU5vUWl4SlFVRkpMRXRCUVVzc1IwRkJSeXhIUVVGSExFTkJRVU03U1VGRmFFSXNTMEZCU3l4SlFVRkpMRU5CUVVNc1IwRkJSeXhEUVVGRExFVkJRVVVzUTBGQlF5eEhRVUZITEVOQlFVTXNRMEZCUXl4TlFVRk5MRVZCUVVVc1EwRkJReXhGUVVGRkxFVkJRVVU3VVVGRGFrTXNUVUZCVFN4SlFVRkpMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU1zUjBGQlJ5eERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNN1VVRkRkRUlzUzBGQlN5eEpRVUZKTEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNc1NVRkJTU3hEUVVGRExFTkJRVU03VVVGRGJrSXNTMEZCU3l4SlFVRkpMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU1zU1VGQlNTeERRVUZETEVOQlFVTTdTMEZEY0VJN1NVRkZSQ3hKUVVGSkxFdEJRVXNzUzBGQlN5eERRVUZETEVsQlFVa3NTMEZCU3l4TFFVRkxMRU5CUVVNN1VVRkROVUlzVDBGQlR5eERRVUZETEVOQlFVTTdVMEZEVGl4SlFVRkpMRXRCUVVzc1MwRkJTeXhEUVVGRExFbEJRVWtzUzBGQlN5eExRVUZMTEVOQlFVTTdVVUZEYWtNc1QwRkJUeXhIUVVGSExFTkJRVU03TzFGQlJWZ3NUMEZCVHl4SFFVRkhMRWRCUVVjc1RVRkJUU3hIUVVGSExFbEJRVWtzUTBGQlF5eEpRVUZKTEVOQlFVTXNTMEZCU3l4SFFVRkhMRXRCUVVzc1EwRkJReXhEUVVGRE8wRkJRMjVFTEVOQlFVTTdRVUZGUkRzN08wZEJSMGM3UVVGRFNDeE5RVUZOTEdsQ1FVRnBRanRKUVVOeVFpeFpRVUZaTEVkQlFVY3NRMEZCUXl4RFFVRkRPMGxCUldwQ0xEQkRRVUV3UXp0SlFVTXhReXhoUVVGaExFZEJRV1VzUlVGQlJTeERRVUZETzBsQlF5OUNMR0ZCUVdFc1IwRkJaU3hGUVVGRkxFTkJRVU03U1VGREwwSXNTVUZCU1N4SFFVRmhMRVZCUVVVc1EwRkJRenRKUVVOd1FpeEpRVUZKTEVkQlFXRXNSVUZCUlN4RFFVRkRPMGxCUTNCQ0xHVkJRV1VzUjBGQllTeEZRVUZGTEVOQlFVTTdTVUZETDBJc2FVSkJRV2xDTEVkQlFXRXNSVUZCUlN4RFFVRkRPMGxCUTJwRExIbENRVUY1UWl4SFFVRmhMRVZCUVVVc1EwRkJRenRKUVVONlF5eDFRa0ZCZFVJc1IwRkJZU3hGUVVGRkxFTkJRVU03U1VGRGRrTXNVMEZCVXl4SFFVRkhMRWxCUVVrc1EwRkJRenRKUVVOcVFpeFpRVUZaTEVkQlFVY3NSMEZCUnl4RFFVRkRPMGxCUTI1Q0xFdEJRVXNzUjBGQlJ5eEhRVUZITEVOQlFVTTdTVUZEV2l4TFFVRkxMRWRCUVVjc1IwRkJSeXhEUVVGRE8wbEJRMW9zUTBGQlF5eEhRVUZITEd0Q1FVRnJRaXhEUVVGRE8wbEJRM1pDTEVOQlFVTXNSMEZCUnl4clFrRkJhMElzUTBGQlF6dEpRVU4yUWl4SFFVRkhMRWRCUVVjc1EwRkJReXhEUVVGRE8wbEJRMUlzVDBGQlR5eEhRVUZITEVkQlFVY3NRMEZCUXp0SlFVTmtMRk5CUVZNc1IwRkJSeXhEUVVGRExFTkJRVU03UTBGRFpqdEJRVVZFT3p0SFFVVkhPMEZCUTBnc1UwRkJVeXhKUVVGSkxFTkJRVU1zUTBGQlV5eEZRVUZGTEZOQlFXbENPMGxCUTNoRExFbEJRVWtzUTBGQlF5eEhRVUZITEZOQlFWTTdVVUZCUlN4UFFVRlBMRk5CUVZNc1EwRkJRenRUUVVNdlFpeEpRVUZKTEVOQlFVTXNSMEZCUnl4RFFVRkRMRk5CUVZNN1VVRkJSU3hQUVVGUExFTkJRVU1zVTBGQlV5eERRVUZET3p0UlFVTjBReXhQUVVGUExFTkJRVU1zUTBGQlF6dEJRVU5vUWl4RFFVRkRPMEZCUlVRN08wZEJSVWM3UVVGRFNDeFRRVUZUTEV0QlFVc3NRMEZCUXl4RFFVRlhMRVZCUVVVc1EwRkJWenRKUVVOeVF5eEpRVUZKTEUxQlFVMHNSMEZCUnl4SFFVRkhMRU5CUVVNN1NVRkRha0lzUzBGQlN5eEpRVUZKTEVOQlFVTXNSMEZCUnl4RFFVRkRMRVZCUVVVc1EwRkJReXhIUVVGSExFTkJRVU1zUTBGQlF5eE5RVUZOTEVWQlFVVXNRMEZCUXl4RlFVRkZPMUZCUXk5Q0xFMUJRVTBzU1VGQlNTeEpRVUZKTEVOQlFVTXNSMEZCUnl4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU1zUjBGQlJ5eERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRMRVZCUVVVc1EwRkJReXhEUVVGRExFTkJRVU03U1VGRmNrTXNUMEZCVHl4TlFVRk5MRU5CUVVNN1FVRkRhRUlzUTBGQlF6dEJRVVZFT3pzN096dEhRVXRITzBGQlEwZ3NUVUZCVFN4VlFVRlZMRmxCUVZrc1EwRkJReXhOUVVGakxFVkJRVVVzVDBGQlpUdEpRVU14UkN4TlFVRk5MRXRCUVVzc1IwRkJSeXhEUVVGRExFTkJRVU1zUTBGQlF5eEZRVUZGTEVOQlFVTXNRMEZCVnl4RlFVRkZMRVZCUVVVc1EwRkJReXhEUVVGRExFTkJRVk1zUlVGQlJTeEZRVUZGTzFGQlEyaEVMRTlCUVU4c1IwRkJSeXhIUVVGSExFTkJRVU1zUjBGQlJ5eEhRVUZITEVOQlFVTXNSMEZCUnl4RFFVRkRMRWxCUVVrc1EwRkJReXhEUVVGRExFZEJRVWNzUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXp0SlFVTjRReXhEUVVGRExFTkJRVU03U1VGRlJpeE5RVUZOTEVWQlFVVXNSMEZCUnl4TFFVRkxPMU5CUTJJc1RVRkJUU3hEUVVGRExFTkJRVU1zUlVGQlJTeE5RVUZOTEVkQlFVY3NRMEZCUXl4RlFVRkZMRWRCUVVjc1EwRkJRenRUUVVNeFFpeEhRVUZITEVOQlFVTXNRMEZCUXl4SFFVRkhMRVZCUVVVc1JVRkJSU3hEUVVGRExFTkJRVU1zUjBGQlJ5eEhRVUZITEU5QlFVOHNRMEZCUXl4RFFVRkRMRU5CUVVNc1IwRkJSeXhEUVVGRExFTkJRVU1zUTBGQlF5eEhRVUZITEVOQlFVTXNRMEZCUXl4RFFVRkRPMGxCUlRkRExFMUJRVTBzUlVGQlJTeEhRVUZITEV0QlFVc3NRMEZCUXl4TFFVRkxMRU5CUVVNc1JVRkJSU3hEUVVGRExFMUJRVTBzUTBGQlF5eERRVUZETEVkQlFVY3NRMEZCUXl4RFFVRkRMRWRCUVVjc1JVRkJSU3hMUVVGTExFVkJRVVVzUlVGQlJUdFJRVU51UkN4TlFVRk5MRWRCUVVjc1IwRkJSeXhGUVVGRkxFTkJRVU1zUzBGQlN5eERRVUZETEVsQlFVa3NUMEZCVHl4RFFVRkRPMUZCUTJwRExFOUJRVThzUjBGQlJ5eERRVUZETEVOQlFVTXNRMEZCUXl4SlFVRkpMRU5CUVVNc1IwRkJSeXhEUVVGRExFTkJRVU1zUTBGQlF5eEZRVUZGTEVOQlFVTXNTMEZCU3l4RFFVRkRMRWRCUVVjc1QwRkJUeXhEUVVGRExFZEJRVWNzVFVGQlRTeERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRMRWRCUVVjc1EwRkJRenRKUVVNdlJDeERRVUZETEVOQlFVTXNRMEZCUXp0SlFVVklMRTFCUVUwc1lVRkJZU3hIUVVGSExFTkJRVU1zUjBGQlJ5eEZRVUZGTEVkQlFVY3NRMEZCUXl4RFFVRkRPMGxCUTJwRExFMUJRVTBzU1VGQlNTeEhRVUZITEVWQlFVTXNRMEZCUXl4RlFVRkZMRVZCUVVVc1JVRkJSU3hEUVVGRExFVkJRVVVzUlVGQlJTeEZRVUZETEVOQlFVTTdTVUZGTlVJc01FUkJRVEJFTzBsQlF6RkVMRTFCUVUwc1QwRkJUeXhIUVVGSE8xRkJRMlFzVDBGQlR5eEZRVUZGTEVkQlFVYzdVVUZEV2l4aFFVRmhPMUZCUTJJc2EwSkJRV3RDTEVWQlFVVXNTMEZCU3p0UlFVTjZRaXhoUVVGaExFVkJRVVVzUjBGQlJ6dFJRVU5zUWl4alFVRmpMRVZCUVVVc1MwRkJTenRMUVVOMFFpeERRVUZETzBsQlJVWXNiVU5CUVcxRE8wbEJRMjVETEUxQlFVMHNSVUZCUXl4bFFVRmxMRVZCUVVNc1IwRkJSeXhGUVVGRkxFTkJRVU1zU1VGQlNTeEZRVUZGTEV0QlFVc3NSVUZCUlN4UFFVRlBMRU5CUVVNc1EwRkJRenRKUVVOdVJDeE5RVUZOTEVOQlFVTXNRMEZCUXl4RlFVRkZMRU5CUVVNc1EwRkJReXhIUVVGSExHVkJRVEpDTEVOQlFVTTdTVUZETTBNc1QwRkJUeXhGUVVGRExFTkJRVU1zUlVGQlJTeERRVUZETEVWQlFVTXNRMEZCUXp0QlFVTm9RaXhEUVVGRE8wRkJSVVE3T3p0SFFVZEhPMEZCUTBnc1RVRkJUU3hWUVVGVkxHZENRVUZuUWl4RFFVTTVRaXhMUVVFd1FpeEZRVU14UWl4TlFVRm5RaXhGUVVOb1FpeFhRVUZYTEVkQlFVY3NSMEZCUnl4RlFVTnFRaXhQUVVGUExFZEJRVWNzUjBGQlJ6dEpRVVZpTEU5QlFVOHNTMEZCU3l4RFFVRkRMRWRCUVVjc1EwRkJReXhEUVVGRExFdEJRVXNzUlVGQlJTeEhRVUZITEVWQlFVVXNSMEZCUnl4RlFVRkZMRVZCUVVVN1VVRkRia01zU1VGQlNTeE5RVUZOTEVOQlFVTXNSMEZCUnl4RFFVRkRMRXRCUVVzc1EwRkJReXhEUVVGRExFbEJRVWtzVFVGQlRTeERRVUZETEVkQlFVY3NRMEZCUXl4TFFVRkxMRU5CUVVNc1EwRkJRenRaUVVNeFF5eFBRVUZQTEV0QlFVc3NSMEZCUnl4SlFVRkpMRU5CUVVNc1IwRkJSeXhEUVVGRExFTkJRVU1zVjBGQlZ5eERRVUZETEVOQlFVTTdZVUZEYmtNc1NVRkJTU3hOUVVGTkxFTkJRVU1zUjBGQlJ5eERRVUZETEV0QlFVc3NUVUZCVFN4RFFVRkRMRWRCUVVjc1EwRkJRenRaUVVOc1F5eFBRVUZQTEV0QlFVc3NSMEZCUnl4SlFVRkpMRU5CUVVNc1IwRkJSeXhEUVVGRExFTkJRVU1zVDBGQlR5eERRVUZETEVOQlFVTTdPMWxCUld4RExFOUJRVThzUzBGQlN5eERRVUZETzBsQlEycENMRU5CUVVNc1EwRkJReXhEUVVGRE8wRkJRMHdzUTBGQlF6dEJRVVZFT3pzN096dEhRVXRITzBGQlEwZ3NUVUZCVFN4VlFVRlZMSE5DUVVGelFpeERRVUZETEdGQlFXdERPMGxCUTNaRkxHRkJRV0VzUjBGQlJ5eE5RVUZOTEVOQlFVTXNVMEZCVXl4RFFVRkRMR0ZCUVdFc2EwTkJRWE5DTEVOQlFVTTdTVUZEY2tVc1RVRkJUU3hUUVVGVExFZEJRVWNzVFVGQlRTeERRVUZETEZOQlFWTXNRMEZCUXl4aFFVRmhMRU5CUVVNc1EwRkJRenRKUVVOc1JDeE5RVUZOTEZWQlFWVXNSMEZCUnl4TlFVRk5MRU5CUVVNc1owSkJRV2RDTEVOQlFVTXNVMEZCVXl4RlFVRkZMR0ZCUVdFc1EwRkJReXhEUVVGRE8wbEJRM0pGTEdGQlFXRXNSMEZCUnl4TlFVRk5MRU5CUVVNc1IwRkJSeXhEUVVONFFpeGhRVUZoTEVWQlEySXNUVUZCVFN4RFFVRkRMRkZCUVZFc1EwRkJReXhUUVVGVExFVkJRVVVzVlVGQlZTeERRVUZETEVOQlEzWkRMRU5CUVVNN1NVRkRSaXhQUVVGUExFMUJRVTBzUTBGQlF5eGpRVUZqTEVOQlFVTXNZVUZCWVN4RFFVRkRMRU5CUVVNN1FVRkRPVU1zUTBGQlF6dEJRVVZFT3pzN08wZEJTVWM3UVVGRFNDeE5RVUZOTEZWQlFWVXNZVUZCWVN4RFFVTXpRaXhQUVVGdFFpeEZRVU51UWl4UFFVRnRRaXhGUVVOdVFpeFRRVUZyUWp0SlFVVnNRaXhOUVVGTkxFMUJRVTBzUjBGQlJ5eExRVUZMTzFOQlEycENMRXRCUVVzc1EwRkJReXhQUVVGUExFTkJRVU1zVFVGQlRTeERRVUZETzFOQlEzSkNMRWRCUVVjc1EwRkJReXhEUVVGRExFVkJRVVVzUlVGQlJTeEZRVUZGTEVOQlFVTXNTMEZCU3l4RFFVRkRMRXRCUVVzc1EwRkJReXhUUVVGVExFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTXNUVUZCVFN4RFFVRkRMRU5CUVVNc1EwRkJRenRKUVVWcVJDeExRVUZMTEVsQlFVa3NRMEZCUXl4SFFVRkhMRU5CUVVNc1JVRkJSU3hEUVVGRExFZEJRVWNzVDBGQlR5eERRVUZETEUxQlFVMHNSVUZCUlN4RFFVRkRMRVZCUVVVc1JVRkJSVHRSUVVOMlF5eExRVUZMTEVsQlFVa3NRMEZCUXl4SFFVRkhMRU5CUVVNc1JVRkJSU3hEUVVGRExFZEJRVWNzVDBGQlR5eERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRMRTFCUVUwc1JVRkJSU3hEUVVGRExFVkJRVVVzUlVGQlJUdFpRVU14UXl4TFFVRkxMRWxCUVVrc1EwRkJReXhIUVVGSExFTkJRVU1zUlVGQlJTeERRVUZETEVkQlFVY3NVMEZCVXl4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRExFMUJRVTBzUlVGQlJTeERRVUZETEVWQlFVVXNSVUZCUlR0blFrRkROVU1zVFVGQlRTeERRVUZETEVkQlFVY3NUMEZCVHl4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETzJkQ1FVTjRRaXhOUVVGTkxFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRMRWxCUVVrc1QwRkJUeXhEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXl4SFFVRkhMRk5CUVZNc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXp0aFFVTnFSRHRUUVVOR08wdEJRMFk3U1VGRFJDeFBRVUZQTEUxQlFVMHNRMEZCUXp0QlFVTm9RaXhEUVVGRElpd2ljMjkxY21ObGMwTnZiblJsYm5RaU9sc2lMeW9nWlhOc2FXNTBMV1JwYzJGaWJHVWdiV0Y0TFd4bGJpQXFMMXh1THlvcVhHNGdLaUJBYkdsalpXNXpaVnh1SUNwY2JpQXFJRU52Y0hseWFXZG9kQ0F5TURFNUlFZHZiMmRzWlNCTVRFTXVJRUZzYkNCU2FXZG9kSE1nVW1WelpYSjJaV1F1WEc0Z0tseHVJQ29nVEdsalpXNXpaV1FnZFc1a1pYSWdkR2hsSUVGd1lXTm9aU0JNYVdObGJuTmxMQ0JXWlhKemFXOXVJREl1TUNBb2RHaGxJRndpVEdsalpXNXpaVndpS1R0Y2JpQXFJSGx2ZFNCdFlYa2dibTkwSUhWelpTQjBhR2x6SUdacGJHVWdaWGhqWlhCMElHbHVJR052YlhCc2FXRnVZMlVnZDJsMGFDQjBhR1VnVEdsalpXNXpaUzVjYmlBcUlGbHZkU0J0WVhrZ2IySjBZV2x1SUdFZ1kyOXdlU0J2WmlCMGFHVWdUR2xqWlc1elpTQmhkRnh1SUNwY2JpQXFJQ0FnSUNCb2RIUndPaTh2ZDNkM0xtRndZV05vWlM1dmNtY3ZiR2xqWlc1elpYTXZURWxEUlU1VFJTMHlMakJjYmlBcVhHNGdLaUJWYm14bGMzTWdjbVZ4ZFdseVpXUWdZbmtnWVhCd2JHbGpZV0pzWlNCc1lYY2diM0lnWVdkeVpXVmtJSFJ2SUdsdUlIZHlhWFJwYm1jc0lITnZablIzWVhKbFhHNGdLaUJrYVhOMGNtbGlkWFJsWkNCMWJtUmxjaUIwYUdVZ1RHbGpaVzV6WlNCcGN5QmthWE4wY21saWRYUmxaQ0J2YmlCaGJpQmNJa0ZUSUVsVFhDSWdRa0ZUU1ZNc1hHNGdLaUJYU1ZSSVQxVlVJRmRCVWxKQlRsUkpSVk1nVDFJZ1EwOU9SRWxVU1U5T1V5QlBSaUJCVGxrZ1MwbE9SQ3dnWldsMGFHVnlJR1Y0Y0hKbGMzTWdiM0lnYVcxd2JHbGxaQzVjYmlBcUlGTmxaU0IwYUdVZ1RHbGpaVzV6WlNCbWIzSWdkR2hsSUhOd1pXTnBabWxqSUd4aGJtZDFZV2RsSUdkdmRtVnlibWx1WnlCd1pYSnRhWE56YVc5dWN5QmhibVJjYmlBcUlHeHBiV2wwWVhScGIyNXpJSFZ1WkdWeUlIUm9aU0JNYVdObGJuTmxMbHh1SUNvZ1BUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5WEc0Z0tpOWNibHh1THlvcVhHNGdLaUJVYUdseklHbHpJR0VnU21GMllWTmpjbWx3ZENCeVpXbHRjR3hsYldWdWRHRjBhVzl1SUc5bUlGVk5RVkFnS0c5eWFXZHBibUZzSUd4cFkyVnVjMlVnWW1Wc2IzY3BMQ0JtY205dFhHNGdLaUIwYUdVZ2NIbDBhRzl1SUdsdGNHeGxiV1Z1ZEdGMGFXOXVJR1p2ZFc1a0lHRjBJR2gwZEhCek9pOHZaMmwwYUhWaUxtTnZiUzlzYldOcGJtNWxjeTkxYldGd0xseHVJQ3BjYmlBcUlFQmhkWFJvYjNJZ1lXNWtlV052Wlc1bGJrQm5iMjluYkdVdVkyOXRJQ2hCYm1SNUlFTnZaVzVsYmlsY2JpQXFMMXh1WEc0dktpcGNiaUFxSUVCc2FXTmxibk5sWEc0Z0tpQkNVMFFnTXkxRGJHRjFjMlVnVEdsalpXNXpaVnh1SUNwY2JpQXFJRU52Y0hseWFXZG9kQ0FvWXlrZ01qQXhOeXdnVEdWc1lXNWtJRTFqU1c1dVpYTmNiaUFxSUVGc2JDQnlhV2RvZEhNZ2NtVnpaWEoyWldRdVhHNGdLbHh1SUNvZ1VtVmthWE4wY21saWRYUnBiMjRnWVc1a0lIVnpaU0JwYmlCemIzVnlZMlVnWVc1a0lHSnBibUZ5ZVNCbWIzSnRjeXdnZDJsMGFDQnZjaUIzYVhSb2IzVjBYRzRnS2lCdGIyUnBabWxqWVhScGIyNHNJR0Z5WlNCd1pYSnRhWFIwWldRZ2NISnZkbWxrWldRZ2RHaGhkQ0IwYUdVZ1ptOXNiRzkzYVc1bklHTnZibVJwZEdsdmJuTWdZWEpsSUcxbGREcGNiaUFxWEc0Z0tpQXFJRkpsWkdsemRISnBZblYwYVc5dWN5QnZaaUJ6YjNWeVkyVWdZMjlrWlNCdGRYTjBJSEpsZEdGcGJpQjBhR1VnWVdKdmRtVWdZMjl3ZVhKcFoyaDBJRzV2ZEdsalpTd2dkR2hwYzF4dUlDb2dJQ0JzYVhOMElHOW1JR052Ym1ScGRHbHZibk1nWVc1a0lIUm9aU0JtYjJ4c2IzZHBibWNnWkdselkyeGhhVzFsY2k1Y2JpQXFYRzRnS2lBcUlGSmxaR2x6ZEhKcFluVjBhVzl1Y3lCcGJpQmlhVzVoY25rZ1ptOXliU0J0ZFhOMElISmxjSEp2WkhWalpTQjBhR1VnWVdKdmRtVWdZMjl3ZVhKcFoyaDBJRzV2ZEdsalpTeGNiaUFxSUNBZ2RHaHBjeUJzYVhOMElHOW1JR052Ym1ScGRHbHZibk1nWVc1a0lIUm9aU0JtYjJ4c2IzZHBibWNnWkdselkyeGhhVzFsY2lCcGJpQjBhR1VnWkc5amRXMWxiblJoZEdsdmJseHVJQ29nSUNCaGJtUXZiM0lnYjNSb1pYSWdiV0YwWlhKcFlXeHpJSEJ5YjNacFpHVmtJSGRwZEdnZ2RHaGxJR1JwYzNSeWFXSjFkR2x2Ymk1Y2JpQXFYRzRnS2lBcUlFNWxhWFJvWlhJZ2RHaGxJRzVoYldVZ2IyWWdkR2hsSUdOdmNIbHlhV2RvZENCb2IyeGtaWElnYm05eUlIUm9aU0J1WVcxbGN5QnZaaUJwZEhOY2JpQXFJQ0FnWTI5dWRISnBZblYwYjNKeklHMWhlU0JpWlNCMWMyVmtJSFJ2SUdWdVpHOXljMlVnYjNJZ2NISnZiVzkwWlNCd2NtOWtkV04wY3lCa1pYSnBkbVZrSUdaeWIyMWNiaUFxSUNBZ2RHaHBjeUJ6YjJaMGQyRnlaU0IzYVhSb2IzVjBJSE53WldOcFptbGpJSEJ5YVc5eUlIZHlhWFIwWlc0Z2NHVnliV2x6YzJsdmJpNWNiaUFxWEc0Z0tpQlVTRWxUSUZOUFJsUlhRVkpGSUVsVElGQlNUMVpKUkVWRUlFSlpJRlJJUlNCRFQxQlpVa2xIU0ZRZ1NFOU1SRVZTVXlCQlRrUWdRMDlPVkZKSlFsVlVUMUpUSUZ3aVFWTWdTVk5jSWx4dUlDb2dRVTVFSUVGT1dTQkZXRkJTUlZOVElFOVNJRWxOVUV4SlJVUWdWMEZTVWtGT1ZFbEZVeXdnU1U1RFRGVkVTVTVITENCQ1ZWUWdUazlVSUV4SlRVbFVSVVFnVkU4c0lGUklSVnh1SUNvZ1NVMVFURWxGUkNCWFFWSlNRVTVVU1VWVElFOUdJRTFGVWtOSVFVNVVRVUpKVEVsVVdTQkJUa1FnUmtsVVRrVlRVeUJHVDFJZ1FTQlFRVkpVU1VOVlRFRlNJRkJWVWxCUFUwVWdRVkpGWEc0Z0tpQkVTVk5EVEVGSlRVVkVMaUJKVGlCT1R5QkZWa1ZPVkNCVFNFRk1UQ0JVU0VVZ1EwOVFXVkpKUjBoVUlFaFBURVJGVWlCUFVpQkRUMDVVVWtsQ1ZWUlBVbE1nUWtVZ1RFbEJRa3hGWEc0Z0tpQkdUMUlnUVU1WklFUkpVa1ZEVkN3Z1NVNUVTVkpGUTFRc0lFbE9RMGxFUlU1VVFVd3NJRk5RUlVOSlFVd3NJRVZZUlUxUVRFRlNXU3dnVDFJZ1EwOU9VMFZSVlVWT1ZFbEJURnh1SUNvZ1JFRk5RVWRGVXlBb1NVNURURlZFU1U1SExDQkNWVlFnVGs5VUlFeEpUVWxVUlVRZ1ZFOHNJRkJTVDBOVlVrVk5SVTVVSUU5R0lGTlZRbE5VU1ZSVlZFVWdSMDlQUkZNZ1QxSmNiaUFxSUZORlVsWkpRMFZUT3lCTVQxTlRJRTlHSUZWVFJTd2dSRUZVUVN3Z1QxSWdVRkpQUmtsVVV6c2dUMUlnUWxWVFNVNUZVMU1nU1U1VVJWSlNWVkJVU1U5T0tTQklUMWRGVmtWU1hHNGdLaUJEUVZWVFJVUWdRVTVFSUU5T0lFRk9XU0JVU0VWUFVsa2dUMFlnVEVsQlFrbE1TVlJaTENCWFNFVlVTRVZTSUVsT0lFTlBUbFJTUVVOVUxDQlRWRkpKUTFRZ1RFbEJRa2xNU1ZSWkxGeHVJQ29nVDFJZ1ZFOVNWQ0FvU1U1RFRGVkVTVTVISUU1RlIweEpSMFZPUTBVZ1QxSWdUMVJJUlZKWFNWTkZLU0JCVWtsVFNVNUhJRWxPSUVGT1dTQlhRVmtnVDFWVUlFOUdJRlJJUlNCVlUwVmNiaUFxSUU5R0lGUklTVk1nVTA5R1ZGZEJVa1VzSUVWV1JVNGdTVVlnUVVSV1NWTkZSQ0JQUmlCVVNFVWdVRTlUVTBsQ1NVeEpWRmtnVDBZZ1UxVkRTQ0JFUVUxQlIwVXVYRzRnS2k5Y2JseHVhVzF3YjNKMElDb2dZWE1nYUdWaGNDQm1jbTl0SUNjdUwyaGxZWEFuTzF4dWFXMXdiM0owSUNvZ1lYTWdiV0YwY21sNElHWnliMjBnSnk0dmJXRjBjbWw0Snp0Y2JtbHRjRzl5ZENBcUlHRnpJRzV1UkdWelkyVnVkQ0JtY205dElDY3VMMjV1WDJSbGMyTmxiblFuTzF4dWFXMXdiM0owSUNvZ1lYTWdkSEpsWlNCbWNtOXRJQ2N1TDNSeVpXVW5PMXh1YVcxd2IzSjBJQ29nWVhNZ2RYUnBiSE1nWm5KdmJTQW5MaTkxZEdsc2N5YzdYRzVwYlhCdmNuUWdURTBnWm5KdmJTQW5iV3d0YkdWMlpXNWlaWEpuTFcxaGNuRjFZWEprZENjN1hHNWNibVY0Y0c5eWRDQjBlWEJsSUVScGMzUmhibU5sUm00Z1BTQW9lRG9nYm5WdFltVnlMQ0I1T2lCdWRXMWlaWElwSUQwK0lHNTFiV0psY2p0Y2JtVjRjRzl5ZENCMGVYQmxJRkpoYm1SdmJVWnVJRDBnS0NrZ1BUNGdiblZ0WW1WeU8xeHVaWGh3YjNKMElIUjVjR1VnUlhCdlkyaERZV3hzWW1GamF5QTlJQ2hsY0c5amFEb2diblZ0WW1WeUtTQTlQaUJpYjI5c1pXRnVJSHdnZG05cFpEdGNibVY0Y0c5eWRDQjBlWEJsSUZabFkzUnZjaUE5SUc1MWJXSmxjbHRkTzF4dVpYaHdiM0owSUhSNWNHVWdWbVZqZEc5eWN5QTlJRlpsWTNSdmNsdGRPMXh1Wlhod2IzSjBJR052Ym5OMElHVnVkVzBnVkdGeVoyVjBUV1YwY21saklIdGNiaUFnWTJGMFpXZHZjbWxqWVd3Z1BTQW5ZMkYwWldkdmNtbGpZV3duTEZ4dUlDQnNNU0E5SUNkc01TY3NYRzRnSUd3eUlEMGdKMnd5Snl4Y2JuMWNibHh1WTI5dWMzUWdVMDFQVDFSSVgwdGZWRTlNUlZKQlRrTkZJRDBnTVdVdE5UdGNibU52Ym5OMElFMUpUbDlMWDBSSlUxUmZVME5CVEVVZ1BTQXhaUzB6TzF4dVhHNWxlSEJ2Y25RZ2FXNTBaWEptWVdObElGVk5RVkJRWVhKaGJXVjBaWEp6SUh0Y2JpQWdMeW9xWEc0Z0lDQXFJRlJvWlNCa2FYTjBZVzVqWlNCbWRXNWpkR2x2YmlCM2FYUm9JSGRvYVdOb0lIUnZJR0Z6YzJWemN5QnVaV0Z5WlhOMElHNWxhV2RvWW05eWN5d2daR1ZtWVhWc2RITmNiaUFnSUNvZ2RHOGdaWFZqYkdsa1pXRnVJR1JwYzNSaGJtTmxMbHh1SUNBZ0tpOWNiaUFnWkdsemRHRnVZMlZHYmo4NklFUnBjM1JoYm1ObFJtNDdYRzRnSUM4cUtseHVJQ0FnS2lCVWFHVWdhVzVwZEdsaGJDQnNaV0Z5Ym1sdVp5QnlZWFJsSUdadmNpQjBhR1VnWlcxaVpXUmthVzVuSUc5d2RHbHRhWHBoZEdsdmJpNWNiaUFnSUNvdlhHNGdJR3hsWVhKdWFXNW5VbUYwWlQ4NklHNTFiV0psY2p0Y2JpQWdMeW9xWEc0Z0lDQXFJRlJvWlNCc2IyTmhiQ0JqYjI1dVpXTjBhWFpwZEhrZ2NtVnhkV2x5WldRZ0xTMGdhUzVsTGlCMGFHVWdiblZ0WW1WeUlHOW1JRzVsWVhKbGMzUmNiaUFnSUNvZ2JtVnBaMmhpYjNKeklIUm9ZWFFnYzJodmRXeGtJR0psSUdGemMzVnRaV1FnZEc4Z1ltVWdZMjl1Ym1WamRHVmtJR0YwSUdFZ2JHOWpZV3dnYkdWMlpXd3VYRzRnSUNBcUlGUm9aU0JvYVdkb1pYSWdkR2hwY3lCMllXeDFaU0IwYUdVZ2JXOXlaU0JqYjI1dVpXTjBaV1FnZEdobElHMWhibWxtYjJ4a0lHSmxZMjl0WlhOY2JpQWdJQ29nYkc5allXeHNlUzRnU1c0Z2NISmhZM1JwWTJVZ2RHaHBjeUJ6YUc5MWJHUWdZbVVnYm05MElHMXZjbVVnZEdoaGJpQjBhR1VnYkc5allXd2dhVzUwY21sdWMybGpYRzRnSUNBcUlHUnBiV1Z1YzJsdmJpQnZaaUIwYUdVZ2JXRnVhV1p2YkdRdVhHNGdJQ0FxTDF4dUlDQnNiMk5oYkVOdmJtNWxZM1JwZG1sMGVUODZJRzUxYldKbGNqdGNiaUFnTHlvcVhHNGdJQ0FxSUZSb1pTQmxabVpsWTNScGRtVWdiV2x1YVcxMWJTQmthWE4wWVc1alpTQmlaWFIzWldWdUlHVnRZbVZrWkdWa0lIQnZhVzUwY3k0Z1UyMWhiR3hsY2lCMllXeDFaWE5jYmlBZ0lDb2dkMmxzYkNCeVpYTjFiSFFnYVc0Z1lTQnRiM0psSUdOc2RYTjBaWEpsWkM5amJIVnRjR1ZrSUdWdFltVmtaR2x1WnlCM2FHVnlaU0J1WldGeVlua2djRzlwYm5SelhHNGdJQ0FxSUc5dUlIUm9aU0J0WVc1cFptOXNaQ0JoY21VZ1pISmhkMjRnWTJ4dmMyVnlJSFJ2WjJWMGFHVnlMQ0IzYUdsc1pTQnNZWEpuWlhJZ2RtRnNkV1Z6SUhkcGJHeGNiaUFnSUNvZ2NtVnpkV3gwSUc5dUlHRWdiVzl5WlNCbGRtVnVJR1JwYzNCbGNuTmhiQ0J2WmlCd2IybHVkSE11SUZSb1pTQjJZV3gxWlNCemFHOTFiR1FnWW1VZ2MyVjBYRzRnSUNBcUlISmxiR0YwYVhabElIUnZJSFJvWlNCZ1lITndjbVZoWkdCZ0lIWmhiSFZsTENCM2FHbGphQ0JrWlhSbGNtMXBibVZ6SUhSb1pTQnpZMkZzWlNCaGRDQjNhR2xqYUZ4dUlDQWdLaUJsYldKbFpHUmxaQ0J3YjJsdWRITWdkMmxzYkNCaVpTQnpjSEpsWVdRZ2IzVjBMbHh1SUNBZ0tpOWNiaUFnYldsdVJHbHpkRDg2SUc1MWJXSmxjanRjYmlBZ0x5b3FYRzRnSUNBcUlGUm9aU0JrYVcxbGJuTnBiMjRnYjJZZ2RHaGxJSE53WVdObElIUnZJR1Z0WW1Wa0lHbHVkRzh1SUZSb2FYTWdaR1ZtWVhWc2RITWdkRzhnTWlCMGIxeHVJQ0FnS2lCd2NtOTJhV1JsSUdWaGMza2dkbWx6ZFdGc2FYcGhkR2x2Yml3Z1luVjBJR05oYmlCeVpXRnpiMjVoWW14NUlHSmxJSE5sZENCMGJ5QmhibmxjYmlBZ0lDb2dhVzUwWldkbGNpQjJZV3gxWlNCcGJpQjBhR1VnY21GdVoyVWdNaUIwYnlBeE1EQXVYRzRnSUNBcUwxeHVJQ0J1UTI5dGNHOXVaVzUwY3o4NklHNTFiV0psY2p0Y2JpQWdMeW9xWEc0Z0lDQXFJRlJvWlNCdWRXMWlaWElnYjJZZ2RISmhhVzVwYm1jZ1pYQnZZMmh6SUhSdklHSmxJSFZ6WldRZ2FXNGdiM0IwYVcxcGVtbHVaeUIwYUdWY2JpQWdJQ29nYkc5M0lHUnBiV1Z1YzJsdmJtRnNJR1Z0WW1Wa1pHbHVaeTRnVEdGeVoyVnlJSFpoYkhWbGN5QnlaWE4xYkhRZ2FXNGdiVzl5WlNCaFkyTjFjbUYwWlZ4dUlDQWdLaUJsYldKbFpHUnBibWR6TGlCSlppQk9iMjVsSUdseklITndaV05wWm1sbFpDQmhJSFpoYkhWbElIZHBiR3dnWW1VZ2MyVnNaV04wWldRZ1ltRnpaV1FnYjI1Y2JpQWdJQ29nZEdobElITnBlbVVnYjJZZ2RHaGxJR2x1Y0hWMElHUmhkR0Z6WlhRZ0tESXdNQ0JtYjNJZ2JHRnlaMlVnWkdGMFlYTmxkSE1zSURVd01DQm1iM0lnYzIxaGJHd3BMbHh1SUNBZ0tpOWNiaUFnYmtWd2IyTm9jejg2SUc1MWJXSmxjanRjYmlBZ0x5b3FYRzRnSUNBcUlGUm9aU0J6YVhwbElHOW1JR3h2WTJGc0lHNWxhV2RvWW05eWFHOXZaQ0FvYVc0Z2RHVnliWE1nYjJZZ2JuVnRZbVZ5SUc5bUlHNWxhV2RvWW05eWFXNW5YRzRnSUNBcUlITmhiWEJzWlNCd2IybHVkSE1wSUhWelpXUWdabTl5SUcxaGJtbG1iMnhrSUdGd2NISnZlR2x0WVhScGIyNHVJRXhoY21kbGNpQjJZV3gxWlhOY2JpQWdJQ29nY21WemRXeDBJR2x1SUcxdmNtVWdaMnh2WW1Gc0lIWnBaWGR6SUc5bUlIUm9aU0J0WVc1cFptOXNaQ3dnZDJocGJHVWdjMjFoYkd4bGNseHVJQ0FnS2lCMllXeDFaWE1nY21WemRXeDBJR2x1SUcxdmNtVWdiRzlqWVd3Z1pHRjBZU0JpWldsdVp5QndjbVZ6WlhKMlpXUXVJRWx1SUdkbGJtVnlZV3hjYmlBZ0lDb2dkbUZzZFdWeklITm9iM1ZzWkNCaVpTQnBiaUIwYUdVZ2NtRnVaMlVnTWlCMGJ5QXhNREF1WEc0Z0lDQXFMMXh1SUNCdVRtVnBaMmhpYjNKelB6b2diblZ0WW1WeU8xeHVJQ0F2S2lwY2JpQWdJQ29nVkdobElHNTFiV0psY2lCdlppQnVaV2RoZEdsMlpTQnpZVzF3YkdWeklIUnZJSE5sYkdWamRDQndaWElnY0c5emFYUnBkbVVnYzJGdGNHeGxYRzRnSUNBcUlHbHVJSFJvWlNCdmNIUnBiV2w2WVhScGIyNGdjSEp2WTJWemN5NGdTVzVqY21WaGMybHVaeUIwYUdseklIWmhiSFZsSUhkcGJHd2djbVZ6ZFd4MFhHNGdJQ0FxSUdsdUlHZHlaV0YwWlhJZ2NtVndkV3h6YVhabElHWnZjbU5sSUdKbGFXNW5JR0Z3Y0d4cFpXUXNJR2R5WldGMFpYSWdiM0IwYVcxcGVtRjBhVzl1WEc0Z0lDQXFJR052YzNRc0lHSjFkQ0J6YkdsbmFIUnNlU0J0YjNKbElHRmpZM1Z5WVdONUxseHVJQ0FnS2k5Y2JpQWdibVZuWVhScGRtVlRZVzF3YkdWU1lYUmxQem9nYm5WdFltVnlPMXh1SUNBdktpcGNiaUFnSUNvZ1YyVnBaMmgwYVc1bklHRndjR3hwWldRZ2RHOGdibVZuWVhScGRtVWdjMkZ0Y0d4bGN5QnBiaUJzYjNjZ1pHbHRaVzV6YVc5dVlXd2daVzFpWldSa2FXNW5YRzRnSUNBcUlHOXdkR2x0YVhwaGRHbHZiaTRnVm1Gc2RXVnpJR2hwWjJobGNpQjBhR0Z1SUc5dVpTQjNhV3hzSUhKbGMzVnNkQ0JwYmlCbmNtVmhkR1Z5SUhkbGFXZG9kRnh1SUNBZ0tpQmlaV2x1WnlCbmFYWmxiaUIwYnlCdVpXZGhkR2wyWlNCellXMXdiR1Z6TGx4dUlDQWdLaTljYmlBZ2NtVndkV3h6YVc5dVUzUnlaVzVuZEdnL09pQnVkVzFpWlhJN1hHNGdJQzhxS2x4dUlDQWdLaUJVYUdVZ2NITmxkV1J2TFhKaGJtUnZiU0J1ZFcxaVpYSWdaMlZ1WlhKaGRHOXlJSFZ6WldRZ1lua2dkR2hsSUhOMGIyTm9ZWE4wYVdNZ2NHRnlkSE1nYjJZZ2RHaGxYRzRnSUNBcUlHRnNaMjl5YVhSb2JTNWNiaUFnSUNvdlhHNGdJSEpoYm1SdmJUODZJRkpoYm1SdmJVWnVPMXh1SUNBdktpcGNiaUFnSUNvZ1NXNTBaWEp3YjJ4aGRHVWdZbVYwZDJWbGJpQW9ablY2ZW5rcElIVnVhVzl1SUdGdVpDQnBiblJsY25ObFkzUnBiMjRnWVhNZ2RHaGxJSE5sZENCdmNHVnlZWFJwYjI1Y2JpQWdJQ29nZFhObFpDQjBieUJqYjIxaWFXNWxJR3h2WTJGc0lHWjFlbnA1SUhOcGJYQnNhV05wWVd3Z2MyVjBjeUIwYnlCdlluUmhhVzRnWVNCbmJHOWlZV3dnWm5WNmVubGNiaUFnSUNvZ2MybHRjR3hwWTJsaGJDQnpaWFJ6TGlCQ2IzUm9JR1oxZW5wNUlITmxkQ0J2Y0dWeVlYUnBiMjV6SUhWelpTQjBhR1VnY0hKdlpIVmpkQ0IwTFc1dmNtMHVYRzRnSUNBcUlGUm9aU0IyWVd4MVpTQnZaaUIwYUdseklIQmhjbUZ0WlhSbGNpQnphRzkxYkdRZ1ltVWdZbVYwZDJWbGJpQXdMakFnWVc1a0lERXVNRHNnWVNCMllXeDFaU0J2Wmx4dUlDQWdLaUF4TGpBZ2QybHNiQ0IxYzJVZ1lTQndkWEpsSUdaMWVucDVJSFZ1YVc5dUxDQjNhR2xzWlNBd0xqQWdkMmxzYkNCMWMyVWdZU0J3ZFhKbElHWjFlbnA1WEc0Z0lDQXFJR2x1ZEdWeWMyVmpkR2x2Ymk1Y2JpQWdJQ292WEc0Z0lITmxkRTl3VFdsNFVtRjBhVzgvT2lCdWRXMWlaWEk3WEc0Z0lDOHFLbHh1SUNBZ0tpQlVhR1VnWldabVpXTjBhWFpsSUhOallXeGxJRzltSUdWdFltVmtaR1ZrSUhCdmFXNTBjeTRnU1c0Z1kyOXRZbWx1WVhScGIyNGdkMmwwYUNCZ1lHMXBibDlrYVhOMFlHQmNiaUFnSUNvZ2RHaHBjeUJrWlhSbGNtMXBibVZ6SUdodmR5QmpiSFZ6ZEdWeVpXUXZZMngxYlhCbFpDQjBhR1VnWlcxaVpXUmtaV1FnY0c5cGJuUnpJR0Z5WlM1Y2JpQWdJQ292WEc0Z0lITndjbVZoWkQ4NklHNTFiV0psY2p0Y2JpQWdMeW9xWEc0Z0lDQXFJRVp2Y2lCMGNtRnVjMlp2Y20wZ2IzQmxjbUYwYVc5dWN5QW9aVzFpWldSa2FXNW5JRzVsZHlCd2IybHVkSE1nZFhOcGJtY2dZU0IwY21GcGJtVmtJRzF2WkdWc0tWeHVJQ0FnS2lCMGFHbHpJSGRwYkd3Z1kyOXVkSEp2YkNCb2IzY2dZV2RuY21WemMybDJaV3g1SUhSdklITmxZWEpqYUNCbWIzSWdibVZoY21WemRDQnVaV2xuYUdKdmNuTXVYRzRnSUNBcUlFeGhjbWRsY2lCMllXeDFaWE1nZDJsc2JDQnlaWE4xYkhRZ2FXNGdjMnh2ZDJWeUlIQmxjbVp2Y20xaGJtTmxJR0oxZENCdGIzSmxJR0ZqWTNWeVlYUmxYRzRnSUNBcUlHNWxZWEpsYzNRZ2JtVnBaMmhpYjNJZ1pYWmhiSFZoZEdsdmJpNWNiaUFnSUNvdlhHNGdJSFJ5WVc1elptOXliVkYxWlhWbFUybDZaVDg2SUc1MWJXSmxjanRjYm4xY2JseHVaWGh3YjNKMElHbHVkR1Z5Wm1GalpTQlZUVUZRVTNWd1pYSjJhWE5sWkZCaGNtRnRjeUI3WEc0Z0lDOHFLbHh1SUNBZ0tpQlVhR1VnYldWMGNtbGpJSFZ6WldRZ2RHOGdiV1ZoYzNWeVpTQmthWE4wWVc1alpTQm1iM0lnWVNCMFlYSm5aWFFnWVhKeVlYa2dhWE1nZFhOcGJtY2djM1Z3WlhKMmFYTmxaRnh1SUNBZ0tpQmthVzFsYm5OcGIyNGdjbVZrZFdOMGFXOXVMaUJDZVNCa1pXWmhkV3gwSUhSb2FYTWdhWE1nSjJOaGRHVm5iM0pwWTJGc0p5QjNhR2xqYUNCM2FXeHNJRzFsWVhOMWNtVmNiaUFnSUNvZ1pHbHpkR0Z1WTJVZ2FXNGdkR1Z5YlhNZ2IyWWdkMmhsZEdobGNpQmpZWFJsWjI5eWFXVnpJRzFoZEdOb0lHOXlJR0Z5WlNCa2FXWm1aWEpsYm5RdUlFWjFjblJvWlhKdGIzSmxMRnh1SUNBZ0tpQnBaaUJ6WlcxcExYTjFjR1Z5ZG1selpXUWdhWE1nY21WeGRXbHlaV1FnZEdGeVoyVjBJSFpoYkhWbGN5QnZaaUF0TVNCM2FXeHNJR0psSUhSeVpXRjBaV1FnWVhOY2JpQWdJQ29nZFc1c1lXSmxiR3hsWkNCMWJtUmxjaUIwYUdVZ0oyTmhkR1ZuYjNKcFkyRnNKeUJ0WlhSeWFXTXVJRWxtSUhSb1pTQjBZWEpuWlhRZ1lYSnlZWGtnZEdGclpYTmNiaUFnSUNvZ1kyOXVkR2x1ZFc5MWN5QjJZV3gxWlhNZ0tHVXVaeTRnWm05eUlHRWdjbVZuY21WemMybHZiaUJ3Y205aWJHVnRLU0IwYUdWdUlHMWxkSEpwWXlCdlppQW5iREVuWEc0Z0lDQXFJRzl5SUNkc01pY2dhWE1nY0hKdlltRmliSGtnYlc5eVpTQmhjSEJ5YjNCeWFXRjBaUzVjYmlBZ0lDb3ZYRzRnSUhSaGNtZGxkRTFsZEhKcFl6ODZJRlJoY21kbGRFMWxkSEpwWXp0Y2JpQWdMeW9xWEc0Z0lDQXFJRmRsYVdkb2RHbHVaeUJtWVdOMGIzSWdZbVYwZDJWbGJpQmtZWFJoSUhSdmNHOXNiMmQ1SUdGdVpDQjBZWEpuWlhRZ2RHOXdiMnh2WjNrdUlFRWdkbUZzZFdVZ2IyWmNiaUFnSUNvZ01DNHdJSGRsYVdkb2RITWdaVzUwYVhKbGJIa2diMjRnWkdGMFlTd2dZU0IyWVd4MVpTQnZaaUF4TGpBZ2QyVnBaMmgwY3lCbGJuUnBjbVZzZVNCdmJpQjBZWEpuWlhRdVhHNGdJQ0FxSUZSb1pTQmtaV1poZFd4MElHOW1JREF1TlNCaVlXeGhibU5sY3lCMGFHVWdkMlZwWjJoMGFXNW5JR1Z4ZFdGc2JIa2dZbVYwZDJWbGJpQmtZWFJoSUdGdVpDQjBZWEpuWlhRdVhHNGdJQ0FxTDF4dUlDQjBZWEpuWlhSWFpXbG5hSFEvT2lCdWRXMWlaWEk3WEc0Z0lDOHFLbHh1SUNBZ0tpQlVhR1VnYm5WdFltVnlJRzltSUc1bFlYSmxjM1FnYm1WcFoyaGliM0p6SUhSdklIVnpaU0IwYnlCamIyNXpkSEoxWTNRZ2RHaGxJSFJoY21kbGRDQnphVzF3YkdOcFlXeGNiaUFnSUNvZ2MyVjBMaUJFWldaaGRXeDBjeUIwYnlCMGFHVWdZRzVsWVhKbGMzUk9aV2xuYUdKdmNuTmdJSEJoY21GdFpYUmxjaTVjYmlBZ0lDb3ZYRzRnSUhSaGNtZGxkRTVPWldsbmFHSnZjbk0vT2lCdWRXMWlaWEk3WEc1OVhHNWNiaThxS2x4dUlDb2dWVTFCVUNCd2NtOXFaV04wYVc5dUlITjVjM1JsYlN3Z1ltRnpaV1FnYjI0Z2RHaGxJSEI1ZEdodmJpQnBiWEJzWlcxbGJuUmhkR2x2YmlCbWNtOXRJRTFqU1c1dVpYTXNJRXdzWEc0Z0tpQklaV0ZzZVN3Z1Npd2dWVTFCVURvZ1ZXNXBabTl5YlNCTllXNXBabTlzWkNCQmNIQnliM2hwYldGMGFXOXVJR0Z1WkNCUWNtOXFaV04wYVc5dUlHWnZjaUJFYVcxbGJuTnBiMjVjYmlBcUlGSmxaSFZqZEdsdmJpQW9hSFIwY0hNNkx5OW5hWFJvZFdJdVkyOXRMMnh0WTJsdWJtVnpMM1Z0WVhBcExseHVJQ3BjYmlBcUlGUm9hWE1nYVcxd2JHVnRaVzUwWVhScGIyNGdaR2xtWm1WeWN5QnBiaUJoSUdabGR5QnlaV2RoY21Sek9seHVJQ29nWVNrZ1ZHaGxJR2x1YVhScFlXeHBlbUYwYVc5dUlHOW1JSFJvWlNCbGJXSmxaR1JwYm1jZ1ptOXlJRzl3ZEdsdGFYcGhkR2x2YmlCcGN5QnViM1FnWTI5dGNIVjBaV1FnZFhOcGJtZGNiaUFxSUNBZ0lHRWdjM0JsWTNSeVlXd2diV1YwYUc5a0xDQnlZWFJvWlhJZ2FYUWdhWE1nYVc1cGRHbGhiR2w2WldRZ2NtRnVaRzl0YkhrdUlGUm9hWE1nWVhadmFXUnpJSE52YldWY2JpQXFJQ0FnSUdOdmJYQjFkR0YwYVc5dVlXeHNlU0JwYm5SbGJuTnBkbVVnYldGMGNtbDRJR1ZwWjJWdUlHTnZiWEIxZEdGMGFXOXVjeUIwYUdGMElHRnlaVzRuZENCbFlYTnBiSGxjYmlBcUlDQWdJSEJ2Y25SbFpDQjBieUJLWVhaaFUyTnlhWEIwTGx4dUlDb2dZaWtnUVNCc2IzUWdiMllnWENKbGVIUnlZVndpSUdaMWJtTjBhVzl1WVd4cGRIa2dhR0Z6SUdKbFpXNGdiMjFwZEhSbFpDQm1jbTl0SUhSb2FYTWdhVzF3YkdWdFpXNTBZWFJwYjI0c1hHNGdLaUFnSUNCdGIzTjBJRzV2ZEdGaWJIa2dZU0JuY21WaGRDQmtaV0ZzSUc5bUlHRnNkR1Z5Ym1GMFpTQmthWE4wWVc1alpTQm1kVzVqZEdsdmJuTXVYRzRnS2x4dUlDb2dWR2hwY3lCcGJYQnNaVzFsYm5SaGRHbHZiaUJ3Y205MmFXUmxjeUIwYUhKbFpTQnRaWFJvYjJSeklHOW1JSEpsWkhWamFXNW5JR1JwYldWdWMybHZibUZzYVhSNU9seHVJQ29nTVNrZ1ptbDBPaUJtYVhRZ2RHaGxJR1JoZEdFZ2MzbHVZMmh5YjI1dmRYTnNlVnh1SUNvZ01pa2dabWwwUVhONWJtTTZJR1pwZENCMGFHVWdaR0YwWVNCaGMzbHVZMmh5YjI1dmRYTnNlU3dnZDJsMGFDQmhJR05oYkd4aVlXTnJJR1oxYm1OMGFXOXVJSEJ5YjNacFpHVmtYRzRnS2lBZ0lDQWdJSFJvWVhRZ2FYTWdhVzUyYjJ0bFpDQnZiaUJsWVdOb0lHOXdkR2x0YVhwaGRHbHZiaUJ6ZEdWd0xseHVJQ29nTXlrZ2FXNXBkR2xoYkdsNlpVWnBkQ0F2SUhOMFpYQTZJRzFoYm5WaGJHeDVJR2x1YVhScFlXeHBlbVVnZEdobElHRnNaMjl5YVhSb2JTQjBhR1Z1SUdWNGNHeHBZM1JzZVZ4dUlDb2dJQ0FnSUNCemRHVndJSFJvY205MVoyZ2daV0ZqYUNCbGNHOWphQ0J2WmlCMGFHVWdVMGRFSUc5d2RHbHRhWHBoZEdsdmJseHVJQ292WEc1bGVIQnZjblFnWTJ4aGMzTWdWVTFCVUNCN1hHNGdJSEJ5YVhaaGRHVWdiR1ZoY201cGJtZFNZWFJsSUQwZ01TNHdPMXh1SUNCd2NtbDJZWFJsSUd4dlkyRnNRMjl1Ym1WamRHbDJhWFI1SUQwZ01TNHdPMXh1SUNCd2NtbDJZWFJsSUcxcGJrUnBjM1FnUFNBd0xqRTdYRzRnSUhCeWFYWmhkR1VnYmtOdmJYQnZibVZ1ZEhNZ1BTQXlPMXh1SUNCd2NtbDJZWFJsSUc1RmNHOWphSE1nUFNBd08xeHVJQ0J3Y21sMllYUmxJRzVPWldsbmFHSnZjbk1nUFNBeE5UdGNiaUFnY0hKcGRtRjBaU0J1WldkaGRHbDJaVk5oYlhCc1pWSmhkR1VnUFNBMU8xeHVJQ0J3Y21sMllYUmxJSEpoYm1SdmJTQTlJRTFoZEdndWNtRnVaRzl0TzF4dUlDQndjbWwyWVhSbElISmxjSFZzYzJsdmJsTjBjbVZ1WjNSb0lEMGdNUzR3TzF4dUlDQndjbWwyWVhSbElITmxkRTl3VFdsNFVtRjBhVzhnUFNBeExqQTdYRzRnSUhCeWFYWmhkR1VnYzNCeVpXRmtJRDBnTVM0d08xeHVJQ0J3Y21sMllYUmxJSFJ5WVc1elptOXliVkYxWlhWbFUybDZaU0E5SURRdU1EdGNibHh1SUNBdkx5QlRkWEJsY25acGMyVmtJSEJ5YjJwbFkzUnBiMjRnY0dGeVlXMXpYRzRnSUhCeWFYWmhkR1VnZEdGeVoyVjBUV1YwY21saklEMGdWR0Z5WjJWMFRXVjBjbWxqTG1OaGRHVm5iM0pwWTJGc08xeHVJQ0J3Y21sMllYUmxJSFJoY21kbGRGZGxhV2RvZENBOUlEQXVOVHRjYmlBZ2NISnBkbUYwWlNCMFlYSm5aWFJPVG1WcFoyaGliM0p6SUQwZ01UVTdYRzVjYmlBZ2NISnBkbUYwWlNCa2FYTjBZVzVqWlVadU9pQkVhWE4wWVc1alpVWnVJRDBnYm5WdFpYSnBZenRjYmx4dUlDQXZMeUJMVGs0Z2MzUmhkR1VnS0dOaGJpQmlaU0J3Y21WamIyMXdkWFJsWkNCaGJtUWdjM1Z3Y0d4cFpXUWdkbWxoSUdsdWFYUnBZV3hwZW1WR2FYUXBYRzRnSUhCeWFYWmhkR1VnYTI1dVNXNWthV05sY3o4NklHNTFiV0psY2x0ZFcxMDdYRzRnSUhCeWFYWmhkR1VnYTI1dVJHbHpkR0Z1WTJWelB6b2diblZ0WW1WeVcxMWJYVHRjYmx4dUlDQXZMeUJKYm5SbGNtNWhiQ0JuY21Gd2FDQmpiMjV1WldOMGFYWnBkSGtnY21Wd2NtVnpaVzUwWVhScGIyNWNiaUFnY0hKcGRtRjBaU0JuY21Gd2FDRTZJRzFoZEhKcGVDNVRjR0Z5YzJWTllYUnlhWGc3WEc0Z0lIQnlhWFpoZEdVZ1dDRTZJRlpsWTNSdmNqdGNiaUFnY0hKcGRtRjBaU0JwYzBsdWFYUnBZV3hwZW1Wa0lEMGdabUZzYzJVN1hHNGdJSEJ5YVhaaGRHVWdjbkJHYjNKbGMzUTZJSFJ5WldVdVJteGhkRlJ5WldWYlhTQTlJRnRkTzF4dUlDQndjbWwyWVhSbElHbHVhWFJHY205dFVtRnVaRzl0SVRvZ2JtNUVaWE5qWlc1MExrbHVhWFJHY205dFVtRnVaRzl0Um00N1hHNGdJSEJ5YVhaaGRHVWdhVzVwZEVaeWIyMVVjbVZsSVRvZ2JtNUVaWE5qWlc1MExrbHVhWFJHY205dFZISmxaVVp1TzF4dUlDQndjbWwyWVhSbElITmxZWEpqYUNFNklHNXVSR1Z6WTJWdWRDNVRaV0Z5WTJoR2JqdGNiaUFnY0hKcGRtRjBaU0J6WldGeVkyaEhjbUZ3YUNFNklHMWhkSEpwZUM1VGNHRnljMlZOWVhSeWFYZzdYRzVjYmlBZ0x5OGdVM1Z3WlhKMmFYTmxaQ0J3Y205cVpXTjBhVzl1SUd4aFltVnNjeUF2SUhSaGNtZGxkSE5jYmlBZ2NISnBkbUYwWlNCWlB6b2diblZ0WW1WeVcxMDdYRzVjYmlBZ0x5OGdVSEp2YW1WamRHVmtJR1Z0WW1Wa1pHbHVaMXh1SUNCd2NtbDJZWFJsSUdWdFltVmtaR2x1WnpvZ2JuVnRZbVZ5VzExYlhTQTlJRnRkTzF4dUlDQndjbWwyWVhSbElHOXdkR2x0YVhwaGRHbHZibE4wWVhSbElEMGdibVYzSUU5d2RHbHRhWHBoZEdsdmJsTjBZWFJsS0NrN1hHNWNibHh1SUNCblpYUWdibVZwWjJoaWIzSnpLQ2tnZTF4dUlDQWdJSEpsZEhWeWJpQjBhR2x6TG01T1pXbG5hR0p2Y25NN1hHNGdJSDFjYmlBZ1kyOXVjM1J5ZFdOMGIzSW9jR0Z5WVcxek9pQlZUVUZRVUdGeVlXMWxkR1Z5Y3lBOUlIdDlLU0I3WEc0Z0lDQWdZMjl1YzNRZ2MyVjBVR0Z5WVcwZ1BTQW9hMlY1T2lCclpYbHZaaUJWVFVGUVVHRnlZVzFsZEdWeWN5a2dQVDRnZTF4dUlDQWdJQ0FnTHk5QWRITXRhV2R1YjNKbFhHNGdJQ0FnSUNCcFppQW9jR0Z5WVcxelcydGxlVjBnSVQwOUlIVnVaR1ZtYVc1bFpDa2dkR2hwYzF0clpYbGRJRDBnY0dGeVlXMXpXMnRsZVYwN1hHNGdJQ0FnZlR0Y2JseHVJQ0FnSUhObGRGQmhjbUZ0S0Nka2FYTjBZVzVqWlVadUp5azdYRzRnSUNBZ2MyVjBVR0Z5WVcwb0oyeGxZWEp1YVc1blVtRjBaU2NwTzF4dUlDQWdJSE5sZEZCaGNtRnRLQ2RzYjJOaGJFTnZibTVsWTNScGRtbDBlU2NwTzF4dUlDQWdJSE5sZEZCaGNtRnRLQ2R0YVc1RWFYTjBKeWs3WEc0Z0lDQWdjMlYwVUdGeVlXMG9KMjVEYjIxd2IyNWxiblJ6SnlrN1hHNGdJQ0FnYzJWMFVHRnlZVzBvSjI1RmNHOWphSE1uS1R0Y2JpQWdJQ0J6WlhSUVlYSmhiU2duYms1bGFXZG9ZbTl5Y3ljcE8xeHVJQ0FnSUhObGRGQmhjbUZ0S0NkdVpXZGhkR2wyWlZOaGJYQnNaVkpoZEdVbktUdGNiaUFnSUNCelpYUlFZWEpoYlNnbmNtRnVaRzl0SnlrN1hHNGdJQ0FnYzJWMFVHRnlZVzBvSjNKbGNIVnNjMmx2YmxOMGNtVnVaM1JvSnlrN1hHNGdJQ0FnYzJWMFVHRnlZVzBvSjNObGRFOXdUV2w0VW1GMGFXOG5LVHRjYmlBZ0lDQnpaWFJRWVhKaGJTZ25jM0J5WldGa0p5azdYRzRnSUNBZ2MyVjBVR0Z5WVcwb0ozUnlZVzV6Wm05eWJWRjFaWFZsVTJsNlpTY3BPMXh1SUNBZ0lIUm9hWE11ZEdGeVoyVjBUazVsYVdkb1ltOXljeUE5SUhCaGNtRnRjeTV1VG1WcFoyaGliM0p6SUh4OElIUm9hWE11Yms1bGFXZG9ZbTl5Y3lCOGZDQjBhR2x6TG5SaGNtZGxkRTVPWldsbmFHSnZjbk03WEc0Z0lIMWNibHh1SUNBdktpcGNiaUFnSUNvZ1JtbDBJSFJvWlNCa1lYUmhJSFJ2SUdFZ2NISnZhbVZqZEdWa0lHVnRZbVZrWkdsdVp5QnpjR0ZqWlNCemVXNWphSEp2Ym05MWMyeDVMbHh1SUNBZ0tpOWNiaUFnWm1sMEtGZzZJRlpsWTNSdmNpa2dlMXh1SUNBZ0lIUm9hWE11YVc1cGRHbGhiR2w2WlVacGRDaFlLVHRjYmlBZ0lDQjBhR2x6TG05d2RHbHRhWHBsVEdGNWIzVjBLQ2s3WEc1Y2JpQWdJQ0J5WlhSMWNtNGdkR2hwY3k1bGJXSmxaR1JwYm1jN1hHNGdJSDFjYmx4dUlDQXZLaXBjYmlBZ0lDb2dSbWwwSUhSb1pTQmtZWFJoSUhSdklHRWdjSEp2YW1WamRHVmtJR1Z0WW1Wa1pHbHVaeUJ6Y0dGalpTQmhjM2x1WTJoeWIyNXZkWE5zZVN3Z2QybDBhQ0JoSUdOaGJHeGlZV05yWEc0Z0lDQXFJR1oxYm1OMGFXOXVJR2x1ZG05clpXUWdiMjRnWlhabGNua2daWEJ2WTJnZ2IyWWdiM0IwYVcxcGVtRjBhVzl1TGx4dUlDQWdLaTljYmlBZ1lYTjVibU1nWm1sMFFYTjVibU1vWEc0Z0lDQWdXRG9nVm1WamRHOXlMRnh1SUNBZ0lHTmhiR3hpWVdOck9pQW9aWEJ2WTJoT2RXMWlaWEk2SUc1MWJXSmxjaWtnUFQ0Z2RtOXBaQ0I4SUdKdmIyeGxZVzRnUFNBb0tTQTlQaUIwY25WbFhHNGdJQ2tnZTF4dUlDQWdJSFJvYVhNdWFXNXBkR2xoYkdsNlpVWnBkQ2hZS1R0Y2JseHVJQ0FnSUdGM1lXbDBJSFJvYVhNdWIzQjBhVzFwZW1WTVlYbHZkWFJCYzNsdVl5aGpZV3hzWW1GamF5azdYRzRnSUNBZ2NtVjBkWEp1SUhSb2FYTXVaVzFpWldSa2FXNW5PMXh1SUNCOVhHNWNiaUFnTHlvcVhHNGdJQ0FxSUVsdWFYUnBZV3hwZW1WeklIQmhjbUZ0WlhSbGNuTWdibVZsWkdWa0lHWnZjaUJ6ZFhCbGNuWnBjMlZrSUhCeWIycGxZM1JwYjI0dVhHNGdJQ0FxTDF4dUlDQnpaWFJUZFhCbGNuWnBjMlZrVUhKdmFtVmpkR2x2YmloWk9pQnVkVzFpWlhKYlhTd2djR0Z5WVcxek9pQlZUVUZRVTNWd1pYSjJhWE5sWkZCaGNtRnRjeUE5SUh0OUtTQjdYRzRnSUNBZ2RHaHBjeTVaSUQwZ1dUdGNiaUFnSUNCMGFHbHpMblJoY21kbGRFMWxkSEpwWXlBOUlIQmhjbUZ0Y3k1MFlYSm5aWFJOWlhSeWFXTWdmSHdnZEdocGN5NTBZWEpuWlhSTlpYUnlhV003WEc0Z0lDQWdkR2hwY3k1MFlYSm5aWFJYWldsbmFIUWdQU0J3WVhKaGJYTXVkR0Z5WjJWMFYyVnBaMmgwSUh4OElIUm9hWE11ZEdGeVoyVjBWMlZwWjJoME8xeHVJQ0FnSUhSb2FYTXVkR0Z5WjJWMFRrNWxhV2RvWW05eWN5QTlJSEJoY21GdGN5NTBZWEpuWlhST1RtVnBaMmhpYjNKeklIeDhJSFJvYVhNdWRHRnlaMlYwVGs1bGFXZG9ZbTl5Y3p0Y2JpQWdmVnh1WEc0Z0lDOHFLbHh1SUNBZ0tpQkpibWwwYVdGc2FYcGxjeUIxYldGd0lIZHBkR2dnY0hKbFkyOXRjSFYwWldRZ1MwNU9JR2x1WkdsalpYTWdZVzVrSUdScGMzUmhibU5sY3k1Y2JpQWdJQ292WEc0Z0lITmxkRkJ5WldOdmJYQjFkR1ZrUzA1T0tHdHVia2x1WkdsalpYTTZJRzUxYldKbGNsdGRXMTBzSUd0dWJrUnBjM1JoYm1ObGN6b2diblZ0WW1WeVcxMWJYU2tnZTF4dUlDQWdJSFJvYVhNdWEyNXVTVzVrYVdObGN5QTlJR3R1YmtsdVpHbGpaWE03WEc0Z0lDQWdkR2hwY3k1cmJtNUVhWE4wWVc1alpYTWdQU0JyYm01RWFYTjBZVzVqWlhNN1hHNGdJSDFjYmx4dUlDQXZLaXBjYmlBZ0lDb2dTVzVwZEdsaGJHbDZaWE1nWm1sMElHSjVJR052YlhCMWRHbHVaeUJMVGs0Z1lXNWtJR0VnWm5WNmVua2djMmx0Y0d4cFkybGhiQ0J6WlhRc0lHRnpJSGRsYkd3Z1lYTmNiaUFnSUNvZ2FXNXBkR2xoYkdsNmFXNW5JSFJvWlNCd2NtOXFaV04wWldRZ1pXMWlaV1JrYVc1bmN5NGdVMlYwY3lCMGFHVWdiM0IwYVcxcGVtRjBhVzl1SUhOMFlYUmxJR0ZvWldGa1hHNGdJQ0FxSUc5bUlHOXdkR2x0YVhwaGRHbHZiaUJ6ZEdWd2N5NGdVbVYwZFhKdWN5QjBhR1VnYm5WdFltVnlJRzltSUdWd2IyTm9jeUIwYnlCaVpTQjFjMlZrSUdadmNpQjBhR1ZjYmlBZ0lDb2dVMGRFSUc5d2RHbHRhWHBoZEdsdmJpNWNiaUFnSUNvdlhHNGdJR2x1YVhScFlXeHBlbVZHYVhRb1dEb2dWbVZqZEc5eUtUb2diblZ0WW1WeUlIdGNiaUFnSUNCcFppQW9XQzVzWlc1bmRHZ2dQRDBnZEdocGN5NXVUbVZwWjJoaWIzSnpLVnh1SUNBZ0lDQWdkR2h5YjNjZ2JtVjNJRVZ5Y205eUtHQk9iM1FnWlc1dmRXZG9JR1JoZEdFZ2NHOXBiblJ6SUNna2UxZ3ViR1Z1WjNSb2ZTa2dkRzhnWTNKbFlYUmxJRzVPWldsbmFHSnZjbk02SUNSN2RHaHBjeTV1VG1WcFoyaGliM0p6ZlM0Z0lFRmtaQ0J0YjNKbElHUmhkR0VnY0c5cGJuUnpJRzl5SUdGa2FuVnpkQ0IwYUdVZ1kyOXVabWxuZFhKaGRHbHZiaTVnS1R0Y2JseHVYRzRnSUNBZ0x5OGdWMlVnWkc5dUozUWdibVZsWkNCMGJ5QnlaV2x1YVhScFlXeHBlbVVnYVdZZ2QyVW5kbVVnWVd4eVpXRmtlU0JwYm1sMGFXRnNhWHBsWkNCbWIzSWdkR2hwY3lCa1lYUmhMbHh1SUNBZ0lHbG1JQ2gwYUdsekxsZ2dQVDA5SUZnZ0ppWWdkR2hwY3k1cGMwbHVhWFJwWVd4cGVtVmtLVnh1SUNBZ0lDQWdjbVYwZFhKdUlIUm9hWE11WjJWMFRrVndiMk5vY3lncE8xeHVYRzVjYmlBZ0lDQjBhR2x6TGxnZ1BTQllPMXh1WEc0Z0lDQWdhV1lnS0NGMGFHbHpMbXR1YmtsdVpHbGpaWE1nSmlZZ0lYUm9hWE11YTI1dVJHbHpkR0Z1WTJWektTQjdYRzRnSUNBZ0lDQmpiMjV6ZENCcmJtNVNaWE4xYkhSeklEMGdkR2hwY3k1dVpXRnlaWE4wVG1WcFoyaGliM0p6S0ZncE8xeHVJQ0FnSUNBZ2RHaHBjeTVyYm01SmJtUnBZMlZ6SUQwZ2EyNXVVbVZ6ZFd4MGN5NXJibTVKYm1ScFkyVnpPMXh1SUNBZ0lDQWdkR2hwY3k1cmJtNUVhWE4wWVc1alpYTWdQU0JyYm01U1pYTjFiSFJ6TG10dWJrUnBjM1JoYm1ObGN6dGNiaUFnSUNCOVhHNWNiaUFnSUNCMGFHbHpMbWR5WVhCb0lEMGdkR2hwY3k1bWRYcDZlVk5wYlhCc2FXTnBZV3hUWlhRb1hHNGdJQ0FnSUNCWUxGeHVJQ0FnSUNBZ2RHaHBjeTV1VG1WcFoyaGliM0p6TEZ4dUlDQWdJQ0FnZEdocGN5NXpaWFJQY0UxcGVGSmhkR2x2WEc0Z0lDQWdLVHRjYmx4dUlDQWdJQzh2SUZObGRDQjFjQ0IwYUdVZ2MyVmhjbU5vSUdkeVlYQm9JR1p2Y2lCemRXSnpaWEYxWlc1MElIUnlZVzV6Wm05eWJXRjBhVzl1TGx4dUlDQWdJSFJvYVhNdWJXRnJaVk5sWVhKamFFWnVjeWdwTzF4dUlDQWdJSFJvYVhNdWMyVmhjbU5vUjNKaGNHZ2dQU0IwYUdsekxtMWhhMlZUWldGeVkyaEhjbUZ3YUNoWUtUdGNibHh1SUNBZ0lDOHZJRU5vWldOcklHbG1JSE4xY0dWeWRtbHpaV1FnY0hKdmFtVmpkR2x2Yml3Z2RHaGxiaUJoWkdwMWMzUWdkR2hsSUdkeVlYQm9MbHh1SUNBZ0lIUm9hWE11Y0hKdlkyVnpjMGR5WVhCb1JtOXlVM1Z3WlhKMmFYTmxaRkJ5YjJwbFkzUnBiMjRvS1R0Y2JseHVJQ0FnSUdOdmJuTjBJSHRjYmlBZ0lDQWdJR2hsWVdRc1hHNGdJQ0FnSUNCMFlXbHNMRnh1SUNBZ0lDQWdaWEJ2WTJoelVHVnlVMkZ0Y0d4bExGeHVJQ0FnSUgwZ1BTQjBhR2x6TG1sdWFYUnBZV3hwZW1WVGFXMXdiR2xqYVdGc1UyVjBSVzFpWldSa2FXNW5LQ2s3WEc1Y2JpQWdJQ0F2THlCVFpYUWdkR2hsSUc5d2RHbHRhWHBoZEdsdmJpQnliM1YwYVc1bElITjBZWFJsWEc0Z0lDQWdkR2hwY3k1dmNIUnBiV2w2WVhScGIyNVRkR0YwWlM1b1pXRmtJRDBnYUdWaFpEdGNiaUFnSUNCMGFHbHpMbTl3ZEdsdGFYcGhkR2x2YmxOMFlYUmxMblJoYVd3Z1BTQjBZV2xzTzF4dUlDQWdJSFJvYVhNdWIzQjBhVzFwZW1GMGFXOXVVM1JoZEdVdVpYQnZZMmh6VUdWeVUyRnRjR3hsSUQwZ1pYQnZZMmh6VUdWeVUyRnRjR3hsTzF4dVhHNGdJQ0FnTHk4Z1RtOTNMQ0JwYm1sMGFXRnNhWHBsSUhSb1pTQnZjSFJwYldsNllYUnBiMjRnYzNSbGNITmNiaUFnSUNCMGFHbHpMbWx1YVhScFlXeHBlbVZQY0hScGJXbDZZWFJwYjI0b0tUdGNiaUFnSUNCMGFHbHpMbkJ5WlhCaGNtVkdiM0pQY0hScGJXbDZZWFJwYjI1TWIyOXdLQ2s3WEc0Z0lDQWdkR2hwY3k1cGMwbHVhWFJwWVd4cGVtVmtJRDBnZEhKMVpUdGNibHh1SUNBZ0lISmxkSFZ5YmlCMGFHbHpMbWRsZEU1RmNHOWphSE1vS1R0Y2JpQWdmVnh1WEc0Z0lIQnlhWFpoZEdVZ2JXRnJaVk5sWVhKamFFWnVjeWdwSUh0Y2JpQWdJQ0JqYjI1emRDQjdhVzVwZEVaeWIyMVVjbVZsTENCcGJtbDBSbkp2YlZKaGJtUnZiWDBnUFNCdWJrUmxjMk5sYm5RdWJXRnJaVWx1YVhScFlXeHBlbUYwYVc5dWN5aGNiaUFnSUNBZ0lIUm9hWE11WkdsemRHRnVZMlZHYmx4dUlDQWdJQ2s3WEc0Z0lDQWdkR2hwY3k1cGJtbDBSbkp2YlZSeVpXVWdQU0JwYm1sMFJuSnZiVlJ5WldVN1hHNGdJQ0FnZEdocGN5NXBibWwwUm5KdmJWSmhibVJ2YlNBOUlHbHVhWFJHY205dFVtRnVaRzl0TzF4dUlDQWdJSFJvYVhNdWMyVmhjbU5vSUQwZ2JtNUVaWE5qWlc1MExtMWhhMlZKYm1sMGFXRnNhWHBsWkU1T1UyVmhjbU5vS0hSb2FYTXVaR2x6ZEdGdVkyVkdiaWs3WEc0Z0lIMWNibHh1SUNCd2NtbDJZWFJsSUcxaGEyVlRaV0Z5WTJoSGNtRndhQ2hZT2lCV1pXTjBiM0lwSUh0Y2JpQWdJQ0JqYjI1emRDQnJibTVKYm1ScFkyVnpJRDBnZEdocGN5NXJibTVKYm1ScFkyVnpJVHRjYmlBZ0lDQmpiMjV6ZENCcmJtNUVhWE4wWVc1alpYTWdQU0IwYUdsekxtdHVia1JwYzNSaGJtTmxjeUU3WEc0Z0lDQWdZMjl1YzNRZ1pHbHRjeUE5SUZ0WUxteGxibWQwYUN3Z1dDNXNaVzVuZEdoZE8xeHVJQ0FnSUdOdmJuTjBJSE5sWVhKamFFZHlZWEJvSUQwZ2JtVjNJRzFoZEhKcGVDNVRjR0Z5YzJWTllYUnlhWGdvVzEwc0lGdGRMQ0JiWFN3Z1pHbHRjeWs3WEc0Z0lDQWdabTl5SUNoc1pYUWdhU0E5SURBN0lHa2dQQ0JyYm01SmJtUnBZMlZ6TG14bGJtZDBhRHNnYVNzcktTQjdYRzRnSUNBZ0lDQmpiMjV6ZENCcmJtNGdQU0JyYm01SmJtUnBZMlZ6VzJsZE8xeHVJQ0FnSUNBZ1kyOXVjM1FnWkdsemRHRnVZMlZ6SUQwZ2EyNXVSR2x6ZEdGdVkyVnpXMmxkTzF4dUlDQWdJQ0FnWm05eUlDaHNaWFFnYWlBOUlEQTdJR29nUENCcmJtNHViR1Z1WjNSb095QnFLeXNwSUh0Y2JpQWdJQ0FnSUNBZ1kyOXVjM1FnYm1WcFoyaGliM0lnUFNCcmJtNWJhbDA3WEc0Z0lDQWdJQ0FnSUdOdmJuTjBJR1JwYzNSaGJtTmxJRDBnWkdsemRHRnVZMlZ6VzJwZE8xeHVJQ0FnSUNBZ0lDQnBaaUFvWkdsemRHRnVZMlVnUGlBd0tWeHVJQ0FnSUNBZ0lDQWdJSE5sWVhKamFFZHlZWEJvTG5ObGRDaHBMQ0J1WldsbmFHSnZjaXdnWkdsemRHRnVZMlVwTzF4dUlDQWdJQ0FnZlZ4dUlDQWdJSDFjYmx4dUlDQWdJR052Ym5OMElIUnlZVzV6Y0c5elpTQTlJRzFoZEhKcGVDNTBjbUZ1YzNCdmMyVW9jMlZoY21Ob1IzSmhjR2dwTzF4dUlDQWdJSEpsZEhWeWJpQnRZWFJ5YVhndWJXRjRhVzExYlNoelpXRnlZMmhIY21Gd2FDd2dkSEpoYm5Od2IzTmxLVHRjYmlBZ2ZWeHVYRzRnSUM4cUtseHVJQ0FnS2lCVWNtRnVjMlp2Y20xeklHUmhkR0VnZEc4Z2RHaGxJR1Y0YVhOMGFXNW5JR1Z0WW1Wa1pHbHVaeUJ6Y0dGalpTNWNiaUFnSUNvdlhHNGdJSFJ5WVc1elptOXliU2gwYjFSeVlXNXpabTl5YlRvZ1ZtVmpkRzl5S1NCN1hHNGdJQ0FnTHk4Z1ZYTmxJSFJvWlNCd2NtVjJhVzkxY3lCeVlYZEVZWFJoWEc0Z0lDQWdZMjl1YzNRZ2NtRjNSR0YwWVNBOUlIUm9hWE11V0R0Y2JpQWdJQ0JwWmlBb2NtRjNSR0YwWVNBOVBUMGdkVzVrWldacGJtVmtJSHg4SUhKaGQwUmhkR0V1YkdWdVozUm9JRDA5UFNBd0tWeHVJQ0FnSUNBZ2RHaHliM2NnYm1WM0lFVnljbTl5S0NkT2J5QmtZWFJoSUdoaGN5QmlaV1Z1SUdacGRDNG5LVHRjYmx4dVhHNGdJQ0FnYkdWMElHNU9aV2xuYUdKdmNuTWdQU0JOWVhSb0xtWnNiMjl5S0hSb2FYTXViazVsYVdkb1ltOXljeUFxSUhSb2FYTXVkSEpoYm5ObWIzSnRVWFZsZFdWVGFYcGxLVHRjYmlBZ0lDQnVUbVZwWjJoaWIzSnpJRDBnVFdGMGFDNXRhVzRvY21GM1JHRjBZUzVzWlc1bmRHZ3NJRzVPWldsbmFHSnZjbk1wTzF4dUlDQWdJR052Ym5OMElHbHVhWFFnUFNCdWJrUmxjMk5sYm5RdWFXNXBkR2xoYkdsNlpWTmxZWEpqYUNoY2JpQWdJQ0FnSUhSb2FYTXVjbkJHYjNKbGMzUXNYRzRnSUNBZ0lDQnlZWGRFWVhSaExGeHVJQ0FnSUNBZ2RHOVVjbUZ1YzJadmNtMHNYRzRnSUNBZ0lDQnVUbVZwWjJoaWIzSnpMRnh1SUNBZ0lDQWdkR2hwY3k1cGJtbDBSbkp2YlZKaGJtUnZiU3hjYmlBZ0lDQWdJSFJvYVhNdWFXNXBkRVp5YjIxVWNtVmxMRnh1SUNBZ0lDQWdkR2hwY3k1eVlXNWtiMjFjYmlBZ0lDQXBPMXh1WEc0Z0lDQWdZMjl1YzNRZ2NtVnpkV3gwSUQwZ2RHaHBjeTV6WldGeVkyZ29jbUYzUkdGMFlTd2dkR2hwY3k1elpXRnlZMmhIY21Gd2FDd2dhVzVwZEN3Z2RHOVVjbUZ1YzJadmNtMHBPMXh1WEc0Z0lDQWdiR1YwSUh0cGJtUnBZMlZ6TENCM1pXbG5hSFJ6T2lCa2FYTjBZVzVqWlhOOUlEMGdhR1ZoY0M1a1pXaGxZWEJUYjNKMEtISmxjM1ZzZENrN1hHNWNiaUFnSUNCcGJtUnBZMlZ6SUQwZ2FXNWthV05sY3k1dFlYQW9LSGdwSUQwK0lIZ3VjMnhwWTJVb01Dd2dkR2hwY3k1dVRtVnBaMmhpYjNKektTazdYRzRnSUNBZ1pHbHpkR0Z1WTJWeklEMGdaR2x6ZEdGdVkyVnpMbTFoY0Nnb2VDa2dQVDRnZUM1emJHbGpaU2d3TENCMGFHbHpMbTVPWldsbmFHSnZjbk1wS1R0Y2JseHVJQ0FnSUdOdmJuTjBJR0ZrYW5WemRHVmtURzlqWVd4RGIyNXVaV04wYVhacGRIa2dQU0JOWVhSb0xtMWhlQ2d3TENCMGFHbHpMbXh2WTJGc1EyOXVibVZqZEdsMmFYUjVJQzBnTVNrN1hHNGdJQ0FnWTI5dWMzUWdlM05wWjIxaGN5d2djbWh2YzMwZ1BTQjBhR2x6TG5OdGIyOTBhRXRPVGtScGMzUmhibU5sS0Z4dUlDQWdJQ0FnWkdsemRHRnVZMlZ6TEZ4dUlDQWdJQ0FnZEdocGN5NXVUbVZwWjJoaWIzSnpMRnh1SUNBZ0lDQWdZV1JxZFhOMFpXUk1iMk5oYkVOdmJtNWxZM1JwZG1sMGVWeHVJQ0FnSUNrN1hHNWNiaUFnSUNCamIyNXpkQ0I3Y205M2N5d2dZMjlzY3l3Z2RtRnNjMzBnUFNCMGFHbHpMbU52YlhCMWRHVk5aVzFpWlhKemFHbHdVM1J5Wlc1bmRHaHpLRnh1SUNBZ0lDQWdhVzVrYVdObGN5eGNiaUFnSUNBZ0lHUnBjM1JoYm1ObGN5eGNiaUFnSUNBZ0lITnBaMjFoY3l4Y2JpQWdJQ0FnSUhKb2IzTmNiaUFnSUNBcE8xeHVYRzRnSUNBZ1kyOXVjM1FnYzJsNlpTQTlJRnQwYjFSeVlXNXpabTl5YlM1c1pXNW5kR2dzSUhKaGQwUmhkR0V1YkdWdVozUm9YVHRjYmlBZ0lDQnNaWFFnWjNKaGNHZ2dQU0J1WlhjZ2JXRjBjbWw0TGxOd1lYSnpaVTFoZEhKcGVDaHliM2R6TENCamIyeHpMQ0IyWVd4ekxDQnphWHBsS1R0Y2JseHVJQ0FnSUM4dklGUm9hWE1nZDJGeklHRWdkbVZ5ZVNCemNHVmphV0ZzYkhrZ1kyOXVjM1J5ZFdOMFpXUWdaM0poY0dnZ2QybDBhQ0JqYjI1emRHRnVkQ0JrWldkeVpXVXVYRzRnSUNBZ0x5OGdWR2hoZENCc1pYUnpJSFZ6SUdSdklHWmhibU41SUhWdWNHRmphMmx1WnlCaWVTQnlaWE5vWVhCcGJtY2dkR2hsSUdOemNpQnRZWFJ5YVhnZ2FXNWthV05sYzF4dUlDQWdJQzh2SUdGdVpDQmtZWFJoTGlCRWIybHVaeUJ6YnlCeVpXeHBaWE1nYjI0Z2RHaGxJR052Ym5OMFlXNTBJR1JsWjNKbFpTQmhjM04xYlhCMGFXOXVJVnh1WEc0Z0lDQWdZMjl1YzNRZ2JtOXliV1ZrSUQwZ2JXRjBjbWw0TG01dmNtMWhiR2w2WlNobmNtRndhQ3dnYldGMGNtbDRMazV2Y20xVWVYQmxMbXd4S1R0Y2JseHVJQ0FnSUdOdmJuTjBJR056Y2sxaGRISnBlQ0E5SUcxaGRISnBlQzVuWlhSRFUxSW9ibTl5YldWa0tUdGNiaUFnSUNCamIyNXpkQ0J1VUc5cGJuUnpJRDBnZEc5VWNtRnVjMlp2Y20wdWJHVnVaM1JvTzF4dVhHNGdJQ0FnWTI5dWMzUWdaVWx1WkdsalpYTWdQU0IxZEdsc2N5NXlaWE5vWVhCbE1tUW9YRzRnSUNBZ0lDQmpjM0pOWVhSeWFYZ3VhVzVrYVdObGN5eGNiaUFnSUNBZ0lHNVFiMmx1ZEhNc1hHNGdJQ0FnSUNCMGFHbHpMbTVPWldsbmFHSnZjbk5jYmlBZ0lDQXBPMXh1WEc0Z0lDQWdZMjl1YzNRZ1pWZGxhV2RvZEhNZ1BTQjFkR2xzY3k1eVpYTm9ZWEJsTW1Rb1hHNGdJQ0FnSUNCamMzSk5ZWFJ5YVhndWRtRnNkV1Z6TEZ4dUlDQWdJQ0FnYmxCdmFXNTBjeXhjYmlBZ0lDQWdJSFJvYVhNdWJrNWxhV2RvWW05eWMxeHVJQ0FnSUNrN1hHNWNiaUFnSUNCamIyNXpkQ0JsYldKbFpHUnBibWNnUFNCcGJtbDBWSEpoYm5ObWIzSnRLR1ZKYm1ScFkyVnpMQ0JsVjJWcFoyaDBjeXdnZEdocGN5NWxiV0psWkdScGJtY3BPMXh1WEc0Z0lDQWdZMjl1YzNRZ2JrVndiMk5vY3lBOUlIUm9hWE11YmtWd2IyTm9jeUEvWEc0Z0lDQWdJQ0IwYUdsekxtNUZjRzlqYUhNZ0x5QXpJRHBjYmlBZ0lDQWdJR2R5WVhCb0xtNVNiM2R6SUR3OUlERXdNREF3SUQ5Y2JpQWdJQ0FnSUNBZ01UQXdJRHBjYmlBZ0lDQWdJQ0FnTXpBN1hHNWNiaUFnSUNCamIyNXpkQ0JuY21Gd2FFMWhlQ0E5SUdkeVlYQm9YRzRnSUNBZ0lDQXVaMlYwVm1Gc2RXVnpLQ2xjYmlBZ0lDQWdJQzV5WldSMVkyVW9LRzFoZUN3Z2RtRnNLU0E5UGlBb2RtRnNJRDRnYldGNElEOGdkbUZzSURvZ2JXRjRLU3dnTUNrN1hHNGdJQ0FnWjNKaGNHZ2dQU0JuY21Gd2FDNXRZWEFvS0haaGJIVmxLU0E5UGlBb2RtRnNkV1VnUENCbmNtRndhRTFoZUNBdklHNUZjRzlqYUhNZ1B5QXdJRG9nZG1Gc2RXVXBLVHRjYmlBZ0lDQm5jbUZ3YUNBOUlHMWhkSEpwZUM1bGJHbHRhVzVoZEdWYVpYSnZjeWhuY21Gd2FDazdYRzVjYmlBZ0lDQmpiMjV6ZENCbGNHOWphSE5RWlhKVFlXMXdiR1VnUFNCMGFHbHpMbTFoYTJWRmNHOWphSE5RWlhKVFlXMXdiR1VvWEc0Z0lDQWdJQ0JuY21Gd2FDNW5aWFJXWVd4MVpYTW9LU3hjYmlBZ0lDQWdJRzVGY0c5amFITmNiaUFnSUNBcE8xeHVJQ0FnSUdOdmJuTjBJR2hsWVdRZ1BTQm5jbUZ3YUM1blpYUlNiM2R6S0NrN1hHNGdJQ0FnWTI5dWMzUWdkR0ZwYkNBOUlHZHlZWEJvTG1kbGRFTnZiSE1vS1R0Y2JseHVJQ0FnSUM4dklFbHVhWFJwWVd4cGVtVWdiM0IwYVcxcGVtRjBhVzl1SUhOc2FXZG9kR3g1SUdScFptWmxjbVZ1ZEd4NUlIUm9ZVzRnZEdobElHWnBkQ0J0WlhSb2IyUXVYRzRnSUNBZ2RHaHBjeTVoYzNOcFoyNVBjSFJwYldsNllYUnBiMjVUZEdGMFpWQmhjbUZ0WlhSbGNuTW9lMXh1SUNBZ0lDQWdhR1ZoWkVWdFltVmtaR2x1WnpvZ1pXMWlaV1JrYVc1bkxGeHVJQ0FnSUNBZ2RHRnBiRVZ0WW1Wa1pHbHVaem9nZEdocGN5NWxiV0psWkdScGJtY3NYRzRnSUNBZ0lDQm9aV0ZrTEZ4dUlDQWdJQ0FnZEdGcGJDeGNiaUFnSUNBZ0lHTjFjbkpsYm5SRmNHOWphRG9nTUN4Y2JpQWdJQ0FnSUc1RmNHOWphSE1zWEc0Z0lDQWdJQ0J1Vm1WeWRHbGpaWE02SUdkeVlYQm9MbWRsZEVScGJYTW9LVnN4WFN4Y2JpQWdJQ0FnSUdWd2IyTm9jMUJsY2xOaGJYQnNaU3hjYmlBZ0lDQjlLVHRjYmlBZ0lDQjBhR2x6TG5CeVpYQmhjbVZHYjNKUGNIUnBiV2w2WVhScGIyNU1iMjl3S0NrN1hHNWNiaUFnSUNCeVpYUjFjbTRnZEdocGN5NXZjSFJwYldsNlpVeGhlVzkxZENncE8xeHVJQ0I5WEc1Y2JpQWdMeW9xWEc0Z0lDQXFJRU5vWldOcmN5QnBaaUIzWlNkeVpTQjFjMmx1WnlCemRYQmxjblpwYzJWa0lIQnliMnBsWTNScGIyNHNJSFJvWlc0Z2NISnZZMlZ6Y3lCMGFHVWdaM0poY0doY2JpQWdJQ29nWVdOamIzSmthVzVuYkhrdVhHNGdJQ0FxTDF4dUlDQndjbWwyWVhSbElIQnliMk5sYzNOSGNtRndhRVp2Y2xOMWNHVnlkbWx6WldSUWNtOXFaV04wYVc5dUtDa2dlMXh1SUNBZ0lHTnZibk4wSUh0WkxDQllmU0E5SUhSb2FYTTdYRzRnSUNBZ2FXWWdLRmtwSUh0Y2JpQWdJQ0FnSUdsbUlDaFpMbXhsYm1kMGFDQWhQVDBnV0M1c1pXNW5kR2dwWEc0Z0lDQWdJQ0FnSUhSb2NtOTNJRzVsZHlCRmNuSnZjaWduVEdWdVozUm9JRzltSUZnZ1lXNWtJSGtnYlhWemRDQmlaU0JsY1hWaGJDY3BPMXh1WEc1Y2JpQWdJQ0FnSUdsbUlDaDBhR2x6TG5SaGNtZGxkRTFsZEhKcFl5QTlQVDBnVkdGeVoyVjBUV1YwY21sakxtTmhkR1ZuYjNKcFkyRnNLU0I3WEc0Z0lDQWdJQ0FnSUdOdmJuTjBJR3gwSUQwZ2RHaHBjeTUwWVhKblpYUlhaV2xuYUhRZ1BDQXhMakE3WEc0Z0lDQWdJQ0FnSUdOdmJuTjBJR1poY2tScGMzUWdQU0JzZENBL0lESXVOU0FxSUNneExqQWdMeUFvTVM0d0lDMGdkR2hwY3k1MFlYSm5aWFJYWldsbmFIUXBLU0E2SURFdU1HVXhNanRjYmlBZ0lDQWdJQ0FnZEdocGN5NW5jbUZ3YUNBOUlIUm9hWE11WTJGMFpXZHZjbWxqWVd4VGFXMXdiR2xqYVdGc1UyVjBTVzUwWlhKelpXTjBhVzl1S0Z4dUlDQWdJQ0FnSUNBZ0lIUm9hWE11WjNKaGNHZ3NYRzRnSUNBZ0lDQWdJQ0FnV1N4Y2JpQWdJQ0FnSUNBZ0lDQm1ZWEpFYVhOMFhHNGdJQ0FnSUNBZ0lDazdYRzRnSUNBZ0lDQjlYRzRnSUNBZ0lDQXZMeUJVVDBSUElDaGhibVI1WTI5bGJtVnVRQ2s2SUdGa1pDQnViMjR0WTJGMFpXZHZjbWxqWVd3Z2MzVndaWEoyYVhObFpDQmxiV0psWkdScGJtZHpMbHh1SUNBZ0lIMWNiaUFnZlZ4dVhHNGdJQzhxS2x4dUlDQWdLaUJOWVc1MVlXeHNlU0J6ZEdWd0lIUm9jbTkxWjJnZ2RHaGxJRzl3ZEdsdGFYcGhkR2x2YmlCd2NtOWpaWE56SUc5dVpTQmxjRzlqYUNCaGRDQmhJSFJwYldVdVhHNGdJQ0FxTDF4dUlDQnpkR1Z3S0NrZ2UxeHVJQ0FnSUdOdmJuTjBJSHRqZFhKeVpXNTBSWEJ2WTJoOUlEMGdkR2hwY3k1dmNIUnBiV2w2WVhScGIyNVRkR0YwWlR0Y2JseHVJQ0FnSUdsbUlDaGpkWEp5Wlc1MFJYQnZZMmdnUENCMGFHbHpMbWRsZEU1RmNHOWphSE1vS1NsY2JpQWdJQ0FnSUhSb2FYTXViM0IwYVcxcGVtVk1ZWGx2ZFhSVGRHVndLR04xY25KbGJuUkZjRzlqYUNrN1hHNWNiaUFnSUNCeVpYUjFjbTRnZEdocGN5NXZjSFJwYldsNllYUnBiMjVUZEdGMFpTNWpkWEp5Wlc1MFJYQnZZMmc3WEc0Z0lIMWNibHh1SUNBdktpcGNiaUFnSUNvZ1VtVjBkWEp1Y3lCMGFHVWdZMjl0Y0hWMFpXUWdjSEp2YW1WamRHVmtJR1Z0WW1Wa1pHbHVaeTVjYmlBZ0lDb3ZYRzRnSUdkbGRFVnRZbVZrWkdsdVp5Z3BJSHRjYmlBZ0lDQnlaWFIxY200Z2RHaHBjeTVsYldKbFpHUnBibWM3WEc0Z0lIMWNibHh1SUNBdktpcGNiaUFnSUNvZ1EyOXRjSFYwWlNCMGFHVWdZR0J1VG1WcFoyaGliM0p6WUdBZ2JtVmhjbVZ6ZENCd2IybHVkSE1nWm05eUlHVmhZMmdnWkdGMFlTQndiMmx1ZENCcGJpQmdZRmhnWUZ4dUlDQWdLaUJVYUdseklHMWhlU0JpWlNCbGVHRmpkQ3dnWW5WMElHMXZjbVVnYkdsclpXeDVJR2x6SUdGd2NISnZlR2x0WVhSbFpDQjJhV0VnYm1WaGNtVnpkQ0J1WldsbmFHSnZjbHh1SUNBZ0tpQmtaWE5qWlc1MExseHVJQ0FnS2k5Y2JpQWdjSEpwZG1GMFpTQnVaV0Z5WlhOMFRtVnBaMmhpYjNKektGZzZJRlpsWTNSdmNpa2dlMXh1SUNBZ0lHTnZibk4wSUh0a2FYTjBZVzVqWlVadUxDQnVUbVZwWjJoaWIzSnpmU0E5SUhSb2FYTTdYRzRnSUNBZ1kyOXVjM1FnYkc5bk1pQTlJQ2h1T2lCdWRXMWlaWElwSUQwK0lFMWhkR2d1Ykc5bktHNHBJQzhnVFdGMGFDNXNiMmNvTWlrN1hHNGdJQ0FnWTI5dWMzUWdiV1YwY21salRrNUVaWE5qWlc1MElEMGdibTVFWlhOalpXNTBMbTFoYTJWT1RrUmxjMk5sYm5Rb1pHbHpkR0Z1WTJWR2Jpd2dkR2hwY3k1eVlXNWtiMjBwTzF4dVhHNGdJQ0FnTHk4Z1NHRnVaR3hsSUhCNWRHaHZiak1nY205MWJtUnBibWNnWkc5M2JpQm1jbTl0SURBdU5TQmthWE5qY25CaGJtTjVYRzRnSUNBZ1kyOXVjM1FnY205MWJtUWdQU0FvYmpvZ2JuVnRZbVZ5S1NBOVBpQjdYRzRnSUNBZ0lDQnlaWFIxY200Z2JpQTlQVDBnTUM0MUlEOGdNQ0E2SUUxaGRHZ3VjbTkxYm1Rb2JpazdYRzRnSUNBZ2ZUdGNibHh1SUNBZ0lHTnZibk4wSUc1VWNtVmxjeUE5SURVZ0t5Qk5ZWFJvTG1ac2IyOXlLSEp2ZFc1a0tGZ3ViR1Z1WjNSb0lDb3FJREF1TlNBdklESXdMakFwS1R0Y2JpQWdJQ0JqYjI1emRDQnVTWFJsY25NZ1BTQk5ZWFJvTG0xaGVDZzFMQ0JOWVhSb0xtWnNiMjl5S0UxaGRHZ3VjbTkxYm1Rb2JHOW5NaWhZTG14bGJtZDBhQ2twS1NrN1hHNWNiaUFnSUNCMGFHbHpMbkp3Um05eVpYTjBJRDBnZEhKbFpTNXRZV3RsUm05eVpYTjBLRmdzSUc1T1pXbG5hR0p2Y25Nc0lHNVVjbVZsY3l3Z2RHaHBjeTV5WVc1a2IyMHBPMXh1WEc0Z0lDQWdZMjl1YzNRZ2JHVmhaa0Z5Y21GNUlEMGdkSEpsWlM1dFlXdGxUR1ZoWmtGeWNtRjVLSFJvYVhNdWNuQkdiM0psYzNRcE8xeHVJQ0FnSUdOdmJuTjBJSHRwYm1ScFkyVnpMQ0IzWldsbmFIUnpmU0E5SUcxbGRISnBZMDVPUkdWelkyVnVkQ2hjYmlBZ0lDQWdJRmdzWEc0Z0lDQWdJQ0JzWldGbVFYSnlZWGtzWEc0Z0lDQWdJQ0J1VG1WcFoyaGliM0p6TEZ4dUlDQWdJQ0FnYmtsMFpYSnpYRzRnSUNBZ0tUdGNiaUFnSUNCeVpYUjFjbTRnZTJ0dWJrbHVaR2xqWlhNNklHbHVaR2xqWlhNc0lHdHVia1JwYzNSaGJtTmxjem9nZDJWcFoyaDBjMzA3WEc0Z0lIMWNibHh1SUNBdktpcGNiaUFnSUNvZ1IybDJaVzRnWVNCelpYUWdiMllnWkdGMFlTQllMQ0JoSUc1bGFXZG9ZbTl5YUc5dlpDQnphWHBsTENCaGJtUWdZU0J0WldGemRYSmxJRzltSUdScGMzUmhibU5sWEc0Z0lDQXFJR052YlhCMWRHVWdkR2hsSUdaMWVucDVJSE5wYlhCc2FXTnBZV3dnYzJWMElDaG9aWEpsSUhKbGNISmxjMlZ1ZEdWa0lHRnpJR0VnWm5WNmVua2daM0poY0dnZ2FXNWNiaUFnSUNvZ2RHaGxJR1p2Y20wZ2IyWWdZU0J6Y0dGeWMyVWdiV0YwY21sNEtTQmhjM052WTJsaGRHVmtJSFJ2SUhSb1pTQmtZWFJoTGlCVWFHbHpJR2x6SUdSdmJtVWdZbmxjYmlBZ0lDb2diRzlqWVd4c2VTQmhjSEJ5YjNocGJXRjBhVzVuSUdkbGIyUmxjMmxqSUdScGMzUmhibU5sSUdGMElHVmhZMmdnY0c5cGJuUXNJR055WldGMGFXNW5JR0VnWm5WNmVubGNiaUFnSUNvZ2MybHRjR3hwWTJsaGJDQnpaWFFnWm05eUlHVmhZMmdnYzNWamFDQndiMmx1ZEN3Z1lXNWtJSFJvWlc0Z1kyOXRZbWx1YVc1bklHRnNiQ0IwYUdVZ2JHOWpZV3hjYmlBZ0lDb2dablY2ZW5rZ2MybHRjR3hwWTJsaGJDQnpaWFJ6SUdsdWRHOGdZU0JuYkc5aVlXd2diMjVsSUhacFlTQmhJR1oxZW5wNUlIVnVhVzl1TGx4dUlDQWdLaTljYmlBZ2NISnBkbUYwWlNCbWRYcDZlVk5wYlhCc2FXTnBZV3hUWlhRb1hHNGdJQ0FnV0RvZ1ZtVmpkRzl5TEZ4dUlDQWdJRzVPWldsbmFHSnZjbk02SUc1MWJXSmxjaXhjYmlBZ0lDQnpaWFJQY0UxcGVGSmhkR2x2SUQwZ01TNHdYRzRnSUNrZ2UxeHVJQ0FnSUdOdmJuTjBJSHRyYm01SmJtUnBZMlZ6SUQwZ1cxMHNJR3R1YmtScGMzUmhibU5sY3lBOUlGdGRMQ0JzYjJOaGJFTnZibTVsWTNScGRtbDBlWDBnUFNCMGFHbHpPMXh1WEc0Z0lDQWdZMjl1YzNRZ2UzTnBaMjFoY3l3Z2NtaHZjMzBnUFNCMGFHbHpMbk50YjI5MGFFdE9Ua1JwYzNSaGJtTmxLRnh1SUNBZ0lDQWdhMjV1UkdsemRHRnVZMlZ6TEZ4dUlDQWdJQ0FnYms1bGFXZG9ZbTl5Y3l4Y2JpQWdJQ0FnSUd4dlkyRnNRMjl1Ym1WamRHbDJhWFI1WEc0Z0lDQWdLVHRjYmx4dUlDQWdJR052Ym5OMElIdHliM2R6TENCamIyeHpMQ0IyWVd4emZTQTlJSFJvYVhNdVkyOXRjSFYwWlUxbGJXSmxjbk5vYVhCVGRISmxibWQwYUhNb1hHNGdJQ0FnSUNCcmJtNUpibVJwWTJWekxGeHVJQ0FnSUNBZ2EyNXVSR2x6ZEdGdVkyVnpMRnh1SUNBZ0lDQWdjMmxuYldGekxGeHVJQ0FnSUNBZ2NtaHZjMXh1SUNBZ0lDazdYRzVjYmlBZ0lDQmpiMjV6ZENCemFYcGxJRDBnVzFndWJHVnVaM1JvTENCWUxteGxibWQwYUYwN1hHNGdJQ0FnWTI5dWMzUWdjM0JoY25ObFRXRjBjbWw0SUQwZ2JtVjNJRzFoZEhKcGVDNVRjR0Z5YzJWTllYUnlhWGdvY205M2N5d2dZMjlzY3l3Z2RtRnNjeXdnYzJsNlpTazdYRzVjYmlBZ0lDQmpiMjV6ZENCMGNtRnVjM0J2YzJVZ1BTQnRZWFJ5YVhndWRISmhibk53YjNObEtITndZWEp6WlUxaGRISnBlQ2s3WEc0Z0lDQWdZMjl1YzNRZ2NISnZaRTFoZEhKcGVDQTlJRzFoZEhKcGVDNXdZV2x5ZDJselpVMTFiSFJwY0d4NUtITndZWEp6WlUxaGRISnBlQ3dnZEhKaGJuTndiM05sS1R0Y2JseHVJQ0FnSUdOdmJuTjBJR0VnUFNCdFlYUnlhWGd1YzNWaWRISmhZM1FvYldGMGNtbDRMbUZrWkNoemNHRnljMlZOWVhSeWFYZ3NJSFJ5WVc1emNHOXpaU2tzSUhCeWIyUk5ZWFJ5YVhncE8xeHVJQ0FnSUdOdmJuTjBJR0lnUFNCdFlYUnlhWGd1YlhWc2RHbHdiSGxUWTJGc1lYSW9ZU3dnYzJWMFQzQk5hWGhTWVhScGJ5azdYRzRnSUNBZ1kyOXVjM1FnWXlBOUlHMWhkSEpwZUM1dGRXeDBhWEJzZVZOallXeGhjaWh3Y205a1RXRjBjbWw0TENBeExqQWdMU0J6WlhSUGNFMXBlRkpoZEdsdktUdGNiaUFnSUNCamIyNXpkQ0J5WlhOMWJIUWdQU0J0WVhSeWFYZ3VZV1JrS0dJc0lHTXBPMXh1WEc0Z0lDQWdjbVYwZFhKdUlISmxjM1ZzZER0Y2JpQWdmVnh1WEc0Z0lDOHFLbHh1SUNBZ0tpQkRiMjFpYVc1bElHRWdablY2ZW5rZ2MybHRjR3hwWTJsaGJDQnpaWFFnZDJsMGFDQmhibTkwYUdWeUlHWjFlbnA1SUhOcGJYQnNhV05wWVd3Z2MyVjBYRzRnSUNBcUlHZGxibVZ5WVhSbFpDQm1jbTl0SUdOaGRHVm5iM0pwWTJGc0lHUmhkR0VnZFhOcGJtY2dZMkYwWldkdmNtbGpZV3dnWkdsemRHRnVZMlZ6TGlCVWFHVWdkR0Z5WjJWMFhHNGdJQ0FxSUdSaGRHRWdhWE1nWVhOemRXMWxaQ0IwYnlCaVpTQmpZWFJsWjI5eWFXTmhiQ0JzWVdKbGJDQmtZWFJoSUNoaElIWmxZM1J2Y2lCdlppQnNZV0psYkhNcExGeHVJQ0FnS2lCaGJtUWdkR2hwY3lCM2FXeHNJSFZ3WkdGMFpTQjBhR1VnWm5WNmVua2djMmx0Y0d4cFkybGhiQ0J6WlhRZ2RHOGdjbVZ6Y0dWamRDQjBhR0YwSUd4aFltVnNJR1JoZEdFdVhHNGdJQ0FxTDF4dUlDQndjbWwyWVhSbElHTmhkR1ZuYjNKcFkyRnNVMmx0Y0d4cFkybGhiRk5sZEVsdWRHVnljMlZqZEdsdmJpaGNiaUFnSUNCemFXMXdiR2xqYVdGc1UyVjBPaUJ0WVhSeWFYZ3VVM0JoY25ObFRXRjBjbWw0TEZ4dUlDQWdJSFJoY21kbGREb2diblZ0WW1WeVcxMHNYRzRnSUNBZ1ptRnlSR2x6ZERvZ2JuVnRZbVZ5TEZ4dUlDQWdJSFZ1YTI1dmQyNUVhWE4wSUQwZ01TNHdYRzRnSUNrZ2UxeHVJQ0FnSUd4bGRDQnBiblJsY25ObFkzUnBiMjRnUFNCbVlYTjBTVzUwWlhKelpXTjBhVzl1S0Z4dUlDQWdJQ0FnYzJsdGNHeHBZMmxoYkZObGRDeGNiaUFnSUNBZ0lIUmhjbWRsZEN4Y2JpQWdJQ0FnSUhWdWEyNXZkMjVFYVhOMExGeHVJQ0FnSUNBZ1ptRnlSR2x6ZEZ4dUlDQWdJQ2s3WEc0Z0lDQWdhVzUwWlhKelpXTjBhVzl1SUQwZ2JXRjBjbWw0TG1Wc2FXMXBibUYwWlZwbGNtOXpLR2x1ZEdWeWMyVmpkR2x2YmlrN1hHNGdJQ0FnY21WMGRYSnVJSEpsYzJWMFRHOWpZV3hEYjI1dVpXTjBhWFpwZEhrb2FXNTBaWEp6WldOMGFXOXVLVHRjYmlBZ2ZWeHVYRzRnSUM4cUtseHVJQ0FnS2lCRGIyMXdkWFJsSUdFZ1kyOXVkR2x1ZFc5MWN5QjJaWEp6YVc5dUlHOW1JSFJvWlNCa2FYTjBZVzVqWlNCMGJ5QjBhR1VnYTNSb0lHNWxZWEpsYzNSY2JpQWdJQ29nYm1WcFoyaGliM0l1SUZSb1lYUWdhWE1zSUhSb2FYTWdhWE1nYzJsdGFXeGhjaUIwYnlCcmJtNHRaR2x6ZEdGdVkyVWdZblYwSUdGc2JHOTNjeUJqYjI1MGFXNTFiM1Z6WEc0Z0lDQXFJR3NnZG1Gc2RXVnpJSEpoZEdobGNpQjBhR0Z1SUhKbGNYVnBjbWx1WnlCaGJpQnBiblJsWjNKaGJDQnJMaUJKYmlCbGMzTmpaVzVqWlNCM1pTQmhjbVVnYzJsdGNHeDVYRzRnSUNBcUlHTnZiWEIxZEdsdVp5QjBhR1VnWkdsemRHRnVZMlVnYzNWamFDQjBhR0YwSUhSb1pTQmpZWEprYVc1aGJHbDBlU0J2WmlCbWRYcDZlU0J6WlhRZ2QyVWdaMlZ1WlhKaGRHVmNiaUFnSUNvZ2FYTWdheTVjYmlBZ0lDb3ZYRzRnSUhCeWFYWmhkR1VnYzIxdmIzUm9TMDVPUkdsemRHRnVZMlVvWEc0Z0lDQWdaR2x6ZEdGdVkyVnpPaUJXWldOMGIzSnpMRnh1SUNBZ0lHczZJRzUxYldKbGNpeGNiaUFnSUNCc2IyTmhiRU52Ym01bFkzUnBkbWwwZVNBOUlERXVNQ3hjYmlBZ0lDQnVTWFJsY2lBOUlEWTBMRnh1SUNBZ0lHSmhibVIzYVdSMGFDQTlJREV1TUZ4dUlDQXBJSHRjYmlBZ0lDQmpiMjV6ZENCMFlYSm5aWFFnUFNBb1RXRjBhQzVzYjJjb2F5a2dMeUJOWVhSb0xteHZaeWd5S1NrZ0tpQmlZVzVrZDJsa2RHZzdYRzRnSUNBZ1kyOXVjM1FnY21odklEMGdkWFJwYkhNdWVtVnliM01vWkdsemRHRnVZMlZ6TG14bGJtZDBhQ2s3WEc0Z0lDQWdZMjl1YzNRZ2NtVnpkV3gwSUQwZ2RYUnBiSE11ZW1WeWIzTW9aR2x6ZEdGdVkyVnpMbXhsYm1kMGFDazdYRzVjYmlBZ0lDQm1iM0lnS0d4bGRDQnBJRDBnTURzZ2FTQThJR1JwYzNSaGJtTmxjeTVzWlc1bmRHZzdJR2tyS3lrZ2UxeHVJQ0FnSUNBZ2JHVjBJR3h2SUQwZ01DNHdPMXh1SUNBZ0lDQWdiR1YwSUdocElEMGdTVzVtYVc1cGRIazdYRzRnSUNBZ0lDQnNaWFFnYldsa0lEMGdNUzR3TzF4dVhHNGdJQ0FnSUNBdkx5QlVUMFJQT2lCVWFHbHpJR2x6SUhabGNua2dhVzVsWm1acFkybGxiblFzSUdKMWRDQjNhV3hzSUdSdklHWnZjaUJ1YjNjdUlFWkpXRTFGWEc0Z0lDQWdJQ0JqYjI1emRDQnBkR2hFYVhOMFlXNWpaWE1nUFNCa2FYTjBZVzVqWlhOYmFWMDdYRzRnSUNBZ0lDQmpiMjV6ZENCdWIyNWFaWEp2UkdsemRITWdQU0JwZEdoRWFYTjBZVzVqWlhNdVptbHNkR1Z5S0Noa0tTQTlQaUJrSUQ0Z01DNHdLVHRjYmx4dUlDQWdJQ0FnYVdZZ0tHNXZibHBsY205RWFYTjBjeTVzWlc1bmRHZ2dQajBnYkc5allXeERiMjV1WldOMGFYWnBkSGtwSUh0Y2JpQWdJQ0FnSUNBZ1kyOXVjM1FnYVc1a1pYZ2dQU0JOWVhSb0xtWnNiMjl5S0d4dlkyRnNRMjl1Ym1WamRHbDJhWFI1S1R0Y2JpQWdJQ0FnSUNBZ1kyOXVjM1FnYVc1MFpYSndiMnhoZEdsdmJpQTlJR3h2WTJGc1EyOXVibVZqZEdsMmFYUjVJQzBnYVc1a1pYZzdYRzRnSUNBZ0lDQWdJR2xtSUNocGJtUmxlQ0ErSURBcElIdGNiaUFnSUNBZ0lDQWdJQ0J5YUc5YmFWMGdQU0J1YjI1YVpYSnZSR2x6ZEhOYmFXNWtaWGdnTFNBeFhUdGNiaUFnSUNBZ0lDQWdJQ0JwWmlBb2FXNTBaWEp3YjJ4aGRHbHZiaUErSUZOTlQwOVVTRjlMWDFSUFRFVlNRVTVEUlNrZ2UxeHVJQ0FnSUNBZ0lDQWdJQ0FnY21odlcybGRJQ3M5WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJR2x1ZEdWeWNHOXNZWFJwYjI0Z0tpQW9ibTl1V21WeWIwUnBjM1J6VzJsdVpHVjRYU0F0SUc1dmJscGxjbTlFYVhOMGMxdHBibVJsZUNBdElERmRLVHRjYmlBZ0lDQWdJQ0FnSUNCOVhHNGdJQ0FnSUNBZ0lIMGdaV3h6WlNCN1hHNGdJQ0FnSUNBZ0lDQWdjbWh2VzJsZElEMGdhVzUwWlhKd2IyeGhkR2x2YmlBcUlHNXZibHBsY205RWFYTjBjMXN3WFR0Y2JpQWdJQ0FnSUNBZ2ZWeHVJQ0FnSUNBZ2ZTQmxiSE5sSUdsbUlDaHViMjVhWlhKdlJHbHpkSE11YkdWdVozUm9JRDRnTUNrZ2UxeHVJQ0FnSUNBZ0lDQnlhRzliYVYwZ1BTQjFkR2xzY3k1dFlYZ29ibTl1V21WeWIwUnBjM1J6S1R0Y2JpQWdJQ0FnSUgxY2JseHVJQ0FnSUNBZ1ptOXlJQ2hzWlhRZ2JpQTlJREE3SUc0Z1BDQnVTWFJsY2pzZ2Jpc3JLU0I3WEc0Z0lDQWdJQ0FnSUd4bGRDQndjM1Z0SUQwZ01DNHdPMXh1SUNBZ0lDQWdJQ0JtYjNJZ0tHeGxkQ0JxSUQwZ01Uc2dhaUE4SUdScGMzUmhibU5sYzF0cFhTNXNaVzVuZEdnN0lHb3JLeWtnZTF4dUlDQWdJQ0FnSUNBZ0lHTnZibk4wSUdRZ1BTQmthWE4wWVc1alpYTmJhVjFiYWwwZ0xTQnlhRzliYVYwN1hHNGdJQ0FnSUNBZ0lDQWdhV1lnS0dRZ1BpQXdLVnh1SUNBZ0lDQWdJQ0FnSUNBZ2NITjFiU0FyUFNCTllYUm9MbVY0Y0NndEtHUWdMeUJ0YVdRcEtUdGNiaUFnSUNBZ0lDQWdJQ0JsYkhObFhHNGdJQ0FnSUNBZ0lDQWdJQ0J3YzNWdElDczlJREV1TUR0Y2JpQWdJQ0FnSUNBZ2ZWeHVYRzRnSUNBZ0lDQWdJR2xtSUNoTllYUm9MbUZpY3lod2MzVnRJQzBnZEdGeVoyVjBLU0E4SUZOTlQwOVVTRjlMWDFSUFRFVlNRVTVEUlNsY2JpQWdJQ0FnSUNBZ0lDQmljbVZoYXp0Y2JseHVYRzRnSUNBZ0lDQWdJR2xtSUNod2MzVnRJRDRnZEdGeVoyVjBLU0I3WEc0Z0lDQWdJQ0FnSUNBZ2FHa2dQU0J0YVdRN1hHNGdJQ0FnSUNBZ0lDQWdiV2xrSUQwZ0tHeHZJQ3NnYUdrcElDOGdNaTR3TzF4dUlDQWdJQ0FnSUNCOUlHVnNjMlVnZTF4dUlDQWdJQ0FnSUNBZ0lHeHZJRDBnYldsa08xeHVJQ0FnSUNBZ0lDQWdJR2xtSUNob2FTQTlQVDBnU1c1bWFXNXBkSGtwWEc0Z0lDQWdJQ0FnSUNBZ0lDQnRhV1FnS2owZ01qdGNiaUFnSUNBZ0lDQWdJQ0JsYkhObFhHNGdJQ0FnSUNBZ0lDQWdJQ0J0YVdRZ1BTQW9iRzhnS3lCb2FTa2dMeUF5TGpBN1hHNGdJQ0FnSUNBZ0lIMWNiaUFnSUNBZ0lIMWNibHh1SUNBZ0lDQWdjbVZ6ZFd4MFcybGRJRDBnYldsa08xeHVYRzRnSUNBZ0lDQXZMeUJVVDBSUE9pQlVhR2x6SUdseklIWmxjbmtnYVc1bFptWnBZMmxsYm5Rc0lHSjFkQ0IzYVd4c0lHUnZJR1p2Y2lCdWIzY3VJRVpKV0UxRlhHNGdJQ0FnSUNCcFppQW9jbWh2VzJsZElENGdNQzR3S1NCN1hHNGdJQ0FnSUNBZ0lHTnZibk4wSUcxbFlXNUpkR2hFYVhOMFlXNWpaWE1nUFNCMWRHbHNjeTV0WldGdUtHbDBhRVJwYzNSaGJtTmxjeWs3WEc0Z0lDQWdJQ0FnSUdsbUlDaHlaWE4xYkhSYmFWMGdQQ0JOU1U1ZlMxOUVTVk5VWDFORFFVeEZJQ29nYldWaGJrbDBhRVJwYzNSaGJtTmxjeWxjYmlBZ0lDQWdJQ0FnSUNCeVpYTjFiSFJiYVYwZ1BTQk5TVTVmUzE5RVNWTlVYMU5EUVV4RklDb2diV1ZoYmtsMGFFUnBjM1JoYm1ObGN6dGNiaUFnSUNBZ0lIMGdaV3h6WlNCN1hHNGdJQ0FnSUNBZ0lHTnZibk4wSUcxbFlXNUVhWE4wWVc1alpYTWdQU0IxZEdsc2N5NXRaV0Z1S0dScGMzUmhibU5sY3k1dFlYQW9kWFJwYkhNdWJXVmhiaWtwTzF4dUlDQWdJQ0FnSUNCcFppQW9jbVZ6ZFd4MFcybGRJRHdnVFVsT1gwdGZSRWxUVkY5VFEwRk1SU0FxSUcxbFlXNUVhWE4wWVc1alpYTXBYRzRnSUNBZ0lDQWdJQ0FnY21WemRXeDBXMmxkSUQwZ1RVbE9YMHRmUkVsVFZGOVRRMEZNUlNBcUlHMWxZVzVFYVhOMFlXNWpaWE03WEc0Z0lDQWdJQ0I5WEc0Z0lDQWdmVnh1WEc0Z0lDQWdjbVYwZFhKdUlIdHphV2R0WVhNNklISmxjM1ZzZEN3Z2NtaHZjem9nY21odmZUdGNiaUFnZlZ4dVhHNGdJQzhxS2x4dUlDQWdLaUJEYjI1emRISjFZM1FnZEdobElHMWxiV0psY25Ob2FYQWdjM1J5Wlc1bmRHZ2daR0YwWVNCbWIzSWdkR2hsSURFdGMydGxiR1YwYjI0Z2IyWWdaV0ZqYUNCc2IyTmhiRnh1SUNBZ0tpQm1kWHA2ZVNCemFXMXdiR2xqYVdGc0lITmxkQ0F0TFNCMGFHbHpJR2x6SUdadmNtMWxaQ0JoY3lCaElITndZWEp6WlNCdFlYUnlhWGdnZDJobGNtVWdaV0ZqYUNCeWIzY2dhWE5jYmlBZ0lDb2dZU0JzYjJOaGJDQm1kWHA2ZVNCemFXMXdiR2xqYVdGc0lITmxkQ3dnZDJsMGFDQmhJRzFsYldKbGNuTm9hWEFnYzNSeVpXNW5kR2dnWm05eUlIUm9aVnh1SUNBZ0tpQXhMWE5wYlhCc1pYZ2dkRzhnWldGamFDQnZkR2hsY2lCa1lYUmhJSEJ2YVc1MExseHVJQ0FnS2k5Y2JpQWdjSEpwZG1GMFpTQmpiMjF3ZFhSbFRXVnRZbVZ5YzJocGNGTjBjbVZ1WjNSb2N5aGNiaUFnSUNCcmJtNUpibVJwWTJWek9pQldaV04wYjNKekxGeHVJQ0FnSUd0dWJrUnBjM1JoYm1ObGN6b2dWbVZqZEc5eWN5eGNiaUFnSUNCemFXZHRZWE02SUc1MWJXSmxjbHRkTEZ4dUlDQWdJSEpvYjNNNklHNTFiV0psY2x0ZFhHNGdJQ2s2SUhzZ2NtOTNjem9nYm5WdFltVnlXMTA3SUdOdmJITTZJRzUxYldKbGNsdGRPeUIyWVd4ek9pQnVkVzFpWlhKYlhTQjlJSHRjYmlBZ0lDQmpiMjV6ZENCdVUyRnRjR3hsY3lBOUlHdHVia2x1WkdsalpYTXViR1Z1WjNSb08xeHVJQ0FnSUdOdmJuTjBJRzVPWldsbmFHSnZjbk1nUFNCcmJtNUpibVJwWTJWeld6QmRMbXhsYm1kMGFEdGNibHh1SUNBZ0lHTnZibk4wSUhKdmQzTWdQU0IxZEdsc2N5NTZaWEp2Y3lodVUyRnRjR3hsY3lBcUlHNU9aV2xuYUdKdmNuTXBPMXh1SUNBZ0lHTnZibk4wSUdOdmJITWdQU0IxZEdsc2N5NTZaWEp2Y3lodVUyRnRjR3hsY3lBcUlHNU9aV2xuYUdKdmNuTXBPMXh1SUNBZ0lHTnZibk4wSUhaaGJITWdQU0IxZEdsc2N5NTZaWEp2Y3lodVUyRnRjR3hsY3lBcUlHNU9aV2xuYUdKdmNuTXBPMXh1WEc0Z0lDQWdabTl5SUNoc1pYUWdhU0E5SURBN0lHa2dQQ0J1VTJGdGNHeGxjenNnYVNzcktTQjdYRzRnSUNBZ0lDQm1iM0lnS0d4bGRDQnFJRDBnTURzZ2FpQThJRzVPWldsbmFHSnZjbk03SUdvckt5a2dlMXh1SUNBZ0lDQWdJQ0JzWlhRZ2RtRnNJRDBnTUR0Y2JpQWdJQ0FnSUNBZ2FXWWdLR3R1YmtsdVpHbGpaWE5iYVYxYmFsMGdQVDA5SUMweEtWeHVJQ0FnSUNBZ0lDQWdJR052Ym5ScGJuVmxPeUF2THlCWFpTQmthV1J1SjNRZ1oyVjBJSFJvWlNCbWRXeHNJR3R1YmlCbWIzSWdhVnh1WEc0Z0lDQWdJQ0FnSUdsbUlDaHJibTVKYm1ScFkyVnpXMmxkVzJwZElEMDlQU0JwS1Z4dUlDQWdJQ0FnSUNBZ0lIWmhiQ0E5SURBdU1EdGNiaUFnSUNBZ0lDQWdaV3h6WlNCcFppQW9hMjV1UkdsemRHRnVZMlZ6VzJsZFcycGRJQzBnY21odmMxdHBYU0E4UFNBd0xqQXBYRzRnSUNBZ0lDQWdJQ0FnZG1Gc0lEMGdNUzR3TzF4dUlDQWdJQ0FnSUNCbGJITmxYRzRnSUNBZ0lDQWdJQ0FnZG1Gc0lEMGdUV0YwYUM1bGVIQW9MU2dvYTI1dVJHbHpkR0Z1WTJWelcybGRXMnBkSUMwZ2NtaHZjMXRwWFNrZ0x5QnphV2R0WVhOYmFWMHBLVHRjYmx4dVhHNGdJQ0FnSUNBZ0lISnZkM05iYVNBcUlHNU9aV2xuYUdKdmNuTWdLeUJxWFNBOUlHazdYRzRnSUNBZ0lDQWdJR052YkhOYmFTQXFJRzVPWldsbmFHSnZjbk1nS3lCcVhTQTlJR3R1YmtsdVpHbGpaWE5iYVYxYmFsMDdYRzRnSUNBZ0lDQWdJSFpoYkhOYmFTQXFJRzVPWldsbmFHSnZjbk1nS3lCcVhTQTlJSFpoYkR0Y2JpQWdJQ0FnSUgxY2JpQWdJQ0I5WEc1Y2JpQWdJQ0J5WlhSMWNtNGdlM0p2ZDNNc0lHTnZiSE1zSUhaaGJITjlPMXh1SUNCOVhHNWNiaUFnTHlvcVhHNGdJQ0FxSUVsdWFYUnBZV3hwZW1VZ1lTQm1kWHA2ZVNCemFXMXdiR2xqYVdGc0lITmxkQ0JsYldKbFpHUnBibWNzSUhWemFXNW5JR0VnYzNCbFkybG1hV1ZrWEc0Z0lDQXFJR2x1YVhScFlXeHBjMkYwYVc5dUlHMWxkR2h2WkNCaGJtUWdkR2hsYmlCdGFXNXBiV2w2YVc1bklIUm9aU0JtZFhwNmVTQnpaWFFnWTNKdmMzTWdaVzUwY205d2VWeHVJQ0FnS2lCaVpYUjNaV1Z1SUhSb1pTQXhMWE5yWld4bGRHOXVjeUJ2WmlCMGFHVWdhR2xuYUNCaGJtUWdiRzkzSUdScGJXVnVjMmx2Ym1Gc0lHWjFlbnA1SUhOcGJYQnNhV05wWVd4Y2JpQWdJQ29nYzJWMGN5NWNiaUFnSUNvdlhHNGdJSEJ5YVhaaGRHVWdhVzVwZEdsaGJHbDZaVk5wYlhCc2FXTnBZV3hUWlhSRmJXSmxaR1JwYm1jb0tTQjdYRzRnSUNBZ1kyOXVjM1FnYmtWd2IyTm9jeUE5SUhSb2FYTXVaMlYwVGtWd2IyTm9jeWdwTzF4dVhHNGdJQ0FnWTI5dWMzUWdlMjVEYjIxd2IyNWxiblJ6ZlNBOUlIUm9hWE03WEc0Z0lDQWdZMjl1YzNRZ1ozSmhjR2hXWVd4MVpYTWdQU0IwYUdsekxtZHlZWEJvTG1kbGRGWmhiSFZsY3lncE8xeHVJQ0FnSUd4bGRDQm5jbUZ3YUUxaGVDQTlJREE3WEc0Z0lDQWdabTl5SUNoc1pYUWdhU0E5SURBN0lHa2dQQ0JuY21Gd2FGWmhiSFZsY3k1c1pXNW5kR2c3SUdrckt5a2dlMXh1SUNBZ0lDQWdZMjl1YzNRZ2RtRnNkV1VnUFNCbmNtRndhRlpoYkhWbGMxdHBYVHRjYmlBZ0lDQWdJR2xtSUNobmNtRndhRTFoZUNBOElHZHlZWEJvVm1Gc2RXVnpXMmxkS1Z4dUlDQWdJQ0FnSUNCbmNtRndhRTFoZUNBOUlIWmhiSFZsTzF4dUlDQWdJSDFjYmx4dUlDQWdJR052Ym5OMElHZHlZWEJvSUQwZ2RHaHBjeTVuY21Gd2FDNXRZWEFvS0haaGJIVmxLU0E5UGlCN1hHNGdJQ0FnSUNCcFppQW9kbUZzZFdVZ1BDQm5jbUZ3YUUxaGVDQXZJRzVGY0c5amFITXBYRzRnSUNBZ0lDQWdJSEpsZEhWeWJpQXdPMXh1SUNBZ0lDQWdaV3h6WlZ4dUlDQWdJQ0FnSUNCeVpYUjFjbTRnZG1Gc2RXVTdYRzRnSUNBZ2ZTazdYRzVjYmlBZ0lDQXZMeUJYWlNkeVpTQnViM1FnWTI5dGNIVjBhVzVuSUhSb1pTQnpjR1ZqZEhKaGJDQnBibWwwYVdGc2FYcGhkR2x2YmlCcGJpQjBhR2x6SUdsdGNHeGxiV1Z1ZEdGMGFXOXVYRzRnSUNBZ0x5OGdkVzUwYVd3Z2QyVWdaR1YwWlhKdGFXNWxJR0VnWW1WMGRHVnlJR1ZwWjJWdWRtRnNkV1V2WldsblpXNTJaV04wYjNJZ1kyOXRjSFYwWVhScGIyNWNiaUFnSUNBdkx5QmhjSEJ5YjJGamFGeHVJQ0FnSUhSb2FYTXVaVzFpWldSa2FXNW5JRDBnZFhScGJITXVlbVZ5YjNNb1ozSmhjR2d1YmxKdmQzTXBMbTFoY0Nnb0tTQTlQaUI3WEc0Z0lDQWdJQ0J5WlhSMWNtNGdkWFJwYkhNdWVtVnliM01vYmtOdmJYQnZibVZ1ZEhNcExtMWhjQ2dvS1NBOVBpQjdYRzRnSUNBZ0lDQWdJSEpsZEhWeWJpQjFkR2xzY3k1MFlYVlNZVzVrS0hSb2FYTXVjbUZ1Wkc5dEtTQXFJREl3SUNzZ0xURXdPeUF2THlCU1lXNWtiMjBnWm5KdmJTQXRNVEFnZEc4Z01UQmNiaUFnSUNBZ0lIMHBPMXh1SUNBZ0lIMHBPMXh1WEc0Z0lDQWdMeThnUjJWMElHZHlZWEJvSUdSaGRHRWdhVzRnYjNKa1pYSmxaQ0IzWVhrdUxpNWNiaUFnSUNCamIyNXpkQ0IzWldsbmFIUnpPaUJ1ZFcxaVpYSmJYU0E5SUZ0ZE8xeHVJQ0FnSUdOdmJuTjBJR2hsWVdRNklHNTFiV0psY2x0ZElEMGdXMTA3WEc0Z0lDQWdZMjl1YzNRZ2RHRnBiRG9nYm5WdFltVnlXMTBnUFNCYlhUdGNiaUFnSUNCamIyNXpkQ0J5YjNkRGIyeFdZV3gxWlhNZ1BTQm5jbUZ3YUM1blpYUkJiR3dvS1R0Y2JpQWdJQ0JtYjNJZ0tHeGxkQ0JwSUQwZ01Ec2dhU0E4SUhKdmQwTnZiRlpoYkhWbGN5NXNaVzVuZEdnN0lHa3JLeWtnZTF4dUlDQWdJQ0FnWTI5dWMzUWdaVzUwY25rZ1BTQnliM2REYjJ4V1lXeDFaWE5iYVYwN1hHNGdJQ0FnSUNCcFppQW9aVzUwY25rdWRtRnNkV1VwSUh0Y2JpQWdJQ0FnSUNBZ2QyVnBaMmgwY3k1d2RYTm9LR1Z1ZEhKNUxuWmhiSFZsS1R0Y2JpQWdJQ0FnSUNBZ2RHRnBiQzV3ZFhOb0tHVnVkSEo1TG5KdmR5azdYRzRnSUNBZ0lDQWdJR2hsWVdRdWNIVnphQ2hsYm5SeWVTNWpiMndwTzF4dUlDQWdJQ0FnZlZ4dUlDQWdJSDFjYmlBZ0lDQmpiMjV6ZENCbGNHOWphSE5RWlhKVFlXMXdiR1VnUFNCMGFHbHpMbTFoYTJWRmNHOWphSE5RWlhKVFlXMXdiR1VvZDJWcFoyaDBjeXdnYmtWd2IyTm9jeWs3WEc1Y2JpQWdJQ0J5WlhSMWNtNGdlMmhsWVdRc0lIUmhhV3dzSUdWd2IyTm9jMUJsY2xOaGJYQnNaWDA3WEc0Z0lIMWNibHh1SUNBdktpcGNiaUFnSUNvZ1IybDJaVzRnWVNCelpYUWdiMllnZDJWcFoyaDBjeUJoYm1RZ2JuVnRZbVZ5SUc5bUlHVndiMk5vY3lCblpXNWxjbUYwWlNCMGFHVWdiblZ0WW1WeUlHOW1YRzRnSUNBcUlHVndiMk5vY3lCd1pYSWdjMkZ0Y0d4bElHWnZjaUJsWVdOb0lIZGxhV2RvZEM1Y2JpQWdJQ292WEc0Z0lIQnlhWFpoZEdVZ2JXRnJaVVZ3YjJOb2MxQmxjbE5oYlhCc1pTaDNaV2xuYUhSek9pQnVkVzFpWlhKYlhTd2dia1Z3YjJOb2N6b2diblZ0WW1WeUtTQjdYRzRnSUNBZ1kyOXVjM1FnY21WemRXeDBJRDBnZFhScGJITXVabWxzYkdWa0tIZGxhV2RvZEhNdWJHVnVaM1JvTENBdE1TNHdLVHRjYmlBZ0lDQmpiMjV6ZENCdFlYZ2dQU0IxZEdsc2N5NXRZWGdvZDJWcFoyaDBjeWs3WEc0Z0lDQWdZMjl1YzNRZ2JsTmhiWEJzWlhNZ1BTQjNaV2xuYUhSekxtMWhjQ2dvZHlrZ1BUNGdLSGNnTHlCdFlYZ3BJQ29nYmtWd2IyTm9jeWs3WEc0Z0lDQWdibE5oYlhCc1pYTXVabTl5UldGamFDZ29iaXdnYVNrZ1BUNGdlMXh1SUNBZ0lDQWdhV1lnS0c0Z1BpQXdLU0J5WlhOMWJIUmJhVjBnUFNCdVJYQnZZMmh6SUM4Z2JsTmhiWEJzWlhOYmFWMDdYRzRnSUNBZ2ZTazdYRzRnSUNBZ2NtVjBkWEp1SUhKbGMzVnNkRHRjYmlBZ2ZWeHVYRzRnSUM4cUtseHVJQ0FnS2lCQmMzTnBaMjV6SUc5d2RHbHRhWHBoZEdsdmJpQnpkR0YwWlNCd1lYSmhiV1YwWlhKeklHWnliMjBnWVNCd1lYSjBhV0ZzSUc5d2RHbHRhWHBoZEdsdmJpQnpkR0YwWlM1Y2JpQWdJQ292WEc0Z0lIQnlhWFpoZEdVZ1lYTnphV2R1VDNCMGFXMXBlbUYwYVc5dVUzUmhkR1ZRWVhKaGJXVjBaWEp6S0hOMFlYUmxPaUJRWVhKMGFXRnNQRTl3ZEdsdGFYcGhkR2x2YmxOMFlYUmxQaWtnZTF4dUlDQWdJRTlpYW1WamRDNWhjM05wWjI0b2RHaHBjeTV2Y0hScGJXbDZZWFJwYjI1VGRHRjBaU3dnYzNSaGRHVXBPMXh1SUNCOVhHNWNiaUFnTHlvcVhHNGdJQ0FxSUZObGRITWdZU0JtWlhjZ2IzQjBhVzFwZW1GMGFXOXVJSE4wWVhSbElIQmhjbUZ0WlhSbGNuTWdkR2hoZENCaGNtVWdibVZqWlhOellYSjVJR0psWm05eVpTQmxiblJsY21sdVoxeHVJQ0FnS2lCMGFHVWdiM0IwYVcxcGVtRjBhVzl1SUhOMFpYQWdiRzl2Y0M1Y2JpQWdJQ292WEc0Z0lIQnlhWFpoZEdVZ2NISmxjR0Z5WlVadmNrOXdkR2x0YVhwaGRHbHZia3h2YjNBb0tTQjdYRzRnSUNBZ0x5OGdTSGx3WlhKd1lYSmhiV1YwWlhKelhHNGdJQ0FnWTI5dWMzUWdlM0psY0hWc2MybHZibE4wY21WdVozUm9MQ0JzWldGeWJtbHVaMUpoZEdVc0lHNWxaMkYwYVhabFUyRnRjR3hsVW1GMFpYMGdQU0IwYUdsek8xeHVYRzRnSUNBZ1kyOXVjM1FnZTF4dUlDQWdJQ0FnWlhCdlkyaHpVR1Z5VTJGdGNHeGxMRnh1SUNBZ0lDQWdhR1ZoWkVWdFltVmtaR2x1Wnl4Y2JpQWdJQ0FnSUhSaGFXeEZiV0psWkdScGJtY3NYRzRnSUNBZ2ZTQTlJSFJvYVhNdWIzQjBhVzFwZW1GMGFXOXVVM1JoZEdVN1hHNWNiaUFnSUNCamIyNXpkQ0JrYVcwZ1BTQm9aV0ZrUlcxaVpXUmthVzVuV3pCZExteGxibWQwYUR0Y2JpQWdJQ0JqYjI1emRDQnRiM1psVDNSb1pYSWdQU0JvWldGa1JXMWlaV1JrYVc1bkxteGxibWQwYUNBOVBUMGdkR0ZwYkVWdFltVmtaR2x1Wnk1c1pXNW5kR2c3WEc1Y2JpQWdJQ0JqYjI1emRDQmxjRzlqYUhOUVpYSk9aV2RoZEdsMlpWTmhiWEJzWlNBOUlHVndiMk5vYzFCbGNsTmhiWEJzWlM1dFlYQW9YRzRnSUNBZ0lDQW9aU2tnUFQ0Z1pTQXZJRzVsWjJGMGFYWmxVMkZ0Y0d4bFVtRjBaVnh1SUNBZ0lDazdYRzRnSUNBZ1kyOXVjM1FnWlhCdlkyaFBaazVsZUhST1pXZGhkR2wyWlZOaGJYQnNaU0E5SUZzdUxpNWxjRzlqYUhOUVpYSk9aV2RoZEdsMlpWTmhiWEJzWlYwN1hHNGdJQ0FnWTI5dWMzUWdaWEJ2WTJoUFprNWxlSFJUWVcxd2JHVWdQU0JiTGk0dVpYQnZZMmh6VUdWeVUyRnRjR3hsWFR0Y2JseHVJQ0FnSUhSb2FYTXVZWE56YVdkdVQzQjBhVzFwZW1GMGFXOXVVM1JoZEdWUVlYSmhiV1YwWlhKektIdGNiaUFnSUNBZ0lHVndiMk5vVDJaT1pYaDBVMkZ0Y0d4bExGeHVJQ0FnSUNBZ1pYQnZZMmhQWms1bGVIUk9aV2RoZEdsMlpWTmhiWEJzWlN4Y2JpQWdJQ0FnSUdWd2IyTm9jMUJsY2s1bFoyRjBhWFpsVTJGdGNHeGxMRnh1SUNBZ0lDQWdiVzkyWlU5MGFHVnlMRnh1SUNBZ0lDQWdhVzVwZEdsaGJFRnNjR2hoT2lCc1pXRnlibWx1WjFKaGRHVXNYRzRnSUNBZ0lDQmhiSEJvWVRvZ2JHVmhjbTVwYm1kU1lYUmxMRnh1SUNBZ0lDQWdaMkZ0YldFNklISmxjSFZzYzJsdmJsTjBjbVZ1WjNSb0xGeHVJQ0FnSUNBZ1pHbHRMRnh1SUNBZ0lIMHBPMXh1SUNCOVhHNWNiaUFnTHlvcVhHNGdJQ0FxSUVsdWFYUnBZV3hwZW1WeklHOXdkR2x0YVhwaGRHbHZiaUJ6ZEdGMFpTQm1iM0lnYzNSbGNIZHBjMlVnYjNCMGFXMXBlbUYwYVc5dUxseHVJQ0FnS2k5Y2JpQWdjSEpwZG1GMFpTQnBibWwwYVdGc2FYcGxUM0IwYVcxcGVtRjBhVzl1S0NrZ2UxeHVJQ0FnSUM4dklFRnNaMjl5YVhSb2JTQnpkR0YwWlZ4dUlDQWdJR052Ym5OMElHaGxZV1JGYldKbFpHUnBibWNnUFNCMGFHbHpMbVZ0WW1Wa1pHbHVaenRjYmlBZ0lDQmpiMjV6ZENCMFlXbHNSVzFpWldSa2FXNW5JRDBnZEdocGN5NWxiV0psWkdScGJtYzdYRzVjYmlBZ0lDQXZMeUJKYm1sMGFXRnNhWHBsWkNCcGJpQnBibWwwYVdGc2FYcGxVMmx0Y0d4cFkybGhiRk5sZEVWdFltVmtaR2x1WnlncFhHNGdJQ0FnWTI5dWMzUWdlMmhsWVdRc0lIUmhhV3dzSUdWd2IyTm9jMUJsY2xOaGJYQnNaWDBnUFNCMGFHbHpMbTl3ZEdsdGFYcGhkR2x2YmxOMFlYUmxPMXh1WEc0Z0lDQWdZMjl1YzNRZ2JrVndiMk5vY3lBOUlIUm9hWE11WjJWMFRrVndiMk5vY3lncE8xeHVJQ0FnSUdOdmJuTjBJRzVXWlhKMGFXTmxjeUE5SUhSb2FYTXVaM0poY0dndWJrTnZiSE03WEc1Y2JpQWdJQ0JqYjI1emRDQjdZU3dnWW4wZ1BTQm1hVzVrUVVKUVlYSmhiWE1vZEdocGN5NXpjSEpsWVdRc0lIUm9hWE11YldsdVJHbHpkQ2s3WEc1Y2JpQWdJQ0IwYUdsekxtRnpjMmxuYms5d2RHbHRhWHBoZEdsdmJsTjBZWFJsVUdGeVlXMWxkR1Z5Y3loN1hHNGdJQ0FnSUNCb1pXRmtSVzFpWldSa2FXNW5MRnh1SUNBZ0lDQWdkR0ZwYkVWdFltVmtaR2x1Wnl4Y2JpQWdJQ0FnSUdobFlXUXNYRzRnSUNBZ0lDQjBZV2xzTEZ4dUlDQWdJQ0FnWlhCdlkyaHpVR1Z5VTJGdGNHeGxMRnh1SUNBZ0lDQWdZU3hjYmlBZ0lDQWdJR0lzWEc0Z0lDQWdJQ0J1UlhCdlkyaHpMRnh1SUNBZ0lDQWdibFpsY25ScFkyVnpMRnh1SUNBZ0lIMHBPMXh1SUNCOVhHNWNiaUFnTHlvcVhHNGdJQ0FxSUVsdGNISnZkbVVnWVc0Z1pXMWlaV1JrYVc1bklIVnphVzVuSUhOMGIyTm9ZWE4wYVdNZ1ozSmhaR2xsYm5RZ1pHVnpZMlZ1ZENCMGJ5QnRhVzVwYldsNlpTQjBhR1ZjYmlBZ0lDb2dablY2ZW5rZ2MyVjBJR055YjNOeklHVnVkSEp2Y0hrZ1ltVjBkMlZsYmlCMGFHVWdNUzF6YTJWc1pYUnZibk1nYjJZZ2RHaGxJR2hwWjJnZ1pHbHRaVzV6YVc5dVlXeGNiaUFnSUNvZ1lXNWtJR3h2ZHlCa2FXMWxibk5wYjI1aGJDQm1kWHA2ZVNCemFXMXdiR2xqYVdGc0lITmxkSE11SUVsdUlIQnlZV04wYVdObElIUm9hWE1nYVhNZ1pHOXVaU0JpZVZ4dUlDQWdLaUJ6WVcxd2JHbHVaeUJsWkdkbGN5QmlZWE5sWkNCdmJpQjBhR1ZwY2lCdFpXMWlaWEp6YUdsd0lITjBjbVZ1WjNSb0lDaDNhWFJvSUhSb1pTQW9NUzF3S1NCMFpYSnRjMXh1SUNBZ0tpQmpiMjFwYm1jZ1puSnZiU0J1WldkaGRHbDJaU0J6WVcxd2JHbHVaeUJ6YVcxcGJHRnlJSFJ2SUhkdmNtUXlkbVZqS1M1Y2JpQWdJQ292WEc0Z0lIQnlhWFpoZEdVZ2IzQjBhVzFwZW1WTVlYbHZkWFJUZEdWd0tHNDZJRzUxYldKbGNpa2dlMXh1SUNBZ0lHTnZibk4wSUh0dmNIUnBiV2w2WVhScGIyNVRkR0YwWlgwZ1BTQjBhR2x6TzF4dUlDQWdJR052Ym5OMElIdGNiaUFnSUNBZ0lHaGxZV1FzWEc0Z0lDQWdJQ0IwWVdsc0xGeHVJQ0FnSUNBZ2FHVmhaRVZ0WW1Wa1pHbHVaeXhjYmlBZ0lDQWdJSFJoYVd4RmJXSmxaR1JwYm1jc1hHNGdJQ0FnSUNCbGNHOWphSE5RWlhKVFlXMXdiR1VzWEc0Z0lDQWdJQ0JsY0c5amFFOW1UbVY0ZEZOaGJYQnNaU3hjYmlBZ0lDQWdJR1Z3YjJOb1QyWk9aWGgwVG1WbllYUnBkbVZUWVcxd2JHVXNYRzRnSUNBZ0lDQmxjRzlqYUhOUVpYSk9aV2RoZEdsMlpWTmhiWEJzWlN4Y2JpQWdJQ0FnSUcxdmRtVlBkR2hsY2l4Y2JpQWdJQ0FnSUdsdWFYUnBZV3hCYkhCb1lTeGNiaUFnSUNBZ0lHRnNjR2hoTEZ4dUlDQWdJQ0FnWjJGdGJXRXNYRzRnSUNBZ0lDQmhMRnh1SUNBZ0lDQWdZaXhjYmlBZ0lDQWdJR1JwYlN4Y2JpQWdJQ0FnSUc1RmNHOWphSE1zWEc0Z0lDQWdJQ0J1Vm1WeWRHbGpaWE1zWEc0Z0lDQWdmU0E5SUc5d2RHbHRhWHBoZEdsdmJsTjBZWFJsTzF4dVhHNGdJQ0FnWTI5dWMzUWdZMnhwY0ZaaGJIVmxJRDBnTkM0d08xeHVYRzRnSUNBZ1ptOXlJQ2hzWlhRZ2FTQTlJREE3SUdrZ1BDQmxjRzlqYUhOUVpYSlRZVzF3YkdVdWJHVnVaM1JvT3lCcEt5c3BJSHRjYmlBZ0lDQWdJR2xtSUNobGNHOWphRTltVG1WNGRGTmhiWEJzWlZ0cFhTQStJRzRwWEc0Z0lDQWdJQ0FnSUdOdmJuUnBiblZsTzF4dVhHNWNiaUFnSUNBZ0lHTnZibk4wSUdvZ1BTQm9aV0ZrVzJsZE8xeHVJQ0FnSUNBZ1kyOXVjM1FnYXlBOUlIUmhhV3hiYVYwN1hHNWNiaUFnSUNBZ0lHTnZibk4wSUdOMWNuSmxiblFnUFNCb1pXRmtSVzFpWldSa2FXNW5XMnBkTzF4dUlDQWdJQ0FnWTI5dWMzUWdiM1JvWlhJZ1BTQjBZV2xzUlcxaVpXUmthVzVuVzJ0ZE8xeHVYRzRnSUNBZ0lDQmpiMjV6ZENCa2FYTjBVM0YxWVhKbFpDQTlJSEpFYVhOMEtHTjFjbkpsYm5Rc0lHOTBhR1Z5S1R0Y2JseHVJQ0FnSUNBZ2JHVjBJR2R5WVdSRGIyVm1aaUE5SURBN1hHNGdJQ0FnSUNCcFppQW9aR2x6ZEZOeGRXRnlaV1FnUGlBd0tTQjdYRzRnSUNBZ0lDQWdJR2R5WVdSRGIyVm1aaUE5SUMweUxqQWdLaUJoSUNvZ1lpQXFJRTFoZEdndWNHOTNLR1JwYzNSVGNYVmhjbVZrTENCaUlDMGdNUzR3S1R0Y2JpQWdJQ0FnSUNBZ1ozSmhaRU52WldabUlDODlJR0VnS2lCTllYUm9MbkJ2ZHloa2FYTjBVM0YxWVhKbFpDd2dZaWtnS3lBeExqQTdYRzRnSUNBZ0lDQjlYRzVjYmlBZ0lDQWdJR1p2Y2lBb2JHVjBJR1FnUFNBd095QmtJRHdnWkdsdE95QmtLeXNwSUh0Y2JpQWdJQ0FnSUNBZ1kyOXVjM1FnWjNKaFpFUWdQU0JqYkdsd0tHZHlZV1JEYjJWbVppQXFJQ2hqZFhKeVpXNTBXMlJkSUMwZ2IzUm9aWEpiWkYwcExDQmpiR2x3Vm1Gc2RXVXBPMXh1SUNBZ0lDQWdJQ0JqZFhKeVpXNTBXMlJkSUNzOUlHZHlZV1JFSUNvZ1lXeHdhR0U3WEc0Z0lDQWdJQ0FnSUdsbUlDaHRiM1psVDNSb1pYSXBYRzRnSUNBZ0lDQWdJQ0FnYjNSb1pYSmJaRjBnS3owZ0xXZHlZV1JFSUNvZ1lXeHdhR0U3WEc0Z0lDQWdJQ0I5WEc1Y2JpQWdJQ0FnSUdWd2IyTm9UMlpPWlhoMFUyRnRjR3hsVzJsZElDczlJR1Z3YjJOb2MxQmxjbE5oYlhCc1pWdHBYVHRjYmx4dUlDQWdJQ0FnWTI5dWMzUWdiazVsWjFOaGJYQnNaWE1nUFNCTllYUm9MbVpzYjI5eUtGeHVJQ0FnSUNBZ0lDQW9iaUF0SUdWd2IyTm9UMlpPWlhoMFRtVm5ZWFJwZG1WVFlXMXdiR1ZiYVYwcElDOGdaWEJ2WTJoelVHVnlUbVZuWVhScGRtVlRZVzF3YkdWYmFWMWNiaUFnSUNBZ0lDazdYRzVjYmlBZ0lDQWdJR1p2Y2lBb2JHVjBJSEFnUFNBd095QndJRHdnYms1bFoxTmhiWEJzWlhNN0lIQXJLeWtnZTF4dUlDQWdJQ0FnSUNCamIyNXpkQ0JySUQwZ2RYUnBiSE11ZEdGMVVtRnVaRWx1ZENodVZtVnlkR2xqWlhNc0lIUm9hWE11Y21GdVpHOXRLVHRjYmlBZ0lDQWdJQ0FnWTI5dWMzUWdiM1JvWlhJZ1BTQjBZV2xzUlcxaVpXUmthVzVuVzJ0ZE8xeHVYRzRnSUNBZ0lDQWdJR052Ym5OMElHUnBjM1JUY1hWaGNtVmtJRDBnY2tScGMzUW9ZM1Z5Y21WdWRDd2diM1JvWlhJcE8xeHVYRzRnSUNBZ0lDQWdJR3hsZENCbmNtRmtRMjlsWm1ZZ1BTQXdMakE3WEc0Z0lDQWdJQ0FnSUdsbUlDaGthWE4wVTNGMVlYSmxaQ0ErSURBdU1Da2dlMXh1SUNBZ0lDQWdJQ0FnSUdkeVlXUkRiMlZtWmlBOUlESXVNQ0FxSUdkaGJXMWhJQ29nWWp0Y2JpQWdJQ0FnSUNBZ0lDQm5jbUZrUTI5bFptWWdMejFjYmlBZ0lDQWdJQ0FnSUNBZ0lDZ3dMakF3TVNBcklHUnBjM1JUY1hWaGNtVmtLU0FxSUNoaElDb2dUV0YwYUM1d2IzY29aR2x6ZEZOeGRXRnlaV1FzSUdJcElDc2dNU2s3WEc0Z0lDQWdJQ0FnSUgwZ1pXeHpaU0JwWmlBb2FpQTlQVDBnYXlrZ2UxeHVJQ0FnSUNBZ0lDQWdJR052Ym5ScGJuVmxPMXh1SUNBZ0lDQWdJQ0I5WEc1Y2JpQWdJQ0FnSUNBZ1ptOXlJQ2hzWlhRZ1pDQTlJREE3SUdRZ1BDQmthVzA3SUdRckt5a2dlMXh1SUNBZ0lDQWdJQ0FnSUd4bGRDQm5jbUZrUkNBOUlEUXVNRHRjYmlBZ0lDQWdJQ0FnSUNCcFppQW9aM0poWkVOdlpXWm1JRDRnTUM0d0tWeHVJQ0FnSUNBZ0lDQWdJQ0FnWjNKaFpFUWdQU0JqYkdsd0tHZHlZV1JEYjJWbVppQXFJQ2hqZFhKeVpXNTBXMlJkSUMwZ2IzUm9aWEpiWkYwcExDQmpiR2x3Vm1Gc2RXVXBPMXh1WEc0Z0lDQWdJQ0FnSUNBZ1kzVnljbVZ1ZEZ0a1hTQXJQU0JuY21Ga1JDQXFJR0ZzY0doaE8xeHVJQ0FnSUNBZ0lDQjlYRzRnSUNBZ0lDQjlYRzRnSUNBZ0lDQmxjRzlqYUU5bVRtVjRkRTVsWjJGMGFYWmxVMkZ0Y0d4bFcybGRJQ3M5SUc1T1pXZFRZVzF3YkdWeklDb2daWEJ2WTJoelVHVnlUbVZuWVhScGRtVlRZVzF3YkdWYmFWMDdYRzRnSUNBZ2ZWeHVJQ0FnSUc5d2RHbHRhWHBoZEdsdmJsTjBZWFJsTG1Gc2NHaGhJRDBnYVc1cGRHbGhiRUZzY0doaElDb2dLREV1TUNBdElHNGdMeUJ1UlhCdlkyaHpLVHRjYmx4dUlDQWdJRzl3ZEdsdGFYcGhkR2x2YmxOMFlYUmxMbU4xY25KbGJuUkZjRzlqYUNBclBTQXhPMXh1SUNBZ0lISmxkSFZ5YmlCb1pXRmtSVzFpWldSa2FXNW5PMXh1SUNCOVhHNWNiaUFnTHlvcVhHNGdJQ0FxSUVsdGNISnZkbVVnWVc0Z1pXMWlaV1JrYVc1bklIVnphVzVuSUhOMGIyTm9ZWE4wYVdNZ1ozSmhaR2xsYm5RZ1pHVnpZMlZ1ZENCMGJ5QnRhVzVwYldsNlpTQjBhR1ZjYmlBZ0lDb2dablY2ZW5rZ2MyVjBJR055YjNOeklHVnVkSEp2Y0hrZ1ltVjBkMlZsYmlCMGFHVWdNUzF6YTJWc1pYUnZibk1nYjJZZ2RHaGxJR2hwWjJnZ1pHbHRaVzV6YVc5dVlXeGNiaUFnSUNvZ1lXNWtJR3h2ZHlCa2FXMWxibk5wYjI1aGJDQm1kWHA2ZVNCemFXMXdiR2xqYVdGc0lITmxkSE11SUVsdUlIQnlZV04wYVdObElIUm9hWE1nYVhNZ1pHOXVaU0JpZVZ4dUlDQWdLaUJ6WVcxd2JHbHVaeUJsWkdkbGN5QmlZWE5sWkNCdmJpQjBhR1ZwY2lCdFpXMWlaWEp6YUdsd0lITjBjbVZ1WjNSb0lDaDNhWFJvSUhSb1pTQW9NUzF3S1NCMFpYSnRjMXh1SUNBZ0tpQmpiMjFwYm1jZ1puSnZiU0J1WldkaGRHbDJaU0J6WVcxd2JHbHVaeUJ6YVcxcGJHRnlJSFJ2SUhkdmNtUXlkbVZqS1M1Y2JpQWdJQ292WEc0Z0lIQnlhWFpoZEdVZ2IzQjBhVzFwZW1WTVlYbHZkWFJCYzNsdVl5aGNiaUFnSUNCbGNHOWphRU5oYkd4aVlXTnJPaUFvWlhCdlkyaE9kVzFpWlhJNklHNTFiV0psY2lrZ1BUNGdkbTlwWkNCOElHSnZiMnhsWVc0Z1BTQW9LU0E5UGlCMGNuVmxYRzRnSUNrNklGQnliMjFwYzJVOFltOXZiR1ZoYmo0Z2UxeHVJQ0FnSUhKbGRIVnliaUJ1WlhjZ1VISnZiV2x6WlNnb2NtVnpiMngyWlN3Z2NtVnFaV04wS1NBOVBpQjdYRzRnSUNBZ0lDQmpiMjV6ZENCemRHVndJRDBnWVhONWJtTWdLQ2tnUFQ0Z2UxeHVJQ0FnSUNBZ0lDQjBjbmtnZTF4dUlDQWdJQ0FnSUNBZ0lHTnZibk4wSUh0dVJYQnZZMmh6TENCamRYSnlaVzUwUlhCdlkyaDlJRDBnZEdocGN5NXZjSFJwYldsNllYUnBiMjVUZEdGMFpUdGNiaUFnSUNBZ0lDQWdJQ0IwYUdsekxtVnRZbVZrWkdsdVp5QTlJSFJvYVhNdWIzQjBhVzFwZW1WTVlYbHZkWFJUZEdWd0tHTjFjbkpsYm5SRmNHOWphQ2s3WEc0Z0lDQWdJQ0FnSUNBZ1kyOXVjM1FnWlhCdlkyaERiMjF3YkdWMFpXUWdQU0IwYUdsekxtOXdkR2x0YVhwaGRHbHZibE4wWVhSbExtTjFjbkpsYm5SRmNHOWphRHRjYmlBZ0lDQWdJQ0FnSUNCamIyNXpkQ0J6YUc5MWJHUlRkRzl3SUQwZ1pYQnZZMmhEWVd4c1ltRmpheWhsY0c5amFFTnZiWEJzWlhSbFpDa2dQVDA5SUdaaGJITmxPMXh1SUNBZ0lDQWdJQ0FnSUdOdmJuTjBJR2x6Um1sdWFYTm9aV1FnUFNCbGNHOWphRU52YlhCc1pYUmxaQ0E5UFQwZ2JrVndiMk5vY3p0Y2JpQWdJQ0FnSUNBZ0lDQnBaaUFvSVhOb2IzVnNaRk4wYjNBZ0ppWWdJV2x6Um1sdWFYTm9aV1FwWEc0Z0lDQWdJQ0FnSUNBZ0lDQnpaWFJVYVcxbGIzVjBLQ2dwSUQwK0lITjBaWEFvS1N3Z01DazdYRzRnSUNBZ0lDQWdJQ0FnWld4elpWeHVJQ0FnSUNBZ0lDQWdJQ0FnY21WMGRYSnVJSEpsYzI5c2RtVW9hWE5HYVc1cGMyaGxaQ2s3WEc0Z0lDQWdJQ0FnSUgwZ1kyRjBZMmdnS0dWeWNpa2dlMXh1SUNBZ0lDQWdJQ0FnSUhKbGFtVmpkQ2hsY25JcE8xeHVJQ0FnSUNBZ0lDQjlYRzRnSUNBZ0lDQjlPMXh1SUNBZ0lDQWdjMlYwVkdsdFpXOTFkQ2dvS1NBOVBpQnpkR1Z3S0Nrc0lEQXBPMXh1SUNBZ0lIMHBPMXh1SUNCOVhHNWNiaUFnTHlvcVhHNGdJQ0FxSUVsdGNISnZkbVVnWVc0Z1pXMWlaV1JrYVc1bklIVnphVzVuSUhOMGIyTm9ZWE4wYVdNZ1ozSmhaR2xsYm5RZ1pHVnpZMlZ1ZENCMGJ5QnRhVzVwYldsNlpTQjBhR1ZjYmlBZ0lDb2dablY2ZW5rZ2MyVjBJR055YjNOeklHVnVkSEp2Y0hrZ1ltVjBkMlZsYmlCMGFHVWdNUzF6YTJWc1pYUnZibk1nYjJZZ2RHaGxJR2hwWjJnZ1pHbHRaVzV6YVc5dVlXeGNiaUFnSUNvZ1lXNWtJR3h2ZHlCa2FXMWxibk5wYjI1aGJDQm1kWHA2ZVNCemFXMXdiR2xqYVdGc0lITmxkSE11SUVsdUlIQnlZV04wYVdObElIUm9hWE1nYVhNZ1pHOXVaU0JpZVZ4dUlDQWdLaUJ6WVcxd2JHbHVaeUJsWkdkbGN5QmlZWE5sWkNCdmJpQjBhR1ZwY2lCdFpXMWlaWEp6YUdsd0lITjBjbVZ1WjNSb0lDaDNhWFJvSUhSb1pTQW9NUzF3S1NCMFpYSnRjMXh1SUNBZ0tpQmpiMjFwYm1jZ1puSnZiU0J1WldkaGRHbDJaU0J6WVcxd2JHbHVaeUJ6YVcxcGJHRnlJSFJ2SUhkdmNtUXlkbVZqS1M1Y2JpQWdJQ292WEc0Z0lIQnlhWFpoZEdVZ2IzQjBhVzFwZW1WTVlYbHZkWFFvWEc0Z0lDQWdaWEJ2WTJoRFlXeHNZbUZqYXpvZ0tHVndiMk5vVG5WdFltVnlPaUJ1ZFcxaVpYSXBJRDArSUhadmFXUWdmQ0JpYjI5c1pXRnVJRDBnS0NrZ1BUNGdkSEoxWlZ4dUlDQXBPaUJXWldOMGIzSnpJSHRjYmlBZ0lDQnNaWFFnYVhOR2FXNXBjMmhsWkNBOUlHWmhiSE5sTzF4dUlDQWdJR3hsZENCbGJXSmxaR1JwYm1jNklGWmxZM1J2Y25NZ1BTQmJYVHRjYmlBZ0lDQjNhR2xzWlNBb0lXbHpSbWx1YVhOb1pXUXBJSHRjYmlBZ0lDQWdJR052Ym5OMElIdHVSWEJ2WTJoekxDQmpkWEp5Wlc1MFJYQnZZMmg5SUQwZ2RHaHBjeTV2Y0hScGJXbDZZWFJwYjI1VGRHRjBaVHRjYmlBZ0lDQWdJR1Z0WW1Wa1pHbHVaeUE5SUhSb2FYTXViM0IwYVcxcGVtVk1ZWGx2ZFhSVGRHVndLR04xY25KbGJuUkZjRzlqYUNrN1hHNGdJQ0FnSUNCamIyNXpkQ0JsY0c5amFFTnZiWEJzWlhSbFpDQTlJSFJvYVhNdWIzQjBhVzFwZW1GMGFXOXVVM1JoZEdVdVkzVnljbVZ1ZEVWd2IyTm9PMXh1SUNBZ0lDQWdZMjl1YzNRZ2MyaHZkV3hrVTNSdmNDQTlJR1Z3YjJOb1EyRnNiR0poWTJzb1pYQnZZMmhEYjIxd2JHVjBaV1FwSUQwOVBTQm1ZV3h6WlR0Y2JpQWdJQ0FnSUdselJtbHVhWE5vWldRZ1BTQmxjRzlqYUVOdmJYQnNaWFJsWkNBOVBUMGdia1Z3YjJOb2N5QjhmQ0J6YUc5MWJHUlRkRzl3TzF4dUlDQWdJSDFjYmlBZ0lDQnlaWFIxY200Z1pXMWlaV1JrYVc1bk8xeHVJQ0I5WEc1Y2JpQWdMeW9xWEc0Z0lDQXFJRWRsZEhNZ2RHaGxJRzUxYldKbGNpQnZaaUJsY0c5amFITWdabTl5SUc5d2RHbHRhWHBwYm1jZ2RHaGxJSEJ5YjJwbFkzUnBiMjR1WEc0Z0lDQXFJRTVQVkVVNklGUm9hWE1nYUdWMWNtbHpkR2xqSUdScFptWmxjbk1nWm5KdmJTQjBhR1VnY0hsMGFHOXVJSFpsY25OcGIyNWNiaUFnSUNvdlhHNGdJSEIxWW14cFl5Qm5aWFJPUlhCdlkyaHpLQ2tnZTF4dUlDQWdJR052Ym5OMElHZHlZWEJvSUQwZ2RHaHBjeTVuY21Gd2FEdGNibHh1SUNBZ0lHbG1JQ2gwYUdsekxtNUZjRzlqYUhNZ1BpQXdLVnh1SUNBZ0lDQWdjbVYwZFhKdUlIUm9hWE11YmtWd2IyTm9jenRjYmx4dVhHNGdJQ0FnYVdZZ0tDRm5jbUZ3YUNsY2JpQWdJQ0FnSUhKbGRIVnliaUF5TURBN1hHNWNibHh1SUNBZ0lHTnZibk4wSUd4bGJtZDBhQ0E5SUdkeVlYQm9MbTVTYjNkek8xeHVJQ0FnSUdsbUlDaHNaVzVuZEdnZ1BEMGdNalV3TUNsY2JpQWdJQ0FnSUhKbGRIVnliaUExTURBN1hHNGdJQ0FnWld4elpTQnBaaUFvYkdWdVozUm9JRHc5SURVd01EQXBYRzRnSUNBZ0lDQnlaWFIxY200Z05EQXdPMXh1SUNBZ0lHVnNjMlVnYVdZZ0tHeGxibWQwYUNBOFBTQTNOVEF3S1Z4dUlDQWdJQ0FnY21WMGRYSnVJRE13TUR0Y2JpQWdJQ0JsYkhObFhHNGdJQ0FnSUNCeVpYUjFjbTRnTWpBd08xeHVJQ0I5WEc1OVhHNWNibVY0Y0c5eWRDQm1kVzVqZEdsdmJpQmxkV05zYVdSbFlXNG9lRG9nVm1WamRHOXlMQ0I1T2lCV1pXTjBiM0lwSUh0Y2JpQWdiR1YwSUhKbGMzVnNkQ0E5SURBN1hHNGdJR1p2Y2lBb2JHVjBJR2tnUFNBd095QnBJRHdnZUM1c1pXNW5kR2c3SUdrckt5bGNiaUFnSUNCeVpYTjFiSFFnS3owZ0tIaGJhVjBnTFNCNVcybGRLU0FxS2lBeU8xeHVYRzRnSUhKbGRIVnliaUJOWVhSb0xuTnhjblFvY21WemRXeDBLVHRjYm4xY2JseHVaWGh3YjNKMElHWjFibU4wYVc5dUlHNTFiV1Z5YVdNb2VEb2diblZ0WW1WeUxDQjVPaUJ1ZFcxaVpYSXBJSHRjYmlBZ1kyOXVjM1FnY21WemRXeDBJRDBnVFdGMGFDNWhZbk1vZUNBdElIa3BPMXh1SUNCeVpYUjFjbTRnY21WemRXeDBPMXh1ZlZ4dVhHNWxlSEJ2Y25RZ1puVnVZM1JwYjI0Z1kyOXphVzVsS0hnNklGWmxZM1J2Y2l3Z2VUb2dWbVZqZEc5eUtTQjdYRzRnSUd4bGRDQnlaWE4xYkhRZ1BTQXdMakE3WEc0Z0lHeGxkQ0J1YjNKdFdDQTlJREF1TUR0Y2JpQWdiR1YwSUc1dmNtMVpJRDBnTUM0d08xeHVYRzRnSUdadmNpQW9iR1YwSUdrZ1BTQXdPeUJwSUR3Z2VDNXNaVzVuZEdnN0lHa3JLeWtnZTF4dUlDQWdJSEpsYzNWc2RDQXJQU0I0VzJsZElDb2dlVnRwWFR0Y2JpQWdJQ0J1YjNKdFdDQXJQU0I0VzJsZElDb3FJREk3WEc0Z0lDQWdibTl5YlZrZ0t6MGdlVnRwWFNBcUtpQXlPMXh1SUNCOVhHNWNiaUFnYVdZZ0tHNXZjbTFZSUQwOVBTQXdJQ1ltSUc1dmNtMVpJRDA5UFNBd0tWeHVJQ0FnSUhKbGRIVnliaUF3TzF4dUlDQmxiSE5sSUdsbUlDaHViM0p0V0NBOVBUMGdNQ0I4ZkNCdWIzSnRXU0E5UFQwZ01DbGNiaUFnSUNCeVpYUjFjbTRnTVM0d08xeHVJQ0JsYkhObFhHNGdJQ0FnY21WMGRYSnVJREV1TUNBdElISmxjM1ZzZENBdklFMWhkR2d1YzNGeWRDaHViM0p0V0NBcUlHNXZjbTFaS1R0Y2JuMWNibHh1THlvcVhHNGdLaUJCYmlCcGJuUmxjbVpoWTJVZ2NtVndjbVZ6Wlc1MGFXNW5JSFJvWlNCdmNIUnBiV2w2WVhScGIyNGdjM1JoZEdVZ2RISmhZMnRsWkNCaVpYUjNaV1Z1SUhOMFpYQnpJRzltWEc0Z0tpQjBhR1VnVTBkRUlHOXdkR2x0YVhwaGRHbHZibHh1SUNvdlhHNWpiR0Z6Y3lCUGNIUnBiV2w2WVhScGIyNVRkR0YwWlNCN1hHNGdJR04xY25KbGJuUkZjRzlqYUNBOUlEQTdYRzVjYmlBZ0x5OGdSR0YwWVNCMGNtRmphMlZrSUdSMWNtbHVaeUJ2Y0hScGJXbDZZWFJwYjI0Z2MzUmxjSE11WEc0Z0lHaGxZV1JGYldKbFpHUnBibWM2SUc1MWJXSmxjbHRkVzEwZ1BTQmJYVHRjYmlBZ2RHRnBiRVZ0WW1Wa1pHbHVaem9nYm5WdFltVnlXMTFiWFNBOUlGdGRPMXh1SUNCb1pXRmtPaUJ1ZFcxaVpYSmJYU0E5SUZ0ZE8xeHVJQ0IwWVdsc09pQnVkVzFpWlhKYlhTQTlJRnRkTzF4dUlDQmxjRzlqYUhOUVpYSlRZVzF3YkdVNklHNTFiV0psY2x0ZElEMGdXMTA3WEc0Z0lHVndiMk5vVDJaT1pYaDBVMkZ0Y0d4bE9pQnVkVzFpWlhKYlhTQTlJRnRkTzF4dUlDQmxjRzlqYUU5bVRtVjRkRTVsWjJGMGFYWmxVMkZ0Y0d4bE9pQnVkVzFpWlhKYlhTQTlJRnRkTzF4dUlDQmxjRzlqYUhOUVpYSk9aV2RoZEdsMlpWTmhiWEJzWlRvZ2JuVnRZbVZ5VzEwZ1BTQmJYVHRjYmlBZ2JXOTJaVTkwYUdWeUlEMGdkSEoxWlR0Y2JpQWdhVzVwZEdsaGJFRnNjR2hoSUQwZ01TNHdPMXh1SUNCaGJIQm9ZU0E5SURFdU1EdGNiaUFnWjJGdGJXRWdQU0F4TGpBN1hHNGdJR0VnUFNBeExqVTNOamswTXpRMk1ETXhNVE13TnpjN1hHNGdJR0lnUFNBd0xqZzVOVEEyTURnM056a3hNRGszTXpNN1hHNGdJR1JwYlNBOUlESTdYRzRnSUc1RmNHOWphSE1nUFNBMU1EQTdYRzRnSUc1V1pYSjBhV05sY3lBOUlEQTdYRzU5WEc1Y2JpOHFLbHh1SUNvZ1UzUmhibVJoY21RZ1kyeGhiWEJwYm1jZ2IyWWdZU0IyWVd4MVpTQnBiblJ2SUdFZ1ptbDRaV1FnY21GdVoyVmNiaUFxTDF4dVpuVnVZM1JwYjI0Z1kyeHBjQ2g0T2lCdWRXMWlaWElzSUdOc2FYQldZV3gxWlRvZ2JuVnRZbVZ5S1NCN1hHNGdJR2xtSUNoNElENGdZMnhwY0ZaaGJIVmxLU0J5WlhSMWNtNGdZMnhwY0ZaaGJIVmxPMXh1SUNCbGJITmxJR2xtSUNoNElEd2dMV05zYVhCV1lXeDFaU2tnY21WMGRYSnVJQzFqYkdsd1ZtRnNkV1U3WEc0Z0lHVnNjMlVnY21WMGRYSnVJSGc3WEc1OVhHNWNiaThxS2x4dUlDb2dVbVZrZFdObFpDQkZkV05zYVdSbFlXNGdaR2x6ZEdGdVkyVXVYRzRnS2k5Y2JtWjFibU4wYVc5dUlISkVhWE4wS0hnNklHNTFiV0psY2x0ZExDQjVPaUJ1ZFcxaVpYSmJYU2tnZTF4dUlDQnNaWFFnY21WemRXeDBJRDBnTUM0d08xeHVJQ0JtYjNJZ0tHeGxkQ0JwSUQwZ01Ec2dhU0E4SUhndWJHVnVaM1JvT3lCcEt5c3BYRzRnSUNBZ2NtVnpkV3gwSUNzOUlFMWhkR2d1Y0c5M0tIaGJhVjBnTFNCNVcybGRMQ0F5S1R0Y2JseHVJQ0J5WlhSMWNtNGdjbVZ6ZFd4ME8xeHVmVnh1WEc0dktpcGNiaUFxSUVacGRDQmhMQ0JpSUhCaGNtRnRjeUJtYjNJZ2RHaGxJR1JwWm1abGNtVnVkR2xoWW14bElHTjFjblpsSUhWelpXUWdhVzRnYkc5M1pYSmNiaUFxSUdScGJXVnVjMmx2Ym1Gc0lHWjFlbnA1SUhOcGJYQnNhV05wWVd3Z1kyOXRjR3hsZUNCamIyNXpkSEoxWTNScGIyNHVJRmRsSUhkaGJuUWdkR2hsWEc0Z0tpQnpiVzl2ZEdnZ1kzVnlkbVVnS0daeWIyMGdZU0J3Y21VdFpHVm1hVzVsWkNCbVlXMXBiSGtnZDJsMGFDQnphVzF3YkdVZ1ozSmhaR2xsYm5RcElIUm9ZWFJjYmlBcUlHSmxjM1FnYldGMFkyaGxjeUJoYmlCdlptWnpaWFFnWlhod2IyNWxiblJwWVd3Z1pHVmpZWGt1WEc0Z0tpOWNibVY0Y0c5eWRDQm1kVzVqZEdsdmJpQm1hVzVrUVVKUVlYSmhiWE1vYzNCeVpXRmtPaUJ1ZFcxaVpYSXNJRzFwYmtScGMzUTZJRzUxYldKbGNpa2dlMXh1SUNCamIyNXpkQ0JqZFhKMlpTQTlJQ2hiWVN3Z1lsMDZJRzUxYldKbGNsdGRLU0E5UGlBb2VEb2diblZ0WW1WeUtTQTlQaUI3WEc0Z0lDQWdjbVYwZFhKdUlERXVNQ0F2SUNneExqQWdLeUJoSUNvZ2VDQXFLaUFvTWlBcUlHSXBLVHRjYmlBZ2ZUdGNibHh1SUNCamIyNXpkQ0I0ZGlBOUlIVjBhV3h6WEc0Z0lDQWdMbXhwYm1WaGNpZ3dMQ0J6Y0hKbFlXUWdLaUF6TENBek1EQXBYRzRnSUNBZ0xtMWhjQ2dvZG1Gc0tTQTlQaUFvZG1Gc0lEd2diV2x1UkdsemRDQS9JREV1TUNBNklIWmhiQ2twTzF4dVhHNGdJR052Ym5OMElIbDJJRDBnZFhScGJITXVlbVZ5YjNNb2VIWXViR1Z1WjNSb0tTNXRZWEFvS0haaGJDd2dhVzVrWlhncElEMCtJSHRjYmlBZ0lDQmpiMjV6ZENCbmRHVWdQU0I0ZGx0cGJtUmxlRjBnUGowZ2JXbHVSR2x6ZER0Y2JpQWdJQ0J5WlhSMWNtNGdaM1JsSUQ4Z1RXRjBhQzVsZUhBb0xTaDRkbHRwYm1SbGVGMGdMU0J0YVc1RWFYTjBLU0F2SUhOd2NtVmhaQ2tnT2lCMllXdzdYRzRnSUgwcE8xeHVYRzRnSUdOdmJuTjBJR2x1YVhScFlXeFdZV3gxWlhNZ1BTQmJNQzQxTENBd0xqVmRPMXh1SUNCamIyNXpkQ0JrWVhSaElEMGdlM2c2SUhoMkxDQjVPaUI1ZG4wN1hHNWNiaUFnTHk4Z1JHVm1ZWFZzZENCdmNIUnBiMjV6SUdadmNpQjBhR1VnWVd4bmIzSnBkR2h0SUNobWNtOXRJR2RwZEdoMVlpQmxlR0Z0Y0d4bEtWeHVJQ0JqYjI1emRDQnZjSFJwYjI1eklEMGdlMXh1SUNBZ0lHUmhiWEJwYm1jNklERXVOU3hjYmlBZ0lDQnBibWwwYVdGc1ZtRnNkV1Z6TEZ4dUlDQWdJR2R5WVdScFpXNTBSR2xtWm1WeVpXNWpaVG9nTVRCbExUSXNYRzRnSUNBZ2JXRjRTWFJsY21GMGFXOXVjem9nTVRBd0xGeHVJQ0FnSUdWeWNtOXlWRzlzWlhKaGJtTmxPaUF4TUdVdE15eGNiaUFnZlR0Y2JseHVJQ0F2THlCbGMyeHBiblF0WkdsellXSnNaUzF1WlhoMExXeHBibVVnYm1WM0xXTmhjRnh1SUNCamIyNXpkQ0I3Y0dGeVlXMWxkR1Z5Vm1Gc2RXVnpmU0E5SUV4TktHUmhkR0VzSUdOMWNuWmxMQ0J2Y0hScGIyNXpLVHRjYmlBZ1kyOXVjM1FnVzJFc0lHSmRJRDBnY0dGeVlXMWxkR1Z5Vm1Gc2RXVnpJR0Z6SUc1MWJXSmxjbHRkTzF4dUlDQnlaWFIxY200Z2UyRXNJR0o5TzF4dWZWeHVYRzR2S2lwY2JpQXFJRlZ1WkdWeUlIUm9aU0JoYzNOMWJYQjBhVzl1SUc5bUlHTmhkR1ZuYjNKcFkyRnNJR1JwYzNSaGJtTmxJR1p2Y2lCMGFHVWdhVzUwWlhKelpXTjBhVzVuWEc0Z0tpQnphVzF3YkdsamFXRnNJSE5sZENCd1pYSm1iM0p0SUdFZ1ptRnpkQ0JwYm5SbGNuTmxZM1JwYjI0dVhHNGdLaTljYm1WNGNHOXlkQ0JtZFc1amRHbHZiaUJtWVhOMFNXNTBaWEp6WldOMGFXOXVLRnh1SUNCbmNtRndhRG9nYldGMGNtbDRMbE53WVhKelpVMWhkSEpwZUN4Y2JpQWdkR0Z5WjJWME9pQnVkVzFpWlhKYlhTeGNiaUFnZFc1cmJtOTNia1JwYzNRZ1BTQXhMakFzWEc0Z0lHWmhja1JwYzNRZ1BTQTFMakJjYmlrZ2UxeHVJQ0J5WlhSMWNtNGdaM0poY0dndWJXRndLQ2gyWVd4MVpTd2djbTkzTENCamIyd3BJRDArSUh0Y2JpQWdJQ0JwWmlBb2RHRnlaMlYwVzNKdmQxMGdQVDA5SUMweElIeDhJSFJoY21kbGRGdGpiMnhkSUQwOVBTQXRNU2xjYmlBZ0lDQWdJSEpsZEhWeWJpQjJZV3gxWlNBcUlFMWhkR2d1Wlhod0tDMTFibXR1YjNkdVJHbHpkQ2s3WEc0Z0lDQWdaV3h6WlNCcFppQW9kR0Z5WjJWMFczSnZkMTBnSVQwOUlIUmhjbWRsZEZ0amIyeGRLVnh1SUNBZ0lDQWdjbVYwZFhKdUlIWmhiSFZsSUNvZ1RXRjBhQzVsZUhBb0xXWmhja1JwYzNRcE8xeHVJQ0FnSUdWc2MyVmNiaUFnSUNBZ0lISmxkSFZ5YmlCMllXeDFaVHRjYmlBZ2ZTazdYRzU5WEc1Y2JpOHFLbHh1SUNvZ1VtVnpaWFFnZEdobElHeHZZMkZzSUdOdmJtNWxZM1JwZG1sMGVTQnlaWEYxYVhKbGJXVnVkQ0F0TFNCbFlXTm9JR1JoZEdFZ2MyRnRjR3hsSUhOb2IzVnNaRnh1SUNvZ2FHRjJaU0JqYjIxd2JHVjBaU0JqYjI1bWFXUmxibU5sSUdsdUlHRjBJR3hsWVhOMElHOXVaU0F4TFhOcGJYQnNaWGdnYVc0Z2RHaGxJSE5wYlhCc2FXTnBZV3dnYzJWMExseHVJQ29nVjJVZ1kyRnVJR1Z1Wm05eVkyVWdkR2hwY3lCaWVTQnNiMk5oYkd4NUlISmxjMk5oYkdsdVp5QmpiMjVtYVdSbGJtTmxjeXdnWVc1a0lIUm9aVzRnY21WdFpYSm5hVzVuSUhSb1pWeHVJQ29nWkdsbVptVnlaVzUwSUd4dlkyRnNJSE5wYlhCc2FXTnBZV3dnYzJWMGN5QjBiMmRsZEdobGNpNWNiaUFxTDF4dVpYaHdiM0owSUdaMWJtTjBhVzl1SUhKbGMyVjBURzlqWVd4RGIyNXVaV04wYVhacGRIa29jMmx0Y0d4cFkybGhiRk5sZERvZ2JXRjBjbWw0TGxOd1lYSnpaVTFoZEhKcGVDa2dlMXh1SUNCemFXMXdiR2xqYVdGc1UyVjBJRDBnYldGMGNtbDRMbTV2Y20xaGJHbDZaU2h6YVcxd2JHbGphV0ZzVTJWMExDQnRZWFJ5YVhndVRtOXliVlI1Y0dVdWJXRjRLVHRjYmlBZ1kyOXVjM1FnZEhKaGJuTndiM05sSUQwZ2JXRjBjbWw0TG5SeVlXNXpjRzl6WlNoemFXMXdiR2xqYVdGc1UyVjBLVHRjYmlBZ1kyOXVjM1FnY0hKdlpFMWhkSEpwZUNBOUlHMWhkSEpwZUM1d1lXbHlkMmx6WlUxMWJIUnBjR3g1S0hSeVlXNXpjRzl6WlN3Z2MybHRjR3hwWTJsaGJGTmxkQ2s3WEc0Z0lITnBiWEJzYVdOcFlXeFRaWFFnUFNCdFlYUnlhWGd1WVdSa0tGeHVJQ0FnSUhOcGJYQnNhV05wWVd4VFpYUXNYRzRnSUNBZ2JXRjBjbWw0TG5OMVluUnlZV04wS0hSeVlXNXpjRzl6WlN3Z2NISnZaRTFoZEhKcGVDbGNiaUFnS1R0Y2JpQWdjbVYwZFhKdUlHMWhkSEpwZUM1bGJHbHRhVzVoZEdWYVpYSnZjeWh6YVcxd2JHbGphV0ZzVTJWMEtUdGNibjFjYmx4dUx5b3FYRzRnS2lCSGFYWmxiaUJwYm1ScFkyVnpJR0Z1WkNCM1pXbG5hSFJ6SUdGdVpDQmhiaUJ2Y21sbmFXNWhiQ0JsYldKbFpHUnBibWR6WEc0Z0tpQnBibWwwYVdGc2FYcGxJSFJvWlNCd2IzTnBkR2x2Ym5NZ2IyWWdibVYzSUhCdmFXNTBjeUJ5Wld4aGRHbDJaU0IwYnlCMGFHVmNiaUFxSUdsdVpHbGpaWE1nWVc1a0lIZGxhV2RvZEhNZ0tHOW1JSFJvWldseUlHNWxhV2RvWW05eWN5QnBiaUIwYUdVZ2MyOTFjbU5sSUdSaGRHRXBMbHh1SUNvdlhHNWxlSEJ2Y25RZ1puVnVZM1JwYjI0Z2FXNXBkRlJ5WVc1elptOXliU2hjYmlBZ2FXNWthV05sY3pvZ2JuVnRZbVZ5VzExYlhTeGNiaUFnZDJWcFoyaDBjem9nYm5WdFltVnlXMTFiWFN4Y2JpQWdaVzFpWldSa2FXNW5PaUJXWldOMGIzSnpYRzRwSUh0Y2JpQWdZMjl1YzNRZ2NtVnpkV3gwSUQwZ2RYUnBiSE5jYmlBZ0lDQXVlbVZ5YjNNb2FXNWthV05sY3k1c1pXNW5kR2dwWEc0Z0lDQWdMbTFoY0Nnb1gzb3BJRDArSUhWMGFXeHpMbnBsY205ektHVnRZbVZrWkdsdVoxc3dYUzVzWlc1bmRHZ3BLVHRjYmx4dUlDQm1iM0lnS0d4bGRDQnBJRDBnTURzZ2FTQThJR2x1WkdsalpYTXViR1Z1WjNSb095QnBLeXNwSUh0Y2JpQWdJQ0JtYjNJZ0tHeGxkQ0JxSUQwZ01Ec2dhaUE4SUdsdVpHbGpaWE5iTUYwdWJHVnVaM1JvT3lCcUt5c3BJSHRjYmlBZ0lDQWdJR1p2Y2lBb2JHVjBJR1FnUFNBd095QmtJRHdnWlcxaVpXUmthVzVuV3pCZExteGxibWQwYURzZ1pDc3JLU0I3WEc0Z0lDQWdJQ0FnSUdOdmJuTjBJR0VnUFNCcGJtUnBZMlZ6VzJsZFcycGRPMXh1SUNBZ0lDQWdJQ0J5WlhOMWJIUmJhVjFiWkYwZ0t6MGdkMlZwWjJoMGMxdHBYVnRxWFNBcUlHVnRZbVZrWkdsdVoxdGhYVnRrWFR0Y2JpQWdJQ0FnSUgxY2JpQWdJQ0I5WEc0Z0lIMWNiaUFnY21WMGRYSnVJSEpsYzNWc2REdGNibjFjYmlKZGZRPT0iLCIvKipcbiAqIEBsaWNlbnNlXG4gKlxuICogQ29weXJpZ2h0IDIwMTkgR29vZ2xlIExMQy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAqL1xuLyoqXG4gKiBUaGlzIGlzIGEgSmF2YVNjcmlwdCByZWltcGxlbWVudGF0aW9uIG9mIFVNQVAgKG9yaWdpbmFsIGxpY2Vuc2UgYmVsb3cpLCBmcm9tXG4gKiB0aGUgcHl0aG9uIGltcGxlbWVudGF0aW9uIGZvdW5kIGF0IGh0dHBzOi8vZ2l0aHViLmNvbS9sbWNpbm5lcy91bWFwLlxuICpcbiAqIEBhdXRob3IgYW5keWNvZW5lbkBnb29nbGUuY29tIChBbmR5IENvZW5lbilcbiAqL1xuLyoqXG4gKiBAbGljZW5zZVxuICogQlNEIDMtQ2xhdXNlIExpY2Vuc2VcbiAqXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTcsIExlbGFuZCBNY0lubmVzXG4gKiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICpcbiAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dFxuICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6XG4gKlxuICogKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXNcbiAqICAgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuXG4gKlxuICogKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsXG4gKiAgIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb25cbiAqICAgYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uXG4gKlxuICogKiBOZWl0aGVyIHRoZSBuYW1lIG9mIHRoZSBjb3B5cmlnaHQgaG9sZGVyIG5vciB0aGUgbmFtZXMgb2YgaXRzXG4gKiAgIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tXG4gKiAgIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uXG4gKlxuICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyBcIkFTIElTXCJcbiAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEVcbiAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRVxuICogRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBIT0xERVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRVxuICogRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUxcbiAqIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SXG4gKiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUlxuICogQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSxcbiAqIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFXG4gKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLlxuICovXG5pbXBvcnQgKiBhcyBoZWFwIGZyb20gJy4vaGVhcCc7XG5pbXBvcnQgKiBhcyBtYXRyaXggZnJvbSAnLi9tYXRyaXgnO1xuaW1wb3J0ICogYXMgdHJlZSBmcm9tICcuL3RyZWUnO1xuaW1wb3J0ICogYXMgdXRpbHMgZnJvbSAnLi91dGlscyc7XG4vKipcbiAqIENyZWF0ZSBhIHZlcnNpb24gb2YgbmVhcmVzdCBuZWlnaGJvciBkZXNjZW50LlxuICovXG5leHBvcnQgZnVuY3Rpb24gbWFrZU5ORGVzY2VudChkaXN0YW5jZUZuLCByYW5kb20pIHtcbiAgICByZXR1cm4gZnVuY3Rpb24gbk5EZXNjZW50KGRhdGEsIGxlYWZBcnJheSwgbk5laWdoYm9ycywgbkl0ZXJzID0gMTAsIG1heENhbmRpZGF0ZXMgPSA1MCwgZGVsdGEgPSAwLjAwMSwgcmhvID0gMC41LCBycFRyZWVJbml0ID0gdHJ1ZSkge1xuICAgICAgICBjb25zdCBuVmVydGljZXMgPSBkYXRhLmxlbmd0aDtcbiAgICAgICAgY29uc3QgY3VycmVudEdyYXBoID0gaGVhcC5tYWtlSGVhcChkYXRhLmxlbmd0aCwgbk5laWdoYm9ycyk7XG4gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgZGF0YS5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgY29uc3QgaW5kaWNlcyA9IGhlYXAucmVqZWN0aW9uU2FtcGxlKG5OZWlnaGJvcnMsIGRhdGEubGVuZ3RoLCByYW5kb20pO1xuICAgICAgICAgICAgZm9yIChsZXQgaiA9IDA7IGogPCBpbmRpY2VzLmxlbmd0aDsgaisrKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgZCA9IGRpc3RhbmNlRm4oZGF0YVtpXSwgZGF0YVtpbmRpY2VzW2pdXSk7XG4gICAgICAgICAgICAgICAgaGVhcC5oZWFwUHVzaChjdXJyZW50R3JhcGgsIGksIGQsIGluZGljZXNbal0sIDEpO1xuICAgICAgICAgICAgICAgIGhlYXAuaGVhcFB1c2goY3VycmVudEdyYXBoLCBpbmRpY2VzW2pdLCBkLCBpLCAxKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBpZiAocnBUcmVlSW5pdCkge1xuICAgICAgICAgICAgZm9yIChsZXQgbiA9IDA7IG4gPCBsZWFmQXJyYXkubGVuZ3RoOyBuKyspIHtcbiAgICAgICAgICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGxlYWZBcnJheVtuXS5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgICAgICAgICBpZiAobGVhZkFycmF5W25dW2ldIDwgMClcbiAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICBmb3IgKGxldCBqID0gaSArIDE7IGogPCBsZWFmQXJyYXlbbl0ubGVuZ3RoOyBqKyspIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChsZWFmQXJyYXlbbl1bal0gPCAwKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgZCA9IGRpc3RhbmNlRm4oZGF0YVtsZWFmQXJyYXlbbl1baV1dLCBkYXRhW2xlYWZBcnJheVtuXVtqXV0pO1xuICAgICAgICAgICAgICAgICAgICAgICAgaGVhcC5oZWFwUHVzaChjdXJyZW50R3JhcGgsIGxlYWZBcnJheVtuXVtpXSwgZCwgbGVhZkFycmF5W25dW2pdLCAxKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGhlYXAuaGVhcFB1c2goY3VycmVudEdyYXBoLCBsZWFmQXJyYXlbbl1bal0sIGQsIGxlYWZBcnJheVtuXVtpXSwgMSk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgZm9yIChsZXQgbiA9IDA7IG4gPCBuSXRlcnM7IG4rKykge1xuICAgICAgICAgICAgY29uc3QgY2FuZGlkYXRlTmVpZ2hib3JzID0gaGVhcC5idWlsZENhbmRpZGF0ZXMoY3VycmVudEdyYXBoLCBuVmVydGljZXMsIG5OZWlnaGJvcnMsIG1heENhbmRpZGF0ZXMsIHJhbmRvbSk7XG4gICAgICAgICAgICBsZXQgYyA9IDA7XG4gICAgICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IG5WZXJ0aWNlczsgaSsrKSB7XG4gICAgICAgICAgICAgICAgZm9yIChsZXQgaiA9IDA7IGogPCBtYXhDYW5kaWRhdGVzOyBqKyspIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgcCA9IE1hdGguZmxvb3IoY2FuZGlkYXRlTmVpZ2hib3JzWzBdW2ldW2pdKTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHAgPCAwIHx8IHV0aWxzLnRhdVJhbmQocmFuZG9tKSA8IHJobylcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICAgICAgICAgICAgICBmb3IgKGxldCBrID0gMDsgayA8IG1heENhbmRpZGF0ZXM7IGsrKykge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgcSA9IE1hdGguZmxvb3IoY2FuZGlkYXRlTmVpZ2hib3JzWzBdW2ldW2tdKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGNqID0gY2FuZGlkYXRlTmVpZ2hib3JzWzJdW2ldW2pdO1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgY2sgPSBjYW5kaWRhdGVOZWlnaGJvcnNbMl1baV1ba107XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAocSA8IDAgfHwgKCFjaiAmJiAhY2spKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgZCA9IGRpc3RhbmNlRm4oZGF0YVtwXSwgZGF0YVtxXSk7XG4gICAgICAgICAgICAgICAgICAgICAgICBjICs9IGhlYXAuaGVhcFB1c2goY3VycmVudEdyYXBoLCBwLCBkLCBxLCAxKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGMgKz0gaGVhcC5oZWFwUHVzaChjdXJyZW50R3JhcGgsIHEsIGQsIHAsIDEpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKGMgPD0gZGVsdGEgKiBuTmVpZ2hib3JzICogZGF0YS5sZW5ndGgpXG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3Qgc29ydGVkID0gaGVhcC5kZWhlYXBTb3J0KGN1cnJlbnRHcmFwaCk7XG4gICAgICAgIHJldHVybiBzb3J0ZWQ7XG4gICAgfTtcbn1cbmV4cG9ydCBmdW5jdGlvbiBtYWtlSW5pdGlhbGl6YXRpb25zKGRpc3RhbmNlRm4pIHtcbiAgICBmdW5jdGlvbiBpbml0RnJvbVJhbmRvbShuTmVpZ2hib3JzLCBkYXRhLCBxdWVyeVBvaW50cywgX2hlYXAsIHJhbmRvbSkge1xuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IHF1ZXJ5UG9pbnRzLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICBjb25zdCBpbmRpY2VzID0gdXRpbHMucmVqZWN0aW9uU2FtcGxlKG5OZWlnaGJvcnMsIGRhdGEubGVuZ3RoLCByYW5kb20pO1xuICAgICAgICAgICAgZm9yIChsZXQgaiA9IDA7IGogPCBpbmRpY2VzLmxlbmd0aDsgaisrKSB7XG4gICAgICAgICAgICAgICAgaWYgKGluZGljZXNbal0gPCAwKVxuICAgICAgICAgICAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgICAgICAgICBjb25zdCBkID0gZGlzdGFuY2VGbihkYXRhW2luZGljZXNbal1dLCBxdWVyeVBvaW50c1tpXSk7XG4gICAgICAgICAgICAgICAgaGVhcC5oZWFwUHVzaChfaGVhcCwgaSwgZCwgaW5kaWNlc1tqXSwgMSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgZnVuY3Rpb24gaW5pdEZyb21UcmVlKF90cmVlLCBkYXRhLCBxdWVyeVBvaW50cywgX2hlYXAsIHJhbmRvbSkge1xuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IHF1ZXJ5UG9pbnRzLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICBjb25zdCBpbmRpY2VzID0gdHJlZS5zZWFyY2hGbGF0VHJlZShxdWVyeVBvaW50c1tpXSwgX3RyZWUsIHJhbmRvbSk7XG4gICAgICAgICAgICBmb3IgKGxldCBqID0gMDsgaiA8IGluZGljZXMubGVuZ3RoOyBqKyspIHtcbiAgICAgICAgICAgICAgICBpZiAoaW5kaWNlc1tqXSA8IDApXG4gICAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgICBjb25zdCBkID0gZGlzdGFuY2VGbihkYXRhW2luZGljZXNbal1dLCBxdWVyeVBvaW50c1tpXSk7XG4gICAgICAgICAgICAgICAgaGVhcC5oZWFwUHVzaChfaGVhcCwgaSwgZCwgaW5kaWNlc1tqXSwgMSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICByZXR1cm4geyBpbml0RnJvbVJhbmRvbSwgaW5pdEZyb21UcmVlIH07XG59XG5leHBvcnQgZnVuY3Rpb24gbWFrZUluaXRpYWxpemVkTk5TZWFyY2goZGlzdGFuY2VGbikge1xuICAgIHJldHVybiBmdW5jdGlvbiBublNlYXJjaEZuKGRhdGEsIGdyYXBoLCBpbml0aWFsaXphdGlvbiwgcXVlcnlQb2ludHMpIHtcbiAgICAgICAgY29uc3QgeyBpbmRpY2VzLCBpbmRwdHIgfSA9IG1hdHJpeC5nZXRDU1IoZ3JhcGgpO1xuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IHF1ZXJ5UG9pbnRzLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICBjb25zdCB0cmllZCA9IG5ldyBTZXQoaW5pdGlhbGl6YXRpb25bMF1baV0pO1xuICAgICAgICAgICAgd2hpbGUgKHRydWUpIHtcbiAgICAgICAgICAgICAgICAvLyBGaW5kIHNtYWxsZXN0IGZsYWdnZWQgdmVydGV4XG4gICAgICAgICAgICAgICAgY29uc3QgdmVydGV4ID0gaGVhcC5zbWFsbGVzdEZsYWdnZWQoaW5pdGlhbGl6YXRpb24sIGkpO1xuICAgICAgICAgICAgICAgIGlmICh2ZXJ0ZXggPT09IC0xKVxuICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICBjb25zdCBjYW5kaWRhdGVzID0gaW5kaWNlcy5zbGljZShpbmRwdHJbdmVydGV4XSwgaW5kcHRyW3ZlcnRleCArIDFdKTtcbiAgICAgICAgICAgICAgICBmb3IgKGNvbnN0IGNhbmRpZGF0ZSBvZiBjYW5kaWRhdGVzKSB7XG4gICAgICAgICAgICAgICAgICAgIGlmIChjYW5kaWRhdGUgPT09IHZlcnRleCB8fFxuICAgICAgICAgICAgICAgICAgICAgICAgY2FuZGlkYXRlID09PSAtMSB8fFxuICAgICAgICAgICAgICAgICAgICAgICAgdHJpZWQuaGFzKGNhbmRpZGF0ZSkpXG4gICAgICAgICAgICAgICAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgZCA9IGRpc3RhbmNlRm4oZGF0YVtjYW5kaWRhdGVdLCBxdWVyeVBvaW50c1tpXSk7XG4gICAgICAgICAgICAgICAgICAgIGhlYXAudW5jaGVja2VkSGVhcFB1c2goaW5pdGlhbGl6YXRpb24sIGksIGQsIGNhbmRpZGF0ZSwgMSk7XG4gICAgICAgICAgICAgICAgICAgIHRyaWVkLmFkZChjYW5kaWRhdGUpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gaW5pdGlhbGl6YXRpb247XG4gICAgfTtcbn1cbmV4cG9ydCBmdW5jdGlvbiBpbml0aWFsaXplU2VhcmNoKGZvcmVzdCwgZGF0YSwgcXVlcnlQb2ludHMsIG5OZWlnaGJvcnMsIGluaXRGcm9tUmFuZG9tLCBpbml0RnJvbVRyZWUsIHJhbmRvbSkge1xuICAgIGNvbnN0IHJlc3VsdHMgPSBoZWFwLm1ha2VIZWFwKHF1ZXJ5UG9pbnRzLmxlbmd0aCwgbk5laWdoYm9ycyk7XG4gICAgaW5pdEZyb21SYW5kb20obk5laWdoYm9ycywgZGF0YSwgcXVlcnlQb2ludHMsIHJlc3VsdHMsIHJhbmRvbSk7XG4gICAgaWYgKGZvcmVzdCkge1xuICAgICAgICBmb3IgKGNvbnN0IHRyZWUgb2YgZm9yZXN0KVxuICAgICAgICAgICAgaW5pdEZyb21UcmVlKHRyZWUsIGRhdGEsIHF1ZXJ5UG9pbnRzLCByZXN1bHRzLCByYW5kb20pO1xuICAgIH1cbiAgICByZXR1cm4gcmVzdWx0cztcbn1cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSm1hV3hsSWpvaWJtNWZaR1Z6WTJWdWRDNXFjeUlzSW5OdmRYSmpaVkp2YjNRaU9pSWlMQ0p6YjNWeVkyVnpJanBiSW01dVgyUmxjMk5sYm5RdWRITWlYU3dpYm1GdFpYTWlPbHRkTENKdFlYQndhVzVuY3lJNklrRkJRVUU3T3pzN096czdPenM3T3pzN096czdPMGRCYVVKSE8wRkJSVWc3T3pzN08wZEJTMGM3UVVGRlNEczdPenM3T3pzN096czdPenM3T3pzN096czdPenM3T3pzN096czdPenRIUVN0Q1J6dEJRVVZJTEU5QlFVOHNTMEZCU3l4SlFVRkpMRTFCUVUwc1VVRkJVU3hEUVVGRE8wRkJReTlDTEU5QlFVOHNTMEZCU3l4TlFVRk5MRTFCUVUwc1ZVRkJWU3hEUVVGRE8wRkJRMjVETEU5QlFVOHNTMEZCU3l4SlFVRkpMRTFCUVUwc1VVRkJVU3hEUVVGRE8wRkJReTlDTEU5QlFVOHNTMEZCU3l4TFFVRkxMRTFCUVUwc1UwRkJVeXhEUVVGRE8wRkJSMnBET3p0SFFVVkhPMEZCUTBnc1RVRkJUU3hWUVVGVkxHRkJRV0VzUTBGQlF5eFZRVUZ6UWl4RlFVRkZMRTFCUVdkQ08wbEJRM0JGTEU5QlFVOHNVMEZCVXl4VFFVRlRMRU5CUTNaQ0xFbEJRVmtzUlVGRFdpeFRRVUZyUWl4RlFVTnNRaXhWUVVGclFpeEZRVU5zUWl4TlFVRk5MRWRCUVVjc1JVRkJSU3hGUVVOWUxHRkJRV0VzUjBGQlJ5eEZRVUZGTEVWQlEyeENMRXRCUVVzc1IwRkJSeXhMUVVGTExFVkJRMklzUjBGQlJ5eEhRVUZITEVkQlFVY3NSVUZEVkN4VlFVRlZMRWRCUVVjc1NVRkJTVHRSUVVWcVFpeE5RVUZOTEZOQlFWTXNSMEZCUnl4SlFVRkpMRU5CUVVNc1RVRkJUU3hEUVVGRE8xRkJRemxDTEUxQlFVMHNXVUZCV1N4SFFVRkhMRWxCUVVrc1EwRkJReXhSUVVGUkxFTkJRVU1zU1VGQlNTeERRVUZETEUxQlFVMHNSVUZCUlN4VlFVRlZMRU5CUVVNc1EwRkJRenRSUVVVMVJDeExRVUZMTEVsQlFVa3NRMEZCUXl4SFFVRkhMRU5CUVVNc1JVRkJSU3hEUVVGRExFZEJRVWNzU1VGQlNTeERRVUZETEUxQlFVMHNSVUZCUlN4RFFVRkRMRVZCUVVVc1JVRkJSVHRaUVVOd1F5eE5RVUZOTEU5QlFVOHNSMEZCUnl4SlFVRkpMRU5CUVVNc1pVRkJaU3hEUVVGRExGVkJRVlVzUlVGQlJTeEpRVUZKTEVOQlFVTXNUVUZCVFN4RlFVRkZMRTFCUVUwc1EwRkJReXhEUVVGRE8xbEJRM1JGTEV0QlFVc3NTVUZCU1N4RFFVRkRMRWRCUVVjc1EwRkJReXhGUVVGRkxFTkJRVU1zUjBGQlJ5eFBRVUZQTEVOQlFVTXNUVUZCVFN4RlFVRkZMRU5CUVVNc1JVRkJSU3hGUVVGRk8yZENRVU4yUXl4TlFVRk5MRU5CUVVNc1IwRkJSeXhWUVVGVkxFTkJRVU1zU1VGQlNTeERRVUZETEVOQlFVTXNRMEZCUXl4RlFVRkZMRWxCUVVrc1EwRkJReXhQUVVGUExFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRPMmRDUVVWb1JDeEpRVUZKTEVOQlFVTXNVVUZCVVN4RFFVRkRMRmxCUVZrc1JVRkJSU3hEUVVGRExFVkJRVVVzUTBGQlF5eEZRVUZGTEU5QlFVOHNRMEZCUXl4RFFVRkRMRU5CUVVNc1JVRkJSU3hEUVVGRExFTkJRVU1zUTBGQlF6dG5Ra0ZEYWtRc1NVRkJTU3hEUVVGRExGRkJRVkVzUTBGQlF5eFpRVUZaTEVWQlFVVXNUMEZCVHl4RFFVRkRMRU5CUVVNc1EwRkJReXhGUVVGRkxFTkJRVU1zUlVGQlJTeERRVUZETEVWQlFVVXNRMEZCUXl4RFFVRkRMRU5CUVVNN1lVRkRiRVE3VTBGRFJqdFJRVU5FTEVsQlFVa3NWVUZCVlN4RlFVRkZPMWxCUTJRc1MwRkJTeXhKUVVGSkxFTkJRVU1zUjBGQlJ5eERRVUZETEVWQlFVVXNRMEZCUXl4SFFVRkhMRk5CUVZNc1EwRkJReXhOUVVGTkxFVkJRVVVzUTBGQlF5eEZRVUZGTEVWQlFVVTdaMEpCUTNwRExFdEJRVXNzU1VGQlNTeERRVUZETEVkQlFVY3NRMEZCUXl4RlFVRkZMRU5CUVVNc1IwRkJSeXhUUVVGVExFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTXNUVUZCVFN4RlFVRkZMRU5CUVVNc1JVRkJSU3hGUVVGRk8yOUNRVU0xUXl4SlFVRkpMRk5CUVZNc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTXNSMEZCUnl4RFFVRkRPM2RDUVVOeVFpeE5RVUZOTzI5Q1FVVlNMRXRCUVVzc1NVRkJTU3hEUVVGRExFZEJRVWNzUTBGQlF5eEhRVUZITEVOQlFVTXNSVUZCUlN4RFFVRkRMRWRCUVVjc1UwRkJVeXhEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETEUxQlFVMHNSVUZCUlN4RFFVRkRMRVZCUVVVc1JVRkJSVHQzUWtGRGFFUXNTVUZCU1N4VFFVRlRMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETEVkQlFVY3NRMEZCUXpzMFFrRkRja0lzVFVGQlRUdDNRa0ZGVWl4TlFVRk5MRU5CUVVNc1IwRkJSeXhWUVVGVkxFTkJRVU1zU1VGQlNTeERRVUZETEZOQlFWTXNRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF5eEZRVUZGTEVsQlFVa3NRMEZCUXl4VFFVRlRMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRPM2RDUVVOdVJTeEpRVUZKTEVOQlFVTXNVVUZCVVN4RFFVRkRMRmxCUVZrc1JVRkJSU3hUUVVGVExFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRMRVZCUVVVc1EwRkJReXhGUVVGRkxGTkJRVk1zUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNc1JVRkJSU3hEUVVGRExFTkJRVU1zUTBGQlF6dDNRa0ZEY0VVc1NVRkJTU3hEUVVGRExGRkJRVkVzUTBGQlF5eFpRVUZaTEVWQlFVVXNVMEZCVXl4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF5eEZRVUZGTEVOQlFVTXNSVUZCUlN4VFFVRlRMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETEVWQlFVVXNRMEZCUXl4RFFVRkRMRU5CUVVNN2NVSkJRM0pGTzJsQ1FVTkdPMkZCUTBZN1UwRkRSanRSUVVWRUxFdEJRVXNzU1VGQlNTeERRVUZETEVkQlFVY3NRMEZCUXl4RlFVRkZMRU5CUVVNc1IwRkJSeXhOUVVGTkxFVkJRVVVzUTBGQlF5eEZRVUZGTEVWQlFVVTdXVUZETDBJc1RVRkJUU3hyUWtGQmEwSXNSMEZCUnl4SlFVRkpMRU5CUVVNc1pVRkJaU3hEUVVNM1F5eFpRVUZaTEVWQlExb3NVMEZCVXl4RlFVTlVMRlZCUVZVc1JVRkRWaXhoUVVGaExFVkJRMklzVFVGQlRTeERRVU5RTEVOQlFVTTdXVUZGUml4SlFVRkpMRU5CUVVNc1IwRkJSeXhEUVVGRExFTkJRVU03V1VGRFZpeExRVUZMTEVsQlFVa3NRMEZCUXl4SFFVRkhMRU5CUVVNc1JVRkJSU3hEUVVGRExFZEJRVWNzVTBGQlV5eEZRVUZGTEVOQlFVTXNSVUZCUlN4RlFVRkZPMmRDUVVOc1F5eExRVUZMTEVsQlFVa3NRMEZCUXl4SFFVRkhMRU5CUVVNc1JVRkJSU3hEUVVGRExFZEJRVWNzWVVGQllTeEZRVUZGTEVOQlFVTXNSVUZCUlN4RlFVRkZPMjlDUVVOMFF5eE5RVUZOTEVOQlFVTXNSMEZCUnl4SlFVRkpMRU5CUVVNc1MwRkJTeXhEUVVGRExHdENRVUZyUWl4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNN2IwSkJRMnhFTEVsQlFVa3NRMEZCUXl4SFFVRkhMRU5CUVVNc1NVRkJTU3hMUVVGTExFTkJRVU1zVDBGQlR5eERRVUZETEUxQlFVMHNRMEZCUXl4SFFVRkhMRWRCUVVjN2QwSkJRM1JETEZOQlFWTTdiMEpCUlZnc1MwRkJTeXhKUVVGSkxFTkJRVU1zUjBGQlJ5eERRVUZETEVWQlFVVXNRMEZCUXl4SFFVRkhMR0ZCUVdFc1JVRkJSU3hEUVVGRExFVkJRVVVzUlVGQlJUdDNRa0ZEZEVNc1RVRkJUU3hEUVVGRExFZEJRVWNzU1VGQlNTeERRVUZETEV0QlFVc3NRMEZCUXl4clFrRkJhMElzUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETzNkQ1FVTnNSQ3hOUVVGTkxFVkJRVVVzUjBGQlJ5eHJRa0ZCYTBJc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJRenQzUWtGRGRrTXNUVUZCVFN4RlFVRkZMRWRCUVVjc2EwSkJRV3RDTEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTTdkMEpCUTNaRExFbEJRVWtzUTBGQlF5eEhRVUZITEVOQlFVTXNTVUZCU1N4RFFVRkRMRU5CUVVNc1JVRkJSU3hKUVVGSkxFTkJRVU1zUlVGQlJTeERRVUZET3pSQ1FVTjJRaXhUUVVGVE8zZENRVWRZTEUxQlFVMHNRMEZCUXl4SFFVRkhMRlZCUVZVc1EwRkJReXhKUVVGSkxFTkJRVU1zUTBGQlF5eERRVUZETEVWQlFVVXNTVUZCU1N4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU03ZDBKQlEzWkRMRU5CUVVNc1NVRkJTU3hKUVVGSkxFTkJRVU1zVVVGQlVTeERRVUZETEZsQlFWa3NSVUZCUlN4RFFVRkRMRVZCUVVVc1EwRkJReXhGUVVGRkxFTkJRVU1zUlVGQlJTeERRVUZETEVOQlFVTXNRMEZCUXp0M1FrRkROME1zUTBGQlF5eEpRVUZKTEVsQlFVa3NRMEZCUXl4UlFVRlJMRU5CUVVNc1dVRkJXU3hGUVVGRkxFTkJRVU1zUlVGQlJTeERRVUZETEVWQlFVVXNRMEZCUXl4RlFVRkZMRU5CUVVNc1EwRkJReXhEUVVGRE8zRkNRVU01UXp0cFFrRkRSanRoUVVOR08xbEJRMFFzU1VGQlNTeERRVUZETEVsQlFVa3NTMEZCU3l4SFFVRkhMRlZCUVZVc1IwRkJSeXhKUVVGSkxFTkJRVU1zVFVGQlRUdG5Ra0ZEZGtNc1RVRkJUVHRUUVVOVU8xRkJRMFFzVFVGQlRTeE5RVUZOTEVkQlFVY3NTVUZCU1N4RFFVRkRMRlZCUVZVc1EwRkJReXhaUVVGWkxFTkJRVU1zUTBGQlF6dFJRVU0zUXl4UFFVRlBMRTFCUVUwc1EwRkJRenRKUVVOb1FpeERRVUZETEVOQlFVTTdRVUZEU2l4RFFVRkRPMEZCYTBKRUxFMUJRVTBzVlVGQlZTeHRRa0ZCYlVJc1EwRkJReXhWUVVGelFqdEpRVU40UkN4VFFVRlRMR05CUVdNc1EwRkRja0lzVlVGQmEwSXNSVUZEYkVJc1NVRkJXU3hGUVVOYUxGZEJRVzFDTEVWQlEyNUNMRXRCUVdkQ0xFVkJRMmhDTEUxQlFXZENPMUZCUldoQ0xFdEJRVXNzU1VGQlNTeERRVUZETEVkQlFVY3NRMEZCUXl4RlFVRkZMRU5CUVVNc1IwRkJSeXhYUVVGWExFTkJRVU1zVFVGQlRTeEZRVUZGTEVOQlFVTXNSVUZCUlN4RlFVRkZPMWxCUXpORExFMUJRVTBzVDBGQlR5eEhRVUZITEV0QlFVc3NRMEZCUXl4bFFVRmxMRU5CUVVNc1ZVRkJWU3hGUVVGRkxFbEJRVWtzUTBGQlF5eE5RVUZOTEVWQlFVVXNUVUZCVFN4RFFVRkRMRU5CUVVNN1dVRkRka1VzUzBGQlN5eEpRVUZKTEVOQlFVTXNSMEZCUnl4RFFVRkRMRVZCUVVVc1EwRkJReXhIUVVGSExFOUJRVThzUTBGQlF5eE5RVUZOTEVWQlFVVXNRMEZCUXl4RlFVRkZMRVZCUVVVN1owSkJRM1pETEVsQlFVa3NUMEZCVHl4RFFVRkRMRU5CUVVNc1EwRkJReXhIUVVGSExFTkJRVU03YjBKQlEyaENMRk5CUVZNN1owSkJSVmdzVFVGQlRTeERRVUZETEVkQlFVY3NWVUZCVlN4RFFVRkRMRWxCUVVrc1EwRkJReXhQUVVGUExFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTXNSVUZCUlN4WFFVRlhMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF6dG5Ra0ZEZGtRc1NVRkJTU3hEUVVGRExGRkJRVkVzUTBGQlF5eExRVUZMTEVWQlFVVXNRMEZCUXl4RlFVRkZMRU5CUVVNc1JVRkJSU3hQUVVGUExFTkJRVU1zUTBGQlF5eERRVUZETEVWQlFVVXNRMEZCUXl4RFFVRkRMRU5CUVVNN1lVRkRNME03VTBGRFJqdEpRVU5JTEVOQlFVTTdTVUZGUkN4VFFVRlRMRmxCUVZrc1EwRkRia0lzUzBGQmIwSXNSVUZEY0VJc1NVRkJXU3hGUVVOYUxGZEJRVzFDTEVWQlEyNUNMRXRCUVdkQ0xFVkJRMmhDTEUxQlFXZENPMUZCUldoQ0xFdEJRVXNzU1VGQlNTeERRVUZETEVkQlFVY3NRMEZCUXl4RlFVRkZMRU5CUVVNc1IwRkJSeXhYUVVGWExFTkJRVU1zVFVGQlRTeEZRVUZGTEVOQlFVTXNSVUZCUlN4RlFVRkZPMWxCUXpORExFMUJRVTBzVDBGQlR5eEhRVUZITEVsQlFVa3NRMEZCUXl4alFVRmpMRU5CUVVNc1YwRkJWeXhEUVVGRExFTkJRVU1zUTBGQlF5eEZRVUZGTEV0QlFVc3NSVUZCUlN4TlFVRk5MRU5CUVVNc1EwRkJRenRaUVVWdVJTeExRVUZMTEVsQlFVa3NRMEZCUXl4SFFVRkhMRU5CUVVNc1JVRkJSU3hEUVVGRExFZEJRVWNzVDBGQlR5eERRVUZETEUxQlFVMHNSVUZCUlN4RFFVRkRMRVZCUVVVc1JVRkJSVHRuUWtGRGRrTXNTVUZCU1N4UFFVRlBMRU5CUVVNc1EwRkJReXhEUVVGRExFZEJRVWNzUTBGQlF6dHZRa0ZEYUVJc1QwRkJUenRuUWtGRlZDeE5RVUZOTEVOQlFVTXNSMEZCUnl4VlFVRlZMRU5CUVVNc1NVRkJTU3hEUVVGRExFOUJRVThzUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXl4RlFVRkZMRmRCUVZjc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETzJkQ1FVTjJSQ3hKUVVGSkxFTkJRVU1zVVVGQlVTeERRVUZETEV0QlFVc3NSVUZCUlN4RFFVRkRMRVZCUVVVc1EwRkJReXhGUVVGRkxFOUJRVThzUTBGQlF5eERRVUZETEVOQlFVTXNSVUZCUlN4RFFVRkRMRU5CUVVNc1EwRkJRenRoUVVNelF6dFRRVU5HTzFGQlEwUXNUMEZCVHp0SlFVTlVMRU5CUVVNN1NVRkZSQ3hQUVVGUExFVkJRVU1zWTBGQll5eEZRVUZGTEZsQlFWa3NSVUZCUXl4RFFVRkRPMEZCUTNoRExFTkJRVU03UVVGVFJDeE5RVUZOTEZWQlFWVXNkVUpCUVhWQ0xFTkJRVU1zVlVGQmMwSTdTVUZETlVRc1QwRkJUeXhUUVVGVExGVkJRVlVzUTBGRGVFSXNTVUZCV1N4RlFVTmFMRXRCUVRCQ0xFVkJRekZDTEdOQlFYbENMRVZCUTNwQ0xGZEJRVzFDTzFGQlJXNUNMRTFCUVUwc1JVRkJReXhQUVVGUExFVkJRVVVzVFVGQlRTeEZRVUZETEVkQlFVY3NUVUZCVFN4RFFVRkRMRTFCUVUwc1EwRkJReXhMUVVGTExFTkJRVU1zUTBGQlF6dFJRVVV2UXl4TFFVRkxMRWxCUVVrc1EwRkJReXhIUVVGSExFTkJRVU1zUlVGQlJTeERRVUZETEVkQlFVY3NWMEZCVnl4RFFVRkRMRTFCUVUwc1JVRkJSU3hEUVVGRExFVkJRVVVzUlVGQlJUdFpRVU16UXl4TlFVRk5MRXRCUVVzc1IwRkJSeXhKUVVGSkxFZEJRVWNzUTBGQlF5eGpRVUZqTEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF6dFpRVU0xUXl4UFFVRlBMRWxCUVVrc1JVRkJSVHRuUWtGRFdDd3JRa0ZCSzBJN1owSkJReTlDTEUxQlFVMHNUVUZCVFN4SFFVRkhMRWxCUVVrc1EwRkJReXhsUVVGbExFTkJRVU1zWTBGQll5eEZRVUZGTEVOQlFVTXNRMEZCUXl4RFFVRkRPMmRDUVVWMlJDeEpRVUZKTEUxQlFVMHNTMEZCU3l4RFFVRkRMRU5CUVVNN2IwSkJRMllzVFVGQlRUdG5Ra0ZGVWl4TlFVRk5MRlZCUVZVc1IwRkJSeXhQUVVGUExFTkJRVU1zUzBGQlN5eERRVUZETEUxQlFVMHNRMEZCUXl4TlFVRk5MRU5CUVVNc1JVRkJSU3hOUVVGTkxFTkJRVU1zVFVGQlRTeEhRVUZITEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNN1owSkJRM0pGTEV0QlFVc3NUVUZCVFN4VFFVRlRMRWxCUVVrc1ZVRkJWU3hGUVVGRk8yOUNRVU5zUXl4SlFVTkZMRk5CUVZNc1MwRkJTeXhOUVVGTk8zZENRVU53UWl4VFFVRlRMRXRCUVVzc1EwRkJReXhEUVVGRE8zZENRVU5vUWl4TFFVRkxMRU5CUVVNc1IwRkJSeXhEUVVGRExGTkJRVk1zUTBGQlF6dDNRa0ZGY0VJc1UwRkJVenR2UWtGRldDeE5RVUZOTEVOQlFVTXNSMEZCUnl4VlFVRlZMRU5CUVVNc1NVRkJTU3hEUVVGRExGTkJRVk1zUTBGQlF5eEZRVUZGTEZkQlFWY3NRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRE8yOUNRVU4wUkN4SlFVRkpMRU5CUVVNc2FVSkJRV2xDTEVOQlFVTXNZMEZCWXl4RlFVRkZMRU5CUVVNc1JVRkJSU3hEUVVGRExFVkJRVVVzVTBGQlV5eEZRVUZGTEVOQlFVTXNRMEZCUXl4RFFVRkRPMjlDUVVNelJDeExRVUZMTEVOQlFVTXNSMEZCUnl4RFFVRkRMRk5CUVZNc1EwRkJReXhEUVVGRE8ybENRVU4wUWp0aFFVTkdPMU5CUTBZN1VVRkRSQ3hQUVVGUExHTkJRV01zUTBGQlF6dEpRVU40UWl4RFFVRkRMRU5CUVVNN1FVRkRTaXhEUVVGRE8wRkJSVVFzVFVGQlRTeFZRVUZWTEdkQ1FVRm5RaXhEUVVNNVFpeE5RVUYxUWl4RlFVTjJRaXhKUVVGWkxFVkJRMW9zVjBGQmJVSXNSVUZEYmtJc1ZVRkJhMElzUlVGRGJFSXNZMEZCWjBNc1JVRkRhRU1zV1VGQk5FSXNSVUZETlVJc1RVRkJaMEk3U1VGRmFFSXNUVUZCVFN4UFFVRlBMRWRCUVVjc1NVRkJTU3hEUVVGRExGRkJRVkVzUTBGQlF5eFhRVUZYTEVOQlFVTXNUVUZCVFN4RlFVRkZMRlZCUVZVc1EwRkJReXhEUVVGRE8wbEJRemxFTEdOQlFXTXNRMEZCUXl4VlFVRlZMRVZCUVVVc1NVRkJTU3hGUVVGRkxGZEJRVmNzUlVGQlJTeFBRVUZQTEVWQlFVVXNUVUZCVFN4RFFVRkRMRU5CUVVNN1NVRkRMMFFzU1VGQlNTeE5RVUZOTEVWQlFVVTdVVUZEVml4TFFVRkxMRTFCUVUwc1NVRkJTU3hKUVVGSkxFMUJRVTA3V1VGRGRrSXNXVUZCV1N4RFFVRkRMRWxCUVVrc1JVRkJSU3hKUVVGSkxFVkJRVVVzVjBGQlZ5eEZRVUZGTEU5QlFVOHNSVUZCUlN4TlFVRk5MRU5CUVVNc1EwRkJRenRMUVVNeFJEdEpRVU5FTEU5QlFVOHNUMEZCVHl4RFFVRkRPMEZCUTJwQ0xFTkJRVU1pTENKemIzVnlZMlZ6UTI5dWRHVnVkQ0k2V3lJdktpcGNiaUFxSUVCc2FXTmxibk5sWEc0Z0tseHVJQ29nUTI5d2VYSnBaMmgwSURJd01Ua2dSMjl2WjJ4bElFeE1ReTRnUVd4c0lGSnBaMmgwY3lCU1pYTmxjblpsWkM1Y2JpQXFYRzRnS2lCTWFXTmxibk5sWkNCMWJtUmxjaUIwYUdVZ1FYQmhZMmhsSUV4cFkyVnVjMlVzSUZabGNuTnBiMjRnTWk0d0lDaDBhR1VnWENKTWFXTmxibk5sWENJcE8xeHVJQ29nZVc5MUlHMWhlU0J1YjNRZ2RYTmxJSFJvYVhNZ1ptbHNaU0JsZUdObGNIUWdhVzRnWTI5dGNHeHBZVzVqWlNCM2FYUm9JSFJvWlNCTWFXTmxibk5sTGx4dUlDb2dXVzkxSUcxaGVTQnZZblJoYVc0Z1lTQmpiM0I1SUc5bUlIUm9aU0JNYVdObGJuTmxJR0YwWEc0Z0tseHVJQ29nSUNBZ0lHaDBkSEE2THk5M2QzY3VZWEJoWTJobExtOXlaeTlzYVdObGJuTmxjeTlNU1VORlRsTkZMVEl1TUZ4dUlDcGNiaUFxSUZWdWJHVnpjeUJ5WlhGMWFYSmxaQ0JpZVNCaGNIQnNhV05oWW14bElHeGhkeUJ2Y2lCaFozSmxaV1FnZEc4Z2FXNGdkM0pwZEdsdVp5d2djMjltZEhkaGNtVmNiaUFxSUdScGMzUnlhV0oxZEdWa0lIVnVaR1Z5SUhSb1pTQk1hV05sYm5ObElHbHpJR1JwYzNSeWFXSjFkR1ZrSUc5dUlHRnVJRndpUVZNZ1NWTmNJaUJDUVZOSlV5eGNiaUFxSUZkSlZFaFBWVlFnVjBGU1VrRk9WRWxGVXlCUFVpQkRUMDVFU1ZSSlQwNVRJRTlHSUVGT1dTQkxTVTVFTENCbGFYUm9aWElnWlhod2NtVnpjeUJ2Y2lCcGJYQnNhV1ZrTGx4dUlDb2dVMlZsSUhSb1pTQk1hV05sYm5ObElHWnZjaUIwYUdVZ2MzQmxZMmxtYVdNZ2JHRnVaM1ZoWjJVZ1oyOTJaWEp1YVc1bklIQmxjbTFwYzNOcGIyNXpJR0Z1WkZ4dUlDb2diR2x0YVhSaGRHbHZibk1nZFc1a1pYSWdkR2hsSUV4cFkyVnVjMlV1WEc0Z0tpQTlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQxY2JpQXFMMXh1WEc0dktpcGNiaUFxSUZSb2FYTWdhWE1nWVNCS1lYWmhVMk55YVhCMElISmxhVzF3YkdWdFpXNTBZWFJwYjI0Z2IyWWdWVTFCVUNBb2IzSnBaMmx1WVd3Z2JHbGpaVzV6WlNCaVpXeHZkeWtzSUdaeWIyMWNiaUFxSUhSb1pTQndlWFJvYjI0Z2FXMXdiR1Z0Wlc1MFlYUnBiMjRnWm05MWJtUWdZWFFnYUhSMGNITTZMeTluYVhSb2RXSXVZMjl0TDJ4dFkybHVibVZ6TDNWdFlYQXVYRzRnS2x4dUlDb2dRR0YxZEdodmNpQmhibVI1WTI5bGJtVnVRR2R2YjJkc1pTNWpiMjBnS0VGdVpIa2dRMjlsYm1WdUtWeHVJQ292WEc1Y2JpOHFLbHh1SUNvZ1FHeHBZMlZ1YzJWY2JpQXFJRUpUUkNBekxVTnNZWFZ6WlNCTWFXTmxibk5sWEc0Z0tseHVJQ29nUTI5d2VYSnBaMmgwSUNoaktTQXlNREUzTENCTVpXeGhibVFnVFdOSmJtNWxjMXh1SUNvZ1FXeHNJSEpwWjJoMGN5QnlaWE5sY25abFpDNWNiaUFxWEc0Z0tpQlNaV1JwYzNSeWFXSjFkR2x2YmlCaGJtUWdkWE5sSUdsdUlITnZkWEpqWlNCaGJtUWdZbWx1WVhKNUlHWnZjbTF6TENCM2FYUm9JRzl5SUhkcGRHaHZkWFJjYmlBcUlHMXZaR2xtYVdOaGRHbHZiaXdnWVhKbElIQmxjbTFwZEhSbFpDQndjbTkyYVdSbFpDQjBhR0YwSUhSb1pTQm1iMnhzYjNkcGJtY2dZMjl1WkdsMGFXOXVjeUJoY21VZ2JXVjBPbHh1SUNwY2JpQXFJQ29nVW1Wa2FYTjBjbWxpZFhScGIyNXpJRzltSUhOdmRYSmpaU0JqYjJSbElHMTFjM1FnY21WMFlXbHVJSFJvWlNCaFltOTJaU0JqYjNCNWNtbG5hSFFnYm05MGFXTmxMQ0IwYUdselhHNGdLaUFnSUd4cGMzUWdiMllnWTI5dVpHbDBhVzl1Y3lCaGJtUWdkR2hsSUdadmJHeHZkMmx1WnlCa2FYTmpiR0ZwYldWeUxseHVJQ3BjYmlBcUlDb2dVbVZrYVhOMGNtbGlkWFJwYjI1eklHbHVJR0pwYm1GeWVTQm1iM0p0SUcxMWMzUWdjbVZ3Y205a2RXTmxJSFJvWlNCaFltOTJaU0JqYjNCNWNtbG5hSFFnYm05MGFXTmxMRnh1SUNvZ0lDQjBhR2x6SUd4cGMzUWdiMllnWTI5dVpHbDBhVzl1Y3lCaGJtUWdkR2hsSUdadmJHeHZkMmx1WnlCa2FYTmpiR0ZwYldWeUlHbHVJSFJvWlNCa2IyTjFiV1Z1ZEdGMGFXOXVYRzRnS2lBZ0lHRnVaQzl2Y2lCdmRHaGxjaUJ0WVhSbGNtbGhiSE1nY0hKdmRtbGtaV1FnZDJsMGFDQjBhR1VnWkdsemRISnBZblYwYVc5dUxseHVJQ3BjYmlBcUlDb2dUbVZwZEdobGNpQjBhR1VnYm1GdFpTQnZaaUIwYUdVZ1kyOXdlWEpwWjJoMElHaHZiR1JsY2lCdWIzSWdkR2hsSUc1aGJXVnpJRzltSUdsMGMxeHVJQ29nSUNCamIyNTBjbWxpZFhSdmNuTWdiV0Y1SUdKbElIVnpaV1FnZEc4Z1pXNWtiM0p6WlNCdmNpQndjbTl0YjNSbElIQnliMlIxWTNSeklHUmxjbWwyWldRZ1puSnZiVnh1SUNvZ0lDQjBhR2x6SUhOdlpuUjNZWEpsSUhkcGRHaHZkWFFnYzNCbFkybG1hV01nY0hKcGIzSWdkM0pwZEhSbGJpQndaWEp0YVhOemFXOXVMbHh1SUNwY2JpQXFJRlJJU1ZNZ1UwOUdWRmRCVWtVZ1NWTWdVRkpQVmtsRVJVUWdRbGtnVkVoRklFTlBVRmxTU1VkSVZDQklUMHhFUlZKVElFRk9SQ0JEVDA1VVVrbENWVlJQVWxNZ1hDSkJVeUJKVTF3aVhHNGdLaUJCVGtRZ1FVNVpJRVZZVUZKRlUxTWdUMUlnU1UxUVRFbEZSQ0JYUVZKU1FVNVVTVVZUTENCSlRrTk1WVVJKVGtjc0lFSlZWQ0JPVDFRZ1RFbE5TVlJGUkNCVVR5d2dWRWhGWEc0Z0tpQkpUVkJNU1VWRUlGZEJVbEpCVGxSSlJWTWdUMFlnVFVWU1EwaEJUbFJCUWtsTVNWUlpJRUZPUkNCR1NWUk9SVk5USUVaUFVpQkJJRkJCVWxSSlExVk1RVklnVUZWU1VFOVRSU0JCVWtWY2JpQXFJRVJKVTBOTVFVbE5SVVF1SUVsT0lFNVBJRVZXUlU1VUlGTklRVXhNSUZSSVJTQkRUMUJaVWtsSFNGUWdTRTlNUkVWU0lFOVNJRU5QVGxSU1NVSlZWRTlTVXlCQ1JTQk1TVUZDVEVWY2JpQXFJRVpQVWlCQlRsa2dSRWxTUlVOVUxDQkpUa1JKVWtWRFZDd2dTVTVEU1VSRlRsUkJUQ3dnVTFCRlEwbEJUQ3dnUlZoRlRWQk1RVkpaTENCUFVpQkRUMDVUUlZGVlJVNVVTVUZNWEc0Z0tpQkVRVTFCUjBWVElDaEpUa05NVlVSSlRrY3NJRUpWVkNCT1QxUWdURWxOU1ZSRlJDQlVUeXdnVUZKUFExVlNSVTFGVGxRZ1QwWWdVMVZDVTFSSlZGVlVSU0JIVDA5RVV5QlBVbHh1SUNvZ1UwVlNWa2xEUlZNN0lFeFBVMU1nVDBZZ1ZWTkZMQ0JFUVZSQkxDQlBVaUJRVWs5R1NWUlRPeUJQVWlCQ1ZWTkpUa1ZUVXlCSlRsUkZVbEpWVUZSSlQwNHBJRWhQVjBWV1JWSmNiaUFxSUVOQlZWTkZSQ0JCVGtRZ1QwNGdRVTVaSUZSSVJVOVNXU0JQUmlCTVNVRkNTVXhKVkZrc0lGZElSVlJJUlZJZ1NVNGdRMDlPVkZKQlExUXNJRk5VVWtsRFZDQk1TVUZDU1V4SlZGa3NYRzRnS2lCUFVpQlVUMUpVSUNoSlRrTk1WVVJKVGtjZ1RrVkhURWxIUlU1RFJTQlBVaUJQVkVoRlVsZEpVMFVwSUVGU1NWTkpUa2NnU1U0Z1FVNVpJRmRCV1NCUFZWUWdUMFlnVkVoRklGVlRSVnh1SUNvZ1QwWWdWRWhKVXlCVFQwWlVWMEZTUlN3Z1JWWkZUaUJKUmlCQlJGWkpVMFZFSUU5R0lGUklSU0JRVDFOVFNVSkpURWxVV1NCUFJpQlRWVU5JSUVSQlRVRkhSUzVjYmlBcUwxeHVYRzVwYlhCdmNuUWdLaUJoY3lCb1pXRndJR1p5YjIwZ0p5NHZhR1ZoY0NjN1hHNXBiWEJ2Y25RZ0tpQmhjeUJ0WVhSeWFYZ2dabkp2YlNBbkxpOXRZWFJ5YVhnbk8xeHVhVzF3YjNKMElDb2dZWE1nZEhKbFpTQm1jbTl0SUNjdUwzUnlaV1VuTzF4dWFXMXdiM0owSUNvZ1lYTWdkWFJwYkhNZ1puSnZiU0FuTGk5MWRHbHNjeWM3WEc1cGJYQnZjblFnZTFKaGJtUnZiVVp1TENCV1pXTjBiM0p6TENCRWFYTjBZVzVqWlVadUxDQldaV04wYjNKOUlHWnliMjBnSnk0dmRXMWhjQ2M3WEc1Y2JpOHFLbHh1SUNvZ1EzSmxZWFJsSUdFZ2RtVnljMmx2YmlCdlppQnVaV0Z5WlhOMElHNWxhV2RvWW05eUlHUmxjMk5sYm5RdVhHNGdLaTljYm1WNGNHOXlkQ0JtZFc1amRHbHZiaUJ0WVd0bFRrNUVaWE5qWlc1MEtHUnBjM1JoYm1ObFJtNDZJRVJwYzNSaGJtTmxSbTRzSUhKaGJtUnZiVG9nVW1GdVpHOXRSbTRwSUh0Y2JpQWdjbVYwZFhKdUlHWjFibU4wYVc5dUlHNU9SR1Z6WTJWdWRDaGNiaUFnSUNCa1lYUmhPaUJXWldOMGIzSXNYRzRnSUNBZ2JHVmhaa0Z5Y21GNU9pQldaV04wYjNKekxGeHVJQ0FnSUc1T1pXbG5hR0p2Y25NNklHNTFiV0psY2l4Y2JpQWdJQ0J1U1hSbGNuTWdQU0F4TUN4Y2JpQWdJQ0J0WVhoRFlXNWthV1JoZEdWeklEMGdOVEFzWEc0Z0lDQWdaR1ZzZEdFZ1BTQXdMakF3TVN4Y2JpQWdJQ0J5YUc4Z1BTQXdMalVzWEc0Z0lDQWdjbkJVY21WbFNXNXBkQ0E5SUhSeWRXVmNiaUFnS1NCN1hHNGdJQ0FnWTI5dWMzUWdibFpsY25ScFkyVnpJRDBnWkdGMFlTNXNaVzVuZEdnN1hHNGdJQ0FnWTI5dWMzUWdZM1Z5Y21WdWRFZHlZWEJvSUQwZ2FHVmhjQzV0WVd0bFNHVmhjQ2hrWVhSaExteGxibWQwYUN3Z2JrNWxhV2RvWW05eWN5azdYRzVjYmlBZ0lDQm1iM0lnS0d4bGRDQnBJRDBnTURzZ2FTQThJR1JoZEdFdWJHVnVaM1JvT3lCcEt5c3BJSHRjYmlBZ0lDQWdJR052Ym5OMElHbHVaR2xqWlhNZ1BTQm9aV0Z3TG5KbGFtVmpkR2x2YmxOaGJYQnNaU2h1VG1WcFoyaGliM0p6TENCa1lYUmhMbXhsYm1kMGFDd2djbUZ1Wkc5dEtUdGNiaUFnSUNBZ0lHWnZjaUFvYkdWMElHb2dQU0F3T3lCcUlEd2dhVzVrYVdObGN5NXNaVzVuZEdnN0lHb3JLeWtnZTF4dUlDQWdJQ0FnSUNCamIyNXpkQ0JrSUQwZ1pHbHpkR0Z1WTJWR2JpaGtZWFJoVzJsZExDQmtZWFJoVzJsdVpHbGpaWE5iYWwxZEtUdGNibHh1SUNBZ0lDQWdJQ0JvWldGd0xtaGxZWEJRZFhOb0tHTjFjbkpsYm5SSGNtRndhQ3dnYVN3Z1pDd2dhVzVrYVdObGMxdHFYU3dnTVNrN1hHNGdJQ0FnSUNBZ0lHaGxZWEF1YUdWaGNGQjFjMmdvWTNWeWNtVnVkRWR5WVhCb0xDQnBibVJwWTJWelcycGRMQ0JrTENCcExDQXhLVHRjYmlBZ0lDQWdJSDFjYmlBZ0lDQjlYRzRnSUNBZ2FXWWdLSEp3VkhKbFpVbHVhWFFwSUh0Y2JpQWdJQ0FnSUdadmNpQW9iR1YwSUc0Z1BTQXdPeUJ1SUR3Z2JHVmhaa0Z5Y21GNUxteGxibWQwYURzZ2Jpc3JLU0I3WEc0Z0lDQWdJQ0FnSUdadmNpQW9iR1YwSUdrZ1BTQXdPeUJwSUR3Z2JHVmhaa0Z5Y21GNVcyNWRMbXhsYm1kMGFEc2dhU3NyS1NCN1hHNGdJQ0FnSUNBZ0lDQWdhV1lnS0d4bFlXWkJjbkpoZVZ0dVhWdHBYU0E4SURBcFhHNGdJQ0FnSUNBZ0lDQWdJQ0JpY21WaGF6dGNibHh1SUNBZ0lDQWdJQ0FnSUdadmNpQW9iR1YwSUdvZ1BTQnBJQ3NnTVRzZ2FpQThJR3hsWVdaQmNuSmhlVnR1WFM1c1pXNW5kR2c3SUdvckt5a2dlMXh1SUNBZ0lDQWdJQ0FnSUNBZ2FXWWdLR3hsWVdaQmNuSmhlVnR1WFZ0cVhTQThJREFwWEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJR0p5WldGck8xeHVYRzRnSUNBZ0lDQWdJQ0FnSUNCamIyNXpkQ0JrSUQwZ1pHbHpkR0Z1WTJWR2JpaGtZWFJoVzJ4bFlXWkJjbkpoZVZ0dVhWdHBYVjBzSUdSaGRHRmJiR1ZoWmtGeWNtRjVXMjVkVzJwZFhTazdYRzRnSUNBZ0lDQWdJQ0FnSUNCb1pXRndMbWhsWVhCUWRYTm9LR04xY25KbGJuUkhjbUZ3YUN3Z2JHVmhaa0Z5Y21GNVcyNWRXMmxkTENCa0xDQnNaV0ZtUVhKeVlYbGJibDFiYWwwc0lERXBPMXh1SUNBZ0lDQWdJQ0FnSUNBZ2FHVmhjQzVvWldGd1VIVnphQ2hqZFhKeVpXNTBSM0poY0dnc0lHeGxZV1pCY25KaGVWdHVYVnRxWFN3Z1pDd2diR1ZoWmtGeWNtRjVXMjVkVzJsZExDQXhLVHRjYmlBZ0lDQWdJQ0FnSUNCOVhHNGdJQ0FnSUNBZ0lIMWNiaUFnSUNBZ0lIMWNiaUFnSUNCOVhHNWNiaUFnSUNCbWIzSWdLR3hsZENCdUlEMGdNRHNnYmlBOElHNUpkR1Z5Y3pzZ2Jpc3JLU0I3WEc0Z0lDQWdJQ0JqYjI1emRDQmpZVzVrYVdSaGRHVk9aV2xuYUdKdmNuTWdQU0JvWldGd0xtSjFhV3hrUTJGdVpHbGtZWFJsY3loY2JpQWdJQ0FnSUNBZ1kzVnljbVZ1ZEVkeVlYQm9MRnh1SUNBZ0lDQWdJQ0J1Vm1WeWRHbGpaWE1zWEc0Z0lDQWdJQ0FnSUc1T1pXbG5hR0p2Y25Nc1hHNGdJQ0FnSUNBZ0lHMWhlRU5oYm1ScFpHRjBaWE1zWEc0Z0lDQWdJQ0FnSUhKaGJtUnZiVnh1SUNBZ0lDQWdLVHRjYmx4dUlDQWdJQ0FnYkdWMElHTWdQU0F3TzF4dUlDQWdJQ0FnWm05eUlDaHNaWFFnYVNBOUlEQTdJR2tnUENCdVZtVnlkR2xqWlhNN0lHa3JLeWtnZTF4dUlDQWdJQ0FnSUNCbWIzSWdLR3hsZENCcUlEMGdNRHNnYWlBOElHMWhlRU5oYm1ScFpHRjBaWE03SUdvckt5a2dlMXh1SUNBZ0lDQWdJQ0FnSUdOdmJuTjBJSEFnUFNCTllYUm9MbVpzYjI5eUtHTmhibVJwWkdGMFpVNWxhV2RvWW05eWMxc3dYVnRwWFZ0cVhTazdYRzRnSUNBZ0lDQWdJQ0FnYVdZZ0tIQWdQQ0F3SUh4OElIVjBhV3h6TG5SaGRWSmhibVFvY21GdVpHOXRLU0E4SUhKb2J5bGNiaUFnSUNBZ0lDQWdJQ0FnSUdOdmJuUnBiblZsTzF4dVhHNGdJQ0FnSUNBZ0lDQWdabTl5SUNoc1pYUWdheUE5SURBN0lHc2dQQ0J0WVhoRFlXNWthV1JoZEdWek95QnJLeXNwSUh0Y2JpQWdJQ0FnSUNBZ0lDQWdJR052Ym5OMElIRWdQU0JOWVhSb0xtWnNiMjl5S0dOaGJtUnBaR0YwWlU1bGFXZG9ZbTl5YzFzd1hWdHBYVnRyWFNrN1hHNGdJQ0FnSUNBZ0lDQWdJQ0JqYjI1emRDQmphaUE5SUdOaGJtUnBaR0YwWlU1bGFXZG9ZbTl5YzFzeVhWdHBYVnRxWFR0Y2JpQWdJQ0FnSUNBZ0lDQWdJR052Ym5OMElHTnJJRDBnWTJGdVpHbGtZWFJsVG1WcFoyaGliM0p6V3pKZFcybGRXMnRkTzF4dUlDQWdJQ0FnSUNBZ0lDQWdhV1lnS0hFZ1BDQXdJSHg4SUNnaFkyb2dKaVlnSVdOcktTbGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ1kyOXVkR2x1ZFdVN1hHNWNibHh1SUNBZ0lDQWdJQ0FnSUNBZ1kyOXVjM1FnWkNBOUlHUnBjM1JoYm1ObFJtNG9aR0YwWVZ0d1hTd2daR0YwWVZ0eFhTazdYRzRnSUNBZ0lDQWdJQ0FnSUNCaklDczlJR2hsWVhBdWFHVmhjRkIxYzJnb1kzVnljbVZ1ZEVkeVlYQm9MQ0J3TENCa0xDQnhMQ0F4S1R0Y2JpQWdJQ0FnSUNBZ0lDQWdJR01nS3owZ2FHVmhjQzVvWldGd1VIVnphQ2hqZFhKeVpXNTBSM0poY0dnc0lIRXNJR1FzSUhBc0lERXBPMXh1SUNBZ0lDQWdJQ0FnSUgxY2JpQWdJQ0FnSUNBZ2ZWeHVJQ0FnSUNBZ2ZWeHVJQ0FnSUNBZ2FXWWdLR01nUEQwZ1pHVnNkR0VnS2lCdVRtVnBaMmhpYjNKeklDb2daR0YwWVM1c1pXNW5kR2dwWEc0Z0lDQWdJQ0FnSUdKeVpXRnJPMXh1SUNBZ0lIMWNiaUFnSUNCamIyNXpkQ0J6YjNKMFpXUWdQU0JvWldGd0xtUmxhR1ZoY0ZOdmNuUW9ZM1Z5Y21WdWRFZHlZWEJvS1R0Y2JpQWdJQ0J5WlhSMWNtNGdjMjl5ZEdWa08xeHVJQ0I5TzF4dWZWeHVYRzVsZUhCdmNuUWdkSGx3WlNCSmJtbDBSbkp2YlZKaGJtUnZiVVp1SUQwZ0tGeHVJQ0J1VG1WcFoyaGliM0p6T2lCdWRXMWlaWElzWEc0Z0lHUmhkR0U2SUZabFkzUnZjaXhjYmlBZ2NYVmxjbmxRYjJsdWRITTZJRlpsWTNSdmNpeGNiaUFnWDJobFlYQTZJR2hsWVhBdVNHVmhjQ3hjYmlBZ2NtRnVaRzl0T2lCU1lXNWtiMjFHYmx4dUtTQTlQaUIyYjJsa08xeHVYRzVsZUhCdmNuUWdkSGx3WlNCSmJtbDBSbkp2YlZSeVpXVkdiaUE5SUNoY2JpQWdYM1J5WldVNklIUnlaV1V1Um14aGRGUnlaV1VzWEc0Z0lHUmhkR0U2SUZabFkzUnZjaXhjYmlBZ2NYVmxjbmxRYjJsdWRITTZJRlpsWTNSdmNpeGNiaUFnWDJobFlYQTZJR2hsWVhBdVNHVmhjQ3hjYmlBZ2NtRnVaRzl0T2lCU1lXNWtiMjFHYmx4dUtTQTlQaUIyYjJsa08xeHVYRzVsZUhCdmNuUWdablZ1WTNScGIyNGdiV0ZyWlVsdWFYUnBZV3hwZW1GMGFXOXVjeWhrYVhOMFlXNWpaVVp1T2lCRWFYTjBZVzVqWlVadUtTQjdYRzRnSUdaMWJtTjBhVzl1SUdsdWFYUkdjbTl0VW1GdVpHOXRLRnh1SUNBZ0lHNU9aV2xuYUdKdmNuTTZJRzUxYldKbGNpeGNiaUFnSUNCa1lYUmhPaUJXWldOMGIzSXNYRzRnSUNBZ2NYVmxjbmxRYjJsdWRITTZJRlpsWTNSdmNpeGNiaUFnSUNCZmFHVmhjRG9nYUdWaGNDNUlaV0Z3TEZ4dUlDQWdJSEpoYm1SdmJUb2dVbUZ1Wkc5dFJtNWNiaUFnS1NCN1hHNGdJQ0FnWm05eUlDaHNaWFFnYVNBOUlEQTdJR2tnUENCeGRXVnllVkJ2YVc1MGN5NXNaVzVuZEdnN0lHa3JLeWtnZTF4dUlDQWdJQ0FnWTI5dWMzUWdhVzVrYVdObGN5QTlJSFYwYVd4ekxuSmxhbVZqZEdsdmJsTmhiWEJzWlNodVRtVnBaMmhpYjNKekxDQmtZWFJoTG14bGJtZDBhQ3dnY21GdVpHOXRLVHRjYmlBZ0lDQWdJR1p2Y2lBb2JHVjBJR29nUFNBd095QnFJRHdnYVc1a2FXTmxjeTVzWlc1bmRHZzdJR29yS3lrZ2UxeHVJQ0FnSUNBZ0lDQnBaaUFvYVc1a2FXTmxjMXRxWFNBOElEQXBYRzRnSUNBZ0lDQWdJQ0FnWTI5dWRHbHVkV1U3WEc1Y2JpQWdJQ0FnSUNBZ1kyOXVjM1FnWkNBOUlHUnBjM1JoYm1ObFJtNG9aR0YwWVZ0cGJtUnBZMlZ6VzJwZFhTd2djWFZsY25sUWIybHVkSE5iYVYwcE8xeHVJQ0FnSUNBZ0lDQm9aV0Z3TG1obFlYQlFkWE5vS0Y5b1pXRndMQ0JwTENCa0xDQnBibVJwWTJWelcycGRMQ0F4S1R0Y2JpQWdJQ0FnSUgxY2JpQWdJQ0I5WEc0Z0lIMWNibHh1SUNCbWRXNWpkR2x2YmlCcGJtbDBSbkp2YlZSeVpXVW9YRzRnSUNBZ1gzUnlaV1U2SUhSeVpXVXVSbXhoZEZSeVpXVXNYRzRnSUNBZ1pHRjBZVG9nVm1WamRHOXlMRnh1SUNBZ0lIRjFaWEo1VUc5cGJuUnpPaUJXWldOMGIzSXNYRzRnSUNBZ1gyaGxZWEE2SUdobFlYQXVTR1ZoY0N4Y2JpQWdJQ0J5WVc1a2IyMDZJRkpoYm1SdmJVWnVYRzRnSUNrZ2UxeHVJQ0FnSUdadmNpQW9iR1YwSUdrZ1BTQXdPeUJwSUR3Z2NYVmxjbmxRYjJsdWRITXViR1Z1WjNSb095QnBLeXNwSUh0Y2JpQWdJQ0FnSUdOdmJuTjBJR2x1WkdsalpYTWdQU0IwY21WbExuTmxZWEpqYUVac1lYUlVjbVZsS0hGMVpYSjVVRzlwYm5SelcybGRMQ0JmZEhKbFpTd2djbUZ1Wkc5dEtUdGNibHh1SUNBZ0lDQWdabTl5SUNoc1pYUWdhaUE5SURBN0lHb2dQQ0JwYm1ScFkyVnpMbXhsYm1kMGFEc2dhaXNyS1NCN1hHNGdJQ0FnSUNBZ0lHbG1JQ2hwYm1ScFkyVnpXMnBkSUR3Z01DbGNiaUFnSUNBZ0lDQWdJQ0J5WlhSMWNtNDdYRzVjYmlBZ0lDQWdJQ0FnWTI5dWMzUWdaQ0E5SUdScGMzUmhibU5sUm00b1pHRjBZVnRwYm1ScFkyVnpXMnBkWFN3Z2NYVmxjbmxRYjJsdWRITmJhVjBwTzF4dUlDQWdJQ0FnSUNCb1pXRndMbWhsWVhCUWRYTm9LRjlvWldGd0xDQnBMQ0JrTENCcGJtUnBZMlZ6VzJwZExDQXhLVHRjYmlBZ0lDQWdJSDFjYmlBZ0lDQjlYRzRnSUNBZ2NtVjBkWEp1TzF4dUlDQjlYRzVjYmlBZ2NtVjBkWEp1SUh0cGJtbDBSbkp2YlZKaGJtUnZiU3dnYVc1cGRFWnliMjFVY21WbGZUdGNibjFjYmx4dVpYaHdiM0owSUhSNWNHVWdVMlZoY21Ob1JtNGdQU0FvWEc0Z0lHUmhkR0U2SUZabFkzUnZjaXhjYmlBZ1ozSmhjR2c2SUcxaGRISnBlQzVUY0dGeWMyVk5ZWFJ5YVhnc1hHNGdJR2x1YVhScFlXeHBlbUYwYVc5dU9pQm9aV0Z3TGtobFlYQXNYRzRnSUhGMVpYSjVVRzlwYm5Sek9pQldaV04wYjNKY2Jpa2dQVDRnYUdWaGNDNUlaV0Z3TzF4dVhHNWxlSEJ2Y25RZ1puVnVZM1JwYjI0Z2JXRnJaVWx1YVhScFlXeHBlbVZrVGs1VFpXRnlZMmdvWkdsemRHRnVZMlZHYmpvZ1JHbHpkR0Z1WTJWR2Jpa2dlMXh1SUNCeVpYUjFjbTRnWm5WdVkzUnBiMjRnYm01VFpXRnlZMmhHYmloY2JpQWdJQ0JrWVhSaE9pQldaV04wYjNJc1hHNGdJQ0FnWjNKaGNHZzZJRzFoZEhKcGVDNVRjR0Z5YzJWTllYUnlhWGdzWEc0Z0lDQWdhVzVwZEdsaGJHbDZZWFJwYjI0NklHaGxZWEF1U0dWaGNDeGNiaUFnSUNCeGRXVnllVkJ2YVc1MGN6b2dWbVZqZEc5eVhHNGdJQ2tnZTF4dUlDQWdJR052Ym5OMElIdHBibVJwWTJWekxDQnBibVJ3ZEhKOUlEMGdiV0YwY21sNExtZGxkRU5UVWlobmNtRndhQ2s3WEc1Y2JpQWdJQ0JtYjNJZ0tHeGxkQ0JwSUQwZ01Ec2dhU0E4SUhGMVpYSjVVRzlwYm5SekxteGxibWQwYURzZ2FTc3JLU0I3WEc0Z0lDQWdJQ0JqYjI1emRDQjBjbWxsWkNBOUlHNWxkeUJUWlhRb2FXNXBkR2xoYkdsNllYUnBiMjViTUYxYmFWMHBPMXh1SUNBZ0lDQWdkMmhwYkdVZ0tIUnlkV1VwSUh0Y2JpQWdJQ0FnSUNBZ0x5OGdSbWx1WkNCemJXRnNiR1Z6ZENCbWJHRm5aMlZrSUhabGNuUmxlRnh1SUNBZ0lDQWdJQ0JqYjI1emRDQjJaWEowWlhnZ1BTQm9aV0Z3TG5OdFlXeHNaWE4wUm14aFoyZGxaQ2hwYm1sMGFXRnNhWHBoZEdsdmJpd2dhU2s3WEc1Y2JpQWdJQ0FnSUNBZ2FXWWdLSFpsY25SbGVDQTlQVDBnTFRFcFhHNGdJQ0FnSUNBZ0lDQWdZbkpsWVdzN1hHNWNiaUFnSUNBZ0lDQWdZMjl1YzNRZ1kyRnVaR2xrWVhSbGN5QTlJR2x1WkdsalpYTXVjMnhwWTJVb2FXNWtjSFJ5VzNabGNuUmxlRjBzSUdsdVpIQjBjbHQyWlhKMFpYZ2dLeUF4WFNrN1hHNGdJQ0FnSUNBZ0lHWnZjaUFvWTI5dWMzUWdZMkZ1Wkdsa1lYUmxJRzltSUdOaGJtUnBaR0YwWlhNcElIdGNiaUFnSUNBZ0lDQWdJQ0JwWmlBb1hHNGdJQ0FnSUNBZ0lDQWdJQ0JqWVc1a2FXUmhkR1VnUFQwOUlIWmxjblJsZUNCOGZGeHVJQ0FnSUNBZ0lDQWdJQ0FnWTJGdVpHbGtZWFJsSUQwOVBTQXRNU0I4ZkZ4dUlDQWdJQ0FnSUNBZ0lDQWdkSEpwWldRdWFHRnpLR05oYm1ScFpHRjBaU2xjYmlBZ0lDQWdJQ0FnSUNBcFhHNGdJQ0FnSUNBZ0lDQWdJQ0JqYjI1MGFXNTFaVHRjYmx4dUlDQWdJQ0FnSUNBZ0lHTnZibk4wSUdRZ1BTQmthWE4wWVc1alpVWnVLR1JoZEdGYlkyRnVaR2xrWVhSbFhTd2djWFZsY25sUWIybHVkSE5iYVYwcE8xeHVJQ0FnSUNBZ0lDQWdJR2hsWVhBdWRXNWphR1ZqYTJWa1NHVmhjRkIxYzJnb2FXNXBkR2xoYkdsNllYUnBiMjRzSUdrc0lHUXNJR05oYm1ScFpHRjBaU3dnTVNrN1hHNGdJQ0FnSUNBZ0lDQWdkSEpwWldRdVlXUmtLR05oYm1ScFpHRjBaU2s3WEc0Z0lDQWdJQ0FnSUgxY2JpQWdJQ0FnSUgxY2JpQWdJQ0I5WEc0Z0lDQWdjbVYwZFhKdUlHbHVhWFJwWVd4cGVtRjBhVzl1TzF4dUlDQjlPMXh1ZlZ4dVhHNWxlSEJ2Y25RZ1puVnVZM1JwYjI0Z2FXNXBkR2xoYkdsNlpWTmxZWEpqYUNoY2JpQWdabTl5WlhOME9pQjBjbVZsTGtac1lYUlVjbVZsVzEwc1hHNGdJR1JoZEdFNklGWmxZM1J2Y2l4Y2JpQWdjWFZsY25sUWIybHVkSE02SUZabFkzUnZjaXhjYmlBZ2JrNWxhV2RvWW05eWN6b2diblZ0WW1WeUxGeHVJQ0JwYm1sMFJuSnZiVkpoYm1SdmJUb2dTVzVwZEVaeWIyMVNZVzVrYjIxR2JpeGNiaUFnYVc1cGRFWnliMjFVY21WbE9pQkpibWwwUm5KdmJWUnlaV1ZHYml4Y2JpQWdjbUZ1Wkc5dE9pQlNZVzVrYjIxR2JseHVLU0I3WEc0Z0lHTnZibk4wSUhKbGMzVnNkSE1nUFNCb1pXRndMbTFoYTJWSVpXRndLSEYxWlhKNVVHOXBiblJ6TG14bGJtZDBhQ3dnYms1bGFXZG9ZbTl5Y3lrN1hHNGdJR2x1YVhSR2NtOXRVbUZ1Wkc5dEtHNU9aV2xuYUdKdmNuTXNJR1JoZEdFc0lIRjFaWEo1VUc5cGJuUnpMQ0J5WlhOMWJIUnpMQ0J5WVc1a2IyMHBPMXh1SUNCcFppQW9abTl5WlhOMEtTQjdYRzRnSUNBZ1ptOXlJQ2hqYjI1emRDQjBjbVZsSUc5bUlHWnZjbVZ6ZENsY2JpQWdJQ0FnSUdsdWFYUkdjbTl0VkhKbFpTaDBjbVZsTENCa1lYUmhMQ0J4ZFdWeWVWQnZhVzUwY3l3Z2NtVnpkV3gwY3l3Z2NtRnVaRzl0S1R0Y2JpQWdmVnh1SUNCeVpYUjFjbTRnY21WemRXeDBjenRjYm4xY2JpSmRmUT09IiwiaW1wb3J0IGlzQXJyYXkgZnJvbSAnaXMtYW55LWFycmF5JztcblxuaW1wb3J0IGVycm9yQ2FsY3VsYXRpb24gZnJvbSAnLi9lcnJvckNhbGN1bGF0aW9uJztcbmltcG9ydCBzdGVwIGZyb20gJy4vc3RlcCc7XG5cbi8qKlxuICogQ3VydmUgZml0dGluZyBhbGdvcml0aG1cbiAqIEBwYXJhbSB7e3g6QXJyYXk8bnVtYmVyPiwgeTpBcnJheTxudW1iZXI+fX0gZGF0YSAtIEFycmF5IG9mIHBvaW50cyB0byBmaXQgaW4gdGhlIGZvcm1hdCBbeDEsIHgyLCAuLi4gXSwgW3kxLCB5MiwgLi4uIF1cbiAqIEBwYXJhbSB7ZnVuY3Rpb259IHBhcmFtZXRlcml6ZWRGdW5jdGlvbiAtIFRoZSBwYXJhbWV0ZXJzIGFuZCByZXR1cm5zIGEgZnVuY3Rpb24gd2l0aCB0aGUgaW5kZXBlbmRlbnQgdmFyaWFibGUgYXMgYSBwYXJhbWV0ZXJcbiAqIEBwYXJhbSB7b2JqZWN0fSBbb3B0aW9uc10gLSBPcHRpb25zIG9iamVjdFxuICogQHBhcmFtIHtudW1iZXJ9IFtvcHRpb25zLmRhbXBpbmddIC0gTGV2ZW5iZXJnLU1hcnF1YXJkdCBwYXJhbWV0ZXJcbiAqIEBwYXJhbSB7bnVtYmVyfSBbb3B0aW9ucy5ncmFkaWVudERpZmZlcmVuY2UgPSAxMGUtMl0gLSBBZGp1c3RtZW50IGZvciBkZWNyZWFzZSB0aGUgZGFtcGluZyBwYXJhbWV0ZXJcbiAqIEBwYXJhbSB7QXJyYXk8bnVtYmVyPn0gW29wdGlvbnMubWluVmFsdWVzXSAtIE1pbmltdW0gYWxsb3dlZCB2YWx1ZXMgZm9yIHBhcmFtZXRlcnNcbiAqIEBwYXJhbSB7QXJyYXk8bnVtYmVyPn0gW29wdGlvbnMubWF4VmFsdWVzXSAtIE1heGltdW0gYWxsb3dlZCB2YWx1ZXMgZm9yIHBhcmFtZXRlcnNcbiAqIEBwYXJhbSB7QXJyYXk8bnVtYmVyPn0gW29wdGlvbnMuaW5pdGlhbFZhbHVlc10gLSBBcnJheSBvZiBpbml0aWFsIHBhcmFtZXRlciB2YWx1ZXNcbiAqIEBwYXJhbSB7bnVtYmVyfSBbb3B0aW9ucy5tYXhJdGVyYXRpb25zID0gMTAwXSAtIE1heGltdW0gb2YgYWxsb3dlZCBpdGVyYXRpb25zXG4gKiBAcGFyYW0ge251bWJlcn0gW29wdGlvbnMuZXJyb3JUb2xlcmFuY2UgPSAxMGUtM10gLSBNaW5pbXVtIHVuY2VydGFpbnR5IGFsbG93ZWQgZm9yIGVhY2ggcG9pbnRcbiAqIEByZXR1cm4ge3twYXJhbWV0ZXJWYWx1ZXM6IEFycmF5PG51bWJlcj4sIHBhcmFtZXRlckVycm9yOiBudW1iZXIsIGl0ZXJhdGlvbnM6IG51bWJlcn19XG4gKi9cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIGxldmVuYmVyZ01hcnF1YXJkdChcbiAgZGF0YSxcbiAgcGFyYW1ldGVyaXplZEZ1bmN0aW9uLFxuICBvcHRpb25zID0ge30sXG4pIHtcbiAgbGV0IHtcbiAgICBtYXhJdGVyYXRpb25zID0gMTAwLFxuICAgIGdyYWRpZW50RGlmZmVyZW5jZSA9IDEwZS0yLFxuICAgIGRhbXBpbmcgPSAwLFxuICAgIGVycm9yVG9sZXJhbmNlID0gMTBlLTMsXG4gICAgbWluVmFsdWVzLFxuICAgIG1heFZhbHVlcyxcbiAgICBpbml0aWFsVmFsdWVzLFxuICB9ID0gb3B0aW9ucztcblxuICBpZiAoZGFtcGluZyA8PSAwKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdUaGUgZGFtcGluZyBvcHRpb24gbXVzdCBiZSBhIHBvc2l0aXZlIG51bWJlcicpO1xuICB9IGVsc2UgaWYgKCFkYXRhLnggfHwgIWRhdGEueSkge1xuICAgIHRocm93IG5ldyBFcnJvcignVGhlIGRhdGEgcGFyYW1ldGVyIG11c3QgaGF2ZSB4IGFuZCB5IGVsZW1lbnRzJyk7XG4gIH0gZWxzZSBpZiAoXG4gICAgIWlzQXJyYXkoZGF0YS54KSB8fFxuICAgIGRhdGEueC5sZW5ndGggPCAyIHx8XG4gICAgIWlzQXJyYXkoZGF0YS55KSB8fFxuICAgIGRhdGEueS5sZW5ndGggPCAyXG4gICkge1xuICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICdUaGUgZGF0YSBwYXJhbWV0ZXIgZWxlbWVudHMgbXVzdCBiZSBhbiBhcnJheSB3aXRoIG1vcmUgdGhhbiAyIHBvaW50cycsXG4gICAgKTtcbiAgfSBlbHNlIGlmIChkYXRhLngubGVuZ3RoICE9PSBkYXRhLnkubGVuZ3RoKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdUaGUgZGF0YSBwYXJhbWV0ZXIgZWxlbWVudHMgbXVzdCBoYXZlIHRoZSBzYW1lIHNpemUnKTtcbiAgfVxuXG4gIGxldCBwYXJhbWV0ZXJzID1cbiAgICBpbml0aWFsVmFsdWVzIHx8IG5ldyBBcnJheShwYXJhbWV0ZXJpemVkRnVuY3Rpb24ubGVuZ3RoKS5maWxsKDEpO1xuICBsZXQgcGFyTGVuID0gcGFyYW1ldGVycy5sZW5ndGg7XG4gIG1heFZhbHVlcyA9IG1heFZhbHVlcyB8fCBuZXcgQXJyYXkocGFyTGVuKS5maWxsKE51bWJlci5NQVhfU0FGRV9JTlRFR0VSKTtcbiAgbWluVmFsdWVzID0gbWluVmFsdWVzIHx8IG5ldyBBcnJheShwYXJMZW4pLmZpbGwoTnVtYmVyLk1JTl9TQUZFX0lOVEVHRVIpO1xuXG4gIGlmIChtYXhWYWx1ZXMubGVuZ3RoICE9PSBtaW5WYWx1ZXMubGVuZ3RoKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdtaW5WYWx1ZXMgYW5kIG1heFZhbHVlcyBtdXN0IGJlIHRoZSBzYW1lIHNpemUnKTtcbiAgfVxuXG4gIGlmICghaXNBcnJheShwYXJhbWV0ZXJzKSkge1xuICAgIHRocm93IG5ldyBFcnJvcignaW5pdGlhbFZhbHVlcyBtdXN0IGJlIGFuIGFycmF5Jyk7XG4gIH1cblxuICBsZXQgZXJyb3IgPSBlcnJvckNhbGN1bGF0aW9uKGRhdGEsIHBhcmFtZXRlcnMsIHBhcmFtZXRlcml6ZWRGdW5jdGlvbik7XG5cbiAgbGV0IGNvbnZlcmdlZCA9IGVycm9yIDw9IGVycm9yVG9sZXJhbmNlO1xuXG4gIGxldCBpdGVyYXRpb247XG4gIGZvciAoaXRlcmF0aW9uID0gMDsgaXRlcmF0aW9uIDwgbWF4SXRlcmF0aW9ucyAmJiAhY29udmVyZ2VkOyBpdGVyYXRpb24rKykge1xuICAgIHBhcmFtZXRlcnMgPSBzdGVwKFxuICAgICAgZGF0YSxcbiAgICAgIHBhcmFtZXRlcnMsXG4gICAgICBkYW1waW5nLFxuICAgICAgZ3JhZGllbnREaWZmZXJlbmNlLFxuICAgICAgcGFyYW1ldGVyaXplZEZ1bmN0aW9uLFxuICAgICk7XG5cbiAgICBmb3IgKGxldCBrID0gMDsgayA8IHBhckxlbjsgaysrKSB7XG4gICAgICBwYXJhbWV0ZXJzW2tdID0gTWF0aC5taW4oXG4gICAgICAgIE1hdGgubWF4KG1pblZhbHVlc1trXSwgcGFyYW1ldGVyc1trXSksXG4gICAgICAgIG1heFZhbHVlc1trXSxcbiAgICAgICk7XG4gICAgfVxuXG4gICAgZXJyb3IgPSBlcnJvckNhbGN1bGF0aW9uKGRhdGEsIHBhcmFtZXRlcnMsIHBhcmFtZXRlcml6ZWRGdW5jdGlvbik7XG4gICAgaWYgKGlzTmFOKGVycm9yKSkgYnJlYWs7XG4gICAgY29udmVyZ2VkID0gZXJyb3IgPD0gZXJyb3JUb2xlcmFuY2U7XG4gIH1cblxuICByZXR1cm4ge1xuICAgIHBhcmFtZXRlclZhbHVlczogcGFyYW1ldGVycyxcbiAgICBwYXJhbWV0ZXJFcnJvcjogZXJyb3IsXG4gICAgaXRlcmF0aW9uczogaXRlcmF0aW9uLFxuICB9O1xufVxuIiwiaW1wb3J0IHsgZ2V0U2ltaWxhcml0eUZyb21EaXN0YW5jZSB9IGZyb20gJy4uL2Rpc3RhbmNlLW1ldHJpY3MtbWV0aG9kcyc7XG5pbXBvcnQgeyBCaXRBcnJheU1ldHJpY3NOYW1lcyB9IGZyb20gJy4uL3R5cGVkLW1ldHJpY3MnO1xuaW1wb3J0IHsgRGlzdGFuY2VBZ2dyZWdhdGlvbk1ldGhvZHMgfSBmcm9tICcuL3R5cGVzJztcbmltcG9ydCB7IGluc2VydFNtYWxsZXIsIGlzTmlsIH0gZnJvbSAnLi91dGlscyc7XG5leHBvcnQgY2xhc3MgU3BhcnNlTWF0cml4U2VydmljZSB7XG4gICAgX3dvcmtlckNvdW50O1xuICAgIGNvbnN0cnVjdG9yKCkge1xuICAgICAgICB0aGlzLl93b3JrZXJDb3VudCA9IE1hdGgubWF4KG5hdmlnYXRvci5oYXJkd2FyZUNvbmN1cnJlbmN5IC0gMiwgMSk7XG4gICAgfVxuICAgIGFzeW5jIGNhbGModmFsdWVzLCBmbk5hbWUsIHRocmVzaG9sZCwgb3B0cyA9IHt9KSB7XG4gICAgICAgIC8vc2l6ZSBvZiBmdWxsIG1hdHJpeFxuICAgICAgICBjb25zdCBtYXRTaXplID0gdmFsdWVzLmxlbmd0aCAqICh2YWx1ZXMubGVuZ3RoIC0gMSkgLyAyO1xuICAgICAgICBjb25zdCBjaHVua1NpemUgPSBNYXRoLmZsb29yKG1hdFNpemUgLyB0aGlzLl93b3JrZXJDb3VudCk7XG4gICAgICAgIGNvbnN0IG1pblRocmVzaG9sZCA9IHZhbHVlcy5sZW5ndGggPiAyMDAwMCA/IGF3YWl0IHRoaXMuZ2V0TWluaW1hbFRocmVzaG9sZCh2YWx1ZXMsIGZuTmFtZSwgb3B0cykgOiAwO1xuICAgICAgICBpZiAodGhyZXNob2xkIDwgbWluVGhyZXNob2xkKSB7XG4gICAgICAgICAgICBjb25zb2xlLmxvZyhgdXNpbmcgdGhyZXNob2xkICR7bWluVGhyZXNob2xkfWApO1xuICAgICAgICAgICAgdGhyZXNob2xkID0gbWluVGhyZXNob2xkO1xuICAgICAgICB9XG4gICAgICAgIG9wdHNbJ3RocmVzaG9sZCddID0gdGhyZXNob2xkO1xuICAgICAgICBjb25zdCBwcm9taXNlcyA9IG5ldyBBcnJheSh0aGlzLl93b3JrZXJDb3VudCk7XG4gICAgICAgIGNvbnN0IHdvcmtlcnMgPSBuZXcgQXJyYXkodGhpcy5fd29ya2VyQ291bnQpXG4gICAgICAgICAgICAuZmlsbChudWxsKS5tYXAoKCkgPT4gbmV3IFdvcmtlcihuZXcgVVJMKCcuL3NwYXJzZS1tYXRyaXgtd29ya2VyJywgaW1wb3J0Lm1ldGEudXJsKSkpO1xuICAgICAgICBmb3IgKGxldCBpZHggPSAwOyBpZHggPCB0aGlzLl93b3JrZXJDb3VudDsgaWR4KyspIHtcbiAgICAgICAgICAgIHByb21pc2VzW2lkeF0gPSBuZXcgUHJvbWlzZSgocmVzb2x2ZVdvcmtlciwgcmVqZWN0V29ya2VyKSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3Qgc3RhcnRJZHggPSBpZHggKiBjaHVua1NpemU7XG4gICAgICAgICAgICAgICAgY29uc3QgZW5kSWR4ID0gaWR4ID09PSB0aGlzLl93b3JrZXJDb3VudCAtIDEgPyBtYXRTaXplIDogKGlkeCArIDEpICogY2h1bmtTaXplO1xuICAgICAgICAgICAgICAgIGlmIChlbmRJZHggPD0gc3RhcnRJZHgpXG4gICAgICAgICAgICAgICAgICAgIHJlc29sdmVXb3JrZXIoeyBpOiBuZXcgSW50MzJBcnJheSgwKSwgajogbmV3IEludDMyQXJyYXkoMCksIGRpc3RhbmNlOiBuZXcgRmxvYXQzMkFycmF5KDApLCBpZHggfSk7XG4gICAgICAgICAgICAgICAgd29ya2Vyc1tpZHhdLnBvc3RNZXNzYWdlKHsgdmFsdWVzLCBzdGFydElkeCwgZW5kSWR4LCB0aHJlc2hvbGQsIGZuTmFtZSwgb3B0cyB9KTtcbiAgICAgICAgICAgICAgICB3b3JrZXJzW2lkeF0ub25tZXNzYWdlID0gKHsgZGF0YTogeyBlcnJvciwgaSwgaiwgZGlzdGFuY2UgfSB9KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGlmIChlcnJvcikge1xuICAgICAgICAgICAgICAgICAgICAgICAgd29ya2Vyc1tpZHhdLnRlcm1pbmF0ZSgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgcmVqZWN0V29ya2VyKGVycm9yKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHdvcmtlcnNbaWR4XS50ZXJtaW5hdGUoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlc29sdmVXb3JrZXIoeyBpLCBqLCBkaXN0YW5jZSwgaWR4IH0pO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IHJlc3VsdHMgPSBhd2FpdCBQcm9taXNlLmFsbChwcm9taXNlcyk7XG4gICAgICAgIGNvbnN0IGZ1bGxTaXplID0gcmVzdWx0cy5yZWR1Y2UoKGFjYywgdmFsKSA9PiBhY2MgKyB2YWwuaS5sZW5ndGgsIDApO1xuICAgICAgICBjb25zdCBpID0gbmV3IEludDMyQXJyYXkoZnVsbFNpemUpO1xuICAgICAgICBjb25zdCBqID0gbmV3IEludDMyQXJyYXkoZnVsbFNpemUpO1xuICAgICAgICBjb25zdCBkaXN0YW5jZSA9IG5ldyBGbG9hdDMyQXJyYXkoZnVsbFNpemUpO1xuICAgICAgICBsZXQgb2Zmc2V0ID0gMDtcbiAgICAgICAgLy8gc2V0dGluZyB0aGUgcmVzdWx0c1xuICAgICAgICBmb3IgKGNvbnN0IHJlcyBvZiByZXN1bHRzKSB7XG4gICAgICAgICAgICBpLnNldChyZXMuaSwgb2Zmc2V0KTtcbiAgICAgICAgICAgIGouc2V0KHJlcy5qLCBvZmZzZXQpO1xuICAgICAgICAgICAgZGlzdGFuY2Uuc2V0KHJlcy5kaXN0YW5jZSwgb2Zmc2V0KTtcbiAgICAgICAgICAgIG9mZnNldCArPSByZXMuaS5sZW5ndGg7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHsgaSwgaiwgZGlzdGFuY2UgfTtcbiAgICB9XG4gICAgYXN5bmMgZ2V0S05OKHZhbHVlcywgZm5OYW1lLCBuTmVpZ2hib3VycyA9IDE1LCBvcHRzID0ge30pIHtcbiAgICAgICAgcmV0dXJuIGF3YWl0IHRoaXMubXVsdGlDb2x1bW5LTk4oW3ZhbHVlc10sIFtmbk5hbWVdLCBuTmVpZ2hib3VycywgW29wdHNdLCBbMV0pO1xuICAgIH1cbiAgICBhc3luYyBtdWx0aUNvbHVtbktOTih2YWx1ZXMsIGZuTmFtZXMsIG5OZWlnaGJvdXJzID0gMTUsIG9wdHMsIHdlaWdodHMsIGFnZ3JlZ2F0aW9uTWV0aG9kID0gRGlzdGFuY2VBZ2dyZWdhdGlvbk1ldGhvZHMuRVVDTElERUFOKSB7XG4gICAgICAgIGlmICh2YWx1ZXMubGVuZ3RoICE9PSBmbk5hbWVzLmxlbmd0aCB8fCB2YWx1ZXMubGVuZ3RoICE9PSBvcHRzLmxlbmd0aCB8fCB2YWx1ZXMubGVuZ3RoICE9PSB3ZWlnaHRzLmxlbmd0aClcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcigndmFsdWVzLCBkaXN0YW5jZSBmdW5jdGlvbnMsIG9wdGlvbnMgYW5kIHdlaWdodHMgYXJyYXlzIHNob3VsZCBoYXZlIHRoZSBzYW1lIGxlbmd0aCcpO1xuICAgICAgICBpZiAodmFsdWVzLnNvbWUoKHYpID0+IHYubGVuZ3RoICE9PSB2YWx1ZXNbMF0ubGVuZ3RoKSlcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignYWxsIHZhbHVlcyBhcnJheXMgc2hvdWxkIGhhdmUgdGhlIHNhbWUgbGVuZ3RoJyk7XG4gICAgICAgIGNvbnN0IG1hdFNpemUgPSB2YWx1ZXNbMF0ubGVuZ3RoICogKHZhbHVlc1swXS5sZW5ndGggLSAxKSAvIDI7XG4gICAgICAgIGNvbnN0IGNodW5rU2l6ZSA9IE1hdGguZmxvb3IobWF0U2l6ZSAvIHRoaXMuX3dvcmtlckNvdW50KTtcbiAgICAgICAgY29uc3QgcHJvbWlzZXMgPSBuZXcgQXJyYXkodGhpcy5fd29ya2VyQ291bnQpO1xuICAgICAgICBjb25zdCB3b3JrZXJzID0gbmV3IEFycmF5KHRoaXMuX3dvcmtlckNvdW50KVxuICAgICAgICAgICAgLmZpbGwobnVsbCkubWFwKCgpID0+IG5ldyBXb3JrZXIobmV3IFVSTCgnLi9rbm4td29ya2VyJywgaW1wb3J0Lm1ldGEudXJsKSkpO1xuICAgICAgICBmb3IgKGxldCBpZHggPSAwOyBpZHggPCB0aGlzLl93b3JrZXJDb3VudDsgaWR4KyspIHtcbiAgICAgICAgICAgIHByb21pc2VzW2lkeF0gPSBuZXcgUHJvbWlzZSgocmVzb2x2ZVdvcmtlciwgcmVqZWN0V29ya2VyKSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3Qgc3RhcnRJZHggPSBpZHggKiBjaHVua1NpemU7XG4gICAgICAgICAgICAgICAgY29uc3QgZW5kSWR4ID0gaWR4ID09PSB0aGlzLl93b3JrZXJDb3VudCAtIDEgPyBtYXRTaXplIDogKGlkeCArIDEpICogY2h1bmtTaXplO1xuICAgICAgICAgICAgICAgIGlmIChlbmRJZHggPD0gc3RhcnRJZHgpXG4gICAgICAgICAgICAgICAgICAgIHJlc29sdmVXb3JrZXIoeyBrbm5EaXN0YW5jZXM6IG5ldyBBcnJheSgwKSwga25uSW5kZXhlczogbmV3IEFycmF5KDApIH0pO1xuICAgICAgICAgICAgICAgIHdvcmtlcnNbaWR4XS5wb3N0TWVzc2FnZSh7IHZhbHVlcywgc3RhcnRJZHgsIGVuZElkeCwgZm5OYW1lcywgb3B0cywgbk5laWdoYm91cnMsIHdlaWdodHMsIGFnZ3JlZ2F0aW9uTWV0aG9kIH0pO1xuICAgICAgICAgICAgICAgIHdvcmtlcnNbaWR4XS5vbm1lc3NhZ2UgPSAoeyBkYXRhOiB7IGVycm9yLCBrbm5EaXN0YW5jZXMsIGtubkluZGV4ZXMgfSB9KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGlmIChlcnJvcikge1xuICAgICAgICAgICAgICAgICAgICAgICAgd29ya2Vyc1tpZHhdLnRlcm1pbmF0ZSgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgcmVqZWN0V29ya2VyKGVycm9yKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHdvcmtlcnNbaWR4XS50ZXJtaW5hdGUoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlc29sdmVXb3JrZXIoeyBrbm5EaXN0YW5jZXMsIGtubkluZGV4ZXMgfSk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgcmVzdWx0cyA9IGF3YWl0IFByb21pc2UuYWxsKHByb21pc2VzKTtcbiAgICAgICAgY29uc3Qga25uUmVzID0ge1xuICAgICAgICAgICAga25uRGlzdGFuY2VzOiBuZXcgQXJyYXkodmFsdWVzWzBdLmxlbmd0aCkuZmlsbChudWxsKS5tYXAoKCkgPT4gbmV3IEFycmF5KG5OZWlnaGJvdXJzKS5maWxsKDk5OTk5KSksXG4gICAgICAgICAgICBrbm5JbmRleGVzOiBuZXcgQXJyYXkodmFsdWVzWzBdLmxlbmd0aCkuZmlsbChudWxsKS5tYXAoKCkgPT4gbmV3IEFycmF5KG5OZWlnaGJvdXJzKS5maWxsKC0xKSlcbiAgICAgICAgfTtcbiAgICAgICAgZm9yIChjb25zdCByZXMgb2YgcmVzdWx0cykge1xuICAgICAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCB2YWx1ZXNbMF0ubGVuZ3RoOyArK2kpIHtcbiAgICAgICAgICAgICAgICBmb3IgKGxldCBqID0gMDsgaiA8IHJlcy5rbm5EaXN0YW5jZXNbaV0/Lmxlbmd0aCA/PyAwOyArK2opXG4gICAgICAgICAgICAgICAgICAgIGluc2VydFNtYWxsZXIoa25uUmVzLmtubkRpc3RhbmNlc1tpXSwga25uUmVzLmtubkluZGV4ZXNbaV0sIHJlcy5rbm5EaXN0YW5jZXNbaV1bal0sIHJlcy5rbm5JbmRleGVzW2ldW2pdKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4ga25uUmVzO1xuICAgIH1cbiAgICBhc3luYyBnZXRTYW1wbGVEaXN0YW5jZXModmFsdWVzLCBmbk5hbWUsIG9wdHMgPSB7fSkge1xuICAgICAgICBjb25zdCB0aHJlc2hvbGRXb3JrZXJzID0gbmV3IEFycmF5KHRoaXMuX3dvcmtlckNvdW50KS5maWxsKG51bGwpXG4gICAgICAgICAgICAubWFwKCgpID0+IG5ldyBXb3JrZXIobmV3IFVSTCgnLi9zcGFyc2UtbWF0cml4LXRocmVzaG9sZC13b3JrZXInLCBpbXBvcnQubWV0YS51cmwpKSk7XG4gICAgICAgIC8vIGRhdGEgbWF5IGJlIHNvcnRlZCBieSBjbHVzdGVycywgd2hpY2ggd2lsbCBoaW5kZXIgdGhlIHJhbmRvbSBzYW1wbGluZ1xuICAgICAgICAvLyBzbyB3ZSBzaHVmZmxlIGl0IGZpcnN0XG4gICAgICAgIGNvbnN0IHNodWZmbGVkVmFsdWVzID0gdmFsdWVzLnNsaWNlKCk7XG4gICAgICAgIGZvciAobGV0IGkgPSBzaHVmZmxlZFZhbHVlcy5sZW5ndGggLSAxOyBpID4gMDsgaS0tKSB7XG4gICAgICAgICAgICBjb25zdCBqID0gTWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpICogKGkgKyAxKSk7XG4gICAgICAgICAgICBbc2h1ZmZsZWRWYWx1ZXNbaV0sIHNodWZmbGVkVmFsdWVzW2pdXSA9IFtzaHVmZmxlZFZhbHVlc1tqXSwgc2h1ZmZsZWRWYWx1ZXNbaV1dO1xuICAgICAgICB9XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICBjb25zdCBtYXRTaXplID0gdmFsdWVzLmxlbmd0aCAqICh2YWx1ZXMubGVuZ3RoIC0gMSkgLyAyO1xuICAgICAgICAgICAgY29uc3QgY2h1bmtTaXplID0gTWF0aC5mbG9vcihtYXRTaXplIC8gdGhpcy5fd29ya2VyQ291bnQpO1xuICAgICAgICAgICAgY29uc3QgbWF4U2FtcGxlU2l6ZSA9IDEwMDAwMDA7XG4gICAgICAgICAgICBjb25zdCBzYW1wbGVTaXNlID0gTWF0aC5tYXgoTWF0aC5taW4obWF0U2l6ZSAvIDEwMDAsIG1heFNhbXBsZVNpemUpLCBNYXRoLm1pbihtYXRTaXplLCBtYXhTYW1wbGVTaXplKSk7XG4gICAgICAgICAgICBjb25zdCB0ZXN0U2V0U2l6ZVBlcldvcmtlciA9IE1hdGguZmxvb3Ioc2FtcGxlU2lzZSAvIHRoaXMuX3dvcmtlckNvdW50KTtcbiAgICAgICAgICAgIGNvbnN0IHRQcm9taXNlcyA9IG5ldyBBcnJheSh0aGlzLl93b3JrZXJDb3VudCk7XG4gICAgICAgICAgICBmb3IgKGxldCBpZHggPSAwOyBpZHggPCB0aGlzLl93b3JrZXJDb3VudDsgaWR4KyspIHtcbiAgICAgICAgICAgICAgICB0UHJvbWlzZXNbaWR4XSA9IG5ldyBQcm9taXNlKChyZXNvbHZlV29ya2VyLCByZWplY3RXb3JrZXIpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3Qgc3RhcnRJZHggPSBpZHggKiBjaHVua1NpemU7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGVuZElkeCA9IGlkeCA9PT0gdGhpcy5fd29ya2VyQ291bnQgLSAxID8gbWF0U2l6ZSA6IChpZHggKyAxKSAqIGNodW5rU2l6ZTtcbiAgICAgICAgICAgICAgICAgICAgdGhyZXNob2xkV29ya2Vyc1tpZHhdLnBvc3RNZXNzYWdlKHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlczogc2h1ZmZsZWRWYWx1ZXMsIHN0YXJ0SWR4LCBlbmRJZHgsIHNhbXBsZUxlbmd0aDogdGVzdFNldFNpemVQZXJXb3JrZXIsIGZuTmFtZSwgb3B0c1xuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgdGhyZXNob2xkV29ya2Vyc1tpZHhdLm9ubWVzc2FnZSA9ICh7IGRhdGE6IHsgZXJyb3IsIGRpc3RhbmNlIH0gfSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhyZXNob2xkV29ya2Vyc1tpZHhdLnRlcm1pbmF0ZSgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGVycm9yKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlamVjdFdvcmtlcihlcnJvcik7XG4gICAgICAgICAgICAgICAgICAgICAgICBlbHNlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVzb2x2ZVdvcmtlcih7IGRpc3RhbmNlIH0pO1xuICAgICAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY29uc3QgcmVzdWx0cyA9IGF3YWl0IFByb21pc2UuYWxsKHRQcm9taXNlcyk7XG4gICAgICAgICAgICBjb25zdCBmdWxsU2l6ZSA9IHJlc3VsdHMucmVkdWNlKChhY2MsIHZhbCkgPT4gYWNjICsgdmFsLmRpc3RhbmNlLmxlbmd0aCwgMCk7XG4gICAgICAgICAgICBjb25zdCBkaXN0YW5jZSA9IG5ldyBGbG9hdDMyQXJyYXkoZnVsbFNpemUpO1xuICAgICAgICAgICAgbGV0IG9mZnNldCA9IDA7XG4gICAgICAgICAgICBmb3IgKGNvbnN0IHJlcyBvZiByZXN1bHRzKSB7XG4gICAgICAgICAgICAgICAgZGlzdGFuY2Uuc2V0KHJlcy5kaXN0YW5jZSwgb2Zmc2V0KTtcbiAgICAgICAgICAgICAgICBvZmZzZXQgKz0gcmVzLmRpc3RhbmNlLmxlbmd0aDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGRpc3RhbmNlLnNvcnQoKTtcbiAgICAgICAgICAgIHJldHVybiBkaXN0YW5jZTtcbiAgICAgICAgfVxuICAgICAgICBjYXRjaCAoZSkge1xuICAgICAgICAgICAgdGhyZXNob2xkV29ya2Vycz8uZm9yRWFjaCgodykgPT4gdz8udGVybWluYXRlKCkpO1xuICAgICAgICAgICAgY29uc29sZS5lcnJvcihlKTtcbiAgICAgICAgICAgIHJldHVybiBuZXcgRmxvYXQzMkFycmF5KDEpLmZpbGwoMC41KTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBhc3luYyBnZXRNaW5pbWFsVGhyZXNob2xkKHZhbHVlcywgZm5OYW1lLCBvcHRzID0ge30pIHtcbiAgICAgICAgLy9XZSBuZWVkIHRvIGNhbGN1bGF0ZSB0aGUgbWluaW1hbCB0aHJlc2hvbGQgZmlyc3QsXG4gICAgICAgIC8vaW4gb3JkZXIgdG8gZ2V0IG1hdHJpeCBzdWNoIHRoYXQgaXQgZG9lcyBub3QgZXhjZWVkIHRoZSBtYXhpbXVtIHNpemUgb2YgMUdCXG4gICAgICAgIC8vd2UgaGF2ZSAzIHJldHVybiBhcnJheXMsIGVhY2ggNCBiaXRlcyBwZXIgZWxlbWVudCwgc28gaWYgdGhlIG1heGltdW0gc2l6ZSBvZiB0aGUgbWF0cml4IGlzIDFHQixcbiAgICAgICAgY29uc3QgbWF4U3BhcnNlTWF0cml4U2l6ZSA9IDcwMDAwMDAwO1xuICAgICAgICB0cnkge1xuICAgICAgICAgICAgY29uc3QgbWF0U2l6ZSA9IHZhbHVlcy5sZW5ndGggKiAodmFsdWVzLmxlbmd0aCAtIDEpIC8gMjtcbiAgICAgICAgICAgIGNvbnN0IGRpc3RhbmNlID0gYXdhaXQgdGhpcy5nZXRTYW1wbGVEaXN0YW5jZXModmFsdWVzLCBmbk5hbWUsIG9wdHMpO1xuICAgICAgICAgICAgY29uc3QgZnJhY3Rpb25JbmRleCA9IE1hdGguZmxvb3IobWF4U3BhcnNlTWF0cml4U2l6ZSAvIG1hdFNpemUgKiBkaXN0YW5jZS5sZW5ndGgpO1xuICAgICAgICAgICAgY29uc3QgdGhyZXNob2xkID0gMSAtIGRpc3RhbmNlW2ZyYWN0aW9uSW5kZXhdO1xuICAgICAgICAgICAgLy8gdGhyZXNob2xkID0gTWF0aC5tYXgodGhyZXNob2xkLCAwLjMpO1xuICAgICAgICAgICAgcmV0dXJuIHRocmVzaG9sZDtcbiAgICAgICAgfVxuICAgICAgICBjYXRjaCAoZSkge1xuICAgICAgICAgICAgY29uc29sZS5lcnJvcihlKTtcbiAgICAgICAgICAgIHJldHVybiAwLjU7XG4gICAgICAgIH1cbiAgICB9XG4gICAgc3RhdGljIGNhbGNTeW5jKHZhbHVlcywgZm5OYW1lLCBkaXN0YW5jZUZuLCB0aHJlc2hvbGQpIHtcbiAgICAgICAgY29uc3QgaSA9IFtdO1xuICAgICAgICBjb25zdCBqID0gW107XG4gICAgICAgIGNvbnN0IGRpc3RhbmNlcyA9IFtdO1xuICAgICAgICBsZXQgY250ID0gMDtcbiAgICAgICAgbGV0IG1pID0gMDtcbiAgICAgICAgbGV0IG1qID0gMDtcbiAgICAgICAgY29uc3QgZnVsbFNpemUgPSB2YWx1ZXMubGVuZ3RoICogKHZhbHVlcy5sZW5ndGggLSAxKSAvIDI7XG4gICAgICAgIHdoaWxlIChjbnQgPCBmdWxsU2l6ZSkge1xuICAgICAgICAgICAgLy9jb25zdCB2YWx1ZSA9IHNlcTFMaXN0W21pXSAmJiBzZXExTGlzdFttal0gPyBoYW1taW5nKHNlcTFMaXN0W21pXSwgc2VxMUxpc3RbbWpdKSA6IDA7XG4gICAgICAgICAgICBjb25zdCB2YWx1ZSA9ICFpc05pbCh2YWx1ZXNbbWldKSAmJiAhaXNOaWwodmFsdWVzW21qXSkgP1xuICAgICAgICAgICAgICAgIGRpc3RhbmNlRm4odmFsdWVzW21pXSwgdmFsdWVzW21qXSkgOiAxO1xuICAgICAgICAgICAgY29uc3Qgc2ltaWxhcml0eSA9IE9iamVjdC52YWx1ZXMoQml0QXJyYXlNZXRyaWNzTmFtZXMpLnNvbWUoKGEpID0+IGEgPT09IGZuTmFtZSkgPyBnZXRTaW1pbGFyaXR5RnJvbURpc3RhbmNlKHZhbHVlKSA6IDEgLSB2YWx1ZTtcbiAgICAgICAgICAgIGlmIChzaW1pbGFyaXR5ID49IHRocmVzaG9sZCkge1xuICAgICAgICAgICAgICAgIGkucHVzaChtaSk7XG4gICAgICAgICAgICAgICAgai5wdXNoKG1qKTtcbiAgICAgICAgICAgICAgICBkaXN0YW5jZXMucHVzaCh2YWx1ZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjbnQrKztcbiAgICAgICAgICAgIG1qKys7XG4gICAgICAgICAgICBpZiAobWogPT09IHZhbHVlcy5sZW5ndGgpIHtcbiAgICAgICAgICAgICAgICBtaSsrO1xuICAgICAgICAgICAgICAgIG1qID0gbWkgKyAxO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGlBcnJheSA9IG5ldyBJbnQzMkFycmF5KGkpO1xuICAgICAgICBjb25zdCBqQXJyYXkgPSBuZXcgSW50MzJBcnJheShqKTtcbiAgICAgICAgY29uc3QgZGlzdGFuY2VBcnJheSA9IG5ldyBGbG9hdDMyQXJyYXkoZGlzdGFuY2VzKTtcbiAgICAgICAgcmV0dXJuIHsgaTogaUFycmF5LCBqOiBqQXJyYXksIGRpc3RhbmNlOiBkaXN0YW5jZUFycmF5IH07XG4gICAgfVxufVxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKbWFXeGxJam9pYzNCaGNuTmxMVzFoZEhKcGVDMXpaWEoyYVdObExtcHpJaXdpYzI5MWNtTmxVbTl2ZENJNklpSXNJbk52ZFhKalpYTWlPbHNpYzNCaGNuTmxMVzFoZEhKcGVDMXpaWEoyYVdObExuUnpJbDBzSW01aGJXVnpJanBiWFN3aWJXRndjR2x1WjNNaU9pSkJRVUZCTEU5QlFVOHNSVUZCUXl4NVFrRkJlVUlzUlVGQlF5eE5RVUZOTERaQ1FVRTJRaXhEUVVGRE8wRkJRM1JGTEU5QlFVOHNSVUZCUXl4dlFrRkJiMElzUlVGQlpTeE5RVUZOTEd0Q1FVRnJRaXhEUVVGRE8wRkJRM0JGTEU5QlFVOHNSVUZCTkVJc01FSkJRVEJDTEVWQlFVTXNUVUZCVFN4VFFVRlRMRU5CUVVNN1FVRkRPVVVzVDBGQlR5eEZRVUZETEdGQlFXRXNSVUZCUlN4TFFVRkxMRVZCUVVNc1RVRkJUU3hUUVVGVExFTkJRVU03UVVGaE4wTXNUVUZCVFN4UFFVRlBMRzFDUVVGdFFqdEpRVU53UWl4WlFVRlpMRU5CUVZNN1NVRkROMEk3VVVGRFJTeEpRVUZKTEVOQlFVTXNXVUZCV1N4SFFVRkhMRWxCUVVrc1EwRkJReXhIUVVGSExFTkJRVU1zVTBGQlV5eERRVUZETEcxQ1FVRnRRaXhIUVVGSExFTkJRVU1zUlVGQlJTeERRVUZETEVOQlFVTXNRMEZCUXp0SlFVTnlSU3hEUVVGRE8wbEJSVTBzUzBGQlN5eERRVUZETEVsQlFVa3NRMEZCU1N4TlFVRm5RaXhGUVVGRkxFMUJRVzlDTEVWQlFVVXNVMEZCYVVJc1JVRkJSU3hQUVVFeVFpeEZRVUZGTzFGQlF6TkhMSEZDUVVGeFFqdFJRVU55UWl4TlFVRk5MRTlCUVU4c1IwRkJSeXhOUVVGTkxFTkJRVU1zVFVGQlRTeEhRVUZITEVOQlFVTXNUVUZCVFN4RFFVRkRMRTFCUVUwc1IwRkJSeXhEUVVGRExFTkJRVU1zUjBGQlJ5eERRVUZETEVOQlFVTTdVVUZEZUVRc1RVRkJUU3hUUVVGVExFZEJRVWNzU1VGQlNTeERRVUZETEV0QlFVc3NRMEZCUXl4UFFVRlBMRWRCUVVjc1NVRkJTU3hEUVVGRExGbEJRVmtzUTBGQlF5eERRVUZETzFGQlJURkVMRTFCUVUwc1dVRkJXU3hIUVVGSExFMUJRVTBzUTBGQlF5eE5RVUZOTEVkQlFVY3NTMEZCVFN4RFFVRkRMRU5CUVVNc1EwRkJReXhOUVVGTkxFbEJRVWtzUTBGQlF5eHRRa0ZCYlVJc1EwRkJReXhOUVVGTkxFVkJRVVVzVFVGQlRTeEZRVUZGTEVsQlFVa3NRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU03VVVGRGRrY3NTVUZCU1N4VFFVRlRMRWRCUVVjc1dVRkJXU3hGUVVGRk8xbEJRelZDTEU5QlFVOHNRMEZCUXl4SFFVRkhMRU5CUVVNc2JVSkJRVzFDTEZsQlFWa3NSVUZCUlN4RFFVRkRMRU5CUVVNN1dVRkRMME1zVTBGQlV5eEhRVUZITEZsQlFWa3NRMEZCUXp0VFFVTXhRanRSUVVORUxFbEJRVWtzUTBGQlF5eFhRVUZYTEVOQlFVTXNSMEZCUnl4VFFVRlRMRU5CUVVNN1VVRkRPVUlzVFVGQlRTeFJRVUZSTEVkQlExb3NTVUZCU1N4TFFVRkxMRU5CUVRoQ0xFbEJRVWtzUTBGQlF5eFpRVUZaTEVOQlFVTXNRMEZCUXp0UlFVVTFSQ3hOUVVGTkxFOUJRVThzUjBGQlJ5eEpRVUZKTEV0QlFVc3NRMEZCUXl4SlFVRkpMRU5CUVVNc1dVRkJXU3hEUVVGRE8yRkJRM3BETEVsQlFVa3NRMEZCUXl4SlFVRkpMRU5CUVVNc1EwRkJReXhIUVVGSExFTkJRVU1zUjBGQlJ5eEZRVUZGTEVOQlFVTXNTVUZCU1N4TlFVRk5MRU5CUVVNc1NVRkJTU3hIUVVGSExFTkJRVU1zZDBKQlFYZENMRVZCUVVVc1RVRkJUU3hEUVVGRExFbEJRVWtzUTBGQlF5eEhRVUZITEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNN1VVRkRlRVlzUzBGQlN5eEpRVUZKTEVkQlFVY3NSMEZCUnl4RFFVRkRMRVZCUVVVc1IwRkJSeXhIUVVGSExFbEJRVWtzUTBGQlF5eFpRVUZaTEVWQlFVVXNSMEZCUnl4RlFVRkZMRVZCUVVVN1dVRkRhRVFzVVVGQlVTeERRVUZETEVkQlFVY3NRMEZCUXl4SFFVRkhMRWxCUVVrc1QwRkJUeXhEUVVGRExFTkJRVU1zWVVGQllTeEZRVUZGTEZsQlFWa3NSVUZCUlN4RlFVRkZPMmRDUVVNeFJDeE5RVUZOTEZGQlFWRXNSMEZCUnl4SFFVRkhMRWRCUVVjc1UwRkJVeXhEUVVGRE8yZENRVU5xUXl4TlFVRk5MRTFCUVUwc1IwRkJSeXhIUVVGSExFdEJRVXNzU1VGQlNTeERRVUZETEZsQlFWa3NSMEZCUnl4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRExFOUJRVThzUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXl4SFFVRkhMRWRCUVVjc1EwRkJReXhEUVVGRExFZEJRVWNzVTBGQlV5eERRVUZETzJkQ1FVTXZSU3hKUVVGSkxFMUJRVTBzU1VGQlNTeFJRVUZSTzI5Q1FVTndRaXhoUVVGaExFTkJRVU1zUlVGQlF5eERRVUZETEVWQlFVVXNTVUZCU1N4VlFVRlZMRU5CUVVNc1EwRkJReXhEUVVGRExFVkJRVVVzUTBGQlF5eEZRVUZGTEVsQlFVa3NWVUZCVlN4RFFVRkRMRU5CUVVNc1EwRkJReXhGUVVGRkxGRkJRVkVzUlVGQlJTeEpRVUZKTEZsQlFWa3NRMEZCUXl4RFFVRkRMRU5CUVVNc1JVRkJSU3hIUVVGSExFVkJRVU1zUTBGQlF5eERRVUZETzJkQ1FVTnNSeXhQUVVGUExFTkJRVU1zUjBGQlJ5eERRVUZETEVOQlFVTXNWMEZCVnl4RFFVRkRMRVZCUVVNc1RVRkJUU3hGUVVGRkxGRkJRVkVzUlVGQlJTeE5RVUZOTEVWQlFVVXNVMEZCVXl4RlFVRkZMRTFCUVUwc1JVRkJSU3hKUVVGSkxFVkJRVU1zUTBGQlF5eERRVUZETzJkQ1FVTTVSU3hQUVVGUExFTkJRVU1zUjBGQlJ5eERRVUZETEVOQlFVTXNVMEZCVXl4SFFVRkhMRU5CUVVNc1JVRkJReXhKUVVGSkxFVkJRVVVzUlVGQlF5eExRVUZMTEVWQlFVVXNRMEZCUXl4RlFVRkZMRU5CUVVNc1JVRkJSU3hSUVVGUkxFVkJRVU1zUlVGQlF5eEZRVUZSTEVWQlFVVTdiMEpCUTJwRkxFbEJRVWtzUzBGQlN5eEZRVUZGTzNkQ1FVTlVMRTlCUVU4c1EwRkJReXhIUVVGSExFTkJRVU1zUTBGQlF5eFRRVUZUTEVWQlFVVXNRMEZCUXp0M1FrRkRla0lzV1VGQldTeERRVUZETEV0QlFVc3NRMEZCUXl4RFFVRkRPM0ZDUVVOeVFqdDVRa0ZCVFR0M1FrRkRUQ3hQUVVGUExFTkJRVU1zUjBGQlJ5eERRVUZETEVOQlFVTXNVMEZCVXl4RlFVRkZMRU5CUVVNN2QwSkJRM3BDTEdGQlFXRXNRMEZCUXl4RlFVRkRMRU5CUVVNc1JVRkJSU3hEUVVGRExFVkJRVVVzVVVGQlVTeEZRVUZGTEVkQlFVY3NSVUZCUXl4RFFVRkRMRU5CUVVNN2NVSkJRM1JETzJkQ1FVTklMRU5CUVVNc1EwRkJRenRaUVVOS0xFTkJRVU1zUTBGQlF5eERRVUZETzFOQlEwbzdVVUZGUkN4TlFVRk5MRTlCUVU4c1IwRkJSeXhOUVVGTkxFOUJRVThzUTBGQlF5eEhRVUZITEVOQlFVTXNVVUZCVVN4RFFVRkRMRU5CUVVNN1VVRkROVU1zVFVGQlRTeFJRVUZSTEVkQlFVY3NUMEZCVHl4RFFVRkRMRTFCUVUwc1EwRkJReXhEUVVGRExFZEJRVWNzUlVGQlJTeEhRVUZITEVWQlFVVXNSVUZCUlN4RFFVRkRMRWRCUVVjc1IwRkJSeXhIUVVGSExFTkJRVU1zUTBGQlF5eERRVUZETEUxQlFVMHNSVUZCUlN4RFFVRkRMRU5CUVVNc1EwRkJRenRSUVVOeVJTeE5RVUZOTEVOQlFVTXNSMEZCUnl4SlFVRkpMRlZCUVZVc1EwRkJReXhSUVVGUkxFTkJRVU1zUTBGQlF6dFJRVU51UXl4TlFVRk5MRU5CUVVNc1IwRkJSeXhKUVVGSkxGVkJRVlVzUTBGQlF5eFJRVUZSTEVOQlFVTXNRMEZCUXp0UlFVTnVReXhOUVVGTkxGRkJRVkVzUjBGQlJ5eEpRVUZKTEZsQlFWa3NRMEZCUXl4UlFVRlJMRU5CUVVNc1EwRkJRenRSUVVNMVF5eEpRVUZKTEUxQlFVMHNSMEZCUnl4RFFVRkRMRU5CUVVNN1VVRkRaaXh6UWtGQmMwSTdVVUZEZEVJc1MwRkJTeXhOUVVGTkxFZEJRVWNzU1VGQlNTeFBRVUZQTEVWQlFVVTdXVUZEZWtJc1EwRkJReXhEUVVGRExFZEJRVWNzUTBGQlF5eEhRVUZITEVOQlFVTXNRMEZCUXl4RlFVRkZMRTFCUVUwc1EwRkJReXhEUVVGRE8xbEJRM0pDTEVOQlFVTXNRMEZCUXl4SFFVRkhMRU5CUVVNc1IwRkJSeXhEUVVGRExFTkJRVU1zUlVGQlJTeE5RVUZOTEVOQlFVTXNRMEZCUXp0WlFVTnlRaXhSUVVGUkxFTkJRVU1zUjBGQlJ5eERRVUZETEVkQlFVY3NRMEZCUXl4UlFVRlJMRVZCUVVVc1RVRkJUU3hEUVVGRExFTkJRVU03V1VGRGJrTXNUVUZCVFN4SlFVRkpMRWRCUVVjc1EwRkJReXhEUVVGRExFTkJRVU1zVFVGQlRTeERRVUZETzFOQlEzaENPMUZCUTBRc1QwRkJUeXhGUVVGRExFTkJRVU1zUlVGQlJTeERRVUZETEVWQlFVVXNVVUZCVVN4RlFVRkRMRU5CUVVNN1NVRkRNVUlzUTBGQlF6dEpRVVZOTEV0QlFVc3NRMEZCUXl4TlFVRk5MRU5CUTJwQ0xFMUJRV3RDTEVWQlFVVXNUVUZCYjBJc1JVRkJSU3hqUVVGelFpeEZRVUZGTEVWQlFVVXNUMEZCTWtJc1JVRkJSVHRSUVVWcVJ5eFBRVUZQTEUxQlFVMHNTVUZCU1N4RFFVRkRMR05CUVdNc1EwRkJReXhEUVVGRExFMUJRVTBzUTBGQlF5eEZRVUZGTEVOQlFVTXNUVUZCVFN4RFFVRkRMRVZCUVVVc1YwRkJWeXhGUVVGRkxFTkJRVU1zU1VGQlNTeERRVUZETEVWQlFVVXNRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRE8wbEJRMnBHTEVOQlFVTTdTVUZGVFN4TFFVRkxMRU5CUVVNc1kwRkJZeXhEUVVGRExFMUJRWGxDTEVWQlFVVXNUMEZCZFVJc1JVRkJSU3hqUVVGelFpeEZRVUZGTEVWQlEzUkhMRWxCUVRCQ0xFVkJRVVVzVDBGQmFVSXNSVUZETjBNc2IwSkJRU3RETERCQ1FVRXdRaXhEUVVGRExGTkJRVk03VVVGRmJrWXNTVUZCU1N4TlFVRk5MRU5CUVVNc1RVRkJUU3hMUVVGTExFOUJRVThzUTBGQlF5eE5RVUZOTEVsQlFVa3NUVUZCVFN4RFFVRkRMRTFCUVUwc1MwRkJTeXhKUVVGSkxFTkJRVU1zVFVGQlRTeEpRVUZKTEUxQlFVMHNRMEZCUXl4TlFVRk5MRXRCUVVzc1QwRkJUeXhEUVVGRExFMUJRVTA3V1VGRGRrY3NUVUZCVFN4SlFVRkpMRXRCUVVzc1EwRkJReXh2UmtGQmIwWXNRMEZCUXl4RFFVRkRPMUZCUlhoSExFbEJRVWtzVFVGQlRTeERRVUZETEVsQlFVa3NRMEZCUXl4RFFVRkRMRU5CUVVNc1JVRkJSU3hGUVVGRkxFTkJRVU1zUTBGQlF5eERRVUZETEUxQlFVMHNTMEZCU3l4TlFVRk5MRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU1zVFVGQlRTeERRVUZETzFsQlEyNUVMRTFCUVUwc1NVRkJTU3hMUVVGTExFTkJRVU1zSzBOQlFTdERMRU5CUVVNc1EwRkJRenRSUVVWdVJTeE5RVUZOTEU5QlFVOHNSMEZCUnl4TlFVRk5MRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU1zVFVGQlRTeEhRVUZITEVOQlFVTXNUVUZCVFN4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRExFMUJRVTBzUjBGQlJ5eERRVUZETEVOQlFVTXNSMEZCUnl4RFFVRkRMRU5CUVVNN1VVRkRPVVFzVFVGQlRTeFRRVUZUTEVkQlFVY3NTVUZCU1N4RFFVRkRMRXRCUVVzc1EwRkJReXhQUVVGUExFZEJRVWNzU1VGQlNTeERRVUZETEZsQlFWa3NRMEZCUXl4RFFVRkRPMUZCUXpGRUxFMUJRVTBzVVVGQlVTeEhRVU5hTEVsQlFVa3NTMEZCU3l4RFFVRnhRaXhKUVVGSkxFTkJRVU1zV1VGQldTeERRVUZETEVOQlFVTTdVVUZEYmtRc1RVRkJUU3hQUVVGUExFZEJRVWNzU1VGQlNTeExRVUZMTEVOQlFVTXNTVUZCU1N4RFFVRkRMRmxCUVZrc1EwRkJRenRoUVVONlF5eEpRVUZKTEVOQlFVTXNTVUZCU1N4RFFVRkRMRU5CUVVNc1IwRkJSeXhEUVVGRExFZEJRVWNzUlVGQlJTeERRVUZETEVsQlFVa3NUVUZCVFN4RFFVRkRMRWxCUVVrc1IwRkJSeXhEUVVGRExHTkJRV01zUlVGQlJTeE5RVUZOTEVOQlFVTXNTVUZCU1N4RFFVRkRMRWRCUVVjc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF6dFJRVU01UlN4TFFVRkxMRWxCUVVrc1IwRkJSeXhIUVVGSExFTkJRVU1zUlVGQlJTeEhRVUZITEVkQlFVY3NTVUZCU1N4RFFVRkRMRmxCUVZrc1JVRkJSU3hIUVVGSExFVkJRVVVzUlVGQlJUdFpRVU5vUkN4UlFVRlJMRU5CUVVNc1IwRkJSeXhEUVVGRExFZEJRVWNzU1VGQlNTeFBRVUZQTEVOQlFVTXNRMEZCUXl4aFFVRmhMRVZCUVVVc1dVRkJXU3hGUVVGRkxFVkJRVVU3WjBKQlF6RkVMRTFCUVUwc1VVRkJVU3hIUVVGSExFZEJRVWNzUjBGQlJ5eFRRVUZUTEVOQlFVTTdaMEpCUTJwRExFMUJRVTBzVFVGQlRTeEhRVUZITEVkQlFVY3NTMEZCU3l4SlFVRkpMRU5CUVVNc1dVRkJXU3hIUVVGSExFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTXNUMEZCVHl4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRExFZEJRVWNzUjBGQlJ5eERRVUZETEVOQlFVTXNSMEZCUnl4VFFVRlRMRU5CUVVNN1owSkJReTlGTEVsQlFVa3NUVUZCVFN4SlFVRkpMRkZCUVZFN2IwSkJRM0JDTEdGQlFXRXNRMEZCUXl4RlFVRkRMRmxCUVZrc1JVRkJSU3hKUVVGSkxFdEJRVXNzUTBGQlF5eERRVUZETEVOQlFVTXNSVUZCUlN4VlFVRlZMRVZCUVVVc1NVRkJTU3hMUVVGTExFTkJRVU1zUTBGQlF5eERRVUZETEVWQlFVTXNRMEZCUXl4RFFVRkRPMmRDUVVONFJTeFBRVUZQTEVOQlFVTXNSMEZCUnl4RFFVRkRMRU5CUVVNc1YwRkJWeXhEUVVGRExFVkJRVU1zVFVGQlRTeEZRVUZGTEZGQlFWRXNSVUZCUlN4TlFVRk5MRVZCUVVVc1QwRkJUeXhGUVVGRkxFbEJRVWtzUlVGQlJTeFhRVUZYTEVWQlFVVXNUMEZCVHl4RlFVRkZMR2xDUVVGcFFpeEZRVUZETEVOQlFVTXNRMEZCUXp0blFrRkROMGNzVDBGQlR5eERRVUZETEVkQlFVY3NRMEZCUXl4RFFVRkRMRk5CUVZNc1IwRkJSeXhEUVVGRExFVkJRVU1zU1VGQlNTeEZRVUZGTEVWQlFVTXNTMEZCU3l4RlFVRkZMRmxCUVZrc1JVRkJSU3hWUVVGVkxFVkJRVU1zUlVGQlF5eEZRVUZSTEVWQlFVVTdiMEpCUXpORkxFbEJRVWtzUzBGQlN5eEZRVUZGTzNkQ1FVTlVMRTlCUVU4c1EwRkJReXhIUVVGSExFTkJRVU1zUTBGQlF5eFRRVUZUTEVWQlFVVXNRMEZCUXp0M1FrRkRla0lzV1VGQldTeERRVUZETEV0QlFVc3NRMEZCUXl4RFFVRkRPM0ZDUVVOeVFqdDVRa0ZCVFR0M1FrRkRUQ3hQUVVGUExFTkJRVU1zUjBGQlJ5eERRVUZETEVOQlFVTXNVMEZCVXl4RlFVRkZMRU5CUVVNN2QwSkJRM3BDTEdGQlFXRXNRMEZCUXl4RlFVRkRMRmxCUVZrc1JVRkJSU3hWUVVGVkxFVkJRVU1zUTBGQlF5eERRVUZETzNGQ1FVTXpRenRuUWtGRFNDeERRVUZETEVOQlFVTTdXVUZEU2l4RFFVRkRMRU5CUVVNc1EwRkJRenRUUVVOS08xRkJSVVFzVFVGQlRTeFBRVUZQTEVkQlFVY3NUVUZCVFN4UFFVRlBMRU5CUVVNc1IwRkJSeXhEUVVGRExGRkJRVkVzUTBGQlF5eERRVUZETzFGQlF6VkRMRTFCUVUwc1RVRkJUU3hIUVVGak8xbEJRM2hDTEZsQlFWa3NSVUZCUlN4SlFVRkpMRXRCUVVzc1EwRkJReXhOUVVGTkxFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTXNUVUZCVFN4RFFVRkRMRU5CUVVNc1NVRkJTU3hEUVVGRExFbEJRVWtzUTBGQlF5eERRVUZETEVkQlFVY3NRMEZCUXl4SFFVRkhMRVZCUVVVc1EwRkJReXhKUVVGSkxFdEJRVXNzUTBGQlV5eFhRVUZYTEVOQlFVTXNRMEZCUXl4SlFVRkpMRU5CUVVNc1MwRkJTeXhEUVVGRExFTkJRVU03V1VGRE1VY3NWVUZCVlN4RlFVRkZMRWxCUVVrc1MwRkJTeXhEUVVGRExFMUJRVTBzUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXl4TlFVRk5MRU5CUVVNc1EwRkJReXhKUVVGSkxFTkJRVU1zU1VGQlNTeERRVUZETEVOQlFVTXNSMEZCUnl4RFFVRkRMRWRCUVVjc1JVRkJSU3hEUVVGRExFbEJRVWtzUzBGQlN5eERRVUZUTEZkQlFWY3NRMEZCUXl4RFFVRkRMRWxCUVVrc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETzFOQlFVTXNRMEZCUXp0UlFVTjZSeXhMUVVGTExFMUJRVTBzUjBGQlJ5eEpRVUZKTEU5QlFVOHNSVUZCUlR0WlFVTjZRaXhMUVVGTExFbEJRVWtzUTBGQlF5eEhRVUZITEVOQlFVTXNSVUZCUlN4RFFVRkRMRWRCUVVjc1RVRkJUU3hEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETEUxQlFVMHNSVUZCUlN4RlFVRkZMRU5CUVVNc1JVRkJSVHRuUWtGRGVrTXNTMEZCU3l4SlFVRkpMRU5CUVVNc1IwRkJSeXhEUVVGRExFVkJRVVVzUTBGQlF5eEhRVUZITEVkQlFVY3NRMEZCUXl4WlFVRlpMRU5CUVVNc1EwRkJReXhEUVVGRExFVkJRVVVzVFVGQlRTeEpRVUZKTEVOQlFVTXNSVUZCUlN4RlFVRkZMRU5CUVVNN2IwSkJRM1pFTEdGQlFXRXNRMEZCUXl4TlFVRk5MRU5CUVVNc1dVRkJXU3hEUVVGRExFTkJRVU1zUTBGQlF5eEZRVUZGTEUxQlFVMHNRMEZCUXl4VlFVRlZMRU5CUVVNc1EwRkJReXhEUVVGRExFVkJRVVVzUjBGQlJ5eERRVUZETEZsQlFWa3NRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU1zUlVGQlJTeEhRVUZITEVOQlFVTXNWVUZCVlN4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTTdZVUZETjBjN1UwRkRSanRSUVVORUxFOUJRVThzVFVGQlRTeERRVUZETzBsQlEyaENMRU5CUVVNN1NVRkZUU3hMUVVGTExFTkJRVU1zYTBKQlFXdENMRU5CUVVrc1RVRkJaMElzUlVGQlJTeE5RVUZ2UWl4RlFVTjJSU3hQUVVFeVFpeEZRVUZGTzFGQlF6ZENMRTFCUVUwc1owSkJRV2RDTEVkQlFVY3NTVUZCU1N4TFFVRkxMRU5CUVVNc1NVRkJTU3hEUVVGRExGbEJRVmtzUTBGQlF5eERRVUZETEVsQlFVa3NRMEZCUXl4SlFVRkpMRU5CUVVNN1lVRkROMFFzUjBGQlJ5eERRVUZETEVkQlFVY3NSVUZCUlN4RFFVRkRMRWxCUVVrc1RVRkJUU3hEUVVGRExFbEJRVWtzUjBGQlJ5eERRVUZETEd0RFFVRnJReXhGUVVGRkxFMUJRVTBzUTBGQlF5eEpRVUZKTEVOQlFVTXNSMEZCUnl4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRE8xRkJRM1pHTEhkRlFVRjNSVHRSUVVONFJTeDVRa0ZCZVVJN1VVRkRla0lzVFVGQlRTeGpRVUZqTEVkQlFVY3NUVUZCVFN4RFFVRkRMRXRCUVVzc1JVRkJSU3hEUVVGRE8xRkJRM1JETEV0QlFVc3NTVUZCU1N4RFFVRkRMRWRCUVVjc1kwRkJZeXhEUVVGRExFMUJRVTBzUjBGQlJ5eERRVUZETEVWQlFVVXNRMEZCUXl4SFFVRkhMRU5CUVVNc1JVRkJSU3hEUVVGRExFVkJRVVVzUlVGQlJUdFpRVU5zUkN4TlFVRk5MRU5CUVVNc1IwRkJSeXhKUVVGSkxFTkJRVU1zUzBGQlN5eERRVUZETEVsQlFVa3NRMEZCUXl4TlFVRk5MRVZCUVVVc1IwRkJSeXhEUVVGRExFTkJRVU1zUjBGQlJ5eERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRPMWxCUXpsRExFTkJRVU1zWTBGQll5eERRVUZETEVOQlFVTXNRMEZCUXl4RlFVRkZMR05CUVdNc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF5eEhRVUZITEVOQlFVTXNZMEZCWXl4RFFVRkRMRU5CUVVNc1EwRkJReXhGUVVGRkxHTkJRV01zUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRPMU5CUTJwR08xRkJSVVFzU1VGQlNUdFpRVU5HTEUxQlFVMHNUMEZCVHl4SFFVRkhMRTFCUVUwc1EwRkJReXhOUVVGTkxFZEJRVWNzUTBGQlF5eE5RVUZOTEVOQlFVTXNUVUZCVFN4SFFVRkhMRU5CUVVNc1EwRkJReXhIUVVGSExFTkJRVU1zUTBGQlF6dFpRVU40UkN4TlFVRk5MRk5CUVZNc1IwRkJSeXhKUVVGSkxFTkJRVU1zUzBGQlN5eERRVUZETEU5QlFVOHNSMEZCUnl4SlFVRkpMRU5CUVVNc1dVRkJXU3hEUVVGRExFTkJRVU03V1VGRE1VUXNUVUZCVFN4aFFVRmhMRWRCUVVjc1QwRkJVeXhEUVVGRE8xbEJRMmhETEUxQlFVMHNWVUZCVlN4SFFVRkhMRWxCUVVrc1EwRkJReXhIUVVGSExFTkJRVU1zU1VGQlNTeERRVUZETEVkQlFVY3NRMEZCUXl4UFFVRlBMRWRCUVVjc1NVRkJTU3hGUVVGRkxHRkJRV0VzUTBGQlF5eEZRVUZGTEVsQlFVa3NRMEZCUXl4SFFVRkhMRU5CUVVNc1QwRkJUeXhGUVVGRkxHRkJRV0VzUTBGQlF5eERRVUZETEVOQlFVTTdXVUZEZGtjc1RVRkJUU3h2UWtGQmIwSXNSMEZCUnl4SlFVRkpMRU5CUVVNc1MwRkJTeXhEUVVGRExGVkJRVlVzUjBGQlJ5eEpRVUZKTEVOQlFVTXNXVUZCV1N4RFFVRkRMRU5CUVVNN1dVRkRlRVVzVFVGQlRTeFRRVUZUTEVkQlFVY3NTVUZCU1N4TFFVRkxMRU5CUVc5RExFbEJRVWtzUTBGQlF5eFpRVUZaTEVOQlFVTXNRMEZCUXp0WlFVVnNSaXhMUVVGTExFbEJRVWtzUjBGQlJ5eEhRVUZITEVOQlFVTXNSVUZCUlN4SFFVRkhMRWRCUVVjc1NVRkJTU3hEUVVGRExGbEJRVmtzUlVGQlJTeEhRVUZITEVWQlFVVXNSVUZCUlR0blFrRkRhRVFzVTBGQlV5eERRVUZETEVkQlFVY3NRMEZCUXl4SFFVRkhMRWxCUVVrc1QwRkJUeXhEUVVGRExFTkJRVU1zWVVGQllTeEZRVUZGTEZsQlFWa3NSVUZCUlN4RlFVRkZPMjlDUVVNelJDeE5RVUZOTEZGQlFWRXNSMEZCUnl4SFFVRkhMRWRCUVVjc1UwRkJVeXhEUVVGRE8yOUNRVU5xUXl4TlFVRk5MRTFCUVUwc1IwRkJSeXhIUVVGSExFdEJRVXNzU1VGQlNTeERRVUZETEZsQlFWa3NSMEZCUnl4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRExFOUJRVThzUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXl4SFFVRkhMRWRCUVVjc1EwRkJReXhEUVVGRExFZEJRVWNzVTBGQlV5eERRVUZETzI5Q1FVTXZSU3huUWtGQlowSXNRMEZCUXl4SFFVRkhMRU5CUVVNc1EwRkJReXhYUVVGWExFTkJRVU03ZDBKQlEyaERMRTFCUVUwc1JVRkJSU3hqUVVGakxFVkJRVVVzVVVGQlVTeEZRVUZGTEUxQlFVMHNSVUZCUlN4WlFVRlpMRVZCUVVVc2IwSkJRVzlDTEVWQlFVVXNUVUZCVFN4RlFVRkZMRWxCUVVrN2NVSkJRek5HTEVOQlFVTXNRMEZCUXp0dlFrRkRTQ3huUWtGQlowSXNRMEZCUXl4SFFVRkhMRU5CUVVNc1EwRkJReXhUUVVGVExFZEJRVWNzUTBGQlF5eEZRVUZETEVsQlFVa3NSVUZCUlN4RlFVRkRMRXRCUVVzc1JVRkJSU3hSUVVGUkxFVkJRVU1zUlVGQlF5eEZRVUZSTEVWQlFVVTdkMEpCUTNCRkxHZENRVUZuUWl4RFFVRkRMRWRCUVVjc1EwRkJReXhEUVVGRExGTkJRVk1zUlVGQlJTeERRVUZETzNkQ1FVTnNReXhKUVVGSkxFdEJRVXM3TkVKQlFVVXNXVUZCV1N4RFFVRkRMRXRCUVVzc1EwRkJReXhEUVVGRE96czBRa0ZETjBJc1lVRkJZU3hEUVVGRExFVkJRVU1zVVVGQlVTeEZRVUZETEVOQlFVTXNRMEZCUXp0dlFrRkRPVUlzUTBGQlF5eERRVUZETzJkQ1FVTktMRU5CUVVNc1EwRkJReXhEUVVGRE8yRkJRMG83V1VGRlJDeE5RVUZOTEU5QlFVOHNSMEZCUnl4TlFVRk5MRTlCUVU4c1EwRkJReXhIUVVGSExFTkJRVU1zVTBGQlV5eERRVUZETEVOQlFVTTdXVUZETjBNc1RVRkJUU3hSUVVGUkxFZEJRVWNzVDBGQlR5eERRVUZETEUxQlFVMHNRMEZCUXl4RFFVRkRMRWRCUVVjc1JVRkJSU3hIUVVGSExFVkJRVVVzUlVGQlJTeERRVUZETEVkQlFVY3NSMEZCUnl4SFFVRkhMRU5CUVVNc1VVRkJVU3hEUVVGRExFMUJRVTBzUlVGQlJTeERRVUZETEVOQlFVTXNRMEZCUXp0WlFVTTFSU3hOUVVGTkxGRkJRVkVzUjBGQlJ5eEpRVUZKTEZsQlFWa3NRMEZCUXl4UlFVRlJMRU5CUVVNc1EwRkJRenRaUVVNMVF5eEpRVUZKTEUxQlFVMHNSMEZCUnl4RFFVRkRMRU5CUVVNN1dVRkRaaXhMUVVGTExFMUJRVTBzUjBGQlJ5eEpRVUZKTEU5QlFVOHNSVUZCUlR0blFrRkRla0lzVVVGQlVTeERRVUZETEVkQlFVY3NRMEZCUXl4SFFVRkhMRU5CUVVNc1VVRkJVU3hGUVVGRkxFMUJRVTBzUTBGQlF5eERRVUZETzJkQ1FVTnVReXhOUVVGTkxFbEJRVWtzUjBGQlJ5eERRVUZETEZGQlFWRXNRMEZCUXl4TlFVRk5MRU5CUVVNN1lVRkRMMEk3V1VGRFJDeFJRVUZSTEVOQlFVTXNTVUZCU1N4RlFVRkZMRU5CUVVNN1dVRkZhRUlzVDBGQlR5eFJRVUZSTEVOQlFVTTdVMEZEYWtJN1VVRkJReXhQUVVGUExFTkJRVU1zUlVGQlJUdFpRVU5XTEdkQ1FVRm5RaXhGUVVGRkxFOUJRVThzUTBGQlF5eERRVUZETEVOQlFVTXNSVUZCUlN4RlFVRkZMRU5CUVVNc1EwRkJReXhGUVVGRkxGTkJRVk1zUlVGQlJTeERRVUZETEVOQlFVTTdXVUZEYWtRc1QwRkJUeXhEUVVGRExFdEJRVXNzUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXp0WlFVTnFRaXhQUVVGUExFbEJRVWtzV1VGQldTeERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRMRWxCUVVrc1EwRkJReXhIUVVGSExFTkJRVU1zUTBGQlF6dFRRVU4wUXp0SlFVTklMRU5CUVVNN1NVRkZUeXhMUVVGTExFTkJRVU1zYlVKQlFXMUNMRU5CUVVrc1RVRkJaMElzUlVGQlJTeE5RVUZ2UWl4RlFVRkZMRTlCUVRKQ0xFVkJRVVU3VVVGRGVFY3NiVVJCUVcxRU8xRkJRMjVFTERaRlFVRTJSVHRSUVVNM1JTeHBSMEZCYVVjN1VVRkRha2NzVFVGQlRTeHRRa0ZCYlVJc1IwRkJSeXhSUVVGVkxFTkJRVU03VVVGRGRrTXNTVUZCU1R0WlFVTkdMRTFCUVUwc1QwRkJUeXhIUVVGSExFMUJRVTBzUTBGQlF5eE5RVUZOTEVkQlFVY3NRMEZCUXl4TlFVRk5MRU5CUVVNc1RVRkJUU3hIUVVGSExFTkJRVU1zUTBGQlF5eEhRVUZITEVOQlFVTXNRMEZCUXp0WlFVTjRSQ3hOUVVGTkxGRkJRVkVzUjBGQlJ5eE5RVUZOTEVsQlFVa3NRMEZCUXl4clFrRkJhMElzUTBGQlF5eE5RVUZOTEVWQlFVVXNUVUZCVFN4RlFVRkZMRWxCUVVrc1EwRkJReXhEUVVGRE8xbEJRM0pGTEUxQlFVMHNZVUZCWVN4SFFVRkhMRWxCUVVrc1EwRkJReXhMUVVGTExFTkJRVU1zYlVKQlFXMUNMRWRCUVVjc1QwRkJUeXhIUVVGSExGRkJRVkVzUTBGQlF5eE5RVUZOTEVOQlFVTXNRMEZCUXp0WlFVTnNSaXhOUVVGTkxGTkJRVk1zUjBGQlJ5eERRVUZETEVkQlFVY3NVVUZCVVN4RFFVRkRMR0ZCUVdFc1EwRkJReXhEUVVGRE8xbEJRemxETEhkRFFVRjNRenRaUVVONFF5eFBRVUZQTEZOQlFWTXNRMEZCUXp0VFFVTnNRanRSUVVGRExFOUJRVThzUTBGQlF5eEZRVUZGTzFsQlExWXNUMEZCVHl4RFFVRkRMRXRCUVVzc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF6dFpRVU5xUWl4UFFVRlBMRWRCUVVjc1EwRkJRenRUUVVOYU8wbEJRMGdzUTBGQlF6dEpRVVZOTEUxQlFVMHNRMEZCUXl4UlFVRlJMRU5CUTNCQ0xFMUJRU3RDTEVWQlFVVXNUVUZCYjBJc1JVRkJSU3hWUVVGdlFpeEZRVUZGTEZOQlFXbENPMUZCUlRsR0xFMUJRVTBzUTBGQlF5eEhRVUZoTEVWQlFVVXNRMEZCUXp0UlFVTjJRaXhOUVVGTkxFTkJRVU1zUjBGQllTeEZRVUZGTEVOQlFVTTdVVUZEZGtJc1RVRkJUU3hUUVVGVExFZEJRV0VzUlVGQlJTeERRVUZETzFGQlF5OUNMRWxCUVVrc1IwRkJSeXhIUVVGSExFTkJRVU1zUTBGQlF6dFJRVU5hTEVsQlFVa3NSVUZCUlN4SFFVRkhMRU5CUVVNc1EwRkJRenRSUVVOWUxFbEJRVWtzUlVGQlJTeEhRVUZITEVOQlFVTXNRMEZCUXp0UlFVTllMRTFCUVUwc1VVRkJVU3hIUVVGSExFMUJRVTBzUTBGQlF5eE5RVUZOTEVkQlFVY3NRMEZCUXl4TlFVRk5MRU5CUVVNc1RVRkJUU3hIUVVGSExFTkJRVU1zUTBGQlF5eEhRVUZITEVOQlFVTXNRMEZCUXp0UlFVTjZSQ3hQUVVGUExFZEJRVWNzUjBGQlJ5eFJRVUZSTEVWQlFVVTdXVUZEY2tJc2RVWkJRWFZHTzFsQlEzWkdMRTFCUVUwc1MwRkJTeXhIUVVGSExFTkJRVU1zUzBGQlN5eERRVUZETEUxQlFVMHNRMEZCUXl4RlFVRkZMRU5CUVVNc1EwRkJReXhKUVVGSkxFTkJRVU1zUzBGQlN5eERRVUZETEUxQlFVMHNRMEZCUXl4RlFVRkZMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU03WjBKQlEzUkVMRlZCUVZVc1EwRkJReXhOUVVGTkxFTkJRVU1zUlVGQlJTeERRVUZETEVWQlFVVXNUVUZCVFN4RFFVRkRMRVZCUVVVc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXp0WlFVTjZReXhOUVVGTkxGVkJRVlVzUjBGRFpDeE5RVUZOTEVOQlFVTXNUVUZCVFN4RFFVRkRMRzlDUVVGdlFpeERRVUZETEVOQlFVTXNTVUZCU1N4RFFVRkRMRU5CUVVNc1EwRkJReXhGUVVGRkxFVkJRVVVzUTBGQlF5eERRVUZETEV0QlFVc3NUVUZCVFN4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRExIbENRVUY1UWl4RFFVRkRMRXRCUVVzc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETEVkQlFVY3NTMEZCU3l4RFFVRkRPMWxCUXk5SExFbEJRVWtzVlVGQlZTeEpRVUZKTEZOQlFWTXNSVUZCUlR0blFrRkRNMElzUTBGQlF5eERRVUZETEVsQlFVa3NRMEZCUXl4RlFVRkZMRU5CUVVNc1EwRkJRenRuUWtGRFdDeERRVUZETEVOQlFVTXNTVUZCU1N4RFFVRkRMRVZCUVVVc1EwRkJReXhEUVVGRE8yZENRVU5ZTEZOQlFWTXNRMEZCUXl4SlFVRkpMRU5CUVVNc1MwRkJTeXhEUVVGRExFTkJRVU03WVVGRGRrSTdXVUZEUkN4SFFVRkhMRVZCUVVVc1EwRkJRenRaUVVOT0xFVkJRVVVzUlVGQlJTeERRVUZETzFsQlEwd3NTVUZCU1N4RlFVRkZMRXRCUVVzc1RVRkJUU3hEUVVGRExFMUJRVTBzUlVGQlJUdG5Ra0ZEZUVJc1JVRkJSU3hGUVVGRkxFTkJRVU03WjBKQlEwd3NSVUZCUlN4SFFVRkhMRVZCUVVVc1IwRkJSeXhEUVVGRExFTkJRVU03WVVGRFlqdFRRVU5HTzFGQlJVUXNUVUZCVFN4TlFVRk5MRWRCUVVjc1NVRkJTU3hWUVVGVkxFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTTdVVUZEYWtNc1RVRkJUU3hOUVVGTkxFZEJRVWNzU1VGQlNTeFZRVUZWTEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNN1VVRkRha01zVFVGQlRTeGhRVUZoTEVkQlFVY3NTVUZCU1N4WlFVRlpMRU5CUVVNc1UwRkJVeXhEUVVGRExFTkJRVU03VVVGRmJFUXNUMEZCVHl4RlFVRkRMRU5CUVVNc1JVRkJSU3hOUVVGTkxFVkJRVVVzUTBGQlF5eEZRVUZGTEUxQlFVMHNSVUZCUlN4UlFVRlJMRVZCUVVVc1lVRkJZU3hGUVVGRExFTkJRVU03U1VGRGVrUXNRMEZCUXp0RFFVTktJaXdpYzI5MWNtTmxjME52Ym5SbGJuUWlPbHNpYVcxd2IzSjBJSHRuWlhSVGFXMXBiR0Z5YVhSNVJuSnZiVVJwYzNSaGJtTmxmU0JtY205dElDY3VMaTlrYVhOMFlXNWpaUzF0WlhSeWFXTnpMVzFsZEdodlpITW5PMXh1YVcxd2IzSjBJSHRDYVhSQmNuSmhlVTFsZEhKcFkzTk9ZVzFsY3l3Z1MyNXZkMjVOWlhSeWFXTnpmU0JtY205dElDY3VMaTkwZVhCbFpDMXRaWFJ5YVdOekp6dGNibWx0Y0c5eWRDQjdSR2x6ZEdGdVkyVkJaMmR5WldkaGRHbHZiazFsZEdodlpDd2dSR2x6ZEdGdVkyVkJaMmR5WldkaGRHbHZiazFsZEdodlpITjlJR1p5YjIwZ0p5NHZkSGx3WlhNbk8xeHVhVzF3YjNKMElIdHBibk5sY25SVGJXRnNiR1Z5TENCcGMwNXBiSDBnWm5KdmJTQW5MaTkxZEdsc2N5YzdYRzVjYm1WNGNHOXlkQ0IwZVhCbElGTndZWEp6WlUxaGRISnBlRkpsYzNWc2RDQTlJSHRjYmlBZ2FUb2dTVzUwTXpKQmNuSmhlU3hjYmlBZ2Fqb2dTVzUwTXpKQmNuSmhlU3hjYmlBZ1pHbHpkR0Z1WTJVNklFWnNiMkYwTXpKQmNuSmhlU3hjYmlBZ2FXUjRQem9nYm5WdFltVnlYRzU5TzF4dVhHNWxlSEJ2Y25RZ2RIbHdaU0JMYm01U1pYTjFiSFFnUFNCN1hHNGdJR3R1YmtScGMzUmhibU5sY3pvZ2JuVnRZbVZ5VzExYlhTeGNiaUFnYTI1dVNXNWtaWGhsY3pvZ2JuVnRZbVZ5VzExYlhWeHVmVnh1Wlhod2IzSjBJR05zWVhOeklGTndZWEp6WlUxaGRISnBlRk5sY25acFkyVWdlMXh1SUNBZ0lIQnlhWFpoZEdVZ1gzZHZjbXRsY2tOdmRXNTBPaUJ1ZFcxaVpYSTdYRzRnSUNBZ1kyOXVjM1J5ZFdOMGIzSW9LU0I3WEc0Z0lDQWdJQ0IwYUdsekxsOTNiM0pyWlhKRGIzVnVkQ0E5SUUxaGRHZ3ViV0Y0S0c1aGRtbG5ZWFJ2Y2k1b1lYSmtkMkZ5WlVOdmJtTjFjbkpsYm1ONUlDMGdNaXdnTVNrN1hHNGdJQ0FnZlZ4dVhHNGdJQ0FnY0hWaWJHbGpJR0Z6ZVc1aklHTmhiR004VkQ0b2RtRnNkV1Z6T2lCQmNuSmhlVHhVUGl3Z1ptNU9ZVzFsT2lCTGJtOTNiazFsZEhKcFkzTXNJSFJvY21WemFHOXNaRG9nYm5WdFltVnlMQ0J2Y0hSek9pQjdXMTg2SUhOMGNtbHVaMTA2SUdGdWVYMGdQU0I3ZlNrZ2UxeHVJQ0FnSUNBZ0x5OXphWHBsSUc5bUlHWjFiR3dnYldGMGNtbDRYRzRnSUNBZ0lDQmpiMjV6ZENCdFlYUlRhWHBsSUQwZ2RtRnNkV1Z6TG14bGJtZDBhQ0FxSUNoMllXeDFaWE11YkdWdVozUm9JQzBnTVNrZ0x5QXlPMXh1SUNBZ0lDQWdZMjl1YzNRZ1kyaDFibXRUYVhwbElEMGdUV0YwYUM1bWJHOXZjaWh0WVhSVGFYcGxJQzhnZEdocGN5NWZkMjl5YTJWeVEyOTFiblFwTzF4dVhHNGdJQ0FnSUNCamIyNXpkQ0J0YVc1VWFISmxjMmh2YkdRZ1BTQjJZV3gxWlhNdWJHVnVaM1JvSUQ0Z01qQmZNREF3SUQ4Z1lYZGhhWFFnZEdocGN5NW5aWFJOYVc1cGJXRnNWR2h5WlhOb2IyeGtLSFpoYkhWbGN5d2dabTVPWVcxbExDQnZjSFJ6S1NBNklEQTdYRzRnSUNBZ0lDQnBaaUFvZEdoeVpYTm9iMnhrSUR3Z2JXbHVWR2h5WlhOb2IyeGtLU0I3WEc0Z0lDQWdJQ0FnSUdOdmJuTnZiR1V1Ykc5bktHQjFjMmx1WnlCMGFISmxjMmh2YkdRZ0pIdHRhVzVVYUhKbGMyaHZiR1I5WUNrN1hHNGdJQ0FnSUNBZ0lIUm9jbVZ6YUc5c1pDQTlJRzFwYmxSb2NtVnphRzlzWkR0Y2JpQWdJQ0FnSUgxY2JpQWdJQ0FnSUc5d2RITmJKM1JvY21WemFHOXNaQ2RkSUQwZ2RHaHlaWE5vYjJ4a08xeHVJQ0FnSUNBZ1kyOXVjM1FnY0hKdmJXbHpaWE1nUFZ4dUlDQWdJQ0FnSUNCdVpYY2dRWEp5WVhrOFVISnZiV2x6WlR4VGNHRnljMlZOWVhSeWFYaFNaWE4xYkhRK1BpaDBhR2x6TGw5M2IzSnJaWEpEYjNWdWRDazdYRzVjYmlBZ0lDQWdJR052Ym5OMElIZHZjbXRsY25NZ1BTQnVaWGNnUVhKeVlYa29kR2hwY3k1ZmQyOXlhMlZ5UTI5MWJuUXBYRzRnSUNBZ0lDQWdJQzVtYVd4c0tHNTFiR3dwTG0xaGNDZ29LU0E5UGlCdVpYY2dWMjl5YTJWeUtHNWxkeUJWVWt3b0p5NHZjM0JoY25ObExXMWhkSEpwZUMxM2IzSnJaWEluTENCcGJYQnZjblF1YldWMFlTNTFjbXdwS1NrN1hHNGdJQ0FnSUNCbWIzSWdLR3hsZENCcFpIZ2dQU0F3T3lCcFpIZ2dQQ0IwYUdsekxsOTNiM0pyWlhKRGIzVnVkRHNnYVdSNEt5c3BJSHRjYmlBZ0lDQWdJQ0FnY0hKdmJXbHpaWE5iYVdSNFhTQTlJRzVsZHlCUWNtOXRhWE5sS0NoeVpYTnZiSFpsVjI5eWEyVnlMQ0J5WldwbFkzUlhiM0pyWlhJcElEMCtJSHRjYmlBZ0lDQWdJQ0FnSUNCamIyNXpkQ0J6ZEdGeWRFbGtlQ0E5SUdsa2VDQXFJR05vZFc1clUybDZaVHRjYmlBZ0lDQWdJQ0FnSUNCamIyNXpkQ0JsYm1SSlpIZ2dQU0JwWkhnZ1BUMDlJSFJvYVhNdVgzZHZjbXRsY2tOdmRXNTBJQzBnTVNBL0lHMWhkRk5wZW1VZ09pQW9hV1I0SUNzZ01Ta2dLaUJqYUhWdWExTnBlbVU3WEc0Z0lDQWdJQ0FnSUNBZ2FXWWdLR1Z1WkVsa2VDQThQU0J6ZEdGeWRFbGtlQ2xjYmlBZ0lDQWdJQ0FnSUNBZ0lISmxjMjlzZG1WWGIzSnJaWElvZTJrNklHNWxkeUJKYm5Rek1rRnljbUY1S0RBcExDQnFPaUJ1WlhjZ1NXNTBNekpCY25KaGVTZ3dLU3dnWkdsemRHRnVZMlU2SUc1bGR5QkdiRzloZERNeVFYSnlZWGtvTUNrc0lHbGtlSDBwTzF4dUlDQWdJQ0FnSUNBZ0lIZHZjbXRsY25OYmFXUjRYUzV3YjNOMFRXVnpjMkZuWlNoN2RtRnNkV1Z6TENCemRHRnlkRWxrZUN3Z1pXNWtTV1I0TENCMGFISmxjMmh2YkdRc0lHWnVUbUZ0WlN3Z2IzQjBjMzBwTzF4dUlDQWdJQ0FnSUNBZ0lIZHZjbXRsY25OYmFXUjRYUzV2Ym0xbGMzTmhaMlVnUFNBb2UyUmhkR0U2SUh0bGNuSnZjaXdnYVN3Z2Fpd2daR2x6ZEdGdVkyVjlmU2s2SUhadmFXUWdQVDRnZTF4dUlDQWdJQ0FnSUNBZ0lDQWdhV1lnS0dWeWNtOXlLU0I3WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJSGR2Y210bGNuTmJhV1I0WFM1MFpYSnRhVzVoZEdVb0tUdGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ2NtVnFaV04wVjI5eWEyVnlLR1Z5Y205eUtUdGNiaUFnSUNBZ0lDQWdJQ0FnSUgwZ1pXeHpaU0I3WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJSGR2Y210bGNuTmJhV1I0WFM1MFpYSnRhVzVoZEdVb0tUdGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ2NtVnpiMngyWlZkdmNtdGxjaWg3YVN3Z2Fpd2daR2x6ZEdGdVkyVXNJR2xrZUgwcE8xeHVJQ0FnSUNBZ0lDQWdJQ0FnZlZ4dUlDQWdJQ0FnSUNBZ0lIMDdYRzRnSUNBZ0lDQWdJSDBwTzF4dUlDQWdJQ0FnZlZ4dVhHNGdJQ0FnSUNCamIyNXpkQ0J5WlhOMWJIUnpJRDBnWVhkaGFYUWdVSEp2YldselpTNWhiR3dvY0hKdmJXbHpaWE1wTzF4dUlDQWdJQ0FnWTI5dWMzUWdablZzYkZOcGVtVWdQU0J5WlhOMWJIUnpMbkpsWkhWalpTZ29ZV05qTENCMllXd3BJRDArSUdGall5QXJJSFpoYkM1cExteGxibWQwYUN3Z01DazdYRzRnSUNBZ0lDQmpiMjV6ZENCcElEMGdibVYzSUVsdWRETXlRWEp5WVhrb1puVnNiRk5wZW1VcE8xeHVJQ0FnSUNBZ1kyOXVjM1FnYWlBOUlHNWxkeUJKYm5Rek1rRnljbUY1S0daMWJHeFRhWHBsS1R0Y2JpQWdJQ0FnSUdOdmJuTjBJR1JwYzNSaGJtTmxJRDBnYm1WM0lFWnNiMkYwTXpKQmNuSmhlU2htZFd4c1UybDZaU2s3WEc0Z0lDQWdJQ0JzWlhRZ2IyWm1jMlYwSUQwZ01EdGNiaUFnSUNBZ0lDOHZJSE5sZEhScGJtY2dkR2hsSUhKbGMzVnNkSE5jYmlBZ0lDQWdJR1p2Y2lBb1kyOXVjM1FnY21WeklHOW1JSEpsYzNWc2RITXBJSHRjYmlBZ0lDQWdJQ0FnYVM1elpYUW9jbVZ6TG1rc0lHOW1abk5sZENrN1hHNGdJQ0FnSUNBZ0lHb3VjMlYwS0hKbGN5NXFMQ0J2Wm1aelpYUXBPMXh1SUNBZ0lDQWdJQ0JrYVhOMFlXNWpaUzV6WlhRb2NtVnpMbVJwYzNSaGJtTmxMQ0J2Wm1aelpYUXBPMXh1SUNBZ0lDQWdJQ0J2Wm1aelpYUWdLejBnY21Wekxta3ViR1Z1WjNSb08xeHVJQ0FnSUNBZ2ZWeHVJQ0FnSUNBZ2NtVjBkWEp1SUh0cExDQnFMQ0JrYVhOMFlXNWpaWDA3WEc0Z0lDQWdmVnh1WEc0Z0lDQWdjSFZpYkdsaklHRnplVzVqSUdkbGRFdE9UaWhjYmlBZ0lDQWdJSFpoYkhWbGN6b2dRWEp5WVhrOFlXNTVQaXdnWm01T1lXMWxPaUJMYm05M2JrMWxkSEpwWTNNc0lHNU9aV2xuYUdKdmRYSnpPaUJ1ZFcxaVpYSWdQU0F4TlN3Z2IzQjBjem9nZTF0Zk9pQnpkSEpwYm1kZE9pQmhibmw5SUQwZ2UzMWNiaUFnSUNBcElIdGNiaUFnSUNBZ0lISmxkSFZ5YmlCaGQyRnBkQ0IwYUdsekxtMTFiSFJwUTI5c2RXMXVTMDVPS0Z0MllXeDFaWE5kTENCYlptNU9ZVzFsWFN3Z2JrNWxhV2RvWW05MWNuTXNJRnR2Y0hSelhTd2dXekZkS1R0Y2JpQWdJQ0I5WEc1Y2JpQWdJQ0J3ZFdKc2FXTWdZWE41Ym1NZ2JYVnNkR2xEYjJ4MWJXNUxUazRvZG1Gc2RXVnpPaUJCY25KaGVUeEJjbkpoZVR4aGJuaytQaXdnWm01T1lXMWxjem9nUzI1dmQyNU5aWFJ5YVdOelcxMHNJRzVPWldsbmFHSnZkWEp6T2lCdWRXMWlaWElnUFNBeE5TeGNiaUFnSUNBZ0lHOXdkSE02SUh0Ylh6b2djM1J5YVc1blhUb2dZVzU1ZlZ0ZExDQjNaV2xuYUhSek9pQnVkVzFpWlhKYlhTeGNiaUFnSUNBZ0lHRm5aM0psWjJGMGFXOXVUV1YwYUc5a09pQkVhWE4wWVc1alpVRm5aM0psWjJGMGFXOXVUV1YwYUc5a0lEMGdSR2x6ZEdGdVkyVkJaMmR5WldkaGRHbHZiazFsZEdodlpITXVSVlZEVEVsRVJVRk9YRzRnSUNBZ0tTQjdYRzRnSUNBZ0lDQnBaaUFvZG1Gc2RXVnpMbXhsYm1kMGFDQWhQVDBnWm01T1lXMWxjeTVzWlc1bmRHZ2dmSHdnZG1Gc2RXVnpMbXhsYm1kMGFDQWhQVDBnYjNCMGN5NXNaVzVuZEdnZ2ZId2dkbUZzZFdWekxteGxibWQwYUNBaFBUMGdkMlZwWjJoMGN5NXNaVzVuZEdncFhHNGdJQ0FnSUNBZ0lIUm9jbTkzSUc1bGR5QkZjbkp2Y2lnbmRtRnNkV1Z6TENCa2FYTjBZVzVqWlNCbWRXNWpkR2x2Ym5Nc0lHOXdkR2x2Ym5NZ1lXNWtJSGRsYVdkb2RITWdZWEp5WVhseklITm9iM1ZzWkNCb1lYWmxJSFJvWlNCellXMWxJR3hsYm1kMGFDY3BPMXh1WEc0Z0lDQWdJQ0JwWmlBb2RtRnNkV1Z6TG5OdmJXVW9LSFlwSUQwK0lIWXViR1Z1WjNSb0lDRTlQU0IyWVd4MVpYTmJNRjB1YkdWdVozUm9LU2xjYmlBZ0lDQWdJQ0FnZEdoeWIzY2dibVYzSUVWeWNtOXlLQ2RoYkd3Z2RtRnNkV1Z6SUdGeWNtRjVjeUJ6YUc5MWJHUWdhR0YyWlNCMGFHVWdjMkZ0WlNCc1pXNW5kR2duS1R0Y2JseHVJQ0FnSUNBZ1kyOXVjM1FnYldGMFUybDZaU0E5SUhaaGJIVmxjMXN3WFM1c1pXNW5kR2dnS2lBb2RtRnNkV1Z6V3pCZExteGxibWQwYUNBdElERXBJQzhnTWp0Y2JpQWdJQ0FnSUdOdmJuTjBJR05vZFc1clUybDZaU0E5SUUxaGRHZ3VabXh2YjNJb2JXRjBVMmw2WlNBdklIUm9hWE11WDNkdmNtdGxja052ZFc1MEtUdGNiaUFnSUNBZ0lHTnZibk4wSUhCeWIyMXBjMlZ6SUQxY2JpQWdJQ0FnSUNBZ2JtVjNJRUZ5Y21GNVBGQnliMjFwYzJVOFMyNXVVbVZ6ZFd4MFBqNG9kR2hwY3k1ZmQyOXlhMlZ5UTI5MWJuUXBPMXh1SUNBZ0lDQWdZMjl1YzNRZ2QyOXlhMlZ5Y3lBOUlHNWxkeUJCY25KaGVTaDBhR2x6TGw5M2IzSnJaWEpEYjNWdWRDbGNiaUFnSUNBZ0lDQWdMbVpwYkd3b2JuVnNiQ2t1YldGd0tDZ3BJRDArSUc1bGR5QlhiM0pyWlhJb2JtVjNJRlZTVENnbkxpOXJibTR0ZDI5eWEyVnlKeXdnYVcxd2IzSjBMbTFsZEdFdWRYSnNLU2twTzF4dUlDQWdJQ0FnWm05eUlDaHNaWFFnYVdSNElEMGdNRHNnYVdSNElEd2dkR2hwY3k1ZmQyOXlhMlZ5UTI5MWJuUTdJR2xrZUNzcktTQjdYRzRnSUNBZ0lDQWdJSEJ5YjIxcGMyVnpXMmxrZUYwZ1BTQnVaWGNnVUhKdmJXbHpaU2dvY21WemIyeDJaVmR2Y210bGNpd2djbVZxWldOMFYyOXlhMlZ5S1NBOVBpQjdYRzRnSUNBZ0lDQWdJQ0FnWTI5dWMzUWdjM1JoY25SSlpIZ2dQU0JwWkhnZ0tpQmphSFZ1YTFOcGVtVTdYRzRnSUNBZ0lDQWdJQ0FnWTI5dWMzUWdaVzVrU1dSNElEMGdhV1I0SUQwOVBTQjBhR2x6TGw5M2IzSnJaWEpEYjNWdWRDQXRJREVnUHlCdFlYUlRhWHBsSURvZ0tHbGtlQ0FySURFcElDb2dZMmgxYm10VGFYcGxPMXh1SUNBZ0lDQWdJQ0FnSUdsbUlDaGxibVJKWkhnZ1BEMGdjM1JoY25SSlpIZ3BYRzRnSUNBZ0lDQWdJQ0FnSUNCeVpYTnZiSFpsVjI5eWEyVnlLSHRyYm01RWFYTjBZVzVqWlhNNklHNWxkeUJCY25KaGVTZ3dLU3dnYTI1dVNXNWtaWGhsY3pvZ2JtVjNJRUZ5Y21GNUtEQXBmU2s3WEc0Z0lDQWdJQ0FnSUNBZ2QyOXlhMlZ5YzF0cFpIaGRMbkJ2YzNSTlpYTnpZV2RsS0h0MllXeDFaWE1zSUhOMFlYSjBTV1I0TENCbGJtUkpaSGdzSUdadVRtRnRaWE1zSUc5d2RITXNJRzVPWldsbmFHSnZkWEp6TENCM1pXbG5hSFJ6TENCaFoyZHlaV2RoZEdsdmJrMWxkR2h2WkgwcE8xeHVJQ0FnSUNBZ0lDQWdJSGR2Y210bGNuTmJhV1I0WFM1dmJtMWxjM05oWjJVZ1BTQW9lMlJoZEdFNklIdGxjbkp2Y2l3Z2EyNXVSR2x6ZEdGdVkyVnpMQ0JyYm01SmJtUmxlR1Z6ZlgwcE9pQjJiMmxrSUQwK0lIdGNiaUFnSUNBZ0lDQWdJQ0FnSUdsbUlDaGxjbkp2Y2lrZ2UxeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNCM2IzSnJaWEp6VzJsa2VGMHVkR1Z5YldsdVlYUmxLQ2s3WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJSEpsYW1WamRGZHZjbXRsY2lobGNuSnZjaWs3WEc0Z0lDQWdJQ0FnSUNBZ0lDQjlJR1ZzYzJVZ2UxeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNCM2IzSnJaWEp6VzJsa2VGMHVkR1Z5YldsdVlYUmxLQ2s3WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJSEpsYzI5c2RtVlhiM0pyWlhJb2UydHVia1JwYzNSaGJtTmxjeXdnYTI1dVNXNWtaWGhsYzMwcE8xeHVJQ0FnSUNBZ0lDQWdJQ0FnZlZ4dUlDQWdJQ0FnSUNBZ0lIMDdYRzRnSUNBZ0lDQWdJSDBwTzF4dUlDQWdJQ0FnZlZ4dVhHNGdJQ0FnSUNCamIyNXpkQ0J5WlhOMWJIUnpJRDBnWVhkaGFYUWdVSEp2YldselpTNWhiR3dvY0hKdmJXbHpaWE1wTzF4dUlDQWdJQ0FnWTI5dWMzUWdhMjV1VW1Wek9pQkxibTVTWlhOMWJIUWdQU0I3WEc0Z0lDQWdJQ0FnSUd0dWJrUnBjM1JoYm1ObGN6b2dibVYzSUVGeWNtRjVLSFpoYkhWbGMxc3dYUzVzWlc1bmRHZ3BMbVpwYkd3b2JuVnNiQ2t1YldGd0tDZ3BJRDArSUc1bGR5QkJjbkpoZVR4dWRXMWlaWEkrS0c1T1pXbG5hR0p2ZFhKektTNW1hV3hzS0RrNU9UazVLU2tzWEc0Z0lDQWdJQ0FnSUd0dWJrbHVaR1Y0WlhNNklHNWxkeUJCY25KaGVTaDJZV3gxWlhOYk1GMHViR1Z1WjNSb0tTNW1hV3hzS0c1MWJHd3BMbTFoY0Nnb0tTQTlQaUJ1WlhjZ1FYSnlZWGs4Ym5WdFltVnlQaWh1VG1WcFoyaGliM1Z5Y3lrdVptbHNiQ2d0TVNrcGZUdGNiaUFnSUNBZ0lHWnZjaUFvWTI5dWMzUWdjbVZ6SUc5bUlISmxjM1ZzZEhNcElIdGNiaUFnSUNBZ0lDQWdabTl5SUNoc1pYUWdhU0E5SURBN0lHa2dQQ0IyWVd4MVpYTmJNRjB1YkdWdVozUm9PeUFySzJrcElIdGNiaUFnSUNBZ0lDQWdJQ0JtYjNJZ0tHeGxkQ0JxSUQwZ01Ec2dhaUE4SUhKbGN5NXJibTVFYVhOMFlXNWpaWE5iYVYwL0xteGxibWQwYUNBL1B5QXdPeUFySzJvcFhHNGdJQ0FnSUNBZ0lDQWdJQ0JwYm5ObGNuUlRiV0ZzYkdWeUtHdHVibEpsY3k1cmJtNUVhWE4wWVc1alpYTmJhVjBzSUd0dWJsSmxjeTVyYm01SmJtUmxlR1Z6VzJsZExDQnlaWE11YTI1dVJHbHpkR0Z1WTJWelcybGRXMnBkTENCeVpYTXVhMjV1U1c1a1pYaGxjMXRwWFZ0cVhTazdYRzRnSUNBZ0lDQWdJSDFjYmlBZ0lDQWdJSDFjYmlBZ0lDQWdJSEpsZEhWeWJpQnJibTVTWlhNN1hHNGdJQ0FnZlZ4dVhHNGdJQ0FnY0hWaWJHbGpJR0Z6ZVc1aklHZGxkRk5oYlhCc1pVUnBjM1JoYm1ObGN6eFVQaWgyWVd4MVpYTTZJRUZ5Y21GNVBGUStMQ0JtYms1aGJXVTZJRXR1YjNkdVRXVjBjbWxqY3l4Y2JpQWdJQ0FnSUc5d2RITTZJSHRiWHpvZ2MzUnlhVzVuWFRvZ1lXNTVmU0E5SUh0OUtUb2dVSEp2YldselpUeEdiRzloZERNeVFYSnlZWGsrSUh0Y2JpQWdJQ0FnSUdOdmJuTjBJSFJvY21WemFHOXNaRmR2Y210bGNuTWdQU0J1WlhjZ1FYSnlZWGtvZEdocGN5NWZkMjl5YTJWeVEyOTFiblFwTG1acGJHd29iblZzYkNsY2JpQWdJQ0FnSUNBZ0xtMWhjQ2dvS1NBOVBpQnVaWGNnVjI5eWEyVnlLRzVsZHlCVlVrd29KeTR2YzNCaGNuTmxMVzFoZEhKcGVDMTBhSEpsYzJodmJHUXRkMjl5YTJWeUp5d2dhVzF3YjNKMExtMWxkR0V1ZFhKc0tTa3BPMXh1SUNBZ0lDQWdMeThnWkdGMFlTQnRZWGtnWW1VZ2MyOXlkR1ZrSUdKNUlHTnNkWE4wWlhKekxDQjNhR2xqYUNCM2FXeHNJR2hwYm1SbGNpQjBhR1VnY21GdVpHOXRJSE5oYlhCc2FXNW5YRzRnSUNBZ0lDQXZMeUJ6YnlCM1pTQnphSFZtWm14bElHbDBJR1pwY25OMFhHNGdJQ0FnSUNCamIyNXpkQ0J6YUhWbVpteGxaRlpoYkhWbGN5QTlJSFpoYkhWbGN5NXpiR2xqWlNncE8xeHVJQ0FnSUNBZ1ptOXlJQ2hzWlhRZ2FTQTlJSE5vZFdabWJHVmtWbUZzZFdWekxteGxibWQwYUNBdElERTdJR2tnUGlBd095QnBMUzBwSUh0Y2JpQWdJQ0FnSUNBZ1kyOXVjM1FnYWlBOUlFMWhkR2d1Wm14dmIzSW9UV0YwYUM1eVlXNWtiMjBvS1NBcUlDaHBJQ3NnTVNrcE8xeHVJQ0FnSUNBZ0lDQmJjMmgxWm1ac1pXUldZV3gxWlhOYmFWMHNJSE5vZFdabWJHVmtWbUZzZFdWelcycGRYU0E5SUZ0emFIVm1abXhsWkZaaGJIVmxjMXRxWFN3Z2MyaDFabVpzWldSV1lXeDFaWE5iYVYxZE8xeHVJQ0FnSUNBZ2ZWeHVYRzRnSUNBZ0lDQjBjbmtnZTF4dUlDQWdJQ0FnSUNCamIyNXpkQ0J0WVhSVGFYcGxJRDBnZG1Gc2RXVnpMbXhsYm1kMGFDQXFJQ2gyWVd4MVpYTXViR1Z1WjNSb0lDMGdNU2tnTHlBeU8xeHVJQ0FnSUNBZ0lDQmpiMjV6ZENCamFIVnVhMU5wZW1VZ1BTQk5ZWFJvTG1ac2IyOXlLRzFoZEZOcGVtVWdMeUIwYUdsekxsOTNiM0pyWlhKRGIzVnVkQ2s3WEc0Z0lDQWdJQ0FnSUdOdmJuTjBJRzFoZUZOaGJYQnNaVk5wZW1VZ1BTQXhYekF3TUY4d01EQTdYRzRnSUNBZ0lDQWdJR052Ym5OMElITmhiWEJzWlZOcGMyVWdQU0JOWVhSb0xtMWhlQ2hOWVhSb0xtMXBiaWh0WVhSVGFYcGxJQzhnTVRBd01Dd2diV0Y0VTJGdGNHeGxVMmw2WlNrc0lFMWhkR2d1YldsdUtHMWhkRk5wZW1Vc0lHMWhlRk5oYlhCc1pWTnBlbVVwS1R0Y2JpQWdJQ0FnSUNBZ1kyOXVjM1FnZEdWemRGTmxkRk5wZW1WUVpYSlhiM0pyWlhJZ1BTQk5ZWFJvTG1ac2IyOXlLSE5oYlhCc1pWTnBjMlVnTHlCMGFHbHpMbDkzYjNKclpYSkRiM1Z1ZENrN1hHNGdJQ0FnSUNBZ0lHTnZibk4wSUhSUWNtOXRhWE5sY3lBOUlHNWxkeUJCY25KaGVUeFFjbTl0YVhObFBIdGthWE4wWVc1alpUb2dSbXh2WVhRek1rRnljbUY1ZlQ0K0tIUm9hWE11WDNkdmNtdGxja052ZFc1MEtUdGNibHh1SUNBZ0lDQWdJQ0JtYjNJZ0tHeGxkQ0JwWkhnZ1BTQXdPeUJwWkhnZ1BDQjBhR2x6TGw5M2IzSnJaWEpEYjNWdWREc2dhV1I0S3lzcElIdGNiaUFnSUNBZ0lDQWdJQ0IwVUhKdmJXbHpaWE5iYVdSNFhTQTlJRzVsZHlCUWNtOXRhWE5sS0NoeVpYTnZiSFpsVjI5eWEyVnlMQ0J5WldwbFkzUlhiM0pyWlhJcElEMCtJSHRjYmlBZ0lDQWdJQ0FnSUNBZ0lHTnZibk4wSUhOMFlYSjBTV1I0SUQwZ2FXUjRJQ29nWTJoMWJtdFRhWHBsTzF4dUlDQWdJQ0FnSUNBZ0lDQWdZMjl1YzNRZ1pXNWtTV1I0SUQwZ2FXUjRJRDA5UFNCMGFHbHpMbDkzYjNKclpYSkRiM1Z1ZENBdElERWdQeUJ0WVhSVGFYcGxJRG9nS0dsa2VDQXJJREVwSUNvZ1kyaDFibXRUYVhwbE8xeHVJQ0FnSUNBZ0lDQWdJQ0FnZEdoeVpYTm9iMnhrVjI5eWEyVnljMXRwWkhoZExuQnZjM1JOWlhOellXZGxLSHRjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdkbUZzZFdWek9pQnphSFZtWm14bFpGWmhiSFZsY3l3Z2MzUmhjblJKWkhnc0lHVnVaRWxrZUN3Z2MyRnRjR3hsVEdWdVozUm9PaUIwWlhOMFUyVjBVMmw2WlZCbGNsZHZjbXRsY2l3Z1ptNU9ZVzFsTENCdmNIUnpYRzRnSUNBZ0lDQWdJQ0FnSUNCOUtUdGNiaUFnSUNBZ0lDQWdJQ0FnSUhSb2NtVnphRzlzWkZkdmNtdGxjbk5iYVdSNFhTNXZibTFsYzNOaFoyVWdQU0FvZTJSaGRHRTZJSHRsY25KdmNpd2daR2x6ZEdGdVkyVjlmU2s2SUhadmFXUWdQVDRnZTF4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0IwYUhKbGMyaHZiR1JYYjNKclpYSnpXMmxrZUYwdWRHVnliV2x1WVhSbEtDazdYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lHbG1JQ2hsY25KdmNpa2djbVZxWldOMFYyOXlhMlZ5S0dWeWNtOXlLVHNnWld4elpWeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lISmxjMjlzZG1WWGIzSnJaWElvZTJScGMzUmhibU5sZlNrN1hHNGdJQ0FnSUNBZ0lDQWdJQ0I5TzF4dUlDQWdJQ0FnSUNBZ0lIMHBPMXh1SUNBZ0lDQWdJQ0I5WEc1Y2JpQWdJQ0FnSUNBZ1kyOXVjM1FnY21WemRXeDBjeUE5SUdGM1lXbDBJRkJ5YjIxcGMyVXVZV3hzS0hSUWNtOXRhWE5sY3lrN1hHNGdJQ0FnSUNBZ0lHTnZibk4wSUdaMWJHeFRhWHBsSUQwZ2NtVnpkV3gwY3k1eVpXUjFZMlVvS0dGall5d2dkbUZzS1NBOVBpQmhZMk1nS3lCMllXd3VaR2x6ZEdGdVkyVXViR1Z1WjNSb0xDQXdLVHRjYmlBZ0lDQWdJQ0FnWTI5dWMzUWdaR2x6ZEdGdVkyVWdQU0J1WlhjZ1JteHZZWFF6TWtGeWNtRjVLR1oxYkd4VGFYcGxLVHRjYmlBZ0lDQWdJQ0FnYkdWMElHOW1abk5sZENBOUlEQTdYRzRnSUNBZ0lDQWdJR1p2Y2lBb1kyOXVjM1FnY21WeklHOW1JSEpsYzNWc2RITXBJSHRjYmlBZ0lDQWdJQ0FnSUNCa2FYTjBZVzVqWlM1elpYUW9jbVZ6TG1ScGMzUmhibU5sTENCdlptWnpaWFFwTzF4dUlDQWdJQ0FnSUNBZ0lHOW1abk5sZENBclBTQnlaWE11WkdsemRHRnVZMlV1YkdWdVozUm9PMXh1SUNBZ0lDQWdJQ0I5WEc0Z0lDQWdJQ0FnSUdScGMzUmhibU5sTG5OdmNuUW9LVHRjYmx4dUlDQWdJQ0FnSUNCeVpYUjFjbTRnWkdsemRHRnVZMlU3WEc0Z0lDQWdJQ0I5SUdOaGRHTm9JQ2hsS1NCN1hHNGdJQ0FnSUNBZ0lIUm9jbVZ6YUc5c1pGZHZjbXRsY25NL0xtWnZja1ZoWTJnb0tIY3BJRDArSUhjL0xuUmxjbTFwYm1GMFpTZ3BLVHRjYmlBZ0lDQWdJQ0FnWTI5dWMyOXNaUzVsY25KdmNpaGxLVHRjYmlBZ0lDQWdJQ0FnY21WMGRYSnVJRzVsZHlCR2JHOWhkRE15UVhKeVlYa29NU2t1Wm1sc2JDZ3dMalVwTzF4dUlDQWdJQ0FnZlZ4dUlDQWdJSDFjYmx4dUlDQWdJSEJ5YVhaaGRHVWdZWE41Ym1NZ1oyVjBUV2x1YVcxaGJGUm9jbVZ6YUc5c1pEeFVQaWgyWVd4MVpYTTZJRUZ5Y21GNVBGUStMQ0JtYms1aGJXVTZJRXR1YjNkdVRXVjBjbWxqY3l3Z2IzQjBjem9nZTF0Zk9pQnpkSEpwYm1kZE9pQmhibmw5SUQwZ2UzMHBJSHRjYmlBZ0lDQWdJQzh2VjJVZ2JtVmxaQ0IwYnlCallXeGpkV3hoZEdVZ2RHaGxJRzFwYm1sdFlXd2dkR2h5WlhOb2IyeGtJR1pwY25OMExGeHVJQ0FnSUNBZ0x5OXBiaUJ2Y21SbGNpQjBieUJuWlhRZ2JXRjBjbWw0SUhOMVkyZ2dkR2hoZENCcGRDQmtiMlZ6SUc1dmRDQmxlR05sWldRZ2RHaGxJRzFoZUdsdGRXMGdjMmw2WlNCdlppQXhSMEpjYmlBZ0lDQWdJQzh2ZDJVZ2FHRjJaU0F6SUhKbGRIVnliaUJoY25KaGVYTXNJR1ZoWTJnZ05DQmlhWFJsY3lCd1pYSWdaV3hsYldWdWRDd2djMjhnYVdZZ2RHaGxJRzFoZUdsdGRXMGdjMmw2WlNCdlppQjBhR1VnYldGMGNtbDRJR2x6SURGSFFpeGNiaUFnSUNBZ0lHTnZibk4wSUcxaGVGTndZWEp6WlUxaGRISnBlRk5wZW1VZ1BTQTNNRjh3TURCZk1EQXdPMXh1SUNBZ0lDQWdkSEo1SUh0Y2JpQWdJQ0FnSUNBZ1kyOXVjM1FnYldGMFUybDZaU0E5SUhaaGJIVmxjeTVzWlc1bmRHZ2dLaUFvZG1Gc2RXVnpMbXhsYm1kMGFDQXRJREVwSUM4Z01qdGNiaUFnSUNBZ0lDQWdZMjl1YzNRZ1pHbHpkR0Z1WTJVZ1BTQmhkMkZwZENCMGFHbHpMbWRsZEZOaGJYQnNaVVJwYzNSaGJtTmxjeWgyWVd4MVpYTXNJR1p1VG1GdFpTd2diM0IwY3lrN1hHNGdJQ0FnSUNBZ0lHTnZibk4wSUdaeVlXTjBhVzl1U1c1a1pYZ2dQU0JOWVhSb0xtWnNiMjl5S0cxaGVGTndZWEp6WlUxaGRISnBlRk5wZW1VZ0x5QnRZWFJUYVhwbElDb2daR2x6ZEdGdVkyVXViR1Z1WjNSb0tUdGNiaUFnSUNBZ0lDQWdZMjl1YzNRZ2RHaHlaWE5vYjJ4a0lEMGdNU0F0SUdScGMzUmhibU5sVzJaeVlXTjBhVzl1U1c1a1pYaGRPMXh1SUNBZ0lDQWdJQ0F2THlCMGFISmxjMmh2YkdRZ1BTQk5ZWFJvTG0xaGVDaDBhSEpsYzJodmJHUXNJREF1TXlrN1hHNGdJQ0FnSUNBZ0lISmxkSFZ5YmlCMGFISmxjMmh2YkdRN1hHNGdJQ0FnSUNCOUlHTmhkR05vSUNobEtTQjdYRzRnSUNBZ0lDQWdJR052Ym5OdmJHVXVaWEp5YjNJb1pTazdYRzRnSUNBZ0lDQWdJSEpsZEhWeWJpQXdMalU3WEc0Z0lDQWdJQ0I5WEc0Z0lDQWdmVnh1WEc0Z0lDQWdjSFZpYkdsaklITjBZWFJwWXlCallXeGpVM2x1WXp4VVBpaGNiaUFnSUNBZ0lIWmhiSFZsY3pvZ1FYSnlZWGs4VkQ0Z2ZDQkJjbkpoZVV4cGEyVThWRDRzSUdadVRtRnRaVG9nUzI1dmQyNU5aWFJ5YVdOekxDQmthWE4wWVc1alpVWnVPaUJHZFc1amRHbHZiaXdnZEdoeVpYTm9iMnhrT2lCdWRXMWlaWEpjYmlBZ0lDQXBJSHRjYmlBZ0lDQWdJR052Ym5OMElHazZJRzUxYldKbGNsdGRJRDBnVzEwN1hHNGdJQ0FnSUNCamIyNXpkQ0JxT2lCdWRXMWlaWEpiWFNBOUlGdGRPMXh1SUNBZ0lDQWdZMjl1YzNRZ1pHbHpkR0Z1WTJWek9pQnVkVzFpWlhKYlhTQTlJRnRkTzF4dUlDQWdJQ0FnYkdWMElHTnVkQ0E5SURBN1hHNGdJQ0FnSUNCc1pYUWdiV2tnUFNBd08xeHVJQ0FnSUNBZ2JHVjBJRzFxSUQwZ01EdGNiaUFnSUNBZ0lHTnZibk4wSUdaMWJHeFRhWHBsSUQwZ2RtRnNkV1Z6TG14bGJtZDBhQ0FxSUNoMllXeDFaWE11YkdWdVozUm9JQzBnTVNrZ0x5QXlPMXh1SUNBZ0lDQWdkMmhwYkdVZ0tHTnVkQ0E4SUdaMWJHeFRhWHBsS1NCN1hHNGdJQ0FnSUNBZ0lDOHZZMjl1YzNRZ2RtRnNkV1VnUFNCelpYRXhUR2x6ZEZ0dGFWMGdKaVlnYzJWeE1VeHBjM1JiYldwZElEOGdhR0Z0YldsdVp5aHpaWEV4VEdsemRGdHRhVjBzSUhObGNURk1hWE4wVzIxcVhTa2dPaUF3TzF4dUlDQWdJQ0FnSUNCamIyNXpkQ0IyWVd4MVpTQTlJQ0ZwYzA1cGJDaDJZV3gxWlhOYmJXbGRLU0FtSmlBaGFYTk9hV3dvZG1Gc2RXVnpXMjFxWFNrZ1AxeHVJQ0FnSUNBZ0lDQWdJR1JwYzNSaGJtTmxSbTRvZG1Gc2RXVnpXMjFwWFN3Z2RtRnNkV1Z6VzIxcVhTa2dPaUF4TzF4dUlDQWdJQ0FnSUNCamIyNXpkQ0J6YVcxcGJHRnlhWFI1SUQxY2JpQWdJQ0FnSUNBZ0lDQlBZbXBsWTNRdWRtRnNkV1Z6S0VKcGRFRnljbUY1VFdWMGNtbGpjMDVoYldWektTNXpiMjFsS0NoaEtTQTlQaUJoSUQwOVBTQm1iazVoYldVcElEOGdaMlYwVTJsdGFXeGhjbWwwZVVaeWIyMUVhWE4wWVc1alpTaDJZV3gxWlNrZ09pQXhJQzBnZG1Gc2RXVTdYRzRnSUNBZ0lDQWdJR2xtSUNoemFXMXBiR0Z5YVhSNUlENDlJSFJvY21WemFHOXNaQ2tnZTF4dUlDQWdJQ0FnSUNBZ0lHa3VjSFZ6YUNodGFTazdYRzRnSUNBZ0lDQWdJQ0FnYWk1d2RYTm9LRzFxS1R0Y2JpQWdJQ0FnSUNBZ0lDQmthWE4wWVc1alpYTXVjSFZ6YUNoMllXeDFaU2s3WEc0Z0lDQWdJQ0FnSUgxY2JpQWdJQ0FnSUNBZ1kyNTBLeXM3WEc0Z0lDQWdJQ0FnSUcxcUt5czdYRzRnSUNBZ0lDQWdJR2xtSUNodGFpQTlQVDBnZG1Gc2RXVnpMbXhsYm1kMGFDa2dlMXh1SUNBZ0lDQWdJQ0FnSUcxcEt5czdYRzRnSUNBZ0lDQWdJQ0FnYldvZ1BTQnRhU0FySURFN1hHNGdJQ0FnSUNBZ0lIMWNiaUFnSUNBZ0lIMWNibHh1SUNBZ0lDQWdZMjl1YzNRZ2FVRnljbUY1SUQwZ2JtVjNJRWx1ZERNeVFYSnlZWGtvYVNrN1hHNGdJQ0FnSUNCamIyNXpkQ0JxUVhKeVlYa2dQU0J1WlhjZ1NXNTBNekpCY25KaGVTaHFLVHRjYmlBZ0lDQWdJR052Ym5OMElHUnBjM1JoYm1ObFFYSnlZWGtnUFNCdVpYY2dSbXh2WVhRek1rRnljbUY1S0dScGMzUmhibU5sY3lrN1hHNWNiaUFnSUNBZ0lISmxkSFZ5YmlCN2FUb2dhVUZ5Y21GNUxDQnFPaUJxUVhKeVlYa3NJR1JwYzNSaGJtTmxPaUJrYVhOMFlXNWpaVUZ5Y21GNWZUdGNiaUFnSUNCOVhHNTlYRzRpWFgwPSIsImltcG9ydCB7IGRtTGluZWFySW5kZXggfSBmcm9tICcuLi9kaXN0YW5jZS1tYXRyaXgnO1xuZXhwb3J0IGNsYXNzIFRTTkUge1xuICAgIHBlcnBsZXhpdHk7XG4gICAgZGltO1xuICAgIGVwc2lsb247XG4gICAgaXRlciA9IDA7XG4gICAgTjtcbiAgICBQO1xuICAgIFk7XG4gICAgZ2FpbnM7XG4gICAgeXN0ZXA7XG4gICAgcmFuZG9tID0gTWF0aC5yYW5kb207XG4gICAgYXNzZXJ0KGNvbmRpdGlvbiwgbWVzc2FnZSkge1xuICAgICAgICBpZiAoIWNvbmRpdGlvbilcbiAgICAgICAgICAgIHRocm93IG1lc3NhZ2UgfHwgJ0Fzc2VydGlvbiBmYWlsZWQnO1xuICAgIH1cbiAgICAvLyBzeW50YXggc3VnYXJcbiAgICBnZXRvcHQob3B0LCBmaWVsZCwgZGVmYXVsdHZhbCkge1xuICAgICAgICBpZiAob3B0Lmhhc093blByb3BlcnR5KGZpZWxkKSlcbiAgICAgICAgICAgIHJldHVybiBvcHRbZmllbGRdO1xuICAgICAgICBlbHNlXG4gICAgICAgICAgICByZXR1cm4gZGVmYXVsdHZhbDtcbiAgICB9XG4gICAgLy8gcmV0dXJuIDAgbWVhbiB1bml0IHN0YW5kYXJkIGRldmlhdGlvbiByYW5kb20gbnVtYmVyXG4gICAgcmV0dXJuViA9IGZhbHNlO1xuICAgIHZWYWx1ZSA9IDAuMDtcbiAgICBnYXVzc1JhbmRvbSgpIHtcbiAgICAgICAgaWYgKHRoaXMucmV0dXJuVikge1xuICAgICAgICAgICAgdGhpcy5yZXR1cm5WID0gZmFsc2U7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy52VmFsdWU7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgdSA9IDIgKiB0aGlzLnJhbmRvbSgpIC0gMTtcbiAgICAgICAgY29uc3QgdiA9IDIgKiB0aGlzLnJhbmRvbSgpIC0gMTtcbiAgICAgICAgY29uc3QgciA9IHUgKiB1ICsgdiAqIHY7XG4gICAgICAgIGlmIChyID09PSAwIHx8IHIgPiAxKVxuICAgICAgICAgICAgcmV0dXJuIHRoaXMuZ2F1c3NSYW5kb20oKTtcbiAgICAgICAgY29uc3QgYyA9IE1hdGguc3FydCgtMiAqIE1hdGgubG9nKHIpIC8gcik7XG4gICAgICAgIHRoaXMudlZhbHVlID0gdiAqIGM7IC8vIGNhY2hlIHRoaXMgZm9yIG5leHQgZnVuY3Rpb24gY2FsbCBmb3IgZWZmaWNpZW5jeVxuICAgICAgICB0aGlzLnJldHVyblYgPSB0cnVlO1xuICAgICAgICByZXR1cm4gdSAqIGM7XG4gICAgfVxuICAgIC8vIHJldHVybiByYW5kb20gbm9ybWFsIG51bWJlclxuICAgIHJhbmRuKG11LCBzdGQpIHtcbiAgICAgICAgcmV0dXJuIG11ICsgdGhpcy5nYXVzc1JhbmRvbSgpICogc3RkO1xuICAgIH1cbiAgICAvLyB1dGlsaXRpdHkgdGhhdCBjcmVhdGVzIGNvbnRpZ3VvdXMgdmVjdG9yIG9mIHplcm9zIG9mIHNpemUgblxuICAgIHplcm9zKG4pIHtcbiAgICAgICAgaWYgKHR5cGVvZiAobikgPT09ICd1bmRlZmluZWQnIHx8IGlzTmFOKG4pKVxuICAgICAgICAgICAgcmV0dXJuIG5ldyBGbG9hdDMyQXJyYXkoKTtcbiAgICAgICAgaWYgKHR5cGVvZiBBcnJheUJ1ZmZlciA9PT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgICAgICAgIC8vIGxhY2tpbmcgYnJvd3NlciBzdXBwb3J0XG4gICAgICAgICAgICBjb25zdCBhcnIgPSBuZXcgRmxvYXQzMkFycmF5KG4pO1xuICAgICAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBuOyBpKyspXG4gICAgICAgICAgICAgICAgYXJyW2ldID0gMDtcbiAgICAgICAgICAgIHJldHVybiBhcnI7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gbmV3IEZsb2F0MzJBcnJheShuKTsgLy8gdHlwZWQgYXJyYXlzIGFyZSBmYXN0ZXJcbiAgICAgICAgfVxuICAgIH1cbiAgICAvLyB1dGlsaXR5IHRoYXQgcmV0dXJucyAyZCBhcnJheSBmaWxsZWQgd2l0aCByYW5kb20gbnVtYmVyc1xuICAgIC8vIG9yIHdpdGggdmFsdWUgcywgaWYgcHJvdmlkZWRcbiAgICByYW5kbjJkKG4sIGQsIHMpIHtcbiAgICAgICAgY29uc3QgdXNlcyA9IHR5cGVvZiBzICE9PSAndW5kZWZpbmVkJztcbiAgICAgICAgY29uc3QgeCA9IChuZXcgQXJyYXkobikpLmZpbGwobnVsbCkubWFwKCgpID0+IG5ldyBGbG9hdDMyQXJyYXkoZCkpO1xuICAgICAgICBpZiAodXNlcykge1xuICAgICAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBuOyBpKyspXG4gICAgICAgICAgICAgICAgeFtpXSA9IG5ldyBGbG9hdDMyQXJyYXkoZCkuZmlsbChzKTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgbjsgaSsrKSB7XG4gICAgICAgICAgICAgICAgZm9yIChsZXQgaiA9IDA7IGogPCBkOyBqKyspXG4gICAgICAgICAgICAgICAgICAgIHhbaV1bal0gPSB0aGlzLnJhbmRuKDAuMCwgMWUtNCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHg7XG4gICAgfVxuICAgIC8vIGNvbXB1dGUgTDIgZGlzdGFuY2UgYmV0d2VlbiB0d28gdmVjdG9yc1xuICAgIGwyKHgxLCB4Mikge1xuICAgICAgICBjb25zdCBEID0geDEubGVuZ3RoO1xuICAgICAgICBsZXQgZCA9IDA7XG4gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgRDsgaSsrKSB7XG4gICAgICAgICAgICBjb25zdCB4MWkgPSB4MVtpXTtcbiAgICAgICAgICAgIGNvbnN0IHgyaSA9IHgyW2ldO1xuICAgICAgICAgICAgZCArPSAoeDFpIC0geDJpKSAqICh4MWkgLSB4MmkpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBkO1xuICAgIH1cbiAgICAvLyBjb21wdXRlIHBhaXJ3aXNlIGRpc3RhbmNlIGluIGFsbCB2ZWN0b3JzIGluIFhcbiAgICB4dG9kKFgpIHtcbiAgICAgICAgY29uc3QgTiA9IFgubGVuZ3RoO1xuICAgICAgICBjb25zdCBkaXN0ID0gdGhpcy56ZXJvcyhOICogTik7IC8vIGFsbG9jYXRlIGNvbnRpZ3VvdXMgYXJyYXlcbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBOOyBpKyspIHtcbiAgICAgICAgICAgIGZvciAobGV0IGogPSBpICsgMTsgaiA8IE47IGorKykge1xuICAgICAgICAgICAgICAgIGNvbnN0IGQgPSB0aGlzLmwyKFhbaV0sIFhbal0pO1xuICAgICAgICAgICAgICAgIGRpc3RbaSAqIE4gKyBqXSA9IGQ7XG4gICAgICAgICAgICAgICAgZGlzdFtqICogTiArIGldID0gZDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gZGlzdDtcbiAgICB9XG4gICAgZ2V0SXRlclNpemUocm93U2l6ZSkge1xuICAgICAgICBpZiAocm93U2l6ZSA8PSAyMDAwKVxuICAgICAgICAgICAgcmV0dXJuIDIwMDtcbiAgICAgICAgZWxzZSBpZiAocm93U2l6ZSA8PSAzMDAwKVxuICAgICAgICAgICAgcmV0dXJuIDE1MDtcbiAgICAgICAgZWxzZSBpZiAocm93U2l6ZSA8PSA1MDAwKVxuICAgICAgICAgICAgcmV0dXJuIDEyMDtcbiAgICAgICAgZWxzZVxuICAgICAgICAgICAgcmV0dXJuIDEwMDtcbiAgICB9XG4gICAgLy8gY29tcHV0ZSAocF97aXxqfSArIHBfe2p8aX0pLygybilcbiAgICBkMnAoRCwgcGVycGxleGl0eSwgdG9sLCByb3dTaXplKSB7XG4gICAgICAgIC8vIGNvbnN0IG5mID0gTWF0aC5zcXJ0KEQubGVuZ3RoKTsgLy8gdGhpcyBiZXR0ZXIgYmUgYW4gaW50ZWdlclxuICAgICAgICAvLyBjb25zdCBuID0gTWF0aC5mbG9vcihuZik7XG4gICAgICAgIC8vIHRoaXMuYXNzZXJ0KG4gPT09IG5mLCAnRCBzaG91bGQgaGF2ZSBzcXVhcmUgbnVtYmVyIG9mIGVsZW1lbnRzLicpO1xuICAgICAgICBjb25zdCBpbmRleGVyID0gZG1MaW5lYXJJbmRleChyb3dTaXplKTtcbiAgICAgICAgY29uc3QgZGlzdGFuY2VzID0gbmV3IEZsb2F0MzJBcnJheShyb3dTaXplICogcm93U2l6ZSk7XG4gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgcm93U2l6ZTsgaSsrKSB7XG4gICAgICAgICAgICBmb3IgKGxldCBqID0gaSArIDE7IGogPCByb3dTaXplOyBqKyspXG4gICAgICAgICAgICAgICAgZGlzdGFuY2VzW2kgKiByb3dTaXplICsgal0gPSBkaXN0YW5jZXNbaiAqIHJvd1NpemUgKyBpXSA9IERbaW5kZXhlcihpLCBqKV07XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgbiA9IHJvd1NpemU7XG4gICAgICAgIGNvbnN0IGhUYXJnZXQgPSBNYXRoLmxvZyhwZXJwbGV4aXR5KTsgLy8gdGFyZ2V0IGVudHJvcHkgb2YgZGlzdHJpYnV0aW9uXG4gICAgICAgIGNvbnN0IFAgPSB0aGlzLnplcm9zKG4gKiBuKTsgLy8gdGVtcG9yYXJ5IHByb2JhYmlsaXR5IG1hdHJpeFxuICAgICAgICBjb25zdCBwcm93ID0gdGhpcy56ZXJvcyhuKTsgLy8gYSB0ZW1wb3Jhcnkgc3RvcmFnZSBjb21wYXJ0bWVudFxuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IG47IGkrKykge1xuICAgICAgICAgICAgbGV0IGJldGFtaW4gPSAtSW5maW5pdHk7XG4gICAgICAgICAgICBsZXQgYmV0YW1heCA9IEluZmluaXR5O1xuICAgICAgICAgICAgbGV0IGJldGEgPSAxOyAvLyBpbml0aWFsIHZhbHVlIG9mIHByZWNpc2lvblxuICAgICAgICAgICAgbGV0IGRvbmUgPSBmYWxzZTtcbiAgICAgICAgICAgIGNvbnN0IG1heHRyaWVzID0gdGhpcy5nZXRJdGVyU2l6ZShyb3dTaXplKSAvIDEwO1xuICAgICAgICAgICAgLy8gcGVyZm9ybSBiaW5hcnkgc2VhcmNoIHRvIGZpbmQgYSBzdWl0YWJsZSBwcmVjaXNpb24gYmV0YVxuICAgICAgICAgICAgLy8gc28gdGhhdCB0aGUgZW50cm9weSBvZiB0aGUgZGlzdHJpYnV0aW9uIGlzIGFwcHJvcHJpYXRlXG4gICAgICAgICAgICBsZXQgbnVtID0gMDtcbiAgICAgICAgICAgIHdoaWxlICghZG9uZSkge1xuICAgICAgICAgICAgICAgIC8vZGVidWdnZXI7XG4gICAgICAgICAgICAgICAgLy8gY29tcHV0ZSBlbnRyb3B5IGFuZCBrZXJuZWwgcm93IHdpdGggYmV0YSBwcmVjaXNpb25cbiAgICAgICAgICAgICAgICBsZXQgcHN1bSA9IDAuMDtcbiAgICAgICAgICAgICAgICBmb3IgKGxldCBqID0gMDsgaiA8IG47IGorKykge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBwaiA9IGkgPT09IGogPyAwIDogTWF0aC5leHAoLWRpc3RhbmNlc1tpICogbiArIGpdICogYmV0YSk7XG4gICAgICAgICAgICAgICAgICAgIHByb3dbal0gPSBwajtcbiAgICAgICAgICAgICAgICAgICAgcHN1bSArPSBwajtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgLy8gbm9ybWFsaXplIHAgYW5kIGNvbXB1dGUgZW50cm9weVxuICAgICAgICAgICAgICAgIGxldCBuSGVyZSA9IDAuMDtcbiAgICAgICAgICAgICAgICBmb3IgKGxldCBqID0gMDsgaiA8IG47IGorKykge1xuICAgICAgICAgICAgICAgICAgICBsZXQgcGo7XG4gICAgICAgICAgICAgICAgICAgIGlmIChwc3VtID09PSAwKVxuICAgICAgICAgICAgICAgICAgICAgICAgcGogPSAwO1xuICAgICAgICAgICAgICAgICAgICBlbHNlXG4gICAgICAgICAgICAgICAgICAgICAgICBwaiA9IHByb3dbal0gLyBwc3VtO1xuICAgICAgICAgICAgICAgICAgICBwcm93W2pdID0gcGo7XG4gICAgICAgICAgICAgICAgICAgIGlmIChwaiA+IDFlLTcpXG4gICAgICAgICAgICAgICAgICAgICAgICBuSGVyZSAtPSBwaiAqIE1hdGgubG9nKHBqKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgLy8gYWRqdXN0IGJldGEgYmFzZWQgb24gcmVzdWx0XG4gICAgICAgICAgICAgICAgaWYgKG5IZXJlID4gaFRhcmdldCkge1xuICAgICAgICAgICAgICAgICAgICAvLyBlbnRyb3B5IHdhcyB0b28gaGlnaCAoZGlzdHJpYnV0aW9uIHRvbyBkaWZmdXNlKVxuICAgICAgICAgICAgICAgICAgICAvLyBzbyB3ZSBuZWVkIHRvIGluY3JlYXNlIHRoZSBwcmVjaXNpb24gZm9yIG1vcmUgcGVha3kgZGlzdHJpYnV0aW9uXG4gICAgICAgICAgICAgICAgICAgIGJldGFtaW4gPSBiZXRhOyAvLyBtb3ZlIHVwIHRoZSBib3VuZHNcbiAgICAgICAgICAgICAgICAgICAgaWYgKGJldGFtYXggPT09IEluZmluaXR5KVxuICAgICAgICAgICAgICAgICAgICAgICAgYmV0YSA9IGJldGEgKiAyO1xuICAgICAgICAgICAgICAgICAgICBlbHNlXG4gICAgICAgICAgICAgICAgICAgICAgICBiZXRhID0gKGJldGEgKyBiZXRhbWF4KSAvIDI7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAvLyBjb252ZXJzZSBjYXNlLiBtYWtlIGRpc3RydWJ0aW9uIGxlc3MgcGVha3lcbiAgICAgICAgICAgICAgICAgICAgYmV0YW1heCA9IGJldGE7XG4gICAgICAgICAgICAgICAgICAgIGlmIChiZXRhbWluID09PSAtSW5maW5pdHkpXG4gICAgICAgICAgICAgICAgICAgICAgICBiZXRhID0gYmV0YSAvIDI7XG4gICAgICAgICAgICAgICAgICAgIGVsc2VcbiAgICAgICAgICAgICAgICAgICAgICAgIGJldGEgPSAoYmV0YSArIGJldGFtaW4pIC8gMjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgLy8gc3RvcHBpbmcgY29uZGl0aW9uczogdG9vIG1hbnkgdHJpZXMgb3IgZ290IGEgZ29vZCBwcmVjaXNpb25cbiAgICAgICAgICAgICAgICBudW0rKztcbiAgICAgICAgICAgICAgICBpZiAoTWF0aC5hYnMobkhlcmUgLSBoVGFyZ2V0KSA8IHRvbClcbiAgICAgICAgICAgICAgICAgICAgZG9uZSA9IHRydWU7XG4gICAgICAgICAgICAgICAgaWYgKG51bSA+PSBtYXh0cmllcylcbiAgICAgICAgICAgICAgICAgICAgZG9uZSA9IHRydWU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAvLyBjb25zb2xlLmxvZygnZGF0YSBwb2ludCAnICsgaSArICcgZ2V0cyBwcmVjaXNpb24gJyArIGJldGEgKyAnIGFmdGVyICcgKyBudW0gKyAnIGJpbmFyeSBzZWFyY2ggc3RlcHMuJyk7XG4gICAgICAgICAgICAvLyBjb3B5IG92ZXIgdGhlIGZpbmFsIHByb3cgdG8gUCBhdCByb3cgaVxuICAgICAgICAgICAgZm9yIChsZXQgaiA9IDA7IGogPCBuOyBqKyspXG4gICAgICAgICAgICAgICAgUFtpICogbiArIGpdID0gcHJvd1tqXTtcbiAgICAgICAgfSAvLyBlbmQgbG9vcCBvdmVyIGV4YW1wbGVzIGlcbiAgICAgICAgLy8gc3ltbWV0cml6ZSBQIGFuZCBub3JtYWxpemUgaXQgdG8gc3VtIHRvIDEgb3ZlciBhbGwgaWpcbiAgICAgICAgY29uc3QgcE91dCA9IHRoaXMuemVyb3MobiAqIG4pO1xuICAgICAgICBjb25zdCBOMiA9IG4gKiAyO1xuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IG47IGkrKykge1xuICAgICAgICAgICAgZm9yIChsZXQgaiA9IDA7IGogPCBuOyBqKyspXG4gICAgICAgICAgICAgICAgcE91dFtpICogbiArIGpdID0gTWF0aC5tYXgoKFBbaSAqIG4gKyBqXSArIFBbaiAqIG4gKyBpXSkgLyBOMiwgMWUtMTAwKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gcE91dDtcbiAgICB9XG4gICAgLy8gaGVscGVyIGZ1bmN0aW9uXG4gICAgc2lnbih4KSB7IHJldHVybiB4ID4gMCA/IDEgOiB4IDwgMCA/IC0xIDogMDsgfVxuICAgIGNvbnN0cnVjdG9yKG9wdCkge1xuICAgICAgICBvcHQgPSBvcHQgfHwge307XG4gICAgICAgIHRoaXMucGVycGxleGl0eSA9IHRoaXMuZ2V0b3B0KG9wdCwgJ3BlcnBsZXhpdHknLCAzMCk7IC8vIGVmZmVjdGl2ZSBudW1iZXIgb2YgbmVhcmVzdCBuZWlnaGJvcnNcbiAgICAgICAgdGhpcy5kaW0gPSB0aGlzLmdldG9wdChvcHQsICdkaW0nLCAyKTsgLy8gYnkgZGVmYXVsdCAyLUQgdFNORVxuICAgICAgICB0aGlzLmVwc2lsb24gPSB0aGlzLmdldG9wdChvcHQsICdlcHNpbG9uJywgMTApOyAvLyBsZWFybmluZyByYXRlXG4gICAgICAgIHRoaXMucmFuZG9tID0gdGhpcy5nZXRvcHQob3B0LCAncmFuZG9tJywgTWF0aC5yYW5kb20pOyAvLyByYW5kb20gbnVtYmVyIGdlbmVyYXRvclxuICAgIH1cbiAgICAvLyB0aGlzIGZ1bmN0aW9uIHRha2VzIGEgc2V0IG9mIGhpZ2gtZGltZW5zaW9uYWwgcG9pbnRzXG4gICAgLy8gYW5kIGNyZWF0ZXMgbWF0cml4IFAgZnJvbSB0aGVtIHVzaW5nIGdhdXNzaWFuIGtlcm5lbFxuICAgIGluaXREYXRhUmF3KFgpIHtcbiAgICAgICAgY29uc3QgTiA9IFgubGVuZ3RoO1xuICAgICAgICBjb25zdCBEID0gWFswXS5sZW5ndGg7XG4gICAgICAgIHRoaXMuYXNzZXJ0KE4gPiAwLCAnIFggaXMgZW1wdHk/IFlvdSBtdXN0IGhhdmUgc29tZSBkYXRhIScpO1xuICAgICAgICB0aGlzLmFzc2VydChEID4gMCwgJyBYWzBdIGlzIGVtcHR5PyBXaGVyZSBpcyB0aGUgZGF0YT8nKTtcbiAgICAgICAgY29uc3QgZGlzdHMgPSB0aGlzLnh0b2QoWCk7IC8vIGNvbnZlcnQgWCB0byBkaXN0YW5jZXMgdXNpbmcgZ2F1c3NpYW4ga2VybmVsXG4gICAgICAgIHRoaXMuUCA9IHRoaXMuZDJwKGRpc3RzLCB0aGlzLnBlcnBsZXhpdHksIDFlLTQsIEQpOyAvLyBhdHRhY2ggdG8gb2JqZWN0XG4gICAgICAgIHRoaXMuTiA9IE47IC8vIGJhY2sgdXAgdGhlIHNpemUgb2YgdGhlIGRhdGFzZXRcbiAgICAgICAgdGhpcy5pbml0U29sdXRpb24oKTsgLy8gcmVmcmVzaCB0aGlzXG4gICAgfVxuICAgIC8vIHRoaXMgZnVuY3Rpb24gdGFrZXMgYSBnaXZlbiBkaXN0YW5jZSBtYXRyaXggYW5kIGNyZWF0ZXNcbiAgICAvLyBtYXRyaXggUCBmcm9tIHRoZW0uXG4gICAgLy8gRCBpcyBhc3N1bWVkIHRvIGJlIHByb3ZpZGVkIGFzIGEgbGlzdCBvZiBsaXN0cywgYW5kIHNob3VsZCBiZSBzeW1tZXRyaWNcbiAgICBpbml0RGF0YURpc3QoRCwgcm93U2l6ZSkge1xuICAgICAgICBjb25zdCBOID0gRC5sZW5ndGg7XG4gICAgICAgIHRoaXMuYXNzZXJ0KE4gPiAwLCAnIFggaXMgZW1wdHk/IFlvdSBtdXN0IGhhdmUgc29tZSBkYXRhIScpO1xuICAgICAgICAvLyBjb252ZXJ0IEQgdG8gYSAoZmFzdCkgdHlwZWQgYXJyYXkgdmVyc2lvblxuICAgICAgICAvLyBkaXN0cy5mb3JFYWNoKChkKSA9PiBjb25zb2xlLmxvZyhkKSk7XG4gICAgICAgIGNvbnNvbGUudGltZSgnZGlzdGFuY2VzIHRvIG1hdHJpeCcpO1xuICAgICAgICB0aGlzLlAgPSB0aGlzLmQycChELCB0aGlzLnBlcnBsZXhpdHksIDFlLTQsIHJvd1NpemUpO1xuICAgICAgICBjb25zb2xlLnRpbWVFbmQoJ2Rpc3RhbmNlcyB0byBtYXRyaXgnKTtcbiAgICAgICAgdGhpcy5OID0gcm93U2l6ZTtcbiAgICAgICAgdGhpcy5pbml0U29sdXRpb24oKTsgLy8gcmVmcmVzaCB0aGlzXG4gICAgfVxuICAgIC8vIChyZSlpbml0aWFsaXplcyB0aGUgc29sdXRpb24gdG8gcmFuZG9tXG4gICAgaW5pdFNvbHV0aW9uKCkge1xuICAgICAgICAvLyBnZW5lcmF0ZSByYW5kb20gc29sdXRpb24gdG8gdC1TTkVcbiAgICAgICAgdGhpcy5ZID0gdGhpcy5yYW5kbjJkKHRoaXMuTiwgdGhpcy5kaW0pOyAvLyB0aGUgc29sdXRpb25cbiAgICAgICAgdGhpcy5nYWlucyA9IHRoaXMucmFuZG4yZCh0aGlzLk4sIHRoaXMuZGltLCAxLjApOyAvLyBzdGVwIGdhaW5zIHRvIGFjY2VsZXJhdGUgcHJvZ3Jlc3MgaW4gdW5jaGFuZ2luZyBkaXJlY3Rpb25zXG4gICAgICAgIHRoaXMueXN0ZXAgPSB0aGlzLnJhbmRuMmQodGhpcy5OLCB0aGlzLmRpbSwgMC4wKTsgLy8gbW9tZW50dW0gYWNjdW11bGF0b3JcbiAgICAgICAgdGhpcy5pdGVyID0gMDtcbiAgICB9XG4gICAgLy8gcmV0dXJuIHBvaW50ZXIgdG8gY3VycmVudCBzb2x1dGlvblxuICAgIGdldFNvbHV0aW9uKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5ZO1xuICAgIH1cbiAgICAvLyBwZXJmb3JtIGEgc2luZ2xlIHN0ZXAgb2Ygb3B0aW1pemF0aW9uIHRvIGltcHJvdmUgdGhlIGVtYmVkZGluZ1xuICAgIHN0ZXAoKSB7XG4gICAgICAgIHRoaXMuaXRlciArPSAxO1xuICAgICAgICBjb25zdCBOID0gdGhpcy5OO1xuICAgICAgICBjb25zdCBjZyA9IHRoaXMuY29zdEdyYWQodGhpcy5ZKTsgLy8gZXZhbHVhdGUgZ3JhZGllbnRcbiAgICAgICAgY29uc3QgY29zdCA9IGNnLmNvc3Q7XG4gICAgICAgIGNvbnN0IGdyYWQgPSBjZy5ncmFkO1xuICAgICAgICAvLyBwZXJmb3JtIGdyYWRpZW50IHN0ZXBcbiAgICAgICAgY29uc3QgeW1lYW4gPSB0aGlzLnplcm9zKHRoaXMuZGltKTtcbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBOOyBpKyspIHtcbiAgICAgICAgICAgIGZvciAobGV0IGQgPSAwOyBkIDwgdGhpcy5kaW07IGQrKykge1xuICAgICAgICAgICAgICAgIGNvbnN0IGdpZCA9IGdyYWRbaV1bZF07XG4gICAgICAgICAgICAgICAgY29uc3Qgc2lkID0gdGhpcy55c3RlcFtpXVtkXTtcbiAgICAgICAgICAgICAgICBjb25zdCBnYWluaWQgPSB0aGlzLmdhaW5zW2ldW2RdO1xuICAgICAgICAgICAgICAgIC8vIGNvbXB1dGUgZ2FpbiB1cGRhdGVcbiAgICAgICAgICAgICAgICBsZXQgbmV3Z2FpbiA9IHRoaXMuc2lnbihnaWQpID09PSB0aGlzLnNpZ24oc2lkKSA/IGdhaW5pZCAqIDAuOCA6IGdhaW5pZCArIDAuMjtcbiAgICAgICAgICAgICAgICBpZiAobmV3Z2FpbiA8IDAuMDEpXG4gICAgICAgICAgICAgICAgICAgIG5ld2dhaW4gPSAwLjAxOyAvLyBjbGFtcFxuICAgICAgICAgICAgICAgIHRoaXMuZ2FpbnNbaV1bZF0gPSBuZXdnYWluOyAvLyBzdG9yZSBmb3IgbmV4dCB0dXJuXG4gICAgICAgICAgICAgICAgLy8gY29tcHV0ZSBtb21lbnR1bSBzdGVwIGRpcmVjdGlvblxuICAgICAgICAgICAgICAgIGNvbnN0IG1vbXZhbCA9IHRoaXMuaXRlciA8IDI1MCA/IDAuNSA6IDAuODtcbiAgICAgICAgICAgICAgICBjb25zdCBuZXdzaWQgPSBtb212YWwgKiBzaWQgLSB0aGlzLmVwc2lsb24gKiBuZXdnYWluICogZ3JhZFtpXVtkXTtcbiAgICAgICAgICAgICAgICB0aGlzLnlzdGVwW2ldW2RdID0gbmV3c2lkOyAvLyByZW1lbWJlciB0aGUgc3RlcCB3ZSB0b29rXG4gICAgICAgICAgICAgICAgLy8gc3RlcCFcbiAgICAgICAgICAgICAgICB0aGlzLllbaV1bZF0gKz0gbmV3c2lkO1xuICAgICAgICAgICAgICAgIHltZWFuW2RdICs9IHRoaXMuWVtpXVtkXTsgLy8gYWNjdW11bGF0ZSBtZWFuIHNvIHRoYXQgd2UgY2FuIGNlbnRlciBsYXRlclxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC8vIHJlcHJvamVjdCBZIHRvIGJlIHplcm8gbWVhblxuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IE47IGkrKykge1xuICAgICAgICAgICAgZm9yIChsZXQgZCA9IDA7IGQgPCB0aGlzLmRpbTsgZCsrKVxuICAgICAgICAgICAgICAgIHRoaXMuWVtpXVtkXSAtPSB5bWVhbltkXSAvIE47XG4gICAgICAgIH1cbiAgICAgICAgLy9pZih0aGlzLml0ZXIlMTAwPT09MCkgY29uc29sZS5sb2coJ2l0ZXIgJyArIHRoaXMuaXRlciArICcsIGNvc3Q6ICcgKyBjb3N0KTtcbiAgICAgICAgcmV0dXJuIGNvc3Q7IC8vIHJldHVybiBjdXJyZW50IGNvc3RcbiAgICB9XG4gICAgLy8gZm9yIGRlYnVnZ2luZzogZ3JhZGllbnQgY2hlY2tcbiAgICBkZWJ1Z0dyYWQoKSB7XG4gICAgICAgIGNvbnN0IE4gPSB0aGlzLk47XG4gICAgICAgIGNvbnN0IGNnID0gdGhpcy5jb3N0R3JhZCh0aGlzLlkpOyAvLyBldmFsdWF0ZSBncmFkaWVudFxuICAgICAgICAvL2NvbnN0IGNvc3QgPSBjZy5jb3N0O1xuICAgICAgICBjb25zdCBncmFkID0gY2cuZ3JhZDtcbiAgICAgICAgY29uc3QgZSA9IDFlLTU7XG4gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgTjsgaSsrKSB7XG4gICAgICAgICAgICBmb3IgKGxldCBkID0gMDsgZCA8IHRoaXMuZGltOyBkKyspIHtcbiAgICAgICAgICAgICAgICBjb25zdCB5b2xkID0gdGhpcy5ZW2ldW2RdO1xuICAgICAgICAgICAgICAgIHRoaXMuWVtpXVtkXSA9IHlvbGQgKyBlO1xuICAgICAgICAgICAgICAgIGNvbnN0IGNnMCA9IHRoaXMuY29zdEdyYWQodGhpcy5ZKTtcbiAgICAgICAgICAgICAgICB0aGlzLllbaV1bZF0gPSB5b2xkIC0gZTtcbiAgICAgICAgICAgICAgICBjb25zdCBjZzEgPSB0aGlzLmNvc3RHcmFkKHRoaXMuWSk7XG4gICAgICAgICAgICAgICAgY29uc3QgYW5hbHl0aWMgPSBncmFkW2ldW2RdO1xuICAgICAgICAgICAgICAgIGNvbnN0IG51bWVyaWNhbCA9IChjZzAuY29zdCAtIGNnMS5jb3N0KSAvICgyICogZSk7XG4gICAgICAgICAgICAgICAgY29uc29sZS5sb2coaSArICcsJyArIGQgKyAnOiBncmFkY2hlY2sgYW5hbHl0aWM6ICcgKyBhbmFseXRpYyArICcgdnMuIG51bWVyaWNhbDogJyArIG51bWVyaWNhbCk7XG4gICAgICAgICAgICAgICAgdGhpcy5ZW2ldW2RdID0geW9sZDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICBxdUFycjtcbiAgICAvLyByZXR1cm4gY29zdCBhbmQgZ3JhZGllbnQsIGdpdmVuIGFuIGFycmFuZ2VtZW50XG4gICAgY29zdEdyYWQoWSkge1xuICAgICAgICBjb25zdCBOID0gdGhpcy5OO1xuICAgICAgICBjb25zdCBkaW0gPSB0aGlzLmRpbTsgLy8gZGltIG9mIG91dHB1dCBzcGFjZVxuICAgICAgICBjb25zdCBQID0gdGhpcy5QO1xuICAgICAgICBjb25zdCBwbXVsID0gdGhpcy5pdGVyIDwgMTAwID8gNCA6IDE7IC8vIHRyaWNrIHRoYXQgaGVscHMgd2l0aCBsb2NhbCBvcHRpbWFcbiAgICAgICAgLy8gY29tcHV0ZSBjdXJyZW50IFEgZGlzdHJpYnV0aW9uLCB1bm5vcm1hbGl6ZWQgZmlyc3RcbiAgICAgICAgdGhpcy5xdUFyciA/Pz0gdGhpcy56ZXJvcyhOICogTik7XG4gICAgICAgIGxldCBxc3VtID0gMC4wO1xuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IE47IGkrKykge1xuICAgICAgICAgICAgZm9yIChsZXQgaiA9IGkgKyAxOyBqIDwgTjsgaisrKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgZHN1bSA9IG5ldyBBcnJheShkaW0pLnJlZHVjZSgocHJldiwgXywgZCkgPT4gcHJldiArIE1hdGgucG93KFlbaV1bZF0gLSBZW2pdW2RdLCAyKSwgMCk7XG4gICAgICAgICAgICAgICAgY29uc3QgcXUgPSAxLjAgLyAoMS4wICsgZHN1bSk7IC8vIFN0dWRlbnQgdC1kaXN0cmlidXRpb25cbiAgICAgICAgICAgICAgICB0aGlzLnF1QXJyW2kgKiBOICsgal0gPSBxdTtcbiAgICAgICAgICAgICAgICB0aGlzLnF1QXJyW2ogKiBOICsgaV0gPSBxdTtcbiAgICAgICAgICAgICAgICBxc3VtICs9IDIgKiBxdTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAvLyBub3JtYWxpemUgUSBkaXN0cmlidXRpb24gdG8gc3VtIHRvIDFcbiAgICAgICAgLy9jb25zdCBOTiA9IE4gKiBOO1xuICAgICAgICAvL2NvbnN0IFEgPSB0aGlzLnplcm9zKE5OKTtcbiAgICAgICAgbGV0IGNvc3QgPSAwLjA7XG4gICAgICAgIGNvbnN0IGdyYWQgPSBuZXcgQXJyYXkoTikuZmlsbChudWxsKS5tYXAoKCkgPT4gKG5ldyBGbG9hdDMyQXJyYXkoZGltKSkuZmlsbCgwLjApKTtcbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBOOyBpKyspIHtcbiAgICAgICAgICAgIC8vIGNvbnN0IGdzdW0gPSBuZXcgRmxvYXQzMkFycmF5KGRpbSkuZmlsbCgwLjApOyAvLyBpbml0IGdyYWQgZm9yIHBvaW50IGlcbiAgICAgICAgICAgIGZvciAobGV0IGogPSBpICsgMTsgaiA8IE47IGorKykge1xuICAgICAgICAgICAgICAgIGNvbnN0IFEgPSBNYXRoLm1heCh0aGlzLnF1QXJyW2kgKiBOICsgal0gLyBxc3VtLCAxZS0xMDApO1xuICAgICAgICAgICAgICAgIGNvc3QgKz0gKC1QW2kgKiBOICsgal0gKiBNYXRoLmxvZyhRKSkgKiAyOyAvLyBhY2N1bXVsYXRlIGNvc3QgKHRoZSBub24tY29uc3RhbnQgcG9ydGlvbiBhdCBsZWFzdC4uLilcbiAgICAgICAgICAgICAgICBjb25zdCBwcmVtdWx0ID0gNCAqIChwbXVsICogUFtpICogTiArIGpdIC0gUSkgKiB0aGlzLnF1QXJyW2kgKiBOICsgal07XG4gICAgICAgICAgICAgICAgLy9jb25zb2xlLmxvZyhwcmVtdWx0LCBRLCBpLCBqKTtcbiAgICAgICAgICAgICAgICBmb3IgKGxldCBkID0gMDsgZCA8IGRpbTsgZCsrKSB7XG4gICAgICAgICAgICAgICAgICAgIGdyYWRbaV1bZF0gKz0gcHJlbXVsdCAqIChZW2ldW2RdIC0gWVtqXVtkXSk7XG4gICAgICAgICAgICAgICAgICAgIGdyYWRbal1bZF0gKz0gcHJlbXVsdCAqIChZW2pdW2RdIC0gWVtpXVtkXSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLy9ncmFkW2ldID0gZ3N1bTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4geyBjb3N0LCBncmFkIH07XG4gICAgfVxufVxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKbWFXeGxJam9pZEMxemJtVXVhbk1pTENKemIzVnlZMlZTYjI5MElqb2lJaXdpYzI5MWNtTmxjeUk2V3lKMExYTnVaUzUwY3lKZExDSnVZVzFsY3lJNlcxMHNJbTFoY0hCcGJtZHpJam9pUVVGQlFTeFBRVUZQTEVWQlFVTXNZVUZCWVN4RlFVRkRMRTFCUVUwc2IwSkJRVzlDTEVOQlFVTTdRVUZIYWtRc1RVRkJUU3hQUVVGUExFbEJRVWs3U1VGRFVDeFZRVUZWTEVOQlFWTTdTVUZEYmtJc1IwRkJSeXhEUVVGVE8wbEJRMW9zVDBGQlR5eERRVUZUTzBsQlEyaENMRWxCUVVrc1IwRkJSeXhEUVVGRExFTkJRVU03U1VGRFZDeERRVUZETEVOQlFWVTdTVUZEV0N4RFFVRkRMRU5CUVdkQ08wbEJRMnBDTEVOQlFVTXNRMEZCVXp0SlFVTldMRXRCUVVzc1EwRkJVenRKUVVOa0xFdEJRVXNzUTBGQlV6dEpRVU5rTEUxQlFVMHNSMEZCYVVJc1NVRkJTU3hEUVVGRExFMUJRVTBzUTBGQlF6dEpRVU51UXl4TlFVRk5MRU5CUVVNc1UwRkJZeXhGUVVGRkxFOUJRVms3VVVGRGVrTXNTVUZCU1N4RFFVRkRMRk5CUVZNN1dVRkJSU3hOUVVGTkxFOUJRVThzU1VGQlNTeHJRa0ZCYTBJc1EwRkJRenRKUVVOMFJDeERRVUZETzBsQlJVUXNaVUZCWlR0SlFVTlFMRTFCUVUwc1EwRkJReXhIUVVGMVFpeEZRVUZGTEV0QlFXRXNSVUZCUlN4VlFVRmxPMUZCUTNCRkxFbEJRVWtzUjBGQlJ5eERRVUZETEdOQlFXTXNRMEZCUXl4TFFVRkxMRU5CUVVNN1dVRkRNMElzVDBGQlR5eEhRVUZITEVOQlFVTXNTMEZCU3l4RFFVRkRMRU5CUVVNN08xbEJSV3hDTEU5QlFVOHNWVUZCVlN4RFFVRkRPMGxCUTNSQ0xFTkJRVU03U1VGRlF5eHpSRUZCYzBRN1NVRkRPVU1zVDBGQlR5eEhRVUZITEV0QlFVc3NRMEZCUXp0SlFVTm9RaXhOUVVGTkxFZEJRVWNzUjBGQlJ5eERRVUZETzBsQlEzSkNMRmRCUVZjN1VVRkRWQ3hKUVVGSkxFbEJRVWtzUTBGQlF5eFBRVUZQTEVWQlFVVTdXVUZEYUVJc1NVRkJTU3hEUVVGRExFOUJRVThzUjBGQlJ5eExRVUZMTEVOQlFVTTdXVUZEY2tJc1QwRkJUeXhKUVVGSkxFTkJRVU1zVFVGQlRTeERRVUZETzFOQlEzQkNPMUZCUTBRc1RVRkJUU3hEUVVGRExFZEJRVWNzUTBGQlF5eEhRVUZITEVsQlFVa3NRMEZCUXl4TlFVRk5MRVZCUVVVc1IwRkJSeXhEUVVGRExFTkJRVU03VVVGRGFFTXNUVUZCVFN4RFFVRkRMRWRCUVVjc1EwRkJReXhIUVVGSExFbEJRVWtzUTBGQlF5eE5RVUZOTEVWQlFVVXNSMEZCUnl4RFFVRkRMRU5CUVVNN1VVRkRhRU1zVFVGQlRTeERRVUZETEVkQlFVY3NRMEZCUXl4SFFVRkhMRU5CUVVNc1IwRkJSeXhEUVVGRExFZEJRVWNzUTBGQlF5eERRVUZETzFGQlEzaENMRWxCUVVrc1EwRkJReXhMUVVGTExFTkJRVU1zU1VGQlNTeERRVUZETEVkQlFVY3NRMEZCUXp0WlFVRkZMRTlCUVU4c1NVRkJTU3hEUVVGRExGZEJRVmNzUlVGQlJTeERRVUZETzFGQlEyaEVMRTFCUVUwc1EwRkJReXhIUVVGSExFbEJRVWtzUTBGQlF5eEpRVUZKTEVOQlFVTXNRMEZCUXl4RFFVRkRMRWRCUVVjc1NVRkJTU3hEUVVGRExFZEJRVWNzUTBGQlF5eERRVUZETEVOQlFVTXNSMEZCUnl4RFFVRkRMRU5CUVVNc1EwRkJRenRSUVVNeFF5eEpRVUZKTEVOQlFVTXNUVUZCVFN4SFFVRkhMRU5CUVVNc1IwRkJSeXhEUVVGRExFTkJRVU1zUTBGQlF5eHRSRUZCYlVRN1VVRkRlRVVzU1VGQlNTeERRVUZETEU5QlFVOHNSMEZCUnl4SlFVRkpMRU5CUVVNN1VVRkRjRUlzVDBGQlR5eERRVUZETEVkQlFVY3NRMEZCUXl4RFFVRkRPMGxCUTJZc1EwRkJRenRKUVVWRUxEaENRVUU0UWp0SlFVTjBRaXhMUVVGTExFTkJRVU1zUlVGQlZTeEZRVUZGTEVkQlFWYzdVVUZEYmtNc1QwRkJUeXhGUVVGRkxFZEJRVWNzU1VGQlNTeERRVUZETEZkQlFWY3NSVUZCUlN4SFFVRkhMRWRCUVVjc1EwRkJRenRKUVVOMlF5eERRVUZETzBsQlJVUXNPRVJCUVRoRU8wbEJRM1JFTEV0QlFVc3NRMEZCUXl4RFFVRlRPMUZCUTNKQ0xFbEJRVWtzVDBGQlR5eERRVUZETEVOQlFVTXNRMEZCUXl4TFFVRkxMRmRCUVZjc1NVRkJTU3hMUVVGTExFTkJRVU1zUTBGQlF5eERRVUZETzFsQlFVVXNUMEZCVHl4SlFVRkpMRmxCUVZrc1JVRkJSU3hEUVVGRE8xRkJRM1JGTEVsQlFVa3NUMEZCVHl4WFFVRlhMRXRCUVVzc1YwRkJWeXhGUVVGRk8xbEJRM1JETERCQ1FVRXdRanRaUVVNeFFpeE5RVUZOTEVkQlFVY3NSMEZCUnl4SlFVRkpMRmxCUVZrc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF6dFpRVU5vUXl4TFFVRkxMRWxCUVVrc1EwRkJReXhIUVVGSExFTkJRVU1zUlVGQlJTeERRVUZETEVkQlFVY3NRMEZCUXl4RlFVRkZMRU5CUVVNc1JVRkJSVHRuUWtGQlJTeEhRVUZITEVOQlFVTXNRMEZCUXl4RFFVRkRMRWRCUVVjc1EwRkJReXhEUVVGRE8xbEJRM1pETEU5QlFVOHNSMEZCUnl4RFFVRkRPMU5CUTFvN1lVRkJUVHRaUVVOTUxFOUJRVThzU1VGQlNTeFpRVUZaTEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJReXd3UWtGQk1FSTdVMEZEZGtRN1NVRkRTQ3hEUVVGRE8wbEJSVVFzTWtSQlFUSkVPMGxCUXpORUxDdENRVUVyUWp0SlFVTjJRaXhQUVVGUExFTkJRVU1zUTBGQlV5eEZRVUZGTEVOQlFWTXNSVUZCUlN4RFFVRlZPMUZCUXpsRExFMUJRVTBzU1VGQlNTeEhRVUZITEU5QlFVOHNRMEZCUXl4TFFVRkxMRmRCUVZjc1EwRkJRenRSUVVOMFF5eE5RVUZOTEVOQlFVTXNSMEZCUnl4RFFVRkRMRWxCUVVrc1MwRkJTeXhEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTXNTVUZCU1N4RFFVRkRMRWxCUVVrc1EwRkJReXhEUVVGRExFZEJRVWNzUTBGQlF5eEhRVUZITEVWQlFVVXNRMEZCUXl4SlFVRkpMRmxCUVZrc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETzFGQlEyNUZMRWxCUVVrc1NVRkJTU3hGUVVGRk8xbEJRMUlzUzBGQlN5eEpRVUZKTEVOQlFVTXNSMEZCUnl4RFFVRkRMRVZCUVVVc1EwRkJReXhIUVVGSExFTkJRVU1zUlVGQlJTeERRVUZETEVWQlFVVTdaMEpCUTNoQ0xFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTXNSMEZCUnl4SlFVRkpMRmxCUVZrc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF5eEpRVUZKTEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNN1UwRkRkRU03WVVGQlRUdFpRVU5NTEV0QlFVc3NTVUZCU1N4RFFVRkRMRWRCUVVjc1EwRkJReXhGUVVGRkxFTkJRVU1zUjBGQlJ5eERRVUZETEVWQlFVVXNRMEZCUXl4RlFVRkZMRVZCUVVVN1owSkJRekZDTEV0QlFVc3NTVUZCU1N4RFFVRkRMRWRCUVVjc1EwRkJReXhGUVVGRkxFTkJRVU1zUjBGQlJ5eERRVUZETEVWQlFVVXNRMEZCUXl4RlFVRkZPMjlDUVVONFFpeERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRExFZEJRVWNzU1VGQlNTeERRVUZETEV0QlFVc3NRMEZCUXl4SFFVRkhMRVZCUVVVc1NVRkJTU3hEUVVGRExFTkJRVU03WVVGRGJrTTdVMEZEUmp0UlFVTkVMRTlCUVU4c1EwRkJReXhEUVVGRE8wbEJRMWdzUTBGQlF6dEpRVVZFTERCRFFVRXdRenRKUVVOc1F5eEZRVUZGTEVOQlFVTXNSVUZCV1N4RlFVRkZMRVZCUVZrN1VVRkRia01zVFVGQlRTeERRVUZETEVkQlFVY3NSVUZCUlN4RFFVRkRMRTFCUVUwc1EwRkJRenRSUVVOd1FpeEpRVUZKTEVOQlFVTXNSMEZCUnl4RFFVRkRMRU5CUVVNN1VVRkRWaXhMUVVGTExFbEJRVWtzUTBGQlF5eEhRVUZITEVOQlFVTXNSVUZCUlN4RFFVRkRMRWRCUVVjc1EwRkJReXhGUVVGRkxFTkJRVU1zUlVGQlJTeEZRVUZGTzFsQlF6RkNMRTFCUVUwc1IwRkJSeXhIUVVGSExFVkJRVVVzUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXp0WlFVTnNRaXhOUVVGTkxFZEJRVWNzUjBGQlJ5eEZRVUZGTEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNN1dVRkRiRUlzUTBGQlF5eEpRVUZKTEVOQlFVTXNSMEZCUnl4SFFVRkhMRWRCUVVjc1EwRkJReXhIUVVGSExFTkJRVU1zUjBGQlJ5eEhRVUZITEVkQlFVY3NRMEZCUXl4RFFVRkRPMU5CUTJoRE8xRkJRMFFzVDBGQlR5eERRVUZETEVOQlFVTTdTVUZEV0N4RFFVRkRPMGxCUlVRc1owUkJRV2RFTzBsQlEzaERMRWxCUVVrc1EwRkJReXhEUVVGNVFqdFJRVU53UXl4TlFVRk5MRU5CUVVNc1IwRkJSeXhEUVVGRExFTkJRVU1zVFVGQlRTeERRVUZETzFGQlEyNUNMRTFCUVUwc1NVRkJTU3hIUVVGSExFbEJRVWtzUTBGQlF5eExRVUZMTEVOQlFVTXNRMEZCUXl4SFFVRkhMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU1zTkVKQlFUUkNPMUZCUXpWRUxFdEJRVXNzU1VGQlNTeERRVUZETEVkQlFVY3NRMEZCUXl4RlFVRkZMRU5CUVVNc1IwRkJSeXhEUVVGRExFVkJRVVVzUTBGQlF5eEZRVUZGTEVWQlFVVTdXVUZETVVJc1MwRkJTeXhKUVVGSkxFTkJRVU1zUjBGQlJ5eERRVUZETEVkQlFVY3NRMEZCUXl4RlFVRkZMRU5CUVVNc1IwRkJSeXhEUVVGRExFVkJRVVVzUTBGQlF5eEZRVUZGTEVWQlFVVTdaMEpCUXpsQ0xFMUJRVTBzUTBGQlF5eEhRVUZITEVsQlFVa3NRMEZCUXl4RlFVRkZMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF5eEZRVUZGTEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRE8yZENRVU01UWl4SlFVRkpMRU5CUVVNc1EwRkJReXhIUVVGSExFTkJRVU1zUjBGQlJ5eERRVUZETEVOQlFVTXNSMEZCUnl4RFFVRkRMRU5CUVVNN1owSkJRM0JDTEVsQlFVa3NRMEZCUXl4RFFVRkRMRWRCUVVjc1EwRkJReXhIUVVGSExFTkJRVU1zUTBGQlF5eEhRVUZITEVOQlFVTXNRMEZCUXp0aFFVTnlRanRUUVVOR08xRkJRMFFzVDBGQlR5eEpRVUZKTEVOQlFVTTdTVUZEWkN4RFFVRkRPMGxCUlUwc1YwRkJWeXhEUVVGRExFOUJRV1U3VVVGRGFFTXNTVUZCU1N4UFFVRlBMRWxCUVVrc1NVRkJTVHRaUVVOcVFpeFBRVUZQTEVkQlFVY3NRMEZCUXp0aFFVTlNMRWxCUVVrc1QwRkJUeXhKUVVGSkxFbEJRVWs3V1VGRGRFSXNUMEZCVHl4SFFVRkhMRU5CUVVNN1lVRkRVaXhKUVVGSkxFOUJRVThzU1VGQlNTeEpRVUZKTzFsQlEzUkNMRTlCUVU4c1IwRkJSeXhEUVVGRE96dFpRVVZZTEU5QlFVOHNSMEZCUnl4RFFVRkRPMGxCUTJZc1EwRkJRenRKUVVWRUxHMURRVUZ0UXp0SlFVTXpRaXhIUVVGSExFTkJRVU1zUTBGQlpTeEZRVUZGTEZWQlFXdENMRVZCUVVVc1IwRkJWeXhGUVVGRkxFOUJRV1U3VVVGRE0wVXNLMFJCUVN0RU8xRkJReTlFTERSQ1FVRTBRanRSUVVNMVFpeHhSVUZCY1VVN1VVRkRja1VzVFVGQlRTeFBRVUZQTEVkQlFVY3NZVUZCWVN4RFFVRkRMRTlCUVU4c1EwRkJReXhEUVVGRE8xRkJRM1pETEUxQlFVMHNVMEZCVXl4SFFVRkhMRWxCUVVrc1dVRkJXU3hEUVVGRExFOUJRVThzUjBGQlJ5eFBRVUZQTEVOQlFVTXNRMEZCUXp0UlFVTjBSQ3hMUVVGTExFbEJRVWtzUTBGQlF5eEhRVUZITEVOQlFVTXNSVUZCUlN4RFFVRkRMRWRCUVVjc1QwRkJUeXhGUVVGRkxFTkJRVU1zUlVGQlJTeEZRVUZGTzFsQlEyaERMRXRCUVVzc1NVRkJTU3hEUVVGRExFZEJRVWNzUTBGQlF5eEhRVUZITEVOQlFVTXNSVUZCUlN4RFFVRkRMRWRCUVVjc1QwRkJUeXhGUVVGRkxFTkJRVU1zUlVGQlJUdG5Ra0ZEYkVNc1UwRkJVeXhEUVVGRExFTkJRVU1zUjBGQlJ5eFBRVUZQTEVkQlFVY3NRMEZCUXl4RFFVRkRMRWRCUVVjc1UwRkJVeXhEUVVGRExFTkJRVU1zUjBGQlJ5eFBRVUZQTEVkQlFVY3NRMEZCUXl4RFFVRkRMRWRCUVVjc1EwRkJReXhEUVVGRExFOUJRVThzUTBGQlF5eERRVUZETEVWQlFVVXNRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJRenRUUVVNNVJUdFJRVU5FTEUxQlFVMHNRMEZCUXl4SFFVRkhMRTlCUVU4c1EwRkJRenRSUVVOc1FpeE5RVUZOTEU5QlFVOHNSMEZCUnl4SlFVRkpMRU5CUVVNc1IwRkJSeXhEUVVGRExGVkJRVlVzUTBGQlF5eERRVUZETEVOQlFVTXNhVU5CUVdsRE8xRkJRM1pGTEUxQlFVMHNRMEZCUXl4SFFVRkhMRWxCUVVrc1EwRkJReXhMUVVGTExFTkJRVU1zUTBGQlF5eEhRVUZITEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNc0swSkJRU3RDTzFGQlF6VkVMRTFCUVUwc1NVRkJTU3hIUVVGSExFbEJRVWtzUTBGQlF5eExRVUZMTEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJReXhyUTBGQmEwTTdVVUZET1VRc1MwRkJTeXhKUVVGSkxFTkJRVU1zUjBGQlJ5eERRVUZETEVWQlFVVXNRMEZCUXl4SFFVRkhMRU5CUVVNc1JVRkJSU3hEUVVGRExFVkJRVVVzUlVGQlJUdFpRVU14UWl4SlFVRkpMRTlCUVU4c1IwRkJSeXhEUVVGRExGRkJRVkVzUTBGQlF6dFpRVU40UWl4SlFVRkpMRTlCUVU4c1IwRkJSeXhSUVVGUkxFTkJRVU03V1VGRGRrSXNTVUZCU1N4SlFVRkpMRWRCUVVjc1EwRkJReXhEUVVGRExFTkJRVU1zTmtKQlFUWkNPMWxCUXpORExFbEJRVWtzU1VGQlNTeEhRVUZITEV0QlFVc3NRMEZCUXp0WlFVTnFRaXhOUVVGTkxGRkJRVkVzUjBGQlJ5eEpRVUZKTEVOQlFVTXNWMEZCVnl4RFFVRkRMRTlCUVU4c1EwRkJReXhIUVVGSExFVkJRVVVzUTBGQlF6dFpRVVZvUkN3d1JFRkJNRVE3V1VGRE1VUXNlVVJCUVhsRU8xbEJRM3BFTEVsQlFVa3NSMEZCUnl4SFFVRkhMRU5CUVVNc1EwRkJRenRaUVVOYUxFOUJRVThzUTBGQlF5eEpRVUZKTEVWQlFVVTdaMEpCUTFvc1YwRkJWenRuUWtGRldDeHhSRUZCY1VRN1owSkJRM0pFTEVsQlFVa3NTVUZCU1N4SFFVRkhMRWRCUVVjc1EwRkJRenRuUWtGRFppeExRVUZMTEVsQlFVa3NRMEZCUXl4SFFVRkhMRU5CUVVNc1JVRkJSU3hEUVVGRExFZEJRVWNzUTBGQlF5eEZRVUZGTEVOQlFVTXNSVUZCUlN4RlFVRkZPMjlDUVVNeFFpeE5RVUZOTEVWQlFVVXNSMEZCUnl4RFFVRkRMRXRCUVVzc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRMRWxCUVVrc1EwRkJReXhIUVVGSExFTkJRVU1zUTBGQlJTeFRRVUZUTEVOQlFVTXNRMEZCUXl4SFFVRkhMRU5CUVVNc1IwRkJSeXhEUVVGRExFTkJRVU1zUjBGQlJ5eEpRVUZKTEVOQlFVTXNRMEZCUXp0dlFrRkRha1VzU1VGQlNTeERRVUZETEVOQlFVTXNRMEZCUXl4SFFVRkhMRVZCUVVVc1EwRkJRenR2UWtGRFlpeEpRVUZKTEVsQlFVa3NSVUZCUlN4RFFVRkRPMmxDUVVOYU8yZENRVU5FTEd0RFFVRnJRenRuUWtGRGJFTXNTVUZCU1N4TFFVRkxMRWRCUVVjc1IwRkJSeXhEUVVGRE8yZENRVU5vUWl4TFFVRkxMRWxCUVVrc1EwRkJReXhIUVVGSExFTkJRVU1zUlVGQlJTeERRVUZETEVkQlFVY3NRMEZCUXl4RlFVRkZMRU5CUVVNc1JVRkJSU3hGUVVGRk8yOUNRVU14UWl4SlFVRkpMRVZCUVVVc1EwRkJRenR2UWtGRFVDeEpRVUZKTEVsQlFVa3NTMEZCU3l4RFFVRkRPM2RDUVVOYUxFVkJRVVVzUjBGQlJ5eERRVUZETEVOQlFVTTdPM2RDUVVWUUxFVkJRVVVzUjBGQlJ5eEpRVUZKTEVOQlFVTXNRMEZCUXl4RFFVRkRMRWRCUVVjc1NVRkJTU3hEUVVGRE8yOUNRVVYwUWl4SlFVRkpMRU5CUVVNc1EwRkJReXhEUVVGRExFZEJRVWNzUlVGQlJTeERRVUZETzI5Q1FVTmlMRWxCUVVrc1JVRkJSU3hIUVVGSExFbEJRVWs3ZDBKQlFVVXNTMEZCU3l4SlFVRkpMRVZCUVVVc1IwRkJSeXhKUVVGSkxFTkJRVU1zUjBGQlJ5eERRVUZETEVWQlFVVXNRMEZCUXl4RFFVRkRPMmxDUVVNelF6dG5Ra0ZGUkN3NFFrRkJPRUk3WjBKQlF6bENMRWxCUVVrc1MwRkJTeXhIUVVGSExFOUJRVThzUlVGQlJUdHZRa0ZEYmtJc2EwUkJRV3RFTzI5Q1FVTnNSQ3h0UlVGQmJVVTdiMEpCUTI1RkxFOUJRVThzUjBGQlJ5eEpRVUZKTEVOQlFVTXNRMEZCUXl4eFFrRkJjVUk3YjBKQlEzSkRMRWxCUVVrc1QwRkJUeXhMUVVGTExGRkJRVkU3ZDBKQlFVVXNTVUZCU1N4SFFVRkhMRWxCUVVrc1IwRkJSeXhEUVVGRExFTkJRVU03TzNkQ1FVRk5MRWxCUVVrc1IwRkJSeXhEUVVGRExFbEJRVWtzUjBGQlJ5eFBRVUZQTEVOQlFVTXNSMEZCUnl4RFFVRkRMRU5CUVVNN2FVSkJRemRGTzNGQ1FVRk5PMjlDUVVOTUxEWkRRVUUyUXp0dlFrRkROME1zVDBGQlR5eEhRVUZITEVsQlFVa3NRMEZCUXp0dlFrRkRaaXhKUVVGSkxFOUJRVThzUzBGQlN5eERRVUZETEZGQlFWRTdkMEpCUVVVc1NVRkJTU3hIUVVGSExFbEJRVWtzUjBGQlJ5eERRVUZETEVOQlFVTTdPM2RDUVVGTkxFbEJRVWtzUjBGQlJ5eERRVUZETEVsQlFVa3NSMEZCUnl4UFFVRlBMRU5CUVVNc1IwRkJSeXhEUVVGRExFTkJRVU03YVVKQlF6bEZPMmRDUVVWRUxEaEVRVUU0UkR0blFrRkRPVVFzUjBGQlJ5eEZRVUZGTEVOQlFVTTdaMEpCUTA0c1NVRkJTU3hKUVVGSkxFTkJRVU1zUjBGQlJ5eERRVUZETEV0QlFVc3NSMEZCUnl4UFFVRlBMRU5CUVVNc1IwRkJSeXhIUVVGSE8yOUNRVUZGTEVsQlFVa3NSMEZCUnl4SlFVRkpMRU5CUVVNN1owSkJRMnBFTEVsQlFVa3NSMEZCUnl4SlFVRkpMRkZCUVZFN2IwSkJRVVVzU1VGQlNTeEhRVUZITEVsQlFVa3NRMEZCUXp0aFFVTnNRenRaUVVWRUxEQkhRVUV3Unp0WlFVTXhSeXg1UTBGQmVVTTdXVUZEZWtNc1MwRkJTeXhKUVVGSkxFTkJRVU1zUjBGQlJ5eERRVUZETEVWQlFVVXNRMEZCUXl4SFFVRkhMRU5CUVVNc1JVRkJSU3hEUVVGRExFVkJRVVU3WjBKQlFVVXNRMEZCUXl4RFFVRkRMRU5CUVVNc1IwRkJSeXhEUVVGRExFZEJRVWNzUTBGQlF5eERRVUZETEVkQlFVY3NTVUZCU1N4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRE8xTkJRM0JFTEVOQlFVTXNNa0pCUVRKQ08xRkJSVGRDTEhkRVFVRjNSRHRSUVVONFJDeE5RVUZOTEVsQlFVa3NSMEZCUnl4SlFVRkpMRU5CUVVNc1MwRkJTeXhEUVVGRExFTkJRVU1zUjBGQlJ5eERRVUZETEVOQlFVTXNRMEZCUXp0UlFVTXZRaXhOUVVGTkxFVkJRVVVzUjBGQlJ5eERRVUZETEVkQlFVY3NRMEZCUXl4RFFVRkRPMUZCUTJwQ0xFdEJRVXNzU1VGQlNTeERRVUZETEVkQlFVY3NRMEZCUXl4RlFVRkZMRU5CUVVNc1IwRkJSeXhEUVVGRExFVkJRVVVzUTBGQlF5eEZRVUZGTEVWQlFVVTdXVUZETVVJc1MwRkJTeXhKUVVGSkxFTkJRVU1zUjBGQlJ5eERRVUZETEVWQlFVVXNRMEZCUXl4SFFVRkhMRU5CUVVNc1JVRkJSU3hEUVVGRExFVkJRVVU3WjBKQlEzaENMRWxCUVVrc1EwRkJReXhEUVVGRExFZEJRVWNzUTBGQlF5eEhRVUZITEVOQlFVTXNRMEZCUXl4SFFVRkhMRWxCUVVrc1EwRkJReXhIUVVGSExFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXl4SFFVRkhMRU5CUVVNc1IwRkJSeXhEUVVGRExFTkJRVU1zUjBGQlJ5eERRVUZETEVOQlFVTXNRMEZCUXl4SFFVRkhMRU5CUVVNc1IwRkJSeXhEUVVGRExFTkJRVU1zUTBGQlF5eEhRVUZITEVWQlFVVXNSVUZCUlN4TlFVRk5MRU5CUVVNc1EwRkJRenRUUVVNeFJUdFJRVVZFTEU5QlFVOHNTVUZCU1N4RFFVRkRPMGxCUTJRc1EwRkJRenRKUVVWRUxHdENRVUZyUWp0SlFVTldMRWxCUVVrc1EwRkJReXhEUVVGVExFbEJRVWtzVDBGQlR5eERRVUZETEVkQlFVY3NRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTXNSMEZCUnl4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRE8wbEJSVGxFTEZsQlFWa3NSMEZCZFVJN1VVRkRha01zUjBGQlJ5eEhRVUZITEVkQlFVY3NTVUZCU1N4RlFVRkZMRU5CUVVNN1VVRkRhRUlzU1VGQlNTeERRVUZETEZWQlFWVXNSMEZCUnl4SlFVRkpMRU5CUVVNc1RVRkJUU3hEUVVGRExFZEJRVWNzUlVGQlJTeFpRVUZaTEVWQlFVVXNSVUZCUlN4RFFVRkRMRU5CUVVNc1EwRkJReXgzUTBGQmQwTTdVVUZET1VZc1NVRkJTU3hEUVVGRExFZEJRVWNzUjBGQlJ5eEpRVUZKTEVOQlFVTXNUVUZCVFN4RFFVRkRMRWRCUVVjc1JVRkJSU3hMUVVGTExFVkJRVVVzUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXl4elFrRkJjMEk3VVVGRE4wUXNTVUZCU1N4RFFVRkRMRTlCUVU4c1IwRkJSeXhKUVVGSkxFTkJRVU1zVFVGQlRTeERRVUZETEVkQlFVY3NSVUZCUlN4VFFVRlRMRVZCUVVVc1JVRkJSU3hEUVVGRExFTkJRVU1zUTBGQlF5eG5Ra0ZCWjBJN1VVRkRhRVVzU1VGQlNTeERRVUZETEUxQlFVMHNSMEZCUnl4SlFVRkpMRU5CUVVNc1RVRkJUU3hEUVVGRExFZEJRVWNzUlVGQlJTeFJRVUZSTEVWQlFVVXNTVUZCU1N4RFFVRkRMRTFCUVUwc1EwRkJReXhEUVVGRExFTkJRVU1zTUVKQlFUQkNPMGxCUTI1R0xFTkJRVU03U1VGRlJDeDFSRUZCZFVRN1NVRkRka1FzZFVSQlFYVkVPMGxCUTJoRUxGZEJRVmNzUTBGQlF5eERRVUZ2UWp0UlFVTnlReXhOUVVGTkxFTkJRVU1zUjBGQlJ5eERRVUZETEVOQlFVTXNUVUZCVFN4RFFVRkRPMUZCUTI1Q0xFMUJRVTBzUTBGQlF5eEhRVUZITEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJReXhOUVVGTkxFTkJRVU03VVVGRGRFSXNTVUZCU1N4RFFVRkRMRTFCUVUwc1EwRkJReXhEUVVGRExFZEJRVWNzUTBGQlF5eEZRVUZGTEhWRFFVRjFReXhEUVVGRExFTkJRVU03VVVGRE5VUXNTVUZCU1N4RFFVRkRMRTFCUVUwc1EwRkJReXhEUVVGRExFZEJRVWNzUTBGQlF5eEZRVUZGTEc5RFFVRnZReXhEUVVGRExFTkJRVU03VVVGRGVrUXNUVUZCVFN4TFFVRkxMRWRCUVVjc1NVRkJTU3hEUVVGRExFbEJRVWtzUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRMQ3REUVVFclF6dFJRVU16UlN4SlFVRkpMRU5CUVVNc1EwRkJReXhIUVVGSExFbEJRVWtzUTBGQlF5eEhRVUZITEVOQlFVTXNTMEZCU3l4RlFVRkZMRWxCUVVrc1EwRkJReXhWUVVGVkxFVkJRVVVzU1VGQlNTeEZRVUZGTEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNc2JVSkJRVzFDTzFGQlEzWkZMRWxCUVVrc1EwRkJReXhEUVVGRExFZEJRVWNzUTBGQlF5eERRVUZETEVOQlFVTXNhME5CUVd0RE8xRkJRemxETEVsQlFVa3NRMEZCUXl4WlFVRlpMRVZCUVVVc1EwRkJReXhEUVVGRExHVkJRV1U3U1VGRGRFTXNRMEZCUXp0SlFVVkVMREJFUVVFd1JEdEpRVU14UkN4elFrRkJjMEk3U1VGRGRFSXNNRVZCUVRCRk8wbEJRMjVGTEZsQlFWa3NRMEZCUXl4RFFVRmxMRVZCUVVVc1QwRkJaVHRSUVVOc1JDeE5RVUZOTEVOQlFVTXNSMEZCUnl4RFFVRkRMRU5CUVVNc1RVRkJUU3hEUVVGRE8xRkJRMjVDTEVsQlFVa3NRMEZCUXl4TlFVRk5MRU5CUVVNc1EwRkJReXhIUVVGSExFTkJRVU1zUlVGQlJTeDFRMEZCZFVNc1EwRkJReXhEUVVGRE8xRkJRelZFTERSRFFVRTBRenRSUVVNMVF5eDNRMEZCZDBNN1VVRkRlRU1zVDBGQlR5eERRVUZETEVsQlFVa3NRMEZCUXl4eFFrRkJjVUlzUTBGQlF5eERRVUZETzFGQlEzQkRMRWxCUVVrc1EwRkJReXhEUVVGRExFZEJRVWNzU1VGQlNTeERRVUZETEVkQlFVY3NRMEZCUXl4RFFVRkRMRVZCUVVVc1NVRkJTU3hEUVVGRExGVkJRVlVzUlVGQlJTeEpRVUZKTEVWQlFVVXNUMEZCVHl4RFFVRkRMRU5CUVVNN1VVRkRja1FzVDBGQlR5eERRVUZETEU5QlFVOHNRMEZCUXl4eFFrRkJjVUlzUTBGQlF5eERRVUZETzFGQlEzWkRMRWxCUVVrc1EwRkJReXhEUVVGRExFZEJRVWNzVDBGQlR5eERRVUZETzFGQlEycENMRWxCUVVrc1EwRkJReXhaUVVGWkxFVkJRVVVzUTBGQlF5eERRVUZETEdWQlFXVTdTVUZEZEVNc1EwRkJRenRKUVVWRUxIbERRVUY1UXp0SlFVTnNReXhaUVVGWk8xRkJRMnBDTEc5RFFVRnZRenRSUVVOd1F5eEpRVUZKTEVOQlFVTXNRMEZCUXl4SFFVRkhMRWxCUVVrc1EwRkJReXhQUVVGUExFTkJRVU1zU1VGQlNTeERRVUZETEVOQlFVTXNSVUZCUlN4SlFVRkpMRU5CUVVNc1IwRkJSeXhEUVVGRExFTkJRVU1zUTBGQlF5eGxRVUZsTzFGQlEzaEVMRWxCUVVrc1EwRkJReXhMUVVGTExFZEJRVWNzU1VGQlNTeERRVUZETEU5QlFVOHNRMEZCUXl4SlFVRkpMRU5CUVVNc1EwRkJReXhGUVVGRkxFbEJRVWtzUTBGQlF5eEhRVUZITEVWQlFVVXNSMEZCUnl4RFFVRkRMRU5CUVVNc1EwRkJReXcyUkVGQk5rUTdVVUZETDBjc1NVRkJTU3hEUVVGRExFdEJRVXNzUjBGQlJ5eEpRVUZKTEVOQlFVTXNUMEZCVHl4RFFVRkRMRWxCUVVrc1EwRkJReXhEUVVGRExFVkJRVVVzU1VGQlNTeERRVUZETEVkQlFVY3NSVUZCUlN4SFFVRkhMRU5CUVVNc1EwRkJReXhEUVVGRExIVkNRVUYxUWp0UlFVTjZSU3hKUVVGSkxFTkJRVU1zU1VGQlNTeEhRVUZITEVOQlFVTXNRMEZCUXp0SlFVTm9RaXhEUVVGRE8wbEJSVVFzY1VOQlFYRkRPMGxCUXpsQ0xGZEJRVmM3VVVGRGFFSXNUMEZCVHl4SlFVRkpMRU5CUVVNc1EwRkJReXhEUVVGRE8wbEJRMmhDTEVOQlFVTTdTVUZGUkN4cFJVRkJhVVU3U1VGRE1VUXNTVUZCU1R0UlFVTlVMRWxCUVVrc1EwRkJReXhKUVVGSkxFbEJRVWtzUTBGQlF5eERRVUZETzFGQlEyWXNUVUZCVFN4RFFVRkRMRWRCUVVjc1NVRkJTU3hEUVVGRExFTkJRVU1zUTBGQlF6dFJRVU5xUWl4TlFVRk5MRVZCUVVVc1IwRkJSeXhKUVVGSkxFTkJRVU1zVVVGQlVTeERRVUZETEVsQlFVa3NRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRExHOUNRVUZ2UWp0UlFVTjBSQ3hOUVVGTkxFbEJRVWtzUjBGQlJ5eEZRVUZGTEVOQlFVTXNTVUZCU1N4RFFVRkRPMUZCUTNKQ0xFMUJRVTBzU1VGQlNTeEhRVUZITEVWQlFVVXNRMEZCUXl4SlFVRkpMRU5CUVVNN1VVRkZja0lzZDBKQlFYZENPMUZCUTNoQ0xFMUJRVTBzUzBGQlN5eEhRVUZITEVsQlFVa3NRMEZCUXl4TFFVRkxMRU5CUVVNc1NVRkJTU3hEUVVGRExFZEJRVWNzUTBGQlF5eERRVUZETzFGQlEyNURMRXRCUVVzc1NVRkJTU3hEUVVGRExFZEJRVWNzUTBGQlF5eEZRVUZGTEVOQlFVTXNSMEZCUnl4RFFVRkRMRVZCUVVVc1EwRkJReXhGUVVGRkxFVkJRVVU3V1VGRE1VSXNTMEZCU3l4SlFVRkpMRU5CUVVNc1IwRkJSeXhEUVVGRExFVkJRVVVzUTBGQlF5eEhRVUZITEVsQlFVa3NRMEZCUXl4SFFVRkhMRVZCUVVVc1EwRkJReXhGUVVGRkxFVkJRVVU3WjBKQlEycERMRTFCUVUwc1IwRkJSeXhIUVVGSExFbEJRVWtzUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJRenRuUWtGRGRrSXNUVUZCVFN4SFFVRkhMRWRCUVVjc1NVRkJTU3hEUVVGRExFdEJRVXNzUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJRenRuUWtGRE4wSXNUVUZCVFN4TlFVRk5MRWRCUVVjc1NVRkJTU3hEUVVGRExFdEJRVXNzUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJRenRuUWtGRmFFTXNjMEpCUVhOQ08yZENRVU4wUWl4SlFVRkpMRTlCUVU4c1IwRkJSeXhKUVVGSkxFTkJRVU1zU1VGQlNTeERRVUZETEVkQlFVY3NRMEZCUXl4TFFVRkxMRWxCUVVrc1EwRkJReXhKUVVGSkxFTkJRVU1zUjBGQlJ5eERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRMRTFCUVUwc1IwRkJSeXhIUVVGSExFTkJRVU1zUTBGQlF5eERRVUZETEUxQlFVMHNSMEZCUnl4SFFVRkhMRU5CUVVNN1owSkJRemxGTEVsQlFVa3NUMEZCVHl4SFFVRkhMRWxCUVVrN2IwSkJRVVVzVDBGQlR5eEhRVUZITEVsQlFVa3NRMEZCUXl4RFFVRkRMRkZCUVZFN1owSkJRelZETEVsQlFVa3NRMEZCUXl4TFFVRkxMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETEVkQlFVY3NUMEZCVHl4RFFVRkRMRU5CUVVNc2MwSkJRWE5DTzJkQ1FVVnNSQ3hyUTBGQmEwTTdaMEpCUTJ4RExFMUJRVTBzVFVGQlRTeEhRVUZITEVsQlFVa3NRMEZCUXl4SlFVRkpMRWRCUVVjc1IwRkJSeXhEUVVGRExFTkJRVU1zUTBGQlF5eEhRVUZITEVOQlFVTXNRMEZCUXl4RFFVRkRMRWRCUVVjc1EwRkJRenRuUWtGRE0wTXNUVUZCVFN4TlFVRk5MRWRCUVVjc1RVRkJUU3hIUVVGSExFZEJRVWNzUjBGQlJ5eEpRVUZKTEVOQlFVTXNUMEZCVHl4SFFVRkhMRTlCUVU4c1IwRkJSeXhKUVVGSkxFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNN1owSkJRMnhGTEVsQlFVa3NRMEZCUXl4TFFVRkxMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETEVkQlFVY3NUVUZCVFN4RFFVRkRMRU5CUVVNc05FSkJRVFJDTzJkQ1FVVjJSQ3hSUVVGUk8yZENRVU5TTEVsQlFVa3NRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETEVsQlFVa3NUVUZCVFN4RFFVRkRPMmRDUVVWMlFpeExRVUZMTEVOQlFVTXNRMEZCUXl4RFFVRkRMRWxCUVVrc1NVRkJTU3hEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRExEaERRVUU0UXp0aFFVTjZSVHRUUVVOR08xRkJSVVFzT0VKQlFUaENPMUZCUXpsQ0xFdEJRVXNzU1VGQlNTeERRVUZETEVkQlFVY3NRMEZCUXl4RlFVRkZMRU5CUVVNc1IwRkJSeXhEUVVGRExFVkJRVVVzUTBGQlF5eEZRVUZGTEVWQlFVVTdXVUZETVVJc1MwRkJTeXhKUVVGSkxFTkJRVU1zUjBGQlJ5eERRVUZETEVWQlFVVXNRMEZCUXl4SFFVRkhMRWxCUVVrc1EwRkJReXhIUVVGSExFVkJRVVVzUTBGQlF5eEZRVUZGTzJkQ1FVTXZRaXhKUVVGSkxFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJReXhKUVVGSkxFdEJRVXNzUTBGQlF5eERRVUZETEVOQlFVTXNSMEZCUnl4RFFVRkRMRU5CUVVNN1UwRkRhRU03VVVGRlJDdzJSVUZCTmtVN1VVRkROMFVzVDBGQlR5eEpRVUZKTEVOQlFVTXNRMEZCUXl4elFrRkJjMEk3U1VGRGNrTXNRMEZCUXp0SlFVVkVMR2REUVVGblF6dEpRVU42UWl4VFFVRlRPMUZCUTJRc1RVRkJUU3hEUVVGRExFZEJRVWNzU1VGQlNTeERRVUZETEVOQlFVTXNRMEZCUXp0UlFVVnFRaXhOUVVGTkxFVkJRVVVzUjBGQlJ5eEpRVUZKTEVOQlFVTXNVVUZCVVN4RFFVRkRMRWxCUVVrc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETEc5Q1FVRnZRanRSUVVOMFJDeDFRa0ZCZFVJN1VVRkRka0lzVFVGQlRTeEpRVUZKTEVkQlFVY3NSVUZCUlN4RFFVRkRMRWxCUVVrc1EwRkJRenRSUVVWeVFpeE5RVUZOTEVOQlFVTXNSMEZCUnl4SlFVRkpMRU5CUVVNN1VVRkRaaXhMUVVGTExFbEJRVWtzUTBGQlF5eEhRVUZITEVOQlFVTXNSVUZCUlN4RFFVRkRMRWRCUVVjc1EwRkJReXhGUVVGRkxFTkJRVU1zUlVGQlJTeEZRVUZGTzFsQlF6RkNMRXRCUVVzc1NVRkJTU3hEUVVGRExFZEJRVWNzUTBGQlF5eEZRVUZGTEVOQlFVTXNSMEZCUnl4SlFVRkpMRU5CUVVNc1IwRkJSeXhGUVVGRkxFTkJRVU1zUlVGQlJTeEZRVUZGTzJkQ1FVTnFReXhOUVVGTkxFbEJRVWtzUjBGQlJ5eEpRVUZKTEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETzJkQ1FVVXhRaXhKUVVGSkxFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJReXhIUVVGSExFbEJRVWtzUjBGQlJ5eERRVUZETEVOQlFVTTdaMEpCUTNoQ0xFMUJRVTBzUjBGQlJ5eEhRVUZITEVsQlFVa3NRMEZCUXl4UlFVRlJMRU5CUVVNc1NVRkJTU3hEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETzJkQ1FVVnNReXhKUVVGSkxFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJReXhIUVVGSExFbEJRVWtzUjBGQlJ5eERRVUZETEVOQlFVTTdaMEpCUTNoQ0xFMUJRVTBzUjBGQlJ5eEhRVUZITEVsQlFVa3NRMEZCUXl4UlFVRlJMRU5CUVVNc1NVRkJTU3hEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETzJkQ1FVVnNReXhOUVVGTkxGRkJRVkVzUjBGQlJ5eEpRVUZKTEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU03WjBKQlF6VkNMRTFCUVUwc1UwRkJVeXhIUVVGSExFTkJRVU1zUjBGQlJ5eERRVUZETEVsQlFVa3NSMEZCUnl4SFFVRkhMRU5CUVVNc1NVRkJTU3hEUVVGRExFZEJRVWNzUTBGQlF5eERRVUZETEVkQlFVY3NRMEZCUXl4RFFVRkRMRU5CUVVNN1owSkJRMnhFTEU5QlFVOHNRMEZCUXl4SFFVRkhMRU5CUVVNc1EwRkJReXhIUVVGSExFZEJRVWNzUjBGQlJ5eERRVUZETEVkQlFVY3NkMEpCUVhkQ0xFZEJRVWNzVVVGQlVTeEhRVUZITEd0Q1FVRnJRaXhIUVVGSExGTkJRVk1zUTBGQlF5eERRVUZETzJkQ1FVVm9SeXhKUVVGSkxFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJReXhIUVVGSExFbEJRVWtzUTBGQlF6dGhRVU55UWp0VFFVTkdPMGxCUTBnc1EwRkJRenRKUVVWUExFdEJRVXNzUTBGQlowSTdTVUZETjBJc2FVUkJRV2xFTzBsQlF6RkRMRkZCUVZFc1EwRkJReXhEUVVGaE8xRkJRek5DTEUxQlFVMHNRMEZCUXl4SFFVRkhMRWxCUVVrc1EwRkJReXhEUVVGRExFTkJRVU03VVVGRGFrSXNUVUZCVFN4SFFVRkhMRWRCUVVjc1NVRkJTU3hEUVVGRExFZEJRVWNzUTBGQlF5eERRVUZETEhOQ1FVRnpRanRSUVVNMVF5eE5RVUZOTEVOQlFVTXNSMEZCUnl4SlFVRkpMRU5CUVVNc1EwRkJReXhEUVVGRE8xRkJSV3BDTEUxQlFVMHNTVUZCU1N4SFFVRkhMRWxCUVVrc1EwRkJReXhKUVVGSkxFZEJRVWNzUjBGQlJ5eERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETEhGRFFVRnhRenRSUVVVelJTeHhSRUZCY1VRN1VVRkRja1FzU1VGQlNTeERRVUZETEV0QlFVc3NTMEZCU3l4SlFVRkpMRU5CUVVNc1MwRkJTeXhEUVVGRExFTkJRVU1zUjBGQlJ5eERRVUZETEVOQlFVTXNRMEZCUXp0UlFVTnFReXhKUVVGSkxFbEJRVWtzUjBGQlJ5eEhRVUZITEVOQlFVTTdVVUZEWml4TFFVRkxMRWxCUVVrc1EwRkJReXhIUVVGSExFTkJRVU1zUlVGQlJTeERRVUZETEVkQlFVY3NRMEZCUXl4RlFVRkZMRU5CUVVNc1JVRkJSU3hGUVVGRk8xbEJRekZDTEV0QlFVc3NTVUZCU1N4RFFVRkRMRWRCUVVjc1EwRkJReXhIUVVGSExFTkJRVU1zUlVGQlJTeERRVUZETEVkQlFVY3NRMEZCUXl4RlFVRkZMRU5CUVVNc1JVRkJSU3hGUVVGRk8yZENRVU01UWl4TlFVRk5MRWxCUVVrc1IwRkJSeXhKUVVGSkxFdEJRVXNzUTBGQlF5eEhRVUZITEVOQlFVTXNRMEZCUXl4TlFVRk5MRU5CUVVNc1EwRkJReXhKUVVGSkxFVkJRVVVzUTBGQlF5eEZRVUZGTEVOQlFVTXNSVUZCUlN4RlFVRkZMRU5CUVVNc1NVRkJTU3hIUVVGSExFbEJRVWtzUTBGQlF5eEhRVUZITEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF5eEhRVUZITEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU1zUlVGQlJTeERRVUZETEVOQlFVTXNSVUZCUlN4RFFVRkRMRU5CUVVNc1EwRkJRenRuUWtGRE4wWXNUVUZCVFN4RlFVRkZMRWRCUVVjc1IwRkJSeXhIUVVGSExFTkJRVU1zUjBGQlJ5eEhRVUZITEVsQlFVa3NRMEZCUXl4RFFVRkRMRU5CUVVNc2VVSkJRWGxDTzJkQ1FVTjRSQ3hKUVVGSkxFTkJRVU1zUzBGQlN5eERRVUZETEVOQlFVTXNSMEZCUnl4RFFVRkRMRWRCUVVjc1EwRkJReXhEUVVGRExFZEJRVWNzUlVGQlJTeERRVUZETzJkQ1FVTXpRaXhKUVVGSkxFTkJRVU1zUzBGQlN5eERRVUZETEVOQlFVTXNSMEZCUnl4RFFVRkRMRWRCUVVjc1EwRkJReXhEUVVGRExFZEJRVWNzUlVGQlJTeERRVUZETzJkQ1FVTXpRaXhKUVVGSkxFbEJRVWtzUTBGQlF5eEhRVUZITEVWQlFVVXNRMEZCUXp0aFFVTm9RanRUUVVOR08xRkJRMFFzZFVOQlFYVkRPMUZCUTNaRExHMUNRVUZ0UWp0UlFVTnVRaXd5UWtGQk1rSTdVVUZETTBJc1NVRkJTU3hKUVVGSkxFZEJRVWNzUjBGQlJ5eERRVUZETzFGQlEyWXNUVUZCVFN4SlFVRkpMRWRCUVVjc1NVRkJTU3hMUVVGTExFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTXNTVUZCU1N4RFFVRkRMRWxCUVVrc1EwRkJReXhEUVVGRExFZEJRVWNzUTBGQlF5eEhRVUZITEVWQlFVVXNRMEZCUXl4RFFVRkRMRWxCUVVrc1dVRkJXU3hEUVVGRExFZEJRVWNzUTBGQlF5eERRVUZETEVOQlFVTXNTVUZCU1N4RFFVRkRMRWRCUVVjc1EwRkJReXhEUVVGRExFTkJRVU03VVVGRGJFWXNTMEZCU3l4SlFVRkpMRU5CUVVNc1IwRkJSeXhEUVVGRExFVkJRVVVzUTBGQlF5eEhRVUZITEVOQlFVTXNSVUZCUlN4RFFVRkRMRVZCUVVVc1JVRkJSVHRaUVVNeFFpeDVSVUZCZVVVN1dVRkRla1VzUzBGQlN5eEpRVUZKTEVOQlFVTXNSMEZCUnl4RFFVRkRMRWRCUVVjc1EwRkJReXhGUVVGRkxFTkJRVU1zUjBGQlJ5eERRVUZETEVWQlFVVXNRMEZCUXl4RlFVRkZMRVZCUVVVN1owSkJRemxDTEUxQlFVMHNRMEZCUXl4SFFVRkhMRWxCUVVrc1EwRkJReXhIUVVGSExFTkJRVU1zU1VGQlNTeERRVUZETEV0QlFVc3NRMEZCUXl4RFFVRkRMRWRCUVVjc1EwRkJReXhIUVVGSExFTkJRVU1zUTBGQlF5eEhRVUZITEVsQlFVa3NSVUZCUlN4TlFVRk5MRU5CUVVNc1EwRkJRenRuUWtGRGVrUXNTVUZCU1N4SlFVRkpMRU5CUVVNc1EwRkJSU3hEUVVGRExFTkJRVU1zUTBGQlF5eEhRVUZITEVOQlFVTXNSMEZCUnl4RFFVRkRMRU5CUVVNc1IwRkJSeXhKUVVGSkxFTkJRVU1zUjBGQlJ5eERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRMRWRCUVVjc1EwRkJReXhEUVVGRExFTkJRVU1zZVVSQlFYbEVPMmRDUVVOeVJ5eE5RVUZOTEU5QlFVOHNSMEZCUnl4RFFVRkRMRWRCUVVjc1EwRkJReXhKUVVGSkxFZEJRVWNzUTBGQlF5eERRVUZETEVOQlFVTXNSMEZCUnl4RFFVRkRMRWRCUVVjc1EwRkJReXhEUVVGRExFZEJRVWNzUTBGQlF5eERRVUZETEVkQlFVY3NTVUZCU1N4RFFVRkRMRXRCUVVzc1EwRkJReXhEUVVGRExFZEJRVWNzUTBGQlF5eEhRVUZITEVOQlFVTXNRMEZCUXl4RFFVRkRPMmRDUVVOMFJTeG5RMEZCWjBNN1owSkJRMmhETEV0QlFVc3NTVUZCU1N4RFFVRkRMRWRCUVVjc1EwRkJReXhGUVVGRkxFTkJRVU1zUjBGQlJ5eEhRVUZITEVWQlFVVXNRMEZCUXl4RlFVRkZMRVZCUVVVN2IwSkJRelZDTEVsQlFVa3NRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU1zU1VGQlNTeFBRVUZQTEVkQlFVY3NRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETEVkQlFVY3NRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTTdiMEpCUXpWRExFbEJRVWtzUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNc1NVRkJTU3hQUVVGUExFZEJRVWNzUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRExFZEJRVWNzUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU03YVVKQlF6ZERPMkZCUTBZN1dVRkRSQ3hwUWtGQmFVSTdVMEZEYkVJN1VVRkZSQ3hQUVVGUExFVkJRVU1zU1VGQlNTeEZRVUZGTEVsQlFVa3NSVUZCUXl4RFFVRkRPMGxCUTNSQ0xFTkJRVU03UTBGRFNpSXNJbk52ZFhKalpYTkRiMjUwWlc1MElqcGJJbWx0Y0c5eWRDQjdaRzFNYVc1bFlYSkpibVJsZUgwZ1puSnZiU0FuTGk0dlpHbHpkR0Z1WTJVdGJXRjBjbWw0Snp0Y2JseHVYRzVsZUhCdmNuUWdZMnhoYzNNZ1ZGTk9SU0I3WEc0Z0lIQnlhWFpoZEdVZ2NHVnljR3hsZUdsMGVUb2diblZ0WW1WeU8xeHVJQ0J3Y21sMllYUmxJR1JwYlRvZ2JuVnRZbVZ5TzF4dUlDQndjbWwyWVhSbElHVndjMmxzYjI0NklHNTFiV0psY2p0Y2JpQWdjSEpwZG1GMFpTQnBkR1Z5SUQwZ01EdGNiaUFnY0hKcGRtRjBaU0JPSVRvZ2JuVnRZbVZ5TzF4dUlDQndjbWwyWVhSbElGQWhPaUJHYkc5aGRETXlRWEp5WVhrN1hHNGdJSEJ5YVhaaGRHVWdXU0U2SUdGdWVWdGRPMXh1SUNCd2NtbDJZWFJsSUdkaGFXNXpJVG9nWVc1NVcxMDdYRzRnSUhCeWFYWmhkR1VnZVhOMFpYQWhPaUJoYm5sYlhUdGNiaUFnY0hKcGRtRjBaU0J5WVc1a2IyMDZJQ2dwSUQwK0lHNTFiV0psY2lBOUlFMWhkR2d1Y21GdVpHOXRPMXh1SUNCd2NtbDJZWFJsSUdGemMyVnlkQ2hqYjI1a2FYUnBiMjQ2SUdGdWVTd2diV1Z6YzJGblpUb2dZVzU1S1NCN1hHNGdJQ0FnYVdZZ0tDRmpiMjVrYVhScGIyNHBJSFJvY205M0lHMWxjM05oWjJVZ2ZId2dKMEZ6YzJWeWRHbHZiaUJtWVdsc1pXUW5PMXh1SUNCOVhHNWNiaUFnTHk4Z2MzbHVkR0Y0SUhOMVoyRnlYRzRnSUhCeWFYWmhkR1VnWjJWMGIzQjBLRzl3ZERvZ2UxdGZPaUJ6ZEhKcGJtZGRPaUJoYm5sOUxDQm1hV1ZzWkRvZ2MzUnlhVzVuTENCa1pXWmhkV3gwZG1Gc09pQmhibmtwSUh0Y2JpQWdJQ0JwWmlBb2IzQjBMbWhoYzA5M2JsQnliM0JsY25SNUtHWnBaV3hrS1NsY2JpQWdJQ0FnSUhKbGRIVnliaUJ2Y0hSYlptbGxiR1JkTzF4dUlDQWdJR1ZzYzJWY2JpQWdJQ0FnSUhKbGRIVnliaUJrWldaaGRXeDBkbUZzTzF4dUlDQjlYRzVjYmlBZ0lDQXZMeUJ5WlhSMWNtNGdNQ0J0WldGdUlIVnVhWFFnYzNSaGJtUmhjbVFnWkdWMmFXRjBhVzl1SUhKaGJtUnZiU0J1ZFcxaVpYSmNiaUFnSUNCd2NtbDJZWFJsSUhKbGRIVnlibFlnUFNCbVlXeHpaVHRjYmlBZ0lDQndjbWwyWVhSbElIWldZV3gxWlNBOUlEQXVNRHRjYmlBZ0lDQm5ZWFZ6YzFKaGJtUnZiU2dwT2lCdWRXMWlaWElnZTF4dUlDQWdJQ0FnYVdZZ0tIUm9hWE11Y21WMGRYSnVWaWtnZTF4dUlDQWdJQ0FnSUNCMGFHbHpMbkpsZEhWeWJsWWdQU0JtWVd4elpUdGNiaUFnSUNBZ0lDQWdjbVYwZFhKdUlIUm9hWE11ZGxaaGJIVmxPMXh1SUNBZ0lDQWdmVnh1SUNBZ0lDQWdZMjl1YzNRZ2RTQTlJRElnS2lCMGFHbHpMbkpoYm1SdmJTZ3BJQzBnTVR0Y2JpQWdJQ0FnSUdOdmJuTjBJSFlnUFNBeUlDb2dkR2hwY3k1eVlXNWtiMjBvS1NBdElERTdYRzRnSUNBZ0lDQmpiMjV6ZENCeUlEMGdkU0FxSUhVZ0t5QjJJQ29nZGp0Y2JpQWdJQ0FnSUdsbUlDaHlJRDA5UFNBd0lIeDhJSElnUGlBeEtTQnlaWFIxY200Z2RHaHBjeTVuWVhWemMxSmhibVJ2YlNncE8xeHVJQ0FnSUNBZ1kyOXVjM1FnWXlBOUlFMWhkR2d1YzNGeWRDZ3RNaUFxSUUxaGRHZ3ViRzluS0hJcElDOGdjaWs3WEc0Z0lDQWdJQ0IwYUdsekxuWldZV3gxWlNBOUlIWWdLaUJqT3lBdkx5QmpZV05vWlNCMGFHbHpJR1p2Y2lCdVpYaDBJR1oxYm1OMGFXOXVJR05oYkd3Z1ptOXlJR1ZtWm1samFXVnVZM2xjYmlBZ0lDQWdJSFJvYVhNdWNtVjBkWEp1VmlBOUlIUnlkV1U3WEc0Z0lDQWdJQ0J5WlhSMWNtNGdkU0FxSUdNN1hHNGdJQ0FnZlZ4dVhHNGdJQ0FnTHk4Z2NtVjBkWEp1SUhKaGJtUnZiU0J1YjNKdFlXd2diblZ0WW1WeVhHNGdJQ0FnY0hKcGRtRjBaU0J5WVc1a2JpaHRkVG9nYm5WdFltVnlMQ0J6ZEdRNklHNTFiV0psY2lrZ2UxeHVJQ0FnSUNBZ2NtVjBkWEp1SUcxMUlDc2dkR2hwY3k1bllYVnpjMUpoYm1SdmJTZ3BJQ29nYzNSa08xeHVJQ0FnSUgxY2JseHVJQ0FnSUM4dklIVjBhV3hwZEdsMGVTQjBhR0YwSUdOeVpXRjBaWE1nWTI5dWRHbG5kVzkxY3lCMlpXTjBiM0lnYjJZZ2VtVnliM01nYjJZZ2MybDZaU0J1WEc0Z0lDQWdjSEpwZG1GMFpTQjZaWEp2Y3lodU9pQnVkVzFpWlhJcElIdGNiaUFnSUNBZ0lHbG1JQ2gwZVhCbGIyWWdLRzRwSUQwOVBTQW5kVzVrWldacGJtVmtKeUI4ZkNCcGMwNWhUaWh1S1NrZ2NtVjBkWEp1SUc1bGR5QkdiRzloZERNeVFYSnlZWGtvS1R0Y2JpQWdJQ0FnSUdsbUlDaDBlWEJsYjJZZ1FYSnlZWGxDZFdabVpYSWdQVDA5SUNkMWJtUmxabWx1WldRbktTQjdYRzRnSUNBZ0lDQWdJQzh2SUd4aFkydHBibWNnWW5KdmQzTmxjaUJ6ZFhCd2IzSjBYRzRnSUNBZ0lDQWdJR052Ym5OMElHRnljaUE5SUc1bGR5QkdiRzloZERNeVFYSnlZWGtvYmlrN1hHNGdJQ0FnSUNBZ0lHWnZjaUFvYkdWMElHa2dQU0F3T3lCcElEd2dianNnYVNzcktTQmhjbkpiYVYwZ1BTQXdPMXh1SUNBZ0lDQWdJQ0J5WlhSMWNtNGdZWEp5TzF4dUlDQWdJQ0FnZlNCbGJITmxJSHRjYmlBZ0lDQWdJQ0FnY21WMGRYSnVJRzVsZHlCR2JHOWhkRE15UVhKeVlYa29iaWs3SUM4dklIUjVjR1ZrSUdGeWNtRjVjeUJoY21VZ1ptRnpkR1Z5WEc0Z0lDQWdJQ0I5WEc0Z0lDQWdmVnh1WEc0Z0lDQWdMeThnZFhScGJHbDBlU0IwYUdGMElISmxkSFZ5Ym5NZ01tUWdZWEp5WVhrZ1ptbHNiR1ZrSUhkcGRHZ2djbUZ1Wkc5dElHNTFiV0psY25OY2JpQWdJQ0F2THlCdmNpQjNhWFJvSUhaaGJIVmxJSE1zSUdsbUlIQnliM1pwWkdWa1hHNGdJQ0FnY0hKcGRtRjBaU0J5WVc1a2JqSmtLRzQ2SUc1MWJXSmxjaXdnWkRvZ2JuVnRZbVZ5TENCelB6b2diblZ0WW1WeUtTQjdYRzRnSUNBZ0lDQmpiMjV6ZENCMWMyVnpJRDBnZEhsd1pXOW1JSE1nSVQwOUlDZDFibVJsWm1sdVpXUW5PMXh1SUNBZ0lDQWdZMjl1YzNRZ2VDQTlJQ2h1WlhjZ1FYSnlZWGtvYmlrcExtWnBiR3dvYm5Wc2JDa3ViV0Z3S0NncElEMCtJRzVsZHlCR2JHOWhkRE15UVhKeVlYa29aQ2twTzF4dUlDQWdJQ0FnYVdZZ0tIVnpaWE1wSUh0Y2JpQWdJQ0FnSUNBZ1ptOXlJQ2hzWlhRZ2FTQTlJREE3SUdrZ1BDQnVPeUJwS3lzcFhHNGdJQ0FnSUNBZ0lDQWdlRnRwWFNBOUlHNWxkeUJHYkc5aGRETXlRWEp5WVhrb1pDa3VabWxzYkNoektUdGNiaUFnSUNBZ0lIMGdaV3h6WlNCN1hHNGdJQ0FnSUNBZ0lHWnZjaUFvYkdWMElHa2dQU0F3T3lCcElEd2dianNnYVNzcktTQjdYRzRnSUNBZ0lDQWdJQ0FnWm05eUlDaHNaWFFnYWlBOUlEQTdJR29nUENCa095QnFLeXNwWEc0Z0lDQWdJQ0FnSUNBZ0lDQjRXMmxkVzJwZElEMGdkR2hwY3k1eVlXNWtiaWd3TGpBc0lERmxMVFFwTzF4dUlDQWdJQ0FnSUNCOVhHNGdJQ0FnSUNCOVhHNGdJQ0FnSUNCeVpYUjFjbTRnZUR0Y2JpQWdJQ0I5WEc1Y2JpQWdJQ0F2THlCamIyMXdkWFJsSUV3eUlHUnBjM1JoYm1ObElHSmxkSGRsWlc0Z2RIZHZJSFpsWTNSdmNuTmNiaUFnSUNCd2NtbDJZWFJsSUd3eUtIZ3hPaUJ1ZFcxaVpYSmJYU3dnZURJNklHNTFiV0psY2x0ZEtTQjdYRzRnSUNBZ0lDQmpiMjV6ZENCRUlEMGdlREV1YkdWdVozUm9PMXh1SUNBZ0lDQWdiR1YwSUdRZ1BTQXdPMXh1SUNBZ0lDQWdabTl5SUNoc1pYUWdhU0E5SURBN0lHa2dQQ0JFT3lCcEt5c3BJSHRjYmlBZ0lDQWdJQ0FnWTI5dWMzUWdlREZwSUQwZ2VERmJhVjA3WEc0Z0lDQWdJQ0FnSUdOdmJuTjBJSGd5YVNBOUlIZ3lXMmxkTzF4dUlDQWdJQ0FnSUNCa0lDczlJQ2g0TVdrZ0xTQjRNbWtwSUNvZ0tIZ3hhU0F0SUhneWFTazdYRzRnSUNBZ0lDQjlYRzRnSUNBZ0lDQnlaWFIxY200Z1pEdGNiaUFnSUNCOVhHNWNiaUFnSUNBdkx5QmpiMjF3ZFhSbElIQmhhWEozYVhObElHUnBjM1JoYm1ObElHbHVJR0ZzYkNCMlpXTjBiM0p6SUdsdUlGaGNiaUFnSUNCd2NtbDJZWFJsSUhoMGIyUW9XRG9nUVhKeVlYazhJRUZ5Y21GNVBHNTFiV0psY2o0Z1Bpa2dlMXh1SUNBZ0lDQWdZMjl1YzNRZ1RpQTlJRmd1YkdWdVozUm9PMXh1SUNBZ0lDQWdZMjl1YzNRZ1pHbHpkQ0E5SUhSb2FYTXVlbVZ5YjNNb1RpQXFJRTRwT3lBdkx5QmhiR3h2WTJGMFpTQmpiMjUwYVdkMWIzVnpJR0Z5Y21GNVhHNGdJQ0FnSUNCbWIzSWdLR3hsZENCcElEMGdNRHNnYVNBOElFNDdJR2tyS3lrZ2UxeHVJQ0FnSUNBZ0lDQm1iM0lnS0d4bGRDQnFJRDBnYVNBcklERTdJR29nUENCT095QnFLeXNwSUh0Y2JpQWdJQ0FnSUNBZ0lDQmpiMjV6ZENCa0lEMGdkR2hwY3k1c01paFlXMmxkTENCWVcycGRLVHRjYmlBZ0lDQWdJQ0FnSUNCa2FYTjBXMmtnS2lCT0lDc2dhbDBnUFNCa08xeHVJQ0FnSUNBZ0lDQWdJR1JwYzNSYmFpQXFJRTRnS3lCcFhTQTlJR1E3WEc0Z0lDQWdJQ0FnSUgxY2JpQWdJQ0FnSUgxY2JpQWdJQ0FnSUhKbGRIVnliaUJrYVhOME8xeHVJQ0FnSUgxY2JseHVJQ0FnSUhCMVlteHBZeUJuWlhSSmRHVnlVMmw2WlNoeWIzZFRhWHBsT2lCdWRXMWlaWElwSUh0Y2JpQWdJQ0FnSUdsbUlDaHliM2RUYVhwbElEdzlJREl3TURBcFhHNGdJQ0FnSUNBZ0lISmxkSFZ5YmlBeU1EQTdYRzRnSUNBZ0lDQmxiSE5sSUdsbUlDaHliM2RUYVhwbElEdzlJRE13TURBcFhHNGdJQ0FnSUNBZ0lISmxkSFZ5YmlBeE5UQTdYRzRnSUNBZ0lDQmxiSE5sSUdsbUlDaHliM2RUYVhwbElEdzlJRFV3TURBcFhHNGdJQ0FnSUNBZ0lISmxkSFZ5YmlBeE1qQTdYRzRnSUNBZ0lDQmxiSE5sWEc0Z0lDQWdJQ0FnSUhKbGRIVnliaUF4TURBN1hHNGdJQ0FnZlZ4dVhHNGdJQ0FnTHk4Z1kyOXRjSFYwWlNBb2NGOTdhWHhxZlNBcklIQmZlMnA4YVgwcEx5Z3liaWxjYmlBZ0lDQndjbWwyWVhSbElHUXljQ2hFT2lCR2JHOWhkRE15UVhKeVlYa3NJSEJsY25Cc1pYaHBkSGs2SUc1MWJXSmxjaXdnZEc5c09pQnVkVzFpWlhJc0lISnZkMU5wZW1VNklHNTFiV0psY2lrZ2UxeHVJQ0FnSUNBZ0x5OGdZMjl1YzNRZ2JtWWdQU0JOWVhSb0xuTnhjblFvUkM1c1pXNW5kR2dwT3lBdkx5QjBhR2x6SUdKbGRIUmxjaUJpWlNCaGJpQnBiblJsWjJWeVhHNGdJQ0FnSUNBdkx5QmpiMjV6ZENCdUlEMGdUV0YwYUM1bWJHOXZjaWh1WmlrN1hHNGdJQ0FnSUNBdkx5QjBhR2x6TG1GemMyVnlkQ2h1SUQwOVBTQnVaaXdnSjBRZ2MyaHZkV3hrSUdoaGRtVWdjM0YxWVhKbElHNTFiV0psY2lCdlppQmxiR1Z0Wlc1MGN5NG5LVHRjYmlBZ0lDQWdJR052Ym5OMElHbHVaR1Y0WlhJZ1BTQmtiVXhwYm1WaGNrbHVaR1Y0S0hKdmQxTnBlbVVwTzF4dUlDQWdJQ0FnWTI5dWMzUWdaR2x6ZEdGdVkyVnpJRDBnYm1WM0lFWnNiMkYwTXpKQmNuSmhlU2h5YjNkVGFYcGxJQ29nY205M1UybDZaU2s3WEc0Z0lDQWdJQ0JtYjNJZ0tHeGxkQ0JwSUQwZ01Ec2dhU0E4SUhKdmQxTnBlbVU3SUdrckt5a2dlMXh1SUNBZ0lDQWdJQ0JtYjNJZ0tHeGxkQ0JxSUQwZ2FTQXJJREU3SUdvZ1BDQnliM2RUYVhwbE95QnFLeXNwWEc0Z0lDQWdJQ0FnSUNBZ1pHbHpkR0Z1WTJWelcya2dLaUJ5YjNkVGFYcGxJQ3NnYWwwZ1BTQmthWE4wWVc1alpYTmJhaUFxSUhKdmQxTnBlbVVnS3lCcFhTQTlJRVJiYVc1a1pYaGxjaWhwTENCcUtWMDdYRzRnSUNBZ0lDQjlYRzRnSUNBZ0lDQmpiMjV6ZENCdUlEMGdjbTkzVTJsNlpUdGNiaUFnSUNBZ0lHTnZibk4wSUdoVVlYSm5aWFFnUFNCTllYUm9MbXh2Wnlod1pYSndiR1Y0YVhSNUtUc2dMeThnZEdGeVoyVjBJR1Z1ZEhKdmNIa2diMllnWkdsemRISnBZblYwYVc5dVhHNGdJQ0FnSUNCamIyNXpkQ0JRSUQwZ2RHaHBjeTU2WlhKdmN5aHVJQ29nYmlrN0lDOHZJSFJsYlhCdmNtRnllU0J3Y205aVlXSnBiR2wwZVNCdFlYUnlhWGhjYmlBZ0lDQWdJR052Ym5OMElIQnliM2NnUFNCMGFHbHpMbnBsY205ektHNHBPeUF2THlCaElIUmxiWEJ2Y21GeWVTQnpkRzl5WVdkbElHTnZiWEJoY25SdFpXNTBYRzRnSUNBZ0lDQm1iM0lnS0d4bGRDQnBJRDBnTURzZ2FTQThJRzQ3SUdrckt5a2dlMXh1SUNBZ0lDQWdJQ0JzWlhRZ1ltVjBZVzFwYmlBOUlDMUpibVpwYm1sMGVUdGNiaUFnSUNBZ0lDQWdiR1YwSUdKbGRHRnRZWGdnUFNCSmJtWnBibWwwZVR0Y2JpQWdJQ0FnSUNBZ2JHVjBJR0psZEdFZ1BTQXhPeUF2THlCcGJtbDBhV0ZzSUhaaGJIVmxJRzltSUhCeVpXTnBjMmx2Ymx4dUlDQWdJQ0FnSUNCc1pYUWdaRzl1WlNBOUlHWmhiSE5sTzF4dUlDQWdJQ0FnSUNCamIyNXpkQ0J0WVhoMGNtbGxjeUE5SUhSb2FYTXVaMlYwU1hSbGNsTnBlbVVvY205M1UybDZaU2tnTHlBeE1EdGNibHh1SUNBZ0lDQWdJQ0F2THlCd1pYSm1iM0p0SUdKcGJtRnllU0J6WldGeVkyZ2dkRzhnWm1sdVpDQmhJSE4xYVhSaFlteGxJSEJ5WldOcGMybHZiaUJpWlhSaFhHNGdJQ0FnSUNBZ0lDOHZJSE52SUhSb1lYUWdkR2hsSUdWdWRISnZjSGtnYjJZZ2RHaGxJR1JwYzNSeWFXSjFkR2x2YmlCcGN5QmhjSEJ5YjNCeWFXRjBaVnh1SUNBZ0lDQWdJQ0JzWlhRZ2JuVnRJRDBnTUR0Y2JpQWdJQ0FnSUNBZ2QyaHBiR1VnS0NGa2IyNWxLU0I3WEc0Z0lDQWdJQ0FnSUNBZ0x5OWtaV0oxWjJkbGNqdGNibHh1SUNBZ0lDQWdJQ0FnSUM4dklHTnZiWEIxZEdVZ1pXNTBjbTl3ZVNCaGJtUWdhMlZ5Ym1Wc0lISnZkeUIzYVhSb0lHSmxkR0VnY0hKbFkybHphVzl1WEc0Z0lDQWdJQ0FnSUNBZ2JHVjBJSEJ6ZFcwZ1BTQXdMakE3WEc0Z0lDQWdJQ0FnSUNBZ1ptOXlJQ2hzWlhRZ2FpQTlJREE3SUdvZ1BDQnVPeUJxS3lzcElIdGNiaUFnSUNBZ0lDQWdJQ0FnSUdOdmJuTjBJSEJxSUQwZ2FTQTlQVDBnYWlBL0lEQWdPaUJOWVhSb0xtVjRjQ2d0SUdScGMzUmhibU5sYzF0cElDb2diaUFySUdwZElDb2dZbVYwWVNrN1hHNGdJQ0FnSUNBZ0lDQWdJQ0J3Y205M1cycGRJRDBnY0dvN1hHNGdJQ0FnSUNBZ0lDQWdJQ0J3YzNWdElDczlJSEJxTzF4dUlDQWdJQ0FnSUNBZ0lIMWNiaUFnSUNBZ0lDQWdJQ0F2THlCdWIzSnRZV3hwZW1VZ2NDQmhibVFnWTI5dGNIVjBaU0JsYm5SeWIzQjVYRzRnSUNBZ0lDQWdJQ0FnYkdWMElHNUlaWEpsSUQwZ01DNHdPMXh1SUNBZ0lDQWdJQ0FnSUdadmNpQW9iR1YwSUdvZ1BTQXdPeUJxSUR3Z2Jqc2dhaXNyS1NCN1hHNGdJQ0FnSUNBZ0lDQWdJQ0JzWlhRZ2NHbzdYRzRnSUNBZ0lDQWdJQ0FnSUNCcFppQW9jSE4xYlNBOVBUMGdNQ2xjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdjR29nUFNBd08xeHVJQ0FnSUNBZ0lDQWdJQ0FnWld4elpWeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNCd2FpQTlJSEJ5YjNkYmFsMGdMeUJ3YzNWdE8xeHVYRzRnSUNBZ0lDQWdJQ0FnSUNCd2NtOTNXMnBkSUQwZ2NHbzdYRzRnSUNBZ0lDQWdJQ0FnSUNCcFppQW9jR29nUGlBeFpTMDNLU0J1U0dWeVpTQXRQU0J3YWlBcUlFMWhkR2d1Ykc5bktIQnFLVHRjYmlBZ0lDQWdJQ0FnSUNCOVhHNWNiaUFnSUNBZ0lDQWdJQ0F2THlCaFpHcDFjM1FnWW1WMFlTQmlZWE5sWkNCdmJpQnlaWE4xYkhSY2JpQWdJQ0FnSUNBZ0lDQnBaaUFvYmtobGNtVWdQaUJvVkdGeVoyVjBLU0I3WEc0Z0lDQWdJQ0FnSUNBZ0lDQXZMeUJsYm5SeWIzQjVJSGRoY3lCMGIyOGdhR2xuYUNBb1pHbHpkSEpwWW5WMGFXOXVJSFJ2YnlCa2FXWm1kWE5sS1Z4dUlDQWdJQ0FnSUNBZ0lDQWdMeThnYzI4Z2QyVWdibVZsWkNCMGJ5QnBibU55WldGelpTQjBhR1VnY0hKbFkybHphVzl1SUdadmNpQnRiM0psSUhCbFlXdDVJR1JwYzNSeWFXSjFkR2x2Ymx4dUlDQWdJQ0FnSUNBZ0lDQWdZbVYwWVcxcGJpQTlJR0psZEdFN0lDOHZJRzF2ZG1VZ2RYQWdkR2hsSUdKdmRXNWtjMXh1SUNBZ0lDQWdJQ0FnSUNBZ2FXWWdLR0psZEdGdFlYZ2dQVDA5SUVsdVptbHVhWFI1S1NCaVpYUmhJRDBnWW1WMFlTQXFJREk3SUdWc2MyVWdZbVYwWVNBOUlDaGlaWFJoSUNzZ1ltVjBZVzFoZUNrZ0x5QXlPMXh1SUNBZ0lDQWdJQ0FnSUgwZ1pXeHpaU0I3WEc0Z0lDQWdJQ0FnSUNBZ0lDQXZMeUJqYjI1MlpYSnpaU0JqWVhObExpQnRZV3RsSUdScGMzUnlkV0owYVc5dUlHeGxjM01nY0dWaGEzbGNiaUFnSUNBZ0lDQWdJQ0FnSUdKbGRHRnRZWGdnUFNCaVpYUmhPMXh1SUNBZ0lDQWdJQ0FnSUNBZ2FXWWdLR0psZEdGdGFXNGdQVDA5SUMxSmJtWnBibWwwZVNrZ1ltVjBZU0E5SUdKbGRHRWdMeUF5T3lCbGJITmxJR0psZEdFZ1BTQW9ZbVYwWVNBcklHSmxkR0Z0YVc0cElDOGdNanRjYmlBZ0lDQWdJQ0FnSUNCOVhHNWNiaUFnSUNBZ0lDQWdJQ0F2THlCemRHOXdjR2x1WnlCamIyNWthWFJwYjI1ek9pQjBiMjhnYldGdWVTQjBjbWxsY3lCdmNpQm5iM1FnWVNCbmIyOWtJSEJ5WldOcGMybHZibHh1SUNBZ0lDQWdJQ0FnSUc1MWJTc3JPMXh1SUNBZ0lDQWdJQ0FnSUdsbUlDaE5ZWFJvTG1GaWN5aHVTR1Z5WlNBdElHaFVZWEpuWlhRcElEd2dkRzlzS1NCa2IyNWxJRDBnZEhKMVpUdGNiaUFnSUNBZ0lDQWdJQ0JwWmlBb2JuVnRJRDQ5SUcxaGVIUnlhV1Z6S1NCa2IyNWxJRDBnZEhKMVpUdGNiaUFnSUNBZ0lDQWdmVnh1WEc0Z0lDQWdJQ0FnSUM4dklHTnZibk52YkdVdWJHOW5LQ2RrWVhSaElIQnZhVzUwSUNjZ0t5QnBJQ3NnSnlCblpYUnpJSEJ5WldOcGMybHZiaUFuSUNzZ1ltVjBZU0FySUNjZ1lXWjBaWElnSnlBcklHNTFiU0FySUNjZ1ltbHVZWEo1SUhObFlYSmphQ0J6ZEdWd2N5NG5LVHRjYmlBZ0lDQWdJQ0FnTHk4Z1kyOXdlU0J2ZG1WeUlIUm9aU0JtYVc1aGJDQndjbTkzSUhSdklGQWdZWFFnY205M0lHbGNiaUFnSUNBZ0lDQWdabTl5SUNoc1pYUWdhaUE5SURBN0lHb2dQQ0J1T3lCcUt5c3BJRkJiYVNBcUlHNGdLeUJxWFNBOUlIQnliM2RiYWwwN1hHNGdJQ0FnSUNCOUlDOHZJR1Z1WkNCc2IyOXdJRzkyWlhJZ1pYaGhiWEJzWlhNZ2FWeHVYRzRnSUNBZ0lDQXZMeUJ6ZVcxdFpYUnlhWHBsSUZBZ1lXNWtJRzV2Y20xaGJHbDZaU0JwZENCMGJ5QnpkVzBnZEc4Z01TQnZkbVZ5SUdGc2JDQnBhbHh1SUNBZ0lDQWdZMjl1YzNRZ2NFOTFkQ0E5SUhSb2FYTXVlbVZ5YjNNb2JpQXFJRzRwTzF4dUlDQWdJQ0FnWTI5dWMzUWdUaklnUFNCdUlDb2dNanRjYmlBZ0lDQWdJR1p2Y2lBb2JHVjBJR2tnUFNBd095QnBJRHdnYmpzZ2FTc3JLU0I3WEc0Z0lDQWdJQ0FnSUdadmNpQW9iR1YwSUdvZ1BTQXdPeUJxSUR3Z2Jqc2dhaXNyS1Z4dUlDQWdJQ0FnSUNBZ0lIQlBkWFJiYVNBcUlHNGdLeUJxWFNBOUlFMWhkR2d1YldGNEtDaFFXMmtnS2lCdUlDc2dhbDBnS3lCUVcyb2dLaUJ1SUNzZ2FWMHBJQzhnVGpJc0lERmxMVEV3TUNrN1hHNGdJQ0FnSUNCOVhHNWNiaUFnSUNBZ0lISmxkSFZ5YmlCd1QzVjBPMXh1SUNBZ0lIMWNibHh1SUNBZ0lDOHZJR2hsYkhCbGNpQm1kVzVqZEdsdmJseHVJQ0FnSUhCeWFYWmhkR1VnYzJsbmJpaDRPaUJ1ZFcxaVpYSXBJSHNnY21WMGRYSnVJSGdnUGlBd0lEOGdNU0E2SUhnZ1BDQXdJRDhnTFRFZ09pQXdPeUI5WEc1Y2JpQWdJQ0JqYjI1emRISjFZM1J2Y2lodmNIUTZJSHRiWHpvZ2MzUnlhVzVuWFRvZ1lXNTVmU2tnZTF4dUlDQWdJQ0FnYjNCMElEMGdiM0IwSUh4OElIdDlPMXh1SUNBZ0lDQWdkR2hwY3k1d1pYSndiR1Y0YVhSNUlEMGdkR2hwY3k1blpYUnZjSFFvYjNCMExDQW5jR1Z5Y0d4bGVHbDBlU2NzSURNd0tUc2dMeThnWldabVpXTjBhWFpsSUc1MWJXSmxjaUJ2WmlCdVpXRnlaWE4wSUc1bGFXZG9ZbTl5YzF4dUlDQWdJQ0FnZEdocGN5NWthVzBnUFNCMGFHbHpMbWRsZEc5d2RDaHZjSFFzSUNka2FXMG5MQ0F5S1RzZ0x5OGdZbmtnWkdWbVlYVnNkQ0F5TFVRZ2RGTk9SVnh1SUNBZ0lDQWdkR2hwY3k1bGNITnBiRzl1SUQwZ2RHaHBjeTVuWlhSdmNIUW9iM0IwTENBblpYQnphV3h2Ymljc0lERXdLVHNnTHk4Z2JHVmhjbTVwYm1jZ2NtRjBaVnh1SUNBZ0lDQWdkR2hwY3k1eVlXNWtiMjBnUFNCMGFHbHpMbWRsZEc5d2RDaHZjSFFzSUNkeVlXNWtiMjBuTENCTllYUm9MbkpoYm1SdmJTazdJQzh2SUhKaGJtUnZiU0J1ZFcxaVpYSWdaMlZ1WlhKaGRHOXlYRzRnSUNBZ2ZWeHVYRzRnSUNBZ0x5OGdkR2hwY3lCbWRXNWpkR2x2YmlCMFlXdGxjeUJoSUhObGRDQnZaaUJvYVdkb0xXUnBiV1Z1YzJsdmJtRnNJSEJ2YVc1MGMxeHVJQ0FnSUM4dklHRnVaQ0JqY21WaGRHVnpJRzFoZEhKcGVDQlFJR1p5YjIwZ2RHaGxiU0IxYzJsdVp5Qm5ZWFZ6YzJsaGJpQnJaWEp1Wld4Y2JpQWdJQ0J3ZFdKc2FXTWdhVzVwZEVSaGRHRlNZWGNvV0RvZ1FYSnlZWGs4UVhKeVlYazhZVzU1UGo0cElIdGNiaUFnSUNBZ0lHTnZibk4wSUU0Z1BTQllMbXhsYm1kMGFEdGNiaUFnSUNBZ0lHTnZibk4wSUVRZ1BTQllXekJkTG14bGJtZDBhRHRjYmlBZ0lDQWdJSFJvYVhNdVlYTnpaWEowS0U0Z1BpQXdMQ0FuSUZnZ2FYTWdaVzF3ZEhrL0lGbHZkU0J0ZFhOMElHaGhkbVVnYzI5dFpTQmtZWFJoSVNjcE8xeHVJQ0FnSUNBZ2RHaHBjeTVoYzNObGNuUW9SQ0ErSURBc0lDY2dXRnN3WFNCcGN5QmxiWEIwZVQ4Z1YyaGxjbVVnYVhNZ2RHaGxJR1JoZEdFL0p5azdYRzRnSUNBZ0lDQmpiMjV6ZENCa2FYTjBjeUE5SUhSb2FYTXVlSFJ2WkNoWUtUc2dMeThnWTI5dWRtVnlkQ0JZSUhSdklHUnBjM1JoYm1ObGN5QjFjMmx1WnlCbllYVnpjMmxoYmlCclpYSnVaV3hjYmlBZ0lDQWdJSFJvYVhNdVVDQTlJSFJvYVhNdVpESndLR1JwYzNSekxDQjBhR2x6TG5CbGNuQnNaWGhwZEhrc0lERmxMVFFzSUVRcE95QXZMeUJoZEhSaFkyZ2dkRzhnYjJKcVpXTjBYRzRnSUNBZ0lDQjBhR2x6TGs0Z1BTQk9PeUF2THlCaVlXTnJJSFZ3SUhSb1pTQnphWHBsSUc5bUlIUm9aU0JrWVhSaGMyVjBYRzRnSUNBZ0lDQjBhR2x6TG1sdWFYUlRiMngxZEdsdmJpZ3BPeUF2THlCeVpXWnlaWE5vSUhSb2FYTmNiaUFnSUNCOVhHNWNiaUFnSUNBdkx5QjBhR2x6SUdaMWJtTjBhVzl1SUhSaGEyVnpJR0VnWjJsMlpXNGdaR2x6ZEdGdVkyVWdiV0YwY21sNElHRnVaQ0JqY21WaGRHVnpYRzRnSUNBZ0x5OGdiV0YwY21sNElGQWdabkp2YlNCMGFHVnRMbHh1SUNBZ0lDOHZJRVFnYVhNZ1lYTnpkVzFsWkNCMGJ5QmlaU0J3Y205MmFXUmxaQ0JoY3lCaElHeHBjM1FnYjJZZ2JHbHpkSE1zSUdGdVpDQnphRzkxYkdRZ1ltVWdjM2x0YldWMGNtbGpYRzRnSUNBZ2NIVmliR2xqSUdsdWFYUkVZWFJoUkdsemRDaEVPaUJHYkc5aGRETXlRWEp5WVhrc0lISnZkMU5wZW1VNklHNTFiV0psY2lrZ2UxeHVJQ0FnSUNBZ1kyOXVjM1FnVGlBOUlFUXViR1Z1WjNSb08xeHVJQ0FnSUNBZ2RHaHBjeTVoYzNObGNuUW9UaUErSURBc0lDY2dXQ0JwY3lCbGJYQjBlVDhnV1c5MUlHMTFjM1FnYUdGMlpTQnpiMjFsSUdSaGRHRWhKeWs3WEc0Z0lDQWdJQ0F2THlCamIyNTJaWEowSUVRZ2RHOGdZU0FvWm1GemRDa2dkSGx3WldRZ1lYSnlZWGtnZG1WeWMybHZibHh1SUNBZ0lDQWdMeThnWkdsemRITXVabTl5UldGamFDZ29aQ2tnUFQ0Z1kyOXVjMjlzWlM1c2IyY29aQ2twTzF4dUlDQWdJQ0FnWTI5dWMyOXNaUzUwYVcxbEtDZGthWE4wWVc1alpYTWdkRzhnYldGMGNtbDRKeWs3WEc0Z0lDQWdJQ0IwYUdsekxsQWdQU0IwYUdsekxtUXljQ2hFTENCMGFHbHpMbkJsY25Cc1pYaHBkSGtzSURGbExUUXNJSEp2ZDFOcGVtVXBPMXh1SUNBZ0lDQWdZMjl1YzI5c1pTNTBhVzFsUlc1a0tDZGthWE4wWVc1alpYTWdkRzhnYldGMGNtbDRKeWs3WEc0Z0lDQWdJQ0IwYUdsekxrNGdQU0J5YjNkVGFYcGxPMXh1SUNBZ0lDQWdkR2hwY3k1cGJtbDBVMjlzZFhScGIyNG9LVHNnTHk4Z2NtVm1jbVZ6YUNCMGFHbHpYRzRnSUNBZ2ZWeHVYRzRnSUNBZ0x5OGdLSEpsS1dsdWFYUnBZV3hwZW1WeklIUm9aU0J6YjJ4MWRHbHZiaUIwYnlCeVlXNWtiMjFjYmlBZ0lDQndkV0pzYVdNZ2FXNXBkRk52YkhWMGFXOXVLQ2tnZTF4dUlDQWdJQ0FnTHk4Z1oyVnVaWEpoZEdVZ2NtRnVaRzl0SUhOdmJIVjBhVzl1SUhSdklIUXRVMDVGWEc0Z0lDQWdJQ0IwYUdsekxsa2dQU0IwYUdsekxuSmhibVJ1TW1Rb2RHaHBjeTVPTENCMGFHbHpMbVJwYlNrN0lDOHZJSFJvWlNCemIyeDFkR2x2Ymx4dUlDQWdJQ0FnZEdocGN5NW5ZV2x1Y3lBOUlIUm9hWE11Y21GdVpHNHlaQ2gwYUdsekxrNHNJSFJvYVhNdVpHbHRMQ0F4TGpBcE95QXZMeUJ6ZEdWd0lHZGhhVzV6SUhSdklHRmpZMlZzWlhKaGRHVWdjSEp2WjNKbGMzTWdhVzRnZFc1amFHRnVaMmx1WnlCa2FYSmxZM1JwYjI1elhHNGdJQ0FnSUNCMGFHbHpMbmx6ZEdWd0lEMGdkR2hwY3k1eVlXNWtiakprS0hSb2FYTXVUaXdnZEdocGN5NWthVzBzSURBdU1DazdJQzh2SUcxdmJXVnVkSFZ0SUdGalkzVnRkV3hoZEc5eVhHNGdJQ0FnSUNCMGFHbHpMbWwwWlhJZ1BTQXdPMXh1SUNBZ0lIMWNibHh1SUNBZ0lDOHZJSEpsZEhWeWJpQndiMmx1ZEdWeUlIUnZJR04xY25KbGJuUWdjMjlzZFhScGIyNWNiaUFnSUNCd2RXSnNhV01nWjJWMFUyOXNkWFJwYjI0b0tTQjdYRzRnSUNBZ0lDQnlaWFIxY200Z2RHaHBjeTVaTzF4dUlDQWdJSDFjYmx4dUlDQWdJQzh2SUhCbGNtWnZjbTBnWVNCemFXNW5iR1VnYzNSbGNDQnZaaUJ2Y0hScGJXbDZZWFJwYjI0Z2RHOGdhVzF3Y205MlpTQjBhR1VnWlcxaVpXUmthVzVuWEc0Z0lDQWdjSFZpYkdsaklITjBaWEFvS1NCN1hHNGdJQ0FnSUNCMGFHbHpMbWwwWlhJZ0t6MGdNVHRjYmlBZ0lDQWdJR052Ym5OMElFNGdQU0IwYUdsekxrNDdYRzRnSUNBZ0lDQmpiMjV6ZENCalp5QTlJSFJvYVhNdVkyOXpkRWR5WVdRb2RHaHBjeTVaS1RzZ0x5OGdaWFpoYkhWaGRHVWdaM0poWkdsbGJuUmNiaUFnSUNBZ0lHTnZibk4wSUdOdmMzUWdQU0JqWnk1amIzTjBPMXh1SUNBZ0lDQWdZMjl1YzNRZ1ozSmhaQ0E5SUdObkxtZHlZV1E3WEc1Y2JpQWdJQ0FnSUM4dklIQmxjbVp2Y20wZ1ozSmhaR2xsYm5RZ2MzUmxjRnh1SUNBZ0lDQWdZMjl1YzNRZ2VXMWxZVzRnUFNCMGFHbHpMbnBsY205ektIUm9hWE11WkdsdEtUdGNiaUFnSUNBZ0lHWnZjaUFvYkdWMElHa2dQU0F3T3lCcElEd2dUanNnYVNzcktTQjdYRzRnSUNBZ0lDQWdJR1p2Y2lBb2JHVjBJR1FnUFNBd095QmtJRHdnZEdocGN5NWthVzA3SUdRckt5a2dlMXh1SUNBZ0lDQWdJQ0FnSUdOdmJuTjBJR2RwWkNBOUlHZHlZV1JiYVYxYlpGMDdYRzRnSUNBZ0lDQWdJQ0FnWTI5dWMzUWdjMmxrSUQwZ2RHaHBjeTU1YzNSbGNGdHBYVnRrWFR0Y2JpQWdJQ0FnSUNBZ0lDQmpiMjV6ZENCbllXbHVhV1FnUFNCMGFHbHpMbWRoYVc1elcybGRXMlJkTzF4dVhHNGdJQ0FnSUNBZ0lDQWdMeThnWTI5dGNIVjBaU0JuWVdsdUlIVndaR0YwWlZ4dUlDQWdJQ0FnSUNBZ0lHeGxkQ0J1WlhkbllXbHVJRDBnZEdocGN5NXphV2R1S0dkcFpDa2dQVDA5SUhSb2FYTXVjMmxuYmloemFXUXBJRDhnWjJGcGJtbGtJQ29nTUM0NElEb2daMkZwYm1sa0lDc2dNQzR5TzF4dUlDQWdJQ0FnSUNBZ0lHbG1JQ2h1WlhkbllXbHVJRHdnTUM0d01Ta2dibVYzWjJGcGJpQTlJREF1TURFN0lDOHZJR05zWVcxd1hHNGdJQ0FnSUNBZ0lDQWdkR2hwY3k1bllXbHVjMXRwWFZ0a1hTQTlJRzVsZDJkaGFXNDdJQzh2SUhOMGIzSmxJR1p2Y2lCdVpYaDBJSFIxY201Y2JseHVJQ0FnSUNBZ0lDQWdJQzh2SUdOdmJYQjFkR1VnYlc5dFpXNTBkVzBnYzNSbGNDQmthWEpsWTNScGIyNWNiaUFnSUNBZ0lDQWdJQ0JqYjI1emRDQnRiMjEyWVd3Z1BTQjBhR2x6TG1sMFpYSWdQQ0F5TlRBZ1B5QXdMalVnT2lBd0xqZzdYRzRnSUNBZ0lDQWdJQ0FnWTI5dWMzUWdibVYzYzJsa0lEMGdiVzl0ZG1Gc0lDb2djMmxrSUMwZ2RHaHBjeTVsY0hOcGJHOXVJQ29nYm1WM1oyRnBiaUFxSUdkeVlXUmJhVjFiWkYwN1hHNGdJQ0FnSUNBZ0lDQWdkR2hwY3k1NWMzUmxjRnRwWFZ0a1hTQTlJRzVsZDNOcFpEc2dMeThnY21WdFpXMWlaWElnZEdobElITjBaWEFnZDJVZ2RHOXZhMXh1WEc0Z0lDQWdJQ0FnSUNBZ0x5OGdjM1JsY0NGY2JpQWdJQ0FnSUNBZ0lDQjBhR2x6TGxsYmFWMWJaRjBnS3owZ2JtVjNjMmxrTzF4dVhHNGdJQ0FnSUNBZ0lDQWdlVzFsWVc1YlpGMGdLejBnZEdocGN5NVpXMmxkVzJSZE95QXZMeUJoWTJOMWJYVnNZWFJsSUcxbFlXNGdjMjhnZEdoaGRDQjNaU0JqWVc0Z1kyVnVkR1Z5SUd4aGRHVnlYRzRnSUNBZ0lDQWdJSDFjYmlBZ0lDQWdJSDFjYmx4dUlDQWdJQ0FnTHk4Z2NtVndjbTlxWldOMElGa2dkRzhnWW1VZ2VtVnlieUJ0WldGdVhHNGdJQ0FnSUNCbWIzSWdLR3hsZENCcElEMGdNRHNnYVNBOElFNDdJR2tyS3lrZ2UxeHVJQ0FnSUNBZ0lDQm1iM0lnS0d4bGRDQmtJRDBnTURzZ1pDQThJSFJvYVhNdVpHbHRPeUJrS3lzcFhHNGdJQ0FnSUNBZ0lDQWdkR2hwY3k1WlcybGRXMlJkSUMwOUlIbHRaV0Z1VzJSZElDOGdUanRjYmlBZ0lDQWdJSDFjYmx4dUlDQWdJQ0FnTHk5cFppaDBhR2x6TG1sMFpYSWxNVEF3UFQwOU1Da2dZMjl1YzI5c1pTNXNiMmNvSjJsMFpYSWdKeUFySUhSb2FYTXVhWFJsY2lBcklDY3NJR052YzNRNklDY2dLeUJqYjNOMEtUdGNiaUFnSUNBZ0lISmxkSFZ5YmlCamIzTjBPeUF2THlCeVpYUjFjbTRnWTNWeWNtVnVkQ0JqYjNOMFhHNGdJQ0FnZlZ4dVhHNGdJQ0FnTHk4Z1ptOXlJR1JsWW5WbloybHVaem9nWjNKaFpHbGxiblFnWTJobFkydGNiaUFnSUNCd2RXSnNhV01nWkdWaWRXZEhjbUZrS0NrZ2UxeHVJQ0FnSUNBZ1kyOXVjM1FnVGlBOUlIUm9hWE11VGp0Y2JseHVJQ0FnSUNBZ1kyOXVjM1FnWTJjZ1BTQjBhR2x6TG1OdmMzUkhjbUZrS0hSb2FYTXVXU2s3SUM4dklHVjJZV3gxWVhSbElHZHlZV1JwWlc1MFhHNGdJQ0FnSUNBdkwyTnZibk4wSUdOdmMzUWdQU0JqWnk1amIzTjBPMXh1SUNBZ0lDQWdZMjl1YzNRZ1ozSmhaQ0E5SUdObkxtZHlZV1E3WEc1Y2JpQWdJQ0FnSUdOdmJuTjBJR1VnUFNBeFpTMDFPMXh1SUNBZ0lDQWdabTl5SUNoc1pYUWdhU0E5SURBN0lHa2dQQ0JPT3lCcEt5c3BJSHRjYmlBZ0lDQWdJQ0FnWm05eUlDaHNaWFFnWkNBOUlEQTdJR1FnUENCMGFHbHpMbVJwYlRzZ1pDc3JLU0I3WEc0Z0lDQWdJQ0FnSUNBZ1kyOXVjM1FnZVc5c1pDQTlJSFJvYVhNdVdWdHBYVnRrWFR0Y2JseHVJQ0FnSUNBZ0lDQWdJSFJvYVhNdVdWdHBYVnRrWFNBOUlIbHZiR1FnS3lCbE8xeHVJQ0FnSUNBZ0lDQWdJR052Ym5OMElHTm5NQ0E5SUhSb2FYTXVZMjl6ZEVkeVlXUW9kR2hwY3k1WktUdGNibHh1SUNBZ0lDQWdJQ0FnSUhSb2FYTXVXVnRwWFZ0a1hTQTlJSGx2YkdRZ0xTQmxPMXh1SUNBZ0lDQWdJQ0FnSUdOdmJuTjBJR05uTVNBOUlIUm9hWE11WTI5emRFZHlZV1FvZEdocGN5NVpLVHRjYmx4dUlDQWdJQ0FnSUNBZ0lHTnZibk4wSUdGdVlXeDVkR2xqSUQwZ1ozSmhaRnRwWFZ0a1hUdGNiaUFnSUNBZ0lDQWdJQ0JqYjI1emRDQnVkVzFsY21sallXd2dQU0FvWTJjd0xtTnZjM1FnTFNCalp6RXVZMjl6ZENrZ0x5QW9NaUFxSUdVcE8xeHVJQ0FnSUNBZ0lDQWdJR052Ym5OdmJHVXViRzluS0drZ0t5QW5MQ2NnS3lCa0lDc2dKem9nWjNKaFpHTm9aV05ySUdGdVlXeDVkR2xqT2lBbklDc2dZVzVoYkhsMGFXTWdLeUFuSUhaekxpQnVkVzFsY21sallXdzZJQ2NnS3lCdWRXMWxjbWxqWVd3cE8xeHVYRzRnSUNBZ0lDQWdJQ0FnZEdocGN5NVpXMmxkVzJSZElEMGdlVzlzWkR0Y2JpQWdJQ0FnSUNBZ2ZWeHVJQ0FnSUNBZ2ZWeHVJQ0FnSUgxY2JseHVJQ0FnSUhCeWFYWmhkR1VnY1hWQmNuSS9PaUJHYkc5aGRETXlRWEp5WVhrN1hHNGdJQ0FnTHk4Z2NtVjBkWEp1SUdOdmMzUWdZVzVrSUdkeVlXUnBaVzUwTENCbmFYWmxiaUJoYmlCaGNuSmhibWRsYldWdWRGeHVJQ0FnSUhCMVlteHBZeUJqYjNOMFIzSmhaQ2haT2lCdWRXMWlaWEpiWFZ0ZEtTQjdYRzRnSUNBZ0lDQmpiMjV6ZENCT0lEMGdkR2hwY3k1T08xeHVJQ0FnSUNBZ1kyOXVjM1FnWkdsdElEMGdkR2hwY3k1a2FXMDdJQzh2SUdScGJTQnZaaUJ2ZFhSd2RYUWdjM0JoWTJWY2JpQWdJQ0FnSUdOdmJuTjBJRkFnUFNCMGFHbHpMbEE3WEc1Y2JpQWdJQ0FnSUdOdmJuTjBJSEJ0ZFd3Z1BTQjBhR2x6TG1sMFpYSWdQQ0F4TURBZ1B5QTBJRG9nTVRzZ0x5OGdkSEpwWTJzZ2RHaGhkQ0JvWld4d2N5QjNhWFJvSUd4dlkyRnNJRzl3ZEdsdFlWeHVYRzRnSUNBZ0lDQXZMeUJqYjIxd2RYUmxJR04xY25KbGJuUWdVU0JrYVhOMGNtbGlkWFJwYjI0c0lIVnVibTl5YldGc2FYcGxaQ0JtYVhKemRGeHVJQ0FnSUNBZ2RHaHBjeTV4ZFVGeWNpQS9QejBnZEdocGN5NTZaWEp2Y3loT0lDb2dUaWs3WEc0Z0lDQWdJQ0JzWlhRZ2NYTjFiU0E5SURBdU1EdGNiaUFnSUNBZ0lHWnZjaUFvYkdWMElHa2dQU0F3T3lCcElEd2dUanNnYVNzcktTQjdYRzRnSUNBZ0lDQWdJR1p2Y2lBb2JHVjBJR29nUFNCcElDc2dNVHNnYWlBOElFNDdJR29yS3lrZ2UxeHVJQ0FnSUNBZ0lDQWdJR052Ym5OMElHUnpkVzBnUFNCdVpYY2dRWEp5WVhrb1pHbHRLUzV5WldSMVkyVW9LSEJ5WlhZc0lGOHNJR1FwSUQwK0lIQnlaWFlnS3lCTllYUm9MbkJ2ZHloWlcybGRXMlJkSUMwZ1dWdHFYVnRrWFN3Z01pa3NJREFwTzF4dUlDQWdJQ0FnSUNBZ0lHTnZibk4wSUhGMUlEMGdNUzR3SUM4Z0tERXVNQ0FySUdSemRXMHBPeUF2THlCVGRIVmtaVzUwSUhRdFpHbHpkSEpwWW5WMGFXOXVYRzRnSUNBZ0lDQWdJQ0FnZEdocGN5NXhkVUZ5Y2x0cElDb2dUaUFySUdwZElEMGdjWFU3WEc0Z0lDQWdJQ0FnSUNBZ2RHaHBjeTV4ZFVGeWNsdHFJQ29nVGlBcklHbGRJRDBnY1hVN1hHNGdJQ0FnSUNBZ0lDQWdjWE4xYlNBclBTQXlJQ29nY1hVN1hHNGdJQ0FnSUNBZ0lIMWNiaUFnSUNBZ0lIMWNiaUFnSUNBZ0lDOHZJRzV2Y20xaGJHbDZaU0JSSUdScGMzUnlhV0oxZEdsdmJpQjBieUJ6ZFcwZ2RHOGdNVnh1SUNBZ0lDQWdMeTlqYjI1emRDQk9UaUE5SUU0Z0tpQk9PMXh1SUNBZ0lDQWdMeTlqYjI1emRDQlJJRDBnZEdocGN5NTZaWEp2Y3loT1RpazdYRzRnSUNBZ0lDQnNaWFFnWTI5emRDQTlJREF1TUR0Y2JpQWdJQ0FnSUdOdmJuTjBJR2R5WVdRZ1BTQnVaWGNnUVhKeVlYa29UaWt1Wm1sc2JDaHVkV3hzS1M1dFlYQW9LQ2tnUFQ0Z0tHNWxkeUJHYkc5aGRETXlRWEp5WVhrb1pHbHRLU2t1Wm1sc2JDZ3dMakFwS1R0Y2JpQWdJQ0FnSUdadmNpQW9iR1YwSUdrZ1BTQXdPeUJwSUR3Z1Rqc2dhU3NyS1NCN1hHNGdJQ0FnSUNBZ0lDOHZJR052Ym5OMElHZHpkVzBnUFNCdVpYY2dSbXh2WVhRek1rRnljbUY1S0dScGJTa3VabWxzYkNnd0xqQXBPeUF2THlCcGJtbDBJR2R5WVdRZ1ptOXlJSEJ2YVc1MElHbGNiaUFnSUNBZ0lDQWdabTl5SUNoc1pYUWdhaUE5SUdrZ0t5QXhPeUJxSUR3Z1Rqc2dhaXNyS1NCN1hHNGdJQ0FnSUNBZ0lDQWdZMjl1YzNRZ1VTQTlJRTFoZEdndWJXRjRLSFJvYVhNdWNYVkJjbkpiYVNBcUlFNGdLeUJxWFNBdklIRnpkVzBzSURGbExURXdNQ2s3WEc0Z0lDQWdJQ0FnSUNBZ1kyOXpkQ0FyUFNBb0xTQlFXMmtnS2lCT0lDc2dhbDBnS2lCTllYUm9MbXh2WnloUktTa2dLaUF5T3lBdkx5QmhZMk4xYlhWc1lYUmxJR052YzNRZ0tIUm9aU0J1YjI0dFkyOXVjM1JoYm5RZ2NHOXlkR2x2YmlCaGRDQnNaV0Z6ZEM0dUxpbGNiaUFnSUNBZ0lDQWdJQ0JqYjI1emRDQndjbVZ0ZFd4MElEMGdOQ0FxSUNod2JYVnNJQ29nVUZ0cElDb2dUaUFySUdwZElDMGdVU2tnS2lCMGFHbHpMbkYxUVhKeVcya2dLaUJPSUNzZ2FsMDdYRzRnSUNBZ0lDQWdJQ0FnTHk5amIyNXpiMnhsTG14dlp5aHdjbVZ0ZFd4MExDQlJMQ0JwTENCcUtUdGNiaUFnSUNBZ0lDQWdJQ0JtYjNJZ0tHeGxkQ0JrSUQwZ01Ec2daQ0E4SUdScGJUc2daQ3NyS1NCN1hHNGdJQ0FnSUNBZ0lDQWdJQ0JuY21Ga1cybGRXMlJkSUNzOUlIQnlaVzExYkhRZ0tpQW9XVnRwWFZ0a1hTQXRJRmxiYWwxYlpGMHBPMXh1SUNBZ0lDQWdJQ0FnSUNBZ1ozSmhaRnRxWFZ0a1hTQXJQU0J3Y21WdGRXeDBJQ29nS0ZsYmFsMWJaRjBnTFNCWlcybGRXMlJkS1R0Y2JpQWdJQ0FnSUNBZ0lDQjlYRzRnSUNBZ0lDQWdJSDFjYmlBZ0lDQWdJQ0FnTHk5bmNtRmtXMmxkSUQwZ1ozTjFiVHRjYmlBZ0lDQWdJSDFjYmx4dUlDQWdJQ0FnY21WMGRYSnVJSHRqYjNOMExDQm5jbUZrZlR0Y2JpQWdJQ0I5WEc1OVhHNGlYWDA9IiwiLyoqIFByb3h5IGZvciBEaXN0YW5jZU1hdHJpeCBjbGFzcy4gQWxsb3dzIHRvIGluZGV4IG1hdHJpeCBhcyBtYXRyaXhbaV1bal1cbiAqIE5vdGU6IG11Y2ggc2xvd2VyIHRoYW4gZGlyZWN0IGluZGV4aW5nLCBidXQgc3RpbGwgbXVjaCBmYXN0ZXIgdGhhbiByZWNhbGN1bGF0aW5nIGRpc3RhbmNlcy5cbiAqIHdpbGwgYmUgdXNlZCBmb3IgVC1TTkUgbWFpbmx5LlxuICogQHBhcmFtIHtGbG9hdDMyQXJyYXl9Y29uZGVuc2VkQXJyYXkgLSBhcnJheSBvZiBkaXN0YW5jZXMgYmV0d2VlbiBhbGwgcGFpcnMgb2Ygb2JqZWN0c1xuICogQHBhcmFtIHtudW1iZXJ9c2l6ZSAtIG51bWJlciBvZiBjb21wYXJlYmxlcyBpbiBtYXRyaXhcbiAqIEByZXR1cm4ge0Zsb2F0MzJBcnJheX0gLSBwcm94eSBmb3IgY29uZGVuc2VkQXJyYXlcbiovXG5leHBvcnQgZnVuY3Rpb24gZGlzdGFuY2VNYXRyaXhQcm94eShjb25kZW5zZWRBcnJheSwgc2l6ZSkge1xuICAgIGNvbnN0IGxpbmVhckZ1bmMgPSBkbUxpbmVhckluZGV4KHNpemUpO1xuICAgIGZ1bmN0aW9uIGxpbmVhckluZGV4KGksIGopIHtcbiAgICAgICAgY29uc3QgaU51bSA9IE51bWJlcihpKTtcbiAgICAgICAgY29uc3Qgak51bSA9IE51bWJlcihqKTtcbiAgICAgICAgcmV0dXJuIGxpbmVhckZ1bmMoaU51bSwgak51bSk7XG4gICAgfVxuICAgIGZ1bmN0aW9uIGlkeDJIYW5kbGVyKGlkeDEpIHtcbiAgICAgICAgcmV0dXJuICh7XG4gICAgICAgICAgICBnZXQodGFyZ2V0LCBpZHgyLCBfcmVjZWl2ZXIpIHtcbiAgICAgICAgICAgICAgICBpZiAoaWR4MSA9PT0gaWR4MilcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDA7XG4gICAgICAgICAgICAgICAgY29uc3QgbGluZWFySWR4ID0gTnVtYmVyKGlkeDEpID4gTnVtYmVyKGlkeDIpID8gbGluZWFySW5kZXgoaWR4MiwgaWR4MSkgOiBsaW5lYXJJbmRleChpZHgxLCBpZHgyKTtcbiAgICAgICAgICAgICAgICByZXR1cm4gdGFyZ2V0W2xpbmVhcklkeF07XG4gICAgICAgICAgICB9LFxuICAgICAgICB9KTtcbiAgICB9XG4gICAgY29uc3QgaWR4MUhhbmRsZXIgPSB7XG4gICAgICAgIGdldCh0YXJnZXQsIGlkeDEsIF9yZWNlaXZlcikge1xuICAgICAgICAgICAgaWYgKGlkeDEgPT09ICdsZW5ndGgnKVxuICAgICAgICAgICAgICAgIHJldHVybiBzaXplO1xuICAgICAgICAgICAgcmV0dXJuIG5ldyBQcm94eSh0YXJnZXQsIGlkeDJIYW5kbGVyKGlkeDEpKTtcbiAgICAgICAgfSxcbiAgICB9O1xuICAgIHJldHVybiBuZXcgUHJveHkoY29uZGVuc2VkQXJyYXksIGlkeDFIYW5kbGVyKTtcbn1cbmV4cG9ydCBmdW5jdGlvbiBkbUxpbmVhckluZGV4KHNpemUpIHtcbiAgICByZXR1cm4gKGksIGopID0+IHNpemUgKiBpICsgaiAtIE1hdGguZmxvb3IoKChpICsgMikgKiAoaSArIDEpKSAvIDIpO1xufVxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKbWFXeGxJam9pY0hKdmVIa3Vhbk1pTENKemIzVnlZMlZTYjI5MElqb2lJaXdpYzI5MWNtTmxjeUk2V3lKd2NtOTRlUzUwY3lKZExDSnVZVzFsY3lJNlcxMHNJbTFoY0hCcGJtZHpJam9pUVVGRlFUczdPenM3TzBWQlRVVTdRVUZEUml4TlFVRk5MRlZCUVZVc2JVSkJRVzFDTEVOQlFVTXNZMEZCTkVJc1JVRkJSU3hKUVVGWk8wbEJRelZGTEUxQlFVMHNWVUZCVlN4SFFVRkhMR0ZCUVdFc1EwRkJReXhKUVVGSkxFTkJRVU1zUTBGQlF6dEpRVU4yUXl4VFFVRlRMRmRCUVZjc1EwRkJReXhEUVVGclFpeEZRVUZGTEVOQlFXdENPMUZCUTNwRUxFMUJRVTBzU1VGQlNTeEhRVUZITEUxQlFVMHNRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJRenRSUVVOMlFpeE5RVUZOTEVsQlFVa3NSMEZCUnl4TlFVRk5MRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU03VVVGRGRrSXNUMEZCVHl4VlFVRlZMRU5CUVVNc1NVRkJTU3hGUVVGRkxFbEJRVWtzUTBGQlF5eERRVUZETzBsQlEyaERMRU5CUVVNN1NVRkZSQ3hUUVVGVExGZEJRVmNzUTBGQlF5eEpRVUZ4UWp0UlFVTjRReXhQUVVGUExFTkJRMHc3V1VGRFJTeEhRVUZITEVOQlFVTXNUVUZCVFN4RlFVRkZMRWxCUVVrc1JVRkJSU3hUUVVGVE8yZENRVU42UWl4SlFVRkpMRWxCUVVrc1MwRkJTeXhKUVVGSk8yOUNRVUZGTEU5QlFVOHNRMEZCUXl4RFFVRkRPMmRDUVVNMVFpeE5RVUZOTEZOQlFWTXNSMEZCUnl4TlFVRk5MRU5CUVVNc1NVRkJTU3hEUVVGRExFZEJRVWNzVFVGQlRTeERRVUZETEVsQlFVa3NRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJReXhYUVVGWExFTkJRVU1zU1VGQlNTeEZRVUZGTEVsQlFVa3NRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJReXhYUVVGWExFTkJRVU1zU1VGQlNTeEZRVUZGTEVsQlFVa3NRMEZCUXl4RFFVRkRPMmRDUVVOc1J5eFBRVUZQTEUxQlFVMHNRMEZCUXl4VFFVRlRMRU5CUVVNc1EwRkJRenRaUVVNelFpeERRVUZETzFOQlEwWXNRMEZEUml4RFFVRkRPMGxCUTBvc1EwRkJRenRKUVVORUxFMUJRVTBzVjBGQlZ5eEhRVUVyUWp0UlFVTTVReXhIUVVGSExFTkJRVU1zVFVGQlRTeEZRVUZGTEVsQlFVa3NSVUZCUlN4VFFVRlRPMWxCUTNwQ0xFbEJRVWtzU1VGQlNTeExRVUZMTEZGQlFWRTdaMEpCUVVVc1QwRkJUeXhKUVVGSkxFTkJRVU03V1VGRGJrTXNUMEZCVHl4SlFVRkpMRXRCUVVzc1EwRkJReXhOUVVGTkxFVkJRVVVzVjBGQlZ5eERRVUZETEVsQlFVa3NRMEZCUXl4RFFVRkRMRU5CUVVNN1VVRkRPVU1zUTBGQlF6dExRVU5HTEVOQlFVTTdTVUZGUml4UFFVRlBMRWxCUVVrc1MwRkJTeXhEUVVGRExHTkJRV01zUlVGQlJTeFhRVUZYTEVOQlFVTXNRMEZCUXp0QlFVTm9SQ3hEUVVGRE8wRkJSVVFzVFVGQlRTeFZRVUZWTEdGQlFXRXNRMEZCUXl4SlFVRlpPMGxCUTNoRExFOUJRVThzUTBGQlF5eERRVUZUTEVWQlFVVXNRMEZCVXl4RlFVRkZMRVZCUVVVc1EwRkJReXhKUVVGSkxFZEJRVWNzUTBGQlF5eEhRVUZITEVOQlFVTXNSMEZCUnl4SlFVRkpMRU5CUVVNc1MwRkJTeXhEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETEVkQlFVY3NRMEZCUXl4RFFVRkRMRWRCUVVjc1EwRkJReXhEUVVGRExFZEJRVWNzUTBGQlF5eERRVUZETEVOQlFVTXNSMEZCUnl4RFFVRkRMRU5CUVVNc1EwRkJRenRCUVVOMFJpeERRVUZESWl3aWMyOTFjbU5sYzBOdmJuUmxiblFpT2xzaVhHNWNiaThxS2lCUWNtOTRlU0JtYjNJZ1JHbHpkR0Z1WTJWTllYUnlhWGdnWTJ4aGMzTXVJRUZzYkc5M2N5QjBieUJwYm1SbGVDQnRZWFJ5YVhnZ1lYTWdiV0YwY21sNFcybGRXMnBkWEc0Z0tpQk9iM1JsT2lCdGRXTm9JSE5zYjNkbGNpQjBhR0Z1SUdScGNtVmpkQ0JwYm1SbGVHbHVaeXdnWW5WMElITjBhV3hzSUcxMVkyZ2dabUZ6ZEdWeUlIUm9ZVzRnY21WallXeGpkV3hoZEdsdVp5QmthWE4wWVc1alpYTXVYRzRnS2lCM2FXeHNJR0psSUhWelpXUWdabTl5SUZRdFUwNUZJRzFoYVc1c2VTNWNiaUFxSUVCd1lYSmhiU0I3Um14dllYUXpNa0Z5Y21GNWZXTnZibVJsYm5ObFpFRnljbUY1SUMwZ1lYSnlZWGtnYjJZZ1pHbHpkR0Z1WTJWeklHSmxkSGRsWlc0Z1lXeHNJSEJoYVhKeklHOW1JRzlpYW1WamRITmNiaUFxSUVCd1lYSmhiU0I3Ym5WdFltVnlmWE5wZW1VZ0xTQnVkVzFpWlhJZ2IyWWdZMjl0Y0dGeVpXSnNaWE1nYVc0Z2JXRjBjbWw0WEc0Z0tpQkFjbVYwZFhKdUlIdEdiRzloZERNeVFYSnlZWGw5SUMwZ2NISnZlSGtnWm05eUlHTnZibVJsYm5ObFpFRnljbUY1WEc0cUwxeHVaWGh3YjNKMElHWjFibU4wYVc5dUlHUnBjM1JoYm1ObFRXRjBjbWw0VUhKdmVIa29ZMjl1WkdWdWMyVmtRWEp5WVhrNklFWnNiMkYwTXpKQmNuSmhlU3dnYzJsNlpUb2diblZ0WW1WeUtUb2dSbXh2WVhRek1rRnljbUY1SUh0Y2JpQWdZMjl1YzNRZ2JHbHVaV0Z5Um5WdVl5QTlJR1J0VEdsdVpXRnlTVzVrWlhnb2MybDZaU2s3WEc0Z0lHWjFibU4wYVc5dUlHeHBibVZoY2tsdVpHVjRLR2s2SUhONWJXSnZiQ0I4SUhOMGNtbHVaeXdnYWpvZ2MzbHRZbTlzSUh3Z2MzUnlhVzVuS1NCN1hHNGdJQ0FnWTI5dWMzUWdhVTUxYlNBOUlFNTFiV0psY2locEtUdGNiaUFnSUNCamIyNXpkQ0JxVG5WdElEMGdUblZ0WW1WeUtHb3BPMXh1SUNBZ0lISmxkSFZ5YmlCc2FXNWxZWEpHZFc1aktHbE9kVzBzSUdwT2RXMHBPMXh1SUNCOVhHNWNiaUFnWm5WdVkzUnBiMjRnYVdSNE1raGhibVJzWlhJb2FXUjRNVG9nYzNsdFltOXNJSHdnYzNSeWFXNW5LVHBRY205NGVVaGhibVJzWlhJOFJteHZZWFF6TWtGeWNtRjVQaUI3WEc0Z0lDQWdjbVYwZFhKdUlDaGNiaUFnSUNBZ0lIdGNiaUFnSUNBZ0lDQWdaMlYwS0hSaGNtZGxkQ3dnYVdSNE1pd2dYM0psWTJWcGRtVnlLU0I3WEc0Z0lDQWdJQ0FnSUNBZ2FXWWdLR2xrZURFZ1BUMDlJR2xrZURJcElISmxkSFZ5YmlBd08xeHVJQ0FnSUNBZ0lDQWdJR052Ym5OMElHeHBibVZoY2tsa2VDQTlJRTUxYldKbGNpaHBaSGd4S1NBK0lFNTFiV0psY2locFpIZ3lLU0EvSUd4cGJtVmhja2x1WkdWNEtHbGtlRElzSUdsa2VERXBJRG9nYkdsdVpXRnlTVzVrWlhnb2FXUjRNU3dnYVdSNE1pazdYRzRnSUNBZ0lDQWdJQ0FnY21WMGRYSnVJSFJoY21kbGRGdHNhVzVsWVhKSlpIaGRPMXh1SUNBZ0lDQWdJQ0I5TEZ4dUlDQWdJQ0FnZlZ4dUlDQWdJQ2s3WEc0Z0lIMWNiaUFnWTI5dWMzUWdhV1I0TVVoaGJtUnNaWEk2SUZCeWIzaDVTR0Z1Wkd4bGNqeEdiRzloZERNeVFYSnlZWGsrSUQwZ2UxeHVJQ0FnSUdkbGRDaDBZWEpuWlhRc0lHbGtlREVzSUY5eVpXTmxhWFpsY2lrZ2UxeHVJQ0FnSUNBZ2FXWWdLR2xrZURFZ1BUMDlJQ2RzWlc1bmRHZ25LU0J5WlhSMWNtNGdjMmw2WlR0Y2JpQWdJQ0FnSUhKbGRIVnliaUJ1WlhjZ1VISnZlSGtvZEdGeVoyVjBMQ0JwWkhneVNHRnVaR3hsY2locFpIZ3hLU2s3WEc0Z0lDQWdmU3hjYmlBZ2ZUdGNibHh1SUNCeVpYUjFjbTRnYm1WM0lGQnliM2g1S0dOdmJtUmxibk5sWkVGeWNtRjVMQ0JwWkhneFNHRnVaR3hsY2lrN1hHNTlYRzVjYm1WNGNHOXlkQ0JtZFc1amRHbHZiaUJrYlV4cGJtVmhja2x1WkdWNEtITnBlbVU2SUc1MWJXSmxjaWs2SUNocE9pQnVkVzFpWlhJc0lHbzZJRzUxYldKbGNpa2dQVDRnYm5WdFltVnlJSHRjYmlBZ2NtVjBkWEp1SUNocE9pQnVkVzFpWlhJc0lHbzZJRzUxYldKbGNpa2dQVDRnYzJsNlpTQXFJR2tnS3lCcUlDMGdUV0YwYUM1bWJHOXZjaWdvS0drZ0t5QXlLU0FxSUNocElDc2dNU2twSUM4Z01pazdYRzU5WEc0aVhYMD0iLCJpbXBvcnQgeyBWZWN0b3IgfSBmcm9tICdAZGF0YWdyb2stbGlicmFyaWVzL3V0aWxzL3NyYy90eXBlLWRlY2xhcmF0aW9ucyc7XG5pbXBvcnQgeyBBdmFpbGFibGVNZXRyaWNzLCBNZWFzdXJlLCBpc0JpdEFycmF5TWV0cmljIH0gZnJvbSAnLi4vdHlwZWQtbWV0cmljcyc7XG5pbXBvcnQgeyBEaXN0YW5jZU1hdHJpeFNlcnZpY2UgfSBmcm9tICcuLi9kaXN0YW5jZS1tYXRyaXgnO1xuaW1wb3J0IHsgVU1BUCB9IGZyb20gJy4uL3VtYXAnO1xuaW1wb3J0IHsgYXNzZXJ0LCB0cmFuc3Bvc2VNYXRyaXggfSBmcm9tICdAZGF0YWdyb2stbGlicmFyaWVzL3V0aWxzL3NyYy92ZWN0b3Itb3BlcmF0aW9ucyc7XG5pbXBvcnQgeyBTcGFyc2VNYXRyaXhTZXJ2aWNlIH0gZnJvbSAnLi4vZGlzdGFuY2UtbWF0cml4L3NwYXJzZS1tYXRyaXgtc2VydmljZSc7XG5pbXBvcnQgQml0QXJyYXkgZnJvbSAnQGRhdGFncm9rLWxpYnJhcmllcy91dGlscy9zcmMvYml0LWFycmF5JztcbmltcG9ydCBzZWVkUmFuZG9tIGZyb20gJ3NlZWRyYW5kb20nO1xuLy9pbXBvcnQge1RTTkV9IGZyb20gJ0BrZWNrZWx0L3RzbmUnO1xuaW1wb3J0IHsgVFNORSB9IGZyb20gJy4uL3Qtc25lL3Qtc25lJztcbmNsYXNzIE11bHRpQ29sdW1uUmVkdWNlciB7XG4gICAgZGF0YTtcbiAgICB3ZWlnaHRzO1xuICAgIGFnZ3JlZ2F0aW9uTWV0aG9kO1xuICAgIGNvbnN0cnVjdG9yKG9wdGlvbnMpIHtcbiAgICAgICAgdGhpcy5kYXRhID0gb3B0aW9ucy5kYXRhO1xuICAgICAgICB0aGlzLndlaWdodHMgPSBvcHRpb25zLndlaWdodHM7XG4gICAgICAgIHRoaXMuYWdncmVnYXRpb25NZXRob2QgPSBvcHRpb25zLmFnZ3JlZ2F0aW9uTWV0aG9kO1xuICAgIH1cbn1cbmNsYXNzIFRTTkVSZWR1Y2VyIGV4dGVuZHMgTXVsdGlDb2x1bW5SZWR1Y2VyIHtcbiAgICByZWR1Y2VyO1xuICAgIGl0ZXJhdGlvbnM7XG4gICAgZGlzdGFuY2VGbmFtZXM7XG4gICAgZGlzdGFuY2VGbnM7XG4gICAgZGlzdGFuY2VGbkFyZ3M7XG4gICAgcHJvZ3Jlc3NGdW5jO1xuICAgIC8qKlxuICAgICAqIENyZWF0ZXMgYW4gaW5zdGFuY2Ugb2YgVFNORVJlZHVjZXIuXG4gICAgICogQHBhcmFtIHtPcHRpb25zfSBvcHRpb25zIE9wdGlvbnMgdG8gcGFzcyB0byB0aGUgY29uc3RydWN0b3IuXG4gICAgICogQG1lbWJlcm9mIFRTTkVSZWR1Y2VyXG4gICAgICovXG4gICAgY29uc3RydWN0b3Iob3B0aW9ucykge1xuICAgICAgICBzdXBlcihvcHRpb25zKTtcbiAgICAgICAgY29uc3QgcmFuZG9tU2VlZCA9IG9wdGlvbnMucmFuZG9tU2VlZCA/PyBEYXRlKCk7XG4gICAgICAgIGNvbnN0IHJhbmRvbUZuID0gc2VlZFJhbmRvbShyYW5kb21TZWVkKTtcbiAgICAgICAgb3B0aW9ucy5yYW5kb20gPSByYW5kb21GbjtcbiAgICAgICAgdGhpcy5yZWR1Y2VyID0gbmV3IFRTTkUob3B0aW9ucyk7XG4gICAgICAgIHRoaXMuaXRlcmF0aW9ucyA9IG9wdGlvbnM/Lml0ZXJhdGlvbnMgPz8gdGhpcy5yZWR1Y2VyLmdldEl0ZXJTaXplKHRoaXMuZGF0YVswXS5sZW5ndGgpO1xuICAgICAgICB0aGlzLmRpc3RhbmNlRm5hbWVzID0gb3B0aW9ucy5kaXN0YW5jZUZuYW1lcztcbiAgICAgICAgdGhpcy5kaXN0YW5jZUZucyA9IG9wdGlvbnMuZGlzdGFuY2VGbnM7XG4gICAgICAgIHRoaXMuZGlzdGFuY2VGbkFyZ3MgPSBvcHRpb25zLmRpc3RhbmNlRm5BcmdzO1xuICAgICAgICB0aGlzLnByb2dyZXNzRnVuYyA9IG9wdGlvbnMucHJvZ3Jlc3NGdW5jO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBFbWJlZHMgdGhlIGRhdGEgZ2l2ZW4gaW50byB0aGUgdHdvLWRpbWVuc2lvbmFsIHNwYWNlIHVzaW5nIHQtU05FIG1ldGhvZC5cXFxuICAgICAqIEBwYXJhbSB7Ym9vbGVhbn0gW3BhcmFsbGVsRGlzdGFuY2VXb3JrZXJzXSBXaGV0aGVyIHRvIHVzZSBwYXJhbGxlbCBkaXN0YW5jZSB3b3JrZXJzLlxuICAgICAqIEByZXR1cm4ge2FueX0gQ2FydGVzaWFuIGNvb3JkaW5hdGUgb2YgdGhpcyBlbWJlZGRpbmcgYW5kIGRpc3RhbmNlIG1hdHJpeCB3aGVyZSBhcHBsaWNhYmxlLlxuICAgICAqL1xuICAgIGFzeW5jIHRyYW5zZm9ybSgpIHtcbiAgICAgICAgaWYgKHRoaXMuZGF0YVswXS5sZW5ndGggPiAxMDAwMClcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignTWF4aW11bSBudW1iZXIgb2Ygc2FtcGxlcyBmb3IgVC1TTkUgaXMgMTAwMDAnKTtcbiAgICAgICAgY29uc3QgbWF0cml4U2VydmljZSA9IG5ldyBEaXN0YW5jZU1hdHJpeFNlcnZpY2UodHJ1ZSwgZmFsc2UpO1xuICAgICAgICB0cnkge1xuICAgICAgICAgICAgLy8gY29uc3QgYWdncmVnYXRlID0gZ2V0QWdncmVnYXRpb25GdW5jdGlvbih0aGlzLmFnZ3JlZ2F0aW9uTWV0aG9kLCB0aGlzLndlaWdodHMpO1xuICAgICAgICAgICAgLy8gY29uc3QgZGlzdGFuY2VzOiBBcnJheTxGbG9hdDMyQXJyYXk+ID0gW107XG4gICAgICAgICAgICAvLyBmb3IgKGxldCBpID0gMDsgaSA8IHRoaXMuZGF0YS5sZW5ndGg7ICsraSkge1xuICAgICAgICAgICAgLy8gICBjb25zdCBkaXN0ID0gYXdhaXQgbWF0cml4U2VydmljZS5jYWxjKHRoaXMuZGF0YVtpXSwgdGhpcy5kaXN0YW5jZUZuYW1lc1tpXSwgZmFsc2UsIHRoaXMuZGlzdGFuY2VGbkFyZ3NbaV0pO1xuICAgICAgICAgICAgLy8gICBkaXN0YW5jZXMucHVzaChkaXN0KTtcbiAgICAgICAgICAgIC8vIH1cbiAgICAgICAgICAgIC8vIGNvbnN0IGRpc3RhbmNlID0gbmV3IEZsb2F0MzJBcnJheShkaXN0YW5jZXNbMF0ubGVuZ3RoKS5maWxsKDApO1xuICAgICAgICAgICAgLy8gZm9yIChsZXQgaSA9IDA7IGkgPCBkaXN0YW5jZXNbMF0ubGVuZ3RoOyArK2kpXG4gICAgICAgICAgICAvLyAgIGRpc3RhbmNlW2ldID0gYWdncmVnYXRlKGRpc3RhbmNlcy5tYXAoKGQpID0+IGRbaV0pKTtcbiAgICAgICAgICAgIGNvbnN0IGRpc3RhbmNlID0gYXdhaXQgbWF0cml4U2VydmljZS5jYWxjTXVsdGkodGhpcy5kYXRhLCB0aGlzLmRpc3RhbmNlRm5hbWVzLCBmYWxzZSwgdGhpcy5kaXN0YW5jZUZuQXJncywgdGhpcy53ZWlnaHRzLCB0aGlzLmFnZ3JlZ2F0aW9uTWV0aG9kKTtcbiAgICAgICAgICAgIG1hdHJpeFNlcnZpY2UudGVybWluYXRlKCk7XG4gICAgICAgICAgICAvLyBjb25zdCBtYXRyaXhQcm94eSA9IGRpc3RhbmNlTWF0cml4UHJveHkoZGlzdGFuY2UsIHRoaXMuZGF0YVswXS5sZW5ndGgpO1xuICAgICAgICAgICAgdGhpcy5yZWR1Y2VyLmluaXREYXRhRGlzdChkaXN0YW5jZSwgdGhpcy5kYXRhWzBdLmxlbmd0aCk7XG4gICAgICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IHRoaXMuaXRlcmF0aW9uczsgKytpKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5yZWR1Y2VyLnN0ZXAoKTsgLy8gZXZlcnkgdGltZSB5b3UgY2FsbCB0aGlzLCBzb2x1dGlvbiBnZXRzIGJldHRlclxuICAgICAgICAgICAgICAgIGlmICh0aGlzLnByb2dyZXNzRnVuYylcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5wcm9ncmVzc0Z1bmMoaSwgdGhpcy5pdGVyYXRpb25zLCBbXSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5yZWR1Y2VyLmdldFNvbHV0aW9uKCk7XG4gICAgICAgIH1cbiAgICAgICAgY2F0Y2ggKGUpIHtcbiAgICAgICAgICAgIG1hdHJpeFNlcnZpY2UudGVybWluYXRlKCk7XG4gICAgICAgICAgICB0aHJvdyBlO1xuICAgICAgICB9XG4gICAgfVxufVxuY2xhc3MgVU1BUFJlZHVjZXIgZXh0ZW5kcyBNdWx0aUNvbHVtblJlZHVjZXIge1xuICAgIHJlZHVjZXI7XG4gICAgZGlzdGFuY2VGbmFtZXM7XG4gICAgZGlzdGFuY2VGbnM7XG4gICAgdmVjdG9ycztcbiAgICBwcm9ncmVzc0Z1bmM7XG4gICAgZGlzdGFuY2VGbkFyZ3M7XG4gICAgLyoqXG4gICAgICogQ3JlYXRlcyBhbiBpbnN0YW5jZSBvZiBVTUFQUmVkdWNlci5cbiAgICAgKiBAcGFyYW0ge09wdGlvbnN9IG9wdGlvbnMgT3B0aW9ucyB0byBwYXNzIHRvIHRoZSBjb25zdHJ1Y3Rvci5cbiAgICAgKiBAbWVtYmVyb2YgVU1BUFJlZHVjZXJcbiAgICAgKi9cbiAgICBjb25zdHJ1Y3RvcihvcHRpb25zKSB7XG4gICAgICAgIGNvbnN0IHJhbmRvbVNlZWQgPSBvcHRpb25zLnJhbmRvbVNlZWQgPz8gRGF0ZSgpO1xuICAgICAgICBjb25zdCByYW5kb21GbiA9IHNlZWRSYW5kb20ocmFuZG9tU2VlZCk7XG4gICAgICAgIHN1cGVyKG9wdGlvbnMpO1xuICAgICAgICBhc3NlcnQoJ2Rpc3RhbmNlRm5hbWVzJyBpbiBvcHRpb25zKTtcbiAgICAgICAgYXNzZXJ0KCdkaXN0YW5jZUZucycgaW4gb3B0aW9ucyk7XG4gICAgICAgIHRoaXMuZGlzdGFuY2VGbkFyZ3MgPSBvcHRpb25zLmRpc3RhbmNlRm5BcmdzO1xuICAgICAgICB0aGlzLmRpc3RhbmNlRm5zID0gb3B0aW9ucy5kaXN0YW5jZUZucztcbiAgICAgICAgdGhpcy5wcm9ncmVzc0Z1bmMgPSBvcHRpb25zLnByb2dyZXNzRnVuYztcbiAgICAgICAgdGhpcy5kaXN0YW5jZUZuYW1lcyA9IG9wdGlvbnMuZGlzdGFuY2VGbmFtZXM7XG4gICAgICAgIC8vVW1hcCB1c2VzIHZlY3RvciBpbmRleGluZywgc28gd2UgbmVlZCB0byBjcmVhdGUgYW4gYXJyYXkgb2YgdmVjdG9ycyBhcyBpbmRlY2VzLlxuICAgICAgICB0aGlzLnZlY3RvcnMgPSBuZXcgQXJyYXkodGhpcy5kYXRhWzBdLmxlbmd0aCkuZmlsbCgwKS5tYXAoKF8sIGkpID0+IGkpO1xuICAgICAgICBpZiAodGhpcy5kYXRhWzBdLmxlbmd0aCA8IDE1KVxuICAgICAgICAgICAgb3B0aW9ucy5uTmVpZ2hib3JzID0gdGhpcy5kYXRhWzBdLmxlbmd0aCAtIDE7XG4gICAgICAgIG9wdGlvbnMucmFuZG9tID0gcmFuZG9tRm47XG4gICAgICAgIHRoaXMucmVkdWNlciA9IG5ldyBVTUFQKG9wdGlvbnMpO1xuICAgICAgICAvLyB0aGlzLnJlZHVjZXIuZGlzdGFuY2VGbiA9IHRoaXMuX2VuY29kZWREaXN0YW5jZS5iaW5kKHRoaXMpO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBFbWJlZHMgdGhlIGRhdGEgZ2l2ZW4gaW50byB0aGUgdHdvLWRpbWVuc2lvbmFsIHNwYWNlIHVzaW5nIFVNQVAgbWV0aG9kLlxuICAgICAqIEBwYXJhbSB7Ym9vbGVhbn0gW19wYXJhbGxlbERpc3RhbmNlV29ya2Vyc10gV2hldGhlciB0byB1c2UgcGFyYWxsZWwgZGlzdGFuY2UgbWF0cml4IHdvcmtlcnMuXG4gICAgICogQHJldHVybiB7YW55fSBDYXJ0ZXNpYW4gY29vcmRpbmF0ZSBvZiB0aGlzIGVtYmVkZGluZy5cbiAgICAgKi9cbiAgICBhc3luYyB0cmFuc2Zvcm0oX3BhcmFsbGVsRGlzdGFuY2VXb3JrZXJzKSB7XG4gICAgICAgIGNvbnNvbGUudGltZSgna25uIGdyYXBoJyk7XG4gICAgICAgIGNvbnN0IGtublJlcyA9IGF3YWl0IG5ldyBTcGFyc2VNYXRyaXhTZXJ2aWNlKClcbiAgICAgICAgICAgIC5tdWx0aUNvbHVtbktOTih0aGlzLmRhdGEsIHRoaXMuZGlzdGFuY2VGbmFtZXMsIHRoaXMucmVkdWNlci5uZWlnaGJvcnMsIHRoaXMuZGlzdGFuY2VGbkFyZ3MsIHRoaXMud2VpZ2h0cywgdGhpcy5hZ2dyZWdhdGlvbk1ldGhvZCk7XG4gICAgICAgIGNvbnNvbGUudGltZUVuZCgna25uIGdyYXBoJyk7XG4gICAgICAgIHRoaXMucmVkdWNlci5zZXRQcmVjb21wdXRlZEtOTihrbm5SZXMua25uSW5kZXhlcywga25uUmVzLmtubkRpc3RhbmNlcyk7XG4gICAgICAgIC8vIG5lZWRlZCBzbyB0aGF0IGdhcmJhZ2UgY29sbGVjdG9yIGNhbiBmcmVlIG1lbW9yeSBmcm9tIGRpc3RhbmNlIG1hdHJpeFxuICAgICAgICBhd2FpdCBuZXcgUHJvbWlzZSgocmVzb2x2ZSkgPT4ge1xuICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgcmVzb2x2ZSgpO1xuICAgICAgICAgICAgfSwgMzAwKTtcbiAgICAgICAgfSk7XG4gICAgICAgIGNvbnN0IGVtYmVkZGluZyA9IGF3YWl0IHRoaXMucmVkdWNlci5maXRBc3luYyh0aGlzLnZlY3RvcnMsIChlcG9jKSA9PiB7XG4gICAgICAgICAgICBpZiAodGhpcy5wcm9ncmVzc0Z1bmMpXG4gICAgICAgICAgICAgICAgdGhpcy5wcm9ncmVzc0Z1bmMoZXBvYywgdGhpcy5yZWR1Y2VyLmdldE5FcG9jaHMoKSwgdGhpcy5yZWR1Y2VyLmdldEVtYmVkZGluZygpKTtcbiAgICAgICAgfSk7XG4gICAgICAgIGZ1bmN0aW9uIGFycmF5Q2FzdDJDb29yZGluYXRlcyhkYXRhKSB7XG4gICAgICAgICAgICByZXR1cm4gbmV3IEFycmF5KGRhdGEubGVuZ3RoKS5maWxsKDApLm1hcCgoXywgaSkgPT4gKFZlY3Rvci5mcm9tKGRhdGFbaV0pKSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGFycmF5Q2FzdDJDb29yZGluYXRlcyhlbWJlZGRpbmcpO1xuICAgIH1cbn1cbmNvbnN0IEF2YWlsYWJsZVJlZHVjZXJzID0ge1xuICAgICdVTUFQJzogVU1BUFJlZHVjZXIsXG4gICAgJ3QtU05FJzogVFNORVJlZHVjZXIsXG59O1xuZXhwb3J0IGNsYXNzIE11bHRpQ29sRGltUmVkdWNlciB7XG4gICAgcmVkdWNlcjtcbiAgICAvKipcbiAgICogQ3JlYXRlcyBhbiBpbnN0YW5jZSBvZiBEaW1lbnNpb25hbGl0eVJlZHVjZXIuXG4gICAqIEBwYXJhbSB7YW55W119IGRhdGEgVmVjdG9ycyB0byBlbWJlZC5cbiAgICogQHBhcmFtIHtLbm93bk1ldGhvZHN9IG1ldGhvZCBFbWJlZGRpbmcgbWV0aG9kIHRvIGJlIGFwcGxpZWRcbiAgICogQHBhcmFtIHtLbm93bk1ldHJpY3N9IG1ldHJpYyBEaXN0YW5jZSBtZXRyaWMgdG8gYmUgY29tcHV0ZWQgYmV0d2VlbiBlYWNoIG9mIHRoZSB2ZWN0b3JzLlxuICAgKiBAcGFyYW0ge09wdGlvbnN9IFtvcHRpb25zXSBPcHRpb25zIHRvIHBhc3MgdG8gdGhlIGltcGxlbWVudGluZyBlbWJlZGRlcnMuXG4gICAqIEBtZW1iZXJvZiBEaW1lbnNpb25hbGl0eVJlZHVjZXJcbiAgICovXG4gICAgY29uc3RydWN0b3IoZGF0YSwgbWV0aG9kLCBtZXRyaWNzLCB3ZWlnaHRzLCBkaXN0YW5jZUFnZ3JlZ2F0aW9uLCBvcHRpb25zKSB7XG4gICAgICAgIGNvbnN0IG1lYXN1cmVzID0gW107XG4gICAgICAgIGZvciAobGV0IGlkeCA9IDA7IGlkeCA8IG1ldHJpY3MubGVuZ3RoOyArK2lkeCkge1xuICAgICAgICAgICAgY29uc3QgbWVhc3VyZSA9IG5ldyBNZWFzdXJlKG1ldHJpY3NbaWR4XSkuZ2V0TWVhc3VyZShvcHRpb25zLmRpc3RhbmNlRm5BcmdzW2lkeF0pO1xuICAgICAgICAgICAgbWVhc3VyZXMucHVzaChtZWFzdXJlKTtcbiAgICAgICAgICAgIGxldCBiaXRBcnJheUxlbmd0aCA9IDIwNDg7XG4gICAgICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGRhdGFbaWR4XS5sZW5ndGg7ICsraSkge1xuICAgICAgICAgICAgICAgIGlmIChkYXRhW2lkeF1baV0gJiYgZGF0YVtpZHhdW2ldLl9sZW5ndGgpIHtcbiAgICAgICAgICAgICAgICAgICAgYml0QXJyYXlMZW5ndGggPSBkYXRhW2lkeF1baV0uX2xlbmd0aDtcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKGlzQml0QXJyYXlNZXRyaWMobWV0cmljc1tpZHhdKSkge1xuICAgICAgICAgICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgZGF0YVtpZHhdLmxlbmd0aDsgKytpKSB7XG4gICAgICAgICAgICAgICAgICAgIGlmIChkYXRhW2lkeF1baV0gJiYgZGF0YVtpZHhdW2ldLl9kYXRhKVxuICAgICAgICAgICAgICAgICAgICAgICAgZGF0YVtpZHhdW2ldID0gbmV3IEJpdEFycmF5KGRhdGFbaWR4XVtpXS5fZGF0YSwgZGF0YVtpZHhdW2ldLl9sZW5ndGgpO1xuICAgICAgICAgICAgICAgICAgICBlbHNlXG4gICAgICAgICAgICAgICAgICAgICAgICBkYXRhW2lkeF1baV0gPSBuZXcgQml0QXJyYXkoYml0QXJyYXlMZW5ndGgpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBpZiAobWV0aG9kID09ICdVTUFQJykge1xuICAgICAgICAgICAgdGhpcy5yZWR1Y2VyID0gbmV3IFVNQVBSZWR1Y2VyKHtcbiAgICAgICAgICAgICAgICBkYXRhOiBkYXRhLFxuICAgICAgICAgICAgICAgIGRpc3RhbmNlRm5hbWVzOiBtZXRyaWNzLFxuICAgICAgICAgICAgICAgIGRpc3RhbmNlRm5zOiBtZWFzdXJlcyxcbiAgICAgICAgICAgICAgICBkaXN0YW5jZUZuQXJnczogb3B0aW9ucy5kaXN0YW5jZUZuQXJncyxcbiAgICAgICAgICAgICAgICB3ZWlnaHRzOiB3ZWlnaHRzLFxuICAgICAgICAgICAgICAgIGFnZ3JlZ2F0aW9uTWV0aG9kOiBkaXN0YW5jZUFnZ3JlZ2F0aW9uLFxuICAgICAgICAgICAgICAgIC4uLm9wdGlvbnNcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICAgIGVsc2UgaWYgKG1ldGhvZCA9PSAndC1TTkUnKSB7XG4gICAgICAgICAgICB0aGlzLnJlZHVjZXIgPSBuZXcgVFNORVJlZHVjZXIoe1xuICAgICAgICAgICAgICAgIGRhdGE6IGRhdGEsXG4gICAgICAgICAgICAgICAgZGlzdGFuY2VGbmFtZXM6IG1ldHJpY3MsXG4gICAgICAgICAgICAgICAgZGlzdGFuY2VGbnM6IG1lYXN1cmVzLFxuICAgICAgICAgICAgICAgIGRpc3RhbmNlRm5BcmdzOiBvcHRpb25zLmRpc3RhbmNlRm5BcmdzLFxuICAgICAgICAgICAgICAgIHdlaWdodHM6IHdlaWdodHMsXG4gICAgICAgICAgICAgICAgYWdncmVnYXRpb25NZXRob2Q6IGRpc3RhbmNlQWdncmVnYXRpb24sXG4gICAgICAgICAgICAgICAgLi4ub3B0aW9uc1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLyoqXG4gICAqIEVtYmVkcyB0aGUgZGF0YSBnaXZlbiBpbnRvIHRoZSB0d28tZGltZW5zaW9uYWwgc3BhY2UgdXNpbmcgdGhlIGNob3NlbiBtZXRob2QuXG4gICAqXG4gICAqIEBwYXJhbSB7Ym9vbGVhbn0gdHJhbnNwb3NlIFdoZXRoZXIgdG8gdHJhbnNmb3JtIGNvb3JkaW5hdGVzIHRvIGhhdmUgY29sdW1ucy1maXJzdCBvcmllbnRhdGlvbi5cbiAgICogQHBhcmFtIHtib29sZWFufSBwYXJhbGxlbERpc3RhbmNlV29ya2VycyBXaGV0aGVyIHRvIHVzZSBwYXJhbGxlbCBkaXN0YW5jZSBjb21wdXRhdGlvbi5cbiAgICogQHRocm93cyB7RXJyb3J9IElmIHRoZSBlbWJlZGRpbmcgbWV0aG9kIHdhcyBub3QgZm91bmQuXG4gICAqIEByZXR1cm4ge2FueX0gQ2FydGVzaWFuIGNvb3JkaW5hdGUgb2YgdGhpcyBlbWJlZGRpbmcgYW5kIGRpc3RhbmNlIG1hdHJpeCB3aGVyZSBhcHBsaWNhYmxlLlxuICAgKiBAbWVtYmVyb2YgRGltZW5zaW9uYWxpdHlSZWR1Y2VyXG4gICAqL1xuICAgIGFzeW5jIHRyYW5zZm9ybSh0cmFuc3Bvc2UgPSBmYWxzZSkge1xuICAgICAgICBpZiAodGhpcy5yZWR1Y2VyID09PSB1bmRlZmluZWQpXG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ1JlZHVjZXIgd2FzIG5vdCBkZWZpbmVkLicpO1xuICAgICAgICBsZXQgZW1iZWRkaW5nID0gYXdhaXQgdGhpcy5yZWR1Y2VyLnRyYW5zZm9ybSgpO1xuICAgICAgICBpZiAodHJhbnNwb3NlKVxuICAgICAgICAgICAgZW1iZWRkaW5nID0gdHJhbnNwb3NlTWF0cml4KGVtYmVkZGluZyk7XG4gICAgICAgIHJldHVybiBlbWJlZGRpbmc7XG4gICAgfVxuICAgIC8qKlxuICAgKiBSZXR1cm5zIG1ldHJpY3MgYXZhaWxhYmxlIGJ5IHR5cGUuXG4gICAqXG4gICAqIEBwYXJhbSB7QXZhaWxhYmxlRGF0YVR5cGVzfSB0eXBlTmFtZSB0eXBlIG5hbWVcbiAgICogQHJldHVybiB7c3RyaW5nW119IE1ldHJpYyBuYW1lcyB3aGljaCBleHBlY3RzIHRoZSBnaXZlbiBkYXRhIHR5cGVcbiAgICogQG1lbWJlcm9mIERpbWVuc2lvbmFsaXR5UmVkdWNlclxuICAgKi9cbiAgICBzdGF0aWMgYXZhaWxhYmxlTWV0cmljc0J5VHlwZSh0eXBlTmFtZSkge1xuICAgICAgICByZXR1cm4gT2JqZWN0LmtleXMoQXZhaWxhYmxlTWV0cmljc1t0eXBlTmFtZV0pO1xuICAgIH1cbiAgICAvKipcbiAgICogUmV0dXJucyBkaW1lbnNpb25hbGl0eSByZWR1Y3Rpb24gbWV0aG9kcyBhdmFpbGFibGUuXG4gICAqXG4gICAqIEByZWFkb25seVxuICAgKiBAbWVtYmVyb2YgRGltZW5zaW9uYWxpdHlSZWR1Y2VyXG4gICAqL1xuICAgIHN0YXRpYyBnZXQgYXZhaWxhYmxlTWV0aG9kcygpIHtcbiAgICAgICAgcmV0dXJuIE9iamVjdC5rZXlzKEF2YWlsYWJsZVJlZHVjZXJzKTtcbiAgICB9XG4gICAgLyoqXG4gICAqIFJldHVybnMgbWV0cmljcyBhdmFpbGFibGUuXG4gICAqXG4gICAqIEByZWFkb25seVxuICAgKiBAbWVtYmVyb2YgRGltZW5zaW9uYWxpdHlSZWR1Y2VyXG4gICAqL1xuICAgIHN0YXRpYyBnZXQgYXZhaWxhYmxlTWV0cmljcygpIHtcbiAgICAgICAgbGV0IGFucyA9IFtdO1xuICAgICAgICBPYmplY3QudmFsdWVzKEF2YWlsYWJsZU1ldHJpY3MpLmZvckVhY2goKG9iaikgPT4ge1xuICAgICAgICAgICAgY29uc3QgYXJyYXkgPSBPYmplY3QudmFsdWVzKG9iaik7XG4gICAgICAgICAgICBhbnMgPSBbLi4uYW5zLCAuLi5hcnJheV07XG4gICAgICAgIH0pO1xuICAgICAgICByZXR1cm4gYW5zO1xuICAgIH1cbn1cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSm1hV3hsSWpvaWJYVnNkR2t0WTI5c2RXMXVMV1JwYlMxeVpXUjFZMlZ5TG1weklpd2ljMjkxY21ObFVtOXZkQ0k2SWlJc0luTnZkWEpqWlhNaU9sc2liWFZzZEdrdFkyOXNkVzF1TFdScGJTMXlaV1IxWTJWeUxuUnpJbDBzSW01aGJXVnpJanBiWFN3aWJXRndjR2x1WjNNaU9pSkJRVUZCTEU5QlFVOHNSVUZCSzBNc1RVRkJUU3hGUVVGVkxFMUJReTlFTEdsRVFVRnBSQ3hEUVVGRE8wRkJRM3BFTEU5QlFVOHNSVUZCY1VJc1owSkJRV2RDTEVWQlFXZENMRTlCUVU4c1JVRkJSU3huUWtGQlowSXNSVUZCUXl4TlFVRk5MR3RDUVVGclFpeERRVUZETzBGQlF5OUhMRTlCUVU4c1JVRkJReXh4UWtGQmNVSXNSVUZCUXl4TlFVRk5MRzlDUVVGdlFpeERRVUZETzBGQlJYcEVMRTlCUVU4c1JVRkJReXhKUVVGSkxFVkJRVU1zVFVGQlRTeFRRVUZUTEVOQlFVTTdRVUZETjBJc1QwRkJUeXhGUVVGRExFMUJRVTBzUlVGQlJTeGxRVUZsTEVWQlFVTXNUVUZCVFN4cFJFRkJhVVFzUTBGQlF6dEJRVU40Uml4UFFVRlBMRVZCUVVNc2JVSkJRVzFDTEVWQlFVTXNUVUZCVFN3d1EwRkJNRU1zUTBGQlF6dEJRVVUzUlN4UFFVRlBMRkZCUVZFc1RVRkJUU3g1UTBGQmVVTXNRMEZCUXp0QlFVTXZSQ3hQUVVGUExGVkJRVlVzVFVGQlRTeFpRVUZaTEVOQlFVTTdRVUZEY0VNc2NVTkJRWEZETzBGQlEzSkRMRTlCUVU4c1JVRkJReXhKUVVGSkxFVkJRVU1zVFVGQlRTeG5Ra0ZCWjBJc1EwRkJRenRCUVRoQ2NFTXNUVUZCWlN4clFrRkJhMEk3U1VGRGJrSXNTVUZCU1N4RFFVRlpPMGxCUTJoQ0xFOUJRVThzUTBGQlZ6dEpRVU5zUWl4cFFrRkJhVUlzUTBGQk5FSTdTVUZEZGtRc1dVRkJXU3hQUVVGblFqdFJRVU14UWl4SlFVRkpMRU5CUVVNc1NVRkJTU3hIUVVGSExFOUJRVThzUTBGQlF5eEpRVUZKTEVOQlFVTTdVVUZEZWtJc1NVRkJTU3hEUVVGRExFOUJRVThzUjBGQlJ5eFBRVUZQTEVOQlFVTXNUMEZCVHl4RFFVRkRPMUZCUXk5Q0xFbEJRVWtzUTBGQlF5eHBRa0ZCYVVJc1IwRkJSeXhQUVVGUExFTkJRVU1zYVVKQlFXbENMRU5CUVVNN1NVRkRja1FzUTBGQlF6dERRVXRLTzBGQlJVUXNUVUZCVFN4WFFVRlpMRk5CUVZFc2EwSkJRV3RDTzBsQlF6bENMRTlCUVU4c1EwRkJUenRKUVVOa0xGVkJRVlVzUTBGQlV6dEpRVU51UWl4alFVRmpMRU5CUVdsQ08wbEJReTlDTEZkQlFWY3NRMEZCYVVNN1NVRkROVU1zWTBGQll5eERRVUYxUWp0SlFVTnlReXhaUVVGWkxFTkJRWGxGTzBsQlF5OUdPenM3TzA5QlNVYzdTVUZEU0N4WlFVRlpMRTlCUVdkQ08xRkJRekZDTEV0QlFVc3NRMEZCUXl4UFFVRlBMRU5CUVVNc1EwRkJRenRSUVVObUxFMUJRVTBzVlVGQlZTeEhRVUZYTEU5QlFVOHNRMEZCUXl4VlFVRlZMRWxCUVVrc1NVRkJTU3hGUVVGRkxFTkJRVU03VVVGRGVFUXNUVUZCVFN4UlFVRlJMRWRCUVVjc1ZVRkJWU3hEUVVGRExGVkJRVlVzUTBGQlF5eERRVUZETzFGQlEzaERMRTlCUVU4c1EwRkJReXhOUVVGTkxFZEJRVWNzVVVGQlVTeERRVUZETzFGQlF6RkNMRWxCUVVrc1EwRkJReXhQUVVGUExFZEJRVWNzU1VGQlNTeEpRVUZKTEVOQlFVTXNUMEZCVHl4RFFVRkRMRU5CUVVNN1VVRkRha01zU1VGQlNTeERRVUZETEZWQlFWVXNSMEZCUnl4UFFVRlBMRVZCUVVVc1ZVRkJWU3hKUVVGSkxFbEJRVWtzUTBGQlF5eFBRVUZQTEVOQlFVTXNWMEZCVnl4RFFVRkRMRWxCUVVrc1EwRkJReXhKUVVGSkxFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTXNUVUZCVFN4RFFVRkRMRU5CUVVNN1VVRkRka1lzU1VGQlNTeERRVUZETEdOQlFXTXNSMEZCUnl4UFFVRlBMRU5CUVVNc1kwRkJZeXhEUVVGRE8xRkJRemRETEVsQlFVa3NRMEZCUXl4WFFVRlhMRWRCUVVjc1QwRkJUeXhEUVVGRExGZEJRVmNzUTBGQlF6dFJRVU4yUXl4SlFVRkpMRU5CUVVNc1kwRkJZeXhIUVVGSExFOUJRVThzUTBGQlF5eGpRVUZqTEVOQlFVTTdVVUZETjBNc1NVRkJTU3hEUVVGRExGbEJRVmtzUjBGQlJ5eFBRVUZQTEVOQlFVTXNXVUZCV1N4RFFVRkRPMGxCUXpORExFTkJRVU03U1VGRlJEczdPenRQUVVsSE8wbEJRMGtzUzBGQlN5eERRVUZETEZOQlFWTTdVVUZEY0VJc1NVRkJTU3hKUVVGSkxFTkJRVU1zU1VGQlNTeERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRMRTFCUVUwc1IwRkJSeXhMUVVGTE8xbEJRemRDTEUxQlFVMHNTVUZCU1N4TFFVRkxMRU5CUVVNc09FTkJRVGhETEVOQlFVTXNRMEZCUXp0UlFVTnNSU3hOUVVGTkxHRkJRV0VzUjBGQlJ5eEpRVUZKTEhGQ1FVRnhRaXhEUVVGRExFbEJRVWtzUlVGQlJTeExRVUZMTEVOQlFVTXNRMEZCUXp0UlFVTTNSQ3hKUVVGSk8xbEJRMFlzYTBaQlFXdEdPMWxCUTJ4R0xEWkRRVUUyUXp0WlFVTTNReXdyUTBGQkswTTdXVUZETDBNc1owaEJRV2RJTzFsQlEyaElMREJDUVVFd1FqdFpRVU14UWl4SlFVRkpPMWxCUTBvc2EwVkJRV3RGTzFsQlEyeEZMR2RFUVVGblJEdFpRVU5vUkN4NVJFRkJlVVE3V1VGRGVrUXNUVUZCVFN4UlFVRlJMRWRCUVVjc1RVRkJUU3hoUVVGaExFTkJRVU1zVTBGQlV5eERRVUZETEVsQlFVa3NRMEZCUXl4SlFVRkpMRVZCUVVVc1NVRkJTU3hEUVVGRExHTkJRV01zUlVGQlJTeExRVUZMTEVWQlFVVXNTVUZCU1N4RFFVRkRMR05CUVdNc1JVRkRka2NzU1VGQlNTeERRVUZETEU5QlFVOHNSVUZCUlN4SlFVRkpMRU5CUVVNc2FVSkJRV2xDTEVOQlFVTXNRMEZCUXp0WlFVTjRReXhoUVVGaExFTkJRVU1zVTBGQlV5eEZRVUZGTEVOQlFVTTdXVUZETVVJc01FVkJRVEJGTzFsQlF6RkZMRWxCUVVrc1EwRkJReXhQUVVGUExFTkJRVU1zV1VGQldTeERRVUZETEZGQlFWRXNSVUZCUlN4SlFVRkpMRU5CUVVNc1NVRkJTU3hEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETEUxQlFVMHNRMEZCUXl4RFFVRkRPMWxCUlhwRUxFdEJRVXNzU1VGQlNTeERRVUZETEVkQlFVY3NRMEZCUXl4RlFVRkZMRU5CUVVNc1IwRkJSeXhKUVVGSkxFTkJRVU1zVlVGQlZTeEZRVUZGTEVWQlFVVXNRMEZCUXl4RlFVRkZPMmRDUVVONFF5eEpRVUZKTEVOQlFVTXNUMEZCVHl4RFFVRkRMRWxCUVVrc1JVRkJSU3hEUVVGRExFTkJRVU1zYVVSQlFXbEVPMmRDUVVOMFJTeEpRVUZKTEVsQlFVa3NRMEZCUXl4WlFVRlpPMjlDUVVOdVFpeEpRVUZKTEVOQlFVTXNXVUZCV1N4RFFVRkRMRU5CUVVNc1JVRkJSU3hKUVVGSkxFTkJRVU1zVlVGQlZTeEZRVUZGTEVWQlFVVXNRMEZCUXl4RFFVRkRPMkZCUXpkRE8xbEJRMFFzVDBGQlR5eEpRVUZKTEVOQlFVTXNUMEZCVHl4RFFVRkRMRmRCUVZjc1JVRkJSU3hEUVVGRE8xTkJRMjVETzFGQlFVTXNUMEZCVHl4RFFVRkRMRVZCUVVVN1dVRkRWaXhoUVVGaExFTkJRVU1zVTBGQlV5eEZRVUZGTEVOQlFVTTdXVUZETVVJc1RVRkJUU3hEUVVGRExFTkJRVU03VTBGRFZEdEpRVU5JTEVOQlFVTTdRMEZEU2p0QlFVVkVMRTFCUVUwc1YwRkJXU3hUUVVGUkxHdENRVUZyUWp0SlFVTTVRaXhQUVVGUExFTkJRVTg3U1VGRFpDeGpRVUZqTEVOQlFXbENPMGxCUXk5Q0xGZEJRVmNzUTBGQllUdEpRVU40UWl4UFFVRlBMRU5CUVZjN1NVRkRiRUlzV1VGQldTeERRVUYxUlR0SlFVTnVSaXhqUVVGakxFTkJRWFZDTzBsQlF5OURPenM3TzA5QlNVYzdTVUZEU0N4WlFVRlpMRTlCUVdkQ08xRkJRekZDTEUxQlFVMHNWVUZCVlN4SFFVRlhMRTlCUVU4c1EwRkJReXhWUVVGVkxFbEJRVWtzU1VGQlNTeEZRVUZGTEVOQlFVTTdVVUZEZUVRc1RVRkJUU3hSUVVGUkxFZEJRVWNzVlVGQlZTeERRVUZETEZWQlFWVXNRMEZCUXl4RFFVRkRPMUZCUTNoRExFdEJRVXNzUTBGQlF5eFBRVUZQTEVOQlFVTXNRMEZCUXp0UlFVTm1MRTFCUVUwc1EwRkJReXhuUWtGQlowSXNTVUZCU1N4UFFVRlBMRU5CUVVNc1EwRkJRenRSUVVOd1F5eE5RVUZOTEVOQlFVTXNZVUZCWVN4SlFVRkpMRTlCUVU4c1EwRkJReXhEUVVGRE8xRkJRMnBETEVsQlFVa3NRMEZCUXl4alFVRmpMRWRCUVVjc1QwRkJUeXhEUVVGRExHTkJRV01zUTBGQlF6dFJRVU0zUXl4SlFVRkpMRU5CUVVNc1YwRkJWeXhIUVVGSExFOUJRVThzUTBGQlF5eFhRVUZaTEVOQlFVTTdVVUZEZUVNc1NVRkJTU3hEUVVGRExGbEJRVmtzUjBGQlJ5eFBRVUZQTEVOQlFVTXNXVUZCV1N4RFFVRkRPMUZCUlhwRExFbEJRVWtzUTBGQlF5eGpRVUZqTEVkQlFVY3NUMEZCVHl4RFFVRkRMR05CUVdVc1EwRkJRenRSUVVNNVF5eHBSa0ZCYVVZN1VVRkRha1lzU1VGQlNTeERRVUZETEU5QlFVOHNSMEZCUnl4SlFVRkpMRXRCUVVzc1EwRkJReXhKUVVGSkxFTkJRVU1zU1VGQlNTeERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRMRTFCUVUwc1EwRkJReXhEUVVGRExFbEJRVWtzUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXl4SFFVRkhMRU5CUVVNc1EwRkJReXhEUVVGRExFVkJRVVVzUTBGQlF5eEZRVUZGTEVWQlFVVXNRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJRenRSUVVWMlJTeEpRVUZKTEVsQlFVa3NRMEZCUXl4SlFVRkpMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU1zVFVGQlRTeEhRVUZITEVWQlFVVTdXVUZETVVJc1QwRkJUeXhEUVVGRExGVkJRVlVzUjBGQlJ5eEpRVUZKTEVOQlFVTXNTVUZCU1N4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRExFMUJRVTBzUjBGQlJ5eERRVUZETEVOQlFVTTdVVUZETDBNc1QwRkJUeXhEUVVGRExFMUJRVTBzUjBGQlJ5eFJRVUZSTEVOQlFVTTdVVUZETVVJc1NVRkJTU3hEUVVGRExFOUJRVThzUjBGQlJ5eEpRVUZKTEVsQlFVa3NRMEZCUXl4UFFVRlBMRU5CUVVNc1EwRkJRenRSUVVOcVF5dzRSRUZCT0VRN1NVRkRhRVVzUTBGQlF6dEpRVVZFT3pzN08wOUJTVWM3U1VGRFNTeExRVUZMTEVOQlFVTXNVMEZCVXl4RFFVRkRMSGRDUVVGclF6dFJRVU4yUkN4UFFVRlBMRU5CUVVNc1NVRkJTU3hEUVVGRExGZEJRVmNzUTBGQlF5eERRVUZETzFGQlF6RkNMRTFCUVUwc1RVRkJUU3hIUVVGSExFMUJRVTBzU1VGQlNTeHRRa0ZCYlVJc1JVRkJSVHRoUVVNelF5eGpRVUZqTEVOQlFVTXNTVUZCU1N4RFFVRkRMRWxCUVVrc1JVRkJSU3hKUVVGSkxFTkJRVU1zWTBGQll5eEZRVUZGTEVsQlFVa3NRMEZCUXl4UFFVRlBMRU5CUVVNc1UwRkJVeXhGUVVOd1JTeEpRVUZKTEVOQlFVTXNZMEZCWXl4RlFVRkZMRWxCUVVrc1EwRkJReXhQUVVGUExFVkJRVVVzU1VGQlNTeERRVUZETEdsQ1FVRnBRaXhEUVVGRExFTkJRVU03VVVGREwwUXNUMEZCVHl4RFFVRkRMRTlCUVU4c1EwRkJReXhYUVVGWExFTkJRVU1zUTBGQlF6dFJRVU0zUWl4SlFVRkpMRU5CUVVNc1QwRkJUeXhEUVVGRExHbENRVUZwUWl4RFFVRkRMRTFCUVUwc1EwRkJReXhWUVVGVkxFVkJRVVVzVFVGQlRTeERRVUZETEZsQlFWa3NRMEZCUXl4RFFVRkRPMUZCUlhaRkxIZEZRVUYzUlR0UlFVTjRSU3hOUVVGTkxFbEJRVWtzVDBGQlR5eERRVUZQTEVOQlFVTXNUMEZCVHl4RlFVRkZMRVZCUVVVN1dVRkRiRU1zVlVGQlZTeERRVUZETEVkQlFVY3NSVUZCUlR0blFrRkRaQ3hQUVVGUExFVkJRVVVzUTBGQlF6dFpRVU5hTEVOQlFVTXNSVUZCUlN4SFFVRkhMRU5CUVVNc1EwRkJRenRSUVVOV0xFTkJRVU1zUTBGQlF5eERRVUZETzFGQlJVZ3NUVUZCVFN4VFFVRlRMRWRCUVVjc1RVRkJUU3hKUVVGSkxFTkJRVU1zVDBGQlR5eERRVUZETEZGQlFWRXNRMEZCUXl4SlFVRkpMRU5CUVVNc1QwRkJUeXhGUVVGRkxFTkJRVU1zU1VGQlNTeEZRVUZGTEVWQlFVVTdXVUZEYmtVc1NVRkJTU3hKUVVGSkxFTkJRVU1zV1VGQldUdG5Ra0ZEYmtJc1NVRkJTU3hEUVVGRExGbEJRVmtzUTBGQlF5eEpRVUZKTEVWQlFVVXNTVUZCU1N4RFFVRkRMRTlCUVU4c1EwRkJReXhWUVVGVkxFVkJRVVVzUlVGQlJTeEpRVUZKTEVOQlFVTXNUMEZCVHl4RFFVRkRMRmxCUVZrc1JVRkJSU3hEUVVGRExFTkJRVU03VVVGRGNFWXNRMEZCUXl4RFFVRkRMRU5CUVVNN1VVRkZTQ3hUUVVGVExIRkNRVUZ4UWl4RFFVRkRMRWxCUVdkQ08xbEJRemRETEU5QlFVOHNTVUZCU1N4TFFVRkxMRU5CUVVNc1NVRkJTU3hEUVVGRExFMUJRVTBzUTBGQlF5eERRVUZETEVsQlFVa3NRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJReXhIUVVGSExFTkJRVU1zUTBGQlF5eERRVUZETEVWQlFVVXNRMEZCUXl4RlFVRkZMRVZCUVVVc1EwRkJReXhEUVVGRExFMUJRVTBzUTBGQlF5eEpRVUZKTEVOQlFVTXNTVUZCU1N4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETzFGQlF6bEZMRU5CUVVNN1VVRkZSQ3hQUVVGUExIRkNRVUZ4UWl4RFFVRkRMRk5CUVZNc1EwRkJReXhEUVVGRE8wbEJRekZETEVOQlFVTTdRMEZEU2p0QlFVVkVMRTFCUVUwc2FVSkJRV2xDTEVkQlFVYzdTVUZEZUVJc1RVRkJUU3hGUVVGRkxGZEJRVmM3U1VGRGJrSXNUMEZCVHl4RlFVRkZMRmRCUVZjN1EwRkRja0lzUTBGQlF6dEJRVWxHTEUxQlFVMHNUMEZCVHl4clFrRkJhMEk3U1VGRGJrSXNUMEZCVHl4RFFVRnBRenRKUVVOb1JEczdPenM3T3p0TFFVOURPMGxCUTBRc1dVRkJXU3hKUVVGclFpeEZRVUZGTEUxQlFUSkNMRVZCUVVVc1QwRkJkVUlzUlVGRGJFWXNUMEZCYVVJc1JVRkJSU3h0UWtGQk9FTXNSVUZCUlN4UFFVRm5RanRSUVVOdVJpeE5RVUZOTEZGQlFWRXNSMEZCY1VJc1JVRkJSU3hEUVVGRE8xRkJRM1JETEV0QlFVc3NTVUZCU1N4SFFVRkhMRWRCUVVjc1EwRkJReXhGUVVGRkxFZEJRVWNzUjBGQlJ5eFBRVUZQTEVOQlFVTXNUVUZCVFN4RlFVRkZMRVZCUVVVc1IwRkJSeXhGUVVGRk8xbEJRemRETEUxQlFVMHNUMEZCVHl4SFFVRkhMRWxCUVVrc1QwRkJUeXhEUVVGRExFOUJRVThzUTBGQlF5eEhRVUZITEVOQlFVTXNRMEZCUXl4RFFVRkRMRlZCUVZVc1EwRkJReXhQUVVGUExFTkJRVU1zWTBGQll5eERRVUZETEVkQlFVY3NRMEZCUXl4RFFVRkRMRU5CUVVNN1dVRkRiRVlzVVVGQlVTeERRVUZETEVsQlFVa3NRMEZCUXl4UFFVRlBMRU5CUVVNc1EwRkJRenRaUVVOMlFpeEpRVUZKTEdOQlFXTXNSMEZCUnl4SlFVRkpMRU5CUVVNN1dVRkRNVUlzUzBGQlN5eEpRVUZKTEVOQlFVTXNSMEZCUnl4RFFVRkRMRVZCUVVVc1EwRkJReXhIUVVGSExFbEJRVWtzUTBGQlF5eEhRVUZITEVOQlFVTXNRMEZCUXl4TlFVRk5MRVZCUVVVc1JVRkJSU3hEUVVGRExFVkJRVVU3WjBKQlEzcERMRWxCUVVrc1NVRkJTU3hEUVVGRExFZEJRVWNzUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXl4SlFVRkpMRWxCUVVrc1EwRkJReXhIUVVGSExFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXl4UFFVRlBMRVZCUVVVN2IwSkJRM2hETEdOQlFXTXNSMEZCUnl4SlFVRkpMRU5CUVVNc1IwRkJSeXhEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTXNUMEZCVHl4RFFVRkRPMjlDUVVOMFF5eE5RVUZOTzJsQ1FVTlFPMkZCUTBZN1dVRkRSQ3hKUVVGSkxHZENRVUZuUWl4RFFVRkRMRTlCUVU4c1EwRkJReXhIUVVGSExFTkJRVU1zUTBGQlF5eEZRVUZGTzJkQ1FVTnNReXhMUVVGTExFbEJRVWtzUTBGQlF5eEhRVUZITEVOQlFVTXNSVUZCUlN4RFFVRkRMRWRCUVVjc1NVRkJTU3hEUVVGRExFZEJRVWNzUTBGQlF5eERRVUZETEUxQlFVMHNSVUZCUlN4RlFVRkZMRU5CUVVNc1JVRkJSVHR2UWtGRGVrTXNTVUZCU1N4SlFVRkpMRU5CUVVNc1IwRkJSeXhEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETEVsQlFVa3NTVUZCU1N4RFFVRkRMRWRCUVVjc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETEV0QlFVczdkMEpCUTNCRExFbEJRVWtzUTBGQlF5eEhRVUZITEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNc1IwRkJSeXhKUVVGSkxGRkJRVkVzUTBGQlF5eEpRVUZKTEVOQlFVTXNSMEZCUnl4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU1zUzBGQlN5eEZRVUZGTEVsQlFVa3NRMEZCUXl4SFFVRkhMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF5eFBRVUZQTEVOQlFVTXNRMEZCUXpzN2QwSkJSWFJGTEVsQlFVa3NRMEZCUXl4SFFVRkhMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU1zUjBGQlJ5eEpRVUZKTEZGQlFWRXNRMEZCUXl4alFVRmpMRU5CUVVNc1EwRkJRenRwUWtGREwwTTdZVUZEUmp0VFFVTkdPMUZCUlVRc1NVRkJTU3hOUVVGTkxFbEJRVWtzVFVGQlRTeEZRVUZGTzFsQlEzQkNMRWxCUVVrc1EwRkJReXhQUVVGUExFZEJRVWNzU1VGQlNTeFhRVUZYTEVOQlFVTTdaMEpCUXpkQ0xFbEJRVWtzUlVGQlJTeEpRVUZKTzJkQ1FVTldMR05CUVdNc1JVRkJSU3hQUVVGUE8yZENRVU4yUWl4WFFVRlhMRVZCUVVVc1VVRkJVVHRuUWtGRGNrSXNZMEZCWXl4RlFVRkZMRTlCUVU4c1EwRkJReXhqUVVGak8yZENRVU4wUXl4UFFVRlBMRVZCUVVVc1QwRkJUenRuUWtGRGFFSXNhVUpCUVdsQ0xFVkJRVVVzYlVKQlFXMUNPMmRDUVVOMFF5eEhRVUZITEU5QlFVODdZVUZEV0N4RFFVRkRMRU5CUVVNN1UwRkRTanRoUVVGTkxFbEJRVWtzVFVGQlRTeEpRVUZKTEU5QlFVOHNSVUZCUlR0WlFVTTFRaXhKUVVGSkxFTkJRVU1zVDBGQlR5eEhRVUZITEVsQlFVa3NWMEZCVnl4RFFVRkRPMmRDUVVNM1FpeEpRVUZKTEVWQlFVVXNTVUZCU1R0blFrRkRWaXhqUVVGakxFVkJRVVVzVDBGQlR6dG5Ra0ZEZGtJc1YwRkJWeXhGUVVGRkxGRkJRVkU3WjBKQlEzSkNMR05CUVdNc1JVRkJSU3hQUVVGUExFTkJRVU1zWTBGQll6dG5Ra0ZEZEVNc1QwRkJUeXhGUVVGRkxFOUJRVTg3WjBKQlEyaENMR2xDUVVGcFFpeEZRVUZGTEcxQ1FVRnRRanRuUWtGRGRFTXNSMEZCUnl4UFFVRlBPMkZCUTFnc1EwRkJReXhEUVVGRE8xTkJRMG83U1VGRFNDeERRVUZETzBsQlJVUTdPenM3T3pzN08wdEJVVU03U1VGRFRTeExRVUZMTEVOQlFVTXNVMEZCVXl4RFFVRkRMRmxCUVhGQ0xFdEJRVXM3VVVGREwwTXNTVUZCU1N4SlFVRkpMRU5CUVVNc1QwRkJUeXhMUVVGTExGTkJRVk03V1VGRE5VSXNUVUZCVFN4SlFVRkpMRXRCUVVzc1EwRkJReXd3UWtGQk1FSXNRMEZCUXl4RFFVRkRPMUZCUlRsRExFbEJRVWtzVTBGQlV5eEhRVUZITEUxQlFVMHNTVUZCU1N4RFFVRkRMRTlCUVU4c1EwRkJReXhUUVVGVExFVkJRVVVzUTBGQlF6dFJRVVV2UXl4SlFVRkpMRk5CUVZNN1dVRkRXQ3hUUVVGVExFZEJRVWNzWlVGQlpTeERRVUZETEZOQlFWTXNRMEZCUXl4RFFVRkRPMUZCUlhwRExFOUJRVThzVTBGQlV5eERRVUZETzBsQlEyNUNMRU5CUVVNN1NVRkZSRHM3T3pzN08wdEJUVU03U1VGRFJDeE5RVUZOTEVOQlFVTXNjMEpCUVhOQ0xFTkJRVU1zVVVGQk5FSTdVVUZEZUVRc1QwRkJUeXhOUVVGTkxFTkJRVU1zU1VGQlNTeERRVUZETEdkQ1FVRm5RaXhEUVVGRExGRkJRVkVzUTBGQlF5eERRVUZETEVOQlFVTTdTVUZEYWtRc1EwRkJRenRKUVVWRU96czdPenRMUVV0RE8wbEJRMFFzVFVGQlRTeExRVUZMTEdkQ1FVRm5RanRSUVVONlFpeFBRVUZQTEUxQlFVMHNRMEZCUXl4SlFVRkpMRU5CUVVNc2FVSkJRV2xDTEVOQlFVTXNRMEZCUXp0SlFVTjRReXhEUVVGRE8wbEJSVVE3T3pzN08wdEJTME03U1VGRFJDeE5RVUZOTEV0QlFVc3NaMEpCUVdkQ08xRkJRM3BDTEVsQlFVa3NSMEZCUnl4SFFVRmhMRVZCUVVVc1EwRkJRenRSUVVOMlFpeE5RVUZOTEVOQlFVTXNUVUZCVFN4RFFVRkRMR2RDUVVGblFpeERRVUZETEVOQlFVTXNUMEZCVHl4RFFVRkRMRU5CUVVNc1IwRkJSeXhGUVVGRkxFVkJRVVU3V1VGRE9VTXNUVUZCVFN4TFFVRkxMRWRCUVVjc1RVRkJUU3hEUVVGRExFMUJRVTBzUTBGQlF5eEhRVUZITEVOQlFVTXNRMEZCUXp0WlFVTnFReXhIUVVGSExFZEJRVWNzUTBGQlF5eEhRVUZITEVkQlFVY3NSVUZCUlN4SFFVRkhMRXRCUVVzc1EwRkJReXhEUVVGRE8xRkJRek5DTEVOQlFVTXNRMEZCUXl4RFFVRkRPMUZCUTBnc1QwRkJUeXhIUVVGSExFTkJRVU03U1VGRFlpeERRVUZETzBOQlEwb2lMQ0p6YjNWeVkyVnpRMjl1ZEdWdWRDSTZXeUpwYlhCdmNuUWdlME52YjNKa2FXNWhkR1Z6TENCRWFYTjBZVzVqWlUxbGRISnBZeXdnVFdGMGNtbDRMQ0JQY0hScGIyNXpMQ0JXWldOMGIzSXNJRlpsWTNSdmNuTjlYRzRnSUdaeWIyMGdKMEJrWVhSaFozSnZheTFzYVdKeVlYSnBaWE12ZFhScGJITXZjM0pqTDNSNWNHVXRaR1ZqYkdGeVlYUnBiMjV6Snp0Y2JtbHRjRzl5ZENCN1FYWmhhV3hoWW14bFJHRjBZVlI1Y0dWekxDQkJkbUZwYkdGaWJHVk5aWFJ5YVdOekxDQkxibTkzYmsxbGRISnBZM01zSUUxbFlYTjFjbVVzSUdselFtbDBRWEp5WVhsTlpYUnlhV045SUdaeWIyMGdKeTR1TDNSNWNHVmtMVzFsZEhKcFkzTW5PMXh1YVcxd2IzSjBJSHRFYVhOMFlXNWpaVTFoZEhKcGVGTmxjblpwWTJWOUlHWnliMjBnSnk0dUwyUnBjM1JoYm1ObExXMWhkSEpwZUNjN1hHNXBiWEJ2Y25RZ2UwUnBjM1JoYm1ObFFXZG5jbVZuWVhScGIyNU5aWFJvYjJSOUlHWnliMjBnSnk0dUwyUnBjM1JoYm1ObExXMWhkSEpwZUM5MGVYQmxjeWM3WEc1cGJYQnZjblFnZTFWTlFWQjlJR1p5YjIwZ0p5NHVMM1Z0WVhBbk8xeHVhVzF3YjNKMElIdGhjM05sY25Rc0lIUnlZVzV6Y0c5elpVMWhkSEpwZUgwZ1puSnZiU0FuUUdSaGRHRm5jbTlyTFd4cFluSmhjbWxsY3k5MWRHbHNjeTl6Y21NdmRtVmpkRzl5TFc5d1pYSmhkR2x2Ym5Nbk8xeHVhVzF3YjNKMElIdFRjR0Z5YzJWTllYUnlhWGhUWlhKMmFXTmxmU0JtY205dElDY3VMaTlrYVhOMFlXNWpaUzF0WVhSeWFYZ3ZjM0JoY25ObExXMWhkSEpwZUMxelpYSjJhV05sSnp0Y2JtbHRjRzl5ZENCN1JHbHRVbVZrZFdOMGFXOXVUV1YwYUc5a2MzMGdabkp2YlNBbkxpOTBlWEJsY3ljN1hHNXBiWEJ2Y25RZ1FtbDBRWEp5WVhrZ1puSnZiU0FuUUdSaGRHRm5jbTlyTFd4cFluSmhjbWxsY3k5MWRHbHNjeTl6Y21NdlltbDBMV0Z5Y21GNUp6dGNibWx0Y0c5eWRDQnpaV1ZrVW1GdVpHOXRJR1p5YjIwZ0ozTmxaV1J5WVc1a2IyMG5PMXh1THk5cGJYQnZjblFnZTFSVFRrVjlJR1p5YjIwZ0owQnJaV05yWld4MEwzUnpibVVuTzF4dWFXMXdiM0owSUh0VVUwNUZmU0JtY205dElDY3VMaTkwTFhOdVpTOTBMWE51WlNjN1hHNWNibVY0Y0c5eWRDQnBiblJsY21aaFkyVWdTVlZOUVZCUGNIUnBiMjV6SUh0Y2JpQWdJQ0JzWldGeWJtbHVaMUpoZEdVL09pQnVkVzFpWlhJN1hHNGdJQ0FnYmtOdmJYQnZibVZ1ZEhNL09pQnVkVzFpWlhJN1hHNGdJQ0FnYmtWd2IyTm9jejg2SUc1MWJXSmxjanRjYmlBZ0lDQnVUbVZwWjJoaWIzSnpQem9nYm5WdFltVnlPMXh1SUNBZ0lITndjbVZoWkQ4NklHNTFiV0psY2p0Y2JpQWdJQ0J0YVc1RWFYTjBQem9nYm5WdFltVnlPMXh1SUNBZ0lIQnliMmR5WlhOelJuVnVZejg2SUNobGNHOWpPaUJ1ZFcxaVpYSXNJR1Z3YjJOb2MweGxibWQwYURvZ2JuVnRZbVZ5TENCbGJXSmxaR1JwYm1kek9pQnVkVzFpWlhKYlhWdGRLU0E5UGlCMmIybGtPMXh1SUNBZ0lISmhibVJ2YlZObFpXUS9PaUJ6ZEhKcGJtYzdYRzU5WEc1Y2JtVjRjRzl5ZENCcGJuUmxjbVpoWTJVZ1NWUlRUa1ZQY0hScGIyNXpJSHRjYmlBZ0lDQmxjSE5wYkc5dVB6b2diblZ0WW1WeU8xeHVJQ0FnSUhCbGNuQnNaWGhwZEhrL09pQnVkVzFpWlhJN1hHNGdJQ0FnWkdsdFB6b2diblZ0WW1WeU8xeHVmVnh1WEc1bGVIQnZjblFnYVc1MFpYSm1ZV05sSUVsRWFXMVNaV1IxWTNScGIyNVFZWEpoYlR4VUlHVjRkR1Z1WkhNZ2JuVnRZbVZ5SUh3Z2MzUnlhVzVuSUQwZ2JuVnRZbVZ5UGlCN1hHNGdJQ0FnZFdsT1lXMWxPaUJ6ZEhKcGJtYzdYRzRnSUNBZ2RtRnNkV1U2SUNoVUlHVjRkR1Z1WkhNZ2JuVnRZbVZ5SUQ4Z2JuVnRZbVZ5SURvZ2MzUnlhVzVuS1NCOElHNTFiR3c3WEc0Z0lDQWdkRzl2YkhScGNEb2djM1J5YVc1bk8xeHVJQ0FnSUhSNWNHVS9PaUJVSUdWNGRHVnVaSE1nYm5WdFltVnlJRDhnSjI1MWJXSmxjaWNnT2lBbmMzUnlhVzVuSnp0Y2JpQWdJQ0J3YkdGalpXaHZiR1JsY2o4NklITjBjbWx1Wnp0Y2JpQWdJQ0J0YVc0L09pQnVkVzFpWlhJN1hHNGdJQ0FnYldGNFB6b2diblZ0WW1WeU8xeHVJQ0FnSUhOMFpYQS9PaUJ1ZFcxaVpYSTdYRzU5WEc1Y2JtRmljM1J5WVdOMElHTnNZWE56SUUxMWJIUnBRMjlzZFcxdVVtVmtkV05sY2lCN1hHNGdJQ0FnY0hKdmRHVmpkR1ZrSUdSaGRHRTZJRlpsWTNSdmNuTmJYVHRjYmlBZ0lDQndjbTkwWldOMFpXUWdkMlZwWjJoMGN6b2diblZ0WW1WeVcxMDdYRzRnSUNBZ2NISnZkR1ZqZEdWa0lHRm5aM0psWjJGMGFXOXVUV1YwYUc5a09pQkVhWE4wWVc1alpVRm5aM0psWjJGMGFXOXVUV1YwYUc5a08xeHVJQ0FnSUdOdmJuTjBjblZqZEc5eUtHOXdkR2x2Ym5NNklFOXdkR2x2Ym5NcElIdGNiaUFnSUNBZ0lIUm9hWE11WkdGMFlTQTlJRzl3ZEdsdmJuTXVaR0YwWVR0Y2JpQWdJQ0FnSUhSb2FYTXVkMlZwWjJoMGN5QTlJRzl3ZEdsdmJuTXVkMlZwWjJoMGN6dGNiaUFnSUNBZ0lIUm9hWE11WVdkbmNtVm5ZWFJwYjI1TlpYUm9iMlFnUFNCdmNIUnBiMjV6TG1GblozSmxaMkYwYVc5dVRXVjBhRzlrTzF4dUlDQWdJSDFjYmx4dUlDQWdJQzhxS2lCRmJXSmxaSE1nZEdobElHUmhkR0VnWjJsMlpXNGdhVzUwYnlCMGFHVWdkSGR2TFdScGJXVnVjMmx2Ym1Gc0lITndZV05sTGx4dUlDQWdJQ0FxSUVCeVpYUjFjbTRnZTJGdWVYMGdRMkZ5ZEdWemFXRnVJR052YjNKa2FXNWhkR1VnYjJZZ2RHaHBjeUJsYldKbFpHUnBibWNnWVc1a0lHUnBjM1JoYm1ObElHMWhkSEpwZUNCM2FHVnlaU0JoY0hCc2FXTmhZbXhsTGlBcUwxeHVJQ0FnSUdGaWMzUnlZV04wSUhSeVlXNXpabTl5YlNncE9pQlFjbTl0YVhObFBFMWhkSEpwZUQ0N1hHNTlYRzVjYm1Oc1lYTnpJRlJUVGtWU1pXUjFZMlZ5SUdWNGRHVnVaSE1nVFhWc2RHbERiMngxYlc1U1pXUjFZMlZ5SUh0Y2JpQWdJQ0J3Y205MFpXTjBaV1FnY21Wa2RXTmxjam9nVkZOT1JUdGNiaUFnSUNCd2NtOTBaV04wWldRZ2FYUmxjbUYwYVc5dWN6b2diblZ0WW1WeU8xeHVJQ0FnSUhCeWIzUmxZM1JsWkNCa2FYTjBZVzVqWlVadVlXMWxjem9nUzI1dmQyNU5aWFJ5YVdOelcxMDdYRzRnSUNBZ2NISnZkR1ZqZEdWa0lHUnBjM1JoYm1ObFJtNXpPaUFvS0dFNklHRnVlU3dnWWpvZ1lXNTVLU0E5UGlCdWRXMWlaWElwVzEwN1hHNGdJQ0FnY0hKdmRHVmpkR1ZrSUdScGMzUmhibU5sUm01QmNtZHpPaUI3VzE4NklITjBjbWx1WjEwNklHRnVlWDFiWFR0Y2JpQWdJQ0J3Y205MFpXTjBaV1FnY0hKdlozSmxjM05HZFc1alB6b2dLR1Z3YjJNNklHNTFiV0psY2l3Z1pYQnZZMmh6VEdWdVozUm9PaUJ1ZFcxaVpYSXNJR1Z0WW1Wa1pHbHVaM00vT2lCdWRXMWlaWEpiWFZ0ZEtTQTlQaUIyYjJsa08xeHVJQ0FnSUM4cUtseHVJQ0FnSUNBcUlFTnlaV0YwWlhNZ1lXNGdhVzV6ZEdGdVkyVWdiMllnVkZOT1JWSmxaSFZqWlhJdVhHNGdJQ0FnSUNvZ1FIQmhjbUZ0SUh0UGNIUnBiMjV6ZlNCdmNIUnBiMjV6SUU5d2RHbHZibk1nZEc4Z2NHRnpjeUIwYnlCMGFHVWdZMjl1YzNSeWRXTjBiM0l1WEc0Z0lDQWdJQ29nUUcxbGJXSmxjbTltSUZSVFRrVlNaV1IxWTJWeVhHNGdJQ0FnSUNvdlhHNGdJQ0FnWTI5dWMzUnlkV04wYjNJb2IzQjBhVzl1Y3pvZ1QzQjBhVzl1Y3lrZ2UxeHVJQ0FnSUNBZ2MzVndaWElvYjNCMGFXOXVjeWs3WEc0Z0lDQWdJQ0JqYjI1emRDQnlZVzVrYjIxVFpXVmtPaUJ6ZEhKcGJtY2dQU0J2Y0hScGIyNXpMbkpoYm1SdmJWTmxaV1FnUHo4Z1JHRjBaU2dwTzF4dUlDQWdJQ0FnWTI5dWMzUWdjbUZ1Wkc5dFJtNGdQU0J6WldWa1VtRnVaRzl0S0hKaGJtUnZiVk5sWldRcE8xeHVJQ0FnSUNBZ2IzQjBhVzl1Y3k1eVlXNWtiMjBnUFNCeVlXNWtiMjFHYmp0Y2JpQWdJQ0FnSUhSb2FYTXVjbVZrZFdObGNpQTlJRzVsZHlCVVUwNUZLRzl3ZEdsdmJuTXBPMXh1SUNBZ0lDQWdkR2hwY3k1cGRHVnlZWFJwYjI1eklEMGdiM0IwYVc5dWN6OHVhWFJsY21GMGFXOXVjeUEvUHlCMGFHbHpMbkpsWkhWalpYSXVaMlYwU1hSbGNsTnBlbVVvZEdocGN5NWtZWFJoV3pCZExteGxibWQwYUNrN1hHNGdJQ0FnSUNCMGFHbHpMbVJwYzNSaGJtTmxSbTVoYldWeklEMGdiM0IwYVc5dWN5NWthWE4wWVc1alpVWnVZVzFsY3p0Y2JpQWdJQ0FnSUhSb2FYTXVaR2x6ZEdGdVkyVkdibk1nUFNCdmNIUnBiMjV6TG1ScGMzUmhibU5sUm01ek8xeHVJQ0FnSUNBZ2RHaHBjeTVrYVhOMFlXNWpaVVp1UVhKbmN5QTlJRzl3ZEdsdmJuTXVaR2x6ZEdGdVkyVkdia0Z5WjNNN1hHNGdJQ0FnSUNCMGFHbHpMbkJ5YjJkeVpYTnpSblZ1WXlBOUlHOXdkR2x2Ym5NdWNISnZaM0psYzNOR2RXNWpPMXh1SUNBZ0lIMWNibHh1SUNBZ0lDOHFLbHh1SUNBZ0lDQXFJRVZ0WW1Wa2N5QjBhR1VnWkdGMFlTQm5hWFpsYmlCcGJuUnZJSFJvWlNCMGQyOHRaR2x0Wlc1emFXOXVZV3dnYzNCaFkyVWdkWE5wYm1jZ2RDMVRUa1VnYldWMGFHOWtMbHhjWEc0Z0lDQWdJQ29nUUhCaGNtRnRJSHRpYjI5c1pXRnVmU0JiY0dGeVlXeHNaV3hFYVhOMFlXNWpaVmR2Y210bGNuTmRJRmRvWlhSb1pYSWdkRzhnZFhObElIQmhjbUZzYkdWc0lHUnBjM1JoYm1ObElIZHZjbXRsY25NdVhHNGdJQ0FnSUNvZ1FISmxkSFZ5YmlCN1lXNTVmU0JEWVhKMFpYTnBZVzRnWTI5dmNtUnBibUYwWlNCdlppQjBhR2x6SUdWdFltVmtaR2x1WnlCaGJtUWdaR2x6ZEdGdVkyVWdiV0YwY21sNElIZG9aWEpsSUdGd2NHeHBZMkZpYkdVdVhHNGdJQ0FnSUNvdlhHNGdJQ0FnY0hWaWJHbGpJR0Z6ZVc1aklIUnlZVzV6Wm05eWJTZ3BPaUJRY205dGFYTmxQRTFoZEhKcGVENGdlMXh1SUNBZ0lDQWdhV1lnS0hSb2FYTXVaR0YwWVZzd1hTNXNaVzVuZEdnZ1BpQXhNREF3TUNsY2JpQWdJQ0FnSUNBZ2RHaHliM2NnYm1WM0lFVnljbTl5S0NkTllYaHBiWFZ0SUc1MWJXSmxjaUJ2WmlCellXMXdiR1Z6SUdadmNpQlVMVk5PUlNCcGN5QXhNREF3TUNjcE8xeHVJQ0FnSUNBZ1kyOXVjM1FnYldGMGNtbDRVMlZ5ZG1salpTQTlJRzVsZHlCRWFYTjBZVzVqWlUxaGRISnBlRk5sY25acFkyVW9kSEoxWlN3Z1ptRnNjMlVwTzF4dUlDQWdJQ0FnZEhKNUlIdGNiaUFnSUNBZ0lDQWdMeThnWTI5dWMzUWdZV2RuY21WbllYUmxJRDBnWjJWMFFXZG5jbVZuWVhScGIyNUdkVzVqZEdsdmJpaDBhR2x6TG1GblozSmxaMkYwYVc5dVRXVjBhRzlrTENCMGFHbHpMbmRsYVdkb2RITXBPMXh1SUNBZ0lDQWdJQ0F2THlCamIyNXpkQ0JrYVhOMFlXNWpaWE02SUVGeWNtRjVQRVpzYjJGME16SkJjbkpoZVQ0Z1BTQmJYVHRjYmlBZ0lDQWdJQ0FnTHk4Z1ptOXlJQ2hzWlhRZ2FTQTlJREE3SUdrZ1BDQjBhR2x6TG1SaGRHRXViR1Z1WjNSb095QXJLMmtwSUh0Y2JpQWdJQ0FnSUNBZ0x5OGdJQ0JqYjI1emRDQmthWE4wSUQwZ1lYZGhhWFFnYldGMGNtbDRVMlZ5ZG1salpTNWpZV3hqS0hSb2FYTXVaR0YwWVZ0cFhTd2dkR2hwY3k1a2FYTjBZVzVqWlVadVlXMWxjMXRwWFN3Z1ptRnNjMlVzSUhSb2FYTXVaR2x6ZEdGdVkyVkdia0Z5WjNOYmFWMHBPMXh1SUNBZ0lDQWdJQ0F2THlBZ0lHUnBjM1JoYm1ObGN5NXdkWE5vS0dScGMzUXBPMXh1SUNBZ0lDQWdJQ0F2THlCOVhHNGdJQ0FnSUNBZ0lDOHZJR052Ym5OMElHUnBjM1JoYm1ObElEMGdibVYzSUVac2IyRjBNekpCY25KaGVTaGthWE4wWVc1alpYTmJNRjB1YkdWdVozUm9LUzVtYVd4c0tEQXBPMXh1SUNBZ0lDQWdJQ0F2THlCbWIzSWdLR3hsZENCcElEMGdNRHNnYVNBOElHUnBjM1JoYm1ObGMxc3dYUzVzWlc1bmRHZzdJQ3NyYVNsY2JpQWdJQ0FnSUNBZ0x5OGdJQ0JrYVhOMFlXNWpaVnRwWFNBOUlHRm5aM0psWjJGMFpTaGthWE4wWVc1alpYTXViV0Z3S0Noa0tTQTlQaUJrVzJsZEtTazdYRzRnSUNBZ0lDQWdJR052Ym5OMElHUnBjM1JoYm1ObElEMGdZWGRoYVhRZ2JXRjBjbWw0VTJWeWRtbGpaUzVqWVd4alRYVnNkR2tvZEdocGN5NWtZWFJoTENCMGFHbHpMbVJwYzNSaGJtTmxSbTVoYldWekxDQm1ZV3h6WlN3Z2RHaHBjeTVrYVhOMFlXNWpaVVp1UVhKbmN5eGNiaUFnSUNBZ0lDQWdJQ0IwYUdsekxuZGxhV2RvZEhNc0lIUm9hWE11WVdkbmNtVm5ZWFJwYjI1TlpYUm9iMlFwTzF4dUlDQWdJQ0FnSUNCdFlYUnlhWGhUWlhKMmFXTmxMblJsY20xcGJtRjBaU2dwTzF4dUlDQWdJQ0FnSUNBdkx5QmpiMjV6ZENCdFlYUnlhWGhRY205NGVTQTlJR1JwYzNSaGJtTmxUV0YwY21sNFVISnZlSGtvWkdsemRHRnVZMlVzSUhSb2FYTXVaR0YwWVZzd1hTNXNaVzVuZEdncE8xeHVJQ0FnSUNBZ0lDQjBhR2x6TG5KbFpIVmpaWEl1YVc1cGRFUmhkR0ZFYVhOMEtHUnBjM1JoYm1ObExDQjBhR2x6TG1SaGRHRmJNRjB1YkdWdVozUm9LVHRjYmx4dUlDQWdJQ0FnSUNCbWIzSWdLR3hsZENCcElEMGdNRHNnYVNBOElIUm9hWE11YVhSbGNtRjBhVzl1Y3pzZ0t5dHBLU0I3WEc0Z0lDQWdJQ0FnSUNBZ2RHaHBjeTV5WldSMVkyVnlMbk4wWlhBb0tUc2dMeThnWlhabGNua2dkR2x0WlNCNWIzVWdZMkZzYkNCMGFHbHpMQ0J6YjJ4MWRHbHZiaUJuWlhSeklHSmxkSFJsY2x4dUlDQWdJQ0FnSUNBZ0lHbG1JQ2gwYUdsekxuQnliMmR5WlhOelJuVnVZeWxjYmlBZ0lDQWdJQ0FnSUNBZ0lIUm9hWE11Y0hKdlozSmxjM05HZFc1aktHa3NJSFJvYVhNdWFYUmxjbUYwYVc5dWN5d2dXMTBwTzF4dUlDQWdJQ0FnSUNCOVhHNGdJQ0FnSUNBZ0lISmxkSFZ5YmlCMGFHbHpMbkpsWkhWalpYSXVaMlYwVTI5c2RYUnBiMjRvS1R0Y2JpQWdJQ0FnSUgwZ1kyRjBZMmdnS0dVcElIdGNiaUFnSUNBZ0lDQWdiV0YwY21sNFUyVnlkbWxqWlM1MFpYSnRhVzVoZEdVb0tUdGNiaUFnSUNBZ0lDQWdkR2h5YjNjZ1pUdGNiaUFnSUNBZ0lIMWNiaUFnSUNCOVhHNTlYRzVjYm1Oc1lYTnpJRlZOUVZCU1pXUjFZMlZ5SUdWNGRHVnVaSE1nVFhWc2RHbERiMngxYlc1U1pXUjFZMlZ5SUh0Y2JpQWdJQ0J3Y205MFpXTjBaV1FnY21Wa2RXTmxjam9nVlUxQlVEdGNiaUFnSUNCd2NtOTBaV04wWldRZ1pHbHpkR0Z1WTJWR2JtRnRaWE02SUV0dWIzZHVUV1YwY21samMxdGRPMXh1SUNBZ0lIQnliM1JsWTNSbFpDQmthWE4wWVc1alpVWnVjem9nUm5WdVkzUnBiMjViWFR0Y2JpQWdJQ0J3Y205MFpXTjBaV1FnZG1WamRHOXljem9nYm5WdFltVnlXMTA3WEc0Z0lDQWdjSEp2ZEdWamRHVmtJSEJ5YjJkeVpYTnpSblZ1WXo4NklDaGxjRzlqT2lCdWRXMWlaWElzSUdWd2IyTm9jMHhsYm1kMGFEb2diblZ0WW1WeUxDQmxiV0psWkdScGJtYzZJRzUxYldKbGNsdGRXMTBwSUQwK0lIWnZhV1E3WEc0Z0lDQWdjSEp2ZEdWamRHVmtJR1JwYzNSaGJtTmxSbTVCY21kek9pQjdXMTg2SUhOMGNtbHVaMTA2SUdGdWVYMWJYVHRjYmlBZ0lDQXZLaXBjYmlBZ0lDQWdLaUJEY21WaGRHVnpJR0Z1SUdsdWMzUmhibU5sSUc5bUlGVk5RVkJTWldSMVkyVnlMbHh1SUNBZ0lDQXFJRUJ3WVhKaGJTQjdUM0IwYVc5dWMzMGdiM0IwYVc5dWN5QlBjSFJwYjI1eklIUnZJSEJoYzNNZ2RHOGdkR2hsSUdOdmJuTjBjblZqZEc5eUxseHVJQ0FnSUNBcUlFQnRaVzFpWlhKdlppQlZUVUZRVW1Wa2RXTmxjbHh1SUNBZ0lDQXFMMXh1SUNBZ0lHTnZibk4wY25WamRHOXlLRzl3ZEdsdmJuTTZJRTl3ZEdsdmJuTXBJSHRjYmlBZ0lDQWdJR052Ym5OMElISmhibVJ2YlZObFpXUTZJSE4wY21sdVp5QTlJRzl3ZEdsdmJuTXVjbUZ1Wkc5dFUyVmxaQ0EvUHlCRVlYUmxLQ2s3WEc0Z0lDQWdJQ0JqYjI1emRDQnlZVzVrYjIxR2JpQTlJSE5sWldSU1lXNWtiMjBvY21GdVpHOXRVMlZsWkNrN1hHNGdJQ0FnSUNCemRYQmxjaWh2Y0hScGIyNXpLVHRjYmlBZ0lDQWdJR0Z6YzJWeWRDZ25aR2x6ZEdGdVkyVkdibUZ0WlhNbklHbHVJRzl3ZEdsdmJuTXBPMXh1SUNBZ0lDQWdZWE56WlhKMEtDZGthWE4wWVc1alpVWnVjeWNnYVc0Z2IzQjBhVzl1Y3lrN1hHNGdJQ0FnSUNCMGFHbHpMbVJwYzNSaGJtTmxSbTVCY21keklEMGdiM0IwYVc5dWN5NWthWE4wWVc1alpVWnVRWEpuY3p0Y2JpQWdJQ0FnSUhSb2FYTXVaR2x6ZEdGdVkyVkdibk1nUFNCdmNIUnBiMjV6TG1ScGMzUmhibU5sUm01eklUdGNiaUFnSUNBZ0lIUm9hWE11Y0hKdlozSmxjM05HZFc1aklEMGdiM0IwYVc5dWN5NXdjbTluY21WemMwWjFibU03WEc1Y2JpQWdJQ0FnSUhSb2FYTXVaR2x6ZEdGdVkyVkdibUZ0WlhNZ1BTQnZjSFJwYjI1ekxtUnBjM1JoYm1ObFJtNWhiV1Z6SVR0Y2JpQWdJQ0FnSUM4dlZXMWhjQ0IxYzJWeklIWmxZM1J2Y2lCcGJtUmxlR2x1Wnl3Z2MyOGdkMlVnYm1WbFpDQjBieUJqY21WaGRHVWdZVzRnWVhKeVlYa2diMllnZG1WamRHOXljeUJoY3lCcGJtUmxZMlZ6TGx4dUlDQWdJQ0FnZEdocGN5NTJaV04wYjNKeklEMGdibVYzSUVGeWNtRjVLSFJvYVhNdVpHRjBZVnN3WFM1c1pXNW5kR2dwTG1acGJHd29NQ2t1YldGd0tDaGZMQ0JwS1NBOVBpQnBLVHRjYmx4dUlDQWdJQ0FnYVdZZ0tIUm9hWE11WkdGMFlWc3dYUzVzWlc1bmRHZ2dQQ0F4TlNsY2JpQWdJQ0FnSUNBZ2IzQjBhVzl1Y3k1dVRtVnBaMmhpYjNKeklEMGdkR2hwY3k1a1lYUmhXekJkTG14bGJtZDBhQ0F0SURFN1hHNGdJQ0FnSUNCdmNIUnBiMjV6TG5KaGJtUnZiU0E5SUhKaGJtUnZiVVp1TzF4dUlDQWdJQ0FnZEdocGN5NXlaV1IxWTJWeUlEMGdibVYzSUZWTlFWQW9iM0IwYVc5dWN5azdYRzRnSUNBZ0lDQXZMeUIwYUdsekxuSmxaSFZqWlhJdVpHbHpkR0Z1WTJWR2JpQTlJSFJvYVhNdVgyVnVZMjlrWldSRWFYTjBZVzVqWlM1aWFXNWtLSFJvYVhNcE8xeHVJQ0FnSUgxY2JseHVJQ0FnSUM4cUtseHVJQ0FnSUNBcUlFVnRZbVZrY3lCMGFHVWdaR0YwWVNCbmFYWmxiaUJwYm5SdklIUm9aU0IwZDI4dFpHbHRaVzV6YVc5dVlXd2djM0JoWTJVZ2RYTnBibWNnVlUxQlVDQnRaWFJvYjJRdVhHNGdJQ0FnSUNvZ1FIQmhjbUZ0SUh0aWIyOXNaV0Z1ZlNCYlgzQmhjbUZzYkdWc1JHbHpkR0Z1WTJWWGIzSnJaWEp6WFNCWGFHVjBhR1Z5SUhSdklIVnpaU0J3WVhKaGJHeGxiQ0JrYVhOMFlXNWpaU0J0WVhSeWFYZ2dkMjl5YTJWeWN5NWNiaUFnSUNBZ0tpQkFjbVYwZFhKdUlIdGhibmw5SUVOaGNuUmxjMmxoYmlCamIyOXlaR2x1WVhSbElHOW1JSFJvYVhNZ1pXMWlaV1JrYVc1bkxseHVJQ0FnSUNBcUwxeHVJQ0FnSUhCMVlteHBZeUJoYzNsdVl5QjBjbUZ1YzJadmNtMG9YM0JoY21Gc2JHVnNSR2x6ZEdGdVkyVlhiM0pyWlhKelB6b2dZbTl2YkdWaGJpazZJRkJ5YjIxcGMyVThUV0YwY21sNFBpQjdYRzRnSUNBZ0lDQmpiMjV6YjJ4bExuUnBiV1VvSjJ0dWJpQm5jbUZ3YUNjcE8xeHVJQ0FnSUNBZ1kyOXVjM1FnYTI1dVVtVnpJRDBnWVhkaGFYUWdibVYzSUZOd1lYSnpaVTFoZEhKcGVGTmxjblpwWTJVb0tWeHVJQ0FnSUNBZ0lDQXViWFZzZEdsRGIyeDFiVzVMVGs0b2RHaHBjeTVrWVhSaExDQjBhR2x6TG1ScGMzUmhibU5sUm01aGJXVnpMQ0IwYUdsekxuSmxaSFZqWlhJdWJtVnBaMmhpYjNKekxGeHVJQ0FnSUNBZ0lDQWdJSFJvYVhNdVpHbHpkR0Z1WTJWR2JrRnlaM01zSUhSb2FYTXVkMlZwWjJoMGN5d2dkR2hwY3k1aFoyZHlaV2RoZEdsdmJrMWxkR2h2WkNrN1hHNGdJQ0FnSUNCamIyNXpiMnhsTG5ScGJXVkZibVFvSjJ0dWJpQm5jbUZ3YUNjcE8xeHVJQ0FnSUNBZ2RHaHBjeTV5WldSMVkyVnlMbk5sZEZCeVpXTnZiWEIxZEdWa1MwNU9LR3R1YmxKbGN5NXJibTVKYm1SbGVHVnpMQ0JyYm01U1pYTXVhMjV1UkdsemRHRnVZMlZ6S1R0Y2JseHVJQ0FnSUNBZ0x5OGdibVZsWkdWa0lITnZJSFJvWVhRZ1oyRnlZbUZuWlNCamIyeHNaV04wYjNJZ1kyRnVJR1p5WldVZ2JXVnRiM0o1SUdaeWIyMGdaR2x6ZEdGdVkyVWdiV0YwY21sNFhHNGdJQ0FnSUNCaGQyRnBkQ0J1WlhjZ1VISnZiV2x6WlR4MmIybGtQaWdvY21WemIyeDJaU2tnUFQ0Z2UxeHVJQ0FnSUNBZ0lDQnpaWFJVYVcxbGIzVjBLQ2dwSUQwK0lIdGNiaUFnSUNBZ0lDQWdJQ0J5WlhOdmJIWmxLQ2s3WEc0Z0lDQWdJQ0FnSUgwc0lETXdNQ2s3WEc0Z0lDQWdJQ0I5S1R0Y2JseHVJQ0FnSUNBZ1kyOXVjM1FnWlcxaVpXUmthVzVuSUQwZ1lYZGhhWFFnZEdocGN5NXlaV1IxWTJWeUxtWnBkRUZ6ZVc1aktIUm9hWE11ZG1WamRHOXljeXdnS0dWd2IyTXBJRDArSUh0Y2JpQWdJQ0FnSUNBZ2FXWWdLSFJvYVhNdWNISnZaM0psYzNOR2RXNWpLVnh1SUNBZ0lDQWdJQ0FnSUhSb2FYTXVjSEp2WjNKbGMzTkdkVzVqS0dWd2IyTXNJSFJvYVhNdWNtVmtkV05sY2k1blpYUk9SWEJ2WTJoektDa3NJSFJvYVhNdWNtVmtkV05sY2k1blpYUkZiV0psWkdScGJtY29LU2s3WEc0Z0lDQWdJQ0I5S1R0Y2JseHVJQ0FnSUNBZ1puVnVZM1JwYjI0Z1lYSnlZWGxEWVhOME1rTnZiM0prYVc1aGRHVnpLR1JoZEdFNklHNTFiV0psY2x0ZFcxMHBPaUJEYjI5eVpHbHVZWFJsY3lCN1hHNGdJQ0FnSUNBZ0lISmxkSFZ5YmlCdVpYY2dRWEp5WVhrb1pHRjBZUzVzWlc1bmRHZ3BMbVpwYkd3b01Da3ViV0Z3S0NoZkxDQnBLU0E5UGlBb1ZtVmpkRzl5TG1aeWIyMG9aR0YwWVZ0cFhTa3BLVHRjYmlBZ0lDQWdJSDFjYmx4dUlDQWdJQ0FnY21WMGRYSnVJR0Z5Y21GNVEyRnpkREpEYjI5eVpHbHVZWFJsY3lobGJXSmxaR1JwYm1jcE8xeHVJQ0FnSUgxY2JuMWNibHh1WTI5dWMzUWdRWFpoYVd4aFlteGxVbVZrZFdObGNuTWdQU0I3WEc0Z0lDZFZUVUZRSnpvZ1ZVMUJVRkpsWkhWalpYSXNYRzRnSUNkMExWTk9SU2M2SUZSVFRrVlNaV1IxWTJWeUxGeHVmVHRjYmx4dVpYaHdiM0owSUhSNWNHVWdTMjV2ZDI1TlpYUm9iMlJ6SUQwZ2EyVjViMllnZEhsd1pXOW1JRUYyWVdsc1lXSnNaVkpsWkhWalpYSnpPMXh1WEc1bGVIQnZjblFnWTJ4aGMzTWdUWFZzZEdsRGIyeEVhVzFTWldSMVkyVnlJSHRjYmlBZ0lDQndjbWwyWVhSbElISmxaSFZqWlhJNklFMTFiSFJwUTI5c2RXMXVVbVZrZFdObGNpQjhJSFZ1WkdWbWFXNWxaRHRjYmlBZ0lDQXZLaXBjYmlBZ0lDb2dRM0psWVhSbGN5QmhiaUJwYm5OMFlXNWpaU0J2WmlCRWFXMWxibk5wYjI1aGJHbDBlVkpsWkhWalpYSXVYRzRnSUNBcUlFQndZWEpoYlNCN1lXNTVXMTE5SUdSaGRHRWdWbVZqZEc5eWN5QjBieUJsYldKbFpDNWNiaUFnSUNvZ1FIQmhjbUZ0SUh0TGJtOTNiazFsZEdodlpITjlJRzFsZEdodlpDQkZiV0psWkdScGJtY2diV1YwYUc5a0lIUnZJR0psSUdGd2NHeHBaV1JjYmlBZ0lDb2dRSEJoY21GdElIdExibTkzYmsxbGRISnBZM045SUcxbGRISnBZeUJFYVhOMFlXNWpaU0J0WlhSeWFXTWdkRzhnWW1VZ1kyOXRjSFYwWldRZ1ltVjBkMlZsYmlCbFlXTm9JRzltSUhSb1pTQjJaV04wYjNKekxseHVJQ0FnS2lCQWNHRnlZVzBnZTA5d2RHbHZibk45SUZ0dmNIUnBiMjV6WFNCUGNIUnBiMjV6SUhSdklIQmhjM01nZEc4Z2RHaGxJR2x0Y0d4bGJXVnVkR2x1WnlCbGJXSmxaR1JsY25NdVhHNGdJQ0FxSUVCdFpXMWlaWEp2WmlCRWFXMWxibk5wYjI1aGJHbDBlVkpsWkhWalpYSmNiaUFnSUNvdlhHNGdJQ0FnWTI5dWMzUnlkV04wYjNJb1pHRjBZVG9nUVhKeVlYazhZVzU1VzEwK0xDQnRaWFJvYjJRNklFUnBiVkpsWkhWamRHbHZiazFsZEdodlpITXNJRzFsZEhKcFkzTTZJRXR1YjNkdVRXVjBjbWxqYzF0ZExGeHVJQ0FnSUNBZ2QyVnBaMmgwY3pvZ2JuVnRZbVZ5VzEwc0lHUnBjM1JoYm1ObFFXZG5jbVZuWVhScGIyNDZJRVJwYzNSaGJtTmxRV2RuY21WbllYUnBiMjVOWlhSb2IyUXNJRzl3ZEdsdmJuTTZJRTl3ZEdsdmJuTXBJSHRjYmlBZ0lDQWdJR052Ym5OMElHMWxZWE4xY21Wek9pQkVhWE4wWVc1alpVMWxkSEpwWTF0ZElEMGdXMTA3WEc0Z0lDQWdJQ0JtYjNJZ0tHeGxkQ0JwWkhnZ1BTQXdPeUJwWkhnZ1BDQnRaWFJ5YVdOekxteGxibWQwYURzZ0t5dHBaSGdwSUh0Y2JpQWdJQ0FnSUNBZ1kyOXVjM1FnYldWaGMzVnlaU0E5SUc1bGR5Qk5aV0Z6ZFhKbEtHMWxkSEpwWTNOYmFXUjRYU2t1WjJWMFRXVmhjM1Z5WlNodmNIUnBiMjV6TG1ScGMzUmhibU5sUm01QmNtZHpXMmxrZUYwcE8xeHVJQ0FnSUNBZ0lDQnRaV0Z6ZFhKbGN5NXdkWE5vS0cxbFlYTjFjbVVwTzF4dUlDQWdJQ0FnSUNCc1pYUWdZbWwwUVhKeVlYbE1aVzVuZEdnZ1BTQXlNRFE0TzF4dUlDQWdJQ0FnSUNCbWIzSWdLR3hsZENCcElEMGdNRHNnYVNBOElHUmhkR0ZiYVdSNFhTNXNaVzVuZEdnN0lDc3JhU2tnZTF4dUlDQWdJQ0FnSUNBZ0lHbG1JQ2hrWVhSaFcybGtlRjFiYVYwZ0ppWWdaR0YwWVZ0cFpIaGRXMmxkTGw5c1pXNW5kR2dwSUh0Y2JpQWdJQ0FnSUNBZ0lDQWdJR0pwZEVGeWNtRjVUR1Z1WjNSb0lEMGdaR0YwWVZ0cFpIaGRXMmxkTGw5c1pXNW5kR2c3WEc0Z0lDQWdJQ0FnSUNBZ0lDQmljbVZoYXp0Y2JpQWdJQ0FnSUNBZ0lDQjlYRzRnSUNBZ0lDQWdJSDFjYmlBZ0lDQWdJQ0FnYVdZZ0tHbHpRbWwwUVhKeVlYbE5aWFJ5YVdNb2JXVjBjbWxqYzF0cFpIaGRLU2tnZTF4dUlDQWdJQ0FnSUNBZ0lHWnZjaUFvYkdWMElHa2dQU0F3T3lCcElEd2daR0YwWVZ0cFpIaGRMbXhsYm1kMGFEc2dLeXRwS1NCN1hHNGdJQ0FnSUNBZ0lDQWdJQ0JwWmlBb1pHRjBZVnRwWkhoZFcybGRJQ1ltSUdSaGRHRmJhV1I0WFZ0cFhTNWZaR0YwWVNsY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnWkdGMFlWdHBaSGhkVzJsZElEMGdibVYzSUVKcGRFRnljbUY1S0dSaGRHRmJhV1I0WFZ0cFhTNWZaR0YwWVN3Z1pHRjBZVnRwWkhoZFcybGRMbDlzWlc1bmRHZ3BPMXh1SUNBZ0lDQWdJQ0FnSUNBZ1pXeHpaVnh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQmtZWFJoVzJsa2VGMWJhVjBnUFNCdVpYY2dRbWwwUVhKeVlYa29ZbWwwUVhKeVlYbE1aVzVuZEdncE8xeHVJQ0FnSUNBZ0lDQWdJSDFjYmlBZ0lDQWdJQ0FnZlZ4dUlDQWdJQ0FnZlZ4dVhHNGdJQ0FnSUNCcFppQW9iV1YwYUc5a0lEMDlJQ2RWVFVGUUp5a2dlMXh1SUNBZ0lDQWdJQ0IwYUdsekxuSmxaSFZqWlhJZ1BTQnVaWGNnVlUxQlVGSmxaSFZqWlhJb2UxeHVJQ0FnSUNBZ0lDQWdJR1JoZEdFNklHUmhkR0VzWEc0Z0lDQWdJQ0FnSUNBZ1pHbHpkR0Z1WTJWR2JtRnRaWE02SUcxbGRISnBZM01zWEc0Z0lDQWdJQ0FnSUNBZ1pHbHpkR0Z1WTJWR2JuTTZJRzFsWVhOMWNtVnpMRnh1SUNBZ0lDQWdJQ0FnSUdScGMzUmhibU5sUm01QmNtZHpPaUJ2Y0hScGIyNXpMbVJwYzNSaGJtTmxSbTVCY21kekxGeHVJQ0FnSUNBZ0lDQWdJSGRsYVdkb2RITTZJSGRsYVdkb2RITXNYRzRnSUNBZ0lDQWdJQ0FnWVdkbmNtVm5ZWFJwYjI1TlpYUm9iMlE2SUdScGMzUmhibU5sUVdkbmNtVm5ZWFJwYjI0c1hHNGdJQ0FnSUNBZ0lDQWdMaTR1YjNCMGFXOXVjMXh1SUNBZ0lDQWdJQ0I5S1R0Y2JpQWdJQ0FnSUgwZ1pXeHpaU0JwWmlBb2JXVjBhRzlrSUQwOUlDZDBMVk5PUlNjcElIdGNiaUFnSUNBZ0lDQWdkR2hwY3k1eVpXUjFZMlZ5SUQwZ2JtVjNJRlJUVGtWU1pXUjFZMlZ5S0h0Y2JpQWdJQ0FnSUNBZ0lDQmtZWFJoT2lCa1lYUmhMRnh1SUNBZ0lDQWdJQ0FnSUdScGMzUmhibU5sUm01aGJXVnpPaUJ0WlhSeWFXTnpMRnh1SUNBZ0lDQWdJQ0FnSUdScGMzUmhibU5sUm01ek9pQnRaV0Z6ZFhKbGN5eGNiaUFnSUNBZ0lDQWdJQ0JrYVhOMFlXNWpaVVp1UVhKbmN6b2diM0IwYVc5dWN5NWthWE4wWVc1alpVWnVRWEpuY3l4Y2JpQWdJQ0FnSUNBZ0lDQjNaV2xuYUhSek9pQjNaV2xuYUhSekxGeHVJQ0FnSUNBZ0lDQWdJR0ZuWjNKbFoyRjBhVzl1VFdWMGFHOWtPaUJrYVhOMFlXNWpaVUZuWjNKbFoyRjBhVzl1TEZ4dUlDQWdJQ0FnSUNBZ0lDNHVMbTl3ZEdsdmJuTmNiaUFnSUNBZ0lDQWdmU2s3WEc0Z0lDQWdJQ0I5WEc0Z0lDQWdmVnh1WEc0Z0lDQWdMeW9xWEc0Z0lDQXFJRVZ0WW1Wa2N5QjBhR1VnWkdGMFlTQm5hWFpsYmlCcGJuUnZJSFJvWlNCMGQyOHRaR2x0Wlc1emFXOXVZV3dnYzNCaFkyVWdkWE5wYm1jZ2RHaGxJR05vYjNObGJpQnRaWFJvYjJRdVhHNGdJQ0FxWEc0Z0lDQXFJRUJ3WVhKaGJTQjdZbTl2YkdWaGJuMGdkSEpoYm5Od2IzTmxJRmRvWlhSb1pYSWdkRzhnZEhKaGJuTm1iM0p0SUdOdmIzSmthVzVoZEdWeklIUnZJR2hoZG1VZ1kyOXNkVzF1Y3kxbWFYSnpkQ0J2Y21sbGJuUmhkR2x2Ymk1Y2JpQWdJQ29nUUhCaGNtRnRJSHRpYjI5c1pXRnVmU0J3WVhKaGJHeGxiRVJwYzNSaGJtTmxWMjl5YTJWeWN5QlhhR1YwYUdWeUlIUnZJSFZ6WlNCd1lYSmhiR3hsYkNCa2FYTjBZVzVqWlNCamIyMXdkWFJoZEdsdmJpNWNiaUFnSUNvZ1FIUm9jbTkzY3lCN1JYSnliM0o5SUVsbUlIUm9aU0JsYldKbFpHUnBibWNnYldWMGFHOWtJSGRoY3lCdWIzUWdabTkxYm1RdVhHNGdJQ0FxSUVCeVpYUjFjbTRnZTJGdWVYMGdRMkZ5ZEdWemFXRnVJR052YjNKa2FXNWhkR1VnYjJZZ2RHaHBjeUJsYldKbFpHUnBibWNnWVc1a0lHUnBjM1JoYm1ObElHMWhkSEpwZUNCM2FHVnlaU0JoY0hCc2FXTmhZbXhsTGx4dUlDQWdLaUJBYldWdFltVnliMllnUkdsdFpXNXphVzl1WVd4cGRIbFNaV1IxWTJWeVhHNGdJQ0FxTDF4dUlDQWdJSEIxWW14cFl5QmhjM2x1WXlCMGNtRnVjMlp2Y20wb2RISmhibk53YjNObE9pQmliMjlzWldGdUlEMGdabUZzYzJVcE9pQlFjbTl0YVhObFBFMWhkSEpwZUQ0Z2UxeHVJQ0FnSUNBZ2FXWWdLSFJvYVhNdWNtVmtkV05sY2lBOVBUMGdkVzVrWldacGJtVmtLVnh1SUNBZ0lDQWdJQ0IwYUhKdmR5QnVaWGNnUlhKeWIzSW9KMUpsWkhWalpYSWdkMkZ6SUc1dmRDQmtaV1pwYm1Wa0xpY3BPMXh1WEc0Z0lDQWdJQ0JzWlhRZ1pXMWlaV1JrYVc1bklEMGdZWGRoYVhRZ2RHaHBjeTV5WldSMVkyVnlMblJ5WVc1elptOXliU2dwTzF4dVhHNGdJQ0FnSUNCcFppQW9kSEpoYm5Od2IzTmxLVnh1SUNBZ0lDQWdJQ0JsYldKbFpHUnBibWNnUFNCMGNtRnVjM0J2YzJWTllYUnlhWGdvWlcxaVpXUmthVzVuS1R0Y2JseHVJQ0FnSUNBZ2NtVjBkWEp1SUdWdFltVmtaR2x1Wnp0Y2JpQWdJQ0I5WEc1Y2JpQWdJQ0F2S2lwY2JpQWdJQ29nVW1WMGRYSnVjeUJ0WlhSeWFXTnpJR0YyWVdsc1lXSnNaU0JpZVNCMGVYQmxMbHh1SUNBZ0tseHVJQ0FnS2lCQWNHRnlZVzBnZTBGMllXbHNZV0pzWlVSaGRHRlVlWEJsYzMwZ2RIbHdaVTVoYldVZ2RIbHdaU0J1WVcxbFhHNGdJQ0FxSUVCeVpYUjFjbTRnZTNOMGNtbHVaMXRkZlNCTlpYUnlhV01nYm1GdFpYTWdkMmhwWTJnZ1pYaHdaV04wY3lCMGFHVWdaMmwyWlc0Z1pHRjBZU0IwZVhCbFhHNGdJQ0FxSUVCdFpXMWlaWEp2WmlCRWFXMWxibk5wYjI1aGJHbDBlVkpsWkhWalpYSmNiaUFnSUNvdlhHNGdJQ0FnYzNSaGRHbGpJR0YyWVdsc1lXSnNaVTFsZEhKcFkzTkNlVlI1Y0dVb2RIbHdaVTVoYldVNklFRjJZV2xzWVdKc1pVUmhkR0ZVZVhCbGN5a2dlMXh1SUNBZ0lDQWdjbVYwZFhKdUlFOWlhbVZqZEM1clpYbHpLRUYyWVdsc1lXSnNaVTFsZEhKcFkzTmJkSGx3WlU1aGJXVmRLVHRjYmlBZ0lDQjlYRzVjYmlBZ0lDQXZLaXBjYmlBZ0lDb2dVbVYwZFhKdWN5QmthVzFsYm5OcGIyNWhiR2wwZVNCeVpXUjFZM1JwYjI0Z2JXVjBhRzlrY3lCaGRtRnBiR0ZpYkdVdVhHNGdJQ0FxWEc0Z0lDQXFJRUJ5WldGa2IyNXNlVnh1SUNBZ0tpQkFiV1Z0WW1WeWIyWWdSR2x0Wlc1emFXOXVZV3hwZEhsU1pXUjFZMlZ5WEc0Z0lDQXFMMXh1SUNBZ0lITjBZWFJwWXlCblpYUWdZWFpoYVd4aFlteGxUV1YwYUc5a2N5Z3BJSHRjYmlBZ0lDQWdJSEpsZEhWeWJpQlBZbXBsWTNRdWEyVjVjeWhCZG1GcGJHRmliR1ZTWldSMVkyVnljeWs3WEc0Z0lDQWdmVnh1WEc0Z0lDQWdMeW9xWEc0Z0lDQXFJRkpsZEhWeWJuTWdiV1YwY21samN5QmhkbUZwYkdGaWJHVXVYRzRnSUNBcVhHNGdJQ0FxSUVCeVpXRmtiMjVzZVZ4dUlDQWdLaUJBYldWdFltVnliMllnUkdsdFpXNXphVzl1WVd4cGRIbFNaV1IxWTJWeVhHNGdJQ0FxTDF4dUlDQWdJSE4wWVhScFl5Qm5aWFFnWVhaaGFXeGhZbXhsVFdWMGNtbGpjeWdwSUh0Y2JpQWdJQ0FnSUd4bGRDQmhibk02SUhOMGNtbHVaMXRkSUQwZ1cxMDdYRzRnSUNBZ0lDQlBZbXBsWTNRdWRtRnNkV1Z6S0VGMllXbHNZV0pzWlUxbGRISnBZM01wTG1admNrVmhZMmdvS0c5aWFpa2dQVDRnZTF4dUlDQWdJQ0FnSUNCamIyNXpkQ0JoY25KaGVTQTlJRTlpYW1WamRDNTJZV3gxWlhNb2IySnFLVHRjYmlBZ0lDQWdJQ0FnWVc1eklEMGdXeTR1TG1GdWN5d2dMaTR1WVhKeVlYbGRPMXh1SUNBZ0lDQWdmU2s3WEc0Z0lDQWdJQ0J5WlhSMWNtNGdZVzV6TzF4dUlDQWdJSDFjYm4xY2JpSmRmUT09IiwiaW1wb3J0IHsgTXVsdGlDb2xEaW1SZWR1Y2VyIH0gZnJvbSAnLi9tdWx0aS1jb2x1bW4tZGltLXJlZHVjZXInO1xuLyoqXG4gKiBXb3JrZXIgdGhyZWFkIHJlY2VpdmluZyBkYXRhIGZ1bmN0aW9uLlxuICpcbiAqIEBwYXJhbSB7YW55W119IGNvbHVtbkRhdGEgU2FtcGxlcyB0byBwcm9jZXNzLlxuICogQHBhcmFtIHtLbm93bk1ldGhvZHN9IG1ldGhvZCBFbWJlZGRpbmcgbWV0aG9kLlxuICogQHBhcmFtIHtLbm93bk1ldHJpY3N9IG1lYXN1cmUgRGlzdGFuY2UgbWV0cmljLlxuICogQHBhcmFtIHthbnl9IG9wdGlvbnMgT3B0aW9ucyB0byBwYXNzIHRvIGFsZ29yaXRobS5cbiAqIEBwYXJhbSB7Ym9vbGVhbn0gcGFyYWxsZWxEaXN0YW5jZVdvcmtlcnMgV2hldGhlciB0byB1c2UgcGFyYWxsZWwgZGlzdGFuY2Ugd29ya2Vycy5cbiAqIEByZXR1cm4ge2FueX0gRW1iZWRkaW5nIChhbmQgZGlzdGFuY2UgbWF0cml4IHdoZXJlIGFwcGxpY2FibGUpLlxuICovXG5hc3luYyBmdW5jdGlvbiBvbk1lc3NhZ2UoY29sdW1uc0RhdGEsIG1ldGhvZCwgbWV0cmljcywgd2VpZ2h0cywgYWdncmVnYXRpb25NZXRob2QsIG9wdGlvbnMpIHtcbiAgICBjb25zdCByZWR1Y2VyID0gbmV3IE11bHRpQ29sRGltUmVkdWNlcihjb2x1bW5zRGF0YSwgbWV0aG9kLCBtZXRyaWNzLCB3ZWlnaHRzLCBhZ2dyZWdhdGlvbk1ldGhvZCwgeyAuLi5vcHRpb25zLCBwcm9ncmVzc0Z1bmMgfSk7XG4gICAgcmV0dXJuIGF3YWl0IHJlZHVjZXIudHJhbnNmb3JtKHRydWUpO1xufVxuYXN5bmMgZnVuY3Rpb24gcHJvZ3Jlc3NGdW5jKGVwb2NoTnVtLCBlcG9jaHNMZW5ndGgsIGVtYmVkZGluZykge1xuICAgIGlmIChlcG9jaE51bSAlIDUgPT09IDApXG4gICAgICAgIHNlbGYucG9zdE1lc3NhZ2UoeyBlcG9jaE51bSwgZXBvY2hzTGVuZ3RoLCBlbWJlZGRpbmcgfSk7XG59XG5zZWxmLm9ubWVzc2FnZSA9IGFzeW5jICh7IGRhdGE6IHsgY29sdW1uc0RhdGEsIG1ldGhvZCwgZGlzdGFuY2VNZXRyaWNzLCBvcHRpb25zLCB3ZWlnaHRzLCBhZ2dyZWdhdGlvbk1ldGhvZCB9IH0pID0+IHtcbiAgICBsZXQgZGF0YTtcbiAgICB0cnkge1xuICAgICAgICBjb25zdCBlbWJlZGRpbmcgPSBhd2FpdCBvbk1lc3NhZ2UoY29sdW1uc0RhdGEsIG1ldGhvZCwgZGlzdGFuY2VNZXRyaWNzLCB3ZWlnaHRzLCBhZ2dyZWdhdGlvbk1ldGhvZCwgb3B0aW9ucyk7XG4gICAgICAgIGRhdGEgPSB7IGVtYmVkZGluZyB9O1xuICAgIH1cbiAgICBjYXRjaCAoZSkge1xuICAgICAgICBkYXRhID0geyBlcnJvcjogZSB9O1xuICAgIH1cbiAgICBzZWxmLnBvc3RNZXNzYWdlKHtcbiAgICAgICAgZXJyb3I6IGRhdGEuZXJyb3IsXG4gICAgICAgIGVtYmVkZGluZzogZGF0YS5lbWJlZGRpbmcsXG4gICAgfSk7XG59O1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKbWFXeGxJam9pYlhWc2FYUXRZMjlzZFcxdUxXUnBiUzF5WldSMVkyVnlMWGR2Y210bGNpNXFjeUlzSW5OdmRYSmpaVkp2YjNRaU9pSWlMQ0p6YjNWeVkyVnpJanBiSW0xMWJHbDBMV052YkhWdGJpMWthVzB0Y21Wa2RXTmxjaTEzYjNKclpYSXVkSE1pWFN3aWJtRnRaWE1pT2x0ZExDSnRZWEJ3YVc1bmN5STZJa0ZCU1VFc1QwRkJUeXhGUVVGRExHdENRVUZyUWl4RlFVRkRMRTFCUVUwc05FSkJRVFJDTEVOQlFVTTdRVUZGT1VRN096czdPenM3T3p0SFFWTkhPMEZCUTBnc1MwRkJTeXhWUVVGVkxGTkJRVk1zUTBGQlF5eFhRVUY1UWl4RlFVRkZMRTFCUVRKQ0xFVkJRVVVzVDBGQmRVSXNSVUZEZEVjc1QwRkJhVUlzUlVGQlJTeHBRa0ZCTkVNc1JVRkRMMFFzVDBGQldUdEpRVU5hTEUxQlFVMHNUMEZCVHl4SFFVRkhMRWxCUVVrc2EwSkJRV3RDTEVOQlEzQkRMRmRCUVZjc1JVRkRXQ3hOUVVGTkxFVkJRMDRzVDBGQlR5eEZRVU5RTEU5QlFVOHNSVUZEVUN4cFFrRkJhVUlzUlVGRGFrSXNSVUZCUXl4SFFVRkhMRTlCUVU4c1JVRkJSU3haUVVGWkxFVkJRVU1zUTBGRE0wSXNRMEZCUXp0SlFVTkdMRTlCUVU4c1RVRkJUU3hQUVVGUExFTkJRVU1zVTBGQlV5eERRVUZETEVsQlFVa3NRMEZCUXl4RFFVRkRPMEZCUTNaRExFTkJRVU03UVVGRlJDeExRVUZMTEZWQlFWVXNXVUZCV1N4RFFVRkRMRkZCUVdkQ0xFVkJRVVVzV1VGQmIwSXNSVUZCUlN4VFFVRnhRanRKUVVOMlJpeEpRVUZKTEZGQlFWRXNSMEZCUnl4RFFVRkRMRXRCUVVzc1EwRkJRenRSUVVOd1FpeEpRVUZKTEVOQlFVTXNWMEZCVnl4RFFVRkRMRVZCUVVNc1VVRkJVU3hGUVVGRkxGbEJRVmtzUlVGQlJTeFRRVUZUTEVWQlFVTXNRMEZCUXl4RFFVRkRPMEZCUXpGRUxFTkJRVU03UVVGRlJDeEpRVUZKTEVOQlFVTXNVMEZCVXl4SFFVRkhMRXRCUVVzc1JVRkJSU3hGUVVGRExFbEJRVWtzUlVGQlJTeEZRVUZETEZkQlFWY3NSVUZCUlN4TlFVRk5MRVZCUVVVc1pVRkJaU3hGUVVGRkxFOUJRVThzUlVGQlJTeFBRVUZQTEVWQlFVVXNhVUpCUVdsQ0xFVkJRVU1zUlVGQlF5eEZRVUZGTEVWQlFVVTdTVUZETjBjc1NVRkJTU3hKUVVGdlF5eERRVUZETzBsQlEzcERMRWxCUVVrN1VVRkRSaXhOUVVGTkxGTkJRVk1zUjBGQlJ5eE5RVUZOTEZOQlFWTXNRMEZCUXl4WFFVRlhMRVZCUVVVc1RVRkJUU3hGUVVGRkxHVkJRV1VzUlVGQlJTeFBRVUZQTEVWQlFVVXNhVUpCUVdsQ0xFVkJRVVVzVDBGQlR5eERRVUZETEVOQlFVTTdVVUZETjBjc1NVRkJTU3hIUVVGSExFVkJRVU1zVTBGQlV5eEZRVUZETEVOQlFVTTdTMEZEY0VJN1NVRkJReXhQUVVGUExFTkJRVTBzUlVGQlJUdFJRVU5tTEVsQlFVa3NSMEZCUnl4RlFVRkRMRXRCUVVzc1JVRkJSU3hEUVVGRExFVkJRVU1zUTBGQlF6dExRVU51UWp0SlFVTkVMRWxCUVVrc1EwRkJReXhYUVVGWExFTkJRVU03VVVGRFppeExRVUZMTEVWQlFVVXNTVUZCU1N4RFFVRkRMRXRCUVVzN1VVRkRha0lzVTBGQlV5eEZRVUZGTEVsQlFVa3NRMEZCUXl4VFFVRlRPMHRCUXpGQ0xFTkJRVU1zUTBGQlF6dEJRVU5NTEVOQlFVTXNRMEZCUXlJc0luTnZkWEpqWlhORGIyNTBaVzUwSWpwYkltbHRjRzl5ZENCN1RXRjBjbWw0ZlNCbWNtOXRJQ2RBWkdGMFlXZHliMnN0YkdsaWNtRnlhV1Z6TDNWMGFXeHpMM055WXk5MGVYQmxMV1JsWTJ4aGNtRjBhVzl1Y3ljN1hHNXBiWEJ2Y25RZ2UwdHViM2R1VFdWMGNtbGpjMzBnWm5KdmJTQW5MaTR2ZEhsd1pXUXRiV1YwY21samN5OTBlWEJsWkMxdFpYUnlhV056Snp0Y2JtbHRjRzl5ZENCN1JHbHRVbVZrZFdOMGFXOXVUV1YwYUc5a2MzMGdabkp2YlNBbkxpOTBlWEJsY3ljN1hHNXBiWEJ2Y25RZ2UwUnBjM1JoYm1ObFFXZG5jbVZuWVhScGIyNU5aWFJvYjJSOUlHWnliMjBnSnk0dUwyUnBjM1JoYm1ObExXMWhkSEpwZUM5MGVYQmxjeWM3WEc1cGJYQnZjblFnZTAxMWJIUnBRMjlzUkdsdFVtVmtkV05sY24wZ1puSnZiU0FuTGk5dGRXeDBhUzFqYjJ4MWJXNHRaR2x0TFhKbFpIVmpaWEluTzF4dVhHNHZLaXBjYmlBcUlGZHZjbXRsY2lCMGFISmxZV1FnY21WalpXbDJhVzVuSUdSaGRHRWdablZ1WTNScGIyNHVYRzRnS2x4dUlDb2dRSEJoY21GdElIdGhibmxiWFgwZ1kyOXNkVzF1UkdGMFlTQlRZVzF3YkdWeklIUnZJSEJ5YjJObGMzTXVYRzRnS2lCQWNHRnlZVzBnZTB0dWIzZHVUV1YwYUc5a2MzMGdiV1YwYUc5a0lFVnRZbVZrWkdsdVp5QnRaWFJvYjJRdVhHNGdLaUJBY0dGeVlXMGdlMHR1YjNkdVRXVjBjbWxqYzMwZ2JXVmhjM1Z5WlNCRWFYTjBZVzVqWlNCdFpYUnlhV011WEc0Z0tpQkFjR0Z5WVcwZ2UyRnVlWDBnYjNCMGFXOXVjeUJQY0hScGIyNXpJSFJ2SUhCaGMzTWdkRzhnWVd4bmIzSnBkR2h0TGx4dUlDb2dRSEJoY21GdElIdGliMjlzWldGdWZTQndZWEpoYkd4bGJFUnBjM1JoYm1ObFYyOXlhMlZ5Y3lCWGFHVjBhR1Z5SUhSdklIVnpaU0J3WVhKaGJHeGxiQ0JrYVhOMFlXNWpaU0IzYjNKclpYSnpMbHh1SUNvZ1FISmxkSFZ5YmlCN1lXNTVmU0JGYldKbFpHUnBibWNnS0dGdVpDQmthWE4wWVc1alpTQnRZWFJ5YVhnZ2QyaGxjbVVnWVhCd2JHbGpZV0pzWlNrdVhHNGdLaTljYm1GemVXNWpJR1oxYm1OMGFXOXVJRzl1VFdWemMyRm5aU2hqYjJ4MWJXNXpSR0YwWVRvZ1FYSnlZWGs4WVc1NVcxMCtMQ0J0WlhSb2IyUTZJRVJwYlZKbFpIVmpkR2x2YmsxbGRHaHZaSE1zSUcxbGRISnBZM002SUV0dWIzZHVUV1YwY21samMxdGRMRnh1SUNCM1pXbG5hSFJ6T2lCdWRXMWlaWEpiWFN3Z1lXZG5jbVZuWVhScGIyNU5aWFJvYjJRNklFUnBjM1JoYm1ObFFXZG5jbVZuWVhScGIyNU5aWFJvYjJRc1hHNGdJRzl3ZEdsdmJuTTZJR0Z1ZVNrNklGQnliMjFwYzJVOFRXRjBjbWw0UGlCN1hHNGdJR052Ym5OMElISmxaSFZqWlhJZ1BTQnVaWGNnVFhWc2RHbERiMnhFYVcxU1pXUjFZMlZ5S0Z4dUlDQWdJR052YkhWdGJuTkVZWFJoTEZ4dUlDQWdJRzFsZEdodlpDeGNiaUFnSUNCdFpYUnlhV056TEZ4dUlDQWdJSGRsYVdkb2RITXNYRzRnSUNBZ1lXZG5jbVZuWVhScGIyNU5aWFJvYjJRc1hHNGdJQ0FnZXk0dUxtOXdkR2x2Ym5Nc0lIQnliMmR5WlhOelJuVnVZMzFjYmlBZ0tUdGNiaUFnY21WMGRYSnVJR0YzWVdsMElISmxaSFZqWlhJdWRISmhibk5tYjNKdEtIUnlkV1VwTzF4dWZWeHVYRzVoYzNsdVl5Qm1kVzVqZEdsdmJpQndjbTluY21WemMwWjFibU1vWlhCdlkyaE9kVzA2SUc1MWJXSmxjaXdnWlhCdlkyaHpUR1Z1WjNSb09pQnVkVzFpWlhJc0lHVnRZbVZrWkdsdVp6b2diblZ0WW1WeVcxMWJYU2tnZTF4dUlDQnBaaUFvWlhCdlkyaE9kVzBnSlNBMUlEMDlQU0F3S1Z4dUlDQWdJSE5sYkdZdWNHOXpkRTFsYzNOaFoyVW9lMlZ3YjJOb1RuVnRMQ0JsY0c5amFITk1aVzVuZEdnc0lHVnRZbVZrWkdsdVozMHBPMXh1ZlZ4dVhHNXpaV3htTG05dWJXVnpjMkZuWlNBOUlHRnplVzVqSUNoN1pHRjBZVG9nZTJOdmJIVnRibk5FWVhSaExDQnRaWFJvYjJRc0lHUnBjM1JoYm1ObFRXVjBjbWxqY3l3Z2IzQjBhVzl1Y3l3Z2QyVnBaMmgwY3l3Z1lXZG5jbVZuWVhScGIyNU5aWFJvYjJSOWZTa2dQVDRnZTF4dUlDQnNaWFFnWkdGMFlUb2dlMlZ5Y205eVB6b2dZVzU1TENCbGJXSmxaR1JwYm1jL09pQmhibmw5TzF4dUlDQjBjbmtnZTF4dUlDQWdJR052Ym5OMElHVnRZbVZrWkdsdVp5QTlJR0YzWVdsMElHOXVUV1Z6YzJGblpTaGpiMngxYlc1elJHRjBZU3dnYldWMGFHOWtMQ0JrYVhOMFlXNWpaVTFsZEhKcFkzTXNJSGRsYVdkb2RITXNJR0ZuWjNKbFoyRjBhVzl1VFdWMGFHOWtMQ0J2Y0hScGIyNXpLVHRjYmlBZ0lDQmtZWFJoSUQwZ2UyVnRZbVZrWkdsdVozMDdYRzRnSUgwZ1kyRjBZMmdnS0dVNklHRnVlU2tnZTF4dUlDQWdJR1JoZEdFZ1BTQjdaWEp5YjNJNklHVjlPMXh1SUNCOVhHNGdJSE5sYkdZdWNHOXpkRTFsYzNOaFoyVW9lMXh1SUNBZ0lHVnljbTl5T2lCa1lYUmhMbVZ5Y205eUxGeHVJQ0FnSUdWdFltVmtaR2x1WnpvZ1pHRjBZUzVsYldKbFpHUnBibWNzWEc0Z0lIMHBPMXh1ZlR0Y2JpSmRmUT09IiwiLy8gQSBsaWJyYXJ5IG9mIHNlZWRhYmxlIFJOR3MgaW1wbGVtZW50ZWQgaW4gSmF2YXNjcmlwdC5cbi8vXG4vLyBVc2FnZTpcbi8vXG4vLyB2YXIgc2VlZHJhbmRvbSA9IHJlcXVpcmUoJ3NlZWRyYW5kb20nKTtcbi8vIHZhciByYW5kb20gPSBzZWVkcmFuZG9tKDEpOyAvLyBvciBhbnkgc2VlZC5cbi8vIHZhciB4ID0gcmFuZG9tKCk7ICAgICAgIC8vIDAgPD0geCA8IDEuICBFdmVyeSBiaXQgaXMgcmFuZG9tLlxuLy8gdmFyIHggPSByYW5kb20ucXVpY2soKTsgLy8gMCA8PSB4IDwgMS4gIDMyIGJpdHMgb2YgcmFuZG9tbmVzcy5cblxuLy8gYWxlYSwgYSA1My1iaXQgbXVsdGlwbHktd2l0aC1jYXJyeSBnZW5lcmF0b3IgYnkgSm9oYW5uZXMgQmFhZ8O4ZS5cbi8vIFBlcmlvZDogfjJeMTE2XG4vLyBSZXBvcnRlZCB0byBwYXNzIGFsbCBCaWdDcnVzaCB0ZXN0cy5cbnZhciBhbGVhID0gcmVxdWlyZSgnLi9saWIvYWxlYScpO1xuXG4vLyB4b3IxMjgsIGEgcHVyZSB4b3Itc2hpZnQgZ2VuZXJhdG9yIGJ5IEdlb3JnZSBNYXJzYWdsaWEuXG4vLyBQZXJpb2Q6IDJeMTI4LTEuXG4vLyBSZXBvcnRlZCB0byBmYWlsOiBNYXRyaXhSYW5rIGFuZCBMaW5lYXJDb21wLlxudmFyIHhvcjEyOCA9IHJlcXVpcmUoJy4vbGliL3hvcjEyOCcpO1xuXG4vLyB4b3J3b3csIEdlb3JnZSBNYXJzYWdsaWEncyAxNjAtYml0IHhvci1zaGlmdCBjb21iaW5lZCBwbHVzIHdleWwuXG4vLyBQZXJpb2Q6IDJeMTkyLTJeMzJcbi8vIFJlcG9ydGVkIHRvIGZhaWw6IENvbGxpc2lvbk92ZXIsIFNpbXBQb2tlciwgYW5kIExpbmVhckNvbXAuXG52YXIgeG9yd293ID0gcmVxdWlyZSgnLi9saWIveG9yd293Jyk7XG5cbi8vIHhvcnNoaWZ0NywgYnkgRnJhbsOnb2lzIFBhbm5ldG9uIGFuZCBQaWVycmUgTCdlY3V5ZXIsIHRha2VzXG4vLyBhIGRpZmZlcmVudCBhcHByb2FjaDogaXQgYWRkcyByb2J1c3RuZXNzIGJ5IGFsbG93aW5nIG1vcmUgc2hpZnRzXG4vLyB0aGFuIE1hcnNhZ2xpYSdzIG9yaWdpbmFsIHRocmVlLiAgSXQgaXMgYSA3LXNoaWZ0IGdlbmVyYXRvclxuLy8gd2l0aCAyNTYgYml0cywgdGhhdCBwYXNzZXMgQmlnQ3J1c2ggd2l0aCBubyBzeXN0bWF0aWMgZmFpbHVyZXMuXG4vLyBQZXJpb2QgMl4yNTYtMS5cbi8vIE5vIHN5c3RlbWF0aWMgQmlnQ3J1c2ggZmFpbHVyZXMgcmVwb3J0ZWQuXG52YXIgeG9yc2hpZnQ3ID0gcmVxdWlyZSgnLi9saWIveG9yc2hpZnQ3Jyk7XG5cbi8vIHhvcjQwOTYsIGJ5IFJpY2hhcmQgQnJlbnQsIGlzIGEgNDA5Ni1iaXQgeG9yLXNoaWZ0IHdpdGggYVxuLy8gdmVyeSBsb25nIHBlcmlvZCB0aGF0IGFsc28gYWRkcyBhIFdleWwgZ2VuZXJhdG9yLiBJdCBhbHNvIHBhc3Nlc1xuLy8gQmlnQ3J1c2ggd2l0aCBubyBzeXN0ZW1hdGljIGZhaWx1cmVzLiAgSXRzIGxvbmcgcGVyaW9kIG1heVxuLy8gYmUgdXNlZnVsIGlmIHlvdSBoYXZlIG1hbnkgZ2VuZXJhdG9ycyBhbmQgbmVlZCB0byBhdm9pZFxuLy8gY29sbGlzaW9ucy5cbi8vIFBlcmlvZDogMl40MTI4LTJeMzIuXG4vLyBObyBzeXN0ZW1hdGljIEJpZ0NydXNoIGZhaWx1cmVzIHJlcG9ydGVkLlxudmFyIHhvcjQwOTYgPSByZXF1aXJlKCcuL2xpYi94b3I0MDk2Jyk7XG5cbi8vIFR5Y2hlLWksIGJ5IFNhbXVlbCBOZXZlcyBhbmQgRmlsaXBlIEFyYXVqbywgaXMgYSBiaXQtc2hpZnRpbmcgcmFuZG9tXG4vLyBudW1iZXIgZ2VuZXJhdG9yIGRlcml2ZWQgZnJvbSBDaGFDaGEsIGEgbW9kZXJuIHN0cmVhbSBjaXBoZXIuXG4vLyBodHRwczovL2VkZW4uZGVpLnVjLnB0L35zbmV2ZXMvcHVicy8yMDExLXNuZmEyLnBkZlxuLy8gUGVyaW9kOiB+Ml4xMjdcbi8vIE5vIHN5c3RlbWF0aWMgQmlnQ3J1c2ggZmFpbHVyZXMgcmVwb3J0ZWQuXG52YXIgdHljaGVpID0gcmVxdWlyZSgnLi9saWIvdHljaGVpJyk7XG5cbi8vIFRoZSBvcmlnaW5hbCBBUkM0LWJhc2VkIHBybmcgaW5jbHVkZWQgaW4gdGhpcyBsaWJyYXJ5LlxuLy8gUGVyaW9kOiB+Ml4xNjAwXG52YXIgc3IgPSByZXF1aXJlKCcuL3NlZWRyYW5kb20nKTtcblxuc3IuYWxlYSA9IGFsZWE7XG5zci54b3IxMjggPSB4b3IxMjg7XG5zci54b3J3b3cgPSB4b3J3b3c7XG5zci54b3JzaGlmdDcgPSB4b3JzaGlmdDc7XG5zci54b3I0MDk2ID0geG9yNDA5NjtcbnNyLnR5Y2hlaSA9IHR5Y2hlaTtcblxubW9kdWxlLmV4cG9ydHMgPSBzcjtcbiIsIi8vIEEgcG9ydCBvZiBhbiBhbGdvcml0aG0gYnkgSm9oYW5uZXMgQmFhZ8O4ZSA8YmFhZ29lQGJhYWdvZS5jb20+LCAyMDEwXG4vLyBodHRwOi8vYmFhZ29lLmNvbS9lbi9SYW5kb21NdXNpbmdzL2phdmFzY3JpcHQvXG4vLyBodHRwczovL2dpdGh1Yi5jb20vbnF1aW5sYW4vYmV0dGVyLXJhbmRvbS1udW1iZXJzLWZvci1qYXZhc2NyaXB0LW1pcnJvclxuLy8gT3JpZ2luYWwgd29yayBpcyB1bmRlciBNSVQgbGljZW5zZSAtXG5cbi8vIENvcHlyaWdodCAoQykgMjAxMCBieSBKb2hhbm5lcyBCYWFnw7hlIDxiYWFnb2VAYmFhZ29lLm9yZz5cbi8vXG4vLyBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5XG4vLyBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSBcIlNvZnR3YXJlXCIpLCB0byBkZWFsXG4vLyBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzXG4vLyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsXG4vLyBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXNcbi8vIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6XG4vL1xuLy8gVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW5cbi8vIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLlxuLy9cbi8vIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcIkFTIElTXCIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1Jcbi8vIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLFxuLy8gRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFXG4vLyBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSXG4vLyBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLFxuLy8gT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTlxuLy8gVEhFIFNPRlRXQVJFLlxuXG5cblxuKGZ1bmN0aW9uKGdsb2JhbCwgbW9kdWxlLCBkZWZpbmUpIHtcblxuZnVuY3Rpb24gQWxlYShzZWVkKSB7XG4gIHZhciBtZSA9IHRoaXMsIG1hc2ggPSBNYXNoKCk7XG5cbiAgbWUubmV4dCA9IGZ1bmN0aW9uKCkge1xuICAgIHZhciB0ID0gMjA5MTYzOSAqIG1lLnMwICsgbWUuYyAqIDIuMzI4MzA2NDM2NTM4Njk2M2UtMTA7IC8vIDJeLTMyXG4gICAgbWUuczAgPSBtZS5zMTtcbiAgICBtZS5zMSA9IG1lLnMyO1xuICAgIHJldHVybiBtZS5zMiA9IHQgLSAobWUuYyA9IHQgfCAwKTtcbiAgfTtcblxuICAvLyBBcHBseSB0aGUgc2VlZGluZyBhbGdvcml0aG0gZnJvbSBCYWFnb2UuXG4gIG1lLmMgPSAxO1xuICBtZS5zMCA9IG1hc2goJyAnKTtcbiAgbWUuczEgPSBtYXNoKCcgJyk7XG4gIG1lLnMyID0gbWFzaCgnICcpO1xuICBtZS5zMCAtPSBtYXNoKHNlZWQpO1xuICBpZiAobWUuczAgPCAwKSB7IG1lLnMwICs9IDE7IH1cbiAgbWUuczEgLT0gbWFzaChzZWVkKTtcbiAgaWYgKG1lLnMxIDwgMCkgeyBtZS5zMSArPSAxOyB9XG4gIG1lLnMyIC09IG1hc2goc2VlZCk7XG4gIGlmIChtZS5zMiA8IDApIHsgbWUuczIgKz0gMTsgfVxuICBtYXNoID0gbnVsbDtcbn1cblxuZnVuY3Rpb24gY29weShmLCB0KSB7XG4gIHQuYyA9IGYuYztcbiAgdC5zMCA9IGYuczA7XG4gIHQuczEgPSBmLnMxO1xuICB0LnMyID0gZi5zMjtcbiAgcmV0dXJuIHQ7XG59XG5cbmZ1bmN0aW9uIGltcGwoc2VlZCwgb3B0cykge1xuICB2YXIgeGcgPSBuZXcgQWxlYShzZWVkKSxcbiAgICAgIHN0YXRlID0gb3B0cyAmJiBvcHRzLnN0YXRlLFxuICAgICAgcHJuZyA9IHhnLm5leHQ7XG4gIHBybmcuaW50MzIgPSBmdW5jdGlvbigpIHsgcmV0dXJuICh4Zy5uZXh0KCkgKiAweDEwMDAwMDAwMCkgfCAwOyB9XG4gIHBybmcuZG91YmxlID0gZnVuY3Rpb24oKSB7XG4gICAgcmV0dXJuIHBybmcoKSArIChwcm5nKCkgKiAweDIwMDAwMCB8IDApICogMS4xMTAyMjMwMjQ2MjUxNTY1ZS0xNjsgLy8gMl4tNTNcbiAgfTtcbiAgcHJuZy5xdWljayA9IHBybmc7XG4gIGlmIChzdGF0ZSkge1xuICAgIGlmICh0eXBlb2Yoc3RhdGUpID09ICdvYmplY3QnKSBjb3B5KHN0YXRlLCB4Zyk7XG4gICAgcHJuZy5zdGF0ZSA9IGZ1bmN0aW9uKCkgeyByZXR1cm4gY29weSh4Zywge30pOyB9XG4gIH1cbiAgcmV0dXJuIHBybmc7XG59XG5cbmZ1bmN0aW9uIE1hc2goKSB7XG4gIHZhciBuID0gMHhlZmM4MjQ5ZDtcblxuICB2YXIgbWFzaCA9IGZ1bmN0aW9uKGRhdGEpIHtcbiAgICBkYXRhID0gU3RyaW5nKGRhdGEpO1xuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgZGF0YS5sZW5ndGg7IGkrKykge1xuICAgICAgbiArPSBkYXRhLmNoYXJDb2RlQXQoaSk7XG4gICAgICB2YXIgaCA9IDAuMDI1MTk2MDMyODI0MTY5MzggKiBuO1xuICAgICAgbiA9IGggPj4+IDA7XG4gICAgICBoIC09IG47XG4gICAgICBoICo9IG47XG4gICAgICBuID0gaCA+Pj4gMDtcbiAgICAgIGggLT0gbjtcbiAgICAgIG4gKz0gaCAqIDB4MTAwMDAwMDAwOyAvLyAyXjMyXG4gICAgfVxuICAgIHJldHVybiAobiA+Pj4gMCkgKiAyLjMyODMwNjQzNjUzODY5NjNlLTEwOyAvLyAyXi0zMlxuICB9O1xuXG4gIHJldHVybiBtYXNoO1xufVxuXG5cbmlmIChtb2R1bGUgJiYgbW9kdWxlLmV4cG9ydHMpIHtcbiAgbW9kdWxlLmV4cG9ydHMgPSBpbXBsO1xufSBlbHNlIGlmIChkZWZpbmUgJiYgZGVmaW5lLmFtZCkge1xuICBkZWZpbmUoZnVuY3Rpb24oKSB7IHJldHVybiBpbXBsOyB9KTtcbn0gZWxzZSB7XG4gIHRoaXMuYWxlYSA9IGltcGw7XG59XG5cbn0pKFxuICB0aGlzLFxuICAodHlwZW9mIG1vZHVsZSkgPT0gJ29iamVjdCcgJiYgbW9kdWxlLCAgICAvLyBwcmVzZW50IGluIG5vZGUuanNcbiAgKHR5cGVvZiBkZWZpbmUpID09ICdmdW5jdGlvbicgJiYgZGVmaW5lICAgLy8gcHJlc2VudCB3aXRoIGFuIEFNRCBsb2FkZXJcbik7XG5cblxuIiwiLy8gQSBKYXZhc2NyaXB0IGltcGxlbWVudGFpb24gb2YgdGhlIFwiVHljaGUtaVwiIHBybmcgYWxnb3JpdGhtIGJ5XG4vLyBTYW11ZWwgTmV2ZXMgYW5kIEZpbGlwZSBBcmF1am8uXG4vLyBTZWUgaHR0cHM6Ly9lZGVuLmRlaS51Yy5wdC9+c25ldmVzL3B1YnMvMjAxMS1zbmZhMi5wZGZcblxuKGZ1bmN0aW9uKGdsb2JhbCwgbW9kdWxlLCBkZWZpbmUpIHtcblxuZnVuY3Rpb24gWG9yR2VuKHNlZWQpIHtcbiAgdmFyIG1lID0gdGhpcywgc3Ryc2VlZCA9ICcnO1xuXG4gIC8vIFNldCB1cCBnZW5lcmF0b3IgZnVuY3Rpb24uXG4gIG1lLm5leHQgPSBmdW5jdGlvbigpIHtcbiAgICB2YXIgYiA9IG1lLmIsIGMgPSBtZS5jLCBkID0gbWUuZCwgYSA9IG1lLmE7XG4gICAgYiA9IChiIDw8IDI1KSBeIChiID4+PiA3KSBeIGM7XG4gICAgYyA9IChjIC0gZCkgfCAwO1xuICAgIGQgPSAoZCA8PCAyNCkgXiAoZCA+Pj4gOCkgXiBhO1xuICAgIGEgPSAoYSAtIGIpIHwgMDtcbiAgICBtZS5iID0gYiA9IChiIDw8IDIwKSBeIChiID4+PiAxMikgXiBjO1xuICAgIG1lLmMgPSBjID0gKGMgLSBkKSB8IDA7XG4gICAgbWUuZCA9IChkIDw8IDE2KSBeIChjID4+PiAxNikgXiBhO1xuICAgIHJldHVybiBtZS5hID0gKGEgLSBiKSB8IDA7XG4gIH07XG5cbiAgLyogVGhlIGZvbGxvd2luZyBpcyBub24taW52ZXJ0ZWQgdHljaGUsIHdoaWNoIGhhcyBiZXR0ZXIgaW50ZXJuYWxcbiAgICogYml0IGRpZmZ1c2lvbiwgYnV0IHdoaWNoIGlzIGFib3V0IDI1JSBzbG93ZXIgdGhhbiB0eWNoZS1pIGluIEpTLlxuICBtZS5uZXh0ID0gZnVuY3Rpb24oKSB7XG4gICAgdmFyIGEgPSBtZS5hLCBiID0gbWUuYiwgYyA9IG1lLmMsIGQgPSBtZS5kO1xuICAgIGEgPSAobWUuYSArIG1lLmIgfCAwKSA+Pj4gMDtcbiAgICBkID0gbWUuZCBeIGE7IGQgPSBkIDw8IDE2IF4gZCA+Pj4gMTY7XG4gICAgYyA9IG1lLmMgKyBkIHwgMDtcbiAgICBiID0gbWUuYiBeIGM7IGIgPSBiIDw8IDEyIF4gZCA+Pj4gMjA7XG4gICAgbWUuYSA9IGEgPSBhICsgYiB8IDA7XG4gICAgZCA9IGQgXiBhOyBtZS5kID0gZCA9IGQgPDwgOCBeIGQgPj4+IDI0O1xuICAgIG1lLmMgPSBjID0gYyArIGQgfCAwO1xuICAgIGIgPSBiIF4gYztcbiAgICByZXR1cm4gbWUuYiA9IChiIDw8IDcgXiBiID4+PiAyNSk7XG4gIH1cbiAgKi9cblxuICBtZS5hID0gMDtcbiAgbWUuYiA9IDA7XG4gIG1lLmMgPSAyNjU0NDM1NzY5IHwgMDtcbiAgbWUuZCA9IDEzNjcxMzA1NTE7XG5cbiAgaWYgKHNlZWQgPT09IE1hdGguZmxvb3Ioc2VlZCkpIHtcbiAgICAvLyBJbnRlZ2VyIHNlZWQuXG4gICAgbWUuYSA9IChzZWVkIC8gMHgxMDAwMDAwMDApIHwgMDtcbiAgICBtZS5iID0gc2VlZCB8IDA7XG4gIH0gZWxzZSB7XG4gICAgLy8gU3RyaW5nIHNlZWQuXG4gICAgc3Ryc2VlZCArPSBzZWVkO1xuICB9XG5cbiAgLy8gTWl4IGluIHN0cmluZyBzZWVkLCB0aGVuIGRpc2NhcmQgYW4gaW5pdGlhbCBiYXRjaCBvZiA2NCB2YWx1ZXMuXG4gIGZvciAodmFyIGsgPSAwOyBrIDwgc3Ryc2VlZC5sZW5ndGggKyAyMDsgaysrKSB7XG4gICAgbWUuYiBePSBzdHJzZWVkLmNoYXJDb2RlQXQoaykgfCAwO1xuICAgIG1lLm5leHQoKTtcbiAgfVxufVxuXG5mdW5jdGlvbiBjb3B5KGYsIHQpIHtcbiAgdC5hID0gZi5hO1xuICB0LmIgPSBmLmI7XG4gIHQuYyA9IGYuYztcbiAgdC5kID0gZi5kO1xuICByZXR1cm4gdDtcbn07XG5cbmZ1bmN0aW9uIGltcGwoc2VlZCwgb3B0cykge1xuICB2YXIgeGcgPSBuZXcgWG9yR2VuKHNlZWQpLFxuICAgICAgc3RhdGUgPSBvcHRzICYmIG9wdHMuc3RhdGUsXG4gICAgICBwcm5nID0gZnVuY3Rpb24oKSB7IHJldHVybiAoeGcubmV4dCgpID4+PiAwKSAvIDB4MTAwMDAwMDAwOyB9O1xuICBwcm5nLmRvdWJsZSA9IGZ1bmN0aW9uKCkge1xuICAgIGRvIHtcbiAgICAgIHZhciB0b3AgPSB4Zy5uZXh0KCkgPj4+IDExLFxuICAgICAgICAgIGJvdCA9ICh4Zy5uZXh0KCkgPj4+IDApIC8gMHgxMDAwMDAwMDAsXG4gICAgICAgICAgcmVzdWx0ID0gKHRvcCArIGJvdCkgLyAoMSA8PCAyMSk7XG4gICAgfSB3aGlsZSAocmVzdWx0ID09PSAwKTtcbiAgICByZXR1cm4gcmVzdWx0O1xuICB9O1xuICBwcm5nLmludDMyID0geGcubmV4dDtcbiAgcHJuZy5xdWljayA9IHBybmc7XG4gIGlmIChzdGF0ZSkge1xuICAgIGlmICh0eXBlb2Yoc3RhdGUpID09ICdvYmplY3QnKSBjb3B5KHN0YXRlLCB4Zyk7XG4gICAgcHJuZy5zdGF0ZSA9IGZ1bmN0aW9uKCkgeyByZXR1cm4gY29weSh4Zywge30pOyB9XG4gIH1cbiAgcmV0dXJuIHBybmc7XG59XG5cbmlmIChtb2R1bGUgJiYgbW9kdWxlLmV4cG9ydHMpIHtcbiAgbW9kdWxlLmV4cG9ydHMgPSBpbXBsO1xufSBlbHNlIGlmIChkZWZpbmUgJiYgZGVmaW5lLmFtZCkge1xuICBkZWZpbmUoZnVuY3Rpb24oKSB7IHJldHVybiBpbXBsOyB9KTtcbn0gZWxzZSB7XG4gIHRoaXMudHljaGVpID0gaW1wbDtcbn1cblxufSkoXG4gIHRoaXMsXG4gICh0eXBlb2YgbW9kdWxlKSA9PSAnb2JqZWN0JyAmJiBtb2R1bGUsICAgIC8vIHByZXNlbnQgaW4gbm9kZS5qc1xuICAodHlwZW9mIGRlZmluZSkgPT0gJ2Z1bmN0aW9uJyAmJiBkZWZpbmUgICAvLyBwcmVzZW50IHdpdGggYW4gQU1EIGxvYWRlclxuKTtcblxuXG4iLCIvLyBBIEphdmFzY3JpcHQgaW1wbGVtZW50YWlvbiBvZiB0aGUgXCJ4b3IxMjhcIiBwcm5nIGFsZ29yaXRobSBieVxuLy8gR2VvcmdlIE1hcnNhZ2xpYS4gIFNlZSBodHRwOi8vd3d3LmpzdGF0c29mdC5vcmcvdjA4L2kxNC9wYXBlclxuXG4oZnVuY3Rpb24oZ2xvYmFsLCBtb2R1bGUsIGRlZmluZSkge1xuXG5mdW5jdGlvbiBYb3JHZW4oc2VlZCkge1xuICB2YXIgbWUgPSB0aGlzLCBzdHJzZWVkID0gJyc7XG5cbiAgbWUueCA9IDA7XG4gIG1lLnkgPSAwO1xuICBtZS56ID0gMDtcbiAgbWUudyA9IDA7XG5cbiAgLy8gU2V0IHVwIGdlbmVyYXRvciBmdW5jdGlvbi5cbiAgbWUubmV4dCA9IGZ1bmN0aW9uKCkge1xuICAgIHZhciB0ID0gbWUueCBeIChtZS54IDw8IDExKTtcbiAgICBtZS54ID0gbWUueTtcbiAgICBtZS55ID0gbWUuejtcbiAgICBtZS56ID0gbWUudztcbiAgICByZXR1cm4gbWUudyBePSAobWUudyA+Pj4gMTkpIF4gdCBeICh0ID4+PiA4KTtcbiAgfTtcblxuICBpZiAoc2VlZCA9PT0gKHNlZWQgfCAwKSkge1xuICAgIC8vIEludGVnZXIgc2VlZC5cbiAgICBtZS54ID0gc2VlZDtcbiAgfSBlbHNlIHtcbiAgICAvLyBTdHJpbmcgc2VlZC5cbiAgICBzdHJzZWVkICs9IHNlZWQ7XG4gIH1cblxuICAvLyBNaXggaW4gc3RyaW5nIHNlZWQsIHRoZW4gZGlzY2FyZCBhbiBpbml0aWFsIGJhdGNoIG9mIDY0IHZhbHVlcy5cbiAgZm9yICh2YXIgayA9IDA7IGsgPCBzdHJzZWVkLmxlbmd0aCArIDY0OyBrKyspIHtcbiAgICBtZS54IF49IHN0cnNlZWQuY2hhckNvZGVBdChrKSB8IDA7XG4gICAgbWUubmV4dCgpO1xuICB9XG59XG5cbmZ1bmN0aW9uIGNvcHkoZiwgdCkge1xuICB0LnggPSBmLng7XG4gIHQueSA9IGYueTtcbiAgdC56ID0gZi56O1xuICB0LncgPSBmLnc7XG4gIHJldHVybiB0O1xufVxuXG5mdW5jdGlvbiBpbXBsKHNlZWQsIG9wdHMpIHtcbiAgdmFyIHhnID0gbmV3IFhvckdlbihzZWVkKSxcbiAgICAgIHN0YXRlID0gb3B0cyAmJiBvcHRzLnN0YXRlLFxuICAgICAgcHJuZyA9IGZ1bmN0aW9uKCkgeyByZXR1cm4gKHhnLm5leHQoKSA+Pj4gMCkgLyAweDEwMDAwMDAwMDsgfTtcbiAgcHJuZy5kb3VibGUgPSBmdW5jdGlvbigpIHtcbiAgICBkbyB7XG4gICAgICB2YXIgdG9wID0geGcubmV4dCgpID4+PiAxMSxcbiAgICAgICAgICBib3QgPSAoeGcubmV4dCgpID4+PiAwKSAvIDB4MTAwMDAwMDAwLFxuICAgICAgICAgIHJlc3VsdCA9ICh0b3AgKyBib3QpIC8gKDEgPDwgMjEpO1xuICAgIH0gd2hpbGUgKHJlc3VsdCA9PT0gMCk7XG4gICAgcmV0dXJuIHJlc3VsdDtcbiAgfTtcbiAgcHJuZy5pbnQzMiA9IHhnLm5leHQ7XG4gIHBybmcucXVpY2sgPSBwcm5nO1xuICBpZiAoc3RhdGUpIHtcbiAgICBpZiAodHlwZW9mKHN0YXRlKSA9PSAnb2JqZWN0JykgY29weShzdGF0ZSwgeGcpO1xuICAgIHBybmcuc3RhdGUgPSBmdW5jdGlvbigpIHsgcmV0dXJuIGNvcHkoeGcsIHt9KTsgfVxuICB9XG4gIHJldHVybiBwcm5nO1xufVxuXG5pZiAobW9kdWxlICYmIG1vZHVsZS5leHBvcnRzKSB7XG4gIG1vZHVsZS5leHBvcnRzID0gaW1wbDtcbn0gZWxzZSBpZiAoZGVmaW5lICYmIGRlZmluZS5hbWQpIHtcbiAgZGVmaW5lKGZ1bmN0aW9uKCkgeyByZXR1cm4gaW1wbDsgfSk7XG59IGVsc2Uge1xuICB0aGlzLnhvcjEyOCA9IGltcGw7XG59XG5cbn0pKFxuICB0aGlzLFxuICAodHlwZW9mIG1vZHVsZSkgPT0gJ29iamVjdCcgJiYgbW9kdWxlLCAgICAvLyBwcmVzZW50IGluIG5vZGUuanNcbiAgKHR5cGVvZiBkZWZpbmUpID09ICdmdW5jdGlvbicgJiYgZGVmaW5lICAgLy8gcHJlc2VudCB3aXRoIGFuIEFNRCBsb2FkZXJcbik7XG5cblxuIiwiLy8gQSBKYXZhc2NyaXB0IGltcGxlbWVudGFpb24gb2YgUmljaGFyZCBCcmVudCdzIFhvcmdlbnMgeG9yNDA5NiBhbGdvcml0aG0uXG4vL1xuLy8gVGhpcyBmYXN0IG5vbi1jcnlwdG9ncmFwaGljIHJhbmRvbSBudW1iZXIgZ2VuZXJhdG9yIGlzIGRlc2lnbmVkIGZvclxuLy8gdXNlIGluIE1vbnRlLUNhcmxvIGFsZ29yaXRobXMuIEl0IGNvbWJpbmVzIGEgbG9uZy1wZXJpb2QgeG9yc2hpZnRcbi8vIGdlbmVyYXRvciB3aXRoIGEgV2V5bCBnZW5lcmF0b3IsIGFuZCBpdCBwYXNzZXMgYWxsIGNvbW1vbiBiYXR0ZXJpZXNcbi8vIG9mIHN0YXN0aWNpYWwgdGVzdHMgZm9yIHJhbmRvbW5lc3Mgd2hpbGUgY29uc3VtaW5nIG9ubHkgYSBmZXcgbmFub3NlY29uZHNcbi8vIGZvciBlYWNoIHBybmcgZ2VuZXJhdGVkLiAgRm9yIGJhY2tncm91bmQgb24gdGhlIGdlbmVyYXRvciwgc2VlIEJyZW50J3Ncbi8vIHBhcGVyOiBcIlNvbWUgbG9uZy1wZXJpb2QgcmFuZG9tIG51bWJlciBnZW5lcmF0b3JzIHVzaW5nIHNoaWZ0cyBhbmQgeG9ycy5cIlxuLy8gaHR0cDovL2FyeGl2Lm9yZy9wZGYvMTAwNC4zMTE1djEucGRmXG4vL1xuLy8gVXNhZ2U6XG4vL1xuLy8gdmFyIHhvcjQwOTYgPSByZXF1aXJlKCd4b3I0MDk2Jyk7XG4vLyByYW5kb20gPSB4b3I0MDk2KDEpOyAgICAgICAgICAgICAgICAgICAgICAgIC8vIFNlZWQgd2l0aCBpbnQzMiBvciBzdHJpbmcuXG4vLyBhc3NlcnQuZXF1YWwocmFuZG9tKCksIDAuMTUyMDQzNjQ1MDUzODU0Nyk7IC8vICgwLCAxKSByYW5nZSwgNTMgYml0cy5cbi8vIGFzc2VydC5lcXVhbChyYW5kb20uaW50MzIoKSwgMTgwNjUzNDg5Nyk7ICAgLy8gc2lnbmVkIGludDMyLCAzMiBiaXRzLlxuLy9cbi8vIEZvciBub256ZXJvIG51bWVyaWMga2V5cywgdGhpcyBpbXBlbGVtZW50YXRpb24gcHJvdmlkZXMgYSBzZXF1ZW5jZVxuLy8gaWRlbnRpY2FsIHRvIHRoYXQgYnkgQnJlbnQncyB4b3JnZW5zIDMgaW1wbGVtZW50YWlvbiBpbiBDLiAgVGhpc1xuLy8gaW1wbGVtZW50YXRpb24gYWxzbyBwcm92aWRlcyBmb3IgaW5pdGFsaXppbmcgdGhlIGdlbmVyYXRvciB3aXRoXG4vLyBzdHJpbmcgc2VlZHMsIG9yIGZvciBzYXZpbmcgYW5kIHJlc3RvcmluZyB0aGUgc3RhdGUgb2YgdGhlIGdlbmVyYXRvci5cbi8vXG4vLyBPbiBDaHJvbWUsIHRoaXMgcHJuZyBiZW5jaG1hcmtzIGFib3V0IDIuMSB0aW1lcyBzbG93ZXIgdGhhblxuLy8gSmF2YXNjcmlwdCdzIGJ1aWx0LWluIE1hdGgucmFuZG9tKCkuXG5cbihmdW5jdGlvbihnbG9iYWwsIG1vZHVsZSwgZGVmaW5lKSB7XG5cbmZ1bmN0aW9uIFhvckdlbihzZWVkKSB7XG4gIHZhciBtZSA9IHRoaXM7XG5cbiAgLy8gU2V0IHVwIGdlbmVyYXRvciBmdW5jdGlvbi5cbiAgbWUubmV4dCA9IGZ1bmN0aW9uKCkge1xuICAgIHZhciB3ID0gbWUudyxcbiAgICAgICAgWCA9IG1lLlgsIGkgPSBtZS5pLCB0LCB2O1xuICAgIC8vIFVwZGF0ZSBXZXlsIGdlbmVyYXRvci5cbiAgICBtZS53ID0gdyA9ICh3ICsgMHg2MWM4ODY0NykgfCAwO1xuICAgIC8vIFVwZGF0ZSB4b3IgZ2VuZXJhdG9yLlxuICAgIHYgPSBYWyhpICsgMzQpICYgMTI3XTtcbiAgICB0ID0gWFtpID0gKChpICsgMSkgJiAxMjcpXTtcbiAgICB2IF49IHYgPDwgMTM7XG4gICAgdCBePSB0IDw8IDE3O1xuICAgIHYgXj0gdiA+Pj4gMTU7XG4gICAgdCBePSB0ID4+PiAxMjtcbiAgICAvLyBVcGRhdGUgWG9yIGdlbmVyYXRvciBhcnJheSBzdGF0ZS5cbiAgICB2ID0gWFtpXSA9IHYgXiB0O1xuICAgIG1lLmkgPSBpO1xuICAgIC8vIFJlc3VsdCBpcyB0aGUgY29tYmluYXRpb24uXG4gICAgcmV0dXJuICh2ICsgKHcgXiAodyA+Pj4gMTYpKSkgfCAwO1xuICB9O1xuXG4gIGZ1bmN0aW9uIGluaXQobWUsIHNlZWQpIHtcbiAgICB2YXIgdCwgdiwgaSwgaiwgdywgWCA9IFtdLCBsaW1pdCA9IDEyODtcbiAgICBpZiAoc2VlZCA9PT0gKHNlZWQgfCAwKSkge1xuICAgICAgLy8gTnVtZXJpYyBzZWVkcyBpbml0aWFsaXplIHYsIHdoaWNoIGlzIHVzZWQgdG8gZ2VuZXJhdGVzIFguXG4gICAgICB2ID0gc2VlZDtcbiAgICAgIHNlZWQgPSBudWxsO1xuICAgIH0gZWxzZSB7XG4gICAgICAvLyBTdHJpbmcgc2VlZHMgYXJlIG1peGVkIGludG8gdiBhbmQgWCBvbmUgY2hhcmFjdGVyIGF0IGEgdGltZS5cbiAgICAgIHNlZWQgPSBzZWVkICsgJ1xcMCc7XG4gICAgICB2ID0gMDtcbiAgICAgIGxpbWl0ID0gTWF0aC5tYXgobGltaXQsIHNlZWQubGVuZ3RoKTtcbiAgICB9XG4gICAgLy8gSW5pdGlhbGl6ZSBjaXJjdWxhciBhcnJheSBhbmQgd2V5bCB2YWx1ZS5cbiAgICBmb3IgKGkgPSAwLCBqID0gLTMyOyBqIDwgbGltaXQ7ICsraikge1xuICAgICAgLy8gUHV0IHRoZSB1bmljb2RlIGNoYXJhY3RlcnMgaW50byB0aGUgYXJyYXksIGFuZCBzaHVmZmxlIHRoZW0uXG4gICAgICBpZiAoc2VlZCkgdiBePSBzZWVkLmNoYXJDb2RlQXQoKGogKyAzMikgJSBzZWVkLmxlbmd0aCk7XG4gICAgICAvLyBBZnRlciAzMiBzaHVmZmxlcywgdGFrZSB2IGFzIHRoZSBzdGFydGluZyB3IHZhbHVlLlxuICAgICAgaWYgKGogPT09IDApIHcgPSB2O1xuICAgICAgdiBePSB2IDw8IDEwO1xuICAgICAgdiBePSB2ID4+PiAxNTtcbiAgICAgIHYgXj0gdiA8PCA0O1xuICAgICAgdiBePSB2ID4+PiAxMztcbiAgICAgIGlmIChqID49IDApIHtcbiAgICAgICAgdyA9ICh3ICsgMHg2MWM4ODY0NykgfCAwOyAgICAgLy8gV2V5bC5cbiAgICAgICAgdCA9IChYW2ogJiAxMjddIF49ICh2ICsgdykpOyAgLy8gQ29tYmluZSB4b3IgYW5kIHdleWwgdG8gaW5pdCBhcnJheS5cbiAgICAgICAgaSA9ICgwID09IHQpID8gaSArIDEgOiAwOyAgICAgLy8gQ291bnQgemVyb2VzLlxuICAgICAgfVxuICAgIH1cbiAgICAvLyBXZSBoYXZlIGRldGVjdGVkIGFsbCB6ZXJvZXM7IG1ha2UgdGhlIGtleSBub256ZXJvLlxuICAgIGlmIChpID49IDEyOCkge1xuICAgICAgWFsoc2VlZCAmJiBzZWVkLmxlbmd0aCB8fCAwKSAmIDEyN10gPSAtMTtcbiAgICB9XG4gICAgLy8gUnVuIHRoZSBnZW5lcmF0b3IgNTEyIHRpbWVzIHRvIGZ1cnRoZXIgbWl4IHRoZSBzdGF0ZSBiZWZvcmUgdXNpbmcgaXQuXG4gICAgLy8gRmFjdG9yaW5nIHRoaXMgYXMgYSBmdW5jdGlvbiBzbG93cyB0aGUgbWFpbiBnZW5lcmF0b3IsIHNvIGl0IGlzIGp1c3RcbiAgICAvLyB1bnJvbGxlZCBoZXJlLiAgVGhlIHdleWwgZ2VuZXJhdG9yIGlzIG5vdCBhZHZhbmNlZCB3aGlsZSB3YXJtaW5nIHVwLlxuICAgIGkgPSAxMjc7XG4gICAgZm9yIChqID0gNCAqIDEyODsgaiA+IDA7IC0taikge1xuICAgICAgdiA9IFhbKGkgKyAzNCkgJiAxMjddO1xuICAgICAgdCA9IFhbaSA9ICgoaSArIDEpICYgMTI3KV07XG4gICAgICB2IF49IHYgPDwgMTM7XG4gICAgICB0IF49IHQgPDwgMTc7XG4gICAgICB2IF49IHYgPj4+IDE1O1xuICAgICAgdCBePSB0ID4+PiAxMjtcbiAgICAgIFhbaV0gPSB2IF4gdDtcbiAgICB9XG4gICAgLy8gU3RvcmluZyBzdGF0ZSBhcyBvYmplY3QgbWVtYmVycyBpcyBmYXN0ZXIgdGhhbiB1c2luZyBjbG9zdXJlIHZhcmlhYmxlcy5cbiAgICBtZS53ID0gdztcbiAgICBtZS5YID0gWDtcbiAgICBtZS5pID0gaTtcbiAgfVxuXG4gIGluaXQobWUsIHNlZWQpO1xufVxuXG5mdW5jdGlvbiBjb3B5KGYsIHQpIHtcbiAgdC5pID0gZi5pO1xuICB0LncgPSBmLnc7XG4gIHQuWCA9IGYuWC5zbGljZSgpO1xuICByZXR1cm4gdDtcbn07XG5cbmZ1bmN0aW9uIGltcGwoc2VlZCwgb3B0cykge1xuICBpZiAoc2VlZCA9PSBudWxsKSBzZWVkID0gKyhuZXcgRGF0ZSk7XG4gIHZhciB4ZyA9IG5ldyBYb3JHZW4oc2VlZCksXG4gICAgICBzdGF0ZSA9IG9wdHMgJiYgb3B0cy5zdGF0ZSxcbiAgICAgIHBybmcgPSBmdW5jdGlvbigpIHsgcmV0dXJuICh4Zy5uZXh0KCkgPj4+IDApIC8gMHgxMDAwMDAwMDA7IH07XG4gIHBybmcuZG91YmxlID0gZnVuY3Rpb24oKSB7XG4gICAgZG8ge1xuICAgICAgdmFyIHRvcCA9IHhnLm5leHQoKSA+Pj4gMTEsXG4gICAgICAgICAgYm90ID0gKHhnLm5leHQoKSA+Pj4gMCkgLyAweDEwMDAwMDAwMCxcbiAgICAgICAgICByZXN1bHQgPSAodG9wICsgYm90KSAvICgxIDw8IDIxKTtcbiAgICB9IHdoaWxlIChyZXN1bHQgPT09IDApO1xuICAgIHJldHVybiByZXN1bHQ7XG4gIH07XG4gIHBybmcuaW50MzIgPSB4Zy5uZXh0O1xuICBwcm5nLnF1aWNrID0gcHJuZztcbiAgaWYgKHN0YXRlKSB7XG4gICAgaWYgKHN0YXRlLlgpIGNvcHkoc3RhdGUsIHhnKTtcbiAgICBwcm5nLnN0YXRlID0gZnVuY3Rpb24oKSB7IHJldHVybiBjb3B5KHhnLCB7fSk7IH1cbiAgfVxuICByZXR1cm4gcHJuZztcbn1cblxuaWYgKG1vZHVsZSAmJiBtb2R1bGUuZXhwb3J0cykge1xuICBtb2R1bGUuZXhwb3J0cyA9IGltcGw7XG59IGVsc2UgaWYgKGRlZmluZSAmJiBkZWZpbmUuYW1kKSB7XG4gIGRlZmluZShmdW5jdGlvbigpIHsgcmV0dXJuIGltcGw7IH0pO1xufSBlbHNlIHtcbiAgdGhpcy54b3I0MDk2ID0gaW1wbDtcbn1cblxufSkoXG4gIHRoaXMsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIHdpbmRvdyBvYmplY3Qgb3IgZ2xvYmFsXG4gICh0eXBlb2YgbW9kdWxlKSA9PSAnb2JqZWN0JyAmJiBtb2R1bGUsICAgIC8vIHByZXNlbnQgaW4gbm9kZS5qc1xuICAodHlwZW9mIGRlZmluZSkgPT0gJ2Z1bmN0aW9uJyAmJiBkZWZpbmUgICAvLyBwcmVzZW50IHdpdGggYW4gQU1EIGxvYWRlclxuKTtcbiIsIi8vIEEgSmF2YXNjcmlwdCBpbXBsZW1lbnRhaW9uIG9mIHRoZSBcInhvcnNoaWZ0N1wiIGFsZ29yaXRobSBieVxuLy8gRnJhbsOnb2lzIFBhbm5ldG9uIGFuZCBQaWVycmUgTCdlY3V5ZXI6XG4vLyBcIk9uIHRoZSBYb3Jnc2hpZnQgUmFuZG9tIE51bWJlciBHZW5lcmF0b3JzXCJcbi8vIGh0dHA6Ly9zYWx1Yy5lbmdyLnVjb25uLmVkdS9yZWZzL2NyeXB0by9ybmcvcGFubmV0b24wNW9udGhleG9yc2hpZnQucGRmXG5cbihmdW5jdGlvbihnbG9iYWwsIG1vZHVsZSwgZGVmaW5lKSB7XG5cbmZ1bmN0aW9uIFhvckdlbihzZWVkKSB7XG4gIHZhciBtZSA9IHRoaXM7XG5cbiAgLy8gU2V0IHVwIGdlbmVyYXRvciBmdW5jdGlvbi5cbiAgbWUubmV4dCA9IGZ1bmN0aW9uKCkge1xuICAgIC8vIFVwZGF0ZSB4b3IgZ2VuZXJhdG9yLlxuICAgIHZhciBYID0gbWUueCwgaSA9IG1lLmksIHQsIHYsIHc7XG4gICAgdCA9IFhbaV07IHQgXj0gKHQgPj4+IDcpOyB2ID0gdCBeICh0IDw8IDI0KTtcbiAgICB0ID0gWFsoaSArIDEpICYgN107IHYgXj0gdCBeICh0ID4+PiAxMCk7XG4gICAgdCA9IFhbKGkgKyAzKSAmIDddOyB2IF49IHQgXiAodCA+Pj4gMyk7XG4gICAgdCA9IFhbKGkgKyA0KSAmIDddOyB2IF49IHQgXiAodCA8PCA3KTtcbiAgICB0ID0gWFsoaSArIDcpICYgN107IHQgPSB0IF4gKHQgPDwgMTMpOyB2IF49IHQgXiAodCA8PCA5KTtcbiAgICBYW2ldID0gdjtcbiAgICBtZS5pID0gKGkgKyAxKSAmIDc7XG4gICAgcmV0dXJuIHY7XG4gIH07XG5cbiAgZnVuY3Rpb24gaW5pdChtZSwgc2VlZCkge1xuICAgIHZhciBqLCB3LCBYID0gW107XG5cbiAgICBpZiAoc2VlZCA9PT0gKHNlZWQgfCAwKSkge1xuICAgICAgLy8gU2VlZCBzdGF0ZSBhcnJheSB1c2luZyBhIDMyLWJpdCBpbnRlZ2VyLlxuICAgICAgdyA9IFhbMF0gPSBzZWVkO1xuICAgIH0gZWxzZSB7XG4gICAgICAvLyBTZWVkIHN0YXRlIHVzaW5nIGEgc3RyaW5nLlxuICAgICAgc2VlZCA9ICcnICsgc2VlZDtcbiAgICAgIGZvciAoaiA9IDA7IGogPCBzZWVkLmxlbmd0aDsgKytqKSB7XG4gICAgICAgIFhbaiAmIDddID0gKFhbaiAmIDddIDw8IDE1KSBeXG4gICAgICAgICAgICAoc2VlZC5jaGFyQ29kZUF0KGopICsgWFsoaiArIDEpICYgN10gPDwgMTMpO1xuICAgICAgfVxuICAgIH1cbiAgICAvLyBFbmZvcmNlIGFuIGFycmF5IGxlbmd0aCBvZiA4LCBub3QgYWxsIHplcm9lcy5cbiAgICB3aGlsZSAoWC5sZW5ndGggPCA4KSBYLnB1c2goMCk7XG4gICAgZm9yIChqID0gMDsgaiA8IDggJiYgWFtqXSA9PT0gMDsgKytqKTtcbiAgICBpZiAoaiA9PSA4KSB3ID0gWFs3XSA9IC0xOyBlbHNlIHcgPSBYW2pdO1xuXG4gICAgbWUueCA9IFg7XG4gICAgbWUuaSA9IDA7XG5cbiAgICAvLyBEaXNjYXJkIGFuIGluaXRpYWwgMjU2IHZhbHVlcy5cbiAgICBmb3IgKGogPSAyNTY7IGogPiAwOyAtLWopIHtcbiAgICAgIG1lLm5leHQoKTtcbiAgICB9XG4gIH1cblxuICBpbml0KG1lLCBzZWVkKTtcbn1cblxuZnVuY3Rpb24gY29weShmLCB0KSB7XG4gIHQueCA9IGYueC5zbGljZSgpO1xuICB0LmkgPSBmLmk7XG4gIHJldHVybiB0O1xufVxuXG5mdW5jdGlvbiBpbXBsKHNlZWQsIG9wdHMpIHtcbiAgaWYgKHNlZWQgPT0gbnVsbCkgc2VlZCA9ICsobmV3IERhdGUpO1xuICB2YXIgeGcgPSBuZXcgWG9yR2VuKHNlZWQpLFxuICAgICAgc3RhdGUgPSBvcHRzICYmIG9wdHMuc3RhdGUsXG4gICAgICBwcm5nID0gZnVuY3Rpb24oKSB7IHJldHVybiAoeGcubmV4dCgpID4+PiAwKSAvIDB4MTAwMDAwMDAwOyB9O1xuICBwcm5nLmRvdWJsZSA9IGZ1bmN0aW9uKCkge1xuICAgIGRvIHtcbiAgICAgIHZhciB0b3AgPSB4Zy5uZXh0KCkgPj4+IDExLFxuICAgICAgICAgIGJvdCA9ICh4Zy5uZXh0KCkgPj4+IDApIC8gMHgxMDAwMDAwMDAsXG4gICAgICAgICAgcmVzdWx0ID0gKHRvcCArIGJvdCkgLyAoMSA8PCAyMSk7XG4gICAgfSB3aGlsZSAocmVzdWx0ID09PSAwKTtcbiAgICByZXR1cm4gcmVzdWx0O1xuICB9O1xuICBwcm5nLmludDMyID0geGcubmV4dDtcbiAgcHJuZy5xdWljayA9IHBybmc7XG4gIGlmIChzdGF0ZSkge1xuICAgIGlmIChzdGF0ZS54KSBjb3B5KHN0YXRlLCB4Zyk7XG4gICAgcHJuZy5zdGF0ZSA9IGZ1bmN0aW9uKCkgeyByZXR1cm4gY29weSh4Zywge30pOyB9XG4gIH1cbiAgcmV0dXJuIHBybmc7XG59XG5cbmlmIChtb2R1bGUgJiYgbW9kdWxlLmV4cG9ydHMpIHtcbiAgbW9kdWxlLmV4cG9ydHMgPSBpbXBsO1xufSBlbHNlIGlmIChkZWZpbmUgJiYgZGVmaW5lLmFtZCkge1xuICBkZWZpbmUoZnVuY3Rpb24oKSB7IHJldHVybiBpbXBsOyB9KTtcbn0gZWxzZSB7XG4gIHRoaXMueG9yc2hpZnQ3ID0gaW1wbDtcbn1cblxufSkoXG4gIHRoaXMsXG4gICh0eXBlb2YgbW9kdWxlKSA9PSAnb2JqZWN0JyAmJiBtb2R1bGUsICAgIC8vIHByZXNlbnQgaW4gbm9kZS5qc1xuICAodHlwZW9mIGRlZmluZSkgPT0gJ2Z1bmN0aW9uJyAmJiBkZWZpbmUgICAvLyBwcmVzZW50IHdpdGggYW4gQU1EIGxvYWRlclxuKTtcblxuIiwiLy8gQSBKYXZhc2NyaXB0IGltcGxlbWVudGFpb24gb2YgdGhlIFwieG9yd293XCIgcHJuZyBhbGdvcml0aG0gYnlcbi8vIEdlb3JnZSBNYXJzYWdsaWEuICBTZWUgaHR0cDovL3d3dy5qc3RhdHNvZnQub3JnL3YwOC9pMTQvcGFwZXJcblxuKGZ1bmN0aW9uKGdsb2JhbCwgbW9kdWxlLCBkZWZpbmUpIHtcblxuZnVuY3Rpb24gWG9yR2VuKHNlZWQpIHtcbiAgdmFyIG1lID0gdGhpcywgc3Ryc2VlZCA9ICcnO1xuXG4gIC8vIFNldCB1cCBnZW5lcmF0b3IgZnVuY3Rpb24uXG4gIG1lLm5leHQgPSBmdW5jdGlvbigpIHtcbiAgICB2YXIgdCA9IChtZS54IF4gKG1lLnggPj4+IDIpKTtcbiAgICBtZS54ID0gbWUueTsgbWUueSA9IG1lLno7IG1lLnogPSBtZS53OyBtZS53ID0gbWUudjtcbiAgICByZXR1cm4gKG1lLmQgPSAobWUuZCArIDM2MjQzNyB8IDApKSArXG4gICAgICAgKG1lLnYgPSAobWUudiBeIChtZS52IDw8IDQpKSBeICh0IF4gKHQgPDwgMSkpKSB8IDA7XG4gIH07XG5cbiAgbWUueCA9IDA7XG4gIG1lLnkgPSAwO1xuICBtZS56ID0gMDtcbiAgbWUudyA9IDA7XG4gIG1lLnYgPSAwO1xuXG4gIGlmIChzZWVkID09PSAoc2VlZCB8IDApKSB7XG4gICAgLy8gSW50ZWdlciBzZWVkLlxuICAgIG1lLnggPSBzZWVkO1xuICB9IGVsc2Uge1xuICAgIC8vIFN0cmluZyBzZWVkLlxuICAgIHN0cnNlZWQgKz0gc2VlZDtcbiAgfVxuXG4gIC8vIE1peCBpbiBzdHJpbmcgc2VlZCwgdGhlbiBkaXNjYXJkIGFuIGluaXRpYWwgYmF0Y2ggb2YgNjQgdmFsdWVzLlxuICBmb3IgKHZhciBrID0gMDsgayA8IHN0cnNlZWQubGVuZ3RoICsgNjQ7IGsrKykge1xuICAgIG1lLnggXj0gc3Ryc2VlZC5jaGFyQ29kZUF0KGspIHwgMDtcbiAgICBpZiAoayA9PSBzdHJzZWVkLmxlbmd0aCkge1xuICAgICAgbWUuZCA9IG1lLnggPDwgMTAgXiBtZS54ID4+PiA0O1xuICAgIH1cbiAgICBtZS5uZXh0KCk7XG4gIH1cbn1cblxuZnVuY3Rpb24gY29weShmLCB0KSB7XG4gIHQueCA9IGYueDtcbiAgdC55ID0gZi55O1xuICB0LnogPSBmLno7XG4gIHQudyA9IGYudztcbiAgdC52ID0gZi52O1xuICB0LmQgPSBmLmQ7XG4gIHJldHVybiB0O1xufVxuXG5mdW5jdGlvbiBpbXBsKHNlZWQsIG9wdHMpIHtcbiAgdmFyIHhnID0gbmV3IFhvckdlbihzZWVkKSxcbiAgICAgIHN0YXRlID0gb3B0cyAmJiBvcHRzLnN0YXRlLFxuICAgICAgcHJuZyA9IGZ1bmN0aW9uKCkgeyByZXR1cm4gKHhnLm5leHQoKSA+Pj4gMCkgLyAweDEwMDAwMDAwMDsgfTtcbiAgcHJuZy5kb3VibGUgPSBmdW5jdGlvbigpIHtcbiAgICBkbyB7XG4gICAgICB2YXIgdG9wID0geGcubmV4dCgpID4+PiAxMSxcbiAgICAgICAgICBib3QgPSAoeGcubmV4dCgpID4+PiAwKSAvIDB4MTAwMDAwMDAwLFxuICAgICAgICAgIHJlc3VsdCA9ICh0b3AgKyBib3QpIC8gKDEgPDwgMjEpO1xuICAgIH0gd2hpbGUgKHJlc3VsdCA9PT0gMCk7XG4gICAgcmV0dXJuIHJlc3VsdDtcbiAgfTtcbiAgcHJuZy5pbnQzMiA9IHhnLm5leHQ7XG4gIHBybmcucXVpY2sgPSBwcm5nO1xuICBpZiAoc3RhdGUpIHtcbiAgICBpZiAodHlwZW9mKHN0YXRlKSA9PSAnb2JqZWN0JykgY29weShzdGF0ZSwgeGcpO1xuICAgIHBybmcuc3RhdGUgPSBmdW5jdGlvbigpIHsgcmV0dXJuIGNvcHkoeGcsIHt9KTsgfVxuICB9XG4gIHJldHVybiBwcm5nO1xufVxuXG5pZiAobW9kdWxlICYmIG1vZHVsZS5leHBvcnRzKSB7XG4gIG1vZHVsZS5leHBvcnRzID0gaW1wbDtcbn0gZWxzZSBpZiAoZGVmaW5lICYmIGRlZmluZS5hbWQpIHtcbiAgZGVmaW5lKGZ1bmN0aW9uKCkgeyByZXR1cm4gaW1wbDsgfSk7XG59IGVsc2Uge1xuICB0aGlzLnhvcndvdyA9IGltcGw7XG59XG5cbn0pKFxuICB0aGlzLFxuICAodHlwZW9mIG1vZHVsZSkgPT0gJ29iamVjdCcgJiYgbW9kdWxlLCAgICAvLyBwcmVzZW50IGluIG5vZGUuanNcbiAgKHR5cGVvZiBkZWZpbmUpID09ICdmdW5jdGlvbicgJiYgZGVmaW5lICAgLy8gcHJlc2VudCB3aXRoIGFuIEFNRCBsb2FkZXJcbik7XG5cblxuIiwiLypcbkNvcHlyaWdodCAyMDE5IERhdmlkIEJhdS5cblxuUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nXG5hIGNvcHkgb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGVcblwiU29mdHdhcmVcIiksIHRvIGRlYWwgaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZ1xud2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHMgdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLFxuZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGwgY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvXG5wZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpcyBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG9cbnRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczpcblxuVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmVcbmluY2x1ZGVkIGluIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLlxuXG5USEUgU09GVFdBUkUgSVMgUFJPVklERUQgXCJBUyBJU1wiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELFxuRVhQUkVTUyBPUiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GXG5NRVJDSEFOVEFCSUxJVFksIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuXG5JTiBOTyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWVxuQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIgTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCxcblRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFXG5TT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRSBTT0ZUV0FSRS5cblxuKi9cblxuKGZ1bmN0aW9uIChnbG9iYWwsIHBvb2wsIG1hdGgpIHtcbi8vXG4vLyBUaGUgZm9sbG93aW5nIGNvbnN0YW50cyBhcmUgcmVsYXRlZCB0byBJRUVFIDc1NCBsaW1pdHMuXG4vL1xuXG52YXIgd2lkdGggPSAyNTYsICAgICAgICAvLyBlYWNoIFJDNCBvdXRwdXQgaXMgMCA8PSB4IDwgMjU2XG4gICAgY2h1bmtzID0gNiwgICAgICAgICAvLyBhdCBsZWFzdCBzaXggUkM0IG91dHB1dHMgZm9yIGVhY2ggZG91YmxlXG4gICAgZGlnaXRzID0gNTIsICAgICAgICAvLyB0aGVyZSBhcmUgNTIgc2lnbmlmaWNhbnQgZGlnaXRzIGluIGEgZG91YmxlXG4gICAgcm5nbmFtZSA9ICdyYW5kb20nLCAvLyBybmduYW1lOiBuYW1lIGZvciBNYXRoLnJhbmRvbSBhbmQgTWF0aC5zZWVkcmFuZG9tXG4gICAgc3RhcnRkZW5vbSA9IG1hdGgucG93KHdpZHRoLCBjaHVua3MpLFxuICAgIHNpZ25pZmljYW5jZSA9IG1hdGgucG93KDIsIGRpZ2l0cyksXG4gICAgb3ZlcmZsb3cgPSBzaWduaWZpY2FuY2UgKiAyLFxuICAgIG1hc2sgPSB3aWR0aCAtIDEsXG4gICAgbm9kZWNyeXB0bzsgICAgICAgICAvLyBub2RlLmpzIGNyeXB0byBtb2R1bGUsIGluaXRpYWxpemVkIGF0IHRoZSBib3R0b20uXG5cbi8vXG4vLyBzZWVkcmFuZG9tKClcbi8vIFRoaXMgaXMgdGhlIHNlZWRyYW5kb20gZnVuY3Rpb24gZGVzY3JpYmVkIGFib3ZlLlxuLy9cbmZ1bmN0aW9uIHNlZWRyYW5kb20oc2VlZCwgb3B0aW9ucywgY2FsbGJhY2spIHtcbiAgdmFyIGtleSA9IFtdO1xuICBvcHRpb25zID0gKG9wdGlvbnMgPT0gdHJ1ZSkgPyB7IGVudHJvcHk6IHRydWUgfSA6IChvcHRpb25zIHx8IHt9KTtcblxuICAvLyBGbGF0dGVuIHRoZSBzZWVkIHN0cmluZyBvciBidWlsZCBvbmUgZnJvbSBsb2NhbCBlbnRyb3B5IGlmIG5lZWRlZC5cbiAgdmFyIHNob3J0c2VlZCA9IG1peGtleShmbGF0dGVuKFxuICAgIG9wdGlvbnMuZW50cm9weSA/IFtzZWVkLCB0b3N0cmluZyhwb29sKV0gOlxuICAgIChzZWVkID09IG51bGwpID8gYXV0b3NlZWQoKSA6IHNlZWQsIDMpLCBrZXkpO1xuXG4gIC8vIFVzZSB0aGUgc2VlZCB0byBpbml0aWFsaXplIGFuIEFSQzQgZ2VuZXJhdG9yLlxuICB2YXIgYXJjNCA9IG5ldyBBUkM0KGtleSk7XG5cbiAgLy8gVGhpcyBmdW5jdGlvbiByZXR1cm5zIGEgcmFuZG9tIGRvdWJsZSBpbiBbMCwgMSkgdGhhdCBjb250YWluc1xuICAvLyByYW5kb21uZXNzIGluIGV2ZXJ5IGJpdCBvZiB0aGUgbWFudGlzc2Egb2YgdGhlIElFRUUgNzU0IHZhbHVlLlxuICB2YXIgcHJuZyA9IGZ1bmN0aW9uKCkge1xuICAgIHZhciBuID0gYXJjNC5nKGNodW5rcyksICAgICAgICAgICAgIC8vIFN0YXJ0IHdpdGggYSBudW1lcmF0b3IgbiA8IDIgXiA0OFxuICAgICAgICBkID0gc3RhcnRkZW5vbSwgICAgICAgICAgICAgICAgIC8vICAgYW5kIGRlbm9taW5hdG9yIGQgPSAyIF4gNDguXG4gICAgICAgIHggPSAwOyAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gICBhbmQgbm8gJ2V4dHJhIGxhc3QgYnl0ZScuXG4gICAgd2hpbGUgKG4gPCBzaWduaWZpY2FuY2UpIHsgICAgICAgICAgLy8gRmlsbCB1cCBhbGwgc2lnbmlmaWNhbnQgZGlnaXRzIGJ5XG4gICAgICBuID0gKG4gKyB4KSAqIHdpZHRoOyAgICAgICAgICAgICAgLy8gICBzaGlmdGluZyBudW1lcmF0b3IgYW5kXG4gICAgICBkICo9IHdpZHRoOyAgICAgICAgICAgICAgICAgICAgICAgLy8gICBkZW5vbWluYXRvciBhbmQgZ2VuZXJhdGluZyBhXG4gICAgICB4ID0gYXJjNC5nKDEpOyAgICAgICAgICAgICAgICAgICAgLy8gICBuZXcgbGVhc3Qtc2lnbmlmaWNhbnQtYnl0ZS5cbiAgICB9XG4gICAgd2hpbGUgKG4gPj0gb3ZlcmZsb3cpIHsgICAgICAgICAgICAgLy8gVG8gYXZvaWQgcm91bmRpbmcgdXAsIGJlZm9yZSBhZGRpbmdcbiAgICAgIG4gLz0gMjsgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAgIGxhc3QgYnl0ZSwgc2hpZnQgZXZlcnl0aGluZ1xuICAgICAgZCAvPSAyOyAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vICAgcmlnaHQgdXNpbmcgaW50ZWdlciBtYXRoIHVudGlsXG4gICAgICB4ID4+Pj0gMTsgICAgICAgICAgICAgICAgICAgICAgICAgLy8gICB3ZSBoYXZlIGV4YWN0bHkgdGhlIGRlc2lyZWQgYml0cy5cbiAgICB9XG4gICAgcmV0dXJuIChuICsgeCkgLyBkOyAgICAgICAgICAgICAgICAgLy8gRm9ybSB0aGUgbnVtYmVyIHdpdGhpbiBbMCwgMSkuXG4gIH07XG5cbiAgcHJuZy5pbnQzMiA9IGZ1bmN0aW9uKCkgeyByZXR1cm4gYXJjNC5nKDQpIHwgMDsgfVxuICBwcm5nLnF1aWNrID0gZnVuY3Rpb24oKSB7IHJldHVybiBhcmM0LmcoNCkgLyAweDEwMDAwMDAwMDsgfVxuICBwcm5nLmRvdWJsZSA9IHBybmc7XG5cbiAgLy8gTWl4IHRoZSByYW5kb21uZXNzIGludG8gYWNjdW11bGF0ZWQgZW50cm9weS5cbiAgbWl4a2V5KHRvc3RyaW5nKGFyYzQuUyksIHBvb2wpO1xuXG4gIC8vIENhbGxpbmcgY29udmVudGlvbjogd2hhdCB0byByZXR1cm4gYXMgYSBmdW5jdGlvbiBvZiBwcm5nLCBzZWVkLCBpc19tYXRoLlxuICByZXR1cm4gKG9wdGlvbnMucGFzcyB8fCBjYWxsYmFjayB8fFxuICAgICAgZnVuY3Rpb24ocHJuZywgc2VlZCwgaXNfbWF0aF9jYWxsLCBzdGF0ZSkge1xuICAgICAgICBpZiAoc3RhdGUpIHtcbiAgICAgICAgICAvLyBMb2FkIHRoZSBhcmM0IHN0YXRlIGZyb20gdGhlIGdpdmVuIHN0YXRlIGlmIGl0IGhhcyBhbiBTIGFycmF5LlxuICAgICAgICAgIGlmIChzdGF0ZS5TKSB7IGNvcHkoc3RhdGUsIGFyYzQpOyB9XG4gICAgICAgICAgLy8gT25seSBwcm92aWRlIHRoZSAuc3RhdGUgbWV0aG9kIGlmIHJlcXVlc3RlZCB2aWEgb3B0aW9ucy5zdGF0ZS5cbiAgICAgICAgICBwcm5nLnN0YXRlID0gZnVuY3Rpb24oKSB7IHJldHVybiBjb3B5KGFyYzQsIHt9KTsgfVxuICAgICAgICB9XG5cbiAgICAgICAgLy8gSWYgY2FsbGVkIGFzIGEgbWV0aG9kIG9mIE1hdGggKE1hdGguc2VlZHJhbmRvbSgpKSwgbXV0YXRlXG4gICAgICAgIC8vIE1hdGgucmFuZG9tIGJlY2F1c2UgdGhhdCBpcyBob3cgc2VlZHJhbmRvbS5qcyBoYXMgd29ya2VkIHNpbmNlIHYxLjAuXG4gICAgICAgIGlmIChpc19tYXRoX2NhbGwpIHsgbWF0aFtybmduYW1lXSA9IHBybmc7IHJldHVybiBzZWVkOyB9XG5cbiAgICAgICAgLy8gT3RoZXJ3aXNlLCBpdCBpcyBhIG5ld2VyIGNhbGxpbmcgY29udmVudGlvbiwgc28gcmV0dXJuIHRoZVxuICAgICAgICAvLyBwcm5nIGRpcmVjdGx5LlxuICAgICAgICBlbHNlIHJldHVybiBwcm5nO1xuICAgICAgfSkoXG4gIHBybmcsXG4gIHNob3J0c2VlZCxcbiAgJ2dsb2JhbCcgaW4gb3B0aW9ucyA/IG9wdGlvbnMuZ2xvYmFsIDogKHRoaXMgPT0gbWF0aCksXG4gIG9wdGlvbnMuc3RhdGUpO1xufVxuXG4vL1xuLy8gQVJDNFxuLy9cbi8vIEFuIEFSQzQgaW1wbGVtZW50YXRpb24uICBUaGUgY29uc3RydWN0b3IgdGFrZXMgYSBrZXkgaW4gdGhlIGZvcm0gb2Zcbi8vIGFuIGFycmF5IG9mIGF0IG1vc3QgKHdpZHRoKSBpbnRlZ2VycyB0aGF0IHNob3VsZCBiZSAwIDw9IHggPCAod2lkdGgpLlxuLy9cbi8vIFRoZSBnKGNvdW50KSBtZXRob2QgcmV0dXJucyBhIHBzZXVkb3JhbmRvbSBpbnRlZ2VyIHRoYXQgY29uY2F0ZW5hdGVzXG4vLyB0aGUgbmV4dCAoY291bnQpIG91dHB1dHMgZnJvbSBBUkM0LiAgSXRzIHJldHVybiB2YWx1ZSBpcyBhIG51bWJlciB4XG4vLyB0aGF0IGlzIGluIHRoZSByYW5nZSAwIDw9IHggPCAod2lkdGggXiBjb3VudCkuXG4vL1xuZnVuY3Rpb24gQVJDNChrZXkpIHtcbiAgdmFyIHQsIGtleWxlbiA9IGtleS5sZW5ndGgsXG4gICAgICBtZSA9IHRoaXMsIGkgPSAwLCBqID0gbWUuaSA9IG1lLmogPSAwLCBzID0gbWUuUyA9IFtdO1xuXG4gIC8vIFRoZSBlbXB0eSBrZXkgW10gaXMgdHJlYXRlZCBhcyBbMF0uXG4gIGlmICgha2V5bGVuKSB7IGtleSA9IFtrZXlsZW4rK107IH1cblxuICAvLyBTZXQgdXAgUyB1c2luZyB0aGUgc3RhbmRhcmQga2V5IHNjaGVkdWxpbmcgYWxnb3JpdGhtLlxuICB3aGlsZSAoaSA8IHdpZHRoKSB7XG4gICAgc1tpXSA9IGkrKztcbiAgfVxuICBmb3IgKGkgPSAwOyBpIDwgd2lkdGg7IGkrKykge1xuICAgIHNbaV0gPSBzW2ogPSBtYXNrICYgKGogKyBrZXlbaSAlIGtleWxlbl0gKyAodCA9IHNbaV0pKV07XG4gICAgc1tqXSA9IHQ7XG4gIH1cblxuICAvLyBUaGUgXCJnXCIgbWV0aG9kIHJldHVybnMgdGhlIG5leHQgKGNvdW50KSBvdXRwdXRzIGFzIG9uZSBudW1iZXIuXG4gIChtZS5nID0gZnVuY3Rpb24oY291bnQpIHtcbiAgICAvLyBVc2luZyBpbnN0YW5jZSBtZW1iZXJzIGluc3RlYWQgb2YgY2xvc3VyZSBzdGF0ZSBuZWFybHkgZG91YmxlcyBzcGVlZC5cbiAgICB2YXIgdCwgciA9IDAsXG4gICAgICAgIGkgPSBtZS5pLCBqID0gbWUuaiwgcyA9IG1lLlM7XG4gICAgd2hpbGUgKGNvdW50LS0pIHtcbiAgICAgIHQgPSBzW2kgPSBtYXNrICYgKGkgKyAxKV07XG4gICAgICByID0gciAqIHdpZHRoICsgc1ttYXNrICYgKChzW2ldID0gc1tqID0gbWFzayAmIChqICsgdCldKSArIChzW2pdID0gdCkpXTtcbiAgICB9XG4gICAgbWUuaSA9IGk7IG1lLmogPSBqO1xuICAgIHJldHVybiByO1xuICAgIC8vIEZvciByb2J1c3QgdW5wcmVkaWN0YWJpbGl0eSwgdGhlIGZ1bmN0aW9uIGNhbGwgYmVsb3cgYXV0b21hdGljYWxseVxuICAgIC8vIGRpc2NhcmRzIGFuIGluaXRpYWwgYmF0Y2ggb2YgdmFsdWVzLiAgVGhpcyBpcyBjYWxsZWQgUkM0LWRyb3BbMjU2XS5cbiAgICAvLyBTZWUgaHR0cDovL2dvb2dsZS5jb20vc2VhcmNoP3E9cnNhK2ZsdWhyZXIrcmVzcG9uc2UmYnRuSVxuICB9KSh3aWR0aCk7XG59XG5cbi8vXG4vLyBjb3B5KClcbi8vIENvcGllcyBpbnRlcm5hbCBzdGF0ZSBvZiBBUkM0IHRvIG9yIGZyb20gYSBwbGFpbiBvYmplY3QuXG4vL1xuZnVuY3Rpb24gY29weShmLCB0KSB7XG4gIHQuaSA9IGYuaTtcbiAgdC5qID0gZi5qO1xuICB0LlMgPSBmLlMuc2xpY2UoKTtcbiAgcmV0dXJuIHQ7XG59O1xuXG4vL1xuLy8gZmxhdHRlbigpXG4vLyBDb252ZXJ0cyBhbiBvYmplY3QgdHJlZSB0byBuZXN0ZWQgYXJyYXlzIG9mIHN0cmluZ3MuXG4vL1xuZnVuY3Rpb24gZmxhdHRlbihvYmosIGRlcHRoKSB7XG4gIHZhciByZXN1bHQgPSBbXSwgdHlwID0gKHR5cGVvZiBvYmopLCBwcm9wO1xuICBpZiAoZGVwdGggJiYgdHlwID09ICdvYmplY3QnKSB7XG4gICAgZm9yIChwcm9wIGluIG9iaikge1xuICAgICAgdHJ5IHsgcmVzdWx0LnB1c2goZmxhdHRlbihvYmpbcHJvcF0sIGRlcHRoIC0gMSkpOyB9IGNhdGNoIChlKSB7fVxuICAgIH1cbiAgfVxuICByZXR1cm4gKHJlc3VsdC5sZW5ndGggPyByZXN1bHQgOiB0eXAgPT0gJ3N0cmluZycgPyBvYmogOiBvYmogKyAnXFwwJyk7XG59XG5cbi8vXG4vLyBtaXhrZXkoKVxuLy8gTWl4ZXMgYSBzdHJpbmcgc2VlZCBpbnRvIGEga2V5IHRoYXQgaXMgYW4gYXJyYXkgb2YgaW50ZWdlcnMsIGFuZFxuLy8gcmV0dXJucyBhIHNob3J0ZW5lZCBzdHJpbmcgc2VlZCB0aGF0IGlzIGVxdWl2YWxlbnQgdG8gdGhlIHJlc3VsdCBrZXkuXG4vL1xuZnVuY3Rpb24gbWl4a2V5KHNlZWQsIGtleSkge1xuICB2YXIgc3RyaW5nc2VlZCA9IHNlZWQgKyAnJywgc21lYXIsIGogPSAwO1xuICB3aGlsZSAoaiA8IHN0cmluZ3NlZWQubGVuZ3RoKSB7XG4gICAga2V5W21hc2sgJiBqXSA9XG4gICAgICBtYXNrICYgKChzbWVhciBePSBrZXlbbWFzayAmIGpdICogMTkpICsgc3RyaW5nc2VlZC5jaGFyQ29kZUF0KGorKykpO1xuICB9XG4gIHJldHVybiB0b3N0cmluZyhrZXkpO1xufVxuXG4vL1xuLy8gYXV0b3NlZWQoKVxuLy8gUmV0dXJucyBhbiBvYmplY3QgZm9yIGF1dG9zZWVkaW5nLCB1c2luZyB3aW5kb3cuY3J5cHRvIGFuZCBOb2RlIGNyeXB0b1xuLy8gbW9kdWxlIGlmIGF2YWlsYWJsZS5cbi8vXG5mdW5jdGlvbiBhdXRvc2VlZCgpIHtcbiAgdHJ5IHtcbiAgICB2YXIgb3V0O1xuICAgIGlmIChub2RlY3J5cHRvICYmIChvdXQgPSBub2RlY3J5cHRvLnJhbmRvbUJ5dGVzKSkge1xuICAgICAgLy8gVGhlIHVzZSBvZiAnb3V0JyB0byByZW1lbWJlciByYW5kb21CeXRlcyBtYWtlcyB0aWdodCBtaW5pZmllZCBjb2RlLlxuICAgICAgb3V0ID0gb3V0KHdpZHRoKTtcbiAgICB9IGVsc2Uge1xuICAgICAgb3V0ID0gbmV3IFVpbnQ4QXJyYXkod2lkdGgpO1xuICAgICAgKGdsb2JhbC5jcnlwdG8gfHwgZ2xvYmFsLm1zQ3J5cHRvKS5nZXRSYW5kb21WYWx1ZXMob3V0KTtcbiAgICB9XG4gICAgcmV0dXJuIHRvc3RyaW5nKG91dCk7XG4gIH0gY2F0Y2ggKGUpIHtcbiAgICB2YXIgYnJvd3NlciA9IGdsb2JhbC5uYXZpZ2F0b3IsXG4gICAgICAgIHBsdWdpbnMgPSBicm93c2VyICYmIGJyb3dzZXIucGx1Z2lucztcbiAgICByZXR1cm4gWytuZXcgRGF0ZSwgZ2xvYmFsLCBwbHVnaW5zLCBnbG9iYWwuc2NyZWVuLCB0b3N0cmluZyhwb29sKV07XG4gIH1cbn1cblxuLy9cbi8vIHRvc3RyaW5nKClcbi8vIENvbnZlcnRzIGFuIGFycmF5IG9mIGNoYXJjb2RlcyB0byBhIHN0cmluZ1xuLy9cbmZ1bmN0aW9uIHRvc3RyaW5nKGEpIHtcbiAgcmV0dXJuIFN0cmluZy5mcm9tQ2hhckNvZGUuYXBwbHkoMCwgYSk7XG59XG5cbi8vXG4vLyBXaGVuIHNlZWRyYW5kb20uanMgaXMgbG9hZGVkLCB3ZSBpbW1lZGlhdGVseSBtaXggYSBmZXcgYml0c1xuLy8gZnJvbSB0aGUgYnVpbHQtaW4gUk5HIGludG8gdGhlIGVudHJvcHkgcG9vbC4gIEJlY2F1c2Ugd2UgZG9cbi8vIG5vdCB3YW50IHRvIGludGVyZmVyZSB3aXRoIGRldGVybWluaXN0aWMgUFJORyBzdGF0ZSBsYXRlcixcbi8vIHNlZWRyYW5kb20gd2lsbCBub3QgY2FsbCBtYXRoLnJhbmRvbSBvbiBpdHMgb3duIGFnYWluIGFmdGVyXG4vLyBpbml0aWFsaXphdGlvbi5cbi8vXG5taXhrZXkobWF0aC5yYW5kb20oKSwgcG9vbCk7XG5cbi8vXG4vLyBOb2RlanMgYW5kIEFNRCBzdXBwb3J0OiBleHBvcnQgdGhlIGltcGxlbWVudGF0aW9uIGFzIGEgbW9kdWxlIHVzaW5nXG4vLyBlaXRoZXIgY29udmVudGlvbi5cbi8vXG5pZiAoKHR5cGVvZiBtb2R1bGUpID09ICdvYmplY3QnICYmIG1vZHVsZS5leHBvcnRzKSB7XG4gIG1vZHVsZS5leHBvcnRzID0gc2VlZHJhbmRvbTtcbiAgLy8gV2hlbiBpbiBub2RlLmpzLCB0cnkgdXNpbmcgY3J5cHRvIHBhY2thZ2UgZm9yIGF1dG9zZWVkaW5nLlxuICB0cnkge1xuICAgIG5vZGVjcnlwdG8gPSByZXF1aXJlKCdjcnlwdG8nKTtcbiAgfSBjYXRjaCAoZXgpIHt9XG59IGVsc2UgaWYgKCh0eXBlb2YgZGVmaW5lKSA9PSAnZnVuY3Rpb24nICYmIGRlZmluZS5hbWQpIHtcbiAgZGVmaW5lKGZ1bmN0aW9uKCkgeyByZXR1cm4gc2VlZHJhbmRvbTsgfSk7XG59IGVsc2Uge1xuICAvLyBXaGVuIGluY2x1ZGVkIGFzIGEgcGxhaW4gc2NyaXB0LCBzZXQgdXAgTWF0aC5zZWVkcmFuZG9tIGdsb2JhbC5cbiAgbWF0aFsnc2VlZCcgKyBybmduYW1lXSA9IHNlZWRyYW5kb207XG59XG5cblxuLy8gRW5kIGFub255bW91cyBzY29wZSwgYW5kIHBhc3MgaW5pdGlhbCB2YWx1ZXMuXG59KShcbiAgLy8gZ2xvYmFsOiBgc2VsZmAgaW4gYnJvd3NlcnMgKGluY2x1ZGluZyBzdHJpY3QgbW9kZSBhbmQgd2ViIHdvcmtlcnMpLFxuICAvLyBvdGhlcndpc2UgYHRoaXNgIGluIE5vZGUgYW5kIG90aGVyIGVudmlyb25tZW50c1xuICAodHlwZW9mIHNlbGYgIT09ICd1bmRlZmluZWQnKSA/IHNlbGYgOiB0aGlzLFxuICBbXSwgICAgIC8vIHBvb2w6IGVudHJvcHkgcG9vbCBzdGFydHMgZW1wdHlcbiAgTWF0aCAgICAvLyBtYXRoOiBwYWNrYWdlIGNvbnRhaW5pbmcgcmFuZG9tLCBwb3csIGFuZCBzZWVkcmFuZG9tXG4pO1xuIl0sIm5hbWVzIjpbIkZsb2F0MzJBcnJheSIsInRhbmltb3RvU2ltaWxhcml0eSIsIngiLCJ5IiwidG90YWwiLCJ0cnVlQ291bnQiLCJjb21tb24iLCJhbmRXaXRoQ291bnRCaXRzIiwiZ2V0RGlzdGFuY2VGcm9tU2ltaWxhcml0eSIsInNpbWlsYXJpdHkiLCJhc3NlcnQiLCJjb25kaXRpb24iLCJtZXNzYWdlIiwiRXJyb3IiLCJ2ZWN0b3JEaXN0YW5jZU1ldHJpY3NNZXRob2RzIiwicCIsInEiLCJyZXN1bHQiLCJsZW4iLCJsZW5ndGgiLCJpIiwiTWF0aCIsInBvdyIsInNxcnQiLCJzdHJpbmdEaXN0YW5jZU1ldHJpY3NNZXRob2RzIiwiczEiLCJzMiIsImRpc3QiLCJiaXRBcnJheURpc3RhbmNlTWV0cmljc01ldGhvZHMiLCJkaWNlU2ltaWxhcml0eSIsIm1pbiIsImFzeW1tZXRyaWNTaW1pbGFyaXR5IiwibWF4IiwiYnJhdW5CbGFucXVldFNpbWlsYXJpdHkiLCJjb3NpbmVTaW1pbGFyaXR5IiwidG90YWxQcm9kIiwia3VsY3p5bnNraVNpbWlsYXJpdHkiLCJtY0Nvbm5hdWdoZXlTaW1pbGFyaXR5IiwiY291bnRCaXRzIiwiZGlmZiIsInJvZ290R29sZGJlcmdTaW1pbGFyaXR5IiwicnVzc2VsU2ltaWxhcml0eSIsInNva2FsU2ltaWxhcml0eSIsImludEFycmF5RGlzdGFuY2VNZXRyaWNzTWV0aG9kcyIsIm51bWJlckRpc3RhbmNlTWV0cmljc01ldGhvZHMiLCJhYnMiLCJBdmFpbGFibGVNZXRyaWNzIiwiTWV0cmljVG9EYXRhVHlwZSIsIk9iamVjdCIsImtleXMiLCJyZWR1Y2UiLCJyZXQiLCJrZXkiLCJ2YWwiLCJNZWFzdXJlIiwibWV0aG9kIiwiZGF0YVR5cGUiLCJjb25zdHJ1Y3RvciIsInRoaXMiLCJnZXRNZWFzdXJlIiwib3B0cyIsImRpY3QiLCJoYXNPd25Qcm9wZXJ0eSIsIm5hbWUiLCJzdGF0aWMiLCJhdmFpbGFibGVNZWFzdXJlcyIsIkRpc3RhbmNlQWdncmVnYXRpb25NZXRob2RzIiwiaW5zZXJ0U21hbGxlciIsImRpc3RhbmNlc0FyIiwiaW5kZXhlcyIsIm51bSIsImluZGV4IiwibmV3UG9zaXRpb24iLCJmaW5kSW5kZXgiLCJ2IiwicG9wIiwic3BsaWNlIiwiRGlzdGFuY2VNYXRyaXhTZXJ2aWNlIiwiX3dvcmtlcnMiLCJfd29ya2VyQ291bnQiLCJfdGVybWluYXRlT25Db21wbGV0ZSIsInVzZUNvbmN1cnJlbnRXb3JrZXJzIiwidGVybWluYXRlT25Db21wbGV0ZSIsInRocmVhZENvdW50IiwibmF2aWdhdG9yIiwiaGFyZHdhcmVDb25jdXJyZW5jeSIsIkFycmF5IiwiZmlsbCIsIm1hcCIsIldvcmtlciIsIlVSTCIsImFzeW5jIiwidmFsdWVzIiwiZm5OYW1lIiwibm9ybWFsaXplIiwiY2FsY011bHRpIiwiZm5OYW1lcyIsIndlaWdodHMiLCJhZ2dyZWdhdGlvbk1ldGhvZCIsIlByb21pc2UiLCJyZXNvbHZlIiwicmVqZWN0IiwicHJvbWlzZXMiLCJ0b3RhbExlbmd0aCIsImNodW5rU2l6ZSIsImRpc3RhbmNlTWF0cml4IiwiZW5kUm93IiwiZW5kQ29sIiwibG1pbiIsImxtYXgiLCJOdW1iZXIiLCJNSU5fVkFMVUUiLCJzdGFydCIsImZsb29yIiwiZW5kIiwic3RhcnRSb3ciLCJzdGFydENvbCIsInBvc3RNZXNzYWdlIiwiY2h1bmNrU2l6ZSIsInJlc29sdmVXb3JrZXIiLCJyZWplY3RXb3JrZXIiLCJvbm1lc3NhZ2UiLCJkYXRhIiwiZXJyb3IiLCJkaXN0YW5jZU1hdHJpeERhdGEiLCJzZXRUaW1lb3V0IiwidGVybWluYXRlIiwic2V0IiwiYWxsIiwiZm9yRWFjaCIsInZhbHVlIiwiZSIsIndvcmtlciIsInRhdVJhbmRJbnQiLCJuIiwicmFuZG9tIiwidGF1UmFuZCIsImVtcHR5Iiwib3V0cHV0IiwicHVzaCIsInVuZGVmaW5lZCIsInJhbmdlIiwiXyIsImZpbGxlZCIsInplcm9zIiwibWVhbiIsImlucHV0Iiwic3VtIiwicmVqZWN0aW9uU2FtcGxlIiwiblNhbXBsZXMiLCJwb29sU2l6ZSIsInJlamVjdFNhbXBsZSIsImoiLCJicm9rZW4iLCJrIiwicmVzaGFwZTJkIiwiYSIsImIiLCJyb3dzIiwiY29sIiwibWFrZUhlYXAiLCJuUG9pbnRzIiwic2l6ZSIsIm1ha2VBcnJheXMiLCJmaWxsVmFsdWUiLCJoZWFwIiwiSW5maW5pdHkiLCJoZWFwUHVzaCIsInJvdyIsIndlaWdodCIsImZsYWciLCJpbmRpY2VzIiwidW5jaGVja2VkSGVhcFB1c2giLCJpc05ldyIsImlTd2FwIiwiaWMxIiwiaWMyIiwiaGVhcFNoYXBlMiIsImJ1aWxkQ2FuZGlkYXRlcyIsImN1cnJlbnRHcmFwaCIsIm5WZXJ0aWNlcyIsIm5OZWlnaGJvcnMiLCJtYXhDYW5kaWRhdGVzIiwiY2FuZGlkYXRlTmVpZ2hib3JzIiwiaWR4IiwiaXNuIiwiZCIsImRlaGVhcFNvcnQiLCJpbmRIZWFwIiwiZGlzdEhlYXAiLCJpbmRIZWFwSW5kZXgiLCJkaXN0SGVhcEluZGV4IiwidGVtcDEiLCJ0ZW1wMiIsInNpZnREb3duIiwiaGVhcDEiLCJoZWFwMiIsImNlaWxpbmciLCJlbHQiLCJsZWZ0Q2hpbGQiLCJyaWdodENoaWxkIiwic3dhcCIsInNtYWxsZXN0RmxhZ2dlZCIsImluZCIsIm1pbkRpc3QiLCJyZXN1bHRJbmRleCIsIlNwYXJzZU1hdHJpeCIsImVudHJpZXMiLCJNYXAiLCJuUm93cyIsIm5Db2xzIiwiY29scyIsImRpbXMiLCJjaGVja0RpbXMiLCJtYWtlS2V5IiwiaGFzIiwiZ2V0IiwiZGVmYXVsdFZhbHVlIiwiZ2V0QWxsIiwib3JkZXJlZCIsInJvd0NvbFZhbHVlcyIsInNvcnQiLCJnZXREaW1zIiwiZ2V0Um93cyIsImZyb20iLCJfa2V5IiwiZ2V0Q29scyIsImdldFZhbHVlcyIsImZuIiwidmFscyIsInRvQXJyYXkiLCJtYXRyaXgiLCJvbGRSb3dzIiwib2xkQ29scyIsIm9sZFZhbHMiLCJtYXRsZW4iLCJJbnQzMkFycmF5IiwicGFpcndpc2VNdWx0aXBseSIsImVsZW1lbnRXaXNlIiwiYWRkIiwic3VidHJhY3QiLCJtdWx0aXBseVNjYWxhciIsInNjYWxhciIsImVsaW1pbmF0ZVplcm9zIiwibSIsInplcm9JbmRpY2VzIiwiU2V0IiwicmVtb3ZlQnlaZXJvSW5kZXgiLCJuZXh0VmFsdWVzIiwiZmlsdGVyIiwibmV4dFJvd3MiLCJuZXh0Q29scyIsIm5vcm1UeXBlIiwibm9ybUZuIiwibm9ybUZucyIsImNvbHNCeVJvdyIsIm5leHRNYXRyaXgiLCJub3JtIiwieHMiLCJvcCIsInZpc2l0ZWQiLCJvcGVyYXRlIiwibmV4dFZhbHVlIiwidmFsdWVzQSIsInJvd3NBIiwiY29sc0EiLCJ2YWx1ZXNCIiwicm93c0IiLCJjb2xzQiIsImdldENTUiIsImluZHB0ciIsImN1cnJlbnRSb3ciLCJGbGF0VHJlZSIsImh5cGVycGxhbmVzIiwib2Zmc2V0cyIsImNoaWxkcmVuIiwibWFrZUZvcmVzdCIsIm5UcmVlcyIsImxlYWZTaXplIiwidHJlZXMiLCJtYWtlRXVjbGlkZWFuVHJlZSIsIm1ha2VUcmVlIiwiZm9yZXN0IiwidHJlZSIsIm5Ob2RlcyIsIm51bU5vZGVzIiwibkxlYXZlcyIsIm51bUxlYXZlcyIsImh5cGVycGxhbmUiLCJyZWN1cnNpdmVGbGF0dGVuIiwiZmxhdHRlblRyZWUiLCJzcGxpdFJlc3VsdHMiLCJsZWZ0SW5kZXgiLCJyaWdodEluZGV4IiwibGVmdCIsInJpZ2h0IiwiaHlwZXJwbGFuZU9mZnNldCIsImh5cGVycGxhbmVWZWN0b3IiLCJuTGVmdCIsIm5SaWdodCIsInNpZGUiLCJtYXJnaW4iLCJpbmRpY2VzTGVmdCIsImluZGljZXNSaWdodCIsIm9mZnNldCIsImV1Y2xpZGVhblJhbmRvbVByb2plY3Rpb25TcGxpdCIsImlzTGVhZiIsIm5vZGVOdW0iLCJsZWFmTnVtIiwib2xkTm9kZU51bSIsInJlcyIsInNlbGVjdFNpZGUiLCJwb2ludCIsInNlYXJjaEZsYXRUcmVlIiwibm9kZSIsIlNNT09USF9LX1RPTEVSQU5DRSIsIk1JTl9LX0RJU1RfU0NBTEUiLCJVTUFQIiwibGVhcm5pbmdSYXRlIiwibG9jYWxDb25uZWN0aXZpdHkiLCJuQ29tcG9uZW50cyIsIm5FcG9jaHMiLCJuZWdhdGl2ZVNhbXBsZVJhdGUiLCJyZXB1bHNpb25TdHJlbmd0aCIsInNldE9wTWl4UmF0aW8iLCJzcHJlYWQiLCJ0cmFuc2Zvcm1RdWV1ZVNpemUiLCJ0YXJnZXRNZXRyaWMiLCJ0YXJnZXRXZWlnaHQiLCJ0YXJnZXROTmVpZ2hib3JzIiwiZGlzdGFuY2VGbiIsIm51bWVyaWMiLCJrbm5JbmRpY2VzIiwia25uRGlzdGFuY2VzIiwiZ3JhcGgiLCJYIiwiaXNJbml0aWFsaXplZCIsInJwRm9yZXN0IiwiaW5pdEZyb21SYW5kb20iLCJpbml0RnJvbVRyZWUiLCJzZWFyY2giLCJzZWFyY2hHcmFwaCIsIlkiLCJlbWJlZGRpbmciLCJvcHRpbWl6YXRpb25TdGF0ZSIsIk9wdGltaXphdGlvblN0YXRlIiwibmVpZ2hib3JzIiwicGFyYW1zIiwic2V0UGFyYW0iLCJmaXQiLCJpbml0aWFsaXplRml0Iiwib3B0aW1pemVMYXlvdXQiLCJjYWxsYmFjayIsIm9wdGltaXplTGF5b3V0QXN5bmMiLCJzZXRTdXBlcnZpc2VkUHJvamVjdGlvbiIsInNldFByZWNvbXB1dGVkS05OIiwiZ2V0TkVwb2NocyIsImtublJlc3VsdHMiLCJuZWFyZXN0TmVpZ2hib3JzIiwiZnV6enlTaW1wbGljaWFsU2V0IiwibWFrZVNlYXJjaEZucyIsIm1ha2VTZWFyY2hHcmFwaCIsInByb2Nlc3NHcmFwaEZvclN1cGVydmlzZWRQcm9qZWN0aW9uIiwiaGVhZCIsInRhaWwiLCJlcG9jaHNQZXJTYW1wbGUiLCJpbml0aWFsaXplU2ltcGxpY2lhbFNldEVtYmVkZGluZyIsImluaXRpYWxpemVPcHRpbWl6YXRpb24iLCJwcmVwYXJlRm9yT3B0aW1pemF0aW9uTG9vcCIsInF1ZXJ5UG9pbnRzIiwiX2hlYXAiLCJfdHJlZSIsImluaXRpYWxpemF0aW9uIiwidHJpZWQiLCJ2ZXJ0ZXgiLCJjYW5kaWRhdGVzIiwic2xpY2UiLCJjYW5kaWRhdGUiLCJrbm4iLCJkaXN0YW5jZXMiLCJuZWlnaGJvciIsImRpc3RhbmNlIiwidHJhbnNmb3JtIiwidG9UcmFuc2Zvcm0iLCJyYXdEYXRhIiwiaW5pdCIsInJlc3VsdHMiLCJhZGp1c3RlZExvY2FsQ29ubmVjdGl2aXR5Iiwic2lnbWFzIiwicmhvcyIsInNtb290aEtOTkRpc3RhbmNlIiwiY29tcHV0ZU1lbWJlcnNoaXBTdHJlbmd0aHMiLCJjc3JNYXRyaXgiLCJfeiIsImluaXRUcmFuc2Zvcm0iLCJncmFwaE1heCIsIm1ha2VFcG9jaHNQZXJTYW1wbGUiLCJhc3NpZ25PcHRpbWl6YXRpb25TdGF0ZVBhcmFtZXRlcnMiLCJoZWFkRW1iZWRkaW5nIiwidGFpbEVtYmVkZGluZyIsImN1cnJlbnRFcG9jaCIsImZhckRpc3QiLCJjYXRlZ29yaWNhbFNpbXBsaWNpYWxTZXRJbnRlcnNlY3Rpb24iLCJzdGVwIiwib3B0aW1pemVMYXlvdXRTdGVwIiwiZ2V0RW1iZWRkaW5nIiwibWV0cmljTk5EZXNjZW50IiwibGVhZkFycmF5Iiwibkl0ZXJzIiwiZGVsdGEiLCJyaG8iLCJycFRyZWVJbml0IiwiYyIsImNqIiwiY2siLCJyb3VuZCIsImxvZyIsImxvZzIiLCJzcGFyc2VNYXRyaXgiLCJ0cmFuc3Bvc2UiLCJwcm9kTWF0cml4Iiwic2ltcGxpY2lhbFNldCIsInRhcmdldCIsInVua25vd25EaXN0IiwiaW50ZXJzZWN0aW9uIiwiZXhwIiwiZmFzdEludGVyc2VjdGlvbiIsInJlc2V0TG9jYWxDb25uZWN0aXZpdHkiLCJuSXRlciIsImJhbmR3aWR0aCIsImxvIiwiaGkiLCJtaWQiLCJpdGhEaXN0YW5jZXMiLCJub25aZXJvRGlzdHMiLCJpbnRlcnBvbGF0aW9uIiwicHN1bSIsIm1lYW5JdGhEaXN0YW5jZXMiLCJtZWFuRGlzdGFuY2VzIiwiZ3JhcGhWYWx1ZXMiLCJlbnRyeSIsInciLCJzdGF0ZSIsImFzc2lnbiIsImRpbSIsIm1vdmVPdGhlciIsImVwb2Noc1Blck5lZ2F0aXZlU2FtcGxlIiwiZXBvY2hPZk5leHROZWdhdGl2ZVNhbXBsZSIsImVwb2NoT2ZOZXh0U2FtcGxlIiwiaW5pdGlhbEFscGhhIiwiYWxwaGEiLCJnYW1tYSIsInh2IiwieXYiLCJwYXJhbWV0ZXJWYWx1ZXMiLCJwYXJhbWV0ZXJpemVkRnVuY3Rpb24iLCJvcHRpb25zIiwibWF4SXRlcmF0aW9ucyIsImdyYWRpZW50RGlmZmVyZW5jZSIsImRhbXBpbmciLCJlcnJvclRvbGVyYW5jZSIsIm1pblZhbHVlcyIsIm1heFZhbHVlcyIsImluaXRpYWxWYWx1ZXMiLCJwYXJhbWV0ZXJzIiwicGFyTGVuIiwiTUFYX1NBRkVfSU5URUdFUiIsIk1JTl9TQUZFX0lOVEVHRVIiLCJpdGVyYXRpb24iLCJlcnJvckNhbGN1bGF0aW9uIiwiY29udmVyZ2VkIiwiaXNOYU4iLCJwYXJhbWV0ZXJFcnJvciIsIml0ZXJhdGlvbnMiLCJmaW5kQUJQYXJhbXMiLCJjdXJyZW50Iiwib3RoZXIiLCJkaXN0U3F1YXJlZCIsInJEaXN0IiwiZ3JhZENvZWZmIiwiZ3JhZEQiLCJjbGlwIiwibk5lZ1NhbXBsZXMiLCJlcG9jaENhbGxiYWNrIiwiZXBvY2hDb21wbGV0ZWQiLCJzaG91bGRTdG9wIiwiaXNGaW5pc2hlZCIsImVyciIsImNsaXBWYWx1ZSIsIlNwYXJzZU1hdHJpeFNlcnZpY2UiLCJ0aHJlc2hvbGQiLCJtYXRTaXplIiwibWluVGhyZXNob2xkIiwiZ2V0TWluaW1hbFRocmVzaG9sZCIsImNvbnNvbGUiLCJ3b3JrZXJzIiwic3RhcnRJZHgiLCJlbmRJZHgiLCJmdWxsU2l6ZSIsImFjYyIsIm5OZWlnaGJvdXJzIiwibXVsdGlDb2x1bW5LTk4iLCJzb21lIiwia25uSW5kZXhlcyIsImtublJlcyIsInRocmVzaG9sZFdvcmtlcnMiLCJzaHVmZmxlZFZhbHVlcyIsIm1heFNhbXBsZVNpemUiLCJzYW1wbGVTaXNlIiwidGVzdFNldFNpemVQZXJXb3JrZXIiLCJ0UHJvbWlzZXMiLCJzYW1wbGVMZW5ndGgiLCJnZXRTYW1wbGVEaXN0YW5jZXMiLCJjbnQiLCJtaSIsIm1qIiwiVFNORSIsInBlcnBsZXhpdHkiLCJlcHNpbG9uIiwiaXRlciIsIk4iLCJQIiwiZ2FpbnMiLCJ5c3RlcCIsImdldG9wdCIsIm9wdCIsImZpZWxkIiwiZGVmYXVsdHZhbCIsInJldHVyblYiLCJ2VmFsdWUiLCJnYXVzc1JhbmRvbSIsInUiLCJyIiwicmFuZG4iLCJtdSIsInN0ZCIsIkFycmF5QnVmZmVyIiwiYXJyIiwicmFuZG4yZCIsInMiLCJ1c2VzIiwibDIiLCJ4MSIsIngyIiwiRCIsIngxaSIsIngyaSIsInh0b2QiLCJnZXRJdGVyU2l6ZSIsInJvd1NpemUiLCJkMnAiLCJ0b2wiLCJpbmRleGVyIiwiaFRhcmdldCIsInByb3ciLCJiZXRhbWluIiwiYmV0YW1heCIsImJldGEiLCJkb25lIiwibWF4dHJpZXMiLCJwaiIsIm5IZXJlIiwicE91dCIsIk4yIiwic2lnbiIsImluaXREYXRhUmF3IiwiZGlzdHMiLCJpbml0U29sdXRpb24iLCJpbml0RGF0YURpc3QiLCJ0aW1lIiwidGltZUVuZCIsImdldFNvbHV0aW9uIiwiY2ciLCJjb3N0R3JhZCIsImNvc3QiLCJncmFkIiwieW1lYW4iLCJnaWQiLCJzaWQiLCJnYWluaWQiLCJuZXdnYWluIiwibmV3c2lkIiwiZGVidWdHcmFkIiwieW9sZCIsImNnMCIsImNnMSIsImFuYWx5dGljIiwibnVtZXJpY2FsIiwicXVBcnIiLCJwbXVsIiwicXN1bSIsInF1IiwicHJldiIsIlEiLCJwcmVtdWx0IiwiTXVsdGlDb2x1bW5SZWR1Y2VyIiwiVFNORVJlZHVjZXIiLCJyZWR1Y2VyIiwiZGlzdGFuY2VGbmFtZXMiLCJkaXN0YW5jZUZucyIsImRpc3RhbmNlRm5BcmdzIiwicHJvZ3Jlc3NGdW5jIiwic3VwZXIiLCJyYW5kb21TZWVkIiwiRGF0ZSIsInJhbmRvbUZuIiwibWF0cml4U2VydmljZSIsIlVNQVBSZWR1Y2VyIiwidmVjdG9ycyIsIl9wYXJhbGxlbERpc3RhbmNlV29ya2VycyIsImZpdEFzeW5jIiwiZXBvYyIsIkF2YWlsYWJsZVJlZHVjZXJzIiwiTXVsdGlDb2xEaW1SZWR1Y2VyIiwibWV0cmljcyIsImRpc3RhbmNlQWdncmVnYXRpb24iLCJtZWFzdXJlcyIsIm1lYXN1cmUiLCJiaXRBcnJheUxlbmd0aCIsIl9sZW5ndGgiLCJfZGF0YSIsInR5cGVOYW1lIiwiYXZhaWxhYmxlTWV0aG9kcyIsImF2YWlsYWJsZU1ldHJpY3MiLCJhbnMiLCJvYmoiLCJhcnJheSIsImVwb2NoTnVtIiwiZXBvY2hzTGVuZ3RoIiwic2VsZiIsImNvbHVtbnNEYXRhIiwiZGlzdGFuY2VNZXRyaWNzIiwib25NZXNzYWdlIiwiYWxlYSIsInhvcjEyOCIsInhvcndvdyIsInhvcnNoaWZ0NyIsInhvcjQwOTYiLCJ0eWNoZWkiLCJzciIsIm1vZHVsZSIsImV4cG9ydHMiLCJnbG9iYWwiLCJkZWZpbmUiLCJBbGVhIiwic2VlZCIsIm1lIiwibWFzaCIsIlN0cmluZyIsImgiLCJjaGFyQ29kZUF0IiwibmV4dCIsInQiLCJzMCIsImNvcHkiLCJmIiwiaW1wbCIsInhnIiwicHJuZyIsImludDMyIiwiZG91YmxlIiwicXVpY2siLCJYb3JHZW4iLCJzdHJzZWVkIiwieiIsImxpbWl0IiwicG9vbCIsIm1hdGgiLCJub2RlY3J5cHRvIiwid2lkdGgiLCJzdGFydGRlbm9tIiwic2lnbmlmaWNhbmNlIiwib3ZlcmZsb3ciLCJtYXNrIiwic2VlZHJhbmRvbSIsInNob3J0c2VlZCIsIm1peGtleSIsImZsYXR0ZW4iLCJlbnRyb3B5IiwidG9zdHJpbmciLCJvdXQiLCJyYW5kb21CeXRlcyIsIlVpbnQ4QXJyYXkiLCJjcnlwdG8iLCJtc0NyeXB0byIsImdldFJhbmRvbVZhbHVlcyIsImJyb3dzZXIiLCJwbHVnaW5zIiwic2NyZWVuIiwiYXV0b3NlZWQiLCJhcmM0IiwiQVJDNCIsImciLCJTIiwicGFzcyIsImlzX21hdGhfY2FsbCIsImtleWxlbiIsImNvdW50IiwiZGVwdGgiLCJwcm9wIiwidHlwIiwic21lYXIiLCJzdHJpbmdzZWVkIiwiZnJvbUNoYXJDb2RlIiwiYXBwbHkiLCJleCJdLCJzb3VyY2VSb290IjoiIn0=