@untemps/react-vocal 1.7.8 → 1.7.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.github/workflows/index.yml +1 -1
- package/CHANGELOG.md +2 -0
- package/README.md +1 -1
- package/dist/index.es.js +2 -2
- package/dist/index.js +2 -2
- package/dist/index.umd.js +2 -2
- package/jest/jest.setup.js +5 -1
- package/package.json +7 -2
- package/src/components/Vocal.js +2 -3
- package/src/components/__tests__/Icon.test.js +4 -0
- package/src/components/__tests__/Vocal.test.js +4 -0
- package/src/components/__tests__/VocalWithMockedUseVocal.test.js +4 -0
- package/src/utils/__tests__/isFunc.test.js +0 -57
- package/src/utils/isFunc.js +0 -1
package/dist/index.umd.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports,require("react"),require("prop-types")):"function"==typeof define&&define.amd?define(["exports","react","prop-types"],e):e((t="undefined"!=typeof globalThis?globalThis:t||self)["react-vocal"]={},t.React,t.PropTypes)}(this,(function(t,e,n){"use strict";function r(t){return t&&"object"==typeof t&&"default"in t?t:{default:t}}var i=r(e),o=r(n);function s(t,e,n){return e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}function c(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,r)}return n}function a(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{};e%2?c(Object(n),!0).forEach((function(e){s(t,e,n[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):c(Object(n)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))}))}return t}function u(t,e){return function(t){if(Array.isArray(t))return t}(t)||function(t,e){if("undefined"==typeof Symbol||!(Symbol.iterator in Object(t)))return;var n=[],r=!0,i=!1,o=void 0;try{for(var s,c=t[Symbol.iterator]();!(r=(s=c.next()).done)&&(n.push(s.value),!e||n.length!==e);r=!0);}catch(t){i=!0,o=t}finally{try{r||null==c.return||c.return()}finally{if(i)throw o}}return n}(t,e)||function(t,e){if(!t)return;if("string"==typeof t)return l(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);"Object"===n&&t.constructor&&(n=t.constructor.name);if("Map"===n||"Set"===n)return Array.from(t);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return l(t,e)}(t,e)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function l(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,r=new Array(e);n<e;n++)r[n]=t[n];return r}var h=function(t,e,n){return function(t){var e=function(t){var e=Object.prototype,n=e.hasOwnProperty,r="function"==typeof Symbol?Symbol:{},i=r.iterator||"@@iterator",o=r.asyncIterator||"@@asyncIterator",s=r.toStringTag||"@@toStringTag";function c(t,e,n){return Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}),t[e]}try{c({},"")}catch(t){c=function(t,e,n){return t[e]=n}}function a(t,e,n,r){var i=e&&e.prototype instanceof h?e:h,o=Object.create(i.prototype),s=new _(r||[]);return o._invoke=function(t,e,n){var r="suspendedStart";return function(i,o){if("executing"===r)throw new Error("Generator is already running");if("completed"===r){if("throw"===i)throw o;return L()}for(n.method=i,n.arg=o;;){var s=n.delegate;if(s){var c=w(s,n);if(c){if(c===l)continue;return c}}if("next"===n.method)n.sent=n._sent=n.arg;else if("throw"===n.method){if("suspendedStart"===r)throw r="completed",n.arg;n.dispatchException(n.arg)}else"return"===n.method&&n.abrupt("return",n.arg);r="executing";var a=u(t,e,n);if("normal"===a.type){if(r=n.done?"completed":"suspendedYield",a.arg===l)continue;return{value:a.arg,done:n.done}}"throw"===a.type&&(r="completed",n.method="throw",n.arg=a.arg)}}}(t,n,s),o}function u(t,e,n){try{return{type:"normal",arg:t.call(e,n)}}catch(t){return{type:"throw",arg:t}}}t.wrap=a;var l={};function h(){}function f(){}function d(){}var p={};p[i]=function(){return this};var g=Object.getPrototypeOf,y=g&&g(g(E([])));y&&y!==e&&n.call(y,i)&&(p=y);var v=d.prototype=h.prototype=Object.create(p);function m(t){["next","throw","return"].forEach((function(e){c(t,e,(function(t){return this._invoke(e,t)}))}))}function b(t,e){var r;this._invoke=function(i,o){function s(){return new e((function(r,s){!function r(i,o,s,c){var a=u(t[i],t,o);if("throw"!==a.type){var l=a.arg,h=l.value;return h&&"object"==typeof h&&n.call(h,"__await")?e.resolve(h.__await).then((function(t){r("next",t,s,c)}),(function(t){r("throw",t,s,c)})):e.resolve(h).then((function(t){l.value=t,s(l)}),(function(t){return r("throw",t,s,c)}))}c(a.arg)}(i,o,r,s)}))}return r=r?r.then(s,s):s()}}function w(t,e){var n=t.iterator[e.method];if(void 0===n){if(e.delegate=null,"throw"===e.method){if(t.iterator.return&&(e.method="return",e.arg=void 0,w(t,e),"throw"===e.method))return l;e.method="throw",e.arg=new TypeError("The iterator does not provide a 'throw' method")}return l}var r=u(n,t.iterator,e.arg);if("throw"===r.type)return e.method="throw",e.arg=r.arg,e.delegate=null,l;var i=r.arg;return i?i.done?(e[t.resultName]=i.value,e.next=t.nextLoc,"return"!==e.method&&(e.method="next",e.arg=void 0),e.delegate=null,l):i:(e.method="throw",e.arg=new TypeError("iterator result is not an object"),e.delegate=null,l)}function x(t){var e={tryLoc:t[0]};1 in t&&(e.catchLoc=t[1]),2 in t&&(e.finallyLoc=t[2],e.afterLoc=t[3]),this.tryEntries.push(e)}function S(t){var e=t.completion||{};e.type="normal",delete e.arg,t.completion=e}function _(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(x,this),this.reset(!0)}function E(t){if(t){var e=t[i];if(e)return e.call(t);if("function"==typeof t.next)return t;if(!isNaN(t.length)){var r=-1,o=function e(){for(;++r<t.length;)if(n.call(t,r))return e.value=t[r],e.done=!1,e;return e.value=void 0,e.done=!0,e};return o.next=o}}return{next:L}}function L(){return{value:void 0,done:!0}}return f.prototype=v.constructor=d,d.constructor=f,f.displayName=c(d,s,"GeneratorFunction"),t.isGeneratorFunction=function(t){var e="function"==typeof t&&t.constructor;return!!e&&(e===f||"GeneratorFunction"===(e.displayName||e.name))},t.mark=function(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,d):(t.__proto__=d,c(t,s,"GeneratorFunction")),t.prototype=Object.create(v),t},t.awrap=function(t){return{__await:t}},m(b.prototype),b.prototype[o]=function(){return this},t.AsyncIterator=b,t.async=function(e,n,r,i,o){void 0===o&&(o=Promise);var s=new b(a(e,n,r,i),o);return t.isGeneratorFunction(n)?s:s.next().then((function(t){return t.done?t.value:s.next()}))},m(v),c(v,s,"Generator"),v[i]=function(){return this},v.toString=function(){return"[object Generator]"},t.keys=function(t){var e=[];for(var n in t)e.push(n);return e.reverse(),function n(){for(;e.length;){var r=e.pop();if(r in t)return n.value=r,n.done=!1,n}return n.done=!0,n}},t.values=E,_.prototype={constructor:_,reset:function(t){if(this.prev=0,this.next=0,this.sent=this._sent=void 0,this.done=!1,this.delegate=null,this.method="next",this.arg=void 0,this.tryEntries.forEach(S),!t)for(var e in this)"t"===e.charAt(0)&&n.call(this,e)&&!isNaN(+e.slice(1))&&(this[e]=void 0)},stop:function(){this.done=!0;var t=this.tryEntries[0].completion;if("throw"===t.type)throw t.arg;return this.rval},dispatchException:function(t){if(this.done)throw t;var e=this;function r(n,r){return s.type="throw",s.arg=t,e.next=n,r&&(e.method="next",e.arg=void 0),!!r}for(var i=this.tryEntries.length-1;i>=0;--i){var o=this.tryEntries[i],s=o.completion;if("root"===o.tryLoc)return r("end");if(o.tryLoc<=this.prev){var c=n.call(o,"catchLoc"),a=n.call(o,"finallyLoc");if(c&&a){if(this.prev<o.catchLoc)return r(o.catchLoc,!0);if(this.prev<o.finallyLoc)return r(o.finallyLoc)}else if(c){if(this.prev<o.catchLoc)return r(o.catchLoc,!0)}else{if(!a)throw new Error("try statement without catch or finally");if(this.prev<o.finallyLoc)return r(o.finallyLoc)}}}},abrupt:function(t,e){for(var r=this.tryEntries.length-1;r>=0;--r){var i=this.tryEntries[r];if(i.tryLoc<=this.prev&&n.call(i,"finallyLoc")&&this.prev<i.finallyLoc){var o=i;break}}o&&("break"===t||"continue"===t)&&o.tryLoc<=e&&e<=o.finallyLoc&&(o=null);var s=o?o.completion:{};return s.type=t,s.arg=e,o?(this.method="next",this.next=o.finallyLoc,l):this.complete(s)},complete:function(t,e){if("throw"===t.type)throw t.arg;return"break"===t.type||"continue"===t.type?this.next=t.arg:"return"===t.type?(this.rval=this.arg=t.arg,this.method="return",this.next="end"):"normal"===t.type&&e&&(this.next=e),l},finish:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var n=this.tryEntries[e];if(n.finallyLoc===t)return this.complete(n.completion,n.afterLoc),S(n),l}},catch:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var n=this.tryEntries[e];if(n.tryLoc===t){var r=n.completion;if("throw"===r.type){var i=r.arg;S(n)}return i}}throw new Error("illegal catch attempt")},delegateYield:function(t,e,n){return this.delegate={iterator:E(t),resultName:e,nextLoc:n},"next"===this.method&&(this.arg=void 0),l}},t}(t.exports);try{regeneratorRuntime=e}catch(t){Function("r","regeneratorRuntime = r")(e)}}(n={path:void 0,exports:{},require:function(t,e){return function(){throw new Error("Dynamic requires are not currently supported by @rollup/plugin-commonjs")}(null==e&&n.path)}},n.exports),n.exports}();function f(t,e,n,r,i,o,s){try{var c=t[o](s),a=c.value}catch(t){return void n(t)}c.done?e(a):Promise.resolve(a).then(r,i)}var d=function(t){return function(){var e=this,n=arguments;return new Promise((function(r,i){var o=t.apply(e,n);function s(t){f(o,r,i,s,c,"next",t)}function c(t){f(o,r,i,s,c,"throw",t)}s(void 0)}))}},p=function(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,r=new Array(e);n<e;n++)r[n]=t[n];return r},g=function(t,e){return function(t){if(Array.isArray(t))return t}(t)||function(t,e){if("undefined"!=typeof Symbol&&Symbol.iterator in Object(t)){var n=[],r=!0,i=!1,o=void 0;try{for(var s,c=t[Symbol.iterator]();!(r=(s=c.next()).done)&&(n.push(s.value),!e||n.length!==e);r=!0);}catch(t){i=!0,o=t}finally{try{r||null==c.return||c.return()}finally{if(i)throw o}}return n}}(t,e)||function(t,e){if(t){if("string"==typeof t)return p(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);return"Object"===n&&t.constructor&&(n=t.constructor.name),"Map"===n||"Set"===n?Array.from(t):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?p(t,e):void 0}}(t,e)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()};function y(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,r.key,r)}}var v=function(t,e,n){return e&&y(t.prototype,e),n&&y(t,n),t},m=function(t,e,n){return e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t},b=function(){return!!navigator.permissions},w=function(){return!!navigator.mediaDevices};function x(t,e,n,r,i,o,s){try{var c=t[o](s),a=c.value}catch(t){return void n(t)}c.done?e(a):Promise.resolve(a).then(r,i)}function S(t){return function(){var e=this,n=arguments;return new Promise((function(r,i){var o=t.apply(e,n);function s(t){x(o,r,i,s,c,"next",t)}function c(t){x(o,r,i,s,c,"throw",t)}s(void 0)}))}}function _(t,e){return function(t){if(Array.isArray(t))return t}(t)||function(t,e){if("undefined"!=typeof Symbol&&Symbol.iterator in Object(t)){var n=[],r=!0,i=!1,o=void 0;try{for(var s,c=t[Symbol.iterator]();!(r=(s=c.next()).done)&&(n.push(s.value),!e||n.length!==e);r=!0);}catch(t){i=!0,o=t}finally{try{r||null==c.return||c.return()}finally{if(i)throw o}}return n}}(t,e)||function(t,e){if(t){if("string"==typeof t)return E(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);return"Object"===n&&t.constructor&&(n=t.constructor.name),"Map"===n||"Set"===n?Array.from(t):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?E(t,e):void 0}}(t,e)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function E(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,r=new Array(e);n<e;n++)r[n]=t[n];return r}var L=function(){var t=S(regeneratorRuntime.mark((function t(e){return regeneratorRuntime.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.abrupt("return",new Promise(function(){var t=S(regeneratorRuntime.mark((function t(n,r){var i,o;return regeneratorRuntime.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return b()||r(new DOMException("Navigator API: permissions not supported","NOT_SUPPORTED_ERR")),t.prev=1,t.next=4,navigator.permissions.query({name:e});case 4:i=t.sent,o=function t(e){i.removeEventListener("change",t),M(e.target.state,n,r)},i.addEventListener("change",o),M(i.state,n,r),t.next=13;break;case 10:t.prev=10,t.t0=t.catch(1),r(t.t0);case 13:case"end":return t.stop()}}),t,null,[[1,10]])})));return function(e,n){return t.apply(this,arguments)}}()));case 1:case"end":return t.stop()}}),t)})));return function(e){return t.apply(this,arguments)}}(),M=function(t,e,n){switch(t){case"denied":n(new DOMException("Permission denied","NOT_ALLOWED_ERR"));break;default:e(t)}},O=function(){var t=S(regeneratorRuntime.mark((function t(e,n){return regeneratorRuntime.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.abrupt("return",new Promise(function(){var t=S(regeneratorRuntime.mark((function t(r,i){var o,s,c;return regeneratorRuntime.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return b()&&w()||i(new DOMException("Navigator API: permissions or Navigator API: mediaDevices not supported","NOT_SUPPORTED_ERR")),t.prev=1,t.t0=Promise,t.next=5,L(e);case 5:return t.t1=t.sent,t.next=8,navigator.mediaDevices.getUserMedia(n);case 8:return t.t2=t.sent,t.t3=[t.t1,t.t2],t.next=12,t.t0.all.call(t.t0,t.t3);case 12:o=t.sent,s=_(o,2),c=s[1],r(c),t.next=21;break;case 18:t.prev=18,t.t4=t.catch(1),i(t.t4);case 21:case"end":return t.stop()}}),t,null,[[1,18]])})));return function(e,n){return t.apply(this,arguments)}}()));case 1:case"end":return t.stop()}}),t)})));return function(e,n){return t.apply(this,arguments)}}();function k(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,r)}return n}function j(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{};e%2?k(Object(n),!0).forEach((function(e){m(t,e,n[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):k(Object(n)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))}))}return t}var A=function(){function t(e){var n=this;(function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")})(this,t),m(this,"_instance",null),m(this,"_listeners",null);var r=t._resolveSpeechRecognition();if(!r)throw new DOMException("SpeechRecognition not supported","NOT_SUPPORTED_ERR");this._instance=new r,this._listeners={},Object.entries(j(j({},t.defaultOptions),e||{})).forEach((function(e){var r=g(e,2),i=r[0],o=r[1];if("grammars"===i&&!o){var s=t._resolveSpeechGrammarList();s&&(o=new s)}n._instance[i]=o}))}var e;return v(t,null,[{key:"isSupported",get:function(){return!!t._resolveSpeechRecognition()&&!!b()&&!!w()},set:function(t){throw new Error("You cannot set isSupported directly.")}}]),v(t,[{key:"start",value:(e=d(h.mark((function t(){var e;return h.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(!this._instance){t.next=14;break}return t.prev=1,t.next=4,O("microphone",{audio:!0});case 4:if(t.sent){t.next=7;break}throw new Error("Unable to retrieve the stream from media device");case 7:this._instance.start(),t.next=14;break;case 10:t.prev=10,t.t0=t.catch(1),(e=this._listeners.error)&&e(t.t0);case 14:return t.abrupt("return",this);case 15:case"end":return t.stop()}}),t,this,[[1,10]])}))),function(){return e.apply(this,arguments)})},{key:"stop",value:function(){return this._instance&&this._instance.stop(),this}},{key:"abort",value:function(){return this._instance&&this._instance.abort(),this}},{key:"addEventListener",value:function(e,n){var r=this;if(this._instance&&this._includesEventType(e)){this._listeners[e]&&this.removeEventListener(e);var i=function(i){var o=[];e===t.eventTypes.RESULT&&i.results&&i.results.length>0&&o.push(i.results[0][0].transcript),n&&n.apply(r,[i].concat(o))};this._instance.addEventListener(e,i),this._listeners[e]=i}return this}},{key:"removeEventListener",value:function(t){var e=this._listeners[t];return this._instance.removeEventListener(t,e),delete this._listeners[t],this}},{key:"cleanup",value:function(){var t=this;return this.stop(),Object.keys(this._listeners).forEach((function(e){return t.removeEventListener(e)})),this._instance=null,this}},{key:"_includesEventType",value:function(e){return!!Object.values(t.eventTypes).find((function(t){return t===e}))}},{key:"instance",get:function(){return this._instance},set:function(t){throw new Error("You cannot set instance directly.")}}],[{key:"_resolveSpeechRecognition",value:function(){return window.SpeechRecognition||window.webkitSpeechRecognition||window.mozSpeechRecognition||window.msSpeechRecognition}},{key:"_resolveSpeechGrammarList",value:function(){return window.SpeechGrammarList||window.webkitSpeechGrammarList||window.mozSpeechGrammarList||window.msSpeechGrammarList}}]),t}();m(A,"defaultOptions",{grammars:null,lang:"en-US",continuous:!1,interimResults:!1,maxAlternatives:1,serviceURI:null}),m(A,"eventTypes",{AUDIO_END:"audioend",AUDIO_START:"audiostart",END:"end",ERROR:"error",NO_MATCH:"nomatch",RESULT:"result",SOUND_END:"soundend",SOUND_START:"soundstart",SPEECH_END:"speechend",SPEECH_START:"speechstart",START:"start"});var R=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"en-US",n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,i=e.useRef(null);e.useEffect((function(){if(A.isSupported)return i.current=r||new A({lang:t,grammars:n}),function(){i.current.abort(),i.current.cleanup()}}),[t,n,r]);var o=e.useCallback((function(){i.current&&i.current.start()}),[]),s=e.useCallback((function(){i.current&&i.current.stop()}),[]),c=e.useCallback((function(){i.current&&i.current.abort()}),[]),a=e.useCallback((function(t,e){i.current&&i.current.addEventListener(t,e)}),[]),u=e.useCallback((function(t,e){i.current&&i.current.removeEventListener(t,e)}),[]),l=e.useCallback((function(){i.current&&i.current.cleanup()}),[]);return[i,{start:o,stop:s,abort:c,subscribe:a,unsubscribe:u,clean:l}]};function C(t){return Array.isArray?Array.isArray(t):"[object Array]"===D(t)}function I(t){return"string"==typeof t}function P(t){return"number"==typeof t}function N(t){return!0===t||!1===t||function(t){return T(t)&&null!==t}(t)&&"[object Boolean]"==D(t)}function T(t){return"object"==typeof t}function $(t){return null!=t}function F(t){return!t.trim().length}function D(t){return null==t?void 0===t?"[object Undefined]":"[object Null]":Object.prototype.toString.call(t)}const U=Object.prototype.hasOwnProperty;class G{constructor(t){this._keys=[],this._keyMap={};let e=0;t.forEach((t=>{let n=q(t);e+=n.weight,this._keys.push(n),this._keyMap[n.id]=n,e+=n.weight})),this._keys.forEach((t=>{t.weight/=e}))}get(t){return this._keyMap[t]}keys(){return this._keys}toJSON(){return JSON.stringify(this._keys)}}function q(t){let e=null,n=null,r=null,i=1;if(I(t)||C(t))r=t,e=z(t),n=K(t);else{if(!U.call(t,"name"))throw new Error((t=>`Missing ${t} property in key`)("name"));const o=t.name;if(r=o,U.call(t,"weight")&&(i=t.weight,i<=0))throw new Error((t=>`Property 'weight' in key '${t}' must be a positive integer`)(o));e=z(o),n=K(o)}return{path:e,id:n,weight:i,src:r}}function z(t){return C(t)?t:t.split(".")}function K(t){return C(t)?t.join("."):t}var V={isCaseSensitive:!1,includeScore:!1,keys:[],shouldSort:!0,sortFn:(t,e)=>t.score===e.score?t.idx<e.idx?-1:1:t.score<e.score?-1:1,includeMatches:!1,findAllMatches:!1,minMatchCharLength:1,location:0,threshold:.6,distance:100,...{useExtendedSearch:!1,getFn:function(t,e){let n=[],r=!1;const i=(t,e,o)=>{if($(t))if(e[o]){const s=t[e[o]];if(!$(s))return;if(o===e.length-1&&(I(s)||P(s)||N(s)))n.push(function(t){return null==t?"":function(t){if("string"==typeof t)return t;let e=t+"";return"0"==e&&1/t==-1/0?"-0":e}(t)}(s));else if(C(s)){r=!0;for(let t=0,n=s.length;t<n;t+=1)i(s[t],e,o+1)}else e.length&&i(s,e,o+1)}else n.push(t)};return i(t,I(e)?e.split("."):e,0),r?n:n[0]},ignoreLocation:!1,ignoreFieldNorm:!1}};const W=/[^ ]+/g;class H{constructor({getFn:t=V.getFn}={}){this.norm=function(t=3){const e=new Map,n=Math.pow(10,t);return{get(t){const r=t.match(W).length;if(e.has(r))return e.get(r);const i=1/Math.sqrt(r),o=parseFloat(Math.round(i*n)/n);return e.set(r,o),o},clear(){e.clear()}}}(3),this.getFn=t,this.isCreated=!1,this.setIndexRecords()}setSources(t=[]){this.docs=t}setIndexRecords(t=[]){this.records=t}setKeys(t=[]){this.keys=t,this._keysMap={},t.forEach(((t,e)=>{this._keysMap[t.id]=e}))}create(){!this.isCreated&&this.docs.length&&(this.isCreated=!0,I(this.docs[0])?this.docs.forEach(((t,e)=>{this._addString(t,e)})):this.docs.forEach(((t,e)=>{this._addObject(t,e)})),this.norm.clear())}add(t){const e=this.size();I(t)?this._addString(t,e):this._addObject(t,e)}removeAt(t){this.records.splice(t,1);for(let e=t,n=this.size();e<n;e+=1)this.records[e].i-=1}getValueForItemAtKeyId(t,e){return t[this._keysMap[e]]}size(){return this.records.length}_addString(t,e){if(!$(t)||F(t))return;let n={v:t,i:e,n:this.norm.get(t)};this.records.push(n)}_addObject(t,e){let n={i:e,$:{}};this.keys.forEach(((e,r)=>{let i=this.getFn(t,e.path);if($(i))if(C(i)){let t=[];const e=[{nestedArrIndex:-1,value:i}];for(;e.length;){const{nestedArrIndex:n,value:r}=e.pop();if($(r))if(I(r)&&!F(r)){let e={v:r,i:n,n:this.norm.get(r)};t.push(e)}else C(r)&&r.forEach(((t,n)=>{e.push({nestedArrIndex:n,value:t})}))}n.$[r]=t}else if(!F(i)){let t={v:i,n:this.norm.get(i)};n.$[r]=t}})),this.records.push(n)}toJSON(){return{keys:this.keys,records:this.records}}}function Y(t,e,{getFn:n=V.getFn}={}){const r=new H({getFn:n});return r.setKeys(t.map(q)),r.setSources(e),r.create(),r}function B(t,{errors:e=0,currentLocation:n=0,expectedLocation:r=0,distance:i=V.distance,ignoreLocation:o=V.ignoreLocation}={}){const s=e/t.length;if(o)return s;const c=Math.abs(r-n);return i?s+c/i:c?1:s}const J=32;function Q(t,e,n,{location:r=V.location,distance:i=V.distance,threshold:o=V.threshold,findAllMatches:s=V.findAllMatches,minMatchCharLength:c=V.minMatchCharLength,includeMatches:a=V.includeMatches,ignoreLocation:u=V.ignoreLocation}={}){if(e.length>J)throw new Error(`Pattern length exceeds max of ${J}.`);const l=e.length,h=t.length,f=Math.max(0,Math.min(r,h));let d=o,p=f;const g=c>1||a,y=g?Array(h):[];let v;for(;(v=t.indexOf(e,p))>-1;){let t=B(e,{currentLocation:v,expectedLocation:f,distance:i,ignoreLocation:u});if(d=Math.min(t,d),p=v+l,g){let t=0;for(;t<l;)y[v+t]=1,t+=1}}p=-1;let m=[],b=1,w=l+h;const x=1<<l-1;for(let r=0;r<l;r+=1){let o=0,c=w;for(;o<c;){B(e,{errors:r,currentLocation:f+c,expectedLocation:f,distance:i,ignoreLocation:u})<=d?o=c:w=c,c=Math.floor((w-o)/2+o)}w=c;let a=Math.max(1,f-c+1),v=s?h:Math.min(f+c,h)+l,S=Array(v+2);S[v+1]=(1<<r)-1;for(let o=v;o>=a;o-=1){let s=o-1,c=n[t.charAt(s)];if(g&&(y[s]=+!!c),S[o]=(S[o+1]<<1|1)&c,r&&(S[o]|=(m[o+1]|m[o])<<1|1|m[o+1]),S[o]&x&&(b=B(e,{errors:r,currentLocation:s,expectedLocation:f,distance:i,ignoreLocation:u}),b<=d)){if(d=b,p=s,p<=f)break;a=Math.max(1,2*f-p)}}if(B(e,{errors:r+1,currentLocation:f,expectedLocation:f,distance:i,ignoreLocation:u})>d)break;m=S}const S={isMatch:p>=0,score:Math.max(.001,b)};if(g){const t=function(t=[],e=V.minMatchCharLength){let n=[],r=-1,i=-1,o=0;for(let s=t.length;o<s;o+=1){let s=t[o];s&&-1===r?r=o:s||-1===r||(i=o-1,i-r+1>=e&&n.push([r,i]),r=-1)}return t[o-1]&&o-r>=e&&n.push([r,o-1]),n}(y,c);t.length?a&&(S.indices=t):S.isMatch=!1}return S}function X(t){let e={};for(let n=0,r=t.length;n<r;n+=1){const i=t.charAt(n);e[i]=(e[i]||0)|1<<r-n-1}return e}class Z{constructor(t,{location:e=V.location,threshold:n=V.threshold,distance:r=V.distance,includeMatches:i=V.includeMatches,findAllMatches:o=V.findAllMatches,minMatchCharLength:s=V.minMatchCharLength,isCaseSensitive:c=V.isCaseSensitive,ignoreLocation:a=V.ignoreLocation}={}){if(this.options={location:e,threshold:n,distance:r,includeMatches:i,findAllMatches:o,minMatchCharLength:s,isCaseSensitive:c,ignoreLocation:a},this.pattern=c?t:t.toLowerCase(),this.chunks=[],!this.pattern.length)return;const u=(t,e)=>{this.chunks.push({pattern:t,alphabet:X(t),startIndex:e})},l=this.pattern.length;if(l>J){let t=0;const e=l%J,n=l-e;for(;t<n;)u(this.pattern.substr(t,J),t),t+=J;if(e){const t=l-J;u(this.pattern.substr(t),t)}}else u(this.pattern,0)}searchIn(t){const{isCaseSensitive:e,includeMatches:n}=this.options;if(e||(t=t.toLowerCase()),this.pattern===t){let e={isMatch:!0,score:0};return n&&(e.indices=[[0,t.length-1]]),e}const{location:r,distance:i,threshold:o,findAllMatches:s,minMatchCharLength:c,ignoreLocation:a}=this.options;let u=[],l=0,h=!1;this.chunks.forEach((({pattern:e,alphabet:f,startIndex:d})=>{const{isMatch:p,score:g,indices:y}=Q(t,e,f,{location:r+d,distance:i,threshold:o,findAllMatches:s,minMatchCharLength:c,includeMatches:n,ignoreLocation:a});p&&(h=!0),l+=g,p&&y&&(u=[...u,...y])}));let f={isMatch:h,score:h?l/this.chunks.length:1};return h&&n&&(f.indices=u),f}}class tt{constructor(t){this.pattern=t}static isMultiMatch(t){return et(t,this.multiRegex)}static isSingleMatch(t){return et(t,this.singleRegex)}search(){}}function et(t,e){const n=t.match(e);return n?n[1]:null}class nt extends tt{constructor(t,{location:e=V.location,threshold:n=V.threshold,distance:r=V.distance,includeMatches:i=V.includeMatches,findAllMatches:o=V.findAllMatches,minMatchCharLength:s=V.minMatchCharLength,isCaseSensitive:c=V.isCaseSensitive,ignoreLocation:a=V.ignoreLocation}={}){super(t),this._bitapSearch=new Z(t,{location:e,threshold:n,distance:r,includeMatches:i,findAllMatches:o,minMatchCharLength:s,isCaseSensitive:c,ignoreLocation:a})}static get type(){return"fuzzy"}static get multiRegex(){return/^"(.*)"$/}static get singleRegex(){return/^(.*)$/}search(t){return this._bitapSearch.searchIn(t)}}class rt extends tt{constructor(t){super(t)}static get type(){return"include"}static get multiRegex(){return/^'"(.*)"$/}static get singleRegex(){return/^'(.*)$/}search(t){let e,n=0;const r=[],i=this.pattern.length;for(;(e=t.indexOf(this.pattern,n))>-1;)n=e+i,r.push([e,n-1]);const o=!!r.length;return{isMatch:o,score:o?0:1,indices:r}}}const it=[class extends tt{constructor(t){super(t)}static get type(){return"exact"}static get multiRegex(){return/^="(.*)"$/}static get singleRegex(){return/^=(.*)$/}search(t){const e=t===this.pattern;return{isMatch:e,score:e?0:1,indices:[0,this.pattern.length-1]}}},rt,class extends tt{constructor(t){super(t)}static get type(){return"prefix-exact"}static get multiRegex(){return/^\^"(.*)"$/}static get singleRegex(){return/^\^(.*)$/}search(t){const e=t.startsWith(this.pattern);return{isMatch:e,score:e?0:1,indices:[0,this.pattern.length-1]}}},class extends tt{constructor(t){super(t)}static get type(){return"inverse-prefix-exact"}static get multiRegex(){return/^!\^"(.*)"$/}static get singleRegex(){return/^!\^(.*)$/}search(t){const e=!t.startsWith(this.pattern);return{isMatch:e,score:e?0:1,indices:[0,t.length-1]}}},class extends tt{constructor(t){super(t)}static get type(){return"inverse-suffix-exact"}static get multiRegex(){return/^!"(.*)"\$$/}static get singleRegex(){return/^!(.*)\$$/}search(t){const e=!t.endsWith(this.pattern);return{isMatch:e,score:e?0:1,indices:[0,t.length-1]}}},class extends tt{constructor(t){super(t)}static get type(){return"suffix-exact"}static get multiRegex(){return/^"(.*)"\$$/}static get singleRegex(){return/^(.*)\$$/}search(t){const e=t.endsWith(this.pattern);return{isMatch:e,score:e?0:1,indices:[t.length-this.pattern.length,t.length-1]}}},class extends tt{constructor(t){super(t)}static get type(){return"inverse-exact"}static get multiRegex(){return/^!"(.*)"$/}static get singleRegex(){return/^!(.*)$/}search(t){const e=-1===t.indexOf(this.pattern);return{isMatch:e,score:e?0:1,indices:[0,t.length-1]}}},nt],ot=it.length,st=/ +(?=([^\"]*\"[^\"]*\")*[^\"]*$)/;const ct=new Set([nt.type,rt.type]);class at{constructor(t,{isCaseSensitive:e=V.isCaseSensitive,includeMatches:n=V.includeMatches,minMatchCharLength:r=V.minMatchCharLength,ignoreLocation:i=V.ignoreLocation,findAllMatches:o=V.findAllMatches,location:s=V.location,threshold:c=V.threshold,distance:a=V.distance}={}){this.query=null,this.options={isCaseSensitive:e,includeMatches:n,minMatchCharLength:r,findAllMatches:o,ignoreLocation:i,location:s,threshold:c,distance:a},this.pattern=e?t:t.toLowerCase(),this.query=function(t,e={}){return t.split("|").map((t=>{let n=t.trim().split(st).filter((t=>t&&!!t.trim())),r=[];for(let t=0,i=n.length;t<i;t+=1){const i=n[t];let o=!1,s=-1;for(;!o&&++s<ot;){const t=it[s];let n=t.isMultiMatch(i);n&&(r.push(new t(n,e)),o=!0)}if(!o)for(s=-1;++s<ot;){const t=it[s];let n=t.isSingleMatch(i);if(n){r.push(new t(n,e));break}}}return r}))}(this.pattern,this.options)}static condition(t,e){return e.useExtendedSearch}searchIn(t){const e=this.query;if(!e)return{isMatch:!1,score:1};const{includeMatches:n,isCaseSensitive:r}=this.options;t=r?t:t.toLowerCase();let i=0,o=[],s=0;for(let r=0,c=e.length;r<c;r+=1){const c=e[r];o.length=0,i=0;for(let e=0,r=c.length;e<r;e+=1){const r=c[e],{isMatch:a,indices:u,score:l}=r.search(t);if(!a){s=0,i=0,o.length=0;break}if(i+=1,s+=l,n){const t=r.constructor.type;ct.has(t)?o=[...o,...u]:o.push(u)}}if(i){let t={isMatch:!0,score:s/i};return n&&(t.indices=o),t}}return{isMatch:!1,score:1}}}const ut=[];function lt(t,e){for(let n=0,r=ut.length;n<r;n+=1){let r=ut[n];if(r.condition(t,e))return new r(t,e)}return new Z(t,e)}const ht="$and",ft="$or",dt="$path",pt="$val",gt=t=>!(!t[ht]&&!t[ft]),yt=t=>({[ht]:Object.keys(t).map((e=>({[e]:t[e]})))});function vt(t,e,{auto:n=!0}={}){const r=t=>{let i=Object.keys(t);const o=(t=>!!t[dt])(t);if(!o&&i.length>1&&!gt(t))return r(yt(t));if((t=>!C(t)&&T(t)&&!gt(t))(t)){const r=o?t[dt]:i[0],s=o?t[pt]:t[r];if(!I(s))throw new Error((t=>`Invalid value for key ${t}`)(r));const c={keyId:K(r),pattern:s};return n&&(c.searcher=lt(s,e)),c}let s={children:[],operator:i[0]};return i.forEach((e=>{const n=t[e];C(n)&&n.forEach((t=>{s.children.push(r(t))}))})),s};return gt(t)||(t=yt(t)),r(t)}function mt(t,e){const n=t.matches;e.matches=[],$(n)&&n.forEach((t=>{if(!$(t.indices)||!t.indices.length)return;const{indices:n,value:r}=t;let i={indices:n,value:r};t.key&&(i.key=t.key.src),t.idx>-1&&(i.refIndex=t.idx),e.matches.push(i)}))}function bt(t,e){e.score=t.score}class wt{constructor(t,e={},n){this.options={...V,...e},this.options.useExtendedSearch,this._keyStore=new G(this.options.keys),this.setCollection(t,n)}setCollection(t,e){if(this._docs=t,e&&!(e instanceof H))throw new Error("Incorrect 'index' type");this._myIndex=e||Y(this.options.keys,this._docs,{getFn:this.options.getFn})}add(t){$(t)&&(this._docs.push(t),this._myIndex.add(t))}remove(t=(()=>!1)){const e=[];for(let n=0,r=this._docs.length;n<r;n+=1){const i=this._docs[n];t(i,n)&&(this.removeAt(n),n-=1,r-=1,e.push(i))}return e}removeAt(t){this._docs.splice(t,1),this._myIndex.removeAt(t)}getIndex(){return this._myIndex}search(t,{limit:e=-1}={}){const{includeMatches:n,includeScore:r,shouldSort:i,sortFn:o,ignoreFieldNorm:s}=this.options;let c=I(t)?I(this._docs[0])?this._searchStringList(t):this._searchObjectList(t):this._searchLogical(t);return function(t,{ignoreFieldNorm:e=V.ignoreFieldNorm}){t.forEach((t=>{let n=1;t.matches.forEach((({key:t,norm:r,score:i})=>{const o=t?t.weight:null;n*=Math.pow(0===i&&o?Number.EPSILON:i,(o||1)*(e?1:r))})),t.score=n}))}(c,{ignoreFieldNorm:s}),i&&c.sort(o),P(e)&&e>-1&&(c=c.slice(0,e)),function(t,e,{includeMatches:n=V.includeMatches,includeScore:r=V.includeScore}={}){const i=[];return n&&i.push(mt),r&&i.push(bt),t.map((t=>{const{idx:n}=t,r={item:e[n],refIndex:n};return i.length&&i.forEach((e=>{e(t,r)})),r}))}(c,this._docs,{includeMatches:n,includeScore:r})}_searchStringList(t){const e=lt(t,this.options),{records:n}=this._myIndex,r=[];return n.forEach((({v:t,i:n,n:i})=>{if(!$(t))return;const{isMatch:o,score:s,indices:c}=e.searchIn(t);o&&r.push({item:t,idx:n,matches:[{score:s,value:t,norm:i,indices:c}]})})),r}_searchLogical(t){const e=vt(t,this.options),n=(t,e,r)=>{if(!t.children){const{keyId:n,searcher:i}=t,o=this._findMatches({key:this._keyStore.get(n),value:this._myIndex.getValueForItemAtKeyId(e,n),searcher:i});return o&&o.length?[{idx:r,item:e,matches:o}]:[]}switch(t.operator){case ht:{const i=[];for(let o=0,s=t.children.length;o<s;o+=1){const s=t.children[o],c=n(s,e,r);if(!c.length)return[];i.push(...c)}return i}case ft:{const i=[];for(let o=0,s=t.children.length;o<s;o+=1){const s=t.children[o],c=n(s,e,r);if(c.length){i.push(...c);break}}return i}}},r=this._myIndex.records,i={},o=[];return r.forEach((({$:t,i:r})=>{if($(t)){let s=n(e,t,r);s.length&&(i[r]||(i[r]={idx:r,item:t,matches:[]},o.push(i[r])),s.forEach((({matches:t})=>{i[r].matches.push(...t)})))}})),o}_searchObjectList(t){const e=lt(t,this.options),{keys:n,records:r}=this._myIndex,i=[];return r.forEach((({$:t,i:r})=>{if(!$(t))return;let o=[];n.forEach(((n,r)=>{o.push(...this._findMatches({key:n,value:t[r],searcher:e}))})),o.length&&i.push({idx:r,item:t,matches:o})})),i}_findMatches({key:t,value:e,searcher:n}){if(!$(e))return[];let r=[];if(C(e))e.forEach((({v:e,i:i,n:o})=>{if(!$(e))return;const{isMatch:s,score:c,indices:a}=n.searchIn(e);s&&r.push({score:c,key:t,value:e,idx:i,norm:o,indices:a})}));else{const{v:i,n:o}=e,{isMatch:s,score:c,indices:a}=n.searchIn(i);s&&r.push({score:c,key:t,value:i,norm:o,indices:a})}return r}}wt.version="6.4.6",wt.createIndex=Y,wt.parseIndex=function(t,{getFn:e=V.getFn}={}){const{keys:n,records:r}=t,i=new H({getFn:e});return i.setKeys(n),i.setIndexRecords(r),i},wt.config=V,wt.parseQuery=vt,function(...t){ut.push(...t)}(at);var xt=function(t){var e=t.color,n=t.activeColor,r=t.isActive;return i.default.createElement("svg",{"data-testid":"__icon-root__",xmlns:"http://www.w3.org/2000/svg",width:"100%",height:"100%",viewBox:"0 0 24 24"},i.default.createElement("g",null,i.default.createElement("path",{"data-testid":"__icon-path__",fill:e,d:"M12 14c1.66 0 2.99-1.34 2.99-3L15 5c0-1.66-1.34-3-3-3S9 3.34 9 5v6c0 1.66 1.34 3 3 3zm5.3-3c0 3-2.54 5.1-5.3 5.1S6.7 14 6.7 11H5c0 3.41 2.72 6.23 6 6.72V21h2v-3.28c3.28-.48 6-3.3 6-6.72h-1.7z"}),r&&i.default.createElement("circle",{"data-testid":"__icon-active__",fill:n,cx:"16",cy:"4",r:"4"})))};xt.propTypes={color:o.default.string,activeColor:o.default.string,isActive:o.default.bool},xt.defaultProps={color:"black",activeColor:"red",isActive:!1};var St=function(t){var n=t.children,r=t.commands,o=t.lang,c=t.grammars,l=t.timeout,h=t.ariaLabel,f=t.style,d=t.className,p=t.outlineStyle,g=t.onStart,y=t.onEnd,v=t.onSpeechStart,m=t.onSpeechEnd,b=t.onResult,w=t.onError,x=t.onNoMatch,S=t.__rsInstance,_=e.useRef(null),E=u(e.useState(!1),2),L=E[0],M=E[1],O=u(R(o,c,S),2)[1],k=O.start,j=O.stop,C=O.subscribe,I=O.unsubscribe,P=function(t){var e,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:.4;return t=t?null===(e=Object.entries(t))||void 0===e?void 0:e.reduce((function(t,e){var n=u(e,2),r=n[0],i=n[1];return s({},r.toLowerCase(),i)}),{}):{},function(e){var r=new wt(Object.keys(t),{includeScore:!0,ignoreLocation:!0}).search(e).filter((function(t){return t.score<n}));if(null!=r&&r.length){var i,o,s=r[0].item.toLowerCase();return null===(i=(o=t)[s])||void 0===i?void 0:i.call(o,e)}return null}}(r),N=function t(e){F(),U(),I("start",K),I("end",t),I("speechstart",V),I("speechend",W),I("result",H),I("error",Y),I("nomatch",B),y&&y(e)},T=u(function(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,r=e.useRef(-1),i=e.useCallback((function(){clearTimeout(r.current),r.current=-1}),[]),o=e.useCallback((function(){i(),r.current=setTimeout(t,n)}),[t,n,i]);return e.useEffect((function(){return i}),[i]),[o,i]}(N,l),2),$=T[0],F=T[1],D=function(){try{M(!0),C("start",K),C("end",N),C("speechstart",V),C("speechend",W),C("result",H),C("error",Y),C("nomatch",B),k()}catch(t){Y(t)}},U=function(){try{M(!1),j()}catch(t){w&&w(t)}},G=function(){D()},q=function(){!d&&p&&(_.current.style.outline=p)},z=function(){!d&&p&&(_.current.style.outline="none")},K=function(t){$(),g&&g(t)},V=function(t){F(),v&&v(t)},W=function(t){$(),m&&m(t)},H=function(t,e){F(),U(),P(e),b&&b(e,t)},Y=function(t){U(),w&&w(t)},B=function(t){F(),U(),x&&x(t)};return function(t){return A.isSupported?"function"==typeof t?t(D,U,L):e.isValidElement(t)?e.cloneElement(t,a({},!L&&{onClick:G})):i.default.createElement("button",{"data-testid":"__vocal-root__",ref:_,role:"button","aria-label":h,style:d?null:a({width:24,height:24,background:"none",border:"none",padding:0,cursor:L?"default":"pointer"},f),className:d,onFocus:q,onBlur:z,onClick:G},i.default.createElement(xt,{isActive:L,iconColor:"#aaa"})):null}(n)};St.propTypes={commands:o.default.objectOf(o.default.func),lang:o.default.string,grammars:o.default.object,timeout:o.default.number,ariaLabel:o.default.string,style:o.default.object,className:o.default.string,outlineStyle:o.default.string,onStart:o.default.func,onEnd:o.default.func,onSpeechStart:o.default.func,onSpeechEnd:o.default.func,onResult:o.default.func,onError:o.default.func,onNoMatch:o.default.func},St.defaultProps={commands:null,lang:"en-US",grammars:null,timeout:3e3,ariaLabel:"start recognition",style:null,className:null,outlineStyle:"2px solid",onStart:null,onEnd:null,onSpeechStart:null,onSpeechEnd:null,onResult:null,onError:null,onNoMatch:null};var _t=A.isSupported;t.default=St,t.isSupported=_t,t.useVocal=R,Object.defineProperty(t,"__esModule",{value:!0})}));
|
|
2
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXgudW1kLmpzIiwic291cmNlcyI6WyIuLi9ub2RlX21vZHVsZXMvQHVudGVtcHMvdm9jYWwvZGlzdC9pbmRleC5lcy5qcyIsIi4uL3NyYy9ob29rcy91c2VWb2NhbC5qcyIsIi4uL25vZGVfbW9kdWxlcy9mdXNlLmpzL2Rpc3QvZnVzZS5lc20uanMiLCIuLi9zcmMvaG9va3MvdXNlQ29tbWFuZHMuanMiLCIuLi9zcmMvY29tcG9uZW50cy9JY29uLmpzIiwiLi4vc3JjL2NvbXBvbmVudHMvVm9jYWwuanMiLCIuLi9zcmMvaG9va3MvdXNlVGltZW91dC5qcyIsIi4uL3NyYy91dGlscy9pc0Z1bmMuanMiLCIuLi9zcmMvaW5kZXguanMiXSwic291cmNlc0NvbnRlbnQiOlsidmFyIHQ9ZnVuY3Rpb24odCxlLHIpe3JldHVybiB0KHI9e3BhdGg6ZSxleHBvcnRzOnt9LHJlcXVpcmU6ZnVuY3Rpb24odCxlKXtyZXR1cm4gZnVuY3Rpb24oKXt0aHJvdyBuZXcgRXJyb3IoXCJEeW5hbWljIHJlcXVpcmVzIGFyZSBub3QgY3VycmVudGx5IHN1cHBvcnRlZCBieSBAcm9sbHVwL3BsdWdpbi1jb21tb25qc1wiKX0obnVsbD09ZSYmci5wYXRoKX19LHIuZXhwb3J0cyksci5leHBvcnRzfSgoZnVuY3Rpb24odCl7dmFyIGU9ZnVuY3Rpb24odCl7dmFyIGU9T2JqZWN0LnByb3RvdHlwZSxyPWUuaGFzT3duUHJvcGVydHksbj1cImZ1bmN0aW9uXCI9PXR5cGVvZiBTeW1ib2w/U3ltYm9sOnt9LG89bi5pdGVyYXRvcnx8XCJAQGl0ZXJhdG9yXCIsaT1uLmFzeW5jSXRlcmF0b3J8fFwiQEBhc3luY0l0ZXJhdG9yXCIsYT1uLnRvU3RyaW5nVGFnfHxcIkBAdG9TdHJpbmdUYWdcIjtmdW5jdGlvbiBjKHQsZSxyKXtyZXR1cm4gT2JqZWN0LmRlZmluZVByb3BlcnR5KHQsZSx7dmFsdWU6cixlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMH0pLHRbZV19dHJ5e2Moe30sXCJcIil9Y2F0Y2godCl7Yz1mdW5jdGlvbih0LGUscil7cmV0dXJuIHRbZV09cn19ZnVuY3Rpb24gdSh0LGUscixuKXt2YXIgbz1lJiZlLnByb3RvdHlwZSBpbnN0YW5jZW9mIGY/ZTpmLGk9T2JqZWN0LmNyZWF0ZShvLnByb3RvdHlwZSksYT1uZXcgXyhufHxbXSk7cmV0dXJuIGkuX2ludm9rZT1mdW5jdGlvbih0LGUscil7dmFyIG49XCJzdXNwZW5kZWRTdGFydFwiO3JldHVybiBmdW5jdGlvbihvLGkpe2lmKFwiZXhlY3V0aW5nXCI9PT1uKXRocm93IG5ldyBFcnJvcihcIkdlbmVyYXRvciBpcyBhbHJlYWR5IHJ1bm5pbmdcIik7aWYoXCJjb21wbGV0ZWRcIj09PW4pe2lmKFwidGhyb3dcIj09PW8pdGhyb3cgaTtyZXR1cm4gUygpfWZvcihyLm1ldGhvZD1vLHIuYXJnPWk7Oyl7dmFyIGE9ci5kZWxlZ2F0ZTtpZihhKXt2YXIgYz1iKGEscik7aWYoYyl7aWYoYz09PWwpY29udGludWU7cmV0dXJuIGN9fWlmKFwibmV4dFwiPT09ci5tZXRob2Qpci5zZW50PXIuX3NlbnQ9ci5hcmc7ZWxzZSBpZihcInRocm93XCI9PT1yLm1ldGhvZCl7aWYoXCJzdXNwZW5kZWRTdGFydFwiPT09bil0aHJvdyBuPVwiY29tcGxldGVkXCIsci5hcmc7ci5kaXNwYXRjaEV4Y2VwdGlvbihyLmFyZyl9ZWxzZVwicmV0dXJuXCI9PT1yLm1ldGhvZCYmci5hYnJ1cHQoXCJyZXR1cm5cIixyLmFyZyk7bj1cImV4ZWN1dGluZ1wiO3ZhciB1PXModCxlLHIpO2lmKFwibm9ybWFsXCI9PT11LnR5cGUpe2lmKG49ci5kb25lP1wiY29tcGxldGVkXCI6XCJzdXNwZW5kZWRZaWVsZFwiLHUuYXJnPT09bCljb250aW51ZTtyZXR1cm57dmFsdWU6dS5hcmcsZG9uZTpyLmRvbmV9fVwidGhyb3dcIj09PXUudHlwZSYmKG49XCJjb21wbGV0ZWRcIixyLm1ldGhvZD1cInRocm93XCIsci5hcmc9dS5hcmcpfX19KHQscixhKSxpfWZ1bmN0aW9uIHModCxlLHIpe3RyeXtyZXR1cm57dHlwZTpcIm5vcm1hbFwiLGFyZzp0LmNhbGwoZSxyKX19Y2F0Y2godCl7cmV0dXJue3R5cGU6XCJ0aHJvd1wiLGFyZzp0fX19dC53cmFwPXU7dmFyIGw9e307ZnVuY3Rpb24gZigpe31mdW5jdGlvbiBoKCl7fWZ1bmN0aW9uIHAoKXt9dmFyIHY9e307dltvXT1mdW5jdGlvbigpe3JldHVybiB0aGlzfTt2YXIgeT1PYmplY3QuZ2V0UHJvdG90eXBlT2YsZD15JiZ5KHkoeChbXSkpKTtkJiZkIT09ZSYmci5jYWxsKGQsbykmJih2PWQpO3ZhciBtPXAucHJvdG90eXBlPWYucHJvdG90eXBlPU9iamVjdC5jcmVhdGUodik7ZnVuY3Rpb24gZyh0KXtbXCJuZXh0XCIsXCJ0aHJvd1wiLFwicmV0dXJuXCJdLmZvckVhY2goKGZ1bmN0aW9uKGUpe2ModCxlLChmdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5faW52b2tlKGUsdCl9KSl9KSl9ZnVuY3Rpb24gdyh0LGUpe3ZhciBuO3RoaXMuX2ludm9rZT1mdW5jdGlvbihvLGkpe2Z1bmN0aW9uIGEoKXtyZXR1cm4gbmV3IGUoKGZ1bmN0aW9uKG4sYSl7IWZ1bmN0aW9uIG4obyxpLGEsYyl7dmFyIHU9cyh0W29dLHQsaSk7aWYoXCJ0aHJvd1wiIT09dS50eXBlKXt2YXIgbD11LmFyZyxmPWwudmFsdWU7cmV0dXJuIGYmJlwib2JqZWN0XCI9PXR5cGVvZiBmJiZyLmNhbGwoZixcIl9fYXdhaXRcIik/ZS5yZXNvbHZlKGYuX19hd2FpdCkudGhlbigoZnVuY3Rpb24odCl7bihcIm5leHRcIix0LGEsYyl9KSwoZnVuY3Rpb24odCl7bihcInRocm93XCIsdCxhLGMpfSkpOmUucmVzb2x2ZShmKS50aGVuKChmdW5jdGlvbih0KXtsLnZhbHVlPXQsYShsKX0pLChmdW5jdGlvbih0KXtyZXR1cm4gbihcInRocm93XCIsdCxhLGMpfSkpfWModS5hcmcpfShvLGksbixhKX0pKX1yZXR1cm4gbj1uP24udGhlbihhLGEpOmEoKX19ZnVuY3Rpb24gYih0LGUpe3ZhciByPXQuaXRlcmF0b3JbZS5tZXRob2RdO2lmKHZvaWQgMD09PXIpe2lmKGUuZGVsZWdhdGU9bnVsbCxcInRocm93XCI9PT1lLm1ldGhvZCl7aWYodC5pdGVyYXRvci5yZXR1cm4mJihlLm1ldGhvZD1cInJldHVyblwiLGUuYXJnPXZvaWQgMCxiKHQsZSksXCJ0aHJvd1wiPT09ZS5tZXRob2QpKXJldHVybiBsO2UubWV0aG9kPVwidGhyb3dcIixlLmFyZz1uZXcgVHlwZUVycm9yKFwiVGhlIGl0ZXJhdG9yIGRvZXMgbm90IHByb3ZpZGUgYSAndGhyb3cnIG1ldGhvZFwiKX1yZXR1cm4gbH12YXIgbj1zKHIsdC5pdGVyYXRvcixlLmFyZyk7aWYoXCJ0aHJvd1wiPT09bi50eXBlKXJldHVybiBlLm1ldGhvZD1cInRocm93XCIsZS5hcmc9bi5hcmcsZS5kZWxlZ2F0ZT1udWxsLGw7dmFyIG89bi5hcmc7cmV0dXJuIG8/by5kb25lPyhlW3QucmVzdWx0TmFtZV09by52YWx1ZSxlLm5leHQ9dC5uZXh0TG9jLFwicmV0dXJuXCIhPT1lLm1ldGhvZCYmKGUubWV0aG9kPVwibmV4dFwiLGUuYXJnPXZvaWQgMCksZS5kZWxlZ2F0ZT1udWxsLGwpOm86KGUubWV0aG9kPVwidGhyb3dcIixlLmFyZz1uZXcgVHlwZUVycm9yKFwiaXRlcmF0b3IgcmVzdWx0IGlzIG5vdCBhbiBvYmplY3RcIiksZS5kZWxlZ2F0ZT1udWxsLGwpfWZ1bmN0aW9uIEUodCl7dmFyIGU9e3RyeUxvYzp0WzBdfTsxIGluIHQmJihlLmNhdGNoTG9jPXRbMV0pLDIgaW4gdCYmKGUuZmluYWxseUxvYz10WzJdLGUuYWZ0ZXJMb2M9dFszXSksdGhpcy50cnlFbnRyaWVzLnB1c2goZSl9ZnVuY3Rpb24gTyh0KXt2YXIgZT10LmNvbXBsZXRpb258fHt9O2UudHlwZT1cIm5vcm1hbFwiLGRlbGV0ZSBlLmFyZyx0LmNvbXBsZXRpb249ZX1mdW5jdGlvbiBfKHQpe3RoaXMudHJ5RW50cmllcz1be3RyeUxvYzpcInJvb3RcIn1dLHQuZm9yRWFjaChFLHRoaXMpLHRoaXMucmVzZXQoITApfWZ1bmN0aW9uIHgodCl7aWYodCl7dmFyIGU9dFtvXTtpZihlKXJldHVybiBlLmNhbGwodCk7aWYoXCJmdW5jdGlvblwiPT10eXBlb2YgdC5uZXh0KXJldHVybiB0O2lmKCFpc05hTih0Lmxlbmd0aCkpe3ZhciBuPS0xLGk9ZnVuY3Rpb24gZSgpe2Zvcig7KytuPHQubGVuZ3RoOylpZihyLmNhbGwodCxuKSlyZXR1cm4gZS52YWx1ZT10W25dLGUuZG9uZT0hMSxlO3JldHVybiBlLnZhbHVlPXZvaWQgMCxlLmRvbmU9ITAsZX07cmV0dXJuIGkubmV4dD1pfX1yZXR1cm57bmV4dDpTfX1mdW5jdGlvbiBTKCl7cmV0dXJue3ZhbHVlOnZvaWQgMCxkb25lOiEwfX1yZXR1cm4gaC5wcm90b3R5cGU9bS5jb25zdHJ1Y3Rvcj1wLHAuY29uc3RydWN0b3I9aCxoLmRpc3BsYXlOYW1lPWMocCxhLFwiR2VuZXJhdG9yRnVuY3Rpb25cIiksdC5pc0dlbmVyYXRvckZ1bmN0aW9uPWZ1bmN0aW9uKHQpe3ZhciBlPVwiZnVuY3Rpb25cIj09dHlwZW9mIHQmJnQuY29uc3RydWN0b3I7cmV0dXJuISFlJiYoZT09PWh8fFwiR2VuZXJhdG9yRnVuY3Rpb25cIj09PShlLmRpc3BsYXlOYW1lfHxlLm5hbWUpKX0sdC5tYXJrPWZ1bmN0aW9uKHQpe3JldHVybiBPYmplY3Quc2V0UHJvdG90eXBlT2Y/T2JqZWN0LnNldFByb3RvdHlwZU9mKHQscCk6KHQuX19wcm90b19fPXAsYyh0LGEsXCJHZW5lcmF0b3JGdW5jdGlvblwiKSksdC5wcm90b3R5cGU9T2JqZWN0LmNyZWF0ZShtKSx0fSx0LmF3cmFwPWZ1bmN0aW9uKHQpe3JldHVybntfX2F3YWl0OnR9fSxnKHcucHJvdG90eXBlKSx3LnByb3RvdHlwZVtpXT1mdW5jdGlvbigpe3JldHVybiB0aGlzfSx0LkFzeW5jSXRlcmF0b3I9dyx0LmFzeW5jPWZ1bmN0aW9uKGUscixuLG8saSl7dm9pZCAwPT09aSYmKGk9UHJvbWlzZSk7dmFyIGE9bmV3IHcodShlLHIsbixvKSxpKTtyZXR1cm4gdC5pc0dlbmVyYXRvckZ1bmN0aW9uKHIpP2E6YS5uZXh0KCkudGhlbigoZnVuY3Rpb24odCl7cmV0dXJuIHQuZG9uZT90LnZhbHVlOmEubmV4dCgpfSkpfSxnKG0pLGMobSxhLFwiR2VuZXJhdG9yXCIpLG1bb109ZnVuY3Rpb24oKXtyZXR1cm4gdGhpc30sbS50b1N0cmluZz1mdW5jdGlvbigpe3JldHVyblwiW29iamVjdCBHZW5lcmF0b3JdXCJ9LHQua2V5cz1mdW5jdGlvbih0KXt2YXIgZT1bXTtmb3IodmFyIHIgaW4gdCllLnB1c2gocik7cmV0dXJuIGUucmV2ZXJzZSgpLGZ1bmN0aW9uIHIoKXtmb3IoO2UubGVuZ3RoOyl7dmFyIG49ZS5wb3AoKTtpZihuIGluIHQpcmV0dXJuIHIudmFsdWU9bixyLmRvbmU9ITEscn1yZXR1cm4gci5kb25lPSEwLHJ9fSx0LnZhbHVlcz14LF8ucHJvdG90eXBlPXtjb25zdHJ1Y3RvcjpfLHJlc2V0OmZ1bmN0aW9uKHQpe2lmKHRoaXMucHJldj0wLHRoaXMubmV4dD0wLHRoaXMuc2VudD10aGlzLl9zZW50PXZvaWQgMCx0aGlzLmRvbmU9ITEsdGhpcy5kZWxlZ2F0ZT1udWxsLHRoaXMubWV0aG9kPVwibmV4dFwiLHRoaXMuYXJnPXZvaWQgMCx0aGlzLnRyeUVudHJpZXMuZm9yRWFjaChPKSwhdClmb3IodmFyIGUgaW4gdGhpcylcInRcIj09PWUuY2hhckF0KDApJiZyLmNhbGwodGhpcyxlKSYmIWlzTmFOKCtlLnNsaWNlKDEpKSYmKHRoaXNbZV09dm9pZCAwKX0sc3RvcDpmdW5jdGlvbigpe3RoaXMuZG9uZT0hMDt2YXIgdD10aGlzLnRyeUVudHJpZXNbMF0uY29tcGxldGlvbjtpZihcInRocm93XCI9PT10LnR5cGUpdGhyb3cgdC5hcmc7cmV0dXJuIHRoaXMucnZhbH0sZGlzcGF0Y2hFeGNlcHRpb246ZnVuY3Rpb24odCl7aWYodGhpcy5kb25lKXRocm93IHQ7dmFyIGU9dGhpcztmdW5jdGlvbiBuKHIsbil7cmV0dXJuIGEudHlwZT1cInRocm93XCIsYS5hcmc9dCxlLm5leHQ9cixuJiYoZS5tZXRob2Q9XCJuZXh0XCIsZS5hcmc9dm9pZCAwKSwhIW59Zm9yKHZhciBvPXRoaXMudHJ5RW50cmllcy5sZW5ndGgtMTtvPj0wOy0tbyl7dmFyIGk9dGhpcy50cnlFbnRyaWVzW29dLGE9aS5jb21wbGV0aW9uO2lmKFwicm9vdFwiPT09aS50cnlMb2MpcmV0dXJuIG4oXCJlbmRcIik7aWYoaS50cnlMb2M8PXRoaXMucHJldil7dmFyIGM9ci5jYWxsKGksXCJjYXRjaExvY1wiKSx1PXIuY2FsbChpLFwiZmluYWxseUxvY1wiKTtpZihjJiZ1KXtpZih0aGlzLnByZXY8aS5jYXRjaExvYylyZXR1cm4gbihpLmNhdGNoTG9jLCEwKTtpZih0aGlzLnByZXY8aS5maW5hbGx5TG9jKXJldHVybiBuKGkuZmluYWxseUxvYyl9ZWxzZSBpZihjKXtpZih0aGlzLnByZXY8aS5jYXRjaExvYylyZXR1cm4gbihpLmNhdGNoTG9jLCEwKX1lbHNle2lmKCF1KXRocm93IG5ldyBFcnJvcihcInRyeSBzdGF0ZW1lbnQgd2l0aG91dCBjYXRjaCBvciBmaW5hbGx5XCIpO2lmKHRoaXMucHJldjxpLmZpbmFsbHlMb2MpcmV0dXJuIG4oaS5maW5hbGx5TG9jKX19fX0sYWJydXB0OmZ1bmN0aW9uKHQsZSl7Zm9yKHZhciBuPXRoaXMudHJ5RW50cmllcy5sZW5ndGgtMTtuPj0wOy0tbil7dmFyIG89dGhpcy50cnlFbnRyaWVzW25dO2lmKG8udHJ5TG9jPD10aGlzLnByZXYmJnIuY2FsbChvLFwiZmluYWxseUxvY1wiKSYmdGhpcy5wcmV2PG8uZmluYWxseUxvYyl7dmFyIGk9bzticmVha319aSYmKFwiYnJlYWtcIj09PXR8fFwiY29udGludWVcIj09PXQpJiZpLnRyeUxvYzw9ZSYmZTw9aS5maW5hbGx5TG9jJiYoaT1udWxsKTt2YXIgYT1pP2kuY29tcGxldGlvbjp7fTtyZXR1cm4gYS50eXBlPXQsYS5hcmc9ZSxpPyh0aGlzLm1ldGhvZD1cIm5leHRcIix0aGlzLm5leHQ9aS5maW5hbGx5TG9jLGwpOnRoaXMuY29tcGxldGUoYSl9LGNvbXBsZXRlOmZ1bmN0aW9uKHQsZSl7aWYoXCJ0aHJvd1wiPT09dC50eXBlKXRocm93IHQuYXJnO3JldHVyblwiYnJlYWtcIj09PXQudHlwZXx8XCJjb250aW51ZVwiPT09dC50eXBlP3RoaXMubmV4dD10LmFyZzpcInJldHVyblwiPT09dC50eXBlPyh0aGlzLnJ2YWw9dGhpcy5hcmc9dC5hcmcsdGhpcy5tZXRob2Q9XCJyZXR1cm5cIix0aGlzLm5leHQ9XCJlbmRcIik6XCJub3JtYWxcIj09PXQudHlwZSYmZSYmKHRoaXMubmV4dD1lKSxsfSxmaW5pc2g6ZnVuY3Rpb24odCl7Zm9yKHZhciBlPXRoaXMudHJ5RW50cmllcy5sZW5ndGgtMTtlPj0wOy0tZSl7dmFyIHI9dGhpcy50cnlFbnRyaWVzW2VdO2lmKHIuZmluYWxseUxvYz09PXQpcmV0dXJuIHRoaXMuY29tcGxldGUoci5jb21wbGV0aW9uLHIuYWZ0ZXJMb2MpLE8ociksbH19LGNhdGNoOmZ1bmN0aW9uKHQpe2Zvcih2YXIgZT10aGlzLnRyeUVudHJpZXMubGVuZ3RoLTE7ZT49MDstLWUpe3ZhciByPXRoaXMudHJ5RW50cmllc1tlXTtpZihyLnRyeUxvYz09PXQpe3ZhciBuPXIuY29tcGxldGlvbjtpZihcInRocm93XCI9PT1uLnR5cGUpe3ZhciBvPW4uYXJnO08ocil9cmV0dXJuIG99fXRocm93IG5ldyBFcnJvcihcImlsbGVnYWwgY2F0Y2ggYXR0ZW1wdFwiKX0sZGVsZWdhdGVZaWVsZDpmdW5jdGlvbih0LGUscil7cmV0dXJuIHRoaXMuZGVsZWdhdGU9e2l0ZXJhdG9yOngodCkscmVzdWx0TmFtZTplLG5leHRMb2M6cn0sXCJuZXh0XCI9PT10aGlzLm1ldGhvZCYmKHRoaXMuYXJnPXZvaWQgMCksbH19LHR9KHQuZXhwb3J0cyk7dHJ5e3JlZ2VuZXJhdG9yUnVudGltZT1lfWNhdGNoKHQpe0Z1bmN0aW9uKFwiclwiLFwicmVnZW5lcmF0b3JSdW50aW1lID0gclwiKShlKX19KSk7ZnVuY3Rpb24gZSh0LGUscixuLG8saSxhKXt0cnl7dmFyIGM9dFtpXShhKSx1PWMudmFsdWV9Y2F0Y2godCl7cmV0dXJuIHZvaWQgcih0KX1jLmRvbmU/ZSh1KTpQcm9taXNlLnJlc29sdmUodSkudGhlbihuLG8pfXZhciByPWZ1bmN0aW9uKHQpe3JldHVybiBmdW5jdGlvbigpe3ZhciByPXRoaXMsbj1hcmd1bWVudHM7cmV0dXJuIG5ldyBQcm9taXNlKChmdW5jdGlvbihvLGkpe3ZhciBhPXQuYXBwbHkocixuKTtmdW5jdGlvbiBjKHQpe2UoYSxvLGksYyx1LFwibmV4dFwiLHQpfWZ1bmN0aW9uIHUodCl7ZShhLG8saSxjLHUsXCJ0aHJvd1wiLHQpfWModm9pZCAwKX0pKX19O3ZhciBuPWZ1bmN0aW9uKHQpe2lmKEFycmF5LmlzQXJyYXkodCkpcmV0dXJuIHR9O3ZhciBvPWZ1bmN0aW9uKHQsZSl7aWYoXCJ1bmRlZmluZWRcIiE9dHlwZW9mIFN5bWJvbCYmU3ltYm9sLml0ZXJhdG9yIGluIE9iamVjdCh0KSl7dmFyIHI9W10sbj0hMCxvPSExLGk9dm9pZCAwO3RyeXtmb3IodmFyIGEsYz10W1N5bWJvbC5pdGVyYXRvcl0oKTshKG49KGE9Yy5uZXh0KCkpLmRvbmUpJiYoci5wdXNoKGEudmFsdWUpLCFlfHxyLmxlbmd0aCE9PWUpO249ITApO31jYXRjaCh0KXtvPSEwLGk9dH1maW5hbGx5e3RyeXtufHxudWxsPT1jLnJldHVybnx8Yy5yZXR1cm4oKX1maW5hbGx5e2lmKG8pdGhyb3cgaX19cmV0dXJuIHJ9fTt2YXIgaT1mdW5jdGlvbih0LGUpeyhudWxsPT1lfHxlPnQubGVuZ3RoKSYmKGU9dC5sZW5ndGgpO2Zvcih2YXIgcj0wLG49bmV3IEFycmF5KGUpO3I8ZTtyKyspbltyXT10W3JdO3JldHVybiBufTt2YXIgYT1mdW5jdGlvbih0LGUpe2lmKHQpe2lmKFwic3RyaW5nXCI9PXR5cGVvZiB0KXJldHVybiBpKHQsZSk7dmFyIHI9T2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKHQpLnNsaWNlKDgsLTEpO3JldHVyblwiT2JqZWN0XCI9PT1yJiZ0LmNvbnN0cnVjdG9yJiYocj10LmNvbnN0cnVjdG9yLm5hbWUpLFwiTWFwXCI9PT1yfHxcIlNldFwiPT09cj9BcnJheS5mcm9tKHQpOlwiQXJndW1lbnRzXCI9PT1yfHwvXig/OlVpfEkpbnQoPzo4fDE2fDMyKSg/OkNsYW1wZWQpP0FycmF5JC8udGVzdChyKT9pKHQsZSk6dm9pZCAwfX07dmFyIGM9ZnVuY3Rpb24oKXt0aHJvdyBuZXcgVHlwZUVycm9yKFwiSW52YWxpZCBhdHRlbXB0IHRvIGRlc3RydWN0dXJlIG5vbi1pdGVyYWJsZSBpbnN0YW5jZS5cXG5JbiBvcmRlciB0byBiZSBpdGVyYWJsZSwgbm9uLWFycmF5IG9iamVjdHMgbXVzdCBoYXZlIGEgW1N5bWJvbC5pdGVyYXRvcl0oKSBtZXRob2QuXCIpfTt2YXIgdT1mdW5jdGlvbih0LGUpe3JldHVybiBuKHQpfHxvKHQsZSl8fGEodCxlKXx8YygpfTt2YXIgcz1mdW5jdGlvbih0LGUpe2lmKCEodCBpbnN0YW5jZW9mIGUpKXRocm93IG5ldyBUeXBlRXJyb3IoXCJDYW5ub3QgY2FsbCBhIGNsYXNzIGFzIGEgZnVuY3Rpb25cIil9O2Z1bmN0aW9uIGwodCxlKXtmb3IodmFyIHI9MDtyPGUubGVuZ3RoO3IrKyl7dmFyIG49ZVtyXTtuLmVudW1lcmFibGU9bi5lbnVtZXJhYmxlfHwhMSxuLmNvbmZpZ3VyYWJsZT0hMCxcInZhbHVlXCJpbiBuJiYobi53cml0YWJsZT0hMCksT2JqZWN0LmRlZmluZVByb3BlcnR5KHQsbi5rZXksbil9fXZhciBmPWZ1bmN0aW9uKHQsZSxyKXtyZXR1cm4gZSYmbCh0LnByb3RvdHlwZSxlKSxyJiZsKHQsciksdH07dmFyIGg9ZnVuY3Rpb24odCxlLHIpe3JldHVybiBlIGluIHQ/T2JqZWN0LmRlZmluZVByb3BlcnR5KHQsZSx7dmFsdWU6cixlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMH0pOnRbZV09cix0fSxwPWZ1bmN0aW9uKCl7cmV0dXJuISFuYXZpZ2F0b3IucGVybWlzc2lvbnN9LHY9ZnVuY3Rpb24oKXtyZXR1cm4hIW5hdmlnYXRvci5tZWRpYURldmljZXN9O2Z1bmN0aW9uIHkodCxlLHIsbixvLGksYSl7dHJ5e3ZhciBjPXRbaV0oYSksdT1jLnZhbHVlfWNhdGNoKHQpe3JldHVybiB2b2lkIHIodCl9Yy5kb25lP2UodSk6UHJvbWlzZS5yZXNvbHZlKHUpLnRoZW4obixvKX1mdW5jdGlvbiBkKHQpe3JldHVybiBmdW5jdGlvbigpe3ZhciBlPXRoaXMscj1hcmd1bWVudHM7cmV0dXJuIG5ldyBQcm9taXNlKChmdW5jdGlvbihuLG8pe3ZhciBpPXQuYXBwbHkoZSxyKTtmdW5jdGlvbiBhKHQpe3koaSxuLG8sYSxjLFwibmV4dFwiLHQpfWZ1bmN0aW9uIGModCl7eShpLG4sbyxhLGMsXCJ0aHJvd1wiLHQpfWEodm9pZCAwKX0pKX19ZnVuY3Rpb24gbSh0LGUpe3JldHVybiBmdW5jdGlvbih0KXtpZihBcnJheS5pc0FycmF5KHQpKXJldHVybiB0fSh0KXx8ZnVuY3Rpb24odCxlKXtpZihcInVuZGVmaW5lZFwiIT10eXBlb2YgU3ltYm9sJiZTeW1ib2wuaXRlcmF0b3IgaW4gT2JqZWN0KHQpKXt2YXIgcj1bXSxuPSEwLG89ITEsaT12b2lkIDA7dHJ5e2Zvcih2YXIgYSxjPXRbU3ltYm9sLml0ZXJhdG9yXSgpOyEobj0oYT1jLm5leHQoKSkuZG9uZSkmJihyLnB1c2goYS52YWx1ZSksIWV8fHIubGVuZ3RoIT09ZSk7bj0hMCk7fWNhdGNoKHQpe289ITAsaT10fWZpbmFsbHl7dHJ5e258fG51bGw9PWMucmV0dXJufHxjLnJldHVybigpfWZpbmFsbHl7aWYobyl0aHJvdyBpfX1yZXR1cm4gcn19KHQsZSl8fGZ1bmN0aW9uKHQsZSl7aWYodCl7aWYoXCJzdHJpbmdcIj09dHlwZW9mIHQpcmV0dXJuIGcodCxlKTt2YXIgcj1PYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwodCkuc2xpY2UoOCwtMSk7cmV0dXJuXCJPYmplY3RcIj09PXImJnQuY29uc3RydWN0b3ImJihyPXQuY29uc3RydWN0b3IubmFtZSksXCJNYXBcIj09PXJ8fFwiU2V0XCI9PT1yP0FycmF5LmZyb20odCk6XCJBcmd1bWVudHNcIj09PXJ8fC9eKD86VWl8SSludCg/Ojh8MTZ8MzIpKD86Q2xhbXBlZCk/QXJyYXkkLy50ZXN0KHIpP2codCxlKTp2b2lkIDB9fSh0LGUpfHxmdW5jdGlvbigpe3Rocm93IG5ldyBUeXBlRXJyb3IoXCJJbnZhbGlkIGF0dGVtcHQgdG8gZGVzdHJ1Y3R1cmUgbm9uLWl0ZXJhYmxlIGluc3RhbmNlLlxcbkluIG9yZGVyIHRvIGJlIGl0ZXJhYmxlLCBub24tYXJyYXkgb2JqZWN0cyBtdXN0IGhhdmUgYSBbU3ltYm9sLml0ZXJhdG9yXSgpIG1ldGhvZC5cIil9KCl9ZnVuY3Rpb24gZyh0LGUpeyhudWxsPT1lfHxlPnQubGVuZ3RoKSYmKGU9dC5sZW5ndGgpO2Zvcih2YXIgcj0wLG49bmV3IEFycmF5KGUpO3I8ZTtyKyspbltyXT10W3JdO3JldHVybiBufXZhciB3PWZ1bmN0aW9uKCl7dmFyIHQ9ZChyZWdlbmVyYXRvclJ1bnRpbWUubWFyaygoZnVuY3Rpb24gdChlKXtyZXR1cm4gcmVnZW5lcmF0b3JSdW50aW1lLndyYXAoKGZ1bmN0aW9uKHQpe2Zvcig7Oylzd2l0Y2godC5wcmV2PXQubmV4dCl7Y2FzZSAwOnJldHVybiB0LmFicnVwdChcInJldHVyblwiLG5ldyBQcm9taXNlKGZ1bmN0aW9uKCl7dmFyIHQ9ZChyZWdlbmVyYXRvclJ1bnRpbWUubWFyaygoZnVuY3Rpb24gdChyLG4pe3ZhciBvLGk7cmV0dXJuIHJlZ2VuZXJhdG9yUnVudGltZS53cmFwKChmdW5jdGlvbih0KXtmb3IoOzspc3dpdGNoKHQucHJldj10Lm5leHQpe2Nhc2UgMDpyZXR1cm4gcCgpfHxuKG5ldyBET01FeGNlcHRpb24oXCJOYXZpZ2F0b3IgQVBJOiBwZXJtaXNzaW9ucyBub3Qgc3VwcG9ydGVkXCIsXCJOT1RfU1VQUE9SVEVEX0VSUlwiKSksdC5wcmV2PTEsdC5uZXh0PTQsbmF2aWdhdG9yLnBlcm1pc3Npb25zLnF1ZXJ5KHtuYW1lOmV9KTtjYXNlIDQ6bz10LnNlbnQsaT1mdW5jdGlvbiB0KGUpe28ucmVtb3ZlRXZlbnRMaXN0ZW5lcihcImNoYW5nZVwiLHQpLGIoZS50YXJnZXQuc3RhdGUscixuKX0sby5hZGRFdmVudExpc3RlbmVyKFwiY2hhbmdlXCIsaSksYihvLnN0YXRlLHIsbiksdC5uZXh0PTEzO2JyZWFrO2Nhc2UgMTA6dC5wcmV2PTEwLHQudDA9dC5jYXRjaCgxKSxuKHQudDApO2Nhc2UgMTM6Y2FzZVwiZW5kXCI6cmV0dXJuIHQuc3RvcCgpfX0pLHQsbnVsbCxbWzEsMTBdXSl9KSkpO3JldHVybiBmdW5jdGlvbihlLHIpe3JldHVybiB0LmFwcGx5KHRoaXMsYXJndW1lbnRzKX19KCkpKTtjYXNlIDE6Y2FzZVwiZW5kXCI6cmV0dXJuIHQuc3RvcCgpfX0pLHQpfSkpKTtyZXR1cm4gZnVuY3Rpb24oZSl7cmV0dXJuIHQuYXBwbHkodGhpcyxhcmd1bWVudHMpfX0oKSxiPWZ1bmN0aW9uKHQsZSxyKXtzd2l0Y2godCl7Y2FzZVwiZGVuaWVkXCI6cihuZXcgRE9NRXhjZXB0aW9uKFwiUGVybWlzc2lvbiBkZW5pZWRcIixcIk5PVF9BTExPV0VEX0VSUlwiKSk7YnJlYWs7ZGVmYXVsdDplKHQpfX0sRT1mdW5jdGlvbigpe3ZhciB0PWQocmVnZW5lcmF0b3JSdW50aW1lLm1hcmsoKGZ1bmN0aW9uIHQoZSxyKXtyZXR1cm4gcmVnZW5lcmF0b3JSdW50aW1lLndyYXAoKGZ1bmN0aW9uKHQpe2Zvcig7Oylzd2l0Y2godC5wcmV2PXQubmV4dCl7Y2FzZSAwOnJldHVybiB0LmFicnVwdChcInJldHVyblwiLG5ldyBQcm9taXNlKGZ1bmN0aW9uKCl7dmFyIHQ9ZChyZWdlbmVyYXRvclJ1bnRpbWUubWFyaygoZnVuY3Rpb24gdChuLG8pe3ZhciBpLGEsYztyZXR1cm4gcmVnZW5lcmF0b3JSdW50aW1lLndyYXAoKGZ1bmN0aW9uKHQpe2Zvcig7Oylzd2l0Y2godC5wcmV2PXQubmV4dCl7Y2FzZSAwOnJldHVybiBwKCkmJnYoKXx8byhuZXcgRE9NRXhjZXB0aW9uKFwiTmF2aWdhdG9yIEFQSTogcGVybWlzc2lvbnMgb3IgTmF2aWdhdG9yIEFQSTogbWVkaWFEZXZpY2VzIG5vdCBzdXBwb3J0ZWRcIixcIk5PVF9TVVBQT1JURURfRVJSXCIpKSx0LnByZXY9MSx0LnQwPVByb21pc2UsdC5uZXh0PTUsdyhlKTtjYXNlIDU6cmV0dXJuIHQudDE9dC5zZW50LHQubmV4dD04LG5hdmlnYXRvci5tZWRpYURldmljZXMuZ2V0VXNlck1lZGlhKHIpO2Nhc2UgODpyZXR1cm4gdC50Mj10LnNlbnQsdC50Mz1bdC50MSx0LnQyXSx0Lm5leHQ9MTIsdC50MC5hbGwuY2FsbCh0LnQwLHQudDMpO2Nhc2UgMTI6aT10LnNlbnQsYT1tKGksMiksYz1hWzFdLG4oYyksdC5uZXh0PTIxO2JyZWFrO2Nhc2UgMTg6dC5wcmV2PTE4LHQudDQ9dC5jYXRjaCgxKSxvKHQudDQpO2Nhc2UgMjE6Y2FzZVwiZW5kXCI6cmV0dXJuIHQuc3RvcCgpfX0pLHQsbnVsbCxbWzEsMThdXSl9KSkpO3JldHVybiBmdW5jdGlvbihlLHIpe3JldHVybiB0LmFwcGx5KHRoaXMsYXJndW1lbnRzKX19KCkpKTtjYXNlIDE6Y2FzZVwiZW5kXCI6cmV0dXJuIHQuc3RvcCgpfX0pLHQpfSkpKTtyZXR1cm4gZnVuY3Rpb24oZSxyKXtyZXR1cm4gdC5hcHBseSh0aGlzLGFyZ3VtZW50cyl9fSgpO2Z1bmN0aW9uIE8odCxlKXt2YXIgcj1PYmplY3Qua2V5cyh0KTtpZihPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzKXt2YXIgbj1PYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzKHQpO2UmJihuPW4uZmlsdGVyKChmdW5jdGlvbihlKXtyZXR1cm4gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcih0LGUpLmVudW1lcmFibGV9KSkpLHIucHVzaC5hcHBseShyLG4pfXJldHVybiByfWZ1bmN0aW9uIF8odCl7Zm9yKHZhciBlPTE7ZTxhcmd1bWVudHMubGVuZ3RoO2UrKyl7dmFyIHI9bnVsbCE9YXJndW1lbnRzW2VdP2FyZ3VtZW50c1tlXTp7fTtlJTI/TyhPYmplY3QociksITApLmZvckVhY2goKGZ1bmN0aW9uKGUpe2godCxlLHJbZV0pfSkpOk9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3JzP09iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKHQsT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcnMocikpOk8oT2JqZWN0KHIpKS5mb3JFYWNoKChmdW5jdGlvbihlKXtPYmplY3QuZGVmaW5lUHJvcGVydHkodCxlLE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IocixlKSl9KSl9cmV0dXJuIHR9dmFyIHg9ZnVuY3Rpb24oKXtmdW5jdGlvbiBlKHQpe3ZhciByPXRoaXM7cyh0aGlzLGUpLGgodGhpcyxcIl9pbnN0YW5jZVwiLG51bGwpLGgodGhpcyxcIl9saXN0ZW5lcnNcIixudWxsKTt2YXIgbj1lLl9yZXNvbHZlU3BlZWNoUmVjb2duaXRpb24oKTtpZighbil0aHJvdyBuZXcgRE9NRXhjZXB0aW9uKFwiU3BlZWNoUmVjb2duaXRpb24gbm90IHN1cHBvcnRlZFwiLFwiTk9UX1NVUFBPUlRFRF9FUlJcIik7dGhpcy5faW5zdGFuY2U9bmV3IG4sdGhpcy5fbGlzdGVuZXJzPXt9LE9iamVjdC5lbnRyaWVzKF8oXyh7fSxlLmRlZmF1bHRPcHRpb25zKSx0fHx7fSkpLmZvckVhY2goKGZ1bmN0aW9uKHQpe3ZhciBuPXUodCwyKSxvPW5bMF0saT1uWzFdO2lmKFwiZ3JhbW1hcnNcIj09PW8mJiFpKXt2YXIgYT1lLl9yZXNvbHZlU3BlZWNoR3JhbW1hckxpc3QoKTthJiYoaT1uZXcgYSl9ci5faW5zdGFuY2Vbb109aX0pKX12YXIgbjtyZXR1cm4gZihlLG51bGwsW3trZXk6XCJpc1N1cHBvcnRlZFwiLGdldDpmdW5jdGlvbigpe3JldHVybiEhZS5fcmVzb2x2ZVNwZWVjaFJlY29nbml0aW9uKCkmJiEhcCgpJiYhIXYoKX0sc2V0OmZ1bmN0aW9uKHQpe3Rocm93IG5ldyBFcnJvcihcIllvdSBjYW5ub3Qgc2V0IGlzU3VwcG9ydGVkIGRpcmVjdGx5LlwiKX19XSksZihlLFt7a2V5Olwic3RhcnRcIix2YWx1ZToobj1yKHQubWFyaygoZnVuY3Rpb24gZSgpe3ZhciByO3JldHVybiB0LndyYXAoKGZ1bmN0aW9uKHQpe2Zvcig7Oylzd2l0Y2godC5wcmV2PXQubmV4dCl7Y2FzZSAwOmlmKCF0aGlzLl9pbnN0YW5jZSl7dC5uZXh0PTE0O2JyZWFrfXJldHVybiB0LnByZXY9MSx0Lm5leHQ9NCxFKFwibWljcm9waG9uZVwiLHthdWRpbzohMH0pO2Nhc2UgNDppZih0LnNlbnQpe3QubmV4dD03O2JyZWFrfXRocm93IG5ldyBFcnJvcihcIlVuYWJsZSB0byByZXRyaWV2ZSB0aGUgc3RyZWFtIGZyb20gbWVkaWEgZGV2aWNlXCIpO2Nhc2UgNzp0aGlzLl9pbnN0YW5jZS5zdGFydCgpLHQubmV4dD0xNDticmVhaztjYXNlIDEwOnQucHJldj0xMCx0LnQwPXQuY2F0Y2goMSksKHI9dGhpcy5fbGlzdGVuZXJzLmVycm9yKSYmcih0LnQwKTtjYXNlIDE0OnJldHVybiB0LmFicnVwdChcInJldHVyblwiLHRoaXMpO2Nhc2UgMTU6Y2FzZVwiZW5kXCI6cmV0dXJuIHQuc3RvcCgpfX0pLGUsdGhpcyxbWzEsMTBdXSl9KSkpLGZ1bmN0aW9uKCl7cmV0dXJuIG4uYXBwbHkodGhpcyxhcmd1bWVudHMpfSl9LHtrZXk6XCJzdG9wXCIsdmFsdWU6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5faW5zdGFuY2UmJnRoaXMuX2luc3RhbmNlLnN0b3AoKSx0aGlzfX0se2tleTpcImFib3J0XCIsdmFsdWU6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5faW5zdGFuY2UmJnRoaXMuX2luc3RhbmNlLmFib3J0KCksdGhpc319LHtrZXk6XCJhZGRFdmVudExpc3RlbmVyXCIsdmFsdWU6ZnVuY3Rpb24odCxyKXt2YXIgbj10aGlzO2lmKHRoaXMuX2luc3RhbmNlJiZ0aGlzLl9pbmNsdWRlc0V2ZW50VHlwZSh0KSl7dGhpcy5fbGlzdGVuZXJzW3RdJiZ0aGlzLnJlbW92ZUV2ZW50TGlzdGVuZXIodCk7dmFyIG89ZnVuY3Rpb24obyl7dmFyIGk9W107dD09PWUuZXZlbnRUeXBlcy5SRVNVTFQmJm8ucmVzdWx0cyYmby5yZXN1bHRzLmxlbmd0aD4wJiZpLnB1c2goby5yZXN1bHRzWzBdWzBdLnRyYW5zY3JpcHQpLHImJnIuYXBwbHkobixbb10uY29uY2F0KGkpKX07dGhpcy5faW5zdGFuY2UuYWRkRXZlbnRMaXN0ZW5lcih0LG8pLHRoaXMuX2xpc3RlbmVyc1t0XT1vfXJldHVybiB0aGlzfX0se2tleTpcInJlbW92ZUV2ZW50TGlzdGVuZXJcIix2YWx1ZTpmdW5jdGlvbih0KXt2YXIgZT10aGlzLl9saXN0ZW5lcnNbdF07cmV0dXJuIHRoaXMuX2luc3RhbmNlLnJlbW92ZUV2ZW50TGlzdGVuZXIodCxlKSxkZWxldGUgdGhpcy5fbGlzdGVuZXJzW3RdLHRoaXN9fSx7a2V5OlwiY2xlYW51cFwiLHZhbHVlOmZ1bmN0aW9uKCl7dmFyIHQ9dGhpcztyZXR1cm4gdGhpcy5zdG9wKCksT2JqZWN0LmtleXModGhpcy5fbGlzdGVuZXJzKS5mb3JFYWNoKChmdW5jdGlvbihlKXtyZXR1cm4gdC5yZW1vdmVFdmVudExpc3RlbmVyKGUpfSkpLHRoaXMuX2luc3RhbmNlPW51bGwsdGhpc319LHtrZXk6XCJfaW5jbHVkZXNFdmVudFR5cGVcIix2YWx1ZTpmdW5jdGlvbih0KXtyZXR1cm4hIU9iamVjdC52YWx1ZXMoZS5ldmVudFR5cGVzKS5maW5kKChmdW5jdGlvbihlKXtyZXR1cm4gZT09PXR9KSl9fSx7a2V5OlwiaW5zdGFuY2VcIixnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5faW5zdGFuY2V9LHNldDpmdW5jdGlvbih0KXt0aHJvdyBuZXcgRXJyb3IoXCJZb3UgY2Fubm90IHNldCBpbnN0YW5jZSBkaXJlY3RseS5cIil9fV0sW3trZXk6XCJfcmVzb2x2ZVNwZWVjaFJlY29nbml0aW9uXCIsdmFsdWU6ZnVuY3Rpb24oKXtyZXR1cm4gd2luZG93LlNwZWVjaFJlY29nbml0aW9ufHx3aW5kb3cud2Via2l0U3BlZWNoUmVjb2duaXRpb258fHdpbmRvdy5tb3pTcGVlY2hSZWNvZ25pdGlvbnx8d2luZG93Lm1zU3BlZWNoUmVjb2duaXRpb259fSx7a2V5OlwiX3Jlc29sdmVTcGVlY2hHcmFtbWFyTGlzdFwiLHZhbHVlOmZ1bmN0aW9uKCl7cmV0dXJuIHdpbmRvdy5TcGVlY2hHcmFtbWFyTGlzdHx8d2luZG93LndlYmtpdFNwZWVjaEdyYW1tYXJMaXN0fHx3aW5kb3cubW96U3BlZWNoR3JhbW1hckxpc3R8fHdpbmRvdy5tc1NwZWVjaEdyYW1tYXJMaXN0fX1dKSxlfSgpO2goeCxcImRlZmF1bHRPcHRpb25zXCIse2dyYW1tYXJzOm51bGwsbGFuZzpcImVuLVVTXCIsY29udGludW91czohMSxpbnRlcmltUmVzdWx0czohMSxtYXhBbHRlcm5hdGl2ZXM6MSxzZXJ2aWNlVVJJOm51bGx9KSxoKHgsXCJldmVudFR5cGVzXCIse0FVRElPX0VORDpcImF1ZGlvZW5kXCIsQVVESU9fU1RBUlQ6XCJhdWRpb3N0YXJ0XCIsRU5EOlwiZW5kXCIsRVJST1I6XCJlcnJvclwiLE5PX01BVENIOlwibm9tYXRjaFwiLFJFU1VMVDpcInJlc3VsdFwiLFNPVU5EX0VORDpcInNvdW5kZW5kXCIsU09VTkRfU1RBUlQ6XCJzb3VuZHN0YXJ0XCIsU1BFRUNIX0VORDpcInNwZWVjaGVuZFwiLFNQRUVDSF9TVEFSVDpcInNwZWVjaHN0YXJ0XCIsU1RBUlQ6XCJzdGFydFwifSk7ZXhwb3J0e3ggYXMgVm9jYWx9O1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0ptYVd4bElqb2lhVzVrWlhndVpYTXVhbk1pTENKemIzVnlZMlZ6SWpwYklpNHVMMjV2WkdWZmJXOWtkV3hsY3k5eVpXZGxibVZ5WVhSdmNpMXlkVzUwYVcxbEwzSjFiblJwYldVdWFuTWlMQ0l1TGk5dWIyUmxYMjF2WkhWc1pYTXZRR0poWW1Wc0wzSjFiblJwYldVdmFHVnNjR1Z5Y3k5aGMzbHVZMVJ2UjJWdVpYSmhkRzl5TG1weklpd2lMaTR2Ym05a1pWOXRiMlIxYkdWekwwQmlZV0psYkM5eWRXNTBhVzFsTDJobGJIQmxjbk12WVhKeVlYbFhhWFJvU0c5c1pYTXVhbk1pTENJdUxpOXViMlJsWDIxdlpIVnNaWE12UUdKaFltVnNMM0oxYm5ScGJXVXZhR1ZzY0dWeWN5OXBkR1Z5WVdKc1pWUnZRWEp5WVhsTWFXMXBkQzVxY3lJc0lpNHVMMjV2WkdWZmJXOWtkV3hsY3k5QVltRmlaV3d2Y25WdWRHbHRaUzlvWld4d1pYSnpMMkZ5Y21GNVRHbHJaVlJ2UVhKeVlYa3Vhbk1pTENJdUxpOXViMlJsWDIxdlpIVnNaWE12UUdKaFltVnNMM0oxYm5ScGJXVXZhR1ZzY0dWeWN5OTFibk4xY0hCdmNuUmxaRWwwWlhKaFlteGxWRzlCY25KaGVTNXFjeUlzSWk0dUwyNXZaR1ZmYlc5a2RXeGxjeTlBWW1GaVpXd3ZjblZ1ZEdsdFpTOW9aV3h3WlhKekwyNXZia2wwWlhKaFlteGxVbVZ6ZEM1cWN5SXNJaTR1TDI1dlpHVmZiVzlrZFd4bGN5OUFZbUZpWld3dmNuVnVkR2x0WlM5b1pXeHdaWEp6TDNOc2FXTmxaRlJ2UVhKeVlYa3Vhbk1pTENJdUxpOXViMlJsWDIxdlpIVnNaWE12UUdKaFltVnNMM0oxYm5ScGJXVXZhR1ZzY0dWeWN5OWpiR0Z6YzBOaGJHeERhR1ZqYXk1cWN5SXNJaTR1TDI1dlpHVmZiVzlrZFd4bGN5OUFZbUZpWld3dmNuVnVkR2x0WlM5b1pXeHdaWEp6TDJOeVpXRjBaVU5zWVhOekxtcHpJaXdpTGk0dmJtOWtaVjl0YjJSMWJHVnpMMEJpWVdKbGJDOXlkVzUwYVcxbEwyaGxiSEJsY25NdlpHVm1hVzVsVUhKdmNHVnlkSGt1YW5NaUxDSXVMaTl1YjJSbFgyMXZaSFZzWlhNdlFIVnVkR1Z0Y0hNdmRYTmxjaTF3WlhKdGFYTnphVzl1Y3kxMWRHbHNjeTlrYVhOMEwybHVaR1Y0TG1WekxtcHpJaXdpTGk0dmMzSmpMMVp2WTJGc0xtcHpJbDBzSW5OdmRYSmpaWE5EYjI1MFpXNTBJanBiSWk4cUtseHVJQ29nUTI5d2VYSnBaMmgwSUNoaktTQXlNREUwTFhCeVpYTmxiblFzSUVaaFkyVmliMjlyTENCSmJtTXVYRzRnS2x4dUlDb2dWR2hwY3lCemIzVnlZMlVnWTI5a1pTQnBjeUJzYVdObGJuTmxaQ0IxYm1SbGNpQjBhR1VnVFVsVUlHeHBZMlZ1YzJVZ1ptOTFibVFnYVc0Z2RHaGxYRzRnS2lCTVNVTkZUbE5GSUdacGJHVWdhVzRnZEdobElISnZiM1FnWkdseVpXTjBiM0o1SUc5bUlIUm9hWE1nYzI5MWNtTmxJSFJ5WldVdVhHNGdLaTljYmx4dWRtRnlJSEoxYm5ScGJXVWdQU0FvWm5WdVkzUnBiMjRnS0dWNGNHOXlkSE1wSUh0Y2JpQWdYQ0oxYzJVZ2MzUnlhV04wWENJN1hHNWNiaUFnZG1GeUlFOXdJRDBnVDJKcVpXTjBMbkJ5YjNSdmRIbHdaVHRjYmlBZ2RtRnlJR2hoYzA5M2JpQTlJRTl3TG1oaGMwOTNibEJ5YjNCbGNuUjVPMXh1SUNCMllYSWdkVzVrWldacGJtVmtPeUF2THlCTmIzSmxJR052YlhCeVpYTnphV0pzWlNCMGFHRnVJSFp2YVdRZ01DNWNiaUFnZG1GeUlDUlRlVzFpYjJ3Z1BTQjBlWEJsYjJZZ1UzbHRZbTlzSUQwOVBTQmNJbVoxYm1OMGFXOXVYQ0lnUHlCVGVXMWliMndnT2lCN2ZUdGNiaUFnZG1GeUlHbDBaWEpoZEc5eVUzbHRZbTlzSUQwZ0pGTjViV0p2YkM1cGRHVnlZWFJ2Y2lCOGZDQmNJa0JBYVhSbGNtRjBiM0pjSWp0Y2JpQWdkbUZ5SUdGemVXNWpTWFJsY21GMGIzSlRlVzFpYjJ3Z1BTQWtVM2x0WW05c0xtRnplVzVqU1hSbGNtRjBiM0lnZkh3Z1hDSkFRR0Z6ZVc1alNYUmxjbUYwYjNKY0lqdGNiaUFnZG1GeUlIUnZVM1J5YVc1blZHRm5VM2x0WW05c0lEMGdKRk41YldKdmJDNTBiMU4wY21sdVoxUmhaeUI4ZkNCY0lrQkFkRzlUZEhKcGJtZFVZV2RjSWp0Y2JseHVJQ0JtZFc1amRHbHZiaUJrWldacGJtVW9iMkpxTENCclpYa3NJSFpoYkhWbEtTQjdYRzRnSUNBZ1QySnFaV04wTG1SbFptbHVaVkJ5YjNCbGNuUjVLRzlpYWl3Z2EyVjVMQ0I3WEc0Z0lDQWdJQ0IyWVd4MVpUb2dkbUZzZFdVc1hHNGdJQ0FnSUNCbGJuVnRaWEpoWW14bE9pQjBjblZsTEZ4dUlDQWdJQ0FnWTI5dVptbG5kWEpoWW14bE9pQjBjblZsTEZ4dUlDQWdJQ0FnZDNKcGRHRmliR1U2SUhSeWRXVmNiaUFnSUNCOUtUdGNiaUFnSUNCeVpYUjFjbTRnYjJKcVcydGxlVjA3WEc0Z0lIMWNiaUFnZEhKNUlIdGNiaUFnSUNBdkx5QkpSU0E0SUdoaGN5QmhJR0p5YjJ0bGJpQlBZbXBsWTNRdVpHVm1hVzVsVUhKdmNHVnlkSGtnZEdoaGRDQnZibXg1SUhkdmNtdHpJRzl1SUVSUFRTQnZZbXBsWTNSekxseHVJQ0FnSUdSbFptbHVaU2g3ZlN3Z1hDSmNJaWs3WEc0Z0lIMGdZMkYwWTJnZ0tHVnljaWtnZTF4dUlDQWdJR1JsWm1sdVpTQTlJR1oxYm1OMGFXOXVLRzlpYWl3Z2EyVjVMQ0IyWVd4MVpTa2dlMXh1SUNBZ0lDQWdjbVYwZFhKdUlHOWlhbHRyWlhsZElEMGdkbUZzZFdVN1hHNGdJQ0FnZlR0Y2JpQWdmVnh1WEc0Z0lHWjFibU4wYVc5dUlIZHlZWEFvYVc1dVpYSkdiaXdnYjNWMFpYSkdiaXdnYzJWc1ppd2dkSEo1VEc5amMweHBjM1FwSUh0Y2JpQWdJQ0F2THlCSlppQnZkWFJsY2tadUlIQnliM1pwWkdWa0lHRnVaQ0J2ZFhSbGNrWnVMbkJ5YjNSdmRIbHdaU0JwY3lCaElFZGxibVZ5WVhSdmNpd2dkR2hsYmlCdmRYUmxja1p1TG5CeWIzUnZkSGx3WlNCcGJuTjBZVzVqWlc5bUlFZGxibVZ5WVhSdmNpNWNiaUFnSUNCMllYSWdjSEp2ZEc5SFpXNWxjbUYwYjNJZ1BTQnZkWFJsY2tadUlDWW1JRzkxZEdWeVJtNHVjSEp2ZEc5MGVYQmxJR2x1YzNSaGJtTmxiMllnUjJWdVpYSmhkRzl5SUQ4Z2IzVjBaWEpHYmlBNklFZGxibVZ5WVhSdmNqdGNiaUFnSUNCMllYSWdaMlZ1WlhKaGRHOXlJRDBnVDJKcVpXTjBMbU55WldGMFpTaHdjbTkwYjBkbGJtVnlZWFJ2Y2k1d2NtOTBiM1I1Y0dVcE8xeHVJQ0FnSUhaaGNpQmpiMjUwWlhoMElEMGdibVYzSUVOdmJuUmxlSFFvZEhKNVRHOWpjMHhwYzNRZ2ZId2dXMTBwTzF4dVhHNGdJQ0FnTHk4Z1ZHaGxJQzVmYVc1MmIydGxJRzFsZEdodlpDQjFibWxtYVdWeklIUm9aU0JwYlhCc1pXMWxiblJoZEdsdmJuTWdiMllnZEdobElDNXVaWGgwTEZ4dUlDQWdJQzh2SUM1MGFISnZkeXdnWVc1a0lDNXlaWFIxY200Z2JXVjBhRzlrY3k1Y2JpQWdJQ0JuWlc1bGNtRjBiM0l1WDJsdWRtOXJaU0E5SUcxaGEyVkpiblp2YTJWTlpYUm9iMlFvYVc1dVpYSkdiaXdnYzJWc1ppd2dZMjl1ZEdWNGRDazdYRzVjYmlBZ0lDQnlaWFIxY200Z1oyVnVaWEpoZEc5eU8xeHVJQ0I5WEc0Z0lHVjRjRzl5ZEhNdWQzSmhjQ0E5SUhkeVlYQTdYRzVjYmlBZ0x5OGdWSEo1TDJOaGRHTm9JR2hsYkhCbGNpQjBieUJ0YVc1cGJXbDZaU0JrWlc5d2RHbHRhWHBoZEdsdmJuTXVJRkpsZEhWeWJuTWdZU0JqYjIxd2JHVjBhVzl1WEc0Z0lDOHZJSEpsWTI5eVpDQnNhV3RsSUdOdmJuUmxlSFF1ZEhKNVJXNTBjbWxsYzF0cFhTNWpiMjF3YkdWMGFXOXVMaUJVYUdseklHbHVkR1Z5Wm1GalpTQmpiM1ZzWkZ4dUlDQXZMeUJvWVhabElHSmxaVzRnS0dGdVpDQjNZWE1nY0hKbGRtbHZkWE5zZVNrZ1pHVnphV2R1WldRZ2RHOGdkR0ZyWlNCaElHTnNiM04xY21VZ2RHOGdZbVZjYmlBZ0x5OGdhVzUyYjJ0bFpDQjNhWFJvYjNWMElHRnlaM1Z0Wlc1MGN5d2dZblYwSUdsdUlHRnNiQ0IwYUdVZ1kyRnpaWE1nZDJVZ1kyRnlaU0JoWW05MWRDQjNaVnh1SUNBdkx5QmhiSEpsWVdSNUlHaGhkbVVnWVc0Z1pYaHBjM1JwYm1jZ2JXVjBhRzlrSUhkbElIZGhiblFnZEc4Z1kyRnNiQ3dnYzI4Z2RHaGxjbVVuY3lCdWJ5QnVaV1ZrWEc0Z0lDOHZJSFJ2SUdOeVpXRjBaU0JoSUc1bGR5Qm1kVzVqZEdsdmJpQnZZbXBsWTNRdUlGZGxJR05oYmlCbGRtVnVJR2RsZENCaGQyRjVJSGRwZEdnZ1lYTnpkVzFwYm1kY2JpQWdMeThnZEdobElHMWxkR2h2WkNCMFlXdGxjeUJsZUdGamRHeDVJRzl1WlNCaGNtZDFiV1Z1ZEN3Z2MybHVZMlVnZEdoaGRDQm9ZWEJ3Wlc1eklIUnZJR0psSUhSeWRXVmNiaUFnTHk4Z2FXNGdaWFpsY25rZ1kyRnpaU3dnYzI4Z2QyVWdaRzl1SjNRZ2FHRjJaU0IwYnlCMGIzVmphQ0IwYUdVZ1lYSm5kVzFsYm5SeklHOWlhbVZqZEM0Z1ZHaGxYRzRnSUM4dklHOXViSGtnWVdSa2FYUnBiMjVoYkNCaGJHeHZZMkYwYVc5dUlISmxjWFZwY21Wa0lHbHpJSFJvWlNCamIyMXdiR1YwYVc5dUlISmxZMjl5WkN3Z2QyaHBZMmhjYmlBZ0x5OGdhR0Z6SUdFZ2MzUmhZbXhsSUhOb1lYQmxJR0Z1WkNCemJ5Qm9iM0JsWm5Wc2JIa2djMmh2ZFd4a0lHSmxJR05vWldGd0lIUnZJR0ZzYkc5allYUmxMbHh1SUNCbWRXNWpkR2x2YmlCMGNubERZWFJqYUNobWJpd2diMkpxTENCaGNtY3BJSHRjYmlBZ0lDQjBjbmtnZTF4dUlDQWdJQ0FnY21WMGRYSnVJSHNnZEhsd1pUb2dYQ0p1YjNKdFlXeGNJaXdnWVhKbk9pQm1iaTVqWVd4c0tHOWlhaXdnWVhKbktTQjlPMXh1SUNBZ0lIMGdZMkYwWTJnZ0tHVnljaWtnZTF4dUlDQWdJQ0FnY21WMGRYSnVJSHNnZEhsd1pUb2dYQ0owYUhKdmQxd2lMQ0JoY21jNklHVnljaUI5TzF4dUlDQWdJSDFjYmlBZ2ZWeHVYRzRnSUhaaGNpQkhaVzVUZEdGMFpWTjFjM0JsYm1SbFpGTjBZWEowSUQwZ1hDSnpkWE53Wlc1a1pXUlRkR0Z5ZEZ3aU8xeHVJQ0IyWVhJZ1IyVnVVM1JoZEdWVGRYTndaVzVrWldSWmFXVnNaQ0E5SUZ3aWMzVnpjR1Z1WkdWa1dXbGxiR1JjSWp0Y2JpQWdkbUZ5SUVkbGJsTjBZWFJsUlhobFkzVjBhVzVuSUQwZ1hDSmxlR1ZqZFhScGJtZGNJanRjYmlBZ2RtRnlJRWRsYmxOMFlYUmxRMjl0Y0d4bGRHVmtJRDBnWENKamIyMXdiR1YwWldSY0lqdGNibHh1SUNBdkx5QlNaWFIxY201cGJtY2dkR2hwY3lCdlltcGxZM1FnWm5KdmJTQjBhR1VnYVc1dVpYSkdiaUJvWVhNZ2RHaGxJSE5oYldVZ1pXWm1aV04wSUdGelhHNGdJQzh2SUdKeVpXRnJhVzVuSUc5MWRDQnZaaUIwYUdVZ1pHbHpjR0YwWTJnZ2MzZHBkR05vSUhOMFlYUmxiV1Z1ZEM1Y2JpQWdkbUZ5SUVOdmJuUnBiblZsVTJWdWRHbHVaV3dnUFNCN2ZUdGNibHh1SUNBdkx5QkVkVzF0ZVNCamIyNXpkSEoxWTNSdmNpQm1kVzVqZEdsdmJuTWdkR2hoZENCM1pTQjFjMlVnWVhNZ2RHaGxJQzVqYjI1emRISjFZM1J2Y2lCaGJtUmNiaUFnTHk4Z0xtTnZibk4wY25WamRHOXlMbkJ5YjNSdmRIbHdaU0J3Y205d1pYSjBhV1Z6SUdadmNpQm1kVzVqZEdsdmJuTWdkR2hoZENCeVpYUjFjbTRnUjJWdVpYSmhkRzl5WEc0Z0lDOHZJRzlpYW1WamRITXVJRVp2Y2lCbWRXeHNJSE53WldNZ1kyOXRjR3hwWVc1alpTd2dlVzkxSUcxaGVTQjNhWE5vSUhSdklHTnZibVpwWjNWeVpTQjViM1Z5WEc0Z0lDOHZJRzFwYm1sbWFXVnlJRzV2ZENCMGJ5QnRZVzVuYkdVZ2RHaGxJRzVoYldWeklHOW1JSFJvWlhObElIUjNieUJtZFc1amRHbHZibk11WEc0Z0lHWjFibU4wYVc5dUlFZGxibVZ5WVhSdmNpZ3BJSHQ5WEc0Z0lHWjFibU4wYVc5dUlFZGxibVZ5WVhSdmNrWjFibU4wYVc5dUtDa2dlMzFjYmlBZ1puVnVZM1JwYjI0Z1IyVnVaWEpoZEc5eVJuVnVZM1JwYjI1UWNtOTBiM1I1Y0dVb0tTQjdmVnh1WEc0Z0lDOHZJRlJvYVhNZ2FYTWdZU0J3YjJ4NVptbHNiQ0JtYjNJZ0pVbDBaWEpoZEc5eVVISnZkRzkwZVhCbEpTQm1iM0lnWlc1MmFYSnZibTFsYm5SeklIUm9ZWFJjYmlBZ0x5OGdaRzl1SjNRZ2JtRjBhWFpsYkhrZ2MzVndjRzl5ZENCcGRDNWNiaUFnZG1GeUlFbDBaWEpoZEc5eVVISnZkRzkwZVhCbElEMGdlMzA3WEc0Z0lFbDBaWEpoZEc5eVVISnZkRzkwZVhCbFcybDBaWEpoZEc5eVUzbHRZbTlzWFNBOUlHWjFibU4wYVc5dUlDZ3BJSHRjYmlBZ0lDQnlaWFIxY200Z2RHaHBjenRjYmlBZ2ZUdGNibHh1SUNCMllYSWdaMlYwVUhKdmRHOGdQU0JQWW1wbFkzUXVaMlYwVUhKdmRHOTBlWEJsVDJZN1hHNGdJSFpoY2lCT1lYUnBkbVZKZEdWeVlYUnZjbEJ5YjNSdmRIbHdaU0E5SUdkbGRGQnliM1J2SUNZbUlHZGxkRkJ5YjNSdktHZGxkRkJ5YjNSdktIWmhiSFZsY3loYlhTa3BLVHRjYmlBZ2FXWWdLRTVoZEdsMlpVbDBaWEpoZEc5eVVISnZkRzkwZVhCbElDWW1YRzRnSUNBZ0lDQk9ZWFJwZG1WSmRHVnlZWFJ2Y2xCeWIzUnZkSGx3WlNBaFBUMGdUM0FnSmlaY2JpQWdJQ0FnSUdoaGMwOTNiaTVqWVd4c0tFNWhkR2wyWlVsMFpYSmhkRzl5VUhKdmRHOTBlWEJsTENCcGRHVnlZWFJ2Y2xONWJXSnZiQ2twSUh0Y2JpQWdJQ0F2THlCVWFHbHpJR1Z1ZG1seWIyNXRaVzUwSUdoaGN5QmhJRzVoZEdsMlpTQWxTWFJsY21GMGIzSlFjbTkwYjNSNWNHVWxPeUIxYzJVZ2FYUWdhVzV6ZEdWaFpGeHVJQ0FnSUM4dklHOW1JSFJvWlNCd2IyeDVabWxzYkM1Y2JpQWdJQ0JKZEdWeVlYUnZjbEJ5YjNSdmRIbHdaU0E5SUU1aGRHbDJaVWwwWlhKaGRHOXlVSEp2ZEc5MGVYQmxPMXh1SUNCOVhHNWNiaUFnZG1GeUlFZHdJRDBnUjJWdVpYSmhkRzl5Um5WdVkzUnBiMjVRY205MGIzUjVjR1V1Y0hKdmRHOTBlWEJsSUQxY2JpQWdJQ0JIWlc1bGNtRjBiM0l1Y0hKdmRHOTBlWEJsSUQwZ1QySnFaV04wTG1OeVpXRjBaU2hKZEdWeVlYUnZjbEJ5YjNSdmRIbHdaU2s3WEc0Z0lFZGxibVZ5WVhSdmNrWjFibU4wYVc5dUxuQnliM1J2ZEhsd1pTQTlJRWR3TG1OdmJuTjBjblZqZEc5eUlEMGdSMlZ1WlhKaGRHOXlSblZ1WTNScGIyNVFjbTkwYjNSNWNHVTdYRzRnSUVkbGJtVnlZWFJ2Y2taMWJtTjBhVzl1VUhKdmRHOTBlWEJsTG1OdmJuTjBjblZqZEc5eUlEMGdSMlZ1WlhKaGRHOXlSblZ1WTNScGIyNDdYRzRnSUVkbGJtVnlZWFJ2Y2taMWJtTjBhVzl1TG1ScGMzQnNZWGxPWVcxbElEMGdaR1ZtYVc1bEtGeHVJQ0FnSUVkbGJtVnlZWFJ2Y2taMWJtTjBhVzl1VUhKdmRHOTBlWEJsTEZ4dUlDQWdJSFJ2VTNSeWFXNW5WR0ZuVTNsdFltOXNMRnh1SUNBZ0lGd2lSMlZ1WlhKaGRHOXlSblZ1WTNScGIyNWNJbHh1SUNBcE8xeHVYRzRnSUM4dklFaGxiSEJsY2lCbWIzSWdaR1ZtYVc1cGJtY2dkR2hsSUM1dVpYaDBMQ0F1ZEdoeWIzY3NJR0Z1WkNBdWNtVjBkWEp1SUcxbGRHaHZaSE1nYjJZZ2RHaGxYRzRnSUM4dklFbDBaWEpoZEc5eUlHbHVkR1Z5Wm1GalpTQnBiaUIwWlhKdGN5QnZaaUJoSUhOcGJtZHNaU0F1WDJsdWRtOXJaU0J0WlhSb2IyUXVYRzRnSUdaMWJtTjBhVzl1SUdSbFptbHVaVWwwWlhKaGRHOXlUV1YwYUc5a2N5aHdjbTkwYjNSNWNHVXBJSHRjYmlBZ0lDQmJYQ0p1WlhoMFhDSXNJRndpZEdoeWIzZGNJaXdnWENKeVpYUjFjbTVjSWwwdVptOXlSV0ZqYUNobWRXNWpkR2x2YmlodFpYUm9iMlFwSUh0Y2JpQWdJQ0FnSUdSbFptbHVaU2h3Y205MGIzUjVjR1VzSUcxbGRHaHZaQ3dnWm5WdVkzUnBiMjRvWVhKbktTQjdYRzRnSUNBZ0lDQWdJSEpsZEhWeWJpQjBhR2x6TGw5cGJuWnZhMlVvYldWMGFHOWtMQ0JoY21jcE8xeHVJQ0FnSUNBZ2ZTazdYRzRnSUNBZ2ZTazdYRzRnSUgxY2JseHVJQ0JsZUhCdmNuUnpMbWx6UjJWdVpYSmhkRzl5Um5WdVkzUnBiMjRnUFNCbWRXNWpkR2x2YmloblpXNUdkVzRwSUh0Y2JpQWdJQ0IyWVhJZ1kzUnZjaUE5SUhSNWNHVnZaaUJuWlc1R2RXNGdQVDA5SUZ3aVpuVnVZM1JwYjI1Y0lpQW1KaUJuWlc1R2RXNHVZMjl1YzNSeWRXTjBiM0k3WEc0Z0lDQWdjbVYwZFhKdUlHTjBiM0pjYmlBZ0lDQWdJRDhnWTNSdmNpQTlQVDBnUjJWdVpYSmhkRzl5Um5WdVkzUnBiMjRnZkh4Y2JpQWdJQ0FnSUNBZ0x5OGdSbTl5SUhSb1pTQnVZWFJwZG1VZ1IyVnVaWEpoZEc5eVJuVnVZM1JwYjI0Z1kyOXVjM1J5ZFdOMGIzSXNJSFJvWlNCaVpYTjBJSGRsSUdOaGJseHVJQ0FnSUNBZ0lDQXZMeUJrYnlCcGN5QjBieUJqYUdWamF5QnBkSE1nTG01aGJXVWdjSEp2Y0dWeWRIa3VYRzRnSUNBZ0lDQWdJQ2hqZEc5eUxtUnBjM0JzWVhsT1lXMWxJSHg4SUdOMGIzSXVibUZ0WlNrZ1BUMDlJRndpUjJWdVpYSmhkRzl5Um5WdVkzUnBiMjVjSWx4dUlDQWdJQ0FnT2lCbVlXeHpaVHRjYmlBZ2ZUdGNibHh1SUNCbGVIQnZjblJ6TG0xaGNtc2dQU0JtZFc1amRHbHZiaWhuWlc1R2RXNHBJSHRjYmlBZ0lDQnBaaUFvVDJKcVpXTjBMbk5sZEZCeWIzUnZkSGx3WlU5bUtTQjdYRzRnSUNBZ0lDQlBZbXBsWTNRdWMyVjBVSEp2ZEc5MGVYQmxUMllvWjJWdVJuVnVMQ0JIWlc1bGNtRjBiM0pHZFc1amRHbHZibEJ5YjNSdmRIbHdaU2s3WEc0Z0lDQWdmU0JsYkhObElIdGNiaUFnSUNBZ0lHZGxia1oxYmk1ZlgzQnliM1J2WDE4Z1BTQkhaVzVsY21GMGIzSkdkVzVqZEdsdmJsQnliM1J2ZEhsd1pUdGNiaUFnSUNBZ0lHUmxabWx1WlNoblpXNUdkVzRzSUhSdlUzUnlhVzVuVkdGblUzbHRZbTlzTENCY0lrZGxibVZ5WVhSdmNrWjFibU4wYVc5dVhDSXBPMXh1SUNBZ0lIMWNiaUFnSUNCblpXNUdkVzR1Y0hKdmRHOTBlWEJsSUQwZ1QySnFaV04wTG1OeVpXRjBaU2hIY0NrN1hHNGdJQ0FnY21WMGRYSnVJR2RsYmtaMWJqdGNiaUFnZlR0Y2JseHVJQ0F2THlCWGFYUm9hVzRnZEdobElHSnZaSGtnYjJZZ1lXNTVJR0Z6ZVc1aklHWjFibU4wYVc5dUxDQmdZWGRoYVhRZ2VHQWdhWE1nZEhKaGJuTm1iM0p0WldRZ2RHOWNiaUFnTHk4Z1lIbHBaV3hrSUhKbFoyVnVaWEpoZEc5eVVuVnVkR2x0WlM1aGQzSmhjQ2g0S1dBc0lITnZJSFJvWVhRZ2RHaGxJSEoxYm5ScGJXVWdZMkZ1SUhSbGMzUmNiaUFnTHk4Z1lHaGhjMDkzYmk1allXeHNLSFpoYkhWbExDQmNJbDlmWVhkaGFYUmNJaWxnSUhSdklHUmxkR1Z5YldsdVpTQnBaaUIwYUdVZ2VXbGxiR1JsWkNCMllXeDFaU0JwYzF4dUlDQXZMeUJ0WldGdWRDQjBieUJpWlNCaGQyRnBkR1ZrTGx4dUlDQmxlSEJ2Y25SekxtRjNjbUZ3SUQwZ1puVnVZM1JwYjI0b1lYSm5LU0I3WEc0Z0lDQWdjbVYwZFhKdUlIc2dYMTloZDJGcGREb2dZWEpuSUgwN1hHNGdJSDA3WEc1Y2JpQWdablZ1WTNScGIyNGdRWE41Ym1OSmRHVnlZWFJ2Y2loblpXNWxjbUYwYjNJc0lGQnliMjFwYzJWSmJYQnNLU0I3WEc0Z0lDQWdablZ1WTNScGIyNGdhVzUyYjJ0bEtHMWxkR2h2WkN3Z1lYSm5MQ0J5WlhOdmJIWmxMQ0J5WldwbFkzUXBJSHRjYmlBZ0lDQWdJSFpoY2lCeVpXTnZjbVFnUFNCMGNubERZWFJqYUNoblpXNWxjbUYwYjNKYmJXVjBhRzlrWFN3Z1oyVnVaWEpoZEc5eUxDQmhjbWNwTzF4dUlDQWdJQ0FnYVdZZ0tISmxZMjl5WkM1MGVYQmxJRDA5UFNCY0luUm9jbTkzWENJcElIdGNiaUFnSUNBZ0lDQWdjbVZxWldOMEtISmxZMjl5WkM1aGNtY3BPMXh1SUNBZ0lDQWdmU0JsYkhObElIdGNiaUFnSUNBZ0lDQWdkbUZ5SUhKbGMzVnNkQ0E5SUhKbFkyOXlaQzVoY21jN1hHNGdJQ0FnSUNBZ0lIWmhjaUIyWVd4MVpTQTlJSEpsYzNWc2RDNTJZV3gxWlR0Y2JpQWdJQ0FnSUNBZ2FXWWdLSFpoYkhWbElDWW1YRzRnSUNBZ0lDQWdJQ0FnSUNCMGVYQmxiMllnZG1Gc2RXVWdQVDA5SUZ3aWIySnFaV04wWENJZ0ppWmNiaUFnSUNBZ0lDQWdJQ0FnSUdoaGMwOTNiaTVqWVd4c0tIWmhiSFZsTENCY0lsOWZZWGRoYVhSY0lpa3BJSHRjYmlBZ0lDQWdJQ0FnSUNCeVpYUjFjbTRnVUhKdmJXbHpaVWx0Y0d3dWNtVnpiMngyWlNoMllXeDFaUzVmWDJGM1lXbDBLUzUwYUdWdUtHWjFibU4wYVc5dUtIWmhiSFZsS1NCN1hHNGdJQ0FnSUNBZ0lDQWdJQ0JwYm5admEyVW9YQ0p1WlhoMFhDSXNJSFpoYkhWbExDQnlaWE52YkhabExDQnlaV3BsWTNRcE8xeHVJQ0FnSUNBZ0lDQWdJSDBzSUdaMWJtTjBhVzl1S0dWeWNpa2dlMXh1SUNBZ0lDQWdJQ0FnSUNBZ2FXNTJiMnRsS0Z3aWRHaHliM2RjSWl3Z1pYSnlMQ0J5WlhOdmJIWmxMQ0J5WldwbFkzUXBPMXh1SUNBZ0lDQWdJQ0FnSUgwcE8xeHVJQ0FnSUNBZ0lDQjlYRzVjYmlBZ0lDQWdJQ0FnY21WMGRYSnVJRkJ5YjIxcGMyVkpiWEJzTG5KbGMyOXNkbVVvZG1Gc2RXVXBMblJvWlc0b1puVnVZM1JwYjI0b2RXNTNjbUZ3Y0dWa0tTQjdYRzRnSUNBZ0lDQWdJQ0FnTHk4Z1YyaGxiaUJoSUhscFpXeGtaV1FnVUhKdmJXbHpaU0JwY3lCeVpYTnZiSFpsWkN3Z2FYUnpJR1pwYm1Gc0lIWmhiSFZsSUdKbFkyOXRaWE5jYmlBZ0lDQWdJQ0FnSUNBdkx5QjBhR1VnTG5aaGJIVmxJRzltSUhSb1pTQlFjbTl0YVhObFBIdDJZV3gxWlN4a2IyNWxmVDRnY21WemRXeDBJR1p2Y2lCMGFHVmNiaUFnSUNBZ0lDQWdJQ0F2THlCamRYSnlaVzUwSUdsMFpYSmhkR2x2Ymk1Y2JpQWdJQ0FnSUNBZ0lDQnlaWE4xYkhRdWRtRnNkV1VnUFNCMWJuZHlZWEJ3WldRN1hHNGdJQ0FnSUNBZ0lDQWdjbVZ6YjJ4MlpTaHlaWE4xYkhRcE8xeHVJQ0FnSUNBZ0lDQjlMQ0JtZFc1amRHbHZiaWhsY25KdmNpa2dlMXh1SUNBZ0lDQWdJQ0FnSUM4dklFbG1JR0VnY21WcVpXTjBaV1FnVUhKdmJXbHpaU0IzWVhNZ2VXbGxiR1JsWkN3Z2RHaHliM2NnZEdobElISmxhbVZqZEdsdmJpQmlZV05yWEc0Z0lDQWdJQ0FnSUNBZ0x5OGdhVzUwYnlCMGFHVWdZWE41Ym1NZ1oyVnVaWEpoZEc5eUlHWjFibU4wYVc5dUlITnZJR2wwSUdOaGJpQmlaU0JvWVc1a2JHVmtJSFJvWlhKbExseHVJQ0FnSUNBZ0lDQWdJSEpsZEhWeWJpQnBiblp2YTJVb1hDSjBhSEp2ZDF3aUxDQmxjbkp2Y2l3Z2NtVnpiMngyWlN3Z2NtVnFaV04wS1R0Y2JpQWdJQ0FnSUNBZ2ZTazdYRzRnSUNBZ0lDQjlYRzRnSUNBZ2ZWeHVYRzRnSUNBZ2RtRnlJSEJ5WlhacGIzVnpVSEp2YldselpUdGNibHh1SUNBZ0lHWjFibU4wYVc5dUlHVnVjWFZsZFdVb2JXVjBhRzlrTENCaGNtY3BJSHRjYmlBZ0lDQWdJR1oxYm1OMGFXOXVJR05oYkd4SmJuWnZhMlZYYVhSb1RXVjBhRzlrUVc1a1FYSm5LQ2tnZTF4dUlDQWdJQ0FnSUNCeVpYUjFjbTRnYm1WM0lGQnliMjFwYzJWSmJYQnNLR1oxYm1OMGFXOXVLSEpsYzI5c2RtVXNJSEpsYW1WamRDa2dlMXh1SUNBZ0lDQWdJQ0FnSUdsdWRtOXJaU2h0WlhSb2IyUXNJR0Z5Wnl3Z2NtVnpiMngyWlN3Z2NtVnFaV04wS1R0Y2JpQWdJQ0FnSUNBZ2ZTazdYRzRnSUNBZ0lDQjlYRzVjYmlBZ0lDQWdJSEpsZEhWeWJpQndjbVYyYVc5MWMxQnliMjFwYzJVZ1BWeHVJQ0FnSUNBZ0lDQXZMeUJKWmlCbGJuRjFaWFZsSUdoaGN5QmlaV1Z1SUdOaGJHeGxaQ0JpWldadmNtVXNJSFJvWlc0Z2QyVWdkMkZ1ZENCMGJ5QjNZV2wwSUhWdWRHbHNYRzRnSUNBZ0lDQWdJQzh2SUdGc2JDQndjbVYyYVc5MWN5QlFjbTl0YVhObGN5Qm9ZWFpsSUdKbFpXNGdjbVZ6YjJ4MlpXUWdZbVZtYjNKbElHTmhiR3hwYm1jZ2FXNTJiMnRsTEZ4dUlDQWdJQ0FnSUNBdkx5QnpieUIwYUdGMElISmxjM1ZzZEhNZ1lYSmxJR0ZzZDJGNWN5QmtaV3hwZG1WeVpXUWdhVzRnZEdobElHTnZjbkpsWTNRZ2IzSmtaWEl1SUVsbVhHNGdJQ0FnSUNBZ0lDOHZJR1Z1Y1hWbGRXVWdhR0Z6SUc1dmRDQmlaV1Z1SUdOaGJHeGxaQ0JpWldadmNtVXNJSFJvWlc0Z2FYUWdhWE1nYVcxd2IzSjBZVzUwSUhSdlhHNGdJQ0FnSUNBZ0lDOHZJR05oYkd3Z2FXNTJiMnRsSUdsdGJXVmthV0YwWld4NUxDQjNhWFJvYjNWMElIZGhhWFJwYm1jZ2IyNGdZU0JqWVd4c1ltRmpheUIwYnlCbWFYSmxMRnh1SUNBZ0lDQWdJQ0F2THlCemJ5QjBhR0YwSUhSb1pTQmhjM2x1WXlCblpXNWxjbUYwYjNJZ1puVnVZM1JwYjI0Z2FHRnpJSFJvWlNCdmNIQnZjblIxYm1sMGVTQjBieUJrYjF4dUlDQWdJQ0FnSUNBdkx5QmhibmtnYm1WalpYTnpZWEo1SUhObGRIVndJR2x1SUdFZ2NISmxaR2xqZEdGaWJHVWdkMkY1TGlCVWFHbHpJSEJ5WldScFkzUmhZbWxzYVhSNVhHNGdJQ0FnSUNBZ0lDOHZJR2x6SUhkb2VTQjBhR1VnVUhKdmJXbHpaU0JqYjI1emRISjFZM1J2Y2lCemVXNWphSEp2Ym05MWMyeDVJR2x1ZG05clpYTWdhWFJ6WEc0Z0lDQWdJQ0FnSUM4dklHVjRaV04xZEc5eUlHTmhiR3hpWVdOckxDQmhibVFnZDJoNUlHRnplVzVqSUdaMWJtTjBhVzl1Y3lCemVXNWphSEp2Ym05MWMyeDVYRzRnSUNBZ0lDQWdJQzh2SUdWNFpXTjFkR1VnWTI5a1pTQmlaV1p2Y21VZ2RHaGxJR1pwY25OMElHRjNZV2wwTGlCVGFXNWpaU0IzWlNCcGJYQnNaVzFsYm5RZ2MybHRjR3hsWEc0Z0lDQWdJQ0FnSUM4dklHRnplVzVqSUdaMWJtTjBhVzl1Y3lCcGJpQjBaWEp0Y3lCdlppQmhjM2x1WXlCblpXNWxjbUYwYjNKekxDQnBkQ0JwY3lCbGMzQmxZMmxoYkd4NVhHNGdJQ0FnSUNBZ0lDOHZJR2x0Y0c5eWRHRnVkQ0IwYnlCblpYUWdkR2hwY3lCeWFXZG9kQ3dnWlhabGJpQjBhRzkxWjJnZ2FYUWdjbVZ4ZFdseVpYTWdZMkZ5WlM1Y2JpQWdJQ0FnSUNBZ2NISmxkbWx2ZFhOUWNtOXRhWE5sSUQ4Z2NISmxkbWx2ZFhOUWNtOXRhWE5sTG5Sb1pXNG9YRzRnSUNBZ0lDQWdJQ0FnWTJGc2JFbHVkbTlyWlZkcGRHaE5aWFJvYjJSQmJtUkJjbWNzWEc0Z0lDQWdJQ0FnSUNBZ0x5OGdRWFp2YVdRZ2NISnZjR0ZuWVhScGJtY2dabUZwYkhWeVpYTWdkRzhnVUhKdmJXbHpaWE1nY21WMGRYSnVaV1FnWW5rZ2JHRjBaWEpjYmlBZ0lDQWdJQ0FnSUNBdkx5QnBiblp2WTJGMGFXOXVjeUJ2WmlCMGFHVWdhWFJsY21GMGIzSXVYRzRnSUNBZ0lDQWdJQ0FnWTJGc2JFbHVkbTlyWlZkcGRHaE5aWFJvYjJSQmJtUkJjbWRjYmlBZ0lDQWdJQ0FnS1NBNklHTmhiR3hKYm5admEyVlhhWFJvVFdWMGFHOWtRVzVrUVhKbktDazdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ0x5OGdSR1ZtYVc1bElIUm9aU0IxYm1sbWFXVmtJR2hsYkhCbGNpQnRaWFJvYjJRZ2RHaGhkQ0JwY3lCMWMyVmtJSFJ2SUdsdGNHeGxiV1Z1ZENBdWJtVjRkQ3hjYmlBZ0lDQXZMeUF1ZEdoeWIzY3NJR0Z1WkNBdWNtVjBkWEp1SUNoelpXVWdaR1ZtYVc1bFNYUmxjbUYwYjNKTlpYUm9iMlJ6S1M1Y2JpQWdJQ0IwYUdsekxsOXBiblp2YTJVZ1BTQmxibkYxWlhWbE8xeHVJQ0I5WEc1Y2JpQWdaR1ZtYVc1bFNYUmxjbUYwYjNKTlpYUm9iMlJ6S0VGemVXNWpTWFJsY21GMGIzSXVjSEp2ZEc5MGVYQmxLVHRjYmlBZ1FYTjVibU5KZEdWeVlYUnZjaTV3Y205MGIzUjVjR1ZiWVhONWJtTkpkR1Z5WVhSdmNsTjViV0p2YkYwZ1BTQm1kVzVqZEdsdmJpQW9LU0I3WEc0Z0lDQWdjbVYwZFhKdUlIUm9hWE03WEc0Z0lIMDdYRzRnSUdWNGNHOXlkSE11UVhONWJtTkpkR1Z5WVhSdmNpQTlJRUZ6ZVc1alNYUmxjbUYwYjNJN1hHNWNiaUFnTHk4Z1RtOTBaU0IwYUdGMElITnBiWEJzWlNCaGMzbHVZeUJtZFc1amRHbHZibk1nWVhKbElHbHRjR3hsYldWdWRHVmtJRzl1SUhSdmNDQnZabHh1SUNBdkx5QkJjM2x1WTBsMFpYSmhkRzl5SUc5aWFtVmpkSE03SUhSb1pYa2dhblZ6ZENCeVpYUjFjbTRnWVNCUWNtOXRhWE5sSUdadmNpQjBhR1VnZG1Gc2RXVWdiMlpjYmlBZ0x5OGdkR2hsSUdacGJtRnNJSEpsYzNWc2RDQndjbTlrZFdObFpDQmllU0IwYUdVZ2FYUmxjbUYwYjNJdVhHNGdJR1Y0Y0c5eWRITXVZWE41Ym1NZ1BTQm1kVzVqZEdsdmJpaHBibTVsY2tadUxDQnZkWFJsY2tadUxDQnpaV3htTENCMGNubE1iMk56VEdsemRDd2dVSEp2YldselpVbHRjR3dwSUh0Y2JpQWdJQ0JwWmlBb1VISnZiV2x6WlVsdGNHd2dQVDA5SUhadmFXUWdNQ2tnVUhKdmJXbHpaVWx0Y0d3Z1BTQlFjbTl0YVhObE8xeHVYRzRnSUNBZ2RtRnlJR2wwWlhJZ1BTQnVaWGNnUVhONWJtTkpkR1Z5WVhSdmNpaGNiaUFnSUNBZ0lIZHlZWEFvYVc1dVpYSkdiaXdnYjNWMFpYSkdiaXdnYzJWc1ppd2dkSEo1VEc5amMweHBjM1FwTEZ4dUlDQWdJQ0FnVUhKdmJXbHpaVWx0Y0d4Y2JpQWdJQ0FwTzF4dVhHNGdJQ0FnY21WMGRYSnVJR1Y0Y0c5eWRITXVhWE5IWlc1bGNtRjBiM0pHZFc1amRHbHZiaWh2ZFhSbGNrWnVLVnh1SUNBZ0lDQWdQeUJwZEdWeUlDOHZJRWxtSUc5MWRHVnlSbTRnYVhNZ1lTQm5aVzVsY21GMGIzSXNJSEpsZEhWeWJpQjBhR1VnWm5Wc2JDQnBkR1Z5WVhSdmNpNWNiaUFnSUNBZ0lEb2dhWFJsY2k1dVpYaDBLQ2t1ZEdobGJpaG1kVzVqZEdsdmJpaHlaWE4xYkhRcElIdGNiaUFnSUNBZ0lDQWdJQ0J5WlhSMWNtNGdjbVZ6ZFd4MExtUnZibVVnUHlCeVpYTjFiSFF1ZG1Gc2RXVWdPaUJwZEdWeUxtNWxlSFFvS1R0Y2JpQWdJQ0FnSUNBZ2ZTazdYRzRnSUgwN1hHNWNiaUFnWm5WdVkzUnBiMjRnYldGclpVbHVkbTlyWlUxbGRHaHZaQ2hwYm01bGNrWnVMQ0J6Wld4bUxDQmpiMjUwWlhoMEtTQjdYRzRnSUNBZ2RtRnlJSE4wWVhSbElEMGdSMlZ1VTNSaGRHVlRkWE53Wlc1a1pXUlRkR0Z5ZER0Y2JseHVJQ0FnSUhKbGRIVnliaUJtZFc1amRHbHZiaUJwYm5admEyVW9iV1YwYUc5a0xDQmhjbWNwSUh0Y2JpQWdJQ0FnSUdsbUlDaHpkR0YwWlNBOVBUMGdSMlZ1VTNSaGRHVkZlR1ZqZFhScGJtY3BJSHRjYmlBZ0lDQWdJQ0FnZEdoeWIzY2dibVYzSUVWeWNtOXlLRndpUjJWdVpYSmhkRzl5SUdseklHRnNjbVZoWkhrZ2NuVnVibWx1WjF3aUtUdGNiaUFnSUNBZ0lIMWNibHh1SUNBZ0lDQWdhV1lnS0hOMFlYUmxJRDA5UFNCSFpXNVRkR0YwWlVOdmJYQnNaWFJsWkNrZ2UxeHVJQ0FnSUNBZ0lDQnBaaUFvYldWMGFHOWtJRDA5UFNCY0luUm9jbTkzWENJcElIdGNiaUFnSUNBZ0lDQWdJQ0IwYUhKdmR5QmhjbWM3WEc0Z0lDQWdJQ0FnSUgxY2JseHVJQ0FnSUNBZ0lDQXZMeUJDWlNCbWIzSm5hWFpwYm1jc0lIQmxjaUF5TlM0ekxqTXVNeTR6SUc5bUlIUm9aU0J6Y0dWak9seHVJQ0FnSUNBZ0lDQXZMeUJvZEhSd2N6b3ZMM0JsYjNCc1pTNXRiM3BwYkd4aExtOXlaeTkrYW05eVpXNWtiM0ptWmk5bGN6WXRaSEpoWm5RdWFIUnRiQ056WldNdFoyVnVaWEpoZEc5eWNtVnpkVzFsWEc0Z0lDQWdJQ0FnSUhKbGRIVnliaUJrYjI1bFVtVnpkV3gwS0NrN1hHNGdJQ0FnSUNCOVhHNWNiaUFnSUNBZ0lHTnZiblJsZUhRdWJXVjBhRzlrSUQwZ2JXVjBhRzlrTzF4dUlDQWdJQ0FnWTI5dWRHVjRkQzVoY21jZ1BTQmhjbWM3WEc1Y2JpQWdJQ0FnSUhkb2FXeGxJQ2gwY25WbEtTQjdYRzRnSUNBZ0lDQWdJSFpoY2lCa1pXeGxaMkYwWlNBOUlHTnZiblJsZUhRdVpHVnNaV2RoZEdVN1hHNGdJQ0FnSUNBZ0lHbG1JQ2hrWld4bFoyRjBaU2tnZTF4dUlDQWdJQ0FnSUNBZ0lIWmhjaUJrWld4bFoyRjBaVkpsYzNWc2RDQTlJRzFoZVdKbFNXNTJiMnRsUkdWc1pXZGhkR1VvWkdWc1pXZGhkR1VzSUdOdmJuUmxlSFFwTzF4dUlDQWdJQ0FnSUNBZ0lHbG1JQ2hrWld4bFoyRjBaVkpsYzNWc2RDa2dlMXh1SUNBZ0lDQWdJQ0FnSUNBZ2FXWWdLR1JsYkdWbllYUmxVbVZ6ZFd4MElEMDlQU0JEYjI1MGFXNTFaVk5sYm5ScGJtVnNLU0JqYjI1MGFXNTFaVHRjYmlBZ0lDQWdJQ0FnSUNBZ0lISmxkSFZ5YmlCa1pXeGxaMkYwWlZKbGMzVnNkRHRjYmlBZ0lDQWdJQ0FnSUNCOVhHNGdJQ0FnSUNBZ0lIMWNibHh1SUNBZ0lDQWdJQ0JwWmlBb1kyOXVkR1Y0ZEM1dFpYUm9iMlFnUFQwOUlGd2libVY0ZEZ3aUtTQjdYRzRnSUNBZ0lDQWdJQ0FnTHk4Z1UyVjBkR2x1WnlCamIyNTBaWGgwTGw5elpXNTBJR1p2Y2lCc1pXZGhZM2tnYzNWd2NHOXlkQ0J2WmlCQ1lXSmxiQ2R6WEc0Z0lDQWdJQ0FnSUNBZ0x5OGdablZ1WTNScGIyNHVjMlZ1ZENCcGJYQnNaVzFsYm5SaGRHbHZiaTVjYmlBZ0lDQWdJQ0FnSUNCamIyNTBaWGgwTG5ObGJuUWdQU0JqYjI1MFpYaDBMbDl6Wlc1MElEMGdZMjl1ZEdWNGRDNWhjbWM3WEc1Y2JpQWdJQ0FnSUNBZ2ZTQmxiSE5sSUdsbUlDaGpiMjUwWlhoMExtMWxkR2h2WkNBOVBUMGdYQ0owYUhKdmQxd2lLU0I3WEc0Z0lDQWdJQ0FnSUNBZ2FXWWdLSE4wWVhSbElEMDlQU0JIWlc1VGRHRjBaVk4xYzNCbGJtUmxaRk4wWVhKMEtTQjdYRzRnSUNBZ0lDQWdJQ0FnSUNCemRHRjBaU0E5SUVkbGJsTjBZWFJsUTI5dGNHeGxkR1ZrTzF4dUlDQWdJQ0FnSUNBZ0lDQWdkR2h5YjNjZ1kyOXVkR1Y0ZEM1aGNtYzdYRzRnSUNBZ0lDQWdJQ0FnZlZ4dVhHNGdJQ0FnSUNBZ0lDQWdZMjl1ZEdWNGRDNWthWE53WVhSamFFVjRZMlZ3ZEdsdmJpaGpiMjUwWlhoMExtRnlaeWs3WEc1Y2JpQWdJQ0FnSUNBZ2ZTQmxiSE5sSUdsbUlDaGpiMjUwWlhoMExtMWxkR2h2WkNBOVBUMGdYQ0p5WlhSMWNtNWNJaWtnZTF4dUlDQWdJQ0FnSUNBZ0lHTnZiblJsZUhRdVlXSnlkWEIwS0Z3aWNtVjBkWEp1WENJc0lHTnZiblJsZUhRdVlYSm5LVHRjYmlBZ0lDQWdJQ0FnZlZ4dVhHNGdJQ0FnSUNBZ0lITjBZWFJsSUQwZ1IyVnVVM1JoZEdWRmVHVmpkWFJwYm1jN1hHNWNiaUFnSUNBZ0lDQWdkbUZ5SUhKbFkyOXlaQ0E5SUhSeWVVTmhkR05vS0dsdWJtVnlSbTRzSUhObGJHWXNJR052Ym5SbGVIUXBPMXh1SUNBZ0lDQWdJQ0JwWmlBb2NtVmpiM0prTG5SNWNHVWdQVDA5SUZ3aWJtOXliV0ZzWENJcElIdGNiaUFnSUNBZ0lDQWdJQ0F2THlCSlppQmhiaUJsZUdObGNIUnBiMjRnYVhNZ2RHaHliM2R1SUdaeWIyMGdhVzV1WlhKR2Jpd2dkMlVnYkdWaGRtVWdjM1JoZEdVZ1BUMDlYRzRnSUNBZ0lDQWdJQ0FnTHk4Z1IyVnVVM1JoZEdWRmVHVmpkWFJwYm1jZ1lXNWtJR3h2YjNBZ1ltRmpheUJtYjNJZ1lXNXZkR2hsY2lCcGJuWnZZMkYwYVc5dUxseHVJQ0FnSUNBZ0lDQWdJSE4wWVhSbElEMGdZMjl1ZEdWNGRDNWtiMjVsWEc0Z0lDQWdJQ0FnSUNBZ0lDQS9JRWRsYmxOMFlYUmxRMjl0Y0d4bGRHVmtYRzRnSUNBZ0lDQWdJQ0FnSUNBNklFZGxibE4wWVhSbFUzVnpjR1Z1WkdWa1dXbGxiR1E3WEc1Y2JpQWdJQ0FnSUNBZ0lDQnBaaUFvY21WamIzSmtMbUZ5WnlBOVBUMGdRMjl1ZEdsdWRXVlRaVzUwYVc1bGJDa2dlMXh1SUNBZ0lDQWdJQ0FnSUNBZ1kyOXVkR2x1ZFdVN1hHNGdJQ0FnSUNBZ0lDQWdmVnh1WEc0Z0lDQWdJQ0FnSUNBZ2NtVjBkWEp1SUh0Y2JpQWdJQ0FnSUNBZ0lDQWdJSFpoYkhWbE9pQnlaV052Y21RdVlYSm5MRnh1SUNBZ0lDQWdJQ0FnSUNBZ1pHOXVaVG9nWTI5dWRHVjRkQzVrYjI1bFhHNGdJQ0FnSUNBZ0lDQWdmVHRjYmx4dUlDQWdJQ0FnSUNCOUlHVnNjMlVnYVdZZ0tISmxZMjl5WkM1MGVYQmxJRDA5UFNCY0luUm9jbTkzWENJcElIdGNiaUFnSUNBZ0lDQWdJQ0J6ZEdGMFpTQTlJRWRsYmxOMFlYUmxRMjl0Y0d4bGRHVmtPMXh1SUNBZ0lDQWdJQ0FnSUM4dklFUnBjM0JoZEdOb0lIUm9aU0JsZUdObGNIUnBiMjRnWW5rZ2JHOXZjR2x1WnlCaVlXTnJJR0Z5YjNWdVpDQjBieUIwYUdWY2JpQWdJQ0FnSUNBZ0lDQXZMeUJqYjI1MFpYaDBMbVJwYzNCaGRHTm9SWGhqWlhCMGFXOXVLR052Ym5SbGVIUXVZWEpuS1NCallXeHNJR0ZpYjNabExseHVJQ0FnSUNBZ0lDQWdJR052Ym5SbGVIUXViV1YwYUc5a0lEMGdYQ0owYUhKdmQxd2lPMXh1SUNBZ0lDQWdJQ0FnSUdOdmJuUmxlSFF1WVhKbklEMGdjbVZqYjNKa0xtRnlaenRjYmlBZ0lDQWdJQ0FnZlZ4dUlDQWdJQ0FnZlZ4dUlDQWdJSDA3WEc0Z0lIMWNibHh1SUNBdkx5QkRZV3hzSUdSbGJHVm5ZWFJsTG1sMFpYSmhkRzl5VzJOdmJuUmxlSFF1YldWMGFHOWtYU2hqYjI1MFpYaDBMbUZ5WnlrZ1lXNWtJR2hoYm1Sc1pTQjBhR1ZjYmlBZ0x5OGdjbVZ6ZFd4MExDQmxhWFJvWlhJZ1lua2djbVYwZFhKdWFXNW5JR0VnZXlCMllXeDFaU3dnWkc5dVpTQjlJSEpsYzNWc2RDQm1jbTl0SUhSb1pWeHVJQ0F2THlCa1pXeGxaMkYwWlNCcGRHVnlZWFJ2Y2l3Z2IzSWdZbmtnYlc5a2FXWjVhVzVuSUdOdmJuUmxlSFF1YldWMGFHOWtJR0Z1WkNCamIyNTBaWGgwTG1GeVp5eGNiaUFnTHk4Z2MyVjBkR2x1WnlCamIyNTBaWGgwTG1SbGJHVm5ZWFJsSUhSdklHNTFiR3dzSUdGdVpDQnlaWFIxY201cGJtY2dkR2hsSUVOdmJuUnBiblZsVTJWdWRHbHVaV3d1WEc0Z0lHWjFibU4wYVc5dUlHMWhlV0psU1c1MmIydGxSR1ZzWldkaGRHVW9aR1ZzWldkaGRHVXNJR052Ym5SbGVIUXBJSHRjYmlBZ0lDQjJZWElnYldWMGFHOWtJRDBnWkdWc1pXZGhkR1V1YVhSbGNtRjBiM0piWTI5dWRHVjRkQzV0WlhSb2IyUmRPMXh1SUNBZ0lHbG1JQ2h0WlhSb2IyUWdQVDA5SUhWdVpHVm1hVzVsWkNrZ2UxeHVJQ0FnSUNBZ0x5OGdRU0F1ZEdoeWIzY2diM0lnTG5KbGRIVnliaUIzYUdWdUlIUm9aU0JrWld4bFoyRjBaU0JwZEdWeVlYUnZjaUJvWVhNZ2JtOGdMblJvY205M1hHNGdJQ0FnSUNBdkx5QnRaWFJvYjJRZ1lXeDNZWGx6SUhSbGNtMXBibUYwWlhNZ2RHaGxJSGxwWld4a0tpQnNiMjl3TGx4dUlDQWdJQ0FnWTI5dWRHVjRkQzVrWld4bFoyRjBaU0E5SUc1MWJHdzdYRzVjYmlBZ0lDQWdJR2xtSUNoamIyNTBaWGgwTG0xbGRHaHZaQ0E5UFQwZ1hDSjBhSEp2ZDF3aUtTQjdYRzRnSUNBZ0lDQWdJQzh2SUU1dmRHVTZJRnRjSW5KbGRIVnlibHdpWFNCdGRYTjBJR0psSUhWelpXUWdabTl5SUVWVE15QndZWEp6YVc1bklHTnZiWEJoZEdsaWFXeHBkSGt1WEc0Z0lDQWdJQ0FnSUdsbUlDaGtaV3hsWjJGMFpTNXBkR1Z5WVhSdmNsdGNJbkpsZEhWeWJsd2lYU2tnZTF4dUlDQWdJQ0FnSUNBZ0lDOHZJRWxtSUhSb1pTQmtaV3hsWjJGMFpTQnBkR1Z5WVhSdmNpQm9ZWE1nWVNCeVpYUjFjbTRnYldWMGFHOWtMQ0JuYVhabElHbDBJR0ZjYmlBZ0lDQWdJQ0FnSUNBdkx5QmphR0Z1WTJVZ2RHOGdZMnhsWVc0Z2RYQXVYRzRnSUNBZ0lDQWdJQ0FnWTI5dWRHVjRkQzV0WlhSb2IyUWdQU0JjSW5KbGRIVnlibHdpTzF4dUlDQWdJQ0FnSUNBZ0lHTnZiblJsZUhRdVlYSm5JRDBnZFc1a1pXWnBibVZrTzF4dUlDQWdJQ0FnSUNBZ0lHMWhlV0psU1c1MmIydGxSR1ZzWldkaGRHVW9aR1ZzWldkaGRHVXNJR052Ym5SbGVIUXBPMXh1WEc0Z0lDQWdJQ0FnSUNBZ2FXWWdLR052Ym5SbGVIUXViV1YwYUc5a0lEMDlQU0JjSW5Sb2NtOTNYQ0lwSUh0Y2JpQWdJQ0FnSUNBZ0lDQWdJQzh2SUVsbUlHMWhlV0psU1c1MmIydGxSR1ZzWldkaGRHVW9ZMjl1ZEdWNGRDa2dZMmhoYm1kbFpDQmpiMjUwWlhoMExtMWxkR2h2WkNCbWNtOXRYRzRnSUNBZ0lDQWdJQ0FnSUNBdkx5QmNJbkpsZEhWeWJsd2lJSFJ2SUZ3aWRHaHliM2RjSWl3Z2JHVjBJSFJvWVhRZ2IzWmxjbkpwWkdVZ2RHaGxJRlI1Y0dWRmNuSnZjaUJpWld4dmR5NWNiaUFnSUNBZ0lDQWdJQ0FnSUhKbGRIVnliaUJEYjI1MGFXNTFaVk5sYm5ScGJtVnNPMXh1SUNBZ0lDQWdJQ0FnSUgxY2JpQWdJQ0FnSUNBZ2ZWeHVYRzRnSUNBZ0lDQWdJR052Ym5SbGVIUXViV1YwYUc5a0lEMGdYQ0owYUhKdmQxd2lPMXh1SUNBZ0lDQWdJQ0JqYjI1MFpYaDBMbUZ5WnlBOUlHNWxkeUJVZVhCbFJYSnliM0lvWEc0Z0lDQWdJQ0FnSUNBZ1hDSlVhR1VnYVhSbGNtRjBiM0lnWkc5bGN5QnViM1FnY0hKdmRtbGtaU0JoSUNkMGFISnZkeWNnYldWMGFHOWtYQ0lwTzF4dUlDQWdJQ0FnZlZ4dVhHNGdJQ0FnSUNCeVpYUjFjbTRnUTI5dWRHbHVkV1ZUWlc1MGFXNWxiRHRjYmlBZ0lDQjlYRzVjYmlBZ0lDQjJZWElnY21WamIzSmtJRDBnZEhKNVEyRjBZMmdvYldWMGFHOWtMQ0JrWld4bFoyRjBaUzVwZEdWeVlYUnZjaXdnWTI5dWRHVjRkQzVoY21jcE8xeHVYRzRnSUNBZ2FXWWdLSEpsWTI5eVpDNTBlWEJsSUQwOVBTQmNJblJvY205M1hDSXBJSHRjYmlBZ0lDQWdJR052Ym5SbGVIUXViV1YwYUc5a0lEMGdYQ0owYUhKdmQxd2lPMXh1SUNBZ0lDQWdZMjl1ZEdWNGRDNWhjbWNnUFNCeVpXTnZjbVF1WVhKbk8xeHVJQ0FnSUNBZ1kyOXVkR1Y0ZEM1a1pXeGxaMkYwWlNBOUlHNTFiR3c3WEc0Z0lDQWdJQ0J5WlhSMWNtNGdRMjl1ZEdsdWRXVlRaVzUwYVc1bGJEdGNiaUFnSUNCOVhHNWNiaUFnSUNCMllYSWdhVzVtYnlBOUlISmxZMjl5WkM1aGNtYzdYRzVjYmlBZ0lDQnBaaUFvSVNCcGJtWnZLU0I3WEc0Z0lDQWdJQ0JqYjI1MFpYaDBMbTFsZEdodlpDQTlJRndpZEdoeWIzZGNJanRjYmlBZ0lDQWdJR052Ym5SbGVIUXVZWEpuSUQwZ2JtVjNJRlI1Y0dWRmNuSnZjaWhjSW1sMFpYSmhkRzl5SUhKbGMzVnNkQ0JwY3lCdWIzUWdZVzRnYjJKcVpXTjBYQ0lwTzF4dUlDQWdJQ0FnWTI5dWRHVjRkQzVrWld4bFoyRjBaU0E5SUc1MWJHdzdYRzRnSUNBZ0lDQnlaWFIxY200Z1EyOXVkR2x1ZFdWVFpXNTBhVzVsYkR0Y2JpQWdJQ0I5WEc1Y2JpQWdJQ0JwWmlBb2FXNW1ieTVrYjI1bEtTQjdYRzRnSUNBZ0lDQXZMeUJCYzNOcFoyNGdkR2hsSUhKbGMzVnNkQ0J2WmlCMGFHVWdabWx1YVhOb1pXUWdaR1ZzWldkaGRHVWdkRzhnZEdobElIUmxiWEJ2Y21GeWVWeHVJQ0FnSUNBZ0x5OGdkbUZ5YVdGaWJHVWdjM0JsWTJsbWFXVmtJR0o1SUdSbGJHVm5ZWFJsTG5KbGMzVnNkRTVoYldVZ0tITmxaU0JrWld4bFoyRjBaVmxwWld4a0tTNWNiaUFnSUNBZ0lHTnZiblJsZUhSYlpHVnNaV2RoZEdVdWNtVnpkV3gwVG1GdFpWMGdQU0JwYm1adkxuWmhiSFZsTzF4dVhHNGdJQ0FnSUNBdkx5QlNaWE4xYldVZ1pYaGxZM1YwYVc5dUlHRjBJSFJvWlNCa1pYTnBjbVZrSUd4dlkyRjBhVzl1SUNoelpXVWdaR1ZzWldkaGRHVlphV1ZzWkNrdVhHNGdJQ0FnSUNCamIyNTBaWGgwTG01bGVIUWdQU0JrWld4bFoyRjBaUzV1WlhoMFRHOWpPMXh1WEc0Z0lDQWdJQ0F2THlCSlppQmpiMjUwWlhoMExtMWxkR2h2WkNCM1lYTWdYQ0owYUhKdmQxd2lJR0oxZENCMGFHVWdaR1ZzWldkaGRHVWdhR0Z1Wkd4bFpDQjBhR1ZjYmlBZ0lDQWdJQzh2SUdWNFkyVndkR2x2Yml3Z2JHVjBJSFJvWlNCdmRYUmxjaUJuWlc1bGNtRjBiM0lnY0hKdlkyVmxaQ0J1YjNKdFlXeHNlUzRnU1daY2JpQWdJQ0FnSUM4dklHTnZiblJsZUhRdWJXVjBhRzlrSUhkaGN5QmNJbTVsZUhSY0lpd2dabTl5WjJWMElHTnZiblJsZUhRdVlYSm5JSE5wYm1ObElHbDBJR2hoY3lCaVpXVnVYRzRnSUNBZ0lDQXZMeUJjSW1OdmJuTjFiV1ZrWENJZ1lua2dkR2hsSUdSbGJHVm5ZWFJsSUdsMFpYSmhkRzl5TGlCSlppQmpiMjUwWlhoMExtMWxkR2h2WkNCM1lYTmNiaUFnSUNBZ0lDOHZJRndpY21WMGRYSnVYQ0lzSUdGc2JHOTNJSFJvWlNCdmNtbG5hVzVoYkNBdWNtVjBkWEp1SUdOaGJHd2dkRzhnWTI5dWRHbHVkV1VnYVc0Z2RHaGxYRzRnSUNBZ0lDQXZMeUJ2ZFhSbGNpQm5aVzVsY21GMGIzSXVYRzRnSUNBZ0lDQnBaaUFvWTI5dWRHVjRkQzV0WlhSb2IyUWdJVDA5SUZ3aWNtVjBkWEp1WENJcElIdGNiaUFnSUNBZ0lDQWdZMjl1ZEdWNGRDNXRaWFJvYjJRZ1BTQmNJbTVsZUhSY0lqdGNiaUFnSUNBZ0lDQWdZMjl1ZEdWNGRDNWhjbWNnUFNCMWJtUmxabWx1WldRN1hHNGdJQ0FnSUNCOVhHNWNiaUFnSUNCOUlHVnNjMlVnZTF4dUlDQWdJQ0FnTHk4Z1VtVXRlV2xsYkdRZ2RHaGxJSEpsYzNWc2RDQnlaWFIxY201bFpDQmllU0IwYUdVZ1pHVnNaV2RoZEdVZ2JXVjBhRzlrTGx4dUlDQWdJQ0FnY21WMGRYSnVJR2x1Wm04N1hHNGdJQ0FnZlZ4dVhHNGdJQ0FnTHk4Z1ZHaGxJR1JsYkdWbllYUmxJR2wwWlhKaGRHOXlJR2x6SUdacGJtbHphR1ZrTENCemJ5Qm1iM0puWlhRZ2FYUWdZVzVrSUdOdmJuUnBiblZsSUhkcGRHaGNiaUFnSUNBdkx5QjBhR1VnYjNWMFpYSWdaMlZ1WlhKaGRHOXlMbHh1SUNBZ0lHTnZiblJsZUhRdVpHVnNaV2RoZEdVZ1BTQnVkV3hzTzF4dUlDQWdJSEpsZEhWeWJpQkRiMjUwYVc1MVpWTmxiblJwYm1Wc08xeHVJQ0I5WEc1Y2JpQWdMeThnUkdWbWFXNWxJRWRsYm1WeVlYUnZjaTV3Y205MGIzUjVjR1V1ZTI1bGVIUXNkR2h5YjNjc2NtVjBkWEp1ZlNCcGJpQjBaWEp0Y3lCdlppQjBhR1ZjYmlBZ0x5OGdkVzVwWm1sbFpDQXVYMmx1ZG05clpTQm9aV3h3WlhJZ2JXVjBhRzlrTGx4dUlDQmtaV1pwYm1WSmRHVnlZWFJ2Y2sxbGRHaHZaSE1vUjNBcE8xeHVYRzRnSUdSbFptbHVaU2hIY0N3Z2RHOVRkSEpwYm1kVVlXZFRlVzFpYjJ3c0lGd2lSMlZ1WlhKaGRHOXlYQ0lwTzF4dVhHNGdJQzh2SUVFZ1IyVnVaWEpoZEc5eUlITm9iM1ZzWkNCaGJIZGhlWE1nY21WMGRYSnVJR2wwYzJWc1ppQmhjeUIwYUdVZ2FYUmxjbUYwYjNJZ2IySnFaV04wSUhkb1pXNGdkR2hsWEc0Z0lDOHZJRUJBYVhSbGNtRjBiM0lnWm5WdVkzUnBiMjRnYVhNZ1kyRnNiR1ZrSUc5dUlHbDBMaUJUYjIxbElHSnliM2R6WlhKekp5QnBiWEJzWlcxbGJuUmhkR2x2Ym5NZ2IyWWdkR2hsWEc0Z0lDOHZJR2wwWlhKaGRHOXlJSEJ5YjNSdmRIbHdaU0JqYUdGcGJpQnBibU52Y25KbFkzUnNlU0JwYlhCc1pXMWxiblFnZEdocGN5d2dZMkYxYzJsdVp5QjBhR1VnUjJWdVpYSmhkRzl5WEc0Z0lDOHZJRzlpYW1WamRDQjBieUJ1YjNRZ1ltVWdjbVYwZFhKdVpXUWdabkp2YlNCMGFHbHpJR05oYkd3dUlGUm9hWE1nWlc1emRYSmxjeUIwYUdGMElHUnZaWE51SjNRZ2FHRndjR1Z1TGx4dUlDQXZMeUJUWldVZ2FIUjBjSE02THk5bmFYUm9kV0l1WTI5dEwyWmhZMlZpYjI5ckwzSmxaMlZ1WlhKaGRHOXlMMmx6YzNWbGN5OHlOelFnWm05eUlHMXZjbVVnWkdWMFlXbHNjeTVjYmlBZ1IzQmJhWFJsY21GMGIzSlRlVzFpYjJ4ZElEMGdablZ1WTNScGIyNG9LU0I3WEc0Z0lDQWdjbVYwZFhKdUlIUm9hWE03WEc0Z0lIMDdYRzVjYmlBZ1IzQXVkRzlUZEhKcGJtY2dQU0JtZFc1amRHbHZiaWdwSUh0Y2JpQWdJQ0J5WlhSMWNtNGdYQ0piYjJKcVpXTjBJRWRsYm1WeVlYUnZjbDFjSWp0Y2JpQWdmVHRjYmx4dUlDQm1kVzVqZEdsdmJpQndkWE5vVkhKNVJXNTBjbmtvYkc5amN5a2dlMXh1SUNBZ0lIWmhjaUJsYm5SeWVTQTlJSHNnZEhKNVRHOWpPaUJzYjJOeld6QmRJSDA3WEc1Y2JpQWdJQ0JwWmlBb01TQnBiaUJzYjJOektTQjdYRzRnSUNBZ0lDQmxiblJ5ZVM1allYUmphRXh2WXlBOUlHeHZZM05iTVYwN1hHNGdJQ0FnZlZ4dVhHNGdJQ0FnYVdZZ0tESWdhVzRnYkc5amN5a2dlMXh1SUNBZ0lDQWdaVzUwY25rdVptbHVZV3hzZVV4dll5QTlJR3h2WTNOYk1sMDdYRzRnSUNBZ0lDQmxiblJ5ZVM1aFpuUmxja3h2WXlBOUlHeHZZM05iTTEwN1hHNGdJQ0FnZlZ4dVhHNGdJQ0FnZEdocGN5NTBjbmxGYm5SeWFXVnpMbkIxYzJnb1pXNTBjbmtwTzF4dUlDQjlYRzVjYmlBZ1puVnVZM1JwYjI0Z2NtVnpaWFJVY25sRmJuUnllU2hsYm5SeWVTa2dlMXh1SUNBZ0lIWmhjaUJ5WldOdmNtUWdQU0JsYm5SeWVTNWpiMjF3YkdWMGFXOXVJSHg4SUh0OU8xeHVJQ0FnSUhKbFkyOXlaQzUwZVhCbElEMGdYQ0p1YjNKdFlXeGNJanRjYmlBZ0lDQmtaV3hsZEdVZ2NtVmpiM0prTG1GeVp6dGNiaUFnSUNCbGJuUnllUzVqYjIxd2JHVjBhVzl1SUQwZ2NtVmpiM0prTzF4dUlDQjlYRzVjYmlBZ1puVnVZM1JwYjI0Z1EyOXVkR1Y0ZENoMGNubE1iMk56VEdsemRDa2dlMXh1SUNBZ0lDOHZJRlJvWlNCeWIyOTBJR1Z1ZEhKNUlHOWlhbVZqZENBb1pXWm1aV04wYVhabGJIa2dZU0IwY25rZ2MzUmhkR1Z0Wlc1MElIZHBkR2h2ZFhRZ1lTQmpZWFJqYUZ4dUlDQWdJQzh2SUc5eUlHRWdabWx1WVd4c2VTQmliRzlqYXlrZ1oybDJaWE1nZFhNZ1lTQndiR0ZqWlNCMGJ5QnpkRzl5WlNCMllXeDFaWE1nZEdoeWIzZHVJR1p5YjIxY2JpQWdJQ0F2THlCc2IyTmhkR2x2Ym5NZ2QyaGxjbVVnZEdobGNtVWdhWE1nYm04Z1pXNWpiRzl6YVc1bklIUnllU0J6ZEdGMFpXMWxiblF1WEc0Z0lDQWdkR2hwY3k1MGNubEZiblJ5YVdWeklEMGdXM3NnZEhKNVRHOWpPaUJjSW5KdmIzUmNJaUI5WFR0Y2JpQWdJQ0IwY25sTWIyTnpUR2x6ZEM1bWIzSkZZV05vS0hCMWMyaFVjbmxGYm5SeWVTd2dkR2hwY3lrN1hHNGdJQ0FnZEdocGN5NXlaWE5sZENoMGNuVmxLVHRjYmlBZ2ZWeHVYRzRnSUdWNGNHOXlkSE11YTJWNWN5QTlJR1oxYm1OMGFXOXVLRzlpYW1WamRDa2dlMXh1SUNBZ0lIWmhjaUJyWlhseklEMGdXMTA3WEc0Z0lDQWdabTl5SUNoMllYSWdhMlY1SUdsdUlHOWlhbVZqZENrZ2UxeHVJQ0FnSUNBZ2EyVjVjeTV3ZFhOb0tHdGxlU2s3WEc0Z0lDQWdmVnh1SUNBZ0lHdGxlWE11Y21WMlpYSnpaU2dwTzF4dVhHNGdJQ0FnTHk4Z1VtRjBhR1Z5SUhSb1lXNGdjbVYwZFhKdWFXNW5JR0Z1SUc5aWFtVmpkQ0IzYVhSb0lHRWdibVY0ZENCdFpYUm9iMlFzSUhkbElHdGxaWEJjYmlBZ0lDQXZMeUIwYUdsdVozTWdjMmx0Y0d4bElHRnVaQ0J5WlhSMWNtNGdkR2hsSUc1bGVIUWdablZ1WTNScGIyNGdhWFJ6Wld4bUxseHVJQ0FnSUhKbGRIVnliaUJtZFc1amRHbHZiaUJ1WlhoMEtDa2dlMXh1SUNBZ0lDQWdkMmhwYkdVZ0tHdGxlWE11YkdWdVozUm9LU0I3WEc0Z0lDQWdJQ0FnSUhaaGNpQnJaWGtnUFNCclpYbHpMbkJ2Y0NncE8xeHVJQ0FnSUNBZ0lDQnBaaUFvYTJWNUlHbHVJRzlpYW1WamRDa2dlMXh1SUNBZ0lDQWdJQ0FnSUc1bGVIUXVkbUZzZFdVZ1BTQnJaWGs3WEc0Z0lDQWdJQ0FnSUNBZ2JtVjRkQzVrYjI1bElEMGdabUZzYzJVN1hHNGdJQ0FnSUNBZ0lDQWdjbVYwZFhKdUlHNWxlSFE3WEc0Z0lDQWdJQ0FnSUgxY2JpQWdJQ0FnSUgxY2JseHVJQ0FnSUNBZ0x5OGdWRzhnWVhadmFXUWdZM0psWVhScGJtY2dZVzRnWVdSa2FYUnBiMjVoYkNCdlltcGxZM1FzSUhkbElHcDFjM1FnYUdGdVp5QjBhR1VnTG5aaGJIVmxYRzRnSUNBZ0lDQXZMeUJoYm1RZ0xtUnZibVVnY0hKdmNHVnlkR2xsY3lCdlptWWdkR2hsSUc1bGVIUWdablZ1WTNScGIyNGdiMkpxWldOMElHbDBjMlZzWmk0Z1ZHaHBjMXh1SUNBZ0lDQWdMeThnWVd4emJ5Qmxibk4xY21WeklIUm9ZWFFnZEdobElHMXBibWxtYVdWeUlIZHBiR3dnYm05MElHRnViMjU1YldsNlpTQjBhR1VnWm5WdVkzUnBiMjR1WEc0Z0lDQWdJQ0J1WlhoMExtUnZibVVnUFNCMGNuVmxPMXh1SUNBZ0lDQWdjbVYwZFhKdUlHNWxlSFE3WEc0Z0lDQWdmVHRjYmlBZ2ZUdGNibHh1SUNCbWRXNWpkR2x2YmlCMllXeDFaWE1vYVhSbGNtRmliR1VwSUh0Y2JpQWdJQ0JwWmlBb2FYUmxjbUZpYkdVcElIdGNiaUFnSUNBZ0lIWmhjaUJwZEdWeVlYUnZjazFsZEdodlpDQTlJR2wwWlhKaFlteGxXMmwwWlhKaGRHOXlVM2x0WW05c1hUdGNiaUFnSUNBZ0lHbG1JQ2hwZEdWeVlYUnZjazFsZEdodlpDa2dlMXh1SUNBZ0lDQWdJQ0J5WlhSMWNtNGdhWFJsY21GMGIzSk5aWFJvYjJRdVkyRnNiQ2hwZEdWeVlXSnNaU2s3WEc0Z0lDQWdJQ0I5WEc1Y2JpQWdJQ0FnSUdsbUlDaDBlWEJsYjJZZ2FYUmxjbUZpYkdVdWJtVjRkQ0E5UFQwZ1hDSm1kVzVqZEdsdmJsd2lLU0I3WEc0Z0lDQWdJQ0FnSUhKbGRIVnliaUJwZEdWeVlXSnNaVHRjYmlBZ0lDQWdJSDFjYmx4dUlDQWdJQ0FnYVdZZ0tDRnBjMDVoVGlocGRHVnlZV0pzWlM1c1pXNW5kR2dwS1NCN1hHNGdJQ0FnSUNBZ0lIWmhjaUJwSUQwZ0xURXNJRzVsZUhRZ1BTQm1kVzVqZEdsdmJpQnVaWGgwS0NrZ2UxeHVJQ0FnSUNBZ0lDQWdJSGRvYVd4bElDZ3JLMmtnUENCcGRHVnlZV0pzWlM1c1pXNW5kR2dwSUh0Y2JpQWdJQ0FnSUNBZ0lDQWdJR2xtSUNob1lYTlBkMjR1WTJGc2JDaHBkR1Z5WVdKc1pTd2dhU2twSUh0Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnYm1WNGRDNTJZV3gxWlNBOUlHbDBaWEpoWW14bFcybGRPMXh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQnVaWGgwTG1SdmJtVWdQU0JtWVd4elpUdGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ2NtVjBkWEp1SUc1bGVIUTdYRzRnSUNBZ0lDQWdJQ0FnSUNCOVhHNGdJQ0FnSUNBZ0lDQWdmVnh1WEc0Z0lDQWdJQ0FnSUNBZ2JtVjRkQzUyWVd4MVpTQTlJSFZ1WkdWbWFXNWxaRHRjYmlBZ0lDQWdJQ0FnSUNCdVpYaDBMbVJ2Ym1VZ1BTQjBjblZsTzF4dVhHNGdJQ0FnSUNBZ0lDQWdjbVYwZFhKdUlHNWxlSFE3WEc0Z0lDQWdJQ0FnSUgwN1hHNWNiaUFnSUNBZ0lDQWdjbVYwZFhKdUlHNWxlSFF1Ym1WNGRDQTlJRzVsZUhRN1hHNGdJQ0FnSUNCOVhHNGdJQ0FnZlZ4dVhHNGdJQ0FnTHk4Z1VtVjBkWEp1SUdGdUlHbDBaWEpoZEc5eUlIZHBkR2dnYm04Z2RtRnNkV1Z6TGx4dUlDQWdJSEpsZEhWeWJpQjdJRzVsZUhRNklHUnZibVZTWlhOMWJIUWdmVHRjYmlBZ2ZWeHVJQ0JsZUhCdmNuUnpMblpoYkhWbGN5QTlJSFpoYkhWbGN6dGNibHh1SUNCbWRXNWpkR2x2YmlCa2IyNWxVbVZ6ZFd4MEtDa2dlMXh1SUNBZ0lISmxkSFZ5YmlCN0lIWmhiSFZsT2lCMWJtUmxabWx1WldRc0lHUnZibVU2SUhSeWRXVWdmVHRjYmlBZ2ZWeHVYRzRnSUVOdmJuUmxlSFF1Y0hKdmRHOTBlWEJsSUQwZ2UxeHVJQ0FnSUdOdmJuTjBjblZqZEc5eU9pQkRiMjUwWlhoMExGeHVYRzRnSUNBZ2NtVnpaWFE2SUdaMWJtTjBhVzl1S0hOcmFYQlVaVzF3VW1WelpYUXBJSHRjYmlBZ0lDQWdJSFJvYVhNdWNISmxkaUE5SURBN1hHNGdJQ0FnSUNCMGFHbHpMbTVsZUhRZ1BTQXdPMXh1SUNBZ0lDQWdMeThnVW1WelpYUjBhVzVuSUdOdmJuUmxlSFF1WDNObGJuUWdabTl5SUd4bFoyRmplU0J6ZFhCd2IzSjBJRzltSUVKaFltVnNKM05jYmlBZ0lDQWdJQzh2SUdaMWJtTjBhVzl1TG5ObGJuUWdhVzF3YkdWdFpXNTBZWFJwYjI0dVhHNGdJQ0FnSUNCMGFHbHpMbk5sYm5RZ1BTQjBhR2x6TGw5elpXNTBJRDBnZFc1a1pXWnBibVZrTzF4dUlDQWdJQ0FnZEdocGN5NWtiMjVsSUQwZ1ptRnNjMlU3WEc0Z0lDQWdJQ0IwYUdsekxtUmxiR1ZuWVhSbElEMGdiblZzYkR0Y2JseHVJQ0FnSUNBZ2RHaHBjeTV0WlhSb2IyUWdQU0JjSW01bGVIUmNJanRjYmlBZ0lDQWdJSFJvYVhNdVlYSm5JRDBnZFc1a1pXWnBibVZrTzF4dVhHNGdJQ0FnSUNCMGFHbHpMblJ5ZVVWdWRISnBaWE11Wm05eVJXRmphQ2h5WlhObGRGUnllVVZ1ZEhKNUtUdGNibHh1SUNBZ0lDQWdhV1lnS0NGemEybHdWR1Z0Y0ZKbGMyVjBLU0I3WEc0Z0lDQWdJQ0FnSUdadmNpQW9kbUZ5SUc1aGJXVWdhVzRnZEdocGN5a2dlMXh1SUNBZ0lDQWdJQ0FnSUM4dklFNXZkQ0J6ZFhKbElHRmliM1YwSUhSb1pTQnZjSFJwYldGc0lHOXlaR1Z5SUc5bUlIUm9aWE5sSUdOdmJtUnBkR2x2Ym5NNlhHNGdJQ0FnSUNBZ0lDQWdhV1lnS0c1aGJXVXVZMmhoY2tGMEtEQXBJRDA5UFNCY0luUmNJaUFtSmx4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0JvWVhOUGQyNHVZMkZzYkNoMGFHbHpMQ0J1WVcxbEtTQW1KbHh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWhhWE5PWVU0b0syNWhiV1V1YzJ4cFkyVW9NU2twS1NCN1hHNGdJQ0FnSUNBZ0lDQWdJQ0IwYUdselcyNWhiV1ZkSUQwZ2RXNWtaV1pwYm1Wa08xeHVJQ0FnSUNBZ0lDQWdJSDFjYmlBZ0lDQWdJQ0FnZlZ4dUlDQWdJQ0FnZlZ4dUlDQWdJSDBzWEc1Y2JpQWdJQ0J6ZEc5d09pQm1kVzVqZEdsdmJpZ3BJSHRjYmlBZ0lDQWdJSFJvYVhNdVpHOXVaU0E5SUhSeWRXVTdYRzVjYmlBZ0lDQWdJSFpoY2lCeWIyOTBSVzUwY25rZ1BTQjBhR2x6TG5SeWVVVnVkSEpwWlhOYk1GMDdYRzRnSUNBZ0lDQjJZWElnY205dmRGSmxZMjl5WkNBOUlISnZiM1JGYm5SeWVTNWpiMjF3YkdWMGFXOXVPMXh1SUNBZ0lDQWdhV1lnS0hKdmIzUlNaV052Y21RdWRIbHdaU0E5UFQwZ1hDSjBhSEp2ZDF3aUtTQjdYRzRnSUNBZ0lDQWdJSFJvY205M0lISnZiM1JTWldOdmNtUXVZWEpuTzF4dUlDQWdJQ0FnZlZ4dVhHNGdJQ0FnSUNCeVpYUjFjbTRnZEdocGN5NXlkbUZzTzF4dUlDQWdJSDBzWEc1Y2JpQWdJQ0JrYVhOd1lYUmphRVY0WTJWd2RHbHZiam9nWm5WdVkzUnBiMjRvWlhoalpYQjBhVzl1S1NCN1hHNGdJQ0FnSUNCcFppQW9kR2hwY3k1a2IyNWxLU0I3WEc0Z0lDQWdJQ0FnSUhSb2NtOTNJR1Y0WTJWd2RHbHZianRjYmlBZ0lDQWdJSDFjYmx4dUlDQWdJQ0FnZG1GeUlHTnZiblJsZUhRZ1BTQjBhR2x6TzF4dUlDQWdJQ0FnWm5WdVkzUnBiMjRnYUdGdVpHeGxLR3h2WXl3Z1kyRjFaMmgwS1NCN1hHNGdJQ0FnSUNBZ0lISmxZMjl5WkM1MGVYQmxJRDBnWENKMGFISnZkMXdpTzF4dUlDQWdJQ0FnSUNCeVpXTnZjbVF1WVhKbklEMGdaWGhqWlhCMGFXOXVPMXh1SUNBZ0lDQWdJQ0JqYjI1MFpYaDBMbTVsZUhRZ1BTQnNiMk03WEc1Y2JpQWdJQ0FnSUNBZ2FXWWdLR05oZFdkb2RDa2dlMXh1SUNBZ0lDQWdJQ0FnSUM4dklFbG1JSFJvWlNCa2FYTndZWFJqYUdWa0lHVjRZMlZ3ZEdsdmJpQjNZWE1nWTJGMVoyaDBJR0o1SUdFZ1kyRjBZMmdnWW14dlkyc3NYRzRnSUNBZ0lDQWdJQ0FnTHk4Z2RHaGxiaUJzWlhRZ2RHaGhkQ0JqWVhSamFDQmliRzlqYXlCb1lXNWtiR1VnZEdobElHVjRZMlZ3ZEdsdmJpQnViM0p0WVd4c2VTNWNiaUFnSUNBZ0lDQWdJQ0JqYjI1MFpYaDBMbTFsZEdodlpDQTlJRndpYm1WNGRGd2lPMXh1SUNBZ0lDQWdJQ0FnSUdOdmJuUmxlSFF1WVhKbklEMGdkVzVrWldacGJtVmtPMXh1SUNBZ0lDQWdJQ0I5WEc1Y2JpQWdJQ0FnSUNBZ2NtVjBkWEp1SUNFaElHTmhkV2RvZER0Y2JpQWdJQ0FnSUgxY2JseHVJQ0FnSUNBZ1ptOXlJQ2gyWVhJZ2FTQTlJSFJvYVhNdWRISjVSVzUwY21sbGN5NXNaVzVuZEdnZ0xTQXhPeUJwSUQ0OUlEQTdJQzB0YVNrZ2UxeHVJQ0FnSUNBZ0lDQjJZWElnWlc1MGNua2dQU0IwYUdsekxuUnllVVZ1ZEhKcFpYTmJhVjA3WEc0Z0lDQWdJQ0FnSUhaaGNpQnlaV052Y21RZ1BTQmxiblJ5ZVM1amIyMXdiR1YwYVc5dU8xeHVYRzRnSUNBZ0lDQWdJR2xtSUNobGJuUnllUzUwY25sTWIyTWdQVDA5SUZ3aWNtOXZkRndpS1NCN1hHNGdJQ0FnSUNBZ0lDQWdMeThnUlhoalpYQjBhVzl1SUhSb2NtOTNiaUJ2ZFhSemFXUmxJRzltSUdGdWVTQjBjbmtnWW14dlkyc2dkR2hoZENCamIzVnNaQ0JvWVc1a2JHVmNiaUFnSUNBZ0lDQWdJQ0F2THlCcGRDd2djMjhnYzJWMElIUm9aU0JqYjIxd2JHVjBhVzl1SUhaaGJIVmxJRzltSUhSb1pTQmxiblJwY21VZ1puVnVZM1JwYjI0Z2RHOWNiaUFnSUNBZ0lDQWdJQ0F2THlCMGFISnZkeUIwYUdVZ1pYaGpaWEIwYVc5dUxseHVJQ0FnSUNBZ0lDQWdJSEpsZEhWeWJpQm9ZVzVrYkdVb1hDSmxibVJjSWlrN1hHNGdJQ0FnSUNBZ0lIMWNibHh1SUNBZ0lDQWdJQ0JwWmlBb1pXNTBjbmt1ZEhKNVRHOWpJRHc5SUhSb2FYTXVjSEpsZGlrZ2UxeHVJQ0FnSUNBZ0lDQWdJSFpoY2lCb1lYTkRZWFJqYUNBOUlHaGhjMDkzYmk1allXeHNLR1Z1ZEhKNUxDQmNJbU5oZEdOb1RHOWpYQ0lwTzF4dUlDQWdJQ0FnSUNBZ0lIWmhjaUJvWVhOR2FXNWhiR3g1SUQwZ2FHRnpUM2R1TG1OaGJHd29aVzUwY25rc0lGd2labWx1WVd4c2VVeHZZMXdpS1R0Y2JseHVJQ0FnSUNBZ0lDQWdJR2xtSUNob1lYTkRZWFJqYUNBbUppQm9ZWE5HYVc1aGJHeDVLU0I3WEc0Z0lDQWdJQ0FnSUNBZ0lDQnBaaUFvZEdocGN5NXdjbVYySUR3Z1pXNTBjbmt1WTJGMFkyaE1iMk1wSUh0Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnY21WMGRYSnVJR2hoYm1Sc1pTaGxiblJ5ZVM1allYUmphRXh2WXl3Z2RISjFaU2s3WEc0Z0lDQWdJQ0FnSUNBZ0lDQjlJR1ZzYzJVZ2FXWWdLSFJvYVhNdWNISmxkaUE4SUdWdWRISjVMbVpwYm1Gc2JIbE1iMk1wSUh0Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnY21WMGRYSnVJR2hoYm1Sc1pTaGxiblJ5ZVM1bWFXNWhiR3g1VEc5aktUdGNiaUFnSUNBZ0lDQWdJQ0FnSUgxY2JseHVJQ0FnSUNBZ0lDQWdJSDBnWld4elpTQnBaaUFvYUdGelEyRjBZMmdwSUh0Y2JpQWdJQ0FnSUNBZ0lDQWdJR2xtSUNoMGFHbHpMbkJ5WlhZZ1BDQmxiblJ5ZVM1allYUmphRXh2WXlrZ2UxeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNCeVpYUjFjbTRnYUdGdVpHeGxLR1Z1ZEhKNUxtTmhkR05vVEc5akxDQjBjblZsS1R0Y2JpQWdJQ0FnSUNBZ0lDQWdJSDFjYmx4dUlDQWdJQ0FnSUNBZ0lIMGdaV3h6WlNCcFppQW9hR0Z6Um1sdVlXeHNlU2tnZTF4dUlDQWdJQ0FnSUNBZ0lDQWdhV1lnS0hSb2FYTXVjSEpsZGlBOElHVnVkSEo1TG1acGJtRnNiSGxNYjJNcElIdGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ2NtVjBkWEp1SUdoaGJtUnNaU2hsYm5SeWVTNW1hVzVoYkd4NVRHOWpLVHRjYmlBZ0lDQWdJQ0FnSUNBZ0lIMWNibHh1SUNBZ0lDQWdJQ0FnSUgwZ1pXeHpaU0I3WEc0Z0lDQWdJQ0FnSUNBZ0lDQjBhSEp2ZHlCdVpYY2dSWEp5YjNJb1hDSjBjbmtnYzNSaGRHVnRaVzUwSUhkcGRHaHZkWFFnWTJGMFkyZ2diM0lnWm1sdVlXeHNlVndpS1R0Y2JpQWdJQ0FnSUNBZ0lDQjlYRzRnSUNBZ0lDQWdJSDFjYmlBZ0lDQWdJSDFjYmlBZ0lDQjlMRnh1WEc0Z0lDQWdZV0p5ZFhCME9pQm1kVzVqZEdsdmJpaDBlWEJsTENCaGNtY3BJSHRjYmlBZ0lDQWdJR1p2Y2lBb2RtRnlJR2tnUFNCMGFHbHpMblJ5ZVVWdWRISnBaWE11YkdWdVozUm9JQzBnTVRzZ2FTQStQU0F3T3lBdExXa3BJSHRjYmlBZ0lDQWdJQ0FnZG1GeUlHVnVkSEo1SUQwZ2RHaHBjeTUwY25sRmJuUnlhV1Z6VzJsZE8xeHVJQ0FnSUNBZ0lDQnBaaUFvWlc1MGNua3VkSEo1VEc5aklEdzlJSFJvYVhNdWNISmxkaUFtSmx4dUlDQWdJQ0FnSUNBZ0lDQWdhR0Z6VDNkdUxtTmhiR3dvWlc1MGNua3NJRndpWm1sdVlXeHNlVXh2WTF3aUtTQW1KbHh1SUNBZ0lDQWdJQ0FnSUNBZ2RHaHBjeTV3Y21WMklEd2daVzUwY25rdVptbHVZV3hzZVV4dll5a2dlMXh1SUNBZ0lDQWdJQ0FnSUhaaGNpQm1hVzVoYkd4NVJXNTBjbmtnUFNCbGJuUnllVHRjYmlBZ0lDQWdJQ0FnSUNCaWNtVmhhenRjYmlBZ0lDQWdJQ0FnZlZ4dUlDQWdJQ0FnZlZ4dVhHNGdJQ0FnSUNCcFppQW9abWx1WVd4c2VVVnVkSEo1SUNZbVhHNGdJQ0FnSUNBZ0lDQWdLSFI1Y0dVZ1BUMDlJRndpWW5KbFlXdGNJaUI4ZkZ4dUlDQWdJQ0FnSUNBZ0lDQjBlWEJsSUQwOVBTQmNJbU52Ym5ScGJuVmxYQ0lwSUNZbVhHNGdJQ0FnSUNBZ0lDQWdabWx1WVd4c2VVVnVkSEo1TG5SeWVVeHZZeUE4UFNCaGNtY2dKaVpjYmlBZ0lDQWdJQ0FnSUNCaGNtY2dQRDBnWm1sdVlXeHNlVVZ1ZEhKNUxtWnBibUZzYkhsTWIyTXBJSHRjYmlBZ0lDQWdJQ0FnTHk4Z1NXZHViM0psSUhSb1pTQm1hVzVoYkd4NUlHVnVkSEo1SUdsbUlHTnZiblJ5YjJ3Z2FYTWdibTkwSUdwMWJYQnBibWNnZEc4Z1lWeHVJQ0FnSUNBZ0lDQXZMeUJzYjJOaGRHbHZiaUJ2ZFhSemFXUmxJSFJvWlNCMGNua3ZZMkYwWTJnZ1lteHZZMnN1WEc0Z0lDQWdJQ0FnSUdacGJtRnNiSGxGYm5SeWVTQTlJRzUxYkd3N1hHNGdJQ0FnSUNCOVhHNWNiaUFnSUNBZ0lIWmhjaUJ5WldOdmNtUWdQU0JtYVc1aGJHeDVSVzUwY25rZ1B5Qm1hVzVoYkd4NVJXNTBjbmt1WTI5dGNHeGxkR2x2YmlBNklIdDlPMXh1SUNBZ0lDQWdjbVZqYjNKa0xuUjVjR1VnUFNCMGVYQmxPMXh1SUNBZ0lDQWdjbVZqYjNKa0xtRnlaeUE5SUdGeVp6dGNibHh1SUNBZ0lDQWdhV1lnS0dacGJtRnNiSGxGYm5SeWVTa2dlMXh1SUNBZ0lDQWdJQ0IwYUdsekxtMWxkR2h2WkNBOUlGd2libVY0ZEZ3aU8xeHVJQ0FnSUNBZ0lDQjBhR2x6TG01bGVIUWdQU0JtYVc1aGJHeDVSVzUwY25rdVptbHVZV3hzZVV4dll6dGNiaUFnSUNBZ0lDQWdjbVYwZFhKdUlFTnZiblJwYm5WbFUyVnVkR2x1Wld3N1hHNGdJQ0FnSUNCOVhHNWNiaUFnSUNBZ0lISmxkSFZ5YmlCMGFHbHpMbU52YlhCc1pYUmxLSEpsWTI5eVpDazdYRzRnSUNBZ2ZTeGNibHh1SUNBZ0lHTnZiWEJzWlhSbE9pQm1kVzVqZEdsdmJpaHlaV052Y21Rc0lHRm1kR1Z5VEc5aktTQjdYRzRnSUNBZ0lDQnBaaUFvY21WamIzSmtMblI1Y0dVZ1BUMDlJRndpZEdoeWIzZGNJaWtnZTF4dUlDQWdJQ0FnSUNCMGFISnZkeUJ5WldOdmNtUXVZWEpuTzF4dUlDQWdJQ0FnZlZ4dVhHNGdJQ0FnSUNCcFppQW9jbVZqYjNKa0xuUjVjR1VnUFQwOUlGd2lZbkpsWVd0Y0lpQjhmRnh1SUNBZ0lDQWdJQ0FnSUhKbFkyOXlaQzUwZVhCbElEMDlQU0JjSW1OdmJuUnBiblZsWENJcElIdGNiaUFnSUNBZ0lDQWdkR2hwY3k1dVpYaDBJRDBnY21WamIzSmtMbUZ5Wnp0Y2JpQWdJQ0FnSUgwZ1pXeHpaU0JwWmlBb2NtVmpiM0prTG5SNWNHVWdQVDA5SUZ3aWNtVjBkWEp1WENJcElIdGNiaUFnSUNBZ0lDQWdkR2hwY3k1eWRtRnNJRDBnZEdocGN5NWhjbWNnUFNCeVpXTnZjbVF1WVhKbk8xeHVJQ0FnSUNBZ0lDQjBhR2x6TG0xbGRHaHZaQ0E5SUZ3aWNtVjBkWEp1WENJN1hHNGdJQ0FnSUNBZ0lIUm9hWE11Ym1WNGRDQTlJRndpWlc1a1hDSTdYRzRnSUNBZ0lDQjlJR1ZzYzJVZ2FXWWdLSEpsWTI5eVpDNTBlWEJsSUQwOVBTQmNJbTV2Y20xaGJGd2lJQ1ltSUdGbWRHVnlURzlqS1NCN1hHNGdJQ0FnSUNBZ0lIUm9hWE11Ym1WNGRDQTlJR0ZtZEdWeVRHOWpPMXh1SUNBZ0lDQWdmVnh1WEc0Z0lDQWdJQ0J5WlhSMWNtNGdRMjl1ZEdsdWRXVlRaVzUwYVc1bGJEdGNiaUFnSUNCOUxGeHVYRzRnSUNBZ1ptbHVhWE5vT2lCbWRXNWpkR2x2YmlobWFXNWhiR3g1VEc5aktTQjdYRzRnSUNBZ0lDQm1iM0lnS0haaGNpQnBJRDBnZEdocGN5NTBjbmxGYm5SeWFXVnpMbXhsYm1kMGFDQXRJREU3SUdrZ1BqMGdNRHNnTFMxcEtTQjdYRzRnSUNBZ0lDQWdJSFpoY2lCbGJuUnllU0E5SUhSb2FYTXVkSEo1Ulc1MGNtbGxjMXRwWFR0Y2JpQWdJQ0FnSUNBZ2FXWWdLR1Z1ZEhKNUxtWnBibUZzYkhsTWIyTWdQVDA5SUdacGJtRnNiSGxNYjJNcElIdGNiaUFnSUNBZ0lDQWdJQ0IwYUdsekxtTnZiWEJzWlhSbEtHVnVkSEo1TG1OdmJYQnNaWFJwYjI0c0lHVnVkSEo1TG1GbWRHVnlURzlqS1R0Y2JpQWdJQ0FnSUNBZ0lDQnlaWE5sZEZSeWVVVnVkSEo1S0dWdWRISjVLVHRjYmlBZ0lDQWdJQ0FnSUNCeVpYUjFjbTRnUTI5dWRHbHVkV1ZUWlc1MGFXNWxiRHRjYmlBZ0lDQWdJQ0FnZlZ4dUlDQWdJQ0FnZlZ4dUlDQWdJSDBzWEc1Y2JpQWdJQ0JjSW1OaGRHTm9YQ0k2SUdaMWJtTjBhVzl1S0hSeWVVeHZZeWtnZTF4dUlDQWdJQ0FnWm05eUlDaDJZWElnYVNBOUlIUm9hWE11ZEhKNVJXNTBjbWxsY3k1c1pXNW5kR2dnTFNBeE95QnBJRDQ5SURBN0lDMHRhU2tnZTF4dUlDQWdJQ0FnSUNCMllYSWdaVzUwY25rZ1BTQjBhR2x6TG5SeWVVVnVkSEpwWlhOYmFWMDdYRzRnSUNBZ0lDQWdJR2xtSUNobGJuUnllUzUwY25sTWIyTWdQVDA5SUhSeWVVeHZZeWtnZTF4dUlDQWdJQ0FnSUNBZ0lIWmhjaUJ5WldOdmNtUWdQU0JsYm5SeWVTNWpiMjF3YkdWMGFXOXVPMXh1SUNBZ0lDQWdJQ0FnSUdsbUlDaHlaV052Y21RdWRIbHdaU0E5UFQwZ1hDSjBhSEp2ZDF3aUtTQjdYRzRnSUNBZ0lDQWdJQ0FnSUNCMllYSWdkR2h5YjNkdUlEMGdjbVZqYjNKa0xtRnlaenRjYmlBZ0lDQWdJQ0FnSUNBZ0lISmxjMlYwVkhKNVJXNTBjbmtvWlc1MGNua3BPMXh1SUNBZ0lDQWdJQ0FnSUgxY2JpQWdJQ0FnSUNBZ0lDQnlaWFIxY200Z2RHaHliM2R1TzF4dUlDQWdJQ0FnSUNCOVhHNGdJQ0FnSUNCOVhHNWNiaUFnSUNBZ0lDOHZJRlJvWlNCamIyNTBaWGgwTG1OaGRHTm9JRzFsZEdodlpDQnRkWE4wSUc5dWJIa2dZbVVnWTJGc2JHVmtJSGRwZEdnZ1lTQnNiMk5oZEdsdmJseHVJQ0FnSUNBZ0x5OGdZWEpuZFcxbGJuUWdkR2hoZENCamIzSnlaWE53YjI1a2N5QjBieUJoSUd0dWIzZHVJR05oZEdOb0lHSnNiMk5yTGx4dUlDQWdJQ0FnZEdoeWIzY2dibVYzSUVWeWNtOXlLRndpYVd4c1pXZGhiQ0JqWVhSamFDQmhkSFJsYlhCMFhDSXBPMXh1SUNBZ0lIMHNYRzVjYmlBZ0lDQmtaV3hsWjJGMFpWbHBaV3hrT2lCbWRXNWpkR2x2YmlocGRHVnlZV0pzWlN3Z2NtVnpkV3gwVG1GdFpTd2dibVY0ZEV4dll5a2dlMXh1SUNBZ0lDQWdkR2hwY3k1a1pXeGxaMkYwWlNBOUlIdGNiaUFnSUNBZ0lDQWdhWFJsY21GMGIzSTZJSFpoYkhWbGN5aHBkR1Z5WVdKc1pTa3NYRzRnSUNBZ0lDQWdJSEpsYzNWc2RFNWhiV1U2SUhKbGMzVnNkRTVoYldVc1hHNGdJQ0FnSUNBZ0lHNWxlSFJNYjJNNklHNWxlSFJNYjJOY2JpQWdJQ0FnSUgwN1hHNWNiaUFnSUNBZ0lHbG1JQ2gwYUdsekxtMWxkR2h2WkNBOVBUMGdYQ0p1WlhoMFhDSXBJSHRjYmlBZ0lDQWdJQ0FnTHk4Z1JHVnNhV0psY21GMFpXeDVJR1p2Y21kbGRDQjBhR1VnYkdGemRDQnpaVzUwSUhaaGJIVmxJSE52SUhSb1lYUWdkMlVnWkc5dUozUmNiaUFnSUNBZ0lDQWdMeThnWVdOamFXUmxiblJoYkd4NUlIQmhjM01nYVhRZ2IyNGdkRzhnZEdobElHUmxiR1ZuWVhSbExseHVJQ0FnSUNBZ0lDQjBhR2x6TG1GeVp5QTlJSFZ1WkdWbWFXNWxaRHRjYmlBZ0lDQWdJSDFjYmx4dUlDQWdJQ0FnY21WMGRYSnVJRU52Ym5ScGJuVmxVMlZ1ZEdsdVpXdzdYRzRnSUNBZ2ZWeHVJQ0I5TzF4dVhHNGdJQzh2SUZKbFoyRnlaR3hsYzNNZ2IyWWdkMmhsZEdobGNpQjBhR2x6SUhOamNtbHdkQ0JwY3lCbGVHVmpkWFJwYm1jZ1lYTWdZU0JEYjIxdGIyNUtVeUJ0YjJSMWJHVmNiaUFnTHk4Z2IzSWdibTkwTENCeVpYUjFjbTRnZEdobElISjFiblJwYldVZ2IySnFaV04wSUhOdklIUm9ZWFFnZDJVZ1kyRnVJR1JsWTJ4aGNtVWdkR2hsSUhaaGNtbGhZbXhsWEc0Z0lDOHZJSEpsWjJWdVpYSmhkRzl5VW5WdWRHbHRaU0JwYmlCMGFHVWdiM1YwWlhJZ2MyTnZjR1VzSUhkb2FXTm9JR0ZzYkc5M2N5QjBhR2x6SUcxdlpIVnNaU0IwYnlCaVpWeHVJQ0F2THlCcGJtcGxZM1JsWkNCbFlYTnBiSGtnWW5rZ1lHSnBiaTl5WldkbGJtVnlZWFJ2Y2lBdExXbHVZMngxWkdVdGNuVnVkR2x0WlNCelkzSnBjSFF1YW5OZ0xseHVJQ0J5WlhSMWNtNGdaWGh3YjNKMGN6dGNibHh1ZlNoY2JpQWdMeThnU1dZZ2RHaHBjeUJ6WTNKcGNIUWdhWE1nWlhobFkzVjBhVzVuSUdGeklHRWdRMjl0Ylc5dVNsTWdiVzlrZFd4bExDQjFjMlVnYlc5a2RXeGxMbVY0Y0c5eWRITmNiaUFnTHk4Z1lYTWdkR2hsSUhKbFoyVnVaWEpoZEc5eVVuVnVkR2x0WlNCdVlXMWxjM0JoWTJVdUlFOTBhR1Z5ZDJselpTQmpjbVZoZEdVZ1lTQnVaWGNnWlcxd2RIbGNiaUFnTHk4Z2IySnFaV04wTGlCRmFYUm9aWElnZDJGNUxDQjBhR1VnY21WemRXeDBhVzVuSUc5aWFtVmpkQ0IzYVd4c0lHSmxJSFZ6WldRZ2RHOGdhVzVwZEdsaGJHbDZaVnh1SUNBdkx5QjBhR1VnY21WblpXNWxjbUYwYjNKU2RXNTBhVzFsSUhaaGNtbGhZbXhsSUdGMElIUm9aU0IwYjNBZ2IyWWdkR2hwY3lCbWFXeGxMbHh1SUNCMGVYQmxiMllnYlc5a2RXeGxJRDA5UFNCY0ltOWlhbVZqZEZ3aUlEOGdiVzlrZFd4bExtVjRjRzl5ZEhNZ09pQjdmVnh1S1NrN1hHNWNiblJ5ZVNCN1hHNGdJSEpsWjJWdVpYSmhkRzl5VW5WdWRHbHRaU0E5SUhKMWJuUnBiV1U3WEc1OUlHTmhkR05vSUNoaFkyTnBaR1Z1ZEdGc1UzUnlhV04wVFc5a1pTa2dlMXh1SUNBdkx5QlVhR2x6SUcxdlpIVnNaU0J6YUc5MWJHUWdibTkwSUdKbElISjFibTVwYm1jZ2FXNGdjM1J5YVdOMElHMXZaR1VzSUhOdklIUm9aU0JoWW05MlpWeHVJQ0F2THlCaGMzTnBaMjV0Wlc1MElITm9iM1ZzWkNCaGJIZGhlWE1nZDI5eWF5QjFibXhsYzNNZ2MyOXRaWFJvYVc1bklHbHpJRzFwYzJOdmJtWnBaM1Z5WldRdUlFcDFjM1JjYmlBZ0x5OGdhVzRnWTJGelpTQnlkVzUwYVcxbExtcHpJR0ZqWTJsa1pXNTBZV3hzZVNCeWRXNXpJR2x1SUhOMGNtbGpkQ0J0YjJSbExDQjNaU0JqWVc0Z1pYTmpZWEJsWEc0Z0lDOHZJSE4wY21samRDQnRiMlJsSUhWemFXNW5JR0VnWjJ4dlltRnNJRVoxYm1OMGFXOXVJR05oYkd3dUlGUm9hWE1nWTI5MWJHUWdZMjl1WTJWcGRtRmliSGtnWm1GcGJGeHVJQ0F2THlCcFppQmhJRU52Ym5SbGJuUWdVMlZqZFhKcGRIa2dVRzlzYVdONUlHWnZjbUpwWkhNZ2RYTnBibWNnUm5WdVkzUnBiMjRzSUdKMWRDQnBiaUIwYUdGMElHTmhjMlZjYmlBZ0x5OGdkR2hsSUhCeWIzQmxjaUJ6YjJ4MWRHbHZiaUJwY3lCMGJ5Qm1hWGdnZEdobElHRmpZMmxrWlc1MFlXd2djM1J5YVdOMElHMXZaR1VnY0hKdllteGxiUzRnU1daY2JpQWdMeThnZVc5MUozWmxJRzFwYzJOdmJtWnBaM1Z5WldRZ2VXOTFjaUJpZFc1a2JHVnlJSFJ2SUdadmNtTmxJSE4wY21samRDQnRiMlJsSUdGdVpDQmhjSEJzYVdWa0lHRmNiaUFnTHk4Z1ExTlFJSFJ2SUdadmNtSnBaQ0JHZFc1amRHbHZiaXdnWVc1a0lIbHZkU2R5WlNCdWIzUWdkMmxzYkdsdVp5QjBieUJtYVhnZ1pXbDBhR1Z5SUc5bUlIUm9iM05sWEc0Z0lDOHZJSEJ5YjJKc1pXMXpMQ0J3YkdWaGMyVWdaR1YwWVdsc0lIbHZkWElnZFc1cGNYVmxJSEJ5WldScFkyRnRaVzUwSUdsdUlHRWdSMmwwU0hWaUlHbHpjM1ZsTGx4dUlDQkdkVzVqZEdsdmJpaGNJbkpjSWl3Z1hDSnlaV2RsYm1WeVlYUnZjbEoxYm5ScGJXVWdQU0J5WENJcEtISjFiblJwYldVcE8xeHVmVnh1SWl3aVpuVnVZM1JwYjI0Z1lYTjVibU5IWlc1bGNtRjBiM0pUZEdWd0tHZGxiaXdnY21WemIyeDJaU3dnY21WcVpXTjBMQ0JmYm1WNGRDd2dYM1JvY205M0xDQnJaWGtzSUdGeVp5a2dlMXh1SUNCMGNua2dlMXh1SUNBZ0lIWmhjaUJwYm1adklEMGdaMlZ1VzJ0bGVWMG9ZWEpuS1R0Y2JpQWdJQ0IyWVhJZ2RtRnNkV1VnUFNCcGJtWnZMblpoYkhWbE8xeHVJQ0I5SUdOaGRHTm9JQ2hsY25KdmNpa2dlMXh1SUNBZ0lISmxhbVZqZENobGNuSnZjaWs3WEc0Z0lDQWdjbVYwZFhKdU8xeHVJQ0I5WEc1Y2JpQWdhV1lnS0dsdVptOHVaRzl1WlNrZ2UxeHVJQ0FnSUhKbGMyOXNkbVVvZG1Gc2RXVXBPMXh1SUNCOUlHVnNjMlVnZTF4dUlDQWdJRkJ5YjIxcGMyVXVjbVZ6YjJ4MlpTaDJZV3gxWlNrdWRHaGxiaWhmYm1WNGRDd2dYM1JvY205M0tUdGNiaUFnZlZ4dWZWeHVYRzVtZFc1amRHbHZiaUJmWVhONWJtTlViMGRsYm1WeVlYUnZjaWhtYmlrZ2UxeHVJQ0J5WlhSMWNtNGdablZ1WTNScGIyNGdLQ2tnZTF4dUlDQWdJSFpoY2lCelpXeG1JRDBnZEdocGN5eGNiaUFnSUNBZ0lDQWdZWEpuY3lBOUlHRnlaM1Z0Wlc1MGN6dGNiaUFnSUNCeVpYUjFjbTRnYm1WM0lGQnliMjFwYzJVb1puVnVZM1JwYjI0Z0tISmxjMjlzZG1Vc0lISmxhbVZqZENrZ2UxeHVJQ0FnSUNBZ2RtRnlJR2RsYmlBOUlHWnVMbUZ3Y0d4NUtITmxiR1lzSUdGeVozTXBPMXh1WEc0Z0lDQWdJQ0JtZFc1amRHbHZiaUJmYm1WNGRDaDJZV3gxWlNrZ2UxeHVJQ0FnSUNBZ0lDQmhjM2x1WTBkbGJtVnlZWFJ2Y2xOMFpYQW9aMlZ1TENCeVpYTnZiSFpsTENCeVpXcGxZM1FzSUY5dVpYaDBMQ0JmZEdoeWIzY3NJRndpYm1WNGRGd2lMQ0IyWVd4MVpTazdYRzRnSUNBZ0lDQjlYRzVjYmlBZ0lDQWdJR1oxYm1OMGFXOXVJRjkwYUhKdmR5aGxjbklwSUh0Y2JpQWdJQ0FnSUNBZ1lYTjVibU5IWlc1bGNtRjBiM0pUZEdWd0tHZGxiaXdnY21WemIyeDJaU3dnY21WcVpXTjBMQ0JmYm1WNGRDd2dYM1JvY205M0xDQmNJblJvY205M1hDSXNJR1Z5Y2lrN1hHNGdJQ0FnSUNCOVhHNWNiaUFnSUNBZ0lGOXVaWGgwS0hWdVpHVm1hVzVsWkNrN1hHNGdJQ0FnZlNrN1hHNGdJSDA3WEc1OVhHNWNibTF2WkhWc1pTNWxlSEJ2Y25SeklEMGdYMkZ6ZVc1alZHOUhaVzVsY21GMGIzSTdJaXdpWm5WdVkzUnBiMjRnWDJGeWNtRjVWMmwwYUVodmJHVnpLR0Z5Y2lrZ2UxeHVJQ0JwWmlBb1FYSnlZWGt1YVhOQmNuSmhlU2hoY25JcEtTQnlaWFIxY200Z1lYSnlPMXh1ZlZ4dVhHNXRiMlIxYkdVdVpYaHdiM0owY3lBOUlGOWhjbkpoZVZkcGRHaEliMnhsY3pzaUxDSm1kVzVqZEdsdmJpQmZhWFJsY21GaWJHVlViMEZ5Y21GNVRHbHRhWFFvWVhKeUxDQnBLU0I3WEc0Z0lHbG1JQ2gwZVhCbGIyWWdVM2x0WW05c0lEMDlQU0JjSW5WdVpHVm1hVzVsWkZ3aUlIeDhJQ0VvVTNsdFltOXNMbWwwWlhKaGRHOXlJR2x1SUU5aWFtVmpkQ2hoY25JcEtTa2djbVYwZFhKdU8xeHVJQ0IyWVhJZ1gyRnljaUE5SUZ0ZE8xeHVJQ0IyWVhJZ1gyNGdQU0IwY25WbE8xeHVJQ0IyWVhJZ1gyUWdQU0JtWVd4elpUdGNiaUFnZG1GeUlGOWxJRDBnZFc1a1pXWnBibVZrTzF4dVhHNGdJSFJ5ZVNCN1hHNGdJQ0FnWm05eUlDaDJZWElnWDJrZ1BTQmhjbkpiVTNsdFltOXNMbWwwWlhKaGRHOXlYU2dwTENCZmN6c2dJU2hmYmlBOUlDaGZjeUE5SUY5cExtNWxlSFFvS1NrdVpHOXVaU2s3SUY5dUlEMGdkSEoxWlNrZ2UxeHVJQ0FnSUNBZ1gyRnljaTV3ZFhOb0tGOXpMblpoYkhWbEtUdGNibHh1SUNBZ0lDQWdhV1lnS0drZ0ppWWdYMkZ5Y2k1c1pXNW5kR2dnUFQwOUlHa3BJR0p5WldGck8xeHVJQ0FnSUgxY2JpQWdmU0JqWVhSamFDQW9aWEp5S1NCN1hHNGdJQ0FnWDJRZ1BTQjBjblZsTzF4dUlDQWdJRjlsSUQwZ1pYSnlPMXh1SUNCOUlHWnBibUZzYkhrZ2UxeHVJQ0FnSUhSeWVTQjdYRzRnSUNBZ0lDQnBaaUFvSVY5dUlDWW1JRjlwVzF3aWNtVjBkWEp1WENKZElDRTlJRzUxYkd3cElGOXBXMXdpY21WMGRYSnVYQ0pkS0NrN1hHNGdJQ0FnZlNCbWFXNWhiR3g1SUh0Y2JpQWdJQ0FnSUdsbUlDaGZaQ2tnZEdoeWIzY2dYMlU3WEc0Z0lDQWdmVnh1SUNCOVhHNWNiaUFnY21WMGRYSnVJRjloY25JN1hHNTlYRzVjYm0xdlpIVnNaUzVsZUhCdmNuUnpJRDBnWDJsMFpYSmhZbXhsVkc5QmNuSmhlVXhwYldsME95SXNJbVoxYm1OMGFXOXVJRjloY25KaGVVeHBhMlZVYjBGeWNtRjVLR0Z5Y2l3Z2JHVnVLU0I3WEc0Z0lHbG1JQ2hzWlc0Z1BUMGdiblZzYkNCOGZDQnNaVzRnUGlCaGNuSXViR1Z1WjNSb0tTQnNaVzRnUFNCaGNuSXViR1Z1WjNSb08xeHVYRzRnSUdadmNpQW9kbUZ5SUdrZ1BTQXdMQ0JoY25JeUlEMGdibVYzSUVGeWNtRjVLR3hsYmlrN0lHa2dQQ0JzWlc0N0lHa3JLeWtnZTF4dUlDQWdJR0Z5Y2pKYmFWMGdQU0JoY25KYmFWMDdYRzRnSUgxY2JseHVJQ0J5WlhSMWNtNGdZWEp5TWp0Y2JuMWNibHh1Ylc5a2RXeGxMbVY0Y0c5eWRITWdQU0JmWVhKeVlYbE1hV3RsVkc5QmNuSmhlVHNpTENKMllYSWdZWEp5WVhsTWFXdGxWRzlCY25KaGVTQTlJSEpsY1hWcGNtVW9YQ0l1TDJGeWNtRjVUR2xyWlZSdlFYSnlZWGxjSWlrN1hHNWNibVoxYm1OMGFXOXVJRjkxYm5OMWNIQnZjblJsWkVsMFpYSmhZbXhsVkc5QmNuSmhlU2h2TENCdGFXNU1aVzRwSUh0Y2JpQWdhV1lnS0NGdktTQnlaWFIxY200N1hHNGdJR2xtSUNoMGVYQmxiMllnYnlBOVBUMGdYQ0p6ZEhKcGJtZGNJaWtnY21WMGRYSnVJR0Z5Y21GNVRHbHJaVlJ2UVhKeVlYa29ieXdnYldsdVRHVnVLVHRjYmlBZ2RtRnlJRzRnUFNCUFltcGxZM1F1Y0hKdmRHOTBlWEJsTG5SdlUzUnlhVzVuTG1OaGJHd29ieWt1YzJ4cFkyVW9PQ3dnTFRFcE8xeHVJQ0JwWmlBb2JpQTlQVDBnWENKUFltcGxZM1JjSWlBbUppQnZMbU52Ym5OMGNuVmpkRzl5S1NCdUlEMGdieTVqYjI1emRISjFZM1J2Y2k1dVlXMWxPMXh1SUNCcFppQW9iaUE5UFQwZ1hDSk5ZWEJjSWlCOGZDQnVJRDA5UFNCY0lsTmxkRndpS1NCeVpYUjFjbTRnUVhKeVlYa3Vabkp2YlNodktUdGNiaUFnYVdZZ0tHNGdQVDA5SUZ3aVFYSm5kVzFsYm5SelhDSWdmSHdnTDE0b1B6cFZhWHhKS1c1MEtEODZPSHd4Tm53ek1pa29QenBEYkdGdGNHVmtLVDlCY25KaGVTUXZMblJsYzNRb2Jpa3BJSEpsZEhWeWJpQmhjbkpoZVV4cGEyVlViMEZ5Y21GNUtHOHNJRzFwYmt4bGJpazdYRzU5WEc1Y2JtMXZaSFZzWlM1bGVIQnZjblJ6SUQwZ1gzVnVjM1Z3Y0c5eWRHVmtTWFJsY21GaWJHVlViMEZ5Y21GNU95SXNJbVoxYm1OMGFXOXVJRjl1YjI1SmRHVnlZV0pzWlZKbGMzUW9LU0I3WEc0Z0lIUm9jbTkzSUc1bGR5QlVlWEJsUlhKeWIzSW9YQ0pKYm5aaGJHbGtJR0YwZEdWdGNIUWdkRzhnWkdWemRISjFZM1IxY21VZ2JtOXVMV2wwWlhKaFlteGxJR2x1YzNSaGJtTmxMbHhjYmtsdUlHOXlaR1Z5SUhSdklHSmxJR2wwWlhKaFlteGxMQ0J1YjI0dFlYSnlZWGtnYjJKcVpXTjBjeUJ0ZFhOMElHaGhkbVVnWVNCYlUzbHRZbTlzTG1sMFpYSmhkRzl5WFNncElHMWxkR2h2WkM1Y0lpazdYRzU5WEc1Y2JtMXZaSFZzWlM1bGVIQnZjblJ6SUQwZ1gyNXZia2wwWlhKaFlteGxVbVZ6ZERzaUxDSjJZWElnWVhKeVlYbFhhWFJvU0c5c1pYTWdQU0J5WlhGMWFYSmxLRndpTGk5aGNuSmhlVmRwZEdoSWIyeGxjMXdpS1R0Y2JseHVkbUZ5SUdsMFpYSmhZbXhsVkc5QmNuSmhlVXhwYldsMElEMGdjbVZ4ZFdseVpTaGNJaTR2YVhSbGNtRmliR1ZVYjBGeWNtRjVUR2x0YVhSY0lpazdYRzVjYm5aaGNpQjFibk4xY0hCdmNuUmxaRWwwWlhKaFlteGxWRzlCY25KaGVTQTlJSEpsY1hWcGNtVW9YQ0l1TDNWdWMzVndjRzl5ZEdWa1NYUmxjbUZpYkdWVWIwRnljbUY1WENJcE8xeHVYRzUyWVhJZ2JtOXVTWFJsY21GaWJHVlNaWE4wSUQwZ2NtVnhkV2x5WlNoY0lpNHZibTl1U1hSbGNtRmliR1ZTWlhOMFhDSXBPMXh1WEc1bWRXNWpkR2x2YmlCZmMyeHBZMlZrVkc5QmNuSmhlU2hoY25Jc0lHa3BJSHRjYmlBZ2NtVjBkWEp1SUdGeWNtRjVWMmwwYUVodmJHVnpLR0Z5Y2lrZ2ZId2dhWFJsY21GaWJHVlViMEZ5Y21GNVRHbHRhWFFvWVhKeUxDQnBLU0I4ZkNCMWJuTjFjSEJ2Y25SbFpFbDBaWEpoWW14bFZHOUJjbkpoZVNoaGNuSXNJR2twSUh4OElHNXZia2wwWlhKaFlteGxVbVZ6ZENncE8xeHVmVnh1WEc1dGIyUjFiR1V1Wlhod2IzSjBjeUE5SUY5emJHbGpaV1JVYjBGeWNtRjVPeUlzSW1aMWJtTjBhVzl1SUY5amJHRnpjME5oYkd4RGFHVmpheWhwYm5OMFlXNWpaU3dnUTI5dWMzUnlkV04wYjNJcElIdGNiaUFnYVdZZ0tDRW9hVzV6ZEdGdVkyVWdhVzV6ZEdGdVkyVnZaaUJEYjI1emRISjFZM1J2Y2lrcElIdGNiaUFnSUNCMGFISnZkeUJ1WlhjZ1ZIbHdaVVZ5Y205eUtGd2lRMkZ1Ym05MElHTmhiR3dnWVNCamJHRnpjeUJoY3lCaElHWjFibU4wYVc5dVhDSXBPMXh1SUNCOVhHNTlYRzVjYm0xdlpIVnNaUzVsZUhCdmNuUnpJRDBnWDJOc1lYTnpRMkZzYkVOb1pXTnJPeUlzSW1aMWJtTjBhVzl1SUY5a1pXWnBibVZRY205d1pYSjBhV1Z6S0hSaGNtZGxkQ3dnY0hKdmNITXBJSHRjYmlBZ1ptOXlJQ2gyWVhJZ2FTQTlJREE3SUdrZ1BDQndjbTl3Y3k1c1pXNW5kR2c3SUdrckt5a2dlMXh1SUNBZ0lIWmhjaUJrWlhOamNtbHdkRzl5SUQwZ2NISnZjSE5iYVYwN1hHNGdJQ0FnWkdWelkzSnBjSFJ2Y2k1bGJuVnRaWEpoWW14bElEMGdaR1Z6WTNKcGNIUnZjaTVsYm5WdFpYSmhZbXhsSUh4OElHWmhiSE5sTzF4dUlDQWdJR1JsYzJOeWFYQjBiM0l1WTI5dVptbG5kWEpoWW14bElEMGdkSEoxWlR0Y2JpQWdJQ0JwWmlBb1hDSjJZV3gxWlZ3aUlHbHVJR1JsYzJOeWFYQjBiM0lwSUdSbGMyTnlhWEIwYjNJdWQzSnBkR0ZpYkdVZ1BTQjBjblZsTzF4dUlDQWdJRTlpYW1WamRDNWtaV1pwYm1WUWNtOXdaWEowZVNoMFlYSm5aWFFzSUdSbGMyTnlhWEIwYjNJdWEyVjVMQ0JrWlhOamNtbHdkRzl5S1R0Y2JpQWdmVnh1ZlZ4dVhHNW1kVzVqZEdsdmJpQmZZM0psWVhSbFEyeGhjM01vUTI5dWMzUnlkV04wYjNJc0lIQnliM1J2VUhKdmNITXNJSE4wWVhScFkxQnliM0J6S1NCN1hHNGdJR2xtSUNod2NtOTBiMUJ5YjNCektTQmZaR1ZtYVc1bFVISnZjR1Z5ZEdsbGN5aERiMjV6ZEhKMVkzUnZjaTV3Y205MGIzUjVjR1VzSUhCeWIzUnZVSEp2Y0hNcE8xeHVJQ0JwWmlBb2MzUmhkR2xqVUhKdmNITXBJRjlrWldacGJtVlFjbTl3WlhKMGFXVnpLRU52Ym5OMGNuVmpkRzl5TENCemRHRjBhV05RY205d2N5azdYRzRnSUhKbGRIVnliaUJEYjI1emRISjFZM1J2Y2p0Y2JuMWNibHh1Ylc5a2RXeGxMbVY0Y0c5eWRITWdQU0JmWTNKbFlYUmxRMnhoYzNNN0lpd2lablZ1WTNScGIyNGdYMlJsWm1sdVpWQnliM0JsY25SNUtHOWlhaXdnYTJWNUxDQjJZV3gxWlNrZ2UxeHVJQ0JwWmlBb2EyVjVJR2x1SUc5aWFpa2dlMXh1SUNBZ0lFOWlhbVZqZEM1a1pXWnBibVZRY205d1pYSjBlU2h2WW1vc0lHdGxlU3dnZTF4dUlDQWdJQ0FnZG1Gc2RXVTZJSFpoYkhWbExGeHVJQ0FnSUNBZ1pXNTFiV1Z5WVdKc1pUb2dkSEoxWlN4Y2JpQWdJQ0FnSUdOdmJtWnBaM1Z5WVdKc1pUb2dkSEoxWlN4Y2JpQWdJQ0FnSUhkeWFYUmhZbXhsT2lCMGNuVmxYRzRnSUNBZ2ZTazdYRzRnSUgwZ1pXeHpaU0I3WEc0Z0lDQWdiMkpxVzJ0bGVWMGdQU0IyWVd4MVpUdGNiaUFnZlZ4dVhHNGdJSEpsZEhWeWJpQnZZbW83WEc1OVhHNWNibTF2WkhWc1pTNWxlSEJ2Y25SeklEMGdYMlJsWm1sdVpWQnliM0JsY25SNU95SXNJblpoY2lCbFBXWjFibU4wYVc5dUtDbDdjbVYwZFhKdUlTRnVZWFpwWjJGMGIzSXVjR1Z5YldsemMybHZibk45TEhJOVpuVnVZM1JwYjI0b0tYdHlaWFIxY200aElXNWhkbWxuWVhSdmNpNXRaV1JwWVVSbGRtbGpaWE45TzJaMWJtTjBhVzl1SUhRb1pTeHlMSFFzYml4aExHa3NieWw3ZEhKNWUzWmhjaUIxUFdWYmFWMG9ieWtzWXoxMUxuWmhiSFZsZldOaGRHTm9LR1VwZTNKbGRIVnliaUIyYjJsa0lIUW9aU2w5ZFM1a2IyNWxQM0lvWXlrNlVISnZiV2x6WlM1eVpYTnZiSFpsS0dNcExuUm9aVzRvYml4aEtYMW1kVzVqZEdsdmJpQnVLR1VwZTNKbGRIVnliaUJtZFc1amRHbHZiaWdwZTNaaGNpQnlQWFJvYVhNc2JqMWhjbWQxYldWdWRITTdjbVYwZFhKdUlHNWxkeUJRY205dGFYTmxLQ2htZFc1amRHbHZiaWhoTEdrcGUzWmhjaUJ2UFdVdVlYQndiSGtvY2l4dUtUdG1kVzVqZEdsdmJpQjFLR1VwZTNRb2J5eGhMR2tzZFN4akxGd2libVY0ZEZ3aUxHVXBmV1oxYm1OMGFXOXVJR01vWlNsN2RDaHZMR0VzYVN4MUxHTXNYQ0owYUhKdmQxd2lMR1VwZlhVb2RtOXBaQ0F3S1gwcEtYMTlablZ1WTNScGIyNGdZU2hsTEhJcGUzSmxkSFZ5YmlCbWRXNWpkR2x2YmlobEtYdHBaaWhCY25KaGVTNXBjMEZ5Y21GNUtHVXBLWEpsZEhWeWJpQmxmU2hsS1h4OFpuVnVZM1JwYjI0b1pTeHlLWHRwWmloY0luVnVaR1ZtYVc1bFpGd2lQVDEwZVhCbGIyWWdVM2x0WW05c2ZId2hLRk41YldKdmJDNXBkR1Z5WVhSdmNpQnBiaUJQWW1wbFkzUW9aU2twS1hKbGRIVnlianQyWVhJZ2REMWJYU3h1UFNFd0xHRTlJVEVzYVQxMmIybGtJREE3ZEhKNWUyWnZjaWgyWVhJZ2J5eDFQV1ZiVTNsdFltOXNMbWwwWlhKaGRHOXlYU2dwT3lFb2JqMG9iejExTG01bGVIUW9LU2t1Wkc5dVpTa21KaWgwTG5CMWMyZ29ieTUyWVd4MVpTa3NJWEo4ZkhRdWJHVnVaM1JvSVQwOWNpazdiajBoTUNrN2ZXTmhkR05vS0dVcGUyRTlJVEFzYVQxbGZXWnBibUZzYkhsN2RISjVlMjU4Zkc1MWJHdzlQWFV1Y21WMGRYSnVmSHgxTG5KbGRIVnliaWdwZldacGJtRnNiSGw3YVdZb1lTbDBhSEp2ZHlCcGZYMXlaWFIxY200Z2RIMG9aU3h5S1h4OFpuVnVZM1JwYjI0b1pTeHlLWHRwWmlnaFpTbHlaWFIxY200N2FXWW9YQ0p6ZEhKcGJtZGNJajA5ZEhsd1pXOW1JR1VwY21WMGRYSnVJR2tvWlN4eUtUdDJZWElnZEQxUFltcGxZM1F1Y0hKdmRHOTBlWEJsTG5SdlUzUnlhVzVuTG1OaGJHd29aU2t1YzJ4cFkyVW9PQ3d0TVNrN1hDSlBZbXBsWTNSY0lqMDlQWFFtSm1VdVkyOXVjM1J5ZFdOMGIzSW1KaWgwUFdVdVkyOXVjM1J5ZFdOMGIzSXVibUZ0WlNrN2FXWW9YQ0pOWVhCY0lqMDlQWFI4ZkZ3aVUyVjBYQ0k5UFQxMEtYSmxkSFZ5YmlCQmNuSmhlUzVtY205dEtHVXBPMmxtS0Z3aVFYSm5kVzFsYm5SelhDSTlQVDEwZkh3dlhpZy9PbFZwZkVrcGJuUW9Qem80ZkRFMmZETXlLU2cvT2tOc1lXMXdaV1FwUDBGeWNtRjVKQzh1ZEdWemRDaDBLU2x5WlhSMWNtNGdhU2hsTEhJcGZTaGxMSElwZkh4bWRXNWpkR2x2YmlncGUzUm9jbTkzSUc1bGR5QlVlWEJsUlhKeWIzSW9YQ0pKYm5aaGJHbGtJR0YwZEdWdGNIUWdkRzhnWkdWemRISjFZM1IxY21VZ2JtOXVMV2wwWlhKaFlteGxJR2x1YzNSaGJtTmxMbHhjYmtsdUlHOXlaR1Z5SUhSdklHSmxJR2wwWlhKaFlteGxMQ0J1YjI0dFlYSnlZWGtnYjJKcVpXTjBjeUJ0ZFhOMElHaGhkbVVnWVNCYlUzbHRZbTlzTG1sMFpYSmhkRzl5WFNncElHMWxkR2h2WkM1Y0lpbDlLQ2w5Wm5WdVkzUnBiMjRnYVNobExISXBleWh1ZFd4c1BUMXlmSHh5UG1VdWJHVnVaM1JvS1NZbUtISTlaUzVzWlc1bmRHZ3BPMlp2Y2loMllYSWdkRDB3TEc0OWJtVjNJRUZ5Y21GNUtISXBPM1E4Y2p0MEt5c3BibHQwWFQxbFczUmRPM0psZEhWeWJpQnVmWFpoY2lCdlBXWjFibU4wYVc5dUtDbDdkbUZ5SUhJOWJpaHlaV2RsYm1WeVlYUnZjbEoxYm5ScGJXVXViV0Z5YXlnb1puVnVZM1JwYjI0Z2NpaDBLWHR5WlhSMWNtNGdjbVZuWlc1bGNtRjBiM0pTZFc1MGFXMWxMbmR5WVhBb0tHWjFibU4wYVc5dUtISXBlMlp2Y2lnN095bHpkMmwwWTJnb2NpNXdjbVYyUFhJdWJtVjRkQ2w3WTJGelpTQXdPbkpsZEhWeWJpQnlMbUZpY25Wd2RDaGNJbkpsZEhWeWJsd2lMRzVsZHlCUWNtOXRhWE5sS0daMWJtTjBhVzl1S0NsN2RtRnlJSEk5YmloeVpXZGxibVZ5WVhSdmNsSjFiblJwYldVdWJXRnlheWdvWm5WdVkzUnBiMjRnY2lodUxHRXBlM1poY2lCcExHODdjbVYwZFhKdUlISmxaMlZ1WlhKaGRHOXlVblZ1ZEdsdFpTNTNjbUZ3S0NobWRXNWpkR2x2YmloeUtYdG1iM0lvT3pzcGMzZHBkR05vS0hJdWNISmxkajF5TG01bGVIUXBlMk5oYzJVZ01EcHlaWFIxY200Z1pTZ3BmSHhoS0c1bGR5QkVUMDFGZUdObGNIUnBiMjRvWENKT1lYWnBaMkYwYjNJZ1FWQkpPaUJ3WlhKdGFYTnphVzl1Y3lCdWIzUWdjM1Z3Y0c5eWRHVmtYQ0lzWENKT1QxUmZVMVZRVUU5U1ZFVkVYMFZTVWx3aUtTa3NjaTV3Y21WMlBURXNjaTV1WlhoMFBUUXNibUYyYVdkaGRHOXlMbkJsY20xcGMzTnBiMjV6TG5GMVpYSjVLSHR1WVcxbE9uUjlLVHRqWVhObElEUTZhVDF5TG5ObGJuUXNiejFtZFc1amRHbHZiaUJsS0hJcGUya3VjbVZ0YjNabFJYWmxiblJNYVhOMFpXNWxjaWhjSW1Ob1lXNW5aVndpTEdVcExIVW9jaTUwWVhKblpYUXVjM1JoZEdVc2JpeGhLWDBzYVM1aFpHUkZkbVZ1ZEV4cGMzUmxibVZ5S0Z3aVkyaGhibWRsWENJc2J5a3NkU2hwTG5OMFlYUmxMRzRzWVNrc2NpNXVaWGgwUFRFek8ySnlaV0ZyTzJOaGMyVWdNVEE2Y2k1d2NtVjJQVEV3TEhJdWREQTljaTVqWVhSamFDZ3hLU3hoS0hJdWREQXBPMk5oYzJVZ01UTTZZMkZ6WlZ3aVpXNWtYQ0k2Y21WMGRYSnVJSEl1YzNSdmNDZ3BmWDBwTEhJc2JuVnNiQ3hiV3pFc01UQmRYU2w5S1NrcE8zSmxkSFZ5YmlCbWRXNWpkR2x2YmlobExIUXBlM0psZEhWeWJpQnlMbUZ3Y0d4NUtIUm9hWE1zWVhKbmRXMWxiblJ6S1gxOUtDa3BLVHRqWVhObElERTZZMkZ6WlZ3aVpXNWtYQ0k2Y21WMGRYSnVJSEl1YzNSdmNDZ3BmWDBwTEhJcGZTa3BLVHR5WlhSMWNtNGdablZ1WTNScGIyNG9aU2w3Y21WMGRYSnVJSEl1WVhCd2JIa29kR2hwY3l4aGNtZDFiV1Z1ZEhNcGZYMG9LU3gxUFdaMWJtTjBhVzl1S0dVc2NpeDBLWHR6ZDJsMFkyZ29aU2w3WTJGelpWd2laR1Z1YVdWa1hDSTZkQ2h1WlhjZ1JFOU5SWGhqWlhCMGFXOXVLRndpVUdWeWJXbHpjMmx2YmlCa1pXNXBaV1JjSWl4Y0lrNVBWRjlCVEV4UFYwVkVYMFZTVWx3aUtTazdZbkpsWVdzN1pHVm1ZWFZzZERweUtHVXBmWDBzWXoxbWRXNWpkR2x2YmlncGUzWmhjaUIwUFc0b2NtVm5aVzVsY21GMGIzSlNkVzUwYVcxbExtMWhjbXNvS0daMWJtTjBhVzl1SUhRb2FTeDFLWHR5WlhSMWNtNGdjbVZuWlc1bGNtRjBiM0pTZFc1MGFXMWxMbmR5WVhBb0tHWjFibU4wYVc5dUtIUXBlMlp2Y2lnN095bHpkMmwwWTJnb2RDNXdjbVYyUFhRdWJtVjRkQ2w3WTJGelpTQXdPbkpsZEhWeWJpQjBMbUZpY25Wd2RDaGNJbkpsZEhWeWJsd2lMRzVsZHlCUWNtOXRhWE5sS0daMWJtTjBhVzl1S0NsN2RtRnlJSFE5YmloeVpXZGxibVZ5WVhSdmNsSjFiblJwYldVdWJXRnlheWdvWm5WdVkzUnBiMjRnZENodUxHTXBlM1poY2lCekxHWXNjRHR5WlhSMWNtNGdjbVZuWlc1bGNtRjBiM0pTZFc1MGFXMWxMbmR5WVhBb0tHWjFibU4wYVc5dUtIUXBlMlp2Y2lnN095bHpkMmwwWTJnb2RDNXdjbVYyUFhRdWJtVjRkQ2w3WTJGelpTQXdPbkpsZEhWeWJpQmxLQ2ttSm5Jb0tYeDhZeWh1WlhjZ1JFOU5SWGhqWlhCMGFXOXVLRndpVG1GMmFXZGhkRzl5SUVGUVNUb2djR1Z5YldsemMybHZibk1nYjNJZ1RtRjJhV2RoZEc5eUlFRlFTVG9nYldWa2FXRkVaWFpwWTJWeklHNXZkQ0J6ZFhCd2IzSjBaV1JjSWl4Y0lrNVBWRjlUVlZCUVQxSlVSVVJmUlZKU1hDSXBLU3gwTG5CeVpYWTlNU3gwTG5Rd1BWQnliMjFwYzJVc2RDNXVaWGgwUFRVc2J5aHBLVHRqWVhObElEVTZjbVYwZFhKdUlIUXVkREU5ZEM1elpXNTBMSFF1Ym1WNGREMDRMRzVoZG1sbllYUnZjaTV0WldScFlVUmxkbWxqWlhNdVoyVjBWWE5sY2sxbFpHbGhLSFVwTzJOaGMyVWdPRHB5WlhSMWNtNGdkQzUwTWoxMExuTmxiblFzZEM1ME16MWJkQzUwTVN4MExuUXlYU3gwTG01bGVIUTlNVElzZEM1ME1DNWhiR3d1WTJGc2JDaDBMblF3TEhRdWRETXBPMk5oYzJVZ01USTZjejEwTG5ObGJuUXNaajFoS0hNc01pa3NjRDFtV3pGZExHNG9jQ2tzZEM1dVpYaDBQVEl4TzJKeVpXRnJPMk5oYzJVZ01UZzZkQzV3Y21WMlBURTRMSFF1ZERROWRDNWpZWFJqYUNneEtTeGpLSFF1ZERRcE8yTmhjMlVnTWpFNlkyRnpaVndpWlc1a1hDSTZjbVYwZFhKdUlIUXVjM1J2Y0NncGZYMHBMSFFzYm5Wc2JDeGJXekVzTVRoZFhTbDlLU2twTzNKbGRIVnliaUJtZFc1amRHbHZiaWhsTEhJcGUzSmxkSFZ5YmlCMExtRndjR3g1S0hSb2FYTXNZWEpuZFcxbGJuUnpLWDE5S0NrcEtUdGpZWE5sSURFNlkyRnpaVndpWlc1a1hDSTZjbVYwZFhKdUlIUXVjM1J2Y0NncGZYMHBMSFFwZlNrcEtUdHlaWFIxY200Z1puVnVZM1JwYjI0b1pTeHlLWHR5WlhSMWNtNGdkQzVoY0hCc2VTaDBhR2x6TEdGeVozVnRaVzUwY3lsOWZTZ3BPMlY0Y0c5eWRIdHZJR0Z6SUdkbGRGQmxjbTFwYzNOcGIyNHNZeUJoY3lCblpYUlZjMlZ5VFdWa2FXRlRkSEpsWVcwc2NpQmhjeUJwYzA1aGRtbG5ZWFJ2Y2sxbFpHbGhSR1YyYVdObGMxTjFjSEJ2Y25SbFpDeGxJR0Z6SUdselRtRjJhV2RoZEc5eVVHVnliV2x6YzJsdmJuTlRkWEJ3YjNKMFpXUjlPMXh1THk4aklITnZkWEpqWlUxaGNIQnBibWRWVWt3OVpHRjBZVHBoY0hCc2FXTmhkR2x2Ymk5cWMyOXVPMk5vWVhKelpYUTlkWFJtTFRnN1ltRnpaVFkwTEdWNVNqSmFXRXA2WVZjNWRVbHFiM3BNUTBwdFlWZDRiRWxxYjJsaFZ6VnJXbGhuZFZwWVRYVmhiazFwVEVOS2VtSXpWbmxaTWxaNlNXcHdZa2xwTkhWTU0wNTVXWGs1Y0dNd05XaGtiV3h1V1ZoU2RtTnNRbXhqYlRGd1l6Tk9jR0l5TlhwVk0xWjNZMGM1ZVdSSFZtdE1iWEI2U1dsM2FVeHBOSFpqTTBwcVRESnNlbFJ0UmpKaFYyUm9aRWM1ZVZSWFZtdGhWMFpGV2xoYWNGa3lWbnBWTTFaM1kwYzVlV1JIVm10TWJYQjZTV2wzYVV4cE5IWmpNMHBxVERKa2JHUkdRbXhqYlRGd1l6Tk9jR0l5TkhWaGJrMXBURU5KZFV4cE9YcGpiVTEyV2pKV01GWllUbXhqYXpGc1drZHNhRlV6VW5sYVYwWjBURzF3ZWtsc01ITkpiazUyWkZoS2FscFlUa1JpTWpVd1dsYzFNRWxxY0dKSmFUaHhTMng0ZFVsRGIyZFJNbWhzV1RKeloyUXlhR3hrUjJoc1kybENUMWxZV25CYU1rWXdZak5KWjFGV1FrcFBhVUozV2xoS2RHRllUbnBoVnpsMVkzbENjR041UW5wa1dFSjNZak5LTUZwWFVXZFpibXRuWkVkb2JFbEhUakZqYmtwc1ltNVJaMWx1U25aa00wNXNZMng0ZFVsRGIyZFJTRXBzWkVoV2VXSnVUV2RsTWtwMllqSjRiRmxYTlRsWVJ6Um5TMms1WTJKdFZqUmpSemw1WkVOQ2ExcFhXbWhrVjNnd1NVTm5jRWxFTUN0SlEwVm9ZbTFHTW1GWFpHaGtSemw1VEc1Q2JHTnRNWEJqTTA1d1lqSTFlbGhITkdsTVEwbDJTMmx3WTJKcFFYRkpSVTV2V2xkT2NrbElaRzlhV0ZKdldsaEpaMVJ0UmpKaFYyUm9aRWM1ZVVsRlJsRlRWRzluWWxkV2EyRlhSa1ZhV0Zwd1dUSldla2xIYkhwSlNFNHhZMGhDZG1OdVVteGFRMEpwWlZOQ01HRkhWV2RaTTFaNVkyMVdkV1JEUW1samJUa3pZekpXZVZoSE5HZExhVUpCWTIxV01HUllTblZqZVVJM1dXMDVkbUpIVm1oaWJqRmpZbWxCY1V3eGVIVmFXR2gzWWpOS01FbEhVbXhhYlVZeFlraFJaMHREYTJkUVZEUm5TVk5HZFZsWVduQmFNa1l3WWpOSmRXSlhWbXRoVjBaRldsaGFjRmt5Vm5wWVJ6UnBURU5LY0dKWVFuWmpibEZuWVZoT1QxbFlXbkJhTWtZd1lqTktVVnBZU25SaFdFNTZZVmM1ZFdNeFRqRmpTRUoyWTI1U2JGcERRbTFqYlRsMFNVTmpkVXd5YkhwVWJVWXlZVmRrYUdSSE9YbFZSMVo1WWxkc2VtTXliSFppYms1VVpGaENkMkl6U2pCYVYxRnVXRWMxWTJKcE9IRkxiSGgxU1VOdloxVnRWakJrV0VwMVkzbENhRWxJUW5saU1qRndZekpWWjJOdFZucGlNbmd5V2xkUloyUXlhR3hpYVVJd1lVZFZaMk5IVm5saVYyeDZZekpzZG1KcFFuQmplVUp1WTIxR2RXUkhWbXRKUjBvMVNVaFNiMXBUUWpGak1sWjVXRWMwWjB0cFFrRmpSMFo1V1Zjd1oyTkhWbmxpVjJ4Nll6SnNkbUpyTldoaVYxVm5TVU5CWjBsRFFXZEpRMEZuU1VOQ1QxbFhNV3hKUnpsdFNVaFNiMXBUUW5kYVdFcDBZVmhPZW1GWE9YVk1hVUpCWXpKV2JFbEhhREJrU0VKNlQyazRkbVI2VG1wTWJXUndaRWRvTVZscE5YQmllVGwzV2xoS2RHRllUbnBoVnpsMVkzazRhbHBYTlRGaVYxSnNXbWt4ZDFwWVNuUmhXRTU2WVZjNWRXSnRSblJhVm5oMVNVTnZaMUZJU214a1NGWjVZbTVOWjJVeFFubGlNakZ3WXpKV09WaEhOR2RMYVRsalltMVdOR05IT1hsa1EwSnJXbGRhYUdSWGVEQkpSMFo2WlZjMWFrbERhSGRhV0VwMFlWaE9lbUZYT1hWVWJVWjBXbE5yWjFCVU5HZGxNWGgxV0VoU2VWcFlVakZqYlRSblltMVdNMGxHUW5saU1qRndZekpWYjFsWVRqVmliVTFuUzBoS2JHTXlPWE5rYlZWelNVaEtiR0Z0Vm1wa1EydG5VRlEwWjJVeGVIVllTRkpqWkVkc2JVbERaMmhoV0U1UFdWaGFjRm95UmpCaU0wcFJXbGhLZEdGWVRucGhWemwxWXpGT01XTklRblpqYmxKc1drTm5jRXRUUWpkWVJ6VmpaRVo0TUZoSVVubGFWM0JzV1ROUmIySnRWak5KUlZKUVZGVldORmt5Vm5ka1IyeDJZbWxuYmxSdFJqSmhWMlJvWkVjNWVVbEZSbEZUVkc5blkwZFdlV0pYYkhwak1teDJZbTVOWjJKdE9UQkpTRTR4WTBoQ2RtTnVVbXhhUTJOelNVTmtUMVF4VW1aVk1WWlJWVVU1VTFaRlZrVllNRlpUVldsamNFdFdlSFZZU0ZKalpFZ3hZMkpzZUhWWVNGSmpaRWhTZVdWVFFqZFlSelZqWkVaNE1GaElVbXBpTWpWNlpFTkNkMXBZU25SaFdFNTZZVmM1ZFZVelVtaGtTRlo2U1VRd1oxbFlaR2hoV0ZGblltMUdNbUZYWkdoa1J6bDVURzVDYkdOdE1YQmpNMDV3WWpJMWVreHVSakZhV0VvMVMwaHpaMkp0Um5SYVZHOW5ZMGRXZVdKWGJIcGpNbXgyWW1zMWFHSlhWV2RtVTJ4allteDRNRmhJVW1Oa1IwNTJZbTVPTUVsSE9YVlJNbWhvWW0xa2JFbEVNR2RMUjFZeVdsYzFNRXRUUVRsUWFVSTNXRWMxWTJSR2VEQllTRkpqWkVoQ2JHTnRNWEJqTTA1d1lqSTFWR1JIUmpCa1dFMTFZMjFXZEdJeldteFNXRnBzWW01U1RXRllUakJhVnpWc1kybG5ibGt5YUdoaWJXUnNTbmwzWjJJeU5VUmhSMFoxV2pKVmNGaEhOV05rUm5nd1dFaFNZMlJJU214ak1qbHpaRzFXVUdOc1NteGhiVlpxWkVWS2FHTXlWbXRVTWpWVVpFZEdNRnBUYUd4a2JWWjFaRU0xTUZsWVNtNWFXRkYxWXpOU2FHUkhWWE5KU0Vwc1l6STVjMlJ0VlhOSlNFcHNZVzFXYW1SRGJHTmliSGd3V0VoU1kyUklNV05pYkhnd1dFaFNZMlJJUW14amJURndZek5PY0dJeU5WUmtSMFl3WkZoTmRWbFhVbXRTV0Zwc1ltNVNUV0ZZVGpCYVZ6VnNZMmxuYmxreWFHaGliV1JzU25sM1oySXlOVVJoUjBaMVdqSlZjRmhITldOa1JuZ3dXRWhTZVZwWVRuWmlTRnBzVkROS1UxcFhjR3haTTFKRFdWaE9iRnBGT1hWVk0xSm9aRWRWYjJOSFZubGlWMng2WXpKc2RtSnNUakJaV0ZJeFkzazFlbVJIUmpCYVUzZG5ZMjFXZW1JeWVESmFVM2RuWTIxV2NWcFhUakJMVm5oMVdFaFNZMlJJTUdkWk1rWXdXVEpuWjB0SFZubGpiVGw1UzFOQ04xaEhOV05rUm5nd1dFaFNlVnBYY0d4Wk0xRnZXbGhLZVdJelNYQllSelZqWkVaNE1HWldlSFZZU0ZJNVMxWjRkV1pXZUhWWVJ6VnFZakkxZW1SRFFubGFXRTUyWWtoYWJGUXpTbE5hVjNCc1dUTlNRMWxZVG14YVJUbDFWVE5TYUdSSFZXZFFVMEZ2WXpOU2FHUkhWWE5KU0Vwc1l6STVjMlJ0VlhOSlNFcHNZVzFXYW1SRGEyZFFWRFJuWlRGNGRWaElVbnBrTW13d1dUSm5aMHRJVGpCWldGSnNTMU5DTjFoSE5XTmtSbmd3V1RKR2VscFRRVzVhUjFaMVlWZFdhMHA2Y0dOaWJIZ3dXRWhTWTJSSVNteGhiVlpxWkVOb2RWcFlZMmRTUlRsT1VsaG9hbHBZUWpCaFZ6bDFTME5rVVZwWVNuUmhXRTU2WVZjNWRVbEhVbXhpYld4c1drTmpjMGxEWkU5VU1WSm1VVlY0VFZReFpFWlNSamxHVld4SmJrdFRiR05pYkhnd1dFaFNZMlJIU25sYVYwWnlXRWMxWTJSR2VEQmFSMVp0V1ZoV2MyUkVjR05pYkhnd1dFaFNZMlJJU214ak1qbHpaRzFWYjJNelVtaGtSMVZ3V0VjMVkyUklNV05pYmpGalltbEpjMGx0YkhSalJ6bDVaRU5DY0dNd05XaGtiV3h1V1ZoU2RtTnNRbXhqYlRGd1l6Tk9jR0l5TlhwVk0xWjNZMGM1ZVdSSFZtdEpSMXA1WWpJd1owcDVOSFpoV0U1UFdWaGFjRm95UmpCaU0wcFJXbGhLZEdGWVRucGhWemwxWXpGT01XTklRblpqYmxKc1drTmtZMkp0YkhSalJ6bDVaRU5DY0dNd05XaGtiV3h1V1ZoU2RtTnJNV3hhUjJ4b1VrZFdNbUZYVG14ak1VNHhZMGhDZG1OdVVteGFRMEp0WTIwNWRFbERZM1ZNTW14NlZHMUdNbUZYWkdoa1J6bDVWRmRXYTJGWFJrVmFXRnB3V1RKV2VsVXpWbmRqUnpsNVpFZFdhMG94ZUhWaFZ6RjNZak5LTUVsSFpHeGtSa0pzWTIweGNHTXpUbkJpTWpSbldtNUtkbUpUUVc1TWFUbHVXbGhTVVZwWVNuUmhXRTU2WVZjNWRVb3hlSFZZUnpSMlMybHdZMkpwUVhGSlJrcHNaRWhXZVdKdVRXZFpVMEozWTIwNWRHRllUbXhKU0Vwc1l6STVjMlJ0Vm10SlNHUnZXbGMwWjJSSGFHeEpTRUpzWTIweGNHTXpUbkJpTWpSbllWaE5aMW96U21oaWJsSnNXa05DYVdWVFFqQmhSMVZuWkZoT2JHTnBRbWhpYlZGblpFZG9iRWxJVGpCamJWWm9ZbE5DY0dONVFubGFXRko1WVZkV01scFhVbU5pYVVGeFNVVkNkMWxZU21oaVUwSjNXbGhLZEdGWVRucGhWemwxVkcxR2RGcFRRV2RKUTBGblNVTkJaMGxEUVdkSlJUVm9ZbGRWWjJJeVdXZGtSMmhzU1VoQ2JHTnRNWEJqTTA1d1lqSTBkVWxGUW5wYVYxVm5ZVWhTTUdOSVRUWk1lVGt6VFRKTmRWb3liREJoU0ZacFRHMXNka3d6UW14amJURndZek5PY0dJeU5YcE1lVTVzWW01V2RGcEhWbTFNV0VKc1kyMHhjR016VG5CaU1qVjFXVmN4YkZoSE5HZExhVUpCWTBkR2VWbFhNR2RpVjFacllWZEdWR1JJU214WlZ6RkVZakkxZW1SSVNtaGhWelV3WTNsQlowbERRa1JpTWpWNlpFaEthR0ZYTlRCamVVSjJXVzF3YkZrelVYVkpSVUo2V2xkVloyRklVakJqU0UwMlRIazVhMXBZV214aVJ6bDNXbGhKZFdKWE9UWmhWM2h6V1ZNMWRtTnRZM1phVnpSMFZsWk5kbHBIT1dwamVUbFlXbGRKZGxGV1FrcE1NREZzV2tkc2FGVXpVbmxhVjBaMFVUSTVkV016VW5sWlYyeDFaRWhPWTJKcFFYRkpSVUo1V2xoU01XTnROWHBKU0hSUlkyMDVkR0ZZVG14bVZuaDFTVU52ZGxoSE5XeGxTRUoyWTI1UloxcEhWbTFaV0ZaelpFTkNhR016YkhWWmVVRnZZMGRXZVdKWGJIcGpNbXgyWW1zMWFHSlhWWE5KUnpGc1drZHNhRlV6VW5sYVYwWjBVVEk1ZFdNelVubFpWMngxWkVoTmNFbEVNQ3RKU0hSallteDRNR050VmpCa1dFcDFTVWMxYkdSNVFsRmpiVGwwWVZoT2JFdEhSbnBsVnpWcVNVTm9lVnBZVG5aaVNGcHNURU5DZVZwWGNHeFpNMUZ3U1VRd0swbElkR05pYkhnd1dFaFNjRnBwUVc5SlYyeDZWRzFHTW1GWFpHaGtSemw1VlVkV2VXSlhiSHBqTW14MlltNU9WR1JZUW5kaU0wb3dXbGRSYjB0VFFqaG1RMEZvWVZoT1QxbFlXbkJhTWtZd1lqTktUbHBYVW5CWlZWSnNaRzFzYWxwWVRsUmtXRUozWWpOS01GcFhVVzlMVTJ0blpURjRkVmhJVW1Oa1JuZ3dZMjFXY1ZwWFRqQkxSelZzWkhsQ1JWUXdNVVpsUjA1c1kwaFNjR0l5Tkc5S01EVm9aRzFzYmxsWVVuWmphVUpDVlVWck5rbElRbXhqYlRGd1l6Tk9jR0l5TlhwSlJ6bDVTVVUxYUdSdGJHNVpXRkoyWTJsQ1FsVkZhelpKUnpGc1drZHNhRkpIVmpKaFYwNXNZM2xDZFdJelVXZGpNMVozWTBjNWVXUkhWbXRLZVhkblNqQTFVRlpHT1ZSV1ZrSlJWREZLVlZKVlVtWlNWa3BUU25scmNGaEhOV05rUm5nd1psWjRkVmhITldOa1JuZ3daRWhLTlVsSWRHTmliSGd3V0VoU1kyUkhUblppYms0d1NVWnpjMGxJVGpCamJWWm9ZbFl3WjFCVFFtaGtNa1p3WkVOQ1VXTnRPWFJoV0U1c1RHMUdjMkpEYUdKWVJ6VmpaRVo0TUZoSVVtTmtSMFl6V1Zkc01FbEhaR3hrUmtKc1kyMHhjR016VG5CaU1qUnZZMGRXZVdKWGJIcGpNbXgyWW1zMWFHSlhWWEJNUm5oMVdFaFNZMlJHZURCWVNGSm9aREpHY0dSRFFuVlpXRnB3V2pKR01HSXpTWFZpVjFacllWZEdSVnBZV25CWk1sWjZURzFrYkdSR1ZucGFXRXBPV2xkU2NGbFRhSFJhVjFKd1dWWk9NR050Vm1oaVZVNTJZbTVPTUdOdFJuQmlibEo2UzFONFkySnNlREJZU0ZKalpFWXdjRmhITldOa1JuZ3dXRWhTZVZwWVRuWmlTRnBzUzBoT01HTnRWbWhpVTJ4allteDRNRmhJVWpsSlIwNW9aRWRPYjBsRGFHeGpia3AyWTJscloyVXhlSFZZU0ZKalpFWjRNR050Vm5GYVYwNHdTMGRXZVdOdE9YbExWbmgxV0VoU1kyUklNV05pYkhnd1psTnNZMkp1TVdOaWFVcGtURU5LZFZsWE1XeGplVWsyVjNsS2RWbFlXbkJhTWtZd1lqTkphVXhEU25kYVdFcDBZVmhPZW1GWE9YVmplVWx6U1cweGJGcEhiR2hTUjFZeVlWZE9iR041U1hOSmJrSnNZMjB4Y0dNelRuQmlNalZQV1ZjeGJFbHBkMmxWU0VwMllsZHNlbHBUU1hOSmJrcHNZekk1YzJSdFZXbE1RMHA1V2xkd2JGa3pVV2xNUTBwd1l6QTFhR1J0Ykc1WldGSjJZMnhDYkdOdE1YQmpNMDV3WWpJMWVsVXpWbmRqUnpsNVpFZFdhMGxwZDJsU1JUbE9VbGhvYWxwWVFqQmhWemwxU1dsM2FXTllWbXhqYm10cFRFTktkVmxYTVd4SmFYZHBZMGRXZVdKWGJIcGpNbXgyWW14T01GbFlVakZqZVVselNXMDVkVkV5YUdoaWJXUnNTV2wzYVZwWVdteGlibEZwVEVOS2VWcFhNWFprYlZaR1pHMVdkV1JGZUhCak0xSnNZbTFXZVVscGQybGpiVlo2WWpKNE1scFZPWGxWYlZaeFdsZE9NRkZ0Um5wYVYxSlFZbXhPTUZsWVVteEphWGRwWkVkR2VWb3lWakJKYVhkcFl6TlNhR1JIVldsTVEwcG9Xa2RTUm1SdFZuVmtSWGh3WXpOU2JHSnRWbmxKYVhkcFlsZFdhMkZYUmxSa1NFcHNXVmN4UkdJeU5YcGtTRXBvWVZjMU1HTjVTWE5KYld4NlZHMUdNbUZYWkdoa1J6bDVWRmRXYTJGWFJrVmFXRnB3V1RKV2VsVXpWbmRqUnpsNVpFZFdhMGxwZDJsYU1sWXdWVWRXZVdKWGJIcGpNbXgyWW1sSmMwbHRaR3hrUmxaNldsaEtUbHBYVW5CWlUwbHpTVzFHYzJKRFNYTkpiazR3WTIxV2FHSlRTbVJNUTBwMFdWaENkMkZYTlc1amVVazJTV3RHUWxOVlJYTmxWVXBDVVZoV1ExRlRlRlpSVlVaV1VYbDRjbEV3VGtKV2ExRnpWbFZHUWxaVlZYTmhXR2hFVVRCa2NWRjVlSEpTUlVaQ1dsTjRXRkZWUmxCUmVYY3dVakJHUkZwRGVFcFJWVVpLVVhsNGRsSkZSa0pWVTNoWVVWVkdVRkY1ZUVaUlZVWlVVWGw0Y2xJd1JrUk9NRXBFVEVWMFFsRXdjRVZNUlZaQ1VWVTRjMU5WUmtKVFZWVnpXVlZHUWxsVGQzbFJNRVpDVGtWTmMyUXdUa0pUV0VwRVZXbDRWbEZWUmxaUmVYaGFVVlZHV2xWVGVFNVJWVVpPVEVWT1FsRlZWa1JNUlhSQ1VWVXhVVXhHWkVKUlZHUkZWVk40VkZGVlRrSlJlWGhHVVZWR1dFeEdUa0pSVm1oQ1RFVldRbEZXYkVSTVJXUkNVVEp3UTFKcGVFWlJWVVp3VVd0amMySXdTa0pSVnpsRFRFWk9RbEZXVmtkTVJXUkNVWGs1UkZKNWVFWlJWVVV3VVd0WmMxSlZSa0pVVldOelZEQkdRbFF3VFhOVVZVWkNWREZ2YzFKVlJrSlZNRTF6VTFWR1JrMVZVa3hNUlZaQ1VWZHNRMVI1ZUhCUmEwWkNZVlZKYzFVd1JrSldWVFJ6VWpCR1JFNVZUa2hNUlZaQ1VWUlNRMU5wZUVaUlZVWndVV3N3YzFSVlJrSlVNVzl6VWxWR1FsVXdUWE5qVlZKQ1VsUmtSVkZUZHpKVWEwWk1VakZOYzFKVlJrSlBSVWx6VlRCR1FsRXdWWE5TVlVaQ1ZERnZjMUpWUmtKVk1FMXpWbFZHUkU1VlRsaE1SVGxDVVRCWmMxVXdSa1JUYkdkelVsVkdRbFI1ZUVwUlZVWktVbE40YUZGVlJtaE1SemxEVVZWR2VGRnBlSEpSTUVaSVRqQk9TVXhGVmtKUlZrWmFURWN4UlZFeldrTlRVM2hZVVZWR1VGcERlRVpSVlVadVVXMWtRMHhFVWtoUlZVMDFVV2w0U2xGVlJrcGFhWGgyVWtWR1FsVlRlRmhSVlVaUVVYbDRSbEZWUmxSUmVYaDJVakJHUkU0d1NrUk1SWFJDVVZoT1JGbFRlRXhSVlUxNFVUSlJjMUpWUmtKVWVYaEtVVlZHU2xKVGVHaFJWVVpvVEVSQ1JsRlZSWGxTVTNoMlVUQkdTazFWVmt0TVIyeERVVlZPYzFGdGJFTk1SVlpDVVZkT2MxRnBlSHBSTUVaRVdrVm5jMVpWUmtKV1ZWVnpXVlZHUWxsWE9VTk1SMFpDVVZkR1NVeEVXa1ZSVlZwWFUxTjNORkV3UmtKbFJVcEVURVU1UWxOV1VuVlJhWGhHVVZWR1VtSlZTWE5qVlZKQ1VsWktjMUZwU2psY2JpSXNJbWx0Y0c5eWRDQjdJR2x6VG1GMmFXZGhkRzl5VUdWeWJXbHpjMmx2Ym5OVGRYQndiM0owWldRc0lHbHpUbUYyYVdkaGRHOXlUV1ZrYVdGRVpYWnBZMlZ6VTNWd2NHOXlkR1ZrTENCblpYUlZjMlZ5VFdWa2FXRlRkSEpsWVcwZ2ZTQm1jbTl0SUNkQWRXNTBaVzF3Y3k5MWMyVnlMWEJsY20xcGMzTnBiMjV6TFhWMGFXeHpKMXh1WEc1amJHRnpjeUJXYjJOaGJDQjdYRzVjZEhOMFlYUnBZeUJrWldaaGRXeDBUM0IwYVc5dWN5QTlJSHRjYmx4MFhIUm5jbUZ0YldGeWN6b2diblZzYkN4Y2JseDBYSFJzWVc1bk9pQW5aVzR0VlZNbkxGeHVYSFJjZEdOdmJuUnBiblZ2ZFhNNklHWmhiSE5sTEZ4dVhIUmNkR2x1ZEdWeWFXMVNaWE4xYkhSek9pQm1ZV3h6WlN4Y2JseDBYSFJ0WVhoQmJIUmxjbTVoZEdsMlpYTTZJREVzWEc1Y2RGeDBjMlZ5ZG1salpWVlNTVG9nYm5Wc2JDeGNibHgwZlZ4dVhHNWNkSE4wWVhScFl5QmxkbVZ1ZEZSNWNHVnpJRDBnZTF4dVhIUmNkRUZWUkVsUFgwVk9SRG9nSjJGMVpHbHZaVzVrSnl4Y2JseDBYSFJCVlVSSlQxOVRWRUZTVkRvZ0oyRjFaR2x2YzNSaGNuUW5MRnh1WEhSY2RFVk9SRG9nSjJWdVpDY3NYRzVjZEZ4MFJWSlNUMUk2SUNkbGNuSnZjaWNzWEc1Y2RGeDBUazlmVFVGVVEwZzZJQ2R1YjIxaGRHTm9KeXhjYmx4MFhIUlNSVk5WVEZRNklDZHlaWE4xYkhRbkxGeHVYSFJjZEZOUFZVNUVYMFZPUkRvZ0ozTnZkVzVrWlc1a0p5eGNibHgwWEhSVFQxVk9SRjlUVkVGU1ZEb2dKM052ZFc1a2MzUmhjblFuTEZ4dVhIUmNkRk5RUlVWRFNGOUZUa1E2SUNkemNHVmxZMmhsYm1RbkxGeHVYSFJjZEZOUVJVVkRTRjlUVkVGU1ZEb2dKM053WldWamFITjBZWEowSnl4Y2JseDBYSFJUVkVGU1ZEb2dKM04wWVhKMEp5eGNibHgwZlZ4dVhHNWNkSE4wWVhScFl5Qm5aWFFnYVhOVGRYQndiM0owWldRb0tTQjdYRzVjZEZ4MGNtVjBkWEp1SUNFaFZtOWpZV3d1WDNKbGMyOXNkbVZUY0dWbFkyaFNaV052WjI1cGRHbHZiaWdwSUNZbUlDRWhhWE5PWVhacFoyRjBiM0pRWlhKdGFYTnphVzl1YzFOMWNIQnZjblJsWkNncElDWW1JQ0VoYVhOT1lYWnBaMkYwYjNKTlpXUnBZVVJsZG1salpYTlRkWEJ3YjNKMFpXUW9LVnh1WEhSOVhHNWNibHgwYzNSaGRHbGpJSE5sZENCcGMxTjFjSEJ2Y25SbFpDaGZLU0I3WEc1Y2RGeDBkR2h5YjNjZ2JtVjNJRVZ5Y205eUtDZFpiM1VnWTJGdWJtOTBJSE5sZENCcGMxTjFjSEJ2Y25SbFpDQmthWEpsWTNSc2VTNG5LVnh1WEhSOVhHNWNibHgwWDJsdWMzUmhibU5sSUQwZ2JuVnNiRnh1WEhSZmJHbHpkR1Z1WlhKeklEMGdiblZzYkZ4dVhHNWNkR052Ym5OMGNuVmpkRzl5S0c5d2RHbHZibk1wSUh0Y2JseDBYSFJqYjI1emRDQlRjR1ZsWTJoU1pXTnZaMjVwZEdsdmJpQTlJRlp2WTJGc0xsOXlaWE52YkhabFUzQmxaV05vVW1WamIyZHVhWFJwYjI0b0tWeHVYSFJjZEdsbUlDZ2hVM0JsWldOb1VtVmpiMmR1YVhScGIyNHBJSHRjYmx4MFhIUmNkSFJvY205M0lHNWxkeUJFVDAxRmVHTmxjSFJwYjI0b0oxTndaV1ZqYUZKbFkyOW5ibWwwYVc5dUlHNXZkQ0J6ZFhCd2IzSjBaV1FuTENBblRrOVVYMU5WVUZCUFVsUkZSRjlGVWxJbktWeHVYSFJjZEgxY2JseHVYSFJjZEhSb2FYTXVYMmx1YzNSaGJtTmxJRDBnYm1WM0lGTndaV1ZqYUZKbFkyOW5ibWwwYVc5dUtDbGNibHgwWEhSMGFHbHpMbDlzYVhOMFpXNWxjbk1nUFNCN2ZWeHVYRzVjZEZ4MFQySnFaV04wTG1WdWRISnBaWE1vZTF4dVhIUmNkRngwTGk0dVZtOWpZV3d1WkdWbVlYVnNkRTl3ZEdsdmJuTXNYRzVjZEZ4MFhIUXVMaTRvYjNCMGFXOXVjeUI4ZkNCN2ZTa3NYRzVjZEZ4MGZTa3VabTl5UldGamFDZ29XMnRsZVN3Z2RtRnNkV1ZkS1NBOVBpQjdYRzVjZEZ4MFhIUnBaaUFvYTJWNUlEMDlQU0FuWjNKaGJXMWhjbk1uSUNZbUlDRjJZV3gxWlNrZ2UxeHVYSFJjZEZ4MFhIUmpiMjV6ZENCVGNHVmxZMmhIY21GdGJXRnlUR2x6ZENBOUlGWnZZMkZzTGw5eVpYTnZiSFpsVTNCbFpXTm9SM0poYlcxaGNreHBjM1FvS1Z4dVhIUmNkRngwWEhScFppQW9JU0ZUY0dWbFkyaEhjbUZ0YldGeVRHbHpkQ2tnZTF4dVhIUmNkRngwWEhSY2RIWmhiSFZsSUQwZ2JtVjNJRk53WldWamFFZHlZVzF0WVhKTWFYTjBLQ2xjYmx4MFhIUmNkRngwZlZ4dVhIUmNkRngwZlZ4dVhIUmNkRngwZEdocGN5NWZhVzV6ZEdGdVkyVmJhMlY1WFNBOUlIWmhiSFZsWEc1Y2RGeDBmU2xjYmx4MGZWeHVYRzVjZEdkbGRDQnBibk4wWVc1alpTZ3BJSHRjYmx4MFhIUnlaWFIxY200Z2RHaHBjeTVmYVc1emRHRnVZMlZjYmx4MGZWeHVYRzVjZEhObGRDQnBibk4wWVc1alpTaGZLU0I3WEc1Y2RGeDBkR2h5YjNjZ2JtVjNJRVZ5Y205eUtDZFpiM1VnWTJGdWJtOTBJSE5sZENCcGJuTjBZVzVqWlNCa2FYSmxZM1JzZVM0bktWeHVYSFI5WEc1Y2JseDBZWE41Ym1NZ2MzUmhjblFvS1NCN1hHNWNkRngwYVdZZ0tDRWhkR2hwY3k1ZmFXNXpkR0Z1WTJVcElIdGNibHgwWEhSY2RIUnllU0I3WEc1Y2RGeDBYSFJjZEdOdmJuTjBJSE4wY21WaGJTQTlJR0YzWVdsMElHZGxkRlZ6WlhKTlpXUnBZVk4wY21WaGJTZ25iV2xqY205d2FHOXVaU2NzSUhzZ1lYVmthVzg2SUhSeWRXVWdmU2xjYmx4MFhIUmNkRngwYVdZZ0tDRnpkSEpsWVcwcElIdGNibHgwWEhSY2RGeDBYSFIwYUhKdmR5QnVaWGNnUlhKeWIzSW9KMVZ1WVdKc1pTQjBieUJ5WlhSeWFXVjJaU0IwYUdVZ2MzUnlaV0Z0SUdaeWIyMGdiV1ZrYVdFZ1pHVjJhV05sSnlsY2JseDBYSFJjZEZ4MGZWeHVYSFJjZEZ4MFhIUjBhR2x6TGw5cGJuTjBZVzVqWlM1emRHRnlkQ2dwWEc1Y2RGeDBYSFI5SUdOaGRHTm9JQ2hsY25KdmNpa2dlMXh1WEhSY2RGeDBYSFJqYjI1emRDQmxjbkp2Y2toaGJtUnNaWElnUFNCMGFHbHpMbDlzYVhOMFpXNWxjbk11WlhKeWIzSmNibHgwWEhSY2RGeDBhV1lnS0NFaFpYSnliM0pJWVc1a2JHVnlLU0I3WEc1Y2RGeDBYSFJjZEZ4MFpYSnliM0pJWVc1a2JHVnlLR1Z5Y205eUtWeHVYSFJjZEZ4MFhIUjlYRzVjZEZ4MFhIUjlYRzVjZEZ4MGZWeHVYRzVjZEZ4MGNtVjBkWEp1SUhSb2FYTmNibHgwZlZ4dVhHNWNkSE4wYjNBb0tTQjdYRzVjZEZ4MGFXWWdLQ0VoZEdocGN5NWZhVzV6ZEdGdVkyVXBJSHRjYmx4MFhIUmNkSFJvYVhNdVgybHVjM1JoYm1ObExuTjBiM0FvS1Z4dVhIUmNkSDFjYmx4dVhIUmNkSEpsZEhWeWJpQjBhR2x6WEc1Y2RIMWNibHh1WEhSaFltOXlkQ2dwSUh0Y2JseDBYSFJwWmlBb0lTRjBhR2x6TGw5cGJuTjBZVzVqWlNrZ2UxeHVYSFJjZEZ4MGRHaHBjeTVmYVc1emRHRnVZMlV1WVdKdmNuUW9LVnh1WEhSY2RIMWNibHh1WEhSY2RISmxkSFZ5YmlCMGFHbHpYRzVjZEgxY2JseHVYSFJoWkdSRmRtVnVkRXhwYzNSbGJtVnlLR1YyWlc1MFZIbHdaU3dnWTJGc2JHSmhZMnNwSUh0Y2JseDBYSFJwWmlBb0lTRjBhR2x6TGw5cGJuTjBZVzVqWlNBbUppQjBhR2x6TGw5cGJtTnNkV1JsYzBWMlpXNTBWSGx3WlNobGRtVnVkRlI1Y0dVcEtTQjdYRzVjZEZ4MFhIUnBaaUFvSVNGMGFHbHpMbDlzYVhOMFpXNWxjbk5iWlhabGJuUlVlWEJsWFNrZ2UxeHVYSFJjZEZ4MFhIUjBhR2x6TG5KbGJXOTJaVVYyWlc1MFRHbHpkR1Z1WlhJb1pYWmxiblJVZVhCbEtWeHVYSFJjZEZ4MGZWeHVYRzVjZEZ4MFhIUmpiMjV6ZENCb1lXNWtiR1Z5SUQwZ0tHVjJaVzUwS1NBOVBpQjdYRzVjZEZ4MFhIUmNkR3hsZENCaFpHUnBkR2x2Ym1Gc1FYSm5jeUE5SUZ0ZFhHNWNkRngwWEhSY2RHbG1JQ2hsZG1WdWRGUjVjR1VnUFQwOUlGWnZZMkZzTG1WMlpXNTBWSGx3WlhNdVVrVlRWVXhVS1NCN1hHNWNkRngwWEhSY2RGeDBhV1lnS0NFaFpYWmxiblF1Y21WemRXeDBjeUFtSmlCbGRtVnVkQzV5WlhOMWJIUnpMbXhsYm1kMGFDQStJREFwSUh0Y2JseDBYSFJjZEZ4MFhIUmNkR0ZrWkdsMGFXOXVZV3hCY21kekxuQjFjMmdvWlhabGJuUXVjbVZ6ZFd4MGMxc3dYVnN3WFM1MGNtRnVjMk55YVhCMEtWeHVYSFJjZEZ4MFhIUmNkSDFjYmx4MFhIUmNkRngwZlZ4dVhHNWNkRngwWEhSY2RDRWhZMkZzYkdKaFkyc2dKaVlnWTJGc2JHSmhZMnN1WVhCd2JIa29kR2hwY3l3Z1cyVjJaVzUwTENBdUxpNWhaR1JwZEdsdmJtRnNRWEpuYzEwcFhHNWNkRngwWEhSOVhHNWNkRngwWEhSMGFHbHpMbDlwYm5OMFlXNWpaUzVoWkdSRmRtVnVkRXhwYzNSbGJtVnlLR1YyWlc1MFZIbHdaU3dnYUdGdVpHeGxjaWxjYmx4dVhIUmNkRngwZEdocGN5NWZiR2x6ZEdWdVpYSnpXMlYyWlc1MFZIbHdaVjBnUFNCb1lXNWtiR1Z5WEc1Y2RGeDBmVnh1WEc1Y2RGeDBjbVYwZFhKdUlIUm9hWE5jYmx4MGZWeHVYRzVjZEhKbGJXOTJaVVYyWlc1MFRHbHpkR1Z1WlhJb1pYWmxiblJVZVhCbEtTQjdYRzVjZEZ4MFkyOXVjM1FnYUdGdVpHeGxjaUE5SUhSb2FYTXVYMnhwYzNSbGJtVnljMXRsZG1WdWRGUjVjR1ZkWEc1Y2RGeDBkR2hwY3k1ZmFXNXpkR0Z1WTJVdWNtVnRiM1psUlhabGJuUk1hWE4wWlc1bGNpaGxkbVZ1ZEZSNWNHVXNJR2hoYm1Sc1pYSXBYRzVjYmx4MFhIUmtaV3hsZEdVZ2RHaHBjeTVmYkdsemRHVnVaWEp6VzJWMlpXNTBWSGx3WlYxY2JseHVYSFJjZEhKbGRIVnliaUIwYUdselhHNWNkSDFjYmx4dVhIUmpiR1ZoYm5Wd0tDa2dlMXh1WEhSY2RIUm9hWE11YzNSdmNDZ3BYRzVjYmx4MFhIUlBZbXBsWTNRdWEyVjVjeWgwYUdsekxsOXNhWE4wWlc1bGNuTXBMbVp2Y2tWaFkyZ29LR3RsZVNrZ1BUNGdkR2hwY3k1eVpXMXZkbVZGZG1WdWRFeHBjM1JsYm1WeUtHdGxlU2twWEc1Y2RGeDBkR2hwY3k1ZmFXNXpkR0Z1WTJVZ1BTQnVkV3hzWEc1Y2JseDBYSFJ5WlhSMWNtNGdkR2hwYzF4dVhIUjlYRzVjYmx4MFgybHVZMngxWkdWelJYWmxiblJVZVhCbEtHVjJaVzUwVkhsd1pTa2dlMXh1WEhSY2RISmxkSFZ5YmlBaElVOWlhbVZqZEM1MllXeDFaWE1vVm05allXd3VaWFpsYm5SVWVYQmxjeWt1Wm1sdVpDZ29kSGx3WlNrZ1BUNGdkSGx3WlNBOVBUMGdaWFpsYm5SVWVYQmxLVnh1WEhSOVhHNWNibHgwYzNSaGRHbGpJRjl5WlhOdmJIWmxVM0JsWldOb1VtVmpiMmR1YVhScGIyNG9LU0I3WEc1Y2RGeDBjbVYwZFhKdUlDaGNibHgwWEhSY2RIZHBibVJ2ZHk1VGNHVmxZMmhTWldOdloyNXBkR2x2YmlCOGZGeHVYSFJjZEZ4MGQybHVaRzkzTG5kbFltdHBkRk53WldWamFGSmxZMjluYm1sMGFXOXVJSHg4WEc1Y2RGeDBYSFIzYVc1a2IzY3ViVzk2VTNCbFpXTm9VbVZqYjJkdWFYUnBiMjRnZkh4Y2JseDBYSFJjZEhkcGJtUnZkeTV0YzFOd1pXVmphRkpsWTI5bmJtbDBhVzl1WEc1Y2RGeDBLVnh1WEhSOVhHNWNibHgwYzNSaGRHbGpJRjl5WlhOdmJIWmxVM0JsWldOb1IzSmhiVzFoY2t4cGMzUW9LU0I3WEc1Y2RGeDBjbVYwZFhKdUlDaGNibHgwWEhSY2RIZHBibVJ2ZHk1VGNHVmxZMmhIY21GdGJXRnlUR2x6ZENCOGZGeHVYSFJjZEZ4MGQybHVaRzkzTG5kbFltdHBkRk53WldWamFFZHlZVzF0WVhKTWFYTjBJSHg4WEc1Y2RGeDBYSFIzYVc1a2IzY3ViVzk2VTNCbFpXTm9SM0poYlcxaGNreHBjM1FnZkh4Y2JseDBYSFJjZEhkcGJtUnZkeTV0YzFOd1pXVmphRWR5WVcxdFlYSk1hWE4wWEc1Y2RGeDBLVnh1WEhSOVhHNTlYRzVjYm1WNGNHOXlkQ0JrWldaaGRXeDBJRlp2WTJGc1hHNGlYU3dpYm1GdFpYTWlPbHNpY25WdWRHbHRaU0lzSW1WNGNHOXlkSE1pTENKUGNDSXNJazlpYW1WamRDSXNJbkJ5YjNSdmRIbHdaU0lzSW1oaGMwOTNiaUlzSW1oaGMwOTNibEJ5YjNCbGNuUjVJaXdpSkZONWJXSnZiQ0lzSWxONWJXSnZiQ0lzSW1sMFpYSmhkRzl5VTNsdFltOXNJaXdpYVhSbGNtRjBiM0lpTENKaGMzbHVZMGwwWlhKaGRHOXlVM2x0WW05c0lpd2lZWE41Ym1OSmRHVnlZWFJ2Y2lJc0luUnZVM1J5YVc1blZHRm5VM2x0WW05c0lpd2lkRzlUZEhKcGJtZFVZV2NpTENKa1pXWnBibVVpTENKdlltb2lMQ0pyWlhraUxDSjJZV3gxWlNJc0ltUmxabWx1WlZCeWIzQmxjblI1SWl3aVpXNTFiV1Z5WVdKc1pTSXNJbU52Ym1acFozVnlZV0pzWlNJc0luZHlhWFJoWW14bElpd2laWEp5SWl3aWQzSmhjQ0lzSW1sdWJtVnlSbTRpTENKdmRYUmxja1p1SWl3aWMyVnNaaUlzSW5SeWVVeHZZM05NYVhOMElpd2ljSEp2ZEc5SFpXNWxjbUYwYjNJaUxDSkhaVzVsY21GMGIzSWlMQ0puWlc1bGNtRjBiM0lpTENKamNtVmhkR1VpTENKamIyNTBaWGgwSWl3aVEyOXVkR1Y0ZENJc0lsOXBiblp2YTJVaUxDSnpkR0YwWlNJc0ltMWxkR2h2WkNJc0ltRnlaeUlzSWtWeWNtOXlJaXdpWkc5dVpWSmxjM1ZzZENJc0ltUmxiR1ZuWVhSbElpd2laR1ZzWldkaGRHVlNaWE4xYkhRaUxDSnRZWGxpWlVsdWRtOXJaVVJsYkdWbllYUmxJaXdpUTI5dWRHbHVkV1ZUWlc1MGFXNWxiQ0lzSW5ObGJuUWlMQ0pmYzJWdWRDSXNJbVJwYzNCaGRHTm9SWGhqWlhCMGFXOXVJaXdpWVdKeWRYQjBJaXdpY21WamIzSmtJaXdpZEhKNVEyRjBZMmdpTENKMGVYQmxJaXdpWkc5dVpTSXNJbTFoYTJWSmJuWnZhMlZOWlhSb2IyUWlMQ0ptYmlJc0ltTmhiR3dpTENKSFpXNWxjbUYwYjNKR2RXNWpkR2x2YmlJc0lrZGxibVZ5WVhSdmNrWjFibU4wYVc5dVVISnZkRzkwZVhCbElpd2lTWFJsY21GMGIzSlFjbTkwYjNSNWNHVWlMQ0owYUdseklpd2laMlYwVUhKdmRHOGlMQ0puWlhSUWNtOTBiM1I1Y0dWUFppSXNJazVoZEdsMlpVbDBaWEpoZEc5eVVISnZkRzkwZVhCbElpd2lkbUZzZFdWeklpd2lSM0FpTENKa1pXWnBibVZKZEdWeVlYUnZjazFsZEdodlpITWlMQ0ptYjNKRllXTm9JaXdpUVhONWJtTkpkR1Z5WVhSdmNpSXNJbEJ5YjIxcGMyVkpiWEJzSWl3aWNISmxkbWx2ZFhOUWNtOXRhWE5sSWl3aVkyRnNiRWx1ZG05clpWZHBkR2hOWlhSb2IyUkJibVJCY21jaUxDSnlaWE52YkhabElpd2ljbVZxWldOMElpd2lhVzUyYjJ0bElpd2ljbVZ6ZFd4MElpd2lYMTloZDJGcGRDSXNJblJvWlc0aUxDSjFibmR5WVhCd1pXUWlMQ0psY25KdmNpSXNJblZ1WkdWbWFXNWxaQ0lzSWxSNWNHVkZjbkp2Y2lJc0ltbHVabThpTENKeVpYTjFiSFJPWVcxbElpd2libVY0ZENJc0ltNWxlSFJNYjJNaUxDSndkWE5vVkhKNVJXNTBjbmtpTENKc2IyTnpJaXdpWlc1MGNua2lMQ0owY25sTWIyTWlMQ0pqWVhSamFFeHZZeUlzSW1acGJtRnNiSGxNYjJNaUxDSmhablJsY2t4dll5SXNJblJ5ZVVWdWRISnBaWE1pTENKd2RYTm9JaXdpY21WelpYUlVjbmxGYm5SeWVTSXNJbU52YlhCc1pYUnBiMjRpTENKeVpYTmxkQ0lzSW1sMFpYSmhZbXhsSWl3aWFYUmxjbUYwYjNKTlpYUm9iMlFpTENKcGMwNWhUaUlzSW14bGJtZDBhQ0lzSW1raUxDSmpiMjV6ZEhKMVkzUnZjaUlzSW1ScGMzQnNZWGxPWVcxbElpd2lhWE5IWlc1bGNtRjBiM0pHZFc1amRHbHZiaUlzSW1kbGJrWjFiaUlzSW1OMGIzSWlMQ0p1WVcxbElpd2liV0Z5YXlJc0luTmxkRkJ5YjNSdmRIbHdaVTltSWl3aVgxOXdjbTkwYjE5Zklpd2lZWGR5WVhBaUxDSmhjM2x1WXlJc0lsQnliMjFwYzJVaUxDSnBkR1Z5SWl3aWRHOVRkSEpwYm1jaUxDSnJaWGx6SWl3aWIySnFaV04wSWl3aWNtVjJaWEp6WlNJc0luQnZjQ0lzSW5OcmFYQlVaVzF3VW1WelpYUWlMQ0p3Y21WMklpd2lZMmhoY2tGMElpd2ljMnhwWTJVaUxDSnpkRzl3SWl3aWNtOXZkRkpsWTI5eVpDSXNJbkoyWVd3aUxDSmxlR05sY0hScGIyNGlMQ0pvWVc1a2JHVWlMQ0pzYjJNaUxDSmpZWFZuYUhRaUxDSm9ZWE5EWVhSamFDSXNJbWhoYzBacGJtRnNiSGtpTENKbWFXNWhiR3g1Ulc1MGNua2lMQ0pqYjIxd2JHVjBaU0lzSW1acGJtbHphQ0lzSW1OaGRHTm9JaXdpZEdoeWIzZHVJaXdpWkdWc1pXZGhkR1ZaYVdWc1pDSXNJbTF2WkhWc1pTSXNJbkpsWjJWdVpYSmhkRzl5VW5WdWRHbHRaU0lzSW1GalkybGtaVzUwWVd4VGRISnBZM1JOYjJSbElpd2lSblZ1WTNScGIyNGlMQ0poYzNsdVkwZGxibVZ5WVhSdmNsTjBaWEFpTENKblpXNGlMQ0pmYm1WNGRDSXNJbDkwYUhKdmR5SXNJbUZ5WjNNaUxDSmhjbWQxYldWdWRITWlMQ0poY0hCc2VTSXNJbUZ5Y2lJc0lrRnljbUY1SWl3aWFYTkJjbkpoZVNJc0lsOWhjbklpTENKZmJpSXNJbDlrSWl3aVgyVWlMQ0pmY3lJc0lsOXBJaXdpYkdWdUlpd2lZWEp5TWlJc0ltOGlMQ0p0YVc1TVpXNGlMQ0poY25KaGVVeHBhMlZVYjBGeWNtRjVJaXdpYmlJc0ltWnliMjBpTENKMFpYTjBJaXdpWVhKeVlYbFhhWFJvU0c5c1pYTWlMQ0pwZEdWeVlXSnNaVlJ2UVhKeVlYbE1hVzFwZENJc0luVnVjM1Z3Y0c5eWRHVmtTWFJsY21GaWJHVlViMEZ5Y21GNUlpd2libTl1U1hSbGNtRmliR1ZTWlhOMElpd2lhVzV6ZEdGdVkyVWlMQ0pEYjI1emRISjFZM1J2Y2lJc0lsOWtaV1pwYm1WUWNtOXdaWEowYVdWeklpd2lkR0Z5WjJWMElpd2ljSEp2Y0hNaUxDSmtaWE5qY21sd2RHOXlJaXdpY0hKdmRHOVFjbTl3Y3lJc0luTjBZWFJwWTFCeWIzQnpJaXdpWlNJc0ltNWhkbWxuWVhSdmNpSXNJbkJsY20xcGMzTnBiMjV6SWl3aWNpSXNJbTFsWkdsaFJHVjJhV05sY3lJc0luUWlMQ0poSWl3aWRTSXNJbU1pTENKeVpYUjFjbTRpTENKRVQwMUZlR05sY0hScGIyNGlMQ0p4ZFdWeWVTSXNJbkpsYlc5MlpVVjJaVzUwVEdsemRHVnVaWElpTENKaFpHUkZkbVZ1ZEV4cGMzUmxibVZ5SWl3aWREQWlMQ0p6SWl3aVppSXNJbkFpTENKME1TSXNJbWRsZEZWelpYSk5aV1JwWVNJc0luUXlJaXdpZERNaUxDSmhiR3dpTENKME5DSXNJbFp2WTJGc0lpd2liM0IwYVc5dWN5SXNJbE53WldWamFGSmxZMjluYm1sMGFXOXVJaXdpWDNKbGMyOXNkbVZUY0dWbFkyaFNaV052WjI1cGRHbHZiaUlzSWw5cGJuTjBZVzVqWlNJc0lsOXNhWE4wWlc1bGNuTWlMQ0psYm5SeWFXVnpJaXdpWkdWbVlYVnNkRTl3ZEdsdmJuTWlMQ0pUY0dWbFkyaEhjbUZ0YldGeVRHbHpkQ0lzSWw5eVpYTnZiSFpsVTNCbFpXTm9SM0poYlcxaGNreHBjM1FpTENKZmRHaHBjeUlzSW1selRtRjJhV2RoZEc5eVVHVnliV2x6YzJsdmJuTlRkWEJ3YjNKMFpXUWlMQ0pwYzA1aGRtbG5ZWFJ2Y2sxbFpHbGhSR1YyYVdObGMxTjFjSEJ2Y25SbFpDSXNJbDhpTENKblpYUlZjMlZ5VFdWa2FXRlRkSEpsWVcwaUxDSmhkV1JwYnlJc0luTjBZWEowSWl3aVpYSnliM0pJWVc1a2JHVnlJaXdpWVdKdmNuUWlMQ0psZG1WdWRGUjVjR1VpTENKallXeHNZbUZqYXlJc0lsOXBibU5zZFdSbGMwVjJaVzUwVkhsd1pTSXNJbWhoYm1Sc1pYSWlMQ0psZG1WdWRDSXNJbUZrWkdsMGFXOXVZV3hCY21keklpd2laWFpsYm5SVWVYQmxjeUlzSWxKRlUxVk1WQ0lzSW5KbGMzVnNkSE1pTENKMGNtRnVjMk55YVhCMElpd2lYM1JvYVhNeUlpd2lYM1JvYVhNeklpd2labWx1WkNJc0luZHBibVJ2ZHlJc0luZGxZbXRwZEZOd1pXVmphRkpsWTI5bmJtbDBhVzl1SWl3aWJXOTZVM0JsWldOb1VtVmpiMmR1YVhScGIyNGlMQ0p0YzFOd1pXVmphRkpsWTI5bmJtbDBhVzl1SWl3aWQyVmlhMmwwVTNCbFpXTm9SM0poYlcxaGNreHBjM1FpTENKdGIzcFRjR1ZsWTJoSGNtRnRiV0Z5VEdsemRDSXNJbTF6VTNCbFpXTm9SM0poYlcxaGNreHBjM1FpTENKbmNtRnRiV0Z5Y3lJc0lteGhibWNpTENKamIyNTBhVzUxYjNWeklpd2lhVzUwWlhKcGJWSmxjM1ZzZEhNaUxDSnRZWGhCYkhSbGNtNWhkR2wyWlhNaUxDSnpaWEoyYVdObFZWSkpJaXdpUVZWRVNVOWZSVTVFSWl3aVFWVkVTVTlmVTFSQlVsUWlMQ0pGVGtRaUxDSkZVbEpQVWlJc0lrNVBYMDFCVkVOSUlpd2lVMDlWVGtSZlJVNUVJaXdpVTA5VlRrUmZVMVJCVWxRaUxDSlRVRVZGUTBoZlJVNUVJaXdpVTFCRlJVTklYMU5VUVZKVUlpd2lVMVJCVWxRaVhTd2liV0Z3Y0dsdVozTWlPaUk0VDBGUFFTeEpRVUZKUVN4RlFVRlhMRk5CUVZWRExFZEJSM1pDTEVsQlFVbERMRVZCUVV0RExFOUJRVTlETEZWQlExcERMRVZCUVZOSUxFVkJRVWRKTEdWQlJWcERMRVZCUVRSQ0xHMUNRVUZZUXl4UFFVRjNRa0VzVDBGQlV5eEhRVU5zUkVNc1JVRkJhVUpHTEVWQlFWRkhMRlZCUVZrc1lVRkRja05ETEVWQlFYTkNTaXhGUVVGUlN5eGxRVUZwUWl4clFrRkRMME5ETEVWQlFXOUNUaXhGUVVGUlR5eGhRVUZsTEdkQ1FVVXZReXhUUVVGVFF5eEZRVUZQUXl4RlFVRkxReXhGUVVGTFF5eEhRVTk0UWl4UFFVNUJaaXhQUVVGUFowSXNaVUZCWlVnc1JVRkJTME1zUlVGQlN5eERRVU01UWtNc1RVRkJUMEVzUlVGRFVFVXNXVUZCV1N4RlFVTmFReXhqUVVGakxFVkJRMlJETEZWQlFWVXNTVUZGVEU0c1JVRkJTVU1zUjBGRllpeEpRVVZGUml4RlFVRlBMRWRCUVVrc1NVRkRXQ3hOUVVGUFVTeEhRVU5RVWl4RlFVRlRMRk5CUVZORExFVkJRVXRETEVWQlFVdERMRWRCUXpGQ0xFOUJRVTlHTEVWQlFVbERMRWRCUVU5RExFZEJTWFJDTEZOQlFWTk5MRVZCUVV0RExFVkJRVk5ETEVWQlFWTkRMRVZCUVUxRExFZEJSWEJETEVsQlFVbERMRVZCUVdsQ1NDeEhRVUZYUVN4RlFVRlJkRUlzY1VKQlFYRkNNRUlzUlVGQldVb3NSVUZCVlVrc1JVRkRMMFZETEVWQlFWazFRaXhQUVVGUE5rSXNUMEZCVDBnc1JVRkJaWHBDTEZkQlEzcEROa0lzUlVGQlZTeEpRVUZKUXl4RlFVRlJUaXhIUVVGbExFbEJUWHBETEU5QlJrRkhMRVZCUVZWSkxGRkJjMDFhTEZOQlFUQkNWaXhGUVVGVFJTeEZRVUZOVFN4SFFVTjJReXhKUVVGSlJ5eEZRUzlMZFVJc2FVSkJhVXd6UWl4UFFVRlBMRk5CUVdkQ1F5eEZRVUZSUXl4SFFVTTNRaXhIUVdoTWIwSXNZMEZuVEdoQ1JpeEZRVU5HTEUxQlFVMHNTVUZCU1Vjc1RVRkJUU3huUTBGSGJFSXNSMEZ1VEc5Q0xHTkJiVXhvUWtnc1JVRkJOa0lzUTBGREwwSXNSMEZCWlN4VlFVRllReXhGUVVOR0xFMUJRVTFETEVWQlMxSXNUMEZCVDBVc1NVRk5WQ3hKUVVoQlVDeEZRVUZSU1N4UFFVRlRRU3hGUVVOcVFrb3NSVUZCVVVzc1NVRkJUVUVzU1VGRlJDeERRVU5ZTEVsQlFVbEhMRVZCUVZkU0xFVkJRVkZSTEZOQlEzWkNMRWRCUVVsQkxFVkJRVlVzUTBGRFdpeEpRVUZKUXl4RlFVRnBRa01zUlVGQmIwSkdMRVZCUVZWU0xFZEJRMjVFTEVkQlFVbFRMRVZCUVdkQ0xFTkJRMnhDTEVkQlFVbEJMRWxCUVcxQ1JTeEZRVUZyUWl4VFFVTjZReXhQUVVGUFJpeEhRVWxZTEVkQlFYVkNMRk5CUVc1Q1ZDeEZRVUZSU1N4UFFVZFdTaXhGUVVGUldTeExRVUZQV2l4RlFVRlJZU3hOUVVGUllpeEZRVUZSU3l4VFFVVnNReXhIUVVGMVFpeFZRVUZ1UWt3c1JVRkJVVWtzVDBGQmIwSXNRMEZEY2tNc1IwRnVUbkZDTEcxQ1FXMU9ha0pFTEVWQlJVWXNUVUZFUVVFc1JVRnFUbU1zV1VGclRsSklMRVZCUVZGTExFbEJSMmhDVEN4RlFVRlJZeXhyUWtGQmEwSmtMRVZCUVZGTExGTkJSVTRzVjBGQmJrSk1MRVZCUVZGSkxGRkJRMnBDU2l4RlFVRlJaU3hQUVVGUExGTkJRVlZtTEVWQlFWRkxMRXRCUjI1RFJpeEZRVFZPYTBJc1dVRTRUbXhDTEVsQlFVbGhMRVZCUVZORExFVkJRVk42UWl4RlFVRlRSU3hGUVVGTlRTeEhRVU55UXl4SFFVRnZRaXhYUVVGb1FtZENMRVZCUVU5RkxFdEJRVzFDTEVOQlR6VkNMRWRCU2tGbUxFVkJRVkZJTEVWQlFWRnRRaXhMUVdwUFFTeFpRVVpMTEdsQ1FYVlBha0pJTEVWQlFVOVlMRTFCUVZGTkxFVkJRMnBDTEZOQlIwWXNUVUZCVHl4RFFVTk1NVUlzVFVGQlR5dENMRVZCUVU5WUxFbEJRMlJqTEV0QlFVMXVRaXhGUVVGUmJVSXNUVUZIVXl4VlFVRm9Ra2dzUlVGQlQwVXNUMEZEYUVKbUxFVkJMMDluUWl4WlFXdFFhRUpJTEVWQlFWRkpMRTlCUVZNc1VVRkRha0pLTEVWQlFWRkxMRWxCUVUxWExFVkJRVTlZTEU5Qk9WRlFaU3hEUVVGcFFqVkNMRVZCUVZORkxFVkJRVTFOTEVkQlJUZERSaXhGUVdOVUxGTkJRVk50UWl4RlFVRlRTU3hGUVVGSmRFTXNSVUZCUzNOQ0xFZEJRM3BDTEVsQlEwVXNUVUZCVHl4RFFVRkZZU3hMUVVGTkxGTkJRVlZpTEVsQlFVdG5RaXhGUVVGSFF5eExRVUZMZGtNc1JVRkJTM05DTEVsQlF6TkRMRTFCUVU5bUxFZEJRMUFzVFVGQlR5eERRVUZGTkVJc1MwRkJUU3hSUVVGVFlpeEpRVUZMWml4SlFXaENha04wUWl4RlFVRlJkVUlzUzBGQlQwRXNSVUZ2UW1Zc1NVRlBTVzlDTEVWQlFXMUNMRWRCVFhaQ0xGTkJRVk5rTEV0QlExUXNVMEZCVXpCQ0xFdEJRMVFzVTBGQlUwTXNTMEZKVkN4SlFVRkpReXhGUVVGdlFpeEhRVU40UWtFc1JVRkJhMEpxUkN4SFFVRnJRaXhYUVVOc1F5eFBRVUZQYTBRc1RVRkhWQ3hKUVVGSlF5eEZRVUZYZWtRc1QwRkJUekJFTEdWQlEyeENReXhGUVVFd1FrWXNSMEZCV1VFc1JVRkJVMEVzUlVGQlUwY3NSVUZCVHl4TlFVTXZSRVFzUjBGRFFVRXNTVUZCTkVJMVJDeEhRVU0xUWtjc1JVRkJUMnRFTEV0QlFVdFBMRVZCUVhsQ2NrUXNTMEZIZGtOcFJDeEZRVUZ2UWtrc1IwRkhkRUlzU1VGQlNVVXNSVUZCUzFBc1JVRkJNa0p5UkN4VlFVTnNRekJDTEVWQlFWVXhRaXhWUVVGWlJDeFBRVUZQTmtJc1QwRkJUekJDTEVkQlYzUkRMRk5CUVZOUExFVkJRWE5DTjBRc1IwRkROMElzUTBGQlF5eFBRVUZSTEZGQlFWTXNWVUZCVlRoRUxGTkJRVkVzVTBGQlV6ZENMRWRCUXpORGRFSXNSVUZCVDFnc1JVRkJWMmxETEVkQlFWRXNVMEZCVTBNc1IwRkRha01zVDBGQlQzRkNMRXRCUVV0NFFpeFJRVUZSUlN4RlFVRlJReXhUUVd0RGJFTXNVMEZCVXpaQ0xFVkJRV053UXl4RlFVRlhjVU1zUjBGblEyaERMRWxCUVVsRExFVkJaME5LVml4TFFVRkxlRUlzVVVFNVFrd3NVMEZCYVVKRkxFVkJRVkZETEVkQlEzWkNMRk5CUVZOblF5eEpRVU5RTEU5QlFVOHNTVUZCU1VZc1IwRkJXU3hUUVVGVFJ5eEZRVUZUUXl4SlFXNUROME1zVTBGQlUwTXNSVUZCVDNCRExFVkJRVkZETEVWQlFVdHBReXhGUVVGVFF5eEhRVU53UXl4SlFVRkpka0lzUlVGQlUwTXNSVUZCVTI1Q0xFVkJRVlZOTEVkQlFWTk9MRVZCUVZkUExFZEJRM0JFTEVkQlFXOUNMRlZCUVdoQ1Z5eEZRVUZQUlN4TFFVVktMRU5CUTB3c1NVRkJTWFZDTEVWQlFWTjZRaXhGUVVGUFdDeEpRVU5vUW5CQ0xFVkJRVkYzUkN4RlFVRlBlRVFzVFVGRGJrSXNUMEZCU1VFc1IwRkRhVUlzYVVKQlFWWkJMRWRCUTFCaUxFVkJRVTlyUkN4TFFVRkxja01zUlVGQlR5eFhRVU5rYTBRc1JVRkJXVWNzVVVGQlVYSkVMRVZCUVUxNVJDeFRRVUZUUXl4TlFVRkxMRk5CUVZNeFJDeEhRVU4wUkhWRUxFVkJRVThzVDBGQlVYWkVMRVZCUVU5eFJDeEZRVUZUUXl4TlFVTTVRaXhUUVVGVGFrUXNSMEZEVm10RUxFVkJRVThzVVVGQlUyeEVMRVZCUVV0blJDeEZRVUZUUXl4TlFVa3pRa29zUlVGQldVY3NVVUZCVVhKRUxFZEJRVTh3UkN4TlFVRkxMRk5CUVZORExFZEJTVGxEU0N4RlFVRlBlRVFzVFVGQlVUSkVMRVZCUTJaT0xFVkJRVkZITEUxQlExQXNVMEZCVTBrc1IwRkhWaXhQUVVGUFRDeEZRVUZQTEZGQlFWTkxMRVZCUVU5UUxFVkJRVk5ETEUxQmRrSjZRMEVzUlVGQlQzWkNMRVZCUVU5WUxFdEJhVU5hYlVNc1EwRkJUM0JETEVWQlFWRkRMRVZCUVV0cFF5eEZRVUZUUXl4TlFVbHFReXhQUVVGUFNDeEZRV0ZNUVN4RlFVRnJRa0VzUlVGQlowSlBMRXRCUTJoRFRpeEZRVWRCUVN4SFFVTkZRU3hMUVd0SVZpeFRRVUZUTTBJc1JVRkJiMEpHTEVWQlFWVlNMRWRCUTNKRExFbEJRVWxKTEVWQlFWTkpMRVZCUVZNdlFpeFRRVUZUZFVJc1JVRkJVVWtzVVVGRGRrTXNVVUV4VkVVd1F5eEpRVEJVUlRGRExFVkJRWE5DTEVOQlMzaENMRWRCUmtGS0xFVkJRVkZSTEZOQlFWY3NTMEZGU1N4VlFVRnVRbElzUlVGQlVVa3NUMEZCYjBJc1EwRkZPVUlzUjBGQlNVa3NSVUZCVXk5Q0xGTkJRV2xDTEZOQlJ6VkNkVUlzUlVGQlVVa3NUMEZCVXl4VFFVTnFRa29zUlVGQlVVc3NVMEZ5VlZwNVF5eEZRWE5WU1hCRExFVkJRVzlDUml4RlFVRlZVaXhIUVVWUUxGVkJRVzVDUVN4RlFVRlJTU3hSUVVkV0xFOUJRVTlQTEVWQlNWaFlMRVZCUVZGSkxFOUJRVk1zVVVGRGFrSktMRVZCUVZGTExFbEJRVTBzU1VGQlNUQkRMRlZCUTJoQ0xHdEVRVWRLTEU5QlFVOXdReXhGUVVkVUxFbEJRVWxMTEVWQlFWTkRMRVZCUVZOaUxFVkJRVkZKTEVWQlFWTXZRaXhUUVVGVmRVSXNSVUZCVVVzc1MwRkZla1FzUjBGQmIwSXNWVUZCYUVKWExFVkJRVTlGTEV0QlNWUXNUMEZJUVd4Q0xFVkJRVkZKTEU5QlFWTXNVVUZEYWtKS0xFVkJRVkZMTEVsQlFVMVhMRVZCUVU5WUxFbEJRM0pDVEN4RlFVRlJVU3hUUVVGWExFdEJRMXBITEVWQlIxUXNTVUZCU1hGRExFVkJRVTlvUXl4RlFVRlBXQ3hKUVVWc1FpeFBRVUZOTWtNc1JVRlBSa0VzUlVGQlN6ZENMRTFCUjFCdVFpeEZRVUZSVVN4RlFVRlRlVU1zV1VGQlkwUXNSVUZCU3k5RUxFMUJSM0JEWlN4RlFVRlJhMFFzUzBGQlR6RkRMRVZCUVZNeVF5eFJRVkZFTEZkQlFXNUNia1FzUlVGQlVVa3NVMEZEVmtvc1JVRkJVVWtzVDBGQlV5eFBRVU5xUWtvc1JVRkJVVXNzVTBGNldGWjVReXhIUVcxWlJqbERMRVZCUVZGUkxGTkJRVmNzUzBGRFdrY3NSMEZPUlhGRExFZEJNMEpRYUVRc1JVRkJVVWtzVDBGQlV5eFJRVU5xUWtvc1JVRkJVVXNzU1VGQlRTeEpRVUZKTUVNc1ZVRkJWU3h2UTBGRE5VSXZReXhGUVVGUlVTeFRRVUZYTEV0QlExcEhMRWRCYjBSWUxGTkJRVk41UXl4RlFVRmhReXhIUVVOd1FpeEpRVUZKUXl4RlFVRlJMRU5CUVVWRExFOUJRVkZHTEVWQlFVc3NTVUZGZGtJc1MwRkJTMEVzU1VGRFVFTXNSVUZCVFVVc1UwRkJWMGdzUlVGQlN5eEpRVWR3UWl4TFFVRkxRU3hKUVVOUVF5eEZRVUZOUnl4WFFVRmhTaXhGUVVGTExFZEJRM2hDUXl4RlFVRk5TU3hUUVVGWFRDeEZRVUZMTEVsQlIzaENNMElzUzBGQlMybERMRmRCUVZkRExFdEJRVXRPTEVkQlIzWkNMRk5CUVZOUExFVkJRV05RTEVkQlEzSkNMRWxCUVVsMFF5eEZRVUZUYzBNc1JVRkJUVkVzV1VGQll5eEhRVU5xUXpsRExFVkJRVTlGTEV0QlFVOHNaMEpCUTFCR0xFVkJRVTlZTEVsQlEyUnBSQ3hGUVVGTlVTeFhRVUZoT1VNc1JVRkhja0lzVTBGQlUyWXNSVUZCVVU0c1IwRkpaaXRDTEV0QlFVdHBReXhYUVVGaExFTkJRVU1zUTBGQlJVb3NUMEZCVVN4VFFVTTNRalZFTEVWQlFWbHpReXhSUVVGUmJVSXNSVUZCWXpGQ0xFMUJRMnhEUVN4TFFVRkxjVU1zVDBGQlRTeEhRVGhDWWl4VFFVRlRha01zUlVGQlQydERMRWRCUTJRc1IwRkJTVUVzUlVGQlZTeERRVU5hTEVsQlFVbERMRVZCUVdsQ1JDeEZRVUZUZUVZc1IwRkRPVUlzUjBGQlNYbEdMRVZCUTBZc1QwRkJUMEVzUlVGQlpUTkRMRXRCUVVzd1F5eEhRVWMzUWl4SFFVRTJRaXh0UWtGQmJFSkJMRVZCUVZOa0xFdEJRMnhDTEU5QlFVOWpMRVZCUjFRc1NVRkJTMFVzVFVGQlRVWXNSVUZCVTBjc1VVRkJVeXhEUVVNelFpeEpRVUZKUXl4SFFVRkxMRVZCUVVkc1FpeEZRVUZQTEZOQlFWTkJMRWxCUXpGQ0xFOUJRVk5yUWl4RlFVRkpTaXhGUVVGVFJ5eFJRVU53UWl4SFFVRkpMMFlzUlVGQlQydEVMRXRCUVVzd1F5eEZRVUZWU1N4SFFVZDRRaXhQUVVaQmJFSXNSVUZCUzJwRkxFMUJRVkVyUlN4RlFVRlRTU3hIUVVOMFFteENMRVZCUVVzdlFpeE5RVUZQTEVWQlEwd3JRaXhGUVU5WUxFOUJTRUZCTEVWQlFVdHFSU3hYUVhwbFZEWkVMRVZCTUdWSlNTeEZRVUZMTDBJc1RVRkJUeXhGUVVWTUswSXNSMEZIVkN4UFFVRlBRU3hGUVVGTFFTeExRVUZQUVN4SFFVdDJRaXhOUVVGUExFTkJRVVZCTEV0QlFVMHpReXhIUVVscVFpeFRRVUZUUVN4SlFVTlFMRTFCUVU4c1EwRkJSWFJDTEZkQmVtWlFOa1FzUlVGNVpubENNMElzVFVGQlRTeEhRU3ROYmtNc1QwRTFiVUpCU1N4RlFVRnJRbkJFTEZWQlFWazBSQ3hGUVVGSGMwTXNXVUZCWXpkRExFVkJReTlEUVN4RlFVRXlRalpETEZsQlFXTTVReXhGUVVONlEwRXNSVUZCYTBJclF5eFpRVUZqZUVZc1JVRkRPVUl3UXl4RlFVTkJOVU1zUlVGRFFTeHhRa0ZoUmxvc1JVRkJVWFZITEc5Q1FVRnpRaXhUUVVGVFF5eEhRVU55UXl4SlFVRkpReXhGUVVGNVFpeHRRa0ZCV0VRc1IwRkJlVUpCTEVWQlFVOUlMRmxCUTJ4RUxGRkJRVTlKTEVsQlEwaEJMRWxCUVZOc1JDeEhRVWN5UWl4MVFrRkJia05yUkN4RlFVRkxTQ3hoUVVGbFJ5eEZRVUZMUXl4UlFVbG9RekZITEVWQlFWRXlSeXhMUVVGUExGTkJRVk5JTEVkQlVYUkNMRTlCVUVsMFJ5eFBRVUZQTUVjc1pVRkRWREZITEU5QlFVOHdSeXhsUVVGbFNpeEZRVUZSYUVRc1NVRkZPVUpuUkN4RlFVRlBTeXhWUVVGWmNrUXNSVUZEYmtJeFF5eEZRVUZQTUVZc1JVRkJVVFZHTEVWQlFXMUNMSE5DUVVWd1F6UkdMRVZCUVU5eVJ5eFZRVUZaUkN4UFFVRlBOa0lzVDBGQlQyZERMRWRCUXpGQ2VVTXNSMEZQVkhoSExFVkJRVkU0Unl4TlFVRlJMRk5CUVZONlJTeEhRVU4yUWl4TlFVRlBMRU5CUVVWeFF5eFJRVUZUY2tNc1NVRnpSWEJDTWtJc1JVRkJjMEpGTEVWQlFXTXZSQ3hYUVVOd1F5dEVMRVZCUVdNdlJDeFZRVUZWVHl4SFFVRjFRaXhYUVVNM1F5eFBRVUZQWjBRc1RVRkZWREZFTEVWQlFWRnJSU3hqUVVGblFrRXNSVUZMZUVKc1JTeEZRVUZSSzBjc1RVRkJVU3hUUVVGVGRrWXNSVUZCVTBNc1JVRkJVME1zUlVGQlRVTXNSVUZCWVhkRExGRkJRM2hETEVsQlFXaENRU3hKUVVGM1FrRXNSVUZCWXpaRExGTkJSVEZETEVsQlFVbERMRVZCUVU4c1NVRkJTUzlETEVWQlEySXpReXhGUVVGTFF5eEZRVUZUUXl4RlFVRlRReXhGUVVGTlF5eEhRVU0zUW5kRExFZEJSMFlzVDBGQlQyNUZMRVZCUVZGMVJ5eHZRa0ZCYjBJNVJTeEhRVU12UW5kR0xFVkJRMEZCTEVWQlFVc3ZRaXhQUVVGUFVDeE5RVUZMTEZOQlFWTkdMRWRCUTNoQ0xFOUJRVTlCTEVWQlFVOTBRaXhMUVVGUGMwSXNSVUZCVDNoRUxFMUJRVkZuUnl4RlFVRkxMMElzVjBGMVMycEViRUlzUlVGQmMwSkVMRWRCUlhSQ2FrUXNSVUZCVDJsRUxFVkJRVWx1UkN4RlFVRnRRaXhoUVU4NVFtMUVMRVZCUVVkMlJDeEhRVUZyUWl4WFFVTnVRaXhQUVVGUGEwUXNUVUZIVkVzc1JVRkJSMjFFTEZOQlFWY3NWMEZEV2l4TlFVRlBMSE5DUVd0RFZHeElMRVZCUVZGdFNDeExRVUZQTEZOQlFWTkRMRWRCUTNSQ0xFbEJRVWxFTEVWQlFVOHNSMEZEV0N4SlFVRkxMRWxCUVVsdVJ5eExRVUZQYjBjc1JVRkRaRVFzUlVGQlMzWkNMRXRCUVVzMVJTeEhRVTFhTEU5QlNrRnRSeXhGUVVGTFJTeFZRVWxGTEZOQlFWTnVReXhKUVVOa0xFdEJRVTlwUXl4RlFVRkxhRUlzVVVGQlVTeERRVU5zUWl4SlFVRkpia1lzUlVGQlRXMUhMRVZCUVV0SExFMUJRMllzUjBGQlNYUkhMRXRCUVU5dlJ5eEZRVWRVTEU5QlJrRnNReXhGUVVGTGFrVXNUVUZCVVVRc1JVRkRZbXRGTEVWQlFVc3ZRaXhOUVVGUExFVkJRMHdyUWl4RlFWRllMRTlCUkVGQkxFVkJRVXN2UWl4TlFVRlBMRVZCUTB3clFpeEpRWE5EV0d4R0xFVkJRVkU0UkN4UFFVRlRRU3hGUVUxcVFqZENMRVZCUVZFNVFpeFZRVUZaTEVOQlEyeENhMGNzV1VGQllYQkZMRVZCUldJNFJDeE5RVUZQTEZOQlFWTjNRaXhIUVdOa0xFZEJZa0UzUkN4TFFVRkxPRVFzUzBGQlR5eEZRVU5hT1VRc1MwRkJTM2RDTEV0QlFVOHNSVUZIV25oQ0xFdEJRVXRrTEV0QlFVOWpMRXRCUVV0aUxGZEJjR2RDYWtKcFF5eEZRWEZuUWtGd1FpeExRVUZMVUN4TlFVRlBMRVZCUTFwUExFdEJRVXRzUWl4VFFVRlhMRXRCUldoQ2EwSXNTMEZCUzNSQ0xFOUJRVk1zVDBGRFpITkNMRXRCUVV0eVFpeFRRWHBuUWt4NVF5eEZRVEpuUWtGd1FpeExRVUZMYVVNc1YwRkJWekZDTEZGQlFWRTBRaXhKUVVWdVFqQkNMRVZCUTBnc1NVRkJTeXhKUVVGSllpeExRVUZSYUVRc1MwRkZVU3hOUVVGdVFtZEVMRVZCUVV0bExFOUJRVThzU1VGRFduSklMRVZCUVU5clJDeExRVUZMU1N4TFFVRk5aMFFzUzBGRGFrSlNMRTlCUVU5UkxFVkJRVXRuUWl4TlFVRk5MRTFCUTNKQ2FFVXNTMEZCUzJkRUxGRkJibWhDV0RWQ0xFbEJlV2hDUmpaRExFdEJRVTBzVjBGRFNtcEZMRXRCUVV0UUxFMUJRVThzUlVGRldpeEpRVU5KZVVVc1JVRkVXV3hGTEV0QlFVdHBReXhYUVVGWExFZEJRMHhITEZkQlF6TkNMRWRCUVhkQ0xGVkJRWEJDT0VJc1JVRkJWekZGTEV0QlEySXNUVUZCVFRCRkxFVkJRVmQyUml4SlFVZHVRaXhQUVVGUGNVSXNTMEZCUzIxRkxFMUJSMlF2UlN4clFrRkJiVUlzVTBGQlUyZEdMRWRCUXpGQ0xFZEJRVWx3UlN4TFFVRkxVQ3hMUVVOUUxFMUJRVTB5UlN4RlFVZFNMRWxCUVVrNVJpeEZRVUZWTUVJc1MwRkRaQ3hUUVVGVGNVVXNSVUZCVDBNc1JVRkJTME1zUjBGWmJrSXNUMEZZUVdwR0xFVkJRVTlGTEV0QlFVOHNVVUZEWkVZc1JVRkJUMWdzU1VGQlRYbEdMRVZCUTJJNVJpeEZRVUZSYTBRc1MwRkJUemhETEVWQlJWaERMRWxCUjBacVJ5eEZRVUZSU1N4UFFVRlRMRTlCUTJwQ1NpeEZRVUZSU3l4VFFYQnFRbHA1UXl4TFFYVnFRbGx0UkN4RlFVZGFMRWxCUVVzc1NVRkJTVGRDTEVWQlFVa3hReXhMUVVGTGFVTXNWMEZCVjFFc1QwRkJVeXhGUVVGSFF5eEhRVUZMTEVsQlFVdEJMRVZCUVVjc1EwRkRjRVFzU1VGQlNXUXNSVUZCVVRWQ0xFdEJRVXRwUXl4WFFVRlhVeXhIUVVONFFuQkVMRVZCUVZOelF5eEZRVUZOVVN4WFFVVnVRaXhIUVVGeFFpeFRRVUZxUWxJc1JVRkJUVU1zVDBGSlVpeFBRVUZQZDBNc1JVRkJUeXhQUVVkb1FpeEhRVUZKZWtNc1JVRkJUVU1zVVVGQlZUZENMRXRCUVVzNFJDeExRVUZOTEVOQlF6ZENMRWxCUVVsVkxFVkJRVmM1U0N4RlFVRlBhMFFzUzBGQlMyZERMRVZCUVU4c1dVRkRPVUkyUXl4RlFVRmhMMGdzUlVGQlQydEVMRXRCUVV0blF5eEZRVUZQTEdOQlJYQkRMRWRCUVVrMFF5eEhRVUZaUXl4RlFVRlpMRU5CUXpGQ0xFZEJRVWw2UlN4TFFVRkxPRVFzUzBGQlQyeERMRVZCUVUxRkxGTkJRM0JDTEU5QlFVOTFReXhGUVVGUGVrTXNSVUZCVFVVc1ZVRkJWU3hIUVVONlFpeEhRVUZKT1VJc1MwRkJTemhFTEV0QlFVOXNReXhGUVVGTlJ5eFhRVU16UWl4UFFVRlBjME1zUlVGQlQzcERMRVZCUVUxSExHbENRVWRxUWl4SFFVRkplVU1zUjBGRFZDeEhRVUZKZUVVc1MwRkJTemhFTEV0QlFVOXNReXhGUVVGTlJTeFRRVU53UWl4UFFVRlBkVU1zUlVGQlQzcERMRVZCUVUxRkxGVkJRVlVzVDBGSE0wSXNRMEZCUVN4SlFVRkpNa01zUlVGTlZDeE5RVUZOTEVsQlFVazNSaXhOUVVGTkxEQkRRVXhvUWl4SFFVRkpiMElzUzBGQlN6aEVMRXRCUVU5c1F5eEZRVUZOUnl4WFFVTndRaXhQUVVGUGMwTXNSVUZCVDNwRExFVkJRVTFITEdkQ1FWVTVRakZETEU5QlFWRXNVMEZCVTBjc1JVRkJUV0lzUjBGRGNrSXNTVUZCU3l4SlFVRkpLMFFzUlVGQlNURkRMRXRCUVV0cFF5eFhRVUZYVVN4UFFVRlRMRVZCUVVkRExFZEJRVXNzU1VGQlMwRXNSVUZCUnl4RFFVTndSQ3hKUVVGSlpDeEZRVUZSTlVJc1MwRkJTMmxETEZkQlFWZFRMRWRCUXpWQ0xFZEJRVWxrTEVWQlFVMURMRkZCUVZVM1FpeExRVUZMT0VRc1RVRkRja0p3U0N4RlFVRlBhMFFzUzBGQlMyZERMRVZCUVU4c1pVRkRia0kxUWl4TFFVRkxPRVFzUzBGQlQyeERMRVZCUVUxSExGZEJRVmtzUTBGRGFFTXNTVUZCU1RKRExFVkJRV1U1UXl4RlFVTnVRaXhQUVVsQk9FTXNTVUZEVlN4VlFVRlViRVlzUjBGRFV5eGhRVUZVUVN4SlFVTkVhMFlzUlVGQllUZERMRkZCUVZWc1JDeEhRVU4yUWtFc1IwRkJUeXRHTEVWQlFXRXpReXhoUVVkMFFqSkRMRVZCUVdVc1RVRkhha0lzU1VGQlNYQkdMRVZCUVZOdlJpeEZRVUZsUVN4RlFVRmhkRU1zVjBGQllTeEhRVWwwUkN4UFFVaEJPVU1zUlVGQlQwVXNTMEZCVDBFc1JVRkRaRVlzUlVGQlQxZ3NTVUZCVFVFc1JVRkZWQ3RHTEVkQlEwWXhSU3hMUVVGTGRFSXNUMEZCVXl4UFFVTmtjMElzUzBGQlMzZENMRXRCUVU5clJDeEZRVUZoTTBNc1YwRkRiRUk1UXl4SFFVZEdaU3hMUVVGTE1rVXNVMEZCVTNKR0xFbEJSM1pDY1VZc1UwRkJWU3hUUVVGVGNrWXNSVUZCVVRCRExFZEJRM3BDTEVkQlFXOUNMRlZCUVdoQ01VTXNSVUZCVDBVc1MwRkRWQ3hOUVVGTlJpeEZRVUZQV0N4SlFXTm1MRTFCV0c5Q0xGVkJRV2hDVnl4RlFVRlBSU3hOUVVOVExHRkJRV2hDUml4RlFVRlBSU3hMUVVOVVVTeExRVUZMZDBJc1MwRkJUMnhETEVWQlFVOVlMRWxCUTAwc1YwRkJhRUpYTEVWQlFVOUZMRTFCUTJoQ1VTeExRVUZMYlVVc1MwRkJUMjVGTEV0QlFVdHlRaXhKUVVGTlZ5eEZRVUZQV0N4SlFVTTVRbkZDTEV0QlFVdDBRaXhQUVVGVExGTkJRMlJ6UWl4TFFVRkxkMElzUzBGQlR5eFBRVU5oTEZkQlFXaENiRU1zUlVGQlQwVXNUVUZCY1VKM1F5eEpRVU55UTJoRExFdEJRVXQzUWl4TFFVRlBVU3hIUVVkUUwwTXNSMEZIVkRKR0xFOUJRVkVzVTBGQlV6ZERMRWRCUTJZc1NVRkJTeXhKUVVGSlZ5eEZRVUZKTVVNc1MwRkJTMmxETEZkQlFWZFJMRTlCUVZNc1JVRkJSME1zUjBGQlN5eEpRVUZMUVN4RlFVRkhMRU5CUTNCRUxFbEJRVWxrTEVWQlFWRTFRaXhMUVVGTGFVTXNWMEZCVjFNc1IwRkROVUlzUjBGQlNXUXNSVUZCVFVjc1lVRkJaVUVzUlVGSGRrSXNUMEZHUVM5Q0xFdEJRVXN5UlN4VFFVRlRMME1zUlVGQlRWRXNWMEZCV1ZJc1JVRkJUVWtzVlVGRGRFTkhMRVZCUVdOUUxFZEJRMUF6UXl4SlFVdGlORVlzVFVGQlV5eFRRVUZUYUVRc1IwRkRhRUlzU1VGQlN5eEpRVUZKWVN4RlFVRkpNVU1zUzBGQlMybERMRmRCUVZkUkxFOUJRVk1zUlVGQlIwTXNSMEZCU3l4SlFVRkxRU3hGUVVGSExFTkJRM0JFTEVsQlFVbGtMRVZCUVZFMVFpeExRVUZMYVVNc1YwRkJWMU1zUjBGRE5VSXNSMEZCU1dRc1JVRkJUVU1zVTBGQlYwRXNSVUZCVVN4RFFVTXpRaXhKUVVGSmRrTXNSVUZCVTNORExFVkJRVTFSTEZkQlEyNUNMRWRCUVc5Q0xGVkJRV2hDT1VNc1JVRkJUMFVzUzBGQmEwSXNRMEZETTBJc1NVRkJTWE5HTEVWQlFWTjRSaXhGUVVGUFdDeEpRVU53UW5kRUxFVkJRV05RTEVkQlJXaENMRTlCUVU5clJDeEhRVTFZTEUxQlFVMHNTVUZCU1d4SExFMUJRVTBzTUVKQlIyeENiVWNzWTBGQlpTeFRRVUZUZWtNc1JVRkJWV1lzUlVGQldVVXNSMEZoTlVNc1QwRmFRWHBDTEV0QlFVdHNRaXhUUVVGWExFTkJRMlF2UWl4VFFVRlZjVVFzUlVGQlQydERMRWRCUTJwQ1ppeFhRVUZaUVN4RlFVTmFSU3hSUVVGVFFTeEhRVWRUTEZOQlFXaENla0lzUzBGQlMzUkNMRk5CUjFCelFpeExRVUZMY2tJc1UwRTNja0pRZVVNc1IwRm5jMEpQYmtNc1NVRlJTak5ETEVkQlQzTkNNRWtzUlVGQlR6RkpMRk5CUjNSRExFbEJRMFV5U1N4dFFrRkJjVUkxU1N4RlFVTnlRaXhOUVVGUE5ra3NSMEZWVUVNc1UwRkJVeXhKUVVGTExIbENRVUZrUVN4RFFVRjNRemxKTEU5RE1YVkNNVU1zVTBGQlV5dEpMRVZCUVcxQ1F5eEZRVUZMZWtVc1JVRkJVME1zUlVGQlVYbEZMRVZCUVU5RExFVkJRVkZxU1N4RlFVRkxjVUlzUjBGRGNFVXNTVUZEUlN4SlFVRkpNa01zUlVGQlR5dEVMRVZCUVVrdlNDeEhRVUZMY1VJc1IwRkRhRUp3UWl4RlFVRlJLMFFzUlVGQlN5OUVMRTFCUTJwQ0xFMUJRVTgwUkN4SFFVVlFMRmxCUkVGT0xFVkJRVTlOTEVkQlNVeEhMRVZCUVVzM1FpeExRVU5RYlVJc1JVRkJVWEpFTEVkQlJWSXJSaXhSUVVGUk1VTXNVVUZCVVhKRUxFZEJRVTh3UkN4TFFVRkxjVVVzUlVGQlQwTXNSMEYzUW5aRExFMUJjRUpCTEZOQlFUSkNOVVlzUjBGRGVrSXNUMEZCVHl4WFFVTk1MRWxCUVVrelFpeEZRVUZQWjBNc1MwRkRVSGRHTEVWQlFVOURMRlZCUTFnc1QwRkJUeXhKUVVGSmJrTXNVMEZCVVN4VFFVRlZNVU1zUlVGQlUwTXNSMEZEY0VNc1NVRkJTWGRGTEVWQlFVMHhSaXhGUVVGSEswWXNUVUZCVFRGSUxFVkJRVTEzU0N4SFFVVjZRaXhUUVVGVFJpeEZRVUZOTDBnc1IwRkRZalpJTEVWQlFXMUNReXhGUVVGTGVrVXNSVUZCVTBNc1JVRkJVWGxGTEVWQlFVOURMRVZCUVZFc1QwRkJVV2hKTEVkQlIyeEZMRk5CUVZOblNTeEZRVUZQTTBnc1IwRkRaSGRJTEVWQlFXMUNReXhGUVVGTGVrVXNSVUZCVTBNc1JVRkJVWGxGTEVWQlFVOURMRVZCUVZFc1VVRkJVek5JTEVkQlIyNUZNRWdzVDBGQlRXeEZMRkZETTBKYUxFMUJTa0VzVTBGQmVVSjFSU3hIUVVOMlFpeEhRVUZKUXl4TlFVRk5ReXhSUVVGUlJpeEhRVUZOTEU5QlFVOUJMRWRETUVKcVF5eE5RVE5DUVN4VFFVRXJRa0VzUlVGQlMycEVMRWRCUTJ4RExFZEJRWE5DTEc5Q1FVRllOMFlzVVVGQk5FSkJMRTlCUVU5RkxGbEJRVmxRTEU5QlFVOXRTaXhIUVVGcVJTeERRVU5CTEVsQlFVbEhMRVZCUVU4c1IwRkRVRU1zUjBGQlN5eEZRVU5NUXl4SFFVRkxMRVZCUTB4RExFOUJRVXMzUlN4RlFVVlVMRWxCUTBVc1NVRkJTeXhKUVVGcFF6aEZMRVZCUVRkQ1F5eEZRVUZMVWl4RlFVRkpPVWtzVDBGQlQwVXNZMEZCYlVKblNpeEhRVUZOUnl4RlFVRkxReXhGUVVGSE0wVXNVVUZCVVM5Q0xGRkJRMmhGY1Vjc1JVRkJTelZFTEV0QlFVdG5SU3hGUVVGSE0wa3NVVUZGVkcxR0xFZEJRVXR2UkN4RlFVRkxja1FzVTBGQlYwTXNSMEZJT0VOeFJDeEhRVUZMTEVsQlN6bEZMRTFCUVU5dVNTeEhRVU5RYjBrc1IwRkJTeXhGUVVOTVF5eEZRVUZMY2trc1ZVRkZUQ3hKUVVOUGJVa3NSMEZCYzBJc1RVRkJhRUpKTEVWQlFWY3NVVUZCVjBFc1JVRkJWeXhwUWtGRk5VTXNSMEZCU1Vnc1JVRkJTU3hOUVVGTlF5eEhRVWxzUWl4UFFVRlBTQ3hKUTJSVUxFMUJWa0VzVTBGQk1rSklMRVZCUVV0VExFbEJRMjVDTEUxQlFWQkJMRWRCUVdWQkxFVkJRVTFVTEVWQlFVbHNSQ3hWUVVGUk1rUXNSVUZCVFZRc1JVRkJTV3hFTEZGQlJTOURMRWxCUVVzc1NVRkJTVU1zUlVGQlNTeEZRVUZITWtRc1JVRkJUeXhKUVVGSlZDeE5RVUZOVVN4SFFVRk5NVVFzUlVGQlNUQkVMRVZCUVVzeFJDeEpRVU01UXpKRUxFVkJRVXN6UkN4SFFVRkxhVVFzUlVGQlNXcEVMRWRCUjJoQ0xFOUJRVTh5UkN4SFEwbFVMRTFCVkVFc1UwRkJjVU5ETEVWQlFVZERMRWRCUTNSRExFZEJRVXRFTEVWQlFVd3NRMEZEUVN4SFFVRnBRaXhwUWtGQlRrRXNSVUZCWjBJc1QwRkJUMFVzUlVGQmFVSkdMRVZCUVVkRExFZEJRM1JFTEVsQlFVbEZMRVZCUVVscVN5eFBRVUZQUXl4VlFVRlZLMGNzVTBGQlV6VkVMRXRCUVVzd1J5eEhRVUZIZEVNc1RVRkJUU3hIUVVGSkxFZEJSWEJFTEUxQlJGVXNWMEZCVG5sRExFZEJRV3RDU0N4RlFVRkZNMFFzWTBGQllUaEVMRVZCUVVsSUxFVkJRVVV6UkN4WlFVRlpTeXhOUVVNM1F5eFJRVUZPZVVRc1IwRkJjVUlzVVVGQlRrRXNSVUZCYjBKaUxFMUJRVTFqTEV0QlFVdEtMRWRCUTNoRExHTkJRVTVITEVkQlFYRkNMREpEUVVFeVEwVXNTMEZCUzBZc1IwRkJWMFFzUlVGQmFVSkdMRVZCUVVkRExGRkJRWGhITEVsRFNrWXNUVUZLUVN4WFFVTkZMRTFCUVUwc1NVRkJTV3hHTEZWQlFWVXNPRWxEVjNSQ0xFMUJTa0VzVTBGQmQwSnpSU3hGUVVGTGFrUXNSMEZETTBJc1QwRkJUMnRGTEVWQlFXVnFRaXhKUVVGUmEwSXNSVUZCY1VKc1FpeEZRVUZMYWtRc1NVRkJUVzlGTEVWQlFUSkNia0lzUlVGQlMycEVMRWxCUVUxeFJTeExRMGgwUnl4TlFVNUJMRk5CUVhsQ1F5eEZRVUZWUXl4SFFVTnFReXhMUVVGTlJDeGhRVUZ2UWtNc1IwRkRlRUlzVFVGQlRTeEpRVUZKTlVZc1ZVRkJWU3h6UTBOR2VFSXNVMEZCVXpaR0xFVkJRV3RDUXl4RlFVRlJReXhIUVVOcVF5eEpRVUZMTEVsQlFVa3hSU3hGUVVGSkxFVkJRVWRCTEVWQlFVa3dSU3hGUVVGTk0wVXNUMEZCVVVNc1NVRkJTeXhEUVVOeVF5eEpRVUZKTWtVc1JVRkJZVVFzUlVGQlRURkZMRWRCUTNaQ01rVXNSVUZCVnpWS0xGZEJRV0UwU2l4RlFVRlhOVW9zWVVGQll5eEZRVU5xUkRSS0xFVkJRVmN6U2l4alFVRmxMRVZCUTNSQ0xGVkJRVmN5U2l4SlFVRlpRU3hGUVVGWE1Vb3NWVUZCVnl4SFFVTnFSRzVDTEU5QlFVOW5RaXhsUVVGbE1rb3NSVUZCVVVVc1JVRkJWeTlLTEVsQlFVc3JTaXhKUVZWc1JDeE5RVTVCTEZOQlFYTkNTaXhGUVVGaFN5eEZRVUZaUXl4SFFVYzNReXhQUVVaSlJDeEhRVUZaU2l4RlFVRnJRa1FzUlVGQldYaExMRlZCUVZjMlN5eEhRVU55UkVNc1IwRkJZVXdzUlVGQmEwSkVMRVZCUVdGTkxFZEJRM3BEVGl4SFEwVlVMRTFCWmtFc1UwRkJlVUkxU2l4RlFVRkxReXhGUVVGTFF5eEhRVmxxUXl4UFFWaEpSQ3hMUVVGUFJDeEZRVU5VWWl4UFFVRlBaMElzWlVGQlpVZ3NSVUZCUzBNc1JVRkJTeXhEUVVNNVFrTXNUVUZCVDBFc1JVRkRVRVVzV1VGQldTeEZRVU5hUXl4alFVRmpMRVZCUTJSRExGVkJRVlVzU1VGSFdrNHNSVUZCU1VNc1IwRkJUME1zUlVGSFRrWXNSME5hVEcxTExFVkJRVVVzVjBGQlZ5eFJRVUZSUXl4VlFVRlZReXhoUVVGaFF5eEZRVUZGTEZkQlFWY3NVVUZCVVVZc1ZVRkJWVWNzWTBGQll5eFRRVUZUUXl4RlFVRkZUQ3hGUVVGRlJ5eEZRVUZGUlN4RlFVRkZjRUlzUlVGQlJYRkNMRVZCUVVWd1JpeEZRVUZGTkVRc1IwRkJSeXhKUVVGSkxFbEJRVWw1UWl4RlFVRkZVQ3hGUVVGRk9VVXNSMEZCUnpSRUxFZEJRVWN3UWl4RlFVRkZSQ3hGUVVGRmVFc3NUVUZCVFN4TlFVRk5hVXNzUjBGQlJ5eFpRVUZaU3l4RlFVRkZUQ3hIUVVGSFR5eEZRVUZGZEVrc1MwRkJTMnRKTEVWQlFVVkxMRWRCUVVjeFJTeFJRVUZSTVVNc1VVRkJVVzlJTEVkQlFVY3ZSeXhMUVVGTGQwWXNSVUZCUlhGQ0xFZEJRVWNzVTBGQlUzSkNMRVZCUVVWbExFZEJRVWNzVDBGQlR5eFhRVUZYTEVsQlFVbEhMRVZCUVVVelNDeExRVUZMZVVjc1JVRkJSV2hDTEZWQlFWVXNUMEZCVHl4SlFVRkpia01zYTBKQlFXdENkMFVzUlVGQlJYQkdMRWRCUVVjc1NVRkJTVFJFTEVWQlFVVnJRaXhGUVVGRk9VSXNUVUZCVFdsRExFVkJRVVZzUWl4SFFVRkhMRk5CUVZOelFpeEZRVUZGVUN4SFFVRkhTeXhGUVVGRmRrSXNSVUZCUlhkQ0xFVkJRVVZ3Uml4RlFVRkZjVVlzUlVGQlJVTXNSVUZCUlN4UFFVRlBVaXhIUVVGSExGTkJRVk5STEVWQlFVVlNMRWRCUVVkTExFVkJRVVYyUWl4RlFVRkZkMElzUlVGQlJYQkdMRVZCUVVWeFJpeEZRVUZGUXl4RlFVRkZMRkZCUVZGU0xFZEJRVWRQTEU5QlFVVXNUMEZCV1N4VFFVRlRSQ3hGUVVGRlRpeEZRVUZGUnl4SFFVRkhMRTlCUVU4c1UwRkJVMGdzUjBGQlJ5eEhRVUZITlVJc1RVRkJUVU1zVVVGQlVUSkNMRWRCUVVjc1QwRkJUMEVzUlVGQmRrTXNRMEZCTUVOQkxFbEJRVWtzVTBGQlUwRXNSVUZCUlVjc1IwRkJSeXhIUVVGSExHOUNRVUZ2UWpsTExGRkJRVlZCTEU5QlFVOUZMRmxCUVZsUUxFOUJRVTluVEN4SFFVRXpSQ3hEUVVGelJTeEpRVUZKU3l4RlFVRkZMRWRCUVVkd1FpeEhRVUZGTEVWQlFVZHhRaXhIUVVGRkxFVkJRVWR3Uml4UFFVRkZMRVZCUVU4c1NVRkJTU3hKUVVGSkxFbEJRVWswUkN4RlFVRkZlVUlzUlVGQlJWQXNSVUZCUlROTExFOUJRVTlGTEdOQlFXTXdTaXhIUVVGSFNDeEZRVUZGZVVJc1JVRkJSWFpITEZGQlFWRXZRaXhSUVVGUmIwa3NSVUZCUlROR0xFdEJRVXR2UlN4RlFVRkZMMGtzVVVGQlVXOUxMRWRCUVVkRkxFVkJRVVZ3Uml4VFFVRlRhMFlzUjBGQlIyeENMRWRCUVVVc1NVRkJTeXhOUVVGTlpTeEhRVUZIVFN4SFFVRkZMRVZCUVVkd1JpeEZRVUZGT0VVc1JVRkJSU3hSUVVGUkxFbEJRVWxtTEVkQlFVY3NUVUZCVFhOQ0xFVkJRVVZGTEZGQlFWRkdMRVZCUVVWRkxGTkJRVk1zVVVGQlVTeEhRVUZIU0N4RlFVRkZMRTFCUVUxd1JpeEhRVUZITEU5QlFVOXRSaXhIUVVGb1ZDeERRVUZ0VkV3c1JVRkJSVWNzU1VGQlNTeFRRVUZUU0N4RlFVRkZSeXhIUVVGSExFZEJRVWxJTEVWQlFVb3NRMEZCWVN4SFFVRkhMR2xDUVVGcFFrRXNSVUZCUlN4UFFVRlBPVVVzUlVGQlJUaEZMRVZCUVVWSExFZEJRVWNzU1VGQlNVVXNSVUZCUlhKTUxFOUJRVTlETEZWQlFWVXJSeXhUUVVGVE5VUXNTMEZCU3pSSUxFZEJRVWQ0UkN4TlFVRk5MRWRCUVVjc1IwRkJkVVFzVFVGQmNFUXNWMEZCVnpaRUxFZEJRVWRNTEVWQlFVVTNSU3hqUVVGamEwWXNSVUZCUlV3c1JVRkJSVGRGTEZsQlFWbExMRTFCUVZNc1VVRkJVVFpGTEVkQlFVY3NVVUZCVVVFc1JVRkJVMnBETEUxQlFVMWpMRXRCUVV0akxFZEJRVTBzWTBGQlkwc3NSMEZCUnl3eVEwRkJNa05zUWl4TFFVRkxhMElzUjBGQlZXNUdMRVZCUVVVNFJTeEZRVUZGUnl4UlFVRnNSaXhIUVVGd1RpeERRVUV3VTBnc1JVRkJSVWNzU1VGQlNTeFhRVUZYTEUxQlFVMHNTVUZCU1hSSExGVkJRVlVzTmtsQlFTOUNMRWRCUVN0TExGTkJRVk54UWl4RlFVRkZPRVVzUlVGQlJVY3NTVUZCU1N4TlFVRk5RU3hIUVVGSFFTeEZRVUZGU0N4RlFVRkZMMFVzVlVGQlZXdEdMRVZCUVVWSUxFVkJRVVV2UlN4UlFVRlJMRWxCUVVrc1NVRkJTVzlHTEVWQlFVVXNSVUZCUlhCQ0xFVkJRVVVzU1VGQlNXSXNUVUZCVFN0Q0xFZEJRVWRGTEVWQlFVVkdMRVZCUVVWRkxFbEJRVWx3UWl4RlFVRkZiMElzUjBGQlIwd3NSVUZCUlVzc1IwRkJSeXhQUVVGUGNFSXNSVUZCUlN4SlFVRkpTQ3hGUVVGRkxGZEJRVmNzU1VGQlNYRkNMRVZCUVVWc1FpeEZRVUZGZUVJc2JVSkJRVzFDYUVNc1pVRkJaVEJGTEVWQlFVVkZMRWRCUVVjc1QwRkJUelZETEcxQ1FVRnRRbkJJTEdWQlFXVTRTaXhIUVVGSExFOUJRVThzVDBGQlQwRXNSVUZCUlRkRUxFdEJRVXMyUkN4RlFVRkZia2NzVFVGQlRTeExRVUZMTEVWQlFVVXNUMEZCVDIxSExFVkJRVVYwU1N4UFFVRlBMRk5CUVZNc1NVRkJTV2xGTEZGQlFWRXNWMEZCVnl4SlFVRkpjVVVzUlVGQlJXeENMRVZCUVVWNFFpeHRRa0ZCYlVKb1F5eGxRVUZsTUVVc1JVRkJSV3hDTEVWQlFVVnhRaXhIUVVGSExFbEJRVWx3Uml4RlFVRkZORVFzUlVGQlJTeFBRVUZQY2tJc2JVSkJRVzFDY0Vnc1pVRkJaVGhLTEVkQlFVY3NUMEZCVHl4UFFVRlBRU3hGUVVGRk4wUXNTMEZCU3paRUxFVkJRVVZ1Unl4TlFVRk5MRXRCUVVzc1JVRkJSU3hQUVVGUFowY3NTMEZCUzAwc1JVRkJSU3hKUVVGSlNTeGhRVUZoTERKRFFVRXlReXh6UWtGQmMwSlFMRVZCUVVVM1JDeExRVUZMTEVWQlFVVTJSQ3hGUVVGRmJrY3NTMEZCU3l4RlFVRkZhVWNzVlVGQlZVTXNXVUZCV1ZNc1RVRkJUU3hEUVVGRGJrWXNTMEZCU3paRkxFbEJRVWtzUzBGQlN5eEZRVUZGYmtZc1JVRkJSV2xHTEVWQlFVVjZTU3hMUVVGTGIwZ3NSVUZCUlN4VFFVRlRhMElzUlVGQlJVY3NSMEZCUjJwR0xFVkJRVVV3Uml4dlFrRkJiMElzVTBGQlUxb3NSMEZCUjA4c1JVRkJSVW9zUlVGQlJWSXNUMEZCVHpGSkxFMUJRVTFuU1N4RlFVRkZjVUlzU1VGQlNYQkdMRVZCUVVVeVJpeHBRa0ZCYVVJc1UwRkJVeTlDTEVkQlFVZDVRaXhGUVVGRmNrWXNSVUZCUldwRkxFMUJRVTFuU1N4RlFVRkZjVUlzUjBGQlIwZ3NSVUZCUlc1SExFdEJRVXNzUjBGQlJ5eE5RVUZOTEV0QlFVc3NSMEZCUjIxSExFVkJRVVUzUkN4TFFVRkxMRWRCUVVjMlJDeEZRVUZGVnl4SFFVRkhXQ3hGUVVGRk9VTXNUVUZCVFN4SFFVRkhhVVFzUlVGQlJVZ3NSVUZCUlZjc1NVRkJTU3hMUVVGTExFZEJRVWNzU1VGQlNTeE5RVUZOTEU5QlFVOVlMRVZCUVVVeFJDeFZRVUZWTUVRc1JVRkJSU3hMUVVGTExFTkJRVU1zUTBGQlF5eEZRVUZGTEZWQlFWVXNUMEZCVHl4VFFVRlRTQ3hGUVVGRlN5eEhRVUZITEU5QlFVOUdMRVZCUVVWcVF5eE5RVUZOTVVZc1MwRkJTM2xHTEZsQlFXaHNRaXhMUVVGcGJVSXNTMEZCU3l4RlFVRkZMRWxCUVVrc1RVRkJUU3hQUVVGUGEwTXNSVUZCUlRGRUxGVkJRVlV3UkN4UFFVRlBMRTlCUVU4c1UwRkJVMGdzUjBGQlJ5eFBRVUZQUnl4RlFVRkZha01zVFVGQlRURkdMRXRCUVV0NVJpeFpRVUZzTWtJc1IwRkJhVE5DYzBNc1JVRkJSU3hUUVVGVFVDeEZRVUZGUnl4RlFVRkZSU3hIUVVGSExFOUJRVTlNTEVkQlFVY3NTVUZCU1N4VFFVRlRTeXhGUVVGRkxFbEJRVWxMTEdGQlFXRXNiMEpCUVc5Q0xHOUNRVUZ2UWl4TlFVRk5MRkZCUVZGUUxFVkJRVVZJTEV0QlFVdFJMRVZCUVVVc1YwRkJWeXhKUVVGSlNDeEZRVUZGY0VJc1JVRkJSWGhDTEcxQ1FVRnRRbWhETEdWQlFXVTBSU3hGUVVGRmJrWXNSVUZCUlhGR0xFZEJRVWNzVDBGQlR6bERMRzFDUVVGdFFuQklMR1ZCUVdWblN5eEhRVUZITEU5QlFVOHNUMEZCVDBFc1JVRkJSUzlFTEV0QlFVc3JSQ3hGUVVGRmNrY3NUVUZCVFN4TFFVRkxMRVZCUVVVc1QwRkJUM0ZITEVWQlFVVjRTU3hQUVVGUExGTkJRVk1zU1VGQlNXbEZMRkZCUVZFc1YwRkJWeXhKUVVGSmRVVXNSVUZCUlhCQ0xFVkJRVVY0UWl4dFFrRkJiVUpvUXl4bFFVRmxORVVzUlVGQlJYQkNMRVZCUVVWMVFpeEhRVUZITEVsQlFVbFBMRVZCUVVWRExFVkJRVVZETEVWQlFVVXNUMEZCVDNoRUxHMUNRVUZ0UW5CSUxHVkJRV1ZuU3l4SFFVRkhMRTlCUVU4c1QwRkJUMEVzUlVGQlJTOUVMRXRCUVVzclJDeEZRVUZGY2tjc1RVRkJUU3hMUVVGTExFVkJRVVVzVDBGQlQyZEhMRXRCUVV0SExFdEJRVXRMTEVWQlFVVXNTVUZCU1VVc1lVRkJZU3d3UlVGQk1FVXNjMEpCUVhOQ1RDeEZRVUZGTDBRc1MwRkJTeXhGUVVGRkswUXNSVUZCUlZNc1IwRkJSMmhHTEZGQlFWRjFSU3hGUVVGRmNrY3NTMEZCU3l4RlFVRkZPRVVzUlVGQlJUVkVMRWRCUVVjc1MwRkJTeXhGUVVGRkxFOUJRVTl0Uml4RlFVRkZZU3hIUVVGSFlpeEZRVUZGTTBrc1MwRkJTekpKTEVWQlFVVnlSeXhMUVVGTExFVkJRVVZwUnl4VlFVRlZSeXhoUVVGaFpTeGhRVUZoV2l4SFFVRkhMRXRCUVVzc1JVRkJSU3hQUVVGUFJpeEZRVUZGWlN4SFFVRkhaaXhGUVVGRk0wa3NTMEZCU3pKSkxFVkJRVVZuUWl4SFFVRkhMRU5CUVVOb1FpeEZRVUZGWVN4SFFVRkhZaXhGUVVGRlpTeEpRVUZKWml4RlFVRkZja2NzUzBGQlN5eEhRVUZIY1Vjc1JVRkJSVk1zUjBGQlIxRXNTVUZCU1d4S0xFdEJRVXRwU1N4RlFVRkZVeXhIUVVGSFZDeEZRVUZGWjBJc1NVRkJTU3hMUVVGTExFZEJRVWRPTEVWQlFVVldMRVZCUVVVelNTeExRVUZMYzBvc1JVRkJSVllzUlVGQlJWTXNSVUZCUlN4SFFVRkhSU3hGUVVGRlJDeEZRVUZGTEVkQlFVY3ZRaXhGUVVGRlowTXNSMEZCUjFvc1JVRkJSWEpITEV0QlFVc3NSMEZCUnl4TlFVRk5MRXRCUVVzc1IwRkJSM0ZITEVWQlFVVXZSQ3hMUVVGTExFZEJRVWNyUkN4RlFVRkZhMElzUjBGQlIyeENMRVZCUVVWb1JDeE5RVUZOTEVkQlFVZHRSQ3hGUVVGRlNDeEZRVUZGYTBJc1NVRkJTU3hMUVVGTExFZEJRVWNzU1VGQlNTeE5RVUZOTEU5QlFVOXNRaXhGUVVGRk5VUXNWVUZCVlRSRUxFVkJRVVVzUzBGQlN5eERRVUZETEVOQlFVTXNSVUZCUlN4VlFVRlZMRTlCUVU4c1UwRkJVMHdzUlVGQlJVY3NSMEZCUnl4UFFVRlBSU3hGUVVGRmJrTXNUVUZCVFRGR0xFdEJRVXQ1Uml4WlFVRjZjRUlzUzBGQk1IRkNMRXRCUVVzc1JVRkJSU3hKUVVGSkxFMUJRVTBzVDBGQlQyOURMRVZCUVVVMVJDeFZRVUZWTkVRc1QwRkJUeXhQUVVGUExGTkJRVk5NTEVWQlFVVkhMRWRCUVVjc1QwRkJUMFVzUlVGQlJXNURMRTFCUVUweFJpeExRVUZMZVVZc1dVRkJMelpDTEhOclFrTkZOVEJGZFVRc2QwSkJiVU5QUXl3eVEwRklRU3d3UWtGRFF5eFZRVWRPUXl4RlFVRnZRa1lzUlVGQlRVY3NaME5CUXpOQ1JDeFJRVU5GTEVsQlFVbG9RaXhoUVVGaExHdERRVUZ0UXl3d1FrRkhkRVJyUWl4VlFVRlpMRWxCUVVsR0xFOUJRMmhDUnl4WFFVRmhMRWRCUld4Q04wMHNUMEZCVHpoTkxHVkJRMGhPTEVWQlFVMVBMR2RDUVVOTVRpeEhRVUZYTEV0QlEySXhTU3hUUVVGUkxIbENRVUZGYWtRc1QwRkJTME1zVlVGRFRDeGhRVUZTUkN4SlFVRjFRa01zUlVGQlR5eExRVU16UW1sTkxFVkJRVzlDVWl4RlFVRk5VeXcwUWtGRE1VSkVMRWxCUTB4cVRTeEZRVUZSTEVsQlFVbHBUU3hIUVVka1JTeEZRVUZMVGl4VlFVRlZPVXdzUjBGQlQwTXNjMFZCTjBKa2VVd3NSVUZCVFVjc0swSkJRV2xEVVN4UFFVRjFRME1zYTBKQlIycEZReXhUUVVOb1FpeEpRVUZKYWt3c1RVRkJUU3gxUzBGelExWnZRaXhMUVVGTGIwb3NiMFJCUlZsVkxFVkJRVzFDTEdGQlFXTXNRMEZCUlVNc1QwRkJUeXd5UTBGRmVFUXNTVUZCU1c1TUxFMUJRVTBzSzBSQlJWcDNTeXhWUVVGVldTd3lSRUZGVkVNc1JVRkJaV3BMTEV0QlFVdHhTaXhYUVVGWGJFa3NVVUZGY0VNNFNTeDVRMEZMU1dwTExHbEtRVWxFUVN4TFFVRkxiMG9zWjBKQlEweEJMRlZCUVZWdVJpeFBRVWRVYWtVc05FTkJTVVJCTEV0QlFVdHZTaXhuUWtGRFRFRXNWVUZCVldNc1VVRkhWR3hMTERoRFFVZFRiVXNzUlVGQlYwTXNhVUpCUTNKQ2NFc3NTMEZCUzI5S0xGZEJRV0Z3U2l4TFFVRkxjVXNzYlVKQlFXMUNSaXhIUVVGWkxFTkJRM0pFYmtzc1MwRkJTM0ZLTEZkQlFWZGpMRk5CUTJoQ0wwSXNiMEpCUVc5Q0swSXNUMEZIY0VKSExFVkJRVlVzVTBGQlEwTXNUMEZEV2tNc1JVRkJhVUlzUjBGRGFrSk1MRWxCUVdOdVFpeEZRVUZOZVVJc1YwRkJWME1zVVVGRE5VSklMRVZCUVUxSkxGTkJRVmRLTEVWQlFVMUpMRkZCUVZGc1NTeFBRVUZUTEVkQlF6ZERLMGdzUlVGQlpYUkpMRXRCUVV0eFNTeEZRVUZOU1N4UlFVRlJMRWRCUVVjc1IwRkJSME1zV1VGSmVFTlNMRWRCUVZsQkxFVkJRVk14UlN4TlFVRk5iVVlzUjBGQlQwNHNWVUZCVlVNc1ZVRkZNVU53UWl4VlFVRlZaaXhwUWtGQmFVSTRRaXhGUVVGWFJ5eFJRVVYwUTJwQ0xGZEJRVmRqTEVkQlFXRkhMRk5CUjNaQ2RFc3NhVVJCUjFsdFN5eFBRVU5pUnl4RlFVRlZkRXNzUzBGQlMzRktMRmRCUVZkakxHVkJRek5DWml4VlFVRlZhRUlzYjBKQlFXOUNLMElzUlVGQlYwY3NWVUZGZGtOMFN5eExRVUZMY1Vvc1YwRkJWMk1zUjBGRmFFSnVTeXc0UkVGSlJtbEZMRTlCUlV4NlNDeFBRVUZQYVVnc1MwRkJTM3BFTEV0QlFVdHhTaXhaUVVGWk9Va3NVMEZCVVN4VFFVRkRha1FzVlVGQlVYZE9MRVZCUVVzeFF5eHZRa0ZCYjBJNVN5eFhRVU5zUlRoTUxGVkJRVmtzUzBGRlZuQktMR2RFUVVkWGJVc3NWMEZEVkROT0xFOUJRVTgwUkN4UFFVRlBORWtzUlVGQlRYbENMRmxCUVZsTkxFMUJRVXNzVTBGQlEzWk1MRlZCUVZOQkxFbEJRVk15U3l3MlEwRnlSakZFYmtzc1MwRkJTMjlLTEhkQ1FVZEJVeXhUUVVOT0xFbEJRVWxxVEN4TlFVRk5MR3RIUVhOR1ptOU5MRTlCUVU4NVFpeHRRa0ZEVURoQ0xFOUJRVTlETEhsQ1FVTlFSQ3hQUVVGUFJTeHpRa0ZEVUVZc1QwRkJUMGNzSzBWQlRWQklMRTlCUVU5NFFpeHRRa0ZEVUhkQ0xFOUJRVTlKTEhsQ1FVTlFTaXhQUVVGUFN5eHpRa0ZEVUV3c1QwRkJUMDBzSzBKQmFrdEtkRU1zYlVKQlEyMUNMRU5CUTNaQ2RVTXNVMEZCVlN4TFFVTldReXhMUVVGTkxGRkJRMDVETEZsQlFWa3NSVUZEV2tNc1owSkJRV2RDTEVWQlEyaENReXhuUWtGQmFVSXNSVUZEYWtKRExGZEJRVmtzVTBGUVVqVkRMR1ZCVldVc1EwRkRia0kyUXl4VlFVRlhMRmRCUTFoRExGbEJRV0VzWVVGRFlrTXNTVUZCU3l4TlFVTk1ReXhOUVVGUExGRkJRMUJETEZOQlFWVXNWVUZEVm5aQ0xFOUJRVkVzVTBGRFVuZENMRlZCUVZjc1YwRkRXRU1zV1VGQllTeGhRVU5pUXl4WFFVRlpMRmxCUTFwRExHRkJRV01zWTBGRFpFTXNUVUZCVHlKOVxuIiwiaW1wb3J0IHsgdXNlQ2FsbGJhY2ssIHVzZUVmZmVjdCwgdXNlUmVmIH0gZnJvbSAncmVhY3QnXG5pbXBvcnQgeyBWb2NhbCBhcyBTcGVlY2hSZWNvZ25pdGlvbldyYXBwZXIgfSBmcm9tICdAdW50ZW1wcy92b2NhbCdcblxuY29uc3QgdXNlVm9jYWwgPSAobGFuZyA9ICdlbi1VUycsIGdyYW1tYXJzID0gbnVsbCwgX19yc0luc3RhbmNlID0gbnVsbCkgPT4ge1xuXHRjb25zdCByZWYgPSB1c2VSZWYobnVsbClcblxuXHR1c2VFZmZlY3QoKCkgPT4ge1xuXHRcdGlmIChTcGVlY2hSZWNvZ25pdGlvbldyYXBwZXIuaXNTdXBwb3J0ZWQpIHtcblx0XHRcdHJlZi5jdXJyZW50ID0gX19yc0luc3RhbmNlIHx8IG5ldyBTcGVlY2hSZWNvZ25pdGlvbldyYXBwZXIoeyBsYW5nLCBncmFtbWFycyB9KVxuXHRcdFx0cmV0dXJuICgpID0+IHtcblx0XHRcdFx0cmVmLmN1cnJlbnQuYWJvcnQoKVxuXHRcdFx0XHRyZWYuY3VycmVudC5jbGVhbnVwKClcblx0XHRcdH1cblx0XHR9XG5cdH0sIFtsYW5nLCBncmFtbWFycywgX19yc0luc3RhbmNlXSlcblxuXHRjb25zdCBzdGFydCA9IHVzZUNhbGxiYWNrKCgpID0+IHtcblx0XHRpZiAocmVmLmN1cnJlbnQpIHtcblx0XHRcdHJlZi5jdXJyZW50LnN0YXJ0KClcblx0XHR9XG5cdH0sIFtdKVxuXG5cdGNvbnN0IHN0b3AgPSB1c2VDYWxsYmFjaygoKSA9PiB7XG5cdFx0aWYgKHJlZi5jdXJyZW50KSB7XG5cdFx0XHRyZWYuY3VycmVudC5zdG9wKClcblx0XHR9XG5cdH0sIFtdKVxuXG5cdGNvbnN0IGFib3J0ID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuXHRcdGlmIChyZWYuY3VycmVudCkge1xuXHRcdFx0cmVmLmN1cnJlbnQuYWJvcnQoKVxuXHRcdH1cblx0fSwgW10pXG5cblx0Y29uc3Qgc3Vic2NyaWJlID0gdXNlQ2FsbGJhY2soKGV2ZW50VHlwZSwgaGFuZGxlcikgPT4ge1xuXHRcdGlmIChyZWYuY3VycmVudCkge1xuXHRcdFx0cmVmLmN1cnJlbnQuYWRkRXZlbnRMaXN0ZW5lcihldmVudFR5cGUsIGhhbmRsZXIpXG5cdFx0fVxuXHR9LCBbXSlcblxuXHRjb25zdCB1bnN1YnNjcmliZSA9IHVzZUNhbGxiYWNrKChldmVudFR5cGUsIGhhbmRsZXIpID0+IHtcblx0XHRpZiAocmVmLmN1cnJlbnQpIHtcblx0XHRcdHJlZi5jdXJyZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoZXZlbnRUeXBlLCBoYW5kbGVyKVxuXHRcdH1cblx0fSwgW10pXG5cblx0Y29uc3QgY2xlYW4gPSB1c2VDYWxsYmFjaygoKSA9PiB7XG5cdFx0aWYgKHJlZi5jdXJyZW50KSB7XG5cdFx0XHRyZWYuY3VycmVudC5jbGVhbnVwKClcblx0XHR9XG5cdH0sIFtdKVxuXG5cdHJldHVybiBbcmVmLCB7IHN0YXJ0LCBzdG9wLCBhYm9ydCwgc3Vic2NyaWJlLCB1bnN1YnNjcmliZSwgY2xlYW4gfV1cbn1cblxuZXhwb3J0IGRlZmF1bHQgdXNlVm9jYWxcblxuLy8gVE9ETzogUmV0dXJuIHRoZSBpbnN0YW5jZSwgbm90IHRoZSByZWZcbiIsIi8qKlxuICogRnVzZS5qcyB2Ni40LjYgLSBMaWdodHdlaWdodCBmdXp6eS1zZWFyY2ggKGh0dHA6Ly9mdXNlanMuaW8pXG4gKlxuICogQ29weXJpZ2h0IChjKSAyMDIxIEtpcm8gUmlzayAoaHR0cDovL2tpcm8ubWUpXG4gKiBBbGwgUmlnaHRzIFJlc2VydmVkLiBBcGFjaGUgU29mdHdhcmUgTGljZW5zZSAyLjBcbiAqXG4gKiBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqL1xuXG5mdW5jdGlvbiBpc0FycmF5KHZhbHVlKSB7XG4gIHJldHVybiAhQXJyYXkuaXNBcnJheVxuICAgID8gZ2V0VGFnKHZhbHVlKSA9PT0gJ1tvYmplY3QgQXJyYXldJ1xuICAgIDogQXJyYXkuaXNBcnJheSh2YWx1ZSlcbn1cblxuLy8gQWRhcHRlZCBmcm9tOiBodHRwczovL2dpdGh1Yi5jb20vbG9kYXNoL2xvZGFzaC9ibG9iL21hc3Rlci8uaW50ZXJuYWwvYmFzZVRvU3RyaW5nLmpzXG5jb25zdCBJTkZJTklUWSA9IDEgLyAwO1xuZnVuY3Rpb24gYmFzZVRvU3RyaW5nKHZhbHVlKSB7XG4gIC8vIEV4aXQgZWFybHkgZm9yIHN0cmluZ3MgdG8gYXZvaWQgYSBwZXJmb3JtYW5jZSBoaXQgaW4gc29tZSBlbnZpcm9ubWVudHMuXG4gIGlmICh0eXBlb2YgdmFsdWUgPT0gJ3N0cmluZycpIHtcbiAgICByZXR1cm4gdmFsdWVcbiAgfVxuICBsZXQgcmVzdWx0ID0gdmFsdWUgKyAnJztcbiAgcmV0dXJuIHJlc3VsdCA9PSAnMCcgJiYgMSAvIHZhbHVlID09IC1JTkZJTklUWSA/ICctMCcgOiByZXN1bHRcbn1cblxuZnVuY3Rpb24gdG9TdHJpbmcodmFsdWUpIHtcbiAgcmV0dXJuIHZhbHVlID09IG51bGwgPyAnJyA6IGJhc2VUb1N0cmluZyh2YWx1ZSlcbn1cblxuZnVuY3Rpb24gaXNTdHJpbmcodmFsdWUpIHtcbiAgcmV0dXJuIHR5cGVvZiB2YWx1ZSA9PT0gJ3N0cmluZydcbn1cblxuZnVuY3Rpb24gaXNOdW1iZXIodmFsdWUpIHtcbiAgcmV0dXJuIHR5cGVvZiB2YWx1ZSA9PT0gJ251bWJlcidcbn1cblxuLy8gQWRhcHRlZCBmcm9tOiBodHRwczovL2dpdGh1Yi5jb20vbG9kYXNoL2xvZGFzaC9ibG9iL21hc3Rlci9pc0Jvb2xlYW4uanNcbmZ1bmN0aW9uIGlzQm9vbGVhbih2YWx1ZSkge1xuICByZXR1cm4gKFxuICAgIHZhbHVlID09PSB0cnVlIHx8XG4gICAgdmFsdWUgPT09IGZhbHNlIHx8XG4gICAgKGlzT2JqZWN0TGlrZSh2YWx1ZSkgJiYgZ2V0VGFnKHZhbHVlKSA9PSAnW29iamVjdCBCb29sZWFuXScpXG4gIClcbn1cblxuZnVuY3Rpb24gaXNPYmplY3QodmFsdWUpIHtcbiAgcmV0dXJuIHR5cGVvZiB2YWx1ZSA9PT0gJ29iamVjdCdcbn1cblxuLy8gQ2hlY2tzIGlmIGB2YWx1ZWAgaXMgb2JqZWN0LWxpa2UuXG5mdW5jdGlvbiBpc09iamVjdExpa2UodmFsdWUpIHtcbiAgcmV0dXJuIGlzT2JqZWN0KHZhbHVlKSAmJiB2YWx1ZSAhPT0gbnVsbFxufVxuXG5mdW5jdGlvbiBpc0RlZmluZWQodmFsdWUpIHtcbiAgcmV0dXJuIHZhbHVlICE9PSB1bmRlZmluZWQgJiYgdmFsdWUgIT09IG51bGxcbn1cblxuZnVuY3Rpb24gaXNCbGFuayh2YWx1ZSkge1xuICByZXR1cm4gIXZhbHVlLnRyaW0oKS5sZW5ndGhcbn1cblxuLy8gR2V0cyB0aGUgYHRvU3RyaW5nVGFnYCBvZiBgdmFsdWVgLlxuLy8gQWRhcHRlZCBmcm9tOiBodHRwczovL2dpdGh1Yi5jb20vbG9kYXNoL2xvZGFzaC9ibG9iL21hc3Rlci8uaW50ZXJuYWwvZ2V0VGFnLmpzXG5mdW5jdGlvbiBnZXRUYWcodmFsdWUpIHtcbiAgcmV0dXJuIHZhbHVlID09IG51bGxcbiAgICA/IHZhbHVlID09PSB1bmRlZmluZWRcbiAgICAgID8gJ1tvYmplY3QgVW5kZWZpbmVkXSdcbiAgICAgIDogJ1tvYmplY3QgTnVsbF0nXG4gICAgOiBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwodmFsdWUpXG59XG5cbmNvbnN0IEVYVEVOREVEX1NFQVJDSF9VTkFWQUlMQUJMRSA9ICdFeHRlbmRlZCBzZWFyY2ggaXMgbm90IGF2YWlsYWJsZSc7XG5cbmNvbnN0IElOQ09SUkVDVF9JTkRFWF9UWVBFID0gXCJJbmNvcnJlY3QgJ2luZGV4JyB0eXBlXCI7XG5cbmNvbnN0IExPR0lDQUxfU0VBUkNIX0lOVkFMSURfUVVFUllfRk9SX0tFWSA9IChrZXkpID0+XG4gIGBJbnZhbGlkIHZhbHVlIGZvciBrZXkgJHtrZXl9YDtcblxuY29uc3QgUEFUVEVSTl9MRU5HVEhfVE9PX0xBUkdFID0gKG1heCkgPT5cbiAgYFBhdHRlcm4gbGVuZ3RoIGV4Y2VlZHMgbWF4IG9mICR7bWF4fS5gO1xuXG5jb25zdCBNSVNTSU5HX0tFWV9QUk9QRVJUWSA9IChuYW1lKSA9PiBgTWlzc2luZyAke25hbWV9IHByb3BlcnR5IGluIGtleWA7XG5cbmNvbnN0IElOVkFMSURfS0VZX1dFSUdIVF9WQUxVRSA9IChrZXkpID0+XG4gIGBQcm9wZXJ0eSAnd2VpZ2h0JyBpbiBrZXkgJyR7a2V5fScgbXVzdCBiZSBhIHBvc2l0aXZlIGludGVnZXJgO1xuXG5jb25zdCBoYXNPd24gPSBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5O1xuXG5jbGFzcyBLZXlTdG9yZSB7XG4gIGNvbnN0cnVjdG9yKGtleXMpIHtcbiAgICB0aGlzLl9rZXlzID0gW107XG4gICAgdGhpcy5fa2V5TWFwID0ge307XG5cbiAgICBsZXQgdG90YWxXZWlnaHQgPSAwO1xuXG4gICAga2V5cy5mb3JFYWNoKChrZXkpID0+IHtcbiAgICAgIGxldCBvYmogPSBjcmVhdGVLZXkoa2V5KTtcblxuICAgICAgdG90YWxXZWlnaHQgKz0gb2JqLndlaWdodDtcblxuICAgICAgdGhpcy5fa2V5cy5wdXNoKG9iaik7XG4gICAgICB0aGlzLl9rZXlNYXBbb2JqLmlkXSA9IG9iajtcblxuICAgICAgdG90YWxXZWlnaHQgKz0gb2JqLndlaWdodDtcbiAgICB9KTtcblxuICAgIC8vIE5vcm1hbGl6ZSB3ZWlnaHRzIHNvIHRoYXQgdGhlaXIgc3VtIGlzIGVxdWFsIHRvIDFcbiAgICB0aGlzLl9rZXlzLmZvckVhY2goKGtleSkgPT4ge1xuICAgICAga2V5LndlaWdodCAvPSB0b3RhbFdlaWdodDtcbiAgICB9KTtcbiAgfVxuICBnZXQoa2V5SWQpIHtcbiAgICByZXR1cm4gdGhpcy5fa2V5TWFwW2tleUlkXVxuICB9XG4gIGtleXMoKSB7XG4gICAgcmV0dXJuIHRoaXMuX2tleXNcbiAgfVxuICB0b0pTT04oKSB7XG4gICAgcmV0dXJuIEpTT04uc3RyaW5naWZ5KHRoaXMuX2tleXMpXG4gIH1cbn1cblxuZnVuY3Rpb24gY3JlYXRlS2V5KGtleSkge1xuICBsZXQgcGF0aCA9IG51bGw7XG4gIGxldCBpZCA9IG51bGw7XG4gIGxldCBzcmMgPSBudWxsO1xuICBsZXQgd2VpZ2h0ID0gMTtcblxuICBpZiAoaXNTdHJpbmcoa2V5KSB8fCBpc0FycmF5KGtleSkpIHtcbiAgICBzcmMgPSBrZXk7XG4gICAgcGF0aCA9IGNyZWF0ZUtleVBhdGgoa2V5KTtcbiAgICBpZCA9IGNyZWF0ZUtleUlkKGtleSk7XG4gIH0gZWxzZSB7XG4gICAgaWYgKCFoYXNPd24uY2FsbChrZXksICduYW1lJykpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihNSVNTSU5HX0tFWV9QUk9QRVJUWSgnbmFtZScpKVxuICAgIH1cblxuICAgIGNvbnN0IG5hbWUgPSBrZXkubmFtZTtcbiAgICBzcmMgPSBuYW1lO1xuXG4gICAgaWYgKGhhc093bi5jYWxsKGtleSwgJ3dlaWdodCcpKSB7XG4gICAgICB3ZWlnaHQgPSBrZXkud2VpZ2h0O1xuXG4gICAgICBpZiAod2VpZ2h0IDw9IDApIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKElOVkFMSURfS0VZX1dFSUdIVF9WQUxVRShuYW1lKSlcbiAgICAgIH1cbiAgICB9XG5cbiAgICBwYXRoID0gY3JlYXRlS2V5UGF0aChuYW1lKTtcbiAgICBpZCA9IGNyZWF0ZUtleUlkKG5hbWUpO1xuICB9XG5cbiAgcmV0dXJuIHsgcGF0aCwgaWQsIHdlaWdodCwgc3JjIH1cbn1cblxuZnVuY3Rpb24gY3JlYXRlS2V5UGF0aChrZXkpIHtcbiAgcmV0dXJuIGlzQXJyYXkoa2V5KSA/IGtleSA6IGtleS5zcGxpdCgnLicpXG59XG5cbmZ1bmN0aW9uIGNyZWF0ZUtleUlkKGtleSkge1xuICByZXR1cm4gaXNBcnJheShrZXkpID8ga2V5LmpvaW4oJy4nKSA6IGtleVxufVxuXG5mdW5jdGlvbiBnZXQob2JqLCBwYXRoKSB7XG4gIGxldCBsaXN0ID0gW107XG4gIGxldCBhcnIgPSBmYWxzZTtcblxuICBjb25zdCBkZWVwR2V0ID0gKG9iaiwgcGF0aCwgaW5kZXgpID0+IHtcbiAgICBpZiAoIWlzRGVmaW5lZChvYmopKSB7XG4gICAgICByZXR1cm5cbiAgICB9XG4gICAgaWYgKCFwYXRoW2luZGV4XSkge1xuICAgICAgLy8gSWYgdGhlcmUncyBubyBwYXRoIGxlZnQsIHdlJ3ZlIGFycml2ZWQgYXQgdGhlIG9iamVjdCB3ZSBjYXJlIGFib3V0LlxuICAgICAgbGlzdC5wdXNoKG9iaik7XG4gICAgfSBlbHNlIHtcbiAgICAgIGxldCBrZXkgPSBwYXRoW2luZGV4XTtcblxuICAgICAgY29uc3QgdmFsdWUgPSBvYmpba2V5XTtcblxuICAgICAgaWYgKCFpc0RlZmluZWQodmFsdWUpKSB7XG4gICAgICAgIHJldHVyblxuICAgICAgfVxuXG4gICAgICAvLyBJZiB3ZSdyZSBhdCB0aGUgbGFzdCB2YWx1ZSBpbiB0aGUgcGF0aCwgYW5kIGlmIGl0J3MgYSBzdHJpbmcvbnVtYmVyL2Jvb2wsXG4gICAgICAvLyBhZGQgaXQgdG8gdGhlIGxpc3RcbiAgICAgIGlmIChcbiAgICAgICAgaW5kZXggPT09IHBhdGgubGVuZ3RoIC0gMSAmJlxuICAgICAgICAoaXNTdHJpbmcodmFsdWUpIHx8IGlzTnVtYmVyKHZhbHVlKSB8fCBpc0Jvb2xlYW4odmFsdWUpKVxuICAgICAgKSB7XG4gICAgICAgIGxpc3QucHVzaCh0b1N0cmluZyh2YWx1ZSkpO1xuICAgICAgfSBlbHNlIGlmIChpc0FycmF5KHZhbHVlKSkge1xuICAgICAgICBhcnIgPSB0cnVlO1xuICAgICAgICAvLyBTZWFyY2ggZWFjaCBpdGVtIGluIHRoZSBhcnJheS5cbiAgICAgICAgZm9yIChsZXQgaSA9IDAsIGxlbiA9IHZhbHVlLmxlbmd0aDsgaSA8IGxlbjsgaSArPSAxKSB7XG4gICAgICAgICAgZGVlcEdldCh2YWx1ZVtpXSwgcGF0aCwgaW5kZXggKyAxKTtcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIGlmIChwYXRoLmxlbmd0aCkge1xuICAgICAgICAvLyBBbiBvYmplY3QuIFJlY3Vyc2UgZnVydGhlci5cbiAgICAgICAgZGVlcEdldCh2YWx1ZSwgcGF0aCwgaW5kZXggKyAxKTtcbiAgICAgIH1cbiAgICB9XG4gIH07XG5cbiAgLy8gQmFja3dhcmRzIGNvbXBhdGliaWxpdHkgKHNpbmNlIHBhdGggdXNlZCB0byBiZSBhIHN0cmluZylcbiAgZGVlcEdldChvYmosIGlzU3RyaW5nKHBhdGgpID8gcGF0aC5zcGxpdCgnLicpIDogcGF0aCwgMCk7XG5cbiAgcmV0dXJuIGFyciA/IGxpc3QgOiBsaXN0WzBdXG59XG5cbmNvbnN0IE1hdGNoT3B0aW9ucyA9IHtcbiAgLy8gV2hldGhlciB0aGUgbWF0Y2hlcyBzaG91bGQgYmUgaW5jbHVkZWQgaW4gdGhlIHJlc3VsdCBzZXQuIFdoZW4gYHRydWVgLCBlYWNoIHJlY29yZCBpbiB0aGUgcmVzdWx0XG4gIC8vIHNldCB3aWxsIGluY2x1ZGUgdGhlIGluZGljZXMgb2YgdGhlIG1hdGNoZWQgY2hhcmFjdGVycy5cbiAgLy8gVGhlc2UgY2FuIGNvbnNlcXVlbnRseSBiZSB1c2VkIGZvciBoaWdobGlnaHRpbmcgcHVycG9zZXMuXG4gIGluY2x1ZGVNYXRjaGVzOiBmYWxzZSxcbiAgLy8gV2hlbiBgdHJ1ZWAsIHRoZSBtYXRjaGluZyBmdW5jdGlvbiB3aWxsIGNvbnRpbnVlIHRvIHRoZSBlbmQgb2YgYSBzZWFyY2ggcGF0dGVybiBldmVuIGlmXG4gIC8vIGEgcGVyZmVjdCBtYXRjaCBoYXMgYWxyZWFkeSBiZWVuIGxvY2F0ZWQgaW4gdGhlIHN0cmluZy5cbiAgZmluZEFsbE1hdGNoZXM6IGZhbHNlLFxuICAvLyBNaW5pbXVtIG51bWJlciBvZiBjaGFyYWN0ZXJzIHRoYXQgbXVzdCBiZSBtYXRjaGVkIGJlZm9yZSBhIHJlc3VsdCBpcyBjb25zaWRlcmVkIGEgbWF0Y2hcbiAgbWluTWF0Y2hDaGFyTGVuZ3RoOiAxXG59O1xuXG5jb25zdCBCYXNpY09wdGlvbnMgPSB7XG4gIC8vIFdoZW4gYHRydWVgLCB0aGUgYWxnb3JpdGhtIGNvbnRpbnVlcyBzZWFyY2hpbmcgdG8gdGhlIGVuZCBvZiB0aGUgaW5wdXQgZXZlbiBpZiBhIHBlcmZlY3RcbiAgLy8gbWF0Y2ggaXMgZm91bmQgYmVmb3JlIHRoZSBlbmQgb2YgdGhlIHNhbWUgaW5wdXQuXG4gIGlzQ2FzZVNlbnNpdGl2ZTogZmFsc2UsXG4gIC8vIFdoZW4gdHJ1ZSwgdGhlIG1hdGNoaW5nIGZ1bmN0aW9uIHdpbGwgY29udGludWUgdG8gdGhlIGVuZCBvZiBhIHNlYXJjaCBwYXR0ZXJuIGV2ZW4gaWZcbiAgaW5jbHVkZVNjb3JlOiBmYWxzZSxcbiAgLy8gTGlzdCBvZiBwcm9wZXJ0aWVzIHRoYXQgd2lsbCBiZSBzZWFyY2hlZC4gVGhpcyBhbHNvIHN1cHBvcnRzIG5lc3RlZCBwcm9wZXJ0aWVzLlxuICBrZXlzOiBbXSxcbiAgLy8gV2hldGhlciB0byBzb3J0IHRoZSByZXN1bHQgbGlzdCwgYnkgc2NvcmVcbiAgc2hvdWxkU29ydDogdHJ1ZSxcbiAgLy8gRGVmYXVsdCBzb3J0IGZ1bmN0aW9uOiBzb3J0IGJ5IGFzY2VuZGluZyBzY29yZSwgYXNjZW5kaW5nIGluZGV4XG4gIHNvcnRGbjogKGEsIGIpID0+XG4gICAgYS5zY29yZSA9PT0gYi5zY29yZSA/IChhLmlkeCA8IGIuaWR4ID8gLTEgOiAxKSA6IGEuc2NvcmUgPCBiLnNjb3JlID8gLTEgOiAxXG59O1xuXG5jb25zdCBGdXp6eU9wdGlvbnMgPSB7XG4gIC8vIEFwcHJveGltYXRlbHkgd2hlcmUgaW4gdGhlIHRleHQgaXMgdGhlIHBhdHRlcm4gZXhwZWN0ZWQgdG8gYmUgZm91bmQ/XG4gIGxvY2F0aW9uOiAwLFxuICAvLyBBdCB3aGF0IHBvaW50IGRvZXMgdGhlIG1hdGNoIGFsZ29yaXRobSBnaXZlIHVwLiBBIHRocmVzaG9sZCBvZiAnMC4wJyByZXF1aXJlcyBhIHBlcmZlY3QgbWF0Y2hcbiAgLy8gKG9mIGJvdGggbGV0dGVycyBhbmQgbG9jYXRpb24pLCBhIHRocmVzaG9sZCBvZiAnMS4wJyB3b3VsZCBtYXRjaCBhbnl0aGluZy5cbiAgdGhyZXNob2xkOiAwLjYsXG4gIC8vIERldGVybWluZXMgaG93IGNsb3NlIHRoZSBtYXRjaCBtdXN0IGJlIHRvIHRoZSBmdXp6eSBsb2NhdGlvbiAoc3BlY2lmaWVkIGFib3ZlKS5cbiAgLy8gQW4gZXhhY3QgbGV0dGVyIG1hdGNoIHdoaWNoIGlzICdkaXN0YW5jZScgY2hhcmFjdGVycyBhd2F5IGZyb20gdGhlIGZ1enp5IGxvY2F0aW9uXG4gIC8vIHdvdWxkIHNjb3JlIGFzIGEgY29tcGxldGUgbWlzbWF0Y2guIEEgZGlzdGFuY2Ugb2YgJzAnIHJlcXVpcmVzIHRoZSBtYXRjaCBiZSBhdFxuICAvLyB0aGUgZXhhY3QgbG9jYXRpb24gc3BlY2lmaWVkLCBhIHRocmVzaG9sZCBvZiAnMTAwMCcgd291bGQgcmVxdWlyZSBhIHBlcmZlY3QgbWF0Y2hcbiAgLy8gdG8gYmUgd2l0aGluIDgwMCBjaGFyYWN0ZXJzIG9mIHRoZSBmdXp6eSBsb2NhdGlvbiB0byBiZSBmb3VuZCB1c2luZyBhIDAuOCB0aHJlc2hvbGQuXG4gIGRpc3RhbmNlOiAxMDBcbn07XG5cbmNvbnN0IEFkdmFuY2VkT3B0aW9ucyA9IHtcbiAgLy8gV2hlbiBgdHJ1ZWAsIGl0IGVuYWJsZXMgdGhlIHVzZSBvZiB1bml4LWxpa2Ugc2VhcmNoIGNvbW1hbmRzXG4gIHVzZUV4dGVuZGVkU2VhcmNoOiBmYWxzZSxcbiAgLy8gVGhlIGdldCBmdW5jdGlvbiB0byB1c2Ugd2hlbiBmZXRjaGluZyBhbiBvYmplY3QncyBwcm9wZXJ0aWVzLlxuICAvLyBUaGUgZGVmYXVsdCB3aWxsIHNlYXJjaCBuZXN0ZWQgcGF0aHMgKmllIGZvby5iYXIuYmF6KlxuICBnZXRGbjogZ2V0LFxuICAvLyBXaGVuIGB0cnVlYCwgc2VhcmNoIHdpbGwgaWdub3JlIGBsb2NhdGlvbmAgYW5kIGBkaXN0YW5jZWAsIHNvIGl0IHdvbid0IG1hdHRlclxuICAvLyB3aGVyZSBpbiB0aGUgc3RyaW5nIHRoZSBwYXR0ZXJuIGFwcGVhcnMuXG4gIC8vIE1vcmUgaW5mbzogaHR0cHM6Ly9mdXNlanMuaW8vY29uY2VwdHMvc2NvcmluZy10aGVvcnkuaHRtbCNmdXp6aW5lc3Mtc2NvcmVcbiAgaWdub3JlTG9jYXRpb246IGZhbHNlLFxuICAvLyBXaGVuIGB0cnVlYCwgdGhlIGNhbGN1bGF0aW9uIGZvciB0aGUgcmVsZXZhbmNlIHNjb3JlICh1c2VkIGZvciBzb3J0aW5nKSB3aWxsXG4gIC8vIGlnbm9yZSB0aGUgZmllbGQtbGVuZ3RoIG5vcm0uXG4gIC8vIE1vcmUgaW5mbzogaHR0cHM6Ly9mdXNlanMuaW8vY29uY2VwdHMvc2NvcmluZy10aGVvcnkuaHRtbCNmaWVsZC1sZW5ndGgtbm9ybVxuICBpZ25vcmVGaWVsZE5vcm06IGZhbHNlXG59O1xuXG52YXIgQ29uZmlnID0ge1xuICAuLi5CYXNpY09wdGlvbnMsXG4gIC4uLk1hdGNoT3B0aW9ucyxcbiAgLi4uRnV6enlPcHRpb25zLFxuICAuLi5BZHZhbmNlZE9wdGlvbnNcbn07XG5cbmNvbnN0IFNQQUNFID0gL1teIF0rL2c7XG5cbi8vIEZpZWxkLWxlbmd0aCBub3JtOiB0aGUgc2hvcnRlciB0aGUgZmllbGQsIHRoZSBoaWdoZXIgdGhlIHdlaWdodC5cbi8vIFNldCB0byAzIGRlY2ltYWxzIHRvIHJlZHVjZSBpbmRleCBzaXplLlxuZnVuY3Rpb24gbm9ybShtYW50aXNzYSA9IDMpIHtcbiAgY29uc3QgY2FjaGUgPSBuZXcgTWFwKCk7XG4gIGNvbnN0IG0gPSBNYXRoLnBvdygxMCwgbWFudGlzc2EpO1xuXG4gIHJldHVybiB7XG4gICAgZ2V0KHZhbHVlKSB7XG4gICAgICBjb25zdCBudW1Ub2tlbnMgPSB2YWx1ZS5tYXRjaChTUEFDRSkubGVuZ3RoO1xuXG4gICAgICBpZiAoY2FjaGUuaGFzKG51bVRva2VucykpIHtcbiAgICAgICAgcmV0dXJuIGNhY2hlLmdldChudW1Ub2tlbnMpXG4gICAgICB9XG5cbiAgICAgIGNvbnN0IG5vcm0gPSAxIC8gTWF0aC5zcXJ0KG51bVRva2Vucyk7XG5cbiAgICAgIC8vIEluIHBsYWNlIG9mIGB0b0ZpeGVkKG1hbnRpc3NhKWAsIGZvciBmYXN0ZXIgY29tcHV0YXRpb25cbiAgICAgIGNvbnN0IG4gPSBwYXJzZUZsb2F0KE1hdGgucm91bmQobm9ybSAqIG0pIC8gbSk7XG5cbiAgICAgIGNhY2hlLnNldChudW1Ub2tlbnMsIG4pO1xuXG4gICAgICByZXR1cm4gblxuICAgIH0sXG4gICAgY2xlYXIoKSB7XG4gICAgICBjYWNoZS5jbGVhcigpO1xuICAgIH1cbiAgfVxufVxuXG5jbGFzcyBGdXNlSW5kZXgge1xuICBjb25zdHJ1Y3Rvcih7IGdldEZuID0gQ29uZmlnLmdldEZuIH0gPSB7fSkge1xuICAgIHRoaXMubm9ybSA9IG5vcm0oMyk7XG4gICAgdGhpcy5nZXRGbiA9IGdldEZuO1xuICAgIHRoaXMuaXNDcmVhdGVkID0gZmFsc2U7XG5cbiAgICB0aGlzLnNldEluZGV4UmVjb3JkcygpO1xuICB9XG4gIHNldFNvdXJjZXMoZG9jcyA9IFtdKSB7XG4gICAgdGhpcy5kb2NzID0gZG9jcztcbiAgfVxuICBzZXRJbmRleFJlY29yZHMocmVjb3JkcyA9IFtdKSB7XG4gICAgdGhpcy5yZWNvcmRzID0gcmVjb3JkcztcbiAgfVxuICBzZXRLZXlzKGtleXMgPSBbXSkge1xuICAgIHRoaXMua2V5cyA9IGtleXM7XG4gICAgdGhpcy5fa2V5c01hcCA9IHt9O1xuICAgIGtleXMuZm9yRWFjaCgoa2V5LCBpZHgpID0+IHtcbiAgICAgIHRoaXMuX2tleXNNYXBba2V5LmlkXSA9IGlkeDtcbiAgICB9KTtcbiAgfVxuICBjcmVhdGUoKSB7XG4gICAgaWYgKHRoaXMuaXNDcmVhdGVkIHx8ICF0aGlzLmRvY3MubGVuZ3RoKSB7XG4gICAgICByZXR1cm5cbiAgICB9XG5cbiAgICB0aGlzLmlzQ3JlYXRlZCA9IHRydWU7XG5cbiAgICAvLyBMaXN0IGlzIEFycmF5PFN0cmluZz5cbiAgICBpZiAoaXNTdHJpbmcodGhpcy5kb2NzWzBdKSkge1xuICAgICAgdGhpcy5kb2NzLmZvckVhY2goKGRvYywgZG9jSW5kZXgpID0+IHtcbiAgICAgICAgdGhpcy5fYWRkU3RyaW5nKGRvYywgZG9jSW5kZXgpO1xuICAgICAgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIExpc3QgaXMgQXJyYXk8T2JqZWN0PlxuICAgICAgdGhpcy5kb2NzLmZvckVhY2goKGRvYywgZG9jSW5kZXgpID0+IHtcbiAgICAgICAgdGhpcy5fYWRkT2JqZWN0KGRvYywgZG9jSW5kZXgpO1xuICAgICAgfSk7XG4gICAgfVxuXG4gICAgdGhpcy5ub3JtLmNsZWFyKCk7XG4gIH1cbiAgLy8gQWRkcyBhIGRvYyB0byB0aGUgZW5kIG9mIHRoZSBpbmRleFxuICBhZGQoZG9jKSB7XG4gICAgY29uc3QgaWR4ID0gdGhpcy5zaXplKCk7XG5cbiAgICBpZiAoaXNTdHJpbmcoZG9jKSkge1xuICAgICAgdGhpcy5fYWRkU3RyaW5nKGRvYywgaWR4KTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5fYWRkT2JqZWN0KGRvYywgaWR4KTtcbiAgICB9XG4gIH1cbiAgLy8gUmVtb3ZlcyB0aGUgZG9jIGF0IHRoZSBzcGVjaWZpZWQgaW5kZXggb2YgdGhlIGluZGV4XG4gIHJlbW92ZUF0KGlkeCkge1xuICAgIHRoaXMucmVjb3Jkcy5zcGxpY2UoaWR4LCAxKTtcblxuICAgIC8vIENoYW5nZSByZWYgaW5kZXggb2YgZXZlcnkgc3Vic3F1ZW50IGRvY1xuICAgIGZvciAobGV0IGkgPSBpZHgsIGxlbiA9IHRoaXMuc2l6ZSgpOyBpIDwgbGVuOyBpICs9IDEpIHtcbiAgICAgIHRoaXMucmVjb3Jkc1tpXS5pIC09IDE7XG4gICAgfVxuICB9XG4gIGdldFZhbHVlRm9ySXRlbUF0S2V5SWQoaXRlbSwga2V5SWQpIHtcbiAgICByZXR1cm4gaXRlbVt0aGlzLl9rZXlzTWFwW2tleUlkXV1cbiAgfVxuICBzaXplKCkge1xuICAgIHJldHVybiB0aGlzLnJlY29yZHMubGVuZ3RoXG4gIH1cbiAgX2FkZFN0cmluZyhkb2MsIGRvY0luZGV4KSB7XG4gICAgaWYgKCFpc0RlZmluZWQoZG9jKSB8fCBpc0JsYW5rKGRvYykpIHtcbiAgICAgIHJldHVyblxuICAgIH1cblxuICAgIGxldCByZWNvcmQgPSB7XG4gICAgICB2OiBkb2MsXG4gICAgICBpOiBkb2NJbmRleCxcbiAgICAgIG46IHRoaXMubm9ybS5nZXQoZG9jKVxuICAgIH07XG5cbiAgICB0aGlzLnJlY29yZHMucHVzaChyZWNvcmQpO1xuICB9XG4gIF9hZGRPYmplY3QoZG9jLCBkb2NJbmRleCkge1xuICAgIGxldCByZWNvcmQgPSB7IGk6IGRvY0luZGV4LCAkOiB7fSB9O1xuXG4gICAgLy8gSXRlcmF0ZSBvdmVyIGV2ZXJ5IGtleSAoaS5lLCBwYXRoKSwgYW5kIGZldGNoIHRoZSB2YWx1ZSBhdCB0aGF0IGtleVxuICAgIHRoaXMua2V5cy5mb3JFYWNoKChrZXksIGtleUluZGV4KSA9PiB7XG4gICAgICAvLyBjb25zb2xlLmxvZyhrZXkpXG4gICAgICBsZXQgdmFsdWUgPSB0aGlzLmdldEZuKGRvYywga2V5LnBhdGgpO1xuXG4gICAgICBpZiAoIWlzRGVmaW5lZCh2YWx1ZSkpIHtcbiAgICAgICAgcmV0dXJuXG4gICAgICB9XG5cbiAgICAgIGlmIChpc0FycmF5KHZhbHVlKSkge1xuICAgICAgICBsZXQgc3ViUmVjb3JkcyA9IFtdO1xuICAgICAgICBjb25zdCBzdGFjayA9IFt7IG5lc3RlZEFyckluZGV4OiAtMSwgdmFsdWUgfV07XG5cbiAgICAgICAgd2hpbGUgKHN0YWNrLmxlbmd0aCkge1xuICAgICAgICAgIGNvbnN0IHsgbmVzdGVkQXJySW5kZXgsIHZhbHVlIH0gPSBzdGFjay5wb3AoKTtcblxuICAgICAgICAgIGlmICghaXNEZWZpbmVkKHZhbHVlKSkge1xuICAgICAgICAgICAgY29udGludWVcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBpZiAoaXNTdHJpbmcodmFsdWUpICYmICFpc0JsYW5rKHZhbHVlKSkge1xuICAgICAgICAgICAgbGV0IHN1YlJlY29yZCA9IHtcbiAgICAgICAgICAgICAgdjogdmFsdWUsXG4gICAgICAgICAgICAgIGk6IG5lc3RlZEFyckluZGV4LFxuICAgICAgICAgICAgICBuOiB0aGlzLm5vcm0uZ2V0KHZhbHVlKVxuICAgICAgICAgICAgfTtcblxuICAgICAgICAgICAgc3ViUmVjb3Jkcy5wdXNoKHN1YlJlY29yZCk7XG4gICAgICAgICAgfSBlbHNlIGlmIChpc0FycmF5KHZhbHVlKSkge1xuICAgICAgICAgICAgdmFsdWUuZm9yRWFjaCgoaXRlbSwgaykgPT4ge1xuICAgICAgICAgICAgICBzdGFjay5wdXNoKHtcbiAgICAgICAgICAgICAgICBuZXN0ZWRBcnJJbmRleDogayxcbiAgICAgICAgICAgICAgICB2YWx1ZTogaXRlbVxuICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZWNvcmQuJFtrZXlJbmRleF0gPSBzdWJSZWNvcmRzO1xuICAgICAgfSBlbHNlIGlmICghaXNCbGFuayh2YWx1ZSkpIHtcbiAgICAgICAgbGV0IHN1YlJlY29yZCA9IHtcbiAgICAgICAgICB2OiB2YWx1ZSxcbiAgICAgICAgICBuOiB0aGlzLm5vcm0uZ2V0KHZhbHVlKVxuICAgICAgICB9O1xuXG4gICAgICAgIHJlY29yZC4kW2tleUluZGV4XSA9IHN1YlJlY29yZDtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIHRoaXMucmVjb3Jkcy5wdXNoKHJlY29yZCk7XG4gIH1cbiAgdG9KU09OKCkge1xuICAgIHJldHVybiB7XG4gICAgICBrZXlzOiB0aGlzLmtleXMsXG4gICAgICByZWNvcmRzOiB0aGlzLnJlY29yZHNcbiAgICB9XG4gIH1cbn1cblxuZnVuY3Rpb24gY3JlYXRlSW5kZXgoa2V5cywgZG9jcywgeyBnZXRGbiA9IENvbmZpZy5nZXRGbiB9ID0ge30pIHtcbiAgY29uc3QgbXlJbmRleCA9IG5ldyBGdXNlSW5kZXgoeyBnZXRGbiB9KTtcbiAgbXlJbmRleC5zZXRLZXlzKGtleXMubWFwKGNyZWF0ZUtleSkpO1xuICBteUluZGV4LnNldFNvdXJjZXMoZG9jcyk7XG4gIG15SW5kZXguY3JlYXRlKCk7XG4gIHJldHVybiBteUluZGV4XG59XG5cbmZ1bmN0aW9uIHBhcnNlSW5kZXgoZGF0YSwgeyBnZXRGbiA9IENvbmZpZy5nZXRGbiB9ID0ge30pIHtcbiAgY29uc3QgeyBrZXlzLCByZWNvcmRzIH0gPSBkYXRhO1xuICBjb25zdCBteUluZGV4ID0gbmV3IEZ1c2VJbmRleCh7IGdldEZuIH0pO1xuICBteUluZGV4LnNldEtleXMoa2V5cyk7XG4gIG15SW5kZXguc2V0SW5kZXhSZWNvcmRzKHJlY29yZHMpO1xuICByZXR1cm4gbXlJbmRleFxufVxuXG5mdW5jdGlvbiBjb21wdXRlU2NvcmUoXG4gIHBhdHRlcm4sXG4gIHtcbiAgICBlcnJvcnMgPSAwLFxuICAgIGN1cnJlbnRMb2NhdGlvbiA9IDAsXG4gICAgZXhwZWN0ZWRMb2NhdGlvbiA9IDAsXG4gICAgZGlzdGFuY2UgPSBDb25maWcuZGlzdGFuY2UsXG4gICAgaWdub3JlTG9jYXRpb24gPSBDb25maWcuaWdub3JlTG9jYXRpb25cbiAgfSA9IHt9XG4pIHtcbiAgY29uc3QgYWNjdXJhY3kgPSBlcnJvcnMgLyBwYXR0ZXJuLmxlbmd0aDtcblxuICBpZiAoaWdub3JlTG9jYXRpb24pIHtcbiAgICByZXR1cm4gYWNjdXJhY3lcbiAgfVxuXG4gIGNvbnN0IHByb3hpbWl0eSA9IE1hdGguYWJzKGV4cGVjdGVkTG9jYXRpb24gLSBjdXJyZW50TG9jYXRpb24pO1xuXG4gIGlmICghZGlzdGFuY2UpIHtcbiAgICAvLyBEb2RnZSBkaXZpZGUgYnkgemVybyBlcnJvci5cbiAgICByZXR1cm4gcHJveGltaXR5ID8gMS4wIDogYWNjdXJhY3lcbiAgfVxuXG4gIHJldHVybiBhY2N1cmFjeSArIHByb3hpbWl0eSAvIGRpc3RhbmNlXG59XG5cbmZ1bmN0aW9uIGNvbnZlcnRNYXNrVG9JbmRpY2VzKFxuICBtYXRjaG1hc2sgPSBbXSxcbiAgbWluTWF0Y2hDaGFyTGVuZ3RoID0gQ29uZmlnLm1pbk1hdGNoQ2hhckxlbmd0aFxuKSB7XG4gIGxldCBpbmRpY2VzID0gW107XG4gIGxldCBzdGFydCA9IC0xO1xuICBsZXQgZW5kID0gLTE7XG4gIGxldCBpID0gMDtcblxuICBmb3IgKGxldCBsZW4gPSBtYXRjaG1hc2subGVuZ3RoOyBpIDwgbGVuOyBpICs9IDEpIHtcbiAgICBsZXQgbWF0Y2ggPSBtYXRjaG1hc2tbaV07XG4gICAgaWYgKG1hdGNoICYmIHN0YXJ0ID09PSAtMSkge1xuICAgICAgc3RhcnQgPSBpO1xuICAgIH0gZWxzZSBpZiAoIW1hdGNoICYmIHN0YXJ0ICE9PSAtMSkge1xuICAgICAgZW5kID0gaSAtIDE7XG4gICAgICBpZiAoZW5kIC0gc3RhcnQgKyAxID49IG1pbk1hdGNoQ2hhckxlbmd0aCkge1xuICAgICAgICBpbmRpY2VzLnB1c2goW3N0YXJ0LCBlbmRdKTtcbiAgICAgIH1cbiAgICAgIHN0YXJ0ID0gLTE7XG4gICAgfVxuICB9XG5cbiAgLy8gKGktMSAtIHN0YXJ0KSArIDEgPT4gaSAtIHN0YXJ0XG4gIGlmIChtYXRjaG1hc2tbaSAtIDFdICYmIGkgLSBzdGFydCA+PSBtaW5NYXRjaENoYXJMZW5ndGgpIHtcbiAgICBpbmRpY2VzLnB1c2goW3N0YXJ0LCBpIC0gMV0pO1xuICB9XG5cbiAgcmV0dXJuIGluZGljZXNcbn1cblxuLy8gTWFjaGluZSB3b3JkIHNpemVcbmNvbnN0IE1BWF9CSVRTID0gMzI7XG5cbmZ1bmN0aW9uIHNlYXJjaChcbiAgdGV4dCxcbiAgcGF0dGVybixcbiAgcGF0dGVybkFscGhhYmV0LFxuICB7XG4gICAgbG9jYXRpb24gPSBDb25maWcubG9jYXRpb24sXG4gICAgZGlzdGFuY2UgPSBDb25maWcuZGlzdGFuY2UsXG4gICAgdGhyZXNob2xkID0gQ29uZmlnLnRocmVzaG9sZCxcbiAgICBmaW5kQWxsTWF0Y2hlcyA9IENvbmZpZy5maW5kQWxsTWF0Y2hlcyxcbiAgICBtaW5NYXRjaENoYXJMZW5ndGggPSBDb25maWcubWluTWF0Y2hDaGFyTGVuZ3RoLFxuICAgIGluY2x1ZGVNYXRjaGVzID0gQ29uZmlnLmluY2x1ZGVNYXRjaGVzLFxuICAgIGlnbm9yZUxvY2F0aW9uID0gQ29uZmlnLmlnbm9yZUxvY2F0aW9uXG4gIH0gPSB7fVxuKSB7XG4gIGlmIChwYXR0ZXJuLmxlbmd0aCA+IE1BWF9CSVRTKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKFBBVFRFUk5fTEVOR1RIX1RPT19MQVJHRShNQVhfQklUUykpXG4gIH1cblxuICBjb25zdCBwYXR0ZXJuTGVuID0gcGF0dGVybi5sZW5ndGg7XG4gIC8vIFNldCBzdGFydGluZyBsb2NhdGlvbiBhdCBiZWdpbm5pbmcgdGV4dCBhbmQgaW5pdGlhbGl6ZSB0aGUgYWxwaGFiZXQuXG4gIGNvbnN0IHRleHRMZW4gPSB0ZXh0Lmxlbmd0aDtcbiAgLy8gSGFuZGxlIHRoZSBjYXNlIHdoZW4gbG9jYXRpb24gPiB0ZXh0Lmxlbmd0aFxuICBjb25zdCBleHBlY3RlZExvY2F0aW9uID0gTWF0aC5tYXgoMCwgTWF0aC5taW4obG9jYXRpb24sIHRleHRMZW4pKTtcbiAgLy8gSGlnaGVzdCBzY29yZSBiZXlvbmQgd2hpY2ggd2UgZ2l2ZSB1cC5cbiAgbGV0IGN1cnJlbnRUaHJlc2hvbGQgPSB0aHJlc2hvbGQ7XG4gIC8vIElzIHRoZXJlIGEgbmVhcmJ5IGV4YWN0IG1hdGNoPyAoc3BlZWR1cClcbiAgbGV0IGJlc3RMb2NhdGlvbiA9IGV4cGVjdGVkTG9jYXRpb247XG5cbiAgLy8gUGVyZm9ybWFuY2U6IG9ubHkgY29tcHV0ZXIgbWF0Y2hlcyB3aGVuIHRoZSBtaW5NYXRjaENoYXJMZW5ndGggPiAxXG4gIC8vIE9SIGlmIGBpbmNsdWRlTWF0Y2hlc2AgaXMgdHJ1ZS5cbiAgY29uc3QgY29tcHV0ZU1hdGNoZXMgPSBtaW5NYXRjaENoYXJMZW5ndGggPiAxIHx8IGluY2x1ZGVNYXRjaGVzO1xuICAvLyBBIG1hc2sgb2YgdGhlIG1hdGNoZXMsIHVzZWQgZm9yIGJ1aWxkaW5nIHRoZSBpbmRpY2VzXG4gIGNvbnN0IG1hdGNoTWFzayA9IGNvbXB1dGVNYXRjaGVzID8gQXJyYXkodGV4dExlbikgOiBbXTtcblxuICBsZXQgaW5kZXg7XG5cbiAgLy8gR2V0IGFsbCBleGFjdCBtYXRjaGVzLCBoZXJlIGZvciBzcGVlZCB1cFxuICB3aGlsZSAoKGluZGV4ID0gdGV4dC5pbmRleE9mKHBhdHRlcm4sIGJlc3RMb2NhdGlvbikpID4gLTEpIHtcbiAgICBsZXQgc2NvcmUgPSBjb21wdXRlU2NvcmUocGF0dGVybiwge1xuICAgICAgY3VycmVudExvY2F0aW9uOiBpbmRleCxcbiAgICAgIGV4cGVjdGVkTG9jYXRpb24sXG4gICAgICBkaXN0YW5jZSxcbiAgICAgIGlnbm9yZUxvY2F0aW9uXG4gICAgfSk7XG5cbiAgICBjdXJyZW50VGhyZXNob2xkID0gTWF0aC5taW4oc2NvcmUsIGN1cnJlbnRUaHJlc2hvbGQpO1xuICAgIGJlc3RMb2NhdGlvbiA9IGluZGV4ICsgcGF0dGVybkxlbjtcblxuICAgIGlmIChjb21wdXRlTWF0Y2hlcykge1xuICAgICAgbGV0IGkgPSAwO1xuICAgICAgd2hpbGUgKGkgPCBwYXR0ZXJuTGVuKSB7XG4gICAgICAgIG1hdGNoTWFza1tpbmRleCArIGldID0gMTtcbiAgICAgICAgaSArPSAxO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFJlc2V0IHRoZSBiZXN0IGxvY2F0aW9uXG4gIGJlc3RMb2NhdGlvbiA9IC0xO1xuXG4gIGxldCBsYXN0Qml0QXJyID0gW107XG4gIGxldCBmaW5hbFNjb3JlID0gMTtcbiAgbGV0IGJpbk1heCA9IHBhdHRlcm5MZW4gKyB0ZXh0TGVuO1xuXG4gIGNvbnN0IG1hc2sgPSAxIDw8IChwYXR0ZXJuTGVuIC0gMSk7XG5cbiAgZm9yIChsZXQgaSA9IDA7IGkgPCBwYXR0ZXJuTGVuOyBpICs9IDEpIHtcbiAgICAvLyBTY2FuIGZvciB0aGUgYmVzdCBtYXRjaDsgZWFjaCBpdGVyYXRpb24gYWxsb3dzIGZvciBvbmUgbW9yZSBlcnJvci5cbiAgICAvLyBSdW4gYSBiaW5hcnkgc2VhcmNoIHRvIGRldGVybWluZSBob3cgZmFyIGZyb20gdGhlIG1hdGNoIGxvY2F0aW9uIHdlIGNhbiBzdHJheVxuICAgIC8vIGF0IHRoaXMgZXJyb3IgbGV2ZWwuXG4gICAgbGV0IGJpbk1pbiA9IDA7XG4gICAgbGV0IGJpbk1pZCA9IGJpbk1heDtcblxuICAgIHdoaWxlIChiaW5NaW4gPCBiaW5NaWQpIHtcbiAgICAgIGNvbnN0IHNjb3JlID0gY29tcHV0ZVNjb3JlKHBhdHRlcm4sIHtcbiAgICAgICAgZXJyb3JzOiBpLFxuICAgICAgICBjdXJyZW50TG9jYXRpb246IGV4cGVjdGVkTG9jYXRpb24gKyBiaW5NaWQsXG4gICAgICAgIGV4cGVjdGVkTG9jYXRpb24sXG4gICAgICAgIGRpc3RhbmNlLFxuICAgICAgICBpZ25vcmVMb2NhdGlvblxuICAgICAgfSk7XG5cbiAgICAgIGlmIChzY29yZSA8PSBjdXJyZW50VGhyZXNob2xkKSB7XG4gICAgICAgIGJpbk1pbiA9IGJpbk1pZDtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGJpbk1heCA9IGJpbk1pZDtcbiAgICAgIH1cblxuICAgICAgYmluTWlkID0gTWF0aC5mbG9vcigoYmluTWF4IC0gYmluTWluKSAvIDIgKyBiaW5NaW4pO1xuICAgIH1cblxuICAgIC8vIFVzZSB0aGUgcmVzdWx0IGZyb20gdGhpcyBpdGVyYXRpb24gYXMgdGhlIG1heGltdW0gZm9yIHRoZSBuZXh0LlxuICAgIGJpbk1heCA9IGJpbk1pZDtcblxuICAgIGxldCBzdGFydCA9IE1hdGgubWF4KDEsIGV4cGVjdGVkTG9jYXRpb24gLSBiaW5NaWQgKyAxKTtcbiAgICBsZXQgZmluaXNoID0gZmluZEFsbE1hdGNoZXNcbiAgICAgID8gdGV4dExlblxuICAgICAgOiBNYXRoLm1pbihleHBlY3RlZExvY2F0aW9uICsgYmluTWlkLCB0ZXh0TGVuKSArIHBhdHRlcm5MZW47XG5cbiAgICAvLyBJbml0aWFsaXplIHRoZSBiaXQgYXJyYXlcbiAgICBsZXQgYml0QXJyID0gQXJyYXkoZmluaXNoICsgMik7XG5cbiAgICBiaXRBcnJbZmluaXNoICsgMV0gPSAoMSA8PCBpKSAtIDE7XG5cbiAgICBmb3IgKGxldCBqID0gZmluaXNoOyBqID49IHN0YXJ0OyBqIC09IDEpIHtcbiAgICAgIGxldCBjdXJyZW50TG9jYXRpb24gPSBqIC0gMTtcbiAgICAgIGxldCBjaGFyTWF0Y2ggPSBwYXR0ZXJuQWxwaGFiZXRbdGV4dC5jaGFyQXQoY3VycmVudExvY2F0aW9uKV07XG5cbiAgICAgIGlmIChjb21wdXRlTWF0Y2hlcykge1xuICAgICAgICAvLyBTcGVlZCB1cDogcXVpY2sgYm9vbCB0byBpbnQgY29udmVyc2lvbiAoaS5lLCBgY2hhck1hdGNoID8gMSA6IDBgKVxuICAgICAgICBtYXRjaE1hc2tbY3VycmVudExvY2F0aW9uXSA9ICshIWNoYXJNYXRjaDtcbiAgICAgIH1cblxuICAgICAgLy8gRmlyc3QgcGFzczogZXhhY3QgbWF0Y2hcbiAgICAgIGJpdEFycltqXSA9ICgoYml0QXJyW2ogKyAxXSA8PCAxKSB8IDEpICYgY2hhck1hdGNoO1xuXG4gICAgICAvLyBTdWJzZXF1ZW50IHBhc3NlczogZnV6enkgbWF0Y2hcbiAgICAgIGlmIChpKSB7XG4gICAgICAgIGJpdEFycltqXSB8PVxuICAgICAgICAgICgobGFzdEJpdEFycltqICsgMV0gfCBsYXN0Qml0QXJyW2pdKSA8PCAxKSB8IDEgfCBsYXN0Qml0QXJyW2ogKyAxXTtcbiAgICAgIH1cblxuICAgICAgaWYgKGJpdEFycltqXSAmIG1hc2spIHtcbiAgICAgICAgZmluYWxTY29yZSA9IGNvbXB1dGVTY29yZShwYXR0ZXJuLCB7XG4gICAgICAgICAgZXJyb3JzOiBpLFxuICAgICAgICAgIGN1cnJlbnRMb2NhdGlvbixcbiAgICAgICAgICBleHBlY3RlZExvY2F0aW9uLFxuICAgICAgICAgIGRpc3RhbmNlLFxuICAgICAgICAgIGlnbm9yZUxvY2F0aW9uXG4gICAgICAgIH0pO1xuXG4gICAgICAgIC8vIFRoaXMgbWF0Y2ggd2lsbCBhbG1vc3QgY2VydGFpbmx5IGJlIGJldHRlciB0aGFuIGFueSBleGlzdGluZyBtYXRjaC5cbiAgICAgICAgLy8gQnV0IGNoZWNrIGFueXdheS5cbiAgICAgICAgaWYgKGZpbmFsU2NvcmUgPD0gY3VycmVudFRocmVzaG9sZCkge1xuICAgICAgICAgIC8vIEluZGVlZCBpdCBpc1xuICAgICAgICAgIGN1cnJlbnRUaHJlc2hvbGQgPSBmaW5hbFNjb3JlO1xuICAgICAgICAgIGJlc3RMb2NhdGlvbiA9IGN1cnJlbnRMb2NhdGlvbjtcblxuICAgICAgICAgIC8vIEFscmVhZHkgcGFzc2VkIGBsb2NgLCBkb3duaGlsbCBmcm9tIGhlcmUgb24gaW4uXG4gICAgICAgICAgaWYgKGJlc3RMb2NhdGlvbiA8PSBleHBlY3RlZExvY2F0aW9uKSB7XG4gICAgICAgICAgICBicmVha1xuICAgICAgICAgIH1cblxuICAgICAgICAgIC8vIFdoZW4gcGFzc2luZyBgYmVzdExvY2F0aW9uYCwgZG9uJ3QgZXhjZWVkIG91ciBjdXJyZW50IGRpc3RhbmNlIGZyb20gYGV4cGVjdGVkTG9jYXRpb25gLlxuICAgICAgICAgIHN0YXJ0ID0gTWF0aC5tYXgoMSwgMiAqIGV4cGVjdGVkTG9jYXRpb24gLSBiZXN0TG9jYXRpb24pO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gTm8gaG9wZSBmb3IgYSAoYmV0dGVyKSBtYXRjaCBhdCBncmVhdGVyIGVycm9yIGxldmVscy5cbiAgICBjb25zdCBzY29yZSA9IGNvbXB1dGVTY29yZShwYXR0ZXJuLCB7XG4gICAgICBlcnJvcnM6IGkgKyAxLFxuICAgICAgY3VycmVudExvY2F0aW9uOiBleHBlY3RlZExvY2F0aW9uLFxuICAgICAgZXhwZWN0ZWRMb2NhdGlvbixcbiAgICAgIGRpc3RhbmNlLFxuICAgICAgaWdub3JlTG9jYXRpb25cbiAgICB9KTtcblxuICAgIGlmIChzY29yZSA+IGN1cnJlbnRUaHJlc2hvbGQpIHtcbiAgICAgIGJyZWFrXG4gICAgfVxuXG4gICAgbGFzdEJpdEFyciA9IGJpdEFycjtcbiAgfVxuXG4gIGNvbnN0IHJlc3VsdCA9IHtcbiAgICBpc01hdGNoOiBiZXN0TG9jYXRpb24gPj0gMCxcbiAgICAvLyBDb3VudCBleGFjdCBtYXRjaGVzICh0aG9zZSB3aXRoIGEgc2NvcmUgb2YgMCkgdG8gYmUgXCJhbG1vc3RcIiBleGFjdFxuICAgIHNjb3JlOiBNYXRoLm1heCgwLjAwMSwgZmluYWxTY29yZSlcbiAgfTtcblxuICBpZiAoY29tcHV0ZU1hdGNoZXMpIHtcbiAgICBjb25zdCBpbmRpY2VzID0gY29udmVydE1hc2tUb0luZGljZXMobWF0Y2hNYXNrLCBtaW5NYXRjaENoYXJMZW5ndGgpO1xuICAgIGlmICghaW5kaWNlcy5sZW5ndGgpIHtcbiAgICAgIHJlc3VsdC5pc01hdGNoID0gZmFsc2U7XG4gICAgfSBlbHNlIGlmIChpbmNsdWRlTWF0Y2hlcykge1xuICAgICAgcmVzdWx0LmluZGljZXMgPSBpbmRpY2VzO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiByZXN1bHRcbn1cblxuZnVuY3Rpb24gY3JlYXRlUGF0dGVybkFscGhhYmV0KHBhdHRlcm4pIHtcbiAgbGV0IG1hc2sgPSB7fTtcblxuICBmb3IgKGxldCBpID0gMCwgbGVuID0gcGF0dGVybi5sZW5ndGg7IGkgPCBsZW47IGkgKz0gMSkge1xuICAgIGNvbnN0IGNoYXIgPSBwYXR0ZXJuLmNoYXJBdChpKTtcbiAgICBtYXNrW2NoYXJdID0gKG1hc2tbY2hhcl0gfHwgMCkgfCAoMSA8PCAobGVuIC0gaSAtIDEpKTtcbiAgfVxuXG4gIHJldHVybiBtYXNrXG59XG5cbmNsYXNzIEJpdGFwU2VhcmNoIHtcbiAgY29uc3RydWN0b3IoXG4gICAgcGF0dGVybixcbiAgICB7XG4gICAgICBsb2NhdGlvbiA9IENvbmZpZy5sb2NhdGlvbixcbiAgICAgIHRocmVzaG9sZCA9IENvbmZpZy50aHJlc2hvbGQsXG4gICAgICBkaXN0YW5jZSA9IENvbmZpZy5kaXN0YW5jZSxcbiAgICAgIGluY2x1ZGVNYXRjaGVzID0gQ29uZmlnLmluY2x1ZGVNYXRjaGVzLFxuICAgICAgZmluZEFsbE1hdGNoZXMgPSBDb25maWcuZmluZEFsbE1hdGNoZXMsXG4gICAgICBtaW5NYXRjaENoYXJMZW5ndGggPSBDb25maWcubWluTWF0Y2hDaGFyTGVuZ3RoLFxuICAgICAgaXNDYXNlU2Vuc2l0aXZlID0gQ29uZmlnLmlzQ2FzZVNlbnNpdGl2ZSxcbiAgICAgIGlnbm9yZUxvY2F0aW9uID0gQ29uZmlnLmlnbm9yZUxvY2F0aW9uXG4gICAgfSA9IHt9XG4gICkge1xuICAgIHRoaXMub3B0aW9ucyA9IHtcbiAgICAgIGxvY2F0aW9uLFxuICAgICAgdGhyZXNob2xkLFxuICAgICAgZGlzdGFuY2UsXG4gICAgICBpbmNsdWRlTWF0Y2hlcyxcbiAgICAgIGZpbmRBbGxNYXRjaGVzLFxuICAgICAgbWluTWF0Y2hDaGFyTGVuZ3RoLFxuICAgICAgaXNDYXNlU2Vuc2l0aXZlLFxuICAgICAgaWdub3JlTG9jYXRpb25cbiAgICB9O1xuXG4gICAgdGhpcy5wYXR0ZXJuID0gaXNDYXNlU2Vuc2l0aXZlID8gcGF0dGVybiA6IHBhdHRlcm4udG9Mb3dlckNhc2UoKTtcblxuICAgIHRoaXMuY2h1bmtzID0gW107XG5cbiAgICBpZiAoIXRoaXMucGF0dGVybi5sZW5ndGgpIHtcbiAgICAgIHJldHVyblxuICAgIH1cblxuICAgIGNvbnN0IGFkZENodW5rID0gKHBhdHRlcm4sIHN0YXJ0SW5kZXgpID0+IHtcbiAgICAgIHRoaXMuY2h1bmtzLnB1c2goe1xuICAgICAgICBwYXR0ZXJuLFxuICAgICAgICBhbHBoYWJldDogY3JlYXRlUGF0dGVybkFscGhhYmV0KHBhdHRlcm4pLFxuICAgICAgICBzdGFydEluZGV4XG4gICAgICB9KTtcbiAgICB9O1xuXG4gICAgY29uc3QgbGVuID0gdGhpcy5wYXR0ZXJuLmxlbmd0aDtcblxuICAgIGlmIChsZW4gPiBNQVhfQklUUykge1xuICAgICAgbGV0IGkgPSAwO1xuICAgICAgY29uc3QgcmVtYWluZGVyID0gbGVuICUgTUFYX0JJVFM7XG4gICAgICBjb25zdCBlbmQgPSBsZW4gLSByZW1haW5kZXI7XG5cbiAgICAgIHdoaWxlIChpIDwgZW5kKSB7XG4gICAgICAgIGFkZENodW5rKHRoaXMucGF0dGVybi5zdWJzdHIoaSwgTUFYX0JJVFMpLCBpKTtcbiAgICAgICAgaSArPSBNQVhfQklUUztcbiAgICAgIH1cblxuICAgICAgaWYgKHJlbWFpbmRlcikge1xuICAgICAgICBjb25zdCBzdGFydEluZGV4ID0gbGVuIC0gTUFYX0JJVFM7XG4gICAgICAgIGFkZENodW5rKHRoaXMucGF0dGVybi5zdWJzdHIoc3RhcnRJbmRleCksIHN0YXJ0SW5kZXgpO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICBhZGRDaHVuayh0aGlzLnBhdHRlcm4sIDApO1xuICAgIH1cbiAgfVxuXG4gIHNlYXJjaEluKHRleHQpIHtcbiAgICBjb25zdCB7IGlzQ2FzZVNlbnNpdGl2ZSwgaW5jbHVkZU1hdGNoZXMgfSA9IHRoaXMub3B0aW9ucztcblxuICAgIGlmICghaXNDYXNlU2Vuc2l0aXZlKSB7XG4gICAgICB0ZXh0ID0gdGV4dC50b0xvd2VyQ2FzZSgpO1xuICAgIH1cblxuICAgIC8vIEV4YWN0IG1hdGNoXG4gICAgaWYgKHRoaXMucGF0dGVybiA9PT0gdGV4dCkge1xuICAgICAgbGV0IHJlc3VsdCA9IHtcbiAgICAgICAgaXNNYXRjaDogdHJ1ZSxcbiAgICAgICAgc2NvcmU6IDBcbiAgICAgIH07XG5cbiAgICAgIGlmIChpbmNsdWRlTWF0Y2hlcykge1xuICAgICAgICByZXN1bHQuaW5kaWNlcyA9IFtbMCwgdGV4dC5sZW5ndGggLSAxXV07XG4gICAgICB9XG5cbiAgICAgIHJldHVybiByZXN1bHRcbiAgICB9XG5cbiAgICAvLyBPdGhlcndpc2UsIHVzZSBCaXRhcCBhbGdvcml0aG1cbiAgICBjb25zdCB7XG4gICAgICBsb2NhdGlvbixcbiAgICAgIGRpc3RhbmNlLFxuICAgICAgdGhyZXNob2xkLFxuICAgICAgZmluZEFsbE1hdGNoZXMsXG4gICAgICBtaW5NYXRjaENoYXJMZW5ndGgsXG4gICAgICBpZ25vcmVMb2NhdGlvblxuICAgIH0gPSB0aGlzLm9wdGlvbnM7XG5cbiAgICBsZXQgYWxsSW5kaWNlcyA9IFtdO1xuICAgIGxldCB0b3RhbFNjb3JlID0gMDtcbiAgICBsZXQgaGFzTWF0Y2hlcyA9IGZhbHNlO1xuXG4gICAgdGhpcy5jaHVua3MuZm9yRWFjaCgoeyBwYXR0ZXJuLCBhbHBoYWJldCwgc3RhcnRJbmRleCB9KSA9PiB7XG4gICAgICBjb25zdCB7IGlzTWF0Y2gsIHNjb3JlLCBpbmRpY2VzIH0gPSBzZWFyY2godGV4dCwgcGF0dGVybiwgYWxwaGFiZXQsIHtcbiAgICAgICAgbG9jYXRpb246IGxvY2F0aW9uICsgc3RhcnRJbmRleCxcbiAgICAgICAgZGlzdGFuY2UsXG4gICAgICAgIHRocmVzaG9sZCxcbiAgICAgICAgZmluZEFsbE1hdGNoZXMsXG4gICAgICAgIG1pbk1hdGNoQ2hhckxlbmd0aCxcbiAgICAgICAgaW5jbHVkZU1hdGNoZXMsXG4gICAgICAgIGlnbm9yZUxvY2F0aW9uXG4gICAgICB9KTtcblxuICAgICAgaWYgKGlzTWF0Y2gpIHtcbiAgICAgICAgaGFzTWF0Y2hlcyA9IHRydWU7XG4gICAgICB9XG5cbiAgICAgIHRvdGFsU2NvcmUgKz0gc2NvcmU7XG5cbiAgICAgIGlmIChpc01hdGNoICYmIGluZGljZXMpIHtcbiAgICAgICAgYWxsSW5kaWNlcyA9IFsuLi5hbGxJbmRpY2VzLCAuLi5pbmRpY2VzXTtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIGxldCByZXN1bHQgPSB7XG4gICAgICBpc01hdGNoOiBoYXNNYXRjaGVzLFxuICAgICAgc2NvcmU6IGhhc01hdGNoZXMgPyB0b3RhbFNjb3JlIC8gdGhpcy5jaHVua3MubGVuZ3RoIDogMVxuICAgIH07XG5cbiAgICBpZiAoaGFzTWF0Y2hlcyAmJiBpbmNsdWRlTWF0Y2hlcykge1xuICAgICAgcmVzdWx0LmluZGljZXMgPSBhbGxJbmRpY2VzO1xuICAgIH1cblxuICAgIHJldHVybiByZXN1bHRcbiAgfVxufVxuXG5jbGFzcyBCYXNlTWF0Y2gge1xuICBjb25zdHJ1Y3RvcihwYXR0ZXJuKSB7XG4gICAgdGhpcy5wYXR0ZXJuID0gcGF0dGVybjtcbiAgfVxuICBzdGF0aWMgaXNNdWx0aU1hdGNoKHBhdHRlcm4pIHtcbiAgICByZXR1cm4gZ2V0TWF0Y2gocGF0dGVybiwgdGhpcy5tdWx0aVJlZ2V4KVxuICB9XG4gIHN0YXRpYyBpc1NpbmdsZU1hdGNoKHBhdHRlcm4pIHtcbiAgICByZXR1cm4gZ2V0TWF0Y2gocGF0dGVybiwgdGhpcy5zaW5nbGVSZWdleClcbiAgfVxuICBzZWFyY2goLyp0ZXh0Ki8pIHt9XG59XG5cbmZ1bmN0aW9uIGdldE1hdGNoKHBhdHRlcm4sIGV4cCkge1xuICBjb25zdCBtYXRjaGVzID0gcGF0dGVybi5tYXRjaChleHApO1xuICByZXR1cm4gbWF0Y2hlcyA/IG1hdGNoZXNbMV0gOiBudWxsXG59XG5cbi8vIFRva2VuOiAnZmlsZVxuXG5jbGFzcyBFeGFjdE1hdGNoIGV4dGVuZHMgQmFzZU1hdGNoIHtcbiAgY29uc3RydWN0b3IocGF0dGVybikge1xuICAgIHN1cGVyKHBhdHRlcm4pO1xuICB9XG4gIHN0YXRpYyBnZXQgdHlwZSgpIHtcbiAgICByZXR1cm4gJ2V4YWN0J1xuICB9XG4gIHN0YXRpYyBnZXQgbXVsdGlSZWdleCgpIHtcbiAgICByZXR1cm4gL149XCIoLiopXCIkL1xuICB9XG4gIHN0YXRpYyBnZXQgc2luZ2xlUmVnZXgoKSB7XG4gICAgcmV0dXJuIC9ePSguKikkL1xuICB9XG4gIHNlYXJjaCh0ZXh0KSB7XG4gICAgY29uc3QgaXNNYXRjaCA9IHRleHQgPT09IHRoaXMucGF0dGVybjtcblxuICAgIHJldHVybiB7XG4gICAgICBpc01hdGNoLFxuICAgICAgc2NvcmU6IGlzTWF0Y2ggPyAwIDogMSxcbiAgICAgIGluZGljZXM6IFswLCB0aGlzLnBhdHRlcm4ubGVuZ3RoIC0gMV1cbiAgICB9XG4gIH1cbn1cblxuLy8gVG9rZW46ICFmaXJlXG5cbmNsYXNzIEludmVyc2VFeGFjdE1hdGNoIGV4dGVuZHMgQmFzZU1hdGNoIHtcbiAgY29uc3RydWN0b3IocGF0dGVybikge1xuICAgIHN1cGVyKHBhdHRlcm4pO1xuICB9XG4gIHN0YXRpYyBnZXQgdHlwZSgpIHtcbiAgICByZXR1cm4gJ2ludmVyc2UtZXhhY3QnXG4gIH1cbiAgc3RhdGljIGdldCBtdWx0aVJlZ2V4KCkge1xuICAgIHJldHVybiAvXiFcIiguKilcIiQvXG4gIH1cbiAgc3RhdGljIGdldCBzaW5nbGVSZWdleCgpIHtcbiAgICByZXR1cm4gL14hKC4qKSQvXG4gIH1cbiAgc2VhcmNoKHRleHQpIHtcbiAgICBjb25zdCBpbmRleCA9IHRleHQuaW5kZXhPZih0aGlzLnBhdHRlcm4pO1xuICAgIGNvbnN0IGlzTWF0Y2ggPSBpbmRleCA9PT0gLTE7XG5cbiAgICByZXR1cm4ge1xuICAgICAgaXNNYXRjaCxcbiAgICAgIHNjb3JlOiBpc01hdGNoID8gMCA6IDEsXG4gICAgICBpbmRpY2VzOiBbMCwgdGV4dC5sZW5ndGggLSAxXVxuICAgIH1cbiAgfVxufVxuXG4vLyBUb2tlbjogXmZpbGVcblxuY2xhc3MgUHJlZml4RXhhY3RNYXRjaCBleHRlbmRzIEJhc2VNYXRjaCB7XG4gIGNvbnN0cnVjdG9yKHBhdHRlcm4pIHtcbiAgICBzdXBlcihwYXR0ZXJuKTtcbiAgfVxuICBzdGF0aWMgZ2V0IHR5cGUoKSB7XG4gICAgcmV0dXJuICdwcmVmaXgtZXhhY3QnXG4gIH1cbiAgc3RhdGljIGdldCBtdWx0aVJlZ2V4KCkge1xuICAgIHJldHVybiAvXlxcXlwiKC4qKVwiJC9cbiAgfVxuICBzdGF0aWMgZ2V0IHNpbmdsZVJlZ2V4KCkge1xuICAgIHJldHVybiAvXlxcXiguKikkL1xuICB9XG4gIHNlYXJjaCh0ZXh0KSB7XG4gICAgY29uc3QgaXNNYXRjaCA9IHRleHQuc3RhcnRzV2l0aCh0aGlzLnBhdHRlcm4pO1xuXG4gICAgcmV0dXJuIHtcbiAgICAgIGlzTWF0Y2gsXG4gICAgICBzY29yZTogaXNNYXRjaCA/IDAgOiAxLFxuICAgICAgaW5kaWNlczogWzAsIHRoaXMucGF0dGVybi5sZW5ndGggLSAxXVxuICAgIH1cbiAgfVxufVxuXG4vLyBUb2tlbjogIV5maXJlXG5cbmNsYXNzIEludmVyc2VQcmVmaXhFeGFjdE1hdGNoIGV4dGVuZHMgQmFzZU1hdGNoIHtcbiAgY29uc3RydWN0b3IocGF0dGVybikge1xuICAgIHN1cGVyKHBhdHRlcm4pO1xuICB9XG4gIHN0YXRpYyBnZXQgdHlwZSgpIHtcbiAgICByZXR1cm4gJ2ludmVyc2UtcHJlZml4LWV4YWN0J1xuICB9XG4gIHN0YXRpYyBnZXQgbXVsdGlSZWdleCgpIHtcbiAgICByZXR1cm4gL14hXFxeXCIoLiopXCIkL1xuICB9XG4gIHN0YXRpYyBnZXQgc2luZ2xlUmVnZXgoKSB7XG4gICAgcmV0dXJuIC9eIVxcXiguKikkL1xuICB9XG4gIHNlYXJjaCh0ZXh0KSB7XG4gICAgY29uc3QgaXNNYXRjaCA9ICF0ZXh0LnN0YXJ0c1dpdGgodGhpcy5wYXR0ZXJuKTtcblxuICAgIHJldHVybiB7XG4gICAgICBpc01hdGNoLFxuICAgICAgc2NvcmU6IGlzTWF0Y2ggPyAwIDogMSxcbiAgICAgIGluZGljZXM6IFswLCB0ZXh0Lmxlbmd0aCAtIDFdXG4gICAgfVxuICB9XG59XG5cbi8vIFRva2VuOiAuZmlsZSRcblxuY2xhc3MgU3VmZml4RXhhY3RNYXRjaCBleHRlbmRzIEJhc2VNYXRjaCB7XG4gIGNvbnN0cnVjdG9yKHBhdHRlcm4pIHtcbiAgICBzdXBlcihwYXR0ZXJuKTtcbiAgfVxuICBzdGF0aWMgZ2V0IHR5cGUoKSB7XG4gICAgcmV0dXJuICdzdWZmaXgtZXhhY3QnXG4gIH1cbiAgc3RhdGljIGdldCBtdWx0aVJlZ2V4KCkge1xuICAgIHJldHVybiAvXlwiKC4qKVwiXFwkJC9cbiAgfVxuICBzdGF0aWMgZ2V0IHNpbmdsZVJlZ2V4KCkge1xuICAgIHJldHVybiAvXiguKilcXCQkL1xuICB9XG4gIHNlYXJjaCh0ZXh0KSB7XG4gICAgY29uc3QgaXNNYXRjaCA9IHRleHQuZW5kc1dpdGgodGhpcy5wYXR0ZXJuKTtcblxuICAgIHJldHVybiB7XG4gICAgICBpc01hdGNoLFxuICAgICAgc2NvcmU6IGlzTWF0Y2ggPyAwIDogMSxcbiAgICAgIGluZGljZXM6IFt0ZXh0Lmxlbmd0aCAtIHRoaXMucGF0dGVybi5sZW5ndGgsIHRleHQubGVuZ3RoIC0gMV1cbiAgICB9XG4gIH1cbn1cblxuLy8gVG9rZW46ICEuZmlsZSRcblxuY2xhc3MgSW52ZXJzZVN1ZmZpeEV4YWN0TWF0Y2ggZXh0ZW5kcyBCYXNlTWF0Y2gge1xuICBjb25zdHJ1Y3RvcihwYXR0ZXJuKSB7XG4gICAgc3VwZXIocGF0dGVybik7XG4gIH1cbiAgc3RhdGljIGdldCB0eXBlKCkge1xuICAgIHJldHVybiAnaW52ZXJzZS1zdWZmaXgtZXhhY3QnXG4gIH1cbiAgc3RhdGljIGdldCBtdWx0aVJlZ2V4KCkge1xuICAgIHJldHVybiAvXiFcIiguKilcIlxcJCQvXG4gIH1cbiAgc3RhdGljIGdldCBzaW5nbGVSZWdleCgpIHtcbiAgICByZXR1cm4gL14hKC4qKVxcJCQvXG4gIH1cbiAgc2VhcmNoKHRleHQpIHtcbiAgICBjb25zdCBpc01hdGNoID0gIXRleHQuZW5kc1dpdGgodGhpcy5wYXR0ZXJuKTtcbiAgICByZXR1cm4ge1xuICAgICAgaXNNYXRjaCxcbiAgICAgIHNjb3JlOiBpc01hdGNoID8gMCA6IDEsXG4gICAgICBpbmRpY2VzOiBbMCwgdGV4dC5sZW5ndGggLSAxXVxuICAgIH1cbiAgfVxufVxuXG5jbGFzcyBGdXp6eU1hdGNoIGV4dGVuZHMgQmFzZU1hdGNoIHtcbiAgY29uc3RydWN0b3IoXG4gICAgcGF0dGVybixcbiAgICB7XG4gICAgICBsb2NhdGlvbiA9IENvbmZpZy5sb2NhdGlvbixcbiAgICAgIHRocmVzaG9sZCA9IENvbmZpZy50aHJlc2hvbGQsXG4gICAgICBkaXN0YW5jZSA9IENvbmZpZy5kaXN0YW5jZSxcbiAgICAgIGluY2x1ZGVNYXRjaGVzID0gQ29uZmlnLmluY2x1ZGVNYXRjaGVzLFxuICAgICAgZmluZEFsbE1hdGNoZXMgPSBDb25maWcuZmluZEFsbE1hdGNoZXMsXG4gICAgICBtaW5NYXRjaENoYXJMZW5ndGggPSBDb25maWcubWluTWF0Y2hDaGFyTGVuZ3RoLFxuICAgICAgaXNDYXNlU2Vuc2l0aXZlID0gQ29uZmlnLmlzQ2FzZVNlbnNpdGl2ZSxcbiAgICAgIGlnbm9yZUxvY2F0aW9uID0gQ29uZmlnLmlnbm9yZUxvY2F0aW9uXG4gICAgfSA9IHt9XG4gICkge1xuICAgIHN1cGVyKHBhdHRlcm4pO1xuICAgIHRoaXMuX2JpdGFwU2VhcmNoID0gbmV3IEJpdGFwU2VhcmNoKHBhdHRlcm4sIHtcbiAgICAgIGxvY2F0aW9uLFxuICAgICAgdGhyZXNob2xkLFxuICAgICAgZGlzdGFuY2UsXG4gICAgICBpbmNsdWRlTWF0Y2hlcyxcbiAgICAgIGZpbmRBbGxNYXRjaGVzLFxuICAgICAgbWluTWF0Y2hDaGFyTGVuZ3RoLFxuICAgICAgaXNDYXNlU2Vuc2l0aXZlLFxuICAgICAgaWdub3JlTG9jYXRpb25cbiAgICB9KTtcbiAgfVxuICBzdGF0aWMgZ2V0IHR5cGUoKSB7XG4gICAgcmV0dXJuICdmdXp6eSdcbiAgfVxuICBzdGF0aWMgZ2V0IG11bHRpUmVnZXgoKSB7XG4gICAgcmV0dXJuIC9eXCIoLiopXCIkL1xuICB9XG4gIHN0YXRpYyBnZXQgc2luZ2xlUmVnZXgoKSB7XG4gICAgcmV0dXJuIC9eKC4qKSQvXG4gIH1cbiAgc2VhcmNoKHRleHQpIHtcbiAgICByZXR1cm4gdGhpcy5fYml0YXBTZWFyY2guc2VhcmNoSW4odGV4dClcbiAgfVxufVxuXG4vLyBUb2tlbjogJ2ZpbGVcblxuY2xhc3MgSW5jbHVkZU1hdGNoIGV4dGVuZHMgQmFzZU1hdGNoIHtcbiAgY29uc3RydWN0b3IocGF0dGVybikge1xuICAgIHN1cGVyKHBhdHRlcm4pO1xuICB9XG4gIHN0YXRpYyBnZXQgdHlwZSgpIHtcbiAgICByZXR1cm4gJ2luY2x1ZGUnXG4gIH1cbiAgc3RhdGljIGdldCBtdWx0aVJlZ2V4KCkge1xuICAgIHJldHVybiAvXidcIiguKilcIiQvXG4gIH1cbiAgc3RhdGljIGdldCBzaW5nbGVSZWdleCgpIHtcbiAgICByZXR1cm4gL14nKC4qKSQvXG4gIH1cbiAgc2VhcmNoKHRleHQpIHtcbiAgICBsZXQgbG9jYXRpb24gPSAwO1xuICAgIGxldCBpbmRleDtcblxuICAgIGNvbnN0IGluZGljZXMgPSBbXTtcbiAgICBjb25zdCBwYXR0ZXJuTGVuID0gdGhpcy5wYXR0ZXJuLmxlbmd0aDtcblxuICAgIC8vIEdldCBhbGwgZXhhY3QgbWF0Y2hlc1xuICAgIHdoaWxlICgoaW5kZXggPSB0ZXh0LmluZGV4T2YodGhpcy5wYXR0ZXJuLCBsb2NhdGlvbikpID4gLTEpIHtcbiAgICAgIGxvY2F0aW9uID0gaW5kZXggKyBwYXR0ZXJuTGVuO1xuICAgICAgaW5kaWNlcy5wdXNoKFtpbmRleCwgbG9jYXRpb24gLSAxXSk7XG4gICAgfVxuXG4gICAgY29uc3QgaXNNYXRjaCA9ICEhaW5kaWNlcy5sZW5ndGg7XG5cbiAgICByZXR1cm4ge1xuICAgICAgaXNNYXRjaCxcbiAgICAgIHNjb3JlOiBpc01hdGNoID8gMCA6IDEsXG4gICAgICBpbmRpY2VzXG4gICAgfVxuICB9XG59XG5cbi8vIOKdl09yZGVyIGlzIGltcG9ydGFudC4gRE8gTk9UIENIQU5HRS5cbmNvbnN0IHNlYXJjaGVycyA9IFtcbiAgRXhhY3RNYXRjaCxcbiAgSW5jbHVkZU1hdGNoLFxuICBQcmVmaXhFeGFjdE1hdGNoLFxuICBJbnZlcnNlUHJlZml4RXhhY3RNYXRjaCxcbiAgSW52ZXJzZVN1ZmZpeEV4YWN0TWF0Y2gsXG4gIFN1ZmZpeEV4YWN0TWF0Y2gsXG4gIEludmVyc2VFeGFjdE1hdGNoLFxuICBGdXp6eU1hdGNoXG5dO1xuXG5jb25zdCBzZWFyY2hlcnNMZW4gPSBzZWFyY2hlcnMubGVuZ3RoO1xuXG4vLyBSZWdleCB0byBzcGxpdCBieSBzcGFjZXMsIGJ1dCBrZWVwIGFueXRoaW5nIGluIHF1b3RlcyB0b2dldGhlclxuY29uc3QgU1BBQ0VfUkUgPSAvICsoPz0oW15cXFwiXSpcXFwiW15cXFwiXSpcXFwiKSpbXlxcXCJdKiQpLztcbmNvbnN0IE9SX1RPS0VOID0gJ3wnO1xuXG4vLyBSZXR1cm4gYSAyRCBhcnJheSByZXByZXNlbnRhdGlvbiBvZiB0aGUgcXVlcnksIGZvciBzaW1wbGVyIHBhcnNpbmcuXG4vLyBFeGFtcGxlOlxuLy8gXCJeY29yZSBnbyQgfCByYiQgfCBweSQgeHkkXCIgPT4gW1tcIl5jb3JlXCIsIFwiZ28kXCJdLCBbXCJyYiRcIl0sIFtcInB5JFwiLCBcInh5JFwiXV1cbmZ1bmN0aW9uIHBhcnNlUXVlcnkocGF0dGVybiwgb3B0aW9ucyA9IHt9KSB7XG4gIHJldHVybiBwYXR0ZXJuLnNwbGl0KE9SX1RPS0VOKS5tYXAoKGl0ZW0pID0+IHtcbiAgICBsZXQgcXVlcnkgPSBpdGVtXG4gICAgICAudHJpbSgpXG4gICAgICAuc3BsaXQoU1BBQ0VfUkUpXG4gICAgICAuZmlsdGVyKChpdGVtKSA9PiBpdGVtICYmICEhaXRlbS50cmltKCkpO1xuXG4gICAgbGV0IHJlc3VsdHMgPSBbXTtcbiAgICBmb3IgKGxldCBpID0gMCwgbGVuID0gcXVlcnkubGVuZ3RoOyBpIDwgbGVuOyBpICs9IDEpIHtcbiAgICAgIGNvbnN0IHF1ZXJ5SXRlbSA9IHF1ZXJ5W2ldO1xuXG4gICAgICAvLyAxLiBIYW5kbGUgbXVsdGlwbGUgcXVlcnkgbWF0Y2ggKGkuZSwgb25jZSB0aGF0IGFyZSBxdW90ZWQsIGxpa2UgYFwiaGVsbG8gd29ybGRcImApXG4gICAgICBsZXQgZm91bmQgPSBmYWxzZTtcbiAgICAgIGxldCBpZHggPSAtMTtcbiAgICAgIHdoaWxlICghZm91bmQgJiYgKytpZHggPCBzZWFyY2hlcnNMZW4pIHtcbiAgICAgICAgY29uc3Qgc2VhcmNoZXIgPSBzZWFyY2hlcnNbaWR4XTtcbiAgICAgICAgbGV0IHRva2VuID0gc2VhcmNoZXIuaXNNdWx0aU1hdGNoKHF1ZXJ5SXRlbSk7XG4gICAgICAgIGlmICh0b2tlbikge1xuICAgICAgICAgIHJlc3VsdHMucHVzaChuZXcgc2VhcmNoZXIodG9rZW4sIG9wdGlvbnMpKTtcbiAgICAgICAgICBmb3VuZCA9IHRydWU7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgaWYgKGZvdW5kKSB7XG4gICAgICAgIGNvbnRpbnVlXG4gICAgICB9XG5cbiAgICAgIC8vIDIuIEhhbmRsZSBzaW5nbGUgcXVlcnkgbWF0Y2hlcyAoaS5lLCBvbmNlIHRoYXQgYXJlICpub3QqIHF1b3RlZClcbiAgICAgIGlkeCA9IC0xO1xuICAgICAgd2hpbGUgKCsraWR4IDwgc2VhcmNoZXJzTGVuKSB7XG4gICAgICAgIGNvbnN0IHNlYXJjaGVyID0gc2VhcmNoZXJzW2lkeF07XG4gICAgICAgIGxldCB0b2tlbiA9IHNlYXJjaGVyLmlzU2luZ2xlTWF0Y2gocXVlcnlJdGVtKTtcbiAgICAgICAgaWYgKHRva2VuKSB7XG4gICAgICAgICAgcmVzdWx0cy5wdXNoKG5ldyBzZWFyY2hlcih0b2tlbiwgb3B0aW9ucykpO1xuICAgICAgICAgIGJyZWFrXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gcmVzdWx0c1xuICB9KVxufVxuXG4vLyBUaGVzZSBleHRlbmRlZCBtYXRjaGVycyBjYW4gcmV0dXJuIGFuIGFycmF5IG9mIG1hdGNoZXMsIGFzIG9wcG9zZWRcbi8vIHRvIGEgc2luZ2wgbWF0Y2hcbmNvbnN0IE11bHRpTWF0Y2hTZXQgPSBuZXcgU2V0KFtGdXp6eU1hdGNoLnR5cGUsIEluY2x1ZGVNYXRjaC50eXBlXSk7XG5cbi8qKlxuICogQ29tbWFuZC1saWtlIHNlYXJjaGluZ1xuICogPT09PT09PT09PT09PT09PT09PT09PVxuICpcbiAqIEdpdmVuIG11bHRpcGxlIHNlYXJjaCB0ZXJtcyBkZWxpbWl0ZWQgYnkgc3BhY2VzLmUuZy4gYF5qc2NyaXB0IC5weXRob24kIHJ1YnkgIWphdmFgLFxuICogc2VhcmNoIGluIGEgZ2l2ZW4gdGV4dC5cbiAqXG4gKiBTZWFyY2ggc3ludGF4OlxuICpcbiAqIHwgVG9rZW4gICAgICAgfCBNYXRjaCB0eXBlICAgICAgICAgICAgICAgICB8IERlc2NyaXB0aW9uICAgICAgICAgICAgICAgICAgICAgICAgICAgIHxcbiAqIHwgLS0tLS0tLS0tLS0gfCAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSB8IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIHxcbiAqIHwgYGpzY3JpcHRgICAgfCBmdXp6eS1tYXRjaCAgICAgICAgICAgICAgICB8IEl0ZW1zIHRoYXQgZnV6enkgbWF0Y2ggYGpzY3JpcHRgICAgICAgIHxcbiAqIHwgYD1zY2hlbWVgICAgfCBleGFjdC1tYXRjaCAgICAgICAgICAgICAgICB8IEl0ZW1zIHRoYXQgYXJlIGBzY2hlbWVgICAgICAgICAgICAgICAgIHxcbiAqIHwgYCdweXRob25gICAgfCBpbmNsdWRlLW1hdGNoICAgICAgICAgICAgICB8IEl0ZW1zIHRoYXQgaW5jbHVkZSBgcHl0aG9uYCAgICAgICAgICAgIHxcbiAqIHwgYCFydWJ5YCAgICAgfCBpbnZlcnNlLWV4YWN0LW1hdGNoICAgICAgICB8IEl0ZW1zIHRoYXQgZG8gbm90IGluY2x1ZGUgYHJ1YnlgICAgICAgIHxcbiAqIHwgYF5qYXZhYCAgICAgfCBwcmVmaXgtZXhhY3QtbWF0Y2ggICAgICAgICB8IEl0ZW1zIHRoYXQgc3RhcnQgd2l0aCBgamF2YWAgICAgICAgICAgIHxcbiAqIHwgYCFeZWFybGFuZ2AgfCBpbnZlcnNlLXByZWZpeC1leGFjdC1tYXRjaCB8IEl0ZW1zIHRoYXQgZG8gbm90IHN0YXJ0IHdpdGggYGVhcmxhbmdgIHxcbiAqIHwgYC5qcyRgICAgICAgfCBzdWZmaXgtZXhhY3QtbWF0Y2ggICAgICAgICB8IEl0ZW1zIHRoYXQgZW5kIHdpdGggYC5qc2AgICAgICAgICAgICAgIHxcbiAqIHwgYCEuZ28kYCAgICAgfCBpbnZlcnNlLXN1ZmZpeC1leGFjdC1tYXRjaCB8IEl0ZW1zIHRoYXQgZG8gbm90IGVuZCB3aXRoIGAuZ29gICAgICAgIHxcbiAqXG4gKiBBIHNpbmdsZSBwaXBlIGNoYXJhY3RlciBhY3RzIGFzIGFuIE9SIG9wZXJhdG9yLiBGb3IgZXhhbXBsZSwgdGhlIGZvbGxvd2luZ1xuICogcXVlcnkgbWF0Y2hlcyBlbnRyaWVzIHRoYXQgc3RhcnQgd2l0aCBgY29yZWAgYW5kIGVuZCB3aXRoIGVpdGhlcmBnb2AsIGByYmAsXG4gKiBvcmBweWAuXG4gKlxuICogYGBgXG4gKiBeY29yZSBnbyQgfCByYiQgfCBweSRcbiAqIGBgYFxuICovXG5jbGFzcyBFeHRlbmRlZFNlYXJjaCB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHBhdHRlcm4sXG4gICAge1xuICAgICAgaXNDYXNlU2Vuc2l0aXZlID0gQ29uZmlnLmlzQ2FzZVNlbnNpdGl2ZSxcbiAgICAgIGluY2x1ZGVNYXRjaGVzID0gQ29uZmlnLmluY2x1ZGVNYXRjaGVzLFxuICAgICAgbWluTWF0Y2hDaGFyTGVuZ3RoID0gQ29uZmlnLm1pbk1hdGNoQ2hhckxlbmd0aCxcbiAgICAgIGlnbm9yZUxvY2F0aW9uID0gQ29uZmlnLmlnbm9yZUxvY2F0aW9uLFxuICAgICAgZmluZEFsbE1hdGNoZXMgPSBDb25maWcuZmluZEFsbE1hdGNoZXMsXG4gICAgICBsb2NhdGlvbiA9IENvbmZpZy5sb2NhdGlvbixcbiAgICAgIHRocmVzaG9sZCA9IENvbmZpZy50aHJlc2hvbGQsXG4gICAgICBkaXN0YW5jZSA9IENvbmZpZy5kaXN0YW5jZVxuICAgIH0gPSB7fVxuICApIHtcbiAgICB0aGlzLnF1ZXJ5ID0gbnVsbDtcbiAgICB0aGlzLm9wdGlvbnMgPSB7XG4gICAgICBpc0Nhc2VTZW5zaXRpdmUsXG4gICAgICBpbmNsdWRlTWF0Y2hlcyxcbiAgICAgIG1pbk1hdGNoQ2hhckxlbmd0aCxcbiAgICAgIGZpbmRBbGxNYXRjaGVzLFxuICAgICAgaWdub3JlTG9jYXRpb24sXG4gICAgICBsb2NhdGlvbixcbiAgICAgIHRocmVzaG9sZCxcbiAgICAgIGRpc3RhbmNlXG4gICAgfTtcblxuICAgIHRoaXMucGF0dGVybiA9IGlzQ2FzZVNlbnNpdGl2ZSA/IHBhdHRlcm4gOiBwYXR0ZXJuLnRvTG93ZXJDYXNlKCk7XG4gICAgdGhpcy5xdWVyeSA9IHBhcnNlUXVlcnkodGhpcy5wYXR0ZXJuLCB0aGlzLm9wdGlvbnMpO1xuICB9XG5cbiAgc3RhdGljIGNvbmRpdGlvbihfLCBvcHRpb25zKSB7XG4gICAgcmV0dXJuIG9wdGlvbnMudXNlRXh0ZW5kZWRTZWFyY2hcbiAgfVxuXG4gIHNlYXJjaEluKHRleHQpIHtcbiAgICBjb25zdCBxdWVyeSA9IHRoaXMucXVlcnk7XG5cbiAgICBpZiAoIXF1ZXJ5KSB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBpc01hdGNoOiBmYWxzZSxcbiAgICAgICAgc2NvcmU6IDFcbiAgICAgIH1cbiAgICB9XG5cbiAgICBjb25zdCB7IGluY2x1ZGVNYXRjaGVzLCBpc0Nhc2VTZW5zaXRpdmUgfSA9IHRoaXMub3B0aW9ucztcblxuICAgIHRleHQgPSBpc0Nhc2VTZW5zaXRpdmUgPyB0ZXh0IDogdGV4dC50b0xvd2VyQ2FzZSgpO1xuXG4gICAgbGV0IG51bU1hdGNoZXMgPSAwO1xuICAgIGxldCBhbGxJbmRpY2VzID0gW107XG4gICAgbGV0IHRvdGFsU2NvcmUgPSAwO1xuXG4gICAgLy8gT1JzXG4gICAgZm9yIChsZXQgaSA9IDAsIHFMZW4gPSBxdWVyeS5sZW5ndGg7IGkgPCBxTGVuOyBpICs9IDEpIHtcbiAgICAgIGNvbnN0IHNlYXJjaGVycyA9IHF1ZXJ5W2ldO1xuXG4gICAgICAvLyBSZXNldCBpbmRpY2VzXG4gICAgICBhbGxJbmRpY2VzLmxlbmd0aCA9IDA7XG4gICAgICBudW1NYXRjaGVzID0gMDtcblxuICAgICAgLy8gQU5Ec1xuICAgICAgZm9yIChsZXQgaiA9IDAsIHBMZW4gPSBzZWFyY2hlcnMubGVuZ3RoOyBqIDwgcExlbjsgaiArPSAxKSB7XG4gICAgICAgIGNvbnN0IHNlYXJjaGVyID0gc2VhcmNoZXJzW2pdO1xuICAgICAgICBjb25zdCB7IGlzTWF0Y2gsIGluZGljZXMsIHNjb3JlIH0gPSBzZWFyY2hlci5zZWFyY2godGV4dCk7XG5cbiAgICAgICAgaWYgKGlzTWF0Y2gpIHtcbiAgICAgICAgICBudW1NYXRjaGVzICs9IDE7XG4gICAgICAgICAgdG90YWxTY29yZSArPSBzY29yZTtcbiAgICAgICAgICBpZiAoaW5jbHVkZU1hdGNoZXMpIHtcbiAgICAgICAgICAgIGNvbnN0IHR5cGUgPSBzZWFyY2hlci5jb25zdHJ1Y3Rvci50eXBlO1xuICAgICAgICAgICAgaWYgKE11bHRpTWF0Y2hTZXQuaGFzKHR5cGUpKSB7XG4gICAgICAgICAgICAgIGFsbEluZGljZXMgPSBbLi4uYWxsSW5kaWNlcywgLi4uaW5kaWNlc107XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICBhbGxJbmRpY2VzLnB1c2goaW5kaWNlcyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRvdGFsU2NvcmUgPSAwO1xuICAgICAgICAgIG51bU1hdGNoZXMgPSAwO1xuICAgICAgICAgIGFsbEluZGljZXMubGVuZ3RoID0gMDtcbiAgICAgICAgICBicmVha1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC8vIE9SIGNvbmRpdGlvbiwgc28gaWYgVFJVRSwgcmV0dXJuXG4gICAgICBpZiAobnVtTWF0Y2hlcykge1xuICAgICAgICBsZXQgcmVzdWx0ID0ge1xuICAgICAgICAgIGlzTWF0Y2g6IHRydWUsXG4gICAgICAgICAgc2NvcmU6IHRvdGFsU2NvcmUgLyBudW1NYXRjaGVzXG4gICAgICAgIH07XG5cbiAgICAgICAgaWYgKGluY2x1ZGVNYXRjaGVzKSB7XG4gICAgICAgICAgcmVzdWx0LmluZGljZXMgPSBhbGxJbmRpY2VzO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHJlc3VsdFxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIE5vdGhpbmcgd2FzIG1hdGNoZWRcbiAgICByZXR1cm4ge1xuICAgICAgaXNNYXRjaDogZmFsc2UsXG4gICAgICBzY29yZTogMVxuICAgIH1cbiAgfVxufVxuXG5jb25zdCByZWdpc3RlcmVkU2VhcmNoZXJzID0gW107XG5cbmZ1bmN0aW9uIHJlZ2lzdGVyKC4uLmFyZ3MpIHtcbiAgcmVnaXN0ZXJlZFNlYXJjaGVycy5wdXNoKC4uLmFyZ3MpO1xufVxuXG5mdW5jdGlvbiBjcmVhdGVTZWFyY2hlcihwYXR0ZXJuLCBvcHRpb25zKSB7XG4gIGZvciAobGV0IGkgPSAwLCBsZW4gPSByZWdpc3RlcmVkU2VhcmNoZXJzLmxlbmd0aDsgaSA8IGxlbjsgaSArPSAxKSB7XG4gICAgbGV0IHNlYXJjaGVyQ2xhc3MgPSByZWdpc3RlcmVkU2VhcmNoZXJzW2ldO1xuICAgIGlmIChzZWFyY2hlckNsYXNzLmNvbmRpdGlvbihwYXR0ZXJuLCBvcHRpb25zKSkge1xuICAgICAgcmV0dXJuIG5ldyBzZWFyY2hlckNsYXNzKHBhdHRlcm4sIG9wdGlvbnMpXG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIG5ldyBCaXRhcFNlYXJjaChwYXR0ZXJuLCBvcHRpb25zKVxufVxuXG5jb25zdCBMb2dpY2FsT3BlcmF0b3IgPSB7XG4gIEFORDogJyRhbmQnLFxuICBPUjogJyRvcidcbn07XG5cbmNvbnN0IEtleVR5cGUgPSB7XG4gIFBBVEg6ICckcGF0aCcsXG4gIFBBVFRFUk46ICckdmFsJ1xufTtcblxuY29uc3QgaXNFeHByZXNzaW9uID0gKHF1ZXJ5KSA9PlxuICAhIShxdWVyeVtMb2dpY2FsT3BlcmF0b3IuQU5EXSB8fCBxdWVyeVtMb2dpY2FsT3BlcmF0b3IuT1JdKTtcblxuY29uc3QgaXNQYXRoID0gKHF1ZXJ5KSA9PiAhIXF1ZXJ5W0tleVR5cGUuUEFUSF07XG5cbmNvbnN0IGlzTGVhZiA9IChxdWVyeSkgPT5cbiAgIWlzQXJyYXkocXVlcnkpICYmIGlzT2JqZWN0KHF1ZXJ5KSAmJiAhaXNFeHByZXNzaW9uKHF1ZXJ5KTtcblxuY29uc3QgY29udmVydFRvRXhwbGljaXQgPSAocXVlcnkpID0+ICh7XG4gIFtMb2dpY2FsT3BlcmF0b3IuQU5EXTogT2JqZWN0LmtleXMocXVlcnkpLm1hcCgoa2V5KSA9PiAoe1xuICAgIFtrZXldOiBxdWVyeVtrZXldXG4gIH0pKVxufSk7XG5cbi8vIFdoZW4gYGF1dG9gIGlzIGB0cnVlYCwgdGhlIHBhcnNlIGZ1bmN0aW9uIHdpbGwgaW5mZXIgYW5kIGluaXRpYWxpemUgYW5kIGFkZFxuLy8gdGhlIGFwcHJvcHJpYXRlIGBTZWFyY2hlcmAgaW5zdGFuY2VcbmZ1bmN0aW9uIHBhcnNlKHF1ZXJ5LCBvcHRpb25zLCB7IGF1dG8gPSB0cnVlIH0gPSB7fSkge1xuICBjb25zdCBuZXh0ID0gKHF1ZXJ5KSA9PiB7XG4gICAgbGV0IGtleXMgPSBPYmplY3Qua2V5cyhxdWVyeSk7XG5cbiAgICBjb25zdCBpc1F1ZXJ5UGF0aCA9IGlzUGF0aChxdWVyeSk7XG5cbiAgICBpZiAoIWlzUXVlcnlQYXRoICYmIGtleXMubGVuZ3RoID4gMSAmJiAhaXNFeHByZXNzaW9uKHF1ZXJ5KSkge1xuICAgICAgcmV0dXJuIG5leHQoY29udmVydFRvRXhwbGljaXQocXVlcnkpKVxuICAgIH1cblxuICAgIGlmIChpc0xlYWYocXVlcnkpKSB7XG4gICAgICBjb25zdCBrZXkgPSBpc1F1ZXJ5UGF0aCA/IHF1ZXJ5W0tleVR5cGUuUEFUSF0gOiBrZXlzWzBdO1xuXG4gICAgICBjb25zdCBwYXR0ZXJuID0gaXNRdWVyeVBhdGggPyBxdWVyeVtLZXlUeXBlLlBBVFRFUk5dIDogcXVlcnlba2V5XTtcblxuICAgICAgaWYgKCFpc1N0cmluZyhwYXR0ZXJuKSkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoTE9HSUNBTF9TRUFSQ0hfSU5WQUxJRF9RVUVSWV9GT1JfS0VZKGtleSkpXG4gICAgICB9XG5cbiAgICAgIGNvbnN0IG9iaiA9IHtcbiAgICAgICAga2V5SWQ6IGNyZWF0ZUtleUlkKGtleSksXG4gICAgICAgIHBhdHRlcm5cbiAgICAgIH07XG5cbiAgICAgIGlmIChhdXRvKSB7XG4gICAgICAgIG9iai5zZWFyY2hlciA9IGNyZWF0ZVNlYXJjaGVyKHBhdHRlcm4sIG9wdGlvbnMpO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gb2JqXG4gICAgfVxuXG4gICAgbGV0IG5vZGUgPSB7XG4gICAgICBjaGlsZHJlbjogW10sXG4gICAgICBvcGVyYXRvcjoga2V5c1swXVxuICAgIH07XG5cbiAgICBrZXlzLmZvckVhY2goKGtleSkgPT4ge1xuICAgICAgY29uc3QgdmFsdWUgPSBxdWVyeVtrZXldO1xuXG4gICAgICBpZiAoaXNBcnJheSh2YWx1ZSkpIHtcbiAgICAgICAgdmFsdWUuZm9yRWFjaCgoaXRlbSkgPT4ge1xuICAgICAgICAgIG5vZGUuY2hpbGRyZW4ucHVzaChuZXh0KGl0ZW0pKTtcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICByZXR1cm4gbm9kZVxuICB9O1xuXG4gIGlmICghaXNFeHByZXNzaW9uKHF1ZXJ5KSkge1xuICAgIHF1ZXJ5ID0gY29udmVydFRvRXhwbGljaXQocXVlcnkpO1xuICB9XG5cbiAgcmV0dXJuIG5leHQocXVlcnkpXG59XG5cbi8vIFByYWN0aWNhbCBzY29yaW5nIGZ1bmN0aW9uXG5mdW5jdGlvbiBjb21wdXRlU2NvcmUkMShcbiAgcmVzdWx0cyxcbiAgeyBpZ25vcmVGaWVsZE5vcm0gPSBDb25maWcuaWdub3JlRmllbGROb3JtIH1cbikge1xuICByZXN1bHRzLmZvckVhY2goKHJlc3VsdCkgPT4ge1xuICAgIGxldCB0b3RhbFNjb3JlID0gMTtcblxuICAgIHJlc3VsdC5tYXRjaGVzLmZvckVhY2goKHsga2V5LCBub3JtLCBzY29yZSB9KSA9PiB7XG4gICAgICBjb25zdCB3ZWlnaHQgPSBrZXkgPyBrZXkud2VpZ2h0IDogbnVsbDtcblxuICAgICAgdG90YWxTY29yZSAqPSBNYXRoLnBvdyhcbiAgICAgICAgc2NvcmUgPT09IDAgJiYgd2VpZ2h0ID8gTnVtYmVyLkVQU0lMT04gOiBzY29yZSxcbiAgICAgICAgKHdlaWdodCB8fCAxKSAqIChpZ25vcmVGaWVsZE5vcm0gPyAxIDogbm9ybSlcbiAgICAgICk7XG4gICAgfSk7XG5cbiAgICByZXN1bHQuc2NvcmUgPSB0b3RhbFNjb3JlO1xuICB9KTtcbn1cblxuZnVuY3Rpb24gdHJhbnNmb3JtTWF0Y2hlcyhyZXN1bHQsIGRhdGEpIHtcbiAgY29uc3QgbWF0Y2hlcyA9IHJlc3VsdC5tYXRjaGVzO1xuICBkYXRhLm1hdGNoZXMgPSBbXTtcblxuICBpZiAoIWlzRGVmaW5lZChtYXRjaGVzKSkge1xuICAgIHJldHVyblxuICB9XG5cbiAgbWF0Y2hlcy5mb3JFYWNoKChtYXRjaCkgPT4ge1xuICAgIGlmICghaXNEZWZpbmVkKG1hdGNoLmluZGljZXMpIHx8ICFtYXRjaC5pbmRpY2VzLmxlbmd0aCkge1xuICAgICAgcmV0dXJuXG4gICAgfVxuXG4gICAgY29uc3QgeyBpbmRpY2VzLCB2YWx1ZSB9ID0gbWF0Y2g7XG5cbiAgICBsZXQgb2JqID0ge1xuICAgICAgaW5kaWNlcyxcbiAgICAgIHZhbHVlXG4gICAgfTtcblxuICAgIGlmIChtYXRjaC5rZXkpIHtcbiAgICAgIG9iai5rZXkgPSBtYXRjaC5rZXkuc3JjO1xuICAgIH1cblxuICAgIGlmIChtYXRjaC5pZHggPiAtMSkge1xuICAgICAgb2JqLnJlZkluZGV4ID0gbWF0Y2guaWR4O1xuICAgIH1cblxuICAgIGRhdGEubWF0Y2hlcy5wdXNoKG9iaik7XG4gIH0pO1xufVxuXG5mdW5jdGlvbiB0cmFuc2Zvcm1TY29yZShyZXN1bHQsIGRhdGEpIHtcbiAgZGF0YS5zY29yZSA9IHJlc3VsdC5zY29yZTtcbn1cblxuZnVuY3Rpb24gZm9ybWF0KFxuICByZXN1bHRzLFxuICBkb2NzLFxuICB7XG4gICAgaW5jbHVkZU1hdGNoZXMgPSBDb25maWcuaW5jbHVkZU1hdGNoZXMsXG4gICAgaW5jbHVkZVNjb3JlID0gQ29uZmlnLmluY2x1ZGVTY29yZVxuICB9ID0ge31cbikge1xuICBjb25zdCB0cmFuc2Zvcm1lcnMgPSBbXTtcblxuICBpZiAoaW5jbHVkZU1hdGNoZXMpIHRyYW5zZm9ybWVycy5wdXNoKHRyYW5zZm9ybU1hdGNoZXMpO1xuICBpZiAoaW5jbHVkZVNjb3JlKSB0cmFuc2Zvcm1lcnMucHVzaCh0cmFuc2Zvcm1TY29yZSk7XG5cbiAgcmV0dXJuIHJlc3VsdHMubWFwKChyZXN1bHQpID0+IHtcbiAgICBjb25zdCB7IGlkeCB9ID0gcmVzdWx0O1xuXG4gICAgY29uc3QgZGF0YSA9IHtcbiAgICAgIGl0ZW06IGRvY3NbaWR4XSxcbiAgICAgIHJlZkluZGV4OiBpZHhcbiAgICB9O1xuXG4gICAgaWYgKHRyYW5zZm9ybWVycy5sZW5ndGgpIHtcbiAgICAgIHRyYW5zZm9ybWVycy5mb3JFYWNoKCh0cmFuc2Zvcm1lcikgPT4ge1xuICAgICAgICB0cmFuc2Zvcm1lcihyZXN1bHQsIGRhdGEpO1xuICAgICAgfSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGRhdGFcbiAgfSlcbn1cblxuY2xhc3MgRnVzZSB7XG4gIGNvbnN0cnVjdG9yKGRvY3MsIG9wdGlvbnMgPSB7fSwgaW5kZXgpIHtcbiAgICB0aGlzLm9wdGlvbnMgPSB7IC4uLkNvbmZpZywgLi4ub3B0aW9ucyB9O1xuXG4gICAgaWYgKFxuICAgICAgdGhpcy5vcHRpb25zLnVzZUV4dGVuZGVkU2VhcmNoICYmXG4gICAgICAhdHJ1ZVxuICAgICkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKEVYVEVOREVEX1NFQVJDSF9VTkFWQUlMQUJMRSlcbiAgICB9XG5cbiAgICB0aGlzLl9rZXlTdG9yZSA9IG5ldyBLZXlTdG9yZSh0aGlzLm9wdGlvbnMua2V5cyk7XG5cbiAgICB0aGlzLnNldENvbGxlY3Rpb24oZG9jcywgaW5kZXgpO1xuICB9XG5cbiAgc2V0Q29sbGVjdGlvbihkb2NzLCBpbmRleCkge1xuICAgIHRoaXMuX2RvY3MgPSBkb2NzO1xuXG4gICAgaWYgKGluZGV4ICYmICEoaW5kZXggaW5zdGFuY2VvZiBGdXNlSW5kZXgpKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoSU5DT1JSRUNUX0lOREVYX1RZUEUpXG4gICAgfVxuXG4gICAgdGhpcy5fbXlJbmRleCA9XG4gICAgICBpbmRleCB8fFxuICAgICAgY3JlYXRlSW5kZXgodGhpcy5vcHRpb25zLmtleXMsIHRoaXMuX2RvY3MsIHtcbiAgICAgICAgZ2V0Rm46IHRoaXMub3B0aW9ucy5nZXRGblxuICAgICAgfSk7XG4gIH1cblxuICBhZGQoZG9jKSB7XG4gICAgaWYgKCFpc0RlZmluZWQoZG9jKSkge1xuICAgICAgcmV0dXJuXG4gICAgfVxuXG4gICAgdGhpcy5fZG9jcy5wdXNoKGRvYyk7XG4gICAgdGhpcy5fbXlJbmRleC5hZGQoZG9jKTtcbiAgfVxuXG4gIHJlbW92ZShwcmVkaWNhdGUgPSAoLyogZG9jLCBpZHggKi8pID0+IGZhbHNlKSB7XG4gICAgY29uc3QgcmVzdWx0cyA9IFtdO1xuXG4gICAgZm9yIChsZXQgaSA9IDAsIGxlbiA9IHRoaXMuX2RvY3MubGVuZ3RoOyBpIDwgbGVuOyBpICs9IDEpIHtcbiAgICAgIGNvbnN0IGRvYyA9IHRoaXMuX2RvY3NbaV07XG4gICAgICBpZiAocHJlZGljYXRlKGRvYywgaSkpIHtcbiAgICAgICAgdGhpcy5yZW1vdmVBdChpKTtcbiAgICAgICAgaSAtPSAxO1xuICAgICAgICBsZW4gLT0gMTtcblxuICAgICAgICByZXN1bHRzLnB1c2goZG9jKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gcmVzdWx0c1xuICB9XG5cbiAgcmVtb3ZlQXQoaWR4KSB7XG4gICAgdGhpcy5fZG9jcy5zcGxpY2UoaWR4LCAxKTtcbiAgICB0aGlzLl9teUluZGV4LnJlbW92ZUF0KGlkeCk7XG4gIH1cblxuICBnZXRJbmRleCgpIHtcbiAgICByZXR1cm4gdGhpcy5fbXlJbmRleFxuICB9XG5cbiAgc2VhcmNoKHF1ZXJ5LCB7IGxpbWl0ID0gLTEgfSA9IHt9KSB7XG4gICAgY29uc3Qge1xuICAgICAgaW5jbHVkZU1hdGNoZXMsXG4gICAgICBpbmNsdWRlU2NvcmUsXG4gICAgICBzaG91bGRTb3J0LFxuICAgICAgc29ydEZuLFxuICAgICAgaWdub3JlRmllbGROb3JtXG4gICAgfSA9IHRoaXMub3B0aW9ucztcblxuICAgIGxldCByZXN1bHRzID0gaXNTdHJpbmcocXVlcnkpXG4gICAgICA/IGlzU3RyaW5nKHRoaXMuX2RvY3NbMF0pXG4gICAgICAgID8gdGhpcy5fc2VhcmNoU3RyaW5nTGlzdChxdWVyeSlcbiAgICAgICAgOiB0aGlzLl9zZWFyY2hPYmplY3RMaXN0KHF1ZXJ5KVxuICAgICAgOiB0aGlzLl9zZWFyY2hMb2dpY2FsKHF1ZXJ5KTtcblxuICAgIGNvbXB1dGVTY29yZSQxKHJlc3VsdHMsIHsgaWdub3JlRmllbGROb3JtIH0pO1xuXG4gICAgaWYgKHNob3VsZFNvcnQpIHtcbiAgICAgIHJlc3VsdHMuc29ydChzb3J0Rm4pO1xuICAgIH1cblxuICAgIGlmIChpc051bWJlcihsaW1pdCkgJiYgbGltaXQgPiAtMSkge1xuICAgICAgcmVzdWx0cyA9IHJlc3VsdHMuc2xpY2UoMCwgbGltaXQpO1xuICAgIH1cblxuICAgIHJldHVybiBmb3JtYXQocmVzdWx0cywgdGhpcy5fZG9jcywge1xuICAgICAgaW5jbHVkZU1hdGNoZXMsXG4gICAgICBpbmNsdWRlU2NvcmVcbiAgICB9KVxuICB9XG5cbiAgX3NlYXJjaFN0cmluZ0xpc3QocXVlcnkpIHtcbiAgICBjb25zdCBzZWFyY2hlciA9IGNyZWF0ZVNlYXJjaGVyKHF1ZXJ5LCB0aGlzLm9wdGlvbnMpO1xuICAgIGNvbnN0IHsgcmVjb3JkcyB9ID0gdGhpcy5fbXlJbmRleDtcbiAgICBjb25zdCByZXN1bHRzID0gW107XG5cbiAgICAvLyBJdGVyYXRlIG92ZXIgZXZlcnkgc3RyaW5nIGluIHRoZSBpbmRleFxuICAgIHJlY29yZHMuZm9yRWFjaCgoeyB2OiB0ZXh0LCBpOiBpZHgsIG46IG5vcm0gfSkgPT4ge1xuICAgICAgaWYgKCFpc0RlZmluZWQodGV4dCkpIHtcbiAgICAgICAgcmV0dXJuXG4gICAgICB9XG5cbiAgICAgIGNvbnN0IHsgaXNNYXRjaCwgc2NvcmUsIGluZGljZXMgfSA9IHNlYXJjaGVyLnNlYXJjaEluKHRleHQpO1xuXG4gICAgICBpZiAoaXNNYXRjaCkge1xuICAgICAgICByZXN1bHRzLnB1c2goe1xuICAgICAgICAgIGl0ZW06IHRleHQsXG4gICAgICAgICAgaWR4LFxuICAgICAgICAgIG1hdGNoZXM6IFt7IHNjb3JlLCB2YWx1ZTogdGV4dCwgbm9ybSwgaW5kaWNlcyB9XVxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIHJldHVybiByZXN1bHRzXG4gIH1cblxuICBfc2VhcmNoTG9naWNhbChxdWVyeSkge1xuXG4gICAgY29uc3QgZXhwcmVzc2lvbiA9IHBhcnNlKHF1ZXJ5LCB0aGlzLm9wdGlvbnMpO1xuXG4gICAgY29uc3QgZXZhbHVhdGUgPSAobm9kZSwgaXRlbSwgaWR4KSA9PiB7XG4gICAgICBpZiAoIW5vZGUuY2hpbGRyZW4pIHtcbiAgICAgICAgY29uc3QgeyBrZXlJZCwgc2VhcmNoZXIgfSA9IG5vZGU7XG5cbiAgICAgICAgY29uc3QgbWF0Y2hlcyA9IHRoaXMuX2ZpbmRNYXRjaGVzKHtcbiAgICAgICAgICBrZXk6IHRoaXMuX2tleVN0b3JlLmdldChrZXlJZCksXG4gICAgICAgICAgdmFsdWU6IHRoaXMuX215SW5kZXguZ2V0VmFsdWVGb3JJdGVtQXRLZXlJZChpdGVtLCBrZXlJZCksXG4gICAgICAgICAgc2VhcmNoZXJcbiAgICAgICAgfSk7XG5cbiAgICAgICAgaWYgKG1hdGNoZXMgJiYgbWF0Y2hlcy5sZW5ndGgpIHtcbiAgICAgICAgICByZXR1cm4gW1xuICAgICAgICAgICAge1xuICAgICAgICAgICAgICBpZHgsXG4gICAgICAgICAgICAgIGl0ZW0sXG4gICAgICAgICAgICAgIG1hdGNoZXNcbiAgICAgICAgICAgIH1cbiAgICAgICAgICBdXG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gW11cbiAgICAgIH1cblxuICAgICAgLyplc2xpbnQgaW5kZW50OiBbMiwgMiwge1wiU3dpdGNoQ2FzZVwiOiAxfV0qL1xuICAgICAgc3dpdGNoIChub2RlLm9wZXJhdG9yKSB7XG4gICAgICAgIGNhc2UgTG9naWNhbE9wZXJhdG9yLkFORDoge1xuICAgICAgICAgIGNvbnN0IHJlcyA9IFtdO1xuICAgICAgICAgIGZvciAobGV0IGkgPSAwLCBsZW4gPSBub2RlLmNoaWxkcmVuLmxlbmd0aDsgaSA8IGxlbjsgaSArPSAxKSB7XG4gICAgICAgICAgICBjb25zdCBjaGlsZCA9IG5vZGUuY2hpbGRyZW5baV07XG4gICAgICAgICAgICBjb25zdCByZXN1bHQgPSBldmFsdWF0ZShjaGlsZCwgaXRlbSwgaWR4KTtcbiAgICAgICAgICAgIGlmIChyZXN1bHQubGVuZ3RoKSB7XG4gICAgICAgICAgICAgIHJlcy5wdXNoKC4uLnJlc3VsdCk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICByZXR1cm4gW11cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgICAgcmV0dXJuIHJlc1xuICAgICAgICB9XG4gICAgICAgIGNhc2UgTG9naWNhbE9wZXJhdG9yLk9SOiB7XG4gICAgICAgICAgY29uc3QgcmVzID0gW107XG4gICAgICAgICAgZm9yIChsZXQgaSA9IDAsIGxlbiA9IG5vZGUuY2hpbGRyZW4ubGVuZ3RoOyBpIDwgbGVuOyBpICs9IDEpIHtcbiAgICAgICAgICAgIGNvbnN0IGNoaWxkID0gbm9kZS5jaGlsZHJlbltpXTtcbiAgICAgICAgICAgIGNvbnN0IHJlc3VsdCA9IGV2YWx1YXRlKGNoaWxkLCBpdGVtLCBpZHgpO1xuICAgICAgICAgICAgaWYgKHJlc3VsdC5sZW5ndGgpIHtcbiAgICAgICAgICAgICAgcmVzLnB1c2goLi4ucmVzdWx0KTtcbiAgICAgICAgICAgICAgYnJlYWtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgICAgcmV0dXJuIHJlc1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfTtcblxuICAgIGNvbnN0IHJlY29yZHMgPSB0aGlzLl9teUluZGV4LnJlY29yZHM7XG4gICAgY29uc3QgcmVzdWx0TWFwID0ge307XG4gICAgY29uc3QgcmVzdWx0cyA9IFtdO1xuXG4gICAgcmVjb3Jkcy5mb3JFYWNoKCh7ICQ6IGl0ZW0sIGk6IGlkeCB9KSA9PiB7XG4gICAgICBpZiAoaXNEZWZpbmVkKGl0ZW0pKSB7XG4gICAgICAgIGxldCBleHBSZXN1bHRzID0gZXZhbHVhdGUoZXhwcmVzc2lvbiwgaXRlbSwgaWR4KTtcblxuICAgICAgICBpZiAoZXhwUmVzdWx0cy5sZW5ndGgpIHtcbiAgICAgICAgICAvLyBEZWR1cGUgd2hlbiBhZGRpbmdcbiAgICAgICAgICBpZiAoIXJlc3VsdE1hcFtpZHhdKSB7XG4gICAgICAgICAgICByZXN1bHRNYXBbaWR4XSA9IHsgaWR4LCBpdGVtLCBtYXRjaGVzOiBbXSB9O1xuICAgICAgICAgICAgcmVzdWx0cy5wdXNoKHJlc3VsdE1hcFtpZHhdKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgZXhwUmVzdWx0cy5mb3JFYWNoKCh7IG1hdGNoZXMgfSkgPT4ge1xuICAgICAgICAgICAgcmVzdWx0TWFwW2lkeF0ubWF0Y2hlcy5wdXNoKC4uLm1hdGNoZXMpO1xuICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICByZXR1cm4gcmVzdWx0c1xuICB9XG5cbiAgX3NlYXJjaE9iamVjdExpc3QocXVlcnkpIHtcbiAgICBjb25zdCBzZWFyY2hlciA9IGNyZWF0ZVNlYXJjaGVyKHF1ZXJ5LCB0aGlzLm9wdGlvbnMpO1xuICAgIGNvbnN0IHsga2V5cywgcmVjb3JkcyB9ID0gdGhpcy5fbXlJbmRleDtcbiAgICBjb25zdCByZXN1bHRzID0gW107XG5cbiAgICAvLyBMaXN0IGlzIEFycmF5PE9iamVjdD5cbiAgICByZWNvcmRzLmZvckVhY2goKHsgJDogaXRlbSwgaTogaWR4IH0pID0+IHtcbiAgICAgIGlmICghaXNEZWZpbmVkKGl0ZW0pKSB7XG4gICAgICAgIHJldHVyblxuICAgICAgfVxuXG4gICAgICBsZXQgbWF0Y2hlcyA9IFtdO1xuXG4gICAgICAvLyBJdGVyYXRlIG92ZXIgZXZlcnkga2V5IChpLmUsIHBhdGgpLCBhbmQgZmV0Y2ggdGhlIHZhbHVlIGF0IHRoYXQga2V5XG4gICAgICBrZXlzLmZvckVhY2goKGtleSwga2V5SW5kZXgpID0+IHtcbiAgICAgICAgbWF0Y2hlcy5wdXNoKFxuICAgICAgICAgIC4uLnRoaXMuX2ZpbmRNYXRjaGVzKHtcbiAgICAgICAgICAgIGtleSxcbiAgICAgICAgICAgIHZhbHVlOiBpdGVtW2tleUluZGV4XSxcbiAgICAgICAgICAgIHNlYXJjaGVyXG4gICAgICAgICAgfSlcbiAgICAgICAgKTtcbiAgICAgIH0pO1xuXG4gICAgICBpZiAobWF0Y2hlcy5sZW5ndGgpIHtcbiAgICAgICAgcmVzdWx0cy5wdXNoKHtcbiAgICAgICAgICBpZHgsXG4gICAgICAgICAgaXRlbSxcbiAgICAgICAgICBtYXRjaGVzXG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgcmV0dXJuIHJlc3VsdHNcbiAgfVxuICBfZmluZE1hdGNoZXMoeyBrZXksIHZhbHVlLCBzZWFyY2hlciB9KSB7XG4gICAgaWYgKCFpc0RlZmluZWQodmFsdWUpKSB7XG4gICAgICByZXR1cm4gW11cbiAgICB9XG5cbiAgICBsZXQgbWF0Y2hlcyA9IFtdO1xuXG4gICAgaWYgKGlzQXJyYXkodmFsdWUpKSB7XG4gICAgICB2YWx1ZS5mb3JFYWNoKCh7IHY6IHRleHQsIGk6IGlkeCwgbjogbm9ybSB9KSA9PiB7XG4gICAgICAgIGlmICghaXNEZWZpbmVkKHRleHQpKSB7XG4gICAgICAgICAgcmV0dXJuXG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCB7IGlzTWF0Y2gsIHNjb3JlLCBpbmRpY2VzIH0gPSBzZWFyY2hlci5zZWFyY2hJbih0ZXh0KTtcblxuICAgICAgICBpZiAoaXNNYXRjaCkge1xuICAgICAgICAgIG1hdGNoZXMucHVzaCh7XG4gICAgICAgICAgICBzY29yZSxcbiAgICAgICAgICAgIGtleSxcbiAgICAgICAgICAgIHZhbHVlOiB0ZXh0LFxuICAgICAgICAgICAgaWR4LFxuICAgICAgICAgICAgbm9ybSxcbiAgICAgICAgICAgIGluZGljZXNcbiAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnN0IHsgdjogdGV4dCwgbjogbm9ybSB9ID0gdmFsdWU7XG5cbiAgICAgIGNvbnN0IHsgaXNNYXRjaCwgc2NvcmUsIGluZGljZXMgfSA9IHNlYXJjaGVyLnNlYXJjaEluKHRleHQpO1xuXG4gICAgICBpZiAoaXNNYXRjaCkge1xuICAgICAgICBtYXRjaGVzLnB1c2goeyBzY29yZSwga2V5LCB2YWx1ZTogdGV4dCwgbm9ybSwgaW5kaWNlcyB9KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gbWF0Y2hlc1xuICB9XG59XG5cbkZ1c2UudmVyc2lvbiA9ICc2LjQuNic7XG5GdXNlLmNyZWF0ZUluZGV4ID0gY3JlYXRlSW5kZXg7XG5GdXNlLnBhcnNlSW5kZXggPSBwYXJzZUluZGV4O1xuRnVzZS5jb25maWcgPSBDb25maWc7XG5cbntcbiAgRnVzZS5wYXJzZVF1ZXJ5ID0gcGFyc2U7XG59XG5cbntcbiAgcmVnaXN0ZXIoRXh0ZW5kZWRTZWFyY2gpO1xufVxuXG5leHBvcnQgZGVmYXVsdCBGdXNlO1xuIiwiaW1wb3J0IEZ1c2UgZnJvbSAnZnVzZS5qcydcblxuY29uc3QgdXNlQ29tbWFuZHMgPSAoY29tbWFuZHMsIHByZWNpc2lvbiA9IDAuNCkgPT4ge1xuXHRjb21tYW5kcyA9ICEhY29tbWFuZHNcblx0XHQ/IE9iamVjdC5lbnRyaWVzKGNvbW1hbmRzKT8ucmVkdWNlKChhY2MsIFtrZXksIHZhbHVlXSkgPT4gKHsgW2tleS50b0xvd2VyQ2FzZSgpXTogdmFsdWUgfSksIHt9KVxuXHRcdDoge31cblxuXHRjb25zdCB0cmlnZ2VyQ29tbWFuZCA9IChpbnB1dCkgPT4ge1xuXHRcdGNvbnN0IGZ1c2UgPSBuZXcgRnVzZShPYmplY3Qua2V5cyhjb21tYW5kcyksIHsgaW5jbHVkZVNjb3JlOiB0cnVlLCBpZ25vcmVMb2NhdGlvbjogdHJ1ZSB9KVxuXHRcdGNvbnN0IHJlc3VsdCA9IGZ1c2Uuc2VhcmNoKGlucHV0KS5maWx0ZXIoKHIpID0+IHIuc2NvcmUgPCBwcmVjaXNpb24pXG5cdFx0aWYgKCEhcmVzdWx0Py5sZW5ndGgpIHtcblx0XHRcdGNvbnN0IGtleSA9IHJlc3VsdFswXS5pdGVtLnRvTG93ZXJDYXNlKClcblx0XHRcdHJldHVybiBjb21tYW5kc1trZXldPy4oaW5wdXQpXG5cdFx0fVxuXHRcdHJldHVybiBudWxsXG5cdH1cblxuXHRyZXR1cm4gdHJpZ2dlckNvbW1hbmRcbn1cblxuZXhwb3J0IGRlZmF1bHQgdXNlQ29tbWFuZHNcbiIsImltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCdcbmltcG9ydCBQcm9wVHlwZXMgZnJvbSAncHJvcC10eXBlcydcblxuY29uc3QgSWNvbiA9ICh7IGNvbG9yLCBhY3RpdmVDb2xvciwgaXNBY3RpdmUgfSkgPT4ge1xuXHRyZXR1cm4gKFxuXHRcdDxzdmdcblx0XHRcdGRhdGEtdGVzdGlkPVwiX19pY29uLXJvb3RfX1wiXG5cdFx0XHR4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCJcblx0XHRcdHdpZHRoPVwiMTAwJVwiXG5cdFx0XHRoZWlnaHQ9XCIxMDAlXCJcblx0XHRcdHZpZXdCb3g9XCIwIDAgMjQgMjRcIlxuXHRcdD5cblx0XHRcdDxnPlxuXHRcdFx0XHQ8cGF0aFxuXHRcdFx0XHRcdGRhdGEtdGVzdGlkPVwiX19pY29uLXBhdGhfX1wiXG5cdFx0XHRcdFx0ZmlsbD17Y29sb3J9XG5cdFx0XHRcdFx0ZD1cIk0xMiAxNGMxLjY2IDAgMi45OS0xLjM0IDIuOTktM0wxNSA1YzAtMS42Ni0xLjM0LTMtMy0zUzkgMy4zNCA5IDV2NmMwIDEuNjYgMS4zNCAzIDMgM3ptNS4zLTNjMCAzLTIuNTQgNS4xLTUuMyA1LjFTNi43IDE0IDYuNyAxMUg1YzAgMy40MSAyLjcyIDYuMjMgNiA2LjcyVjIxaDJ2LTMuMjhjMy4yOC0uNDggNi0zLjMgNi02LjcyaC0xLjd6XCJcblx0XHRcdFx0Lz5cblx0XHRcdFx0e2lzQWN0aXZlICYmIDxjaXJjbGUgZGF0YS10ZXN0aWQ9XCJfX2ljb24tYWN0aXZlX19cIiBmaWxsPXthY3RpdmVDb2xvcn0gY3g9XCIxNlwiIGN5PVwiNFwiIHI9XCI0XCIgLz59XG5cdFx0XHQ8L2c+XG5cdFx0PC9zdmc+XG5cdClcbn1cblxuSWNvbi5wcm9wVHlwZXMgPSB7XG5cdGNvbG9yOiBQcm9wVHlwZXMuc3RyaW5nLFxuXHRhY3RpdmVDb2xvcjogUHJvcFR5cGVzLnN0cmluZyxcblx0aXNBY3RpdmU6IFByb3BUeXBlcy5ib29sLFxufVxuXG5JY29uLmRlZmF1bHRQcm9wcyA9IHtcblx0Y29sb3I6ICdibGFjaycsXG5cdGFjdGl2ZUNvbG9yOiAncmVkJyxcblx0aXNBY3RpdmU6IGZhbHNlLFxufVxuXG5leHBvcnQgZGVmYXVsdCBJY29uXG4iLCJpbXBvcnQgUmVhY3QsIHsgY2xvbmVFbGVtZW50LCBpc1ZhbGlkRWxlbWVudCwgdXNlUmVmLCB1c2VTdGF0ZSB9IGZyb20gJ3JlYWN0J1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJ1xuaW1wb3J0IHsgVm9jYWwgYXMgU3BlZWNoUmVjb2duaXRpb25XcmFwcGVyIH0gZnJvbSAnQHVudGVtcHMvdm9jYWwnXG5cbmltcG9ydCBpc0Z1bmMgZnJvbSAnLi4vdXRpbHMvaXNGdW5jJ1xuXG5pbXBvcnQgdXNlVm9jYWwgZnJvbSAnLi4vaG9va3MvdXNlVm9jYWwnXG5pbXBvcnQgdXNlVGltZW91dCBmcm9tICcuLi9ob29rcy91c2VUaW1lb3V0J1xuaW1wb3J0IHVzZUNvbW1hbmRzIGZyb20gJy4uL2hvb2tzL3VzZUNvbW1hbmRzJ1xuXG5pbXBvcnQgSWNvbiBmcm9tICcuL0ljb24nXG5cbmNvbnN0IFZvY2FsID0gKHtcblx0Y2hpbGRyZW4sXG5cdGNvbW1hbmRzLFxuXHRsYW5nLFxuXHRncmFtbWFycyxcblx0dGltZW91dCxcblx0YXJpYUxhYmVsLFxuXHRzdHlsZSxcblx0Y2xhc3NOYW1lLFxuXHRvdXRsaW5lU3R5bGUsXG5cdG9uU3RhcnQsXG5cdG9uRW5kLFxuXHRvblNwZWVjaFN0YXJ0LFxuXHRvblNwZWVjaEVuZCxcblx0b25SZXN1bHQsXG5cdG9uRXJyb3IsXG5cdG9uTm9NYXRjaCxcblx0X19yc0luc3RhbmNlLFxufSkgPT4ge1xuXHRjb25zdCBidXR0b25SZWYgPSB1c2VSZWYobnVsbClcblx0Y29uc3QgW2lzTGlzdGVuaW5nLCBzZXRJc0xpc3RlbmluZ10gPSB1c2VTdGF0ZShmYWxzZSlcblxuXHRjb25zdCBbLCB7IHN0YXJ0LCBzdG9wLCBzdWJzY3JpYmUsIHVuc3Vic2NyaWJlIH1dID0gdXNlVm9jYWwobGFuZywgZ3JhbW1hcnMsIF9fcnNJbnN0YW5jZSlcblx0Y29uc3QgdHJpZ2dlckNvbW1hbmQgPSB1c2VDb21tYW5kcyhjb21tYW5kcylcblxuXHRjb25zdCBfb25FbmQgPSAoZSkgPT4ge1xuXHRcdHN0b3BUaW1lcigpXG5cdFx0c3RvcFJlY29nbml0aW9uKClcblxuXHRcdHVuc3Vic2NyaWJlKCdzdGFydCcsIF9vblN0YXJ0KVxuXHRcdHVuc3Vic2NyaWJlKCdlbmQnLCBfb25FbmQpXG5cdFx0dW5zdWJzY3JpYmUoJ3NwZWVjaHN0YXJ0JywgX29uU3BlZWNoU3RhcnQpXG5cdFx0dW5zdWJzY3JpYmUoJ3NwZWVjaGVuZCcsIF9vblNwZWVjaEVuZClcblx0XHR1bnN1YnNjcmliZSgncmVzdWx0JywgX29uUmVzdWx0KVxuXHRcdHVuc3Vic2NyaWJlKCdlcnJvcicsIF9vbkVycm9yKVxuXHRcdHVuc3Vic2NyaWJlKCdub21hdGNoJywgX29uTm9NYXRjaClcblxuXHRcdCEhb25FbmQgJiYgb25FbmQoZSlcblx0fVxuXG5cdGNvbnN0IFtzdGFydFRpbWVyLCBzdG9wVGltZXJdID0gdXNlVGltZW91dChfb25FbmQsIHRpbWVvdXQpXG5cblx0Y29uc3Qgc3RhcnRSZWNvZ25pdGlvbiA9ICgpID0+IHtcblx0XHR0cnkge1xuXHRcdFx0c2V0SXNMaXN0ZW5pbmcodHJ1ZSlcblxuXHRcdFx0c3Vic2NyaWJlKCdzdGFydCcsIF9vblN0YXJ0KVxuXHRcdFx0c3Vic2NyaWJlKCdlbmQnLCBfb25FbmQpXG5cdFx0XHRzdWJzY3JpYmUoJ3NwZWVjaHN0YXJ0JywgX29uU3BlZWNoU3RhcnQpXG5cdFx0XHRzdWJzY3JpYmUoJ3NwZWVjaGVuZCcsIF9vblNwZWVjaEVuZClcblx0XHRcdHN1YnNjcmliZSgncmVzdWx0JywgX29uUmVzdWx0KVxuXHRcdFx0c3Vic2NyaWJlKCdlcnJvcicsIF9vbkVycm9yKVxuXHRcdFx0c3Vic2NyaWJlKCdub21hdGNoJywgX29uTm9NYXRjaClcblxuXHRcdFx0c3RhcnQoKVxuXHRcdH0gY2F0Y2ggKGVycm9yKSB7XG5cdFx0XHRfb25FcnJvcihlcnJvcilcblx0XHR9XG5cdH1cblxuXHRjb25zdCBzdG9wUmVjb2duaXRpb24gPSAoKSA9PiB7XG5cdFx0dHJ5IHtcblx0XHRcdHNldElzTGlzdGVuaW5nKGZhbHNlKVxuXG5cdFx0XHRzdG9wKClcblx0XHR9IGNhdGNoIChlcnJvcikge1xuXHRcdFx0ISFvbkVycm9yICYmIG9uRXJyb3IoZXJyb3IpXG5cdFx0fVxuXHR9XG5cblx0Y29uc3QgX29uQ2xpY2sgPSAoKSA9PiB7XG5cdFx0c3RhcnRSZWNvZ25pdGlvbigpXG5cdH1cblxuXHRjb25zdCBfb25Gb2N1cyA9ICgpID0+IHtcblx0XHRpZiAoIWNsYXNzTmFtZSAmJiBvdXRsaW5lU3R5bGUpIHtcblx0XHRcdGJ1dHRvblJlZi5jdXJyZW50LnN0eWxlLm91dGxpbmUgPSBvdXRsaW5lU3R5bGVcblx0XHR9XG5cdH1cblxuXHRjb25zdCBfb25CbHVyID0gKCkgPT4ge1xuXHRcdGlmICghY2xhc3NOYW1lICYmIG91dGxpbmVTdHlsZSkge1xuXHRcdFx0YnV0dG9uUmVmLmN1cnJlbnQuc3R5bGUub3V0bGluZSA9ICdub25lJ1xuXHRcdH1cblx0fVxuXG5cdGNvbnN0IF9vblN0YXJ0ID0gKGUpID0+IHtcblx0XHRzdGFydFRpbWVyKClcblxuXHRcdCEhb25TdGFydCAmJiBvblN0YXJ0KGUpXG5cdH1cblxuXHRjb25zdCBfb25TcGVlY2hTdGFydCA9IChlKSA9PiB7XG5cdFx0c3RvcFRpbWVyKClcblxuXHRcdCEhb25TcGVlY2hTdGFydCAmJiBvblNwZWVjaFN0YXJ0KGUpXG5cdH1cblxuXHRjb25zdCBfb25TcGVlY2hFbmQgPSAoZSkgPT4ge1xuXHRcdHN0YXJ0VGltZXIoKVxuXG5cdFx0ISFvblNwZWVjaEVuZCAmJiBvblNwZWVjaEVuZChlKVxuXHR9XG5cblx0Y29uc3QgX29uUmVzdWx0ID0gKGV2ZW50LCByZXN1bHQpID0+IHtcblx0XHRzdG9wVGltZXIoKVxuXHRcdHN0b3BSZWNvZ25pdGlvbigpXG5cblx0XHR0cmlnZ2VyQ29tbWFuZChyZXN1bHQpXG5cblx0XHQhIW9uUmVzdWx0ICYmIG9uUmVzdWx0KHJlc3VsdCwgZXZlbnQpXG5cdH1cblxuXHRjb25zdCBfb25FcnJvciA9IChlcnJvcikgPT4ge1xuXHRcdHN0b3BSZWNvZ25pdGlvbigpXG5cblx0XHQhIW9uRXJyb3IgJiYgb25FcnJvcihlcnJvcilcblx0fVxuXG5cdGNvbnN0IF9vbk5vTWF0Y2ggPSAoZSkgPT4ge1xuXHRcdHN0b3BUaW1lcigpXG5cdFx0c3RvcFJlY29nbml0aW9uKClcblxuXHRcdCEhb25Ob01hdGNoICYmIG9uTm9NYXRjaChlKVxuXHR9XG5cblx0Y29uc3QgX3JlbmRlckRlZmF1bHQgPSAoKSA9PiAoXG5cdFx0PGJ1dHRvblxuXHRcdFx0ZGF0YS10ZXN0aWQ9XCJfX3ZvY2FsLXJvb3RfX1wiXG5cdFx0XHRyZWY9e2J1dHRvblJlZn1cblx0XHRcdHJvbGU9XCJidXR0b25cIlxuXHRcdFx0YXJpYS1sYWJlbD17YXJpYUxhYmVsfVxuXHRcdFx0c3R5bGU9e1xuXHRcdFx0XHRjbGFzc05hbWVcblx0XHRcdFx0XHQ/IG51bGxcblx0XHRcdFx0XHQ6IHtcblx0XHRcdFx0XHRcdFx0d2lkdGg6IDI0LFxuXHRcdFx0XHRcdFx0XHRoZWlnaHQ6IDI0LFxuXHRcdFx0XHRcdFx0XHRiYWNrZ3JvdW5kOiAnbm9uZScsXG5cdFx0XHRcdFx0XHRcdGJvcmRlcjogJ25vbmUnLFxuXHRcdFx0XHRcdFx0XHRwYWRkaW5nOiAwLFxuXHRcdFx0XHRcdFx0XHRjdXJzb3I6ICFpc0xpc3RlbmluZyA/ICdwb2ludGVyJyA6ICdkZWZhdWx0Jyxcblx0XHRcdFx0XHRcdFx0Li4uc3R5bGUsXG5cdFx0XHRcdFx0ICB9XG5cdFx0XHR9XG5cdFx0XHRjbGFzc05hbWU9e2NsYXNzTmFtZX1cblx0XHRcdG9uRm9jdXM9e19vbkZvY3VzfVxuXHRcdFx0b25CbHVyPXtfb25CbHVyfVxuXHRcdFx0b25DbGljaz17X29uQ2xpY2t9XG5cdFx0PlxuXHRcdFx0PEljb24gaXNBY3RpdmU9e2lzTGlzdGVuaW5nfSBpY29uQ29sb3I9XCIjYWFhXCIgLz5cblx0XHQ8L2J1dHRvbj5cblx0KVxuXG5cdGNvbnN0IF9yZW5kZXJDaGlsZHJlbiA9IChjaGlsZHJlbikgPT4ge1xuXHRcdGlmIChTcGVlY2hSZWNvZ25pdGlvbldyYXBwZXIuaXNTdXBwb3J0ZWQpIHtcblx0XHRcdGlmIChpc0Z1bmMoY2hpbGRyZW4pKSB7XG5cdFx0XHRcdHJldHVybiBjaGlsZHJlbihzdGFydFJlY29nbml0aW9uLCBzdG9wUmVjb2duaXRpb24sIGlzTGlzdGVuaW5nKVxuXHRcdFx0fSBlbHNlIGlmIChpc1ZhbGlkRWxlbWVudChjaGlsZHJlbikpIHtcblx0XHRcdFx0cmV0dXJuIGNsb25lRWxlbWVudChjaGlsZHJlbiwge1xuXHRcdFx0XHRcdC4uLighaXNMaXN0ZW5pbmcgJiYgeyBvbkNsaWNrOiBfb25DbGljayB9KSxcblx0XHRcdFx0fSlcblx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdHJldHVybiBfcmVuZGVyRGVmYXVsdCgpXG5cdFx0XHR9XG5cdFx0fVxuXHRcdHJldHVybiBudWxsXG5cdH1cblxuXHRyZXR1cm4gX3JlbmRlckNoaWxkcmVuKGNoaWxkcmVuKVxufVxuXG5Wb2NhbC5wcm9wVHlwZXMgPSB7XG5cdC8qKiBEZWZpbmVzIGNhbGxiYWNrcyB0byBiZSB0cmlnZ2VyZWQgd2hlbiBrZXlzIGFyZSBkZXRlY3RlZCBieSB0aGUgcmVjb2duaXRpb24gKi9cblx0Y29tbWFuZHM6IFByb3BUeXBlcy5vYmplY3RPZihQcm9wVHlwZXMuZnVuYyksXG5cdC8qKiBEZWZpbmVzIHRoZSBsYW5ndWFnZSB1bmRlcnN0b29kIGJ5IHRoZSByZWNvZ25pdGlvbiAoaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4tVVMvZG9jcy9XZWIvQVBJL1NwZWVjaFJlY29nbml0aW9uL2xhbmcpICovXG5cdGxhbmc6IFByb3BUeXBlcy5zdHJpbmcsXG5cdC8qKiBEZWZpbmVzIHRoZSBncmFtbWFycyB1bmRlcnN0b29kIGJ5IHRoZSByZWNvZ25pdGlvbiAoaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4tVVMvZG9jcy9XZWIvQVBJL1NwZWVjaFJlY29nbml0aW9uL2dyYW1tYXJzKSAqL1xuXHRncmFtbWFyczogUHJvcFR5cGVzLm9iamVjdCxcblx0LyoqIERlZmluZXMgdGhlIHRpbWUgaW4gbXMgdG8gd2FpdCBiZWZvcmUgZGlzY2FyZGluZyB0aGUgcmVjb2duaXRpb24gKi9cblx0dGltZW91dDogUHJvcFR5cGVzLm51bWJlcixcblx0LyoqIERlZmluZXMgdGhlIGExMXkgbGFiZWwgZm9yIHRoZSBkZWZhdWx0IGJ1dHRvbiAqL1xuXHRhcmlhTGFiZWw6IFByb3BUeXBlcy5zdHJpbmcsXG5cdC8qKiBEZWZpbmVzIHRoZSBzdHlsZXMgb2YgdGhlIGRlZmF1bHQgZWxlbWVudCBpZiBjbGFzc05hbWUgaXMgbm90IHNwZWNpZmllZCAqL1xuXHRzdHlsZTogUHJvcFR5cGVzLm9iamVjdCxcblx0LyoqIERlZmluZXMgdGhlIGNsYXNzIG9mIHRoZSBkZWZhdWx0IGVsZW1lbnQgKi9cblx0Y2xhc3NOYW1lOiBQcm9wVHlwZXMuc3RyaW5nLFxuXHQvKiogRGVmaW5lcyB0aGUgZGVmYXVsdCBzdHlsZSBvZiB0aGUgZm9jdXMgb3V0bGluZS4gaWYgbnVsbCB0aGUgZGVmYXVsdCBiZWhhdmlvdXIgaXMgdXNlZCAqL1xuXHRvdXRsaW5lU3R5bGU6IFByb3BUeXBlcy5zdHJpbmcsXG5cdC8qKiBEZWZpbmVzIHRoZSBoYW5kbGVyIGNhbGxlZCB3aGVuIHRoZSByZWNvZ25pdGlvbiBzdGFydHMgKi9cblx0b25TdGFydDogUHJvcFR5cGVzLmZ1bmMsXG5cdC8qKiBEZWZpbmVzIHRoZSBoYW5kbGVyIGNhbGxlZCB3aGVuIHRoZSByZWNvZ25pdGlvbiBlbmRzICovXG5cdG9uRW5kOiBQcm9wVHlwZXMuZnVuYyxcblx0LyoqIERlZmluZXMgdGhlIGhhbmRsZXIgY2FsbGVkIHdoZW4gdGhlIHNwZWVjaCBzdGFydHMgKi9cblx0b25TcGVlY2hTdGFydDogUHJvcFR5cGVzLmZ1bmMsXG5cdC8qKiBEZWZpbmVzIHRoZSBoYW5kbGVyIGNhbGxlZCB3aGVuIHRoZSBzcGVlY2ggZW5kcyAqL1xuXHRvblNwZWVjaEVuZDogUHJvcFR5cGVzLmZ1bmMsXG5cdC8qKiBEZWZpbmVzIHRoZSBoYW5kbGVyIGNhbGxlZCB3aGVuIGEgcmVzdWx0IGlzIHJldHVybmVkIGZyb20gdGUgcmVjb2duaXRpb24gKi9cblx0b25SZXN1bHQ6IFByb3BUeXBlcy5mdW5jLFxuXHQvKiogRGVmaW5lcyB0aGUgaGFuZGxlciBjYWxsZWQgd2hlbiBhbiBlcnJvciBvY2N1cnMgKi9cblx0b25FcnJvcjogUHJvcFR5cGVzLmZ1bmMsXG5cdC8qKiBEZWZpbmVzIHRoZSBoYW5kbGVyIGNhbGxlZCB3aGVuIG5vIHJlc3VsdCBjYW4gYmUgcmVjb2duaXplZCAqL1xuXHRvbk5vTWF0Y2g6IFByb3BUeXBlcy5mdW5jLFxufVxuXG5Wb2NhbC5kZWZhdWx0UHJvcHMgPSB7XG5cdGNvbW1hbmRzOiBudWxsLFxuXHRsYW5nOiAnZW4tVVMnLFxuXHRncmFtbWFyczogbnVsbCxcblx0dGltZW91dDogMzAwMCxcblx0YXJpYUxhYmVsOiAnc3RhcnQgcmVjb2duaXRpb24nLFxuXHRzdHlsZTogbnVsbCxcblx0Y2xhc3NOYW1lOiBudWxsLFxuXHRvdXRsaW5lU3R5bGU6ICcycHggc29saWQnLFxuXHRvblN0YXJ0OiBudWxsLFxuXHRvbkVuZDogbnVsbCxcblx0b25TcGVlY2hTdGFydDogbnVsbCxcblx0b25TcGVlY2hFbmQ6IG51bGwsXG5cdG9uUmVzdWx0OiBudWxsLFxuXHRvbkVycm9yOiBudWxsLFxuXHRvbk5vTWF0Y2g6IG51bGwsXG59XG5cbmV4cG9ydCBkZWZhdWx0IFZvY2FsXG4iLCJpbXBvcnQgeyB1c2VDYWxsYmFjaywgdXNlRWZmZWN0LCB1c2VSZWYgfSBmcm9tICdyZWFjdCdcblxuY29uc3QgdXNlVGltZW91dCA9IChoYW5kbGVyLCB0aW1lb3V0ID0gMCkgPT4ge1xuXHRjb25zdCByZWYgPSB1c2VSZWYoLTEpXG5cblx0Y29uc3Qgc3RvcCA9IHVzZUNhbGxiYWNrKCgpID0+IHtcblx0XHRjbGVhclRpbWVvdXQocmVmLmN1cnJlbnQpXG5cdFx0cmVmLmN1cnJlbnQgPSAtMVxuXHR9LCBbXSlcblxuXHRjb25zdCBzdGFydCA9IHVzZUNhbGxiYWNrKCgpID0+IHtcblx0XHRzdG9wKClcblx0XHRyZWYuY3VycmVudCA9IHNldFRpbWVvdXQoaGFuZGxlciwgdGltZW91dClcblx0fSwgW2hhbmRsZXIsIHRpbWVvdXQsIHN0b3BdKVxuXG5cdHVzZUVmZmVjdCgoKSA9PiBzdG9wLCBbc3RvcF0pXG5cblx0cmV0dXJuIFtzdGFydCwgc3RvcF1cbn1cblxuZXhwb3J0IGRlZmF1bHQgdXNlVGltZW91dFxuXG4vLyBUT0RPOiBSZXR1cm4gYSBwcm9taXNlXG4iLCJleHBvcnQgZGVmYXVsdCAodmFsKSA9PiB0eXBlb2YgdmFsID09PSAnZnVuY3Rpb24nXG4iLCJpbXBvcnQgVm9jYWwgZnJvbSAnLi9jb21wb25lbnRzL1ZvY2FsJ1xuaW1wb3J0IHsgVm9jYWwgYXMgU3BlZWNoUmVjb2duaXRpb25XcmFwcGVyIH0gZnJvbSAnQHVudGVtcHMvdm9jYWwnXG5cbmV4cG9ydCB7IGRlZmF1bHQgYXMgdXNlVm9jYWwgfSBmcm9tICcuL2hvb2tzL3VzZVZvY2FsJ1xuZXhwb3J0IGNvbnN0IGlzU3VwcG9ydGVkID0gU3BlZWNoUmVjb2duaXRpb25XcmFwcGVyLmlzU3VwcG9ydGVkXG5cbmV4cG9ydCBkZWZhdWx0IFZvY2FsXG4iXSwibmFtZXMiOlsidCIsImUiLCJyIiwiT2JqZWN0IiwicHJvdG90eXBlIiwiaGFzT3duUHJvcGVydHkiLCJuIiwiU3ltYm9sIiwibyIsIml0ZXJhdG9yIiwiaSIsImFzeW5jSXRlcmF0b3IiLCJhIiwidG9TdHJpbmdUYWciLCJjIiwiZGVmaW5lUHJvcGVydHkiLCJ2YWx1ZSIsImVudW1lcmFibGUiLCJjb25maWd1cmFibGUiLCJ3cml0YWJsZSIsInUiLCJmIiwiY3JlYXRlIiwiXyIsIl9pbnZva2UiLCJFcnJvciIsIlMiLCJtZXRob2QiLCJhcmciLCJkZWxlZ2F0ZSIsImIiLCJsIiwic2VudCIsIl9zZW50IiwiZGlzcGF0Y2hFeGNlcHRpb24iLCJhYnJ1cHQiLCJzIiwidHlwZSIsImRvbmUiLCJjYWxsIiwid3JhcCIsImgiLCJwIiwidiIsInRoaXMiLCJ5IiwiZ2V0UHJvdG90eXBlT2YiLCJkIiwieCIsIm0iLCJnIiwiZm9yRWFjaCIsInciLCJyZXNvbHZlIiwiX19hd2FpdCIsInRoZW4iLCJyZXR1cm4iLCJUeXBlRXJyb3IiLCJyZXN1bHROYW1lIiwibmV4dCIsIm5leHRMb2MiLCJFIiwidHJ5TG9jIiwiY2F0Y2hMb2MiLCJmaW5hbGx5TG9jIiwiYWZ0ZXJMb2MiLCJ0cnlFbnRyaWVzIiwicHVzaCIsIk8iLCJjb21wbGV0aW9uIiwicmVzZXQiLCJpc05hTiIsImxlbmd0aCIsImNvbnN0cnVjdG9yIiwiZGlzcGxheU5hbWUiLCJpc0dlbmVyYXRvckZ1bmN0aW9uIiwibmFtZSIsIm1hcmsiLCJzZXRQcm90b3R5cGVPZiIsIl9fcHJvdG9fXyIsImF3cmFwIiwiQXN5bmNJdGVyYXRvciIsImFzeW5jIiwiUHJvbWlzZSIsInRvU3RyaW5nIiwia2V5cyIsInJldmVyc2UiLCJwb3AiLCJ2YWx1ZXMiLCJwcmV2IiwiY2hhckF0Iiwic2xpY2UiLCJzdG9wIiwicnZhbCIsImNvbXBsZXRlIiwiZmluaXNoIiwiY2F0Y2giLCJkZWxlZ2F0ZVlpZWxkIiwiZXhwb3J0cyIsInJlZ2VuZXJhdG9yUnVudGltZSIsIkZ1bmN0aW9uIiwicGF0aCIsInJlcXVpcmUiLCJhcmd1bWVudHMiLCJhcHBseSIsIkFycmF5IiwiaXNBcnJheSIsImZyb20iLCJ0ZXN0Iiwia2V5IiwibmF2aWdhdG9yIiwicGVybWlzc2lvbnMiLCJtZWRpYURldmljZXMiLCJET01FeGNlcHRpb24iLCJxdWVyeSIsInJlbW92ZUV2ZW50TGlzdGVuZXIiLCJ0YXJnZXQiLCJzdGF0ZSIsImFkZEV2ZW50TGlzdGVuZXIiLCJ0MCIsInQxIiwiZ2V0VXNlck1lZGlhIiwidDIiLCJ0MyIsImFsbCIsInQ0IiwiZ2V0T3duUHJvcGVydHlTeW1ib2xzIiwiZmlsdGVyIiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9ycyIsImRlZmluZVByb3BlcnRpZXMiLCJfcmVzb2x2ZVNwZWVjaFJlY29nbml0aW9uIiwiX2luc3RhbmNlIiwiX2xpc3RlbmVycyIsImVudHJpZXMiLCJkZWZhdWx0T3B0aW9ucyIsIl9yZXNvbHZlU3BlZWNoR3JhbW1hckxpc3QiLCJnZXQiLCJzZXQiLCJhdWRpbyIsInN0YXJ0IiwiZXJyb3IiLCJhYm9ydCIsIl9pbmNsdWRlc0V2ZW50VHlwZSIsImV2ZW50VHlwZXMiLCJSRVNVTFQiLCJyZXN1bHRzIiwidHJhbnNjcmlwdCIsImNvbmNhdCIsImZpbmQiLCJ3aW5kb3ciLCJTcGVlY2hSZWNvZ25pdGlvbiIsIndlYmtpdFNwZWVjaFJlY29nbml0aW9uIiwibW96U3BlZWNoUmVjb2duaXRpb24iLCJtc1NwZWVjaFJlY29nbml0aW9uIiwiU3BlZWNoR3JhbW1hckxpc3QiLCJ3ZWJraXRTcGVlY2hHcmFtbWFyTGlzdCIsIm1velNwZWVjaEdyYW1tYXJMaXN0IiwibXNTcGVlY2hHcmFtbWFyTGlzdCIsImdyYW1tYXJzIiwibGFuZyIsImNvbnRpbnVvdXMiLCJpbnRlcmltUmVzdWx0cyIsIm1heEFsdGVybmF0aXZlcyIsInNlcnZpY2VVUkkiLCJBVURJT19FTkQiLCJBVURJT19TVEFSVCIsIkVORCIsIkVSUk9SIiwiTk9fTUFUQ0giLCJTT1VORF9FTkQiLCJTT1VORF9TVEFSVCIsIlNQRUVDSF9FTkQiLCJTUEVFQ0hfU1RBUlQiLCJTVEFSVCIsInVzZVZvY2FsIiwiX19yc0luc3RhbmNlIiwicmVmIiwidXNlUmVmIiwidXNlRWZmZWN0IiwiU3BlZWNoUmVjb2duaXRpb25XcmFwcGVyIiwiaXNTdXBwb3J0ZWQiLCJjdXJyZW50IiwiY2xlYW51cCIsInVzZUNhbGxiYWNrIiwic3Vic2NyaWJlIiwiZXZlbnRUeXBlIiwiaGFuZGxlciIsInVuc3Vic2NyaWJlIiwiY2xlYW4iLCJnZXRUYWciLCJpc1N0cmluZyIsImlzTnVtYmVyIiwiaXNCb29sZWFuIiwiaXNPYmplY3QiLCJpc09iamVjdExpa2UiLCJpc0RlZmluZWQiLCJpc0JsYW5rIiwidHJpbSIsInVuZGVmaW5lZCIsImhhc093biIsIktleVN0b3JlIiwiW29iamVjdCBPYmplY3RdIiwiX2tleXMiLCJfa2V5TWFwIiwidG90YWxXZWlnaHQiLCJvYmoiLCJjcmVhdGVLZXkiLCJ3ZWlnaHQiLCJpZCIsImtleUlkIiwiSlNPTiIsInN0cmluZ2lmeSIsInNyYyIsImNyZWF0ZUtleVBhdGgiLCJjcmVhdGVLZXlJZCIsIk1JU1NJTkdfS0VZX1BST1BFUlRZIiwiSU5WQUxJRF9LRVlfV0VJR0hUX1ZBTFVFIiwic3BsaXQiLCJqb2luIiwiQ29uZmlnIiwiaXNDYXNlU2Vuc2l0aXZlIiwiaW5jbHVkZVNjb3JlIiwic2hvdWxkU29ydCIsInNvcnRGbiIsInNjb3JlIiwiaWR4IiwiaW5jbHVkZU1hdGNoZXMiLCJmaW5kQWxsTWF0Y2hlcyIsIm1pbk1hdGNoQ2hhckxlbmd0aCIsImxvY2F0aW9uIiwidGhyZXNob2xkIiwiZGlzdGFuY2UiLCJ1c2VFeHRlbmRlZFNlYXJjaCIsImdldEZuIiwibGlzdCIsImFyciIsImRlZXBHZXQiLCJpbmRleCIsInJlc3VsdCIsImJhc2VUb1N0cmluZyIsImxlbiIsImlnbm9yZUxvY2F0aW9uIiwiaWdub3JlRmllbGROb3JtIiwiU1BBQ0UiLCJGdXNlSW5kZXgiLCJub3JtIiwibWFudGlzc2EiLCJjYWNoZSIsIk1hcCIsIk1hdGgiLCJwb3ciLCJudW1Ub2tlbnMiLCJtYXRjaCIsImhhcyIsInNxcnQiLCJwYXJzZUZsb2F0Iiwicm91bmQiLCJjbGVhciIsImlzQ3JlYXRlZCIsInNldEluZGV4UmVjb3JkcyIsImRvY3MiLCJyZWNvcmRzIiwiX2tleXNNYXAiLCJkb2MiLCJkb2NJbmRleCIsIl9hZGRTdHJpbmciLCJfYWRkT2JqZWN0Iiwic2l6ZSIsInNwbGljZSIsIml0ZW0iLCJyZWNvcmQiLCIkIiwia2V5SW5kZXgiLCJzdWJSZWNvcmRzIiwic3RhY2siLCJuZXN0ZWRBcnJJbmRleCIsInN1YlJlY29yZCIsImsiLCJjcmVhdGVJbmRleCIsIm15SW5kZXgiLCJzZXRLZXlzIiwibWFwIiwic2V0U291cmNlcyIsImNvbXB1dGVTY29yZSIsInBhdHRlcm4iLCJlcnJvcnMiLCJjdXJyZW50TG9jYXRpb24iLCJleHBlY3RlZExvY2F0aW9uIiwiYWNjdXJhY3kiLCJwcm94aW1pdHkiLCJhYnMiLCJNQVhfQklUUyIsInNlYXJjaCIsInRleHQiLCJwYXR0ZXJuQWxwaGFiZXQiLCJwYXR0ZXJuTGVuIiwidGV4dExlbiIsIm1heCIsIm1pbiIsImN1cnJlbnRUaHJlc2hvbGQiLCJiZXN0TG9jYXRpb24iLCJjb21wdXRlTWF0Y2hlcyIsIm1hdGNoTWFzayIsImluZGV4T2YiLCJsYXN0Qml0QXJyIiwiZmluYWxTY29yZSIsImJpbk1heCIsIm1hc2siLCJiaW5NaW4iLCJiaW5NaWQiLCJmbG9vciIsImJpdEFyciIsImoiLCJjaGFyTWF0Y2giLCJpc01hdGNoIiwiaW5kaWNlcyIsIm1hdGNobWFzayIsImVuZCIsImNvbnZlcnRNYXNrVG9JbmRpY2VzIiwiY3JlYXRlUGF0dGVybkFscGhhYmV0IiwiY2hhciIsIkJpdGFwU2VhcmNoIiwib3B0aW9ucyIsInRvTG93ZXJDYXNlIiwiY2h1bmtzIiwiYWRkQ2h1bmsiLCJzdGFydEluZGV4IiwiYWxwaGFiZXQiLCJyZW1haW5kZXIiLCJzdWJzdHIiLCJhbGxJbmRpY2VzIiwidG90YWxTY29yZSIsImhhc01hdGNoZXMiLCJCYXNlTWF0Y2giLCJnZXRNYXRjaCIsIm11bHRpUmVnZXgiLCJzaW5nbGVSZWdleCIsImV4cCIsIm1hdGNoZXMiLCJGdXp6eU1hdGNoIiwic3VwZXIiLCJfYml0YXBTZWFyY2giLCJzZWFyY2hJbiIsIkluY2x1ZGVNYXRjaCIsInNlYXJjaGVycyIsInN0YXJ0c1dpdGgiLCJlbmRzV2l0aCIsInNlYXJjaGVyc0xlbiIsIlNQQUNFX1JFIiwiTXVsdGlNYXRjaFNldCIsIlNldCIsIkV4dGVuZGVkU2VhcmNoIiwicXVlcnlJdGVtIiwiZm91bmQiLCJzZWFyY2hlciIsInRva2VuIiwiaXNNdWx0aU1hdGNoIiwiaXNTaW5nbGVNYXRjaCIsInBhcnNlUXVlcnkiLCJudW1NYXRjaGVzIiwicUxlbiIsInBMZW4iLCJyZWdpc3RlcmVkU2VhcmNoZXJzIiwiY3JlYXRlU2VhcmNoZXIiLCJzZWFyY2hlckNsYXNzIiwiY29uZGl0aW9uIiwiTG9naWNhbE9wZXJhdG9yIiwiS2V5VHlwZSIsImlzRXhwcmVzc2lvbiIsImNvbnZlcnRUb0V4cGxpY2l0IiwicGFyc2UiLCJhdXRvIiwiaXNRdWVyeVBhdGgiLCJpc1BhdGgiLCJpc0xlYWYiLCJMT0dJQ0FMX1NFQVJDSF9JTlZBTElEX1FVRVJZX0ZPUl9LRVkiLCJub2RlIiwiY2hpbGRyZW4iLCJvcGVyYXRvciIsInRyYW5zZm9ybU1hdGNoZXMiLCJkYXRhIiwicmVmSW5kZXgiLCJ0cmFuc2Zvcm1TY29yZSIsIkZ1c2UiLCJfa2V5U3RvcmUiLCJzZXRDb2xsZWN0aW9uIiwiX2RvY3MiLCJfbXlJbmRleCIsImFkZCIsInByZWRpY2F0ZSIsInJlbW92ZUF0IiwibGltaXQiLCJfc2VhcmNoU3RyaW5nTGlzdCIsIl9zZWFyY2hPYmplY3RMaXN0IiwiX3NlYXJjaExvZ2ljYWwiLCJOdW1iZXIiLCJFUFNJTE9OIiwiY29tcHV0ZVNjb3JlJDEiLCJzb3J0IiwidHJhbnNmb3JtZXJzIiwidHJhbnNmb3JtZXIiLCJmb3JtYXQiLCJleHByZXNzaW9uIiwiZXZhbHVhdGUiLCJfZmluZE1hdGNoZXMiLCJnZXRWYWx1ZUZvckl0ZW1BdEtleUlkIiwicmVzIiwiY2hpbGQiLCJyZXN1bHRNYXAiLCJleHBSZXN1bHRzIiwidmVyc2lvbiIsInBhcnNlSW5kZXgiLCJjb25maWciLCJhcmdzIiwicmVnaXN0ZXIiLCJJY29uIiwiY29sb3IiLCJhY3RpdmVDb2xvciIsImlzQWN0aXZlIiwiUmVhY3QiLCJ4bWxucyIsIndpZHRoIiwiaGVpZ2h0Iiwidmlld0JveCIsImZpbGwiLCJjeCIsImN5IiwicHJvcFR5cGVzIiwiUHJvcFR5cGVzIiwic3RyaW5nIiwiYm9vbCIsImRlZmF1bHRQcm9wcyIsIlZvY2FsIiwiY29tbWFuZHMiLCJ0aW1lb3V0IiwiYXJpYUxhYmVsIiwic3R5bGUiLCJjbGFzc05hbWUiLCJvdXRsaW5lU3R5bGUiLCJvblN0YXJ0Iiwib25FbmQiLCJvblNwZWVjaFN0YXJ0Iiwib25TcGVlY2hFbmQiLCJvblJlc3VsdCIsIm9uRXJyb3IiLCJvbk5vTWF0Y2giLCJidXR0b25SZWYiLCJ1c2VTdGF0ZSIsImlzTGlzdGVuaW5nIiwic2V0SXNMaXN0ZW5pbmciLCJ0cmlnZ2VyQ29tbWFuZCIsInByZWNpc2lvbiIsIl9PYmplY3QkZW50cmllcyIsInJlZHVjZSIsImFjYyIsImlucHV0IiwiX2NvbW1hbmRzJGtleSIsInVzZUNvbW1hbmRzIiwiX29uRW5kIiwic3RvcFRpbWVyIiwic3RvcFJlY29nbml0aW9uIiwiX29uU3RhcnQiLCJfb25TcGVlY2hTdGFydCIsIl9vblNwZWVjaEVuZCIsIl9vblJlc3VsdCIsIl9vbkVycm9yIiwiX29uTm9NYXRjaCIsImNsZWFyVGltZW91dCIsInNldFRpbWVvdXQiLCJ1c2VUaW1lb3V0Iiwic3RhcnRUaW1lciIsInN0YXJ0UmVjb2duaXRpb24iLCJfb25DbGljayIsIl9vbkZvY3VzIiwib3V0bGluZSIsIl9vbkJsdXIiLCJldmVudCIsImlzVmFsaWRFbGVtZW50IiwiY2xvbmVFbGVtZW50Iiwib25DbGljayIsInJvbGUiLCJiYWNrZ3JvdW5kIiwiYm9yZGVyIiwicGFkZGluZyIsImN1cnNvciIsIm9uRm9jdXMiLCJvbkJsdXIiLCJpY29uQ29sb3IiLCJfcmVuZGVyQ2hpbGRyZW4iLCJvYmplY3RPZiIsImZ1bmMiLCJvYmplY3QiLCJudW1iZXIiXSwibWFwcGluZ3MiOiJraUVBQUEsSUFBSUEsRUFBRSxTQUFTQSxFQUFFQyxFQUFFQyxHQUFHLGdCQUFxTkYsR0FBRyxJQUFJQyxFQUFFLFNBQVNELEdBQUcsSUFBSUMsRUFBRUUsT0FBT0MsVUFBVUYsRUFBRUQsRUFBRUksZUFBZUMsRUFBRSxtQkFBbUJDLE9BQU9BLE9BQU8sR0FBR0MsRUFBRUYsRUFBRUcsVUFBVSxhQUFhQyxFQUFFSixFQUFFSyxlQUFlLGtCQUFrQkMsRUFBRU4sRUFBRU8sYUFBYSxnQkFBZ0IsU0FBU0MsRUFBRWQsRUFBRUMsRUFBRUMsR0FBRyxPQUFPQyxPQUFPWSxlQUFlZixFQUFFQyxFQUFFLENBQUNlLE1BQU1kLEVBQUVlLFlBQVcsRUFBR0MsY0FBYSxFQUFHQyxVQUFTLElBQUtuQixFQUFFQyxHQUFHLElBQUlhLEVBQUUsR0FBRyxJQUFJLE1BQU1kLEdBQUdjLEVBQUUsU0FBU2QsRUFBRUMsRUFBRUMsR0FBRyxPQUFPRixFQUFFQyxHQUFHQyxHQUFHLFNBQVNrQixFQUFFcEIsRUFBRUMsRUFBRUMsRUFBRUksR0FBRyxJQUFJRSxFQUFFUCxHQUFHQSxF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
|
|
1
|
+
!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports,require("react"),require("prop-types")):"function"==typeof define&&define.amd?define(["exports","react","prop-types"],e):e((t="undefined"!=typeof globalThis?globalThis:t||self)["react-vocal"]={},t.React,t.PropTypes)}(this,(function(t,e,n){"use strict";function r(t){return t&&"object"==typeof t&&"default"in t?t:{default:t}}var i=r(e),o=r(n);function s(t,e,n){return e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}function c(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,r)}return n}function a(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{};e%2?c(Object(n),!0).forEach((function(e){s(t,e,n[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):c(Object(n)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))}))}return t}function u(t,e){return function(t){if(Array.isArray(t))return t}(t)||function(t,e){if("undefined"==typeof Symbol||!(Symbol.iterator in Object(t)))return;var n=[],r=!0,i=!1,o=void 0;try{for(var s,c=t[Symbol.iterator]();!(r=(s=c.next()).done)&&(n.push(s.value),!e||n.length!==e);r=!0);}catch(t){i=!0,o=t}finally{try{r||null==c.return||c.return()}finally{if(i)throw o}}return n}(t,e)||function(t,e){if(!t)return;if("string"==typeof t)return l(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);"Object"===n&&t.constructor&&(n=t.constructor.name);if("Map"===n||"Set"===n)return Array.from(t);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return l(t,e)}(t,e)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function l(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,r=new Array(e);n<e;n++)r[n]=t[n];return r}var h=function(t,e,n){return function(t){var e=function(t){var e=Object.prototype,n=e.hasOwnProperty,r="function"==typeof Symbol?Symbol:{},i=r.iterator||"@@iterator",o=r.asyncIterator||"@@asyncIterator",s=r.toStringTag||"@@toStringTag";function c(t,e,n){return Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}),t[e]}try{c({},"")}catch(t){c=function(t,e,n){return t[e]=n}}function a(t,e,n,r){var i=e&&e.prototype instanceof h?e:h,o=Object.create(i.prototype),s=new _(r||[]);return o._invoke=function(t,e,n){var r="suspendedStart";return function(i,o){if("executing"===r)throw new Error("Generator is already running");if("completed"===r){if("throw"===i)throw o;return L()}for(n.method=i,n.arg=o;;){var s=n.delegate;if(s){var c=w(s,n);if(c){if(c===l)continue;return c}}if("next"===n.method)n.sent=n._sent=n.arg;else if("throw"===n.method){if("suspendedStart"===r)throw r="completed",n.arg;n.dispatchException(n.arg)}else"return"===n.method&&n.abrupt("return",n.arg);r="executing";var a=u(t,e,n);if("normal"===a.type){if(r=n.done?"completed":"suspendedYield",a.arg===l)continue;return{value:a.arg,done:n.done}}"throw"===a.type&&(r="completed",n.method="throw",n.arg=a.arg)}}}(t,n,s),o}function u(t,e,n){try{return{type:"normal",arg:t.call(e,n)}}catch(t){return{type:"throw",arg:t}}}t.wrap=a;var l={};function h(){}function f(){}function d(){}var p={};p[i]=function(){return this};var g=Object.getPrototypeOf,y=g&&g(g(E([])));y&&y!==e&&n.call(y,i)&&(p=y);var v=d.prototype=h.prototype=Object.create(p);function m(t){["next","throw","return"].forEach((function(e){c(t,e,(function(t){return this._invoke(e,t)}))}))}function b(t,e){var r;this._invoke=function(i,o){function s(){return new e((function(r,s){!function r(i,o,s,c){var a=u(t[i],t,o);if("throw"!==a.type){var l=a.arg,h=l.value;return h&&"object"==typeof h&&n.call(h,"__await")?e.resolve(h.__await).then((function(t){r("next",t,s,c)}),(function(t){r("throw",t,s,c)})):e.resolve(h).then((function(t){l.value=t,s(l)}),(function(t){return r("throw",t,s,c)}))}c(a.arg)}(i,o,r,s)}))}return r=r?r.then(s,s):s()}}function w(t,e){var n=t.iterator[e.method];if(void 0===n){if(e.delegate=null,"throw"===e.method){if(t.iterator.return&&(e.method="return",e.arg=void 0,w(t,e),"throw"===e.method))return l;e.method="throw",e.arg=new TypeError("The iterator does not provide a 'throw' method")}return l}var r=u(n,t.iterator,e.arg);if("throw"===r.type)return e.method="throw",e.arg=r.arg,e.delegate=null,l;var i=r.arg;return i?i.done?(e[t.resultName]=i.value,e.next=t.nextLoc,"return"!==e.method&&(e.method="next",e.arg=void 0),e.delegate=null,l):i:(e.method="throw",e.arg=new TypeError("iterator result is not an object"),e.delegate=null,l)}function x(t){var e={tryLoc:t[0]};1 in t&&(e.catchLoc=t[1]),2 in t&&(e.finallyLoc=t[2],e.afterLoc=t[3]),this.tryEntries.push(e)}function S(t){var e=t.completion||{};e.type="normal",delete e.arg,t.completion=e}function _(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(x,this),this.reset(!0)}function E(t){if(t){var e=t[i];if(e)return e.call(t);if("function"==typeof t.next)return t;if(!isNaN(t.length)){var r=-1,o=function e(){for(;++r<t.length;)if(n.call(t,r))return e.value=t[r],e.done=!1,e;return e.value=void 0,e.done=!0,e};return o.next=o}}return{next:L}}function L(){return{value:void 0,done:!0}}return f.prototype=v.constructor=d,d.constructor=f,f.displayName=c(d,s,"GeneratorFunction"),t.isGeneratorFunction=function(t){var e="function"==typeof t&&t.constructor;return!!e&&(e===f||"GeneratorFunction"===(e.displayName||e.name))},t.mark=function(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,d):(t.__proto__=d,c(t,s,"GeneratorFunction")),t.prototype=Object.create(v),t},t.awrap=function(t){return{__await:t}},m(b.prototype),b.prototype[o]=function(){return this},t.AsyncIterator=b,t.async=function(e,n,r,i,o){void 0===o&&(o=Promise);var s=new b(a(e,n,r,i),o);return t.isGeneratorFunction(n)?s:s.next().then((function(t){return t.done?t.value:s.next()}))},m(v),c(v,s,"Generator"),v[i]=function(){return this},v.toString=function(){return"[object Generator]"},t.keys=function(t){var e=[];for(var n in t)e.push(n);return e.reverse(),function n(){for(;e.length;){var r=e.pop();if(r in t)return n.value=r,n.done=!1,n}return n.done=!0,n}},t.values=E,_.prototype={constructor:_,reset:function(t){if(this.prev=0,this.next=0,this.sent=this._sent=void 0,this.done=!1,this.delegate=null,this.method="next",this.arg=void 0,this.tryEntries.forEach(S),!t)for(var e in this)"t"===e.charAt(0)&&n.call(this,e)&&!isNaN(+e.slice(1))&&(this[e]=void 0)},stop:function(){this.done=!0;var t=this.tryEntries[0].completion;if("throw"===t.type)throw t.arg;return this.rval},dispatchException:function(t){if(this.done)throw t;var e=this;function r(n,r){return s.type="throw",s.arg=t,e.next=n,r&&(e.method="next",e.arg=void 0),!!r}for(var i=this.tryEntries.length-1;i>=0;--i){var o=this.tryEntries[i],s=o.completion;if("root"===o.tryLoc)return r("end");if(o.tryLoc<=this.prev){var c=n.call(o,"catchLoc"),a=n.call(o,"finallyLoc");if(c&&a){if(this.prev<o.catchLoc)return r(o.catchLoc,!0);if(this.prev<o.finallyLoc)return r(o.finallyLoc)}else if(c){if(this.prev<o.catchLoc)return r(o.catchLoc,!0)}else{if(!a)throw new Error("try statement without catch or finally");if(this.prev<o.finallyLoc)return r(o.finallyLoc)}}}},abrupt:function(t,e){for(var r=this.tryEntries.length-1;r>=0;--r){var i=this.tryEntries[r];if(i.tryLoc<=this.prev&&n.call(i,"finallyLoc")&&this.prev<i.finallyLoc){var o=i;break}}o&&("break"===t||"continue"===t)&&o.tryLoc<=e&&e<=o.finallyLoc&&(o=null);var s=o?o.completion:{};return s.type=t,s.arg=e,o?(this.method="next",this.next=o.finallyLoc,l):this.complete(s)},complete:function(t,e){if("throw"===t.type)throw t.arg;return"break"===t.type||"continue"===t.type?this.next=t.arg:"return"===t.type?(this.rval=this.arg=t.arg,this.method="return",this.next="end"):"normal"===t.type&&e&&(this.next=e),l},finish:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var n=this.tryEntries[e];if(n.finallyLoc===t)return this.complete(n.completion,n.afterLoc),S(n),l}},catch:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var n=this.tryEntries[e];if(n.tryLoc===t){var r=n.completion;if("throw"===r.type){var i=r.arg;S(n)}return i}}throw new Error("illegal catch attempt")},delegateYield:function(t,e,n){return this.delegate={iterator:E(t),resultName:e,nextLoc:n},"next"===this.method&&(this.arg=void 0),l}},t}(t.exports);try{regeneratorRuntime=e}catch(t){Function("r","regeneratorRuntime = r")(e)}}(n={path:void 0,exports:{},require:function(t,e){return function(){throw new Error("Dynamic requires are not currently supported by @rollup/plugin-commonjs")}(null==e&&n.path)}},n.exports),n.exports}();function f(t,e,n,r,i,o,s){try{var c=t[o](s),a=c.value}catch(t){return void n(t)}c.done?e(a):Promise.resolve(a).then(r,i)}var d=function(t){return function(){var e=this,n=arguments;return new Promise((function(r,i){var o=t.apply(e,n);function s(t){f(o,r,i,s,c,"next",t)}function c(t){f(o,r,i,s,c,"throw",t)}s(void 0)}))}},p=function(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,r=new Array(e);n<e;n++)r[n]=t[n];return r},g=function(t,e){return function(t){if(Array.isArray(t))return t}(t)||function(t,e){if("undefined"!=typeof Symbol&&Symbol.iterator in Object(t)){var n=[],r=!0,i=!1,o=void 0;try{for(var s,c=t[Symbol.iterator]();!(r=(s=c.next()).done)&&(n.push(s.value),!e||n.length!==e);r=!0);}catch(t){i=!0,o=t}finally{try{r||null==c.return||c.return()}finally{if(i)throw o}}return n}}(t,e)||function(t,e){if(t){if("string"==typeof t)return p(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);return"Object"===n&&t.constructor&&(n=t.constructor.name),"Map"===n||"Set"===n?Array.from(t):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?p(t,e):void 0}}(t,e)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()};function y(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,r.key,r)}}var v=function(t,e,n){return e&&y(t.prototype,e),n&&y(t,n),t},m=function(t,e,n){return e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t},b=function(){return!!navigator.permissions},w=function(){return!!navigator.mediaDevices};function x(t,e,n,r,i,o,s){try{var c=t[o](s),a=c.value}catch(t){return void n(t)}c.done?e(a):Promise.resolve(a).then(r,i)}function S(t){return function(){var e=this,n=arguments;return new Promise((function(r,i){var o=t.apply(e,n);function s(t){x(o,r,i,s,c,"next",t)}function c(t){x(o,r,i,s,c,"throw",t)}s(void 0)}))}}function _(t,e){return function(t){if(Array.isArray(t))return t}(t)||function(t,e){if("undefined"!=typeof Symbol&&Symbol.iterator in Object(t)){var n=[],r=!0,i=!1,o=void 0;try{for(var s,c=t[Symbol.iterator]();!(r=(s=c.next()).done)&&(n.push(s.value),!e||n.length!==e);r=!0);}catch(t){i=!0,o=t}finally{try{r||null==c.return||c.return()}finally{if(i)throw o}}return n}}(t,e)||function(t,e){if(t){if("string"==typeof t)return E(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);return"Object"===n&&t.constructor&&(n=t.constructor.name),"Map"===n||"Set"===n?Array.from(t):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?E(t,e):void 0}}(t,e)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function E(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,r=new Array(e);n<e;n++)r[n]=t[n];return r}var L=function(){var t=S(regeneratorRuntime.mark((function t(e){return regeneratorRuntime.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.abrupt("return",new Promise(function(){var t=S(regeneratorRuntime.mark((function t(n,r){var i,o;return regeneratorRuntime.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return b()||r(new DOMException("Navigator API: permissions not supported","NOT_SUPPORTED_ERR")),t.prev=1,t.next=4,navigator.permissions.query({name:e});case 4:i=t.sent,o=function t(e){i.removeEventListener("change",t),M(e.target.state,n,r)},i.addEventListener("change",o),M(i.state,n,r),t.next=13;break;case 10:t.prev=10,t.t0=t.catch(1),r(t.t0);case 13:case"end":return t.stop()}}),t,null,[[1,10]])})));return function(e,n){return t.apply(this,arguments)}}()));case 1:case"end":return t.stop()}}),t)})));return function(e){return t.apply(this,arguments)}}(),M=function(t,e,n){switch(t){case"denied":n(new DOMException("Permission denied","NOT_ALLOWED_ERR"));break;default:e(t)}},O=function(){var t=S(regeneratorRuntime.mark((function t(e,n){return regeneratorRuntime.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.abrupt("return",new Promise(function(){var t=S(regeneratorRuntime.mark((function t(r,i){var o,s,c;return regeneratorRuntime.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return b()&&w()||i(new DOMException("Navigator API: permissions or Navigator API: mediaDevices not supported","NOT_SUPPORTED_ERR")),t.prev=1,t.t0=Promise,t.next=5,L(e);case 5:return t.t1=t.sent,t.next=8,navigator.mediaDevices.getUserMedia(n);case 8:return t.t2=t.sent,t.t3=[t.t1,t.t2],t.next=12,t.t0.all.call(t.t0,t.t3);case 12:o=t.sent,s=_(o,2),c=s[1],r(c),t.next=21;break;case 18:t.prev=18,t.t4=t.catch(1),i(t.t4);case 21:case"end":return t.stop()}}),t,null,[[1,18]])})));return function(e,n){return t.apply(this,arguments)}}()));case 1:case"end":return t.stop()}}),t)})));return function(e,n){return t.apply(this,arguments)}}();function k(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,r)}return n}function j(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{};e%2?k(Object(n),!0).forEach((function(e){m(t,e,n[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):k(Object(n)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))}))}return t}var A=function(){function t(e){var n=this;(function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")})(this,t),m(this,"_instance",null),m(this,"_listeners",null);var r=t._resolveSpeechRecognition();if(!r)throw new DOMException("SpeechRecognition not supported","NOT_SUPPORTED_ERR");this._instance=new r,this._listeners={},Object.entries(j(j({},t.defaultOptions),e||{})).forEach((function(e){var r=g(e,2),i=r[0],o=r[1];if("grammars"===i&&!o){var s=t._resolveSpeechGrammarList();s&&(o=new s)}n._instance[i]=o}))}var e;return v(t,null,[{key:"isSupported",get:function(){return!!t._resolveSpeechRecognition()&&!!b()&&!!w()},set:function(t){throw new Error("You cannot set isSupported directly.")}}]),v(t,[{key:"start",value:(e=d(h.mark((function t(){var e;return h.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(!this._instance){t.next=14;break}return t.prev=1,t.next=4,O("microphone",{audio:!0});case 4:if(t.sent){t.next=7;break}throw new Error("Unable to retrieve the stream from media device");case 7:this._instance.start(),t.next=14;break;case 10:t.prev=10,t.t0=t.catch(1),(e=this._listeners.error)&&e(t.t0);case 14:return t.abrupt("return",this);case 15:case"end":return t.stop()}}),t,this,[[1,10]])}))),function(){return e.apply(this,arguments)})},{key:"stop",value:function(){return this._instance&&this._instance.stop(),this}},{key:"abort",value:function(){return this._instance&&this._instance.abort(),this}},{key:"addEventListener",value:function(e,n){var r=this;if(this._instance&&this._includesEventType(e)){this._listeners[e]&&this.removeEventListener(e);var i=function(i){var o=[];e===t.eventTypes.RESULT&&i.results&&i.results.length>0&&o.push(i.results[0][0].transcript),n&&n.apply(r,[i].concat(o))};this._instance.addEventListener(e,i),this._listeners[e]=i}return this}},{key:"removeEventListener",value:function(t){var e=this._listeners[t];return this._instance.removeEventListener(t,e),delete this._listeners[t],this}},{key:"cleanup",value:function(){var t=this;return this.stop(),Object.keys(this._listeners).forEach((function(e){return t.removeEventListener(e)})),this._instance=null,this}},{key:"_includesEventType",value:function(e){return!!Object.values(t.eventTypes).find((function(t){return t===e}))}},{key:"instance",get:function(){return this._instance},set:function(t){throw new Error("You cannot set instance directly.")}}],[{key:"_resolveSpeechRecognition",value:function(){return window.SpeechRecognition||window.webkitSpeechRecognition||window.mozSpeechRecognition||window.msSpeechRecognition}},{key:"_resolveSpeechGrammarList",value:function(){return window.SpeechGrammarList||window.webkitSpeechGrammarList||window.mozSpeechGrammarList||window.msSpeechGrammarList}}]),t}();m(A,"defaultOptions",{grammars:null,lang:"en-US",continuous:!1,interimResults:!1,maxAlternatives:1,serviceURI:null}),m(A,"eventTypes",{AUDIO_END:"audioend",AUDIO_START:"audiostart",END:"end",ERROR:"error",NO_MATCH:"nomatch",RESULT:"result",SOUND_END:"soundend",SOUND_START:"soundstart",SPEECH_END:"speechend",SPEECH_START:"speechstart",START:"start"});var R=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"en-US",n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,i=e.useRef(null);e.useEffect((function(){if(A.isSupported)return i.current=r||new A({lang:t,grammars:n}),function(){i.current.abort(),i.current.cleanup()}}),[t,n,r]);var o=e.useCallback((function(){i.current&&i.current.start()}),[]),s=e.useCallback((function(){i.current&&i.current.stop()}),[]),c=e.useCallback((function(){i.current&&i.current.abort()}),[]),a=e.useCallback((function(t,e){i.current&&i.current.addEventListener(t,e)}),[]),u=e.useCallback((function(t,e){i.current&&i.current.removeEventListener(t,e)}),[]),l=e.useCallback((function(){i.current&&i.current.cleanup()}),[]);return[i,{start:o,stop:s,abort:c,subscribe:a,unsubscribe:u,clean:l}]};function C(t){return Array.isArray?Array.isArray(t):"[object Array]"===D(t)}function I(t){return"string"==typeof t}function P(t){return"number"==typeof t}function N(t){return!0===t||!1===t||function(t){return T(t)&&null!==t}(t)&&"[object Boolean]"==D(t)}function T(t){return"object"==typeof t}function $(t){return null!=t}function F(t){return!t.trim().length}function D(t){return null==t?void 0===t?"[object Undefined]":"[object Null]":Object.prototype.toString.call(t)}const U=Object.prototype.hasOwnProperty;class G{constructor(t){this._keys=[],this._keyMap={};let e=0;t.forEach((t=>{let n=q(t);e+=n.weight,this._keys.push(n),this._keyMap[n.id]=n,e+=n.weight})),this._keys.forEach((t=>{t.weight/=e}))}get(t){return this._keyMap[t]}keys(){return this._keys}toJSON(){return JSON.stringify(this._keys)}}function q(t){let e=null,n=null,r=null,i=1;if(I(t)||C(t))r=t,e=z(t),n=K(t);else{if(!U.call(t,"name"))throw new Error((t=>`Missing ${t} property in key`)("name"));const o=t.name;if(r=o,U.call(t,"weight")&&(i=t.weight,i<=0))throw new Error((t=>`Property 'weight' in key '${t}' must be a positive integer`)(o));e=z(o),n=K(o)}return{path:e,id:n,weight:i,src:r}}function z(t){return C(t)?t:t.split(".")}function K(t){return C(t)?t.join("."):t}var V={isCaseSensitive:!1,includeScore:!1,keys:[],shouldSort:!0,sortFn:(t,e)=>t.score===e.score?t.idx<e.idx?-1:1:t.score<e.score?-1:1,includeMatches:!1,findAllMatches:!1,minMatchCharLength:1,location:0,threshold:.6,distance:100,...{useExtendedSearch:!1,getFn:function(t,e){let n=[],r=!1;const i=(t,e,o)=>{if($(t))if(e[o]){const s=t[e[o]];if(!$(s))return;if(o===e.length-1&&(I(s)||P(s)||N(s)))n.push(function(t){return null==t?"":function(t){if("string"==typeof t)return t;let e=t+"";return"0"==e&&1/t==-1/0?"-0":e}(t)}(s));else if(C(s)){r=!0;for(let t=0,n=s.length;t<n;t+=1)i(s[t],e,o+1)}else e.length&&i(s,e,o+1)}else n.push(t)};return i(t,I(e)?e.split("."):e,0),r?n:n[0]},ignoreLocation:!1,ignoreFieldNorm:!1}};const W=/[^ ]+/g;class H{constructor({getFn:t=V.getFn}={}){this.norm=function(t=3){const e=new Map,n=Math.pow(10,t);return{get(t){const r=t.match(W).length;if(e.has(r))return e.get(r);const i=1/Math.sqrt(r),o=parseFloat(Math.round(i*n)/n);return e.set(r,o),o},clear(){e.clear()}}}(3),this.getFn=t,this.isCreated=!1,this.setIndexRecords()}setSources(t=[]){this.docs=t}setIndexRecords(t=[]){this.records=t}setKeys(t=[]){this.keys=t,this._keysMap={},t.forEach(((t,e)=>{this._keysMap[t.id]=e}))}create(){!this.isCreated&&this.docs.length&&(this.isCreated=!0,I(this.docs[0])?this.docs.forEach(((t,e)=>{this._addString(t,e)})):this.docs.forEach(((t,e)=>{this._addObject(t,e)})),this.norm.clear())}add(t){const e=this.size();I(t)?this._addString(t,e):this._addObject(t,e)}removeAt(t){this.records.splice(t,1);for(let e=t,n=this.size();e<n;e+=1)this.records[e].i-=1}getValueForItemAtKeyId(t,e){return t[this._keysMap[e]]}size(){return this.records.length}_addString(t,e){if(!$(t)||F(t))return;let n={v:t,i:e,n:this.norm.get(t)};this.records.push(n)}_addObject(t,e){let n={i:e,$:{}};this.keys.forEach(((e,r)=>{let i=this.getFn(t,e.path);if($(i))if(C(i)){let t=[];const e=[{nestedArrIndex:-1,value:i}];for(;e.length;){const{nestedArrIndex:n,value:r}=e.pop();if($(r))if(I(r)&&!F(r)){let e={v:r,i:n,n:this.norm.get(r)};t.push(e)}else C(r)&&r.forEach(((t,n)=>{e.push({nestedArrIndex:n,value:t})}))}n.$[r]=t}else if(!F(i)){let t={v:i,n:this.norm.get(i)};n.$[r]=t}})),this.records.push(n)}toJSON(){return{keys:this.keys,records:this.records}}}function Y(t,e,{getFn:n=V.getFn}={}){const r=new H({getFn:n});return r.setKeys(t.map(q)),r.setSources(e),r.create(),r}function B(t,{errors:e=0,currentLocation:n=0,expectedLocation:r=0,distance:i=V.distance,ignoreLocation:o=V.ignoreLocation}={}){const s=e/t.length;if(o)return s;const c=Math.abs(r-n);return i?s+c/i:c?1:s}const J=32;function Q(t,e,n,{location:r=V.location,distance:i=V.distance,threshold:o=V.threshold,findAllMatches:s=V.findAllMatches,minMatchCharLength:c=V.minMatchCharLength,includeMatches:a=V.includeMatches,ignoreLocation:u=V.ignoreLocation}={}){if(e.length>J)throw new Error(`Pattern length exceeds max of ${J}.`);const l=e.length,h=t.length,f=Math.max(0,Math.min(r,h));let d=o,p=f;const g=c>1||a,y=g?Array(h):[];let v;for(;(v=t.indexOf(e,p))>-1;){let t=B(e,{currentLocation:v,expectedLocation:f,distance:i,ignoreLocation:u});if(d=Math.min(t,d),p=v+l,g){let t=0;for(;t<l;)y[v+t]=1,t+=1}}p=-1;let m=[],b=1,w=l+h;const x=1<<l-1;for(let r=0;r<l;r+=1){let o=0,c=w;for(;o<c;){B(e,{errors:r,currentLocation:f+c,expectedLocation:f,distance:i,ignoreLocation:u})<=d?o=c:w=c,c=Math.floor((w-o)/2+o)}w=c;let a=Math.max(1,f-c+1),v=s?h:Math.min(f+c,h)+l,S=Array(v+2);S[v+1]=(1<<r)-1;for(let o=v;o>=a;o-=1){let s=o-1,c=n[t.charAt(s)];if(g&&(y[s]=+!!c),S[o]=(S[o+1]<<1|1)&c,r&&(S[o]|=(m[o+1]|m[o])<<1|1|m[o+1]),S[o]&x&&(b=B(e,{errors:r,currentLocation:s,expectedLocation:f,distance:i,ignoreLocation:u}),b<=d)){if(d=b,p=s,p<=f)break;a=Math.max(1,2*f-p)}}if(B(e,{errors:r+1,currentLocation:f,expectedLocation:f,distance:i,ignoreLocation:u})>d)break;m=S}const S={isMatch:p>=0,score:Math.max(.001,b)};if(g){const t=function(t=[],e=V.minMatchCharLength){let n=[],r=-1,i=-1,o=0;for(let s=t.length;o<s;o+=1){let s=t[o];s&&-1===r?r=o:s||-1===r||(i=o-1,i-r+1>=e&&n.push([r,i]),r=-1)}return t[o-1]&&o-r>=e&&n.push([r,o-1]),n}(y,c);t.length?a&&(S.indices=t):S.isMatch=!1}return S}function X(t){let e={};for(let n=0,r=t.length;n<r;n+=1){const i=t.charAt(n);e[i]=(e[i]||0)|1<<r-n-1}return e}class Z{constructor(t,{location:e=V.location,threshold:n=V.threshold,distance:r=V.distance,includeMatches:i=V.includeMatches,findAllMatches:o=V.findAllMatches,minMatchCharLength:s=V.minMatchCharLength,isCaseSensitive:c=V.isCaseSensitive,ignoreLocation:a=V.ignoreLocation}={}){if(this.options={location:e,threshold:n,distance:r,includeMatches:i,findAllMatches:o,minMatchCharLength:s,isCaseSensitive:c,ignoreLocation:a},this.pattern=c?t:t.toLowerCase(),this.chunks=[],!this.pattern.length)return;const u=(t,e)=>{this.chunks.push({pattern:t,alphabet:X(t),startIndex:e})},l=this.pattern.length;if(l>J){let t=0;const e=l%J,n=l-e;for(;t<n;)u(this.pattern.substr(t,J),t),t+=J;if(e){const t=l-J;u(this.pattern.substr(t),t)}}else u(this.pattern,0)}searchIn(t){const{isCaseSensitive:e,includeMatches:n}=this.options;if(e||(t=t.toLowerCase()),this.pattern===t){let e={isMatch:!0,score:0};return n&&(e.indices=[[0,t.length-1]]),e}const{location:r,distance:i,threshold:o,findAllMatches:s,minMatchCharLength:c,ignoreLocation:a}=this.options;let u=[],l=0,h=!1;this.chunks.forEach((({pattern:e,alphabet:f,startIndex:d})=>{const{isMatch:p,score:g,indices:y}=Q(t,e,f,{location:r+d,distance:i,threshold:o,findAllMatches:s,minMatchCharLength:c,includeMatches:n,ignoreLocation:a});p&&(h=!0),l+=g,p&&y&&(u=[...u,...y])}));let f={isMatch:h,score:h?l/this.chunks.length:1};return h&&n&&(f.indices=u),f}}class tt{constructor(t){this.pattern=t}static isMultiMatch(t){return et(t,this.multiRegex)}static isSingleMatch(t){return et(t,this.singleRegex)}search(){}}function et(t,e){const n=t.match(e);return n?n[1]:null}class nt extends tt{constructor(t,{location:e=V.location,threshold:n=V.threshold,distance:r=V.distance,includeMatches:i=V.includeMatches,findAllMatches:o=V.findAllMatches,minMatchCharLength:s=V.minMatchCharLength,isCaseSensitive:c=V.isCaseSensitive,ignoreLocation:a=V.ignoreLocation}={}){super(t),this._bitapSearch=new Z(t,{location:e,threshold:n,distance:r,includeMatches:i,findAllMatches:o,minMatchCharLength:s,isCaseSensitive:c,ignoreLocation:a})}static get type(){return"fuzzy"}static get multiRegex(){return/^"(.*)"$/}static get singleRegex(){return/^(.*)$/}search(t){return this._bitapSearch.searchIn(t)}}class rt extends tt{constructor(t){super(t)}static get type(){return"include"}static get multiRegex(){return/^'"(.*)"$/}static get singleRegex(){return/^'(.*)$/}search(t){let e,n=0;const r=[],i=this.pattern.length;for(;(e=t.indexOf(this.pattern,n))>-1;)n=e+i,r.push([e,n-1]);const o=!!r.length;return{isMatch:o,score:o?0:1,indices:r}}}const it=[class extends tt{constructor(t){super(t)}static get type(){return"exact"}static get multiRegex(){return/^="(.*)"$/}static get singleRegex(){return/^=(.*)$/}search(t){const e=t===this.pattern;return{isMatch:e,score:e?0:1,indices:[0,this.pattern.length-1]}}},rt,class extends tt{constructor(t){super(t)}static get type(){return"prefix-exact"}static get multiRegex(){return/^\^"(.*)"$/}static get singleRegex(){return/^\^(.*)$/}search(t){const e=t.startsWith(this.pattern);return{isMatch:e,score:e?0:1,indices:[0,this.pattern.length-1]}}},class extends tt{constructor(t){super(t)}static get type(){return"inverse-prefix-exact"}static get multiRegex(){return/^!\^"(.*)"$/}static get singleRegex(){return/^!\^(.*)$/}search(t){const e=!t.startsWith(this.pattern);return{isMatch:e,score:e?0:1,indices:[0,t.length-1]}}},class extends tt{constructor(t){super(t)}static get type(){return"inverse-suffix-exact"}static get multiRegex(){return/^!"(.*)"\$$/}static get singleRegex(){return/^!(.*)\$$/}search(t){const e=!t.endsWith(this.pattern);return{isMatch:e,score:e?0:1,indices:[0,t.length-1]}}},class extends tt{constructor(t){super(t)}static get type(){return"suffix-exact"}static get multiRegex(){return/^"(.*)"\$$/}static get singleRegex(){return/^(.*)\$$/}search(t){const e=t.endsWith(this.pattern);return{isMatch:e,score:e?0:1,indices:[t.length-this.pattern.length,t.length-1]}}},class extends tt{constructor(t){super(t)}static get type(){return"inverse-exact"}static get multiRegex(){return/^!"(.*)"$/}static get singleRegex(){return/^!(.*)$/}search(t){const e=-1===t.indexOf(this.pattern);return{isMatch:e,score:e?0:1,indices:[0,t.length-1]}}},nt],ot=it.length,st=/ +(?=([^\"]*\"[^\"]*\")*[^\"]*$)/;const ct=new Set([nt.type,rt.type]);class at{constructor(t,{isCaseSensitive:e=V.isCaseSensitive,includeMatches:n=V.includeMatches,minMatchCharLength:r=V.minMatchCharLength,ignoreLocation:i=V.ignoreLocation,findAllMatches:o=V.findAllMatches,location:s=V.location,threshold:c=V.threshold,distance:a=V.distance}={}){this.query=null,this.options={isCaseSensitive:e,includeMatches:n,minMatchCharLength:r,findAllMatches:o,ignoreLocation:i,location:s,threshold:c,distance:a},this.pattern=e?t:t.toLowerCase(),this.query=function(t,e={}){return t.split("|").map((t=>{let n=t.trim().split(st).filter((t=>t&&!!t.trim())),r=[];for(let t=0,i=n.length;t<i;t+=1){const i=n[t];let o=!1,s=-1;for(;!o&&++s<ot;){const t=it[s];let n=t.isMultiMatch(i);n&&(r.push(new t(n,e)),o=!0)}if(!o)for(s=-1;++s<ot;){const t=it[s];let n=t.isSingleMatch(i);if(n){r.push(new t(n,e));break}}}return r}))}(this.pattern,this.options)}static condition(t,e){return e.useExtendedSearch}searchIn(t){const e=this.query;if(!e)return{isMatch:!1,score:1};const{includeMatches:n,isCaseSensitive:r}=this.options;t=r?t:t.toLowerCase();let i=0,o=[],s=0;for(let r=0,c=e.length;r<c;r+=1){const c=e[r];o.length=0,i=0;for(let e=0,r=c.length;e<r;e+=1){const r=c[e],{isMatch:a,indices:u,score:l}=r.search(t);if(!a){s=0,i=0,o.length=0;break}if(i+=1,s+=l,n){const t=r.constructor.type;ct.has(t)?o=[...o,...u]:o.push(u)}}if(i){let t={isMatch:!0,score:s/i};return n&&(t.indices=o),t}}return{isMatch:!1,score:1}}}const ut=[];function lt(t,e){for(let n=0,r=ut.length;n<r;n+=1){let r=ut[n];if(r.condition(t,e))return new r(t,e)}return new Z(t,e)}const ht="$and",ft="$or",dt="$path",pt="$val",gt=t=>!(!t[ht]&&!t[ft]),yt=t=>({[ht]:Object.keys(t).map((e=>({[e]:t[e]})))});function vt(t,e,{auto:n=!0}={}){const r=t=>{let i=Object.keys(t);const o=(t=>!!t[dt])(t);if(!o&&i.length>1&&!gt(t))return r(yt(t));if((t=>!C(t)&&T(t)&&!gt(t))(t)){const r=o?t[dt]:i[0],s=o?t[pt]:t[r];if(!I(s))throw new Error((t=>`Invalid value for key ${t}`)(r));const c={keyId:K(r),pattern:s};return n&&(c.searcher=lt(s,e)),c}let s={children:[],operator:i[0]};return i.forEach((e=>{const n=t[e];C(n)&&n.forEach((t=>{s.children.push(r(t))}))})),s};return gt(t)||(t=yt(t)),r(t)}function mt(t,e){const n=t.matches;e.matches=[],$(n)&&n.forEach((t=>{if(!$(t.indices)||!t.indices.length)return;const{indices:n,value:r}=t;let i={indices:n,value:r};t.key&&(i.key=t.key.src),t.idx>-1&&(i.refIndex=t.idx),e.matches.push(i)}))}function bt(t,e){e.score=t.score}class wt{constructor(t,e={},n){this.options={...V,...e},this.options.useExtendedSearch,this._keyStore=new G(this.options.keys),this.setCollection(t,n)}setCollection(t,e){if(this._docs=t,e&&!(e instanceof H))throw new Error("Incorrect 'index' type");this._myIndex=e||Y(this.options.keys,this._docs,{getFn:this.options.getFn})}add(t){$(t)&&(this._docs.push(t),this._myIndex.add(t))}remove(t=(()=>!1)){const e=[];for(let n=0,r=this._docs.length;n<r;n+=1){const i=this._docs[n];t(i,n)&&(this.removeAt(n),n-=1,r-=1,e.push(i))}return e}removeAt(t){this._docs.splice(t,1),this._myIndex.removeAt(t)}getIndex(){return this._myIndex}search(t,{limit:e=-1}={}){const{includeMatches:n,includeScore:r,shouldSort:i,sortFn:o,ignoreFieldNorm:s}=this.options;let c=I(t)?I(this._docs[0])?this._searchStringList(t):this._searchObjectList(t):this._searchLogical(t);return function(t,{ignoreFieldNorm:e=V.ignoreFieldNorm}){t.forEach((t=>{let n=1;t.matches.forEach((({key:t,norm:r,score:i})=>{const o=t?t.weight:null;n*=Math.pow(0===i&&o?Number.EPSILON:i,(o||1)*(e?1:r))})),t.score=n}))}(c,{ignoreFieldNorm:s}),i&&c.sort(o),P(e)&&e>-1&&(c=c.slice(0,e)),function(t,e,{includeMatches:n=V.includeMatches,includeScore:r=V.includeScore}={}){const i=[];return n&&i.push(mt),r&&i.push(bt),t.map((t=>{const{idx:n}=t,r={item:e[n],refIndex:n};return i.length&&i.forEach((e=>{e(t,r)})),r}))}(c,this._docs,{includeMatches:n,includeScore:r})}_searchStringList(t){const e=lt(t,this.options),{records:n}=this._myIndex,r=[];return n.forEach((({v:t,i:n,n:i})=>{if(!$(t))return;const{isMatch:o,score:s,indices:c}=e.searchIn(t);o&&r.push({item:t,idx:n,matches:[{score:s,value:t,norm:i,indices:c}]})})),r}_searchLogical(t){const e=vt(t,this.options),n=(t,e,r)=>{if(!t.children){const{keyId:n,searcher:i}=t,o=this._findMatches({key:this._keyStore.get(n),value:this._myIndex.getValueForItemAtKeyId(e,n),searcher:i});return o&&o.length?[{idx:r,item:e,matches:o}]:[]}switch(t.operator){case ht:{const i=[];for(let o=0,s=t.children.length;o<s;o+=1){const s=t.children[o],c=n(s,e,r);if(!c.length)return[];i.push(...c)}return i}case ft:{const i=[];for(let o=0,s=t.children.length;o<s;o+=1){const s=t.children[o],c=n(s,e,r);if(c.length){i.push(...c);break}}return i}}},r=this._myIndex.records,i={},o=[];return r.forEach((({$:t,i:r})=>{if($(t)){let s=n(e,t,r);s.length&&(i[r]||(i[r]={idx:r,item:t,matches:[]},o.push(i[r])),s.forEach((({matches:t})=>{i[r].matches.push(...t)})))}})),o}_searchObjectList(t){const e=lt(t,this.options),{keys:n,records:r}=this._myIndex,i=[];return r.forEach((({$:t,i:r})=>{if(!$(t))return;let o=[];n.forEach(((n,r)=>{o.push(...this._findMatches({key:n,value:t[r],searcher:e}))})),o.length&&i.push({idx:r,item:t,matches:o})})),i}_findMatches({key:t,value:e,searcher:n}){if(!$(e))return[];let r=[];if(C(e))e.forEach((({v:e,i:i,n:o})=>{if(!$(e))return;const{isMatch:s,score:c,indices:a}=n.searchIn(e);s&&r.push({score:c,key:t,value:e,idx:i,norm:o,indices:a})}));else{const{v:i,n:o}=e,{isMatch:s,score:c,indices:a}=n.searchIn(i);s&&r.push({score:c,key:t,value:i,norm:o,indices:a})}return r}}wt.version="6.4.6",wt.createIndex=Y,wt.parseIndex=function(t,{getFn:e=V.getFn}={}){const{keys:n,records:r}=t,i=new H({getFn:e});return i.setKeys(n),i.setIndexRecords(r),i},wt.config=V,wt.parseQuery=vt,function(...t){ut.push(...t)}(at);var xt=function(t){var e=t.color,n=t.activeColor,r=t.isActive;return i.default.createElement("svg",{"data-testid":"__icon-root__",xmlns:"http://www.w3.org/2000/svg",width:"100%",height:"100%",viewBox:"0 0 24 24"},i.default.createElement("g",null,i.default.createElement("path",{"data-testid":"__icon-path__",fill:e,d:"M12 14c1.66 0 2.99-1.34 2.99-3L15 5c0-1.66-1.34-3-3-3S9 3.34 9 5v6c0 1.66 1.34 3 3 3zm5.3-3c0 3-2.54 5.1-5.3 5.1S6.7 14 6.7 11H5c0 3.41 2.72 6.23 6 6.72V21h2v-3.28c3.28-.48 6-3.3 6-6.72h-1.7z"}),r&&i.default.createElement("circle",{"data-testid":"__icon-active__",fill:n,cx:"16",cy:"4",r:"4"})))};xt.propTypes={color:o.default.string,activeColor:o.default.string,isActive:o.default.bool},xt.defaultProps={color:"black",activeColor:"red",isActive:!1};var St=function(t){var n=t.children,r=t.commands,o=t.lang,c=t.grammars,l=t.timeout,h=t.ariaLabel,f=t.style,d=t.className,p=t.outlineStyle,g=t.onStart,y=t.onEnd,v=t.onSpeechStart,m=t.onSpeechEnd,b=t.onResult,w=t.onError,x=t.onNoMatch,S=t.__rsInstance,_=e.useRef(null),E=u(e.useState(!1),2),L=E[0],M=E[1],O=u(R(o,c,S),2)[1],k=O.start,j=O.stop,C=O.subscribe,I=O.unsubscribe,P=function(t){var e,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:.4;return t=t?null===(e=Object.entries(t))||void 0===e?void 0:e.reduce((function(t,e){var n=u(e,2),r=n[0],i=n[1];return s({},r.toLowerCase(),i)}),{}):{},function(e){var r=new wt(Object.keys(t),{includeScore:!0,ignoreLocation:!0}).search(e).filter((function(t){return t.score<n}));if(null!=r&&r.length){var i,o,s=r[0].item.toLowerCase();return null===(i=(o=t)[s])||void 0===i?void 0:i.call(o,e)}return null}}(r),N=function t(e){F(),U(),I("start",K),I("end",t),I("speechstart",V),I("speechend",W),I("result",H),I("error",Y),I("nomatch",B),y&&y(e)},T=u(function(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,r=e.useRef(-1),i=e.useCallback((function(){clearTimeout(r.current),r.current=-1}),[]),o=e.useCallback((function(){i(),r.current=setTimeout(t,n)}),[t,n,i]);return e.useEffect((function(){return i}),[i]),[o,i]}(N,l),2),$=T[0],F=T[1],D=function(){try{M(!0),C("start",K),C("end",N),C("speechstart",V),C("speechend",W),C("result",H),C("error",Y),C("nomatch",B),k()}catch(t){Y(t)}},U=function(){try{M(!1),j()}catch(t){w&&w(t)}},G=function(){D()},q=function(){!d&&p&&(_.current.style.outline=p)},z=function(){!d&&p&&(_.current.style.outline="none")},K=function(t){$(),g&&g(t)},V=function(t){F(),v&&v(t)},W=function(t){$(),m&&m(t)},H=function(t,e){F(),U(),P(e),b&&b(e,t)},Y=function(t){U(),w&&w(t)},B=function(t){F(),U(),x&&x(t)};return function(t){return A.isSupported?function(t){return"function"==typeof t}(t)?t(D,U,L):e.isValidElement(t)?e.cloneElement(t,a({},!L&&{onClick:G})):i.default.createElement("button",{"data-testid":"__vocal-root__",ref:_,role:"button","aria-label":h,style:d?null:a({width:24,height:24,background:"none",border:"none",padding:0,cursor:L?"default":"pointer"},f),className:d,onFocus:q,onBlur:z,onClick:G},i.default.createElement(xt,{isActive:L,iconColor:"#aaa"})):null}(n)};St.propTypes={commands:o.default.objectOf(o.default.func),lang:o.default.string,grammars:o.default.object,timeout:o.default.number,ariaLabel:o.default.string,style:o.default.object,className:o.default.string,outlineStyle:o.default.string,onStart:o.default.func,onEnd:o.default.func,onSpeechStart:o.default.func,onSpeechEnd:o.default.func,onResult:o.default.func,onError:o.default.func,onNoMatch:o.default.func},St.defaultProps={commands:null,lang:"en-US",grammars:null,timeout:3e3,ariaLabel:"start recognition",style:null,className:null,outlineStyle:"2px solid",onStart:null,onEnd:null,onSpeechStart:null,onSpeechEnd:null,onResult:null,onError:null,onNoMatch:null};var _t=A.isSupported;t.default=St,t.isSupported=_t,t.useVocal=R,Object.defineProperty(t,"__esModule",{value:!0})}));
|
|
2
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXgudW1kLmpzIiwic291cmNlcyI6WyIuLi9ub2RlX21vZHVsZXMvQHVudGVtcHMvdm9jYWwvZGlzdC9pbmRleC5lcy5qcyIsIi4uL25vZGVfbW9kdWxlcy9AdW50ZW1wcy91dGlscy9kaXN0L2VzbS9mdW5jdGlvbi9pc0Z1bmN0aW9uLm1qcyIsIi4uL3NyYy9ob29rcy91c2VWb2NhbC5qcyIsIi4uL25vZGVfbW9kdWxlcy9mdXNlLmpzL2Rpc3QvZnVzZS5lc20uanMiLCIuLi9zcmMvaG9va3MvdXNlQ29tbWFuZHMuanMiLCIuLi9zcmMvY29tcG9uZW50cy9JY29uLmpzIiwiLi4vc3JjL2NvbXBvbmVudHMvVm9jYWwuanMiLCIuLi9zcmMvaG9va3MvdXNlVGltZW91dC5qcyIsIi4uL3NyYy9pbmRleC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJ2YXIgdD1mdW5jdGlvbih0LGUscil7cmV0dXJuIHQocj17cGF0aDplLGV4cG9ydHM6e30scmVxdWlyZTpmdW5jdGlvbih0LGUpe3JldHVybiBmdW5jdGlvbigpe3Rocm93IG5ldyBFcnJvcihcIkR5bmFtaWMgcmVxdWlyZXMgYXJlIG5vdCBjdXJyZW50bHkgc3VwcG9ydGVkIGJ5IEByb2xsdXAvcGx1Z2luLWNvbW1vbmpzXCIpfShudWxsPT1lJiZyLnBhdGgpfX0sci5leHBvcnRzKSxyLmV4cG9ydHN9KChmdW5jdGlvbih0KXt2YXIgZT1mdW5jdGlvbih0KXt2YXIgZT1PYmplY3QucHJvdG90eXBlLHI9ZS5oYXNPd25Qcm9wZXJ0eSxuPVwiZnVuY3Rpb25cIj09dHlwZW9mIFN5bWJvbD9TeW1ib2w6e30sbz1uLml0ZXJhdG9yfHxcIkBAaXRlcmF0b3JcIixpPW4uYXN5bmNJdGVyYXRvcnx8XCJAQGFzeW5jSXRlcmF0b3JcIixhPW4udG9TdHJpbmdUYWd8fFwiQEB0b1N0cmluZ1RhZ1wiO2Z1bmN0aW9uIGModCxlLHIpe3JldHVybiBPYmplY3QuZGVmaW5lUHJvcGVydHkodCxlLHt2YWx1ZTpyLGVudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwfSksdFtlXX10cnl7Yyh7fSxcIlwiKX1jYXRjaCh0KXtjPWZ1bmN0aW9uKHQsZSxyKXtyZXR1cm4gdFtlXT1yfX1mdW5jdGlvbiB1KHQsZSxyLG4pe3ZhciBvPWUmJmUucHJvdG90eXBlIGluc3RhbmNlb2YgZj9lOmYsaT1PYmplY3QuY3JlYXRlKG8ucHJvdG90eXBlKSxhPW5ldyBfKG58fFtdKTtyZXR1cm4gaS5faW52b2tlPWZ1bmN0aW9uKHQsZSxyKXt2YXIgbj1cInN1c3BlbmRlZFN0YXJ0XCI7cmV0dXJuIGZ1bmN0aW9uKG8saSl7aWYoXCJleGVjdXRpbmdcIj09PW4pdGhyb3cgbmV3IEVycm9yKFwiR2VuZXJhdG9yIGlzIGFscmVhZHkgcnVubmluZ1wiKTtpZihcImNvbXBsZXRlZFwiPT09bil7aWYoXCJ0aHJvd1wiPT09byl0aHJvdyBpO3JldHVybiBTKCl9Zm9yKHIubWV0aG9kPW8sci5hcmc9aTs7KXt2YXIgYT1yLmRlbGVnYXRlO2lmKGEpe3ZhciBjPWIoYSxyKTtpZihjKXtpZihjPT09bCljb250aW51ZTtyZXR1cm4gY319aWYoXCJuZXh0XCI9PT1yLm1ldGhvZClyLnNlbnQ9ci5fc2VudD1yLmFyZztlbHNlIGlmKFwidGhyb3dcIj09PXIubWV0aG9kKXtpZihcInN1c3BlbmRlZFN0YXJ0XCI9PT1uKXRocm93IG49XCJjb21wbGV0ZWRcIixyLmFyZztyLmRpc3BhdGNoRXhjZXB0aW9uKHIuYXJnKX1lbHNlXCJyZXR1cm5cIj09PXIubWV0aG9kJiZyLmFicnVwdChcInJldHVyblwiLHIuYXJnKTtuPVwiZXhlY3V0aW5nXCI7dmFyIHU9cyh0LGUscik7aWYoXCJub3JtYWxcIj09PXUudHlwZSl7aWYobj1yLmRvbmU/XCJjb21wbGV0ZWRcIjpcInN1c3BlbmRlZFlpZWxkXCIsdS5hcmc9PT1sKWNvbnRpbnVlO3JldHVybnt2YWx1ZTp1LmFyZyxkb25lOnIuZG9uZX19XCJ0aHJvd1wiPT09dS50eXBlJiYobj1cImNvbXBsZXRlZFwiLHIubWV0aG9kPVwidGhyb3dcIixyLmFyZz11LmFyZyl9fX0odCxyLGEpLGl9ZnVuY3Rpb24gcyh0LGUscil7dHJ5e3JldHVybnt0eXBlOlwibm9ybWFsXCIsYXJnOnQuY2FsbChlLHIpfX1jYXRjaCh0KXtyZXR1cm57dHlwZTpcInRocm93XCIsYXJnOnR9fX10LndyYXA9dTt2YXIgbD17fTtmdW5jdGlvbiBmKCl7fWZ1bmN0aW9uIGgoKXt9ZnVuY3Rpb24gcCgpe312YXIgdj17fTt2W29dPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXN9O3ZhciB5PU9iamVjdC5nZXRQcm90b3R5cGVPZixkPXkmJnkoeSh4KFtdKSkpO2QmJmQhPT1lJiZyLmNhbGwoZCxvKSYmKHY9ZCk7dmFyIG09cC5wcm90b3R5cGU9Zi5wcm90b3R5cGU9T2JqZWN0LmNyZWF0ZSh2KTtmdW5jdGlvbiBnKHQpe1tcIm5leHRcIixcInRocm93XCIsXCJyZXR1cm5cIl0uZm9yRWFjaCgoZnVuY3Rpb24oZSl7Yyh0LGUsKGZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLl9pbnZva2UoZSx0KX0pKX0pKX1mdW5jdGlvbiB3KHQsZSl7dmFyIG47dGhpcy5faW52b2tlPWZ1bmN0aW9uKG8saSl7ZnVuY3Rpb24gYSgpe3JldHVybiBuZXcgZSgoZnVuY3Rpb24obixhKXshZnVuY3Rpb24gbihvLGksYSxjKXt2YXIgdT1zKHRbb10sdCxpKTtpZihcInRocm93XCIhPT11LnR5cGUpe3ZhciBsPXUuYXJnLGY9bC52YWx1ZTtyZXR1cm4gZiYmXCJvYmplY3RcIj09dHlwZW9mIGYmJnIuY2FsbChmLFwiX19hd2FpdFwiKT9lLnJlc29sdmUoZi5fX2F3YWl0KS50aGVuKChmdW5jdGlvbih0KXtuKFwibmV4dFwiLHQsYSxjKX0pLChmdW5jdGlvbih0KXtuKFwidGhyb3dcIix0LGEsYyl9KSk6ZS5yZXNvbHZlKGYpLnRoZW4oKGZ1bmN0aW9uKHQpe2wudmFsdWU9dCxhKGwpfSksKGZ1bmN0aW9uKHQpe3JldHVybiBuKFwidGhyb3dcIix0LGEsYyl9KSl9Yyh1LmFyZyl9KG8saSxuLGEpfSkpfXJldHVybiBuPW4/bi50aGVuKGEsYSk6YSgpfX1mdW5jdGlvbiBiKHQsZSl7dmFyIHI9dC5pdGVyYXRvcltlLm1ldGhvZF07aWYodm9pZCAwPT09cil7aWYoZS5kZWxlZ2F0ZT1udWxsLFwidGhyb3dcIj09PWUubWV0aG9kKXtpZih0Lml0ZXJhdG9yLnJldHVybiYmKGUubWV0aG9kPVwicmV0dXJuXCIsZS5hcmc9dm9pZCAwLGIodCxlKSxcInRocm93XCI9PT1lLm1ldGhvZCkpcmV0dXJuIGw7ZS5tZXRob2Q9XCJ0aHJvd1wiLGUuYXJnPW5ldyBUeXBlRXJyb3IoXCJUaGUgaXRlcmF0b3IgZG9lcyBub3QgcHJvdmlkZSBhICd0aHJvdycgbWV0aG9kXCIpfXJldHVybiBsfXZhciBuPXMocix0Lml0ZXJhdG9yLGUuYXJnKTtpZihcInRocm93XCI9PT1uLnR5cGUpcmV0dXJuIGUubWV0aG9kPVwidGhyb3dcIixlLmFyZz1uLmFyZyxlLmRlbGVnYXRlPW51bGwsbDt2YXIgbz1uLmFyZztyZXR1cm4gbz9vLmRvbmU/KGVbdC5yZXN1bHROYW1lXT1vLnZhbHVlLGUubmV4dD10Lm5leHRMb2MsXCJyZXR1cm5cIiE9PWUubWV0aG9kJiYoZS5tZXRob2Q9XCJuZXh0XCIsZS5hcmc9dm9pZCAwKSxlLmRlbGVnYXRlPW51bGwsbCk6bzooZS5tZXRob2Q9XCJ0aHJvd1wiLGUuYXJnPW5ldyBUeXBlRXJyb3IoXCJpdGVyYXRvciByZXN1bHQgaXMgbm90IGFuIG9iamVjdFwiKSxlLmRlbGVnYXRlPW51bGwsbCl9ZnVuY3Rpb24gRSh0KXt2YXIgZT17dHJ5TG9jOnRbMF19OzEgaW4gdCYmKGUuY2F0Y2hMb2M9dFsxXSksMiBpbiB0JiYoZS5maW5hbGx5TG9jPXRbMl0sZS5hZnRlckxvYz10WzNdKSx0aGlzLnRyeUVudHJpZXMucHVzaChlKX1mdW5jdGlvbiBPKHQpe3ZhciBlPXQuY29tcGxldGlvbnx8e307ZS50eXBlPVwibm9ybWFsXCIsZGVsZXRlIGUuYXJnLHQuY29tcGxldGlvbj1lfWZ1bmN0aW9uIF8odCl7dGhpcy50cnlFbnRyaWVzPVt7dHJ5TG9jOlwicm9vdFwifV0sdC5mb3JFYWNoKEUsdGhpcyksdGhpcy5yZXNldCghMCl9ZnVuY3Rpb24geCh0KXtpZih0KXt2YXIgZT10W29dO2lmKGUpcmV0dXJuIGUuY2FsbCh0KTtpZihcImZ1bmN0aW9uXCI9PXR5cGVvZiB0Lm5leHQpcmV0dXJuIHQ7aWYoIWlzTmFOKHQubGVuZ3RoKSl7dmFyIG49LTEsaT1mdW5jdGlvbiBlKCl7Zm9yKDsrK248dC5sZW5ndGg7KWlmKHIuY2FsbCh0LG4pKXJldHVybiBlLnZhbHVlPXRbbl0sZS5kb25lPSExLGU7cmV0dXJuIGUudmFsdWU9dm9pZCAwLGUuZG9uZT0hMCxlfTtyZXR1cm4gaS5uZXh0PWl9fXJldHVybntuZXh0OlN9fWZ1bmN0aW9uIFMoKXtyZXR1cm57dmFsdWU6dm9pZCAwLGRvbmU6ITB9fXJldHVybiBoLnByb3RvdHlwZT1tLmNvbnN0cnVjdG9yPXAscC5jb25zdHJ1Y3Rvcj1oLGguZGlzcGxheU5hbWU9YyhwLGEsXCJHZW5lcmF0b3JGdW5jdGlvblwiKSx0LmlzR2VuZXJhdG9yRnVuY3Rpb249ZnVuY3Rpb24odCl7dmFyIGU9XCJmdW5jdGlvblwiPT10eXBlb2YgdCYmdC5jb25zdHJ1Y3RvcjtyZXR1cm4hIWUmJihlPT09aHx8XCJHZW5lcmF0b3JGdW5jdGlvblwiPT09KGUuZGlzcGxheU5hbWV8fGUubmFtZSkpfSx0Lm1hcms9ZnVuY3Rpb24odCl7cmV0dXJuIE9iamVjdC5zZXRQcm90b3R5cGVPZj9PYmplY3Quc2V0UHJvdG90eXBlT2YodCxwKToodC5fX3Byb3RvX189cCxjKHQsYSxcIkdlbmVyYXRvckZ1bmN0aW9uXCIpKSx0LnByb3RvdHlwZT1PYmplY3QuY3JlYXRlKG0pLHR9LHQuYXdyYXA9ZnVuY3Rpb24odCl7cmV0dXJue19fYXdhaXQ6dH19LGcody5wcm90b3R5cGUpLHcucHJvdG90eXBlW2ldPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXN9LHQuQXN5bmNJdGVyYXRvcj13LHQuYXN5bmM9ZnVuY3Rpb24oZSxyLG4sbyxpKXt2b2lkIDA9PT1pJiYoaT1Qcm9taXNlKTt2YXIgYT1uZXcgdyh1KGUscixuLG8pLGkpO3JldHVybiB0LmlzR2VuZXJhdG9yRnVuY3Rpb24ocik/YTphLm5leHQoKS50aGVuKChmdW5jdGlvbih0KXtyZXR1cm4gdC5kb25lP3QudmFsdWU6YS5uZXh0KCl9KSl9LGcobSksYyhtLGEsXCJHZW5lcmF0b3JcIiksbVtvXT1mdW5jdGlvbigpe3JldHVybiB0aGlzfSxtLnRvU3RyaW5nPWZ1bmN0aW9uKCl7cmV0dXJuXCJbb2JqZWN0IEdlbmVyYXRvcl1cIn0sdC5rZXlzPWZ1bmN0aW9uKHQpe3ZhciBlPVtdO2Zvcih2YXIgciBpbiB0KWUucHVzaChyKTtyZXR1cm4gZS5yZXZlcnNlKCksZnVuY3Rpb24gcigpe2Zvcig7ZS5sZW5ndGg7KXt2YXIgbj1lLnBvcCgpO2lmKG4gaW4gdClyZXR1cm4gci52YWx1ZT1uLHIuZG9uZT0hMSxyfXJldHVybiByLmRvbmU9ITAscn19LHQudmFsdWVzPXgsXy5wcm90b3R5cGU9e2NvbnN0cnVjdG9yOl8scmVzZXQ6ZnVuY3Rpb24odCl7aWYodGhpcy5wcmV2PTAsdGhpcy5uZXh0PTAsdGhpcy5zZW50PXRoaXMuX3NlbnQ9dm9pZCAwLHRoaXMuZG9uZT0hMSx0aGlzLmRlbGVnYXRlPW51bGwsdGhpcy5tZXRob2Q9XCJuZXh0XCIsdGhpcy5hcmc9dm9pZCAwLHRoaXMudHJ5RW50cmllcy5mb3JFYWNoKE8pLCF0KWZvcih2YXIgZSBpbiB0aGlzKVwidFwiPT09ZS5jaGFyQXQoMCkmJnIuY2FsbCh0aGlzLGUpJiYhaXNOYU4oK2Uuc2xpY2UoMSkpJiYodGhpc1tlXT12b2lkIDApfSxzdG9wOmZ1bmN0aW9uKCl7dGhpcy5kb25lPSEwO3ZhciB0PXRoaXMudHJ5RW50cmllc1swXS5jb21wbGV0aW9uO2lmKFwidGhyb3dcIj09PXQudHlwZSl0aHJvdyB0LmFyZztyZXR1cm4gdGhpcy5ydmFsfSxkaXNwYXRjaEV4Y2VwdGlvbjpmdW5jdGlvbih0KXtpZih0aGlzLmRvbmUpdGhyb3cgdDt2YXIgZT10aGlzO2Z1bmN0aW9uIG4ocixuKXtyZXR1cm4gYS50eXBlPVwidGhyb3dcIixhLmFyZz10LGUubmV4dD1yLG4mJihlLm1ldGhvZD1cIm5leHRcIixlLmFyZz12b2lkIDApLCEhbn1mb3IodmFyIG89dGhpcy50cnlFbnRyaWVzLmxlbmd0aC0xO28+PTA7LS1vKXt2YXIgaT10aGlzLnRyeUVudHJpZXNbb10sYT1pLmNvbXBsZXRpb247aWYoXCJyb290XCI9PT1pLnRyeUxvYylyZXR1cm4gbihcImVuZFwiKTtpZihpLnRyeUxvYzw9dGhpcy5wcmV2KXt2YXIgYz1yLmNhbGwoaSxcImNhdGNoTG9jXCIpLHU9ci5jYWxsKGksXCJmaW5hbGx5TG9jXCIpO2lmKGMmJnUpe2lmKHRoaXMucHJldjxpLmNhdGNoTG9jKXJldHVybiBuKGkuY2F0Y2hMb2MsITApO2lmKHRoaXMucHJldjxpLmZpbmFsbHlMb2MpcmV0dXJuIG4oaS5maW5hbGx5TG9jKX1lbHNlIGlmKGMpe2lmKHRoaXMucHJldjxpLmNhdGNoTG9jKXJldHVybiBuKGkuY2F0Y2hMb2MsITApfWVsc2V7aWYoIXUpdGhyb3cgbmV3IEVycm9yKFwidHJ5IHN0YXRlbWVudCB3aXRob3V0IGNhdGNoIG9yIGZpbmFsbHlcIik7aWYodGhpcy5wcmV2PGkuZmluYWxseUxvYylyZXR1cm4gbihpLmZpbmFsbHlMb2MpfX19fSxhYnJ1cHQ6ZnVuY3Rpb24odCxlKXtmb3IodmFyIG49dGhpcy50cnlFbnRyaWVzLmxlbmd0aC0xO24+PTA7LS1uKXt2YXIgbz10aGlzLnRyeUVudHJpZXNbbl07aWYoby50cnlMb2M8PXRoaXMucHJldiYmci5jYWxsKG8sXCJmaW5hbGx5TG9jXCIpJiZ0aGlzLnByZXY8by5maW5hbGx5TG9jKXt2YXIgaT1vO2JyZWFrfX1pJiYoXCJicmVha1wiPT09dHx8XCJjb250aW51ZVwiPT09dCkmJmkudHJ5TG9jPD1lJiZlPD1pLmZpbmFsbHlMb2MmJihpPW51bGwpO3ZhciBhPWk/aS5jb21wbGV0aW9uOnt9O3JldHVybiBhLnR5cGU9dCxhLmFyZz1lLGk/KHRoaXMubWV0aG9kPVwibmV4dFwiLHRoaXMubmV4dD1pLmZpbmFsbHlMb2MsbCk6dGhpcy5jb21wbGV0ZShhKX0sY29tcGxldGU6ZnVuY3Rpb24odCxlKXtpZihcInRocm93XCI9PT10LnR5cGUpdGhyb3cgdC5hcmc7cmV0dXJuXCJicmVha1wiPT09dC50eXBlfHxcImNvbnRpbnVlXCI9PT10LnR5cGU/dGhpcy5uZXh0PXQuYXJnOlwicmV0dXJuXCI9PT10LnR5cGU/KHRoaXMucnZhbD10aGlzLmFyZz10LmFyZyx0aGlzLm1ldGhvZD1cInJldHVyblwiLHRoaXMubmV4dD1cImVuZFwiKTpcIm5vcm1hbFwiPT09dC50eXBlJiZlJiYodGhpcy5uZXh0PWUpLGx9LGZpbmlzaDpmdW5jdGlvbih0KXtmb3IodmFyIGU9dGhpcy50cnlFbnRyaWVzLmxlbmd0aC0xO2U+PTA7LS1lKXt2YXIgcj10aGlzLnRyeUVudHJpZXNbZV07aWYoci5maW5hbGx5TG9jPT09dClyZXR1cm4gdGhpcy5jb21wbGV0ZShyLmNvbXBsZXRpb24sci5hZnRlckxvYyksTyhyKSxsfX0sY2F0Y2g6ZnVuY3Rpb24odCl7Zm9yKHZhciBlPXRoaXMudHJ5RW50cmllcy5sZW5ndGgtMTtlPj0wOy0tZSl7dmFyIHI9dGhpcy50cnlFbnRyaWVzW2VdO2lmKHIudHJ5TG9jPT09dCl7dmFyIG49ci5jb21wbGV0aW9uO2lmKFwidGhyb3dcIj09PW4udHlwZSl7dmFyIG89bi5hcmc7TyhyKX1yZXR1cm4gb319dGhyb3cgbmV3IEVycm9yKFwiaWxsZWdhbCBjYXRjaCBhdHRlbXB0XCIpfSxkZWxlZ2F0ZVlpZWxkOmZ1bmN0aW9uKHQsZSxyKXtyZXR1cm4gdGhpcy5kZWxlZ2F0ZT17aXRlcmF0b3I6eCh0KSxyZXN1bHROYW1lOmUsbmV4dExvYzpyfSxcIm5leHRcIj09PXRoaXMubWV0aG9kJiYodGhpcy5hcmc9dm9pZCAwKSxsfX0sdH0odC5leHBvcnRzKTt0cnl7cmVnZW5lcmF0b3JSdW50aW1lPWV9Y2F0Y2godCl7RnVuY3Rpb24oXCJyXCIsXCJyZWdlbmVyYXRvclJ1bnRpbWUgPSByXCIpKGUpfX0pKTtmdW5jdGlvbiBlKHQsZSxyLG4sbyxpLGEpe3RyeXt2YXIgYz10W2ldKGEpLHU9Yy52YWx1ZX1jYXRjaCh0KXtyZXR1cm4gdm9pZCByKHQpfWMuZG9uZT9lKHUpOlByb21pc2UucmVzb2x2ZSh1KS50aGVuKG4sbyl9dmFyIHI9ZnVuY3Rpb24odCl7cmV0dXJuIGZ1bmN0aW9uKCl7dmFyIHI9dGhpcyxuPWFyZ3VtZW50cztyZXR1cm4gbmV3IFByb21pc2UoKGZ1bmN0aW9uKG8saSl7dmFyIGE9dC5hcHBseShyLG4pO2Z1bmN0aW9uIGModCl7ZShhLG8saSxjLHUsXCJuZXh0XCIsdCl9ZnVuY3Rpb24gdSh0KXtlKGEsbyxpLGMsdSxcInRocm93XCIsdCl9Yyh2b2lkIDApfSkpfX07dmFyIG49ZnVuY3Rpb24odCl7aWYoQXJyYXkuaXNBcnJheSh0KSlyZXR1cm4gdH07dmFyIG89ZnVuY3Rpb24odCxlKXtpZihcInVuZGVmaW5lZFwiIT10eXBlb2YgU3ltYm9sJiZTeW1ib2wuaXRlcmF0b3IgaW4gT2JqZWN0KHQpKXt2YXIgcj1bXSxuPSEwLG89ITEsaT12b2lkIDA7dHJ5e2Zvcih2YXIgYSxjPXRbU3ltYm9sLml0ZXJhdG9yXSgpOyEobj0oYT1jLm5leHQoKSkuZG9uZSkmJihyLnB1c2goYS52YWx1ZSksIWV8fHIubGVuZ3RoIT09ZSk7bj0hMCk7fWNhdGNoKHQpe289ITAsaT10fWZpbmFsbHl7dHJ5e258fG51bGw9PWMucmV0dXJufHxjLnJldHVybigpfWZpbmFsbHl7aWYobyl0aHJvdyBpfX1yZXR1cm4gcn19O3ZhciBpPWZ1bmN0aW9uKHQsZSl7KG51bGw9PWV8fGU+dC5sZW5ndGgpJiYoZT10Lmxlbmd0aCk7Zm9yKHZhciByPTAsbj1uZXcgQXJyYXkoZSk7cjxlO3IrKyluW3JdPXRbcl07cmV0dXJuIG59O3ZhciBhPWZ1bmN0aW9uKHQsZSl7aWYodCl7aWYoXCJzdHJpbmdcIj09dHlwZW9mIHQpcmV0dXJuIGkodCxlKTt2YXIgcj1PYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwodCkuc2xpY2UoOCwtMSk7cmV0dXJuXCJPYmplY3RcIj09PXImJnQuY29uc3RydWN0b3ImJihyPXQuY29uc3RydWN0b3IubmFtZSksXCJNYXBcIj09PXJ8fFwiU2V0XCI9PT1yP0FycmF5LmZyb20odCk6XCJBcmd1bWVudHNcIj09PXJ8fC9eKD86VWl8SSludCg/Ojh8MTZ8MzIpKD86Q2xhbXBlZCk/QXJyYXkkLy50ZXN0KHIpP2kodCxlKTp2b2lkIDB9fTt2YXIgYz1mdW5jdGlvbigpe3Rocm93IG5ldyBUeXBlRXJyb3IoXCJJbnZhbGlkIGF0dGVtcHQgdG8gZGVzdHJ1Y3R1cmUgbm9uLWl0ZXJhYmxlIGluc3RhbmNlLlxcbkluIG9yZGVyIHRvIGJlIGl0ZXJhYmxlLCBub24tYXJyYXkgb2JqZWN0cyBtdXN0IGhhdmUgYSBbU3ltYm9sLml0ZXJhdG9yXSgpIG1ldGhvZC5cIil9O3ZhciB1PWZ1bmN0aW9uKHQsZSl7cmV0dXJuIG4odCl8fG8odCxlKXx8YSh0LGUpfHxjKCl9O3ZhciBzPWZ1bmN0aW9uKHQsZSl7aWYoISh0IGluc3RhbmNlb2YgZSkpdGhyb3cgbmV3IFR5cGVFcnJvcihcIkNhbm5vdCBjYWxsIGEgY2xhc3MgYXMgYSBmdW5jdGlvblwiKX07ZnVuY3Rpb24gbCh0LGUpe2Zvcih2YXIgcj0wO3I8ZS5sZW5ndGg7cisrKXt2YXIgbj1lW3JdO24uZW51bWVyYWJsZT1uLmVudW1lcmFibGV8fCExLG4uY29uZmlndXJhYmxlPSEwLFwidmFsdWVcImluIG4mJihuLndyaXRhYmxlPSEwKSxPYmplY3QuZGVmaW5lUHJvcGVydHkodCxuLmtleSxuKX19dmFyIGY9ZnVuY3Rpb24odCxlLHIpe3JldHVybiBlJiZsKHQucHJvdG90eXBlLGUpLHImJmwodCxyKSx0fTt2YXIgaD1mdW5jdGlvbih0LGUscil7cmV0dXJuIGUgaW4gdD9PYmplY3QuZGVmaW5lUHJvcGVydHkodCxlLHt2YWx1ZTpyLGVudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwfSk6dFtlXT1yLHR9LHA9ZnVuY3Rpb24oKXtyZXR1cm4hIW5hdmlnYXRvci5wZXJtaXNzaW9uc30sdj1mdW5jdGlvbigpe3JldHVybiEhbmF2aWdhdG9yLm1lZGlhRGV2aWNlc307ZnVuY3Rpb24geSh0LGUscixuLG8saSxhKXt0cnl7dmFyIGM9dFtpXShhKSx1PWMudmFsdWV9Y2F0Y2godCl7cmV0dXJuIHZvaWQgcih0KX1jLmRvbmU/ZSh1KTpQcm9taXNlLnJlc29sdmUodSkudGhlbihuLG8pfWZ1bmN0aW9uIGQodCl7cmV0dXJuIGZ1bmN0aW9uKCl7dmFyIGU9dGhpcyxyPWFyZ3VtZW50cztyZXR1cm4gbmV3IFByb21pc2UoKGZ1bmN0aW9uKG4sbyl7dmFyIGk9dC5hcHBseShlLHIpO2Z1bmN0aW9uIGEodCl7eShpLG4sbyxhLGMsXCJuZXh0XCIsdCl9ZnVuY3Rpb24gYyh0KXt5KGksbixvLGEsYyxcInRocm93XCIsdCl9YSh2b2lkIDApfSkpfX1mdW5jdGlvbiBtKHQsZSl7cmV0dXJuIGZ1bmN0aW9uKHQpe2lmKEFycmF5LmlzQXJyYXkodCkpcmV0dXJuIHR9KHQpfHxmdW5jdGlvbih0LGUpe2lmKFwidW5kZWZpbmVkXCIhPXR5cGVvZiBTeW1ib2wmJlN5bWJvbC5pdGVyYXRvciBpbiBPYmplY3QodCkpe3ZhciByPVtdLG49ITAsbz0hMSxpPXZvaWQgMDt0cnl7Zm9yKHZhciBhLGM9dFtTeW1ib2wuaXRlcmF0b3JdKCk7IShuPShhPWMubmV4dCgpKS5kb25lKSYmKHIucHVzaChhLnZhbHVlKSwhZXx8ci5sZW5ndGghPT1lKTtuPSEwKTt9Y2F0Y2godCl7bz0hMCxpPXR9ZmluYWxseXt0cnl7bnx8bnVsbD09Yy5yZXR1cm58fGMucmV0dXJuKCl9ZmluYWxseXtpZihvKXRocm93IGl9fXJldHVybiByfX0odCxlKXx8ZnVuY3Rpb24odCxlKXtpZih0KXtpZihcInN0cmluZ1wiPT10eXBlb2YgdClyZXR1cm4gZyh0LGUpO3ZhciByPU9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbCh0KS5zbGljZSg4LC0xKTtyZXR1cm5cIk9iamVjdFwiPT09ciYmdC5jb25zdHJ1Y3RvciYmKHI9dC5jb25zdHJ1Y3Rvci5uYW1lKSxcIk1hcFwiPT09cnx8XCJTZXRcIj09PXI/QXJyYXkuZnJvbSh0KTpcIkFyZ3VtZW50c1wiPT09cnx8L14oPzpVaXxJKW50KD86OHwxNnwzMikoPzpDbGFtcGVkKT9BcnJheSQvLnRlc3Qocik/Zyh0LGUpOnZvaWQgMH19KHQsZSl8fGZ1bmN0aW9uKCl7dGhyb3cgbmV3IFR5cGVFcnJvcihcIkludmFsaWQgYXR0ZW1wdCB0byBkZXN0cnVjdHVyZSBub24taXRlcmFibGUgaW5zdGFuY2UuXFxuSW4gb3JkZXIgdG8gYmUgaXRlcmFibGUsIG5vbi1hcnJheSBvYmplY3RzIG11c3QgaGF2ZSBhIFtTeW1ib2wuaXRlcmF0b3JdKCkgbWV0aG9kLlwiKX0oKX1mdW5jdGlvbiBnKHQsZSl7KG51bGw9PWV8fGU+dC5sZW5ndGgpJiYoZT10Lmxlbmd0aCk7Zm9yKHZhciByPTAsbj1uZXcgQXJyYXkoZSk7cjxlO3IrKyluW3JdPXRbcl07cmV0dXJuIG59dmFyIHc9ZnVuY3Rpb24oKXt2YXIgdD1kKHJlZ2VuZXJhdG9yUnVudGltZS5tYXJrKChmdW5jdGlvbiB0KGUpe3JldHVybiByZWdlbmVyYXRvclJ1bnRpbWUud3JhcCgoZnVuY3Rpb24odCl7Zm9yKDs7KXN3aXRjaCh0LnByZXY9dC5uZXh0KXtjYXNlIDA6cmV0dXJuIHQuYWJydXB0KFwicmV0dXJuXCIsbmV3IFByb21pc2UoZnVuY3Rpb24oKXt2YXIgdD1kKHJlZ2VuZXJhdG9yUnVudGltZS5tYXJrKChmdW5jdGlvbiB0KHIsbil7dmFyIG8saTtyZXR1cm4gcmVnZW5lcmF0b3JSdW50aW1lLndyYXAoKGZ1bmN0aW9uKHQpe2Zvcig7Oylzd2l0Y2godC5wcmV2PXQubmV4dCl7Y2FzZSAwOnJldHVybiBwKCl8fG4obmV3IERPTUV4Y2VwdGlvbihcIk5hdmlnYXRvciBBUEk6IHBlcm1pc3Npb25zIG5vdCBzdXBwb3J0ZWRcIixcIk5PVF9TVVBQT1JURURfRVJSXCIpKSx0LnByZXY9MSx0Lm5leHQ9NCxuYXZpZ2F0b3IucGVybWlzc2lvbnMucXVlcnkoe25hbWU6ZX0pO2Nhc2UgNDpvPXQuc2VudCxpPWZ1bmN0aW9uIHQoZSl7by5yZW1vdmVFdmVudExpc3RlbmVyKFwiY2hhbmdlXCIsdCksYihlLnRhcmdldC5zdGF0ZSxyLG4pfSxvLmFkZEV2ZW50TGlzdGVuZXIoXCJjaGFuZ2VcIixpKSxiKG8uc3RhdGUscixuKSx0Lm5leHQ9MTM7YnJlYWs7Y2FzZSAxMDp0LnByZXY9MTAsdC50MD10LmNhdGNoKDEpLG4odC50MCk7Y2FzZSAxMzpjYXNlXCJlbmRcIjpyZXR1cm4gdC5zdG9wKCl9fSksdCxudWxsLFtbMSwxMF1dKX0pKSk7cmV0dXJuIGZ1bmN0aW9uKGUscil7cmV0dXJuIHQuYXBwbHkodGhpcyxhcmd1bWVudHMpfX0oKSkpO2Nhc2UgMTpjYXNlXCJlbmRcIjpyZXR1cm4gdC5zdG9wKCl9fSksdCl9KSkpO3JldHVybiBmdW5jdGlvbihlKXtyZXR1cm4gdC5hcHBseSh0aGlzLGFyZ3VtZW50cyl9fSgpLGI9ZnVuY3Rpb24odCxlLHIpe3N3aXRjaCh0KXtjYXNlXCJkZW5pZWRcIjpyKG5ldyBET01FeGNlcHRpb24oXCJQZXJtaXNzaW9uIGRlbmllZFwiLFwiTk9UX0FMTE9XRURfRVJSXCIpKTticmVhaztkZWZhdWx0OmUodCl9fSxFPWZ1bmN0aW9uKCl7dmFyIHQ9ZChyZWdlbmVyYXRvclJ1bnRpbWUubWFyaygoZnVuY3Rpb24gdChlLHIpe3JldHVybiByZWdlbmVyYXRvclJ1bnRpbWUud3JhcCgoZnVuY3Rpb24odCl7Zm9yKDs7KXN3aXRjaCh0LnByZXY9dC5uZXh0KXtjYXNlIDA6cmV0dXJuIHQuYWJydXB0KFwicmV0dXJuXCIsbmV3IFByb21pc2UoZnVuY3Rpb24oKXt2YXIgdD1kKHJlZ2VuZXJhdG9yUnVudGltZS5tYXJrKChmdW5jdGlvbiB0KG4sbyl7dmFyIGksYSxjO3JldHVybiByZWdlbmVyYXRvclJ1bnRpbWUud3JhcCgoZnVuY3Rpb24odCl7Zm9yKDs7KXN3aXRjaCh0LnByZXY9dC5uZXh0KXtjYXNlIDA6cmV0dXJuIHAoKSYmdigpfHxvKG5ldyBET01FeGNlcHRpb24oXCJOYXZpZ2F0b3IgQVBJOiBwZXJtaXNzaW9ucyBvciBOYXZpZ2F0b3IgQVBJOiBtZWRpYURldmljZXMgbm90IHN1cHBvcnRlZFwiLFwiTk9UX1NVUFBPUlRFRF9FUlJcIikpLHQucHJldj0xLHQudDA9UHJvbWlzZSx0Lm5leHQ9NSx3KGUpO2Nhc2UgNTpyZXR1cm4gdC50MT10LnNlbnQsdC5uZXh0PTgsbmF2aWdhdG9yLm1lZGlhRGV2aWNlcy5nZXRVc2VyTWVkaWEocik7Y2FzZSA4OnJldHVybiB0LnQyPXQuc2VudCx0LnQzPVt0LnQxLHQudDJdLHQubmV4dD0xMix0LnQwLmFsbC5jYWxsKHQudDAsdC50Myk7Y2FzZSAxMjppPXQuc2VudCxhPW0oaSwyKSxjPWFbMV0sbihjKSx0Lm5leHQ9MjE7YnJlYWs7Y2FzZSAxODp0LnByZXY9MTgsdC50ND10LmNhdGNoKDEpLG8odC50NCk7Y2FzZSAyMTpjYXNlXCJlbmRcIjpyZXR1cm4gdC5zdG9wKCl9fSksdCxudWxsLFtbMSwxOF1dKX0pKSk7cmV0dXJuIGZ1bmN0aW9uKGUscil7cmV0dXJuIHQuYXBwbHkodGhpcyxhcmd1bWVudHMpfX0oKSkpO2Nhc2UgMTpjYXNlXCJlbmRcIjpyZXR1cm4gdC5zdG9wKCl9fSksdCl9KSkpO3JldHVybiBmdW5jdGlvbihlLHIpe3JldHVybiB0LmFwcGx5KHRoaXMsYXJndW1lbnRzKX19KCk7ZnVuY3Rpb24gTyh0LGUpe3ZhciByPU9iamVjdC5rZXlzKHQpO2lmKE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMpe3ZhciBuPU9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHModCk7ZSYmKG49bi5maWx0ZXIoKGZ1bmN0aW9uKGUpe3JldHVybiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHQsZSkuZW51bWVyYWJsZX0pKSksci5wdXNoLmFwcGx5KHIsbil9cmV0dXJuIHJ9ZnVuY3Rpb24gXyh0KXtmb3IodmFyIGU9MTtlPGFyZ3VtZW50cy5sZW5ndGg7ZSsrKXt2YXIgcj1udWxsIT1hcmd1bWVudHNbZV0/YXJndW1lbnRzW2VdOnt9O2UlMj9PKE9iamVjdChyKSwhMCkuZm9yRWFjaCgoZnVuY3Rpb24oZSl7aCh0LGUscltlXSl9KSk6T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcnM/T2JqZWN0LmRlZmluZVByb3BlcnRpZXModCxPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9ycyhyKSk6TyhPYmplY3QocikpLmZvckVhY2goKGZ1bmN0aW9uKGUpe09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LGUsT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihyLGUpKX0pKX1yZXR1cm4gdH12YXIgeD1mdW5jdGlvbigpe2Z1bmN0aW9uIGUodCl7dmFyIHI9dGhpcztzKHRoaXMsZSksaCh0aGlzLFwiX2luc3RhbmNlXCIsbnVsbCksaCh0aGlzLFwiX2xpc3RlbmVyc1wiLG51bGwpO3ZhciBuPWUuX3Jlc29sdmVTcGVlY2hSZWNvZ25pdGlvbigpO2lmKCFuKXRocm93IG5ldyBET01FeGNlcHRpb24oXCJTcGVlY2hSZWNvZ25pdGlvbiBub3Qgc3VwcG9ydGVkXCIsXCJOT1RfU1VQUE9SVEVEX0VSUlwiKTt0aGlzLl9pbnN0YW5jZT1uZXcgbix0aGlzLl9saXN0ZW5lcnM9e30sT2JqZWN0LmVudHJpZXMoXyhfKHt9LGUuZGVmYXVsdE9wdGlvbnMpLHR8fHt9KSkuZm9yRWFjaCgoZnVuY3Rpb24odCl7dmFyIG49dSh0LDIpLG89blswXSxpPW5bMV07aWYoXCJncmFtbWFyc1wiPT09byYmIWkpe3ZhciBhPWUuX3Jlc29sdmVTcGVlY2hHcmFtbWFyTGlzdCgpO2EmJihpPW5ldyBhKX1yLl9pbnN0YW5jZVtvXT1pfSkpfXZhciBuO3JldHVybiBmKGUsbnVsbCxbe2tleTpcImlzU3VwcG9ydGVkXCIsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuISFlLl9yZXNvbHZlU3BlZWNoUmVjb2duaXRpb24oKSYmISFwKCkmJiEhdigpfSxzZXQ6ZnVuY3Rpb24odCl7dGhyb3cgbmV3IEVycm9yKFwiWW91IGNhbm5vdCBzZXQgaXNTdXBwb3J0ZWQgZGlyZWN0bHkuXCIpfX1dKSxmKGUsW3trZXk6XCJzdGFydFwiLHZhbHVlOihuPXIodC5tYXJrKChmdW5jdGlvbiBlKCl7dmFyIHI7cmV0dXJuIHQud3JhcCgoZnVuY3Rpb24odCl7Zm9yKDs7KXN3aXRjaCh0LnByZXY9dC5uZXh0KXtjYXNlIDA6aWYoIXRoaXMuX2luc3RhbmNlKXt0Lm5leHQ9MTQ7YnJlYWt9cmV0dXJuIHQucHJldj0xLHQubmV4dD00LEUoXCJtaWNyb3Bob25lXCIse2F1ZGlvOiEwfSk7Y2FzZSA0OmlmKHQuc2VudCl7dC5uZXh0PTc7YnJlYWt9dGhyb3cgbmV3IEVycm9yKFwiVW5hYmxlIHRvIHJldHJpZXZlIHRoZSBzdHJlYW0gZnJvbSBtZWRpYSBkZXZpY2VcIik7Y2FzZSA3OnRoaXMuX2luc3RhbmNlLnN0YXJ0KCksdC5uZXh0PTE0O2JyZWFrO2Nhc2UgMTA6dC5wcmV2PTEwLHQudDA9dC5jYXRjaCgxKSwocj10aGlzLl9saXN0ZW5lcnMuZXJyb3IpJiZyKHQudDApO2Nhc2UgMTQ6cmV0dXJuIHQuYWJydXB0KFwicmV0dXJuXCIsdGhpcyk7Y2FzZSAxNTpjYXNlXCJlbmRcIjpyZXR1cm4gdC5zdG9wKCl9fSksZSx0aGlzLFtbMSwxMF1dKX0pKSksZnVuY3Rpb24oKXtyZXR1cm4gbi5hcHBseSh0aGlzLGFyZ3VtZW50cyl9KX0se2tleTpcInN0b3BcIix2YWx1ZTpmdW5jdGlvbigpe3JldHVybiB0aGlzLl9pbnN0YW5jZSYmdGhpcy5faW5zdGFuY2Uuc3RvcCgpLHRoaXN9fSx7a2V5OlwiYWJvcnRcIix2YWx1ZTpmdW5jdGlvbigpe3JldHVybiB0aGlzLl9pbnN0YW5jZSYmdGhpcy5faW5zdGFuY2UuYWJvcnQoKSx0aGlzfX0se2tleTpcImFkZEV2ZW50TGlzdGVuZXJcIix2YWx1ZTpmdW5jdGlvbih0LHIpe3ZhciBuPXRoaXM7aWYodGhpcy5faW5zdGFuY2UmJnRoaXMuX2luY2x1ZGVzRXZlbnRUeXBlKHQpKXt0aGlzLl9saXN0ZW5lcnNbdF0mJnRoaXMucmVtb3ZlRXZlbnRMaXN0ZW5lcih0KTt2YXIgbz1mdW5jdGlvbihvKXt2YXIgaT1bXTt0PT09ZS5ldmVudFR5cGVzLlJFU1VMVCYmby5yZXN1bHRzJiZvLnJlc3VsdHMubGVuZ3RoPjAmJmkucHVzaChvLnJlc3VsdHNbMF1bMF0udHJhbnNjcmlwdCksciYmci5hcHBseShuLFtvXS5jb25jYXQoaSkpfTt0aGlzLl9pbnN0YW5jZS5hZGRFdmVudExpc3RlbmVyKHQsbyksdGhpcy5fbGlzdGVuZXJzW3RdPW99cmV0dXJuIHRoaXN9fSx7a2V5OlwicmVtb3ZlRXZlbnRMaXN0ZW5lclwiLHZhbHVlOmZ1bmN0aW9uKHQpe3ZhciBlPXRoaXMuX2xpc3RlbmVyc1t0XTtyZXR1cm4gdGhpcy5faW5zdGFuY2UucmVtb3ZlRXZlbnRMaXN0ZW5lcih0LGUpLGRlbGV0ZSB0aGlzLl9saXN0ZW5lcnNbdF0sdGhpc319LHtrZXk6XCJjbGVhbnVwXCIsdmFsdWU6ZnVuY3Rpb24oKXt2YXIgdD10aGlzO3JldHVybiB0aGlzLnN0b3AoKSxPYmplY3Qua2V5cyh0aGlzLl9saXN0ZW5lcnMpLmZvckVhY2goKGZ1bmN0aW9uKGUpe3JldHVybiB0LnJlbW92ZUV2ZW50TGlzdGVuZXIoZSl9KSksdGhpcy5faW5zdGFuY2U9bnVsbCx0aGlzfX0se2tleTpcIl9pbmNsdWRlc0V2ZW50VHlwZVwiLHZhbHVlOmZ1bmN0aW9uKHQpe3JldHVybiEhT2JqZWN0LnZhbHVlcyhlLmV2ZW50VHlwZXMpLmZpbmQoKGZ1bmN0aW9uKGUpe3JldHVybiBlPT09dH0pKX19LHtrZXk6XCJpbnN0YW5jZVwiLGdldDpmdW5jdGlvbigpe3JldHVybiB0aGlzLl9pbnN0YW5jZX0sc2V0OmZ1bmN0aW9uKHQpe3Rocm93IG5ldyBFcnJvcihcIllvdSBjYW5ub3Qgc2V0IGluc3RhbmNlIGRpcmVjdGx5LlwiKX19XSxbe2tleTpcIl9yZXNvbHZlU3BlZWNoUmVjb2duaXRpb25cIix2YWx1ZTpmdW5jdGlvbigpe3JldHVybiB3aW5kb3cuU3BlZWNoUmVjb2duaXRpb258fHdpbmRvdy53ZWJraXRTcGVlY2hSZWNvZ25pdGlvbnx8d2luZG93Lm1velNwZWVjaFJlY29nbml0aW9ufHx3aW5kb3cubXNTcGVlY2hSZWNvZ25pdGlvbn19LHtrZXk6XCJfcmVzb2x2ZVNwZWVjaEdyYW1tYXJMaXN0XCIsdmFsdWU6ZnVuY3Rpb24oKXtyZXR1cm4gd2luZG93LlNwZWVjaEdyYW1tYXJMaXN0fHx3aW5kb3cud2Via2l0U3BlZWNoR3JhbW1hckxpc3R8fHdpbmRvdy5tb3pTcGVlY2hHcmFtbWFyTGlzdHx8d2luZG93Lm1zU3BlZWNoR3JhbW1hckxpc3R9fV0pLGV9KCk7aCh4LFwiZGVmYXVsdE9wdGlvbnNcIix7Z3JhbW1hcnM6bnVsbCxsYW5nOlwiZW4tVVNcIixjb250aW51b3VzOiExLGludGVyaW1SZXN1bHRzOiExLG1heEFsdGVybmF0aXZlczoxLHNlcnZpY2VVUkk6bnVsbH0pLGgoeCxcImV2ZW50VHlwZXNcIix7QVVESU9fRU5EOlwiYXVkaW9lbmRcIixBVURJT19TVEFSVDpcImF1ZGlvc3RhcnRcIixFTkQ6XCJlbmRcIixFUlJPUjpcImVycm9yXCIsTk9fTUFUQ0g6XCJub21hdGNoXCIsUkVTVUxUOlwicmVzdWx0XCIsU09VTkRfRU5EOlwic291bmRlbmRcIixTT1VORF9TVEFSVDpcInNvdW5kc3RhcnRcIixTUEVFQ0hfRU5EOlwic3BlZWNoZW5kXCIsU1BFRUNIX1NUQVJUOlwic3BlZWNoc3RhcnRcIixTVEFSVDpcInN0YXJ0XCJ9KTtleHBvcnR7eCBhcyBWb2NhbH07XG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtODtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSm1hV3hsSWpvaWFXNWtaWGd1WlhNdWFuTWlMQ0p6YjNWeVkyVnpJanBiSWk0dUwyNXZaR1ZmYlc5a2RXeGxjeTl5WldkbGJtVnlZWFJ2Y2kxeWRXNTBhVzFsTDNKMWJuUnBiV1V1YW5NaUxDSXVMaTl1YjJSbFgyMXZaSFZzWlhNdlFHSmhZbVZzTDNKMWJuUnBiV1V2YUdWc2NHVnljeTloYzNsdVkxUnZSMlZ1WlhKaGRHOXlMbXB6SWl3aUxpNHZibTlrWlY5dGIyUjFiR1Z6TDBCaVlXSmxiQzl5ZFc1MGFXMWxMMmhsYkhCbGNuTXZZWEp5WVhsWGFYUm9TRzlzWlhNdWFuTWlMQ0l1TGk5dWIyUmxYMjF2WkhWc1pYTXZRR0poWW1Wc0wzSjFiblJwYldVdmFHVnNjR1Z5Y3k5cGRHVnlZV0pzWlZSdlFYSnlZWGxNYVcxcGRDNXFjeUlzSWk0dUwyNXZaR1ZmYlc5a2RXeGxjeTlBWW1GaVpXd3ZjblZ1ZEdsdFpTOW9aV3h3WlhKekwyRnljbUY1VEdsclpWUnZRWEp5WVhrdWFuTWlMQ0l1TGk5dWIyUmxYMjF2WkhWc1pYTXZRR0poWW1Wc0wzSjFiblJwYldVdmFHVnNjR1Z5Y3k5MWJuTjFjSEJ2Y25SbFpFbDBaWEpoWW14bFZHOUJjbkpoZVM1cWN5SXNJaTR1TDI1dlpHVmZiVzlrZFd4bGN5OUFZbUZpWld3dmNuVnVkR2x0WlM5b1pXeHdaWEp6TDI1dmJrbDBaWEpoWW14bFVtVnpkQzVxY3lJc0lpNHVMMjV2WkdWZmJXOWtkV3hsY3k5QVltRmlaV3d2Y25WdWRHbHRaUzlvWld4d1pYSnpMM05zYVdObFpGUnZRWEp5WVhrdWFuTWlMQ0l1TGk5dWIyUmxYMjF2WkhWc1pYTXZRR0poWW1Wc0wzSjFiblJwYldVdmFHVnNjR1Z5Y3k5amJHRnpjME5oYkd4RGFHVmpheTVxY3lJc0lpNHVMMjV2WkdWZmJXOWtkV3hsY3k5QVltRmlaV3d2Y25WdWRHbHRaUzlvWld4d1pYSnpMMk55WldGMFpVTnNZWE56TG1weklpd2lMaTR2Ym05a1pWOXRiMlIxYkdWekwwQmlZV0psYkM5eWRXNTBhVzFsTDJobGJIQmxjbk12WkdWbWFXNWxVSEp2Y0dWeWRIa3Vhbk1pTENJdUxpOXViMlJsWDIxdlpIVnNaWE12UUhWdWRHVnRjSE12ZFhObGNpMXdaWEp0YVhOemFXOXVjeTExZEdsc2N5OWthWE4wTDJsdVpHVjRMbVZ6TG1weklpd2lMaTR2YzNKakwxWnZZMkZzTG1weklsMHNJbk52ZFhKalpYTkRiMjUwWlc1MElqcGJJaThxS2x4dUlDb2dRMjl3ZVhKcFoyaDBJQ2hqS1NBeU1ERTBMWEJ5WlhObGJuUXNJRVpoWTJWaWIyOXJMQ0JKYm1NdVhHNGdLbHh1SUNvZ1ZHaHBjeUJ6YjNWeVkyVWdZMjlrWlNCcGN5QnNhV05sYm5ObFpDQjFibVJsY2lCMGFHVWdUVWxVSUd4cFkyVnVjMlVnWm05MWJtUWdhVzRnZEdobFhHNGdLaUJNU1VORlRsTkZJR1pwYkdVZ2FXNGdkR2hsSUhKdmIzUWdaR2x5WldOMGIzSjVJRzltSUhSb2FYTWdjMjkxY21ObElIUnlaV1V1WEc0Z0tpOWNibHh1ZG1GeUlISjFiblJwYldVZ1BTQW9ablZ1WTNScGIyNGdLR1Y0Y0c5eWRITXBJSHRjYmlBZ1hDSjFjMlVnYzNSeWFXTjBYQ0k3WEc1Y2JpQWdkbUZ5SUU5d0lEMGdUMkpxWldOMExuQnliM1J2ZEhsd1pUdGNiaUFnZG1GeUlHaGhjMDkzYmlBOUlFOXdMbWhoYzA5M2JsQnliM0JsY25SNU8xeHVJQ0IyWVhJZ2RXNWtaV1pwYm1Wa095QXZMeUJOYjNKbElHTnZiWEJ5WlhOemFXSnNaU0IwYUdGdUlIWnZhV1FnTUM1Y2JpQWdkbUZ5SUNSVGVXMWliMndnUFNCMGVYQmxiMllnVTNsdFltOXNJRDA5UFNCY0ltWjFibU4wYVc5dVhDSWdQeUJUZVcxaWIyd2dPaUI3ZlR0Y2JpQWdkbUZ5SUdsMFpYSmhkRzl5VTNsdFltOXNJRDBnSkZONWJXSnZiQzVwZEdWeVlYUnZjaUI4ZkNCY0lrQkFhWFJsY21GMGIzSmNJanRjYmlBZ2RtRnlJR0Z6ZVc1alNYUmxjbUYwYjNKVGVXMWliMndnUFNBa1UzbHRZbTlzTG1GemVXNWpTWFJsY21GMGIzSWdmSHdnWENKQVFHRnplVzVqU1hSbGNtRjBiM0pjSWp0Y2JpQWdkbUZ5SUhSdlUzUnlhVzVuVkdGblUzbHRZbTlzSUQwZ0pGTjViV0p2YkM1MGIxTjBjbWx1WjFSaFp5QjhmQ0JjSWtCQWRHOVRkSEpwYm1kVVlXZGNJanRjYmx4dUlDQm1kVzVqZEdsdmJpQmtaV1pwYm1Vb2IySnFMQ0JyWlhrc0lIWmhiSFZsS1NCN1hHNGdJQ0FnVDJKcVpXTjBMbVJsWm1sdVpWQnliM0JsY25SNUtHOWlhaXdnYTJWNUxDQjdYRzRnSUNBZ0lDQjJZV3gxWlRvZ2RtRnNkV1VzWEc0Z0lDQWdJQ0JsYm5WdFpYSmhZbXhsT2lCMGNuVmxMRnh1SUNBZ0lDQWdZMjl1Wm1sbmRYSmhZbXhsT2lCMGNuVmxMRnh1SUNBZ0lDQWdkM0pwZEdGaWJHVTZJSFJ5ZFdWY2JpQWdJQ0I5S1R0Y2JpQWdJQ0J5WlhSMWNtNGdiMkpxVzJ0bGVWMDdYRzRnSUgxY2JpQWdkSEo1SUh0Y2JpQWdJQ0F2THlCSlJTQTRJR2hoY3lCaElHSnliMnRsYmlCUFltcGxZM1F1WkdWbWFXNWxVSEp2Y0dWeWRIa2dkR2hoZENCdmJteDVJSGR2Y210eklHOXVJRVJQVFNCdlltcGxZM1J6TGx4dUlDQWdJR1JsWm1sdVpTaDdmU3dnWENKY0lpazdYRzRnSUgwZ1kyRjBZMmdnS0dWeWNpa2dlMXh1SUNBZ0lHUmxabWx1WlNBOUlHWjFibU4wYVc5dUtHOWlhaXdnYTJWNUxDQjJZV3gxWlNrZ2UxeHVJQ0FnSUNBZ2NtVjBkWEp1SUc5aWFsdHJaWGxkSUQwZ2RtRnNkV1U3WEc0Z0lDQWdmVHRjYmlBZ2ZWeHVYRzRnSUdaMWJtTjBhVzl1SUhkeVlYQW9hVzV1WlhKR2Jpd2diM1YwWlhKR2Jpd2djMlZzWml3Z2RISjVURzlqYzB4cGMzUXBJSHRjYmlBZ0lDQXZMeUJKWmlCdmRYUmxja1p1SUhCeWIzWnBaR1ZrSUdGdVpDQnZkWFJsY2tadUxuQnliM1J2ZEhsd1pTQnBjeUJoSUVkbGJtVnlZWFJ2Y2l3Z2RHaGxiaUJ2ZFhSbGNrWnVMbkJ5YjNSdmRIbHdaU0JwYm5OMFlXNWpaVzltSUVkbGJtVnlZWFJ2Y2k1Y2JpQWdJQ0IyWVhJZ2NISnZkRzlIWlc1bGNtRjBiM0lnUFNCdmRYUmxja1p1SUNZbUlHOTFkR1Z5Um00dWNISnZkRzkwZVhCbElHbHVjM1JoYm1ObGIyWWdSMlZ1WlhKaGRHOXlJRDhnYjNWMFpYSkdiaUE2SUVkbGJtVnlZWFJ2Y2p0Y2JpQWdJQ0IyWVhJZ1oyVnVaWEpoZEc5eUlEMGdUMkpxWldOMExtTnlaV0YwWlNod2NtOTBiMGRsYm1WeVlYUnZjaTV3Y205MGIzUjVjR1VwTzF4dUlDQWdJSFpoY2lCamIyNTBaWGgwSUQwZ2JtVjNJRU52Ym5SbGVIUW9kSEo1VEc5amMweHBjM1FnZkh3Z1cxMHBPMXh1WEc0Z0lDQWdMeThnVkdobElDNWZhVzUyYjJ0bElHMWxkR2h2WkNCMWJtbG1hV1Z6SUhSb1pTQnBiWEJzWlcxbGJuUmhkR2x2Ym5NZ2IyWWdkR2hsSUM1dVpYaDBMRnh1SUNBZ0lDOHZJQzUwYUhKdmR5d2dZVzVrSUM1eVpYUjFjbTRnYldWMGFHOWtjeTVjYmlBZ0lDQm5aVzVsY21GMGIzSXVYMmx1ZG05clpTQTlJRzFoYTJWSmJuWnZhMlZOWlhSb2IyUW9hVzV1WlhKR2Jpd2djMlZzWml3Z1kyOXVkR1Y0ZENrN1hHNWNiaUFnSUNCeVpYUjFjbTRnWjJWdVpYSmhkRzl5TzF4dUlDQjlYRzRnSUdWNGNHOXlkSE11ZDNKaGNDQTlJSGR5WVhBN1hHNWNiaUFnTHk4Z1ZISjVMMk5oZEdOb0lHaGxiSEJsY2lCMGJ5QnRhVzVwYldsNlpTQmtaVzl3ZEdsdGFYcGhkR2x2Ym5NdUlGSmxkSFZ5Ym5NZ1lTQmpiMjF3YkdWMGFXOXVYRzRnSUM4dklISmxZMjl5WkNCc2FXdGxJR052Ym5SbGVIUXVkSEo1Ulc1MGNtbGxjMXRwWFM1amIyMXdiR1YwYVc5dUxpQlVhR2x6SUdsdWRHVnlabUZqWlNCamIzVnNaRnh1SUNBdkx5Qm9ZWFpsSUdKbFpXNGdLR0Z1WkNCM1lYTWdjSEpsZG1sdmRYTnNlU2tnWkdWemFXZHVaV1FnZEc4Z2RHRnJaU0JoSUdOc2IzTjFjbVVnZEc4Z1ltVmNiaUFnTHk4Z2FXNTJiMnRsWkNCM2FYUm9iM1YwSUdGeVozVnRaVzUwY3l3Z1luVjBJR2x1SUdGc2JDQjBhR1VnWTJGelpYTWdkMlVnWTJGeVpTQmhZbTkxZENCM1pWeHVJQ0F2THlCaGJISmxZV1I1SUdoaGRtVWdZVzRnWlhocGMzUnBibWNnYldWMGFHOWtJSGRsSUhkaGJuUWdkRzhnWTJGc2JDd2djMjhnZEdobGNtVW5jeUJ1YnlCdVpXVmtYRzRnSUM4dklIUnZJR055WldGMFpTQmhJRzVsZHlCbWRXNWpkR2x2YmlCdlltcGxZM1F1SUZkbElHTmhiaUJsZG1WdUlHZGxkQ0JoZDJGNUlIZHBkR2dnWVhOemRXMXBibWRjYmlBZ0x5OGdkR2hsSUcxbGRHaHZaQ0IwWVd0bGN5QmxlR0ZqZEd4NUlHOXVaU0JoY21kMWJXVnVkQ3dnYzJsdVkyVWdkR2hoZENCb1lYQndaVzV6SUhSdklHSmxJSFJ5ZFdWY2JpQWdMeThnYVc0Z1pYWmxjbmtnWTJGelpTd2djMjhnZDJVZ1pHOXVKM1FnYUdGMlpTQjBieUIwYjNWamFDQjBhR1VnWVhKbmRXMWxiblJ6SUc5aWFtVmpkQzRnVkdobFhHNGdJQzh2SUc5dWJIa2dZV1JrYVhScGIyNWhiQ0JoYkd4dlkyRjBhVzl1SUhKbGNYVnBjbVZrSUdseklIUm9aU0JqYjIxd2JHVjBhVzl1SUhKbFkyOXlaQ3dnZDJocFkyaGNiaUFnTHk4Z2FHRnpJR0VnYzNSaFlteGxJSE5vWVhCbElHRnVaQ0J6YnlCb2IzQmxablZzYkhrZ2MyaHZkV3hrSUdKbElHTm9aV0Z3SUhSdklHRnNiRzlqWVhSbExseHVJQ0JtZFc1amRHbHZiaUIwY25sRFlYUmphQ2htYml3Z2IySnFMQ0JoY21jcElIdGNiaUFnSUNCMGNua2dlMXh1SUNBZ0lDQWdjbVYwZFhKdUlIc2dkSGx3WlRvZ1hDSnViM0p0WVd4Y0lpd2dZWEpuT2lCbWJpNWpZV3hzS0c5aWFpd2dZWEpuS1NCOU8xeHVJQ0FnSUgwZ1kyRjBZMmdnS0dWeWNpa2dlMXh1SUNBZ0lDQWdjbVYwZFhKdUlIc2dkSGx3WlRvZ1hDSjBhSEp2ZDF3aUxDQmhjbWM2SUdWeWNpQjlPMXh1SUNBZ0lIMWNiaUFnZlZ4dVhHNGdJSFpoY2lCSFpXNVRkR0YwWlZOMWMzQmxibVJsWkZOMFlYSjBJRDBnWENKemRYTndaVzVrWldSVGRHRnlkRndpTzF4dUlDQjJZWElnUjJWdVUzUmhkR1ZUZFhOd1pXNWtaV1JaYVdWc1pDQTlJRndpYzNWemNHVnVaR1ZrV1dsbGJHUmNJanRjYmlBZ2RtRnlJRWRsYmxOMFlYUmxSWGhsWTNWMGFXNW5JRDBnWENKbGVHVmpkWFJwYm1kY0lqdGNiaUFnZG1GeUlFZGxibE4wWVhSbFEyOXRjR3hsZEdWa0lEMGdYQ0pqYjIxd2JHVjBaV1JjSWp0Y2JseHVJQ0F2THlCU1pYUjFjbTVwYm1jZ2RHaHBjeUJ2WW1wbFkzUWdabkp2YlNCMGFHVWdhVzV1WlhKR2JpQm9ZWE1nZEdobElITmhiV1VnWldabVpXTjBJR0Z6WEc0Z0lDOHZJR0p5WldGcmFXNW5JRzkxZENCdlppQjBhR1VnWkdsemNHRjBZMmdnYzNkcGRHTm9JSE4wWVhSbGJXVnVkQzVjYmlBZ2RtRnlJRU52Ym5ScGJuVmxVMlZ1ZEdsdVpXd2dQU0I3ZlR0Y2JseHVJQ0F2THlCRWRXMXRlU0JqYjI1emRISjFZM1J2Y2lCbWRXNWpkR2x2Ym5NZ2RHaGhkQ0IzWlNCMWMyVWdZWE1nZEdobElDNWpiMjV6ZEhKMVkzUnZjaUJoYm1SY2JpQWdMeThnTG1OdmJuTjBjblZqZEc5eUxuQnliM1J2ZEhsd1pTQndjbTl3WlhKMGFXVnpJR1p2Y2lCbWRXNWpkR2x2Ym5NZ2RHaGhkQ0J5WlhSMWNtNGdSMlZ1WlhKaGRHOXlYRzRnSUM4dklHOWlhbVZqZEhNdUlFWnZjaUJtZFd4c0lITndaV01nWTI5dGNHeHBZVzVqWlN3Z2VXOTFJRzFoZVNCM2FYTm9JSFJ2SUdOdmJtWnBaM1Z5WlNCNWIzVnlYRzRnSUM4dklHMXBibWxtYVdWeUlHNXZkQ0IwYnlCdFlXNW5iR1VnZEdobElHNWhiV1Z6SUc5bUlIUm9aWE5sSUhSM2J5Qm1kVzVqZEdsdmJuTXVYRzRnSUdaMWJtTjBhVzl1SUVkbGJtVnlZWFJ2Y2lncElIdDlYRzRnSUdaMWJtTjBhVzl1SUVkbGJtVnlZWFJ2Y2taMWJtTjBhVzl1S0NrZ2UzMWNiaUFnWm5WdVkzUnBiMjRnUjJWdVpYSmhkRzl5Um5WdVkzUnBiMjVRY205MGIzUjVjR1VvS1NCN2ZWeHVYRzRnSUM4dklGUm9hWE1nYVhNZ1lTQndiMng1Wm1sc2JDQm1iM0lnSlVsMFpYSmhkRzl5VUhKdmRHOTBlWEJsSlNCbWIzSWdaVzUyYVhKdmJtMWxiblJ6SUhSb1lYUmNiaUFnTHk4Z1pHOXVKM1FnYm1GMGFYWmxiSGtnYzNWd2NHOXlkQ0JwZEM1Y2JpQWdkbUZ5SUVsMFpYSmhkRzl5VUhKdmRHOTBlWEJsSUQwZ2UzMDdYRzRnSUVsMFpYSmhkRzl5VUhKdmRHOTBlWEJsVzJsMFpYSmhkRzl5VTNsdFltOXNYU0E5SUdaMWJtTjBhVzl1SUNncElIdGNiaUFnSUNCeVpYUjFjbTRnZEdocGN6dGNiaUFnZlR0Y2JseHVJQ0IyWVhJZ1oyVjBVSEp2ZEc4Z1BTQlBZbXBsWTNRdVoyVjBVSEp2ZEc5MGVYQmxUMlk3WEc0Z0lIWmhjaUJPWVhScGRtVkpkR1Z5WVhSdmNsQnliM1J2ZEhsd1pTQTlJR2RsZEZCeWIzUnZJQ1ltSUdkbGRGQnliM1J2S0dkbGRGQnliM1J2S0haaGJIVmxjeWhiWFNrcEtUdGNiaUFnYVdZZ0tFNWhkR2wyWlVsMFpYSmhkRzl5VUhKdmRHOTBlWEJsSUNZbVhHNGdJQ0FnSUNCT1lYUnBkbVZKZEdWeVlYUnZjbEJ5YjNSdmRIbHdaU0FoUFQwZ1QzQWdKaVpjYmlBZ0lDQWdJR2hoYzA5M2JpNWpZV3hzS0U1aGRHbDJaVWwwWlhKaGRHOXlVSEp2ZEc5MGVYQmxMQ0JwZEdWeVlYUnZjbE41YldKdmJDa3BJSHRjYmlBZ0lDQXZMeUJVYUdseklHVnVkbWx5YjI1dFpXNTBJR2hoY3lCaElHNWhkR2wyWlNBbFNYUmxjbUYwYjNKUWNtOTBiM1I1Y0dVbE95QjFjMlVnYVhRZ2FXNXpkR1ZoWkZ4dUlDQWdJQzh2SUc5bUlIUm9aU0J3YjJ4NVptbHNiQzVjYmlBZ0lDQkpkR1Z5WVhSdmNsQnliM1J2ZEhsd1pTQTlJRTVoZEdsMlpVbDBaWEpoZEc5eVVISnZkRzkwZVhCbE8xeHVJQ0I5WEc1Y2JpQWdkbUZ5SUVkd0lEMGdSMlZ1WlhKaGRHOXlSblZ1WTNScGIyNVFjbTkwYjNSNWNHVXVjSEp2ZEc5MGVYQmxJRDFjYmlBZ0lDQkhaVzVsY21GMGIzSXVjSEp2ZEc5MGVYQmxJRDBnVDJKcVpXTjBMbU55WldGMFpTaEpkR1Z5WVhSdmNsQnliM1J2ZEhsd1pTazdYRzRnSUVkbGJtVnlZWFJ2Y2taMWJtTjBhVzl1TG5CeWIzUnZkSGx3WlNBOUlFZHdMbU52Ym5OMGNuVmpkRzl5SUQwZ1IyVnVaWEpoZEc5eVJuVnVZM1JwYjI1UWNtOTBiM1I1Y0dVN1hHNGdJRWRsYm1WeVlYUnZja1oxYm1OMGFXOXVVSEp2ZEc5MGVYQmxMbU52Ym5OMGNuVmpkRzl5SUQwZ1IyVnVaWEpoZEc5eVJuVnVZM1JwYjI0N1hHNGdJRWRsYm1WeVlYUnZja1oxYm1OMGFXOXVMbVJwYzNCc1lYbE9ZVzFsSUQwZ1pHVm1hVzVsS0Z4dUlDQWdJRWRsYm1WeVlYUnZja1oxYm1OMGFXOXVVSEp2ZEc5MGVYQmxMRnh1SUNBZ0lIUnZVM1J5YVc1blZHRm5VM2x0WW05c0xGeHVJQ0FnSUZ3aVIyVnVaWEpoZEc5eVJuVnVZM1JwYjI1Y0lseHVJQ0FwTzF4dVhHNGdJQzh2SUVobGJIQmxjaUJtYjNJZ1pHVm1hVzVwYm1jZ2RHaGxJQzV1WlhoMExDQXVkR2h5YjNjc0lHRnVaQ0F1Y21WMGRYSnVJRzFsZEdodlpITWdiMllnZEdobFhHNGdJQzh2SUVsMFpYSmhkRzl5SUdsdWRHVnlabUZqWlNCcGJpQjBaWEp0Y3lCdlppQmhJSE5wYm1kc1pTQXVYMmx1ZG05clpTQnRaWFJvYjJRdVhHNGdJR1oxYm1OMGFXOXVJR1JsWm1sdVpVbDBaWEpoZEc5eVRXVjBhRzlrY3lod2NtOTBiM1I1Y0dVcElIdGNiaUFnSUNCYlhDSnVaWGgwWENJc0lGd2lkR2h5YjNkY0lpd2dYQ0p5WlhSMWNtNWNJbDB1Wm05eVJXRmphQ2htZFc1amRHbHZiaWh0WlhSb2IyUXBJSHRjYmlBZ0lDQWdJR1JsWm1sdVpTaHdjbTkwYjNSNWNHVXNJRzFsZEdodlpDd2dablZ1WTNScGIyNG9ZWEpuS1NCN1hHNGdJQ0FnSUNBZ0lISmxkSFZ5YmlCMGFHbHpMbDlwYm5admEyVW9iV1YwYUc5a0xDQmhjbWNwTzF4dUlDQWdJQ0FnZlNrN1hHNGdJQ0FnZlNrN1hHNGdJSDFjYmx4dUlDQmxlSEJ2Y25SekxtbHpSMlZ1WlhKaGRHOXlSblZ1WTNScGIyNGdQU0JtZFc1amRHbHZiaWhuWlc1R2RXNHBJSHRjYmlBZ0lDQjJZWElnWTNSdmNpQTlJSFI1Y0dWdlppQm5aVzVHZFc0Z1BUMDlJRndpWm5WdVkzUnBiMjVjSWlBbUppQm5aVzVHZFc0dVkyOXVjM1J5ZFdOMGIzSTdYRzRnSUNBZ2NtVjBkWEp1SUdOMGIzSmNiaUFnSUNBZ0lEOGdZM1J2Y2lBOVBUMGdSMlZ1WlhKaGRHOXlSblZ1WTNScGIyNGdmSHhjYmlBZ0lDQWdJQ0FnTHk4Z1JtOXlJSFJvWlNCdVlYUnBkbVVnUjJWdVpYSmhkRzl5Um5WdVkzUnBiMjRnWTI5dWMzUnlkV04wYjNJc0lIUm9aU0JpWlhOMElIZGxJR05oYmx4dUlDQWdJQ0FnSUNBdkx5QmtieUJwY3lCMGJ5QmphR1ZqYXlCcGRITWdMbTVoYldVZ2NISnZjR1Z5ZEhrdVhHNGdJQ0FnSUNBZ0lDaGpkRzl5TG1ScGMzQnNZWGxPWVcxbElIeDhJR04wYjNJdWJtRnRaU2tnUFQwOUlGd2lSMlZ1WlhKaGRHOXlSblZ1WTNScGIyNWNJbHh1SUNBZ0lDQWdPaUJtWVd4elpUdGNiaUFnZlR0Y2JseHVJQ0JsZUhCdmNuUnpMbTFoY21zZ1BTQm1kVzVqZEdsdmJpaG5aVzVHZFc0cElIdGNiaUFnSUNCcFppQW9UMkpxWldOMExuTmxkRkJ5YjNSdmRIbHdaVTltS1NCN1hHNGdJQ0FnSUNCUFltcGxZM1F1YzJWMFVISnZkRzkwZVhCbFQyWW9aMlZ1Um5WdUxDQkhaVzVsY21GMGIzSkdkVzVqZEdsdmJsQnliM1J2ZEhsd1pTazdYRzRnSUNBZ2ZTQmxiSE5sSUh0Y2JpQWdJQ0FnSUdkbGJrWjFiaTVmWDNCeWIzUnZYMThnUFNCSFpXNWxjbUYwYjNKR2RXNWpkR2x2YmxCeWIzUnZkSGx3WlR0Y2JpQWdJQ0FnSUdSbFptbHVaU2huWlc1R2RXNHNJSFJ2VTNSeWFXNW5WR0ZuVTNsdFltOXNMQ0JjSWtkbGJtVnlZWFJ2Y2taMWJtTjBhVzl1WENJcE8xeHVJQ0FnSUgxY2JpQWdJQ0JuWlc1R2RXNHVjSEp2ZEc5MGVYQmxJRDBnVDJKcVpXTjBMbU55WldGMFpTaEhjQ2s3WEc0Z0lDQWdjbVYwZFhKdUlHZGxia1oxYmp0Y2JpQWdmVHRjYmx4dUlDQXZMeUJYYVhSb2FXNGdkR2hsSUdKdlpIa2diMllnWVc1NUlHRnplVzVqSUdaMWJtTjBhVzl1TENCZ1lYZGhhWFFnZUdBZ2FYTWdkSEpoYm5ObWIzSnRaV1FnZEc5Y2JpQWdMeThnWUhscFpXeGtJSEpsWjJWdVpYSmhkRzl5VW5WdWRHbHRaUzVoZDNKaGNDaDRLV0FzSUhOdklIUm9ZWFFnZEdobElISjFiblJwYldVZ1kyRnVJSFJsYzNSY2JpQWdMeThnWUdoaGMwOTNiaTVqWVd4c0tIWmhiSFZsTENCY0lsOWZZWGRoYVhSY0lpbGdJSFJ2SUdSbGRHVnliV2x1WlNCcFppQjBhR1VnZVdsbGJHUmxaQ0IyWVd4MVpTQnBjMXh1SUNBdkx5QnRaV0Z1ZENCMGJ5QmlaU0JoZDJGcGRHVmtMbHh1SUNCbGVIQnZjblJ6TG1GM2NtRndJRDBnWm5WdVkzUnBiMjRvWVhKbktTQjdYRzRnSUNBZ2NtVjBkWEp1SUhzZ1gxOWhkMkZwZERvZ1lYSm5JSDA3WEc0Z0lIMDdYRzVjYmlBZ1puVnVZM1JwYjI0Z1FYTjVibU5KZEdWeVlYUnZjaWhuWlc1bGNtRjBiM0lzSUZCeWIyMXBjMlZKYlhCc0tTQjdYRzRnSUNBZ1puVnVZM1JwYjI0Z2FXNTJiMnRsS0cxbGRHaHZaQ3dnWVhKbkxDQnlaWE52YkhabExDQnlaV3BsWTNRcElIdGNiaUFnSUNBZ0lIWmhjaUJ5WldOdmNtUWdQU0IwY25sRFlYUmphQ2huWlc1bGNtRjBiM0piYldWMGFHOWtYU3dnWjJWdVpYSmhkRzl5TENCaGNtY3BPMXh1SUNBZ0lDQWdhV1lnS0hKbFkyOXlaQzUwZVhCbElEMDlQU0JjSW5Sb2NtOTNYQ0lwSUh0Y2JpQWdJQ0FnSUNBZ2NtVnFaV04wS0hKbFkyOXlaQzVoY21jcE8xeHVJQ0FnSUNBZ2ZTQmxiSE5sSUh0Y2JpQWdJQ0FnSUNBZ2RtRnlJSEpsYzNWc2RDQTlJSEpsWTI5eVpDNWhjbWM3WEc0Z0lDQWdJQ0FnSUhaaGNpQjJZV3gxWlNBOUlISmxjM1ZzZEM1MllXeDFaVHRjYmlBZ0lDQWdJQ0FnYVdZZ0tIWmhiSFZsSUNZbVhHNGdJQ0FnSUNBZ0lDQWdJQ0IwZVhCbGIyWWdkbUZzZFdVZ1BUMDlJRndpYjJKcVpXTjBYQ0lnSmlaY2JpQWdJQ0FnSUNBZ0lDQWdJR2hoYzA5M2JpNWpZV3hzS0haaGJIVmxMQ0JjSWw5ZllYZGhhWFJjSWlrcElIdGNiaUFnSUNBZ0lDQWdJQ0J5WlhSMWNtNGdVSEp2YldselpVbHRjR3d1Y21WemIyeDJaU2gyWVd4MVpTNWZYMkYzWVdsMEtTNTBhR1Z1S0daMWJtTjBhVzl1S0haaGJIVmxLU0I3WEc0Z0lDQWdJQ0FnSUNBZ0lDQnBiblp2YTJVb1hDSnVaWGgwWENJc0lIWmhiSFZsTENCeVpYTnZiSFpsTENCeVpXcGxZM1FwTzF4dUlDQWdJQ0FnSUNBZ0lIMHNJR1oxYm1OMGFXOXVLR1Z5Y2lrZ2UxeHVJQ0FnSUNBZ0lDQWdJQ0FnYVc1MmIydGxLRndpZEdoeWIzZGNJaXdnWlhKeUxDQnlaWE52YkhabExDQnlaV3BsWTNRcE8xeHVJQ0FnSUNBZ0lDQWdJSDBwTzF4dUlDQWdJQ0FnSUNCOVhHNWNiaUFnSUNBZ0lDQWdjbVYwZFhKdUlGQnliMjFwYzJWSmJYQnNMbkpsYzI5c2RtVW9kbUZzZFdVcExuUm9aVzRvWm5WdVkzUnBiMjRvZFc1M2NtRndjR1ZrS1NCN1hHNGdJQ0FnSUNBZ0lDQWdMeThnVjJobGJpQmhJSGxwWld4a1pXUWdVSEp2YldselpTQnBjeUJ5WlhOdmJIWmxaQ3dnYVhSeklHWnBibUZzSUhaaGJIVmxJR0psWTI5dFpYTmNiaUFnSUNBZ0lDQWdJQ0F2THlCMGFHVWdMblpoYkhWbElHOW1JSFJvWlNCUWNtOXRhWE5sUEh0MllXeDFaU3hrYjI1bGZUNGdjbVZ6ZFd4MElHWnZjaUIwYUdWY2JpQWdJQ0FnSUNBZ0lDQXZMeUJqZFhKeVpXNTBJR2wwWlhKaGRHbHZiaTVjYmlBZ0lDQWdJQ0FnSUNCeVpYTjFiSFF1ZG1Gc2RXVWdQU0IxYm5keVlYQndaV1E3WEc0Z0lDQWdJQ0FnSUNBZ2NtVnpiMngyWlNoeVpYTjFiSFFwTzF4dUlDQWdJQ0FnSUNCOUxDQm1kVzVqZEdsdmJpaGxjbkp2Y2lrZ2UxeHVJQ0FnSUNBZ0lDQWdJQzh2SUVsbUlHRWdjbVZxWldOMFpXUWdVSEp2YldselpTQjNZWE1nZVdsbGJHUmxaQ3dnZEdoeWIzY2dkR2hsSUhKbGFtVmpkR2x2YmlCaVlXTnJYRzRnSUNBZ0lDQWdJQ0FnTHk4Z2FXNTBieUIwYUdVZ1lYTjVibU1nWjJWdVpYSmhkRzl5SUdaMWJtTjBhVzl1SUhOdklHbDBJR05oYmlCaVpTQm9ZVzVrYkdWa0lIUm9aWEpsTGx4dUlDQWdJQ0FnSUNBZ0lISmxkSFZ5YmlCcGJuWnZhMlVvWENKMGFISnZkMXdpTENCbGNuSnZjaXdnY21WemIyeDJaU3dnY21WcVpXTjBLVHRjYmlBZ0lDQWdJQ0FnZlNrN1hHNGdJQ0FnSUNCOVhHNGdJQ0FnZlZ4dVhHNGdJQ0FnZG1GeUlIQnlaWFpwYjNWelVISnZiV2x6WlR0Y2JseHVJQ0FnSUdaMWJtTjBhVzl1SUdWdWNYVmxkV1VvYldWMGFHOWtMQ0JoY21jcElIdGNiaUFnSUNBZ0lHWjFibU4wYVc5dUlHTmhiR3hKYm5admEyVlhhWFJvVFdWMGFHOWtRVzVrUVhKbktDa2dlMXh1SUNBZ0lDQWdJQ0J5WlhSMWNtNGdibVYzSUZCeWIyMXBjMlZKYlhCc0tHWjFibU4wYVc5dUtISmxjMjlzZG1Vc0lISmxhbVZqZENrZ2UxeHVJQ0FnSUNBZ0lDQWdJR2x1ZG05clpTaHRaWFJvYjJRc0lHRnlaeXdnY21WemIyeDJaU3dnY21WcVpXTjBLVHRjYmlBZ0lDQWdJQ0FnZlNrN1hHNGdJQ0FnSUNCOVhHNWNiaUFnSUNBZ0lISmxkSFZ5YmlCd2NtVjJhVzkxYzFCeWIyMXBjMlVnUFZ4dUlDQWdJQ0FnSUNBdkx5QkpaaUJsYm5GMVpYVmxJR2hoY3lCaVpXVnVJR05oYkd4bFpDQmlaV1p2Y21Vc0lIUm9aVzRnZDJVZ2QyRnVkQ0IwYnlCM1lXbDBJSFZ1ZEdsc1hHNGdJQ0FnSUNBZ0lDOHZJR0ZzYkNCd2NtVjJhVzkxY3lCUWNtOXRhWE5sY3lCb1lYWmxJR0psWlc0Z2NtVnpiMngyWldRZ1ltVm1iM0psSUdOaGJHeHBibWNnYVc1MmIydGxMRnh1SUNBZ0lDQWdJQ0F2THlCemJ5QjBhR0YwSUhKbGMzVnNkSE1nWVhKbElHRnNkMkY1Y3lCa1pXeHBkbVZ5WldRZ2FXNGdkR2hsSUdOdmNuSmxZM1FnYjNKa1pYSXVJRWxtWEc0Z0lDQWdJQ0FnSUM4dklHVnVjWFZsZFdVZ2FHRnpJRzV2ZENCaVpXVnVJR05oYkd4bFpDQmlaV1p2Y21Vc0lIUm9aVzRnYVhRZ2FYTWdhVzF3YjNKMFlXNTBJSFJ2WEc0Z0lDQWdJQ0FnSUM4dklHTmhiR3dnYVc1MmIydGxJR2x0YldWa2FXRjBaV3g1TENCM2FYUm9iM1YwSUhkaGFYUnBibWNnYjI0Z1lTQmpZV3hzWW1GamF5QjBieUJtYVhKbExGeHVJQ0FnSUNBZ0lDQXZMeUJ6YnlCMGFHRjBJSFJvWlNCaGMzbHVZeUJuWlc1bGNtRjBiM0lnWm5WdVkzUnBiMjRnYUdGeklIUm9aU0J2Y0hCdmNuUjFibWwwZVNCMGJ5QmtiMXh1SUNBZ0lDQWdJQ0F2THlCaGJua2dibVZqWlhOellYSjVJSE5sZEhWd0lHbHVJR0VnY0hKbFpHbGpkR0ZpYkdVZ2QyRjVMaUJVYUdseklIQnlaV1JwWTNSaFltbHNhWFI1WEc0Z0lDQWdJQ0FnSUM4dklHbHpJSGRvZVNCMGFHVWdVSEp2YldselpTQmpiMjV6ZEhKMVkzUnZjaUJ6ZVc1amFISnZibTkxYzJ4NUlHbHVkbTlyWlhNZ2FYUnpYRzRnSUNBZ0lDQWdJQzh2SUdWNFpXTjFkRzl5SUdOaGJHeGlZV05yTENCaGJtUWdkMmg1SUdGemVXNWpJR1oxYm1OMGFXOXVjeUJ6ZVc1amFISnZibTkxYzJ4NVhHNGdJQ0FnSUNBZ0lDOHZJR1Y0WldOMWRHVWdZMjlrWlNCaVpXWnZjbVVnZEdobElHWnBjbk4wSUdGM1lXbDBMaUJUYVc1alpTQjNaU0JwYlhCc1pXMWxiblFnYzJsdGNHeGxYRzRnSUNBZ0lDQWdJQzh2SUdGemVXNWpJR1oxYm1OMGFXOXVjeUJwYmlCMFpYSnRjeUJ2WmlCaGMzbHVZeUJuWlc1bGNtRjBiM0p6TENCcGRDQnBjeUJsYzNCbFkybGhiR3g1WEc0Z0lDQWdJQ0FnSUM4dklHbHRjRzl5ZEdGdWRDQjBieUJuWlhRZ2RHaHBjeUJ5YVdkb2RDd2daWFpsYmlCMGFHOTFaMmdnYVhRZ2NtVnhkV2x5WlhNZ1kyRnlaUzVjYmlBZ0lDQWdJQ0FnY0hKbGRtbHZkWE5RY205dGFYTmxJRDhnY0hKbGRtbHZkWE5RY205dGFYTmxMblJvWlc0b1hHNGdJQ0FnSUNBZ0lDQWdZMkZzYkVsdWRtOXJaVmRwZEdoTlpYUm9iMlJCYm1SQmNtY3NYRzRnSUNBZ0lDQWdJQ0FnTHk4Z1FYWnZhV1FnY0hKdmNHRm5ZWFJwYm1jZ1ptRnBiSFZ5WlhNZ2RHOGdVSEp2YldselpYTWdjbVYwZFhKdVpXUWdZbmtnYkdGMFpYSmNiaUFnSUNBZ0lDQWdJQ0F2THlCcGJuWnZZMkYwYVc5dWN5QnZaaUIwYUdVZ2FYUmxjbUYwYjNJdVhHNGdJQ0FnSUNBZ0lDQWdZMkZzYkVsdWRtOXJaVmRwZEdoTlpYUm9iMlJCYm1SQmNtZGNiaUFnSUNBZ0lDQWdLU0E2SUdOaGJHeEpiblp2YTJWWGFYUm9UV1YwYUc5a1FXNWtRWEpuS0NrN1hHNGdJQ0FnZlZ4dVhHNGdJQ0FnTHk4Z1JHVm1hVzVsSUhSb1pTQjFibWxtYVdWa0lHaGxiSEJsY2lCdFpYUm9iMlFnZEdoaGRDQnBjeUIxYzJWa0lIUnZJR2x0Y0d4bGJXVnVkQ0F1Ym1WNGRDeGNiaUFnSUNBdkx5QXVkR2h5YjNjc0lHRnVaQ0F1Y21WMGRYSnVJQ2h6WldVZ1pHVm1hVzVsU1hSbGNtRjBiM0pOWlhSb2IyUnpLUzVjYmlBZ0lDQjBhR2x6TGw5cGJuWnZhMlVnUFNCbGJuRjFaWFZsTzF4dUlDQjlYRzVjYmlBZ1pHVm1hVzVsU1hSbGNtRjBiM0pOWlhSb2IyUnpLRUZ6ZVc1alNYUmxjbUYwYjNJdWNISnZkRzkwZVhCbEtUdGNiaUFnUVhONWJtTkpkR1Z5WVhSdmNpNXdjbTkwYjNSNWNHVmJZWE41Ym1OSmRHVnlZWFJ2Y2xONWJXSnZiRjBnUFNCbWRXNWpkR2x2YmlBb0tTQjdYRzRnSUNBZ2NtVjBkWEp1SUhSb2FYTTdYRzRnSUgwN1hHNGdJR1Y0Y0c5eWRITXVRWE41Ym1OSmRHVnlZWFJ2Y2lBOUlFRnplVzVqU1hSbGNtRjBiM0k3WEc1Y2JpQWdMeThnVG05MFpTQjBhR0YwSUhOcGJYQnNaU0JoYzNsdVl5Qm1kVzVqZEdsdmJuTWdZWEpsSUdsdGNHeGxiV1Z1ZEdWa0lHOXVJSFJ2Y0NCdlpseHVJQ0F2THlCQmMzbHVZMGwwWlhKaGRHOXlJRzlpYW1WamRITTdJSFJvWlhrZ2FuVnpkQ0J5WlhSMWNtNGdZU0JRY205dGFYTmxJR1p2Y2lCMGFHVWdkbUZzZFdVZ2IyWmNiaUFnTHk4Z2RHaGxJR1pwYm1Gc0lISmxjM1ZzZENCd2NtOWtkV05sWkNCaWVTQjBhR1VnYVhSbGNtRjBiM0l1WEc0Z0lHVjRjRzl5ZEhNdVlYTjVibU1nUFNCbWRXNWpkR2x2YmlocGJtNWxja1p1TENCdmRYUmxja1p1TENCelpXeG1MQ0IwY25sTWIyTnpUR2x6ZEN3Z1VISnZiV2x6WlVsdGNHd3BJSHRjYmlBZ0lDQnBaaUFvVUhKdmJXbHpaVWx0Y0d3Z1BUMDlJSFp2YVdRZ01Da2dVSEp2YldselpVbHRjR3dnUFNCUWNtOXRhWE5sTzF4dVhHNGdJQ0FnZG1GeUlHbDBaWElnUFNCdVpYY2dRWE41Ym1OSmRHVnlZWFJ2Y2loY2JpQWdJQ0FnSUhkeVlYQW9hVzV1WlhKR2Jpd2diM1YwWlhKR2Jpd2djMlZzWml3Z2RISjVURzlqYzB4cGMzUXBMRnh1SUNBZ0lDQWdVSEp2YldselpVbHRjR3hjYmlBZ0lDQXBPMXh1WEc0Z0lDQWdjbVYwZFhKdUlHVjRjRzl5ZEhNdWFYTkhaVzVsY21GMGIzSkdkVzVqZEdsdmJpaHZkWFJsY2tadUtWeHVJQ0FnSUNBZ1B5QnBkR1Z5SUM4dklFbG1JRzkxZEdWeVJtNGdhWE1nWVNCblpXNWxjbUYwYjNJc0lISmxkSFZ5YmlCMGFHVWdablZzYkNCcGRHVnlZWFJ2Y2k1Y2JpQWdJQ0FnSURvZ2FYUmxjaTV1WlhoMEtDa3VkR2hsYmlobWRXNWpkR2x2YmloeVpYTjFiSFFwSUh0Y2JpQWdJQ0FnSUNBZ0lDQnlaWFIxY200Z2NtVnpkV3gwTG1SdmJtVWdQeUJ5WlhOMWJIUXVkbUZzZFdVZ09pQnBkR1Z5TG01bGVIUW9LVHRjYmlBZ0lDQWdJQ0FnZlNrN1hHNGdJSDA3WEc1Y2JpQWdablZ1WTNScGIyNGdiV0ZyWlVsdWRtOXJaVTFsZEdodlpDaHBibTVsY2tadUxDQnpaV3htTENCamIyNTBaWGgwS1NCN1hHNGdJQ0FnZG1GeUlITjBZWFJsSUQwZ1IyVnVVM1JoZEdWVGRYTndaVzVrWldSVGRHRnlkRHRjYmx4dUlDQWdJSEpsZEhWeWJpQm1kVzVqZEdsdmJpQnBiblp2YTJVb2JXVjBhRzlrTENCaGNtY3BJSHRjYmlBZ0lDQWdJR2xtSUNoemRHRjBaU0E5UFQwZ1IyVnVVM1JoZEdWRmVHVmpkWFJwYm1jcElIdGNiaUFnSUNBZ0lDQWdkR2h5YjNjZ2JtVjNJRVZ5Y205eUtGd2lSMlZ1WlhKaGRHOXlJR2x6SUdGc2NtVmhaSGtnY25WdWJtbHVaMXdpS1R0Y2JpQWdJQ0FnSUgxY2JseHVJQ0FnSUNBZ2FXWWdLSE4wWVhSbElEMDlQU0JIWlc1VGRHRjBaVU52YlhCc1pYUmxaQ2tnZTF4dUlDQWdJQ0FnSUNCcFppQW9iV1YwYUc5a0lEMDlQU0JjSW5Sb2NtOTNYQ0lwSUh0Y2JpQWdJQ0FnSUNBZ0lDQjBhSEp2ZHlCaGNtYzdYRzRnSUNBZ0lDQWdJSDFjYmx4dUlDQWdJQ0FnSUNBdkx5QkNaU0JtYjNKbmFYWnBibWNzSUhCbGNpQXlOUzR6TGpNdU15NHpJRzltSUhSb1pTQnpjR1ZqT2x4dUlDQWdJQ0FnSUNBdkx5Qm9kSFJ3Y3pvdkwzQmxiM0JzWlM1dGIzcHBiR3hoTG05eVp5OSthbTl5Wlc1a2IzSm1aaTlsY3pZdFpISmhablF1YUhSdGJDTnpaV010WjJWdVpYSmhkRzl5Y21WemRXMWxYRzRnSUNBZ0lDQWdJSEpsZEhWeWJpQmtiMjVsVW1WemRXeDBLQ2s3WEc0Z0lDQWdJQ0I5WEc1Y2JpQWdJQ0FnSUdOdmJuUmxlSFF1YldWMGFHOWtJRDBnYldWMGFHOWtPMXh1SUNBZ0lDQWdZMjl1ZEdWNGRDNWhjbWNnUFNCaGNtYzdYRzVjYmlBZ0lDQWdJSGRvYVd4bElDaDBjblZsS1NCN1hHNGdJQ0FnSUNBZ0lIWmhjaUJrWld4bFoyRjBaU0E5SUdOdmJuUmxlSFF1WkdWc1pXZGhkR1U3WEc0Z0lDQWdJQ0FnSUdsbUlDaGtaV3hsWjJGMFpTa2dlMXh1SUNBZ0lDQWdJQ0FnSUhaaGNpQmtaV3hsWjJGMFpWSmxjM1ZzZENBOUlHMWhlV0psU1c1MmIydGxSR1ZzWldkaGRHVW9aR1ZzWldkaGRHVXNJR052Ym5SbGVIUXBPMXh1SUNBZ0lDQWdJQ0FnSUdsbUlDaGtaV3hsWjJGMFpWSmxjM1ZzZENrZ2UxeHVJQ0FnSUNBZ0lDQWdJQ0FnYVdZZ0tHUmxiR1ZuWVhSbFVtVnpkV3gwSUQwOVBTQkRiMjUwYVc1MVpWTmxiblJwYm1Wc0tTQmpiMjUwYVc1MVpUdGNiaUFnSUNBZ0lDQWdJQ0FnSUhKbGRIVnliaUJrWld4bFoyRjBaVkpsYzNWc2REdGNiaUFnSUNBZ0lDQWdJQ0I5WEc0Z0lDQWdJQ0FnSUgxY2JseHVJQ0FnSUNBZ0lDQnBaaUFvWTI5dWRHVjRkQzV0WlhSb2IyUWdQVDA5SUZ3aWJtVjRkRndpS1NCN1hHNGdJQ0FnSUNBZ0lDQWdMeThnVTJWMGRHbHVaeUJqYjI1MFpYaDBMbDl6Wlc1MElHWnZjaUJzWldkaFkza2djM1Z3Y0c5eWRDQnZaaUJDWVdKbGJDZHpYRzRnSUNBZ0lDQWdJQ0FnTHk4Z1puVnVZM1JwYjI0dWMyVnVkQ0JwYlhCc1pXMWxiblJoZEdsdmJpNWNiaUFnSUNBZ0lDQWdJQ0JqYjI1MFpYaDBMbk5sYm5RZ1BTQmpiMjUwWlhoMExsOXpaVzUwSUQwZ1kyOXVkR1Y0ZEM1aGNtYzdYRzVjYmlBZ0lDQWdJQ0FnZlNCbGJITmxJR2xtSUNoamIyNTBaWGgwTG0xbGRHaHZaQ0E5UFQwZ1hDSjBhSEp2ZDF3aUtTQjdYRzRnSUNBZ0lDQWdJQ0FnYVdZZ0tITjBZWFJsSUQwOVBTQkhaVzVUZEdGMFpWTjFjM0JsYm1SbFpGTjBZWEowS1NCN1hHNGdJQ0FnSUNBZ0lDQWdJQ0J6ZEdGMFpTQTlJRWRsYmxOMFlYUmxRMjl0Y0d4bGRHVmtPMXh1SUNBZ0lDQWdJQ0FnSUNBZ2RHaHliM2NnWTI5dWRHVjRkQzVoY21jN1hHNGdJQ0FnSUNBZ0lDQWdmVnh1WEc0Z0lDQWdJQ0FnSUNBZ1kyOXVkR1Y0ZEM1a2FYTndZWFJqYUVWNFkyVndkR2x2YmloamIyNTBaWGgwTG1GeVp5azdYRzVjYmlBZ0lDQWdJQ0FnZlNCbGJITmxJR2xtSUNoamIyNTBaWGgwTG0xbGRHaHZaQ0E5UFQwZ1hDSnlaWFIxY201Y0lpa2dlMXh1SUNBZ0lDQWdJQ0FnSUdOdmJuUmxlSFF1WVdKeWRYQjBLRndpY21WMGRYSnVYQ0lzSUdOdmJuUmxlSFF1WVhKbktUdGNiaUFnSUNBZ0lDQWdmVnh1WEc0Z0lDQWdJQ0FnSUhOMFlYUmxJRDBnUjJWdVUzUmhkR1ZGZUdWamRYUnBibWM3WEc1Y2JpQWdJQ0FnSUNBZ2RtRnlJSEpsWTI5eVpDQTlJSFJ5ZVVOaGRHTm9LR2x1Ym1WeVJtNHNJSE5sYkdZc0lHTnZiblJsZUhRcE8xeHVJQ0FnSUNBZ0lDQnBaaUFvY21WamIzSmtMblI1Y0dVZ1BUMDlJRndpYm05eWJXRnNYQ0lwSUh0Y2JpQWdJQ0FnSUNBZ0lDQXZMeUJKWmlCaGJpQmxlR05sY0hScGIyNGdhWE1nZEdoeWIzZHVJR1p5YjIwZ2FXNXVaWEpHYml3Z2QyVWdiR1ZoZG1VZ2MzUmhkR1VnUFQwOVhHNGdJQ0FnSUNBZ0lDQWdMeThnUjJWdVUzUmhkR1ZGZUdWamRYUnBibWNnWVc1a0lHeHZiM0FnWW1GamF5Qm1iM0lnWVc1dmRHaGxjaUJwYm5adlkyRjBhVzl1TGx4dUlDQWdJQ0FnSUNBZ0lITjBZWFJsSUQwZ1kyOXVkR1Y0ZEM1a2IyNWxYRzRnSUNBZ0lDQWdJQ0FnSUNBL0lFZGxibE4wWVhSbFEyOXRjR3hsZEdWa1hHNGdJQ0FnSUNBZ0lDQWdJQ0E2SUVkbGJsTjBZWFJsVTNWemNHVnVaR1ZrV1dsbGJHUTdYRzVjYmlBZ0lDQWdJQ0FnSUNCcFppQW9jbVZqYjNKa0xtRnlaeUE5UFQwZ1EyOXVkR2x1ZFdWVFpXNTBhVzVsYkNrZ2UxeHVJQ0FnSUNBZ0lDQWdJQ0FnWTI5dWRHbHVkV1U3WEc0Z0lDQWdJQ0FnSUNBZ2ZWeHVYRzRnSUNBZ0lDQWdJQ0FnY21WMGRYSnVJSHRjYmlBZ0lDQWdJQ0FnSUNBZ0lIWmhiSFZsT2lCeVpXTnZjbVF1WVhKbkxGeHVJQ0FnSUNBZ0lDQWdJQ0FnWkc5dVpUb2dZMjl1ZEdWNGRDNWtiMjVsWEc0Z0lDQWdJQ0FnSUNBZ2ZUdGNibHh1SUNBZ0lDQWdJQ0I5SUdWc2MyVWdhV1lnS0hKbFkyOXlaQzUwZVhCbElEMDlQU0JjSW5Sb2NtOTNYQ0lwSUh0Y2JpQWdJQ0FnSUNBZ0lDQnpkR0YwWlNBOUlFZGxibE4wWVhSbFEyOXRjR3hsZEdWa08xeHVJQ0FnSUNBZ0lDQWdJQzh2SUVScGMzQmhkR05vSUhSb1pTQmxlR05sY0hScGIyNGdZbmtnYkc5dmNHbHVaeUJpWVdOcklHRnliM1Z1WkNCMGJ5QjBhR1ZjYmlBZ0lDQWdJQ0FnSUNBdkx5QmpiMjUwWlhoMExtUnBjM0JoZEdOb1JYaGpaWEIwYVc5dUtHTnZiblJsZUhRdVlYSm5LU0JqWVd4c0lHRmliM1psTGx4dUlDQWdJQ0FnSUNBZ0lHTnZiblJsZUhRdWJXVjBhRzlrSUQwZ1hDSjBhSEp2ZDF3aU8xeHVJQ0FnSUNBZ0lDQWdJR052Ym5SbGVIUXVZWEpuSUQwZ2NtVmpiM0prTG1GeVp6dGNiaUFnSUNBZ0lDQWdmVnh1SUNBZ0lDQWdmVnh1SUNBZ0lIMDdYRzRnSUgxY2JseHVJQ0F2THlCRFlXeHNJR1JsYkdWbllYUmxMbWwwWlhKaGRHOXlXMk52Ym5SbGVIUXViV1YwYUc5a1hTaGpiMjUwWlhoMExtRnlaeWtnWVc1a0lHaGhibVJzWlNCMGFHVmNiaUFnTHk4Z2NtVnpkV3gwTENCbGFYUm9aWElnWW5rZ2NtVjBkWEp1YVc1bklHRWdleUIyWVd4MVpTd2daRzl1WlNCOUlISmxjM1ZzZENCbWNtOXRJSFJvWlZ4dUlDQXZMeUJrWld4bFoyRjBaU0JwZEdWeVlYUnZjaXdnYjNJZ1lua2diVzlrYVdaNWFXNW5JR052Ym5SbGVIUXViV1YwYUc5a0lHRnVaQ0JqYjI1MFpYaDBMbUZ5Wnl4Y2JpQWdMeThnYzJWMGRHbHVaeUJqYjI1MFpYaDBMbVJsYkdWbllYUmxJSFJ2SUc1MWJHd3NJR0Z1WkNCeVpYUjFjbTVwYm1jZ2RHaGxJRU52Ym5ScGJuVmxVMlZ1ZEdsdVpXd3VYRzRnSUdaMWJtTjBhVzl1SUcxaGVXSmxTVzUyYjJ0bFJHVnNaV2RoZEdVb1pHVnNaV2RoZEdVc0lHTnZiblJsZUhRcElIdGNiaUFnSUNCMllYSWdiV1YwYUc5a0lEMGdaR1ZzWldkaGRHVXVhWFJsY21GMGIzSmJZMjl1ZEdWNGRDNXRaWFJvYjJSZE8xeHVJQ0FnSUdsbUlDaHRaWFJvYjJRZ1BUMDlJSFZ1WkdWbWFXNWxaQ2tnZTF4dUlDQWdJQ0FnTHk4Z1FTQXVkR2h5YjNjZ2IzSWdMbkpsZEhWeWJpQjNhR1Z1SUhSb1pTQmtaV3hsWjJGMFpTQnBkR1Z5WVhSdmNpQm9ZWE1nYm04Z0xuUm9jbTkzWEc0Z0lDQWdJQ0F2THlCdFpYUm9iMlFnWVd4M1lYbHpJSFJsY20xcGJtRjBaWE1nZEdobElIbHBaV3hrS2lCc2IyOXdMbHh1SUNBZ0lDQWdZMjl1ZEdWNGRDNWtaV3hsWjJGMFpTQTlJRzUxYkd3N1hHNWNiaUFnSUNBZ0lHbG1JQ2hqYjI1MFpYaDBMbTFsZEdodlpDQTlQVDBnWENKMGFISnZkMXdpS1NCN1hHNGdJQ0FnSUNBZ0lDOHZJRTV2ZEdVNklGdGNJbkpsZEhWeWJsd2lYU0J0ZFhOMElHSmxJSFZ6WldRZ1ptOXlJRVZUTXlCd1lYSnphVzVuSUdOdmJYQmhkR2xpYVd4cGRIa3VYRzRnSUNBZ0lDQWdJR2xtSUNoa1pXeGxaMkYwWlM1cGRHVnlZWFJ2Y2x0Y0luSmxkSFZ5Ymx3aVhTa2dlMXh1SUNBZ0lDQWdJQ0FnSUM4dklFbG1JSFJvWlNCa1pXeGxaMkYwWlNCcGRHVnlZWFJ2Y2lCb1lYTWdZU0J5WlhSMWNtNGdiV1YwYUc5a0xDQm5hWFpsSUdsMElHRmNiaUFnSUNBZ0lDQWdJQ0F2THlCamFHRnVZMlVnZEc4Z1kyeGxZVzRnZFhBdVhHNGdJQ0FnSUNBZ0lDQWdZMjl1ZEdWNGRDNXRaWFJvYjJRZ1BTQmNJbkpsZEhWeWJsd2lPMXh1SUNBZ0lDQWdJQ0FnSUdOdmJuUmxlSFF1WVhKbklEMGdkVzVrWldacGJtVmtPMXh1SUNBZ0lDQWdJQ0FnSUcxaGVXSmxTVzUyYjJ0bFJHVnNaV2RoZEdVb1pHVnNaV2RoZEdVc0lHTnZiblJsZUhRcE8xeHVYRzRnSUNBZ0lDQWdJQ0FnYVdZZ0tHTnZiblJsZUhRdWJXVjBhRzlrSUQwOVBTQmNJblJvY205M1hDSXBJSHRjYmlBZ0lDQWdJQ0FnSUNBZ0lDOHZJRWxtSUcxaGVXSmxTVzUyYjJ0bFJHVnNaV2RoZEdVb1kyOXVkR1Y0ZENrZ1kyaGhibWRsWkNCamIyNTBaWGgwTG0xbGRHaHZaQ0JtY205dFhHNGdJQ0FnSUNBZ0lDQWdJQ0F2THlCY0luSmxkSFZ5Ymx3aUlIUnZJRndpZEdoeWIzZGNJaXdnYkdWMElIUm9ZWFFnYjNabGNuSnBaR1VnZEdobElGUjVjR1ZGY25KdmNpQmlaV3h2ZHk1Y2JpQWdJQ0FnSUNBZ0lDQWdJSEpsZEhWeWJpQkRiMjUwYVc1MVpWTmxiblJwYm1Wc08xeHVJQ0FnSUNBZ0lDQWdJSDFjYmlBZ0lDQWdJQ0FnZlZ4dVhHNGdJQ0FnSUNBZ0lHTnZiblJsZUhRdWJXVjBhRzlrSUQwZ1hDSjBhSEp2ZDF3aU8xeHVJQ0FnSUNBZ0lDQmpiMjUwWlhoMExtRnlaeUE5SUc1bGR5QlVlWEJsUlhKeWIzSW9YRzRnSUNBZ0lDQWdJQ0FnWENKVWFHVWdhWFJsY21GMGIzSWdaRzlsY3lCdWIzUWdjSEp2ZG1sa1pTQmhJQ2QwYUhKdmR5Y2diV1YwYUc5a1hDSXBPMXh1SUNBZ0lDQWdmVnh1WEc0Z0lDQWdJQ0J5WlhSMWNtNGdRMjl1ZEdsdWRXVlRaVzUwYVc1bGJEdGNiaUFnSUNCOVhHNWNiaUFnSUNCMllYSWdjbVZqYjNKa0lEMGdkSEo1UTJGMFkyZ29iV1YwYUc5a0xDQmtaV3hsWjJGMFpTNXBkR1Z5WVhSdmNpd2dZMjl1ZEdWNGRDNWhjbWNwTzF4dVhHNGdJQ0FnYVdZZ0tISmxZMjl5WkM1MGVYQmxJRDA5UFNCY0luUm9jbTkzWENJcElIdGNiaUFnSUNBZ0lHTnZiblJsZUhRdWJXVjBhRzlrSUQwZ1hDSjBhSEp2ZDF3aU8xeHVJQ0FnSUNBZ1kyOXVkR1Y0ZEM1aGNtY2dQU0J5WldOdmNtUXVZWEpuTzF4dUlDQWdJQ0FnWTI5dWRHVjRkQzVrWld4bFoyRjBaU0E5SUc1MWJHdzdYRzRnSUNBZ0lDQnlaWFIxY200Z1EyOXVkR2x1ZFdWVFpXNTBhVzVsYkR0Y2JpQWdJQ0I5WEc1Y2JpQWdJQ0IyWVhJZ2FXNW1ieUE5SUhKbFkyOXlaQzVoY21jN1hHNWNiaUFnSUNCcFppQW9JU0JwYm1adktTQjdYRzRnSUNBZ0lDQmpiMjUwWlhoMExtMWxkR2h2WkNBOUlGd2lkR2h5YjNkY0lqdGNiaUFnSUNBZ0lHTnZiblJsZUhRdVlYSm5JRDBnYm1WM0lGUjVjR1ZGY25KdmNpaGNJbWwwWlhKaGRHOXlJSEpsYzNWc2RDQnBjeUJ1YjNRZ1lXNGdiMkpxWldOMFhDSXBPMXh1SUNBZ0lDQWdZMjl1ZEdWNGRDNWtaV3hsWjJGMFpTQTlJRzUxYkd3N1hHNGdJQ0FnSUNCeVpYUjFjbTRnUTI5dWRHbHVkV1ZUWlc1MGFXNWxiRHRjYmlBZ0lDQjlYRzVjYmlBZ0lDQnBaaUFvYVc1bWJ5NWtiMjVsS1NCN1hHNGdJQ0FnSUNBdkx5QkJjM05wWjI0Z2RHaGxJSEpsYzNWc2RDQnZaaUIwYUdVZ1ptbHVhWE5vWldRZ1pHVnNaV2RoZEdVZ2RHOGdkR2hsSUhSbGJYQnZjbUZ5ZVZ4dUlDQWdJQ0FnTHk4Z2RtRnlhV0ZpYkdVZ2MzQmxZMmxtYVdWa0lHSjVJR1JsYkdWbllYUmxMbkpsYzNWc2RFNWhiV1VnS0hObFpTQmtaV3hsWjJGMFpWbHBaV3hrS1M1Y2JpQWdJQ0FnSUdOdmJuUmxlSFJiWkdWc1pXZGhkR1V1Y21WemRXeDBUbUZ0WlYwZ1BTQnBibVp2TG5aaGJIVmxPMXh1WEc0Z0lDQWdJQ0F2THlCU1pYTjFiV1VnWlhobFkzVjBhVzl1SUdGMElIUm9aU0JrWlhOcGNtVmtJR3h2WTJGMGFXOXVJQ2h6WldVZ1pHVnNaV2RoZEdWWmFXVnNaQ2t1WEc0Z0lDQWdJQ0JqYjI1MFpYaDBMbTVsZUhRZ1BTQmtaV3hsWjJGMFpTNXVaWGgwVEc5ak8xeHVYRzRnSUNBZ0lDQXZMeUJKWmlCamIyNTBaWGgwTG0xbGRHaHZaQ0IzWVhNZ1hDSjBhSEp2ZDF3aUlHSjFkQ0IwYUdVZ1pHVnNaV2RoZEdVZ2FHRnVaR3hsWkNCMGFHVmNiaUFnSUNBZ0lDOHZJR1Y0WTJWd2RHbHZiaXdnYkdWMElIUm9aU0J2ZFhSbGNpQm5aVzVsY21GMGIzSWdjSEp2WTJWbFpDQnViM0p0WVd4c2VTNGdTV1pjYmlBZ0lDQWdJQzh2SUdOdmJuUmxlSFF1YldWMGFHOWtJSGRoY3lCY0ltNWxlSFJjSWl3Z1ptOXlaMlYwSUdOdmJuUmxlSFF1WVhKbklITnBibU5sSUdsMElHaGhjeUJpWldWdVhHNGdJQ0FnSUNBdkx5QmNJbU52Ym5OMWJXVmtYQ0lnWW5rZ2RHaGxJR1JsYkdWbllYUmxJR2wwWlhKaGRHOXlMaUJKWmlCamIyNTBaWGgwTG0xbGRHaHZaQ0IzWVhOY2JpQWdJQ0FnSUM4dklGd2ljbVYwZFhKdVhDSXNJR0ZzYkc5M0lIUm9aU0J2Y21sbmFXNWhiQ0F1Y21WMGRYSnVJR05oYkd3Z2RHOGdZMjl1ZEdsdWRXVWdhVzRnZEdobFhHNGdJQ0FnSUNBdkx5QnZkWFJsY2lCblpXNWxjbUYwYjNJdVhHNGdJQ0FnSUNCcFppQW9ZMjl1ZEdWNGRDNXRaWFJvYjJRZ0lUMDlJRndpY21WMGRYSnVYQ0lwSUh0Y2JpQWdJQ0FnSUNBZ1kyOXVkR1Y0ZEM1dFpYUm9iMlFnUFNCY0ltNWxlSFJjSWp0Y2JpQWdJQ0FnSUNBZ1kyOXVkR1Y0ZEM1aGNtY2dQU0IxYm1SbFptbHVaV1E3WEc0Z0lDQWdJQ0I5WEc1Y2JpQWdJQ0I5SUdWc2MyVWdlMXh1SUNBZ0lDQWdMeThnVW1VdGVXbGxiR1FnZEdobElISmxjM1ZzZENCeVpYUjFjbTVsWkNCaWVTQjBhR1VnWkdWc1pXZGhkR1VnYldWMGFHOWtMbHh1SUNBZ0lDQWdjbVYwZFhKdUlHbHVabTg3WEc0Z0lDQWdmVnh1WEc0Z0lDQWdMeThnVkdobElHUmxiR1ZuWVhSbElHbDBaWEpoZEc5eUlHbHpJR1pwYm1semFHVmtMQ0J6YnlCbWIzSm5aWFFnYVhRZ1lXNWtJR052Ym5ScGJuVmxJSGRwZEdoY2JpQWdJQ0F2THlCMGFHVWdiM1YwWlhJZ1oyVnVaWEpoZEc5eUxseHVJQ0FnSUdOdmJuUmxlSFF1WkdWc1pXZGhkR1VnUFNCdWRXeHNPMXh1SUNBZ0lISmxkSFZ5YmlCRGIyNTBhVzUxWlZObGJuUnBibVZzTzF4dUlDQjlYRzVjYmlBZ0x5OGdSR1ZtYVc1bElFZGxibVZ5WVhSdmNpNXdjbTkwYjNSNWNHVXVlMjVsZUhRc2RHaHliM2NzY21WMGRYSnVmU0JwYmlCMFpYSnRjeUJ2WmlCMGFHVmNiaUFnTHk4Z2RXNXBabWxsWkNBdVgybHVkbTlyWlNCb1pXeHdaWElnYldWMGFHOWtMbHh1SUNCa1pXWnBibVZKZEdWeVlYUnZjazFsZEdodlpITW9SM0FwTzF4dVhHNGdJR1JsWm1sdVpTaEhjQ3dnZEc5VGRISnBibWRVWVdkVGVXMWliMndzSUZ3aVIyVnVaWEpoZEc5eVhDSXBPMXh1WEc0Z0lDOHZJRUVnUjJWdVpYSmhkRzl5SUhOb2IzVnNaQ0JoYkhkaGVYTWdjbVYwZFhKdUlHbDBjMlZzWmlCaGN5QjBhR1VnYVhSbGNtRjBiM0lnYjJKcVpXTjBJSGRvWlc0Z2RHaGxYRzRnSUM4dklFQkFhWFJsY21GMGIzSWdablZ1WTNScGIyNGdhWE1nWTJGc2JHVmtJRzl1SUdsMExpQlRiMjFsSUdKeWIzZHpaWEp6SnlCcGJYQnNaVzFsYm5SaGRHbHZibk1nYjJZZ2RHaGxYRzRnSUM4dklHbDBaWEpoZEc5eUlIQnliM1J2ZEhsd1pTQmphR0ZwYmlCcGJtTnZjbkpsWTNSc2VTQnBiWEJzWlcxbGJuUWdkR2hwY3l3Z1kyRjFjMmx1WnlCMGFHVWdSMlZ1WlhKaGRHOXlYRzRnSUM4dklHOWlhbVZqZENCMGJ5QnViM1FnWW1VZ2NtVjBkWEp1WldRZ1puSnZiU0IwYUdseklHTmhiR3d1SUZSb2FYTWdaVzV6ZFhKbGN5QjBhR0YwSUdSdlpYTnVKM1FnYUdGd2NHVnVMbHh1SUNBdkx5QlRaV1VnYUhSMGNITTZMeTluYVhSb2RXSXVZMjl0TDJaaFkyVmliMjlyTDNKbFoyVnVaWEpoZEc5eUwybHpjM1ZsY3k4eU56UWdabTl5SUcxdmNtVWdaR1YwWVdsc2N5NWNiaUFnUjNCYmFYUmxjbUYwYjNKVGVXMWliMnhkSUQwZ1puVnVZM1JwYjI0b0tTQjdYRzRnSUNBZ2NtVjBkWEp1SUhSb2FYTTdYRzRnSUgwN1hHNWNiaUFnUjNBdWRHOVRkSEpwYm1jZ1BTQm1kVzVqZEdsdmJpZ3BJSHRjYmlBZ0lDQnlaWFIxY200Z1hDSmJiMkpxWldOMElFZGxibVZ5WVhSdmNsMWNJanRjYmlBZ2ZUdGNibHh1SUNCbWRXNWpkR2x2YmlCd2RYTm9WSEo1Ulc1MGNua29iRzlqY3lrZ2UxeHVJQ0FnSUhaaGNpQmxiblJ5ZVNBOUlIc2dkSEo1VEc5ak9pQnNiMk56V3pCZElIMDdYRzVjYmlBZ0lDQnBaaUFvTVNCcGJpQnNiMk56S1NCN1hHNGdJQ0FnSUNCbGJuUnllUzVqWVhSamFFeHZZeUE5SUd4dlkzTmJNVjA3WEc0Z0lDQWdmVnh1WEc0Z0lDQWdhV1lnS0RJZ2FXNGdiRzlqY3lrZ2UxeHVJQ0FnSUNBZ1pXNTBjbmt1Wm1sdVlXeHNlVXh2WXlBOUlHeHZZM05iTWwwN1hHNGdJQ0FnSUNCbGJuUnllUzVoWm5SbGNreHZZeUE5SUd4dlkzTmJNMTA3WEc0Z0lDQWdmVnh1WEc0Z0lDQWdkR2hwY3k1MGNubEZiblJ5YVdWekxuQjFjMmdvWlc1MGNua3BPMXh1SUNCOVhHNWNiaUFnWm5WdVkzUnBiMjRnY21WelpYUlVjbmxGYm5SeWVTaGxiblJ5ZVNrZ2UxeHVJQ0FnSUhaaGNpQnlaV052Y21RZ1BTQmxiblJ5ZVM1amIyMXdiR1YwYVc5dUlIeDhJSHQ5TzF4dUlDQWdJSEpsWTI5eVpDNTBlWEJsSUQwZ1hDSnViM0p0WVd4Y0lqdGNiaUFnSUNCa1pXeGxkR1VnY21WamIzSmtMbUZ5Wnp0Y2JpQWdJQ0JsYm5SeWVTNWpiMjF3YkdWMGFXOXVJRDBnY21WamIzSmtPMXh1SUNCOVhHNWNiaUFnWm5WdVkzUnBiMjRnUTI5dWRHVjRkQ2gwY25sTWIyTnpUR2x6ZENrZ2UxeHVJQ0FnSUM4dklGUm9aU0J5YjI5MElHVnVkSEo1SUc5aWFtVmpkQ0FvWldabVpXTjBhWFpsYkhrZ1lTQjBjbmtnYzNSaGRHVnRaVzUwSUhkcGRHaHZkWFFnWVNCallYUmphRnh1SUNBZ0lDOHZJRzl5SUdFZ1ptbHVZV3hzZVNCaWJHOWpheWtnWjJsMlpYTWdkWE1nWVNCd2JHRmpaU0IwYnlCemRHOXlaU0IyWVd4MVpYTWdkR2h5YjNkdUlHWnliMjFjYmlBZ0lDQXZMeUJzYjJOaGRHbHZibk1nZDJobGNtVWdkR2hsY21VZ2FYTWdibThnWlc1amJHOXphVzVuSUhSeWVTQnpkR0YwWlcxbGJuUXVYRzRnSUNBZ2RHaHBjeTUwY25sRmJuUnlhV1Z6SUQwZ1czc2dkSEo1VEc5ak9pQmNJbkp2YjNSY0lpQjlYVHRjYmlBZ0lDQjBjbmxNYjJOelRHbHpkQzVtYjNKRllXTm9LSEIxYzJoVWNubEZiblJ5ZVN3Z2RHaHBjeWs3WEc0Z0lDQWdkR2hwY3k1eVpYTmxkQ2gwY25WbEtUdGNiaUFnZlZ4dVhHNGdJR1Y0Y0c5eWRITXVhMlY1Y3lBOUlHWjFibU4wYVc5dUtHOWlhbVZqZENrZ2UxeHVJQ0FnSUhaaGNpQnJaWGx6SUQwZ1cxMDdYRzRnSUNBZ1ptOXlJQ2gyWVhJZ2EyVjVJR2x1SUc5aWFtVmpkQ2tnZTF4dUlDQWdJQ0FnYTJWNWN5NXdkWE5vS0d0bGVTazdYRzRnSUNBZ2ZWeHVJQ0FnSUd0bGVYTXVjbVYyWlhKelpTZ3BPMXh1WEc0Z0lDQWdMeThnVW1GMGFHVnlJSFJvWVc0Z2NtVjBkWEp1YVc1bklHRnVJRzlpYW1WamRDQjNhWFJvSUdFZ2JtVjRkQ0J0WlhSb2IyUXNJSGRsSUd0bFpYQmNiaUFnSUNBdkx5QjBhR2x1WjNNZ2MybHRjR3hsSUdGdVpDQnlaWFIxY200Z2RHaGxJRzVsZUhRZ1puVnVZM1JwYjI0Z2FYUnpaV3htTGx4dUlDQWdJSEpsZEhWeWJpQm1kVzVqZEdsdmJpQnVaWGgwS0NrZ2UxeHVJQ0FnSUNBZ2QyaHBiR1VnS0d0bGVYTXViR1Z1WjNSb0tTQjdYRzRnSUNBZ0lDQWdJSFpoY2lCclpYa2dQU0JyWlhsekxuQnZjQ2dwTzF4dUlDQWdJQ0FnSUNCcFppQW9hMlY1SUdsdUlHOWlhbVZqZENrZ2UxeHVJQ0FnSUNBZ0lDQWdJRzVsZUhRdWRtRnNkV1VnUFNCclpYazdYRzRnSUNBZ0lDQWdJQ0FnYm1WNGRDNWtiMjVsSUQwZ1ptRnNjMlU3WEc0Z0lDQWdJQ0FnSUNBZ2NtVjBkWEp1SUc1bGVIUTdYRzRnSUNBZ0lDQWdJSDFjYmlBZ0lDQWdJSDFjYmx4dUlDQWdJQ0FnTHk4Z1ZHOGdZWFp2YVdRZ1kzSmxZWFJwYm1jZ1lXNGdZV1JrYVhScGIyNWhiQ0J2WW1wbFkzUXNJSGRsSUdwMWMzUWdhR0Z1WnlCMGFHVWdMblpoYkhWbFhHNGdJQ0FnSUNBdkx5QmhibVFnTG1SdmJtVWdjSEp2Y0dWeWRHbGxjeUJ2Wm1ZZ2RHaGxJRzVsZUhRZ1puVnVZM1JwYjI0Z2IySnFaV04wSUdsMGMyVnNaaTRnVkdocGMxeHVJQ0FnSUNBZ0x5OGdZV3h6YnlCbGJuTjFjbVZ6SUhSb1lYUWdkR2hsSUcxcGJtbG1hV1Z5SUhkcGJHd2dibTkwSUdGdWIyNTViV2w2WlNCMGFHVWdablZ1WTNScGIyNHVYRzRnSUNBZ0lDQnVaWGgwTG1SdmJtVWdQU0IwY25WbE8xeHVJQ0FnSUNBZ2NtVjBkWEp1SUc1bGVIUTdYRzRnSUNBZ2ZUdGNiaUFnZlR0Y2JseHVJQ0JtZFc1amRHbHZiaUIyWVd4MVpYTW9hWFJsY21GaWJHVXBJSHRjYmlBZ0lDQnBaaUFvYVhSbGNtRmliR1VwSUh0Y2JpQWdJQ0FnSUhaaGNpQnBkR1Z5WVhSdmNrMWxkR2h2WkNBOUlHbDBaWEpoWW14bFcybDBaWEpoZEc5eVUzbHRZbTlzWFR0Y2JpQWdJQ0FnSUdsbUlDaHBkR1Z5WVhSdmNrMWxkR2h2WkNrZ2UxeHVJQ0FnSUNBZ0lDQnlaWFIxY200Z2FYUmxjbUYwYjNKTlpYUm9iMlF1WTJGc2JDaHBkR1Z5WVdKc1pTazdYRzRnSUNBZ0lDQjlYRzVjYmlBZ0lDQWdJR2xtSUNoMGVYQmxiMllnYVhSbGNtRmliR1V1Ym1WNGRDQTlQVDBnWENKbWRXNWpkR2x2Ymx3aUtTQjdYRzRnSUNBZ0lDQWdJSEpsZEhWeWJpQnBkR1Z5WVdKc1pUdGNiaUFnSUNBZ0lIMWNibHh1SUNBZ0lDQWdhV1lnS0NGcGMwNWhUaWhwZEdWeVlXSnNaUzVzWlc1bmRHZ3BLU0I3WEc0Z0lDQWdJQ0FnSUhaaGNpQnBJRDBnTFRFc0lHNWxlSFFnUFNCbWRXNWpkR2x2YmlCdVpYaDBLQ2tnZTF4dUlDQWdJQ0FnSUNBZ0lIZG9hV3hsSUNncksya2dQQ0JwZEdWeVlXSnNaUzVzWlc1bmRHZ3BJSHRjYmlBZ0lDQWdJQ0FnSUNBZ0lHbG1JQ2hvWVhOUGQyNHVZMkZzYkNocGRHVnlZV0pzWlN3Z2FTa3BJSHRjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdibVY0ZEM1MllXeDFaU0E5SUdsMFpYSmhZbXhsVzJsZE8xeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNCdVpYaDBMbVJ2Ym1VZ1BTQm1ZV3h6WlR0Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnY21WMGRYSnVJRzVsZUhRN1hHNGdJQ0FnSUNBZ0lDQWdJQ0I5WEc0Z0lDQWdJQ0FnSUNBZ2ZWeHVYRzRnSUNBZ0lDQWdJQ0FnYm1WNGRDNTJZV3gxWlNBOUlIVnVaR1ZtYVc1bFpEdGNiaUFnSUNBZ0lDQWdJQ0J1WlhoMExtUnZibVVnUFNCMGNuVmxPMXh1WEc0Z0lDQWdJQ0FnSUNBZ2NtVjBkWEp1SUc1bGVIUTdYRzRnSUNBZ0lDQWdJSDA3WEc1Y2JpQWdJQ0FnSUNBZ2NtVjBkWEp1SUc1bGVIUXVibVY0ZENBOUlHNWxlSFE3WEc0Z0lDQWdJQ0I5WEc0Z0lDQWdmVnh1WEc0Z0lDQWdMeThnVW1WMGRYSnVJR0Z1SUdsMFpYSmhkRzl5SUhkcGRHZ2dibThnZG1Gc2RXVnpMbHh1SUNBZ0lISmxkSFZ5YmlCN0lHNWxlSFE2SUdSdmJtVlNaWE4xYkhRZ2ZUdGNiaUFnZlZ4dUlDQmxlSEJ2Y25SekxuWmhiSFZsY3lBOUlIWmhiSFZsY3p0Y2JseHVJQ0JtZFc1amRHbHZiaUJrYjI1bFVtVnpkV3gwS0NrZ2UxeHVJQ0FnSUhKbGRIVnliaUI3SUhaaGJIVmxPaUIxYm1SbFptbHVaV1FzSUdSdmJtVTZJSFJ5ZFdVZ2ZUdGNiaUFnZlZ4dVhHNGdJRU52Ym5SbGVIUXVjSEp2ZEc5MGVYQmxJRDBnZTF4dUlDQWdJR052Ym5OMGNuVmpkRzl5T2lCRGIyNTBaWGgwTEZ4dVhHNGdJQ0FnY21WelpYUTZJR1oxYm1OMGFXOXVLSE5yYVhCVVpXMXdVbVZ6WlhRcElIdGNiaUFnSUNBZ0lIUm9hWE11Y0hKbGRpQTlJREE3WEc0Z0lDQWdJQ0IwYUdsekxtNWxlSFFnUFNBd08xeHVJQ0FnSUNBZ0x5OGdVbVZ6WlhSMGFXNW5JR052Ym5SbGVIUXVYM05sYm5RZ1ptOXlJR3hsWjJGamVTQnpkWEJ3YjNKMElHOW1JRUpoWW1Wc0ozTmNiaUFnSUNBZ0lDOHZJR1oxYm1OMGFXOXVMbk5sYm5RZ2FXMXdiR1Z0Wlc1MFlYUnBiMjR1WEc0Z0lDQWdJQ0IwYUdsekxuTmxiblFnUFNCMGFHbHpMbDl6Wlc1MElEMGdkVzVrWldacGJtVmtPMXh1SUNBZ0lDQWdkR2hwY3k1a2IyNWxJRDBnWm1Gc2MyVTdYRzRnSUNBZ0lDQjBhR2x6TG1SbGJHVm5ZWFJsSUQwZ2JuVnNiRHRjYmx4dUlDQWdJQ0FnZEdocGN5NXRaWFJvYjJRZ1BTQmNJbTVsZUhSY0lqdGNiaUFnSUNBZ0lIUm9hWE11WVhKbklEMGdkVzVrWldacGJtVmtPMXh1WEc0Z0lDQWdJQ0IwYUdsekxuUnllVVZ1ZEhKcFpYTXVabTl5UldGamFDaHlaWE5sZEZSeWVVVnVkSEo1S1R0Y2JseHVJQ0FnSUNBZ2FXWWdLQ0Z6YTJsd1ZHVnRjRkpsYzJWMEtTQjdYRzRnSUNBZ0lDQWdJR1p2Y2lBb2RtRnlJRzVoYldVZ2FXNGdkR2hwY3lrZ2UxeHVJQ0FnSUNBZ0lDQWdJQzh2SUU1dmRDQnpkWEpsSUdGaWIzVjBJSFJvWlNCdmNIUnBiV0ZzSUc5eVpHVnlJRzltSUhSb1pYTmxJR052Ym1ScGRHbHZibk02WEc0Z0lDQWdJQ0FnSUNBZ2FXWWdLRzVoYldVdVkyaGhja0YwS0RBcElEMDlQU0JjSW5SY0lpQW1KbHh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQm9ZWE5QZDI0dVkyRnNiQ2gwYUdsekxDQnVZVzFsS1NBbUpseHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBaGFYTk9ZVTRvSzI1aGJXVXVjMnhwWTJVb01Ta3BLU0I3WEc0Z0lDQWdJQ0FnSUNBZ0lDQjBhR2x6VzI1aGJXVmRJRDBnZFc1a1pXWnBibVZrTzF4dUlDQWdJQ0FnSUNBZ0lIMWNiaUFnSUNBZ0lDQWdmVnh1SUNBZ0lDQWdmVnh1SUNBZ0lIMHNYRzVjYmlBZ0lDQnpkRzl3T2lCbWRXNWpkR2x2YmlncElIdGNiaUFnSUNBZ0lIUm9hWE11Wkc5dVpTQTlJSFJ5ZFdVN1hHNWNiaUFnSUNBZ0lIWmhjaUJ5YjI5MFJXNTBjbmtnUFNCMGFHbHpMblJ5ZVVWdWRISnBaWE5iTUYwN1hHNGdJQ0FnSUNCMllYSWdjbTl2ZEZKbFkyOXlaQ0E5SUhKdmIzUkZiblJ5ZVM1amIyMXdiR1YwYVc5dU8xeHVJQ0FnSUNBZ2FXWWdLSEp2YjNSU1pXTnZjbVF1ZEhsd1pTQTlQVDBnWENKMGFISnZkMXdpS1NCN1hHNGdJQ0FnSUNBZ0lIUm9jbTkzSUhKdmIzUlNaV052Y21RdVlYSm5PMXh1SUNBZ0lDQWdmVnh1WEc0Z0lDQWdJQ0J5WlhSMWNtNGdkR2hwY3k1eWRtRnNPMXh1SUNBZ0lIMHNYRzVjYmlBZ0lDQmthWE53WVhSamFFVjRZMlZ3ZEdsdmJqb2dablZ1WTNScGIyNG9aWGhqWlhCMGFXOXVLU0I3WEc0Z0lDQWdJQ0JwWmlBb2RHaHBjeTVrYjI1bEtTQjdYRzRnSUNBZ0lDQWdJSFJvY205M0lHVjRZMlZ3ZEdsdmJqdGNiaUFnSUNBZ0lIMWNibHh1SUNBZ0lDQWdkbUZ5SUdOdmJuUmxlSFFnUFNCMGFHbHpPMXh1SUNBZ0lDQWdablZ1WTNScGIyNGdhR0Z1Wkd4bEtHeHZZeXdnWTJGMVoyaDBLU0I3WEc0Z0lDQWdJQ0FnSUhKbFkyOXlaQzUwZVhCbElEMGdYQ0owYUhKdmQxd2lPMXh1SUNBZ0lDQWdJQ0J5WldOdmNtUXVZWEpuSUQwZ1pYaGpaWEIwYVc5dU8xeHVJQ0FnSUNBZ0lDQmpiMjUwWlhoMExtNWxlSFFnUFNCc2IyTTdYRzVjYmlBZ0lDQWdJQ0FnYVdZZ0tHTmhkV2RvZENrZ2UxeHVJQ0FnSUNBZ0lDQWdJQzh2SUVsbUlIUm9aU0JrYVhOd1lYUmphR1ZrSUdWNFkyVndkR2x2YmlCM1lYTWdZMkYxWjJoMElHSjVJR0VnWTJGMFkyZ2dZbXh2WTJzc1hHNGdJQ0FnSUNBZ0lDQWdMeThnZEdobGJpQnNaWFFnZEdoaGRDQmpZWFJqYUNCaWJHOWpheUJvWVc1a2JHVWdkR2hsSUdWNFkyVndkR2x2YmlCdWIzSnRZV3hzZVM1Y2JpQWdJQ0FnSUNBZ0lDQmpiMjUwWlhoMExtMWxkR2h2WkNBOUlGd2libVY0ZEZ3aU8xeHVJQ0FnSUNBZ0lDQWdJR052Ym5SbGVIUXVZWEpuSUQwZ2RXNWtaV1pwYm1Wa08xeHVJQ0FnSUNBZ0lDQjlYRzVjYmlBZ0lDQWdJQ0FnY21WMGRYSnVJQ0VoSUdOaGRXZG9kRHRjYmlBZ0lDQWdJSDFjYmx4dUlDQWdJQ0FnWm05eUlDaDJZWElnYVNBOUlIUm9hWE11ZEhKNVJXNTBjbWxsY3k1c1pXNW5kR2dnTFNBeE95QnBJRDQ5SURBN0lDMHRhU2tnZTF4dUlDQWdJQ0FnSUNCMllYSWdaVzUwY25rZ1BTQjBhR2x6TG5SeWVVVnVkSEpwWlhOYmFWMDdYRzRnSUNBZ0lDQWdJSFpoY2lCeVpXTnZjbVFnUFNCbGJuUnllUzVqYjIxd2JHVjBhVzl1TzF4dVhHNGdJQ0FnSUNBZ0lHbG1JQ2hsYm5SeWVTNTBjbmxNYjJNZ1BUMDlJRndpY205dmRGd2lLU0I3WEc0Z0lDQWdJQ0FnSUNBZ0x5OGdSWGhqWlhCMGFXOXVJSFJvY205M2JpQnZkWFJ6YVdSbElHOW1JR0Z1ZVNCMGNua2dZbXh2WTJzZ2RHaGhkQ0JqYjNWc1pDQm9ZVzVrYkdWY2JpQWdJQ0FnSUNBZ0lDQXZMeUJwZEN3Z2MyOGdjMlYwSUhSb1pTQmpiMjF3YkdWMGFXOXVJSFpoYkhWbElHOW1JSFJvWlNCbGJuUnBjbVVnWm5WdVkzUnBiMjRnZEc5Y2JpQWdJQ0FnSUNBZ0lDQXZMeUIwYUhKdmR5QjBhR1VnWlhoalpYQjBhVzl1TGx4dUlDQWdJQ0FnSUNBZ0lISmxkSFZ5YmlCb1lXNWtiR1VvWENKbGJtUmNJaWs3WEc0Z0lDQWdJQ0FnSUgxY2JseHVJQ0FnSUNBZ0lDQnBaaUFvWlc1MGNua3VkSEo1VEc5aklEdzlJSFJvYVhNdWNISmxkaWtnZTF4dUlDQWdJQ0FnSUNBZ0lIWmhjaUJvWVhORFlYUmphQ0E5SUdoaGMwOTNiaTVqWVd4c0tHVnVkSEo1TENCY0ltTmhkR05vVEc5alhDSXBPMXh1SUNBZ0lDQWdJQ0FnSUhaaGNpQm9ZWE5HYVc1aGJHeDVJRDBnYUdGelQzZHVMbU5oYkd3b1pXNTBjbmtzSUZ3aVptbHVZV3hzZVV4dlkxd2lLVHRjYmx4dUlDQWdJQ0FnSUNBZ0lHbG1JQ2hvWVhORFlYUmphQ0FtSmlCb1lYTkdhVzVoYkd4NUtTQjdYRzRnSUNBZ0lDQWdJQ0FnSUNCcFppQW9kR2hwY3k1d2NtVjJJRHdnWlc1MGNua3VZMkYwWTJoTWIyTXBJSHRjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdjbVYwZFhKdUlHaGhibVJzWlNobGJuUnllUzVqWVhSamFFeHZZeXdnZEhKMVpTazdYRzRnSUNBZ0lDQWdJQ0FnSUNCOUlHVnNjMlVnYVdZZ0tIUm9hWE11Y0hKbGRpQThJR1Z1ZEhKNUxtWnBibUZzYkhsTWIyTXBJSHRjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdjbVYwZFhKdUlHaGhibVJzWlNobGJuUnllUzVtYVc1aGJHeDVURzlqS1R0Y2JpQWdJQ0FnSUNBZ0lDQWdJSDFjYmx4dUlDQWdJQ0FnSUNBZ0lIMGdaV3h6WlNCcFppQW9hR0Z6UTJGMFkyZ3BJSHRjYmlBZ0lDQWdJQ0FnSUNBZ0lHbG1JQ2gwYUdsekxuQnlaWFlnUENCbGJuUnllUzVqWVhSamFFeHZZeWtnZTF4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0J5WlhSMWNtNGdhR0Z1Wkd4bEtHVnVkSEo1TG1OaGRHTm9URzlqTENCMGNuVmxLVHRjYmlBZ0lDQWdJQ0FnSUNBZ0lIMWNibHh1SUNBZ0lDQWdJQ0FnSUgwZ1pXeHpaU0JwWmlBb2FHRnpSbWx1WVd4c2VTa2dlMXh1SUNBZ0lDQWdJQ0FnSUNBZ2FXWWdLSFJvYVhNdWNISmxkaUE4SUdWdWRISjVMbVpwYm1Gc2JIbE1iMk1wSUh0Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnY21WMGRYSnVJR2hoYm1Sc1pTaGxiblJ5ZVM1bWFXNWhiR3g1VEc5aktUdGNiaUFnSUNBZ0lDQWdJQ0FnSUgxY2JseHVJQ0FnSUNBZ0lDQWdJSDBnWld4elpTQjdYRzRnSUNBZ0lDQWdJQ0FnSUNCMGFISnZkeUJ1WlhjZ1JYSnliM0lvWENKMGNua2djM1JoZEdWdFpXNTBJSGRwZEdodmRYUWdZMkYwWTJnZ2IzSWdabWx1WVd4c2VWd2lLVHRjYmlBZ0lDQWdJQ0FnSUNCOVhHNGdJQ0FnSUNBZ0lIMWNiaUFnSUNBZ0lIMWNiaUFnSUNCOUxGeHVYRzRnSUNBZ1lXSnlkWEIwT2lCbWRXNWpkR2x2YmloMGVYQmxMQ0JoY21jcElIdGNiaUFnSUNBZ0lHWnZjaUFvZG1GeUlHa2dQU0IwYUdsekxuUnllVVZ1ZEhKcFpYTXViR1Z1WjNSb0lDMGdNVHNnYVNBK1BTQXdPeUF0TFdrcElIdGNiaUFnSUNBZ0lDQWdkbUZ5SUdWdWRISjVJRDBnZEdocGN5NTBjbmxGYm5SeWFXVnpXMmxkTzF4dUlDQWdJQ0FnSUNCcFppQW9aVzUwY25rdWRISjVURzlqSUR3OUlIUm9hWE11Y0hKbGRpQW1KbHh1SUNBZ0lDQWdJQ0FnSUNBZ2FHRnpUM2R1TG1OaGJHd29aVzUwY25rc0lGd2labWx1WVd4c2VVeHZZMXdpS1NBbUpseHVJQ0FnSUNBZ0lDQWdJQ0FnZEdocGN5NXdjbVYySUR3Z1pXNTBjbmt1Wm1sdVlXeHNlVXh2WXlrZ2UxeHVJQ0FnSUNBZ0lDQWdJSFpoY2lCbWFXNWhiR3g1Ulc1MGNua2dQU0JsYm5SeWVUdGNiaUFnSUNBZ0lDQWdJQ0JpY21WaGF6dGNiaUFnSUNBZ0lDQWdmVnh1SUNBZ0lDQWdmVnh1WEc0Z0lDQWdJQ0JwWmlBb1ptbHVZV3hzZVVWdWRISjVJQ1ltWEc0Z0lDQWdJQ0FnSUNBZ0tIUjVjR1VnUFQwOUlGd2lZbkpsWVd0Y0lpQjhmRnh1SUNBZ0lDQWdJQ0FnSUNCMGVYQmxJRDA5UFNCY0ltTnZiblJwYm5WbFhDSXBJQ1ltWEc0Z0lDQWdJQ0FnSUNBZ1ptbHVZV3hzZVVWdWRISjVMblJ5ZVV4dll5QThQU0JoY21jZ0ppWmNiaUFnSUNBZ0lDQWdJQ0JoY21jZ1BEMGdabWx1WVd4c2VVVnVkSEo1TG1acGJtRnNiSGxNYjJNcElIdGNiaUFnSUNBZ0lDQWdMeThnU1dkdWIzSmxJSFJvWlNCbWFXNWhiR3g1SUdWdWRISjVJR2xtSUdOdmJuUnliMndnYVhNZ2JtOTBJR3AxYlhCcGJtY2dkRzhnWVZ4dUlDQWdJQ0FnSUNBdkx5QnNiMk5oZEdsdmJpQnZkWFJ6YVdSbElIUm9aU0IwY25rdlkyRjBZMmdnWW14dlkyc3VYRzRnSUNBZ0lDQWdJR1pwYm1Gc2JIbEZiblJ5ZVNBOUlHNTFiR3c3WEc0Z0lDQWdJQ0I5WEc1Y2JpQWdJQ0FnSUhaaGNpQnlaV052Y21RZ1BTQm1hVzVoYkd4NVJXNTBjbmtnUHlCbWFXNWhiR3g1Ulc1MGNua3VZMjl0Y0d4bGRHbHZiaUE2SUh0OU8xeHVJQ0FnSUNBZ2NtVmpiM0prTG5SNWNHVWdQU0IwZVhCbE8xeHVJQ0FnSUNBZ2NtVmpiM0prTG1GeVp5QTlJR0Z5Wnp0Y2JseHVJQ0FnSUNBZ2FXWWdLR1pwYm1Gc2JIbEZiblJ5ZVNrZ2UxeHVJQ0FnSUNBZ0lDQjBhR2x6TG0xbGRHaHZaQ0E5SUZ3aWJtVjRkRndpTzF4dUlDQWdJQ0FnSUNCMGFHbHpMbTVsZUhRZ1BTQm1hVzVoYkd4NVJXNTBjbmt1Wm1sdVlXeHNlVXh2WXp0Y2JpQWdJQ0FnSUNBZ2NtVjBkWEp1SUVOdmJuUnBiblZsVTJWdWRHbHVaV3c3WEc0Z0lDQWdJQ0I5WEc1Y2JpQWdJQ0FnSUhKbGRIVnliaUIwYUdsekxtTnZiWEJzWlhSbEtISmxZMjl5WkNrN1hHNGdJQ0FnZlN4Y2JseHVJQ0FnSUdOdmJYQnNaWFJsT2lCbWRXNWpkR2x2YmloeVpXTnZjbVFzSUdGbWRHVnlURzlqS1NCN1hHNGdJQ0FnSUNCcFppQW9jbVZqYjNKa0xuUjVjR1VnUFQwOUlGd2lkR2h5YjNkY0lpa2dlMXh1SUNBZ0lDQWdJQ0IwYUhKdmR5QnlaV052Y21RdVlYSm5PMXh1SUNBZ0lDQWdmVnh1WEc0Z0lDQWdJQ0JwWmlBb2NtVmpiM0prTG5SNWNHVWdQVDA5SUZ3aVluSmxZV3RjSWlCOGZGeHVJQ0FnSUNBZ0lDQWdJSEpsWTI5eVpDNTBlWEJsSUQwOVBTQmNJbU52Ym5ScGJuVmxYQ0lwSUh0Y2JpQWdJQ0FnSUNBZ2RHaHBjeTV1WlhoMElEMGdjbVZqYjNKa0xtRnlaenRjYmlBZ0lDQWdJSDBnWld4elpTQnBaaUFvY21WamIzSmtMblI1Y0dVZ1BUMDlJRndpY21WMGRYSnVYQ0lwSUh0Y2JpQWdJQ0FnSUNBZ2RHaHBjeTV5ZG1Gc0lEMGdkR2hwY3k1aGNtY2dQU0J5WldOdmNtUXVZWEpuTzF4dUlDQWdJQ0FnSUNCMGFHbHpMbTFsZEdodlpDQTlJRndpY21WMGRYSnVYQ0k3WEc0Z0lDQWdJQ0FnSUhSb2FYTXVibVY0ZENBOUlGd2laVzVrWENJN1hHNGdJQ0FnSUNCOUlHVnNjMlVnYVdZZ0tISmxZMjl5WkM1MGVYQmxJRDA5UFNCY0ltNXZjbTFoYkZ3aUlDWW1JR0ZtZEdWeVRHOWpLU0I3WEc0Z0lDQWdJQ0FnSUhSb2FYTXVibVY0ZENBOUlHRm1kR1Z5VEc5ak8xeHVJQ0FnSUNBZ2ZWeHVYRzRnSUNBZ0lDQnlaWFIxY200Z1EyOXVkR2x1ZFdWVFpXNTBhVzVsYkR0Y2JpQWdJQ0I5TEZ4dVhHNGdJQ0FnWm1sdWFYTm9PaUJtZFc1amRHbHZiaWhtYVc1aGJHeDVURzlqS1NCN1hHNGdJQ0FnSUNCbWIzSWdLSFpoY2lCcElEMGdkR2hwY3k1MGNubEZiblJ5YVdWekxteGxibWQwYUNBdElERTdJR2tnUGowZ01Ec2dMUzFwS1NCN1hHNGdJQ0FnSUNBZ0lIWmhjaUJsYm5SeWVTQTlJSFJvYVhNdWRISjVSVzUwY21sbGMxdHBYVHRjYmlBZ0lDQWdJQ0FnYVdZZ0tHVnVkSEo1TG1acGJtRnNiSGxNYjJNZ1BUMDlJR1pwYm1Gc2JIbE1iMk1wSUh0Y2JpQWdJQ0FnSUNBZ0lDQjBhR2x6TG1OdmJYQnNaWFJsS0dWdWRISjVMbU52YlhCc1pYUnBiMjRzSUdWdWRISjVMbUZtZEdWeVRHOWpLVHRjYmlBZ0lDQWdJQ0FnSUNCeVpYTmxkRlJ5ZVVWdWRISjVLR1Z1ZEhKNUtUdGNiaUFnSUNBZ0lDQWdJQ0J5WlhSMWNtNGdRMjl1ZEdsdWRXVlRaVzUwYVc1bGJEdGNiaUFnSUNBZ0lDQWdmVnh1SUNBZ0lDQWdmVnh1SUNBZ0lIMHNYRzVjYmlBZ0lDQmNJbU5oZEdOb1hDSTZJR1oxYm1OMGFXOXVLSFJ5ZVV4dll5a2dlMXh1SUNBZ0lDQWdabTl5SUNoMllYSWdhU0E5SUhSb2FYTXVkSEo1Ulc1MGNtbGxjeTVzWlc1bmRHZ2dMU0F4T3lCcElENDlJREE3SUMwdGFTa2dlMXh1SUNBZ0lDQWdJQ0IyWVhJZ1pXNTBjbmtnUFNCMGFHbHpMblJ5ZVVWdWRISnBaWE5iYVYwN1hHNGdJQ0FnSUNBZ0lHbG1JQ2hsYm5SeWVTNTBjbmxNYjJNZ1BUMDlJSFJ5ZVV4dll5a2dlMXh1SUNBZ0lDQWdJQ0FnSUhaaGNpQnlaV052Y21RZ1BTQmxiblJ5ZVM1amIyMXdiR1YwYVc5dU8xeHVJQ0FnSUNBZ0lDQWdJR2xtSUNoeVpXTnZjbVF1ZEhsd1pTQTlQVDBnWENKMGFISnZkMXdpS1NCN1hHNGdJQ0FnSUNBZ0lDQWdJQ0IyWVhJZ2RHaHliM2R1SUQwZ2NtVmpiM0prTG1GeVp6dGNiaUFnSUNBZ0lDQWdJQ0FnSUhKbGMyVjBWSEo1Ulc1MGNua29aVzUwY25rcE8xeHVJQ0FnSUNBZ0lDQWdJSDFjYmlBZ0lDQWdJQ0FnSUNCeVpYUjFjbTRnZEdoeWIzZHVPMXh1SUNBZ0lDQWdJQ0I5WEc0Z0lDQWdJQ0I5WEc1Y2JpQWdJQ0FnSUM4dklGUm9aU0JqYjI1MFpYaDBMbU5oZEdOb0lHMWxkR2h2WkNCdGRYTjBJRzl1YkhrZ1ltVWdZMkZzYkdWa0lIZHBkR2dnWVNCc2IyTmhkR2x2Ymx4dUlDQWdJQ0FnTHk4Z1lYSm5kVzFsYm5RZ2RHaGhkQ0JqYjNKeVpYTndiMjVrY3lCMGJ5QmhJR3R1YjNkdUlHTmhkR05vSUdKc2IyTnJMbHh1SUNBZ0lDQWdkR2h5YjNjZ2JtVjNJRVZ5Y205eUtGd2lhV3hzWldkaGJDQmpZWFJqYUNCaGRIUmxiWEIwWENJcE8xeHVJQ0FnSUgwc1hHNWNiaUFnSUNCa1pXeGxaMkYwWlZscFpXeGtPaUJtZFc1amRHbHZiaWhwZEdWeVlXSnNaU3dnY21WemRXeDBUbUZ0WlN3Z2JtVjRkRXh2WXlrZ2UxeHVJQ0FnSUNBZ2RHaHBjeTVrWld4bFoyRjBaU0E5SUh0Y2JpQWdJQ0FnSUNBZ2FYUmxjbUYwYjNJNklIWmhiSFZsY3locGRHVnlZV0pzWlNrc1hHNGdJQ0FnSUNBZ0lISmxjM1ZzZEU1aGJXVTZJSEpsYzNWc2RFNWhiV1VzWEc0Z0lDQWdJQ0FnSUc1bGVIUk1iMk02SUc1bGVIUk1iMk5jYmlBZ0lDQWdJSDA3WEc1Y2JpQWdJQ0FnSUdsbUlDaDBhR2x6TG0xbGRHaHZaQ0E5UFQwZ1hDSnVaWGgwWENJcElIdGNiaUFnSUNBZ0lDQWdMeThnUkdWc2FXSmxjbUYwWld4NUlHWnZjbWRsZENCMGFHVWdiR0Z6ZENCelpXNTBJSFpoYkhWbElITnZJSFJvWVhRZ2QyVWdaRzl1SjNSY2JpQWdJQ0FnSUNBZ0x5OGdZV05qYVdSbGJuUmhiR3g1SUhCaGMzTWdhWFFnYjI0Z2RHOGdkR2hsSUdSbGJHVm5ZWFJsTGx4dUlDQWdJQ0FnSUNCMGFHbHpMbUZ5WnlBOUlIVnVaR1ZtYVc1bFpEdGNiaUFnSUNBZ0lIMWNibHh1SUNBZ0lDQWdjbVYwZFhKdUlFTnZiblJwYm5WbFUyVnVkR2x1Wld3N1hHNGdJQ0FnZlZ4dUlDQjlPMXh1WEc0Z0lDOHZJRkpsWjJGeVpHeGxjM01nYjJZZ2QyaGxkR2hsY2lCMGFHbHpJSE5qY21sd2RDQnBjeUJsZUdWamRYUnBibWNnWVhNZ1lTQkRiMjF0YjI1S1V5QnRiMlIxYkdWY2JpQWdMeThnYjNJZ2JtOTBMQ0J5WlhSMWNtNGdkR2hsSUhKMWJuUnBiV1VnYjJKcVpXTjBJSE52SUhSb1lYUWdkMlVnWTJGdUlHUmxZMnhoY21VZ2RHaGxJSFpoY21saFlteGxYRzRnSUM4dklISmxaMlZ1WlhKaGRHOXlVblZ1ZEdsdFpTQnBiaUIwYUdVZ2IzVjBaWElnYzJOdmNHVXNJSGRvYVdOb0lHRnNiRzkzY3lCMGFHbHpJRzF2WkhWc1pTQjBieUJpWlZ4dUlDQXZMeUJwYm1wbFkzUmxaQ0JsWVhOcGJIa2dZbmtnWUdKcGJpOXlaV2RsYm1WeVlYUnZjaUF0TFdsdVkyeDFaR1V0Y25WdWRHbHRaU0J6WTNKcGNIUXVhbk5nTGx4dUlDQnlaWFIxY200Z1pYaHdiM0owY3p0Y2JseHVmU2hjYmlBZ0x5OGdTV1lnZEdocGN5QnpZM0pwY0hRZ2FYTWdaWGhsWTNWMGFXNW5JR0Z6SUdFZ1EyOXRiVzl1U2xNZ2JXOWtkV3hsTENCMWMyVWdiVzlrZFd4bExtVjRjRzl5ZEhOY2JpQWdMeThnWVhNZ2RHaGxJSEpsWjJWdVpYSmhkRzl5VW5WdWRHbHRaU0J1WVcxbGMzQmhZMlV1SUU5MGFHVnlkMmx6WlNCamNtVmhkR1VnWVNCdVpYY2daVzF3ZEhsY2JpQWdMeThnYjJKcVpXTjBMaUJGYVhSb1pYSWdkMkY1TENCMGFHVWdjbVZ6ZFd4MGFXNW5JRzlpYW1WamRDQjNhV3hzSUdKbElIVnpaV1FnZEc4Z2FXNXBkR2xoYkdsNlpWeHVJQ0F2THlCMGFHVWdjbVZuWlc1bGNtRjBiM0pTZFc1MGFXMWxJSFpoY21saFlteGxJR0YwSUhSb1pTQjBiM0FnYjJZZ2RHaHBjeUJtYVd4bExseHVJQ0IwZVhCbGIyWWdiVzlrZFd4bElEMDlQU0JjSW05aWFtVmpkRndpSUQ4Z2JXOWtkV3hsTG1WNGNHOXlkSE1nT2lCN2ZWeHVLU2s3WEc1Y2JuUnllU0I3WEc0Z0lISmxaMlZ1WlhKaGRHOXlVblZ1ZEdsdFpTQTlJSEoxYm5ScGJXVTdYRzU5SUdOaGRHTm9JQ2hoWTJOcFpHVnVkR0ZzVTNSeWFXTjBUVzlrWlNrZ2UxeHVJQ0F2THlCVWFHbHpJRzF2WkhWc1pTQnphRzkxYkdRZ2JtOTBJR0psSUhKMWJtNXBibWNnYVc0Z2MzUnlhV04wSUcxdlpHVXNJSE52SUhSb1pTQmhZbTkyWlZ4dUlDQXZMeUJoYzNOcFoyNXRaVzUwSUhOb2IzVnNaQ0JoYkhkaGVYTWdkMjl5YXlCMWJteGxjM01nYzI5dFpYUm9hVzVuSUdseklHMXBjMk52Ym1acFozVnlaV1F1SUVwMWMzUmNiaUFnTHk4Z2FXNGdZMkZ6WlNCeWRXNTBhVzFsTG1weklHRmpZMmxrWlc1MFlXeHNlU0J5ZFc1eklHbHVJSE4wY21samRDQnRiMlJsTENCM1pTQmpZVzRnWlhOallYQmxYRzRnSUM4dklITjBjbWxqZENCdGIyUmxJSFZ6YVc1bklHRWdaMnh2WW1Gc0lFWjFibU4wYVc5dUlHTmhiR3d1SUZSb2FYTWdZMjkxYkdRZ1kyOXVZMlZwZG1GaWJIa2dabUZwYkZ4dUlDQXZMeUJwWmlCaElFTnZiblJsYm5RZ1UyVmpkWEpwZEhrZ1VHOXNhV041SUdadmNtSnBaSE1nZFhOcGJtY2dSblZ1WTNScGIyNHNJR0oxZENCcGJpQjBhR0YwSUdOaGMyVmNiaUFnTHk4Z2RHaGxJSEJ5YjNCbGNpQnpiMngxZEdsdmJpQnBjeUIwYnlCbWFYZ2dkR2hsSUdGalkybGtaVzUwWVd3Z2MzUnlhV04wSUcxdlpHVWdjSEp2WW14bGJTNGdTV1pjYmlBZ0x5OGdlVzkxSjNabElHMXBjMk52Ym1acFozVnlaV1FnZVc5MWNpQmlkVzVrYkdWeUlIUnZJR1p2Y21ObElITjBjbWxqZENCdGIyUmxJR0Z1WkNCaGNIQnNhV1ZrSUdGY2JpQWdMeThnUTFOUUlIUnZJR1p2Y21KcFpDQkdkVzVqZEdsdmJpd2dZVzVrSUhsdmRTZHlaU0J1YjNRZ2QybHNiR2x1WnlCMGJ5Qm1hWGdnWldsMGFHVnlJRzltSUhSb2IzTmxYRzRnSUM4dklIQnliMkpzWlcxekxDQndiR1ZoYzJVZ1pHVjBZV2xzSUhsdmRYSWdkVzVwY1hWbElIQnlaV1JwWTJGdFpXNTBJR2x1SUdFZ1IybDBTSFZpSUdsemMzVmxMbHh1SUNCR2RXNWpkR2x2YmloY0luSmNJaXdnWENKeVpXZGxibVZ5WVhSdmNsSjFiblJwYldVZ1BTQnlYQ0lwS0hKMWJuUnBiV1VwTzF4dWZWeHVJaXdpWm5WdVkzUnBiMjRnWVhONWJtTkhaVzVsY21GMGIzSlRkR1Z3S0dkbGJpd2djbVZ6YjJ4MlpTd2djbVZxWldOMExDQmZibVY0ZEN3Z1gzUm9jbTkzTENCclpYa3NJR0Z5WnlrZ2UxeHVJQ0IwY25rZ2UxeHVJQ0FnSUhaaGNpQnBibVp2SUQwZ1oyVnVXMnRsZVYwb1lYSm5LVHRjYmlBZ0lDQjJZWElnZG1Gc2RXVWdQU0JwYm1adkxuWmhiSFZsTzF4dUlDQjlJR05oZEdOb0lDaGxjbkp2Y2lrZ2UxeHVJQ0FnSUhKbGFtVmpkQ2hsY25KdmNpazdYRzRnSUNBZ2NtVjBkWEp1TzF4dUlDQjlYRzVjYmlBZ2FXWWdLR2x1Wm04dVpHOXVaU2tnZTF4dUlDQWdJSEpsYzI5c2RtVW9kbUZzZFdVcE8xeHVJQ0I5SUdWc2MyVWdlMXh1SUNBZ0lGQnliMjFwYzJVdWNtVnpiMngyWlNoMllXeDFaU2t1ZEdobGJpaGZibVY0ZEN3Z1gzUm9jbTkzS1R0Y2JpQWdmVnh1ZlZ4dVhHNW1kVzVqZEdsdmJpQmZZWE41Ym1OVWIwZGxibVZ5WVhSdmNpaG1iaWtnZTF4dUlDQnlaWFIxY200Z1puVnVZM1JwYjI0Z0tDa2dlMXh1SUNBZ0lIWmhjaUJ6Wld4bUlEMGdkR2hwY3l4Y2JpQWdJQ0FnSUNBZ1lYSm5jeUE5SUdGeVozVnRaVzUwY3p0Y2JpQWdJQ0J5WlhSMWNtNGdibVYzSUZCeWIyMXBjMlVvWm5WdVkzUnBiMjRnS0hKbGMyOXNkbVVzSUhKbGFtVmpkQ2tnZTF4dUlDQWdJQ0FnZG1GeUlHZGxiaUE5SUdadUxtRndjR3g1S0hObGJHWXNJR0Z5WjNNcE8xeHVYRzRnSUNBZ0lDQm1kVzVqZEdsdmJpQmZibVY0ZENoMllXeDFaU2tnZTF4dUlDQWdJQ0FnSUNCaGMzbHVZMGRsYm1WeVlYUnZjbE4wWlhBb1oyVnVMQ0J5WlhOdmJIWmxMQ0J5WldwbFkzUXNJRjl1WlhoMExDQmZkR2h5YjNjc0lGd2libVY0ZEZ3aUxDQjJZV3gxWlNrN1hHNGdJQ0FnSUNCOVhHNWNiaUFnSUNBZ0lHWjFibU4wYVc5dUlGOTBhSEp2ZHlobGNuSXBJSHRjYmlBZ0lDQWdJQ0FnWVhONWJtTkhaVzVsY21GMGIzSlRkR1Z3S0dkbGJpd2djbVZ6YjJ4MlpTd2djbVZxWldOMExDQmZibVY0ZEN3Z1gzUm9jbTkzTENCY0luUm9jbTkzWENJc0lHVnljaWs3WEc0Z0lDQWdJQ0I5WEc1Y2JpQWdJQ0FnSUY5dVpYaDBLSFZ1WkdWbWFXNWxaQ2s3WEc0Z0lDQWdmU2s3WEc0Z0lIMDdYRzU5WEc1Y2JtMXZaSFZzWlM1bGVIQnZjblJ6SUQwZ1gyRnplVzVqVkc5SFpXNWxjbUYwYjNJN0lpd2lablZ1WTNScGIyNGdYMkZ5Y21GNVYybDBhRWh2YkdWektHRnljaWtnZTF4dUlDQnBaaUFvUVhKeVlYa3VhWE5CY25KaGVTaGhjbklwS1NCeVpYUjFjbTRnWVhKeU8xeHVmVnh1WEc1dGIyUjFiR1V1Wlhod2IzSjBjeUE5SUY5aGNuSmhlVmRwZEdoSWIyeGxjenNpTENKbWRXNWpkR2x2YmlCZmFYUmxjbUZpYkdWVWIwRnljbUY1VEdsdGFYUW9ZWEp5TENCcEtTQjdYRzRnSUdsbUlDaDBlWEJsYjJZZ1UzbHRZbTlzSUQwOVBTQmNJblZ1WkdWbWFXNWxaRndpSUh4OElDRW9VM2x0WW05c0xtbDBaWEpoZEc5eUlHbHVJRTlpYW1WamRDaGhjbklwS1NrZ2NtVjBkWEp1TzF4dUlDQjJZWElnWDJGeWNpQTlJRnRkTzF4dUlDQjJZWElnWDI0Z1BTQjBjblZsTzF4dUlDQjJZWElnWDJRZ1BTQm1ZV3h6WlR0Y2JpQWdkbUZ5SUY5bElEMGdkVzVrWldacGJtVmtPMXh1WEc0Z0lIUnllU0I3WEc0Z0lDQWdabTl5SUNoMllYSWdYMmtnUFNCaGNuSmJVM2x0WW05c0xtbDBaWEpoZEc5eVhTZ3BMQ0JmY3pzZ0lTaGZiaUE5SUNoZmN5QTlJRjlwTG01bGVIUW9LU2t1Wkc5dVpTazdJRjl1SUQwZ2RISjFaU2tnZTF4dUlDQWdJQ0FnWDJGeWNpNXdkWE5vS0Y5ekxuWmhiSFZsS1R0Y2JseHVJQ0FnSUNBZ2FXWWdLR2tnSmlZZ1gyRnljaTVzWlc1bmRHZ2dQVDA5SUdrcElHSnlaV0ZyTzF4dUlDQWdJSDFjYmlBZ2ZTQmpZWFJqYUNBb1pYSnlLU0I3WEc0Z0lDQWdYMlFnUFNCMGNuVmxPMXh1SUNBZ0lGOWxJRDBnWlhKeU8xeHVJQ0I5SUdacGJtRnNiSGtnZTF4dUlDQWdJSFJ5ZVNCN1hHNGdJQ0FnSUNCcFppQW9JVjl1SUNZbUlGOXBXMXdpY21WMGRYSnVYQ0pkSUNFOUlHNTFiR3dwSUY5cFcxd2ljbVYwZFhKdVhDSmRLQ2s3WEc0Z0lDQWdmU0JtYVc1aGJHeDVJSHRjYmlBZ0lDQWdJR2xtSUNoZlpDa2dkR2h5YjNjZ1gyVTdYRzRnSUNBZ2ZWeHVJQ0I5WEc1Y2JpQWdjbVYwZFhKdUlGOWhjbkk3WEc1OVhHNWNibTF2WkhWc1pTNWxlSEJ2Y25SeklEMGdYMmwwWlhKaFlteGxWRzlCY25KaGVVeHBiV2wwT3lJc0ltWjFibU4wYVc5dUlGOWhjbkpoZVV4cGEyVlViMEZ5Y21GNUtHRnljaXdnYkdWdUtTQjdYRzRnSUdsbUlDaHNaVzRnUFQwZ2JuVnNiQ0I4ZkNCc1pXNGdQaUJoY25JdWJHVnVaM1JvS1NCc1pXNGdQU0JoY25JdWJHVnVaM1JvTzF4dVhHNGdJR1p2Y2lBb2RtRnlJR2tnUFNBd0xDQmhjbkl5SUQwZ2JtVjNJRUZ5Y21GNUtHeGxiaWs3SUdrZ1BDQnNaVzQ3SUdrckt5a2dlMXh1SUNBZ0lHRnljakpiYVYwZ1BTQmhjbkpiYVYwN1hHNGdJSDFjYmx4dUlDQnlaWFIxY200Z1lYSnlNanRjYm4xY2JseHViVzlrZFd4bExtVjRjRzl5ZEhNZ1BTQmZZWEp5WVhsTWFXdGxWRzlCY25KaGVUc2lMQ0oyWVhJZ1lYSnlZWGxNYVd0bFZHOUJjbkpoZVNBOUlISmxjWFZwY21Vb1hDSXVMMkZ5Y21GNVRHbHJaVlJ2UVhKeVlYbGNJaWs3WEc1Y2JtWjFibU4wYVc5dUlGOTFibk4xY0hCdmNuUmxaRWwwWlhKaFlteGxWRzlCY25KaGVTaHZMQ0J0YVc1TVpXNHBJSHRjYmlBZ2FXWWdLQ0Z2S1NCeVpYUjFjbTQ3WEc0Z0lHbG1JQ2gwZVhCbGIyWWdieUE5UFQwZ1hDSnpkSEpwYm1kY0lpa2djbVYwZFhKdUlHRnljbUY1VEdsclpWUnZRWEp5WVhrb2J5d2diV2x1VEdWdUtUdGNiaUFnZG1GeUlHNGdQU0JQWW1wbFkzUXVjSEp2ZEc5MGVYQmxMblJ2VTNSeWFXNW5MbU5oYkd3b2J5a3VjMnhwWTJVb09Dd2dMVEVwTzF4dUlDQnBaaUFvYmlBOVBUMGdYQ0pQWW1wbFkzUmNJaUFtSmlCdkxtTnZibk4wY25WamRHOXlLU0J1SUQwZ2J5NWpiMjV6ZEhKMVkzUnZjaTV1WVcxbE8xeHVJQ0JwWmlBb2JpQTlQVDBnWENKTllYQmNJaUI4ZkNCdUlEMDlQU0JjSWxObGRGd2lLU0J5WlhSMWNtNGdRWEp5WVhrdVpuSnZiU2h2S1R0Y2JpQWdhV1lnS0c0Z1BUMDlJRndpUVhKbmRXMWxiblJ6WENJZ2ZId2dMMTRvUHpwVmFYeEpLVzUwS0Q4Nk9Id3hObnd6TWlrb1B6cERiR0Z0Y0dWa0tUOUJjbkpoZVNRdkxuUmxjM1FvYmlrcElISmxkSFZ5YmlCaGNuSmhlVXhwYTJWVWIwRnljbUY1S0c4c0lHMXBia3hsYmlrN1hHNTlYRzVjYm0xdlpIVnNaUzVsZUhCdmNuUnpJRDBnWDNWdWMzVndjRzl5ZEdWa1NYUmxjbUZpYkdWVWIwRnljbUY1T3lJc0ltWjFibU4wYVc5dUlGOXViMjVKZEdWeVlXSnNaVkpsYzNRb0tTQjdYRzRnSUhSb2NtOTNJRzVsZHlCVWVYQmxSWEp5YjNJb1hDSkpiblpoYkdsa0lHRjBkR1Z0Y0hRZ2RHOGdaR1Z6ZEhKMVkzUjFjbVVnYm05dUxXbDBaWEpoWW14bElHbHVjM1JoYm1ObExseGNia2x1SUc5eVpHVnlJSFJ2SUdKbElHbDBaWEpoWW14bExDQnViMjR0WVhKeVlYa2diMkpxWldOMGN5QnRkWE4wSUdoaGRtVWdZU0JiVTNsdFltOXNMbWwwWlhKaGRHOXlYU2dwSUcxbGRHaHZaQzVjSWlrN1hHNTlYRzVjYm0xdlpIVnNaUzVsZUhCdmNuUnpJRDBnWDI1dmJrbDBaWEpoWW14bFVtVnpkRHNpTENKMllYSWdZWEp5WVhsWGFYUm9TRzlzWlhNZ1BTQnlaWEYxYVhKbEtGd2lMaTloY25KaGVWZHBkR2hJYjJ4bGMxd2lLVHRjYmx4dWRtRnlJR2wwWlhKaFlteGxWRzlCY25KaGVVeHBiV2wwSUQwZ2NtVnhkV2x5WlNoY0lpNHZhWFJsY21GaWJHVlViMEZ5Y21GNVRHbHRhWFJjSWlrN1hHNWNiblpoY2lCMWJuTjFjSEJ2Y25SbFpFbDBaWEpoWW14bFZHOUJjbkpoZVNBOUlISmxjWFZwY21Vb1hDSXVMM1Z1YzNWd2NHOXlkR1ZrU1hSbGNtRmliR1ZVYjBGeWNtRjVYQ0lwTzF4dVhHNTJZWElnYm05dVNYUmxjbUZpYkdWU1pYTjBJRDBnY21WeGRXbHlaU2hjSWk0dmJtOXVTWFJsY21GaWJHVlNaWE4wWENJcE8xeHVYRzVtZFc1amRHbHZiaUJmYzJ4cFkyVmtWRzlCY25KaGVTaGhjbklzSUdrcElIdGNiaUFnY21WMGRYSnVJR0Z5Y21GNVYybDBhRWh2YkdWektHRnljaWtnZkh3Z2FYUmxjbUZpYkdWVWIwRnljbUY1VEdsdGFYUW9ZWEp5TENCcEtTQjhmQ0IxYm5OMWNIQnZjblJsWkVsMFpYSmhZbXhsVkc5QmNuSmhlU2hoY25Jc0lHa3BJSHg4SUc1dmJrbDBaWEpoWW14bFVtVnpkQ2dwTzF4dWZWeHVYRzV0YjJSMWJHVXVaWGh3YjNKMGN5QTlJRjl6YkdsalpXUlViMEZ5Y21GNU95SXNJbVoxYm1OMGFXOXVJRjlqYkdGemMwTmhiR3hEYUdWamF5aHBibk4wWVc1alpTd2dRMjl1YzNSeWRXTjBiM0lwSUh0Y2JpQWdhV1lnS0NFb2FXNXpkR0Z1WTJVZ2FXNXpkR0Z1WTJWdlppQkRiMjV6ZEhKMVkzUnZjaWtwSUh0Y2JpQWdJQ0IwYUhKdmR5QnVaWGNnVkhsd1pVVnljbTl5S0Z3aVEyRnVibTkwSUdOaGJHd2dZU0JqYkdGemN5QmhjeUJoSUdaMWJtTjBhVzl1WENJcE8xeHVJQ0I5WEc1OVhHNWNibTF2WkhWc1pTNWxlSEJ2Y25SeklEMGdYMk5zWVhOelEyRnNiRU5vWldOck95SXNJbVoxYm1OMGFXOXVJRjlrWldacGJtVlFjbTl3WlhKMGFXVnpLSFJoY21kbGRDd2djSEp2Y0hNcElIdGNiaUFnWm05eUlDaDJZWElnYVNBOUlEQTdJR2tnUENCd2NtOXdjeTVzWlc1bmRHZzdJR2tyS3lrZ2UxeHVJQ0FnSUhaaGNpQmtaWE5qY21sd2RHOXlJRDBnY0hKdmNITmJhVjA3WEc0Z0lDQWdaR1Z6WTNKcGNIUnZjaTVsYm5WdFpYSmhZbXhsSUQwZ1pHVnpZM0pwY0hSdmNpNWxiblZ0WlhKaFlteGxJSHg4SUdaaGJITmxPMXh1SUNBZ0lHUmxjMk55YVhCMGIzSXVZMjl1Wm1sbmRYSmhZbXhsSUQwZ2RISjFaVHRjYmlBZ0lDQnBaaUFvWENKMllXeDFaVndpSUdsdUlHUmxjMk55YVhCMGIzSXBJR1JsYzJOeWFYQjBiM0l1ZDNKcGRHRmliR1VnUFNCMGNuVmxPMXh1SUNBZ0lFOWlhbVZqZEM1a1pXWnBibVZRY205d1pYSjBlU2gwWVhKblpYUXNJR1JsYzJOeWFYQjBiM0l1YTJWNUxDQmtaWE5qY21sd2RHOXlLVHRjYmlBZ2ZWeHVmVnh1WEc1bWRXNWpkR2x2YmlCZlkzSmxZWFJsUTJ4aGMzTW9RMjl1YzNSeWRXTjBiM0lzSUhCeWIzUnZVSEp2Y0hNc0lITjBZWFJwWTFCeWIzQnpLU0I3WEc0Z0lHbG1JQ2h3Y205MGIxQnliM0J6S1NCZlpHVm1hVzVsVUhKdmNHVnlkR2xsY3loRGIyNXpkSEoxWTNSdmNpNXdjbTkwYjNSNWNHVXNJSEJ5YjNSdlVISnZjSE1wTzF4dUlDQnBaaUFvYzNSaGRHbGpVSEp2Y0hNcElGOWtaV1pwYm1WUWNtOXdaWEowYVdWektFTnZibk4wY25WamRHOXlMQ0J6ZEdGMGFXTlFjbTl3Y3lrN1hHNGdJSEpsZEhWeWJpQkRiMjV6ZEhKMVkzUnZjanRjYm4xY2JseHViVzlrZFd4bExtVjRjRzl5ZEhNZ1BTQmZZM0psWVhSbFEyeGhjM003SWl3aVpuVnVZM1JwYjI0Z1gyUmxabWx1WlZCeWIzQmxjblI1S0c5aWFpd2dhMlY1TENCMllXeDFaU2tnZTF4dUlDQnBaaUFvYTJWNUlHbHVJRzlpYWlrZ2UxeHVJQ0FnSUU5aWFtVmpkQzVrWldacGJtVlFjbTl3WlhKMGVTaHZZbW9zSUd0bGVTd2dlMXh1SUNBZ0lDQWdkbUZzZFdVNklIWmhiSFZsTEZ4dUlDQWdJQ0FnWlc1MWJXVnlZV0pzWlRvZ2RISjFaU3hjYmlBZ0lDQWdJR052Ym1acFozVnlZV0pzWlRvZ2RISjFaU3hjYmlBZ0lDQWdJSGR5YVhSaFlteGxPaUIwY25WbFhHNGdJQ0FnZlNrN1hHNGdJSDBnWld4elpTQjdYRzRnSUNBZ2IySnFXMnRsZVYwZ1BTQjJZV3gxWlR0Y2JpQWdmVnh1WEc0Z0lISmxkSFZ5YmlCdlltbzdYRzU5WEc1Y2JtMXZaSFZzWlM1bGVIQnZjblJ6SUQwZ1gyUmxabWx1WlZCeWIzQmxjblI1T3lJc0luWmhjaUJsUFdaMWJtTjBhVzl1S0NsN2NtVjBkWEp1SVNGdVlYWnBaMkYwYjNJdWNHVnliV2x6YzJsdmJuTjlMSEk5Wm5WdVkzUnBiMjRvS1h0eVpYUjFjbTRoSVc1aGRtbG5ZWFJ2Y2k1dFpXUnBZVVJsZG1salpYTjlPMloxYm1OMGFXOXVJSFFvWlN4eUxIUXNiaXhoTEdrc2J5bDdkSEo1ZTNaaGNpQjFQV1ZiYVYwb2J5a3NZejExTG5aaGJIVmxmV05oZEdOb0tHVXBlM0psZEhWeWJpQjJiMmxrSUhRb1pTbDlkUzVrYjI1bFAzSW9ZeWs2VUhKdmJXbHpaUzV5WlhOdmJIWmxLR01wTG5Sb1pXNG9iaXhoS1gxbWRXNWpkR2x2YmlCdUtHVXBlM0psZEhWeWJpQm1kVzVqZEdsdmJpZ3BlM1poY2lCeVBYUm9hWE1zYmoxaGNtZDFiV1Z1ZEhNN2NtVjBkWEp1SUc1bGR5QlFjbTl0YVhObEtDaG1kVzVqZEdsdmJpaGhMR2twZTNaaGNpQnZQV1V1WVhCd2JIa29jaXh1S1R0bWRXNWpkR2x2YmlCMUtHVXBlM1FvYnl4aExHa3NkU3hqTEZ3aWJtVjRkRndpTEdVcGZXWjFibU4wYVc5dUlHTW9aU2w3ZENodkxHRXNhU3gxTEdNc1hDSjBhSEp2ZDF3aUxHVXBmWFVvZG05cFpDQXdLWDBwS1gxOVpuVnVZM1JwYjI0Z1lTaGxMSElwZTNKbGRIVnliaUJtZFc1amRHbHZiaWhsS1h0cFppaEJjbkpoZVM1cGMwRnljbUY1S0dVcEtYSmxkSFZ5YmlCbGZTaGxLWHg4Wm5WdVkzUnBiMjRvWlN4eUtYdHBaaWhjSW5WdVpHVm1hVzVsWkZ3aVBUMTBlWEJsYjJZZ1UzbHRZbTlzZkh3aEtGTjViV0p2YkM1cGRHVnlZWFJ2Y2lCcGJpQlBZbXBsWTNRb1pTa3BLWEpsZEhWeWJqdDJZWElnZEQxYlhTeHVQU0V3TEdFOUlURXNhVDEyYjJsa0lEQTdkSEo1ZTJadmNpaDJZWElnYnl4MVBXVmJVM2x0WW05c0xtbDBaWEpoZEc5eVhTZ3BPeUVvYmowb2J6MTFMbTVsZUhRb0tTa3VaRzl1WlNrbUppaDBMbkIxYzJnb2J5NTJZV3gxWlNrc0lYSjhmSFF1YkdWdVozUm9JVDA5Y2lrN2JqMGhNQ2s3ZldOaGRHTm9LR1VwZTJFOUlUQXNhVDFsZldacGJtRnNiSGw3ZEhKNWUyNThmRzUxYkd3OVBYVXVjbVYwZFhKdWZIeDFMbkpsZEhWeWJpZ3BmV1pwYm1Gc2JIbDdhV1lvWVNsMGFISnZkeUJwZlgxeVpYUjFjbTRnZEgwb1pTeHlLWHg4Wm5WdVkzUnBiMjRvWlN4eUtYdHBaaWdoWlNseVpYUjFjbTQ3YVdZb1hDSnpkSEpwYm1kY0lqMDlkSGx3Wlc5bUlHVXBjbVYwZFhKdUlHa29aU3h5S1R0MllYSWdkRDFQWW1wbFkzUXVjSEp2ZEc5MGVYQmxMblJ2VTNSeWFXNW5MbU5oYkd3b1pTa3VjMnhwWTJVb09Dd3RNU2s3WENKUFltcGxZM1JjSWowOVBYUW1KbVV1WTI5dWMzUnlkV04wYjNJbUppaDBQV1V1WTI5dWMzUnlkV04wYjNJdWJtRnRaU2s3YVdZb1hDSk5ZWEJjSWowOVBYUjhmRndpVTJWMFhDSTlQVDEwS1hKbGRIVnliaUJCY25KaGVTNW1jbTl0S0dVcE8ybG1LRndpUVhKbmRXMWxiblJ6WENJOVBUMTBmSHd2WGlnL09sVnBmRWtwYm5Rb1B6bzRmREUyZkRNeUtTZy9Pa05zWVcxd1pXUXBQMEZ5Y21GNUpDOHVkR1Z6ZENoMEtTbHlaWFIxY200Z2FTaGxMSElwZlNobExISXBmSHhtZFc1amRHbHZiaWdwZTNSb2NtOTNJRzVsZHlCVWVYQmxSWEp5YjNJb1hDSkpiblpoYkdsa0lHRjBkR1Z0Y0hRZ2RHOGdaR1Z6ZEhKMVkzUjFjbVVnYm05dUxXbDBaWEpoWW14bElHbHVjM1JoYm1ObExseGNia2x1SUc5eVpHVnlJSFJ2SUdKbElHbDBaWEpoWW14bExDQnViMjR0WVhKeVlYa2diMkpxWldOMGN5QnRkWE4wSUdoaGRtVWdZU0JiVTNsdFltOXNMbWwwWlhKaGRHOXlYU2dwSUcxbGRHaHZaQzVjSWlsOUtDbDlablZ1WTNScGIyNGdhU2hsTEhJcGV5aHVkV3hzUFQxeWZIeHlQbVV1YkdWdVozUm9LU1ltS0hJOVpTNXNaVzVuZEdncE8yWnZjaWgyWVhJZ2REMHdMRzQ5Ym1WM0lFRnljbUY1S0hJcE8zUThjanQwS3lzcGJsdDBYVDFsVzNSZE8zSmxkSFZ5YmlCdWZYWmhjaUJ2UFdaMWJtTjBhVzl1S0NsN2RtRnlJSEk5YmloeVpXZGxibVZ5WVhSdmNsSjFiblJwYldVdWJXRnlheWdvWm5WdVkzUnBiMjRnY2loMEtYdHlaWFIxY200Z2NtVm5aVzVsY21GMGIzSlNkVzUwYVcxbExuZHlZWEFvS0daMWJtTjBhVzl1S0hJcGUyWnZjaWc3T3lsemQybDBZMmdvY2k1d2NtVjJQWEl1Ym1WNGRDbDdZMkZ6WlNBd09uSmxkSFZ5YmlCeUxtRmljblZ3ZENoY0luSmxkSFZ5Ymx3aUxHNWxkeUJRY205dGFYTmxLR1oxYm1OMGFXOXVLQ2w3ZG1GeUlISTliaWh5WldkbGJtVnlZWFJ2Y2xKMWJuUnBiV1V1YldGeWF5Z29ablZ1WTNScGIyNGdjaWh1TEdFcGUzWmhjaUJwTEc4N2NtVjBkWEp1SUhKbFoyVnVaWEpoZEc5eVVuVnVkR2x0WlM1M2NtRndLQ2htZFc1amRHbHZiaWh5S1h0bWIzSW9PenNwYzNkcGRHTm9LSEl1Y0hKbGRqMXlMbTVsZUhRcGUyTmhjMlVnTURweVpYUjFjbTRnWlNncGZIeGhLRzVsZHlCRVQwMUZlR05sY0hScGIyNG9YQ0pPWVhacFoyRjBiM0lnUVZCSk9pQndaWEp0YVhOemFXOXVjeUJ1YjNRZ2MzVndjRzl5ZEdWa1hDSXNYQ0pPVDFSZlUxVlFVRTlTVkVWRVgwVlNVbHdpS1Nrc2NpNXdjbVYyUFRFc2NpNXVaWGgwUFRRc2JtRjJhV2RoZEc5eUxuQmxjbTFwYzNOcGIyNXpMbkYxWlhKNUtIdHVZVzFsT25SOUtUdGpZWE5sSURRNmFUMXlMbk5sYm5Rc2J6MW1kVzVqZEdsdmJpQmxLSElwZTJrdWNtVnRiM1psUlhabGJuUk1hWE4wWlc1bGNpaGNJbU5vWVc1blpWd2lMR1VwTEhVb2NpNTBZWEpuWlhRdWMzUmhkR1VzYml4aEtYMHNhUzVoWkdSRmRtVnVkRXhwYzNSbGJtVnlLRndpWTJoaGJtZGxYQ0lzYnlrc2RTaHBMbk4wWVhSbExHNHNZU2tzY2k1dVpYaDBQVEV6TzJKeVpXRnJPMk5oYzJVZ01UQTZjaTV3Y21WMlBURXdMSEl1ZERBOWNpNWpZWFJqYUNneEtTeGhLSEl1ZERBcE8yTmhjMlVnTVRNNlkyRnpaVndpWlc1a1hDSTZjbVYwZFhKdUlISXVjM1J2Y0NncGZYMHBMSElzYm5Wc2JDeGJXekVzTVRCZFhTbDlLU2twTzNKbGRIVnliaUJtZFc1amRHbHZiaWhsTEhRcGUzSmxkSFZ5YmlCeUxtRndjR3g1S0hSb2FYTXNZWEpuZFcxbGJuUnpLWDE5S0NrcEtUdGpZWE5sSURFNlkyRnpaVndpWlc1a1hDSTZjbVYwZFhKdUlISXVjM1J2Y0NncGZYMHBMSElwZlNrcEtUdHlaWFIxY200Z1puVnVZM1JwYjI0b1pTbDdjbVYwZFhKdUlISXVZWEJ3Ykhrb2RHaHBjeXhoY21kMWJXVnVkSE1wZlgwb0tTeDFQV1oxYm1OMGFXOXVLR1VzY2l4MEtYdHpkMmwwWTJnb1pTbDdZMkZ6WlZ3aVpHVnVhV1ZrWENJNmRDaHVaWGNnUkU5TlJYaGpaWEIwYVc5dUtGd2lVR1Z5YldsemMybHZiaUJrWlc1cFpXUmNJaXhjSWs1UFZGOUJURXhQVjBWRVgwVlNVbHdpS1NrN1luSmxZV3M3WkdWbVlYVnNkRHB5S0dVcGZYMHNZejFtZFc1amRHbHZiaWdwZTNaaGNpQjBQVzRvY21WblpXNWxjbUYwYjNKU2RXNTBhVzFsTG0xaGNtc29LR1oxYm1OMGFXOXVJSFFvYVN4MUtYdHlaWFIxY200Z2NtVm5aVzVsY21GMGIzSlNkVzUwYVcxbExuZHlZWEFvS0daMWJtTjBhVzl1S0hRcGUyWnZjaWc3T3lsemQybDBZMmdvZEM1d2NtVjJQWFF1Ym1WNGRDbDdZMkZ6WlNBd09uSmxkSFZ5YmlCMExtRmljblZ3ZENoY0luSmxkSFZ5Ymx3aUxHNWxkeUJRY205dGFYTmxLR1oxYm1OMGFXOXVLQ2w3ZG1GeUlIUTliaWh5WldkbGJtVnlZWFJ2Y2xKMWJuUnBiV1V1YldGeWF5Z29ablZ1WTNScGIyNGdkQ2h1TEdNcGUzWmhjaUJ6TEdZc2NEdHlaWFIxY200Z2NtVm5aVzVsY21GMGIzSlNkVzUwYVcxbExuZHlZWEFvS0daMWJtTjBhVzl1S0hRcGUyWnZjaWc3T3lsemQybDBZMmdvZEM1d2NtVjJQWFF1Ym1WNGRDbDdZMkZ6WlNBd09uSmxkSFZ5YmlCbEtDa21KbklvS1h4OFl5aHVaWGNnUkU5TlJYaGpaWEIwYVc5dUtGd2lUbUYyYVdkaGRHOXlJRUZRU1RvZ2NHVnliV2x6YzJsdmJuTWdiM0lnVG1GMmFXZGhkRzl5SUVGUVNUb2diV1ZrYVdGRVpYWnBZMlZ6SUc1dmRDQnpkWEJ3YjNKMFpXUmNJaXhjSWs1UFZGOVRWVkJRVDFKVVJVUmZSVkpTWENJcEtTeDBMbkJ5WlhZOU1TeDBMblF3UFZCeWIyMXBjMlVzZEM1dVpYaDBQVFVzYnlocEtUdGpZWE5sSURVNmNtVjBkWEp1SUhRdWRERTlkQzV6Wlc1MExIUXVibVY0ZEQwNExHNWhkbWxuWVhSdmNpNXRaV1JwWVVSbGRtbGpaWE11WjJWMFZYTmxjazFsWkdsaEtIVXBPMk5oYzJVZ09EcHlaWFIxY200Z2RDNTBNajEwTG5ObGJuUXNkQzUwTXoxYmRDNTBNU3gwTG5ReVhTeDBMbTVsZUhROU1USXNkQzUwTUM1aGJHd3VZMkZzYkNoMExuUXdMSFF1ZERNcE8yTmhjMlVnTVRJNmN6MTBMbk5sYm5Rc1pqMWhLSE1zTWlrc2NEMW1XekZkTEc0b2NDa3NkQzV1WlhoMFBUSXhPMkp5WldGck8yTmhjMlVnTVRnNmRDNXdjbVYyUFRFNExIUXVkRFE5ZEM1allYUmphQ2d4S1N4aktIUXVkRFFwTzJOaGMyVWdNakU2WTJGelpWd2laVzVrWENJNmNtVjBkWEp1SUhRdWMzUnZjQ2dwZlgwcExIUXNiblZzYkN4Yld6RXNNVGhkWFNsOUtTa3BPM0psZEhWeWJpQm1kVzVqZEdsdmJpaGxMSElwZTNKbGRIVnliaUIwTG1Gd2NHeDVLSFJvYVhNc1lYSm5kVzFsYm5SektYMTlLQ2twS1R0allYTmxJREU2WTJGelpWd2laVzVrWENJNmNtVjBkWEp1SUhRdWMzUnZjQ2dwZlgwcExIUXBmU2twS1R0eVpYUjFjbTRnWm5WdVkzUnBiMjRvWlN4eUtYdHlaWFIxY200Z2RDNWhjSEJzZVNoMGFHbHpMR0Z5WjNWdFpXNTBjeWw5ZlNncE8yVjRjRzl5ZEh0dklHRnpJR2RsZEZCbGNtMXBjM05wYjI0c1l5QmhjeUJuWlhSVmMyVnlUV1ZrYVdGVGRISmxZVzBzY2lCaGN5QnBjMDVoZG1sbllYUnZjazFsWkdsaFJHVjJhV05sYzFOMWNIQnZjblJsWkN4bElHRnpJR2x6VG1GMmFXZGhkRzl5VUdWeWJXbHpjMmx2Ym5OVGRYQndiM0owWldSOU8xeHVMeThqSUhOdmRYSmpaVTFoY0hCcGJtZFZVa3c5WkdGMFlUcGhjSEJzYVdOaGRHbHZiaTlxYzI5dU8yTm9ZWEp6WlhROWRYUm1MVGc3WW1GelpUWTBMR1Y1U2pKYVdFcDZZVmM1ZFVscWIzcE1RMHB0WVZkNGJFbHFiMmxoVnpWcldsaG5kVnBZVFhWaGJrMXBURU5LZW1JelZubFpNbFo2U1dwd1lrbHBOSFZNTTA1NVdYazVjR013Tldoa2JXeHVXVmhTZG1Oc1FteGpiVEZ3WXpOT2NHSXlOWHBWTTFaM1kwYzVlV1JIVm10TWJYQjZTV2wzYVV4cE5IWmpNMHBxVERKc2VsUnRSakpoVjJSb1pFYzVlVlJYVm10aFYwWkZXbGhhY0ZreVZucFZNMVozWTBjNWVXUkhWbXRNYlhCNlNXbDNhVXhwTkhaak0wcHFUREprYkdSR1FteGpiVEZ3WXpOT2NHSXlOSFZoYmsxcFRFTkpkVXhwT1hwamJVMTJXakpXTUZaWVRteGphekZzV2tkc2FGVXpVbmxhVjBaMFRHMXdla2xzTUhOSmJrNTJaRmhLYWxwWVRrUmlNalV3V2xjMU1FbHFjR0pKYVRoeFMyeDRkVWxEYjJkUk1taHNXVEp6WjJReWFHeGtSMmhzWTJsQ1QxbFlXbkJhTWtZd1lqTkpaMUZXUWtwUGFVSjNXbGhLZEdGWVRucGhWemwxWTNsQ2NHTjVRbnBrV0VKM1lqTktNRnBYVVdkWmJtdG5aRWRvYkVsSFRqRmpia3BzWW01UloxbHVTblprTTA1c1kyeDRkVWxEYjJkUlNFcHNaRWhXZVdKdVRXZGxNa3AyWWpKNGJGbFhOVGxZUnpSblMyazVZMkp0VmpSalJ6bDVaRU5DYTFwWFdtaGtWM2d3U1VObmNFbEVNQ3RKUTBWb1ltMUdNbUZYWkdoa1J6bDVURzVDYkdOdE1YQmpNMDV3WWpJMWVsaEhOR2xNUTBsMlMybHdZMkpwUVhGSlJVNXZXbGRPY2tsSVpHOWFXRkp2V2xoSloxUnRSakpoVjJSb1pFYzVlVWxGUmxGVFZHOW5ZbGRXYTJGWFJrVmFXRnB3V1RKV2VrbEhiSHBKU0U0eFkwaENkbU51VW14YVEwSnBaVk5DTUdGSFZXZFpNMVo1WTIxV2RXUkRRbWxqYlRrell6SldlVmhITkdkTGFVSkJZMjFXTUdSWVNuVmplVUkzV1cwNWRtSkhWbWhpYmpGalltbEJjVXd4ZUhWYVdHaDNZak5LTUVsSFVteGFiVVl4WWtoUlowdERhMmRRVkRSblNWTkdkVmxZV25CYU1rWXdZak5KZFdKWFZtdGhWMFpGV2xoYWNGa3lWbnBZUnpScFRFTktjR0pZUW5aamJsRm5ZVmhPVDFsWVduQmFNa1l3WWpOS1VWcFlTblJoV0U1NllWYzVkV014VGpGalNFSjJZMjVTYkZwRFFtMWpiVGwwU1VOamRVd3liSHBVYlVZeVlWZGthR1JIT1hsVlIxWjVZbGRzZW1NeWJIWmliazVVWkZoQ2QySXpTakJhVjFGdVdFYzFZMkpwT0hGTGJIaDFTVU52WjFWdFZqQmtXRXAxWTNsQ2FFbElRbmxpTWpGd1l6SlZaMk50Vm5waU1uZ3lXbGRSWjJReWFHeGlhVUl3WVVkVloyTkhWbmxpVjJ4Nll6SnNkbUpwUW5CamVVSnVZMjFHZFdSSFZtdEpSMG8xU1VoU2IxcFRRakZqTWxaNVdFYzBaMHRwUWtGalIwWjVXVmN3WjJOSFZubGlWMng2WXpKc2RtSnJOV2hpVjFWblNVTkJaMGxEUVdkSlEwRm5TVU5DVDFsWE1XeEpSemx0U1VoU2IxcFRRbmRhV0VwMFlWaE9lbUZYT1hWTWFVSkJZekpXYkVsSGFEQmtTRUo2VDJrNGRtUjZUbXBNYldSd1pFZG9NVmxwTlhCaWVUbDNXbGhLZEdGWVRucGhWemwxWTNrNGFscFhOVEZpVjFKc1dta3hkMXBZU25SaFdFNTZZVmM1ZFdKdFJuUmFWbmgxU1VOdloxRklTbXhrU0ZaNVltNU5aMlV4UW5saU1qRndZekpXT1ZoSE5HZExhVGxqWW0xV05HTkhPWGxrUTBKcldsZGFhR1JYZURCSlIwWjZaVmMxYWtsRGFIZGFXRXAwWVZoT2VtRlhPWFZVYlVaMFdsTnJaMUJVTkdkbE1YaDFXRWhTZVZwWVVqRmpiVFJuWW0xV00wbEdRbmxpTWpGd1l6SlZiMWxZVGpWaWJVMW5TMGhLYkdNeU9YTmtiVlZ6U1VoS2JHRnRWbXBrUTJ0blVGUTBaMlV4ZUhWWVNGSmpaRWRzYlVsRFoyaGhXRTVQV1ZoYWNGb3lSakJpTTBwUldsaEtkR0ZZVG5waFZ6bDFZekZPTVdOSVFuWmpibEpzV2tObmNFdFRRamRZUnpWalpFWjRNRmhJVW5sYVYzQnNXVE5SYjJKdFZqTkpSVkpRVkZWV05Ga3lWbmRrUjJ4MlltbG5ibFJ0UmpKaFYyUm9aRWM1ZVVsRlJsRlRWRzluWTBkV2VXSlhiSHBqTW14MlltNU5aMkp0T1RCSlNFNHhZMGhDZG1OdVVteGFRMk56U1VOa1QxUXhVbVpWTVZaUlZVVTVVMVpGVmtWWU1GWlRWV2xqY0V0V2VIVllTRkpqWkVneFkySnNlSFZZU0ZKalpFaFNlV1ZUUWpkWVJ6VmpaRVo0TUZoSVVtcGlNalY2WkVOQ2QxcFlTblJoV0U1NllWYzVkVlV6VW1oa1NGWjZTVVF3WjFsWVpHaGhXRkZuWW0xR01tRlhaR2hrUnpsNVRHNUNiR050TVhCak0wNXdZakkxZWt4dVJqRmFXRW8xUzBoeloySnRSblJhVkc5blkwZFdlV0pYYkhwak1teDJZbXMxYUdKWFZXZG1VMnhqWW14NE1GaElVbU5rUjA1MlltNU9NRWxIT1hWUk1taG9ZbTFrYkVsRU1HZExSMVl5V2xjMU1FdFRRVGxRYVVJM1dFYzFZMlJHZURCWVNGSmpaRWhDYkdOdE1YQmpNMDV3WWpJMVZHUkhSakJrV0UxMVkyMVdkR0l6V214U1dGcHNZbTVTVFdGWVRqQmFWelZzWTJsbmJsa3lhR2hpYldSc1NubDNaMkl5TlVSaFIwWjFXakpWY0ZoSE5XTmtSbmd3V0VoU1kyUklTbXhqTWpselpHMVdVR05zU214aGJWWnFaRVZLYUdNeVZtdFVNalZVWkVkR01GcFRhR3hrYlZaMVpFTTFNRmxZU201YVdGRjFZek5TYUdSSFZYTkpTRXBzWXpJNWMyUnRWWE5KU0Vwc1lXMVdhbVJEYkdOaWJIZ3dXRWhTWTJSSU1XTmliSGd3V0VoU1kyUklRbXhqYlRGd1l6Tk9jR0l5TlZSa1IwWXdaRmhOZFZsWFVtdFNXRnBzWW01U1RXRllUakJhVnpWc1kybG5ibGt5YUdoaWJXUnNTbmwzWjJJeU5VUmhSMFoxV2pKVmNGaEhOV05rUm5nd1dFaFNlVnBZVG5aaVNGcHNWRE5LVTFwWGNHeFpNMUpEV1ZoT2JGcEZPWFZWTTFKb1pFZFZiMk5IVm5saVYyeDZZekpzZG1Kc1RqQlpXRkl4WTNrMWVtUkhSakJhVTNkblkyMVdlbUl5ZURKYVUzZG5ZMjFXY1ZwWFRqQkxWbmgxV0VoU1kyUklNR2RaTWtZd1dUSm5aMHRIVm5samJUbDVTMU5DTjFoSE5XTmtSbmd3V0VoU2VWcFhjR3haTTFGdldsaEtlV0l6U1hCWVJ6VmpaRVo0TUdaV2VIVllTRkk1UzFaNGRXWldlSFZZUnpWcVlqSTFlbVJEUW5sYVdFNTJZa2hhYkZRelNsTmFWM0JzV1ROU1ExbFlUbXhhUlRsMVZUTlNhR1JIVldkUVUwRnZZek5TYUdSSFZYTkpTRXBzWXpJNWMyUnRWWE5KU0Vwc1lXMVdhbVJEYTJkUVZEUm5aVEY0ZFZoSVVucGtNbXd3V1RKblowdElUakJaV0ZKc1MxTkNOMWhITldOa1JuZ3dXVEpHZWxwVFFXNWFSMVoxWVZkV2EwcDZjR05pYkhnd1dFaFNZMlJJU214aGJWWnFaRU5vZFZwWVkyZFNSVGxPVWxob2FscFlRakJoVnpsMVMwTmtVVnBZU25SaFdFNTZZVmM1ZFVsSFVteGliV3hzV2tOamMwbERaRTlVTVZKbVVWVjRUVlF4WkVaU1JqbEdWV3hKYmt0VGJHTmliSGd3V0VoU1kyUkhTbmxhVjBaeVdFYzFZMlJHZURCYVIxWnRXVmhXYzJSRWNHTmliSGd3V0VoU1kyUklTbXhqTWpselpHMVZiMk16VW1oa1IxVndXRWMxWTJSSU1XTmliakZqWW1sSmMwbHRiSFJqUnpsNVpFTkNjR013Tldoa2JXeHVXVmhTZG1Oc1FteGpiVEZ3WXpOT2NHSXlOWHBWTTFaM1kwYzVlV1JIVm10SlIxcDVZakl3WjBwNU5IWmhXRTVQV1ZoYWNGb3lSakJpTTBwUldsaEtkR0ZZVG5waFZ6bDFZekZPTVdOSVFuWmpibEpzV2tOa1kySnRiSFJqUnpsNVpFTkNjR013Tldoa2JXeHVXVmhTZG1Ock1XeGFSMnhvVWtkV01tRlhUbXhqTVU0eFkwaENkbU51VW14YVEwSnRZMjA1ZEVsRFkzVk1NbXg2VkcxR01tRlhaR2hrUnpsNVZGZFdhMkZYUmtWYVdGcHdXVEpXZWxVelZuZGpSemw1WkVkV2Ewb3hlSFZoVnpGM1lqTktNRWxIWkd4a1JrSnNZMjB4Y0dNelRuQmlNalJuV201S2RtSlRRVzVNYVRsdVdsaFNVVnBZU25SaFdFNTZZVmM1ZFVveGVIVllSelIyUzJsd1kySnBRWEZKUmtwc1pFaFdlV0p1VFdkWlUwSjNZMjA1ZEdGWVRteEpTRXBzWXpJNWMyUnRWbXRKU0dSdldsYzBaMlJIYUd4SlNFSnNZMjB4Y0dNelRuQmlNalJuWVZoTloxb3pTbWhpYmxKc1drTkNhV1ZUUWpCaFIxVm5aRmhPYkdOcFFtaGliVkZuWkVkb2JFbElUakJqYlZab1lsTkNjR041UW5sYVdGSjVZVmRXTWxwWFVtTmlhVUZ4U1VWQ2QxbFlTbWhpVTBKM1dsaEtkR0ZZVG5waFZ6bDFWRzFHZEZwVFFXZEpRMEZuU1VOQlowbERRV2RKUlRWb1lsZFZaMkl5V1dka1IyaHNTVWhDYkdOdE1YQmpNMDV3WWpJMGRVbEZRbnBhVjFWbllVaFNNR05JVFRaTWVUa3pUVEpOZFZveWJEQmhTRlpwVEcxc2Rrd3pRbXhqYlRGd1l6Tk9jR0l5TlhwTWVVNXNZbTVXZEZwSFZtMU1XRUpzWTIweGNHTXpUbkJpTWpWMVdWY3hiRmhITkdkTGFVSkJZMGRHZVZsWE1HZGlWMVpyWVZkR1ZHUklTbXhaVnpGRVlqSTFlbVJJU21oaFZ6VXdZM2xCWjBsRFFrUmlNalY2WkVoS2FHRlhOVEJqZVVKMldXMXdiRmt6VVhWSlJVSjZXbGRWWjJGSVVqQmpTRTAyVEhrNWExcFlXbXhpUnpsM1dsaEpkV0pYT1RaaFYzaHpXVk0xZG1OdFkzWmFWelIwVmxaTmRscEhPV3BqZVRsWVdsZEpkbEZXUWtwTU1ERnNXa2RzYUZVelVubGFWMFowVVRJNWRXTXpVbmxaVjJ4MVpFaE9ZMkpwUVhGSlJVSjVXbGhTTVdOdE5YcEpTSFJSWTIwNWRHRllUbXhtVm5oMVNVTnZkbGhITld4bFNFSjJZMjVSWjFwSFZtMVpXRlp6WkVOQ2FHTXpiSFZaZVVGdlkwZFdlV0pYYkhwak1teDJZbXMxYUdKWFZYTkpSekZzV2tkc2FGVXpVbmxhVjBaMFVUSTVkV016VW5sWlYyeDFaRWhOY0VsRU1DdEpTSFJqWW14NE1HTnRWakJrV0VwMVNVYzFiR1I1UWxGamJUbDBZVmhPYkV0SFJucGxWelZxU1VOb2VWcFlUblppU0Zwc1RFTkNlVnBYY0d4Wk0xRndTVVF3SzBsSWRHTmliSGd3V0VoU2NGcHBRVzlKVjJ4NlZHMUdNbUZYWkdoa1J6bDVWVWRXZVdKWGJIcGpNbXgyWW01T1ZHUllRbmRpTTBvd1dsZFJiMHRUUWpobVEwRm9ZVmhPVDFsWVduQmFNa1l3WWpOS1RscFhVbkJaVlZKc1pHMXNhbHBZVGxSa1dFSjNZak5LTUZwWFVXOUxVMnRuWlRGNGRWaElVbU5rUm5nd1kyMVdjVnBYVGpCTFJ6VnNaSGxDUlZRd01VWmxSMDVzWTBoU2NHSXlORzlLTURWb1pHMXNibGxZVW5aamFVSkNWVVZyTmtsSVFteGpiVEZ3WXpOT2NHSXlOWHBKUnpsNVNVVTFhR1J0Ykc1WldGSjJZMmxDUWxWRmF6WkpSekZzV2tkc2FGSkhWakpoVjA1c1kzbENkV0l6VVdkak0xWjNZMGM1ZVdSSFZtdEtlWGRuU2pBMVVGWkdPVlJXVmtKUlZERktWVkpWVW1aU1ZrcFRTbmxyY0ZoSE5XTmtSbmd3WmxaNGRWaEhOV05rUm5nd1pFaEtOVWxJZEdOaWJIZ3dXRWhTWTJSSFRuWmliazR3U1VaemMwbElUakJqYlZab1lsWXdaMUJUUW1oa01rWndaRU5DVVdOdE9YUmhXRTVzVEcxR2MySkRhR0pZUnpWalpFWjRNRmhJVW1Oa1IwWXpXVmRzTUVsSFpHeGtSa0pzWTIweGNHTXpUbkJpTWpSdlkwZFdlV0pYYkhwak1teDJZbXMxYUdKWFZYQk1SbmgxV0VoU1kyUkdlREJZU0ZKb1pESkdjR1JEUW5WWldGcHdXakpHTUdJelNYVmlWMVpyWVZkR1JWcFlXbkJaTWxaNlRHMWtiR1JHVm5wYVdFcE9XbGRTY0ZsVGFIUmFWMUp3V1ZaT01HTnRWbWhpVlU1MlltNU9NR050Um5CaWJsSjZTMU40WTJKc2VEQllTRkpqWkVZd2NGaEhOV05rUm5nd1dFaFNlVnBZVG5aaVNGcHNTMGhPTUdOdFZtaGlVMnhqWW14NE1GaElVamxKUjA1b1pFZE9iMGxEYUd4amJrcDJZMmxyWjJVeGVIVllTRkpqWkVaNE1HTnRWbkZhVjA0d1MwZFdlV050T1hsTFZuaDFXRWhTWTJSSU1XTmliSGd3WmxOc1kySnVNV05pYVVwa1RFTktkVmxYTVd4amVVazJWM2xLZFZsWVduQmFNa1l3WWpOSmFVeERTbmRhV0VwMFlWaE9lbUZYT1hWamVVbHpTVzB4YkZwSGJHaFNSMVl5WVZkT2JHTjVTWE5KYmtKc1kyMHhjR016VG5CaU1qVlBXVmN4YkVscGQybFZTRXAyWWxkc2VscFRTWE5KYmtwc1l6STVjMlJ0VldsTVEwcDVXbGR3YkZrelVXbE1RMHB3WXpBMWFHUnRiRzVaV0ZKMlkyeENiR050TVhCak0wNXdZakkxZWxVelZuZGpSemw1WkVkV2EwbHBkMmxTUlRsT1VsaG9hbHBZUWpCaFZ6bDFTV2wzYVdOWVZteGpibXRwVEVOS2RWbFhNV3hKYVhkcFkwZFdlV0pYYkhwak1teDJZbXhPTUZsWVVqRmplVWx6U1cwNWRWRXlhR2hpYldSc1NXbDNhVnBZV214aWJsRnBURU5LZVZwWE1YWmtiVlpHWkcxV2RXUkZlSEJqTTFKc1ltMVdlVWxwZDJsamJWWjZZako0TWxwVk9YbFZiVlp4V2xkT01GRnRSbnBhVjFKUVlteE9NRmxZVW14SmFYZHBaRWRHZVZveVZqQkphWGRwWXpOU2FHUkhWV2xNUTBwb1drZFNSbVJ0Vm5Wa1JYaHdZek5TYkdKdFZubEphWGRwWWxkV2EyRlhSbFJrU0Vwc1dWY3hSR0l5Tlhwa1NFcG9ZVmMxTUdONVNYTkpiV3g2VkcxR01tRlhaR2hrUnpsNVZGZFdhMkZYUmtWYVdGcHdXVEpXZWxVelZuZGpSemw1WkVkV2EwbHBkMmxhTWxZd1ZVZFdlV0pYYkhwak1teDJZbWxKYzBsdFpHeGtSbFo2V2xoS1RscFhVbkJaVTBselNXMUdjMkpEU1hOSmJrNHdZMjFXYUdKVFNtUk1RMHAwV1ZoQ2QyRlhOVzVqZVVrMlNXdEdRbE5WUlhObFZVcENVVmhXUTFGVGVGWlJWVVpXVVhsNGNsRXdUa0pXYTFGelZsVkdRbFpWVlhOaFdHaEVVVEJrY1ZGNWVISlNSVVpDV2xONFdGRlZSbEJSZVhjd1VqQkdSRnBEZUVwUlZVWktVWGw0ZGxKRlJrSlZVM2hZVVZWR1VGRjVlRVpSVlVaVVVYbDRjbEl3UmtST01FcEVURVYwUWxFd2NFVk1SVlpDVVZVNGMxTlZSa0pUVlZWeldWVkdRbGxUZDNsUk1FWkNUa1ZOYzJRd1RrSlRXRXBFVldsNFZsRlZSbFpSZVhoYVVWVkdXbFZUZUU1UlZVWk9URVZPUWxGVlZrUk1SWFJDVVZVeFVVeEdaRUpSVkdSRlZWTjRWRkZWVGtKUmVYaEdVVlZHV0V4R1RrSlJWbWhDVEVWV1FsRldiRVJNUldSQ1VUSndRMUpwZUVaUlZVWndVV3RqYzJJd1NrSlJWemxEVEVaT1FsRldWa2RNUldSQ1VYazVSRko1ZUVaUlZVVXdVV3RaYzFKVlJrSlVWV056VkRCR1FsUXdUWE5VVlVaQ1ZERnZjMUpWUmtKVk1FMXpVMVZHUmsxVlVreE1SVlpDVVZkc1ExUjVlSEJSYTBaQ1lWVkpjMVV3UmtKV1ZUUnpVakJHUkU1VlRraE1SVlpDVVZSU1ExTnBlRVpSVlVad1VXc3djMVJWUmtKVU1XOXpVbFZHUWxVd1RYTmpWVkpDVWxSa1JWRlRkekpVYTBaTVVqRk5jMUpWUmtKUFJVbHpWVEJHUWxFd1ZYTlNWVVpDVkRGdmMxSlZSa0pWTUUxelZsVkdSRTVWVGxoTVJUbENVVEJaYzFVd1JrUlRiR2R6VWxWR1FsUjVlRXBSVlVaS1VsTjRhRkZWUm1oTVJ6bERVVlZHZUZGcGVISlJNRVpJVGpCT1NVeEZWa0pSVmtaYVRFY3hSVkV6V2tOVFUzaFlVVlZHVUZwRGVFWlJWVVp1VVcxa1EweEVVa2hSVlUwMVVXbDRTbEZWUmtwYWFYaDJVa1ZHUWxWVGVGaFJWVVpRVVhsNFJsRlZSbFJSZVhoMlVqQkdSRTR3U2tSTVJYUkNVVmhPUkZsVGVFeFJWVTE0VVRKUmMxSlZSa0pVZVhoS1VWVkdTbEpUZUdoUlZVWm9URVJDUmxGVlJYbFNVM2gyVVRCR1NrMVZWa3RNUjJ4RFVWVk9jMUZ0YkVOTVJWWkNVVmRPYzFGcGVIcFJNRVpFV2tWbmMxWlZSa0pXVlZWeldWVkdRbGxYT1VOTVIwWkNVVmRHU1V4RVdrVlJWVnBYVTFOM05GRXdSa0psUlVwRVRFVTVRbE5XVW5WUmFYaEdVVlZHVW1KVlNYTmpWVkpDVWxaS2MxRnBTamxjYmlJc0ltbHRjRzl5ZENCN0lHbHpUbUYyYVdkaGRHOXlVR1Z5YldsemMybHZibk5UZFhCd2IzSjBaV1FzSUdselRtRjJhV2RoZEc5eVRXVmthV0ZFWlhacFkyVnpVM1Z3Y0c5eWRHVmtMQ0JuWlhSVmMyVnlUV1ZrYVdGVGRISmxZVzBnZlNCbWNtOXRJQ2RBZFc1MFpXMXdjeTkxYzJWeUxYQmxjbTFwYzNOcGIyNXpMWFYwYVd4ekoxeHVYRzVqYkdGemN5QldiMk5oYkNCN1hHNWNkSE4wWVhScFl5QmtaV1poZFd4MFQzQjBhVzl1Y3lBOUlIdGNibHgwWEhSbmNtRnRiV0Z5Y3pvZ2JuVnNiQ3hjYmx4MFhIUnNZVzVuT2lBblpXNHRWVk1uTEZ4dVhIUmNkR052Ym5ScGJuVnZkWE02SUdaaGJITmxMRnh1WEhSY2RHbHVkR1Z5YVcxU1pYTjFiSFJ6T2lCbVlXeHpaU3hjYmx4MFhIUnRZWGhCYkhSbGNtNWhkR2wyWlhNNklERXNYRzVjZEZ4MGMyVnlkbWxqWlZWU1NUb2diblZzYkN4Y2JseDBmVnh1WEc1Y2RITjBZWFJwWXlCbGRtVnVkRlI1Y0dWeklEMGdlMXh1WEhSY2RFRlZSRWxQWDBWT1JEb2dKMkYxWkdsdlpXNWtKeXhjYmx4MFhIUkJWVVJKVDE5VFZFRlNWRG9nSjJGMVpHbHZjM1JoY25RbkxGeHVYSFJjZEVWT1JEb2dKMlZ1WkNjc1hHNWNkRngwUlZKU1QxSTZJQ2RsY25KdmNpY3NYRzVjZEZ4MFRrOWZUVUZVUTBnNklDZHViMjFoZEdOb0p5eGNibHgwWEhSU1JWTlZURlE2SUNkeVpYTjFiSFFuTEZ4dVhIUmNkRk5QVlU1RVgwVk9SRG9nSjNOdmRXNWtaVzVrSnl4Y2JseDBYSFJUVDFWT1JGOVRWRUZTVkRvZ0ozTnZkVzVrYzNSaGNuUW5MRnh1WEhSY2RGTlFSVVZEU0Y5RlRrUTZJQ2R6Y0dWbFkyaGxibVFuTEZ4dVhIUmNkRk5RUlVWRFNGOVRWRUZTVkRvZ0ozTndaV1ZqYUhOMFlYSjBKeXhjYmx4MFhIUlRWRUZTVkRvZ0ozTjBZWEowSnl4Y2JseDBmVnh1WEc1Y2RITjBZWFJwWXlCblpYUWdhWE5UZFhCd2IzSjBaV1FvS1NCN1hHNWNkRngwY21WMGRYSnVJQ0VoVm05allXd3VYM0psYzI5c2RtVlRjR1ZsWTJoU1pXTnZaMjVwZEdsdmJpZ3BJQ1ltSUNFaGFYTk9ZWFpwWjJGMGIzSlFaWEp0YVhOemFXOXVjMU4xY0hCdmNuUmxaQ2dwSUNZbUlDRWhhWE5PWVhacFoyRjBiM0pOWldScFlVUmxkbWxqWlhOVGRYQndiM0owWldRb0tWeHVYSFI5WEc1Y2JseDBjM1JoZEdsaklITmxkQ0JwYzFOMWNIQnZjblJsWkNoZktTQjdYRzVjZEZ4MGRHaHliM2NnYm1WM0lFVnljbTl5S0NkWmIzVWdZMkZ1Ym05MElITmxkQ0JwYzFOMWNIQnZjblJsWkNCa2FYSmxZM1JzZVM0bktWeHVYSFI5WEc1Y2JseDBYMmx1YzNSaGJtTmxJRDBnYm5Wc2JGeHVYSFJmYkdsemRHVnVaWEp6SUQwZ2JuVnNiRnh1WEc1Y2RHTnZibk4wY25WamRHOXlLRzl3ZEdsdmJuTXBJSHRjYmx4MFhIUmpiMjV6ZENCVGNHVmxZMmhTWldOdloyNXBkR2x2YmlBOUlGWnZZMkZzTGw5eVpYTnZiSFpsVTNCbFpXTm9VbVZqYjJkdWFYUnBiMjRvS1Z4dVhIUmNkR2xtSUNnaFUzQmxaV05vVW1WamIyZHVhWFJwYjI0cElIdGNibHgwWEhSY2RIUm9jbTkzSUc1bGR5QkVUMDFGZUdObGNIUnBiMjRvSjFOd1pXVmphRkpsWTI5bmJtbDBhVzl1SUc1dmRDQnpkWEJ3YjNKMFpXUW5MQ0FuVGs5VVgxTlZVRkJQVWxSRlJGOUZVbEluS1Z4dVhIUmNkSDFjYmx4dVhIUmNkSFJvYVhNdVgybHVjM1JoYm1ObElEMGdibVYzSUZOd1pXVmphRkpsWTI5bmJtbDBhVzl1S0NsY2JseDBYSFIwYUdsekxsOXNhWE4wWlc1bGNuTWdQU0I3ZlZ4dVhHNWNkRngwVDJKcVpXTjBMbVZ1ZEhKcFpYTW9lMXh1WEhSY2RGeDBMaTR1Vm05allXd3VaR1ZtWVhWc2RFOXdkR2x2Ym5Nc1hHNWNkRngwWEhRdUxpNG9iM0IwYVc5dWN5QjhmQ0I3ZlNrc1hHNWNkRngwZlNrdVptOXlSV0ZqYUNnb1cydGxlU3dnZG1Gc2RXVmRLU0E5UGlCN1hHNWNkRngwWEhScFppQW9hMlY1SUQwOVBTQW5aM0poYlcxaGNuTW5JQ1ltSUNGMllXeDFaU2tnZTF4dVhIUmNkRngwWEhSamIyNXpkQ0JUY0dWbFkyaEhjbUZ0YldGeVRHbHpkQ0E5SUZadlkyRnNMbDl5WlhOdmJIWmxVM0JsWldOb1IzSmhiVzFoY2t4cGMzUW9LVnh1WEhSY2RGeDBYSFJwWmlBb0lTRlRjR1ZsWTJoSGNtRnRiV0Z5VEdsemRDa2dlMXh1WEhSY2RGeDBYSFJjZEhaaGJIVmxJRDBnYm1WM0lGTndaV1ZqYUVkeVlXMXRZWEpNYVhOMEtDbGNibHgwWEhSY2RGeDBmVnh1WEhSY2RGeDBmVnh1WEhSY2RGeDBkR2hwY3k1ZmFXNXpkR0Z1WTJWYmEyVjVYU0E5SUhaaGJIVmxYRzVjZEZ4MGZTbGNibHgwZlZ4dVhHNWNkR2RsZENCcGJuTjBZVzVqWlNncElIdGNibHgwWEhSeVpYUjFjbTRnZEdocGN5NWZhVzV6ZEdGdVkyVmNibHgwZlZ4dVhHNWNkSE5sZENCcGJuTjBZVzVqWlNoZktTQjdYRzVjZEZ4MGRHaHliM2NnYm1WM0lFVnljbTl5S0NkWmIzVWdZMkZ1Ym05MElITmxkQ0JwYm5OMFlXNWpaU0JrYVhKbFkzUnNlUzRuS1Z4dVhIUjlYRzVjYmx4MFlYTjVibU1nYzNSaGNuUW9LU0I3WEc1Y2RGeDBhV1lnS0NFaGRHaHBjeTVmYVc1emRHRnVZMlVwSUh0Y2JseDBYSFJjZEhSeWVTQjdYRzVjZEZ4MFhIUmNkR052Ym5OMElITjBjbVZoYlNBOUlHRjNZV2wwSUdkbGRGVnpaWEpOWldScFlWTjBjbVZoYlNnbmJXbGpjbTl3YUc5dVpTY3NJSHNnWVhWa2FXODZJSFJ5ZFdVZ2ZTbGNibHgwWEhSY2RGeDBhV1lnS0NGemRISmxZVzBwSUh0Y2JseDBYSFJjZEZ4MFhIUjBhSEp2ZHlCdVpYY2dSWEp5YjNJb0oxVnVZV0pzWlNCMGJ5QnlaWFJ5YVdWMlpTQjBhR1VnYzNSeVpXRnRJR1p5YjIwZ2JXVmthV0VnWkdWMmFXTmxKeWxjYmx4MFhIUmNkRngwZlZ4dVhIUmNkRngwWEhSMGFHbHpMbDlwYm5OMFlXNWpaUzV6ZEdGeWRDZ3BYRzVjZEZ4MFhIUjlJR05oZEdOb0lDaGxjbkp2Y2lrZ2UxeHVYSFJjZEZ4MFhIUmpiMjV6ZENCbGNuSnZja2hoYm1Sc1pYSWdQU0IwYUdsekxsOXNhWE4wWlc1bGNuTXVaWEp5YjNKY2JseDBYSFJjZEZ4MGFXWWdLQ0VoWlhKeWIzSklZVzVrYkdWeUtTQjdYRzVjZEZ4MFhIUmNkRngwWlhKeWIzSklZVzVrYkdWeUtHVnljbTl5S1Z4dVhIUmNkRngwWEhSOVhHNWNkRngwWEhSOVhHNWNkRngwZlZ4dVhHNWNkRngwY21WMGRYSnVJSFJvYVhOY2JseDBmVnh1WEc1Y2RITjBiM0FvS1NCN1hHNWNkRngwYVdZZ0tDRWhkR2hwY3k1ZmFXNXpkR0Z1WTJVcElIdGNibHgwWEhSY2RIUm9hWE11WDJsdWMzUmhibU5sTG5OMGIzQW9LVnh1WEhSY2RIMWNibHh1WEhSY2RISmxkSFZ5YmlCMGFHbHpYRzVjZEgxY2JseHVYSFJoWW05eWRDZ3BJSHRjYmx4MFhIUnBaaUFvSVNGMGFHbHpMbDlwYm5OMFlXNWpaU2tnZTF4dVhIUmNkRngwZEdocGN5NWZhVzV6ZEdGdVkyVXVZV0p2Y25Rb0tWeHVYSFJjZEgxY2JseHVYSFJjZEhKbGRIVnliaUIwYUdselhHNWNkSDFjYmx4dVhIUmhaR1JGZG1WdWRFeHBjM1JsYm1WeUtHVjJaVzUwVkhsd1pTd2dZMkZzYkdKaFkyc3BJSHRjYmx4MFhIUnBaaUFvSVNGMGFHbHpMbDlwYm5OMFlXNWpaU0FtSmlCMGFHbHpMbDlwYm1Oc2RXUmxjMFYyWlc1MFZIbHdaU2hsZG1WdWRGUjVjR1VwS1NCN1hHNWNkRngwWEhScFppQW9JU0YwYUdsekxsOXNhWE4wWlc1bGNuTmJaWFpsYm5SVWVYQmxYU2tnZTF4dVhIUmNkRngwWEhSMGFHbHpMbkpsYlc5MlpVVjJaVzUwVEdsemRHVnVaWElvWlhabGJuUlVlWEJsS1Z4dVhIUmNkRngwZlZ4dVhHNWNkRngwWEhSamIyNXpkQ0JvWVc1a2JHVnlJRDBnS0dWMlpXNTBLU0E5UGlCN1hHNWNkRngwWEhSY2RHeGxkQ0JoWkdScGRHbHZibUZzUVhKbmN5QTlJRnRkWEc1Y2RGeDBYSFJjZEdsbUlDaGxkbVZ1ZEZSNWNHVWdQVDA5SUZadlkyRnNMbVYyWlc1MFZIbHdaWE11VWtWVFZVeFVLU0I3WEc1Y2RGeDBYSFJjZEZ4MGFXWWdLQ0VoWlhabGJuUXVjbVZ6ZFd4MGN5QW1KaUJsZG1WdWRDNXlaWE4xYkhSekxteGxibWQwYUNBK0lEQXBJSHRjYmx4MFhIUmNkRngwWEhSY2RHRmtaR2wwYVc5dVlXeEJjbWR6TG5CMWMyZ29aWFpsYm5RdWNtVnpkV3gwYzFzd1hWc3dYUzUwY21GdWMyTnlhWEIwS1Z4dVhIUmNkRngwWEhSY2RIMWNibHgwWEhSY2RGeDBmVnh1WEc1Y2RGeDBYSFJjZENFaFkyRnNiR0poWTJzZ0ppWWdZMkZzYkdKaFkyc3VZWEJ3Ykhrb2RHaHBjeXdnVzJWMlpXNTBMQ0F1TGk1aFpHUnBkR2x2Ym1Gc1FYSm5jMTBwWEc1Y2RGeDBYSFI5WEc1Y2RGeDBYSFIwYUdsekxsOXBibk4wWVc1alpTNWhaR1JGZG1WdWRFeHBjM1JsYm1WeUtHVjJaVzUwVkhsd1pTd2dhR0Z1Wkd4bGNpbGNibHh1WEhSY2RGeDBkR2hwY3k1ZmJHbHpkR1Z1WlhKelcyVjJaVzUwVkhsd1pWMGdQU0JvWVc1a2JHVnlYRzVjZEZ4MGZWeHVYRzVjZEZ4MGNtVjBkWEp1SUhSb2FYTmNibHgwZlZ4dVhHNWNkSEpsYlc5MlpVVjJaVzUwVEdsemRHVnVaWElvWlhabGJuUlVlWEJsS1NCN1hHNWNkRngwWTI5dWMzUWdhR0Z1Wkd4bGNpQTlJSFJvYVhNdVgyeHBjM1JsYm1WeWMxdGxkbVZ1ZEZSNWNHVmRYRzVjZEZ4MGRHaHBjeTVmYVc1emRHRnVZMlV1Y21WdGIzWmxSWFpsYm5STWFYTjBaVzVsY2lobGRtVnVkRlI1Y0dVc0lHaGhibVJzWlhJcFhHNWNibHgwWEhSa1pXeGxkR1VnZEdocGN5NWZiR2x6ZEdWdVpYSnpXMlYyWlc1MFZIbHdaVjFjYmx4dVhIUmNkSEpsZEhWeWJpQjBhR2x6WEc1Y2RIMWNibHh1WEhSamJHVmhiblZ3S0NrZ2UxeHVYSFJjZEhSb2FYTXVjM1J2Y0NncFhHNWNibHgwWEhSUFltcGxZM1F1YTJWNWN5aDBhR2x6TGw5c2FYTjBaVzVsY25NcExtWnZja1ZoWTJnb0tHdGxlU2tnUFQ0Z2RHaHBjeTV5WlcxdmRtVkZkbVZ1ZEV4cGMzUmxibVZ5S0d0bGVTa3BYRzVjZEZ4MGRHaHBjeTVmYVc1emRHRnVZMlVnUFNCdWRXeHNYRzVjYmx4MFhIUnlaWFIxY200Z2RHaHBjMXh1WEhSOVhHNWNibHgwWDJsdVkyeDFaR1Z6UlhabGJuUlVlWEJsS0dWMlpXNTBWSGx3WlNrZ2UxeHVYSFJjZEhKbGRIVnliaUFoSVU5aWFtVmpkQzUyWVd4MVpYTW9WbTlqWVd3dVpYWmxiblJVZVhCbGN5a3VabWx1WkNnb2RIbHdaU2tnUFQ0Z2RIbHdaU0E5UFQwZ1pYWmxiblJVZVhCbEtWeHVYSFI5WEc1Y2JseDBjM1JoZEdsaklGOXlaWE52YkhabFUzQmxaV05vVW1WamIyZHVhWFJwYjI0b0tTQjdYRzVjZEZ4MGNtVjBkWEp1SUNoY2JseDBYSFJjZEhkcGJtUnZkeTVUY0dWbFkyaFNaV052WjI1cGRHbHZiaUI4ZkZ4dVhIUmNkRngwZDJsdVpHOTNMbmRsWW10cGRGTndaV1ZqYUZKbFkyOW5ibWwwYVc5dUlIeDhYRzVjZEZ4MFhIUjNhVzVrYjNjdWJXOTZVM0JsWldOb1VtVmpiMmR1YVhScGIyNGdmSHhjYmx4MFhIUmNkSGRwYm1SdmR5NXRjMU53WldWamFGSmxZMjluYm1sMGFXOXVYRzVjZEZ4MEtWeHVYSFI5WEc1Y2JseDBjM1JoZEdsaklGOXlaWE52YkhabFUzQmxaV05vUjNKaGJXMWhja3hwYzNRb0tTQjdYRzVjZEZ4MGNtVjBkWEp1SUNoY2JseDBYSFJjZEhkcGJtUnZkeTVUY0dWbFkyaEhjbUZ0YldGeVRHbHpkQ0I4ZkZ4dVhIUmNkRngwZDJsdVpHOTNMbmRsWW10cGRGTndaV1ZqYUVkeVlXMXRZWEpNYVhOMElIeDhYRzVjZEZ4MFhIUjNhVzVrYjNjdWJXOTZVM0JsWldOb1IzSmhiVzFoY2t4cGMzUWdmSHhjYmx4MFhIUmNkSGRwYm1SdmR5NXRjMU53WldWamFFZHlZVzF0WVhKTWFYTjBYRzVjZEZ4MEtWeHVYSFI5WEc1OVhHNWNibVY0Y0c5eWRDQmtaV1poZFd4MElGWnZZMkZzWEc0aVhTd2libUZ0WlhNaU9sc2ljblZ1ZEdsdFpTSXNJbVY0Y0c5eWRITWlMQ0pQY0NJc0lrOWlhbVZqZENJc0luQnliM1J2ZEhsd1pTSXNJbWhoYzA5M2JpSXNJbWhoYzA5M2JsQnliM0JsY25SNUlpd2lKRk41YldKdmJDSXNJbE41YldKdmJDSXNJbWwwWlhKaGRHOXlVM2x0WW05c0lpd2lhWFJsY21GMGIzSWlMQ0poYzNsdVkwbDBaWEpoZEc5eVUzbHRZbTlzSWl3aVlYTjVibU5KZEdWeVlYUnZjaUlzSW5SdlUzUnlhVzVuVkdGblUzbHRZbTlzSWl3aWRHOVRkSEpwYm1kVVlXY2lMQ0prWldacGJtVWlMQ0p2WW1vaUxDSnJaWGtpTENKMllXeDFaU0lzSW1SbFptbHVaVkJ5YjNCbGNuUjVJaXdpWlc1MWJXVnlZV0pzWlNJc0ltTnZibVpwWjNWeVlXSnNaU0lzSW5keWFYUmhZbXhsSWl3aVpYSnlJaXdpZDNKaGNDSXNJbWx1Ym1WeVJtNGlMQ0p2ZFhSbGNrWnVJaXdpYzJWc1ppSXNJblJ5ZVV4dlkzTk1hWE4wSWl3aWNISnZkRzlIWlc1bGNtRjBiM0lpTENKSFpXNWxjbUYwYjNJaUxDSm5aVzVsY21GMGIzSWlMQ0pqY21WaGRHVWlMQ0pqYjI1MFpYaDBJaXdpUTI5dWRHVjRkQ0lzSWw5cGJuWnZhMlVpTENKemRHRjBaU0lzSW0xbGRHaHZaQ0lzSW1GeVp5SXNJa1Z5Y205eUlpd2laRzl1WlZKbGMzVnNkQ0lzSW1SbGJHVm5ZWFJsSWl3aVpHVnNaV2RoZEdWU1pYTjFiSFFpTENKdFlYbGlaVWx1ZG05clpVUmxiR1ZuWVhSbElpd2lRMjl1ZEdsdWRXVlRaVzUwYVc1bGJDSXNJbk5sYm5RaUxDSmZjMlZ1ZENJc0ltUnBjM0JoZEdOb1JYaGpaWEIwYVc5dUlpd2lZV0p5ZFhCMElpd2ljbVZqYjNKa0lpd2lkSEo1UTJGMFkyZ2lMQ0owZVhCbElpd2laRzl1WlNJc0ltMWhhMlZKYm5admEyVk5aWFJvYjJRaUxDSm1iaUlzSW1OaGJHd2lMQ0pIWlc1bGNtRjBiM0pHZFc1amRHbHZiaUlzSWtkbGJtVnlZWFJ2Y2taMWJtTjBhVzl1VUhKdmRHOTBlWEJsSWl3aVNYUmxjbUYwYjNKUWNtOTBiM1I1Y0dVaUxDSjBhR2x6SWl3aVoyVjBVSEp2ZEc4aUxDSm5aWFJRY205MGIzUjVjR1ZQWmlJc0lrNWhkR2wyWlVsMFpYSmhkRzl5VUhKdmRHOTBlWEJsSWl3aWRtRnNkV1Z6SWl3aVIzQWlMQ0prWldacGJtVkpkR1Z5WVhSdmNrMWxkR2h2WkhNaUxDSm1iM0pGWVdOb0lpd2lRWE41Ym1OSmRHVnlZWFJ2Y2lJc0lsQnliMjFwYzJWSmJYQnNJaXdpY0hKbGRtbHZkWE5RY205dGFYTmxJaXdpWTJGc2JFbHVkbTlyWlZkcGRHaE5aWFJvYjJSQmJtUkJjbWNpTENKeVpYTnZiSFpsSWl3aWNtVnFaV04wSWl3aWFXNTJiMnRsSWl3aWNtVnpkV3gwSWl3aVgxOWhkMkZwZENJc0luUm9aVzRpTENKMWJuZHlZWEJ3WldRaUxDSmxjbkp2Y2lJc0luVnVaR1ZtYVc1bFpDSXNJbFI1Y0dWRmNuSnZjaUlzSW1sdVptOGlMQ0p5WlhOMWJIUk9ZVzFsSWl3aWJtVjRkQ0lzSW01bGVIUk1iMk1pTENKd2RYTm9WSEo1Ulc1MGNua2lMQ0pzYjJOeklpd2laVzUwY25raUxDSjBjbmxNYjJNaUxDSmpZWFJqYUV4dll5SXNJbVpwYm1Gc2JIbE1iMk1pTENKaFpuUmxja3h2WXlJc0luUnllVVZ1ZEhKcFpYTWlMQ0p3ZFhOb0lpd2ljbVZ6WlhSVWNubEZiblJ5ZVNJc0ltTnZiWEJzWlhScGIyNGlMQ0p5WlhObGRDSXNJbWwwWlhKaFlteGxJaXdpYVhSbGNtRjBiM0pOWlhSb2IyUWlMQ0pwYzA1aFRpSXNJbXhsYm1kMGFDSXNJbWtpTENKamIyNXpkSEoxWTNSdmNpSXNJbVJwYzNCc1lYbE9ZVzFsSWl3aWFYTkhaVzVsY21GMGIzSkdkVzVqZEdsdmJpSXNJbWRsYmtaMWJpSXNJbU4wYjNJaUxDSnVZVzFsSWl3aWJXRnlheUlzSW5ObGRGQnliM1J2ZEhsd1pVOW1JaXdpWDE5d2NtOTBiMTlmSWl3aVlYZHlZWEFpTENKaGMzbHVZeUlzSWxCeWIyMXBjMlVpTENKcGRHVnlJaXdpZEc5VGRISnBibWNpTENKclpYbHpJaXdpYjJKcVpXTjBJaXdpY21WMlpYSnpaU0lzSW5CdmNDSXNJbk5yYVhCVVpXMXdVbVZ6WlhRaUxDSndjbVYySWl3aVkyaGhja0YwSWl3aWMyeHBZMlVpTENKemRHOXdJaXdpY205dmRGSmxZMjl5WkNJc0luSjJZV3dpTENKbGVHTmxjSFJwYjI0aUxDSm9ZVzVrYkdVaUxDSnNiMk1pTENKallYVm5hSFFpTENKb1lYTkRZWFJqYUNJc0ltaGhjMFpwYm1Gc2JIa2lMQ0ptYVc1aGJHeDVSVzUwY25raUxDSmpiMjF3YkdWMFpTSXNJbVpwYm1semFDSXNJbU5oZEdOb0lpd2lkR2h5YjNkdUlpd2laR1ZzWldkaGRHVlphV1ZzWkNJc0ltMXZaSFZzWlNJc0luSmxaMlZ1WlhKaGRHOXlVblZ1ZEdsdFpTSXNJbUZqWTJsa1pXNTBZV3hUZEhKcFkzUk5iMlJsSWl3aVJuVnVZM1JwYjI0aUxDSmhjM2x1WTBkbGJtVnlZWFJ2Y2xOMFpYQWlMQ0puWlc0aUxDSmZibVY0ZENJc0lsOTBhSEp2ZHlJc0ltRnlaM01pTENKaGNtZDFiV1Z1ZEhNaUxDSmhjSEJzZVNJc0ltRnljaUlzSWtGeWNtRjVJaXdpYVhOQmNuSmhlU0lzSWw5aGNuSWlMQ0pmYmlJc0lsOWtJaXdpWDJVaUxDSmZjeUlzSWw5cElpd2liR1Z1SWl3aVlYSnlNaUlzSW04aUxDSnRhVzVNWlc0aUxDSmhjbkpoZVV4cGEyVlViMEZ5Y21GNUlpd2liaUlzSW1aeWIyMGlMQ0owWlhOMElpd2lZWEp5WVhsWGFYUm9TRzlzWlhNaUxDSnBkR1Z5WVdKc1pWUnZRWEp5WVhsTWFXMXBkQ0lzSW5WdWMzVndjRzl5ZEdWa1NYUmxjbUZpYkdWVWIwRnljbUY1SWl3aWJtOXVTWFJsY21GaWJHVlNaWE4wSWl3aWFXNXpkR0Z1WTJVaUxDSkRiMjV6ZEhKMVkzUnZjaUlzSWw5a1pXWnBibVZRY205d1pYSjBhV1Z6SWl3aWRHRnlaMlYwSWl3aWNISnZjSE1pTENKa1pYTmpjbWx3ZEc5eUlpd2ljSEp2ZEc5UWNtOXdjeUlzSW5OMFlYUnBZMUJ5YjNCeklpd2laU0lzSW01aGRtbG5ZWFJ2Y2lJc0luQmxjbTFwYzNOcGIyNXpJaXdpY2lJc0ltMWxaR2xoUkdWMmFXTmxjeUlzSW5RaUxDSmhJaXdpZFNJc0ltTWlMQ0p5WlhSMWNtNGlMQ0pFVDAxRmVHTmxjSFJwYjI0aUxDSnhkV1Z5ZVNJc0luSmxiVzkyWlVWMlpXNTBUR2x6ZEdWdVpYSWlMQ0poWkdSRmRtVnVkRXhwYzNSbGJtVnlJaXdpZERBaUxDSnpJaXdpWmlJc0luQWlMQ0owTVNJc0ltZGxkRlZ6WlhKTlpXUnBZU0lzSW5ReUlpd2lkRE1pTENKaGJHd2lMQ0owTkNJc0lsWnZZMkZzSWl3aWIzQjBhVzl1Y3lJc0lsTndaV1ZqYUZKbFkyOW5ibWwwYVc5dUlpd2lYM0psYzI5c2RtVlRjR1ZsWTJoU1pXTnZaMjVwZEdsdmJpSXNJbDlwYm5OMFlXNWpaU0lzSWw5c2FYTjBaVzVsY25NaUxDSmxiblJ5YVdWeklpd2laR1ZtWVhWc2RFOXdkR2x2Ym5NaUxDSlRjR1ZsWTJoSGNtRnRiV0Z5VEdsemRDSXNJbDl5WlhOdmJIWmxVM0JsWldOb1IzSmhiVzFoY2t4cGMzUWlMQ0pmZEdocGN5SXNJbWx6VG1GMmFXZGhkRzl5VUdWeWJXbHpjMmx2Ym5OVGRYQndiM0owWldRaUxDSnBjMDVoZG1sbllYUnZjazFsWkdsaFJHVjJhV05sYzFOMWNIQnZjblJsWkNJc0lsOGlMQ0puWlhSVmMyVnlUV1ZrYVdGVGRISmxZVzBpTENKaGRXUnBieUlzSW5OMFlYSjBJaXdpWlhKeWIzSklZVzVrYkdWeUlpd2lZV0p2Y25RaUxDSmxkbVZ1ZEZSNWNHVWlMQ0pqWVd4c1ltRmpheUlzSWw5cGJtTnNkV1JsYzBWMlpXNTBWSGx3WlNJc0ltaGhibVJzWlhJaUxDSmxkbVZ1ZENJc0ltRmtaR2wwYVc5dVlXeEJjbWR6SWl3aVpYWmxiblJVZVhCbGN5SXNJbEpGVTFWTVZDSXNJbkpsYzNWc2RITWlMQ0owY21GdWMyTnlhWEIwSWl3aVgzUm9hWE15SWl3aVgzUm9hWE16SWl3aVptbHVaQ0lzSW5kcGJtUnZkeUlzSW5kbFltdHBkRk53WldWamFGSmxZMjluYm1sMGFXOXVJaXdpYlc5NlUzQmxaV05vVW1WamIyZHVhWFJwYjI0aUxDSnRjMU53WldWamFGSmxZMjluYm1sMGFXOXVJaXdpZDJWaWEybDBVM0JsWldOb1IzSmhiVzFoY2t4cGMzUWlMQ0p0YjNwVGNHVmxZMmhIY21GdGJXRnlUR2x6ZENJc0ltMXpVM0JsWldOb1IzSmhiVzFoY2t4cGMzUWlMQ0puY21GdGJXRnljeUlzSW14aGJtY2lMQ0pqYjI1MGFXNTFiM1Z6SWl3aWFXNTBaWEpwYlZKbGMzVnNkSE1pTENKdFlYaEJiSFJsY201aGRHbDJaWE1pTENKelpYSjJhV05sVlZKSklpd2lRVlZFU1U5ZlJVNUVJaXdpUVZWRVNVOWZVMVJCVWxRaUxDSkZUa1FpTENKRlVsSlBVaUlzSWs1UFgwMUJWRU5JSWl3aVUwOVZUa1JmUlU1RUlpd2lVMDlWVGtSZlUxUkJVbFFpTENKVFVFVkZRMGhmUlU1RUlpd2lVMUJGUlVOSVgxTlVRVkpVSWl3aVUxUkJVbFFpWFN3aWJXRndjR2x1WjNNaU9pSTRUMEZQUVN4SlFVRkpRU3hGUVVGWExGTkJRVlZETEVkQlIzWkNMRWxCUVVsRExFVkJRVXRETEU5QlFVOURMRlZCUTFwRExFVkJRVk5JTEVWQlFVZEpMR1ZCUlZwRExFVkJRVFJDTEcxQ1FVRllReXhQUVVGM1FrRXNUMEZCVXl4SFFVTnNSRU1zUlVGQmFVSkdMRVZCUVZGSExGVkJRVmtzWVVGRGNrTkRMRVZCUVhOQ1NpeEZRVUZSU3l4bFFVRnBRaXhyUWtGREwwTkRMRVZCUVc5Q1RpeEZRVUZSVHl4aFFVRmxMR2RDUVVVdlF5eFRRVUZUUXl4RlFVRlBReXhGUVVGTFF5eEZRVUZMUXl4SFFVOTRRaXhQUVU1QlppeFBRVUZQWjBJc1pVRkJaVWdzUlVGQlMwTXNSVUZCU3l4RFFVTTVRa01zVFVGQlQwRXNSVUZEVUVVc1dVRkJXU3hGUVVOYVF5eGpRVUZqTEVWQlEyUkRMRlZCUVZVc1NVRkZURTRzUlVGQlNVTXNSMEZGWWl4SlFVVkZSaXhGUVVGUExFZEJRVWtzU1VGRFdDeE5RVUZQVVN4SFFVTlFVaXhGUVVGVExGTkJRVk5ETEVWQlFVdERMRVZCUVV0RExFZEJRekZDTEU5QlFVOUdMRVZCUVVsRExFZEJRVTlETEVkQlNYUkNMRk5CUVZOTkxFVkJRVXRETEVWQlFWTkRMRVZCUVZORExFVkJRVTFETEVkQlJYQkRMRWxCUVVsRExFVkJRV2xDU0N4SFFVRlhRU3hGUVVGUmRFSXNjVUpCUVhGQ01FSXNSVUZCV1Vvc1JVRkJWVWtzUlVGREwwVkRMRVZCUVZrMVFpeFBRVUZQTmtJc1QwRkJUMGdzUlVGQlpYcENMRmRCUTNwRE5rSXNSVUZCVlN4SlFVRkpReXhGUVVGUlRpeEhRVUZsTEVsQlRYcERMRTlCUmtGSExFVkJRVlZKTEZGQmMwMWFMRk5CUVRCQ1ZpeEZRVUZUUlN4RlFVRk5UU3hIUVVOMlF5eEpRVUZKUnl4RlFTOUxkVUlzYVVKQmFVd3pRaXhQUVVGUExGTkJRV2RDUXl4RlFVRlJReXhIUVVNM1FpeEhRV2hNYjBJc1kwRm5UR2hDUml4RlFVTkdMRTFCUVUwc1NVRkJTVWNzVFVGQlRTeG5RMEZIYkVJc1IwRnVURzlDTEdOQmJVeG9Ra2dzUlVGQk5rSXNRMEZETDBJc1IwRkJaU3hWUVVGWVF5eEZRVU5HTEUxQlFVMURMRVZCUzFJc1QwRkJUMFVzU1VGTlZDeEpRVWhCVUN4RlFVRlJTU3hQUVVGVFFTeEZRVU5xUWtvc1JVRkJVVXNzU1VGQlRVRXNTVUZGUkN4RFFVTllMRWxCUVVsSExFVkJRVmRTTEVWQlFWRlJMRk5CUTNaQ0xFZEJRVWxCTEVWQlFWVXNRMEZEV2l4SlFVRkpReXhGUVVGcFFrTXNSVUZCYjBKR0xFVkJRVlZTTEVkQlEyNUVMRWRCUVVsVExFVkJRV2RDTEVOQlEyeENMRWRCUVVsQkxFbEJRVzFDUlN4RlFVRnJRaXhUUVVONlF5eFBRVUZQUml4SFFVbFlMRWRCUVhWQ0xGTkJRVzVDVkN4RlFVRlJTU3hQUVVkV1NpeEZRVUZSV1N4TFFVRlBXaXhGUVVGUllTeE5RVUZSWWl4RlFVRlJTeXhUUVVWc1F5eEhRVUYxUWl4VlFVRnVRa3dzUlVGQlVVa3NUMEZCYjBJc1EwRkRja01zUjBGdVRuRkNMRzFDUVcxT2FrSkVMRVZCUlVZc1RVRkVRVUVzUlVGcVRtTXNXVUZyVGxKSUxFVkJRVkZMTEVsQlIyaENUQ3hGUVVGUll5eHJRa0ZCYTBKa0xFVkJRVkZMTEZOQlJVNHNWMEZCYmtKTUxFVkJRVkZKTEZGQlEycENTaXhGUVVGUlpTeFBRVUZQTEZOQlFWVm1MRVZCUVZGTExFdEJSMjVEUml4RlFUVk9hMElzV1VFNFRteENMRWxCUVVsaExFVkJRVk5ETEVWQlFWTjZRaXhGUVVGVFJTeEZRVUZOVFN4SFFVTnlReXhIUVVGdlFpeFhRVUZvUW1kQ0xFVkJRVTlGTEV0QlFXMUNMRU5CVHpWQ0xFZEJTa0ZtTEVWQlFWRklMRVZCUVZGdFFpeExRV3BQUVN4WlFVWkxMR2xDUVhWUGFrSklMRVZCUVU5WUxFMUJRVkZOTEVWQlEycENMRk5CUjBZc1RVRkJUeXhEUVVOTU1VSXNUVUZCVHl0Q0xFVkJRVTlZTEVsQlEyUmpMRXRCUVUxdVFpeEZRVUZSYlVJc1RVRkhVeXhWUVVGb1FrZ3NSVUZCVDBVc1QwRkRhRUptTEVWQkwwOW5RaXhaUVd0UWFFSklMRVZCUVZGSkxFOUJRVk1zVVVGRGFrSktMRVZCUVZGTExFbEJRVTFYTEVWQlFVOVlMRTlCT1ZGUVpTeERRVUZwUWpWQ0xFVkJRVk5GTEVWQlFVMU5MRWRCUlRkRFJpeEZRV05VTEZOQlFWTnRRaXhGUVVGVFNTeEZRVUZKZEVNc1JVRkJTM05DTEVkQlEzcENMRWxCUTBVc1RVRkJUeXhEUVVGRllTeExRVUZOTEZOQlFWVmlMRWxCUVV0blFpeEZRVUZIUXl4TFFVRkxka01zUlVGQlMzTkNMRWxCUXpORExFMUJRVTltTEVkQlExQXNUVUZCVHl4RFFVRkZORUlzUzBGQlRTeFJRVUZUWWl4SlFVRkxaaXhKUVdoQ2FrTjBRaXhGUVVGUmRVSXNTMEZCVDBFc1JVRnZRbVlzU1VGUFNXOUNMRVZCUVcxQ0xFZEJUWFpDTEZOQlFWTmtMRXRCUTFRc1UwRkJVekJDTEV0QlExUXNVMEZCVTBNc1MwRkpWQ3hKUVVGSlF5eEZRVUZ2UWl4SFFVTjRRa0VzUlVGQmEwSnFSQ3hIUVVGclFpeFhRVU5zUXl4UFFVRlBhMFFzVFVGSFZDeEpRVUZKUXl4RlFVRlhla1FzVDBGQlR6QkVMR1ZCUTJ4Q1F5eEZRVUV3UWtZc1IwRkJXVUVzUlVGQlUwRXNSVUZCVTBjc1JVRkJUeXhOUVVNdlJFUXNSMEZEUVVFc1NVRkJORUkxUkN4SFFVTTFRa2NzUlVGQlQydEVMRXRCUVV0UExFVkJRWGxDY2tRc1MwRkhka05wUkN4RlFVRnZRa2tzUjBGSGRFSXNTVUZCU1VVc1JVRkJTMUFzUlVGQk1rSnlSQ3hWUVVOc1F6QkNMRVZCUVZVeFFpeFZRVUZaUkN4UFFVRlBOa0lzVDBGQlR6QkNMRWRCVjNSRExGTkJRVk5QTEVWQlFYTkNOMFFzUjBGRE4wSXNRMEZCUXl4UFFVRlJMRkZCUVZNc1ZVRkJWVGhFTEZOQlFWRXNVMEZCVXpkQ0xFZEJRek5EZEVJc1JVRkJUMWdzUlVGQlYybERMRWRCUVZFc1UwRkJVME1zUjBGRGFrTXNUMEZCVDNGQ0xFdEJRVXQ0UWl4UlFVRlJSU3hGUVVGUlF5eFRRV3REYkVNc1UwRkJVelpDTEVWQlFXTndReXhGUVVGWGNVTXNSMEZuUTJoRExFbEJRVWxETEVWQlowTktWaXhMUVVGTGVFSXNVVUU1UWt3c1UwRkJhVUpGTEVWQlFWRkRMRWRCUTNaQ0xGTkJRVk5uUXl4SlFVTlFMRTlCUVU4c1NVRkJTVVlzUjBGQldTeFRRVUZUUnl4RlFVRlRReXhKUVc1RE4wTXNVMEZCVTBNc1JVRkJUM0JETEVWQlFWRkRMRVZCUVV0cFF5eEZRVUZUUXl4SFFVTndReXhKUVVGSmRrSXNSVUZCVTBNc1JVRkJVMjVDTEVWQlFWVk5MRWRCUVZOT0xFVkJRVmRQTEVkQlEzQkVMRWRCUVc5Q0xGVkJRV2hDVnl4RlFVRlBSU3hMUVVWS0xFTkJRMHdzU1VGQlNYVkNMRVZCUVZONlFpeEZRVUZQV0N4SlFVTm9RbkJDTEVWQlFWRjNSQ3hGUVVGUGVFUXNUVUZEYmtJc1QwRkJTVUVzUjBGRGFVSXNhVUpCUVZaQkxFZEJRMUJpTEVWQlFVOXJSQ3hMUVVGTGNrTXNSVUZCVHl4WFFVTmthMFFzUlVGQldVY3NVVUZCVVhKRUxFVkJRVTE1UkN4VFFVRlRReXhOUVVGTExGTkJRVk14UkN4SFFVTjBSSFZFTEVWQlFVOHNUMEZCVVhaRUxFVkJRVTl4UkN4RlFVRlRReXhOUVVNNVFpeFRRVUZUYWtRc1IwRkRWbXRFTEVWQlFVOHNVVUZCVTJ4RUxFVkJRVXRuUkN4RlFVRlRReXhOUVVrelFrb3NSVUZCV1Vjc1VVRkJVWEpFTEVkQlFVOHdSQ3hOUVVGTExGTkJRVk5ETEVkQlNUbERTQ3hGUVVGUGVFUXNUVUZCVVRKRUxFVkJRMlpPTEVWQlFWRkhMRTFCUTFBc1UwRkJVMGtzUjBGSFZpeFBRVUZQVEN4RlFVRlBMRkZCUVZOTExFVkJRVTlRTEVWQlFWTkRMRTFCZGtKNlEwRXNSVUZCVDNaQ0xFVkJRVTlZTEV0QmFVTmFiVU1zUTBGQlQzQkRMRVZCUVZGRExFVkJRVXRwUXl4RlFVRlRReXhOUVVscVF5eFBRVUZQU0N4RlFXRk1RU3hGUVVGclFrRXNSVUZCWjBKUExFdEJRMmhEVGl4RlFVZEJRU3hIUVVORlFTeExRV3RJVml4VFFVRlRNMElzUlVGQmIwSkdMRVZCUVZWU0xFZEJRM0pETEVsQlFVbEpMRVZCUVZOSkxFVkJRVk12UWl4VFFVRlRkVUlzUlVGQlVVa3NVVUZEZGtNc1VVRXhWRVV3UXl4SlFUQlVSVEZETEVWQlFYTkNMRU5CUzNoQ0xFZEJSa0ZLTEVWQlFWRlJMRk5CUVZjc1MwRkZTU3hWUVVGdVFsSXNSVUZCVVVrc1QwRkJiMElzUTBGRk9VSXNSMEZCU1Vrc1JVRkJVeTlDTEZOQlFXbENMRk5CUnpWQ2RVSXNSVUZCVVVrc1QwRkJVeXhUUVVOcVFrb3NSVUZCVVVzc1UwRnlWVnA1UXl4RlFYTlZTWEJETEVWQlFXOUNSaXhGUVVGVlVpeEhRVVZRTEZWQlFXNUNRU3hGUVVGUlNTeFJRVWRXTEU5QlFVOVBMRVZCU1ZoWUxFVkJRVkZKTEU5QlFWTXNVVUZEYWtKS0xFVkJRVkZMTEVsQlFVMHNTVUZCU1RCRExGVkJRMmhDTEd0RVFVZEtMRTlCUVU5d1F5eEZRVWRVTEVsQlFVbExMRVZCUVZORExFVkJRVk5pTEVWQlFWRkpMRVZCUVZNdlFpeFRRVUZWZFVJc1JVRkJVVXNzUzBGRmVrUXNSMEZCYjBJc1ZVRkJhRUpYTEVWQlFVOUZMRXRCU1ZRc1QwRklRV3hDTEVWQlFWRkpMRTlCUVZNc1VVRkRha0pLTEVWQlFWRkxMRWxCUVUxWExFVkJRVTlZTEVsQlEzSkNUQ3hGUVVGUlVTeFRRVUZYTEV0QlExcEhMRVZCUjFRc1NVRkJTWEZETEVWQlFVOW9ReXhGUVVGUFdDeEpRVVZzUWl4UFFVRk5Na01zUlVGUFJrRXNSVUZCU3pkQ0xFMUJSMUJ1UWl4RlFVRlJVU3hGUVVGVGVVTXNXVUZCWTBRc1JVRkJTeTlFTEUxQlIzQkRaU3hGUVVGUmEwUXNTMEZCVHpGRExFVkJRVk15UXl4UlFWRkVMRmRCUVc1Q2JrUXNSVUZCVVVrc1UwRkRWa29zUlVGQlVVa3NUMEZCVXl4UFFVTnFRa29zUlVGQlVVc3NVMEY2V0ZaNVF5eEhRVzFaUmpsRExFVkJRVkZSTEZOQlFWY3NTMEZEV2tjc1IwRk9SWEZETEVkQk0wSlFhRVFzUlVGQlVVa3NUMEZCVXl4UlFVTnFRa29zUlVGQlVVc3NTVUZCVFN4SlFVRkpNRU1zVlVGQlZTeHZRMEZETlVJdlF5eEZRVUZSVVN4VFFVRlhMRXRCUTFwSExFZEJiMFJZTEZOQlFWTjVReXhGUVVGaFF5eEhRVU53UWl4SlFVRkpReXhGUVVGUkxFTkJRVVZETEU5QlFWRkdMRVZCUVVzc1NVRkZka0lzUzBGQlMwRXNTVUZEVUVNc1JVRkJUVVVzVTBGQlYwZ3NSVUZCU3l4SlFVZHdRaXhMUVVGTFFTeEpRVU5RUXl4RlFVRk5SeXhYUVVGaFNpeEZRVUZMTEVkQlEzaENReXhGUVVGTlNTeFRRVUZYVEN4RlFVRkxMRWxCUjNoQ00wSXNTMEZCUzJsRExGZEJRVmRETEV0QlFVdE9MRWRCUjNaQ0xGTkJRVk5QTEVWQlFXTlFMRWRCUTNKQ0xFbEJRVWwwUXl4RlFVRlRjME1zUlVGQlRWRXNXVUZCWXl4SFFVTnFRemxETEVWQlFVOUZMRXRCUVU4c1owSkJRMUJHTEVWQlFVOVlMRWxCUTJScFJDeEZRVUZOVVN4WFFVRmhPVU1zUlVGSGNrSXNVMEZCVTJZc1JVRkJVVTRzUjBGSlppdENMRXRCUVV0cFF5eFhRVUZoTEVOQlFVTXNRMEZCUlVvc1QwRkJVU3hUUVVNM1FqVkVMRVZCUVZselF5eFJRVUZSYlVJc1JVRkJZekZDTEUxQlEyeERRU3hMUVVGTGNVTXNUMEZCVFN4SFFUaENZaXhUUVVGVGFrTXNSVUZCVDJ0RExFZEJRMlFzUjBGQlNVRXNSVUZCVlN4RFFVTmFMRWxCUVVsRExFVkJRV2xDUkN4RlFVRlRlRVlzUjBGRE9VSXNSMEZCU1hsR0xFVkJRMFlzVDBGQlQwRXNSVUZCWlRORExFdEJRVXN3UXl4SFFVYzNRaXhIUVVFMlFpeHRRa0ZCYkVKQkxFVkJRVk5rTEV0QlEyeENMRTlCUVU5akxFVkJSMVFzU1VGQlMwVXNUVUZCVFVZc1JVRkJVMGNzVVVGQlV5eERRVU16UWl4SlFVRkpReXhIUVVGTExFVkJRVWRzUWl4RlFVRlBMRk5CUVZOQkxFbEJRekZDTEU5QlFWTnJRaXhGUVVGSlNpeEZRVUZUUnl4UlFVTndRaXhIUVVGSkwwWXNSVUZCVDJ0RUxFdEJRVXN3UXl4RlFVRlZTU3hIUVVkNFFpeFBRVVpCYkVJc1JVRkJTMnBGTEUxQlFWRXJSU3hGUVVGVFNTeEhRVU4wUW14Q0xFVkJRVXN2UWl4TlFVRlBMRVZCUTB3clFpeEZRVTlZTEU5QlNFRkJMRVZCUVV0cVJTeFhRWHBsVkRaRUxFVkJNR1ZKU1N4RlFVRkxMMElzVFVGQlR5eEZRVVZNSzBJc1IwRkhWQ3hQUVVGUFFTeEZRVUZMUVN4TFFVRlBRU3hIUVV0MlFpeE5RVUZQTEVOQlFVVkJMRXRCUVUwelF5eEhRVWxxUWl4VFFVRlRRU3hKUVVOUUxFMUJRVThzUTBGQlJYUkNMRmRCZW1aUU5rUXNSVUY1Wm5sQ00wSXNUVUZCVFN4SFFTdE5ia01zVDBFMWJVSkJTU3hGUVVGclFuQkVMRlZCUVZrMFJDeEZRVUZIYzBNc1dVRkJZemRETEVWQlF5OURRU3hGUVVFeVFqWkRMRmxCUVdNNVF5eEZRVU42UTBFc1JVRkJhMElyUXl4WlFVRmplRVlzUlVGRE9VSXdReXhGUVVOQk5VTXNSVUZEUVN4eFFrRmhSbG9zUlVGQlVYVkhMRzlDUVVGelFpeFRRVUZUUXl4SFFVTnlReXhKUVVGSlF5eEZRVUY1UWl4dFFrRkJXRVFzUjBGQmVVSkJMRVZCUVU5SUxGbEJRMnhFTEZGQlFVOUpMRWxCUTBoQkxFbEJRVk5zUkN4SFFVY3lRaXgxUWtGQmJrTnJSQ3hGUVVGTFNDeGhRVUZsUnl4RlFVRkxReXhSUVVsb1F6RkhMRVZCUVZFeVJ5eExRVUZQTEZOQlFWTklMRWRCVVhSQ0xFOUJVRWwwUnl4UFFVRlBNRWNzWlVGRFZERkhMRTlCUVU4d1J5eGxRVUZsU2l4RlFVRlJhRVFzU1VGRk9VSm5SQ3hGUVVGUFN5eFZRVUZaY2tRc1JVRkRia0l4UXl4RlFVRlBNRVlzUlVGQlVUVkdMRVZCUVcxQ0xITkNRVVZ3UXpSR0xFVkJRVTl5Unl4VlFVRlpSQ3hQUVVGUE5rSXNUMEZCVDJkRExFZEJRekZDZVVNc1IwRlBWSGhITEVWQlFWRTRSeXhOUVVGUkxGTkJRVk42UlN4SFFVTjJRaXhOUVVGUExFTkJRVVZ4UXl4UlFVRlRja01zU1VGelJYQkNNa0lzUlVGQmMwSkZMRVZCUVdNdlJDeFhRVU53UXl0RUxFVkJRV012UkN4VlFVRlZUeXhIUVVGMVFpeFhRVU0zUXl4UFFVRlBaMFFzVFVGRlZERkVMRVZCUVZGclJTeGpRVUZuUWtFc1JVRkxlRUpzUlN4RlFVRlJLMGNzVFVGQlVTeFRRVUZUZGtZc1JVRkJVME1zUlVGQlUwTXNSVUZCVFVNc1JVRkJZWGRETEZGQlEzaERMRWxCUVdoQ1FTeEpRVUYzUWtFc1JVRkJZelpETEZOQlJURkRMRWxCUVVsRExFVkJRVThzU1VGQlNTOURMRVZCUTJJelF5eEZRVUZMUXl4RlFVRlRReXhGUVVGVFF5eEZRVUZOUXl4SFFVTTNRbmRETEVkQlIwWXNUMEZCVDI1RkxFVkJRVkYxUnl4dlFrRkJiMEk1UlN4SFFVTXZRbmRHTEVWQlEwRkJMRVZCUVVzdlFpeFBRVUZQVUN4TlFVRkxMRk5CUVZOR0xFZEJRM2hDTEU5QlFVOUJMRVZCUVU5MFFpeExRVUZQYzBJc1JVRkJUM2hFTEUxQlFWRm5SeXhGUVVGTEwwSXNWMEYxUzJwRWJFSXNSVUZCYzBKRUxFZEJSWFJDYWtRc1JVRkJUMmxFTEVWQlFVbHVSQ3hGUVVGdFFpeGhRVTg1UW0xRUxFVkJRVWQyUkN4SFFVRnJRaXhYUVVOdVFpeFBRVUZQYTBRc1RVRkhWRXNzUlVGQlIyMUVMRk5CUVZjc1YwRkRXaXhOUVVGUExITkNRV3REVkd4SUxFVkJRVkZ0U0N4TFFVRlBMRk5CUVZORExFZEJRM1JDTEVsQlFVbEVMRVZCUVU4c1IwRkRXQ3hKUVVGTExFbEJRVWx1Unl4TFFVRlBiMGNzUlVGRFpFUXNSVUZCUzNaQ0xFdEJRVXMxUlN4SFFVMWFMRTlCU2tGdFJ5eEZRVUZMUlN4VlFVbEZMRk5CUVZOdVF5eEpRVU5rTEV0QlFVOXBReXhGUVVGTGFFSXNVVUZCVVN4RFFVTnNRaXhKUVVGSmJrWXNSVUZCVFcxSExFVkJRVXRITEUxQlEyWXNSMEZCU1hSSExFdEJRVTl2Unl4RlFVZFVMRTlCUmtGc1F5eEZRVUZMYWtVc1RVRkJVVVFzUlVGRFltdEZMRVZCUVVzdlFpeE5RVUZQTEVWQlEwd3JRaXhGUVZGWUxFOUJSRUZCTEVWQlFVc3ZRaXhOUVVGUExFVkJRMHdyUWl4SlFYTkRXR3hHTEVWQlFWRTRSQ3hQUVVGVFFTeEZRVTFxUWpkQ0xFVkJRVkU1UWl4VlFVRlpMRU5CUTJ4Q2EwY3NXVUZCWVhCRkxFVkJSV0k0UkN4TlFVRlBMRk5CUVZOM1FpeEhRV05rTEVkQllrRTNSQ3hMUVVGTE9FUXNTMEZCVHl4RlFVTmFPVVFzUzBGQlMzZENMRXRCUVU4c1JVRkhXbmhDTEV0QlFVdGtMRXRCUVU5akxFdEJRVXRpTEZkQmNHZENha0pwUXl4RlFYRm5Ra0Z3UWl4TFFVRkxVQ3hOUVVGUExFVkJRMXBQTEV0QlFVdHNRaXhUUVVGWExFdEJSV2hDYTBJc1MwRkJTM1JDTEU5QlFWTXNUMEZEWkhOQ0xFdEJRVXR5UWl4VFFYcG5Ra3g1UXl4RlFUSm5Ra0Z3UWl4TFFVRkxhVU1zVjBGQlZ6RkNMRkZCUVZFMFFpeEpRVVZ1UWpCQ0xFVkJRMGdzU1VGQlN5eEpRVUZKWWl4TFFVRlJhRVFzUzBGRlVTeE5RVUZ1UW1kRUxFVkJRVXRsTEU5QlFVOHNTVUZEV25KSUxFVkJRVTlyUkN4TFFVRkxTU3hMUVVGTlowUXNTMEZEYWtKU0xFOUJRVTlSTEVWQlFVdG5RaXhOUVVGTkxFMUJRM0pDYUVVc1MwRkJTMmRFTEZGQmJtaENXRFZDTEVsQmVXaENSalpETEV0QlFVMHNWMEZEU21wRkxFdEJRVXRRTEUxQlFVOHNSVUZGV2l4SlFVTkplVVVzUlVGRVdXeEZMRXRCUVV0cFF5eFhRVUZYTEVkQlEweEhMRmRCUXpOQ0xFZEJRWGRDTEZWQlFYQkNPRUlzUlVGQlZ6RkZMRXRCUTJJc1RVRkJUVEJGTEVWQlFWZDJSaXhKUVVkdVFpeFBRVUZQY1VJc1MwRkJTMjFGTEUxQlIyUXZSU3hyUWtGQmJVSXNVMEZCVTJkR0xFZEJRekZDTEVkQlFVbHdSU3hMUVVGTFVDeExRVU5RTEUxQlFVMHlSU3hGUVVkU0xFbEJRVWs1Uml4RlFVRlZNRUlzUzBGRFpDeFRRVUZUY1VVc1JVRkJUME1zUlVGQlMwTXNSMEZaYmtJc1QwRllRV3BHTEVWQlFVOUZMRXRCUVU4c1VVRkRaRVlzUlVGQlQxZ3NTVUZCVFhsR0xFVkJRMkk1Uml4RlFVRlJhMFFzUzBGQlR6aERMRVZCUlZoRExFbEJSMFpxUnl4RlFVRlJTU3hQUVVGVExFOUJRMnBDU2l4RlFVRlJTeXhUUVhCcVFscDVReXhMUVhWcVFsbHRSQ3hGUVVkYUxFbEJRVXNzU1VGQlNUZENMRVZCUVVreFF5eExRVUZMYVVNc1YwRkJWMUVzVDBGQlV5eEZRVUZIUXl4SFFVRkxMRWxCUVV0QkxFVkJRVWNzUTBGRGNFUXNTVUZCU1dRc1JVRkJVVFZDTEV0QlFVdHBReXhYUVVGWFV5eEhRVU40UW5CRUxFVkJRVk56UXl4RlFVRk5VU3hYUVVWdVFpeEhRVUZ4UWl4VFFVRnFRbElzUlVGQlRVTXNUMEZKVWl4UFFVRlBkME1zUlVGQlR5eFBRVWRvUWl4SFFVRkpla01zUlVGQlRVTXNVVUZCVlRkQ0xFdEJRVXM0UkN4TFFVRk5MRU5CUXpkQ0xFbEJRVWxWTEVWQlFWYzVTQ3hGUVVGUGEwUXNTMEZCUzJkRExFVkJRVThzV1VGRE9VSTJReXhGUVVGaEwwZ3NSVUZCVDJ0RUxFdEJRVXRuUXl4RlFVRlBMR05CUlhCRExFZEJRVWswUXl4SFFVRlpReXhGUVVGWkxFTkJRekZDTEVkQlFVbDZSU3hMUVVGTE9FUXNTMEZCVDJ4RExFVkJRVTFGTEZOQlEzQkNMRTlCUVU5MVF5eEZRVUZQZWtNc1JVRkJUVVVzVlVGQlZTeEhRVU42UWl4SFFVRkpPVUlzUzBGQlN6aEVMRXRCUVU5c1F5eEZRVUZOUnl4WFFVTXpRaXhQUVVGUGMwTXNSVUZCVDNwRExFVkJRVTFITEdsQ1FVZHFRaXhIUVVGSmVVTXNSMEZEVkN4SFFVRkplRVVzUzBGQlN6aEVMRXRCUVU5c1F5eEZRVUZOUlN4VFFVTndRaXhQUVVGUGRVTXNSVUZCVDNwRExFVkJRVTFGTEZWQlFWVXNUMEZITTBJc1EwRkJRU3hKUVVGSk1rTXNSVUZOVkN4TlFVRk5MRWxCUVVrM1JpeE5RVUZOTERCRFFVeG9RaXhIUVVGSmIwSXNTMEZCU3poRUxFdEJRVTlzUXl4RlFVRk5SeXhYUVVOd1FpeFBRVUZQYzBNc1JVRkJUM3BETEVWQlFVMUhMR2RDUVZVNVFqRkRMRTlCUVZFc1UwRkJVMGNzUlVGQlRXSXNSMEZEY2tJc1NVRkJTeXhKUVVGSkswUXNSVUZCU1RGRExFdEJRVXRwUXl4WFFVRlhVU3hQUVVGVExFVkJRVWRETEVkQlFVc3NTVUZCUzBFc1JVRkJSeXhEUVVOd1JDeEpRVUZKWkN4RlFVRlJOVUlzUzBGQlMybERMRmRCUVZkVExFZEJRelZDTEVkQlFVbGtMRVZCUVUxRExGRkJRVlUzUWl4TFFVRkxPRVFzVFVGRGNrSndTQ3hGUVVGUGEwUXNTMEZCUzJkRExFVkJRVThzWlVGRGJrSTFRaXhMUVVGTE9FUXNTMEZCVDJ4RExFVkJRVTFITEZkQlFWa3NRMEZEYUVNc1NVRkJTVEpETEVWQlFXVTVReXhGUVVOdVFpeFBRVWxCT0VNc1NVRkRWU3hWUVVGVWJFWXNSMEZEVXl4aFFVRlVRU3hKUVVORWEwWXNSVUZCWVRkRExGRkJRVlZzUkN4SFFVTjJRa0VzUjBGQlR5dEdMRVZCUVdFelF5eGhRVWQwUWpKRExFVkJRV1VzVFVGSGFrSXNTVUZCU1hCR0xFVkJRVk52Uml4RlFVRmxRU3hGUVVGaGRFTXNWMEZCWVN4SFFVbDBSQ3hQUVVoQk9VTXNSVUZCVDBVc1MwRkJUMEVzUlVGRFpFWXNSVUZCVDFnc1NVRkJUVUVzUlVGRlZDdEdMRWRCUTBZeFJTeExRVUZMZEVJc1QwRkJVeXhQUVVOa2MwSXNTMEZCUzNkQ0xFdEJRVTlyUkN4RlFVRmhNME1zVjBGRGJFSTVReXhIUVVkR1pTeExRVUZMTWtVc1UwRkJVM0pHTEVsQlIzWkNjVVlzVTBGQlZTeFRRVUZUY2tZc1JVRkJVVEJETEVkQlEzcENMRWRCUVc5Q0xGVkJRV2hDTVVNc1JVRkJUMFVzUzBGRFZDeE5RVUZOUml4RlFVRlBXQ3hKUVdObUxFMUJXRzlDTEZWQlFXaENWeXhGUVVGUFJTeE5RVU5UTEdGQlFXaENSaXhGUVVGUFJTeExRVU5VVVN4TFFVRkxkMElzUzBGQlQyeERMRVZCUVU5WUxFbEJRMDBzVjBGQmFFSlhMRVZCUVU5RkxFMUJRMmhDVVN4TFFVRkxiVVVzUzBGQlQyNUZMRXRCUVV0eVFpeEpRVUZOVnl4RlFVRlBXQ3hKUVVNNVFuRkNMRXRCUVV0MFFpeFBRVUZUTEZOQlEyUnpRaXhMUVVGTGQwSXNTMEZCVHl4UFFVTmhMRmRCUVdoQ2JFTXNSVUZCVDBVc1RVRkJjVUozUXl4SlFVTnlRMmhETEV0QlFVdDNRaXhMUVVGUFVTeEhRVWRRTDBNc1IwRkhWREpHTEU5QlFWRXNVMEZCVXpkRExFZEJRMllzU1VGQlN5eEpRVUZKVnl4RlFVRkpNVU1zUzBGQlMybERMRmRCUVZkUkxFOUJRVk1zUlVGQlIwTXNSMEZCU3l4SlFVRkxRU3hGUVVGSExFTkJRM0JFTEVsQlFVbGtMRVZCUVZFMVFpeExRVUZMYVVNc1YwRkJWMU1zUjBGRE5VSXNSMEZCU1dRc1JVRkJUVWNzWVVGQlpVRXNSVUZIZGtJc1QwRkdRUzlDTEV0QlFVc3lSU3hUUVVGVEwwTXNSVUZCVFZFc1YwRkJXVklzUlVGQlRVa3NWVUZEZEVOSExFVkJRV05RTEVkQlExQXpReXhKUVV0aU5FWXNUVUZCVXl4VFFVRlRhRVFzUjBGRGFFSXNTVUZCU3l4SlFVRkpZU3hGUVVGSk1VTXNTMEZCUzJsRExGZEJRVmRSTEU5QlFWTXNSVUZCUjBNc1IwRkJTeXhKUVVGTFFTeEZRVUZITEVOQlEzQkVMRWxCUVVsa0xFVkJRVkUxUWl4TFFVRkxhVU1zVjBGQlYxTXNSMEZETlVJc1IwRkJTV1FzUlVGQlRVTXNVMEZCVjBFc1JVRkJVU3hEUVVNelFpeEpRVUZKZGtNc1JVRkJVM05ETEVWQlFVMVJMRmRCUTI1Q0xFZEJRVzlDTEZWQlFXaENPVU1zUlVGQlQwVXNTMEZCYTBJc1EwRkRNMElzU1VGQlNYTkdMRVZCUVZONFJpeEZRVUZQV0N4SlFVTndRbmRFTEVWQlFXTlFMRWRCUldoQ0xFOUJRVTlyUkN4SFFVMVlMRTFCUVUwc1NVRkJTV3hITEUxQlFVMHNNRUpCUjJ4Q2JVY3NZMEZCWlN4VFFVRlRla01zUlVGQlZXWXNSVUZCV1VVc1IwRmhOVU1zVDBGYVFYcENMRXRCUVV0c1FpeFRRVUZYTEVOQlEyUXZRaXhUUVVGVmNVUXNSVUZCVDJ0RExFZEJRMnBDWml4WFFVRlpRU3hGUVVOYVJTeFJRVUZUUVN4SFFVZFRMRk5CUVdoQ2VrSXNTMEZCUzNSQ0xGTkJSMUJ6UWl4TFFVRkxja0lzVTBFM2NrSlFlVU1zUjBGbmMwSlBia01zU1VGUlNqTkRMRWRCVDNOQ01Fa3NSVUZCVHpGSkxGTkJSM1JETEVsQlEwVXlTU3h0UWtGQmNVSTFTU3hGUVVOeVFpeE5RVUZQTmtrc1IwRlZVRU1zVTBGQlV5eEpRVUZMTEhsQ1FVRmtRU3hEUVVGM1F6bEpMRTlETVhWQ01VTXNVMEZCVXl0SkxFVkJRVzFDUXl4RlFVRkxla1VzUlVGQlUwTXNSVUZCVVhsRkxFVkJRVTlETEVWQlFWRnFTU3hGUVVGTGNVSXNSMEZEY0VVc1NVRkRSU3hKUVVGSk1rTXNSVUZCVHl0RUxFVkJRVWt2U0N4SFFVRkxjVUlzUjBGRGFFSndRaXhGUVVGUkswUXNSVUZCU3k5RUxFMUJRMnBDTEUxQlFVODBSQ3hIUVVWUUxGbEJSRUZPTEVWQlFVOU5MRWRCU1V4SExFVkJRVXMzUWl4TFFVTlFiVUlzUlVGQlVYSkVMRWRCUlZJclJpeFJRVUZSTVVNc1VVRkJVWEpFTEVkQlFVOHdSQ3hMUVVGTGNVVXNSVUZCVDBNc1IwRjNRblpETEUxQmNFSkJMRk5CUVRKQ05VWXNSMEZEZWtJc1QwRkJUeXhYUVVOTUxFbEJRVWt6UWl4RlFVRlBaME1zUzBGRFVIZEdMRVZCUVU5RExGVkJRMWdzVDBGQlR5eEpRVUZKYmtNc1UwRkJVU3hUUVVGVk1VTXNSVUZCVTBNc1IwRkRjRU1zU1VGQlNYZEZMRVZCUVUweFJpeEZRVUZISzBZc1RVRkJUVEZJTEVWQlFVMTNTQ3hIUVVWNlFpeFRRVUZUUml4RlFVRk5MMGdzUjBGRFlqWklMRVZCUVcxQ1F5eEZRVUZMZWtVc1JVRkJVME1zUlVGQlVYbEZMRVZCUVU5RExFVkJRVkVzVDBGQlVXaEpMRWRCUjJ4RkxGTkJRVk5uU1N4RlFVRlBNMGdzUjBGRFpIZElMRVZCUVcxQ1F5eEZRVUZMZWtVc1JVRkJVME1zUlVGQlVYbEZMRVZCUVU5RExFVkJRVkVzVVVGQlV6TklMRWRCUjI1Rk1FZ3NUMEZCVFd4RkxGRkRNMEphTEUxQlNrRXNVMEZCZVVKMVJTeEhRVU4yUWl4SFFVRkpReXhOUVVGTlF5eFJRVUZSUml4SFFVRk5MRTlCUVU5QkxFZERNRUpxUXl4TlFUTkNRU3hUUVVFclFrRXNSVUZCUzJwRUxFZEJRMnhETEVkQlFYTkNMRzlDUVVGWU4wWXNVVUZCTkVKQkxFOUJRVTlGTEZsQlFWbFFMRTlCUVU5dFNpeEhRVUZxUlN4RFFVTkJMRWxCUVVsSExFVkJRVThzUjBGRFVFTXNSMEZCU3l4RlFVTk1ReXhIUVVGTExFVkJRMHhETEU5QlFVczNSU3hGUVVWVUxFbEJRMFVzU1VGQlN5eEpRVUZwUXpoRkxFVkJRVGRDUXl4RlFVRkxVaXhGUVVGSk9Va3NUMEZCVDBVc1kwRkJiVUpuU2l4SFFVRk5SeXhGUVVGTFF5eEZRVUZITTBVc1VVRkJVUzlDTEZGQlEyaEZjVWNzUlVGQlN6VkVMRXRCUVV0blJTeEZRVUZITTBrc1VVRkZWRzFHTEVkQlFVdHZSQ3hGUVVGTGNrUXNVMEZCVjBNc1IwRklPRU54UkN4SFFVRkxMRWxCU3psRkxFMUJRVTl1U1N4SFFVTlFiMGtzUjBGQlN5eEZRVU5NUXl4RlFVRkxja2tzVlVGRlRDeEpRVU5QYlVrc1IwRkJjMElzVFVGQmFFSkpMRVZCUVZjc1VVRkJWMEVzUlVGQlZ5eHBRa0ZGTlVNc1IwRkJTVWdzUlVGQlNTeE5RVUZOUXl4SFFVbHNRaXhQUVVGUFNDeEpRMlJVTEUxQlZrRXNVMEZCTWtKSUxFVkJRVXRUTEVsQlEyNUNMRTFCUVZCQkxFZEJRV1ZCTEVWQlFVMVVMRVZCUVVsc1JDeFZRVUZSTWtRc1JVRkJUVlFzUlVGQlNXeEVMRkZCUlM5RExFbEJRVXNzU1VGQlNVTXNSVUZCU1N4RlFVRkhNa1FzUlVGQlR5eEpRVUZKVkN4TlFVRk5VU3hIUVVGTk1VUXNSVUZCU1RCRUxFVkJRVXN4UkN4SlFVTTVRekpFTEVWQlFVc3pSQ3hIUVVGTGFVUXNSVUZCU1dwRUxFZEJSMmhDTEU5QlFVOHlSQ3hIUTBsVUxFMUJWRUVzVTBGQmNVTkRMRVZCUVVkRExFZEJRM1JETEVkQlFVdEVMRVZCUVV3c1EwRkRRU3hIUVVGcFFpeHBRa0ZCVGtFc1JVRkJaMElzVDBGQlQwVXNSVUZCYVVKR0xFVkJRVWRETEVkQlEzUkVMRWxCUVVsRkxFVkJRVWxxU3l4UFFVRlBReXhWUVVGVkswY3NVMEZCVXpWRUxFdEJRVXN3Unl4SFFVRkhkRU1zVFVGQlRTeEhRVUZKTEVkQlJYQkVMRTFCUkZVc1YwRkJUbmxETEVkQlFXdENTQ3hGUVVGRk0wUXNZMEZCWVRoRUxFVkJRVWxJTEVWQlFVVXpSQ3haUVVGWlN5eE5RVU0zUXl4UlFVRk9lVVFzUjBGQmNVSXNVVUZCVGtFc1JVRkJiMEppTEUxQlFVMWpMRXRCUVV0S0xFZEJRM2hETEdOQlFVNUhMRWRCUVhGQ0xESkRRVUV5UTBVc1MwRkJTMFlzUjBGQlYwUXNSVUZCYVVKR0xFVkJRVWRETEZGQlFYaEhMRWxEU2tZc1RVRktRU3hYUVVORkxFMUJRVTBzU1VGQlNXeEdMRlZCUVZVc09FbERWM1JDTEUxQlNrRXNVMEZCZDBKelJTeEZRVUZMYWtRc1IwRkRNMElzVDBGQlQydEZMRVZCUVdWcVFpeEpRVUZSYTBJc1JVRkJjVUpzUWl4RlFVRkxha1FzU1VGQlRXOUZMRVZCUVRKQ2JrSXNSVUZCUzJwRUxFbEJRVTF4UlN4TFEwaDBSeXhOUVU1QkxGTkJRWGxDUXl4RlFVRlZReXhIUVVOcVF5eExRVUZOUkN4aFFVRnZRa01zUjBGRGVFSXNUVUZCVFN4SlFVRkpOVVlzVlVGQlZTeHpRME5HZUVJc1UwRkJVelpHTEVWQlFXdENReXhGUVVGUlF5eEhRVU5xUXl4SlFVRkxMRWxCUVVreFJTeEZRVUZKTEVWQlFVZEJMRVZCUVVrd1JTeEZRVUZOTTBVc1QwRkJVVU1zU1VGQlN5eERRVU55UXl4SlFVRkpNa1VzUlVGQllVUXNSVUZCVFRGRkxFZEJRM1pDTWtVc1JVRkJWelZLTEZkQlFXRTBTaXhGUVVGWE5Vb3NZVUZCWXl4RlFVTnFSRFJLTEVWQlFWY3pTaXhqUVVGbExFVkJRM1JDTEZWQlFWY3lTaXhKUVVGWlFTeEZRVUZYTVVvc1ZVRkJWeXhIUVVOcVJHNUNMRTlCUVU5blFpeGxRVUZsTWtvc1JVRkJVVVVzUlVGQlZ5OUtMRWxCUVVzclNpeEpRVlZzUkN4TlFVNUJMRk5CUVhOQ1NpeEZRVUZoU3l4RlFVRlpReXhIUVVjM1F5eFBRVVpKUkN4SFFVRlpTaXhGUVVGclFrUXNSVUZCV1hoTExGVkJRVmMyU3l4SFFVTnlSRU1zUjBGQllVd3NSVUZCYTBKRUxFVkJRV0ZOTEVkQlEzcERUaXhIUTBWVUxFMUJaa0VzVTBGQmVVSTFTaXhGUVVGTFF5eEZRVUZMUXl4SFFWbHFReXhQUVZoSlJDeExRVUZQUkN4RlFVTlVZaXhQUVVGUFowSXNaVUZCWlVnc1JVRkJTME1zUlVGQlN5eERRVU01UWtNc1RVRkJUMEVzUlVGRFVFVXNXVUZCV1N4RlFVTmFReXhqUVVGakxFVkJRMlJETEZWQlFWVXNTVUZIV2s0c1JVRkJTVU1zUjBGQlQwTXNSVUZIVGtZc1IwTmFURzFMTEVWQlFVVXNWMEZCVnl4UlFVRlJReXhWUVVGVlF5eGhRVUZoUXl4RlFVRkZMRmRCUVZjc1VVRkJVVVlzVlVGQlZVY3NZMEZCWXl4VFFVRlRReXhGUVVGRlRDeEZRVUZGUnl4RlFVRkZSU3hGUVVGRmNFSXNSVUZCUlhGQ0xFVkJRVVZ3Uml4RlFVRkZORVFzUjBGQlJ5eEpRVUZKTEVsQlFVbDVRaXhGUVVGRlVDeEZRVUZGT1VVc1IwRkJSelJFTEVkQlFVY3dRaXhGUVVGRlJDeEZRVUZGZUVzc1RVRkJUU3hOUVVGTmFVc3NSMEZCUnl4WlFVRlpTeXhGUVVGRlRDeEhRVUZIVHl4RlFVRkZkRWtzUzBGQlMydEpMRVZCUVVWTExFZEJRVWN4UlN4UlFVRlJNVU1zVVVGQlVXOUlMRWRCUVVjdlJ5eExRVUZMZDBZc1JVRkJSWEZDTEVkQlFVY3NVMEZCVTNKQ0xFVkJRVVZsTEVkQlFVY3NUMEZCVHl4WFFVRlhMRWxCUVVsSExFVkJRVVV6U0N4TFFVRkxlVWNzUlVGQlJXaENMRlZCUVZVc1QwRkJUeXhKUVVGSmJrTXNhMEpCUVd0Q2QwVXNSVUZCUlhCR0xFZEJRVWNzU1VGQlNUUkVMRVZCUVVWclFpeEZRVUZGT1VJc1RVRkJUV2xETEVWQlFVVnNRaXhIUVVGSExGTkJRVk56UWl4RlFVRkZVQ3hIUVVGSFN5eEZRVUZGZGtJc1JVRkJSWGRDTEVWQlFVVndSaXhGUVVGRmNVWXNSVUZCUlVNc1JVRkJSU3hQUVVGUFVpeEhRVUZITEZOQlFWTlJMRVZCUVVWU0xFZEJRVWRMTEVWQlFVVjJRaXhGUVVGRmQwSXNSVUZCUlhCR0xFVkJRVVZ4Uml4RlFVRkZReXhGUVVGRkxGRkJRVkZTTEVkQlFVZFBMRTlCUVVVc1QwRkJXU3hUUVVGVFJDeEZRVUZGVGl4RlFVRkZSeXhIUVVGSExFOUJRVThzVTBGQlUwZ3NSMEZCUnl4SFFVRkhOVUlzVFVGQlRVTXNVVUZCVVRKQ0xFZEJRVWNzVDBGQlQwRXNSVUZCZGtNc1EwRkJNRU5CTEVsQlFVa3NVMEZCVTBFc1JVRkJSVWNzUjBGQlJ5eEhRVUZITEc5Q1FVRnZRamxMTEZGQlFWVkJMRTlCUVU5RkxGbEJRVmxRTEU5QlFVOW5UQ3hIUVVFelJDeERRVUZ6UlN4SlFVRkpTeXhGUVVGRkxFZEJRVWR3UWl4SFFVRkZMRVZCUVVkeFFpeEhRVUZGTEVWQlFVZHdSaXhQUVVGRkxFVkJRVThzU1VGQlNTeEpRVUZKTEVsQlFVazBSQ3hGUVVGRmVVSXNSVUZCUlZBc1JVRkJSVE5MTEU5QlFVOUZMR05CUVdNd1NpeEhRVUZIU0N4RlFVRkZlVUlzUlVGQlJYWkhMRkZCUVZFdlFpeFJRVUZSYjBrc1JVRkJSVE5HTEV0QlFVdHZSU3hGUVVGRkwwa3NVVUZCVVc5TExFZEJRVWRGTEVWQlFVVndSaXhUUVVGVGEwWXNSMEZCUjJ4Q0xFZEJRVVVzU1VGQlN5eE5RVUZOWlN4SFFVRkhUU3hIUVVGRkxFVkJRVWR3Uml4RlFVRkZPRVVzUlVGQlJTeFJRVUZSTEVsQlFVbG1MRWRCUVVjc1RVRkJUWE5DTEVWQlFVVkZMRkZCUVZGR0xFVkJRVVZGTEZOQlFWTXNVVUZCVVN4SFFVRkhTQ3hGUVVGRkxFMUJRVTF3Uml4SFFVRkhMRTlCUVU5dFJpeEhRVUZvVkN4RFFVRnRWRXdzUlVGQlJVY3NTVUZCU1N4VFFVRlRTQ3hGUVVGRlJ5eEhRVUZITEVkQlFVbElMRVZCUVVvc1EwRkJZU3hIUVVGSExHbENRVUZwUWtFc1JVRkJSU3hQUVVGUE9VVXNSVUZCUlRoRkxFVkJRVVZITEVkQlFVY3NTVUZCU1VVc1JVRkJSWEpNTEU5QlFVOURMRlZCUVZVclJ5eFRRVUZUTlVRc1MwRkJTelJJTEVkQlFVZDRSQ3hOUVVGTkxFZEJRVWNzUjBGQmRVUXNUVUZCY0VRc1YwRkJWelpFTEVkQlFVZE1MRVZCUVVVM1JTeGpRVUZqYTBZc1JVRkJSVXdzUlVGQlJUZEZMRmxCUVZsTExFMUJRVk1zVVVGQlVUWkZMRWRCUVVjc1VVRkJVVUVzUlVGQlUycERMRTFCUVUxakxFdEJRVXRqTEVkQlFVMHNZMEZCWTBzc1IwRkJSeXd5UTBGQk1rTnNRaXhMUVVGTGEwSXNSMEZCVlc1R0xFVkJRVVU0UlN4RlFVRkZSeXhSUVVGc1JpeEhRVUZ3VGl4RFFVRXdVMGdzUlVGQlJVY3NTVUZCU1N4WFFVRlhMRTFCUVUwc1NVRkJTWFJITEZWQlFWVXNOa2xCUVM5Q0xFZEJRU3RMTEZOQlFWTnhRaXhGUVVGRk9FVXNSVUZCUlVjc1NVRkJTU3hOUVVGTlFTeEhRVUZIUVN4RlFVRkZTQ3hGUVVGRkwwVXNWVUZCVld0R0xFVkJRVVZJTEVWQlFVVXZSU3hSUVVGUkxFbEJRVWtzU1VGQlNXOUdMRVZCUVVVc1JVRkJSWEJDTEVWQlFVVXNTVUZCU1dJc1RVRkJUU3RDTEVkQlFVZEZMRVZCUVVWR0xFVkJRVVZGTEVsQlFVbHdRaXhGUVVGRmIwSXNSMEZCUjB3c1JVRkJSVXNzUjBGQlJ5eFBRVUZQY0VJc1JVRkJSU3hKUVVGSlNDeEZRVUZGTEZkQlFWY3NTVUZCU1hGQ0xFVkJRVVZzUWl4RlFVRkZlRUlzYlVKQlFXMUNhRU1zWlVGQlpUQkZMRVZCUVVWRkxFZEJRVWNzVDBGQlR6VkRMRzFDUVVGdFFuQklMR1ZCUVdVNFNpeEhRVUZITEU5QlFVOHNUMEZCVDBFc1JVRkJSVGRFTEV0QlFVczJSQ3hGUVVGRmJrY3NUVUZCVFN4TFFVRkxMRVZCUVVVc1QwRkJUMjFITEVWQlFVVjBTU3hQUVVGUExGTkJRVk1zU1VGQlNXbEZMRkZCUVZFc1YwRkJWeXhKUVVGSmNVVXNSVUZCUld4Q0xFVkJRVVY0UWl4dFFrRkJiVUpvUXl4bFFVRmxNRVVzUlVGQlJXeENMRVZCUVVWeFFpeEhRVUZITEVsQlFVbHdSaXhGUVVGRk5FUXNSVUZCUlN4UFFVRlBja0lzYlVKQlFXMUNjRWdzWlVGQlpUaEtMRWRCUVVjc1QwRkJUeXhQUVVGUFFTeEZRVUZGTjBRc1MwRkJTelpFTEVWQlFVVnVSeXhOUVVGTkxFdEJRVXNzUlVGQlJTeFBRVUZQWjBjc1MwRkJTMDBzUlVGQlJTeEpRVUZKU1N4aFFVRmhMREpEUVVFeVF5eHpRa0ZCYzBKUUxFVkJRVVUzUkN4TFFVRkxMRVZCUVVVMlJDeEZRVUZGYmtjc1MwRkJTeXhGUVVGRmFVY3NWVUZCVlVNc1dVRkJXVk1zVFVGQlRTeERRVUZEYmtZc1MwRkJTelpGTEVsQlFVa3NTMEZCU3l4RlFVRkZia1lzUlVGQlJXbEdMRVZCUVVWNlNTeExRVUZMYjBnc1JVRkJSU3hUUVVGVGEwSXNSVUZCUlVjc1IwRkJSMnBHTEVWQlFVVXdSaXh2UWtGQmIwSXNVMEZCVTFvc1IwRkJSMDhzUlVGQlJVb3NSVUZCUlZJc1QwRkJUekZKTEUxQlFVMW5TU3hGUVVGRmNVSXNTVUZCU1hCR0xFVkJRVVV5Uml4cFFrRkJhVUlzVTBGQlV5OUNMRWRCUVVkNVFpeEZRVUZGY2tZc1JVRkJSV3BGTEUxQlFVMW5TU3hGUVVGRmNVSXNSMEZCUjBnc1JVRkJSVzVITEV0QlFVc3NSMEZCUnl4TlFVRk5MRXRCUVVzc1IwRkJSMjFITEVWQlFVVTNSQ3hMUVVGTExFZEJRVWMyUkN4RlFVRkZWeXhIUVVGSFdDeEZRVUZGT1VNc1RVRkJUU3hIUVVGSGFVUXNSVUZCUlVnc1JVRkJSVmNzU1VGQlNTeExRVUZMTEVkQlFVY3NTVUZCU1N4TlFVRk5MRTlCUVU5WUxFVkJRVVV4UkN4VlFVRlZNRVFzUlVGQlJTeExRVUZMTEVOQlFVTXNRMEZCUXl4RlFVRkZMRlZCUVZVc1QwRkJUeXhUUVVGVFNDeEZRVUZGU3l4SFFVRkhMRTlCUVU5R0xFVkJRVVZxUXl4TlFVRk5NVVlzUzBGQlMzbEdMRmxCUVdoc1FpeExRVUZwYlVJc1MwRkJTeXhGUVVGRkxFbEJRVWtzVFVGQlRTeFBRVUZQYTBNc1JVRkJSVEZFTEZWQlFWVXdSQ3hQUVVGUExFOUJRVThzVTBGQlUwZ3NSMEZCUnl4UFFVRlBSeXhGUVVGRmFrTXNUVUZCVFRGR0xFdEJRVXQ1Uml4WlFVRnNNa0lzUjBGQmFUTkNjME1zUlVGQlJTeFRRVUZUVUN4RlFVRkZSeXhGUVVGRlJTeEhRVUZITEU5QlFVOU1MRWRCUVVjc1NVRkJTU3hUUVVGVFN5eEZRVUZGTEVsQlFVbExMR0ZCUVdFc2IwSkJRVzlDTEc5Q1FVRnZRaXhOUVVGTkxGRkJRVkZRTEVWQlFVVklMRXRCUVV0UkxFVkJRVVVzVjBGQlZ5eEpRVUZKU0N4RlFVRkZjRUlzUlVGQlJYaENMRzFDUVVGdFFtaERMR1ZCUVdVMFJTeEZRVUZGYmtZc1JVRkJSWEZHTEVkQlFVY3NUMEZCVHpsRExHMUNRVUZ0UW5CSUxHVkJRV1ZuU3l4SFFVRkhMRTlCUVU4c1QwRkJUMEVzUlVGQlJTOUVMRXRCUVVzclJDeEZRVUZGY2tjc1RVRkJUU3hMUVVGTExFVkJRVVVzVDBGQlQzRkhMRVZCUVVWNFNTeFBRVUZQTEZOQlFWTXNTVUZCU1dsRkxGRkJRVkVzVjBGQlZ5eEpRVUZKZFVVc1JVRkJSWEJDTEVWQlFVVjRRaXh0UWtGQmJVSm9ReXhsUVVGbE5FVXNSVUZCUlhCQ0xFVkJRVVYxUWl4SFFVRkhMRWxCUVVsUExFVkJRVVZETEVWQlFVVkRMRVZCUVVVc1QwRkJUM2hFTEcxQ1FVRnRRbkJJTEdWQlFXVm5TeXhIUVVGSExFOUJRVThzVDBGQlQwRXNSVUZCUlM5RUxFdEJRVXNyUkN4RlFVRkZja2NzVFVGQlRTeExRVUZMTEVWQlFVVXNUMEZCVDJkSExFdEJRVXRITEV0QlFVdExMRVZCUVVVc1NVRkJTVVVzWVVGQllTd3dSVUZCTUVVc2MwSkJRWE5DVEN4RlFVRkZMMFFzUzBGQlN5eEZRVUZGSzBRc1JVRkJSVk1zUjBGQlIyaEdMRkZCUVZGMVJTeEZRVUZGY2tjc1MwRkJTeXhGUVVGRk9FVXNSVUZCUlRWRUxFZEJRVWNzUzBGQlN5eEZRVUZGTEU5QlFVOXRSaXhGUVVGRllTeEhRVUZIWWl4RlFVRkZNMGtzUzBGQlN6SkpMRVZCUVVWeVJ5eExRVUZMTEVWQlFVVnBSeXhWUVVGVlJ5eGhRVUZoWlN4aFFVRmhXaXhIUVVGSExFdEJRVXNzUlVGQlJTeFBRVUZQUml4RlFVRkZaU3hIUVVGSFppeEZRVUZGTTBrc1MwRkJTekpKTEVWQlFVVm5RaXhIUVVGSExFTkJRVU5vUWl4RlFVRkZZU3hIUVVGSFlpeEZRVUZGWlN4SlFVRkpaaXhGUVVGRmNrY3NTMEZCU3l4SFFVRkhjVWNzUlVGQlJWTXNSMEZCUjFFc1NVRkJTV3hLTEV0QlFVdHBTU3hGUVVGRlV5eEhRVUZIVkN4RlFVRkZaMElzU1VGQlNTeExRVUZMTEVkQlFVZE9MRVZCUVVWV0xFVkJRVVV6U1N4TFFVRkxjMG9zUlVGQlJWWXNSVUZCUlZNc1JVRkJSU3hIUVVGSFJTeEZRVUZGUkN4RlFVRkZMRWRCUVVjdlFpeEZRVUZGWjBNc1IwRkJSMW9zUlVGQlJYSkhMRXRCUVVzc1IwRkJSeXhOUVVGTkxFdEJRVXNzUjBGQlIzRkhMRVZCUVVVdlJDeExRVUZMTEVkQlFVY3JSQ3hGUVVGRmEwSXNSMEZCUjJ4Q0xFVkJRVVZvUkN4TlFVRk5MRWRCUVVkdFJDeEZRVUZGU0N4RlFVRkZhMElzU1VGQlNTeExRVUZMTEVkQlFVY3NTVUZCU1N4TlFVRk5MRTlCUVU5c1FpeEZRVUZGTlVRc1ZVRkJWVFJFTEVWQlFVVXNTMEZCU3l4RFFVRkRMRU5CUVVNc1JVRkJSU3hWUVVGVkxFOUJRVThzVTBGQlUwd3NSVUZCUlVjc1IwRkJSeXhQUVVGUFJTeEZRVUZGYmtNc1RVRkJUVEZHTEV0QlFVdDVSaXhaUVVGNmNFSXNTMEZCTUhGQ0xFdEJRVXNzUlVGQlJTeEpRVUZKTEUxQlFVMHNUMEZCVDI5RExFVkJRVVUxUkN4VlFVRlZORVFzVDBGQlR5eFBRVUZQTEZOQlFWTk1MRVZCUVVWSExFZEJRVWNzVDBGQlQwVXNSVUZCUlc1RExFMUJRVTB4Uml4TFFVRkxlVVlzV1VGQkx6WkNMSE5yUWtORk5UQkZkVVFzZDBKQmJVTlBReXd5UTBGSVFTd3dRa0ZEUXl4VlFVZE9ReXhGUVVGdlFrWXNSVUZCVFVjc1owTkJRek5DUkN4UlFVTkZMRWxCUVVsb1FpeGhRVUZoTEd0RFFVRnRReXd3UWtGSGRFUnJRaXhWUVVGWkxFbEJRVWxHTEU5QlEyaENSeXhYUVVGaExFZEJSV3hDTjAwc1QwRkJUemhOTEdWQlEwaE9MRVZCUVUxUExHZENRVU5NVGl4SFFVRlhMRXRCUTJJeFNTeFRRVUZSTEhsQ1FVRkZha1FzVDBGQlMwTXNWVUZEVEN4aFFVRlNSQ3hKUVVGMVFrTXNSVUZCVHl4TFFVTXpRbWxOTEVWQlFXOUNVaXhGUVVGTlV5dzBRa0ZETVVKRUxFbEJRMHhxVFN4RlFVRlJMRWxCUVVscFRTeEhRVWRrUlN4RlFVRkxUaXhWUVVGVk9Vd3NSMEZCVDBNc2MwVkJOMEprZVV3c1JVRkJUVWNzSzBKQlFXbERVU3hQUVVGMVEwTXNhMEpCUjJwRlF5eFRRVU5vUWl4SlFVRkpha3dzVFVGQlRTeDFTMEZ6UTFadlFpeExRVUZMYjBvc2IwUkJSVmxWTEVWQlFXMUNMR0ZCUVdNc1EwRkJSVU1zVDBGQlR5d3lRMEZGZUVRc1NVRkJTVzVNTEUxQlFVMHNLMFJCUlZwM1N5eFZRVUZWV1N3eVJFRkZWRU1zUlVGQlpXcExMRXRCUVV0eFNpeFhRVUZYYkVrc1VVRkZjRU00U1N4NVEwRkxTV3BMTEdsS1FVbEVRU3hMUVVGTGIwb3NaMEpCUTB4QkxGVkJRVlZ1Uml4UFFVZFVha1VzTkVOQlNVUkJMRXRCUVV0dlNpeG5Ra0ZEVEVFc1ZVRkJWV01zVVVGSFZHeExMRGhEUVVkVGJVc3NSVUZCVjBNc2FVSkJRM0pDY0Vzc1MwRkJTMjlLTEZkQlFXRndTaXhMUVVGTGNVc3NiVUpCUVcxQ1JpeEhRVUZaTEVOQlEzSkVia3NzUzBGQlMzRktMRmRCUVZkakxGTkJRMmhDTDBJc2IwSkJRVzlDSzBJc1QwRkhjRUpITEVWQlFWVXNVMEZCUTBNc1QwRkRXa01zUlVGQmFVSXNSMEZEYWtKTUxFbEJRV051UWl4RlFVRk5lVUlzVjBGQlYwTXNVVUZETlVKSUxFVkJRVTFKTEZOQlFWZEtMRVZCUVUxSkxGRkJRVkZzU1N4UFFVRlRMRWRCUXpkREswZ3NSVUZCWlhSSkxFdEJRVXR4U1N4RlFVRk5TU3hSUVVGUkxFZEJRVWNzUjBGQlIwTXNXVUZKZUVOU0xFZEJRVmxCTEVWQlFWTXhSU3hOUVVGTmJVWXNSMEZCVDA0c1ZVRkJWVU1zVlVGRk1VTndRaXhWUVVGVlppeHBRa0ZCYVVJNFFpeEZRVUZYUnl4UlFVVjBRMnBDTEZkQlFWZGpMRWRCUVdGSExGTkJSM1pDZEVzc2FVUkJSMWx0U3l4UFFVTmlSeXhGUVVGVmRFc3NTMEZCUzNGS0xGZEJRVmRqTEdWQlF6TkNaaXhWUVVGVmFFSXNiMEpCUVc5Q0swSXNSVUZCVjBjc1ZVRkZka04wU3l4TFFVRkxjVW9zVjBGQlYyTXNSMEZGYUVKdVN5dzRSRUZKUm1sRkxFOUJSVXg2U0N4UFFVRlBhVWdzUzBGQlMzcEVMRXRCUVV0eFNpeFpRVUZaT1Vrc1UwRkJVU3hUUVVGRGFrUXNWVUZCVVhkT0xFVkJRVXN4UXl4dlFrRkJiMEk1U3l4WFFVTnNSVGhNTEZWQlFWa3NTMEZGVm5CS0xHZEVRVWRYYlVzc1YwRkRWRE5PTEU5QlFVODBSQ3hQUVVGUE5Fa3NSVUZCVFhsQ0xGbEJRVmxOTEUxQlFVc3NVMEZCUTNaTUxGVkJRVk5CTEVsQlFWTXlTeXcyUTBGeVJqRkVia3NzUzBGQlMyOUtMSGRDUVVkQlV5eFRRVU5PTEVsQlFVbHFUQ3hOUVVGTkxHdEhRWE5HWm05TkxFOUJRVTg1UWl4dFFrRkRVRGhDTEU5QlFVOURMSGxDUVVOUVJDeFBRVUZQUlN4elFrRkRVRVlzVDBGQlQwY3NLMFZCVFZCSUxFOUJRVTk0UWl4dFFrRkRVSGRDTEU5QlFVOUpMSGxDUVVOUVNpeFBRVUZQU3l4elFrRkRVRXdzVDBGQlQwMHNLMEpCYWt0S2RFTXNiVUpCUTIxQ0xFTkJRM1pDZFVNc1UwRkJWU3hMUVVOV1F5eExRVUZOTEZGQlEwNURMRmxCUVZrc1JVRkRXa01zWjBKQlFXZENMRVZCUTJoQ1F5eG5Ra0ZCYVVJc1JVRkRha0pETEZkQlFWa3NVMEZRVWpWRExHVkJWV1VzUTBGRGJrSTJReXhWUVVGWExGZEJRMWhETEZsQlFXRXNZVUZEWWtNc1NVRkJTeXhOUVVOTVF5eE5RVUZQTEZGQlExQkRMRk5CUVZVc1ZVRkRWblpDTEU5QlFWRXNVMEZEVW5kQ0xGVkJRVmNzVjBGRFdFTXNXVUZCWVN4aFFVTmlReXhYUVVGWkxGbEJRMXBETEdGQlFXTXNZMEZEWkVNc1RVRkJUeUo5XG4iLCJ2YXIgdD1mdW5jdGlvbih0KXtyZXR1cm5cImZ1bmN0aW9uXCI9PXR5cGVvZiB0fTtleHBvcnR7dCBhcyBkZWZhdWx0fTtcbiIsImltcG9ydCB7IHVzZUNhbGxiYWNrLCB1c2VFZmZlY3QsIHVzZVJlZiB9IGZyb20gJ3JlYWN0J1xuaW1wb3J0IHsgVm9jYWwgYXMgU3BlZWNoUmVjb2duaXRpb25XcmFwcGVyIH0gZnJvbSAnQHVudGVtcHMvdm9jYWwnXG5cbmNvbnN0IHVzZVZvY2FsID0gKGxhbmcgPSAnZW4tVVMnLCBncmFtbWFycyA9IG51bGwsIF9fcnNJbnN0YW5jZSA9IG51bGwpID0+IHtcblx0Y29uc3QgcmVmID0gdXNlUmVmKG51bGwpXG5cblx0dXNlRWZmZWN0KCgpID0+IHtcblx0XHRpZiAoU3BlZWNoUmVjb2duaXRpb25XcmFwcGVyLmlzU3VwcG9ydGVkKSB7XG5cdFx0XHRyZWYuY3VycmVudCA9IF9fcnNJbnN0YW5jZSB8fCBuZXcgU3BlZWNoUmVjb2duaXRpb25XcmFwcGVyKHsgbGFuZywgZ3JhbW1hcnMgfSlcblx0XHRcdHJldHVybiAoKSA9PiB7XG5cdFx0XHRcdHJlZi5jdXJyZW50LmFib3J0KClcblx0XHRcdFx0cmVmLmN1cnJlbnQuY2xlYW51cCgpXG5cdFx0XHR9XG5cdFx0fVxuXHR9LCBbbGFuZywgZ3JhbW1hcnMsIF9fcnNJbnN0YW5jZV0pXG5cblx0Y29uc3Qgc3RhcnQgPSB1c2VDYWxsYmFjaygoKSA9PiB7XG5cdFx0aWYgKHJlZi5jdXJyZW50KSB7XG5cdFx0XHRyZWYuY3VycmVudC5zdGFydCgpXG5cdFx0fVxuXHR9LCBbXSlcblxuXHRjb25zdCBzdG9wID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuXHRcdGlmIChyZWYuY3VycmVudCkge1xuXHRcdFx0cmVmLmN1cnJlbnQuc3RvcCgpXG5cdFx0fVxuXHR9LCBbXSlcblxuXHRjb25zdCBhYm9ydCA9IHVzZUNhbGxiYWNrKCgpID0+IHtcblx0XHRpZiAocmVmLmN1cnJlbnQpIHtcblx0XHRcdHJlZi5jdXJyZW50LmFib3J0KClcblx0XHR9XG5cdH0sIFtdKVxuXG5cdGNvbnN0IHN1YnNjcmliZSA9IHVzZUNhbGxiYWNrKChldmVudFR5cGUsIGhhbmRsZXIpID0+IHtcblx0XHRpZiAocmVmLmN1cnJlbnQpIHtcblx0XHRcdHJlZi5jdXJyZW50LmFkZEV2ZW50TGlzdGVuZXIoZXZlbnRUeXBlLCBoYW5kbGVyKVxuXHRcdH1cblx0fSwgW10pXG5cblx0Y29uc3QgdW5zdWJzY3JpYmUgPSB1c2VDYWxsYmFjaygoZXZlbnRUeXBlLCBoYW5kbGVyKSA9PiB7XG5cdFx0aWYgKHJlZi5jdXJyZW50KSB7XG5cdFx0XHRyZWYuY3VycmVudC5yZW1vdmVFdmVudExpc3RlbmVyKGV2ZW50VHlwZSwgaGFuZGxlcilcblx0XHR9XG5cdH0sIFtdKVxuXG5cdGNvbnN0IGNsZWFuID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuXHRcdGlmIChyZWYuY3VycmVudCkge1xuXHRcdFx0cmVmLmN1cnJlbnQuY2xlYW51cCgpXG5cdFx0fVxuXHR9LCBbXSlcblxuXHRyZXR1cm4gW3JlZiwgeyBzdGFydCwgc3RvcCwgYWJvcnQsIHN1YnNjcmliZSwgdW5zdWJzY3JpYmUsIGNsZWFuIH1dXG59XG5cbmV4cG9ydCBkZWZhdWx0IHVzZVZvY2FsXG5cbi8vIFRPRE86IFJldHVybiB0aGUgaW5zdGFuY2UsIG5vdCB0aGUgcmVmXG4iLCIvKipcbiAqIEZ1c2UuanMgdjYuNC42IC0gTGlnaHR3ZWlnaHQgZnV6enktc2VhcmNoIChodHRwOi8vZnVzZWpzLmlvKVxuICpcbiAqIENvcHlyaWdodCAoYykgMjAyMSBLaXJvIFJpc2sgKGh0dHA6Ly9raXJvLm1lKVxuICogQWxsIFJpZ2h0cyBSZXNlcnZlZC4gQXBhY2hlIFNvZnR3YXJlIExpY2Vuc2UgMi4wXG4gKlxuICogaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKi9cblxuZnVuY3Rpb24gaXNBcnJheSh2YWx1ZSkge1xuICByZXR1cm4gIUFycmF5LmlzQXJyYXlcbiAgICA/IGdldFRhZyh2YWx1ZSkgPT09ICdbb2JqZWN0IEFycmF5XSdcbiAgICA6IEFycmF5LmlzQXJyYXkodmFsdWUpXG59XG5cbi8vIEFkYXB0ZWQgZnJvbTogaHR0cHM6Ly9naXRodWIuY29tL2xvZGFzaC9sb2Rhc2gvYmxvYi9tYXN0ZXIvLmludGVybmFsL2Jhc2VUb1N0cmluZy5qc1xuY29uc3QgSU5GSU5JVFkgPSAxIC8gMDtcbmZ1bmN0aW9uIGJhc2VUb1N0cmluZyh2YWx1ZSkge1xuICAvLyBFeGl0IGVhcmx5IGZvciBzdHJpbmdzIHRvIGF2b2lkIGEgcGVyZm9ybWFuY2UgaGl0IGluIHNvbWUgZW52aXJvbm1lbnRzLlxuICBpZiAodHlwZW9mIHZhbHVlID09ICdzdHJpbmcnKSB7XG4gICAgcmV0dXJuIHZhbHVlXG4gIH1cbiAgbGV0IHJlc3VsdCA9IHZhbHVlICsgJyc7XG4gIHJldHVybiByZXN1bHQgPT0gJzAnICYmIDEgLyB2YWx1ZSA9PSAtSU5GSU5JVFkgPyAnLTAnIDogcmVzdWx0XG59XG5cbmZ1bmN0aW9uIHRvU3RyaW5nKHZhbHVlKSB7XG4gIHJldHVybiB2YWx1ZSA9PSBudWxsID8gJycgOiBiYXNlVG9TdHJpbmcodmFsdWUpXG59XG5cbmZ1bmN0aW9uIGlzU3RyaW5nKHZhbHVlKSB7XG4gIHJldHVybiB0eXBlb2YgdmFsdWUgPT09ICdzdHJpbmcnXG59XG5cbmZ1bmN0aW9uIGlzTnVtYmVyKHZhbHVlKSB7XG4gIHJldHVybiB0eXBlb2YgdmFsdWUgPT09ICdudW1iZXInXG59XG5cbi8vIEFkYXB0ZWQgZnJvbTogaHR0cHM6Ly9naXRodWIuY29tL2xvZGFzaC9sb2Rhc2gvYmxvYi9tYXN0ZXIvaXNCb29sZWFuLmpzXG5mdW5jdGlvbiBpc0Jvb2xlYW4odmFsdWUpIHtcbiAgcmV0dXJuIChcbiAgICB2YWx1ZSA9PT0gdHJ1ZSB8fFxuICAgIHZhbHVlID09PSBmYWxzZSB8fFxuICAgIChpc09iamVjdExpa2UodmFsdWUpICYmIGdldFRhZyh2YWx1ZSkgPT0gJ1tvYmplY3QgQm9vbGVhbl0nKVxuICApXG59XG5cbmZ1bmN0aW9uIGlzT2JqZWN0KHZhbHVlKSB7XG4gIHJldHVybiB0eXBlb2YgdmFsdWUgPT09ICdvYmplY3QnXG59XG5cbi8vIENoZWNrcyBpZiBgdmFsdWVgIGlzIG9iamVjdC1saWtlLlxuZnVuY3Rpb24gaXNPYmplY3RMaWtlKHZhbHVlKSB7XG4gIHJldHVybiBpc09iamVjdCh2YWx1ZSkgJiYgdmFsdWUgIT09IG51bGxcbn1cblxuZnVuY3Rpb24gaXNEZWZpbmVkKHZhbHVlKSB7XG4gIHJldHVybiB2YWx1ZSAhPT0gdW5kZWZpbmVkICYmIHZhbHVlICE9PSBudWxsXG59XG5cbmZ1bmN0aW9uIGlzQmxhbmsodmFsdWUpIHtcbiAgcmV0dXJuICF2YWx1ZS50cmltKCkubGVuZ3RoXG59XG5cbi8vIEdldHMgdGhlIGB0b1N0cmluZ1RhZ2Agb2YgYHZhbHVlYC5cbi8vIEFkYXB0ZWQgZnJvbTogaHR0cHM6Ly9naXRodWIuY29tL2xvZGFzaC9sb2Rhc2gvYmxvYi9tYXN0ZXIvLmludGVybmFsL2dldFRhZy5qc1xuZnVuY3Rpb24gZ2V0VGFnKHZhbHVlKSB7XG4gIHJldHVybiB2YWx1ZSA9PSBudWxsXG4gICAgPyB2YWx1ZSA9PT0gdW5kZWZpbmVkXG4gICAgICA/ICdbb2JqZWN0IFVuZGVmaW5lZF0nXG4gICAgICA6ICdbb2JqZWN0IE51bGxdJ1xuICAgIDogT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKHZhbHVlKVxufVxuXG5jb25zdCBFWFRFTkRFRF9TRUFSQ0hfVU5BVkFJTEFCTEUgPSAnRXh0ZW5kZWQgc2VhcmNoIGlzIG5vdCBhdmFpbGFibGUnO1xuXG5jb25zdCBJTkNPUlJFQ1RfSU5ERVhfVFlQRSA9IFwiSW5jb3JyZWN0ICdpbmRleCcgdHlwZVwiO1xuXG5jb25zdCBMT0dJQ0FMX1NFQVJDSF9JTlZBTElEX1FVRVJZX0ZPUl9LRVkgPSAoa2V5KSA9PlxuICBgSW52YWxpZCB2YWx1ZSBmb3Iga2V5ICR7a2V5fWA7XG5cbmNvbnN0IFBBVFRFUk5fTEVOR1RIX1RPT19MQVJHRSA9IChtYXgpID0+XG4gIGBQYXR0ZXJuIGxlbmd0aCBleGNlZWRzIG1heCBvZiAke21heH0uYDtcblxuY29uc3QgTUlTU0lOR19LRVlfUFJPUEVSVFkgPSAobmFtZSkgPT4gYE1pc3NpbmcgJHtuYW1lfSBwcm9wZXJ0eSBpbiBrZXlgO1xuXG5jb25zdCBJTlZBTElEX0tFWV9XRUlHSFRfVkFMVUUgPSAoa2V5KSA9PlxuICBgUHJvcGVydHkgJ3dlaWdodCcgaW4ga2V5ICcke2tleX0nIG11c3QgYmUgYSBwb3NpdGl2ZSBpbnRlZ2VyYDtcblxuY29uc3QgaGFzT3duID0gT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eTtcblxuY2xhc3MgS2V5U3RvcmUge1xuICBjb25zdHJ1Y3RvcihrZXlzKSB7XG4gICAgdGhpcy5fa2V5cyA9IFtdO1xuICAgIHRoaXMuX2tleU1hcCA9IHt9O1xuXG4gICAgbGV0IHRvdGFsV2VpZ2h0ID0gMDtcblxuICAgIGtleXMuZm9yRWFjaCgoa2V5KSA9PiB7XG4gICAgICBsZXQgb2JqID0gY3JlYXRlS2V5KGtleSk7XG5cbiAgICAgIHRvdGFsV2VpZ2h0ICs9IG9iai53ZWlnaHQ7XG5cbiAgICAgIHRoaXMuX2tleXMucHVzaChvYmopO1xuICAgICAgdGhpcy5fa2V5TWFwW29iai5pZF0gPSBvYmo7XG5cbiAgICAgIHRvdGFsV2VpZ2h0ICs9IG9iai53ZWlnaHQ7XG4gICAgfSk7XG5cbiAgICAvLyBOb3JtYWxpemUgd2VpZ2h0cyBzbyB0aGF0IHRoZWlyIHN1bSBpcyBlcXVhbCB0byAxXG4gICAgdGhpcy5fa2V5cy5mb3JFYWNoKChrZXkpID0+IHtcbiAgICAgIGtleS53ZWlnaHQgLz0gdG90YWxXZWlnaHQ7XG4gICAgfSk7XG4gIH1cbiAgZ2V0KGtleUlkKSB7XG4gICAgcmV0dXJuIHRoaXMuX2tleU1hcFtrZXlJZF1cbiAgfVxuICBrZXlzKCkge1xuICAgIHJldHVybiB0aGlzLl9rZXlzXG4gIH1cbiAgdG9KU09OKCkge1xuICAgIHJldHVybiBKU09OLnN0cmluZ2lmeSh0aGlzLl9rZXlzKVxuICB9XG59XG5cbmZ1bmN0aW9uIGNyZWF0ZUtleShrZXkpIHtcbiAgbGV0IHBhdGggPSBudWxsO1xuICBsZXQgaWQgPSBudWxsO1xuICBsZXQgc3JjID0gbnVsbDtcbiAgbGV0IHdlaWdodCA9IDE7XG5cbiAgaWYgKGlzU3RyaW5nKGtleSkgfHwgaXNBcnJheShrZXkpKSB7XG4gICAgc3JjID0ga2V5O1xuICAgIHBhdGggPSBjcmVhdGVLZXlQYXRoKGtleSk7XG4gICAgaWQgPSBjcmVhdGVLZXlJZChrZXkpO1xuICB9IGVsc2Uge1xuICAgIGlmICghaGFzT3duLmNhbGwoa2V5LCAnbmFtZScpKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoTUlTU0lOR19LRVlfUFJPUEVSVFkoJ25hbWUnKSlcbiAgICB9XG5cbiAgICBjb25zdCBuYW1lID0ga2V5Lm5hbWU7XG4gICAgc3JjID0gbmFtZTtcblxuICAgIGlmIChoYXNPd24uY2FsbChrZXksICd3ZWlnaHQnKSkge1xuICAgICAgd2VpZ2h0ID0ga2V5LndlaWdodDtcblxuICAgICAgaWYgKHdlaWdodCA8PSAwKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihJTlZBTElEX0tFWV9XRUlHSFRfVkFMVUUobmFtZSkpXG4gICAgICB9XG4gICAgfVxuXG4gICAgcGF0aCA9IGNyZWF0ZUtleVBhdGgobmFtZSk7XG4gICAgaWQgPSBjcmVhdGVLZXlJZChuYW1lKTtcbiAgfVxuXG4gIHJldHVybiB7IHBhdGgsIGlkLCB3ZWlnaHQsIHNyYyB9XG59XG5cbmZ1bmN0aW9uIGNyZWF0ZUtleVBhdGgoa2V5KSB7XG4gIHJldHVybiBpc0FycmF5KGtleSkgPyBrZXkgOiBrZXkuc3BsaXQoJy4nKVxufVxuXG5mdW5jdGlvbiBjcmVhdGVLZXlJZChrZXkpIHtcbiAgcmV0dXJuIGlzQXJyYXkoa2V5KSA/IGtleS5qb2luKCcuJykgOiBrZXlcbn1cblxuZnVuY3Rpb24gZ2V0KG9iaiwgcGF0aCkge1xuICBsZXQgbGlzdCA9IFtdO1xuICBsZXQgYXJyID0gZmFsc2U7XG5cbiAgY29uc3QgZGVlcEdldCA9IChvYmosIHBhdGgsIGluZGV4KSA9PiB7XG4gICAgaWYgKCFpc0RlZmluZWQob2JqKSkge1xuICAgICAgcmV0dXJuXG4gICAgfVxuICAgIGlmICghcGF0aFtpbmRleF0pIHtcbiAgICAgIC8vIElmIHRoZXJlJ3Mgbm8gcGF0aCBsZWZ0LCB3ZSd2ZSBhcnJpdmVkIGF0IHRoZSBvYmplY3Qgd2UgY2FyZSBhYm91dC5cbiAgICAgIGxpc3QucHVzaChvYmopO1xuICAgIH0gZWxzZSB7XG4gICAgICBsZXQga2V5ID0gcGF0aFtpbmRleF07XG5cbiAgICAgIGNvbnN0IHZhbHVlID0gb2JqW2tleV07XG5cbiAgICAgIGlmICghaXNEZWZpbmVkKHZhbHVlKSkge1xuICAgICAgICByZXR1cm5cbiAgICAgIH1cblxuICAgICAgLy8gSWYgd2UncmUgYXQgdGhlIGxhc3QgdmFsdWUgaW4gdGhlIHBhdGgsIGFuZCBpZiBpdCdzIGEgc3RyaW5nL251bWJlci9ib29sLFxuICAgICAgLy8gYWRkIGl0IHRvIHRoZSBsaXN0XG4gICAgICBpZiAoXG4gICAgICAgIGluZGV4ID09PSBwYXRoLmxlbmd0aCAtIDEgJiZcbiAgICAgICAgKGlzU3RyaW5nKHZhbHVlKSB8fCBpc051bWJlcih2YWx1ZSkgfHwgaXNCb29sZWFuKHZhbHVlKSlcbiAgICAgICkge1xuICAgICAgICBsaXN0LnB1c2godG9TdHJpbmcodmFsdWUpKTtcbiAgICAgIH0gZWxzZSBpZiAoaXNBcnJheSh2YWx1ZSkpIHtcbiAgICAgICAgYXJyID0gdHJ1ZTtcbiAgICAgICAgLy8gU2VhcmNoIGVhY2ggaXRlbSBpbiB0aGUgYXJyYXkuXG4gICAgICAgIGZvciAobGV0IGkgPSAwLCBsZW4gPSB2YWx1ZS5sZW5ndGg7IGkgPCBsZW47IGkgKz0gMSkge1xuICAgICAgICAgIGRlZXBHZXQodmFsdWVbaV0sIHBhdGgsIGluZGV4ICsgMSk7XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSBpZiAocGF0aC5sZW5ndGgpIHtcbiAgICAgICAgLy8gQW4gb2JqZWN0LiBSZWN1cnNlIGZ1cnRoZXIuXG4gICAgICAgIGRlZXBHZXQodmFsdWUsIHBhdGgsIGluZGV4ICsgMSk7XG4gICAgICB9XG4gICAgfVxuICB9O1xuXG4gIC8vIEJhY2t3YXJkcyBjb21wYXRpYmlsaXR5IChzaW5jZSBwYXRoIHVzZWQgdG8gYmUgYSBzdHJpbmcpXG4gIGRlZXBHZXQob2JqLCBpc1N0cmluZyhwYXRoKSA/IHBhdGguc3BsaXQoJy4nKSA6IHBhdGgsIDApO1xuXG4gIHJldHVybiBhcnIgPyBsaXN0IDogbGlzdFswXVxufVxuXG5jb25zdCBNYXRjaE9wdGlvbnMgPSB7XG4gIC8vIFdoZXRoZXIgdGhlIG1hdGNoZXMgc2hvdWxkIGJlIGluY2x1ZGVkIGluIHRoZSByZXN1bHQgc2V0LiBXaGVuIGB0cnVlYCwgZWFjaCByZWNvcmQgaW4gdGhlIHJlc3VsdFxuICAvLyBzZXQgd2lsbCBpbmNsdWRlIHRoZSBpbmRpY2VzIG9mIHRoZSBtYXRjaGVkIGNoYXJhY3RlcnMuXG4gIC8vIFRoZXNlIGNhbiBjb25zZXF1ZW50bHkgYmUgdXNlZCBmb3IgaGlnaGxpZ2h0aW5nIHB1cnBvc2VzLlxuICBpbmNsdWRlTWF0Y2hlczogZmFsc2UsXG4gIC8vIFdoZW4gYHRydWVgLCB0aGUgbWF0Y2hpbmcgZnVuY3Rpb24gd2lsbCBjb250aW51ZSB0byB0aGUgZW5kIG9mIGEgc2VhcmNoIHBhdHRlcm4gZXZlbiBpZlxuICAvLyBhIHBlcmZlY3QgbWF0Y2ggaGFzIGFscmVhZHkgYmVlbiBsb2NhdGVkIGluIHRoZSBzdHJpbmcuXG4gIGZpbmRBbGxNYXRjaGVzOiBmYWxzZSxcbiAgLy8gTWluaW11bSBudW1iZXIgb2YgY2hhcmFjdGVycyB0aGF0IG11c3QgYmUgbWF0Y2hlZCBiZWZvcmUgYSByZXN1bHQgaXMgY29uc2lkZXJlZCBhIG1hdGNoXG4gIG1pbk1hdGNoQ2hhckxlbmd0aDogMVxufTtcblxuY29uc3QgQmFzaWNPcHRpb25zID0ge1xuICAvLyBXaGVuIGB0cnVlYCwgdGhlIGFsZ29yaXRobSBjb250aW51ZXMgc2VhcmNoaW5nIHRvIHRoZSBlbmQgb2YgdGhlIGlucHV0IGV2ZW4gaWYgYSBwZXJmZWN0XG4gIC8vIG1hdGNoIGlzIGZvdW5kIGJlZm9yZSB0aGUgZW5kIG9mIHRoZSBzYW1lIGlucHV0LlxuICBpc0Nhc2VTZW5zaXRpdmU6IGZhbHNlLFxuICAvLyBXaGVuIHRydWUsIHRoZSBtYXRjaGluZyBmdW5jdGlvbiB3aWxsIGNvbnRpbnVlIHRvIHRoZSBlbmQgb2YgYSBzZWFyY2ggcGF0dGVybiBldmVuIGlmXG4gIGluY2x1ZGVTY29yZTogZmFsc2UsXG4gIC8vIExpc3Qgb2YgcHJvcGVydGllcyB0aGF0IHdpbGwgYmUgc2VhcmNoZWQuIFRoaXMgYWxzbyBzdXBwb3J0cyBuZXN0ZWQgcHJvcGVydGllcy5cbiAga2V5czogW10sXG4gIC8vIFdoZXRoZXIgdG8gc29ydCB0aGUgcmVzdWx0IGxpc3QsIGJ5IHNjb3JlXG4gIHNob3VsZFNvcnQ6IHRydWUsXG4gIC8vIERlZmF1bHQgc29ydCBmdW5jdGlvbjogc29ydCBieSBhc2NlbmRpbmcgc2NvcmUsIGFzY2VuZGluZyBpbmRleFxuICBzb3J0Rm46IChhLCBiKSA9PlxuICAgIGEuc2NvcmUgPT09IGIuc2NvcmUgPyAoYS5pZHggPCBiLmlkeCA/IC0xIDogMSkgOiBhLnNjb3JlIDwgYi5zY29yZSA/IC0xIDogMVxufTtcblxuY29uc3QgRnV6enlPcHRpb25zID0ge1xuICAvLyBBcHByb3hpbWF0ZWx5IHdoZXJlIGluIHRoZSB0ZXh0IGlzIHRoZSBwYXR0ZXJuIGV4cGVjdGVkIHRvIGJlIGZvdW5kP1xuICBsb2NhdGlvbjogMCxcbiAgLy8gQXQgd2hhdCBwb2ludCBkb2VzIHRoZSBtYXRjaCBhbGdvcml0aG0gZ2l2ZSB1cC4gQSB0aHJlc2hvbGQgb2YgJzAuMCcgcmVxdWlyZXMgYSBwZXJmZWN0IG1hdGNoXG4gIC8vIChvZiBib3RoIGxldHRlcnMgYW5kIGxvY2F0aW9uKSwgYSB0aHJlc2hvbGQgb2YgJzEuMCcgd291bGQgbWF0Y2ggYW55dGhpbmcuXG4gIHRocmVzaG9sZDogMC42LFxuICAvLyBEZXRlcm1pbmVzIGhvdyBjbG9zZSB0aGUgbWF0Y2ggbXVzdCBiZSB0byB0aGUgZnV6enkgbG9jYXRpb24gKHNwZWNpZmllZCBhYm92ZSkuXG4gIC8vIEFuIGV4YWN0IGxldHRlciBtYXRjaCB3aGljaCBpcyAnZGlzdGFuY2UnIGNoYXJhY3RlcnMgYXdheSBmcm9tIHRoZSBmdXp6eSBsb2NhdGlvblxuICAvLyB3b3VsZCBzY29yZSBhcyBhIGNvbXBsZXRlIG1pc21hdGNoLiBBIGRpc3RhbmNlIG9mICcwJyByZXF1aXJlcyB0aGUgbWF0Y2ggYmUgYXRcbiAgLy8gdGhlIGV4YWN0IGxvY2F0aW9uIHNwZWNpZmllZCwgYSB0aHJlc2hvbGQgb2YgJzEwMDAnIHdvdWxkIHJlcXVpcmUgYSBwZXJmZWN0IG1hdGNoXG4gIC8vIHRvIGJlIHdpdGhpbiA4MDAgY2hhcmFjdGVycyBvZiB0aGUgZnV6enkgbG9jYXRpb24gdG8gYmUgZm91bmQgdXNpbmcgYSAwLjggdGhyZXNob2xkLlxuICBkaXN0YW5jZTogMTAwXG59O1xuXG5jb25zdCBBZHZhbmNlZE9wdGlvbnMgPSB7XG4gIC8vIFdoZW4gYHRydWVgLCBpdCBlbmFibGVzIHRoZSB1c2Ugb2YgdW5peC1saWtlIHNlYXJjaCBjb21tYW5kc1xuICB1c2VFeHRlbmRlZFNlYXJjaDogZmFsc2UsXG4gIC8vIFRoZSBnZXQgZnVuY3Rpb24gdG8gdXNlIHdoZW4gZmV0Y2hpbmcgYW4gb2JqZWN0J3MgcHJvcGVydGllcy5cbiAgLy8gVGhlIGRlZmF1bHQgd2lsbCBzZWFyY2ggbmVzdGVkIHBhdGhzICppZSBmb28uYmFyLmJheipcbiAgZ2V0Rm46IGdldCxcbiAgLy8gV2hlbiBgdHJ1ZWAsIHNlYXJjaCB3aWxsIGlnbm9yZSBgbG9jYXRpb25gIGFuZCBgZGlzdGFuY2VgLCBzbyBpdCB3b24ndCBtYXR0ZXJcbiAgLy8gd2hlcmUgaW4gdGhlIHN0cmluZyB0aGUgcGF0dGVybiBhcHBlYXJzLlxuICAvLyBNb3JlIGluZm86IGh0dHBzOi8vZnVzZWpzLmlvL2NvbmNlcHRzL3Njb3JpbmctdGhlb3J5Lmh0bWwjZnV6emluZXNzLXNjb3JlXG4gIGlnbm9yZUxvY2F0aW9uOiBmYWxzZSxcbiAgLy8gV2hlbiBgdHJ1ZWAsIHRoZSBjYWxjdWxhdGlvbiBmb3IgdGhlIHJlbGV2YW5jZSBzY29yZSAodXNlZCBmb3Igc29ydGluZykgd2lsbFxuICAvLyBpZ25vcmUgdGhlIGZpZWxkLWxlbmd0aCBub3JtLlxuICAvLyBNb3JlIGluZm86IGh0dHBzOi8vZnVzZWpzLmlvL2NvbmNlcHRzL3Njb3JpbmctdGhlb3J5Lmh0bWwjZmllbGQtbGVuZ3RoLW5vcm1cbiAgaWdub3JlRmllbGROb3JtOiBmYWxzZVxufTtcblxudmFyIENvbmZpZyA9IHtcbiAgLi4uQmFzaWNPcHRpb25zLFxuICAuLi5NYXRjaE9wdGlvbnMsXG4gIC4uLkZ1enp5T3B0aW9ucyxcbiAgLi4uQWR2YW5jZWRPcHRpb25zXG59O1xuXG5jb25zdCBTUEFDRSA9IC9bXiBdKy9nO1xuXG4vLyBGaWVsZC1sZW5ndGggbm9ybTogdGhlIHNob3J0ZXIgdGhlIGZpZWxkLCB0aGUgaGlnaGVyIHRoZSB3ZWlnaHQuXG4vLyBTZXQgdG8gMyBkZWNpbWFscyB0byByZWR1Y2UgaW5kZXggc2l6ZS5cbmZ1bmN0aW9uIG5vcm0obWFudGlzc2EgPSAzKSB7XG4gIGNvbnN0IGNhY2hlID0gbmV3IE1hcCgpO1xuICBjb25zdCBtID0gTWF0aC5wb3coMTAsIG1hbnRpc3NhKTtcblxuICByZXR1cm4ge1xuICAgIGdldCh2YWx1ZSkge1xuICAgICAgY29uc3QgbnVtVG9rZW5zID0gdmFsdWUubWF0Y2goU1BBQ0UpLmxlbmd0aDtcblxuICAgICAgaWYgKGNhY2hlLmhhcyhudW1Ub2tlbnMpKSB7XG4gICAgICAgIHJldHVybiBjYWNoZS5nZXQobnVtVG9rZW5zKVxuICAgICAgfVxuXG4gICAgICBjb25zdCBub3JtID0gMSAvIE1hdGguc3FydChudW1Ub2tlbnMpO1xuXG4gICAgICAvLyBJbiBwbGFjZSBvZiBgdG9GaXhlZChtYW50aXNzYSlgLCBmb3IgZmFzdGVyIGNvbXB1dGF0aW9uXG4gICAgICBjb25zdCBuID0gcGFyc2VGbG9hdChNYXRoLnJvdW5kKG5vcm0gKiBtKSAvIG0pO1xuXG4gICAgICBjYWNoZS5zZXQobnVtVG9rZW5zLCBuKTtcblxuICAgICAgcmV0dXJuIG5cbiAgICB9LFxuICAgIGNsZWFyKCkge1xuICAgICAgY2FjaGUuY2xlYXIoKTtcbiAgICB9XG4gIH1cbn1cblxuY2xhc3MgRnVzZUluZGV4IHtcbiAgY29uc3RydWN0b3IoeyBnZXRGbiA9IENvbmZpZy5nZXRGbiB9ID0ge30pIHtcbiAgICB0aGlzLm5vcm0gPSBub3JtKDMpO1xuICAgIHRoaXMuZ2V0Rm4gPSBnZXRGbjtcbiAgICB0aGlzLmlzQ3JlYXRlZCA9IGZhbHNlO1xuXG4gICAgdGhpcy5zZXRJbmRleFJlY29yZHMoKTtcbiAgfVxuICBzZXRTb3VyY2VzKGRvY3MgPSBbXSkge1xuICAgIHRoaXMuZG9jcyA9IGRvY3M7XG4gIH1cbiAgc2V0SW5kZXhSZWNvcmRzKHJlY29yZHMgPSBbXSkge1xuICAgIHRoaXMucmVjb3JkcyA9IHJlY29yZHM7XG4gIH1cbiAgc2V0S2V5cyhrZXlzID0gW10pIHtcbiAgICB0aGlzLmtleXMgPSBrZXlzO1xuICAgIHRoaXMuX2tleXNNYXAgPSB7fTtcbiAgICBrZXlzLmZvckVhY2goKGtleSwgaWR4KSA9PiB7XG4gICAgICB0aGlzLl9rZXlzTWFwW2tleS5pZF0gPSBpZHg7XG4gICAgfSk7XG4gIH1cbiAgY3JlYXRlKCkge1xuICAgIGlmICh0aGlzLmlzQ3JlYXRlZCB8fCAhdGhpcy5kb2NzLmxlbmd0aCkge1xuICAgICAgcmV0dXJuXG4gICAgfVxuXG4gICAgdGhpcy5pc0NyZWF0ZWQgPSB0cnVlO1xuXG4gICAgLy8gTGlzdCBpcyBBcnJheTxTdHJpbmc+XG4gICAgaWYgKGlzU3RyaW5nKHRoaXMuZG9jc1swXSkpIHtcbiAgICAgIHRoaXMuZG9jcy5mb3JFYWNoKChkb2MsIGRvY0luZGV4KSA9PiB7XG4gICAgICAgIHRoaXMuX2FkZFN0cmluZyhkb2MsIGRvY0luZGV4KTtcbiAgICAgIH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICAvLyBMaXN0IGlzIEFycmF5PE9iamVjdD5cbiAgICAgIHRoaXMuZG9jcy5mb3JFYWNoKChkb2MsIGRvY0luZGV4KSA9PiB7XG4gICAgICAgIHRoaXMuX2FkZE9iamVjdChkb2MsIGRvY0luZGV4KTtcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIHRoaXMubm9ybS5jbGVhcigpO1xuICB9XG4gIC8vIEFkZHMgYSBkb2MgdG8gdGhlIGVuZCBvZiB0aGUgaW5kZXhcbiAgYWRkKGRvYykge1xuICAgIGNvbnN0IGlkeCA9IHRoaXMuc2l6ZSgpO1xuXG4gICAgaWYgKGlzU3RyaW5nKGRvYykpIHtcbiAgICAgIHRoaXMuX2FkZFN0cmluZyhkb2MsIGlkeCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuX2FkZE9iamVjdChkb2MsIGlkeCk7XG4gICAgfVxuICB9XG4gIC8vIFJlbW92ZXMgdGhlIGRvYyBhdCB0aGUgc3BlY2lmaWVkIGluZGV4IG9mIHRoZSBpbmRleFxuICByZW1vdmVBdChpZHgpIHtcbiAgICB0aGlzLnJlY29yZHMuc3BsaWNlKGlkeCwgMSk7XG5cbiAgICAvLyBDaGFuZ2UgcmVmIGluZGV4IG9mIGV2ZXJ5IHN1YnNxdWVudCBkb2NcbiAgICBmb3IgKGxldCBpID0gaWR4LCBsZW4gPSB0aGlzLnNpemUoKTsgaSA8IGxlbjsgaSArPSAxKSB7XG4gICAgICB0aGlzLnJlY29yZHNbaV0uaSAtPSAxO1xuICAgIH1cbiAgfVxuICBnZXRWYWx1ZUZvckl0ZW1BdEtleUlkKGl0ZW0sIGtleUlkKSB7XG4gICAgcmV0dXJuIGl0ZW1bdGhpcy5fa2V5c01hcFtrZXlJZF1dXG4gIH1cbiAgc2l6ZSgpIHtcbiAgICByZXR1cm4gdGhpcy5yZWNvcmRzLmxlbmd0aFxuICB9XG4gIF9hZGRTdHJpbmcoZG9jLCBkb2NJbmRleCkge1xuICAgIGlmICghaXNEZWZpbmVkKGRvYykgfHwgaXNCbGFuayhkb2MpKSB7XG4gICAgICByZXR1cm5cbiAgICB9XG5cbiAgICBsZXQgcmVjb3JkID0ge1xuICAgICAgdjogZG9jLFxuICAgICAgaTogZG9jSW5kZXgsXG4gICAgICBuOiB0aGlzLm5vcm0uZ2V0KGRvYylcbiAgICB9O1xuXG4gICAgdGhpcy5yZWNvcmRzLnB1c2gocmVjb3JkKTtcbiAgfVxuICBfYWRkT2JqZWN0KGRvYywgZG9jSW5kZXgpIHtcbiAgICBsZXQgcmVjb3JkID0geyBpOiBkb2NJbmRleCwgJDoge30gfTtcblxuICAgIC8vIEl0ZXJhdGUgb3ZlciBldmVyeSBrZXkgKGkuZSwgcGF0aCksIGFuZCBmZXRjaCB0aGUgdmFsdWUgYXQgdGhhdCBrZXlcbiAgICB0aGlzLmtleXMuZm9yRWFjaCgoa2V5LCBrZXlJbmRleCkgPT4ge1xuICAgICAgLy8gY29uc29sZS5sb2coa2V5KVxuICAgICAgbGV0IHZhbHVlID0gdGhpcy5nZXRGbihkb2MsIGtleS5wYXRoKTtcblxuICAgICAgaWYgKCFpc0RlZmluZWQodmFsdWUpKSB7XG4gICAgICAgIHJldHVyblxuICAgICAgfVxuXG4gICAgICBpZiAoaXNBcnJheSh2YWx1ZSkpIHtcbiAgICAgICAgbGV0IHN1YlJlY29yZHMgPSBbXTtcbiAgICAgICAgY29uc3Qgc3RhY2sgPSBbeyBuZXN0ZWRBcnJJbmRleDogLTEsIHZhbHVlIH1dO1xuXG4gICAgICAgIHdoaWxlIChzdGFjay5sZW5ndGgpIHtcbiAgICAgICAgICBjb25zdCB7IG5lc3RlZEFyckluZGV4LCB2YWx1ZSB9ID0gc3RhY2sucG9wKCk7XG5cbiAgICAgICAgICBpZiAoIWlzRGVmaW5lZCh2YWx1ZSkpIHtcbiAgICAgICAgICAgIGNvbnRpbnVlXG4gICAgICAgICAgfVxuXG4gICAgICAgICAgaWYgKGlzU3RyaW5nKHZhbHVlKSAmJiAhaXNCbGFuayh2YWx1ZSkpIHtcbiAgICAgICAgICAgIGxldCBzdWJSZWNvcmQgPSB7XG4gICAgICAgICAgICAgIHY6IHZhbHVlLFxuICAgICAgICAgICAgICBpOiBuZXN0ZWRBcnJJbmRleCxcbiAgICAgICAgICAgICAgbjogdGhpcy5ub3JtLmdldCh2YWx1ZSlcbiAgICAgICAgICAgIH07XG5cbiAgICAgICAgICAgIHN1YlJlY29yZHMucHVzaChzdWJSZWNvcmQpO1xuICAgICAgICAgIH0gZWxzZSBpZiAoaXNBcnJheSh2YWx1ZSkpIHtcbiAgICAgICAgICAgIHZhbHVlLmZvckVhY2goKGl0ZW0sIGspID0+IHtcbiAgICAgICAgICAgICAgc3RhY2sucHVzaCh7XG4gICAgICAgICAgICAgICAgbmVzdGVkQXJySW5kZXg6IGssXG4gICAgICAgICAgICAgICAgdmFsdWU6IGl0ZW1cbiAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcmVjb3JkLiRba2V5SW5kZXhdID0gc3ViUmVjb3JkcztcbiAgICAgIH0gZWxzZSBpZiAoIWlzQmxhbmsodmFsdWUpKSB7XG4gICAgICAgIGxldCBzdWJSZWNvcmQgPSB7XG4gICAgICAgICAgdjogdmFsdWUsXG4gICAgICAgICAgbjogdGhpcy5ub3JtLmdldCh2YWx1ZSlcbiAgICAgICAgfTtcblxuICAgICAgICByZWNvcmQuJFtrZXlJbmRleF0gPSBzdWJSZWNvcmQ7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICB0aGlzLnJlY29yZHMucHVzaChyZWNvcmQpO1xuICB9XG4gIHRvSlNPTigpIHtcbiAgICByZXR1cm4ge1xuICAgICAga2V5czogdGhpcy5rZXlzLFxuICAgICAgcmVjb3JkczogdGhpcy5yZWNvcmRzXG4gICAgfVxuICB9XG59XG5cbmZ1bmN0aW9uIGNyZWF0ZUluZGV4KGtleXMsIGRvY3MsIHsgZ2V0Rm4gPSBDb25maWcuZ2V0Rm4gfSA9IHt9KSB7XG4gIGNvbnN0IG15SW5kZXggPSBuZXcgRnVzZUluZGV4KHsgZ2V0Rm4gfSk7XG4gIG15SW5kZXguc2V0S2V5cyhrZXlzLm1hcChjcmVhdGVLZXkpKTtcbiAgbXlJbmRleC5zZXRTb3VyY2VzKGRvY3MpO1xuICBteUluZGV4LmNyZWF0ZSgpO1xuICByZXR1cm4gbXlJbmRleFxufVxuXG5mdW5jdGlvbiBwYXJzZUluZGV4KGRhdGEsIHsgZ2V0Rm4gPSBDb25maWcuZ2V0Rm4gfSA9IHt9KSB7XG4gIGNvbnN0IHsga2V5cywgcmVjb3JkcyB9ID0gZGF0YTtcbiAgY29uc3QgbXlJbmRleCA9IG5ldyBGdXNlSW5kZXgoeyBnZXRGbiB9KTtcbiAgbXlJbmRleC5zZXRLZXlzKGtleXMpO1xuICBteUluZGV4LnNldEluZGV4UmVjb3JkcyhyZWNvcmRzKTtcbiAgcmV0dXJuIG15SW5kZXhcbn1cblxuZnVuY3Rpb24gY29tcHV0ZVNjb3JlKFxuICBwYXR0ZXJuLFxuICB7XG4gICAgZXJyb3JzID0gMCxcbiAgICBjdXJyZW50TG9jYXRpb24gPSAwLFxuICAgIGV4cGVjdGVkTG9jYXRpb24gPSAwLFxuICAgIGRpc3RhbmNlID0gQ29uZmlnLmRpc3RhbmNlLFxuICAgIGlnbm9yZUxvY2F0aW9uID0gQ29uZmlnLmlnbm9yZUxvY2F0aW9uXG4gIH0gPSB7fVxuKSB7XG4gIGNvbnN0IGFjY3VyYWN5ID0gZXJyb3JzIC8gcGF0dGVybi5sZW5ndGg7XG5cbiAgaWYgKGlnbm9yZUxvY2F0aW9uKSB7XG4gICAgcmV0dXJuIGFjY3VyYWN5XG4gIH1cblxuICBjb25zdCBwcm94aW1pdHkgPSBNYXRoLmFicyhleHBlY3RlZExvY2F0aW9uIC0gY3VycmVudExvY2F0aW9uKTtcblxuICBpZiAoIWRpc3RhbmNlKSB7XG4gICAgLy8gRG9kZ2UgZGl2aWRlIGJ5IHplcm8gZXJyb3IuXG4gICAgcmV0dXJuIHByb3hpbWl0eSA/IDEuMCA6IGFjY3VyYWN5XG4gIH1cblxuICByZXR1cm4gYWNjdXJhY3kgKyBwcm94aW1pdHkgLyBkaXN0YW5jZVxufVxuXG5mdW5jdGlvbiBjb252ZXJ0TWFza1RvSW5kaWNlcyhcbiAgbWF0Y2htYXNrID0gW10sXG4gIG1pbk1hdGNoQ2hhckxlbmd0aCA9IENvbmZpZy5taW5NYXRjaENoYXJMZW5ndGhcbikge1xuICBsZXQgaW5kaWNlcyA9IFtdO1xuICBsZXQgc3RhcnQgPSAtMTtcbiAgbGV0IGVuZCA9IC0xO1xuICBsZXQgaSA9IDA7XG5cbiAgZm9yIChsZXQgbGVuID0gbWF0Y2htYXNrLmxlbmd0aDsgaSA8IGxlbjsgaSArPSAxKSB7XG4gICAgbGV0IG1hdGNoID0gbWF0Y2htYXNrW2ldO1xuICAgIGlmIChtYXRjaCAmJiBzdGFydCA9PT0gLTEpIHtcbiAgICAgIHN0YXJ0ID0gaTtcbiAgICB9IGVsc2UgaWYgKCFtYXRjaCAmJiBzdGFydCAhPT0gLTEpIHtcbiAgICAgIGVuZCA9IGkgLSAxO1xuICAgICAgaWYgKGVuZCAtIHN0YXJ0ICsgMSA+PSBtaW5NYXRjaENoYXJMZW5ndGgpIHtcbiAgICAgICAgaW5kaWNlcy5wdXNoKFtzdGFydCwgZW5kXSk7XG4gICAgICB9XG4gICAgICBzdGFydCA9IC0xO1xuICAgIH1cbiAgfVxuXG4gIC8vIChpLTEgLSBzdGFydCkgKyAxID0+IGkgLSBzdGFydFxuICBpZiAobWF0Y2htYXNrW2kgLSAxXSAmJiBpIC0gc3RhcnQgPj0gbWluTWF0Y2hDaGFyTGVuZ3RoKSB7XG4gICAgaW5kaWNlcy5wdXNoKFtzdGFydCwgaSAtIDFdKTtcbiAgfVxuXG4gIHJldHVybiBpbmRpY2VzXG59XG5cbi8vIE1hY2hpbmUgd29yZCBzaXplXG5jb25zdCBNQVhfQklUUyA9IDMyO1xuXG5mdW5jdGlvbiBzZWFyY2goXG4gIHRleHQsXG4gIHBhdHRlcm4sXG4gIHBhdHRlcm5BbHBoYWJldCxcbiAge1xuICAgIGxvY2F0aW9uID0gQ29uZmlnLmxvY2F0aW9uLFxuICAgIGRpc3RhbmNlID0gQ29uZmlnLmRpc3RhbmNlLFxuICAgIHRocmVzaG9sZCA9IENvbmZpZy50aHJlc2hvbGQsXG4gICAgZmluZEFsbE1hdGNoZXMgPSBDb25maWcuZmluZEFsbE1hdGNoZXMsXG4gICAgbWluTWF0Y2hDaGFyTGVuZ3RoID0gQ29uZmlnLm1pbk1hdGNoQ2hhckxlbmd0aCxcbiAgICBpbmNsdWRlTWF0Y2hlcyA9IENvbmZpZy5pbmNsdWRlTWF0Y2hlcyxcbiAgICBpZ25vcmVMb2NhdGlvbiA9IENvbmZpZy5pZ25vcmVMb2NhdGlvblxuICB9ID0ge31cbikge1xuICBpZiAocGF0dGVybi5sZW5ndGggPiBNQVhfQklUUykge1xuICAgIHRocm93IG5ldyBFcnJvcihQQVRURVJOX0xFTkdUSF9UT09fTEFSR0UoTUFYX0JJVFMpKVxuICB9XG5cbiAgY29uc3QgcGF0dGVybkxlbiA9IHBhdHRlcm4ubGVuZ3RoO1xuICAvLyBTZXQgc3RhcnRpbmcgbG9jYXRpb24gYXQgYmVnaW5uaW5nIHRleHQgYW5kIGluaXRpYWxpemUgdGhlIGFscGhhYmV0LlxuICBjb25zdCB0ZXh0TGVuID0gdGV4dC5sZW5ndGg7XG4gIC8vIEhhbmRsZSB0aGUgY2FzZSB3aGVuIGxvY2F0aW9uID4gdGV4dC5sZW5ndGhcbiAgY29uc3QgZXhwZWN0ZWRMb2NhdGlvbiA9IE1hdGgubWF4KDAsIE1hdGgubWluKGxvY2F0aW9uLCB0ZXh0TGVuKSk7XG4gIC8vIEhpZ2hlc3Qgc2NvcmUgYmV5b25kIHdoaWNoIHdlIGdpdmUgdXAuXG4gIGxldCBjdXJyZW50VGhyZXNob2xkID0gdGhyZXNob2xkO1xuICAvLyBJcyB0aGVyZSBhIG5lYXJieSBleGFjdCBtYXRjaD8gKHNwZWVkdXApXG4gIGxldCBiZXN0TG9jYXRpb24gPSBleHBlY3RlZExvY2F0aW9uO1xuXG4gIC8vIFBlcmZvcm1hbmNlOiBvbmx5IGNvbXB1dGVyIG1hdGNoZXMgd2hlbiB0aGUgbWluTWF0Y2hDaGFyTGVuZ3RoID4gMVxuICAvLyBPUiBpZiBgaW5jbHVkZU1hdGNoZXNgIGlzIHRydWUuXG4gIGNvbnN0IGNvbXB1dGVNYXRjaGVzID0gbWluTWF0Y2hDaGFyTGVuZ3RoID4gMSB8fCBpbmNsdWRlTWF0Y2hlcztcbiAgLy8gQSBtYXNrIG9mIHRoZSBtYXRjaGVzLCB1c2VkIGZvciBidWlsZGluZyB0aGUgaW5kaWNlc1xuICBjb25zdCBtYXRjaE1hc2sgPSBjb21wdXRlTWF0Y2hlcyA/IEFycmF5KHRleHRMZW4pIDogW107XG5cbiAgbGV0IGluZGV4O1xuXG4gIC8vIEdldCBhbGwgZXhhY3QgbWF0Y2hlcywgaGVyZSBmb3Igc3BlZWQgdXBcbiAgd2hpbGUgKChpbmRleCA9IHRleHQuaW5kZXhPZihwYXR0ZXJuLCBiZXN0TG9jYXRpb24pKSA+IC0xKSB7XG4gICAgbGV0IHNjb3JlID0gY29tcHV0ZVNjb3JlKHBhdHRlcm4sIHtcbiAgICAgIGN1cnJlbnRMb2NhdGlvbjogaW5kZXgsXG4gICAgICBleHBlY3RlZExvY2F0aW9uLFxuICAgICAgZGlzdGFuY2UsXG4gICAgICBpZ25vcmVMb2NhdGlvblxuICAgIH0pO1xuXG4gICAgY3VycmVudFRocmVzaG9sZCA9IE1hdGgubWluKHNjb3JlLCBjdXJyZW50VGhyZXNob2xkKTtcbiAgICBiZXN0TG9jYXRpb24gPSBpbmRleCArIHBhdHRlcm5MZW47XG5cbiAgICBpZiAoY29tcHV0ZU1hdGNoZXMpIHtcbiAgICAgIGxldCBpID0gMDtcbiAgICAgIHdoaWxlIChpIDwgcGF0dGVybkxlbikge1xuICAgICAgICBtYXRjaE1hc2tbaW5kZXggKyBpXSA9IDE7XG4gICAgICAgIGkgKz0gMTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBSZXNldCB0aGUgYmVzdCBsb2NhdGlvblxuICBiZXN0TG9jYXRpb24gPSAtMTtcblxuICBsZXQgbGFzdEJpdEFyciA9IFtdO1xuICBsZXQgZmluYWxTY29yZSA9IDE7XG4gIGxldCBiaW5NYXggPSBwYXR0ZXJuTGVuICsgdGV4dExlbjtcblxuICBjb25zdCBtYXNrID0gMSA8PCAocGF0dGVybkxlbiAtIDEpO1xuXG4gIGZvciAobGV0IGkgPSAwOyBpIDwgcGF0dGVybkxlbjsgaSArPSAxKSB7XG4gICAgLy8gU2NhbiBmb3IgdGhlIGJlc3QgbWF0Y2g7IGVhY2ggaXRlcmF0aW9uIGFsbG93cyBmb3Igb25lIG1vcmUgZXJyb3IuXG4gICAgLy8gUnVuIGEgYmluYXJ5IHNlYXJjaCB0byBkZXRlcm1pbmUgaG93IGZhciBmcm9tIHRoZSBtYXRjaCBsb2NhdGlvbiB3ZSBjYW4gc3RyYXlcbiAgICAvLyBhdCB0aGlzIGVycm9yIGxldmVsLlxuICAgIGxldCBiaW5NaW4gPSAwO1xuICAgIGxldCBiaW5NaWQgPSBiaW5NYXg7XG5cbiAgICB3aGlsZSAoYmluTWluIDwgYmluTWlkKSB7XG4gICAgICBjb25zdCBzY29yZSA9IGNvbXB1dGVTY29yZShwYXR0ZXJuLCB7XG4gICAgICAgIGVycm9yczogaSxcbiAgICAgICAgY3VycmVudExvY2F0aW9uOiBleHBlY3RlZExvY2F0aW9uICsgYmluTWlkLFxuICAgICAgICBleHBlY3RlZExvY2F0aW9uLFxuICAgICAgICBkaXN0YW5jZSxcbiAgICAgICAgaWdub3JlTG9jYXRpb25cbiAgICAgIH0pO1xuXG4gICAgICBpZiAoc2NvcmUgPD0gY3VycmVudFRocmVzaG9sZCkge1xuICAgICAgICBiaW5NaW4gPSBiaW5NaWQ7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBiaW5NYXggPSBiaW5NaWQ7XG4gICAgICB9XG5cbiAgICAgIGJpbk1pZCA9IE1hdGguZmxvb3IoKGJpbk1heCAtIGJpbk1pbikgLyAyICsgYmluTWluKTtcbiAgICB9XG5cbiAgICAvLyBVc2UgdGhlIHJlc3VsdCBmcm9tIHRoaXMgaXRlcmF0aW9uIGFzIHRoZSBtYXhpbXVtIGZvciB0aGUgbmV4dC5cbiAgICBiaW5NYXggPSBiaW5NaWQ7XG5cbiAgICBsZXQgc3RhcnQgPSBNYXRoLm1heCgxLCBleHBlY3RlZExvY2F0aW9uIC0gYmluTWlkICsgMSk7XG4gICAgbGV0IGZpbmlzaCA9IGZpbmRBbGxNYXRjaGVzXG4gICAgICA/IHRleHRMZW5cbiAgICAgIDogTWF0aC5taW4oZXhwZWN0ZWRMb2NhdGlvbiArIGJpbk1pZCwgdGV4dExlbikgKyBwYXR0ZXJuTGVuO1xuXG4gICAgLy8gSW5pdGlhbGl6ZSB0aGUgYml0IGFycmF5XG4gICAgbGV0IGJpdEFyciA9IEFycmF5KGZpbmlzaCArIDIpO1xuXG4gICAgYml0QXJyW2ZpbmlzaCArIDFdID0gKDEgPDwgaSkgLSAxO1xuXG4gICAgZm9yIChsZXQgaiA9IGZpbmlzaDsgaiA+PSBzdGFydDsgaiAtPSAxKSB7XG4gICAgICBsZXQgY3VycmVudExvY2F0aW9uID0gaiAtIDE7XG4gICAgICBsZXQgY2hhck1hdGNoID0gcGF0dGVybkFscGhhYmV0W3RleHQuY2hhckF0KGN1cnJlbnRMb2NhdGlvbildO1xuXG4gICAgICBpZiAoY29tcHV0ZU1hdGNoZXMpIHtcbiAgICAgICAgLy8gU3BlZWQgdXA6IHF1aWNrIGJvb2wgdG8gaW50IGNvbnZlcnNpb24gKGkuZSwgYGNoYXJNYXRjaCA/IDEgOiAwYClcbiAgICAgICAgbWF0Y2hNYXNrW2N1cnJlbnRMb2NhdGlvbl0gPSArISFjaGFyTWF0Y2g7XG4gICAgICB9XG5cbiAgICAgIC8vIEZpcnN0IHBhc3M6IGV4YWN0IG1hdGNoXG4gICAgICBiaXRBcnJbal0gPSAoKGJpdEFycltqICsgMV0gPDwgMSkgfCAxKSAmIGNoYXJNYXRjaDtcblxuICAgICAgLy8gU3Vic2VxdWVudCBwYXNzZXM6IGZ1enp5IG1hdGNoXG4gICAgICBpZiAoaSkge1xuICAgICAgICBiaXRBcnJbal0gfD1cbiAgICAgICAgICAoKGxhc3RCaXRBcnJbaiArIDFdIHwgbGFzdEJpdEFycltqXSkgPDwgMSkgfCAxIHwgbGFzdEJpdEFycltqICsgMV07XG4gICAgICB9XG5cbiAgICAgIGlmIChiaXRBcnJbal0gJiBtYXNrKSB7XG4gICAgICAgIGZpbmFsU2NvcmUgPSBjb21wdXRlU2NvcmUocGF0dGVybiwge1xuICAgICAgICAgIGVycm9yczogaSxcbiAgICAgICAgICBjdXJyZW50TG9jYXRpb24sXG4gICAgICAgICAgZXhwZWN0ZWRMb2NhdGlvbixcbiAgICAgICAgICBkaXN0YW5jZSxcbiAgICAgICAgICBpZ25vcmVMb2NhdGlvblxuICAgICAgICB9KTtcblxuICAgICAgICAvLyBUaGlzIG1hdGNoIHdpbGwgYWxtb3N0IGNlcnRhaW5seSBiZSBiZXR0ZXIgdGhhbiBhbnkgZXhpc3RpbmcgbWF0Y2guXG4gICAgICAgIC8vIEJ1dCBjaGVjayBhbnl3YXkuXG4gICAgICAgIGlmIChmaW5hbFNjb3JlIDw9IGN1cnJlbnRUaHJlc2hvbGQpIHtcbiAgICAgICAgICAvLyBJbmRlZWQgaXQgaXNcbiAgICAgICAgICBjdXJyZW50VGhyZXNob2xkID0gZmluYWxTY29yZTtcbiAgICAgICAgICBiZXN0TG9jYXRpb24gPSBjdXJyZW50TG9jYXRpb247XG5cbiAgICAgICAgICAvLyBBbHJlYWR5IHBhc3NlZCBgbG9jYCwgZG93bmhpbGwgZnJvbSBoZXJlIG9uIGluLlxuICAgICAgICAgIGlmIChiZXN0TG9jYXRpb24gPD0gZXhwZWN0ZWRMb2NhdGlvbikge1xuICAgICAgICAgICAgYnJlYWtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAvLyBXaGVuIHBhc3NpbmcgYGJlc3RMb2NhdGlvbmAsIGRvbid0IGV4Y2VlZCBvdXIgY3VycmVudCBkaXN0YW5jZSBmcm9tIGBleHBlY3RlZExvY2F0aW9uYC5cbiAgICAgICAgICBzdGFydCA9IE1hdGgubWF4KDEsIDIgKiBleHBlY3RlZExvY2F0aW9uIC0gYmVzdExvY2F0aW9uKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIE5vIGhvcGUgZm9yIGEgKGJldHRlcikgbWF0Y2ggYXQgZ3JlYXRlciBlcnJvciBsZXZlbHMuXG4gICAgY29uc3Qgc2NvcmUgPSBjb21wdXRlU2NvcmUocGF0dGVybiwge1xuICAgICAgZXJyb3JzOiBpICsgMSxcbiAgICAgIGN1cnJlbnRMb2NhdGlvbjogZXhwZWN0ZWRMb2NhdGlvbixcbiAgICAgIGV4cGVjdGVkTG9jYXRpb24sXG4gICAgICBkaXN0YW5jZSxcbiAgICAgIGlnbm9yZUxvY2F0aW9uXG4gICAgfSk7XG5cbiAgICBpZiAoc2NvcmUgPiBjdXJyZW50VGhyZXNob2xkKSB7XG4gICAgICBicmVha1xuICAgIH1cblxuICAgIGxhc3RCaXRBcnIgPSBiaXRBcnI7XG4gIH1cblxuICBjb25zdCByZXN1bHQgPSB7XG4gICAgaXNNYXRjaDogYmVzdExvY2F0aW9uID49IDAsXG4gICAgLy8gQ291bnQgZXhhY3QgbWF0Y2hlcyAodGhvc2Ugd2l0aCBhIHNjb3JlIG9mIDApIHRvIGJlIFwiYWxtb3N0XCIgZXhhY3RcbiAgICBzY29yZTogTWF0aC5tYXgoMC4wMDEsIGZpbmFsU2NvcmUpXG4gIH07XG5cbiAgaWYgKGNvbXB1dGVNYXRjaGVzKSB7XG4gICAgY29uc3QgaW5kaWNlcyA9IGNvbnZlcnRNYXNrVG9JbmRpY2VzKG1hdGNoTWFzaywgbWluTWF0Y2hDaGFyTGVuZ3RoKTtcbiAgICBpZiAoIWluZGljZXMubGVuZ3RoKSB7XG4gICAgICByZXN1bHQuaXNNYXRjaCA9IGZhbHNlO1xuICAgIH0gZWxzZSBpZiAoaW5jbHVkZU1hdGNoZXMpIHtcbiAgICAgIHJlc3VsdC5pbmRpY2VzID0gaW5kaWNlcztcbiAgICB9XG4gIH1cblxuICByZXR1cm4gcmVzdWx0XG59XG5cbmZ1bmN0aW9uIGNyZWF0ZVBhdHRlcm5BbHBoYWJldChwYXR0ZXJuKSB7XG4gIGxldCBtYXNrID0ge307XG5cbiAgZm9yIChsZXQgaSA9IDAsIGxlbiA9IHBhdHRlcm4ubGVuZ3RoOyBpIDwgbGVuOyBpICs9IDEpIHtcbiAgICBjb25zdCBjaGFyID0gcGF0dGVybi5jaGFyQXQoaSk7XG4gICAgbWFza1tjaGFyXSA9IChtYXNrW2NoYXJdIHx8IDApIHwgKDEgPDwgKGxlbiAtIGkgLSAxKSk7XG4gIH1cblxuICByZXR1cm4gbWFza1xufVxuXG5jbGFzcyBCaXRhcFNlYXJjaCB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHBhdHRlcm4sXG4gICAge1xuICAgICAgbG9jYXRpb24gPSBDb25maWcubG9jYXRpb24sXG4gICAgICB0aHJlc2hvbGQgPSBDb25maWcudGhyZXNob2xkLFxuICAgICAgZGlzdGFuY2UgPSBDb25maWcuZGlzdGFuY2UsXG4gICAgICBpbmNsdWRlTWF0Y2hlcyA9IENvbmZpZy5pbmNsdWRlTWF0Y2hlcyxcbiAgICAgIGZpbmRBbGxNYXRjaGVzID0gQ29uZmlnLmZpbmRBbGxNYXRjaGVzLFxuICAgICAgbWluTWF0Y2hDaGFyTGVuZ3RoID0gQ29uZmlnLm1pbk1hdGNoQ2hhckxlbmd0aCxcbiAgICAgIGlzQ2FzZVNlbnNpdGl2ZSA9IENvbmZpZy5pc0Nhc2VTZW5zaXRpdmUsXG4gICAgICBpZ25vcmVMb2NhdGlvbiA9IENvbmZpZy5pZ25vcmVMb2NhdGlvblxuICAgIH0gPSB7fVxuICApIHtcbiAgICB0aGlzLm9wdGlvbnMgPSB7XG4gICAgICBsb2NhdGlvbixcbiAgICAgIHRocmVzaG9sZCxcbiAgICAgIGRpc3RhbmNlLFxuICAgICAgaW5jbHVkZU1hdGNoZXMsXG4gICAgICBmaW5kQWxsTWF0Y2hlcyxcbiAgICAgIG1pbk1hdGNoQ2hhckxlbmd0aCxcbiAgICAgIGlzQ2FzZVNlbnNpdGl2ZSxcbiAgICAgIGlnbm9yZUxvY2F0aW9uXG4gICAgfTtcblxuICAgIHRoaXMucGF0dGVybiA9IGlzQ2FzZVNlbnNpdGl2ZSA/IHBhdHRlcm4gOiBwYXR0ZXJuLnRvTG93ZXJDYXNlKCk7XG5cbiAgICB0aGlzLmNodW5rcyA9IFtdO1xuXG4gICAgaWYgKCF0aGlzLnBhdHRlcm4ubGVuZ3RoKSB7XG4gICAgICByZXR1cm5cbiAgICB9XG5cbiAgICBjb25zdCBhZGRDaHVuayA9IChwYXR0ZXJuLCBzdGFydEluZGV4KSA9PiB7XG4gICAgICB0aGlzLmNodW5rcy5wdXNoKHtcbiAgICAgICAgcGF0dGVybixcbiAgICAgICAgYWxwaGFiZXQ6IGNyZWF0ZVBhdHRlcm5BbHBoYWJldChwYXR0ZXJuKSxcbiAgICAgICAgc3RhcnRJbmRleFxuICAgICAgfSk7XG4gICAgfTtcblxuICAgIGNvbnN0IGxlbiA9IHRoaXMucGF0dGVybi5sZW5ndGg7XG5cbiAgICBpZiAobGVuID4gTUFYX0JJVFMpIHtcbiAgICAgIGxldCBpID0gMDtcbiAgICAgIGNvbnN0IHJlbWFpbmRlciA9IGxlbiAlIE1BWF9CSVRTO1xuICAgICAgY29uc3QgZW5kID0gbGVuIC0gcmVtYWluZGVyO1xuXG4gICAgICB3aGlsZSAoaSA8IGVuZCkge1xuICAgICAgICBhZGRDaHVuayh0aGlzLnBhdHRlcm4uc3Vic3RyKGksIE1BWF9CSVRTKSwgaSk7XG4gICAgICAgIGkgKz0gTUFYX0JJVFM7XG4gICAgICB9XG5cbiAgICAgIGlmIChyZW1haW5kZXIpIHtcbiAgICAgICAgY29uc3Qgc3RhcnRJbmRleCA9IGxlbiAtIE1BWF9CSVRTO1xuICAgICAgICBhZGRDaHVuayh0aGlzLnBhdHRlcm4uc3Vic3RyKHN0YXJ0SW5kZXgpLCBzdGFydEluZGV4KTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgYWRkQ2h1bmsodGhpcy5wYXR0ZXJuLCAwKTtcbiAgICB9XG4gIH1cblxuICBzZWFyY2hJbih0ZXh0KSB7XG4gICAgY29uc3QgeyBpc0Nhc2VTZW5zaXRpdmUsIGluY2x1ZGVNYXRjaGVzIH0gPSB0aGlzLm9wdGlvbnM7XG5cbiAgICBpZiAoIWlzQ2FzZVNlbnNpdGl2ZSkge1xuICAgICAgdGV4dCA9IHRleHQudG9Mb3dlckNhc2UoKTtcbiAgICB9XG5cbiAgICAvLyBFeGFjdCBtYXRjaFxuICAgIGlmICh0aGlzLnBhdHRlcm4gPT09IHRleHQpIHtcbiAgICAgIGxldCByZXN1bHQgPSB7XG4gICAgICAgIGlzTWF0Y2g6IHRydWUsXG4gICAgICAgIHNjb3JlOiAwXG4gICAgICB9O1xuXG4gICAgICBpZiAoaW5jbHVkZU1hdGNoZXMpIHtcbiAgICAgICAgcmVzdWx0LmluZGljZXMgPSBbWzAsIHRleHQubGVuZ3RoIC0gMV1dO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gcmVzdWx0XG4gICAgfVxuXG4gICAgLy8gT3RoZXJ3aXNlLCB1c2UgQml0YXAgYWxnb3JpdGhtXG4gICAgY29uc3Qge1xuICAgICAgbG9jYXRpb24sXG4gICAgICBkaXN0YW5jZSxcbiAgICAgIHRocmVzaG9sZCxcbiAgICAgIGZpbmRBbGxNYXRjaGVzLFxuICAgICAgbWluTWF0Y2hDaGFyTGVuZ3RoLFxuICAgICAgaWdub3JlTG9jYXRpb25cbiAgICB9ID0gdGhpcy5vcHRpb25zO1xuXG4gICAgbGV0IGFsbEluZGljZXMgPSBbXTtcbiAgICBsZXQgdG90YWxTY29yZSA9IDA7XG4gICAgbGV0IGhhc01hdGNoZXMgPSBmYWxzZTtcblxuICAgIHRoaXMuY2h1bmtzLmZvckVhY2goKHsgcGF0dGVybiwgYWxwaGFiZXQsIHN0YXJ0SW5kZXggfSkgPT4ge1xuICAgICAgY29uc3QgeyBpc01hdGNoLCBzY29yZSwgaW5kaWNlcyB9ID0gc2VhcmNoKHRleHQsIHBhdHRlcm4sIGFscGhhYmV0LCB7XG4gICAgICAgIGxvY2F0aW9uOiBsb2NhdGlvbiArIHN0YXJ0SW5kZXgsXG4gICAgICAgIGRpc3RhbmNlLFxuICAgICAgICB0aHJlc2hvbGQsXG4gICAgICAgIGZpbmRBbGxNYXRjaGVzLFxuICAgICAgICBtaW5NYXRjaENoYXJMZW5ndGgsXG4gICAgICAgIGluY2x1ZGVNYXRjaGVzLFxuICAgICAgICBpZ25vcmVMb2NhdGlvblxuICAgICAgfSk7XG5cbiAgICAgIGlmIChpc01hdGNoKSB7XG4gICAgICAgIGhhc01hdGNoZXMgPSB0cnVlO1xuICAgICAgfVxuXG4gICAgICB0b3RhbFNjb3JlICs9IHNjb3JlO1xuXG4gICAgICBpZiAoaXNNYXRjaCAmJiBpbmRpY2VzKSB7XG4gICAgICAgIGFsbEluZGljZXMgPSBbLi4uYWxsSW5kaWNlcywgLi4uaW5kaWNlc107XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICBsZXQgcmVzdWx0ID0ge1xuICAgICAgaXNNYXRjaDogaGFzTWF0Y2hlcyxcbiAgICAgIHNjb3JlOiBoYXNNYXRjaGVzID8gdG90YWxTY29yZSAvIHRoaXMuY2h1bmtzLmxlbmd0aCA6IDFcbiAgICB9O1xuXG4gICAgaWYgKGhhc01hdGNoZXMgJiYgaW5jbHVkZU1hdGNoZXMpIHtcbiAgICAgIHJlc3VsdC5pbmRpY2VzID0gYWxsSW5kaWNlcztcbiAgICB9XG5cbiAgICByZXR1cm4gcmVzdWx0XG4gIH1cbn1cblxuY2xhc3MgQmFzZU1hdGNoIHtcbiAgY29uc3RydWN0b3IocGF0dGVybikge1xuICAgIHRoaXMucGF0dGVybiA9IHBhdHRlcm47XG4gIH1cbiAgc3RhdGljIGlzTXVsdGlNYXRjaChwYXR0ZXJuKSB7XG4gICAgcmV0dXJuIGdldE1hdGNoKHBhdHRlcm4sIHRoaXMubXVsdGlSZWdleClcbiAgfVxuICBzdGF0aWMgaXNTaW5nbGVNYXRjaChwYXR0ZXJuKSB7XG4gICAgcmV0dXJuIGdldE1hdGNoKHBhdHRlcm4sIHRoaXMuc2luZ2xlUmVnZXgpXG4gIH1cbiAgc2VhcmNoKC8qdGV4dCovKSB7fVxufVxuXG5mdW5jdGlvbiBnZXRNYXRjaChwYXR0ZXJuLCBleHApIHtcbiAgY29uc3QgbWF0Y2hlcyA9IHBhdHRlcm4ubWF0Y2goZXhwKTtcbiAgcmV0dXJuIG1hdGNoZXMgPyBtYXRjaGVzWzFdIDogbnVsbFxufVxuXG4vLyBUb2tlbjogJ2ZpbGVcblxuY2xhc3MgRXhhY3RNYXRjaCBleHRlbmRzIEJhc2VNYXRjaCB7XG4gIGNvbnN0cnVjdG9yKHBhdHRlcm4pIHtcbiAgICBzdXBlcihwYXR0ZXJuKTtcbiAgfVxuICBzdGF0aWMgZ2V0IHR5cGUoKSB7XG4gICAgcmV0dXJuICdleGFjdCdcbiAgfVxuICBzdGF0aWMgZ2V0IG11bHRpUmVnZXgoKSB7XG4gICAgcmV0dXJuIC9ePVwiKC4qKVwiJC9cbiAgfVxuICBzdGF0aWMgZ2V0IHNpbmdsZVJlZ2V4KCkge1xuICAgIHJldHVybiAvXj0oLiopJC9cbiAgfVxuICBzZWFyY2godGV4dCkge1xuICAgIGNvbnN0IGlzTWF0Y2ggPSB0ZXh0ID09PSB0aGlzLnBhdHRlcm47XG5cbiAgICByZXR1cm4ge1xuICAgICAgaXNNYXRjaCxcbiAgICAgIHNjb3JlOiBpc01hdGNoID8gMCA6IDEsXG4gICAgICBpbmRpY2VzOiBbMCwgdGhpcy5wYXR0ZXJuLmxlbmd0aCAtIDFdXG4gICAgfVxuICB9XG59XG5cbi8vIFRva2VuOiAhZmlyZVxuXG5jbGFzcyBJbnZlcnNlRXhhY3RNYXRjaCBleHRlbmRzIEJhc2VNYXRjaCB7XG4gIGNvbnN0cnVjdG9yKHBhdHRlcm4pIHtcbiAgICBzdXBlcihwYXR0ZXJuKTtcbiAgfVxuICBzdGF0aWMgZ2V0IHR5cGUoKSB7XG4gICAgcmV0dXJuICdpbnZlcnNlLWV4YWN0J1xuICB9XG4gIHN0YXRpYyBnZXQgbXVsdGlSZWdleCgpIHtcbiAgICByZXR1cm4gL14hXCIoLiopXCIkL1xuICB9XG4gIHN0YXRpYyBnZXQgc2luZ2xlUmVnZXgoKSB7XG4gICAgcmV0dXJuIC9eISguKikkL1xuICB9XG4gIHNlYXJjaCh0ZXh0KSB7XG4gICAgY29uc3QgaW5kZXggPSB0ZXh0LmluZGV4T2YodGhpcy5wYXR0ZXJuKTtcbiAgICBjb25zdCBpc01hdGNoID0gaW5kZXggPT09IC0xO1xuXG4gICAgcmV0dXJuIHtcbiAgICAgIGlzTWF0Y2gsXG4gICAgICBzY29yZTogaXNNYXRjaCA/IDAgOiAxLFxuICAgICAgaW5kaWNlczogWzAsIHRleHQubGVuZ3RoIC0gMV1cbiAgICB9XG4gIH1cbn1cblxuLy8gVG9rZW46IF5maWxlXG5cbmNsYXNzIFByZWZpeEV4YWN0TWF0Y2ggZXh0ZW5kcyBCYXNlTWF0Y2gge1xuICBjb25zdHJ1Y3RvcihwYXR0ZXJuKSB7XG4gICAgc3VwZXIocGF0dGVybik7XG4gIH1cbiAgc3RhdGljIGdldCB0eXBlKCkge1xuICAgIHJldHVybiAncHJlZml4LWV4YWN0J1xuICB9XG4gIHN0YXRpYyBnZXQgbXVsdGlSZWdleCgpIHtcbiAgICByZXR1cm4gL15cXF5cIiguKilcIiQvXG4gIH1cbiAgc3RhdGljIGdldCBzaW5nbGVSZWdleCgpIHtcbiAgICByZXR1cm4gL15cXF4oLiopJC9cbiAgfVxuICBzZWFyY2godGV4dCkge1xuICAgIGNvbnN0IGlzTWF0Y2ggPSB0ZXh0LnN0YXJ0c1dpdGgodGhpcy5wYXR0ZXJuKTtcblxuICAgIHJldHVybiB7XG4gICAgICBpc01hdGNoLFxuICAgICAgc2NvcmU6IGlzTWF0Y2ggPyAwIDogMSxcbiAgICAgIGluZGljZXM6IFswLCB0aGlzLnBhdHRlcm4ubGVuZ3RoIC0gMV1cbiAgICB9XG4gIH1cbn1cblxuLy8gVG9rZW46ICFeZmlyZVxuXG5jbGFzcyBJbnZlcnNlUHJlZml4RXhhY3RNYXRjaCBleHRlbmRzIEJhc2VNYXRjaCB7XG4gIGNvbnN0cnVjdG9yKHBhdHRlcm4pIHtcbiAgICBzdXBlcihwYXR0ZXJuKTtcbiAgfVxuICBzdGF0aWMgZ2V0IHR5cGUoKSB7XG4gICAgcmV0dXJuICdpbnZlcnNlLXByZWZpeC1leGFjdCdcbiAgfVxuICBzdGF0aWMgZ2V0IG11bHRpUmVnZXgoKSB7XG4gICAgcmV0dXJuIC9eIVxcXlwiKC4qKVwiJC9cbiAgfVxuICBzdGF0aWMgZ2V0IHNpbmdsZVJlZ2V4KCkge1xuICAgIHJldHVybiAvXiFcXF4oLiopJC9cbiAgfVxuICBzZWFyY2godGV4dCkge1xuICAgIGNvbnN0IGlzTWF0Y2ggPSAhdGV4dC5zdGFydHNXaXRoKHRoaXMucGF0dGVybik7XG5cbiAgICByZXR1cm4ge1xuICAgICAgaXNNYXRjaCxcbiAgICAgIHNjb3JlOiBpc01hdGNoID8gMCA6IDEsXG4gICAgICBpbmRpY2VzOiBbMCwgdGV4dC5sZW5ndGggLSAxXVxuICAgIH1cbiAgfVxufVxuXG4vLyBUb2tlbjogLmZpbGUkXG5cbmNsYXNzIFN1ZmZpeEV4YWN0TWF0Y2ggZXh0ZW5kcyBCYXNlTWF0Y2gge1xuICBjb25zdHJ1Y3RvcihwYXR0ZXJuKSB7XG4gICAgc3VwZXIocGF0dGVybik7XG4gIH1cbiAgc3RhdGljIGdldCB0eXBlKCkge1xuICAgIHJldHVybiAnc3VmZml4LWV4YWN0J1xuICB9XG4gIHN0YXRpYyBnZXQgbXVsdGlSZWdleCgpIHtcbiAgICByZXR1cm4gL15cIiguKilcIlxcJCQvXG4gIH1cbiAgc3RhdGljIGdldCBzaW5nbGVSZWdleCgpIHtcbiAgICByZXR1cm4gL14oLiopXFwkJC9cbiAgfVxuICBzZWFyY2godGV4dCkge1xuICAgIGNvbnN0IGlzTWF0Y2ggPSB0ZXh0LmVuZHNXaXRoKHRoaXMucGF0dGVybik7XG5cbiAgICByZXR1cm4ge1xuICAgICAgaXNNYXRjaCxcbiAgICAgIHNjb3JlOiBpc01hdGNoID8gMCA6IDEsXG4gICAgICBpbmRpY2VzOiBbdGV4dC5sZW5ndGggLSB0aGlzLnBhdHRlcm4ubGVuZ3RoLCB0ZXh0Lmxlbmd0aCAtIDFdXG4gICAgfVxuICB9XG59XG5cbi8vIFRva2VuOiAhLmZpbGUkXG5cbmNsYXNzIEludmVyc2VTdWZmaXhFeGFjdE1hdGNoIGV4dGVuZHMgQmFzZU1hdGNoIHtcbiAgY29uc3RydWN0b3IocGF0dGVybikge1xuICAgIHN1cGVyKHBhdHRlcm4pO1xuICB9XG4gIHN0YXRpYyBnZXQgdHlwZSgpIHtcbiAgICByZXR1cm4gJ2ludmVyc2Utc3VmZml4LWV4YWN0J1xuICB9XG4gIHN0YXRpYyBnZXQgbXVsdGlSZWdleCgpIHtcbiAgICByZXR1cm4gL14hXCIoLiopXCJcXCQkL1xuICB9XG4gIHN0YXRpYyBnZXQgc2luZ2xlUmVnZXgoKSB7XG4gICAgcmV0dXJuIC9eISguKilcXCQkL1xuICB9XG4gIHNlYXJjaCh0ZXh0KSB7XG4gICAgY29uc3QgaXNNYXRjaCA9ICF0ZXh0LmVuZHNXaXRoKHRoaXMucGF0dGVybik7XG4gICAgcmV0dXJuIHtcbiAgICAgIGlzTWF0Y2gsXG4gICAgICBzY29yZTogaXNNYXRjaCA/IDAgOiAxLFxuICAgICAgaW5kaWNlczogWzAsIHRleHQubGVuZ3RoIC0gMV1cbiAgICB9XG4gIH1cbn1cblxuY2xhc3MgRnV6enlNYXRjaCBleHRlbmRzIEJhc2VNYXRjaCB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHBhdHRlcm4sXG4gICAge1xuICAgICAgbG9jYXRpb24gPSBDb25maWcubG9jYXRpb24sXG4gICAgICB0aHJlc2hvbGQgPSBDb25maWcudGhyZXNob2xkLFxuICAgICAgZGlzdGFuY2UgPSBDb25maWcuZGlzdGFuY2UsXG4gICAgICBpbmNsdWRlTWF0Y2hlcyA9IENvbmZpZy5pbmNsdWRlTWF0Y2hlcyxcbiAgICAgIGZpbmRBbGxNYXRjaGVzID0gQ29uZmlnLmZpbmRBbGxNYXRjaGVzLFxuICAgICAgbWluTWF0Y2hDaGFyTGVuZ3RoID0gQ29uZmlnLm1pbk1hdGNoQ2hhckxlbmd0aCxcbiAgICAgIGlzQ2FzZVNlbnNpdGl2ZSA9IENvbmZpZy5pc0Nhc2VTZW5zaXRpdmUsXG4gICAgICBpZ25vcmVMb2NhdGlvbiA9IENvbmZpZy5pZ25vcmVMb2NhdGlvblxuICAgIH0gPSB7fVxuICApIHtcbiAgICBzdXBlcihwYXR0ZXJuKTtcbiAgICB0aGlzLl9iaXRhcFNlYXJjaCA9IG5ldyBCaXRhcFNlYXJjaChwYXR0ZXJuLCB7XG4gICAgICBsb2NhdGlvbixcbiAgICAgIHRocmVzaG9sZCxcbiAgICAgIGRpc3RhbmNlLFxuICAgICAgaW5jbHVkZU1hdGNoZXMsXG4gICAgICBmaW5kQWxsTWF0Y2hlcyxcbiAgICAgIG1pbk1hdGNoQ2hhckxlbmd0aCxcbiAgICAgIGlzQ2FzZVNlbnNpdGl2ZSxcbiAgICAgIGlnbm9yZUxvY2F0aW9uXG4gICAgfSk7XG4gIH1cbiAgc3RhdGljIGdldCB0eXBlKCkge1xuICAgIHJldHVybiAnZnV6enknXG4gIH1cbiAgc3RhdGljIGdldCBtdWx0aVJlZ2V4KCkge1xuICAgIHJldHVybiAvXlwiKC4qKVwiJC9cbiAgfVxuICBzdGF0aWMgZ2V0IHNpbmdsZVJlZ2V4KCkge1xuICAgIHJldHVybiAvXiguKikkL1xuICB9XG4gIHNlYXJjaCh0ZXh0KSB7XG4gICAgcmV0dXJuIHRoaXMuX2JpdGFwU2VhcmNoLnNlYXJjaEluKHRleHQpXG4gIH1cbn1cblxuLy8gVG9rZW46ICdmaWxlXG5cbmNsYXNzIEluY2x1ZGVNYXRjaCBleHRlbmRzIEJhc2VNYXRjaCB7XG4gIGNvbnN0cnVjdG9yKHBhdHRlcm4pIHtcbiAgICBzdXBlcihwYXR0ZXJuKTtcbiAgfVxuICBzdGF0aWMgZ2V0IHR5cGUoKSB7XG4gICAgcmV0dXJuICdpbmNsdWRlJ1xuICB9XG4gIHN0YXRpYyBnZXQgbXVsdGlSZWdleCgpIHtcbiAgICByZXR1cm4gL14nXCIoLiopXCIkL1xuICB9XG4gIHN0YXRpYyBnZXQgc2luZ2xlUmVnZXgoKSB7XG4gICAgcmV0dXJuIC9eJyguKikkL1xuICB9XG4gIHNlYXJjaCh0ZXh0KSB7XG4gICAgbGV0IGxvY2F0aW9uID0gMDtcbiAgICBsZXQgaW5kZXg7XG5cbiAgICBjb25zdCBpbmRpY2VzID0gW107XG4gICAgY29uc3QgcGF0dGVybkxlbiA9IHRoaXMucGF0dGVybi5sZW5ndGg7XG5cbiAgICAvLyBHZXQgYWxsIGV4YWN0IG1hdGNoZXNcbiAgICB3aGlsZSAoKGluZGV4ID0gdGV4dC5pbmRleE9mKHRoaXMucGF0dGVybiwgbG9jYXRpb24pKSA+IC0xKSB7XG4gICAgICBsb2NhdGlvbiA9IGluZGV4ICsgcGF0dGVybkxlbjtcbiAgICAgIGluZGljZXMucHVzaChbaW5kZXgsIGxvY2F0aW9uIC0gMV0pO1xuICAgIH1cblxuICAgIGNvbnN0IGlzTWF0Y2ggPSAhIWluZGljZXMubGVuZ3RoO1xuXG4gICAgcmV0dXJuIHtcbiAgICAgIGlzTWF0Y2gsXG4gICAgICBzY29yZTogaXNNYXRjaCA/IDAgOiAxLFxuICAgICAgaW5kaWNlc1xuICAgIH1cbiAgfVxufVxuXG4vLyDinZdPcmRlciBpcyBpbXBvcnRhbnQuIERPIE5PVCBDSEFOR0UuXG5jb25zdCBzZWFyY2hlcnMgPSBbXG4gIEV4YWN0TWF0Y2gsXG4gIEluY2x1ZGVNYXRjaCxcbiAgUHJlZml4RXhhY3RNYXRjaCxcbiAgSW52ZXJzZVByZWZpeEV4YWN0TWF0Y2gsXG4gIEludmVyc2VTdWZmaXhFeGFjdE1hdGNoLFxuICBTdWZmaXhFeGFjdE1hdGNoLFxuICBJbnZlcnNlRXhhY3RNYXRjaCxcbiAgRnV6enlNYXRjaFxuXTtcblxuY29uc3Qgc2VhcmNoZXJzTGVuID0gc2VhcmNoZXJzLmxlbmd0aDtcblxuLy8gUmVnZXggdG8gc3BsaXQgYnkgc3BhY2VzLCBidXQga2VlcCBhbnl0aGluZyBpbiBxdW90ZXMgdG9nZXRoZXJcbmNvbnN0IFNQQUNFX1JFID0gLyArKD89KFteXFxcIl0qXFxcIlteXFxcIl0qXFxcIikqW15cXFwiXSokKS87XG5jb25zdCBPUl9UT0tFTiA9ICd8JztcblxuLy8gUmV0dXJuIGEgMkQgYXJyYXkgcmVwcmVzZW50YXRpb24gb2YgdGhlIHF1ZXJ5LCBmb3Igc2ltcGxlciBwYXJzaW5nLlxuLy8gRXhhbXBsZTpcbi8vIFwiXmNvcmUgZ28kIHwgcmIkIHwgcHkkIHh5JFwiID0+IFtbXCJeY29yZVwiLCBcImdvJFwiXSwgW1wicmIkXCJdLCBbXCJweSRcIiwgXCJ4eSRcIl1dXG5mdW5jdGlvbiBwYXJzZVF1ZXJ5KHBhdHRlcm4sIG9wdGlvbnMgPSB7fSkge1xuICByZXR1cm4gcGF0dGVybi5zcGxpdChPUl9UT0tFTikubWFwKChpdGVtKSA9PiB7XG4gICAgbGV0IHF1ZXJ5ID0gaXRlbVxuICAgICAgLnRyaW0oKVxuICAgICAgLnNwbGl0KFNQQUNFX1JFKVxuICAgICAgLmZpbHRlcigoaXRlbSkgPT4gaXRlbSAmJiAhIWl0ZW0udHJpbSgpKTtcblxuICAgIGxldCByZXN1bHRzID0gW107XG4gICAgZm9yIChsZXQgaSA9IDAsIGxlbiA9IHF1ZXJ5Lmxlbmd0aDsgaSA8IGxlbjsgaSArPSAxKSB7XG4gICAgICBjb25zdCBxdWVyeUl0ZW0gPSBxdWVyeVtpXTtcblxuICAgICAgLy8gMS4gSGFuZGxlIG11bHRpcGxlIHF1ZXJ5IG1hdGNoIChpLmUsIG9uY2UgdGhhdCBhcmUgcXVvdGVkLCBsaWtlIGBcImhlbGxvIHdvcmxkXCJgKVxuICAgICAgbGV0IGZvdW5kID0gZmFsc2U7XG4gICAgICBsZXQgaWR4ID0gLTE7XG4gICAgICB3aGlsZSAoIWZvdW5kICYmICsraWR4IDwgc2VhcmNoZXJzTGVuKSB7XG4gICAgICAgIGNvbnN0IHNlYXJjaGVyID0gc2VhcmNoZXJzW2lkeF07XG4gICAgICAgIGxldCB0b2tlbiA9IHNlYXJjaGVyLmlzTXVsdGlNYXRjaChxdWVyeUl0ZW0pO1xuICAgICAgICBpZiAodG9rZW4pIHtcbiAgICAgICAgICByZXN1bHRzLnB1c2gobmV3IHNlYXJjaGVyKHRva2VuLCBvcHRpb25zKSk7XG4gICAgICAgICAgZm91bmQgPSB0cnVlO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGlmIChmb3VuZCkge1xuICAgICAgICBjb250aW51ZVxuICAgICAgfVxuXG4gICAgICAvLyAyLiBIYW5kbGUgc2luZ2xlIHF1ZXJ5IG1hdGNoZXMgKGkuZSwgb25jZSB0aGF0IGFyZSAqbm90KiBxdW90ZWQpXG4gICAgICBpZHggPSAtMTtcbiAgICAgIHdoaWxlICgrK2lkeCA8IHNlYXJjaGVyc0xlbikge1xuICAgICAgICBjb25zdCBzZWFyY2hlciA9IHNlYXJjaGVyc1tpZHhdO1xuICAgICAgICBsZXQgdG9rZW4gPSBzZWFyY2hlci5pc1NpbmdsZU1hdGNoKHF1ZXJ5SXRlbSk7XG4gICAgICAgIGlmICh0b2tlbikge1xuICAgICAgICAgIHJlc3VsdHMucHVzaChuZXcgc2VhcmNoZXIodG9rZW4sIG9wdGlvbnMpKTtcbiAgICAgICAgICBicmVha1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIHJlc3VsdHNcbiAgfSlcbn1cblxuLy8gVGhlc2UgZXh0ZW5kZWQgbWF0Y2hlcnMgY2FuIHJldHVybiBhbiBhcnJheSBvZiBtYXRjaGVzLCBhcyBvcHBvc2VkXG4vLyB0byBhIHNpbmdsIG1hdGNoXG5jb25zdCBNdWx0aU1hdGNoU2V0ID0gbmV3IFNldChbRnV6enlNYXRjaC50eXBlLCBJbmNsdWRlTWF0Y2gudHlwZV0pO1xuXG4vKipcbiAqIENvbW1hbmQtbGlrZSBzZWFyY2hpbmdcbiAqID09PT09PT09PT09PT09PT09PT09PT1cbiAqXG4gKiBHaXZlbiBtdWx0aXBsZSBzZWFyY2ggdGVybXMgZGVsaW1pdGVkIGJ5IHNwYWNlcy5lLmcuIGBeanNjcmlwdCAucHl0aG9uJCBydWJ5ICFqYXZhYCxcbiAqIHNlYXJjaCBpbiBhIGdpdmVuIHRleHQuXG4gKlxuICogU2VhcmNoIHN5bnRheDpcbiAqXG4gKiB8IFRva2VuICAgICAgIHwgTWF0Y2ggdHlwZSAgICAgICAgICAgICAgICAgfCBEZXNjcmlwdGlvbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB8XG4gKiB8IC0tLS0tLS0tLS0tIHwgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gfCAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSB8XG4gKiB8IGBqc2NyaXB0YCAgIHwgZnV6enktbWF0Y2ggICAgICAgICAgICAgICAgfCBJdGVtcyB0aGF0IGZ1enp5IG1hdGNoIGBqc2NyaXB0YCAgICAgICB8XG4gKiB8IGA9c2NoZW1lYCAgIHwgZXhhY3QtbWF0Y2ggICAgICAgICAgICAgICAgfCBJdGVtcyB0aGF0IGFyZSBgc2NoZW1lYCAgICAgICAgICAgICAgICB8XG4gKiB8IGAncHl0aG9uYCAgIHwgaW5jbHVkZS1tYXRjaCAgICAgICAgICAgICAgfCBJdGVtcyB0aGF0IGluY2x1ZGUgYHB5dGhvbmAgICAgICAgICAgICB8XG4gKiB8IGAhcnVieWAgICAgIHwgaW52ZXJzZS1leGFjdC1tYXRjaCAgICAgICAgfCBJdGVtcyB0aGF0IGRvIG5vdCBpbmNsdWRlIGBydWJ5YCAgICAgICB8XG4gKiB8IGBeamF2YWAgICAgIHwgcHJlZml4LWV4YWN0LW1hdGNoICAgICAgICAgfCBJdGVtcyB0aGF0IHN0YXJ0IHdpdGggYGphdmFgICAgICAgICAgICB8XG4gKiB8IGAhXmVhcmxhbmdgIHwgaW52ZXJzZS1wcmVmaXgtZXhhY3QtbWF0Y2ggfCBJdGVtcyB0aGF0IGRvIG5vdCBzdGFydCB3aXRoIGBlYXJsYW5nYCB8XG4gKiB8IGAuanMkYCAgICAgIHwgc3VmZml4LWV4YWN0LW1hdGNoICAgICAgICAgfCBJdGVtcyB0aGF0IGVuZCB3aXRoIGAuanNgICAgICAgICAgICAgICB8XG4gKiB8IGAhLmdvJGAgICAgIHwgaW52ZXJzZS1zdWZmaXgtZXhhY3QtbWF0Y2ggfCBJdGVtcyB0aGF0IGRvIG5vdCBlbmQgd2l0aCBgLmdvYCAgICAgICB8XG4gKlxuICogQSBzaW5nbGUgcGlwZSBjaGFyYWN0ZXIgYWN0cyBhcyBhbiBPUiBvcGVyYXRvci4gRm9yIGV4YW1wbGUsIHRoZSBmb2xsb3dpbmdcbiAqIHF1ZXJ5IG1hdGNoZXMgZW50cmllcyB0aGF0IHN0YXJ0IHdpdGggYGNvcmVgIGFuZCBlbmQgd2l0aCBlaXRoZXJgZ29gLCBgcmJgLFxuICogb3JgcHlgLlxuICpcbiAqIGBgYFxuICogXmNvcmUgZ28kIHwgcmIkIHwgcHkkXG4gKiBgYGBcbiAqL1xuY2xhc3MgRXh0ZW5kZWRTZWFyY2gge1xuICBjb25zdHJ1Y3RvcihcbiAgICBwYXR0ZXJuLFxuICAgIHtcbiAgICAgIGlzQ2FzZVNlbnNpdGl2ZSA9IENvbmZpZy5pc0Nhc2VTZW5zaXRpdmUsXG4gICAgICBpbmNsdWRlTWF0Y2hlcyA9IENvbmZpZy5pbmNsdWRlTWF0Y2hlcyxcbiAgICAgIG1pbk1hdGNoQ2hhckxlbmd0aCA9IENvbmZpZy5taW5NYXRjaENoYXJMZW5ndGgsXG4gICAgICBpZ25vcmVMb2NhdGlvbiA9IENvbmZpZy5pZ25vcmVMb2NhdGlvbixcbiAgICAgIGZpbmRBbGxNYXRjaGVzID0gQ29uZmlnLmZpbmRBbGxNYXRjaGVzLFxuICAgICAgbG9jYXRpb24gPSBDb25maWcubG9jYXRpb24sXG4gICAgICB0aHJlc2hvbGQgPSBDb25maWcudGhyZXNob2xkLFxuICAgICAgZGlzdGFuY2UgPSBDb25maWcuZGlzdGFuY2VcbiAgICB9ID0ge31cbiAgKSB7XG4gICAgdGhpcy5xdWVyeSA9IG51bGw7XG4gICAgdGhpcy5vcHRpb25zID0ge1xuICAgICAgaXNDYXNlU2Vuc2l0aXZlLFxuICAgICAgaW5jbHVkZU1hdGNoZXMsXG4gICAgICBtaW5NYXRjaENoYXJMZW5ndGgsXG4gICAgICBmaW5kQWxsTWF0Y2hlcyxcbiAgICAgIGlnbm9yZUxvY2F0aW9uLFxuICAgICAgbG9jYXRpb24sXG4gICAgICB0aHJlc2hvbGQsXG4gICAgICBkaXN0YW5jZVxuICAgIH07XG5cbiAgICB0aGlzLnBhdHRlcm4gPSBpc0Nhc2VTZW5zaXRpdmUgPyBwYXR0ZXJuIDogcGF0dGVybi50b0xvd2VyQ2FzZSgpO1xuICAgIHRoaXMucXVlcnkgPSBwYXJzZVF1ZXJ5KHRoaXMucGF0dGVybiwgdGhpcy5vcHRpb25zKTtcbiAgfVxuXG4gIHN0YXRpYyBjb25kaXRpb24oXywgb3B0aW9ucykge1xuICAgIHJldHVybiBvcHRpb25zLnVzZUV4dGVuZGVkU2VhcmNoXG4gIH1cblxuICBzZWFyY2hJbih0ZXh0KSB7XG4gICAgY29uc3QgcXVlcnkgPSB0aGlzLnF1ZXJ5O1xuXG4gICAgaWYgKCFxdWVyeSkge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgaXNNYXRjaDogZmFsc2UsXG4gICAgICAgIHNjb3JlOiAxXG4gICAgICB9XG4gICAgfVxuXG4gICAgY29uc3QgeyBpbmNsdWRlTWF0Y2hlcywgaXNDYXNlU2Vuc2l0aXZlIH0gPSB0aGlzLm9wdGlvbnM7XG5cbiAgICB0ZXh0ID0gaXNDYXNlU2Vuc2l0aXZlID8gdGV4dCA6IHRleHQudG9Mb3dlckNhc2UoKTtcblxuICAgIGxldCBudW1NYXRjaGVzID0gMDtcbiAgICBsZXQgYWxsSW5kaWNlcyA9IFtdO1xuICAgIGxldCB0b3RhbFNjb3JlID0gMDtcblxuICAgIC8vIE9Sc1xuICAgIGZvciAobGV0IGkgPSAwLCBxTGVuID0gcXVlcnkubGVuZ3RoOyBpIDwgcUxlbjsgaSArPSAxKSB7XG4gICAgICBjb25zdCBzZWFyY2hlcnMgPSBxdWVyeVtpXTtcblxuICAgICAgLy8gUmVzZXQgaW5kaWNlc1xuICAgICAgYWxsSW5kaWNlcy5sZW5ndGggPSAwO1xuICAgICAgbnVtTWF0Y2hlcyA9IDA7XG5cbiAgICAgIC8vIEFORHNcbiAgICAgIGZvciAobGV0IGogPSAwLCBwTGVuID0gc2VhcmNoZXJzLmxlbmd0aDsgaiA8IHBMZW47IGogKz0gMSkge1xuICAgICAgICBjb25zdCBzZWFyY2hlciA9IHNlYXJjaGVyc1tqXTtcbiAgICAgICAgY29uc3QgeyBpc01hdGNoLCBpbmRpY2VzLCBzY29yZSB9ID0gc2VhcmNoZXIuc2VhcmNoKHRleHQpO1xuXG4gICAgICAgIGlmIChpc01hdGNoKSB7XG4gICAgICAgICAgbnVtTWF0Y2hlcyArPSAxO1xuICAgICAgICAgIHRvdGFsU2NvcmUgKz0gc2NvcmU7XG4gICAgICAgICAgaWYgKGluY2x1ZGVNYXRjaGVzKSB7XG4gICAgICAgICAgICBjb25zdCB0eXBlID0gc2VhcmNoZXIuY29uc3RydWN0b3IudHlwZTtcbiAgICAgICAgICAgIGlmIChNdWx0aU1hdGNoU2V0Lmhhcyh0eXBlKSkge1xuICAgICAgICAgICAgICBhbGxJbmRpY2VzID0gWy4uLmFsbEluZGljZXMsIC4uLmluZGljZXNdO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgYWxsSW5kaWNlcy5wdXNoKGluZGljZXMpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB0b3RhbFNjb3JlID0gMDtcbiAgICAgICAgICBudW1NYXRjaGVzID0gMDtcbiAgICAgICAgICBhbGxJbmRpY2VzLmxlbmd0aCA9IDA7XG4gICAgICAgICAgYnJlYWtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAvLyBPUiBjb25kaXRpb24sIHNvIGlmIFRSVUUsIHJldHVyblxuICAgICAgaWYgKG51bU1hdGNoZXMpIHtcbiAgICAgICAgbGV0IHJlc3VsdCA9IHtcbiAgICAgICAgICBpc01hdGNoOiB0cnVlLFxuICAgICAgICAgIHNjb3JlOiB0b3RhbFNjb3JlIC8gbnVtTWF0Y2hlc1xuICAgICAgICB9O1xuXG4gICAgICAgIGlmIChpbmNsdWRlTWF0Y2hlcykge1xuICAgICAgICAgIHJlc3VsdC5pbmRpY2VzID0gYWxsSW5kaWNlcztcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiByZXN1bHRcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBOb3RoaW5nIHdhcyBtYXRjaGVkXG4gICAgcmV0dXJuIHtcbiAgICAgIGlzTWF0Y2g6IGZhbHNlLFxuICAgICAgc2NvcmU6IDFcbiAgICB9XG4gIH1cbn1cblxuY29uc3QgcmVnaXN0ZXJlZFNlYXJjaGVycyA9IFtdO1xuXG5mdW5jdGlvbiByZWdpc3RlciguLi5hcmdzKSB7XG4gIHJlZ2lzdGVyZWRTZWFyY2hlcnMucHVzaCguLi5hcmdzKTtcbn1cblxuZnVuY3Rpb24gY3JlYXRlU2VhcmNoZXIocGF0dGVybiwgb3B0aW9ucykge1xuICBmb3IgKGxldCBpID0gMCwgbGVuID0gcmVnaXN0ZXJlZFNlYXJjaGVycy5sZW5ndGg7IGkgPCBsZW47IGkgKz0gMSkge1xuICAgIGxldCBzZWFyY2hlckNsYXNzID0gcmVnaXN0ZXJlZFNlYXJjaGVyc1tpXTtcbiAgICBpZiAoc2VhcmNoZXJDbGFzcy5jb25kaXRpb24ocGF0dGVybiwgb3B0aW9ucykpIHtcbiAgICAgIHJldHVybiBuZXcgc2VhcmNoZXJDbGFzcyhwYXR0ZXJuLCBvcHRpb25zKVxuICAgIH1cbiAgfVxuXG4gIHJldHVybiBuZXcgQml0YXBTZWFyY2gocGF0dGVybiwgb3B0aW9ucylcbn1cblxuY29uc3QgTG9naWNhbE9wZXJhdG9yID0ge1xuICBBTkQ6ICckYW5kJyxcbiAgT1I6ICckb3InXG59O1xuXG5jb25zdCBLZXlUeXBlID0ge1xuICBQQVRIOiAnJHBhdGgnLFxuICBQQVRURVJOOiAnJHZhbCdcbn07XG5cbmNvbnN0IGlzRXhwcmVzc2lvbiA9IChxdWVyeSkgPT5cbiAgISEocXVlcnlbTG9naWNhbE9wZXJhdG9yLkFORF0gfHwgcXVlcnlbTG9naWNhbE9wZXJhdG9yLk9SXSk7XG5cbmNvbnN0IGlzUGF0aCA9IChxdWVyeSkgPT4gISFxdWVyeVtLZXlUeXBlLlBBVEhdO1xuXG5jb25zdCBpc0xlYWYgPSAocXVlcnkpID0+XG4gICFpc0FycmF5KHF1ZXJ5KSAmJiBpc09iamVjdChxdWVyeSkgJiYgIWlzRXhwcmVzc2lvbihxdWVyeSk7XG5cbmNvbnN0IGNvbnZlcnRUb0V4cGxpY2l0ID0gKHF1ZXJ5KSA9PiAoe1xuICBbTG9naWNhbE9wZXJhdG9yLkFORF06IE9iamVjdC5rZXlzKHF1ZXJ5KS5tYXAoKGtleSkgPT4gKHtcbiAgICBba2V5XTogcXVlcnlba2V5XVxuICB9KSlcbn0pO1xuXG4vLyBXaGVuIGBhdXRvYCBpcyBgdHJ1ZWAsIHRoZSBwYXJzZSBmdW5jdGlvbiB3aWxsIGluZmVyIGFuZCBpbml0aWFsaXplIGFuZCBhZGRcbi8vIHRoZSBhcHByb3ByaWF0ZSBgU2VhcmNoZXJgIGluc3RhbmNlXG5mdW5jdGlvbiBwYXJzZShxdWVyeSwgb3B0aW9ucywgeyBhdXRvID0gdHJ1ZSB9ID0ge30pIHtcbiAgY29uc3QgbmV4dCA9IChxdWVyeSkgPT4ge1xuICAgIGxldCBrZXlzID0gT2JqZWN0LmtleXMocXVlcnkpO1xuXG4gICAgY29uc3QgaXNRdWVyeVBhdGggPSBpc1BhdGgocXVlcnkpO1xuXG4gICAgaWYgKCFpc1F1ZXJ5UGF0aCAmJiBrZXlzLmxlbmd0aCA+IDEgJiYgIWlzRXhwcmVzc2lvbihxdWVyeSkpIHtcbiAgICAgIHJldHVybiBuZXh0KGNvbnZlcnRUb0V4cGxpY2l0KHF1ZXJ5KSlcbiAgICB9XG5cbiAgICBpZiAoaXNMZWFmKHF1ZXJ5KSkge1xuICAgICAgY29uc3Qga2V5ID0gaXNRdWVyeVBhdGggPyBxdWVyeVtLZXlUeXBlLlBBVEhdIDoga2V5c1swXTtcblxuICAgICAgY29uc3QgcGF0dGVybiA9IGlzUXVlcnlQYXRoID8gcXVlcnlbS2V5VHlwZS5QQVRURVJOXSA6IHF1ZXJ5W2tleV07XG5cbiAgICAgIGlmICghaXNTdHJpbmcocGF0dGVybikpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKExPR0lDQUxfU0VBUkNIX0lOVkFMSURfUVVFUllfRk9SX0tFWShrZXkpKVxuICAgICAgfVxuXG4gICAgICBjb25zdCBvYmogPSB7XG4gICAgICAgIGtleUlkOiBjcmVhdGVLZXlJZChrZXkpLFxuICAgICAgICBwYXR0ZXJuXG4gICAgICB9O1xuXG4gICAgICBpZiAoYXV0bykge1xuICAgICAgICBvYmouc2VhcmNoZXIgPSBjcmVhdGVTZWFyY2hlcihwYXR0ZXJuLCBvcHRpb25zKTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIG9ialxuICAgIH1cblxuICAgIGxldCBub2RlID0ge1xuICAgICAgY2hpbGRyZW46IFtdLFxuICAgICAgb3BlcmF0b3I6IGtleXNbMF1cbiAgICB9O1xuXG4gICAga2V5cy5mb3JFYWNoKChrZXkpID0+IHtcbiAgICAgIGNvbnN0IHZhbHVlID0gcXVlcnlba2V5XTtcblxuICAgICAgaWYgKGlzQXJyYXkodmFsdWUpKSB7XG4gICAgICAgIHZhbHVlLmZvckVhY2goKGl0ZW0pID0+IHtcbiAgICAgICAgICBub2RlLmNoaWxkcmVuLnB1c2gobmV4dChpdGVtKSk7XG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgcmV0dXJuIG5vZGVcbiAgfTtcblxuICBpZiAoIWlzRXhwcmVzc2lvbihxdWVyeSkpIHtcbiAgICBxdWVyeSA9IGNvbnZlcnRUb0V4cGxpY2l0KHF1ZXJ5KTtcbiAgfVxuXG4gIHJldHVybiBuZXh0KHF1ZXJ5KVxufVxuXG4vLyBQcmFjdGljYWwgc2NvcmluZyBmdW5jdGlvblxuZnVuY3Rpb24gY29tcHV0ZVNjb3JlJDEoXG4gIHJlc3VsdHMsXG4gIHsgaWdub3JlRmllbGROb3JtID0gQ29uZmlnLmlnbm9yZUZpZWxkTm9ybSB9XG4pIHtcbiAgcmVzdWx0cy5mb3JFYWNoKChyZXN1bHQpID0+IHtcbiAgICBsZXQgdG90YWxTY29yZSA9IDE7XG5cbiAgICByZXN1bHQubWF0Y2hlcy5mb3JFYWNoKCh7IGtleSwgbm9ybSwgc2NvcmUgfSkgPT4ge1xuICAgICAgY29uc3Qgd2VpZ2h0ID0ga2V5ID8ga2V5LndlaWdodCA6IG51bGw7XG5cbiAgICAgIHRvdGFsU2NvcmUgKj0gTWF0aC5wb3coXG4gICAgICAgIHNjb3JlID09PSAwICYmIHdlaWdodCA/IE51bWJlci5FUFNJTE9OIDogc2NvcmUsXG4gICAgICAgICh3ZWlnaHQgfHwgMSkgKiAoaWdub3JlRmllbGROb3JtID8gMSA6IG5vcm0pXG4gICAgICApO1xuICAgIH0pO1xuXG4gICAgcmVzdWx0LnNjb3JlID0gdG90YWxTY29yZTtcbiAgfSk7XG59XG5cbmZ1bmN0aW9uIHRyYW5zZm9ybU1hdGNoZXMocmVzdWx0LCBkYXRhKSB7XG4gIGNvbnN0IG1hdGNoZXMgPSByZXN1bHQubWF0Y2hlcztcbiAgZGF0YS5tYXRjaGVzID0gW107XG5cbiAgaWYgKCFpc0RlZmluZWQobWF0Y2hlcykpIHtcbiAgICByZXR1cm5cbiAgfVxuXG4gIG1hdGNoZXMuZm9yRWFjaCgobWF0Y2gpID0+IHtcbiAgICBpZiAoIWlzRGVmaW5lZChtYXRjaC5pbmRpY2VzKSB8fCAhbWF0Y2guaW5kaWNlcy5sZW5ndGgpIHtcbiAgICAgIHJldHVyblxuICAgIH1cblxuICAgIGNvbnN0IHsgaW5kaWNlcywgdmFsdWUgfSA9IG1hdGNoO1xuXG4gICAgbGV0IG9iaiA9IHtcbiAgICAgIGluZGljZXMsXG4gICAgICB2YWx1ZVxuICAgIH07XG5cbiAgICBpZiAobWF0Y2gua2V5KSB7XG4gICAgICBvYmoua2V5ID0gbWF0Y2gua2V5LnNyYztcbiAgICB9XG5cbiAgICBpZiAobWF0Y2guaWR4ID4gLTEpIHtcbiAgICAgIG9iai5yZWZJbmRleCA9IG1hdGNoLmlkeDtcbiAgICB9XG5cbiAgICBkYXRhLm1hdGNoZXMucHVzaChvYmopO1xuICB9KTtcbn1cblxuZnVuY3Rpb24gdHJhbnNmb3JtU2NvcmUocmVzdWx0LCBkYXRhKSB7XG4gIGRhdGEuc2NvcmUgPSByZXN1bHQuc2NvcmU7XG59XG5cbmZ1bmN0aW9uIGZvcm1hdChcbiAgcmVzdWx0cyxcbiAgZG9jcyxcbiAge1xuICAgIGluY2x1ZGVNYXRjaGVzID0gQ29uZmlnLmluY2x1ZGVNYXRjaGVzLFxuICAgIGluY2x1ZGVTY29yZSA9IENvbmZpZy5pbmNsdWRlU2NvcmVcbiAgfSA9IHt9XG4pIHtcbiAgY29uc3QgdHJhbnNmb3JtZXJzID0gW107XG5cbiAgaWYgKGluY2x1ZGVNYXRjaGVzKSB0cmFuc2Zvcm1lcnMucHVzaCh0cmFuc2Zvcm1NYXRjaGVzKTtcbiAgaWYgKGluY2x1ZGVTY29yZSkgdHJhbnNmb3JtZXJzLnB1c2godHJhbnNmb3JtU2NvcmUpO1xuXG4gIHJldHVybiByZXN1bHRzLm1hcCgocmVzdWx0KSA9PiB7XG4gICAgY29uc3QgeyBpZHggfSA9IHJlc3VsdDtcblxuICAgIGNvbnN0IGRhdGEgPSB7XG4gICAgICBpdGVtOiBkb2NzW2lkeF0sXG4gICAgICByZWZJbmRleDogaWR4XG4gICAgfTtcblxuICAgIGlmICh0cmFuc2Zvcm1lcnMubGVuZ3RoKSB7XG4gICAgICB0cmFuc2Zvcm1lcnMuZm9yRWFjaCgodHJhbnNmb3JtZXIpID0+IHtcbiAgICAgICAgdHJhbnNmb3JtZXIocmVzdWx0LCBkYXRhKTtcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIHJldHVybiBkYXRhXG4gIH0pXG59XG5cbmNsYXNzIEZ1c2Uge1xuICBjb25zdHJ1Y3Rvcihkb2NzLCBvcHRpb25zID0ge30sIGluZGV4KSB7XG4gICAgdGhpcy5vcHRpb25zID0geyAuLi5Db25maWcsIC4uLm9wdGlvbnMgfTtcblxuICAgIGlmIChcbiAgICAgIHRoaXMub3B0aW9ucy51c2VFeHRlbmRlZFNlYXJjaCAmJlxuICAgICAgIXRydWVcbiAgICApIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihFWFRFTkRFRF9TRUFSQ0hfVU5BVkFJTEFCTEUpXG4gICAgfVxuXG4gICAgdGhpcy5fa2V5U3RvcmUgPSBuZXcgS2V5U3RvcmUodGhpcy5vcHRpb25zLmtleXMpO1xuXG4gICAgdGhpcy5zZXRDb2xsZWN0aW9uKGRvY3MsIGluZGV4KTtcbiAgfVxuXG4gIHNldENvbGxlY3Rpb24oZG9jcywgaW5kZXgpIHtcbiAgICB0aGlzLl9kb2NzID0gZG9jcztcblxuICAgIGlmIChpbmRleCAmJiAhKGluZGV4IGluc3RhbmNlb2YgRnVzZUluZGV4KSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKElOQ09SUkVDVF9JTkRFWF9UWVBFKVxuICAgIH1cblxuICAgIHRoaXMuX215SW5kZXggPVxuICAgICAgaW5kZXggfHxcbiAgICAgIGNyZWF0ZUluZGV4KHRoaXMub3B0aW9ucy5rZXlzLCB0aGlzLl9kb2NzLCB7XG4gICAgICAgIGdldEZuOiB0aGlzLm9wdGlvbnMuZ2V0Rm5cbiAgICAgIH0pO1xuICB9XG5cbiAgYWRkKGRvYykge1xuICAgIGlmICghaXNEZWZpbmVkKGRvYykpIHtcbiAgICAgIHJldHVyblxuICAgIH1cblxuICAgIHRoaXMuX2RvY3MucHVzaChkb2MpO1xuICAgIHRoaXMuX215SW5kZXguYWRkKGRvYyk7XG4gIH1cblxuICByZW1vdmUocHJlZGljYXRlID0gKC8qIGRvYywgaWR4ICovKSA9PiBmYWxzZSkge1xuICAgIGNvbnN0IHJlc3VsdHMgPSBbXTtcblxuICAgIGZvciAobGV0IGkgPSAwLCBsZW4gPSB0aGlzLl9kb2NzLmxlbmd0aDsgaSA8IGxlbjsgaSArPSAxKSB7XG4gICAgICBjb25zdCBkb2MgPSB0aGlzLl9kb2NzW2ldO1xuICAgICAgaWYgKHByZWRpY2F0ZShkb2MsIGkpKSB7XG4gICAgICAgIHRoaXMucmVtb3ZlQXQoaSk7XG4gICAgICAgIGkgLT0gMTtcbiAgICAgICAgbGVuIC09IDE7XG5cbiAgICAgICAgcmVzdWx0cy5wdXNoKGRvYyk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIHJlc3VsdHNcbiAgfVxuXG4gIHJlbW92ZUF0KGlkeCkge1xuICAgIHRoaXMuX2RvY3Muc3BsaWNlKGlkeCwgMSk7XG4gICAgdGhpcy5fbXlJbmRleC5yZW1vdmVBdChpZHgpO1xuICB9XG5cbiAgZ2V0SW5kZXgoKSB7XG4gICAgcmV0dXJuIHRoaXMuX215SW5kZXhcbiAgfVxuXG4gIHNlYXJjaChxdWVyeSwgeyBsaW1pdCA9IC0xIH0gPSB7fSkge1xuICAgIGNvbnN0IHtcbiAgICAgIGluY2x1ZGVNYXRjaGVzLFxuICAgICAgaW5jbHVkZVNjb3JlLFxuICAgICAgc2hvdWxkU29ydCxcbiAgICAgIHNvcnRGbixcbiAgICAgIGlnbm9yZUZpZWxkTm9ybVxuICAgIH0gPSB0aGlzLm9wdGlvbnM7XG5cbiAgICBsZXQgcmVzdWx0cyA9IGlzU3RyaW5nKHF1ZXJ5KVxuICAgICAgPyBpc1N0cmluZyh0aGlzLl9kb2NzWzBdKVxuICAgICAgICA/IHRoaXMuX3NlYXJjaFN0cmluZ0xpc3QocXVlcnkpXG4gICAgICAgIDogdGhpcy5fc2VhcmNoT2JqZWN0TGlzdChxdWVyeSlcbiAgICAgIDogdGhpcy5fc2VhcmNoTG9naWNhbChxdWVyeSk7XG5cbiAgICBjb21wdXRlU2NvcmUkMShyZXN1bHRzLCB7IGlnbm9yZUZpZWxkTm9ybSB9KTtcblxuICAgIGlmIChzaG91bGRTb3J0KSB7XG4gICAgICByZXN1bHRzLnNvcnQoc29ydEZuKTtcbiAgICB9XG5cbiAgICBpZiAoaXNOdW1iZXIobGltaXQpICYmIGxpbWl0ID4gLTEpIHtcbiAgICAgIHJlc3VsdHMgPSByZXN1bHRzLnNsaWNlKDAsIGxpbWl0KTtcbiAgICB9XG5cbiAgICByZXR1cm4gZm9ybWF0KHJlc3VsdHMsIHRoaXMuX2RvY3MsIHtcbiAgICAgIGluY2x1ZGVNYXRjaGVzLFxuICAgICAgaW5jbHVkZVNjb3JlXG4gICAgfSlcbiAgfVxuXG4gIF9zZWFyY2hTdHJpbmdMaXN0KHF1ZXJ5KSB7XG4gICAgY29uc3Qgc2VhcmNoZXIgPSBjcmVhdGVTZWFyY2hlcihxdWVyeSwgdGhpcy5vcHRpb25zKTtcbiAgICBjb25zdCB7IHJlY29yZHMgfSA9IHRoaXMuX215SW5kZXg7XG4gICAgY29uc3QgcmVzdWx0cyA9IFtdO1xuXG4gICAgLy8gSXRlcmF0ZSBvdmVyIGV2ZXJ5IHN0cmluZyBpbiB0aGUgaW5kZXhcbiAgICByZWNvcmRzLmZvckVhY2goKHsgdjogdGV4dCwgaTogaWR4LCBuOiBub3JtIH0pID0+IHtcbiAgICAgIGlmICghaXNEZWZpbmVkKHRleHQpKSB7XG4gICAgICAgIHJldHVyblxuICAgICAgfVxuXG4gICAgICBjb25zdCB7IGlzTWF0Y2gsIHNjb3JlLCBpbmRpY2VzIH0gPSBzZWFyY2hlci5zZWFyY2hJbih0ZXh0KTtcblxuICAgICAgaWYgKGlzTWF0Y2gpIHtcbiAgICAgICAgcmVzdWx0cy5wdXNoKHtcbiAgICAgICAgICBpdGVtOiB0ZXh0LFxuICAgICAgICAgIGlkeCxcbiAgICAgICAgICBtYXRjaGVzOiBbeyBzY29yZSwgdmFsdWU6IHRleHQsIG5vcm0sIGluZGljZXMgfV1cbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICByZXR1cm4gcmVzdWx0c1xuICB9XG5cbiAgX3NlYXJjaExvZ2ljYWwocXVlcnkpIHtcblxuICAgIGNvbnN0IGV4cHJlc3Npb24gPSBwYXJzZShxdWVyeSwgdGhpcy5vcHRpb25zKTtcblxuICAgIGNvbnN0IGV2YWx1YXRlID0gKG5vZGUsIGl0ZW0sIGlkeCkgPT4ge1xuICAgICAgaWYgKCFub2RlLmNoaWxkcmVuKSB7XG4gICAgICAgIGNvbnN0IHsga2V5SWQsIHNlYXJjaGVyIH0gPSBub2RlO1xuXG4gICAgICAgIGNvbnN0IG1hdGNoZXMgPSB0aGlzLl9maW5kTWF0Y2hlcyh7XG4gICAgICAgICAga2V5OiB0aGlzLl9rZXlTdG9yZS5nZXQoa2V5SWQpLFxuICAgICAgICAgIHZhbHVlOiB0aGlzLl9teUluZGV4LmdldFZhbHVlRm9ySXRlbUF0S2V5SWQoaXRlbSwga2V5SWQpLFxuICAgICAgICAgIHNlYXJjaGVyXG4gICAgICAgIH0pO1xuXG4gICAgICAgIGlmIChtYXRjaGVzICYmIG1hdGNoZXMubGVuZ3RoKSB7XG4gICAgICAgICAgcmV0dXJuIFtcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgaWR4LFxuICAgICAgICAgICAgICBpdGVtLFxuICAgICAgICAgICAgICBtYXRjaGVzXG4gICAgICAgICAgICB9XG4gICAgICAgICAgXVxuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIFtdXG4gICAgICB9XG5cbiAgICAgIC8qZXNsaW50IGluZGVudDogWzIsIDIsIHtcIlN3aXRjaENhc2VcIjogMX1dKi9cbiAgICAgIHN3aXRjaCAobm9kZS5vcGVyYXRvcikge1xuICAgICAgICBjYXNlIExvZ2ljYWxPcGVyYXRvci5BTkQ6IHtcbiAgICAgICAgICBjb25zdCByZXMgPSBbXTtcbiAgICAgICAgICBmb3IgKGxldCBpID0gMCwgbGVuID0gbm9kZS5jaGlsZHJlbi5sZW5ndGg7IGkgPCBsZW47IGkgKz0gMSkge1xuICAgICAgICAgICAgY29uc3QgY2hpbGQgPSBub2RlLmNoaWxkcmVuW2ldO1xuICAgICAgICAgICAgY29uc3QgcmVzdWx0ID0gZXZhbHVhdGUoY2hpbGQsIGl0ZW0sIGlkeCk7XG4gICAgICAgICAgICBpZiAocmVzdWx0Lmxlbmd0aCkge1xuICAgICAgICAgICAgICByZXMucHVzaCguLi5yZXN1bHQpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgcmV0dXJuIFtdXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICAgIHJldHVybiByZXNcbiAgICAgICAgfVxuICAgICAgICBjYXNlIExvZ2ljYWxPcGVyYXRvci5PUjoge1xuICAgICAgICAgIGNvbnN0IHJlcyA9IFtdO1xuICAgICAgICAgIGZvciAobGV0IGkgPSAwLCBsZW4gPSBub2RlLmNoaWxkcmVuLmxlbmd0aDsgaSA8IGxlbjsgaSArPSAxKSB7XG4gICAgICAgICAgICBjb25zdCBjaGlsZCA9IG5vZGUuY2hpbGRyZW5baV07XG4gICAgICAgICAgICBjb25zdCByZXN1bHQgPSBldmFsdWF0ZShjaGlsZCwgaXRlbSwgaWR4KTtcbiAgICAgICAgICAgIGlmIChyZXN1bHQubGVuZ3RoKSB7XG4gICAgICAgICAgICAgIHJlcy5wdXNoKC4uLnJlc3VsdCk7XG4gICAgICAgICAgICAgIGJyZWFrXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICAgIHJldHVybiByZXNcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH07XG5cbiAgICBjb25zdCByZWNvcmRzID0gdGhpcy5fbXlJbmRleC5yZWNvcmRzO1xuICAgIGNvbnN0IHJlc3VsdE1hcCA9IHt9O1xuICAgIGNvbnN0IHJlc3VsdHMgPSBbXTtcblxuICAgIHJlY29yZHMuZm9yRWFjaCgoeyAkOiBpdGVtLCBpOiBpZHggfSkgPT4ge1xuICAgICAgaWYgKGlzRGVmaW5lZChpdGVtKSkge1xuICAgICAgICBsZXQgZXhwUmVzdWx0cyA9IGV2YWx1YXRlKGV4cHJlc3Npb24sIGl0ZW0sIGlkeCk7XG5cbiAgICAgICAgaWYgKGV4cFJlc3VsdHMubGVuZ3RoKSB7XG4gICAgICAgICAgLy8gRGVkdXBlIHdoZW4gYWRkaW5nXG4gICAgICAgICAgaWYgKCFyZXN1bHRNYXBbaWR4XSkge1xuICAgICAgICAgICAgcmVzdWx0TWFwW2lkeF0gPSB7IGlkeCwgaXRlbSwgbWF0Y2hlczogW10gfTtcbiAgICAgICAgICAgIHJlc3VsdHMucHVzaChyZXN1bHRNYXBbaWR4XSk7XG4gICAgICAgICAgfVxuICAgICAgICAgIGV4cFJlc3VsdHMuZm9yRWFjaCgoeyBtYXRjaGVzIH0pID0+IHtcbiAgICAgICAgICAgIHJlc3VsdE1hcFtpZHhdLm1hdGNoZXMucHVzaCguLi5tYXRjaGVzKTtcbiAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0pO1xuXG4gICAgcmV0dXJuIHJlc3VsdHNcbiAgfVxuXG4gIF9zZWFyY2hPYmplY3RMaXN0KHF1ZXJ5KSB7XG4gICAgY29uc3Qgc2VhcmNoZXIgPSBjcmVhdGVTZWFyY2hlcihxdWVyeSwgdGhpcy5vcHRpb25zKTtcbiAgICBjb25zdCB7IGtleXMsIHJlY29yZHMgfSA9IHRoaXMuX215SW5kZXg7XG4gICAgY29uc3QgcmVzdWx0cyA9IFtdO1xuXG4gICAgLy8gTGlzdCBpcyBBcnJheTxPYmplY3Q+XG4gICAgcmVjb3Jkcy5mb3JFYWNoKCh7ICQ6IGl0ZW0sIGk6IGlkeCB9KSA9PiB7XG4gICAgICBpZiAoIWlzRGVmaW5lZChpdGVtKSkge1xuICAgICAgICByZXR1cm5cbiAgICAgIH1cblxuICAgICAgbGV0IG1hdGNoZXMgPSBbXTtcblxuICAgICAgLy8gSXRlcmF0ZSBvdmVyIGV2ZXJ5IGtleSAoaS5lLCBwYXRoKSwgYW5kIGZldGNoIHRoZSB2YWx1ZSBhdCB0aGF0IGtleVxuICAgICAga2V5cy5mb3JFYWNoKChrZXksIGtleUluZGV4KSA9PiB7XG4gICAgICAgIG1hdGNoZXMucHVzaChcbiAgICAgICAgICAuLi50aGlzLl9maW5kTWF0Y2hlcyh7XG4gICAgICAgICAgICBrZXksXG4gICAgICAgICAgICB2YWx1ZTogaXRlbVtrZXlJbmRleF0sXG4gICAgICAgICAgICBzZWFyY2hlclxuICAgICAgICAgIH0pXG4gICAgICAgICk7XG4gICAgICB9KTtcblxuICAgICAgaWYgKG1hdGNoZXMubGVuZ3RoKSB7XG4gICAgICAgIHJlc3VsdHMucHVzaCh7XG4gICAgICAgICAgaWR4LFxuICAgICAgICAgIGl0ZW0sXG4gICAgICAgICAgbWF0Y2hlc1xuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIHJldHVybiByZXN1bHRzXG4gIH1cbiAgX2ZpbmRNYXRjaGVzKHsga2V5LCB2YWx1ZSwgc2VhcmNoZXIgfSkge1xuICAgIGlmICghaXNEZWZpbmVkKHZhbHVlKSkge1xuICAgICAgcmV0dXJuIFtdXG4gICAgfVxuXG4gICAgbGV0IG1hdGNoZXMgPSBbXTtcblxuICAgIGlmIChpc0FycmF5KHZhbHVlKSkge1xuICAgICAgdmFsdWUuZm9yRWFjaCgoeyB2OiB0ZXh0LCBpOiBpZHgsIG46IG5vcm0gfSkgPT4ge1xuICAgICAgICBpZiAoIWlzRGVmaW5lZCh0ZXh0KSkge1xuICAgICAgICAgIHJldHVyblxuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgeyBpc01hdGNoLCBzY29yZSwgaW5kaWNlcyB9ID0gc2VhcmNoZXIuc2VhcmNoSW4odGV4dCk7XG5cbiAgICAgICAgaWYgKGlzTWF0Y2gpIHtcbiAgICAgICAgICBtYXRjaGVzLnB1c2goe1xuICAgICAgICAgICAgc2NvcmUsXG4gICAgICAgICAgICBrZXksXG4gICAgICAgICAgICB2YWx1ZTogdGV4dCxcbiAgICAgICAgICAgIGlkeCxcbiAgICAgICAgICAgIG5vcm0sXG4gICAgICAgICAgICBpbmRpY2VzXG4gICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCB7IHY6IHRleHQsIG46IG5vcm0gfSA9IHZhbHVlO1xuXG4gICAgICBjb25zdCB7IGlzTWF0Y2gsIHNjb3JlLCBpbmRpY2VzIH0gPSBzZWFyY2hlci5zZWFyY2hJbih0ZXh0KTtcblxuICAgICAgaWYgKGlzTWF0Y2gpIHtcbiAgICAgICAgbWF0Y2hlcy5wdXNoKHsgc2NvcmUsIGtleSwgdmFsdWU6IHRleHQsIG5vcm0sIGluZGljZXMgfSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIG1hdGNoZXNcbiAgfVxufVxuXG5GdXNlLnZlcnNpb24gPSAnNi40LjYnO1xuRnVzZS5jcmVhdGVJbmRleCA9IGNyZWF0ZUluZGV4O1xuRnVzZS5wYXJzZUluZGV4ID0gcGFyc2VJbmRleDtcbkZ1c2UuY29uZmlnID0gQ29uZmlnO1xuXG57XG4gIEZ1c2UucGFyc2VRdWVyeSA9IHBhcnNlO1xufVxuXG57XG4gIHJlZ2lzdGVyKEV4dGVuZGVkU2VhcmNoKTtcbn1cblxuZXhwb3J0IGRlZmF1bHQgRnVzZTtcbiIsImltcG9ydCBGdXNlIGZyb20gJ2Z1c2UuanMnXG5cbmNvbnN0IHVzZUNvbW1hbmRzID0gKGNvbW1hbmRzLCBwcmVjaXNpb24gPSAwLjQpID0+IHtcblx0Y29tbWFuZHMgPSAhIWNvbW1hbmRzXG5cdFx0PyBPYmplY3QuZW50cmllcyhjb21tYW5kcyk/LnJlZHVjZSgoYWNjLCBba2V5LCB2YWx1ZV0pID0+ICh7IFtrZXkudG9Mb3dlckNhc2UoKV06IHZhbHVlIH0pLCB7fSlcblx0XHQ6IHt9XG5cblx0Y29uc3QgdHJpZ2dlckNvbW1hbmQgPSAoaW5wdXQpID0+IHtcblx0XHRjb25zdCBmdXNlID0gbmV3IEZ1c2UoT2JqZWN0LmtleXMoY29tbWFuZHMpLCB7IGluY2x1ZGVTY29yZTogdHJ1ZSwgaWdub3JlTG9jYXRpb246IHRydWUgfSlcblx0XHRjb25zdCByZXN1bHQgPSBmdXNlLnNlYXJjaChpbnB1dCkuZmlsdGVyKChyKSA9PiByLnNjb3JlIDwgcHJlY2lzaW9uKVxuXHRcdGlmICghIXJlc3VsdD8ubGVuZ3RoKSB7XG5cdFx0XHRjb25zdCBrZXkgPSByZXN1bHRbMF0uaXRlbS50b0xvd2VyQ2FzZSgpXG5cdFx0XHRyZXR1cm4gY29tbWFuZHNba2V5XT8uKGlucHV0KVxuXHRcdH1cblx0XHRyZXR1cm4gbnVsbFxuXHR9XG5cblx0cmV0dXJuIHRyaWdnZXJDb21tYW5kXG59XG5cbmV4cG9ydCBkZWZhdWx0IHVzZUNvbW1hbmRzXG4iLCJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnXG5pbXBvcnQgUHJvcFR5cGVzIGZyb20gJ3Byb3AtdHlwZXMnXG5cbmNvbnN0IEljb24gPSAoeyBjb2xvciwgYWN0aXZlQ29sb3IsIGlzQWN0aXZlIH0pID0+IHtcblx0cmV0dXJuIChcblx0XHQ8c3ZnXG5cdFx0XHRkYXRhLXRlc3RpZD1cIl9faWNvbi1yb290X19cIlxuXHRcdFx0eG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiXG5cdFx0XHR3aWR0aD1cIjEwMCVcIlxuXHRcdFx0aGVpZ2h0PVwiMTAwJVwiXG5cdFx0XHR2aWV3Qm94PVwiMCAwIDI0IDI0XCJcblx0XHQ+XG5cdFx0XHQ8Zz5cblx0XHRcdFx0PHBhdGhcblx0XHRcdFx0XHRkYXRhLXRlc3RpZD1cIl9faWNvbi1wYXRoX19cIlxuXHRcdFx0XHRcdGZpbGw9e2NvbG9yfVxuXHRcdFx0XHRcdGQ9XCJNMTIgMTRjMS42NiAwIDIuOTktMS4zNCAyLjk5LTNMMTUgNWMwLTEuNjYtMS4zNC0zLTMtM1M5IDMuMzQgOSA1djZjMCAxLjY2IDEuMzQgMyAzIDN6bTUuMy0zYzAgMy0yLjU0IDUuMS01LjMgNS4xUzYuNyAxNCA2LjcgMTFINWMwIDMuNDEgMi43MiA2LjIzIDYgNi43MlYyMWgydi0zLjI4YzMuMjgtLjQ4IDYtMy4zIDYtNi43MmgtMS43elwiXG5cdFx0XHRcdC8+XG5cdFx0XHRcdHtpc0FjdGl2ZSAmJiA8Y2lyY2xlIGRhdGEtdGVzdGlkPVwiX19pY29uLWFjdGl2ZV9fXCIgZmlsbD17YWN0aXZlQ29sb3J9IGN4PVwiMTZcIiBjeT1cIjRcIiByPVwiNFwiIC8+fVxuXHRcdFx0PC9nPlxuXHRcdDwvc3ZnPlxuXHQpXG59XG5cbkljb24ucHJvcFR5cGVzID0ge1xuXHRjb2xvcjogUHJvcFR5cGVzLnN0cmluZyxcblx0YWN0aXZlQ29sb3I6IFByb3BUeXBlcy5zdHJpbmcsXG5cdGlzQWN0aXZlOiBQcm9wVHlwZXMuYm9vbCxcbn1cblxuSWNvbi5kZWZhdWx0UHJvcHMgPSB7XG5cdGNvbG9yOiAnYmxhY2snLFxuXHRhY3RpdmVDb2xvcjogJ3JlZCcsXG5cdGlzQWN0aXZlOiBmYWxzZSxcbn1cblxuZXhwb3J0IGRlZmF1bHQgSWNvblxuIiwiaW1wb3J0IFJlYWN0LCB7IGNsb25lRWxlbWVudCwgaXNWYWxpZEVsZW1lbnQsIHVzZVJlZiwgdXNlU3RhdGUgfSBmcm9tICdyZWFjdCdcbmltcG9ydCBQcm9wVHlwZXMgZnJvbSAncHJvcC10eXBlcydcbmltcG9ydCB7IFZvY2FsIGFzIFNwZWVjaFJlY29nbml0aW9uV3JhcHBlciB9IGZyb20gJ0B1bnRlbXBzL3ZvY2FsJ1xuaW1wb3J0IGlzRnVuY3Rpb24gZnJvbSAnQHVudGVtcHMvdXRpbHMvZnVuY3Rpb24vaXNGdW5jdGlvbidcblxuaW1wb3J0IHVzZVZvY2FsIGZyb20gJy4uL2hvb2tzL3VzZVZvY2FsJ1xuaW1wb3J0IHVzZVRpbWVvdXQgZnJvbSAnLi4vaG9va3MvdXNlVGltZW91dCdcbmltcG9ydCB1c2VDb21tYW5kcyBmcm9tICcuLi9ob29rcy91c2VDb21tYW5kcydcblxuaW1wb3J0IEljb24gZnJvbSAnLi9JY29uJ1xuXG5jb25zdCBWb2NhbCA9ICh7XG5cdGNoaWxkcmVuLFxuXHRjb21tYW5kcyxcblx0bGFuZyxcblx0Z3JhbW1hcnMsXG5cdHRpbWVvdXQsXG5cdGFyaWFMYWJlbCxcblx0c3R5bGUsXG5cdGNsYXNzTmFtZSxcblx0b3V0bGluZVN0eWxlLFxuXHRvblN0YXJ0LFxuXHRvbkVuZCxcblx0b25TcGVlY2hTdGFydCxcblx0b25TcGVlY2hFbmQsXG5cdG9uUmVzdWx0LFxuXHRvbkVycm9yLFxuXHRvbk5vTWF0Y2gsXG5cdF9fcnNJbnN0YW5jZSxcbn0pID0+IHtcblx0Y29uc3QgYnV0dG9uUmVmID0gdXNlUmVmKG51bGwpXG5cdGNvbnN0IFtpc0xpc3RlbmluZywgc2V0SXNMaXN0ZW5pbmddID0gdXNlU3RhdGUoZmFsc2UpXG5cblx0Y29uc3QgWywgeyBzdGFydCwgc3RvcCwgc3Vic2NyaWJlLCB1bnN1YnNjcmliZSB9XSA9IHVzZVZvY2FsKGxhbmcsIGdyYW1tYXJzLCBfX3JzSW5zdGFuY2UpXG5cdGNvbnN0IHRyaWdnZXJDb21tYW5kID0gdXNlQ29tbWFuZHMoY29tbWFuZHMpXG5cblx0Y29uc3QgX29uRW5kID0gKGUpID0+IHtcblx0XHRzdG9wVGltZXIoKVxuXHRcdHN0b3BSZWNvZ25pdGlvbigpXG5cblx0XHR1bnN1YnNjcmliZSgnc3RhcnQnLCBfb25TdGFydClcblx0XHR1bnN1YnNjcmliZSgnZW5kJywgX29uRW5kKVxuXHRcdHVuc3Vic2NyaWJlKCdzcGVlY2hzdGFydCcsIF9vblNwZWVjaFN0YXJ0KVxuXHRcdHVuc3Vic2NyaWJlKCdzcGVlY2hlbmQnLCBfb25TcGVlY2hFbmQpXG5cdFx0dW5zdWJzY3JpYmUoJ3Jlc3VsdCcsIF9vblJlc3VsdClcblx0XHR1bnN1YnNjcmliZSgnZXJyb3InLCBfb25FcnJvcilcblx0XHR1bnN1YnNjcmliZSgnbm9tYXRjaCcsIF9vbk5vTWF0Y2gpXG5cblx0XHQhIW9uRW5kICYmIG9uRW5kKGUpXG5cdH1cblxuXHRjb25zdCBbc3RhcnRUaW1lciwgc3RvcFRpbWVyXSA9IHVzZVRpbWVvdXQoX29uRW5kLCB0aW1lb3V0KVxuXG5cdGNvbnN0IHN0YXJ0UmVjb2duaXRpb24gPSAoKSA9PiB7XG5cdFx0dHJ5IHtcblx0XHRcdHNldElzTGlzdGVuaW5nKHRydWUpXG5cblx0XHRcdHN1YnNjcmliZSgnc3RhcnQnLCBfb25TdGFydClcblx0XHRcdHN1YnNjcmliZSgnZW5kJywgX29uRW5kKVxuXHRcdFx0c3Vic2NyaWJlKCdzcGVlY2hzdGFydCcsIF9vblNwZWVjaFN0YXJ0KVxuXHRcdFx0c3Vic2NyaWJlKCdzcGVlY2hlbmQnLCBfb25TcGVlY2hFbmQpXG5cdFx0XHRzdWJzY3JpYmUoJ3Jlc3VsdCcsIF9vblJlc3VsdClcblx0XHRcdHN1YnNjcmliZSgnZXJyb3InLCBfb25FcnJvcilcblx0XHRcdHN1YnNjcmliZSgnbm9tYXRjaCcsIF9vbk5vTWF0Y2gpXG5cblx0XHRcdHN0YXJ0KClcblx0XHR9IGNhdGNoIChlcnJvcikge1xuXHRcdFx0X29uRXJyb3IoZXJyb3IpXG5cdFx0fVxuXHR9XG5cblx0Y29uc3Qgc3RvcFJlY29nbml0aW9uID0gKCkgPT4ge1xuXHRcdHRyeSB7XG5cdFx0XHRzZXRJc0xpc3RlbmluZyhmYWxzZSlcblxuXHRcdFx0c3RvcCgpXG5cdFx0fSBjYXRjaCAoZXJyb3IpIHtcblx0XHRcdCEhb25FcnJvciAmJiBvbkVycm9yKGVycm9yKVxuXHRcdH1cblx0fVxuXG5cdGNvbnN0IF9vbkNsaWNrID0gKCkgPT4ge1xuXHRcdHN0YXJ0UmVjb2duaXRpb24oKVxuXHR9XG5cblx0Y29uc3QgX29uRm9jdXMgPSAoKSA9PiB7XG5cdFx0aWYgKCFjbGFzc05hbWUgJiYgb3V0bGluZVN0eWxlKSB7XG5cdFx0XHRidXR0b25SZWYuY3VycmVudC5zdHlsZS5vdXRsaW5lID0gb3V0bGluZVN0eWxlXG5cdFx0fVxuXHR9XG5cblx0Y29uc3QgX29uQmx1ciA9ICgpID0+IHtcblx0XHRpZiAoIWNsYXNzTmFtZSAmJiBvdXRsaW5lU3R5bGUpIHtcblx0XHRcdGJ1dHRvblJlZi5jdXJyZW50LnN0eWxlLm91dGxpbmUgPSAnbm9uZSdcblx0XHR9XG5cdH1cblxuXHRjb25zdCBfb25TdGFydCA9IChlKSA9PiB7XG5cdFx0c3RhcnRUaW1lcigpXG5cblx0XHQhIW9uU3RhcnQgJiYgb25TdGFydChlKVxuXHR9XG5cblx0Y29uc3QgX29uU3BlZWNoU3RhcnQgPSAoZSkgPT4ge1xuXHRcdHN0b3BUaW1lcigpXG5cblx0XHQhIW9uU3BlZWNoU3RhcnQgJiYgb25TcGVlY2hTdGFydChlKVxuXHR9XG5cblx0Y29uc3QgX29uU3BlZWNoRW5kID0gKGUpID0+IHtcblx0XHRzdGFydFRpbWVyKClcblxuXHRcdCEhb25TcGVlY2hFbmQgJiYgb25TcGVlY2hFbmQoZSlcblx0fVxuXG5cdGNvbnN0IF9vblJlc3VsdCA9IChldmVudCwgcmVzdWx0KSA9PiB7XG5cdFx0c3RvcFRpbWVyKClcblx0XHRzdG9wUmVjb2duaXRpb24oKVxuXG5cdFx0dHJpZ2dlckNvbW1hbmQocmVzdWx0KVxuXG5cdFx0ISFvblJlc3VsdCAmJiBvblJlc3VsdChyZXN1bHQsIGV2ZW50KVxuXHR9XG5cblx0Y29uc3QgX29uRXJyb3IgPSAoZXJyb3IpID0+IHtcblx0XHRzdG9wUmVjb2duaXRpb24oKVxuXG5cdFx0ISFvbkVycm9yICYmIG9uRXJyb3IoZXJyb3IpXG5cdH1cblxuXHRjb25zdCBfb25Ob01hdGNoID0gKGUpID0+IHtcblx0XHRzdG9wVGltZXIoKVxuXHRcdHN0b3BSZWNvZ25pdGlvbigpXG5cblx0XHQhIW9uTm9NYXRjaCAmJiBvbk5vTWF0Y2goZSlcblx0fVxuXG5cdGNvbnN0IF9yZW5kZXJEZWZhdWx0ID0gKCkgPT4gKFxuXHRcdDxidXR0b25cblx0XHRcdGRhdGEtdGVzdGlkPVwiX192b2NhbC1yb290X19cIlxuXHRcdFx0cmVmPXtidXR0b25SZWZ9XG5cdFx0XHRyb2xlPVwiYnV0dG9uXCJcblx0XHRcdGFyaWEtbGFiZWw9e2FyaWFMYWJlbH1cblx0XHRcdHN0eWxlPXtcblx0XHRcdFx0Y2xhc3NOYW1lXG5cdFx0XHRcdFx0PyBudWxsXG5cdFx0XHRcdFx0OiB7XG5cdFx0XHRcdFx0XHRcdHdpZHRoOiAyNCxcblx0XHRcdFx0XHRcdFx0aGVpZ2h0OiAyNCxcblx0XHRcdFx0XHRcdFx0YmFja2dyb3VuZDogJ25vbmUnLFxuXHRcdFx0XHRcdFx0XHRib3JkZXI6ICdub25lJyxcblx0XHRcdFx0XHRcdFx0cGFkZGluZzogMCxcblx0XHRcdFx0XHRcdFx0Y3Vyc29yOiAhaXNMaXN0ZW5pbmcgPyAncG9pbnRlcicgOiAnZGVmYXVsdCcsXG5cdFx0XHRcdFx0XHRcdC4uLnN0eWxlLFxuXHRcdFx0XHRcdCAgfVxuXHRcdFx0fVxuXHRcdFx0Y2xhc3NOYW1lPXtjbGFzc05hbWV9XG5cdFx0XHRvbkZvY3VzPXtfb25Gb2N1c31cblx0XHRcdG9uQmx1cj17X29uQmx1cn1cblx0XHRcdG9uQ2xpY2s9e19vbkNsaWNrfVxuXHRcdD5cblx0XHRcdDxJY29uIGlzQWN0aXZlPXtpc0xpc3RlbmluZ30gaWNvbkNvbG9yPVwiI2FhYVwiIC8+XG5cdFx0PC9idXR0b24+XG5cdClcblxuXHRjb25zdCBfcmVuZGVyQ2hpbGRyZW4gPSAoY2hpbGRyZW4pID0+IHtcblx0XHRpZiAoU3BlZWNoUmVjb2duaXRpb25XcmFwcGVyLmlzU3VwcG9ydGVkKSB7XG5cdFx0XHRpZiAoaXNGdW5jdGlvbihjaGlsZHJlbikpIHtcblx0XHRcdFx0cmV0dXJuIGNoaWxkcmVuKHN0YXJ0UmVjb2duaXRpb24sIHN0b3BSZWNvZ25pdGlvbiwgaXNMaXN0ZW5pbmcpXG5cdFx0XHR9IGVsc2UgaWYgKGlzVmFsaWRFbGVtZW50KGNoaWxkcmVuKSkge1xuXHRcdFx0XHRyZXR1cm4gY2xvbmVFbGVtZW50KGNoaWxkcmVuLCB7XG5cdFx0XHRcdFx0Li4uKCFpc0xpc3RlbmluZyAmJiB7IG9uQ2xpY2s6IF9vbkNsaWNrIH0pLFxuXHRcdFx0XHR9KVxuXHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0cmV0dXJuIF9yZW5kZXJEZWZhdWx0KClcblx0XHRcdH1cblx0XHR9XG5cdFx0cmV0dXJuIG51bGxcblx0fVxuXG5cdHJldHVybiBfcmVuZGVyQ2hpbGRyZW4oY2hpbGRyZW4pXG59XG5cblZvY2FsLnByb3BUeXBlcyA9IHtcblx0LyoqIERlZmluZXMgY2FsbGJhY2tzIHRvIGJlIHRyaWdnZXJlZCB3aGVuIGtleXMgYXJlIGRldGVjdGVkIGJ5IHRoZSByZWNvZ25pdGlvbiAqL1xuXHRjb21tYW5kczogUHJvcFR5cGVzLm9iamVjdE9mKFByb3BUeXBlcy5mdW5jKSxcblx0LyoqIERlZmluZXMgdGhlIGxhbmd1YWdlIHVuZGVyc3Rvb2QgYnkgdGhlIHJlY29nbml0aW9uIChodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9lbi1VUy9kb2NzL1dlYi9BUEkvU3BlZWNoUmVjb2duaXRpb24vbGFuZykgKi9cblx0bGFuZzogUHJvcFR5cGVzLnN0cmluZyxcblx0LyoqIERlZmluZXMgdGhlIGdyYW1tYXJzIHVuZGVyc3Rvb2QgYnkgdGhlIHJlY29nbml0aW9uIChodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9lbi1VUy9kb2NzL1dlYi9BUEkvU3BlZWNoUmVjb2duaXRpb24vZ3JhbW1hcnMpICovXG5cdGdyYW1tYXJzOiBQcm9wVHlwZXMub2JqZWN0LFxuXHQvKiogRGVmaW5lcyB0aGUgdGltZSBpbiBtcyB0byB3YWl0IGJlZm9yZSBkaXNjYXJkaW5nIHRoZSByZWNvZ25pdGlvbiAqL1xuXHR0aW1lb3V0OiBQcm9wVHlwZXMubnVtYmVyLFxuXHQvKiogRGVmaW5lcyB0aGUgYTExeSBsYWJlbCBmb3IgdGhlIGRlZmF1bHQgYnV0dG9uICovXG5cdGFyaWFMYWJlbDogUHJvcFR5cGVzLnN0cmluZyxcblx0LyoqIERlZmluZXMgdGhlIHN0eWxlcyBvZiB0aGUgZGVmYXVsdCBlbGVtZW50IGlmIGNsYXNzTmFtZSBpcyBub3Qgc3BlY2lmaWVkICovXG5cdHN0eWxlOiBQcm9wVHlwZXMub2JqZWN0LFxuXHQvKiogRGVmaW5lcyB0aGUgY2xhc3Mgb2YgdGhlIGRlZmF1bHQgZWxlbWVudCAqL1xuXHRjbGFzc05hbWU6IFByb3BUeXBlcy5zdHJpbmcsXG5cdC8qKiBEZWZpbmVzIHRoZSBkZWZhdWx0IHN0eWxlIG9mIHRoZSBmb2N1cyBvdXRsaW5lLiBpZiBudWxsIHRoZSBkZWZhdWx0IGJlaGF2aW91ciBpcyB1c2VkICovXG5cdG91dGxpbmVTdHlsZTogUHJvcFR5cGVzLnN0cmluZyxcblx0LyoqIERlZmluZXMgdGhlIGhhbmRsZXIgY2FsbGVkIHdoZW4gdGhlIHJlY29nbml0aW9uIHN0YXJ0cyAqL1xuXHRvblN0YXJ0OiBQcm9wVHlwZXMuZnVuYyxcblx0LyoqIERlZmluZXMgdGhlIGhhbmRsZXIgY2FsbGVkIHdoZW4gdGhlIHJlY29nbml0aW9uIGVuZHMgKi9cblx0b25FbmQ6IFByb3BUeXBlcy5mdW5jLFxuXHQvKiogRGVmaW5lcyB0aGUgaGFuZGxlciBjYWxsZWQgd2hlbiB0aGUgc3BlZWNoIHN0YXJ0cyAqL1xuXHRvblNwZWVjaFN0YXJ0OiBQcm9wVHlwZXMuZnVuYyxcblx0LyoqIERlZmluZXMgdGhlIGhhbmRsZXIgY2FsbGVkIHdoZW4gdGhlIHNwZWVjaCBlbmRzICovXG5cdG9uU3BlZWNoRW5kOiBQcm9wVHlwZXMuZnVuYyxcblx0LyoqIERlZmluZXMgdGhlIGhhbmRsZXIgY2FsbGVkIHdoZW4gYSByZXN1bHQgaXMgcmV0dXJuZWQgZnJvbSB0ZSByZWNvZ25pdGlvbiAqL1xuXHRvblJlc3VsdDogUHJvcFR5cGVzLmZ1bmMsXG5cdC8qKiBEZWZpbmVzIHRoZSBoYW5kbGVyIGNhbGxlZCB3aGVuIGFuIGVycm9yIG9jY3VycyAqL1xuXHRvbkVycm9yOiBQcm9wVHlwZXMuZnVuYyxcblx0LyoqIERlZmluZXMgdGhlIGhhbmRsZXIgY2FsbGVkIHdoZW4gbm8gcmVzdWx0IGNhbiBiZSByZWNvZ25pemVkICovXG5cdG9uTm9NYXRjaDogUHJvcFR5cGVzLmZ1bmMsXG59XG5cblZvY2FsLmRlZmF1bHRQcm9wcyA9IHtcblx0Y29tbWFuZHM6IG51bGwsXG5cdGxhbmc6ICdlbi1VUycsXG5cdGdyYW1tYXJzOiBudWxsLFxuXHR0aW1lb3V0OiAzMDAwLFxuXHRhcmlhTGFiZWw6ICdzdGFydCByZWNvZ25pdGlvbicsXG5cdHN0eWxlOiBudWxsLFxuXHRjbGFzc05hbWU6IG51bGwsXG5cdG91dGxpbmVTdHlsZTogJzJweCBzb2xpZCcsXG5cdG9uU3RhcnQ6IG51bGwsXG5cdG9uRW5kOiBudWxsLFxuXHRvblNwZWVjaFN0YXJ0OiBudWxsLFxuXHRvblNwZWVjaEVuZDogbnVsbCxcblx0b25SZXN1bHQ6IG51bGwsXG5cdG9uRXJyb3I6IG51bGwsXG5cdG9uTm9NYXRjaDogbnVsbCxcbn1cblxuZXhwb3J0IGRlZmF1bHQgVm9jYWxcbiIsImltcG9ydCB7IHVzZUNhbGxiYWNrLCB1c2VFZmZlY3QsIHVzZVJlZiB9IGZyb20gJ3JlYWN0J1xuXG5jb25zdCB1c2VUaW1lb3V0ID0gKGhhbmRsZXIsIHRpbWVvdXQgPSAwKSA9PiB7XG5cdGNvbnN0IHJlZiA9IHVzZVJlZigtMSlcblxuXHRjb25zdCBzdG9wID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuXHRcdGNsZWFyVGltZW91dChyZWYuY3VycmVudClcblx0XHRyZWYuY3VycmVudCA9IC0xXG5cdH0sIFtdKVxuXG5cdGNvbnN0IHN0YXJ0ID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuXHRcdHN0b3AoKVxuXHRcdHJlZi5jdXJyZW50ID0gc2V0VGltZW91dChoYW5kbGVyLCB0aW1lb3V0KVxuXHR9LCBbaGFuZGxlciwgdGltZW91dCwgc3RvcF0pXG5cblx0dXNlRWZmZWN0KCgpID0+IHN0b3AsIFtzdG9wXSlcblxuXHRyZXR1cm4gW3N0YXJ0LCBzdG9wXVxufVxuXG5leHBvcnQgZGVmYXVsdCB1c2VUaW1lb3V0XG5cbi8vIFRPRE86IFJldHVybiBhIHByb21pc2VcbiIsImltcG9ydCBWb2NhbCBmcm9tICcuL2NvbXBvbmVudHMvVm9jYWwnXG5pbXBvcnQgeyBWb2NhbCBhcyBTcGVlY2hSZWNvZ25pdGlvbldyYXBwZXIgfSBmcm9tICdAdW50ZW1wcy92b2NhbCdcblxuZXhwb3J0IHsgZGVmYXVsdCBhcyB1c2VWb2NhbCB9IGZyb20gJy4vaG9va3MvdXNlVm9jYWwnXG5leHBvcnQgY29uc3QgaXNTdXBwb3J0ZWQgPSBTcGVlY2hSZWNvZ25pdGlvbldyYXBwZXIuaXNTdXBwb3J0ZWRcblxuZXhwb3J0IGRlZmF1bHQgVm9jYWxcbiJdLCJuYW1lcyI6WyJ0IiwiZSIsInIiLCJPYmplY3QiLCJwcm90b3R5cGUiLCJoYXNPd25Qcm9wZXJ0eSIsIm4iLCJTeW1ib2wiLCJvIiwiaXRlcmF0b3IiLCJpIiwiYXN5bmNJdGVyYXRvciIsImEiLCJ0b1N0cmluZ1RhZyIsImMiLCJkZWZpbmVQcm9wZXJ0eSIsInZhbHVlIiwiZW51bWVyYWJsZSIsImNvbmZpZ3VyYWJsZSIsIndyaXRhYmxlIiwidSIsImYiLCJjcmVhdGUiLCJfIiwiX2ludm9rZSIsIkVycm9yIiwiUyIsIm1ldGhvZCIsImFyZyIsImRlbGVnYXRlIiwiYiIsImwiLCJzZW50IiwiX3NlbnQiLCJkaXNwYXRjaEV4Y2VwdGlvbiIsImFicnVwdCIsInMiLCJ0eXBlIiwiZG9uZSIsImNhbGwiLCJ3cmFwIiwiaCIsInAiLCJ2IiwidGhpcyIsInkiLCJnZXRQcm90b3R5cGVPZiIsImQiLCJ4IiwibSIsImciLCJmb3JFYWNoIiwidyIsInJlc29sdmUiLCJfX2F3YWl0IiwidGhlbiIsInJldHVybiIsIlR5cGVFcnJvciIsInJlc3VsdE5hbWUiLCJuZXh0IiwibmV4dExvYyIsIkUiLCJ0cnlMb2MiLCJjYXRjaExvYyIsImZpbmFsbHlMb2MiLCJhZnRlckxvYyIsInRyeUVudHJpZXMiLCJwdXNoIiwiTyIsImNvbXBsZXRpb24iLCJyZXNldCIsImlzTmFOIiwibGVuZ3RoIiwiY29uc3RydWN0b3IiLCJkaXNwbGF5TmFtZSIsImlzR2VuZXJhdG9yRnVuY3Rpb24iLCJuYW1lIiwibWFyayIsInNldFByb3RvdHlwZU9mIiwiX19wcm90b19fIiwiYXdyYXAiLCJBc3luY0l0ZXJhdG9yIiwiYXN5bmMiLCJQcm9taXNlIiwidG9TdHJpbmciLCJrZXlzIiwicmV2ZXJzZSIsInBvcCIsInZhbHVlcyIsInByZXYiLCJjaGFyQXQiLCJzbGljZSIsInN0b3AiLCJydmFsIiwiY29tcGxldGUiLCJmaW5pc2giLCJjYXRjaCIsImRlbGVnYXRlWWllbGQiLCJleHBvcnRzIiwicmVnZW5lcmF0b3JSdW50aW1lIiwiRnVuY3Rpb24iLCJwYXRoIiwicmVxdWlyZSIsImFyZ3VtZW50cyIsImFwcGx5IiwiQXJyYXkiLCJpc0FycmF5IiwiZnJvbSIsInRlc3QiLCJrZXkiLCJuYXZpZ2F0b3IiLCJwZXJtaXNzaW9ucyIsIm1lZGlhRGV2aWNlcyIsIkRPTUV4Y2VwdGlvbiIsInF1ZXJ5IiwicmVtb3ZlRXZlbnRMaXN0ZW5lciIsInRhcmdldCIsInN0YXRlIiwiYWRkRXZlbnRMaXN0ZW5lciIsInQwIiwidDEiLCJnZXRVc2VyTWVkaWEiLCJ0MiIsInQzIiwiYWxsIiwidDQiLCJnZXRPd25Qcm9wZXJ0eVN5bWJvbHMiLCJmaWx0ZXIiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3JzIiwiZGVmaW5lUHJvcGVydGllcyIsIl9yZXNvbHZlU3BlZWNoUmVjb2duaXRpb24iLCJfaW5zdGFuY2UiLCJfbGlzdGVuZXJzIiwiZW50cmllcyIsImRlZmF1bHRPcHRpb25zIiwiX3Jlc29sdmVTcGVlY2hHcmFtbWFyTGlzdCIsImdldCIsInNldCIsImF1ZGlvIiwic3RhcnQiLCJlcnJvciIsImFib3J0IiwiX2luY2x1ZGVzRXZlbnRUeXBlIiwiZXZlbnRUeXBlcyIsIlJFU1VMVCIsInJlc3VsdHMiLCJ0cmFuc2NyaXB0IiwiY29uY2F0IiwiZmluZCIsIndpbmRvdyIsIlNwZWVjaFJlY29nbml0aW9uIiwid2Via2l0U3BlZWNoUmVjb2duaXRpb24iLCJtb3pTcGVlY2hSZWNvZ25pdGlvbiIsIm1zU3BlZWNoUmVjb2duaXRpb24iLCJTcGVlY2hHcmFtbWFyTGlzdCIsIndlYmtpdFNwZWVjaEdyYW1tYXJMaXN0IiwibW96U3BlZWNoR3JhbW1hckxpc3QiLCJtc1NwZWVjaEdyYW1tYXJMaXN0IiwiZ3JhbW1hcnMiLCJsYW5nIiwiY29udGludW91cyIsImludGVyaW1SZXN1bHRzIiwibWF4QWx0ZXJuYXRpdmVzIiwic2VydmljZVVSSSIsIkFVRElPX0VORCIsIkFVRElPX1NUQVJUIiwiRU5EIiwiRVJST1IiLCJOT19NQVRDSCIsIlNPVU5EX0VORCIsIlNPVU5EX1NUQVJUIiwiU1BFRUNIX0VORCIsIlNQRUVDSF9TVEFSVCIsIlNUQVJUIiwidXNlVm9jYWwiLCJfX3JzSW5zdGFuY2UiLCJyZWYiLCJ1c2VSZWYiLCJ1c2VFZmZlY3QiLCJTcGVlY2hSZWNvZ25pdGlvbldyYXBwZXIiLCJpc1N1cHBvcnRlZCIsImN1cnJlbnQiLCJjbGVhbnVwIiwidXNlQ2FsbGJhY2siLCJzdWJzY3JpYmUiLCJldmVudFR5cGUiLCJoYW5kbGVyIiwidW5zdWJzY3JpYmUiLCJjbGVhbiIsImdldFRhZyIsImlzU3RyaW5nIiwiaXNOdW1iZXIiLCJpc0Jvb2xlYW4iLCJpc09iamVjdCIsImlzT2JqZWN0TGlrZSIsImlzRGVmaW5lZCIsImlzQmxhbmsiLCJ0cmltIiwidW5kZWZpbmVkIiwiaGFzT3duIiwiS2V5U3RvcmUiLCJbb2JqZWN0IE9iamVjdF0iLCJfa2V5cyIsIl9rZXlNYXAiLCJ0b3RhbFdlaWdodCIsIm9iaiIsImNyZWF0ZUtleSIsIndlaWdodCIsImlkIiwia2V5SWQiLCJKU09OIiwic3RyaW5naWZ5Iiwic3JjIiwiY3JlYXRlS2V5UGF0aCIsImNyZWF0ZUtleUlkIiwiTUlTU0lOR19LRVlfUFJPUEVSVFkiLCJJTlZBTElEX0tFWV9XRUlHSFRfVkFMVUUiLCJzcGxpdCIsImpvaW4iLCJDb25maWciLCJpc0Nhc2VTZW5zaXRpdmUiLCJpbmNsdWRlU2NvcmUiLCJzaG91bGRTb3J0Iiwic29ydEZuIiwic2NvcmUiLCJpZHgiLCJpbmNsdWRlTWF0Y2hlcyIsImZpbmRBbGxNYXRjaGVzIiwibWluTWF0Y2hDaGFyTGVuZ3RoIiwibG9jYXRpb24iLCJ0aHJlc2hvbGQiLCJkaXN0YW5jZSIsInVzZUV4dGVuZGVkU2VhcmNoIiwiZ2V0Rm4iLCJsaXN0IiwiYXJyIiwiZGVlcEdldCIsImluZGV4IiwicmVzdWx0IiwiYmFzZVRvU3RyaW5nIiwibGVuIiwiaWdub3JlTG9jYXRpb24iLCJpZ25vcmVGaWVsZE5vcm0iLCJTUEFDRSIsIkZ1c2VJbmRleCIsIm5vcm0iLCJtYW50aXNzYSIsImNhY2hlIiwiTWFwIiwiTWF0aCIsInBvdyIsIm51bVRva2VucyIsIm1hdGNoIiwiaGFzIiwic3FydCIsInBhcnNlRmxvYXQiLCJyb3VuZCIsImNsZWFyIiwiaXNDcmVhdGVkIiwic2V0SW5kZXhSZWNvcmRzIiwiZG9jcyIsInJlY29yZHMiLCJfa2V5c01hcCIsImRvYyIsImRvY0luZGV4IiwiX2FkZFN0cmluZyIsIl9hZGRPYmplY3QiLCJzaXplIiwic3BsaWNlIiwiaXRlbSIsInJlY29yZCIsIiQiLCJrZXlJbmRleCIsInN1YlJlY29yZHMiLCJzdGFjayIsIm5lc3RlZEFyckluZGV4Iiwic3ViUmVjb3JkIiwiayIsImNyZWF0ZUluZGV4IiwibXlJbmRleCIsInNldEtleXMiLCJtYXAiLCJzZXRTb3VyY2VzIiwiY29tcHV0ZVNjb3JlIiwicGF0dGVybiIsImVycm9ycyIsImN1cnJlbnRMb2NhdGlvbiIsImV4cGVjdGVkTG9jYXRpb24iLCJhY2N1cmFjeSIsInByb3hpbWl0eSIsImFicyIsIk1BWF9CSVRTIiwic2VhcmNoIiwidGV4dCIsInBhdHRlcm5BbHBoYWJldCIsInBhdHRlcm5MZW4iLCJ0ZXh0TGVuIiwibWF4IiwibWluIiwiY3VycmVudFRocmVzaG9sZCIsImJlc3RMb2NhdGlvbiIsImNvbXB1dGVNYXRjaGVzIiwibWF0Y2hNYXNrIiwiaW5kZXhPZiIsImxhc3RCaXRBcnIiLCJmaW5hbFNjb3JlIiwiYmluTWF4IiwibWFzayIsImJpbk1pbiIsImJpbk1pZCIsImZsb29yIiwiYml0QXJyIiwiaiIsImNoYXJNYXRjaCIsImlzTWF0Y2giLCJpbmRpY2VzIiwibWF0Y2htYXNrIiwiZW5kIiwiY29udmVydE1hc2tUb0luZGljZXMiLCJjcmVhdGVQYXR0ZXJuQWxwaGFiZXQiLCJjaGFyIiwiQml0YXBTZWFyY2giLCJvcHRpb25zIiwidG9Mb3dlckNhc2UiLCJjaHVua3MiLCJhZGRDaHVuayIsInN0YXJ0SW5kZXgiLCJhbHBoYWJldCIsInJlbWFpbmRlciIsInN1YnN0ciIsImFsbEluZGljZXMiLCJ0b3RhbFNjb3JlIiwiaGFzTWF0Y2hlcyIsIkJhc2VNYXRjaCIsImdldE1hdGNoIiwibXVsdGlSZWdleCIsInNpbmdsZVJlZ2V4IiwiZXhwIiwibWF0Y2hlcyIsIkZ1enp5TWF0Y2giLCJzdXBlciIsIl9iaXRhcFNlYXJjaCIsInNlYXJjaEluIiwiSW5jbHVkZU1hdGNoIiwic2VhcmNoZXJzIiwic3RhcnRzV2l0aCIsImVuZHNXaXRoIiwic2VhcmNoZXJzTGVuIiwiU1BBQ0VfUkUiLCJNdWx0aU1hdGNoU2V0IiwiU2V0IiwiRXh0ZW5kZWRTZWFyY2giLCJxdWVyeUl0ZW0iLCJmb3VuZCIsInNlYXJjaGVyIiwidG9rZW4iLCJpc011bHRpTWF0Y2giLCJpc1NpbmdsZU1hdGNoIiwicGFyc2VRdWVyeSIsIm51bU1hdGNoZXMiLCJxTGVuIiwicExlbiIsInJlZ2lzdGVyZWRTZWFyY2hlcnMiLCJjcmVhdGVTZWFyY2hlciIsInNlYXJjaGVyQ2xhc3MiLCJjb25kaXRpb24iLCJMb2dpY2FsT3BlcmF0b3IiLCJLZXlUeXBlIiwiaXNFeHByZXNzaW9uIiwiY29udmVydFRvRXhwbGljaXQiLCJwYXJzZSIsImF1dG8iLCJpc1F1ZXJ5UGF0aCIsImlzUGF0aCIsImlzTGVhZiIsIkxPR0lDQUxfU0VBUkNIX0lOVkFMSURfUVVFUllfRk9SX0tFWSIsIm5vZGUiLCJjaGlsZHJlbiIsIm9wZXJhdG9yIiwidHJhbnNmb3JtTWF0Y2hlcyIsImRhdGEiLCJyZWZJbmRleCIsInRyYW5zZm9ybVNjb3JlIiwiRnVzZSIsIl9rZXlTdG9yZSIsInNldENvbGxlY3Rpb24iLCJfZG9jcyIsIl9teUluZGV4IiwiYWRkIiwicHJlZGljYXRlIiwicmVtb3ZlQXQiLCJsaW1pdCIsIl9zZWFyY2hTdHJpbmdMaXN0IiwiX3NlYXJjaE9iamVjdExpc3QiLCJfc2VhcmNoTG9naWNhbCIsIk51bWJlciIsIkVQU0lMT04iLCJjb21wdXRlU2NvcmUkMSIsInNvcnQiLCJ0cmFuc2Zvcm1lcnMiLCJ0cmFuc2Zvcm1lciIsImZvcm1hdCIsImV4cHJlc3Npb24iLCJldmFsdWF0ZSIsIl9maW5kTWF0Y2hlcyIsImdldFZhbHVlRm9ySXRlbUF0S2V5SWQiLCJyZXMiLCJjaGlsZCIsInJlc3VsdE1hcCIsImV4cFJlc3VsdHMiLCJ2ZXJzaW9uIiwicGFyc2VJbmRleCIsImNvbmZpZyIsImFyZ3MiLCJyZWdpc3RlciIsIkljb24iLCJjb2xvciIsImFjdGl2ZUNvbG9yIiwiaXNBY3RpdmUiLCJSZWFjdCIsInhtbG5zIiwid2lkdGgiLCJoZWlnaHQiLCJ2aWV3Qm94IiwiZmlsbCIsImN4IiwiY3kiLCJwcm9wVHlwZXMiLCJQcm9wVHlwZXMiLCJzdHJpbmciLCJib29sIiwiZGVmYXVsdFByb3BzIiwiVm9jYWwiLCJjb21tYW5kcyIsInRpbWVvdXQiLCJhcmlhTGFiZWwiLCJzdHlsZSIsImNsYXNzTmFtZSIsIm91dGxpbmVTdHlsZSIsIm9uU3RhcnQiLCJvbkVuZCIsIm9uU3BlZWNoU3RhcnQiLCJvblNwZWVjaEVuZCIsIm9uUmVzdWx0Iiwib25FcnJvciIsIm9uTm9NYXRjaCIsImJ1dHRvblJlZiIsInVzZVN0YXRlIiwiaXNMaXN0ZW5pbmciLCJzZXRJc0xpc3RlbmluZyIsInRyaWdnZXJDb21tYW5kIiwicHJlY2lzaW9uIiwiX09iamVjdCRlbnRyaWVzIiwicmVkdWNlIiwiYWNjIiwiaW5wdXQiLCJfY29tbWFuZHMka2V5IiwidXNlQ29tbWFuZHMiLCJfb25FbmQiLCJzdG9wVGltZXIiLCJzdG9wUmVjb2duaXRpb24iLCJfb25TdGFydCIsIl9vblNwZWVjaFN0YXJ0IiwiX29uU3BlZWNoRW5kIiwiX29uUmVzdWx0IiwiX29uRXJyb3IiLCJfb25Ob01hdGNoIiwiY2xlYXJUaW1lb3V0Iiwic2V0VGltZW91dCIsInVzZVRpbWVvdXQiLCJzdGFydFRpbWVyIiwic3RhcnRSZWNvZ25pdGlvbiIsIl9vbkNsaWNrIiwiX29uRm9jdXMiLCJvdXRsaW5lIiwiX29uQmx1ciIsImV2ZW50IiwiaXNGdW5jdGlvbiIsImlzVmFsaWRFbGVtZW50IiwiY2xvbmVFbGVtZW50Iiwib25DbGljayIsInJvbGUiLCJiYWNrZ3JvdW5kIiwiYm9yZGVyIiwicGFkZGluZyIsImN1cnNvciIsIm9uRm9jdXMiLCJvbkJsdXIiLCJpY29uQ29sb3IiLCJfcmVuZGVyQ2hpbGRyZW4iLCJvYmplY3RPZiIsImZ1bmMiLCJvYmplY3QiLCJudW1iZXIiXSwibWFwcGluZ3MiOiJraUVBQUEsSUFBSUEsRUFBRSxTQUFTQSxFQUFFQyxFQUFFQyxHQUFHLGdCQUFxTkYsR0FBRyxJQUFJQyxFQUFFLFNBQVNELEdBQUcsSUFBSUMsRUFBRUUsT0FBT0MsVUFBVUYsRUFBRUQsRUFBRUksZUFBZUMsRUFBRSxtQkFBbUJDLE9BQU9BLE9BQU8sR0FBR0MsRUFBRUYsRUFBRUcsVUFBVSxhQUFhQyxFQUFFSixFQUFFSyxlQUFlLGtCQUFrQkMsRUFBRU4sRUFBRU8sYUFBYSxnQkFBZ0IsU0FBU0MsRUFBRWQsRUFBRUMsRUFBRUMsR0FBRyxPQUFPQyxPQUFPWSxlQUFlZixFQUFFQyxFQUFFLENBQUNlLE1BQU1kLEVBQUVlLFlBQVcsRUFBR0MsY0FBYSxFQUFHQyxVQUFTLElBQUtuQixFQUFFQyxHQUFHLElBQUlhLEVBQUUsR0FBRyxJQUFJLE1BQU1kLEdBQUdjLEVBQUUsU0FB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
|