@txnlab/use-wallet 0.1.14 → 0.1.16

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/esm/index.js CHANGED
@@ -1,8 +1,13 @@
1
1
  import algosdk from 'algosdk';
2
- import require$$0, { useReducer, useRef, useDebugValue, useEffect, useLayoutEffect, useMemo } from 'react';
2
+ import { useReducer, useRef, useDebugValue, useEffect, useLayoutEffect, useMemo } from 'react';
3
+ import { PeraWalletConnect } from '@perawallet/connect';
4
+ import MyAlgoConnect from '@randlabs/myalgo-connect';
5
+ import { DeflyWalletConnect } from '@blockshake/defly-connect';
6
+ import WalletConnect from '@walletconnect/client';
7
+ import QRCodeModal from 'algorand-walletconnect-qrcode-modal';
3
8
  import { formatJsonRpcRequest } from '@json-rpc-tools/utils';
4
9
 
5
- function n(n){for(var r=arguments.length,t=Array(r>1?r-1:0),e=1;e<r;e++)t[e-1]=arguments[e];if("production"!==process.env.NODE_ENV){var i=Y[n],o=i?"function"==typeof i?i.apply(null,t):i:"unknown error nr: "+n;throw Error("[Immer] "+o)}throw Error("[Immer] minified error nr: "+n+(t.length?" "+t.map((function(n){return "'"+n+"'"})).join(","):"")+". Find the full error at: https://bit.ly/3cXEKWf")}function r(n){return !!n&&!!n[Q]}function t(n){return !!n&&(function(n){if(!n||"object"!=typeof n)return !1;var r=Object.getPrototypeOf(n);if(null===r)return !0;var t=Object.hasOwnProperty.call(r,"constructor")&&r.constructor;return t===Object||"function"==typeof t&&Function.toString.call(t)===Z}(n)||Array.isArray(n)||!!n[L]||!!n.constructor[L]||s(n)||v(n))}function i(n,r,t){void 0===t&&(t=!1),0===o(n)?(t?Object.keys:nn)(n).forEach((function(e){t&&"symbol"==typeof e||r(e,n[e],n);})):n.forEach((function(t,e){return r(e,t,n)}));}function o(n){var r=n[Q];return r?r.i>3?r.i-4:r.i:Array.isArray(n)?1:s(n)?2:v(n)?3:0}function u(n,r){return 2===o(n)?n.has(r):Object.prototype.hasOwnProperty.call(n,r)}function a(n,r){return 2===o(n)?n.get(r):n[r]}function f(n,r,t){var e=o(n);2===e?n.set(r,t):3===e?(n.delete(r),n.add(t)):n[r]=t;}function c(n,r){return n===r?0!==n||1/n==1/r:n!=n&&r!=r}function s(n){return X&&n instanceof Map}function v(n){return q&&n instanceof Set}function p(n){return n.o||n.t}function l(n){if(Array.isArray(n))return Array.prototype.slice.call(n);var r=rn(n);delete r[Q];for(var t=nn(r),e=0;e<t.length;e++){var i=t[e],o=r[i];!1===o.writable&&(o.writable=!0,o.configurable=!0),(o.get||o.set)&&(r[i]={configurable:!0,writable:!0,enumerable:o.enumerable,value:n[i]});}return Object.create(Object.getPrototypeOf(n),r)}function d(n,e){return void 0===e&&(e=!1),y(n)||r(n)||!t(n)?n:(o(n)>1&&(n.set=n.add=n.clear=n.delete=h),Object.freeze(n),e&&i(n,(function(n,r){return d(r,!0)}),!0),n)}function h(){n(2);}function y(n){return null==n||"object"!=typeof n||Object.isFrozen(n)}function b(r){var t=tn[r];return t||n(18,r),t}function _(){return "production"===process.env.NODE_ENV||U||n(0),U}function j(n,r){r&&(b("Patches"),n.u=[],n.s=[],n.v=r);}function O(n){g(n),n.p.forEach(S),n.p=null;}function g(n){n===U&&(U=n.l);}function w(n){return U={p:[],l:U,h:n,m:!0,_:0}}function S(n){var r=n[Q];0===r.i||1===r.i?r.j():r.O=!0;}function P$1(r,e){e._=e.p.length;var i=e.p[0],o=void 0!==r&&r!==i;return e.h.g||b("ES5").S(e,r,o),o?(i[Q].P&&(O(e),n(4)),t(r)&&(r=M(e,r),e.l||x(e,r)),e.u&&b("Patches").M(i[Q].t,r,e.u,e.s)):r=M(e,i,[]),O(e),e.u&&e.v(e.u,e.s),r!==H?r:void 0}function M(n,r,t){if(y(r))return r;var e=r[Q];if(!e)return i(r,(function(i,o){return A(n,e,r,i,o,t)}),!0),r;if(e.A!==n)return r;if(!e.P)return x(n,e.t,!0),e.t;if(!e.I){e.I=!0,e.A._--;var o=4===e.i||5===e.i?e.o=l(e.k):e.o;i(3===e.i?new Set(o):o,(function(r,i){return A(n,e,o,r,i,t)})),x(n,o,!1),t&&n.u&&b("Patches").R(e,t,n.u,n.s);}return e.o}function A(e,i,o,a,c,s){if("production"!==process.env.NODE_ENV&&c===o&&n(5),r(c)){var v=M(e,c,s&&i&&3!==i.i&&!u(i.D,a)?s.concat(a):void 0);if(f(o,a,v),!r(v))return;e.m=!1;}if(t(c)&&!y(c)){if(!e.h.F&&e._<1)return;M(e,c),i&&i.A.l||x(e,c);}}function x(n,r,t){void 0===t&&(t=!1),n.h.F&&n.m&&d(r,t);}function z(n,r){var t=n[Q];return (t?p(t):n)[r]}function I(n,r){if(r in n)for(var t=Object.getPrototypeOf(n);t;){var e=Object.getOwnPropertyDescriptor(t,r);if(e)return e;t=Object.getPrototypeOf(t);}}function k(n){n.P||(n.P=!0,n.l&&k(n.l));}function E(n){n.o||(n.o=l(n.t));}function R(n,r,t){var e=s(r)?b("MapSet").N(r,t):v(r)?b("MapSet").T(r,t):n.g?function(n,r){var t=Array.isArray(n),e={i:t?1:0,A:r?r.A:_(),P:!1,I:!1,D:{},l:r,t:n,k:null,o:null,j:null,C:!1},i=e,o=en;t&&(i=[e],o=on);var u=Proxy.revocable(i,o),a=u.revoke,f=u.proxy;return e.k=f,e.j=a,f}(r,t):b("ES5").J(r,t);return (t?t.A:_()).p.push(e),e}function D(e){return r(e)||n(22,e),function n(r){if(!t(r))return r;var e,u=r[Q],c=o(r);if(u){if(!u.P&&(u.i<4||!b("ES5").K(u)))return u.t;u.I=!0,e=F(r,c),u.I=!1;}else e=F(r,c);return i(e,(function(r,t){u&&a(u.t,r)===t||f(e,r,n(t));})),3===c?new Set(e):e}(e)}function F(n,r){switch(r){case 2:return new Map(n);case 3:return Array.from(n)}return l(n)}var G,U,W="undefined"!=typeof Symbol&&"symbol"==typeof Symbol("x"),X="undefined"!=typeof Map,q="undefined"!=typeof Set,B="undefined"!=typeof Proxy&&void 0!==Proxy.revocable&&"undefined"!=typeof Reflect,H=W?Symbol.for("immer-nothing"):((G={})["immer-nothing"]=!0,G),L=W?Symbol.for("immer-draftable"):"__$immer_draftable",Q=W?Symbol.for("immer-state"):"__$immer_state",Y={0:"Illegal state",1:"Immer drafts cannot have computed properties",2:"This object has been frozen and should not be mutated",3:function(n){return "Cannot use a proxy that has been revoked. Did you pass an object from inside an immer function to an async process? "+n},4:"An immer producer returned a new value *and* modified its draft. Either return a new value *or* modify the draft.",5:"Immer forbids circular references",6:"The first or second argument to `produce` must be a function",7:"The third argument to `produce` must be a function or undefined",8:"First argument to `createDraft` must be a plain object, an array, or an immerable object",9:"First argument to `finishDraft` must be a draft returned by `createDraft`",10:"The given draft is already finalized",11:"Object.defineProperty() cannot be used on an Immer draft",12:"Object.setPrototypeOf() cannot be used on an Immer draft",13:"Immer only supports deleting array indices",14:"Immer only supports setting array indices and the 'length' property",15:function(n){return "Cannot apply patch, path doesn't resolve: "+n},16:'Sets cannot have "replace" patches.',17:function(n){return "Unsupported patch operation: "+n},18:function(n){return "The plugin for '"+n+"' has not been loaded into Immer. To enable the plugin, import and call `enable"+n+"()` when initializing your application."},20:"Cannot use proxies if Proxy, Proxy.revocable or Reflect are not available",21:function(n){return "produce can only be called on things that are draftable: plain objects, arrays, Map, Set or classes that are marked with '[immerable]: true'. Got '"+n+"'"},22:function(n){return "'current' expects a draft, got: "+n},23:function(n){return "'original' expects a draft, got: "+n},24:"Patching reserved attributes like __proto__, prototype and constructor is not allowed"},Z=""+Object.prototype.constructor,nn="undefined"!=typeof Reflect&&Reflect.ownKeys?Reflect.ownKeys:void 0!==Object.getOwnPropertySymbols?function(n){return Object.getOwnPropertyNames(n).concat(Object.getOwnPropertySymbols(n))}:Object.getOwnPropertyNames,rn=Object.getOwnPropertyDescriptors||function(n){var r={};return nn(n).forEach((function(t){r[t]=Object.getOwnPropertyDescriptor(n,t);})),r},tn={},en={get:function(n,r){if(r===Q)return n;var e=p(n);if(!u(e,r))return function(n,r,t){var e,i=I(r,t);return i?"value"in i?i.value:null===(e=i.get)||void 0===e?void 0:e.call(n.k):void 0}(n,e,r);var i=e[r];return n.I||!t(i)?i:i===z(n.t,r)?(E(n),n.o[r]=R(n.A.h,i,n)):i},has:function(n,r){return r in p(n)},ownKeys:function(n){return Reflect.ownKeys(p(n))},set:function(n,r,t){var e=I(p(n),r);if(null==e?void 0:e.set)return e.set.call(n.k,t),!0;if(!n.P){var i=z(p(n),r),o=null==i?void 0:i[Q];if(o&&o.t===t)return n.o[r]=t,n.D[r]=!1,!0;if(c(t,i)&&(void 0!==t||u(n.t,r)))return !0;E(n),k(n);}return n.o[r]===t&&"number"!=typeof t&&(void 0!==t||r in n.o)||(n.o[r]=t,n.D[r]=!0,!0)},deleteProperty:function(n,r){return void 0!==z(n.t,r)||r in n.t?(n.D[r]=!1,E(n),k(n)):delete n.D[r],n.o&&delete n.o[r],!0},getOwnPropertyDescriptor:function(n,r){var t=p(n),e=Reflect.getOwnPropertyDescriptor(t,r);return e?{writable:!0,configurable:1!==n.i||"length"!==r,enumerable:e.enumerable,value:t[r]}:e},defineProperty:function(){n(11);},getPrototypeOf:function(n){return Object.getPrototypeOf(n.t)},setPrototypeOf:function(){n(12);}},on={};i(en,(function(n,r){on[n]=function(){return arguments[0]=arguments[0][0],r.apply(this,arguments)};})),on.deleteProperty=function(r,t){return "production"!==process.env.NODE_ENV&&isNaN(parseInt(t))&&n(13),on.set.call(this,r,t,void 0)},on.set=function(r,t,e){return "production"!==process.env.NODE_ENV&&"length"!==t&&isNaN(parseInt(t))&&n(14),en.set.call(this,r[0],t,e,r[0])};var un=function(){function e(r){var e=this;this.g=B,this.F=!0,this.produce=function(r,i,o){if("function"==typeof r&&"function"!=typeof i){var u=i;i=r;var a=e;return function(n){var r=this;void 0===n&&(n=u);for(var t=arguments.length,e=Array(t>1?t-1:0),o=1;o<t;o++)e[o-1]=arguments[o];return a.produce(n,(function(n){var t;return (t=i).call.apply(t,[r,n].concat(e))}))}}var f;if("function"!=typeof i&&n(6),void 0!==o&&"function"!=typeof o&&n(7),t(r)){var c=w(e),s=R(e,r,void 0),v=!0;try{f=i(s),v=!1;}finally{v?O(c):g(c);}return "undefined"!=typeof Promise&&f instanceof Promise?f.then((function(n){return j(c,o),P$1(n,c)}),(function(n){throw O(c),n})):(j(c,o),P$1(f,c))}if(!r||"object"!=typeof r){if(void 0===(f=i(r))&&(f=r),f===H&&(f=void 0),e.F&&d(f,!0),o){var p=[],l=[];b("Patches").M(r,f,p,l),o(p,l);}return f}n(21,r);},this.produceWithPatches=function(n,r){if("function"==typeof n)return function(r){for(var t=arguments.length,i=Array(t>1?t-1:0),o=1;o<t;o++)i[o-1]=arguments[o];return e.produceWithPatches(r,(function(r){return n.apply(void 0,[r].concat(i))}))};var t,i,o=e.produce(n,r,(function(n,r){t=n,i=r;}));return "undefined"!=typeof Promise&&o instanceof Promise?o.then((function(n){return [n,t,i]})):[o,t,i]},"boolean"==typeof(null==r?void 0:r.useProxies)&&this.setUseProxies(r.useProxies),"boolean"==typeof(null==r?void 0:r.autoFreeze)&&this.setAutoFreeze(r.autoFreeze);}var i=e.prototype;return i.createDraft=function(e){t(e)||n(8),r(e)&&(e=D(e));var i=w(this),o=R(this,e,void 0);return o[Q].C=!0,g(i),o},i.finishDraft=function(r,t){var e=r&&r[Q];"production"!==process.env.NODE_ENV&&(e&&e.C||n(9),e.I&&n(10));var i=e.A;return j(i,t),P$1(void 0,i)},i.setAutoFreeze=function(n){this.F=n;},i.setUseProxies=function(r){r&&!B&&n(20),this.g=r;},i.applyPatches=function(n,t){var e;for(e=t.length-1;e>=0;e--){var i=t[e];if(0===i.path.length&&"replace"===i.op){n=i.value;break}}e>-1&&(t=t.slice(e+1));var o=b("Patches").$;return r(n)?o(n,t):this.produce(n,(function(n){return o(n,t)}))},e}(),an=new un,fn=an.produce;an.produceWithPatches.bind(an);an.setAutoFreeze.bind(an);an.setUseProxies.bind(an);an.applyPatches.bind(an);an.createDraft.bind(an);an.finishDraft.bind(an);
10
+ function n(n){for(var r=arguments.length,t=Array(r>1?r-1:0),e=1;e<r;e++)t[e-1]=arguments[e];if("production"!==process.env.NODE_ENV){var i=Y[n],o=i?"function"==typeof i?i.apply(null,t):i:"unknown error nr: "+n;throw Error("[Immer] "+o)}throw Error("[Immer] minified error nr: "+n+(t.length?" "+t.map((function(n){return "'"+n+"'"})).join(","):"")+". Find the full error at: https://bit.ly/3cXEKWf")}function r(n){return !!n&&!!n[Q]}function t(n){return !!n&&(function(n){if(!n||"object"!=typeof n)return !1;var r=Object.getPrototypeOf(n);if(null===r)return !0;var t=Object.hasOwnProperty.call(r,"constructor")&&r.constructor;return t===Object||"function"==typeof t&&Function.toString.call(t)===Z}(n)||Array.isArray(n)||!!n[L]||!!n.constructor[L]||s(n)||v(n))}function i(n,r,t){void 0===t&&(t=!1),0===o(n)?(t?Object.keys:nn)(n).forEach((function(e){t&&"symbol"==typeof e||r(e,n[e],n);})):n.forEach((function(t,e){return r(e,t,n)}));}function o(n){var r=n[Q];return r?r.i>3?r.i-4:r.i:Array.isArray(n)?1:s(n)?2:v(n)?3:0}function u(n,r){return 2===o(n)?n.has(r):Object.prototype.hasOwnProperty.call(n,r)}function a(n,r){return 2===o(n)?n.get(r):n[r]}function f(n,r,t){var e=o(n);2===e?n.set(r,t):3===e?(n.delete(r),n.add(t)):n[r]=t;}function c(n,r){return n===r?0!==n||1/n==1/r:n!=n&&r!=r}function s(n){return X&&n instanceof Map}function v(n){return q&&n instanceof Set}function p(n){return n.o||n.t}function l(n){if(Array.isArray(n))return Array.prototype.slice.call(n);var r=rn(n);delete r[Q];for(var t=nn(r),e=0;e<t.length;e++){var i=t[e],o=r[i];!1===o.writable&&(o.writable=!0,o.configurable=!0),(o.get||o.set)&&(r[i]={configurable:!0,writable:!0,enumerable:o.enumerable,value:n[i]});}return Object.create(Object.getPrototypeOf(n),r)}function d(n,e){return void 0===e&&(e=!1),y(n)||r(n)||!t(n)?n:(o(n)>1&&(n.set=n.add=n.clear=n.delete=h),Object.freeze(n),e&&i(n,(function(n,r){return d(r,!0)}),!0),n)}function h(){n(2);}function y(n){return null==n||"object"!=typeof n||Object.isFrozen(n)}function b(r){var t=tn[r];return t||n(18,r),t}function _(){return "production"===process.env.NODE_ENV||U||n(0),U}function j(n,r){r&&(b("Patches"),n.u=[],n.s=[],n.v=r);}function O(n){g(n),n.p.forEach(S),n.p=null;}function g(n){n===U&&(U=n.l);}function w(n){return U={p:[],l:U,h:n,m:!0,_:0}}function S(n){var r=n[Q];0===r.i||1===r.i?r.j():r.O=!0;}function P(r,e){e._=e.p.length;var i=e.p[0],o=void 0!==r&&r!==i;return e.h.g||b("ES5").S(e,r,o),o?(i[Q].P&&(O(e),n(4)),t(r)&&(r=M(e,r),e.l||x(e,r)),e.u&&b("Patches").M(i[Q].t,r,e.u,e.s)):r=M(e,i,[]),O(e),e.u&&e.v(e.u,e.s),r!==H?r:void 0}function M(n,r,t){if(y(r))return r;var e=r[Q];if(!e)return i(r,(function(i,o){return A(n,e,r,i,o,t)}),!0),r;if(e.A!==n)return r;if(!e.P)return x(n,e.t,!0),e.t;if(!e.I){e.I=!0,e.A._--;var o=4===e.i||5===e.i?e.o=l(e.k):e.o;i(3===e.i?new Set(o):o,(function(r,i){return A(n,e,o,r,i,t)})),x(n,o,!1),t&&n.u&&b("Patches").R(e,t,n.u,n.s);}return e.o}function A(e,i,o,a,c,s){if("production"!==process.env.NODE_ENV&&c===o&&n(5),r(c)){var v=M(e,c,s&&i&&3!==i.i&&!u(i.D,a)?s.concat(a):void 0);if(f(o,a,v),!r(v))return;e.m=!1;}if(t(c)&&!y(c)){if(!e.h.F&&e._<1)return;M(e,c),i&&i.A.l||x(e,c);}}function x(n,r,t){void 0===t&&(t=!1),n.h.F&&n.m&&d(r,t);}function z(n,r){var t=n[Q];return (t?p(t):n)[r]}function I(n,r){if(r in n)for(var t=Object.getPrototypeOf(n);t;){var e=Object.getOwnPropertyDescriptor(t,r);if(e)return e;t=Object.getPrototypeOf(t);}}function k(n){n.P||(n.P=!0,n.l&&k(n.l));}function E(n){n.o||(n.o=l(n.t));}function R(n,r,t){var e=s(r)?b("MapSet").N(r,t):v(r)?b("MapSet").T(r,t):n.g?function(n,r){var t=Array.isArray(n),e={i:t?1:0,A:r?r.A:_(),P:!1,I:!1,D:{},l:r,t:n,k:null,o:null,j:null,C:!1},i=e,o=en;t&&(i=[e],o=on);var u=Proxy.revocable(i,o),a=u.revoke,f=u.proxy;return e.k=f,e.j=a,f}(r,t):b("ES5").J(r,t);return (t?t.A:_()).p.push(e),e}function D(e){return r(e)||n(22,e),function n(r){if(!t(r))return r;var e,u=r[Q],c=o(r);if(u){if(!u.P&&(u.i<4||!b("ES5").K(u)))return u.t;u.I=!0,e=F(r,c),u.I=!1;}else e=F(r,c);return i(e,(function(r,t){u&&a(u.t,r)===t||f(e,r,n(t));})),3===c?new Set(e):e}(e)}function F(n,r){switch(r){case 2:return new Map(n);case 3:return Array.from(n)}return l(n)}var G,U,W="undefined"!=typeof Symbol&&"symbol"==typeof Symbol("x"),X="undefined"!=typeof Map,q="undefined"!=typeof Set,B="undefined"!=typeof Proxy&&void 0!==Proxy.revocable&&"undefined"!=typeof Reflect,H=W?Symbol.for("immer-nothing"):((G={})["immer-nothing"]=!0,G),L=W?Symbol.for("immer-draftable"):"__$immer_draftable",Q=W?Symbol.for("immer-state"):"__$immer_state",Y={0:"Illegal state",1:"Immer drafts cannot have computed properties",2:"This object has been frozen and should not be mutated",3:function(n){return "Cannot use a proxy that has been revoked. Did you pass an object from inside an immer function to an async process? "+n},4:"An immer producer returned a new value *and* modified its draft. Either return a new value *or* modify the draft.",5:"Immer forbids circular references",6:"The first or second argument to `produce` must be a function",7:"The third argument to `produce` must be a function or undefined",8:"First argument to `createDraft` must be a plain object, an array, or an immerable object",9:"First argument to `finishDraft` must be a draft returned by `createDraft`",10:"The given draft is already finalized",11:"Object.defineProperty() cannot be used on an Immer draft",12:"Object.setPrototypeOf() cannot be used on an Immer draft",13:"Immer only supports deleting array indices",14:"Immer only supports setting array indices and the 'length' property",15:function(n){return "Cannot apply patch, path doesn't resolve: "+n},16:'Sets cannot have "replace" patches.',17:function(n){return "Unsupported patch operation: "+n},18:function(n){return "The plugin for '"+n+"' has not been loaded into Immer. To enable the plugin, import and call `enable"+n+"()` when initializing your application."},20:"Cannot use proxies if Proxy, Proxy.revocable or Reflect are not available",21:function(n){return "produce can only be called on things that are draftable: plain objects, arrays, Map, Set or classes that are marked with '[immerable]: true'. Got '"+n+"'"},22:function(n){return "'current' expects a draft, got: "+n},23:function(n){return "'original' expects a draft, got: "+n},24:"Patching reserved attributes like __proto__, prototype and constructor is not allowed"},Z=""+Object.prototype.constructor,nn="undefined"!=typeof Reflect&&Reflect.ownKeys?Reflect.ownKeys:void 0!==Object.getOwnPropertySymbols?function(n){return Object.getOwnPropertyNames(n).concat(Object.getOwnPropertySymbols(n))}:Object.getOwnPropertyNames,rn=Object.getOwnPropertyDescriptors||function(n){var r={};return nn(n).forEach((function(t){r[t]=Object.getOwnPropertyDescriptor(n,t);})),r},tn={},en={get:function(n,r){if(r===Q)return n;var e=p(n);if(!u(e,r))return function(n,r,t){var e,i=I(r,t);return i?"value"in i?i.value:null===(e=i.get)||void 0===e?void 0:e.call(n.k):void 0}(n,e,r);var i=e[r];return n.I||!t(i)?i:i===z(n.t,r)?(E(n),n.o[r]=R(n.A.h,i,n)):i},has:function(n,r){return r in p(n)},ownKeys:function(n){return Reflect.ownKeys(p(n))},set:function(n,r,t){var e=I(p(n),r);if(null==e?void 0:e.set)return e.set.call(n.k,t),!0;if(!n.P){var i=z(p(n),r),o=null==i?void 0:i[Q];if(o&&o.t===t)return n.o[r]=t,n.D[r]=!1,!0;if(c(t,i)&&(void 0!==t||u(n.t,r)))return !0;E(n),k(n);}return n.o[r]===t&&"number"!=typeof t&&(void 0!==t||r in n.o)||(n.o[r]=t,n.D[r]=!0,!0)},deleteProperty:function(n,r){return void 0!==z(n.t,r)||r in n.t?(n.D[r]=!1,E(n),k(n)):delete n.D[r],n.o&&delete n.o[r],!0},getOwnPropertyDescriptor:function(n,r){var t=p(n),e=Reflect.getOwnPropertyDescriptor(t,r);return e?{writable:!0,configurable:1!==n.i||"length"!==r,enumerable:e.enumerable,value:t[r]}:e},defineProperty:function(){n(11);},getPrototypeOf:function(n){return Object.getPrototypeOf(n.t)},setPrototypeOf:function(){n(12);}},on={};i(en,(function(n,r){on[n]=function(){return arguments[0]=arguments[0][0],r.apply(this,arguments)};})),on.deleteProperty=function(r,t){return "production"!==process.env.NODE_ENV&&isNaN(parseInt(t))&&n(13),on.set.call(this,r,t,void 0)},on.set=function(r,t,e){return "production"!==process.env.NODE_ENV&&"length"!==t&&isNaN(parseInt(t))&&n(14),en.set.call(this,r[0],t,e,r[0])};var un=function(){function e(r){var e=this;this.g=B,this.F=!0,this.produce=function(r,i,o){if("function"==typeof r&&"function"!=typeof i){var u=i;i=r;var a=e;return function(n){var r=this;void 0===n&&(n=u);for(var t=arguments.length,e=Array(t>1?t-1:0),o=1;o<t;o++)e[o-1]=arguments[o];return a.produce(n,(function(n){var t;return (t=i).call.apply(t,[r,n].concat(e))}))}}var f;if("function"!=typeof i&&n(6),void 0!==o&&"function"!=typeof o&&n(7),t(r)){var c=w(e),s=R(e,r,void 0),v=!0;try{f=i(s),v=!1;}finally{v?O(c):g(c);}return "undefined"!=typeof Promise&&f instanceof Promise?f.then((function(n){return j(c,o),P(n,c)}),(function(n){throw O(c),n})):(j(c,o),P(f,c))}if(!r||"object"!=typeof r){if(void 0===(f=i(r))&&(f=r),f===H&&(f=void 0),e.F&&d(f,!0),o){var p=[],l=[];b("Patches").M(r,f,p,l),o(p,l);}return f}n(21,r);},this.produceWithPatches=function(n,r){if("function"==typeof n)return function(r){for(var t=arguments.length,i=Array(t>1?t-1:0),o=1;o<t;o++)i[o-1]=arguments[o];return e.produceWithPatches(r,(function(r){return n.apply(void 0,[r].concat(i))}))};var t,i,o=e.produce(n,r,(function(n,r){t=n,i=r;}));return "undefined"!=typeof Promise&&o instanceof Promise?o.then((function(n){return [n,t,i]})):[o,t,i]},"boolean"==typeof(null==r?void 0:r.useProxies)&&this.setUseProxies(r.useProxies),"boolean"==typeof(null==r?void 0:r.autoFreeze)&&this.setAutoFreeze(r.autoFreeze);}var i=e.prototype;return i.createDraft=function(e){t(e)||n(8),r(e)&&(e=D(e));var i=w(this),o=R(this,e,void 0);return o[Q].C=!0,g(i),o},i.finishDraft=function(r,t){var e=r&&r[Q];"production"!==process.env.NODE_ENV&&(e&&e.C||n(9),e.I&&n(10));var i=e.A;return j(i,t),P(void 0,i)},i.setAutoFreeze=function(n){this.F=n;},i.setUseProxies=function(r){r&&!B&&n(20),this.g=r;},i.applyPatches=function(n,t){var e;for(e=t.length-1;e>=0;e--){var i=t[e];if(0===i.path.length&&"replace"===i.op){n=i.value;break}}e>-1&&(t=t.slice(e+1));var o=b("Patches").$;return r(n)?o(n,t):this.produce(n,(function(n){return o(n,t)}))},e}(),an=new un,fn=an.produce;an.produceWithPatches.bind(an);an.setAutoFreeze.bind(an);an.setUseProxies.bind(an);an.applyPatches.bind(an);an.createDraft.bind(an);an.finishDraft.bind(an);
6
11
 
7
12
  /**
8
13
  * The immer middleware turns the `set` method into a proxy for the immer `produce` method.
@@ -539,1031 +544,6 @@ const KMD_PASSWORD = process.env.KMD_PASSWORD ||
539
544
  process.env.NEXT_PUBLIC_KMD_PASSWORD ||
540
545
  "";
541
546
 
542
- /*
543
- * big.js v6.2.1
544
- * A small, fast, easy-to-use library for arbitrary-precision decimal arithmetic.
545
- * Copyright (c) 2022 Michael Mclaughlin
546
- * https://github.com/MikeMcl/big.js/LICENCE.md
547
- */
548
-
549
-
550
- /************************************** EDITABLE DEFAULTS *****************************************/
551
-
552
-
553
- // The default values below must be integers within the stated ranges.
554
-
555
- /*
556
- * The maximum number of decimal places (DP) of the results of operations involving division:
557
- * div and sqrt, and pow with negative exponents.
558
- */
559
- var DP = 20, // 0 to MAX_DP
560
-
561
- /*
562
- * The rounding mode (RM) used when rounding to the above decimal places.
563
- *
564
- * 0 Towards zero (i.e. truncate, no rounding). (ROUND_DOWN)
565
- * 1 To nearest neighbour. If equidistant, round up. (ROUND_HALF_UP)
566
- * 2 To nearest neighbour. If equidistant, to even. (ROUND_HALF_EVEN)
567
- * 3 Away from zero. (ROUND_UP)
568
- */
569
- RM = 1, // 0, 1, 2 or 3
570
-
571
- // The maximum value of DP and Big.DP.
572
- MAX_DP = 1E6, // 0 to 1000000
573
-
574
- // The maximum magnitude of the exponent argument to the pow method.
575
- MAX_POWER = 1E6, // 1 to 1000000
576
-
577
- /*
578
- * The negative exponent (NE) at and beneath which toString returns exponential notation.
579
- * (JavaScript numbers: -7)
580
- * -1000000 is the minimum recommended exponent value of a Big.
581
- */
582
- NE = -7, // 0 to -1000000
583
-
584
- /*
585
- * The positive exponent (PE) at and above which toString returns exponential notation.
586
- * (JavaScript numbers: 21)
587
- * 1000000 is the maximum recommended exponent value of a Big, but this limit is not enforced.
588
- */
589
- PE = 21, // 0 to 1000000
590
-
591
- /*
592
- * When true, an error will be thrown if a primitive number is passed to the Big constructor,
593
- * or if valueOf is called, or if toNumber is called on a Big which cannot be converted to a
594
- * primitive number without a loss of precision.
595
- */
596
- STRICT = false, // true or false
597
-
598
-
599
- /**************************************************************************************************/
600
-
601
-
602
- // Error messages.
603
- NAME = '[big.js] ',
604
- INVALID = NAME + 'Invalid ',
605
- INVALID_DP = INVALID + 'decimal places',
606
- INVALID_RM = INVALID + 'rounding mode',
607
- DIV_BY_ZERO = NAME + 'Division by zero',
608
-
609
- // The shared prototype object.
610
- P = {},
611
- UNDEFINED = void 0,
612
- NUMERIC = /^-?(\d+(\.\d*)?|\.\d+)(e[+-]?\d+)?$/i;
613
-
614
-
615
- /*
616
- * Create and return a Big constructor.
617
- */
618
- function _Big_() {
619
-
620
- /*
621
- * The Big constructor and exported function.
622
- * Create and return a new instance of a Big number object.
623
- *
624
- * n {number|string|Big} A numeric value.
625
- */
626
- function Big(n) {
627
- var x = this;
628
-
629
- // Enable constructor usage without new.
630
- if (!(x instanceof Big)) return n === UNDEFINED ? _Big_() : new Big(n);
631
-
632
- // Duplicate.
633
- if (n instanceof Big) {
634
- x.s = n.s;
635
- x.e = n.e;
636
- x.c = n.c.slice();
637
- } else {
638
- if (typeof n !== 'string') {
639
- if (Big.strict === true && typeof n !== 'bigint') {
640
- throw TypeError(INVALID + 'value');
641
- }
642
-
643
- // Minus zero?
644
- n = n === 0 && 1 / n < 0 ? '-0' : String(n);
645
- }
646
-
647
- parse(x, n);
648
- }
649
-
650
- // Retain a reference to this Big constructor.
651
- // Shadow Big.prototype.constructor which points to Object.
652
- x.constructor = Big;
653
- }
654
-
655
- Big.prototype = P;
656
- Big.DP = DP;
657
- Big.RM = RM;
658
- Big.NE = NE;
659
- Big.PE = PE;
660
- Big.strict = STRICT;
661
- Big.roundDown = 0;
662
- Big.roundHalfUp = 1;
663
- Big.roundHalfEven = 2;
664
- Big.roundUp = 3;
665
-
666
- return Big;
667
- }
668
-
669
-
670
- /*
671
- * Parse the number or string value passed to a Big constructor.
672
- *
673
- * x {Big} A Big number instance.
674
- * n {number|string} A numeric value.
675
- */
676
- function parse(x, n) {
677
- var e, i, nl;
678
-
679
- if (!NUMERIC.test(n)) {
680
- throw Error(INVALID + 'number');
681
- }
682
-
683
- // Determine sign.
684
- x.s = n.charAt(0) == '-' ? (n = n.slice(1), -1) : 1;
685
-
686
- // Decimal point?
687
- if ((e = n.indexOf('.')) > -1) n = n.replace('.', '');
688
-
689
- // Exponential form?
690
- if ((i = n.search(/e/i)) > 0) {
691
-
692
- // Determine exponent.
693
- if (e < 0) e = i;
694
- e += +n.slice(i + 1);
695
- n = n.substring(0, i);
696
- } else if (e < 0) {
697
-
698
- // Integer.
699
- e = n.length;
700
- }
701
-
702
- nl = n.length;
703
-
704
- // Determine leading zeros.
705
- for (i = 0; i < nl && n.charAt(i) == '0';) ++i;
706
-
707
- if (i == nl) {
708
-
709
- // Zero.
710
- x.c = [x.e = 0];
711
- } else {
712
-
713
- // Determine trailing zeros.
714
- for (; nl > 0 && n.charAt(--nl) == '0';);
715
- x.e = e - i - 1;
716
- x.c = [];
717
-
718
- // Convert string to array of digits without leading/trailing zeros.
719
- for (e = 0; i <= nl;) x.c[e++] = +n.charAt(i++);
720
- }
721
-
722
- return x;
723
- }
724
-
725
-
726
- /*
727
- * Round Big x to a maximum of sd significant digits using rounding mode rm.
728
- *
729
- * x {Big} The Big to round.
730
- * sd {number} Significant digits: integer, 0 to MAX_DP inclusive.
731
- * rm {number} Rounding mode: 0 (down), 1 (half-up), 2 (half-even) or 3 (up).
732
- * [more] {boolean} Whether the result of division was truncated.
733
- */
734
- function round(x, sd, rm, more) {
735
- var xc = x.c;
736
-
737
- if (rm === UNDEFINED) rm = x.constructor.RM;
738
- if (rm !== 0 && rm !== 1 && rm !== 2 && rm !== 3) {
739
- throw Error(INVALID_RM);
740
- }
741
-
742
- if (sd < 1) {
743
- more =
744
- rm === 3 && (more || !!xc[0]) || sd === 0 && (
745
- rm === 1 && xc[0] >= 5 ||
746
- rm === 2 && (xc[0] > 5 || xc[0] === 5 && (more || xc[1] !== UNDEFINED))
747
- );
748
-
749
- xc.length = 1;
750
-
751
- if (more) {
752
-
753
- // 1, 0.1, 0.01, 0.001, 0.0001 etc.
754
- x.e = x.e - sd + 1;
755
- xc[0] = 1;
756
- } else {
757
-
758
- // Zero.
759
- xc[0] = x.e = 0;
760
- }
761
- } else if (sd < xc.length) {
762
-
763
- // xc[sd] is the digit after the digit that may be rounded up.
764
- more =
765
- rm === 1 && xc[sd] >= 5 ||
766
- rm === 2 && (xc[sd] > 5 || xc[sd] === 5 &&
767
- (more || xc[sd + 1] !== UNDEFINED || xc[sd - 1] & 1)) ||
768
- rm === 3 && (more || !!xc[0]);
769
-
770
- // Remove any digits after the required precision.
771
- xc.length = sd;
772
-
773
- // Round up?
774
- if (more) {
775
-
776
- // Rounding up may mean the previous digit has to be rounded up.
777
- for (; ++xc[--sd] > 9;) {
778
- xc[sd] = 0;
779
- if (sd === 0) {
780
- ++x.e;
781
- xc.unshift(1);
782
- break;
783
- }
784
- }
785
- }
786
-
787
- // Remove trailing zeros.
788
- for (sd = xc.length; !xc[--sd];) xc.pop();
789
- }
790
-
791
- return x;
792
- }
793
-
794
-
795
- /*
796
- * Return a string representing the value of Big x in normal or exponential notation.
797
- * Handles P.toExponential, P.toFixed, P.toJSON, P.toPrecision, P.toString and P.valueOf.
798
- */
799
- function stringify(x, doExponential, isNonzero) {
800
- var e = x.e,
801
- s = x.c.join(''),
802
- n = s.length;
803
-
804
- // Exponential notation?
805
- if (doExponential) {
806
- s = s.charAt(0) + (n > 1 ? '.' + s.slice(1) : '') + (e < 0 ? 'e' : 'e+') + e;
807
-
808
- // Normal notation.
809
- } else if (e < 0) {
810
- for (; ++e;) s = '0' + s;
811
- s = '0.' + s;
812
- } else if (e > 0) {
813
- if (++e > n) {
814
- for (e -= n; e--;) s += '0';
815
- } else if (e < n) {
816
- s = s.slice(0, e) + '.' + s.slice(e);
817
- }
818
- } else if (n > 1) {
819
- s = s.charAt(0) + '.' + s.slice(1);
820
- }
821
-
822
- return x.s < 0 && isNonzero ? '-' + s : s;
823
- }
824
-
825
-
826
- // Prototype/instance methods
827
-
828
-
829
- /*
830
- * Return a new Big whose value is the absolute value of this Big.
831
- */
832
- P.abs = function () {
833
- var x = new this.constructor(this);
834
- x.s = 1;
835
- return x;
836
- };
837
-
838
-
839
- /*
840
- * Return 1 if the value of this Big is greater than the value of Big y,
841
- * -1 if the value of this Big is less than the value of Big y, or
842
- * 0 if they have the same value.
843
- */
844
- P.cmp = function (y) {
845
- var isneg,
846
- x = this,
847
- xc = x.c,
848
- yc = (y = new x.constructor(y)).c,
849
- i = x.s,
850
- j = y.s,
851
- k = x.e,
852
- l = y.e;
853
-
854
- // Either zero?
855
- if (!xc[0] || !yc[0]) return !xc[0] ? !yc[0] ? 0 : -j : i;
856
-
857
- // Signs differ?
858
- if (i != j) return i;
859
-
860
- isneg = i < 0;
861
-
862
- // Compare exponents.
863
- if (k != l) return k > l ^ isneg ? 1 : -1;
864
-
865
- j = (k = xc.length) < (l = yc.length) ? k : l;
866
-
867
- // Compare digit by digit.
868
- for (i = -1; ++i < j;) {
869
- if (xc[i] != yc[i]) return xc[i] > yc[i] ^ isneg ? 1 : -1;
870
- }
871
-
872
- // Compare lengths.
873
- return k == l ? 0 : k > l ^ isneg ? 1 : -1;
874
- };
875
-
876
-
877
- /*
878
- * Return a new Big whose value is the value of this Big divided by the value of Big y, rounded,
879
- * if necessary, to a maximum of Big.DP decimal places using rounding mode Big.RM.
880
- */
881
- P.div = function (y) {
882
- var x = this,
883
- Big = x.constructor,
884
- a = x.c, // dividend
885
- b = (y = new Big(y)).c, // divisor
886
- k = x.s == y.s ? 1 : -1,
887
- dp = Big.DP;
888
-
889
- if (dp !== ~~dp || dp < 0 || dp > MAX_DP) {
890
- throw Error(INVALID_DP);
891
- }
892
-
893
- // Divisor is zero?
894
- if (!b[0]) {
895
- throw Error(DIV_BY_ZERO);
896
- }
897
-
898
- // Dividend is 0? Return +-0.
899
- if (!a[0]) {
900
- y.s = k;
901
- y.c = [y.e = 0];
902
- return y;
903
- }
904
-
905
- var bl, bt, n, cmp, ri,
906
- bz = b.slice(),
907
- ai = bl = b.length,
908
- al = a.length,
909
- r = a.slice(0, bl), // remainder
910
- rl = r.length,
911
- q = y, // quotient
912
- qc = q.c = [],
913
- qi = 0,
914
- p = dp + (q.e = x.e - y.e) + 1; // precision of the result
915
-
916
- q.s = k;
917
- k = p < 0 ? 0 : p;
918
-
919
- // Create version of divisor with leading zero.
920
- bz.unshift(0);
921
-
922
- // Add zeros to make remainder as long as divisor.
923
- for (; rl++ < bl;) r.push(0);
924
-
925
- do {
926
-
927
- // n is how many times the divisor goes into current remainder.
928
- for (n = 0; n < 10; n++) {
929
-
930
- // Compare divisor and remainder.
931
- if (bl != (rl = r.length)) {
932
- cmp = bl > rl ? 1 : -1;
933
- } else {
934
- for (ri = -1, cmp = 0; ++ri < bl;) {
935
- if (b[ri] != r[ri]) {
936
- cmp = b[ri] > r[ri] ? 1 : -1;
937
- break;
938
- }
939
- }
940
- }
941
-
942
- // If divisor < remainder, subtract divisor from remainder.
943
- if (cmp < 0) {
944
-
945
- // Remainder can't be more than 1 digit longer than divisor.
946
- // Equalise lengths using divisor with extra leading zero?
947
- for (bt = rl == bl ? b : bz; rl;) {
948
- if (r[--rl] < bt[rl]) {
949
- ri = rl;
950
- for (; ri && !r[--ri];) r[ri] = 9;
951
- --r[ri];
952
- r[rl] += 10;
953
- }
954
- r[rl] -= bt[rl];
955
- }
956
-
957
- for (; !r[0];) r.shift();
958
- } else {
959
- break;
960
- }
961
- }
962
-
963
- // Add the digit n to the result array.
964
- qc[qi++] = cmp ? n : ++n;
965
-
966
- // Update the remainder.
967
- if (r[0] && cmp) r[rl] = a[ai] || 0;
968
- else r = [a[ai]];
969
-
970
- } while ((ai++ < al || r[0] !== UNDEFINED) && k--);
971
-
972
- // Leading zero? Do not remove if result is simply zero (qi == 1).
973
- if (!qc[0] && qi != 1) {
974
-
975
- // There can't be more than one zero.
976
- qc.shift();
977
- q.e--;
978
- p--;
979
- }
980
-
981
- // Round?
982
- if (qi > p) round(q, p, Big.RM, r[0] !== UNDEFINED);
983
-
984
- return q;
985
- };
986
-
987
-
988
- /*
989
- * Return true if the value of this Big is equal to the value of Big y, otherwise return false.
990
- */
991
- P.eq = function (y) {
992
- return this.cmp(y) === 0;
993
- };
994
-
995
-
996
- /*
997
- * Return true if the value of this Big is greater than the value of Big y, otherwise return
998
- * false.
999
- */
1000
- P.gt = function (y) {
1001
- return this.cmp(y) > 0;
1002
- };
1003
-
1004
-
1005
- /*
1006
- * Return true if the value of this Big is greater than or equal to the value of Big y, otherwise
1007
- * return false.
1008
- */
1009
- P.gte = function (y) {
1010
- return this.cmp(y) > -1;
1011
- };
1012
-
1013
-
1014
- /*
1015
- * Return true if the value of this Big is less than the value of Big y, otherwise return false.
1016
- */
1017
- P.lt = function (y) {
1018
- return this.cmp(y) < 0;
1019
- };
1020
-
1021
-
1022
- /*
1023
- * Return true if the value of this Big is less than or equal to the value of Big y, otherwise
1024
- * return false.
1025
- */
1026
- P.lte = function (y) {
1027
- return this.cmp(y) < 1;
1028
- };
1029
-
1030
-
1031
- /*
1032
- * Return a new Big whose value is the value of this Big minus the value of Big y.
1033
- */
1034
- P.minus = P.sub = function (y) {
1035
- var i, j, t, xlty,
1036
- x = this,
1037
- Big = x.constructor,
1038
- a = x.s,
1039
- b = (y = new Big(y)).s;
1040
-
1041
- // Signs differ?
1042
- if (a != b) {
1043
- y.s = -b;
1044
- return x.plus(y);
1045
- }
1046
-
1047
- var xc = x.c.slice(),
1048
- xe = x.e,
1049
- yc = y.c,
1050
- ye = y.e;
1051
-
1052
- // Either zero?
1053
- if (!xc[0] || !yc[0]) {
1054
- if (yc[0]) {
1055
- y.s = -b;
1056
- } else if (xc[0]) {
1057
- y = new Big(x);
1058
- } else {
1059
- y.s = 1;
1060
- }
1061
- return y;
1062
- }
1063
-
1064
- // Determine which is the bigger number. Prepend zeros to equalise exponents.
1065
- if (a = xe - ye) {
1066
-
1067
- if (xlty = a < 0) {
1068
- a = -a;
1069
- t = xc;
1070
- } else {
1071
- ye = xe;
1072
- t = yc;
1073
- }
1074
-
1075
- t.reverse();
1076
- for (b = a; b--;) t.push(0);
1077
- t.reverse();
1078
- } else {
1079
-
1080
- // Exponents equal. Check digit by digit.
1081
- j = ((xlty = xc.length < yc.length) ? xc : yc).length;
1082
-
1083
- for (a = b = 0; b < j; b++) {
1084
- if (xc[b] != yc[b]) {
1085
- xlty = xc[b] < yc[b];
1086
- break;
1087
- }
1088
- }
1089
- }
1090
-
1091
- // x < y? Point xc to the array of the bigger number.
1092
- if (xlty) {
1093
- t = xc;
1094
- xc = yc;
1095
- yc = t;
1096
- y.s = -y.s;
1097
- }
1098
-
1099
- /*
1100
- * Append zeros to xc if shorter. No need to add zeros to yc if shorter as subtraction only
1101
- * needs to start at yc.length.
1102
- */
1103
- if ((b = (j = yc.length) - (i = xc.length)) > 0) for (; b--;) xc[i++] = 0;
1104
-
1105
- // Subtract yc from xc.
1106
- for (b = i; j > a;) {
1107
- if (xc[--j] < yc[j]) {
1108
- for (i = j; i && !xc[--i];) xc[i] = 9;
1109
- --xc[i];
1110
- xc[j] += 10;
1111
- }
1112
-
1113
- xc[j] -= yc[j];
1114
- }
1115
-
1116
- // Remove trailing zeros.
1117
- for (; xc[--b] === 0;) xc.pop();
1118
-
1119
- // Remove leading zeros and adjust exponent accordingly.
1120
- for (; xc[0] === 0;) {
1121
- xc.shift();
1122
- --ye;
1123
- }
1124
-
1125
- if (!xc[0]) {
1126
-
1127
- // n - n = +0
1128
- y.s = 1;
1129
-
1130
- // Result must be zero.
1131
- xc = [ye = 0];
1132
- }
1133
-
1134
- y.c = xc;
1135
- y.e = ye;
1136
-
1137
- return y;
1138
- };
1139
-
1140
-
1141
- /*
1142
- * Return a new Big whose value is the value of this Big modulo the value of Big y.
1143
- */
1144
- P.mod = function (y) {
1145
- var ygtx,
1146
- x = this,
1147
- Big = x.constructor,
1148
- a = x.s,
1149
- b = (y = new Big(y)).s;
1150
-
1151
- if (!y.c[0]) {
1152
- throw Error(DIV_BY_ZERO);
1153
- }
1154
-
1155
- x.s = y.s = 1;
1156
- ygtx = y.cmp(x) == 1;
1157
- x.s = a;
1158
- y.s = b;
1159
-
1160
- if (ygtx) return new Big(x);
1161
-
1162
- a = Big.DP;
1163
- b = Big.RM;
1164
- Big.DP = Big.RM = 0;
1165
- x = x.div(y);
1166
- Big.DP = a;
1167
- Big.RM = b;
1168
-
1169
- return this.minus(x.times(y));
1170
- };
1171
-
1172
-
1173
- /*
1174
- * Return a new Big whose value is the value of this Big negated.
1175
- */
1176
- P.neg = function () {
1177
- var x = new this.constructor(this);
1178
- x.s = -x.s;
1179
- return x;
1180
- };
1181
-
1182
-
1183
- /*
1184
- * Return a new Big whose value is the value of this Big plus the value of Big y.
1185
- */
1186
- P.plus = P.add = function (y) {
1187
- var e, k, t,
1188
- x = this,
1189
- Big = x.constructor;
1190
-
1191
- y = new Big(y);
1192
-
1193
- // Signs differ?
1194
- if (x.s != y.s) {
1195
- y.s = -y.s;
1196
- return x.minus(y);
1197
- }
1198
-
1199
- var xe = x.e,
1200
- xc = x.c,
1201
- ye = y.e,
1202
- yc = y.c;
1203
-
1204
- // Either zero?
1205
- if (!xc[0] || !yc[0]) {
1206
- if (!yc[0]) {
1207
- if (xc[0]) {
1208
- y = new Big(x);
1209
- } else {
1210
- y.s = x.s;
1211
- }
1212
- }
1213
- return y;
1214
- }
1215
-
1216
- xc = xc.slice();
1217
-
1218
- // Prepend zeros to equalise exponents.
1219
- // Note: reverse faster than unshifts.
1220
- if (e = xe - ye) {
1221
- if (e > 0) {
1222
- ye = xe;
1223
- t = yc;
1224
- } else {
1225
- e = -e;
1226
- t = xc;
1227
- }
1228
-
1229
- t.reverse();
1230
- for (; e--;) t.push(0);
1231
- t.reverse();
1232
- }
1233
-
1234
- // Point xc to the longer array.
1235
- if (xc.length - yc.length < 0) {
1236
- t = yc;
1237
- yc = xc;
1238
- xc = t;
1239
- }
1240
-
1241
- e = yc.length;
1242
-
1243
- // Only start adding at yc.length - 1 as the further digits of xc can be left as they are.
1244
- for (k = 0; e; xc[e] %= 10) k = (xc[--e] = xc[e] + yc[e] + k) / 10 | 0;
1245
-
1246
- // No need to check for zero, as +x + +y != 0 && -x + -y != 0
1247
-
1248
- if (k) {
1249
- xc.unshift(k);
1250
- ++ye;
1251
- }
1252
-
1253
- // Remove trailing zeros.
1254
- for (e = xc.length; xc[--e] === 0;) xc.pop();
1255
-
1256
- y.c = xc;
1257
- y.e = ye;
1258
-
1259
- return y;
1260
- };
1261
-
1262
-
1263
- /*
1264
- * Return a Big whose value is the value of this Big raised to the power n.
1265
- * If n is negative, round to a maximum of Big.DP decimal places using rounding
1266
- * mode Big.RM.
1267
- *
1268
- * n {number} Integer, -MAX_POWER to MAX_POWER inclusive.
1269
- */
1270
- P.pow = function (n) {
1271
- var x = this,
1272
- one = new x.constructor('1'),
1273
- y = one,
1274
- isneg = n < 0;
1275
-
1276
- if (n !== ~~n || n < -MAX_POWER || n > MAX_POWER) {
1277
- throw Error(INVALID + 'exponent');
1278
- }
1279
-
1280
- if (isneg) n = -n;
1281
-
1282
- for (;;) {
1283
- if (n & 1) y = y.times(x);
1284
- n >>= 1;
1285
- if (!n) break;
1286
- x = x.times(x);
1287
- }
1288
-
1289
- return isneg ? one.div(y) : y;
1290
- };
1291
-
1292
-
1293
- /*
1294
- * Return a new Big whose value is the value of this Big rounded to a maximum precision of sd
1295
- * significant digits using rounding mode rm, or Big.RM if rm is not specified.
1296
- *
1297
- * sd {number} Significant digits: integer, 1 to MAX_DP inclusive.
1298
- * rm? {number} Rounding mode: 0 (down), 1 (half-up), 2 (half-even) or 3 (up).
1299
- */
1300
- P.prec = function (sd, rm) {
1301
- if (sd !== ~~sd || sd < 1 || sd > MAX_DP) {
1302
- throw Error(INVALID + 'precision');
1303
- }
1304
- return round(new this.constructor(this), sd, rm);
1305
- };
1306
-
1307
-
1308
- /*
1309
- * Return a new Big whose value is the value of this Big rounded to a maximum of dp decimal places
1310
- * using rounding mode rm, or Big.RM if rm is not specified.
1311
- * If dp is negative, round to an integer which is a multiple of 10**-dp.
1312
- * If dp is not specified, round to 0 decimal places.
1313
- *
1314
- * dp? {number} Integer, -MAX_DP to MAX_DP inclusive.
1315
- * rm? {number} Rounding mode: 0 (down), 1 (half-up), 2 (half-even) or 3 (up).
1316
- */
1317
- P.round = function (dp, rm) {
1318
- if (dp === UNDEFINED) dp = 0;
1319
- else if (dp !== ~~dp || dp < -MAX_DP || dp > MAX_DP) {
1320
- throw Error(INVALID_DP);
1321
- }
1322
- return round(new this.constructor(this), dp + this.e + 1, rm);
1323
- };
1324
-
1325
-
1326
- /*
1327
- * Return a new Big whose value is the square root of the value of this Big, rounded, if
1328
- * necessary, to a maximum of Big.DP decimal places using rounding mode Big.RM.
1329
- */
1330
- P.sqrt = function () {
1331
- var r, c, t,
1332
- x = this,
1333
- Big = x.constructor,
1334
- s = x.s,
1335
- e = x.e,
1336
- half = new Big('0.5');
1337
-
1338
- // Zero?
1339
- if (!x.c[0]) return new Big(x);
1340
-
1341
- // Negative?
1342
- if (s < 0) {
1343
- throw Error(NAME + 'No square root');
1344
- }
1345
-
1346
- // Estimate.
1347
- s = Math.sqrt(x + '');
1348
-
1349
- // Math.sqrt underflow/overflow?
1350
- // Re-estimate: pass x coefficient to Math.sqrt as integer, then adjust the result exponent.
1351
- if (s === 0 || s === 1 / 0) {
1352
- c = x.c.join('');
1353
- if (!(c.length + e & 1)) c += '0';
1354
- s = Math.sqrt(c);
1355
- e = ((e + 1) / 2 | 0) - (e < 0 || e & 1);
1356
- r = new Big((s == 1 / 0 ? '5e' : (s = s.toExponential()).slice(0, s.indexOf('e') + 1)) + e);
1357
- } else {
1358
- r = new Big(s + '');
1359
- }
1360
-
1361
- e = r.e + (Big.DP += 4);
1362
-
1363
- // Newton-Raphson iteration.
1364
- do {
1365
- t = r;
1366
- r = half.times(t.plus(x.div(t)));
1367
- } while (t.c.slice(0, e).join('') !== r.c.slice(0, e).join(''));
1368
-
1369
- return round(r, (Big.DP -= 4) + r.e + 1, Big.RM);
1370
- };
1371
-
1372
-
1373
- /*
1374
- * Return a new Big whose value is the value of this Big times the value of Big y.
1375
- */
1376
- P.times = P.mul = function (y) {
1377
- var c,
1378
- x = this,
1379
- Big = x.constructor,
1380
- xc = x.c,
1381
- yc = (y = new Big(y)).c,
1382
- a = xc.length,
1383
- b = yc.length,
1384
- i = x.e,
1385
- j = y.e;
1386
-
1387
- // Determine sign of result.
1388
- y.s = x.s == y.s ? 1 : -1;
1389
-
1390
- // Return signed 0 if either 0.
1391
- if (!xc[0] || !yc[0]) {
1392
- y.c = [y.e = 0];
1393
- return y;
1394
- }
1395
-
1396
- // Initialise exponent of result as x.e + y.e.
1397
- y.e = i + j;
1398
-
1399
- // If array xc has fewer digits than yc, swap xc and yc, and lengths.
1400
- if (a < b) {
1401
- c = xc;
1402
- xc = yc;
1403
- yc = c;
1404
- j = a;
1405
- a = b;
1406
- b = j;
1407
- }
1408
-
1409
- // Initialise coefficient array of result with zeros.
1410
- for (c = new Array(j = a + b); j--;) c[j] = 0;
1411
-
1412
- // Multiply.
1413
-
1414
- // i is initially xc.length.
1415
- for (i = b; i--;) {
1416
- b = 0;
1417
-
1418
- // a is yc.length.
1419
- for (j = a + i; j > i;) {
1420
-
1421
- // Current sum of products at this digit position, plus carry.
1422
- b = c[j] + yc[i] * xc[j - i - 1] + b;
1423
- c[j--] = b % 10;
1424
-
1425
- // carry
1426
- b = b / 10 | 0;
1427
- }
1428
-
1429
- c[j] = b;
1430
- }
1431
-
1432
- // Increment result exponent if there is a final carry, otherwise remove leading zero.
1433
- if (b) ++y.e;
1434
- else c.shift();
1435
-
1436
- // Remove trailing zeros.
1437
- for (i = c.length; !c[--i];) c.pop();
1438
- y.c = c;
1439
-
1440
- return y;
1441
- };
1442
-
1443
-
1444
- /*
1445
- * Return a string representing the value of this Big in exponential notation rounded to dp fixed
1446
- * decimal places using rounding mode rm, or Big.RM if rm is not specified.
1447
- *
1448
- * dp? {number} Decimal places: integer, 0 to MAX_DP inclusive.
1449
- * rm? {number} Rounding mode: 0 (down), 1 (half-up), 2 (half-even) or 3 (up).
1450
- */
1451
- P.toExponential = function (dp, rm) {
1452
- var x = this,
1453
- n = x.c[0];
1454
-
1455
- if (dp !== UNDEFINED) {
1456
- if (dp !== ~~dp || dp < 0 || dp > MAX_DP) {
1457
- throw Error(INVALID_DP);
1458
- }
1459
- x = round(new x.constructor(x), ++dp, rm);
1460
- for (; x.c.length < dp;) x.c.push(0);
1461
- }
1462
-
1463
- return stringify(x, true, !!n);
1464
- };
1465
-
1466
-
1467
- /*
1468
- * Return a string representing the value of this Big in normal notation rounded to dp fixed
1469
- * decimal places using rounding mode rm, or Big.RM if rm is not specified.
1470
- *
1471
- * dp? {number} Decimal places: integer, 0 to MAX_DP inclusive.
1472
- * rm? {number} Rounding mode: 0 (down), 1 (half-up), 2 (half-even) or 3 (up).
1473
- *
1474
- * (-0).toFixed(0) is '0', but (-0.1).toFixed(0) is '-0'.
1475
- * (-0).toFixed(1) is '0.0', but (-0.01).toFixed(1) is '-0.0'.
1476
- */
1477
- P.toFixed = function (dp, rm) {
1478
- var x = this,
1479
- n = x.c[0];
1480
-
1481
- if (dp !== UNDEFINED) {
1482
- if (dp !== ~~dp || dp < 0 || dp > MAX_DP) {
1483
- throw Error(INVALID_DP);
1484
- }
1485
- x = round(new x.constructor(x), dp + x.e + 1, rm);
1486
-
1487
- // x.e may have changed if the value is rounded up.
1488
- for (dp = dp + x.e + 1; x.c.length < dp;) x.c.push(0);
1489
- }
1490
-
1491
- return stringify(x, false, !!n);
1492
- };
1493
-
1494
-
1495
- /*
1496
- * Return a string representing the value of this Big.
1497
- * Return exponential notation if this Big has a positive exponent equal to or greater than
1498
- * Big.PE, or a negative exponent equal to or less than Big.NE.
1499
- * Omit the sign for negative zero.
1500
- */
1501
- P[Symbol.for('nodejs.util.inspect.custom')] = P.toJSON = P.toString = function () {
1502
- var x = this,
1503
- Big = x.constructor;
1504
- return stringify(x, x.e <= Big.NE || x.e >= Big.PE, !!x.c[0]);
1505
- };
1506
-
1507
-
1508
- /*
1509
- * Return the value of this Big as a primitve number.
1510
- */
1511
- P.toNumber = function () {
1512
- var n = Number(stringify(this, true, true));
1513
- if (this.constructor.strict === true && !this.eq(n.toString())) {
1514
- throw Error(NAME + 'Imprecise conversion');
1515
- }
1516
- return n;
1517
- };
1518
-
1519
-
1520
- /*
1521
- * Return a string representing the value of this Big rounded to sd significant digits using
1522
- * rounding mode rm, or Big.RM if rm is not specified.
1523
- * Use exponential notation if sd is less than the number of digits necessary to represent
1524
- * the integer part of the value in normal notation.
1525
- *
1526
- * sd {number} Significant digits: integer, 1 to MAX_DP inclusive.
1527
- * rm? {number} Rounding mode: 0 (down), 1 (half-up), 2 (half-even) or 3 (up).
1528
- */
1529
- P.toPrecision = function (sd, rm) {
1530
- var x = this,
1531
- Big = x.constructor,
1532
- n = x.c[0];
1533
-
1534
- if (sd !== UNDEFINED) {
1535
- if (sd !== ~~sd || sd < 1 || sd > MAX_DP) {
1536
- throw Error(INVALID + 'precision');
1537
- }
1538
- x = round(new Big(x), sd, rm);
1539
- for (; x.c.length < sd;) x.c.push(0);
1540
- }
1541
-
1542
- return stringify(x, sd <= x.e || x.e <= Big.NE || x.e >= Big.PE, !!n);
1543
- };
1544
-
1545
-
1546
- /*
1547
- * Return a string representing the value of this Big.
1548
- * Return exponential notation if this Big has a positive exponent equal to or greater than
1549
- * Big.PE, or a negative exponent equal to or less than Big.NE.
1550
- * Include the sign for negative zero.
1551
- */
1552
- P.valueOf = function () {
1553
- var x = this,
1554
- Big = x.constructor;
1555
- if (Big.strict === true) {
1556
- throw Error(NAME + 'valueOf disallowed');
1557
- }
1558
- return stringify(x, x.e <= Big.NE || x.e >= Big.PE, true);
1559
- };
1560
-
1561
-
1562
- // Export
1563
-
1564
-
1565
- var Big = _Big_();
1566
-
1567
547
  const icon$6 = "data:image/svg+xml;base64," +
1568
548
  "PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48c3ZnIGlkPSJMYXllcl8xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxNzcgMTg3Ij48cmVjdCB4PSItMTEuMzgiIHk9Ii0yNS45NyIgd2lkdGg9IjIwMC4wMiIgaGVpZ2h0PSIyMzEuNTMiIHN0eWxlPSJmaWxsOiNmZTU7Ii8+PHBhdGggZD0iTTk0LjA1LDU5LjYxYzIuMDUsOC40OCwxLjM2LDE1Ljk0LTEuNTUsMTYuNjYtMi45LC43Mi02LjkxLTUuNTctOC45Ni0xNC4wNS0yLjA1LTguNDgtMS4zNi0xNS45NCwxLjU1LTE2LjY2LDIuOS0uNzIsNi45MSw1LjU3LDguOTYsMTQuMDVaIiBzdHlsZT0iZmlsbDojMWMxYzFjOyIvPjxwYXRoIGQ9Ik0xMjcuODUsNjYuOWMtNC41My00LjgxLTEzLjU1LTMuNS0yMC4xNSwyLjkxLTYuNTksNi40MS04LjI2LDE1LjUtMy43MywyMC4zMSw0LjUzLDQuOCwxMy41NSwzLjUsMjAuMTUtMi45MXM4LjI2LTE1LjUsMy43My0yMC4zMVoiIHN0eWxlPSJmaWxsOiMxYzFjMWM7Ii8+PHBhdGggZD0iTTkxLjc5LDE0MC40N2MyLjktLjcyLDMuNDktOC42LDEuMzItMTcuNjEtMi4xNy05LTYuMjktMTUuNzEtOS4xOS0xNC45OS0yLjksLjcyLTMuNDksOC42LTEuMzIsMTcuNjEsMi4xNyw5LDYuMjksMTUuNzEsOS4xOSwxNC45OVoiIHN0eWxlPSJmaWxsOiMxYzFjMWM7Ii8+PHBhdGggZD0iTTYyLjIyLDcxLjNjOC4zNywyLjQ3LDE0LjQ4LDYuOCwxMy42Niw5LjY3LS44MywyLjg3LTguMjgsMy4yLTE2LjY1LC43My04LjM3LTIuNDctMTQuNDgtNi44LTEzLjY2LTkuNjcsLjgzLTIuODcsOC4yOC0zLjIsMTYuNjUtLjczWiIgc3R5bGU9ImZpbGw6IzFjMWMxYzsiLz48cGF0aCBkPSJNMTE2LjU0LDEwMy43NGM4Ljg4LDIuNjIsMTUuNDEsNy4wNywxNC41OSw5Ljk0LS44MywyLjg3LTguNywzLjA4LTE3LjU4LC40Ni04Ljg4LTIuNjItMTUuNDEtNy4wNy0xNC41OS05Ljk0LC44My0yLjg3LDguNy0zLjA4LDE3LjU4LS40NloiIHN0eWxlPSJmaWxsOiMxYzFjMWM7Ii8+PHBhdGggZD0iTTcxLjY0LDk3LjcxYy0yLjA4LTIuMTUtOC44OCwuOTgtMTUuMiw2Ljk5LTYuMzIsNi4wMS05Ljc2LDEyLjYzLTcuNjksMTQuNzgsMi4wOCwyLjE1LDguODgtLjk4LDE1LjItNi45OSw2LjMyLTYuMDEsOS43Ni0xMi42Myw3LjY5LTE0Ljc4WiIgc3R5bGU9ImZpbGw6IzFjMWMxYzsiLz48L3N2Zz4=";
1569
549
  const PERA_WALLET = {
@@ -1574,7 +554,7 @@ const PERA_WALLET = {
1574
554
  };
1575
555
 
1576
556
  const icon$5 = "data:image/svg+xml;base64," +
1577
- "PHN2ZyB3aWR0aD0iMzIiIGhlaWdodD0iMzIiIHZpZXdCb3g9IjAgMCAzMiAzMiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+CjxyZWN0IHdpZHRoPSIzMiIgaGVpZ2h0PSIzMiIgcng9IjE2IiBmaWxsPSJ1cmwoI3BhdHRlcm4wKSIvPgo8ZGVmcz4KPHBhdHRlcm4gaWQ9InBhdHRlcm4wIiBwYXR0ZXJuQ29udGVudFVuaXRzPSJvYmplY3RCb3VuZGluZ0JveCIgd2lkdGg9IjEiIGhlaWdodD0iMSI+Cjx1c2UgeGxpbms6aHJlZj0iI2ltYWdlMCIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTAuMDU4NjA0MyAtMC4wNTEyMjcpIHNjYWxlKDAuMDAzNzczMjEpIi8+CjwvcGF0dGVybj4KPGltYWdlIGlkPSJpbWFnZTAiIHdpZHRoPSIzMDAiIGhlaWdodD0iMzAwIiB4bGluazpocmVmPSJkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQVN3QUFBRXNDQVlBQUFCNWZZNTFBQUFnQUVsRVFWUjRBZTE5ZDVoVjFkWDMrOC8zNy9jbW1rQUVSU1ZmVEY1ck1ER3hSMDFNZVUwTUE4aFFSVUFwU2hVc0NJS0tZQlM3Mk1IZXNLQ0lnZ1VwMDN0bFlBWVlZSURwekF6VEdLWXc2M3QrKzNMR3krV1dVL1k1ZDU5ejFuNmVlZTZkZTg4OVorKzExLzd0dFZmOUwrTEdGR0FLTUFWY1FvSC9ja2svdVp0TUFhWUFVNEFZc0pnSm1BSk1BZGRRZ0FITE5WUEZIV1VLTUFVWXNKZ0htQUpNQWRkUWdBSExOVlBGSFdVS01BVVlzSmdIbUFKTUFkZFFnQUhMTlZQRkhXVUtNQVVZc0pnSG1BSk1BZGRRZ0FITE5WTVZuNDUyZEI2bnB0WnVPbEI3akhaVXRGRjJXUXR0SzJ5aXJ6TVAweWRKZGZUdXBtcDYvZXRLZXVHTFEvVE1wd2ZvaVRVVnRQeUQvZUlQNy9FWnZzTTF1QmEvd1c5eEQ5d0w5enhRZDB3OEE4L2l4aFNJUmdFR3JHalU4Y0YzQUltSzJnNEJIbXVUNjJqbHVrUDB3T3B5bXJSaUovMXJVUkZkT3plUExwMmVUUmRNenFUL2QyczZEUnFkU3IrNEpZWDZqMGloZmlPUzZlZkRrK2xudzVMcGRPMHZJWmxPUzBnU2Y2Y24vUGc1cnNHMStBMStpM3ZnWHJnbjd2Mjc2ZG5pV1hnbW5vMCt2TGp1RUtGUEFEYjBrUUhOQnd3Wlk0Z01XREVJNUpXdmU0NzMwc0c2WTdTbG9JbGVXVjlKOTcyK2h4S1hicWRyNXViUytaTXk2S3pScVFKTVRrc0lBQkNBNVl5UktYVG1xRlFhTkNhTnpobWJSdWVPUzZQQjQ5UHBsK1BUQmRBQWJNejgvZkxXd0Qxd0w5d1Q5OFl6OEN3OEU4OEd3S0V2ZUkrK25UOHBrNjZkbXl2NmpMNWpERnNMbThTWU1EWnUvcUFBQTVaSDV4bkh1S3pTRm5yam15cWE4Y0l1K3V0OUJXTFJBeEFnRFFFUUlPVUFKQUFZQW9oTUFwQVowTkw3RzRBYitvWStvcS9vc3liUllTd0FNb3h0NXNwZFlxelpwUzNpZU9uUmFmWDlzQml3UE1JQ2g1dTdoRjdvNlU4UDBOamxKWFRabmRsQ01nRTQ0U2cyTURFQVRGYWxJNzFBNDhSMUdBdUFiRUJpcWhnampxQ1F4aTY3SzRmR1BWWkNvTVcyb2lacWFPbnl5Q3p6TUJpd1hNb0RuZDI5bExlN2hWNzY4aEJOZUh3SFhUb3RXeHluc0dpaEk0SitDSktKRThDaDBqTXdab3dkTkFBdEJveE1FVG80ME9qbDlZY29mMDhyZFhYekVkS2xiTS9CejI2YXVQb2pYY0xDQmgzTzlmUHlhTkNZVkxFbyt3R2d4cVJaMWkycEJEeXkrZ0lwRExTQkxnd0FodmZYejgrbisxZnRvUTJaaHdrMDVlWWVDckNFcGZoY1ZUZDAwcHF0dFRUbG1WSWFNaTByc1BDR0pkUEFVZjZVb0t3Q0dTUXcwQTVIWllBWWFBcmFnc2JWaloyS2N3TjNqd0ZMUVI1b1BkcERHN01hYU1ZTFpYVHhIVmxDeVF3OWxKQ2lGRlNNV3dXUmVQMGVDbjNRVkhQTkFLMW52bEJHRzdNYnFLMmpSMEhPNEM0eFlDbkNBOUNxWkpZMjA1SzM5OUpWczNLRkRnYldzTFBIcFBsT0R4VXZBQU90UWZQK3Q2VFFWYk56NmFGMzlsSldhYk1pSE1MZEFBVVlzT0xNQjdXTm5iUjZZeFhkOUVDaE1OdER6d0x6UFhiL2VDMWN2ejhYZWkvTUFlWUNWc2QvTGl5a043K3BwdG9tUGpMR2Via3dZTVZyQW9yMnR0SENOOHJwdDFPenhNS0FUNUVmclhxcWd5UG1SUGl1SlNUVGtLbFpZczR3ZDl6aVF3R1dzQnltK3c5NWpUVHB5WjNDd3h1ZTNMRDBxYjVvdVg4QmFSZHpoVG1EZC83a0ozZlM1dnhHaDdtSEg4ZUE1UUFQUUlHN1prc3QzZnhnb2ZEVWhwSVhUTTlBNE01akwrWU9jd2pKNitZSGkrampyYlhVZm93RHR4MVlTbndrdEpQSUxlMDk5TnJYbFhUMW5OeStVQmd2ZVpyN0hYQXhsMXFvMERWemN1bjFEWlVFQ3k4Myt5akFFcFlOdEFYVHZ2cFZKVjA1SzFka0xVQllqTjhYdDlmSGp6bEdsZ3BZRjdGSnNWdUVEUXVMcllSeWlZcVFqM2UrcjZhclo1OEFxbEVNVkY0SHF0RHh3U2tWd0lVc0dPOXVxdUV3SUxsTGpJK0VzdWo1WlZvOTNYaGZ2dkNnWm9uS25icXBVUEN4OHYrQXhFQldER1NTV0o5ZUw0dk5mSDhmUGhKYVpJR3NzbVlhdmF5RStwMVF3bHBoY3Y2dDk0RHVqRnNDK2IxR0x5OFJpUWd0c3B2dmY4NkFaWklGcWhvNjZkN1g5Z2pIUWxpTVdKbnVQYkNSdFlHQU44QWp5Q0tCd0hYRWgzSXpSd0VHTElOMFEzTExWUnVyaE1NbmRCVXdjZitLdmRMWnFCQ0RCOEFqNEJYd0RCeFFFZDNReTFsdURLNCtEczB4UkxDY1hTMDBkSEdSY0I1RXlBWURGVXRWUnFVdzhBeDRCOENWc0tSWTVEUXp4SVErdjVnbExCME1BRGVGUjk3ZEo3elNrWkxFS0pQeTlReHM0WGdBdkhUMjJEUjY5TDE5N0FhaFl4M2lFZ2FzR0lSQ09hcnI1dVhSVDRjbWlYUzhMRlV4K0lRREh6T2ZnWmVRNGhtOGRjUDhmRW91Ym9yQmpmdzFBMVlFSGtDb3hlSzM5b3A4NGZCbVpxQmlvRElEU25wL0F4NkREeGZTQ3gzbE1KOElxNUlsckxDRXlTbHJFWlZZc1BPeFVwMkJTaS9vV0xrT0d5SjREVHdIM3kzb1M3bWRTZ0dXc0VKbzhzSVhCNFdZamlJR0xGVXhXRmtCSWJPL0JlL2hxSWlpdHR4T3BnQUQxZ2w2N0svcG9OSEx0dE5wUTVPRUlwVEJpc0hLTE9CWS9SMTREOWxQd1lzbzJZYXExOXdDRkdEQUlxSXYwK3Zwd3RzelJVWUZxOHpHdjJlZ2s4a0RTTmw4MFIyWjlGWEdZY1lzdGhJU0xmOWd2MGdSQW9YbnJ5YndZcE81MlBoZTF2a0pQSW5ZVkNqbC8vTmhoZTlCeTdjU1ZrMWpweEMzV2JGdWZWRXhNTmxMdzJDRi9QakhTcWpPeDdubGZRbFlxSVJ5K2N3Y2tVdWRGNXU5aTQzcEs1ZStweWNrMFpXemNpaTcxSjlXUk44QjF2cy8xTkM1WTlPRWlNMUhRTG1MaWNISmZucUNaM0U4aEF2RUI1dHJmSGRFOUJWZ0lRUkNpNXBuc0xKL2NUR0EyVU5qOEM0eVA0Q1hsNzIvejFlZzVRdkFRcnJhS1UrWDBrK0dKdEZnTHY3QXNaQXhNaXU0QldnMVI5T3B6NVQ2cGdpRzV3R3JycW1ML3IyNFNIZ1FjM0ZTZTNaOHR5eHdML1lUUEEzREVUSS8xQi9wOHJ5MDVXbkFnalBvOWZQeWhIS2RIVUVackx3SVdOcVlVS1g2ei9QejZVRHRNVStEbG1jQmEvditOcnJzcm14eHptZDlGWU9WdHJDOStnb2VoMDdyanpPeWFVZUZkeXRUZXhLd01uWTIwd1dUTTZrL3NpeXdNeWpyckR5aXM0b0Z0dUIxeENIQ016NjdyTm1Ua3BibkFBdjVxekJ4cU1yTFlNV1NWYXhGN3JYdk5kNC83N1owU2lrKzRqblE4aFJnYmM1dnBNSGowa1VPS3dZckJpdXZnWkhlOFlEM0J5U21pc0lvV3dvYVBRVmFuZ0dzSC9JYVJVb094RjB4V0RGWTZWM2NYcjBPYXdCckFhNFAyTWk5MGp3QldGc0xtOFRFTUZneFVIa1ZnTXlNS3hpMG9DcnhRbk05WUtWdVB5SkVYODYyd0dCbFpsRjcvVGNhYUdHY2FTWHUxMm01R3JDUXl2aTgyekpZWitVVEs1alh3Y1d1OFFHMG9OUDZ6Y1FNeW5ONTZtWFhBbGJKL2piaHVzRFdRSmFzN0Zyb1hyb3ZRQXRyQlM0UGJ2YlRjaVZnN2F2dW9OOU56MlkvSzVhczJNZk1BQThBdE9DYitQczdzd2xSSUc1c3JnT3NocFl1dW41K0hudXdHMkJVTDBrS1BCWnJFalZBQ3g3eGY3NG5ueHBidTEySFdhNENyTTd1WGhxNWRMc284dzNDTS9NeURaZ0hqUE1BMXM1cENVbWk2RXBYZDYrclFNdFZnRFhucFYwaU1wMloxRGlUTXMyWVpxRThnSFJMODE3WnpZQmxCd1dlL3ZRQXA0amhZeUJMMVJKNTRKZmpBNmxwbmx0NzBJNGxhOHM5WFNGaGZaNVNSLzFHSkF2bjBOQmRndjlueVlGNXdEd1BJRjE0dnhFcDlFVnF2UzBBSS91bXlnTldZWG1yY0F3OWEzUXFWMktXdUx2eUlqZS95TDFFTytTSnc5ckNtSXIydHNyR0YrbjNVeHF3R2xxNjZhclp1Vnd3Z29HS2o0STI4Z0NVOENoc2NmV2NYSUlWWHVXbUxHREJkbkhyNHp2b3RJUmtEbWEya1ZtOUpDM3dXTXhMalFITFlUSk5lR0tIeW5oRnlnS1dwbVJuSmpUUGhFdzdwcDFSSGtCKytHYy9PNkFzYUNrSldKc0xHa1VZd1RsYzRZYVBRaXhkT3NvRDU0eE5vek1TVXdnWlVGUnN5Z0ZXZFVNbi9YWnFWaUNnbVpuVlVXWTF1aHZ6OWQ2VDRLQ0VSNkQwcGRPenFhYXhVem5NVWc2d3hqMVdRcWNQWTcwVmc0SDN3TUF0Y3dwOUZ0YmdyZjlSVDUrbEZHQTkvL2xCOW1SbnFaS2xTa1Y0QVBxc2w5WWRVa3JLVWdhd3NrcGI2TXhScVNMTnNWdDJJdTRuUzBGZTVvR3p4NmJSb05HcGxLdFFEaTBsQUt2MWFBLzk2ZTY4Z0wrVklydUxseG1SeDhaQXE0Y0hvTStDZjlaMTgvS29yYU5IQ1VsTENjQmFzR29QSVJDVHF6UHpRdEt6a1BnYTUvZ0VheEpId3dXcnl4bXdRQUdZVDRIaWc5bUZnWFUzTEYwcnlRT292SU0xcWtJaGk3aEtXRGdLWGpNblYvaGM4YTdwM0s3SnRHWmFHK1VCcEZlK2RtNHV0Y2I1YUJoWHdIcm83YjFDM09TaklDOGdvd3VJcjNlV1o3U2o0Y1B2N0l2cjBUQnVnSld6SzJBVlJIb0xaajVubVkvcHpmUTJ3d1B3Z2o5clZDcmw3bTZKRzJqRkJiQ1FsdldtQndxby80Z1VWclN6M29ZM0xKZndBS1Fzck5sL0xTcWk3cDc0cEZhT0MyQzkrbFVsTzRpNmhFbk43TVQ4RzI5TGNMQWFydHBRR1JjcHkzSEFxbXJvRlBVRXRhUmh6TnplWm02ZVgrL05MOWJ1UmJkblVuVWNZZzBkQjZ5NUwrL2lIRmNzWGZFeDBNVThnS01ocXU3TWU5WDVBaGFPQWxaMldZdUlCSWRmQisrODN0dDVlVTc5TTZkWXd3aWx5OXZ0YkZwbFJ3RXJjZWwyNmpjOG1jSEt4YnNyZzVKL1FDbldYS01nNitobEpZN3FzaHdEckcreUdrVEZXWlFXaWtVSS9wNXB4RHlnUGc5Z0xRTzB2czF1Y0F5MEhBRXNtRUQvZG4rQmNPOW5SblNHRWJYQ0F0QTFtUDhMbEZiRHZkdzJiMWhJNXNlZEZOaGNXUktPT2U4STJjSGFkc3JOd1JIQSttaExyVkMwdTQzcDNkemYvcmVrME5SblN1bU5iNnBNLzczMmRTVU5tWnJscXBRLzJQVUhqa3FsSlcvdE5UMXUwT3p4anlwRWVUaytFY1RlckU1UFNDYXNjU2VhN1lEVmZ1eTRLQjgwTURGUSs4ek5JT0NXdm1QQlhuWlhOclYzSExmTVE1Tlc3SFNOM2hIV0swaFdJNWR1dHp4dTNPQ2FPWGxDc2V5V2VZOVhQNUZTR1hHR1I0OVo1N2RZRTJjN1lLM2VXTVZPb2c0ZkxYQVVlditIbWxoenIrdjdWOVpYRW5iUWVDMEdJODlGeGc5WXJtUWxuSnUxY2hmOWJKZzd4bTZFVG5aY2U5clFKQ0hSNm1JcUN4ZlpDbGhJK25YbHJCd2hvdHRCSkw3bnFlSTZqb0kzTFN5a251TnlRaWZ5ZHJlSXlzQ0RGVGVXQkh5RGt1bnVsK1g1Qm4yNHVWYmtObWMrTzVYUFFta0NxUjVGajl1UDJadm96MWJBZ2k3Z3B3bEpydGlkUXlmQWpmOUQzd0xBMmxZa3IwUVR4SHd3SW9KZVZhYkoyV1BTNkRjVE0raGczVEVMKy9mSlA5MWYwMEhuVGNnZ0R0Q1BEVmpnRFVqMmIzMWJkVElSSmY5bkcyQjFkQjRYdWE1WWQ2VnZzcTJDQVNRTUhGOG1QN2xUTW9zUTNmbGNtZEFOV2Uyam5iOUhmQnVLNzhwdVF4Y1hjYjQyblNvTjZMS1E2dnhZbDMyNkxOc0FhODNXV3Rmb1B1eGNTRTdkRzZrLzRIMWNlcUJkOXBxbHQ3K3JWdnBvTkhCVUNsMCtNNGVRRUZKMmUvS1RDclp3NndRczhEcktnMzJXVkNkN0d2cnVad3RnUVgveWp3Y0tlV2N5TU5GV2dFM29iNFltMGVLMzl2Wk5yTXczSlJWdEFnd0hqM05HV2pSS2k5TVRrZ2dicEIwdFkyY3pEVXhNRVM0T1J2dmx4K3ZQdUNXRi9ybXdrQ1NwVUUrWlVsc0FhMU5lSS9VYmtVSy9kR2pCK3BFeGdzZU02UGxMcG1SUjNaR3VVeVpZeGdkd0NyeGhmajZwZUx5SHpnNzVtV1FaR1VMcHBlbndZSDBNcGptL0Q3OTVRWStLdGI4bHZ6R1VsRkwrdHdXd0pqeStRM21kaDVjWURpWmxPSG5hMldCOVU4M0VEOHNsUEsyVGk0L1lPWFNhOHlLN054aFpML0NGbS9pRVBWV2pwUU5XeWY0MmdzV0dNektFMzRHTVRMeWVhMUVjQU5LUG5ZcE9vTUVuMjJxVkFpek55RERsbVZKYndRbzNYNXRjUnovam9IM2RFaWJXUG5TcU95cmFwTStOZE1CYTlHWTVLeWtkT2dyanlJMkZ0Q0h6c0hUR0NMMWhlZFZSa2M1YWxZMElDMkx3K0RUYVhTbmZ5QkE2OXNyRHgraC9KbVc0S2tSSnoyWm41elduSlNRVHNFQjJrd3BZalMxZEl2WnMwQmpPZDJVbk0rRGVrREFnZWp1VjN1TTREQ2tMQ21oQVlvcnVuZFl1R21Ec2NHTndzb0lMd24yZ0w3TnJURjY3THpEZzBtbloxTlRhTFJXenBBTFd1OTlYQytjeHJ4RmZ4ZkZBMG9FaU9IK1BjeFZNRnI1UnJvUjd3NW1qVTJuSXRDdzYzR3lQa1NIY0Nudis4NFBNMndaUERnanBlbTlUZFRoeW12NU1HbUQxOWhMOWUzRVJwNUF4T0tsbXdGQzRNU1FrMGQydnlBdEQwY05CNjlQcmxUQ21JSG9DTWFwT3RueVhoQ2laNFNlN2ZnT0RTTUxpWWlJNVVXSml1cVVCVnY3dVZzTE9wM3JNbVYyVDQrUjk3UWhEMGJQNEQ5VWZvLytaR0Y5ZERvd01mN2szbnpxNzdmT21Ea2NMbEthN2JsNGV4OFVhMkpDQkJYQzVLU2lYbDBaWkdtREJhUkdLTmljWHJoK2ZwZWx2bnZwRWZoaEt1SVVhK2hta2FJQkdQR2dQSXdQMGR0ODRtT0V5ZVB6M3ZyWkhpU054UEdodjlwbkFoSWZla2VmUUxBV3dFQkx4eHhrNUFrM05Eb3gvcDg4TkFzNmJWOHl5Snd3bGVIRkdldi9vZS92akVuS2xHUm5HTG5jMmgzZ3dIYjdPUEN3QWt4Mmk5ZkVxMWpRa3JDdG01aEF5dDhob1VnQ0xKMUwvQkZvRlpzUnFmV3hUR0lvZWh2byt0MUZZeTV6T3hBa2p3NkRScVZRbzhYaWhaN3pCMTlRMWRkSkZkMlFLUDBPcjgraW4zNlB3akN5cFdBcGczZmw4R1R2V0dUamJtMlhXL2lPUzZlYkZSWFFjRm80NE5ZVC9YSHhIbHFPTFZqTXk0RWdXN3pidXNSSVJlbUoyRHYzNE8wUklJQm1pakdZWnNPcVBkSWs0TmlpQy9UZ1pUbzFaaEtHTVRLR1U3ZmFHb2VoaHFzUkhuZlZKR2pRbWxjNmZsRWxWaHp2MWRNL1dhMTc5cXBKMXRRWTNaL2hrL1hacUZqVzBXSGREc1F4WW55RnNnZFBJMmdyV2tEQkFZeFNWVUtFNW1YSkZNekk4dC9hZ0NrTW5FWG9HTDNzdUJteUk1eEdSOFVWcXZlVTV0QXhZMDU0dFZjSTN4eWxKSng3UFFSZ0tkRWE3SzQ5YW5uQVpOMEN3TVN5RlR1aXhZR1M0ZW5hdU5LV3QxZkVqYzhXTjk2cVp1U0lldktuM21RQXNKSUswMml3QlZtTkx0eEQxT0JUSFBxVzdKbUU4OHU0K3EzUGQ5M3VyS3JBamJkMzB1K25aaEtPYVhvWTFleDI4cFNIRnkyb3k4alRCaGNjdGhUbk0wbDMyNzRBUlF4Q3EwMkl0Vk1jU1lDSG9GbjR4c2dmSDkvc1JBR0VXUmhpS2pQTS9GbjNtem1ZcDFVMlFRZ2g1ait5Y3EzNGprbW5va21LeUNyQWEySDJ5clk2K3piRmVwWGhUbkN5bGR0TGE3bnZERmFUZjhCVGFtR1dOL3BZQTY5N1g5N0QreXFBQzBpaGpJTmVWekRDVWhDVkZoRCtyN2NWMWgyeU5yVU1tQmh3NzAwcWFyWFpWL0I1K1FPZFB6cVFsYjF0M1lteHM3YVpMcDJVNUltRWE1UmVWcjRkTHpuMnZXN1AwbWdZczVGKzZkaTRYbXJTVFFiQmdiN3kzZ0RvbEpmWEg3dmJmLzA0U3g3bm1kbXVpT1dyL1FmcXpJeFFMeDJBd045eGxaTFduUGoxQS8rZHZXK2lXUitRVVdVV3hEMGlBZHM2LzErNk5ZUDNyN3M2enhNK21BU3RuVjR2SUZtQUh3M3B0b3N5TVI2U2FIWjRzNVFpRFJZOEszR0FXQktTaXVrbXFSZmNJYkZpb2tHSkg2bUFZR1VDenZWVnlqQXg3cXp2b1Z4UFN4Ymd2dkQyVGFocXR1MGU4OWEzYWhUbk04SnpkdjlGaUMxSHIwbXd6RFZpQmRCdTh3OWd4eVpBd29Cc2MrNWk4TUpRWFBqOG9ja2poM29qdmtsRVNhNjROYVpNMUl3TkNnR1MxNmMrVjlTbkpJUlZ0eUxLZThIRFhvWFpoSlZVbG9hRWRmR2pIUGNGN0s3OHc3NkppR3JER0xDK2gvallyWGUwZ21CdnVpVVVnTThxOXVxR1RMcGljU1pvMUY0bm9SajFxL1dpMFpvdjh0TW1RMkM2ZG5rM1FFOGxvMElIaGFLMmRCSERVWENnaEV5YXNqZi9MbGFFTUg0bUJHZU1zeElPYUFxeTZwaTY2ZUlxejRSbHVBQm9aZmRRa29IdGVsWmZyYXNGcXBLMU9FbGxLMFVkRUpWeHlSeFloU3NGS2cxOFk3aWRUeWdoVUQ1YVQ5QTNXeFdFUEZSRkNtclM1d1hINHIvY1ZTS215OCtqNysydzFQR2g5OXRLcjRMMHBXVlJ2TXZtaUtjRDZJZTlFQUt6TkZqSXZUWlRlc1VBS1F2NXc1QkdYMFRUUDdHQlFnWWtaVWhiS3NWbHBLSzMxdC91Uk5sbU9QeFlrSVlBSmNrL0phSituMUo5aXhRWWRJRzNKS0RpN3JhakpNUWRhdmZ5aituWFF6VUtQdXFYQUhPK1pBcXpIUDZybzB3bW9UaUMzOVErNXlwLzVURjZ1cTRrcmRvaEZDOGt0bUJZNEdpMTczN3FlNlA1VmN0SW1nNUdodC90T2dwOFV3QTcxQksrZG0wc0RScDRLcG5ENmZPdGI2eGxMT2EzU3lUd1Z6Ri9SM29QK0t6NnVNTFVubVFLc3hLWGJPUlZ5Q0FCRW15QzkzeUVNNWNwWjhzSlF0aFEwaWVOUXVCQWFTRE5ERjF2M3gwSjhtRlhuWVlBcDdqSHVQL0pxMmNGUERPQWZqdlo0MXBTbjVjUmxUbitPUTlQQzBUamFaNUR1eHl3enAwTTFERmlpTW81d211UHNETkVteGN4MzJIayszaWFuNURxT2F6Y3RMSXhZNlFXdUF6aDZJdTJ4bFZaUjIwRy92czFhMm1RYzB3SzVydVRVc2FzOWtiZHEwT2p3UEFxRHhoL3V5cWFXZHV0SjVUN2NYTU5aU0ExdTNwanIzMC9QcHFZMjQ0WVZ3NENWc2FOWmxDd1B0MnViV2FUOG00QllEZXNKMGcvTHluV0ZoUlFyWlRVa0RSU1dzTktnMlA3WG9rS2h5ekV6bDVxUlFXYXVxMFZ2bFBlNWNJVHJFM2dYRXFhTVZEMzdhenJvdkFucGRPNEozN0Z3eitQUFRqNDZndjZ3Qm1lWEdmZkhNZ3hZcjIrb1pQMlZ3UjBsRnNNaVZja3ZKQzBnZ0U5TGV6ZGRQak1uWnNFRVllSmZiYjNZSlhKMm13MEdEdVM2eXFBcVNVYUduUWZhaGRWU2N6Nk5SSHVBK1JOcnpPbFJRZ0VlUjJ2TVg2Um44ZWNuQXhib0FYNTV3MFRsSThPQWhjeUJuUC9xMUFrd3k1U1FNR1RudWtLQmlrajZtK0IrUWlHTjRxaFdNeGg4azlWZ09rd0YvWlNaNjJyeVV6dkRHaG1DeDQzM3NGUU5lNmc0Rkh0TS9iOWlUVVZNYVRiMCtYNy9IencvKzBYaldVZ05BVmFnK20raE5ETzIzeWNONDRja0FEUDdya055d2xCRUthNUpHWDFPb3RGb0ROMFJBSE9QeFJBWU9LWmVPRG5UY0NsM1ZKRythbll1dFVzcVVKQlUxQ1IwZHBxVGFMU3h5OUxoQWVFeWRyS2FKQnF0dzMwSFY1aC9MQ2cwdkZrYUFpekVZRjEwZXlhZHplZDFLZUkvd0FJU2hzeVM2L05mM1NOMmU4VE9oV09VME0rdzA4bFE5QTkvdU5pdzVSaEgwaytUNU9TNmdwRUJ1alFqNWVTaHc1T1JCUk11RkZmTnlxV3pScDNxUWhGS2IvNC93SmR3SUVWQkQ2TnhuWVlBSzYza0NDdmNKZXF2K25KZG1mVDZEVDIvb0tMTVdhUFRESG1lQTdEdWZ0bTZWLzFqSHhvci93VWpBOUxjV0QyT2FqUllzN1hXc0I0TmdIblBxOWJTbldqUG4vTVNxMHFNZ0RFVTd3TkhwVks2d2ZSQmhnRHI3ZStxV1g4bEViQWdYYTB5b1hqVUZrbm9LeXE2UUdxQTVLYVhlY0EwTjh6THQreGREcDh2NklYMDFPeURrUUZXT215QU1ob2NPT0cvQmo4MnZlUEdkUmo3OWZPc3BUdlIrcjgycGM2eVA1cVJ2bnZoV215VzczNXZMQXpMRUdBOWlOU3dYSERDMEtLSXhGaG5qRXlsUDkrVFQwalRJcU45bDl0QXFQOW0xTjBFNEFGZEZrSjRyTFREelYwaVhYYXM2a2w5Um9abjVUaHVvcy9QZnFiUHlCQTZGMGdTaUZDb0lnbTFEaEZLZGY0a2EvNW9vZjN6K3YvQWtpVnZHVXVvYUFpd3hqMjJnek0wR0pCZUlqRWNRQVdTME1aTTYybE9zR0FSZTRjWVBFZzRrWjRaN1hPWW1KSGZ5V29ic3l4MkJnOG91ekYrV1FVMU5LQXdtMThlN2cwbzNTV2pqVnpxYlBtemFIUHFodStnRnJqVllIU0Ric0RxN082MUxXR2JHNGdyczQrUWhFWXZrNWZyNnAzdnFpMloxUUdleUJsbHRTSEhGckl0UktJVnBDdWtmSlpaVUFNT3B3QWRJOGZnNFA0aEwvMkVKK1NFQkQyLzlxQ2xlUWp1bHgvZXcza1VSM0lqd2U2NkFRdm1jbVJyak9XUTV3ZENXeGtqamwrWXFQdzlyVmJ4UWZ5K3FiV2JmbjludHFYTW43QnV3YjNnNkRGcm9TcXBNWXd5ZlVZR0NRVTFNZmppZlcwaXJ6cG9hblpPY0lSRmZuWlVnTExha0VrVFk5VGpWbUcydjE3NkhiQUVsc0txQnYzaFlib0JTOHZoYlZSSDRpVUNXeDBMWEEwZ2djaXd5bW1MQzlZNVBVNmkwZnFPQllhRmxtc2hkUzM2QXcvN3krN01wa2d4ZkJpN3pJSWFxTnlEZW5kbXBTdlFCUHlNby9UbWZIUHBUclI1d0t1V05ocksvR2owNXU4Q1JpSHdIWFNJUmpadjNZQzFMclZlbEhYU1l3WGlDUWx2cGNOdS9wdUpHWFN3cmlPWXowMi8zeWZpMkRKRVFqNnJOSWNlNjVYMWgwejNSZnZoeENkUS91dkhoSGxhdjJBVi9NczkrUVRWZ295R25HdzR6c25ZUURIMnBlL0pxZnVJU2xKc21BclAveG92YUsrWU8raXgxbWZvajJmVkRWZ3ZmWW15VHFjeW92WndmbzA5U1pDRVpPUlMxeFk4d3FTczZHK0M1d3dnZzl4WlZ0dkw2dytkNGc4RnhvU2VEQ0U4TWhxcUwvLzlmdk5HaHVCeDR6M0E5SitMQ3FYVVAvd3E0N0FBYk43WVk2OEgwTjZvMFVNM1lLSGFMZndtUWllYi85YzNNVGdtWERFemgrQXpKS09oYWhIdWVlNDRmYytQTlU5SStYSFpYVG1XVTY1b3FvTmdQUTdBYXF5RlBONmg5SHB2RXpKUlJGYnV4eHByNlBmSXRJQ01DL3VxclV1K2RVZTY2T0k3TXFWSXZhSDk5T0wvd0pTSDN0RXYzZW9HckR1ZTVrUmxWaGdHeHc1NFk4dHFNS0dITzNxWjdTT2tJTVQyV1hYbUZHRXFzMzhNVTRGQ0hQcXhBa2xHaGlOdDNmU0h1M0lzR1JuQzBRZ0w1Nk10Y3VZSERyekJlZVREUFk4L0MyeTAyTXltUHFQZkowODNZQ0d5blZOb21KTm1jRTVIbkJ1Q3gyVzByek1QQzJsWDlyRURVb3VNekFsM1BsZlc1M0dQZTg2WFdGQURLV0dzR2huQ2dRV1U5ek5YR3M4ZUVHNCs0ZGZGNmhOOWF3V1lNdHhBMWd4ZGdBVkZLZndsWUk0UE45bjhXZVRKZ2VRQ0t4UXlDY2hvc0VUZE1EK2Y0Q2t2bSs0SUhKWnhkRU80QlJUUFdrRU5xMWxOTmJwcDJVMWplZE9ib1V1ZmEwZW45Y2lEN2Z2YkFsazRMTGhibUJtREczOER0UWI0V2E4dmxpN0FncS9QNzZabjYwcFo0a2FpMmRWbkxReEZWdjV3TE54Vkd5cUY4NlVkZlQ1N1RLb0lyMm13R0l5TkpIb0krZm0vTjIrVFdsQmo3a3Z5akF5aDlNUEdZallMcGdhbzJpdU1BamZlbXkrTzJLSFA0ZjlQM3R5eHFjR1BFRWQ5UFUwWFlHRm5RLzV2ZGhvOW1kaXhtQS8wZ2c2bjdHQzducm1JZVEzaTlZWk16Ykl0allrbURTS1EyVXJEZ3IxeWRxN29xeXdqUTk3dVZnRW9zb3dNNGVZT2VrWlVOSmZSSG55ei9CUnJhYmhuK3YwenJCRVUrVDFRcDg5NVZCZGdGZTlyRlRzbWRrMi9FMWp2K0NGZFFkZXk1RzFqd1ozUkZzdkQ3KzZ6Ulg4VFBDYm9Ydjd6a2ZYVXdkT2VLNU1Xb3dlYUlKUUpDdHJndnNwK2p5UHhLSlBWWEVMbjdmdmNFN1U3eHh2YjVHU1BTZlg3WVVQSFJvbGp0SjZtQzdDUVVSSGlNbTZzT2dGVTZSOHNZNWRNeVNLWXVXVTBCQXVEL25aTHVkQzNqWGpZZXVwZ1NKVnRraktKYnN4cUVHQmxOLzlCTndhWEJGUTJ0OXFnUmhuQzFhVmk0Z1htRkdzbHE3UlpGOGwxQVJaWGVqWU8xSkN1WHZ0YVRoWUF6Q1JNdnpDOVd3bEQwUVBteUNhTG1OSHF4azVkREdUM1JUOGFHY3hsb3RBejVyNXJ4cWNMVnhFQXBJdzIrY21kSXVWUDMvMGxaUHJ3MnIxZzZRNkVSdWxUUStnQ3JNOVQ2cVQ2L0hpTjZLSGpnZWYwRGZQenBPVzZTaWsrSWlZMTJCa3o5Sm15L2djRHdRM2ptMnc1aTlicXdnZm8yK0hHRUlsZXNHNHVlbFBPTVI0Skx6bE1KL1ptRDMvQ2RXbjZ3bk4wQWRiN1A5VFlyaitJeEVCdSt4d0xIajQ5Q05HUTBlQzdkZk9pSWtmemtFSDVMRFBQdkZrNjFCL3BFc2RxSEJtYzRnTTR6eUszR0hMRVcyMG9MSUlqajVWc0VrNk5PNTdQZ1c0U2RUVDFOTksyNU40QUFCOFBTVVJCVkYyQXRYcERGWWZsNkJEbmNWenJOenlGRWg4MVY0WTczSVRCKzlwcEowUklpRGMvV0VqV2wyeTRFZW4vYk5HYjVjS0Z3KzVqY1BCaUJiakF1RlI2d0xwbEYwVm1iM3JBZkpIWjRINTUrVDBBNjgxdnFuUXhoaTdBV3ZuRlFSWnRkUUFXR0IzR0NjVFR5V2pON1QzMHh4bXhDNkxLWnVaenhnV3lTdWcxTmNzWWErZzlkbGEwRS9vUmo0cktPTWJoT0NlalBmcmVQblp2aUxGMm9KdDkrVXQ5bVVKMEFSWUtjK0tZSUh0aGVPbCtrQUpBbzdrU0t0Qm9DMlhGeC9hRW9laWhPM1k5R1NXd3RMRVlmWjIwUWw5QlZEMWpNWG9OeG00a3ZpM2EyQkRoQUluVmJndW4wVEdxZEQwMkNPVGwxOU4wQVJiaXR4aXdvaXNQNFNVZXlIV2x6d0V1MXVUWUdZYWloMW5CUkFza2xMR1BOYzV3MzIvT2J4STZ1M2d0Y3VqTS9qQkRUbWFObHZZZUVhenRwQjVPei95cWRBMnc1Y2xQOVBuKzZRSXNaTFdVbWM1REpXTEo2Z3NzV1pCRVpiVlpMKzRTbTRTVCtwdGdXa0Q1akp4VHNnSzI5ZElGWHZLb0NBeFRkM0Ivbkh3UG9Cd3dNb1dROGxsR1E3NThTRzFPanNGTnp3SmdQYTdUV1ZrWFlDMTdud0VyR2dNZ2dQUHltVG5VY2xSZlBGU3NSWkJWMmtJbzVSM1B5QUxOc3JXbjhtaXM3a3I5SG9IVFRoc1p3czJ0MlBVL2xyTUJ3UUxHN2cyUlR5Z1FocFovc0Y4WEh6Rmd4VkFJaG1QbTBNL0EzREp6WGQzeVNMRkkveHY2SEtmL2h6TDBZNGs1dkdKeHBJeUNHckpvQkFuUFNOcVRhR1BiajFUV3Q2WEh4WUFnaXg1MjNrYzZZQ0cyVElWZHowNmltYjAzNHM5azVycUNvaHRBSVR2WGxabnhvUjkzdjJLOWpIMjB4Uno4SFhaWkhLM2pkUXdPcGhGQ29NNmZsRW1vZXlpakRWMVN4UG5rSWdnSHdCYXBSOElWckhRUHEzK0E1emwyNHFRaU9ib09aT3U4Wms2dU1tbEpVUHBkNUNycXNkOGpxN3pxcUtBeFFvT0NnU09lNzJWYVNtSHg1VTAvL0xFUUp4VFFSMC9UZFNSRTRRVGNOSjdNbzlxemhSdkRzR1JDNm1oWjdZWFBEem9haGhLTHBvUEhCYnkwZDFUb2k2UzNRZ2NvcHFIblFTbTBXUDF5Nm50SW1QZThKa2ZDUkFJQmJBRHhzbnc2UlRNeno4RzhQL09wUG4yaExzQmF1ZTRRS3cxRHhGa2NHYUFVbDVYckNzVWtrUmNJeFNETVRMcGR2d0V6eVhLaWpBUm9xZHVQQ0YrbHdlUFZrYTVBVHhoVGtHbTNzOXQ2RmxJVXFVV3gyak1WbTErNytNYklmYkV4b0NxWG5xWUxzRkQ4RWpjMTBna3ZYd3ZwQ2lYWGpWVDdpRFVaOTcyT2t1dEpTa2tZbUVNY2k2WTlLMCtLREtWRGIyOHZEVjNzYkt5a1h0N0Vob1NVTThWNzVWVHBudjNpTGw1SElScy81Z0t4dDFKRGN6ajQrZVJqQ3B3QUw1bWFSUWpPbGRFS3kxdEZUaURObFVEdmduTGlPb3dWTGh1eWNsdUYwdXVUYmJWS3F4dWdDcEdWSnVpejVEcXhPSjJZTnpjOUE1dmloNXYxVlN6U0pXRjlub0txenl4aGFVd0FTOWJyRytUbHVocjdtUDNaTkxXK0czMkZ6Z1h4a1hvVHJJVUNVclQva1Q3NWlsazVRcmRqdEY5T1hRKyt2KzBKNndWbVFRZFlIRG5WK01tYlA2emgwdFBMYk1vN2tlNDFqRGpuRk9PbzhweEFycXQ4YWJtdWtIY0tPNHdLYmd5UmFBenJGZ3dDc2h1TU9VN211b28wdm1pZkR4cVRTcGRPenliNGlNbG9JeC9aSGxjdi9taGpqY2QzNEh1UndFOW5IUUZkRWxZNkxCeWNJbGxZZUFBdUc3TGs1THBDTnMyLzNJT1NYZkVMUTlIRHBFam9oK0tnTXR2QnVtTWk5aEl4bUhyNkVLOXJJR0ZpUVcwcGFKUXlmQlM1WVBlR0g2VXMwQmRxQjcwU3ZDN0FLdHJiSnBLUXhUTlVKRjRNRy94Y2dCV0tJY2hxcXpaVTJWYXlLN2pmVnQvRElpclNKamZJUzV1TXJCWll1Q280aWNhaUQvUllDRStUMFZEOUJ3dlVpZXl4c2NhbHd2ZlEyd0swU21RV29VQm9nZC9QM2lBc2REbjV1K1ZZaktDdy95MUtkcm5BekkwK29xQkdqYVE4NzhnWEJsckN6MHVGUlJPckR5S2g0YUlpUWtJK3F3MHVFdGZOeXhNbmxsalA5Y1AzMkF6aHpuT3dYbDlFZ1M0SkMrZDNuT05SOU5BUFJBd2RvM0JqU0VpbXV5WG11a0w1TDlYMU54b2QwRTlabGpJcytKRkx0NHZpREc2UXJrQURiRmJuVFVpbmZkVWRWdkZLL1A3ZTEvYXdYK01KZmZpZzBXbDAyVjNaMU55dVQwZW9DN0N3Sy9pNVZEMThjV1RtdWtMNlhTd0M3QzRhS0tqNkt0dklzRDc5c0RLeGtrWm9EajlFV1FIdXlQZmZqOVBOQ042SGJ2elA5K1JUbDg3d0wxMkFoVzFoMkVQRnZnM2VoSVFCaTVhc2h2SlBXQUNxU3hqUUxVQnZ0MUdTa2VGbzUzRzY3dTQ4a1d2S0NGaW9jQzNtYTliS1hWSllvSzZwa3k2NkkxTTRwYW93dG5qMjRSY2pVd1MyNkNXc2JzQ2E4a3lwTDVPUURSeVZJaHduWlpWY1J4bDRXTjBBQnZGa0ZEM1BsbTFrZUhuOUlkY2NnMFBwYzlhb1ZMcDZUaTUxZEZvUDA4SGloTlcxM3dpMXJjT2hOTERqZi9DWWtYVFV1Z0VMT2hjL2h1ZWNucEFrN1NnZ3NtaytFTjlzbW5xWkRrZFdLTnNMOXNneE10UTJCcVNLczBhcmZ3d09SeU5zTUlnRHpKRlVZT1RWOVpYczNvQ3duR0hKaGtMY2RBUFdLK3NQK1k3QWdWeFhSVkpxMUdGWGZXOVRqU3RTVFd0R2h2bXZ5c2xVZ0xFdmZLTmNTRmNxWldNSUIwelJQa09zSnlwSXlXamI5N2NKSGFaYkxLWFI2R0xsTzdpMnZQcVYvcWdSM1lEMVpYcTlhNDR5Vmdpby9WYkxkWlZjcksrRWRpd21QdExXTFlvUndKeXZQVVBWVjFpRDRjYWkxOVFjYSt3N1VMSnJyRHVNRE5IbUJFZjVNY3ZsK09HaFVPdU45K1lyay9zczJyanQrZzVTSzJocXBPaXdic0RLMjkwaVVwLzR3ZUVORWdaRTFkdWYyaGxyTGVyK0hoa1ZvYnhYWGRFTzVrUS9uOUZaZGtrUEFTYXUyT0VLSTBPc2hZbmtnaGZma1VsMWtvTGVIM3h6cjlLQjM3SG9ZZlY3WUFrMngvdzkrdXQ0Nmdhc1EvWEg2TUxKbWE0d3hWc2xKS1FCNkhCa1ZQL0ZnaFk1dlNla2swclpOQ1BSYUdCaUNsMHhVMDZKSzR4OWMwR2paeVJ6TFZBWDhaOHkydmU1M3FGTkpINks5am5XMlVXM0cwdERyUnV3T3J1TzA1L3V6aE1leXRFNjRmYnZoUDVtYUJJdGZtdXZESjRVOTRBNUhNcDdOMGhYMG8wTUN3bzhGZXlMTUowSDN5eVh3aHVOTFYwMFpGb1dJY0RhN2V2R1RQK2hIb0hYZjFlMy9oQUMzWUNGR1JxN3ZFVHNsbVk2NTViZmFHRW9zc1QrN0xJV2tUN0ZEWEdZTURMY3ZLaElXaTFDdHhnWmpQQW02algrN2Y0Q2FZWVlWTGlHYWQ5SUg3eHlMZlJYNC85akxIV1BJY0JhOUdhNTUwTUtrRWxVWmhoS29HU1grZ3hwajVFaDIzTVNPVlFGb0pXczFOakl0T25YZWdsSXYyMzBKR01Jc043NnR0clRnSVV3RklRZ0llMkxqUFpsV3FCa2wrbzdvbVprbUNLeG9BYXFoYnZGeUdCMGZyRFEzdm0rV2dhTDBLNURSd1VBQWdpTjlzUHQxOE93aGNLNVJwb2h3RUt4QUs5Vy9vQkNGYm1salpoWW94RWFIdEhRK2FIa3VlcU1CZVdueklJYUNCS0d2NVViakF4bTVrWjRaMHZLYzMrOGwraC9IeWgwQlorWW9WV2szOENsQVhHRTZUdWFveTJqVTc0ekJGalZEWjBpTHhJWVBGSkgzUGc1SkF3d1llS2oyMDhoa05rUHREQVUxUlh0NkI4a0lVUXl5R296WGloempaSEJETDlDejNuNURIbDU3aDk5YjcvdmpvVklLSUI0U3FNcGl3d0IxdkhqdmZTUEJRVTBJTkZiVmcySTQ3Qlk1TzdXN3c4U2JYSFhOblVLZngwd3Rwa0Y0ZVJ2MEVmazVaSlZVQ056WjdOd2huU0RrY0VzblNFZFFQbWVWaUtuZ082Mm9pYVJkUmIzTmRzbnQvME9HUEtQQllVRUNkTklNd1JZdURGTTlGNktLY1RSQlNFWGMxNlNFNGtQR3NFaDhLZEQxYy9HQUNhSGRJWE1wN0xhaUllTGZSSFVDNTU1NmhNNUdUeGFqdmJRSCs3S2RrVXlSMW5BQ0F4QjJUT2p6VEJnZ2JtOVpOV0FhUHJyMnpLb29sWk9jcmFkTGdwRGtaM3I2b3RVZHhnWlpDdzY1SGtmOFVpeDBmVVc4ZnJwejViNXlyMEJHSUo2cDBhYlljQ0N5SS9qazFmRVYwZ1lLejZ1TUVxM2lOZFBja3V1cXhONnV3MlpjZ3Bxb0xMeE5YTnpQYWN1aUFSdTBPTWkzaEtsdTJTMER6ZlhlT3JrRW9sdStCellBUXpSVzNnaW1MNkdBYXNSNlpJOTRwMExLOFVmWitUb1RzOGFUTGh3NzdjV05oR2NMMVVIY3lqYWtmRlNaa0dObGVzQ3VhNVVOekpFVzBoR3Y0T2habDFhZlRoV01Qelp2cG9PT205Q0JwM3JNWU5XT0pyQ3MvOTNKa3VuR1FZc3pBU3NhUkNKdzNYR1RaOUJMTVhPSnFNaCt2Nm1oWVVDc0ZTbmdXWmtNQkowR28xRzFZMEI2L0VnRnhnWlpNNE45RERJenk2ckRWMWM1SXVzdnZCd0g3M01uRVhlRkdBaDg0RGI5VmlRaEc1Nm9GQmFpTVVIbTJ1RUtWL21nckRqWHBDQW9EQ2UrN0p4aFdla2hibGdkYm00cDUra0s4d05mQkp2bUo5dktCWXVFZzN4K1JOcktueVJjdzdZWVZZTll3cXdmc2hyRkJLV3l0V0tveTEySE5rQVdEakN5V2pON1QzMGh4azVyaWpkSkl3TUV6UG9nQ1Fqdy9aOWJTSTN1Ujg5dFJHaUErZlk0bjF0TXRpSU1sQ3dPTkU3K3VGd2F4QnJ6MHBoV2xPQVZkZlVSUmRQeVhKbEVuMUlBUkRsb1J5WDFiQmJRSGtmYm9KVSsweTJrV0hDNHp2bzV5NG9xR0hYUEVCYWtPVVdnaUlkVjgzTzlWejhaVER0c1dHaXhxVlp2ejlUZ0lXRlBtYVpPek0zd0xxRFAyVEJsTkhnRGdHM0NFeEU4TVNvK0I1R2hzdG55ak15UU5MdVB5SlplU09EblhQUmIwUXlUVndoYi9PRGI1S1gvQnhEYVEvOUZRcHdtRzJtQWV2NXRRZGRkOTRXVHFKRGsyalJtL0xDVU9CdzZxYVM2eDl0cVRYTEt5ZjlEZ1UxL242L3QzSmRoUzR1UGYvRDBBQ0xGMUpneTJocmsrczhEVmhZS3l1L09HU2FWS1lCQzNtZTNPYVBoVEFVcExoRjZJeU1oZ29xMERtNG9aQkEvMXVTNlo4TDVSa1pFR1VQNXRPenFMMThqZERKakpTbkQ2MnNQeWI4dTd3V3J3c2VnTTRQYXpCdnQvbEtUS1lCcTZQck9GMDcxMTBaU0tHL1FmVWZXUzF4NlhiaG5heTZkVXhUZEc2VFpHU0FOSEhabmQ3TGRXVVdXS0hIV3ZiK2ZsbHNSU01mMmU0Szl4aWo5RG96TVZVVTBrVWxlYlBOTkdEaGdmQkJjY3Q1RzJsZWtPNUZWaUZNcEtGQk9ocUFnZEdKYy9KNnpjZ3cyYWNGTlp5Z05VS2NibjZ3aUF6RzhVWmNzOCs1VU4yaWg4N0lJM2IvS212cHBTMEJGc0k2NERHdHA3UHh2RWJrdWhxV1RPdlQ1WVNoSE9zOExoTDlnVkhqT1M0OXo4YlJBaTRIcFFmbEdCbEVRUTBZR1h6Z2thMkh2cmdHM3VubjNaWWhpbzFFUkNFRFg2QkNGWTVPT0VMcDdZTWJyb09CWXFQRkFoNldBQ3NRcHBNdFN2V29TakJJR0NEVUxZK1k4NndOeDJkSW9ld0dOd1lZR2RCUG8ybG93NDFaK3d6Wk90eGlaSENTSjNIUytHU2JISU9HRnd1K29KelhwZE95Q1poaHBWa0NMRHg0K25OcVI1bERJUTdGT0l3RU1ocjhSeTZabXVXS1ZDRFlwZUh6VWlmSnlCQW9xSkhpdVoxZkJyQUJzTXlrUzRuRWsyNVN0K2loSDlRbmR6NVhGbW00dWorM0RGaWZwNmh0aGtXQUt2SlR5V29Qdm9WY1Ywa2lCYkNlaVlyWE5kQ3R3ZWZsd3kxeVlpVkJQNUhyYXJnNzhudzVUWGRZeksrZWt5dUx6U2lwK0VnZ21zUWp4MElBRnRJUFdXMldBZXR3YzVmWXhWVjBuQnc4UHFDL1diV2hrbEMwOHJ1Y0J0Ti8rRDE4bUtDcmNJUEpHWDFFSmxFVXdyQXlidngyVTE0alFSR01MSkdxR3htY0JpcnRlZEEzUVZjSXIvZE5FbmdOUWZtL21aZ2g3cWs5dzYydndBYndZa05MbDFXOElzdUFoUjdjOVh5WnNKaXBTRkRvY1hCK2hvTGM2aDlpb01DVXFyc3hhUE9Bc1dQbnR6cHU3ZmNNVnRHVjRERHVJSFd5Umk4cnI1ZzN0L0NaeG0rUlhuRmNucmxTVHJDOUZNQ0N0UkJITDFXRG9iSFFaUDFGbWhSVlA1YzFibFhuVmpXNlM2TzNSNDZDbUI5NEVueGowVHFvaVdaU0FLdjFhSTlJaEFjbHIyb014UDJKTGhVd2ZaZytkdkxBV2FOUzZZcVo4aW9NU1FFc29CK1UwVzdQa1dYbnhQRzlHUmo4eUFOd2dYbm9IWGxHTDJtQWhmZ2duTHU5NXV6bVJ5YmpNVE80eXVBQkxYYXdvTng4N0tCMkZOUmVwUUZXYnkvUnY1SGkxUU9wazJWTUZ0K0RGNzNmZVFCWWtMQkVYbVVoZ0pZMHdNTE5BaEg4N2toazUzZG00dkV6b05yTkExQVJ2YjlKbmgrZ2RNQnFiT21pSVZPemxBN1ZzWHVTK1A0TUJNd0Q2VFJvZENBVXA4bGlLSTUyRk5SZXBVcFl1T21pTjFHUVFQMkFhR1lxQmhibUFmdDRBQmdnTTFHbWJZQzFvOEsvUlFsNEFkaTNBSmkyN3FFdG5LdVJ6UU5ZSUx0Smw3RFFRVkdZd0FWcFozZ1J1R2NSOEZ5NVo2N2dSSDdiRXp0a1k1VzRueTJBaGVJRS9VYW9Yd0daRjRGN0ZnSFBsVHZtQ3A3K1dQdWI4eHZkQTFqSGUwbFVRV1lYQjNjd0dZTUJ6NU1zSHNDYS8rZWlRZ0lHMk5Gc2tiRFEwYldLcDUyUk5VRjhIMTdzekFNLzhnQUNuV1dra1lrRWRyWUJWbGQzTDkwd1AwOUVyL09FL2ppaFRBdW1oVmQ1QUhVVC9ueFBQbUh0MjlWc0F5eDArTDFOTmV6aWNDc3ZVSzh1VUI3WHlid05SOUVQTnN0SkV4MEo4R3dGTEZTb1FSWkdwQ2pteVQxNWNwa2VUQTh2OGNEQXhCUzZWbUpWcXJnQUZoNzZ4c1lxVnhSczhCTHo4RmdZREozbWdkT0dKdEhiMzFWSHdobHBuOXNxWWFHWGJSMDlMR1h4c1pBbGJBL3pBRkpuUTdvNjJtbStRS3BlUkxNZHNOQ1JEN2ZVc2k3THd3enI5RzdPejFOTGdvVHU2dU90OXVxdU5FQnpCTEM2ZTNycGIvY1YwQzljVUhpVUY0TmFpNEhuUSszNWdOL1YzKzh2SUt4eEo1b2pnSVdCSUtlenlQdnVvVnpWdkpqVVhrdzhQL2JPRDd6YXNhWmw1V3ZYQTNpT0FSWTZNMnBaaVJnZ001SzlqTVQwWmZvNndRTUFxOUhMU3ZUZ2pMUnJIQVdzM0YwdE5IQlVxaWRxclRuQkVQd01CaDVWZVFBWkdaQVNIYW5Sbld5T0FoWUdOdStWM1hSYVFwSm5hcTZweWxEY0x3WTd1M2dBOVJLeGh1ZS91dHRKckJMUGNoeXdxaHFPMFFXM1p4S1hCT01GWmRlQzR2dmF5MXRZdXhmZW5rblZqWjNlQnl5TThMV3ZLOW1abE4wYzJEZkxwVHp3MDZGSnRHcERsZU5naFFjNkxtSGhvVENCM3JTd2tQcVBTT0dqb1V1WmxxVVllNlVZRmVtTG8yQy9FY2wwODRPRjFHTlgvcGdZTUJnWHdFS2ZjbmExQ0tYZHVXUFRlS2RsMEdJZWNBRVBuRE0yVGFoeThoMVd0QWRqV053QUM1MVk4dlplY1RRRWNxdTRvM0NmZUY2WUJ3SThnRFg2azM4bjBkTDM5Z1hqaCtQdjR3cFlyVWQ3NkpvNXVYUUdlOEF6WVBPbXBUUVBZSTMrNmU0OGFqdmE0emhJQlQ4d3JvQ0ZqbXd0YkJMVm9nZVA0Nk1oNytZczBhbklBMWliQ01GSktqb1NqQjF4ZVI5M3dNS29GNndxNTZNaFN4aEtTeGdxQW9rVGZjSlJFRmJCQmF2TDR3SlFvUTlWQXJCYWdvNkdyTTlpS2NPSmhjalBpTTFuV0l0SVdIRE4zRHhxYVkvdlVWQURMaVVBQzUxSjNYNkVrQk1hbGdobXB0ak14RFJpR3RuTkExaUxBeEpUS0sya1djT0x1TDhxQTFpZ3hPTWZWZEJQaGlZeFlQSHhrSGxBQVI3QVdueGlUVVhjUVNxNEEwb0JGaHhLaHoxVUxESTYvR29DNzZCMjc2QjhmK2F4Y0R5QXRZZHlYU01lTG82YmcyZ3dTQVcvVndxdzBMRjlOUjEwL3FSTTRWUWFqcGo4R1M4eTVnSDdlQUI2SzJSVXVXQnlKbFhVZEFSamhSTHZsUU1zVU9XcmpNTWlCSUJkSGV4alRGNzBUTnR3UElDME1RaVoyNWgxV0FtQUN1MkVrb0NGVGo3eTdqNE9rRlpBanhHT3Fma3o3NElkdk5tWGY3QS9GQ2VVK1Y5WndJSSthL2pEeFhUNnNHUmlmWlozRndpRG54cHppeldHWWhJamwyNVhUbThWakpiS0FoWTZXZFhRU1pmZGxTMThRUmkwMUdCc0JoanZ6UVBXRmp6Wi96Z2poMnFibk05eEZReElzZDRyRFZqb1BOSXFRNWVGcEdIc1ZPcTl4Y0lBR044NXhackMyaG84UHAzeTl6aWI3amdXT0lYN1hubkFRcWUvU0trWGlrQk9SUk5mNW1adzhSNzlzYWFnWlA4aXRUNGNQaWozbVNzQUMxUjdkdTFCb1lSSGFTRmVPRXdENWdIclBJQzFoRGpCNTlZZVZBNllJblhJTllDRkFkejk4bTZSazRlWjFUcXpNZzJaaHJBSVlrMjVxYmtLc0xwNmVtbmNZeVdCcWp2c0NjK1NKcnQ5bU9JQktObFI5UVpyQ1d2S1RjMVZnQVhDTnJkMzA5OFhGSWpRQWJZY3NwVEFrcUl4SHNDYVFkak5QeDRvb0daRk1qQVlBVXpYQVJZR0IzZUhxMmJuQ205NEJpMWpETXNMM0wvMHdscEJFUW1zbmVvR3RkMFhJb0dZS3dFTGc5bGRlWlIrT3pWTCtJOHdhUGwzRVRJQTY1dDdyQkg0V2cyWmxrWGxsVWNqNFlIeW43c1dzRURaL0QwdDlPdmJNbWhBWWlwN3c3TSt4NVEreHcrQUI3RENHdm5OeEF3cUtGZmYxeW9hYXJvYXNEQ3cxSklqQlBNc0lzeFowdEszMi9waGtmSVlBN3lBTlRFd01WV0FlVnBKL0hPeVJ3TWpQZCs1SHJBd3lDMEZUUVFIT0FZdEJpd0dxaDk1UUFPcmM4ZWwwN2JDSmoxNG9QdzFuZ0FzVVBtSHZFWkNhZ3pzSml4cC9jaTB2SUQ5U1lzZndTcU5OdWMzS2c5RWVqdm9HY0RDZ0xma045TGdjWUh6T29PV1B4Y3FBM1M2MkxDaHM0S3FaRXVCZDhBS2E5eFRnSVVCSlJVMWlRbEQ0VWNHTFFZdHZ3RVllQjY4Zjk2RWRFb3U5c1l4TUZqNjhoeGdZWEJacGMxMDRlMloxUDhXQmkyL0xWZy9qeGRnMVg5RU1sMTBSNlpZQThFTDNTdnZQUWxZbUp5Uy9XMGlsOWJQaDNNQ1FEOHZZcitNSFdBRkQzYmt0TnBaMGU0VmZEcGxISjRGTEl5MG9yYURicnczWDhSTitZVnhlWnorUEFZak52Q3Y5eFhRZ2JwanB5eHlMMzNnYWNEQ1JEVzFkdE9vWmR0RnZVTk9UZVBQeGV4bEVOZFN4SXhkWGtKSDJycTloRTFoeCtKNXdNS29PN3Q3YWZhTHUwVHVIN2crZUptQmVXeitBV1h3TXZKWklVVU1haUQ0b2ZrQ3NMU0pYUEZ4aFNqU0t0SXRjM29hQm02WGhqTkJYd1VlN2pjOG1aNzg1SURHM3I1NDlSVmdZVVkvMkZ3akhFd1JDSXFKWjRtRWFlQW1IZ0RQZ25jaFhYMjRwY1lYSUJVOFNOOEJGZ2FmVmRwQ1Y4ek1FU1hFM01TczNGY0cxOU9ISmRFVnMzSUVEd2N2WkwrODl5VmdZWEpSem1qTThwSSt2UlpYNUdFd1VIVkRBRzlxK2lvbzExVXZ4V1VuZVBvV3NFQlVxQ2xSNVJZT3BtZHl0Z2MrSGl1bzA4SVJFRUg5T0FZKzlxRzZGWm50QktuZ2Uvc2FzRFJDZkpsZVR4ZmNua2svRzU3TWkxYkJSYXVxNU9ORXY4Q1RpTnBZbjNGWVkxZGZ2ekpnblpqK1BaVkhhZGhEeGVLSWVNN1lOQzdheXNBVnQ4MExSMER3SUZ3V1JqeGNUSHVyTzN3TlVzR0RaOEFLb2tiUDhWNXhSQnlZbUJKSXZjeUxObTZMMWducFJjVm5BS3h3L0lPS0FrZkE0OGY5NFY4VnRBeWp2bVhBQ2tPZWxPSWpkUDI4UEZiSU0yQTdCdGpCaXZVYjV1ZFQ2bmIzWndjTnM3UXNmOFNBRllHRXJSMDl0UGl0dlNJaG9QRFo0c1hyMk9KVlVmS3h1MC9nTVNTZkJNKzFkZlJFNEVyK21BRXJCZzhndjlZTjh3UFNGdXUyMlBWQkpuQUY2NnJBWTBrZXpGOFZZM2taL3BvQlN3ZkoybzcyMENQdjdxT3p4NlNLdW00eW1aYnY1VjhRUkkzQXM4ZW0wU1B2N1dPcFNzYzZ4Q1VNV0RvSmhjdHlkclhRME1WRmRGcENzb2psd2c3SmdNTTBNTUlENEJuRUFZS0hFcFlVVWU2dUZnTWN5SmN5WUJua2dkNWVvdFVicWtRUlYrUWdnZ2N5QXhlRFZpelFBbytBVjhBelE2Wm0wUnNicXdpOHhNMFlCUml3ak5HcjcrcXF3NTEwejJ0N3hHNkpyS2FjYTR0Qkt4Sm9nVGZBSTROR3A5RjlyKzl4YlpuNFB1YVA0eHNHTEl2RXp5NXJwdEhMU2tTcUR5VC9qOFMwL0xrL0FlMk1XMUtFM2hOeHF6bGxmUHl6dU54WWgyV1ZnTnJ2djB5cnB4dnZ5eGNaSU9CNHlnRGxUNERTNWgwOGNQcXdaSkcyZUgxNnZjWW0vR3FSQWl4aFdTUmc4TSs3dW52cG5lK3I2ZW81dVVKWGdhQlZqWUg1MVI4QWhqbUhudXFhT2JuMDd2ZlZCSjdnSm84Q0RGanlhTmwzcDlhalBmVEtWNVVpYnhHWWw0SEwrMkFGcDAvTTlaV3pjK20xcnlvSlBNQk5QZ1VZc09UVHRPK09MZTA5OU5yWGxYVFY3Rnc2UFNGWkZMaGtTY3RiNEFXOUpZNStWOC9PcGRlL1pxRHFZMzZiM2pCZzJVVFk0TnRpdDhWUkVTWEhZQzJDdytCZ0xvYmgydU15NWc1emlMbUUzdkxkVFRYcytCbk04RGErWjhDeWtiaWh0MFpsazNXcDlZU3NrV2VQU1JOUzE2QXhyT2R5aTlTSnVZS2tqTG5ESE1MUTRwZHFOYUc4SEsvL0diRGlSUG44M2EzMHdPcHk0WUNxSFJjSGovZldjY2t0UUJTdG41Z1RjZXhMU0JaenRmQ05jc3JmMHhvbnJ1SEhNbURGbVFmcW1qcHA5VGRWZE5QQ1FwRURDZUNGWEVpLzVMQ2Z1QjBaUVh2TWdUWVhtSnMzdnFraXpCVzMrRktBQVN1KzlPOTdPb3pmV2FYTnRPVHR2WFRsckZ6cVB5S0ZmallzY1B5SUpnSHdkL0trVWh6MVFIUFFIb1lTekFYbWhKczZGR0RBVW1jdStub0NKZjNHckFhYThVSVpYWHhIbGxoRUlyUmpUQnBMWGhJbFQwaFNnOGFrQ2VVNWdBcTBudmxDbWFBOTU2VHFZMGVsM2pCZ0tUVWRwM2FtdXFHVDFteXBwU2xQbDlLUWFWbkNPZ1V6T255N1dPZGxYTG9DelVBNzBCQ1dQdEIweWpPbHRHWnJMVlUzOHBIdlZBNVU2eE1HTExYbUkycHY2bzkwMGRlWmgrbisxL2VJRk02UURxQm42VGNpUlVnS0hJQjlLb0NCSnFBVHdBbTB3dnZyNStmUi9hdjJDRnFDcHR6Y1F3RUdMUGZNMVVrOVJjZ0hMSTB2ZlhtSUpqeStneTZkbGgyd1pwM1F3Y0FFNzBjSkRHTWVORHBWNktFQVVBTkdwdENsMDdNRmpVQXIwSXpEWlU1aUpWZjl3NERscXVtSzNObkR6VjIwdGJDSm52cmtnUEFSK3YyZDJTTDFEWTQrMEg4aGRBUXBucjBraFdFc0dOT0F4RlF4UmdBVWt1TmRkbGMyalgyc2hKNys5QUJ0SzJ5aWhoYVdvaUp6anJ1K1ljQnkxM3pwN20xamE3ZXdjQ0ZSM0l3WGRvbXNBZWRQeXV5VHdxQmsxc3BKWWRGRE1sSFJsUUo5UXQvUVI3Z2FvTS9vTzRBWS9sRVkwMS92S3hCamhPdEJkbWtMTmJWMjY2WVRYK2d1Q2pCZ3VXdStUUGNXTlJjUDFoMmpyUVZOOU1yNlNwRklMbkhwZHJwbWJpNmRQeWxEU0NiUTh5QjFMd0FCN3dFSWtGaGc3a2UyVE5tZ3BvRVI3bzFuNEZsNEpwNk5QcUF2ZUkvUEFVem9LL3FNSkhnWUE4YUNNV0ZzM1B4QkFRWXNmOHh6eEZGMmRCNm5pdG9PeWk1cm9iWEpkYlJ5M1NIaGdUOXB4VTc2MTZJaTRZOTB5WlFzK3RXRWREcnJoSVFESlQrT21RQVZJZTBrQUZ5U292N2h1S1pkajkvaUhwQ1dBRWE0TjU0QjN5YzhjOUtUTzBVZlhseDNTUFFKZlVNZjBWZHUvcVlBQTVhLzV6L202TnVQOVZCdFV5ZVZIbWluekozTnRLV2dpZGFuSDZZUE50ZlFxZzFWdFBLTFE3VGk0d3BhOXY1K2V2VDkvZUlWNzdVLzdUTmNBekRFYi9CYjNBUDN3ajF4Ynp3RHorTEdGSWhHQVFhc2FOVGg3NWdDVEFHbEtNQ0FwZFIwY0dlWUFreUJhQlJnd0lwR0hmNk9LY0FVVUlvQ0RGaEtUUWQzaGluQUZJaEdBUWFzYU5UaDc1Z0NUQUdsS01DQXBkUjBjR2VZQWt5QmFCUmd3SXBHSGY2T0tjQVVVSW9DREZoS1RRZDNoaW5BRkloR0FRYXNhTlRoNzVnQ1RBR2xLUEQvQWRXcDJSQnhQVXVTQUFBQUFFbEZUa1N1UW1DQyIvPgo8L2RlZnM+Cjwvc3ZnPgo=";
557
+ "PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHZpZXdCb3g9IjAgMCAzMiAzMiI+CiAgPHBhdGggZmlsbD0iIzI0NUVDNiIgZD0iTTE2LDMyYy0zLjIsMC02LjItMC45LTguOS0yLjdjLTIuNi0xLjgtNC43LTQuMy01LjktNy4yQzAsMTkuMi0wLjMsMTYsMC4zLDEyLjlDMC45LDkuOCwyLjQsNyw0LjcsNC43IEM2LjIsMy4yLDcuOSwyLDkuOSwxLjJDMTEuOCwwLjQsMTMuOSwwLDE2LDBzNC4yLDAuNCw2LjEsMS4yYzEuOSwwLjgsMy43LDIsNS4yLDMuNXMyLjcsMy4zLDMuNSw1LjJjMC44LDEuOSwxLjIsNCwxLjIsNi4xIHMtMC40LDQuMi0xLjIsNi4xYy0wLjgsMS45LTIsMy43LTMuNSw1LjJjLTEuNSwxLjUtMy4yLDIuNy01LjIsMy41QzIwLjIsMzEuNiwxOC4xLDMyLDE2LDMyTDE2LDMyeiBNMjAuMiwxMS4ybDAuMSwwLjVsMi42LDkuNWgyLjEgTDIxLjUsOC45bC0wLjEtMC4zaC0xLjlsMCwwLjFsLTEuNywzLjFMMTYsMTQuOWwwLDAuMWwwLTAuMWwtMC4yLTAuOGwtMC42LTIuNGwtMC4xLTAuMmwtMC43LTIuNmwtMC4xLTAuM2gtMS45bDAsMC4xbC0xLjcsMy4xIGwtMS44LDMuMkw3LjEsMThsLTEuOCwzLjJoMi4xTDkuMiwxOGwxLjgtMy4ybDEuOC0zLjJsMC4zLTAuNWwwLjEsMC41bDAuNSwyLjFsMC43LDIuNmwwLjIsMC45TDE0LjIsMThsLTEuOCwzLjJoMi4xbDAuOC0xLjMgbDEuMy0yLjNsMS41LTIuN2wxLjgtMy4yTDIwLjIsMTEuMkwyMC4yLDExLjJ6Ii8+Cjwvc3ZnPgo=";
1578
558
  const MYALGO_WALLET = {
1579
559
  id: PROVIDER_ID.MYALGO_WALLET,
1580
560
  name: "MyAlgo Wallet",
@@ -1637,1147 +617,48 @@ const providers = {
1637
617
  [PROVIDER_ID.WALLET_CONNECT]: WALLET_CONNECT,
1638
618
  };
1639
619
 
1640
- const audio = `data:audio/mp3;base64,SUQzBAAAAAIYBlRJVDIAAAAWAAAAMzAgU2Vjb25kcyBvZiBTaWxlbmNlVFBFMQAAABIAAABBbmFyIFNvZnR3YXJlIExMQ1RBTEIAAAAMAAAAQmxhbmsgQXVkaW9BUElDAAIPAgAAAGltYWdlL2pwZWcAAwCJUE5HDQoaCgAAAA1JSERSAAAEOAAABDgIBgAAAOwQbI8AAAAGYktHRAD/AP8A/6C9p5MAAAAJcEhZcwAACD0AAAg9AQWVVbYAAAAHdElNRQffCgsFHDEDbwR2AAAgAElEQVR42uzde5RVZd0H8N8wDDcBAS8o6oCJVyxTsDSxojJvgVYq3jVNUQgzaZWmpqh56+ItNa+kr4Cay9Q0DQ1DWb2WeSm8pGRy0RAEgRFhuIzz/tFbC5yZc86eOWfmPDOfz1rvemvvZz9779+zz3DOt2fvXRER9QEAAACQsE5KAAAAAKROwAEAAAAkT8ABAAAAJE/AAQAAACRPwAEAAAAkT8ABAAAAJE/AAQAAACRPwAEAAAAkT8ABAAAAJE/AAQAAACRPwAEAAAAkT8ABAAAAJE/AAQAAACRPwAEAAAAkT8ABAAAAJE/AAQAAACRPwAEAAAAkT8ABAAAAJE/AAQAAACRPwAEAAAAkT8ABAAAAJE/AAQAAACRPwAEAAAAkT8ABAAAAJE/AAQAAACRPwAEAAAAkT8ABAAAAJE/AAQAAACRPwAEAAAAkT8ABAAAAJE/AAQAAACRPwAEAAAAkT8ABAAAAJE/AAQAAACRPwAEAAAAkT8ABAAAAJE/AAQAAACRPwAEAAAAkT8ABAAAAJE/AAQAAACRPwAEAAAAkT8ABAAAAJE/AAQAAACRPwAEAAAAkT8ABAAAAJE/AAQAAACRPwAEAAAAkT8ABAAAAJE/AAQAAACRPwAEAAAAkT8ABAAAAJE/AAQAAACRPwAEAAAAkT8ABAAAAJE/AAQAAACRPwAEAAAAkT8ABAAAAJE/AAQAAACRPwAEAAAAkT8ABAAAAJE/AAQAAACRPwAEAAAAkT8ABAAAAJE/AAQAAACRPwAEAAAAkT8ABAAAAJE/AAQAAACRPwAEAAAAkT8ABAAAAJE/AAQAAACRPwAEAAAAkT8ABAAAAJE/AAQAAACRPwAEAAAAkT8ABAAAAJE/AAQAAACRPwAEAAAAkT8ABAAAAJE/AAQAAACRPwAEAAAAkT8ABAAAAJE/AAQAAACRPwAEAAAAkT8ABAAAAJE/AAQAAACRPwAEAAAAkT8ABAAAAJE/AAQAAACRPwAEAAAAkT8ABAAAAJE/AAQAAACRPwAEAAAAkT8ABAAAAJE/AAQAAACRPwAEAAAAkT8ABAAAAJE/AAQAAACRPwAEAAAAkT8ABAAAAJE/AAQAAACRPwAEAAAAkT8ABAAAAJE/AAQAAACRPwAEAAAAkT8ABAAAAJE/AAQAAACRPwAEAAAAkT8ABAAAAJE/AAQAAACRPwAEAAAAkT8ABAAAAJE/AAQAAACRPwAEAAAAkT8ABAAAAJE/AAQAAACRPwAEAAAAkT8ABAAAAJE/AAQAAACRPwAEAAAAkT8ABAAAAJE/AAQAAACRPwAEAAAAkT8ABAAAAJE/AAQAAACRPwAEAAAAkT8ABAAAAJE/AAQAAACRPwAEAAAAkT8ABAAAAJE/AAQAAACRPwAEAAAAkT8ABAAAAJE/AAQAAACRPwAEAAAAkT8ABAAAAJE/AAQAAACRPwAEAAAAkT8ABAAAAJE/AAQAAACRPwAEAAAAkT8ABAAAAJE/AAQAAACRPwAEAAAAkT8ABAAAAJE/AAQAAACRPwAEAAAAkT8ABAAAAJE/AAQAAACRPwAEAAAAkT8ABAAAAJE/AAQAAACRPwAEAAAAkT8ABAAAAJE/AAQAAACRPwAEAAAAkT8ABAAAAJE/AAQAAACRPwAEAAAAkT8ABAAAAJE/AAQAAACRPwAEAAAAkT8ABAAAAJE/AAQAAACRPwAEAAAAkT8ABAAAAJE/AAQAAACRPwAEAAAAkT8ABAAAAJE/AAQAAACRPwAEAAAAkT8ABAAAAJE/AAQAAACRPwAEAAAAkT8ABAAAAJE/AAQAAACRPwAEAAAAkT8ABAAAAJE/AAQAAACRPwAEAAAAkT8ABAAAAJE/AAQAAACRPwAEAAAAkT8ABAAAAJE/AAQAAACRPwAEAAAAkT8ABAAAAJE/AAQAAACRPwAEAAAAkT8ABAAAAJE/AAQAAACRPwAEAAAAkT8ABAAAAJE/AAQAAACRPwAEAAAAkT8ABAAAAJE/AAQAAACRPwAEAAAAkT8ABAAAAJE/AAQAAACRPwAEAAAAkT8ABAAAAJE/AAQAAACRPwAEAAAAkT8ABAAAAJE/AAQAAACRPwAEAAAAkT8ABAAAAJE/AAQAAACRPwAEAAAAkT8ABAAAAJE/AAQAAACRPwAEAAAAkT8ABAAAAJE/AAQAAACRPwAEAAAAkT8ABAAAAJE/AAQAAACRPwAEAAAAkT8ABAAAAJE/AAQAAACRPwAEAAAAkT8ABAAAAJE/AAQAAACRPwAEAAAAkT8ABAAAAJE/AAQAAACRPwAEAAAAkT8ABAAAAJE/AAQAAACRPwAEAAAAkT8ABAAAAJE/AAQAAACRPwAEAAAAkT8ABAAAAJE/AAQAAACRPwAEAAAAkT8ABAAAAJE/AAQAAACRPwAEAAAAkT8ABAAAAJE/AAQAAACRPwAEAAAAkT8ABAAAAJE/AAQAAACRPwAEAAAAkT8ABAAAAJE/AAQAAACRPwAEAAAAkT8ABAAAAJE/AAQAAACRPwAEAAAAkT8ABAAAAJE/AAQAAACRPwAEAAAAkT8ABAAAAJE/AAQAAACRPwAEAAAAkT8ABAAAAJE/AAQAAACRPwAEAAAAkT8ABAAAAJE/AAQAAACRPwAEAAAAkT8ABAAAAJE/AAQAAACRPwAEAAAAkT8ABAAAAJE/AAQAAACRPwAEAAAAkT8ABAAAAJE/AAQAAACRPwAEAAAAkT8ABAAAAJE/AAQAAACRPwAEAAAAkT8ABAAAAJE/AAQAAACRPwAEAAAAkT8ABAAAAJE/AAQAAACRPwAEAAAAkT8ABAAAAJE/AAQAAACRPwAEAAAAkT8ABAAAAJE/AAQAAACRPwAEAAAAkT8ABAAAAJE/AAQAAACRPwAEAAAAkT8ABAAAAJE/AAQAAACRPwAEAAAAkT8ABAAAAJE/AAQAAACRPwAEAAAAkT8ABAAAAJE/AAQAAACRPwAEAAAAkT8ABAAAAJE/AAQAAACRPwAEAAAAkT8ABAAAAJE/AAQAAACRPwAEAAAAkT8ABAAAAJE/AAQAAACRPwAEAAAAkT8ABAAAAJE/AAQAAACRPwAEAAAAkT8ABAAAAJE/AAQAAACRPwAEAAAAkT8ABAAAAJE/AAQAAACRPwAEAAAAkT8ABAAAAJE/AAQAAACRPwAEAAAAkT8ABAAAAJE/AAQAAACRPwAEAAAAkT8ABAAAAJE/AAQAAACRPwAEAAAAkT8ABAAAAJE/AAQAAACRPwAEAAAAkT8ABAAAAJE/AAQAAACRPwAEAAAAkT8ABAAAAJE/AAQAAACRPwAEAAAAkT8ABAAAAJE/AAQAAACRPwAEAAAAkT8ABAAAAJE/AAQAAACRPwAEAAAAkT8BBq9pss81i4sSJMXToUMUAAACgaCoiol4ZaA177rln3HzzzdG/f/+oqamJww8/PGbNmqUwAAAAtJgZHLSKk046Ke67777o379/RET07t07pk6dGtXV1YoDAABAi5nBQcmde+65MW7cuEbXvfjii3HIIYfE2rVrFQoAAIBmq4yIC5WBUqioqIgf/ehHceqppzbZZosttohevXrFk08+qWAAAAA0/zdomMFBCVRWVsZPfvKTGD16dEHtjzrqqJgxY4bCAQAA0CwCDoquU6dOccMNN8SoUaMK3mbOnDkxYsSIWL16tQICAACQmVtUKLoLL7wwjj766Ezb9OnTJz788MP44x//qIAAAABkZgYHRXXyySfHxRdf3Kxt16xZEyNGjIg333xTIQEAAMjEa2Ipmv333z8mTpzY7O27dOnSou0BAADouMzgoCh23333uO+++6J79+4t7utLX/pSvPLKK4oKAABAwczgoMW22mqruOOOO4oSbkREjBs3TlEBAADIxAwOWqRTp05x3333xV577VW0Puvq6uIzn/lMzJ8/X4EBAAAo7PepEtASp59+elHDjYiIysrKOO200xQXAACAgpnBQbPtuuuu8cgjj0RVVVXR+66trY0999wzlixZotAAAADkZQYHzdKtW7e4/vrrSxJu/Kf/r3/96woNAABAQQQcNMv5558f22+/fUn3MWrUKIUGAACgIAIOMvvCF74Q3/jGN0q+nz322COqq6sVHAAAgLwEHGRSVVUVl156adH7Xbp0aaPLzeIAAACgEAIOMjn22GOLPqvimWeeic997nOxaNGiBusOOeQQRQcAACAvAQcF69GjR5x55plF7fOhhx6KI488MhYvXhxTp05tsH7IkCGx3XbbKT4AAAA5CTgo2De/+c3YbLPNitbfM888E+PGjYs1a9ZERMTkyZOjvr7hW4vN4gAAACAfAQcF6dOnT4wdO7Zo/S1dujTGjh0bdXV1/1321ltvxaxZsxq0HTFihAEAAAAgJwEHBfnWt74VvXv3Llp/Z555ZrzzzjsNlj/++OMNln3iE5+Irl27GgQAAACaJOAgr/79+8dJJ51UtP5uu+22RoOMiIhp06Y1WFZVVRWf+MQnDAQAAABNEnCQ19ixY6Nbt25F6evdd9+Nyy+/vMn1s2bNanRmx5577mkgAAAAaJKAg9wXSKdOMWrUqKL199Of/jQ++OCDnG0am90h4AAAACDn71clIJe99tor+vfvX5S+3njjjZgyZUredo0FHMOGDTMYAAAANEnAQU4jR44sWl8/+tGPYt26dXnbPf3007Fq1aoNlm2yySax7bbbGhAAAAAaJeCgSZWVlXHwwQcXpa9nn302HnvssYLarl69Ol588cUGyz/1qU8ZFAAAABol4KBJe++9d2y66aZF6euiiy7K1P6VV15psGyPPfYwKAAAADRKwEGTDjnkkKL088gjj8Rzzz2XaZuXX365wbKBAwcaFAAAABol4KBRnTt3joMOOqjF/axbty4uvfTSzNs1NoNjq622MjAAAAA0SsBBo/bZZ5/o27dvi/v5n//5n3jzzTczb/faa69FfX39BssGDBhgYAAAAGiUgINGFeOBnitWrIirrrqqWduuXr063n///Q2Wde/evSihCwAAAO2PgING7brrri3u46abborFixc3e/ulS5c2WOY2FQAAABoj4KBRQ4YMadH2a9eujV/+8pct6mPZsmUNlrlNBQAAgMYIOGigT58+LQ4SHnrooViyZEmL+mgs4DCDAwAAgMYIOGhg8ODBLe6jpbM3IiI++OCDBssEHAAAADRGwEED/fr1a9H2s2bNiueee67Fx9HYA0UFHAAAADRGwEEDLX1TyaRJk4pyHJtvvnmDZZ7BAQAAQGMEHDTQkhkcy5YtiwceeKAox7HZZps1WNazZ08DBAAAQAMCDhro06dPs7e9++67o7a2tsXH0KVLl+jdu3eD5Z07dzZAAAAANCDgoIHKyspmbVdfXx933nlnUY5hu+22K+qxAQAA0L4JOGhg5cqVzdpu+vTpMWfOnKIcw/7779/ocgEHAAAAjRFw0EBzA45ivBr2Pw488MBGl7tFBQAAgMYIOGjggw8+yLzN3Llz48knnyzK/rfaaqv4+Mc/3ug6AQcAAACNEXDQQHNmcEyePDk+/PDDouz/oIMOanKdW1QAAABojICDBpoTcDz22GNF2XePHj1i7NixTa4XcAAAANAYAQcNZL1FZc6cOfGPf/yjKPseP3589O/fv8n1Ag4AAAAaI+CggawzOKZNm1aU/W699dZx2mmn5WzjGRwAAAA0RsBBA1lncDz++ONF2e95550XXbt2zdmmWM/5AAAAoH0RcNBAlhkcNTU18ac//anF+9xzzz1j1KhRedstWrTIAAEAANCAgIMG3nnnnaivry+o7fTp02PdunUt2l9FRUVMnDixoLb/+te/DBAAAAANCDhoYPXq1bFw4cKC2hbj+RuHHXZYfPKTnyyo7YIFCwwQAAAADQg4aNScOXPytlm3bl1Mnz69Rfvp0aNH/OAHPyi4vYADAACAxgg4aNTcuXPztvnzn/8cNTU1LdrPuHHjcr4W9qMEHAAAADRGwEGjCgk4Xn/99RbtY6uttorTTz890zaewQEAAEBjBBw0qpBbVJYvX96ifVx55ZXRrVu3TNuYwQEAAEBjBBw0at68eXnbtCTgOO6442LEiBGZtxNwAAAA0JjOSkBjCpnBsWzZsmb1PXDgwLjgggsyb7dmzZp47733DA4AANCqKioqmr0sa9tCt1+3bl18+OGHBmc9Ao717LTTTrHjjju2yoVbqu1b+mFaf3ltbW3OW0h233336Ny5c6Z9VVRUxJgxY6JHjx6Zx2fBggVx4oknluRcy2Vcy+EPain2laVdSuea0nWVyjXoXNvn562tx6pcz7UUY9Xevos4V99FfBfxXaRcPgPl6OSTT45HH33UD/n1xzQi6pXh3yZMmBATJkxQCAAAAMraKaecEo888ohCrMcMjiJZvHhxo7ds1Nc3nh9lWZ61j6Zk7bu6ujp69+7dZH8LFiyIxYsXF3yM3bp1ix122KHZSens2bPj/fffb9b5t8U4pDDG5VyTVMcy6z6LcZ4pjHG51NvnNYyxz6ux7EDfF4yxsWwP36E68vf7Aw44IMaNG9fk+k6dPFJTwFEi1113Xdxyyy3t6py+973vxZlnntnk+nvvvTeuuOKKgvqqqqqK3/72t80ON9asWRNf/vKXY/Xq1S42AACg3dtpp51yrk/9FptSEPnQpL/97W851/fp06fgvs4666wYMmRIs4/lL3/5i3ADAADoMPI9QNQMjkZqogQ0ZdasWTnX9+3bt6B+9thjj/jWt77VomP54x//aEAAAIAOQ8CRnYrQpLfffjvna1kLmcHRrVu3uPbaa6OysrJFxzJz5kwDAgAAdBj5ntch4GikJkpALrlmcVRXV+fd/rzzzouPfexjLTqGVatWxQsvvGAwAACADsMMjuxUhJxyPYejuro6unbt2uT64cOHxze+8Y0WH8PMmTNj7dq1BgMAAOgw8s3g8JDRhgQc5JQr4OjUqVOTszM22WSTuOaaa4ryobvzzjsNBAAA0KHkm8HR0scAtEcCDnLK96DR7bffvtEP2o033hhbbrlli/c/Z86cmD59uoEAAAA6FLeoZKci5DRv3rxYvnx5k+sbCzjOOeecGD58eFH2f8cdd+SdmgUAANDeeMhodipCXrlmcXw04Dj44INj7NixRdnvqlWrYurUqQYAAADocMzgyE5FyCvXczjWDzgGDx4cV111VdH2e//990dNTY0BAAAAOpx8AYeHjDbUWQnIJ1fAsd1220VlZWV07949br/99ujZs2fR9jtp0iTFBwAAOiQzOLJTEfLKFXB06dIlqqur46qrrorBgwcXbZ9/+tOf4pVXXlF8AACgQxJwZKci5DV37tyct4pcfvnlcfDBBxd1nzfeeKPCAwAAHZaHjGanIhT0wXrppZeaXL/vvvsWdX9PPfVUTJs2TeEBAIAO/Tss5495AUfDmigBhch1m0oxrVu3Ls4//3wFBwAAOjS3qGSnIhQk16tii+n222+P2bNnKzgAANChCTiyUxEK0hozOBYvXhw/+9nPFBsAAOjwBBzZqQgFefPNN2PFihUl3cell16a82GmAAAAHYWAIzsVoeAP18svv1yy/l988cW45557FBoAACA8ZLQ5VISCvfLKKyX74J533nl5P8AAAAAdRb4ZHBUVFYr0EQIOCjJkyJA47LDDStL3TTfdFM8//7wiAwAA/D+3qGSnIuQ1aNCgmDJlSvTq1avofb/44otx2WWXKTIAAMB6BBzZqQg59e/fP+65557YbLPNit73+++/H6effnqsXbtWoQEAANYj4MhORWjSxhtvHFOnTo1tttmmJP1/73vfi7lz5yo0AABA1h/zAo6GNVECGtO9e/e46667YqeddipJ/1OnTo0HH3xQoQEAABphBkd2KkIDVVVVceutt8bQoUNL0v/rr78e5513nkIDAAA0QcCRnYqwgYqKirjmmmtixIgRJel/9erVcdppp8WqVasUGwAAoAkCjuxUhA1ccsklceihh5as/3PPPTf+/ve/KzQAAEAOAo7sOisBEf+euXHppZfGCSecULJ93HjjjTFlyhTFBgAAyCNfwFFRUaFIHyHgIDp16hQ//elPY/To0SXbxyOPPBKXXHKJYgMAABSgvr4+7+84NiTg6OgXQOfOce2115b0tpTnn38+xo8fn/cDCgAAwL+5RaUZv2+VoOOqqqqKG2+8MQ466KCS7WPevHlx4oknRm1trYIDAABlpbHbPJq69aNYywtt27lz7p/rAo6GBBxFMmzYsFi9enWbfwgKXV5VVRWjR4+OHXbYoWQ1qa2tjYcffjgOP/zwZp9j1vMs5R+jch3LcqxJKc+znGpVLv9QpjrGqX5e29sY+7waS2NsjP0b4zthR/hO2B4JOAQcJTNy5MgYOXKkQqynW7duMXbsWIUAAAAoMgFHQwKOIlm8eHEsW7aswfLGnjvR1LMoWtq2Keu3raioiIEDB0aPHj1KWo958+bF0qVLS16HLLVpzbEo13Mrh/PNcm6pjaVza/3jNZbOrb2dm3/v2te5+Qym9z3FZ9C5ldP3lL59+8a9994r4BBwtL7rrrsubrnllrI+xt69e8eUKVNKHm5ERBx88MGxZMkSFwYAAEAzbLLJJjnXCzgaqYkSdAz9+vWL++67L/bYY49W2V9r7QcAAKA98haV7FSkA+jdu3fce++9seuuu7baPocPH67wAAAAzSTgyE5F2rlu3brFHXfcEbvsskur7lfAAQAA0Hz5ni3Skd4YUygBRzvWuXPnuOmmm+LTn/50q+97p512ik033dQgAAAANIMZHNmpSDtVUVERP/vZz2K//fZrs/2bxQEAANA8Ao7sVKSduvDCC+Owww4r6T5mzpwZNTU1Ta7fd999DQQAAEAzCDiyU5F2aPz48XHKKaeUdB/PPfdcnHjiifHXv/61yTYCDgAAgObJF3BUVlYq0kcIONqZL37xi3H22WeXdB+vvvpqHHvssbFy5cp4/vnnm2y39dZbx6BBgwwKAABARh4ymp2Aox0ZOHBg/PznPy/phT537tw4+uijY/ny5RER8cILL+Rs7zkcAAAA2blFJTsVaSe6desWt956a2y88cYl28eiRYviqKOOioULF/53Wb6Aw20qAAAA2Qk4slORduLyyy+PIUOGlKz/mpqaOOqoo2LOnDkbLH/33XfjrbfeanK7ffbZx9QpAACAjPLdoiLgaKQmSpC+448/Po444oiS9V9bWxvHH398vPrqq42uzzWLo1+/fiUNXgAAANqrXLM4BByN1EQJ0rbHHnvExRdfXLL+161bF6eeemr8+c9/brKN21QAAACKL1fAYaZ8QwKOhHXp0iWuvfbaqKqqKkn/9fX1ceaZZ8YTTzyRs12uN6lEeNAoAABAc3+TNflj3gyOhjVRgnSNHz8+Pvaxj5Ws/x/+8Idx//335203a9asWLduXZPr99prr5KFMAAAAO1VXV1d0z/mBRwNa6IEadp2221j/PjxJev/5z//edx2220FtV21alW89tprTa7v3r17DB061KABAABkkOsWlcrKSgX6CAFHoq644oro0qVLSfr+/e9/H5dffnmmbfLdpuI5HAAAANl4Bkc2nZUgPV/72tdK9lyLN998M8aNG5f3ncsf9fzzz8dxxx3X5Prhw4fHj3/844iI2GSTTWLPPfeMXXbZJfr16xd9+/bd4P/36dMnVq5cGUuWLInFixfH4sWL//uf586dGzNmzIhly5a5EAAAgHbNW1SyEXAkpnfv3nHhhReWpO8PPvggvvGNb0RNTU3mbV988cWc63fbbbf42c9+Fp/61KcKem5Iz549Y/PNN290XV1dXTz77LPx+OOPx7Rp0+KNN95wYQAAAO2Oh4xmI+BIzLnnnhubbrppST44Z5xxRrz++uvN2n727NmxYsWK6NmzZ6Pru3TpEkceeWRRjrWysjL22muv2GuvveL888+PN998Mx577LG4+eabY+HChS4SAACgXTCDIxsVScigQYPimGOOKUnf11xzTTz66KMt+uDlm8VRKttuu22cfvrpMXPmzBg/fnzJnk0CAADQmgQc2ahIQk455ZSSXMRPPPFE/OQnP2n29hUVFXHEEUfE4MGD27Q+G220UZxzzjkxY8aMOPDAA10wAABA0gQc2ahIIjbeeOMYPXp00ft9880341vf+lbmh4r+xy677BIPPvhgXH311bHFFluURa0GDhwYt912W9x7772x8847u3gAAIAkeYtKNgKORBx33HHRo0ePon9YzjjjjGY9VLRXr15x8cUXx+9+97sYNmxYWdZs+PDh8dhjj8URRxzhAgIAAJLjIaPZqEgCqqqq4uSTTy56vzfffHM899xzmbf76le/Gk8//XScfPLJUVlZWfa1u/rqq2PChAkuJAAAICluUclGRRJwyCGHRP/+/Yva5z//+c+48sorM21TWVkZl156aVx//fVNvsK1XE2YMCGuuuqqqKqqckEBAABJyBVwlPv/2NwWBBwJGDNmTNE/JN/5zneitra24G169+4dd911V5x44onJ1nH06NFx1113Ra9evVxUAABA2fMMjmwEHGVu+PDhMWTIkKL2efvtt8ezzz5bcPuBAwfGb37zm/jc5z6XfD333XffeOCBB4o+IwYAAKDY3KKSjYqUua9+9atF7W/OnDlx2WWXFdz+05/+dDzyyCOx/fbbt5ua7rzzzvHLX/4yunXr5gIDAADKloeMZtNZCcpbsWdNfPe7341Vq1YV1PaTn/xkTJ06tV0GAbvttltcddVVcfrpp7vIAICSa2oqeTGWZ52mXoy+2+J8inGe5XTcxTjPFI67PV2zbTGWuZ4hKOAQcJTMgQceGNtss01RPwQbb7xxDBgwoGjHOH/+/Bg1alSMGjUq77H07NkzDjjggHY9y+GQQw6JwYMHx9///vd2/Y9WOf3x949W+/likuoXLWNsjP0w8m9MW/2NACg2AUcjf5cjojspCGQAACAASURBVF4Z/m3ChAleJwoAAEDZW7hwYey+++4KsR4zOIrk1Vdfjblz5zZY3tg9U03dR/XR5cOGDSvawzDnz58fL7zwQt5jiPj3cze22GKLDjN2a9eujccffzyWLVtWlHErZdumlOIYWvt8s9SgXMfHuXXMczOWzs25Ff/flfb8GfT3xbm5Tp1blrZPPPFEbLfddo22N4NDwFEyd999d9xyyy1F66+qqipeeeWVov2AP/zww2PevHl5206cOLFDhRv/qfWuu+4aX/jCF2LlypUuZgAAoCzU1dU1uU7A0UhNlKA8DR06NDbaaKOi9HXXXXcVFG7svffeccopp3TIeldXV8cZZ5zhwgMAAMpGrtfEVlZWKtBHCDjK1Gc/+9mi9LNy5cq4+uqr818InTrFxIkTO3TNTzvttBg0aJCLDwAAKAteE5uNipSpYr0e9t5774133303b7vRo0fHrrvu2qFr3qVLlw4f8gAAAOUj1wwOb3JqSMBRpnbaaaei9DN58uS8bXr27Blnn322okfEfvvtF1/84hcVAgAAaHO5Ag4zOBqpiRKUn169ekX37t1b3M9f//rXePnll/O2+/a3vx2bbbaZwv+/iy66KKqqqhQCAABoUwKObFSkDG2++eZF6WfKlCl522y55ZYd9sGiTdl2223j1FNPVQgAAKBNCTiy8ZrYMtS/f/8W97Fy5cr49a9/nbfdqFGjokuXLm1ynq+++mrceuutUV1dHQMHDozq6uqorq6OTTfdtM3HYMyYMXHzzTfH2rVrXZAAAECbEHBkI+AoQ8W4XeShhx6KFStW5G138MEHF/346+rq4sknn4y+ffvG0KFDm2zXp0+fmDp1aoPlgwYNimOOOSZGjx7dZmHHpptuGgcccED85je/cUECAABtItdbVDxktCGRTxkqxgyOQn6Y9+/fP2cAkdW8efPiyiuvjD333DOOP/74eOyxx3K233LLLaNnz54Nls+ZMyd+9KMfxdChQ+PUU0+Np556KucHu1SOO+44FyMAANBmzODIRkXKUEufwbF27dp45pln8rY76KCDipL6zZo1K4488sjYe++94+qrr4533nknIiJef/31vNvusMMOOc/j4YcfjiOPPDI+85nPxOOPP96q47DPPvvEoEGDXJAAAECbEHBkoyJlqKUBx1/+8pdYtWpV3nYHHnhgi/ZTU1MT5557bhx00EGNzrJ47bXX8vax/fbbF7SvuXPnxoknnhgTJ05stediVFRUxLHHHuuCBAAA2kSugCNCyNGgHkpQflp6i8rTTz+dt02/fv1i7733bvY+fv/738dnP/vZmDRpUtTV1TXaZv78+bFy5cqc/eSawfFR9fX1cdNNN8UhhxwS8+bNa5WxGD16tFfGAgAAbULAkY1qlKGWzuAoJODYb7/9orKysln9X3vttXHCCSfEokWLcrarr6+P2bNn52yTJeD4jxdffDG+/OUvt8oDQDfZZJM44IADXJQAAECry/csQg8a3ZCAo515//3348UXX8zbbtttt83c99q1a2PMmDFx+eWX500S/yPfbSrNCTgi/n17zJgxY+Luu+8ueU332WcfFxYAANDqzODIRjXK0OLFi5u97d///vcmbxlZX9++fTP3feGFF2aeNZHvQaNbb7119OjRo9nne/bZZ8dzzz1X0vHYY489XJQAAECrE3BkoxplaMmSJc3e9o033iioXZ8+fTL1e++998akSZMyH0++GRwVFRUxePDgZp/vmjVr4pvf/GYsXLiwZOOx0047Rffu3V2YAABAqxJwZKMaZaglAcc//vGPgtplmcHxt7/9Lb7//e8363gKeZNKc29T+Y+FCxfGySefHGvWrCnJeHTu3Dl22203FyYAANCqBBzZqEYZasktKsUOOJYsWRInn3xyrF69ulnH8/bbb8cHH3yQs01LA46IiOeff77ZIUwh3KYCAAC0Ng8ZzUbAUYbK6RaVCRMmxNtvv92iD2S+53AUI+CIiLjnnnvi97//fUnGRMABAAC0tnwBR3PfjNleCTjKUHNncHz44Ycxd+7cgtr27t07b5t58+bF448/3uLzKdWbVBpz0003lWRMdt99dxcmAADQqtyiko1qlKH58+c3a7sVK1bEunXrCmq7dOnSvG2mTJmSNzEsRL6Ao7q6Orp27VqU2s2cOTNefvnloo9J1oeyAgAAtJSAIxvVKEMvv/xyQQHERy1btqzgtvPmzcu5ft26dXHPPfcU5XzyBRydOnWK7bbbrmj1K8Usji5durgwAQCAViXgyEY1yvQifvrppzNvt3z58oLb5psl8sQTTxTt1aut8SaV9T344IPxzjvvFHVMKisr3d8GAAC0Kg8ZzUbAUaZmzJiReZssAUe+Z3X89re/Ldq5LFiwIN5///2cbYoZcKxduzZuu+22oo+JWRwAAEBrMoMjG9UoU80JOIp5i8qCBQuKej6t9SaV/5g8eXJRnh+yPgEHAADQmgQc2ahGmfrXv/4Vs2fPzrRNXV1dwW3z3aJS7Fs85syZk3N9MZ/BEfHvsKclr7dtTLEehAoAAFAIAUc2qlHGss7i6NevX8FtZ8+enfONK4sWLSrqueS7JWabbbYpev0KefZHpg+LPx4AAEArEnBk/M2mBOXrySefzNQ+S8BRU1MTzzzzTKPrVq1alfeZGVnluyWmR48esckmmxR1n8UMONatWxeLFy92UQIAAK3GQ0azEXCUsaeeeirTbRZZAo6IiGnTprXahyTfDI6I4s/iyPfcjyzeeuutnDNeAAAAii3fDA5vetyQgKOM1dXVxR133FFw+6wzIJoKOLp16xabbbZZUc+lkICjurq6qPss5gyOfM8QAQAAKDa3qGTTWQnK25QpU+K73/1uQW/w6NKlS2y00UbxwQcfFNT3vHnz4tVXX42dd965wbptttkm3n333aKdx8KFC2PNmjU5z2Prrbcuau1mz54d9fX1RZmR8uabb7oYAYAWaew7SVPfU4q1vFR9l/K4i3GOKZ9Pa49lW12brtnC2vfp00fAIeBofQceeGCjt1gU4wMzb968GDx4cEHHcfXVVzf5rIjG+m7qtouzzz670VkLLTmf2tranAHHkUceGdtvv31RvySsXLkyNtpooxaP79ChQ+P6669P8o95Of2R78hfQFI+n478BcQY+5Lph1HH+jem1NcVQLH5O/SRekREvTL824QJE2LChAkKAQAAQNnbb7/94uWXX1aI/2cGR5G89NJL8cYbbzRY3thTb5t6Em6utiNGjCjoIaJLliyJ6dOnZzqGvfbaKwYOHLjB+qVLl/73GR3NOd7Glu+5556xww47NHnsNTU18dBDDxWtZhERhx12WPTs2bPF43vPPffEihUrilKH1mrblHI93izbZ6lBSufr3NI9t/b6Gcxybq5T5+bc0vn7Yiydm3Nr23PLsv1ll10WJ5xwQpPH4hYVAUdJ/OpXv4pbbrmlZP1/9atfbfIWifX17ds3Lrjggli2bFnBfe+4444xffr0DaY39e3bN3784x/Hv/71r6Kdw5gxY+KCCy5ocn3Xrl3j+9//fqY/LvmMHDmyxQHH66+/Ht/5zndc5AAAQKvykNFsVCMRDz74YLz66qv5B7RTp/jsZz+bqe/XXnstHnvssQbL999//6KeQ743qXTt2jU233zzou6zR48eLe5jxowZLkAAAKDV5fsffwUcH6mHEqThww8/jIsvvrigtiNGjMjc/9VXX91g2UknnVTU9yoX8qrYYr5JZcCAAdG9e/cW9yPgAAAA2kJdXV3uH/QCjg3roQTp+MMf/hBPPfVU3nb77bdf5h/2s2bNismTJ2+wbLvttotDDz20aMc/f/78vG2qq6uLtr/dd9+9xX2sWbMm/vd//9fFBwAAtDq3qGSjGom56KKL8l7k/fr1i+OPP75Zfb/99tsbLPv+979f0MNNC7FixYpYsmRJzjblFnD8+c9/jlWrVrnwAACAVifgyEY1EvPKK6/Efffdl7fd6aefHt26dcvU9/vvvx/f/e53N1i29dZbxxlnnFG04583b17O9dtss03R9lWMgOP+++930QEAAG3CMziyUY0EXXHFFVFbW5uzzeabbx7HHnts5r5nzJgRt99++wbLli5dWrRjzxdwFGsGR/fu3WO33XZrUR+LFy8WcAAAAG3GMziyUY0ELViwIK677rq87caNGxddu3bN3P8Pf/jDuOeee/773996662iHXu+B40W6yGjX/nKV1r8BpU77rgj1qxZ44IDAADaRL5bVCoqKhRpPQKORF133XXxt7/9LWeb/v37xzHHHNOsD9GECRNi0qRJsWbNmgbP5WiJfAHHVlttVZQU8sgjj2zR9mvWrIk777zThQYAALQZz+DIRjUStW7duvj2t7+dd4bB+PHjY+ONN27WB+ncc8+NIUOGxAsvvFC04853i0pVVVVsscUWLdrHoEGDYq+99mpRH7/+9a/j3XffdaEBAABtRsCRjWok7LXXXosrr7wyZ5v+/fvH1Vdf3ex9fPDBB7F69eqiHXO+GRwRLX8Ox+jRo1s0VWvt2rVxww03uMAAAIA2JeDIRjUS94tf/CL+8pe/5Gyz//77x6mnnloWx7tgwYJYu3ZtzjYteZNKr169mnVbzvp+/vOfx+zZs11cAABAmxJwZKMa7eCCP+OMM2LVqlU525177rlFeW1qS9XV1eV9pkdLZnBMmDAhNt1002ZvP3v27BbNeAEAACjm772cP+gFHBvWQwnSN2fOnDj//PNztqmqqopf/OIX0bt37zY/3nzP4Wjum1R23HHHOOmkk1r0x+Oss87KO8MEAACgNXhNbDaq0U5MmTIlJk+enLPNNttsUxazE/I9h2PAgAHN6vfiiy+Ozp07N/u4Jk2aFM8995yLCQAAKAv19fW5f9ALODashxK0Hz/4wQ/i+eefz9nmgAMOiEsuuaRNPwj5Ao7m3GIycuTIGD58eLOP6aWXXorLLrvMRQQAAJQNt6hkoxrtyNq1a+Ob3/xm3tebnnTSSXHjjTdGly5d2uQ4892istlmm2Xqb8cdd8z7Nplc5syZE8ccc0ysXLnSRQQAAJQNt6hkoxrtzDvvvBNjxoyJdevW5Ww3cuTImDp1aps8kyPfDI5+/foV/EHdaqutYurUqbHxxhs361gWLlwYRx55ZN5QCAAAoLXlm8FRUVGhSOsRcLRDzzzzTJxzzjl579fae++949e//nVsscUWrXp8+QKOTp06Rb9+/fL207dv35g6dWqzj7+mpiaOPvrovDNKAAAA2oJncGSjGu3U5MmT49xzz83bbuedd46HH344dthhh1Y7tpqamli+fHnONvluU+nevXvceeedMXjw4GYdw4oVK+KEE06IV1991cUCAACUJc/gyEY12rFf/vKXBYUcAwYMiN/85jcxZsyYqKqqapVja8mDRgcMGBBTpkyJoUOHNmvfc+bMia985Svxpz/9yUUCAACULc/gyEY12rlJkyYVFHL06tUrLrjggpgxY0bsv//+JT+ufAFHUzM4Dj300Jg+fXp8+tOfbtZ+Z8yYEQceeGC8/vrrLg4AAKCsmcGRjWp0AJMmTYrzzjuvoLaDBg2KSZMmxa9+9avYZZddSnZM8+fPz7n+ozM4evfuHTfccEPccMMNzX4w6k033RTHHnts3ttjAAAAyoGAIxvV6CBuv/32OP/88wtuv88++8S0adPiJz/5SebXthYiywyOz3/+8/Hkk0/GoYce2qx91dTUxPjx42PixIl5p3gBAACUCwFHNp2VoOO47bbboqKiIi666KKC2nfq1CmOPvro+PrXvx5PPfVU/O53v4snnngiFi1a1OJjyRdwDB48OE477bQ46qijYvvtt2/2fh544IG48MILi3LMAAAArUnAkY2Ao4O59dZb4/3334+LLrooevXqVdA2Xbt2jf322y/222+/qK+vj+effz6mTZsW06ZNi9dee61Zx/Huu+/mXL///vu36Fkg//znP+Pss8+OmTNnGnQAACBJAo5sBBwd0D333BNPPfVUXHHFFfGlL30p07YVFRUxdOjQGDp0aJxzzjkxZ86cePzxx+Oll16KOXPmxNy5c/POlqisrIyuXbuW5NxWr14d1157bVx//fWxZs0agw0AACRLwJGNgKODWrBgQRx//PHxta99Lb73ve9FdXV1s/oZNGhQnHLKKRssW7lyZSxYsCBWrVoVq1evjtra2qitrY2qqqqorq6Orbbaquivo62trY2pU6fGjTfeGG+99ZYBBgAAkpcv4KioqFCk9Qg4Orj7778/HnzwwRg5cmSMGzcuhgwZ0uI+e/ToEdttt12rHH9NTU1MmjQpbr311liyZIkBBQAA2g0zOLIRcBB1dXXxwAMPxAMPPBCf//zn49RTT43hw4dH587le3ksXLgwbrnllrjzzjtjxYoVBhEAAGh3BBzZCDjYwB/+8If4wx/+EP369YsDDzwwRo4cGZ/5zGfKIuxYsWJFTJ8+PR599NF49NFHPWMDAABo1+rq6nKuF3BsSMBBo957772YPHlyTJ48+b9hx7777hvDhg2LAQMGtNpxLFq0KH73u9/FY489FjNnzoy1a9caHAAAoEMwgyMbAQd5rR92RERsscUWMWzYsBg6dGgMGzYshgwZEt26dSv6fi+++OL4xS9+EfX19QYBAADocPL9FhJwbEjAQWbvvPNOPPzww/Hwww//d1m/fv1iyy23jAEDBsSWW2753//cs2fPqKura/T/dtxxxxg2bFiT+6mtrRVuAAAAJdPUW0iKsTzrG04aa58vwBBwbEjAUSTDhg2L1atXl+wDUy4fxkKXL1++PJYvX56z74033jjn+X3pS1+K7t27t+pxt0bfWcYzhfNp7Wu21Mddqn+cjHFFkrXqKGPs75K/S8bY3yV/l/xd6gjXbHsk4BBwlMTIkSNj5MiRClFEI0aMiBEjRigEAABAIwQcGxJwrOe9996Lf/zjHw2WN3WbRKmXN6WU+23Nc91oo41ixx13bPI8Fy1aFPPnz2/XNWjr8W6rGjjXtrvOSlmDFM5VDYx3RzvXrDVwrmmfqxpkP1/n6lxTP9e3337bD/n1VESEhxzQJgYNGhR//OMfm1x/9913x1lnnaVQAAAA5GU+C23mvffey7m+R48eigQAAEBBBBy0mdra2pzrBRwAAAAUSsBBm1m7dm3O9RtttJEiAQAAUBABB22mvr4+1qxZ0+R6MzgAAAAolICDNrV69eom15nBAQAAQKEEHLQpAQcAAADFIOCgTeW6RUXAAQAAQKEEHLSpXDM4unfvrkAAAAAURMBBm8oVcFRVVUVVVZUiAQAAkFdnJWg/qqqqYtddd43dd989Pv7xj0fv3r2jS5cu0bVr16ipqYm5c+fGvHnz4tlnn41XXnmlLI45V8AREdGlS5e8r5MFAAAAAUc7MHjw4DjttNPi61//enTt2rWgbf75z3/GAw88ELfcckssX768zY491zM4IiJqa2sNMAAAAHm5RSVhW2yxRdx+++0xY8aMOProowsONyIiPvaxj8VZZ50VM2fOjMMPP7zNziHXDI41a9ZEXV2dgQYAACAvAUeiRowYEU888UQccMABUVFR0ex+Ntlkk7jmmmvimmuuiU6dyutyWLVqlYEGAACgIAKOBI0dOzbuuuuu6NevX9H6PPzww+PKK69sUVjSHLleBbty5UqDDQAAQEEEHIk56qij4rzzzitJEHH00UfH2LFjW/V8cgUcZnAAAABQKAFHQr74xS/GlVdeWdJ9nHXWWbH11lu32jn17NmzyXVmcAAAAFAoAUcievbsGT/96U+jsrKypPvp3r17XHLJJa12Xm5RAQAAoBgEHIn49re/HZtvvnmr7OvLX/5yDBw4sFX21aNHjybXuUUFAACAQgk4ErDNNtvEqaee2qr7HDVqVMn30aVLl6iqqmpy/dKlSw0+AAAABRFwJOCII47IGQSUwqGHHlryfeS6PSUi4qWXXjL4AADwf+zdeXhMd+P//1f22GKJiF2C1tIWraq2WrUvtfZjj12LotRVRdHiptaitZYbdaulqpSb2vfW3hu1b7VUbRFBIiURSX5/+JmvMUtmkpmYw/NxXb0q5z1zzplzzsw553XeCwCHEHAYQEaEDY8rVaqUQkJC3LoMex2MStLBgwfZ+QAAAAAAhxBweLgXXnhBxYoVeyLLLlGihFvnby/gSElJ0eHDhzkAAAAAAAAOIeDwcOXLl39iy3Z3wGGvI9Pz588rNjaWAwAAAAAA4BACDg8XHh7+xJZdsmRJt86/VKlSNstongIAAAAAcAYBh4crWrToE1t2tmzZ3Dp/ewEKAQcAAAAAwBkEHB7O3R192hMXF+fW+ZcuXdpm2YEDB9j5AAAAAACHEXB4OHeHDPbcvn3bbfMOCAhQWFiY1bLo6Gjt27ePnQ8AAAAAcBgBh4d7kh1tujNcef755+Xj42O1bM2aNUpKSmLnAwAAAAAcRsDh4dxZiyI1x44dc9u87XUw+ssvv7DjAQAAAABOIeDwcIcPH34iy7179662bNnitvmXKVPG6vSbN29q586d7HgAAAAAgFMIODzctm3bnshyN2/erPj4eLfM29fXVw0aNLBatnbtWt2/f58dDwAAAABwCgGHhztz5owuXryY4ctdsWKF2+Zds2ZNm6PD0DwFAAAAAJAWBBwGsHnz5gxd3pEjR7Rq1Sq3zb9Vq1ZWp8fExGj79u3scAAAAACA0wg4DGDOnDlKSUnJsOUNHjxYycnJbpl33rx5VbVqVatla9euVWJiIjscAAAAAOA0Ag4DOHnypNasWZMhy1q5cqV2797ttvm3bNnS5vCw8+bNY2cDAAAAANLES1IKm8HzvfDCC9qwYYNbl3H+/HnVqVNHsbGxbpl/lixZtHXrVhUoUMCibN++fTY7HgUAAAAAIDXU4DCIo0ePujXgiIuLU4cOHdwWbnh5eembb76xGm5I0syZM9nJAAAAAIA0I+AwkM8//1xxcXEun298fLy6du2qU6dOuW3de/XqpXr16lktu3LlilavXs0OBgAAAACkGQGHgfz999/64osvXDrPmJgYtWjRQlu2bHHbeteoUUN9+/a1WT5p0iTdv3+fHQwAAAAASDP64DCg7777TnXq1En3fC5fvqyIiAi31twoVaqUli1bpqCgIKvlu3fvVpMmTTJ0lBgAAAAAwNOHgMOAgoODtXnzZoWEhKR5HidPnlRERISuXLnitvVs2rSpxowZo0yZMlktj4+PV7Vq1XT+/Hl2KgAAAAAgXWiiYkDR0dHq0KGD/vnnnzS9/8cff1TDhg3dFm74+/tr7NixmjRpks1wQ5LGjh1LuAEAAAAAcAlqcBjY22+/rfnz58vPz8/h92zbtk1t2rRRUlKSW9apRIkSmjx5sl588UW7r1u/fr06deqk5ORkdiQAAAAAIN0IOAyuXr16mj59unx8fBx+z549e/Thhx8qMjLSZeuRM2dOffrpp2rXrl2q67Jr1y5FREQoISGBHQgAAAAAcAkfSUPZDMZ1+vRpXb16VTVr1pSXl5dD7ylYsKCaNWums2fP6syZM+lafmBgoDp06KDZs2fr9ddfl7e3/VZPhw8fVkREhO7cucPOAwAAAAC4DDU4nhI1a9bUlClTlC1bNqfed/ToUU2ePFmrVq1yqtlKqVKl1Lp1azVt2tTmCCnWltWyZUtFR0ezwwAAAAAALkXA8RQpXry45s6dq/DwcKffe+HCBf3222/63//+p/379+uvv/5ScnKyqY+MokWLqkyZMnrppZdUsWJFlStXzqn5z5s3T4MHD6ZZCgAAAADALQg4njJBQUH69ttvVbVqVY9Yn3/++Ud9+/bV8uXL2TkAAAAAALehD46nTEJCgpYvX66YmBiVL19eAQEBT2xd1q9frw8++EC7d+9mxwAAAAAA3IoaHE+x4OBg9e/fXxEREal2/ulKu3bt0siRI7Vv3z52AgAAAAAgQxBwPANefPFFDRs2TK+//rrblpGYmKht27Zpzpw52rJlCxsdAAAAAJChCDieISVKlFDjxo3VuHFjFSlSJN3zS0pK0s6dO7V8+XKtXr1aMTExbGQAAAAAwBNBwPGMeuWVV9S4cWOVLVtWBQsWVGhoqN1mLCkpKTp37pwOHz6sw4cP69ChQzp8+DChBgAAAADAIxBwQJLk5+en/Pnzq2DBgsqePbtu376t27dvKzY2Vrdv31ZMTIzu3bvHhgIAAAAAeCQCDgAAAAAAYHjebAIAAAAAAGB0BBwAAAAAAMDwCDgAAAAAAIDhEXAAAAAAAADDI+AAAAAAAACGR8ABAAAAAAAMj4ADAAAAAAAYHgEHAAAAAAAwPAIOAAAAAABgeAQcAAAAAADA8Ag4AAAAAACA4RFwAAAAAAAAwyPgAAAAAAAAhkfAAQAAAAAADI+AAwAAAAAAGB4BBwAAAAAAMDwCDgAAAAAAYHgEHAAAAAAAwPAIOAAAAAAAgOERcAAAAAAAAMMj4AAAAAAAAIZHwAEAAAAAAAyPgAMAAAAAABgeAQcAAAAAADA8Ag4AAAAAAGB4BBwAAAAAAMDwCDgAAAAAAIDhEXAAAAAAAADDI+AAAAAAAACGR8ABAAAAAAAMj4ADAAAAAAAYHgEHAAAAAAAwPAIOAAAAAABgeAQcAAAAAADA8Ag4AAAAAACA4RFwAAAAAAAAwyPgAAAAAAAAhkfAAQAAAAAADI+AAwAAAAAAGB4BBwAAAAAAMDwCDgAAAAAAYHgEHAAAAAAAwPAIOAAAAAAAgOERcAAAAAAAAMMj4AAAAAAAAIZHwAEAAAAAAAyPgAMAAAAAABgeAQcAAAAAADA8Ag4AAAAAAGB4BBwAAAAAAMDwCDgAAAAAAIDhEXAAAAAAAADDI+AAAAAAAACGR8ABAAAAAAAMj4ADAAAAAAAYHgEHAAAAAAAwPAIOAAAAAABgeAQcAAAArg8QfAAAIABJREFUAADA8Ag4AAAAAACA4RFwAAAAAAAAwyPgAAAAAAAAhkfAAQAAAAAADM+XTQAAAJC6rFmzKjg4WL6+vrp+/bpiY2OVkpLChgEAwEMQcADwOH5+fmrevLleeeUV3b17V3v37tXKlSu5kYDHHadBQUHKli2bzf+CgoKUNWtWBQUFafjw4bpy5QobzkD79/XXX1e1atVUpUoVhYeHy9/f3+w1iYmJio6O1u7du7V27Vpt2bJFt2/fTnXezZo107vvvitJmjlzpnbu3OnUumXPnl0tW7ZU6dKldfHiRa1cuVInTpxwah4BAQHKli2bsmbNajpeH/13lixZzKZv3bpVy5Yt48AAAHg0L0ncMeCZFBoaqm3bthlmfYcNG6aFCxc+9fslJCRE8+bNU5kyZcymb9u2Te3bt9e9e/c4eJ8Cc+fOVcWKFQ2zvrdu3dLrr78uScqVK5f2799vcbObmipVqujUqVPsfAMEGxEREerdu7dCQ0Odem9iYqKWLl2qr776ymaYVaJECa1du1YBAQGSpN69e2vx4sUOL6N06dKaO3euChQoYJp27949DRw40KFzxOuvv64ff/xRfn5+Tn22yZMna9SoURwgAACPRg0OPLO8vb0VFBRkmPXNnTv3M7Ffxo4daxFuSNI777yjTz/9VCNHjuTgfQrky5fPUN+/TJkymf7t5eXldLgBY3jzzTc1btw4hYWFWZTdvHlTly9f1o0bN5SSkqKQkBDlyZNHuXLlkpeXl6QH4UjLli3VuHFjzZ49W5MmTTKr0eHv769p06aZwo2H5yJH+fv7a/r06WbhxsPpo0aN0uHDh3X48GG78/Dx8XE63AAAwCgIOPDMSkpK0sWLF82m+fn5KU+ePKaLVUckJyfr8uXLDr8+KCgoTTd2RroZTKvg4GDVrl3bZnmjRo0IOJ4SzhzPycnJ2rNnj86dO6fLly/Ly8tLxYoV07vvvutQ0BAXF6eff/5ZZ8+eVWJiovLly6dChQqpatWqDq+Hn5+f/Pz8lJiYqPv37+vYsWMPTqK+vipUqJBZAAJjatOmjUaMGGF28x8ZGanZs2dr06ZNOnHihNVmcqGhoapZs6Zq1aqlatWqydvbW4GBgerRo4fq1aunrl27mkKHgQMHqlSpUhaBg6OqVKmi4sWL2zxG27Rpo/79+9udxz///GM6fh/+7jp73gMAgIAD8DDXrl3Ta6+9ZjE9MDBQrVq10vDhw1N9sjZ06FAtX75c165dc2rZAQEBKliwoN555x3Vrl1bb7/9NgGHZPWp6aPy588vb29vJScncwA/AwHHnTt3NG3aNP3www9Wq/uHhYVpzZo1yp49u815xMTEqGrVqrp69arV73rdunXVt2/fVI896UEHkzdv3lRMTIxq1KhhVlaiRAkNHDhQNWvWZOca0MCBA/XRRx+Z/k5MTNSYMWM0a9asVJvFRUZGav78+Zo/f77FcRAWFqaVK1fqX//6l86ePavOnTtbvN+ZgMNWuPHQ888/n+o8/vjjD4vjN0uWLPrggw/08ccfKzAwkAMCAGBYDBMLPCY+Pl5z5sxJtU300aNH9e9//9vpcEOSEhISdObMGX333Xdq0aKFGjZsmGq14mch4Dhz5ozd8r///ptw4ymRLVs2u+WHDx9W7dq1NWHCBJt9GZw/f14//fST3fn88ssvVsONh9/1ZcuWqUaNGpo/f36q65wlSxabZSdPnlT79u21fft2dq7BtGzZ0izcuHr1qho2bKhp06Y53efPw+Ogffv2iouLk/Sg+ciIESP0/fffW60l4UwTldRqC9o61lPzzz//aOLEiRowYAAHBACAgAN4Gu3bt89u+YYNG1y2rP/973+qX7++VqxYYfM1z0LAcevWLbvbYOnSpRyYT4EsWbLYfWq9d+9eNWzYMNXAS5LOnj2brhtC6UFNkX79+mn8+PF2X5c1a9ZU5zVu3Dh2sIGUL19eo0ePNv0dGxurVq1a6eDBg+ma74YNG9SoUSNdunTJNM1WvxfOBBzbt2/XrVu3bJavXLkyXev9448/WjTdBADASAg4ABvi4+PtlsfGxrp0eYmJierRo4fNC9TUnng/LQYOHKj9+/dbTF+3bp0mTZrEgfkUsHcsnz59Wu3bt1dCQoJD80qtRo8zT+DHjx9vdxQKezU4HmKUFANdAHl7a8KECWb9uPTu3VsnT550yfyPHz+uRo0a6fr163Zf50wTlevXr+vjjz821Q551IwZM7R69ep0rzfHMADAyOiDA/AgSUlJ6tu3r1577TWL4Qnt9TPwNLlx44YaN26s//u//1PZsmV19+5d7dmzx6U1ZvBk2TqW79+/r65duyomJuaJrduAAQP05ptvWu2Tw5EaHLdu3VJCQoLZKBnwTE2aNNFzzz1n+nv79u1au3atS5dx+fJldenSRYsXL5avr/VLLmcCDulB7ZAqVaqoVatWev7553XlyhWtW7dOu3btcsk6WwtPAAAwCgIOwMPExsbqs88+05w5c8ymPwtNVB690V28eHGq/aDAmGzV4Jg7d65OnDjxRNctMTFRQ4YM0dy5cy3KHKnBIYl+YgzAx8dHn3zyidm07777zi3L2r17t7788ksNHTrUarkzTVQeunz5cqpNqgAAeBbRRAXwQOvWrbNoA/4sBRx4ulmrwXHr1i199dVXHrF+GzZs0I4dOyymO1KDA8ZQrlw5FSlSxPR3QkKCtm7d6rblzZo1y2xoVrMLMW8uxQAAcBXOqoCH+vbbb83+DgwMtNlJHWAk1mpwLFq0yOX92qTH7NmzLaY5WoMDnq9atWpmf1+6dCnVfpfSIzk5WUOGDLFa5mwTFQAAYBsBB+ChVq1aZTECBLU48DR4/DhOSUnRvHnzPGodN2zYoMjISLNpBBxPjypVqpj9nVpHoK6wY8cOrVu3zmI6AQcAAK5DwAF4qKSkJIse8Qk48DR4/DjesWOHzp0753Hfvx9++MFsGk1Unh7Fixc3+ztz5swZstzp06dbXojRRAUAAJfhrAp4sDVr1ti9MQSM6PHj2BVDW7rD40/bCTieDv7+/hbNpB4ftcpd9uzZY9GRLgEHAACuw1kVyEB58+bVxo0btXHjRkVERKT6+r179+rGjRs2bwwBI3r8ON68ebNHrufhw4d169Yt0980UXk6BAcHW0wLCQlReHh4hiz/8RF6aKICAIDrEHAAGShHjhwqXbq0SpcurZCQkFRfn5SUpN9//930t7XRJwCjeTTgOHPmjC5cuOCR65mcnKzt27eb/ibgeDpkypTJ6vQGDRpkyPKXLl2qxMRE098EHAAAuA4BB5CB0lLFfd++faZ/Wxt9AjCaRwOObdu2efS6PjpcLE1Ung5xcXFWp3fv3l25cuXKkOXv2rXr/12I0UQFAACX4awKZKBixYo5/Z79+/eb/k0NDjwNHg04Dh8+7NHreuzYMdO/CTieDraGIw4KCtLUqVMzZDjujRs3mv5NDQ4AAFyHgAPIQGXKlHH6PX/88YdmzZqlWbNmWXROBxjRozWRHg0QPNHJkydN/6aJytMhPj5eV65csVr2zjvvaM6cOcqdO7db1+HRgIMaHAAAuI4vmwDIOFWrVnX6PXfu3NHgwYMdeq2/v7+yZs1q9b8sWbIoa9asWrhwof75559U5xUUFKSCBQua/rt//76ioqJ0/vx5nThxQikpKS7ZJl5eXsqUKZMyZ85s+r+tf1+5ckVr1651yXLLlSunOnXqKDw8XHny5FFISIh8fX0VFRWl69ev69KlS9qyZYt+++033bt3j4PXhR7WREpKStKpU6c8el1jY2N1+fJl5c+f3+0BR0hIiOrVq6ewsDAVKlRIBQsW1L179xQdHa0zZ85o48aN2rt3r5KSktz+ubNkyaLq1avrjTfeUL58+RQaGqrcuXMrNjZWUVFRunbtmv744w+tW7dOly5dMtwxuG/fPtWvX99qWbVq1fTbb79p8uTJWrRokVlHz65y/vx5DR48WIGBgTp06FCqr/fz8zP9Htr7759//tGSJUsMsQ/8/f319ttv65133lH+/PkVGhqq0NBQ3blzR1FRUYqKitKxY8e0bt06nT59Ol3L8vPzs3o+fPjvbNmyaeXKlYqMjHTou/Hw+1mwYEFJ0vXr13XhwgUdOXJEycnJGbYNw8PDVadOHZUoUUJ58uRRaGiosmfPrpiYGN24cUPHjh3Tnj179Ouvv9psmpWebfrGG2+oSpUqKlSokPLmzas8efIoISFB165dU1RUlE6dOqV169Z5fJANgIADQBpUrFhRYWFhLp9vjx491KNHD2XJksWhqtV//PGHWceljwoICFDjxo3VsWNHu7VNoqKitHbtWn3zzTc2n4Ta89lnn6lNmzbKnDmzAgMDHX7f+vXr0xVwZMmSRT169FCzZs1UoEABq68pXLiw6d+dOnXSP//8ow0bNmj8+PE6c+aMU/ulffv26dq3DRs21NWrV62WjRgxQjVr1nR6nocPH9b777//RL8Lf//9t27cuKGLFy8qISHB47+7Gzdu1KuvvqqbN2+67behQ4cOevfdd+1+h7t166ZLly5p2LBhWrlypVvW5eWXX1bv3r31zjvvyN/f36K8QIECKlWqlCSpadOm+vLLL3X06FFNmzZNy5YtM8zv8Y4dO2wGHNKDEO7zzz9Xv379tGrVKq1atUpbt27VnTt3XLYOs2bNslt+4MABU7jr6+vY5drRo0c9PuAIDw/Xp59+qpo1a9ps9vX8889Lkho3bqyBAwfq3LlzmjNnjv7zn//o/v37Di2nadOmGjp0qLJly+bQuTEqKkr//e9/rV8s+/qqTp066tixo9544w2b84iJidHmzZs1YcIEp84XzggMDFTnzp3VpEkT03Z6XP78+SVJlSpVUufOnRUbG6sFCxZo2rRpio6OTtfyCxQooE8//VR169a1ObJb8eLFTf/u27ev/v77b82fP1/Tp08362AXAAg4AIPy8fHR559/7pZ5BwUFKUeOHA6/vkSJEhYBh5eXl3r06KFu3bopZ86cqc4jJCREbdu2VbNmzTR69Gj9+9//dmqds2fPniGd+T36+Zo0aaJBgwYpNDTUojwhIUGXL19WfHy8QkNDlTNnTnl5eZlCkcaNG6tevXqaO3euxo8fr5iYmFSXmSNHDtPTvTT/QNu5qQkODk7T/B15QulujRo1MtT397PPPnPbd3fMmDFObY8CBQpoxowZevfdd9WzZ0+Hb/ZSExwcrIEDB6ply5amY1+S7t+/r23btunEiROKjIxU9uzZ9dxzz6l69eqmGi0vvPCCpk6dqjZt2mjgwIFmzXo81fLlyzV06FAFBATYfZ2/v7/ee+89vffee0pISNBvv/2mX3/9VTt37tSJEyfc9rTey8vL6m+VkWXOnFkff/yxPvzwQ7PAISUlRXv27NEff/yhq1evKlOmTAoLC1OtWrVM56Pw8HANGzZMrVq10sCBA7Vnz55Ul5clSxanzjMlS5a0GnC0bt1affr0Ud68eR06t7333ntq0KCBZsyYoZEjR7q0tmPjxo01aNAgU4DxqOTkZFPNlxw5cig0NNS0nYOCgtStWzc1a9ZMffr00YYNG5xevr+/v7p3766ePXtajES0b98+7du3T1euXJG/v7+KFCmiGjVqKE+ePJKkQoUKacCAAWrZsqUGDRqkrVu3cmEIgIADMLK+ffuqfPnybpn3gQMHNG/ePAUEBKhw4cIqXbq0zacqDwOOR2XNmlVTpkxRrVq1nF52YGCghg4dqvz582vo0KEOv+/KlSumKqve3t6mUMEd/Pz8NHnyZDVs2NBselJSkpYsWaL58+ebjVQjSaGhoWrRooU6depkukDz8/PTBx98oDp16igiIkJ//vmn3eVevnxZsbGxdvfF45KSknTy5ElTgGKvdsOZM2f0559/KiQkxOHOZyMjI1Ndb2SMihUravLkyWkOwRo1aqTAwEC9//776b7JLlWqlBYtWmQxdPW8efM0fvx4Xbt2zeI9mTJlUrdu3dSrVy9TTY833nhDa9asUceOHT1+dJyYmBgtWbJErVu3dvg9AQEBqlGjhmrUqGGax+7du7Vr1y7t3LlTx44dc1ngkZKSYtY0zlptGiPJmzevfvzxRz333HNm0zds2KAhQ4bo/PnzVn+7H94QP/wdLVWqlJYuXaq+ffvqhx9+sLvMkydPat68efLz81PBggVVsmRJu32rPH5u9PPz06hRoxQREeH8xbWvr3r06KGCBQu6JIgMDAzU9OnTrZ6nN2zYoB9++EGbNm0yqx3h6+ur+vXrq1evXipZsqQkKXfu3Jo7d66+/PJLTZs2zeHl58qVSwsXLrSo2bl9+3Z9/vnnVpsa+vj46L333tOQIUMUHBxsCqoWLlyoYcOGafr06ZwIALiFl6QUNgNgqUmTJpo8ebLNckdO0H5+furXr5969OhhUTZmzBhNnDjR5eudLVs2ffbZZ+rYsaPV8u3bt6t58+aSpLCwMM2dO9fsovP27ds6deqULl++LF9fX+XJk0dlypRJtYpv//79NW/evDSvd1BQkNq2bauePXvaDAXWr1+vDh06OHVROGvWLFWrVs3iRr979+5mQzVaExwcrKlTp6py5cpm02/evKl27dpZBCPWlC1bVp988kmqzUnGjBmjmTNnpqkKfPny5dWjRw/VqVPHavmSJUs0ZcoUj+/vIi3atWun0aNH2ywfMWKEpk6dmqHrdObMGYsnnJJUpUoVnTp1So0aNdKUKVPMRs84dOiQdu3aZQoT8ubNq8qVK1vcdD1uyJAhmjlzZprX9eWXX9bChQvNQrLExER169ZNq1evdujY++GHH8yaGty7d09dunTR+vXrPfrYCQoK0rZt21xWUyI2NlZ79uzRb7/9pg0bNuivv/5y2bpmzpxZBQoUUMOGDdWlSxebQ4YfPXo0TU3XHjV9+nSLQFiSJk+erFGjRjk9v8KFC2vx4sVmzf8k6V//+pdmzJiR6vvDwsL0888/m9WgSElJ0RdffKHvvvvO4fV4WAOhb9++ZrWUHjp37pwqVapkCgK+++47vfrqq6by+Ph4HT9+XFeuXFFycrLp3JhaM8tJkybZ/Y1KTfbs2TVv3jyzdXl4vPXp00erVq1K9diZM2eO3n77bbPpX3zxhWbPnp3q8kNDQ/Xjjz9aNIf5+uuvNW7cuFRrqISGhmrZsmUWTXS/+uorff3111xsAiDgAIwQcISEhKh27drq3r27zX433BVwPPTTTz+ZLtasXcRlyZJFa9euNQ1de+TIEX399dfavHmzRc2BoKAgtWrVSp9++qnNjhbj4+NVrVo1q0/inFGlShUtWLDA6gWoMwGHt7e3Fi5caBFOxMbGqk6dOg6vp4+PjxYsWGAxn7t376pBgwYOdZ7m5eWl8ePHq2XLllbLr127pgoVKqSrbbK3t7fmzZtn0ZHtyJEjNWXKlKf2e2q0gCN//vyaO3euKTD89ddfNWTIEJvNOt58802NHj3arE3748dh5cqV09TRZ+nSpbV8+XKLfhB69+6txYsXOzyfSpUqadGiRWaBzf3799W4cWOzYa49UcWKFbVw4UKr+yu9Tp48qfXr12vZsmUuHQHr5Zdf1ooVK6wOL+tpAUeePHm0du1ai+Yd33zzjcaOHevwfIoVK6bVq1dbBDsffvihVqxY4dQ6TZw4Uc2aNbOYnpCQoPDwcPn6+mrJkiV67bXXJD3oEHbChAlas2aNRQfdmTNnVsOGDTVo0CBTLYXHJScnq3Hjxvrf//7n9L7Ili2bVqxYYRF03rlzRw0aNNDx48cdmk+FChUsmt8kJCSoZs2admv1BQUFae3atRbXMXPmzNGgQYMc/hz58+fXunXrLLbRZ599pu+//54LTgAuxdhkQBp17dpVGzduNPtv27ZtOnz4sP744w+NHTvWLZ2KOsrWk5mH1dDHjx+vYsWKKSUlRaNGjVLdunW1Zs0aq80iYmNjNWPGDNWqVctqdXXpQW2JLl26pHu9t27d6lD76tT06tXLIpSQpJ49ezoVwiQlJalr164WT2MzZcqkGTNmODSyRkpKigYPHmyz/wtfX990d7yWnJxs8cR9w4YNT3W4YTSvvPKKZs2aJT8/PyUnJ2vQoEFq2bKl3T4rdu7cqYYNG9oM0jJlyqS2bds6vS6BgYGaNm2aRbixdOlSp8IN6UGHnY8/ifX19dWkSZPcEhy40p49e9S+fXuH+tVxVokSJdSzZ09t3rxZq1evVtu2bZ3qVNmWAwcOuK2TWVfy8vLSN998YxFu7Nu3z6lwQ3oQGvbv399i+pgxY5yugWOrc9eAgAAFBQVpwIABpnBj1qxZqlq1qpYsWWJ19LE7d+5o0aJFqlatms1ORb29vdWzZ880bcORI0darcX18ccfOxxuSA/CTGuft1evXnbfZ+065tSpUw6P7PbQ5cuX1atXL4vaHkOGDFF4eDgnBwAEHIAnCA0NVenSpc3+e+655xQcHGy19kFGszWsXtasWdW9e3c1bNhQKSkp6tevnyZPnuzQ0JPnzp1T+/btbbYzb968uc1e8Z3hzIWbNRUqVFCfPn0spm/atClNnavFxMRo5MiRFtOLFSvm8BPNuLg4TZo0yWpZrly59NZbb6V7uz3azvv+/fv64osv+KJ6kDFjxihz5sxKSUlRz549NWfOHIfed+vWLdOIPta0aNHC6tN8ewYPHmxR5Tw+Pt7qce6IyZMnW4z4U7RoUbd1ruxK27dvV7Vq1bR9+3a3LaNcuXIaM2aMdu3apfbt2zs8Koothw8f9vjt2rlzZ1WpUsViujP9NT1q+fLlFs0Cs2fP7nQzhzNnzthsVtG2bVt169ZNkjRhwgQNHjzYoZGeoqKi1KpVK929e9dqefXq1S2a6KTm//7v/9SkSROL6Q9H9XFUgQIFbJ4L6tevb7N/l+bNm1utyTNs2LA0DVW9ZcsWbdq0yWxapkyZNGnSJHl7czsCgIADeOISEhIUGxtr9l9aTvruEhUVZbPsYdXSf//731qwYIFT8z148KDNJ7yZM2e2aCecFukZxs7Ly0tjx461esM3YcKENM/3l19+0dGjRy2mN23aVK+//rpD8/jhhx9048YNq2UfffRRurfbo09K16xZowsXLvBF9SAPm6VMnDjR6SFVL1y4YLNJW2hoqKkTQUeUL1/ealOvn3/+OU3DPksP+u2w1h9Cu3btbA7J7EmuXLmi5s2bq0OHDukOWO0JDQ3VqFGjtGTJElMHxmldX08WGhqqgQMHWkzftWuXQ30X2WKtz44qVarYHbr1cXfu3FFcXJzVsofr/Msvv2jcuHFOrdvFixdtdtzp7e3tVIidI0cOq+F5cnKy07VfmjRposyZM1stCwwMVL58+SymBwUFafjw4RbTjx8/rs2bN6d5/1kbca18+fKqXbs2JwgABBzAkzZmzBiVLFnS7L8iRYropZdeUtu2bbVgwQKHnvy4i72Ov7y8vHTu3Lk0d3w2d+5cuzdPT1L16tWtVuk9ceKEDhw4kK7tuXDhQqtlqVXzfSg+Pt5m06HKlSvrpZdeStdnf/Qi35HO45DxDhw44PSN00MLFiwwG1njUY+PbmBP165drU5funRpuj7b409npQd92DjTMfCTtn79etWoUUOtW7fW+vXr3RZav/baa1q3bp1LAmFP1KlTJ6s1A9J7jG3dutXqiCTvv/++S9bby8tLN27c0IABA9L0/vnz59us4ejMvm7fvr3VjmQ3bdpks3amLXXr1rVbbm2o5DZt2lhdfnr33+7du63WROvUqRMnBwAEHIAnSk5OVnR0tDZt2qS+ffuqcuXKbq32nB5TpkxJcwBz8OBBXbx40WrZ48MAZrTu3btbnb5lyxaX3PxYU6VKFYfDie+++85mUwNro+04Knv27KaA48iRI9q7dy9fSA/0zTffpHko0Zs3b9oM6V588UWH5lG4cGGrNzzR0dHavXt3uj7biRMnrD4Zj4iIsHoT5alSUlK0ZcsWdejQQRUqVNDAgQO1devWdPeT87jQ0FAtXbpUFSpUeKqO8cyZM6tdu3ZWyxwZmceeuLg4q33W1K5d22U1hebMmZPmWoSRkZH6/fffrZbZ6ijYWuBg64Y/LU0sHx/++VH379/XuXPnzKb5+vraDIycaRpja3l//PGHxfRKlSo5VQsNAAg4gCfk77//Vps2bdJVpdMdbt265XQV+ccdOnTI5o32k1KsWDGbzUW2bduW7vlfunTJZvX11q1bOzSPmJgYzZ8/32pZ/fr109wxbcuWLU1NIKi94ZnOnz+vjRs3uuV7Z2sEh8e1bdvWavOt48ePpzrcoyPBwPXr1y2m58yZ02qHv0Zw9epV/ec//1FERIReeOEFdenSRUuWLLHobySt/Pz8NGPGDIf3nxE0atTI6nng0qVLunXrVrrnb62jax8fH9WrVy/d875//77N3+f0fkdz5Mjh0PsbN25sM5RIy++HvdFbVq9ebRHc1apVy2qzlbi4OJcMfWyro/IGDRpwkgBAwAEYwb179/TRRx/p5s2bHrNO27dvV3x8fLrmYWvkB0cv4tzB2rC4j97AuYKt+TjTvnrGjBlWnwZ7e3ubOrhzhpeXl9q3by/pwZP45cuX88XzQNu2bUt3iGDrxjooKMih99s6Tl01jKmt2knlypUz/P6Li4vTL7/8ol69eumVV17RG2+8od69e2vRokUWT8GdkTdvXk2ZMsUjOqd2hbfffvuJHGMvv/xyuud9+PBhm6NdZdS50VrHrNKDgCgtwdro0aOtdn56/fp1qx2+2vqNsDfakyv23yuvvMJJAgABB2AUt27dcrqnd3dKTydvD9kKbGz1yJ4R3nzzTavTY2Nj7Xa66oxTp05ZnV60aFGHhyu8evWqzbbMLVq0cLrzwSpVqphqfjzpvl9gmyuGP7bVSa219vKPy5o1q82mLLaanDnL1rH7NN68/PXXX1q8eLE+xHB9AAAgAElEQVQ++eQTVapUSeXKlVPXrl01Z84cpwOPd955x+bvl9HYqkXn7mPMFQGHO8+ND2vYpaZixYpWp//5559pWp/z58+rbt262rJli+7evavbt29r3bp1qlmzptXAxN37z9Z5sly5ck9NyAeAgAN4Jvz0008ub8OdVseOHUv3PGwNh/ck2bowPHv2rMuWcebMGZtlzvTkP23aNKtP8/39/dW5c2en1ulhJ47379/Xf/7zH75sHsoVIZutTi8dGSa2QoUKNl9na1QJZ5QqVcpm1fqnoQZHaq5du6aVK1dq0KBBqlSpkipVqqQJEyY4XCOgRYsWht8GYWFhZqM5PcrWk3tn5MiRw2Z/R4ULF1bOnDkNfW4sXLiwze2X1oBDehDMt27dWs8//7xKliypjh07Wj0uc+bMabWTblf9RmTKlMlmZ6vZs2dXkSJFOFEAIOAAjCImJiZd/UBUrVpVnTt3VufOndNdS8IVzWU8Jax5yM/Pz+aTIVe0+350P9riTCd3f/75p9auXWu1rG3btg49kZekQoUKqXr16pIetKd2Vd8AcM9vwJNkrwPg9N685M+fX1999ZXN8uzZsytTpkwesR+mTp2q6dOnq1+/fm5dzrlz5zRu3Di99tprGj58eKo3+PXq1VPWrFkNfYy78xgLCgrS119/bfc4stZ3hJHOjfY6q3ZFDYqkpCS7zeSKFy9usxZFevdflixZNHbsWLshlBGGlAbg+XzZBEDGOXjwoGrUqJGm9/bu3dvU2/68efPStR6uuOFPb18CrmavffOdO3dcthx7T+ecfXo4ZcoUqyNaBAUFqV27dpo6dWqq82jXrp28vR9k1XQu6tlsDfHqCd+RoUOHqm/fvmmab2BgoEM3Jjly5PCIml8NGjSQr6+v7t69q6+//trtYW1iYqK+/fZbrVmzRvPmzVOxYsWsvu7h0+2tW7ca9hi3d4y9//77atKkSdouVn19VahQIdNvnat+g90RcKSHvc5mXVGDIj37r3nz5mm+fvHx8VGhQoVSrWn2JDspB0DAASANjh49mub3Pv/885IeDEWb3g5CPa32hbsvzFxRNfohe2GJsxfXBw4c0I4dO6x2jtq5c2fNnDnT7k2xv7+/WrVqJelB53i2hicEUvuO2KoW7+rlX7lyxWO2R6ZMmfTSSy9p//79GbK88+fPq379+lqxYoXNmg758+d/ao+x4OBgt48Wk94b5Cd9brR3Drl9+/YTXX7OnDnTHSC5e/8BgETAAWSotDYfCA0NNZ34XVkb4WlibxQJW/0WpIW9eTk6ksWjpkyZYjXgyJMnj5o3b253yMJGjRopV65ckqi9gfTdvCQmJrq9Vpajza4y0muvvZZhAYf0oJlS27ZttWnTJmXJksWiPL1NLJ40ewHH/fv3lZyc/MwdY854+HtuTUac++3tv6SkJJeeS60xehMtAJ6BgAPIQGm9QHm00y9X1kZ4VratK9v+Z86c2WZZWvbNtm3bdOTIEaujW3Tv3l0LFy60eVPwcGjY69evMzQsUmVvhILu3btr1apVz9w2eeuttzR9+vQMXeaFCxc0ffp09enTx6LM6AGHvSYkY8eO1ZQpU/gi2mEt9HrI0VFY3PUbMWPGDH355ZfsJACefy5iEwAZ58aNG1q3bp3WrVvn1MgelStXNv3bE0cv8ZRtm5ZQwln25mVvHeyxddEfFhamevXqWS0rU6aMaejN+fPnP/H+HeD57PUvEBAQ8Exuk3feeeeJhArz58+3WmPG6EM8c4ylT2xsrM2ytNQQdOX+CwwMZAcBMAQCDiADXb9+XR07dlTHjh21cuVKh99Xs2ZN079pomKdvY5TM6oGR3R0dJrmuWrVKp0/f95qWY8ePaxO79ixo6QHTQvmzp3LAYBU2QvgPGWEk4zm4+OjiIiIDF9uZGSkTp48afUcYWT2bpCf1WPMVdsvI5pvEHAAeBoQcAAeLiwszKxDOpqoWJeQkGDz6VeePHlcthx7T3uvXbuWpnkmJSXp22+/tVpWpkwZvf3222bTcuTIoUaNGkl6MDRsZGQkBwDSdfNia4jlZ0FERESqozu4w6VLlyymGT3gsBeiPcvHmCu+oxlR08je/nPleRQA3ImAA/BwjRs3NvubGhy27d271+r0sLCwVIcXdFR4eLjNsvSMYrJ48WKbAUnPnj3N/m7ZsqXpadqsWbPY8XDI4cOHbZY5Mszr0ypfvnxq3rx5hi/X2m/5X3/9xTH2DLt48aLNstKlS7t9+SdOnLA5kgz7D4BREHAAHiwwMFDvv/9+qhfFeGDXrl1Wp/v7+7ts+EVbAcfly5dtNjNxREJCgs2w4q233lKZMmUkPegErl27dpKkgwcPat++fex4OGT//v02fz8eDkP9rBo0aJDdESTc4fEn4vHx8dqzZ4+ht+O1a9esNr3hGHPM77//rvv371stK1WqlNuX/88//+jAgQNWy4oWLZohHZ0CQHoRcAAeLCIiQsHBwRYXILBu586dNstcdXH4MGh43Pbt29M97++//163b9+2WvbRRx9JkqpWraqwsDBJDA0L5yQmJmr37t02j2t39JGQI0cONW/e3OM7mMyVK5cGDhyYocssVKiQ2d87duwwfCej9n4Lc+XKZdbc0lX8/PzUunXrDOmEMyMChoMHD1otCw0NVfHixV22rDJlylj9Xv72229WXx8QEKCyZcu6/DN7eXkpIiLC7jDWAOAMAg7AQ2XPnt2iaYJEDQ57Dh06pNOnT1ste+edd9I9/xIlSthsB+2KYVpjY2P1/fffWy179913FR4erg4dOkiSoqKi9N///pedDqesWbPG5k1ilSpVXL684cOH65tvvtG+fftUoUIFj942rVu3tujvxl1KlixpUats3bp1T/UxJpl3mO0qPXv21FdffaX9+/eb+iYysl9//dVmmas+X9GiRbV69WodO3bMVCPQkf1Xq1Ytl3/ejh07aty4cdq/f7/atGnDjzSAdCPgADzU2LFjrXbKRsBhW0pKiqZPn2617NGhdtOqatWqVqcfOnRIW7dudclnmDlzptUhX729vfXll1+qWrVqkqR58+bZbCsN2PLTTz/Z7Ovl4cg8rlKjRg01adJEkhQXF2fzybSn8PLy0syZM91SyyC1G9VLly5p8eLFT8UxtnPnTpvNHNq1a+ey/pCkB0HRxx9/LElKTk622UzRSOz9tr/33nsu2X69e/eWt7e3MmXKpD/++MOs7NixYzbPZ61atZK/v7/LPmuhQoVMNae8vb1dUhMyc+bM8vLyyvgbqv9/ez4JmTJleiKfGSDgAOCwVq1aqUGDBlbLaKJi39KlS63ewBUvXlyvvPJKui5ebD1dmjRpksvW/9q1a/rxxx+tllWtWlXe3t5KTEzUvHnz2Nlw2r179/Tvf//batlbb73lsifs2bJl09ixY01/Dx8+3Gpw52mCgoI0b9485c6d223LyJs3rzp37mw2bdy4cYbYPo6aMmWK1emFCxfWBx984JJl+Pj4aMKECaZ+ISZNmpTmkaw8ydWrV22GXUWLFlWrVq3SNf/w8HC99957kqQjR47o0KFDDu+/4OBgU6DkCuPHjzcNvT5z5sw092Pl5eWlbt26adeuXTp9+rROnDih2bNnu/V7/FBYWJgWLlyokydP6s8//9TOnTvVrFkzty/Xy8tLnTt31s6dO/Xnn3/q5MmTmjNnjkJCQjjRgYCDTQB4lg4dOpjdGDzu7t27bKRUbuBGjhxptaxXr15pnm+DBg1UtGhRi+k7d+60W6U3Lb799lslJyfbLP/ll18YGtaTT6zenn1q/f77722O1jBu3DjlypUrXfPPkiWLZs+erbx580qSVq5cqVWrVhlm/xUuXFg//vijRR8ZrropGTlypOmmTnow8siSJUuequ/A2rVrbXaAPGDAgHTXknkYbpQrV06SdODAAc2YMcMl+8edN6SOmjp1qs3A67PPPktzh7i+vr4aPXq0aVjkcePGWX3dzp07bdbi6Nmzp15++eV0b4svv/xSb731liTp9OnTGj9+fJrnN23aNH3xxRcqUqSIvLy8lC1bNtWtW1dr1651a+fBL730ktavX68qVaooS5Ys8vLyUlhYmCZOnGjqN8tdJk2apH/9618KCwuTl5eXsmbNqtq1a2v9+vUWfbcBBBwAJCnVDstcfRMTEBCgIUOGaOTIkaaLD2scbaJir7dzV4xnb+sE6gkn1sWLF2vZsmUW02vWrKk33njD6fllzZpV/fv3t5h+7do1devWTSkpKS5d//Pnz+uXX36xWU7noo7fNPj6+mbo+mTPnt1mh5quuNC29f3Knj27w/OIi4tT165drVaDDwkJ0cSJE03DEDsrR44cWrx4senG5cKFC+rbt6/hjqtSpUppzZo1evPNN10638GDB6tOnTqmv6OiotSxY0clJSU5NR9bHTK64ni3FXDZOy89LiUlRR9++KFu3bpl9Vw3bdq0NAdp/v7+mjlzpukp+e3bt9W9e3enmuzZ2k7uPDdmy5bN4eYd58+f16BBg2zOf86cOWlqKvLVV1+Z+pnZs2eP1q9fb/O1PXv21NWrV61uuylTppgCzLSELBMnTlSnTp0kPRhB7MMPP0zzw5tmzZrZ7Jskf/78GjJkiFt+I/z8/DR58mRlzZrVannfvn2tPhRxhcaNG5ua/z0uNDRUQ4cO5eIABBwALKXW2Zyrhrzz9vZWs2bNtH37dnXt2jXV1zvaROXhky1r0vv0xdvbW9WrV7daFhIS4rIhWdOjf//+FtVdvby8NG3aNKerrY4aNco0cslDSUlJ6tatm6Kiotyy/raqCB84cED79+/nC/r/e+211+yWZ0R/Co+qXbu2zbKSJUumO8yx9b0rXLiw1T57bDlw4ICGDRtmtax69epatmyZU/N7+Ju4bNky0+/LzZs31bFjR8XGxhriWDp37pzZ9zlXrlxatGiRPv7443SPAuPn56cRI0aY/cbfu3dPnTp10uXLl52eX8WKFW3ug4IFC6Z5PbNly6YXX3zRalndunWdCvYvXbqkXr16WQ2AX3jhBa1evdrp70S+fPk0f/58U0h07949denSRX/99ZfD8yhRooTNvhLSe26UbHek6uXlpZdeesnh+SxYsECLFi2yuf9nzpzp8MgxPj4+GjBggFq0aCHpwYOSPn362H1PdHS0PvzwQ6vD1oaHh2vNmjVOb6+QkBDNnj1bTZs2NZ1HP/roIx0/fjzN2/thcxtbbP1mptcLL7xg9zrQz8/PJZ2bp+Uz16hRg4sDEHAAMD8BDxkyxOwpmzVNmjRRy5YtnR4X3svLSzlz5lStWrU0evRo7dmzRxMnTlSBAgUcen9qNTi8vLz01ltvafTo0TZf88knn6T5xFuyZElNnTpVlSpVsrn8sWPHOvx53CUuLk7NmzfXmTNnzKaHhobqp59+cujJir+/v8aOHWvxpOTu3bv64IMP3Nqh3ZEjR7Rt2zaL6dTeeMDX11eVK1fWu+++a/d1jRs3Vps2bZz+njrLx8dHLVq00PDhw22+pnfv3ipfvnya5p8/f35NmDDBVDPC2vK//fZbp5pVzJ4922a18LJly2rdunXq3r17qjVPihcvrmnTpmnz5s0qUaKEpAcjArVs2TJdNy4ZKSYmRq1bt1b16tW1ZcsWs+Osf//+2rlzp5o3b56mmntly5bVihUrzDpxjYmJUbt27Ww247B33Hfs2NFmH01eXl7q379/mp4cFypUSFOnTrW5v8PDwzVw4ECnAuyNGzfqk08+sVq7onDhwlq5cqX69+9vc3Sqh/LmzasRI0Zo165dpu9AYmKiOnfubPV30pZXXnlFU6dOtVn+/vvvq0GDBmnaz0WKFNGIESNsPlmXpGHDhjkVug4YMEAbNmywGaRs3LhR1atXt7u+b731ltavX282Kttnn32ms2fPprr8vXv36sMPP1R8fLxFWWhoqH7++WcNHjxYRYoUsTuf4OBgffHFF9q9e7cpAEpOTtbHH3+c7uZrjz98eFzu3LnNmoS5SmrLfXhMuEN4eLjd8uzZsz8VwyYDaeUlKYXNgGc1yPjhhx/MLgxz586t3LlzO9VW9u7du4qMjHQoeMiVK5eCg4PTVY24devWZhfgRYsWNXUaGBAQoPz58zvck/edO3cUGRlpqhrap08fi5EOWrRooc6dOysgIED58uVz+EIhJSVF0dHRioqKUkpKiu7du5fqzeijAcynn35qMX39+vWmYVIdlStXLs2fP9+iRktcXJymTZumRYsWWVTD9ff3V/369dWjRw+VKlXKrCwqKkrt27e36HneHSpVqqSffvrJ9Pe1a9dUoUKFZ2b0lFdffdVmUFegQAGnmmUkJCTo4sWLSkhIsCgbPHiwdu7c6fT6LVq0yHTxXKBAAYdDlJs3b+rq1aumJ9tfffWVxRChI0aMUMWKFeXt7a08efIoZ86cDv0upaSkKDIyUjdu3DD7DkdHR9t8T9OmTTV+/Hib6x8fH6+NGzfq/PnzunTpkmJiYlSoUCEVLVpURYsWVfny5c1usM6cOaOOHTvqzz//9Mjj6sKFC2a/wUlJSWrTpo3pRtnLy0tdunTRwIEDLbbJxYsXtWHDBq1fv147d+60+V3MnTu33nzzTUVERFiM4HT8+HF16tQp1VoHFSpU0KhRo8x+lwoXLuxUM4dHz0tz5841dU78+eefmw0LHBIS4nDnhCkpKfrzzz/NPnvDhg3tngPfeustzZo1y+ZNV1JSkrZs2aLTp0/r8uXLun79uvLnz6/w8HCFh4fr1VdfNatFExUVpc6dO2vv3r02l5k1a1bT8N1+fn7Kly+fzeYE1n4vrl69aqoxOWbMGIugoWrVqho0aJB8fX2VL18+ZcuWzeFj8NatW4qMjDQ1TWratKnV5jzSgxqTgwcPVpcuXWzO78qVK1q7dq3++usvRUZGKm/evHr++edVunRplS1b1iJksTXamL1g6D//+Y/N2o/Jycnavn27jh8/rsuXL+vatWsKDQ1VeHi46Tfi0WuHmJgYde/e3exaJq0WLVpkd5S0K1eupDlYtqd8+fJauXKl3df069dP8+fPd/my582bZ7dmSlRUlMV+B54lvmwCPLMHv6+vSpcune75ZMqUyaEk31Ueb6ISEBCQ5s+ROXNmsycB1i7+goOD0zT/RwMjSS65KU/LELk3btxQ06ZN1bt3b3Xp0sV0c5A1a1b169dPffr00dmzZ/X333/rzp07KliwoIoVK2b1YnX58uUaNmyY1XbJ7rBjxw4dOHDAVA34WRsaNlu2bC75jj78nhQrVszmctKiRIkSTjfjkB70n/BoHwrW+lMoXLhwmr93efPmNWsfn1qgumTJEp09e1b/+te/rN4IBAYGqn79+qkuOzk5WYsXL9aQIUN0+/ZtwxxnI0eONKsFkJKSohkzZmjlypXq0aOHIiIiTDfXBQsWVMeOHdWxY0fdu3dPV69e1bVr10y/Cblz51bevHmtnhPi4uI0Z84cTZw40aHfsvQe/4+vw6P9SxQsWDDN8/by8rKohZBa/xzbt29X3bp1NXToUKtNOHx8fFSjRg2HqtZv2LBB/fv3T/V32MfHJ82fMSAgwOzpu7VaLdmzZ0/z/HPkyGE2T3vf0eTkZA0dOlSHDh3SoEGDrNZ2yZcvX6rDPMfHx+uLL77QggULnF7f/fv3q27duho8eLDV2kPe3t6qXLmyQ8Oxb9++Xf369UvziCmP27Rpk93l2uvPKj2OHj2qq1ev2uyL5M6dO9q8ebNblr1582a7AYe7PjNgFDRRAQwmLTf5T4ubN2+meZuNHDlSlStX1ooVK8x6p/fx8dFzzz2natWqqX79+ipXrpzZDW9KSop27dqlBg0aqHv37hkWbjx05MgRU0D0/fff8wWAW+zfv18NGjRQ586dnW5WkpiYqLVr16pOnTr65JNPDBVu/Pzzz/r222+tll2+fFmDBg1SxYoVNXXqVIsbsoc1Kl599VXVr19f9evX1+uvv24RLERHR2vy5MmqWLGiRo0a9cz+hp87d07t27dXkyZNtGfPHqc6Z05JSdH27dvVokULtW/fPsN/hz3lWH3zzTc1bNgwp4bDTUlJ0aZNm1SrVq00hRsPXbp0SV27dlW9evX066+/2h3py5rff/9dHTp0UPPmzV0WbkjSnDlzbNaoPHPmjN1R6dIjPj5eAwYMsNpBcEpKioYPH56m/nUc8f3339ts3nb+/Hm7TZSBZwFNVAB4HFtNVMaPH5+uoeQeypo1q6pVq6batWuraNGiypMnj6lpUnR0tK5du6YLFy5o8+bN2rhxo9s6Ek1Nvnz5tGvXLvn7+2vp0qVmbagBdypSpIhq1qypypUrq0CBAgoJCVGuXLmUkpKi2NhYRUZG6uDBg/rf//6nNWvWmDWJ8XRTp06Vj4+Pbt++rc8//9xqsyVbChcurLfffluVKlVS/vz5TbXUgoKCFB8fr+joaEVHR+vq1avavXu3fvvtNx07dszlIy09DfLkyaMaNWqoWrVqKlSokPLkyaPg4GB5e3srLi5O169f16FDh7R//36tWbNGly5dYqM9vHj38lLZsmVVvXp1vfHGG6ZtlyNHDt2/f18xMTE6ffq0duzYoZUrV+r06dMuX4dcuXKZ9l9YWJhpHXx9fXX79m3duHFDhw8f1oEDB7R27VqXhhqP8/f3V8+ePdWgQQOFh4crMjJSmzdv1pdffqm4uDi37ouXXnpJn332mcqWLatMmTLp+PHjGj9+vEua39jj5+enHj16qFGjRipatKgiIyO1detWDR8+3FAhM0DAAeCZ0K9fP/Xu3dtiep8+fcz6TXH1BaMkj7oRGT16tNq1aydJqlOnjg4dOsTBgSfG29vb6ae2zwofHx+nh3qFMX6H+Y46t/+8vLye+Do8qePnSS37SX5mwBPRBwcAj2OrI7rff//dbcv0tIuDQoUKqVWrVpIetFkm3MCTRrhhG+HG0/k7zHfU+f33pPfhk1z+k1o23xvAHH1wAPA41gKO6Ohojx2VwR0++eQT0wgOkyZN4qAAAAAAUkHAAcDjWAs4fvvtt2fm84eHh6tp06aSpAMHDmj79u0cFAAAAEAqaKICwONYG3rTqCOI+Pn5qUSJEpKkU6dOmY3gYsugQYNMwy6OGDGCAwIAAABwAAEHgAyTP39+tWrVSgULFtTu3bu1bt063bp1y+w1AQEBKl26tNm048ePa/fu3Yb7vLVq1dL48eMVHBws6f8Ns7d//36b76latareffddSdKGDRu0c+dODhwAAADAAYyiAiBDvPLKK1qwYIGyZ89umnbkyBHVrVvXrIO+V199VStWrDB7b9euXbVy5UpDfd7Q0FDt2LFDmTNnNpt++fJlvfHGG0pMTLR4j7+/v7Zu3aqwsDAlJCSoRo0aOnPmDAcPAAAA4AD64ADgdj4+Pvr666/Nwg1JevHFF9WhQwezaW+++abZ3ytWrDBcuCFJ7777rkW4IT2oxVK8eHGr7+nXr5/CwsIkPRgilnADAAAAcBwBBwC3CwsL03PPPWe1rHHjxqZ/Z86cWe+//77p72vXrmnAgAGG/MyFChVy6vXNmzdX9+7dJUk7duzQzJkzOXAAAAAAJxBwAHC7fPny2SwrV66cSpcuLW9vb/Xp00chISGSpH/++Uft27fXzZs3DfmZ//rrL5tlV69e/X8/wt7e6t27tyZMmCBJunDhgrp27ark5GQOHAAAAMAJdDIKwO3sNbXw8fHRf//7X126dEnPP/+8JCkxMVEdO3bUwYMHDfuZ9+7dq5SUFHl5eVmU9ejRQ3v27FGJEiUUERFhapZy/fp1tW/fXjdu3OCgAQAAAJxEJ6MAMsSmTZtUqlSpVF936dIl9ejRQ3v37jX8Zx46dKi6dOni0GvPnDmjNm3a2K35AQAAAMA2H0lD2QwA3G3v3r1q3LixAgMDrZYnJiZqyZIl6tSpk86ePftUfOYdO3YoZ86ceumll+Ttbb1F4L179zRt2jT17NlTUVFRHCgAAABAGlGDA0CGCQoKUufOnVW2bFkVKlRId+7c0d9//61Dhw5p8eLFun79+lP5uUuVKqWmTZuqePHiCgsLU2xsrC5duqRt27Zp/fr1io6O5uAAAAAA0omAAwAAAAAAGB6jqAAAAAAAAMMj4AAAAAAAAIZHwAEAAAAAAAyPgAMAAAAAABgeAQcAAAAAADA8Ag4AAAAAAGB4BBwAAAAAAMDwCDgAAAAAAIDhEXAAAAAAAADDI+AAAAAAAACGR8ABAAAAAAAMj4ADAAAAAAAYHgEHAAAAAAAwPAIOAAAAAABgeAQcAAAAAADA8Ag4AAAAAACA4RFwAAAAAAAAwyPgAAAAAAAAhkfAAQAAAAAADI+AAwAAAAAAGB4BBwAAAAAAMDwCDgAAAAAAYHgEHAAAAAAAwPAIOAAAAAAAgOERcAAAAAAAAMMj4AAAAAAAAIZHwAEAAAAAAAyPgAMAAAAAABgeAQcAAAAAADA8Ag4AAAAAAGB4BBwAAAAAAMDwCDgAAAAAAIDhEXAAAAAAAADDI+AAAAAAAACGR8ABAAAAAAAMj4ADAAAAAAAYHgEHAAAAAAAwPAIOAAAAAABgeAQcAAAAAADA8Ag4AAAAAACA4RFwAAAAAAAAwyPgAAAAAAAAhkfAAQAAAAAADI+AAwAAAAAAGB4BBwAAAAAAMDwCDgAAAAAAYHgEHAAAAAAAwPAIOAAAAAAAgOERcAAAAAAAAMMj4AAAAAAAAIZHwAEAAAAAAAyPgAMAAAAAABgeAQcAAAAAADA8Ag4AAAAAAGB4BBwAAAAAAMDwCDgAAAAAAIDhEXAAAAAAAADDI+AAAAAAAACGR8ABAAAAAAAMj4ADwP/Xjh2QAAAAAAj6/7odgc4QAABgT3AAAAAAe4IDAAAA2BMcAAAAwJ7gAAAAAPYEBwAAALAnOAAAAIA9wQEAAADsCQ4AAABgTx0fEZoAAAbRSURBVHAAAAAAe4IDAAAA2BMcAAAAwJ7gAAAAAPYEBwAAALAnOAAAAIA9wQEAAADsCQ4AAABgT3AAAAAAe4IDAAAA2BMcAAAAwJ7gAAAAAPYEBwAAALAnOAAAAIA9wQEAAADsCQ4AAABgT3AAAAAAe4IDAAAA2BMcAAAAwJ7gAAAAAPYEBwAAALAnOAAAAIA9wQEAAADsCQ4AAABgT3AAAAAAe4IDAAAA2BMcAAAAwJ7gAAAAAPYEBwAAALAnOAAAAIA9wQEAAADsCQ4AAABgT3AAAAAAe4IDAAAA2BMcAAAAwJ7gAAAAAPYEBwAAALAnOAAAAIA9wQEAAADsCQ4AAABgT3AAAAAAe4IDAAAA2BMcAAAAwJ7gAAAAAPYEBwAAALAnOAAAAIA9wQEAAADsCQ4AAABgT3AAAAAAe4IDAAAA2BMcAAAAwJ7gAAAAAPYEBwAAALAnOAAAAIA9wQEAAADsCQ4AAABgT3AAAAAAe4IDAAAA2BMcAAAAwJ7gAAAAAPYEBwAAALAnOAAAAIA9wQEAAADsCQ4AAABgT3AAAAAAe4IDAAAA2BMcAAAAwJ7gAAAAAPYEBwAAALAnOAAAAIA9wQEAAADsCQ4AAABgT3AAAAAAe4IDAAAA2BMcAAAAwJ7gAAAAAPYEBwAAALAnOAAAAIA9wQEAAADsCQ4AAABgT3AAAAAAe4IDAAAA2BMcAAAAwJ7gAAAAAPYEBwAAALAnOAAAAIA9wQEAAADsCQ4AAABgT3AAAAAAe4IDAAAA2BMcAAAAwJ7gAAAAAPYEBwAAALAnOAAAAIA9wQEAAADsCQ4AAABgT3AAAAAAe4IDAAAA2BMcAAAAwJ7gAAAAAPYEBwAAALAnOAAAAIA9wQEAAADsCQ4AAABgT3AAAAAAe4IDAAAA2BMcAAAAwJ7gAAAAAPYEBwAAALAnOAAAAIA9wQEAAADsCQ4AAABgT3AAAAAAe4IDAAAA2BMcAAAAwJ7gAAAAAPYEBwAAALAnOAAAAIA9wQEAAADsCQ4AAABgT3AAAAAAe4IDAAAA2BMcAAAAwJ7gAAAAAPYEBwAAALAnOAAAAIA9wQEAAADsCQ4AAABgT3AAAAAAe4IDAAAA2BMcAAAAwJ7gAAAAAPYEBwAAALAnOAAAAIA9wQEAAADsCQ4AAABgT3AAAAAAe4IDAAAA2BMcAAAAwJ7gAAAAAPYEBwAAALAnOAAAAIA9wQEAAADsCQ4AAABgT3AAAAAAe4IDAAAA2BMcAAAAwJ7gAAAAAPYEBwAAALAnOAAAAIA9wQEAAADsCQ4AAABgT3AAAAAAe4IDAAAA2BMcAAAAwJ7gAAAAAPYEBwAAALAnOAAAAIA9wQEAAADsCQ4AAABgT3AAAAAAe4IDAAAA2BMcAAAAwJ7gAAAAAPYEBwAAALAnOAAAAIA9wQEAAADsCQ4AAABgT3AAAAAAe4IDAAAA2BMcAAAAwJ7gAAAAAPYEBwAAALAnOAAAAIA9wQEAAADsCQ4AAABgT3AAAAAAe4IDAAAA2BMcAAAAwJ7gAAAAAPYEBwAAALAnOAAAAIA9wQEAAADsCQ4AAABgT3AAAAAAe4IDAAAA2BMcAAAAwJ7gAAAAAPYEBwAAALAnOAAAAIA9wQEAAADsCQ4AAABgT3AAAAAAe4IDAAAA2BMcAAAAwJ7gAAAAAPYEBwAAALAnOAAAAIA9wQEAAADsCQ4AAABgT3AAAAAAe4IDAAAA2BMcAAAAwJ7gAAAAAPYEBwAAALAnOAAAAIA9wQEAAADsCQ4AAABgT3AAAAAAe4IDAAAA2BMcAAAAwJ7gAAAAAPYEBwAAALAnOAAAAIA9wQEAAADsCQ4AAABgT3AAAAAAe4IDAAAA2BMcAAAAwJ7gAAAAAPYEBwAAALAnOAAAAIA9wQEAAADsCQ4AAABgT3AAAAAAe4IDAAAA2BMcAAAAwJ7gAAAAAPYEBwAAALAnOAAAAIA9wQEAAADsCQ4AAABgT3AAAAAAe4IDAAAA2BMcAAAAwJ7gAAAAAPYEBwAAALAnOAAAAIA9wQEAAADsCQ4AAABgT3AAAAAAe4IDAAAA2BMcAAAAwJ7gAAAAAPYEBwAAALAnOAAAAIA9wQEAAADsCQ4AAABgT3AAAAAAe4IDAAAA2BMcAAAAwJ7gAAAAAPYEBwAAALAnOAAAAIA9wQEAAADsCQ4AAABgT3AAAAAAe4IDAAAA2BMcAAAAwJ7gAAAAAPYEBwAAALAnOAAAAIA9wQEAAADsCQ4AAABgT3AAAAAAe4IDAAAA2BMcAAAAwJ7gAAAAAPYEBwAAALAnOAAAAIA9wQEAAADsCQ4AAABgT3AAAAAAewHYlw7VcO6u1QAAAABJRU5ErkJgglRDTVAAAAACAAADMFRQRTIAAAASAAADQW5hciBTb2Z0d2FyZSBMTEMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/+MYxAAIe2IECABNTRj//r//////y///8xvIY5vJEjgAACMewYhEOCEMsnsEEBAd//9/r/5///Pz6fOJ8T0x67CwSnuIFQWB/+MYxBkIi14kCABHZ5IJAhJDBAUFA1UP708/39m1T91///////dGmzEShSvFkydnFmWHiyFExUva7537+Tf5/1kc+fkX/IHv/+MYxDEI82IgCACTTf6////t98+t/1zM6EI0EjnShA1ZDQGwCihWSh/+31m+3T3//9v///+8isktZGQJQdVOqqAj3bzT2uob/+MYxEgJ62IcAABHLDA+NMOJVR//f+v/T3///////s601VGsHZ1JChXYMDDFChZLktspI2cRANRlAv6/7f9v/0//////6Ugi/+MYxFsJS2IgCACRTV9TK6QjqqLREYkhtQEagpiFkYQYKuGDFPp7vWtk619lsZL+duiJrb///7dOuZCbOCI7qOdlOnxRMxKD/+MYxHAJY2IoCACNT/pSA8JVAv//v/X9dP/////9r8yqZJznU5kd3CIDKMWQnF2IEClORjJGgJl5FnIPrr6KtLldn19bIn/T/+MYxIUJu2okEACTTNV/////XqhmdUqV2Wg6snZtpXGY3CJ5wHFTyS0P/avqv/pud6pZX1d7bk3XXpfdP///+Ts2hqWcGlJi/+MYxJkJ214cAACNTYEQosiRkGN8kyJVjqGKD613X0XY1H+r7lo789b3/b/9u/7b1dKmRGkR0OQcc7jbmFJpwthYsRGzaNYX/+MYxKwKK2YkEACTTARJ///LWsue/Kf/////W5K4XsY6nJZLEpr+yFCbYkKFUzYoQk6S9EwElUBYVoBsE+sylf9foSm1t9lS/+MYxL4KO2YcCACTTVu5pGRSEIpZiqIVVnbdHufbknQx6Pultv9kf9uvL57R38h8nqBpHJqZDbbFGW11xdtVZgUqltJZHhtq/+MYxNALG14YCACNMS8BvandlRGV/SiqrqtStTstbrV6f//tz8/ZUoh3RY1TnOyEDCAdVklceHyInItkgSKJ2uof/x/zz+KS/+MYxN4LO2IYCACTTQEmlFZRGzd6Lefkv////tfznKLv4NZTPgji8uQaa6hlcySiYiQEuVDRsQFhcGA2+PUDvvka+fT/fkd//+MYxOwMo2YkGABTSFf////n97B1Uwttzm0l0kRGqMMoy6zlDhgfQ2iJTrczBJjCcVQiTK0qKFn/yX/NWesrfq/////9ZKae/+MYxPQRA2oMAACTELWd87muwfkuw0cGyBYFhQaEYHAM/KZFCsERXTJKBp4OvEJRh6YgptX/d0+7zJbIqA0RHWdEVq9DqrBm/+MYxOsMm2IYEAFTTWVdBjTHwZSnuiITdUd3br9af+P95Orq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`;
1641
-
1642
- var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};
1643
-
1644
- var lib = {};
1645
-
1646
- var uaParser_min = {exports: {}};
1647
-
1648
- /* UAParser.js v1.0.32
1649
- Copyright © 2012-2021 Faisal Salman <f@faisalman.com>
1650
- MIT License */
1651
-
1652
- (function (module, exports) {
1653
- (function(window,undefined$1){var LIBVERSION="1.0.32",EMPTY="",UNKNOWN="?",FUNC_TYPE="function",UNDEF_TYPE="undefined",OBJ_TYPE="object",STR_TYPE="string",MAJOR="major",MODEL="model",NAME="name",TYPE="type",VENDOR="vendor",VERSION="version",ARCHITECTURE="architecture",CONSOLE="console",MOBILE="mobile",TABLET="tablet",SMARTTV="smarttv",WEARABLE="wearable",EMBEDDED="embedded",UA_MAX_LENGTH=350;var AMAZON="Amazon",APPLE="Apple",ASUS="ASUS",BLACKBERRY="BlackBerry",BROWSER="Browser",CHROME="Chrome",EDGE="Edge",FIREFOX="Firefox",GOOGLE="Google",HUAWEI="Huawei",LG="LG",MICROSOFT="Microsoft",MOTOROLA="Motorola",OPERA="Opera",SAMSUNG="Samsung",SHARP="Sharp",SONY="Sony",XIAOMI="Xiaomi",ZEBRA="Zebra",FACEBOOK="Facebook";var extend=function(regexes,extensions){var mergedRegexes={};for(var i in regexes){if(extensions[i]&&extensions[i].length%2===0){mergedRegexes[i]=extensions[i].concat(regexes[i]);}else {mergedRegexes[i]=regexes[i];}}return mergedRegexes},enumerize=function(arr){var enums={};for(var i=0;i<arr.length;i++){enums[arr[i].toUpperCase()]=arr[i];}return enums},has=function(str1,str2){return typeof str1===STR_TYPE?lowerize(str2).indexOf(lowerize(str1))!==-1:false},lowerize=function(str){return str.toLowerCase()},majorize=function(version){return typeof version===STR_TYPE?version.replace(/[^\d\.]/g,EMPTY).split(".")[0]:undefined$1},trim=function(str,len){if(typeof str===STR_TYPE){str=str.replace(/^\s\s*/,EMPTY).replace(/\s\s*$/,EMPTY);return typeof len===UNDEF_TYPE?str:str.substring(0,UA_MAX_LENGTH)}};var rgxMapper=function(ua,arrays){var i=0,j,k,p,q,matches,match;while(i<arrays.length&&!matches){var regex=arrays[i],props=arrays[i+1];j=k=0;while(j<regex.length&&!matches){matches=regex[j++].exec(ua);if(!!matches){for(p=0;p<props.length;p++){match=matches[++k];q=props[p];if(typeof q===OBJ_TYPE&&q.length>0){if(q.length===2){if(typeof q[1]==FUNC_TYPE){this[q[0]]=q[1].call(this,match);}else {this[q[0]]=q[1];}}else if(q.length===3){if(typeof q[1]===FUNC_TYPE&&!(q[1].exec&&q[1].test)){this[q[0]]=match?q[1].call(this,match,q[2]):undefined$1;}else {this[q[0]]=match?match.replace(q[1],q[2]):undefined$1;}}else if(q.length===4){this[q[0]]=match?q[3].call(this,match.replace(q[1],q[2])):undefined$1;}}else {this[q]=match?match:undefined$1;}}}}i+=2;}},strMapper=function(str,map){for(var i in map){if(typeof map[i]===OBJ_TYPE&&map[i].length>0){for(var j=0;j<map[i].length;j++){if(has(map[i][j],str)){return i===UNKNOWN?undefined$1:i}}}else if(has(map[i],str)){return i===UNKNOWN?undefined$1:i}}return str};var oldSafariMap={"1.0":"/8",1.2:"/1",1.3:"/3","2.0":"/412","2.0.2":"/416","2.0.3":"/417","2.0.4":"/419","?":"/"},windowsVersionMap={ME:"4.90","NT 3.11":"NT3.51","NT 4.0":"NT4.0",2e3:"NT 5.0",XP:["NT 5.1","NT 5.2"],Vista:"NT 6.0",7:"NT 6.1",8:"NT 6.2",8.1:"NT 6.3",10:["NT 6.4","NT 10.0"],RT:"ARM"};var regexes={browser:[[/\b(?:crmo|crios)\/([\w\.]+)/i],[VERSION,[NAME,"Chrome"]],[/edg(?:e|ios|a)?\/([\w\.]+)/i],[VERSION,[NAME,"Edge"]],[/(opera mini)\/([-\w\.]+)/i,/(opera [mobiletab]{3,6})\b.+version\/([-\w\.]+)/i,/(opera)(?:.+version\/|[\/ ]+)([\w\.]+)/i],[NAME,VERSION],[/opios[\/ ]+([\w\.]+)/i],[VERSION,[NAME,OPERA+" Mini"]],[/\bopr\/([\w\.]+)/i],[VERSION,[NAME,OPERA]],[/(kindle)\/([\w\.]+)/i,/(lunascape|maxthon|netfront|jasmine|blazer)[\/ ]?([\w\.]*)/i,/(avant |iemobile|slim)(?:browser)?[\/ ]?([\w\.]*)/i,/(ba?idubrowser)[\/ ]?([\w\.]+)/i,/(?:ms|\()(ie) ([\w\.]+)/i,/(flock|rockmelt|midori|epiphany|silk|skyfire|ovibrowser|bolt|iron|vivaldi|iridium|phantomjs|bowser|quark|qupzilla|falkon|rekonq|puffin|brave|whale|qqbrowserlite|qq|duckduckgo)\/([-\w\.]+)/i,/(weibo)__([\d\.]+)/i],[NAME,VERSION],[/(?:\buc? ?browser|(?:juc.+)ucweb)[\/ ]?([\w\.]+)/i],[VERSION,[NAME,"UC"+BROWSER]],[/microm.+\bqbcore\/([\w\.]+)/i,/\bqbcore\/([\w\.]+).+microm/i],[VERSION,[NAME,"WeChat(Win) Desktop"]],[/micromessenger\/([\w\.]+)/i],[VERSION,[NAME,"WeChat"]],[/konqueror\/([\w\.]+)/i],[VERSION,[NAME,"Konqueror"]],[/trident.+rv[: ]([\w\.]{1,9})\b.+like gecko/i],[VERSION,[NAME,"IE"]],[/yabrowser\/([\w\.]+)/i],[VERSION,[NAME,"Yandex"]],[/(avast|avg)\/([\w\.]+)/i],[[NAME,/(.+)/,"$1 Secure "+BROWSER],VERSION],[/\bfocus\/([\w\.]+)/i],[VERSION,[NAME,FIREFOX+" Focus"]],[/\bopt\/([\w\.]+)/i],[VERSION,[NAME,OPERA+" Touch"]],[/coc_coc\w+\/([\w\.]+)/i],[VERSION,[NAME,"Coc Coc"]],[/dolfin\/([\w\.]+)/i],[VERSION,[NAME,"Dolphin"]],[/coast\/([\w\.]+)/i],[VERSION,[NAME,OPERA+" Coast"]],[/miuibrowser\/([\w\.]+)/i],[VERSION,[NAME,"MIUI "+BROWSER]],[/fxios\/([-\w\.]+)/i],[VERSION,[NAME,FIREFOX]],[/\bqihu|(qi?ho?o?|360)browser/i],[[NAME,"360 "+BROWSER]],[/(oculus|samsung|sailfish|huawei)browser\/([\w\.]+)/i],[[NAME,/(.+)/,"$1 "+BROWSER],VERSION],[/(comodo_dragon)\/([\w\.]+)/i],[[NAME,/_/g," "],VERSION],[/(electron)\/([\w\.]+) safari/i,/(tesla)(?: qtcarbrowser|\/(20\d\d\.[-\w\.]+))/i,/m?(qqbrowser|baiduboxapp|2345Explorer)[\/ ]?([\w\.]+)/i],[NAME,VERSION],[/(metasr)[\/ ]?([\w\.]+)/i,/(lbbrowser)/i,/\[(linkedin)app\]/i],[NAME],[/((?:fban\/fbios|fb_iab\/fb4a)(?!.+fbav)|;fbav\/([\w\.]+);)/i],[[NAME,FACEBOOK],VERSION],[/safari (line)\/([\w\.]+)/i,/\b(line)\/([\w\.]+)\/iab/i,/(chromium|instagram)[\/ ]([-\w\.]+)/i],[NAME,VERSION],[/\bgsa\/([\w\.]+) .*safari\//i],[VERSION,[NAME,"GSA"]],[/headlesschrome(?:\/([\w\.]+)| )/i],[VERSION,[NAME,CHROME+" Headless"]],[/ wv\).+(chrome)\/([\w\.]+)/i],[[NAME,CHROME+" WebView"],VERSION],[/droid.+ version\/([\w\.]+)\b.+(?:mobile safari|safari)/i],[VERSION,[NAME,"Android "+BROWSER]],[/(chrome|omniweb|arora|[tizenoka]{5} ?browser)\/v?([\w\.]+)/i],[NAME,VERSION],[/version\/([\w\.\,]+) .*mobile\/\w+ (safari)/i],[VERSION,[NAME,"Mobile Safari"]],[/version\/([\w(\.|\,)]+) .*(mobile ?safari|safari)/i],[VERSION,NAME],[/webkit.+?(mobile ?safari|safari)(\/[\w\.]+)/i],[NAME,[VERSION,strMapper,oldSafariMap]],[/(webkit|khtml)\/([\w\.]+)/i],[NAME,VERSION],[/(navigator|netscape\d?)\/([-\w\.]+)/i],[[NAME,"Netscape"],VERSION],[/mobile vr; rv:([\w\.]+)\).+firefox/i],[VERSION,[NAME,FIREFOX+" Reality"]],[/ekiohf.+(flow)\/([\w\.]+)/i,/(swiftfox)/i,/(icedragon|iceweasel|camino|chimera|fennec|maemo browser|minimo|conkeror|klar)[\/ ]?([\w\.\+]+)/i,/(seamonkey|k-meleon|icecat|iceape|firebird|phoenix|palemoon|basilisk|waterfox)\/([-\w\.]+)$/i,/(firefox)\/([\w\.]+)/i,/(mozilla)\/([\w\.]+) .+rv\:.+gecko\/\d+/i,/(polaris|lynx|dillo|icab|doris|amaya|w3m|netsurf|sleipnir|obigo|mosaic|(?:go|ice|up)[\. ]?browser)[-\/ ]?v?([\w\.]+)/i,/(links) \(([\w\.]+)/i],[NAME,VERSION]],cpu:[[/(?:(amd|x(?:(?:86|64)[-_])?|wow|win)64)[;\)]/i],[[ARCHITECTURE,"amd64"]],[/(ia32(?=;))/i],[[ARCHITECTURE,lowerize]],[/((?:i[346]|x)86)[;\)]/i],[[ARCHITECTURE,"ia32"]],[/\b(aarch64|arm(v?8e?l?|_?64))\b/i],[[ARCHITECTURE,"arm64"]],[/\b(arm(?:v[67])?ht?n?[fl]p?)\b/i],[[ARCHITECTURE,"armhf"]],[/windows (ce|mobile); ppc;/i],[[ARCHITECTURE,"arm"]],[/((?:ppc|powerpc)(?:64)?)(?: mac|;|\))/i],[[ARCHITECTURE,/ower/,EMPTY,lowerize]],[/(sun4\w)[;\)]/i],[[ARCHITECTURE,"sparc"]],[/((?:avr32|ia64(?=;))|68k(?=\))|\barm(?=v(?:[1-7]|[5-7]1)l?|;|eabi)|(?=atmel )avr|(?:irix|mips|sparc)(?:64)?\b|pa-risc)/i],[[ARCHITECTURE,lowerize]]],device:[[/\b(sch-i[89]0\d|shw-m380s|sm-[ptx]\w{2,4}|gt-[pn]\d{2,4}|sgh-t8[56]9|nexus 10)/i],[MODEL,[VENDOR,SAMSUNG],[TYPE,TABLET]],[/\b((?:s[cgp]h|gt|sm)-\w+|galaxy nexus)/i,/samsung[- ]([-\w]+)/i,/sec-(sgh\w+)/i],[MODEL,[VENDOR,SAMSUNG],[TYPE,MOBILE]],[/\((ip(?:hone|od)[\w ]*);/i],[MODEL,[VENDOR,APPLE],[TYPE,MOBILE]],[/\((ipad);[-\w\),; ]+apple/i,/applecoremedia\/[\w\.]+ \((ipad)/i,/\b(ipad)\d\d?,\d\d?[;\]].+ios/i],[MODEL,[VENDOR,APPLE],[TYPE,TABLET]],[/\b((?:ag[rs][23]?|bah2?|sht?|btv)-a?[lw]\d{2})\b(?!.+d\/s)/i],[MODEL,[VENDOR,HUAWEI],[TYPE,TABLET]],[/(?:huawei|honor)([-\w ]+)[;\)]/i,/\b(nexus 6p|\w{2,4}e?-[atu]?[ln][\dx][012359c][adn]?)\b(?!.+d\/s)/i],[MODEL,[VENDOR,HUAWEI],[TYPE,MOBILE]],[/\b(poco[\w ]+)(?: bui|\))/i,/\b; (\w+) build\/hm\1/i,/\b(hm[-_ ]?note?[_ ]?(?:\d\w)?) bui/i,/\b(redmi[\-_ ]?(?:note|k)?[\w_ ]+)(?: bui|\))/i,/\b(mi[-_ ]?(?:a\d|one|one[_ ]plus|note lte|max|cc)?[_ ]?(?:\d?\w?)[_ ]?(?:plus|se|lite)?)(?: bui|\))/i],[[MODEL,/_/g," "],[VENDOR,XIAOMI],[TYPE,MOBILE]],[/\b(mi[-_ ]?(?:pad)(?:[\w_ ]+))(?: bui|\))/i],[[MODEL,/_/g," "],[VENDOR,XIAOMI],[TYPE,TABLET]],[/; (\w+) bui.+ oppo/i,/\b(cph[12]\d{3}|p(?:af|c[al]|d\w|e[ar])[mt]\d0|x9007|a101op)\b/i],[MODEL,[VENDOR,"OPPO"],[TYPE,MOBILE]],[/vivo (\w+)(?: bui|\))/i,/\b(v[12]\d{3}\w?[at])(?: bui|;)/i],[MODEL,[VENDOR,"Vivo"],[TYPE,MOBILE]],[/\b(rmx[12]\d{3})(?: bui|;|\))/i],[MODEL,[VENDOR,"Realme"],[TYPE,MOBILE]],[/\b(milestone|droid(?:[2-4x]| (?:bionic|x2|pro|razr))?:?( 4g)?)\b[\w ]+build\//i,/\bmot(?:orola)?[- ](\w*)/i,/((?:moto[\w\(\) ]+|xt\d{3,4}|nexus 6)(?= bui|\)))/i],[MODEL,[VENDOR,MOTOROLA],[TYPE,MOBILE]],[/\b(mz60\d|xoom[2 ]{0,2}) build\//i],[MODEL,[VENDOR,MOTOROLA],[TYPE,TABLET]],[/((?=lg)?[vl]k\-?\d{3}) bui| 3\.[-\w; ]{10}lg?-([06cv9]{3,4})/i],[MODEL,[VENDOR,LG],[TYPE,TABLET]],[/(lm(?:-?f100[nv]?|-[\w\.]+)(?= bui|\))|nexus [45])/i,/\blg[-e;\/ ]+((?!browser|netcast|android tv)\w+)/i,/\blg-?([\d\w]+) bui/i],[MODEL,[VENDOR,LG],[TYPE,MOBILE]],[/(ideatab[-\w ]+)/i,/lenovo ?(s[56]000[-\w]+|tab(?:[\w ]+)|yt[-\d\w]{6}|tb[-\d\w]{6})/i],[MODEL,[VENDOR,"Lenovo"],[TYPE,TABLET]],[/(?:maemo|nokia).*(n900|lumia \d+)/i,/nokia[-_ ]?([-\w\.]*)/i],[[MODEL,/_/g," "],[VENDOR,"Nokia"],[TYPE,MOBILE]],[/(pixel c)\b/i],[MODEL,[VENDOR,GOOGLE],[TYPE,TABLET]],[/droid.+; (pixel[\daxl ]{0,6})(?: bui|\))/i],[MODEL,[VENDOR,GOOGLE],[TYPE,MOBILE]],[/droid.+ (a?\d[0-2]{2}so|[c-g]\d{4}|so[-gl]\w+|xq-a\w[4-7][12])(?= bui|\).+chrome\/(?![1-6]{0,1}\d\.))/i],[MODEL,[VENDOR,SONY],[TYPE,MOBILE]],[/sony tablet [ps]/i,/\b(?:sony)?sgp\w+(?: bui|\))/i],[[MODEL,"Xperia Tablet"],[VENDOR,SONY],[TYPE,TABLET]],[/ (kb2005|in20[12]5|be20[12][59])\b/i,/(?:one)?(?:plus)? (a\d0\d\d)(?: b|\))/i],[MODEL,[VENDOR,"OnePlus"],[TYPE,MOBILE]],[/(alexa)webm/i,/(kf[a-z]{2}wi)( bui|\))/i,/(kf[a-z]+)( bui|\)).+silk\//i],[MODEL,[VENDOR,AMAZON],[TYPE,TABLET]],[/((?:sd|kf)[0349hijorstuw]+)( bui|\)).+silk\//i],[[MODEL,/(.+)/g,"Fire Phone $1"],[VENDOR,AMAZON],[TYPE,MOBILE]],[/(playbook);[-\w\),; ]+(rim)/i],[MODEL,VENDOR,[TYPE,TABLET]],[/\b((?:bb[a-f]|st[hv])100-\d)/i,/\(bb10; (\w+)/i],[MODEL,[VENDOR,BLACKBERRY],[TYPE,MOBILE]],[/(?:\b|asus_)(transfo[prime ]{4,10} \w+|eeepc|slider \w+|nexus 7|padfone|p00[cj])/i],[MODEL,[VENDOR,ASUS],[TYPE,TABLET]],[/ (z[bes]6[027][012][km][ls]|zenfone \d\w?)\b/i],[MODEL,[VENDOR,ASUS],[TYPE,MOBILE]],[/(nexus 9)/i],[MODEL,[VENDOR,"HTC"],[TYPE,TABLET]],[/(htc)[-;_ ]{1,2}([\w ]+(?=\)| bui)|\w+)/i,/(zte)[- ]([\w ]+?)(?: bui|\/|\))/i,/(alcatel|geeksphone|nexian|panasonic|sony(?!-bra))[-_ ]?([-\w]*)/i],[VENDOR,[MODEL,/_/g," "],[TYPE,MOBILE]],[/droid.+; ([ab][1-7]-?[0178a]\d\d?)/i],[MODEL,[VENDOR,"Acer"],[TYPE,TABLET]],[/droid.+; (m[1-5] note) bui/i,/\bmz-([-\w]{2,})/i],[MODEL,[VENDOR,"Meizu"],[TYPE,MOBILE]],[/\b(sh-?[altvz]?\d\d[a-ekm]?)/i],[MODEL,[VENDOR,SHARP],[TYPE,MOBILE]],[/(blackberry|benq|palm(?=\-)|sonyericsson|acer|asus|dell|meizu|motorola|polytron)[-_ ]?([-\w]*)/i,/(hp) ([\w ]+\w)/i,/(asus)-?(\w+)/i,/(microsoft); (lumia[\w ]+)/i,/(lenovo)[-_ ]?([-\w]+)/i,/(jolla)/i,/(oppo) ?([\w ]+) bui/i],[VENDOR,MODEL,[TYPE,MOBILE]],[/(archos) (gamepad2?)/i,/(hp).+(touchpad(?!.+tablet)|tablet)/i,/(kindle)\/([\w\.]+)/i,/(nook)[\w ]+build\/(\w+)/i,/(dell) (strea[kpr\d ]*[\dko])/i,/(le[- ]+pan)[- ]+(\w{1,9}) bui/i,/(trinity)[- ]*(t\d{3}) bui/i,/(gigaset)[- ]+(q\w{1,9}) bui/i,/(vodafone) ([\w ]+)(?:\)| bui)/i],[VENDOR,MODEL,[TYPE,TABLET]],[/(surface duo)/i],[MODEL,[VENDOR,MICROSOFT],[TYPE,TABLET]],[/droid [\d\.]+; (fp\du?)(?: b|\))/i],[MODEL,[VENDOR,"Fairphone"],[TYPE,MOBILE]],[/(u304aa)/i],[MODEL,[VENDOR,"AT&T"],[TYPE,MOBILE]],[/\bsie-(\w*)/i],[MODEL,[VENDOR,"Siemens"],[TYPE,MOBILE]],[/\b(rct\w+) b/i],[MODEL,[VENDOR,"RCA"],[TYPE,TABLET]],[/\b(venue[\d ]{2,7}) b/i],[MODEL,[VENDOR,"Dell"],[TYPE,TABLET]],[/\b(q(?:mv|ta)\w+) b/i],[MODEL,[VENDOR,"Verizon"],[TYPE,TABLET]],[/\b(?:barnes[& ]+noble |bn[rt])([\w\+ ]*) b/i],[MODEL,[VENDOR,"Barnes & Noble"],[TYPE,TABLET]],[/\b(tm\d{3}\w+) b/i],[MODEL,[VENDOR,"NuVision"],[TYPE,TABLET]],[/\b(k88) b/i],[MODEL,[VENDOR,"ZTE"],[TYPE,TABLET]],[/\b(nx\d{3}j) b/i],[MODEL,[VENDOR,"ZTE"],[TYPE,MOBILE]],[/\b(gen\d{3}) b.+49h/i],[MODEL,[VENDOR,"Swiss"],[TYPE,MOBILE]],[/\b(zur\d{3}) b/i],[MODEL,[VENDOR,"Swiss"],[TYPE,TABLET]],[/\b((zeki)?tb.*\b) b/i],[MODEL,[VENDOR,"Zeki"],[TYPE,TABLET]],[/\b([yr]\d{2}) b/i,/\b(dragon[- ]+touch |dt)(\w{5}) b/i],[[VENDOR,"Dragon Touch"],MODEL,[TYPE,TABLET]],[/\b(ns-?\w{0,9}) b/i],[MODEL,[VENDOR,"Insignia"],[TYPE,TABLET]],[/\b((nxa|next)-?\w{0,9}) b/i],[MODEL,[VENDOR,"NextBook"],[TYPE,TABLET]],[/\b(xtreme\_)?(v(1[045]|2[015]|[3469]0|7[05])) b/i],[[VENDOR,"Voice"],MODEL,[TYPE,MOBILE]],[/\b(lvtel\-)?(v1[12]) b/i],[[VENDOR,"LvTel"],MODEL,[TYPE,MOBILE]],[/\b(ph-1) /i],[MODEL,[VENDOR,"Essential"],[TYPE,MOBILE]],[/\b(v(100md|700na|7011|917g).*\b) b/i],[MODEL,[VENDOR,"Envizen"],[TYPE,TABLET]],[/\b(trio[-\w\. ]+) b/i],[MODEL,[VENDOR,"MachSpeed"],[TYPE,TABLET]],[/\btu_(1491) b/i],[MODEL,[VENDOR,"Rotor"],[TYPE,TABLET]],[/(shield[\w ]+) b/i],[MODEL,[VENDOR,"Nvidia"],[TYPE,TABLET]],[/(sprint) (\w+)/i],[VENDOR,MODEL,[TYPE,MOBILE]],[/(kin\.[onetw]{3})/i],[[MODEL,/\./g," "],[VENDOR,MICROSOFT],[TYPE,MOBILE]],[/droid.+; (cc6666?|et5[16]|mc[239][23]x?|vc8[03]x?)\)/i],[MODEL,[VENDOR,ZEBRA],[TYPE,TABLET]],[/droid.+; (ec30|ps20|tc[2-8]\d[kx])\)/i],[MODEL,[VENDOR,ZEBRA],[TYPE,MOBILE]],[/(ouya)/i,/(nintendo) ([wids3utch]+)/i],[VENDOR,MODEL,[TYPE,CONSOLE]],[/droid.+; (shield) bui/i],[MODEL,[VENDOR,"Nvidia"],[TYPE,CONSOLE]],[/(playstation [345portablevi]+)/i],[MODEL,[VENDOR,SONY],[TYPE,CONSOLE]],[/\b(xbox(?: one)?(?!; xbox))[\); ]/i],[MODEL,[VENDOR,MICROSOFT],[TYPE,CONSOLE]],[/smart-tv.+(samsung)/i],[VENDOR,[TYPE,SMARTTV]],[/hbbtv.+maple;(\d+)/i],[[MODEL,/^/,"SmartTV"],[VENDOR,SAMSUNG],[TYPE,SMARTTV]],[/(nux; netcast.+smarttv|lg (netcast\.tv-201\d|android tv))/i],[[VENDOR,LG],[TYPE,SMARTTV]],[/(apple) ?tv/i],[VENDOR,[MODEL,APPLE+" TV"],[TYPE,SMARTTV]],[/crkey/i],[[MODEL,CHROME+"cast"],[VENDOR,GOOGLE],[TYPE,SMARTTV]],[/droid.+aft(\w)( bui|\))/i],[MODEL,[VENDOR,AMAZON],[TYPE,SMARTTV]],[/\(dtv[\);].+(aquos)/i,/(aquos-tv[\w ]+)\)/i],[MODEL,[VENDOR,SHARP],[TYPE,SMARTTV]],[/(bravia[\w ]+)( bui|\))/i],[MODEL,[VENDOR,SONY],[TYPE,SMARTTV]],[/(mitv-\w{5}) bui/i],[MODEL,[VENDOR,XIAOMI],[TYPE,SMARTTV]],[/\b(roku)[\dx]*[\)\/]((?:dvp-)?[\d\.]*)/i,/hbbtv\/\d+\.\d+\.\d+ +\([\w ]*; *(\w[^;]*);([^;]*)/i],[[VENDOR,trim],[MODEL,trim],[TYPE,SMARTTV]],[/\b(android tv|smart[- ]?tv|opera tv|tv; rv:)\b/i],[[TYPE,SMARTTV]],[/((pebble))app/i],[VENDOR,MODEL,[TYPE,WEARABLE]],[/droid.+; (glass) \d/i],[MODEL,[VENDOR,GOOGLE],[TYPE,WEARABLE]],[/droid.+; (wt63?0{2,3})\)/i],[MODEL,[VENDOR,ZEBRA],[TYPE,WEARABLE]],[/(quest( 2)?)/i],[MODEL,[VENDOR,FACEBOOK],[TYPE,WEARABLE]],[/(tesla)(?: qtcarbrowser|\/[-\w\.]+)/i],[VENDOR,[TYPE,EMBEDDED]],[/droid .+?; ([^;]+?)(?: bui|\) applew).+? mobile safari/i],[MODEL,[TYPE,MOBILE]],[/droid .+?; ([^;]+?)(?: bui|\) applew).+?(?! mobile) safari/i],[MODEL,[TYPE,TABLET]],[/\b((tablet|tab)[;\/]|focus\/\d(?!.+mobile))/i],[[TYPE,TABLET]],[/(phone|mobile(?:[;\/]| [ \w\/\.]*safari)|pda(?=.+windows ce))/i],[[TYPE,MOBILE]],[/(android[-\w\. ]{0,9});.+buil/i],[MODEL,[VENDOR,"Generic"]]],engine:[[/windows.+ edge\/([\w\.]+)/i],[VERSION,[NAME,EDGE+"HTML"]],[/webkit\/537\.36.+chrome\/(?!27)([\w\.]+)/i],[VERSION,[NAME,"Blink"]],[/(presto)\/([\w\.]+)/i,/(webkit|trident|netfront|netsurf|amaya|lynx|w3m|goanna)\/([\w\.]+)/i,/ekioh(flow)\/([\w\.]+)/i,/(khtml|tasman|links)[\/ ]\(?([\w\.]+)/i,/(icab)[\/ ]([23]\.[\d\.]+)/i],[NAME,VERSION],[/rv\:([\w\.]{1,9})\b.+(gecko)/i],[VERSION,NAME]],os:[[/microsoft (windows) (vista|xp)/i],[NAME,VERSION],[/(windows) nt 6\.2; (arm)/i,/(windows (?:phone(?: os)?|mobile))[\/ ]?([\d\.\w ]*)/i,/(windows)[\/ ]?([ntce\d\. ]+\w)(?!.+xbox)/i],[NAME,[VERSION,strMapper,windowsVersionMap]],[/(win(?=3|9|n)|win 9x )([nt\d\.]+)/i],[[NAME,"Windows"],[VERSION,strMapper,windowsVersionMap]],[/ip[honead]{2,4}\b(?:.*os ([\w]+) like mac|; opera)/i,/cfnetwork\/.+darwin/i],[[VERSION,/_/g,"."],[NAME,"iOS"]],[/(mac os x) ?([\w\. ]*)/i,/(macintosh|mac_powerpc\b)(?!.+haiku)/i],[[NAME,"Mac OS"],[VERSION,/_/g,"."]],[/droid ([\w\.]+)\b.+(android[- ]x86|harmonyos)/i],[VERSION,NAME],[/(android|webos|qnx|bada|rim tablet os|maemo|meego|sailfish)[-\/ ]?([\w\.]*)/i,/(blackberry)\w*\/([\w\.]*)/i,/(tizen|kaios)[\/ ]([\w\.]+)/i,/\((series40);/i],[NAME,VERSION],[/\(bb(10);/i],[VERSION,[NAME,BLACKBERRY]],[/(?:symbian ?os|symbos|s60(?=;)|series60)[-\/ ]?([\w\.]*)/i],[VERSION,[NAME,"Symbian"]],[/mozilla\/[\d\.]+ \((?:mobile|tablet|tv|mobile; [\w ]+); rv:.+ gecko\/([\w\.]+)/i],[VERSION,[NAME,FIREFOX+" OS"]],[/web0s;.+rt(tv)/i,/\b(?:hp)?wos(?:browser)?\/([\w\.]+)/i],[VERSION,[NAME,"webOS"]],[/crkey\/([\d\.]+)/i],[VERSION,[NAME,CHROME+"cast"]],[/(cros) [\w]+ ([\w\.]+\w)/i],[[NAME,"Chromium OS"],VERSION],[/(nintendo|playstation) ([wids345portablevuch]+)/i,/(xbox); +xbox ([^\);]+)/i,/\b(joli|palm)\b ?(?:os)?\/?([\w\.]*)/i,/(mint)[\/\(\) ]?(\w*)/i,/(mageia|vectorlinux)[; ]/i,/([kxln]?ubuntu|debian|suse|opensuse|gentoo|arch(?= linux)|slackware|fedora|mandriva|centos|pclinuxos|red ?hat|zenwalk|linpus|raspbian|plan 9|minix|risc os|contiki|deepin|manjaro|elementary os|sabayon|linspire)(?: gnu\/linux)?(?: enterprise)?(?:[- ]linux)?(?:-gnu)?[-\/ ]?(?!chrom|package)([-\w\.]*)/i,/(hurd|linux) ?([\w\.]*)/i,/(gnu) ?([\w\.]*)/i,/\b([-frentopcghs]{0,5}bsd|dragonfly)[\/ ]?(?!amd|[ix346]{1,2}86)([\w\.]*)/i,/(haiku) (\w+)/i],[NAME,VERSION],[/(sunos) ?([\w\.\d]*)/i],[[NAME,"Solaris"],VERSION],[/((?:open)?solaris)[-\/ ]?([\w\.]*)/i,/(aix) ((\d)(?=\.|\)| )[\w\.])*/i,/\b(beos|os\/2|amigaos|morphos|openvms|fuchsia|hp-ux)/i,/(unix) ?([\w\.]*)/i],[NAME,VERSION]]};var UAParser=function(ua,extensions){if(typeof ua===OBJ_TYPE){extensions=ua;ua=undefined$1;}if(!(this instanceof UAParser)){return new UAParser(ua,extensions).getResult()}var _ua=ua||(typeof window!==UNDEF_TYPE&&window.navigator&&window.navigator.userAgent?window.navigator.userAgent:EMPTY);var _rgxmap=extensions?extend(regexes,extensions):regexes;this.getBrowser=function(){var _browser={};_browser[NAME]=undefined$1;_browser[VERSION]=undefined$1;rgxMapper.call(_browser,_ua,_rgxmap.browser);_browser.major=majorize(_browser.version);return _browser};this.getCPU=function(){var _cpu={};_cpu[ARCHITECTURE]=undefined$1;rgxMapper.call(_cpu,_ua,_rgxmap.cpu);return _cpu};this.getDevice=function(){var _device={};_device[VENDOR]=undefined$1;_device[MODEL]=undefined$1;_device[TYPE]=undefined$1;rgxMapper.call(_device,_ua,_rgxmap.device);return _device};this.getEngine=function(){var _engine={};_engine[NAME]=undefined$1;_engine[VERSION]=undefined$1;rgxMapper.call(_engine,_ua,_rgxmap.engine);return _engine};this.getOS=function(){var _os={};_os[NAME]=undefined$1;_os[VERSION]=undefined$1;rgxMapper.call(_os,_ua,_rgxmap.os);return _os};this.getResult=function(){return {ua:this.getUA(),browser:this.getBrowser(),engine:this.getEngine(),os:this.getOS(),device:this.getDevice(),cpu:this.getCPU()}};this.getUA=function(){return _ua};this.setUA=function(ua){_ua=typeof ua===STR_TYPE&&ua.length>UA_MAX_LENGTH?trim(ua,UA_MAX_LENGTH):ua;return this};this.setUA(_ua);return this};UAParser.VERSION=LIBVERSION;UAParser.BROWSER=enumerize([NAME,VERSION,MAJOR]);UAParser.CPU=enumerize([ARCHITECTURE]);UAParser.DEVICE=enumerize([MODEL,VENDOR,TYPE,CONSOLE,MOBILE,SMARTTV,TABLET,WEARABLE,EMBEDDED]);UAParser.ENGINE=UAParser.OS=enumerize([NAME,VERSION]);{if(module.exports){exports=module.exports=UAParser;}exports.UAParser=UAParser;}var $=typeof window!==UNDEF_TYPE&&(window.jQuery||window.Zepto);if($&&!$.ua){var parser=new UAParser;$.ua=parser.getResult();$.ua.get=function(){return parser.getUA()};$.ua.set=function(ua){parser.setUA(ua);var result=parser.getResult();for(var prop in result){$.ua[prop]=result[prop];}};}})(typeof window==="object"?window:commonjsGlobal);
1654
- } (uaParser_min, uaParser_min.exports));
1655
-
1656
- Object.defineProperty(lib, '__esModule', { value: true });
1657
-
1658
- function _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; }
1659
-
1660
- var React = require$$0;
1661
- var React__default = _interopDefault(React);
1662
-
1663
- var UAParser = uaParser_min.exports;
1664
-
1665
- var ClientUAInstance = new UAParser();
1666
- var browser = ClientUAInstance.getBrowser();
1667
- var cpu = ClientUAInstance.getCPU();
1668
- var device = ClientUAInstance.getDevice();
1669
- var engine = ClientUAInstance.getEngine();
1670
- var os = ClientUAInstance.getOS();
1671
- var ua = ClientUAInstance.getUA();
1672
- var setUa = function setUa(userAgentString) {
1673
- return ClientUAInstance.setUA(userAgentString);
1674
- };
1675
- var parseUserAgent = function parseUserAgent(userAgent) {
1676
- if (!userAgent) {
1677
- console.error('No userAgent string was provided');
1678
- return;
1679
- }
1680
-
1681
- var UserAgentInstance = new UAParser(userAgent);
1682
- return {
1683
- UA: UserAgentInstance,
1684
- browser: UserAgentInstance.getBrowser(),
1685
- cpu: UserAgentInstance.getCPU(),
1686
- device: UserAgentInstance.getDevice(),
1687
- engine: UserAgentInstance.getEngine(),
1688
- os: UserAgentInstance.getOS(),
1689
- ua: UserAgentInstance.getUA(),
1690
- setUserAgent: function setUserAgent(userAgentString) {
1691
- return UserAgentInstance.setUA(userAgentString);
1692
- }
1693
- };
1694
- };
1695
-
1696
- var UAHelper = /*#__PURE__*/Object.freeze({
1697
- ClientUAInstance: ClientUAInstance,
1698
- browser: browser,
1699
- cpu: cpu,
1700
- device: device,
1701
- engine: engine,
1702
- os: os,
1703
- ua: ua,
1704
- setUa: setUa,
1705
- parseUserAgent: parseUserAgent
1706
- });
1707
-
1708
- function ownKeys(object, enumerableOnly) {
1709
- var keys = Object.keys(object);
1710
-
1711
- if (Object.getOwnPropertySymbols) {
1712
- var symbols = Object.getOwnPropertySymbols(object);
1713
-
1714
- if (enumerableOnly) {
1715
- symbols = symbols.filter(function (sym) {
1716
- return Object.getOwnPropertyDescriptor(object, sym).enumerable;
1717
- });
1718
- }
1719
-
1720
- keys.push.apply(keys, symbols);
1721
- }
1722
-
1723
- return keys;
1724
- }
1725
-
1726
- function _objectSpread2(target) {
1727
- for (var i = 1; i < arguments.length; i++) {
1728
- var source = arguments[i] != null ? arguments[i] : {};
1729
-
1730
- if (i % 2) {
1731
- ownKeys(Object(source), true).forEach(function (key) {
1732
- _defineProperty(target, key, source[key]);
1733
- });
1734
- } else if (Object.getOwnPropertyDescriptors) {
1735
- Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));
1736
- } else {
1737
- ownKeys(Object(source)).forEach(function (key) {
1738
- Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
1739
- });
1740
- }
1741
- }
1742
-
1743
- return target;
1744
- }
1745
-
1746
- function _typeof(obj) {
1747
- "@babel/helpers - typeof";
1748
-
1749
- if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") {
1750
- _typeof = function (obj) {
1751
- return typeof obj;
1752
- };
1753
- } else {
1754
- _typeof = function (obj) {
1755
- return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj;
1756
- };
1757
- }
1758
-
1759
- return _typeof(obj);
1760
- }
1761
-
1762
- function _classCallCheck(instance, Constructor) {
1763
- if (!(instance instanceof Constructor)) {
1764
- throw new TypeError("Cannot call a class as a function");
1765
- }
1766
- }
1767
-
1768
- function _defineProperties(target, props) {
1769
- for (var i = 0; i < props.length; i++) {
1770
- var descriptor = props[i];
1771
- descriptor.enumerable = descriptor.enumerable || false;
1772
- descriptor.configurable = true;
1773
- if ("value" in descriptor) descriptor.writable = true;
1774
- Object.defineProperty(target, descriptor.key, descriptor);
1775
- }
1776
- }
1777
-
1778
- function _createClass(Constructor, protoProps, staticProps) {
1779
- if (protoProps) _defineProperties(Constructor.prototype, protoProps);
1780
- if (staticProps) _defineProperties(Constructor, staticProps);
1781
- return Constructor;
1782
- }
1783
-
1784
- function _defineProperty(obj, key, value) {
1785
- if (key in obj) {
1786
- Object.defineProperty(obj, key, {
1787
- value: value,
1788
- enumerable: true,
1789
- configurable: true,
1790
- writable: true
1791
- });
1792
- } else {
1793
- obj[key] = value;
1794
- }
1795
-
1796
- return obj;
1797
- }
1798
-
1799
- function _extends() {
1800
- _extends = Object.assign || function (target) {
1801
- for (var i = 1; i < arguments.length; i++) {
1802
- var source = arguments[i];
1803
-
1804
- for (var key in source) {
1805
- if (Object.prototype.hasOwnProperty.call(source, key)) {
1806
- target[key] = source[key];
1807
- }
1808
- }
1809
- }
1810
-
1811
- return target;
1812
- };
1813
-
1814
- return _extends.apply(this, arguments);
1815
- }
1816
-
1817
- function _inherits(subClass, superClass) {
1818
- if (typeof superClass !== "function" && superClass !== null) {
1819
- throw new TypeError("Super expression must either be null or a function");
1820
- }
1821
-
1822
- subClass.prototype = Object.create(superClass && superClass.prototype, {
1823
- constructor: {
1824
- value: subClass,
1825
- writable: true,
1826
- configurable: true
1827
- }
1828
- });
1829
- if (superClass) _setPrototypeOf(subClass, superClass);
1830
- }
1831
-
1832
- function _getPrototypeOf(o) {
1833
- _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {
1834
- return o.__proto__ || Object.getPrototypeOf(o);
1835
- };
1836
- return _getPrototypeOf(o);
1837
- }
1838
-
1839
- function _setPrototypeOf(o, p) {
1840
- _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {
1841
- o.__proto__ = p;
1842
- return o;
1843
- };
1844
-
1845
- return _setPrototypeOf(o, p);
1846
- }
1847
-
1848
- function _objectWithoutPropertiesLoose(source, excluded) {
1849
- if (source == null) return {};
1850
- var target = {};
1851
- var sourceKeys = Object.keys(source);
1852
- var key, i;
1853
-
1854
- for (i = 0; i < sourceKeys.length; i++) {
1855
- key = sourceKeys[i];
1856
- if (excluded.indexOf(key) >= 0) continue;
1857
- target[key] = source[key];
1858
- }
1859
-
1860
- return target;
1861
- }
1862
-
1863
- function _objectWithoutProperties(source, excluded) {
1864
- if (source == null) return {};
1865
-
1866
- var target = _objectWithoutPropertiesLoose(source, excluded);
1867
-
1868
- var key, i;
1869
-
1870
- if (Object.getOwnPropertySymbols) {
1871
- var sourceSymbolKeys = Object.getOwnPropertySymbols(source);
1872
-
1873
- for (i = 0; i < sourceSymbolKeys.length; i++) {
1874
- key = sourceSymbolKeys[i];
1875
- if (excluded.indexOf(key) >= 0) continue;
1876
- if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;
1877
- target[key] = source[key];
1878
- }
1879
- }
1880
-
1881
- return target;
1882
- }
1883
-
1884
- function _assertThisInitialized(self) {
1885
- if (self === void 0) {
1886
- throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
1887
- }
1888
-
1889
- return self;
1890
- }
1891
-
1892
- function _possibleConstructorReturn(self, call) {
1893
- if (call && (typeof call === "object" || typeof call === "function")) {
1894
- return call;
1895
- } else if (call !== void 0) {
1896
- throw new TypeError("Derived constructors may only return object or undefined");
1897
- }
1898
-
1899
- return _assertThisInitialized(self);
1900
- }
1901
-
1902
- function _slicedToArray(arr, i) {
1903
- return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest();
1904
- }
1905
-
1906
- function _arrayWithHoles(arr) {
1907
- if (Array.isArray(arr)) return arr;
1908
- }
1909
-
1910
- function _iterableToArrayLimit(arr, i) {
1911
- var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"];
1912
-
1913
- if (_i == null) return;
1914
- var _arr = [];
1915
- var _n = true;
1916
- var _d = false;
1917
-
1918
- var _s, _e;
1919
-
1920
- try {
1921
- for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) {
1922
- _arr.push(_s.value);
1923
-
1924
- if (i && _arr.length === i) break;
1925
- }
1926
- } catch (err) {
1927
- _d = true;
1928
- _e = err;
1929
- } finally {
1930
- try {
1931
- if (!_n && _i["return"] != null) _i["return"]();
1932
- } finally {
1933
- if (_d) throw _e;
1934
- }
1935
- }
1936
-
1937
- return _arr;
1938
- }
1939
-
1940
- function _unsupportedIterableToArray(o, minLen) {
1941
- if (!o) return;
1942
- if (typeof o === "string") return _arrayLikeToArray(o, minLen);
1943
- var n = Object.prototype.toString.call(o).slice(8, -1);
1944
- if (n === "Object" && o.constructor) n = o.constructor.name;
1945
- if (n === "Map" || n === "Set") return Array.from(o);
1946
- if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);
1947
- }
1948
-
1949
- function _arrayLikeToArray(arr, len) {
1950
- if (len == null || len > arr.length) len = arr.length;
1951
-
1952
- for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];
1953
-
1954
- return arr2;
1955
- }
1956
-
1957
- function _nonIterableRest() {
1958
- throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
1959
- }
1960
-
1961
- var DeviceTypes = {
1962
- Mobile: 'mobile',
1963
- Tablet: 'tablet',
1964
- SmartTv: 'smarttv',
1965
- Console: 'console',
1966
- Wearable: 'wearable',
1967
- Embedded: 'embedded',
1968
- Browser: undefined
1969
- };
1970
- var BrowserTypes = {
1971
- Chrome: 'Chrome',
1972
- Firefox: 'Firefox',
1973
- Opera: 'Opera',
1974
- Yandex: 'Yandex',
1975
- Safari: 'Safari',
1976
- InternetExplorer: 'Internet Explorer',
1977
- Edge: 'Edge',
1978
- Chromium: 'Chromium',
1979
- Ie: 'IE',
1980
- MobileSafari: 'Mobile Safari',
1981
- EdgeChromium: 'Edge Chromium',
1982
- MIUI: 'MIUI Browser',
1983
- SamsungBrowser: 'Samsung Browser'
1984
- };
1985
- var OsTypes = {
1986
- IOS: 'iOS',
1987
- Android: 'Android',
1988
- WindowsPhone: 'Windows Phone',
1989
- Windows: 'Windows',
1990
- MAC_OS: 'Mac OS'
1991
- };
1992
- var InitialDeviceTypes = {
1993
- isMobile: false,
1994
- isTablet: false,
1995
- isBrowser: false,
1996
- isSmartTV: false,
1997
- isConsole: false,
1998
- isWearable: false
1999
- };
2000
-
2001
- var checkDeviceType = function checkDeviceType(type) {
2002
- switch (type) {
2003
- case DeviceTypes.Mobile:
2004
- return {
2005
- isMobile: true
2006
- };
2007
-
2008
- case DeviceTypes.Tablet:
2009
- return {
2010
- isTablet: true
2011
- };
2012
-
2013
- case DeviceTypes.SmartTv:
2014
- return {
2015
- isSmartTV: true
2016
- };
2017
-
2018
- case DeviceTypes.Console:
2019
- return {
2020
- isConsole: true
2021
- };
2022
-
2023
- case DeviceTypes.Wearable:
2024
- return {
2025
- isWearable: true
2026
- };
2027
-
2028
- case DeviceTypes.Browser:
2029
- return {
2030
- isBrowser: true
2031
- };
2032
-
2033
- case DeviceTypes.Embedded:
2034
- return {
2035
- isEmbedded: true
2036
- };
2037
-
2038
- default:
2039
- return InitialDeviceTypes;
2040
- }
2041
- };
2042
- var setUserAgent = function setUserAgent(userAgent) {
2043
- return setUa(userAgent);
2044
- };
2045
- var setDefaults = function setDefaults(p) {
2046
- var d = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'none';
2047
- return p ? p : d;
2048
- };
2049
- var getNavigatorInstance = function getNavigatorInstance() {
2050
- if (typeof window !== 'undefined') {
2051
- if (window.navigator || navigator) {
2052
- return window.navigator || navigator;
2053
- }
2054
- }
2055
-
2056
- return false;
2057
- };
2058
- var isIOS13Check = function isIOS13Check(type) {
2059
- var nav = getNavigatorInstance();
2060
- return nav && nav.platform && (nav.platform.indexOf(type) !== -1 || nav.platform === 'MacIntel' && nav.maxTouchPoints > 1 && !window.MSStream);
2061
- };
2062
-
2063
- var browserPayload = function browserPayload(isBrowser, browser, engine, os, ua) {
2064
- return {
2065
- isBrowser: isBrowser,
2066
- browserMajorVersion: setDefaults(browser.major),
2067
- browserFullVersion: setDefaults(browser.version),
2068
- browserName: setDefaults(browser.name),
2069
- engineName: setDefaults(engine.name),
2070
- engineVersion: setDefaults(engine.version),
2071
- osName: setDefaults(os.name),
2072
- osVersion: setDefaults(os.version),
2073
- userAgent: setDefaults(ua)
2074
- };
2075
- };
2076
- var mobilePayload = function mobilePayload(type, device, os, ua) {
2077
- return _objectSpread2({}, type, {
2078
- vendor: setDefaults(device.vendor),
2079
- model: setDefaults(device.model),
2080
- os: setDefaults(os.name),
2081
- osVersion: setDefaults(os.version),
2082
- ua: setDefaults(ua)
2083
- });
2084
- };
2085
- var smartTvPayload = function smartTvPayload(isSmartTV, engine, os, ua) {
2086
- return {
2087
- isSmartTV: isSmartTV,
2088
- engineName: setDefaults(engine.name),
2089
- engineVersion: setDefaults(engine.version),
2090
- osName: setDefaults(os.name),
2091
- osVersion: setDefaults(os.version),
2092
- userAgent: setDefaults(ua)
2093
- };
2094
- };
2095
- var consolePayload = function consolePayload(isConsole, engine, os, ua) {
2096
- return {
2097
- isConsole: isConsole,
2098
- engineName: setDefaults(engine.name),
2099
- engineVersion: setDefaults(engine.version),
2100
- osName: setDefaults(os.name),
2101
- osVersion: setDefaults(os.version),
2102
- userAgent: setDefaults(ua)
2103
- };
2104
- };
2105
- var wearablePayload = function wearablePayload(isWearable, engine, os, ua) {
2106
- return {
2107
- isWearable: isWearable,
2108
- engineName: setDefaults(engine.name),
2109
- engineVersion: setDefaults(engine.version),
2110
- osName: setDefaults(os.name),
2111
- osVersion: setDefaults(os.version),
2112
- userAgent: setDefaults(ua)
2113
- };
2114
- };
2115
- var embeddedPayload = function embeddedPayload(isEmbedded, device, engine, os, ua) {
2116
- return {
2117
- isEmbedded: isEmbedded,
2118
- vendor: setDefaults(device.vendor),
2119
- model: setDefaults(device.model),
2120
- engineName: setDefaults(engine.name),
2121
- engineVersion: setDefaults(engine.version),
2122
- osName: setDefaults(os.name),
2123
- osVersion: setDefaults(os.version),
2124
- userAgent: setDefaults(ua)
2125
- };
2126
- };
2127
-
2128
- function deviceDetect(userAgent) {
2129
- var _ref = userAgent ? parseUserAgent(userAgent) : UAHelper,
2130
- device = _ref.device,
2131
- browser = _ref.browser,
2132
- engine = _ref.engine,
2133
- os = _ref.os,
2134
- ua = _ref.ua;
2135
-
2136
- var type = checkDeviceType(device.type);
2137
- var isBrowser = type.isBrowser,
2138
- isMobile = type.isMobile,
2139
- isTablet = type.isTablet,
2140
- isSmartTV = type.isSmartTV,
2141
- isConsole = type.isConsole,
2142
- isWearable = type.isWearable,
2143
- isEmbedded = type.isEmbedded;
2144
-
2145
- if (isBrowser) {
2146
- return browserPayload(isBrowser, browser, engine, os, ua);
2147
- }
2148
-
2149
- if (isSmartTV) {
2150
- return smartTvPayload(isSmartTV, engine, os, ua);
2151
- }
2152
-
2153
- if (isConsole) {
2154
- return consolePayload(isConsole, engine, os, ua);
2155
- }
2156
-
2157
- if (isMobile) {
2158
- return mobilePayload(type, device, os, ua);
2159
- }
2160
-
2161
- if (isTablet) {
2162
- return mobilePayload(type, device, os, ua);
2163
- }
2164
-
2165
- if (isWearable) {
2166
- return wearablePayload(isWearable, engine, os, ua);
2167
- }
2168
-
2169
- if (isEmbedded) {
2170
- return embeddedPayload(isEmbedded, device, engine, os, ua);
2171
- }
2172
- }
2173
-
2174
- var isMobileType = function isMobileType(_ref) {
2175
- var type = _ref.type;
2176
- return type === DeviceTypes.Mobile;
2177
- };
2178
- var isTabletType = function isTabletType(_ref2) {
2179
- var type = _ref2.type;
2180
- return type === DeviceTypes.Tablet;
2181
- };
2182
- var isMobileAndTabletType = function isMobileAndTabletType(_ref3) {
2183
- var type = _ref3.type;
2184
- return type === DeviceTypes.Mobile || type === DeviceTypes.Tablet;
2185
- };
2186
- var isSmartTVType = function isSmartTVType(_ref4) {
2187
- var type = _ref4.type;
2188
- return type === DeviceTypes.SmartTv;
2189
- };
2190
- var isBrowserType = function isBrowserType(_ref5) {
2191
- var type = _ref5.type;
2192
- return type === DeviceTypes.Browser;
2193
- };
2194
- var isWearableType = function isWearableType(_ref6) {
2195
- var type = _ref6.type;
2196
- return type === DeviceTypes.Wearable;
2197
- };
2198
- var isConsoleType = function isConsoleType(_ref7) {
2199
- var type = _ref7.type;
2200
- return type === DeviceTypes.Console;
2201
- };
2202
- var isEmbeddedType = function isEmbeddedType(_ref8) {
2203
- var type = _ref8.type;
2204
- return type === DeviceTypes.Embedded;
2205
- };
2206
- var getMobileVendor = function getMobileVendor(_ref9) {
2207
- var vendor = _ref9.vendor;
2208
- return setDefaults(vendor);
2209
- };
2210
- var getMobileModel = function getMobileModel(_ref10) {
2211
- var model = _ref10.model;
2212
- return setDefaults(model);
2213
- };
2214
- var getDeviceType = function getDeviceType(_ref11) {
2215
- var type = _ref11.type;
2216
- return setDefaults(type, 'browser');
2217
- }; // os types
2218
-
2219
- var isAndroidType = function isAndroidType(_ref12) {
2220
- var name = _ref12.name;
2221
- return name === OsTypes.Android;
2222
- };
2223
- var isWindowsType = function isWindowsType(_ref13) {
2224
- var name = _ref13.name;
2225
- return name === OsTypes.Windows;
2226
- };
2227
- var isMacOsType = function isMacOsType(_ref14) {
2228
- var name = _ref14.name;
2229
- return name === OsTypes.MAC_OS;
2230
- };
2231
- var isWinPhoneType = function isWinPhoneType(_ref15) {
2232
- var name = _ref15.name;
2233
- return name === OsTypes.WindowsPhone;
2234
- };
2235
- var isIOSType = function isIOSType(_ref16) {
2236
- var name = _ref16.name;
2237
- return name === OsTypes.IOS;
2238
- };
2239
- var getOsVersion = function getOsVersion(_ref17) {
2240
- var version = _ref17.version;
2241
- return setDefaults(version);
2242
- };
2243
- var getOsName = function getOsName(_ref18) {
2244
- var name = _ref18.name;
2245
- return setDefaults(name);
2246
- }; // browser types
2247
-
2248
- var isChromeType = function isChromeType(_ref19) {
2249
- var name = _ref19.name;
2250
- return name === BrowserTypes.Chrome;
2251
- };
2252
- var isFirefoxType = function isFirefoxType(_ref20) {
2253
- var name = _ref20.name;
2254
- return name === BrowserTypes.Firefox;
2255
- };
2256
- var isChromiumType = function isChromiumType(_ref21) {
2257
- var name = _ref21.name;
2258
- return name === BrowserTypes.Chromium;
2259
- };
2260
- var isEdgeType = function isEdgeType(_ref22) {
2261
- var name = _ref22.name;
2262
- return name === BrowserTypes.Edge;
2263
- };
2264
- var isYandexType = function isYandexType(_ref23) {
2265
- var name = _ref23.name;
2266
- return name === BrowserTypes.Yandex;
2267
- };
2268
- var isSafariType = function isSafariType(_ref24) {
2269
- var name = _ref24.name;
2270
- return name === BrowserTypes.Safari || name === BrowserTypes.MobileSafari;
2271
- };
2272
- var isMobileSafariType = function isMobileSafariType(_ref25) {
2273
- var name = _ref25.name;
2274
- return name === BrowserTypes.MobileSafari;
2275
- };
2276
- var isOperaType = function isOperaType(_ref26) {
2277
- var name = _ref26.name;
2278
- return name === BrowserTypes.Opera;
2279
- };
2280
- var isIEType = function isIEType(_ref27) {
2281
- var name = _ref27.name;
2282
- return name === BrowserTypes.InternetExplorer || name === BrowserTypes.Ie;
2283
- };
2284
- var isMIUIType = function isMIUIType(_ref28) {
2285
- var name = _ref28.name;
2286
- return name === BrowserTypes.MIUI;
2287
- };
2288
- var isSamsungBrowserType = function isSamsungBrowserType(_ref29) {
2289
- var name = _ref29.name;
2290
- return name === BrowserTypes.SamsungBrowser;
2291
- };
2292
- var getBrowserFullVersion = function getBrowserFullVersion(_ref30) {
2293
- var version = _ref30.version;
2294
- return setDefaults(version);
2295
- };
2296
- var getBrowserVersion = function getBrowserVersion(_ref31) {
2297
- var major = _ref31.major;
2298
- return setDefaults(major);
2299
- };
2300
- var getBrowserName = function getBrowserName(_ref32) {
2301
- var name = _ref32.name;
2302
- return setDefaults(name);
2303
- }; // engine types
2304
-
2305
- var getEngineName = function getEngineName(_ref33) {
2306
- var name = _ref33.name;
2307
- return setDefaults(name);
2308
- };
2309
- var getEngineVersion = function getEngineVersion(_ref34) {
2310
- var version = _ref34.version;
2311
- return setDefaults(version);
2312
- };
2313
- var isElectronType = function isElectronType() {
2314
- var nav = getNavigatorInstance();
2315
- var ua = nav && nav.userAgent && nav.userAgent.toLowerCase();
2316
- return typeof ua === 'string' ? /electron/.test(ua) : false;
2317
- };
2318
- var isEdgeChromiumType = function isEdgeChromiumType(ua) {
2319
- return typeof ua === 'string' && ua.indexOf('Edg/') !== -1;
2320
- };
2321
- var getIOS13 = function getIOS13() {
2322
- var nav = getNavigatorInstance();
2323
- return nav && (/iPad|iPhone|iPod/.test(nav.platform) || nav.platform === 'MacIntel' && nav.maxTouchPoints > 1) && !window.MSStream;
2324
- };
2325
- var getIPad13 = function getIPad13() {
2326
- return isIOS13Check('iPad');
2327
- };
2328
- var getIphone13 = function getIphone13() {
2329
- return isIOS13Check('iPhone');
2330
- };
2331
- var getIPod13 = function getIPod13() {
2332
- return isIOS13Check('iPod');
2333
- };
2334
- var getUseragent = function getUseragent(userAg) {
2335
- return setDefaults(userAg);
2336
- };
2337
-
2338
- function buildSelectorsObject(options) {
2339
- var _ref = options ? options : UAHelper,
2340
- device = _ref.device,
2341
- browser = _ref.browser,
2342
- os = _ref.os,
2343
- engine = _ref.engine,
2344
- ua = _ref.ua;
2345
-
2346
- return {
2347
- isSmartTV: isSmartTVType(device),
2348
- isConsole: isConsoleType(device),
2349
- isWearable: isWearableType(device),
2350
- isEmbedded: isEmbeddedType(device),
2351
- isMobileSafari: isMobileSafariType(browser) || getIPad13(),
2352
- isChromium: isChromiumType(browser),
2353
- isMobile: isMobileAndTabletType(device) || getIPad13(),
2354
- isMobileOnly: isMobileType(device),
2355
- isTablet: isTabletType(device) || getIPad13(),
2356
- isBrowser: isBrowserType(device),
2357
- isDesktop: isBrowserType(device),
2358
- isAndroid: isAndroidType(os),
2359
- isWinPhone: isWinPhoneType(os),
2360
- isIOS: isIOSType(os) || getIPad13(),
2361
- isChrome: isChromeType(browser),
2362
- isFirefox: isFirefoxType(browser),
2363
- isSafari: isSafariType(browser),
2364
- isOpera: isOperaType(browser),
2365
- isIE: isIEType(browser),
2366
- osVersion: getOsVersion(os),
2367
- osName: getOsName(os),
2368
- fullBrowserVersion: getBrowserFullVersion(browser),
2369
- browserVersion: getBrowserVersion(browser),
2370
- browserName: getBrowserName(browser),
2371
- mobileVendor: getMobileVendor(device),
2372
- mobileModel: getMobileModel(device),
2373
- engineName: getEngineName(engine),
2374
- engineVersion: getEngineVersion(engine),
2375
- getUA: getUseragent(ua),
2376
- isEdge: isEdgeType(browser) || isEdgeChromiumType(ua),
2377
- isYandex: isYandexType(browser),
2378
- deviceType: getDeviceType(device),
2379
- isIOS13: getIOS13(),
2380
- isIPad13: getIPad13(),
2381
- isIPhone13: getIphone13(),
2382
- isIPod13: getIPod13(),
2383
- isElectron: isElectronType(),
2384
- isEdgeChromium: isEdgeChromiumType(ua),
2385
- isLegacyEdge: isEdgeType(browser) && !isEdgeChromiumType(ua),
2386
- isWindows: isWindowsType(os),
2387
- isMacOs: isMacOsType(os),
2388
- isMIUI: isMIUIType(browser),
2389
- isSamsungBrowser: isSamsungBrowserType(browser)
2390
- };
2391
- }
2392
-
2393
- var isSmartTV = isSmartTVType(device);
2394
- var isConsole = isConsoleType(device);
2395
- var isWearable = isWearableType(device);
2396
- var isEmbedded = isEmbeddedType(device);
2397
- var isMobileSafari = isMobileSafariType(browser) || getIPad13();
2398
- var isChromium = isChromiumType(browser);
2399
- var isMobile = isMobileAndTabletType(device) || getIPad13();
2400
- var isMobileOnly = isMobileType(device);
2401
- var isTablet = isTabletType(device) || getIPad13();
2402
- var isBrowser = isBrowserType(device);
2403
- var isDesktop = isBrowserType(device);
2404
- var isAndroid = isAndroidType(os);
2405
- var isWinPhone = isWinPhoneType(os);
2406
- var isIOS = isIOSType(os) || getIPad13();
2407
- var isChrome = isChromeType(browser);
2408
- var isFirefox = isFirefoxType(browser);
2409
- var isSafari = isSafariType(browser);
2410
- var isOpera = isOperaType(browser);
2411
- var isIE = isIEType(browser);
2412
- var osVersion = getOsVersion(os);
2413
- var osName = getOsName(os);
2414
- var fullBrowserVersion = getBrowserFullVersion(browser);
2415
- var browserVersion = getBrowserVersion(browser);
2416
- var browserName = getBrowserName(browser);
2417
- var mobileVendor = getMobileVendor(device);
2418
- var mobileModel = getMobileModel(device);
2419
- var engineName = getEngineName(engine);
2420
- var engineVersion = getEngineVersion(engine);
2421
- var getUA = getUseragent(ua);
2422
- var isEdge = isEdgeType(browser) || isEdgeChromiumType(ua);
2423
- var isYandex = isYandexType(browser);
2424
- var deviceType = getDeviceType(device);
2425
- var isIOS13 = getIOS13();
2426
- var isIPad13 = getIPad13();
2427
- var isIPhone13 = getIphone13();
2428
- var isIPod13 = getIPod13();
2429
- var isElectron = isElectronType();
2430
- var isEdgeChromium = isEdgeChromiumType(ua);
2431
- var isLegacyEdge = isEdgeType(browser) && !isEdgeChromiumType(ua);
2432
- var isWindows = isWindowsType(os);
2433
- var isMacOs = isMacOsType(os);
2434
- var isMIUI = isMIUIType(browser);
2435
- var isSamsungBrowser = isSamsungBrowserType(browser);
2436
- var getSelectorsByUserAgent = function getSelectorsByUserAgent(userAgent) {
2437
- if (!userAgent || typeof userAgent !== 'string') {
2438
- console.error('No valid user agent string was provided');
2439
- return;
2440
- }
2441
-
2442
- var _UAHelper$parseUserAg = parseUserAgent(userAgent),
2443
- device = _UAHelper$parseUserAg.device,
2444
- browser = _UAHelper$parseUserAg.browser,
2445
- os = _UAHelper$parseUserAg.os,
2446
- engine = _UAHelper$parseUserAg.engine,
2447
- ua = _UAHelper$parseUserAg.ua;
2448
-
2449
- return buildSelectorsObject({
2450
- device: device,
2451
- browser: browser,
2452
- os: os,
2453
- engine: engine,
2454
- ua: ua
2455
- });
2456
- };
2457
-
2458
- var AndroidView = function AndroidView(_ref) {
2459
- var renderWithFragment = _ref.renderWithFragment,
2460
- children = _ref.children,
2461
- props = _objectWithoutProperties(_ref, ["renderWithFragment", "children"]);
2462
-
2463
- return isAndroid ? renderWithFragment ? React__default.createElement(React.Fragment, null, children) : React__default.createElement("div", props, children) : null;
2464
- };
2465
- var BrowserView = function BrowserView(_ref2) {
2466
- var renderWithFragment = _ref2.renderWithFragment,
2467
- children = _ref2.children,
2468
- props = _objectWithoutProperties(_ref2, ["renderWithFragment", "children"]);
2469
-
2470
- return isBrowser ? renderWithFragment ? React__default.createElement(React.Fragment, null, children) : React__default.createElement("div", props, children) : null;
2471
- };
2472
- var IEView = function IEView(_ref3) {
2473
- var renderWithFragment = _ref3.renderWithFragment,
2474
- children = _ref3.children,
2475
- props = _objectWithoutProperties(_ref3, ["renderWithFragment", "children"]);
2476
-
2477
- return isIE ? renderWithFragment ? React__default.createElement(React.Fragment, null, children) : React__default.createElement("div", props, children) : null;
2478
- };
2479
- var IOSView = function IOSView(_ref4) {
2480
- var renderWithFragment = _ref4.renderWithFragment,
2481
- children = _ref4.children,
2482
- props = _objectWithoutProperties(_ref4, ["renderWithFragment", "children"]);
2483
-
2484
- return isIOS ? renderWithFragment ? React__default.createElement(React.Fragment, null, children) : React__default.createElement("div", props, children) : null;
2485
- };
2486
- var MobileView = function MobileView(_ref5) {
2487
- var renderWithFragment = _ref5.renderWithFragment,
2488
- children = _ref5.children,
2489
- props = _objectWithoutProperties(_ref5, ["renderWithFragment", "children"]);
2490
-
2491
- return isMobile ? renderWithFragment ? React__default.createElement(React.Fragment, null, children) : React__default.createElement("div", props, children) : null;
2492
- };
2493
- var TabletView = function TabletView(_ref6) {
2494
- var renderWithFragment = _ref6.renderWithFragment,
2495
- children = _ref6.children,
2496
- props = _objectWithoutProperties(_ref6, ["renderWithFragment", "children"]);
2497
-
2498
- return isTablet ? renderWithFragment ? React__default.createElement(React.Fragment, null, children) : React__default.createElement("div", props, children) : null;
2499
- };
2500
- var WinPhoneView = function WinPhoneView(_ref7) {
2501
- var renderWithFragment = _ref7.renderWithFragment,
2502
- children = _ref7.children,
2503
- props = _objectWithoutProperties(_ref7, ["renderWithFragment", "children"]);
2504
-
2505
- return isWinPhone ? renderWithFragment ? React__default.createElement(React.Fragment, null, children) : React__default.createElement("div", props, children) : null;
2506
- };
2507
- var MobileOnlyView = function MobileOnlyView(_ref8) {
2508
- var renderWithFragment = _ref8.renderWithFragment,
2509
- children = _ref8.children;
2510
- _ref8.viewClassName;
2511
- _ref8.style;
2512
- var props = _objectWithoutProperties(_ref8, ["renderWithFragment", "children", "viewClassName", "style"]);
2513
-
2514
- return isMobileOnly ? renderWithFragment ? React__default.createElement(React.Fragment, null, children) : React__default.createElement("div", props, children) : null;
2515
- };
2516
- var SmartTVView = function SmartTVView(_ref9) {
2517
- var renderWithFragment = _ref9.renderWithFragment,
2518
- children = _ref9.children,
2519
- props = _objectWithoutProperties(_ref9, ["renderWithFragment", "children"]);
2520
-
2521
- return isSmartTV ? renderWithFragment ? React__default.createElement(React.Fragment, null, children) : React__default.createElement("div", props, children) : null;
2522
- };
2523
- var ConsoleView = function ConsoleView(_ref10) {
2524
- var renderWithFragment = _ref10.renderWithFragment,
2525
- children = _ref10.children,
2526
- props = _objectWithoutProperties(_ref10, ["renderWithFragment", "children"]);
2527
-
2528
- return isConsole ? renderWithFragment ? React__default.createElement(React.Fragment, null, children) : React__default.createElement("div", props, children) : null;
2529
- };
2530
- var WearableView = function WearableView(_ref11) {
2531
- var renderWithFragment = _ref11.renderWithFragment,
2532
- children = _ref11.children,
2533
- props = _objectWithoutProperties(_ref11, ["renderWithFragment", "children"]);
2534
-
2535
- return isWearable ? renderWithFragment ? React__default.createElement(React.Fragment, null, children) : React__default.createElement("div", props, children) : null;
2536
- };
2537
- var CustomView = function CustomView(_ref12) {
2538
- var renderWithFragment = _ref12.renderWithFragment,
2539
- children = _ref12.children;
2540
- _ref12.viewClassName;
2541
- _ref12.style;
2542
- var condition = _ref12.condition,
2543
- props = _objectWithoutProperties(_ref12, ["renderWithFragment", "children", "viewClassName", "style", "condition"]);
2544
-
2545
- return condition ? renderWithFragment ? React__default.createElement(React.Fragment, null, children) : React__default.createElement("div", props, children) : null;
2546
- };
2547
-
2548
- function withOrientationChange(WrappedComponent) {
2549
- return /*#__PURE__*/function (_React$Component) {
2550
- _inherits(_class, _React$Component);
2551
-
2552
- function _class(props) {
2553
- var _this;
2554
-
2555
- _classCallCheck(this, _class);
2556
-
2557
- _this = _possibleConstructorReturn(this, _getPrototypeOf(_class).call(this, props));
2558
- _this.isEventListenerAdded = false;
2559
- _this.handleOrientationChange = _this.handleOrientationChange.bind(_assertThisInitialized(_this));
2560
- _this.onOrientationChange = _this.onOrientationChange.bind(_assertThisInitialized(_this));
2561
- _this.onPageLoad = _this.onPageLoad.bind(_assertThisInitialized(_this));
2562
- _this.state = {
2563
- isLandscape: false,
2564
- isPortrait: false
2565
- };
2566
- return _this;
2567
- }
2568
-
2569
- _createClass(_class, [{
2570
- key: "handleOrientationChange",
2571
- value: function handleOrientationChange() {
2572
- if (!this.isEventListenerAdded) {
2573
- this.isEventListenerAdded = true;
2574
- }
2575
-
2576
- var orientation = window.innerWidth > window.innerHeight ? 90 : 0;
2577
- this.setState({
2578
- isPortrait: orientation === 0,
2579
- isLandscape: orientation === 90
2580
- });
2581
- }
2582
- }, {
2583
- key: "onOrientationChange",
2584
- value: function onOrientationChange() {
2585
- this.handleOrientationChange();
2586
- }
2587
- }, {
2588
- key: "onPageLoad",
2589
- value: function onPageLoad() {
2590
- this.handleOrientationChange();
2591
- }
2592
- }, {
2593
- key: "componentDidMount",
2594
- value: function componentDidMount() {
2595
- if ((typeof window === "undefined" ? "undefined" : _typeof(window)) !== undefined && isMobile) {
2596
- if (!this.isEventListenerAdded) {
2597
- this.handleOrientationChange();
2598
- window.addEventListener("load", this.onPageLoad, false);
2599
- } else {
2600
- window.removeEventListener("load", this.onPageLoad, false);
2601
- }
2602
-
2603
- window.addEventListener("resize", this.onOrientationChange, false);
2604
- }
2605
- }
2606
- }, {
2607
- key: "componentWillUnmount",
2608
- value: function componentWillUnmount() {
2609
- window.removeEventListener("resize", this.onOrientationChange, false);
2610
- }
2611
- }, {
2612
- key: "render",
2613
- value: function render() {
2614
- return React__default.createElement(WrappedComponent, _extends({}, this.props, {
2615
- isLandscape: this.state.isLandscape,
2616
- isPortrait: this.state.isPortrait
2617
- }));
2618
- }
2619
- }]);
2620
-
2621
- return _class;
2622
- }(React__default.Component);
2623
- }
2624
-
2625
- function useMobileOrientation() {
2626
- var _useState = React.useState(function () {
2627
- var orientation = window.innerWidth > window.innerHeight ? 90 : 0;
2628
- return {
2629
- isPortrait: orientation === 0,
2630
- isLandscape: orientation === 90,
2631
- orientation: orientation === 0 ? 'portrait' : 'landscape'
2632
- };
2633
- }),
2634
- _useState2 = _slicedToArray(_useState, 2),
2635
- state = _useState2[0],
2636
- setState = _useState2[1];
620
+ const algodClient = new algosdk.Algodv2(NODE_TOKEN, NODE_SERVER, NODE_PORT);
2637
621
 
2638
- var handleOrientationChange = React.useCallback(function () {
2639
- var orientation = window.innerWidth > window.innerHeight ? 90 : 0;
2640
- var next = {
2641
- isPortrait: orientation === 0,
2642
- isLandscape: orientation === 90,
2643
- orientation: orientation === 0 ? 'portrait' : 'landscape'
2644
- };
2645
- state.orientation !== next.orientation && setState(next);
2646
- }, [state.orientation]);
2647
- React.useEffect(function () {
2648
- if ((typeof window === "undefined" ? "undefined" : _typeof(window)) !== undefined && isMobile) {
2649
- handleOrientationChange();
2650
- window.addEventListener("load", handleOrientationChange, false);
2651
- window.addEventListener("resize", handleOrientationChange, false);
2652
- }
2653
-
2654
- return function () {
2655
- window.removeEventListener("resize", handleOrientationChange, false);
2656
- window.removeEventListener("load", handleOrientationChange, false);
2657
- };
2658
- }, [handleOrientationChange]);
2659
- return state;
2660
- }
2661
-
2662
- function useDeviceData(userAgent) {
2663
- var hookUserAgent = userAgent ? userAgent : window.navigator.userAgent;
2664
- return parseUserAgent(hookUserAgent);
2665
- }
2666
-
2667
- function useDeviceSelectors(userAgent) {
2668
- var hookUserAgent = userAgent ? userAgent : window.navigator.userAgent;
2669
- var deviceData = useDeviceData(hookUserAgent);
2670
- var selectors = buildSelectorsObject(deviceData);
2671
- return [selectors, deviceData];
2672
- }
2673
-
2674
- lib.AndroidView = AndroidView;
2675
- lib.BrowserTypes = BrowserTypes;
2676
- lib.BrowserView = BrowserView;
2677
- lib.ConsoleView = ConsoleView;
2678
- lib.CustomView = CustomView;
2679
- lib.IEView = IEView;
2680
- lib.IOSView = IOSView;
2681
- lib.MobileOnlyView = MobileOnlyView;
2682
- lib.MobileView = MobileView;
2683
- lib.OsTypes = OsTypes;
2684
- lib.SmartTVView = SmartTVView;
2685
- lib.TabletView = TabletView;
2686
- lib.WearableView = WearableView;
2687
- lib.WinPhoneView = WinPhoneView;
2688
- lib.browserName = browserName;
2689
- lib.browserVersion = browserVersion;
2690
- lib.deviceDetect = deviceDetect;
2691
- lib.deviceType = deviceType;
2692
- lib.engineName = engineName;
2693
- lib.engineVersion = engineVersion;
2694
- lib.fullBrowserVersion = fullBrowserVersion;
2695
- lib.getSelectorsByUserAgent = getSelectorsByUserAgent;
2696
- lib.getUA = getUA;
2697
- lib.isAndroid = isAndroid;
2698
- lib.isBrowser = isBrowser;
2699
- lib.isChrome = isChrome;
2700
- lib.isChromium = isChromium;
2701
- lib.isConsole = isConsole;
2702
- lib.isDesktop = isDesktop;
2703
- lib.isEdge = isEdge;
2704
- lib.isEdgeChromium = isEdgeChromium;
2705
- lib.isElectron = isElectron;
2706
- lib.isEmbedded = isEmbedded;
2707
- lib.isFirefox = isFirefox;
2708
- lib.isIE = isIE;
2709
- var isIOS_1 = lib.isIOS = isIOS;
2710
- lib.isIOS13 = isIOS13;
2711
- lib.isIPad13 = isIPad13;
2712
- lib.isIPhone13 = isIPhone13;
2713
- lib.isIPod13 = isIPod13;
2714
- lib.isLegacyEdge = isLegacyEdge;
2715
- lib.isMIUI = isMIUI;
2716
- lib.isMacOs = isMacOs;
2717
- lib.isMobile = isMobile;
2718
- lib.isMobileOnly = isMobileOnly;
2719
- lib.isMobileSafari = isMobileSafari;
2720
- lib.isOpera = isOpera;
2721
- lib.isSafari = isSafari;
2722
- lib.isSamsungBrowser = isSamsungBrowser;
2723
- lib.isSmartTV = isSmartTV;
2724
- lib.isTablet = isTablet;
2725
- lib.isWearable = isWearable;
2726
- lib.isWinPhone = isWinPhone;
2727
- lib.isWindows = isWindows;
2728
- lib.isYandex = isYandex;
2729
- lib.mobileModel = mobileModel;
2730
- lib.mobileVendor = mobileVendor;
2731
- lib.osName = osName;
2732
- lib.osVersion = osVersion;
2733
- lib.parseUserAgent = parseUserAgent;
2734
- lib.setUserAgent = setUserAgent;
2735
- lib.useDeviceData = useDeviceData;
2736
- lib.useDeviceSelectors = useDeviceSelectors;
2737
- lib.useMobileOrientation = useMobileOrientation;
2738
- lib.withOrientationChange = withOrientationChange;
622
+ const audio = "data:audio/mp3;base64,SUQzBAAAAAIYBlRJVDIAAAAWAAAAMTAgU2Vjb25kcyBvZiBTaWxlbmNlVFBFMQAAABIAAABBbmFyIFNvZnR3YXJlIExMQ1RBTEIAAAAMAAAAQmxhbmsgQXVkaW9BUElDAAIPAgAAAGltYWdlL2pwZWcAAwCJUE5HDQoaCgAAAA1JSERSAAAEOAAABDgIBgAAAOwQbI8AAAAGYktHRAD/AP8A/6C9p5MAAAAJcEhZcwAACD0AAAg9AQWVVbYAAAAHdElNRQffCgsFHDEDbwR2AAAgAElEQVR42uzde5RVZd0H8N8wDDcBAS8o6oCJVyxTsDSxojJvgVYq3jVNUQgzaZWmpqh56+ItNa+kr4Cay9Q0DQ1DWb2WeSm8pGRy0RAEgRFhuIzz/tFbC5yZc86eOWfmPDOfz1rvemvvZz9779+zz3DOt2fvXRER9QEAAACQsE5KAAAAAKROwAEAAAAkT8ABAAAAJE/AAQAAACRPwAEAAAAkT8ABAAAAJE/AAQAAACRPwAEAAAAkT8ABAAAAJE/AAQAAACRPwAEAAAAkT8ABAAAAJE/AAQAAACRPwAEAAAAkT8ABAAAAJE/AAQAAACRPwAEAAAAkT8ABAAAAJE/AAQAAACRPwAEAAAAkT8ABAAAAJE/AAQAAACRPwAEAAAAkT8ABAAAAJE/AAQAAACRPwAEAAAAkT8ABAAAAJE/AAQAAACRPwAEAAAAkT8ABAAAAJE/AAQAAACRPwAEAAAAkT8ABAAAAJE/AAQAAACRPwAEAAAAkT8ABAAAAJE/AAQAAACRPwAEAAAAkT8ABAAAAJE/AAQAAACRPwAEAAAAkT8ABAAAAJE/AAQAAACRPwAEAAAAkT8ABAAAAJE/AAQAAACRPwAEAAAAkT8ABAAAAJE/AAQAAACRPwAEAAAAkT8ABAAAAJE/AAQAAACRPwAEAAAAkT8ABAAAAJE/AAQAAACRPwAEAAAAkT8ABAAAAJE/AAQAAACRPwAEAAAAkT8ABAAAAJE/AAQAAACRPwAEAAAAkT8ABAAAAJE/AAQAAACRPwAEAAAAkT8ABAAAAJE/AAQAAACRPwAEAAAAkT8ABAAAAJE/AAQAAACRPwAEAAAAkT8ABAAAAJE/AAQAAACRPwAEAAAAkT8ABAAAAJE/AAQAAACRPwAEAAAAkT8ABAAAAJE/AAQAAACRPwAEAAAAkT8ABAAAAJE/AAQAAACRPwAEAAAAkT8ABAAAAJE/AAQAAACRPwAEAAAAkT8ABAAAAJE/AAQAAACRPwAEAAAAkT8ABAAAAJE/AAQAAACRPwAEAAAAkT8ABAAAAJE/AAQAAACRPwAEAAAAkT8ABAAAAJE/AAQAAACRPwAEAAAAkT8ABAAAAJE/AAQAAACRPwAEAAAAkT8ABAAAAJE/AAQAAACRPwAEAAAAkT8ABAAAAJE/AAQAAACRPwAEAAAAkT8ABAAAAJE/AAQAAACRPwAEAAAAkT8ABAAAAJE/AAQAAACRPwAEAAAAkT8ABAAAAJE/AAQAAACRPwAEAAAAkT8ABAAAAJE/AAQAAACRPwAEAAAAkT8ABAAAAJE/AAQAAACRPwAEAAAAkT8ABAAAAJE/AAQAAACRPwAEAAAAkT8ABAAAAJE/AAQAAACRPwAEAAAAkT8ABAAAAJE/AAQAAACRPwAEAAAAkT8ABAAAAJE/AAQAAACRPwAEAAAAkT8ABAAAAJE/AAQAAACRPwAEAAAAkT8ABAAAAJE/AAQAAACRPwAEAAAAkT8ABAAAAJE/AAQAAACRPwAEAAAAkT8ABAAAAJE/AAQAAACRPwAEAAAAkT8ABAAAAJE/AAQAAACRPwAEAAAAkT8ABAAAAJE/AAQAAACRPwAEAAAAkT8ABAAAAJE/AAQAAACRPwAEAAAAkT8ABAAAAJE/AAQAAACRPwAEAAAAkT8ABAAAAJE/AAQAAACRPwAEAAAAkT8ABAAAAJE/AAQAAACRPwAEAAAAkT8ABAAAAJE/AAQAAACRPwAEAAAAkT8ABAAAAJE/AAQAAACRPwAEAAAAkT8ABAAAAJE/AAQAAACRPwAEAAAAkT8ABAAAAJE/AAQAAACRPwAEAAAAkT8ABAAAAJE/AAQAAACRPwAEAAAAkT8ABAAAAJE/AAQAAACRPwAEAAAAkT8ABAAAAJE/AAQAAACRPwAEAAAAkT8ABAAAAJE/AAQAAACRPwAEAAAAkT8ABAAAAJE/AAQAAACRPwAEAAAAkT8ABAAAAJE/AAQAAACRPwAEAAAAkT8ABAAAAJE/AAQAAACRPwAEAAAAkT8ABAAAAJE/AAQAAACRPwAEAAAAkT8ABAAAAJE/AAQAAACRPwAEAAAAkT8ABAAAAJE/AAQAAACRPwAEAAAAkT8ABAAAAJE/AAQAAACRPwAEAAAAkT8ABAAAAJE/AAQAAACRPwAEAAAAkT8ABAAAAJE/AAQAAACRPwAEAAAAkT8ABAAAAJE/AAQAAACRPwAEAAAAkT8ABAAAAJE/AAQAAACRPwAEAAAAkT8ABAAAAJE/AAQAAACRPwAEAAAAkT8ABAAAAJE/AAQAAACRPwAEAAAAkT8ABAAAAJE/AAQAAACRPwAEAAAAkT8ABAAAAJE/AAQAAACRPwAEAAAAkT8ABAAAAJE/AAQAAACRPwAEAAAAkT8ABAAAAJE/AAQAAACRPwAEAAAAkT8ABAAAAJE/AAQAAACRPwAEAAAAkT8ABAAAAJE/AAQAAACRPwAEAAAAkT8ABAAAAJE/AAQAAACRPwAEAAAAkT8ABAAAAJE/AAQAAACRPwAEAAAAkT8ABAAAAJE/AAQAAACRPwAEAAAAkT8ABAAAAJE/AAQAAACRPwAEAAAAkT8ABAAAAJE/AAQAAACRPwAEAAAAkT8ABAAAAJE/AAQAAACRPwAEAAAAkT8ABAAAAJE/AAQAAACRPwAEAAAAkT8ABAAAAJE/AAQAAACRPwAEAAAAkT8ABAAAAJE/AAQAAACRPwAEAAAAkT8ABAAAAJE/AAQAAACRPwAEAAAAkT8ABAAAAJE/AAQAAACRPwAEAAAAkT8ABAAAAJE/AAQAAACRPwAEAAAAkT8ABAAAAJE/AAQAAACRPwAEAAAAkT8ABAAAAJE/AAQAAACRPwAEAAAAkT8ABAAAAJE/AAQAAACRPwAEAAAAkT8ABAAAAJE/AAQAAACRPwAEAAAAkT8ABAAAAJE/AAQAAACRPwAEAAAAkT8ABAAAAJE/AAQAAACRPwAEAAAAkT8ABAAAAJE/AAQAAACRPwAEAAAAkT8ABAAAAJE/AAQAAACRPwAEAAAAkT8ABAAAAJE/AAQAAACRPwAEAAAAkT8ABAAAAJE/AAQAAACRPwAEAAAAkT8ABAAAAJE/AAQAAACRPwAEAAAAkT8ABAAAAJE/AAQAAACRPwAEAAAAkT8ABAAAAJE/AAQAAACRPwAEAAAAkT8ABAAAAJE/AAQAAACRPwAEAAAAkT8ABAAAAJE/AAQAAACRPwAEAAAAkT8ABAAAAJE/AAQAAACRPwAEAAAAkT8ABAAAAJE/AAQAAACRPwAEAAAAkT8ABAAAAJE/AAQAAACRPwAEAAAAkT8ABAAAAJE/AAQAAACRPwAEAAAAkT8ABAAAAJE/AAQAAACRPwAEAAAAkT8BBq9pss81i4sSJMXToUMUAAACgaCoiol4ZaA177rln3HzzzdG/f/+oqamJww8/PGbNmqUwAAAAtJgZHLSKk046Ke67777o379/RET07t07pk6dGtXV1YoDAABAi5nBQcmde+65MW7cuEbXvfjii3HIIYfE2rVrFQoAAIBmq4yIC5WBUqioqIgf/ehHceqppzbZZosttohevXrFk08+qWAAAAA0/zdomMFBCVRWVsZPfvKTGD16dEHtjzrqqJgxY4bCAQAA0CwCDoquU6dOccMNN8SoUaMK3mbOnDkxYsSIWL16tQICAACQmVtUKLoLL7wwjj766Ezb9OnTJz788MP44x//qIAAAABkZgYHRXXyySfHxRdf3Kxt16xZEyNGjIg333xTIQEAAMjEa2Ipmv333z8mTpzY7O27dOnSou0BAADouMzgoCh23333uO+++6J79+4t7utLX/pSvPLKK4oKAABAwczgoMW22mqruOOOO4oSbkREjBs3TlEBAADIxAwOWqRTp05x3333xV577VW0Puvq6uIzn/lMzJ8/X4EBAAAo7PepEtASp59+elHDjYiIysrKOO200xQXAACAgpnBQbPtuuuu8cgjj0RVVVXR+66trY0999wzlixZotAAAADkZQYHzdKtW7e4/vrrSxJu/Kf/r3/96woNAABAQQQcNMv5558f22+/fUn3MWrUKIUGAACgIAIOMvvCF74Q3/jGN0q+nz322COqq6sVHAAAgLwEHGRSVVUVl156adH7Xbp0aaPLzeIAAACgEAIOMjn22GOLPqvimWeeic997nOxaNGiBusOOeQQRQcAACAvAQcF69GjR5x55plF7fOhhx6KI488MhYvXhxTp05tsH7IkCGx3XbbKT4AAAA5CTgo2De/+c3YbLPNitbfM888E+PGjYs1a9ZERMTkyZOjvr7hW4vN4gAAACAfAQcF6dOnT4wdO7Zo/S1dujTGjh0bdXV1/1321ltvxaxZsxq0HTFihAEAAAAgJwEHBfnWt74VvXv3Llp/Z555ZrzzzjsNlj/++OMNln3iE5+Irl27GgQAAACaJOAgr/79+8dJJ51UtP5uu+22RoOMiIhp06Y1WFZVVRWf+MQnDAQAAABNEnCQ19ixY6Nbt25F6evdd9+Nyy+/vMn1s2bNanRmx5577mkgAAAAaJKAg9wXSKdOMWrUqKL199Of/jQ++OCDnG0am90h4AAAACDn71clIJe99tor+vfvX5S+3njjjZgyZUredo0FHMOGDTMYAAAANEnAQU4jR44sWl8/+tGPYt26dXnbPf3007Fq1aoNlm2yySax7bbbGhAAAAAaJeCgSZWVlXHwwQcXpa9nn302HnvssYLarl69Ol588cUGyz/1qU8ZFAAAABol4KBJe++9d2y66aZF6euiiy7K1P6VV15psGyPPfYwKAAAADRKwEGTDjnkkKL088gjj8Rzzz2XaZuXX365wbKBAwcaFAAAABol4KBRnTt3joMOOqjF/axbty4uvfTSzNs1NoNjq622MjAAAAA0SsBBo/bZZ5/o27dvi/v5n//5n3jzzTczb/faa69FfX39BssGDBhgYAAAAGiUgINGFeOBnitWrIirrrqqWduuXr063n///Q2Wde/evSihCwAAAO2PgING7brrri3u46abborFixc3e/ulS5c2WOY2FQAAABoj4KBRQ4YMadH2a9eujV/+8pct6mPZsmUNlrlNBQAAgMYIOGigT58+LQ4SHnrooViyZEmL+mgs4DCDAwAAgMYIOGhg8ODBLe6jpbM3IiI++OCDBssEHAAAADRGwEED/fr1a9H2s2bNiueee67Fx9HYA0UFHAAAADRGwEEDLX1TyaRJk4pyHJtvvnmDZZ7BAQAAQGMEHDTQkhkcy5YtiwceeKAox7HZZps1WNazZ08DBAAAQAMCDhro06dPs7e9++67o7a2tsXH0KVLl+jdu3eD5Z07dzZAAAAANCDgoIHKyspmbVdfXx933nlnUY5hu+22K+qxAQAA0L4JOGhg5cqVzdpu+vTpMWfOnKIcw/7779/ocgEHAAAAjRFw0EBzA45ivBr2Pw488MBGl7tFBQAAgMYIOGjggw8+yLzN3Llz48knnyzK/rfaaqv4+Mc/3ug6AQcAAACNEXDQQHNmcEyePDk+/PDDouz/oIMOanKdW1QAAABojICDBpoTcDz22GNF2XePHj1i7NixTa4XcAAAANAYAQcNZL1FZc6cOfGPf/yjKPseP3589O/fv8n1Ag4AAAAaI+CggawzOKZNm1aU/W699dZx2mmn5WzjGRwAAAA0RsBBA1lncDz++ONF2e95550XXbt2zdmmWM/5AAAAoH0RcNBAlhkcNTU18ac//anF+9xzzz1j1KhRedstWrTIAAEAANCAgIMG3nnnnaivry+o7fTp02PdunUt2l9FRUVMnDixoLb/+te/DBAAAAANCDhoYPXq1bFw4cKC2hbj+RuHHXZYfPKTnyyo7YIFCwwQAAAADQg4aNScOXPytlm3bl1Mnz69Rfvp0aNH/OAHPyi4vYADAACAxgg4aNTcuXPztvnzn/8cNTU1LdrPuHHjcr4W9qMEHAAAADRGwEGjCgk4Xn/99RbtY6uttorTTz890zaewQEAAEBjBBw0qpBbVJYvX96ifVx55ZXRrVu3TNuYwQEAAEBjBBw0at68eXnbtCTgOO6442LEiBGZtxNwAAAA0JjOSkBjCpnBsWzZsmb1PXDgwLjgggsyb7dmzZp47733DA4AANCqKioqmr0sa9tCt1+3bl18+OGHBmc9Ao717LTTTrHjjju2yoVbqu1b+mFaf3ltbW3OW0h233336Ny5c6Z9VVRUxJgxY6JHjx6Zx2fBggVx4oknluRcy2Vcy+EPain2laVdSuea0nWVyjXoXNvn562tx6pcz7UUY9Xevos4V99FfBfxXaRcPgPl6OSTT45HH33UD/n1xzQi6pXh3yZMmBATJkxQCAAAAMraKaecEo888ohCrMcMjiJZvHhxo7ds1Nc3nh9lWZ61j6Zk7bu6ujp69+7dZH8LFiyIxYsXF3yM3bp1ix122KHZSens2bPj/fffb9b5t8U4pDDG5VyTVMcy6z6LcZ4pjHG51NvnNYyxz6ux7EDfF4yxsWwP36E68vf7Aw44IMaNG9fk+k6dPFJTwFEi1113Xdxyyy3t6py+973vxZlnntnk+nvvvTeuuOKKgvqqqqqK3/72t80ON9asWRNf/vKXY/Xq1S42AACg3dtpp51yrk/9FptSEPnQpL/97W851/fp06fgvs4666wYMmRIs4/lL3/5i3ADAADoMPI9QNQMjkZqogQ0ZdasWTnX9+3bt6B+9thjj/jWt77VomP54x//aEAAAIAOQ8CRnYrQpLfffjvna1kLmcHRrVu3uPbaa6OysrJFxzJz5kwDAgAAdBj5ntch4GikJkpALrlmcVRXV+fd/rzzzouPfexjLTqGVatWxQsvvGAwAACADsMMjuxUhJxyPYejuro6unbt2uT64cOHxze+8Y0WH8PMmTNj7dq1BgMAAOgw8s3g8JDRhgQc5JQr4OjUqVOTszM22WSTuOaaa4ryobvzzjsNBAAA0KHkm8HR0scAtEcCDnLK96DR7bffvtEP2o033hhbbrlli/c/Z86cmD59uoEAAAA6FLeoZKci5DRv3rxYvnx5k+sbCzjOOeecGD58eFH2f8cdd+SdmgUAANDeeMhodipCXrlmcXw04Dj44INj7NixRdnvqlWrYurUqQYAAADocMzgyE5FyCvXczjWDzgGDx4cV111VdH2e//990dNTY0BAAAAOpx8AYeHjDbUWQnIJ1fAsd1220VlZWV07949br/99ujZs2fR9jtp0iTFBwAAOiQzOLJTEfLKFXB06dIlqqur46qrrorBgwcXbZ9/+tOf4pVXXlF8AACgQxJwZKci5DV37tyct4pcfvnlcfDBBxd1nzfeeKPCAwAAHZaHjGanIhT0wXrppZeaXL/vvvsWdX9PPfVUTJs2TeEBAIAO/Tss5495AUfDmigBhch1m0oxrVu3Ls4//3wFBwAAOjS3qGSnIhQk16tii+n222+P2bNnKzgAANChCTiyUxEK0hozOBYvXhw/+9nPFBsAAOjwBBzZqQgFefPNN2PFihUl3cell16a82GmAAAAHYWAIzsVoeAP18svv1yy/l988cW45557FBoAACA8ZLQ5VISCvfLKKyX74J533nl5P8AAAAAdRb4ZHBUVFYr0EQIOCjJkyJA47LDDStL3TTfdFM8//7wiAwAA/D+3qGSnIuQ1aNCgmDJlSvTq1avofb/44otx2WWXKTIAAMB6BBzZqQg59e/fP+65557YbLPNit73+++/H6effnqsXbtWoQEAANYj4MhORWjSxhtvHFOnTo1tttmmJP1/73vfi7lz5yo0AABA1h/zAo6GNVECGtO9e/e46667YqeddipJ/1OnTo0HH3xQoQEAABphBkd2KkIDVVVVceutt8bQoUNL0v/rr78e5513nkIDAAA0QcCRnYqwgYqKirjmmmtixIgRJel/9erVcdppp8WqVasUGwAAoAkCjuxUhA1ccsklceihh5as/3PPPTf+/ve/KzQAAEAOAo7sOisBEf+euXHppZfGCSecULJ93HjjjTFlyhTFBgAAyCNfwFFRUaFIHyHgIDp16hQ//elPY/To0SXbxyOPPBKXXHKJYgMAABSgvr4+7+84NiTg6OgXQOfOce2115b0tpTnn38+xo8fn/cDCgAAwL+5RaUZv2+VoOOqqqqKG2+8MQ466KCS7WPevHlx4oknRm1trYIDAABlpbHbPJq69aNYywtt27lz7p/rAo6GBBxFMmzYsFi9enWbfwgKXV5VVRWjR4+OHXbYoWQ1qa2tjYcffjgOP/zwZp9j1vMs5R+jch3LcqxJKc+znGpVLv9QpjrGqX5e29sY+7waS2NsjP0b4zthR/hO2B4JOAQcJTNy5MgYOXKkQqynW7duMXbsWIUAAAAoMgFHQwKOIlm8eHEsW7aswfLGnjvR1LMoWtq2Keu3raioiIEDB0aPHj1KWo958+bF0qVLS16HLLVpzbEo13Mrh/PNcm6pjaVza/3jNZbOrb2dm3/v2te5+Qym9z3FZ9C5ldP3lL59+8a9994r4BBwtL7rrrsubrnllrI+xt69e8eUKVNKHm5ERBx88MGxZMkSFwYAAEAzbLLJJjnXCzgaqYkSdAz9+vWL++67L/bYY49W2V9r7QcAAKA98haV7FSkA+jdu3fce++9seuuu7baPocPH67wAAAAzSTgyE5F2rlu3brFHXfcEbvsskur7lfAAQAA0Hz5ni3Skd4YUygBRzvWuXPnuOmmm+LTn/50q+97p512ik033dQgAAAANIMZHNmpSDtVUVERP/vZz2K//fZrs/2bxQEAANA8Ao7sVKSduvDCC+Owww4r6T5mzpwZNTU1Ta7fd999DQQAAEAzCDiyU5F2aPz48XHKKaeUdB/PPfdcnHjiifHXv/61yTYCDgAAgObJF3BUVlYq0kcIONqZL37xi3H22WeXdB+vvvpqHHvssbFy5cp4/vnnm2y39dZbx6BBgwwKAABARh4ymp2Aox0ZOHBg/PznPy/phT537tw4+uijY/ny5RER8cILL+Rs7zkcAAAA2blFJTsVaSe6desWt956a2y88cYl28eiRYviqKOOioULF/53Wb6Aw20qAAAA2Qk4slORduLyyy+PIUOGlKz/mpqaOOqoo2LOnDkbLH/33XfjrbfeanK7ffbZx9QpAACAjPLdoiLgaKQmSpC+448/Po444oiS9V9bWxvHH398vPrqq42uzzWLo1+/fiUNXgAAANqrXLM4BByN1EQJ0rbHHnvExRdfXLL+161bF6eeemr8+c9/brKN21QAAACKL1fAYaZ8QwKOhHXp0iWuvfbaqKqqKkn/9fX1ceaZZ8YTTzyRs12uN6lEeNAoAABAc3+TNflj3gyOhjVRgnSNHz8+Pvaxj5Ws/x/+8Idx//335203a9asWLduXZPr99prr5KFMAAAAO1VXV1d0z/mBRwNa6IEadp2221j/PjxJev/5z//edx2220FtV21alW89tprTa7v3r17DB061KABAABkkOsWlcrKSgX6CAFHoq644oro0qVLSfr+/e9/H5dffnmmbfLdpuI5HAAAANl4Bkc2nZUgPV/72tdK9lyLN998M8aNG5f3ncsf9fzzz8dxxx3X5Prhw4fHj3/844iI2GSTTWLPPfeMXXbZJfr16xd9+/bd4P/36dMnVq5cGUuWLInFixfH4sWL//uf586dGzNmzIhly5a5EAAAgHbNW1SyEXAkpnfv3nHhhReWpO8PPvggvvGNb0RNTU3mbV988cWc63fbbbf42c9+Fp/61KcKem5Iz549Y/PNN290XV1dXTz77LPx+OOPx7Rp0+KNN95wYQAAAO2Oh4xmI+BIzLnnnhubbrppST44Z5xxRrz++uvN2n727NmxYsWK6NmzZ6Pru3TpEkceeWRRjrWysjL22muv2GuvveL888+PN998Mx577LG4+eabY+HChS4SAACgXTCDIxsVScigQYPimGOOKUnf11xzTTz66KMt+uDlm8VRKttuu22cfvrpMXPmzBg/fnzJnk0CAADQmgQc2ahIQk455ZSSXMRPPPFE/OQnP2n29hUVFXHEEUfE4MGD27Q+G220UZxzzjkxY8aMOPDAA10wAABA0gQc2ahIIjbeeOMYPXp00ft9880341vf+lbmh4r+xy677BIPPvhgXH311bHFFluURa0GDhwYt912W9x7772x8847u3gAAIAkeYtKNgKORBx33HHRo0ePon9YzjjjjGY9VLRXr15x8cUXx+9+97sYNmxYWdZs+PDh8dhjj8URRxzhAgIAAJLjIaPZqEgCqqqq4uSTTy56vzfffHM899xzmbf76le/Gk8//XScfPLJUVlZWfa1u/rqq2PChAkuJAAAICluUclGRRJwyCGHRP/+/Yva5z//+c+48sorM21TWVkZl156aVx//fVNvsK1XE2YMCGuuuqqqKqqckEBAABJyBVwlPv/2NwWBBwJGDNmTNE/JN/5zneitra24G169+4dd911V5x44onJ1nH06NFx1113Ra9evVxUAABA2fMMjmwEHGVu+PDhMWTIkKL2efvtt8ezzz5bcPuBAwfGb37zm/jc5z6XfD333XffeOCBB4o+IwYAAKDY3KKSjYqUua9+9atF7W/OnDlx2WWXFdz+05/+dDzyyCOx/fbbt5ua7rzzzvHLX/4yunXr5gIDAADKloeMZtNZCcpbsWdNfPe7341Vq1YV1PaTn/xkTJ06tV0GAbvttltcddVVcfrpp7vIAICSa2oqeTGWZ52mXoy+2+J8inGe5XTcxTjPFI67PV2zbTGWuZ4hKOAQcJTMgQceGNtss01RPwQbb7xxDBgwoGjHOH/+/Bg1alSMGjUq77H07NkzDjjggHY9y+GQQw6JwYMHx9///vd2/Y9WOf3x949W+/likuoXLWNsjP0w8m9MW/2NACg2AUcjf5cjojspCGQAACAASURBVF4Z/m3ChAleJwoAAEDZW7hwYey+++4KsR4zOIrk1Vdfjblz5zZY3tg9U03dR/XR5cOGDSvawzDnz58fL7zwQt5jiPj3cze22GKLDjN2a9eujccffzyWLVtWlHErZdumlOIYWvt8s9SgXMfHuXXMczOWzs25Ff/flfb8GfT3xbm5Tp1blrZPPPFEbLfddo22N4NDwFEyd999d9xyyy1F66+qqipeeeWVov2AP/zww2PevHl5206cOLFDhRv/qfWuu+4aX/jCF2LlypUuZgAAoCzU1dU1uU7A0UhNlKA8DR06NDbaaKOi9HXXXXcVFG7svffeccopp3TIeldXV8cZZ5zhwgMAAMpGrtfEVlZWKtBHCDjK1Gc/+9mi9LNy5cq4+uqr818InTrFxIkTO3TNTzvttBg0aJCLDwAAKAteE5uNipSpYr0e9t5774133303b7vRo0fHrrvu2qFr3qVLlw4f8gAAAOUj1wwOb3JqSMBRpnbaaaei9DN58uS8bXr27Blnn322okfEfvvtF1/84hcVAgAAaHO5Ag4zOBqpiRKUn169ekX37t1b3M9f//rXePnll/O2+/a3vx2bbbaZwv+/iy66KKqqqhQCAABoUwKObFSkDG2++eZF6WfKlCl522y55ZYd9sGiTdl2223j1FNPVQgAAKBNCTiy8ZrYMtS/f/8W97Fy5cr49a9/nbfdqFGjokuXLm1ynq+++mrceuutUV1dHQMHDozq6uqorq6OTTfdtM3HYMyYMXHzzTfH2rVrXZAAAECbEHBkI+AoQ8W4XeShhx6KFStW5G138MEHF/346+rq4sknn4y+ffvG0KFDm2zXp0+fmDp1aoPlgwYNimOOOSZGjx7dZmHHpptuGgcccED85je/cUECAABtItdbVDxktCGRTxkqxgyOQn6Y9+/fP2cAkdW8efPiyiuvjD333DOOP/74eOyxx3K233LLLaNnz54Nls+ZMyd+9KMfxdChQ+PUU0+Np556KucHu1SOO+44FyMAANBmzODIRkXKUEufwbF27dp45pln8rY76KCDipL6zZo1K4488sjYe++94+qrr4533nknIiJef/31vNvusMMOOc/j4YcfjiOPPDI+85nPxOOPP96q47DPPvvEoEGDXJAAAECbEHBkoyJlqKUBx1/+8pdYtWpV3nYHHnhgi/ZTU1MT5557bhx00EGNzrJ47bXX8vax/fbbF7SvuXPnxoknnhgTJ05stediVFRUxLHHHuuCBAAA2kSugCNCyNGgHkpQflp6i8rTTz+dt02/fv1i7733bvY+fv/738dnP/vZmDRpUtTV1TXaZv78+bFy5cqc/eSawfFR9fX1cdNNN8UhhxwS8+bNa5WxGD16tFfGAgAAbULAkY1qlKGWzuAoJODYb7/9orKysln9X3vttXHCCSfEokWLcrarr6+P2bNn52yTJeD4jxdffDG+/OUvt8oDQDfZZJM44IADXJQAAECry/csQg8a3ZCAo515//3348UXX8zbbtttt83c99q1a2PMmDFx+eWX500S/yPfbSrNCTgi/n17zJgxY+Luu+8ueU332WcfFxYAANDqzODIRjXK0OLFi5u97d///vcmbxlZX9++fTP3feGFF2aeNZHvQaNbb7119OjRo9nne/bZZ8dzzz1X0vHYY489XJQAAECrE3BkoxplaMmSJc3e9o033iioXZ8+fTL1e++998akSZMyH0++GRwVFRUxePDgZp/vmjVr4pvf/GYsXLiwZOOx0047Rffu3V2YAABAqxJwZKMaZaglAcc//vGPgtplmcHxt7/9Lb7//e8363gKeZNKc29T+Y+FCxfGySefHGvWrCnJeHTu3Dl22203FyYAANCqBBzZqEYZasktKsUOOJYsWRInn3xyrF69ulnH8/bbb8cHH3yQs01LA46IiOeff77ZIUwh3KYCAAC0Ng8ZzUbAUYbK6RaVCRMmxNtvv92iD2S+53AUI+CIiLjnnnvi97//fUnGRMABAAC0tnwBR3PfjNleCTjKUHNncHz44Ycxd+7cgtr27t07b5t58+bF448/3uLzKdWbVBpz0003lWRMdt99dxcmAADQqtyiko1qlKH58+c3a7sVK1bEunXrCmq7dOnSvG2mTJmSNzEsRL6Ao7q6Orp27VqU2s2cOTNefvnloo9J1oeyAgAAtJSAIxvVKEMvv/xyQQHERy1btqzgtvPmzcu5ft26dXHPPfcU5XzyBRydOnWK7bbbrmj1K8Usji5durgwAQCAViXgyEY1yvQifvrppzNvt3z58oLb5psl8sQTTxTt1aut8SaV9T344IPxzjvvFHVMKisr3d8GAAC0Kg8ZzUbAUaZmzJiReZssAUe+Z3X89re/Ldq5LFiwIN5///2cbYoZcKxduzZuu+22oo+JWRwAAEBrMoMjG9UoU80JOIp5i8qCBQuKej6t9SaV/5g8eXJRnh+yPgEHAADQmgQc2ahGmfrXv/4Vs2fPzrRNXV1dwW3z3aJS7Fs85syZk3N9MZ/BEfHvsKclr7dtTLEehAoAAFAIAUc2qlHGss7i6NevX8FtZ8+enfONK4sWLSrqueS7JWabbbYpev0KefZHpg+LPx4AAEArEnBk/M2mBOXrySefzNQ+S8BRU1MTzzzzTKPrVq1alfeZGVnluyWmR48esckmmxR1n8UMONatWxeLFy92UQIAAK3GQ0azEXCUsaeeeirTbRZZAo6IiGnTprXahyTfDI6I4s/iyPfcjyzeeuutnDNeAAAAii3fDA5vetyQgKOM1dXVxR133FFw+6wzIJoKOLp16xabbbZZUc+lkICjurq6qPss5gyOfM8QAQAAKDa3qGTTWQnK25QpU+K73/1uQW/w6NKlS2y00UbxwQcfFNT3vHnz4tVXX42dd965wbptttkm3n333aKdx8KFC2PNmjU5z2Prrbcuau1mz54d9fX1RZmR8uabb7oYAYAWaew7SVPfU4q1vFR9l/K4i3GOKZ9Pa49lW12brtnC2vfp00fAIeBofQceeGCjt1gU4wMzb968GDx4cEHHcfXVVzf5rIjG+m7qtouzzz670VkLLTmf2tranAHHkUceGdtvv31RvySsXLkyNtpooxaP79ChQ+P6669P8o95Of2R78hfQFI+n478BcQY+5Lph1HH+jem1NcVQLH5O/SRekREvTL824QJE2LChAkKAQAAQNnbb7/94uWXX1aI/2cGR5G89NJL8cYbbzRY3thTb5t6Em6utiNGjCjoIaJLliyJ6dOnZzqGvfbaKwYOHLjB+qVLl/73GR3NOd7Glu+5556xww47NHnsNTU18dBDDxWtZhERhx12WPTs2bPF43vPPffEihUrilKH1mrblHI93izbZ6lBSufr3NI9t/b6Gcxybq5T5+bc0vn7Yiydm3Nr23PLsv1ll10WJ5xwQpPH4hYVAUdJ/OpXv4pbbrmlZP1/9atfbfIWifX17ds3Lrjggli2bFnBfe+4444xffr0DaY39e3bN3784x/Hv/71r6Kdw5gxY+KCCy5ocn3Xrl3j+9//fqY/LvmMHDmyxQHH66+/Ht/5zndc5AAAQKvykNFsVCMRDz74YLz66qv5B7RTp/jsZz+bqe/XXnstHnvssQbL999//6KeQ743qXTt2jU233zzou6zR48eLe5jxowZLkAAAKDV5fsffwUcH6mHEqThww8/jIsvvrigtiNGjMjc/9VXX91g2UknnVTU9yoX8qrYYr5JZcCAAdG9e/cW9yPgAAAA2kJdXV3uH/QCjg3roQTp+MMf/hBPPfVU3nb77bdf5h/2s2bNismTJ2+wbLvttotDDz20aMc/f/78vG2qq6uLtr/dd9+9xX2sWbMm/vd//9fFBwAAtDq3qGSjGom56KKL8l7k/fr1i+OPP75Zfb/99tsbLPv+979f0MNNC7FixYpYsmRJzjblFnD8+c9/jlWrVrnwAACAVifgyEY1EvPKK6/Efffdl7fd6aefHt26dcvU9/vvvx/f/e53N1i29dZbxxlnnFG04583b17O9dtss03R9lWMgOP+++930QEAAG3CMziyUY0EXXHFFVFbW5uzzeabbx7HHnts5r5nzJgRt99++wbLli5dWrRjzxdwFGsGR/fu3WO33XZrUR+LFy8WcAAAAG3GMziyUY0ELViwIK677rq87caNGxddu3bN3P8Pf/jDuOeee/773996662iHXu+B40W6yGjX/nKV1r8BpU77rgj1qxZ44IDAADaRL5bVCoqKhRpPQKORF133XXxt7/9LWeb/v37xzHHHNOsD9GECRNi0qRJsWbNmgbP5WiJfAHHVlttVZQU8sgjj2zR9mvWrIk777zThQYAALQZz+DIRjUStW7duvj2t7+dd4bB+PHjY+ONN27WB+ncc8+NIUOGxAsvvFC04853i0pVVVVsscUWLdrHoEGDYq+99mpRH7/+9a/j3XffdaEBAABtRsCRjWok7LXXXosrr7wyZ5v+/fvH1Vdf3ex9fPDBB7F69eqiHXO+GRwRLX8Ox+jRo1s0VWvt2rVxww03uMAAAIA2JeDIRjUS94tf/CL+8pe/5Gyz//77x6mnnloWx7tgwYJYu3ZtzjYteZNKr169mnVbzvp+/vOfx+zZs11cAABAmxJwZKMa7eCCP+OMM2LVqlU525177rlFeW1qS9XV1eV9pkdLZnBMmDAhNt1002ZvP3v27BbNeAEAACjm772cP+gFHBvWQwnSN2fOnDj//PNztqmqqopf/OIX0bt37zY/3nzP4Wjum1R23HHHOOmkk1r0x+Oss87KO8MEAACgNXhNbDaq0U5MmTIlJk+enLPNNttsUxazE/I9h2PAgAHN6vfiiy+Ozp07N/u4Jk2aFM8995yLCQAAKAv19fW5f9ALODashxK0Hz/4wQ/i+eefz9nmgAMOiEsuuaRNPwj5Ao7m3GIycuTIGD58eLOP6aWXXorLLrvMRQQAAJQNt6hkoxrtyNq1a+Ob3/xm3tebnnTSSXHjjTdGly5d2uQ4892istlmm2Xqb8cdd8z7Nplc5syZE8ccc0ysXLnSRQQAAJQNt6hkoxrtzDvvvBNjxoyJdevW5Ww3cuTImDp1aps8kyPfDI5+/foV/EHdaqutYurUqbHxxhs361gWLlwYRx55ZN5QCAAAoLXlm8FRUVGhSOsRcLRDzzzzTJxzzjl579fae++949e//nVsscUWrXp8+QKOTp06Rb9+/fL207dv35g6dWqzj7+mpiaOPvrovDNKAAAA2oJncGSjGu3U5MmT49xzz83bbuedd46HH344dthhh1Y7tpqamli+fHnONvluU+nevXvceeedMXjw4GYdw4oVK+KEE06IV1991cUCAACUJc/gyEY12rFf/vKXBYUcAwYMiN/85jcxZsyYqKqqapVja8mDRgcMGBBTpkyJoUOHNmvfc+bMia985Svxpz/9yUUCAACULc/gyEY12rlJkyYVFHL06tUrLrjggpgxY0bsv//+JT+ufAFHUzM4Dj300Jg+fXp8+tOfbtZ+Z8yYEQceeGC8/vrrLg4AAKCsmcGRjWp0AJMmTYrzzjuvoLaDBg2KSZMmxa9+9avYZZddSnZM8+fPz7n+ozM4evfuHTfccEPccMMNzX4w6k033RTHHnts3ttjAAAAyoGAIxvV6CBuv/32OP/88wtuv88++8S0adPiJz/5SebXthYiywyOz3/+8/Hkk0/GoYce2qx91dTUxPjx42PixIl5p3gBAACUCwFHNp2VoOO47bbboqKiIi666KKC2nfq1CmOPvro+PrXvx5PPfVU/O53v4snnngiFi1a1OJjyRdwDB48OE477bQ46qijYvvtt2/2fh544IG48MILi3LMAAAArUnAkY2Ao4O59dZb4/3334+LLrooevXqVdA2Xbt2jf322y/222+/qK+vj+effz6mTZsW06ZNi9dee61Zx/Huu+/mXL///vu36Fkg//znP+Pss8+OmTNnGnQAACBJAo5sBBwd0D333BNPPfVUXHHFFfGlL30p07YVFRUxdOjQGDp0aJxzzjkxZ86cePzxx+Oll16KOXPmxNy5c/POlqisrIyuXbuW5NxWr14d1157bVx//fWxZs0agw0AACRLwJGNgKODWrBgQRx//PHxta99Lb73ve9FdXV1s/oZNGhQnHLKKRssW7lyZSxYsCBWrVoVq1evjtra2qitrY2qqqqorq6Orbbaquivo62trY2pU6fGjTfeGG+99ZYBBgAAkpcv4KioqFCk9Qg4Orj7778/HnzwwRg5cmSMGzcuhgwZ0uI+e/ToEdttt12rHH9NTU1MmjQpbr311liyZIkBBQAA2g0zOLIRcBB1dXXxwAMPxAMPPBCf//zn49RTT43hw4dH587le3ksXLgwbrnllrjzzjtjxYoVBhEAAGh3BBzZCDjYwB/+8If4wx/+EP369YsDDzwwRo4cGZ/5zGfKIuxYsWJFTJ8+PR599NF49NFHPWMDAABo1+rq6nKuF3BsSMBBo957772YPHlyTJ48+b9hx7777hvDhg2LAQMGtNpxLFq0KH73u9/FY489FjNnzoy1a9caHAAAoEMwgyMbAQd5rR92RERsscUWMWzYsBg6dGgMGzYshgwZEt26dSv6fi+++OL4xS9+EfX19QYBAADocPL9FhJwbEjAQWbvvPNOPPzww/Hwww//d1m/fv1iyy23jAEDBsSWW2753//cs2fPqKura/T/dtxxxxg2bFiT+6mtrRVuAAAAJdPUW0iKsTzrG04aa58vwBBw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AAAAwJ7gAAAAAPYEBwAAALAnOAAAAIA9wQEAAADsCQ4AAABgT3AAAAAAe4IDAAAA2BMcAAAAwJ7gAAAAAPYEBwAAALAnOAAAAIA9wQEAAADsCQ4AAABgT3AAAAAAe4IDAAAA2BMcAAAAwJ7gAAAAAPYEBwAAALAnOAAAAIA9wQEAAADsCQ4AAABgT3AAAAAAe4IDAAAA2BMcAAAAwJ7gAAAAAPYEBwAAALAnOAAAAIA9wQEAAADsCQ4AAABgT3AAAAAAe4IDAAAA2BMcAAAAwJ7gAAAAAPYEBwAAALAnOAAAAIA9wQEAAADsCQ4AAABgT3AAAAAAe4IDAAAA2BMcAAAAwJ7gAAAAAPYEBwAAALAnOAAAAIA9wQEAAADsCQ4AAABgT3AAAAAAe4IDAAAA2BMcAAAAwJ7gAAAAAPYEBwAAALAnOAAAAIA9wQEAAADsCQ4AAABgT3AAAAAAe4IDAAAA2BMcAAAAwJ7gAAAAAPYEBwAAALAnOAAAAIA9wQEAAADsCQ4AAABgT3AAAAAAe4IDAAAA2BMcAAAAwJ7gAAAAAPYEBwAAALAnOAAAAIA9wQEAAADsCQ4AAABgT3AAAAAAe4IDAAAA2BMcAAAAwJ7gAAAAAPYEBwAAALAnOAAAAIA9wQEAAADsCQ4AAABgT3AAAAAAe4IDAAAA2BMcAAAAwJ7gAAAAAPYEBwAAALAnOAAAAIA9wQEAAADsCQ4AAABgT3AAAAAAe4IDAAAA2BMcAAAAwJ7gAAAAAPYEBwAAALAnOAAAAIA9wQEAAADsCQ4AAABgT3AAAAAAe4IDAAAA2BMcAAAAwJ7gAAAAAPYEBwAAALAnOAAAAIA9wQEAAADsCQ4AAABgT3AAAAAAe4IDAAAA2BMcAAAAwJ7gAAAAAPYEBwAAALAnOAAAAIA9wQEAAADsCQ4AAABgT3AAAAAAe4IDAAAA2BMcAAAAwJ7gAAAAAPYEBwAAALAnOAAAAIA9wQEAAADsCQ4AAABgT3AAAAAAe4IDAAAA2BMcAAAAwJ7gAAAAAPYEBwAAALAnOAAAAIA9wQEAAADsCQ4AAABgT3AAAAAAe4IDAAAA2BMcAAAAwJ7gAAAAAPYEBwAAALAnOAAAAIA9wQEAAADsCQ4AAABgT3AAAAAAe4IDAAAA2BMcAAAAwJ7gAAAAAPYEBwAAALAnOAAAAIA9wQEAAADsCQ4A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/+MYxPkNE2IkGABNSVOQ7HM+7DuUt3Q7mjpUFmcjr1unl8NuVbD7m6plQSJtQIuLMFbkdTOVo4XNGpkZmZshRj5KVGyRR6oW/+MYxP8P82okOACTLDX0hZ/NMwIyV2MZOyleP56///LM+7JePftrs1g+k+jJlnog5CvNvjmcS3cDTZkDKhtl8r35yOV+jgtR/+MYxPoOQ2YYEABTSKmIjcsiPb5ZfXf7UH8zFxqUaDwmSPCizYFGwQGwyZIIX0pOLKIpjETlo1U/56E0qoAczJRAWM5G8HJA/+MYxPwK8148GABNSUZyKUXZ6Ik9o/PNrPO4Xd3k45s5ZbFOhlkKfJ2SMjFyc9KZLMjQ60Ps1iyQiQycScX711gnjk89MiiI/+MYxP8TC2oIAACTEM0f+Z/SNfy///f9lc5XLIHLMz46Yck2h2K0dtqT0bECVySOS9qTEGr9rfbPd2TQq7VMzuRDg3vYJJEn/+MYxO0ME2YcEABNSJ2RxzMIKcrhC0U0F3kImjyb03for+r/zq1OmMvJ/7vbWJlSA5zVyGFyjBs22U4ODIPh4hDbrVUbv/ln/+MYxPcNW2YcEABNSGWrMglL8cicpXM60b///+8h4bKpxqdMwhMvkpTs/hZPkDJUtJu2TccDTSJKRRGOl+v/1//9Omu/2pdE/+MYxPwPu2oQCABTLHWi9r07yp99tVRSsxysZJwFXKcDYBwxzjoPraIHIgUpiCmopmXHJwp268/L++7oMjOERqsPR/WT59fe/+MYxPgMU1ooGABTSLv/8+5at2WSQuEzX00HAFGyipKM5p5VFojkAmjknWmIKaimZccnBdUObf4ovk//MMX///X/yt/uOXlx/+MYxP8SW2IIAACTEKktqFqTxCJSJF/JNmSImOhln2AosFn0lTEFNRTMuOTguMlVVVVVVVVMQU1FMy45OC4yVVVVVVVVVVVV/+MYxPAMw2IgEABTSVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVMQU1FMy45OC4yVVVVVVVVVVVV/+MYxPgK215IGACNTFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV/+MYxP8MW2I4GABNSFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV/+MYxP8Ks1oUGABTZVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV/+MYxP8AAANIAAAAAFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVEFHMTAgU2Vjb25kcyBvZiBTaWxlbmNlAAAAAAAAAAAAQW5hciBTb2Z0d2FyZSBMTEMAAAAAAAAAAAAAAAAAQmxhbmsgQXVkaW8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP8=";
2739
623
 
624
+ const isIOS = /iPad|iPhone|iPod/.test(navigator.userAgent) && !window.MSStream;
2740
625
  class BaseWallet {
2741
- algodClient;
2742
- algosdk;
2743
626
  keepWCAlive;
2744
- constructor({ algosdk, token, server, port }) {
2745
- this.algodClient = new algosdk.Algodv2(token, server, port);
2746
- this.algosdk = algosdk;
627
+ constructor() {
2747
628
  this.keepWCAlive = new Audio();
2748
629
  }
2749
630
  async healthCheck() {
2750
- return await this.algodClient.healthCheck().do();
631
+ return await algodClient.healthCheck().do();
2751
632
  }
2752
633
  async getAccountInfo(address) {
2753
- const accountInfo = await this.algodClient.accountInformation(address).do();
634
+ const accountInfo = await algodClient.accountInformation(address).do();
2754
635
  if (!accountInfo) {
2755
636
  throw new Error("Unable to get account information");
2756
637
  }
2757
638
  return accountInfo;
2758
639
  }
2759
640
  async getAssets(address) {
2760
- const accountInfo = await this.algodClient.accountInformation(address).do();
641
+ const accountInfo = await algodClient.accountInformation(address).do();
2761
642
  if (!accountInfo || accountInfo.assets === undefined) {
2762
643
  throw new Error("Unable to get account assets");
2763
644
  }
2764
645
  return accountInfo.assets;
2765
646
  }
2766
647
  async waitForConfirmation(txId, timeout = 4) {
2767
- const confirmation = (await this.algosdk.waitForConfirmation(this.algodClient, txId, timeout));
648
+ const confirmation = (await algosdk.waitForConfirmation(algodClient, txId, timeout));
2768
649
  return { txId, ...confirmation };
2769
650
  }
2770
651
  decodeTransaction = (txn, isSigned) => {
2771
652
  return isSigned
2772
- ? this.algosdk.decodeSignedTransaction(new Uint8Array(Buffer.from(txn, "base64"))).txn
2773
- : this.algosdk.decodeUnsignedTransaction(new Uint8Array(Buffer.from(txn, "base64")));
653
+ ? algosdk.decodeSignedTransaction(new Uint8Array(Buffer.from(txn, "base64"))).txn
654
+ : algosdk.decodeUnsignedTransaction(new Uint8Array(Buffer.from(txn, "base64")));
2774
655
  };
2775
656
  logEncodedTransaction(txn, isSigned) {
2776
657
  const txnObj = this.decodeTransaction(txn, isSigned);
2777
658
  console.log("TRANSACTION", {
2778
659
  isSigned,
2779
- from: txnObj.from && this.algosdk.encodeAddress(txnObj.from.publicKey),
2780
- to: txnObj.to && this.algosdk.encodeAddress(txnObj.to.publicKey),
660
+ from: txnObj.from && algosdk.encodeAddress(txnObj.from.publicKey),
661
+ to: txnObj.to && algosdk.encodeAddress(txnObj.to.publicKey),
2781
662
  type: txnObj.type,
2782
663
  txn: txnObj,
2783
664
  });
@@ -2798,10 +679,10 @@ class BaseWallet {
2798
679
  if (type === "u") {
2799
680
  const decodedTxn = this.decodeTransaction(txn, false);
2800
681
  const from = decodedTxn.from
2801
- ? this.algosdk.encodeAddress(decodedTxn.from.publicKey)
682
+ ? algosdk.encodeAddress(decodedTxn.from.publicKey)
2802
683
  : "";
2803
684
  const to = decodedTxn.to
2804
- ? this.algosdk.encodeAddress(decodedTxn.to.publicKey)
685
+ ? algosdk.encodeAddress(decodedTxn.to.publicKey)
2805
686
  : "";
2806
687
  const type = decodedTxn.type || "";
2807
688
  const amount = Number(decodedTxn.amount) || 0; // convert from bigint to number
@@ -2820,7 +701,7 @@ class BaseWallet {
2820
701
  return groupBy(decodedGroup, "from");
2821
702
  }
2822
703
  async sendRawTransactions(transactions) {
2823
- const sentTransaction = await this.algodClient
704
+ const sentTransaction = await algodClient
2824
705
  .sendRawTransaction(transactions)
2825
706
  .do();
2826
707
  if (!sentTransaction) {
@@ -2836,7 +717,7 @@ class BaseWallet {
2836
717
  // Playing an audio file prevents Wallet Connect's
2837
718
  // web socket connection from being dropped when
2838
719
  // iOS goes into background mode
2839
- if (!isIOS_1) {
720
+ if (!isIOS) {
2840
721
  return;
2841
722
  }
2842
723
  this.keepWCAlive.src = audio;
@@ -2846,7 +727,7 @@ class BaseWallet {
2846
727
  this.keepWCAlive.play();
2847
728
  }
2848
729
  keepWCAliveStop() {
2849
- if (!isIOS_1) {
730
+ if (!isIOS) {
2850
731
  return;
2851
732
  }
2852
733
  this.keepWCAlive.pause();
@@ -2857,33 +738,24 @@ class BaseWallet {
2857
738
  * Helpful resources:
2858
739
  * https://github.com/perawallet/connect
2859
740
  */
741
+ const peraWallet = new PeraWalletConnect({ shouldShowSignTxnToast: false });
2860
742
  class PeraWalletClient extends BaseWallet {
2861
743
  #client;
2862
744
  id;
2863
745
  provider;
2864
- constructor(initAlgodClient, initWallet) {
2865
- super(initAlgodClient);
746
+ constructor(initWallet) {
747
+ super();
2866
748
  this.#client = initWallet.client;
2867
749
  this.id = initWallet.id;
2868
- this.provider = initWallet.providers[this.id];
750
+ this.provider = initWallet.provider;
2869
751
  }
2870
752
  static async init() {
2871
- const algosdk = (await import('algosdk')).default;
2872
- const initAlgodClient = {
2873
- algosdk,
2874
- token: NODE_TOKEN,
2875
- server: NODE_SERVER,
2876
- port: NODE_PORT,
2877
- };
2878
- const PeraWalletConnect = (await import('@perawallet/connect'))
2879
- .PeraWalletConnect;
2880
- const peraWallet = new PeraWalletConnect({ shouldShowSignTxnToast: false });
2881
753
  const initWallet = {
2882
754
  id: PROVIDER_ID.PERA_WALLET,
2883
755
  client: peraWallet,
2884
- providers: providers,
756
+ provider: providers[PROVIDER_ID.PERA_WALLET],
2885
757
  };
2886
- return new PeraWalletClient(initAlgodClient, initWallet);
758
+ return new PeraWalletClient(initWallet);
2887
759
  }
2888
760
  async connect(onDisconnect) {
2889
761
  this.keepWCAliveStart();
@@ -2926,13 +798,13 @@ class PeraWalletClient extends BaseWallet {
2926
798
  for (const [type, txn] of transactions) {
2927
799
  if (type === "s") {
2928
800
  formattedTransactions.push({
2929
- ...this.algosdk.decodeSignedTransaction(new Uint8Array(Buffer.from(txn, "base64"))),
801
+ ...algosdk.decodeSignedTransaction(new Uint8Array(Buffer.from(txn, "base64"))),
2930
802
  signers: [],
2931
803
  });
2932
804
  }
2933
805
  else {
2934
806
  formattedTransactions.push({
2935
- txn: this.algosdk.decodeUnsignedTransaction(new Uint8Array(Buffer.from(txn, "base64"))),
807
+ txn: algosdk.decodeUnsignedTransaction(new Uint8Array(Buffer.from(txn, "base64"))),
2936
808
  });
2937
809
  }
2938
810
  }
@@ -2941,20 +813,20 @@ class PeraWalletClient extends BaseWallet {
2941
813
  async signTransactions(activeAdress, transactions) {
2942
814
  // Decode the transactions to access their properties.
2943
815
  const decodedTxns = transactions.map((txn) => {
2944
- return this.algosdk.decodeObj(txn);
816
+ return algosdk.decodeObj(txn);
2945
817
  });
2946
818
  // Marshal the transactions,
2947
819
  // and add the signers property if they shouldn't be signed.
2948
820
  const txnsToSign = decodedTxns.reduce((acc, txn, i) => {
2949
821
  if (!("txn" in txn) &&
2950
- this.algosdk.encodeAddress(txn["snd"]) === activeAdress) {
822
+ algosdk.encodeAddress(txn["snd"]) === activeAdress) {
2951
823
  acc.push({
2952
- txn: this.algosdk.decodeUnsignedTransaction(transactions[i]),
824
+ txn: algosdk.decodeUnsignedTransaction(transactions[i]),
2953
825
  });
2954
826
  }
2955
827
  else {
2956
828
  acc.push({
2957
- txn: this.algosdk.decodeSignedTransaction(transactions[i]).txn,
829
+ txn: algosdk.decodeSignedTransaction(transactions[i]).txn,
2958
830
  signers: [],
2959
831
  });
2960
832
  }
@@ -2999,44 +871,30 @@ class PeraWalletClient extends BaseWallet {
2999
871
  }
3000
872
  return signedTransactions;
3001
873
  }
3002
- }
3003
- var peraWalletClient = PeraWalletClient.init().catch((e) => {
3004
- if (typeof window !== "undefined") {
3005
- console.error("error initializing PeraWalletClient", e);
3006
- return;
3007
- }
3008
- });
874
+ }
3009
875
 
3010
876
  /**
3011
877
  * Helpful resources:
3012
878
  * https://github.com/randlabs/myalgo-connect
3013
879
  */
880
+ const myAlgo = new MyAlgoConnect({ disableLedgerNano: false });
3014
881
  class MyAlgoWalletClient extends BaseWallet {
3015
882
  #client;
3016
883
  id;
3017
884
  provider;
3018
- constructor(initAlgodClient, initWallet) {
3019
- super(initAlgodClient);
885
+ constructor(initWallet) {
886
+ super();
3020
887
  this.#client = initWallet.client;
3021
888
  this.id = initWallet.id;
3022
- this.provider = initWallet.providers[this.id];
889
+ this.provider = initWallet.provider;
3023
890
  }
3024
891
  static async init() {
3025
- const algosdk = (await import('algosdk')).default;
3026
- const initAlgodClient = {
3027
- algosdk,
3028
- token: NODE_TOKEN,
3029
- server: NODE_SERVER,
3030
- port: NODE_PORT,
3031
- };
3032
- const MyAlgo = (await import('@randlabs/myalgo-connect')).default;
3033
- const myAlgo = new MyAlgo({ disableLedgerNano: false });
3034
892
  const initWallet = {
3035
893
  id: PROVIDER_ID.MYALGO_WALLET,
3036
894
  client: myAlgo,
3037
- providers: providers,
895
+ provider: providers[PROVIDER_ID.MYALGO_WALLET],
3038
896
  };
3039
- return new MyAlgoWalletClient(initAlgodClient, initWallet);
897
+ return new MyAlgoWalletClient(initWallet);
3040
898
  }
3041
899
  async connect() {
3042
900
  const accounts = await this.#client.connect();
@@ -3061,14 +919,14 @@ class MyAlgoWalletClient extends BaseWallet {
3061
919
  async signTransactions(activeAdress, transactions) {
3062
920
  // Decode the transactions to access their properties.
3063
921
  const decodedTxns = transactions.map((txn) => {
3064
- return this.algosdk.decodeObj(txn);
922
+ return algosdk.decodeObj(txn);
3065
923
  });
3066
924
  // Get the unsigned transactions.
3067
925
  const txnsToSign = decodedTxns.reduce((acc, txn, i) => {
3068
926
  // If the transaction isn't already signed and is to be sent from a connected account,
3069
927
  // add it to the arrays of transactions to be signed.
3070
928
  if (!("txn" in txn) &&
3071
- this.algosdk.encodeAddress(txn["snd"]) === activeAdress) {
929
+ algosdk.encodeAddress(txn["snd"]) === activeAdress) {
3072
930
  acc.push(transactions[i]);
3073
931
  }
3074
932
  return acc;
@@ -3112,13 +970,7 @@ class MyAlgoWalletClient extends BaseWallet {
3112
970
  }
3113
971
  return signedRawTransactions;
3114
972
  }
3115
- }
3116
- var myAlgoWalletClient = MyAlgoWalletClient.init().catch((e) => {
3117
- if (typeof window !== "undefined") {
3118
- console.error("error initializing MyAlgoWalletClient", e);
3119
- return;
3120
- }
3121
- });
973
+ }
3122
974
 
3123
975
  /**
3124
976
  * Helpful resources:
@@ -3128,20 +980,13 @@ class AlgoSignerClient extends BaseWallet {
3128
980
  #client;
3129
981
  id;
3130
982
  provider;
3131
- constructor(initAlgodClient, initWallet) {
3132
- super(initAlgodClient);
983
+ constructor(initWallet) {
984
+ super();
3133
985
  this.#client = initWallet.client;
3134
986
  this.id = initWallet.id;
3135
- this.provider = initWallet.providers[this.id];
987
+ this.provider = initWallet.provider;
3136
988
  }
3137
989
  static async init() {
3138
- const algosdk = (await import('algosdk')).default;
3139
- const initAlgodClient = {
3140
- algosdk,
3141
- token: NODE_TOKEN,
3142
- server: NODE_SERVER,
3143
- port: NODE_PORT,
3144
- };
3145
990
  if (typeof window == "undefined" ||
3146
991
  window.AlgoSigner === undefined) {
3147
992
  throw new Error("AlgoSigner is not available.");
@@ -3150,9 +995,9 @@ class AlgoSignerClient extends BaseWallet {
3150
995
  const initWallet = {
3151
996
  id: PROVIDER_ID.ALGO_SIGNER,
3152
997
  client: algoSigner,
3153
- providers: providers,
998
+ provider: providers[PROVIDER_ID.ALGO_SIGNER],
3154
999
  };
3155
- return new AlgoSignerClient(initAlgodClient, initWallet);
1000
+ return new AlgoSignerClient(initWallet);
3156
1001
  }
3157
1002
  async connect() {
3158
1003
  await this.#client.connect();
@@ -3202,11 +1047,11 @@ class AlgoSignerClient extends BaseWallet {
3202
1047
  };
3203
1048
  if (type === "s") {
3204
1049
  formattedTxn.signers = [];
3205
- const decoded = this.algosdk.decodeSignedTransaction(new Uint8Array(Buffer.from(txn, "base64")));
1050
+ const decoded = algosdk.decodeSignedTransaction(new Uint8Array(Buffer.from(txn, "base64")));
3206
1051
  formattedTxn.txn = this.#client.encoding.msgpackToBase64(decoded.txn.toByte());
3207
1052
  }
3208
1053
  else {
3209
- const decoded = this.algosdk.decodeUnsignedTransaction(Buffer.from(txn, "base64"));
1054
+ const decoded = algosdk.decodeUnsignedTransaction(Buffer.from(txn, "base64"));
3210
1055
  formattedTxn.txn = this.#client.encoding.msgpackToBase64(decoded.toByte());
3211
1056
  }
3212
1057
  return formattedTxn;
@@ -3216,7 +1061,7 @@ class AlgoSignerClient extends BaseWallet {
3216
1061
  async signTransactions(activeAdress, transactions) {
3217
1062
  // Decode the transactions to access their properties.
3218
1063
  const decodedTxns = transactions.map((txn) => {
3219
- return this.algosdk.decodeObj(txn);
1064
+ return algosdk.decodeObj(txn);
3220
1065
  });
3221
1066
  // Marshal the transactions,
3222
1067
  // and add the signers property if they shouldn't be signed.
@@ -3225,8 +1070,8 @@ class AlgoSignerClient extends BaseWallet {
3225
1070
  txn: this.#client.encoding.msgpackToBase64(transactions[i]),
3226
1071
  };
3227
1072
  if ("txn" in txn ||
3228
- this.algosdk.encodeAddress(txn["snd"]) !== activeAdress) {
3229
- txnObj.txn = this.#client.encoding.msgpackToBase64(this.algosdk.decodeSignedTransaction(transactions[i]).txn.toByte());
1073
+ algosdk.encodeAddress(txn["snd"]) !== activeAdress) {
1074
+ txnObj.txn = this.#client.encoding.msgpackToBase64(algosdk.decodeSignedTransaction(transactions[i]).txn.toByte());
3230
1075
  txnObj.signers = [];
3231
1076
  }
3232
1077
  acc.push(txnObj);
@@ -3263,47 +1108,32 @@ class AlgoSignerClient extends BaseWallet {
3263
1108
  }, []);
3264
1109
  return signedRawTransactions;
3265
1110
  }
3266
- }
3267
- var algoSignerClient = AlgoSignerClient.init().catch((e) => {
3268
- if (typeof window !== "undefined") {
3269
- console.info("error initializing AlgoSigner", e);
3270
- return;
3271
- }
3272
- });
1111
+ }
3273
1112
 
3274
1113
  /**
3275
1114
  * Helpful resources:
3276
1115
  * https://github.com/blockshake-io/defly-connect
3277
1116
  */
1117
+ const deflyWallet = new DeflyWalletConnect({
1118
+ shouldShowSignTxnToast: false,
1119
+ });
3278
1120
  class DeflyWalletClient extends BaseWallet {
3279
1121
  #client;
3280
1122
  id;
3281
1123
  provider;
3282
- constructor(initAlgodClient, initWallet) {
3283
- super(initAlgodClient);
1124
+ constructor(initWallet) {
1125
+ super();
3284
1126
  this.#client = initWallet.client;
3285
1127
  this.id = initWallet.id;
3286
- this.provider = initWallet.providers[this.id];
1128
+ this.provider = initWallet.provider;
3287
1129
  }
3288
1130
  static async init() {
3289
- const algosdk = (await import('algosdk')).default;
3290
- const initAlgodClient = {
3291
- algosdk,
3292
- token: NODE_TOKEN,
3293
- server: NODE_SERVER,
3294
- port: NODE_PORT,
3295
- };
3296
- const DeflyWalletConnect = (await import('@blockshake/defly-connect'))
3297
- .DeflyWalletConnect;
3298
- const deflyWallet = new DeflyWalletConnect({
3299
- shouldShowSignTxnToast: false,
3300
- });
3301
1131
  const initWallet = {
3302
1132
  id: PROVIDER_ID.DEFLY,
3303
1133
  client: deflyWallet,
3304
- providers: providers,
1134
+ provider: providers[PROVIDER_ID.DEFLY],
3305
1135
  };
3306
- return new DeflyWalletClient(initAlgodClient, initWallet);
1136
+ return new DeflyWalletClient(initWallet);
3307
1137
  }
3308
1138
  async connect(onDisconnect) {
3309
1139
  const accounts = await this.#client.connect();
@@ -3344,13 +1174,13 @@ class DeflyWalletClient extends BaseWallet {
3344
1174
  for (const [type, txn] of transactions) {
3345
1175
  if (type === "s") {
3346
1176
  formattedTransactions.push({
3347
- ...this.algosdk.decodeSignedTransaction(new Uint8Array(Buffer.from(txn, "base64"))),
1177
+ ...algosdk.decodeSignedTransaction(new Uint8Array(Buffer.from(txn, "base64"))),
3348
1178
  signers: [],
3349
1179
  });
3350
1180
  }
3351
1181
  else {
3352
1182
  formattedTransactions.push({
3353
- txn: this.algosdk.decodeUnsignedTransaction(new Uint8Array(Buffer.from(txn, "base64"))),
1183
+ txn: algosdk.decodeUnsignedTransaction(new Uint8Array(Buffer.from(txn, "base64"))),
3354
1184
  });
3355
1185
  }
3356
1186
  }
@@ -3359,20 +1189,20 @@ class DeflyWalletClient extends BaseWallet {
3359
1189
  async signTransactions(activeAdress, transactions) {
3360
1190
  // Decode the transactions to access their properties.
3361
1191
  const decodedTxns = transactions.map((txn) => {
3362
- return this.algosdk.decodeObj(txn);
1192
+ return algosdk.decodeObj(txn);
3363
1193
  });
3364
1194
  // Marshal the transactions,
3365
1195
  // and add the signers property if they shouldn't be signed.
3366
1196
  const txnsToSign = decodedTxns.reduce((acc, txn, i) => {
3367
1197
  if (!("txn" in txn) &&
3368
- this.algosdk.encodeAddress(txn["snd"]) === activeAdress) {
1198
+ algosdk.encodeAddress(txn["snd"]) === activeAdress) {
3369
1199
  acc.push({
3370
- txn: this.algosdk.decodeUnsignedTransaction(transactions[i]),
1200
+ txn: algosdk.decodeUnsignedTransaction(transactions[i]),
3371
1201
  });
3372
1202
  }
3373
1203
  else {
3374
1204
  acc.push({
3375
- txn: this.algosdk.decodeSignedTransaction(transactions[i]).txn,
1205
+ txn: algosdk.decodeSignedTransaction(transactions[i]).txn,
3376
1206
  signers: [],
3377
1207
  });
3378
1208
  }
@@ -3411,13 +1241,7 @@ class DeflyWalletClient extends BaseWallet {
3411
1241
  }
3412
1242
  return signedTransactions;
3413
1243
  }
3414
- }
3415
- var deflyClient = DeflyWalletClient.init().catch((e) => {
3416
- if (typeof window !== "undefined") {
3417
- console.error("error initializing DeflyWalletClient", e);
3418
- return;
3419
- }
3420
- });
1244
+ }
3421
1245
 
3422
1246
  /**
3423
1247
  * Helpful resources:
@@ -3427,20 +1251,13 @@ class ExodusClient extends BaseWallet {
3427
1251
  #client;
3428
1252
  id;
3429
1253
  provider;
3430
- constructor(initAlgodClient, initWallet) {
3431
- super(initAlgodClient);
1254
+ constructor(initWallet) {
1255
+ super();
3432
1256
  this.#client = initWallet.client;
3433
1257
  this.id = initWallet.id;
3434
- this.provider = initWallet.providers[this.id];
1258
+ this.provider = initWallet.provider;
3435
1259
  }
3436
1260
  static async init() {
3437
- const algosdk = (await import('algosdk')).default;
3438
- const initAlgodClient = {
3439
- algosdk,
3440
- token: NODE_TOKEN,
3441
- server: NODE_SERVER,
3442
- port: NODE_PORT,
3443
- };
3444
1261
  if (typeof window == "undefined" ||
3445
1262
  window.exodus === undefined) {
3446
1263
  throw new Error("Exodus is not available.");
@@ -3449,9 +1266,9 @@ class ExodusClient extends BaseWallet {
3449
1266
  const initWallet = {
3450
1267
  id: PROVIDER_ID.EXODUS,
3451
1268
  client: exodus,
3452
- providers: providers,
1269
+ provider: providers[PROVIDER_ID.EXODUS],
3453
1270
  };
3454
- return new ExodusClient(initAlgodClient, initWallet);
1271
+ return new ExodusClient(initWallet);
3455
1272
  }
3456
1273
  async connect() {
3457
1274
  const { address } = await this.#client.connect();
@@ -3484,14 +1301,14 @@ class ExodusClient extends BaseWallet {
3484
1301
  async signTransactions(activeAdress, transactions) {
3485
1302
  // Decode the transactions to access their properties.
3486
1303
  const decodedTxns = transactions.map((txn) => {
3487
- return this.algosdk.decodeObj(txn);
1304
+ return algosdk.decodeObj(txn);
3488
1305
  });
3489
1306
  // Get the unsigned transactions.
3490
1307
  const txnsToSign = decodedTxns.reduce((acc, txn, i) => {
3491
1308
  // If the transaction isn't already signed and is to be sent from a connected account,
3492
1309
  // add it to the arrays of transactions to be signed.
3493
1310
  if (!("txn" in txn) &&
3494
- this.algosdk.encodeAddress(txn["snd"]) === activeAdress) {
1311
+ algosdk.encodeAddress(txn["snd"]) === activeAdress) {
3495
1312
  acc.push(transactions[i]);
3496
1313
  }
3497
1314
  return acc;
@@ -3516,7 +1333,7 @@ class ExodusClient extends BaseWallet {
3516
1333
  const signedRawTransactions = [];
3517
1334
  for (const [type, txn] of transactions) {
3518
1335
  if (type === "u") {
3519
- const decoded = this.algosdk.decodeUnsignedTransaction(Buffer.from(txn, "base64"));
1336
+ const decoded = algosdk.decodeUnsignedTransaction(Buffer.from(txn, "base64"));
3520
1337
  transactionsToSign.push(decoded.toByte());
3521
1338
  }
3522
1339
  }
@@ -3536,13 +1353,7 @@ class ExodusClient extends BaseWallet {
3536
1353
  }
3537
1354
  return signedRawTransactions;
3538
1355
  }
3539
- }
3540
- var exodusClient = ExodusClient.init().catch((e) => {
3541
- if (typeof window !== "undefined") {
3542
- console.info("error initializing ExodusClient", e);
3543
- return;
3544
- }
3545
- });
1356
+ }
3546
1357
 
3547
1358
  const DefaultKMDConfig = {
3548
1359
  host: KMD_HOST,
@@ -3554,30 +1365,23 @@ class KMDWallet extends BaseWallet {
3554
1365
  walletId;
3555
1366
  id;
3556
1367
  provider;
3557
- constructor(initAlgodClient, initWallet) {
3558
- super(initAlgodClient);
1368
+ constructor(initWallet) {
1369
+ super();
3559
1370
  this.#client = initWallet.client;
3560
1371
  this.id = initWallet.id;
3561
- this.provider = initWallet.providers[this.id];
1372
+ this.provider = initWallet.provider;
3562
1373
  this.walletId = "";
3563
1374
  }
3564
1375
  static async init() {
3565
- const algosdk = (await import('algosdk')).default;
3566
- const initAlgodClient = {
3567
- algosdk,
3568
- token: NODE_TOKEN,
3569
- server: NODE_SERVER,
3570
- port: NODE_PORT,
3571
- };
3572
1376
  // TODO: allow diff config options?
3573
1377
  const kmdConfig = DefaultKMDConfig;
3574
1378
  const kmdClient = new algosdk.Kmd(kmdConfig.token, kmdConfig.host, kmdConfig.port);
3575
1379
  const initWallet = {
3576
1380
  id: PROVIDER_ID.KMD_WALLET,
3577
1381
  client: kmdClient,
3578
- providers: providers,
1382
+ provider: providers[PROVIDER_ID.KMD_WALLET],
3579
1383
  };
3580
- return new KMDWallet(initAlgodClient, initWallet);
1384
+ return new KMDWallet(initWallet);
3581
1385
  }
3582
1386
  async connect() {
3583
1387
  // TODO: prompt for wallet and password?
@@ -3640,7 +1444,7 @@ class KMDWallet extends BaseWallet {
3640
1444
  async signTransactions(activeAddress, transactions) {
3641
1445
  // Decode the transactions to access their properties.
3642
1446
  const decodedTxns = transactions.map((txn) => {
3643
- return this.algosdk.decodeObj(txn);
1447
+ return algosdk.decodeObj(txn);
3644
1448
  });
3645
1449
  // Get a handle token
3646
1450
  const pw = await this.requestPassword();
@@ -3656,11 +1460,11 @@ class KMDWallet extends BaseWallet {
3656
1460
  if (!("snd" in dtxn))
3657
1461
  continue;
3658
1462
  // Not to be signed by our signer, skip it
3659
- if (!(this.algosdk.encodeAddress(dtxn.snd) === activeAddress))
1463
+ if (!(algosdk.encodeAddress(dtxn.snd) === activeAddress))
3660
1464
  continue;
3661
1465
  // overwrite with an empty blob
3662
1466
  signedTxns[idx] = new Uint8Array();
3663
- const txn = this.algosdk.Transaction.from_obj_for_encoding(dtxn);
1467
+ const txn = algosdk.Transaction.from_obj_for_encoding(dtxn);
3664
1468
  signingPromises.push(this.#client.signTransaction(token, pw, txn));
3665
1469
  }
3666
1470
  const signingResults = await Promise.all(signingPromises);
@@ -3679,47 +1483,33 @@ class KMDWallet extends BaseWallet {
3679
1483
  signEncodedTransactions(transactions) {
3680
1484
  throw new Error("Method not implemented.");
3681
1485
  }
3682
- }
3683
- var kmdClient = KMDWallet.init().catch((e) => {
3684
- if (typeof window !== "undefined") {
3685
- console.info("error initializing kmd client", e);
3686
- return;
3687
- }
3688
- });
1486
+ }
3689
1487
 
1488
+ /**
1489
+ * Helpful resources:
1490
+ * https://developer.algorand.org/docs/get-details/walletconnect/
1491
+ */
1492
+ const walletConnect = new WalletConnect({
1493
+ bridge: "https://bridge.walletconnect.org",
1494
+ qrcodeModal: QRCodeModal,
1495
+ });
3690
1496
  class WalletConnectClient extends BaseWallet {
3691
1497
  #client;
3692
1498
  id;
3693
1499
  provider;
3694
- constructor(initAlgodClient, initWallet) {
3695
- super(initAlgodClient);
3696
- this.#client = new initWallet.walletConnect({
3697
- bridge: initWallet.bridge,
3698
- qrcodeModal: initWallet.qrcodeModal,
3699
- ...initWallet.WalletConnectOptions,
3700
- });
1500
+ constructor(initWallet) {
1501
+ super();
1502
+ this.#client = initWallet.client;
3701
1503
  this.id = initWallet.id;
3702
- this.provider = initWallet.providers[this.id];
1504
+ this.provider = initWallet.provider;
3703
1505
  }
3704
1506
  static async init() {
3705
- const algosdk = (await import('algosdk')).default;
3706
- const initAlgodClient = {
3707
- algosdk,
3708
- token: NODE_TOKEN,
3709
- server: NODE_SERVER,
3710
- port: NODE_PORT,
3711
- };
3712
- const WalletConnect = (await import('@walletconnect/client')).default;
3713
- const QRCodeModal = (await import('algorand-walletconnect-qrcode-modal'))
3714
- .default;
3715
1507
  const initWallet = {
3716
1508
  id: PROVIDER_ID.WALLET_CONNECT,
3717
- walletConnect: WalletConnect,
3718
- bridge: "https://bridge.walletconnect.org",
3719
- qrcodeModal: QRCodeModal,
3720
- providers: providers,
1509
+ client: walletConnect,
1510
+ provider: providers[PROVIDER_ID.WALLET_CONNECT],
3721
1511
  };
3722
- return new WalletConnectClient(initAlgodClient, initWallet);
1512
+ return new WalletConnectClient(initWallet);
3723
1513
  }
3724
1514
  async connect() {
3725
1515
  let chainId = 416001;
@@ -3795,8 +1585,8 @@ class WalletConnectClient extends BaseWallet {
3795
1585
  txn: txn[1],
3796
1586
  };
3797
1587
  if (txn[0] === "s") {
3798
- const decodedTxn = this.algosdk.decodeSignedTransaction(new Uint8Array(Buffer.from(txn[1], "base64")));
3799
- formattedTxn.txn = Buffer.from(this.algosdk.encodeUnsignedTransaction(decodedTxn.txn)).toString("base64");
1588
+ const decodedTxn = algosdk.decodeSignedTransaction(new Uint8Array(Buffer.from(txn[1], "base64")));
1589
+ formattedTxn.txn = Buffer.from(algosdk.encodeUnsignedTransaction(decodedTxn.txn)).toString("base64");
3800
1590
  formattedTxn.signers = [];
3801
1591
  }
3802
1592
  return formattedTxn;
@@ -3806,13 +1596,13 @@ class WalletConnectClient extends BaseWallet {
3806
1596
  async signTransactions(activeAdress, transactions) {
3807
1597
  // Decode the transactions to access their properties.
3808
1598
  const decodedTxns = transactions.map((txn) => {
3809
- return this.algosdk.decodeObj(txn);
1599
+ return algosdk.decodeObj(txn);
3810
1600
  });
3811
1601
  // Marshal the transactions,
3812
1602
  // and add the signers property if they shouldn't be signed.
3813
1603
  const txnsToSign = decodedTxns.reduce((acc, txn, i) => {
3814
1604
  if (!("txn" in txn) &&
3815
- this.algosdk.encodeAddress(txn["snd"]) === activeAdress) {
1605
+ algosdk.encodeAddress(txn["snd"]) === activeAdress) {
3816
1606
  acc.push({
3817
1607
  txn: Buffer.from(transactions[i]).toString("base64"),
3818
1608
  });
@@ -3863,42 +1653,32 @@ class WalletConnectClient extends BaseWallet {
3863
1653
  }, []);
3864
1654
  return signedRawTransactions;
3865
1655
  }
3866
- }
3867
- var walletconnectClient = WalletConnectClient.init().catch((e) => {
3868
- if (typeof window !== "undefined") {
3869
- console.error("error initializing WalletConnectClient", e);
3870
- return;
3871
- }
3872
- });
1656
+ }
3873
1657
 
3874
1658
  const clients = {
3875
- [PROVIDER_ID.KMD_WALLET]: kmdClient,
3876
- [PROVIDER_ID.PERA_WALLET]: peraWalletClient,
3877
- [PROVIDER_ID.MYALGO_WALLET]: myAlgoWalletClient,
3878
- [PROVIDER_ID.ALGO_SIGNER]: algoSignerClient,
3879
- [PROVIDER_ID.DEFLY]: deflyClient,
3880
- [PROVIDER_ID.EXODUS]: exodusClient,
3881
- [PROVIDER_ID.WALLET_CONNECT]: walletconnectClient,
1659
+ [PROVIDER_ID.KMD_WALLET]: KMDWallet,
1660
+ [PROVIDER_ID.PERA_WALLET]: PeraWalletClient,
1661
+ [PROVIDER_ID.MYALGO_WALLET]: MyAlgoWalletClient,
1662
+ [PROVIDER_ID.ALGO_SIGNER]: AlgoSignerClient,
1663
+ [PROVIDER_ID.DEFLY]: DeflyWalletClient,
1664
+ [PROVIDER_ID.EXODUS]: ExodusClient,
1665
+ [PROVIDER_ID.WALLET_CONNECT]: WalletConnectClient,
3882
1666
  };
3883
1667
 
3884
1668
  const getWalletClient = async (id) => {
3885
1669
  if (!id) {
3886
1670
  throw new Error("No wallet provider id provided");
3887
1671
  }
3888
- const client = await clients[id];
1672
+ const client = await clients[id].init().catch((e) => {
1673
+ if (typeof window !== "undefined") {
1674
+ console.error("error initializing WalletConnectClient", e);
1675
+ return;
1676
+ }
1677
+ });
3889
1678
  if (!client) {
3890
1679
  throw new Error(`No wallet client found for provider id: ${id}`);
3891
1680
  }
3892
1681
  return client;
3893
- };
3894
- const formatPrice = (price, isAlgos, options) => {
3895
- const algos = isAlgos ? price : convertMicroalgosToAlgos(price);
3896
- return new Intl.NumberFormat(undefined, options).format(algos);
3897
- };
3898
- // Formula: amount / (10 ^ decimals)
3899
- const convertMicroalgosToAlgos = (amount) => {
3900
- const divisor = new Big(10).pow(6);
3901
- return new Big(amount).div(divisor).round(6).toNumber();
3902
1682
  };
3903
1683
 
3904
1684
  function useWallet() {
@@ -4105,5 +1885,5 @@ function useConnectWallet(options) {
4105
1885
  };
4106
1886
  }
4107
1887
 
4108
- export { KMD_HOST, KMD_PASSWORD, KMD_PORT, KMD_TOKEN, KMD_WALLET$1 as KMD_WALLET, NODE_NETWORK, NODE_PORT, NODE_SERVER, NODE_TOKEN, PROVIDER_ID, clients, convertMicroalgosToAlgos, formatPrice, getWalletClient, providers, useConnectWallet, useWallet };
1888
+ export { KMD_HOST, KMD_PASSWORD, KMD_PORT, KMD_TOKEN, KMD_WALLET$1 as KMD_WALLET, NODE_NETWORK, NODE_PORT, NODE_SERVER, NODE_TOKEN, PROVIDER_ID, clients, getWalletClient, providers, useConnectWallet, useWallet };
4109
1889
  //# sourceMappingURL=index.js.map