@datagrok/peptides 1.17.0 → 1.17.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (58) hide show
  1. package/.eslintrc.json +17 -6
  2. package/dist/196.js +2 -0
  3. package/dist/23.js +2 -0
  4. package/dist/282.js +2 -0
  5. package/dist/361.js +2 -2
  6. package/dist/40.js +2 -0
  7. package/dist/436.js +2 -2
  8. package/dist/65.js +2 -0
  9. package/dist/704.js +2 -0
  10. package/dist/package-test.js +2 -3
  11. package/dist/package.js +2 -3
  12. package/package.json +14 -14
  13. package/src/demo/fasta.ts +8 -2
  14. package/src/model.ts +780 -531
  15. package/src/package-test.ts +1 -3
  16. package/src/package.ts +15 -28
  17. package/src/tests/benchmarks.ts +31 -11
  18. package/src/tests/core.ts +11 -6
  19. package/src/tests/misc.ts +6 -6
  20. package/src/tests/model.ts +79 -44
  21. package/src/tests/table-view.ts +48 -38
  22. package/src/tests/utils.ts +0 -76
  23. package/src/tests/viewers.ts +30 -12
  24. package/src/tests/widgets.ts +30 -11
  25. package/src/utils/algorithms.ts +115 -38
  26. package/src/utils/cell-renderer.ts +181 -72
  27. package/src/utils/constants.ts +33 -7
  28. package/src/utils/misc.ts +244 -10
  29. package/src/utils/parallel-mutation-cliffs.ts +18 -15
  30. package/src/utils/statistics.ts +70 -15
  31. package/src/utils/tooltips.ts +42 -17
  32. package/src/utils/types.ts +29 -26
  33. package/src/utils/worker-creator.ts +5 -0
  34. package/src/viewers/logo-summary.ts +591 -130
  35. package/src/viewers/sar-viewer.ts +893 -239
  36. package/src/widgets/distribution.ts +305 -64
  37. package/src/widgets/manual-alignment.ts +18 -11
  38. package/src/widgets/mutation-cliffs.ts +44 -18
  39. package/src/widgets/peptides.ts +86 -91
  40. package/src/widgets/selection.ts +56 -22
  41. package/src/widgets/settings.ts +94 -44
  42. package/src/workers/dimensionality-reducer.ts +5 -6
  43. package/src/workers/mutation-cliffs-worker.ts +3 -16
  44. package/dist/209.js +0 -2
  45. package/dist/381.js +0 -2
  46. package/dist/770.js +0 -2
  47. package/dist/831.js +0 -2
  48. package/dist/868.js +0 -2
  49. package/dist/931.js +0 -3
  50. package/dist/931.js.LICENSE.txt +0 -51
  51. package/dist/932.js +0 -2
  52. package/dist/package-test.js.LICENSE.txt +0 -51
  53. package/dist/package.js.LICENSE.txt +0 -51
  54. package/src/tests/peptide-space-test.ts +0 -48
  55. package/src/tests/test-data.ts +0 -649
  56. package/src/utils/molecular-measure.ts +0 -174
  57. package/src/utils/peptide-similarity-space.ts +0 -216
  58. package/src/viewers/peptide-space-viewer.ts +0 -150
package/dist/209.js DELETED
@@ -1,2 +0,0 @@
1
- var peptides;(()=>{"use strict";var t,e,r={9209:(t,e,r)=>{var a=r(6814);class i{get data(){return this._data}get size(){return this._size}constructor(t,e){if(null==e){if(null==t)throw new Error("Arguments error: data or size is required.");if(this._data=t,this._size=(1+Math.sqrt(1+8*this._data.length))/2,this._size!=Math.floor(this._size))throw new Error(`Invalid data length ${this._data.length} leads to non integer size ${this._size}`)}else{this._size=e;const r=e*(e-1)/2;if(t){if(t.length!=r)throw new Error(`Invalid data length. Observations size ${e} requires data length ${r}.`);this._data=t}else this._data=new Float32Array(r)}}_linearizeIJ(t,e){if(!(t<e))throw new Error("i must be less than j");return this._size*t+e-Math.floor((t+2)*(t+1)/2)}get(t,e){return t==e?0:t<e?this._data[this._linearizeIJ(t,e)]:this._data[this._linearizeIJ(e,t)]}set(t,e,r){this._data[this._linearizeIJ(t,e)]=r}static calc(t,e){const r=t.length,n=new i(void 0,r);for(let i=0;i<r;i++)for(let s=i+1;s<r;s++)n.set(i,s,(0,a.k)(t[i])||(0,a.k)(t[s])?1:e(t[i],t[s]));return n}square(){for(let t=0;t<this._data.length;t++)this._data[t]=this._data[t]**2}add(t){if(this._size!==t._size)throw new Error(`Matrices must have the same size. This size: ${this._size}, other size: ${t._size}`);for(let e=0;e<this._data.length;e++)this._data[e]+=t._data[e]}sqrt(){for(let t=0;t<this._data.length;t++)this._data[t]=Math.sqrt(this._data[t])}normalize(){let t=0,e=this._data[0];for(let r=0;r<this._data.length;r++)this._data[r]<t&&(t=this._data[r]),this._data[r]>e&&(e=this._data[r]);const r=e-t;for(let a=0;a<this._data.length;a++)this._data[a]=0===r?this._data[a]-t:(this._data[a]-t)/(e-t)}}var n=r(1040),s=r(1811),o=r(3979),h=r(5697),l=r(850),c=r(708);const g={[n.CF.Euclidean]:l.dP},d={[n.W.Levenshtein]:s.T,[n.W.JaroWinkler]:o.H$,[n.W.Manhattan]:function(t,e){if(t.length!==e.length)return 1;{let r=0;for(let a=1;a<t.length;a++)r+=t[a]==e[a]?0:1;return r/t.length}}},u={[n.gk.Tanimoto]:h.KR,[n.gk.Dice]:h._h,[n.gk.Asymmetric]:h.yU,[n.gk.BraunBlanquet]:h.Dz,[n.gk.Cosine]:h.Zd,[n.gk.Kulczynski]:h.s,[n.gk.McConnaughey]:h.aW,[n.gk.RogotGoldberg]:h.MI,[n.gk.Russel]:h.fX,[n.gk.Sokal]:h.NB,[n.gk.Hamming]:h.UX,[n.gk.Euclidean]:h.WI},f={[n.gd.TanimotoIntArray]:h.FV},k={[n.Yc.NumericDistance]:h.bX},_={[n.Qe.Vector]:{[n.CF.Euclidean]:g[n.CF.Euclidean]},[n.Qe.String]:{[n.W.Levenshtein]:d[n.W.Levenshtein],[n.W.JaroWinkler]:d[n.W.JaroWinkler],[n.W.Manhattan]:d[n.W.Manhattan]},[n.Qe.BitArray]:{[n.gk.Tanimoto]:u[n.gk.Tanimoto],[n.gk.Dice]:u[n.gk.Dice],[n.gk.Asymmetric]:u[n.gk.Asymmetric],[n.gk.BraunBlanquet]:u[n.gk.BraunBlanquet],[n.gk.Cosine]:u[n.gk.Cosine],[n.gk.Kulczynski]:u[n.gk.Kulczynski],[n.gk.McConnaughey]:u[n.gk.McConnaughey],[n.gk.RogotGoldberg]:u[n.gk.RogotGoldberg],[n.gk.Russel]:u[n.gk.Russel],[n.gk.Sokal]:u[n.gk.Sokal]},[n.Qe.MacroMolecule]:{[c.U.HAMMING]:c.o[c.U.HAMMING],[c.U.LEVENSHTEIN]:c.o[c.U.LEVENSHTEIN],[c.U.NEEDLEMANN_WUNSCH]:c.o[c.U.NEEDLEMANN_WUNSCH],[c.U.MONOMER_CHEMICAL_DISTANCE]:c.o[c.U.MONOMER_CHEMICAL_DISTANCE]},[n.Qe.Number]:{[n.Yc.NumericDistance]:k[n.Yc.NumericDistance]},[n.Qe.IntArray]:{[n.gd.TanimotoIntArray]:f[n.gd.TanimotoIntArray]}};Object.keys(_).reduce(((t,e)=>{for(const r of Object.keys(_[e]))t[r]=e;return t}),{});self.addEventListener("message",(({data:{peptidesList:t,metric:e}})=>{return r=void 0,a=void 0,s=function*(){const r={};try{const a=i.calc(t,((t,r)=>d[e](t,r)));r.distances=a.data}catch(t){r.error=t}self.postMessage(r)},new((n=void 0)||(n=Promise))((function(t,e){function i(t){try{h(s.next(t))}catch(t){e(t)}}function o(t){try{h(s.throw(t))}catch(t){e(t)}}function h(e){var r;e.done?t(e.value):(r=e.value,r instanceof n?r:new n((function(t){t(r)}))).then(i,o)}h((s=s.apply(r,a||[])).next())}));var r,a,n,s}))}},a={};function i(t){var e=a[t];if(void 0!==e)return e.exports;var n=a[t]={exports:{}};return r[t](n,n.exports,i),n.exports}i.m=r,i.x=()=>{var t=i.O(void 0,[932,831],(()=>i(9209)));return i.O(t)},t=[],i.O=(e,r,a,n)=>{if(!r){var s=1/0;for(c=0;c<t.length;c++){for(var[r,a,n]=t[c],o=!0,h=0;h<r.length;h++)(!1&n||s>=n)&&Object.keys(i.O).every((t=>i.O[t](r[h])))?r.splice(h--,1):(o=!1,n<s&&(s=n));if(o){t.splice(c--,1);var l=a();void 0!==l&&(e=l)}}return e}n=n||0;for(var c=t.length;c>0&&t[c-1][2]>n;c--)t[c]=t[c-1];t[c]=[r,a,n]},i.d=(t,e)=>{for(var r in e)i.o(e,r)&&!i.o(t,r)&&Object.defineProperty(t,r,{enumerable:!0,get:e[r]})},i.f={},i.e=t=>Promise.all(Object.keys(i.f).reduce(((e,r)=>(i.f[r](t,e),e)),[])),i.u=t=>t+".js",i.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(t){if("object"==typeof window)return window}}(),i.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e),(()=>{var t;i.g.importScripts&&(t=i.g.location+"");var e=i.g.document;if(!t&&e&&(e.currentScript&&(t=e.currentScript.src),!t)){var r=e.getElementsByTagName("script");if(r.length)for(var a=r.length-1;a>-1&&!t;)t=r[a--].src}if(!t)throw new Error("Automatic publicPath is not supported in this browser");t=t.replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/"),i.p=t})(),(()=>{var t={209:1};i.f.i=(e,r)=>{t[e]||importScripts(i.p+i.u(e))};var e=self.webpackChunkpeptides=self.webpackChunkpeptides||[],r=e.push.bind(e);e.push=e=>{var[a,n,s]=e;for(var o in n)i.o(n,o)&&(i.m[o]=n[o]);for(s&&s(i);a.length;)t[a.pop()]=1;r(e)}})(),e=i.x,i.x=()=>Promise.all([i.e(932),i.e(831)]).then(e);var n=i.x();peptides=n})();
2
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,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S0FBS25HLEdZSlQsSUFBSThHLEVBQXNCUixFQUFvQk8sSSIsInNvdXJjZXMiOlsid2VicGFjazovL3BlcHRpZGVzL3dlYnBhY2svcnVudGltZS9jaHVuayBsb2FkZWQiLCJ3ZWJwYWNrOi8vcGVwdGlkZXMvd2VicGFjay9ydW50aW1lL3N0YXJ0dXAgY2h1bmsgZGVwZW5kZW5jaWVzIiwid2VicGFjazovL3BlcHRpZGVzLy4vbm9kZV9tb2R1bGVzL0BkYXRhZ3Jvay1saWJyYXJpZXMvbWwvc3JjL2Rpc3RhbmNlLW1hdHJpeC9kaXN0YW5jZS1tYXRyaXguanMiLCJ3ZWJwYWNrOi8vcGVwdGlkZXMvLi9ub2RlX21vZHVsZXMvQGRhdGFncm9rLWxpYnJhcmllcy9tbC9zcmMvdHlwZWQtbWV0cmljcy90eXBlZC1tZXRyaWNzLmpzIiwid2VicGFjazovL3BlcHRpZGVzLy4vc3JjL3V0aWxzL2Rpc3RhbmNlLW1hdHJpeC53b3JrZXIudHMiLCJ3ZWJwYWNrOi8vcGVwdGlkZXMvd2VicGFjay9ib290c3RyYXAiLCJ3ZWJwYWNrOi8vcGVwdGlkZXMvd2VicGFjay9ydW50aW1lL2RlZmluZSBwcm9wZXJ0eSBnZXR0ZXJzIiwid2VicGFjazovL3BlcHRpZGVzL3dlYnBhY2svcnVudGltZS9lbnN1cmUgY2h1bmsiLCJ3ZWJwYWNrOi8vcGVwdGlkZXMvd2VicGFjay9ydW50aW1lL2dldCBqYXZhc2NyaXB0IGNodW5rIGZpbGVuYW1lIiwid2VicGFjazovL3BlcHRpZGVzL3dlYnBhY2svcnVudGltZS9nbG9iYWwiLCJ3ZWJwYWNrOi8vcGVwdGlkZXMvd2VicGFjay9ydW50aW1lL2hhc093blByb3BlcnR5IHNob3J0aGFuZCIsIndlYnBhY2s6Ly9wZXB0aWRlcy93ZWJwYWNrL3J1bnRpbWUvcHVibGljUGF0aCIsIndlYnBhY2s6Ly9wZXB0aWRlcy93ZWJwYWNrL3J1bnRpbWUvaW1wb3J0U2NyaXB0cyBjaHVuayBsb2FkaW5nIiwid2VicGFjazovL3BlcHRpZGVzL3dlYnBhY2svc3RhcnR1cCJdLCJzb3VyY2VzQ29udGVudCI6WyJ2YXIgZGVmZXJyZWQgPSBbXTtcbl9fd2VicGFja19yZXF1aXJlX18uTyA9IChyZXN1bHQsIGNodW5rSWRzLCBmbiwgcHJpb3JpdHkpID0+IHtcblx0aWYoY2h1bmtJZHMpIHtcblx0XHRwcmlvcml0eSA9IHByaW9yaXR5IHx8IDA7XG5cdFx0Zm9yKHZhciBpID0gZGVmZXJyZWQubGVuZ3RoOyBpID4gMCAmJiBkZWZlcnJlZFtpIC0gMV1bMl0gPiBwcmlvcml0eTsgaS0tKSBkZWZlcnJlZFtpXSA9IGRlZmVycmVkW2kgLSAxXTtcblx0XHRkZWZlcnJlZFtpXSA9IFtjaHVua0lkcywgZm4sIHByaW9yaXR5XTtcblx0XHRyZXR1cm47XG5cdH1cblx0dmFyIG5vdEZ1bGZpbGxlZCA9IEluZmluaXR5O1xuXHRmb3IgKHZhciBpID0gMDsgaSA8IGRlZmVycmVkLmxlbmd0aDsgaSsrKSB7XG5cdFx0dmFyIFtjaHVua0lkcywgZm4sIHByaW9yaXR5XSA9IGRlZmVycmVkW2ldO1xuXHRcdHZhciBmdWxmaWxsZWQgPSB0cnVlO1xuXHRcdGZvciAodmFyIGogPSAwOyBqIDwgY2h1bmtJZHMubGVuZ3RoOyBqKyspIHtcblx0XHRcdGlmICgocHJpb3JpdHkgJiAxID09PSAwIHx8IG5vdEZ1bGZpbGxlZCA+PSBwcmlvcml0eSkgJiYgT2JqZWN0LmtleXMoX193ZWJwYWNrX3JlcXVpcmVfXy5PKS5ldmVyeSgoa2V5KSA9PiAoX193ZWJwYWNrX3JlcXVpcmVfXy5PW2tleV0oY2h1bmtJZHNbal0pKSkpIHtcblx0XHRcdFx0Y2h1bmtJZHMuc3BsaWNlKGotLSwgMSk7XG5cdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHRmdWxmaWxsZWQgPSBmYWxzZTtcblx0XHRcdFx0aWYocHJpb3JpdHkgPCBub3RGdWxmaWxsZWQpIG5vdEZ1bGZpbGxlZCA9IHByaW9yaXR5O1xuXHRcdFx0fVxuXHRcdH1cblx0XHRpZihmdWxmaWxsZWQpIHtcblx0XHRcdGRlZmVycmVkLnNwbGljZShpLS0sIDEpXG5cdFx0XHR2YXIgciA9IGZuKCk7XG5cdFx0XHRpZiAociAhPT0gdW5kZWZpbmVkKSByZXN1bHQgPSByO1xuXHRcdH1cblx0fVxuXHRyZXR1cm4gcmVzdWx0O1xufTsiLCJ2YXIgbmV4dCA9IF9fd2VicGFja19yZXF1aXJlX18ueDtcbl9fd2VicGFja19yZXF1aXJlX18ueCA9ICgpID0+IHtcblx0cmV0dXJuIFByb21pc2UuYWxsKFtcblx0XHRfX3dlYnBhY2tfcmVxdWlyZV9fLmUoOTMyKSxcblx0XHRfX3dlYnBhY2tfcmVxdWlyZV9fLmUoODMxKVxuXHRdKS50aGVuKG5leHQpO1xufTsiLCJpbXBvcnQgeyBpc05pbCB9IGZyb20gJy4vdXRpbHMnO1xuLyoqIERpc3RhbmNlIG1hdHJpeCBjbGFzcyBjb21wYXRpYmxlIHdpdGggZGF0YSBzdHJ1Y3R1cmUgb2Ygc2NpcHkuc3BhdGlhbC5kaXN0YW5jZS5wZGlzdCAqL1xuZXhwb3J0IGNsYXNzIERpc3RhbmNlTWF0cml4IHtcbiAgICBnZXQgZGF0YSgpIHsgcmV0dXJuIHRoaXMuX2RhdGE7IH1cbiAgICBnZXQgc2l6ZSgpIHsgcmV0dXJuIHRoaXMuX3NpemU7IH1cbiAgICAvKipcbiAgICAgKiBAcGFyYW0ge0Zsb2F0MzJBcnJheX0gZGF0YSBEaXN0YW5jZSBkYXRhXG4gICAgICogQHBhcmFtIHtudW1iZXJ9IHNpemUgTnVtYmVyIG9mIG9yaWdpbmFsIG9ic2VydmF0aW9uc1xuICAgICAqL1xuICAgIGNvbnN0cnVjdG9yKGRhdGEsIHNpemUpIHtcbiAgICAgICAgaWYgKHNpemUgPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICBpZiAoZGF0YSA9PSB1bmRlZmluZWQpXG4gICAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdBcmd1bWVudHMgZXJyb3I6IGRhdGEgb3Igc2l6ZSBpcyByZXF1aXJlZC4nKTtcbiAgICAgICAgICAgIHRoaXMuX2RhdGEgPSBkYXRhO1xuICAgICAgICAgICAgdGhpcy5fc2l6ZSA9ICgxICsgTWF0aC5zcXJ0KDEgKyA0ICogMiAqIHRoaXMuX2RhdGEubGVuZ3RoKSkgLyAyO1xuICAgICAgICAgICAgaWYgKHRoaXMuX3NpemUgIT0gTWF0aC5mbG9vcih0aGlzLl9zaXplKSlcbiAgICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgZGF0YSBsZW5ndGggJHt0aGlzLl9kYXRhLmxlbmd0aH0gbGVhZHMgdG8gbm9uIGludGVnZXIgc2l6ZSAke3RoaXMuX3NpemV9YCk7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICB0aGlzLl9zaXplID0gc2l6ZTtcbiAgICAgICAgICAgIGNvbnN0IGRhdGFMZW5ndGggPSBzaXplICogKHNpemUgLSAxKSAvIDI7XG4gICAgICAgICAgICBpZiAoZGF0YSkge1xuICAgICAgICAgICAgICAgIGlmIChkYXRhLmxlbmd0aCAhPSBkYXRhTGVuZ3RoKVxuICAgICAgICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgZGF0YSBsZW5ndGguIE9ic2VydmF0aW9ucyBzaXplICR7c2l6ZX0gcmVxdWlyZXMgZGF0YSBsZW5ndGggJHtkYXRhTGVuZ3RofS5gKTtcbiAgICAgICAgICAgICAgICB0aGlzLl9kYXRhID0gZGF0YTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgIHRoaXMuX2RhdGEgPSBuZXcgRmxvYXQzMkFycmF5KGRhdGFMZW5ndGgpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIF9saW5lYXJpemVJSihpLCBqKSB7XG4gICAgICAgIGlmICghKGkgPCBqKSlcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignaSBtdXN0IGJlIGxlc3MgdGhhbiBqJyk7XG4gICAgICAgIHJldHVybiB0aGlzLl9zaXplICogaSArIGogLSBNYXRoLmZsb29yKCgoaSArIDIpICogKGkgKyAxKSkgLyAyKTtcbiAgICB9XG4gICAgZ2V0KGksIGopIHtcbiAgICAgICAgaWYgKGkgPT0gailcbiAgICAgICAgICAgIHJldHVybiAwO1xuICAgICAgICBlbHNlIGlmIChpIDwgailcbiAgICAgICAgICAgIHJldHVybiB0aGlzLl9kYXRhW3RoaXMuX2xpbmVhcml6ZUlKKGksIGopXTtcbiAgICAgICAgZWxzZVxuICAgICAgICAgICAgcmV0dXJuIHRoaXMuX2RhdGFbdGhpcy5fbGluZWFyaXplSUooaiwgaSldO1xuICAgIH1cbiAgICBzZXQoaSwgaiwgdmFsdWUpIHtcbiAgICAgICAgdGhpcy5fZGF0YVt0aGlzLl9saW5lYXJpemVJSihpLCBqKV0gPSB2YWx1ZTtcbiAgICB9XG4gICAgc3RhdGljIGNhbGMobGlzdCwgbWV0aG9kKSB7XG4gICAgICAgIGNvbnN0IHNpemUgPSBsaXN0Lmxlbmd0aDtcbiAgICAgICAgY29uc3QgcmVzID0gbmV3IERpc3RhbmNlTWF0cml4KHVuZGVmaW5lZCwgc2l6ZSk7XG4gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgc2l6ZTsgaSsrKSB7XG4gICAgICAgICAgICBmb3IgKGxldCBqID0gaSArIDE7IGogPCBzaXplOyBqKyspIHtcbiAgICAgICAgICAgICAgICAvLyBpZiBhbnkgb2YgdGhlIHZhbHVlcyBpcyBudWxsLCBzZXQgZGlzdGFuY2UgdG8gMVxuICAgICAgICAgICAgICAgIHJlcy5zZXQoaSwgaiwgIWlzTmlsKGxpc3RbaV0pICYmICFpc05pbChsaXN0W2pdKSA/IG1ldGhvZChsaXN0W2ldLCBsaXN0W2pdKSA6IDEpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiByZXM7XG4gICAgfVxuICAgIC8vIHNxdWFyZXMgZWFjaCB2YWx1ZSBpbiBtYXRyaXggaW4gcGxhY2VcbiAgICBzcXVhcmUoKSB7XG4gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgdGhpcy5fZGF0YS5sZW5ndGg7IGkrKylcbiAgICAgICAgICAgIHRoaXMuX2RhdGFbaV0gPSB0aGlzLl9kYXRhW2ldICoqIDI7XG4gICAgfVxuICAgIC8vIGFkZHMgYW5vdGhlciBtYXRyaXggdG8gdGhpcyBvbmUgaW4gcGxhY2VcbiAgICBhZGQob3RoZXIpIHtcbiAgICAgICAgaWYgKHRoaXMuX3NpemUgIT09IG90aGVyLl9zaXplKVxuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBNYXRyaWNlcyBtdXN0IGhhdmUgdGhlIHNhbWUgc2l6ZS4gVGhpcyBzaXplOiAke3RoaXMuX3NpemV9LCBvdGhlciBzaXplOiAke290aGVyLl9zaXplfWApO1xuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IHRoaXMuX2RhdGEubGVuZ3RoOyBpKyspXG4gICAgICAgICAgICB0aGlzLl9kYXRhW2ldICs9IG90aGVyLl9kYXRhW2ldO1xuICAgIH1cbiAgICAvLyBzcXVhcmUgcm9vdCBlYWNoIHZhbHVlIGluIG1hdHJpeCBpbiBwbGFjZVxuICAgIHNxcnQoKSB7XG4gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgdGhpcy5fZGF0YS5sZW5ndGg7IGkrKylcbiAgICAgICAgICAgIHRoaXMuX2RhdGFbaV0gPSBNYXRoLnNxcnQodGhpcy5fZGF0YVtpXSk7XG4gICAgfVxuICAgIC8vbm9ybWlsemUgZGlzdGFuY2UgbWF0cml4IGluIHBsYWNlXG4gICAgbm9ybWFsaXplKCkge1xuICAgICAgICBsZXQgbWluID0gMDtcbiAgICAgICAgbGV0IG1heCA9IHRoaXMuX2RhdGFbMF07XG4gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgdGhpcy5fZGF0YS5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgaWYgKHRoaXMuX2RhdGFbaV0gPCBtaW4pXG4gICAgICAgICAgICAgICAgbWluID0gdGhpcy5fZGF0YVtpXTtcbiAgICAgICAgICAgIGlmICh0aGlzLl9kYXRhW2ldID4gbWF4KVxuICAgICAgICAgICAgICAgIG1heCA9IHRoaXMuX2RhdGFbaV07XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgcmFuZ2UgPSBtYXggLSBtaW47XG4gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgdGhpcy5fZGF0YS5sZW5ndGg7IGkrKylcbiAgICAgICAgICAgIHRoaXMuX2RhdGFbaV0gPSByYW5nZSA9PT0gMCA/IHRoaXMuX2RhdGFbaV0gLSBtaW4gOiAodGhpcy5fZGF0YVtpXSAtIG1pbikgLyAobWF4IC0gbWluKTtcbiAgICB9XG59XG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0ptYVd4bElqb2laR2x6ZEdGdVkyVXRiV0YwY21sNExtcHpJaXdpYzI5MWNtTmxVbTl2ZENJNklpSXNJbk52ZFhKalpYTWlPbHNpWkdsemRHRnVZMlV0YldGMGNtbDRMblJ6SWwwc0ltNWhiV1Z6SWpwYlhTd2liV0Z3Y0dsdVozTWlPaUpCUVVkQkxFOUJRVThzUlVGQlF5eExRVUZMTEVWQlFVTXNUVUZCVFN4VFFVRlRMRU5CUVVNN1FVRkZPVUlzTWtaQlFUSkdPMEZCUXpOR0xFMUJRVTBzVDBGQlR5eGpRVUZqTzBsQlNYcENMRWxCUVVrc1NVRkJTU3hMUVVGdFFpeFBRVUZQTEVsQlFVa3NRMEZCUXl4TFFVRkxMRU5CUVVNc1EwRkJReXhEUVVGRE8wbEJSUzlETEVsQlFVa3NTVUZCU1N4TFFVRmhMRTlCUVU4c1NVRkJTU3hEUVVGRExFdEJRVXNzUTBGQlF5eERRVUZETEVOQlFVTTdTVUZGZWtNN096dFBRVWRITzBsQlEwZ3NXVUZCV1N4SlFVRnRRaXhGUVVGRkxFbEJRV0U3VVVGRE5VTXNTVUZCU1N4SlFVRkpMRWxCUVVrc1UwRkJVeXhGUVVGRk8xbEJRM0pDTEVsQlFVa3NTVUZCU1N4SlFVRkpMRk5CUVZNN1owSkJRVVVzVFVGQlRTeEpRVUZKTEV0QlFVc3NRMEZCUXl3MFEwRkJORU1zUTBGQlF5eERRVUZETzFsQlJYSkdMRWxCUVVrc1EwRkJReXhMUVVGTExFZEJRVWNzU1VGQlN5eERRVUZETzFsQlEyNUNMRWxCUVVrc1EwRkJReXhMUVVGTExFZEJRVWNzUTBGQlF5eERRVUZETEVkQlFVY3NTVUZCU1N4RFFVRkRMRWxCUVVrc1EwRkJReXhEUVVGRExFZEJRVWNzUTBGQlF5eEhRVUZITEVOQlFVTXNSMEZCUnl4SlFVRkpMRU5CUVVNc1MwRkJTeXhEUVVGRExFMUJRVTBzUTBGQlF5eERRVUZETEVkQlFVY3NRMEZCUXl4RFFVRkRPMWxCUTJoRkxFbEJRVWtzU1VGQlNTeERRVUZETEV0QlFVc3NTVUZCU1N4SlFVRkpMRU5CUVVNc1MwRkJTeXhEUVVGRExFbEJRVWtzUTBGQlF5eExRVUZMTEVOQlFVTTdaMEpCUTNSRExFMUJRVTBzU1VGQlNTeExRVUZMTEVOQlFVTXNkVUpCUVhWQ0xFbEJRVWtzUTBGQlF5eExRVUZMTEVOQlFVTXNUVUZCVFN3NFFrRkJPRUlzU1VGQlNTeERRVUZETEV0QlFVc3NSVUZCUlN4RFFVRkRMRU5CUVVNN1UwRkRka2M3WVVGQlRUdFpRVU5NTEVsQlFVa3NRMEZCUXl4TFFVRkxMRWRCUVVjc1NVRkJTU3hEUVVGRE8xbEJRMnhDTEUxQlFVMHNWVUZCVlN4SFFVRlhMRWxCUVVrc1IwRkJSeXhEUVVGRExFbEJRVWtzUjBGQlJ5eERRVUZETEVOQlFVTXNSMEZCUnl4RFFVRkRMRU5CUVVNN1dVRkRha1FzU1VGQlNTeEpRVUZKTEVWQlFVVTdaMEpCUTFJc1NVRkJTU3hKUVVGSkxFTkJRVU1zVFVGQlRTeEpRVUZKTEZWQlFWVTdiMEpCUXpOQ0xFMUJRVTBzU1VGQlNTeExRVUZMTEVOQlFVTXNNRU5CUVRCRExFbEJRVWtzZVVKQlFYbENMRlZCUVZVc1IwRkJSeXhEUVVGRExFTkJRVU03WjBKQlEzaEhMRWxCUVVrc1EwRkJReXhMUVVGTExFZEJRVWNzU1VGQlNTeERRVUZETzJGQlEyNUNPMmxDUVVGTk8yZENRVU5NTEVsQlFVa3NRMEZCUXl4TFFVRkxMRWRCUVVjc1NVRkJTU3haUVVGWkxFTkJRVU1zVlVGQlZTeERRVUZETEVOQlFVTTdZVUZETTBNN1UwRkRSanRKUVVOSUxFTkJRVU03U1VGRlR5eFpRVUZaTEVOQlFVTXNRMEZCVXl4RlFVRkZMRU5CUVZNN1VVRkRka01zU1VGQlNTeERRVUZETEVOQlFVTXNRMEZCUXl4SFFVRkhMRU5CUVVNc1EwRkJRenRaUVVGRkxFMUJRVTBzU1VGQlNTeExRVUZMTEVOQlFVTXNkVUpCUVhWQ0xFTkJRVU1zUTBGQlF6dFJRVU4yUkN4UFFVRlBMRWxCUVVrc1EwRkJReXhMUVVGTExFZEJRVWNzUTBGQlF5eEhRVUZITEVOQlFVTXNSMEZCUnl4SlFVRkpMRU5CUVVNc1MwRkJTeXhEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETEVkQlFVY3NRMEZCUXl4RFFVRkRMRWRCUVVjc1EwRkJReXhEUVVGRExFZEJRVWNzUTBGQlF5eERRVUZETEVOQlFVTXNSMEZCUnl4RFFVRkRMRU5CUVVNc1EwRkJRenRKUVVOc1JTeERRVUZETzBsQlJVUXNSMEZCUnl4RFFVRkRMRU5CUVZNc1JVRkJSU3hEUVVGVE8xRkJRM1JDTEVsQlFVa3NRMEZCUXl4SlFVRkpMRU5CUVVNN1dVRkRVaXhQUVVGUExFTkJRVU1zUTBGQlF6dGhRVU5PTEVsQlFVa3NRMEZCUXl4SFFVRkhMRU5CUVVNN1dVRkRXaXhQUVVGUExFbEJRVWtzUTBGQlF5eExRVUZMTEVOQlFVTXNTVUZCU1N4RFFVRkRMRmxCUVZrc1EwRkJReXhEUVVGRExFVkJRVVVzUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXpzN1dVRkZNME1zVDBGQlR5eEpRVUZKTEVOQlFVTXNTMEZCU3l4RFFVRkRMRWxCUVVrc1EwRkJReXhaUVVGWkxFTkJRVU1zUTBGQlF5eEZRVUZGTEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNN1NVRkRMME1zUTBGQlF6dEpRVVZFTEVkQlFVY3NRMEZCUXl4RFFVRlRMRVZCUVVVc1EwRkJVeXhGUVVGRkxFdEJRV0U3VVVGRGNrTXNTVUZCU1N4RFFVRkRMRXRCUVVzc1EwRkJReXhKUVVGSkxFTkJRVU1zV1VGQldTeERRVUZETEVOQlFVTXNSVUZCUlN4RFFVRkRMRU5CUVVNc1EwRkJReXhIUVVGSExFdEJRVXNzUTBGQlF6dEpRVU01UXl4RFFVRkRPMGxCUlVRc1RVRkJUU3hEUVVGRExFbEJRVWtzUTBGQlR5eEpRVUZ4UWl4RlFVRkZMRTFCUVc5RE8xRkJRek5GTEUxQlFVMHNTVUZCU1N4SFFVRlhMRWxCUVVrc1EwRkJReXhOUVVGTkxFTkJRVU03VVVGRGFrTXNUVUZCVFN4SFFVRkhMRWRCUVVjc1NVRkJTU3hqUVVGakxFTkJRVU1zVTBGQlV5eEZRVUZGTEVsQlFVa3NRMEZCUXl4RFFVRkRPMUZCUTJoRUxFdEJRVXNzU1VGQlNTeERRVUZETEVkQlFVY3NRMEZCUXl4RlFVRkZMRU5CUVVNc1IwRkJSeXhKUVVGSkxFVkJRVVVzUTBGQlF5eEZRVUZGTEVWQlFVVTdXVUZETjBJc1MwRkJTeXhKUVVGSkxFTkJRVU1zUjBGQlJ5eERRVUZETEVkQlFVY3NRMEZCUXl4RlFVRkZMRU5CUVVNc1IwRkJSeXhKUVVGSkxFVkJRVVVzUTBGQlF5eEZRVUZGTEVWQlFVVTdaMEpCUTJwRExHdEVRVUZyUkR0blFrRkRiRVFzUjBGQlJ5eERRVUZETEVkQlFVY3NRMEZCUXl4RFFVRkRMRVZCUVVVc1EwRkJReXhGUVVGRkxFTkJRVU1zUzBGQlN5eERRVUZETEVsQlFVa3NRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJReXhKUVVGSkxFTkJRVU1zUzBGQlN5eERRVUZETEVsQlFVa3NRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF5eE5RVUZOTEVOQlFVTXNTVUZCU1N4RFFVRkRMRU5CUVVNc1EwRkJReXhGUVVGRkxFbEJRVWtzUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF6dGhRVU5zUmp0VFFVTkdPMUZCUTBRc1QwRkJUeXhIUVVGSExFTkJRVU03U1VGRFlpeERRVUZETzBsQlJVUXNkME5CUVhkRE8wbEJRMnBETEUxQlFVMDdVVUZEV0N4TFFVRkxMRWxCUVVrc1EwRkJReXhIUVVGSExFTkJRVU1zUlVGQlJTeERRVUZETEVkQlFVY3NTVUZCU1N4RFFVRkRMRXRCUVVzc1EwRkJReXhOUVVGTkxFVkJRVVVzUTBGQlF5eEZRVUZGTzFsQlEzaERMRWxCUVVrc1EwRkJReXhMUVVGTExFTkJRVU1zUTBGQlF5eERRVUZETEVkQlFVY3NTVUZCU1N4RFFVRkRMRXRCUVVzc1EwRkJReXhEUVVGRExFTkJRVU1zU1VGQlNTeERRVUZETEVOQlFVTTdTVUZEZGtNc1EwRkJRenRKUVVWRUxESkRRVUV5UXp0SlFVTndReXhIUVVGSExFTkJRVU1zUzBGQmNVSTdVVUZET1VJc1NVRkJTU3hKUVVGSkxFTkJRVU1zUzBGQlN5eExRVUZMTEV0QlFVc3NRMEZCUXl4TFFVRkxPMWxCUXpWQ0xFMUJRVTBzU1VGQlNTeExRVUZMTEVOQlFVTXNaMFJCUVdkRUxFbEJRVWtzUTBGQlF5eExRVUZMTEdsQ1FVRnBRaXhMUVVGTExFTkJRVU1zUzBGQlN5eEZRVUZGTEVOQlFVTXNRMEZCUXp0UlFVTTFSeXhMUVVGTExFbEJRVWtzUTBGQlF5eEhRVUZITEVOQlFVTXNSVUZCUlN4RFFVRkRMRWRCUVVjc1NVRkJTU3hEUVVGRExFdEJRVXNzUTBGQlF5eE5RVUZOTEVWQlFVVXNRMEZCUXl4RlFVRkZPMWxCUTNoRExFbEJRVWtzUTBGQlF5eExRVUZMTEVOQlFVTXNRMEZCUXl4RFFVRkRMRWxCUVVrc1MwRkJTeXhEUVVGRExFdEJRVXNzUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXp0SlFVTndReXhEUVVGRE8wbEJSVVFzTkVOQlFUUkRPMGxCUTNKRExFbEJRVWs3VVVGRFZDeExRVUZMTEVsQlFVa3NRMEZCUXl4SFFVRkhMRU5CUVVNc1JVRkJSU3hEUVVGRExFZEJRVWNzU1VGQlNTeERRVUZETEV0QlFVc3NRMEZCUXl4TlFVRk5MRVZCUVVVc1EwRkJReXhGUVVGRk8xbEJRM2hETEVsQlFVa3NRMEZCUXl4TFFVRkxMRU5CUVVNc1EwRkJReXhEUVVGRExFZEJRVWNzU1VGQlNTeERRVUZETEVsQlFVa3NRMEZCUXl4SlFVRkpMRU5CUVVNc1MwRkJTeXhEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTTdTVUZETjBNc1EwRkJRenRKUVVWRUxHMURRVUZ0UXp0SlFVTTFRaXhUUVVGVE8xRkJRMlFzU1VGQlNTeEhRVUZITEVkQlFVY3NRMEZCUXl4RFFVRkRPMUZCUTFvc1NVRkJTU3hIUVVGSExFZEJRVWNzU1VGQlNTeERRVUZETEV0QlFVc3NRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJRenRSUVVONFFpeExRVUZMTEVsQlFVa3NRMEZCUXl4SFFVRkhMRU5CUVVNc1JVRkJSU3hEUVVGRExFZEJRVWNzU1VGQlNTeERRVUZETEV0QlFVc3NRMEZCUXl4TlFVRk5MRVZCUVVVc1EwRkJReXhGUVVGRkxFVkJRVVU3V1VGRE1VTXNTVUZCU1N4SlFVRkpMRU5CUVVNc1MwRkJTeXhEUVVGRExFTkJRVU1zUTBGQlF5eEhRVUZITEVkQlFVYzdaMEpCUTNKQ0xFZEJRVWNzUjBGQlJ5eEpRVUZKTEVOQlFVTXNTMEZCU3l4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRE8xbEJRM1JDTEVsQlFVa3NTVUZCU1N4RFFVRkRMRXRCUVVzc1EwRkJReXhEUVVGRExFTkJRVU1zUjBGQlJ5eEhRVUZITzJkQ1FVTnlRaXhIUVVGSExFZEJRVWNzU1VGQlNTeERRVUZETEV0QlFVc3NRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJRenRUUVVOMlFqdFJRVU5FTEUxQlFVMHNTMEZCU3l4SFFVRkhMRWRCUVVjc1IwRkJSeXhIUVVGSExFTkJRVU03VVVGRGVFSXNTMEZCU3l4SlFVRkpMRU5CUVVNc1IwRkJSeXhEUVVGRExFVkJRVVVzUTBGQlF5eEhRVUZITEVsQlFVa3NRMEZCUXl4TFFVRkxMRU5CUVVNc1RVRkJUU3hGUVVGRkxFTkJRVU1zUlVGQlJUdFpRVU40UXl4SlFVRkpMRU5CUVVNc1MwRkJTeXhEUVVGRExFTkJRVU1zUTBGQlF5eEhRVUZITEV0QlFVc3NTMEZCU3l4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRExFbEJRVWtzUTBGQlF5eExRVUZMTEVOQlFVTXNRMEZCUXl4RFFVRkRMRWRCUVVjc1IwRkJSeXhEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETEVsQlFVa3NRMEZCUXl4TFFVRkxMRU5CUVVNc1EwRkJReXhEUVVGRExFZEJRVWNzUjBGQlJ5eERRVUZETEVkQlFVY3NRMEZCUXl4SFFVRkhMRWRCUVVjc1IwRkJSeXhEUVVGRExFTkJRVU03U1VGRE5VWXNRMEZCUXp0RFFVTkdJaXdpYzI5MWNtTmxjME52Ym5SbGJuUWlPbHNpYVcxd2IzSjBJQ29nWVhNZ1ozSnZheUJtY205dElDZGtZWFJoWjNKdmF5MWhjR2t2WjNKdmF5YzdYRzVwYlhCdmNuUWdLaUJoY3lCMWFTQm1jbTl0SUNka1lYUmhaM0p2YXkxaGNHa3ZkV2tuTzF4dWFXMXdiM0owSUNvZ1lYTWdSRWNnWm5KdmJTQW5aR0YwWVdkeWIyc3RZWEJwTDJSbkp6dGNibWx0Y0c5eWRDQjdhWE5PYVd4OUlHWnliMjBnSnk0dmRYUnBiSE1uTzF4dVhHNHZLaW9nUkdsemRHRnVZMlVnYldGMGNtbDRJR05zWVhOeklHTnZiWEJoZEdsaWJHVWdkMmwwYUNCa1lYUmhJSE4wY25WamRIVnlaU0J2WmlCelkybHdlUzV6Y0dGMGFXRnNMbVJwYzNSaGJtTmxMbkJrYVhOMElDb3ZYRzVsZUhCdmNuUWdZMnhoYzNNZ1JHbHpkR0Z1WTJWTllYUnlhWGdnZTF4dUlDQmZaR0YwWVRvZ1JteHZZWFF6TWtGeWNtRjVPMXh1SUNCZmMybDZaVG9nYm5WdFltVnlPMXh1WEc0Z0lHZGxkQ0JrWVhSaEtDazZJRVpzYjJGME16SkJjbkpoZVNCN0lISmxkSFZ5YmlCMGFHbHpMbDlrWVhSaE95QjlYRzVjYmlBZ1oyVjBJSE5wZW1Vb0tUb2diblZ0WW1WeUlIc2djbVYwZFhKdUlIUm9hWE11WDNOcGVtVTdJSDFjYmx4dUlDQXZLaXBjYmlBZ0lDb2dRSEJoY21GdElIdEdiRzloZERNeVFYSnlZWGw5SUdSaGRHRWdSR2x6ZEdGdVkyVWdaR0YwWVZ4dUlDQWdLaUJBY0dGeVlXMGdlMjUxYldKbGNuMGdjMmw2WlNCT2RXMWlaWElnYjJZZ2IzSnBaMmx1WVd3Z2IySnpaWEoyWVhScGIyNXpYRzRnSUNBcUwxeHVJQ0JqYjI1emRISjFZM1J2Y2loa1lYUmhQem9nUm14dllYUXpNa0Z5Y21GNUxDQnphWHBsUHpvZ2JuVnRZbVZ5S1NCN1hHNGdJQ0FnYVdZZ0tITnBlbVVnUFQwZ2RXNWtaV1pwYm1Wa0tTQjdYRzRnSUNBZ0lDQnBaaUFvWkdGMFlTQTlQU0IxYm1SbFptbHVaV1FwSUhSb2NtOTNJRzVsZHlCRmNuSnZjaWduUVhKbmRXMWxiblJ6SUdWeWNtOXlPaUJrWVhSaElHOXlJSE5wZW1VZ2FYTWdjbVZ4ZFdseVpXUXVKeWs3WEc1Y2JpQWdJQ0FnSUhSb2FYTXVYMlJoZEdFZ1BTQmtZWFJoSVR0Y2JpQWdJQ0FnSUhSb2FYTXVYM05wZW1VZ1BTQW9NU0FySUUxaGRHZ3VjM0Z5ZENneElDc2dOQ0FxSURJZ0tpQjBhR2x6TGw5a1lYUmhMbXhsYm1kMGFDa3BJQzhnTWp0Y2JpQWdJQ0FnSUdsbUlDaDBhR2x6TGw5emFYcGxJQ0U5SUUxaGRHZ3VabXh2YjNJb2RHaHBjeTVmYzJsNlpTa3BYRzRnSUNBZ0lDQWdJSFJvY205M0lHNWxkeUJGY25KdmNpaGdTVzUyWVd4cFpDQmtZWFJoSUd4bGJtZDBhQ0FrZTNSb2FYTXVYMlJoZEdFdWJHVnVaM1JvZlNCc1pXRmtjeUIwYnlCdWIyNGdhVzUwWldkbGNpQnphWHBsSUNSN2RHaHBjeTVmYzJsNlpYMWdLVHRjYmlBZ0lDQjlJR1ZzYzJVZ2UxeHVJQ0FnSUNBZ2RHaHBjeTVmYzJsNlpTQTlJSE5wZW1VN1hHNGdJQ0FnSUNCamIyNXpkQ0JrWVhSaFRHVnVaM1JvT2lCdWRXMWlaWElnUFNCemFYcGxJQ29nS0hOcGVtVWdMU0F4S1NBdklESTdYRzRnSUNBZ0lDQnBaaUFvWkdGMFlTa2dlMXh1SUNBZ0lDQWdJQ0JwWmlBb1pHRjBZUzVzWlc1bmRHZ2dJVDBnWkdGMFlVeGxibWQwYUNsY2JpQWdJQ0FnSUNBZ0lDQjBhSEp2ZHlCdVpYY2dSWEp5YjNJb1lFbHVkbUZzYVdRZ1pHRjBZU0JzWlc1bmRHZ3VJRTlpYzJWeWRtRjBhVzl1Y3lCemFYcGxJQ1I3YzJsNlpYMGdjbVZ4ZFdseVpYTWdaR0YwWVNCc1pXNW5kR2dnSkh0a1lYUmhUR1Z1WjNSb2ZTNWdLVHRjYmlBZ0lDQWdJQ0FnZEdocGN5NWZaR0YwWVNBOUlHUmhkR0U3WEc0Z0lDQWdJQ0I5SUdWc2MyVWdlMXh1SUNBZ0lDQWdJQ0IwYUdsekxsOWtZWFJoSUQwZ2JtVjNJRVpzYjJGME16SkJjbkpoZVNoa1lYUmhUR1Z1WjNSb0tUdGNiaUFnSUNBZ0lIMWNiaUFnSUNCOVhHNGdJSDFjYmx4dUlDQndjbWwyWVhSbElGOXNhVzVsWVhKcGVtVkpTaWhwT2lCdWRXMWlaWElzSUdvNklHNTFiV0psY2lrNklHNTFiV0psY2lCN1hHNGdJQ0FnYVdZZ0tDRW9hU0E4SUdvcEtTQjBhSEp2ZHlCdVpYY2dSWEp5YjNJb0oya2diWFZ6ZENCaVpTQnNaWE56SUhSb1lXNGdhaWNwTzF4dUlDQWdJSEpsZEhWeWJpQjBhR2x6TGw5emFYcGxJQ29nYVNBcklHb2dMU0JOWVhSb0xtWnNiMjl5S0Nnb2FTQXJJRElwSUNvZ0tHa2dLeUF4S1NrZ0x5QXlLVHRjYmlBZ2ZWeHVYRzRnSUdkbGRDaHBPaUJ1ZFcxaVpYSXNJR282SUc1MWJXSmxjaWtnZTF4dUlDQWdJR2xtSUNocElEMDlJR29wWEc0Z0lDQWdJQ0J5WlhSMWNtNGdNRHRjYmlBZ0lDQmxiSE5sSUdsbUlDaHBJRHdnYWlsY2JpQWdJQ0FnSUhKbGRIVnliaUIwYUdsekxsOWtZWFJoVzNSb2FYTXVYMnhwYm1WaGNtbDZaVWxLS0drc0lHb3BYVHRjYmlBZ0lDQmxiSE5sWEc0Z0lDQWdJQ0J5WlhSMWNtNGdkR2hwY3k1ZlpHRjBZVnQwYUdsekxsOXNhVzVsWVhKcGVtVkpTaWhxTENCcEtWMDdYRzRnSUgxY2JseHVJQ0J6WlhRb2FUb2diblZ0WW1WeUxDQnFPaUJ1ZFcxaVpYSXNJSFpoYkhWbE9pQnVkVzFpWlhJcElIdGNiaUFnSUNCMGFHbHpMbDlrWVhSaFczUm9hWE11WDJ4cGJtVmhjbWw2WlVsS0tHa3NJR29wWFNBOUlIWmhiSFZsTzF4dUlDQjlYRzVjYmlBZ2MzUmhkR2xqSUdOaGJHTThWRTlpYWo0b2JHbHpkRG9nU1c1a1pYaGhZbXhsUEZSUFltbytMQ0J0WlhSb2IyUTZJQ2hoT2lCVVQySnFMQ0JpT2lCVVQySnFLU0E5UGlCdWRXMWlaWElwT2lCRWFYTjBZVzVqWlUxaGRISnBlQ0I3WEc0Z0lDQWdZMjl1YzNRZ2MybDZaVG9nYm5WdFltVnlJRDBnYkdsemRDNXNaVzVuZEdnN1hHNGdJQ0FnWTI5dWMzUWdjbVZ6SUQwZ2JtVjNJRVJwYzNSaGJtTmxUV0YwY21sNEtIVnVaR1ZtYVc1bFpDd2djMmw2WlNrN1hHNGdJQ0FnWm05eUlDaHNaWFFnYVNBOUlEQTdJR2tnUENCemFYcGxPeUJwS3lzcElIdGNiaUFnSUNBZ0lHWnZjaUFvYkdWMElHb2dQU0JwSUNzZ01Uc2dhaUE4SUhOcGVtVTdJR29yS3lrZ2UxeHVJQ0FnSUNBZ0lDQXZMeUJwWmlCaGJua2diMllnZEdobElIWmhiSFZsY3lCcGN5QnVkV3hzTENCelpYUWdaR2x6ZEdGdVkyVWdkRzhnTVZ4dUlDQWdJQ0FnSUNCeVpYTXVjMlYwS0drc0lHb3NJQ0ZwYzA1cGJDaHNhWE4wVzJsZEtTQW1KaUFoYVhOT2FXd29iR2x6ZEZ0cVhTa2dQeUJ0WlhSb2IyUW9iR2x6ZEZ0cFhTd2diR2x6ZEZ0cVhTa2dPaUF4S1R0Y2JpQWdJQ0FnSUgxY2JpQWdJQ0I5WEc0Z0lDQWdjbVYwZFhKdUlISmxjenRjYmlBZ2ZWeHVYRzRnSUM4dklITnhkV0Z5WlhNZ1pXRmphQ0IyWVd4MVpTQnBiaUJ0WVhSeWFYZ2dhVzRnY0d4aFkyVmNiaUFnY0hWaWJHbGpJSE54ZFdGeVpTZ3BJSHRjYmlBZ0lDQm1iM0lnS0d4bGRDQnBJRDBnTURzZ2FTQThJSFJvYVhNdVgyUmhkR0V1YkdWdVozUm9PeUJwS3lzcFhHNGdJQ0FnSUNCMGFHbHpMbDlrWVhSaFcybGRJRDBnZEdocGN5NWZaR0YwWVZ0cFhTQXFLaUF5TzF4dUlDQjlYRzVjYmlBZ0x5OGdZV1JrY3lCaGJtOTBhR1Z5SUcxaGRISnBlQ0IwYnlCMGFHbHpJRzl1WlNCcGJpQndiR0ZqWlZ4dUlDQndkV0pzYVdNZ1lXUmtLRzkwYUdWeU9pQkVhWE4wWVc1alpVMWhkSEpwZUNrZ2UxeHVJQ0FnSUdsbUlDaDBhR2x6TGw5emFYcGxJQ0U5UFNCdmRHaGxjaTVmYzJsNlpTbGNiaUFnSUNBZ0lIUm9jbTkzSUc1bGR5QkZjbkp2Y2loZ1RXRjBjbWxqWlhNZ2JYVnpkQ0JvWVhabElIUm9aU0J6WVcxbElITnBlbVV1SUZSb2FYTWdjMmw2WlRvZ0pIdDBhR2x6TGw5emFYcGxmU3dnYjNSb1pYSWdjMmw2WlRvZ0pIdHZkR2hsY2k1ZmMybDZaWDFnS1R0Y2JpQWdJQ0JtYjNJZ0tHeGxkQ0JwSUQwZ01Ec2dhU0E4SUhSb2FYTXVYMlJoZEdFdWJHVnVaM1JvT3lCcEt5c3BYRzRnSUNBZ0lDQjBhR2x6TGw5a1lYUmhXMmxkSUNzOUlHOTBhR1Z5TGw5a1lYUmhXMmxkTzF4dUlDQjlYRzVjYmlBZ0x5OGdjM0YxWVhKbElISnZiM1FnWldGamFDQjJZV3gxWlNCcGJpQnRZWFJ5YVhnZ2FXNGdjR3hoWTJWY2JpQWdjSFZpYkdsaklITnhjblFvS1NCN1hHNGdJQ0FnWm05eUlDaHNaWFFnYVNBOUlEQTdJR2tnUENCMGFHbHpMbDlrWVhSaExteGxibWQwYURzZ2FTc3JLVnh1SUNBZ0lDQWdkR2hwY3k1ZlpHRjBZVnRwWFNBOUlFMWhkR2d1YzNGeWRDaDBhR2x6TGw5a1lYUmhXMmxkS1R0Y2JpQWdmVnh1WEc0Z0lDOHZibTl5Yldsc2VtVWdaR2x6ZEdGdVkyVWdiV0YwY21sNElHbHVJSEJzWVdObFhHNGdJSEIxWW14cFl5QnViM0p0WVd4cGVtVW9LU0I3WEc0Z0lDQWdiR1YwSUcxcGJpQTlJREE3WEc0Z0lDQWdiR1YwSUcxaGVDQTlJSFJvYVhNdVgyUmhkR0ZiTUYwN1hHNGdJQ0FnWm05eUlDaHNaWFFnYVNBOUlEQTdJR2tnUENCMGFHbHpMbDlrWVhSaExteGxibWQwYURzZ2FTc3JLU0I3WEc0Z0lDQWdJQ0JwWmlBb2RHaHBjeTVmWkdGMFlWdHBYU0E4SUcxcGJpbGNiaUFnSUNBZ0lDQWdiV2x1SUQwZ2RHaHBjeTVmWkdGMFlWdHBYVHRjYmlBZ0lDQWdJR2xtSUNoMGFHbHpMbDlrWVhSaFcybGRJRDRnYldGNEtWeHVJQ0FnSUNBZ0lDQnRZWGdnUFNCMGFHbHpMbDlrWVhSaFcybGRPMXh1SUNBZ0lIMWNiaUFnSUNCamIyNXpkQ0J5WVc1blpTQTlJRzFoZUNBdElHMXBianRjYmlBZ0lDQm1iM0lnS0d4bGRDQnBJRDBnTURzZ2FTQThJSFJvYVhNdVgyUmhkR0V1YkdWdVozUm9PeUJwS3lzcFhHNGdJQ0FnSUNCMGFHbHpMbDlrWVhSaFcybGRJRDBnY21GdVoyVWdQVDA5SURBZ1B5QjBhR2x6TGw5a1lYUmhXMmxkSUMwZ2JXbHVJRG9nS0hSb2FYTXVYMlJoZEdGYmFWMGdMU0J0YVc0cElDOGdLRzFoZUNBdElHMXBiaWs3WEc0Z0lIMWNibjFjYmx4dVpYaHdiM0owSUdsdWRHVnlabUZqWlNCSmJtUmxlR0ZpYkdVOFZFOWlhajRnZTF4dUlDQmJhVzVrWlhnNklHNTFiV0psY2wwNklGUlBZbW83WEc0Z0lHZGxkQ0JzWlc1bmRHZ29LVG9nYm5WdFltVnlPMXh1ZlZ4dUlsMTkiLCJpbXBvcnQgKiBhcyBmbCBmcm9tICdmYXN0ZXN0LWxldmVuc2h0ZWluJztcbmltcG9ydCB7IGphcm9XaW5rbGVyIH0gZnJvbSAnamFyby13aW5rbGVyLXR5cGVzY3JpcHQnO1xuaW1wb3J0IHsgYXN5bW1ldHJpY0Rpc3RhbmNlLCBicmF1bkJsYW5xdWV0RGlzdGFuY2UsIGNvc2luZURpc3RhbmNlLCBkaWNlRGlzdGFuY2UsIGV1Y2xpZGVhbkRpc3RhbmNlLCBoYW1taW5nRGlzdGFuY2UsIGt1bGN6eW5za2lEaXN0YW5jZSwgbWNDb25uYXVnaGV5RGlzdGFuY2UsIHJvZ290R29sZGJlcmdEaXN0YW5jZSwgcnVzc2VsRGlzdGFuY2UsIHNva2FsRGlzdGFuY2UsIHRhbmltb3RvRGlzdGFuY2UsIG51bWVyaWNEaXN0YW5jZSwgdGFuaW1vdG9EaXN0YW5jZUludEFycmF5LCB9IGZyb20gJy4uL2Rpc3RhbmNlLW1ldHJpY3MtbWV0aG9kcyc7XG5pbXBvcnQgeyBjYWxjdWxhdGVFdWNsaWRlYW5EaXN0YW5jZSB9IGZyb20gJ0BkYXRhZ3Jvay1saWJyYXJpZXMvdXRpbHMvc3JjL3ZlY3Rvci1vcGVyYXRpb25zJztcbmltcG9ydCB7IG1tRGlzdGFuY2VGdW5jdGlvbnMsIE1tRGlzdGFuY2VGdW5jdGlvbnNOYW1lcyB9IGZyb20gJy4uL21hY3JvbW9sZWN1bGUtZGlzdGFuY2UtZnVuY3Rpb25zJztcbmltcG9ydCB7IERpc3RhbmNlTWV0cmljc1N1YmplY3RzLCBCaXRBcnJheU1ldHJpY3NOYW1lcywgU3RyaW5nTWV0cmljc05hbWVzLCBWZWN0b3JNZXRyaWNzTmFtZXMsIE51bWJlck1ldHJpY3NOYW1lcywgSW50QXJyYXlNZXRyaWNzTmFtZXMgfSBmcm9tICcuL2NvbnN0cyc7XG5leHBvcnQgY29uc3QgdmVjdG9yRGlzdGFuY2VNZXRyaWNzTWV0aG9kcyA9IHtcbiAgICBbVmVjdG9yTWV0cmljc05hbWVzLkV1Y2xpZGVhbl06IGNhbGN1bGF0ZUV1Y2xpZGVhbkRpc3RhbmNlLFxufTtcbmV4cG9ydCBjb25zdCBzdHJpbmdEaXN0YW5jZU1ldHJpY3NNZXRob2RzID0ge1xuICAgIFtTdHJpbmdNZXRyaWNzTmFtZXMuTGV2ZW5zaHRlaW5dOiBmbC5kaXN0YW5jZSxcbiAgICBbU3RyaW5nTWV0cmljc05hbWVzLkphcm9XaW5rbGVyXTogamFyb1dpbmtsZXIsXG4gICAgW1N0cmluZ01ldHJpY3NOYW1lcy5NYW5oYXR0YW5dOiBtYW5oYXR0YW5EaXN0YW5jZSxcbn07XG5leHBvcnQgY29uc3QgYml0QXJyYXlEaXN0YW5jZU1ldHJpY3NNZXRob2RzID0ge1xuICAgIFtCaXRBcnJheU1ldHJpY3NOYW1lcy5UYW5pbW90b106IHRhbmltb3RvRGlzdGFuY2UsXG4gICAgW0JpdEFycmF5TWV0cmljc05hbWVzLkRpY2VdOiBkaWNlRGlzdGFuY2UsXG4gICAgW0JpdEFycmF5TWV0cmljc05hbWVzLkFzeW1tZXRyaWNdOiBhc3ltbWV0cmljRGlzdGFuY2UsXG4gICAgW0JpdEFycmF5TWV0cmljc05hbWVzLkJyYXVuQmxhbnF1ZXRdOiBicmF1bkJsYW5xdWV0RGlzdGFuY2UsXG4gICAgW0JpdEFycmF5TWV0cmljc05hbWVzLkNvc2luZV06IGNvc2luZURpc3RhbmNlLFxuICAgIFtCaXRBcnJheU1ldHJpY3NOYW1lcy5LdWxjenluc2tpXToga3VsY3p5bnNraURpc3RhbmNlLFxuICAgIFtCaXRBcnJheU1ldHJpY3NOYW1lcy5NY0Nvbm5hdWdoZXldOiBtY0Nvbm5hdWdoZXlEaXN0YW5jZSxcbiAgICBbQml0QXJyYXlNZXRyaWNzTmFtZXMuUm9nb3RHb2xkYmVyZ106IHJvZ290R29sZGJlcmdEaXN0YW5jZSxcbiAgICBbQml0QXJyYXlNZXRyaWNzTmFtZXMuUnVzc2VsXTogcnVzc2VsRGlzdGFuY2UsXG4gICAgW0JpdEFycmF5TWV0cmljc05hbWVzLlNva2FsXTogc29rYWxEaXN0YW5jZSxcbiAgICBbQml0QXJyYXlNZXRyaWNzTmFtZXMuSGFtbWluZ106IGhhbW1pbmdEaXN0YW5jZSxcbiAgICBbQml0QXJyYXlNZXRyaWNzTmFtZXMuRXVjbGlkZWFuXTogZXVjbGlkZWFuRGlzdGFuY2UsXG59O1xuZXhwb3J0IGNvbnN0IGludEFycmF5RGlzdGFuY2VNZXRyaWNzTWV0aG9kcyA9IHtcbiAgICBbSW50QXJyYXlNZXRyaWNzTmFtZXMuVGFuaW1vdG9JbnRBcnJheV06IHRhbmltb3RvRGlzdGFuY2VJbnRBcnJheSxcbn07XG5leHBvcnQgY29uc3QgbnVtYmVyRGlzdGFuY2VNZXRyaWNzTWV0aG9kcyA9IHtcbiAgICBbTnVtYmVyTWV0cmljc05hbWVzLk51bWVyaWNEaXN0YW5jZV06IG51bWVyaWNEaXN0YW5jZSxcbn07XG5leHBvcnQgY29uc3QgQXZhaWxhYmxlTWV0cmljcyA9IHtcbiAgICBbRGlzdGFuY2VNZXRyaWNzU3ViamVjdHMuVmVjdG9yXToge1xuICAgICAgICBbVmVjdG9yTWV0cmljc05hbWVzLkV1Y2xpZGVhbl06IHZlY3RvckRpc3RhbmNlTWV0cmljc01ldGhvZHNbVmVjdG9yTWV0cmljc05hbWVzLkV1Y2xpZGVhbl0sXG4gICAgfSxcbiAgICBbRGlzdGFuY2VNZXRyaWNzU3ViamVjdHMuU3RyaW5nXToge1xuICAgICAgICBbU3RyaW5nTWV0cmljc05hbWVzLkxldmVuc2h0ZWluXTogc3RyaW5nRGlzdGFuY2VNZXRyaWNzTWV0aG9kc1tTdHJpbmdNZXRyaWNzTmFtZXMuTGV2ZW5zaHRlaW5dLFxuICAgICAgICBbU3RyaW5nTWV0cmljc05hbWVzLkphcm9XaW5rbGVyXTogc3RyaW5nRGlzdGFuY2VNZXRyaWNzTWV0aG9kc1tTdHJpbmdNZXRyaWNzTmFtZXMuSmFyb1dpbmtsZXJdLFxuICAgICAgICBbU3RyaW5nTWV0cmljc05hbWVzLk1hbmhhdHRhbl06IHN0cmluZ0Rpc3RhbmNlTWV0cmljc01ldGhvZHNbU3RyaW5nTWV0cmljc05hbWVzLk1hbmhhdHRhbl0sXG4gICAgfSxcbiAgICBbRGlzdGFuY2VNZXRyaWNzU3ViamVjdHMuQml0QXJyYXldOiB7XG4gICAgICAgIFtCaXRBcnJheU1ldHJpY3NOYW1lcy5UYW5pbW90b106IGJpdEFycmF5RGlzdGFuY2VNZXRyaWNzTWV0aG9kc1tCaXRBcnJheU1ldHJpY3NOYW1lcy5UYW5pbW90b10sXG4gICAgICAgIFtCaXRBcnJheU1ldHJpY3NOYW1lcy5EaWNlXTogYml0QXJyYXlEaXN0YW5jZU1ldHJpY3NNZXRob2RzW0JpdEFycmF5TWV0cmljc05hbWVzLkRpY2VdLFxuICAgICAgICBbQml0QXJyYXlNZXRyaWNzTmFtZXMuQXN5bW1ldHJpY106IGJpdEFycmF5RGlzdGFuY2VNZXRyaWNzTWV0aG9kc1tCaXRBcnJheU1ldHJpY3NOYW1lcy5Bc3ltbWV0cmljXSxcbiAgICAgICAgW0JpdEFycmF5TWV0cmljc05hbWVzLkJyYXVuQmxhbnF1ZXRdOiBiaXRBcnJheURpc3RhbmNlTWV0cmljc01ldGhvZHNbQml0QXJyYXlNZXRyaWNzTmFtZXMuQnJhdW5CbGFucXVldF0sXG4gICAgICAgIFtCaXRBcnJheU1ldHJpY3NOYW1lcy5Db3NpbmVdOiBiaXRBcnJheURpc3RhbmNlTWV0cmljc01ldGhvZHNbQml0QXJyYXlNZXRyaWNzTmFtZXMuQ29zaW5lXSxcbiAgICAgICAgW0JpdEFycmF5TWV0cmljc05hbWVzLkt1bGN6eW5za2ldOiBiaXRBcnJheURpc3RhbmNlTWV0cmljc01ldGhvZHNbQml0QXJyYXlNZXRyaWNzTmFtZXMuS3VsY3p5bnNraV0sXG4gICAgICAgIFtCaXRBcnJheU1ldHJpY3NOYW1lcy5NY0Nvbm5hdWdoZXldOiBiaXRBcnJheURpc3RhbmNlTWV0cmljc01ldGhvZHNbQml0QXJyYXlNZXRyaWNzTmFtZXMuTWNDb25uYXVnaGV5XSxcbiAgICAgICAgW0JpdEFycmF5TWV0cmljc05hbWVzLlJvZ290R29sZGJlcmddOiBiaXRBcnJheURpc3RhbmNlTWV0cmljc01ldGhvZHNbQml0QXJyYXlNZXRyaWNzTmFtZXMuUm9nb3RHb2xkYmVyZ10sXG4gICAgICAgIFtCaXRBcnJheU1ldHJpY3NOYW1lcy5SdXNzZWxdOiBiaXRBcnJheURpc3RhbmNlTWV0cmljc01ldGhvZHNbQml0QXJyYXlNZXRyaWNzTmFtZXMuUnVzc2VsXSxcbiAgICAgICAgW0JpdEFycmF5TWV0cmljc05hbWVzLlNva2FsXTogYml0QXJyYXlEaXN0YW5jZU1ldHJpY3NNZXRob2RzW0JpdEFycmF5TWV0cmljc05hbWVzLlNva2FsXSxcbiAgICB9LFxuICAgIFtEaXN0YW5jZU1ldHJpY3NTdWJqZWN0cy5NYWNyb01vbGVjdWxlXToge1xuICAgICAgICBbTW1EaXN0YW5jZUZ1bmN0aW9uc05hbWVzLkhBTU1JTkddOiBtbURpc3RhbmNlRnVuY3Rpb25zW01tRGlzdGFuY2VGdW5jdGlvbnNOYW1lcy5IQU1NSU5HXSxcbiAgICAgICAgW01tRGlzdGFuY2VGdW5jdGlvbnNOYW1lcy5MRVZFTlNIVEVJTl06IG1tRGlzdGFuY2VGdW5jdGlvbnNbTW1EaXN0YW5jZUZ1bmN0aW9uc05hbWVzLkxFVkVOU0hURUlOXSxcbiAgICAgICAgW01tRGlzdGFuY2VGdW5jdGlvbnNOYW1lcy5ORUVETEVNQU5OX1dVTlNDSF06IG1tRGlzdGFuY2VGdW5jdGlvbnNbTW1EaXN0YW5jZUZ1bmN0aW9uc05hbWVzLk5FRURMRU1BTk5fV1VOU0NIXSxcbiAgICAgICAgW01tRGlzdGFuY2VGdW5jdGlvbnNOYW1lcy5NT05PTUVSX0NIRU1JQ0FMX0RJU1RBTkNFXTogbW1EaXN0YW5jZUZ1bmN0aW9uc1tNbURpc3RhbmNlRnVuY3Rpb25zTmFtZXMuTU9OT01FUl9DSEVNSUNBTF9ESVNUQU5DRV0sXG4gICAgfSxcbiAgICBbRGlzdGFuY2VNZXRyaWNzU3ViamVjdHMuTnVtYmVyXToge1xuICAgICAgICBbTnVtYmVyTWV0cmljc05hbWVzLk51bWVyaWNEaXN0YW5jZV06IG51bWJlckRpc3RhbmNlTWV0cmljc01ldGhvZHNbTnVtYmVyTWV0cmljc05hbWVzLk51bWVyaWNEaXN0YW5jZV0sXG4gICAgfSxcbiAgICBbRGlzdGFuY2VNZXRyaWNzU3ViamVjdHMuSW50QXJyYXldOiB7XG4gICAgICAgIFtJbnRBcnJheU1ldHJpY3NOYW1lcy5UYW5pbW90b0ludEFycmF5XTogaW50QXJyYXlEaXN0YW5jZU1ldHJpY3NNZXRob2RzW0ludEFycmF5TWV0cmljc05hbWVzLlRhbmltb3RvSW50QXJyYXldLFxuICAgIH1cbn07XG5leHBvcnQgY29uc3QgTWV0cmljVG9EYXRhVHlwZSA9IE9iamVjdC5rZXlzKEF2YWlsYWJsZU1ldHJpY3MpXG4gICAgLnJlZHVjZSgocmV0LCBrZXkpID0+IHtcbiAgICBmb3IgKGNvbnN0IHZhbCBvZiBPYmplY3Qua2V5cyhBdmFpbGFibGVNZXRyaWNzW2tleV0pKVxuICAgICAgICByZXRbdmFsXSA9IGtleTtcbiAgICByZXR1cm4gcmV0O1xufSwge30pO1xuZXhwb3J0IGZ1bmN0aW9uIGlzU3RyaW5nTWV0cmljKG5hbWUpIHtcbiAgICByZXR1cm4gTWV0cmljVG9EYXRhVHlwZVtuYW1lXSA9PSAnU3RyaW5nJztcbn1cbmV4cG9ydCBmdW5jdGlvbiBpc0JpdEFycmF5TWV0cmljKG5hbWUpIHtcbiAgICByZXR1cm4gTWV0cmljVG9EYXRhVHlwZVtuYW1lXSA9PSAnQml0QXJyYXknO1xufVxuZXhwb3J0IGZ1bmN0aW9uIGlzVmVjdG9yTWV0cmljKG5hbWUpIHtcbiAgICByZXR1cm4gTWV0cmljVG9EYXRhVHlwZVtuYW1lXSA9PSAnVmVjdG9yJztcbn1cbmV4cG9ydCBmdW5jdGlvbiBpc01hY3JvTW9sZWN1bGVNZXRyaWMobmFtZSkge1xuICAgIHJldHVybiBNZXRyaWNUb0RhdGFUeXBlW25hbWVdID09IERpc3RhbmNlTWV0cmljc1N1YmplY3RzLk1hY3JvTW9sZWN1bGUudG9TdHJpbmcoKTtcbn1cbi8qKiBNYW5oYXR0YW4gZGlzdGFuY2UgYmV0d2VlbiB0d28gc2VxdWVuY2VzIChtYXRjaCAtIDAsIG1pc21hdGNoIC0gMSkgbm9ybWFsaXplZCBmb3IgbGVuZ3RoLiAqL1xuZXhwb3J0IGZ1bmN0aW9uIG1hbmhhdHRhbkRpc3RhbmNlKHMxLCBzMikge1xuICAgIGlmIChzMS5sZW5ndGggIT09IHMyLmxlbmd0aCkge1xuICAgICAgICByZXR1cm4gMTtcbiAgICB9XG4gICAgZWxzZSB7XG4gICAgICAgIGxldCBkaXN0ID0gMDtcbiAgICAgICAgZm9yIChsZXQgaSA9IDE7IGkgPCBzMS5sZW5ndGg7IGkrKylcbiAgICAgICAgICAgIGRpc3QgKz0gczFbaV0gPT0gczJbaV0gPyAwIDogMTtcbiAgICAgICAgcmV0dXJuIGRpc3QgLyBzMS5sZW5ndGg7XG4gICAgfVxufVxuLyoqIFVuaWZpZWQgY2xhc3MgaW1wbGVtZW50aW5nIGRpZmZlcmVudCBzdHJpbmcgbWVhc3VyZXMuICovXG5leHBvcnQgY2xhc3MgTWVhc3VyZSB7XG4gICAgLyoqXG4gICAgICogQ3JlYXRlcyBhbiBpbnN0YW5jZSBvZiBNZWFzdXJlIHdpdGggLlxuICAgICAqIEBwYXJhbSB7c3RyaW5nfSBtZXRob2QgTWV0aG9kIHRvIGNhbGN1bGF0ZSBkaXN0YW5jZSBiZXR3ZWVuIHN0cmluZ3MuXG4gICAgICogQG1lbWJlcm9mIE1lYXN1cmVyXG4gICAgICovXG4gICAgY29uc3RydWN0b3IobWV0aG9kKSB7XG4gICAgICAgIHRoaXMubWV0aG9kID0gbWV0aG9kO1xuICAgICAgICB0aGlzLmRhdGFUeXBlID0gTWV0cmljVG9EYXRhVHlwZVttZXRob2RdO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBSZXR1cm5zIGN1c3RvbSBzdHJpbmcgZGlzdGFuY2UgZnVuY3Rpb24gc3BlY2lmaWVkLlxuICAgICAqIEBwYXJhbSB7b3B0c30gb3B0cyBPcHRpb25zIGZvciB0aGUgbWVhc3VyZS4gdXNlZCBmb3IgbWFjcm9tb2xlY3VsZSBkaXN0YW5jZXNcbiAgICAgKiBAcmV0dXJuIHtEaXN0YW5jZU1ldHJpY30gQ2FsbGJhY2sgb2YgdGhlIG1lYXN1cmUgY2hvc2VuLlxuICAgICAqIEBtZW1iZXJvZiBNZWFzdXJlclxuICAgICAqL1xuICAgIGdldE1lYXN1cmUob3B0cykge1xuICAgICAgICBjb25zdCBkaWN0ID0gQXZhaWxhYmxlTWV0cmljcztcbiAgICAgICAgaWYgKCFkaWN0Lmhhc093blByb3BlcnR5KHRoaXMuZGF0YVR5cGUpIHx8ICFkaWN0W3RoaXMuZGF0YVR5cGVdLmhhc093blByb3BlcnR5KHRoaXMubWV0aG9kKSlcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgVW5rbm93biBtZWFzdXJlICR7dGhpcy5tZXRob2R9IGZvciBkYXRhIHR5cGUgJHt0aGlzLmRhdGFUeXBlfWApO1xuICAgICAgICByZXR1cm4gaXNNYWNyb01vbGVjdWxlTWV0cmljKHRoaXMubWV0aG9kKSA/XG4gICAgICAgICAgICBkaWN0W3RoaXMuZGF0YVR5cGVdW3RoaXMubWV0aG9kXShvcHRzKSA6XG4gICAgICAgICAgICBkaWN0W3RoaXMuZGF0YVR5cGVdW3RoaXMubWV0aG9kXTtcbiAgICB9XG4gICAgLyoqXG4gICAgICogUmV0dXJucyBjdXN0b20gc3RyaW5nIGRpc3RhbmNlIGJ5IHRoZSBnaXZlbiBkYXRhIHR5cGUuXG4gICAgICogQHBhcmFtIHtBdmFpbGFibGVEYXRhVHlwZXN9IGRhdGFUeXBlIE1ldHJpYydzIGRhdGEgdHlwZVxuICAgICAqIEByZXR1cm4ge3N0cmluZ1tdfSBNZXRyaWMgbmFtZXMgd2hpY2ggZXhwZWN0cyB0aGUgZ2l2ZW4gZGF0YSB0eXBlXG4gICAgICogQG1lbWJlcm9mIE1lYXN1cmVyXG4gICAgICovXG4gICAgc3RhdGljIGdldE1ldHJpY0J5RGF0YVR5cGUoZGF0YVR5cGUpIHtcbiAgICAgICAgcmV0dXJuIE9iamVjdC5rZXlzKEF2YWlsYWJsZU1ldHJpY3NbZGF0YVR5cGVdKTtcbiAgICB9XG4gICAgLyoqIFJldHVybnMgbWV0cmljIG5hbWVzIGF2YWlsYWJsZS5cbiAgICAgKiBAbWVtYmVyb2YgTWVhc3VyZXJcbiAgICAgKi9cbiAgICBzdGF0aWMgZ2V0IGF2YWlsYWJsZU1lYXN1cmVzKCkge1xuICAgICAgICByZXR1cm4gT2JqZWN0LmtleXMoQXZhaWxhYmxlTWV0cmljcyk7XG4gICAgfVxufVxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKbWFXeGxJam9pZEhsd1pXUXRiV1YwY21samN5NXFjeUlzSW5OdmRYSmpaVkp2YjNRaU9pSWlMQ0p6YjNWeVkyVnpJanBiSW5SNWNHVmtMVzFsZEhKcFkzTXVkSE1pWFN3aWJtRnRaWE1pT2x0ZExDSnRZWEJ3YVc1bmN5STZJa0ZCUVVFc1QwRkJUeXhMUVVGTExFVkJRVVVzVFVGQlRTeHhRa0ZCY1VJc1EwRkJRenRCUVVNeFF5eFBRVUZQTEVWQlFVTXNWMEZCVnl4RlFVRkRMRTFCUVUwc2VVSkJRWGxDTEVOQlFVTTdRVUZGY0VRc1QwRkJUeXhGUVVOTUxHdENRVUZyUWl4RlFVTnNRaXh4UWtGQmNVSXNSVUZEY2tJc1kwRkJZeXhGUVVOa0xGbEJRVmtzUlVGRFdpeHBRa0ZCYVVJc1JVRkRha0lzWlVGQlpTeEZRVU5tTEd0Q1FVRnJRaXhGUVVOc1FpeHZRa0ZCYjBJc1JVRkRjRUlzY1VKQlFYRkNMRVZCUTNKQ0xHTkJRV01zUlVGRFpDeGhRVUZoTEVWQlEySXNaMEpCUVdkQ0xFVkJRMmhDTEdWQlFXVXNSVUZEWml4M1FrRkJkMElzUjBGRGVrSXNUVUZCVFN3MlFrRkJOa0lzUTBGQlF6dEJRVVZ5UXl4UFFVRlBMRVZCUVVNc01FSkJRVEJDTEVWQlFVTXNUVUZCVFN4cFJFRkJhVVFzUTBGQlF6dEJRVWN6Uml4UFFVRlBMRVZCUVVNc2JVSkJRVzFDTEVWQlFVVXNkMEpCUVhkQ0xFVkJRVU1zVFVGQlRTeHhRMEZCY1VNc1EwRkJRenRCUVVOc1J5eFBRVUZQTEVWQlFVTXNkVUpCUVhWQ0xFVkJRVVVzYjBKQlFXOUNMRVZCUTI1RUxHdENRVUZyUWl4RlFVRkZMR3RDUVVGclFpeEZRVUZGTEd0Q1FVRnJRaXhGUVVGRkxHOUNRVUZ2UWl4RlFVRkRMRTFCUVUwc1ZVRkJWU3hEUVVGRE8wRkJSM0JITEUxQlFVMHNRMEZCUXl4TlFVRk5MRFJDUVVFMFFpeEhRVUY1UkR0SlFVTm9SeXhEUVVGRExHdENRVUZyUWl4RFFVRkRMRk5CUVZNc1EwRkJReXhGUVVGRkxEQkNRVUV3UWp0RFFVTXpSQ3hEUVVGRE8wRkJSVVlzVFVGQlRTeERRVUZETEUxQlFVMHNORUpCUVRSQ0xFZEJRWGxFTzBsQlEyaEhMRU5CUVVNc2EwSkJRV3RDTEVOQlFVTXNWMEZCVnl4RFFVRkRMRVZCUVVVc1JVRkJSU3hEUVVGRExGRkJRVkU3U1VGRE4wTXNRMEZCUXl4clFrRkJhMElzUTBGQlF5eFhRVUZYTEVOQlFVTXNSVUZCUlN4WFFVRlhPMGxCUXpkRExFTkJRVU1zYTBKQlFXdENMRU5CUVVNc1UwRkJVeXhEUVVGRExFVkJRVVVzYVVKQlFXbENPME5CUTJ4RUxFTkJRVU03UVVGRlJpeE5RVUZOTEVOQlFVTXNUVUZCVFN3NFFrRkJPRUlzUjBGQk5rUTdTVUZEZEVjc1EwRkJReXh2UWtGQmIwSXNRMEZCUXl4UlFVRlJMRU5CUVVNc1JVRkJSU3huUWtGQlowSTdTVUZEYWtRc1EwRkJReXh2UWtGQmIwSXNRMEZCUXl4SlFVRkpMRU5CUVVNc1JVRkJSU3haUVVGWk8wbEJRM3BETEVOQlFVTXNiMEpCUVc5Q0xFTkJRVU1zVlVGQlZTeERRVUZETEVWQlFVVXNhMEpCUVd0Q08wbEJRM0pFTEVOQlFVTXNiMEpCUVc5Q0xFTkJRVU1zWVVGQllTeERRVUZETEVWQlFVVXNjVUpCUVhGQ08wbEJRek5FTEVOQlFVTXNiMEpCUVc5Q0xFTkJRVU1zVFVGQlRTeERRVUZETEVWQlFVVXNZMEZCWXp0SlFVTTNReXhEUVVGRExHOUNRVUZ2UWl4RFFVRkRMRlZCUVZVc1EwRkJReXhGUVVGRkxHdENRVUZyUWp0SlFVTnlSQ3hEUVVGRExHOUNRVUZ2UWl4RFFVRkRMRmxCUVZrc1EwRkJReXhGUVVGRkxHOUNRVUZ2UWp0SlFVTjZSQ3hEUVVGRExHOUNRVUZ2UWl4RFFVRkRMR0ZCUVdFc1EwRkJReXhGUVVGRkxIRkNRVUZ4UWp0SlFVTXpSQ3hEUVVGRExHOUNRVUZ2UWl4RFFVRkRMRTFCUVUwc1EwRkJReXhGUVVGRkxHTkJRV003U1VGRE4wTXNRMEZCUXl4dlFrRkJiMElzUTBGQlF5eExRVUZMTEVOQlFVTXNSVUZCUlN4aFFVRmhPMGxCUXpORExFTkJRVU1zYjBKQlFXOUNMRU5CUVVNc1QwRkJUeXhEUVVGRExFVkJRVVVzWlVGQlpUdEpRVU12UXl4RFFVRkRMRzlDUVVGdlFpeERRVUZETEZOQlFWTXNRMEZCUXl4RlFVRkZMR2xDUVVGcFFqdERRVU53UkN4RFFVRkRPMEZCUlVZc1RVRkJUU3hEUVVGRExFMUJRVTBzT0VKQlFUaENMRWRCUVcxRk8wbEJRelZITEVOQlFVTXNiMEpCUVc5Q0xFTkJRVU1zWjBKQlFXZENMRU5CUVVNc1JVRkJSU3gzUWtGQmQwSTdRMEZEYkVVc1EwRkJRenRCUVVWR0xFMUJRVTBzUTBGQlF5eE5RVUZOTERSQ1FVRTBRaXhIUVVGNVJEdEpRVU5vUnl4RFFVRkRMR3RDUVVGclFpeERRVUZETEdWQlFXVXNRMEZCUXl4RlFVRkZMR1ZCUVdVN1EwRkRkRVFzUTBGQlF6dEJRVVZHTEUxQlFVMHNRMEZCUXl4TlFVRk5MR2RDUVVGblFpeEhRVUZITzBsQlF6bENMRU5CUVVNc2RVSkJRWFZDTEVOQlFVTXNUVUZCVFN4RFFVRkRMRVZCUVVVN1VVRkRhRU1zUTBGQlF5eHJRa0ZCYTBJc1EwRkJReXhUUVVGVExFTkJRVU1zUlVGQlJTdzBRa0ZCTkVJc1EwRkJReXhyUWtGQmEwSXNRMEZCUXl4VFFVRlRMRU5CUVVNN1MwRkRNMFk3U1VGRFJDeERRVUZETEhWQ1FVRjFRaXhEUVVGRExFMUJRVTBzUTBGQlF5eEZRVUZGTzFGQlEyaERMRU5CUVVNc2EwSkJRV3RDTEVOQlFVTXNWMEZCVnl4RFFVRkRMRVZCUVVVc05FSkJRVFJDTEVOQlFVTXNhMEpCUVd0Q0xFTkJRVU1zVjBGQlZ5eERRVUZETzFGQlF6bEdMRU5CUVVNc2EwSkJRV3RDTEVOQlFVTXNWMEZCVnl4RFFVRkRMRVZCUVVVc05FSkJRVFJDTEVOQlFVTXNhMEpCUVd0Q0xFTkJRVU1zVjBGQlZ5eERRVUZETzFGQlF6bEdMRU5CUVVNc2EwSkJRV3RDTEVOQlFVTXNVMEZCVXl4RFFVRkRMRVZCUVVVc05FSkJRVFJDTEVOQlFVTXNhMEpCUVd0Q0xFTkJRVU1zVTBGQlV5eERRVUZETzB0QlF6TkdPMGxCUTBRc1EwRkJReXgxUWtGQmRVSXNRMEZCUXl4UlFVRlJMRU5CUVVNc1JVRkJSVHRSUVVOc1F5eERRVUZETEc5Q1FVRnZRaXhEUVVGRExGRkJRVkVzUTBGQlF5eEZRVUZGTERoQ1FVRTRRaXhEUVVGRExHOUNRVUZ2UWl4RFFVRkRMRkZCUVZFc1EwRkJRenRSUVVNNVJpeERRVUZETEc5Q1FVRnZRaXhEUVVGRExFbEJRVWtzUTBGQlF5eEZRVUZGTERoQ1FVRTRRaXhEUVVGRExHOUNRVUZ2UWl4RFFVRkRMRWxCUVVrc1EwRkJRenRSUVVOMFJpeERRVUZETEc5Q1FVRnZRaXhEUVVGRExGVkJRVlVzUTBGQlF5eEZRVUZGTERoQ1FVRTRRaXhEUVVGRExHOUNRVUZ2UWl4RFFVRkRMRlZCUVZVc1EwRkJRenRSUVVOc1J5eERRVUZETEc5Q1FVRnZRaXhEUVVGRExHRkJRV0VzUTBGQlF5eEZRVUZGTERoQ1FVRTRRaXhEUVVGRExHOUNRVUZ2UWl4RFFVRkRMR0ZCUVdFc1EwRkJRenRSUVVONFJ5eERRVUZETEc5Q1FVRnZRaXhEUVVGRExFMUJRVTBzUTBGQlF5eEZRVUZGTERoQ1FVRTRRaXhEUVVGRExHOUNRVUZ2UWl4RFFVRkRMRTFCUVUwc1EwRkJRenRSUVVNeFJpeERRVUZETEc5Q1FVRnZRaXhEUVVGRExGVkJRVlVzUTBGQlF5eEZRVUZGTERoQ1FVRTRRaXhEUVVGRExHOUNRVUZ2UWl4RFFVRkRMRlZCUVZVc1EwRkJRenRSUVVOc1J5eERRVUZETEc5Q1FVRnZRaXhEUVVGRExGbEJRVmtzUTBGQlF5eEZRVUZGTERoQ1FVRTRRaXhEUVVGRExHOUNRVUZ2UWl4RFFVRkRMRmxCUVZrc1EwRkJRenRSUVVOMFJ5eERRVUZETEc5Q1FVRnZRaXhEUVVGRExHRkJRV0VzUTBGQlF5eEZRVUZGTERoQ1FVRTRRaXhEUVVGRExHOUNRVUZ2UWl4RFFVRkRMR0ZCUVdFc1EwRkJRenRSUVVONFJ5eERRVUZETEc5Q1FVRnZRaXhEUVVGRExFMUJRVTBzUTBGQlF5eEZRVUZGTERoQ1FVRTRRaXhEUVVGRExHOUNRVUZ2UWl4RFFVRkRMRTFCUVUwc1EwRkJRenRSUVVNeFJpeERRVUZETEc5Q1FVRnZRaXhEUVVGRExFdEJRVXNzUTBGQlF5eEZRVUZGTERoQ1FVRTRRaXhEUVVGRExHOUNRVUZ2UWl4RFFVRkRMRXRCUVVzc1EwRkJRenRMUVVONlJqdEpRVU5FTEVOQlFVTXNkVUpCUVhWQ0xFTkJRVU1zWVVGQllTeERRVUZETEVWQlFVVTdVVUZEZGtNc1EwRkJReXgzUWtGQmQwSXNRMEZCUXl4UFFVRlBMRU5CUVVNc1JVRkJSU3h0UWtGQmJVSXNRMEZCUXl4M1FrRkJkMElzUTBGQlF5eFBRVUZQTEVOQlFVTTdVVUZEZWtZc1EwRkJReXgzUWtGQmQwSXNRMEZCUXl4WFFVRlhMRU5CUVVNc1JVRkJSU3h0UWtGQmJVSXNRMEZCUXl4M1FrRkJkMElzUTBGQlF5eFhRVUZYTEVOQlFVTTdVVUZEYWtjc1EwRkJReXgzUWtGQmQwSXNRMEZCUXl4cFFrRkJhVUlzUTBGQlF5eEZRVUZGTEcxQ1FVRnRRaXhEUVVGRExIZENRVUYzUWl4RFFVRkRMR2xDUVVGcFFpeERRVUZETzFGQlF6ZEhMRU5CUVVNc2QwSkJRWGRDTEVOQlFVTXNlVUpCUVhsQ0xFTkJRVU1zUlVGQlJTeHRRa0ZCYlVJc1EwRkJReXgzUWtGQmQwSXNRMEZCUXl4NVFrRkJlVUlzUTBGQlF6dExRVU01U0R0SlFVTkVMRU5CUVVNc2RVSkJRWFZDTEVOQlFVTXNUVUZCVFN4RFFVRkRMRVZCUVVVN1VVRkRhRU1zUTBGQlF5eHJRa0ZCYTBJc1EwRkJReXhsUVVGbExFTkJRVU1zUlVGQlJTdzBRa0ZCTkVJc1EwRkJReXhyUWtGQmEwSXNRMEZCUXl4bFFVRmxMRU5CUVVNN1MwRkRka2M3U1VGRFJDeERRVUZETEhWQ1FVRjFRaXhEUVVGRExGRkJRVkVzUTBGQlF5eEZRVUZGTzFGQlEyeERMRU5CUVVNc2IwSkJRVzlDTEVOQlFVTXNaMEpCUVdkQ0xFTkJRVU1zUlVGQlJTdzRRa0ZCT0VJc1EwRkJReXh2UWtGQmIwSXNRMEZCUXl4blFrRkJaMElzUTBGQlF6dExRVU12Unp0RFFVTkdMRU5CUVVNN1FVRkZSaXhOUVVGTkxFTkJRVU1zVFVGQlRTeG5Ra0ZCWjBJc1IwRkJjVUlzVFVGQlRTeERRVUZETEVsQlFVa3NRMEZCUXl4blFrRkJaMElzUTBGQlF6dExRVU0xUlN4TlFVRk5MRU5CUVVNc1EwRkJReXhIUVVGeFFpeEZRVUZGTEVkQlFVY3NSVUZCUlN4RlFVRkZPMGxCUTNKRExFdEJRVXNzVFVGQlRTeEhRVUZITEVsQlFVa3NUVUZCVFN4RFFVRkRMRWxCUVVrc1EwRkJReXhuUWtGQlowSXNRMEZCUXl4SFFVRjVRaXhEUVVGRExFTkJRVU03VVVGRGVFVXNSMEZCUnl4RFFVRkRMRWRCUVhsQ0xFTkJRVU1zUjBGQlJ5eEhRVUZITEVOQlFVTTdTVUZGZGtNc1QwRkJUeXhIUVVGSExFTkJRVU03UVVGRFlpeERRVUZETEVWQlFVVXNSVUZCUlN4RFFVRkRMRU5CUVVNN1FVRmxWQ3hOUVVGTkxGVkJRVlVzWTBGQll5eERRVUZETEVsQlFXdENPMGxCUXk5RExFOUJRVThzWjBKQlFXZENMRU5CUVVNc1NVRkJTU3hEUVVGRExFbEJRVWtzVVVGQlVTeERRVUZETzBGQlF6VkRMRU5CUVVNN1FVRkZSQ3hOUVVGTkxGVkJRVlVzWjBKQlFXZENMRU5CUVVNc1NVRkJhMEk3U1VGRGFrUXNUMEZCVHl4blFrRkJaMElzUTBGQlF5eEpRVUZKTEVOQlFVTXNTVUZCU1N4VlFVRlZMRU5CUVVNN1FVRkRPVU1zUTBGQlF6dEJRVVZFTEUxQlFVMHNWVUZCVlN4alFVRmpMRU5CUVVNc1NVRkJhMEk3U1VGREwwTXNUMEZCVHl4blFrRkJaMElzUTBGQlF5eEpRVUZKTEVOQlFVTXNTVUZCU1N4UlFVRlJMRU5CUVVNN1FVRkROVU1zUTBGQlF6dEJRVVZFTEUxQlFVMHNWVUZCVlN4eFFrRkJjVUlzUTBGQlF5eEpRVUZyUWp0SlFVTjBSQ3hQUVVGUExHZENRVUZuUWl4RFFVRkRMRWxCUVVrc1EwRkJReXhKUVVGSkxIVkNRVUYxUWl4RFFVRkRMR0ZCUVdFc1EwRkJReXhSUVVGUkxFVkJRVVVzUTBGQlF6dEJRVU53Uml4RFFVRkRPMEZCUlVRc1owZEJRV2RITzBGQlEyaEhMRTFCUVUwc1ZVRkJWU3hwUWtGQmFVSXNRMEZCUXl4RlFVRlZMRVZCUVVVc1JVRkJWVHRKUVVOMFJDeEpRVUZKTEVWQlFVVXNRMEZCUXl4TlFVRk5MRXRCUVVzc1JVRkJSU3hEUVVGRExFMUJRVTBzUlVGQlJUdFJRVU16UWl4UFFVRlBMRU5CUVVNc1EwRkJRenRMUVVOV08xTkJRVTA3VVVGRFRDeEpRVUZKTEVsQlFVa3NSMEZCVnl4RFFVRkRMRU5CUVVNN1VVRkRja0lzUzBGQlN5eEpRVUZKTEVOQlFVTXNSMEZCUnl4RFFVRkRMRVZCUVVVc1EwRkJReXhIUVVGSExFVkJRVVVzUTBGQlF5eE5RVUZOTEVWQlFVVXNRMEZCUXl4RlFVRkZPMWxCUTJoRExFbEJRVWtzU1VGQlNTeEZRVUZGTEVOQlFVTXNRMEZCUXl4RFFVRkRMRWxCUVVrc1JVRkJSU3hEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF6dFJRVU5xUXl4UFFVRlBMRWxCUVVrc1IwRkJSeXhGUVVGRkxFTkJRVU1zVFVGQlRTeERRVUZETzB0QlEzcENPMEZCUTBnc1EwRkJRenRCUVVWRUxEUkVRVUUwUkR0QlFVTTFSQ3hOUVVGTkxFOUJRVThzVDBGQlR6dEpRVWxzUWpzN096dFBRVWxITzBsQlEwZ3NXVUZCV1N4TlFVRnZRanRSUVVNNVFpeEpRVUZKTEVOQlFVTXNUVUZCVFN4SFFVRkhMRTFCUVUwc1EwRkJRenRSUVVOeVFpeEpRVUZKTEVOQlFVTXNVVUZCVVN4SFFVRkhMR2RDUVVGblFpeERRVUZETEUxQlFVMHNRMEZCZFVJc1EwRkJRenRKUVVOcVJTeERRVUZETzBsQlJVUTdPenM3TzA5QlMwYzdTVUZEU1N4VlFVRlZMRU5CUVVNc1NVRkJWVHRSUVVNeFFpeE5RVUZOTEVsQlFVa3NSMEZGVGl4blFrRkJaMElzUTBGQlF6dFJRVU55UWl4SlFVRkpMRU5CUVVNc1NVRkJTU3hEUVVGRExHTkJRV01zUTBGQlF5eEpRVUZKTEVOQlFVTXNVVUZCVVN4RFFVRkRMRWxCUVVrc1EwRkJReXhKUVVGSkxFTkJRVU1zU1VGQlNTeERRVUZETEZGQlFWRXNRMEZCUXl4RFFVRkRMR05CUVdNc1EwRkJReXhKUVVGSkxFTkJRVU1zVFVGQlRTeERRVUZETzFsQlEzcEdMRTFCUVUwc1NVRkJTU3hMUVVGTExFTkJRVU1zYlVKQlFXMUNMRWxCUVVrc1EwRkJReXhOUVVGTkxHdENRVUZyUWl4SlFVRkpMRU5CUVVNc1VVRkJVU3hGUVVGRkxFTkJRVU1zUTBGQlF6dFJRVU51Uml4UFFVRlBMSEZDUVVGeFFpeERRVUZETEVsQlFVa3NRMEZCUXl4TlFVRk5MRU5CUVVNc1EwRkJReXhEUVVGRE8xbEJRM2hETEVsQlFVa3NRMEZCUXl4SlFVRkpMRU5CUVVNc1VVRkJVU3hEUVVGRExFTkJRVU1zU1VGQlNTeERRVUZETEUxQlFVMHNRMEZCY1VNc1EwRkJReXhKUVVGSkxFTkJRVU1zUTBGQlF5eERRVUZETzFsQlF6ZEZMRWxCUVVrc1EwRkJReXhKUVVGSkxFTkJRVU1zVVVGQlVTeERRVUZETEVOQlFVTXNTVUZCU1N4RFFVRkRMRTFCUVUwc1EwRkJiVUlzUTBGQlF6dEpRVU4yUkN4RFFVRkRPMGxCUlVRN096czdPMDlCUzBjN1NVRkRTU3hOUVVGTkxFTkJRVU1zYlVKQlFXMUNMRU5CUVVNc1VVRkJORUk3VVVGRE5VUXNUMEZCVHl4TlFVRk5MRU5CUVVNc1NVRkJTU3hEUVVGRExHZENRVUZuUWl4RFFVRkRMRkZCUVZFc1EwRkJReXhEUVVGRExFTkJRVU03U1VGRGFrUXNRMEZCUXp0SlFVVkVPenRQUVVWSE8wbEJRMGdzVFVGQlRTeExRVUZMTEdsQ1FVRnBRanRSUVVNeFFpeFBRVUZQTEUxQlFVMHNRMEZCUXl4SlFVRkpMRU5CUVVNc1owSkJRV2RDTEVOQlFVTXNRMEZCUXp0SlFVTjJReXhEUVVGRE8wTkJRMFlpTENKemIzVnlZMlZ6UTI5dWRHVnVkQ0k2V3lKcGJYQnZjblFnS2lCaGN5Qm1iQ0JtY205dElDZG1ZWE4wWlhOMExXeGxkbVZ1YzJoMFpXbHVKenRjYm1sdGNHOXlkQ0I3YW1GeWIxZHBibXRzWlhKOUlHWnliMjBnSjJwaGNtOHRkMmx1YTJ4bGNpMTBlWEJsYzJOeWFYQjBKenRjYm1sdGNHOXlkQ0I3UkdsemRHRnVZMlZOWlhSeWFXTjlJR1p5YjIwZ0owQmtZWFJoWjNKdmF5MXNhV0p5WVhKcFpYTXZkWFJwYkhNdmMzSmpMM1I1Y0dVdFpHVmpiR0Z5WVhScGIyNXpKenRjYm1sdGNHOXlkQ0I3WEc0Z0lHRnplVzF0WlhSeWFXTkVhWE4wWVc1alpTeGNiaUFnWW5KaGRXNUNiR0Z1Y1hWbGRFUnBjM1JoYm1ObExGeHVJQ0JqYjNOcGJtVkVhWE4wWVc1alpTeGNiaUFnWkdsalpVUnBjM1JoYm1ObExGeHVJQ0JsZFdOc2FXUmxZVzVFYVhOMFlXNWpaU3hjYmlBZ2FHRnRiV2x1WjBScGMzUmhibU5sTEZ4dUlDQnJkV3hqZW5sdWMydHBSR2x6ZEdGdVkyVXNYRzRnSUcxalEyOXVibUYxWjJobGVVUnBjM1JoYm1ObExGeHVJQ0J5YjJkdmRFZHZiR1JpWlhKblJHbHpkR0Z1WTJVc1hHNGdJSEoxYzNObGJFUnBjM1JoYm1ObExGeHVJQ0J6YjJ0aGJFUnBjM1JoYm1ObExGeHVJQ0IwWVc1cGJXOTBiMFJwYzNSaGJtTmxMRnh1SUNCdWRXMWxjbWxqUkdsemRHRnVZMlVzWEc0Z0lIUmhibWx0YjNSdlJHbHpkR0Z1WTJWSmJuUkJjbkpoZVN4Y2JuMGdabkp2YlNBbkxpNHZaR2x6ZEdGdVkyVXRiV1YwY21samN5MXRaWFJvYjJSekp6dGNibHh1YVcxd2IzSjBJSHRqWVd4amRXeGhkR1ZGZFdOc2FXUmxZVzVFYVhOMFlXNWpaWDBnWm5KdmJTQW5RR1JoZEdGbmNtOXJMV3hwWW5KaGNtbGxjeTkxZEdsc2N5OXpjbU12ZG1WamRHOXlMVzl3WlhKaGRHbHZibk1uTzF4dWFXMXdiM0owSUVKcGRFRnljbUY1SUdaeWIyMGdKMEJrWVhSaFozSnZheTFzYVdKeVlYSnBaWE12ZFhScGJITXZjM0pqTDJKcGRDMWhjbkpoZVNjN1hHNXBiWEJ2Y25RZ2UxWmxZM1J2Y2l3Z1UzUnlhVzVuUkdsamRHbHZibUZ5ZVgwZ1puSnZiU0FuUUdSaGRHRm5jbTlyTFd4cFluSmhjbWxsY3k5MWRHbHNjeTl6Y21NdmRIbHdaUzFrWldOc1lYSmhkR2x2Ym5Nbk8xeHVhVzF3YjNKMElIdHRiVVJwYzNSaGJtTmxSblZ1WTNScGIyNXpMQ0JOYlVScGMzUmhibU5sUm5WdVkzUnBiMjV6VG1GdFpYTjlJR1p5YjIwZ0p5NHVMMjFoWTNKdmJXOXNaV04xYkdVdFpHbHpkR0Z1WTJVdFpuVnVZM1JwYjI1ekp6dGNibWx0Y0c5eWRDQjdSR2x6ZEdGdVkyVk5aWFJ5YVdOelUzVmlhbVZqZEhNc0lFSnBkRUZ5Y21GNVRXVjBjbWxqYzA1aGJXVnpMRnh1SUNCVGRISnBibWROWlhSeWFXTnpUbUZ0WlhNc0lGWmxZM1J2Y2sxbGRISnBZM05PWVcxbGN5d2dUblZ0WW1WeVRXVjBjbWxqYzA1aGJXVnpMQ0JKYm5SQmNuSmhlVTFsZEhKcFkzTk9ZVzFsYzMwZ1puSnZiU0FuTGk5amIyNXpkSE1uTzF4dVhHNWNibVY0Y0c5eWRDQmpiMjV6ZENCMlpXTjBiM0pFYVhOMFlXNWpaVTFsZEhKcFkzTk5aWFJvYjJSek9pQjdJRnR1WVcxbE9pQnpkSEpwYm1kZE9pQW9lRG9nVm1WamRHOXlMQ0I1T2lCV1pXTjBiM0lwSUQwK0lHNTFiV0psY2lCOUlEMGdlMXh1SUNCYlZtVmpkRzl5VFdWMGNtbGpjMDVoYldWekxrVjFZMnhwWkdWaGJsMDZJR05oYkdOMWJHRjBaVVYxWTJ4cFpHVmhia1JwYzNSaGJtTmxMRnh1ZlR0Y2JseHVaWGh3YjNKMElHTnZibk4wSUhOMGNtbHVaMFJwYzNSaGJtTmxUV1YwY21samMwMWxkR2h2WkhNNklIc2dXMjVoYldVNklITjBjbWx1WjEwNklDaDRPaUJ6ZEhKcGJtY3NJSGs2SUhOMGNtbHVaeWtnUFQ0Z2JuVnRZbVZ5SUgwZ1BTQjdYRzRnSUZ0VGRISnBibWROWlhSeWFXTnpUbUZ0WlhNdVRHVjJaVzV6YUhSbGFXNWRPaUJtYkM1a2FYTjBZVzVqWlN4Y2JpQWdXMU4wY21sdVowMWxkSEpwWTNOT1lXMWxjeTVLWVhKdlYybHVhMnhsY2wwNklHcGhjbTlYYVc1cmJHVnlMRnh1SUNCYlUzUnlhVzVuVFdWMGNtbGpjMDVoYldWekxrMWhibWhoZEhSaGJsMDZJRzFoYm1oaGRIUmhia1JwYzNSaGJtTmxMRnh1ZlR0Y2JseHVaWGh3YjNKMElHTnZibk4wSUdKcGRFRnljbUY1UkdsemRHRnVZMlZOWlhSeWFXTnpUV1YwYUc5a2N6b2dleUJiYm1GdFpUb2djM1J5YVc1blhUb2dLSGc2SUVKcGRFRnljbUY1TENCNU9pQkNhWFJCY25KaGVTa2dQVDRnYm5WdFltVnlJSDBnUFNCN1hHNGdJRnRDYVhSQmNuSmhlVTFsZEhKcFkzTk9ZVzFsY3k1VVlXNXBiVzkwYjEwNklIUmhibWx0YjNSdlJHbHpkR0Z1WTJVc1hHNGdJRnRDYVhSQmNuSmhlVTFsZEhKcFkzTk9ZVzFsY3k1RWFXTmxYVG9nWkdsalpVUnBjM1JoYm1ObExGeHVJQ0JiUW1sMFFYSnlZWGxOWlhSeWFXTnpUbUZ0WlhNdVFYTjViVzFsZEhKcFkxMDZJR0Z6ZVcxdFpYUnlhV05FYVhOMFlXNWpaU3hjYmlBZ1cwSnBkRUZ5Y21GNVRXVjBjbWxqYzA1aGJXVnpMa0p5WVhWdVFteGhibkYxWlhSZE9pQmljbUYxYmtKc1lXNXhkV1YwUkdsemRHRnVZMlVzWEc0Z0lGdENhWFJCY25KaGVVMWxkSEpwWTNOT1lXMWxjeTVEYjNOcGJtVmRPaUJqYjNOcGJtVkVhWE4wWVc1alpTeGNiaUFnVzBKcGRFRnljbUY1VFdWMGNtbGpjMDVoYldWekxrdDFiR042ZVc1emEybGRPaUJyZFd4amVubHVjMnRwUkdsemRHRnVZMlVzWEc0Z0lGdENhWFJCY25KaGVVMWxkSEpwWTNOT1lXMWxjeTVOWTBOdmJtNWhkV2RvWlhsZE9pQnRZME52Ym01aGRXZG9aWGxFYVhOMFlXNWpaU3hjYmlBZ1cwSnBkRUZ5Y21GNVRXVjBjbWxqYzA1aGJXVnpMbEp2WjI5MFIyOXNaR0psY21kZE9pQnliMmR2ZEVkdmJHUmlaWEpuUkdsemRHRnVZMlVzWEc0Z0lGdENhWFJCY25KaGVVMWxkSEpwWTNOT1lXMWxjeTVTZFhOelpXeGRPaUJ5ZFhOelpXeEVhWE4wWVc1alpTeGNiaUFnVzBKcGRFRnljbUY1VFdWMGNtbGpjMDVoYldWekxsTnZhMkZzWFRvZ2MyOXJZV3hFYVhOMFlXNWpaU3hjYmlBZ1cwSnBkRUZ5Y21GNVRXVjBjbWxqYzA1aGJXVnpMa2hoYlcxcGJtZGRPaUJvWVcxdGFXNW5SR2x6ZEdGdVkyVXNYRzRnSUZ0Q2FYUkJjbkpoZVUxbGRISnBZM05PWVcxbGN5NUZkV05zYVdSbFlXNWRPaUJsZFdOc2FXUmxZVzVFYVhOMFlXNWpaU3hjYm4wN1hHNWNibVY0Y0c5eWRDQmpiMjV6ZENCcGJuUkJjbkpoZVVScGMzUmhibU5sVFdWMGNtbGpjMDFsZEdodlpITTZJSHNnVzI1aGJXVTZJSE4wY21sdVoxMDZJQ2g0T2lCVmFXNTBNekpCY25KaGVTd2dlVG9nVldsdWRETXlRWEp5WVhrcElEMCtJRzUxYldKbGNpQjlJRDBnZTF4dUlDQmJTVzUwUVhKeVlYbE5aWFJ5YVdOelRtRnRaWE11VkdGdWFXMXZkRzlKYm5SQmNuSmhlVjA2SUhSaGJtbHRiM1J2UkdsemRHRnVZMlZKYm5SQmNuSmhlU3hjYm4wN1hHNWNibVY0Y0c5eWRDQmpiMjV6ZENCdWRXMWlaWEpFYVhOMFlXNWpaVTFsZEhKcFkzTk5aWFJvYjJSek9pQjdJRnR1WVcxbE9pQnpkSEpwYm1kZE9pQW9lRG9nYm5WdFltVnlMQ0I1T2lCdWRXMWlaWElwSUQwK0lHNTFiV0psY2lCOUlEMGdlMXh1SUNCYlRuVnRZbVZ5VFdWMGNtbGpjMDVoYldWekxrNTFiV1Z5YVdORWFYTjBZVzVqWlYwNklHNTFiV1Z5YVdORWFYTjBZVzVqWlN4Y2JuMDdYRzVjYm1WNGNHOXlkQ0JqYjI1emRDQkJkbUZwYkdGaWJHVk5aWFJ5YVdOeklEMGdlMXh1SUNCYlJHbHpkR0Z1WTJWTlpYUnlhV056VTNWaWFtVmpkSE11Vm1WamRHOXlYVG9nZTF4dUlDQWdJRnRXWldOMGIzSk5aWFJ5YVdOelRtRnRaWE11UlhWamJHbGtaV0Z1WFRvZ2RtVmpkRzl5UkdsemRHRnVZMlZOWlhSeWFXTnpUV1YwYUc5a2MxdFdaV04wYjNKTlpYUnlhV056VG1GdFpYTXVSWFZqYkdsa1pXRnVYU3hjYmlBZ2ZTeGNiaUFnVzBScGMzUmhibU5sVFdWMGNtbGpjMU4xWW1wbFkzUnpMbE4wY21sdVoxMDZJSHRjYmlBZ0lDQmJVM1J5YVc1blRXVjBjbWxqYzA1aGJXVnpMa3hsZG1WdWMyaDBaV2x1WFRvZ2MzUnlhVzVuUkdsemRHRnVZMlZOWlhSeWFXTnpUV1YwYUc5a2MxdFRkSEpwYm1kTlpYUnlhV056VG1GdFpYTXVUR1YyWlc1emFIUmxhVzVkTEZ4dUlDQWdJRnRUZEhKcGJtZE5aWFJ5YVdOelRtRnRaWE11U21GeWIxZHBibXRzWlhKZE9pQnpkSEpwYm1kRWFYTjBZVzVqWlUxbGRISnBZM05OWlhSb2IyUnpXMU4wY21sdVowMWxkSEpwWTNOT1lXMWxjeTVLWVhKdlYybHVhMnhsY2wwc1hHNGdJQ0FnVzFOMGNtbHVaMDFsZEhKcFkzTk9ZVzFsY3k1TllXNW9ZWFIwWVc1ZE9pQnpkSEpwYm1kRWFYTjBZVzVqWlUxbGRISnBZM05OWlhSb2IyUnpXMU4wY21sdVowMWxkSEpwWTNOT1lXMWxjeTVOWVc1b1lYUjBZVzVkTEZ4dUlDQjlMRnh1SUNCYlJHbHpkR0Z1WTJWTlpYUnlhV056VTNWaWFtVmpkSE11UW1sMFFYSnlZWGxkT2lCN1hHNGdJQ0FnVzBKcGRFRnljbUY1VFdWMGNtbGpjMDVoYldWekxsUmhibWx0YjNSdlhUb2dZbWwwUVhKeVlYbEVhWE4wWVc1alpVMWxkSEpwWTNOTlpYUm9iMlJ6VzBKcGRFRnljbUY1VFdWMGNtbGpjMDVoYldWekxsUmhibWx0YjNSdlhTeGNiaUFnSUNCYlFtbDBRWEp5WVhsTlpYUnlhV056VG1GdFpYTXVSR2xqWlYwNklHSnBkRUZ5Y21GNVJHbHpkR0Z1WTJWTlpYUnlhV056VFdWMGFHOWtjMXRDYVhSQmNuSmhlVTFsZEhKcFkzTk9ZVzFsY3k1RWFXTmxYU3hjYmlBZ0lDQmJRbWwwUVhKeVlYbE5aWFJ5YVdOelRtRnRaWE11UVhONWJXMWxkSEpwWTEwNklHSnBkRUZ5Y21GNVJHbHpkR0Z1WTJWTlpYUnlhV056VFdWMGFHOWtjMXRDYVhSQmNuSmhlVTFsZEhKcFkzTk9ZVzFsY3k1QmMzbHRiV1YwY21salhTeGNiaUFnSUNCYlFtbDBRWEp5WVhsTlpYUnlhV056VG1GdFpYTXVRbkpoZFc1Q2JHRnVjWFZsZEYwNklHSnBkRUZ5Y21GNVJHbHpkR0Z1WTJWTlpYUnlhV056VFdWMGFHOWtjMXRDYVhSQmNuSmhlVTFsZEhKcFkzTk9ZVzFsY3k1Q2NtRjFia0pzWVc1eGRXVjBYU3hjYmlBZ0lDQmJRbWwwUVhKeVlYbE5aWFJ5YVdOelRtRnRaWE11UTI5emFXNWxYVG9nWW1sMFFYSnlZWGxFYVhOMFlXNWpaVTFsZEhKcFkzTk5aWFJvYjJSelcwSnBkRUZ5Y21GNVRXVjBjbWxqYzA1aGJXVnpMa052YzJsdVpWMHNYRzRnSUNBZ1cwSnBkRUZ5Y21GNVRXVjBjbWxqYzA1aGJXVnpMa3QxYkdONmVXNXphMmxkT2lCaWFYUkJjbkpoZVVScGMzUmhibU5sVFdWMGNtbGpjMDFsZEdodlpITmJRbWwwUVhKeVlYbE5aWFJ5YVdOelRtRnRaWE11UzNWc1kzcDVibk5yYVYwc1hHNGdJQ0FnVzBKcGRFRnljbUY1VFdWMGNtbGpjMDVoYldWekxrMWpRMjl1Ym1GMVoyaGxlVjA2SUdKcGRFRnljbUY1UkdsemRHRnVZMlZOWlhSeWFXTnpUV1YwYUc5a2MxdENhWFJCY25KaGVVMWxkSEpwWTNOT1lXMWxjeTVOWTBOdmJtNWhkV2RvWlhsZExGeHVJQ0FnSUZ0Q2FYUkJjbkpoZVUxbGRISnBZM05PWVcxbGN5NVNiMmR2ZEVkdmJHUmlaWEpuWFRvZ1ltbDBRWEp5WVhsRWFYTjBZVzVqWlUxbGRISnBZM05OWlhSb2IyUnpXMEpwZEVGeWNtRjVUV1YwY21samMwNWhiV1Z6TGxKdloyOTBSMjlzWkdKbGNtZGRMRnh1SUNBZ0lGdENhWFJCY25KaGVVMWxkSEpwWTNOT1lXMWxjeTVTZFhOelpXeGRPaUJpYVhSQmNuSmhlVVJwYzNSaGJtTmxUV1YwY21samMwMWxkR2h2WkhOYlFtbDBRWEp5WVhsTlpYUnlhV056VG1GdFpYTXVVblZ6YzJWc1hTeGNiaUFnSUNCYlFtbDBRWEp5WVhsTlpYUnlhV056VG1GdFpYTXVVMjlyWVd4ZE9pQmlhWFJCY25KaGVVUnBjM1JoYm1ObFRXVjBjbWxqYzAxbGRHaHZaSE5iUW1sMFFYSnlZWGxOWlhSeWFXTnpUbUZ0WlhNdVUyOXJZV3hkTEZ4dUlDQjlMRnh1SUNCYlJHbHpkR0Z1WTJWTlpYUnlhV056VTNWaWFtVmpkSE11VFdGamNtOU5iMnhsWTNWc1pWMDZJSHNnTHk4Z2IzQjBhVzl1WVd3Z1lYSm5jeUJ1WldWa1pXUWdabTl5SUcxaFkzSnZiVzlzWldOMWJHVWdablZ1WTNScGIyNXpJSGRvYVdOb0lHbHVhWFJwWVd4cGVtVWdkR2hsYlZ4dUlDQWdJRnROYlVScGMzUmhibU5sUm5WdVkzUnBiMjV6VG1GdFpYTXVTRUZOVFVsT1IxMDZJRzF0UkdsemRHRnVZMlZHZFc1amRHbHZibk5iVFcxRWFYTjBZVzVqWlVaMWJtTjBhVzl1YzA1aGJXVnpMa2hCVFUxSlRrZGRMRnh1SUNBZ0lGdE5iVVJwYzNSaGJtTmxSblZ1WTNScGIyNXpUbUZ0WlhNdVRFVldSVTVUU0ZSRlNVNWRPaUJ0YlVScGMzUmhibU5sUm5WdVkzUnBiMjV6VzAxdFJHbHpkR0Z1WTJWR2RXNWpkR2x2Ym5OT1lXMWxjeTVNUlZaRlRsTklWRVZKVGwwc1hHNGdJQ0FnVzAxdFJHbHpkR0Z1WTJWR2RXNWpkR2x2Ym5OT1lXMWxjeTVPUlVWRVRFVk5RVTVPWDFkVlRsTkRTRjA2SUcxdFJHbHpkR0Z1WTJWR2RXNWpkR2x2Ym5OYlRXMUVhWE4wWVc1alpVWjFibU4wYVc5dWMwNWhiV1Z6TGs1RlJVUk1SVTFCVGs1ZlYxVk9VME5JWFN4Y2JpQWdJQ0JiVFcxRWFYTjBZVzVqWlVaMWJtTjBhVzl1YzA1aGJXVnpMazFQVGs5TlJWSmZRMGhGVFVsRFFVeGZSRWxUVkVGT1EwVmRPaUJ0YlVScGMzUmhibU5sUm5WdVkzUnBiMjV6VzAxdFJHbHpkR0Z1WTJWR2RXNWpkR2x2Ym5OT1lXMWxjeTVOVDA1UFRVVlNYME5JUlUxSlEwRk1YMFJKVTFSQlRrTkZYU3hjYmlBZ2ZTeGNiaUFnVzBScGMzUmhibU5sVFdWMGNtbGpjMU4xWW1wbFkzUnpMazUxYldKbGNsMDZJSHRjYmlBZ0lDQmJUblZ0WW1WeVRXVjBjbWxqYzA1aGJXVnpMazUxYldWeWFXTkVhWE4wWVc1alpWMDZJRzUxYldKbGNrUnBjM1JoYm1ObFRXVjBjbWxqYzAxbGRHaHZaSE5iVG5WdFltVnlUV1YwY21samMwNWhiV1Z6TGs1MWJXVnlhV05FYVhOMFlXNWpaVjBzWEc0Z0lIMHNYRzRnSUZ0RWFYTjBZVzVqWlUxbGRISnBZM05UZFdKcVpXTjBjeTVKYm5SQmNuSmhlVjA2SUh0Y2JpQWdJQ0JiU1c1MFFYSnlZWGxOWlhSeWFXTnpUbUZ0WlhNdVZHRnVhVzF2ZEc5SmJuUkJjbkpoZVYwNklHbHVkRUZ5Y21GNVJHbHpkR0Z1WTJWTlpYUnlhV056VFdWMGFHOWtjMXRKYm5SQmNuSmhlVTFsZEhKcFkzTk9ZVzFsY3k1VVlXNXBiVzkwYjBsdWRFRnljbUY1WFN4Y2JpQWdmVnh1ZlR0Y2JseHVaWGh3YjNKMElHTnZibk4wSUUxbGRISnBZMVJ2UkdGMFlWUjVjR1U2SUZOMGNtbHVaMFJwWTNScGIyNWhjbmtnUFNCUFltcGxZM1F1YTJWNWN5aEJkbUZwYkdGaWJHVk5aWFJ5YVdOektWeHVJQ0F1Y21Wa2RXTmxLQ2h5WlhRNklGTjBjbWx1WjBScFkzUnBiMjVoY25rc0lHdGxlU2tnUFQ0Z2UxeHVJQ0FnSUdadmNpQW9ZMjl1YzNRZ2RtRnNJRzltSUU5aWFtVmpkQzVyWlhsektFRjJZV2xzWVdKc1pVMWxkSEpwWTNOYmEyVjVJR0Z6SUVGMllXbHNZV0pzWlVSaGRHRlVlWEJsYzEwcEtWeHVJQ0FnSUNBZ2NtVjBXM1poYkNCaGN5QkJkbUZwYkdGaWJHVkVZWFJoVkhsd1pYTmRJRDBnYTJWNU8xeHVYRzRnSUNBZ2NtVjBkWEp1SUhKbGREdGNiaUFnZlN3Z2UzMHBPMXh1WEc1bGVIQnZjblFnZEhsd1pTQkJkbUZwYkdGaWJHVkVZWFJoVkhsd1pYTWdQU0JyWlhsdlppQjBlWEJsYjJZZ1FYWmhhV3hoWW14bFRXVjBjbWxqY3p0Y2JtVjRjRzl5ZENCMGVYQmxJRlpsWTNSdmNrMWxkSEpwWTNNZ1BTQnJaWGx2WmlCMGVYQmxiMllnUVhaaGFXeGhZbXhsVFdWMGNtbGpjMXRFYVhOMFlXNWpaVTFsZEhKcFkzTlRkV0pxWldOMGN5NVdaV04wYjNKZE8xeHVaWGh3YjNKMElIUjVjR1VnVTNSeWFXNW5UV1YwY21samN5QTlJR3RsZVc5bUlIUjVjR1Z2WmlCQmRtRnBiR0ZpYkdWTlpYUnlhV056VzBScGMzUmhibU5sVFdWMGNtbGpjMU4xWW1wbFkzUnpMbE4wY21sdVoxMDdYRzVsZUhCdmNuUWdkSGx3WlNCQ2FYUkJjbkpoZVUxbGRISnBZM01nUFNCclpYbHZaaUIwZVhCbGIyWWdRWFpoYVd4aFlteGxUV1YwY21samMxdEVhWE4wWVc1alpVMWxkSEpwWTNOVGRXSnFaV04wY3k1Q2FYUkJjbkpoZVYwN1hHNWxlSEJ2Y25RZ2RIbHdaU0JMYm05M2JrMWxkSEpwWTNNZ1BTQlRkSEpwYm1kTlpYUnlhV056SUh3Z1FtbDBRWEp5WVhsTlpYUnlhV056SUh3Z1ZtVmpkRzl5VFdWMGNtbGpjeUI4WEc0Z0lFMXRSR2x6ZEdGdVkyVkdkVzVqZEdsdmJuTk9ZVzFsY3lCOElFNTFiV0psY2sxbGRISnBZM05PWVcxbGN5QjhJRWx1ZEVGeWNtRjVUV1YwY21samMwNWhiV1Z6TzF4dVhHNWxlSEJ2Y25RZ2RIbHdaU0JXWVd4cFpGUjVjR1Z6SUQxY2JpQWdleUJrWVhSaE9pQnpkSEpwYm1kYlhTd2diV1YwY21sak9pQlRkSEpwYm1kTlpYUnlhV056SUh3Z1RXMUVhWE4wWVc1alpVWjFibU4wYVc5dWMwNWhiV1Z6SUgwZ2ZGeHVJQ0I3SUdSaGRHRTZJRlpsWTNSdmNsdGRMQ0J0WlhSeWFXTTZJRlpsWTNSdmNrMWxkSEpwWTNNZ2ZTQjhYRzRnSUhzZ1pHRjBZVG9nUW1sMFFYSnlZWGxiWFN3Z2JXVjBjbWxqT2lCQ2FYUkJjbkpoZVUxbGRISnBZM01nZlNCOFhHNGdJSHNnWkdGMFlUb2diblZ0WW1WeVcxMHNJRzFsZEhKcFl6b2dUblZ0WW1WeVRXVjBjbWxqYzA1aGJXVnpJSDA3WEc1Y2JtVjRjRzl5ZENCbWRXNWpkR2x2YmlCcGMxTjBjbWx1WjAxbGRISnBZeWh1WVcxbE9pQkxibTkzYmsxbGRISnBZM01wSUh0Y2JpQWdjbVYwZFhKdUlFMWxkSEpwWTFSdlJHRjBZVlI1Y0dWYmJtRnRaVjBnUFQwZ0oxTjBjbWx1WnljN1hHNTlYRzVjYm1WNGNHOXlkQ0JtZFc1amRHbHZiaUJwYzBKcGRFRnljbUY1VFdWMGNtbGpLRzVoYldVNklFdHViM2R1VFdWMGNtbGpjeWtnZTF4dUlDQnlaWFIxY200Z1RXVjBjbWxqVkc5RVlYUmhWSGx3WlZ0dVlXMWxYU0E5UFNBblFtbDBRWEp5WVhrbk8xeHVmVnh1WEc1bGVIQnZjblFnWm5WdVkzUnBiMjRnYVhOV1pXTjBiM0pOWlhSeWFXTW9ibUZ0WlRvZ1MyNXZkMjVOWlhSeWFXTnpLU0I3WEc0Z0lISmxkSFZ5YmlCTlpYUnlhV05VYjBSaGRHRlVlWEJsVzI1aGJXVmRJRDA5SUNkV1pXTjBiM0luTzF4dWZWeHVYRzVsZUhCdmNuUWdablZ1WTNScGIyNGdhWE5OWVdOeWIwMXZiR1ZqZFd4bFRXVjBjbWxqS0c1aGJXVTZJRXR1YjNkdVRXVjBjbWxqY3lrZ2UxeHVJQ0J5WlhSMWNtNGdUV1YwY21salZHOUVZWFJoVkhsd1pWdHVZVzFsWFNBOVBTQkVhWE4wWVc1alpVMWxkSEpwWTNOVGRXSnFaV04wY3k1TllXTnliMDF2YkdWamRXeGxMblJ2VTNSeWFXNW5LQ2s3WEc1OVhHNWNiaThxS2lCTllXNW9ZWFIwWVc0Z1pHbHpkR0Z1WTJVZ1ltVjBkMlZsYmlCMGQyOGdjMlZ4ZFdWdVkyVnpJQ2h0WVhSamFDQXRJREFzSUcxcGMyMWhkR05vSUMwZ01Ta2dibTl5YldGc2FYcGxaQ0JtYjNJZ2JHVnVaM1JvTGlBcUwxeHVaWGh3YjNKMElHWjFibU4wYVc5dUlHMWhibWhoZEhSaGJrUnBjM1JoYm1ObEtITXhPaUJ6ZEhKcGJtY3NJSE15T2lCemRISnBibWNwT2lCdWRXMWlaWElnZTF4dUlDQnBaaUFvY3pFdWJHVnVaM1JvSUNFOVBTQnpNaTVzWlc1bmRHZ3BJSHRjYmlBZ0lDQnlaWFIxY200Z01UdGNiaUFnZlNCbGJITmxJSHRjYmlBZ0lDQnNaWFFnWkdsemREb2diblZ0WW1WeUlEMGdNRHRjYmlBZ0lDQm1iM0lnS0d4bGRDQnBJRDBnTVRzZ2FTQThJSE14TG14bGJtZDBhRHNnYVNzcktWeHVJQ0FnSUNBZ1pHbHpkQ0FyUFNCek1WdHBYU0E5UFNCek1sdHBYU0EvSURBZ09pQXhPMXh1SUNBZ0lISmxkSFZ5YmlCa2FYTjBJQzhnY3pFdWJHVnVaM1JvTzF4dUlDQjlYRzU5WEc1Y2JpOHFLaUJWYm1sbWFXVmtJR05zWVhOeklHbHRjR3hsYldWdWRHbHVaeUJrYVdabVpYSmxiblFnYzNSeWFXNW5JRzFsWVhOMWNtVnpMaUFxTDF4dVpYaHdiM0owSUdOc1lYTnpJRTFsWVhOMWNtVWdlMXh1SUNCd2NtOTBaV04wWldRZ2JXVjBhRzlrT2lCTGJtOTNiazFsZEhKcFkzTTdYRzRnSUhCeWIzUmxZM1JsWkNCa1lYUmhWSGx3WlRvZ1FYWmhhV3hoWW14bFJHRjBZVlI1Y0dWek8xeHVYRzRnSUM4cUtseHVJQ0FnS2lCRGNtVmhkR1Z6SUdGdUlHbHVjM1JoYm1ObElHOW1JRTFsWVhOMWNtVWdkMmwwYUNBdVhHNGdJQ0FxSUVCd1lYSmhiU0I3YzNSeWFXNW5mU0J0WlhSb2IyUWdUV1YwYUc5a0lIUnZJR05oYkdOMWJHRjBaU0JrYVhOMFlXNWpaU0JpWlhSM1pXVnVJSE4wY21sdVozTXVYRzRnSUNBcUlFQnRaVzFpWlhKdlppQk5aV0Z6ZFhKbGNseHVJQ0FnS2k5Y2JpQWdZMjl1YzNSeWRXTjBiM0lvYldWMGFHOWtPaUJMYm05M2JrMWxkSEpwWTNNcElIdGNiaUFnSUNCMGFHbHpMbTFsZEdodlpDQTlJRzFsZEdodlpEdGNiaUFnSUNCMGFHbHpMbVJoZEdGVWVYQmxJRDBnVFdWMGNtbGpWRzlFWVhSaFZIbHdaVnR0WlhSb2IyUmRJR0Z6SUVGMllXbHNZV0pzWlVSaGRHRlVlWEJsY3p0Y2JpQWdmVnh1WEc0Z0lDOHFLbHh1SUNBZ0tpQlNaWFIxY201eklHTjFjM1J2YlNCemRISnBibWNnWkdsemRHRnVZMlVnWm5WdVkzUnBiMjRnYzNCbFkybG1hV1ZrTGx4dUlDQWdLaUJBY0dGeVlXMGdlMjl3ZEhOOUlHOXdkSE1nVDNCMGFXOXVjeUJtYjNJZ2RHaGxJRzFsWVhOMWNtVXVJSFZ6WldRZ1ptOXlJRzFoWTNKdmJXOXNaV04xYkdVZ1pHbHpkR0Z1WTJWelhHNGdJQ0FxSUVCeVpYUjFjbTRnZTBScGMzUmhibU5sVFdWMGNtbGpmU0JEWVd4c1ltRmpheUJ2WmlCMGFHVWdiV1ZoYzNWeVpTQmphRzl6Wlc0dVhHNGdJQ0FxSUVCdFpXMWlaWEp2WmlCTlpXRnpkWEpsY2x4dUlDQWdLaTljYmlBZ2NIVmliR2xqSUdkbGRFMWxZWE4xY21Vb2IzQjBjejg2SUdGdWVTazZJRVJwYzNSaGJtTmxUV1YwY21saklIdGNiaUFnSUNCamIyNXpkQ0JrYVdOME9pQjdJRnRyWlhrNklITjBjbWx1WjEwNlhHNGdJQ0FnSUNCN1cydGxlVEk2SUhOMGNtbHVaMTA2SUVScGMzUmhibU5sVFdWMGNtbGpJSHdnS0NodmNIUnpPaUJoYm5rcElEMCtJRVJwYzNSaGJtTmxUV1YwY21saktYMWNiaUFnSUNCOUlEMGdRWFpoYVd4aFlteGxUV1YwY21samN6dGNiaUFnSUNCcFppQW9JV1JwWTNRdWFHRnpUM2R1VUhKdmNHVnlkSGtvZEdocGN5NWtZWFJoVkhsd1pTa2dmSHdnSVdScFkzUmJkR2hwY3k1a1lYUmhWSGx3WlYwdWFHRnpUM2R1VUhKdmNHVnlkSGtvZEdocGN5NXRaWFJvYjJRcEtWeHVJQ0FnSUNBZ2RHaHliM2NnYm1WM0lFVnljbTl5S0dCVmJtdHViM2R1SUcxbFlYTjFjbVVnSkh0MGFHbHpMbTFsZEdodlpIMGdabTl5SUdSaGRHRWdkSGx3WlNBa2UzUm9hWE11WkdGMFlWUjVjR1Y5WUNrN1hHNGdJQ0FnY21WMGRYSnVJR2x6VFdGamNtOU5iMnhsWTNWc1pVMWxkSEpwWXloMGFHbHpMbTFsZEdodlpDa2dQMXh1SUNBZ0lDQWdLR1JwWTNSYmRHaHBjeTVrWVhSaFZIbHdaVjFiZEdocGN5NXRaWFJvYjJSZElHRnpJQ2dvYjNCMGN6b2dZVzU1S1NBOVBpQkVhWE4wWVc1alpVMWxkSEpwWXlrcEtHOXdkSE1wSURwY2JpQWdJQ0FnSUdScFkzUmJkR2hwY3k1a1lYUmhWSGx3WlYxYmRHaHBjeTV0WlhSb2IyUmRJR0Z6SUVScGMzUmhibU5sVFdWMGNtbGpPMXh1SUNCOVhHNWNiaUFnTHlvcVhHNGdJQ0FxSUZKbGRIVnlibk1nWTNWemRHOXRJSE4wY21sdVp5QmthWE4wWVc1alpTQmllU0IwYUdVZ1oybDJaVzRnWkdGMFlTQjBlWEJsTGx4dUlDQWdLaUJBY0dGeVlXMGdlMEYyWVdsc1lXSnNaVVJoZEdGVWVYQmxjMzBnWkdGMFlWUjVjR1VnVFdWMGNtbGpKM01nWkdGMFlTQjBlWEJsWEc0Z0lDQXFJRUJ5WlhSMWNtNGdlM04wY21sdVoxdGRmU0JOWlhSeWFXTWdibUZ0WlhNZ2QyaHBZMmdnWlhod1pXTjBjeUIwYUdVZ1oybDJaVzRnWkdGMFlTQjBlWEJsWEc0Z0lDQXFJRUJ0WlcxaVpYSnZaaUJOWldGemRYSmxjbHh1SUNBZ0tpOWNiaUFnY0hWaWJHbGpJSE4wWVhScFl5Qm5aWFJOWlhSeWFXTkNlVVJoZEdGVWVYQmxLR1JoZEdGVWVYQmxPaUJCZG1GcGJHRmliR1ZFWVhSaFZIbHdaWE1wT2lCemRISnBibWRiWFNCN1hHNGdJQ0FnY21WMGRYSnVJRTlpYW1WamRDNXJaWGx6S0VGMllXbHNZV0pzWlUxbGRISnBZM05iWkdGMFlWUjVjR1ZkS1R0Y2JpQWdmVnh1WEc0Z0lDOHFLaUJTWlhSMWNtNXpJRzFsZEhKcFl5QnVZVzFsY3lCaGRtRnBiR0ZpYkdVdVhHNGdJQ0FxSUVCdFpXMWlaWEp2WmlCTlpXRnpkWEpsY2x4dUlDQWdLaTljYmlBZ2MzUmhkR2xqSUdkbGRDQmhkbUZwYkdGaWJHVk5aV0Z6ZFhKbGN5Z3BPaUJ6ZEhKcGJtZGJYU0I3WEc0Z0lDQWdjbVYwZFhKdUlFOWlhbVZqZEM1clpYbHpLRUYyWVdsc1lXSnNaVTFsZEhKcFkzTXBPMXh1SUNCOVhHNTlYRzRpWFgwPSIsInZhciBfX2F3YWl0ZXIgPSAodGhpcyAmJiB0aGlzLl9fYXdhaXRlcikgfHwgZnVuY3Rpb24gKHRoaXNBcmcsIF9hcmd1bWVudHMsIFAsIGdlbmVyYXRvcikge1xuICAgIGZ1bmN0aW9uIGFkb3B0KHZhbHVlKSB7IHJldHVybiB2YWx1ZSBpbnN0YW5jZW9mIFAgPyB2YWx1ZSA6IG5ldyBQKGZ1bmN0aW9uIChyZXNvbHZlKSB7IHJlc29sdmUodmFsdWUpOyB9KTsgfVxuICAgIHJldHVybiBuZXcgKFAgfHwgKFAgPSBQcm9taXNlKSkoZnVuY3Rpb24gKHJlc29sdmUsIHJlamVjdCkge1xuICAgICAgICBmdW5jdGlvbiBmdWxmaWxsZWQodmFsdWUpIHsgdHJ5IHsgc3RlcChnZW5lcmF0b3IubmV4dCh2YWx1ZSkpOyB9IGNhdGNoIChlKSB7IHJlamVjdChlKTsgfSB9XG4gICAgICAgIGZ1bmN0aW9uIHJlamVjdGVkKHZhbHVlKSB7IHRyeSB7IHN0ZXAoZ2VuZXJhdG9yW1widGhyb3dcIl0odmFsdWUpKTsgfSBjYXRjaCAoZSkgeyByZWplY3QoZSk7IH0gfVxuICAgICAgICBmdW5jdGlvbiBzdGVwKHJlc3VsdCkgeyByZXN1bHQuZG9uZSA/IHJlc29sdmUocmVzdWx0LnZhbHVlKSA6IGFkb3B0KHJlc3VsdC52YWx1ZSkudGhlbihmdWxmaWxsZWQsIHJlamVjdGVkKTsgfVxuICAgICAgICBzdGVwKChnZW5lcmF0b3IgPSBnZW5lcmF0b3IuYXBwbHkodGhpc0FyZywgX2FyZ3VtZW50cyB8fCBbXSkpLm5leHQoKSk7XG4gICAgfSk7XG59O1xuaW1wb3J0IHsgRGlzdGFuY2VNYXRyaXggfSBmcm9tICdAZGF0YWdyb2stbGlicmFyaWVzL21sL3NyYy9kaXN0YW5jZS1tYXRyaXgnO1xuaW1wb3J0IHsgc3RyaW5nRGlzdGFuY2VNZXRyaWNzTWV0aG9kcyB9IGZyb20gJ0BkYXRhZ3Jvay1saWJyYXJpZXMvbWwvc3JjL3R5cGVkLW1ldHJpY3MnO1xuY29uc3QgY3R4ID0gc2VsZjtcbmN0eC5hZGRFdmVudExpc3RlbmVyKCdtZXNzYWdlJywgKHsgZGF0YTogeyBwZXB0aWRlc0xpc3QsIG1ldHJpYyB9IH0pID0+IF9fYXdhaXRlcih2b2lkIDAsIHZvaWQgMCwgdm9pZCAwLCBmdW5jdGlvbiogKCkge1xuICAgIGNvbnN0IGRhdGEgPSB7fTtcbiAgICB0cnkge1xuICAgICAgICBjb25zdCBkbSA9IERpc3RhbmNlTWF0cml4LmNhbGMocGVwdGlkZXNMaXN0LCAoYSwgYikgPT4gc3RyaW5nRGlzdGFuY2VNZXRyaWNzTWV0aG9kc1ttZXRyaWNdKGEsIGIpKTtcbiAgICAgICAgZGF0YS5kaXN0YW5jZXMgPSBkbS5kYXRhO1xuICAgIH1cbiAgICBjYXRjaCAoZSkge1xuICAgICAgICBkYXRhLmVycm9yID0gZTtcbiAgICB9XG4gICAgc2VsZi5wb3N0TWVzc2FnZShkYXRhKTtcbn0pKTtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSm1hV3hsSWpvaVpHbHpkR0Z1WTJVdGJXRjBjbWw0TG5kdmNtdGxjaTVxY3lJc0luTnZkWEpqWlZKdmIzUWlPaUlpTENKemIzVnlZMlZ6SWpwYkltUnBjM1JoYm1ObExXMWhkSEpwZUM1M2IzSnJaWEl1ZEhNaVhTd2libUZ0WlhNaU9sdGRMQ0p0WVhCd2FXNW5jeUk2SWpzN096czdPenM3TzBGQlFVRXNUMEZCVHl4RlFVRkRMR05CUVdNc1JVRkJReXhOUVVGTkxEUkRRVUUwUXl4RFFVRkRPMEZCUXpGRkxFOUJRVThzUlVGQlF5dzBRa0ZCTkVJc1JVRkJReXhOUVVGTkxEQkRRVUV3UXl4RFFVRkRPMEZCUlhSR0xFMUJRVTBzUjBGQlJ5eEhRVUZYTEVsQlFWY3NRMEZCUXp0QlFVVm9ReXhIUVVGSExFTkJRVU1zWjBKQlFXZENMRU5CUVVNc1UwRkJVeXhGUVVGRkxFTkJRVThzUlVGQlF5eEpRVUZKTEVWQlFVVXNSVUZCUXl4WlFVRlpMRVZCUVVVc1RVRkJUU3hGUVVGRExFVkJRVU1zUlVGQlJTeEZRVUZGTzBsQlEzWkZMRTFCUVUwc1NVRkJTU3hIUVVFMFF5eEZRVUZGTEVOQlFVTTdTVUZEZWtRc1NVRkJTVHRSUVVOR0xFMUJRVTBzUlVGQlJTeEhRVUZITEdOQlFXTXNRMEZCUXl4SlFVRkpMRU5CUVVNc1dVRkJXU3hGUVVONlF5eERRVUZETEVOQlFWTXNSVUZCUlN4RFFVRlRMRVZCUVVVc1JVRkJSU3hEUVVGRExEUkNRVUUwUWl4RFFVRkRMRTFCUVUwc1EwRkJReXhEUVVGRExFTkJRVU1zUlVGQlJTeERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRPMUZCUTNoRkxFbEJRVWtzUTBGQlF5eFRRVUZUTEVkQlFVY3NSVUZCUlN4RFFVRkRMRWxCUVVrc1EwRkJRenRMUVVNeFFqdEpRVUZETEU5QlFVOHNRMEZCUXl4RlFVRkZPMUZCUTFZc1NVRkJTU3hEUVVGRExFdEJRVXNzUjBGQlJ5eERRVUZETEVOQlFVTTdTMEZEYUVJN1NVRkRSQ3hKUVVGSkxFTkJRVU1zVjBGQlZ5eERRVUZETEVsQlFVa3NRMEZCUXl4RFFVRkRPMEZCUTNwQ0xFTkJRVU1zUTBGQlFTeERRVUZETEVOQlFVTWlMQ0p6YjNWeVkyVnpRMjl1ZEdWdWRDSTZXeUpwYlhCdmNuUWdlMFJwYzNSaGJtTmxUV0YwY21sNGZTQm1jbTl0SUNkQVpHRjBZV2R5YjJzdGJHbGljbUZ5YVdWekwyMXNMM055WXk5a2FYTjBZVzVqWlMxdFlYUnlhWGduTzF4dWFXMXdiM0owSUh0emRISnBibWRFYVhOMFlXNWpaVTFsZEhKcFkzTk5aWFJvYjJSemZTQm1jbTl0SUNkQVpHRjBZV2R5YjJzdGJHbGljbUZ5YVdWekwyMXNMM055WXk5MGVYQmxaQzF0WlhSeWFXTnpKenRjYmx4dVkyOXVjM1FnWTNSNE9pQlhiM0pyWlhJZ1BTQnpaV3htSUdGeklHRnVlVHRjYmx4dVkzUjRMbUZrWkVWMlpXNTBUR2x6ZEdWdVpYSW9KMjFsYzNOaFoyVW5MQ0JoYzNsdVl5QW9lMlJoZEdFNklIdHdaWEIwYVdSbGMweHBjM1FzSUcxbGRISnBZMzE5S1NBOVBpQjdYRzRnSUdOdmJuTjBJR1JoZEdFNklIdGxjbkp2Y2o4NklHRnVlU3dnWkdsemRHRnVZMlZ6UHpvZ1JteHZZWFF6TWtGeWNtRjVmU0E5SUh0OU8xeHVJQ0IwY25rZ2UxeHVJQ0FnSUdOdmJuTjBJR1J0SUQwZ1JHbHpkR0Z1WTJWTllYUnlhWGd1WTJGc1l5aHdaWEIwYVdSbGMweHBjM1FzWEc0Z0lDQWdJQ0FvWVRvZ2MzUnlhVzVuTENCaU9pQnpkSEpwYm1jcElEMCtJSE4wY21sdVowUnBjM1JoYm1ObFRXVjBjbWxqYzAxbGRHaHZaSE5iYldWMGNtbGpYU2hoTENCaUtTazdYRzRnSUNBZ1pHRjBZUzVrYVhOMFlXNWpaWE1nUFNCa2JTNWtZWFJoTzF4dUlDQjlJR05oZEdOb0lDaGxLU0I3WEc0Z0lDQWdaR0YwWVM1bGNuSnZjaUE5SUdVN1hHNGdJSDFjYmlBZ2MyVnNaaTV3YjNOMFRXVnpjMkZuWlNoa1lYUmhLVHRjYm4wcE8xeHVJbDE5IiwiLy8gVGhlIG1vZHVsZSBjYWNoZVxudmFyIF9fd2VicGFja19tb2R1bGVfY2FjaGVfXyA9IHt9O1xuXG4vLyBUaGUgcmVxdWlyZSBmdW5jdGlvblxuZnVuY3Rpb24gX193ZWJwYWNrX3JlcXVpcmVfXyhtb2R1bGVJZCkge1xuXHQvLyBDaGVjayBpZiBtb2R1bGUgaXMgaW4gY2FjaGVcblx0dmFyIGNhY2hlZE1vZHVsZSA9IF9fd2VicGFja19tb2R1bGVfY2FjaGVfX1ttb2R1bGVJZF07XG5cdGlmIChjYWNoZWRNb2R1bGUgIT09IHVuZGVmaW5lZCkge1xuXHRcdHJldHVybiBjYWNoZWRNb2R1bGUuZXhwb3J0cztcblx0fVxuXHQvLyBDcmVhdGUgYSBuZXcgbW9kdWxlIChhbmQgcHV0IGl0IGludG8gdGhlIGNhY2hlKVxuXHR2YXIgbW9kdWxlID0gX193ZWJwYWNrX21vZHVsZV9jYWNoZV9fW21vZHVsZUlkXSA9IHtcblx0XHQvLyBubyBtb2R1bGUuaWQgbmVlZGVkXG5cdFx0Ly8gbm8gbW9kdWxlLmxvYWRlZCBuZWVkZWRcblx0XHRleHBvcnRzOiB7fVxuXHR9O1xuXG5cdC8vIEV4ZWN1dGUgdGhlIG1vZHVsZSBmdW5jdGlvblxuXHRfX3dlYnBhY2tfbW9kdWxlc19fW21vZHVsZUlkXShtb2R1bGUsIG1vZHVsZS5leHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKTtcblxuXHQvLyBSZXR1cm4gdGhlIGV4cG9ydHMgb2YgdGhlIG1vZHVsZVxuXHRyZXR1cm4gbW9kdWxlLmV4cG9ydHM7XG59XG5cbi8vIGV4cG9zZSB0aGUgbW9kdWxlcyBvYmplY3QgKF9fd2VicGFja19tb2R1bGVzX18pXG5fX3dlYnBhY2tfcmVxdWlyZV9fLm0gPSBfX3dlYnBhY2tfbW9kdWxlc19fO1xuXG4vLyB0aGUgc3RhcnR1cCBmdW5jdGlvblxuX193ZWJwYWNrX3JlcXVpcmVfXy54ID0gKCkgPT4ge1xuXHQvLyBMb2FkIGVudHJ5IG1vZHVsZSBhbmQgcmV0dXJuIGV4cG9ydHNcblx0Ly8gVGhpcyBlbnRyeSBtb2R1bGUgZGVwZW5kcyBvbiBvdGhlciBsb2FkZWQgY2h1bmtzIGFuZCBleGVjdXRpb24gbmVlZCB0byBiZSBkZWxheWVkXG5cdHZhciBfX3dlYnBhY2tfZXhwb3J0c19fID0gX193ZWJwYWNrX3JlcXVpcmVfXy5PKHVuZGVmaW5lZCwgWzkzMiw4MzFdLCAoKSA9PiAoX193ZWJwYWNrX3JlcXVpcmVfXyg5MjA5KSkpXG5cdF9fd2VicGFja19leHBvcnRzX18gPSBfX3dlYnBhY2tfcmVxdWlyZV9fLk8oX193ZWJwYWNrX2V4cG9ydHNfXyk7XG5cdHJldHVybiBfX3dlYnBhY2tfZXhwb3J0c19fO1xufTtcblxuIiwiLy8gZGVmaW5lIGdldHRlciBmdW5jdGlvbnMgZm9yIGhhcm1vbnkgZXhwb3J0c1xuX193ZWJwYWNrX3JlcXVpcmVfXy5kID0gKGV4cG9ydHMsIGRlZmluaXRpb24pID0+IHtcblx0Zm9yKHZhciBrZXkgaW4gZGVmaW5pdGlvbikge1xuXHRcdGlmKF9fd2VicGFja19yZXF1aXJlX18ubyhkZWZpbml0aW9uLCBrZXkpICYmICFfX3dlYnBhY2tfcmVxdWlyZV9fLm8oZXhwb3J0cywga2V5KSkge1xuXHRcdFx0T2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIGtleSwgeyBlbnVtZXJhYmxlOiB0cnVlLCBnZXQ6IGRlZmluaXRpb25ba2V5XSB9KTtcblx0XHR9XG5cdH1cbn07IiwiX193ZWJwYWNrX3JlcXVpcmVfXy5mID0ge307XG4vLyBUaGlzIGZpbGUgY29udGFpbnMgb25seSB0aGUgZW50cnkgY2h1bmsuXG4vLyBUaGUgY2h1bmsgbG9hZGluZyBmdW5jdGlvbiBmb3IgYWRkaXRpb25hbCBjaHVua3Ncbl9fd2VicGFja19yZXF1aXJlX18uZSA9IChjaHVua0lkKSA9PiB7XG5cdHJldHVybiBQcm9taXNlLmFsbChPYmplY3Qua2V5cyhfX3dlYnBhY2tfcmVxdWlyZV9fLmYpLnJlZHVjZSgocHJvbWlzZXMsIGtleSkgPT4ge1xuXHRcdF9fd2VicGFja19yZXF1aXJlX18uZltrZXldKGNodW5rSWQsIHByb21pc2VzKTtcblx0XHRyZXR1cm4gcHJvbWlzZXM7XG5cdH0sIFtdKSk7XG59OyIsIi8vIFRoaXMgZnVuY3Rpb24gYWxsb3cgdG8gcmVmZXJlbmNlIGFzeW5jIGNodW5rcyBhbmQgc2libGluZyBjaHVua3MgZm9yIHRoZSBlbnRyeXBvaW50XG5fX3dlYnBhY2tfcmVxdWlyZV9fLnUgPSAoY2h1bmtJZCkgPT4ge1xuXHQvLyByZXR1cm4gdXJsIGZvciBmaWxlbmFtZXMgYmFzZWQgb24gdGVtcGxhdGVcblx0cmV0dXJuIFwiXCIgKyBjaHVua0lkICsgXCIuanNcIjtcbn07IiwiX193ZWJwYWNrX3JlcXVpcmVfXy5nID0gKGZ1bmN0aW9uKCkge1xuXHRpZiAodHlwZW9mIGdsb2JhbFRoaXMgPT09ICdvYmplY3QnKSByZXR1cm4gZ2xvYmFsVGhpcztcblx0dHJ5IHtcblx0XHRyZXR1cm4gdGhpcyB8fCBuZXcgRnVuY3Rpb24oJ3JldHVybiB0aGlzJykoKTtcblx0fSBjYXRjaCAoZSkge1xuXHRcdGlmICh0eXBlb2Ygd2luZG93ID09PSAnb2JqZWN0JykgcmV0dXJuIHdpbmRvdztcblx0fVxufSkoKTsiLCJfX3dlYnBhY2tfcmVxdWlyZV9fLm8gPSAob2JqLCBwcm9wKSA9PiAoT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKG9iaiwgcHJvcCkpIiwidmFyIHNjcmlwdFVybDtcbmlmIChfX3dlYnBhY2tfcmVxdWlyZV9fLmcuaW1wb3J0U2NyaXB0cykgc2NyaXB0VXJsID0gX193ZWJwYWNrX3JlcXVpcmVfXy5nLmxvY2F0aW9uICsgXCJcIjtcbnZhciBkb2N1bWVudCA9IF9fd2VicGFja19yZXF1aXJlX18uZy5kb2N1bWVudDtcbmlmICghc2NyaXB0VXJsICYmIGRvY3VtZW50KSB7XG5cdGlmIChkb2N1bWVudC5jdXJyZW50U2NyaXB0KVxuXHRcdHNjcmlwdFVybCA9IGRvY3VtZW50LmN1cnJlbnRTY3JpcHQuc3JjO1xuXHRpZiAoIXNjcmlwdFVybCkge1xuXHRcdHZhciBzY3JpcHRzID0gZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoXCJzY3JpcHRcIik7XG5cdFx0aWYoc2NyaXB0cy5sZW5ndGgpIHtcblx0XHRcdHZhciBpID0gc2NyaXB0cy5sZW5ndGggLSAxO1xuXHRcdFx0d2hpbGUgKGkgPiAtMSAmJiAhc2NyaXB0VXJsKSBzY3JpcHRVcmwgPSBzY3JpcHRzW2ktLV0uc3JjO1xuXHRcdH1cblx0fVxufVxuLy8gV2hlbiBzdXBwb3J0aW5nIGJyb3dzZXJzIHdoZXJlIGFuIGF1dG9tYXRpYyBwdWJsaWNQYXRoIGlzIG5vdCBzdXBwb3J0ZWQgeW91IG11c3Qgc3BlY2lmeSBhbiBvdXRwdXQucHVibGljUGF0aCBtYW51YWxseSB2aWEgY29uZmlndXJhdGlvblxuLy8gb3IgcGFzcyBhbiBlbXB0eSBzdHJpbmcgKFwiXCIpIGFuZCBzZXQgdGhlIF9fd2VicGFja19wdWJsaWNfcGF0aF9fIHZhcmlhYmxlIGZyb20geW91ciBjb2RlIHRvIHVzZSB5b3VyIG93biBsb2dpYy5cbmlmICghc2NyaXB0VXJsKSB0aHJvdyBuZXcgRXJyb3IoXCJBdXRvbWF0aWMgcHVibGljUGF0aCBpcyBub3Qgc3VwcG9ydGVkIGluIHRoaXMgYnJvd3NlclwiKTtcbnNjcmlwdFVybCA9IHNjcmlwdFVybC5yZXBsYWNlKC8jLiokLywgXCJcIikucmVwbGFjZSgvXFw/LiokLywgXCJcIikucmVwbGFjZSgvXFwvW15cXC9dKyQvLCBcIi9cIik7XG5fX3dlYnBhY2tfcmVxdWlyZV9fLnAgPSBzY3JpcHRVcmw7IiwiLy8gbm8gYmFzZVVSSVxuXG4vLyBvYmplY3QgdG8gc3RvcmUgbG9hZGVkIGNodW5rc1xuLy8gXCIxXCIgbWVhbnMgXCJhbHJlYWR5IGxvYWRlZFwiXG52YXIgaW5zdGFsbGVkQ2h1bmtzID0ge1xuXHQyMDk6IDFcbn07XG5cbi8vIGltcG9ydFNjcmlwdHMgY2h1bmsgbG9hZGluZ1xudmFyIGluc3RhbGxDaHVuayA9IChkYXRhKSA9PiB7XG5cdHZhciBbY2h1bmtJZHMsIG1vcmVNb2R1bGVzLCBydW50aW1lXSA9IGRhdGE7XG5cdGZvcih2YXIgbW9kdWxlSWQgaW4gbW9yZU1vZHVsZXMpIHtcblx0XHRpZihfX3dlYnBhY2tfcmVxdWlyZV9fLm8obW9yZU1vZHVsZXMsIG1vZHVsZUlkKSkge1xuXHRcdFx0X193ZWJwYWNrX3JlcXVpcmVfXy5tW21vZHVsZUlkXSA9IG1vcmVNb2R1bGVzW21vZHVsZUlkXTtcblx0XHR9XG5cdH1cblx0aWYocnVudGltZSkgcnVudGltZShfX3dlYnBhY2tfcmVxdWlyZV9fKTtcblx0d2hpbGUoY2h1bmtJZHMubGVuZ3RoKVxuXHRcdGluc3RhbGxlZENodW5rc1tjaHVua0lkcy5wb3AoKV0gPSAxO1xuXHRwYXJlbnRDaHVua0xvYWRpbmdGdW5jdGlvbihkYXRhKTtcbn07XG5fX3dlYnBhY2tfcmVxdWlyZV9fLmYuaSA9IChjaHVua0lkLCBwcm9taXNlcykgPT4ge1xuXHQvLyBcIjFcIiBpcyB0aGUgc2lnbmFsIGZvciBcImFscmVhZHkgbG9hZGVkXCJcblx0aWYoIWluc3RhbGxlZENodW5rc1tjaHVua0lkXSkge1xuXHRcdGlmKHRydWUpIHsgLy8gYWxsIGNodW5rcyBoYXZlIEpTXG5cdFx0XHRpbXBvcnRTY3JpcHRzKF9fd2VicGFja19yZXF1aXJlX18ucCArIF9fd2VicGFja19yZXF1aXJlX18udShjaHVua0lkKSk7XG5cdFx0fVxuXHR9XG59O1xuXG52YXIgY2h1bmtMb2FkaW5nR2xvYmFsID0gc2VsZltcIndlYnBhY2tDaHVua3BlcHRpZGVzXCJdID0gc2VsZltcIndlYnBhY2tDaHVua3BlcHRpZGVzXCJdIHx8IFtdO1xudmFyIHBhcmVudENodW5rTG9hZGluZ0Z1bmN0aW9uID0gY2h1bmtMb2FkaW5nR2xvYmFsLnB1c2guYmluZChjaHVua0xvYWRpbmdHbG9iYWwpO1xuY2h1bmtMb2FkaW5nR2xvYmFsLnB1c2ggPSBpbnN0YWxsQ2h1bms7XG5cbi8vIG5vIEhNUlxuXG4vLyBubyBITVIgbWFuaWZlc3QiLCIvLyBydW4gc3RhcnR1cFxudmFyIF9fd2VicGFja19leHBvcnRzX18gPSBfX3dlYnBhY2tfcmVxdWlyZV9fLngoKTtcbiJdLCJuYW1lcyI6WyJkZWZlcnJlZCIsIm5leHQiLCJEaXN0YW5jZU1hdHJpeCIsImRhdGEiLCJ0aGlzIiwiX2RhdGEiLCJzaXplIiwiX3NpemUiLCJjb25zdHJ1Y3RvciIsInVuZGVmaW5lZCIsIkVycm9yIiwiTWF0aCIsInNxcnQiLCJsZW5ndGgiLCJmbG9vciIsImRhdGFMZW5ndGgiLCJGbG9hdDMyQXJyYXkiLCJfbGluZWFyaXplSUoiLCJpIiwiaiIsImdldCIsInNldCIsInZhbHVlIiwiY2FsYyIsImxpc3QiLCJtZXRob2QiLCJyZXMiLCJzcXVhcmUiLCJhZGQiLCJvdGhlciIsIm5vcm1hbGl6ZSIsIm1pbiIsIm1heCIsInJhbmdlIiwidmVjdG9yRGlzdGFuY2VNZXRyaWNzTWV0aG9kcyIsIkV1Y2xpZGVhbiIsInN0cmluZ0Rpc3RhbmNlTWV0cmljc01ldGhvZHMiLCJMZXZlbnNodGVpbiIsIkphcm9XaW5rbGVyIiwiTWFuaGF0dGFuIiwiczEiLCJzMiIsImRpc3QiLCJiaXRBcnJheURpc3RhbmNlTWV0cmljc01ldGhvZHMiLCJUYW5pbW90byIsIkRpY2UiLCJBc3ltbWV0cmljIiwiQnJhdW5CbGFucXVldCIsIkNvc2luZSIsIkt1bGN6eW5za2kiLCJNY0Nvbm5hdWdoZXkiLCJSb2dvdEdvbGRiZXJnIiwiUnVzc2VsIiwiU29rYWwiLCJIYW1taW5nIiwiaW50QXJyYXlEaXN0YW5jZU1ldHJpY3NNZXRob2RzIiwiVGFuaW1vdG9JbnRBcnJheSIsIm51bWJlckRpc3RhbmNlTWV0cmljc01ldGhvZHMiLCJOdW1lcmljRGlzdGFuY2UiLCJBdmFpbGFibGVNZXRyaWNzIiwiVmVjdG9yIiwiU3RyaW5nIiwiQml0QXJyYXkiLCJNYWNyb01vbGVjdWxlIiwiSEFNTUlORyIsIkxFVkVOU0hURUlOIiwiTkVFRExFTUFOTl9XVU5TQ0giLCJNT05PTUVSX0NIRU1JQ0FMX0RJU1RBTkNFIiwiTnVtYmVyIiwiSW50QXJyYXkiLCJPYmplY3QiLCJrZXlzIiwicmVkdWNlIiwicmV0Iiwia2V5IiwidmFsIiwic2VsZiIsImFkZEV2ZW50TGlzdGVuZXIiLCJwZXB0aWRlc0xpc3QiLCJtZXRyaWMiLCJfX2F3YWl0ZXIiLCJ0aGlzQXJnIiwiX2FyZ3VtZW50cyIsImdlbmVyYXRvciIsImRtIiwiYSIsImIiLCJkaXN0YW5jZXMiLCJlIiwiZXJyb3IiLCJwb3N0TWVzc2FnZSIsIlAiLCJQcm9taXNlIiwicmVzb2x2ZSIsInJlamVjdCIsImZ1bGZpbGxlZCIsInN0ZXAiLCJyZWplY3RlZCIsInJlc3VsdCIsImRvbmUiLCJ0aGVuIiwiYXBwbHkiLCJfX3dlYnBhY2tfbW9kdWxlX2NhY2hlX18iLCJfX3dlYnBhY2tfcmVxdWlyZV9fIiwibW9kdWxlSWQiLCJjYWNoZWRNb2R1bGUiLCJleHBvcnRzIiwibW9kdWxlIiwiX193ZWJwYWNrX21vZHVsZXNfXyIsIm0iLCJ4IiwiX193ZWJwYWNrX2V4cG9ydHNfXyIsIk8iLCJjaHVua0lkcyIsImZuIiwicHJpb3JpdHkiLCJub3RGdWxmaWxsZWQiLCJJbmZpbml0eSIsImV2ZXJ5Iiwic3BsaWNlIiwiciIsImQiLCJkZWZpbml0aW9uIiwibyIsImRlZmluZVByb3BlcnR5IiwiZW51bWVyYWJsZSIsImYiLCJjaHVua0lkIiwiYWxsIiwicHJvbWlzZXMiLCJ1IiwiZyIsImdsb2JhbFRoaXMiLCJGdW5jdGlvbiIsIndpbmRvdyIsIm9iaiIsInByb3AiLCJwcm90b3R5cGUiLCJoYXNPd25Qcm9wZXJ0eSIsImNhbGwiLCJzY3JpcHRVcmwiLCJpbXBvcnRTY3JpcHRzIiwibG9jYXRpb24iLCJkb2N1bWVudCIsImN1cnJlbnRTY3JpcHQiLCJzcmMiLCJzY3JpcHRzIiwiZ2V0RWxlbWVudHNCeVRhZ05hbWUiLCJyZXBsYWNlIiwicCIsImluc3RhbGxlZENodW5rcyIsImNodW5rTG9hZGluZ0dsb2JhbCIsInBhcmVudENodW5rTG9hZGluZ0Z1bmN0aW9uIiwicHVzaCIsImJpbmQiLCJtb3JlTW9kdWxlcyIsInJ1bnRpbWUiLCJwb3AiXSwic291cmNlUm9vdCI6IiJ9
package/dist/381.js DELETED
@@ -1,2 +0,0 @@
1
- var peptides;(()=>{"use strict";var e,r,t={2381:(e,r,t)=>{var o=t(6814),n=t(6361),s=t(9657);onmessage=async e=>{const{values:r,startIdx:t,endIdx:a,threshold:i,fnName:p,opts:c}=e.data;try{const e=[],l=[],h=[],f=a-t;if((0,n.sQ)(p))for(let e=0;e<r.length;++e)(0,o.k)(r[e])||(r[e]=new s.Z(r[e]._data,r[e]._length));let u=0;const g=new n.UH(p).getMeasure(c),v=r.length-2-Math.floor(Math.sqrt(-8*t+4*r.length*(r.length-1)-7)/2-.5),d=t-r.length*v+Math.floor((v+1)*(v+2)/2);let w=v,y=d;for(;u<f;){const t=(0,o.k)(r[w])||(0,o.k)(r[y])?1:g(r[w],r[y]);1-t>=i&&(e.push(w),l.push(y),h.push(t)),u++,y++,y===r.length&&(w++,y=w+1)}const b=new Int32Array(e),m=new Int32Array(l),x=new Float32Array(h);postMessage({i:b,j:m,distance:x})}catch(e){postMessage({error:e})}}}},o={};function n(e){var r=o[e];if(void 0!==r)return r.exports;var s=o[e]={exports:{}};return t[e](s,s.exports,n),s.exports}n.m=t,n.x=()=>{var e=n.O(void 0,[932,831,361],(()=>n(2381)));return n.O(e)},e=[],n.O=(r,t,o,s)=>{if(!t){var a=1/0;for(l=0;l<e.length;l++){for(var[t,o,s]=e[l],i=!0,p=0;p<t.length;p++)(!1&s||a>=s)&&Object.keys(n.O).every((e=>n.O[e](t[p])))?t.splice(p--,1):(i=!1,s<a&&(a=s));if(i){e.splice(l--,1);var c=o();void 0!==c&&(r=c)}}return r}s=s||0;for(var l=e.length;l>0&&e[l-1][2]>s;l--)e[l]=e[l-1];e[l]=[t,o,s]},n.d=(e,r)=>{for(var t in r)n.o(r,t)&&!n.o(e,t)&&Object.defineProperty(e,t,{enumerable:!0,get:r[t]})},n.f={},n.e=e=>Promise.all(Object.keys(n.f).reduce(((r,t)=>(n.f[t](e,r),r)),[])),n.u=e=>e+".js",n.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),n.o=(e,r)=>Object.prototype.hasOwnProperty.call(e,r),(()=>{var e;n.g.importScripts&&(e=n.g.location+"");var r=n.g.document;if(!e&&r&&(r.currentScript&&(e=r.currentScript.src),!e)){var t=r.getElementsByTagName("script");if(t.length)for(var o=t.length-1;o>-1&&!e;)e=t[o--].src}if(!e)throw new Error("Automatic publicPath is not supported in this browser");e=e.replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/"),n.p=e})(),(()=>{var e={381:1};n.f.i=(r,t)=>{e[r]||importScripts(n.p+n.u(r))};var r=self.webpackChunkpeptides=self.webpackChunkpeptides||[],t=r.push.bind(r);r.push=r=>{var[o,s,a]=r;for(var i in s)n.o(s,i)&&(n.m[i]=s[i]);for(a&&a(n);o.length;)e[o.pop()]=1;t(r)}})(),r=n.x,n.x=()=>Promise.all([932,831,361].map(n.e,n)).then(r);var s=n.x();peptides=s})();
2
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,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QyxJQUFJLENBQUMsSUFBSSxJQUFJLEtBQUtpQyxJQUFJbEUsRUFBb0JILEVBQUdHLElBQXNCbUUsS0FBSzNHLEdVRHhGLElBQUlpRCxFQUFzQlQsRUFBb0JRLEkiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9wZXB0aWRlcy93ZWJwYWNrL3J1bnRpbWUvY2h1bmsgbG9hZGVkIiwid2VicGFjazovL3BlcHRpZGVzL3dlYnBhY2svcnVudGltZS9zdGFydHVwIGNodW5rIGRlcGVuZGVuY2llcyIsIndlYnBhY2s6Ly9wZXB0aWRlcy8uL25vZGVfbW9kdWxlcy9AZGF0YWdyb2stbGlicmFyaWVzL21sL3NyYy9kaXN0YW5jZS1tYXRyaXgvc3BhcnNlLW1hdHJpeC13b3JrZXIuanMiLCJ3ZWJwYWNrOi8vcGVwdGlkZXMvd2VicGFjay9ib290c3RyYXAiLCJ3ZWJwYWNrOi8vcGVwdGlkZXMvd2VicGFjay9ydW50aW1lL2RlZmluZSBwcm9wZXJ0eSBnZXR0ZXJzIiwid2VicGFjazovL3BlcHRpZGVzL3dlYnBhY2svcnVudGltZS9lbnN1cmUgY2h1bmsiLCJ3ZWJwYWNrOi8vcGVwdGlkZXMvd2VicGFjay9ydW50aW1lL2dldCBqYXZhc2NyaXB0IGNodW5rIGZpbGVuYW1lIiwid2VicGFjazovL3BlcHRpZGVzL3dlYnBhY2svcnVudGltZS9nbG9iYWwiLCJ3ZWJwYWNrOi8vcGVwdGlkZXMvd2VicGFjay9ydW50aW1lL2hhc093blByb3BlcnR5IHNob3J0aGFuZCIsIndlYnBhY2s6Ly9wZXB0aWRlcy93ZWJwYWNrL3J1bnRpbWUvcHVibGljUGF0aCIsIndlYnBhY2s6Ly9wZXB0aWRlcy93ZWJwYWNrL3J1bnRpbWUvaW1wb3J0U2NyaXB0cyBjaHVuayBsb2FkaW5nIiwid2VicGFjazovL3BlcHRpZGVzL3dlYnBhY2svc3RhcnR1cCJdLCJzb3VyY2VzQ29udGVudCI6WyJ2YXIgZGVmZXJyZWQgPSBbXTtcbl9fd2VicGFja19yZXF1aXJlX18uTyA9IChyZXN1bHQsIGNodW5rSWRzLCBmbiwgcHJpb3JpdHkpID0+IHtcblx0aWYoY2h1bmtJZHMpIHtcblx0XHRwcmlvcml0eSA9IHByaW9yaXR5IHx8IDA7XG5cdFx0Zm9yKHZhciBpID0gZGVmZXJyZWQubGVuZ3RoOyBpID4gMCAmJiBkZWZlcnJlZFtpIC0gMV1bMl0gPiBwcmlvcml0eTsgaS0tKSBkZWZlcnJlZFtpXSA9IGRlZmVycmVkW2kgLSAxXTtcblx0XHRkZWZlcnJlZFtpXSA9IFtjaHVua0lkcywgZm4sIHByaW9yaXR5XTtcblx0XHRyZXR1cm47XG5cdH1cblx0dmFyIG5vdEZ1bGZpbGxlZCA9IEluZmluaXR5O1xuXHRmb3IgKHZhciBpID0gMDsgaSA8IGRlZmVycmVkLmxlbmd0aDsgaSsrKSB7XG5cdFx0dmFyIFtjaHVua0lkcywgZm4sIHByaW9yaXR5XSA9IGRlZmVycmVkW2ldO1xuXHRcdHZhciBmdWxmaWxsZWQgPSB0cnVlO1xuXHRcdGZvciAodmFyIGogPSAwOyBqIDwgY2h1bmtJZHMubGVuZ3RoOyBqKyspIHtcblx0XHRcdGlmICgocHJpb3JpdHkgJiAxID09PSAwIHx8IG5vdEZ1bGZpbGxlZCA+PSBwcmlvcml0eSkgJiYgT2JqZWN0LmtleXMoX193ZWJwYWNrX3JlcXVpcmVfXy5PKS5ldmVyeSgoa2V5KSA9PiAoX193ZWJwYWNrX3JlcXVpcmVfXy5PW2tleV0oY2h1bmtJZHNbal0pKSkpIHtcblx0XHRcdFx0Y2h1bmtJZHMuc3BsaWNlKGotLSwgMSk7XG5cdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHRmdWxmaWxsZWQgPSBmYWxzZTtcblx0XHRcdFx0aWYocHJpb3JpdHkgPCBub3RGdWxmaWxsZWQpIG5vdEZ1bGZpbGxlZCA9IHByaW9yaXR5O1xuXHRcdFx0fVxuXHRcdH1cblx0XHRpZihmdWxmaWxsZWQpIHtcblx0XHRcdGRlZmVycmVkLnNwbGljZShpLS0sIDEpXG5cdFx0XHR2YXIgciA9IGZuKCk7XG5cdFx0XHRpZiAociAhPT0gdW5kZWZpbmVkKSByZXN1bHQgPSByO1xuXHRcdH1cblx0fVxuXHRyZXR1cm4gcmVzdWx0O1xufTsiLCJ2YXIgbmV4dCA9IF9fd2VicGFja19yZXF1aXJlX18ueDtcbl9fd2VicGFja19yZXF1aXJlX18ueCA9ICgpID0+IHtcblx0cmV0dXJuIFByb21pc2UuYWxsKFs5MzIsODMxLDM2MV0ubWFwKF9fd2VicGFja19yZXF1aXJlX18uZSwgX193ZWJwYWNrX3JlcXVpcmVfXykpLnRoZW4obmV4dCk7XG59OyIsImltcG9ydCB7IGlzTmlsIH0gZnJvbSAnLi91dGlscyc7XG5pbXBvcnQgeyBNZWFzdXJlLCBpc0JpdEFycmF5TWV0cmljIH0gZnJvbSAnLi4vdHlwZWQtbWV0cmljcyc7XG5pbXBvcnQgQml0QXJyYXkgZnJvbSAnQGRhdGFncm9rLWxpYnJhcmllcy91dGlscy9zcmMvYml0LWFycmF5Jztcbm9ubWVzc2FnZSA9IGFzeW5jIChldmVudCkgPT4ge1xuICAgIGNvbnN0IHsgdmFsdWVzLCBzdGFydElkeCwgZW5kSWR4LCB0aHJlc2hvbGQsIGZuTmFtZSwgb3B0cyB9ID0gZXZlbnQuZGF0YTtcbiAgICB0cnkge1xuICAgICAgICAvLyBpZiAoc3RhcnRJZHggIT0gLTEpXG4gICAgICAgIC8vICAgdGhyb3cgbmV3IEVycm9yKCdFcnJvciBpbiBzcGFyc2UgbWF0cml4IHdvcmtlcicpOyAvLyBUT0RPOiByZW1vdmUgdGhpcyBsaW5lXG4gICAgICAgIGNvbnN0IGkgPSBbXTtcbiAgICAgICAgY29uc3QgaiA9IFtdO1xuICAgICAgICBjb25zdCBkaXN0YW5jZXMgPSBbXTtcbiAgICAgICAgY29uc3QgY2h1bmtTaXplID0gZW5kSWR4IC0gc3RhcnRJZHg7XG4gICAgICAgIC8vY29uc3QgbWkgPSBzdGFydFJvdztcbiAgICAgICAgLy9jb25zdCBtaiA9IHN0YXJ0Q29sO1xuICAgICAgICBpZiAoaXNCaXRBcnJheU1ldHJpYyhmbk5hbWUpKSB7XG4gICAgICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IHZhbHVlcy5sZW5ndGg7ICsraSkge1xuICAgICAgICAgICAgICAgIGlmIChpc05pbCh2YWx1ZXNbaV0pKVxuICAgICAgICAgICAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgICAgICAgICB2YWx1ZXNbaV0gPSBuZXcgQml0QXJyYXkodmFsdWVzW2ldLl9kYXRhLCB2YWx1ZXNbaV0uX2xlbmd0aCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgbGV0IGNudCA9IDA7XG4gICAgICAgIGNvbnN0IGRpc3RhbmNlRm4gPSBuZXcgTWVhc3VyZShmbk5hbWUpLmdldE1lYXN1cmUob3B0cyk7XG4gICAgICAgIGNvbnN0IHN0YXJ0Um93ID0gdmFsdWVzLmxlbmd0aCAtIDIgLSBNYXRoLmZsb29yKE1hdGguc3FydCgtOCAqIHN0YXJ0SWR4ICsgNCAqIHZhbHVlcy5sZW5ndGggKiAodmFsdWVzLmxlbmd0aCAtIDEpIC0gNykgLyAyIC0gMC41KTtcbiAgICAgICAgY29uc3Qgc3RhcnRDb2wgPSBzdGFydElkeCAtIHZhbHVlcy5sZW5ndGggKiBzdGFydFJvdyArIE1hdGguZmxvb3IoKHN0YXJ0Um93ICsgMSkgKiAoc3RhcnRSb3cgKyAyKSAvIDIpO1xuICAgICAgICBsZXQgbWkgPSBzdGFydFJvdztcbiAgICAgICAgbGV0IG1qID0gc3RhcnRDb2w7XG4gICAgICAgIHdoaWxlIChjbnQgPCBjaHVua1NpemUpIHtcbiAgICAgICAgICAgIC8vY29uc3QgdmFsdWUgPSBzZXExTGlzdFttaV0gJiYgc2VxMUxpc3RbbWpdID8gaGFtbWluZyhzZXExTGlzdFttaV0sIHNlcTFMaXN0W21qXSkgOiAwO1xuICAgICAgICAgICAgY29uc3QgdmFsdWUgPSAhaXNOaWwodmFsdWVzW21pXSkgJiYgIWlzTmlsKHZhbHVlc1ttal0pID9cbiAgICAgICAgICAgICAgICBkaXN0YW5jZUZuKHZhbHVlc1ttaV0sIHZhbHVlc1ttal0pIDogMTtcbiAgICAgICAgICAgIGlmICgxIC0gdmFsdWUgPj0gdGhyZXNob2xkKSB7XG4gICAgICAgICAgICAgICAgaS5wdXNoKG1pKTtcbiAgICAgICAgICAgICAgICBqLnB1c2gobWopO1xuICAgICAgICAgICAgICAgIGRpc3RhbmNlcy5wdXNoKHZhbHVlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNudCsrO1xuICAgICAgICAgICAgbWorKztcbiAgICAgICAgICAgIGlmIChtaiA9PT0gdmFsdWVzLmxlbmd0aCkge1xuICAgICAgICAgICAgICAgIG1pKys7XG4gICAgICAgICAgICAgICAgbWogPSBtaSArIDE7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgaUFycmF5ID0gbmV3IEludDMyQXJyYXkoaSk7XG4gICAgICAgIGNvbnN0IGpBcnJheSA9IG5ldyBJbnQzMkFycmF5KGopO1xuICAgICAgICBjb25zdCBkaXN0YW5jZUFycmF5ID0gbmV3IEZsb2F0MzJBcnJheShkaXN0YW5jZXMpO1xuICAgICAgICBwb3N0TWVzc2FnZSh7IGk6IGlBcnJheSwgajogakFycmF5LCBkaXN0YW5jZTogZGlzdGFuY2VBcnJheSB9KTtcbiAgICB9XG4gICAgY2F0Y2ggKGUpIHtcbiAgICAgICAgcG9zdE1lc3NhZ2UoeyBlcnJvcjogZSB9KTtcbiAgICB9XG59O1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKbWFXeGxJam9pYzNCaGNuTmxMVzFoZEhKcGVDMTNiM0pyWlhJdWFuTWlMQ0p6YjNWeVkyVlNiMjkwSWpvaUlpd2ljMjkxY21ObGN5STZXeUp6Y0dGeWMyVXRiV0YwY21sNExYZHZjbXRsY2k1MGN5SmRMQ0p1WVcxbGN5STZXMTBzSW0xaGNIQnBibWR6SWpvaVFVRkJRU3hQUVVGUExFVkJRVU1zUzBGQlN5eEZRVUZETEUxQlFVMHNVMEZCVXl4RFFVRkRPMEZCUXpsQ0xFOUJRVThzUlVGQlpTeFBRVUZQTEVWQlFVVXNaMEpCUVdkQ0xFVkJRVU1zVFVGQlRTeHJRa0ZCYTBJc1EwRkJRenRCUVVONlJTeFBRVUZQTEZGQlFWRXNUVUZCVFN4NVEwRkJlVU1zUTBGQlF6dEJRVU12UkN4VFFVRlRMRWRCUVVjc1MwRkJTeXhGUVVGRkxFdEJRVXNzUlVGQlJTeEZRVUZGTzBsQlF6RkNMRTFCUVUwc1JVRkJReXhOUVVGTkxFVkJRVVVzVVVGQlVTeEZRVUZGTEUxQlFVMHNSVUZCUlN4VFFVRlRMRVZCUVVVc1RVRkJUU3hGUVVGRkxFbEJRVWtzUlVGQlF5eEhRVU5wUkN4TFFVRkxMRU5CUVVNc1NVRkJTU3hEUVVGRE8wbEJRM0pJTEVsQlFVazdVVUZEUml4elFrRkJjMEk3VVVGRGRFSXNaMFpCUVdkR08xRkJRMmhHTEUxQlFVMHNRMEZCUXl4SFFVRmhMRVZCUVVVc1EwRkJRenRSUVVOMlFpeE5RVUZOTEVOQlFVTXNSMEZCWVN4RlFVRkZMRU5CUVVNN1VVRkRka0lzVFVGQlRTeFRRVUZUTEVkQlFXRXNSVUZCUlN4RFFVRkRPMUZCUXk5Q0xFMUJRVTBzVTBGQlV5eEhRVUZITEUxQlFVMHNSMEZCUnl4UlFVRlJMRU5CUVVNN1VVRkRjRU1zYzBKQlFYTkNPMUZCUTNSQ0xITkNRVUZ6UWp0UlFVVjBRaXhKUVVGSkxHZENRVUZuUWl4RFFVRkRMRTFCUVUwc1EwRkJReXhGUVVGRk8xbEJRelZDTEV0QlFVc3NTVUZCU1N4RFFVRkRMRWRCUVVjc1EwRkJReXhGUVVGRkxFTkJRVU1zUjBGQlJ5eE5RVUZOTEVOQlFVTXNUVUZCVFN4RlFVRkZMRVZCUVVVc1EwRkJReXhGUVVGRk8yZENRVU4wUXl4SlFVRkpMRXRCUVVzc1EwRkJReXhOUVVGTkxFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTTdiMEpCUVVVc1UwRkJVenRuUWtGREwwSXNUVUZCVFN4RFFVRkRMRU5CUVVNc1EwRkJReXhIUVVGSExFbEJRVWtzVVVGQlVTeERRVUZETEUxQlFVMHNRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJReXhMUVVGTExFVkJRVVVzVFVGQlRTeERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRMRTlCUVU4c1EwRkJReXhEUVVGRE8yRkJRemxFTzFOQlEwWTdVVUZEUkN4SlFVRkpMRWRCUVVjc1IwRkJSeXhEUVVGRExFTkJRVU03VVVGRFdpeE5RVUZOTEZWQlFWVXNSMEZCUnl4SlFVRkpMRTlCUVU4c1EwRkJReXhOUVVGTkxFTkJRVU1zUTBGQlF5eFZRVUZWTEVOQlFVTXNTVUZCU1N4RFFVRkRMRU5CUVVNN1VVRkRlRVFzVFVGQlRTeFJRVUZSTEVkQlFVY3NUVUZCVFN4RFFVRkRMRTFCUVUwc1IwRkJSeXhEUVVGRExFZEJRVWNzU1VGQlNTeERRVUZETEV0QlFVc3NRMEZETjBNc1NVRkJTU3hEUVVGRExFbEJRVWtzUTBGQlF5eERRVUZETEVOQlFVTXNSMEZCUnl4UlFVRlJMRWRCUVVjc1EwRkJReXhIUVVGSExFMUJRVTBzUTBGQlF5eE5RVUZOTEVkQlFVY3NRMEZCUXl4TlFVRk5MRU5CUVVNc1RVRkJUU3hIUVVGSExFTkJRVU1zUTBGQlF5eEhRVUZITEVOQlFVTXNRMEZCUXl4SFFVRkhMRU5CUVVNc1IwRkJSeXhIUVVGSExFTkJRVU1zUTBGQlF6dFJRVU53Uml4TlFVRk5MRkZCUVZFc1IwRkJSeXhSUVVGUkxFZEJRVWNzVFVGQlRTeERRVUZETEUxQlFVMHNSMEZCUnl4UlFVRlJMRWRCUVVjc1NVRkJTU3hEUVVGRExFdEJRVXNzUTBGQlF5eERRVUZETEZGQlFWRXNSMEZCUnl4RFFVRkRMRU5CUVVNc1IwRkJSeXhEUVVGRExGRkJRVkVzUjBGQlJ5eERRVUZETEVOQlFVTXNSMEZCUnl4RFFVRkRMRU5CUVVNc1EwRkJRenRSUVVOMlJ5eEpRVUZKTEVWQlFVVXNSMEZCUnl4UlFVRlJMRU5CUVVNN1VVRkRiRUlzU1VGQlNTeEZRVUZGTEVkQlFVY3NVVUZCVVN4RFFVRkRPMUZCUTJ4Q0xFOUJRVThzUjBGQlJ5eEhRVUZITEZOQlFWTXNSVUZCUlR0WlFVTjBRaXgxUmtGQmRVWTdXVUZEZGtZc1RVRkJUU3hMUVVGTExFZEJRVWNzUTBGQlF5eExRVUZMTEVOQlFVTXNUVUZCVFN4RFFVRkRMRVZCUVVVc1EwRkJReXhEUVVGRExFbEJRVWtzUTBGQlF5eExRVUZMTEVOQlFVTXNUVUZCVFN4RFFVRkRMRVZCUVVVc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF6dG5Ra0ZEZEVRc1ZVRkJWU3hEUVVGRExFMUJRVTBzUTBGQlF5eEZRVUZGTEVOQlFVTXNSVUZCUlN4TlFVRk5MRU5CUVVNc1JVRkJSU3hEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRPMWxCUTNwRExFbEJRVWtzUTBGQlF5eEhRVUZITEV0QlFVc3NTVUZCU1N4VFFVRlRMRVZCUVVVN1owSkJRekZDTEVOQlFVTXNRMEZCUXl4SlFVRkpMRU5CUVVNc1JVRkJSU3hEUVVGRExFTkJRVU03WjBKQlExZ3NRMEZCUXl4RFFVRkRMRWxCUVVrc1EwRkJReXhGUVVGRkxFTkJRVU1zUTBGQlF6dG5Ra0ZEV0N4VFFVRlRMRU5CUVVNc1NVRkJTU3hEUVVGRExFdEJRVXNzUTBGQlF5eERRVUZETzJGQlEzWkNPMWxCUTBRc1IwRkJSeXhGUVVGRkxFTkJRVU03V1VGRFRpeEZRVUZGTEVWQlFVVXNRMEZCUXp0WlFVTk1MRWxCUVVrc1JVRkJSU3hMUVVGTExFMUJRVTBzUTBGQlF5eE5RVUZOTEVWQlFVVTdaMEpCUTNoQ0xFVkJRVVVzUlVGQlJTeERRVUZETzJkQ1FVTk1MRVZCUVVVc1IwRkJSeXhGUVVGRkxFZEJRVWNzUTBGQlF5eERRVUZETzJGQlEySTdVMEZEUmp0UlFVVkVMRTFCUVUwc1RVRkJUU3hIUVVGSExFbEJRVWtzVlVGQlZTeERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRPMUZCUTJwRExFMUJRVTBzVFVGQlRTeEhRVUZITEVsQlFVa3NWVUZCVlN4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRE8xRkJRMnBETEUxQlFVMHNZVUZCWVN4SFFVRkhMRWxCUVVrc1dVRkJXU3hEUVVGRExGTkJRVk1zUTBGQlF5eERRVUZETzFGQlEyeEVMRmRCUVZjc1EwRkJReXhGUVVGRExFTkJRVU1zUlVGQlJTeE5RVUZOTEVWQlFVVXNRMEZCUXl4RlFVRkZMRTFCUVUwc1JVRkJSU3hSUVVGUkxFVkJRVVVzWVVGQllTeEZRVUZETEVOQlFVTXNRMEZCUXp0TFFVTTVSRHRKUVVGRExFOUJRVThzUTBGQlF5eEZRVUZGTzFGQlExWXNWMEZCVnl4RFFVRkRMRVZCUVVNc1MwRkJTeXhGUVVGRkxFTkJRVU1zUlVGQlF5eERRVUZETEVOQlFVTTdTMEZEZWtJN1FVRkRTQ3hEUVVGRExFTkJRVU1pTENKemIzVnlZMlZ6UTI5dWRHVnVkQ0k2V3lKcGJYQnZjblFnZTJselRtbHNmU0JtY205dElDY3VMM1YwYVd4ekp6dGNibWx0Y0c5eWRDQjdTMjV2ZDI1TlpYUnlhV056TENCTlpXRnpkWEpsTENCcGMwSnBkRUZ5Y21GNVRXVjBjbWxqZlNCbWNtOXRJQ2N1TGk5MGVYQmxaQzF0WlhSeWFXTnpKenRjYm1sdGNHOXlkQ0JDYVhSQmNuSmhlU0JtY205dElDZEFaR0YwWVdkeWIyc3RiR2xpY21GeWFXVnpMM1YwYVd4ekwzTnlZeTlpYVhRdFlYSnlZWGtuTzF4dWIyNXRaWE56WVdkbElEMGdZWE41Ym1NZ0tHVjJaVzUwS1NBOVBpQjdYRzRnSUdOdmJuTjBJSHQyWVd4MVpYTXNJSE4wWVhKMFNXUjRMQ0JsYm1SSlpIZ3NJSFJvY21WemFHOXNaQ3dnWm01T1lXMWxMQ0J2Y0hSemZUcGNiaUFnSUNCN2RtRnNkV1Z6T2lCaGJubGJYU3dnYzNSaGNuUkpaSGc2SUc1MWJXSmxjaXdnWlc1a1NXUjRPaUJ1ZFcxaVpYSXNJSFJvY21WemFHOXNaRG9nYm5WdFltVnlMQ0JtYms1aGJXVTZJRXR1YjNkdVRXVjBjbWxqY3l3Z2IzQjBjem9nWVc1NWZTQTlJR1YyWlc1MExtUmhkR0U3WEc0Z0lIUnllU0I3WEc0Z0lDQWdMeThnYVdZZ0tITjBZWEowU1dSNElDRTlJQzB4S1Z4dUlDQWdJQzh2SUNBZ2RHaHliM2NnYm1WM0lFVnljbTl5S0NkRmNuSnZjaUJwYmlCemNHRnljMlVnYldGMGNtbDRJSGR2Y210bGNpY3BPeUF2THlCVVQwUlBPaUJ5WlcxdmRtVWdkR2hwY3lCc2FXNWxYRzRnSUNBZ1kyOXVjM1FnYVRvZ2JuVnRZbVZ5VzEwZ1BTQmJYVHRjYmlBZ0lDQmpiMjV6ZENCcU9pQnVkVzFpWlhKYlhTQTlJRnRkTzF4dUlDQWdJR052Ym5OMElHUnBjM1JoYm1ObGN6b2diblZ0WW1WeVcxMGdQU0JiWFR0Y2JpQWdJQ0JqYjI1emRDQmphSFZ1YTFOcGVtVWdQU0JsYm1SSlpIZ2dMU0J6ZEdGeWRFbGtlRHRjYmlBZ0lDQXZMMk52Ym5OMElHMXBJRDBnYzNSaGNuUlNiM2M3WEc0Z0lDQWdMeTlqYjI1emRDQnRhaUE5SUhOMFlYSjBRMjlzTzF4dVhHNGdJQ0FnYVdZZ0tHbHpRbWwwUVhKeVlYbE5aWFJ5YVdNb1ptNU9ZVzFsS1NrZ2UxeHVJQ0FnSUNBZ1ptOXlJQ2hzWlhRZ2FTQTlJREE3SUdrZ1BDQjJZV3gxWlhNdWJHVnVaM1JvT3lBcksya3BJSHRjYmlBZ0lDQWdJQ0FnYVdZZ0tHbHpUbWxzS0haaGJIVmxjMXRwWFNrcElHTnZiblJwYm5WbE8xeHVJQ0FnSUNBZ0lDQjJZV3gxWlhOYmFWMGdQU0J1WlhjZ1FtbDBRWEp5WVhrb2RtRnNkV1Z6VzJsZExsOWtZWFJoTENCMllXeDFaWE5iYVYwdVgyeGxibWQwYUNrN1hHNGdJQ0FnSUNCOVhHNGdJQ0FnZlZ4dUlDQWdJR3hsZENCamJuUWdQU0F3TzF4dUlDQWdJR052Ym5OMElHUnBjM1JoYm1ObFJtNGdQU0J1WlhjZ1RXVmhjM1Z5WlNobWJrNWhiV1VwTG1kbGRFMWxZWE4xY21Vb2IzQjBjeWs3WEc0Z0lDQWdZMjl1YzNRZ2MzUmhjblJTYjNjZ1BTQjJZV3gxWlhNdWJHVnVaM1JvSUMwZ01pQXRJRTFoZEdndVpteHZiM0lvWEc0Z0lDQWdJQ0JOWVhSb0xuTnhjblFvTFRnZ0tpQnpkR0Z5ZEVsa2VDQXJJRFFnS2lCMllXeDFaWE11YkdWdVozUm9JQ29nS0haaGJIVmxjeTVzWlc1bmRHZ2dMU0F4S1NBdElEY3BJQzhnTWlBdElEQXVOU2s3WEc0Z0lDQWdZMjl1YzNRZ2MzUmhjblJEYjJ3Z1BTQnpkR0Z5ZEVsa2VDQXRJSFpoYkhWbGN5NXNaVzVuZEdnZ0tpQnpkR0Z5ZEZKdmR5QXJJRTFoZEdndVpteHZiM0lvS0hOMFlYSjBVbTkzSUNzZ01Ta2dLaUFvYzNSaGNuUlNiM2NnS3lBeUtTQXZJRElwTzF4dUlDQWdJR3hsZENCdGFTQTlJSE4wWVhKMFVtOTNPMXh1SUNBZ0lHeGxkQ0J0YWlBOUlITjBZWEowUTI5c08xeHVJQ0FnSUhkb2FXeGxJQ2hqYm5RZ1BDQmphSFZ1YTFOcGVtVXBJSHRjYmlBZ0lDQWdJQzh2WTI5dWMzUWdkbUZzZFdVZ1BTQnpaWEV4VEdsemRGdHRhVjBnSmlZZ2MyVnhNVXhwYzNSYmJXcGRJRDhnYUdGdGJXbHVaeWh6WlhFeFRHbHpkRnR0YVYwc0lITmxjVEZNYVhOMFcyMXFYU2tnT2lBd08xeHVJQ0FnSUNBZ1kyOXVjM1FnZG1Gc2RXVWdQU0FoYVhOT2FXd29kbUZzZFdWelcyMXBYU2tnSmlZZ0lXbHpUbWxzS0haaGJIVmxjMXR0YWwwcElEOWNiaUFnSUNBZ0lDQWdaR2x6ZEdGdVkyVkdiaWgyWVd4MVpYTmJiV2xkTENCMllXeDFaWE5iYldwZEtTQTZJREU3WEc0Z0lDQWdJQ0JwWmlBb01TQXRJSFpoYkhWbElENDlJSFJvY21WemFHOXNaQ2tnZTF4dUlDQWdJQ0FnSUNCcExuQjFjMmdvYldrcE8xeHVJQ0FnSUNBZ0lDQnFMbkIxYzJnb2JXb3BPMXh1SUNBZ0lDQWdJQ0JrYVhOMFlXNWpaWE11Y0hWemFDaDJZV3gxWlNrN1hHNGdJQ0FnSUNCOVhHNGdJQ0FnSUNCamJuUXJLenRjYmlBZ0lDQWdJRzFxS3lzN1hHNGdJQ0FnSUNCcFppQW9iV29nUFQwOUlIWmhiSFZsY3k1c1pXNW5kR2dwSUh0Y2JpQWdJQ0FnSUNBZ2JXa3JLenRjYmlBZ0lDQWdJQ0FnYldvZ1BTQnRhU0FySURFN1hHNGdJQ0FnSUNCOVhHNGdJQ0FnZlZ4dVhHNGdJQ0FnWTI5dWMzUWdhVUZ5Y21GNUlEMGdibVYzSUVsdWRETXlRWEp5WVhrb2FTazdYRzRnSUNBZ1kyOXVjM1FnYWtGeWNtRjVJRDBnYm1WM0lFbHVkRE15UVhKeVlYa29haWs3WEc0Z0lDQWdZMjl1YzNRZ1pHbHpkR0Z1WTJWQmNuSmhlU0E5SUc1bGR5QkdiRzloZERNeVFYSnlZWGtvWkdsemRHRnVZMlZ6S1R0Y2JpQWdJQ0J3YjNOMFRXVnpjMkZuWlNoN2FUb2dhVUZ5Y21GNUxDQnFPaUJxUVhKeVlYa3NJR1JwYzNSaGJtTmxPaUJrYVhOMFlXNWpaVUZ5Y21GNWZTazdYRzRnSUgwZ1kyRjBZMmdnS0dVcElIdGNiaUFnSUNCd2IzTjBUV1Z6YzJGblpTaDdaWEp5YjNJNklHVjlLVHRjYmlBZ2ZWeHVmVHNpWFgwPSIsIi8vIFRoZSBtb2R1bGUgY2FjaGVcbnZhciBfX3dlYnBhY2tfbW9kdWxlX2NhY2hlX18gPSB7fTtcblxuLy8gVGhlIHJlcXVpcmUgZnVuY3Rpb25cbmZ1bmN0aW9uIF9fd2VicGFja19yZXF1aXJlX18obW9kdWxlSWQpIHtcblx0Ly8gQ2hlY2sgaWYgbW9kdWxlIGlzIGluIGNhY2hlXG5cdHZhciBjYWNoZWRNb2R1bGUgPSBfX3dlYnBhY2tfbW9kdWxlX2NhY2hlX19bbW9kdWxlSWRdO1xuXHRpZiAoY2FjaGVkTW9kdWxlICE9PSB1bmRlZmluZWQpIHtcblx0XHRyZXR1cm4gY2FjaGVkTW9kdWxlLmV4cG9ydHM7XG5cdH1cblx0Ly8gQ3JlYXRlIGEgbmV3IG1vZHVsZSAoYW5kIHB1dCBpdCBpbnRvIHRoZSBjYWNoZSlcblx0dmFyIG1vZHVsZSA9IF9fd2VicGFja19tb2R1bGVfY2FjaGVfX1ttb2R1bGVJZF0gPSB7XG5cdFx0Ly8gbm8gbW9kdWxlLmlkIG5lZWRlZFxuXHRcdC8vIG5vIG1vZHVsZS5sb2FkZWQgbmVlZGVkXG5cdFx0ZXhwb3J0czoge31cblx0fTtcblxuXHQvLyBFeGVjdXRlIHRoZSBtb2R1bGUgZnVuY3Rpb25cblx0X193ZWJwYWNrX21vZHVsZXNfX1ttb2R1bGVJZF0obW9kdWxlLCBtb2R1bGUuZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXyk7XG5cblx0Ly8gUmV0dXJuIHRoZSBleHBvcnRzIG9mIHRoZSBtb2R1bGVcblx0cmV0dXJuIG1vZHVsZS5leHBvcnRzO1xufVxuXG4vLyBleHBvc2UgdGhlIG1vZHVsZXMgb2JqZWN0IChfX3dlYnBhY2tfbW9kdWxlc19fKVxuX193ZWJwYWNrX3JlcXVpcmVfXy5tID0gX193ZWJwYWNrX21vZHVsZXNfXztcblxuLy8gdGhlIHN0YXJ0dXAgZnVuY3Rpb25cbl9fd2VicGFja19yZXF1aXJlX18ueCA9ICgpID0+IHtcblx0Ly8gTG9hZCBlbnRyeSBtb2R1bGUgYW5kIHJldHVybiBleHBvcnRzXG5cdC8vIFRoaXMgZW50cnkgbW9kdWxlIGRlcGVuZHMgb24gb3RoZXIgbG9hZGVkIGNodW5rcyBhbmQgZXhlY3V0aW9uIG5lZWQgdG8gYmUgZGVsYXllZFxuXHR2YXIgX193ZWJwYWNrX2V4cG9ydHNfXyA9IF9fd2VicGFja19yZXF1aXJlX18uTyh1bmRlZmluZWQsIFs5MzIsODMxLDM2MV0sICgpID0+IChfX3dlYnBhY2tfcmVxdWlyZV9fKDIzODEpKSlcblx0X193ZWJwYWNrX2V4cG9ydHNfXyA9IF9fd2VicGFja19yZXF1aXJlX18uTyhfX3dlYnBhY2tfZXhwb3J0c19fKTtcblx0cmV0dXJuIF9fd2VicGFja19leHBvcnRzX187XG59O1xuXG4iLCIvLyBkZWZpbmUgZ2V0dGVyIGZ1bmN0aW9ucyBmb3IgaGFybW9ueSBleHBvcnRzXG5fX3dlYnBhY2tfcmVxdWlyZV9fLmQgPSAoZXhwb3J0cywgZGVmaW5pdGlvbikgPT4ge1xuXHRmb3IodmFyIGtleSBpbiBkZWZpbml0aW9uKSB7XG5cdFx0aWYoX193ZWJwYWNrX3JlcXVpcmVfXy5vKGRlZmluaXRpb24sIGtleSkgJiYgIV9fd2VicGFja19yZXF1aXJlX18ubyhleHBvcnRzLCBrZXkpKSB7XG5cdFx0XHRPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywga2V5LCB7IGVudW1lcmFibGU6IHRydWUsIGdldDogZGVmaW5pdGlvbltrZXldIH0pO1xuXHRcdH1cblx0fVxufTsiLCJfX3dlYnBhY2tfcmVxdWlyZV9fLmYgPSB7fTtcbi8vIFRoaXMgZmlsZSBjb250YWlucyBvbmx5IHRoZSBlbnRyeSBjaHVuay5cbi8vIFRoZSBjaHVuayBsb2FkaW5nIGZ1bmN0aW9uIGZvciBhZGRpdGlvbmFsIGNodW5rc1xuX193ZWJwYWNrX3JlcXVpcmVfXy5lID0gKGNodW5rSWQpID0+IHtcblx0cmV0dXJuIFByb21pc2UuYWxsKE9iamVjdC5rZXlzKF9fd2VicGFja19yZXF1aXJlX18uZikucmVkdWNlKChwcm9taXNlcywga2V5KSA9PiB7XG5cdFx0X193ZWJwYWNrX3JlcXVpcmVfXy5mW2tleV0oY2h1bmtJZCwgcHJvbWlzZXMpO1xuXHRcdHJldHVybiBwcm9taXNlcztcblx0fSwgW10pKTtcbn07IiwiLy8gVGhpcyBmdW5jdGlvbiBhbGxvdyB0byByZWZlcmVuY2UgYXN5bmMgY2h1bmtzIGFuZCBzaWJsaW5nIGNodW5rcyBmb3IgdGhlIGVudHJ5cG9pbnRcbl9fd2VicGFja19yZXF1aXJlX18udSA9IChjaHVua0lkKSA9PiB7XG5cdC8vIHJldHVybiB1cmwgZm9yIGZpbGVuYW1lcyBiYXNlZCBvbiB0ZW1wbGF0ZVxuXHRyZXR1cm4gXCJcIiArIGNodW5rSWQgKyBcIi5qc1wiO1xufTsiLCJfX3dlYnBhY2tfcmVxdWlyZV9fLmcgPSAoZnVuY3Rpb24oKSB7XG5cdGlmICh0eXBlb2YgZ2xvYmFsVGhpcyA9PT0gJ29iamVjdCcpIHJldHVybiBnbG9iYWxUaGlzO1xuXHR0cnkge1xuXHRcdHJldHVybiB0aGlzIHx8IG5ldyBGdW5jdGlvbigncmV0dXJuIHRoaXMnKSgpO1xuXHR9IGNhdGNoIChlKSB7XG5cdFx0aWYgKHR5cGVvZiB3aW5kb3cgPT09ICdvYmplY3QnKSByZXR1cm4gd2luZG93O1xuXHR9XG59KSgpOyIsIl9fd2VicGFja19yZXF1aXJlX18ubyA9IChvYmosIHByb3ApID0+IChPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwob2JqLCBwcm9wKSkiLCJ2YXIgc2NyaXB0VXJsO1xuaWYgKF9fd2VicGFja19yZXF1aXJlX18uZy5pbXBvcnRTY3JpcHRzKSBzY3JpcHRVcmwgPSBfX3dlYnBhY2tfcmVxdWlyZV9fLmcubG9jYXRpb24gKyBcIlwiO1xudmFyIGRvY3VtZW50ID0gX193ZWJwYWNrX3JlcXVpcmVfXy5nLmRvY3VtZW50O1xuaWYgKCFzY3JpcHRVcmwgJiYgZG9jdW1lbnQpIHtcblx0aWYgKGRvY3VtZW50LmN1cnJlbnRTY3JpcHQpXG5cdFx0c2NyaXB0VXJsID0gZG9jdW1lbnQuY3VycmVudFNjcmlwdC5zcmM7XG5cdGlmICghc2NyaXB0VXJsKSB7XG5cdFx0dmFyIHNjcmlwdHMgPSBkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZShcInNjcmlwdFwiKTtcblx0XHRpZihzY3JpcHRzLmxlbmd0aCkge1xuXHRcdFx0dmFyIGkgPSBzY3JpcHRzLmxlbmd0aCAtIDE7XG5cdFx0XHR3aGlsZSAoaSA+IC0xICYmICFzY3JpcHRVcmwpIHNjcmlwdFVybCA9IHNjcmlwdHNbaS0tXS5zcmM7XG5cdFx0fVxuXHR9XG59XG4vLyBXaGVuIHN1cHBvcnRpbmcgYnJvd3NlcnMgd2hlcmUgYW4gYXV0b21hdGljIHB1YmxpY1BhdGggaXMgbm90IHN1cHBvcnRlZCB5b3UgbXVzdCBzcGVjaWZ5IGFuIG91dHB1dC5wdWJsaWNQYXRoIG1hbnVhbGx5IHZpYSBjb25maWd1cmF0aW9uXG4vLyBvciBwYXNzIGFuIGVtcHR5IHN0cmluZyAoXCJcIikgYW5kIHNldCB0aGUgX193ZWJwYWNrX3B1YmxpY19wYXRoX18gdmFyaWFibGUgZnJvbSB5b3VyIGNvZGUgdG8gdXNlIHlvdXIgb3duIGxvZ2ljLlxuaWYgKCFzY3JpcHRVcmwpIHRocm93IG5ldyBFcnJvcihcIkF1dG9tYXRpYyBwdWJsaWNQYXRoIGlzIG5vdCBzdXBwb3J0ZWQgaW4gdGhpcyBicm93c2VyXCIpO1xuc2NyaXB0VXJsID0gc2NyaXB0VXJsLnJlcGxhY2UoLyMuKiQvLCBcIlwiKS5yZXBsYWNlKC9cXD8uKiQvLCBcIlwiKS5yZXBsYWNlKC9cXC9bXlxcL10rJC8sIFwiL1wiKTtcbl9fd2VicGFja19yZXF1aXJlX18ucCA9IHNjcmlwdFVybDsiLCIvLyBubyBiYXNlVVJJXG5cbi8vIG9iamVjdCB0byBzdG9yZSBsb2FkZWQgY2h1bmtzXG4vLyBcIjFcIiBtZWFucyBcImFscmVhZHkgbG9hZGVkXCJcbnZhciBpbnN0YWxsZWRDaHVua3MgPSB7XG5cdDM4MTogMVxufTtcblxuLy8gaW1wb3J0U2NyaXB0cyBjaHVuayBsb2FkaW5nXG52YXIgaW5zdGFsbENodW5rID0gKGRhdGEpID0+IHtcblx0dmFyIFtjaHVua0lkcywgbW9yZU1vZHVsZXMsIHJ1bnRpbWVdID0gZGF0YTtcblx0Zm9yKHZhciBtb2R1bGVJZCBpbiBtb3JlTW9kdWxlcykge1xuXHRcdGlmKF9fd2VicGFja19yZXF1aXJlX18ubyhtb3JlTW9kdWxlcywgbW9kdWxlSWQpKSB7XG5cdFx0XHRfX3dlYnBhY2tfcmVxdWlyZV9fLm1bbW9kdWxlSWRdID0gbW9yZU1vZHVsZXNbbW9kdWxlSWRdO1xuXHRcdH1cblx0fVxuXHRpZihydW50aW1lKSBydW50aW1lKF9fd2VicGFja19yZXF1aXJlX18pO1xuXHR3aGlsZShjaHVua0lkcy5sZW5ndGgpXG5cdFx0aW5zdGFsbGVkQ2h1bmtzW2NodW5rSWRzLnBvcCgpXSA9IDE7XG5cdHBhcmVudENodW5rTG9hZGluZ0Z1bmN0aW9uKGRhdGEpO1xufTtcbl9fd2VicGFja19yZXF1aXJlX18uZi5pID0gKGNodW5rSWQsIHByb21pc2VzKSA9PiB7XG5cdC8vIFwiMVwiIGlzIHRoZSBzaWduYWwgZm9yIFwiYWxyZWFkeSBsb2FkZWRcIlxuXHRpZighaW5zdGFsbGVkQ2h1bmtzW2NodW5rSWRdKSB7XG5cdFx0aWYodHJ1ZSkgeyAvLyBhbGwgY2h1bmtzIGhhdmUgSlNcblx0XHRcdGltcG9ydFNjcmlwdHMoX193ZWJwYWNrX3JlcXVpcmVfXy5wICsgX193ZWJwYWNrX3JlcXVpcmVfXy51KGNodW5rSWQpKTtcblx0XHR9XG5cdH1cbn07XG5cbnZhciBjaHVua0xvYWRpbmdHbG9iYWwgPSBzZWxmW1wid2VicGFja0NodW5rcGVwdGlkZXNcIl0gPSBzZWxmW1wid2VicGFja0NodW5rcGVwdGlkZXNcIl0gfHwgW107XG52YXIgcGFyZW50Q2h1bmtMb2FkaW5nRnVuY3Rpb24gPSBjaHVua0xvYWRpbmdHbG9iYWwucHVzaC5iaW5kKGNodW5rTG9hZGluZ0dsb2JhbCk7XG5jaHVua0xvYWRpbmdHbG9iYWwucHVzaCA9IGluc3RhbGxDaHVuaztcblxuLy8gbm8gSE1SXG5cbi8vIG5vIEhNUiBtYW5pZmVzdCIsIi8vIHJ1biBzdGFydHVwXG52YXIgX193ZWJwYWNrX2V4cG9ydHNfXyA9IF9fd2VicGFja19yZXF1aXJlX18ueCgpO1xuIl0sIm5hbWVzIjpbImRlZmVycmVkIiwibmV4dCIsIm9ubWVzc2FnZSIsImFzeW5jIiwiZXZlbnQiLCJ2YWx1ZXMiLCJzdGFydElkeCIsImVuZElkeCIsInRocmVzaG9sZCIsImZuTmFtZSIsIm9wdHMiLCJkYXRhIiwiaSIsImoiLCJkaXN0YW5jZXMiLCJjaHVua1NpemUiLCJsZW5ndGgiLCJfZGF0YSIsIl9sZW5ndGgiLCJjbnQiLCJkaXN0YW5jZUZuIiwiZ2V0TWVhc3VyZSIsInN0YXJ0Um93IiwiTWF0aCIsImZsb29yIiwic3FydCIsInN0YXJ0Q29sIiwibWkiLCJtaiIsInZhbHVlIiwicHVzaCIsImlBcnJheSIsIkludDMyQXJyYXkiLCJqQXJyYXkiLCJkaXN0YW5jZUFycmF5IiwiRmxvYXQzMkFycmF5IiwicG9zdE1lc3NhZ2UiLCJkaXN0YW5jZSIsImUiLCJlcnJvciIsIl9fd2VicGFja19tb2R1bGVfY2FjaGVfXyIsIl9fd2VicGFja19yZXF1aXJlX18iLCJtb2R1bGVJZCIsImNhY2hlZE1vZHVsZSIsInVuZGVmaW5lZCIsImV4cG9ydHMiLCJtb2R1bGUiLCJfX3dlYnBhY2tfbW9kdWxlc19fIiwibSIsIngiLCJfX3dlYnBhY2tfZXhwb3J0c19fIiwiTyIsInJlc3VsdCIsImNodW5rSWRzIiwiZm4iLCJwcmlvcml0eSIsIm5vdEZ1bGZpbGxlZCIsIkluZmluaXR5IiwiZnVsZmlsbGVkIiwiT2JqZWN0Iiwia2V5cyIsImV2ZXJ5Iiwia2V5Iiwic3BsaWNlIiwiciIsImQiLCJkZWZpbml0aW9uIiwibyIsImRlZmluZVByb3BlcnR5IiwiZW51bWVyYWJsZSIsImdldCIsImYiLCJjaHVua0lkIiwiUHJvbWlzZSIsImFsbCIsInJlZHVjZSIsInByb21pc2VzIiwidSIsImciLCJnbG9iYWxUaGlzIiwidGhpcyIsIkZ1bmN0aW9uIiwid2luZG93Iiwib2JqIiwicHJvcCIsInByb3RvdHlwZSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsInNjcmlwdFVybCIsImltcG9ydFNjcmlwdHMiLCJsb2NhdGlvbiIsImRvY3VtZW50IiwiY3VycmVudFNjcmlwdCIsInNyYyIsInNjcmlwdHMiLCJnZXRFbGVtZW50c0J5VGFnTmFtZSIsIkVycm9yIiwicmVwbGFjZSIsInAiLCJpbnN0YWxsZWRDaHVua3MiLCJjaHVua0xvYWRpbmdHbG9iYWwiLCJzZWxmIiwicGFyZW50Q2h1bmtMb2FkaW5nRnVuY3Rpb24iLCJiaW5kIiwibW9yZU1vZHVsZXMiLCJydW50aW1lIiwicG9wIiwibWFwIiwidGhlbiJdLCJzb3VyY2VSb290IjoiIn0=
package/dist/770.js DELETED
@@ -1,2 +0,0 @@
1
- var peptides;(()=>{"use strict";var e,t,r={5770:(e,t,r)=>{var o=r(6814),n=r(6361),a=r(9657);onmessage=async e=>{const{values:t,startIdx:r,endIdx:s,sampleLength:i,fnName:l,opts:p}=e.data;try{let e=new Float32Array(i);const c=s-r;if((0,n.sQ)(l))for(let e=0;e<t.length;++e)(0,o.k)(t[e])||(t[e]=new a.Z(t[e]._data,t[e]._length));let f=0;const h=Math.floor(c/i),g=new n.UH(l).getMeasure(p),u=t.length-2-Math.floor(Math.sqrt(-8*r+4*t.length*(t.length-1)-7)/2-.5),v=r-t.length*u+Math.floor((u+1)*(u+2)/2);let d=u,m=v,b=0;for(;f<c&&b<i;){const r=(0,o.k)(t[d])||(0,o.k)(t[m])?1:g(t[d],t[m]);for(e[b]=r,b++,f+=h,m+=h;m>=t.length&&f<c;)d++,m=d+1+(m-t.length)}b<i&&(e=e.slice(0,b)),postMessage({distance:e})}catch(e){postMessage({error:e})}}}},o={};function n(e){var t=o[e];if(void 0!==t)return t.exports;var a=o[e]={exports:{}};return r[e](a,a.exports,n),a.exports}n.m=r,n.x=()=>{var e=n.O(void 0,[932,831,361],(()=>n(5770)));return n.O(e)},e=[],n.O=(t,r,o,a)=>{if(!r){var s=1/0;for(c=0;c<e.length;c++){for(var[r,o,a]=e[c],i=!0,l=0;l<r.length;l++)(!1&a||s>=a)&&Object.keys(n.O).every((e=>n.O[e](r[l])))?r.splice(l--,1):(i=!1,a<s&&(s=a));if(i){e.splice(c--,1);var p=o();void 0!==p&&(t=p)}}return t}a=a||0;for(var c=e.length;c>0&&e[c-1][2]>a;c--)e[c]=e[c-1];e[c]=[r,o,a]},n.d=(e,t)=>{for(var r in t)n.o(t,r)&&!n.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},n.f={},n.e=e=>Promise.all(Object.keys(n.f).reduce(((t,r)=>(n.f[r](e,t),t)),[])),n.u=e=>e+".js",n.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),n.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),(()=>{var e;n.g.importScripts&&(e=n.g.location+"");var t=n.g.document;if(!e&&t&&(t.currentScript&&(e=t.currentScript.src),!e)){var r=t.getElementsByTagName("script");if(r.length)for(var o=r.length-1;o>-1&&!e;)e=r[o--].src}if(!e)throw new Error("Automatic publicPath is not supported in this browser");e=e.replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/"),n.p=e})(),(()=>{var e={770:1};n.f.i=(t,r)=>{e[t]||importScripts(n.p+n.u(t))};var t=self.webpackChunkpeptides=self.webpackChunkpeptides||[],r=t.push.bind(t);t.push=t=>{var[o,a,s]=t;for(var i in a)n.o(a,i)&&(n.m[i]=a[i]);for(s&&s(n);o.length;)e[o.pop()]=1;r(t)}})(),t=n.x,n.x=()=>Promise.all([932,831,361].map(n.e,n)).then(t);var a=n.x();peptides=a})();
2
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,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SSxJQUFJLEtBQUtrQyxJQUFJcEUsRUFBb0JILEVBQUdHLElBQXNCcUUsS0FBSzFHLEdVRHhGLElBQUk4QyxFQUFzQlQsRUFBb0JRLEkiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9wZXB0aWRlcy93ZWJwYWNrL3J1bnRpbWUvY2h1bmsgbG9hZGVkIiwid2VicGFjazovL3BlcHRpZGVzL3dlYnBhY2svcnVudGltZS9zdGFydHVwIGNodW5rIGRlcGVuZGVuY2llcyIsIndlYnBhY2s6Ly9wZXB0aWRlcy8uL25vZGVfbW9kdWxlcy9AZGF0YWdyb2stbGlicmFyaWVzL21sL3NyYy9kaXN0YW5jZS1tYXRyaXgvc3BhcnNlLW1hdHJpeC10aHJlc2hvbGQtd29ya2VyLmpzIiwid2VicGFjazovL3BlcHRpZGVzL3dlYnBhY2svYm9vdHN0cmFwIiwid2VicGFjazovL3BlcHRpZGVzL3dlYnBhY2svcnVudGltZS9kZWZpbmUgcHJvcGVydHkgZ2V0dGVycyIsIndlYnBhY2s6Ly9wZXB0aWRlcy93ZWJwYWNrL3J1bnRpbWUvZW5zdXJlIGNodW5rIiwid2VicGFjazovL3BlcHRpZGVzL3dlYnBhY2svcnVudGltZS9nZXQgamF2YXNjcmlwdCBjaHVuayBmaWxlbmFtZSIsIndlYnBhY2s6Ly9wZXB0aWRlcy93ZWJwYWNrL3J1bnRpbWUvZ2xvYmFsIiwid2VicGFjazovL3BlcHRpZGVzL3dlYnBhY2svcnVudGltZS9oYXNPd25Qcm9wZXJ0eSBzaG9ydGhhbmQiLCJ3ZWJwYWNrOi8vcGVwdGlkZXMvd2VicGFjay9ydW50aW1lL3B1YmxpY1BhdGgiLCJ3ZWJwYWNrOi8vcGVwdGlkZXMvd2VicGFjay9ydW50aW1lL2ltcG9ydFNjcmlwdHMgY2h1bmsgbG9hZGluZyIsIndlYnBhY2s6Ly9wZXB0aWRlcy93ZWJwYWNrL3N0YXJ0dXAiXSwic291cmNlc0NvbnRlbnQiOlsidmFyIGRlZmVycmVkID0gW107XG5fX3dlYnBhY2tfcmVxdWlyZV9fLk8gPSAocmVzdWx0LCBjaHVua0lkcywgZm4sIHByaW9yaXR5KSA9PiB7XG5cdGlmKGNodW5rSWRzKSB7XG5cdFx0cHJpb3JpdHkgPSBwcmlvcml0eSB8fCAwO1xuXHRcdGZvcih2YXIgaSA9IGRlZmVycmVkLmxlbmd0aDsgaSA+IDAgJiYgZGVmZXJyZWRbaSAtIDFdWzJdID4gcHJpb3JpdHk7IGktLSkgZGVmZXJyZWRbaV0gPSBkZWZlcnJlZFtpIC0gMV07XG5cdFx0ZGVmZXJyZWRbaV0gPSBbY2h1bmtJZHMsIGZuLCBwcmlvcml0eV07XG5cdFx0cmV0dXJuO1xuXHR9XG5cdHZhciBub3RGdWxmaWxsZWQgPSBJbmZpbml0eTtcblx0Zm9yICh2YXIgaSA9IDA7IGkgPCBkZWZlcnJlZC5sZW5ndGg7IGkrKykge1xuXHRcdHZhciBbY2h1bmtJZHMsIGZuLCBwcmlvcml0eV0gPSBkZWZlcnJlZFtpXTtcblx0XHR2YXIgZnVsZmlsbGVkID0gdHJ1ZTtcblx0XHRmb3IgKHZhciBqID0gMDsgaiA8IGNodW5rSWRzLmxlbmd0aDsgaisrKSB7XG5cdFx0XHRpZiAoKHByaW9yaXR5ICYgMSA9PT0gMCB8fCBub3RGdWxmaWxsZWQgPj0gcHJpb3JpdHkpICYmIE9iamVjdC5rZXlzKF9fd2VicGFja19yZXF1aXJlX18uTykuZXZlcnkoKGtleSkgPT4gKF9fd2VicGFja19yZXF1aXJlX18uT1trZXldKGNodW5rSWRzW2pdKSkpKSB7XG5cdFx0XHRcdGNodW5rSWRzLnNwbGljZShqLS0sIDEpO1xuXHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0ZnVsZmlsbGVkID0gZmFsc2U7XG5cdFx0XHRcdGlmKHByaW9yaXR5IDwgbm90RnVsZmlsbGVkKSBub3RGdWxmaWxsZWQgPSBwcmlvcml0eTtcblx0XHRcdH1cblx0XHR9XG5cdFx0aWYoZnVsZmlsbGVkKSB7XG5cdFx0XHRkZWZlcnJlZC5zcGxpY2UoaS0tLCAxKVxuXHRcdFx0dmFyIHIgPSBmbigpO1xuXHRcdFx0aWYgKHIgIT09IHVuZGVmaW5lZCkgcmVzdWx0ID0gcjtcblx0XHR9XG5cdH1cblx0cmV0dXJuIHJlc3VsdDtcbn07IiwidmFyIG5leHQgPSBfX3dlYnBhY2tfcmVxdWlyZV9fLng7XG5fX3dlYnBhY2tfcmVxdWlyZV9fLnggPSAoKSA9PiB7XG5cdHJldHVybiBQcm9taXNlLmFsbChbOTMyLDgzMSwzNjFdLm1hcChfX3dlYnBhY2tfcmVxdWlyZV9fLmUsIF9fd2VicGFja19yZXF1aXJlX18pKS50aGVuKG5leHQpO1xufTsiLCJpbXBvcnQgeyBpc05pbCB9IGZyb20gJy4vdXRpbHMnO1xuaW1wb3J0IHsgTWVhc3VyZSwgaXNCaXRBcnJheU1ldHJpYyB9IGZyb20gJy4uL3R5cGVkLW1ldHJpY3MnO1xuaW1wb3J0IEJpdEFycmF5IGZyb20gJ0BkYXRhZ3Jvay1saWJyYXJpZXMvdXRpbHMvc3JjL2JpdC1hcnJheSc7XG5vbm1lc3NhZ2UgPSBhc3luYyAoZXZlbnQpID0+IHtcbiAgICBjb25zdCB7IHZhbHVlcywgc3RhcnRJZHgsIGVuZElkeCwgc2FtcGxlTGVuZ3RoLCBmbk5hbWUsIG9wdHMgfSA9IGV2ZW50LmRhdGE7XG4gICAgdHJ5IHtcbiAgICAgICAgLy8gaWYgKHN0YXJ0SWR4ICE9IC0xKVxuICAgICAgICAvLyAgIHRocm93IG5ldyBFcnJvcignRXJyb3IgaW4gc3BhcnNlIHRocmVzaG9sZCB3b3JrZXInKTsgLy8gVE9ETzogcmVtb3ZlIHRoaXMgbGluZVxuICAgICAgICBsZXQgZGlzdGFuY2VzID0gbmV3IEZsb2F0MzJBcnJheShzYW1wbGVMZW5ndGgpO1xuICAgICAgICBjb25zdCBjaHVua1NpemUgPSBlbmRJZHggLSBzdGFydElkeDtcbiAgICAgICAgaWYgKGlzQml0QXJyYXlNZXRyaWMoZm5OYW1lKSkge1xuICAgICAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCB2YWx1ZXMubGVuZ3RoOyArK2kpIHtcbiAgICAgICAgICAgICAgICBpZiAoaXNOaWwodmFsdWVzW2ldKSlcbiAgICAgICAgICAgICAgICAgICAgY29udGludWU7XG4gICAgICAgICAgICAgICAgdmFsdWVzW2ldID0gbmV3IEJpdEFycmF5KHZhbHVlc1tpXS5fZGF0YSwgdmFsdWVzW2ldLl9sZW5ndGgpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGxldCBjbnQgPSAwO1xuICAgICAgICBjb25zdCBpbmNyZW1lbnQgPSBNYXRoLmZsb29yKGNodW5rU2l6ZSAvIHNhbXBsZUxlbmd0aCk7XG4gICAgICAgIGNvbnN0IGRpc3RhbmNlRm4gPSBuZXcgTWVhc3VyZShmbk5hbWUpLmdldE1lYXN1cmUob3B0cyk7XG4gICAgICAgIGNvbnN0IHN0YXJ0Um93ID0gdmFsdWVzLmxlbmd0aCAtIDIgLSBNYXRoLmZsb29yKE1hdGguc3FydCgtOCAqIHN0YXJ0SWR4ICsgNCAqIHZhbHVlcy5sZW5ndGggKiAodmFsdWVzLmxlbmd0aCAtIDEpIC0gNykgLyAyIC0gMC41KTtcbiAgICAgICAgY29uc3Qgc3RhcnRDb2wgPSBzdGFydElkeCAtIHZhbHVlcy5sZW5ndGggKiBzdGFydFJvdyArIE1hdGguZmxvb3IoKHN0YXJ0Um93ICsgMSkgKiAoc3RhcnRSb3cgKyAyKSAvIDIpO1xuICAgICAgICBsZXQgbWkgPSBzdGFydFJvdztcbiAgICAgICAgbGV0IG1qID0gc3RhcnRDb2w7XG4gICAgICAgIGxldCBkaXN0YW5jZUFycmF5Q291bnRlciA9IDA7XG4gICAgICAgIHdoaWxlIChjbnQgPCBjaHVua1NpemUgJiYgZGlzdGFuY2VBcnJheUNvdW50ZXIgPCBzYW1wbGVMZW5ndGgpIHtcbiAgICAgICAgICAgIC8vY29uc3QgdmFsdWUgPSBzZXExTGlzdFttaV0gJiYgc2VxMUxpc3RbbWpdID8gaGFtbWluZyhzZXExTGlzdFttaV0sIHNlcTFMaXN0W21qXSkgOiAwO1xuICAgICAgICAgICAgY29uc3QgdmFsdWUgPSAhaXNOaWwodmFsdWVzW21pXSkgJiYgIWlzTmlsKHZhbHVlc1ttal0pID9cbiAgICAgICAgICAgICAgICBkaXN0YW5jZUZuKHZhbHVlc1ttaV0sIHZhbHVlc1ttal0pIDogMTtcbiAgICAgICAgICAgIGRpc3RhbmNlc1tkaXN0YW5jZUFycmF5Q291bnRlcl0gPSB2YWx1ZTtcbiAgICAgICAgICAgIGRpc3RhbmNlQXJyYXlDb3VudGVyKys7XG4gICAgICAgICAgICAvLyBjb25zdCBjdXJyZW50SW5jcmVtZW50ID0gTWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpICogaW5jcmVtZW50KSArIDFcbiAgICAgICAgICAgIGNudCArPSBpbmNyZW1lbnQ7XG4gICAgICAgICAgICBtaiArPSBpbmNyZW1lbnQ7XG4gICAgICAgICAgICB3aGlsZSAobWogPj0gdmFsdWVzLmxlbmd0aCAmJiBjbnQgPCBjaHVua1NpemUpIHtcbiAgICAgICAgICAgICAgICBtaSsrO1xuICAgICAgICAgICAgICAgIG1qID0gbWkgKyAxICsgKG1qIC0gdmFsdWVzLmxlbmd0aCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGRpc3RhbmNlQXJyYXlDb3VudGVyIDwgc2FtcGxlTGVuZ3RoKSB7XG4gICAgICAgICAgICBkaXN0YW5jZXMgPSBkaXN0YW5jZXMuc2xpY2UoMCwgZGlzdGFuY2VBcnJheUNvdW50ZXIpO1xuICAgICAgICB9XG4gICAgICAgIHBvc3RNZXNzYWdlKHsgZGlzdGFuY2U6IGRpc3RhbmNlcyB9KTtcbiAgICB9XG4gICAgY2F0Y2ggKGUpIHtcbiAgICAgICAgcG9zdE1lc3NhZ2UoeyBlcnJvcjogZSB9KTtcbiAgICB9XG59O1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKbWFXeGxJam9pYzNCaGNuTmxMVzFoZEhKcGVDMTBhSEpsYzJodmJHUXRkMjl5YTJWeUxtcHpJaXdpYzI5MWNtTmxVbTl2ZENJNklpSXNJbk52ZFhKalpYTWlPbHNpYzNCaGNuTmxMVzFoZEhKcGVDMTBhSEpsYzJodmJHUXRkMjl5YTJWeUxuUnpJbDBzSW01aGJXVnpJanBiWFN3aWJXRndjR2x1WjNNaU9pSkJRVUZCTEU5QlFVOHNSVUZCUXl4TFFVRkxMRVZCUVVNc1RVRkJUU3hUUVVGVExFTkJRVU03UVVGRE9VSXNUMEZCVHl4RlFVRmxMRTlCUVU4c1JVRkJSU3huUWtGQlowSXNSVUZCUXl4TlFVRk5MR3RDUVVGclFpeERRVUZETzBGQlEzcEZMRTlCUVU4c1VVRkJVU3hOUVVGTkxIbERRVUY1UXl4RFFVRkRPMEZCUXk5RUxGTkJRVk1zUjBGQlJ5eExRVUZMTEVWQlFVVXNTMEZCU3l4RlFVRkZMRVZCUVVVN1NVRkRNVUlzVFVGQlRTeEZRVUZETEUxQlFVMHNSVUZCUlN4UlFVRlJMRVZCUVVVc1RVRkJUU3hGUVVGRkxGbEJRVmtzUlVGQlJTeE5RVUZOTEVWQlFVVXNTVUZCU1N4RlFVRkRMRWRCUTJsRUxFdEJRVXNzUTBGQlF5eEpRVUZKTEVOQlFVTTdTVUZEZUVnc1NVRkJTVHRSUVVOR0xITkNRVUZ6UWp0UlFVTjBRaXh0UmtGQmJVWTdVVUZEYmtZc1NVRkJTU3hUUVVGVExFZEJRV2xDTEVsQlFVa3NXVUZCV1N4RFFVRkRMRmxCUVZrc1EwRkJReXhEUVVGRE8xRkJRemRFTEUxQlFVMHNVMEZCVXl4SFFVRkhMRTFCUVUwc1IwRkJSeXhSUVVGUkxFTkJRVU03VVVGRmNFTXNTVUZCU1N4blFrRkJaMElzUTBGQlF5eE5RVUZOTEVOQlFVTXNSVUZCUlR0WlFVTTFRaXhMUVVGTExFbEJRVWtzUTBGQlF5eEhRVUZITEVOQlFVTXNSVUZCUlN4RFFVRkRMRWRCUVVjc1RVRkJUU3hEUVVGRExFMUJRVTBzUlVGQlJTeEZRVUZGTEVOQlFVTXNSVUZCUlR0blFrRkRkRU1zU1VGQlNTeExRVUZMTEVOQlFVTXNUVUZCVFN4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRE8yOUNRVUZGTEZOQlFWTTdaMEpCUXk5Q0xFMUJRVTBzUTBGQlF5eERRVUZETEVOQlFVTXNSMEZCUnl4SlFVRkpMRkZCUVZFc1EwRkJReXhOUVVGTkxFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTXNTMEZCU3l4RlFVRkZMRTFCUVUwc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF5eFBRVUZQTEVOQlFVTXNRMEZCUXp0aFFVTTVSRHRUUVVOR08xRkJRMFFzU1VGQlNTeEhRVUZITEVkQlFVY3NRMEZCUXl4RFFVRkRPMUZCUTFvc1RVRkJUU3hUUVVGVExFZEJRVWNzU1VGQlNTeERRVUZETEV0QlFVc3NRMEZCUXl4VFFVRlRMRWRCUVVjc1dVRkJXU3hEUVVGRExFTkJRVU03VVVGRGRrUXNUVUZCVFN4VlFVRlZMRWRCUVVjc1NVRkJTU3hQUVVGUExFTkJRVU1zVFVGQlRTeERRVUZETEVOQlFVTXNWVUZCVlN4RFFVRkRMRWxCUVVrc1EwRkJReXhEUVVGRE8xRkJRM2hFTEUxQlFVMHNVVUZCVVN4SFFVRkhMRTFCUVUwc1EwRkJReXhOUVVGTkxFZEJRVWNzUTBGQlF5eEhRVUZITEVsQlFVa3NRMEZCUXl4TFFVRkxMRU5CUXpkRExFbEJRVWtzUTBGQlF5eEpRVUZKTEVOQlFVTXNRMEZCUXl4RFFVRkRMRWRCUVVjc1VVRkJVU3hIUVVGSExFTkJRVU1zUjBGQlJ5eE5RVUZOTEVOQlFVTXNUVUZCVFN4SFFVRkhMRU5CUVVNc1RVRkJUU3hEUVVGRExFMUJRVTBzUjBGQlJ5eERRVUZETEVOQlFVTXNSMEZCUnl4RFFVRkRMRU5CUVVNc1IwRkJSeXhEUVVGRExFZEJRVWNzUjBGQlJ5eERRVUZETEVOQlFVTTdVVUZEY0VZc1RVRkJUU3hSUVVGUkxFZEJRVWNzVVVGQlVTeEhRVUZITEUxQlFVMHNRMEZCUXl4TlFVRk5MRWRCUVVjc1VVRkJVU3hIUVVGSExFbEJRVWtzUTBGQlF5eExRVUZMTEVOQlFVTXNRMEZCUXl4UlFVRlJMRWRCUVVjc1EwRkJReXhEUVVGRExFZEJRVWNzUTBGQlF5eFJRVUZSTEVkQlFVY3NRMEZCUXl4RFFVRkRMRWRCUVVjc1EwRkJReXhEUVVGRExFTkJRVU03VVVGRGRrY3NTVUZCU1N4RlFVRkZMRWRCUVVjc1VVRkJVU3hEUVVGRE8xRkJRMnhDTEVsQlFVa3NSVUZCUlN4SFFVRkhMRkZCUVZFc1EwRkJRenRSUVVOc1FpeEpRVUZKTEc5Q1FVRnZRaXhIUVVGSExFTkJRVU1zUTBGQlF6dFJRVU0zUWl4UFFVRlBMRWRCUVVjc1IwRkJSeXhUUVVGVExFbEJRVWtzYjBKQlFXOUNMRWRCUVVjc1dVRkJXU3hGUVVGRk8xbEJRemRFTEhWR1FVRjFSanRaUVVOMlJpeE5RVUZOTEV0QlFVc3NSMEZCUnl4RFFVRkRMRXRCUVVzc1EwRkJReXhOUVVGTkxFTkJRVU1zUlVGQlJTeERRVUZETEVOQlFVTXNTVUZCU1N4RFFVRkRMRXRCUVVzc1EwRkJReXhOUVVGTkxFTkJRVU1zUlVGQlJTeERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRPMmRDUVVOMFJDeFZRVUZWTEVOQlFVTXNUVUZCVFN4RFFVRkRMRVZCUVVVc1EwRkJReXhGUVVGRkxFMUJRVTBzUTBGQlF5eEZRVUZGTEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU03V1VGRmVrTXNVMEZCVXl4RFFVRkRMRzlDUVVGdlFpeERRVUZETEVkQlFVY3NTMEZCU3l4RFFVRkRPMWxCUTNoRExHOUNRVUZ2UWl4RlFVRkZMRU5CUVVNN1dVRkRka0lzY1VWQlFYRkZPMWxCUTNKRkxFZEJRVWNzU1VGQlJTeFRRVUZUTEVOQlFVTTdXVUZEWml4RlFVRkZMRWxCUVVVc1UwRkJVeXhEUVVGRE8xbEJRMlFzVDBGQlR5eEZRVUZGTEVsQlFVa3NUVUZCVFN4RFFVRkRMRTFCUVUwc1NVRkJTU3hIUVVGSExFZEJRVWNzVTBGQlV5eEZRVUZGTzJkQ1FVTTNReXhGUVVGRkxFVkJRVVVzUTBGQlF6dG5Ra0ZEVEN4RlFVRkZMRWRCUVVjc1JVRkJSU3hIUVVGSExFTkJRVU1zUjBGQlJ5eERRVUZETEVWQlFVVXNSMEZCUnl4TlFVRk5MRU5CUVVNc1RVRkJUU3hEUVVGRExFTkJRVU03WVVGRGNFTTdVMEZEUmp0UlFVVkVMRWxCUVVrc2IwSkJRVzlDTEVkQlFVY3NXVUZCV1N4RlFVRkZPMWxCUTNaRExGTkJRVk1zUjBGQlJ5eFRRVUZUTEVOQlFVTXNTMEZCU3l4RFFVRkRMRU5CUVVNc1JVRkJSU3h2UWtGQmIwSXNRMEZCUXl4RFFVRkRPMU5CUTNSRU8xRkJRMFFzVjBGQlZ5eERRVUZETEVWQlFVTXNVVUZCVVN4RlFVRkZMRk5CUVZNc1JVRkJReXhEUVVGRExFTkJRVU03UzBGRGNFTTdTVUZCUXl4UFFVRlBMRU5CUVVNc1JVRkJSVHRSUVVOV0xGZEJRVmNzUTBGQlF5eEZRVUZETEV0QlFVc3NSVUZCUlN4RFFVRkRMRVZCUVVNc1EwRkJReXhEUVVGRE8wdEJRM3BDTzBGQlEwZ3NRMEZCUXl4RFFVRkRJaXdpYzI5MWNtTmxjME52Ym5SbGJuUWlPbHNpYVcxd2IzSjBJSHRwYzA1cGJIMGdabkp2YlNBbkxpOTFkR2xzY3ljN1hHNXBiWEJ2Y25RZ2UwdHViM2R1VFdWMGNtbGpjeXdnVFdWaGMzVnlaU3dnYVhOQ2FYUkJjbkpoZVUxbGRISnBZMzBnWm5KdmJTQW5MaTR2ZEhsd1pXUXRiV1YwY21samN5YzdYRzVwYlhCdmNuUWdRbWwwUVhKeVlYa2dabkp2YlNBblFHUmhkR0ZuY205ckxXeHBZbkpoY21sbGN5OTFkR2xzY3k5emNtTXZZbWwwTFdGeWNtRjVKenRjYm05dWJXVnpjMkZuWlNBOUlHRnplVzVqSUNobGRtVnVkQ2tnUFQ0Z2UxeHVJQ0JqYjI1emRDQjdkbUZzZFdWekxDQnpkR0Z5ZEVsa2VDd2daVzVrU1dSNExDQnpZVzF3YkdWTVpXNW5kR2dzSUdadVRtRnRaU3dnYjNCMGMzMDZYRzRnSUNBZ2UzWmhiSFZsY3pvZ1lXNTVXMTBzSUhOMFlYSjBTV1I0T2lCdWRXMWlaWElzSUdWdVpFbGtlRG9nYm5WdFltVnlMQ0J6WVcxd2JHVk1aVzVuZEdnNklHNTFiV0psY2l3Z1ptNU9ZVzFsT2lCTGJtOTNiazFsZEhKcFkzTXNJRzl3ZEhNNklHRnVlWDBnUFNCbGRtVnVkQzVrWVhSaE8xeHVJQ0IwY25rZ2UxeHVJQ0FnSUM4dklHbG1JQ2h6ZEdGeWRFbGtlQ0FoUFNBdE1TbGNiaUFnSUNBdkx5QWdJSFJvY205M0lHNWxkeUJGY25KdmNpZ25SWEp5YjNJZ2FXNGdjM0JoY25ObElIUm9jbVZ6YUc5c1pDQjNiM0pyWlhJbktUc2dMeThnVkU5RVR6b2djbVZ0YjNabElIUm9hWE1nYkdsdVpWeHVJQ0FnSUd4bGRDQmthWE4wWVc1alpYTTZJRVpzYjJGME16SkJjbkpoZVNBOUlHNWxkeUJHYkc5aGRETXlRWEp5WVhrb2MyRnRjR3hsVEdWdVozUm9LVHRjYmlBZ0lDQmpiMjV6ZENCamFIVnVhMU5wZW1VZ1BTQmxibVJKWkhnZ0xTQnpkR0Z5ZEVsa2VEdGNibHh1SUNBZ0lHbG1JQ2hwYzBKcGRFRnljbUY1VFdWMGNtbGpLR1p1VG1GdFpTa3BJSHRjYmlBZ0lDQWdJR1p2Y2lBb2JHVjBJR2tnUFNBd095QnBJRHdnZG1Gc2RXVnpMbXhsYm1kMGFEc2dLeXRwS1NCN1hHNGdJQ0FnSUNBZ0lHbG1JQ2hwYzA1cGJDaDJZV3gxWlhOYmFWMHBLU0JqYjI1MGFXNTFaVHRjYmlBZ0lDQWdJQ0FnZG1Gc2RXVnpXMmxkSUQwZ2JtVjNJRUpwZEVGeWNtRjVLSFpoYkhWbGMxdHBYUzVmWkdGMFlTd2dkbUZzZFdWelcybGRMbDlzWlc1bmRHZ3BPMXh1SUNBZ0lDQWdmVnh1SUNBZ0lIMWNiaUFnSUNCc1pYUWdZMjUwSUQwZ01EdGNiaUFnSUNCamIyNXpkQ0JwYm1OeVpXMWxiblFnUFNCTllYUm9MbVpzYjI5eUtHTm9kVzVyVTJsNlpTQXZJSE5oYlhCc1pVeGxibWQwYUNrN1hHNGdJQ0FnWTI5dWMzUWdaR2x6ZEdGdVkyVkdiaUE5SUc1bGR5Qk5aV0Z6ZFhKbEtHWnVUbUZ0WlNrdVoyVjBUV1ZoYzNWeVpTaHZjSFJ6S1R0Y2JpQWdJQ0JqYjI1emRDQnpkR0Z5ZEZKdmR5QTlJSFpoYkhWbGN5NXNaVzVuZEdnZ0xTQXlJQzBnVFdGMGFDNW1iRzl2Y2loY2JpQWdJQ0FnSUUxaGRHZ3VjM0Z5ZENndE9DQXFJSE4wWVhKMFNXUjRJQ3NnTkNBcUlIWmhiSFZsY3k1c1pXNW5kR2dnS2lBb2RtRnNkV1Z6TG14bGJtZDBhQ0F0SURFcElDMGdOeWtnTHlBeUlDMGdNQzQxS1R0Y2JpQWdJQ0JqYjI1emRDQnpkR0Z5ZEVOdmJDQTlJSE4wWVhKMFNXUjRJQzBnZG1Gc2RXVnpMbXhsYm1kMGFDQXFJSE4wWVhKMFVtOTNJQ3NnVFdGMGFDNW1iRzl2Y2lnb2MzUmhjblJTYjNjZ0t5QXhLU0FxSUNoemRHRnlkRkp2ZHlBcklESXBJQzhnTWlrN1hHNGdJQ0FnYkdWMElHMXBJRDBnYzNSaGNuUlNiM2M3WEc0Z0lDQWdiR1YwSUcxcUlEMGdjM1JoY25SRGIydzdYRzRnSUNBZ2JHVjBJR1JwYzNSaGJtTmxRWEp5WVhsRGIzVnVkR1Z5SUQwZ01EdGNiaUFnSUNCM2FHbHNaU0FvWTI1MElEd2dZMmgxYm10VGFYcGxJQ1ltSUdScGMzUmhibU5sUVhKeVlYbERiM1Z1ZEdWeUlEd2djMkZ0Y0d4bFRHVnVaM1JvS1NCN1hHNGdJQ0FnSUNBdkwyTnZibk4wSUhaaGJIVmxJRDBnYzJWeE1VeHBjM1JiYldsZElDWW1JSE5sY1RGTWFYTjBXMjFxWFNBL0lHaGhiVzFwYm1jb2MyVnhNVXhwYzNSYmJXbGRMQ0J6WlhFeFRHbHpkRnR0YWwwcElEb2dNRHRjYmlBZ0lDQWdJR052Ym5OMElIWmhiSFZsSUQwZ0lXbHpUbWxzS0haaGJIVmxjMXR0YVYwcElDWW1JQ0ZwYzA1cGJDaDJZV3gxWlhOYmJXcGRLU0EvWEc0Z0lDQWdJQ0FnSUdScGMzUmhibU5sUm00b2RtRnNkV1Z6VzIxcFhTd2dkbUZzZFdWelcyMXFYU2tnT2lBeE8xeHVYRzRnSUNBZ0lDQmthWE4wWVc1alpYTmJaR2x6ZEdGdVkyVkJjbkpoZVVOdmRXNTBaWEpkSUQwZ2RtRnNkV1U3WEc0Z0lDQWdJQ0JrYVhOMFlXNWpaVUZ5Y21GNVEyOTFiblJsY2lzck8xeHVJQ0FnSUNBZ0x5OGdZMjl1YzNRZ1kzVnljbVZ1ZEVsdVkzSmxiV1Z1ZENBOUlFMWhkR2d1Wm14dmIzSW9UV0YwYUM1eVlXNWtiMjBvS1NBcUlHbHVZM0psYldWdWRDa2dLeUF4WEc0Z0lDQWdJQ0JqYm5RclBXbHVZM0psYldWdWREdGNiaUFnSUNBZ0lHMXFLejFwYm1OeVpXMWxiblE3WEc0Z0lDQWdJQ0IzYUdsc1pTQW9iV29nUGowZ2RtRnNkV1Z6TG14bGJtZDBhQ0FtSmlCamJuUWdQQ0JqYUhWdWExTnBlbVVwSUh0Y2JpQWdJQ0FnSUNBZ2JXa3JLenRjYmlBZ0lDQWdJQ0FnYldvZ1BTQnRhU0FySURFZ0t5QW9iV29nTFNCMllXeDFaWE11YkdWdVozUm9LVHRjYmlBZ0lDQWdJSDFjYmlBZ0lDQjlYRzVjYmlBZ0lDQnBaaUFvWkdsemRHRnVZMlZCY25KaGVVTnZkVzUwWlhJZ1BDQnpZVzF3YkdWTVpXNW5kR2dwSUh0Y2JpQWdJQ0FnSUdScGMzUmhibU5sY3lBOUlHUnBjM1JoYm1ObGN5NXpiR2xqWlNnd0xDQmthWE4wWVc1alpVRnljbUY1UTI5MWJuUmxjaWs3WEc0Z0lDQWdmVnh1SUNBZ0lIQnZjM1JOWlhOellXZGxLSHRrYVhOMFlXNWpaVG9nWkdsemRHRnVZMlZ6ZlNrN1hHNGdJSDBnWTJGMFkyZ2dLR1VwSUh0Y2JpQWdJQ0J3YjNOMFRXVnpjMkZuWlNoN1pYSnliM0k2SUdWOUtUdGNiaUFnZlZ4dWZUc2lYWDA9IiwiLy8gVGhlIG1vZHVsZSBjYWNoZVxudmFyIF9fd2VicGFja19tb2R1bGVfY2FjaGVfXyA9IHt9O1xuXG4vLyBUaGUgcmVxdWlyZSBmdW5jdGlvblxuZnVuY3Rpb24gX193ZWJwYWNrX3JlcXVpcmVfXyhtb2R1bGVJZCkge1xuXHQvLyBDaGVjayBpZiBtb2R1bGUgaXMgaW4gY2FjaGVcblx0dmFyIGNhY2hlZE1vZHVsZSA9IF9fd2VicGFja19tb2R1bGVfY2FjaGVfX1ttb2R1bGVJZF07XG5cdGlmIChjYWNoZWRNb2R1bGUgIT09IHVuZGVmaW5lZCkge1xuXHRcdHJldHVybiBjYWNoZWRNb2R1bGUuZXhwb3J0cztcblx0fVxuXHQvLyBDcmVhdGUgYSBuZXcgbW9kdWxlIChhbmQgcHV0IGl0IGludG8gdGhlIGNhY2hlKVxuXHR2YXIgbW9kdWxlID0gX193ZWJwYWNrX21vZHVsZV9jYWNoZV9fW21vZHVsZUlkXSA9IHtcblx0XHQvLyBubyBtb2R1bGUuaWQgbmVlZGVkXG5cdFx0Ly8gbm8gbW9kdWxlLmxvYWRlZCBuZWVkZWRcblx0XHRleHBvcnRzOiB7fVxuXHR9O1xuXG5cdC8vIEV4ZWN1dGUgdGhlIG1vZHVsZSBmdW5jdGlvblxuXHRfX3dlYnBhY2tfbW9kdWxlc19fW21vZHVsZUlkXShtb2R1bGUsIG1vZHVsZS5leHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKTtcblxuXHQvLyBSZXR1cm4gdGhlIGV4cG9ydHMgb2YgdGhlIG1vZHVsZVxuXHRyZXR1cm4gbW9kdWxlLmV4cG9ydHM7XG59XG5cbi8vIGV4cG9zZSB0aGUgbW9kdWxlcyBvYmplY3QgKF9fd2VicGFja19tb2R1bGVzX18pXG5fX3dlYnBhY2tfcmVxdWlyZV9fLm0gPSBfX3dlYnBhY2tfbW9kdWxlc19fO1xuXG4vLyB0aGUgc3RhcnR1cCBmdW5jdGlvblxuX193ZWJwYWNrX3JlcXVpcmVfXy54ID0gKCkgPT4ge1xuXHQvLyBMb2FkIGVudHJ5IG1vZHVsZSBhbmQgcmV0dXJuIGV4cG9ydHNcblx0Ly8gVGhpcyBlbnRyeSBtb2R1bGUgZGVwZW5kcyBvbiBvdGhlciBsb2FkZWQgY2h1bmtzIGFuZCBleGVjdXRpb24gbmVlZCB0byBiZSBkZWxheWVkXG5cdHZhciBfX3dlYnBhY2tfZXhwb3J0c19fID0gX193ZWJwYWNrX3JlcXVpcmVfXy5PKHVuZGVmaW5lZCwgWzkzMiw4MzEsMzYxXSwgKCkgPT4gKF9fd2VicGFja19yZXF1aXJlX18oNTc3MCkpKVxuXHRfX3dlYnBhY2tfZXhwb3J0c19fID0gX193ZWJwYWNrX3JlcXVpcmVfXy5PKF9fd2VicGFja19leHBvcnRzX18pO1xuXHRyZXR1cm4gX193ZWJwYWNrX2V4cG9ydHNfXztcbn07XG5cbiIsIi8vIGRlZmluZSBnZXR0ZXIgZnVuY3Rpb25zIGZvciBoYXJtb255IGV4cG9ydHNcbl9fd2VicGFja19yZXF1aXJlX18uZCA9IChleHBvcnRzLCBkZWZpbml0aW9uKSA9PiB7XG5cdGZvcih2YXIga2V5IGluIGRlZmluaXRpb24pIHtcblx0XHRpZihfX3dlYnBhY2tfcmVxdWlyZV9fLm8oZGVmaW5pdGlvbiwga2V5KSAmJiAhX193ZWJwYWNrX3JlcXVpcmVfXy5vKGV4cG9ydHMsIGtleSkpIHtcblx0XHRcdE9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBrZXksIHsgZW51bWVyYWJsZTogdHJ1ZSwgZ2V0OiBkZWZpbml0aW9uW2tleV0gfSk7XG5cdFx0fVxuXHR9XG59OyIsIl9fd2VicGFja19yZXF1aXJlX18uZiA9IHt9O1xuLy8gVGhpcyBmaWxlIGNvbnRhaW5zIG9ubHkgdGhlIGVudHJ5IGNodW5rLlxuLy8gVGhlIGNodW5rIGxvYWRpbmcgZnVuY3Rpb24gZm9yIGFkZGl0aW9uYWwgY2h1bmtzXG5fX3dlYnBhY2tfcmVxdWlyZV9fLmUgPSAoY2h1bmtJZCkgPT4ge1xuXHRyZXR1cm4gUHJvbWlzZS5hbGwoT2JqZWN0LmtleXMoX193ZWJwYWNrX3JlcXVpcmVfXy5mKS5yZWR1Y2UoKHByb21pc2VzLCBrZXkpID0+IHtcblx0XHRfX3dlYnBhY2tfcmVxdWlyZV9fLmZba2V5XShjaHVua0lkLCBwcm9taXNlcyk7XG5cdFx0cmV0dXJuIHByb21pc2VzO1xuXHR9LCBbXSkpO1xufTsiLCIvLyBUaGlzIGZ1bmN0aW9uIGFsbG93IHRvIHJlZmVyZW5jZSBhc3luYyBjaHVua3MgYW5kIHNpYmxpbmcgY2h1bmtzIGZvciB0aGUgZW50cnlwb2ludFxuX193ZWJwYWNrX3JlcXVpcmVfXy51ID0gKGNodW5rSWQpID0+IHtcblx0Ly8gcmV0dXJuIHVybCBmb3IgZmlsZW5hbWVzIGJhc2VkIG9uIHRlbXBsYXRlXG5cdHJldHVybiBcIlwiICsgY2h1bmtJZCArIFwiLmpzXCI7XG59OyIsIl9fd2VicGFja19yZXF1aXJlX18uZyA9IChmdW5jdGlvbigpIHtcblx0aWYgKHR5cGVvZiBnbG9iYWxUaGlzID09PSAnb2JqZWN0JykgcmV0dXJuIGdsb2JhbFRoaXM7XG5cdHRyeSB7XG5cdFx0cmV0dXJuIHRoaXMgfHwgbmV3IEZ1bmN0aW9uKCdyZXR1cm4gdGhpcycpKCk7XG5cdH0gY2F0Y2ggKGUpIHtcblx0XHRpZiAodHlwZW9mIHdpbmRvdyA9PT0gJ29iamVjdCcpIHJldHVybiB3aW5kb3c7XG5cdH1cbn0pKCk7IiwiX193ZWJwYWNrX3JlcXVpcmVfXy5vID0gKG9iaiwgcHJvcCkgPT4gKE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChvYmosIHByb3ApKSIsInZhciBzY3JpcHRVcmw7XG5pZiAoX193ZWJwYWNrX3JlcXVpcmVfXy5nLmltcG9ydFNjcmlwdHMpIHNjcmlwdFVybCA9IF9fd2VicGFja19yZXF1aXJlX18uZy5sb2NhdGlvbiArIFwiXCI7XG52YXIgZG9jdW1lbnQgPSBfX3dlYnBhY2tfcmVxdWlyZV9fLmcuZG9jdW1lbnQ7XG5pZiAoIXNjcmlwdFVybCAmJiBkb2N1bWVudCkge1xuXHRpZiAoZG9jdW1lbnQuY3VycmVudFNjcmlwdClcblx0XHRzY3JpcHRVcmwgPSBkb2N1bWVudC5jdXJyZW50U2NyaXB0LnNyYztcblx0aWYgKCFzY3JpcHRVcmwpIHtcblx0XHR2YXIgc2NyaXB0cyA9IGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKFwic2NyaXB0XCIpO1xuXHRcdGlmKHNjcmlwdHMubGVuZ3RoKSB7XG5cdFx0XHR2YXIgaSA9IHNjcmlwdHMubGVuZ3RoIC0gMTtcblx0XHRcdHdoaWxlIChpID4gLTEgJiYgIXNjcmlwdFVybCkgc2NyaXB0VXJsID0gc2NyaXB0c1tpLS1dLnNyYztcblx0XHR9XG5cdH1cbn1cbi8vIFdoZW4gc3VwcG9ydGluZyBicm93c2VycyB3aGVyZSBhbiBhdXRvbWF0aWMgcHVibGljUGF0aCBpcyBub3Qgc3VwcG9ydGVkIHlvdSBtdXN0IHNwZWNpZnkgYW4gb3V0cHV0LnB1YmxpY1BhdGggbWFudWFsbHkgdmlhIGNvbmZpZ3VyYXRpb25cbi8vIG9yIHBhc3MgYW4gZW1wdHkgc3RyaW5nIChcIlwiKSBhbmQgc2V0IHRoZSBfX3dlYnBhY2tfcHVibGljX3BhdGhfXyB2YXJpYWJsZSBmcm9tIHlvdXIgY29kZSB0byB1c2UgeW91ciBvd24gbG9naWMuXG5pZiAoIXNjcmlwdFVybCkgdGhyb3cgbmV3IEVycm9yKFwiQXV0b21hdGljIHB1YmxpY1BhdGggaXMgbm90IHN1cHBvcnRlZCBpbiB0aGlzIGJyb3dzZXJcIik7XG5zY3JpcHRVcmwgPSBzY3JpcHRVcmwucmVwbGFjZSgvIy4qJC8sIFwiXCIpLnJlcGxhY2UoL1xcPy4qJC8sIFwiXCIpLnJlcGxhY2UoL1xcL1teXFwvXSskLywgXCIvXCIpO1xuX193ZWJwYWNrX3JlcXVpcmVfXy5wID0gc2NyaXB0VXJsOyIsIi8vIG5vIGJhc2VVUklcblxuLy8gb2JqZWN0IHRvIHN0b3JlIGxvYWRlZCBjaHVua3Ncbi8vIFwiMVwiIG1lYW5zIFwiYWxyZWFkeSBsb2FkZWRcIlxudmFyIGluc3RhbGxlZENodW5rcyA9IHtcblx0NzcwOiAxXG59O1xuXG4vLyBpbXBvcnRTY3JpcHRzIGNodW5rIGxvYWRpbmdcbnZhciBpbnN0YWxsQ2h1bmsgPSAoZGF0YSkgPT4ge1xuXHR2YXIgW2NodW5rSWRzLCBtb3JlTW9kdWxlcywgcnVudGltZV0gPSBkYXRhO1xuXHRmb3IodmFyIG1vZHVsZUlkIGluIG1vcmVNb2R1bGVzKSB7XG5cdFx0aWYoX193ZWJwYWNrX3JlcXVpcmVfXy5vKG1vcmVNb2R1bGVzLCBtb2R1bGVJZCkpIHtcblx0XHRcdF9fd2VicGFja19yZXF1aXJlX18ubVttb2R1bGVJZF0gPSBtb3JlTW9kdWxlc1ttb2R1bGVJZF07XG5cdFx0fVxuXHR9XG5cdGlmKHJ1bnRpbWUpIHJ1bnRpbWUoX193ZWJwYWNrX3JlcXVpcmVfXyk7XG5cdHdoaWxlKGNodW5rSWRzLmxlbmd0aClcblx0XHRpbnN0YWxsZWRDaHVua3NbY2h1bmtJZHMucG9wKCldID0gMTtcblx0cGFyZW50Q2h1bmtMb2FkaW5nRnVuY3Rpb24oZGF0YSk7XG59O1xuX193ZWJwYWNrX3JlcXVpcmVfXy5mLmkgPSAoY2h1bmtJZCwgcHJvbWlzZXMpID0+IHtcblx0Ly8gXCIxXCIgaXMgdGhlIHNpZ25hbCBmb3IgXCJhbHJlYWR5IGxvYWRlZFwiXG5cdGlmKCFpbnN0YWxsZWRDaHVua3NbY2h1bmtJZF0pIHtcblx0XHRpZih0cnVlKSB7IC8vIGFsbCBjaHVua3MgaGF2ZSBKU1xuXHRcdFx0aW1wb3J0U2NyaXB0cyhfX3dlYnBhY2tfcmVxdWlyZV9fLnAgKyBfX3dlYnBhY2tfcmVxdWlyZV9fLnUoY2h1bmtJZCkpO1xuXHRcdH1cblx0fVxufTtcblxudmFyIGNodW5rTG9hZGluZ0dsb2JhbCA9IHNlbGZbXCJ3ZWJwYWNrQ2h1bmtwZXB0aWRlc1wiXSA9IHNlbGZbXCJ3ZWJwYWNrQ2h1bmtwZXB0aWRlc1wiXSB8fCBbXTtcbnZhciBwYXJlbnRDaHVua0xvYWRpbmdGdW5jdGlvbiA9IGNodW5rTG9hZGluZ0dsb2JhbC5wdXNoLmJpbmQoY2h1bmtMb2FkaW5nR2xvYmFsKTtcbmNodW5rTG9hZGluZ0dsb2JhbC5wdXNoID0gaW5zdGFsbENodW5rO1xuXG4vLyBubyBITVJcblxuLy8gbm8gSE1SIG1hbmlmZXN0IiwiLy8gcnVuIHN0YXJ0dXBcbnZhciBfX3dlYnBhY2tfZXhwb3J0c19fID0gX193ZWJwYWNrX3JlcXVpcmVfXy54KCk7XG4iXSwibmFtZXMiOlsiZGVmZXJyZWQiLCJuZXh0Iiwib25tZXNzYWdlIiwiYXN5bmMiLCJldmVudCIsInZhbHVlcyIsInN0YXJ0SWR4IiwiZW5kSWR4Iiwic2FtcGxlTGVuZ3RoIiwiZm5OYW1lIiwib3B0cyIsImRhdGEiLCJkaXN0YW5jZXMiLCJGbG9hdDMyQXJyYXkiLCJjaHVua1NpemUiLCJpIiwibGVuZ3RoIiwiX2RhdGEiLCJfbGVuZ3RoIiwiY250IiwiaW5jcmVtZW50IiwiTWF0aCIsImZsb29yIiwiZGlzdGFuY2VGbiIsImdldE1lYXN1cmUiLCJzdGFydFJvdyIsInNxcnQiLCJzdGFydENvbCIsIm1pIiwibWoiLCJkaXN0YW5jZUFycmF5Q291bnRlciIsInZhbHVlIiwic2xpY2UiLCJwb3N0TWVzc2FnZSIsImRpc3RhbmNlIiwiZSIsImVycm9yIiwiX193ZWJwYWNrX21vZHVsZV9jYWNoZV9fIiwiX193ZWJwYWNrX3JlcXVpcmVfXyIsIm1vZHVsZUlkIiwiY2FjaGVkTW9kdWxlIiwidW5kZWZpbmVkIiwiZXhwb3J0cyIsIm1vZHVsZSIsIl9fd2VicGFja19tb2R1bGVzX18iLCJtIiwieCIsIl9fd2VicGFja19leHBvcnRzX18iLCJPIiwicmVzdWx0IiwiY2h1bmtJZHMiLCJmbiIsInByaW9yaXR5Iiwibm90RnVsZmlsbGVkIiwiSW5maW5pdHkiLCJmdWxmaWxsZWQiLCJqIiwiT2JqZWN0Iiwia2V5cyIsImV2ZXJ5Iiwia2V5Iiwic3BsaWNlIiwiciIsImQiLCJkZWZpbml0aW9uIiwibyIsImRlZmluZVByb3BlcnR5IiwiZW51bWVyYWJsZSIsImdldCIsImYiLCJjaHVua0lkIiwiUHJvbWlzZSIsImFsbCIsInJlZHVjZSIsInByb21pc2VzIiwidSIsImciLCJnbG9iYWxUaGlzIiwidGhpcyIsIkZ1bmN0aW9uIiwid2luZG93Iiwib2JqIiwicHJvcCIsInByb3RvdHlwZSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsInNjcmlwdFVybCIsImltcG9ydFNjcmlwdHMiLCJsb2NhdGlvbiIsImRvY3VtZW50IiwiY3VycmVudFNjcmlwdCIsInNyYyIsInNjcmlwdHMiLCJnZXRFbGVtZW50c0J5VGFnTmFtZSIsIkVycm9yIiwicmVwbGFjZSIsInAiLCJpbnN0YWxsZWRDaHVua3MiLCJjaHVua0xvYWRpbmdHbG9iYWwiLCJzZWxmIiwicGFyZW50Q2h1bmtMb2FkaW5nRnVuY3Rpb24iLCJwdXNoIiwiYmluZCIsIm1vcmVNb2R1bGVzIiwicnVudGltZSIsInBvcCIsIm1hcCIsInRoZW4iXSwic291cmNlUm9vdCI6IiJ9
package/dist/831.js DELETED
@@ -1,2 +0,0 @@
1
- "use strict";(self.webpackChunkpeptides=self.webpackChunkpeptides||[]).push([[831],{5697:(n,t,u)=>{u.d(t,{Dz:()=>d,FV:()=>a,KR:()=>c,MI:()=>M,NB:()=>l,UX:()=>k,WI:()=>C,Zd:()=>g,_h:()=>s,aW:()=>f,bX:()=>W,fX:()=>B,s:()=>h,yU:()=>m});var o=u(9657),e=u(1040),r=u(708);function i(n,t){const u=n.trueCount()+t.trueCount();if(0==u)return 1;const o=n.andWithCountBits(t,!0);return o/(u-o)}function c(n,t){return y(i(n,t))}function a(n,t){return y(i(new o.Z(n,32*n.length),new o.Z(t,32*t.length)))}function s(n,t){return y(function(n,t){const u=n.trueCount()+t.trueCount();return 0==u?0:2*n.andWithCountBits(t,!0)/u}(n,t))}function g(n,t){return y(function(n,t){const u=n.trueCount()*t.trueCount();return 0==u?0:n.andWithCountBits(t,!0)/Math.sqrt(u)}(n,t))}function C(n,t){return Math.sqrt(n.trueCount()+t.trueCount()-2*n.andWithCountBits(t,!0))}function k(n,t){return n.trueCount()+t.trueCount()-2*n.andWithCountBits(t,!0)}function l(n,t){return y(function(n,t){const u=n.trueCount()+t.trueCount(),o=n.andWithCountBits(t,!0);return o/(2*u-3*o)}(n,t))}function h(n,t){return y(function(n,t){const u=n.trueCount()+t.trueCount(),o=n.trueCount()*t.trueCount();return 0==o?0:n.andWithCountBits(t,!0)*u/(2*o)}(n,t))}function f(n,t){return y(function(n,t){const u=n.trueCount()+t.trueCount(),o=n.trueCount()*t.trueCount();return 0==o?0:(n.andWithCountBits(t,!0)*u-o)/o}(n,t))}function m(n,t){return y(function(n,t){const u=Math.min(n.trueCount(),t.trueCount());return 0==u?0:n.andWithCountBits(t,!0)/u}(n,t))}function d(n,t){return y(function(n,t){const u=Math.max(n.trueCount(),t.trueCount());return 0==u?0:n.andWithCountBits(t,!0)/u}(n,t))}function B(n,t){return y(function(n,t){return 0==n.length?0:n.andWithCountBits(t,!0)/n.length}(n,t))}function M(n,t){return y(function(n,t){const u=n.andWithCountBits(t,!0),o=n.countBits(!0)+t.countBits(!0),e=n.length,r=e-o+u;return u==e||r==e?1:u/o+r/(2*e-o)}(n,t))}function y(n){return 0===n?3402823e32:1/n-1}function W(n,t){return Math.abs(n-t)}e.gk.Tanimoto,e.gk.Dice,e.gk.Asymmetric,e.gk.BraunBlanquet,e.gk.Cosine,e.gk.Kulczynski,e.gk.McConnaughey,e.gk.RogotGoldberg,e.gk.Russel,e.gk.Sokal,e.gk.Hamming,e.gk.Euclidean,e.gk.Tanimoto,e.gk.Dice,e.gk.Asymmetric,e.gk.BraunBlanquet,e.gk.Cosine,e.gk.Kulczynski,e.gk.McConnaughey,e.gk.RogotGoldberg,e.gk.Russel,e.gk.Sokal,e.gk.Hamming,e.gk.Euclidean,e.gk.Tanimoto,e.gk.Dice,e.gk.Cosine,e.gk.Tanimoto,e.gk.Asymmetric,e.gk.Cosine,e.gk.Sokal,r.U.HAMMING,r.U.LEVENSHTEIN,r.U.MONOMER_CHEMICAL_DISTANCE},1040:(n,t,u)=>{var o,e,r,i,c,a;u.d(t,{CF:()=>e,Qe:()=>c,W:()=>o,Yc:()=>a,gd:()=>i,gk:()=>r}),function(n){n.Levenshtein="Levenshtein",n.JaroWinkler="Jaro-Winkler",n.Manhattan="Manhattan"}(o||(o={})),function(n){n.Euclidean="Euclidean"}(e||(e={})),function(n){n.Tanimoto="Tanimoto",n.Dice="Dice",n.Asymmetric="Asymmetric",n.BraunBlanquet="Braun-Blanquet",n.Cosine="Cosine",n.Kulczynski="Kulczynski",n.McConnaughey="Mc-Connaughey",n.RogotGoldberg="Rogot-Goldberg",n.Russel="Russel",n.Sokal="Sokal",n.Hamming="Hamming",n.Euclidean="Euclidean"}(r||(r={})),function(n){n.TanimotoIntArray="TanimotoIntArray"}(i||(i={})),function(n){n.Vector="Vector",n.String="String",n.BitArray="BitArray",n.MacroMolecule="MacroMolecule",n.Number="Number",n.IntArray="IntArray"}(c||(c={})),function(n){n.NumericDistance="NumericDistance"}(a||(a={}))},850:(n,t,u)=>{function o(n,t){let u=0;const o=n.length;if(o!==t.length)throw new Error("The dimensionality of the vectors must match");for(let e=0;e<o;++e)u+=Math.pow(n[e]-t[e],2);return Math.sqrt(u)}u.d(t,{dP:()=>o})}}]);
2
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,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U0FBSSxXQUN0Q0EsRUFBdUMsY0FBSSxnQkFDM0NBLEVBQWdDLE9BQUksU0FDcENBLEVBQWtDLFNBQUksVUFDekMsQ0FQRCxDQU9HQSxJQUE0QkEsRUFBMEIsQ0FBQyxJQUUxRCxTQUFXQyxHQUNQQSxFQUFvQyxnQkFBSSxpQkFDM0MsQ0FGRCxDQUVHQSxJQUF1QkEsRUFBcUIsQ0FBQyxHLGdCQzhFekMsU0FBU0MsRUFBMkJDLEVBQUdDLEdBQzFDLElBQUlDLEVBQVMsRUFDYixNQUFNOUIsRUFBTTRCLEVBQUV0RCxPQUNkLEdBQUkwQixJQUFRNkIsRUFBRXZELE9BQ1YsTUFBTSxJQUFJeUQsTUFBTSxnREFDcEIsSUFBSyxJQUFJQyxFQUFJLEVBQUdBLEVBQUloQyxJQUFPZ0MsRUFDdkJGLEdBQVVwRCxLQUFLdUQsSUFBS0wsRUFBRUksR0FBS0gsRUFBRUcsR0FBSyxHQUN0QyxPQUFPdEQsS0FBS0MsS0FBS21ELEVBQ3JCLEMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9wZXB0aWRlcy8uL25vZGVfbW9kdWxlcy9AZGF0YWdyb2stbGlicmFyaWVzL21sL3NyYy9kaXN0YW5jZS1tZXRyaWNzLW1ldGhvZHMuanMiLCJ3ZWJwYWNrOi8vcGVwdGlkZXMvLi9ub2RlX21vZHVsZXMvQGRhdGFncm9rLWxpYnJhcmllcy9tbC9zcmMvdHlwZWQtbWV0cmljcy9jb25zdHMuanMiLCJ3ZWJwYWNrOi8vcGVwdGlkZXMvLi9ub2RlX21vZHVsZXMvQGRhdGFncm9rLWxpYnJhcmllcy91dGlscy9zcmMvdmVjdG9yLW9wZXJhdGlvbnMuanMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IEJpdEFycmF5IGZyb20gJ0BkYXRhZ3Jvay1saWJyYXJpZXMvdXRpbHMvc3JjL2JpdC1hcnJheSc7XG5pbXBvcnQgeyBCaXRBcnJheU1ldHJpY3NOYW1lcyB9IGZyb20gJy4vdHlwZWQtbWV0cmljcy9jb25zdHMnO1xuaW1wb3J0IHsgTW1EaXN0YW5jZUZ1bmN0aW9uc05hbWVzIH0gZnJvbSAnLi9tYWNyb21vbGVjdWxlLWRpc3RhbmNlLWZ1bmN0aW9ucyc7XG5leHBvcnQgY29uc3Qgc2ltaWxhcml0eU1ldHJpYyA9IHtcbiAgICBbQml0QXJyYXlNZXRyaWNzTmFtZXMuVGFuaW1vdG9dOiB0YW5pbW90b1NpbWlsYXJpdHksXG4gICAgW0JpdEFycmF5TWV0cmljc05hbWVzLkRpY2VdOiBkaWNlU2ltaWxhcml0eSxcbiAgICBbQml0QXJyYXlNZXRyaWNzTmFtZXMuQXN5bW1ldHJpY106IGFzeW1tZXRyaWNTaW1pbGFyaXR5LFxuICAgIFtCaXRBcnJheU1ldHJpY3NOYW1lcy5CcmF1bkJsYW5xdWV0XTogYnJhdW5CbGFucXVldFNpbWlsYXJpdHksXG4gICAgW0JpdEFycmF5TWV0cmljc05hbWVzLkNvc2luZV06IGNvc2luZVNpbWlsYXJpdHksXG4gICAgW0JpdEFycmF5TWV0cmljc05hbWVzLkt1bGN6eW5za2ldOiBrdWxjenluc2tpU2ltaWxhcml0eSxcbiAgICBbQml0QXJyYXlNZXRyaWNzTmFtZXMuTWNDb25uYXVnaGV5XTogbWNDb25uYXVnaGV5U2ltaWxhcml0eSxcbiAgICBbQml0QXJyYXlNZXRyaWNzTmFtZXMuUm9nb3RHb2xkYmVyZ106IHJvZ290R29sZGJlcmdTaW1pbGFyaXR5LFxuICAgIFtCaXRBcnJheU1ldHJpY3NOYW1lcy5SdXNzZWxdOiBydXNzZWxTaW1pbGFyaXR5LFxuICAgIFtCaXRBcnJheU1ldHJpY3NOYW1lcy5Tb2thbF06IHNva2FsU2ltaWxhcml0eSxcbiAgICBbQml0QXJyYXlNZXRyaWNzTmFtZXMuSGFtbWluZ106IGhhbW1pbmdTaW1pbGFyaXR5LFxuICAgIFtCaXRBcnJheU1ldHJpY3NOYW1lcy5FdWNsaWRlYW5dOiBldWNsaWRlYW5TaW1pbGFyaXR5LFxufTtcbmV4cG9ydCBjb25zdCBkaXN0YW5jZU1ldHJpY3MgPSB7XG4gICAgW0JpdEFycmF5TWV0cmljc05hbWVzLlRhbmltb3RvXTogdGFuaW1vdG9EaXN0YW5jZSxcbiAgICBbQml0QXJyYXlNZXRyaWNzTmFtZXMuRGljZV06IGRpY2VEaXN0YW5jZSxcbiAgICBbQml0QXJyYXlNZXRyaWNzTmFtZXMuQXN5bW1ldHJpY106IGFzeW1tZXRyaWNEaXN0YW5jZSxcbiAgICBbQml0QXJyYXlNZXRyaWNzTmFtZXMuQnJhdW5CbGFucXVldF06IGJyYXVuQmxhbnF1ZXREaXN0YW5jZSxcbiAgICBbQml0QXJyYXlNZXRyaWNzTmFtZXMuQ29zaW5lXTogY29zaW5lRGlzdGFuY2UsXG4gICAgW0JpdEFycmF5TWV0cmljc05hbWVzLkt1bGN6eW5za2ldOiBrdWxjenluc2tpRGlzdGFuY2UsXG4gICAgW0JpdEFycmF5TWV0cmljc05hbWVzLk1jQ29ubmF1Z2hleV06IG1jQ29ubmF1Z2hleURpc3RhbmNlLFxuICAgIFtCaXRBcnJheU1ldHJpY3NOYW1lcy5Sb2dvdEdvbGRiZXJnXTogcm9nb3RHb2xkYmVyZ0Rpc3RhbmNlLFxuICAgIFtCaXRBcnJheU1ldHJpY3NOYW1lcy5SdXNzZWxdOiBydXNzZWxEaXN0YW5jZSxcbiAgICBbQml0QXJyYXlNZXRyaWNzTmFtZXMuU29rYWxdOiBzb2thbERpc3RhbmNlLFxuICAgIFtCaXRBcnJheU1ldHJpY3NOYW1lcy5IYW1taW5nXTogaGFtbWluZ0Rpc3RhbmNlLFxuICAgIFtCaXRBcnJheU1ldHJpY3NOYW1lcy5FdWNsaWRlYW5dOiBldWNsaWRlYW5EaXN0YW5jZSxcbn07XG5leHBvcnQgY29uc3QgQ0hFTV9TSU1JTEFSSVRZX01FVFJJQ1MgPSBbXG4gICAgQml0QXJyYXlNZXRyaWNzTmFtZXMuVGFuaW1vdG8sXG4gICAgQml0QXJyYXlNZXRyaWNzTmFtZXMuRGljZSxcbiAgICBCaXRBcnJheU1ldHJpY3NOYW1lcy5Db3NpbmVcbl07XG5leHBvcnQgY29uc3QgU0VRX1NQQUNFX1NJTUlMQVJJVFlfTUVUUklDUyA9IFtcbiAgICBCaXRBcnJheU1ldHJpY3NOYW1lcy5UYW5pbW90byxcbiAgICBCaXRBcnJheU1ldHJpY3NOYW1lcy5Bc3ltbWV0cmljLFxuICAgIEJpdEFycmF5TWV0cmljc05hbWVzLkNvc2luZSxcbiAgICBCaXRBcnJheU1ldHJpY3NOYW1lcy5Tb2thbFxuXTtcbmV4cG9ydCBjb25zdCBNQUNST01PTEVDVUxFX1NJTUlMQVJJVFlfTUVUUklDUyA9IFtcbiAgICBNbURpc3RhbmNlRnVuY3Rpb25zTmFtZXMuSEFNTUlORyxcbiAgICBNbURpc3RhbmNlRnVuY3Rpb25zTmFtZXMuTEVWRU5TSFRFSU4sXG4gICAgTW1EaXN0YW5jZUZ1bmN0aW9uc05hbWVzLk1PTk9NRVJfQ0hFTUlDQUxfRElTVEFOQ0Vcbl07XG5leHBvcnQgZnVuY3Rpb24gdGFuaW1vdG9TaW1pbGFyaXR5KHgsIHkpIHtcbiAgICBjb25zdCB0b3RhbCA9IHgudHJ1ZUNvdW50KCkgKyB5LnRydWVDb3VudCgpO1xuICAgIGlmICh0b3RhbCA9PSAwKVxuICAgICAgICByZXR1cm4gMS4wO1xuICAgIGNvbnN0IGNvbW1vbiA9IHguYW5kV2l0aENvdW50Qml0cyh5LCB0cnVlKTtcbiAgICByZXR1cm4gY29tbW9uIC8gKHRvdGFsIC0gY29tbW9uKTtcbn1cbmV4cG9ydCBmdW5jdGlvbiB0YW5pbW90b0Rpc3RhbmNlKHgsIHkpIHtcbiAgICByZXR1cm4gZ2V0RGlzdGFuY2VGcm9tU2ltaWxhcml0eSh0YW5pbW90b1NpbWlsYXJpdHkoeCwgeSkpO1xufVxuZXhwb3J0IGZ1bmN0aW9uIHRhbmltb3RvRGlzdGFuY2VJbnRBcnJheSh4LCB5KSB7XG4gICAgY29uc3QgeGIgPSBuZXcgQml0QXJyYXkoeCwgeC5sZW5ndGggKiAzMik7XG4gICAgY29uc3QgeWIgPSBuZXcgQml0QXJyYXkoeSwgeS5sZW5ndGggKiAzMik7XG4gICAgcmV0dXJuIGdldERpc3RhbmNlRnJvbVNpbWlsYXJpdHkodGFuaW1vdG9TaW1pbGFyaXR5KHhiLCB5YikpO1xufVxuZXhwb3J0IGZ1bmN0aW9uIGRpY2VTaW1pbGFyaXR5KHgsIHkpIHtcbiAgICBjb25zdCB0b3RhbCA9IHgudHJ1ZUNvdW50KCkgKyB5LnRydWVDb3VudCgpO1xuICAgIGlmICh0b3RhbCA9PSAwKVxuICAgICAgICByZXR1cm4gMC4wO1xuICAgIGNvbnN0IGNvbW1vbiA9IHguYW5kV2l0aENvdW50Qml0cyh5LCB0cnVlKTtcbiAgICByZXR1cm4gMiAqIGNvbW1vbiAvIHRvdGFsO1xufVxuZXhwb3J0IGZ1bmN0aW9uIGRpY2VEaXN0YW5jZSh4LCB5KSB7XG4gICAgcmV0dXJuIGdldERpc3RhbmNlRnJvbVNpbWlsYXJpdHkoZGljZVNpbWlsYXJpdHkoeCwgeSkpO1xufVxuZXhwb3J0IGZ1bmN0aW9uIGNvc2luZVNpbWlsYXJpdHkoeCwgeSkge1xuICAgIGNvbnN0IHRvdGFsID0geC50cnVlQ291bnQoKSAqIHkudHJ1ZUNvdW50KCk7XG4gICAgaWYgKHRvdGFsID09IDApXG4gICAgICAgIHJldHVybiAwLjA7XG4gICAgY29uc3QgY29tbW9uID0geC5hbmRXaXRoQ291bnRCaXRzKHksIHRydWUpO1xuICAgIHJldHVybiBjb21tb24gLyBNYXRoLnNxcnQodG90YWwpO1xufVxuZXhwb3J0IGZ1bmN0aW9uIGNvc2luZURpc3RhbmNlKHgsIHkpIHtcbiAgICByZXR1cm4gZ2V0RGlzdGFuY2VGcm9tU2ltaWxhcml0eShjb3NpbmVTaW1pbGFyaXR5KHgsIHkpKTtcbn1cbmV4cG9ydCBmdW5jdGlvbiBldWNsaWRlYW5TaW1pbGFyaXR5KHgsIHkpIHtcbiAgICByZXR1cm4gZ2V0U2ltaWxhcml0eUZyb21EaXN0YW5jZShldWNsaWRlYW5EaXN0YW5jZSh4LCB5KSk7XG59XG5leHBvcnQgZnVuY3Rpb24gZXVjbGlkZWFuRGlzdGFuY2UoeCwgeSkge1xuICAgIHJldHVybiBNYXRoLnNxcnQoeC50cnVlQ291bnQoKSArIHkudHJ1ZUNvdW50KCkgLSAyICogeC5hbmRXaXRoQ291bnRCaXRzKHksIHRydWUpKTtcbn1cbmV4cG9ydCBmdW5jdGlvbiBoYW1taW5nU2ltaWxhcml0eSh4LCB5KSB7XG4gICAgcmV0dXJuIGdldFNpbWlsYXJpdHlGcm9tRGlzdGFuY2UoaGFtbWluZ0Rpc3RhbmNlKHgsIHkpKTtcbn1cbmV4cG9ydCBmdW5jdGlvbiBoYW1taW5nRGlzdGFuY2UoeCwgeSkge1xuICAgIHJldHVybiB4LnRydWVDb3VudCgpICsgeS50cnVlQ291bnQoKSAtIDIgKiB4LmFuZFdpdGhDb3VudEJpdHMoeSwgdHJ1ZSk7XG59XG5leHBvcnQgZnVuY3Rpb24gc29rYWxTaW1pbGFyaXR5KHgsIHkpIHtcbiAgICBjb25zdCB0b3RhbCA9IHgudHJ1ZUNvdW50KCkgKyB5LnRydWVDb3VudCgpO1xuICAgIGNvbnN0IGNvbW1vbiA9IHguYW5kV2l0aENvdW50Qml0cyh5LCB0cnVlKTtcbiAgICByZXR1cm4gY29tbW9uIC8gKDIgKiB0b3RhbCAtIDMgKiBjb21tb24pO1xufVxuZXhwb3J0IGZ1bmN0aW9uIHNva2FsRGlzdGFuY2UoeCwgeSkge1xuICAgIHJldHVybiBnZXREaXN0YW5jZUZyb21TaW1pbGFyaXR5KHNva2FsU2ltaWxhcml0eSh4LCB5KSk7XG59XG5leHBvcnQgZnVuY3Rpb24ga3VsY3p5bnNraVNpbWlsYXJpdHkoeCwgeSkge1xuICAgIGNvbnN0IHRvdGFsID0geC50cnVlQ291bnQoKSArIHkudHJ1ZUNvdW50KCk7XG4gICAgY29uc3QgdG90YWxQcm9kID0geC50cnVlQ291bnQoKSAqIHkudHJ1ZUNvdW50KCk7XG4gICAgaWYgKHRvdGFsUHJvZCA9PSAwKVxuICAgICAgICByZXR1cm4gMC4wO1xuICAgIGNvbnN0IGNvbW1vbiA9IHguYW5kV2l0aENvdW50Qml0cyh5LCB0cnVlKTtcbiAgICByZXR1cm4gKGNvbW1vbiAqIHRvdGFsKSAvICgyICogdG90YWxQcm9kKTtcbn1cbmV4cG9ydCBmdW5jdGlvbiBrdWxjenluc2tpRGlzdGFuY2UoeCwgeSkge1xuICAgIHJldHVybiBnZXREaXN0YW5jZUZyb21TaW1pbGFyaXR5KGt1bGN6eW5za2lTaW1pbGFyaXR5KHgsIHkpKTtcbn1cbmV4cG9ydCBmdW5jdGlvbiBtY0Nvbm5hdWdoZXlTaW1pbGFyaXR5KHgsIHkpIHtcbiAgICBjb25zdCB0b3RhbCA9IHgudHJ1ZUNvdW50KCkgKyB5LnRydWVDb3VudCgpO1xuICAgIGNvbnN0IHRvdGFsUHJvZCA9IHgudHJ1ZUNvdW50KCkgKiB5LnRydWVDb3VudCgpO1xuICAgIGlmICh0b3RhbFByb2QgPT0gMClcbiAgICAgICAgcmV0dXJuIDAuMDtcbiAgICBjb25zdCBjb21tb24gPSB4LmFuZFdpdGhDb3VudEJpdHMoeSwgdHJ1ZSk7XG4gICAgcmV0dXJuIChjb21tb24gKiB0b3RhbCAtIHRvdGFsUHJvZCkgLyB0b3RhbFByb2Q7XG59XG5leHBvcnQgZnVuY3Rpb24gbWNDb25uYXVnaGV5RGlzdGFuY2UoeCwgeSkge1xuICAgIHJldHVybiBnZXREaXN0YW5jZUZyb21TaW1pbGFyaXR5KG1jQ29ubmF1Z2hleVNpbWlsYXJpdHkoeCwgeSkpO1xufVxuZXhwb3J0IGZ1bmN0aW9uIGFzeW1tZXRyaWNTaW1pbGFyaXR5KHgsIHkpIHtcbiAgICBjb25zdCBtaW4gPSBNYXRoLm1pbih4LnRydWVDb3VudCgpLCB5LnRydWVDb3VudCgpKTtcbiAgICBpZiAobWluID09IDApXG4gICAgICAgIHJldHVybiAwLjA7XG4gICAgY29uc3QgY29tbW9uID0geC5hbmRXaXRoQ291bnRCaXRzKHksIHRydWUpO1xuICAgIHJldHVybiBjb21tb24gLyBtaW47XG59XG5leHBvcnQgZnVuY3Rpb24gYXN5bW1ldHJpY0Rpc3RhbmNlKHgsIHkpIHtcbiAgICByZXR1cm4gZ2V0RGlzdGFuY2VGcm9tU2ltaWxhcml0eShhc3ltbWV0cmljU2ltaWxhcml0eSh4LCB5KSk7XG59XG5leHBvcnQgZnVuY3Rpb24gYnJhdW5CbGFucXVldFNpbWlsYXJpdHkoeCwgeSkge1xuICAgIGNvbnN0IG1heCA9IE1hdGgubWF4KHgudHJ1ZUNvdW50KCksIHkudHJ1ZUNvdW50KCkpO1xuICAgIGlmIChtYXggPT0gMClcbiAgICAgICAgcmV0dXJuIDAuMDtcbiAgICBjb25zdCBjb21tb24gPSB4LmFuZFdpdGhDb3VudEJpdHMoeSwgdHJ1ZSk7XG4gICAgcmV0dXJuIGNvbW1vbiAvIG1heDtcbn1cbmV4cG9ydCBmdW5jdGlvbiBicmF1bkJsYW5xdWV0RGlzdGFuY2UoeCwgeSkge1xuICAgIHJldHVybiBnZXREaXN0YW5jZUZyb21TaW1pbGFyaXR5KGJyYXVuQmxhbnF1ZXRTaW1pbGFyaXR5KHgsIHkpKTtcbn1cbmV4cG9ydCBmdW5jdGlvbiBydXNzZWxTaW1pbGFyaXR5KHgsIHkpIHtcbiAgICBpZiAoeC5sZW5ndGggPT0gMClcbiAgICAgICAgcmV0dXJuIDAuMDtcbiAgICBjb25zdCBjb21tb24gPSB4LmFuZFdpdGhDb3VudEJpdHMoeSwgdHJ1ZSk7XG4gICAgcmV0dXJuIGNvbW1vbiAvIHgubGVuZ3RoO1xufVxuZXhwb3J0IGZ1bmN0aW9uIHJ1c3NlbERpc3RhbmNlKHgsIHkpIHtcbiAgICByZXR1cm4gZ2V0RGlzdGFuY2VGcm9tU2ltaWxhcml0eShydXNzZWxTaW1pbGFyaXR5KHgsIHkpKTtcbn1cbmV4cG9ydCBmdW5jdGlvbiByb2dvdEdvbGRiZXJnU2ltaWxhcml0eSh4LCB5KSB7XG4gICAgY29uc3QgY29tbW9uID0geC5hbmRXaXRoQ291bnRCaXRzKHksIHRydWUpO1xuICAgIGNvbnN0IHRvdGFsID0geC5jb3VudEJpdHModHJ1ZSkgKyB5LmNvdW50Qml0cyh0cnVlKTtcbiAgICBjb25zdCBsZW4gPSB4Lmxlbmd0aDtcbiAgICBjb25zdCBkaWZmID0gbGVuIC0gdG90YWwgKyBjb21tb247XG4gICAgaWYgKChjb21tb24gPT0gbGVuKSB8fCAoZGlmZiA9PSBsZW4pKVxuICAgICAgICByZXR1cm4gMS4wO1xuICAgIGVsc2VcbiAgICAgICAgcmV0dXJuIGNvbW1vbiAvIHRvdGFsICsgZGlmZiAvICgyICogbGVuIC0gdG90YWwpO1xufVxuZXhwb3J0IGZ1bmN0aW9uIHJvZ290R29sZGJlcmdEaXN0YW5jZSh4LCB5KSB7XG4gICAgcmV0dXJuIGdldERpc3RhbmNlRnJvbVNpbWlsYXJpdHkocm9nb3RHb2xkYmVyZ1NpbWlsYXJpdHkoeCwgeSkpO1xufVxuZXhwb3J0IGZ1bmN0aW9uIGdldFNpbWlsYXJpdHlGcm9tRGlzdGFuY2UoZGlzdGFuY2UpIHtcbiAgICByZXR1cm4gMSAvICgxICsgZGlzdGFuY2UpO1xufVxuZXhwb3J0IGZ1bmN0aW9uIGdldERpc3RhbmNlRnJvbVNpbWlsYXJpdHkoc2ltaWxhcml0eSkge1xuICAgIHJldHVybiBzaW1pbGFyaXR5ID09PSAwID8gMy40MDI4MjNFKzM4IDogKDEgLyBzaW1pbGFyaXR5KSAtIDE7XG59XG5leHBvcnQgZnVuY3Rpb24gbnVtZXJpY0Rpc3RhbmNlKHgsIHkpIHtcbiAgICByZXR1cm4gTWF0aC5hYnMoeCAtIHkpO1xufVxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKbWFXeGxJam9pWkdsemRHRnVZMlV0YldWMGNtbGpjeTF0WlhSb2IyUnpMbXB6SWl3aWMyOTFjbU5sVW05dmRDSTZJaUlzSW5OdmRYSmpaWE1pT2xzaVpHbHpkR0Z1WTJVdGJXVjBjbWxqY3kxdFpYUm9iMlJ6TG5SeklsMHNJbTVoYldWeklqcGJYU3dpYldGd2NHbHVaM01pT2lKQlFVRkJMRTlCUVU4c1VVRkJVU3hOUVVGTkxIbERRVUY1UXl4RFFVRkRPMEZCUXk5RUxFOUJRVThzUlVGQlF5eHZRa0ZCYjBJc1JVRkJkVUlzVFVGQlRTeDNRa0ZCZDBJc1EwRkJRenRCUVVOc1JpeFBRVUZQTEVWQlFVVXNkMEpCUVhkQ0xFVkJRVVVzVFVGQlRTeHZRMEZCYjBNc1EwRkJRenRCUVVVNVJTeE5RVUZOTEVOQlFVTXNUVUZCVFN4blFrRkJaMElzUjBGQk5rUTdTVUZEZUVZc1EwRkJReXh2UWtGQmIwSXNRMEZCUXl4UlFVRlJMRU5CUVVNc1JVRkJSU3hyUWtGQmEwSTdTVUZEYmtRc1EwRkJReXh2UWtGQmIwSXNRMEZCUXl4SlFVRkpMRU5CUVVNc1JVRkJSU3hqUVVGak8wbEJRek5ETEVOQlFVTXNiMEpCUVc5Q0xFTkJRVU1zVlVGQlZTeERRVUZETEVWQlFVVXNiMEpCUVc5Q08wbEJRM1pFTEVOQlFVTXNiMEpCUVc5Q0xFTkJRVU1zWVVGQllTeERRVUZETEVWQlFVVXNkVUpCUVhWQ08wbEJRemRFTEVOQlFVTXNiMEpCUVc5Q0xFTkJRVU1zVFVGQlRTeERRVUZETEVWQlFVVXNaMEpCUVdkQ08wbEJReTlETEVOQlFVTXNiMEpCUVc5Q0xFTkJRVU1zVlVGQlZTeERRVUZETEVWQlFVVXNiMEpCUVc5Q08wbEJRM1pFTEVOQlFVTXNiMEpCUVc5Q0xFTkJRVU1zV1VGQldTeERRVUZETEVWQlFVVXNjMEpCUVhOQ08wbEJRek5FTEVOQlFVTXNiMEpCUVc5Q0xFTkJRVU1zWVVGQllTeERRVUZETEVWQlFVVXNkVUpCUVhWQ08wbEJRemRFTEVOQlFVTXNiMEpCUVc5Q0xFTkJRVU1zVFVGQlRTeERRVUZETEVWQlFVVXNaMEpCUVdkQ08wbEJReTlETEVOQlFVTXNiMEpCUVc5Q0xFTkJRVU1zUzBGQlN5eERRVUZETEVWQlFVVXNaVUZCWlR0SlFVTTNReXhEUVVGRExHOUNRVUZ2UWl4RFFVRkRMRTlCUVU4c1EwRkJReXhGUVVGRkxHbENRVUZwUWp0SlFVTnFSQ3hEUVVGRExHOUNRVUZ2UWl4RFFVRkRMRk5CUVZNc1EwRkJReXhGUVVGRkxHMUNRVUZ0UWp0RFFVTjBSQ3hEUVVGRE8wRkJSVVlzVFVGQlRTeERRVUZETEUxQlFVMHNaVUZCWlN4SFFVRTJSRHRKUVVOMlJpeERRVUZETEc5Q1FVRnZRaXhEUVVGRExGRkJRVkVzUTBGQlF5eEZRVUZGTEdkQ1FVRm5RanRKUVVOcVJDeERRVUZETEc5Q1FVRnZRaXhEUVVGRExFbEJRVWtzUTBGQlF5eEZRVUZGTEZsQlFWazdTVUZEZWtNc1EwRkJReXh2UWtGQmIwSXNRMEZCUXl4VlFVRlZMRU5CUVVNc1JVRkJSU3hyUWtGQmEwSTdTVUZEY2tRc1EwRkJReXh2UWtGQmIwSXNRMEZCUXl4aFFVRmhMRU5CUVVNc1JVRkJSU3h4UWtGQmNVSTdTVUZETTBRc1EwRkJReXh2UWtGQmIwSXNRMEZCUXl4TlFVRk5MRU5CUVVNc1JVRkJSU3hqUVVGak8wbEJRemRETEVOQlFVTXNiMEpCUVc5Q0xFTkJRVU1zVlVGQlZTeERRVUZETEVWQlFVVXNhMEpCUVd0Q08wbEJRM0pFTEVOQlFVTXNiMEpCUVc5Q0xFTkJRVU1zV1VGQldTeERRVUZETEVWQlFVVXNiMEpCUVc5Q08wbEJRM3BFTEVOQlFVTXNiMEpCUVc5Q0xFTkJRVU1zWVVGQllTeERRVUZETEVWQlFVVXNjVUpCUVhGQ08wbEJRek5FTEVOQlFVTXNiMEpCUVc5Q0xFTkJRVU1zVFVGQlRTeERRVUZETEVWQlFVVXNZMEZCWXp0SlFVTTNReXhEUVVGRExHOUNRVUZ2UWl4RFFVRkRMRXRCUVVzc1EwRkJReXhGUVVGRkxHRkJRV0U3U1VGRE0wTXNRMEZCUXl4dlFrRkJiMElzUTBGQlF5eFBRVUZQTEVOQlFVTXNSVUZCUlN4bFFVRmxPMGxCUXk5RExFTkJRVU1zYjBKQlFXOUNMRU5CUVVNc1UwRkJVeXhEUVVGRExFVkJRVVVzYVVKQlFXbENPME5CUTNCRUxFTkJRVU03UVVGRlJpeE5RVUZOTEVOQlFVTXNUVUZCVFN4MVFrRkJkVUlzUjBGQlJ6dEpRVU55UXl4dlFrRkJiMElzUTBGQlF5eFJRVUZSTzBsQlF6ZENMRzlDUVVGdlFpeERRVUZETEVsQlFVazdTVUZEZWtJc2IwSkJRVzlDTEVOQlFVTXNUVUZCVFR0RFFVRkRMRU5CUVVNN1FVRkRMMElzVFVGQlRTeERRVUZETEUxQlFVMHNORUpCUVRSQ0xFZEJRVWM3U1VGRE1VTXNiMEpCUVc5Q0xFTkJRVU1zVVVGQlVUdEpRVU0zUWl4dlFrRkJiMElzUTBGQlF5eFZRVUZWTzBsQlF5OUNMRzlDUVVGdlFpeERRVUZETEUxQlFVMDdTVUZETTBJc2IwSkJRVzlDTEVOQlFVTXNTMEZCU3p0RFFVRkRMRU5CUVVNN1FVRkRPVUlzVFVGQlRTeERRVUZETEUxQlFVMHNaME5CUVdkRExFZEJRVWM3U1VGRE9VTXNkMEpCUVhkQ0xFTkJRVU1zVDBGQlR6dEpRVU5vUXl4M1FrRkJkMElzUTBGQlF5eFhRVUZYTzBsQlEzQkRMSGRDUVVGM1FpeERRVUZETEhsQ1FVRjVRanREUVVGRExFTkJRVU03UVVGSGRFUXNUVUZCVFN4VlFVRlZMR3RDUVVGclFpeERRVUZETEVOQlFWY3NSVUZCUlN4RFFVRlhPMGxCUTNwRUxFMUJRVTBzUzBGQlN5eEhRVUZITEVOQlFVTXNRMEZCUXl4VFFVRlRMRVZCUVVVc1IwRkJSeXhEUVVGRExFTkJRVU1zVTBGQlV5eEZRVUZGTEVOQlFVTTdTVUZETlVNc1NVRkJTU3hMUVVGTExFbEJRVWtzUTBGQlF6dFJRVUZGTEU5QlFVOHNSMEZCUnl4RFFVRkRPMGxCUXpOQ0xFMUJRVTBzVFVGQlRTeEhRVUZITEVOQlFVTXNRMEZCUXl4blFrRkJaMElzUTBGQlF5eERRVUZETEVWQlFVVXNTVUZCU1N4RFFVRkRMRU5CUVVNN1NVRkRNME1zVDBGQlR5eE5RVUZOTEVkQlFVY3NRMEZCUXl4TFFVRkxMRWRCUVVjc1RVRkJUU3hEUVVGRExFTkJRVU03UVVGRGJrTXNRMEZCUXp0QlFVVkVMRTFCUVUwc1ZVRkJWU3huUWtGQlowSXNRMEZCUXl4RFFVRlhMRVZCUVVVc1EwRkJWenRKUVVOMlJDeFBRVUZQTEhsQ1FVRjVRaXhEUVVGRExHdENRVUZyUWl4RFFVRkRMRU5CUVVNc1JVRkJSU3hEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETzBGQlF6ZEVMRU5CUVVNN1FVRkZSQ3hOUVVGTkxGVkJRVlVzZDBKQlFYZENMRU5CUVVNc1EwRkJZeXhGUVVGRkxFTkJRV003U1VGRGNrVXNUVUZCVFN4RlFVRkZMRWRCUVVjc1NVRkJTU3hSUVVGUkxFTkJRVU1zUTBGQlF5eEZRVUZGTEVOQlFVTXNRMEZCUXl4TlFVRk5MRWRCUVVjc1JVRkJSU3hEUVVGRExFTkJRVU03U1VGRE1VTXNUVUZCVFN4RlFVRkZMRWRCUVVjc1NVRkJTU3hSUVVGUkxFTkJRVU1zUTBGQlF5eEZRVUZGTEVOQlFVTXNRMEZCUXl4TlFVRk5MRWRCUVVjc1JVRkJSU3hEUVVGRExFTkJRVU03U1VGRE1VTXNUMEZCVHl4NVFrRkJlVUlzUTBGQlF5eHJRa0ZCYTBJc1EwRkJReXhGUVVGRkxFVkJRVVVzUlVGQlJTeERRVUZETEVOQlFVTXNRMEZCUXp0QlFVTXZSQ3hEUVVGRE8wRkJSVVFzVFVGQlRTeFZRVUZWTEdOQlFXTXNRMEZCUXl4RFFVRlhMRVZCUVVVc1EwRkJWenRKUVVOeVJDeE5RVUZOTEV0QlFVc3NSMEZCUnl4RFFVRkRMRU5CUVVNc1UwRkJVeXhGUVVGRkxFZEJRVWNzUTBGQlF5eERRVUZETEZOQlFWTXNSVUZCUlN4RFFVRkRPMGxCUXpWRExFbEJRVWtzUzBGQlN5eEpRVUZKTEVOQlFVTTdVVUZCUlN4UFFVRlBMRWRCUVVjc1EwRkJRenRKUVVNelFpeE5RVUZOTEUxQlFVMHNSMEZCUnl4RFFVRkRMRU5CUVVNc1owSkJRV2RDTEVOQlFVTXNRMEZCUXl4RlFVRkZMRWxCUVVrc1EwRkJReXhEUVVGRE8wbEJRek5ETEU5QlFVOHNRMEZCUXl4SFFVRkhMRTFCUVUwc1IwRkJSeXhMUVVGTExFTkJRVU03UVVGRE5VSXNRMEZCUXp0QlFVVkVMRTFCUVUwc1ZVRkJWU3haUVVGWkxFTkJRVU1zUTBGQlZ5eEZRVUZGTEVOQlFWYzdTVUZEYmtRc1QwRkJUeXg1UWtGQmVVSXNRMEZCUXl4alFVRmpMRU5CUVVNc1EwRkJReXhGUVVGRkxFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTTdRVUZEZWtRc1EwRkJRenRCUVVWRUxFMUJRVTBzVlVGQlZTeG5Ra0ZCWjBJc1EwRkJReXhEUVVGWExFVkJRVVVzUTBGQlZ6dEpRVU4yUkN4TlFVRk5MRXRCUVVzc1IwRkJSeXhEUVVGRExFTkJRVU1zVTBGQlV5eEZRVUZGTEVkQlFVY3NRMEZCUXl4RFFVRkRMRk5CUVZNc1JVRkJSU3hEUVVGRE8wbEJRelZETEVsQlFVa3NTMEZCU3l4SlFVRkpMRU5CUVVNN1VVRkJSU3hQUVVGUExFZEJRVWNzUTBGQlF6dEpRVU16UWl4TlFVRk5MRTFCUVUwc1IwRkJSeXhEUVVGRExFTkJRVU1zWjBKQlFXZENMRU5CUVVNc1EwRkJReXhGUVVGRkxFbEJRVWtzUTBGQlF5eERRVUZETzBsQlF6TkRMRTlCUVU4c1RVRkJUU3hIUVVGSExFbEJRVWtzUTBGQlF5eEpRVUZKTEVOQlFVTXNTMEZCU3l4RFFVRkRMRU5CUVVNN1FVRkRia01zUTBGQlF6dEJRVVZFTEUxQlFVMHNWVUZCVlN4alFVRmpMRU5CUVVNc1EwRkJWeXhGUVVGRkxFTkJRVmM3U1VGRGNrUXNUMEZCVHl4NVFrRkJlVUlzUTBGQlF5eG5Ra0ZCWjBJc1EwRkJReXhEUVVGRExFVkJRVVVzUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXp0QlFVTXpSQ3hEUVVGRE8wRkJSVVFzVFVGQlRTeFZRVUZWTEcxQ1FVRnRRaXhEUVVGRExFTkJRVmNzUlVGQlJTeERRVUZYTzBsQlF6RkVMRTlCUVU4c2VVSkJRWGxDTEVOQlFVTXNhVUpCUVdsQ0xFTkJRVU1zUTBGQlF5eEZRVUZGTEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNN1FVRkROVVFzUTBGQlF6dEJRVVZFTEUxQlFVMHNWVUZCVlN4cFFrRkJhVUlzUTBGQlF5eERRVUZYTEVWQlFVVXNRMEZCVnp0SlFVTjRSQ3hQUVVGUExFbEJRVWtzUTBGQlF5eEpRVUZKTEVOQlFVTXNRMEZCUXl4RFFVRkRMRk5CUVZNc1JVRkJSU3hIUVVGSExFTkJRVU1zUTBGQlF5eFRRVUZUTEVWQlFVVXNSMEZCUnl4RFFVRkRMRWRCUVVjc1EwRkJReXhEUVVGRExHZENRVUZuUWl4RFFVRkRMRU5CUVVNc1JVRkJSU3hKUVVGSkxFTkJRVU1zUTBGQlF5eERRVUZETzBGQlEzQkdMRU5CUVVNN1FVRkZSQ3hOUVVGTkxGVkJRVlVzYVVKQlFXbENMRU5CUVVNc1EwRkJWeXhGUVVGRkxFTkJRVmM3U1VGRGVFUXNUMEZCVHl4NVFrRkJlVUlzUTBGQlF5eGxRVUZsTEVOQlFVTXNRMEZCUXl4RlFVRkZMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU03UVVGRE1VUXNRMEZCUXp0QlFVVkVMRTFCUVUwc1ZVRkJWU3hsUVVGbExFTkJRVU1zUTBGQlZ5eEZRVUZGTEVOQlFWYzdTVUZEZEVRc1QwRkJUeXhEUVVGRExFTkJRVU1zVTBGQlV5eEZRVUZGTEVkQlFVY3NRMEZCUXl4RFFVRkRMRk5CUVZNc1JVRkJSU3hIUVVGSExFTkJRVU1zUjBGQlJ5eERRVUZETEVOQlFVTXNaMEpCUVdkQ0xFTkJRVU1zUTBGQlF5eEZRVUZGTEVsQlFVa3NRMEZCUXl4RFFVRkRPMEZCUTNwRkxFTkJRVU03UVVGRlJDeE5RVUZOTEZWQlFWVXNaVUZCWlN4RFFVRkRMRU5CUVZjc1JVRkJSU3hEUVVGWE8wbEJRM1JFTEUxQlFVMHNTMEZCU3l4SFFVRkhMRU5CUVVNc1EwRkJReXhUUVVGVExFVkJRVVVzUjBGQlJ5eERRVUZETEVOQlFVTXNVMEZCVXl4RlFVRkZMRU5CUVVNN1NVRkROVU1zVFVGQlRTeE5RVUZOTEVkQlFVY3NRMEZCUXl4RFFVRkRMR2RDUVVGblFpeERRVUZETEVOQlFVTXNSVUZCUlN4SlFVRkpMRU5CUVVNc1EwRkJRenRKUVVNelF5eFBRVUZQTEUxQlFVMHNSMEZCUnl4RFFVRkRMRU5CUVVNc1IwRkJSeXhMUVVGTExFZEJRVWNzUTBGQlF5eEhRVUZITEUxQlFVMHNRMEZCUXl4RFFVRkRPMEZCUXpORExFTkJRVU03UVVGRlJDeE5RVUZOTEZWQlFWVXNZVUZCWVN4RFFVRkRMRU5CUVZjc1JVRkJSU3hEUVVGWE8wbEJRM0JFTEU5QlFVOHNlVUpCUVhsQ0xFTkJRVU1zWlVGQlpTeERRVUZETEVOQlFVTXNSVUZCUlN4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRE8wRkJRekZFTEVOQlFVTTdRVUZGUkN4TlFVRk5MRlZCUVZVc2IwSkJRVzlDTEVOQlFVTXNRMEZCVnl4RlFVRkZMRU5CUVZjN1NVRkRNMFFzVFVGQlRTeExRVUZMTEVkQlFVY3NRMEZCUXl4RFFVRkRMRk5CUVZNc1JVRkJSU3hIUVVGSExFTkJRVU1zUTBGQlF5eFRRVUZUTEVWQlFVVXNRMEZCUXp0SlFVTTFReXhOUVVGTkxGTkJRVk1zUjBGQlJ5eERRVUZETEVOQlFVTXNVMEZCVXl4RlFVRkZMRWRCUVVjc1EwRkJReXhEUVVGRExGTkJRVk1zUlVGQlJTeERRVUZETzBsQlEyaEVMRWxCUVVrc1UwRkJVeXhKUVVGSkxFTkJRVU03VVVGQlJTeFBRVUZQTEVkQlFVY3NRMEZCUXp0SlFVTXZRaXhOUVVGTkxFMUJRVTBzUjBGQlJ5eERRVUZETEVOQlFVTXNaMEpCUVdkQ0xFTkJRVU1zUTBGQlF5eEZRVUZGTEVsQlFVa3NRMEZCUXl4RFFVRkRPMGxCUXpORExFOUJRVThzUTBGQlF5eE5RVUZOTEVkQlFVY3NTMEZCU3l4RFFVRkRMRWRCUVVjc1EwRkJReXhEUVVGRExFZEJRVWNzVTBGQlV5eERRVUZETEVOQlFVTTdRVUZETlVNc1EwRkJRenRCUVVWRUxFMUJRVTBzVlVGQlZTeHJRa0ZCYTBJc1EwRkJReXhEUVVGWExFVkJRVVVzUTBGQlZ6dEpRVU42UkN4UFFVRlBMSGxDUVVGNVFpeERRVUZETEc5Q1FVRnZRaXhEUVVGRExFTkJRVU1zUlVGQlJTeERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRPMEZCUXk5RUxFTkJRVU03UVVGRlJDeE5RVUZOTEZWQlFWVXNjMEpCUVhOQ0xFTkJRVU1zUTBGQlZ5eEZRVUZGTEVOQlFWYzdTVUZETjBRc1RVRkJUU3hMUVVGTExFZEJRVWNzUTBGQlF5eERRVUZETEZOQlFWTXNSVUZCUlN4SFFVRkhMRU5CUVVNc1EwRkJReXhUUVVGVExFVkJRVVVzUTBGQlF6dEpRVU0xUXl4TlFVRk5MRk5CUVZNc1IwRkJSeXhEUVVGRExFTkJRVU1zVTBGQlV5eEZRVUZGTEVkQlFVY3NRMEZCUXl4RFFVRkRMRk5CUVZNc1JVRkJSU3hEUVVGRE8wbEJRMmhFTEVsQlFVa3NVMEZCVXl4SlFVRkpMRU5CUVVNN1VVRkJSU3hQUVVGUExFZEJRVWNzUTBGQlF6dEpRVU12UWl4TlFVRk5MRTFCUVUwc1IwRkJSeXhEUVVGRExFTkJRVU1zWjBKQlFXZENMRU5CUVVNc1EwRkJReXhGUVVGRkxFbEJRVWtzUTBGQlF5eERRVUZETzBsQlF6TkRMRTlCUVU4c1EwRkJReXhOUVVGTkxFZEJRVWNzUzBGQlN5eEhRVUZITEZOQlFWTXNRMEZCUXl4SFFVRkhMRk5CUVZNc1EwRkJRenRCUVVOc1JDeERRVUZETzBGQlJVUXNUVUZCVFN4VlFVRlZMRzlDUVVGdlFpeERRVUZETEVOQlFWY3NSVUZCUlN4RFFVRlhPMGxCUXpORUxFOUJRVThzZVVKQlFYbENMRU5CUVVNc2MwSkJRWE5DTEVOQlFVTXNRMEZCUXl4RlFVRkZMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU03UVVGRGFrVXNRMEZCUXp0QlFVVkVMRTFCUVUwc1ZVRkJWU3h2UWtGQmIwSXNRMEZCUXl4RFFVRlhMRVZCUVVVc1EwRkJWenRKUVVNelJDeE5RVUZOTEVkQlFVY3NSMEZCUnl4SlFVRkpMRU5CUVVNc1IwRkJSeXhEUVVGRExFTkJRVU1zUTBGQlF5eFRRVUZUTEVWQlFVVXNSVUZCUlN4RFFVRkRMRU5CUVVNc1UwRkJVeXhGUVVGRkxFTkJRVU1zUTBGQlF6dEpRVU51UkN4SlFVRkpMRWRCUVVjc1NVRkJTU3hEUVVGRE8xRkJRVVVzVDBGQlR5eEhRVUZITEVOQlFVTTdTVUZEZWtJc1RVRkJUU3hOUVVGTkxFZEJRVWNzUTBGQlF5eERRVUZETEdkQ1FVRm5RaXhEUVVGRExFTkJRVU1zUlVGQlJTeEpRVUZKTEVOQlFVTXNRMEZCUXp0SlFVTXpReXhQUVVGUExFMUJRVTBzUjBGQlJ5eEhRVUZITEVOQlFVTTdRVUZEZEVJc1EwRkJRenRCUVVWRUxFMUJRVTBzVlVGQlZTeHJRa0ZCYTBJc1EwRkJReXhEUVVGWExFVkJRVVVzUTBGQlZ6dEpRVU42UkN4UFFVRlBMSGxDUVVGNVFpeERRVUZETEc5Q1FVRnZRaXhEUVVGRExFTkJRVU1zUlVGQlJTeERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRPMEZCUXk5RUxFTkJRVU03UVVGRlJDeE5RVUZOTEZWQlFWVXNkVUpCUVhWQ0xFTkJRVU1zUTBGQlZ5eEZRVUZGTEVOQlFWYzdTVUZET1VRc1RVRkJUU3hIUVVGSExFZEJRVWNzU1VGQlNTeERRVUZETEVkQlFVY3NRMEZCUXl4RFFVRkRMRU5CUVVNc1UwRkJVeXhGUVVGRkxFVkJRVVVzUTBGQlF5eERRVUZETEZOQlFWTXNSVUZCUlN4RFFVRkRMRU5CUVVNN1NVRkRia1FzU1VGQlNTeEhRVUZITEVsQlFVa3NRMEZCUXp0UlFVRkZMRTlCUVU4c1IwRkJSeXhEUVVGRE8wbEJRM3BDTEUxQlFVMHNUVUZCVFN4SFFVRkhMRU5CUVVNc1EwRkJReXhuUWtGQlowSXNRMEZCUXl4RFFVRkRMRVZCUVVVc1NVRkJTU3hEUVVGRExFTkJRVU03U1VGRE0wTXNUMEZCVHl4TlFVRk5MRWRCUVVjc1IwRkJSeXhEUVVGRE8wRkJRM1JDTEVOQlFVTTdRVUZGUkN4TlFVRk5MRlZCUVZVc2NVSkJRWEZDTEVOQlFVTXNRMEZCVnl4RlFVRkZMRU5CUVZjN1NVRkROVVFzVDBGQlR5eDVRa0ZCZVVJc1EwRkJReXgxUWtGQmRVSXNRMEZCUXl4RFFVRkRMRVZCUVVVc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF6dEJRVU5zUlN4RFFVRkRPMEZCUlVRc1RVRkJUU3hWUVVGVkxHZENRVUZuUWl4RFFVRkRMRU5CUVZjc1JVRkJSU3hEUVVGWE8wbEJRM1pFTEVsQlFVa3NRMEZCUXl4RFFVRkRMRTFCUVUwc1NVRkJTU3hEUVVGRE8xRkJRVVVzVDBGQlR5eEhRVUZITEVOQlFVTTdTVUZET1VJc1RVRkJUU3hOUVVGTkxFZEJRVWNzUTBGQlF5eERRVUZETEdkQ1FVRm5RaXhEUVVGRExFTkJRVU1zUlVGQlJTeEpRVUZKTEVOQlFVTXNRMEZCUXp0SlFVTXpReXhQUVVGUExFMUJRVTBzUjBGQlJ5eERRVUZETEVOQlFVTXNUVUZCVFN4RFFVRkRPMEZCUXpOQ0xFTkJRVU03UVVGRlJDeE5RVUZOTEZWQlFWVXNZMEZCWXl4RFFVRkRMRU5CUVZjc1JVRkJSU3hEUVVGWE8wbEJRM0pFTEU5QlFVOHNlVUpCUVhsQ0xFTkJRVU1zWjBKQlFXZENMRU5CUVVNc1EwRkJReXhGUVVGRkxFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTTdRVUZETTBRc1EwRkJRenRCUVVWRUxFMUJRVTBzVlVGQlZTeDFRa0ZCZFVJc1EwRkJReXhEUVVGWExFVkJRVVVzUTBGQlZ6dEpRVU01UkN4TlFVRk5MRTFCUVUwc1IwRkJSeXhEUVVGRExFTkJRVU1zWjBKQlFXZENMRU5CUVVNc1EwRkJReXhGUVVGRkxFbEJRVWtzUTBGQlF5eERRVUZETzBsQlF6TkRMRTFCUVUwc1MwRkJTeXhIUVVGSExFTkJRVU1zUTBGQlF5eFRRVUZUTEVOQlFVTXNTVUZCU1N4RFFVRkRMRWRCUVVjc1EwRkJReXhEUVVGRExGTkJRVk1zUTBGQlF5eEpRVUZKTEVOQlFVTXNRMEZCUXp0SlFVTndSQ3hOUVVGTkxFZEJRVWNzUjBGQlJ5eERRVUZETEVOQlFVTXNUVUZCVFN4RFFVRkRPMGxCUTNKQ0xFMUJRVTBzU1VGQlNTeEhRVUZITEVkQlFVY3NSMEZCUnl4TFFVRkxMRWRCUVVjc1RVRkJUU3hEUVVGRE8wbEJRMnhETEVsQlFVa3NRMEZCUXl4TlFVRk5MRWxCUVVrc1IwRkJSeXhEUVVGRExFbEJRVWtzUTBGQlF5eEpRVUZKTEVsQlFVa3NSMEZCUnl4RFFVRkRPMUZCUVVVc1QwRkJUeXhIUVVGSExFTkJRVU03TzFGQlF6VkRMRTlCUVU4c1RVRkJUU3hIUVVGSExFdEJRVXNzUjBGQlJ5eEpRVUZKTEVkQlFVY3NRMEZCUXl4RFFVRkRMRWRCUVVjc1IwRkJSeXhIUVVGSExFdEJRVXNzUTBGQlF5eERRVUZETzBGQlEzaEVMRU5CUVVNN1FVRkZSQ3hOUVVGTkxGVkJRVlVzY1VKQlFYRkNMRU5CUVVNc1EwRkJWeXhGUVVGRkxFTkJRVmM3U1VGRE5VUXNUMEZCVHl4NVFrRkJlVUlzUTBGQlF5eDFRa0ZCZFVJc1EwRkJReXhEUVVGRExFVkJRVVVzUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXp0QlFVTnNSU3hEUVVGRE8wRkJSVVFzVFVGQlRTeFZRVUZWTEhsQ1FVRjVRaXhEUVVGRExGRkJRV2RDTzBsQlEzaEVMRTlCUVU4c1EwRkJReXhIUVVGSExFTkJRVU1zUTBGQlF5eEhRVUZITEZGQlFWRXNRMEZCUXl4RFFVRkRPMEZCUXpWQ0xFTkJRVU03UVVGRlJDeE5RVUZOTEZWQlFWVXNlVUpCUVhsQ0xFTkJRVU1zVlVGQmEwSTdTVUZETVVRc1QwRkJUeXhWUVVGVkxFdEJRVXNzUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXl4WlFVRlpMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF5eEhRVUZITEZWQlFWVXNRMEZCUXl4SFFVRkhMRU5CUVVNc1EwRkJRenRCUVVOb1JTeERRVUZETzBGQlJVUXNUVUZCVFN4VlFVRlZMR1ZCUVdVc1EwRkJReXhEUVVGVExFVkJRVVVzUTBGQlV6dEpRVU5zUkN4UFFVRlBMRWxCUVVrc1EwRkJReXhIUVVGSExFTkJRVU1zUTBGQlF5eEhRVUZITEVOQlFVTXNRMEZCUXl4RFFVRkRPMEZCUTNwQ0xFTkJRVU1pTENKemIzVnlZMlZ6UTI5dWRHVnVkQ0k2V3lKcGJYQnZjblFnUW1sMFFYSnlZWGtnWm5KdmJTQW5RR1JoZEdGbmNtOXJMV3hwWW5KaGNtbGxjeTkxZEdsc2N5OXpjbU12WW1sMExXRnljbUY1Snp0Y2JtbHRjRzl5ZENCN1FtbDBRWEp5WVhsTlpYUnlhV056VG1GdFpYTXNJRWx1ZEVGeWNtRjVUV1YwY21samMwNWhiV1Z6ZlNCbWNtOXRJQ2N1TDNSNWNHVmtMVzFsZEhKcFkzTXZZMjl1YzNSekp6dGNibWx0Y0c5eWRDQjdJRTF0UkdsemRHRnVZMlZHZFc1amRHbHZibk5PWVcxbGN5QjlJR1p5YjIwZ0p5NHZiV0ZqY205dGIyeGxZM1ZzWlMxa2FYTjBZVzVqWlMxbWRXNWpkR2x2Ym5Nbk8xeHVYRzVsZUhCdmNuUWdZMjl1YzNRZ2MybHRhV3hoY21sMGVVMWxkSEpwWXpvZ2V5QmJibUZ0WlRvZ2MzUnlhVzVuWFRvZ0tIZzZJRUpwZEVGeWNtRjVMQ0I1T2lCQ2FYUkJjbkpoZVNrZ1BUNGdiblZ0WW1WeUlIMGdQU0I3WEc0Z0lGdENhWFJCY25KaGVVMWxkSEpwWTNOT1lXMWxjeTVVWVc1cGJXOTBiMTA2SUhSaGJtbHRiM1J2VTJsdGFXeGhjbWwwZVN4Y2JpQWdXMEpwZEVGeWNtRjVUV1YwY21samMwNWhiV1Z6TGtScFkyVmRPaUJrYVdObFUybHRhV3hoY21sMGVTeGNiaUFnVzBKcGRFRnljbUY1VFdWMGNtbGpjMDVoYldWekxrRnplVzF0WlhSeWFXTmRPaUJoYzNsdGJXVjBjbWxqVTJsdGFXeGhjbWwwZVN4Y2JpQWdXMEpwZEVGeWNtRjVUV1YwY21samMwNWhiV1Z6TGtKeVlYVnVRbXhoYm5GMVpYUmRPaUJpY21GMWJrSnNZVzV4ZFdWMFUybHRhV3hoY21sMGVTeGNiaUFnVzBKcGRFRnljbUY1VFdWMGNtbGpjMDVoYldWekxrTnZjMmx1WlYwNklHTnZjMmx1WlZOcGJXbHNZWEpwZEhrc1hHNGdJRnRDYVhSQmNuSmhlVTFsZEhKcFkzTk9ZVzFsY3k1TGRXeGplbmx1YzJ0cFhUb2dhM1ZzWTNwNWJuTnJhVk5wYldsc1lYSnBkSGtzWEc0Z0lGdENhWFJCY25KaGVVMWxkSEpwWTNOT1lXMWxjeTVOWTBOdmJtNWhkV2RvWlhsZE9pQnRZME52Ym01aGRXZG9aWGxUYVcxcGJHRnlhWFI1TEZ4dUlDQmJRbWwwUVhKeVlYbE5aWFJ5YVdOelRtRnRaWE11VW05bmIzUkhiMnhrWW1WeVoxMDZJSEp2WjI5MFIyOXNaR0psY21kVGFXMXBiR0Z5YVhSNUxGeHVJQ0JiUW1sMFFYSnlZWGxOWlhSeWFXTnpUbUZ0WlhNdVVuVnpjMlZzWFRvZ2NuVnpjMlZzVTJsdGFXeGhjbWwwZVN4Y2JpQWdXMEpwZEVGeWNtRjVUV1YwY21samMwNWhiV1Z6TGxOdmEyRnNYVG9nYzI5cllXeFRhVzFwYkdGeWFYUjVMRnh1SUNCYlFtbDBRWEp5WVhsTlpYUnlhV056VG1GdFpYTXVTR0Z0YldsdVoxMDZJR2hoYlcxcGJtZFRhVzFwYkdGeWFYUjVMRnh1SUNCYlFtbDBRWEp5WVhsTlpYUnlhV056VG1GdFpYTXVSWFZqYkdsa1pXRnVYVG9nWlhWamJHbGtaV0Z1VTJsdGFXeGhjbWwwZVN4Y2JuMDdYRzVjYm1WNGNHOXlkQ0JqYjI1emRDQmthWE4wWVc1alpVMWxkSEpwWTNNNklIc2dXMjVoYldVNklITjBjbWx1WjEwNklDaDRPaUJDYVhSQmNuSmhlU3dnZVRvZ1FtbDBRWEp5WVhrcElEMCtJRzUxYldKbGNpQjlJRDBnZTF4dUlDQmJRbWwwUVhKeVlYbE5aWFJ5YVdOelRtRnRaWE11VkdGdWFXMXZkRzlkT2lCMFlXNXBiVzkwYjBScGMzUmhibU5sTEZ4dUlDQmJRbWwwUVhKeVlYbE5aWFJ5YVdOelRtRnRaWE11UkdsalpWMDZJR1JwWTJWRWFYTjBZVzVqWlN4Y2JpQWdXMEpwZEVGeWNtRjVUV1YwY21samMwNWhiV1Z6TGtGemVXMXRaWFJ5YVdOZE9pQmhjM2x0YldWMGNtbGpSR2x6ZEdGdVkyVXNYRzRnSUZ0Q2FYUkJjbkpoZVUxbGRISnBZM05PWVcxbGN5NUNjbUYxYmtKc1lXNXhkV1YwWFRvZ1luSmhkVzVDYkdGdWNYVmxkRVJwYzNSaGJtTmxMRnh1SUNCYlFtbDBRWEp5WVhsTlpYUnlhV056VG1GdFpYTXVRMjl6YVc1bFhUb2dZMjl6YVc1bFJHbHpkR0Z1WTJVc1hHNGdJRnRDYVhSQmNuSmhlVTFsZEhKcFkzTk9ZVzFsY3k1TGRXeGplbmx1YzJ0cFhUb2dhM1ZzWTNwNWJuTnJhVVJwYzNSaGJtTmxMRnh1SUNCYlFtbDBRWEp5WVhsTlpYUnlhV056VG1GdFpYTXVUV05EYjI1dVlYVm5hR1Y1WFRvZ2JXTkRiMjV1WVhWbmFHVjVSR2x6ZEdGdVkyVXNYRzRnSUZ0Q2FYUkJjbkpoZVUxbGRISnBZM05PWVcxbGN5NVNiMmR2ZEVkdmJHUmlaWEpuWFRvZ2NtOW5iM1JIYjJ4a1ltVnlaMFJwYzNSaGJtTmxMRnh1SUNCYlFtbDBRWEp5WVhsTlpYUnlhV056VG1GdFpYTXVVblZ6YzJWc1hUb2djblZ6YzJWc1JHbHpkR0Z1WTJVc1hHNGdJRnRDYVhSQmNuSmhlVTFsZEhKcFkzTk9ZVzFsY3k1VGIydGhiRjA2SUhOdmEyRnNSR2x6ZEdGdVkyVXNYRzRnSUZ0Q2FYUkJjbkpoZVUxbGRISnBZM05PWVcxbGN5NUlZVzF0YVc1blhUb2dhR0Z0YldsdVowUnBjM1JoYm1ObExGeHVJQ0JiUW1sMFFYSnlZWGxOWlhSeWFXTnpUbUZ0WlhNdVJYVmpiR2xrWldGdVhUb2daWFZqYkdsa1pXRnVSR2x6ZEdGdVkyVXNYRzU5TzF4dVhHNWxlSEJ2Y25RZ1kyOXVjM1FnUTBoRlRWOVRTVTFKVEVGU1NWUlpYMDFGVkZKSlExTWdQU0JiWEc0Z0lFSnBkRUZ5Y21GNVRXVjBjbWxqYzA1aGJXVnpMbFJoYm1sdGIzUnZMRnh1SUNCQ2FYUkJjbkpoZVUxbGRISnBZM05PWVcxbGN5NUVhV05sTEZ4dUlDQkNhWFJCY25KaGVVMWxkSEpwWTNOT1lXMWxjeTVEYjNOcGJtVmRPMXh1Wlhod2IzSjBJR052Ym5OMElGTkZVVjlUVUVGRFJWOVRTVTFKVEVGU1NWUlpYMDFGVkZKSlExTWdQU0JiWEc0Z0lFSnBkRUZ5Y21GNVRXVjBjbWxqYzA1aGJXVnpMbFJoYm1sdGIzUnZMRnh1SUNCQ2FYUkJjbkpoZVUxbGRISnBZM05PWVcxbGN5NUJjM2x0YldWMGNtbGpMRnh1SUNCQ2FYUkJjbkpoZVUxbGRISnBZM05PWVcxbGN5NURiM05wYm1Vc1hHNGdJRUpwZEVGeWNtRjVUV1YwY21samMwNWhiV1Z6TGxOdmEyRnNYVHRjYm1WNGNHOXlkQ0JqYjI1emRDQk5RVU5TVDAxUFRFVkRWVXhGWDFOSlRVbE1RVkpKVkZsZlRVVlVVa2xEVXlBOUlGdGNiaUFnVFcxRWFYTjBZVzVqWlVaMWJtTjBhVzl1YzA1aGJXVnpMa2hCVFUxSlRrY3NYRzRnSUUxdFJHbHpkR0Z1WTJWR2RXNWpkR2x2Ym5OT1lXMWxjeTVNUlZaRlRsTklWRVZKVGl4Y2JpQWdUVzFFYVhOMFlXNWpaVVoxYm1OMGFXOXVjMDVoYldWekxrMVBUazlOUlZKZlEwaEZUVWxEUVV4ZlJFbFRWRUZPUTBWZE8xeHVYRzVjYm1WNGNHOXlkQ0JtZFc1amRHbHZiaUIwWVc1cGJXOTBiMU5wYldsc1lYSnBkSGtvZURvZ1FtbDBRWEp5WVhrc0lIazZJRUpwZEVGeWNtRjVLVG9nYm5WdFltVnlJSHRjYmlBZ1kyOXVjM1FnZEc5MFlXd2dQU0I0TG5SeWRXVkRiM1Z1ZENncElDc2dlUzUwY25WbFEyOTFiblFvS1R0Y2JpQWdhV1lnS0hSdmRHRnNJRDA5SURBcElISmxkSFZ5YmlBeExqQTdYRzRnSUdOdmJuTjBJR052YlcxdmJpQTlJSGd1WVc1a1YybDBhRU52ZFc1MFFtbDBjeWg1TENCMGNuVmxLVHRjYmlBZ2NtVjBkWEp1SUdOdmJXMXZiaUF2SUNoMGIzUmhiQ0F0SUdOdmJXMXZiaWs3WEc1OVhHNWNibVY0Y0c5eWRDQm1kVzVqZEdsdmJpQjBZVzVwYlc5MGIwUnBjM1JoYm1ObEtIZzZJRUpwZEVGeWNtRjVMQ0I1T2lCQ2FYUkJjbkpoZVNrNklHNTFiV0psY2lCN1hHNGdJSEpsZEhWeWJpQm5aWFJFYVhOMFlXNWpaVVp5YjIxVGFXMXBiR0Z5YVhSNUtIUmhibWx0YjNSdlUybHRhV3hoY21sMGVTaDRMQ0I1S1NrN1hHNTlYRzVjYm1WNGNHOXlkQ0JtZFc1amRHbHZiaUIwWVc1cGJXOTBiMFJwYzNSaGJtTmxTVzUwUVhKeVlYa29lRG9nVldsdWRETXlRWEp5WVhrc0lIazZJRlZwYm5Rek1rRnljbUY1S1RvZ2JuVnRZbVZ5SUh0Y2JpQWdZMjl1YzNRZ2VHSWdQU0J1WlhjZ1FtbDBRWEp5WVhrb2VDd2dlQzVzWlc1bmRHZ2dLaUF6TWlrN1hHNGdJR052Ym5OMElIbGlJRDBnYm1WM0lFSnBkRUZ5Y21GNUtIa3NJSGt1YkdWdVozUm9JQ29nTXpJcE8xeHVJQ0J5WlhSMWNtNGdaMlYwUkdsemRHRnVZMlZHY205dFUybHRhV3hoY21sMGVTaDBZVzVwYlc5MGIxTnBiV2xzWVhKcGRIa29lR0lzSUhsaUtTazdYRzU5WEc1Y2JtVjRjRzl5ZENCbWRXNWpkR2x2YmlCa2FXTmxVMmx0YVd4aGNtbDBlU2g0T2lCQ2FYUkJjbkpoZVN3Z2VUb2dRbWwwUVhKeVlYa3BPaUJ1ZFcxaVpYSWdlMXh1SUNCamIyNXpkQ0IwYjNSaGJDQTlJSGd1ZEhKMVpVTnZkVzUwS0NrZ0t5QjVMblJ5ZFdWRGIzVnVkQ2dwTzF4dUlDQnBaaUFvZEc5MFlXd2dQVDBnTUNrZ2NtVjBkWEp1SURBdU1EdGNiaUFnWTI5dWMzUWdZMjl0Ylc5dUlEMGdlQzVoYm1SWGFYUm9RMjkxYm5SQ2FYUnpLSGtzSUhSeWRXVXBPMXh1SUNCeVpYUjFjbTRnTWlBcUlHTnZiVzF2YmlBdklIUnZkR0ZzTzF4dWZWeHVYRzVsZUhCdmNuUWdablZ1WTNScGIyNGdaR2xqWlVScGMzUmhibU5sS0hnNklFSnBkRUZ5Y21GNUxDQjVPaUJDYVhSQmNuSmhlU2s2SUc1MWJXSmxjaUI3WEc0Z0lISmxkSFZ5YmlCblpYUkVhWE4wWVc1alpVWnliMjFUYVcxcGJHRnlhWFI1S0dScFkyVlRhVzFwYkdGeWFYUjVLSGdzSUhrcEtUdGNibjFjYmx4dVpYaHdiM0owSUdaMWJtTjBhVzl1SUdOdmMybHVaVk5wYldsc1lYSnBkSGtvZURvZ1FtbDBRWEp5WVhrc0lIazZJRUpwZEVGeWNtRjVLVG9nYm5WdFltVnlJSHRjYmlBZ1kyOXVjM1FnZEc5MFlXd2dQU0I0TG5SeWRXVkRiM1Z1ZENncElDb2dlUzUwY25WbFEyOTFiblFvS1R0Y2JpQWdhV1lnS0hSdmRHRnNJRDA5SURBcElISmxkSFZ5YmlBd0xqQTdYRzRnSUdOdmJuTjBJR052YlcxdmJpQTlJSGd1WVc1a1YybDBhRU52ZFc1MFFtbDBjeWg1TENCMGNuVmxLVHRjYmlBZ2NtVjBkWEp1SUdOdmJXMXZiaUF2SUUxaGRHZ3VjM0Z5ZENoMGIzUmhiQ2s3WEc1OVhHNWNibVY0Y0c5eWRDQm1kVzVqZEdsdmJpQmpiM05wYm1WRWFYTjBZVzVqWlNoNE9pQkNhWFJCY25KaGVTd2dlVG9nUW1sMFFYSnlZWGtwT2lCdWRXMWlaWElnZTF4dUlDQnlaWFIxY200Z1oyVjBSR2x6ZEdGdVkyVkdjbTl0VTJsdGFXeGhjbWwwZVNoamIzTnBibVZUYVcxcGJHRnlhWFI1S0hnc0lIa3BLVHRjYm4xY2JseHVaWGh3YjNKMElHWjFibU4wYVc5dUlHVjFZMnhwWkdWaGJsTnBiV2xzWVhKcGRIa29lRG9nUW1sMFFYSnlZWGtzSUhrNklFSnBkRUZ5Y21GNUtUb2diblZ0WW1WeUlIdGNiaUFnY21WMGRYSnVJR2RsZEZOcGJXbHNZWEpwZEhsR2NtOXRSR2x6ZEdGdVkyVW9aWFZqYkdsa1pXRnVSR2x6ZEdGdVkyVW9lQ3dnZVNrcE8xeHVmVnh1WEc1bGVIQnZjblFnWm5WdVkzUnBiMjRnWlhWamJHbGtaV0Z1UkdsemRHRnVZMlVvZURvZ1FtbDBRWEp5WVhrc0lIazZJRUpwZEVGeWNtRjVLVG9nYm5WdFltVnlJSHRjYmlBZ2NtVjBkWEp1SUUxaGRHZ3VjM0Z5ZENoNExuUnlkV1ZEYjNWdWRDZ3BJQ3NnZVM1MGNuVmxRMjkxYm5Rb0tTQXRJRElnS2lCNExtRnVaRmRwZEdoRGIzVnVkRUpwZEhNb2VTd2dkSEoxWlNrcE8xeHVmVnh1WEc1bGVIQnZjblFnWm5WdVkzUnBiMjRnYUdGdGJXbHVaMU5wYldsc1lYSnBkSGtvZURvZ1FtbDBRWEp5WVhrc0lIazZJRUpwZEVGeWNtRjVLVG9nYm5WdFltVnlJSHRjYmlBZ2NtVjBkWEp1SUdkbGRGTnBiV2xzWVhKcGRIbEdjbTl0UkdsemRHRnVZMlVvYUdGdGJXbHVaMFJwYzNSaGJtTmxLSGdzSUhrcEtUdGNibjFjYmx4dVpYaHdiM0owSUdaMWJtTjBhVzl1SUdoaGJXMXBibWRFYVhOMFlXNWpaU2g0T2lCQ2FYUkJjbkpoZVN3Z2VUb2dRbWwwUVhKeVlYa3BPaUJ1ZFcxaVpYSWdlMXh1SUNCeVpYUjFjbTRnZUM1MGNuVmxRMjkxYm5Rb0tTQXJJSGt1ZEhKMVpVTnZkVzUwS0NrZ0xTQXlJQ29nZUM1aGJtUlhhWFJvUTI5MWJuUkNhWFJ6S0hrc0lIUnlkV1VwTzF4dWZWeHVYRzVsZUhCdmNuUWdablZ1WTNScGIyNGdjMjlyWVd4VGFXMXBiR0Z5YVhSNUtIZzZJRUpwZEVGeWNtRjVMQ0I1T2lCQ2FYUkJjbkpoZVNrNklHNTFiV0psY2lCN1hHNGdJR052Ym5OMElIUnZkR0ZzSUQwZ2VDNTBjblZsUTI5MWJuUW9LU0FySUhrdWRISjFaVU52ZFc1MEtDazdYRzRnSUdOdmJuTjBJR052YlcxdmJpQTlJSGd1WVc1a1YybDBhRU52ZFc1MFFtbDBjeWg1TENCMGNuVmxLVHRjYmlBZ2NtVjBkWEp1SUdOdmJXMXZiaUF2SUNneUlDb2dkRzkwWVd3Z0xTQXpJQ29nWTI5dGJXOXVLVHRjYm4xY2JseHVaWGh3YjNKMElHWjFibU4wYVc5dUlITnZhMkZzUkdsemRHRnVZMlVvZURvZ1FtbDBRWEp5WVhrc0lIazZJRUpwZEVGeWNtRjVLVG9nYm5WdFltVnlJSHRjYmlBZ2NtVjBkWEp1SUdkbGRFUnBjM1JoYm1ObFJuSnZiVk5wYldsc1lYSnBkSGtvYzI5cllXeFRhVzFwYkdGeWFYUjVLSGdzSUhrcEtUdGNibjFjYmx4dVpYaHdiM0owSUdaMWJtTjBhVzl1SUd0MWJHTjZlVzV6YTJsVGFXMXBiR0Z5YVhSNUtIZzZJRUpwZEVGeWNtRjVMQ0I1T2lCQ2FYUkJjbkpoZVNrNklHNTFiV0psY2lCN1hHNGdJR052Ym5OMElIUnZkR0ZzSUQwZ2VDNTBjblZsUTI5MWJuUW9LU0FySUhrdWRISjFaVU52ZFc1MEtDazdYRzRnSUdOdmJuTjBJSFJ2ZEdGc1VISnZaQ0E5SUhndWRISjFaVU52ZFc1MEtDa2dLaUI1TG5SeWRXVkRiM1Z1ZENncE8xeHVJQ0JwWmlBb2RHOTBZV3hRY205a0lEMDlJREFwSUhKbGRIVnliaUF3TGpBN1hHNGdJR052Ym5OMElHTnZiVzF2YmlBOUlIZ3VZVzVrVjJsMGFFTnZkVzUwUW1sMGN5aDVMQ0IwY25WbEtUdGNiaUFnY21WMGRYSnVJQ2hqYjIxdGIyNGdLaUIwYjNSaGJDa2dMeUFvTWlBcUlIUnZkR0ZzVUhKdlpDazdYRzU5WEc1Y2JtVjRjRzl5ZENCbWRXNWpkR2x2YmlCcmRXeGplbmx1YzJ0cFJHbHpkR0Z1WTJVb2VEb2dRbWwwUVhKeVlYa3NJSGs2SUVKcGRFRnljbUY1S1RvZ2JuVnRZbVZ5SUh0Y2JpQWdjbVYwZFhKdUlHZGxkRVJwYzNSaGJtTmxSbkp2YlZOcGJXbHNZWEpwZEhrb2EzVnNZM3A1Ym5OcmFWTnBiV2xzWVhKcGRIa29lQ3dnZVNrcE8xeHVmVnh1WEc1bGVIQnZjblFnWm5WdVkzUnBiMjRnYldORGIyNXVZWFZuYUdWNVUybHRhV3hoY21sMGVTaDRPaUJDYVhSQmNuSmhlU3dnZVRvZ1FtbDBRWEp5WVhrcE9pQnVkVzFpWlhJZ2UxeHVJQ0JqYjI1emRDQjBiM1JoYkNBOUlIZ3VkSEoxWlVOdmRXNTBLQ2tnS3lCNUxuUnlkV1ZEYjNWdWRDZ3BPMXh1SUNCamIyNXpkQ0IwYjNSaGJGQnliMlFnUFNCNExuUnlkV1ZEYjNWdWRDZ3BJQ29nZVM1MGNuVmxRMjkxYm5Rb0tUdGNiaUFnYVdZZ0tIUnZkR0ZzVUhKdlpDQTlQU0F3S1NCeVpYUjFjbTRnTUM0d08xeHVJQ0JqYjI1emRDQmpiMjF0YjI0Z1BTQjRMbUZ1WkZkcGRHaERiM1Z1ZEVKcGRITW9lU3dnZEhKMVpTazdYRzRnSUhKbGRIVnliaUFvWTI5dGJXOXVJQ29nZEc5MFlXd2dMU0IwYjNSaGJGQnliMlFwSUM4Z2RHOTBZV3hRY205a08xeHVmVnh1WEc1bGVIQnZjblFnWm5WdVkzUnBiMjRnYldORGIyNXVZWFZuYUdWNVJHbHpkR0Z1WTJVb2VEb2dRbWwwUVhKeVlYa3NJSGs2SUVKcGRFRnljbUY1S1RvZ2JuVnRZbVZ5SUh0Y2JpQWdjbVYwZFhKdUlHZGxkRVJwYzNSaGJtTmxSbkp2YlZOcGJXbHNZWEpwZEhrb2JXTkRiMjV1WVhWbmFHVjVVMmx0YVd4aGNtbDBlU2g0TENCNUtTazdYRzU5WEc1Y2JtVjRjRzl5ZENCbWRXNWpkR2x2YmlCaGMzbHRiV1YwY21salUybHRhV3hoY21sMGVTaDRPaUJDYVhSQmNuSmhlU3dnZVRvZ1FtbDBRWEp5WVhrcE9pQnVkVzFpWlhJZ2UxeHVJQ0JqYjI1emRDQnRhVzRnUFNCTllYUm9MbTFwYmloNExuUnlkV1ZEYjNWdWRDZ3BMQ0I1TG5SeWRXVkRiM1Z1ZENncEtUdGNiaUFnYVdZZ0tHMXBiaUE5UFNBd0tTQnlaWFIxY200Z01DNHdPMXh1SUNCamIyNXpkQ0JqYjIxdGIyNGdQU0I0TG1GdVpGZHBkR2hEYjNWdWRFSnBkSE1vZVN3Z2RISjFaU2s3WEc0Z0lISmxkSFZ5YmlCamIyMXRiMjRnTHlCdGFXNDdYRzU5WEc1Y2JtVjRjRzl5ZENCbWRXNWpkR2x2YmlCaGMzbHRiV1YwY21salJHbHpkR0Z1WTJVb2VEb2dRbWwwUVhKeVlYa3NJSGs2SUVKcGRFRnljbUY1S1RvZ2JuVnRZbVZ5SUh0Y2JpQWdjbVYwZFhKdUlHZGxkRVJwYzNSaGJtTmxSbkp2YlZOcGJXbHNZWEpwZEhrb1lYTjViVzFsZEhKcFkxTnBiV2xzWVhKcGRIa29lQ3dnZVNrcE8xeHVmVnh1WEc1bGVIQnZjblFnWm5WdVkzUnBiMjRnWW5KaGRXNUNiR0Z1Y1hWbGRGTnBiV2xzWVhKcGRIa29lRG9nUW1sMFFYSnlZWGtzSUhrNklFSnBkRUZ5Y21GNUtUb2diblZ0WW1WeUlIdGNiaUFnWTI5dWMzUWdiV0Y0SUQwZ1RXRjBhQzV0WVhnb2VDNTBjblZsUTI5MWJuUW9LU3dnZVM1MGNuVmxRMjkxYm5Rb0tTazdYRzRnSUdsbUlDaHRZWGdnUFQwZ01Da2djbVYwZFhKdUlEQXVNRHRjYmlBZ1kyOXVjM1FnWTI5dGJXOXVJRDBnZUM1aGJtUlhhWFJvUTI5MWJuUkNhWFJ6S0hrc0lIUnlkV1VwTzF4dUlDQnlaWFIxY200Z1kyOXRiVzl1SUM4Z2JXRjRPMXh1ZlZ4dVhHNWxlSEJ2Y25RZ1puVnVZM1JwYjI0Z1luSmhkVzVDYkdGdWNYVmxkRVJwYzNSaGJtTmxLSGc2SUVKcGRFRnljbUY1TENCNU9pQkNhWFJCY25KaGVTazZJRzUxYldKbGNpQjdYRzRnSUhKbGRIVnliaUJuWlhSRWFYTjBZVzVqWlVaeWIyMVRhVzFwYkdGeWFYUjVLR0p5WVhWdVFteGhibkYxWlhSVGFXMXBiR0Z5YVhSNUtIZ3NJSGtwS1R0Y2JuMWNibHh1Wlhod2IzSjBJR1oxYm1OMGFXOXVJSEoxYzNObGJGTnBiV2xzWVhKcGRIa29lRG9nUW1sMFFYSnlZWGtzSUhrNklFSnBkRUZ5Y21GNUtUb2diblZ0WW1WeUlIdGNiaUFnYVdZZ0tIZ3ViR1Z1WjNSb0lEMDlJREFwSUhKbGRIVnliaUF3TGpBN1hHNGdJR052Ym5OMElHTnZiVzF2YmlBOUlIZ3VZVzVrVjJsMGFFTnZkVzUwUW1sMGN5aDVMQ0IwY25WbEtUdGNiaUFnY21WMGRYSnVJR052YlcxdmJpQXZJSGd1YkdWdVozUm9PMXh1ZlZ4dVhHNWxlSEJ2Y25RZ1puVnVZM1JwYjI0Z2NuVnpjMlZzUkdsemRHRnVZMlVvZURvZ1FtbDBRWEp5WVhrc0lIazZJRUpwZEVGeWNtRjVLVG9nYm5WdFltVnlJSHRjYmlBZ2NtVjBkWEp1SUdkbGRFUnBjM1JoYm1ObFJuSnZiVk5wYldsc1lYSnBkSGtvY25WemMyVnNVMmx0YVd4aGNtbDBlU2g0TENCNUtTazdYRzU5WEc1Y2JtVjRjRzl5ZENCbWRXNWpkR2x2YmlCeWIyZHZkRWR2YkdSaVpYSm5VMmx0YVd4aGNtbDBlU2g0T2lCQ2FYUkJjbkpoZVN3Z2VUb2dRbWwwUVhKeVlYa3BPaUJ1ZFcxaVpYSWdlMXh1SUNCamIyNXpkQ0JqYjIxdGIyNGdQU0I0TG1GdVpGZHBkR2hEYjNWdWRFSnBkSE1vZVN3Z2RISjFaU2s3WEc0Z0lHTnZibk4wSUhSdmRHRnNJRDBnZUM1amIzVnVkRUpwZEhNb2RISjFaU2tnS3lCNUxtTnZkVzUwUW1sMGN5aDBjblZsS1R0Y2JpQWdZMjl1YzNRZ2JHVnVJRDBnZUM1c1pXNW5kR2c3WEc0Z0lHTnZibk4wSUdScFptWWdQU0JzWlc0Z0xTQjBiM1JoYkNBcklHTnZiVzF2Ymp0Y2JpQWdhV1lnS0NoamIyMXRiMjRnUFQwZ2JHVnVLU0I4ZkNBb1pHbG1aaUE5UFNCc1pXNHBLU0J5WlhSMWNtNGdNUzR3TzF4dUlDQmxiSE5sSUhKbGRIVnliaUJqYjIxdGIyNGdMeUIwYjNSaGJDQXJJR1JwWm1ZZ0x5QW9NaUFxSUd4bGJpQXRJSFJ2ZEdGc0tUdGNibjFjYmx4dVpYaHdiM0owSUdaMWJtTjBhVzl1SUhKdloyOTBSMjlzWkdKbGNtZEVhWE4wWVc1alpTaDRPaUJDYVhSQmNuSmhlU3dnZVRvZ1FtbDBRWEp5WVhrcE9pQnVkVzFpWlhJZ2UxeHVJQ0J5WlhSMWNtNGdaMlYwUkdsemRHRnVZMlZHY205dFUybHRhV3hoY21sMGVTaHliMmR2ZEVkdmJHUmlaWEpuVTJsdGFXeGhjbWwwZVNoNExDQjVLU2s3WEc1OVhHNWNibVY0Y0c5eWRDQm1kVzVqZEdsdmJpQm5aWFJUYVcxcGJHRnlhWFI1Um5KdmJVUnBjM1JoYm1ObEtHUnBjM1JoYm1ObE9pQnVkVzFpWlhJcElIdGNiaUFnY21WMGRYSnVJREVnTHlBb01TQXJJR1JwYzNSaGJtTmxLVHRjYm4xY2JseHVaWGh3YjNKMElHWjFibU4wYVc5dUlHZGxkRVJwYzNSaGJtTmxSbkp2YlZOcGJXbHNZWEpwZEhrb2MybHRhV3hoY21sMGVUb2diblZ0WW1WeUtTQjdJQzh2YVc0Z1kyRnpaU0J6YVcxcGJHRnlhWFI1SUdseklEQXNJSFZ6WlNCdFlYZ2diblZ0WW1WeUlHWnZjaUJtYkc5aGRETXlYRzRnSUhKbGRIVnliaUJ6YVcxcGJHRnlhWFI1SUQwOVBTQXdJRDhnTXk0ME1ESTRNak5GS3pNNElEb2dLREVnTHlCemFXMXBiR0Z5YVhSNUtTQXRJREU3WEc1OVhHNWNibVY0Y0c5eWRDQm1kVzVqZEdsdmJpQnVkVzFsY21salJHbHpkR0Z1WTJVb2VEb2diblZ0WW1WeUxDQjVPaUJ1ZFcxaVpYSXBJSHRjYmlBZ2NtVjBkWEp1SUUxaGRHZ3VZV0p6S0hnZ0xTQjVLVHRjYm4xY2JpSmRmUT09IiwiZXhwb3J0IHZhciBTdHJpbmdNZXRyaWNzTmFtZXM7XG4oZnVuY3Rpb24gKFN0cmluZ01ldHJpY3NOYW1lcykge1xuICAgIFN0cmluZ01ldHJpY3NOYW1lc1tcIkxldmVuc2h0ZWluXCJdID0gXCJMZXZlbnNodGVpblwiO1xuICAgIFN0cmluZ01ldHJpY3NOYW1lc1tcIkphcm9XaW5rbGVyXCJdID0gXCJKYXJvLVdpbmtsZXJcIjtcbiAgICBTdHJpbmdNZXRyaWNzTmFtZXNbXCJNYW5oYXR0YW5cIl0gPSBcIk1hbmhhdHRhblwiO1xufSkoU3RyaW5nTWV0cmljc05hbWVzIHx8IChTdHJpbmdNZXRyaWNzTmFtZXMgPSB7fSkpO1xuZXhwb3J0IHZhciBWZWN0b3JNZXRyaWNzTmFtZXM7XG4oZnVuY3Rpb24gKFZlY3Rvck1ldHJpY3NOYW1lcykge1xuICAgIFZlY3Rvck1ldHJpY3NOYW1lc1tcIkV1Y2xpZGVhblwiXSA9IFwiRXVjbGlkZWFuXCI7XG59KShWZWN0b3JNZXRyaWNzTmFtZXMgfHwgKFZlY3Rvck1ldHJpY3NOYW1lcyA9IHt9KSk7XG5leHBvcnQgdmFyIEJpdEFycmF5TWV0cmljc05hbWVzO1xuKGZ1bmN0aW9uIChCaXRBcnJheU1ldHJpY3NOYW1lcykge1xuICAgIEJpdEFycmF5TWV0cmljc05hbWVzW1wiVGFuaW1vdG9cIl0gPSBcIlRhbmltb3RvXCI7XG4gICAgQml0QXJyYXlNZXRyaWNzTmFtZXNbXCJEaWNlXCJdID0gXCJEaWNlXCI7XG4gICAgQml0QXJyYXlNZXRyaWNzTmFtZXNbXCJBc3ltbWV0cmljXCJdID0gXCJBc3ltbWV0cmljXCI7XG4gICAgQml0QXJyYXlNZXRyaWNzTmFtZXNbXCJCcmF1bkJsYW5xdWV0XCJdID0gXCJCcmF1bi1CbGFucXVldFwiO1xuICAgIEJpdEFycmF5TWV0cmljc05hbWVzW1wiQ29zaW5lXCJdID0gXCJDb3NpbmVcIjtcbiAgICBCaXRBcnJheU1ldHJpY3NOYW1lc1tcIkt1bGN6eW5za2lcIl0gPSBcIkt1bGN6eW5za2lcIjtcbiAgICBCaXRBcnJheU1ldHJpY3NOYW1lc1tcIk1jQ29ubmF1Z2hleVwiXSA9IFwiTWMtQ29ubmF1Z2hleVwiO1xuICAgIEJpdEFycmF5TWV0cmljc05hbWVzW1wiUm9nb3RHb2xkYmVyZ1wiXSA9IFwiUm9nb3QtR29sZGJlcmdcIjtcbiAgICBCaXRBcnJheU1ldHJpY3NOYW1lc1tcIlJ1c3NlbFwiXSA9IFwiUnVzc2VsXCI7XG4gICAgQml0QXJyYXlNZXRyaWNzTmFtZXNbXCJTb2thbFwiXSA9IFwiU29rYWxcIjtcbiAgICBCaXRBcnJheU1ldHJpY3NOYW1lc1tcIkhhbW1pbmdcIl0gPSBcIkhhbW1pbmdcIjtcbiAgICBCaXRBcnJheU1ldHJpY3NOYW1lc1tcIkV1Y2xpZGVhblwiXSA9IFwiRXVjbGlkZWFuXCI7XG59KShCaXRBcnJheU1ldHJpY3NOYW1lcyB8fCAoQml0QXJyYXlNZXRyaWNzTmFtZXMgPSB7fSkpO1xuZXhwb3J0IHZhciBJbnRBcnJheU1ldHJpY3NOYW1lcztcbihmdW5jdGlvbiAoSW50QXJyYXlNZXRyaWNzTmFtZXMpIHtcbiAgICBJbnRBcnJheU1ldHJpY3NOYW1lc1tcIlRhbmltb3RvSW50QXJyYXlcIl0gPSBcIlRhbmltb3RvSW50QXJyYXlcIjtcbn0pKEludEFycmF5TWV0cmljc05hbWVzIHx8IChJbnRBcnJheU1ldHJpY3NOYW1lcyA9IHt9KSk7XG5leHBvcnQgdmFyIERpc3RhbmNlTWV0cmljc1N1YmplY3RzO1xuKGZ1bmN0aW9uIChEaXN0YW5jZU1ldHJpY3NTdWJqZWN0cykge1xuICAgIERpc3RhbmNlTWV0cmljc1N1YmplY3RzW1wiVmVjdG9yXCJdID0gXCJWZWN0b3JcIjtcbiAgICBEaXN0YW5jZU1ldHJpY3NTdWJqZWN0c1tcIlN0cmluZ1wiXSA9IFwiU3RyaW5nXCI7XG4gICAgRGlzdGFuY2VNZXRyaWNzU3ViamVjdHNbXCJCaXRBcnJheVwiXSA9IFwiQml0QXJyYXlcIjtcbiAgICBEaXN0YW5jZU1ldHJpY3NTdWJqZWN0c1tcIk1hY3JvTW9sZWN1bGVcIl0gPSBcIk1hY3JvTW9sZWN1bGVcIjtcbiAgICBEaXN0YW5jZU1ldHJpY3NTdWJqZWN0c1tcIk51bWJlclwiXSA9IFwiTnVtYmVyXCI7XG4gICAgRGlzdGFuY2VNZXRyaWNzU3ViamVjdHNbXCJJbnRBcnJheVwiXSA9IFwiSW50QXJyYXlcIjtcbn0pKERpc3RhbmNlTWV0cmljc1N1YmplY3RzIHx8IChEaXN0YW5jZU1ldHJpY3NTdWJqZWN0cyA9IHt9KSk7XG5leHBvcnQgdmFyIE51bWJlck1ldHJpY3NOYW1lcztcbihmdW5jdGlvbiAoTnVtYmVyTWV0cmljc05hbWVzKSB7XG4gICAgTnVtYmVyTWV0cmljc05hbWVzW1wiTnVtZXJpY0Rpc3RhbmNlXCJdID0gXCJOdW1lcmljRGlzdGFuY2VcIjtcbn0pKE51bWJlck1ldHJpY3NOYW1lcyB8fCAoTnVtYmVyTWV0cmljc05hbWVzID0ge30pKTtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSm1hV3hsSWpvaVkyOXVjM1J6TG1weklpd2ljMjkxY21ObFVtOXZkQ0k2SWlJc0luTnZkWEpqWlhNaU9sc2lZMjl1YzNSekxuUnpJbDBzSW01aGJXVnpJanBiWFN3aWJXRndjR2x1WjNNaU9pSkJRVUZCTEUxQlFVMHNRMEZCVGl4SlFVRlpMR3RDUVVsVU8wRkJTa2dzVjBGQldTeHJRa0ZCYTBJN1NVRkRNVUlzYVVSQlFUSkNMRU5CUVVFN1NVRkRNMElzYTBSQlFUUkNMRU5CUVVFN1NVRkROVUlzTmtOQlFYVkNMRU5CUVVFN1FVRkRla0lzUTBGQlF5eEZRVXBUTEd0Q1FVRnJRaXhMUVVGc1FpeHJRa0ZCYTBJc1VVRkpNMEk3UVVGRlNDeE5RVUZOTEVOQlFVNHNTVUZCV1N4clFrRkZWRHRCUVVaSUxGZEJRVmtzYTBKQlFXdENPMGxCUXpGQ0xEWkRRVUYxUWl4RFFVRkJPMEZCUTNwQ0xFTkJRVU1zUlVGR1V5eHJRa0ZCYTBJc1MwRkJiRUlzYTBKQlFXdENMRkZCUlROQ08wRkJSVWdzVFVGQlRTeERRVUZPTEVsQlFWa3NiMEpCWVZRN1FVRmlTQ3hYUVVGWkxHOUNRVUZ2UWp0SlFVTTFRaXcyUTBGQmNVSXNRMEZCUVR0SlFVTnlRaXh4UTBGQllTeERRVUZCTzBsQlEySXNhVVJCUVhsQ0xFTkJRVUU3U1VGRGVrSXNkMFJCUVdkRExFTkJRVUU3U1VGRGFFTXNlVU5CUVdsQ0xFTkJRVUU3U1VGRGFrSXNhVVJCUVhsQ0xFTkJRVUU3U1VGRGVrSXNjMFJCUVRoQ0xFTkJRVUU3U1VGRE9VSXNkMFJCUVdkRExFTkJRVUU3U1VGRGFFTXNlVU5CUVdsQ0xFTkJRVUU3U1VGRGFrSXNkVU5CUVdVc1EwRkJRVHRKUVVObUxESkRRVUZ0UWl4RFFVRkJPMGxCUTI1Q0xDdERRVUYxUWl4RFFVRkJPMEZCUTNwQ0xFTkJRVU1zUlVGaVV5eHZRa0ZCYjBJc1MwRkJjRUlzYjBKQlFXOUNMRkZCWVRkQ08wRkJSVWdzVFVGQlRTeERRVUZPTEVsQlFWa3NiMEpCUlZnN1FVRkdSQ3hYUVVGWkxHOUNRVUZ2UWp0SlFVTTVRaXcyUkVGQmNVTXNRMEZCUVR0QlFVTjJReXhEUVVGRExFVkJSbGNzYjBKQlFXOUNMRXRCUVhCQ0xHOUNRVUZ2UWl4UlFVVXZRanRCUVVWRUxFMUJRVTBzUTBGQlRpeEpRVUZaTEhWQ1FVOVVPMEZCVUVnc1YwRkJXU3gxUWtGQmRVSTdTVUZETDBJc05FTkJRV2xDTEVOQlFVRTdTVUZEYWtJc05FTkJRV2xDTEVOQlFVRTdTVUZEYWtJc1owUkJRWEZDTEVOQlFVRTdTVUZEY2tJc01FUkJRU3RDTEVOQlFVRTdTVUZETDBJc05FTkJRV2xDTEVOQlFVRTdTVUZEYWtJc1owUkJRWEZDTEVOQlFVRTdRVUZEZGtJc1EwRkJReXhGUVZCVExIVkNRVUYxUWl4TFFVRjJRaXgxUWtGQmRVSXNVVUZQYUVNN1FVRkZTQ3hOUVVGTkxFTkJRVTRzU1VGQldTeHJRa0ZGV0R0QlFVWkVMRmRCUVZrc2EwSkJRV3RDTzBsQlF6VkNMSGxFUVVGdFF5eERRVUZCTzBGQlEzSkRMRU5CUVVNc1JVRkdWeXhyUWtGQmEwSXNTMEZCYkVJc2EwSkJRV3RDTEZGQlJUZENJaXdpYzI5MWNtTmxjME52Ym5SbGJuUWlPbHNpWlhod2IzSjBJR1Z1ZFcwZ1UzUnlhVzVuVFdWMGNtbGpjMDVoYldWeklIdGNiaUFnSUNCTVpYWmxibk5vZEdWcGJpQTlJQ2RNWlhabGJuTm9kR1ZwYmljc1hHNGdJQ0FnU21GeWIxZHBibXRzWlhJZ1BTQW5TbUZ5YnkxWGFXNXJiR1Z5Snl4Y2JpQWdJQ0JOWVc1b1lYUjBZVzRnUFNBblRXRnVhR0YwZEdGdUp5eGNiaUFnZlZ4dVhHNWxlSEJ2Y25RZ1pXNTFiU0JXWldOMGIzSk5aWFJ5YVdOelRtRnRaWE1nZTF4dUlDQWdJRVYxWTJ4cFpHVmhiaUE5SUNkRmRXTnNhV1JsWVc0bkxGeHVJQ0I5WEc1Y2JtVjRjRzl5ZENCbGJuVnRJRUpwZEVGeWNtRjVUV1YwY21samMwNWhiV1Z6SUh0Y2JpQWdJQ0JVWVc1cGJXOTBieUE5SUNkVVlXNXBiVzkwYnljc1hHNGdJQ0FnUkdsalpTQTlJQ2RFYVdObEp5eGNiaUFnSUNCQmMzbHRiV1YwY21saklEMGdKMEZ6ZVcxdFpYUnlhV01uTEZ4dUlDQWdJRUp5WVhWdVFteGhibkYxWlhRZ1BTQW5RbkpoZFc0dFFteGhibkYxWlhRbkxGeHVJQ0FnSUVOdmMybHVaU0E5SUNkRGIzTnBibVVuTEZ4dUlDQWdJRXQxYkdONmVXNXphMmtnUFNBblMzVnNZM3A1Ym5OcmFTY3NYRzRnSUNBZ1RXTkRiMjV1WVhWbmFHVjVJRDBnSjAxakxVTnZibTVoZFdkb1pYa25MRnh1SUNBZ0lGSnZaMjkwUjI5c1pHSmxjbWNnUFNBblVtOW5iM1F0UjI5c1pHSmxjbWNuTEZ4dUlDQWdJRkoxYzNObGJDQTlJQ2RTZFhOelpXd25MRnh1SUNBZ0lGTnZhMkZzSUQwZ0oxTnZhMkZzSnl4Y2JpQWdJQ0JJWVcxdGFXNW5JRDBnSjBoaGJXMXBibWNuTEZ4dUlDQWdJRVYxWTJ4cFpHVmhiaUE5SUNkRmRXTnNhV1JsWVc0bkxGeHVJQ0I5WEc1Y2JtVjRjRzl5ZENCbGJuVnRJRWx1ZEVGeWNtRjVUV1YwY21samMwNWhiV1Z6SUh0Y2JpQWdWR0Z1YVcxdmRHOUpiblJCY25KaGVTQTlJQ2RVWVc1cGJXOTBiMGx1ZEVGeWNtRjVKeXhjYm4xY2JseHVaWGh3YjNKMElHVnVkVzBnUkdsemRHRnVZMlZOWlhSeWFXTnpVM1ZpYW1WamRITWdlMXh1SUNBZ0lGWmxZM1J2Y2lBOUlDZFdaV04wYjNJbkxGeHVJQ0FnSUZOMGNtbHVaeUE5SUNkVGRISnBibWNuTEZ4dUlDQWdJRUpwZEVGeWNtRjVJRDBnSjBKcGRFRnljbUY1Snl4Y2JpQWdJQ0JOWVdOeWIwMXZiR1ZqZFd4bElEMGdKMDFoWTNKdlRXOXNaV04xYkdVbkxGeHVJQ0FnSUU1MWJXSmxjaUE5SUNkT2RXMWlaWEluTEZ4dUlDQWdJRWx1ZEVGeWNtRjVJRDBnSjBsdWRFRnljbUY1Snl4Y2JpQWdmVnh1WEc1bGVIQnZjblFnWlc1MWJTQk9kVzFpWlhKTlpYUnlhV056VG1GdFpYTWdlMXh1SUNCT2RXMWxjbWxqUkdsemRHRnVZMlVnUFNBblRuVnRaWEpwWTBScGMzUmhibU5sSnl4Y2JuMWNibHh1SWwxOSIsImltcG9ydCB7IFZlY3RvciB9IGZyb20gJy4vdHlwZS1kZWNsYXJhdGlvbnMnO1xuaW1wb3J0IHsgcmFuZG9tRmxvYXQsIHJhbmRvbUludCB9IGZyb20gJy4vcmFuZG9tJztcbi8qKlxuICogQXNzZXJ0cyBhIGNvbmRpdGlvbiBieSB0aHJvd2luZyBhbiBFcnJvci5cbiAqXG4gKiBAZXhwb3J0XG4gKiBAcGFyYW0ge2Jvb2xlYW59IFtjb25kaXRpb249ZmFsc2VdIENvbmRpdGlvbiB0byBhc3NlcnQuXG4gKiBAcGFyYW0ge3N0cmluZ30gW21lc3NhZ2U9J0Fzc2VydGlvbiBlcnJvci4nXSBNZXNzYWdlIHRvIG91dHB1dC5cbiAqIEB0aHJvd3Mge0Vycm9yfVxuICovXG5leHBvcnQgZnVuY3Rpb24gYXNzZXJ0KGNvbmRpdGlvbiA9IGZhbHNlLCBtZXNzYWdlID0gJ0Fzc2VydGlvbiBlcnJvci4nKSB7XG4gICAgaWYgKCFjb25kaXRpb24pXG4gICAgICAgIHRocm93IG5ldyBFcnJvcihtZXNzYWdlKTtcbn1cbi8qKlxuICogQ3JlYXRlcyBuZXcgdHdvLWRpbWVuc2lvbmFsIGFycmF5IGFuZCBmaWxscyBpdCB3aXRoIHRoZSB2YWx1ZSBnaXZlbi5cbiAqXG4gKiBAcGFyYW0ge251bWJlcn0gZGltZW5zaW9uMSBUaGUgZmlyc3QgZGltZW5zaW9uIG9mIHRoZSBjb29yZGluYXRlcyAobnVtYmVyIG9mIHJvd3MpLlxuICogQHBhcmFtIHtudW1iZXJ9IGRpbWVuc2lvbjIgVGhlIHNlY29uZCBkaW1lbnNpb24gb2YgdGhlIGNvb3JkaW5hdGVzIChudW1iZXIgb2YgY29sdW1ucykuXG4gKiBAcGFyYW0ge251bWJlcn0gW2ZpbGw9MF0gQSB2YWx1ZSB0byBmaWxsIHRoZSBjb29yZGluYXRlcyB3aXRoLlxuICogQHJldHVybiB7Q29vcmRpbmF0ZXN9IEEgdHdvLWRpbWVuc2lvbmFsIGZpbGxlZCB3aXRoIHRoZSB2YWx1ZSBnaXZlbi5cbiAqIEB0b2RvIE1pZ2h0IGJlIHNsb3cgc2luY2UgdXNlZCBBcnJheS5tYXAuIFByb2JhYmx5IG5lZWRzIHBlcmZvcm1hbmNlIHJldmlzaW9uLlxuICovXG5leHBvcnQgZnVuY3Rpb24gaW5pdENvb3JkaW5hdGVzKGRpbWVuc2lvbjEsIGRpbWVuc2lvbjIsIGZpbGwgPSAwKSB7XG4gICAgcmV0dXJuIG5ldyBBcnJheShkaW1lbnNpb24xKS5maWxsKGZpbGwpLm1hcCgoKSA9PiAobmV3IFZlY3RvcihkaW1lbnNpb24yKS5maWxsKGZpbGwpKSk7XG59XG4vKipcbiAqIFRyYW5zcG9zZSBtYXRyaXguXG4gKlxuICogQGV4cG9ydFxuICogQHBhcmFtIHtNYXRyaXh9IG1hdHJpeCBUaGUgbWF0cml4IHRvIGJlIHRyYW5zcG9zZWQuXG4gKiBAcmV0dXJuIHtNYXRyaXh9IFRyYW5zcG9zZWQgbWF0cml4LlxuICogQHRvZG8gTWlnaHQgYmUgc2xvdyBzaW5jZSB1c2VkIEFycmF5Lm1hcC4gUHJvYmFibHkgbmVlZHMgcGVyZm9ybWFuY2UgcmV2aXNpb24uXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB0cmFuc3Bvc2VNYXRyaXgobWF0cml4KSB7XG4gICAgcmV0dXJuIG5ldyBBcnJheShtYXRyaXhbMF0ubGVuZ3RoKS5maWxsKDApXG4gICAgICAgIC5tYXAoKF8sIGkpID0+IChuZXcgVmVjdG9yKG1hdHJpeC5sZW5ndGgpLmZpbGwoMCkubWFwKChfLCBqKSA9PiAobWF0cml4W2pdW2ldKSkpKTtcbn1cbi8qKlxuICogQWRkcyB0d28gdmVjdG9ycyB3aXRoIHRoZSBzZWNvbmQgb25lIHRvIGJlIG11bHRpcGxpZWQgYnkgdGhlIGdpdmVuIHJhdGlvLlxuICpcbiAqIEBleHBvcnRcbiAqIEBwYXJhbSB7VmVjdG9yfSBwIFRoZSBmaXJzdCB2ZWN0b3IgdG8gYWRkLlxuICogQHBhcmFtIHtWZWN0b3J9IHEgVGhlIHNlY29uZCB2ZWN0b3IgdG8gYWRkLlxuICogQHBhcmFtIHtudW1iZXJ9IFttdWx0aXBsaWVyPTFdIEEgbXVsdGlwbGllciB0byBiZSB1c2VkIGJlZm9yZSB0aGUgc2Vjb25kIHZlY3RvciBpcyBhZGRlZC5cbiAqIEByZXR1cm4ge1ZlY3Rvcn0gTmV3IHZlY3RvciBjb250YWluZWQgdGhlIHJlc3VsdCBvZiBvcGVyYXRpb24gcCttdWx0aXBsaWVyKnEuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB2ZWN0b3JBZGQocCwgcSwgbXVsdGlwbGllciA9IDEpIHtcbiAgICBjb25zdCBuSXRlbXMgPSBwLmxlbmd0aDtcbiAgICBhc3NlcnQobkl0ZW1zID09IHEubGVuZ3RoLCAnVmVjdG9yIGxlbmd0aHMgZG8gbm90IG1hdGNoLicpO1xuICAgIGNvbnN0IHRvdGFsID0gbmV3IFZlY3RvcihuSXRlbXMpO1xuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgcC5sZW5ndGg7ICsraSlcbiAgICAgICAgdG90YWxbaV0gPSBwW2ldICsgbXVsdGlwbGllciAqIHFbaV07XG4gICAgcmV0dXJuIHRvdGFsO1xufVxuLyoqXG4gKiBTdW1zIHRoZSB2ZWN0b3IncyBpdGVtcy5cbiAqXG4gKiBAcGFyYW0ge1ZlY3Rvcn0gdiBUaGUgdmVjdG9yIHRvIGJlIHN1bW1lZC5cbiAqIEByZXR1cm4ge251bWJlcn0gVGhlIHZlY3RvcidzIGl0ZW1zIHN1bS5cbiAqL1xuZnVuY3Rpb24gaXRlbXNTdW0odikge1xuICAgIGxldCB0b3RhbCA9IDA7XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCB2Lmxlbmd0aDsgKytpKVxuICAgICAgICB0b3RhbCArPSB2W2ldO1xuICAgIHJldHVybiB0b3RhbDtcbn1cbi8qKlxuICogU3VxYXJlcyB0aGUgdmVjdG9yJ3MgaXRlbXMuXG4gKlxuICogQHBhcmFtIHtWZWN0b3J9IHYgVGhlIHZlY3RvciB0byBzcXVhcmUuXG4gKiBAcmV0dXJuIHtWZWN0b3J9IEEgbmV3IHZlY3RvciBjb250YWluaW5nIHRoZSBvcmlnaW5hbCdzIGl0ZW1zIHNxdWFyZWQuXG4gKi9cbmZ1bmN0aW9uIHZlY3RvclNxdWFyZSh2KSB7XG4gICAgY29uc3Qgbkl0ZW1zID0gdi5sZW5ndGg7XG4gICAgY29uc3QgdG90YWwgPSBuZXcgVmVjdG9yKG5JdGVtcyk7XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCB2Lmxlbmd0aDsgKytpKVxuICAgICAgICB0b3RhbFtpXSA9IHZbaV0gKiB2W2ldO1xuICAgIHJldHVybiB0b3RhbDtcbn1cbmV4cG9ydCBmdW5jdGlvbiB2ZWN0b3JMZW5ndGgodikge1xuICAgIGxldCBzcXJTdW0gPSAwO1xuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgdi5sZW5ndGg7IGkrKylcbiAgICAgICAgc3FyU3VtICs9IHZbaV0gKiB2W2ldO1xuICAgIHJldHVybiBNYXRoLnNxcnQoc3FyU3VtKTtcbn1cbmV4cG9ydCBmdW5jdGlvbiB2ZWN0b3JEb3RQcm9kdWN0KHYxLCB2Mikge1xuICAgIGlmICh2MS5sZW5ndGggIT0gdjIubGVuZ3RoKVxuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ1RoZSBkaW1lbnNpb25hbGl0eSBvZiB0aGUgdmVjdG9ycyBtdXN0IG1hdGNoJyk7XG4gICAgbGV0IHByb2QgPSAwO1xuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgdjEubGVuZ3RoOyBpKyspXG4gICAgICAgIHByb2QgKz0gdjFbaV0gKiB2MltpXTtcbiAgICByZXR1cm4gcHJvZDtcbn1cbi8qKlxuICogQ3JlYXRlcyBhIG1hdHJpeCBmaWxsZWQgd2l0aCByYW5kb20gZmxvYXRpbmcgcG9pbnQgdmFsdWVzLlxuICpcbiAqIEBleHBvcnRcbiAqIEBwYXJhbSB7bnVtYmVyfSBkaW1lbnNpb24xIFRoZSBmaXJzdCBkaW1lbnNpb24gb2YgdGhlIG1hdHJpeC5cbiAqIEBwYXJhbSB7bnVtYmVyfSBkaW1lbnNpb24yIFRoZSBzZWNvbmQgZGltZW5zaW9uIG9mIHRoZSBtYXRyaXguXG4gKiBAcGFyYW0ge251bWJlcn0gW3NjYWxlPTEuXSBNYXggdmFsdWUgZ2l2ZW4gYnkgcmFuZG9tIGdlbmVyYXRvci5cbiAqIEByZXR1cm4ge01hdHJpeH0gQSBuZXcgbWF0cml4IGZpbGxlZCB3aXRoIHJhbmRvbSBmbG9hdGluZyBwb2ludCAgdmFsdWVzLlxuICovXG5leHBvcnQgZnVuY3Rpb24gZmlsbFJhbmRvbU1hdHJpeChkaW1lbnNpb24xLCBkaW1lbnNpb24yLCBzY2FsZSA9IDEuKSB7XG4gICAgY29uc3QgbWF0cml4ID0gaW5pdENvb3JkaW5hdGVzKGRpbWVuc2lvbjEsIGRpbWVuc2lvbjIpO1xuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgZGltZW5zaW9uMTsgKytpKSB7XG4gICAgICAgIGZvciAobGV0IGogPSAwOyBqIDwgZGltZW5zaW9uMjsgKytqKVxuICAgICAgICAgICAgbWF0cml4W2ldW2pdID0gcmFuZG9tRmxvYXQoc2NhbGUpO1xuICAgIH1cbiAgICByZXR1cm4gbWF0cml4O1xufVxuLyoqXG4gKiBDYWxjdWxhdGVzIEV1Y2xpZGVhbiBkaXN0YW5jZSBiZXR3ZWVuIHR3byB2ZWN0b3JzLlxuICpcbiAqIEBleHBvcnRcbiAqIEBwYXJhbSB7VmVjdG9yfSBwIFRoZSBmaXJzdCB2ZWN0b3IuXG4gKiBAcGFyYW0ge1ZlY3Rvcn0gcSBUaGUgc2Vjb25kIHZlY3Rvci5cbiAqIEByZXR1cm4ge251bWJlcn0gRXVjbGlkZWFuIGRpc3RhbmNlIGJldHdlZW4gdGhlIGdpdmVuIHZlY3RvcnMuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBjYWxjdWxhdGVFdWNsaWRlYW5EaXN0YW5jZShwLCBxKSB7XG4gICAgbGV0IHJlc3VsdCA9IDA7XG4gICAgY29uc3QgbGVuID0gcC5sZW5ndGg7XG4gICAgaWYgKGxlbiAhPT0gcS5sZW5ndGgpXG4gICAgICAgIHRocm93IG5ldyBFcnJvcignVGhlIGRpbWVuc2lvbmFsaXR5IG9mIHRoZSB2ZWN0b3JzIG11c3QgbWF0Y2gnKTtcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IGxlbjsgKytpKVxuICAgICAgICByZXN1bHQgKz0gTWF0aC5wb3coKHBbaV0gLSBxW2ldKSwgMik7XG4gICAgcmV0dXJuIE1hdGguc3FydChyZXN1bHQpO1xufVxuLyoqXG4gKiBDcmVhdGVzIGEgZGlzdGFuY2UgbWF0cml4IHVzaW5nIGEgY3VzdG9tIGRpc3RhbmNlIGZ1bmN0aW9uLlxuICpcbiAqIEBleHBvcnRcbiAqIEBwYXJhbSB7VmVjdG9yc30gZGF0YSBJbnB1dCB2ZWN0b3JzIHRvIGNhbGN1bGF0ZSBkaXN0YW5jZXMuXG4gKiBAcGFyYW0ge0Rpc3RhbmNlTWV0cmljfSBkaXN0YW5jZSBDdXN0b20gZGlzdGFuY2UgZnVuY3Rpb24uXG4gKiBAcmV0dXJuIHtNYXRyaXh9IENhbGN1bGF0ZWQgY3VzdG9tIGRpc3RhbmNlIG1hdHJpeC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGNhbGNEaXN0YW5jZU1hdHJpeChkYXRhLCBkaXN0YW5jZSkge1xuICAgIGNvbnN0IG5JdGVtcyA9IGRhdGEubGVuZ3RoO1xuICAgIGNvbnN0IG1hdHJpeCA9IGluaXRDb29yZGluYXRlcyhuSXRlbXMsIG5JdGVtcywgMCk7XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBuSXRlbXM7ICsraSkge1xuICAgICAgICBmb3IgKGxldCBqID0gaSArIDE7IGogPCBuSXRlbXM7ICsraikge1xuICAgICAgICAgICAgY29uc3QgZCA9IChkYXRhW2ldID09IG51bGwpIHx8IChkYXRhW2pdID09IG51bGwpID8gMCA6IGRpc3RhbmNlKGRhdGFbaV0sIGRhdGFbal0pO1xuICAgICAgICAgICAgbWF0cml4W2ldW2pdID0gbWF0cml4W2pdW2ldID0gZDtcbiAgICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gbWF0cml4O1xufVxuLyoqXG4gKiBDcmVhdGVzIGEgZGlzdGFuY2UgbWF0cml4IHVzaW5nIGEgY3VzdG9tIGRpc3RhbmNlIGZ1bmN0aW9uLlxuICpcbiAqIEBleHBvcnRcbiAqIEBwYXJhbSB7VmVjdG9yc30gZGF0YSBJbnB1dCB2ZWN0b3JzIHRvIGNhbGN1bGF0ZSBkaXN0YW5jZXMuXG4gKiBAcGFyYW0ge0Rpc3RhbmNlTWV0cmljfSBkaXN0YW5jZSBDdXN0b20gZGlzdGFuY2UgZnVuY3Rpb24uXG4gKiBAcmV0dXJuIHtNYXRyaXh9IENhbGN1bGF0ZWQgY3VzdG9tIGRpc3RhbmNlIG1hdHJpeC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGNhbGNOb3JtYWxpemVkRGlzdGFuY2VNYXRyaXgoZGF0YSwgZGlzdGFuY2UpIHtcbiAgICBjb25zdCBuSXRlbXMgPSBkYXRhLmxlbmd0aDtcbiAgICBjb25zdCBtYXRyaXggPSBpbml0Q29vcmRpbmF0ZXMobkl0ZW1zLCBuSXRlbXMsIDApO1xuICAgIGxldCBtYXggPSBOdW1iZXIuTUlOX1ZBTFVFO1xuICAgIGxldCBtaW4gPSBOdW1iZXIuTUFYX1ZBTFVFO1xuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgbkl0ZW1zOyArK2kpIHtcbiAgICAgICAgZm9yIChsZXQgaiA9IGk7IGogPCBuSXRlbXM7ICsraikge1xuICAgICAgICAgICAgY29uc3QgZCA9IChkYXRhW2ldID09IG51bGwpIHx8IChkYXRhW2pdID09IG51bGwgfHwgaSA9PT0gaikgPyAwIDogZGlzdGFuY2UoZGF0YVtpXSwgZGF0YVtqXSk7XG4gICAgICAgICAgICBtYXRyaXhbaV1bal0gPSBtYXRyaXhbal1baV0gPSBkO1xuICAgICAgICAgICAgaWYgKGQgPiBtYXgpXG4gICAgICAgICAgICAgICAgbWF4ID0gZDtcbiAgICAgICAgICAgIGlmIChkIDwgbWluKVxuICAgICAgICAgICAgICAgIG1pbiA9IGQ7XG4gICAgICAgIH1cbiAgICB9XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBuSXRlbXM7ICsraSkge1xuICAgICAgICBmb3IgKGxldCBqID0gaSArIDE7IGogPCBuSXRlbXM7ICsrailcbiAgICAgICAgICAgIG1hdHJpeFtpXVtqXSA9IG1hdHJpeFtqXVtpXSA9IChtYXRyaXhbaV1bal0gLSBtaW4pIC8gKG1heCAtIG1pbik7XG4gICAgfVxuICAgIHJldHVybiBtYXRyaXg7XG59XG4vKiogR2VuZXJhdGVzIGFycmF5IGZyb20gYSByYW5nZSBbYmVnaW47IGVuZF0gb3IgW2JlZ2luOyBlbmQpIGlmIGVuZEV4Y2x1c2l2ZS4gKiovXG5leHBvcnQgZnVuY3Rpb24gZ2VuUmFuZ2UoYmVnaW4sIGVuZCwgZW5kRXhjbHVzaXZlID0gZmFsc2UpIHtcbiAgICBjb25zdCBuSXRlbXMgPSBlbmQgLSBiZWdpbiArIChlbmRFeGNsdXNpdmUgPyAwIDogMSk7XG4gICAgY29uc3Qgc2VyaWVzID0gbmV3IEludDMyQXJyYXkobkl0ZW1zKTtcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IG5JdGVtczsgKytpKVxuICAgICAgICBzZXJpZXNbaV0gPSBiZWdpbiArIGk7XG4gICAgcmV0dXJuIHNlcmllcztcbn1cbi8qKlxuICogUmV0dXJucyBvcmRlciBvZiB2YWx1ZXMgYXMgaWYgdGhleSBhcmUgc29ydGVkLlxuICpcbiAqIEBleHBvcnRcbiAqIEBwYXJhbSB7YW55W119IHZhbHVlcyBJbnB1dCBhcnJheS5cbiAqIEBwYXJhbSB7Ym9vbGVhbn0gW3JldmVyc2U9ZmFsc2VdIFdoZXRoZXIgdG8gcmV0dXJuIHJldmVyc2VkIG9yZGVyLlxuICogQHJldHVybiB7bnVtYmVyW119IFRoZSBvcmRlciBjb21wdXRlZC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGFyZ1NvcnQodmFsdWVzLCByZXZlcnNlID0gZmFsc2UpIHtcbiAgICBjb25zdCBzb3J0Zm4gPSByZXZlcnNlID8gKGEsIGIpID0+IChiWzBdIC0gYVswXSkgOiAoYSwgYikgPT4gKGFbMF0gLSBiWzBdKTtcbiAgICBjb25zdCBkZWNvciA9ICh2LCBpKSA9PiBbdiwgaV07IC8vIHNldCBpbmRleCB0byB2YWx1ZVxuICAgIGNvbnN0IHVuZGVjb3IgPSAoYSkgPT4gYVsxXTsgLy8gbGVhdmUgb25seSBpbmRleFxuICAgIGNvbnN0IF9hcmdzb3J0ID0gKGFycikgPT4gYXJyLm1hcChkZWNvcikuc29ydChzb3J0Zm4pLm1hcCh1bmRlY29yKTtcbiAgICByZXR1cm4gX2FyZ3NvcnQodmFsdWVzKTtcbn1cbi8qKlxuICogUmV0dXJucyB0aGUgaW5kZXhlcyBvZiB0aGUgbW9zdCBkaXZlcnNlIG9iamVjdHMgYWNjb3JkaW5nIHRvIHRoZSBkaXN0IGZ1bmN0aW9uXG4gKiBAcGFyYW0ge251bWJlcn0gbGVuZ3RoIHRvdGFsIG51bWJlciBvZiBvYmplY3RzXG4gKiBAcGFyYW0ge251bWJlcn0gbiBudW1iZXIgb2YgZGl2ZXJzZSBlbGVtZW50cyB0byBmaW5kXG4gKiBAcGFyYW0geyhpMTogbnVtYmVyLCBpMjogbnVtYmVyKSA9PiBudW1iZXJ9IGRpc3QgYSBmdW5jdGlvbiB3aGljaCBjYWxjdWxhdGVzIGRpc3RhbmNlIGJldHdlZW5cbiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0d28gb2JqZWN0cyB1c2luZyB0aGVpciBpbmRleGVzXG4gKiBAcmV0dXJucyB7bnVtYmVyW119IFRoZSBpbmRleGVzIG9mIHRoZSBtb3N0IGRpdmVyc2Ugb2JqZWN0c1xuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0RGl2ZXJzZVN1YnNldChsZW5ndGgsIG4sIGRpc3QpIHtcbiAgICBmdW5jdGlvbiBtYXhCeSh2YWx1ZXMsIG9yZGVyQnkpIHtcbiAgICAgICAgbGV0IG1heFZhbHVlID0gbnVsbDtcbiAgICAgICAgbGV0IG1heE9yZGVyQnkgPSBudWxsO1xuICAgICAgICBmb3IgKGNvbnN0IGVsZW1lbnQgb2YgdmFsdWVzKSB7XG4gICAgICAgICAgICBjb25zdCBlbGVtZW50T3JkZXJCeSA9IG9yZGVyQnkoZWxlbWVudCk7XG4gICAgICAgICAgICBpZiAobWF4T3JkZXJCeSA9PSBudWxsIHx8IGVsZW1lbnRPcmRlckJ5ID4gbWF4T3JkZXJCeSkge1xuICAgICAgICAgICAgICAgIG1heFZhbHVlID0gZWxlbWVudDtcbiAgICAgICAgICAgICAgICBtYXhPcmRlckJ5ID0gZWxlbWVudE9yZGVyQnk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIG1heFZhbHVlO1xuICAgIH1cbiAgICBjb25zdCBzdWJzZXQgPSBbcmFuZG9tSW50KGxlbmd0aCAtIDEpXTtcbiAgICBjb25zdCBjb21wbGVtZW50ID0gbmV3IFNldCgpO1xuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgbGVuZ3RoOyArK2kpIHtcbiAgICAgICAgaWYgKCFzdWJzZXQuaW5jbHVkZXMoaSkpXG4gICAgICAgICAgICBjb21wbGVtZW50LmFkZChpKTtcbiAgICB9XG4gICAgd2hpbGUgKHN1YnNldC5sZW5ndGggPCBuKSB7XG4gICAgICAgIGNvbnN0IGlkeCA9IG1heEJ5KGNvbXBsZW1lbnQudmFsdWVzKCksIChpKSA9PiBNYXRoLm1pbi5hcHBseShNYXRoLCBzdWJzZXQubWFwKGZ1bmN0aW9uICh2YWwsIGluZGV4KSB7XG4gICAgICAgICAgICByZXR1cm4gZGlzdChpLCB2YWwpO1xuICAgICAgICB9KSkpO1xuICAgICAgICBpZiAoaWR4KSB7XG4gICAgICAgICAgICBzdWJzZXQucHVzaChpZHgpO1xuICAgICAgICAgICAgY29tcGxlbWVudC5kZWxldGUoaWR4KTtcbiAgICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gc3Vic2V0O1xufVxuLyoqXG4gKiBSZXR1cm5zIG5vcm1hbGl6ZWQgdmVjdG9yLlxuICpcbiAqIEBleHBvcnRcbiAqIEBwYXJhbSB7VmVjdG9yfSBkYXRhIG51bWVyaWNhbCBhcnJheVxuICovXG5leHBvcnQgZnVuY3Rpb24gbm9ybWFsaXplKGRhdGEpIHtcbiAgICBjb25zdCBsZW4gPSBkYXRhLmxlbmd0aDtcbiAgICBsZXQgc3VtID0gMDtcbiAgICBsZXQgc3VtT2ZTcXVhcmVzID0gMDtcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IGxlbjsgKytpKSB7XG4gICAgICAgIHN1bSArPSBkYXRhW2ldO1xuICAgICAgICBzdW1PZlNxdWFyZXMgKz0gTWF0aC5wb3coZGF0YVtpXSwgMik7XG4gICAgfVxuICAgIGNvbnN0IG1lYW4gPSBzdW0gLyBsZW47XG4gICAgY29uc3Qgc3RkRGV2SW52ZXJzZSA9IDEuMCAvIE1hdGguc3FydChzdW1PZlNxdWFyZXMgLyBsZW4gLSBNYXRoLnBvdyhtZWFuLCAyKSk7XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBsZW47ICsraSlcbiAgICAgICAgZGF0YVtpXSA9IChkYXRhW2ldIC0gbWVhbikgKiBzdGREZXZJbnZlcnNlO1xuICAgIHJldHVybiBkYXRhO1xufVxuLyoqXG4gKiBGaW5kcyBzZXQgZGlmZmVyZW5jZSBiZXR3ZWVuIHR3byBsaXN0cy5cbiAqIEBwYXJhbSB7YW55W119IGEgVGhlIGZpcnN0IGxpc3QuXG4gKiBAcGFyYW0ge2FueVtdfSBiIFRoZSBzZWNvbmQgbGlzdC5cbiAqIEByZXR1cm4ge2FueVtdfVxuICovXG5leHBvcnQgZnVuY3Rpb24gc2V0RGlmZmVyZW5jZShhLCBiKSB7XG4gICAgY29uc3QgYlNldCA9IG5ldyBTZXQoYik7XG4gICAgcmV0dXJuIEFycmF5LmZyb20obmV3IFNldChhLmZpbHRlcigoeCkgPT4gIWJTZXQuaGFzKHgpKSkudmFsdWVzKCkpO1xufVxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKbWFXeGxJam9pZG1WamRHOXlMVzl3WlhKaGRHbHZibk11YW5NaUxDSnpiM1Z5WTJWU2IyOTBJam9pSWl3aWMyOTFjbU5sY3lJNld5SjJaV04wYjNJdGIzQmxjbUYwYVc5dWN5NTBjeUpkTENKdVlXMWxjeUk2VzEwc0ltMWhjSEJwYm1keklqb2lRVUZCUVN4UFFVRlBMRVZCUVZNc1RVRkJUU3hGUVVGMVF5eE5RVUZOTEhGQ1FVRnhRaXhEUVVGRE8wRkJRM3BHTEU5QlFVOHNSVUZCUXl4WFFVRlhMRVZCUVVVc1UwRkJVeXhGUVVGRExFMUJRVTBzVlVGQlZTeERRVUZETzBGQlJXaEVPenM3T3pzN08wZEJUMGM3UVVGRFNDeE5RVUZOTEZWQlFWVXNUVUZCVFN4RFFVRkRMRmxCUVhGQ0xFdEJRVXNzUlVGQlJTeFZRVUZyUWl4clFrRkJhMEk3U1VGRGNrWXNTVUZCU1N4RFFVRkRMRk5CUVZNN1VVRkRXaXhOUVVGTkxFbEJRVWtzUzBGQlN5eERRVUZETEU5QlFVOHNRMEZCUXl4RFFVRkRPMEZCUXpkQ0xFTkJRVU03UVVGRlJEczdPenM3T3pzN1IwRlJSenRCUVVOSUxFMUJRVTBzVlVGQlZTeGxRVUZsTEVOQlFVTXNWVUZCYTBJc1JVRkJSU3hWUVVGclFpeEZRVUZGTEU5QlFXVXNRMEZCUXp0SlFVTjBSaXhQUVVGUExFbEJRVWtzUzBGQlN5eERRVUZETEZWQlFWVXNRMEZCUXl4RFFVRkRMRWxCUVVrc1EwRkJReXhKUVVGSkxFTkJRVU1zUTBGQlF5eEhRVUZITEVOQlFVTXNSMEZCUnl4RlFVRkZMRU5CUVVNc1EwRkJReXhKUVVGSkxFMUJRVTBzUTBGQlF5eFZRVUZWTEVOQlFVTXNRMEZCUXl4SlFVRkpMRU5CUVVNc1NVRkJTU3hEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETzBGQlEzcEdMRU5CUVVNN1FVRkZSRHM3T3pzN096dEhRVTlITzBGQlEwZ3NUVUZCVFN4VlFVRlZMR1ZCUVdVc1EwRkJReXhOUVVGak8wbEJRelZETEU5QlFVOHNTVUZCU1N4TFFVRkxMRU5CUVVNc1RVRkJUU3hEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETEUxQlFVMHNRMEZCUXl4RFFVRkRMRWxCUVVrc1EwRkJReXhEUVVGRExFTkJRVU03VTBGRGRrTXNSMEZCUnl4RFFVRkRMRU5CUVVNc1EwRkJReXhGUVVGRkxFTkJRVU1zUlVGQlJTeEZRVUZGTEVOQlFVTXNRMEZCUXl4SlFVRkpMRTFCUVUwc1EwRkJReXhOUVVGTkxFTkJRVU1zVFVGQlRTeERRVUZETEVOQlFVTXNTVUZCU1N4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRExFZEJRVWNzUTBGQlF5eERRVUZETEVOQlFVTXNSVUZCUlN4RFFVRkRMRVZCUVVVc1JVRkJSU3hEUVVGRExFTkJRVU1zVFVGQlRTeERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTTdRVUZEZEVZc1EwRkJRenRCUVVWRU96czdPenM3T3p0SFFWRkhPMEZCUTBnc1RVRkJUU3hWUVVGVkxGTkJRVk1zUTBGQlF5eERRVUZUTEVWQlFVVXNRMEZCVXl4RlFVRkZMR0ZCUVhGQ0xFTkJRVU03U1VGRGNFVXNUVUZCVFN4TlFVRk5MRWRCUVVjc1EwRkJReXhEUVVGRExFMUJRVTBzUTBGQlF6dEpRVVY0UWl4TlFVRk5MRU5CUVVNc1RVRkJUU3hKUVVGSkxFTkJRVU1zUTBGQlF5eE5RVUZOTEVWQlFVVXNPRUpCUVRoQ0xFTkJRVU1zUTBGQlF6dEpRVVV6UkN4TlFVRk5MRXRCUVVzc1IwRkJSeXhKUVVGSkxFMUJRVTBzUTBGQlF5eE5RVUZOTEVOQlFVTXNRMEZCUXp0SlFVVnFReXhMUVVGTExFbEJRVWtzUTBGQlF5eEhRVUZITEVOQlFVTXNSVUZCUlN4RFFVRkRMRWRCUVVjc1EwRkJReXhEUVVGRExFMUJRVTBzUlVGQlJTeEZRVUZGTEVOQlFVTTdVVUZETDBJc1MwRkJTeXhEUVVGRExFTkJRVU1zUTBGQlF5eEhRVUZITEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNc1IwRkJSeXhWUVVGVkxFZEJRVWNzUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRPMGxCUlhSRExFOUJRVThzUzBGQlN5eERRVUZETzBGQlEyWXNRMEZCUXp0QlFVVkVPenM3T3p0SFFVdEhPMEZCUTBnc1UwRkJVeXhSUVVGUkxFTkJRVU1zUTBGQlV6dEpRVU42UWl4SlFVRkpMRXRCUVVzc1IwRkJSeXhEUVVGRExFTkJRVU03U1VGRlpDeExRVUZMTEVsQlFVa3NRMEZCUXl4SFFVRkhMRU5CUVVNc1JVRkJSU3hEUVVGRExFZEJRVWNzUTBGQlF5eERRVUZETEUxQlFVMHNSVUZCUlN4RlFVRkZMRU5CUVVNN1VVRkRMMElzUzBGQlN5eEpRVUZKTEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJRenRKUVVWb1FpeFBRVUZQTEV0QlFVc3NRMEZCUXp0QlFVTm1MRU5CUVVNN1FVRkZSRHM3T3pzN1IwRkxSenRCUVVOSUxGTkJRVk1zV1VGQldTeERRVUZETEVOQlFWTTdTVUZETjBJc1RVRkJUU3hOUVVGTkxFZEJRVWNzUTBGQlF5eERRVUZETEUxQlFVMHNRMEZCUXp0SlFVTjRRaXhOUVVGTkxFdEJRVXNzUjBGQlJ5eEpRVUZKTEUxQlFVMHNRMEZCUXl4TlFVRk5MRU5CUVVNc1EwRkJRenRKUVVWcVF5eExRVUZMTEVsQlFVa3NRMEZCUXl4SFFVRkhMRU5CUVVNc1JVRkJSU3hEUVVGRExFZEJRVWNzUTBGQlF5eERRVUZETEUxQlFVMHNSVUZCUlN4RlFVRkZMRU5CUVVNN1VVRkRMMElzUzBGQlN5eERRVUZETEVOQlFVTXNRMEZCUXl4SFFVRkhMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU1zUjBGQlJ5eERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNN1NVRkZla0lzVDBGQlR5eExRVUZMTEVOQlFVTTdRVUZEWml4RFFVRkRPMEZCUlVRc1RVRkJUU3hWUVVGVkxGbEJRVmtzUTBGQlF5eERRVUZUTzBsQlEzQkRMRWxCUVVrc1RVRkJUU3hIUVVGWExFTkJRVU1zUTBGQlF6dEpRVU4yUWl4TFFVRkxMRWxCUVVrc1EwRkJReXhIUVVGWExFTkJRVU1zUlVGQlJTeERRVUZETEVkQlFVY3NRMEZCUXl4RFFVRkRMRTFCUVUwc1JVRkJSU3hEUVVGRExFVkJRVVU3VVVGRGRrTXNUVUZCVFN4SlFVRkpMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU1zUjBGQlJ5eERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNN1NVRkRlRUlzVDBGQlR5eEpRVUZKTEVOQlFVTXNTVUZCU1N4RFFVRkRMRTFCUVUwc1EwRkJReXhEUVVGRE8wRkJRek5DTEVOQlFVTTdRVUZGUkN4TlFVRk5MRlZCUVZVc1owSkJRV2RDTEVOQlFVTXNSVUZCVlN4RlFVRkZMRVZCUVZVN1NVRkRja1FzU1VGQlNTeEZRVUZGTEVOQlFVTXNUVUZCVFN4SlFVRkpMRVZCUVVVc1EwRkJReXhOUVVGTk8xRkJRM2hDTEUxQlFVMHNTVUZCU1N4TFFVRkxMRU5CUVVNc09FTkJRVGhETEVOQlFVTXNRMEZCUXp0SlFVTnNSU3hKUVVGSkxFbEJRVWtzUjBGQlZ5eERRVUZETEVOQlFVTTdTVUZEY2tJc1MwRkJTeXhKUVVGSkxFTkJRVU1zUjBGQlZ5eERRVUZETEVWQlFVVXNRMEZCUXl4SFFVRkhMRVZCUVVVc1EwRkJReXhOUVVGTkxFVkJRVVVzUTBGQlF5eEZRVUZGTzFGQlEzaERMRWxCUVVrc1NVRkJTU3hGUVVGRkxFTkJRVU1zUTBGQlF5eERRVUZETEVkQlFVY3NSVUZCUlN4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRE8wbEJRM2hDTEU5QlFVOHNTVUZCU1N4RFFVRkRPMEZCUTJRc1EwRkJRenRCUVVWRU96czdPenM3T3p0SFFWRkhPMEZCUTBnc1RVRkJUU3hWUVVGVkxHZENRVUZuUWl4RFFVRkRMRlZCUVd0Q0xFVkJRVVVzVlVGQmEwSXNSVUZCUlN4UlFVRm5RaXhGUVVGRk8wbEJRM3BHTEUxQlFVMHNUVUZCVFN4SFFVRkhMR1ZCUVdVc1EwRkJReXhWUVVGVkxFVkJRVVVzVlVGQlZTeERRVUZETEVOQlFVTTdTVUZGZGtRc1MwRkJTeXhKUVVGSkxFTkJRVU1zUjBGQlJ5eERRVUZETEVWQlFVVXNRMEZCUXl4SFFVRkhMRlZCUVZVc1JVRkJSU3hGUVVGRkxFTkJRVU1zUlVGQlJUdFJRVU51UXl4TFFVRkxMRWxCUVVrc1EwRkJReXhIUVVGSExFTkJRVU1zUlVGQlJTeERRVUZETEVkQlFVY3NWVUZCVlN4RlFVRkZMRVZCUVVVc1EwRkJRenRaUVVOcVF5eE5RVUZOTEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRExFZEJRVWNzVjBGQlZ5eERRVUZETEV0QlFVc3NRMEZCUXl4RFFVRkRPMHRCUTNKRE8wbEJRMFFzVDBGQlR5eE5RVUZOTEVOQlFVTTdRVUZEYUVJc1EwRkJRenRCUVVWRU96czdPenM3TzBkQlQwYzdRVUZEU0N4TlFVRk5MRlZCUVZVc01FSkJRVEJDTEVOQlFVTXNRMEZCVXl4RlFVRkZMRU5CUVZNN1NVRkROMFFzU1VGQlNTeE5RVUZOTEVkQlFVY3NRMEZCUXl4RFFVRkRPMGxCUTJZc1RVRkJUU3hIUVVGSExFZEJRVWNzUTBGQlF5eERRVUZETEUxQlFVMHNRMEZCUXp0SlFVVnlRaXhKUVVGSkxFZEJRVWNzUzBGQlN5eERRVUZETEVOQlFVTXNUVUZCVFR0UlFVTnNRaXhOUVVGTkxFbEJRVWtzUzBGQlN5eERRVUZETERoRFFVRTRReXhEUVVGRExFTkJRVU03U1VGRmJFVXNTMEZCU3l4SlFVRkpMRU5CUVVNc1IwRkJSeXhEUVVGRExFVkJRVVVzUTBGQlF5eEhRVUZITEVkQlFVY3NSVUZCUlN4RlFVRkZMRU5CUVVNN1VVRkRNVUlzVFVGQlRTeEpRVUZKTEZOQlFVRXNRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRExFZEJRVWNzUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRMRVZCUVVrc1EwRkJReXhEUVVGQkxFTkJRVU03U1VGRkwwSXNUMEZCVHl4SlFVRkpMRU5CUVVNc1NVRkJTU3hEUVVGRExFMUJRVTBzUTBGQlF5eERRVUZETzBGQlF6TkNMRU5CUVVNN1FVRkZSRHM3T3pzN096dEhRVTlITzBGQlEwZ3NUVUZCVFN4VlFVRlZMR3RDUVVGclFpeERRVUZETEVsQlFXRXNSVUZCUlN4UlFVRjNRanRKUVVONFJTeE5RVUZOTEUxQlFVMHNSMEZCUnl4SlFVRkpMRU5CUVVNc1RVRkJUU3hEUVVGRE8wbEJRek5DTEUxQlFVMHNUVUZCVFN4SFFVRkhMR1ZCUVdVc1EwRkJReXhOUVVGTkxFVkJRVVVzVFVGQlRTeEZRVUZGTEVOQlFVTXNRMEZCUXl4RFFVRkRPMGxCUld4RUxFdEJRVXNzU1VGQlNTeERRVUZETEVkQlFVY3NRMEZCUXl4RlFVRkZMRU5CUVVNc1IwRkJSeXhOUVVGTkxFVkJRVVVzUlVGQlJTeERRVUZETEVWQlFVVTdVVUZETDBJc1MwRkJTeXhKUVVGSkxFTkJRVU1zUjBGQlJ5eERRVUZETEVkQlFVY3NRMEZCUXl4RlFVRkZMRU5CUVVNc1IwRkJSeXhOUVVGTkxFVkJRVVVzUlVGQlJTeERRVUZETEVWQlFVVTdXVUZEYmtNc1RVRkJUU3hEUVVGRExFZEJRVmNzUTBGQlF5eEpRVUZKTEVOQlFVTXNRMEZCUXl4RFFVRkRMRWxCUVVrc1NVRkJTU3hEUVVGRExFbEJRVWtzUTBGQlF5eEpRVUZKTEVOQlFVTXNRMEZCUXl4RFFVRkRMRWxCUVVrc1NVRkJTU3hEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNc1VVRkJVU3hEUVVGRExFbEJRVWtzUTBGQlF5eERRVUZETEVOQlFVTXNSVUZCUlN4SlFVRkpMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF6dFpRVU14Uml4TlFVRk5MRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETEVkQlFVY3NUVUZCVFN4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF5eEhRVUZITEVOQlFVTXNRMEZCUXp0VFFVTnFRenRMUVVOR08wbEJRMFFzVDBGQlR5eE5RVUZOTEVOQlFVTTdRVUZEYUVJc1EwRkJRenRCUVVWRU96czdPenM3TzBkQlQwYzdRVUZEU0N4TlFVRk5MRlZCUVZVc05FSkJRVFJDTEVOQlFVTXNTVUZCWVN4RlFVRkZMRkZCUVhkQ08wbEJRMnhHTEUxQlFVMHNUVUZCVFN4SFFVRkhMRWxCUVVrc1EwRkJReXhOUVVGTkxFTkJRVU03U1VGRE0wSXNUVUZCVFN4TlFVRk5MRWRCUVVjc1pVRkJaU3hEUVVGRExFMUJRVTBzUlVGQlJTeE5RVUZOTEVWQlFVVXNRMEZCUXl4RFFVRkRMRU5CUVVNN1NVRkRiRVFzU1VGQlNTeEhRVUZITEVkQlFVY3NUVUZCVFN4RFFVRkRMRk5CUVZNc1EwRkJRenRKUVVNelFpeEpRVUZKTEVkQlFVY3NSMEZCUnl4TlFVRk5MRU5CUVVNc1UwRkJVeXhEUVVGRE8wbEJRek5DTEV0QlFVc3NTVUZCU1N4RFFVRkRMRWRCUVVjc1EwRkJReXhGUVVGRkxFTkJRVU1zUjBGQlJ5eE5RVUZOTEVWQlFVVXNSVUZCUlN4RFFVRkRMRVZCUVVVN1VVRkRMMElzUzBGQlN5eEpRVUZKTEVOQlFVTXNSMEZCUnl4RFFVRkRMRVZCUVVVc1EwRkJReXhIUVVGSExFMUJRVTBzUlVGQlJTeEZRVUZGTEVOQlFVTXNSVUZCUlR0WlFVTXZRaXhOUVVGTkxFTkJRVU1zUjBGQlZ5eERRVUZETEVsQlFVa3NRMEZCUXl4RFFVRkRMRU5CUVVNc1NVRkJTU3hKUVVGSkxFTkJRVU1zU1VGQlNTeERRVUZETEVsQlFVa3NRMEZCUXl4RFFVRkRMRU5CUVVNc1NVRkJTU3hKUVVGSkxFbEJRVWtzUTBGQlF5eExRVUZMTEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETEZGQlFWRXNRMEZCUXl4SlFVRkpMRU5CUVVNc1EwRkJReXhEUVVGRExFVkJRVVVzU1VGQlNTeERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNN1dVRkRja2NzVFVGQlRTeERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJReXhIUVVGSExFMUJRVTBzUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNc1IwRkJSeXhEUVVGRExFTkJRVU03V1VGRGFFTXNTVUZCU1N4RFFVRkRMRWRCUVVjc1IwRkJSenRuUWtGQlJTeEhRVUZITEVkQlFVY3NRMEZCUXl4RFFVRkRPMWxCUTNKQ0xFbEJRVWtzUTBGQlF5eEhRVUZITEVkQlFVYzdaMEpCUVVVc1IwRkJSeXhIUVVGSExFTkJRVU1zUTBGQlF6dFRRVU4wUWp0TFFVTkdPMGxCUTBRc1MwRkJTeXhKUVVGSkxFTkJRVU1zUjBGQlJ5eERRVUZETEVWQlFVVXNRMEZCUXl4SFFVRkhMRTFCUVUwc1JVRkJSU3hGUVVGRkxFTkJRVU1zUlVGQlJUdFJRVU12UWl4TFFVRkxMRWxCUVVrc1EwRkJReXhIUVVGSExFTkJRVU1zUjBGQlJ5eERRVUZETEVWQlFVVXNRMEZCUXl4SFFVRkhMRTFCUVUwc1JVRkJSU3hGUVVGRkxFTkJRVU03V1VGRGFrTXNUVUZCVFN4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF5eEhRVUZITEUxQlFVMHNRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU1zUjBGQlJ5eERRVUZETEUxQlFVMHNRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU1zUjBGQlJ5eEhRVUZITEVOQlFVTXNSMEZCUnl4RFFVRkRMRWRCUVVjc1IwRkJSeXhIUVVGSExFTkJRVU1zUTBGQlF6dExRVU53UlR0SlFVTkVMRTlCUVU4c1RVRkJUU3hEUVVGRE8wRkJRMmhDTEVOQlFVTTdRVUZGUkN4clJrRkJhMFk3UVVGRGJFWXNUVUZCVFN4VlFVRlZMRkZCUVZFc1EwRkJReXhMUVVGaExFVkJRVVVzUjBGQlZ5eEZRVUZGTEZsQlFWa3NSMEZCUnl4TFFVRkxPMGxCUTNaRkxFMUJRVTBzVFVGQlRTeEhRVUZITEVkQlFVY3NSMEZCUnl4TFFVRkxMRWRCUVVjc1EwRkJReXhaUVVGWkxFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU03U1VGRGNFUXNUVUZCVFN4TlFVRk5MRWRCUVVjc1NVRkJTU3hWUVVGVkxFTkJRVU1zVFVGQlRTeERRVUZETEVOQlFVTTdTVUZGZEVNc1MwRkJTeXhKUVVGSkxFTkJRVU1zUjBGQlJ5eERRVUZETEVWQlFVVXNRMEZCUXl4SFFVRkhMRTFCUVUwc1JVRkJSU3hGUVVGRkxFTkJRVU03VVVGRE4wSXNUVUZCVFN4RFFVRkRMRU5CUVVNc1EwRkJReXhIUVVGSExFdEJRVXNzUjBGQlJ5eERRVUZETEVOQlFVTTdTVUZGZUVJc1QwRkJUeXhOUVVGTkxFTkJRVU03UVVGRGFFSXNRMEZCUXp0QlFVVkVPenM3T3pzN08wZEJUMGM3UVVGRFNDeE5RVUZOTEZWQlFWVXNUMEZCVHl4RFFVRkRMRTFCUVdFc1JVRkJSU3hQUVVGUExFZEJRVWNzUzBGQlN6dEpRVU53UkN4TlFVRk5MRTFCUVUwc1IwRkJSeXhQUVVGUExFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCVVN4RlFVRkZMRU5CUVZFc1JVRkJSU3hGUVVGRkxFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRMRWRCUVVjc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJVU3hGUVVGRkxFTkJRVkVzUlVGQlJTeEZRVUZGTEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRExFZEJRVWNzUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNN1NVRkRka2NzVFVGQlRTeExRVUZMTEVkQlFVY3NRMEZCUXl4RFFVRk5MRVZCUVVVc1EwRkJVeXhGUVVGRkxFVkJRVVVzUTBGQlF5eERRVUZETEVOQlFVTXNSVUZCUlN4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRExIRkNRVUZ4UWp0SlFVTnNSU3hOUVVGTkxFOUJRVThzUjBGQlJ5eERRVUZETEVOQlFWRXNSVUZCUlN4RlFVRkZMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTXNiVUpCUVcxQ08wbEJRM1pFTEUxQlFVMHNVVUZCVVN4SFFVRkhMRU5CUVVNc1IwRkJWU3hGUVVGRkxFVkJRVVVzUTBGQlF5eEhRVUZITEVOQlFVTXNSMEZCUnl4RFFVRkRMRXRCUVVzc1EwRkJReXhEUVVGRExFbEJRVWtzUTBGQlF5eE5RVUZOTEVOQlFVTXNRMEZCUXl4SFFVRkhMRU5CUVVNc1QwRkJUeXhEUVVGRExFTkJRVU03U1VGRE1VVXNUMEZCVHl4UlFVRlJMRU5CUVVNc1RVRkJUU3hEUVVGRExFTkJRVU03UVVGRE1VSXNRMEZCUXp0QlFVVkVPenM3T3pzN08wZEJUMGM3UVVGRFNDeE5RVUZOTEZWQlFWVXNaMEpCUVdkQ0xFTkJRVU1zVFVGQll5eEZRVUZGTEVOQlFWTXNSVUZCUlN4SlFVRjNRenRKUVVOc1J5eFRRVUZUTEV0QlFVc3NRMEZCUXl4TlFVRm5ReXhGUVVGRkxFOUJRVGhDTzFGQlF6ZEZMRWxCUVVrc1VVRkJVU3hIUVVGSExFbEJRVWtzUTBGQlF6dFJRVU53UWl4SlFVRkpMRlZCUVZVc1IwRkJSeXhKUVVGSkxFTkJRVU03VVVGRmRFSXNTMEZCU3l4TlFVRk5MRTlCUVU4c1NVRkJTU3hOUVVGTkxFVkJRVVU3V1VGRE5VSXNUVUZCVFN4alFVRmpMRWRCUVVjc1QwRkJUeXhEUVVGRExFOUJRVThzUTBGQlF5eERRVUZETzFsQlEzaERMRWxCUVVrc1ZVRkJWU3hKUVVGSkxFbEJRVWtzU1VGQlNTeGpRVUZqTEVkQlFVY3NWVUZCVlN4RlFVRkZPMmRDUVVOeVJDeFJRVUZSTEVkQlFVY3NUMEZCVHl4RFFVRkRPMmRDUVVOdVFpeFZRVUZWTEVkQlFVY3NZMEZCWXl4RFFVRkRPMkZCUXpkQ08xTkJRMFk3VVVGRFJDeFBRVUZQTEZGQlFWRXNRMEZCUXp0SlFVTnNRaXhEUVVGRE8wbEJSVVFzVFVGQlRTeE5RVUZOTEVkQlFVY3NRMEZCUXl4VFFVRlRMRU5CUVVNc1RVRkJUU3hIUVVGSExFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTTdTVUZEZGtNc1RVRkJUU3hWUVVGVkxFZEJRVWNzU1VGQlNTeEhRVUZITEVWQlFVVXNRMEZCUXp0SlFVVTNRaXhMUVVGTExFbEJRVWtzUTBGQlF5eEhRVUZITEVOQlFVTXNSVUZCUlN4RFFVRkRMRWRCUVVjc1RVRkJUU3hGUVVGRkxFVkJRVVVzUTBGQlF5eEZRVUZGTzFGQlF5OUNMRWxCUVVrc1EwRkJReXhOUVVGTkxFTkJRVU1zVVVGQlVTeERRVUZETEVOQlFVTXNRMEZCUXp0WlFVTnlRaXhWUVVGVkxFTkJRVU1zUjBGQlJ5eERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRPMHRCUTNKQ08wbEJSVVFzVDBGQlR5eE5RVUZOTEVOQlFVTXNUVUZCVFN4SFFVRkhMRU5CUVVNc1JVRkJSVHRSUVVONFFpeE5RVUZOTEVkQlFVY3NSMEZCUnl4TFFVRkxMRU5CUTJZc1ZVRkJWU3hEUVVGRExFMUJRVTBzUlVGQk9FSXNSVUZETDBNc1EwRkJReXhEUVVGRExFVkJRVVVzUlVGQlJTeERRVUZETEVsQlFVa3NRMEZCUXl4SFFVRkhMRU5CUVVNc1MwRkJTeXhEUVVGRExFbEJRVWtzUlVGQlJTeE5RVUZOTEVOQlFVTXNSMEZCUnl4RFFVRkRMRlZCUVZNc1IwRkJSeXhGUVVGRkxFdEJRVXM3V1VGRGVFUXNUMEZCVHl4SlFVRkpMRU5CUVVNc1EwRkJReXhGUVVGRkxFZEJRVWNzUTBGQlF5eERRVUZETzFGQlEzUkNMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF6dFJRVU5RTEVsQlFVa3NSMEZCUnl4RlFVRkZPMWxCUTFBc1RVRkJUU3hEUVVGRExFbEJRVWtzUTBGQlF5eEhRVUZITEVOQlFVTXNRMEZCUXp0WlFVTnFRaXhWUVVGVkxFTkJRVU1zVFVGQlRTeERRVUZETEVkQlFVY3NRMEZCUXl4RFFVRkRPMU5CUTNoQ08wdEJRMFk3U1VGRFJDeFBRVUZQTEUxQlFVMHNRMEZCUXp0QlFVTm9RaXhEUVVGRE8wRkJSVVE3T3pzN08wZEJTMGM3UVVGRFNDeE5RVUZOTEZWQlFWVXNVMEZCVXl4RFFVRkRMRWxCUVZrN1NVRkRjRU1zVFVGQlRTeEhRVUZITEVkQlFVY3NTVUZCU1N4RFFVRkRMRTFCUVUwc1EwRkJRenRKUVVONFFpeEpRVUZKTEVkQlFVY3NSMEZCUnl4RFFVRkRMRU5CUVVNN1NVRkRXaXhKUVVGSkxGbEJRVmtzUjBGQlJ5eERRVUZETEVOQlFVTTdTVUZGY2tJc1MwRkJTeXhKUVVGSkxFTkJRVU1zUjBGQlJ5eERRVUZETEVWQlFVVXNRMEZCUXl4SFFVRkhMRWRCUVVjc1JVRkJSU3hGUVVGRkxFTkJRVU1zUlVGQlJUdFJRVU0xUWl4SFFVRkhMRWxCUVVrc1NVRkJTU3hEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETzFGQlEyWXNXVUZCV1N4SlFVRkpMRk5CUVVFc1NVRkJTU3hEUVVGRExFTkJRVU1zUTBGQlF5eEZRVUZKTEVOQlFVTXNRMEZCUVN4RFFVRkRPMHRCUXpsQ08wbEJSVVFzVFVGQlRTeEpRVUZKTEVkQlFVY3NSMEZCUnl4SFFVRkhMRWRCUVVjc1EwRkJRenRKUVVOMlFpeE5RVUZOTEdGQlFXRXNSMEZCUnl4SFFVRkhMRWRCUVVjc1NVRkJTU3hEUVVGRExFbEJRVWtzUTBGQlF5eFpRVUZaTEVkQlFVY3NSMEZCUnl4SFFVRkhMRk5CUVVFc1NVRkJTU3hGUVVGSkxFTkJRVU1zUTBGQlFTeERRVUZETEVOQlFVTTdTVUZGZEVVc1MwRkJTeXhKUVVGSkxFTkJRVU1zUjBGQlJ5eERRVUZETEVWQlFVVXNRMEZCUXl4SFFVRkhMRWRCUVVjc1JVRkJSU3hGUVVGRkxFTkJRVU03VVVGRE1VSXNTVUZCU1N4RFFVRkRMRU5CUVVNc1EwRkJReXhIUVVGSExFTkJRVU1zU1VGQlNTeERRVUZETEVOQlFVTXNRMEZCUXl4SFFVRkhMRWxCUVVrc1EwRkJReXhIUVVGSExHRkJRV0VzUTBGQlF6dEpRVVUzUXl4UFFVRlBMRWxCUVVrc1EwRkJRenRCUVVOa0xFTkJRVU03UVVGRlJEczdPenM3UjBGTFJ6dEJRVU5JTEUxQlFVMHNWVUZCVlN4aFFVRmhMRU5CUVVNc1EwRkJVU3hGUVVGRkxFTkJRVkU3U1VGRE9VTXNUVUZCVFN4SlFVRkpMRWRCUVVjc1NVRkJTU3hIUVVGSExFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTTdTVUZEZUVJc1QwRkJUeXhMUVVGTExFTkJRVU1zU1VGQlNTeERRVUZETEVsQlFVa3NSMEZCUnl4RFFVRkRMRU5CUVVNc1EwRkJReXhOUVVGTkxFTkJRVU1zUTBGQlF5eERRVUZETEVWQlFVVXNSVUZCUlN4RFFVRkRMRU5CUVVNc1NVRkJTU3hEUVVGRExFZEJRVWNzUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNc1RVRkJUU3hGUVVGRkxFTkJRVU1zUTBGQlF6dEJRVU55UlN4RFFVRkRJaXdpYzI5MWNtTmxjME52Ym5SbGJuUWlPbHNpYVcxd2IzSjBJSHROWVhSeWFYZ3NJRlpsWTNSdmNpd2dRMjl2Y21ScGJtRjBaWE1zSUZabFkzUnZjbk1zSUVScGMzUmhibU5sVFdWMGNtbGpmU0JtY205dElDY3VMM1I1Y0dVdFpHVmpiR0Z5WVhScGIyNXpKenRjYm1sdGNHOXlkQ0I3Y21GdVpHOXRSbXh2WVhRc0lISmhibVJ2YlVsdWRIMGdabkp2YlNBbkxpOXlZVzVrYjIwbk8xeHVYRzR2S2lwY2JpQXFJRUZ6YzJWeWRITWdZU0JqYjI1a2FYUnBiMjRnWW5rZ2RHaHliM2RwYm1jZ1lXNGdSWEp5YjNJdVhHNGdLbHh1SUNvZ1FHVjRjRzl5ZEZ4dUlDb2dRSEJoY21GdElIdGliMjlzWldGdWZTQmJZMjl1WkdsMGFXOXVQV1poYkhObFhTQkRiMjVrYVhScGIyNGdkRzhnWVhOelpYSjBMbHh1SUNvZ1FIQmhjbUZ0SUh0emRISnBibWQ5SUZ0dFpYTnpZV2RsUFNkQmMzTmxjblJwYjI0Z1pYSnliM0l1SjEwZ1RXVnpjMkZuWlNCMGJ5QnZkWFJ3ZFhRdVhHNGdLaUJBZEdoeWIzZHpJSHRGY25KdmNuMWNiaUFxTDF4dVpYaHdiM0owSUdaMWJtTjBhVzl1SUdGemMyVnlkQ2hqYjI1a2FYUnBiMjQ2SUdKdmIyeGxZVzRnUFNCbVlXeHpaU3dnYldWemMyRm5aVG9nYzNSeWFXNW5JRDBnSjBGemMyVnlkR2x2YmlCbGNuSnZjaTRuS1NCN1hHNGdJR2xtSUNnaFkyOXVaR2wwYVc5dUtWeHVJQ0FnSUhSb2NtOTNJRzVsZHlCRmNuSnZjaWh0WlhOellXZGxLVHRjYm4xY2JseHVMeW9xWEc0Z0tpQkRjbVZoZEdWeklHNWxkeUIwZDI4dFpHbHRaVzV6YVc5dVlXd2dZWEp5WVhrZ1lXNWtJR1pwYkd4eklHbDBJSGRwZEdnZ2RHaGxJSFpoYkhWbElHZHBkbVZ1TGx4dUlDcGNiaUFxSUVCd1lYSmhiU0I3Ym5WdFltVnlmU0JrYVcxbGJuTnBiMjR4SUZSb1pTQm1hWEp6ZENCa2FXMWxibk5wYjI0Z2IyWWdkR2hsSUdOdmIzSmthVzVoZEdWeklDaHVkVzFpWlhJZ2IyWWdjbTkzY3lrdVhHNGdLaUJBY0dGeVlXMGdlMjUxYldKbGNuMGdaR2x0Wlc1emFXOXVNaUJVYUdVZ2MyVmpiMjVrSUdScGJXVnVjMmx2YmlCdlppQjBhR1VnWTI5dmNtUnBibUYwWlhNZ0tHNTFiV0psY2lCdlppQmpiMngxYlc1ektTNWNiaUFxSUVCd1lYSmhiU0I3Ym5WdFltVnlmU0JiWm1sc2JEMHdYU0JCSUhaaGJIVmxJSFJ2SUdacGJHd2dkR2hsSUdOdmIzSmthVzVoZEdWeklIZHBkR2d1WEc0Z0tpQkFjbVYwZFhKdUlIdERiMjl5WkdsdVlYUmxjMzBnUVNCMGQyOHRaR2x0Wlc1emFXOXVZV3dnWm1sc2JHVmtJSGRwZEdnZ2RHaGxJSFpoYkhWbElHZHBkbVZ1TGx4dUlDb2dRSFJ2Wkc4Z1RXbG5hSFFnWW1VZ2MyeHZkeUJ6YVc1alpTQjFjMlZrSUVGeWNtRjVMbTFoY0M0Z1VISnZZbUZpYkhrZ2JtVmxaSE1nY0dWeVptOXliV0Z1WTJVZ2NtVjJhWE5wYjI0dVhHNGdLaTljYm1WNGNHOXlkQ0JtZFc1amRHbHZiaUJwYm1sMFEyOXZjbVJwYm1GMFpYTW9aR2x0Wlc1emFXOXVNVG9nYm5WdFltVnlMQ0JrYVcxbGJuTnBiMjR5T2lCdWRXMWlaWElzSUdacGJHdzZJRzUxYldKbGNpQTlJREFwT2lCRGIyOXlaR2x1WVhSbGN5QjdYRzRnSUhKbGRIVnliaUJ1WlhjZ1FYSnlZWGtvWkdsdFpXNXphVzl1TVNrdVptbHNiQ2htYVd4c0tTNXRZWEFvS0NrZ1BUNGdLRzVsZHlCV1pXTjBiM0lvWkdsdFpXNXphVzl1TWlrdVptbHNiQ2htYVd4c0tTa3BPMXh1ZlZ4dVhHNHZLaXBjYmlBcUlGUnlZVzV6Y0c5elpTQnRZWFJ5YVhndVhHNGdLbHh1SUNvZ1FHVjRjRzl5ZEZ4dUlDb2dRSEJoY21GdElIdE5ZWFJ5YVhoOUlHMWhkSEpwZUNCVWFHVWdiV0YwY21sNElIUnZJR0psSUhSeVlXNXpjRzl6WldRdVhHNGdLaUJBY21WMGRYSnVJSHROWVhSeWFYaDlJRlJ5WVc1emNHOXpaV1FnYldGMGNtbDRMbHh1SUNvZ1FIUnZaRzhnVFdsbmFIUWdZbVVnYzJ4dmR5QnphVzVqWlNCMWMyVmtJRUZ5Y21GNUxtMWhjQzRnVUhKdlltRmliSGtnYm1WbFpITWdjR1Z5Wm05eWJXRnVZMlVnY21WMmFYTnBiMjR1WEc0Z0tpOWNibVY0Y0c5eWRDQm1kVzVqZEdsdmJpQjBjbUZ1YzNCdmMyVk5ZWFJ5YVhnb2JXRjBjbWw0T2lCTllYUnlhWGdwT2lCTllYUnlhWGdnZTF4dUlDQnlaWFIxY200Z2JtVjNJRUZ5Y21GNUtHMWhkSEpwZUZzd1hTNXNaVzVuZEdncExtWnBiR3dvTUNsY2JpQWdJQ0F1YldGd0tDaGZMQ0JwS1NBOVBpQW9ibVYzSUZabFkzUnZjaWh0WVhSeWFYZ3ViR1Z1WjNSb0tTNW1hV3hzS0RBcExtMWhjQ2dvWHl3Z2Fpa2dQVDRnS0cxaGRISnBlRnRxWFZ0cFhTa3BLU2s3WEc1OVhHNWNiaThxS2x4dUlDb2dRV1JrY3lCMGQyOGdkbVZqZEc5eWN5QjNhWFJvSUhSb1pTQnpaV052Ym1RZ2IyNWxJSFJ2SUdKbElHMTFiSFJwY0d4cFpXUWdZbmtnZEdobElHZHBkbVZ1SUhKaGRHbHZMbHh1SUNwY2JpQXFJRUJsZUhCdmNuUmNiaUFxSUVCd1lYSmhiU0I3Vm1WamRHOXlmU0J3SUZSb1pTQm1hWEp6ZENCMlpXTjBiM0lnZEc4Z1lXUmtMbHh1SUNvZ1FIQmhjbUZ0SUh0V1pXTjBiM0o5SUhFZ1ZHaGxJSE5sWTI5dVpDQjJaV04wYjNJZ2RHOGdZV1JrTGx4dUlDb2dRSEJoY21GdElIdHVkVzFpWlhKOUlGdHRkV3gwYVhCc2FXVnlQVEZkSUVFZ2JYVnNkR2x3YkdsbGNpQjBieUJpWlNCMWMyVmtJR0psWm05eVpTQjBhR1VnYzJWamIyNWtJSFpsWTNSdmNpQnBjeUJoWkdSbFpDNWNiaUFxSUVCeVpYUjFjbTRnZTFabFkzUnZjbjBnVG1WM0lIWmxZM1J2Y2lCamIyNTBZV2x1WldRZ2RHaGxJSEpsYzNWc2RDQnZaaUJ2Y0dWeVlYUnBiMjRnY0N0dGRXeDBhWEJzYVdWeUtuRXVYRzRnS2k5Y2JtVjRjRzl5ZENCbWRXNWpkR2x2YmlCMlpXTjBiM0pCWkdRb2NEb2dWbVZqZEc5eUxDQnhPaUJXWldOMGIzSXNJRzExYkhScGNHeHBaWEk2SUc1MWJXSmxjaUE5SURFcE9pQldaV04wYjNJZ2UxeHVJQ0JqYjI1emRDQnVTWFJsYlhNZ1BTQndMbXhsYm1kMGFEdGNibHh1SUNCaGMzTmxjblFvYmtsMFpXMXpJRDA5SUhFdWJHVnVaM1JvTENBblZtVmpkRzl5SUd4bGJtZDBhSE1nWkc4Z2JtOTBJRzFoZEdOb0xpY3BPMXh1WEc0Z0lHTnZibk4wSUhSdmRHRnNJRDBnYm1WM0lGWmxZM1J2Y2lodVNYUmxiWE1wTzF4dVhHNGdJR1p2Y2lBb2JHVjBJR2tnUFNBd095QnBJRHdnY0M1c1pXNW5kR2c3SUNzcmFTbGNiaUFnSUNCMGIzUmhiRnRwWFNBOUlIQmJhVjBnS3lCdGRXeDBhWEJzYVdWeUlDb2djVnRwWFR0Y2JseHVJQ0J5WlhSMWNtNGdkRzkwWVd3N1hHNTlYRzVjYmk4cUtseHVJQ29nVTNWdGN5QjBhR1VnZG1WamRHOXlKM01nYVhSbGJYTXVYRzRnS2x4dUlDb2dRSEJoY21GdElIdFdaV04wYjNKOUlIWWdWR2hsSUhabFkzUnZjaUIwYnlCaVpTQnpkVzF0WldRdVhHNGdLaUJBY21WMGRYSnVJSHR1ZFcxaVpYSjlJRlJvWlNCMlpXTjBiM0luY3lCcGRHVnRjeUJ6ZFcwdVhHNGdLaTljYm1aMWJtTjBhVzl1SUdsMFpXMXpVM1Z0S0hZNklGWmxZM1J2Y2lrNklHNTFiV0psY2lCN1hHNGdJR3hsZENCMGIzUmhiQ0E5SURBN1hHNWNiaUFnWm05eUlDaHNaWFFnYVNBOUlEQTdJR2tnUENCMkxteGxibWQwYURzZ0t5dHBLVnh1SUNBZ0lIUnZkR0ZzSUNzOUlIWmJhVjA3WEc1Y2JpQWdjbVYwZFhKdUlIUnZkR0ZzTzF4dWZWeHVYRzR2S2lwY2JpQXFJRk4xY1dGeVpYTWdkR2hsSUhabFkzUnZjaWR6SUdsMFpXMXpMbHh1SUNwY2JpQXFJRUJ3WVhKaGJTQjdWbVZqZEc5eWZTQjJJRlJvWlNCMlpXTjBiM0lnZEc4Z2MzRjFZWEpsTGx4dUlDb2dRSEpsZEhWeWJpQjdWbVZqZEc5eWZTQkJJRzVsZHlCMlpXTjBiM0lnWTI5dWRHRnBibWx1WnlCMGFHVWdiM0pwWjJsdVlXd25jeUJwZEdWdGN5QnpjWFZoY21Wa0xseHVJQ292WEc1bWRXNWpkR2x2YmlCMlpXTjBiM0pUY1hWaGNtVW9kam9nVm1WamRHOXlLVG9nVm1WamRHOXlJSHRjYmlBZ1kyOXVjM1FnYmtsMFpXMXpJRDBnZGk1c1pXNW5kR2c3WEc0Z0lHTnZibk4wSUhSdmRHRnNJRDBnYm1WM0lGWmxZM1J2Y2lodVNYUmxiWE1wTzF4dVhHNGdJR1p2Y2lBb2JHVjBJR2tnUFNBd095QnBJRHdnZGk1c1pXNW5kR2c3SUNzcmFTbGNiaUFnSUNCMGIzUmhiRnRwWFNBOUlIWmJhVjBnS2lCMlcybGRPMXh1WEc0Z0lISmxkSFZ5YmlCMGIzUmhiRHRjYm4xY2JseHVaWGh3YjNKMElHWjFibU4wYVc5dUlIWmxZM1J2Y2t4bGJtZDBhQ2gyT2lCV1pXTjBiM0lwT2lCdWRXMWlaWElnZTF4dUlDQnNaWFFnYzNGeVUzVnRPaUJ1ZFcxaVpYSWdQU0F3TzF4dUlDQm1iM0lnS0d4bGRDQnBPaUJ1ZFcxaVpYSWdQU0F3T3lCcElEd2dkaTVzWlc1bmRHZzdJR2tyS3lsY2JpQWdJQ0J6Y1hKVGRXMGdLejBnZGx0cFhTQXFJSFpiYVYwN1hHNGdJSEpsZEhWeWJpQk5ZWFJvTG5OeGNuUW9jM0Z5VTNWdEtUdGNibjFjYmx4dVpYaHdiM0owSUdaMWJtTjBhVzl1SUhabFkzUnZja1J2ZEZCeWIyUjFZM1FvZGpFNklGWmxZM1J2Y2l3Z2RqSTZJRlpsWTNSdmNpazZJRzUxYldKbGNpQjdYRzRnSUdsbUlDaDJNUzVzWlc1bmRHZ2dJVDBnZGpJdWJHVnVaM1JvS1Z4dUlDQWdJSFJvY205M0lHNWxkeUJGY25KdmNpZ25WR2hsSUdScGJXVnVjMmx2Ym1Gc2FYUjVJRzltSUhSb1pTQjJaV04wYjNKeklHMTFjM1FnYldGMFkyZ25LVHRjYmlBZ2JHVjBJSEJ5YjJRNklHNTFiV0psY2lBOUlEQTdYRzRnSUdadmNpQW9iR1YwSUdrNklHNTFiV0psY2lBOUlEQTdJR2tnUENCMk1TNXNaVzVuZEdnN0lHa3JLeWxjYmlBZ0lDQndjbTlrSUNzOUlIWXhXMmxkSUNvZ2RqSmJhVjA3WEc0Z0lISmxkSFZ5YmlCd2NtOWtPMXh1ZlZ4dVhHNHZLaXBjYmlBcUlFTnlaV0YwWlhNZ1lTQnRZWFJ5YVhnZ1ptbHNiR1ZrSUhkcGRHZ2djbUZ1Wkc5dElHWnNiMkYwYVc1bklIQnZhVzUwSUhaaGJIVmxjeTVjYmlBcVhHNGdLaUJBWlhod2IzSjBYRzRnS2lCQWNHRnlZVzBnZTI1MWJXSmxjbjBnWkdsdFpXNXphVzl1TVNCVWFHVWdabWx5YzNRZ1pHbHRaVzV6YVc5dUlHOW1JSFJvWlNCdFlYUnlhWGd1WEc0Z0tpQkFjR0Z5WVcwZ2UyNTFiV0psY24wZ1pHbHRaVzV6YVc5dU1pQlVhR1VnYzJWamIyNWtJR1JwYldWdWMybHZiaUJ2WmlCMGFHVWdiV0YwY21sNExseHVJQ29nUUhCaGNtRnRJSHR1ZFcxaVpYSjlJRnR6WTJGc1pUMHhMbDBnVFdGNElIWmhiSFZsSUdkcGRtVnVJR0o1SUhKaGJtUnZiU0JuWlc1bGNtRjBiM0l1WEc0Z0tpQkFjbVYwZFhKdUlIdE5ZWFJ5YVhoOUlFRWdibVYzSUcxaGRISnBlQ0JtYVd4c1pXUWdkMmwwYUNCeVlXNWtiMjBnWm14dllYUnBibWNnY0c5cGJuUWdJSFpoYkhWbGN5NWNiaUFxTDF4dVpYaHdiM0owSUdaMWJtTjBhVzl1SUdacGJHeFNZVzVrYjIxTllYUnlhWGdvWkdsdFpXNXphVzl1TVRvZ2JuVnRZbVZ5TENCa2FXMWxibk5wYjI0eU9pQnVkVzFpWlhJc0lITmpZV3hsT2lCdWRXMWlaWElnUFNBeExpazZJRTFoZEhKcGVDQjdYRzRnSUdOdmJuTjBJRzFoZEhKcGVDQTlJR2x1YVhSRGIyOXlaR2x1WVhSbGN5aGthVzFsYm5OcGIyNHhMQ0JrYVcxbGJuTnBiMjR5S1R0Y2JseHVJQ0JtYjNJZ0tHeGxkQ0JwSUQwZ01Ec2dhU0E4SUdScGJXVnVjMmx2YmpFN0lDc3JhU2tnZTF4dUlDQWdJR1p2Y2lBb2JHVjBJR29nUFNBd095QnFJRHdnWkdsdFpXNXphVzl1TWpzZ0t5dHFLVnh1SUNBZ0lDQWdiV0YwY21sNFcybGRXMnBkSUQwZ2NtRnVaRzl0Um14dllYUW9jMk5oYkdVcE8xeHVJQ0I5WEc0Z0lISmxkSFZ5YmlCdFlYUnlhWGc3WEc1OVhHNWNiaThxS2x4dUlDb2dRMkZzWTNWc1lYUmxjeUJGZFdOc2FXUmxZVzRnWkdsemRHRnVZMlVnWW1WMGQyVmxiaUIwZDI4Z2RtVmpkRzl5Y3k1Y2JpQXFYRzRnS2lCQVpYaHdiM0owWEc0Z0tpQkFjR0Z5WVcwZ2UxWmxZM1J2Y24wZ2NDQlVhR1VnWm1seWMzUWdkbVZqZEc5eUxseHVJQ29nUUhCaGNtRnRJSHRXWldOMGIzSjlJSEVnVkdobElITmxZMjl1WkNCMlpXTjBiM0l1WEc0Z0tpQkFjbVYwZFhKdUlIdHVkVzFpWlhKOUlFVjFZMnhwWkdWaGJpQmthWE4wWVc1alpTQmlaWFIzWldWdUlIUm9aU0JuYVhabGJpQjJaV04wYjNKekxseHVJQ292WEc1bGVIQnZjblFnWm5WdVkzUnBiMjRnWTJGc1kzVnNZWFJsUlhWamJHbGtaV0Z1UkdsemRHRnVZMlVvY0RvZ1ZtVmpkRzl5TENCeE9pQldaV04wYjNJcE9pQnVkVzFpWlhJZ2UxeHVJQ0JzWlhRZ2NtVnpkV3gwSUQwZ01EdGNiaUFnWTI5dWMzUWdiR1Z1SUQwZ2NDNXNaVzVuZEdnN1hHNWNiaUFnYVdZZ0tHeGxiaUFoUFQwZ2NTNXNaVzVuZEdncFhHNGdJQ0FnZEdoeWIzY2dibVYzSUVWeWNtOXlLQ2RVYUdVZ1pHbHRaVzV6YVc5dVlXeHBkSGtnYjJZZ2RHaGxJSFpsWTNSdmNuTWdiWFZ6ZENCdFlYUmphQ2NwTzF4dUlDQmNiaUFnWm05eUlDaHNaWFFnYVNBOUlEQTdJR2tnUENCc1pXNDdJQ3NyYVNsY2JpQWdJQ0J5WlhOMWJIUWdLejBnS0hCYmFWMGdMU0J4VzJsZEtTQXFLaUF5TzF4dUlDQmNiaUFnY21WMGRYSnVJRTFoZEdndWMzRnlkQ2h5WlhOMWJIUXBPMXh1ZlZ4dVhHNHZLaXBjYmlBcUlFTnlaV0YwWlhNZ1lTQmthWE4wWVc1alpTQnRZWFJ5YVhnZ2RYTnBibWNnWVNCamRYTjBiMjBnWkdsemRHRnVZMlVnWm5WdVkzUnBiMjR1WEc0Z0tseHVJQ29nUUdWNGNHOXlkRnh1SUNvZ1FIQmhjbUZ0SUh0V1pXTjBiM0p6ZlNCa1lYUmhJRWx1Y0hWMElIWmxZM1J2Y25NZ2RHOGdZMkZzWTNWc1lYUmxJR1JwYzNSaGJtTmxjeTVjYmlBcUlFQndZWEpoYlNCN1JHbHpkR0Z1WTJWTlpYUnlhV045SUdScGMzUmhibU5sSUVOMWMzUnZiU0JrYVhOMFlXNWpaU0JtZFc1amRHbHZiaTVjYmlBcUlFQnlaWFIxY200Z2UwMWhkSEpwZUgwZ1EyRnNZM1ZzWVhSbFpDQmpkWE4wYjIwZ1pHbHpkR0Z1WTJVZ2JXRjBjbWw0TGx4dUlDb3ZYRzVsZUhCdmNuUWdablZ1WTNScGIyNGdZMkZzWTBScGMzUmhibU5sVFdGMGNtbDRLR1JoZEdFNklGWmxZM1J2Y25Nc0lHUnBjM1JoYm1ObE9pQkVhWE4wWVc1alpVMWxkSEpwWXlrNklFMWhkSEpwZUNCN1hHNGdJR052Ym5OMElHNUpkR1Z0Y3lBOUlHUmhkR0V1YkdWdVozUm9PMXh1SUNCamIyNXpkQ0J0WVhSeWFYZ2dQU0JwYm1sMFEyOXZjbVJwYm1GMFpYTW9ia2wwWlcxekxDQnVTWFJsYlhNc0lEQXBPMXh1WEc0Z0lHWnZjaUFvYkdWMElHa2dQU0F3T3lCcElEd2dia2wwWlcxek95QXJLMmtwSUh0Y2JpQWdJQ0JtYjNJZ0tHeGxkQ0JxSUQwZ2FTQXJJREU3SUdvZ1BDQnVTWFJsYlhNN0lDc3JhaWtnZTF4dUlDQWdJQ0FnWTI5dWMzUWdaRG9nYm5WdFltVnlJRDBnS0dSaGRHRmJhVjBnUFQwZ2JuVnNiQ2tnZkh3Z0tHUmhkR0ZiYWwwZ1BUMGdiblZzYkNrZ1B5QXdJRG9nWkdsemRHRnVZMlVvWkdGMFlWdHBYU3dnWkdGMFlWdHFYU2s3WEc0Z0lDQWdJQ0J0WVhSeWFYaGJhVjFiYWwwZ1BTQnRZWFJ5YVhoYmFsMWJhVjBnUFNCa08xeHVJQ0FnSUgxY2JpQWdmVnh1SUNCeVpYUjFjbTRnYldGMGNtbDRPMXh1ZlZ4dVhHNHZLaXBjYmlBcUlFTnlaV0YwWlhNZ1lTQmthWE4wWVc1alpTQnRZWFJ5YVhnZ2RYTnBibWNnWVNCamRYTjBiMjBnWkdsemRHRnVZMlVnWm5WdVkzUnBiMjR1WEc0Z0tseHVJQ29nUUdWNGNHOXlkRnh1SUNvZ1FIQmhjbUZ0SUh0V1pXTjBiM0p6ZlNCa1lYUmhJRWx1Y0hWMElIWmxZM1J2Y25NZ2RHOGdZMkZzWTNWc1lYUmxJR1JwYzNSaGJtTmxjeTVjYmlBcUlFQndZWEpoYlNCN1JHbHpkR0Z1WTJWTlpYUnlhV045SUdScGMzUmhibU5sSUVOMWMzUnZiU0JrYVhOMFlXNWpaU0JtZFc1amRHbHZiaTVjYmlBcUlFQnlaWFIxY200Z2UwMWhkSEpwZUgwZ1EyRnNZM1ZzWVhSbFpDQmpkWE4wYjIwZ1pHbHpkR0Z1WTJVZ2JXRjBjbWw0TGx4dUlDb3ZYRzVsZUhCdmNuUWdablZ1WTNScGIyNGdZMkZzWTA1dmNtMWhiR2w2WldSRWFYTjBZVzVqWlUxaGRISnBlQ2hrWVhSaE9pQldaV04wYjNKekxDQmthWE4wWVc1alpUb2dSR2x6ZEdGdVkyVk5aWFJ5YVdNcE9pQk5ZWFJ5YVhnZ2UxeHVJQ0JqYjI1emRDQnVTWFJsYlhNZ1BTQmtZWFJoTG14bGJtZDBhRHRjYmlBZ1kyOXVjM1FnYldGMGNtbDRJRDBnYVc1cGRFTnZiM0prYVc1aGRHVnpLRzVKZEdWdGN5d2dia2wwWlcxekxDQXdLVHRjYmlBZ2JHVjBJRzFoZUNBOUlFNTFiV0psY2k1TlNVNWZWa0ZNVlVVN1hHNGdJR3hsZENCdGFXNGdQU0JPZFcxaVpYSXVUVUZZWDFaQlRGVkZPMXh1SUNCbWIzSWdLR3hsZENCcElEMGdNRHNnYVNBOElHNUpkR1Z0Y3pzZ0t5dHBLU0I3WEc0Z0lDQWdabTl5SUNoc1pYUWdhaUE5SUdrN0lHb2dQQ0J1U1hSbGJYTTdJQ3NyYWlrZ2UxeHVJQ0FnSUNBZ1kyOXVjM1FnWkRvZ2JuVnRZbVZ5SUQwZ0tHUmhkR0ZiYVYwZ1BUMGdiblZzYkNrZ2ZId2dLR1JoZEdGYmFsMGdQVDBnYm5Wc2JDQjhmQ0JwSUQwOVBTQnFLU0EvSURBZ09pQmthWE4wWVc1alpTaGtZWFJoVzJsZExDQmtZWFJoVzJwZEtUdGNiaUFnSUNBZ0lHMWhkSEpwZUZ0cFhWdHFYU0E5SUcxaGRISnBlRnRxWFZ0cFhTQTlJR1E3WEc0Z0lDQWdJQ0JwWmlBb1pDQStJRzFoZUNrZ2JXRjRJRDBnWkR0Y2JpQWdJQ0FnSUdsbUlDaGtJRHdnYldsdUtTQnRhVzRnUFNCa08xeHVJQ0FnSUgxY2JpQWdmVnh1SUNCbWIzSWdLR3hsZENCcElEMGdNRHNnYVNBOElHNUpkR1Z0Y3pzZ0t5dHBLU0I3WEc0Z0lDQWdabTl5SUNoc1pYUWdhaUE5SUdrZ0t5QXhPeUJxSUR3Z2JrbDBaVzF6T3lBcksyb3BYRzRnSUNBZ0lDQnRZWFJ5YVhoYmFWMWJhbDBnUFNCdFlYUnlhWGhiYWwxYmFWMGdQU0FvYldGMGNtbDRXMmxkVzJwZElDMGdiV2x1S1NBdklDaHRZWGdnTFNCdGFXNHBPMXh1SUNCOVhHNGdJSEpsZEhWeWJpQnRZWFJ5YVhnN1hHNTlYRzVjYmk4cUtpQkhaVzVsY21GMFpYTWdZWEp5WVhrZ1puSnZiU0JoSUhKaGJtZGxJRnRpWldkcGJqc2daVzVrWFNCdmNpQmJZbVZuYVc0N0lHVnVaQ2tnYVdZZ1pXNWtSWGhqYkhWemFYWmxMaUFxS2k5Y2JtVjRjRzl5ZENCbWRXNWpkR2x2YmlCblpXNVNZVzVuWlNoaVpXZHBiam9nYm5WdFltVnlMQ0JsYm1RNklHNTFiV0psY2l3Z1pXNWtSWGhqYkhWemFYWmxJRDBnWm1Gc2MyVXBPaUJKYm5Rek1rRnljbUY1SUh0Y2JpQWdZMjl1YzNRZ2JrbDBaVzF6SUQwZ1pXNWtJQzBnWW1WbmFXNGdLeUFvWlc1a1JYaGpiSFZ6YVhabElEOGdNQ0E2SURFcE8xeHVJQ0JqYjI1emRDQnpaWEpwWlhNZ1BTQnVaWGNnU1c1ME16SkJjbkpoZVNodVNYUmxiWE1wTzF4dVhHNGdJR1p2Y2lBb2JHVjBJR2tnUFNBd095QnBJRHdnYmtsMFpXMXpPeUFySzJrcFhHNGdJQ0FnYzJWeWFXVnpXMmxkSUQwZ1ltVm5hVzRnS3lCcE8xeHVYRzRnSUhKbGRIVnliaUJ6WlhKcFpYTTdYRzU5WEc1Y2JpOHFLbHh1SUNvZ1VtVjBkWEp1Y3lCdmNtUmxjaUJ2WmlCMllXeDFaWE1nWVhNZ2FXWWdkR2hsZVNCaGNtVWdjMjl5ZEdWa0xseHVJQ3BjYmlBcUlFQmxlSEJ2Y25SY2JpQXFJRUJ3WVhKaGJTQjdZVzU1VzExOUlIWmhiSFZsY3lCSmJuQjFkQ0JoY25KaGVTNWNiaUFxSUVCd1lYSmhiU0I3WW05dmJHVmhibjBnVzNKbGRtVnljMlU5Wm1Gc2MyVmRJRmRvWlhSb1pYSWdkRzhnY21WMGRYSnVJSEpsZG1WeWMyVmtJRzl5WkdWeUxseHVJQ29nUUhKbGRIVnliaUI3Ym5WdFltVnlXMTE5SUZSb1pTQnZjbVJsY2lCamIyMXdkWFJsWkM1Y2JpQXFMMXh1Wlhod2IzSjBJR1oxYm1OMGFXOXVJR0Z5WjFOdmNuUW9kbUZzZFdWek9pQmhibmxiWFN3Z2NtVjJaWEp6WlNBOUlHWmhiSE5sS1RvZ2JuVnRZbVZ5VzEwZ2UxeHVJQ0JqYjI1emRDQnpiM0owWm00Z1BTQnlaWFpsY25ObElEOGdLR0U2SUdGdWVWdGRMQ0JpT2lCaGJubGJYU2tnUFQ0Z0tHSmJNRjBnTFNCaFd6QmRLU0E2SUNoaE9pQmhibmxiWFN3Z1lqb2dZVzU1VzEwcElEMCtJQ2hoV3pCZElDMGdZbHN3WFNrN1hHNGdJR052Ym5OMElHUmxZMjl5SUQwZ0tIWTZJR0Z1ZVN3Z2FUb2diblZ0WW1WeUtTQTlQaUJiZGl3Z2FWMDdJQzh2SUhObGRDQnBibVJsZUNCMGJ5QjJZV3gxWlZ4dUlDQmpiMjV6ZENCMWJtUmxZMjl5SUQwZ0tHRTZJR0Z1ZVZ0ZEtTQTlQaUJoV3pGZE95QXZMeUJzWldGMlpTQnZibXg1SUdsdVpHVjRYRzRnSUdOdmJuTjBJRjloY21kemIzSjBJRDBnS0dGeWNqb2dZVzU1VzEwcElEMCtJR0Z5Y2k1dFlYQW9aR1ZqYjNJcExuTnZjblFvYzI5eWRHWnVLUzV0WVhBb2RXNWtaV052Y2lrN1hHNGdJSEpsZEhWeWJpQmZZWEpuYzI5eWRDaDJZV3gxWlhNcE8xeHVmVnh1WEc0dktpcGNiaUFxSUZKbGRIVnlibk1nZEdobElHbHVaR1Y0WlhNZ2IyWWdkR2hsSUcxdmMzUWdaR2wyWlhKelpTQnZZbXBsWTNSeklHRmpZMjl5WkdsdVp5QjBieUIwYUdVZ1pHbHpkQ0JtZFc1amRHbHZibHh1SUNvZ1FIQmhjbUZ0SUh0dWRXMWlaWEo5SUd4bGJtZDBhQ0IwYjNSaGJDQnVkVzFpWlhJZ2IyWWdiMkpxWldOMGMxeHVJQ29nUUhCaGNtRnRJSHR1ZFcxaVpYSjlJRzRnYm5WdFltVnlJRzltSUdScGRtVnljMlVnWld4bGJXVnVkSE1nZEc4Z1ptbHVaRnh1SUNvZ1FIQmhjbUZ0SUhzb2FURTZJRzUxYldKbGNpd2dhVEk2SUc1MWJXSmxjaWtnUFQ0Z2JuVnRZbVZ5ZlNCa2FYTjBJR0VnWm5WdVkzUnBiMjRnZDJocFkyZ2dZMkZzWTNWc1lYUmxjeUJrYVhOMFlXNWpaU0JpWlhSM1pXVnVYRzRnS2lBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdkSGR2SUc5aWFtVmpkSE1nZFhOcGJtY2dkR2hsYVhJZ2FXNWtaWGhsYzF4dUlDb2dRSEpsZEhWeWJuTWdlMjUxYldKbGNsdGRmU0JVYUdVZ2FXNWtaWGhsY3lCdlppQjBhR1VnYlc5emRDQmthWFpsY25ObElHOWlhbVZqZEhOY2JpQXFMMXh1Wlhod2IzSjBJR1oxYm1OMGFXOXVJR2RsZEVScGRtVnljMlZUZFdKelpYUW9iR1Z1WjNSb09pQnVkVzFpWlhJc0lHNDZJRzUxYldKbGNpd2daR2x6ZERvZ0tHa3hPaUJ1ZFcxaVpYSXNJR2t5T2lCdWRXMWlaWElwSUQwK0lHNTFiV0psY2lrNklHNTFiV0psY2x0ZElIdGNiaUFnWm5WdVkzUnBiMjRnYldGNFFua29kbUZzZFdWek9pQkpkR1Z5WVdKc1pVbDBaWEpoZEc5eVBHNTFiV0psY2o0c0lHOXlaR1Z5UW5rNklDaHBPaUJ1ZFcxaVpYSXBJRDArSUc1MWJXSmxjaWtnZTF4dUlDQWdJR3hsZENCdFlYaFdZV3gxWlNBOUlHNTFiR3c3WEc0Z0lDQWdiR1YwSUcxaGVFOXlaR1Z5UW5rZ1BTQnVkV3hzTzF4dVhHNGdJQ0FnWm05eUlDaGpiMjV6ZENCbGJHVnRaVzUwSUc5bUlIWmhiSFZsY3lrZ2UxeHVJQ0FnSUNBZ1kyOXVjM1FnWld4bGJXVnVkRTl5WkdWeVFua2dQU0J2Y21SbGNrSjVLR1ZzWlcxbGJuUXBPMXh1SUNBZ0lDQWdhV1lnS0cxaGVFOXlaR1Z5UW5rZ1BUMGdiblZzYkNCOGZDQmxiR1Z0Wlc1MFQzSmtaWEpDZVNBK0lHMWhlRTl5WkdWeVFua3BJSHRjYmlBZ0lDQWdJQ0FnYldGNFZtRnNkV1VnUFNCbGJHVnRaVzUwTzF4dUlDQWdJQ0FnSUNCdFlYaFBjbVJsY2tKNUlEMGdaV3hsYldWdWRFOXlaR1Z5UW5rN1hHNGdJQ0FnSUNCOVhHNGdJQ0FnZlZ4dUlDQWdJSEpsZEhWeWJpQnRZWGhXWVd4MVpUdGNiaUFnZlZ4dVhHNGdJR052Ym5OMElITjFZbk5sZENBOUlGdHlZVzVrYjIxSmJuUW9iR1Z1WjNSb0lDMGdNU2xkTzF4dUlDQmpiMjV6ZENCamIyMXdiR1Z0Wlc1MElEMGdibVYzSUZObGRDZ3BPMXh1WEc0Z0lHWnZjaUFvYkdWMElHa2dQU0F3T3lCcElEd2diR1Z1WjNSb095QXJLMmtwSUh0Y2JpQWdJQ0JwWmlBb0lYTjFZbk5sZEM1cGJtTnNkV1JsY3locEtTbGNiaUFnSUNBZ0lHTnZiWEJzWlcxbGJuUXVZV1JrS0drcE8xeHVJQ0I5WEc1Y2JpQWdkMmhwYkdVZ0tITjFZbk5sZEM1c1pXNW5kR2dnUENCdUtTQjdYRzRnSUNBZ1kyOXVjM1FnYVdSNElEMGdiV0Y0UW5rb1hHNGdJQ0FnSUNCamIyMXdiR1Z0Wlc1MExuWmhiSFZsY3lncElHRnpJRWwwWlhKaFlteGxTWFJsY21GMGIzSThiblZ0WW1WeVBpeGNiaUFnSUNBZ0lDaHBLU0E5UGlCTllYUm9MbTFwYmk1aGNIQnNlU2hOWVhSb0xDQnpkV0p6WlhRdWJXRndLR1oxYm1OMGFXOXVLSFpoYkN3Z2FXNWtaWGdwSUh0Y2JpQWdJQ0FnSUNBZ2NtVjBkWEp1SUdScGMzUW9hU3dnZG1Gc0tUdGNiaUFnSUNBZ0lIMHBLU2s3WEc0Z0lDQWdhV1lnS0dsa2VDa2dlMXh1SUNBZ0lDQWdjM1ZpYzJWMExuQjFjMmdvYVdSNEtUdGNiaUFnSUNBZ0lHTnZiWEJzWlcxbGJuUXVaR1ZzWlhSbEtHbGtlQ2s3WEc0Z0lDQWdmVnh1SUNCOVhHNGdJSEpsZEhWeWJpQnpkV0p6WlhRN1hHNTlYRzVjYmk4cUtseHVJQ29nVW1WMGRYSnVjeUJ1YjNKdFlXeHBlbVZrSUhabFkzUnZjaTVjYmlBcUlGeHVJQ29nUUdWNGNHOXlkRnh1SUNvZ1FIQmhjbUZ0SUh0V1pXTjBiM0o5SUdSaGRHRWdiblZ0WlhKcFkyRnNJR0Z5Y21GNVhHNGdLaTljYm1WNGNHOXlkQ0JtZFc1amRHbHZiaUJ1YjNKdFlXeHBlbVVvWkdGMFlUb2dWbVZqZEc5eUtUb2dWbVZqZEc5eUlIdGNiaUFnWTI5dWMzUWdiR1Z1SUQwZ1pHRjBZUzVzWlc1bmRHZzdYRzRnSUd4bGRDQnpkVzBnUFNBd08xeHVJQ0JzWlhRZ2MzVnRUMlpUY1hWaGNtVnpJRDBnTUR0Y2JseHVJQ0JtYjNJZ0tHeGxkQ0JwSUQwZ01Ec2dhU0E4SUd4bGJqc2dLeXRwS1NCN1hHNGdJQ0FnYzNWdElDczlJR1JoZEdGYmFWMDdYRzRnSUNBZ2MzVnRUMlpUY1hWaGNtVnpJQ3M5SUdSaGRHRmJhVjBnS2lvZ01qdGNiaUFnZlZ4dVhHNGdJR052Ym5OMElHMWxZVzRnUFNCemRXMGdMeUJzWlc0N1hHNGdJR052Ym5OMElITjBaRVJsZGtsdWRtVnljMlVnUFNBeExqQWdMeUJOWVhSb0xuTnhjblFvYzNWdFQyWlRjWFZoY21WeklDOGdiR1Z1SUMwZ2JXVmhiaUFxS2lBeUtUdGNibHh1SUNCbWIzSWdLR3hsZENCcElEMGdNRHNnYVNBOElHeGxianNnS3l0cEtWeHVJQ0FnSUdSaGRHRmJhVjBnUFNBb1pHRjBZVnRwWFNBdElHMWxZVzRwSUNvZ2MzUmtSR1YyU1c1MlpYSnpaVHRjYmx4dUlDQnlaWFIxY200Z1pHRjBZVHRjYm4xY2JseHVMeW9xWEc0Z0tpQkdhVzVrY3lCelpYUWdaR2xtWm1WeVpXNWpaU0JpWlhSM1pXVnVJSFIzYnlCc2FYTjBjeTVjYmlBcUlFQndZWEpoYlNCN1lXNTVXMTE5SUdFZ1ZHaGxJR1pwY25OMElHeHBjM1F1WEc0Z0tpQkFjR0Z5WVcwZ2UyRnVlVnRkZlNCaUlGUm9aU0J6WldOdmJtUWdiR2x6ZEM1Y2JpQXFJRUJ5WlhSMWNtNGdlMkZ1ZVZ0ZGZWeHVJQ292WEc1bGVIQnZjblFnWm5WdVkzUnBiMjRnYzJWMFJHbG1abVZ5Wlc1alpTaGhPaUJoYm5sYlhTd2dZam9nWVc1NVcxMHBPaUJoYm5sYlhTQjdYRzRnSUdOdmJuTjBJR0pUWlhRZ1BTQnVaWGNnVTJWMEtHSXBPMXh1SUNCeVpYUjFjbTRnUVhKeVlYa3Vabkp2YlNodVpYY2dVMlYwS0dFdVptbHNkR1Z5S0NoNEtTQTlQaUFoWWxObGRDNW9ZWE1vZUNrcEtTNTJZV3gxWlhNb0tTazdYRzU5WEc0aVhYMD0iXSwibmFtZXMiOlsidGFuaW1vdG9TaW1pbGFyaXR5IiwieCIsInkiLCJ0b3RhbCIsInRydWVDb3VudCIsImNvbW1vbiIsImFuZFdpdGhDb3VudEJpdHMiLCJ0YW5pbW90b0Rpc3RhbmNlIiwiZ2V0RGlzdGFuY2VGcm9tU2ltaWxhcml0eSIsInRhbmltb3RvRGlzdGFuY2VJbnRBcnJheSIsImxlbmd0aCIsImRpY2VEaXN0YW5jZSIsImRpY2VTaW1pbGFyaXR5IiwiY29zaW5lRGlzdGFuY2UiLCJNYXRoIiwic3FydCIsImNvc2luZVNpbWlsYXJpdHkiLCJldWNsaWRlYW5EaXN0YW5jZSIsImhhbW1pbmdEaXN0YW5jZSIsInNva2FsRGlzdGFuY2UiLCJzb2thbFNpbWlsYXJpdHkiLCJrdWxjenluc2tpRGlzdGFuY2UiLCJ0b3RhbFByb2QiLCJrdWxjenluc2tpU2ltaWxhcml0eSIsIm1jQ29ubmF1Z2hleURpc3RhbmNlIiwibWNDb25uYXVnaGV5U2ltaWxhcml0eSIsImFzeW1tZXRyaWNEaXN0YW5jZSIsIm1pbiIsImFzeW1tZXRyaWNTaW1pbGFyaXR5IiwiYnJhdW5CbGFucXVldERpc3RhbmNlIiwibWF4IiwiYnJhdW5CbGFucXVldFNpbWlsYXJpdHkiLCJydXNzZWxEaXN0YW5jZSIsInJ1c3NlbFNpbWlsYXJpdHkiLCJyb2dvdEdvbGRiZXJnRGlzdGFuY2UiLCJjb3VudEJpdHMiLCJsZW4iLCJkaWZmIiwicm9nb3RHb2xkYmVyZ1NpbWlsYXJpdHkiLCJzaW1pbGFyaXR5IiwibnVtZXJpY0Rpc3RhbmNlIiwiYWJzIiwiVGFuaW1vdG8iLCJEaWNlIiwiQXN5bW1ldHJpYyIsIkJyYXVuQmxhbnF1ZXQiLCJDb3NpbmUiLCJLdWxjenluc2tpIiwiTWNDb25uYXVnaGV5IiwiUm9nb3RHb2xkYmVyZyIsIlJ1c3NlbCIsIlNva2FsIiwiSGFtbWluZyIsIkV1Y2xpZGVhbiIsIkhBTU1JTkciLCJMRVZFTlNIVEVJTiIsIk1PTk9NRVJfQ0hFTUlDQUxfRElTVEFOQ0UiLCJTdHJpbmdNZXRyaWNzTmFtZXMiLCJWZWN0b3JNZXRyaWNzTmFtZXMiLCJCaXRBcnJheU1ldHJpY3NOYW1lcyIsIkludEFycmF5TWV0cmljc05hbWVzIiwiRGlzdGFuY2VNZXRyaWNzU3ViamVjdHMiLCJOdW1iZXJNZXRyaWNzTmFtZXMiLCJjYWxjdWxhdGVFdWNsaWRlYW5EaXN0YW5jZSIsInAiLCJxIiwicmVzdWx0IiwiRXJyb3IiLCJpIiwicG93Il0sInNvdXJjZVJvb3QiOiIifQ==