4952 lines
No EOL
566 KiB
HTML
4952 lines
No EOL
566 KiB
HTML
<!doctype html>
|
|
<html>
|
|
<head>
|
|
<!--
|
|
Donation Address: 1NiNja1bUmhSoTXozBRBEtR8LeF9TGbZBN
|
|
|
|
Notice of Copyrights and Licenses:
|
|
***********************************
|
|
The bitaddress.org project, software and embedded resources are copyright bitaddress.org.
|
|
The bitaddress.org name and logo are not part of the open source license.
|
|
|
|
Portions of the all-in-one HTML document contain JavaScript codes that are the copyrights of others.
|
|
The individual copyrights are included throughout the document along with their licenses.
|
|
Included JavaScript libraries are separated with HTML script tags.
|
|
|
|
Summary of JavaScript functions with a redistributable license:
|
|
JavaScript function License
|
|
******************* ***************
|
|
Array.prototype.map Public Domain
|
|
window.Crypto BSD License
|
|
window.SecureRandom BSD License
|
|
window.EllipticCurve BSD License
|
|
window.BigInteger BSD License
|
|
window.QRCode MIT License
|
|
window.Bitcoin MIT License
|
|
|
|
The bitaddress.org software is available under The MIT License (MIT)
|
|
Copyright (c) 2011-2012 bitaddress.org
|
|
|
|
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and
|
|
associated documentation files (the "Software"), to deal in the Software without restriction, including
|
|
without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
|
|
sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject
|
|
to the following conditions:
|
|
|
|
The above copyright notice and this permission notice shall be included in all copies or substantial
|
|
portions of the Software.
|
|
|
|
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT
|
|
LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
|
|
IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
|
|
WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
|
|
SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|
|
|
GitHub Repository: https://github.com/pointbiz/bitaddress.org
|
|
-->
|
|
|
|
<title>bitaddress.org</title>
|
|
<script type="text/javascript">
|
|
// Array.prototype.map function is in the public domain.
|
|
// Production steps of ECMA-262, Edition 5, 15.4.4.19
|
|
// Reference: http://es5.github.com/#x15.4.4.19
|
|
if (!Array.prototype.map) {
|
|
Array.prototype.map = function (callback, thisArg) {
|
|
var T, A, k;
|
|
if (this == null) {
|
|
throw new TypeError(" this is null or not defined");
|
|
}
|
|
// 1. Let O be the result of calling ToObject passing the |this| value as the argument.
|
|
var O = Object(this);
|
|
// 2. Let lenValue be the result of calling the Get internal method of O with the argument "length".
|
|
// 3. Let len be ToUint32(lenValue).
|
|
var len = O.length >>> 0;
|
|
// 4. If IsCallable(callback) is false, throw a TypeError exception.
|
|
// See: http://es5.github.com/#x9.11
|
|
if ({}.toString.call(callback) != "[object Function]") {
|
|
throw new TypeError(callback + " is not a function");
|
|
}
|
|
// 5. If thisArg was supplied, let T be thisArg; else let T be undefined.
|
|
if (thisArg) {
|
|
T = thisArg;
|
|
}
|
|
// 6. Let A be a new array created as if by the expression new Array(len) where Array is
|
|
// the standard built-in constructor with that name and len is the value of len.
|
|
A = new Array(len);
|
|
// 7. Let k be 0
|
|
k = 0;
|
|
// 8. Repeat, while k < len
|
|
while (k < len) {
|
|
var kValue, mappedValue;
|
|
// a. Let Pk be ToString(k).
|
|
// This is implicit for LHS operands of the in operator
|
|
// b. Let kPresent be the result of calling the HasProperty internal method of O with argument Pk.
|
|
// This step can be combined with c
|
|
// c. If kPresent is true, then
|
|
if (k in O) {
|
|
// i. Let kValue be the result of calling the Get internal method of O with argument Pk.
|
|
kValue = O[k];
|
|
// ii. Let mappedValue be the result of calling the Call internal method of callback
|
|
// with T as the this value and argument list containing kValue, k, and O.
|
|
mappedValue = callback.call(T, kValue, k, O);
|
|
// iii. Call the DefineOwnProperty internal method of A with arguments
|
|
// Pk, Property Descriptor {Value: mappedValue, Writable: true, Enumerable: true, Configurable: true},
|
|
// and false.
|
|
// In browsers that support Object.defineProperty, use the following:
|
|
// Object.defineProperty(A, Pk, { value: mappedValue, writable: true, enumerable: true, configurable: true });
|
|
// For best browser support, use the following:
|
|
A[k] = mappedValue;
|
|
}
|
|
// d. Increase k by 1.
|
|
k++;
|
|
}
|
|
// 9. return A
|
|
return A;
|
|
};
|
|
}
|
|
</script>
|
|
|
|
<script type="text/javascript">
|
|
/*!
|
|
* Crypto-JS v2.0.0
|
|
* http://code.google.com/p/crypto-js/
|
|
* Copyright (c) 2009, Jeff Mott. All rights reserved.
|
|
* http://code.google.com/p/crypto-js/wiki/License
|
|
*/
|
|
(function () {
|
|
|
|
var base64map = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
|
|
|
|
// Global Crypto object
|
|
var Crypto = window.Crypto = {};
|
|
|
|
// Crypto utilities
|
|
var util = Crypto.util = {
|
|
|
|
// Bit-wise rotate left
|
|
rotl: function (n, b) {
|
|
return (n << b) | (n >>> (32 - b));
|
|
},
|
|
|
|
// Bit-wise rotate right
|
|
rotr: function (n, b) {
|
|
return (n << (32 - b)) | (n >>> b);
|
|
},
|
|
|
|
// Swap big-endian to little-endian and vice versa
|
|
endian: function (n) {
|
|
|
|
// If number given, swap endian
|
|
if (n.constructor == Number) {
|
|
return util.rotl(n, 8) & 0x00FF00FF |
|
|
util.rotl(n, 24) & 0xFF00FF00;
|
|
}
|
|
|
|
// Else, assume array and swap all items
|
|
for (var i = 0; i < n.length; i++)
|
|
n[i] = util.endian(n[i]);
|
|
return n;
|
|
|
|
},
|
|
|
|
// Generate an array of any length of random bytes
|
|
randomBytes: function (n) {
|
|
for (var bytes = []; n > 0; n--)
|
|
bytes.push(Math.floor(Math.random() * 256));
|
|
return bytes;
|
|
},
|
|
|
|
// Convert a byte array to big-endian 32-bit words
|
|
bytesToWords: function (bytes) {
|
|
for (var words = [], i = 0, b = 0; i < bytes.length; i++, b += 8)
|
|
words[b >>> 5] |= bytes[i] << (24 - b % 32);
|
|
return words;
|
|
},
|
|
|
|
// Convert big-endian 32-bit words to a byte array
|
|
wordsToBytes: function (words) {
|
|
for (var bytes = [], b = 0; b < words.length * 32; b += 8)
|
|
bytes.push((words[b >>> 5] >>> (24 - b % 32)) & 0xFF);
|
|
return bytes;
|
|
},
|
|
|
|
// Convert a byte array to a hex string
|
|
bytesToHex: function (bytes) {
|
|
for (var hex = [], i = 0; i < bytes.length; i++) {
|
|
hex.push((bytes[i] >>> 4).toString(16));
|
|
hex.push((bytes[i] & 0xF).toString(16));
|
|
}
|
|
return hex.join("");
|
|
},
|
|
|
|
// Convert a hex string to a byte array
|
|
hexToBytes: function (hex) {
|
|
for (var bytes = [], c = 0; c < hex.length; c += 2)
|
|
bytes.push(parseInt(hex.substr(c, 2), 16));
|
|
return bytes;
|
|
},
|
|
|
|
// Convert a byte array to a base-64 string
|
|
bytesToBase64: function (bytes) {
|
|
|
|
// Use browser-native function if it exists
|
|
if (typeof btoa == "function") return btoa(Binary.bytesToString(bytes));
|
|
|
|
for (var base64 = [], i = 0; i < bytes.length; i += 3) {
|
|
var triplet = (bytes[i] << 16) | (bytes[i + 1] << 8) | bytes[i + 2];
|
|
for (var j = 0; j < 4; j++) {
|
|
if (i * 8 + j * 6 <= bytes.length * 8)
|
|
base64.push(base64map.charAt((triplet >>> 6 * (3 - j)) & 0x3F));
|
|
else base64.push("=");
|
|
}
|
|
}
|
|
|
|
return base64.join("");
|
|
|
|
},
|
|
|
|
// Convert a base-64 string to a byte array
|
|
base64ToBytes: function (base64) {
|
|
|
|
// Use browser-native function if it exists
|
|
if (typeof atob == "function") return Binary.stringToBytes(atob(base64));
|
|
|
|
// Remove non-base-64 characters
|
|
base64 = base64.replace(/[^A-Z0-9+\/]/ig, "");
|
|
|
|
for (var bytes = [], i = 0, imod4 = 0; i < base64.length; imod4 = ++i % 4) {
|
|
if (imod4 == 0) continue;
|
|
bytes.push(((base64map.indexOf(base64.charAt(i - 1)) & (Math.pow(2, -2 * imod4 + 8) - 1)) << (imod4 * 2)) |
|
|
(base64map.indexOf(base64.charAt(i)) >>> (6 - imod4 * 2)));
|
|
}
|
|
|
|
return bytes;
|
|
|
|
}
|
|
|
|
};
|
|
|
|
// Crypto mode namespace
|
|
Crypto.mode = {};
|
|
|
|
// Crypto character encodings
|
|
var charenc = Crypto.charenc = {};
|
|
|
|
// UTF-8 encoding
|
|
var UTF8 = charenc.UTF8 = {
|
|
|
|
// Convert a string to a byte array
|
|
stringToBytes: function (str) {
|
|
return Binary.stringToBytes(unescape(encodeURIComponent(str)));
|
|
},
|
|
|
|
// Convert a byte array to a string
|
|
bytesToString: function (bytes) {
|
|
return decodeURIComponent(escape(Binary.bytesToString(bytes)));
|
|
}
|
|
|
|
};
|
|
|
|
// Binary encoding
|
|
var Binary = charenc.Binary = {
|
|
|
|
// Convert a string to a byte array
|
|
stringToBytes: function (str) {
|
|
for (var bytes = [], i = 0; i < str.length; i++)
|
|
bytes.push(str.charCodeAt(i));
|
|
return bytes;
|
|
},
|
|
|
|
// Convert a byte array to a string
|
|
bytesToString: function (bytes) {
|
|
for (var str = [], i = 0; i < bytes.length; i++)
|
|
str.push(String.fromCharCode(bytes[i]));
|
|
return str.join("");
|
|
}
|
|
|
|
};
|
|
|
|
})();
|
|
|
|
|
|
|
|
/*!
|
|
* Crypto-JS v2.0.0
|
|
* http://code.google.com/p/crypto-js/
|
|
* Copyright (c) 2009, Jeff Mott. All rights reserved.
|
|
* http://code.google.com/p/crypto-js/wiki/License
|
|
*/
|
|
(function () {
|
|
|
|
// Shortcuts
|
|
var C = Crypto,
|
|
util = C.util,
|
|
charenc = C.charenc,
|
|
UTF8 = charenc.UTF8,
|
|
Binary = charenc.Binary;
|
|
|
|
// Constants
|
|
var K = [0x428A2F98, 0x71374491, 0xB5C0FBCF, 0xE9B5DBA5,
|
|
0x3956C25B, 0x59F111F1, 0x923F82A4, 0xAB1C5ED5,
|
|
0xD807AA98, 0x12835B01, 0x243185BE, 0x550C7DC3,
|
|
0x72BE5D74, 0x80DEB1FE, 0x9BDC06A7, 0xC19BF174,
|
|
0xE49B69C1, 0xEFBE4786, 0x0FC19DC6, 0x240CA1CC,
|
|
0x2DE92C6F, 0x4A7484AA, 0x5CB0A9DC, 0x76F988DA,
|
|
0x983E5152, 0xA831C66D, 0xB00327C8, 0xBF597FC7,
|
|
0xC6E00BF3, 0xD5A79147, 0x06CA6351, 0x14292967,
|
|
0x27B70A85, 0x2E1B2138, 0x4D2C6DFC, 0x53380D13,
|
|
0x650A7354, 0x766A0ABB, 0x81C2C92E, 0x92722C85,
|
|
0xA2BFE8A1, 0xA81A664B, 0xC24B8B70, 0xC76C51A3,
|
|
0xD192E819, 0xD6990624, 0xF40E3585, 0x106AA070,
|
|
0x19A4C116, 0x1E376C08, 0x2748774C, 0x34B0BCB5,
|
|
0x391C0CB3, 0x4ED8AA4A, 0x5B9CCA4F, 0x682E6FF3,
|
|
0x748F82EE, 0x78A5636F, 0x84C87814, 0x8CC70208,
|
|
0x90BEFFFA, 0xA4506CEB, 0xBEF9A3F7, 0xC67178F2];
|
|
|
|
// Public API
|
|
var SHA256 = C.SHA256 = function (message, options) {
|
|
var digestbytes = util.wordsToBytes(SHA256._sha256(message));
|
|
return options && options.asBytes ? digestbytes :
|
|
options && options.asString ? Binary.bytesToString(digestbytes) :
|
|
util.bytesToHex(digestbytes);
|
|
};
|
|
|
|
// The core
|
|
SHA256._sha256 = function (message) {
|
|
|
|
// Convert to byte array
|
|
if (message.constructor == String) message = UTF8.stringToBytes(message);
|
|
/* else, assume byte array already */
|
|
|
|
var m = util.bytesToWords(message),
|
|
l = message.length * 8,
|
|
H = [0x6A09E667, 0xBB67AE85, 0x3C6EF372, 0xA54FF53A,
|
|
0x510E527F, 0x9B05688C, 0x1F83D9AB, 0x5BE0CD19],
|
|
w = [],
|
|
a, b, c, d, e, f, g, h, i, j,
|
|
t1, t2;
|
|
|
|
// Padding
|
|
m[l >> 5] |= 0x80 << (24 - l % 32);
|
|
m[((l + 64 >> 9) << 4) + 15] = l;
|
|
|
|
for (var i = 0; i < m.length; i += 16) {
|
|
|
|
a = H[0];
|
|
b = H[1];
|
|
c = H[2];
|
|
d = H[3];
|
|
e = H[4];
|
|
f = H[5];
|
|
g = H[6];
|
|
h = H[7];
|
|
|
|
for (var j = 0; j < 64; j++) {
|
|
|
|
if (j < 16) w[j] = m[j + i];
|
|
else {
|
|
|
|
var gamma0x = w[j - 15],
|
|
gamma1x = w[j - 2],
|
|
gamma0 = ((gamma0x << 25) | (gamma0x >>> 7)) ^
|
|
((gamma0x << 14) | (gamma0x >>> 18)) ^
|
|
(gamma0x >>> 3),
|
|
gamma1 = ((gamma1x << 15) | (gamma1x >>> 17)) ^
|
|
((gamma1x << 13) | (gamma1x >>> 19)) ^
|
|
(gamma1x >>> 10);
|
|
|
|
w[j] = gamma0 + (w[j - 7] >>> 0) +
|
|
gamma1 + (w[j - 16] >>> 0);
|
|
|
|
}
|
|
|
|
var ch = e & f ^ ~e & g,
|
|
maj = a & b ^ a & c ^ b & c,
|
|
sigma0 = ((a << 30) | (a >>> 2)) ^
|
|
((a << 19) | (a >>> 13)) ^
|
|
((a << 10) | (a >>> 22)),
|
|
sigma1 = ((e << 26) | (e >>> 6)) ^
|
|
((e << 21) | (e >>> 11)) ^
|
|
((e << 7) | (e >>> 25));
|
|
|
|
|
|
t1 = (h >>> 0) + sigma1 + ch + (K[j]) + (w[j] >>> 0);
|
|
t2 = sigma0 + maj;
|
|
|
|
h = g;
|
|
g = f;
|
|
f = e;
|
|
e = d + t1;
|
|
d = c;
|
|
c = b;
|
|
b = a;
|
|
a = t1 + t2;
|
|
|
|
}
|
|
|
|
H[0] += a;
|
|
H[1] += b;
|
|
H[2] += c;
|
|
H[3] += d;
|
|
H[4] += e;
|
|
H[5] += f;
|
|
H[6] += g;
|
|
H[7] += h;
|
|
|
|
}
|
|
|
|
return H;
|
|
|
|
};
|
|
|
|
// Package private blocksize
|
|
SHA256._blocksize = 16;
|
|
|
|
})();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/*!
|
|
* Crypto-JS v2.0.0
|
|
* http://code.google.com/p/crypto-js/
|
|
* Copyright (c) 2009, Jeff Mott. All rights reserved.
|
|
* http://code.google.com/p/crypto-js/wiki/License
|
|
*
|
|
* A JavaScript implementation of the RIPEMD-160 Algorithm
|
|
* Version 2.2 Copyright Jeremy Lin, Paul Johnston 2000 - 2009.
|
|
* Other contributors: Greg Holt, Andrew Kepert, Ydnar, Lostinet
|
|
* Distributed under the BSD License
|
|
* See http://pajhome.org.uk/crypt/md5 for details.
|
|
* Also http://www.ocf.berkeley.edu/~jjlin/jsotp/
|
|
* Ported to Crypto-JS by Stefan Thomas.
|
|
*/
|
|
|
|
(function () {
|
|
// Shortcuts
|
|
var C = Crypto,
|
|
util = C.util,
|
|
charenc = C.charenc,
|
|
UTF8 = charenc.UTF8,
|
|
Binary = charenc.Binary;
|
|
|
|
// Convert a byte array to little-endian 32-bit words
|
|
util.bytesToLWords = function (bytes) {
|
|
|
|
var output = Array(bytes.length >> 2);
|
|
for (var i = 0; i < output.length; i++)
|
|
output[i] = 0;
|
|
for (var i = 0; i < bytes.length * 8; i += 8)
|
|
output[i >> 5] |= (bytes[i / 8] & 0xFF) << (i % 32);
|
|
return output;
|
|
};
|
|
|
|
// Convert little-endian 32-bit words to a byte array
|
|
util.lWordsToBytes = function (words) {
|
|
var output = [];
|
|
for (var i = 0; i < words.length * 32; i += 8)
|
|
output.push((words[i >> 5] >>> (i % 32)) & 0xff);
|
|
return output;
|
|
};
|
|
|
|
// Public API
|
|
var RIPEMD160 = C.RIPEMD160 = function (message, options) {
|
|
var digestbytes = util.lWordsToBytes(RIPEMD160._rmd160(message));
|
|
return options && options.asBytes ? digestbytes :
|
|
options && options.asString ? Binary.bytesToString(digestbytes) :
|
|
util.bytesToHex(digestbytes);
|
|
};
|
|
|
|
// The core
|
|
RIPEMD160._rmd160 = function (message) {
|
|
// Convert to byte array
|
|
if (message.constructor == String) message = UTF8.stringToBytes(message);
|
|
|
|
var x = util.bytesToLWords(message),
|
|
len = message.length * 8;
|
|
|
|
/* append padding */
|
|
x[len >> 5] |= 0x80 << (len % 32);
|
|
x[(((len + 64) >>> 9) << 4) + 14] = len;
|
|
|
|
var h0 = 0x67452301;
|
|
var h1 = 0xefcdab89;
|
|
var h2 = 0x98badcfe;
|
|
var h3 = 0x10325476;
|
|
var h4 = 0xc3d2e1f0;
|
|
|
|
for (var i = 0; i < x.length; i += 16) {
|
|
var T;
|
|
var A1 = h0, B1 = h1, C1 = h2, D1 = h3, E1 = h4;
|
|
var A2 = h0, B2 = h1, C2 = h2, D2 = h3, E2 = h4;
|
|
for (var j = 0; j <= 79; ++j) {
|
|
T = safe_add(A1, rmd160_f(j, B1, C1, D1));
|
|
T = safe_add(T, x[i + rmd160_r1[j]]);
|
|
T = safe_add(T, rmd160_K1(j));
|
|
T = safe_add(bit_rol(T, rmd160_s1[j]), E1);
|
|
A1 = E1; E1 = D1; D1 = bit_rol(C1, 10); C1 = B1; B1 = T;
|
|
T = safe_add(A2, rmd160_f(79 - j, B2, C2, D2));
|
|
T = safe_add(T, x[i + rmd160_r2[j]]);
|
|
T = safe_add(T, rmd160_K2(j));
|
|
T = safe_add(bit_rol(T, rmd160_s2[j]), E2);
|
|
A2 = E2; E2 = D2; D2 = bit_rol(C2, 10); C2 = B2; B2 = T;
|
|
}
|
|
T = safe_add(h1, safe_add(C1, D2));
|
|
h1 = safe_add(h2, safe_add(D1, E2));
|
|
h2 = safe_add(h3, safe_add(E1, A2));
|
|
h3 = safe_add(h4, safe_add(A1, B2));
|
|
h4 = safe_add(h0, safe_add(B1, C2));
|
|
h0 = T;
|
|
}
|
|
return [h0, h1, h2, h3, h4];
|
|
}
|
|
|
|
function rmd160_f(j, x, y, z) {
|
|
return (0 <= j && j <= 15) ? (x ^ y ^ z) :
|
|
(16 <= j && j <= 31) ? (x & y) | (~x & z) :
|
|
(32 <= j && j <= 47) ? (x | ~y) ^ z :
|
|
(48 <= j && j <= 63) ? (x & z) | (y & ~z) :
|
|
(64 <= j && j <= 79) ? x ^ (y | ~z) :
|
|
"rmd160_f: j out of range";
|
|
}
|
|
function rmd160_K1(j) {
|
|
return (0 <= j && j <= 15) ? 0x00000000 :
|
|
(16 <= j && j <= 31) ? 0x5a827999 :
|
|
(32 <= j && j <= 47) ? 0x6ed9eba1 :
|
|
(48 <= j && j <= 63) ? 0x8f1bbcdc :
|
|
(64 <= j && j <= 79) ? 0xa953fd4e :
|
|
"rmd160_K1: j out of range";
|
|
}
|
|
function rmd160_K2(j) {
|
|
return (0 <= j && j <= 15) ? 0x50a28be6 :
|
|
(16 <= j && j <= 31) ? 0x5c4dd124 :
|
|
(32 <= j && j <= 47) ? 0x6d703ef3 :
|
|
(48 <= j && j <= 63) ? 0x7a6d76e9 :
|
|
(64 <= j && j <= 79) ? 0x00000000 :
|
|
"rmd160_K2: j out of range";
|
|
}
|
|
var rmd160_r1 = [
|
|
0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
|
|
7, 4, 13, 1, 10, 6, 15, 3, 12, 0, 9, 5, 2, 14, 11, 8,
|
|
3, 10, 14, 4, 9, 15, 8, 1, 2, 7, 0, 6, 13, 11, 5, 12,
|
|
1, 9, 11, 10, 0, 8, 12, 4, 13, 3, 7, 15, 14, 5, 6, 2,
|
|
4, 0, 5, 9, 7, 12, 2, 10, 14, 1, 3, 8, 11, 6, 15, 13
|
|
];
|
|
var rmd160_r2 = [
|
|
5, 14, 7, 0, 9, 2, 11, 4, 13, 6, 15, 8, 1, 10, 3, 12,
|
|
6, 11, 3, 7, 0, 13, 5, 10, 14, 15, 8, 12, 4, 9, 1, 2,
|
|
15, 5, 1, 3, 7, 14, 6, 9, 11, 8, 12, 2, 10, 0, 4, 13,
|
|
8, 6, 4, 1, 3, 11, 15, 0, 5, 12, 2, 13, 9, 7, 10, 14,
|
|
12, 15, 10, 4, 1, 5, 8, 7, 6, 2, 13, 14, 0, 3, 9, 11
|
|
];
|
|
var rmd160_s1 = [
|
|
11, 14, 15, 12, 5, 8, 7, 9, 11, 13, 14, 15, 6, 7, 9, 8,
|
|
7, 6, 8, 13, 11, 9, 7, 15, 7, 12, 15, 9, 11, 7, 13, 12,
|
|
11, 13, 6, 7, 14, 9, 13, 15, 14, 8, 13, 6, 5, 12, 7, 5,
|
|
11, 12, 14, 15, 14, 15, 9, 8, 9, 14, 5, 6, 8, 6, 5, 12,
|
|
9, 15, 5, 11, 6, 8, 13, 12, 5, 12, 13, 14, 11, 8, 5, 6
|
|
];
|
|
var rmd160_s2 = [
|
|
8, 9, 9, 11, 13, 15, 15, 5, 7, 7, 8, 11, 14, 14, 12, 6,
|
|
9, 13, 15, 7, 12, 8, 9, 11, 7, 7, 12, 7, 6, 15, 13, 11,
|
|
9, 7, 15, 11, 8, 6, 6, 14, 12, 13, 5, 14, 13, 13, 7, 5,
|
|
15, 5, 8, 11, 14, 14, 6, 14, 6, 9, 12, 9, 12, 5, 15, 8,
|
|
8, 5, 12, 9, 12, 5, 14, 6, 8, 13, 6, 5, 15, 13, 11, 11
|
|
];
|
|
|
|
/*
|
|
* Add integers, wrapping at 2^32. This uses 16-bit operations internally
|
|
* to work around bugs in some JS interpreters.
|
|
*/
|
|
function safe_add(x, y) {
|
|
var lsw = (x & 0xFFFF) + (y & 0xFFFF);
|
|
var msw = (x >> 16) + (y >> 16) + (lsw >> 16);
|
|
return (msw << 16) | (lsw & 0xFFFF);
|
|
}
|
|
|
|
/*
|
|
* Bitwise rotate a 32-bit number to the left.
|
|
*/
|
|
function bit_rol(num, cnt) {
|
|
return (num << cnt) | (num >>> (32 - cnt));
|
|
}
|
|
})();
|
|
</script>
|
|
|
|
<script type="text/javascript">
|
|
/*!
|
|
* Random number generator with ArcFour PRNG
|
|
*
|
|
* NOTE: For best results, put code like
|
|
* <body onclick='SecureRandom.seedTime();' onkeypress='SecureRandom.seedTime();'>
|
|
* in your main HTML document.
|
|
*
|
|
* Copyright Tom Wu, bitaddress.org BSD License.
|
|
* http://www-cs-students.stanford.edu/~tjw/jsbn/LICENSE
|
|
*/
|
|
(function () {
|
|
|
|
// Constructor function of Global SecureRandom object
|
|
var sr = window.SecureRandom = function () { };
|
|
|
|
// Properties
|
|
sr.state;
|
|
sr.pool;
|
|
sr.pptr;
|
|
|
|
// Pool size must be a multiple of 4 and greater than 32.
|
|
// An array of bytes the size of the pool will be passed to init()
|
|
sr.poolSize = 256;
|
|
|
|
|
|
// --- object methods ---
|
|
|
|
// public method
|
|
// ba: byte array
|
|
sr.prototype.nextBytes = function (ba) {
|
|
var i;
|
|
for (i = 0; i < ba.length; ++i) ba[i] = sr.getByte();
|
|
};
|
|
|
|
|
|
// --- static methods ---
|
|
|
|
// Mix in the current time (w/milliseconds) into the pool
|
|
// NOTE: this method should be called from body click/keypress event handlers to increase entropy
|
|
sr.seedTime = function () {
|
|
sr.seedInt(new Date().getTime());
|
|
}
|
|
|
|
sr.getByte = function () {
|
|
if (sr.state == null) {
|
|
sr.seedTime();
|
|
sr.state = sr.ArcFour(); // Plug in your RNG constructor here
|
|
sr.state.init(sr.pool);
|
|
for (sr.pptr = 0; sr.pptr < sr.pool.length; ++sr.pptr)
|
|
sr.pool[sr.pptr] = 0;
|
|
sr.pptr = 0;
|
|
}
|
|
// TODO: allow reseeding after first request
|
|
return sr.state.next();
|
|
}
|
|
|
|
// Mix in a 32-bit integer into the pool
|
|
sr.seedInt = function (x) {
|
|
sr.pool[sr.pptr++] ^= x & 255;
|
|
sr.pool[sr.pptr++] ^= (x >> 8) & 255;
|
|
sr.pool[sr.pptr++] ^= (x >> 16) & 255;
|
|
sr.pool[sr.pptr++] ^= (x >> 24) & 255;
|
|
if (sr.pptr >= sr.poolSize) sr.pptr -= sr.poolSize;
|
|
}
|
|
|
|
|
|
// Arcfour is a PRNG
|
|
sr.ArcFour = function () {
|
|
function Arcfour() {
|
|
this.i = 0;
|
|
this.j = 0;
|
|
this.S = new Array();
|
|
}
|
|
|
|
// Initialize arcfour context from key, an array of ints, each from [0..255]
|
|
function ARC4init(key) {
|
|
var i, j, t;
|
|
for (i = 0; i < 256; ++i)
|
|
this.S[i] = i;
|
|
j = 0;
|
|
for (i = 0; i < 256; ++i) {
|
|
j = (j + this.S[i] + key[i % key.length]) & 255;
|
|
t = this.S[i];
|
|
this.S[i] = this.S[j];
|
|
this.S[j] = t;
|
|
}
|
|
this.i = 0;
|
|
this.j = 0;
|
|
}
|
|
|
|
function ARC4next() {
|
|
var t;
|
|
this.i = (this.i + 1) & 255;
|
|
this.j = (this.j + this.S[this.i]) & 255;
|
|
t = this.S[this.i];
|
|
this.S[this.i] = this.S[this.j];
|
|
this.S[this.j] = t;
|
|
return this.S[(t + this.S[this.i]) & 255];
|
|
}
|
|
|
|
Arcfour.prototype.init = ARC4init;
|
|
Arcfour.prototype.next = ARC4next;
|
|
|
|
return new Arcfour();
|
|
};
|
|
|
|
|
|
// Initialize the pool with junk if needed.
|
|
if (sr.pool == null) {
|
|
sr.pool = new Array();
|
|
sr.pptr = 0;
|
|
var t;
|
|
if (navigator.appName == "Netscape" && navigator.appVersion < "5" && window.crypto) {
|
|
// Extract entropy (256 bits) from NS4 RNG if available
|
|
var z = window.crypto.random(32);
|
|
for (t = 0; t < z.length; ++t)
|
|
sr.pool[sr.pptr++] = z.charCodeAt(t) & 255;
|
|
}
|
|
while (sr.pptr < sr.poolSize) { // extract some randomness from Math.random()
|
|
t = Math.floor(65536 * Math.random());
|
|
sr.pool[sr.pptr++] = t >>> 8;
|
|
sr.pool[sr.pptr++] = t & 255;
|
|
}
|
|
sr.pptr = 0;
|
|
sr.seedTime();
|
|
// entropy
|
|
sr.seedInt(window.screenX);
|
|
sr.seedInt(window.screenY);
|
|
}
|
|
})();
|
|
</script>
|
|
|
|
<script type="text/javascript">
|
|
/*!
|
|
* Basic Javascript Elliptic Curve implementation
|
|
* Ported loosely from BouncyCastle's Java EC code
|
|
* Only Fp curves implemented for now
|
|
*
|
|
* Copyright Tom Wu, bitaddress.org BSD License.
|
|
* http://www-cs-students.stanford.edu/~tjw/jsbn/LICENSE
|
|
*/
|
|
(function () {
|
|
|
|
// Constructor function of Global EllipticCurve object
|
|
var ec = window.EllipticCurve = function () { };
|
|
|
|
|
|
// ----------------
|
|
// ECFieldElementFp constructor
|
|
ec.FieldElementFp = function (q, x) {
|
|
this.x = x;
|
|
// TODO if(x.compareTo(q) >= 0) error
|
|
this.q = q;
|
|
}
|
|
|
|
ec.FieldElementFp.prototype.equals = function (other) {
|
|
if (other == this) return true;
|
|
return (this.q.equals(other.q) && this.x.equals(other.x));
|
|
};
|
|
|
|
ec.FieldElementFp.prototype.toBigInteger = function () {
|
|
return this.x;
|
|
};
|
|
|
|
ec.FieldElementFp.prototype.negate = function () {
|
|
return new ec.FieldElementFp(this.q, this.x.negate().mod(this.q));
|
|
};
|
|
|
|
ec.FieldElementFp.prototype.add = function (b) {
|
|
return new ec.FieldElementFp(this.q, this.x.add(b.toBigInteger()).mod(this.q));
|
|
};
|
|
|
|
ec.FieldElementFp.prototype.subtract = function (b) {
|
|
return new ec.FieldElementFp(this.q, this.x.subtract(b.toBigInteger()).mod(this.q));
|
|
};
|
|
|
|
ec.FieldElementFp.prototype.multiply = function (b) {
|
|
return new ec.FieldElementFp(this.q, this.x.multiply(b.toBigInteger()).mod(this.q));
|
|
};
|
|
|
|
ec.FieldElementFp.prototype.square = function () {
|
|
return new ec.FieldElementFp(this.q, this.x.square().mod(this.q));
|
|
};
|
|
|
|
ec.FieldElementFp.prototype.divide = function (b) {
|
|
return new ec.FieldElementFp(this.q, this.x.multiply(b.toBigInteger().modInverse(this.q)).mod(this.q));
|
|
};
|
|
|
|
ec.FieldElementFp.prototype.getByteLength = function () {
|
|
return Math.floor((this.toBigInteger().bitLength() + 7) / 8);
|
|
};
|
|
|
|
// ----------------
|
|
// ECPointFp constructor
|
|
ec.PointFp = function (curve, x, y, z) {
|
|
this.curve = curve;
|
|
this.x = x;
|
|
this.y = y;
|
|
// Projective coordinates: either zinv == null or z * zinv == 1
|
|
// z and zinv are just BigIntegers, not fieldElements
|
|
if (z == null) {
|
|
this.z = BigInteger.ONE;
|
|
}
|
|
else {
|
|
this.z = z;
|
|
}
|
|
this.zinv = null;
|
|
//TODO: compression flag
|
|
};
|
|
|
|
ec.PointFp.prototype.getX = function () {
|
|
if (this.zinv == null) {
|
|
this.zinv = this.z.modInverse(this.curve.q);
|
|
}
|
|
return this.curve.fromBigInteger(this.x.toBigInteger().multiply(this.zinv).mod(this.curve.q));
|
|
};
|
|
|
|
ec.PointFp.prototype.getY = function () {
|
|
if (this.zinv == null) {
|
|
this.zinv = this.z.modInverse(this.curve.q);
|
|
}
|
|
return this.curve.fromBigInteger(this.y.toBigInteger().multiply(this.zinv).mod(this.curve.q));
|
|
};
|
|
|
|
ec.PointFp.prototype.equals = function (other) {
|
|
if (other == this) return true;
|
|
if (this.isInfinity()) return other.isInfinity();
|
|
if (other.isInfinity()) return this.isInfinity();
|
|
var u, v;
|
|
// u = Y2 * Z1 - Y1 * Z2
|
|
u = other.y.toBigInteger().multiply(this.z).subtract(this.y.toBigInteger().multiply(other.z)).mod(this.curve.q);
|
|
if (!u.equals(BigInteger.ZERO)) return false;
|
|
// v = X2 * Z1 - X1 * Z2
|
|
v = other.x.toBigInteger().multiply(this.z).subtract(this.x.toBigInteger().multiply(other.z)).mod(this.curve.q);
|
|
return v.equals(BigInteger.ZERO);
|
|
};
|
|
|
|
ec.PointFp.prototype.isInfinity = function () {
|
|
if ((this.x == null) && (this.y == null)) return true;
|
|
return this.z.equals(BigInteger.ZERO) && !this.y.toBigInteger().equals(BigInteger.ZERO);
|
|
};
|
|
|
|
ec.PointFp.prototype.negate = function () {
|
|
return new ec.PointFp(this.curve, this.x, this.y.negate(), this.z);
|
|
};
|
|
|
|
ec.PointFp.prototype.add = function (b) {
|
|
if (this.isInfinity()) return b;
|
|
if (b.isInfinity()) return this;
|
|
|
|
// u = Y2 * Z1 - Y1 * Z2
|
|
var u = b.y.toBigInteger().multiply(this.z).subtract(this.y.toBigInteger().multiply(b.z)).mod(this.curve.q);
|
|
// v = X2 * Z1 - X1 * Z2
|
|
var v = b.x.toBigInteger().multiply(this.z).subtract(this.x.toBigInteger().multiply(b.z)).mod(this.curve.q);
|
|
|
|
|
|
if (BigInteger.ZERO.equals(v)) {
|
|
if (BigInteger.ZERO.equals(u)) {
|
|
return this.twice(); // this == b, so double
|
|
}
|
|
return this.curve.getInfinity(); // this = -b, so infinity
|
|
}
|
|
|
|
var THREE = new BigInteger("3");
|
|
var x1 = this.x.toBigInteger();
|
|
var y1 = this.y.toBigInteger();
|
|
var x2 = b.x.toBigInteger();
|
|
var y2 = b.y.toBigInteger();
|
|
|
|
var v2 = v.square();
|
|
var v3 = v2.multiply(v);
|
|
var x1v2 = x1.multiply(v2);
|
|
var zu2 = u.square().multiply(this.z);
|
|
|
|
// x3 = v * (z2 * (z1 * u^2 - 2 * x1 * v^2) - v^3)
|
|
var x3 = zu2.subtract(x1v2.shiftLeft(1)).multiply(b.z).subtract(v3).multiply(v).mod(this.curve.q);
|
|
// y3 = z2 * (3 * x1 * u * v^2 - y1 * v^3 - z1 * u^3) + u * v^3
|
|
var y3 = x1v2.multiply(THREE).multiply(u).subtract(y1.multiply(v3)).subtract(zu2.multiply(u)).multiply(b.z).add(u.multiply(v3)).mod(this.curve.q);
|
|
// z3 = v^3 * z1 * z2
|
|
var z3 = v3.multiply(this.z).multiply(b.z).mod(this.curve.q);
|
|
|
|
return new ec.PointFp(this.curve, this.curve.fromBigInteger(x3), this.curve.fromBigInteger(y3), z3);
|
|
};
|
|
|
|
ec.PointFp.prototype.twice = function () {
|
|
if (this.isInfinity()) return this;
|
|
if (this.y.toBigInteger().signum() == 0) return this.curve.getInfinity();
|
|
|
|
// TODO: optimized handling of constants
|
|
var THREE = new BigInteger("3");
|
|
var x1 = this.x.toBigInteger();
|
|
var y1 = this.y.toBigInteger();
|
|
|
|
var y1z1 = y1.multiply(this.z);
|
|
var y1sqz1 = y1z1.multiply(y1).mod(this.curve.q);
|
|
var a = this.curve.a.toBigInteger();
|
|
|
|
// w = 3 * x1^2 + a * z1^2
|
|
var w = x1.square().multiply(THREE);
|
|
if (!BigInteger.ZERO.equals(a)) {
|
|
w = w.add(this.z.square().multiply(a));
|
|
}
|
|
w = w.mod(this.curve.q);
|
|
// x3 = 2 * y1 * z1 * (w^2 - 8 * x1 * y1^2 * z1)
|
|
var x3 = w.square().subtract(x1.shiftLeft(3).multiply(y1sqz1)).shiftLeft(1).multiply(y1z1).mod(this.curve.q);
|
|
// y3 = 4 * y1^2 * z1 * (3 * w * x1 - 2 * y1^2 * z1) - w^3
|
|
var y3 = w.multiply(THREE).multiply(x1).subtract(y1sqz1.shiftLeft(1)).shiftLeft(2).multiply(y1sqz1).subtract(w.square().multiply(w)).mod(this.curve.q);
|
|
// z3 = 8 * (y1 * z1)^3
|
|
var z3 = y1z1.square().multiply(y1z1).shiftLeft(3).mod(this.curve.q);
|
|
|
|
return new ec.PointFp(this.curve, this.curve.fromBigInteger(x3), this.curve.fromBigInteger(y3), z3);
|
|
};
|
|
|
|
// Simple NAF (Non-Adjacent Form) multiplication algorithm
|
|
// TODO: modularize the multiplication algorithm
|
|
ec.PointFp.prototype.multiply = function (k) {
|
|
if (this.isInfinity()) return this;
|
|
if (k.signum() == 0) return this.curve.getInfinity();
|
|
|
|
var e = k;
|
|
var h = e.multiply(new BigInteger("3"));
|
|
|
|
var neg = this.negate();
|
|
var R = this;
|
|
|
|
var i;
|
|
for (i = h.bitLength() - 2; i > 0; --i) {
|
|
R = R.twice();
|
|
|
|
var hBit = h.testBit(i);
|
|
var eBit = e.testBit(i);
|
|
|
|
if (hBit != eBit) {
|
|
R = R.add(hBit ? this : neg);
|
|
}
|
|
}
|
|
|
|
return R;
|
|
};
|
|
|
|
// Compute this*j + x*k (simultaneous multiplication)
|
|
ec.PointFp.prototype.multiplyTwo = function (j, x, k) {
|
|
var i;
|
|
if (j.bitLength() > k.bitLength())
|
|
i = j.bitLength() - 1;
|
|
else
|
|
i = k.bitLength() - 1;
|
|
|
|
var R = this.curve.getInfinity();
|
|
var both = this.add(x);
|
|
while (i >= 0) {
|
|
R = R.twice();
|
|
if (j.testBit(i)) {
|
|
if (k.testBit(i)) {
|
|
R = R.add(both);
|
|
}
|
|
else {
|
|
R = R.add(this);
|
|
}
|
|
}
|
|
else {
|
|
if (k.testBit(i)) {
|
|
R = R.add(x);
|
|
}
|
|
}
|
|
--i;
|
|
}
|
|
|
|
return R;
|
|
};
|
|
|
|
// patched by bitaddress.org and Casascius for use with Bitcoin.ECKey
|
|
// patched by coretechs to support compressed public keys
|
|
ec.PointFp.prototype.getEncoded = function (compressed) {
|
|
var x = this.getX().toBigInteger();
|
|
var y = this.getY().toBigInteger();
|
|
var len = 32; // integerToBytes will zero pad if integer is less than 32 bytes. 32 bytes length is required by the Bitcoin protocol.
|
|
var enc = ec.integerToBytes(x, len);
|
|
|
|
// when compressed prepend byte depending if y point is even or odd
|
|
if (compressed) {
|
|
if (y.isEven()) {
|
|
enc.unshift(0x02);
|
|
}
|
|
else {
|
|
enc.unshift(0x03);
|
|
}
|
|
}
|
|
else {
|
|
enc.unshift(0x04);
|
|
enc = enc.concat(ec.integerToBytes(y, len)); // uncompressed public key appends the bytes of the y point
|
|
}
|
|
return enc;
|
|
};
|
|
|
|
ec.PointFp.decodeFrom = function (curve, enc) {
|
|
var type = enc[0];
|
|
var dataLen = enc.length - 1;
|
|
|
|
// Extract x and y as byte arrays
|
|
var xBa = enc.slice(1, 1 + dataLen / 2);
|
|
var yBa = enc.slice(1 + dataLen / 2, 1 + dataLen);
|
|
|
|
// Prepend zero byte to prevent interpretation as negative integer
|
|
xBa.unshift(0);
|
|
yBa.unshift(0);
|
|
|
|
// Convert to BigIntegers
|
|
var x = new BigInteger(xBa);
|
|
var y = new BigInteger(yBa);
|
|
|
|
// Return point
|
|
return new ec.PointFp(curve, curve.fromBigInteger(x), curve.fromBigInteger(y));
|
|
};
|
|
|
|
ec.PointFp.prototype.add2D = function (b) {
|
|
if (this.isInfinity()) return b;
|
|
if (b.isInfinity()) return this;
|
|
|
|
if (this.x.equals(b.x)) {
|
|
if (this.y.equals(b.y)) {
|
|
// this = b, i.e. this must be doubled
|
|
return this.twice();
|
|
}
|
|
// this = -b, i.e. the result is the point at infinity
|
|
return this.curve.getInfinity();
|
|
}
|
|
|
|
var x_x = b.x.subtract(this.x);
|
|
var y_y = b.y.subtract(this.y);
|
|
var gamma = y_y.divide(x_x);
|
|
|
|
var x3 = gamma.square().subtract(this.x).subtract(b.x);
|
|
var y3 = gamma.multiply(this.x.subtract(x3)).subtract(this.y);
|
|
|
|
return new ec.PointFp(this.curve, x3, y3);
|
|
};
|
|
|
|
ec.PointFp.prototype.twice2D = function () {
|
|
if (this.isInfinity()) return this;
|
|
if (this.y.toBigInteger().signum() == 0) {
|
|
// if y1 == 0, then (x1, y1) == (x1, -y1)
|
|
// and hence this = -this and thus 2(x1, y1) == infinity
|
|
return this.curve.getInfinity();
|
|
}
|
|
|
|
var TWO = this.curve.fromBigInteger(BigInteger.valueOf(2));
|
|
var THREE = this.curve.fromBigInteger(BigInteger.valueOf(3));
|
|
var gamma = this.x.square().multiply(THREE).add(this.curve.a).divide(this.y.multiply(TWO));
|
|
|
|
var x3 = gamma.square().subtract(this.x.multiply(TWO));
|
|
var y3 = gamma.multiply(this.x.subtract(x3)).subtract(this.y);
|
|
|
|
return new ec.PointFp(this.curve, x3, y3);
|
|
};
|
|
|
|
ec.PointFp.prototype.multiply2D = function (k) {
|
|
if (this.isInfinity()) return this;
|
|
if (k.signum() == 0) return this.curve.getInfinity();
|
|
|
|
var e = k;
|
|
var h = e.multiply(new BigInteger("3"));
|
|
|
|
var neg = this.negate();
|
|
var R = this;
|
|
|
|
var i;
|
|
for (i = h.bitLength() - 2; i > 0; --i) {
|
|
R = R.twice();
|
|
|
|
var hBit = h.testBit(i);
|
|
var eBit = e.testBit(i);
|
|
|
|
if (hBit != eBit) {
|
|
R = R.add2D(hBit ? this : neg);
|
|
}
|
|
}
|
|
|
|
return R;
|
|
};
|
|
|
|
ec.PointFp.prototype.isOnCurve = function () {
|
|
var x = this.getX().toBigInteger();
|
|
var y = this.getY().toBigInteger();
|
|
var a = this.curve.getA().toBigInteger();
|
|
var b = this.curve.getB().toBigInteger();
|
|
var n = this.curve.getQ();
|
|
var lhs = y.multiply(y).mod(n);
|
|
var rhs = x.multiply(x).multiply(x).add(a.multiply(x)).add(b).mod(n);
|
|
return lhs.equals(rhs);
|
|
};
|
|
|
|
ec.PointFp.prototype.validate = function () {
|
|
var n = this.curve.getQ();
|
|
|
|
// Check Q != O
|
|
if (this.isInfinity()) {
|
|
throw new Error("Point is at infinity.");
|
|
}
|
|
|
|
// Check coordinate bounds
|
|
var x = this.getX().toBigInteger();
|
|
var y = this.getY().toBigInteger();
|
|
if (x.compareTo(BigInteger.ONE) < 0 || x.compareTo(n.subtract(BigInteger.ONE)) > 0) {
|
|
throw new Error('x coordinate out of bounds');
|
|
}
|
|
if (y.compareTo(BigInteger.ONE) < 0 || y.compareTo(n.subtract(BigInteger.ONE)) > 0) {
|
|
throw new Error('y coordinate out of bounds');
|
|
}
|
|
|
|
// Check y^2 = x^3 + ax + b (mod n)
|
|
if (!this.isOnCurve()) {
|
|
throw new Error("Point is not on the curve.");
|
|
}
|
|
|
|
// Check nQ = 0 (Q is a scalar multiple of G)
|
|
if (this.multiply(n).isInfinity()) {
|
|
// TODO: This check doesn't work - fix.
|
|
throw new Error("Point is not a scalar multiple of G.");
|
|
}
|
|
|
|
return true;
|
|
};
|
|
|
|
|
|
|
|
|
|
// ----------------
|
|
// ECCurveFp constructor
|
|
ec.CurveFp = function (q, a, b) {
|
|
this.q = q;
|
|
this.a = this.fromBigInteger(a);
|
|
this.b = this.fromBigInteger(b);
|
|
this.infinity = new ec.PointFp(this, null, null);
|
|
}
|
|
|
|
ec.CurveFp.prototype.getQ = function () {
|
|
return this.q;
|
|
};
|
|
|
|
ec.CurveFp.prototype.getA = function () {
|
|
return this.a;
|
|
};
|
|
|
|
ec.CurveFp.prototype.getB = function () {
|
|
return this.b;
|
|
};
|
|
|
|
ec.CurveFp.prototype.equals = function (other) {
|
|
if (other == this) return true;
|
|
return (this.q.equals(other.q) && this.a.equals(other.a) && this.b.equals(other.b));
|
|
};
|
|
|
|
ec.CurveFp.prototype.getInfinity = function () {
|
|
return this.infinity;
|
|
};
|
|
|
|
ec.CurveFp.prototype.fromBigInteger = function (x) {
|
|
return new ec.FieldElementFp(this.q, x);
|
|
};
|
|
|
|
// for now, work with hex strings because they're easier in JS
|
|
ec.CurveFp.prototype.decodePointHex = function (s) {
|
|
switch (parseInt(s.substr(0, 2), 16)) { // first byte
|
|
case 0:
|
|
return this.infinity;
|
|
case 2:
|
|
case 3:
|
|
// point compression not supported yet
|
|
return null;
|
|
case 4:
|
|
case 6:
|
|
case 7:
|
|
var len = (s.length - 2) / 2;
|
|
var xHex = s.substr(2, len);
|
|
var yHex = s.substr(len + 2, len);
|
|
|
|
return new ec.PointFp(this,
|
|
this.fromBigInteger(new BigInteger(xHex, 16)),
|
|
this.fromBigInteger(new BigInteger(yHex, 16)));
|
|
|
|
default: // unsupported
|
|
return null;
|
|
}
|
|
};
|
|
|
|
|
|
ec.fromHex = function (s) { return new BigInteger(s, 16); };
|
|
|
|
ec.integerToBytes = function (i, len) {
|
|
var bytes = i.toByteArrayUnsigned();
|
|
if (len < bytes.length) {
|
|
bytes = bytes.slice(bytes.length - len);
|
|
} else while (len > bytes.length) {
|
|
bytes.unshift(0);
|
|
}
|
|
return bytes;
|
|
};
|
|
|
|
|
|
// Named EC curves
|
|
// ----------------
|
|
// X9ECParameters constructor
|
|
ec.X9Parameters = function (curve, g, n, h) {
|
|
this.curve = curve;
|
|
this.g = g;
|
|
this.n = n;
|
|
this.h = h;
|
|
}
|
|
ec.X9Parameters.prototype.getCurve = function () { return this.curve; };
|
|
ec.X9Parameters.prototype.getG = function () { return this.g; };
|
|
ec.X9Parameters.prototype.getN = function () { return this.n; };
|
|
ec.X9Parameters.prototype.getH = function () { return this.h; };
|
|
|
|
// secp256k1 is the Curve used by Bitcoin
|
|
ec.secNamedCurves = {
|
|
// used by Bitcoin
|
|
"secp256k1": function () {
|
|
// p = 2^256 - 2^32 - 2^9 - 2^8 - 2^7 - 2^6 - 2^4 - 1
|
|
var p = ec.fromHex("FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFC2F");
|
|
var a = BigInteger.ZERO;
|
|
var b = ec.fromHex("7");
|
|
var n = ec.fromHex("FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEBAAEDCE6AF48A03BBFD25E8CD0364141");
|
|
var h = BigInteger.ONE;
|
|
var curve = new ec.CurveFp(p, a, b);
|
|
var G = curve.decodePointHex("04"
|
|
+ "79BE667EF9DCBBAC55A06295CE870B07029BFCDB2DCE28D959F2815B16F81798"
|
|
+ "483ADA7726A3C4655DA4FBFC0E1108A8FD17B448A68554199C47D08FFB10D4B8");
|
|
return new ec.X9Parameters(curve, G, n, h);
|
|
}
|
|
};
|
|
|
|
// secp256k1 called by Bitcoin's ECKEY
|
|
ec.getSECCurveByName = function (name) {
|
|
if (ec.secNamedCurves[name] == undefined) return null;
|
|
return ec.secNamedCurves[name]();
|
|
}
|
|
})();
|
|
</script>
|
|
|
|
<script type="text/javascript">
|
|
/*!
|
|
* Basic JavaScript BN library - subset useful for RSA encryption.
|
|
*
|
|
* Copyright (c) 2005 Tom Wu
|
|
* All Rights Reserved.
|
|
* BSD License
|
|
* http://www-cs-students.stanford.edu/~tjw/jsbn/LICENSE
|
|
*
|
|
* Copyright Stephan Thomas
|
|
* Copyright bitaddress.org
|
|
*/
|
|
|
|
(function () {
|
|
|
|
// (public) Constructor function of Global BigInteger object
|
|
var BigInteger = window.BigInteger = function BigInteger(a, b, c) {
|
|
if (a != null)
|
|
if ("number" == typeof a) this.fromNumber(a, b, c);
|
|
else if (b == null && "string" != typeof a) this.fromString(a, 256);
|
|
else this.fromString(a, b);
|
|
};
|
|
|
|
// Bits per digit
|
|
var dbits;
|
|
|
|
// JavaScript engine analysis
|
|
var canary = 0xdeadbeefcafe;
|
|
var j_lm = ((canary & 0xffffff) == 0xefcafe);
|
|
|
|
// return new, unset BigInteger
|
|
function nbi() { return new BigInteger(null); }
|
|
|
|
// am: Compute w_j += (x*this_i), propagate carries,
|
|
// c is initial carry, returns final carry.
|
|
// c < 3*dvalue, x < 2*dvalue, this_i < dvalue
|
|
// We need to select the fastest one that works in this environment.
|
|
|
|
// am1: use a single mult and divide to get the high bits,
|
|
// max digit bits should be 26 because
|
|
// max internal value = 2*dvalue^2-2*dvalue (< 2^53)
|
|
function am1(i, x, w, j, c, n) {
|
|
while (--n >= 0) {
|
|
var v = x * this[i++] + w[j] + c;
|
|
c = Math.floor(v / 0x4000000);
|
|
w[j++] = v & 0x3ffffff;
|
|
}
|
|
return c;
|
|
}
|
|
// am2 avoids a big mult-and-extract completely.
|
|
// Max digit bits should be <= 30 because we do bitwise ops
|
|
// on values up to 2*hdvalue^2-hdvalue-1 (< 2^31)
|
|
function am2(i, x, w, j, c, n) {
|
|
var xl = x & 0x7fff, xh = x >> 15;
|
|
while (--n >= 0) {
|
|
var l = this[i] & 0x7fff;
|
|
var h = this[i++] >> 15;
|
|
var m = xh * l + h * xl;
|
|
l = xl * l + ((m & 0x7fff) << 15) + w[j] + (c & 0x3fffffff);
|
|
c = (l >>> 30) + (m >>> 15) + xh * h + (c >>> 30);
|
|
w[j++] = l & 0x3fffffff;
|
|
}
|
|
return c;
|
|
}
|
|
// Alternately, set max digit bits to 28 since some
|
|
// browsers slow down when dealing with 32-bit numbers.
|
|
function am3(i, x, w, j, c, n) {
|
|
var xl = x & 0x3fff, xh = x >> 14;
|
|
while (--n >= 0) {
|
|
var l = this[i] & 0x3fff;
|
|
var h = this[i++] >> 14;
|
|
var m = xh * l + h * xl;
|
|
l = xl * l + ((m & 0x3fff) << 14) + w[j] + c;
|
|
c = (l >> 28) + (m >> 14) + xh * h;
|
|
w[j++] = l & 0xfffffff;
|
|
}
|
|
return c;
|
|
}
|
|
if (j_lm && (navigator.appName == "Microsoft Internet Explorer")) {
|
|
BigInteger.prototype.am = am2;
|
|
dbits = 30;
|
|
}
|
|
else if (j_lm && (navigator.appName != "Netscape")) {
|
|
BigInteger.prototype.am = am1;
|
|
dbits = 26;
|
|
}
|
|
else { // Mozilla/Netscape seems to prefer am3
|
|
BigInteger.prototype.am = am3;
|
|
dbits = 28;
|
|
}
|
|
|
|
BigInteger.prototype.DB = dbits;
|
|
BigInteger.prototype.DM = ((1 << dbits) - 1);
|
|
BigInteger.prototype.DV = (1 << dbits);
|
|
|
|
var BI_FP = 52;
|
|
BigInteger.prototype.FV = Math.pow(2, BI_FP);
|
|
BigInteger.prototype.F1 = BI_FP - dbits;
|
|
BigInteger.prototype.F2 = 2 * dbits - BI_FP;
|
|
|
|
// Digit conversions
|
|
var BI_RM = "0123456789abcdefghijklmnopqrstuvwxyz";
|
|
var BI_RC = new Array();
|
|
var rr, vv;
|
|
rr = "0".charCodeAt(0);
|
|
for (vv = 0; vv <= 9; ++vv) BI_RC[rr++] = vv;
|
|
rr = "a".charCodeAt(0);
|
|
for (vv = 10; vv < 36; ++vv) BI_RC[rr++] = vv;
|
|
rr = "A".charCodeAt(0);
|
|
for (vv = 10; vv < 36; ++vv) BI_RC[rr++] = vv;
|
|
|
|
function int2char(n) { return BI_RM.charAt(n); }
|
|
function intAt(s, i) {
|
|
var c = BI_RC[s.charCodeAt(i)];
|
|
return (c == null) ? -1 : c;
|
|
}
|
|
|
|
|
|
|
|
// return bigint initialized to value
|
|
function nbv(i) { var r = nbi(); r.fromInt(i); return r; }
|
|
|
|
|
|
// returns bit length of the integer x
|
|
function nbits(x) {
|
|
var r = 1, t;
|
|
if ((t = x >>> 16) != 0) { x = t; r += 16; }
|
|
if ((t = x >> 8) != 0) { x = t; r += 8; }
|
|
if ((t = x >> 4) != 0) { x = t; r += 4; }
|
|
if ((t = x >> 2) != 0) { x = t; r += 2; }
|
|
if ((t = x >> 1) != 0) { x = t; r += 1; }
|
|
return r;
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// (protected) copy this to r
|
|
BigInteger.prototype.copyTo = function (r) {
|
|
for (var i = this.t - 1; i >= 0; --i) r[i] = this[i];
|
|
r.t = this.t;
|
|
r.s = this.s;
|
|
};
|
|
|
|
|
|
// (protected) set from integer value x, -DV <= x < DV
|
|
BigInteger.prototype.fromInt = function (x) {
|
|
this.t = 1;
|
|
this.s = (x < 0) ? -1 : 0;
|
|
if (x > 0) this[0] = x;
|
|
else if (x < -1) this[0] = x + DV;
|
|
else this.t = 0;
|
|
};
|
|
|
|
// (protected) set from string and radix
|
|
BigInteger.prototype.fromString = function (s, b) {
|
|
var k;
|
|
if (b == 16) k = 4;
|
|
else if (b == 8) k = 3;
|
|
else if (b == 256) k = 8; // byte array
|
|
else if (b == 2) k = 1;
|
|
else if (b == 32) k = 5;
|
|
else if (b == 4) k = 2;
|
|
else { this.fromRadix(s, b); return; }
|
|
this.t = 0;
|
|
this.s = 0;
|
|
var i = s.length, mi = false, sh = 0;
|
|
while (--i >= 0) {
|
|
var x = (k == 8) ? s[i] & 0xff : intAt(s, i);
|
|
if (x < 0) {
|
|
if (s.charAt(i) == "-") mi = true;
|
|
continue;
|
|
}
|
|
mi = false;
|
|
if (sh == 0)
|
|
this[this.t++] = x;
|
|
else if (sh + k > this.DB) {
|
|
this[this.t - 1] |= (x & ((1 << (this.DB - sh)) - 1)) << sh;
|
|
this[this.t++] = (x >> (this.DB - sh));
|
|
}
|
|
else
|
|
this[this.t - 1] |= x << sh;
|
|
sh += k;
|
|
if (sh >= this.DB) sh -= this.DB;
|
|
}
|
|
if (k == 8 && (s[0] & 0x80) != 0) {
|
|
this.s = -1;
|
|
if (sh > 0) this[this.t - 1] |= ((1 << (this.DB - sh)) - 1) << sh;
|
|
}
|
|
this.clamp();
|
|
if (mi) BigInteger.ZERO.subTo(this, this);
|
|
};
|
|
|
|
|
|
// (protected) clamp off excess high words
|
|
BigInteger.prototype.clamp = function () {
|
|
var c = this.s & this.DM;
|
|
while (this.t > 0 && this[this.t - 1] == c) --this.t;
|
|
};
|
|
|
|
// (protected) r = this << n*DB
|
|
BigInteger.prototype.dlShiftTo = function (n, r) {
|
|
var i;
|
|
for (i = this.t - 1; i >= 0; --i) r[i + n] = this[i];
|
|
for (i = n - 1; i >= 0; --i) r[i] = 0;
|
|
r.t = this.t + n;
|
|
r.s = this.s;
|
|
};
|
|
|
|
// (protected) r = this >> n*DB
|
|
BigInteger.prototype.drShiftTo = function (n, r) {
|
|
for (var i = n; i < this.t; ++i) r[i - n] = this[i];
|
|
r.t = Math.max(this.t - n, 0);
|
|
r.s = this.s;
|
|
};
|
|
|
|
|
|
// (protected) r = this << n
|
|
BigInteger.prototype.lShiftTo = function (n, r) {
|
|
var bs = n % this.DB;
|
|
var cbs = this.DB - bs;
|
|
var bm = (1 << cbs) - 1;
|
|
var ds = Math.floor(n / this.DB), c = (this.s << bs) & this.DM, i;
|
|
for (i = this.t - 1; i >= 0; --i) {
|
|
r[i + ds + 1] = (this[i] >> cbs) | c;
|
|
c = (this[i] & bm) << bs;
|
|
}
|
|
for (i = ds - 1; i >= 0; --i) r[i] = 0;
|
|
r[ds] = c;
|
|
r.t = this.t + ds + 1;
|
|
r.s = this.s;
|
|
r.clamp();
|
|
};
|
|
|
|
|
|
// (protected) r = this >> n
|
|
BigInteger.prototype.rShiftTo = function (n, r) {
|
|
r.s = this.s;
|
|
var ds = Math.floor(n / this.DB);
|
|
if (ds >= this.t) { r.t = 0; return; }
|
|
var bs = n % this.DB;
|
|
var cbs = this.DB - bs;
|
|
var bm = (1 << bs) - 1;
|
|
r[0] = this[ds] >> bs;
|
|
for (var i = ds + 1; i < this.t; ++i) {
|
|
r[i - ds - 1] |= (this[i] & bm) << cbs;
|
|
r[i - ds] = this[i] >> bs;
|
|
}
|
|
if (bs > 0) r[this.t - ds - 1] |= (this.s & bm) << cbs;
|
|
r.t = this.t - ds;
|
|
r.clamp();
|
|
};
|
|
|
|
|
|
// (protected) r = this - a
|
|
BigInteger.prototype.subTo = function (a, r) {
|
|
var i = 0, c = 0, m = Math.min(a.t, this.t);
|
|
while (i < m) {
|
|
c += this[i] - a[i];
|
|
r[i++] = c & this.DM;
|
|
c >>= this.DB;
|
|
}
|
|
if (a.t < this.t) {
|
|
c -= a.s;
|
|
while (i < this.t) {
|
|
c += this[i];
|
|
r[i++] = c & this.DM;
|
|
c >>= this.DB;
|
|
}
|
|
c += this.s;
|
|
}
|
|
else {
|
|
c += this.s;
|
|
while (i < a.t) {
|
|
c -= a[i];
|
|
r[i++] = c & this.DM;
|
|
c >>= this.DB;
|
|
}
|
|
c -= a.s;
|
|
}
|
|
r.s = (c < 0) ? -1 : 0;
|
|
if (c < -1) r[i++] = this.DV + c;
|
|
else if (c > 0) r[i++] = c;
|
|
r.t = i;
|
|
r.clamp();
|
|
};
|
|
|
|
|
|
// (protected) r = this * a, r != this,a (HAC 14.12)
|
|
// "this" should be the larger one if appropriate.
|
|
BigInteger.prototype.multiplyTo = function (a, r) {
|
|
var x = this.abs(), y = a.abs();
|
|
var i = x.t;
|
|
r.t = i + y.t;
|
|
while (--i >= 0) r[i] = 0;
|
|
for (i = 0; i < y.t; ++i) r[i + x.t] = x.am(0, y[i], r, i, 0, x.t);
|
|
r.s = 0;
|
|
r.clamp();
|
|
if (this.s != a.s) BigInteger.ZERO.subTo(r, r);
|
|
};
|
|
|
|
|
|
// (protected) r = this^2, r != this (HAC 14.16)
|
|
BigInteger.prototype.squareTo = function (r) {
|
|
var x = this.abs();
|
|
var i = r.t = 2 * x.t;
|
|
while (--i >= 0) r[i] = 0;
|
|
for (i = 0; i < x.t - 1; ++i) {
|
|
var c = x.am(i, x[i], r, 2 * i, 0, 1);
|
|
if ((r[i + x.t] += x.am(i + 1, 2 * x[i], r, 2 * i + 1, c, x.t - i - 1)) >= x.DV) {
|
|
r[i + x.t] -= x.DV;
|
|
r[i + x.t + 1] = 1;
|
|
}
|
|
}
|
|
if (r.t > 0) r[r.t - 1] += x.am(i, x[i], r, 2 * i, 0, 1);
|
|
r.s = 0;
|
|
r.clamp();
|
|
};
|
|
|
|
|
|
|
|
// (protected) divide this by m, quotient and remainder to q, r (HAC 14.20)
|
|
// r != q, this != m. q or r may be null.
|
|
BigInteger.prototype.divRemTo = function (m, q, r) {
|
|
var pm = m.abs();
|
|
if (pm.t <= 0) return;
|
|
var pt = this.abs();
|
|
if (pt.t < pm.t) {
|
|
if (q != null) q.fromInt(0);
|
|
if (r != null) this.copyTo(r);
|
|
return;
|
|
}
|
|
if (r == null) r = nbi();
|
|
var y = nbi(), ts = this.s, ms = m.s;
|
|
var nsh = this.DB - nbits(pm[pm.t - 1]); // normalize modulus
|
|
if (nsh > 0) { pm.lShiftTo(nsh, y); pt.lShiftTo(nsh, r); }
|
|
else { pm.copyTo(y); pt.copyTo(r); }
|
|
var ys = y.t;
|
|
var y0 = y[ys - 1];
|
|
if (y0 == 0) return;
|
|
var yt = y0 * (1 << this.F1) + ((ys > 1) ? y[ys - 2] >> this.F2 : 0);
|
|
var d1 = this.FV / yt, d2 = (1 << this.F1) / yt, e = 1 << this.F2;
|
|
var i = r.t, j = i - ys, t = (q == null) ? nbi() : q;
|
|
y.dlShiftTo(j, t);
|
|
if (r.compareTo(t) >= 0) {
|
|
r[r.t++] = 1;
|
|
r.subTo(t, r);
|
|
}
|
|
BigInteger.ONE.dlShiftTo(ys, t);
|
|
t.subTo(y, y); // "negative" y so we can replace sub with am later
|
|
while (y.t < ys) y[y.t++] = 0;
|
|
while (--j >= 0) {
|
|
// Estimate quotient digit
|
|
var qd = (r[--i] == y0) ? this.DM : Math.floor(r[i] * d1 + (r[i - 1] + e) * d2);
|
|
if ((r[i] += y.am(0, qd, r, j, 0, ys)) < qd) { // Try it out
|
|
y.dlShiftTo(j, t);
|
|
r.subTo(t, r);
|
|
while (r[i] < --qd) r.subTo(t, r);
|
|
}
|
|
}
|
|
if (q != null) {
|
|
r.drShiftTo(ys, q);
|
|
if (ts != ms) BigInteger.ZERO.subTo(q, q);
|
|
}
|
|
r.t = ys;
|
|
r.clamp();
|
|
if (nsh > 0) r.rShiftTo(nsh, r); // Denormalize remainder
|
|
if (ts < 0) BigInteger.ZERO.subTo(r, r);
|
|
};
|
|
|
|
|
|
// (protected) return "-1/this % 2^DB"; useful for Mont. reduction
|
|
// justification:
|
|
// xy == 1 (mod m)
|
|
// xy = 1+km
|
|
// xy(2-xy) = (1+km)(1-km)
|
|
// x[y(2-xy)] = 1-k^2m^2
|
|
// x[y(2-xy)] == 1 (mod m^2)
|
|
// if y is 1/x mod m, then y(2-xy) is 1/x mod m^2
|
|
// should reduce x and y(2-xy) by m^2 at each step to keep size bounded.
|
|
// JS multiply "overflows" differently from C/C++, so care is needed here.
|
|
BigInteger.prototype.invDigit = function () {
|
|
if (this.t < 1) return 0;
|
|
var x = this[0];
|
|
if ((x & 1) == 0) return 0;
|
|
var y = x & 3; // y == 1/x mod 2^2
|
|
y = (y * (2 - (x & 0xf) * y)) & 0xf; // y == 1/x mod 2^4
|
|
y = (y * (2 - (x & 0xff) * y)) & 0xff; // y == 1/x mod 2^8
|
|
y = (y * (2 - (((x & 0xffff) * y) & 0xffff))) & 0xffff; // y == 1/x mod 2^16
|
|
// last step - calculate inverse mod DV directly;
|
|
// assumes 16 < DB <= 32 and assumes ability to handle 48-bit ints
|
|
y = (y * (2 - x * y % this.DV)) % this.DV; // y == 1/x mod 2^dbits
|
|
// we really want the negative inverse, and -DV < y < DV
|
|
return (y > 0) ? this.DV - y : -y;
|
|
};
|
|
|
|
|
|
// (protected) true iff this is even
|
|
BigInteger.prototype.isEven = function () { return ((this.t > 0) ? (this[0] & 1) : this.s) == 0; };
|
|
|
|
|
|
// (protected) this^e, e < 2^32, doing sqr and mul with "r" (HAC 14.79)
|
|
BigInteger.prototype.exp = function (e, z) {
|
|
if (e > 0xffffffff || e < 1) return BigInteger.ONE;
|
|
var r = nbi(), r2 = nbi(), g = z.convert(this), i = nbits(e) - 1;
|
|
g.copyTo(r);
|
|
while (--i >= 0) {
|
|
z.sqrTo(r, r2);
|
|
if ((e & (1 << i)) > 0) z.mulTo(r2, g, r);
|
|
else { var t = r; r = r2; r2 = t; }
|
|
}
|
|
return z.revert(r);
|
|
};
|
|
|
|
|
|
// (public) return string representation in given radix
|
|
BigInteger.prototype.toString = function (b) {
|
|
if (this.s < 0) return "-" + this.negate().toString(b);
|
|
var k;
|
|
if (b == 16) k = 4;
|
|
else if (b == 8) k = 3;
|
|
else if (b == 2) k = 1;
|
|
else if (b == 32) k = 5;
|
|
else if (b == 4) k = 2;
|
|
else return this.toRadix(b);
|
|
var km = (1 << k) - 1, d, m = false, r = "", i = this.t;
|
|
var p = this.DB - (i * this.DB) % k;
|
|
if (i-- > 0) {
|
|
if (p < this.DB && (d = this[i] >> p) > 0) { m = true; r = int2char(d); }
|
|
while (i >= 0) {
|
|
if (p < k) {
|
|
d = (this[i] & ((1 << p) - 1)) << (k - p);
|
|
d |= this[--i] >> (p += this.DB - k);
|
|
}
|
|
else {
|
|
d = (this[i] >> (p -= k)) & km;
|
|
if (p <= 0) { p += this.DB; --i; }
|
|
}
|
|
if (d > 0) m = true;
|
|
if (m) r += int2char(d);
|
|
}
|
|
}
|
|
return m ? r : "0";
|
|
};
|
|
|
|
|
|
// (public) -this
|
|
BigInteger.prototype.negate = function () { var r = nbi(); BigInteger.ZERO.subTo(this, r); return r; };
|
|
|
|
// (public) |this|
|
|
BigInteger.prototype.abs = function () { return (this.s < 0) ? this.negate() : this; };
|
|
|
|
// (public) return + if this > a, - if this < a, 0 if equal
|
|
BigInteger.prototype.compareTo = function (a) {
|
|
var r = this.s - a.s;
|
|
if (r != 0) return r;
|
|
var i = this.t;
|
|
r = i - a.t;
|
|
if (r != 0) return r;
|
|
while (--i >= 0) if ((r = this[i] - a[i]) != 0) return r;
|
|
return 0;
|
|
}
|
|
|
|
// (public) return the number of bits in "this"
|
|
BigInteger.prototype.bitLength = function () {
|
|
if (this.t <= 0) return 0;
|
|
return this.DB * (this.t - 1) + nbits(this[this.t - 1] ^ (this.s & this.DM));
|
|
};
|
|
|
|
// (public) this mod a
|
|
BigInteger.prototype.mod = function (a) {
|
|
var r = nbi();
|
|
this.abs().divRemTo(a, null, r);
|
|
if (this.s < 0 && r.compareTo(BigInteger.ZERO) > 0) a.subTo(r, r);
|
|
return r;
|
|
}
|
|
|
|
// (public) this^e % m, 0 <= e < 2^32
|
|
BigInteger.prototype.modPowInt = function (e, m) {
|
|
var z;
|
|
if (e < 256 || m.isEven()) z = new Classic(m); else z = new Montgomery(m);
|
|
return this.exp(e, z);
|
|
};
|
|
|
|
// "constants"
|
|
BigInteger.ZERO = nbv(0);
|
|
BigInteger.ONE = nbv(1);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// Copyright (c) 2005-2009 Tom Wu
|
|
// All Rights Reserved.
|
|
// See "LICENSE" for details.
|
|
// Extended JavaScript BN functions, required for RSA private ops.
|
|
// Version 1.1: new BigInteger("0", 10) returns "proper" zero
|
|
// Version 1.2: square() API, isProbablePrime fix
|
|
|
|
|
|
// return index of lowest 1-bit in x, x < 2^31
|
|
function lbit(x) {
|
|
if (x == 0) return -1;
|
|
var r = 0;
|
|
if ((x & 0xffff) == 0) { x >>= 16; r += 16; }
|
|
if ((x & 0xff) == 0) { x >>= 8; r += 8; }
|
|
if ((x & 0xf) == 0) { x >>= 4; r += 4; }
|
|
if ((x & 3) == 0) { x >>= 2; r += 2; }
|
|
if ((x & 1) == 0) ++r;
|
|
return r;
|
|
}
|
|
|
|
// return number of 1 bits in x
|
|
function cbit(x) {
|
|
var r = 0;
|
|
while (x != 0) { x &= x - 1; ++r; }
|
|
return r;
|
|
}
|
|
|
|
var lowprimes = [2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 73, 79, 83, 89, 97, 101, 103, 107, 109, 113, 127, 131, 137, 139, 149, 151, 157, 163, 167, 173, 179, 181, 191, 193, 197, 199, 211, 223, 227, 229, 233, 239, 241, 251, 257, 263, 269, 271, 277, 281, 283, 293, 307, 311, 313, 317, 331, 337, 347, 349, 353, 359, 367, 373, 379, 383, 389, 397, 401, 409, 419, 421, 431, 433, 439, 443, 449, 457, 461, 463, 467, 479, 487, 491, 499, 503, 509, 521, 523, 541, 547, 557, 563, 569, 571, 577, 587, 593, 599, 601, 607, 613, 617, 619, 631, 641, 643, 647, 653, 659, 661, 673, 677, 683, 691, 701, 709, 719, 727, 733, 739, 743, 751, 757, 761, 769, 773, 787, 797, 809, 811, 821, 823, 827, 829, 839, 853, 857, 859, 863, 877, 881, 883, 887, 907, 911, 919, 929, 937, 941, 947, 953, 967, 971, 977, 983, 991, 997];
|
|
var lplim = (1 << 26) / lowprimes[lowprimes.length - 1];
|
|
|
|
|
|
|
|
// (protected) return x s.t. r^x < DV
|
|
BigInteger.prototype.chunkSize = function (r) { return Math.floor(Math.LN2 * this.DB / Math.log(r)); };
|
|
|
|
// (protected) convert to radix string
|
|
BigInteger.prototype.toRadix = function (b) {
|
|
if (b == null) b = 10;
|
|
if (this.signum() == 0 || b < 2 || b > 36) return "0";
|
|
var cs = this.chunkSize(b);
|
|
var a = Math.pow(b, cs);
|
|
var d = nbv(a), y = nbi(), z = nbi(), r = "";
|
|
this.divRemTo(d, y, z);
|
|
while (y.signum() > 0) {
|
|
r = (a + z.intValue()).toString(b).substr(1) + r;
|
|
y.divRemTo(d, y, z);
|
|
}
|
|
return z.intValue().toString(b) + r;
|
|
};
|
|
|
|
// (protected) convert from radix string
|
|
BigInteger.prototype.fromRadix = function (s, b) {
|
|
this.fromInt(0);
|
|
if (b == null) b = 10;
|
|
var cs = this.chunkSize(b);
|
|
var d = Math.pow(b, cs), mi = false, j = 0, w = 0;
|
|
for (var i = 0; i < s.length; ++i) {
|
|
var x = intAt(s, i);
|
|
if (x < 0) {
|
|
if (s.charAt(i) == "-" && this.signum() == 0) mi = true;
|
|
continue;
|
|
}
|
|
w = b * w + x;
|
|
if (++j >= cs) {
|
|
this.dMultiply(d);
|
|
this.dAddOffset(w, 0);
|
|
j = 0;
|
|
w = 0;
|
|
}
|
|
}
|
|
if (j > 0) {
|
|
this.dMultiply(Math.pow(b, j));
|
|
this.dAddOffset(w, 0);
|
|
}
|
|
if (mi) BigInteger.ZERO.subTo(this, this);
|
|
};
|
|
|
|
// (protected) alternate constructor
|
|
BigInteger.prototype.fromNumber = function (a, b, c) {
|
|
if ("number" == typeof b) {
|
|
// new BigInteger(int,int,RNG)
|
|
if (a < 2) this.fromInt(1);
|
|
else {
|
|
this.fromNumber(a, c);
|
|
if (!this.testBit(a - 1)) // force MSB set
|
|
this.bitwiseTo(BigInteger.ONE.shiftLeft(a - 1), op_or, this);
|
|
if (this.isEven()) this.dAddOffset(1, 0); // force odd
|
|
while (!this.isProbablePrime(b)) {
|
|
this.dAddOffset(2, 0);
|
|
if (this.bitLength() > a) this.subTo(BigInteger.ONE.shiftLeft(a - 1), this);
|
|
}
|
|
}
|
|
}
|
|
else {
|
|
// new BigInteger(int,RNG)
|
|
var x = new Array(), t = a & 7;
|
|
x.length = (a >> 3) + 1;
|
|
b.nextBytes(x);
|
|
if (t > 0) x[0] &= ((1 << t) - 1); else x[0] = 0;
|
|
this.fromString(x, 256);
|
|
}
|
|
};
|
|
|
|
// (protected) r = this op a (bitwise)
|
|
BigInteger.prototype.bitwiseTo = function (a, op, r) {
|
|
var i, f, m = Math.min(a.t, this.t);
|
|
for (i = 0; i < m; ++i) r[i] = op(this[i], a[i]);
|
|
if (a.t < this.t) {
|
|
f = a.s & this.DM;
|
|
for (i = m; i < this.t; ++i) r[i] = op(this[i], f);
|
|
r.t = this.t;
|
|
}
|
|
else {
|
|
f = this.s & this.DM;
|
|
for (i = m; i < a.t; ++i) r[i] = op(f, a[i]);
|
|
r.t = a.t;
|
|
}
|
|
r.s = op(this.s, a.s);
|
|
r.clamp();
|
|
};
|
|
|
|
// (protected) this op (1<<n)
|
|
BigInteger.prototype.changeBit = function (n, op) {
|
|
var r = BigInteger.ONE.shiftLeft(n);
|
|
this.bitwiseTo(r, op, r);
|
|
return r;
|
|
};
|
|
|
|
// (protected) r = this + a
|
|
BigInteger.prototype.addTo = function (a, r) {
|
|
var i = 0, c = 0, m = Math.min(a.t, this.t);
|
|
while (i < m) {
|
|
c += this[i] + a[i];
|
|
r[i++] = c & this.DM;
|
|
c >>= this.DB;
|
|
}
|
|
if (a.t < this.t) {
|
|
c += a.s;
|
|
while (i < this.t) {
|
|
c += this[i];
|
|
r[i++] = c & this.DM;
|
|
c >>= this.DB;
|
|
}
|
|
c += this.s;
|
|
}
|
|
else {
|
|
c += this.s;
|
|
while (i < a.t) {
|
|
c += a[i];
|
|
r[i++] = c & this.DM;
|
|
c >>= this.DB;
|
|
}
|
|
c += a.s;
|
|
}
|
|
r.s = (c < 0) ? -1 : 0;
|
|
if (c > 0) r[i++] = c;
|
|
else if (c < -1) r[i++] = this.DV + c;
|
|
r.t = i;
|
|
r.clamp();
|
|
};
|
|
|
|
// (protected) this *= n, this >= 0, 1 < n < DV
|
|
BigInteger.prototype.dMultiply = function (n) {
|
|
this[this.t] = this.am(0, n - 1, this, 0, 0, this.t);
|
|
++this.t;
|
|
this.clamp();
|
|
};
|
|
|
|
// (protected) this += n << w words, this >= 0
|
|
BigInteger.prototype.dAddOffset = function (n, w) {
|
|
if (n == 0) return;
|
|
while (this.t <= w) this[this.t++] = 0;
|
|
this[w] += n;
|
|
while (this[w] >= this.DV) {
|
|
this[w] -= this.DV;
|
|
if (++w >= this.t) this[this.t++] = 0;
|
|
++this[w];
|
|
}
|
|
};
|
|
|
|
// (protected) r = lower n words of "this * a", a.t <= n
|
|
// "this" should be the larger one if appropriate.
|
|
BigInteger.prototype.multiplyLowerTo = function (a, n, r) {
|
|
var i = Math.min(this.t + a.t, n);
|
|
r.s = 0; // assumes a,this >= 0
|
|
r.t = i;
|
|
while (i > 0) r[--i] = 0;
|
|
var j;
|
|
for (j = r.t - this.t; i < j; ++i) r[i + this.t] = this.am(0, a[i], r, i, 0, this.t);
|
|
for (j = Math.min(a.t, n); i < j; ++i) this.am(0, a[i], r, i, 0, n - i);
|
|
r.clamp();
|
|
};
|
|
|
|
|
|
// (protected) r = "this * a" without lower n words, n > 0
|
|
// "this" should be the larger one if appropriate.
|
|
BigInteger.prototype.multiplyUpperTo = function (a, n, r) {
|
|
--n;
|
|
var i = r.t = this.t + a.t - n;
|
|
r.s = 0; // assumes a,this >= 0
|
|
while (--i >= 0) r[i] = 0;
|
|
for (i = Math.max(n - this.t, 0); i < a.t; ++i)
|
|
r[this.t + i - n] = this.am(n - i, a[i], r, 0, 0, this.t + i - n);
|
|
r.clamp();
|
|
r.drShiftTo(1, r);
|
|
};
|
|
|
|
// (protected) this % n, n < 2^26
|
|
BigInteger.prototype.modInt = function (n) {
|
|
if (n <= 0) return 0;
|
|
var d = this.DV % n, r = (this.s < 0) ? n - 1 : 0;
|
|
if (this.t > 0)
|
|
if (d == 0) r = this[0] % n;
|
|
else for (var i = this.t - 1; i >= 0; --i) r = (d * r + this[i]) % n;
|
|
return r;
|
|
};
|
|
|
|
|
|
// (protected) true if probably prime (HAC 4.24, Miller-Rabin)
|
|
BigInteger.prototype.millerRabin = function (t) {
|
|
var n1 = this.subtract(BigInteger.ONE);
|
|
var k = n1.getLowestSetBit();
|
|
if (k <= 0) return false;
|
|
var r = n1.shiftRight(k);
|
|
t = (t + 1) >> 1;
|
|
if (t > lowprimes.length) t = lowprimes.length;
|
|
var a = nbi();
|
|
for (var i = 0; i < t; ++i) {
|
|
//Pick bases at random, instead of starting at 2
|
|
a.fromInt(lowprimes[Math.floor(Math.random() * lowprimes.length)]);
|
|
var y = a.modPow(r, this);
|
|
if (y.compareTo(BigInteger.ONE) != 0 && y.compareTo(n1) != 0) {
|
|
var j = 1;
|
|
while (j++ < k && y.compareTo(n1) != 0) {
|
|
y = y.modPowInt(2, this);
|
|
if (y.compareTo(BigInteger.ONE) == 0) return false;
|
|
}
|
|
if (y.compareTo(n1) != 0) return false;
|
|
}
|
|
}
|
|
return true;
|
|
};
|
|
|
|
|
|
|
|
// (public)
|
|
BigInteger.prototype.clone = function () { var r = nbi(); this.copyTo(r); return r; };
|
|
|
|
// (public) return value as integer
|
|
BigInteger.prototype.intValue = function () {
|
|
if (this.s < 0) {
|
|
if (this.t == 1) return this[0] - this.DV;
|
|
else if (this.t == 0) return -1;
|
|
}
|
|
else if (this.t == 1) return this[0];
|
|
else if (this.t == 0) return 0;
|
|
// assumes 16 < DB < 32
|
|
return ((this[1] & ((1 << (32 - this.DB)) - 1)) << this.DB) | this[0];
|
|
};
|
|
|
|
|
|
// (public) return value as byte
|
|
BigInteger.prototype.byteValue = function () { return (this.t == 0) ? this.s : (this[0] << 24) >> 24; };
|
|
|
|
// (public) return value as short (assumes DB>=16)
|
|
BigInteger.prototype.shortValue = function () { return (this.t == 0) ? this.s : (this[0] << 16) >> 16; };
|
|
|
|
// (public) 0 if this == 0, 1 if this > 0
|
|
BigInteger.prototype.signum = function () {
|
|
if (this.s < 0) return -1;
|
|
else if (this.t <= 0 || (this.t == 1 && this[0] <= 0)) return 0;
|
|
else return 1;
|
|
};
|
|
|
|
|
|
// (public) convert to bigendian byte array
|
|
BigInteger.prototype.toByteArray = function () {
|
|
var i = this.t, r = new Array();
|
|
r[0] = this.s;
|
|
var p = this.DB - (i * this.DB) % 8, d, k = 0;
|
|
if (i-- > 0) {
|
|
if (p < this.DB && (d = this[i] >> p) != (this.s & this.DM) >> p)
|
|
r[k++] = d | (this.s << (this.DB - p));
|
|
while (i >= 0) {
|
|
if (p < 8) {
|
|
d = (this[i] & ((1 << p) - 1)) << (8 - p);
|
|
d |= this[--i] >> (p += this.DB - 8);
|
|
}
|
|
else {
|
|
d = (this[i] >> (p -= 8)) & 0xff;
|
|
if (p <= 0) { p += this.DB; --i; }
|
|
}
|
|
if ((d & 0x80) != 0) d |= -256;
|
|
if (k == 0 && (this.s & 0x80) != (d & 0x80)) ++k;
|
|
if (k > 0 || d != this.s) r[k++] = d;
|
|
}
|
|
}
|
|
return r;
|
|
};
|
|
|
|
BigInteger.prototype.equals = function (a) { return (this.compareTo(a) == 0); };
|
|
BigInteger.prototype.min = function (a) { return (this.compareTo(a) < 0) ? this : a; };
|
|
BigInteger.prototype.max = function (a) { return (this.compareTo(a) > 0) ? this : a; };
|
|
|
|
// (public) this & a
|
|
function op_and(x, y) { return x & y; }
|
|
BigInteger.prototype.and = function (a) { var r = nbi(); this.bitwiseTo(a, op_and, r); return r; };
|
|
|
|
// (public) this | a
|
|
function op_or(x, y) { return x | y; }
|
|
BigInteger.prototype.or = function (a) { var r = nbi(); this.bitwiseTo(a, op_or, r); return r; };
|
|
|
|
// (public) this ^ a
|
|
function op_xor(x, y) { return x ^ y; }
|
|
BigInteger.prototype.xor = function (a) { var r = nbi(); this.bitwiseTo(a, op_xor, r); return r; };
|
|
|
|
// (public) this & ~a
|
|
function op_andnot(x, y) { return x & ~y; }
|
|
BigInteger.prototype.andNot = function (a) { var r = nbi(); this.bitwiseTo(a, op_andnot, r); return r; };
|
|
|
|
// (public) ~this
|
|
BigInteger.prototype.not = function () {
|
|
var r = nbi();
|
|
for (var i = 0; i < this.t; ++i) r[i] = this.DM & ~this[i];
|
|
r.t = this.t;
|
|
r.s = ~this.s;
|
|
return r;
|
|
};
|
|
|
|
// (public) this << n
|
|
BigInteger.prototype.shiftLeft = function (n) {
|
|
var r = nbi();
|
|
if (n < 0) this.rShiftTo(-n, r); else this.lShiftTo(n, r);
|
|
return r;
|
|
};
|
|
|
|
// (public) this >> n
|
|
BigInteger.prototype.shiftRight = function (n) {
|
|
var r = nbi();
|
|
if (n < 0) this.lShiftTo(-n, r); else this.rShiftTo(n, r);
|
|
return r;
|
|
};
|
|
|
|
// (public) returns index of lowest 1-bit (or -1 if none)
|
|
BigInteger.prototype.getLowestSetBit = function () {
|
|
for (var i = 0; i < this.t; ++i)
|
|
if (this[i] != 0) return i * this.DB + lbit(this[i]);
|
|
if (this.s < 0) return this.t * this.DB;
|
|
return -1;
|
|
};
|
|
|
|
// (public) return number of set bits
|
|
BigInteger.prototype.bitCount = function () {
|
|
var r = 0, x = this.s & this.DM;
|
|
for (var i = 0; i < this.t; ++i) r += cbit(this[i] ^ x);
|
|
return r;
|
|
};
|
|
|
|
// (public) true iff nth bit is set
|
|
BigInteger.prototype.testBit = function (n) {
|
|
var j = Math.floor(n / this.DB);
|
|
if (j >= this.t) return (this.s != 0);
|
|
return ((this[j] & (1 << (n % this.DB))) != 0);
|
|
};
|
|
|
|
// (public) this | (1<<n)
|
|
BigInteger.prototype.setBit = function (n) { return this.changeBit(n, op_or); };
|
|
// (public) this & ~(1<<n)
|
|
BigInteger.prototype.clearBit = function (n) { return this.changeBit(n, op_andnot); };
|
|
// (public) this ^ (1<<n)
|
|
BigInteger.prototype.flipBit = function (n) { return this.changeBit(n, op_xor); };
|
|
// (public) this + a
|
|
BigInteger.prototype.add = function (a) { var r = nbi(); this.addTo(a, r); return r; };
|
|
// (public) this - a
|
|
BigInteger.prototype.subtract = function (a) { var r = nbi(); this.subTo(a, r); return r; };
|
|
// (public) this * a
|
|
BigInteger.prototype.multiply = function (a) { var r = nbi(); this.multiplyTo(a, r); return r; };
|
|
// (public) this / a
|
|
BigInteger.prototype.divide = function (a) { var r = nbi(); this.divRemTo(a, r, null); return r; };
|
|
// (public) this % a
|
|
BigInteger.prototype.remainder = function (a) { var r = nbi(); this.divRemTo(a, null, r); return r; };
|
|
// (public) [this/a,this%a]
|
|
BigInteger.prototype.divideAndRemainder = function (a) {
|
|
var q = nbi(), r = nbi();
|
|
this.divRemTo(a, q, r);
|
|
return new Array(q, r);
|
|
};
|
|
|
|
// (public) this^e % m (HAC 14.85)
|
|
BigInteger.prototype.modPow = function (e, m) {
|
|
var i = e.bitLength(), k, r = nbv(1), z;
|
|
if (i <= 0) return r;
|
|
else if (i < 18) k = 1;
|
|
else if (i < 48) k = 3;
|
|
else if (i < 144) k = 4;
|
|
else if (i < 768) k = 5;
|
|
else k = 6;
|
|
if (i < 8)
|
|
z = new Classic(m);
|
|
else if (m.isEven())
|
|
z = new Barrett(m);
|
|
else
|
|
z = new Montgomery(m);
|
|
|
|
// precomputation
|
|
var g = new Array(), n = 3, k1 = k - 1, km = (1 << k) - 1;
|
|
g[1] = z.convert(this);
|
|
if (k > 1) {
|
|
var g2 = nbi();
|
|
z.sqrTo(g[1], g2);
|
|
while (n <= km) {
|
|
g[n] = nbi();
|
|
z.mulTo(g2, g[n - 2], g[n]);
|
|
n += 2;
|
|
}
|
|
}
|
|
|
|
var j = e.t - 1, w, is1 = true, r2 = nbi(), t;
|
|
i = nbits(e[j]) - 1;
|
|
while (j >= 0) {
|
|
if (i >= k1) w = (e[j] >> (i - k1)) & km;
|
|
else {
|
|
w = (e[j] & ((1 << (i + 1)) - 1)) << (k1 - i);
|
|
if (j > 0) w |= e[j - 1] >> (this.DB + i - k1);
|
|
}
|
|
|
|
n = k;
|
|
while ((w & 1) == 0) { w >>= 1; --n; }
|
|
if ((i -= n) < 0) { i += this.DB; --j; }
|
|
if (is1) { // ret == 1, don't bother squaring or multiplying it
|
|
g[w].copyTo(r);
|
|
is1 = false;
|
|
}
|
|
else {
|
|
while (n > 1) { z.sqrTo(r, r2); z.sqrTo(r2, r); n -= 2; }
|
|
if (n > 0) z.sqrTo(r, r2); else { t = r; r = r2; r2 = t; }
|
|
z.mulTo(r2, g[w], r);
|
|
}
|
|
|
|
while (j >= 0 && (e[j] & (1 << i)) == 0) {
|
|
z.sqrTo(r, r2); t = r; r = r2; r2 = t;
|
|
if (--i < 0) { i = this.DB - 1; --j; }
|
|
}
|
|
}
|
|
return z.revert(r);
|
|
};
|
|
|
|
// (public) 1/this % m (HAC 14.61)
|
|
BigInteger.prototype.modInverse = function (m) {
|
|
var ac = m.isEven();
|
|
if ((this.isEven() && ac) || m.signum() == 0) return BigInteger.ZERO;
|
|
var u = m.clone(), v = this.clone();
|
|
var a = nbv(1), b = nbv(0), c = nbv(0), d = nbv(1);
|
|
while (u.signum() != 0) {
|
|
while (u.isEven()) {
|
|
u.rShiftTo(1, u);
|
|
if (ac) {
|
|
if (!a.isEven() || !b.isEven()) { a.addTo(this, a); b.subTo(m, b); }
|
|
a.rShiftTo(1, a);
|
|
}
|
|
else if (!b.isEven()) b.subTo(m, b);
|
|
b.rShiftTo(1, b);
|
|
}
|
|
while (v.isEven()) {
|
|
v.rShiftTo(1, v);
|
|
if (ac) {
|
|
if (!c.isEven() || !d.isEven()) { c.addTo(this, c); d.subTo(m, d); }
|
|
c.rShiftTo(1, c);
|
|
}
|
|
else if (!d.isEven()) d.subTo(m, d);
|
|
d.rShiftTo(1, d);
|
|
}
|
|
if (u.compareTo(v) >= 0) {
|
|
u.subTo(v, u);
|
|
if (ac) a.subTo(c, a);
|
|
b.subTo(d, b);
|
|
}
|
|
else {
|
|
v.subTo(u, v);
|
|
if (ac) c.subTo(a, c);
|
|
d.subTo(b, d);
|
|
}
|
|
}
|
|
if (v.compareTo(BigInteger.ONE) != 0) return BigInteger.ZERO;
|
|
if (d.compareTo(m) >= 0) return d.subtract(m);
|
|
if (d.signum() < 0) d.addTo(m, d); else return d;
|
|
if (d.signum() < 0) return d.add(m); else return d;
|
|
};
|
|
|
|
|
|
// (public) this^e
|
|
BigInteger.prototype.pow = function (e) { return this.exp(e, new NullExp()); };
|
|
|
|
// (public) gcd(this,a) (HAC 14.54)
|
|
BigInteger.prototype.gcd = function (a) {
|
|
var x = (this.s < 0) ? this.negate() : this.clone();
|
|
var y = (a.s < 0) ? a.negate() : a.clone();
|
|
if (x.compareTo(y) < 0) { var t = x; x = y; y = t; }
|
|
var i = x.getLowestSetBit(), g = y.getLowestSetBit();
|
|
if (g < 0) return x;
|
|
if (i < g) g = i;
|
|
if (g > 0) {
|
|
x.rShiftTo(g, x);
|
|
y.rShiftTo(g, y);
|
|
}
|
|
while (x.signum() > 0) {
|
|
if ((i = x.getLowestSetBit()) > 0) x.rShiftTo(i, x);
|
|
if ((i = y.getLowestSetBit()) > 0) y.rShiftTo(i, y);
|
|
if (x.compareTo(y) >= 0) {
|
|
x.subTo(y, x);
|
|
x.rShiftTo(1, x);
|
|
}
|
|
else {
|
|
y.subTo(x, y);
|
|
y.rShiftTo(1, y);
|
|
}
|
|
}
|
|
if (g > 0) y.lShiftTo(g, y);
|
|
return y;
|
|
};
|
|
|
|
// (public) test primality with certainty >= 1-.5^t
|
|
BigInteger.prototype.isProbablePrime = function (t) {
|
|
var i, x = this.abs();
|
|
if (x.t == 1 && x[0] <= lowprimes[lowprimes.length - 1]) {
|
|
for (i = 0; i < lowprimes.length; ++i)
|
|
if (x[0] == lowprimes[i]) return true;
|
|
return false;
|
|
}
|
|
if (x.isEven()) return false;
|
|
i = 1;
|
|
while (i < lowprimes.length) {
|
|
var m = lowprimes[i], j = i + 1;
|
|
while (j < lowprimes.length && m < lplim) m *= lowprimes[j++];
|
|
m = x.modInt(m);
|
|
while (i < j) if (m % lowprimes[i++] == 0) return false;
|
|
}
|
|
return x.millerRabin(t);
|
|
};
|
|
|
|
|
|
// JSBN-specific extension
|
|
|
|
// (public) this^2
|
|
BigInteger.prototype.square = function () { var r = nbi(); this.squareTo(r); return r; };
|
|
|
|
|
|
// NOTE: BigInteger interfaces not implemented in jsbn:
|
|
// BigInteger(int signum, byte[] magnitude)
|
|
// double doubleValue()
|
|
// float floatValue()
|
|
// int hashCode()
|
|
// long longValue()
|
|
// static BigInteger valueOf(long val)
|
|
|
|
|
|
|
|
// Copyright Stephan Thomas (start) --- //
|
|
// BigInteger monkey patching
|
|
BigInteger.valueOf = nbv;
|
|
BigInteger.prototype.toByteArrayUnsigned = function () {
|
|
var ba = this.toByteArray();
|
|
if (ba.length) {
|
|
if (ba[0] == 0) {
|
|
ba = ba.slice(1);
|
|
}
|
|
return ba.map(function (v) {
|
|
return (v < 0) ? v + 256 : v;
|
|
});
|
|
} else {
|
|
// Empty array, nothing to do
|
|
return ba;
|
|
}
|
|
};
|
|
BigInteger.fromByteArrayUnsigned = function (ba) {
|
|
if (!ba.length) {
|
|
return ba.valueOf(0);
|
|
} else if (ba[0] & 0x80) {
|
|
// Prepend a zero so the BigInteger class doesn't mistake this
|
|
// for a negative integer.
|
|
return new BigInteger([0].concat(ba));
|
|
} else {
|
|
return new BigInteger(ba);
|
|
}
|
|
};
|
|
// Copyright Stephan Thomas (end) --- //
|
|
|
|
|
|
|
|
|
|
// ****** REDUCTION ******* //
|
|
|
|
// Modular reduction using "classic" algorithm
|
|
function Classic(m) { this.m = m; }
|
|
Classic.prototype.convert = function (x) {
|
|
if (x.s < 0 || x.compareTo(this.m) >= 0) return x.mod(this.m);
|
|
else return x;
|
|
};
|
|
Classic.prototype.revert = function (x) { return x; };
|
|
Classic.prototype.reduce = function (x) { x.divRemTo(this.m, null, x); };
|
|
Classic.prototype.mulTo = function (x, y, r) { x.multiplyTo(y, r); this.reduce(r); };
|
|
Classic.prototype.sqrTo = function (x, r) { x.squareTo(r); this.reduce(r); };
|
|
|
|
|
|
|
|
|
|
|
|
// Montgomery reduction
|
|
function Montgomery(m) {
|
|
this.m = m;
|
|
this.mp = m.invDigit();
|
|
this.mpl = this.mp & 0x7fff;
|
|
this.mph = this.mp >> 15;
|
|
this.um = (1 << (m.DB - 15)) - 1;
|
|
this.mt2 = 2 * m.t;
|
|
}
|
|
// xR mod m
|
|
Montgomery.prototype.convert = function (x) {
|
|
var r = nbi();
|
|
x.abs().dlShiftTo(this.m.t, r);
|
|
r.divRemTo(this.m, null, r);
|
|
if (x.s < 0 && r.compareTo(BigInteger.ZERO) > 0) this.m.subTo(r, r);
|
|
return r;
|
|
}
|
|
// x/R mod m
|
|
Montgomery.prototype.revert = function (x) {
|
|
var r = nbi();
|
|
x.copyTo(r);
|
|
this.reduce(r);
|
|
return r;
|
|
};
|
|
// x = x/R mod m (HAC 14.32)
|
|
Montgomery.prototype.reduce = function (x) {
|
|
while (x.t <= this.mt2) // pad x so am has enough room later
|
|
x[x.t++] = 0;
|
|
for (var i = 0; i < this.m.t; ++i) {
|
|
// faster way of calculating u0 = x[i]*mp mod DV
|
|
var j = x[i] & 0x7fff;
|
|
var u0 = (j * this.mpl + (((j * this.mph + (x[i] >> 15) * this.mpl) & this.um) << 15)) & x.DM;
|
|
// use am to combine the multiply-shift-add into one call
|
|
j = i + this.m.t;
|
|
x[j] += this.m.am(0, u0, x, i, 0, this.m.t);
|
|
// propagate carry
|
|
while (x[j] >= x.DV) { x[j] -= x.DV; x[++j]++; }
|
|
}
|
|
x.clamp();
|
|
x.drShiftTo(this.m.t, x);
|
|
if (x.compareTo(this.m) >= 0) x.subTo(this.m, x);
|
|
};
|
|
// r = "xy/R mod m"; x,y != r
|
|
Montgomery.prototype.mulTo = function (x, y, r) { x.multiplyTo(y, r); this.reduce(r); };
|
|
// r = "x^2/R mod m"; x != r
|
|
Montgomery.prototype.sqrTo = function (x, r) { x.squareTo(r); this.reduce(r); };
|
|
|
|
|
|
|
|
|
|
|
|
// A "null" reducer
|
|
function NullExp() { }
|
|
NullExp.prototype.convert = function (x) { return x; };
|
|
NullExp.prototype.revert = function (x) { return x; };
|
|
NullExp.prototype.mulTo = function (x, y, r) { x.multiplyTo(y, r); };
|
|
NullExp.prototype.sqrTo = function (x, r) { x.squareTo(r); };
|
|
|
|
|
|
|
|
|
|
|
|
// Barrett modular reduction
|
|
function Barrett(m) {
|
|
// setup Barrett
|
|
this.r2 = nbi();
|
|
this.q3 = nbi();
|
|
BigInteger.ONE.dlShiftTo(2 * m.t, this.r2);
|
|
this.mu = this.r2.divide(m);
|
|
this.m = m;
|
|
}
|
|
Barrett.prototype.convert = function (x) {
|
|
if (x.s < 0 || x.t > 2 * this.m.t) return x.mod(this.m);
|
|
else if (x.compareTo(this.m) < 0) return x;
|
|
else { var r = nbi(); x.copyTo(r); this.reduce(r); return r; }
|
|
};
|
|
Barrett.prototype.revert = function (x) { return x; };
|
|
// x = x mod m (HAC 14.42)
|
|
Barrett.prototype.reduce = function (x) {
|
|
x.drShiftTo(this.m.t - 1, this.r2);
|
|
if (x.t > this.m.t + 1) { x.t = this.m.t + 1; x.clamp(); }
|
|
this.mu.multiplyUpperTo(this.r2, this.m.t + 1, this.q3);
|
|
this.m.multiplyLowerTo(this.q3, this.m.t + 1, this.r2);
|
|
while (x.compareTo(this.r2) < 0) x.dAddOffset(1, this.m.t + 1);
|
|
x.subTo(this.r2, x);
|
|
while (x.compareTo(this.m) >= 0) x.subTo(this.m, x);
|
|
};
|
|
// r = x*y mod m; x,y != r
|
|
Barrett.prototype.mulTo = function (x, y, r) { x.multiplyTo(y, r); this.reduce(r); };
|
|
// r = x^2 mod m; x != r
|
|
Barrett.prototype.sqrTo = function (x, r) { x.squareTo(r); this.reduce(r); };
|
|
|
|
})();
|
|
</script>
|
|
|
|
<script type="text/javascript">
|
|
//---------------------------------------------------------------------
|
|
// QRCode for JavaScript
|
|
//
|
|
// Copyright (c) 2009 Kazuhiko Arase
|
|
//
|
|
// URL: http://www.d-project.com/
|
|
//
|
|
// Licensed under the MIT license:
|
|
// http://www.opensource.org/licenses/mit-license.php
|
|
//
|
|
// The word "QR Code" is registered trademark of
|
|
// DENSO WAVE INCORPORATED
|
|
// http://www.denso-wave.com/qrcode/faqpatent-e.html
|
|
//
|
|
//---------------------------------------------------------------------
|
|
|
|
(function () {
|
|
//---------------------------------------------------------------------
|
|
// QRCode
|
|
//---------------------------------------------------------------------
|
|
|
|
var QRCode = window.QRCode = function (typeNumber, errorCorrectLevel) {
|
|
this.typeNumber = typeNumber;
|
|
this.errorCorrectLevel = errorCorrectLevel;
|
|
this.modules = null;
|
|
this.moduleCount = 0;
|
|
this.dataCache = null;
|
|
this.dataList = new Array();
|
|
}
|
|
|
|
QRCode.prototype = {
|
|
|
|
addData: function (data) {
|
|
var newData = new QRCode.QR8bitByte(data);
|
|
this.dataList.push(newData);
|
|
this.dataCache = null;
|
|
},
|
|
|
|
isDark: function (row, col) {
|
|
if (row < 0 || this.moduleCount <= row || col < 0 || this.moduleCount <= col) {
|
|
throw new Error(row + "," + col);
|
|
}
|
|
return this.modules[row][col];
|
|
},
|
|
|
|
getModuleCount: function () {
|
|
return this.moduleCount;
|
|
},
|
|
|
|
make: function () {
|
|
this.makeImpl(false, this.getBestMaskPattern());
|
|
},
|
|
|
|
makeImpl: function (test, maskPattern) {
|
|
|
|
this.moduleCount = this.typeNumber * 4 + 17;
|
|
this.modules = new Array(this.moduleCount);
|
|
|
|
for (var row = 0; row < this.moduleCount; row++) {
|
|
|
|
this.modules[row] = new Array(this.moduleCount);
|
|
|
|
for (var col = 0; col < this.moduleCount; col++) {
|
|
this.modules[row][col] = null; //(col + row) % 3;
|
|
}
|
|
}
|
|
|
|
this.setupPositionProbePattern(0, 0);
|
|
this.setupPositionProbePattern(this.moduleCount - 7, 0);
|
|
this.setupPositionProbePattern(0, this.moduleCount - 7);
|
|
this.setupPositionAdjustPattern();
|
|
this.setupTimingPattern();
|
|
this.setupTypeInfo(test, maskPattern);
|
|
|
|
if (this.typeNumber >= 7) {
|
|
this.setupTypeNumber(test);
|
|
}
|
|
|
|
if (this.dataCache == null) {
|
|
this.dataCache = QRCode.createData(this.typeNumber, this.errorCorrectLevel, this.dataList);
|
|
}
|
|
|
|
this.mapData(this.dataCache, maskPattern);
|
|
},
|
|
|
|
setupPositionProbePattern: function (row, col) {
|
|
|
|
for (var r = -1; r <= 7; r++) {
|
|
|
|
if (row + r <= -1 || this.moduleCount <= row + r) continue;
|
|
|
|
for (var c = -1; c <= 7; c++) {
|
|
|
|
if (col + c <= -1 || this.moduleCount <= col + c) continue;
|
|
|
|
if ((0 <= r && r <= 6 && (c == 0 || c == 6))
|
|
|| (0 <= c && c <= 6 && (r == 0 || r == 6))
|
|
|| (2 <= r && r <= 4 && 2 <= c && c <= 4)) {
|
|
this.modules[row + r][col + c] = true;
|
|
} else {
|
|
this.modules[row + r][col + c] = false;
|
|
}
|
|
}
|
|
}
|
|
},
|
|
|
|
getBestMaskPattern: function () {
|
|
|
|
var minLostPoint = 0;
|
|
var pattern = 0;
|
|
|
|
for (var i = 0; i < 8; i++) {
|
|
|
|
this.makeImpl(true, i);
|
|
|
|
var lostPoint = QRCode.Util.getLostPoint(this);
|
|
|
|
if (i == 0 || minLostPoint > lostPoint) {
|
|
minLostPoint = lostPoint;
|
|
pattern = i;
|
|
}
|
|
}
|
|
|
|
return pattern;
|
|
},
|
|
|
|
createMovieClip: function (target_mc, instance_name, depth) {
|
|
|
|
var qr_mc = target_mc.createEmptyMovieClip(instance_name, depth);
|
|
var cs = 1;
|
|
|
|
this.make();
|
|
|
|
for (var row = 0; row < this.modules.length; row++) {
|
|
|
|
var y = row * cs;
|
|
|
|
for (var col = 0; col < this.modules[row].length; col++) {
|
|
|
|
var x = col * cs;
|
|
var dark = this.modules[row][col];
|
|
|
|
if (dark) {
|
|
qr_mc.beginFill(0, 100);
|
|
qr_mc.moveTo(x, y);
|
|
qr_mc.lineTo(x + cs, y);
|
|
qr_mc.lineTo(x + cs, y + cs);
|
|
qr_mc.lineTo(x, y + cs);
|
|
qr_mc.endFill();
|
|
}
|
|
}
|
|
}
|
|
|
|
return qr_mc;
|
|
},
|
|
|
|
setupTimingPattern: function () {
|
|
|
|
for (var r = 8; r < this.moduleCount - 8; r++) {
|
|
if (this.modules[r][6] != null) {
|
|
continue;
|
|
}
|
|
this.modules[r][6] = (r % 2 == 0);
|
|
}
|
|
|
|
for (var c = 8; c < this.moduleCount - 8; c++) {
|
|
if (this.modules[6][c] != null) {
|
|
continue;
|
|
}
|
|
this.modules[6][c] = (c % 2 == 0);
|
|
}
|
|
},
|
|
|
|
setupPositionAdjustPattern: function () {
|
|
|
|
var pos = QRCode.Util.getPatternPosition(this.typeNumber);
|
|
|
|
for (var i = 0; i < pos.length; i++) {
|
|
|
|
for (var j = 0; j < pos.length; j++) {
|
|
|
|
var row = pos[i];
|
|
var col = pos[j];
|
|
|
|
if (this.modules[row][col] != null) {
|
|
continue;
|
|
}
|
|
|
|
for (var r = -2; r <= 2; r++) {
|
|
|
|
for (var c = -2; c <= 2; c++) {
|
|
|
|
if (r == -2 || r == 2 || c == -2 || c == 2
|
|
|| (r == 0 && c == 0)) {
|
|
this.modules[row + r][col + c] = true;
|
|
} else {
|
|
this.modules[row + r][col + c] = false;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
|
|
setupTypeNumber: function (test) {
|
|
|
|
var bits = QRCode.Util.getBCHTypeNumber(this.typeNumber);
|
|
|
|
for (var i = 0; i < 18; i++) {
|
|
var mod = (!test && ((bits >> i) & 1) == 1);
|
|
this.modules[Math.floor(i / 3)][i % 3 + this.moduleCount - 8 - 3] = mod;
|
|
}
|
|
|
|
for (var i = 0; i < 18; i++) {
|
|
var mod = (!test && ((bits >> i) & 1) == 1);
|
|
this.modules[i % 3 + this.moduleCount - 8 - 3][Math.floor(i / 3)] = mod;
|
|
}
|
|
},
|
|
|
|
setupTypeInfo: function (test, maskPattern) {
|
|
|
|
var data = (this.errorCorrectLevel << 3) | maskPattern;
|
|
var bits = QRCode.Util.getBCHTypeInfo(data);
|
|
|
|
// vertical
|
|
for (var i = 0; i < 15; i++) {
|
|
|
|
var mod = (!test && ((bits >> i) & 1) == 1);
|
|
|
|
if (i < 6) {
|
|
this.modules[i][8] = mod;
|
|
} else if (i < 8) {
|
|
this.modules[i + 1][8] = mod;
|
|
} else {
|
|
this.modules[this.moduleCount - 15 + i][8] = mod;
|
|
}
|
|
}
|
|
|
|
// horizontal
|
|
for (var i = 0; i < 15; i++) {
|
|
|
|
var mod = (!test && ((bits >> i) & 1) == 1);
|
|
|
|
if (i < 8) {
|
|
this.modules[8][this.moduleCount - i - 1] = mod;
|
|
} else if (i < 9) {
|
|
this.modules[8][15 - i - 1 + 1] = mod;
|
|
} else {
|
|
this.modules[8][15 - i - 1] = mod;
|
|
}
|
|
}
|
|
|
|
// fixed module
|
|
this.modules[this.moduleCount - 8][8] = (!test);
|
|
|
|
},
|
|
|
|
mapData: function (data, maskPattern) {
|
|
|
|
var inc = -1;
|
|
var row = this.moduleCount - 1;
|
|
var bitIndex = 7;
|
|
var byteIndex = 0;
|
|
|
|
for (var col = this.moduleCount - 1; col > 0; col -= 2) {
|
|
|
|
if (col == 6) col--;
|
|
|
|
while (true) {
|
|
|
|
for (var c = 0; c < 2; c++) {
|
|
|
|
if (this.modules[row][col - c] == null) {
|
|
|
|
var dark = false;
|
|
|
|
if (byteIndex < data.length) {
|
|
dark = (((data[byteIndex] >>> bitIndex) & 1) == 1);
|
|
}
|
|
|
|
var mask = QRCode.Util.getMask(maskPattern, row, col - c);
|
|
|
|
if (mask) {
|
|
dark = !dark;
|
|
}
|
|
|
|
this.modules[row][col - c] = dark;
|
|
bitIndex--;
|
|
|
|
if (bitIndex == -1) {
|
|
byteIndex++;
|
|
bitIndex = 7;
|
|
}
|
|
}
|
|
}
|
|
|
|
row += inc;
|
|
|
|
if (row < 0 || this.moduleCount <= row) {
|
|
row -= inc;
|
|
inc = -inc;
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
|
|
}
|
|
|
|
};
|
|
|
|
QRCode.PAD0 = 0xEC;
|
|
QRCode.PAD1 = 0x11;
|
|
|
|
QRCode.createData = function (typeNumber, errorCorrectLevel, dataList) {
|
|
|
|
var rsBlocks = QRCode.RSBlock.getRSBlocks(typeNumber, errorCorrectLevel);
|
|
|
|
var buffer = new QRCode.BitBuffer();
|
|
|
|
for (var i = 0; i < dataList.length; i++) {
|
|
var data = dataList[i];
|
|
buffer.put(data.mode, 4);
|
|
buffer.put(data.getLength(), QRCode.Util.getLengthInBits(data.mode, typeNumber));
|
|
data.write(buffer);
|
|
}
|
|
|
|
// calc num max data.
|
|
var totalDataCount = 0;
|
|
for (var i = 0; i < rsBlocks.length; i++) {
|
|
totalDataCount += rsBlocks[i].dataCount;
|
|
}
|
|
|
|
if (buffer.getLengthInBits() > totalDataCount * 8) {
|
|
throw new Error("code length overflow. ("
|
|
+ buffer.getLengthInBits()
|
|
+ ">"
|
|
+ totalDataCount * 8
|
|
+ ")");
|
|
}
|
|
|
|
// end code
|
|
if (buffer.getLengthInBits() + 4 <= totalDataCount * 8) {
|
|
buffer.put(0, 4);
|
|
}
|
|
|
|
// padding
|
|
while (buffer.getLengthInBits() % 8 != 0) {
|
|
buffer.putBit(false);
|
|
}
|
|
|
|
// padding
|
|
while (true) {
|
|
|
|
if (buffer.getLengthInBits() >= totalDataCount * 8) {
|
|
break;
|
|
}
|
|
buffer.put(QRCode.PAD0, 8);
|
|
|
|
if (buffer.getLengthInBits() >= totalDataCount * 8) {
|
|
break;
|
|
}
|
|
buffer.put(QRCode.PAD1, 8);
|
|
}
|
|
|
|
return QRCode.createBytes(buffer, rsBlocks);
|
|
};
|
|
|
|
QRCode.createBytes = function (buffer, rsBlocks) {
|
|
|
|
var offset = 0;
|
|
|
|
var maxDcCount = 0;
|
|
var maxEcCount = 0;
|
|
|
|
var dcdata = new Array(rsBlocks.length);
|
|
var ecdata = new Array(rsBlocks.length);
|
|
|
|
for (var r = 0; r < rsBlocks.length; r++) {
|
|
|
|
var dcCount = rsBlocks[r].dataCount;
|
|
var ecCount = rsBlocks[r].totalCount - dcCount;
|
|
|
|
maxDcCount = Math.max(maxDcCount, dcCount);
|
|
maxEcCount = Math.max(maxEcCount, ecCount);
|
|
|
|
dcdata[r] = new Array(dcCount);
|
|
|
|
for (var i = 0; i < dcdata[r].length; i++) {
|
|
dcdata[r][i] = 0xff & buffer.buffer[i + offset];
|
|
}
|
|
offset += dcCount;
|
|
|
|
var rsPoly = QRCode.Util.getErrorCorrectPolynomial(ecCount);
|
|
var rawPoly = new QRCode.Polynomial(dcdata[r], rsPoly.getLength() - 1);
|
|
|
|
var modPoly = rawPoly.mod(rsPoly);
|
|
ecdata[r] = new Array(rsPoly.getLength() - 1);
|
|
for (var i = 0; i < ecdata[r].length; i++) {
|
|
var modIndex = i + modPoly.getLength() - ecdata[r].length;
|
|
ecdata[r][i] = (modIndex >= 0) ? modPoly.get(modIndex) : 0;
|
|
}
|
|
|
|
}
|
|
|
|
var totalCodeCount = 0;
|
|
for (var i = 0; i < rsBlocks.length; i++) {
|
|
totalCodeCount += rsBlocks[i].totalCount;
|
|
}
|
|
|
|
var data = new Array(totalCodeCount);
|
|
var index = 0;
|
|
|
|
for (var i = 0; i < maxDcCount; i++) {
|
|
for (var r = 0; r < rsBlocks.length; r++) {
|
|
if (i < dcdata[r].length) {
|
|
data[index++] = dcdata[r][i];
|
|
}
|
|
}
|
|
}
|
|
|
|
for (var i = 0; i < maxEcCount; i++) {
|
|
for (var r = 0; r < rsBlocks.length; r++) {
|
|
if (i < ecdata[r].length) {
|
|
data[index++] = ecdata[r][i];
|
|
}
|
|
}
|
|
}
|
|
|
|
return data;
|
|
|
|
};
|
|
|
|
//---------------------------------------------------------------------
|
|
// QR8bitByte
|
|
//---------------------------------------------------------------------
|
|
QRCode.QR8bitByte = function (data) {
|
|
this.mode = QRCode.Mode.MODE_8BIT_BYTE;
|
|
this.data = data;
|
|
}
|
|
|
|
QRCode.QR8bitByte.prototype = {
|
|
getLength: function (buffer) {
|
|
return this.data.length;
|
|
},
|
|
|
|
write: function (buffer) {
|
|
for (var i = 0; i < this.data.length; i++) {
|
|
// not JIS ...
|
|
buffer.put(this.data.charCodeAt(i), 8);
|
|
}
|
|
}
|
|
};
|
|
|
|
|
|
//---------------------------------------------------------------------
|
|
// QRMode
|
|
//---------------------------------------------------------------------
|
|
QRCode.Mode = {
|
|
MODE_NUMBER: 1 << 0,
|
|
MODE_ALPHA_NUM: 1 << 1,
|
|
MODE_8BIT_BYTE: 1 << 2,
|
|
MODE_KANJI: 1 << 3
|
|
};
|
|
|
|
//---------------------------------------------------------------------
|
|
// QRErrorCorrectLevel
|
|
//---------------------------------------------------------------------
|
|
QRCode.ErrorCorrectLevel = {
|
|
L: 1,
|
|
M: 0,
|
|
Q: 3,
|
|
H: 2
|
|
};
|
|
|
|
|
|
//---------------------------------------------------------------------
|
|
// QRMaskPattern
|
|
//---------------------------------------------------------------------
|
|
QRCode.MaskPattern = {
|
|
PATTERN000: 0,
|
|
PATTERN001: 1,
|
|
PATTERN010: 2,
|
|
PATTERN011: 3,
|
|
PATTERN100: 4,
|
|
PATTERN101: 5,
|
|
PATTERN110: 6,
|
|
PATTERN111: 7
|
|
};
|
|
|
|
//---------------------------------------------------------------------
|
|
// QRUtil
|
|
//---------------------------------------------------------------------
|
|
|
|
QRCode.Util = {
|
|
|
|
PATTERN_POSITION_TABLE: [
|
|
[],
|
|
[6, 18],
|
|
[6, 22],
|
|
[6, 26],
|
|
[6, 30],
|
|
[6, 34],
|
|
[6, 22, 38],
|
|
[6, 24, 42],
|
|
[6, 26, 46],
|
|
[6, 28, 50],
|
|
[6, 30, 54],
|
|
[6, 32, 58],
|
|
[6, 34, 62],
|
|
[6, 26, 46, 66],
|
|
[6, 26, 48, 70],
|
|
[6, 26, 50, 74],
|
|
[6, 30, 54, 78],
|
|
[6, 30, 56, 82],
|
|
[6, 30, 58, 86],
|
|
[6, 34, 62, 90],
|
|
[6, 28, 50, 72, 94],
|
|
[6, 26, 50, 74, 98],
|
|
[6, 30, 54, 78, 102],
|
|
[6, 28, 54, 80, 106],
|
|
[6, 32, 58, 84, 110],
|
|
[6, 30, 58, 86, 114],
|
|
[6, 34, 62, 90, 118],
|
|
[6, 26, 50, 74, 98, 122],
|
|
[6, 30, 54, 78, 102, 126],
|
|
[6, 26, 52, 78, 104, 130],
|
|
[6, 30, 56, 82, 108, 134],
|
|
[6, 34, 60, 86, 112, 138],
|
|
[6, 30, 58, 86, 114, 142],
|
|
[6, 34, 62, 90, 118, 146],
|
|
[6, 30, 54, 78, 102, 126, 150],
|
|
[6, 24, 50, 76, 102, 128, 154],
|
|
[6, 28, 54, 80, 106, 132, 158],
|
|
[6, 32, 58, 84, 110, 136, 162],
|
|
[6, 26, 54, 82, 110, 138, 166],
|
|
[6, 30, 58, 86, 114, 142, 170]
|
|
],
|
|
|
|
G15: (1 << 10) | (1 << 8) | (1 << 5) | (1 << 4) | (1 << 2) | (1 << 1) | (1 << 0),
|
|
G18: (1 << 12) | (1 << 11) | (1 << 10) | (1 << 9) | (1 << 8) | (1 << 5) | (1 << 2) | (1 << 0),
|
|
G15_MASK: (1 << 14) | (1 << 12) | (1 << 10) | (1 << 4) | (1 << 1),
|
|
|
|
getBCHTypeInfo: function (data) {
|
|
var d = data << 10;
|
|
while (QRCode.Util.getBCHDigit(d) - QRCode.Util.getBCHDigit(QRCode.Util.G15) >= 0) {
|
|
d ^= (QRCode.Util.G15 << (QRCode.Util.getBCHDigit(d) - QRCode.Util.getBCHDigit(QRCode.Util.G15)));
|
|
}
|
|
return ((data << 10) | d) ^ QRCode.Util.G15_MASK;
|
|
},
|
|
|
|
getBCHTypeNumber: function (data) {
|
|
var d = data << 12;
|
|
while (QRCode.Util.getBCHDigit(d) - QRCode.Util.getBCHDigit(QRCode.Util.G18) >= 0) {
|
|
d ^= (QRCode.Util.G18 << (QRCode.Util.getBCHDigit(d) - QRCode.Util.getBCHDigit(QRCode.Util.G18)));
|
|
}
|
|
return (data << 12) | d;
|
|
},
|
|
|
|
getBCHDigit: function (data) {
|
|
|
|
var digit = 0;
|
|
|
|
while (data != 0) {
|
|
digit++;
|
|
data >>>= 1;
|
|
}
|
|
|
|
return digit;
|
|
},
|
|
|
|
getPatternPosition: function (typeNumber) {
|
|
return QRCode.Util.PATTERN_POSITION_TABLE[typeNumber - 1];
|
|
},
|
|
|
|
getMask: function (maskPattern, i, j) {
|
|
|
|
switch (maskPattern) {
|
|
|
|
case QRCode.MaskPattern.PATTERN000: return (i + j) % 2 == 0;
|
|
case QRCode.MaskPattern.PATTERN001: return i % 2 == 0;
|
|
case QRCode.MaskPattern.PATTERN010: return j % 3 == 0;
|
|
case QRCode.MaskPattern.PATTERN011: return (i + j) % 3 == 0;
|
|
case QRCode.MaskPattern.PATTERN100: return (Math.floor(i / 2) + Math.floor(j / 3)) % 2 == 0;
|
|
case QRCode.MaskPattern.PATTERN101: return (i * j) % 2 + (i * j) % 3 == 0;
|
|
case QRCode.MaskPattern.PATTERN110: return ((i * j) % 2 + (i * j) % 3) % 2 == 0;
|
|
case QRCode.MaskPattern.PATTERN111: return ((i * j) % 3 + (i + j) % 2) % 2 == 0;
|
|
|
|
default:
|
|
throw new Error("bad maskPattern:" + maskPattern);
|
|
}
|
|
},
|
|
|
|
getErrorCorrectPolynomial: function (errorCorrectLength) {
|
|
|
|
var a = new QRCode.Polynomial([1], 0);
|
|
|
|
for (var i = 0; i < errorCorrectLength; i++) {
|
|
a = a.multiply(new QRCode.Polynomial([1, QRCode.Math.gexp(i)], 0));
|
|
}
|
|
|
|
return a;
|
|
},
|
|
|
|
getLengthInBits: function (mode, type) {
|
|
|
|
if (1 <= type && type < 10) {
|
|
|
|
// 1 - 9
|
|
|
|
switch (mode) {
|
|
case QRCode.Mode.MODE_NUMBER: return 10;
|
|
case QRCode.Mode.MODE_ALPHA_NUM: return 9;
|
|
case QRCode.Mode.MODE_8BIT_BYTE: return 8;
|
|
case QRCode.Mode.MODE_KANJI: return 8;
|
|
default:
|
|
throw new Error("mode:" + mode);
|
|
}
|
|
|
|
} else if (type < 27) {
|
|
|
|
// 10 - 26
|
|
|
|
switch (mode) {
|
|
case QRCode.Mode.MODE_NUMBER: return 12;
|
|
case QRCode.Mode.MODE_ALPHA_NUM: return 11;
|
|
case QRCode.Mode.MODE_8BIT_BYTE: return 16;
|
|
case QRCode.Mode.MODE_KANJI: return 10;
|
|
default:
|
|
throw new Error("mode:" + mode);
|
|
}
|
|
|
|
} else if (type < 41) {
|
|
|
|
// 27 - 40
|
|
|
|
switch (mode) {
|
|
case QRCode.Mode.MODE_NUMBER: return 14;
|
|
case QRCode.Mode.MODE_ALPHA_NUM: return 13;
|
|
case QRCode.Mode.MODE_8BIT_BYTE: return 16;
|
|
case QRCode.Mode.MODE_KANJI: return 12;
|
|
default:
|
|
throw new Error("mode:" + mode);
|
|
}
|
|
|
|
} else {
|
|
throw new Error("type:" + type);
|
|
}
|
|
},
|
|
|
|
getLostPoint: function (qrCode) {
|
|
|
|
var moduleCount = qrCode.getModuleCount();
|
|
|
|
var lostPoint = 0;
|
|
|
|
// LEVEL1
|
|
|
|
for (var row = 0; row < moduleCount; row++) {
|
|
|
|
for (var col = 0; col < moduleCount; col++) {
|
|
|
|
var sameCount = 0;
|
|
var dark = qrCode.isDark(row, col);
|
|
|
|
for (var r = -1; r <= 1; r++) {
|
|
|
|
if (row + r < 0 || moduleCount <= row + r) {
|
|
continue;
|
|
}
|
|
|
|
for (var c = -1; c <= 1; c++) {
|
|
|
|
if (col + c < 0 || moduleCount <= col + c) {
|
|
continue;
|
|
}
|
|
|
|
if (r == 0 && c == 0) {
|
|
continue;
|
|
}
|
|
|
|
if (dark == qrCode.isDark(row + r, col + c)) {
|
|
sameCount++;
|
|
}
|
|
}
|
|
}
|
|
|
|
if (sameCount > 5) {
|
|
lostPoint += (3 + sameCount - 5);
|
|
}
|
|
}
|
|
}
|
|
|
|
// LEVEL2
|
|
|
|
for (var row = 0; row < moduleCount - 1; row++) {
|
|
for (var col = 0; col < moduleCount - 1; col++) {
|
|
var count = 0;
|
|
if (qrCode.isDark(row, col)) count++;
|
|
if (qrCode.isDark(row + 1, col)) count++;
|
|
if (qrCode.isDark(row, col + 1)) count++;
|
|
if (qrCode.isDark(row + 1, col + 1)) count++;
|
|
if (count == 0 || count == 4) {
|
|
lostPoint += 3;
|
|
}
|
|
}
|
|
}
|
|
|
|
// LEVEL3
|
|
|
|
for (var row = 0; row < moduleCount; row++) {
|
|
for (var col = 0; col < moduleCount - 6; col++) {
|
|
if (qrCode.isDark(row, col)
|
|
&& !qrCode.isDark(row, col + 1)
|
|
&& qrCode.isDark(row, col + 2)
|
|
&& qrCode.isDark(row, col + 3)
|
|
&& qrCode.isDark(row, col + 4)
|
|
&& !qrCode.isDark(row, col + 5)
|
|
&& qrCode.isDark(row, col + 6)) {
|
|
lostPoint += 40;
|
|
}
|
|
}
|
|
}
|
|
|
|
for (var col = 0; col < moduleCount; col++) {
|
|
for (var row = 0; row < moduleCount - 6; row++) {
|
|
if (qrCode.isDark(row, col)
|
|
&& !qrCode.isDark(row + 1, col)
|
|
&& qrCode.isDark(row + 2, col)
|
|
&& qrCode.isDark(row + 3, col)
|
|
&& qrCode.isDark(row + 4, col)
|
|
&& !qrCode.isDark(row + 5, col)
|
|
&& qrCode.isDark(row + 6, col)) {
|
|
lostPoint += 40;
|
|
}
|
|
}
|
|
}
|
|
|
|
// LEVEL4
|
|
|
|
var darkCount = 0;
|
|
|
|
for (var col = 0; col < moduleCount; col++) {
|
|
for (var row = 0; row < moduleCount; row++) {
|
|
if (qrCode.isDark(row, col)) {
|
|
darkCount++;
|
|
}
|
|
}
|
|
}
|
|
|
|
var ratio = Math.abs(100 * darkCount / moduleCount / moduleCount - 50) / 5;
|
|
lostPoint += ratio * 10;
|
|
|
|
return lostPoint;
|
|
}
|
|
|
|
};
|
|
|
|
|
|
//---------------------------------------------------------------------
|
|
// QRMath
|
|
//---------------------------------------------------------------------
|
|
|
|
QRCode.Math = {
|
|
|
|
glog: function (n) {
|
|
|
|
if (n < 1) {
|
|
throw new Error("glog(" + n + ")");
|
|
}
|
|
|
|
return QRCode.Math.LOG_TABLE[n];
|
|
},
|
|
|
|
gexp: function (n) {
|
|
|
|
while (n < 0) {
|
|
n += 255;
|
|
}
|
|
|
|
while (n >= 256) {
|
|
n -= 255;
|
|
}
|
|
|
|
return QRCode.Math.EXP_TABLE[n];
|
|
},
|
|
|
|
EXP_TABLE: new Array(256),
|
|
|
|
LOG_TABLE: new Array(256)
|
|
|
|
};
|
|
|
|
for (var i = 0; i < 8; i++) {
|
|
QRCode.Math.EXP_TABLE[i] = 1 << i;
|
|
}
|
|
for (var i = 8; i < 256; i++) {
|
|
QRCode.Math.EXP_TABLE[i] = QRCode.Math.EXP_TABLE[i - 4]
|
|
^ QRCode.Math.EXP_TABLE[i - 5]
|
|
^ QRCode.Math.EXP_TABLE[i - 6]
|
|
^ QRCode.Math.EXP_TABLE[i - 8];
|
|
}
|
|
for (var i = 0; i < 255; i++) {
|
|
QRCode.Math.LOG_TABLE[QRCode.Math.EXP_TABLE[i]] = i;
|
|
}
|
|
|
|
//---------------------------------------------------------------------
|
|
// QRPolynomial
|
|
//---------------------------------------------------------------------
|
|
|
|
QRCode.Polynomial = function (num, shift) {
|
|
|
|
if (num.length == undefined) {
|
|
throw new Error(num.length + "/" + shift);
|
|
}
|
|
|
|
var offset = 0;
|
|
|
|
while (offset < num.length && num[offset] == 0) {
|
|
offset++;
|
|
}
|
|
|
|
this.num = new Array(num.length - offset + shift);
|
|
for (var i = 0; i < num.length - offset; i++) {
|
|
this.num[i] = num[i + offset];
|
|
}
|
|
}
|
|
|
|
QRCode.Polynomial.prototype = {
|
|
|
|
get: function (index) {
|
|
return this.num[index];
|
|
},
|
|
|
|
getLength: function () {
|
|
return this.num.length;
|
|
},
|
|
|
|
multiply: function (e) {
|
|
|
|
var num = new Array(this.getLength() + e.getLength() - 1);
|
|
|
|
for (var i = 0; i < this.getLength(); i++) {
|
|
for (var j = 0; j < e.getLength(); j++) {
|
|
num[i + j] ^= QRCode.Math.gexp(QRCode.Math.glog(this.get(i)) + QRCode.Math.glog(e.get(j)));
|
|
}
|
|
}
|
|
|
|
return new QRCode.Polynomial(num, 0);
|
|
},
|
|
|
|
mod: function (e) {
|
|
|
|
if (this.getLength() - e.getLength() < 0) {
|
|
return this;
|
|
}
|
|
|
|
var ratio = QRCode.Math.glog(this.get(0)) - QRCode.Math.glog(e.get(0));
|
|
|
|
var num = new Array(this.getLength());
|
|
|
|
for (var i = 0; i < this.getLength(); i++) {
|
|
num[i] = this.get(i);
|
|
}
|
|
|
|
for (var i = 0; i < e.getLength(); i++) {
|
|
num[i] ^= QRCode.Math.gexp(QRCode.Math.glog(e.get(i)) + ratio);
|
|
}
|
|
|
|
// recursive call
|
|
return new QRCode.Polynomial(num, 0).mod(e);
|
|
}
|
|
};
|
|
|
|
//---------------------------------------------------------------------
|
|
// QRRSBlock
|
|
//---------------------------------------------------------------------
|
|
|
|
QRCode.RSBlock = function (totalCount, dataCount) {
|
|
this.totalCount = totalCount;
|
|
this.dataCount = dataCount;
|
|
}
|
|
|
|
QRCode.RSBlock.RS_BLOCK_TABLE = [
|
|
|
|
// L
|
|
// M
|
|
// Q
|
|
// H
|
|
|
|
// 1
|
|
[1, 26, 19],
|
|
[1, 26, 16],
|
|
[1, 26, 13],
|
|
[1, 26, 9],
|
|
|
|
// 2
|
|
[1, 44, 34],
|
|
[1, 44, 28],
|
|
[1, 44, 22],
|
|
[1, 44, 16],
|
|
|
|
// 3
|
|
[1, 70, 55],
|
|
[1, 70, 44],
|
|
[2, 35, 17],
|
|
[2, 35, 13],
|
|
|
|
// 4
|
|
[1, 100, 80],
|
|
[2, 50, 32],
|
|
[2, 50, 24],
|
|
[4, 25, 9],
|
|
|
|
// 5
|
|
[1, 134, 108],
|
|
[2, 67, 43],
|
|
[2, 33, 15, 2, 34, 16],
|
|
[2, 33, 11, 2, 34, 12],
|
|
|
|
// 6
|
|
[2, 86, 68],
|
|
[4, 43, 27],
|
|
[4, 43, 19],
|
|
[4, 43, 15],
|
|
|
|
// 7
|
|
[2, 98, 78],
|
|
[4, 49, 31],
|
|
[2, 32, 14, 4, 33, 15],
|
|
[4, 39, 13, 1, 40, 14],
|
|
|
|
// 8
|
|
[2, 121, 97],
|
|
[2, 60, 38, 2, 61, 39],
|
|
[4, 40, 18, 2, 41, 19],
|
|
[4, 40, 14, 2, 41, 15],
|
|
|
|
// 9
|
|
[2, 146, 116],
|
|
[3, 58, 36, 2, 59, 37],
|
|
[4, 36, 16, 4, 37, 17],
|
|
[4, 36, 12, 4, 37, 13],
|
|
|
|
// 10
|
|
[2, 86, 68, 2, 87, 69],
|
|
[4, 69, 43, 1, 70, 44],
|
|
[6, 43, 19, 2, 44, 20],
|
|
[6, 43, 15, 2, 44, 16]
|
|
|
|
];
|
|
|
|
QRCode.RSBlock.getRSBlocks = function (typeNumber, errorCorrectLevel) {
|
|
|
|
var rsBlock = QRCode.RSBlock.getRsBlockTable(typeNumber, errorCorrectLevel);
|
|
|
|
if (rsBlock == undefined) {
|
|
throw new Error("bad rs block @ typeNumber:" + typeNumber + "/errorCorrectLevel:" + errorCorrectLevel);
|
|
}
|
|
|
|
var length = rsBlock.length / 3;
|
|
|
|
var list = new Array();
|
|
|
|
for (var i = 0; i < length; i++) {
|
|
|
|
var count = rsBlock[i * 3 + 0];
|
|
var totalCount = rsBlock[i * 3 + 1];
|
|
var dataCount = rsBlock[i * 3 + 2];
|
|
|
|
for (var j = 0; j < count; j++) {
|
|
list.push(new QRCode.RSBlock(totalCount, dataCount));
|
|
}
|
|
}
|
|
|
|
return list;
|
|
};
|
|
|
|
QRCode.RSBlock.getRsBlockTable = function (typeNumber, errorCorrectLevel) {
|
|
|
|
switch (errorCorrectLevel) {
|
|
case QRCode.ErrorCorrectLevel.L:
|
|
return QRCode.RSBlock.RS_BLOCK_TABLE[(typeNumber - 1) * 4 + 0];
|
|
case QRCode.ErrorCorrectLevel.M:
|
|
return QRCode.RSBlock.RS_BLOCK_TABLE[(typeNumber - 1) * 4 + 1];
|
|
case QRCode.ErrorCorrectLevel.Q:
|
|
return QRCode.RSBlock.RS_BLOCK_TABLE[(typeNumber - 1) * 4 + 2];
|
|
case QRCode.ErrorCorrectLevel.H:
|
|
return QRCode.RSBlock.RS_BLOCK_TABLE[(typeNumber - 1) * 4 + 3];
|
|
default:
|
|
return undefined;
|
|
}
|
|
};
|
|
|
|
//---------------------------------------------------------------------
|
|
// QRBitBuffer
|
|
//---------------------------------------------------------------------
|
|
|
|
QRCode.BitBuffer = function () {
|
|
this.buffer = new Array();
|
|
this.length = 0;
|
|
}
|
|
|
|
QRCode.BitBuffer.prototype = {
|
|
|
|
get: function (index) {
|
|
var bufIndex = Math.floor(index / 8);
|
|
return ((this.buffer[bufIndex] >>> (7 - index % 8)) & 1) == 1;
|
|
},
|
|
|
|
put: function (num, length) {
|
|
for (var i = 0; i < length; i++) {
|
|
this.putBit(((num >>> (length - i - 1)) & 1) == 1);
|
|
}
|
|
},
|
|
|
|
getLengthInBits: function () {
|
|
return this.length;
|
|
},
|
|
|
|
putBit: function (bit) {
|
|
|
|
var bufIndex = Math.floor(this.length / 8);
|
|
if (this.buffer.length <= bufIndex) {
|
|
this.buffer.push(0);
|
|
}
|
|
|
|
if (bit) {
|
|
this.buffer[bufIndex] |= (0x80 >>> (this.length % 8));
|
|
}
|
|
|
|
this.length++;
|
|
}
|
|
};
|
|
})();
|
|
</script>
|
|
|
|
<script type="text/javascript">
|
|
var Bitcoin = {};
|
|
|
|
(function () {
|
|
var B58 = Bitcoin.Base58 = {
|
|
alphabet: "123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz",
|
|
base: BigInteger.valueOf(58),
|
|
|
|
/**
|
|
* Convert a byte array to a base58-encoded string.
|
|
*
|
|
* Written by Mike Hearn for BitcoinJ.
|
|
* Copyright (c) 2011 Google Inc.
|
|
*
|
|
* Ported to JavaScript by Stefan Thomas.
|
|
*/
|
|
encode: function (input) {
|
|
var bi = BigInteger.fromByteArrayUnsigned(input);
|
|
var chars = [];
|
|
|
|
while (bi.compareTo(B58.base) >= 0) {
|
|
var mod = bi.mod(B58.base);
|
|
chars.unshift(B58.alphabet[mod.intValue()]);
|
|
bi = bi.subtract(mod).divide(B58.base);
|
|
}
|
|
chars.unshift(B58.alphabet[bi.intValue()]);
|
|
|
|
// Convert leading zeros too.
|
|
for (var i = 0; i < input.length; i++) {
|
|
if (input[i] == 0x00) {
|
|
chars.unshift(B58.alphabet[0]);
|
|
} else break;
|
|
}
|
|
|
|
s = chars.join('');
|
|
return s;
|
|
},
|
|
|
|
/**
|
|
* Convert a base58-encoded string to a byte array.
|
|
*
|
|
* Written by Mike Hearn for BitcoinJ.
|
|
* Copyright (c) 2011 Google Inc.
|
|
*
|
|
* Ported to JavaScript by Stefan Thomas.
|
|
*/
|
|
decode: function (input) {
|
|
bi = BigInteger.valueOf(0);
|
|
var leadingZerosNum = 0;
|
|
for (var i = input.length - 1; i >= 0; i--) {
|
|
var alphaIndex = B58.alphabet.indexOf(input[i]);
|
|
bi = bi.add(BigInteger.valueOf(alphaIndex)
|
|
.multiply(B58.base.pow(input.length - 1 - i)));
|
|
|
|
// This counts leading zero bytes
|
|
if (input[i] == "1") leadingZerosNum++;
|
|
else leadingZerosNum = 0;
|
|
}
|
|
var bytes = bi.toByteArrayUnsigned();
|
|
|
|
// Add leading zeros
|
|
while (leadingZerosNum-- > 0) bytes.unshift(0);
|
|
|
|
return bytes;
|
|
}
|
|
};
|
|
})();
|
|
|
|
|
|
|
|
|
|
|
|
Bitcoin.Address = function (bytes) {
|
|
if ("string" == typeof bytes) {
|
|
bytes = Bitcoin.Address.decodeString(bytes);
|
|
}
|
|
this.hash = bytes;
|
|
this.version = Bitcoin.Address.networkVersion;
|
|
};
|
|
|
|
Bitcoin.Address.networkVersion = 0x00; // mainnet
|
|
|
|
Bitcoin.Address.prototype.toString = function () {
|
|
// Get a copy of the hash
|
|
var hash = this.hash.slice(0);
|
|
|
|
// Version
|
|
hash.unshift(this.version);
|
|
var checksum = Crypto.SHA256(Crypto.SHA256(hash, { asBytes: true }), { asBytes: true });
|
|
var bytes = hash.concat(checksum.slice(0, 4));
|
|
return Bitcoin.Base58.encode(bytes);
|
|
};
|
|
|
|
Bitcoin.Address.prototype.getHashBase64 = function () {
|
|
return Crypto.util.bytesToBase64(this.hash);
|
|
};
|
|
|
|
Bitcoin.Address.decodeString = function (string) {
|
|
var bytes = Bitcoin.Base58.decode(string);
|
|
var hash = bytes.slice(0, 21);
|
|
var checksum = Crypto.SHA256(Crypto.SHA256(hash, { asBytes: true }), { asBytes: true });
|
|
|
|
if (checksum[0] != bytes[21] ||
|
|
checksum[1] != bytes[22] ||
|
|
checksum[2] != bytes[23] ||
|
|
checksum[3] != bytes[24]) {
|
|
throw "Checksum validation failed!";
|
|
}
|
|
|
|
var version = hash.shift();
|
|
|
|
if (version != 0) {
|
|
throw "Version " + version + " not supported!";
|
|
}
|
|
|
|
return hash;
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Bitcoin.ECDSA = (function () {
|
|
var ecparams = EllipticCurve.getSECCurveByName("secp256k1");
|
|
var rng = new SecureRandom();
|
|
|
|
function implShamirsTrick(P, k, Q, l) {
|
|
var m = Math.max(k.bitLength(), l.bitLength());
|
|
var Z = P.add2D(Q);
|
|
var R = P.curve.getInfinity();
|
|
|
|
for (var i = m - 1; i >= 0; --i) {
|
|
R = R.twice2D();
|
|
|
|
R.z = BigInteger.ONE;
|
|
|
|
if (k.testBit(i)) {
|
|
if (l.testBit(i)) {
|
|
R = R.add2D(Z);
|
|
} else {
|
|
R = R.add2D(P);
|
|
}
|
|
} else {
|
|
if (l.testBit(i)) {
|
|
R = R.add2D(Q);
|
|
}
|
|
}
|
|
}
|
|
|
|
return R;
|
|
};
|
|
|
|
var ECDSA = {
|
|
getBigRandom: function (limit) {
|
|
return new BigInteger(limit.bitLength(), rng)
|
|
.mod(limit.subtract(BigInteger.ONE))
|
|
.add(BigInteger.ONE);
|
|
},
|
|
sign: function (hash, priv) {
|
|
var d = priv;
|
|
var n = ecparams.getN();
|
|
var e = BigInteger.fromByteArrayUnsigned(hash);
|
|
|
|
do {
|
|
var k = ECDSA.getBigRandom(n);
|
|
var G = ecparams.getG();
|
|
var Q = G.multiply(k);
|
|
var r = Q.getX().toBigInteger().mod(n);
|
|
} while (r.compareTo(BigInteger.ZERO) <= 0);
|
|
|
|
var s = k.modInverse(n).multiply(e.add(d.multiply(r))).mod(n);
|
|
|
|
return ECDSA.serializeSig(r, s);
|
|
},
|
|
|
|
serializeSig: function (r, s) {
|
|
var rBa = r.toByteArrayUnsigned();
|
|
var sBa = s.toByteArrayUnsigned();
|
|
|
|
var sequence = [];
|
|
sequence.push(0x02); // INTEGER
|
|
sequence.push(rBa.length);
|
|
sequence = sequence.concat(rBa);
|
|
|
|
sequence.push(0x02); // INTEGER
|
|
sequence.push(sBa.length);
|
|
sequence = sequence.concat(sBa);
|
|
|
|
sequence.unshift(sequence.length);
|
|
sequence.unshift(0x30) // SEQUENCE
|
|
|
|
return sequence;
|
|
},
|
|
|
|
verify: function (hash, sig, pubkey) {
|
|
var obj = ECDSA.parseSig(sig);
|
|
var r = obj.r;
|
|
var s = obj.s;
|
|
|
|
var n = ecparams.getN();
|
|
var e = BigInteger.fromByteArrayUnsigned(hash);
|
|
|
|
if (r.compareTo(BigInteger.ONE) < 0 ||
|
|
r.compareTo(n) >= 0)
|
|
return false;
|
|
|
|
if (s.compareTo(BigInteger.ONE) < 0 ||
|
|
s.compareTo(n) >= 0)
|
|
return false;
|
|
|
|
var c = s.modInverse(n);
|
|
|
|
var u1 = e.multiply(c).mod(n);
|
|
var u2 = r.multiply(c).mod(n);
|
|
|
|
var G = ecparams.getG();
|
|
var Q = ECPointFp.decodeFrom(ecparams.getCurve(), pubkey);
|
|
|
|
var point = implShamirsTrick(G, u1, Q, u2);
|
|
|
|
var v = point.x.toBigInteger().mod(n);
|
|
|
|
return v.equals(r);
|
|
},
|
|
|
|
parseSig: function (sig) {
|
|
var cursor;
|
|
if (sig[0] != 0x30)
|
|
throw new Error("Signature not a valid DERSequence");
|
|
|
|
cursor = 2;
|
|
if (sig[cursor] != 0x02)
|
|
throw new Error("First element in signature must be a DERInteger"); ;
|
|
var rBa = sig.slice(cursor + 2, cursor + 2 + sig[cursor + 1]);
|
|
|
|
cursor += 2 + sig[cursor + 1];
|
|
if (sig[cursor] != 0x02)
|
|
throw new Error("Second element in signature must be a DERInteger");
|
|
var sBa = sig.slice(cursor + 2, cursor + 2 + sig[cursor + 1]);
|
|
|
|
cursor += 2 + sig[cursor + 1];
|
|
|
|
//if (cursor != sig.length)
|
|
// throw new Error("Extra bytes in signature");
|
|
|
|
var r = BigInteger.fromByteArrayUnsigned(rBa);
|
|
var s = BigInteger.fromByteArrayUnsigned(sBa);
|
|
|
|
return { r: r, s: s };
|
|
}
|
|
};
|
|
|
|
return ECDSA;
|
|
})();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Bitcoin.ECKey = (function () {
|
|
var ECDSA = Bitcoin.ECDSA;
|
|
var ecparams = EllipticCurve.getSECCurveByName("secp256k1");
|
|
var rng = new SecureRandom();
|
|
|
|
var ECKey = function (input) {
|
|
if (!input) {
|
|
// Generate new key
|
|
var n = ecparams.getN();
|
|
this.priv = ECDSA.getBigRandom(n);
|
|
} else if (input instanceof BigInteger) {
|
|
// Input is a private key value
|
|
this.priv = input;
|
|
} else if (Bitcoin.Util.isArray(input)) {
|
|
// Prepend zero byte to prevent interpretation as negative integer
|
|
this.priv = BigInteger.fromByteArrayUnsigned(input);
|
|
} else if ("string" == typeof input) {
|
|
// Prepend zero byte to prevent interpretation as negative integer
|
|
this.priv = BigInteger.fromByteArrayUnsigned(Crypto.util.base64ToBytes(input));
|
|
}
|
|
};
|
|
|
|
ECKey.prototype.getPub = function () {
|
|
if (this.pub) return this.pub;
|
|
return this.pub = ecparams.getG().multiply(this.priv).getEncoded(0);
|
|
};
|
|
|
|
ECKey.prototype.getPubCompressed = function () {
|
|
if (this.pubCompressed) return this.pubCompressed;
|
|
return this.pubCompressed = ecparams.getG().multiply(this.priv).getEncoded(1);
|
|
};
|
|
|
|
ECKey.prototype.getPubKeyHash = function () {
|
|
if (this.pubKeyHash) return this.pubKeyHash;
|
|
return this.pubKeyHash = Bitcoin.Util.sha256ripe160(this.getPub());
|
|
};
|
|
|
|
ECKey.prototype.getPubKeyHashCompressed = function () {
|
|
if (this.pubKeyHashCompressed) return this.pubKeyHashCompressed;
|
|
return this.pubKeyHashCompressed = Bitcoin.Util.sha256ripe160(this.getPubCompressed());
|
|
};
|
|
|
|
ECKey.prototype.getBitcoinAddress = function () {
|
|
var hash = this.getPubKeyHash();
|
|
var addr = new Bitcoin.Address(hash);
|
|
return addr.toString();
|
|
};
|
|
|
|
ECKey.prototype.getBitcoinAddressCompressed = function () {
|
|
var hash = this.getPubKeyHashCompressed();
|
|
var addr = new Bitcoin.Address(hash);
|
|
return addr.toString();
|
|
};
|
|
|
|
// Sipa Private Key Wallet Import Format
|
|
ECKey.prototype.getBitcoinWalletImportFormat = function () {
|
|
var bytes = this.getBitcoinPrivateKeyByteArray();
|
|
bytes.unshift(0x80); // prepend 0x80 byte
|
|
var checksum = Crypto.SHA256(Crypto.SHA256(bytes, { asBytes: true }), { asBytes: true });
|
|
bytes = bytes.concat(checksum.slice(0, 4));
|
|
var privWif = Bitcoin.Base58.encode(bytes);
|
|
return privWif;
|
|
};
|
|
|
|
// Sipa Private Key Wallet Import Format Compressed
|
|
ECKey.prototype.getBitcoinWalletImportFormatCompressed = function () {
|
|
var bytes = this.getBitcoinPrivateKeyByteArray();
|
|
bytes.unshift(0x80); // prepend 0x80 byte
|
|
bytes.push(0x01); // append 0x01 byte for compressed format
|
|
var checksum = Crypto.SHA256(Crypto.SHA256(bytes, { asBytes: true }), { asBytes: true });
|
|
bytes = bytes.concat(checksum.slice(0, 4));
|
|
var privWifComp = Bitcoin.Base58.encode(bytes);
|
|
return privWifComp;
|
|
};
|
|
|
|
// Private Key Hex Format
|
|
ECKey.prototype.getBitcoinHexFormat = function () {
|
|
return Crypto.util.bytesToHex(this.getBitcoinPrivateKeyByteArray()).toString().toUpperCase();
|
|
};
|
|
|
|
// Private Key Base64 Format
|
|
ECKey.prototype.getBitcoinBase64Format = function () {
|
|
return Crypto.util.bytesToBase64(this.getBitcoinPrivateKeyByteArray());
|
|
};
|
|
|
|
ECKey.prototype.getBitcoinPrivateKeyByteArray = function () {
|
|
// Get a copy of private key as a byte array
|
|
var bytes = this.priv.toByteArrayUnsigned();
|
|
// zero pad if private key is less than 32 bytes
|
|
while (bytes.length < 32) bytes.unshift(0x00);
|
|
return bytes;
|
|
};
|
|
|
|
ECKey.prototype.setPub = function (pub) {
|
|
this.pub = pub;
|
|
};
|
|
|
|
ECKey.prototype.setPubCompressed = function (pubCompressed) {
|
|
this.pubCompressed = pubCompressed;
|
|
};
|
|
|
|
ECKey.prototype.toString = function (format) {
|
|
format = format || "";
|
|
|
|
if (format.toString().toLowerCase() == "base64" || format.toString().toLowerCase() == "b64") {
|
|
return this.getBitcoinBase64Format();
|
|
}
|
|
// Wallet Import Format
|
|
else if (format.toString().toLowerCase() == "wif") {
|
|
return this.getBitcoinWalletImportFormat();
|
|
}
|
|
else if (format.toString().toLowerCase() == "wifcomp") {
|
|
return this.getBitcoinWalletImportFormatCompressed();
|
|
}
|
|
else {
|
|
return this.getBitcoinHexFormat();
|
|
}
|
|
};
|
|
|
|
ECKey.prototype.sign = function (hash) {
|
|
return ECDSA.sign(hash, this.priv);
|
|
};
|
|
|
|
ECKey.prototype.verify = function (hash, sig) {
|
|
return ECDSA.verify(hash, sig, this.getPub());
|
|
};
|
|
|
|
return ECKey;
|
|
})();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// Bitcoin utility functions
|
|
Bitcoin.Util = {
|
|
isArray: Array.isArray || function (o) {
|
|
return Object.prototype.toString.call(o) === '[object Array]';
|
|
},
|
|
makeFilledArray: function (len, val) {
|
|
var array = [];
|
|
var i = 0;
|
|
while (i < len) {
|
|
array[i++] = val;
|
|
}
|
|
return array;
|
|
},
|
|
numToVarInt: function (i) {
|
|
// TODO: THIS IS TOTALLY UNTESTED!
|
|
if (i < 0xfd) {
|
|
// unsigned char
|
|
return [i];
|
|
} else if (i <= 1 << 16) {
|
|
// unsigned short (LE)
|
|
return [0xfd, i >>> 8, i & 255];
|
|
} else if (i <= 1 << 32) {
|
|
// unsigned int (LE)
|
|
return [0xfe].concat(Crypto.util.wordsToBytes([i]));
|
|
} else {
|
|
// unsigned long long (LE)
|
|
return [0xff].concat(Crypto.util.wordsToBytes([i >>> 32, i]));
|
|
}
|
|
},
|
|
valueToBigInt: function (valueBuffer) {
|
|
if (valueBuffer instanceof BigInteger) return valueBuffer;
|
|
|
|
// Prepend zero byte to prevent interpretation as negative integer
|
|
return BigInteger.fromByteArrayUnsigned(valueBuffer);
|
|
},
|
|
formatValue: function (valueBuffer) {
|
|
var value = this.valueToBigInt(valueBuffer).toString();
|
|
var integerPart = value.length > 8 ? value.substr(0, value.length - 8) : '0';
|
|
var decimalPart = value.length > 8 ? value.substr(value.length - 8) : value;
|
|
while (decimalPart.length < 8) decimalPart = "0" + decimalPart;
|
|
decimalPart = decimalPart.replace(/0*$/, '');
|
|
while (decimalPart.length < 2) decimalPart += "0";
|
|
return integerPart + "." + decimalPart;
|
|
},
|
|
parseValue: function (valueString) {
|
|
var valueComp = valueString.split('.');
|
|
var integralPart = valueComp[0];
|
|
var fractionalPart = valueComp[1] || "0";
|
|
while (fractionalPart.length < 8) fractionalPart += "0";
|
|
fractionalPart = fractionalPart.replace(/^0+/g, '');
|
|
var value = BigInteger.valueOf(parseInt(integralPart));
|
|
value = value.multiply(BigInteger.valueOf(100000000));
|
|
value = value.add(BigInteger.valueOf(parseInt(fractionalPart)));
|
|
return value;
|
|
},
|
|
sha256ripe160: function (data) {
|
|
return Crypto.RIPEMD160(Crypto.SHA256(data, { asBytes: true }), { asBytes: true });
|
|
}
|
|
};
|
|
</script>
|
|
|
|
<style type="text/css">
|
|
#main { font-family: Arial; position: relative; text-align: center; margin: 0px auto; width: 795px; }
|
|
#logo { width: 578px; height: 80px; }
|
|
.right { text-align: right; }
|
|
.keyarea { font-family: Courier New; height: 110px; text-align: left; position: relative; padding: 5px; }
|
|
.keyarea .public { float: left; }
|
|
.keyarea .pubaddress { display: inline-block; height: 40px; padding: 0 0 0 10px; float: left; }
|
|
.keyarea .privwif { margin: 0; float: right; text-align: right; padding: 0 10px 0 0; position: relative; }
|
|
.keyarea .label { text-decoration: underline; }
|
|
.keyarea .output { display: block; }
|
|
.keyarea .qrcode_public { display: inline-block; float: left; }
|
|
.keyarea .qrcode_private { display: inline-block; position: relative; top: 28px; float: right; }
|
|
#faqs ol { padding: 0 0 0 25px; }
|
|
#faqs li { padding: 3px 0; }
|
|
|
|
#singlearea { border: 2px solid green; }
|
|
#singlearea #keyarea { display: none; }
|
|
#singlearea #generate { font-family: Courier New; height: 110px; text-align: left; position: relative; padding: 5px; }
|
|
#singlearea #generate span { padding: 5px 5px 0 5px; }
|
|
#paperarea { min-height: 120px; display: none; }
|
|
#paperarea .keyarea { border: 2px solid green; border-top: 0; }
|
|
#paperarea .keyarea.art { display: block; height: auto; border: 0; font-family: Ubuntu, Arial; padding: 0; margin: 0; }
|
|
#paperarea .artwallet .papersvg { width: 795px; height: 430px; border: 0; margin: 0; padding: 0; left: 0; }
|
|
#paperarea .artwallet .qrcode_public { top: 100px; left: 34px; z-index: 100; margin: 0; float: none; display: block; position: absolute; }
|
|
#paperarea .artwallet .qrcode_private { top: 182px; left: 593px; z-index: 100; margin: 0; float: none; display: block; position: absolute; }
|
|
#paperarea .artwallet .artpubwhitebox { width: 151px; height: 151px; top: 95px; left: 29px; z-index: 90; background-color: #FFFFFF; margin: 0; float: none; display: block; position: absolute; }
|
|
#paperarea .artwallet .artprivwhitebox { width: 186px; height: 186px; top: 177px; left: 588px; z-index: 90; background-color: #FFFFFF; margin: 0; float: none; display: block; position: absolute; }
|
|
#paperarea .artwallet .btcaddress
|
|
{
|
|
position: absolute; top: 285px; left: 231px; z-index: 100; font-size: 9.7px;
|
|
font-weight:bold; color: #8e6502; margin: 0;
|
|
-webkit-transform-origin:top left; -webkit-transform:rotate(-90deg);
|
|
-moz-transform-origin:top left; -moz-transform:rotate(-90deg);
|
|
-ms-transform-origin:top left; -ms-transform:rotate(-90deg);
|
|
-o-transform-origin:top left; -o-transform:rotate(-90deg);
|
|
transform-origin:top left; transform:rotate(-90deg);
|
|
}
|
|
#paperarea .artwallet .btcprivwif
|
|
{
|
|
position: absolute; top: 385px; left: 560px; z-index: 100; font-size: 9.7px;
|
|
font-weight:bold; color: #8e6502; margin: 0;
|
|
-webkit-transform-origin:top left; -webkit-transform:rotate(-90deg);
|
|
-moz-transform-origin:top left; -moz-transform:rotate(-90deg);
|
|
-ms-transform-origin:top left; -ms-transform:rotate(-90deg);
|
|
-o-transform-origin:top left; -o-transform:rotate(-90deg);
|
|
transform-origin:top left; transform:rotate(-90deg);
|
|
}
|
|
#bulkarea { display: none; padding: 4px 0 0 0; border: 2px solid green; }
|
|
#bulkarea .label { text-decoration: none; }
|
|
#bulkarea .format { font-style: italic; font-size: 90%; }
|
|
#bulktextarea { font-size: 90%; width: 98%; margin: 4px 0 0 0; }
|
|
#brainarea { display: none; border: 2px solid green; min-height: 120px; }
|
|
#brainarea .keyarea { display: none; }
|
|
#detailarea { display: none; margin: 0; padding: 10px; border: 2px solid green; text-align: left; }
|
|
#detailarea .notes { text-align: left; font-size: 80%; padding: 0 0 20px 0; }
|
|
#detailarea .item { margin: 10px 0; position: relative; }
|
|
#detailarea .label { display: block; text-decoration: underline; }
|
|
#detailarea .output { display: block; min-height: 20px; }
|
|
#detailarea #detailqrcodepublic { position: relative; float: left; margin: 0 10px 0 0; }
|
|
#detailarea #detailqrcodepubliccomp { position: relative; float: right; margin: 0 0 0 10px; }
|
|
#detailarea #detailqrcodeprivate { position: relative; float: left; margin: 0 10px 0 0; }
|
|
#detailarea #detailqrcodeprivatecomp { position: relative; float: right; margin: 0 0 0 10px; }
|
|
|
|
#bulkfaqs { display: none; }
|
|
.bulkquestion { padding: 10px 15px; text-align: left; cursor: pointer; }
|
|
.bulkquestion:hover { color: #77777A; }
|
|
.bulkanswer { padding: 0 15px 10px 25px; text-align: left; display: none; font-size: 80%; }
|
|
.bulkfaq { border: 2px solid green; border-top: 0; }
|
|
|
|
#testnet { font-family: Tahoma; display: none; background-color: Orange; color: #000000; border-radius: 5px; font-weight: bold; padding: 10px 0; margin: 0 auto 20px auto; }
|
|
|
|
/* IE8 */
|
|
.qrcodetable { border-width: 0px; border-style: none; border-color: #0000ff; border-collapse: collapse; }
|
|
.qrcodetddark { border-width: 0px; border-style: none; border-color: #0000ff; border-collapse: collapse; padding: 0; margin: 0; width: 2px; height: 2px; background-color: #000000; }
|
|
.qrcodetdlight { border-width: 0px; border-style: none; border-color: #0000ff; border-collapse: collapse; padding: 0; margin: 0; width: 2px; height: 2px; background-color: #ffffff; }
|
|
|
|
@media screen
|
|
{
|
|
#tagline { margin: 0 0 15px 0; font-style: italic; }
|
|
.menu { text-align: left; }
|
|
.menu .tab { border-top-left-radius: 5px; border-top-right-radius: 5px; display: inline-block; background-color: #6C8C6C;
|
|
border: 2px solid green; padding: 5px; margin: 0 2px 0 0; position: relative; top: 2px; z-index: 110; cursor: pointer; }
|
|
.menu .tab:hover { color: #FFF; }
|
|
.menu .tab.selected { background-color: #FFF; border-bottom: 2px solid #FFF; cursor: default; }
|
|
.menu .tab.selected:hover { color: #000; }
|
|
.pagebreak { height: 50px; }
|
|
.commands { padding: 10px 0; border: 2px solid green; border-bottom: 0; }
|
|
.commands span { padding: 0 10px; }
|
|
.commands span.print { float: right; }
|
|
.commands span.right { float: right; }
|
|
#singlecommands { visibility: hidden; }
|
|
#bulkcommands { display: none; }
|
|
#papercommands { display: none; }
|
|
#braincommands { display: none; }
|
|
#braincommands .row { text-align: left; }
|
|
#braincommands .row .label { width: 150px; display: inline-block; }
|
|
#braincommands .row.extra { padding: 6px 0 0 0; }
|
|
#braincommands .notes { font-size: 80%; display: block; padding: 5px 10px; }
|
|
#brainpassphrase { width: 280px; }
|
|
#brainpassphraseconfirm { width: 280px; }
|
|
#detailcommands { display: none; }
|
|
#detailcommands span { padding: 0 10px; }
|
|
#detailprivkey { width: 250px; }
|
|
.paper .commands { border-bottom: 2px solid green; padding: 10px 0; margin-bottom: 0; }
|
|
#bulkstartindex, #paperlimit, #paperlimitperpage { width: 35px; }
|
|
#bulklimit { width: 45px; }
|
|
.more { background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABEAAAARCAYAAAA7bUf6AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAABx0RVh0U29mdHdhcmUAQWRvYmUgRmlyZXdvcmtzIENTNXG14zYAAAAWdEVYdENyZWF0aW9uIFRpbWUAMDEvMDIvMTLltnQyAAAB1UlEQVQ4jYWTS04bQRCGv3q0x8gMYJCwknCGLDgLVwiH4grhLFaUXdhkQ0A8pBg/FOLpnmbhMYzxRKlNS1Vdf/31V5XknGnb+eXJCBjzbzu9OLu+azu845Opysej4wHmshF4uJ2TUrb3CV0gIBAKRboC5C2vdkDE9fdty6/xDegvXz+NgDbFUejZ+PjDgExmtpxS9vYwMe5u5iyX8RRoa5Ic+C4qx9KUN1MGu4E618yqJ5axAp44KA7ZL3eYzp/HKdVIw7WK8d6BuDvcod9TQlBEIOXEdPlElSoUJabIIs4Z7h9yNDwgqOMayLXw7epHVIBggrsgspZPUBQyiCgugRQji7TAVDF1XB2TlQoOYCqovkmpopS9fcoiM3ue0rOCYf8IU8NklWxiiOQ3EPXtWagIqo6KYWYEc4IGvMViA6RrnCJKVS9B8ypRHG1YKNa0Ur+C+MPt/I2BKWVZUO4FgvQ47PcptEDF+T2Z8TiZUMWIyGtpd+Bze5VTSqP57O/4YG+AN/RXbSiPkwmL5z/be/L+mM4vT2JKeUW7EXD1erMz/Lo4u77f0K9DDhdA1XG11jh9vWBb99Z9gAg5QZ2hzpmUa0RSW4f/gqSY0s3Vz+tufEjvHS8Tg6BXC7qVbQAAAABJRU5ErkJggg==)
|
|
no-repeat left center; width: 17px; height: 17px; display: inline-block; float: right; }
|
|
.less { background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABEAAAARCAYAAAA7bUf6AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAK6wAACusBgosNWgAAABx0RVh0U29mdHdhcmUAQWRvYmUgRmlyZXdvcmtzIENTNXG14zYAAAAWdEVYdENyZWF0aW9uIFRpbWUAMDEvMDIvMTLltnQyAAABuklEQVQ4ja2US25TQRBFT336OSEY5ESyBfEakNiLt0AW5S2QvQQxAiZIYBwSz/yByH7dxcB2bPMME+hJS/W5fetWVUtE8K/HfzdcXfdfqsr4onuGuRz4Jrdzcg6Gg9HfQYAxAqmlSMMlQJO5/oliE4AtQLcR++btZQ+wPVsvVXbTfXFGEMyWU9rVM0yMu/Gc5bJ+DdztxWcH3otKVzbPmyq5LnwfzSgEBMxlhqJEBFWVKKUgG66rur53oH7aOeWkUlJSRCBHZracssorlLXttHpCpzonaYukjmsiivDu08daAZIJ7oLIVg9BUQgQUVwSua5Z5AWmiqnj6pisVXAAU0F1J6WK0q6e024Fs4cplbXonFxgapisk00MkdiBqDd7oSKoOiqGmZHMSZrwPRYHIMfaKaKsyhI01oni6IaFYptSyiOIT27nOwaq5FyQrUAIC/nBhK+UErRSos55z4878CrneJyTnHOvquymf3mOb+hvy/jw+QuLh5/NORkORvsGrq77dc6xpr0RcH07y3oF8G04GN0f6HdEDhdA1XG1vXb6dsAa+3Z8AREiQwkoEeQoiBzocHDkf/wnvwC5IpRVsUDNUgAAAABJRU5ErkJggg==)
|
|
no-repeat left center; width: 17px; height: 17px; display: inline-block; float: right; }
|
|
.footer { font-family: Arial; font-size: 90%; clear: both; width: 700px; padding: 10px 0 10px 0; margin: 50px auto auto auto; }
|
|
.footer div span { padding: 10px; }
|
|
.footer .authorbtc { float: left; width: 470px; }
|
|
.footer .authorbtc span { text-align: left; display: block; padding: 0 20px; }
|
|
.footer .authorbtc div { position: relative; z-index: 100; }
|
|
.footer .authorpgp { position: relative; }
|
|
.footer .authorpgp span { text-align: right; display: block; padding: 0 20px; }
|
|
.footer .copyright { font-size: 80%; clear: both; padding: 5px 0; }
|
|
.footer .copyright span { padding: 10px 2px; }
|
|
}
|
|
@media print
|
|
{
|
|
#main { width: 795px; }
|
|
#paperarea .keyarea:first-child { border-top: 2px solid green; }
|
|
#paperarea .keyarea.art:first-child { border: 0; }
|
|
.paper #logo { display: none; }
|
|
.menu { display: none; }
|
|
.footer { display: none; }
|
|
.commands { display: none; }
|
|
#tagline { display: none; }
|
|
#faqs { display: none; }
|
|
}
|
|
</style>
|
|
</head>
|
|
<body onclick="SecureRandom.seedTime();" onkeypress="SecureRandom.seedTime();" onmousemove="ninja.seed(event);">
|
|
<div id="main">
|
|
<img alt="bitaddress.org" title="bitaddress.org" id="logo" src="data:image/png;base64,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" />
|
|
<div id="tagline">Open Source JavaScript Client-Side Bitcoin Wallet Generator</div>
|
|
<div id="testnet"></div>
|
|
<div class="menu">
|
|
<div class="tab selected" id="singlewallet" onclick="ninja.tabSwitch(this);">Single Wallet</div>
|
|
<div class="tab" id="paperwallet" onclick="ninja.tabSwitch(this);">Paper Wallet</div>
|
|
<div class="tab" id="bulkwallet" onclick="ninja.tabSwitch(this);">Bulk Wallet</div>
|
|
<div class="tab" id="brainwallet" onclick="ninja.tabSwitch(this);">Brain Wallet</div>
|
|
<div class="tab" id="detailwallet" onclick="ninja.tabSwitch(this);">Wallet Details</div>
|
|
</div>
|
|
|
|
<div id="commands" class="commands">
|
|
<div id="singlecommands">
|
|
<span><input type="button" id="newaddress" value="Generate New Address" onclick="ninja.wallets.singlewallet.generateNewAddressAndKey();" /></span>
|
|
<span class="print"><input type="button" name="print" value="Print" onclick="window.print();" /></span>
|
|
</div>
|
|
<div id="papercommands">
|
|
<span>Art? <input type="checkbox" id="paperart" onchange="ninja.wallets.paperwallet.toggleArt(this);" /></span>
|
|
<span>Addresses per page: <input type="text" id="paperlimitperpage" /></span>
|
|
<span>Addresses to generate: <input type="text" id="paperlimit" /></span>
|
|
<span><input type="button" id="papergenerate" value="Generate" onclick="ninja.wallets.paperwallet.build(document.getElementById('paperlimit').value * 1, document.getElementById('paperlimitperpage').value * 1, document.getElementById('paperart').checked);" /></span>
|
|
<span class="print"><input type="button" name="print" value="Print" onclick="window.print();" /></span>
|
|
</div>
|
|
<div id="bulkcommands">
|
|
<span>Start index: <input type="text" id="bulkstartindex" value="1" /></span>
|
|
<span>Rows to generate: <input type="text" id="bulklimit" value="3" /></span>
|
|
<span><input type="button" id="bulkgenerate" value="Generate" onclick="ninja.wallets.bulkwallet.buildCSV(document.getElementById('bulklimit').value * 1, document.getElementById('bulkstartindex').value * 1);" /> </span>
|
|
<span class="print"><input type="button" name="print" value="Print" onclick="window.print();" /></span>
|
|
</div>
|
|
<div id="braincommands">
|
|
<div class="row">
|
|
<span class="label">Enter Passphrase: </span>
|
|
<input tabindex="1" type="password" id="brainpassphrase" value="" onfocus="this.select();" onkeypress="if (event.keyCode == 13) ninja.wallets.brainwallet.view();" />
|
|
<span>Show? <input type="checkbox" id="brainpassphraseshow" onchange="ninja.wallets.brainwallet.showToggle(this);" /></span>
|
|
<span class="print"><input type="button" name="print" value="Print" onclick="window.print();" /></span>
|
|
</div>
|
|
<div class="row extra">
|
|
<span class="label" id="brainlabelconfirm">Confirm Passphrase: </span>
|
|
<input tabindex="2" type="password" id="brainpassphraseconfirm" value="" onfocus="this.select();" onkeypress="if (event.keyCode == 13) ninja.wallets.brainwallet.view();" />
|
|
<span><input tabindex="3" type="button" id="brainview" value="View" onclick="ninja.wallets.brainwallet.view();" /></span>
|
|
<span class="notes right">Algorithm: SHA256(passphrase)</span>
|
|
</div>
|
|
</div>
|
|
<div id="detailcommands">
|
|
<span>Enter Private Key (any format): <input type="text" id="detailprivkey" value="" onfocus="this.select();" onkeypress="if (event.keyCode == 13) ninja.wallets.detailwallet.viewDetails();" /></span>
|
|
<span><input type="button" id="detailview" value="View Details" onclick="ninja.wallets.detailwallet.viewDetails();" /></span>
|
|
<span class="print"><input type="button" name="print" value="Print" onclick="window.print();" /></span>
|
|
</div>
|
|
</div>
|
|
|
|
<div id="wallets" class="wallets">
|
|
<div id="singlearea">
|
|
<div id="generate">
|
|
<span>Generating Bitcoin Address...<br /></span>
|
|
<span>MOVE your mouse around to add some extra randomness...<br /></span>
|
|
</div>
|
|
<div id="keyarea" class="keyarea">
|
|
<div class="public">
|
|
<div id="qrcode_public" class="qrcode_public"></div>
|
|
<div class="pubaddress">
|
|
<span class="label">Bitcoin Address:</span>
|
|
<span class="output" id="btcaddress"></span>
|
|
</div>
|
|
</div>
|
|
<div class="private">
|
|
<div id="qrcode_private" class="qrcode_private"></div>
|
|
<div class="privwif">
|
|
<span class="label">Private Key (Wallet Import Format):</span>
|
|
<span class="output" id="btcprivwif"></span>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div id="paperarea"></div>
|
|
|
|
<div id="bulkarea">
|
|
<span class="label">Comma Separated Values:</span> <span class="format">Index,Address,Private Key (WIF)</span>
|
|
<textarea rows="20" cols="88" id="bulktextarea"></textarea>
|
|
</div>
|
|
|
|
<div id="brainarea">
|
|
<div id="brainkeyarea" class="keyarea">
|
|
<div class="public">
|
|
<div id="brainqrcodepublic" class="qrcode_public"></div>
|
|
<div class="pubaddress">
|
|
<span class="label">Bitcoin Address:</span>
|
|
<span class="output" id="brainbtcaddress"></span>
|
|
</div>
|
|
</div>
|
|
<div class="private">
|
|
<div id="brainqrcodeprivate" class="qrcode_private"></div>
|
|
<div class="privwif">
|
|
<span class="label">Private Key (Wallet Import Format):</span>
|
|
<span class="output" id="brainbtcprivwif"></span>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div id="detailarea">
|
|
<div class="notes">
|
|
Your Bitcoin Private Key is a unique secret number that only you know. It can be encoded in a number of different formats.
|
|
Below we show the Bitcoin Address and Public Key that corresponds to your Private Key as well as your Private Key in the most popular encoding formats (WIF, HEX, B64, MINI).
|
|
<br /><br />
|
|
Bitcoin v0.6+ stores public keys in compressed format. The client now also supports import and export of private keys with importprivkey/dumpprivkey. The format of the exported
|
|
private key is determined by whether the address was generated in an old or new wallet.
|
|
</div>
|
|
<div class="item">
|
|
<div id="detailqrcodepublic" class="qrcode_public"></div>
|
|
<span class="label">Bitcoin Address:</span>
|
|
<span class="output" id="detailaddress"></span>
|
|
</div>
|
|
<br />
|
|
<div class="item right">
|
|
<div id="detailqrcodepubliccomp" class="qrcode_public"></div>
|
|
<span class="label">Bitcoin Address (compressed):</span>
|
|
<span class="output" id="detailaddresscomp"></span>
|
|
</div>
|
|
<br />
|
|
<div class="item">
|
|
<span class="label">Public Key (130 characters [0-9A-F]):</span>
|
|
<span class="output" id="detailpubkey"></span>
|
|
</div>
|
|
<div class="item">
|
|
<span class="label">Public Key (compressed, 66 characters [0-9A-F]):</span>
|
|
<span class="output" id="detailpubkeycomp"></span>
|
|
</div>
|
|
<hr />
|
|
<div class="item">
|
|
<div id="detailqrcodeprivate" class="qrcode_private"></div>
|
|
<span class="label">Private Key WIF (51 characters base58, starts with a '5'):</span>
|
|
<span class="output" id="detailprivwif"></span>
|
|
</div>
|
|
<br /><br />
|
|
<div class="item right">
|
|
<div id="detailqrcodeprivatecomp" class="qrcode_private"></div>
|
|
<span class="label">Private Key WIF (compressed, 52 characters base58, starts with a 'K' or 'L'):</span>
|
|
<span class="output" id="detailprivwifcomp"></span>
|
|
</div>
|
|
<br /><br />
|
|
<div class="item">
|
|
<span class="label">Private Key Hexadecimal Format (64 characters [0-9A-F]):</span>
|
|
<span class="output" id="detailprivhex"></span>
|
|
</div>
|
|
<div class="item">
|
|
<span class="label">Private Key Base64 (44 characters):</span>
|
|
<span class="output" id="detailprivb64"></span>
|
|
</div>
|
|
<div class="item" style="display: none;" id="detailmini">
|
|
<span class="label">Private Key Mini Format (22, 26 or 30 characters, starts with an 'S'):</span>
|
|
<span class="output" id="detailprivmini"></span>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div id="faqs">
|
|
<div id="bulkfaqs">
|
|
<div id="bulkfaq1" class="bulkfaq">
|
|
<div id="bulkq1" class="bulkquestion" onclick="ninja.wallets.bulkwallet.openCloseFaq(1);">
|
|
<span>Why should I use a Bulk Wallet to accept Bitcoins on my website?</span>
|
|
<div id="bulke1" class="more"></div>
|
|
</div>
|
|
<div id="bulka1" class="bulkanswer">
|
|
The traditional approach to accepting bitcoins on your website requires that
|
|
you install the official bitcoin client daemon ("bitcoind"). Many website hosting packages
|
|
don't support installing the bitcoin daemon. Also, running the bitcoin daemon on your
|
|
web server means your private keys are hosted on the server and could get stolen if your web
|
|
server is hacked. When using a Bulk Wallet you can upload only the bitcoin addresses
|
|
and not the private keys to your web server. Then you don't have to worry about your
|
|
bitcoin wallet being stolen if your web server is hacked.
|
|
</div>
|
|
</div>
|
|
<div id="bulkfaq2" class="bulkfaq">
|
|
<div id="bulkq2" class="bulkquestion" onclick="ninja.wallets.bulkwallet.openCloseFaq(2);">
|
|
<span>How do I use a Bulk Wallet to accept Bitcoins on my website?</span>
|
|
<div id="bulke2" class="more"></div>
|
|
</div>
|
|
<div id="bulka2" class="bulkanswer">
|
|
<ol>
|
|
<li>Use the Bulk Wallet tab to pre-generate a large number of bitcoin addresses (10,000+). Copy and paste the generated
|
|
comma separated values (CSV) list to a secure text file on your computer. Backup the file you just created to a secure location.</li>
|
|
<li>Import the bitcoin addresses into a database table on your web server.
|
|
(Don't put the wallet/private keys on your web server, otherwise you risk hackers stealing your coins.
|
|
Just the bitcoin addresses as they will be shown to customers.)</li>
|
|
<li>Provide an option on your website's shopping cart for your customer to pay in Bitcoin. When the customer chooses to pay in Bitcoin you will
|
|
then display one of the addresses from your database to the customer as his "payment address" and save it with his shopping cart order.</li>
|
|
<li>You now need to be notified when the payment arrives. Google "bitcoin payment notification" and subscribe to at least
|
|
one bitcoin payment notification service. There are various services that will notify you via Web Services, API, SMS, Email, etc.
|
|
Once you receive this notification, which could be programmatically automated, you can process the customer's order.
|
|
To manually check if a payment has arrived you can use Block Explorer. Replace THEADDRESSGOESHERE with the bitcoin address
|
|
you are checking. It could take between 10 minutes to one hour for the transaction to be confirmed.
|
|
<br />
|
|
http://www.blockexplorer.com/address/THEADDRESSGOESHERE
|
|
<br /><br />
|
|
Unconfirmed transactions can be viewed at: http://blockchain.info/ <br />
|
|
You should see the transaction there within 30 seconds.
|
|
</li>
|
|
<li>Bitcoins will safely pile up on the block chain. Use the original wallet file you generated in step 1 to spend them.</li>
|
|
</ol>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div id="footer" class="footer">
|
|
<div class="authorbtc">
|
|
<div>
|
|
<span>Donations: <b>1NiNja</b>1bUmhSoTXozBRBEtR8LeF9TGbZBN</span>
|
|
<span><a href="http://firstbits.com/1ninja" target="_blank">firstbits.com/1ninja</a></span>
|
|
</div>
|
|
</div>
|
|
<div class="authorpgp">
|
|
<span><a href="ninja_bitaddress.org.txt" target="_blank">PGP Public Key</a></span>
|
|
<span><a href="pgpsignedmsg.txt" target="_blank">Signed Version History (v1.7)</a></span>
|
|
<span><a href="https://github.com/pointbiz/bitaddress.org" target="_blank">GitHub Repository</a></span>
|
|
</div>
|
|
<div class="copyright">
|
|
<span>Copyright bitaddress.org.</span>
|
|
<span>JavaScript copyrights are included in the source.</span>
|
|
<span>No warranty.</span>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<script type="text/javascript">
|
|
var ninja = {
|
|
qrCode: {
|
|
// determine which type number is big enough for the input text length
|
|
getTypeNumber: function (text) {
|
|
var lengthCalculation = text.length * 8 + 12; // length as calculated by the QRCode
|
|
if (lengthCalculation < 72) { return 1; }
|
|
else if (lengthCalculation < 128) { return 2; }
|
|
else if (lengthCalculation < 208) { return 3; }
|
|
else if (lengthCalculation < 288) { return 4; }
|
|
else if (lengthCalculation < 368) { return 5; }
|
|
else if (lengthCalculation < 480) { return 6; }
|
|
else if (lengthCalculation < 528) { return 7; }
|
|
else if (lengthCalculation < 688) { return 8; }
|
|
else if (lengthCalculation < 800) { return 9; }
|
|
else if (lengthCalculation < 976) { return 10; }
|
|
return null;
|
|
},
|
|
|
|
createCanvas: function (text, sizeMultiplier) {
|
|
sizeMultiplier = (sizeMultiplier == undefined) ? 2 : sizeMultiplier; // default 2
|
|
// create the qrcode itself
|
|
var typeNumber = ninja.qrCode.getTypeNumber(text);
|
|
var qrcode = new QRCode(typeNumber, QRCode.ErrorCorrectLevel.H);
|
|
qrcode.addData(text);
|
|
qrcode.make();
|
|
var width = qrcode.getModuleCount() * sizeMultiplier;
|
|
var height = qrcode.getModuleCount() * sizeMultiplier;
|
|
// create canvas element
|
|
var canvas = document.createElement('canvas');
|
|
canvas.width = width;
|
|
canvas.height = height;
|
|
var ctx = canvas.getContext('2d');
|
|
// compute tileW/tileH based on width/height
|
|
var tileW = width / qrcode.getModuleCount();
|
|
var tileH = height / qrcode.getModuleCount();
|
|
// draw in the canvas
|
|
for (var row = 0; row < qrcode.getModuleCount(); row++) {
|
|
for (var col = 0; col < qrcode.getModuleCount(); col++) {
|
|
ctx.fillStyle = qrcode.isDark(row, col) ? "#000000" : "#ffffff";
|
|
ctx.fillRect(col * tileW, row * tileH, tileW, tileH);
|
|
}
|
|
}
|
|
// return just built canvas
|
|
return canvas;
|
|
},
|
|
|
|
// generate a QRCode and return it's representation as an Html table
|
|
createTableHtml: function (text) {
|
|
var typeNumber = ninja.qrCode.getTypeNumber(text);
|
|
var qr = new QRCode(typeNumber, QRCode.ErrorCorrectLevel.H);
|
|
qr.addData(text);
|
|
qr.make();
|
|
var tableHtml = "<table class='qrcodetable'>";
|
|
for (var r = 0; r < qr.getModuleCount(); r++) {
|
|
tableHtml += "<tr>";
|
|
for (var c = 0; c < qr.getModuleCount(); c++) {
|
|
if (qr.isDark(r, c)) {
|
|
tableHtml += "<td class='qrcodetddark'/>";
|
|
} else {
|
|
tableHtml += "<td class='qrcodetdlight'/>";
|
|
}
|
|
}
|
|
tableHtml += "</tr>";
|
|
}
|
|
tableHtml += "</table>";
|
|
return tableHtml;
|
|
},
|
|
|
|
// show QRCodes with canvas OR table (IE8)
|
|
// parameter: keyValuePair
|
|
// example: { "id1": "string1", "id2": "string2"}
|
|
// "id1" is the id of a div element where you want a QRCode inserted.
|
|
// "string1" is the string you want encoded into the QRCode.
|
|
showQrCode: function (keyValuePair, sizeMultiplier) {
|
|
for (var key in keyValuePair) {
|
|
var value = keyValuePair[key];
|
|
try {
|
|
if (document.getElementById(key)) {
|
|
document.getElementById(key).innerHTML = "";
|
|
document.getElementById(key).appendChild(ninja.qrCode.createCanvas(value, sizeMultiplier));
|
|
}
|
|
}
|
|
catch (e) {
|
|
// for browsers that do not support canvas (IE8)
|
|
document.getElementById(key).innerHTML = ninja.qrCode.createTableHtml(value);
|
|
}
|
|
}
|
|
}
|
|
},
|
|
|
|
// number of mouse movements to wait for
|
|
seedLimit: (function () {
|
|
var num = Crypto.util.randomBytes(12)[11];
|
|
return 50 + Math.floor(num);
|
|
})(),
|
|
|
|
seedCount: 0, // counter
|
|
|
|
// seed function exists to wait for mouse movement to add more entropy before generating an address
|
|
seed: function (evt) {
|
|
if (!evt) var evt = window.event;
|
|
|
|
// seed a bunch (minimum seedLimit) of times based on mouse moves
|
|
SecureRandom.seedTime();
|
|
// seed mouse position X and Y
|
|
if (evt) SecureRandom.seedInt((evt.clientX * evt.clientY));
|
|
|
|
ninja.seedCount++;
|
|
// seeding is over now we generate and display the address
|
|
if (ninja.seedCount == ninja.seedLimit) {
|
|
ninja.wallets.singlewallet.generateNewAddressAndKey();
|
|
|
|
// show UI
|
|
document.getElementById("generate").style.display = "none";
|
|
document.getElementById("keyarea").style.display = "block";
|
|
document.getElementById("singlecommands").style.visibility = "visible";
|
|
}
|
|
},
|
|
|
|
tabSwitch: function (walletTab) {
|
|
if (walletTab.className.indexOf("selected") == -1) {
|
|
// unselect all tabs
|
|
for (var wType in ninja.wallets) {
|
|
document.getElementById(wType).className = "tab";
|
|
ninja.wallets[wType].close();
|
|
}
|
|
walletTab.className += " selected";
|
|
ninja.wallets[walletTab.getAttribute("id")].open();
|
|
}
|
|
},
|
|
|
|
wallets: {
|
|
singlewallet: {
|
|
open: function () {
|
|
document.getElementById("singlearea").style.display = "block";
|
|
document.getElementById("singlecommands").style.display = "block";
|
|
},
|
|
|
|
close: function () {
|
|
document.getElementById("singlearea").style.display = "none";
|
|
document.getElementById("singlecommands").style.display = "none";
|
|
},
|
|
|
|
// If user has not moved the mouse or if they are on a mobile device
|
|
// we will force the generation after a random period of time.
|
|
forceGenerate: function () {
|
|
// if the mouse has not moved enough
|
|
if (ninja.seedCount < ninja.seedLimit) {
|
|
SecureRandom.seedTime();
|
|
ninja.seedCount = ninja.seedLimit - 1;
|
|
ninja.seed();
|
|
}
|
|
},
|
|
|
|
// generate bitcoin address and private key and update information in the HTML
|
|
generateNewAddressAndKey: function () {
|
|
try {
|
|
var key = new Bitcoin.ECKey(false);
|
|
var bitcoinAddress = key.getBitcoinAddress();
|
|
var privateKeyWif = key.getBitcoinWalletImportFormat();
|
|
document.getElementById("btcaddress").innerHTML = bitcoinAddress;
|
|
document.getElementById("btcprivwif").innerHTML = privateKeyWif;
|
|
var keyValuePair = {
|
|
"qrcode_public": bitcoinAddress,
|
|
"qrcode_private": privateKeyWif
|
|
};
|
|
ninja.qrCode.showQrCode(keyValuePair);
|
|
}
|
|
catch (e) {
|
|
// browser does not have sufficient JavaScript support to generate a bitcoin address
|
|
alert(e);
|
|
document.getElementById("btcaddress").innerHTML = "error";
|
|
document.getElementById("btcprivwif").innerHTML = "error";
|
|
document.getElementById("qrcode_public").innerHTML = "";
|
|
document.getElementById("qrcode_private").innerHTML = "";
|
|
}
|
|
}
|
|
},
|
|
|
|
bulkwallet: {
|
|
open: function () {
|
|
document.getElementById("bulkarea").style.display = "block";
|
|
document.getElementById("bulkcommands").style.display = "block";
|
|
document.getElementById("bulkfaqs").style.display = "block";
|
|
// show a default CSV list if the text area is empty
|
|
if (document.getElementById("bulktextarea").value == "") {
|
|
// return control of the thread to the browser to render the tab switch UI then build a default CSV list
|
|
setTimeout(function () { ninja.wallets.bulkwallet.buildCSV(3, 1); }, 200);
|
|
}
|
|
},
|
|
|
|
close: function () {
|
|
document.getElementById("bulkarea").style.display = "none";
|
|
document.getElementById("bulkcommands").style.display = "none";
|
|
document.getElementById("bulkfaqs").style.display = "none";
|
|
},
|
|
|
|
// use this function to bulk generate addresses
|
|
// rowLimit: number of Bitcoin Addresses to generate
|
|
// startIndex: add this number to the row index for output purposes
|
|
// returns:
|
|
// index,bitcoinAddress,privateKeyWif
|
|
buildCSV: function (rowLimit, startIndex) {
|
|
var bulkWallet = ninja.wallets.bulkwallet;
|
|
document.getElementById("bulktextarea").value = "Generating addresses... " + rowLimit;
|
|
bulkWallet.csv = [];
|
|
bulkWallet.csvRowLimit = rowLimit;
|
|
bulkWallet.csvRowsRemaining = rowLimit;
|
|
bulkWallet.csvStartIndex = --startIndex;
|
|
setTimeout(bulkWallet.batchCSV, 0);
|
|
},
|
|
|
|
csv: [],
|
|
csvRowsRemaining: null, // use to keep track of how many rows are left to process when building a large CSV array
|
|
csvRowLimit: 0,
|
|
csvStartIndex: 0,
|
|
|
|
batchCSV: function () {
|
|
var bulkWallet = ninja.wallets.bulkwallet;
|
|
if (bulkWallet.csvRowsRemaining > 0) {
|
|
bulkWallet.csvRowsRemaining--;
|
|
var key = new Bitcoin.ECKey(false);
|
|
|
|
bulkWallet.csv.push((bulkWallet.csvRowLimit - bulkWallet.csvRowsRemaining + bulkWallet.csvStartIndex)
|
|
+ ",\"" + key.getBitcoinAddress() + "\",\"" + key.toString("wif")
|
|
//+ "\",\"" + key.toString("wifcomp") // uncomment these lines to add different private key formats to the CSV
|
|
//+ "\",\"" + key.getBitcoinHexFormat()
|
|
//+ "\",\"" + key.toString("base64")
|
|
+ "\"");
|
|
|
|
document.getElementById("bulktextarea").value = "Generating addresses... " + bulkWallet.csvRowsRemaining;
|
|
|
|
// release thread to browser to render UI
|
|
setTimeout(bulkWallet.batchCSV, 0);
|
|
}
|
|
// processing is finished so put CSV in text area
|
|
else if (bulkWallet.csvRowsRemaining === 0) {
|
|
document.getElementById("bulktextarea").value = bulkWallet.csv.join("\n");
|
|
}
|
|
},
|
|
|
|
openCloseFaq: function (faqNum) {
|
|
// do close
|
|
if (document.getElementById("bulka" + faqNum).style.display == "block") {
|
|
document.getElementById("bulka" + faqNum).style.display = "none";
|
|
document.getElementById("bulke" + faqNum).setAttribute("class", "more");
|
|
}
|
|
// do open
|
|
else {
|
|
document.getElementById("bulka" + faqNum).style.display = "block";
|
|
document.getElementById("bulke" + faqNum).setAttribute("class", "less");
|
|
}
|
|
}
|
|
},
|
|
|
|
paperwallet: {
|
|
open: function () {
|
|
document.getElementById("main").setAttribute("class", "paper"); // add 'paper' class to main div
|
|
var paperArea = document.getElementById("paperarea");
|
|
paperArea.style.display = "block";
|
|
document.getElementById("papercommands").style.display = "block";
|
|
var perPageLimitElement = document.getElementById("paperlimitperpage");
|
|
var limitElement = document.getElementById("paperlimit");
|
|
var pageBreakAt = (ninja.wallets.paperwallet.useArtisticWallet) ? ninja.wallets.paperwallet.pageBreakAtArtisticDefault : ninja.wallets.paperwallet.pageBreakAtDefault;
|
|
if (perPageLimitElement && perPageLimitElement.value < 1) {
|
|
perPageLimitElement.value = pageBreakAt;
|
|
}
|
|
if (limitElement && limitElement.value < 1) {
|
|
limitElement.value = pageBreakAt;
|
|
}
|
|
if (paperArea.innerHTML == "") {
|
|
ninja.wallets.paperwallet.build(pageBreakAt, pageBreakAt, document.getElementById('paperart').checked);
|
|
}
|
|
},
|
|
|
|
close: function () {
|
|
document.getElementById("paperarea").style.display = "none";
|
|
document.getElementById("papercommands").style.display = "none";
|
|
document.getElementById("main").setAttribute("class", ""); // remove 'paper' class from main div
|
|
},
|
|
|
|
remaining: null, // use to keep track of how many addresses are left to process when building the paper wallet
|
|
count: 0,
|
|
pageBreakAtDefault: 7,
|
|
pageBreakAtArtisticDefault: 2,
|
|
useArtisticWallet: false,
|
|
pageBreakAt: null,
|
|
|
|
build: function (numWallets, pageBreakAt, useArtisticWallet) {
|
|
if (numWallets < 1) numWallets = 1;
|
|
ninja.wallets.paperwallet.remaining = numWallets;
|
|
ninja.wallets.paperwallet.count = 0;
|
|
ninja.wallets.paperwallet.useArtisticWallet = useArtisticWallet;
|
|
ninja.wallets.paperwallet.pageBreakAt = pageBreakAt;
|
|
document.getElementById("paperarea").innerHTML = "";
|
|
setTimeout(ninja.wallets.paperwallet.batch, 0);
|
|
},
|
|
|
|
batch: function () {
|
|
if (ninja.wallets.paperwallet.remaining > 0) {
|
|
var paperArea = document.getElementById("paperarea");
|
|
ninja.wallets.paperwallet.count++;
|
|
var i = ninja.wallets.paperwallet.count;
|
|
var pageBreakAt = ninja.wallets.paperwallet.pageBreakAt;
|
|
var div = document.createElement("div");
|
|
div.setAttribute("id", "keyarea" + i);
|
|
if (ninja.wallets.paperwallet.useArtisticWallet) {
|
|
div.innerHTML = ninja.wallets.paperwallet.templateArtisticHtml(i);
|
|
div.setAttribute("class", "keyarea art");
|
|
}
|
|
else {
|
|
div.innerHTML = ninja.wallets.paperwallet.templateHtml(i);
|
|
div.setAttribute("class", "keyarea");
|
|
}
|
|
if (paperArea.innerHTML != "") {
|
|
// page break
|
|
if (i % pageBreakAt == 1 && ninja.wallets.paperwallet.count >= pageBreakAt) {
|
|
var pBreak = document.createElement("div");
|
|
pBreak.setAttribute("class", "pagebreak");
|
|
document.getElementById("paperarea").appendChild(pBreak);
|
|
div.style.pageBreakBefore = "always";
|
|
if (!ninja.wallets.paperwallet.useArtisticWallet) {
|
|
div.style.borderTop = "2px solid green";
|
|
}
|
|
}
|
|
}
|
|
document.getElementById("paperarea").appendChild(div);
|
|
ninja.wallets.paperwallet.generateNewWallet(i);
|
|
ninja.wallets.paperwallet.remaining--;
|
|
setTimeout(ninja.wallets.paperwallet.batch, 0);
|
|
}
|
|
},
|
|
|
|
// generate bitcoin address, private key, QR Code and update information in the HTML
|
|
// idPostFix: 1, 2, 3, etc.
|
|
generateNewWallet: function (idPostFix) {
|
|
var key = new Bitcoin.ECKey(false);
|
|
var bitcoinAddress = key.getBitcoinAddress();
|
|
var privateKeyWif = key.getBitcoinWalletImportFormat();
|
|
if (ninja.wallets.paperwallet.useArtisticWallet) {
|
|
ninja.wallets.paperwallet.showArtisticWallet(idPostFix, bitcoinAddress, privateKeyWif);
|
|
}
|
|
else {
|
|
ninja.wallets.paperwallet.showWallet(idPostFix, bitcoinAddress, privateKeyWif);
|
|
}
|
|
},
|
|
|
|
templateHtml: function (i) {
|
|
var walletHtml =
|
|
"<div class='public'>" +
|
|
"<div id='qrcode_public" + i + "' class='qrcode_public'></div>" +
|
|
"<div class='pubaddress'>" +
|
|
"<span class='label'>Bitcoin Address:</span>" +
|
|
"<span class='output' id='btcaddress" + i + "'></span>" +
|
|
"</div>" +
|
|
"</div>" +
|
|
"<div class='private'>" +
|
|
"<div id='qrcode_private" + i + "' class='qrcode_private'></div>" +
|
|
"<div class='privwif'>" +
|
|
"<span class='label'>Private Key (Wallet Import Format):</span>" +
|
|
"<span class='output' id='btcprivwif" + i + "'></span>" +
|
|
"</div>" +
|
|
"</div>";
|
|
return walletHtml;
|
|
},
|
|
|
|
showWallet: function (idPostFix, bitcoinAddress, privateKeyWif) {
|
|
document.getElementById("btcaddress" + idPostFix).innerHTML = bitcoinAddress;
|
|
document.getElementById("btcprivwif" + idPostFix).innerHTML = privateKeyWif;
|
|
var keyValuePair = {};
|
|
keyValuePair["qrcode_public" + idPostFix] = bitcoinAddress;
|
|
keyValuePair["qrcode_private" + idPostFix] = privateKeyWif;
|
|
ninja.qrCode.showQrCode(keyValuePair);
|
|
document.getElementById("keyarea" + idPostFix).style.display = "block";
|
|
},
|
|
|
|
templateArtisticHtml: function (i) {
|
|
var walletHtml =
|
|
"<div class='artwallet' id='artwallet" + i + "'>" +
|
|
//"<iframe src='bitcoin-wallet-01.svg' id='papersvg" + i + "' class='papersvg' ></iframe>" +
|
|
"<img id='papersvg" + i + "' class='papersvg' src='data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAxsAAAGuCAYAAAD4RhsmAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAN+gAADfoB2TDXfwAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAACAASURBVHic7L13mB7Xfd/7OWf6W7YAi0UjAJIgQUoUmyhRpJol2ZJsSbYV23KLZTtxzNySmxsqvTxJnpTnJrmJdZ/rJ7k2Yqc8iWNZdhzbclGn1UVTpERKFBtEkUQjsMCWt0w/59w/zsxgAezuW5YUJQW/h/s8xO6cmTPzzjvz+53ftwhjDBvF++9xWoB371G1tuEGY8T773F2AMN7j6psyvEuMH/vUbU05fgZQN17VA2nHL8DWLv3qFJTjPWA2XuPqnNTjA2Azr1H1fn1v/+lexzxvqPKXPI7BIh1v+oA5t6jajDhMR1g7tJjXrKNMGDed1St/10IRPceVSsTHm8ROHfvUaUnGLMA9O49qvIxtxfA4r1H1Znq/wVgDHDpdVw3ZhdwfqN5/dI9Dtix9bYOsHDvUXVmzPlsuu8N5r373qPq+fXHFiDuvWTe77/H2V3ts9xgHwKot99t4Mxm512N2egzeQJY/KV7nPn3HVUzwOeB9wCPXbaDB496aXt5/1bnNklorZFSolQptNY40kE6zmXz93fcrXXrOvmCHFMVQkjHCDH97rQqhNYlUrqM2pcxGmMMUjpTH2+SKItEGGNwvXBb5zhOqDITjhtser8118nxzXbOf9RxLovB1zW9h6VWSmijcRzXCCE23dwYg1ZKOK47/jG22JdSpbj0mKosX5D9XxplWQgAx3HN2fOO7udy5Id+46fWnuMf/SP9S/c4onqAmPrZU70DeN+6/wcQIAFdP5/ef4/TBVygDeTYv58FrgIUcAaYASI7nBJYAxYABzhz71GVgH3vCQiq7QugD4SAY2BNwC5snhHX51A9L6+ptl+qc5D33+O0Affeo2qter8n9hSZAbJq31TzPgCcr+YXVNv2q+12AcvY5//p+rjVO2FXdX5zwLXAqeqcdwBDoFf97AXidb+X1bWqr8nJ+llcXc929XuPC8/25+89qvL33+Psrf69VO1XVOfUrq7VuWreg+o65/ceVfr99ziymqcAVtY/+6u/RcDO6ldFNb8YKDZ558wBs9X51J9TUG2SV/ug+n1YXZdhNTen+p0P6Oo8g+rv56vz84FW9SOqY9TXrlXNV2HvJ6/aPq/GZsDqpe/QS85BrhvnV/s11bwzLtx359fnQZNEdYydQDxtblrtZwZ7fepr41Zzr38k9jrW1z03oC7J39rYnHFpklzsknnMVsde3urainz5649v9AdV5iJLerLVXZjuigJZ0pNSOnhBe6qTMEYz7C25ndnd5eitL488HUgAP+xMdfxkuOIE0Yya5kWoVCGyeG2q61cWmcizgWx1dk48No3XpON4eEFronNWqhBFNpRha26iYxZZLLUuCaKZ8Y9nDIPeGbczu2eiz3WwdsbtzCyWbJEYXHQYrUniFWfc62jvt7Njz6vME1EUqYza8yP3b7Rm2B9v36rMRZEnImzNjrimhmFvyW3PLG65zyJPhNalCMLuRfv7009+ZOGpJx7t2j2B0VpIKZuHxfzCXvFT9/wT7w9+85fKE998TLe7c+In/tI/8vIsNf/13/3dgsvCiNtvmPVeffPeUaf4woS3UDJ3R463o345X4krMU4Y8vMJa1/yKZbdl3oy36oodFAeX3ZMkSXeVtt15/b09h66/fS4z9lLw6TLX03PPHiLKnORJAPHcT0Thh0lpaTfO++GUUf5fqSHg1XXcRxTFLkMw7YqilRGra5Kk6Hjer4ONniHFXkqsyyRZVmI7sx86TieMUYzHKy5ne5cWT8GiiKTK+dPezt3XZU7zsVF3KC/4rbaMyqJ+07UmimlEGijRTzsOUqVQgiBlI6J454zO7erMFoLbTRR1FV1gTgcrLqt9myZZ4l0XNe4rm+M0aRJIldWz3mO55t21FICI5QqkY5DPOw5c3OLBQKG/WX30a9+dk5rxf4DN8RXX3vL0M5ToJUScdxzOt355rmepkNnbeWMNzO7qwijjuqtnfNUWYio3VVR1FWD/rJbloXwvMAM+iuuUqWQUhrH8YzBIBDMzC4UQbhxXpDnqczzREZRV9XXuSxzYYzBDyLtOp6RWxTlWmuRxD3HGI2UrimKVAoh8f1QCymN1kporcEYUV1jE0YdLaVj8jyVqsyFEALPj7SUjsnSoSOEMJ4fmjQdStfxTKkKYbQSIPD8UPt+qFVZiCxPpH13OUZKaarFKeF5vvaDSLuubzCGJB04xpiLPkdjDFqXQpWlsOerhZSucVzPuK5nhJCXnXOeJVKpUkStjpr2tWOMIR6uuZ4XaD+IJs5P7byVSNOh1FoJKSQIYRzHNa7rmQuLGaPnVxSZzLNEtjtzU+XZAGkycIQQJgg3zfX/swvcsNFfhHSY9mFTh3RcjJ4qz69nsa0VPyEdjJ76+m3v2ELYazjl2GmPbY87xYqlMUg5+XvXYHCcLd9dG46RE46B6vOY4J7UusT1wvHnpTWO44+9fVnmeH405lwKXG+8bcsixQ9aY2yX4YedMbZLCFtzl/0+zzNWVzdvSDleBMZw/Jlj7trqCqurK/y3o/+Ev/h//ivhhV1/6fnnLhsTp6Pnve0I98HM7eDOuNgVlStxJSYJgb+zxa63Q7EKvYcgG6s5+R0dnszcQztdTq7NkAx7m27XX31+BvHwzJ6Dt7JVx2fTkM4ZVRZH+v1l2u05SlXguh55FuO4Hr4fURYZruuhdInr+ShVEkYd2w0UEq1KlCpxnIu/3p4f4rg+vdWzZGlCEAocxyUIWxR5hueHaK1JkwHdmZ2XjQcIozZpOsQYQ1GkqLJEG2XnFoSUZQHG0O3uII0HeH5I1OqyPkEVUmKT45DhYMUeVymM0czOzNJqzyKEwBjNoL9i++nGkOUJruujDTz6yGcAaLXn5g9fv+59KEBrhdYKKR20UqTJgDDq4no+QgiiqINSJcP+KhhIkkGTM0StLtJxEAiUKknTIVGrQxBu/Gw2xuA4Lq7jMRys2hyiOjffj0beA2WRk2ZDMAYhJEIKfD9CqYKyLHA9H696Dxd5gnQCHMejKDKM1riej9+aQUpJnqVkeYrnhwghKIscRzoURYaUDo4X4HlBc0201ggpkK6H0RqlVXM8111/TQVR1CXPErI0xnFdVFlU4yWu41b33+i8yw8isiwmTYYEYXuq74gQglZ7ljQZUFTnu1VUxQWqLFDa3mcCgecFYAzaaMKwPfE8gGYfWRpveo+MijDqkCR9+3m7G+Z2uzd9UQshKsDJ9CGEg9IbLICOO775P8M0FaSwKxbTH1/IbV+D6WK68wV7U04z1hg9VXFktEJ4ExYb1RdlwkFMCvtQZY7jjl88KDXZ9loVOFF3rG2LPB278FFlThDNjN5nFhO257fcxhiN0XriawdwfukUvbXz/MQv/D3u++Pf4NTxp1jYfZWdo5q+iJ82jDePmLsLvMsLpytxJaYKbw52vgXKPvS+AumJl3pGL2o4ouTAXJ9TzhyD3uqm2/VXTmGMZu+h26dIpgQGQ3dmJ1kaUxQZmetTFFmVREJRZDiuhykNQhocz8d1bdEhpYMfhKTJkFa7y0bvsyBsEwQt0nSA49giIYn7SMclTYc4jovnB+tGGLTWaKUoiowk7ttkzQ/wgwjHcZvz9P2IJO6TZQlKFbT82YuugVLlRcmu1soWAK0uZZE1iWFZZChVUhQZvh8RtWfwXB9jDDt27uP7f/B/IR6ucfXhW3jkoU+wvPw8t9z+ZmbnFnEc114jxyVLY3w/xPUC8iwBII57gMEYXSXiktm5XRR5ZhcrHYf+2nmk4xJF3cuS6GaOZW6LK8B1bCGYFyme6xNsseBljKYsC4oiQ6sSELbQqK6T6/kEYRutS4o8Q5U5eZFVhYwEU9hzci0irCwLkrgPQuC4thCRQuK4HlorHGM/vzopNhU62BZ0BmMUblXIXlpgaq1QqrTFhbH7KLOcMOxc9LlPEkHQIs+TqgjsTF1w1Em6kBJ3Xe5hjEZrbYsLVVZQW4njuPh+iJTORcfM0pg8S/CD8RY0Lw3PD0mTwbb2EYZt4riPlJcXbcaYzVcFm+TEmKk7HFI6GD01CuvCcafMvesbcTvHN2yn2Jhu7PbqGzPVjW+MRogpio0p8OZGK+QGK05bhTZ64jFKFXhjdAia7csczx9ze1M/7MZJ4g1a5bhjFBBalWPts37AjvqsiyzGHbP7slH83m+8nx//i3+P9/z8325+d+r4MZaXTk29z4lDtmD+LkSwyBW01JV4UcLtwo43gIph7cuQXt61+24JgWZ/Z5Wz7g5Wlpc33W6w+jzPi0fYe/CWCXMAIVzXx3FcyiInanVZXT4DGFrtWbIsQTouWpVoVeK6EUFgF2JUtTIqpVN1Q9LLkh+lChzXQzoOrfYMeZ4Rx30c6dJbXaLTnW+KljpZK8rcLlhJiecFdDrzlKrYNKFWqsTzfHw/YNBfYXZuV1VA5OR5ipQSr0r6Qt0mSQc40mU47Nmk0PWa/GNmdoEsS/AcjzQdcvL4E1x97c3sP3ADYMizhIcf+gRx3MORDne/8UdwPZ8sjXFdrymq0sT+qOodEYYtWu1Z+4lqRZ6nthsiJKWyq/bdmdnq97YoAlvoqbLEGI3jeoRBCyEd8ixGa0WnPdcUZGHUbt5HFd/IFihFXhVZEsdxcFwP1/FwLlnVNkaiVEmelziui+9HuK6PrNAXWivyLKEo8qajgnQIw3Y1LgEDQsqav4cBpBD2FSwMnhvg+UFTZNTnWpY5WinsLt3q85IIIcnzlDxPiMZcLNwofD+iICVLh4TRaITBRiGqjksS9+w7XesLxYXj2K6d10bKrSFRQRiRJAPyPMUf0SXZfB9t0qRPUdjvyOTnIomiDkkyIIo6YEDpElWWpOmgvWX2JqSDJfBNDnmpx5ttdBbsTmzCP/FKuJ3AtooNwTa7O9uqc7bR2Zim2NAaZ8IORTVw4lVz2x6esNgo88nuQ2Ns12XsuRnbqRizs6G1whnzC6lViZDuWJ9Lng3HKpCKbIg7RmFU5Amt7s6R220UjutxfukU/+mX/w4vu/W17Nl/Lc889QiPfuWzU+1v4pAuzN4J4cFtQzqvxJUYK5wW7HgdlDfD6v2QT6zv8Z0RwrAYncdbWODsuU01QeivnEQIwe4DN4//ThLYQiFPmwQwjNporYiHa+R5WhUdMX7QqhI1u++yLIhaNlnyA9thUKq4CKpblgVBU4AIfD/E83wG/VWUVmRZYuFRVcHhuh5R1Llo5T0th0jpbJCcGbI0Ic8TZucWKcsckaf0VpdsNyVsI6SDlDa3yNKhTYqzBGM0rucRRd1mJT2q4FS6gpN/5r4PcPL4E1x35A7KMifPYoSQXH34Vs4vneCa626jyBL6g1ULoapW5e116RKErSYXcqqiLEn6BEGLIGyxtnqWsiyYm9/dnK9SBUVVHLiuj+f5eFG7WSQsy5w07uEHEaFnk+bAaaGVIo77eJ5PWRaosqgWuQyu69Fqz+A43mX3hdaKIs8oS6vjEgQRjuvZa1SJfhityfKEIk8Rwia3nh8gpaQscpK43yTc0rGL1tpo+x7QGm0MYdTGrTpFShXkeWq7+FJWXY5w04VQ3w9xHJd4uGZhZ1PC1j0/hCIjHvaIWp2xFwqVKpoOmYWVuxS57WRN1ymxRUuaDsmyeMuu1KZ7qLpzSWy1hcYtOCzkzxZJWpcIYDhYrTqGnr2vovZwy4yvvtmnLjYaLYttdEeEtEmjMzkMZNvFwjY6I1MVR01sp8CZrjAzUxQNUM10ws/WaH3ZCsioULpscJ/jzWuya6i1hgnOvyzSi9qeI7cd64trUGo8CFVZpEQjIFRlBVWY9HPtzMzzslvupr+2wo+896/z//6ze/jcJ/47YL/Ti/uuJjv97Db5WFuH6d6K6NwAU3TbrsSV2Ha4M7DwVsiXYOULML1ozLd1zAfncHbv4PmltU2/z73lE5R5wp6rbx/zmSeEMcZyyoKILLUiUX7Qsr/zQwa9ZRzHpbWOC6G1vrC6XUUQtsmymCiy74t69dcmh6ZJcmr4UBR1bIfA8YgqHsBGobUianVIkyHGC5ouRJbFVeFgyPMU1/WYmVkgy+w5JHGvgsTaxNh1/YbTkaZDMLZzoLWqChx7LlJIemtLYAw33fpGfD+k318hSxM8P+C2V721gqH0+O8f+FcMh2vcdMsbue2Ot9LuzJGlQ/yKx5DEg+b9WV8vozVlmeN6AVpryiK/8FMWNokN2xd1iYyxXZVSFYRRpykMjTGoBiKlyHSCELaoK8uiKgzCiz4nYwxlmV8EqwqCCLe6tmBx/Wk6JB6uoat8I4w6uI6HkJKyzImHg6YoclwPXRVadhHV5qSuH6Grz7wscqRVKdwQXrRVOI5bJdf97RUcXoBANPu5+H1r0NqgteUgKVWCoelaeF7QFIXGmIr3kE/VWQALZUqTgYUsTrWPC9AuKZ0NOE8GpVTDqdIVJF4IieO6uG5kO4qqtLys4EKet3WxUbU6ma7WaCY/LUQH6u6KZpr7oCZoTRsVHWzq8VPHNoozw5SdjXrV4FsQlh8yYWdDFchg/FalVuVEsCutyomI7qrM8YLxCFllkRG1d4wxB4UUox+WWpcwhgBBkQ3xp2gTD3orXHvkdg7feDsAP/rev8GJZx/n1PFjrC2f5ef/j3/BB379n/P0E1+eeN8jo3UdzNyKkONzZ67ElXjRwt8Fu38QkhOwdj9sg4P47Roz7jLurllOLg0bqM2lEQ/Oc/ypz3PgurvG4Z6JmtNVdxeM0RUsKsF1PQzGJjXxoOIj+NUz+OJntqzgM3XypHWJ1oosjVGqaLgHvh8SVqv1fhCRZwlp0setCMUXJ8YahIV9SMclTQY22S1ypLRQENf1CEPbjSlVQZbFFjrlhSitCF2fMKrVV2040mE4WCVqzxBF3YuOqY0mCNu8891/BSElTz3+AJ/86H8G4O3vuscSvqvuQZ6n9UQvS4AtAdsS6KkKDsfxGAzP4+sWruOR6kHVESmIom6TdK5fODVGW46LdGi1uk2RVEOkag5Bq20LtuFwjSxLaLVmcD2/2Z9SBWWRNxw+U8Gdw7DTFHoN/KrIKMvCkuurlfgaGpXHwwa65rht9LpuUXMvCAeBff85rocngwpm19q0qBwVUjpVcj0gDFoTL4LWURP3k3hAGLWbwqL+PtUdNs8LN51rDalKkwFCyM2I1iMjCNskcQ8hxNgLopfOIwzb9pqEbYzRF7owRlfFnS2UpFPnKxfnLK7rocrioi7LiM6GS1HGW20yeuJSVoTgadWV5PQFQ91ZmTa2yfnYDt9j6s6ImZazMSUJf+IRNYxqUp7HZMWQbb1PQA4vs7EhVLaVrCe6zuMohBV5Mha/osjikdwS69+gty6gtri3P/J7v8Yb3voebr7jTew7eD37Dx256O+Dtc2hF1NFsBfmXg3OdIoaV+JKvHghIDpgVdCGT0HvRSiyX+JouWtctdjl5FK6qfhDkcUcP3Y/B697Dc6IgkOVOY7jNYmr49hCQzoOg/4K7c4crfbMBcx+aZWJgg0UdVzXZ9BfxvMCisJadnlegB+0GqK5VdGplge1xmCIoi5FbrkHQdhqChlVlhitSZMhStukNggiC70JWhR5SlkWxMM1amXIdmeOPEss5EsIhBTEwwv7NRWBWVTFyqVvxjzLLYk9Hdh5VH8WFem3O7tAlljs/w+/530AzM4u8vBXH2Rl+Xmuv+F2Duw/UJ27b4u0ILQdiGq+QSQbGE6rPYvnBQyHa7iu5VKUqiDAwqayLMFzqwQ5GaDKokpwfVrt2XX8Bwulcl0fN7DEbSEFqrQ8GFF9PrJSjArCdlPcWN5E0RDlhZAEQYTnh1UXY7UqRE1D1FeqbKBpYBNfx3FxPR/H8S7rXAghSZL+tgoFx3FpRV2SpI9PNHGCrirukeVaaIaDNXw/qLhH0USFkCWNty1ZntZUBccFOFQfEGPvQ2uN0QqlbWEhgHi4hucFlcJXMFHeFoQtkrjfLBSM5GxsFyohxPZ4G2IbJPPtmlbV7ckpR0993O0UKWZKNr0tCCcfMwn0aNqYpuBTZUYQjoYjXdg+xw/H6wJoVYzdNVGqmECFKiUIF0ZuVxYZrRFztdyPrRN3pTZfpV1dPsPHP/SfcVyPT/7Rf6E7u4N9B65j975rWFtZ4uyZ4yPnOU4Ydw4xfxd4W0PCrsSVeMlDONC5EaKrYfXz33VyuZHT58DuDsfPClS58bOhyIY8d+x+Dlx/F667OUxDCElR5vhBRJoMLEqi6kgEYdQkQPXKslIla6tnEUI2SWeNa5fSaaRU/aBFUK1kZ2mMU3Uy1odSBWHYJktjolYXYzRx3KdW2CyKHN8PLe+jSlzjuGeJukmfssgJguhyWVNjyLMYKSRB0ML4mixNKMgqbqtd7VXruuTGaNZ6PR5/8jFuuuEIWRbT7sxx7XW3cc3h2+j3ziOlw2c++Zu4bsAdr/mBRnFoZa3Hw1/87xRlQhoPOHjVT1fkZ02WxdViktusHLdaMwghLAG8ItH7QVR5PK3gBy3iYa/hUqiy2sYLCMP2RYmkMbpS4yqJok4DrdJaWSUvIYlaXQuzyuKmSAHbIVnfnTEYwrBdQbysildZ5s1irltxQtLEyhFfkN0dDYuyULwZe4+pch2XZ7IQUjZStFrrDUnW9SKjVraI0sYm5NJxq4LObzo1WTpsoHYTz0VIouqcqK7P9PvoNwXb+vOwcKhyXcfCql1Jx8WRbtMN1Frb79kG3JxxImrZ7iXGbJ0xbReGBDXvQ0/Z17Bt1HI8w+hNw0y52l9L+E0V20UkbQPSNNW5TgHdMnq0GtILEcaoybxDqtb6pOpV456L5WuMh4csx9DQhlq7fTSJ3HZgRn/xtSrxtyg2rCTuxkX8a9/yI+w/eD1/8IFf5msPfZoizzj57JOcfPbJkecxfkiYfy0iuoorClNX4jsqnNDK5WanYeVz31XQqkAMOLDY5vhZtiw4Tjx1P1ddf9emq8DWf8n6bNVQp5ow3mrNNmpBrutbBZ7SksBrEjlYOEjYJPyCLIspy8IWGlmMNorokkWXCwRmq+Y0HKza7kGFP69Vj6TjkOVJtaJv/QpqLkKaDAiC1mXPWM8PGA7WmpV7ISRBGDEYrCIQOK6FraTJ0HZhSgsvcqTDy64/zFe+9DFWlp/n0LU3c+srv7fKS2Bp6TjPPP1VAPZddT1XX3uLLQLKkt2H7qC/tsTcwgGSZGD5KhV0xUKgZhBS2nNRZVPEWb8DnyJPGwx9HPdotWYqqJK36Uq1KgsrH1yRrNNkgIGmayKlQ5bFxMMeQspGianuSDiOi1dJHTuVCpTWiiTpo8oSsPAwKR3bZUmHGAOO4+B6wZbE7o3CruR3WF0+w6kTTzDor5LEPdJ0SJL0SeMBSTJoeDeO4+I4bgNt6szsYGZ2F7OzC3RnF4iiDt2Znfh+1BD09Tp+gqxklTcrhOrrZFWZulMWHJY7UUP8NvKLGW8fXeLhGkHYavhNpjkPx/JlvPAyrlQdUjp4XkCaDIhal3fsxpgFYdRhZfn5aESxsf1V6+0qUgnhNEoOU+6B7fhWvCQ+G2a62Rpjpk7bpuke6Cn8GyaFHwHosphIpMAwmSeHVb0Y/8tsuyDj8UdUmRGMwZsoi3QsArw1ANoaQmXlc8WW16As0k15M1I6HL7xlbTaM/z4X/i7ACwvneLkc09y4tknOPnskyw9/9z0EMNgD8y/Dq7wMq7Ed3IEe2H3u6H3VRg+/lLP5gWLQAw5sKvN8aXNC448G3Di2P0cuO41G8JPrYdFSBJb88CiUgryWi0835KYh4PVir9hu7WuFxAEFpZUljlFtTruV34Z1gwwt3wNXW4oW1rkKUWREw97DbSnHc0hhKj4AsISuaEqMkKCsEVYdS1qou7Gi1sCP4gaHH69Sh+GbUsA753HyqomRFHHruZHXYSUxMMeJ557jF7vPJ7vc8vtb66KB8M1h2/l1Xe9C6VK9h+4gbNnnsUozeLeq3nD67+PLMtJkzU+/if/gSLPuOW2t7B73zV29bmapwCKIm06G2k6xPcjsnTYkJBd18P1fKR0qw7Axe9hS4qvFKIq2WCjNX71mdTv7aKCRUnHaRS5LBQqbHw6SmV9NIwxVbdAXaSUWZsWIgRSOE1xsVGRt1EYYzi/dILTp45x+uQxTp/6hu0ETBHnli731omiDrt2H2L33mvYs/cwu3YfIhhjka8OKZ2mUxaNaRZ4adSQqjjuE4btsQuO9eZ/NWQ9TQb2XvejxpBy3HA9H20UaRITRpPDnIUQdGd2JCNnLyr52GlXsG31Or0BWM35mHp8xfmYpnDatk/HlGOnlvqdtqiqVlgmHqYn7DhApc092RdP6RJnAkL5pJyQScz/6ntxPIm78e/bMk9GGvTV+xxFZC/yGGdE56XI4k0fXp/9+G/z0Bc+jFIln/vE77Dv4BH2Hbiem+94Ezff8SYA/v2/uZeliaFUtptBdGDCcVfiSnybhnBh9nZoH4blz0K59lLP6AWJQA45sKuzdcGR9jn59APsP3znZc+kGpe/XrrV9wKMMcSVe3kN02i1Z8gdt0mEwHIy6pX5eNjDr6BCZUWgnptfbN7PuvLRqHHzQdCy8CFjk63e2rlG6tRxPNqdOZxqVb3mdEopoS5ItngXGm1N9FzXayRCszRuYCi1QSCYyzrab3rbe1k6c5x9V13PN7/xMGdOP8Ps3C7md+7llXd+P8YYls+f4sN/+Ctg4K7XvZubbn0jQViycu45Tp88BkCvv8TB4CbKMsfXIaUqSNO44ulZqA+1D5N0QIiGH1P7V8RDCxurr/cFroRqOBKe51/0njMVfKsmedceW7aLHkGlpmTHmMal3X7WElkripoLYO/1nQwredvb1Mm7t3aOb37jYU4ef4Izp5++ANV6ESJJBjz3zKM898yjgOWlLO65mj37DnPomlewuPsgo3ItKWVDtJ6+4JANn8Tygy58z+ouXq106XkEeAAAIABJREFUVcOh6k6I/fysTHNdGF+qIjZu2MI1nlpW1/MCNTKDk45bSc9O3saBihi7re7ASydfe6ErMu3YbcR0rY0plajMVNwLbRSOnIzAZD0nJixQVIE3gTGdKsYne4PtPoxr5qcm6LJYydtxIFR6rI6PKq3M31afsXV23ZrTURaZ7eRssZ942AfgUx/5AGATg4XFqyxZ/OAR8jzbcq6XxZVuxpX4bg53BhZ/AIZPw9qfvdSzeUEikIORBUcar3Hq6S+x//Cdl2D+TeNIrKpOgNKKlh9V/hDWXC1NBmilGsO99SGE7SS4nm+J3knfJsKuR5oMm+elhcP4CC9gOFhF69Ji1SsDP2NMI+2qlSKJezhBi3bHmv/VnBLPC0jTIe4GuU6dxKfpEK01q+lZu9rsetQGhlk6tET1EPq9ZQaDFXwvrFSJNHv3XceuxUNkWcx9H/svLJ87ie+HXHfDq6yyltYEQWS7A1lC1OpW+/ZY2H2QO+58B2C47vpX0VtbolQFCFERkSUg7ftJOjiO1/Atmu7HOuUux3Gb66m1rtTCfILwchK2MYaiSMmzFDA4jteQzoUQjS8GFaLAcaxilsS9GKprDMZQqXr5eK5VM6rD9XwLCav4Dp4XsLZ6lqee+BLPfONhzp87OcHd+8JGWeacOvEkp048yUN/9ie0O3Ncfe0tHD5yB3v3Hd50nOO4RJXkb1Dd+5NGDVWz3YmggSXW5oYXiout4VBB2K4MCNtTLb4HYYssjaeW1R1dbEgHY9Q4m24YliC+HVWm7UVNCpty8PY6G9uK6YqG6T02pjECVIgJvC+gkq2b0LfF6Mmkk5UqCLzxZXJVOZ63BYxfQIDlawSt8TwzRnUioFKrGvElr/kkW32eeTYgHPN8AeZ37mHvgcOcO3OSh790Hw8/8Mmxx17pZry0cerYZ4g6O2nN7CVoXSHhv7ghbIcj3AvLn4Zi5aWe0LbDFhxbQ6qS4Qqnvvkl9l/7quY5HQ/XiIe9ShWq0yQ7lxJva5nOrWCstY9CnYBb/kfCzMyC7UYUmXW/riQ6W62Zi3htnh+QVkpPcbyG6wUNz8B1beJcFBlZBa+qF97qpK6WhDXaFhut1ow1CrzEm0GvQ1B0uvOkyZDf+c1/Qb93nkPXvILvffvPWxPBIOKGl9/FN499mfkde1GqZOn5Z5ndsZvZ2V38+J//+wRhG2MMn/jIf6TIM6674VVce/1tRFGHZ5/5Op/+xG8Agjd930+z78ANGGNod2ZRZUmepxVEzMfzwmoBqmjgaUDlAK4pS+uh0e7MXbbyXpPCa66D74eWoyPqTojtcmitGr5FzdkoirrrYBdsLTpG4gdB5ReycbJr+Q5dnnvmazz6yGc4/uxjvCT2AyNiOFjl0Uc+zaOPfJqdC/u5+fY3c92RV22IFqghVWkywIeRBceFjoWVL66N/0RlQul5gTV3nLBgcBy3Mcq83A9kvKgVpgRiYuL6GJ0NzyaIE0/Lhk32t8G52CYBeTsk920VKi9JTO+xMZWhn9YTFzdaTWjO17Rhxz+OmcSIcsLPV6sCZ5xEvWpjyzGKpDJPR/M6jBmrKCryhDCa3WI3FWxgzOvzYz/3tzhy053Nv08dP8YfffDfjgehutLNeEkjj1fpr5ykv3ISeATH9W3h0V2kNbPnSvHxYoXTgl1vh8ET3xUyuYEccmCxw/EzZlNZ3Lh/nuNPfZG9V9+OKywU2BhddTFcpONsuBoqhLAqRZfst+4kFJU3g1JlI+la+zqsrDxvfST8gMC1yVfmJJclQbVp2mCwglYl3fblz0fPC3Acj97aUtVt6VZkWoPjeoRBu3EKt5AkfUEKl8s5j7JyGa+jLHPSdEhRKJQxXHfkDg5dfRNh1OHRRz7DA1/4EJ7n8xf+8r+2bthZzNnnn+HYEw8C0OrMsf+qI7iu9SOpFYUMklZrllQOcByPfs9KBEctK/urK8UqnadW3assaXfnKl6jhVeBIE2GjdO3VoqiSCtpW9GofSlVWhUsqpV1bSG9tZN3WViTvayMm+5IbdToB+GWHhP2Gmq+eexhHn7o45w98+ym2327xflzJ/nTj/1X7v/c73PTzW/gplve2NwXdayXtPUvkbS1PhYW8qerLlgtYlArk4FormeS9C25ewoPjYsLjpmpFpmtP4718RinU1N/N0ZzNqREF9NzLtYdkpdEdabinEw5eFsytNuJ6Qni30r38MmI2BeONX7paoyakOw9WWGpdImc0GBwnC+oUrlN6Edsa+qiZARMsRxDhap+YW+1rzKPt1SpWh/zO/dw5KY7efyrX+DYYw+xe9/V3H7X23jPX/g7HP3Xf41yk5VO2824u+pmXFGaeqki7j9/0b9VmTNYPc1g9TTwMI7r0+os0JpZJOruvlJ8vKAhrExusBfOfxL0i4cv/1ZEIAbsW5jlxNJgUzn4NF7juSc+x8Lua3ZiDEFlipcmfbozOzd9dlkJbktsrhWKajiQdNzK3M5ChNJkYH0v2rOkWdy882S1ar8ZD+2Co3lrgxV8TVG5bed5iu+HVrmpPVupYVnSd1GkRO2ZRkmpyNN1/MDL372O6/G9b/85VlfOMrdjN48/dYwnv3YfcwvX8sY3vtPO5SLzNkmvd67iuJTMzC5ww8teQ1HkXHXVEfIsIcsSrj9yBzt37UcKB9fzOX3qGI506HR34AcRXpWECilJ4p5VyEqHlnwfeBVSwEqj1hArKSRx3KsMAxV1N0Gsu66O46JMaRfcpIsfhUhpjZ+TpF85f3sY45DnmeWw+NZXY5Qi01NPPMCXvvhH9NbObbndt3MkcZ8v3f/HPPKV+3j1Xe/iplvecFHuYh3Tu6RJH618tNGWJF87iksHzw9xHIfN3pvWdLLbOHxPwwNxXb8h9l9aFI0TtcpVkvRpORd3SGrekFZVV0YrjAHP80cTMYSQm7qKThLbMMW2JKcpdyDE9JwRAS+RGpUBOSVB/FvY2ZjqM5lwjFYlcgKc46SSt6rIcMZsB2pV4IyJVbSqUaN5JhcgVFtfkyKP8Uc4qJdFMoJ7YijyhFZ3of7nluEHIUZr/vCD/448SwB48tEH+PN/+R+z7+D1PPf01y8f5LRhz7tBTo7pvBIvbMT9pS3/rsqc/uop+qunAGzx0V1oOh9+NPetmOZ3d3iz1oF85QuQXq56850ULXeNPQs7OH12c3iYUgVnTz91ZFc7xBPSrr0LS75Okj6eG+B6HvXzTqmyelaGDHrLhK0OjuNZuVSlKIsMISSqzAmjzkWr464XEA/X0Fpb7wZV0LoEtmpqbwzHodvdaSVztbak2rKgrFyepbDGg61Wl3ZnjjS1ylRpckG5KghaFy1c1hh26+VhJSRtF6bgqccfYHH31UjHZffea+h053nkqw8zWDtBOjzHmaVXs2eX9XU4cuOd7D9wA2HYZjBY5f7P/R7t9ix3vOYHuPO1PwzAmdNP8zsf+Je4js9b3/kX2bnzKjw/4BMf/k88fezLdDrz/MTP/kMwhn5/GaewPA5jrLlhXbTFwzXCuUX7bDc0juE1HMpUSoa+HzZkYuv+naMqfymL+a9laxMQNJ2MssxtIRN1MFjY9FYvmt7aOT5z329x4rnHprgjN4/OzC4OXHc3e69+Jd35q5COZztc0sX1A3stemcZrJ2mt3yStfPPcv7MMVaWntn2sfMs4XOf+m0e//rnee0bfpRdiwfRVRJOpXxZ+8esd1ofN+qCI036BBOoVK2PmvuRJoPL/WTGCAEEfkQc9/E83yrGrkOhCCkb5bPqd6MJ4tbYbpvFRg1HmrLauKAoNR2bf+r5i+k7G9tfz52SszEV90Lbgm7CY8GE8KYpxtTGQ+OGLosJyeE5QWtz2NH6sPKM40HAtMqRzhh8jTwZCaGqPTFGnZdSJdEWBYklhnvV/ErKcuPV1rve9G72HTjMyWefZNBf5dWvfwdf/NPfR6mSQW8ZgHjQ2/gg0cErhca3SSSDyVYJVZnTXzlFf6UuPoJLio/xvidX4pIQLux4A8TfhNUvvtSz2VbMeMsUCwucO3d+022MMXKQaiKpGnJr7bKdZwlZnuBWcB3rLO3guQGiJRgO1wjDtn33akUYdXBd3ypS+dFF746aQK4riNXa6pkqeWpdtHorhCWK53nKcLhGWQltOI5XkaW9RrGnJjmHQYskGVjoitFIBKUqLoKC1Qm2lYu1RnZGa9ZWl/jcp36b6264g9e/6SfJqw7Mrbe9FtcLaLU67N41z0N/9scA3Pm6H2LHzn1orXjw/j9pVKdeccsbmZ1bBEOT8JdFzvK5U+zceRVleWE+M3MLxMO15jwiv2s7GdK6ledpjOv5VtVLQJoMLQ8FrNeClEhsASWlYzsVqSWO192bIGzjSJeiyCgKe21c10frkqLqZARBC9e7wBmsCfh+cDF0SGvNI1/+JA/e/0dbdMhHR6uzgyO3/gC7D97Gzr0vo7vzGsLuXqQ/nkHvpaGLAfHyNzl/6mucOPYFjn3tIyyfeXqqfZ1fOsmHfveXuf7GV/Ga1/4w7c4sdV5XJ/plmeFPIH5Th5Sy6S4EwXRO474fkucJaTokitpslnPae0Bf8Byp8mlZOc4XedYoiG2V241RElUJ9zaLBW0UDtP5dkgpLfZwCuaIfVhso1jaorNx/vljzO06NDHheZwQwq6kW8zouLKs03c2pJiQtD0hvAlqqdzJPkOtCrwJXEG1LidQrjITnYf11xgNQdLVC3RUUTU2hCpPcb2tz0kra0611eefZ0PC1hxFNiTP4k3vqyAIufHmu7nx5rsB+J63/xR3fc+7OfHMY+w7eIQv3/8xzp3dbJX2Cmzq2yHyZI2ymFAx7JJQZbaO82FXklvdPYSdRcLOTvygi+NOy+b7nzBa14C/COc/AWr4Us9m6tgZnKOY28na6vKm22hVgqQx09NKUarC8j+lg9G6gZHUCbuUbkNcNVoRVIVGLWCy0fPU8wKSyvchCNoEYbuCPGWNLK4Q1gRQqYIgiCwMqzN/2YqyVuuexUI06lLt9ixKlfRWlyACKV1Luq74JHncw/dDWu0ZgqDFE4/9GTOzC+w/8DKG/WVOPPs487v2sWfvtXzPG9+GlA5fe+RTPPbo5wGYm9/D4SOvRGvNjTfdjev7tsPS3clwsEbU6rD3quv5oR/7awwHa+zeey3nz51ASodX3/0ubr7tTRhgefk0WTJk58LeJvFTqqAYplZV1BiSuIcqC6J21/qU1NdeOARRx5LvK5d0rS1/wHI5/KqTYcnitceG/dwcgjBq1JDWR034TtNBI5F79syzfPoT/21qdSnPj3jVm3+Rl935U8zuvQ0mhEFvFdLr0Nl9M53dN3Po9p/ide+BvHeCE098nC9/6td57tikiwWGpx5/gGe/+TVe87of5uWveD1QQ5GswlRukoYXM9FcpZXFjZM+gtZUSle18lmaxlXnTluTTV1L6epGQUxWZo1ynedKPY8sHRKNEMMZ61OqiwUpplWkkhhVwpRJuRD24TQNS33bXhmbhDGGuL/EzPy+F7zYqLspWpU8/9wjdOb2MLdwaKyRU3EvplCjst2QST02yokxhhNzPCaAUelK5Wrcc7eqbKO3LcvxOiBqTAiVUvlICFWeDbcsSGo+R55aSdtWd2HTe+VTH/kAD37ho+w/eD37Dx1h/8Ej7L3qMIdvfCUAN9/xJu7/1B+wfO70lnO6Ei9dXMrXeCGiLDJ6y8/SW7bkzbC7h5mFI8wv7HvBj/VdG24bFt8Jaw9C/I2XejZTx+72MmU5y3Cwsa+IMcbCbmTFBRASx3FwKoKzUiVUBnRh2G7gIMYYVpZP0+nONwRYVZZbQkWCsE0c9/Bcv8LAm0ZtSQiB53uEYbtRgrKmdAXykg6sVVVym1XnVnu24pNUTsp+gFIFg/5yw0eIWl0c10WVtqhJkwHXHXklN7zsTlzP57P3fZCnnniA+fk9/Ph7/0FznIOHXs7jC/uRjsuuxQMMBiu0oi47du7lVfPvwA8iHvnyJ/nCZ34XISTv+fN/l737rmu6Hw898GEQgh/9yb/F/Pwenj/9NB/50K8C8MpXfz83vLxFWVhSuj0n+26sXdnDsFMZIF6QMU1iKxfsOh6lKpDSxXWl9bPIMxAVRAaBKkvbyQjbl/lxXBpSSlqtLkk85DP3/RaPfe2zE+dkUjrc+tqf5ubX/Tw7Dt6JcCZTwdxO+DNXce2rf55rX/3z5MMznHj8Y3z6f/xjVs6NT2LPs4TPfPIDnDrxJG/63p+xMr9VwZGlwwZKOGmI5toOCKWcKL+quxWwzqhRyOa7WjvMj8rzakhWlm5t+jdWViarlYgpGxMI6WyL9zHK2E+pgtWlZ1GlJZh15/ddUO3ZFkF88yjyGFXmuH64Lll/IVd1Ba4fse+aO3juqc/TndszUh51ahjVFOP0NF2KCfkUU0G17Iixtp3EzM96XIxZxKiCYAufizrKMscbYZBTy+Btdd2M0aiyIGxtjrHPs4G9X6OZsQjig94yT3ztfp742v2AfQYs7j3UFCAvBI/rSrx4MYqv8UJE2n+eoLOPQX+VTvcKv2PsEA7M3WnV2lY+91LPZqoQGPbNDniubF+QjF0Xqswx0lAUOS0vtBKyedao6PiVg7XlQtjVVSElRmuiVhdVllA9mpUqN5XZbEwDi5w8S6zfhhDWFNALLPk7zyqiqsZxHKRsEVfE6fXvFm00jhAkcb8ytQtIE8Wgv2L5G2lMd2anlZCtkjMLM9fEca96J8qLZGTnduy2cCbXI02HpMmg4lF0ePu77sHzQ4aDVT70O/8PWZ7w6rveyStuezNgE8A68iwlSfqosmxWwZ3KR0Q6Dr4fML9jD3me0p3ZaZPPqIZ6SVrtGcoiw2Cq/Rq01o3LuuN6hFHHKm7lieXZQAVxEhYBgLTvV2H5fL4XjkhE7TG0UiRJn/s+9l85ffKpcW6vJvYevIU3/cg/ZfHwG5ETyNm/WOG3d3PtHT/DNbf/JM8/8WE+/sG/zbnTT449/htPPsTyuVO87Z2/yNz87qbgSOI+BjMVpMoSzzc3D6yV3azalUJpZVEmQjay0u32rPWYqe77ScP3Q7J0SJ5t3qUZs9hwbdU/8RTq8Q5Fpe887fhyi/GqSG0CFbRI47WLkimxXVNA2BBClg5XaM8ssnL2m6TJGvO7riG61AF6m7K9UJkqGk08WKY7t3fENDVimu7TFKZ+ZkKXbqghUePb3U8Ku5q0Q1MWKUE43gOsLFLcMR8E1sVzjHlXsoSjjjuqQCvyZHPomDFkaR9VFnRmd08nBIB9qT9/8mmeP/k0D37hI1Pt40p86yLpf2tUXeK4wI+mx1z/Tx3RQfDm4NzHQE//fnypQlJy1c6CZ5dCykvcnC1PwhrEpemQ7syORoK2DuvE7VfyqS5JXDmLIxtzN+s3oZt3zfrioiyL6m/2meY4LtbLIbzI5djzfLIsIUkGjWN1GLRIkwFR68KikCoLVFk08rLDPMGRlszbas9ABeUqcmtuVxN9bdJmE7cP/f6v8MN/7n9vHLtffvMbuPqam/GCiOdPHuMjf/xrALz7x+7FcX18P2J+x16KireQ5alV3BKSV9z6PXQrhakk7fPNB7/C7r3X8opb3sj8zj0EQcTK2pCvff1x9u7Zx7v+3F8FAefPn+TpY1/mwKGXMb9jL0nct2pe2hLu8zyl3Z5tEkvH8SiLzCa8RjcwGa11pTgJcAEB0GrNbPjuN5XPSf0DNncbDlb5+J/8B1ZXzox9b3Vmd/OOn/237H/5u2xx/m0WQrrsfdm7eO8//AHOHvskH/+tv8mZE4+ONXZl+Xl+97f+b9781p/hmsO3ARC1umRpTJoMqu7AZLmjlA6tVtdym4KoKSxMpZJWw6Ac18OTwYZ5QKs1Q5JYtblpYF1B2CZNhpu6jI8Ho6os6acNIZ1tkcxHkbw9v0WWDgDBwt4jFyV62/HZqONy0V5DPDhvH0y6ZHH/yzeGzUxb5Bgqs6IUYzRhNMuwtzSy2GDqzsbkMCqtVSOxN8kYOUGyq3U5mbJUWUwkY2uLmfG2V2MWSo3L9xj7swXeaBWqrQ34DGWeEHV2XPYXrUrSeBUAP+xMXWhcie+syNMeZfHiS61aeK1ETqWcdyWAynn8h2D5TyH/zpP9dMk4sNDmuTPuRR4cftCi3WlVeO6YssgvS2C0KhvoSJbFOK5HELQaP4ea3K115bdRdRNMJYXreX6jeJPEPStvWxYbrA5bInOrPWsX7uIeQUU2L8scR7qUqmiUebRRTfdFa4U2mrWVs3Y13w8bEjXYd9pwsAoGknRgjQ+N5vizjxEPV9mz9zBh1CVqdVlbPdO8oweDVRZ3H7KO48C7f/x95HlCd3aRrz7yEMvLZ7jxxjs4cPVNDHrn+cx9H2Tp7LNIcR8/8wv/nPn5PRg8Pv2p32D5zKOc3P1y3vKWH6Q7s8CX7/8Ip08d49Gvfpaf+8X/i7LMGfRX7DWu3NbDsI3nW3fzJO6jlDX9c9zAFnRlYbsYlSyrVxn6aa1I0yG+FyIdxxKGlUJp+9k70sVx3UY17PTJp/joH/0a6Qbdrw3vJ9fnrT/xL7nh7l9AuJMnvBuFyc9BmYDOMDrH6AwhfUT7GoSzNbJgZAiHxevfyk///YdYevpP+cRv/x1OPzPaW6fIUz76R7/GbXd8H3e+9ocQQlp1s4o/EY7ghq4nbevKo6MuFPMswfNDgjC4rMAfFVHVIZkW1mU7LP1GQnp9jA2jUtsgG9ZqUtPvQG6q7V0dgGHvLDsWD5MlPcL2HE0SN2V3IUt69FdOYzAErdmLeBlKlZR5Snt2kXZ319gKReOHAaM5c/yrtGcWmdt1NWeOf7XiPGwFp5my2NhAI3zkmCkI4tPI3k7Ch9GqGLvbUt+P41yvRrJujH2X5QXFpy23y9OREK4af7zV/moC5KWfRZHH5OmQsD1HlvRehHv0Sny7RtIbfwVxO+EG8zi+RxBcUR/bVkgPFr4P1r4Mwyde6tlMHL4YXubB4XpB03EIwoh42MdxvYs6ubpylc6yGAxN4u04Dr4fYbRmefk0nufjq6jiTYS41X7qZ14N/Wl35vH8gKLILkt0lCpwXQ/Ps8l0lsZorUiSgcWcYwgiy2ewkru5Ve+TTrNKGwTRRUZqShWWWFvNO89T3vGuX0AbxYc/9CtorXjFrd/Dq+/+QYQQLO6+mne8+3/DcwMWFg/ymfs+QFGkvOKWN7Jz1wH6vWVOnjrJ41/9iPVD8j12L+5ECMne/dcx6C+zuOcgUavLcLhGlsX44SzCcfD8CMcN8L2AhcWrWD53kn0HjjQdICllQ7b3vABtNGkyrCBULmHUwWhtFbWMBiGQ0mlcw4WgMZ6zkLIBgPWFcD08ebmXxuOPfoHP3PeBsSG3d3//X+VVb/97uNHO8W68S8JkZ9HLX4S1hzD9r8HgCUT2LELHF21Xv/ENoJ0OuPPg7UKHV8OO1+PufReife1kBxeSXYffwk/+7S9y4tE/4H/86nvHWvD5yoMfZ/n8ad72zl/EcVyCIKoKjmFTcBhjoWi6gksbo6v1aGkFGFwXTwZNfmIL6v5lMMExT4Qw7DR+NtOQzsOwQ5L0cR0P6VzImcbvbGxD0ak+4WmTYTt242LDaMW500+iteLsiUfpzu8lXAdnElPK10rpkGcDBmtnKIuUvYdua/4W98/hhW26s3s49cxD7NxzhPbMrst3sg0YVTpcI+6fZ37XtUTtOfygPUZ3YxrjRGNHTOyXMcUYJvv8tVa4E1TXShVjJ9VqAolcVeZjO26rIsNrj14tUWU2kjuhinTk+eTZ8KKOizGGLFkDY0ngWpcINlZyMeN2K2vp6ivxHRFx/+y35DjCm8WrYCkvVCyf+ipe0KU9tw/p/M/kPC9g9pXgL3xH8ji29uCocOlJn3blWF3nAkWRWnfwsG1JqmXRwKMAgqCFqBJfx/VsR2JdUmuMIR5a/oW9D+t/exctDilV4vth4ytR8yu0KsmNxqt4JWVhDezWdy/seK+BfYGFgGVpjJCSNBmitaY7s4MsjTEI/KDV+CBoozh96hiB36LdmmV2fjfLy6d58jHLh+t0dzAzu4jreszPdDl03es5f/4kC7sONfyPl73iddz52h9EqYIvfu73WDrzLNde90pe//rvpde/mx3zc6ytnGLYX+aO17yTm255I0WRcfrUMcKwzdz8Hit5Gw9IEwurbbVnaLVnqiIjQSkFwsLRrBGf00jXWmiwsGZ+foQM200h460rLKtPhS989vd45KFPjHXvXH3jG3j7e4/S2nndWNuvD7P2MOqZo4ilP0TkJ5vsZ9wsQ6gBqAFkx3EGD8G538U8+T60twjd22DPj+IcfC/IMZ9FQnLVK97NL/6zR/nQr/4EJ57+0sghzz3zKB/5w6NVweHguh5pMiAe9uyrl9qR3pK2RaU0tlkuJYQkDG2HYSMOx8hTEIIwbBMnfUIxuY+HEIIo6hIP14haMxd8ccYZ3BDEtx3TuYjbC75xsiOkw679N26xX3HBnG+CRNcL2uw9dBsnnn6AZLB8kfqSEJIdi4dx/Ygduw+P7cg8Sbh+wMLeG4g684Bg1/6Xkww21zaH6Yo5o6f7TCaFXtkVkc2dMTeZ3MRKVOMqZCmVjyTc11EW47UUtS6bFaEtj13mCClHzrXIY6LO1qs8WhW4FTG8LFLb2WvNNYVUnvTxL/HxMFqTDJfRo7qNQvCj7/0bHL7xlSyfO83p557i5HNPcuq5p1g6c/xFEV64EtuPeEJ/jalDRnaVeYrVr41ClRlLJ79OLfPghx2iTuXz0d2DO0JM4bsivoN5HOs9OFRZoPUFdRwpbQKUJta1uCwyyiJv+BjD4VrTPXZcF9f1rfN1Uq+gW0hImg6p/TWEsA7ZCGg1UFNb2ORZQlhJuaqyIB72rLRtlajVjuNh1KEsC+suHrY2NzgzBgxN4q1UWcGFApTrV7CuoElxfuL/u1OZAAAgAElEQVRn/gHDeBXfC7n/c7/P41/7PAuLB3nXn/sr9FaXcB2PV975A+RZzMtuei3nlk5Ycnd3nrte8wZ8P0Q6kt//7fejVMGBQy/n5Te/Dsfx+Oaxh+mtLaG14vobXsXOnbv5xpMP8vEP/0cA3vzW97Jj5z6+8eSDfOWhjwPwUz/3j62qlDHNirfSCpUMGnlToDFgrIsup+oGbSg77Ic4rk+WDpCO23SAHvjCH45daNz9tr/Ca979LxHjJvOAiZ+hfPr/gzO/h5N9Y1rdoi1DFGdh+aOw/FHUE38Ts/D9yEP/K3LhDWOND2cP8mN//VM89OF/yqc/9C9Gbn/82a/z4Q/9Cm9528/ien5z75ZFTqvVYdIczXHcxml8qoJDSsvhiPv4QTSxj4cQglZrhnjd8ccuWWpzv0kViC6Mr5y8p1rsH7WyOmqnYiqokJAO7ZlFzp16wjo4V2TizuzuZpvO7J7Nd3DJnFWZoyqiuz+CmOwFHebXmWh5foS346qtJ1y7VE4QU7uHTyiza3Q5uXEg4ytRXYBFjTcno0qcMYtErQqkM1pdShU5bl3AbFHclsVo3wylikqWd/PzUWVe7ceQJX20Li+StL2gwLLOTEkVJMMVwtbsyGu1Z/813PCK17C2cpa5+V0s7jnIrXd+LwD//t/cy9KZ41uOvxLf+ijSPmWefEuOZYSH779wGvcW/nXh+ZWnA/J0wNq5ZwC7AFSbDEadRbwxFN++I8OdgcUfhHMfhbL/Us9motgZnCPvdns6G8ykybAxehMVgdoawlmSsuO4zbPJq4oLx70Aj6qV+KJWlzju0WpZ7kNZ5FU3QeEHIRTFJdw+QVkW9NbONVK2cOHdUAvOuI7XJHVWncojiXu4XtAk2MYYtC5J06HlhiR9ujM7aXcuPD9VOURKj7WVMywvP08Uttm97zBB2GJl+TR55U0x6J23MCUMgR9x821vajo3v/ub/4pSFVx18Ebe9s5fREqHQe8cS2etvOrs3CJB0EZrxdXX3sz5cyd5+c1vaPxEatfvoswJIisl3JmxC1VB0G66OZ3uvPV2yJPmmtXqXTXMbZQ52/qQUhK1ZsizhCTuc+K5x3jogfEERN79l36da171s2NtC1Ce+zT60b+JO/wyDi/E4vd4IVQPceaDcOaDqOgwHP77OAdHz1s4Pne8859y6OXfx2//8o81/MnN4uTxJ/j0Jz/A297xl5CO03QUrLJYZ+KF5NppPIl7RK3uVB2OqFVDqsaV1TW2Lq88bhzpEA97BEE0fn+klq91pi02tjme5uYy9X8ThdEa4UyeVOfZACFg2FsaWSBsFslwhZWlb9KeWcTzQk4/+xX2Xn37/8/ee0ZJcp73vb/KVZ0nz+7sbM67WIRFBohEAIQIiqQIUiRFiaJIm7KsK4tXsmTF4yPZPvalJV/ryPdYOVqkEiWZSQBJkAYBEjnHxeYwOzt5pkPlcD+81T2pu6dndjEAJfy/ANv9Vuiumur3eZ9/INNi1TpJkjXVZK5TXvU5Jsnq8zIEp3OVGRvR6mxvVyt2FwVB8+pb3PiLaVOdFjKtipjAt5EkeRHNKQzcRhchigLhdtVE3B2FK+dmhL6zovuV79XQjSx2ZRJVs1I3tAVuL0soVr5XI/BtMrne1G2kvYuQ7zrEccTvfPbfEMcRvf2b2LhlN0PDu/D9iwuMextvDOzKOuk1tDyqemn1GivRvwKvxpxXYy71t1dUHTPbRaF7C9nSRhT1n5AuSdah7x6Y+ib47TvabzUM5qv5qqqjKyLTolabTU1ixG+NY1cEzTNbQNNMFKX5okochciK0rDHFUnHItdCCiRUVSPwPdGhSES3JAj9hqjbc22Rg6EITYKVrhDX+ej1LoaSui/VqVi+52LX5lAUlSjVzZE6+mTS/S083ziOkSWZB776B8xMjTK4cTt3ft+nUpqYx+Hr3s2By25BM8Xz/Lvf/gJ2tcy73vMvMM0sSRzTOzDM2Ogp+ge2UilPYRgZzEyBd937aTzfYePQDibGTqFoBldffy/V8jTV6jQP3v9H5It9HDh0Cx/4yM8jKyquXeH0iRfZsv0A933035HEwlHK9118z8H3XBJiZEXBNDJEcYQELTsYnUA3LM6fO8pDD35uxbGmVeCjP3s/pU3XdLTvuHqU+KXPIE9/rW6++6ZBco7DS58kOvFZpN3/EXnj+1fcpnfbrfyL//Ay//hHH+f4y+07PqdPvsi3v/V5brvzhwHmM1CcCpaVX1PBUbfWXVvBIbJUmtnqikI8EgGdcdT4u6tvp8gKqmagajpRGHZu3SNfpKOUXC821rBtksTMjJ/mwpmX1rI1SZKgaSab99y8qi1r5QkUWSWT76NWHqfUt2V1XQBJojwzwtSFo2zedSOKqhN4YkUm8GrQotgQkR2rdYcK8d1qx9qCOtbS2Yjj1YvD4zjqWCMhxoerOobQYDT/7K49m7bnxfHnP/PK33EUeE3Puzp7gQTo7k+FZGkaeH01QlF1KrOj6ObiB0QcBcJCcYUCLww9Mm1WbpMkIQxc4jgUtKkl1128n+4jSXBqM0iy0ig0Qt9ZkaI2M3WB4689y6Grb+fZx7/OxNhZJsbO8vwTnbXI38b6Y730GorVg6qpYmX5EsG1WydSN0MU+tTmxqjNiQJLM7Jkcr1kCgNkihtW7B6+5SGp0HMnzDwM7vk3+2w6hiQlkiY72HacLhoJg5ckiSERqcWCVtV+tTaKQtT0uaaqukjr9l3CwG+IvV2vRuj4VCvi3qnnBhi6hWlmiMJQTNiEMBHXrRca85S8JEmQU4qWpuoNV6168KCmmwSBi24U5qld+nwYaxyL7IJisY9aZYZCsY9KeYrxC6dQFJX9l92M1CMTBj4j544wclaYAMzMjpPLd+O6Nd75rh9DkiQ8z+Y7D/0t5blJLr/qnRy8/FZcp8rY6Enu/7II7bvxlg8yvHkvY6OnGD1/gtHzJ9i0eS+bNu8jiUO++IXfIgx9zo+8zuFrv4+zZ17hiUe/hCwrvOs9n8bK5NE0A8vMCftbhDuSY5cxzMyaQoorlWm+8Y9/tMiRrBn6h/bzoc98FT0/tOI+E2+S8KWfQxn/S+TkrWWvLdmvwXMfJDx6JfKVf4JcONB2vJbt5/t/8st89wuf4YkHf7ft2COvPEZv3zAHL79VbNsIXSxjZQqrLjjqxfZFFRyGhZtaR8dRKIqKNFlckhVBI0x1UlL6t7b4HLSg82JDUS8ymG/txYokyRR7NzN5/jV8T3A2+zcdnM+1SL/8hS4DInY9IvAdpi4cJQhcVqMZCQMPuzJBNt+Pos4xPX6CwHdWpc8IfZepC6/TN7QPSZaplceZmThF/9B+Cm0oUWuhwtvlSWRVY7U8tbUUG2vJ2EiS1XU2omh1tKsoCjC05pPz6uwFegZ3zY/t0J5W7NdfPmlJEuzqNN0D844VwoVKZ+n3H3i1Rd2mIHBbZ2KkEEm2WsuHShxHuPYsmm5hWMWm48JAZG/EUYDnVtCNHKo2T/HyvdqKhWmpe4Cd+w6za99hdh+4lqOvPMnZU68x+bZe4y2L9crXSMg0qBeXAmHg4NnN06g7RaPzMSU6H4s1H/2oK3QT35KQZOi+BWYfB/vkm302HSOOxApnXdhdX4RZqHlw7LLIr2jxmyUMP+Y7Z7puMjszlgq9EzzPIUhTwXUjg4QIoVMVLU1olvHi1PffzOLYFRR1XltQX5n1PQffdxtFkWXl0qwJcB0buzYnVmrT56XIjphD1fTU0apCHEfcdOuHANExP3HsOR59+O8A6O7ewIZNu1A1nY1Du7jr3Z9idnqMUqmXo0eewnEqbN91Jfm8WHwcHTlKkiRMTpzFc+008C0WXRffRVEUTCvHzr3XpEF/AaVSP55bRUJuCHJNSxQTti2oeHESoaQBbsK2ep6KVHeV8j2HUApSTUxnc4kg8HjgS7+L47Sn/O2/+v3c+fE/RtFX/juMzvwZvPrTKNFbm0Yo154l+e51hNt+EXXPL7cdK8kqN9733/HdKs995y/ajn304S/Q0zvEhiEhmq93ner2zEudv1ZCveDwUve01sF/8aL/soCCqKo6ge9iWllkSUGSOw+yliSpc82GLKsEob3ywJbbKwTh2qkXqmYwMHwZo6efIwxcJkePsGnHtU1pKgthZkpIksz4uZcbiZkrIkmYuvA6PQM7CQIXM1NqcN1XU2xU5y4AInRt4twraEaGweHLOg6HWw2q5TGsXPcaBOKrp1GtJT2cpHP9BbCM9rTi7hvi8MUFZRJHeG5l0XV3atM41ZlGMnepd0vLAiCJ42VFUhh6Dd3F2LmXMDMlTKuwTESuaga1ymL6XRR46E0yMRbt37fR9OZi2LoIPElirGxXy+80DDzRwXC9dJy8aB9ym2KmDt9zOHXsRTYO72LH3ivZsffKxut/+N9/jpmpC223fxvri9CrEvhrf0avBomsYxiXzi3Knhu95Kn0yzQfeoZS/y66N+y7pMd54yFB6TqQDKi99mafTEfQdB1ZmXcpiuOosbLquTa6blKtzlIpT2NaOTRt8UKNmPyALEuNEL8gcEVuh+eQy3WhG5lUCJtr/IbphqBuOXYVVdPQDQs/DcozzEzD+nZhKGBdF6LrFo5dbrj9uG6NOA4x0g5JrTrb4K77qS4qSRIURdC56mFsppWlf3BzY0U4kysxPXWeublJBge2sWHjTgqFXoIg4Lvf/luCQCScH772+1AUlTve9WOMjR5n247LmZo4R5LEDG7YySd+/LNUyjPIssTrR56ku3uQy6+6kziOeObxf2RqepR9B27kfR/6GWqVaUrdwrly975r2bPvWmRVJZftIkEsuC3NTpNlUcQEgSeySIzMisLgJEl48P4/YWpypO24XYfexd2f/BySvNLiREL03E8gnf9DVk+Wf3MgxS7S8X9PNP4V5Kv+Aim7rfVYWeW2H/o9fK/KK0/975bj4jjm61/9Qz7wkZ8nlxeL6sIJTVqz6FtRVBEQaVeExfNSK12k1PVKRlXURsdiIVRNT8MwWy8StMIqNBvyRf0Y1GlUa4Ukyai6wYatVzJy4kmi0Of8yWfYtONatBVcSjQjQ6F7U8c5DOWZ8yRJjKpbhKGHZlgoikZ1ZpRC11DHk2bfq6EoOvnSBtS+rTQuTkfOWKu5kAmBZ5MrtRGrt9oyiZGlVVKv4njRimadwmWmrkjNz3BlgX6UXh9JktPAp87cZxYKAP3U/7s+wY/TDtfCQ8dxRL5rI2EqkmtZaKTXaWnnx6nNIMsKo6eepdS7mVxxAN9d3inQzTxzU+co9Qr6Xb2LtFInKQxc9KUUqjQJPI4jDKtAmK7ENUMcBYS+g2EVml4T3xP5G62COk0ri+fa1KpzfP73fx1JkhbpNTZu2b1qO7y38cZjvfQaspZFVVVM69K5Q60H/Svwbcplm67BtZpivJmQoHilyOSovPhmn8yKkGWFJFlcaBhmJn0OJiiqRqHYS60608i00HQLVVVJEkHrCQKPaiXlgScJhpEhky0S+G6aGyFW4pculmma0ViFte0KjlMlkyaF23aZJI5RVR3DsFBSm9H6ynHdslaS5YYjk+fUMKwsmmbiew5B4CHLKmEYkMuVeOqxL3Pk1ccZGt7Nve//KSRJYmBwO5/8V79BmHbR/+KPfxXfd9mz73quvv5eDDODZeUZ3rqf6YkRSl2DOJ7HzNwcmzbvoa9/E77n8r//9jeJooj9B2/i8HXvJooCnnniGxx59TEUReGTP/HfiKKQ06dfxvccRs8fY3jLfnQjw4MP/AljoyfZvvMK7njXJzj66hM88Mzvs2HjDq694fsJw+bUJPH9abhOTehhzAzN5iNJkvDYI3/P6ZPt78cNW67g3f/yr1YsNBJ3jPjJ9yFVVraLfStCqjxB/MjVSFf9NXLfO1uPU3Tu+sT/wnffz7GXWlOSHafCN+7/Y973wf+7MedUVQ1JEl26TLbQ8jlWzwarU/ySOGokwsuKgu1U0DWzYXEMnS0G17Nu1qIh6byzISnQQTBfksRN6UaSLF+UV78kK43V3KHtV3Pu+BMEvs3Z44+zZfdNbVfBJUmm0LWxIy5iHIfMTp6i1FevTiUkWSVbHKAycx6nNt1S2L3koKiqgVObxrXnyBUHiKOQ6twYqmaQyfe22Xh1AvEw8FA1U1yjZp8pCoWeoInV69rSw0NUeX4Vf/rCcYo9w223kSSpbYHl1GYYOf4Em3ffhG7mViVcF+JwcSvrZpaJ86/RM7gLWVaXFzhJgqqZxFGIqlvzVLwW+232x2xXJpEVlWy+j0L3ppYiclXVCQNXJM1rRuoe1Z7jHqcuVItei0Oc2gyaZmFlC6LD1sIIIIoCnOo0ZqbYNPE8ieO0KKu1pDXe9M77OHT1Hfzeb36G6295L+dOH2HkzOs8/8SDb+s13sJYL72GavSJfI1LKQ5fpyDCIJKpVcrkCq0XRt7SyB8U//0eKDhATHocp5raZ+oisXuBC5KVKQiak2HhOjW8dBvPFRN8w8gQBB5a6hAFIp3cscvIitqSTiJJEoqqNqxybbtCFEVks0UUdXFXN4ojoigk8EXmR602h2lmyWQKaUp21DgnRVHJZAtEYYhtz+F6NrMz4t6dHD8HQM128P0A05CoVWaFLqJBgVLRzSxTUxOYVpGbbvkQhpmhVi1z/1c/z/SFV9h94E4OH75eOGQpOlHkoBkmCYJKJpyJZExLdImiKODgoVvxPJvhzfuQZUH5ch2R2j0zM0YQeJw+9SLl2YlUX5iKe1sYsUiSjJXJN7pEhplBQnSZoigkTiLGR0/zwrPfanv9Sz3DfPAz9yNr7Rkh8eRDJM9+VFjOvkFIbnqe2L1AMvkg8vjfIztHL/kxpGgOnnov0f7fRtnyyZbjZNXk3h//An//W/dw5thjLceNjZ7g+Wce5IrDdzZeW6jBqLtUJXFCFIfzaeLp4q4kycLZStXRFjhKNZLg5c7pcnXU/w5Fh6NzR8DOlyeFarklxz9JYmrlcWYnzyBJEkPblzoNXFywnyzJIscAsLLd9A8dYGLkFULfYfTUs2zcfrhlurYkySTEHVF/fLe6aMVXnGtC78Y9JHHE7MQprGxndKVC9xBxFDI+8grlmREURSdX7CeT76xY6RSC0mMs28b3alRmzlOZHaXYPUxX//L23pquRzJve1un9LTrLolJbftj1B2VdDO7zKpwJUSLKFcS+eIGZsZP0jO4C0lWUDSj0UyKogC3NisSbmONWnmieSAjzdPA4zgk8B0GN1/O6Oln0Ywsuplrem9JsoKiaISBg6oZBL6DucDOuBl8z15QJCT4nk0UeFiZErKiCaFlHDXpLCR4blVkeCC17AqJ7ogQTSpa88ni2MhJKrsm0XWT6259L9elr8/NTDBy+nVGzhzh+Se/he+tj8Xq2+gM66bXUDKpC9XaQ0sXIgo9gnWy640iVm2+8ZbD90jBkaQp1YZuoWri+SxC4PRGKnIYBQSeK7oHZkYUAoiwP001CAN/UaEBaeiYJSw5l1JX47RwiMJA6P4kiVyuhKaZVKsz+IGLjui0x+lqr+/ZaKqezhOgWOzDdUW6duRFgkpt9SxKZFZVnYSEuZlxbrz1Q/ieQy5XYnJmkm985Y8JfId9l9/F/n0HSOKI7//AT4OUkM/38PB3vsXJIw/TN7iHm266G9ep4AUxTmWMMLCZnjqLrt9Gd89GfvDjv0qtOoOsaLz8/EPIssoVh+9k195rUBSdI0eP4rk1Ng0fIJOxGB09zUsPP8imwT5ufecP4bs2xe4BAs/l6uvupa9/C4VSH1EUIsuyEOGry81FGu5Cab6a69SIYhGMqKgqChpPPvYl2lGddDPPR3/+WysmgsejX4LnPoyUvHG5Mom1E6XrMhQugw13Af+F2J0gfvx9yJXWk/21HcxDevnHiWonUPb/x5bDZC3L+3/qK/z1b97OhTMvtBz31GNfZnjLPkpdAw33pyR1SLPtMrKkNCyjVVVDkk3ahf6B6FAYRgbHqWCauVVrQBoFh1tr2flailVxIRr2tU0sZOsfPlwx9XiNwX6yQrxA81HsGSaKfCbPH8GuTjF+7hUGhg82naAKm8/OfJnNTJEte97ROMW617aqmWzYcgVh6Hd89qpmsmnndSlHXhUZDG/AD10YiBXzpav4dQ6eoBa1eCisMuxQbBI3irCZiZOUere2Hd+Je5VTnSZb7AeEJetqNCFxFC7qpJnZIhfOvkhX/3ZkWcHKdhGFovvjOeUGDSpJYno37Gm532Zp4L5bo9A1hKoZlHo2E8choe+im8tXbiRJRlF1wsBLDQvCtt2aJEmIQh8zUxDe7rXZhr1n/cER+HZa2C1wuIoj3NoMqmaKe0xr3kUKA5cwcMnke9vSCV969mFeevZhZEXhc7/3awxt2c3Q5t1s3LyL/VfcxP4rbuLU0Rffztl4CyH0bXyvtj4HkzR089LpNdzqenVkukhUDV2/dB2ZNw1v8YIjSRIcu9KwvgTxnPLcmlgZj0ISQFVUrGyBMPAxTEFXTpIEzTfxAxdJkpBjZZm2UJaVRoZGksREUSgsXRMhbJUVtdE10VSdOInnnaQScS66bqLrJhKCeeG5NrIiskAkSazim1Z2PrBvwWfz3BpJkmBkihiaRmj5gMToyChObYrAr+E4DrIk4/g1stkSqqYTBB5zMxfw7CkmLxzB9W9DkxO6Sl3ccffHGTl3jK07DnDq5IvMzU3Q17+ZUqmfkbNHePaprwGC5jo0vJuZuRrPfOfzBKGDc/l7ufrwNZw9+RznTrzI7HgX79v9M2h9wzzy8P1MToxy+VW3sWvvdVwYH+XZ559iz+6DaJrZKDoaq+JJIrQpiiqS2HUxeQ0DHz9wUVWdl1/4dnudhiTzI7/wTczilrb3STzxLXj+h+ANLDQAGPzg8tfULOdGzrOxkEVFPDuTQ5+DyvMw9ndI9sV0PhKkU/+FMHZRD/5Gy1GKUeCDn3mAP/zV/Ti1maZjoijkW1/7M+5930+i1B2fZBndMEnSoElV1VdNbVbSIMa6y9VaCo44jhpBnSthVWfXsL9tQkeS0wC82YlTLbev8zXXNN9OJ/0L0d2/HZKEydHXKU+fQ1FU+ob2sbSYaQQKdnagVGU//+/GcSVpkTtGJ5BlZfX5HKtkm0Whh6zqyyaYda3KxPnWosK1hfqJFl3gOzi1GQY2HWw7WhQbrS964NXw3Ao9G3aL8VG4Ovu9JFkyiZcwM0XsyiS54gD50oYGhUmSZDZuvXJFJ6YknndTWQgzU8TMiO5Evmtj6kw12dKVR1ZUoiggCldOLI9CYbMbhT6uPYeZKS7bJooCTGO+OzKfGl5EUXRqlcmmnTPPKeO5Faxsd8fCsjiKOHXsRU4dm5/QlLoHGNqym1r14pyD3salhVNeH7G+omVRFA3jElre2uX1KTZQuzAs659GsQFpwZFAZS2W8G8sfM9BUXQUWcF1Bfc/CkN830XTDAwzKyay6bNIVXUcp0ImUyCOQoLAJZ/vQdU0gsDHcSooqb5OlsU8wvc90QFJXdF0wyQKQ8IoQFN1fE84SVmWyIQRLlMKpimE3IHvUq3MIMsyYRggybJwsjJFl8Oxy2mGxoJsgThu2OfOVap884E/ZfueG7n80FWoqsaWLcMod/wojucyNDjIc09/ndde/i7FUj/vvOcTyLLC1dfcwun+Ifr7hpCTgGefepBCVx9XXHUXlrkHWYaHv/VX+J7N0PBubrr1Q6iqLj6HZtDXvzldPI3QrS6kQMUwTJI4Zsv2Q/iey+atB5BlhQsXJrlw7hWqcyO88pKFqd/Mt+7/XZI4olKZ4cbrb8OKc43kdk02Wv4+qJqOrChMT57nqce+3Pb63/PR/0ph8Iq2Y6LpJ+CZDyDF69DV7Ll92UuzJ+6n4pjY2R4KSo0ksxtl80eAj8CB/0ziTRHPvgAv/AiStzbrafnMbxGZG1B2/mzLMVqml/d88g/4m9++r+WYqckRjh55kkNXLdaCSBJYmRyOU8U0s2sSjZtWrvG3t1qWi2Fk8Fw77XC0p8qtsthQV7avbde6UdJiZQ3BfpLULEVcontgJ2HgMTt5mpmJU0iy0na1eg0HZs2uCOvUro+jAFVvzr0TguTWFmX1jtTqIFbOBR3JbNuFiEKPwKs1xNtxHGFahUXfTa0yiaJoDTFzMycqP6UIyYqaajoSPHtOFEssF3Fnct1U5y6QKw6gamZj0h4nEVIH8TJR5HeUWRLFYbq/5t9hvUDvxDY58B2SJMZzq4uSwOsQ2SPzn7X+ndTHhoGLktIB6kiSZD5nRNGX0Q5WQrGrj9u+72P0b9hCeWaCpx99gJeffXhV+3gbbzxq65WvYfai6dqK2qPVwK6uD/3LCxQKVuZ7n0a1EPnLEAXHy2/2mSxCGIYEQZy6NongPMVQMc3sooyLOmRZxkjdoILAx8oUGh2RuuA7DEXRIUsyURTg+4K65AdeI4xPUGo10cnQdKG9yM47VlqKgm1XMAwr7YgEgIaiyJhGZtGikWFmGnoFECvMriMMSOIk4fSJ1ynPnGV2+jwkVzZsfTcMDpAkMWHgU63O4vsu01PnUVUN08qTyRaxDB3LyvHod/6e40efAWDrtkPouug09PYNUZ6bYGBwB45dpX9wC/f90C9AknDuzKscefVx9uy7nvfc91PYjksxpzMzNcrmrQfYu/8GTp85yZNPPU5//0b2HbyZkfOn2bptL4qc0LvhEHZ1ig2D29B1c1W8e1lWeObJBwiC1p2IDZsPsffmn2i7n6TyCjx1L9I6WdtKpcuXvTZ94hvIsoSpiGIn7nv/ohw4yehB7jrMeLVAr3YBaU2p5QnS0V8i0gdQNv9wy1GbDnw/ew+/l9ee/mLLMc88+QB7DtzQsG5unKckMmsEJSq7pg6HaWYbSeOrXXw2zAyuW8P3HHSjtdPqqmlUUdT6JhMa4OUdiPn31x7sV3fzaTebCS4AACAASURBVIbejXsJfIdaeRynOr2MGtTRl5ckaUmRLHs9Tlu1q0WSJMTpZHg1iNNWcCssLR6EX3Ybz+M24uz6NesUCzshnltFaxGcFUchMxMnCAMf3cigmznOH3uGbKGPwc2HFo2tzI4uogrFcYgmL96vrKhMjx+nMnsBw8qTzfchKyqTo6+TzfdhLVnN1/QMvnumcS9IkiQSaSWlo88raFcrr4BGwQrj0vs2jsO2JgZJHBOlLlStOmGB76Cogu/spqm81gIb3TBwFxU0cRSmds0ZQU3QLVZTWMqywoc/+cv0DmwiikL6BobZsfcqvv7FP+bJR77S8X7exhsPZ50m7EgZdMO8ZPP1OA7x7NlLs7M2UFSLIE6wrO/xoL9myB8SP1vVt07BEUUBUSS8+XXDQtMMfN9ZREdaCllR8DwndZ6av05xHAl72CgUv3KSRBQJ3Vocx8RRyNzsONlsCSszb/MdReGC4iEhiiLC0Mf3bALfRU3zP/KFbtEp8RykwBOZE4qKomgoqpgiBb6L59kpNVZDVTSyxT4277mVgweu58hrT/DYw3+Hrpvc+77/i0JXH77ncvmVd7B79zXki91UajZff/CrSLHH1de9k2yuxPDwPqpzU2RyRWRZwXVqaLrOnfd8kjASupMXnnmQKArZvedaCqVennniAcrlSezqHB/edx2lQp6//LNfY252gh27ruL6d3yQRx76W6ozpzlb2sL7P/Bptu/Yz9jEOF6UcMc7f4CpqQsUSz34gb8q3ebZ069w8vhzbce899N/0dZ5KnHPEz92N1LYnDbUKZLMbiT79ZXHWVtQzP5lr8+de4yCHqAjnp1S353Lxkwdf4C5uQrZ3g1kaG/v2/oEInj5x4msYZS+W1sMkrjzY/+T4y9+vaV+zfNsnnnyAW64+QeWvSfLMpaVx3Uq6B1YFi+Foqip9XNlTQWHaWZxnSpB4KEqotif1/1EqIq2uhJIlhWisN2kuz7hXV5sJHFMGHoEnp3SWaT5FfG0OImTGFmSMTLFZe0gSZJIWnQY6rz8MHDYsO2q5RPrNgVQHbOTp6mVJ5YdI0mV/bKsrJ7elLokrbbYiKJQ8FGX2sWmn0s3svQM7mpMXiVxos0fGBKtj596mXuOsANMSNKiK1kkrZHSToamZ5AVkdAKEEc+irZ8Ap0kMeMj4odvcPPl2NUp8QMR+mRyvSyc8Eahj+dUKHbPu1kJfu7i6y/uGdElKPVsboQiVmbOpyL1xQ9MRdWJo4A4ng8TFFSmzrjmYegvt59tNi5wF034lyMhiSOhpWgBz62k4X+tC40kSYQ2xMhiV6awsqVFnZekzrVNX/Pdqkghz3UjyUoqhO9dsL+YMHDbfra+DZvpHdjEFz//W7z6wqNs2305N91xH3e8+4d56ZmHcOxq2+3fxvogDJyG5fMbjUTWMc1LR0Nyq+PrEhAp691YauaSOmi9pVA4BEkAtZUnX+uBfKGbWi1ATZ+9jl3G82yKpeWTPpjvGuTyXXiuTRj4xHFMGAWLDEkWWoAqqpZqSNV0McVcNEmKwgBJkvDcWoMmpak6+UIPczPjIvROrWeBSFiZfBry5+Iltkgod2oEwTSWlROFS5IuDBGye8c2tg5vIJMtMnJWTMB936Vam8HKlQCNUs8Apa6IIPQ5deRVxk4/CsDpgSH6evrZvutKhrfsJwg8jrz6KE899lV03eQ9H/g3mFYO2y7z6kvfAaCvfzMDG7exZdtBzp09wpbtl1EpTzX4+nVbdVmR6e7fg+/M0t27DV03OPL6Kzz1nc9hmCXuuvdfcfzYK0xOnKanbxu33XIPRgc21lEU8Mj/+eu2Y95536+R6d3bdkzw5EdRg4unfcrveEos5pVfJZl6BMa/iDTzECztQPQvpyfFoUt16hiDW/uoT+yU0nLa18yJB4mwkLm4DoyUeCTPfxxuewnU5vMKLdPPez/1+3zhf7bugLz8/EMcvPxW8vnlcw5ZlrEyhVSXlDQ6g51C1XQkWcauldsmjcdxnGp74gWCdbHg7XsOXmKjGxaKrKBoal2sHq26s7HWH4Yo8vHdKp5dRpKlVCCWRolIwpJLToNEgCYTOAkp1U8snVRXZs5Tnj7H0PZrmk7q6mLmdij0DAsO/uINiQJhh7eaMD+BRFiQZrs7WAVcPMCzyxjZ4oJ3pPR/6uOSRfaosqwSRWEbekDzckMUUeLh7NqzqZuR1/iOZVlFUXVkVUOWFKLASzsQ4thJAnKTPc9OnMapzbB51w3puJhaeQpF1ZddV6c2A0mMletKxzZ3okqSGNeeJVvoW5S+Lssqidyk0JLmv6s64jhYngbeBIKutHIeRhyHadek9bg4EuL4ZkGOdWG3ouooqtHW0SsKXOJU+yFoU0ucx3wbVTMEvcyZAyQyuW6EaYO3qKshHLlmVtTF1FcXTx57kSgKOfbq01TmpvjUZ36D/g1bOH38rbOS+s8Z66fXyKQrYJduwl4P3HujEUsZTNNcNY3wewrFqyBywT3zZp+JcIxaQM2oFwaeWwMkNN1IQ8rmheO6bhKFAZ5Xw7bLgoOuKCiy2kghl9PAPceuoGlGup3Iy5ibGaNQ6keWFcLQp1qdQddNNM1MJ08yURjiujUKxV78wEspJ4ufpYqiEHo+tjeH59lYqfjVMCwkSWloRqYmzpHNlUR+xt5r6e3bRDZXotQ9xDe+9jdMT5xgw/AV3Hrr3SRxxPCmYaYPvAtdkzl02bWcPvkSU5Mj805Daep6GIYpIwKy2SL7Dt6E77v09W8mCDyuuPpu9h+6Gc9zeeLRL9E/uJX3/eC/JYkjdN3Cc2vcfutdTM9eS7GQYWZ6lDAMURQDVc+QJDJT46eozJxCNwvYThlkSYjl20xWjr3+NOW51h3UnsGdXHb7z7S9L6Lj/wO18p2Vb6AVkJRuQNbEdZG6D0P3Ydj10yShQzT3CvHUIyhTX0Ga+ib03rFs+7lT38DMljAM8RuYZHYgm8vjCKbPPU6XXsXk4mmqkj9C+MyPol77dy3HbD70Ibbv/wNOvPJ/mr4fRSFPP/5VbruzeUFSd2pz7DIJSdtOYjPUNRz1pPIknu9QJKllsmgUyMiSjCKrSKq8gK4PrltFWE8vnl+srtiQpBXm7MmS/y44kGZS7BnGMWc6y6lofgIpjWdBGnR1monzrzG86/qWdp+ddBZkWWmqJanbjK0mzbqxT1VPOfSr62xIirIqgbSiGfhurfmkNxFFRbMiMUkSJFnBsAorJrHXEQZuoyCUFZUwXEyrq+eUFLqHUVQjtTgMqcycJ5vvXRKgl1CZOY+V62nQseI4bKoB8d0qge/Qt3F+1UToGyrLi0TSvApZWaTPqCeGr4QoDDr6/qPQb9uxEMeMkCRj2f6i0MN1yphWEUXRqFUnWxYtcZqCblj5pt2WetfDynZhVyfR9Myi4th3K1jp31xdfN4uX6SOybFzJEnC3e/7FP/4hd/BdWoUu8TKpOuuT1L121gZdmViXY4j9BpGyxDMtWC96F9+AF1WZtXP4u8tSNB1A0x54K9Pbknbs2lY1NZQNUGn0nVLZFoEHoHvoWo6vu+mNrg1kRml6pimMDzJNKF0JInIFKgXGg23qyhiduYCupFpOEhlc6XG9kHg4XvOolXbKIoa7lh+4BFHUSMlPJYjMpkCmm7guTYkIKdOnONjp/mHv/4N7nnPp+kb3Eou302+2Ivn2o1uil0Zw/MquE6NWs2hu7eXG2+4FacmJoKPPPQ3+J7N3Ow4t9/1I+zcczW9A5vI5bqJwoDTp14hlytw8PJbMa0cx44d57uPPUhP73YOX3k1J449x/HXn+b460/T3TVI38AWHn34C5w++RK7913Hjp1X8jf/6z/hew433vqDvPu+XyAKXPp7S1z/jvs4e+YYQ8NbU2Fv0ghebMX5f+XFR9pe73t/7A+Q1NbFfGKfhmO/0tG9syL639/0ZUm1UHsOQ89h4KdJIrfp/G/6xNfIZDLoqujuJ/0fWDYm8qv41TGsIWGWfCkgT36R6NQfomz9VPMBksw9n/hjfucXdrYMwT525GlueMcHlmk3GrtI82tcp0KSJOgtFlgWWhzXragbaeKShF2bQ9NNVEVLs2nkepei7Wes60fqjnF1rCkGuHXWBqn1XCvNxsUF+8kN3YZ4ULj2LBfOvsDg5kPt06Yv4gemnQbljcHKSdtLoaoGdjDZ9CYQhUYLDciC9nTHZxdHDaqObmSpOOVF7weeTRi4mJlCOj7ErkwRBi75rqFFY0Pfw6nNCAexul4jpZAthV2ZRFWNRYnYlVmxolvqXW6vF3jCIlZa0uHo5PMKvcbKE6qmSd8LUBcJLiyuReehTByHZLKC4hT6TsuiJQp93NosSFLLY0WhhyTLuPasKF4WFMZRGkwoSRKBJ+xRM/kepFRk2Q52rcwTD3+Z6275fvYevI5KeZpCqZfy7CTjo6fbbvtWRejbuNUJzHwfqnbpErDfTDjrVGwkchbdMC6ZXiNKabVvNGTVJJJkDPOfcFejDkmGnlth4gEI33zHuPqEw3PthhBZkoRg3AtsgsBtdJEtK4fvaY2OhutU01yO5Y58vuuQL/YgywqeJ2hXkiyj6xaGbonUcq+SUpI1fN8hikKsTD51snLxPTsN8MulTlcGmpUjDAPCwMOyckRx1HD5mZ0dJ5srkcQxk6ntt6oZVGseR46+Sibby5ahAUgiDl93J9OTB9m0aTtnR0Z48flvYhh57n7XD4ok5zimu2eQ2ZkJevuGcd0aURSQzXZhGBmefPbLHDsikrQ/9mO/TiZTYGTkOONnn2Nm/Dgbh7bS07uJXL4by8qhGSZh6HP65EuU5ya5cP4YG4d2pZ0kqFWn2Lojw6PffZQXX6hx7fV3s3HTdsrlGXLZHAP9G4jUEM+1UVVtkdA3jiPGx04zfuFUy+s8tO0qejbf2PZeiJ75YeTo0tA9pZ5bOhunNP+bL2y8jowyi6UegcoZ6Fme+D174gGsbBFDu8S2vEf+LcmG9yIZzfO9jMIm7v7IZ7n/c80drKIo4OhrT3Lw8lb6j3qhLzQcQcq+aBQWdco8Yk4tpcW1pquLCoowDEQQpWGtap4oSRKWlce2y1hmrkG7X32xIZGKbpu9mYhAvDdo8UiShd82ipjojZ15ka6+bSukcV/sQS/CjWotRcoaNlE1gzDwmhYpcRQKkXscLnsvYfXFRhxHjTA4M1NkevzEImqbWDGSUjvWElMXXm/kjJjZxam9nlsmSaJF16+ZExVAZW4MK9fd6EzYlUmmRo/QM7irKcXNdcpk8/N/zCKosbMbM45CFGvlTlYSx207IHXRt5Fa5UZRgOeU0TQrLcbq2RkOhrW4kEiSBN8VWhpFM1p31pIEz6kgyTJmtrQs2NJ3KuhmDrc2gyQrDQpWq/tlKb75lT9jbmaCQ1ffRqHUx6ljL/LA3/9+wxr4ew3To68wM34MEMWyle8jm+/HKm7oqMB8qyEKXTx3fRxdkHQM41Lma6xTR0bvQdUt9Et47m9pSAr03gXjX4a4vS5rPaCoGqE9h2MnzNvfi9/VTLaIoqiEYUDgeyJNPHV/MszsshXSMPSpVmbFPgOfEE84GVq5VLsRNyhWlpUj8D3cqEaSxCiqhufZjcm+77up3acsiogkbnQmrEyeMAxEhyNdYZZlBT8ViW8c3sWHPvZLlEoDfOUrf8n5U4+S69pM5vYPY+oSXYU8A739mFaO148doTJzBlfPc+bMSfp6BZX4jnd9osGc+O63/5ZqZZahTbu5/PA72b7rqkZieb3Tf+Cy61FVjWLXIAN93eRy2/jYj/065bkZTp46gTQxxR13f4IgdNE0nWJpgE/8+GeBBN/zOHX6OCdefUB8jxQpT75AbfYsW/bczt13vh9JktANSwjoA69BWZMkuaEbaYXb7/tPbRd1o2P/Dbn86MXcRosgFQ5c1PZ9Bz8GBz8GQBJUUOTlz4aZk98kY8Rk9UtrzStFFeKXfw7lqj9pOWb3dT/K1/7qF4hbLAi++tJ3OHj5LSm1iYZ+Iq7rJxp0dIXA90gQHQ5NFbqMhbSnVhA0R6lha7v6giOH69YwDNEtW3WxIUkycRKjLPGUiqKAqdHXG12PmYmT5Esblzv1XFSXQSZJIuIo5Nyxxyn0bGq6qt0UCdiVKTTDat8FWXpMOu9s1ClDkE66233WNmF6rYTwraDqGcLAXXaenlNheuwohlXEc8rMTZ2l0D00f9Mki4OSOkESz7tr6WYOTTMJfaehN9CMDMWeTcxMnMKuTtHVv4O5ydNYmdKyibnnVsiXNix6PY7CZdenniWhKBrT48fxnAqKorFh61Utz9OpTtPVt7Xx7ygKOvKgrt+/K/0hxgs6PK0QRT6SrKAbWTy3IpLAc92L/mjr4qqlYm+7OiW+XyuDkwb2LT/XBKc6hawoWNnlgrEoCoiTCM8po5u5BftI8N0KcgeOFUmScO70azz1na+uOPZ7Ac6CCa7v1fC9WkM3oJs5rFwf2UI/VmHwe6L4sNdJryGrlgiBuoR6jfXK14ilDJZxaelfb3nIGvTdA+NfEm4464woCnHdgCgMCAKPMAxIkoRcXuT8uG4Ny8w3eN2aZjQm9r7vQkr/MM0cnivSxcMwwPcc4jjEsvJChKospsnGafjf3OwEuiHs4HXdJEGE30KComhoVgZFUTDMrChy3BpxHKHpJlpd++baJElCIMtoukGh0MPs7BiZTBErU6A8N4HvO5R6Bpie7CeTGyRrWRw/dYzZ6Qts33GQoY1D7N29G1l6L5lMnuFNw3zzgT+hZle44eYfoKdvCE0zuHD+OJ7nYBgmqmYwtGkX27YfIkkSXnjmQSrlKYY27eGmG29DlnUe/vaX8OOEa6++g6PHX+PlJ/4GJIlb7/nXDG3cwPHXn2Zs9BR7D9zA1PgI5869Tm/fVrbtuxPHnmX3rl08N3MEVTXQVItqbRZN1UUumG4hKwq+76ZmLXDi2LMtr3V333b6dizPsWgg9uHEf7k0NxYAMt7zP0st7sPovZbs1nuQmhQLnULSmjMGnPIZTOawpEtP9ZTG/oqk8stI+V1N31eMIje/+2f49pf+n6bvT0+d58ypV+jtH26EN8uKIhLEl9GdElynJuZWK2RhLEXd1WotLlWyrGCZOWyngmVmOwgcWAJJksXq85KJliKLQL36B2w1l74Yzqwky0SBz4UzL5ArDYpQvw4RRT6To68zvPP6VR60Wb5Hc8RRyLnjTxD4Dpt2XNt0TJLEnD/5NJIks2Hrlcv5qKz+O5IkCVU3iUJvkchYN7MMbrmy5f6SeLH+pRPESSRa9Yh7oat/G5XZUboHdtTPhv5NB+jdsBdZUbCrM3hOhe6B5dcqX9rYVAi+tACqzl5AVQ36N+0XAr1eNU1GrzTNzKhnWiycoItQvw7E4VF7i9rG/gJ3RWtc157DMHM41WkUVU/D9hZfi8C3F4nH64WVletOhf9BU55k3dY2SWKsTJFm8N0qcRSSyXUvCgcM01WrTroT933859i0dS+/9eufQlE17vmBf8nX/uEPCQJvxW3faogjH3cJ7W8hfLeK71aZmzwJiOIjk+8jk+8nUxhEeQsWH+ul11DNPlTNQGvjo75a2OvU2fjnoddoAsUSHY6J+9f90L7vEgaIib1uks2JxSa7NoskyUIbsGSxQxixWI1kYt9ziOKIKAxwnAqGkcG0skiynDpHxYRhIBZVonnXSE01MMxMWjxkhHtOEje462EoXArjNClbkiQqlRmKpX4URcX3HILQFzke+S40zRSmGm6NTKYoFnkcG1kWaeOXHTjEru17MC2TubLNS099Cd+rMDszSf8995HN5Ln2mpsIAo/x0ROcHxGd1ZPHn2N4yz5kWeH73vcTnD75Eps27cF1K0xcOMvmbQdRVY1nn/oanmczOzPG0JY9nDh1ipNHv0MSR/R2b6BQKGHm+lA0i3y+hO/aPPqwECGrqs5Tj30Fx6nQ2zfMu9/7E1wYG8EwVW6+9f1EMeSzgnq2NP/ENLNEUcjzzzyYFmrN8c4f/M+im9YC0fHfRgqn13QfNUdMNPoPTE/CnPMX+GHA5sP/iqHrfw5JuXSLIZd9+Eu4579JMvY5pJE/umT7BSAJiF7+GdTrv9RyyIGbP92y2AA4eew5Nm/tpMMjtFOeW8Nz7aY5N+0gCo5MWnCsLvhPkgU9Mgz81Rcb9UTk5XuVFtEyWp2PLKtiVXgNwX4gMT1+HEXR6BnYmc7MWxQCqXsrSYLnlpk4/xqqZnYkEF58xNaWu0uhqDpmpigeplZeZH4sPa04amQktExTXwOVKpvrxXMrmAuEvyu6KSUxymqvwxKL3Uy+l+rc2BJbWanxPTu1aeIoaLry3nylcTG1K45D5qbPkSv2L+t4RFGI3mTFvzo7SvfgzkWvCWrUyiv5YeitKPoGMWE3VxBZe/YcupnDsAotC5gwcBv7ce05kjhaFOgXePay8wl8YXVqZUu49lxTKlcYuEShT67Qv0xw77vVlJLYfsUzmyuy58C1PPyNvwEgX+ji8qtvp9jVx+d+79fabvtWhFMZXxW1sV58zE7Ui4/8fPFRHERpI4ZcL6yXXgMli26u3uyiFeI4WJd8DVk1iSUZXf9nQqFaCq0Lum6CmYt3AFoNDN1CTVfKbbvceEbVNRhqk+dhFAUYRqaRqxFFqSugLAsbW0smiWMC38VO70PhVKWmTkpyegwfz3OEv79moOsm6gKjFk038Twbz6k2XssXerCrc6ia3gg5kwBNM4XeIwwaeo+Rcyd55cgRrjx0EJIERVUpFktEUUB3d5GBzVczM3WW4S37CAKPp5/4Rywrx/7LbqGrZyNXXXMPSRyxffdVjI4cY3Z6jKHh3Vx2+e0YZoY/+/1fxPNsdu65mtvv+hGuuPpuqtVptmw9iKaZ9HR3sX3fXURRwI6dB+jt6aGrqxdVlujt6aZml+kf2ILtVCmW+tiz/3rOnzvK1u2XcXpkjCce+Wt0PcvWHVcwPjFKPt/F9dc15/8risrJY61zNXKFPob239v+ZjjzP9q/vwZY0gTDfSW6Q42aK1M79mdMMEf/Tf/1kh7H3HgHbLyDeNcvkRz590ijf3HJ9i1P3080/RRK99XNj13czKEbPsILj/5l0/ePHX2aG2+5r2OHPcPM4rm2oCq2cb5shvmCo5yGZK4ur8tx/VXOvNMNW4WOdILGJGcNxcbs5Gmq5XGsTInzJ59Od9gizC4N4ovjEM+tppO4NbhgrTLwzq5Mke/a0GaiL61ol7oWzYuZLWFXpla1TRLHSOpqPt/yskuSZEp9W/HcymKXsSTBdcrMTpwCSeqMwhTHizoVcRQwN3UOzymTyfcQhd6iFfokjpZpFMLAS/nZC8Lt0kl1R+LwwEM3mmddzH+0OKVbtUplj/GcMkHg0jWwo6WuI07F2yTCJlnVTTS9uGg/ceSj1sX2qbgcRJEXNkslTxI8tyKKkVzPskIjjkKi0BcF0AqdmUKX0LzUA/xmp8f54l/9Nu/98E+RK3RTLV/K1ao3HrXyxTn0+G4F360wO3ECAMPMY+X7yBT6yRQ2LLo31wNR6OE566PXSBIN8xJSqJzy2LoYb8zrNf6J5mt0AmszBLPrGvonHKfi+WyKJMZ1a+Tz3Q061LwIOSEKQzzXabgnKrKCrpuEUYAUQyZbFJkXiuio6pqZOuTUg2AjgsAhDAISRCigKVZU0TTBPa9DkqRUGKuI/A0kUdik9q+abgrHqyjEtlPdnKJi22UkJPLFLq647DJGzrzKk499GVmSue+j/w7TyhHHMTdefwuuV8PQDV567iGOvPIYAPsO3oSVKXDg0C1ksgXCwOfzf/pr2PYcO3dfzQ23fABJkjEz+TQdvQvXqbJ95xXkCz2U5yb56v/+/zDMLIevuYdcvovzI8cYOf08W7Ye4PUjj/Plv3uIYqmX7/+Bz+D7DnEScc0N76FamcFzHV47ehSnOoEnz/Lyc+OEgc2UWWT7zkNsaZIk7rk2kxPnWl7nm+79+bbdhOjMnyN5Z1d593QGnVl0dZauHAS5PI73xmXMyLntcPjPicu/QvLMh5CqL12CvSYkJ34Tuj/fcsRVd/xky2IjDHxGzr3O1u2Hmr7fDIaZwXPthpZiNYtHqqohkcFxqphmblXbfueRB/avodhQV1wRbb/92lLE56bPMTMufuSd2tqSJw2zM3vXhZDqgvgO4LtVwsAlW+hvbJwkSergpKYvpbkiinpJ2/qSJGHlukRKdoc1ZJLEq9PQtHAhM8z8snuinoLe1bcVVbdEx2AFznQch4sm5lEYYGaKDO+6XoRCBvPFRhxHadG21CNdJV/asHi/i5Jk2308QSta6bq0CwcUIYVlZFkR9KU2uo560e7YM1iZrmXXLfRdFM0EJOI4xK3NoBnZRofH92uLRPBJHDX0HapuLaN5ifenyRT6OrL2vTByAs9zuOcHPs0D//D7OHaVC+dOgCRRKPV8zxUbl7oL4LkVvIXFh1VIOx8DWIWBN7z4cMpjXCpLxnZQFBNF1S/phN2urI9eI5EsDMNAN978LtSbisJlEM6Ae35dDqfpBgkyvmfje7ZwgkqD8RRVw7ErBL4QrweBLxLC47ARZBtFEZ7nLLKvtTJ57NocupETSeCBi6bq87SoOG7kd8RROK+98JxFK7mB71KtzqDIKsYC2pbr1KhUZrAyuUYeh7CFlRoOO4qiYgQ+Uhw2qKSqrqOqOtXKDBPjZ+ju2dgohIpdA3R1b8AwM5hmjsmJs1TmJtm24wo03aSnbyNWNUepewDimCgK+cgP/wphasd76sQLzM2Os2PP1Zw58RLnzrwGwP6DN5EA93/pdwCoVadxHWEdPDN1AUmCb9z/R4xfOMWhK29ndmaMyfFzWN37uPYdP0Su0M/s3DTHjzxKobSJQs5syjg5P3KUds+YLQfuaXsfxMc/u+q53lqgUUHtQL/rV85z/Ju/5gNn1gAAIABJREFUSPfmd9C1493oheW2+e0gF/aQ3Pw40Qv/Gvn8n671dBuQJr8CUQ2U5lqK0sYr0QyLwGu+wH/u7GurKjZAFByB7+K5NUyr/cLqUiiqhkaS5ue0p1TNzU0yfuEUxVIfG7fsP7cGN6q6JqPziPuFkGWFcJV87yRNFu8f2o/v22I1t8kqe+MUF5xnHYHvrEh7abO3jlCdG0c3suhmjvLMCLOTpzGMPLnSYJrenIahKBqqZrSM2luLi1WSiGJqNYLvVhbGrRC3Gb90BV2WFQwrT5LEHeeqLBVda0amZdBdHAXLuhrNzgPECrCidKDDiIIVRd8gKErLTQYSEYqY0qsCr0Ym2+5zJ0Shh6xoZKyupn9LgW9jZrsIAw/PmcPMlBpFThR6KPICYX0aEKib+WVFmxjv41SnkVWt4wyXJI556P7Pc/f7Psm+QzcwPXWBYqmXuZlxzp891tE+3iqI4yANO3zj4DllPKfMzPhxYHHxkSkOIndwD64G6zVhV61eNE27pBN2d40LRquFH0gUzdVZN/7ThCToVGNfhvjSuuu0gki1FmG9hmHhB276jBXP7dnZcRHIly68mWY2/beCY1cxjAyGOR9GWg/+FVkYClEQ4vkOSSzoyLphYhhiIlX/HdR1E8cWFrhxHBH4wkhFUTRMMyM68Kk9rKoJqlW1PI2aUr10I4OmCTqYEI3XCALh7rNj51Xs3H1YUK9UjQcf+FPKcxPkC93c9e5/gaoabNl2gK3bD2JaeZxamS9+4bcgSRg9f4Jb3/lDvOs9P04QeOi6xRf/9v9lYuw01978PnbvvZbJ8XN86+t/3vguNw3vZdfeayiWBsgXezCMDEPDe6hV5xgY3EZP3yY2bd5H/+BmNN1kZmoUgONHnxUaP6dKaUAmlzMYOfsqmzfvZ8tdH0UiRlVVsdi2tNg417pbYOW6yfY0FzgDRBPfRnFeXdvNsxb0tBGpp5g+9hXGX/sy3vjjjDz5WZCzWH1XsvXWX8Iq7VxxexBZHsoVv0fkXUCeeuCiTlmKbfyjv42+9xeav68YXHnzx3niwd9t+v7oyLElXcLOoOkmie/iOFUsSxTUnaJOgXTsCqaVbThgJak2qu6w9vWv/gFTE+coFPv40Md+cWpNORtCNB23FQW13HSBlVznh5PJd21suO+sxerWcysNZf3aINLOW76bJFTnLpAtDog8kDjGypToHti5ZBVcQtMtIV5uk/i9FtQtzTpFPWK+4/Hx6oqTZJXanDgKOnYK67RbAaKIaJfO3RgXriz6JkmIogBzwbGTJMatzSIrakMEHoU+ehOdCpB2KYRuZ2FuyNJzliSZKHAJAneRjgPAd2sNu9x6MWJlu5BllVq1vKjQqXdbJFnBaJML0gxPffcfqdXmuOLaOxkc2s7RV58WtKp1zZ65eDiV8XXOy1lafEii+Cj0kytuwCoMXvQEeL0E1omcS/M1Ls2EPY78dSk2ZMUQeo1/zhSqhZBU6LsLxr64LoeL44habZZiqa/h8+95DvXsKsPIIMsK2VwR33PRdBNJAsepomoa+oJOeJIkIl3craV5GYXGqqzn1oSZRhjgIboo9U5GHEdIksT01Pk0AVxGaehOJZEpkRY/URQ0Al1lOU0KT5OTo1AIxOM4YnyqQn9PAcvK47q1xm9c38BmfN+hp3cTqqpz5uRLJFLC0KY96URMhATatTkKhR5su0a5UkFXEgLdY2zsJCRw/swRLrv8Nvr6h+nr34Ln22zYtIv+Ddu4rX8ztl3mhWcfpFDs467v+ySGmaVWm8OplRnevIeXX3qEMAy4410/ShB4dPdsJJZkLoyMYBgqD33tT4iikFNHn0BRDbKFXm69/QPoWrDsN7VdsXHlzT/Sdg6YjP71G5WC0BzF1u6UdUyf+j8MbughY8TIsoTjTBFOP8CJv38UrftKNlz7s+Q3HF5xP5KsoVz9V8Tf2oN0kQGa8uifQ4tiA2DvNR9uWWzMTI02iuXVFhy6buL7Lo5dxbQW06IS4afbCISu53PUAwBJtcy16iyabjbyOjRJWDXLsszA4FbiKGJoeDeqqsdrKjakNFxPWkODTJLkNdOwJKlzsfaybZEuLhugfa1BGLj4Xo3+fC+To69T6N6EpltNKU1mptS+K7Smv9AVTrDpJqvrTiVJvLrioYmmov34sOPOTBQF6NrKLcAk1e50ch5RGKCvQLWL4whZElkiYhtPuE5ZxUahksSCntbss9TF3bKithWiB54tCg5Zxsp2L7pO9T94WdEa1L1MrhdJlgl9B0XRG8euH8/MFPHcyqLCt5WHdyabJ1foJgx87vv4z/G/fuff8+rz350f8D3o6mNfpF7j4pHgOXN4zhwzY0dF5kmuh2xBUK7MTM+qvtc48vHs1s5alxKJpGOYl1CvUZ1omvtzqaEYQq9hvF1szEPJQvctMP3tN/QwURRSq1aIowjHrgKJoERli8iKKixlAxfHrlD9/9l77zA7zuvM81e56qbO3UA30Mg5kAQFgYTALInKFm1ZlKxgy2FnvB6vdufxjPOOd+zZWe+M17PrGc+sPfJ61l7bsiQrS5QVSJGimMEMEDl2A537hspp//jqXnQDHe69ACFKwvs8+AN9v6r66lbdqnO+c973rc4IUz1EFUJV9UaikSYJQeg3uiE0zaTUIYL8ui+GYeazhcSUMAyoVWeQkEgyKfp667IkyeTyHciyDJKEYeZI05QoChoVD92wGu1auXyHMAd0KiQZb8PKFRl77Rh5S8V3z1MpT7F67Q5kWWHf/vehqhqyolKeHuOxRz4NwL33f4LBVRsxzQLv/olfIQp9dKvAIw9/hcmLhxjeeIB9e2/jrns/wsz0RXbsvoMw8FB1g/d/8J/jOlUcp8Ij3/r/WL/xZgwzx8svPCIup6LS27+aL37m/0CSZO57xyd47qmvAxDd8h7WbbyJk6fO0Nu/kjDyGR8/kbWb5cQzxJ0hiQMc28HQNDRdtJTV+SrTU4tLa2+65YEl7wFp6jtXdxO1Ar0PJT+87LDqxZfosmyG8qLqgwVRYlGOLcrlxzj3xS/Sve1nWXHXny67L0kr4fb/Cur5P0an/cUT2T1K6pxDyq1e8PPuVXuRFW3B93WapszOXKR/xbqWKhxi4S1FVTWSOMJzq+J3mVUl6nH2XH6TkNbVkWTBk5YkCAIh5KAZJpIkceTQE7z60vcYXL2JO+750LxjtpVsKIpGHEdNtZwseKJtJgyeU24Ej62ussVxSJrGqLQn3bhcKO9UJ5AApzbN7NRZil2DiwYPgluxtHtzO2itrS1t+TokSdRa8tCkjGxjRknc9HVtdi5JHM5rN1p8fwtzQC5HGDhouiXMo+wZZFklV+ybt119zFykaYLnlAWXo9iLU5tE1ReWrE3iiCj0sPJdC35/gVtBN4u49gyKos2p9IlWrlyhmzRN8ZwZJEkhX+rFqU41TBXTNMW1pxdNvj3X4aO//Pt0dg+gqhr77/1Jzpx4hQvnjuN5Dp/83f/Kpz/1bxg5+/oR8q413Oq110q/GqRJjF0Zx66MAy8jyypWoRur0ItV7Mcq9C3YEliHW70+fA1ZMZAV7dryNa6jv4ap3+BrXAFzCPKbwX79fr9h4JMkCYaZI1/ouGKRSpIkDCOHrlu4TgXPs4misKEcFQQuYSa3qmuGIFRHIaRC3lZCYnZ6jM6uAZIkwnV94oy7EWdeV6qiEWYGZ13dKwh8V6zSxnEmYFLL/D8SNN2cR5iVJJladQZZVoTks2YQhQG+57BueJjQn+WbX/sL4jhi/YWT7L/zAxhmHkmS8D0HWVXoH1ibKVQNMDF+homxs/T2DzO0ahNhEFEtj+HaU4yPHSGK9rJm3U627ridanWKv/rUbxPHEbfuexdbt9/GU49/kZFzRzhy+Ek+/ov/K+s27BbiLF0DzE6PEScxEHNx2mblmr1IaUgs5Xj8u59meuIE+XwvaRKRpAlbbnovGzdsQ5ZkRkaO0NG9AstUsG3RZmqaeTTVYHpylMWeMbKs0DW0eCUhdc8juceu8i5qHknfA8jLvLuDygi6ElDIz1+kVGWXHvkkPd3gdA0wcuJzKGYfffuWV1zUBu5k9vxX6eOpq5h9SnLhH1A2fHLBTyXVZOOOezn60sItW6PnjzO8didh4GUS0fmGsV+S1qsRaSZsI2RaJUl0GcmSLPhFSPi+0/DSaDaW1HWTKAxwnAq5XJHDrzzBxPgZpqdG2Hvbe7IqYsTIuSN97VU2ZIX0alam2mxnmB47hpXvIc13IynNJxu18hhubZokiSl2RU1zCBpouIgvrj5Unb2Ibhbo7B2mMnOe2uwFcqWF7ejNXMcPvA0lTdOmHKTnbZMkyGoLHI8kRm2yEiKqXc3Npz73Zn4QS5G55yJpcpzw6zBwqpMYVmlBs704DjGNjnnbeE4Z3RTk7jgKkGV1wcQqDJxMMre44HzSNCGKgkyTPj+vPUwQ6DWQZDx7JvNFyItWAlkR4g5pilObRDfyiyabSRLzj1/4FPe//xfp6R9i353vZd+d7wVo6HTLLZpB/iCRJBGec304Au0iSaI5ycehTJWmUyQfpT6sQv88wrl9nQJ21azzNa5lZeP6JH5hJNFh3eBrLIjSLeCPQ/T6yA/rhkUUR+iZWd9ikCQJRdFI4hg9Zwnid+AJDodVaChJpalw/FZkhSD0M/NXA8+roWqGqGDIMqqsUCwaDV8BWZJRNR3fF74Ydi0736yKAWTHEfd3HEeEgY/jCJGPYqkbXbcyEnoEkkRHqcDsdI1croTnO3R1r8SxbZ49+G1IIm6+ZT893X088OCvNc7zicc+x8j5Y3R2DfBTH/518gWLA/f8FGfPnmB49VocZ5pjrz3D+o176OjqyywGIiQkNM1g1fBWTDNHR+cKLKvInfd9BN2wOHToVUyri/ve+avUarNs27aLeNsOkBXOnj3PzGQvnd0pmlHCs8fR9QIjI6eplifo6B7A1E0GVw4jIfxMJEkijHwMI8/YhZOLXrete96DpC6+cBud/WuU67AYUkfa87Zlx0yf/DqWoZA3nEXH5KQxNvbJjJ/7O+KbPoliLtwKXYcx8BZiuUSQ9qCnramBzkU68S1YJNkAWLvtnsWTjZFjotKXJMRJhGOXM+d5Uc2Ts6RCqIIu3WrvujVyVrGlKruqiTjFc21uO/ATnDn1KkOrNzcMNx/7zt9x5PCTP9NWsiEr6jUw9Wqt7SdNEwLPpti1KusZaw5R6DE9dpyB1buIo4Cpi8cw1pWaJsk2g9B3cO0Z+oe2CfO2Qg/V2QtYhW48ZzZrm5Ib5zE7eRZVMyh1DbKwbG+rM2jjR72Eg/nimzRfeRDjBbG/GbTivZKmy7t31xHHAXoTPIUo8pviiwj+Q7VhurfA5JC4JLMbBi6hXxN8iuzHFwbugh4jnjMryIuZmtRCCH0HSDHzVzqy14nrIpkoNI4ReNUGWd+tTTdU2ZZKNk8ff5m/+fN/zc9/8g/59pf/G6XOPlau3sCKoXVcHDn1Q0UQ934AfI2rhaicTePa0zAmVqANq4hV6MXMd1OZOnN9JqKU0A2TVs0/F4Oo8F0fvkaMfKOFajFIMvTeAxe/CFxFe/EiEHyHBEVdOsSIooBabRpF1bDtWYqlblRVb/AzwtBviNEEnoOiakJByioQxxHl2QlMREuUquqEoQcpeG4NWZaxMtlwKZQarVdRGDQ8M6xcsbH6GgYeURSQpimqqlPq6MWuzRKFgZDIzVZ8ozhE00weePBfCONAzeClV17g7FHRNtTbP0R//4p557liaBNJklDq7COOU86cP41pGNy+706SJOYf/u5/Z2pyhNMnX+ajP/8HPPjR36VSmaSvbxXjY2dYObiBHbvvpGZ7PH3wWXKGge/7HHzir5AkjTvu+wQA33n4K3R39nD+/Gs41RmGNt7B7fvfhq5KzFRsLlwY49grX2ZkosyIsA8iCDxuvfU2UlkYH0qygudWl5S8XbVhaXNkafLqiNOtQunZu+yYmVOPICUV8vLSix2SlDBgHiMNpmGZZANZIUk13LgTXW4/2ZAqS1dG+lbfsuhnszNjaJqRJRaSkJH2XUyjtYUWVdNBQjh+W8WmFxSnJs/z3W/9LXEccu87Ps6b97+XKAqxa7PkC504Wbtve8mGrAgn6TZRJ4u10pITeHYWNKZMjBym1D3UFFHczVZ4Vc1slJY8e+aSPO01gFOdRFX1huRqvtRPeeo8M+On6F6x8TJib43J0dcyF9ROtCt8EmiHetFyvtGOmlirjuMLuYEvhsuVqJaeR9w0OTxJ4kaGveS4+Epy3LxjZm1Qmp7DzHew2EWKIh8p60n23QppEmMVehvftSAbCp+Lefu2Z1FUHc3I4dSmFky8osAl8G1yxb4rPk8zp904KmcVl0sSwUlGhhTVmA5UTcepTiEvcr7bb3oLxY5unn386/znP/xVgkVk935YcL1Um15v+G5V+GpkJoPXAwkahnHtVLS86vjVceeahGL0oGjmjWRjKcgm9NwFUw9f813HcVSXhbziszrhNAx9ojDIuBQlwtDHdapomuj/1nULWVFI4szkL4mwdLHq6jpVZFmh1NFLGPoN077A90jTBNMqoCgaYeARhj6yrGDlSsiSzOTkeSEaopukSYIb1Eiy1ivxXhRJhetURAIS+hhWQbiUpwmKolEoWlnCkhD4LquHVnNx3e2ousGa1es5duRZXnvlcYqlLu67/xO8ad+7iN/0duzaLAdfeIZXnvp7FMPinnf+CuuGhxleu4Mg8Ohfsaah8pMvdPD097/E88/+I5Ik85FP/GsOH3qRl577LKps0LnqAIbVS5qCrOocfe07zIwfYczqIAwcZEmhPDXCwWcvgiQEKxTFYsWat+BWR4kjm8BzKJR6xAKZLBNGAblcCUUpMTO9OF+je8XWJa+/VHvxKu6eFqH1IOdWLTvMmTxEp6kgs7gb+jzEtSYGJQRBhJ7KcBWPSSmaJqm8ilxa2BG8c8W2RbcNA48gcLEywRhF1dBJcZwqllVoiWerqjoSEp5Xw7IKTSUrUxMjTIyLxa/Q96iUJ/ny5/5PbHuW/Xd9gLe/+5c4e+qVT7dNECfr/2pH/vaSsV/zh6+VL6KoGjPjJyn1rMYqLJNxZohCH1nRM1K7iORbld4FlkwC8qU+it1DjWA5X+pn9abbiCMf6zK5Xd0s0j+0nRRQm1ReampyrSYobWQ1KWnz0rqNNq3mjiGC/eZ+rVEYoDbhmikqK5fI3EsMzJKohccFXo0wcJFlBT1XXHJ/YeCiKBpOdWIeafzS3IXiVf13EwUuvldrVCoCr3ZFhUXwL2ZJk1goPyzw8PDcSua10j3vAeG7FVQ9h1ubbpDIA98W3/Uiq/0rV29g74F3c/TVZ/in//JPmBg7x8iZI4ycOcrImSNMTV74gbcBtoIflWTjekNShKSnfg3J4U71+hD1UymHecNfY3kYKyC3EZxrW6n0XIcwSPGkGppuXlE9SBJhiipUnxTho2EVCUO/weeoI0x9okgkJVEkTPtMI5dJ1crIstyoZPi+Q7HUQxSKdixN0xt+AGHo4/k1TFPIdYaBTxhcigUURUVVRctVkgjFHTNXbHiCmGYe3bColqd46Cv/BVlSuPf+j9PZtYL+gRx33/Mu4QcVhZw++SJjF08xPnaG2w6UyRc6s/1rGKYJioxudGFklZ9b9t7PzW96O0kc8eyTX2V05DibttwqiPLZ9xEEHqVSnpzVjVHo58C+/Vi5+0jiCFVTWbVmN5ZZYM367ZhmkXJ5ktHR05w9Pt89fufeD7B717sb6l+qLNps04y/kqYpnlfDcxcPtos96xb9LA1nkeLrI14BkA78lKjULYHIm0ZJa1hWk88ytROlY+HAf96xIxfP8yi2RwWev6/yi7BIsqHnBzCtEp678PdamZ1oJBsgkgZZVvHcKoaZb2rBtQ5F1TAlGcepYi6zbRxHbNy6lzAMUDWd3v41TE2cw7ZnG/NSVY31m2652J70LYiL26b8bavGfmkiWgo0PUdHz+pMnae5oFc3coK8LUmkaUyaxle6Ljc3i0U/ubw6IUkSVr4Lp3ZlWU2SJDr71i5xlOsUxLVIshfqYy0qV7Vwg4se3GZlb0NkeflrKCogzflrLOSmXQ/yZVkmV+zFrU0tWY1L05QoFCtrl0vV1hEFLnr2UPC9KkkUkiv2ZGNTwtAlV+ids09BRNd0izj0F+SIBF6NJA6vIKoncUgUeiRJNOcYohVLNwvE0cIrPE88/AXOnz5C4HucP3OElUPr6V8xzC37RF+s69T4yz/5DWaWUCp5oyBNYjz79elL/1GHZvWi6VrLkopLwbnGxoqLIYgkSlbuBl+jGXTsAX8U4sV72VuFLEsYhqhM2LXZ7P1bVwUUPATDzBFHIZpuoGeLR4qi4jrVBqk1DC8lGsVid8Pdu14FUVRNEMp9V7w7M3Up4TCukiYpSRLhe0ISV5IEEdY080J9Sjezv8vE8SWCuZotHCZxjGUVsmqJ8COYLY8xNTECwNTUBXK5DsYvnkY3cyKpSFO27bgdTdVZMbgR3bB4+Jv/L77vsHnLbWxYs46B/l8nDCMUXeUfPvcpVEVl98130NfXw2uHnySOQs6cPsR99/8sa9fvwrSK2PYspYLJAw/+muC2RAmqqvD0C08zcvpZtmy5lbe982eoVCqoqkToTdJdNGBwA0nmM2LbZV47+GVOHnoEzSjRP7SV3bv2ZJLuUSM2m848OhaDuYQZXlI+dH0lb3vfvuyQ2oVnMU2ZvNZcEpRu/J+hCWGZyWPfEPGleQ0Ef6qHFv9Mkukf2sbZ4wu3W5VnJxhYuX7e3+pthI5TwTCshj9GM5AVBcsqZFW2woIJx8FnvsHzzzzEjpvuYs+b383Jk0d44fmn2XXTXt7zk7+K69RYtXpzY3zbyUZdK7udm6p+QzcL36uSJgmdvWuYungcSVbQzeacD61CN9NjJ6hVxolDH83IN1R5moWE1E53U5urv+32UbWGJGlNxrZlj400WVJN58rxzXE2hKpCc9yRKAqaareKoiuD+EukbsF9SDO1qsXnJVqhVM1cXNo4m7ssq5mSlTKvQhdHYUYcF9smcYRrT2NYHSiKSujbV7hSe/ZsZv535TF9t4qiaPOqHVEoyJehby+YuAA4doUjr4iH2l/96e8gywr9g2sYGt7M0PAmBoc3L9uL/UaBWxtvieN1A3Mgl9B1o2ne1XKoJ86vNyRFJ02la9r+9SMNSRGGaONfvWa7jOIIuzaFqmoZAduENMV1q9T9LUSAH81LZgVfQmN66gKGYaGoGrlcCd9zsr50Kat8WKS6SeC7gvQtSQS+aCVRZIUw9AlCT5BmsyRDVhRkSaFY7EE3TMqzE3ienVVI6iqbwmujnmyYZg5VM7JWFR9dN+kbWMuBux9EkiXWb7iJxx/9LK+++CiKovKBD/8GumGxZt1uhlZvJfBdpqdGOXr4afFVI9PTN0Qpr6NpRQ6/9goTI88DsHbDTtauXc89b/0YkxPnWL12u1CDU3XOnj/Hww/9J0hT3rz/J/BincPPf018Z6REgcPxEwXOnL+IWz5BipCYlmWF9zzwz+joGsCuzvD8s//IqRMvEtk+2JOUp08yPLyRfD6PJMuZE3vcMARcCLqRRzWXiKHsI1d387QIqetNy46xurfSveVB8rkaycRDyM4iZoOSSbLl36Nu/OWmjj364l9iKCGacvWLxOky6nDF7tWwiOpVeXbh6r0kSeSy6lyapg0hhGYgWg+LeK6NaeWviM+OHHqCKAo5f+Y1htffxqPf/HPSJMb1Xe448FbCwMvMNBMkCantiEGW1azPvg0TclkhiZpvZQq8Kl3969HNAqqmN/orm51n7+BWZsZPIcsyfUPbWl/tkqAtEnY7fgTtcL3FwVrbJk1aml8r/AuoJzPN3RtpVrJuZj5pGi9bMq0jjoIFidgLjZtrdue7FeIowCp0Nc4hCv1FfTGSOMJzZkmSGCu/sBs4XHIod6qTDWWquQh9u1F1E+1V1YxYruF71Xnj61UXRdGQVe2K8wx8YUCVL/bO+V5TIb+rqFj57qavf5ImVMvTPPf9h3ju+w81tc0bBe6NFqq2Eacqmn7thDS82kTbHkutQDV6UDUL40YLVfNQS6LCUT54TXanqTqljiJhIJSNhCSs3XDkDsMA16ng+y6aZpDAHA6HJEjicUSh2H1pYVPOFmGShDTjfARZ25VYebXwPRtFVTGMHHEcEvii/VXThXxtHEeEoY9jV1BUjSj0xd+jMJOPFdyFhgdHHCLJCppu4joV0Z6CxPZdBxrP+d5ewRfQDQvdyPH8C88wOXWRteu2s2nDBjpKvey+5V6qlSlu3vNWxienOXvmMAODG9m2Yw+ea+P5NuvXbcFxKqxZv4uVQxtwg4RvPPRXpKlCZ/9OND1P6NeQJCEtHIQO+UI/O/e8G8+toigm50+/iFObIFfoI18aJHBnhGv5HPSu2Iph5gl8j3yph56uTgJfuLsL1a0EJ5PBXQiD625hyXjDvn7iIanWg9IEX8PoGKa/IWX7RyRhjbh6AiIbSESXjmKgdt6Eqjb33Egih/ETjzC80sKUr1YwCST39JKfd/Ys7MMBUC4vXjGWJFHh8Nxao5rXLGRZwbTymdP4Jf5HFMe8632/zOjoCXr7VpMi0T+0G99z6e8fwnWqxEnEQ1/+M6rlCfYdeGC4/WRDUQXxtIVMqQ4pU6poFqXuSzdT7+A2Aq8Z4s4lWPkurHVdONVJFKX11S4J6Tr2qLfDg2l9bmkSt6TI1YoHBrTGwRCeGc1VQZK4OcJ3mqZNzbnulCn2HQkSnWY0nMDriEJvHqk725rAs4kiHyPXge+UlyS5B75QQ7HynQuOSzLie+DVstan3gbXKA499EyyOYlDPLeSVVySLAmR6ieE71UJvJqQXp5zL/lurZFoSFJz9/Rtd7+fvW95J8UFcTnsAAAgAElEQVSOHjzX5sWnv81j3/rMDw1p3Klcn7adH0kEZwlsBUcJsQr9LVUqF8L142vkMW7wNVpHfjM4pyC8+uqTaeWIYwNdM7GdMpIko6l6o4phGBaxohIEHo4j+GZkpPAoCsjnSyRJ0uBiRFGA59qNlVJB1FbJ50vIkoIkS7hOLeM2uMRRRJomqJqOYeRQFJUkjnFsMRddN8WzVlaoVqYzd3FJ8OlkueFOHscRURQSBh6SrOA6FdI0RQ68Br9h7bpddH/oX2JZBeIk4eSxZ3Aq53FmjnHTrt8D4PY7fpIw9JmdmeTgs19jdvwwFy8cZ+P6Tdy+/z4812Z05Cjf/PpfAPCO9/wTqk7ExMirAKwa3s7P/dK/ES7srs3s7ARdnT9Ld89KhgaHGJ+Y4PSpo2zbdYD1m2/GynfT3VHi8OGXOPrK14nnLe6mDK3eSqHUQ97SIY2RZQNIUTUDRVYyk8SFYSxjfJs6J69bG1Xa9/6mFx/nQtYKyN03XdWxX/7sh7EKXeTzChrX4D0TLq2SVcgEiBZCrbp0q7AkSVi5Ar7nXGH+V1dqrHtxUHcOT5KGg7gsybhOlSCMef75J5mcOMH6jfvwY4XjJ7/L8LpdvP3+D6EoCqoq+K+uU2V68jxpmjIxdqY9nw0QFYMwaq/HU5Lk9p3AG54XbW1MW21KDXL564+2jtKW8m0LZG/E6nZLHIwkRm1aiap5g8g4CpCbSBibNX6s+3AEXo0wdLFyXVecZ711S1aUeX9za1MiMSn0EIUesqItmCgKZaoycRRQ6BhYcB6COG7i1KZRFB0z1znnMxdFMwVBMvTx3XJDeteuTJAv9TbOuW70pxm5ecmk71YIA5dCqb+RgMTLGEtauQJ3vf1BqpUZXn7uEQYG17LvrvfRP7iGv/2vf/CGJ4mnaYL7BvfXeCMj9ivMXHiRmQvM8/3IlfqwigNN/Q7n4nolfkEkUzJv+Gu0Dkm4i4998drsC9Hik8TCcC6XydAKJaqg4Vps5UrIskzgu7hORQhlpD4SNKRvFUUV8rOyUIrSM0NAaU7VVqhSaYSBTy7fgWHmMiM+GySpkaiUOrpF0O47DZGbNE3I57tBgtRLG+1ESRyTJrGIV5JEVFMCjy997o9xXZu3v+sXWL1mO2ZOVMaDwGP95tsYHTnB5i078T2bRx/+W+I44q57P0Kx2MGOXQc4faoTyyohETE5MS4UuJBQZAVZlskXOujsynHrW34GWZLYtn2P8Amxy/z9X/8BcRTx1nf+AmfPHuPZZx4m9CpMjR3CzPewafs9+J7D6ePjzJZnKfTuYeXKFZCmzEyfY+zsc0xePIIkKfT2r+Get/2M8GLKyPZpmmQE+YWxXGuytEzQfC2R9C7vr/F64NDnP8bY8W+zdqVBp3WNqr/LKLzmiwvHDtnGC/5NrKXWzfxSZEUl8F3x7pfkRmIhjP6kOf/k+QIOuniWzl4Y5dTR7xIFDqdkCym2mRo/ThIH3LTzJl587ls8+fgX6Ojo44Mf+x3e+1P/I75n09O36uWrbqNqD+1XCtpRv5qHtHXlpqs6ZqvHa+N7Sduohog2qhY4GEmM3LIbeLPViuadxpM4bLo1qim+RugRRz6qZpAv9M6rBFzal5/NT2rsu+6fUp/3Yi1bwttiCiR5yXmHvkMSRxi5K40C49BHt0pEoScqFlnFI478bJ+izcC1Z9D1HFEUzGv5CrJKh5nvapxfGDjLtrT09K9ClhX+8k9+A8cWxLp9d72P+979cVYMruPiyOKmT28EXK+2nR8HzPX9mB47CkgN349coReruALVWFzgIc0kx19vCL4GNyRv24WSg469UH7mqncVxxGeWyOX7yBJRFVBVpQGIRskVEUlDNyG67eVK81TrlJVHdsuUyh2oak6QehjmvmGkViaEcID38X3HVStk87MLRwk0UWRKSMqskqQuPie3QimZUkmX+gUrUyeTRSHGT+PRqClq3ojyTGtAuNjZ6hWpgG4eOEkg6s2cejlxykUuxhctYl9b96PotyF59W4MHqSk8deAODchkOsWb+LnTtuYueOmwhDn4NPP8QLz30TWVH56M//AR/+2d8jjAJSdF478iJd3X2sX7eJpx7/AqdOvNhQ2gKYmLzI0VefwLMn0YwCZr6H0Ld5+ZnPzrsOXQM76O7eQeh7lGfmLpjF1LIFAE03qFVnGi7qyRI8N2UZ4nSKct0qG2rPvut0JIHy2Uc59di/5cKxb7F6eB3d3RI5+Ro5paftG2WnaSqS5yRtcBTTLPaUJCkzQZYbSm/CHDhsVPCguTh3oH+A3W9+kIsXTrN1263MTI9iFrrZslVch8mJcwBUKlMkacLKwQ31Tf32CeJZBtzWtnM8B1oP5Nu/jQXRuw1Se9Yz2s7xrgvaMuhr3nAP2iSIN8sJaFqJql5hWP62jZsw6YujIGuPKi45tm6WB0L5KQo9rELPvNavNEmuqM7EcYhnz2Dlu/Dd6qLHSOKQKPLJF/uuOLd6Qh8FLlHkzyN7+14NK9/dSGh0s4isaMR+TbjUA55ThjRBmcPrqJtQLpbgbd11G/liJxfPn6RWnWVgaB2njgrd9FcOPsp97/74DwVB3Klcn7adH08IHxnfrTA7IZJOTc9hFXrIFUXlQ7c6GqO96phwYH6doRrdqJp5TR3Pf+yQ3yBIvlH78qVCLUqQv5OMJ+E6VVRNtFIpsmhrMsw8USR8gEwr3yCN15MPVdXQdROnVkY3LExL8DYbSUbgZQpUInBqyH9KMDMtSOa6LojmfragI+R1s5VbRUOWZKxcgSgK0XUTVdEayczlSNOUYqmHe976MeI0ZtXqzRw9/DTff1QE+Pe8/WNs2HRrg0fS27eK3bfch0TKiqGNnD19CLs6TU/falav2YZh5pBlGcOwqFWn6epagWHkeOQ7f8+JI09i5vowjI9z+uRLDVWvd7z3n+LYZQZXbyGVClQrk6xdvxNTl/EDn+eeeYQ4rGDm+5BknanRg3z/2682zqG3bxVbd9xOmsLAyvVomo6qauTzHaRpgm1XGgnNQlhu0TFJZa5LTVHrQc4tzmOo48iXfg4t10fXuvvoWHM3cpOcjLlI44CDf30/46ceo9Q1xLrhATo7JLrVa5RoAGm6dKeBY08vtbHgb2oiiZcyj5vlYjDPrWFaheXHeT5Hjr7M5MQYiiIReBVOHn+BO++8n/OdvZw9cxzfD9h34P2sGt5KLt/ZEFkAOH7k2cGrihiuJpgWvI0YqQ2CObSZqEhSezxvJEEgui5ow/8iTdpTymqFg5HGTfdst5qEJk0qUSVJ89WYJF68NStNUwKvKgjbsrJsUpJkK3GePYukKFfwOZLMwGpuEh34NZIozNSmpIWlgNOUwLfx3QpmvnPBJCr0beJIkBRzc0jdcSYHmcQhvlsRilWqjufMYhhCqrFOBieVMDLieRg4+F4F3cgtej2H1mxm353va/z/g5/4Tc4cf5nTx19h47ZbGT13nAvnTyz5nb0RcL1kVm9AIAwcwmmHyrRY3VJUXSQfhT7s65T4pVIBwzBv8DWuChJ033FV6lRRKIjGvu9AKrgAXT0r8T0HQ7cE5zOJCQMPkNANizAMiDMfDU0zUM28eI55NoaVR0IijgLswGu0ASuyQpIkggCu6gSBRxh6WesWhGEASCSenQl0qJhmHi2TvI2jkCRNRGCkCuK1vkQFOklidM1geP1OFEVF0wx6+x26ekQ/fanUx6FDL3LixMv09Q9x801vZt9b3ockyQS+wzNPfJlqZYqOzn4eePBfsGX7baxbfxNxEhP4Lt/6xv9DR0cfxa71FLvH6OwcoKuzi3ve9nHGx06zZu1OunpWcvb0qzz+yN/T2bOGN+29G9uxGTl/nIujJ9FzPezb+15KxTyTU9M8YU/gO5NIskqaxniezYXRE1hWkZWDG5BlIRFclwEuFDoJl/AiW5br2QYvth2kAw804a8xw8grn6fY0c3syS/i2g5W51oGtj1A/66PouWXak26BEnR2f3g5xh95H8iGv0H+vr6KEjXLtEAlm2jCtwleBkNaenmW7o03QRJanhxLBWDjU1M8PxTX8CfM4dZ1WJ088289PzDTF54mcmx9WzZ8j+wZfvt87adHD/Ht7/xlz99dcnGVfTEXo2aFfXgv0WPD8HYaE9Vql2OSaupQ9pGm1erLVHiW2gtWWuWAwEtVkHq5n9NzCWJo6ZI7fVkZ6Hzi+MQz5lF1/PIika6zGprXXvdtWcwc6UrpGdBVD7qwgNz3cDrsrbCqO+yF1ia4jqzolSvagvK0KZJTOg7GLnSFQmR71XRNAvPLZPL9wjZwjgU35HVgWfPoOqWSEDsaQyrRODVsiRFwch1LJoUPvXol7k4coqh4U0MDW9mYHAd67fcwvottwAwcvYouXwHtcoSKy0/YFyvtp0bWBxxFFCbvUBtdmnN/muJIJIpmlZLst43sADUEuS3tC1jqqgqVs5AVTSSNCGKBHdCkmRsW1QpfN8V1QwkPLeGoqii6pHFBHEcYdtlId+dK2LXZonjS60fge9mi0oqnlMjykz+6smLphlZNUBGUVRkWRFcjqzdT5YVoYRVdzPPiOCxmcsI01eizvWolqex8kU6Owfo6x/mgx/5bUD4HZx4+lHGzj6LUxlj3drNOHY1E/OI2LZjP+fOHmbj5ltJSTlz8mVy+RLdPUMcfe0pzpx8GYAP/+y/YvPGTSRpzNmTL4IMW7e/hVNnTvHcwceZnTzJ1MRZzp05xKkTL+F7ZUJfCOfIisb33UnCoIpbmwRFZevu9zK0ciUvH3qFkWMPUauKZ+Ppky/x4Ed/N5OJNwmjYFk/huUiIVm5TlXFJvw1po58ma7eAToLCZYhEZTy+OEkM4c/xdmn/gNGaQ3r7vgtuja+a9l9aWY3a97x3wjPvBPl5Z+5FmcwD5K89ALJUrLhiqISRxFxFGGYuaZjO00zUGThbWPlios+N3t7uhladxszk6cZXreL6ZlZFL1ET2eRVWt2kCQx6zftQVNFXP+PX/tzoiBgz9530DswDEjpVSUbsqKKwLIFonEdDRfxNiCEdFpvh5Jkua0KhUR7bVQCr3/7Vb0n9fUaX0ezN3ArHhspadMSuUkcNJWcJpnE7OUIfZsgcLByQg3Kc2aXrWqEvo2iaJmPxcL3eRR6WPkukjjEtWcxrOK85EG0XV3y00iz5EXTLfE7SNMr9p3EEU5tCm0BidwkDolDnzRNhCt4g4fhopuFzADTQtMtPHsG3SyKRCMOUTPPkDRJiBdZvapVZnj1+cd49fnHANHKsGJoPUNrNjOYeW1YVv4NnWz49uR1adu5gTcOxMotmDdaqK4NSrvBPQlJ64ZlYpVcBK0KItjHICNpCx8H0yoQhQGaZlwR6IShL2RrJalhRockEUcRvu8iQaOdKsnarvRMUUpRNKIoIE0SkdR4DvnugcaxLocsKxhGDk2LiUKfSnmSXK7UUKyaizRJeOiL/4WZmYusWb+L/Xf8FEZWlZEVhSgKuGn3bZzp6qevdwBdN/ne976Ga8+yYcvtvOnWt3LL3vsBeOn5h3nisc+hqjof/OjvsHp4O5Pj5ygUu7FyJVRV58jhp3j80c8AMDLmMjtxmNnJE6iqzvadB4jikMmJc9TKNfIdQwwMbqVavsjE6KW2KUIYHztJefosXtaKY1lFXLdKsdRLmiYEgfBfEupfSqONbSFUZ0aWvPaSdO3kspc8TtfeZcfMnnkEU0sYKl1AxYXs8vt0U+3spuZMc+F7v8bUK59iaP/vYvXfvOw+tTUfIqy+iHL6D6/2FC7bcc+SH7sLmERfgmhDDHy36daoOmRFwcqVcN0rHcPDMOTwkddw7CqKnKCZPZQ6+vACidFTT/B0VOVNe/ezc+dNqLJGHMeMj53mzMlXAFi9ZjuDqzfz0x/5zb+4usqGrJAkEYrcetlMlhUhndvekdvii0iS0pLk7pwNod3tWkU7SU2aQisJX4scj4WC4aVQX21qat9J8ypXcRRiWMu3RwhPjEv3ZJom+I54Wc0lgS/dapXgObNEoU+hNLDo+SdJlL0Eg4xDMV/Wtv7d1bevk8sNqwNVM3Br0w1H8cY+MzM/SBd0u/e9KopmXJKwzeYrDKkCNCOHpueEa2wmZRfHIWauE6c6iZXvwrWnm04IhXHPEc6fub5mTVeDGy1UP35QzV7B19BvJBvXBJIKXQdg6uFrsrs0FSpPKaJlR1HUhp+GFEoNs98oCogi0f4U+C75QgeabiHLMr7nYNuzGek8QVVUVEXD9xwkhDS68OGqm//lsHJF4jgSEp5LPvPq41XC0BeEW0+0dKWIRSLHrmBYOZiBzs5+kjji85/+95TLExy450HWb7iZnt4h1q3fCsDY+ARTFw4ThQ6j5ztgz6UAuVjqRpZkOrr6ASh1DvDun/hnSLLEwWe+wcsvPEyx2M3Q6q1UbYf+vh56Sjs5Gsyydcft7Nn7DuI4Ymb6InESEycKAwMrOXz4EIlkUSwUyOc7qFanOXvsscZxNd3kpz/ym1Qr0xRLPQ0yuCwr6LqFqukUi5cWxy7H2LlXlr7OavH1Z6uqXU3xNcqjB+ktIBKNOTCYxtCm6e2ASryCyfKznPjcflbd82d0bv3osvvVtv8+7syLGOVr5zuV6v1Lfm4v8U6rewrphkUUBrhuFcsqNB23ybKMZRXw3FrjHgA4dfokTz3y5/PUyeIkRkKmOnsOTc+jaffx9FMPM3bhGB3dw9z/tvdz21vej+fZbN0hWqq6ewZrV1fZkFWRbNCGd4WskIReewduk7DdPtG7zfarNpBCm2Tv5i9l63yXFpONpHl1qXofbVP7TeOmJHLjOEQ3Mp30LLjXjQLaHLWcuiP4gq1WjYSghIS8ZOUuDgNBOgzcTCVq/v6i0EPNWqjiyMdzKg1yedrQi9fmjRccjBJR4F7xvQdejSSOM7nbS8cKfYc4FATyelXFdyvIskrg2+SKvQReVZhT2dOYuY4faaUmL0hAVuFGdePHBsJfw0Q3b/A1rhmMFaD3Q9C+OWaaJkRhQBj6JInwx1BUTXDbAhdV1YizJENwBQS52jCFP4aVK5IkKYHvZEp7OoHvZspMvnAlz+Q6ZZlGUlF3xJaVbJFRunxeacNbIEligsAjCgN03cT3bKF6perCoTsMRDBumLz3Jz/ZSHRqtVnKFSH1OjVxjg0bb+H82dcIAo+1G3Yz0N/Hvjs/yvj4KGtWr+Hk8Rc4efwgmmpw4J4H+cR//0ekScqZM4d47tknyedL3HnXezh+9Dk8t0bge/zcP/l3uL5P4M4wOR7x9vf8EkkU8dqhJ3j0239DmqasHNqIpplMTpzDsct0DWynr38HURwRz04BEt09K4njiPLsOF/5/H9EkiT6BtZw570fJoljJFlG0w2SOCaX77jiOtZRLV8kjQOkRbgZUnFH2/dKs0j6H1hW4CZ0JiAqY+hLL6qVlIuUusHt7OPCs79LbuVt6B0bl56ArOIV74bycxjXwmMDkIwVS35uLyEd3tV9yYOjnig4TnWeEd9yqDuGu061wZvq7x9gcN1+7MoYnT2rOH/qaQZWrGHb1h0cO7aKNcObyFkGs7NTlCdPCA6I77Hrlnsh8+iIwgBJbrZ/ZbHJKSqh355zoiTJbUvnCqOz1reVJKnNysZV+Gy0vFnr7WGtVh4EobyV8SlyK54cTatLicB+odX7BWbR1DnWTWmQpEyJKSVX7FsgCfAX4EkIhZ00ScgV+0jiYMlEI0kifE8kBoudb+jbWIUePFsQq+YmCUFgzzt3zxFjcsU+3NoUZv6S10bdMTwKPXKFywnqoUgoSn2NxCUKvaytKk+u2CMSIt8FCTEfZ/ZH2oegd8VGqnaKIkXIqUMSTBOH9g96WjfwOiKMlBt8jdcDXbe37L0RxxGBHxNGGek7TYWylGGSxAmGkcO08niejZKFIWEcYRg5VM0Q3DpPiGP4vksYCKdww8yjaTquW6M8My7MyVLR6ikSGQXdyKFmyUySxERhQBC4+L4rKumynHEpJWRZRsq8LRRFRdcMVM3AtAo4TqXRmmUYOeIopFp1BL9E1ZFlmUKxi/c+8KukSUzvwBocu8LXvvifSNOUu9/6UbZsv42dO3bDjt3YtVmefPwLnDoulP227XwLvf3DyLLM2XPnmR1/hZqWZ2L6dm7b/z4mJ86Ry3UQhS4kAV/8zB9nFZ8rcWFkvmv3zNghnp85QxSIZ56iqDzw4K8xev4YX//Sf2Z6ahSAqckRtu64nY7OfnzfzVrCfPKFxZMNgMifRcstvBIvdexp+j5pF2kT/hozx79OIW9RtKpN7dOSJ1jfJeGf+yx0/May40vbfpGRQ3/KqqU9DpuHMbjkx7XyxUU/qwsU1KFquuAyuTV0w1yWhwM0YlzTKuL7NmfOnWVqcgxZ0VD0DpA0SFNOvPqPDA6sQIqmOfjkZ9h5893s23cPJ3pXMjCwkjj2CQMRp09MnENVVPoG1lwlZ0NWspJl62jWwXixbdtZlZUkmaQNLWOp3UoK0HK2kbZhOtiy9G2rbVQJUgt5aSucDWHot/zYNFsRW35cTJqmOLVJNM1CNwsLjhPVj0uBfpJEePYsqmZgZKs6UegvSkiPowDXnkGW1cUlbbN71K1NifaOy+aSxJGowKQpnlsWK2dmsUHGr68FCGnb6UaFZG7VKI5DnOokZq5j3lwD30Y385kEroTnlknSmFy+hzgKFuVr/KhAN0w2btnOzOQYURwThSuFp0roI6U+aTRL5C/tunoDPzyQZJUoBUO/Pko4P1ZQclDYDrVDTW8S+B6eFwuOhKJmTt7CE8j3bDTdbCySlcsTmGaeXL6j8YxXVQ1ScKOQwHcbXAxFVvA9J2uBFfK1YeQLoquqCvO/0CcIRNuMlHltqKqOphn4vtvgYmiqPo+TEccRinrJmLVR4ah7EUgSplnAMHNcGDlGELj0r1jHwIp1gvOARJLGFIpdJHFCb98qjp04xmuvfo9ccQVvumUvu26+m4EV69A0g2LnAI89+lWSNGHFyk2o2vsxNJXeziLnRx1WrdtD5Ff40uf+A4HvEWUKhN09K5mdHSeOQrbvPMC6jTczOX6O48cPUih0s233PZw7+RKvvvQdVC1HvmMQtzbOp/70nzfOtVDsoqOzHytXpFjswfcc0jTB0C3SJCE/Z6FrIfj25KLJhty5h0Rqjx97OZIVH0byLyLNfBfI9qd2oq64f9ltp099B0UOyEstKOGlKXrYnNKiJJsEiUpIBxrl5o+xGDpvWWJeCbXK4maJ3T3zExURr6YYZg7PrZHoWZJdr+Y13MGTebFtnct79NgRnnn8b+c5z9uV/kt+YZLEi899C4BcvoN73vZxBgeH8T2bIBRqcRdGj/GNr/wZAB/48K8Xrlosv20n8KuRzZUU4jZIa9JVOYFfH5+NlNapHsI7pPmNkiRpafUvTeKmPTnqN3lTbVppmj2Qlh8bL0L6vhxR6AFp5gS++HghEye+g4VM+up/X6jqIrw2XHQjt+Tcw8AhjgKsQg/qZcTEJA6zykKKU5uel4yEgYuWHbfuCq6bBZIknpdQJEmEW5tGkuR5CU/oO9Qdn8WxIqLQI1/sRVF1nNkLKJrRVPva3gPvYsPWPUxPjDJ67jgjZ44yM7X4CssbCYqi0DsgHsJR4OP7Lp7nEwYBcTwg2jpCH1KPNJgmCq7BC+MGfiBQjC4kWUO7kWy8PijuBOdo022JhpkDCXzPFs/ZzAtDUTTCKCBJE8GvSOLM3+ESnyJJEgLfxbZnsHIlLLNASkoQeNQyrwlF1VBVnVp1GllRG14asiwjqXLDR6P+HvI8G00z0HWrkVQIXoaLqol9pZe9FzXNIIpCojAQZPSsKlIpT/Llf/i/ANjz5new66a7M5Uqm1Kplw99/F+RJglJmvDU059l9PRzaEaBVYPDDPT3Mrx2B7pucvLMWY6++m1IUzRF59Y3HUBRNL776Dc5ffTb9A3uZtOmnczOiBa2m/a8lR033UnOKlKpTKJqBoVCJ8eOPMuF0eP0D6xj07a3YNtl/MChq38bm7bdztDgKh595AtMXXipcW4bN9/K1h1vQdfNzKwwj2NXqFanURQV0xItZItVUpzyKIW+7QtffMUkUfuRw6t8T6idKLd8CkkxSSOXtPoaae0oUs8BJH3pZAigPPocfcUUiRYXmONaU8OSyCVR+/HiBE252neHjNy/eALllc8uynGWJBnTzIv2pyy+rftsgKhqRVFAEseNSp2cJdXi9yHNGy9JElauhJa1opu5HpLYZ+/+D1Gt1bAsi/XrNrDr5rupVCbZsftOJEliYvwMX/j0H4Ek8ZMf+vWG/LSm6SRpytU7c7UbvF+FsV+7qlJ1LeLWN2uzCtN2PtWGz0aLlYpWMhoR5DZJ+G5BhjdtQRg4jkKhC73EcX2nTJgF1UsnGtk9J0kEXpUo9Buu3HXUlYzmV2hSXFu87KxCb4P7sPB8fULfIZcF+JcjDFxkWcGpTmKYxUbVAlJC3yFf6hOExNo0hllA1UzsygS5TNWqTiJXVQNljgFV4Nt49iyFjv7GuXpuOUs0DALfRpZVrFwn0TLVja6eFbztfT8PwPrNl1Q6XKfKX/7Jb/7QJB0Aqm6g6gb5jIsf+j6e5+C6LnEUkaQDRL5HFDlIqUvsTZBEbXLKbuC6I/ImMYsFPKeMpmlLPituoA1ICnTuh+lHmxqeJjFhEGJZRRRVJY6Fp4YbVXHdGoWCCBb1zHQvigIcuyySgMDPVlzFvhynQpLEWTuT1fDHEEFRkTgLopZ6RyWJ8HKSFJUg9FDQMK0CaXJJltf3HVRVR1HVxrvANPM4TgUlk/REklBVDcPI4fsO+UInM9MX+cZX/oww8rnrvo+wYnADmqqhqDrbduxHVVSKnStYObSSl577FtXyFDt238G6NRuZ3PUOZmYusHJ4G46fMDs7ShDFyJICaURf/yrefEjy0vwAACAASURBVPt7SdKE7bsOEEchn/mbf4vrVBhctRnPrTE5eb5hwnf45UvXR5ZVzp4ucOy171ObOUPf4A66ezdQrU7wwnPf4oXnvoWmGey/6wNs2LRHqINFAWHgk8QRXT0rmRg7s+D3ef7Y9+jf+NbFr7+1Ca4y2UjX/xayIn7Hkmohdd0CXUus/s9BaI+hpA6W1UaI27e8DC5AGrkEQYyjShSvsnMz0Veh6ouT8i+e/P6in5U6ejP1KbkRB14K7y7FV77vkCQxprl02/rI6CjVWpl8cRCtrwunOoJdu8ihlx8m8G1Cv4pjv539d36AC6PHqVamKRS78Fw7ExuQUDWNoeEtfPAjv4VhFcjlSlUV5sjItqOelAXw7fR/C/nbCKmJFeu5kCW5oaDQ6nZtuZ5fpc9GaxukrV+GFg360stWyJcfHyEt4C+x2L7lJv1PWvFZieMAQyku+FkYuASecM1OYdkKSJwJE9iViYzT0HvFmCj05yQANGRtzZwwz6uvICxEe/LdSkMRa6FEI00TQt9GVjQhXTuHFxIGHqpmNIjidTJ54NuomoEkK4SBS+jb5Ao9wv8jW+Xx3Qph4GJYwkm87iwuKzqKKvqgQ98WnBB7etnv3jBzJEnM//3vPolp5RnMfDcGhzf9UDiILwXNMNAMg2JHF2ma4nsOnuvie74gq5oD+J6LLPkQTBP5b1yZ3xtAtCJWTuFVTlHOdVHoXEOu1E+usLhk9Q20CHMQ1A6Ill/FTZIEK1dCkqQsgBXmfYoqgvwwDJBl4Rbu2OXM4M8nTiIKha6GRG297UPXLVLSzP1bwrIKgtsRCW5HrTqDphnIWcvU3HaoOur/t6wijlNBlguZqauJqhkkaUoUh3heLdteFu0mScLszBggCYdxTecjP//7jeBu9PxRYV4IJFGEqho8c/AJ0iTlTW+6nbVrfhqA8bHTvPqiSAaKpR6G1+7kzrvfTRB4VGs23/z6X1CdPc/67e/hbe/5FYqFDiYnRzCsLjSrhxcOPsLJo083PDLOnH610U4+sHI9iqxyYfQ4aZqQz3cRpzEXzzzTOP84DkgJGzwOqEsMO9i1WdI0RVEUJAkMM09X9+LJxuFnP8+ed/7eotdf6n8nVB5b9PNmIK3+WNvbTh39MrmcTl5rjaeXav3Iqz7Y1NjImcB1ZtEWDktaO25p6STqxMtfX/Sznt7BphaDDSPXSOqtXHHB5+Krh17luSc/i1u7REbPFQdQZBFPhEGNwKsgkeK6Vb76+f9IHEfsuvlu9t/5AT78c/8LpCmlDhFTybJSXzwQEkZJ5qQstWiSV9+ZWPlu/YEuZ+6fLfP5JLnNSkN72wkH8dYP1x5a5V8ItFbZSFvyRkla8FJpJYFYzA/jSqQLXrc0zQjdadJQgpL85R8uURSIakahZ9G5RqGHaQnmV+g7BL6Nle9qjE/i4AqCeZ3ELctCbWVx0riDrKhCuvay7zX0bTQjT+DV5lVbwsAhl+8WLs2Bi1XoIfTtRutV4NUyroyMbhZI0xS3Nk0cR1gFQRB3qpPkir2EgdNo4VoK4xfOMDk+Qi5fYuTsUS6cP8Fz3792Un9vFNTbCExLrPjEcYTn2niuRxiERHE3SuCSBmVCZ5S0Dd7XDVw/BM4M084MMxdkCl1ryZVWkC/1oRmLO0PfQDOQoPPNMPnNZUcqqorneaJVMRaKULIk49gVdN0ily9BKlqjQMQCqqZDJN4hjlMhDP2GclUY+aRJgqaZGIbVeG7GSYRp5Ykjwf2TZUUQwkMPRVZRVW1ee1aaiuRBkRXKs+MYZh5SoXQYR6EgietWg6cZpRGqpqNkjudWrnSFWMrqNdu57/5P4LpVNm3byzPPPM7hg19EkhW6u/vYsH4DaZpSKvWx97b34LpV1m/aw8i5I4ycP0qx2E3/0DbhfJ7ESPisGlrDyMVRnnri67i1C3T078Irn8H3ygyuuZXBVdvo6R3g3IknMcw8u/fcy6HXXqPqBmzefDNDa3YyNnKMp773aQrFHgyrwNTYMabHLrleb92xn+7eQbbvvAM/e28aRg7HLmNaeVasXMfRw08ueH3HRw4RedOo5sKr8crqj5Ae/23aDZzSoV9AsZpz914IXRvejhxNYVk10umHkCrPLX/M4s1w86eRmjQlnDr+NWQpRlOuwfug687F55WEHD64uEBDR+fSkrlzoarC+HIxpSrPd/Dm+Hl0DexgYPUtTIyd484DdzM5NcXI2DQrV65FVTRy+RLVyjT5TCq5VJrvFaJpBpIElfKkmSUbkQjUaCfZUJt2dr4c9cpGw2ml2e0alYbWyNSttmvN2bDNykYbnI021KtanVurjuNpEje9OpgkUQsmfdGCjtxXHH8BAny90qAZuQavIonDpYnpaYrvVQgDh3ypf1HeilC0SpAVDd8VJfzLZW3rBnqN+SQxrj2NrufRdAu7OolhXfmb8N0KvlcV3h2XvbTiOCSOQ/BrWHPM+uoO5VEUEAWeSFKyOeRLffheNfsudSRZQZJkXHtGlEyzhMmpTggTQUTrmG4WlxV3KJS60HWDB3/ht/n+w5/n2KFnmBpf2tDpRwGKopIvdDQUWcLAx65VcZ0iitVH7I4T2Od+wLO8geWQpgnV6ZNUp0+iGSUK3WvIlwawCl03FKvahd4LWheEi7sZA9Sqs6SpSAyEfKzgb9QDlCgMiJMYXTdJkoQ4icgZJYLApZatshuG2ZDOVFQV3SwI4vgcJLEgoSuGhl2bxTCshuBIFAUNonjd5K/uJK6qOlZOJDyGlcvMBhP0y9rvNN0kzqTNHaeSnUvCs09+FVK4dd87sXIlNm65FceuoCgaK1YOc2ZgF5ZVYM3wBkbPH+Glgw+TK3Ryx90/jW7kkGWZp773JV5+8WEUReXjv/i/ce87/juqtRqrVw5w+NALnD5/Fs3q/f/Ze+8wu877vvNz+rlt7lS0QRuA6CA6wE6RlChKlEVJlEzLkixb2cTOOo7XTl3vxumJnMTejdeOrcSJn7UUFUuyZFLFlChRpFhBkABBEr3OYAaD6XPb6SV/vOeemcEUzL2gGonv8/AhgPOecu+cOef9vb9vQZYV2jpWEbUsQYodNm3Zi2XVOHXiFYJAoqvQzve++zUGB14j8h0uno/pu/gaI1cuALBp253kCp388In/MeOz1SoTKIrKmZMH6Vm/kyAQi85y8g7pWrp6wZ/xxMCrdK2/b85tUqabKLsRyWoum0la91tN7VeH0bKaJfv/afK3f0Ps1wjKp4nLryH5ExDWIKhCWEXSl0DnvSidB5AayIwr9b9ARgsw5es0GpFzaOv+9rybrbGzwklyHrS2LcV1LKGTWgQURSWTKeA4VQwjm3ZFwijCMHSy+U70TJGJkTPUJvs4PXaGKPB47ajJ8qWdXHz9L+k7bvCeD/4Wj3zidwl8VxTtQBRHXDz3GtXKBOs37EbXTb72l/+JyYmhXxXFRhQgRUrjHQbEikTYpJe9SKpsLtivnurdaAERJ96/je3XvHNW42isgIrjZhLHo0ULvkmLukWOjkLkRVKuhBvTtW1vw0RYWIegEc0O0AuC+RPG60JrRdFQFG3ByUYYeMiyil0dR1E1Mrm2qw8mBOtyvcsRCIF5RlCsAt8VE/8Z91iMY4kujKqZc16nZ1dQVQMz1zZj38AX6a6+Z6VBfp5bQ9MzaWfHzLbi1CYwc62pra0sK6h6BrsmJga6kRcuXXp2Uda3kiSRL7Shajr3PfgJ7nvwE9hWhct9Z/jWV/+UannhCcdbBZpu0Npu0NIaUS1PUNNNtEwb9vgJoiaMKm7gxw/fLTMx+DoTg6+Ta11NrrWbQuvy1JP+BhpA8QCMfmfBIZpuUKs6KRXTcS0UWSFGUBY1zUDTTTzXTs066lSkTGI7K0mKEI4nxUMcRwSBn3YnoijEtsrpYpskSVSrIvBPUYUDliTJBIGHFpmQZGqAgqwomImFbhRFgmExx/NQSjQaQmTr47oWtVqJY68JilD3yk2sXred468/SxgG7Nr7Ltau6aGr/aNkcmLl+KXn32BkuA9p5BLe7Q8BQi+4YtUGJiYGaW1bhutaVMbOkcnkGB6VeOGZzxNHIas33Me+/Q+j6zoXes+xtHMFo+NDHHv9BUrDIiW8//zU9cqKztjwTOrTKy/OXBX/xU/+Cx7/5n/lUt8J6DsBwLIV61EUVVCpVE0I9/OttBQ7KZfmdkHqPf69eYsNgLjj/iaLDZlo+AcEziRKywaUzOJX7ueDpOXQOnZDx+I0H9eCO3GG0tAxlrdFaCzOWnc+xF0PgTL/PGjw3HPzbpNlmbXrdyaOllUMM7eoua0sy5hmHscW2VsXey9y9PB3mRg+QxRFWLbIZsnmO9CNIp5XpqV1CSEKURwjSxIxMqqq0d93kiBwWblqM7XqJE98+7+n59m87TbKiYuWmPE0aSULgh/vNxnOJ1qezed0NKMVkZKIvsY7Is3mbDS6X+OBew2jAY1H3KAV76LTw+OYOA4XZZEbBmLyHkUBrl1BkmSy05LAp8Z5GHNY3dapR4ZZSEV+CyHwhc2gmW2d5SIFogNRL348tyYoV9nW9HMLp6rptrohjjWJqplJBsnVdI4Y164Ia9r8zA5KFIlVNU3PpoWG4E5aqElRZ2Zb8V0LRRWdGCkJDNTNAk5tkjgKMTJF7Oo4IOG7NSRJRpnjs01HaWKE3//nv8SS5WvoXr0x1Wus37yHTCb/tik26pBlmZbWDgrFdmqVSVQtS238BIF7w8XqZwm1yT5qk32Ucp20dKwj37oC3bghKF809HbQO8Abm3eIaeYgzlApjSWTfkl0KJKQPkFVnHL9qWswo8S6nBg8zyabbUmLlChJAQ9CH4lEqG3myGQK6TPT8D38wEsSlRMTmigU1KvEjTIMfSGCjiMgToXp5gILX3EUoSaaEFlRWLFyA2Hgkyu0cfLY8zz/w68mA2M2b7+dSq3KRGmcjo5Odu29X1jNtnSSy7fyza/9EeNj/dzxjke4/e6PADFnT7/MS88/BpLEhz/2z1iycheeU2H58pW0tRb5m8e/ysD559PvIk4E8+tu2k3NqlGpVGlr7WDv7R/k0MEnGOo7xLoNu8nn2zjy8nenPgcS3370TyiVpjj5ZiaPYWST7z5EU3V830VTDVas3DhvsfHGwS+z7+f+3bzvU3nlJ+HSf6HxOUpE9cTvMzw8jKvehB8XKCy9mbae+2hd915U400QSVwnBl7+L8hyTD5/vdRMCfmmf7zgiFOH/3rebUuXr0+7cfXk8OndioUgyzKZbAuuU2Po8jnGrkwVhobZiixrrLlpH0EYMzRwhnJplB133k9r8R+TyefIGSqjI/1855v/FYB9t/0c27bfSfeqjQS+T1vbMlRV4yO/+Dv0XXjjW6o4qZq67zQKSW5SdA2L4o0vsHNzNrZ1Z6mGGU7NW/U2gqYaKA0WJ3EjBU0jGR5x/diLCd9bfMFTTxm3q2Llfj7KXhyFM/NA4hjbStyjkom6X5tIbWXngnBbsMi3Lpv3c/iehaZnsWsTSeHTzvT7Q6zGiWus29OauTYURaVWHsXMtswY69QmiKIAwyzM+rm4dhndyGFkpvbxnGqaJ2Jmi8RxhOeJcCxZ0VA0A8+p4rkifCr2Izy3KjqYicYq17Jk3s93+30P0716A4996Y9Y1bOFgd7TXOk/n+o1MtlCIvh8e0KSJPItbRhmFlmWmBh44Sd9STfQBNzaKCO1UUojRQodN1FoXY6RmTuX5wauQnE/jCyk34rT9G7fd8kX2oQAPAyoViYSdgEI202JuE7plCRkWaHQ0oFumHiuM+dqraA2iUUhEbKnoWk6qqYTxSGe64jAPyCcRgMWnQo9DTmrFzdWtYQsyUKYLtVd2UOipBtSv/b6Nd33wK8ISpYko6gqhZZOoihgxaqNnD17lpef/zKKluHu+z7GmjXrKLR0JDkfNUZHLhHHEUOD59m45RYsq4xp5jDMnAg+VBQefO/H8XyfUmmUJ77zZcYGT2BmWym2r0KWZUrjAxy49d2sWLmJ4yeOoYyPs2njZk6deJmxoVNousnGLbdw5qQQiHcs38Gmrbfx2it/Q2myL/0e773/l1jTczNhGAib38BH04xUL7Nk6VpOHpvbCWlitJfJy4dp7d4753a5bQ9BYS9y5eVr3Eyz0SJfIu5aR82pYjklvJEyfQPPc/K7/wQj10Vx+R7a1j9A1+aHGz729aLc9zR9Rz7H8q4cRe36aMVxYS9ycce826PA5vTr82ukVq+dSmuva4vqNs9zdW1nz5ljYdCk5FHUDGEg6FpOTSwk9F88TixnGB98Das6wsT4Xo4fP8TY6AVWr93Nts2bKbYtxXdt2lqXEcUR73zgU+nRPdcmky2wbcfdF0SxoaiE8/gpXxvXQTFqVkNB3Y62CRtbpCSX4kePpjUijaDB7144jzUoJl90F2TxnaY4Xlx2RxyLFa3Ac2bpJmaMS14o9e31kD7NyM3oJIgQwdlVvxB3TwASqp6Z93PEcUwYeERRiKZl0IyZPMnAd6fld7g4VolsvgMpoQwKUXnd9lmE9WlGFt+1UGfwhWMcq0QUBGSKUyK8OI7wnCq6mU8LEM+tEUcRkqqgm3ms6hjEEZqew/ftGQ+YMPRTR635IMsK6zfvIZtr4ZFP/Q4A4yOXGeg7TX/vKQZ6TzNypW/e/d8u0HSDjmXdBNYaKhNzu7bcwE8/PLvEWP8rlIZztHRuIN+6nExu4QTltz20NtC7wBuZc7Pr2Ph+lAhEZRHEV7eflWUMzUSWZRynNuP5ZBiZRDMgioIoCvE8G+Oq56yiqESKSj7R3wShj2MLkbOcBPspioqsqIJyFYZJR0DkX8R1sXjyPozjGNe1xPsmyQDRdQNF0ZBk4WxV13rUbW/rFqIdRje/8Ev/LJ2gnz13Adctk1FNXC9g6MpF+vtO0Na+nHU37eK9D/1dLKvCqjVbuHDuKEcPf5+urpX8yq/+B8LA59z5sxx99St0dXZTqla4cvEFJFlm/93/G9u2bKNaq1Etl9BNk6d/8CiXe4X4ebj3efxpTlPf+vofp3/27AkGB87i2sJVr7NrFZOTQzzzg7/k2ae/wpKla7jznkeoVibQ9YzIH1F1OrtWIitKmplwNY48+Ufc+0v//7y3ibTuH8HRj867fX7EFJVzFHMQ5zRqsYTtGdgZD8/rJRytMWb1/diLjdCvce4Hv0s+30Zrq4pK//UdcM2vL7h5+NzTC85zu1duIPA9cS/XJQKyjG1XUH1BI4yJkoVg0sXj+izqfO8Fjr/2PBMjJ4mjkFyhC9su0dLWQ3nsHFqmlV277+LMmRW0tgpK9WDvITy3wkiui+Jt7+CDH/ltJFlJQjvnRZh0NpTmciuYNqFuOMX6OlPEE6pI4zvyY3SWagYNpnvToGajwZ9THIeLFlNGDRQbiwnpEyLwCWRZIZOf34MaEp1FIh6cboU7fVIdhQFI8qxrjKMIqzqGbuZTmtJC1xSGPtlMyyw3KoDAs9GMjKBuudYMa1vfrYnEcKY0JHrSzRB0sqmfi12bTOhZMyc9rl2ZUWjEUYhnV9CMLEamRVDAfAfDLIAkESYWvr5bS/i4uti2AJ793lc4/MLjhGHAc9//KitWb2TFqg3cvPcebt57DwB/9ge/zcjQDZG0Iqu0L99wo9h4CyDwaoxffpXS8AlaujZS7FwzJy3zBhIU98HI3JacwiLWTF2dqpUJPK9GsdiJpmcIw6lk8HphoSgqQRhg1crpRF7TRIp3EPipOLweHBsEHrqeIYpDJKTUMcr3xALLxMQQum7guU7ihqUkz1pZWNvKcnp99Y68YWSRJIkwFGF+nmenGgZVEUWHoqioisali8c4fepl1q67mdVrtwkbXc1g//47Kba2Iysqy5d2cPDZv+bc2SNIkszH/9a/ZsWqzfh+gGnonD9zmNHhPiqlUe5+58dQVI3LV/oZv3KMiZHTtC0/QPvSbWRzbaxZtYrz597guSc/h6LW09gFldU0cziOKDQKLe2sXLWZE0lHotC6DMca5cLJqef16rVbqb4+nu5zuf80uXxrKjQWgYcW2VwLS5as4crgNGHINLz63Oe58+H/gJab2zlK6f4I4am1SM7Fhm6t6ZDwyUt95A3AgFAysaMc0qrZDk7OxFnOPv7rtK29h/aNHyTTMU/wYBNwxk9x+vHfYLz/Fdau7qJT772uuWSkdqKu+vj8A+KYp77+z+fdnMsVaWldkmbQCJ2mhJRYNPueSxD6ZDJ5psL7Zs79Bi6dZ3zoWPp3Xc+gaTq5fDuTI6ewKkOMjE3gOmUmJn127NjN9r0fYHJymA0bdqIoCkpGBApaVkA2K+YWo8OXmJwcZtWaLRhGlkp5TCSeCHen+ip2E7arspKsGDfqSCU13d2QJaWprA1oPjOjOTR4rrjBrkuDlLBGOxtRtDhdBSTi8EWODQN/zsl6/Rp9t0YY+mhGblF6oiAQVrSOJfjzc3VBwsCddc7USjaxtXVqE+jTKEszzuE72LUJsvnOObUccRwRRT6BL6iFmXxHeg1xHCVWv6KL6NpljEwLiqpjV8dTZ6s4jnCsEoqiESfdk+TouHaZMHDJFbrSczp2Gc3IpXQqpzaJbuTQjCy10jCankkeRjKSRBoKeC1YNSF6e/o7XwLEM6Jzyco0a8PzmtNavRVh5joxskVc64Z2462AMHCZGHyd6ngvrcu20NK2ElVr3G3xLQ+tFfQl4A3P2hRGAZ5nCde8wEOSEh2HJOG6NcIwEAWCqqFpJopSF4OLroQk17shIrXbtitompla6AI4jiVMOpKCRVYUFFVDT7ogZiaPbVVE4Fmd0SDJqSNVeq2hsLzVNAPHqZLJFFKqVV3j4diie6yEWjr2yCtPMDhwlnJphFWrtzB85SID/adZ3n0T27buSDsnS1asY2xskM6ubjRZ43vf+RKVqs2Onbeyc+87aWntIpstMnRlgNNnjjM+XmLZ2nfQ2tbG5k1biCMZWYk4cfwwF868QBC4hKGXvoO27bibfbe+jyOHvkOtOsld932U/r6TnDj2Al1Lb2Lbvoc4/spjjAydZdnqfXiew+FDUwL/pct72L7zHlRFw01Wx3P5Vhy7ShD4LO++ad5iA+D0S59j273/aP77ZNX/Dmf+6fzbG4QSO+SlXlj34VnbRk99neHzT1K+8hJnn/rXdKy9m+2/+N05jtIA4pCRN77Amaf+JXZ5kO7lXXS3TiLFzemcUyz/RRGWOQ9Kl19h8OKRebev7tm+YDfBMLMovicKSCOLfFU8hef7IM2cx0yM9REjIekdFDvWoxjtXDx/nLH+Z1H1LP3rd7F/361UyuN4rpXOwb/y+U/juhb7bn0fu/bezze+/v/huTYr12zhfR/4e3zz63/0UMInqVc8jYmB61AUNREGN/NAlgQFpIHcBxBakagJ6pckNZ8+3gwabdwkvhoNnqWx9PBGRPVRAwGAcSMZG9Hcdsl1ZydFM8jkWnHt6oKUnzrC0CP0XYxMYUYY38wxQfoiiuMY1xKWdVPC65gwCuYomBIBdyhsfecqNGBKWK5qmRkaCxDdFlXPEng2rlMlm28XRXoYEBMnQYFJh8XIE4W+oGgl3T/bmiQMPFGUJPeioE+FZArCLctzaqi6KZyprElU3URWNALfIY5jsoWOhn9HZUVh5777WLJ8DaWJEd448gxHDz3Z0DHeDmjtXMdQ3/wvhhv42YPvlhnpPUhtop/ikg0UWufXOb1tUdwHI9+e9c+SJBP4ruimKiquayHJMpMTQ5hGDkkWbnkSEr7n4CXU5hjxnDZkBdXQkGSxYmuYWarlcTTJJJZFd0JVdXQjM+8CqSwbRIYQlZuZPFEUEoYBrmOl16VqevJcF5avum7i2FUy2Tz1eZGiaOi6iW6IhRvhoBWzumc7QeDTvWoTtl3h0IvfYnjoIieOP88jH/u/8AOPMPRZv34XK1dtIpsrMlka5eLZFyCOOa4qPPi+j1Jo6SRj5nnhhR9w/MijKGqGW+7+JNu2buPgs49y4vhBjEyRaknoA9o7V3DH3R+hpbUL17Ho6Ozm4HOP8tqRJwU1za5yeeAsEDM6fJZDP/wLahUh8m4pLmFi7PKM76nQ0oFVKzE83Euh0J52cRRVRVE01m/Yy+uvPkUwz3zrh499mq13/QaSOvfiobL+7xP0/jGy9yZ2wmUTKd8z65/HLzzJipVryKujIOXQV8/ubFgjrzN28qsY+eUYxdUYxbVohdVADLGg10VeicrFJ5nsf4Hy0GtMDJ3EzLTQs3YlK4pj6JSv7/olHfmmBQo04Plv/tsFt2/ccss1T6NquqBVOVV03UTTDOI45vSZExx/4zlGBt8AhHGArpn4vk37kg0sW7GVC71n2LBqA7tu3slLL+VpbVvC6pXLIY75yhf+Pb7ncM/9v8SmLbcQRgFRFFIpj2FbFdb0bMeqlVm7TuhRVq7afCadGUqSnHr1NwpJFu3LZiAmeSESDRYbTaaBy7LSnLC8KTSb67H4oaJ4aNC9qhEaVRQuPj08eYAvYqDo4FxVYIrU7MoM+lMU+mmBMB981yJOsjAWzviIkWU1pTBpmjlDLD5XRsh0y1wzW8R15ra5i6MQz6mSybXNEeYXJ/SqHJ5bI1voSCctnltDN3JCpFgZxcgUUTWDWrlKLqE7OXYJOSno6/oTz63h1CbIFUX7Ogw8wkAEFYahTxQGmNlWrMooSDJGJjtvJ2khPPyJf8jGbQfSv9/xzg/zV5/9T1w8+3rDx3oro6Wzh+FLR5s2y7iBn15Y5QGs8mWsJZto6VhLNt/6k76knx5oRdDawR+f8c8iNThZFIxC/MSL3zTzBIGLqU0tmghhqyYSxQMfRVZn5V3IspJOrg0zmxxfWN9KsoyiaKhJ6vdMNz/x++j7ruhWKFpq8RoEPrZdwXMdTDNHGAYQx3iuLcZrerpa6Ll2ynVXVA0Jia3b72TDpv24ChkCuwAAIABJREFUjkUYhizvXo/r2XSv3EA2V+RrX/qPjAz3sXbdDu68R6RSL1m6hrvu/QVKkyP0rNvBlcvnOPTiN8kX2th94AP09b2Bqpq0FNuBmCtXzuF7VXyviqabGEaW3fsewLYq/M03PoMsK7S2LmE4TfqWGeg/DUA214mi51KKp5nr4MLJp/E84QJWbFtBR1cPZ089x9lTLyNJMh985B9SaGlPv/MoCtGNDGvX7eDs6bmF3o5d5vKpx+ne9sG57xFZh61/CK9+mDeLwx51Pogqz144qw69ypqlEh0FHZ0x4pt/Y9aY8vnHOfHkv0HVshi5dhTVQFY0ZEkVk+YwIAp9XGuUTK6NTCbDimUdFPMaS8wLSFx/iF/c809QMt3zbrfHz3LyyLfm3d7RtZIlS9cu6lyKopLNtuDY1cRmWuPIK9+jNHI6HSMjYeY78ScuMTl6llppEM+t0CeV2LZ5M10dRYavnKL3vMr6DXuEY5nnpDS8X/zkv8C2KuRbOpCAW+74INlsS/q7eNd9Hz2czqxkWRXtxCaKDVlR8YMmaRWS1FSKuCTJTWo2Fubk/8TRoNUsi3R/SkdHUUOBVlED1ChhZXvtCe3VIX0iCbw0R3he4ou+gFjbtUsJJSuzYKFRp2KFoY9jTaaT+ukIPHvGhLwu4NaNHKqeSbMtrkYUhamt7Fyp4WEYpAYMM6lVMWEo7Hrt6hhmthVF1QkDV5xHknCsUvIClVETsaVwzKqhakLAGIU+VmUUM9dGjEgOz+TaRIdI1YUl8DzUsIXQ3rmcjdsO8PLzf8Op11/kpi172b7nbh766G/yJ7/36wTBjYyJOmRFT5Lfr89z/QZ+WhFTGj5JbaKX4tIttHWuRbmR0SFQ3DsrVVzTDSRJwfNd4XSZ5FWYmRwg4Tg1MmY+Se4OUgv8uhtSnT41HXUKlOeK3CEjCfmLIpH+bbmCViUn9rDEMbZdJZPJUZ4cEXSqRKchJV0LXTOJwhBV1VJbXU038D03tRCt07vqOpLp0HVTUMV8l11772fH7neiqCphOG3hKo6RZZkXn/kaY6OXufWuD7F1+50AHD70HUaHLzE6fIkNmw5w730PY+h5VDXmy//z31KaHGXtpnexa+deCoUWSpMjxMBzT32ZwBfvlLp2rqVjPXv2v5eLF45TGu/nzns/zMjQIAef+Rzd6++iUFzB2de+DoCRacOyytQuvDLjs6iqRuD7qfsWiPfbqrVb5y02AJ7++r/iY1s/MO9CprriIfy+96CMz63xaRTSkvfN+jd79BhhUEWWW9AZA7UFpTC7+1G6fIglKzbQUfCQkAhDhzAsEwUBYRSDYYKkobUV0HSVfCakoF5Bjt8cB8a4cABl879ccMwrT/w/C27fufu+xOY2kzqrLQRJkshk8ziOxdDwANJVC+4xEdmWNaiqSmv7GlQjx+jQRQqtKzANk5eeexTPc7BqJdZv2MPDH/0nOHaVts4VgKAsmtOc/CRZxrbKZLKFdH46VWwoKr43f0rhQqhXwM2g2Q5Fs5a7kiQ1VaQ0Gpw3hcYr+cbdon5040UHYrHFRryowmS6E1V9oq4ZWcxs61Xj4pSPezWmJ4jLsnrNa4yigND3iMKATL59zsIkpSklf3asyaTLIoqSwHfQjfZZ+4hJvTEvhcxzKqh6BjPbOuOzBJ6FqupYtXEMs5AW+m7SIanrT3SzgFUZJVvowPdsAt9BVjQ0PUsUBliVUWRF0Lus6hiqZhIk2Te+b5MrdNJMl62ltROAZ777ZWyrQu+5Y/SeO8Yjn/odupavYfDS2YaP+VbGjWLjrY/AtxnrP4xVGqCreyeZwuI0UG9p6B2gtkAwRS0JAx/bFgLwKAwxjCzZXEs68dB1E9e1MMwcsq4Qx3pi4e0kFqyTKIqaZmMIB0nxDHOcGkHgkc22iEWkxGDDSGinQuAdJjSuCFlWKRQ78X13RiZHHUHgo+lCzK7HmVSnODkxRDbbIoqXOeYMlcoYTz/xeTzPYe+B97K6Z7v4DK6F5znc+8Av4bkWhUIHYeBz6uRLEMecOXGQ7pUbCcKQtTftIgg8Wlo66Vm3g8Mvf4dqeYzVPTdTmhROX0uWLEPXNb76xd/DtqaeL7Kssmnn+1m6dCUvHX6V227ZzdDIFa70H4U45uWXn6MyfoE4CpkYPoeGI2yAZZnudXcx2PsidlXobZYuX8ftd39EdH80EUyrqroQ2HsuK7pvoqOzm7HRua1eh/rfYPDUt1m+eXYRUIe668+Int6MFFbnHbNotM6mEI2ffoz29i50MzESWPKhWZqIOAopD5+kzSixIj+GxNXzVgmYIxH8TSLDxEoL8t4vLTjGmbzAoR/82bzbc/lW1m/chySBbVcF7fAa7A+AKIo5eewFjr7yJI4zkwamaiaRX6ZWGWbVqq10LlvD2HAvoTuGoqrs3PMuJieG2LL99vQacld1eEfGJlAVmbbWIoqiYpi5VDMly8rMYiNqMs37euxv6/StZvZraiIvyUTx9bfBFneyxneJaVDwHc2/8j/f8RebHt4o3WyxAYBhGCCreiJ49mbQimaMuyo5vI56kF5d9+DUJjHm0WmI64pwnSqqbs67wi+cqgQ/2LXLwnGq0JleVxyFs7pOU+O6cK0S2iyaUmJfGwbkWmanoArXlIhMrj0tVMLARZZk7NoEqmaiGzk8p4pmZAl8N3GayuO5FoqiYlXHkGSFTK5NJIVHMYqu4Tpl4igik2tLi6VGMTk+BMCuA+/khadEsFB5QrwAtRururPQDE3tBn42YVeGGDj7NB3du2ntWv0213JIorsx9oP0X+qOUVGUdAs0A9uqpIuSkiQL/YRrY2amcjQkSSaTyc9YZIqiiDDw032z2RaRJaAb6PM891UVVEVNdRlBYlc+MT5ILt+GmtjikmROTZ1fuE1lMnkURSUMfCRJwvdd4ppgBYgOsyii6pSl4aFecoU2nnnyi4yPD/Ke9/0dOpasRlV1HMciDH02bbmF8uQwS5ev41L/BZ7/4TeI4pCde97FmjVr6Os7wcsvCuqMqpvceueHUBSF1WvXc+HcUWyrgiQrFDt6iJBp71zLnj238NTT30X2LvDSwWHs6nBi4Q6D53+Yfh+10iUulKY0E6Wx8ziWyFJo7drA+Gg/3/nGZ1BUjb23/BwrutcRxyLI0HVtDCPHlu138OxTX573Lvj6Zz7Jr376NGqmY+67xFwGG/4tnPyteY+xOMjIhfWz/nWi9ynyWR1TSToQXe+ZNaZ2+UVCr0Khq4jEbGODH7lV6Zb/jJRdPe/mOAr45p99YsFDbN/5jrTrl8224PsutlURhXvy71NztziVYpdLoxx8bmZAYN2OKI4jaqV+PKfGRGkSxxph/IrQc9Rq72f7rnsYHh1F0URuzpXB8xw9/D00Vef2dzzCxb7LHHr286iawf7bH2Fl91Kee+rL+L7Lxi23su6mXco0zcYUtaNRR6rryZOQZYWwWQoWjQue60LgHwfESkwz300j1reNdioipEWKuBvRd8QNuGjFUZhqFbL5jnnPEV1F6xNOTZNcHaS3UJBgGPo4tUmiKCCTm38VMghcVNWY8/gAvu/MEJ67duJ6lW9PVr1mdoDqYX0x8dzUqkCIJ+sZHOlxnSrEMZqeSfQkceI8IuxrM/l27Oo4RraIVR0X3Y0oxHOtVCBvWxNISGhGds5zLxaT48OcP3WEex/8BFt23M7I0CV6NtxMGPgMXjrX9HHfqgg86yd9CTfwY0QYuAz3vohrT9CxbDPawj7zb23oS0DWIBILlkLULWhOtl1JOgqCjRCGQSrKrusjMpk8xKLjoagzF5hEvoWgOdVzjuI4oloex8jkUx2GoqgJ40GM831visKR6DUcWcFzLfzEgRPEgp3kyOmCaVyfoEGSAxIJ211JSqx1heGGLMncc/8n8ByLlWu2UJocSbUT4+NDFNuW8uR3PksYhdx6xwe4855fIAg87FqZi5d6mRw7A0ClWkLVsuRbltO9ehsSIWt7bsbM5HEdi1PHD3L40OPESGy6+f3s23uA/oE+MtlWDr38AoPnnyGKphaKFUVj920fZXDgLAMXXuDOex5hdOQSJ4+9gGEU6Fx2EwO9U2YWiibeIZYlmC1Xhq7Qs/5mJieGkswTGSSJ1T3bWXLyJYavXJzzFnCdMk996Td516c+P+9toqz7DYLqKeT+P13ETTU/nJf/Dp7Wg7ninRjLhAXu5OBhWlcYGNK4mLq07Z+1X2XgeTRNwZBrs7b9qBF2PoS2+pMLjjn/8me5dO6leberqk7Pup0zOlwgGCJWrZRaO0N99jJFSR8Znm3Pns23oakmHcu3U6tMYNXGyeTb2LNzL5puks+3YZo5Dh95kYvnXkXXc9x2x3u4cvk8A30icXzvgQcJg4CYAKdaJYolojCg94IoVto6VtDS3mNMm3XWbWibc6SqtzsbL1Sa1F4ApOdsdJ9m3aia+W4at75teHwjnY0Gxsdx1ACla3HfTeA7uE6FbL7jmvqgKJoSRNeTuHWzMEM3kQrk57gJAt9NLWY9t7rgvRn4DnEYohnZlEp19XZhLyvC/2RZTbskQeDOcHmKoxC7No5m5Ah8d1bwXxh4WImuYnqhEYU+gWdjZIqpcD3wXaIwxI+qZPIdIk9EVnGtEkamgGtXUHWT0HdRVB3Xrgg+sqxgZK4/mOyxL/0R7/3wr7Fp+y0sW7kO33f56y/8Z3z/hvXt1fCcN4EecAM/cygNn8KtjdHRvZN8sevaO7wVIclQ2AklwevXNB05EqFisqRMMw6Rkz+LrodumFi1cmKz6qVGMfWCo25ZGydJ3iTC7rpzlG1XMYwsvu9MdaHrom7PwTAyU+97SUJVNGzPxcyItG4/ccyqW9zKsoKm6sgJhcsws8mqcXYWNz6KQnrW78JzbcLQZ3n3Bt7xzo+j6Qar12zl8sBZBi8Lqmm1OsmSZWu5fOkMsqKwZtVavFseIYpC1ves56mnv8tQ/xGWr1jLffd/DN93+Pyf/3O8adT2luIyetZt4tWjhzhx5BtIikboi+1d3dvZuv0ejh9/la6uZWzcsJXBAdF1uXj+9fR57Qf2jE53Z/deRgemdBtLuzezbdsBdN2kUGgDSRYFklVBkiT2HHgPjz/2mXlvg9cPfpmb7/hllm5897xj1B1/RGBdRG5avxFhDb5AzX6GMy98Bsv2ybb2oMkxshQhxw6xkkfJrZm150T/S5hqQE4da/LczSHUlqHu/osFx3jVQb792b+/4Jjtu95BoVjvHNW7ceLPcRzjOjVkRZnR8StNjnDk5e9w+sTBWcezq+PYgKTouJagVlnlIVw/plRxiVVA1vA8n9LoWbKFLiI0etbtIAp88i0ddHatpNi2nFz+15BlifU96wB413v/FuXJETZtvZUgUv0ZS9x17YWiNN4SFkmdYQOr5gLNai8g6ajEEbB4wfO1QtsW3q8JB9yGuyiNajAiZKmR77yRRPDZjlHzIUq4oAsdy7VLwqtc1RdlRFA/v+9ZeE5tTq2FaHPP/vm7ToXQd8kWOgl9Z0H73igKU/em+fIzSJLU7eoYmp6dUUD4rpXqTeruVUamBVnR8F1rxvcd+A6OVUrb8dPh2GXMbOu0Ykdka4CUCMtlfNciisPUwUqS5VR8HkVhem9nsh0NF/5zwaqVefSLf4iiKLQUOxkfHUyFgzcwhSj08H8GOxuaKV5cvjveNBX2BsCpjXLl3DO0d++ktWttQyYcbxlke9Jiw/Mc7CTROwwDQTuKwnRBUpJkIdaGhGokOgiGmUk7CHEkCoB6aJmiaEkYX4ip5UQQoKoRBgGZbD2oNE4E4wGeZ6er8vXOhywraLqRFilhGKSBgqLrIsTmQSAm8Yoq3je+780qNmRZwbItcpkMUaQjyzLdqzbi+x5RHLFseQ/bdt5NGAQsW7GOwYGzPPE3/x2A9z/8m+zauRdFUXFsi9JEH7XyIENqlnKlTD6bSwuNrdvvZN2GXWSyLQSxyvDgWaIowDQLtHb0EIUOO3ffQ6lcozZ5mlrpHJf7XmVyVBQ6/X0n0msOw5C+cy9O/d2fVsx0bCBUOjly9HlaW5exacOG1I3KTVyHspkW1vRsT1et58LXP/MJ/va/P4Vqts07Rj3wV/g/vA3FOjrvmIXQplxAzvWgKRphqBNKZWQzJGOKn1GsLcE99QdExdsxl96CJIvcqtrYGTpzMgo/xsUySUXZ9TkkbYEw3Tjmic/92rz2wiAsivceeHDeZ0tdBO66Nq5TwzAFPfGVg9/i7OlXZo9XFOIkGX75qh1Ytku1MsTam/Zy4vjL9F84iDZYoKfnZnbvupW21jZaih10L1+WZrHUO36aprJh/Uxq2/oNe6b/9apiQ9GIAm/RuQoz91WTYL8Giw1JTkL2Gu8a1Lspje7TzEs1zedYIITlzUFj30EcN+hGFbPo8VE42wp2/rH+vCJtEWJXSkLsDKEtWNS1RliVMRTNINcyt8g5DNwZ96vogEygmzmMghA4+76Dbsx2EgFRKLhOBU3PzJuf4bsWsqJiVcaSgmdmNwJJSsP6HGsyLYpcuzLDWtf3LNHp0OvOWVMtTrsmRGnTuyq+K14EdU1L4Nn4vp12haqlIVTVQFH1tIAB5i2amsGt7/gAO/bfy3/7/d9i1O1n2+67eePw02/Ksd9KsCtDP+lLaAqetAxZUVH0VRAHqLJPHFTwnTHi8Eb3qhGEocdI3yHCwKNj2UZk5W1WcEgq5LdC9bjoBGg6vi80aEpCg4pC4cdfLzyQZRRZIZ9vxbarmGZuTvt0sU+UBOzVCwWh6ZNk4W5Vd4uSJAVFldD1DIaZTc/r+DWxmCqrKLJCpTyWZn2kBjfJAo4qy2nmh2WVkSQZJ6GD1S1wAQYuX2bl8nae+PafUauVuXnXvay7aRe2VUFVdXbve0CEn4ViMc5MqGWZfJE3Xn2aY68/w7IV6zlwywNcvrKV9vYluPYk33nsjwHYs/8BNm+/k1dff52J0VeolgaoTPQBcMvdH4c4on9wkOGRYc6deBarMowkKTjJQlPXkjUU25dx9uRButfeDmqGgbPfR1F1iu3rGB8+nn7HZmENpSsvMdpXRtUz5POfYmX3MuEaFoXomonj1Nh7y4Nc6j0xrymQbU3w7Ff/Ifd84s/nv1dkHfX2J4ie2Y/kzqb3XBNSRFE6RzELIBFIRWLJQIvEdyM75ymd/G+MVr+ELxfJd20m396DIgUUcj/GgE7ZJN7+5yhd9y44bOD4o5w+unCn57a7PiQm9wtCEr8bgY9lCU1s3WjgarR1bWf8iij2JksTONVRgsDGsR02btqD61hoRo7OznZMQ2fb9j0EQV1zJZHJFnCdGrZdwTTz11zcnPFbrSgavmfTzI+ibp3bDKQ02K+xh3MzTlbNC/mSBNKGd7v+1eWF0WC7pYFcjriB9PAoDOfoVogwvDDwRHBeknGymPOHgUcU+mRy7Qt2QcLQT3UJ9WTuTK51Gq0pnidAMMaxysRxhG7kFjyHCMUTieBXryr4no2mZ9OMkOkajCBwyCYrx3VReybXhlUZI1uYWomzqxOEoU8mN7USFIY+rlMmV+hKzRAcu4yZKSZJ6aI4MTIFquVhVN0k8Bw0fW4aWDPQNIO7H/govWfFKlZLaxcPffTvs3TFWr7/zYVbwm83WJW5H+g/zVCMFiRdp72jHUVRCEMxofM9j1hbRuB7qGqEFNlE3jiBeyMhfTEYv3yUOI7pWLZhlv7gLY/8Jqgex/ddfM/H82x0PUMYBTMYxeKZFhGFIUHkEgQBnmvhODVyuaLoksdxugQp3hmJ3jImtbet22+7bk1QSGQlfb+EoY/vTz3XFVlBSZ/fUtJVqJKoNFLtx3SxuKpqmGaObK4F266Kd20c44c+EhLr13YTBD5joyIoz3MtisUuvvKFT1OrTXLzrnvYuv0uIXzPws9//HfSjszF80exrTJ9F17jjrs/wurVwqb1tSNPMjE+CIg8hb6+S5w++ljqMAjQtXQNK1eu4luP/g8mp+UlSLLCjn0fQpNdjh75Hne965OcPyNWtR2nRL6YSb6bgHzrKsaHTwJQaFvHaP8P06DklrZuVqzoRpaEE5giq0SRmDu0FDvZs/8BXj44O8yxjiPPfo4tB36BpRsfmHeMpLcj3/o40XN3IAXj8467NmLUeHIWY71V64XcSsq1EexLvUz2auSVCfLqdSZ/L/aqlBakPX91zUKjNnqSr/3pxxcc07N+F8tW3ITrWuj6/EGWdSiqyomXn+Xoke+nFslXQ5VjWtrXEng1VDVLeewMURRQKY/QefPNbN9xG74fgAS2bfPcs9+gWhpk1U23s3fXfp763v/k/JkjbNtxFzfvupfxsSv0XzpBa+tSNm+7bfb5pv+l3p1oBrLcvHWuJCtEcYTSAB2qvl8zeo+4KRcrqXGjAql5l67FIo4a0VU0higK0Rb5soyiAE2eqaWwq2OoWoZs0mGAhTsgdXhOFc+pomcKC9OtEh6vrKhiMu/Zc+ggAmRJmZXr4VgTKIqObhZFavccHuoAvitWw3ItS+b4BRdiRVnRZoX1Bb7ouEiSjOdUhetWrh3ft1M3E+JYBAaqOlE8VazFUUitPIxhFtLP4toVVM1AN/NEYYDvCUtbxy6jaZmEbyzPsg++HixdsRZVUfn6//wDACrlMQ49+2323f4envnuX+J5b47v+FsBziK7dT9NUPUOsoU8uXwePRE3i3vLJV/wCYJA6IWCAMtqJ5IddA0UHEJnhMC7zhTdtzAmBl8jjiM6l296exUcsgnmSlvxBjKRqoDnoCgqURylHQ0gEbIK4besmIRhQCYrHKBcx8I0c0RhmISsCXqoJEvIkoyWpHnLCRULIJsrUKuWMIwsMXGa8i2sb5WEQqXOcJ4yEF0Pw8wmgYIBYeI6KMuiGyNJckKz0sjlilhWhWy2gIGgYwuL3yp33/cxPNdi7bqdIEn4voPn2tSqkwRhyIsvPs7kyHk2bb+HrVt343kO+255H/2XTtLWtoxcvsiXP//vKE+OcP97/za79z8AccyK7o28/OorxHFMJlvgjnf8PO0dK3E9nzOnj1Gb7EeWVbrX7sOLNFRVZ/v2/Tz3zGP4rs1f/+Wn04ypsSvHGLtyTPyc4oi+01PZKJKqp4VGvnUdudab6O3ro6O9RdDXFBXfd5FkmSDw2b3/PfRePMbI0PxdiS/94Yf41P/9LC0r9sw7RsptQNrzNeLDH0QK5rCcvQ5IcUib1ktbKwSY2NFSNFlBZ/RNPc9ciLWlyAf+Bqm4Y8FxbnmAz//ePQvSpzTN4I53fIRMJo/rWkknIbcgVbM0OcorLy3cKQmkDIE/xJJla3j3e97H0z80GRodY/OWPVzqv8Sz3/sstjPBzfsfYfu23ZRGexkd6aXYvgrYz+X+0/i+y0D/Gfbe8j5eev5RRob70PUMm7fdxtnTh3ntyPcxzCzve+jXZxYbUjo5bkIInSSBNwNZlsUvRIP0LUmSmyqOmpqcS1JTRUpDezRRmDTmRtWolW00px5izrHTuiBCmF3CzLXN6iiIlO65j1l3cJIVJcnPWPjcYXKseh7F9MC8dExwlaNVFGLVRFCfpmeTlbKIue5316nguzV0Y+4WYRj4Qi8hSaLImdY1870aulkQGovQJ5NvA6QZ+g7HLqFoBhISqmom1xdhVceFADLpUPiehefWyBeXQhwLqlZOHE+4i+mEnkU2175ojc1iMDR4kTAK2X3r/Rz84TeIwpCDP3yM/Xc+yLKV6+g7f/yax3i7oO5O9rOESMqiahqaPkW5kxUVI6NSN1aK40gUH/k8QRAk+QU+jt5O7Doosk/sTxDYI01r796qmLzyBsQxHcs3iTTqtwvy23xr8GQmDNUkM8MjFbPWOxZxTBR4Ios5Bt9zUDUdVdUJw4BKeQzdyIquhiwjxYkA1rMIgwArmaPIsoysKElIn0ylPEYm20IURaiajoREEPgiARwxZ1AUFVkRC5VRFFKrToosAElGURTiSOg+PLtKGATJO0sUNrIkU61MYprZ9G0qywo3bdxDGAYEgU+1OsG97/4k5ckRlq/cQKlcYmLoDJMTg0yOXkZiDydefxbXtVizbju6nqVUGqU0PkQUR/T1vsFtdz3M0NAVzl84z6kj3yAMXG7e/27aO1bw1JN/Rbk8ilMdASKKHet5x30f5KVDzzIxNsQPn/orBi4eBkBRdPzQQpZllq7YzJXLp4ijkLWb303v6e8RRxH5ttWUR0SHQzMyqJmljPW/wkjfi6hmK/sOvJe1a3sIAk/oeuOAOA659/5P8LUv/cd5w12j0Oez/+EePvW7L5Hr3Dzv7SJ33kl052GiQw8j11697ttvLqg4FOQm6FpNIDJ6UG77/oIWtwChV+Yr/+8D1KoLi9XvuOfn00yLOkXKsavoRnZOWpVllTn++jNzHks3coSRT+h7jA8IwfiAWwIkBi8exLarlMbXsmT5FvRcK3FSqLcU8hy4+xcZunKRzZt2AfDBR/4RVy6fZ+mytaiqxq597+blg9+iZ50osAYunWRkqBdNN4U5w8xLkZKioRlXKZp2lZJktbmgvetIEW94F/jpFVAuWvDd2GEXS6Oq62biOMS1hSPP9IyK6QgDf84U7sB38ZwKullA1QwR9HcN29Yw8ITda7Y479ggcNDNQnIOB8+tYWaKaQESBu6sHIo4inDskgjKU01Ufe78hHr+hZEpzvh9iaOQOIoIkhwNM6FH1cOiRDbIBLKqo+tZrKrQgkRhgGNNoumZ1M438B2cmggXlCQZpzaJrGgoqo5VGUM3ckKQbuRnuV5dL3zP5diRZ3jnz/0y23ffzeVLZ1nW3YPrWAz0nXlTz/WzDLsylIr0f5YQxvKUteU8kCQZ3ciknQ+AwHPxfQ/f90X6c7gEzxXt+Dio4NvDREFzXe63GiaHjhHHER3LN88o6t7S0NvyipahVptE04y0WxDHpAUWlY+VAAAgAElEQVRpvcMguhMSYeKgI8kJvckRtChNM6btI+5TM5ND1QyRF5Va9kdIYYCmm9QS/Zsp54gVCU3VkXRTiNKnjfdDF4hRVI1aZYJMtpBoQGQ0RUXTzTSfQ1E1wSKQJILAo1bz0Y0Miqxg2S7ZXAuOU6X3wjHWrt9B15LVdHatwqqVyRgK2/c9iGtVWNG9gVp1gkMHvyXoWJ7L3lsfJAx83vfwb+DaFm2dK3jt9cO88er3UbUMkhxjmDl03WR05BLDl0V3oqXYRTZbYMOWA1y8eIZzx56YESOQKy7n5l0PcPbMKxBU2bzjPirlYarlUaqVYRTVIPBsVL0VWb5MFAVkc+3IwQhWTdBCC5l2FFnCdSyRKh4FyJKMrKhksi3sOfBeXnr+sXlvBd+1+ey/v5Nf+d1DZNpmp3nXIWdXI999EO/Vv4c6+OfAz+bCRZjdiXrHE0jawmGfcejy2J98kJHBUwuOu2njXtau24HrTpmPSEgoqoZjV1E1fer3II65cPZVXnrxG1i1ubvOqp4D12LTjjtQFJXXjzzB+g178H2XWnWUMAwYHupl3U27uf89v0K5XKarqxXfd1m2pItlS4Tbnu+7aJrBqjVbAAh8j9VrtrJy9WY818bzHPbsfw+tbUvIZotEUTjbxqh5R6r6yn/jXRGRtdH4y7rpFPFmOxuNitEbFXs3NLq+U6OF4eJzM4BFHzuKQhGul2lZkPo0V2fDsUoiByPfPs2+cOFCx3druHb5mha64l7WBJUpTLQj0z6T79kzNA5xFGJVxzAyReGSYk3OEsnHcYxrTRIGHvnWZbOvzRNWiKo2M0TQT7JFpjta+a6VFjt2bZxMrj0RmXckHaIKimag6Vlcu4zv2+SLSxOKmpmkl2uY2eu3uZ0L3/rqn+L7Hjv23cPS7h6q5QmeevwLhPOsZr0dURnv+0lfQsNQ9RZ0M4umNWboIfY1UHWDevkR+C6e6+J5BaJoCb67EtupQVgjcsaE09XbGKVh4QbU1b31bUKpkmSzbTO+e4woCtPA1brFrLCyjYgj8f8oiggCH993Zrx3fM8jDAP0ZLEnjkN830NRVDzXnkGJSveTZTTNwHUtYmLCMCAMgmQdVXQm6vvUV+p1XRQNvu+JGYwfEpPMS8IAXTPEO0sWAYG6kcWqlVBklZgYVRGTr+89/heMjVziUu8xfu5Dv8nwlYscf+M5li1fx5YtB1KXrDD02bT1VqIwYPXarTh2lW/81R8CEh965B9QbF1CrfISdmUQkPjgz/8Diq1duJ7NwWcfBWDp8h7e//D/weX+09Qsi7NnXiUMXDQ9z4Zt91KanCTX0kmxtYNq6TJObYwffPuP05/Q6MBUB2Fy6LX0z1EcURk7D4BhFujZeDuSamI5AYVcAd/38Dwb3xPZKLv33c/l/jMzHK+uhmOV+Pzv3cUnf/cQen75AreNgr77M4Rd74Jjv4oU/izRNCWizvej7fsiyNdYVIhDnvri3+Xiybm7D3W0tS/jrvs+mrqgpfPP5P9qViOOYlzXQtMMFFXjwvmj8xYaAFZFBBkODpzGsUVWR3/vCeS7Zd7/4d8mCFw6OrsB0JSI9tYsavL7hixjVSfJ54qomjFtvjpTzawbGaIwQJIltmy/E+KYKIrmKjZUonAuQe21IWhN4aIdjKbv10zRIF9PZkaDPraicGimHPhRdkPiBqldjaSTL+64cRzjOeKmvVovMc8OaScmjiOc2iSKqs+YLEdRgCQp8xY6rlMhTu4zeYH7VNgCK6mYOqUeTY0gjgKU5H4VAYATqZtUGLizPk/d2laW1Xk7CYHvYGaKM7bHcUzgu0LQPi1sz/NqZLJt2EnuRv33Jwp9XLuc6Dvq9r9VjEwLrl0WYr3QF1zeXPubakSgKCphFJIvtHL7fQ/zg299jice+3M6u7oZGe5vPhfnLQqr8qPnAL/ZkI0OMhkD3bh+eo+qGaiaQRZR3HuOQ8bLJfajS7FqNYgd8CfwrCvXf/E/gygNn0Azi7QveXukjUtaEVlRyGQLeK5NJptnvpdPnfJkGNlEFC6Kkmy2BcuuCNvaxM1KZGyo6XsvhnTylWZxgLj3XBsteX7KsjL1X+KAmWZPJFkbdd2bppuikEFKk8tdxxJhhNMcmCqVcbK5FjRVhTjGzGQxM3laW5dSq5V4+eC3udR7nKHBCyzvXs/Q5fNcvPg63Ss3c8vtDxGFIbZVYWSoN125Hug/g5ltYd36TRBWWdNzM7l8K09+97PUqpOMjwkhemvbUsbHh/j2o38y47vsXLGdnnU7eeG5rzF65TUunXsWpyZoOmYmj2NXWbb6AIpmMnD+Gdq7NqIZOYYuHabY1o3n20TJ872lYyN9Zw9x/HAfZm4Jt9z+EN0rulFVjTAM8DyHOIq5550f41uP/hcmxuf/3a6Uhvjif7yHj/2fz6FlO+cdB6Cs/Ahx+36Clz6AYs1vsfvTgji7FWnbH6JeQwgOEAcOP/jCr3H0+S8sOE5VNd75wK/MyMuYE4oQg1+5fJ7zZ19l4NLpOYdJkkyxawOTw6KTsn3Xe5gcH2Bw4CQr12wmjiMOvvg9JEK273oXq1et5ouf/VcQx+za+24O3P5+vvKFTzMxdpllK9bzgY/8NhfOHeX8mcN0LV3Ljt3is4dRhJJQuR2nRhQGdQveaHaxoWhJK67xNFRZVoT2oplioyk6VHM2tk3hx5g8vljEcWPdk3obeHHHvralbhyJRO96Sva1Co3pq1Z1m1gj04KqzaQpReHcFsr1ib6iaOhmHscqLfh5ojDA922RXTGH9a2ovlWQJALPxnWqM7I8BI94apUijmOsyhhGpkAYeDMSxZMB2NYkkqzMKkQC3xGuXPn2lEYW+A6KrOJYk+hGDlnRcKxRjGwRpzaBmWtLukUivK/+ndTpW55rkcm2Nmw3fS3ohskv/8anqVUmWdWzhb5zx7lw5lWGr/QhyTIf+eV/yve/+RdMjL09J47TEYVekoXys4VYygiaoDY3RbBZyLKCmc1hZnMQx8lEM0sQBAR+J5KxDMIyfvXSjNTjtwMmLh9B1jK0tS/9SV/KjxxxHKb6CEXVsO2aSAmfA2Hoo9RdpKbZyqJAQW3Hsatompk+600zl2jtpnVJxOppKto2M7mkOIhQFFE0hEzdbzHgOjV0PUP9taWqunCcgiSNvM7yyAodoWYQI85TLzoElcVA1zM8+NCvp1StOI5ZuqwHq1Zm6fK1hIHP0VefYny0n7HhATZtuYXRiX6uDJ5n5apNPPC+v4Pn/y/23jvKjvQ87/xVrrqhczc6ITTQjdDIwACDGQwmcjicGXFmmCxKFEVb67VkU5ZX9jm2vJblXfuctddrS3tkn7UsWaYlKpOiRA3jJE7OAYMwyLHRAeh8U+Wq/eOre7svOt7mJIB+zsFBA13hq7qhvvd7n+DQ3LKat179LkfffRZZktlzywOcOvEaA5eEPq6+oY3mli4299/GlQGhQVA1i80770eSTBobWxgYPMfEyHvJ78RzqLm1m7vu+xJ/883fxPfzFe3MxLVTNHf0A0IbWDb5kWUVzysyPSYmp6VohEIhjyzL+FEoijLNqAjH77n/y3z/8d+Zk2w9GxPXzvPN3/okn/uV76JnF+lwAFJqLdpdbxEc+2dIg7+HFH34id9LIVKbkTb8BsqGry5re780xrf/v0cZOLtwQriAxKF7voiVqsPznEpnbyGcPf0Wz/xwcXfIOI4IvJl7qGoatlskU9fKuvU7CMOA4csiVb6+eT1r16zFNNOJNsSsUB6TowEwcOk9zp5+i+HBc+zYfQ+nz57m6OFnaWrp5rbbP4FpppO8nTyWlZ3b2RAtypUl4YoV2ZBa5z4rpkOtULRdzvaoZaK+ojDAlSw217RCXbvge9mDiqOFxxLHeF6JwHcwTDHxXo62IwrFqpTr5InCoMomdjbCwJtDjQoDD9fJoxsZVM3A9+zFLXEDF7s4RTrbuuB2wrbWwnOLwi1qlpsUcUwUeigJDSoK/SR0rx5F0XCdfBVFKo5CnNI0YejPoTTFcYTn5LEyjVV6Fd8tEUVBpeAKkhRctzSNlWnCc4qouimoVooGEnhuoRIWqKr6+2ZzOxt2qcAbL36XBx77uwB89sv/BOKYsdFBpieusWHzHt565Qf/s9gA7Pw1Ptju5QeDMFZmJngfFCQJ3UyhmyniOMK1S+iGSRQ2UtSbCfw8YekKof+TkbweBi6FsTNoqk6mbuHAs5sBwjZZdJ113cTzHBy7gDlPwREGfpUmaDYkScIwU6Lg0A3kZNW0ujC5zo5cFnxyVdOxSwUMw0qeM7EQhZeLkzBANyzipEiJZQnTyuA6JeFQFceiSAnFnwoNLI4EWTx5VoSBj+vZOE4By8pWJmX9O+5g09YDyXlSdK/ehKZptHduwHVLPP/MnzI5MczppnY+/7P/nCiMKBQmKvdN1U2QpYrWp6VtNQ9++pcYHB5kcPgaJ44+A0BTax9bt+7mlRef4uKZN/A94YxnWI3sue2LnDj+As2NKd589TvCpne4mvI0PiwKE7s0XZnjRFHAdCIaB2jp2EsYxVwauExjfRZFloiLceV1y9a1cPf9X+bJ7/63RZ2VRgaO8nv/sp8v/PI3aeu9b8HtxIusoG7/D8Sbfo3wvV9HGvkjpOhj4IAoG0Sdfxd16/8FyvwultfDnjjLn/w/95GbHFpy2wN3PMbGLbcC4Hk2tl1A14152UZRGDI8eHbJY2br2+jZeDtHXv8LOrr6iCOHs+8JGlc6ZbHvwMPs2H0vYRSzafNOZFnhZ7/yf+C6JTJZoT959Au/ysjQeZpburBLeXo27CKKIurrRafq9Ik3GBs6QmFqgG07DlAIipw++RpWuo6t2w7NLQvKFe9KMNMVqQ2VYL8VRHTP0JuWv5+cFDe1tbM/jM5GXPu9rzFtfNmBflE0Lx1OWNpOoKg6qUwTIOF7gjO4FMLQJ/AddDVblSkx59xhUNUZ8JyCyKiYpekQ/NT5H1Dl7SVJWqIg8SqUrevHI/i8wiqx7K5lpZuQFTWxtZ3lcFVJDc/i2LkqwbnohoyhqHqViD0KfYLArdKcuHZO0KIyTRDHhL4LkoRhZnDsXOXaozBIHLAWF6H9OHjr5R8weOk0v/CP/j1vvfwDmlo66FjdS0tbN65jMzyw9BfcTwLKHNgbCaqeRTdTqCvQa6wUkiRjpjKYqUyy8mzhunU4qUacUo7QGSB0b7wOUa0oTV/BSLdhmJZwablJEYY+6qzJUbngcN2SoEvNQrTEc0mWFUwrTbEwNSspfGGIBU9hW2tZGUqlHKm0MNhAFgb7cRRhGFZVtyVOnDhDK4vtFCoC8XKHo1xsQHm2ESPLCp5ro2o6P3z8d9m64y62bLuNMyffYGToPL2bbqGhoY3A99iy7XY29R8glapDVmSaW7tx7AKrOnpw7CLf/ev/zMT4EBu338/nf+bXCMKQQm6C1195HIC1PdsYHBnilee/iV0Q4X2punZaO9bj2gUun3sJgFSmnWxTH11rtxETk584y9TVmUl6ur4DVW8gN3qKtu7dFAtXKUxdob6lj8nR00jXLZ5k6tsJQpfj73yHKIxY03uA/ftuR0KqBCkCrFnbzyce/Dv88Du/u+hcyXMK/PF/+BR3fvrX2PPgbyDJi1P2Jb0FddfvENv/Cv/4r6GM/fVH0+mQNKLG+1C2/zZqev2ydxu/+AJ/8h8fqspJWQi79t7Pzj0zRZiuW0IP6xRRZA/DTAESURhy6eIxXnz2LygV53dCnD2vtkt5jr75TQC612xi46Y9DA2cIAhc9t76ILKisnPvJ6osdTXdrPqOmi0ID8OAppZOOrv7KiGce/beg2lZNLeuo7mxgeef+i6nTryGLMns3HVfOM/TZuUrXZIsL5gqueS+kkyUcOxr3a/mGmUFyeMrzsz4QCUbtXVnhLvUcp2r5m5bsbRN1VdNqIXOYPHXLfCdyor9UtQN0YJXKpoOSVZIZZqrXuT5081FUB+QUJAWzj6IopAgcBekWAW+g6pb+J6N7xZJZVoq98P3SpWOghCUT2BYWcE9Vo0q0aJdnCCOQnSj+qFWDuiruGKFPmHgk65rQVE07MIEURySSjfjuUWIYxRVxXUckCRSqab3nT5VhmmlcZ0SI0MX+K//4R8xNXGtIgivb2zFsQu4zv90GwKwCzeeXkMxmjHfJ73Gis6vaqQyGlY6xrWL2FYa32vCLk0TlAYInBsvs6QWTA0fRtHTNLV0frCdpY8QiqxUuhBl6LqJYxeqqCFxHCW2tYvfB1lWUFUd33MrgtmFEMUhWiLSlWRZaBWSrsPMNnNDhMvBgaqmY8YpwjDEMFLXdWNioqgscI9wnCKqquG6JbpWb6SQG6NUmObF574hbMrtPLff+XnefeMpro1cpHXVWnbu+QSqpnPg4KN4+x4gk21EQmJ6Sixc5HI5JFlmZOAU46NXKqFsiqzS1NRKFIoCaMuuh1m7ZgMSAWdOvlEZ4f7bH+baWIFCYYzJ0UuEvoMkKzS29lLIXWNV9040zWR69IQI9Utep6nRU/POJjQtReRPYicWrb7vJTkmEZpmoOlGpVhc27Odg3d9gRef/YtFXyOA5x//d1w69Tyf/sW/QEsvTS2UrA70W/4AQofw8h8QX/k6cv4N4IML6YvlFGH2AFLHZ1FX/wyqtnwjlihwOP7sb/PUN//Fsrbf1H+AWw48fN0cWkqKugyB71IqiYyNixeO8OT3fn/R42lGBs3IEngF1vffz/n3nsK1p5LgSpl0uh7Pd9A0E1XV+PY3fwu7lOfQPT/NuvU7OPLO04xevcTa9Tvp3bi36tiKopJKZbFL+eQ9YNLZ2Uln52cr26zv24PnO2SzTciKEs87W6kl6Xk2VizYLu8bhbAMOk4VpNo7GyJPpMbk8RUKxGumedXSqVgBjUpeYhVhZtu4qoBwStNJXsT1KdrxEo5YMZ5TrFCjljIeiKIw0eKIboFmpOfpYJSdR2bGUS5MZFXDMLMEnj3H0nb2tnZxAtOqm7fQAMHFj1UN37Or8juEe4owUIjCQBwn1SCsaAvjmAm1qlxoqJpJADOFQZIlEoUBWmZmhc+1c6SyzSiqQRxFyXmF8Nt3S1jpBqFRkWU0zXrfbW5n4+B9n2PHLffyu//xf2PXvvu4cukUg5dPU8hNMj154yVlf1CI46hiPnAjIZJTKB+AXqNWSJJU6Xa4dhHdMAiyTZRy47j5szetfW4cR+SuHUPXLbL1H1x38qOEqpnE87x8ppXGLhXwJUnY4oZBZWV0KcTEIvRvnu5I1XZRdadEBPopVfsttUCm6SZecXqeHAMJWZYAGRRQQx/DSKEbKfbc8gCGmUZWVfq338H4tSt0rdmMqhtMjA0zPjZE4Ads2XYHR955hsGBUzQ2tXPXfV8iikLuuf/nGb12mQ19exkfG+S1l/6aOI5Z37ub7bvuJp1p4N1338Bzc6Trutm5Yx+vvfgtzp99p2rcTc2rePP1JylMzbjkpbPt3HH3F3ju6T9j6NyrlQLDn8Xjt9ItOKXxOQuxk2PnZ23TSLZxNRcuXsYwU4KG7NlCR2lYyLJM//Y7kGWFF5/984rYfCFcOv0y/+3X+/nCr3yLlp67Ft22AsVE6flF6PlFYmeI8PzvEI0/h1w6jhz++N/HsdZG3HQ3csffQmn/qYqBTC0Yu/AC3/nvv8Dk6MVlbb9uww5uvf0R/CQoV3QkYGbaKf4RxxHnzx7mxLGXljym7+bxnByZxh7aV3UzdKEO156is3sjQ4NneOfNJwCoq2th6447mRwfJopCLp0/Smd3H8fefY58bgJNN+nduJdnnvhDxkav0N29kdvv+rxY6Jc0HM8liiIM02L2PHzNuq2sWbe18u9576KiaJUJVS1YqfZC7KusULdRu7OHhFS7IH1FAnFpTkvyfUWNLsNRFKGoy+1sREiyThyF2KUpVNXATNXNOeHMLZk7kDiKsEvCuclKN1IqjC+ZCRKFPsQxpcJE0kGZu4oVRVGVC1UUBdiFCXQzOyO+Dtx5szei0MdOOh5zBN4JwkBYLlJOJJ9VSIW+i6oa4r4UJyrBheVwSVnRKlSz8vn1WeOwS5OEgcgGKcN18hDHlcmf6+Qw0w1oukUxP4qRqsNPVqekOMJMv38p4fPh6uAF8n1j6LrJrXc9wq3J/09PjjJ46TSDl0/x7hs/qgRl/aTCKYzekM5cYfQh6DVqhGGlMay0oKQoKm6qDjt3BTf/4QRxfdjwSpMUpwexUpmbMvBPVtQF1puFLsIu5ZElkdo9XzDZ9Sh3QAxD6Dd8z5mXhlamCl//3jaMFLadr+QDCOH34pNIXTNw3BJ6ktEx77gS0xVdN4XQXRVp24fu/mlACMh13eK2Oz/LyNB5uro3UlffwujVy+Smx0CSiKKQk++9wuDAKZpbujGsFJabwbQE5bB3016CWOPYscMMXDxCHEUoioHjFLiWJHjX1bfQt3k/DU1dXL02hlsSdtNr+w6hmi0Evs+Fi+cpTg0QzKK6Z7KNNDSu4srlkwm9L8PU+MUF74mZbuPK2ReZHD2LamTh0JfoW99DFEfCUSuhmq3t2YZumDz31J9UXL8WgmPn+Pr//Qn23/dL7H/4N9BSrYtuPxuS2Yna/68r/47ypwiv/hBp+g1wh5H8cfAnkIJJiEogG8RKHbHSQKzWE6uNyGabMK4w2pAaD6A0H1z2+a9HUBrl+W/+E959+U+Xvc/ufQ+wc/e9RFGEppvzvC9FRo3nOTz9vf/B4MDi2RyyLNPWvZfQdxgdPkpj82ryuatMJxbtly4cZXP/bWzacoBSaZpV7evwPYcHPv33yE2NsWbdVnzPZdvOuynkJ+ns7qNUzDEydJ58bgwJCbuU50fPPcHY0HE61+3llr23EkblhQMpWTNPgjwlCVleoGSTFY0o9FdgfyslzlLLC4OrvkGJk1WNEPtFSDXkgkiyTBTWdi5pBcWGKEo/yAd6bdWGKCCWWWwkoXRh4GEu4ni0kA4k8B1cJ4+VakRW1EohufgEJ8Zzi0mKcf2C20aBV3GJmo/mVLYxNK8rVHy3iO/ZpLItOKXpBSya40SInq4SgJfheaVKEN/s4ELfLaEb6UqhUc4bKeZGSde1AjF2cSopVKJKIeKUpvCcJB0cwWeNohAz1YDnFIS9ryQTRBFxFFbpVj4oHHvnBY698wKyovAnv/t/0rV2I11rNtK5po/+XQfp33WQi2eOMnp14AMdx8cdN6JeQ9EyGKb1oeo1aoFuCC1DqZBD0zfgWC3YU6cJvIVdbm5U5MZOo6dW0dTS9lEP5UOFJEmk0lnsUoEojhYUh8/G7A5I2cI1nsepJwwDZGX+uYdlCdpHOUtsKZ1hGIWYZppSKU8qVbdkcW6aGaYmr3F1+Dyb+g/MGNhIEqvae1jVPhNqd9tdn2Xs6gCNTe2kMw0MXj7F8NBZXKfErQcfrYSiNTd3kK1v5emn/oqRgbfR9DTr+z9JV9dqNEXFT3QAW3fcSaahm1df/A6eM4nvFYiRWNOzncHLp7h48pmqhc/ejXsZvTaA65YoFkQ3YOrae4teH4jnfXF6EIDItwkjRNL77AW5MCDwXTq6+njwkb/PUz/42oK6gtl4/enf4c1nf597PvMbbL3zqyj60vqc6yFnNyFnNy0w+BBqpOkvF3EUcOGtP+K7f/gPl6XNAFEUHLr3Z9jcf1tyDFGw+VC2i022FJP3k8dfWrLQAJAVHclow556E4DmphZ2bNvLxNgVAt+ld9M+Mtkmbj30BQxdq9Ad16zdCmtnjrN1x524ThHDTKMoKg89+ksMXTlLR9d6JNWglBvCLl5jamKIlFXHpQvvMjR4mg19e+ns7qvMlxOW1Pw0KllR8d3ahd7iBiZ2cTUWG5KsiFXtGiG6KSELNGkW2ok4rvVcHxKNqpZjL8Oetnr75QnEhX2gmNDPphDNu210nU1tokeIo1AUAMm+C9nZzj6nXZwkCnzMuoULDRDibd1I49o5wtCfMwGP43CO9keE+vmkMs0iyXue+xDHMU4S1je/+DoWrlhRJJy0Zh0jikI0RROBgGYWRdWFtW1S8NhFwZWMonAmY8PJJ04sKfGZ82yc0hSZ+nbCwMVzi6SzLaITE8eouvWhUl+iMOTi2aNcPHu08n8NTavoWruRYmHph8fNDjt/41HKVLMF0zTR9Y/varokSaSz9RimiyzLGNZeStMDlKbOfdRDe18Rhz6BO43n1qEbN69YfH5IGGaaYnEqeS4tPl8Ir8v+Msw0tp1HVbUqOpSYeyz8nBFdlVyVm9RCiKMIRdcwdAnXLVWJoSvbzHq+iyKqnhef/TMURaFv834e/9Z/olSc5uCdn6Nv837OnHydYnGKdT07WN+7u9LV2r3vATqGNtDUInIsnnvqjxi7NkBXdx+feuTv09bRh+PadHX3snfP7Zw4/jLPHnkK1xH5HKXiNLmCS37yPCDTuXYfqUwT2bTJ5NRVJGKsVAP1TZ1Mjl1k3YadXLp4HD9xCVsupkbPVH420m1MjZ3n6DvXSGXq2dC3R5iyKCpKssCoaQYPPvr3efr7X2Nq8uqSx49Cn6e/+S95+fu/yYNf+n9Zs/OzSMr79Nn4AAqNOHS5evZHPPuX/4Lhy0eW3iGBrlvc/9D/QveazTPDS/RFge9RKuXQdRNNMxi9dpm3Xvveoq5TdQ3dlIpjBL6DZtWzbu0GTk6dxEy51DW2c/zEcVw3pL5pNYqi887hVzlx5Edk6tq5857Po8oBp0++imlm6du8H03TURQVK5UV9s6qTkNjOw2NMyHGt97xKKPXBmls7EA3dF589i/wPJsg8FjV0XN9Mb9AsSHLFVpIrRDFRoBCbQ8zaSWibcpBghG1vI1WYmO7ks4GUJuovMbD16yrWYagPAzcSn7FfCv712N2iGMUBTjFSVTNQr+OciWKjfk7ZTOZG/V4cX7JB0858E5W1IojVtXxfNBQdY0AACAASURBVA+l/EaPYxx7GmKwUg0iUyNw5yT5ljsSqmYgYc57XwPPQZbVaotchLgbwClOYpjZSkHguUXMVH2SQq6gmxmKuTFS2WySMh4gyTK6ma3cO81II8kKxelRzFQDjj2dWC1GH1hK+GJY17udHfvupaN7A+PXrnD49ac5/s7iyac/EYhj7MKNl4wdSSkUVUXVl3aP+6ihagYNTQZ2MYckrUMzs+SuHlkxVffjiML4GVSjnqafuGJDfOeqioZtJ5axi3TdozBEn7XQIkkSlpUVTlNWttLVjsIQRV+YkSFJErqRwnGWnmALjaOMLOsEoS/sfKsob3Mf2IZhsmPPfRW70KmJEeI4qqQ6P/PEHwLgOjZ7b32QI+/8iCsDJ+nfejv7bvt05TiZTAOT48M0tXRRyE+Ty40jqSm6uvu4OnKBNxKHqmxdE70bb2HH7nt56RVhhZtu6OaOOx/i9ddf4dlnvoGdF52IdKaZNev3M3LlPZ76/n+vnEs3Uiiyiue7tHTu4url15a8NwB2YZiTR4Yq97WuoaVi/SsnNE1Jkqira+ahx36ZF3/0Z1y+eHx5xy5O8q3f/Qqm9Q+546f+KZv2fxk927msfT8MuLkrnHrt67z0/f+IU6pt4a29Yz33fPIr1NU3z/t7VdMTMxibUyde4+XnvrHk3NPKtoMsk5u4TLpuDYOXjpGfvEJr92429PTx+N98jbGhI+Sn1rBzx36ujgyTnxrEsacJw4iRKyd445XvAtDY3EEm08iRd57G910OHHyMMAwI7UJVx2V11xpWd62pjGHPvgcYHx9kzdpthIFPHEdVoYQLLAGsQNOQQJbVFRUq4stihcVGuLCv80L7rOiBtRIHqxVZ+S57QDV0NuKZMS0A154mTPIvlhtUFkUhqqqLgsGernJYqt4umHdVPvCdJIOiGVmS8aTFnUmiKCSKAkyrfkHNRRC4GGYWiCkVxlE1syqPopzwXUYcR5WwvjiOqywbZ/ZxsYuTZBra59xz3xWZI1a6sXKNURggIWxzJUnGsOoIfGHXGwYenlvAMEXRIUkypcJ4Qh+rwylOVqhnQcJ3TX0I9KnroSgqj33pH5NKZZieGmNj/z42bt3Pq8/+Nc98748+1LF83OCUxle8IPNRIoyES9CNlGJtpevQDZ98TkLpupXJoTeIb8B7Px98N0cYOHiu8xPX3QjDoOJk5DpFTCuz4Hd/mY40G5IkrFdtO4+V0JyipEBYDOV08PI5F9mw8qNhpCiVcsiKUumkRNH8TIH9tz1CqSS67j/12FeJgc7uPgC6Vm8iDHxaV61FQuLsqTeZnBgm8AS95fiRFxi6cooNG/dx6J6fIZWu4/LABa6ce5HAd7h4oY09u/dVznX3J34O1Wzg+Re+y+VzgjYTRz6FksfwwJu4pQkUVUPTM6zp3Y83q8gSjo8he299lOHB01w899ayCw1xopn5kKYZNDasAkmkt5fpbEoSmmsYFvc+8BXOnnqT11769pI6jjIcO8dT3/h1nvrGr7P1ls9wyyd/lcbuW5a0y/0gEEcBE5df4fUnfouTbz9e8/6yrLD7lk+yccsBVE04mJXfP7Iki9yY5E8QBJw78xanT7y2ZKERI4EsE7pFVE2nf8suTp88TBC4eG4JSZbYtuMQ51NZVq/rJ5NOcdfdD/FuUxvZdIZM2kBatZbm1m7q61uoq2vh6sgFjr37HADr1u9kbc9WThx7CUmS2Lz19nnf9zv3fqLq345TxJlVoCzOPVpJ7oWiEi6Ts1a1n6SsrLNRoVHVcq4VJpZ/zBDX8PosdmvD0Ber8lYdRjIJX+4rEUdhJd16Nm1q7nbVuR0V9yhFIZVtrYxjdn7F9Qg8G7s0haanFiw04jiuaH+KuVGsdGNVRyWOI4jjCqWrfO3lgMFSYXwOhcp18oS+i6Lqcz5kURQSeHZVXkZ5H2GPGCT3NMZz8mhGGs/Jk8q04JQm0c0spcK4cJeKY1w7J7JIrKyw/ZUkdDOzoLPWB4nO1b2k0lm+9p9+jeGBs1ipDJ/6zN/jwF2P8varTzA1ceNpFt4v2Lkb79oVLY1ummjah/+g/nGhqBr1jc3kp2WauvYwPrBUCu+NAzt3CUWzfuK6G1EodBNlgbVdymOlsnOeIVEUIs8j+gaxIGKYaexSrpLBsVQhLaisiRnHAs5WcRzPSkxOKFKprNBvJJ0U8Uyb/1yWlcWx8zQ0d5BKzTAEfuoz/7Dys++7bNtxiEJhmjXrRIr30cPPMD01iqxodHb3cuzY24yMDNLUcQtdHW30bdzF5MSVyjHSmRZee+1JLpx6QWg0em9jY98tWJZVoZ1t2nIbnau3c+bkq0xNDleuZ/Pux7g2fI7XXvpmVfGu6Rk8r0h98wYKExeIljG/khWVH3znvzIydI7Gpg4+/dlfESYBgZ+I8TUxEd5+iDU923j2ya8zdOXMksedjeNv/hXH3/wrNN1i6/7P0bfrEdrW3YaeaV965xUi9HJMDr7L5ZNP887zX1tWKN98aG7p4p77v0xTSxdC8B3jeQ6+b2Mkc5k4ComIGb06wCsv/CXjY4PLOrZpWowPHiYIPDTdZMP6jVy4PEC2bRd7992HIktkso30bNjF6u51yLKEZRoc2H+QOI7xPQcrVcfnvvjPKp+x9o4e9ux7AMPM0NG5nrOn3uKFH/05IDTdPRt2LplsbpppwsCnVMphmumFyY1SQodaiPqy4H4r7BoIO9qad6vQqGrFB6mlqD7R8s9T+5hqoVHNf2wxkRaBeeViYLnajigKhebAzCwYsFeFin7DT0Lw6qq6HXEYzKE3leF7JQLPSfQNCxckcRQQJU5R1xcaIDoU5aKgEtaXFBpxFM6x8XWdPHEUiuLmutcyjkJK+bGkGKgO+fO9UiIyF8VbmKSq+m4RK9OUrIpLuKVpzFQdrp1HUYX7l6JquHZOrHIk9KsPE6s61xGFIeOjg7iOXXGdsksFnvj277Nl5+00NK36iS42bkhxuNmCZVloH2O9xmIQVI0mCjlRcEwMvv1RD+l9gT09iFW/fll5RTcXZr5rFVVDT3IpTKu64AiX0PspioquW0L8vQwb3bITlarqOHaBIPDmye6I55ipSJKMaaaFfsPKJLlg8z8nJUni8qX3OPL2M3Sv2cJthz5DbnqMC2cPY6Xq2Lh5H3Ec07flVmHL65SAmAN3fJarw+fp7N7I5OQkR95+gvzUFdZuPMT27fswrQzHDj8JgGHWMV1wyWRFgnNH9zYOHvwUp04d5+23nqKUFxoJw7C4cPE0l86/JYqmTBvpxvWsXr2OwUvvVmll61p6aWzp4+LJH5AbX35wq2MXKsXD+Nggjl0Unbpkxd7zRaCjoqgYusWDj/wS7x19ibde/37Nroa+Z3P4xT/i8Iuiu97asZEtez9La/c26lp7STesQUs1L+l8WY2Y0M3h5ofJT1xm9Mq7nHjzW1w5/2ZNY7sekiSxY/d97L/t07OMC4Tg2zTThKGB65ZQVQ1VNZieusbbb3x/2YUGwAM/9Yu89OxfMD42yI5d93B5aJCxwTcJvCIDl9eiqCo/+v7v4tiTdG+4g3vveYjjR57n4oVjbNpyK32b9wvhf3EKQ7eQZBnDTLH31oeSsUrUN7Sg6SaWlaGjawNnT73By8//JalUPV/40j9fMKBUUTUsOUMY+NKCn0xZUZMPee3FRq0ZFjM7165D+NAoUXxIBUqtGoxaPlCzji0yAqaRZYVUtoUqfUUULvkaBJ6N6xSQJGl5hQbigxf4bkKbaprjBhWGHpp+vQhPBPXFcYSVaUq6APNnY4AoIGRZWdC1KfQdNCNN4Nl4brHKUSoI3IrLFQgBd5w4Q5XyY5izUsbjxJ6XOJpz/Z5TQDfSmKkZi1rXzhOGPpm6NiRJxnNEboluZirFchSK1aUoCkV8CTGpdOOHTnnZtudObr3zERxbeLB//iv/jCNvPMPFc8fo33mQUjHP0E9ygngcU7oBw/yQ0yiqinYD6DUWQ6ZOfK4aVvUzdXVpB50bAYF9DceuI5Wu3YHnRsR8XXlV08VzySlWJXuXqbqLQdV0gmB5dOooitBUMfEzzLSgR8nKdULzaN7CT1FUAlnG9xzR/VjA+Qpg8PIpJsaHsO08tx36DGdPv1XRWqxbv53Rq5f40ZNfx/c97n/oF1DUdbS2raahaRX19S3kpidpbd+MZlis69mK5zn8+df/Da5bomXVFrZsP0RXxypOHheZC5KiM3xtjKNvf4fAK6HrFhs27mH7rrt54aWnAUjXdXLwni/z7pE3ePXFb1OaFl2S+sZ2evr2c/ydJ7Hzwz+WZb+ialy7donx0SvIisqOXfdgphPGRBQRxRFBELC+dxcdXb0ce/c5zpx8Y8VarNHh04x+599V/Z+qmXT17EYz0sl0dP55ZRyLrJGRy0dEeO77iDXrtrJ9192s6li/4PukHI53beQyr7z4l4wMnZ93u9lI13fhOdP4boGOzg1MTYxUipNMtpG6TCMgEYYhZiqNoWvUNa/FHy6QzaQwrSwXzh1hYnyIs4pK//ZDHD99gqEr51jVtZ6+9b1omk4cQ4xggmTqmvniz/8GIKj+UxNXCcOAQmGCqalr1NWLeZREUgPMooQBqJoxX4J4chNklXAl2oskhXO5q+NzsALq1oqSvT8E1OxjX+N1xHGMJC+TRjWLX1oWgRtmdl46UryAW1MZTkk4iKSyzbjLEEfFUQiSJLoogbdwIRAG6NcF9QnRtolu1osHVBzNKVLK8Nwirp0jU79qwfFHUUAUBkJjcZ3TVuA5FVG8mzhqmemGJGhQqjx84jjGLoyjG2mCJP+icgzfwfdKpOtmElGj0CcMPFHYJK5rvlvCsEQuSHF6lJgYw7Swi1PJ6lxcsc/9sHH62OsYRorOtRtpXbWaZrOTex76ucrvj73zQu3v7ZsIdnG0UhjeSAhuQL3GQsjUNRCFIW5xDLtw43WZrkd+/CxGpuumKTaWmjiGYTAvBUnTTWJXdFPLlriL0ZVmQ5JkgsCrZGksOLZoxgJeCM0z2Hahyt52IcdCEJ2CUklkI5nawl3n7bvvYVXHOuJYIgpDOrv76NmwUxQpqkqplKeYWML6vsfYtUt856/+MwB3feLnWLuun419vThOB729m5mcGMEPxPdOx5rtbOjdzIsvP83IlSPESCiqSdeqVlRFIQAO3vV5Wts38sMnvsX4yPFZ12tSmjpPbuICiqajG2nq6tvw3CK+X91laOncxdT4WQJ3+Y5VYeDzzA//oPLvbLaJ7jWbUVXhcKSoGqqqV9LZD9zxGTZuOcDbr32PocHaqFULIfAdLp1+5X05Vq1Yvbafvbc+SNsq4SPreQ6l4jS6kZo3U6ZUyvPE936vYkG8GKxMC7G+mqgonBDX9Gynp28Xw0PnUBSVzu6NpNL1bNr1GPV1WTZuWAcx3HHnI0zn7mH9up6k23IvV0cusKFvD54fcvzdZ8hNXsbzCmzdvI2JsUGiKKKto6cy5hmZQ8zOvfeTzjZipTJYVpm+KEyU4jgkjuJkvib+VjV94Z6jrGhz3njLhVS2v60h+6KMmAiJFey3gsTzWnMqPnjUfg3LnTiI4k9KJtFRRaMw77YL5KSEoY9n51F1E01PiQfKMs4fJpN73UjP6x4lxicKifL1l89lWNmKXiGKAqR5Co04jhLakYyqmQteVzmsTw49zOvC+uIoFO4jioKdCLTLnQzfLVbsaqMoxCkKrUXg21VdFt8r4dp5VM2qHFskiU9hzdJ0OHYOzUihm1k8p0gUBaSyLYmY3Ug6LGYicv/wMXDxJAMXTwIi96BzdS+da/roWrORrrUb2bb7EK888y1GE9vFnzSUpkc+6iHUDEVLoRsm2sc0X2MlyDY0EkVbce3JFdmmf5wQRyFh4N00VCrPLREvELwHZX3e/O9F3bBwnGJVwbFcWq+VyibCW2nRbsjs735ZVjCNVJVgXORwLPRZEQVKsTC9KPW7oaGNhoY2FFXDsYusau/hkw//r5Xfr167hUc//6sgSbR3rGd6ahTdsJAkGcvKMD46yA8e/x0AJieGOXDwMdb1P0ahOMnWrTs4dvQNTrzzN0gSbNv3OfbtvZ2rQ6fxXPG9HIYBAwNnuXr5DQDWbryLNT1byeenCEMh0F67/hZWdWzhlWd/v2rsG7fcycjQScaGDi98gcuE6xQ5evhZwjBg5+570c0UURgSJ/MdSZJpbu7gEw/+AldHLnDqxGtcvnBMLPLdQOjs3siefQ/Q0rZa6C8dm/IbRJJkHKeAIos0e0mWmRwf5tknv87U1OKLJXWN3eQmRQeqZVU/pmVyZtSjvqGVzu5e/vwP/g2uW+TOe3+GuvoWvvc3v8/46ACdPfvZ3Lse1y0SBQVaGjO4bhFNM9nUf4BN/Qcq59i++5OcPvUq/dvuIAx9vvs3/4XAd9m1935uPfhocg0zuR/pTD0799wHiC6g55aIkRKTi3nnsAt3NsoCqJVAllXiMICV6D2iiBXUGqyocKh1l5o7D7VRr5K3ZQ3bL78LFEUBvlvCTDeiWYvTnqIonBP65TkFfM/GyjTOWN0m1q2LIQxc7MI4Zqp+UfpTHAWULW99t4SXaBtmP3jDwJuz0l/O59D1FIpqiDTu+c+A5wgHqPk0EIEvJvh2cQpVM6uoUUHgkjIzSadlPNGCqCLpO6FK+Z5N4DkoijazbxxjFyeQZLkqhJA4TlLARYBgKttcubayuN1KN9Xe4fsA4Ln2vFkby1mFuVlRuhHF4WYrpmne8BSq2ZAkmWx9E2HHTsau/Hjc6o8DorCE69hYqQ9Xo/VBwDDTFCaCeYP3oCwOX1hgapppHLuA65RqWFCLReFgitC/66lRM9vMPZ6iaoRRiOuUMMzUkkWfJMliYcopkE7Pb0leplnJsoLj5BkfG2D1mn6QJKamphmbHGX92p7KeeobWvnZv/OvIYrRdIPJ8REMM43rFGnvWM/Va2MMnn0K381zsq2Z5uZWmtu3IMka2/p3MXzlJC89941kki6KLdNaJZ4/qkn/9oOcOPY6A2efq9i1iw7UzBzFMNLIioaRylIsTlZdj25kSDdtZHK4Nq3Uay8/zsykW2LX3vuFU5WkEEVRxdVPkmTaOzbQ0dlLsTDJ6ZOvc+bUm8sKBPyooOkmPRt2sqn/AI2N7SAJZ66F3jtRFOK5NpfOH+VHT3x9eSdJ5kWpbBtuoHDl+FMAbNpygFS6HsctQhxTyE8RRRHDV44RBD75KbEo9uxTf8zF80dIpev5uV/4NzhOkcB3q2xst23bxbZtuwCw7XzVLDQ3PcnRY4eRFZW9ew+gX2cwIif5IJ5rY5cKmGZ63nnhwsXGj9FqlxVlRVWpEHvXntGx0knZB93XqL3RUnPQxrI6IZ5TwHMLYsK/DH2FaCHPUIbKNrhC31Ct7VhIIFc+b+A7qLq1pHAvCgNkVcMpTRPH4ZxzgSg29FkFSxQGs4TmBr5nz3ue2WF9C2VV+L5NHIVoRrrqHoWBVwmJKjtVCZcND02zKtv4XgnTEpkalQ5GaYooDLDSDZX75RQnSdW1IkkSTimHYdUhKxp2krHhlqYxrLplJ71/FJiaWDqc6WZFHEfYpRsvXwMpjappN1WxAWKSmKprQ9XTBN77y7n+sGHnr2Gmmm+KYqO8+m/beYJAuY4+Ei846Z8NEcCXX1QXUTliHFdRowwzlVCjslVzGZGdMf/xdN3Etgv4vrtsZ0xdNxd2tEqs6R27wDf++N8CcOvBx+jp28+TT/wJ02NnuLrr0xy8/R5eevYbXB25wNqebfRvP8TU5AiDA6d4+NGv0tK2WgjOB4eQFcGLD8KAxoYWJClFHIf4ns+xd5+jkJ9EkmQeevQfkK5bxYsvPkEcRQS+w8T4NWRZdJXSmQb23PpT5PNFLp57tTLmLbseIJ8vcvSt71b+T1UNNmy9j1Pvfg+vxkKjfCfK8NwSjl2gUJjCNFOkMw3it4n+tKwXzWSb2H/7I+y77dNcOn+EC+ePMDhwCru00GLihwdZVlizrp/eTftY27O96r0dBj6OXURWFHTdrHqvuW6Jd954gqnJEa6OXFzyPJKsUN+8nqnRM8RI9PTdRnvHGp698jKmZbGqowdZkvn0Z38FSZIwrQzFwiQPfuYfcfHyMJ2rOghDHzP5Pmlq7kCSZF554a84c/J1Ort6eeixX57TYbSsLD/98/8S1ylR39DGO4ff5Ojb30KVFOrrG+nfsm3e8eqGRRD4lOw8ppGaY/az6AxQZFgs7gQxH2RZJQhXYH9bdgSqdT+khEZVy07lRPAPtNyofY/3MZdjRgQuo+npGilX4rV3SpOoeqpqkl/ZbiG3siRFHCCVacYuTi5IbSojDH18z0Y30ujm/AVBFM24VZV1J2a6sWLxFwZuhe40+1rswgSqblXcneYONyYKfIxU3Zz9A99B1cwkGbyu8lnw3CKmVVcJJExlmvHcorCwBRGMmPDjFdUQ48iLzA9F0Qh8lyj0MK06UTCZWRw7h6IaGNbNwdu+GeEURm9I22w/vnn0GtfDStfR0LaJsSs3tjtV4OVx3dqfmx9nWFYmCbSb4auHYbgsDQaIYtJz7QrffyHEUYQy67tddDjS2KVClZ3uUh0Lsc/SE9pyMaJpBnYpP7+jVbIYqCgq6Uw9ruuQStcRhCGSFCNJamVcp068WtGa7Nn/KZ558g+5cukE9Q1tfPHnf4Nro4OcP/MOzasPsW1TH00NWY6fOMz48JvIskoud5DN/bcxOHCKltZuWtrW8N3Hv87Y8FEURad17UHW9/QyPSUWijzPoT7byEs/+tPknsiksy0YqSZyuRn6fEvXLQTBNBdPVge5yqpOtExB/mycOfUmZ06JLqRhpPiZr/wrojhKQuBm7mtZeyNJEh1dvXSt3oysKEyMDTJw+QSDA6e4NnLpQ6NaZbJNtHf00NbRQ2dnL1YqKwKswwA/cSWTZNHtslJZUXQ4RVRFEzqkKOI73/ptxkavLH2yBN29dyJLClOjZ2ht38qmTVt5+7XvEIYuqdQqOrs38vorj3Pk7afp7OrjU4/8UpJDFtLftx7DSuP7Hnv3PUT/1oOk0nWUSjlGr14CIAhDSsVphkauMjU5zsZNW6mvq0dCIpWqJ50skq5d28vli3sgCmlra1t0zKqqoShZbLuAliTIV3632I6yoib2t7UVGyL7onbRtiwr+MHywl6qz5cUKTVwXctiltrm9h+sEL3WeyYcPeb/0vbdEr4vJu+qZiaT32XenzjG94qEgY+RaqhM5q9HGAYo17XCw8DDdfJC1J0UKFEcIi+SCl4uNIRgeu4KUTKoZKIkVWxwU5mWqg7A9YWxKJam0E3xsJmvkI2jUHQVzPS85w4DjzBwq8IK4ygSHOvQx3MKpDLNIEmEgYtuZnGdfKWw0XSlQvUCMKwsYeBRKoxhpRtxnQIxccVJxUqcJP4nPp64ES1vZTWFrhuo6s2j17geqbpV4rvwBk4Xj/wCnutVCZhvfEhYqaxwthNCUfHcWMDi/HqEYYBpZSrdg4UKjnCeeYqiqOiGiWMXKhkcURgueu7yCnGpOLXo6xDPsr01kw6OJMlV4xNLmRKabvLFn/9XlbwJ1y3x4MN/m3Pnz7J50xYAHv7MVzl36m029t+KJMnU1TWjKAp19c3Eccwrz3+bkcH3sLJtpPbsYjqfJzc9iZVdRe+mA3R3rePCOVFsj41eITc9XqE7d6zdy1133csrrz7LlfMvJfchQDdMMtlGctNjtHdtZue+x3jp+W9QmLiY3D+d1Wu2cunc67juTAFmphpobO1l+NKPR1103RIXzh1h9dotxDGkM3WEYZgUHonQmLKDlU/sizyIzf23sWXrQXzf5erweUaGzjM1eZXpqWvY9vKF7AtB0w3qG9pobGynvXM9Xas3U9/QWrVNFIVJQeSJ93VFRA0k9PY4ijl3/m2OHn6WYmEKz1tcA22mm3ATZkdj63p27ryD5576HwAYVprW1o45+4xevUQYBowMn0eWFY69+zyvvPCXZLJNPPaFf4yq6aQz9WSyM86YDzz8dxm8cob2zg34Yczht37A9PglJievcc/dD84yd5BAgmzG4uGHfxok8D0Xxy6gajplW9yy7qZcOEuSTCqVxXVsnKAg4gpkefFiQ1E0IbxbhFs5HwQFZ2XFxkoqVVmWa+6IzFjm1iLGW8EksKYCosZOyzw0KkF7mgYkrHTTLKHy8tzB4jgiCgNiVV9y4jv7CxcSrYVXFJqGsq6j7OqxQFUnOhS5xEJ3oUJDPCRUVU9oVsIGt+r3UZC84cuOWzMdB0lWcErTVba25X3swuSC9r1lwWYq21zlgOV7pSQLQ+gtJEnGc4uomoXvlYSLlVVPMT9GKtuCXRhH1S2C2AYk7MI4iqInFrhTgj5l50hlWxZ02vqo0N69np6+nUyMDjE0cJb89PhHPaSPFHZ+9KMeQs3QknwN/SajUM2GmcpipupwijeulkiYVIT4vsgTulkgSfLMhFyWCUN/XtrRfIijEFVVUZQMpVIe00zPW3BEYYimz/1/VdXFMzHRYoRRiCYvPp+J4whF1aqSyeec7zpHK9MU15e6fvvy8xcZP4jQdRVdMykWC5imjppY8La29RCRJl0nTEkO3PEZdt/yyUrmSM/GAwSxQkvrGuqzGZ57+0dcOPks2YbV7N51kDgOuHJZmHoYhkVdXSNd3eu5NvgOdmmaoZFrDF1+E8/N071mMwfu+AwDl96rJHmPj17CcTx8Z4oo8mlp30TDqq0MDp6hmJ8xxOjsvY/Ry69UFRpWdhUSMqX88KL3dT489/QfV37etvMuDt71hcpqeNkmNwoDvGScsixy1eI4RNV01vZsZ23PDhGbEIU4Tonc9Bj53Dj53Die5yThuokYXZYrC81lOp8kycIytr6VpqZ2MtlGJFlJ5pURQeBhl/LohlV578mygq5baJpJ4Lv4gZfkvRhMTV7lWqB9fAAAIABJREFU0oVjDF4+yeCV08u6D+n6Tqz6jTil50CWaeno5+K5ozilCRrbetm77z6mJ6+xoW8PW3fcSXNrF6VSjrvv/zLXRi6SyYhiwk1MWzzPJp2u5823X2Pw8nFa2vu47dZDyLJEQ1MHDU2icHFdl4amtYBCW1s7ExOTvHP4RQwzy6FDn0TX1KTwi4SrlKIRxZFYPJBAVYRddVxRHEtJjSIluu+YUnEay8osPrORFRV/RWngK1uZlWRlRTa2kqQQ1biitdI8kJW5Xi0fP06npTzB1o1Mhc5T2TJeerWsvL8kKxUL2MVPP9NZce2cmJhflyIehcGCbeuypsNMN+DZi7euw8DDc0toempe3UXouyjJl1TgO7h2vhLWJ8bhocy6JqH3EMF/TmlqziQ/SjoehlV33e9ifLdETEy6rrWquFFUncCzsTLN+L6Nqpl4Th5Vt4TexMwmlDIZ3cxgFydRNAPPLaCo+rLzSj4sWKkMf/ur/7aKM52fnmBo4Aw/+Kvfo5i/cSd2K4GwPL7x9Bqxkug1jJu32JAkGTPVdEMXGwBS7BEGIdxkL5WwXM1il3LL0mvAbPtZqbK/4xSwrPlTxhdaTNM0Ayco4Hl2xZVxqfMqioakSpXzXY/rF9pkWZ7jaDX78RyGES+/8G16ejaytmcbTz/1LSZHz3Dp0t3cd88DvPDSU5w6/B061u7jk5/6IhcvX+L0ibfQNIm77/kMO7bvYX1PL8SBmDA2ttPQ1kdT8zog4Nmn/pRLF4SJx2e/+E/RdIuJSbEw5JYm0HWV1o7NDJx9kbq6Fjy3xGsvfRuAVLqBrTvvRzc0VD0NjBIEAbqqM3r5VWIiVC1FfWsfiqJXAmoBGto2k5s4h/Q+kD6OvfsciqLS3NKNrCisW78dRdFQFFVQkeJYBAmHPmEQEIZB0i0QVDVZUclkG8lkGwmCdaJDQlyhOMVRJLpqyfFUVavMTaIwxA9cAt8jjEJUSSYMgyQDSyKKQkrFXJUWo7yir+kmYSQxOnaVo+88zZWL79QUNK1bdeiZdUwOvQJxTNfaW+jftJUnf/h14YRpNNLU0MDj3/ptxseuUFffIqh1Y2NcOH+Kzq41wgEL2LP/Adb37kQ3LWzH5fKlY4xeOUxuYpDNG7fQ1NRc9TkxDIN77n0ESQJN1XjpxScZOCsoc6vaV7Otf3tynTNzAAVRxLtOCUmWMPRM8pmKk8Jk5o8iC6vjKI4WDvUDMYlfadAKLH81fe5+NQb7yXLN/EFBq6nx2mrVeSSZI8uFqLZXVsiUJ+5lAfM8B19U3+F7JeFWlaqvWOctMdjK36XiBIqiYc0KvatsFoVzdB1lwbYkSViZZsLAXZSqF8cRnlvEsOoWnJAHgYdhZgV9zCtVOg6QhOXNavNFkdCiWOkmIJ5jpys6HhNJ2/96mphPFIdVhUYUBoSBRxyFlewOP+l0hIGPoacIfCcRy5sVQbk4nmjDznfvPmo0t3UjyzLf++Z/wbDSdCX2t5u23crzP/yzn7hiwy2OVZxTbiT4oXrT6jVmw0o3MzW6dCjWxxlx6BCGN5bl53IhhNtpSsUcYRguqsGARF+hzNZhyBi6JToOVQVHvGQRYVpCv7Gcxcw4EhboqqoThWGVBe/M2KI541dUDd938cuWv9LMwqtp6HSv287VkbOs6dlGEDr4QQnHzhMEIVMT14jjiPz0CI7jcvHcUYYuvIRqpBgc2k/sT/L0D74GksTDj/0DtvXvoiGbBoTzVCrTgJVuJVPXQibbyHPP/5DB869iZZpZt/EgzU1N+Elo3XvHXmTjlv1kso0U8pNs2nY3ja29vPT0/6CQG0aWVeob19C/uZ/LZzsoTA/S0NZPa2c/J974w8r1qqpFS9smpq6dXPKeLhfvvv105efmli4e/fyvIikasiQjy6KoUBQV9ISFkRQQYeATBj5B0gEp03rKel6S10vXTREqmLxOkiyLCXGSKK9phjhO6CNLM4XF7NX9MPBw3RJRFJKbynH23HuMDJ/DKY3hliYXurQKNCNNpmEDk1ePIMsqm7bdTybTyCuDL6MbWfo276WtvYtV3TuZnmpj86bdyIpCXV0T42NXMC2hiXjlhe9x9cqbXGhYw/0PfYW6unpkWaGhaVXl+rduu50Tkkpndx/pdIq//sZvUirmuO3QZ1nfK9ynZrtLrd+wjYHLR9G0FC2tqxa6hIRumMZ1bexSHtNKzyrA5t1lYevb8gFXzoEVk3mp1qyN8jkX4fjP3WUFKeJS7bqSFQnRP1CdhwhPdIpTyIpS0Q4sOIZ5EzRjwRNEZG+Eob+sSUmZ7maXJiu6kPkQhn7V78rjVTSjoukIA29BXUgUhdiFCeI4XHTlP45CgsAl9N05YX1h4KKWszpCH7s4iVm2r7VzVcctC8o1I00U+FXHieOIUmGcVGYurQpIwgpFSnocxZXgQLc0nXTShBCdyhdXRBxFH1l431K4NnSRYnGasyffppCb+RLN1DXh2je2889KUMrdeC5csmqhGTe3XqMMM9O69EYfd8QRwU1abECSX6EblZTwxcTa5VXo2VBUDS2OEh1GBrHqvByNi3CoKhWnk3TwhbcX1u/i+9gwU/MKwOMoRNbmfmcbZhq7lJt38ayvdxNOdw+6pnHvJ77IxUvn2dCzHl3XOHT3I1w630t7xxrq6zJs2XoLYRjS3NpNx6pWro0URLCsJGOaGXJT13jmhyIb46FHv0r/9rsZmVSIpJBisUh+6ip+4NLZfgu37D3Ac88/ydiIKAq27riTVR3rKzqDo+98n089sqWSq9a94SCr123ihz/4GqX8MJKsIEkqlmkgySpxFFDXuJa6lg2ce+/xyvWpqklDxx7GBl5e4rVYHsbHBvn6f/91dKsB06yjtb2PTZv3saqtudJVUJREJ1PufIQBQegThUJTMXuOF8fxLLqTVSlkfd/FcYoVp7LypDkMAzzfQZFVNN1AUTSmc1NcuHiWkZFL5KdGKOUG8JdYnFV1k8ATDKFUtpV1Gw8xcO51AFo7trF9606+/70/ByDbvJ5NG7fx0ktPMzp4jGxjN+t6NuB7Dnfe/yXuin8W3UgJ6lfDKqYnmmhq7aG+voGXn/sGExMjrO/dzcYtt0Ics6Z7NWtWrxauaKU8Y9cGiKKQ4StnWLd+x5zPQUdHB4997peRJYk48imVcphmesHPqWFYhKqKbRfQdXPRMM3Fn0BJ+2Ql1CHBiwuXPMXc/UQRUJOxlKzU3KWQE5u1Gge3IprX8lFbenoY+diF8UVF3LDwkMu0KTPVUJnsRtHCtKfZqEywUw2LCs+FwYCSnG+ugxSIguR62hfMokOlGyruVvNeR+gTBC6Kqs/RcgD4voOZqifwbDy3mNjqzqSp62ZZPCioValMSyIsn7GgFEXPuGjrznroRGFA4DmkZx3TcwtIsujaQIzniVBA3cxQyF1F01OEXiIs003M5VDWPgKoms7k2Ag//Xf+d77/rf/K0JVzws87d+NRid4PlG5AvYZqtpCyLHT941fMvt/QLeEWdyOmu5cRxfFN29kA0RnWdBPDSGHb+UUnMgtlcWiagSRJlEpCI7HcIEQR1GdWOiMLFRxRXF2MWKkMdqk6t6PM9b8ekiRhpYTrz/WFkqooZNJiYauxoYFMeiuKrOC6JdIpi927Z0LW2lvb6PzkY0mBE9PStoav/L1/j6ZqxHFEIT9J5+qN2MU82Wwjw8NnmRh8DimOOXy4le2772VsMk8Yq9iOz+jQCQLfpqFxFXfc/bc4fuR5con+rrV1NZ0dnTS19TF86Q2mJgfRzBbs6WGiKKKr9y7a2jdx+sj3IZln6WYG3WyqzLtkVaeueV1VoSHJCo3tO5gYemfJ12Yh+J6D741QnB5h/Opprlw8TEtHP5lsPZlUlsamNlpaW0mZpnD+UrWKAUC5GyFChV2h9Yhi4ijC8xwkKdHeSDKqplfmhGXr/yCMGB6dJDc1yfjoILnpYezCME5x+brF5vY+JElhbFgUeh3dW/CcPMXCVTQjTXt3L5Ks4Mc6mYa1bNjQTxzHFHJjFKYHMKwsppnivSMvcPK9V2hbtZZb73gMTTP4/9l7zyi5zvPO83fzvRU6R6C7kTNAAAQIkITATJGiqGxbsi3LsmyNvfaOj9eza3t3xnt2z+wej/fM7niOdzUznt0Z5yB7NFbOFEVSJCVSpJhABCIDjUbnrnBz2A/vrdtV3dWhYFFkQ/5/AE5XuKlu1fs+7/MPdx9/EO/IXZimgazInHr9e4IF4rvs2HUUPcvRSEgSYdP84Lt/Cbsyx/qRHbz20rf5/nNfoad3iPse+nkkSU47SOn/moEmGXiunZotNF/sVRSNfL4dz7OzLkez78aKlYCsiEpWajWgL7UFq6U/rxaiZdVakSLfcGejtdRZCamlkL6WCVGrLGRqInAJadEq/hLvWFTE1GhX9RNvSFdslpPyJAlOdYYo8jGs9hUdrmqrBYFXJfCdRQ5S869p3Gfg2dnxRaG3dDGVJPhOGdNqbxrWl8SR6ChEEb5vN1yvKAqQZDVdxQhwqym1SqqJBPVsG05lClWzGga1JI6wy5PoVrFOGxKSxPM5IZ5TQlF0zFwHTnU667AAIElYuc63RXhfMxhmjqGNOwH4+D/9V1TLs1y+cJLRS2d48btfSxNSf0yQJDgtDDJvGygFVPXmy9dYCoJbvHaLjUQkwd60EF0FJRVV53GcyhIdjuWzOOqF35IkZVlIy+47ErQsU9Obi7mpd4Ssf7xZbsfSH1Lt3Hyv+e/j3Ow458++TP/gRvoHN/OdJ7/GtcsnGNl0kGN33svrrz7N9575PF1d/Tz6wV/n2uhZnnjsbzHzPRy75ydoy+lcOPcymzcfYOfeOwUFSNNRJJl8xwiD6zbgByGSN8rVs6c40zfArlvu48Vn/xZV04njiOe/+yXiOKKza4AH3/UJnnjqm0xcew0AWdK59eAByjNnGb/yA0rTF9GtfpzKGAkx7V1DbNp+jFef/0x2TvniOnoG9zB9XUyqZVmle3AfE1fnC40Eib7BnUxce33Fz2opVOauUpm7mv1tmG3kO4fJ5Tsp5jvI5dow80WsXBuFQhFd09BUFUnSSKSYmIgwiAgCWwidXY8w8inPzWLbFRyngm1X8dwyvjuH58yIxcMb+FJ29e+m2DnChde/AsDufccZHLmFpx77c+IwYOuuB9h/yxG+8tVP45XeYNvue9ixfS92dY5de4/Q3buOru5BwtDn8qUTTE5cplKZ4cix9zJ2fZQollk30J99R+576GPMzoyzbmgbjl3ms3/3b9B0k4ff88vkcmJBc+Omfdnxzc5ex3OrXLtyBk3TRRh3yraIojDrDNUKmDAMUBRFULRSWq4sy6koXMIwcoShj22XMYzcgmydVRYbcRy34ior3icrDUKi1UJKHala2l0dd3O1U3xhz3sDmo03sbNRs8pbDqIbMYdu5G+o41SzYZVltSntKo6jRXa22XvjCKc6jW4UkMLF6awLURPt+W6FKAqbFkZJkiyyxfWcEnEUYuY7M1pSM5pWkiS41RnC0MNYIqwvigKxkuGWM5pTDaHvoOmWcLFICw1ZUYXbVOaIEWFXpjFzHfhuZb6gSRLsyhQJSUbDEtd2WhRhaQHsezaFtj7iKEgpXl2ZyNgwiy3bSv8oMTszzp9+6l+wfmQ76zcIvcbOfbezc9/tnD35AhPu5bf6EH9kcKtTa3LFPIgUEQTW6g/4P+ItQRwnN7HzdeoIlP4GZ1kYToWcVWxYhIqiaEVqlKYZeFEV3/fI5VfuDsdxhKYKwXGts9JMbN7s8suykr5HCMYTVjbCieKwqd4jl2/ntZefoFKepKd3IxPXzlKaOsdVCeI77ub62Dlcp8z16x6+53Dh/CnmZkYpl6eYnZ5hYnQsE3e3dfTQ2TPCl774Z0iKxsDwPrZs3syZcxcI44CO3h30Dwxj2y6yrDI5fplnnvwMh48+wlOPf1pYzcZw7dIrhL5NZ89Wjt39Xk68/hozE2cAQY86sG8v1emTjF99mfLcGH71Ep4jqLVtnRvJ9+xn9OJz2TkWOjegWz0N5z248Q7GLvxwKFY1eG4J79prNOu1q6qJbhZR9YIoEKVELDzGCZIUE8UhcegTeGLhdSms5uvY1rUJs7CO8UvCWrhv3V627DrOS8/9vfi7fyOHb383r772MkkcMji8n21bdyNJEtXZS4R+FSXN6Pj6l/8TrlNmzy13s25wkCSJ2XfgXtYN7aCza4DrE1N8++v/Gbsywb7bPsTtR44jywpbtx/OjueN0y8wOyNov5cunGDbjsOLOm0HD7+Tto4+ioVOwiBAURI03URSF56x6IzEcYTrVJAVFUUSNMckidO6O529prkyjl3CSJ3jpFRvs4piQ0uLhtZWxmpFQ6uQJZnoBkWYSQsspHn7s9VDbPtNXHZKEpCXEXGn4merIKxlw1VmkiRxfUifoActpbFI4rhpKrigNJUyylXgOysOBkkcZnoMkaLdTDMSN0y4RSGkNNCh4ihAWeAIksRCP6GbwglhqRWwMBWBNSt0otBH03MiGbzQlXVXAt/BtNqE+5A9i5lrSztu8yJEpzqDqhnpPSdWutzqrLCH0+YTxM00DdyrTmPmO/HdMoqqE0cBuvH2TArevf8YxfYunv/Olxm/dpErF+YFgIW2LtaPbKPyYyYOt8trVa9h/ljoNW4WrGYSu1YRp8LreiiKimnmcVMXp/rwPWUVyeGGmSMIfKIwQNZXWPyqSw9XVY0kjvA9G8OcD6xdztRGVTXiWAjGV1oUTJIYXTOzFeJ6vYemGTz4yCfwXBtNU7n3gZ/m9RPfp39wBFmSecc9H6a7Z4jBoa0YZp4Dt96PrBUxzDb6+zrxXI2u7nUoqvh/emaG8vRFMZ4pEtcnJvjeU39DFHqsH9nDyPAGnnrmGcLARtV0+gY20dEpwtlKcxO89sqTbNx2mFdmLxGFHhPTs1y7+AKBV8UqDnD87g9w4tXvZR0JTTPYtfcdjE/Oce3CM1TmrqC37yFwK+l1MlGtEWYnXs3Oua1rY6ZbqKF76AhTV743/1labXjL0KVbRRi6hBUX+OHSX9u7N+FUJvA9cb5t3ZsxilsoTYgujml1cvDIu6lUKtglYQc8uH4Ljl3l9Ze+iu9VyLX109c3QBj6PPzuX2JsfJxtW3YyM3WN82/8AIC+gU2sH96BXbXp6hlm/fB2kiTh+sQ0sqRCkgjqklNJWURCSC9JMutHdnDw0IMoqs7W7bfyg+e/Trk0ydYdtzE0ItgKhWIX+w/el55Vkoq9SxhmbgGTRIi+FUUll9KloijCSPMz5m2EEcVcIswfokgU27Iso2nGysuqsqQQhEHLVnyyrN5YGriiktyA3W6rTlE3JCrnxsIKW0GzH7E4CnDsWTTNIlesrRYs7y5VjySJReWeJOnq/tJFQpLECyq2BM8pkyQx+WLvvG/4Ck5jcRRil6cwc+1oTdLHa6hZxs53ENobNBG1612/r8y2ttANqTtEs8/ddysEgUOxY2DR87WOh9BozFvk1u4JSVawy5OYuTYU1cBz5tDNgihAqtPoek6kiKcuUm51jijyMXOiqHLtWcE5zosMjRqdUJKUefra2zS4a3B4C7e9492cfu05fuW3/pCJ65e5evEUVy+e5urFU5x67Xtvsnbp7Ye1GOZX02toWmsU2DWLJCGOWu+mv91wsxYbURQuTtmGjA/u2KU07VvYjmpNBNgLEccJSsq+qCVwN8P8ODJ/bTXdxPecLDAQ5qlWS0HXTTzPXnFVs8Y6sHIF7OriwL+OzoHsWHq6uzh+/EE8z8b3XXTdZOPmAzh+hBcE5HIWtx+9Oz3fGEmCRz/0G0zPVnADGFo3xO33fByJiHXrRpiZnUFCxsp1Y5gmUzOznD/5TeI4ZPO2wwxv2MW5My+k10OmvaOPts4RTr5UoDR7mSuXTrLrlnt57slRAmeWU2dOMj11jSQOAImHHv0nPP2dx7h24RkAugf2sHnzJk6UXsdzpokiH8tUid35cb/Ys4fK9KnsbyvfzezYSw3XzLI6fqjFxg8bkiTRN3w7hbZeLpz8KgDtneu4/50f4fnnn2CiOolutnPg6AeolGd59ok/AeDgbe/k8NFHmZ2bIt8+gqJZDA4O4bk2/+Wvf58wDLj3wZ8jDF3yhQ6OHnsfTrXE9p1HGJ8Y58lvfRrD7OLOdzxCX18vA309HLv/53HtWTaMbOGlF77Cqz94nI7Ofh79wD9F1QTF8MBtDxHHEdXKHM9/94sAuG6V3v4NKEpNCD+fFWMYORI9Se9DD9PMLZrj1SiCcRzhuhU0VRfOa8y7UMkpL0nTDGLdxHWrIK2isyFJ0g3ZPc6HybVG9ZFvIDMD0kl60koLunVKlNQyjarVQWNxayb0HTyvgpXrbOgAJKs81ySJ8d0Kmm6lE+HVYL6gcKozKKqOaS1+71LFRug7eG4FVTMX2d4uRJSu+tiVqQaheg1xFDRsIwvrS7UmgW83pXPVqFiaZtHsQoWBCxINhUZt+5pm4VSmMaxiWiQkhIGPbrbh2jOomomiGki+gywr+G4ZJFFgq6qB71VFsnixV6SMe1XyxR7slD6lGfm3pftUDc986++5cuEUvudy5eIpBtdvpm9ghINHHwTAsSv88R/+DjNTYyts6WZBglNZq3oNFc1oLZR1rSLwq2/6YtCbDUWWb1oWVRQGqGbz8SCjNtkiSG+1ou8kEXQrw8xh2yUh9m2SEL6UNa5uWLhOJbOrXc1+FUXD98tEYbBkGnkS17ooUhZomM+3kY1FdQLzJEl4/NtfplyaYeu2/WzatJVvfevzTI2doH/kNh551wf58uf+Hdevnce0CnzwI7/F91/8Hide+AK5Yi/H7/so6wf6eOLxv+GNEzFH3/EBHnj45xi9dgVN9lBkKLQPksQR7d1bsStzPPmtTwMwsH4bGzbt59lnv4nvzqGb7WzYsIP+vsE00M5leuIiBw/fz1PlUezSNZ564gvk2oezxTIz38v46GnK08J2ev3mO9B0kylb/GaauU4UWQjda8h1bMbwy8xOiK55oWM9kjpfnFj5LvIdQ0xefXnZz+JHBVW12LznnfR0d/Py979EFHqY+R6OvOODjI5e4eqF7wOwfe/D7NixmzOnXycOPUCip2eYq5df58qlkwytH2D37g+gahpzs9dF4QqEUYCVK+L7Llu23QoI57VTZ05Rmb2Mo44zV34HHe0FfM9leLAPRV0PQGVuiigKcZyKCBt2q2iakYa4iuLgtjvew/TUVbZuvw1ZknCcSioGV0gyeqP4W60t/lZL6IbVtICXZYVcrojr2oR2GcPMNf3eyLKCZRWJ4yhZub8upaLoVjhK2Vtl8WOwfJxH43tuREtBjRYVI7Wm9mh1Jy0JxFsdNeq3XG9Jmy/0LL72q8jkqOk7RDDO6ie3kiRlk3rDam+SvL10gJLnlolCn1yxOwuwWw5x5OOFPlahu+nNGqUuUyDoTb5XEQVCzU0q8BY4WSW4qdWspltNP604DrPwvYVc9sCzieMQwyxmVDOhGdEJvCqyoqEbeTy3jG7mCXw7HXR0FEUnjsM0Y8NEUTWqpXEMs5gek6DuGU1Cot5OsKslTr36XQD+7FP/AllW6Fu3QWg3RraxbmQ7yo8RNWdt6zVW1lbdLAhSWsNahqSYb1vDiH8olhs3QEyudCwcu5xmVKzCgj2KUNL7uxYaKEmLU8YFPbj590BkcJSRZbHQqcrLj5VJEmPoFp5nY8rNXa2SuvlSLfDPdW3MlLJV//zU9CxnX/sGUeSj6zr9/f1Uy1P4fkUEyCYJmqrjecIVSJZlPKdKGLoEvkOSSJTLM1y7IjQWU5NXMfO9vPD0pwkCh0NH3sU77novjz3xOFeuXKCru5+hkR1cuXSSYls3cRwzPnqaJInJtQ0ytG4dzzzzOEFgY5ht7Nl/F45dTifPYOgSRw7fybfmRpkZP8no+afYc/jDtHUMU5q9zMzkOeRclGl2dbONKPEpTZ/Prk+hfT1XTn85+9vI9ROF84J602pvmBBJqZmKXb1xJ0RVMym09zM7ebHh8XqWi8j+6gVkfLdEGIhiYOOOu7j37gf57N//MZW5MaFjOfJ+err6uHxlnCSJUPUcvb19zM1cIw6mOXz7o6wf2k5n1wBPPPaXnD0jaFbDw1vp6BwgX+jigUd+EQkYHtnNd7/zWV5+8TEG12/l4Ud/mSD02bfvMJpmoMo6IyNDPPPUVyiVK+y75ShD60dQVI077voQ23Ydpa29m2pllmee/AyaZnD7Oz6AaeVRVZ1bb3towbXQs7TxrKsXCzv+KAyohUC7TpXA91BUVbixpQUJqfbKNPNEYYDrVNCWsL5NdRzxqmYMotsQCZ5YC5AkkdpIq1EbaX5EKyFUQiOyeiF7XXoCq60KhGSj1ZWzFl6fFhA1ZyTdLKDpiy1hxUuX7xh5bpko8MgVuggCd1XdpSQWFKowcMXKfJPJuHhd2OTx+Ul+rtCdHuPSP/AgiockTsi19Sz5WUdhgJkToXiBby9OKI9D5LpCyrVLIgE9Tes2rUbheBwLepeiaIsmYUkSE4YeZq4DtS57I/BsZEUlCn2sQhdJkhD6LqpqCF5roRvXnsv2KSsqmp7Hqc6QxLFIPU1/eOvDBtcKOrv76ejsZ/TyG7zwzFfX/Opxq3DWYr6GYqDpPx75GjV4a9EtbCEkbVXp2msNNYvRlVCjWfne6qjUURxlE5xayrjtlBc5XEXxcvQoCdMq4joVMe8wVtIixpkDlOuUyeUXm5PUVotryAL/UqpX/fMd7W1s3vMwM5PnGdl0C8VCkTuOPcT0nMPGDVuQJIn7Hv44e8bupqtrkCRJOHLkOD29A3R0DjC0boAw6ubh9/wK1coMW7YepFSpUOjaRBJ7tHUOkADe3Elmy9c5pSs88K5P8Pef/j85feIZcrk29h64l+efmSH0ypw3nhnoAAAgAElEQVS9cD5bcZck2LJpI1/6wl/i2mKif9e9H+bU6VPMTb4BQP/wAdYN9HL5DTW9PhF7du3l0gWF0XPfoTR9ic6+fazfdCdXzj4FQODN0dY1zMz4G+kFCxsWRBXNQtHqNY3SojlHV//OzP1qNYjDIO2wzCNfHCDXsYWJy0LYvW7jHRy94yEmpiZ57eUnmLn+Kl39u7n10HEmJidJ0LDy3WzdeYxdO/fw+ONfYuLaSYa3PcDmjZtZN9DHi89/jROvPIksK2zYtJcg8Ni24zYqlTkKhQ46Oge5eP4VfN9hy7ZbUVUdP3Az97KJ8UsiN01vIwg8du/ci6ppjF6f4eK57xN4Fa72DLBx4zaC1CWqp3cIWVZ49aVvc+mCcBXbuecOupUhwiBAN8yG74MkyZhWgTDwcZ0KqqrPGxksaNZFYYDrVtOiQSOO3YxZUytANN0k8D0RYpxZ7jZiVSORsLFdwRK1CYSTVYvOUiA6CC2G50mZZe5q35D+30pod8s6D6nl2mQ+IK75Sn8NyRIHHschnlNGUTRyxe70GOJVWRfHqaA7TAXaSw0OcRQ2ULriKMRzSqi6mRVHmQ/5UkGCTiktFNSlB6Ga7VrabcgVuhrOOY4CJEnJOgaePYus6plTVxI3OppEoS9C/IzFXMRaJ0nTcw0hf3EciuRvycz0GWHgZoGAVr6LKPCQJBnXmcOwigS+Qxi4JHGEohn4bgUk0DSrZSvotxp33vtB7nn4p7PPcfTSGf7rX/xfzM2svcyJG8WazNewerFyuR8fvQZQXYNFYSMkEmS0m6BA9L0q1IXy1ectrYRa+rHjVDCXmLjUsJD2JMkyllXAc4Xwu1a4xXVFSfN9SqlupLwiiyNJEiRZrPDqRk6I281GXWLSpLgyzLxw86lliaX7UFWF++55Z8NjfX3rWD80v1I8M3UNCQnNsIgCn9Mnn6VamaWjaAGDnHztaSrlGbo6B9F1k6o9hmHkWT+0h+07DjEzO02+bQgr38u+/XdhGFZq4JMwNzvG0Tsf5ezp73Lt0kuceuWbHL/v53gh8bh+5Qd88XN/QlfvJuamL2GXx3jp+99AMgezRaf29n5OnXqFmUnRudi4eT9xGHLtvNB09I8cYmTjNk784OvZtRgY2MiZqXkNRy6Xw/fnowgkSUVRG8OAqwt+h6Og0VpYUTQ6encyNfbK/HYUBSkRUoA4iZgaP1O3D5li715KqZC9d3A/99z3Pqamp3nuiT/HdWYY3nYfx449SJIkfO2Lf0RlbpQN2+7mzmPv5Nr1ScYuvYBTnaKjc4jt23YSxxHdPesY3rCbXL4NTTe4fPEEmmZw/0M/L9ynKjM88dhfAeC5NoeOPoIhKxw6+ggjm/ZiGBajV85w8rWnsawCR+54D2EY0FHQ2brnIcqzV9i58zCzcyUmJiYYHh6ilp29dcdhoihAVlS6utal+qcAxxaUP1XRGmxrVU3PCmHHKaOpRmZwk11XVSOXbyfwXaI4QjeshlT1OI5EVIAirHNrRXuNYigLvdLqqgdRzYS0qhKXZYXoBugHIm05hhbKlNZD+lJdAi3UGpJEEr85ORtxFBD4DrqRb5oXsQhNOKhCK1FerH1YIoCoYf9x6lRl5DFWCJkTCaviXpgP3luoKWlenNbsahXNyIThy+0nDFwU1cBKJ/oN5xv6KJpBfep3rVCI0y9cDVEUiOKg0IVbnV1EZXKrM6mYfLDh8cCzUTWzLg8jwXcrJElEvtiHJMtiYJUkdCNPFPpZQZokCUkYICwflRY0M28P5Isd3PXQh7ly6TTnT7/Etl2HWTeyjQ/87G/yJ//P//Rj0uFYu3oN7cdIr5Ekwp1uLUMx2qgFjK11aLpFxa1iGDkUVcuopqtBFAXo6WR4KXvaDMliQf28TW05y8VYjRZDlhUkWRb7bJLBke2yjnWhqpoYW+pE5uKwFjMPJCnVb9il7O+FzwNMTs3w7NNfQVEV7jj2EEQOf/fXvw9JwtFj72PHrqN89ylhqVouTdI/uInnnv4Cvu/Q0zvE1p23cerVZxi79BzXL3+fPXsOc/rUq0yN/oBcmxizqpW5bG525/EPAqAoYkzv6t1KV3uOru4Brl+BSnmcA4fuJYhCzrz0OU6eeIbb7/0k2/Y9zOmXv8jJlz7H8LYH6R26lYkrL/D6y9+kY/Aw3YO7mRx9lalrr3Ii1pEUoSGAhPMnH0OW5hduRy++QL59XRYvMDf5BsUena7ezUxPCC2ImC8kxLEoSuamG+lQURTi2pMYZhueK65xe+cW2vt2cDFNOu/s38P2nQcJPJdLV6+xYcMmzvkzJHHA8OZ9FPJ5pmfmsNrWkRAzuG4T7W1FbMfFKvbjuSW6egZJ4oS+3i72H3k/01Nj7N51K9NTo5w5+Rwjm/awe99xAE6feJZvf/MvAXjXe36Fzu5BdMOib2AjYeDT2z+C59okJKiqxtDITmRZ4dknP8P5s0JAv//Qg1i5IoqscOjAQeAg5arD17/8Z5SmL7FrzzHuuv+nidMw0P23PoBuWFmhX18UeJ4jqIeKmlEVZVlGkVUU3SLwRfdtoQajVoyLYqIqdFKGhSyriymLSYLvO0RRiK6L98RJsrrOhqwoBH7rAV6SohLfgLOU3CIlCtLuyw3kerQG6Yb0JCsh8J1UD6Bm+Q4rIVmw+lITRC8M6ROvjZfVTtRsbRXVWFXuQxyFSHpOWPEGTlNqUK3VvPAxpzqFZhTQdAvXnlvagjftfhhW25Iahyjw0M0CTnVG+GnXXbvAd7Jt1/QnNTvdJIkaROeeM4ckK2ia1XAeURRkzlG1ax2FAVHokW/rRZJlotATOR9mEUXVce1Z5JSiFdSlsZu5jret+9RS6OlbjywrfObP/jWV0gxPfv3THD72CO983yfo7lvP5PUrb/UhvunwqtNEUWvhn28HhJHakHh8s8MpX78h98O3EyS1DUVRbopiQ5JkrFxRJArLBbEiuspMIeFEZWbjh+famNZiR8PlQv9kRcGsE5yLY1rZrlaRlYweVXvfSqgVNg1uWE2KoNoxmGaBanWWhcuRo9fGkGSZsbFLXD0vaD29/RvYsXUbhpETNN5cG4qqM7JpLzOT19i+83Z83+XIne9henKUvsGNAGzefoAgDOho7xS0Z0DRTNraerGsHKNXTlOtCPvyOI45f/ECY1fECn9P7yCe7zI1KQxAuvt309fby6nTgrKUaxuks70D36+k1w26ujrJrR9m4sqLJElMsVhg/757eOxr01RLo6i43HP/B/naV2xmxl9ndvoyP/Fz/5LHvvwfmJq4RBQG7DnwMGdef5bJ0R/g+zYbNu5k7NJ8KGBX72aiMGB64mzd9ZTRNAPfd4AE35ljePuDnH3tc0gkFDoGOXzwNmavv8bc1DkUWeLA/tsZHRvjzMmneem7r7FhxwPce9+HaCvm+OY3Po3rSWzdeQcD/esoFvJ8/Rufg8Rn/8EH6en+KfI5i28/8QUmx6+ye++d3HvPuwD47N/9G8ZGzzI2epb3/eRvApBv60KWZFTdwMq3YZg5wiDggYd/gTgWWR+f+8wfIMsKtxy4j6ENO0mShOENu3A9O3NkExN3E8PMC+e1KEFWLBRVJ0riTHNU++3wPGGco+tm6jqlZOLvIPCEIUI630vS44iDKL0fIuzqHJpuoqoiWb02d6l9r4PAw7HL6E3C+2rOVmHo43k2um6iqtrqNBuSrN5YZoas3Jj9rayQtNhJuREr26yDsoyuoPH1NXvdVrD065MkxrNLJMTkCt24ztzqt5rEQtsSxzi2cIyqz6ZofO3S+g7PKRFFAbliD75bWZ0DCAmeWwYSrHxX021HUdBQbMRRIDQUdV2XOA6bunnUXLDiKFxGTJ2klLESupFfLGKPAhSrra7QELS0wHcaqEyeU0qvj4Kizx9LHIc45SlU3WwoQER3pDvbhueUUVUD3Sziu2XiKMLMdWJXJlFVgzDwFlGz1grsilgd6hvYQKUkApzOnHied77vExTbun8sio21aHkrKQaqZqBqa5+Os1qUJi+81YfwD0aCgWboLbk3vp0hJiZtqUuUtKrzEvTX+fFK0wySOE5pUbkFr42XHa8UVUNPLBynvGrNoiTLqKpOHMdNA/nmz61xe6YpOhaKoq24LzlNYQ4CF71uXOjv78PzPNoKu5mZfhRVidm8cQuGafHRT/xv2aQu8F0eePgXssImikK2bD/E7n3HGb1ymkp5im1b97Bty27On3uZ0StvsG3bdjZs2o6Mz+S1U6wf3sYtB+9DNyzGrp0j37aOfPsAcRQRhApRlFApXwcET79adZlO9RXF9kEG+vt4/rmvAWDle4QF68vPAQmKZtLfv4Gz589iVwS1cePmvYxPTVKZEd2I4Q37qFZmmJq4BAiHxomx81RL8+ngZ09+G8+ZRVFE92jimih2evq3M3n9NAAjG3ezc88xvvqF/yCuTWAThzYbd9zN2MUX8d0KU1NjHLvnI1w4f4ING7aIz0BS0YwCURCSM3U6O8R9+saJJwBYP9DOuoEDXLpymXMnxHnm8h1s2fQAUzOzXL7wMnbpGucLXezefQsAQyM7KZem6BvYkJ3D+qHtfOyTv4cky1QqJZ5/5ovkCx3sPXA3cRwzNzPO3OwEJAnj1y8wsnE3SBLdvcN09w6jKConXv0OL7/wDQyzwPt/6jfRdYv2tg7e/d5PYNs2lqmJTposE0cRURwiIREGPr7nYJpiflQrzDXNEDoR3yFwbXTDyrpy812QOKVflcX1khUkWUKWFBRFdDOUlK4YhT66kVt036uqjqKoonMTx6ryu7/9a//Lst8MxI+G71XRjRytkIMkScL3q2j64gNZDkkSE0fhognk8jsTq9lLCaqbIQo98eOwytU/odT3l1yNb/KGJV8fBl6qc7AEbUmSUtGxvqrjiUJfpF8GDrpRSD+bJV4buA2CZxAiLteeQ5ZVzFx7aiNbRdUbV/cXn1KM75TRjBym1b7k5yo6CwaSJBP6TppJ0ZGFxQiRtY2+IINDiONns0wLXc815c+GgU8YOMItS2+8vjXtiaxqeE6JXKErG5R8p4xm5pFlJRW0k6aDlzEs0TqPo0A8pyhoei7r9vhuhTgOMdO08jDwCAMvFcSLAMBcvpMw9ISrWhwLN7Em3aa3A86+cYrrY6NLPu86VXbvP8bBO96JaRUotnVx7P4P0tk9wDe/8CcEweJQyaGRzWzcvOPNPOwfKWbHT7+tvd+bQc8NkCv2ks/nb4pV8pUQejZjF5+n9YWgtxn0ftraOrFyqx/D3q5IvGkSd4Ja4GoQeKvqtCVJnHY25sd+JaUqLQzHC8NgxW3KiiLG4ShM8wCWRhSF1PIwFEUlCDziZHGHPgyDRd8rSZJQVR3XrYjcjwXnsBBhysJISLLty5KEpmnoukZ/fx9btuxJtQwuiiKcsgLfzbSQb5x6ni999lOMj51jeGQ3r7z0LR7/xp/z6stPsHnLfq5ePcM3vvz/cf7sD+jsHqSrq4+//cvf40JKz7nj+If4zuOf5vVXv4PrzPDgw7/IdDli/NprlEpVDt92P3OOhmPPUi1doaNvJ0EQUpm7wuScjxcaJP4srjtDuVRFNdqpzF4kCjzCMKRiR2iqiufMMDs9RsWJaWvvpjRzhbnZ67xx8lm27zpCpTyD71WZnjjLwUP3Y1kFZqav4Tkldt9ynN37jmWUIgC7zgiiUOxk/fB2DDNHHEd0dg1y4OBdHDx4J1evj3PtwncZGz3L4aMPsnXLDmanrnLilSfo7u5h34F76B3cxc4du2qOSciyQv/AJrbvuh3DsDCtHF5k0dE1xM7dRyjkc+QsE8PqI9c2wMED7yCXE3OrdetFAbd+ZCcvPv81ro+dQ9V02tp7UBSNF194mlde/CpXLp9k287byOc7yOXbGd6wi8H129i+8whTk6NUq3MYZg4pTem+NnqG0StniMKAg7c9RBQG+L6LLIFlGWianmbNRCQI5zJdN1E1HU3TiZOYMPDwfZc4CokyjYWGpumEoU8Y+ul3VWHeAlerM18g7YTIxElEGAZEYYAky4ShL5hP6TytfmFBkiRUTUeWlWdXvfQ1z3u8AUeqJEZaZfcASCkorXVE5nUerR/bql9Pi6njK4ijrXxnwyR0KdF3k40QpR7OS3UWGl6+4G9R6MwtsrVNVtB21LoEsqIuKhIWIk4pRDUr3EXnmiy2QawVGllCet0N3LDtKMSpTGHmO5sWpKEv3Lfcai2PYz43pPYl8xzhyW5YRWGLqKjU7JOd6gxmvhPXns2277uVrKtRu1ZudQar2C0Swp0SullAUfU0Y8TA852UPrU2qSxxHPH3f/UH/MTHfoujd70ne/zZb38Wu7q2JuA3Cs9eg+epFNE0bcXJ1c2C6bETbwq99UcNWdZQ1bX5W7EcoijEMHL4nptN5peCSA5f/Lxh5PB9B8+tZonfcRSuqmMsKypJ4DUVcjfuO26ghNTyMYJAyiZdYi7T/P2SLKPropPSLLyw4bWShGHmcewSsqw0PefJ8YvMzU7Q2b0O0yrw9Lf/jnNvvEh3zxDv+8n/jtOvfxfHLnHh3Cvcff/P0t7Rh6KoaJqBomq0tXVTLHYjyRK9fSOQJLQVuzJNCkCU8vyTOCGftwi9KWbGXiV0S9x110N0tb/GyZe/zfSYwv2P/Le0F+7i6cf+iAuvf5XDd32c/O59PPmNf8fope9z67Gf4baP/A6f/8y/Z/zqq/SuP8hD7/4YX/nCf6I0fREz38NP/NR/w+f+yyTXrr5BkiTcdd9P83JnP997+nMArB/ejmnlOZuGDu7cdTuVykztqrHnluPs2nuM115+gpOvPc3Vy6eYnR7jo7/4vwPg+T4zs3MkSULfwGaq1RKFQheGIT6/Jx//a6qVWcqlKR569JcZGV7H1770Hxm7eo6Dtz3EoSOCEvXG6ed57tnPs23HEe46/gAAr73+Kt/9zhcZ2rCLAwcOs3PHTsbHLvA3f/YpVE3j7vt/hp7eYarlWZ57RmhEynPTHL/vIwAMD29hcvpOTCUmn5/Xb/YPbKJ/YBNjo2f5yuf/PUmS8IGf+mfkC53EcciWrQdRFZ22jl7CwE+LAFNohXwHkiQrEhIS3MBP7y+RBF67F6MoxHOrEEegCB1VzY5akiQcWxTK9XqNWoZNHEd4rp3dt/U5erpuisXj0M+6mPVFiyILC/ZVVw7yDTpSCfvbiFYEGMJZ6kYGjxbbz9INFA//AFGsSL6eSQP2FtvlCaLnCtuIQ9zqLHEcYeU7VtUxqn+F71UJfae5re0y2R2BZ4vuRK4jc8xaCkkicllcW9DCcvmuRUVDHAbIdT/sNd1ITXMSR0HTSXqtIJFVLeuSLEQYuMIzfIFNbhi4mTtUksSZYDvwbTQ9R5IkOJVpzHwncRikHSmJ0HcIQw9Z1bLiw6lOC41N2uLNskUqM2hGDs+eQ1EN9GUGt7WAsSvn+KN//Rts2LqXto4exkcvcPnC6u0G1zLiyMd3116xEcSpXmOV7j9rGVHoMTd5fuUXvs2haEVUTb0p3cPiSDhBqTkd2y5hmotzMGqI6hysFkLXLTzXzuhNYvFzNVkcIaaZF4tsC4Tc9WhGyxL0qLJw1FE14tQefimoqoauW0ThcjovMc7WBONCk1JYNJZ/48v/mVJpiq3bb+WeBz+WdVNq3+t73vlRzr3xEu3tvZhmnk1b9tM/sIlcvi27hh/5+f85W9SrVmY4ds+HKc2Ns23HbQAcOvouvv2Nv+Dw7e/Gcx2GRnZy5ezTDG28FV1XGRjczOlXVfqGDjDY38+18WkkWca0uunt7gVJRdNyeKGPpukYRh5Vz0MVcrkiiqQQp6Y6iiLOL6PmKKLwtKvz9HHLKlIsdmFZRfLFDvLFTjq7B3n/T/4zVFWju3cIgLvu+2ny+XZefvFbDKzfkp5flS98/v/Fd0rsO/xubrv1KIcO3oZct6h5+OgjXLn4OsOb9maPXbl4kiDwmJ6ap3C98NzXmJkaJfBdhjfsAuDyhRe5duk5ZqfOs33bHgqFPHOz48zOCG1LaXaKnt5him1dvOPun6JUmmDX3mPZNodHtjA8soU4iXnyyceYnTrPlh1H2Lt7f3pXzN8XYRSSy7dnWo367YRhgOc5SLKMlhUSUdZdQyO1tBV2tbouMr8URcXKtaWdCA9V1TBMMe+Joyh1rgrF/a4oqIqGrMxr/6xckTDwcexSmqmhp10MJf18VUHP8mwRcKzpmR4kIVl95SAr2g3pL2RZvSEtxQ0VGzcSOhi30tm4AaS1SU0EbuU7lk7VTpbfS60jYeY7CX171UeUgJj8p5qQXKF7yWvV7GHfraST6R7h8rSqVniAqltLdkCiyM+s7QJfFDL14vYoXLyfTH+R78o6LIu2G3qi0GhCXaoNAKJQm3e3CgMXzcjjpoWgomh49hxmvkOsHrgVDKsoOi2kOpfQx8p3pU5YU+hGgcB3iJMIKQpISLDyHdzgXfO2wYYtezhw5AE++1f/FoDuvvVv8RH96FCdubLmHLdkRVgZKjfhCnkzXDv39A3pCd9ukPQedN1EN9eetmslJOnKK0AuzcEwU5eqhYijCH0ZmrJh5nCdCr7nrJo0J9wT9cx6Ngz85vTCJtpGESZXwHEqWIqyYvcfRIifH4VZKnmT3WQDbY2u4nl2Y9clgeP3foTvPfMFhkZ2oSgqR4+9n1uPvgs9XfAqFrvZf/C+uu0mXLrwCqbVxqYttzA5fpmvfvE/4rs2j7z/V7FybXz5c58CwPNE2N9T3/o0URTy+qvf4cgd7+GNE08RxyGXzz5Jcvw+Jq6fI45DyrPXmJqZplKaEBoabw5JivH9Kp6TCs0Dn7lSidAXxYSum0hSkukbdV2c38C6zczOXGfj5luAhFtuvR9dN+noGqCtvYe29h4+9snfa7hm/YObFl3HQ0cf4dDRR7K/Z2anccrjIgwxpfhevXSSx772pxiGxYc+8tvs3HMnO/fcSZIkBIEokD78sd/l+rULDI3M03937b2T0cun2LL9tuyxDZsP4wcqA+s2kc+LgnXL9kPIqkYuV2RwcEv22j377wJgcuIyr7z0OIZusX3XUQAcx+Py+e9RnRsliuOs2Bhct5UPf/SfE8URXd3rAFG8qqpGkiREYUAQ+mlml1j49jyHWvp3HEcEgV/XnZCJY0Gh8qp2uj09ez6KQlynipLSpWrfiSSJCQMfzxOi+9o8q9al0I1cSiH3G+ylQRQcpiUE5LXC3tByAFELnQ1VTMpW+4ba+xTlhgYD6UcwScu6Lm8iEgTdJiFZNrui9tolzPbwnHI24ZckmSBebH279IYT7MoUqmauwla3bptJgmvPgiTVOTnFy3a3apNvbZlCA1J3BUMTRZjvLOpCRKHfkAweRyGuPUeu0E0CTQuNOAoyC9xm1zkKPSRZwarrtMSx4Om69iyKqqMZeeE+lH6B3eo0VqELz55Dt4oEvi1yRtLK3a5MC+ctVccuT2JYbSLgzyouXVSuEUiSxAc++t8Tpj/c+UIHn/j1/4Mv/t2nOPGD77zFR/fmozy3tJ7l7QrVFPkaun7zazWmrr5EdW6tZ2sIRFjopnHTuYctdIySZJlcrohtlzEXJH0LcWqyomufsI8tr1qiUx8oaFoFsZIuSYtcdJaCJMkYuoXjVNDUlQX8SRynrkN+2v1ePFbVb0HTTcIGNyvBcBjasIuhdFUdwLIKYMfZ3Ghq8gpPfevTtHX0cvzeD3Ph7Cs89fjfAvDhj/5zXLeadQ1sp0Kh0EV3z3rCwKe7ZxiAzVsPMDV5lZ6+YQxTJGBPjZ+mf2ADSZLQ3jVIR88WNKsbyzRp7+ihb/0+DN1EVRQKnUW27zpKaW6S7p4e+vv62Xvrw0yOX2bHrkNIEhy/+wNcvvwG23cIIfXd9/8sx+7+yYzeUyx2cdsd8zTdG8XQ0DDvuP/jlKtVdm4X121y/DKuU8F1KszOjtPbN8KZk8/xra//Kapm8LMf/1/J5zvo7NnE959/Gj9ROHTLYfbtv4d9++9hauIKZ8+8wIZNe9m1Yxe7duyiXJrm9Ve/Q2dnP4ND29iy9SC+7/CFv/+/Kc1OcveDP8v6oe0AnH79u7zyg8cBsmIjn7PYsvMepqeusH3HoYZzaO/sb3puNe2DqgnzgjgK8X0ni5eQZXGfqqowKHCdCkiC/qfrFrpuEQQefuASJzFyFApaOeB7Tp2QXBcOX6nmQ+g8IjTdREKEY4aBl+mgqpUZDFOklMuZY1XaTUnF4YqiohvW6iPBZUUl9lrPzJBllTBcLCRdCTciqG3VxUOSZOKkBVtLSUpbXatDFAZEgYdV6Fq1x/giulEc4VSm0c1CQ/6FsL5d+RqFgZu5TS0bErighVxzj1qo64ijYEmBfE30rqjGkhSn2r5IkswLu5Y4Xo84ns/JEF2hCvnUgjass7XN9p2K0FU9t0gMD7UUcG1RXofvVonjCN3MZ+YCgVtB13PY5SnMfEeDFij0XRRVR5EkXHtOOGbl2rNixXNFoOLSLlprBwNDW8jlCvzbf/kbgKCwjV09x0Pv/ySvv/xMS13BtQhnDYb5oRbRdB1NX1vhka2iOnuZydHX3+rD+KFAVi0UTcc0br7PLI4WOw5Kkkwu14brVFJ7zZppSLzq9HRNN3GdypLdg3osHLOtXBuOI9wUV9JW1KCoGgZg2yK7YznESYwiq1mmhrkgzRxYNM5blrAJrmlami22Xrx0jpee/yK5Qg933fNBrl46xdi1c4xdO8ctB+6lf3ATHV0DaeZYzMjG3XzoI7+N61YZGtmJXZ3jJ37mfySKwiyt+q77f6bB5vfonY9y5I53EycxSZKwb+8h9u65Fd+zCQKP7u5+Noz8EzGhdatomsG9D/4cAOXSFJBw68HbKZe2kcu347lVOjs7KBZuaXDeWu11bxVbt2xr+Hv/4Qfp7F6HoqhCt4IQ54vOhkeULjZfvnyGl74tybcAACAASURBVJ//rwD0dHSyZ89+qtXZLN9k/6EHuP3Y+wF48lt/xeWLr4Mk8clf+4OMZnT1sggpvHThtazY2Lz1IDMz1xkYaOzM3HH0zhs+R1mWkWVReCRJIjoavivoUenCYI06BWA75dTWWU0/g4QwDDJ9T5IWDn7gCstcRUk7IBqGIWhWvudk+Te6Lhasa85VURjg2KXMTEGW5KzItnJFoiggCLwWaFTyjVGbhP1t6++TavqIFgqImtXuagW5teTpHzqSBDcVgdfC61aP+fMNfAffrWDVuSllu2gSGrQQnlNKrVetlalPcZxdt1rStthv4y1SExQtRBi4KRWqG88pLZvXkSQxYehhLtFpSeIIJDlzQQt9B6tQl3UReA2T+dq+rUIXrj23qNAJfAfHnhHakcY9icKlLvkcxBcvjqsYVhFF0XDtWZELUp0hV+jBrkxhWEXheCUrxFEo+MOSGFyt4tqnTwGUZiYBQZ2qVuZwnSqf/5s/5Fd/51OsH97GlYunVtjC2oXvzGUdnbUEKQkFR/kmsU9tBq86xei5773Vh/FDg2z0Y5gWxk1IoQqjAE1dXEQ1BtxZqKouVmhbyOIwrTyB72UruM2QJMmiibskSenkvpRN7uMmid8LIegmIqegGQWsYZ+p6Na0CrhOpTEkcAkretPK4zpVZLO5pmRs9CxjV0+jqOe5uv0Im7YdQNF0Qt+jq2c9kiTxoQ//FkhSFuDW0zdcf+LiPBRVZESl+pj6GZCmmzhOGVlSsrmRCHQTrlj1An5FVvA9BystvmRFxfMcrLS48n0ntVh1kWWFMPJJktacSf+hkCWZjZv3NTy2a8+ddHT0kS92kkuLrO6eIQZGbkNRDYaGRGFg5dpYN7SNuZnrdHfP04fXD+1gduY6Xd3rsnmVqurc/9AvUK3MsHPvfCExsG4L737fr71p51dz0VKsQlY0hIFHEIjCY77boRJFEZ5bzcIrA9/L9E+iAzIv9PZcOzPTkWU5peaqhEFAGPhZirgkKci6gqoZ+L6buq/qJCQEvpt+r0DTzNULxAWxSWppMg+kr219Qi/Jqmj3tOBiJUlKmj+x2mLjBrUhyyCJI+zqNJqeSyk1sy28OUn/S/CcOZI4bhqYt/JmROqxohmYubYVxGq194jPNZvc57uatrPjtBCoh+9WCEMvc5yK42jpQSMVjutGYUlKVxT6KIqG71XTzlB3ww91HAcNhZEoNER3pFmqeuBVURR9UWBi4DnIqtYg1o+ikCjyMXMdqJqZVe5xFGDm2glDN3OzUnWLKIkJ0+DKKPLRdKtpZ2UtolqZ5erlM3zkl36XF575KqOXzzCyaTdxFDE9ufYoRq3ALo+91YdwQ/BKbzDtXsOvDqNbHRhWG5qRv2k6HbPXTzJ++eWbwn2qhggLTTdums+oHnEUIRvNx2Ohh2gTk34kYXe/yoW5OBbWsqalpV0KmhYccRw1HcfEvotCi2EV0vFvFVkc6b++76Iv0VGpz7WSZQXdsNKCo5i+u7nuQ9BXDFFwNDnmXXuOMld2yJs63d0dWFaRPWlS9cKj1HUTxy41CO6l7AxE6Jpjl5oGF2qageNUMOsMJmpBbXH99lLb09o+lJTSUxv/4zhCVWVqvaUkipt2un7kkCQGhxo7IOsHB1j3vo+lT6efnSTzng/8+qK37z/0APsPPbDo8a0LKFE/akgpNVAIv2PCUBQGQeBlBbAsCwtlOZGy35swDAh8L9NtqKqOWhA5HGEYZPbRYRgQJ7HIYgk8Qc8yLGpWt4ZhEWs6nltFkpXMtSqOYyBZXahfDbUbSGmRVyoq5FXautb2Jd+Ii1WLVrYtd2uWd6MSnYgyVr5LTLaTpTQYyyBJcOwZoa/Ite5kFMchTmUGw2pD1Ywl7WMXvy8Wk3JVb5zcLzq+Rq2ICMWLM8cp4UTVfJVI6DmmAZbNUImigDgOIY6wCp3U3zeis1IrNDxcW+RoSCm9ql4nEUcBvlfFsNrw3UrDMYWBi1OdJt/e37B9361gmMVMbxL4TlZoKKqBW5oAEsxcB051Zl6cleo8ag5XNwv+7o9/n4/80u9y5Pij2WOvfP9x7Gr5LTyqNx92aQ1SqFKEfpXZ8XnHMKvQh9U2iG62oRkFMbHVjDXV/YiigLFzz1CZvbmKXEnRUVQDQ1/b+q5mSJJkRdpxreBwnYqgsy6TF1W35QYtiGUVxWp8EwvZ5eYrkiSnk+5ylgm14p7jGCsnuhVhGgDY5EUNY6QICYwyytdyIbu1Dk8znWt7WzsPvfN9+KkTkec5yLLaWJjUbdYwC3huNStyQMrIIlLaDfJ9J7X0nx+zVVVHVbRFxyArCp5rp9dKBLzJipp1N2RFBUnC9xzRPZGkzOhFZECAH7hYb3WxsQRuljBNSAtXTfzOx3GUOVDVPtM4CglSlopuWCiKShQGeG6VJEkyZynNMgh8lyiOUvMcUQPEcUQUBth2KXNqE+5VinC8anCtMgCSFosNTVCDaJ1v1yIjKk0tb21fkiRu6hbKk3+QlW0NNTtaRTPIt/UtPKhVb0dkPIj8iNVZDDduu5ZpUd8NiZOVheRxHOE5Jcxc+7KBhaIwm8+sEGLsXEOQYlJXDNRj3kmqEz8tapZCGHiomtGgUcmeCz1hX+tVCQO3IUcj8J2MXhUGHp5bIl/owXPLDX7sYeDhuxVUzWygXAWeEH/X6zoC38bItQvheOgThV7qyhWSxBF6XffKynWsmgawFmBaeYY37eJPP/XP6V+3iYH1m7nwxss/FsnhTmXyrT6EHxqcyjhORSShS7KMVVyHme9BM4qpVsnMJhBvNyRJTGX2OnOTZ6neZIUGgGL2Y5gmhnnzZaIIaunKo3HNu9+uzhE1CcxbiIXUKEmSyOXasKsldMNsKABWCgcW7jkFqpXZjFKz8vHKaUdGiNQXHm+zYkJPBeYEnligWmYZUlV17OocgeotSQ+TkLCsQqa3aNhfOqWRZRlV07N8kYXHVNO9RHGYHnPd8abdGF23Gro0QOacJSuCKiYriqCWKSpJWlTUgg1rK+qKIgMiCG65Yusf8cOHLCuZSDyJY8LQTylxMUiC7hQgWEiabiJLMkHo47iVlCol7lfPrQIi86ZWyEBCGAS4bpVAEnS5msmDphnEUYTtz2EYudZCM2RZJYr8lk9W6C9iaCnYTyYIWtuXJMvEQQuC7xbR7OsRBq5In851NBdFr6aWSbsZcRxRaB9Y3RexrkhKkgTPnkWSlcVi6yRZlvYmugNzYlVohRZ2jUJXywupdU8ad7eYZhdFQZrk3Z1mqCxtH+hUZ0iSuGmhUTteRdEz69n6ayX2rRKFXprZISx+o9BDN4vp+308Z25R0nwYuDj2TENnIgxcZHk+wNB3K2lBZlCZG8fMd2b6FEmSUVtIr387o9DWyYPv+QVKs5Mcvfu9fOpf/SpXLpzkyoWTSJLEkeOP8sr3v535pd9s8J1SRo272ZDEMfbcFey5tGCUZHLFfsx8H5pZEJ2PNBTsraQ7BJ6DXZmkPHWe6hp0BVstIvKpLevN8dtRjygKUNTVTTGSRATqBYEnUpCXKRDiuLmQ3MoVUw3IvNOUeO3y8w5ZFpxzz3PILavFaFy4q2lORBaBnL6mNi430WSY+awDszxdLEHTzSwLYeFYWesWyenk0HOrmFaNkiyRMM/W0DSDMPAJw6DpMRlmjrAyt0i7KmxTI3zfyXJJ5vUtUZpxomT7qOlSojjCNPP4vsi60o0cdrWEaeZEanqqJ1ku2PEf8eZBkoXTlKabRFFIkFrYAiiSnBkHSJKMrplEcYjEfEEdhj6uW0XybHTDErQtTSevakJEHodp+rlEGAbC8UpQsFr7xGVZIQpvROwtiy5Fq8F+LdrSypJM2FIieItomNiKJPAkjlLaUfPJ80ptZGHpOoNuiiTrVip+CbF65Fan0fR8g1Vstv04WrKIEIVShVyhJ83gWKkDIlyknOoMVr6zec7FglCmWlif1SxEcAFceza9sZcW+0WhTxJH5OoE40Aq1hadN0GtEp9JFAVIkqjOxbWeJVfoxnPLGGkBkiSxcNFStKwDIlLKp0XBgqBkxVGIVegi8O20ghf3WhLHmPn2m2a1plKaoVKe5ejd7wXgV/6HP2T82kVGL59hdmaC+x75KFMTo5w9+cJbfKRvDpw1qte4ISQxdukadula9pCR68LM96IZBRTNFA5vqomqidb6m0W/CnwXz6nguxUqM+dxyjeHre1SUM1uYlknl7Numt+OekRRhGGsVoMRCSqGquM6lYya0Xy7zYXkmQ7DLiOltrqrdo9MElRNw3UqdRP3hcfYOD7X7y/rLiyzai+E6QXsamnZYkqwQCRMK4/jVJp3XNJdaJqR6gzDjLq0kKxhWnkR1JbpZ+vPQUbXTaLUnaj+cRFYG2adiNp5GUYOz7UFdUqSSZIko3/V3htHobColxVBiUcI7JNErKQrS1zjf8SPDkrqGJUYVuZQltlPS4kIMk6TwAXVUEfXTUwzn2V6CMG5iqppgp6LkWbgJBhGHjmlDUIStlRs1FalW4Usq6kwaPUCuJrQuBW0/J4b/IFP4gjHnk11Fc2SwOt2scwEPvBtfLeKme9AkVV8Ki0dR5iu0pu5jiULioWrMTVklKs04G812pU4DglDj0J7/5LFVRyF2YQ98GwC324I2IvjcPFKU5Lg2LPIsookS0v6rIeBI3IymoQShoGLrIowvlxhXtweBi6qLoTerjOXdkPktNWnZGJ6wywSBG5mGmBXppBlFUU10r+nMXMdJEmcOoR141SmxIqWrNw0ovAaHv/KXzA1cZWHP/BJxscu0t2/noGhzdnzE2OX3sKje3Nhl8ff6kN4S+HZ03j2dMNjql7AKvShGcXUYS9NpVV1wRtX1JQLnnqty3L6uzM/SamZLURhmHJ+I6I4IPJtAncWuzS6JhPbbxSh3EMhnyefv/kmXkmSkKyiq5C9Po5R0oyAWsfAYKngv3BJu1tBcSriOhWMNCRvNYVckoqqPc/Bc+2mnaYkiReNTTXOu6AzFZcUf9e/XtX0FSbcgiYmyyLFebnUcxCTf9suzRclC+ZooqCwcNwKBou3I8lypsVYqP8QhUW1oQCrFTVhqsdI4jhzsaqNn4I2Vs4SsMPQR9MMYTdbV8D8I956CMcqPSsYa4WHJCtEUYSiSmiaWGTyXBvhTmZldKrAd/Fcm0Dx0/tWTguUUlqgWEiS3JpmQ1TutG5Jqyg3RktotbCp2eW+WUg9jR17FsNqWzZLYv6Ymm0mxksdNDLNQQvHLeLlA0LfaZqUvfCY6z8roc+YQ1a0RsrVCtoOzykR+HY2WV8KcRQgK0V8t0Ich4vE5guTwZMkwalOo2kmmpHHqUw312r4Dp499/+z9+axsm15edi3hj1WnfneN/dj6H4PaBo3uCHYEA8hCnFsEowJOEocO5BBESiyIXKEFcXOH5YiWbEjxbKFQoiCFAVISOw4RAwKxtCGtkO7m5mmoaFf93vdr98dzlBVe1hj/vittWvaNZ1+j3PPufVJrde3atfea+9Ttff6rd83ICuPeo9P3y+GfHA810GxukUSxNxpNgQXEkbVECIJGhl6Xesm0KWoc0Mt6jIUI49BTg9pcBorYFT4MRqFweH9ldfjtkKrFr/24X8CeI/f+OUPQqkW9599F5594Ytwef4Wri7ujqZhEdXo7p7bdWHUGKPH/YshQqRUhGQDCEGhUGCcFlqCgQJA907vDJzV0M0VVHN5p1yldoHIjqmrMRjcvDvPOwDVTnaaTDrvkAb3o9gxaOoJpHdLXQDy819dxDDGKS082HxuwlQDQo5LbVv1FhzeObKVXoCUlHdQ1xNyqNp03oHTHrUUfeOJ+0izgvjwa/JEGGPIM0pWT7P+RS+ZpEgMTSYXKVzx2dY2Y+TFQfd3Y2Dds9YYTdS0YAKT5SWapkKShH0ySqY2WsFZSmwXKqFshjSHUuTiSPQqD2v1O5a1scf1EbsdaZrBGN2llmutSAMkU3AhqSBRTUety2XSdbZEMEfywhOFTytkeXkN4hzrF0CtA3U23tmk7ohdQvd22m8QRHtnURze38q5gj43P54olE7zgznR8tbjcJZckLikwLlN22MqpouUraw4mu+ErCt0vEdTX4ZV/hTrQpei+0hbE2+2z5nJGtWdd7ymWXHYjcd7u/SA0G0FrWtwmUL2dMdizsXg8P6csN57BzAWrvewo2cpVSErDlFPzpGEEMAoWo+ZGqqZ0OvNCNZqFAOiT1mjkOVD+i54cqXaTsx/e/B13/Dn8OLLr+Af/cjfxdUldXi8q/HWZ1/DW5997aaH945CNXdXr/FOwVoFWz0Cqkc3PZRbAyefw/DwCMPh3etqAAi5CnomFXsD/DK9Jy+GaJoJ4H030fadw+P6+QfnAkmSoW0rOJuTfecKLNrjxoJjcYLvQvelD/Ec22aycRLtvUeWlVBtjbatkfUUCHPakLxEVY3AhaAFzp7HtZAJhLPkBLVijEImaOoJBkM5N39hjINxBs6SBY0GLYJm+QBVdQUhDrvOBeciWN3aYG2KLqXaWhL5Z1mBVtWIWQ/WElXLMwfVNvti44kG67odqS/n8ju8biGF7GhxStXUmQza1dZUEMH6lrQ/Dt773TobcRDeWzBsn/0wtZjdzf4W2L2w2bWzsU3REHUH+eAEqh6FbsFOhwGAmYC65bC8bUYdU73T/ABG19sdNKyS0DmMerUWzjv0pZHHlX8pU6T5ENXo4VrdhXeWWtxJsTJDg2hU5FpRjR9TcF5XaDgwLudWhqbXjGhLi8ePlKe8OFq6ptYoWN0iHxx3LlsxvdyoGlJm1KXQbVdwkHUvIJMczqpwg0zAOEc9vkRWHKCeXACMg3OOZMVK0m0G5wLv/tI/jHJwiG//jr8GAHj84DN441Mfx+uv/TbeeO3jePDmp65FqXzSUV/dbZ3AHjcPWT4PnpYoinxj+vVthTUKZXkA1TbdyvkqxEWhRZDGgXQLTPOQmLw5fC/CWUvWts0YZXmwmvrrlhe4Yg4FZgIDV1GSIyJNaNOCZ5zTZDnZ7hqj5q7P8pwnOk9NkBeye20RaZqjCavLq5CmOZpmgmImFJcxDniPNCtQVaMZ/UcoLJig7kSw3I3XK0lzVNVVN5KYxaEVLdYImQBtFfI2pq5YTTOB9673uu/x5GE+v8ND6wZatR2linOyQHbeQTAOKRJYZzEZXyBJc0ozF3K3nA0giMStmcsz2GK4AK5jfyuosGG7DHPXYoOtuYF5NNVVECQHgTObXV3ZYv9giCF9ADqNxIrBrNxPzPAoh2ek7t969dVDtxWMaVcGBPoei0LK63iMLD+ATIuua7FSCO89muocSbq60AgbhiLm8ZLWhAKD5q1ojW5CYJ9fKpJmcztEj12iaifIy+M55ymtapBP+9TxSrcTJFk5o8V4iKw4QhN0OYwLEq93oUV0Qx8ePoNrVZ1POP7p//u/4yMf+klYa/ALP/NjeOHlV/HCu17BV3zgT+IrPvAnAQA/8Le/Bw8+9+mbHeg7gKddr7HHOwwu0bpjnJQDHB6u1/vdajAGIRIUpUQ1ueq1iI2w1q7pmDPk+RB1Peq69Nvai1NuRw4hZBBx9xcc3rnezkdeRLE566hSmwodKVOotupyCvowW4zEhPE4uacNlo8TtR4UmLZ6DGlWdAL0vsKICwnv3VzHKbLj6VoPqDtSDKmw8A4CVEhV+gqCSYRGBnH30xxNPenmUJHD3x2PC2itkKZZ50wU/2dtj35zjyca9DcvkCQ5XKBSRdcpxhi0bcGFoMTwvIQxGk09hkyy3WlUXEhYowDsuKJ7LftbQQmkO9FU2E7dEOq6+KV5vjWKshjSHEk6fSgQJWnLgoaFSfvkMZKk6HWLmkPPSjHZ2l4CjHX6DGfUdqK3IMgUMlu2xF3YbvYGZk1L/M3BSTf59361Z7qzBk19CcYEhFi9ghV9t9v6KnRY5gtWa1SX8q3bCazRnb2tVs0chYpcuEKXR9VLN63oFLZ4zXU7IU5vKDS8s3DOUKExOAn2vhJtM0JeHkO1EyB0Y5w30G0FwCPJyh0L7tuFGNr3cz/1IwDoJnPvmZfwwsuv4MWXX4VS7U0O7x1DdYfyNfZ48iCKL0JZHmA46Bc/3xVM79UU2tc2kzD5X543WKsh19xLqcNx0O0j69E59MEHJgXnIbyvHiPPh0uFjXO2txCaakfG2HZe4Z1DXgyJzw628W8cxbYxyZwxcm7qW3jsAtq0WnO96HwXRd3xWNTBKFHXI8jQsacVVNqGcwHGObRuwRcMd/KcXK3kzDklSQqjW6KYiWgOIbqEdSETtE2FNM3AuYDS1OnyoPC/rSh2ezxxYIy+24VMQmigpjR5YyjLQ7edw1maFeBcXKOzIZIw4drxc3z39PHr2N8yRsnjbNs6ikWKVxiX951TUz7o4ePHlOwtoEIaIyVcb2r9Lu9zmgZ+sBC2t3mFJWZhCJmszKyYHmeajdHRlgancwWIX+C1RkzD+k5JV7HmulujqKNQ9ocWGtN2HQbK0TjpbrpGN8iD81d0kMrLYxKgxhtmAInZ66UsDSqS2ZxoXbUTOGvIYYsLtNUlnNHIigN4Z0lgnpUwuqHvIgMYE3cuKXwVysEhXv3yr8HzL70HD996Hb/5K7+AX/mlf3zTw3pHoJsRjNqSnrjHHjtC5vfRWonDosTwLnc1QF2M+OSODlNtU0GpGumCVtFZA75Bvxj3UU0ul+zV+xCf0fE+L2SCPDjklAs25euKiHjcphmHzv6GYiPQjmKqeREm7zNbLPXCSZCbh4LjYK19bpaVcNaunIMwBME6PFRbLxR3lMHBGHWLmtl08dlAv7RAXV0hTQuiWAdQHkm6oL+N4vIJysFRdz6xkJAiQQtAqQYyyTpNiVUNHPM7LQzv8WSCQgOJauechWobGKOIlcQZbGsgk/QanY2YL7CzI9XuieA8BLTtgqk+ZMvtA18RoBtFM7mAkEnIV+g7v+06Cs2EaDdcyC0KjW4w3f/tdCI9trab8jis1dNV/y3oVj5kcTQVucMsOkgBMRxpWRMxF9bXupXFhjUt6sljDA6f6e9UeQ94onxZq1AMTzC91h7eGUTL2lhoCJlCNeO5Y+p20tkozvKhI+UqHxzPnJuHVnXnYOW9g1YV0mwAmRaYXL1FgU0iga2vyLrZtMhXOGLdRfz73/U3cXb/he7ff+Jf/3fw4//b38fHfu1DNziqdwbV05SvsccfKLgcYKyPce/+MY6Pj5+C+0d/gFxTj5esXGOuxDagrC8NBdIfrEKc9M99VohgqxspVYHevUFLGqkjdXVFz94NJikImRRZ6CDMJnwHSeASpEzhnIMKNN914FygbavOKnh+sAgZB6S/EDbpCjPGGJyLgYCcOg2hAzF7yDj2pq2WukBpmqOqRnNFwpRebDvhOBUc5Oglg1NRmhbgQnTb0Yq42nc37hA4F8iLAbwvYLRCq+rOwfZ6dzzGdnZ94iF5erfP8Gt0NsTOxYb3DkY3qEYPkWSDkDa9eqVjXWfDWRP2U9Kk9Bqc/rYZQbUTlAf3evMzPHyvoBug7I5mcoHy4F4XyLIJ3rvOqrAYnPTe+N0Cv9KoGk11iXxw0nVFVmlfqCgZBR/vFcWIM+QqZTV1NGauG4UpCcrjCNaz8bqYkCgej2N0i6w8pBtaRwEj+1owNnc9VTOGkGnXATHByi3LD2ANuWpkxSHa+gpJWsJZoqRtpMPdETz/0rtxdv8F/MyP/xD+3n/zXfixH/pbGF2d45v+/HdPV8TuEPZ6jT3eCTAuoMVLODo6xNHxEdLsborCt0FeDMnhsJkACPd2vtszsiiHVHCo1QtpztpeHYYQEkmakQYkaAeA7YodzkX43Or5xewknI6VBxrWdM6w6khpmhMFxeiN44mp3cuINvrUvYhBbTMDnB4vKwIFanmOJWQCKZIlF9G4OKtm2C2c844uBdDCMuMc1lk4R9cjkSmMoRyGOCfiXEDfUTru0w7GKKl8ODxBXgzBhXDXKjaIqrSbP3qkUe10HC7m2njbfWa3AoUxTrSbtkI5vLcyvXq6fdCe9EC3E9STc5TDsyntaZf7qPdoJufwzq2lXvW3Hj2a6hJGNZ22oy+EaHlfLkyi07V0K+fMlGrVjEMxdDYtQFYUYEY3XVGCmYCvRVhNwiKy82VL74mQcSFDHkccOzwJx53VaKoL5OURaT867QhdU5FkkEnWXdM4rmmKuA9p6iTgb2vSbHTf2WAksI3d8G1HbL1XkxGctfjVD/8TXJ6/hY//xv+HH/3Bv4k0zfHci190w6N8+1GP9tate7wDyN+DJM1weHSM4cHdv39sQpYPwBnpCtwWlKgI13UVGBUc1sBotWLb1U5HSZIhSajgcM72ZmcswnsHIVOkWdkVSiu2nHvGJUnWWc5OsXpSkOWDTki97hhCUsei7aG0x0/GIkC1RA1lC4vEHUWs7j+fNCt6F5XJ1tjMJYYDNPcyQU/qnUOWFlBtBcZ419Hw3iFJSGwvhIS1eqfF4T1uH8jJKr1esSFEAmf1Tp/hYnf9xbRK3+E4OxQoNiRwJ2mJYni6cWIex7Q4IucsqtFDeO8xOLw/Z8+6rb7DGgXnLJJsELQJa6qUBbeKmHAtZErnEW52ztm1nQ3nqAvjnAuBdmsO6Uio39ZX8PBLYYJ9BVDbjLoEcYQgoz7qXVtfoa2vkBX95210A61rpNlgbpxGEw/UGoU6dHMYF9Bt1W1Xj8/JUQrTroazGm19BZkWHQWrHj+ETDNwIanLwznSbAAdMjl0WyHJBtsFOd5y/LF/7dvwV/7G/4Rv/ObvQDW5wp/+t/9TvPDyKwBjeO7FL4b3/s45UZl2Aq1216LtscdqMPDBqzBO4PjkFMenpzc9oCcGaUb33roebX1PddbMFAZkB2uM6ibTc9tuCP5LkgxZWqCpx2szOCIoDZ3yIpIkQ12N0Et36nm+WeBtCAAAIABJREFUpWlOz5VIkVrzaGfBxaupxysXZ+NR06wIOQerOzxpmsPDQwfB+uJ8hHOBNMuhTbv0XrQ1XeygcC6okFDTIgZAlx0SO0ZRHB+dp9I0h3WWqMmcdxStdePf4+7gWmlkZH+rIXdypIqcxR2corrNts/nYFzAb6FTaOsrWKvDSvj2hdNi2ncsWJaC8nYA2dqS9mCbfdBKAF2PqM/o03bA+5WrO1HYXQ7PKCRww+pOtO9lnCPLlzsgzmmiOsVzaifw1naUKGN1r1OVDtkWXCb97k7ew1qFNBsuiOSp2EjSQdCNnHbdHO9tVzRwIZFkJarRAxTDM3jngnA+66wJVTuB0Qr54ATeO7TVJcrD+/R5LsnBinPkG4T2dwUP3vw0mnqCV977NQCAL3nf1+JL3ve10KpFkmb48C/+BKrx1Q2P8u3FXq+xx9sJxjhQvAJlOO4/cw9n9+/vbT4XEG1S26aa01CsgnVmyYUpWscu6kAilWgdhExIyG4MkK7f3nvfmdtImdJzpJ6gmHF8Wje3SdOcChSPrTLK8nyAph53ouvV21Hgn5wN3F0oGmJmCA/JzouI4W3O2aUuU9RJdgniCPR2+GBrSxa6pI+h8EUVtB7kPka6FeEFaTbC3DHLSqjgImm0CsGGe6H4Xcb1ig2RQF8nZZdF29jtUyqA3bTosYW3ClMReIpyeArvPIzfgTc4o9lQzQhGt8G5qf9BslazEdK5vSfaVFNdbjWEeFMzqkbbjHtDAmk7C8b7JvgVtJqsz/xYOJ5zBklWruyAWKO7LkHnJjWcruQ5a5bsBWmSTy5TTWV6b9RNfQkh0uXsDu/hrAki+qPu+kerX6MbGFWjPLgHa6kQYmCoJo+QFUfQagKR5LBGUc5GuBHGDhFjDG19hTQb0BhntCl3Hb/64Z/Fr374Z1GUB53V7Ytf8ApeeNcrAICv/rp/Ax/90E/fqe5GNXpw00PY446AMQFfvAfOSyo07u0LjT5EMXUadA15MVxbcDhrwZJlvUukAi2mle9if0+BeavzoRYzNpI0h2/rLqgubLX2eR/F6es6LhFcSKRpgbYhkfWa0aMIOSTl4LD3cR7pUnU9XplnEjsYi05dZM1boqlHIUGcdenwUSwuZQouqCihPI6Wgt2sIRqZkB3dLQ/p7EV5CK9qJGmOtpnA2uVCZ4+7hWsWG9ehRAGciWBLu0v6uNjJynbdjz06PGXF4ZymYidBORict6gn5+BcrHGt6j7Qi+iOJJMcaT6Ed2570b33MLqGszbQmfoP4npcq6aFAH3OWbPRXaMOWol1VCvnDBKZoq2v4JwNblIz+3EWnE9XpeI4ysFpEHkvdzXa+gpGN71aEms1nDUohqdzHR1rWnLrqEfhbwMYVSFJC7TNiKhTXIQujO+C+4TMoNoKVrcU7Dc5h5QZjGrARbJko/s0oK5G+MTHPoJPfOwj9AJjuPfMi3jx5VcpqOsOod7na+zxNkBkx1B4FpKnuHd2htPTMwi5n0T1gRyjOHWYPci5qVjd4VhnPZsXA0r89j5o87YrNLz3SFMSSi91RxaOvjiTTzMqBmKRQ7XT6mfpNFNjhDQrNrIJZEKi6sUiamm/nAcheoW86B8/2ZPmKwXZjKHTgOQzOSZEW6OORXyPcQ6nyQwmDa9LmYRMNIEsFBTci04foxUJ0YVMQGu7HlImofihHC2xptjb4/bjmv57seOwo0hcyE5UtPVnuOgSm7dCEPLOIiZWW6MwOLw/R8dh2F5XARAXVNUjpPkwTII3+W4v79uoGtXoIfLBycyK/XZj8N7BmBaM8Tl9xoqNuxtk58gE9Og6VoX1aVSjB0jTcmNqq7MUjMe4WHKTiucXj9nWV8Fi9xRgDCYIwGfRVJe0iiKSJfoUvO9E58vUqhZKVV1aOrWAVcd/TbMBVDuGTDJUo0coBicwugWCI5mQKYxuukwQsuHdcJ2fFniPh597Hb/yS/8Yk/F2XbjbAKuJxrjHHtcHgxx8Ecb6HgbDIZ557jncu//snQ7u+3xBXWi6PjJJkWUlqupqyQEJCE6HawxGAKAoD+GcQ1OPd7IWjkUAY3yl+Nujv1OS5eWMM5bfypAlS4tgH7tq/jSfMB4LjpmdLH0iSbIQ5rc6JyhJMlhL4WvLYB2tePZYZLjjumInCsDjGKjI8vDOwYZ5mhASDOj+jtEBLNLVpUygVEtp66qBlAm0Vnuh+B3Htc2+45dwp4PtWjjgOi5WC05GRpEVbVquLg62KjZogqvbCmk+vKZQOOwj0HtmW+tELls/oY1CdACdI9P6o1Fb14fPybRYoiN53+/aEUXXVBDwtSnu3ruwapH2dj9iuxyMoW3IcnC2W+GsnruebX0ZznG4JIYHiFrlnFlyDqOEcotyMHXysqYNnaAGaX5AlDCrqWOSD8kNRaZomzGESMCFhFYVOJdBE1I+FaLwpxnV1eduegh73GKI5AAufxXKFXj2+efw7HPP4/hkOatoj3lQ6vT0uSKERFEMUTdjuIW5RVw134QsL6+RtUV/pzTNiT67ouBY11WxlgqOzaF/VJCQjmLcuxi5+EqeD6FVs3GhNs2KjXMl6l7US9c3OlVlWQmj1YwlMO8Md7KsDJ2ReaF5npVQCxa6WT6Y+3eSZFChiBGBhs85hzU6FGikC9nj7uLaxQbnye6Fg5DwO3Y2dk0Rn/2xq2aEthnNW9Euf2AjfSm6PXEhkQ+Od+qEsNnOQqBeFb22tutdKqxpUY8fkT5jW26j96Grc468PELSk9JKIUXzN/EurO/gLBR7ZiXXM3ZMOBfLuooAZzVZDDcjeGu6JPBZxDFQ18MjL4/grF4616hrkTKbv4aeKFFZcTR3PrqtqIsyoO6E0XWoLRlkWoQEcTIKMLqlmx/jIROGrTynPe4O9vkae1wXcvCFqPzzGAwPcf/ZZ/HMM88iL/f3jG3Ql8vEuUBZHqCuruYmq+RitJ3uhTMOY81Gl6O+5zjRqFiXGbFqu3lQpoVzdnOuVtBbSpkgSVdlZSzsnTHkxcFcZsaq4+TFENatThgHYyQ+X+jk0qIk0a5lkk4zM2YWleN7OhRV3Vg4R5pkoZMRQwMp2C92UXiYx2ndQggJ7xy0VsHZlOaERu8zN+4yOBB+TLtazIZsg13ArpG1EZMmdzsQQzV+BO99l269FmvO3egW1egh0myINBvQj3zHdl+0mJXJcmdhOgZgVbWh2glpEIZnazsMy8clbUlWrnbKWiwktKrR1pdhck6vk66j5xp6j6Y63+ii5ZyBVjW8syFvY3YXrlux6rYpyYveGjVXJLYN2Q0maQmx0NVoqgvaXs68HpysyuG9rr0di4+sOICzGtaornsW80Zc8P5OsvLaDmN3BUImePHlV+9kiF/EvtjYYxcwLiEHXwCdfgkMDnD/mWdwfHq6p03NYNvOQl8ngDGOojxAXY261fzd8jgs8nxA1F61mlYUqVmLIEG27+hE3vuNljYxuK5pJmvnK7NC8yie7svKWLwsnPNQBKzL+Ji6Za4rYjgXgbrUzn0uFg9JksHDw2iiTM1GCSRJCmtNx2boXk+zOfMcAF3QXzS04VxCtXUotqhokTKhQjKkkO+pVHcXEgCcVWBcBvuy7SCERLujI9V12sq7hvSpdgJnFLLyuHclvx89rUzvodoxvDVzk9XFH9QmWKvRVlcoBsf91q4zY1i88VHQ3BUANu8ctYWtn2rGgPdd9sTKo87c/Nr6Ct7ZTjwe4ZxZ+m54Z1FXF0jSMqxQrR6P1QoyyboiYu49oyGSDKqdBHH2tBhxVndp3VpVXSHSVJdzdK22HgFglKcxUzg19SXSbNh1R6KoPGaENM0luEiQlUeYXL0FmRZkRsA4GGdPjdXtKgiZ4Lu/7+9jeEh/k/NHb+KNT/0OPvOp38Gvfvhne/3tbxtMO9nrNfbYClyW4PkLGNcM0ggcHx9hcHCA4XCIJH16U8H7oFUN01YrLU3JvGQ1sYI6HIdomgmSNOvtgqyC85SJkRdDtE210tGpz0AlIssHqGuiOZHd7ua5i/MOeTEIzlaDXtrX4rOSRObLTlp9xyN9hINqmy54tQ9cSAghes87zjHStCA73NCBWNS65jnRvHIxWKDLM2R5iWpyRa+L6euC0zGjq5cQEspTxkeaFRBSwlnqbvB4THhwxgOty0NrhXT/W7qT4ABN+HZ1l+JCXsuRamsP2+kHttoq0oW8s5BpuZNAbPEYzhpU44dgYMHylK/Yct14iNbDABTDkw2FxnJjwzmLevwQjEvSNyxctzWO4OQIZTW4TDZ2dbyzAONET2LhfOeO5Ze8h52zqMaPkOVDJGkBZ/RKXUNTXULrukvqXoQ1RF2yul0SlpMoj0OrGlrVVKyEbkUsIKhTQS12OVNctvUVVDuZe001I+SD4+67a02Lcnga6IDUMTEh3GjWTvdpxfMvvRvDwxP8+kc/iN/9rX+BLC/xvq/6Y/jGb/5OHB3fu+nhvS2YXH3mpodwLQixfyD/QUHm98AGr2Jsn4dFgXv37+Oll1/G8y++hJPTe/tCoweRBVBX/YW8s6upuREsFAxat3Bb53P5YBxF+87yknQYPQsj3tm1gu6iIE1fq6qtju2DBiUvqFDp63D0ZXGkWQmt22ka+pq1zDQtQvL2Gjp6cNjy3s8LyxeQ50M0zaQb0+xhGeOBbjVZGhDngoTxC2PgQsIYPUedEkLCOupYCJFQNodqgoicBdoyI2oVsLYTtcfthgRmBL47ffR64jfG+E7BGdv8yI1u0daXSPMDJIGH7/1uhdB8dsWoPySPRrRR4+GcQT05J7vUNfSohQF028XAvdVj6N+l9x7NhGhNaX4QaEebDktFkRBJb0HgF/5W3jnU40fIByddgeGcAeuhdzXVBQBKRF01cTe6BeMc5eB0vqCxJgT+tFDtmDo7mO+yGN1AqQnK4T3Sswyo26HbqhN+TylaFazRyEtaPWqbUafvUGOijbX1FYRI4LlDkuwSWHk3cf7wTRit8BM/9v3dQ+vk7Dm88PIrd8aNanJ5+8ThMj9B45+HzDgSycCZhjeX0PVDeLcXWX6+ENkpmBzCIUfdAsZzDPIBDk9KDAcDlMODfW7GFkizAlq3qKvRUoaGdWYr4w3GGNK0QDW53GgBC4RuxUIBkWYFmnqyZG3rnNtIeyNL3fFWtvRxDhEn6nGVf/a8fU/OGGMMRUE6Fcb5xukCYwxKNRBcrtWxZHmJpg7GJ3PXJNjRBKE6ZZwMlujkXAS6lWq7z0QIIUPXKe/2HelZqq0hQ1aVh0cqc7RtjTQtoF0DmWRw1sB5Gxyp6D3nDOWezQQI7nF3IIHdRdgRu3UPCJEfv7XImQ608i3VTmBUjWJ41j0AGNuNegVGOoy2mczRbK6DxUKhMRc7DIPRBLoZr9aadDeEBcqVs6gmj5GmAyRZCWvU5nMIXYIiO+noSsubTOldzhnU48coBlOR+tS1Yn48bTMCY5xE2CtoKtYoAB7FQqFB71GHIQrV47kY3UIGCz967x61fxndPK1R0GqCJBvCWdUdp6kukaRld42NbpEXR+E41MKN4YXbhh3edShV45O/+2v4xj/7H+In/8//AdYanD96E+eP7k7a9m3M15DZGQ7TA5zeo+++Vgp1dQKF+5DCQ3ADmBF0/Vb3G9hje7DkCJMmweHhAQZHObIsQ1EUKMr1oXN7LCMWB3U1mksJd9ZuLBwinLPI8pLcirxf20lyzvZ2TPKCVulnqUXOOyQbuisAg5ASqm0gRLJ2EjxbSAghIZMUTT1GUQ4x+7xeFbxXFAeo6/HGYsPDI89K1M0YZXmw8jkfLX1pDDP5JTN1g5QJrNHBena5oErTImRkeHA+cw6gcL+2mXR6Ps4FPCjYb5oszsGFgNNkDew92ejW1RXAGCWOqwbe+8A4cNC63RcbdxASCFZk12hfcREKhx1WeegzZqdig3OxxNm0VkPVI3AhUR7cW9re7PCQZYyjri4gZUZUnnUPlFVveY+2GcNZPVesbB3UBw/dTrr8iVU3kL69xWuRF4cQQSC9qUXsnEFTXULKbGWhMd1P6DA0I+SDk/m/3SKX1ns0NQW+5eURtKp6V7CMbrrj9z3AjW7hnEExPJvbvzEtsuIQbXXRXSfdjpEEvUXbjJAPTtFWl8iKQzhHKeNCppBJDmep65RmAzjvUI/PUQxPQq4HhxDJUy8KjxgenOA9X/YBAMCXfsUfwSd++6N4/fc/hjc+/Tt4843f29n6+kmDaccwO+rOngQ45Dg7PUEiBYTMkCYJiqLE8ckZPBys1qibBlbcB3MGUljAjqHrB3BmT1PYBDP+fRwUpxgMn8Xh0cmGBOc9NiFJyDmwrkfI8yE5HHm/kUYV4RytgFOi9gSqrVdqFpy1ECtMVPJ8ANXWaNsaWVYE96XNY3DWEZ1LNd1keRFksjP/WpJkgPeoa0oZnz7n+icRjPOuOOijWy1um+exK7EYhDgj0g4ZF20TEtIDXWp26yynzs8qcfY0Xfxg+slAfYpdljR0OLz3SNIM1WQEGazkrTUU9NeQpbwPBWPTTOCdow5Y2IfWCtYoOOe2/n7scTsggaC/uIYLABcJaQN2LDasboEdClcWHKlESB6P3Yy8PO4tWlgnONoMo2pY3fQGxK3EwgqAD65PMskpl2JHeO/Q1leQadErol7Yeq4Y0ooCyYrh6XxuxxpBXey+ZMXhxsmWswbwDqoZ9RZBc4Wj96ircwiRdq5b1qgloX7s3iQrwgJJT6FQHs5nkThnqagLgX7RmctajTw9JOet4jAENTpwITG5eoCsOIRqqOCoxg+p3ZsWaCaPwYXouKcx9HEPwmR8iZ/7qR/Giy+/ihdefgXvff/X473v/3oAwA/87e/Bg899+oZH+PmhvqUuVEpTh1gm6ZITnLMaNk2Q5jkODo+oe+kM2qbFZPIsVNsgEQ7MTqDbR7BqM9XyaYSqH+Pxpz4I++x7cXj6MsrhpvvyHutAadGC0rM76s2Wekw3LUyyQE9qmslc0nVETKlehZj63dTk6rSVFsM7CCEgiiEFBoIsYBfRt6skzQHdhqJguPGM4/OuryOycDQIkSBJfde56Ma7OIYkg3MWbRu1J4tbUAekmlyutCP23qFt6q7wnmaTkNA8/n1ZyODIsgJNO6F0dqOoyyEEnLVwznbdD20UsqyAamuah+qWFjfNXih+10A0qpksiF3axNcpHDgX0Newv/XOwnPRrUCvo7rMJlyuAlF0LsltIiVv7e2wKCbXXb5D34r4putJ1KRzCqjb8sYXaU2qncDoZo5mNN3O99KwSN9yhWJ4ttyVWDE+azXKg/u95+LstNho6su5QiO+P6vncFZ3xVEzuUCysEJFmSaPIJJsyeY3hvFRYTWlcTGwrlgTMoVqxpBpgbYZIc0HIQCwgGpGkJIoWNYoGKOQl8dogzg+zQcbhfxPA55/6d3w8Hjz9d/DL/zM/9G9HvUaL778Sq/g8rahGj+46SHsDJmfQBQFwNBbqHORgIukuyVT4a6RphnKwRDeA94ZNE2Nq8tT2EQjTTy4q6Drz8Hq9daaTxsuP/ebqC5ex/FzX46j0xch5A703z3mwDnvtAl9k/XVmJ+XZHkJ1dbdBH4W0YlqHbK8pPvXljlhsxPwvBiiqUdgnC9Y8a52iIwp2yR+3vSM95AyhZAyuFqtymyh+Y2UKZyz0KpZSy+jEMFROJ/luRHnAlyQNW22UMQxziBYCq1b2CULYo8sCMnL8rCz0BUyAdMtvHNdBzxNC0zGFxDWADKhbkdbASiQZcXU3th7GN3ui407hvCtYeFL4sB2sL/lXELb3Wwjd9ZTxOOoCm191YnANxxkLX3JO4dq8ghJWiLNBlDN+FqdHa0qqGaCYpFaNHew1Z83ukFbXyEfnMBbs12eSLCqpYA8uySsnm5mIfj8Dd0aokLF4sSa9RQ4o2q09QjDo2dXFk3OWeoSVJdgbCHYz3sAvjtGpDBR94eRixSfv3HV48dgXPR2mVQ7QT44IeH9zDkZ00ImeWeHa3SDJBvAqBrZwT3KScmH0KoG5xxJUgR6Vwqjqi5pPV3hmPW04b1f+fX4mn/5z+D7/9Z/hm/5C/853njtt/HGax/H6699HL/x0Q/iNz76wZse4tuCanQLi43sDMODIQTfbnGEcQGZinijh7MW1ipImRCPOyT3VlWF1g0hCo+EtTDtA5jm/J07kVsE3V7hwWsfQjN+N46feWXf5fg8wDmHlAmMVuBcbNRtTA1KFh2cCijVoG0m85PjGSeqdZBS0sLbClvcuePP6S0owK+qR8jzQTfxps1W/ybTNEddj7YIEKZw39iN6BXFL5jOpGmBqroCF2Kt6D4vhhiPHq+cxMesi8VjxhTxaOsbuyhdYSFkCPDTHW0qOlZV1WhGS0uBgkoRDS4WFt45yCRFXY2R5dOiaFeK/h5PNrqZHudyZ0rUYuDLtth1Ym9NC6NblAf3thzf6s5GdK6adVNa9JjesGcACPayUUy+zoi2fxxaVdCq7vQdestkdVohmSDLh8gHR1i1UrLoIa5VBdVOSHgew/qc7XWRou1r6HYy5+jUOx5noZsJwBiyYn6ybp3pildy6Ari8hjuuPBQaKrLrkhYvGka3cAZhTS4UnWvqwacC+QlZWK4EAykmjHKgzMSoTOGth6hGJygrs7BmKGi19vObjArD69tCnDX8LFf/WeBWws8+/wX4vmX3o2v/vo/DQCYjC7w+mu/jZ/8Bz+AyWh784MnDUZXtzJfw6FAlmXXXmHnQoCLAnFh2RoFaQSSJMXB4TEAB61ajEcncEmFRBh49RiqegtrV06eAowefQL11Wdw+sL7cXTvXfuJ0DXhnENRHqJtqYu2ruBwzq58vqZpjratOjeldbkZfWNI0pzoQQsuVbPoY3uw2KGZKTg2ZU0BpBkZj85htFrb2YnMhSyjPAvO+EbXrKIYoqpGKIrhyp8pYwxZsNnt2x9DsOFVTecmBVCBaLQmTWNwm0qzAgwsaCtEV/BkaQEbOkaMcfobzdjryiRBq+quWySEhFINsryEh+9SzL13MFqtzRPZ43ZhWmyIBDasEO+EHZPHd4G1OlBtSsgk2/rm3vej996hmVyAcYHBwf25VYhdui3OWzhrkGQDyr/YNJYV4+BCdnau4Z2NNCrvHFG28oPNx/a+m8wTXQx03nP7M+B9HYRm3Imz6/GjteNyjq7FbLehe8+ERG5n0Ewu5oTzVrdzad/15JzcPpIcuh3PdYq0qqHa8VxmRjy2MQ0Gh88gXmmtazhnMTx8BoxxCgs0CuXwDEY38M4iyQpKKw/2yFyIuZDApx1vfOrjeONTHwcA/Lf/1V/Acy+9Gy++/Cpe/IJX8MK7XsGXvO9r8fM/9SO3utioLj9700O4Flrtwbl825KqhUw7+qf3DlYrCCGQZkVHuaqqe7DieUihAXMJNfnsztbidwVG13jrtX8Go1sc3/+CfcbGjvDeU5BbmLDPFgt9C2fOWfA1i0BZVsIYhWpyRTasa6xgF/crhISU5IZU12MUPWNYVURwzlGWh6irK+TFkDSCG+hb3genprAA1ue4FDsbEUVJRU0KzG2/OCLGOMryAFU1WkvUYpzDGdWreYmxBGlWoK5HKILwnDEB58n6nDo0YxijZwKXE+paBFrU7KJdkmQwRnfXm7QmsrMFljLFZHIJmaSQggoREex2VaCG7R3g7ga6GZ0QEqq9xkofY1SN7uAcQALu9S2yuLJeDE/AmUA92bGl39HCeDfZTfNhbzFFbcLN/vSUwTEOlm1bVtwLSdz1+BxpCMObg19OEJ+Fs3qa3bEFiBpEWReM8W7lf26fzkEuWtaGFPF8cLzRraOZUI7GqjFZqyBkFuxyT+bdxIzqXLCa6oJWR/IhjG7BRTq3nWqDmHxBAF9dPUSSzQc4Wk1BfaRX8USlKg4hZIq2vgLnMrSLVeieGOTF0Zor+XTDGI3XP/kxPH7wBv75B/9vwHsMD0/R1reb21/dQnF4kp+CB73GO9GFI6vqfIZypWGNgJASg+ERvDOYTE7R+lOk0gH6AVR1+3JK3g48/sxHYXSF4/vvQTHY0y+3xeJzP8tKKNWs1Cc4u17wDSCswnNUk6sgqt4M7xyYpN9QmubQqkHTVEsTcNI+rraWLULBIUSysdDxgQKd5wUmkyswNljQPwDA/DxgNoOD8+HaOVPM96gmV2vHQTkXdkl/EXMxpJBdXkYMRVxOFx8hSfM5Ix4hE3AjYc38XCruK9KvhJBo6nEoDmWYe9ZI0gxKN5ChU+Q9BU7vpu/Z40lF901jnHcc++3F0vTFcU5D8O08s+lYAt4ZoOeH470j/j+A8uCsG8uu1KtpK64JuorjleLfxR9TH1Q7oYnswRnq8WNsfZ1C48daTXatK8axjvIZtR3F8BTW9PthL+/QBzvfdKUWwXs7N2mhwoRSxOl9t3JQ9eQcjLG1NrHOGhjdkqB74ZydM2EFowLAuk4NddeybpumukA5vIemukASxhWPD8bmikejahLuhY6JNQoiyZDmQ5o4WY3B4TOox4+CbqOGSLKljskeU3zxq1+Jb/r278bw8ARKNfjoh34aP/fTPzJNu72loEL5dkGkpxgOB50r3zuNWbG59w7WaCRpgoPDIzhrMB4fwyfPgfsrqPGnrpXVdJtx9eC3YdQEx898GQ6OzzZ/YI+pCHgGcbLfF/7nnEWyxdxCCIkkSdE2FcRAbjY+WehEJGkO39ZLK/5+Q2eFMYa8GKKuRsjk+oXAaZeEoSwOUNVEe5orIHomAnSMg6l97Ro6oxASjLOV1DAWFodJT3E1l9MRF4GB6DI1gjFqqQPDGA92te1S1yHLStR2vtjhwV2K9pVCCNmJ0YtyGpDpvYfgAiZ8R5yzUKrZFxt3BDO/oqkj1U474MlSbP3GzwgJZ5cfTNYoVKOHSJI8THhnkjd3HBdj5FzVaT3WCKei0KkP3nvUk3M4q6eL/SVcAAAgAElEQVTWr4xtzR7z8NCqRjO5CBkVK8axSmOiatJaHNzrPKo3thW9J6pXWqwVPc92Ltr6CowLZDOr/PRgWB4vUZ4kZFKsvKl772HDNVvch3dUxBjdQrcV8nJ6TGsUXSPv0VSXoSPC4PyUu6vaCWTQknQp5lajGj+GDMnfPn4+WAmrdoIsP4B3Zq5Vve9qrEaaFfjmf/cvI0kzfOr3fhNSJPjaP/Fv4U99y39800P7vOCDlfNtg2MFsjyHuAGtAGMcMsmQ5QOUgyGKosDxyQmee+FdOHvuVZT3PoDs6Msg0qdrlb+6fB0PX/8wLu5Q0OU7CWtNbw5GkuYkEq5Hcwt/RE/a7vtOlqskSt5ofR+6DLNIswKMMTTNtGvr1nQ2IjgXEDJB29Zr5ylTsXvUfQxR1+O5sUZGwvIxOJKE8jI2TT04E3AhHG8R0Zo20p7qespmWepgFINwTjPjD5AypRDdhbkfYxT2p2bcCinYj4IRKV+FLHIZDwyXkFRuDelCZHimM8Zgrd7OOGePJx5zv/qYmyHk9l0KLhPodjdKhRByLt8h2tDCY6XFauQH9qZqL8AaBatbJPlgSy5+v6CcNCPnXRr4dGtKHMcm5y7v4ayG42Kr/IY5GpX3aKoLINr8di87cL66cIqOT4yL9ZQrT4nZVEw9nnNzirBu4cEQCq8kLbpk8L4HgXcO1fghZJL3FivWajhroNsqdK+m+wdoYlONHyHND8BFAqNbiECtihqMJMkhJBUtJD6/gJBJ1xWpx4+Ib8oFrGlhjUJ+eITJ1UPkBWVypPlwH+C3Bs889zKK8gA/8He+Fw/e/BTyYoB/9Zv+Et7/Nd+An//pH8XVxe1L3waAtnp8Lfe5m8bbrdf4fCCSDCLJQve4hZTPwLkzjK5OUU+uAPMQanI7dTG7QtXnePjpfw7vP4CTey/d9HCeaLg1lOskySCEnAqdsRtd0HsPmdDKed2MkeeD3ueTW0MPjgJqWvU/pDnHFr837z1RmBa6BYvbzM5tOBcoigM0zRhFMew0E6vYBHGFv242pIwzEqM39ZhE2bPPuBmnTiETpPCdPgMLi66MUUEUs0UWkWUlJuZiiUbPhYRWDblUyQSMczDGumIpL4ZgoXhq6jGyfACt284NK4YDSplCqRpKNb2ZKnvcLsz9IkSoLnfaQQjc2wWMi66zYa1GNXoIIRLkg+OVq/bRfm0TVDMOmQs7CPd6rHK1qjpR89KElK12mYrw3qGaPMYsRWjt9jP7i1kTXCRzq/7hzZXXyBoVHJ+ON67GxBtfPXlMHZCeosxbCyameRb15JySuAPtyFndvb849iQbrLThc5ZsDxe7V9YZCJmiqUibEgsHo0koZk3bhTlq3XRdjLa6QpqV4CIhUXgzDpoQEu7FwkIrCg4yuul1z9pjHvF3HX3Sm3qCX/iZHwMAnD3z4o2N6/PF5YNP3PQQdkaSnyLPc9JrPEHJuoxxJGmBYjBEnhc4OjnBsy+8jIN7r0IevR/Z0bvXLo7cFVhd48EnfxHnD1676aE82WDrs6c4FyjLAxIha7W14Ht2Ik/p2gPU9biXdbEu8BagoidNKOF6m9yOuE/OBR23GvUvZvQ8uznnyNICdTUO4nn0TuwjZJKCMw6tlrsWi6DU83ZuLIsZZJEhoFTTaTbmxyfABdGgFs+JMQbBxVwnKH4mSTK0bdUVL5yLEA7og1hcdMnw1ho4ayGTFNYZWGuQpnl4P+vt0Oxx+zBfbIgE1u5WbKyzmV35CcbhvaPsjOoSxfAEyYYORAz2WwUfOgHeO5QHZxAy3d7OduYH6L1HM7no6Ff9NyW21gUyFlBpNlzrez1/AuhE7fX4MdJ8OJ9ZETfzDn3LGka3aKpLsrblYuOKkPcOzmqkK5ykAHLeiitD9eRxp3+Yvu/m+Kw09kfIigMwsF7KmHMWqq1QDE6XbrzOaBjTgnPZiccBBEtmOU+rChSvthlRkWwNkrSksD7dgAdnq6a6JB9vmVHYn8yg2gnSbLi3ut2AB5/7NNqmwrf+pf8Cr7z3q3F8+gy+6o98IwDg/OHtpY1Uo9vXkeHZ6U75GjcBkaQoyiGyPMNgeIDnX3gXju99Ifjh+5AfvYJdMpxuI7x3ePDpX8LFwzdueihPJJyzvRSqRTDGURYHULpZO/GexSLdKnYN2mYCs7CA6t3mAkImNAm3xmznhuTD5FtIpCFAb5FSFQXiixAyQZLSKv+6zkYE4xw2ZHCs3Y6x4Cw1nhnLckGRZSWs0bRNz7wmy8pOQ7GIWEAo1cy/Bo8kzaHaqnvNOUuBik0FEfI4kjSH0W2Y0jAkkty6ZJKSgU2SwjvXS7vf43Zh7pfPuNxZ5McYm3N+2gqBz891i2J4ttWPma0pNsipiSxy4wo94wIw24pYGQDfrYL3UYrmtl4TGmhNi6a66lKuSQC9DUhn0dZXS7Stua16blgkgh93YX3kTb76bxHPUyT5aqtj8r0EYxxNddl/Teb+5qSRSLNhmORfIE2GC5tTIcU5712dNbqB4HKuExTPpakoG4Vx0YnLTaDLFcMzVKOHyIqDzirZGkXWuLpBmg+hWsoCUW1wE1vhq77HFFq1+Kl/+D/im779u/Ft/8H3da9/8nd/DRePb6cLUQy2vG3wKJDnOcSWK703CSFTFDKFNRqcMzz3fAGjWzzEAMJfoL365E0P8R2DtwaPXv8wuJA4PHn2podzY1BtBbbgPDW1P90MxjmkoNTqSLlZB+/cUheEc07WsdW4KwTiOLbRgSRJBtXWqOtJry1ud+wFu1oSVBcdPWpWD7tqrpMkGVGn2wplj3Pk/AEpBb2pR0G3OH9NZws0ISQSmU7pS6x/oTTLSb+xaiZGFKgKYpDMnQPjHEmgTSVJFjQbHM5aEotr1blexbBAxiifI2aopGkRtCsGaZZD6ybQqBIwUKGidINc7KlUtxnzxQbb/KPoAwUCmq3470Y30G0FzkiMvO1xOJewZrmS120Fo5sll6fYPdkG8ctfT86R5cMtNCs93Rzv0bZjOKPngv62vYrOWXinKPRu3Q154W/TNiM4a6bidYQ28YqVG2fJ4UkEgdfqw1BDt56cgwu5VGi4GNgXeJ5NdQEpsxmKlVl60DSTc2TFIYyusQhrWlirMDycf0AbVcNaNdclMqqBEAlUM0IxOIU1bbC2HUGmOYxqkOYDtNUlOV9wGYqrlNyxBsf7QK4t8esf+Xk8+Nyn8b6v+uM4OrmHz33mNfzSB3/8pod1bdRXt7NIepL0GttCyARCkg5QCYbnX3gJ4/EhLA6A9lMw7eVND/EdgdE1Hr7+Ecjkjz61aeNSpqiaCjJJu0LBWrOxaJiFcxbl4AiqraCcWxvwZlcUMoxRwdHU424szrmtfkfeOwhJNrBNTUnl/fOVZdt6KVOiHtfkbkULlG5tpyZJc5jg4Li2KGMzlrjNuOs8LI4pzj6SNIdr6y4tvW+hlHOBLCvQhC7IcpAhsSXadt4emDMB6yzyYhiKq4NwdDpGlg/QthNk2aDrjMTCJrqfyiSF1AmM0eSeGbJT0qxA00woGFDVSNNiK0rbHk8mlr7RPNjSsm3pP0Boiem1xYb3LmQ4OOSDE7T1Ja1Q8+0EutG5YHZ/9eSc2qXD0+XtdyiW4lgGB/e2EqAvuldF6pNIsuWxbDEO1YxhdINyeLa+0ED4EYd9NtUl3XRmLGFpo/4uU7SSzQfHMLpdWwh572BMi2Jw0h/YZw24kJ3APEmKrlswLfKmxWtTXSArj8hKcKGVbo1CNX6MJMmXrpfRNZK0nKNvGd3Ae0dULM5hmgYxmFHIlEIAmwmStCTb4IZWgCL1Ksm282Lfg8AYw8/8+A/d9DDeFlTj25evIfMT8CwLeo3bVyRzkSAvknDPYBgMh3j0sIBQj9Fe/u5ND+8dgW4ucf7mbyF5+Q8jSbefYN8VcCGRF0O0zQTwRKlx1oKl200WyXad7j00Ya1WBu8B6Pj/fYj2tE0zDvkN27EwIosgFkgUPjhcmlv4FS748XNRgO23oEjxMM9Zl2renVdwtKqq0ZIoffFQVEgEStkKCnjMK9G6QbpgB885BxcCjLGuQxHH4I3qNBkqFAU0BgpvlCKBCQvF8Zqmad5Rzbq/cTNNlG/qEVhaTAsf72F0u08Uv8VY+sXx0P7eaSeCHiSrQBqGRxAiCSvwjLohbnvL3FldRbTITdMSeblq5WjzJD8WLIyJQCfarkChmw2NxTnbaSyyHpvZtZa9YRLugt5gFzQTysToE5/3Ua2c1ajHj5GXR2Shu9bZy6OpiRK1Us9hDbhI0NZEsZrTWMzu23s0IYxQiGRqbduNlXJVkrSEWFj1MrqBBxZoVQbGtMiKw64wi3keWUlFFLzv6FaxZR6T37Ny+27aHsC3/sW/ij//nf8lAFqp/jPf9l07rU4+aahvoV5DZmc4OHyy9RrbgCagA+R5jnv3n8HpM1+M7PQrIdPNBhq3EePz13Dx6NNPrXVnnOQba9A0k50YE84uh/9RGNwEfbNlWsRave/YCXDOdY5HmzBblCRJFjocy1qMvs5GRJJknesSjWPjQZFlA3jnoNQyAyAcbua8pha63bjYwkYBWU4J3x5+5byECwGjdY+lLYd3DmlaQKum+05zPjXuybISRqvubxe3kSFFHH5qOiJlSuJwY7r9gFH3K35HjFFIkyyI1zmUatbPp/Z4orH0i7uOSJyL1YWDbie9IvBVWRurMCcqr69QDM82h7Gt+V46a1CNHkJKEj3vQrtC8Kq2pg2C6MPV2odVQ/OeHKe4QD44BrB51SN8kHQPQq50uVoUy9mQPk4UrZBLsarY8B715ALwfq243VlNIXqML1OsrO4+WwfKVkxMt1bPtHzJ4SofHFOXayY53DvbUbNmYVRD1rvhelujYI0iBy7GYFQN7x2y4gBaVeGmZwBPN71kx7/T04zB8Ahf8uX/Ej7yoZ8CABwcnuD9X/2v4Nu+4/s2fPLJhHOGLLZvGRxyyte4BXqNbSBkiqIskeU5nnn2JQzufwXSwfM3Pax3BOef/WVcnT+46WHcKKKt6y520867pTyZNM3J1rYaY55ZECfPm5+fWVbCezcnaF45Brcc/CeDfessFq1fFxELFXL1Wz/GmOmXF0NYY7bKMIvuT1NXqFWOnow0JF14c882YB19ad7FKmSAMIY8H87QrWIYNCF2kGaLDcYYidAXMjOyvJwTuQsu0TakcRUyQdtMwtxy6l6160L4Hk8OljsbQsK9DY5UzhnU48dwzqIYni1RZ3btbFCCrerC9TZx7km43v9eV7AMTrsV+W1SxGf3rVUF1U5QDM/W0sf6VjwoCyM6Th3EE9x4q/TOwjuHJBv0OlVNt5uuyFjTdsXZLEXLewe+4A7TCeRlCpnkayhdHtaZlQWPNSpY2F6QO0ccq/eh68C7okYmOf0tve+O512kyMmuSIn7bZsR8mLazdLtJHQ5qLvmrEYxOKGuiHMQMg03OE/j2Hc1tsbhCWXD/NI//X8AABeP38I/+tG/iy989/swPFymLj7paMYPbuXKWKvpQXyb9BqbwBhHlpfI8hSHRyc4fva9yA+/+KaH9bbDW4PLtz7WTaKeVnDOQ6GwReAeaIW77/mTpDmSNENdj6bW3Gs0isvwSEI+TBu6LSu37KFbJUkGIZNusg1QYbSJlpUEK34qCLa7B+XFEKqteifYi4+xmFHSNJO18wgetBfNTJjf/H45GIA8L+fOMc5kvPfgQgSnqbr7TLRH55zei3a2EULI4Ho1nfNxLmCs7goOcpXUUKoJrmUM1tDCJWWjsNDtuX338D16io3r2IEutkZNSMzOigNkxWFv63SXlQ5rFJoQVLezZenCCkgzOaeV8OHJ3M1sXYr4/O48TOAoFoPNRc/iD8PoFvXkMfKFbkiIs1u5F2cNqvFjgLONq/PeW4AxSi6vr1AMTpbGuXiD9t6jGlE+RpIN4P1qx45mQkE+q3IqiNbUgHMxl2Bug4UtwLqOR5oNyLUmdlGCBiQrDsC4mBYg4fVZYbvRLbVag2BNtZMQBCjR1iPkg2OodkLCWpHOFS57bMabb/we2rbGn/qW/wRFSQXjm6//HsAYDo/PNnz6yUM9un0rzDI/QZZlQAiovGuIXY68KHD2/KsoT78c29tq3A404zcxunjrVha6bxfI5jQLVqyjjSv2RH/tf85LmSLPY/o2LcDxLecEMcE6y0owLpa6FHPbrrDIpU5F2mkOvN/u+JxzcC5Q15tCkIO5DGPIiwO0bbVVhyNNc3DOYaKN7aq9MxY6NMsFcJwHCUEBuU3TX5QkSQYPmgstZqAlSUZ2tQuLyUmawVjVFSYAFSGqrQMbg0OEEF8WNCDGaggpu+rKWgO7t8G9lehduqbJ/HZtyYhIpVI1ibBm3ZF6wUIK9wZE8XQxPENbXQWv7m0fuqzjiVKn5XzOHnd+083Fj3c2aDx4b4ZE/xCm11CrilKzh/f6V2JWXG5rFJrqAsXgNKSKrz+k9x5GVZQVMjxb+jt4P++K4bsJ/mEXpEdJr8vXWYWbD9GklgcS8zsY40tieWsURJJ2yePx72BN24n7os0u5zKMO4rhLyBk1m3nnUU9foS0OABAuRvWtMgO7lMYFBch5I/ey4envePdYzW8c/i5n/xhfOM3fye+7A/9UTx+9CaOju/h8vwtfObTt0/YO7mFTlQiO8XgCc/X+HxBjkFDtPUEp89+IaRMcPXWL9/0sN5WjB7+FrLiCAdHJ5s3voNwwRiEMYayoNC+NM27VOwl+PULn5xzlOUh6uoquLRtZ6k7S3lK0xxKNUH4vSw8p87GmjRvBtTVCEIIsK2Oz8Ixa7RtjaxP7LxQIzDGUJQHXao6LQCuLiTStKBiwzlgzTRJygSt0XNi73i86CSVJBktHBpFz13G53Q3WVagqkYQQi7NnfJi2OlbOmdOxsHA0LRVlxAvhAQ40DZVJ76XSQatmyBKl/Q8ZxyOdgKj1dYWyns8Oej9NROVanuKE30mIRG4TDcXGojdkNXdhKhp8N51E2bG+U45IFSl29AZIRemVfkZi9zDRThnUIXAOqJebblKFfap2gmMoqKpt9BYwTm1RqGtLxecqjbwPp2DNTpkmCwfa9YVw3uPevwISVJ0hcYqxGRumRYrKVYxUC9fdMgK5xL/O0u/irQro2qAAWk+pHC/cAzVjLtOWEwNr6sL8mJPckTth0wyMEbuYnl5DFWPaIVEJjtravYgfPgXfwL/4H/97/DJT/w6ysEhfue3/gX+rx/+79f+Vp5EWNOgHj+66WHsDM9uT77G54usGCCRAodnL+Hw/ntvejhvK1R9iXry6KnknMeJ6GzCd1EeQOu2N5huW1pUnIhbZ7buGi1mbKzSgdA41hc8ZNOaQ6l2BxoXFQTe2Y6GNI/l84gi8KajfTGsmwMILtC0k9XdkMB6z/IBtGrntmOhoIjI8gFUW5N+ZWFBljGOPC8ppXyBGhc7Qm073z0RIgG8n1KnhAwFzpQ6x8BCbgo9/xlncN6FLBISju+pVLcPvTNGESLkt129pxX7CbJ8uFNYWhfQtnAc0jScz620AyGFcgeRGWMMqp2Eifd6yhNjbOkHE2F02034GRewpt2+Jc4YmuoS8GT5u86NY/Edo2q0M2F92yDmjgyPn195rCkXNRQaWbnRDYuuo0IxOCFqUk+xYU1L9LkVjk/OGQofHN6bHUz4j0fbjDE4oPeMbpHmwy4RvBieoR4/AuM8CL9lJ2JXzQjWtCiGJ1DNJNwwLZyzcJZyT/bYHuXgAMPDUxit8K1/8a/if/n+v4Hf+pVfnG5wC3UvbXV+00O4FpSiB/Jd0musQ5qX4KrB0b0vgtY16ovfv+khvW0YPfhN5OXJraQgfj6gier8s3dqRzuhALh8+vzx3m/NXmCMgzMeqM18pf3t7FiEnL9/JSlZrjfNpFtxp51vPr6UKYQQaNu6y9Pox7wTF638j6Haeis7V84F0rRAU4+weaJNgmw6n4MeKtiUplUUQ1TBmpdzHuZB8/snQfgoZIfMz5GESJBlBayzWLxDcSFhjSbdRbh/ccEhRIq2qSBlQmF/qkWeD9C0FdI0h9YtZJJCKypI0qzAZHKJLCs6ipjRenVXbI8nEr0zWCHSbhV6HbyzmIxIdFke3NvZxUosWuZ6SqFu6yuUB2dLK+27dFy8d8T9YxyDw/tbCMpFL42qmZzD6BqDw/sztKLtJltR1C5lurHQCIOYHre6hNEtBof35guNNftoqosuXXvdsXwQW1WjR8jKo6VCY7F9rNuqCw4EY8FRav7WYo3qsi36WpzWaupSHcxTyKIrVj05Rzk8AwJnNHawmuoSxfAM1rRIUkoG120VhGjkcKFV051DW18hzYeox+cAPJKs3Cpsco8pmrrCn/33vgf/0ff+Hdx/7mV83Tf8Obznyz6AwfAIQib43v/6f8aLL79608PcCZOLz970EHaGzI6RZumd1WusgkxzJInE2XNfirR85qaH87bBqIpCWJ8yK1xrTS/NKU52uRCd/iFuvylvahbee5TlIYzRazUYQHje9CzcJUmGNMlQTS5BWRzL9vErwRjSJENdXa1laiw+k/NiCA+/tPq/ClImSLMS1tn1i50M4IyjLA9Ctsj8trMxApTVcTAVy8/Y+kdwIZDlJVnP9izIEu2pXeqkiCAWn7WsJbdTiywfUGI54112WMxri5kpLMw1GONIZApjNJI0A+d862u2x5OD3l/TNnQloxtU40coypNATVrdGVh5cC6643jvUE3I0nUlDWtLUbkLuR6krdjuprXoRuWDxayQacjyYHPbbhyDM6hGjwAwyHQzhWc21bOpKEODLHHntRWrboAU8CdW2uHOHcu7IKYeLhUNAHWWWFiJ0qqC1jXy8mj6eWe79+P2MbTPueWOGAnzL3rF/da0XQJ8LEIoi0NC1SMUw5PO0jY6XOXBbUok9G8uJJJsgKa6DBzPBoCHs2ZOoP4kQbWbRII3B+csfvof/iAuH1MA3tf+8X8T3/4dfw1/+a//IP7KX/9B5MXg1iW5VuPbJw4X2RmGd1yvsQpJVkBKiXsv/aGbHsrbinb0GVTj0U0P4w8Uzpq1i31JkpHDVEWhv5TTsN39JboUAQidBT6fObGAdVkfQibI8hJVNeoW5LaCj58doO7N4YjU5eVzIiteDz1jxbvusEJIcLZ5sk0WurzrhsyOaVaXARDlKQmWvlSI9B132sFYRBS+L7p7cSHJPXPGLpgzDmcp7V1w6nxEelaSZDBadXkcaUahfs4apFkBazSSJO+oXuYppCTeZqz8RTvfX2zENGitapQH96a8OsZWfmYVWPBQjiF9WT5cqamgY2wuNrSqUE8uKNcjLbZeRZp1o6JC4SGtsPWOZ71zFeVvPEY+OKb24TaMq7C/aPnaXzT0hwfFJPGsOAjXZ01Xwzvodoy8PF6pY4hOIFrV0G2FYjAv9PbwYGECRKL5x5TmPSMEmxvf5Bzeu6XQPuD/Z+/Ng2XJ7vLA75yTe1Xde9997/UqdUtq1GoJ7Qi0gVaDkEYWDLtYgrHAwITDE8KAxzFMjGcIHGGDwYYIlkEjiGGRzI4FkqxhkYUkQDsttZBa3VLv6n79lrtU5Xq2+eN3MiurKqsqr2i9u/T9IhTqVzcr81RWVub5nd+3ALLKyS2rVaAoWVDr1Q8bupQxCmWx37ibMcabTgpABaY1mooUt5rT2OoeAcgqx1/94b9FmY9x+wd/B2/9qa/D7/3id2Dn4r2HPbRO3Hv3p/C2t/wU0sku3vH2X8B/f/fbcOcdH0KRT3Df5z99rATixiiU2e5hD+PAIL1G/LjQa3QhiGIIL8LG9pMOeyiPGdLd+5Hn2ePKmYryKlZfw54XNJP12u2xD+b1HUEYU/heh8UsTfhX708IH5EbR9+Cpy4OhPDg+2FnwbGqyAnDBErVFrCr9RgALQZzzlfYKU+7E57nQ3jBTMeHYdHm3/PJ5XFV/ghRm4pOLQhjdT7H1L2qTkOv6U5KVmDuNYC+q7LMaIFQSbePxDlOqcY1TKqSiiy3OM0YAxcCUq7PSjnF0cHSZX/yTp4NfjNGUxr0Eo5/fRH3bT9yxqFlSbx6p4dYhXb7rwtVMYF2HH3GGAzTB+i20L5r56docGZpqB3raDXWIEH3uHGckgdwQMonV+AF8dKCqy3sdi8gz3ZdcTLq3mbu/UW6C2ux9LMBNDmjFaZaZD7bXSH+LWuOHyVbxM/UcuE7LLJdcM+nLtPc32SZwRi1UPQoWUAIf+pWpSWMMfAE5X/IKm/0Pn6YuO5I7vQ0kqhYsL26PFcLd3/yv+HOj70Dz3nJ9+Dj73srNrafAG0UPvvRP8GLX/vmwx7eDJ7xnJditLmNj37w3fiV//AvlwgZjw+Oa75GpdxKZl/nuxMGxjjCMMDGNU/D/pV7D3s4jxmMHKMqt2Z0CicXFoz1YwMI4SGKh8jSPaJe9WAlzAu+ATTuSuTgNGqObe3ypO/5cYRRgiJP4Xlhj6Jjus/62Hk+e2ysKDYa/Ypz8lwLSyLzokg7NR/zRwmCCGWRoSwzhGHinEAXdxuGiesKdY+BMUYZI0WKJJmNNGCMbGu1qmnNEYBpByWMBsiyfWdjO9WN+kFERYjbl+f58DyfMjp80tPIlIJY/YDSxIXnw8gKUlUIw2574lMcPSz9ltpJ4tZpKch+9cxSMfFBNBXGkAicCeF4/OtXMqZFzFyAoFZIxxfJtaGljWC8f5ZHzQ+syhTJ6PzKyXj3ygOdI3r/rC5h3TTHuu5OmGyu7Oy0b1jWWmTpFfhBPJN3sazYs0YjG19EEJF93ir3DKOlE1afXbhBGhfmV7uFBeGw0UQYLWf0EUXqCiFHZWqPi0IRJwuFhlbk7BG33Kyqktq7NZVLlikJwgdn3H9X8MMhtCzJTtlahC5v46jgkfs/iac9//XI0ytI9x7F81/+Jjzrxd+FB+76m/Vvvsq4/rXURpAAACAASURBVIm34JWv+15sbJ3Dj/3Ub+IH/9XP47Xf+sN49gteibPnbzh2AvF8/OhhD+HA8MJNZ69Jq3iPVwgvgOeH2Dx3cgL/ivEXUZaLLkwnEcbYhUDfdRCej6oqevHyl1G0fD9E5Ca49Uo8ZTn07ZhYV3CMnfvRcsw/I30/dBP3aYdjVWej3kecjFDneK0ZHQCijVnYbp3K3KSjLmylLBdoVG1E0YCMVToZIQycCer8zOlTuKM2hdEASkmnjWkVeU6fk2d1ujjNy3w/dHOvqaNYFA9n0sc9L0BV5vC8wGk4KMqAMz5DPzvF0cbKYsNoRZPUySVwLtZ2HzjvV2zIKkM+uYIw2TwwzYUxPpNAqlWFPN1BlGwtOGH1DQ601qDI9+kH0UvIPf9+i3yy07y/4whLd6W1RDa5DC68NQXOtJCw1lDGRJAsUqE6vMHpO7yMKNmCcI4SjHWfdyVLaFU569qOHA2jwYWPPL0CPxzMiPit81IHiDZU29gaLWeKm1rk7fkRhNd6vwsWDMJp0nctsq+pXMYoKFk6HQ11R/wggZaFew+JaVclrB8GBhvnkU928Lnb3w3OBW6+7evw8D0fx8b2Ew57aAv42/f+Cf74t38eVVngwfvuxPbZ6/C8F349Xv8d/wI//BO/iB/9t7+BM2evO+xh9sZk75HDHsKB4YVnsfE41WvMI4xijM59xWEP4zFDMbkAWa03YDkJILfJ/sUGUa68xhVqmQZidvvuaQznohE/a61WBgUu7pd0BXGygarMlxYAy4oIITyEQewm5Yaoxz0YH0J4qKpiRcExey7CMIEFZi2ElxQTYZg0Qu5l55QxBs7Fii6LJbpYEKFqFYNcTA12pl0a6woLKhw4F/D8YKGYCaMBmcLUonV3PuvP5Hk+yorsdz0/hKyI+WBhIdXjo2g/CVh6F+DCR1lMIKtsgVO/6j165ZdvHdVJOaoTh8Ty1fguNOJ1LlzgX77UGpb1CA601rgJ7gDyS3AJsdYgT3fgB8mBE6prS90mrG/90WBBE/IwHnVqLuZF5PX46kID1robX1emR4ky3wdjYun3YbSCrDJKGp/7vMYY+KHvnKnGGIzO035b9CprLUqXap5nuzOdnDLbA+N8pjtS5mN4fth0KVSVww9jCC+ALDOAMfhBgsn+BQThAFVBepQDpcxfBTzptpfjI3/xq7DW4MnPeBX2Lt2HOz/xZ3j1t//0YQ9tAVm6jzvv+BAA4Ld++X8H5wLX3HAzbrzpVtx401Nxw0239g7ROmxYo1Gkx0+vYTilaj9e9RqzYPD9CJvnb8Hexc8f9mAeExhVdFKATgpklYNZS8nha/Kb2jBaNba39eS4KCaIomHnM2tdt4JzjjjZQJ6NafGr5zOaBOLcdRw2UORjMLAFC+pVmSDC8xEgoeA/z4fo0+FhDHE0ovGCwetheR1FA2TpPhjja7eP4yGybLwy8ZxxDt8LkeeTWSpYC74folCyCfyjRWDd5Gb4QYSyzCBcsVEXnEEQke5Dyea6YIw5y9uCaF4AhOehyFMI4TfZG1WZw/N9FLKC53uw0lDIXx06eIojje6r31pUJVW2g43z/TUYnEOa7s6GNRp5tgsh/JnV/0YbIvqKsYirX00mRLcZnlvBhVy9T6MlTcQHZ2hF4YAOQcZo6tBEQ3gHLDS0KlEV46bo6gNriUIUD87MdARmtzGtib3rgESjZgK/jLdqjEaR7SMebqNId5aeU63lUl2JtQbWGBTZbmNjS5+1agqTIt2h9zr9TT3WqpiQZR/3moeHkgXKYozhxjXN/qsyw2CDipiqnCB2zlS+H0NrSZa4q6hoh4RrnvCV+N6feCeuXLgLT376K1Fku/jG7/k5fMWzX3PYQ1uLzTPnsX3uejxwz2fxsb99z7EK9JvsPIDjGABVSfa41mvMw/MDDLduPjHFhi53UZXnXHL1yQPjHHm2DwDNBLIPtFEz+Qm+H4KBIXcJ2vMT+z7PziaFO91z7pfrf1OzydekqcizMQLEMxPbdRa5nueDsQRZut+j6Jqu7McJHY/zYa+CtN6escFKVQrpoBKURQo/iJY7cwkPnhe4ZO9B6/2sOTe1cxc9szmknLpD+X5IGRtGLxQ2dedj5nie35wjzgU4FxBCoCopWZwy1jQYCyGEcPbIAkZrVFVxWmwcAywUG1qVKIsJOTlphb6ZEgCF9HUJsmWVQVY5wmi4MEkm/p3u/VBlnKPMxwjjjZ6dhG7Rep2GHQ+2Zxy1sEJg3d6n0ZKE5MnmgXMcmmMPFzURy2C0omTseHNpoQG4FRknni7SXQTRbDBi10qM1hJltodkuE03kiU3t6qYQFU5RmeuXzyuy8YgXc/2rLGAC4gssj3iYAdxY28LULdCq6pJDgeo+KlKEujV9LLaipixabCf54XIyhS+H7sOTneg4FHAcPNabJ59Iqw1ePShz+DGp3z1YQ9pLb7t+/81bv3Kr2n+/cUH7sY7f++XcPHCA4c4qv7IxhcOewgHhhdsAJ7/uNdrtMFPWLBhnl7GoLrpxBYbnhciiobIsn0oWfUOYLPGLkyua6ekvJggDOLmOjhIFgZjDIxzyqioCgRr7OjnaUiMUYekLFKyc3Xv72ORK4RPK/1FhjBabhveXsOh442Q5xOE4TS7atk6D2McUUy5GkJ44MsZ8s7NkaHIJ4jixY4Rc8cJXHdCynJaKDkad81+iKNh03kyc3O/0Gk7MPd91p+lLW6vi4uySBHFI9qGnAUgpXOjEoLcqxiHxzkqWUA4J6u+hgKnODw0V2QtAi+LCeJkC36QOMF3fy/j+odfc/dqm9x6Ut81SaZORT/6kixTVPkYfhD3piwt6jboc1prEA/PzIqI2WpL2xpK5rCA+0w9bqL1Lt35MEY1+RF9QLqUK/D8aKWwmw5Bn7XWxMwHI84XXkZLFOkOosFWU6R0CfqqYgKlSnDPR7eWQ5HWI9mcOad1joqsyNGo1lIoWcDzI1hrUBYTRIMtKFk6aphFke5QoeGRSFZVOZQL9quv1SAaQsocnHuoqpT8wg+winY1Md59GL/7i9+Byd4FvPcP/0+8460/hP/33389Hvz8hw57aEtx5ux1uPUrvwaf/dTf4s9+75fwkQ+8E9dcfzO+/Z/9m17t/aOAIj1+yeEiOovRxhD8VK8xAy+IDyw2PqrQMkVVnXC+OaMVa6kqZ9O6+tlqVkzchfAQxyNUVdFw+a01vYvxRnzsBNBFvmiN2962axR1h0Mbjco9z0xfCri1CMIYeT5emJS3NpphHTDGKb3baU7WgXOOOB6uFU3XugzPDxY6DG4L1Oem0Xm4TAtaHJ6Onwvh3K7SBY0Hna+RO/ez51p4PqQsZ4TgnItGDM4YBwND4EeNA5XWipyqnPamtsCHtSste09xNMABWnnO0ysLInDecqTqC8YFjFZNVgUXvuPQL6E6ue3XIU93oFSFeHT2QDaWRNOqix/ThP2RLep8Rc9gsVrjUeb7UFUBzr0Dr6AX2S4YFwshgatAHRRK0WZcdAYDtWGtQZntEdWqo1tkWzzhWs8RD7abh7jpSG/VqoJSJcJ4w9neLqIqJvT3+WRxTVa0WpWIkqkVrVYVhBe445PGQqsSnHuNTsNaAz+IYY1GWYwhBDnTVMUYtZVumRFXVckSQbxx5LQaNb5wx1+izPdRFWPcdfu7cfPTvg433fq1uOvv333YQ1uKIIxgjcGf/d4v45MffS/+/B2/gd9967/D1va1uOGmpx728Nai1iAdN1g2QBzH8E67GjMQwkM8uvawh/GYwKh8hnZyElGvNsdu9Zx0CMuf3av0D8B0sq9kharMXRZDXwrylBYVRQNwwZFny8P/Vj2foyiB0RplmfXurlgnrI5WBv8tvo+7hO8in0wXZVe6WnGE0QBlmS+3sHU5Yb4fQgjPZZLMbDAzvjgeoiizxmFqIaPDCyBcgN/85+LOEbScs08XXJDuo53/wUivqY1qrh1jNIIgakTlvtOpKi2dON66MMByRRF3iqMAV2xIBOFwwcGHHKkOdkMUwoessma1fKWVK9zFuKKzYa1BNrkM4QUkVGccB+FgM04/LKOp+Ami4YxV7Oy2fGUhk6dXAIAcq3oWC3UmRz65Ai78xga2D2qnrWR0lgqENT7h1hjnJLW1lJZmXAu0Pq8k/p8WF7W1bTMGRxeLB9tNaN48ynwfVZl1hvZpLaFliTCaFnfWkrCrKiZOAOY3N1KtKmgtycXKKAjhk5A8Iotdraom/bwsxtQaVyXdvJZYMh8FXHr4Tjz5Ga/E5UfuhqxyPOslb8RNT3spLjx4x2EPbQEvesU341u+78fwpK94FibjXXz1176uaVFP9uk3kE2O/iR+98Jne1tfHyVUqtZrnIxV/McKjHNEw7OHPYzHBOSyp49l/ktftKktQRjDD6ImnXvd9svQtogti+xg4X8talEQxM3K/mIA3zpqFBU9tKKe91t0dIcQwkMcDResY5uNOnZFIvcRijztdb0wRvePPFvi5NUab01jancG6mJkujl1TOouSNc9NQjjhhI/DyEoKbztsMWFgLEGnvCbQoRzDqMVomiAqsqJIqVlU0zA0rE9lzTueQEY0HTZlTzhncJjDg/AUnFz27asD6w1UKqENbpXSB/gdB5LJgSqypuJZeO8dMCVa8YEZJUB1s7oM7q3ZXQjnBs2aRH24B2AvtW811pyq1oShLgMtc6FdB1Tetoql6gi3wPWBPbVmhQSti92IozRTfeCAgpJNM4Ya7QXbUzTusMFioO1BqoqqFhqFzBK0r6YQDQgC1stSwgvQFWMEQ+2XUtdoConEF4AoxX8IEaZ70MIH4wxShAP4ybl/KhqNQDg/A234bMf+6/YvXgPgnCAs9c9FR/9y/8b1zzhKw97aAsIwwi3PevFuO1ZLwYAvPw1b8SLXv7NePDez+CGm27FJz7057j06IMH2meRXsKVh/8ByehaJBvXI/gyBy4aXWHn0eMnJvaCEeB5Tq9xWmy0wRhHEB6doM5/LIxRK23Ijzvm3bbItYihKFL4frig46B7/GotRY0wSlwuVo4wStabwRgNPmdCU2c8FPkEYZQ0YzXG9Jq7hNEAWutmDH3BhWhyOKJoMFcwdT/DOBcu92OCPoutjcahSBFGg5ln43zORhQNUOSTqatTR/eCc4EgTFC5xO/uz+WhyCeIk42ZjhNjHEEQoyrzRvzNuQdjckRJnRovwYUHKUtEfgDBPeiWRW4tRleqgu9HkLKk/w4iGK2JfuXCBI/yPODxjJW/UOZW0/ugpk15Xggu/F4/VqDWediFCrwqJpCSJttti9eDXUgWWktYoxHNreB3D4YvWOXWORhBNDxwoWGMhqpyJ2bvfzOqyhSqKhy9aXoeqSOwuH0tzI6SLYCzlQUZaSTGnXoOtwHgCos6xLEuIrSWM+dQyQJayyape/67ydMdWGsWtDpElxJNSB8AKFVAVQUJvDmHcpxYpSqE0RBalZBV1lwLVUHhQEqW4MI78HdztfHkZ7wSRb6Ph+/9BJ7/ih9Anu7g8iN34WnP+6eHPbQFvO89/wW/+NM/hD/8zZ/F373vv+KBez4DIQRuue35iJMhnvVVr8D2uUWTgFW48vBnMN75Ii7c/wncc8e78Pm//xM8/PkPYv/i3VAHdIFbC2vx0F3vh14bjnX0IKJzp3qNlTh+naplMFpTUvIJRD1ZnX8mCOEjioeQiqhQbRhjDmD1bJ3tOXVL1i2KUh7H4r49L2gm8U343wHyOGrh+dIuQjPaRc0CheNNx75MK9K8R3iI4gGMMWsoQ1RMeF7QJH53DGgGYTRoqGldVCnApXv74dLOFOe8UwdShyu3Xaja10UUDVGW2UxnxA8i6oRY66xzfWePS2njUURaEs8Lmu6HsebAtP9TXD2sXTqrOw+rVg5klaMqJo27kppcOdAgGBPO/taDtWSdyphogty6sDabw1rk2a6b7Aa9ihTGZmlUWksU6S7i4dnFG9Wa3dXv5V7PwqsOsikz51TVHao3/1ptvxsNtpoxLvus1looWSzVc7SU7FRoDGddpdp6D60lynwfyegcrFlMcaXUb75Y0FjrDAPOzAT3qaqgdHNRt0QLWGuQDM86cdrsDZAxBmMNie0H2z0cxA4XozM34Pv+9bvc9bQNJQu88Uf/6EiG+gFEl7rzjg81eRucC1xz/c248aan4sabbz1Qx1OWE4x3vzjzmpIF9q88gP0r5GoVhAPEo2sw2LgGyeb1EF6/Fc4uXLjvI8jGF7/k9x8q+ABxdJqvsQyrc5yOFyxwYnnmqzJE6jTpssxQFCmiiEw/6NHW7z5eb15rQqg7MVhKw7JGgy8xc6nD//KCnJ+MNfB4PwMMC0uTYMaQ52Mkyaj7M3QUIpwLokcVaRNiuA519ge5NnVnj7Rf8f2QBPFFiigadG+Elj1wNkYQREsLJ98PUFX5rENV/XmYgIGGH4SoqrzJNCFb3Ao+j+D7ISrnBlanjjPGEIZJQ+Vqv5ale06bIxAEsUsnNzR/saQj8RzdSnCBqjy1wT2qWFtscCfSEUtyMIp0FxbW5UW0ruBeFrIExnkzecnTnR5dhNrrufuv1hiXcJ2Ac49oVH3GUdOoMC2glgUGrkId1pcMzx4ou6O2xF2a3j13AzBGuUKDigfipS4vNPL0CtGslvwYjSEtRf0dtGlR03RP+q6KdMfRqziUKmZu5EqWUFUOL4gXxlPke7Sf1oOIxOI+AqdnsUZDyQLR4AwYF5DFGEZLJIPzyF0hS4mjlDZ71LsaNay1ePjeT2D30r141kveiIPYSh82jNF45KEv4JGHvkBZGwfAziOfWdshrcoUVXkP9i7dAwAI4w0ko/NIRtcg3ri2V/EhywkuPvj3GF85GMXrKKFSFBx2auPYjZNUbJDT+sksNrSSa6/hMEwgq8JNcOOVQXPzoC4/bU+T9g3k2T6CMO6cbJp14nNONq61ePsgQYTAlJKVZ912sssmK5wTpaqe5Pd5JHAu4AcR8nzcHbrH2Eznos7VKMusyTzpdtsibUYdQtgNBs44ZFU6u9rpd8w4h5ESUUTJ6Vp4jvI8NemhTtR+o0mrA/88j8KA4YIgPXcPDEIqMOrz63tBE/5H1CkqavJsDM/zUbmE9NP759HD2m9ECOLLz6+E1yF9vh8v2I02Fqo9szO48KFkAaPlgmC5C9M23+LKiVZVK/8ihNFqadtvcb8CFkQzMkquLzQ6CqrusL71VDSjJTTjMyv+HQdsHdrQKnkr3d0uK/BcoeH7MTRbTi2pJ/lxcmYhndwa1djM5ZMriJKtFr2qamhidR5IMjrX2NPWkGVKoYAztCqLMttHmGw0N83aFtcPEsBayCpHEA5aAvgzTeJ6EA17U/YOE1WZ4g9+6Xtw5cLdAIAbnvIC/Omv/whe/z/9Mq5/0vMOeXRfPhgtsXf5vgO/r8z3Ueb7je4iCIeIh2cRJlsIohH8cMPpiCpoXWGy8xB2L37hWE/ehD8kT/pTvcZSmGNIjVsGBgZrTqZA3GjZKzHbDyJwIVDkKfzgAEnjRjdJ40C9Mr/RuDYtJIXb9RRs5tLG08kutJLgwbrnyux353kBLerNFQHLgnRrNC5V2X6PAETrKFI+PYuXFBzztK1wXpexShsSJo217zyYy76IouFCd4W3ctYil1SexKMFxgg5ck0QhrGbW9J14gcxZLpL7qSu2AmCGGm623Q7hOdTURlE8PwA5SRD4HQaxhgwkNi9b6foFFcPvToblQv5q1EVk2bluatVyoXnEh77JXVqWbrci54hd4yRg9W8WLlMoVWFZHS+2c9izsaq3TKU+T6iZBPhcDmFy20Ni9mfbJnvwxiFZHRudtM1z5Mi2wXn3kyyehdqTmedfD4veO+mlpFAPQhrN6flK4P02bc6syqMc6LKnctYu/ishePGkIVy4kTtxqjmgaNkASVL+H48M+Yi24OxutF1UEp42ojSZZVBCB9hvIFschlhvAGjJRU61i44qB1VfPKDb0O6/yhe932/gL/4/Z9ElGxh+5pbcMff/e6JLjb2Lt7dy9p6HapygqqcAF9C4XJc4EfnEG+MTvUaK3AcdTircTKLDRwgkLIOvZNVAQbWSySuOxZAaypQVRUNraqdAt5v2KxxSmp3ArpgzKLtre+HENxDlu0jdsnXy7SWbVDBMURRphBesFIzUu+qDjvMsn0krcU6AJ2XVZ2Cvs7RSng+dDFpQv8Wj0/HqXND6mKnThev7YDjmDpFsRsb6WbIsj6KBiiLlLo0br+161ZZTMP+GGPwhI+imCB2YX+cC+T5BEmyAeH5KIuMQhPLDGAMSpbQQXTa3ThiWNu3rCeNwNRZyVoztWPtgBD+SjvbGpTzcAVceGBcHOCGwGc449ZaFOlu0xlZ5bywdCxOZO2HA/hr7Hpb72r+n8LD7EqdyeLbbZNv0otyZi20UZ2FhvsQczc/i3yyAy+IusXgLZT5XiPE6oLRCrLMILxgZpspvQoos/2G+mStIVcr14WqypSC+1TZvF9WGawhK7v6OyuyPQDMdU0sqmJCwndnX+wHCZQkx7PArZocB+xeugfX3vRsPOWZr6Yb8eAMbnra1+LSI5877KGtxz9CD7P76N2P4UBONowYIIrjpZTVxzuM1tDq5IR3ndCmBgAcmDdvjUaSbEA3gXursUoTEgQRrYA3eRa299yifp7VRcYq96dlFrlcCKcjSWFc9kQfq3wLC98LXPDfqvnTdF9CeIjC/i5VUTycCdPr3DtjEJzmZBTGOIs6O0MID74XoJzJypgGApKDVUyp31zMzAmF8OD5wUJYYU0Hly0bW+H5MFpDSVpo4MIjKpcs4Qm/cU3ljDen4DTk7+hhvUDcTRZpNX0XQTRY66zEuIBdw61t05248Bsufh9wLpoVLmst8slleEHcnenBGP3QV2hItEvRDqJR75UzxmohExU6XPgHXmXPXCp4EA6ge3x+KqpIK9GVpNsOLgKAPN2F8ILp9+XyLeZRFXRTFitcxLSW8MNk4TPWovEyH88UIsZolzZOup4gdKtMjjtrtEJVpAjjUXMT0qoi9y7nUlWVGQCilMgqQxAOoGQBIXxoa4+NVgMArnnCM/GBP/0P+MCf/Qy0qvCx974F//CRP8aTnv7ywx7acjCGb/2+H8cttz0fVy49jIfvvwsP3f85fPH+u3DxwgNrV8jS3QcPpFl6vEMq7rjKxyOd/WpDyxzp/qOHPYzHBJR11F/XeNwgvOBAvmHWWspRiQaQVYE8nyCas2yd2d7Ylav/xPHnTseRLC1MOvbcFAa1aHmZDsNau1RnwrlAFJOtK9F8+i0gcOEhDiLk+aTpjKyD8Hx4RiPPU8TxYGVhQ+L8EbJ0r+k0LEPgugVT6lW9D95EBPhBBFOkqErXjWCzelrPC6CVgjYK3IoZ4nsQxJCyWigchfBQVQU8j/QeQngQnk/ZG57X0OdkbXXrFmHrfBGtJS1Irrh+TnH10esXwMCQO31AHwtXzlaH41XFhJyMhmchPLopUPeh31JPfbEbo5FNLiGMN9aGBy6jUk0dp7aXCqeXjAKwBvlkB9wLDlhouOyNVoG0rvtijKbOzfBsZ6EBuJUW90Ms0h1w4c2MixJAZ79yWabQSiJKNpc6fNVFQNdn1FpCu8T49t+1u0GV+T648OD5EfFghQ9rgSKj5HAlSwiP0sLLfA/CC+C5f1f5GH6YOIcyyjmRZQZrj1dXAwCe+aLvxJOf8Ur8/ft/E0oW+Pj7fgPDrevwktf+6GEPbSmuu/HJeNozX4h0vIOtM+fxnK95NV73bf8zfvBf/TzOXbPeRWvnwjHo2hwRCH/YdDhP9RrdyMYXcFKsb7kXAWAndjL0j7k3+0EEz3Hzu9y6ps5Vq+F5ZLNbldlKcfj8vttjDwJyUFoa/rdiv+RyNURV9g3+m3YE4obyZDo2WZwr+I42VOSpOzfL5xNN6F++uP/2NoClgD1nidv8jXOY1vsob0S5ooEvaGSDMHbzl47AP0eJap9b4VG3onBdlbpzEYQxyiKD8HworRCEMbSmQiYI6BieTzkhjPHTkL8jhpVPNWvIhtZaizAe9X4ILlsdr0XNwgsWdA01NWrZRLoNzgWkzEkfMdheKxBmnDiYYk5QXhZjaFVhMDrXCrLp39vOJlcQD7YWciQW0RJ2G0ruDqPhTJjiqtUIrUoUGU3aV610WKPBuIci24Xww4XC0Bg9c65UlUOpCnFLnzJ/T9SqRJHvO/vg7kKEi0WbYq3KxiO71qLIKofnUzBfEI3AuAetK3Cx6bJMRqjKFFx4yCaXnY96gjy9QoF/+RiMM2glEQ+Pblp4F774hY/gqc99Hb761T+CvSsP4pobn4HRmRsOe1grURU5jNH41Z/5X2CMxrlrnoAbbr4VNz7xqaiq1TfyKt8/MavQVwPeqV5jLSZ7Dx/2EB4zMBGCC37KK4cL0Zt78Ph+6AqOCfwgnHGHWmt73wLnAp6zW7WWbGpXj2UxY6OtjYha9rrWmLW6lDaVqF6hXwZrp90azgWSwSZpP6Lh3HG67xFBEEHJCkWRrnf2YgxRNECW7i+E8E3HQ/OB2umrthamfKtZBggJwvfJVcpoTJUYVLgkyQbybAzfRDPHEp4PK22jyQCos2E0GdLUHRPmqNWMKWhn+iOED6Uk4Bgd1EWpyCJXlijLfIaifYrDxdIrUqsK2eQSrb5Hwy9JmNeumrWWFPrn9rcwkDlO3yrU1Iy4b0p5R1hfke66pPN2RkO/i9Jo5QLoehQarQu93YlZltredawi20c8PLP2BmstaRyYm6Qv/L3V2VCyRFlMECdbc2NtjVdLFNke4uRM53m2RkPLkjQVswOBUYpMBFp/M1o2BZ3nR46C5VGBwT0ADJ4fQbYyOrQsoKocvh+jqlIYTR2U43YD+dzt78Zf/8m/w7nrn4ZbnvlPjnyhAQA7lx/B5z/7CTz7Ba+EtRYXLzyA2z/82HGwkwAAIABJREFUl3jXH/4q9nZWFxI7j955lUZ5QiAGiE/1GkuhZI5s74vrNzwmYDyE53kLKdonBbLKe2eIGKM6ny+MkWBYKzkTADjvRLV+/xpJMqJnaVfA3cy23d2KJs+jSKfhfz2LHmst2c+W+cIkfWa7OcuZOo8kLyaz2oYVjz7PDyBcXtkqMMbAOSfReEeHo629YIwhikfO6YsKQ9OxfRwPIauycx5Xs1eKYjbwTwjPjUU0Og0y9QGCMIJSsrGyNa6boWQFIQS0VvD9EFprKFUhCBN6rWaoMJx2N44QOn8psswampMXkHvQwR1l2pkVmbNp3V7Ks6dW2eofiHW2q8Tj83FQ2lWzD0cxoolw+8e9fpdaVSTq9vwDTXity6aIkq1usXbHroyedXdaB2M0hBcgjDeX/r3Wu9Q5IHUxZOd4k9boRogOhoWOSn0e65blzHGshrEa0WBrxv7PWoOqGDeJ41LmEF4AWWYI4w0omUMIH1XjyOGhLEgLolTZWOito8wdRTz9q74JSpX46Hvfgns/+9d4+N6P45H7b8fOxXsOe2hLsbV9Lb7i6V+F137LD+E73/STeP6LvgHnr7tp7XVvtMT+pZPrGvXlQKX4ab7GCmR7F05UAB4TEfzgZBYaAMA50XRUj0VKrVcHAEbx0FnKEt3GaN3b6QqgDgRjNLHmnK8Wfa/QMXAukCQjlEVGtCG76EbVvVPbFE5SFpDLxMsdQ6opVe0iZ90cpZ6AlysKK+ayysgFK3Gi/NaOnfZiOg6OOB65fbLO3CTSqQyhOuaKtehcCH9GvM0dJYu6EdVUdO8OEcXkWkXUKUkdDCcs16pyWRwRpCzBOd1DtZbw/ACeO9Y6beEprg5mnmzWGpTZvgvpO4t6Bsy5B2v7JwYDaIL6aIVDLob+zYFzb6VDAk28dxCEA/hhAq2q3isLjPNmsptPriwXk4OtXDVQVU7dgOFZqCrvfREbrVAWY9cJ6XrAzJvoTkXr8WB7Gnq44vzVdsSD0fml21hLzhhlvue6QtNzN09hK7I9ytIQHpQsF2yMi2wHXhDDaNkxltSJ8qb706qE1hKDVv5I3S2LBlvO0lehKiYI401U5QSMcdJ4GA1ZEn8zjEfHIldjHvd+9v2oign+7j2/OPP6Tbe+BG/4gV87pFGtRlXmuPfuT+GGJz4Vt9z2PNxy2/Oa19/6n38CO5cf6Xzf3sW7Gwe7U6yH8BMYcKIKnIrDO2AxOUFdDQAwiBAcIFfiuEF4PpJkhCJP14bkGa0QrHFLDKMEUpauUMCBOkJtPWQQxKhckGBXPoVZM6doW7rOG7IsPb6bQLc7BNS5n/0MdolrVp1wXhQThL0YEQzCI6ZAI9xe/CDN/EUIH55HLmC11e18NgZALlueH6Ass6UaU6K+6SYlfOaQnAwwyjKD4MJRyqafl6x0J42Nbx34R8WTauaHvh9CyhJKSYRAU6horRCGg8aON8/HMNZAK3liO4jHCc1sUMkSVTmBHyQL3Qfm6DV2jvO/CpwJlPke/CB2nP11gToCtmPi2h5bO9+h6Vb0WFjgXECWGaTMEUSjtTawXZhmeLS7DD2KDWvd2M8sdZkhvdv0/GhVoszHs/a2K1ZRqjJtbGtX3fys0agKt9+577HO0QAo98Pzw6Yw0rqaCeIr8z1w7jc2dTNjKSaQZeqK1SlqSlWTp+EoWH44IHcpVRIPMwjABVHqmCCLPSq06Ds/jl0NAHjS019OlL05jLaOHp2KVpMypJM9vP0tPwXG2Ixe44abb125An9qd3swePE1iEZDcHG8qIFXC2V6GeMr9x/2MB5bMB++d7K7WPVqflmkKJREGCWdzzCLfq5cvh+Cc44sG8NfYX27DkEQuQ7HGEGYzNzL+ixg1uF/WbqHqsrXBvG1i5I6CyTPJzC2I3xwCbhz6irytKfYHAjjBGWRNSnbM59hXiMTRLBljqJIEUUD8EbDOgvfd+Yt5fKOlef50FpBynKmyBRO6E1J7RNELnOjFoBTkniAssgo68TRp/wgQp7tN6ZAlNMxRJbuNv+uncPieAjOODEhQGZFZZXD82cLm1NcfXgAmok4ZVQsaSG6oD6vxw9cq9IJfX0E0ajXQCj8ZnHyXou448H2zA+kznLog/oiXZsIXm8/t2JBGRRmIXRvXWdDawlZZYgH22vsLKfuGlpLKjSG2zNjtdZ0isirYgKtJeLBFrLxJWDJ56Ouhmm6FQt/NwoiiFFke2BMzGSNGC3B3b/rjk6UjFpaC4KSJeVoeAG4mK4kaFVR18XRpwBAqdJR2Rylqsqdo9UIVTGB0QphNEI2uUxFjzMpOI5dDQC4/ubn4vqbn3vYw+iFl776W/HsF7wKv/Zzb8aLXvYGPHjfnXjo/s/h9g//JW7/8F+ufG+V76Mqj+d3dGjgA8RxAtHTMedxBatw4b6PHfYoHlMwEYJx4SZAJx9hNIBS0nUTZu1c6wyKvpRkzj0I4UFWJYzW3av2LXSJzwGyZCVHpgmCIIbn+a3MqPVjYYw5ZgBDWWQIo+UFR9csoaZG1ZN72nD1fKKx083GUEpSinjX2Fr/HTqKVFnmCMNZQ5r5+UsQxqjKvJnsL5tf1Z2Eru5FDUpEH4Nz0RRzXHhNAUK2wBMMBpuNHkMID0EQOW0IzdvqTxhGQ6STHQqL5gKcc4TRALIqEUYJhOejKGjR1Q9CKmacTsZo5c7XaXfjMOEBgOdH8IJ45Y9MuIRoYHVXoKbzxIMzKLLd3gOhSWT74qdAOi4EksH2wspHXQ2vQ1VMIKsMnt/X65q5PAq6IebpDvEV59O91wg8agcpz496rdowxprskbhTo7G4+iPLzBVi1Dmy6L5R1loXaq92/+BMQ1WiSf3M+x3n1WiJshg3VC2tqkbsT+L0MaJk0xUstVaDHM248KefyQnZo7rjZS1UVTSBjLLK4IcD8uauizTGOpPNjzre/p+/Bfn48tK/33jL1+A13/2zV3FE63HhoXswfuolBEGEF778DXihe31v5yIeuu9zeOj+O3H7R947I9qsUWSXAVxzVcd73CEVh+f7jvpwiiksrjz8adKGnSB44TZ834N/gmlU8/A8H5wTtSUM4obWYow6UIeiXggk/UC2NuXbGk3hsh2YUqImsEaTc9EBV79D5zQ1n1g+N2h0rapH0QBlmc0UK30KHc45pa07C9vFDzZ3nHiAIp/MUqoYOoubIIxJH6LkWltfJUty+5oremrNSxwPkTlKE+d8RjvLuUAYxC79O0RV5q3CYoAiH8PMa0aSEWQ17ZZ4XoC02IUfhFTUeD6KPEWcjIiWbU1DTZOyPC02DhkcoLbguoucC7+Tnz8FTWiN0ZQFUdvDHUScYy3gtBXZ5Aq8ICKxc8fYGOdr3avKfB9GK8TD7QONw4LGUaQ7EMLvFFyvsrJWVY7CCew5F2tXLGAttJIost3pexY2me22KFlCypwm7K7luexGWbqMilU3D2M0tKa8jdnjmub/p4LxRVF54fQ01poZ3nmR7sLzo5nOTlWmLoGUXqu7IV4QOx0HFTxalvAD0uf4QXcL/qhjtHkdRts3YrR9I8pijDyjUMaqnKDIdnH2uqce9hAXcMcn3o//5z/9OPZ2L+Jtv/Z/4X3veTvu/szH4AchnvHcl+Lr3/AmbG6d63yvOk1uPRC4l0AbCwZ+qteYQ5lexKUvnkBXMzGA5wdfMg3ouIJzjiTZgJSlS6a2JA4/gNi7HQBHE3Tm8ii6n7HGrg6uo4JjBK0VynIxLXsZ2qngYZiAN7kV3eNYNr0KwwRgQFks10F07SyMklnR+OIIZ/4VxUNooxvBPmNs6fHCMCGN6wpDBsY5fBf6N7/oy9xCcB3SWAvV2Rw1y/MDMpPResbditw0I8rmaO3b85ww3M1Da0etOuXc9wNYa6BUBd8PoWQFr55jyOpEGUwcR/ReSlvlSEXUn30EQTKbHcG44973PAxj5NZQpmu1FWxFZ6MOgRPCRzjYOFB+BmMMRmsU5V6T7r1srF03FlllULJsOUitX6mof1SD0bkVGSXTYkNWOdGzkjMzbk9dd7Qi26NQPS+EWeIMorWEURKDzWsXxltzWPN0x6W9zxaRjHEK7vN8eAFlaNQrCGU+BhceGOPN5zJaoipTeH7c7KcWowNUiITxZhNAaLQEYxxhTzreUcPr/9kvAwB2Hv0C3vHrP4I3vvmPnJV0iT95yz8/0k4ZRmvce/encO/dn2pe29q+FjfefCvSyd4hjuzkwPMHGGye5mvMQ5VjfPELH+5NlT1O0NZHcIKdqAAAatL5cq1ZkFXRiMdXUZDmYa2BaFF3wzCGUhJFPkYYDRa1iFqvpavVjldlmUEb3Uv43bgmOZAORDQdjnaBM29pO49ab6DXZBc14wVrRONlMXEhiMHMFl2IHXWJ8jy6aesAnY8wSpCmexBzuosadY5HHA+dsHx67ptgP0HWtp4fNHSxWnhen7soGqLIx7DGzLzueQECJwRvd648171IBptosjWMos6I63BIWSLwIxhrHI2ODHaqKp9S1k5x1dF7qbheVZ6/+csyRZHtkqXrvAipJ9WphrUWskwRD7fXiriX5XIYo5CNp/kg7bH3AmMo0isIo9EaMfKi/VtVTFp0oH7HJLrVLvwwWa1HsBZgHLLK6Bw5l6rpnxeFbUW2C8YYgmi41MvcGIVisgPGRecN1mjKywiCZCZTxGhJTlUVBb/VxYBWFYQXwGgFrSuytFUlhfdYizwl8bnvuJ5VQR7fnhfAGLKz8/0IVT6G8EMoWcB3K0fHGXd86Pcx3LimuSaFF2K0dT3u+Ye/OuSRrcbmmfP4pu9+M/75j/0nfOeb/jecu/YJ+PQn3o8s3T/soZ0IVPlFFJdvR75/H4rJBcBQZ+/xDJnv4P7PvhdV0T1hPe5QisEPTnAXyygFuZpC7QcR/CCacRnqtWuz2AmhpHByeZJzuQrtTsg6COGBcb40ubwN25HH4Xk+OSpl+7Np2XY9PaouVsoi670ARTkZIypU5haCl5QRiOMhlKyow7HiOIxxCO41Lk8Lf+fC2QSLRn9Rj3ue4u67YL2qzBeKnKm1sVm4Djw/QFXmFNznIDwfXIimW8IFCcyVljCGaFNBQFa41lpXmJLFb1UVK7s1p/jy4kAzOMadQ0Czcr0Paw2SYbetraipVz3cn8p8D0oWSOaE0UvH4kJi2qhzKeLBmSWUhNUrDEYryCIl56g1/L75YJsy33cUsjMr3jULJUuUOa3qrwtNtLAwWsFo6TQdc59jrtgo830ArMm06Lrp1lqOIB5ByW76i1YV/DBZKCS1lmBcoHICeNqf6yAxjnxyCcnwLL1mDbhLNg/CAbSjTWktqZgIYiryJrvwgxhaS7d/+jx9TQaOMm6+9aW4/QO/hXe89Ydw3c3Pxd6l+/G529+Fl7z2Rw97aEvBucB3vuknce7aJ0BrhfPXPhG33PZ8/Pk7fgMf+cA7D3t4JwayyvDoA58EQHTVeHAGyegs4tE1iJNzgCAby8cDyvRRPHjXB09sGJfwR+C+B39FkvRxhy0vpNB7m+uu2VroK6sSxpi16d4AmgnuPKhjstGIhOvV8HVdhZl9W4vAj6jgaGkNurDMIlcIjxK38zGiKFljDLMIzw+aY/cVqsfxaCbhe807EMVDFPlkZRHWdB5cMvi8sJ8zDt0qLsgpa4I4oXM2XziEYYI8H4MY6gbtdW5iLgwgqwIingY+cy7AhYeqzCDEhtOo+DBaw1pDOgyXpVE7dXme76YgHEYr+GEAqUoITiGAVVUcqJN2iscOByo2hKAsDO74+0IEi+nRLXDhQVareZC1FkB4AaJ4k9Ii16VyO5CjAv3o64l70spxWDzWcu4kdRj24PW44dVHryt0Krrsooi8Oe7iCoJx1LNkdK5fcrq1UFWGweZ1S0Xg9etKFlT4tMZjjQafO69Ftuv0KLbzxkPhf2MMNxcFv0ZJKFXMuIRRQeOjzPddp4Y3GR1KkrWtH8dQqgSs05L4EQX7VTmULBElm8jTHXh+BFXlFCp5ArjNN936UnzFs1+Duz/5Htz/ub8BANz4lBfgmS/6zkMe2XKcv/4mnLv2CXjH238Bn/nk3+LJtz4HL33Vt+JVr/te3PHx9yHPTubK82HCaIl0/1Gk+48C+AzRJQbbiEdnEQ/PIx6eBxMn0MbRGuxfuhuPPvCphpN9EsHDbfhRhCDs+5w5fmDyioWRAFYv2Flbr4wPURYZiiJFGCa9nakWjutSrKsyb+hM9et9YI0Bd8GaSTJClo0RLZnAW2sbKtE8SJtCnRY/6JfFQTsl+hBjpEOJk+HiXKajGVFT0+rxrnte1t2EyfhKkzi+dEBAI6JPktF0PHMGOUJ4EJ6HskgRRoPOOQ/Z1e41NrdtCO6hVClkVTSsB8ZISxz4pA2JHD3NWoMwGiDP9uHFPrmZgRFdzgJSVYiiBJPJLpSUCMOE9Buej0oWCMLVZkin+PLgQMUGFz5klTcp0J6/+obJ+erk8TpkL4iG8PwIWpXL0zU7ULsbSJVDVfnKQoMOOHWZakNWOapygmR4FlL2a7XV12rpRGHzwupVqAP76vEarA7sM1qhzPe7OxoO1hqwJh18jMFoVsA7n4xa5vvgnMPzwwULW4AKhyLbc23LxctEa4kgGs10gIyWRNdiHIE7H1qV8PwIVTlBnJyB1pT6WZUTKigUZW3kk8uU/qmoq8Gd+1kSnV049rEEY/jG7/k5pG/4N5jsPIxkdA6jM0cvY6ON2irxnrs/Ba0V7v7MxzDeu4wfePN/xDXX34z7Pv/pQx7hyYcxGun4ItLxRQCfBeMCcbKFeHQO8fA8ktF5MBHgOBcfMt/Bhfs/jnT/4mEP5csOZQcYxYkLNDuBkLtAdbHXvEJr1TxbwiiBrArk2T6iFR2FPgjCGFKWyLPxgSaVtpVlxRgVDHk2gR+EC7qF+nm7DHVieZ4fZEHGgjFXcKAuODZ6djh4UyDF0XAtE5P0DmQXG0fDTpE+nQvbdC7a42Fs8RBBQE5WlBC+OIC6KCqKtCmqanDBadFRVeDCm9rlOnq3tZYKBn96rwujBGWVN+niQRAhS/ddoUNFilQlBoMtKFkSbc9R7fp00U7x2OJAxYbREtYoesD1+QFwojp1Ca5klaEqUsTDM81El1LE+ycPMy4oydqPkYy63XFaWzsHiVlUxQTGqMbOlTHWk9fHoKoMQTTqdKtaBlnlLvSuVRit4E4arZC7tO7VgX0GxihXdJ1dKF6MnQYylvkeiGK16Y4h4QfT1qJ1TlzxYAtFRtu2QVxqu6Bp0Y5b2aaSaVVBu/0zziGLHJx7UKpEnGxBqZJE5X5ECfY5CfubrsYxd+i58+N/ClktWsTWGG5dhyfd9rKrOKL+uHThQVhr8Q3f9AN49x/+Koo8xeYZ6nIVRX/nllM8drBGI5tcRja5DOBOmtQkm4hH55AMzyMenaOMGyZw1AsQVe5h9+LnceXC5/t1d485uBfBgCOOT/BEp7oMVBeGwPr7tjF6RtjsB5GjEU0Q+NFC6nMt9u0D0glw5Nl4IVxuGeyccxVjHMlggzol7TwMOM2Gvyb8j3FE4QBZtrfw/iXvQP2bFZ6PmI86KUyrjjcYbCBLxzC2x++JMSTxCHk2RhDGi7kdbMoGEcJr6FdRPFw6F6ndp0jnsUhh446Kv7gf8vaKHCUscp/Zc4VEHA+RpftgnIML0aSCa6VgrYHWGr4fIowGSCe70C5EUqW0eBk4erbnBc31cNrduLroVWxYa1Cku+DCc3kJ/b8kzsSCI1WR7cFa7Sbcs0F96BvUZ43j/oeN6Hbte+ZyPIpsH4CdoYIxxmHsmoLH5UQIP+p9bIAscUkAv9ih6LKtrTUoyegcymx/bV6HkiUGG+c7bshk5csYgyyzhYBCO3cTr21sAbawL6NV05VYHK+cZmeAJkZaVfCCuEmlJ92JQjw4AyWL5iZqraEiz3WrjFGIw8XE7eOGv3nXz7tV6W7cdOtLjmyxkaX7+PD7/wwvfNk/xW3PfCHG+1ewsXUO+7uX8OjD9x328E6BKQ01T3dwBXeRk0y8iXi4jWiwhSjZhh86+gMTWBb6edXGayTGOw9g/9I9SMeX1tuCnyCI+HqEYYwoPqGccZ0Bqr9LXZf+glboN5DnFFZb29sCaOxUe+/fGoRhTItg1jb0nIMiCGNUVYE8GzcT5D6OVQBgYeD7ERhnDcWoLxif5oDUdK719rjUPUgnu1CqWp0tYafdhjwfg7tE7+meZqlSnAv4Qei0GcvnPXWIo9aqU7PCeU25yhDFrfPR0omUZeY0MwLSuXRRp2iMKEwgXZejThc3ltyshPCoSyZLeH7QZJnE8QhlmTkB/7ixxz3F1cPaYoNW0ojq5AcxinSn0/loGRjnsFYD8GCtRZnvgXGBKFrWDWBr92+McoF/fm8+P2vZsQFw7/cWuhL1jWQZ6lV/LsQBfJstpapX2RIqVIemw+hG7F6L4Zfd2qwxLqm82wWLuoqMBPAyp5DEmb9PnTXKfJ+scoOYioHWzaKe2AThYGHSUuZjgLGZ70Orir7rpO6gKChVIoo3wbhwlDWNeLCNbHLZXSsG1mgIL+yt3TnK+Ibv/hloWUJrif/v7f8rnvmi78B1Nz8XVx65C7d/8LfxnK/9vsMe4kr81Tt/E3s7F/HsF7wCG1vnce/dn8J7/vgtp64eRxRkJb07E6gqhI8gHpHDnuvEBvEm2U8z7n7LX6ZVPqthjUaRXcb48v3Y33lorRnGSYXUMYZxvLBif2JQXQSKBw70lmUT9jgeoqqKhhbEnOh4mU6iC6QNIIeoIp9AFymiVvFyEARBBMlYQ/NaZzZToy5KgoDSuUk4vtgZIOv6xffXFre1tW8f1PkTVVkAYEuTxtvbT2lSo+kzvGMu5HkBrDEo8rT5e9d36Puh03lsLlDiiMIVojL5TEFEwnIqUITwmsDG2gGVc44wiCFV1XRuyKZ3gCzdg9aKHMGCGFm61xQf1tqmq6GUdDTuHL5/vOmnxw0ri41adB0Pt6ecfra+GGiDO/cALkif4QXxSktZ8mFevn9jFIp0F9FgC9YYaNVP40Ficg1YizyjoLnORGrGl3ZXao2JHyQQXuAcn9YdmJLBKXtju/OHOR8wao1GPrmMqO2qtSSFlAqAK42YqhsU0JOnFCg32yGxIK4oh6zyJgQRmNrb1iiyPQTRwIXsTQsBJcsmpb2NqsoQxhvNd0mdDA++C//TkvQaRksYrRCGGygVcS6DjhvyccSNT/lqAMCnP/wHuO7m5+Cl/8OPAwBueeY/QZ7u4JMffBtuftrXHeYQV8Jai7//8F/gox9812EP5RRfIrSWyCdXkE+uzLwuvAB+kCAIB/Dd/zw/gvAjCC+C50dosoIYMHv/aa16WrqHWCObDCBZTlDmeyjzfZTZ3oHsTU8ihD+AtAxxHK/f+DjCSkCNqbvRG+vtYIXwaGU/HlDx4PdnfltjwB3VKWoXLz2dnubh+6HL0hivHXszhpYrTVtLkgxGvfdRp2fn+YRW43uNfdqxWJo0PnMM0RxjmvjdvfDqBxFslaMqCwRL6N2Mc3giQJEv6k7qRcUoSpCl+86VTIAzAa1dgRhMOxBkl0tzQs8PoFTVOFIxxqmbESaucCHmjecHqKocYZjA98hCN4qHSCe7DZVKSXlyC/8jiCVXIOUhMMYW9BmcezBKggf9fvRCkDtRVc7qM5ah9m/uSgCRZepW8M/SSgckZM+HGImnS1RFijAeLRW3L/uBWWOQTS41trrG6H6Jn9ZAa7lAGZvbCG3qERUFs0niFotWWvWYosEZyDJb7sJlNIym0L6u0CPGBLSWkFWGZDjtemgtEbrwvSLbhRA+/CCBLLOmCKnF68FcToiscmhZztC1ZJU3BZcsM+p6xBtIx5cQRAO6rhgHPG9GQ3ISkO4/igsPfAqP3Hc7rn3is7C/8yC+8A9/hfPX33bYQ1uJF738m/Dsr34lfu0/vhmMMXzl816GOz7+vsMe1ikeA2hVQatqpgsyD+EFvew7tZaP245FH/DoOiTBCaZQlY8C1aXpP8uc3JWWTOa0VmA9gizJSpaC48jStn+xNm9PGwQRPM9Hlu4RLcmb7dr3WUAl7cIIWbrXi4ozv/Lv+yGE8JCm+zPWuu1E8i7USed5Nu4nnmc0XYhjKjh8v0PkPjd/4VyQKD6fIIqG4G7htwtBEBOjQhYzoXvtfWmmnM5jjKhV4AkXEE3frRO1xyRSl+X0HhLFQ/q8jkUiBH3uMBpAZ/tQsmqocX4QIU13YQzllfh+iMmknrNEqKrcOVIFTWBwUaYYeAeTBZziS8fCVWuNRja+DM8jW9v5L4IL70DWhFpLyuIYnV1baNT7Nx37LzL6ccfDcw3lpylMeoAxBiULRIOtlS5arOMHZoymQmO43XQa+lyeShaoihRBOFh9QbsbkrUG2eQKwnhjkR620K60jXUtTQbsEj42JXT7YbclHv3wGIp01xUG02NYo+n7VhWsMTP6lPrGXOb7iAdb0FpCiMDtU6HKx62VUSoUwdCcP1nliAdnqK9iNPxwAK2rE9XVaONZL/ouaFXhD375e/ArP/k8/NbPvA6T3Ufw/Ff+4GEPbSl8P8TLXvNd2LtCmpONrfN4w3f9S7z69d9/yCM7xdWCVhWqMl37v9NCYzUqFSCK4pmO8MmBBdQ+UD7cvBIE5ARUuPC1eRyEEsUYrewDOFDoHb13UaAcJxsoy2zG+ZLE5/2eOczRhZWSKMs1nZwOmlHj7pSPW4F56z9TneytVNXLtdPWmox4ROyDHtk1jPEmE8MCS4sNAI4KXTr3qVnUKeKcC3h+OHMdcM6hTU2D4i6FfIKaQt/+vJELIdStYL+a9tV2vaozOIpWQrrgovl+iEJFnQ9rDcBooVWd3reuGmZ+7VpVyCaXEUQj+EuoTkSLWu8YRdqGXUfF8fvTrrg313KnyTJj3GkSWu04Z822DlpK+MkvAAAgAElEQVRLlPmYdABrV+nmXJy0mlKa2sUSW0wQb4Msgid0HnvcHK01yMaXESUbKwIFp2MjW9pgJmm962ZZZHukpVjSRrVWQ1b5DN2pHg9AzlxFRrQ1YFqAAORKxQVZ41pjnH0efe9+NGg+h7UGZTGG77okWrl0Ty+Adta3WlXg3ANjvBGTnyTEw21827/4HTzzhd+BJzz1xXj6C74Z/+MP/wauv/m5hz20pbj2hifBEx7++Ld/DgAw3r+Mj3zgXXjBS77x1DrwFKfoCS/YhLEMcXLy7msAgPISIHdmXqonuYIL5Nl4cQFPa6yyjp1HnckhPN8lfK9mNHQ5T9YgWtIGtFYonasedTb6U6Nq8TYsVhYcbTvdNoTwSLRcpE1Cdt/je14IrdXK4qHdJaFJOxUc7Un7sqmTEB5N5st85dSFgcL6tJIdY2FN54ToZ7w513xukZhzQZoW59rYLiZrClk7RZzGKGBhqYPmQBQq3uyHCw++F6AsiIkhPB9SVRDCZXO4VPNTXB00v4KqTJssB29Fa7Dmz626Cqciaq9xeuq7GkFR98q9xyCf7FC1HS9LkZ51TJiHkgWKdAdRsrmySm/21gqraYu0F4uU5cclznKKeLjdyz3DgjoEYTxaKopun786HXzGCatjKGUxBoCZDsM8VFW4zJS5FqtzqMqzHYTxZvN+YxS48F36d44gGsKamuLFUBUpFRmumJiOF01HqczHrqCwDQVLlhnAGIUBHrJjzpcL5294Ol7xLf8H3vCmX8Wrv/2nwYWPT/3tfznsYS3FhYfvhTYaz3vR1wOgCcKH/vodEJ6P657wlM73cH68rYpPcYrHGiy8FqONkePpn0DIHSC/v/NPfhDBDyJk2XhmwmisPlCWhnE5UbW9ae7yEpZhfQ4Ga5ylinzSUGv6wFoDzqZZDwCoE9BFv15RxNRFj6xyd276d1bCaAAlq86ugjsy2pOCuuAoy2xh4t4FoosN3Mp/9zyHMQ5jDKJ4SCnwWrf+NvtZwjCBsQZVVTTskfb58nzK3TBaLxSSJPI2c983dTK0c72i7XyXHK6dILx+FlHhaYyB4ALGaPh+AGstjNEnOkT0KMED0AiDk+FiPkMnGIOxBrwjIE+rCmUxRuDEhkCjRkCfHxMXorE+LdJd2s+KlW4SG3UPW5YpCbNrvURPW12AOQrUZEE70WzREWoDoEnCXhXA14a1FtIJqVfTu+gHTF0ezIQIdt3kqmICazSiZBNlPoHwFyeBssygVNlZyBmjoWSBMNmcKUS0ItF4me0icp0mJQt4XkBCeFUiGWwjS6/ADwdNxoTnkbiuplxEgzOoXGtVVjmYE9IvS2E/KaiKCT778Xfg0x/6fVx+5C7cdOtL8KwXf9dhD6sTsirx6U+8H69+/ffjmc97Gb74wN247sYnoywyPHT/XZ3vMWID0r8Vvs/gCwXoMWRxGXicC4RP8fgEEyEKKXDm/JASjk8a1B4gL2PVgp/n+RBihLLIoLVCGEawpnvFfxlMKwCQEr6JCmWM7hQpG9OvmKlF22WR9cjBIMzrO+qE6qJ2mmodd61RrSt6anenfiBqVpwMURb5EkvdDtF2K1SvLoJWWfhyLshQJ6eMkAW7fs5htWz2m+djhGHSiNEZY02RCFAGR+E6OVMjoOncKghimvw7x6g2agcpxnhTRHieD2OoY0JZJFRoRPHA2fNO9SdlmcJaS3MSVcGCChxrDMoiQzLY6Dxnp3js4AFUEXq9XQ6I6mSNAuYm4VWZQlUZ4sH2zKoCc0Euy+lBbVDHIJ9cQTI8u7bVOqVSzY69LMZkqzqct3ld749tYV2hsb3ihri4D1mmkLKgom1mf0uOYy3yyWUwxlfqWepETBKBM4TxxsKI28PRiqxW48EWah7kfMGkZAEpcwgv6PyMRksE0XDBOcxocpyJko1mzEqV8IOEzlmyReO1FrAGVTFuBOzGGshy6lpV5HuI4k1UJfE1l43lJODC/Z/EHR/6fdx1+7uhZAEhfDz1Oa/Fs1/yxsMe2kq88w9+BVJWePYLXoFrb3wyJvs7+O//7W2z7fgWRhubuPGJN6HIM1RVgaKIULENhImAxzWs3ocuLjs77FOc4mTDS25CGA4wHJ3QrkZ5eWlXo406UbuqCgpnW+meuAht9IzAuc3br/Mv2sWF6cjwWAbfD6Fr/QVbbxVb06ja8PwAXHjI8nGTieE2xrpJLFGHI5RFirLImm7JkqO3+xVN8npnaGDHoacaieXBe+1tqZsUIM8XXbzaAchEmxs2VsVcCEeX0kCtsWUMcTxAlu43rqZNFoH7exgmSCd7EJ4/U3AI4YELgarMwPk08K8sFcIoRl5MkCQbpBWxFmGYoCpzpwuy8Lyg6eqEYYIiT5EMNhqKn1JydSbJKf7R8ADSNAj4YKLfRE941L5qU36qYuxsUxddlyg1UvYqNmSZ0X5G53pxOqnwMa2xW5d6Pbv6D8AJqFf/+GWVw2qFeNQVjje3u4ZKxajQkgXiuQyL+WCcNvL0Cvww6UExI59oyHyhkKE/T99vtEKR7SEZnUfzOVs5GvU2Zb6PZHTO5VvMOVQZjbIYN6nqbShVIQgHM9+90Yom0H7YuH5x4aPI9hDGGzCqct2QPfhB7PJW9pvzW9+wwhPY1fiHj/wRPvnB38Glh+8EAJy74TbIMsVg41q85rt/9pBH1w0hPGijMRxt4SWv+ha8952/hT9/x6/j3PkbcfHRB1eaMvhBiDNnzwEAVFWhqnIUZYUyz1BVFYoiQMU3EIQeAiFh1RjqtPg4xQkEEwGyUuC67dGXHCh3pKHGgLwEoH/mThBEYIy5id+a0Ln/n70vj5ekKs9+6pzau/tuc++dlQFm2BERcAFRUXFDhCguQQmoiJ9b4pa4JFG/GI2JisZAjAtq0EQFhU8RUUSNAioqIhpEZVEZYGBgmJm7dNd+zvn+eE9Vd3VXLxeGGRju8/uJcLu66lRXV/V5z/ssHVBSVnYq2va45Um+khJsSNFQ2r9S8HzqvkiRwR7getXWJ5bBGCsyMSzbLYqj0WoqRVQiGIjCVjnsrgvdu7NsFyoOi1TufKMBZURhAyuyrK9jGHU+SFwNhZ6Cg7oTnVStdgghTfyJssRLafJE5yLnKInuj9EwmC4qwlLCODct+pvbDvwzDEZ0bW7B5BniOCjmpnkQo8EYsjSB7bhIk4iYLrUxpElECfaWTZrSONRF5nJ348ECA2i1eik+6CQSp5VNpRTC1g7i7nUJuDu3FyOIypOoiSyLwQfQibqRh/3kCJs7yO3Bp1X90rYYHNiXJSGyJNQT6dE0JkpRgUQ2rxU5Gn2+u1EwT1kfucXrgCeSFGkhkK8cg36sUJbG9h4hveoYSJ7L4dUmtUiq/ACn67ldp8WXuy1SZDBgwO5YQSl4j1kCW1vgZWlMxY1hwLRcZGlcctwiJwgK76GuhrbY3ANXFn72nXNx3903YZ+Dj8Opb7oIp77pIqxYfcDuHtZA2I6L177tHLzgtLfisU88ARsOPAKWZePeLbSC+aKXvwOTK1YN3Y9p2/Dr45haMYPV6/bG2nXrsW6vfbB2/XqMjU/BsMaRGtOI+b4w/ANh1TfCcmeWtOK5jGU8VGH661Gr+WiM7aldjXuB4LYlv42SvYl6FI8o0FUDps5EqyKxdc7rX0oWWL5/cr2qk+Y0bA7dtgq5DqOtpxiNPk7kBAO244Fxplfc+81BevdH76Oiq73N4DkMNy1y5RroUkX7MC0bluUg7nCVautbyynjrltDFC6SpqOCus60uL7KUcswSLhtWjaiqNnxHrK/ZZwXlKp8e6UkbMejPDfGCw2G69UgslTrTqjAEkJASgnHrSFNIti2W8xhRtGyLOP+wwRyoU8GYDRbPs5MxFLQKno4D8v2BzoIMW4Wou8qFMniekKdRE3qhIzg724YHEpmUMpC1JqDaXv9x1LoNnpXJZKoCSFSuLUJxOHCaIJ2w0AatyBlRoXAKJMkpRDpcy0oSgOcM6RIEQULAylGSlOWwtZ2uP5EKfUbKD+a8m5DnhVSbjWTna7t1JGl5QdBHmjILae0R6mtjd3adPF3cpsC/MYKKCUp7TNL4NYmEDYpgJBWIJJCVNZLDdszsGL1AWgtbsVtv7sSUWsOBx75PCQDfsgeCgiDJq790WV49vPJlveU0/8aUAr3bd2M+e33YuNBR+K6ay7Hjm1blrRf03Zg2g5qDbrWaRIhiWPEcYQoipHEEWLlIOHjcGwOk2dQWU67Wk4sX8bDBwaz0Yo4Vq5qDKHFPEyRLQDpdgBL70gKIeA4NizLRpJQyJ3j+n1pT3kGxaBFCCoUxqiTGrZ0QbCEQam2qNlxqRDqNy6l1EDb3lzDEMdBYfE6/PAd4X+2h8xIdKeiVv7dV8U/emDbLrKUkf5jhPmLoWlYWZoCSlV23zqPbVmOnr+04Lh+URh0U9M5N2FZrtZY9C8QpZTFOXbOKfKQP87Mkh4l14DYNiXCp2kMQ1sQW5ajtRotKIVibuO4tcK9jAohH2kS0/gZo0VwBbLJjQLw2nLuxoMF0myY1ki+zQX0xQhbS9BVKFWpl1BSIGhuh+3WilX+PNthFDDGESctJHFQ6arUPY6qIoJCrYyOzsHgDkh77BJSZHBr4xi4eqHa/xLqcLySk5Q+ZjekzBBqJ61caN1nIEiSALXGzMDuQBwuaH0OPVS6tRxRsKBDcLyeYiNqzcFgrBSEBJDzludPFPvJBV5ubQKGwZClEWSWwvJ9SJFBigyW4yNLIv2AJfH4ntjVAICTX/UpbNtyC3577cW46ZeX4sqv/xMAoD6+En/4zfewz8HHjVRU72pc95PLsXnTzTjzTR/CdT+5HFPTq7F6r/0wPbsOcRTi7jtufcDHyJ1qao1xQCkSasYR4iRGHERIkxiR0MWHY8IyEshsHlm8faQf02UsY3fBrK0HM1w0Gt3P+T0E8T1AeNv9emvudAgYsG0X0qRVbNtyKyk9o4q9c86/EJl2mBpNt6EqMjZIg8ERhk04jl/WcfRzpOmC49DEluhH9RFo2b3HLwLv9HkMe+qZlg0YKPImBh+Qjuh6JNxGEvUWHEZ+VNrWsl0gibQAm85JSYVur6B8HHEcVs77SA9CXQqijbXvE85NCE1li6MWkjiE7XhFGCBjdlFEWLYLoYsNwyC3sjy/JNd15MWj7XgwLQdBsABLFy1hsADXrReieZEtp4o/WDABojkpNSScpgNJ1ITIEvhjM6N7ZRctt45VcSkKW9rOySZjfORkcIDsW2tjs32zJDr3q7r2S9oBXnJkMhgb6lyVxC1IkcKrl4PwBoEm82ZPoZFPukt/kwJhk+hOUsqBx0iTCI7bqJywE22JIU0C3YFpa0qUFIXIW4gUSgrY/ri+odvXNdMrCAbKQvY88KuzKyGzBNy0i8Ixf69l+9QxAlnixuECdUmEgu3uoTQDjRWr9seTT3onnnjCW/HHG7+PG392Ee7848/x7f96M/Y5+Dg87xUf391DLGH1uo1QUNiy+U/41Nlvwtz2ewtB+PjkDKKwiTjayf7khlEUH3UAakp3PpIQUZQiiUIkcYxUOEj5JFyHw2QxRLIDIp7fuWNZxjIeAAxmoRVxzMw24Pl7YLGRzgHpPKCGU6O7oRT91nVOPgutQ9RCJkjA2/l6bwd+MPKV8Shswra9oZNH2aVp7NyP748hCslspj0RHz2Pg3MTtuMhCBbh+43+BUdFAcMYLzQQJdH5kOObpg3TpCC9zpTybhgdlpokmm5CAaUMJaKel4dm2S7Z9UdB4SpVxRYxdcZFHFc7fRmGAct2ICNZFBQAFRtpQtQuKioWSfvBTdL5aJtc12toulvZQteWHqWL64Vny3IRtOZh2VSQUBeD3KqI1UPBxgoGkiRcLjYeJGgaVc7nH+7UFAVzhSPSqFQnoD3Rz4XcIkt0WFxvhoXBzJ6ioApCpIhac+CmPbTQANDDIWwLycd6tlMD1hDSJIDMUpi2O6q0A4nmH1ZOrBXQ+QDJk8RzSpSUUd/rkkRNZEkIx6+mIeU2wjJO4XWJy3OHMKUkotYOLSrXGpF8JUVKxCEJzsPmtuJzVkqS7sR02kJvpRBHzVLxkaVhoWXJUiqKRJbAtFy6yRl/xNzc3LSx/+EnYP/DT8DC9jvx22svRmth6+4eVg8OecyxeNyTTsQnP/RXOPnUN2LzppuwedPNuHPTzZjfce8uGYNhkHbEdlzUG1oblVDBEUUx4jhEGsdIUxfCmoVrM3AjouIjWdglY1zGMqpg1vaFyX2MjY8vwc70YYRkKxD88X69tV/hkLsZpUmEMFgoJoL5e5biFKQUcfttm1ashUgrrGE7tpeyLy2KKFFjiKIWZBzAcXxgRIpW3lmgAL+yU1PPtgBYRRFBBU8DYbBYaCJHqnUMwLYcRFGzb1eFJtjtBG7PryMMW0g7Oxx9TtS2XZ3CHoOb/ede+bXuLCaK4+vYAselxPIszQuJMgPF9eoIggV4XqNES2OMwbKdIiclP5Ztewha88V8lv7HiuKLmxaisIU0iWHZRPcyLRsiiZDp3I5u691lPHDoT9TQF1jAMPolTUuErR0wTQe2W0eWxsjSCKPOExkzIXSaeJ6u3T/DYri4KUujIoQwau3AKEIsgzFITc8KWyQkr9IKdFq6dYMC+wJ49RWIg7mBRQlAKwNx3ATjvMepqo2yZiMK5nTAX57AXS1Iy9IIIksGBuEpRdqaWqPXJUxKAZMxhK0dOkFcay5kpgtAVYT6FTJzfZwomIft1CBEm+6Wxi0IkRTjztIIjFvgpl0YCthODUFzG0zLJX2I28Aj0QFibGodjn72m3b3MCrx+//9Kbm8KWDl6n2wet1GPPbY5wIAWotzuHPTTbj8a+ehtTi3y8ZExYcH2/FQH9P5NHFIlKs4RhyGSOIISeoC9krYtgGGECLaBpmN3rVdxjIeCEx3GkHMsHrN5J4Z4pfsAJL7cH+0GgD95vABXQrLdsFNC0GwWNCXhmkkqo6RW+t62m437w5ULdr162x0wnVriOMQYaG3G+U3q714S10KcqqyHa+3eFKqI2K5jFyPEoWLIy2q0ugMMG7C4SZ1VbxG5TmWqVZkTRuGLRhpu4PQjzbmOD6klORo1acYNHQQY5JE5SIGKAL2KLG8jihsFpa55fM34Do+4qgJqLL4n2yLM3LJ1FpdwzBgmjaicBGeXoQ1LRtpEiFNY537wpGmMRy3VuRzMMOABCXC+30Wb5dx/1F8czm3INIYzOn9MucT+84uBDctJNFiz7b9kOtCpCBf49pYr61qJ4yKwMAcsbbZrTVmiptgFBpl3jILm2Q52y9EjzogvS3iOKRq2W9M5xsO5Y4LkYKbVpGkXg1V7Cts7YBle+WxKdlzciJLdNEzqYP+qh8kUUDJ5FV0NyUF4nABllU+nsxSWLZfOGaZlqPtbOm7kURNMMZgMA6m6G+UvxHAsrxCNJbTwPL3uP4EhCSKVpZGMBgfkAy/jN2FzbffjM233wwAOPvdf4FV6zZi7foDsHbv/bFmr/1x4KOegKu+c8EuLTa6YRgGbNeH7fpogH6AklgLzqMIURQiiT0kzANzDdiWAhMtZPF9kGKQ+8oylnH/YBgcCWYwOTmBick9z8YbUEC69X5rNQAKhR1mA5zTl5I4QJbGuvE/+oKU7NJg2LYLITIEwQKciom+kkIbnwyG43gQIitoPcOoXd2OWIwx+LVx6pIIUVrpz0Xw/dAOzluCuYhS4KYF32sgCBd7tCfVi6qGzuFoQkgBptkgvE8lZNsOwqAJBVVJlSJGiyz2qTo6HExrMzg3NS2qVmhUugMBuWnBgkIQLGrL3PZ4bMdFqzmvNRp0bSmDIy0E5qZpQYgUWRq3BejajSvPExEyA2ccWZosyZZ5GaOhqCyYaSGNW+gmRaVJiDRu6RTu9gVeaviawUykcQu2W+/Nv6h8Q3VFnTtFlWxgB1Tf5V2yYoI+OK27VyCexORyUC4aBndg0riFNAmGahLyQ4UBUcK6E9MVyhxXKQWiYE7TouiBUbVqQcL3/jZ9QqRkv+uU3VJIKBVDKVU4ZtFDgShXaRrCr08jiZpaMK50YdJOck1jsshjpk05HFkCx59A1NoBbjlIg/mBHZllPDSQZSnu3HQTdmzbgp9d9Q0AQH1sCnHYGvLOXQvDYHBcH47rg/Tm7eIj1F2POHIRpzWYlgHLFDCyeaTRQ4/GtoyHJ3h9I5hhY2JyosdIY49AfC8Q3fWAdqGUGl3s7daQZYl2GCqnTQ88RkXxkKeOR2ETSspSwSNVr0C8H2iSSqJmy3ZKQYM94+hDS3fdGuKohShswim6LaOIzg1YFoX/VYb4lTctZiYGYwUVyzDa2g+ii1frbvJU80RmcAcUVXmit2EwJNpKthN514D2WUMYNnVGmwXGGNJUlPaVFyXkVlU2BjBNG67jI+tKGGeMsjniOATn5CbFuFnQsXJ6lpIKrldDHAewLJfo3DqWwWAMzGBFR4xyN5aLjZ2JdrHBSOnfhkIcUgfBb9CkthujThTz/AfGzZFXsosvW0cSZxTMA4bRU6wwgxMFrF8fErnGYK4kXu4LoywQzwXx3WnkVUVJjjQJkKYRHHdsKNWKPusFMMYrXKoACuWzivMIm9vh1ibbDhUVnuJxtEjdB6NPQrjMCu1N91iIohKUzldmKSzHR9Sag+tP0MqDSGE5HpKoRQ93RboEKTOkSQhuOWCMk2UutyBlBqH1IEqp6nPdgzG/7XZs23JLyWnNb8xg7YbH7sZRDcbRT30+HnfsCWiMr0AUtvDrn38fV3/vq0O82Xc/ysXHJKQiEWISxYiiCGHQRCth4Gw7sAQzimUsowqmO4MgMrB69SS5q+1pUBmQbAPiu0fbvA8NuR8luB84NwvHomGT+xyyzyQ/7w5EYQuic6KvMHKxkTs42q6HKCKtgONUzyfUgAXQPOchD8ob3VtPFZ9BlW1sju4w4ZyKFQQLcB0f3LSG5o7lLlWiJ5iv4ziGAakkfKeOMFxEmqBUyDHGIbJ8XmnAdUl/4eqip1ubm9vVBsECHMaBruOaloNWaw6cmx1dGgNcdypIl1Ev5maOW0MYLlI+h2lqGh/9vxAZPH8MaWseKpVwXSqGSI8S6lTxPXDRYDehKDY6ReIA2dpybvVMsDvBiuqzf+WrpCD7Vm8ccbQ4kggdAAzGIWWmiw2FoLW90Iv0bMvzwJc+Y9B6E9ttaOrXYH1H503YLjT6tMUrbtY0CZEmJIzO0mgo1Sp/APfLmiC3B2033NxOeo6SqL78ABciJbew+hTC5o6erkdOcWK6fdkJKQWyNEJtrJygXhQKhlEcWymhLUtD1BrTJNbndQR5MrqUhbbH8ccL690sCWHabsnZak/HHbdcg0s++396vgvrD3jiQ7bY8Pw6jnvWn2NxYQduuO6HWLlmHzzhuJMxu2ZvfPkz739Y2c8yg8F1a3DdGsZA3/OF7Xfinj/dvLuHtoyHOQzGEWMak5NjmJjq/3v5sEZ0NxDdMfLmaRojTbOOlXv9O8eWps+j33WTJoCafuS4Hgb9fg8L9HO9GtI0JttTrz4wMLB33+3MD89rII5DRFGrx0FLbzxwrmPZLgztmrVU2WKekB0GzVLSdnHo4h9tGIahOxxN2FA0bxvyDLcshzoiQP8cDr2PXHcBw+hIT+9OGafPLbcDVujtAHFuFh0MVHRKTE70J8YaJZpVru0pWeVKAdetIYlDWLarnTupADEMBiEobTwMm3AMg4owbcubJtFysbETUZrtMW4hSwIkcavSJaob3LQhsgSsT4hemgRIoha8+hTx5AxWcqQaBKY1JIoL7cw0XmntCuh0SZECFaseUqRU7OjzSUYoeHI7tyRqQinZt+Cqcq1KkxBZGsGvT6F4ggy4oZOoiTQJMDa5tu82+XjzgqkzS4Ru5HLIXtTaQXoWGL1pp0oh1ALtKgpYmoRw/fEuzYiClBmyJISvHa1EloAxkyzkalP6FA0kSQDOLSgpSAQezhOlQElkSQjLqUGIFF5jRc+x92Tc8utvw/Mn8LjjX4va2GxRAPr16d08sv5YMbsOjHGcf+47EbTI4ekJx52M4088A6vW7Istm++fI81DAYzxZeH4MnYKmH8ATJiYmJzcM531REgBfun2kd9iOx5gMITBQiGIzsXAS4GUJNwlTn8dWZag1VrosoLtRNtdaRAsy4GpXYmqcjb6QXXpJx3HQ5Yl2i2pXlp4HYUyZmo6URgsUjdoGFOs4yfbtl0IbhZOTZ3Hor5G7++7YTD4NeruMMaHG9zk9rRKlgL2ujYq5ih55whARxeqfAzWQetqv17+/C3bQRQHlcc0DAOeW9euZWNgjIFzE3EU6ONT4F8uCne9OoS2zc3dSF23jqA1DySA5zcgpUASh0V+h+OSFXBO+VrGA0fpTjAMoygORrG0ZdwqXIa6kcQtpEkIv9F2nGLcKqLkh+6bcWRZjKC5bWChkW8rK6gQIksQtnbAq3WczwDqUwHD0OnW2eBk6w6faoCE9GncglebwChLFWkSIMvigenrAADVFmX3hha2B5B3cLzaVPuBqMoZHUncAjeJ3mR0dRZEFiMK5sHN8jGUDmR0/Yliv0Kkuqtl6mIvAQxoXQ7Z22ZpBNN0AYNBZLkTWQDTch6SQXYPJurjq7Bmw2Px6GNPw8bDnokNhx6PDYcej1V7H767h9aDgw47Gkc98TlQUqK5OIeVa/ctXvvNL68CgIF2hw8XJMHuE7gvY8+A1TgAUaIwOTW1Z9KnAKJOBUsP8eTcJJpKEuuuRAa+xG62FKJkbmKatu4oBEji3qyfbnH4IORUSykF4qiFUXzsqxYqaUxaVN0xv1EYjWqeh9vFcbBkeirZ6lKnoDQHGvgZUOEmRDZ0LpR3JhzHBwwDcdy7QEOUpTZtLu8cZWmiP6tqCr7rNSBEpnPEesdocgtSyp7rzDQN2/Xq+rq1/wa0KcMG+FIAACAASURBVGqMMUgpibJtu6QdUTR3YYw63VmWAlCwbU8XIqrtgMZ45fku4/6huPOTaJEugmmNTG9hjFcWD3G4CCmz8uo+dLGRjXYzkUg5Qa0xM9TuzdCajU5IkRbWuJ2rDQaGO0glUbNSG9J73HbhkqUR4mhRr/y3z7mfhFyKtLDQJeve/lCgm7Gq8Ck4sJoa5XhjHZ8XrRjkD0ep6VVefYooTR0FnNKaGMtyez7vLA1hu/XS3/NiLO/6ZGkMkaVwvLHiWuS2vCJTkEoQP1Op4ZqZPRAHHHEiLvnMq/HLH34WEzP7wNQFnVubxOy6Q3fz6MpYu/cBeMJTTi7++yWv/FtsuvUG3Hbrb7DfwUfhrjtuxd13/mE3jvCBI0tChEPuu2UsYxCsxka0IgOzK2ewYmZ25EnuwwrZPBBvAWQyfNsK5KvdaRIhjkN4/tLcB6USsFh58YtWxscQRwGisAXHbVOYpJRgIwrJAfrdy+lM/ShJpe2lrMzJYIzD88co1dpyiHI0ImU8H4fnN5DEIZSUPZkUJXTtkkIRdfif1mOMAterodWcR1zkh1QcqqOQcBy/lOjd3ob1FC2epzsXRu7f0/tZ5BP+OA7geY3K17lJ3YnO7AvGOURG9CdumsX4WU6nZwyu/jwYY4W5QH6+uVWvadmwMlvv24JtOUiTGLbjodWch2XZWrux7Ey1M2ACOg1bCvj1KQSL2zBKZkUB1bmyrnToH4Pn967uM24WLkWDkAf+cW6NFtan7dWK94sUUXMHvMZUr2czGxzYRzQrSTkDPWfQc2RAF0VxuAi/saJ3JaPK11vrWPyK7IuebUUKkSbwx6arR6NFaHG0qG1qO1w2ZJu7WnQ9dHEgZQaLtR8YcTgPxxtHEi2Wna9EhihcKOhTOXIdS77/LIthMAbTcpEmIVGlalNFcjnlNlALuttt65GA3/3i61jccRd+8u1/Lf19/QFPxMmv+vRuGlU1fnbVpdiy+U9Yu35/rF1/AFau2RcbDjwCGw48AgBZ4/q1cTQXRqdVPNSQhHNIouXwv2XcP1j19WiGJmZXzmB6ZnZJCdcPHyjSaoSbHvCeLNtFlqWkbxgh1bsYgewvKHdcv6290GF59Ns9ugBd6cmpbbvIGKukQ5W2VxL9ssg6AwBFtHS3PgOGFmUH2m3Kx6jzsHb4H2kPRuztgHPqCMRxCKdPgdNZSDhuDVHYLBUc3Z2N/G+e3y44+rmJMW5CxiGisAnPr6O8OK01Fx5Rnjy/oW1r2wnjtu2RMF3nZ9BcwyYbXG4VHRbb8fS8tI44ancrbMfTxx4j8XlzDpbtaL0HzZ+Wnal2DkwAsGxfX2IqQ5VcgpAr/6IpIAwoI6LfynVeZQ5CErcg0nhpYX0FZUghTSOkSQCv0S8wkPXlRsYhFRquP45g8b6hdrqGYSDLkkKMPUrLVIqsSE4ftj1tO68Lrn7jUBBZDMNyezofSgqd0ql0cN940bUiu1ydm6ELQNO0kQAdBQoVj4zxUtGXJqG2AHT0dlK7lk3r1wMwZlI4UzOA4zaQJuRnbdreHvrDPBj7HfZMTEzv3fP3+vjK3TCawWgu7MCN11+NG6+/GgDxilet3YC1ex+ANesPwNr1+8Pzag/rYiMKdw2FyvJmoZREFuWLOMt4uMPyV6EZeZiZXYHpmdk9l9MdbgaCndPBzKm4lJ9Bq8W24w8sDGhxarD+wrIcTUEKabIpxJJEvbJDTG6atqbOhOCMV3YXSCDef8xFEnoaE/1nSKZIsV8o/RNvwM2dqgJym+qcJwxaKKXJdANR1AKUHGmCrAB4ursQR8FQ8T0ATV8KigKFdS32tsejU8mDJoTIKn/3cwqZadmIoqBk55uLtA3bLbQgrkchfJ2fQy5MNy3qUuTnbTtEjaLvGl1Lzom5k6YxLO2WKZVEHNOxTdPSAZA+gmCx6KJ0BxIuY+kwgfLNzLWuwmTDLeby7dM4oAl+bWpIJ2Lwl5gyNKR2fqJUc2qLjTA5NQykaYgsieDVpvo+oKgLkgEon1/ekcmpUyT+lgMfLFAKQhDVqyo0rxvU0dg+wueUu3hth1ef0qF91ecjRQYDTKd89x6PMRNJtAhLh/PRsKU+R4OCbpIAXn2aklc7ziMO5mHZflEo5O8NW9vhdhwvS0JYtk/CcCUhRQqvvoISxBkH4xby5E/nEWZ3m2Nm7SGYWXvI7h7G/UKetXHnppt291B2GpJwfpccJzWmEcYpuLUCrsPAEUOl25HFy3qRhyMsfyVa6Timp6nQ2CMF4QCQNYFkK5DtnO6fUhIGI0qv4/oQItNp2n7f4mBUShSlc9MEOJ9ELmVcnLevYb6vJAm7cjDy7UfJw2gnW+fJ5UOF8dpgpXh/R5J6d6dlaPif1o9kIoWF0SbIjuP3dbcyigF2CONdnwqUmAxhhKzW4hoGdY3CcLEoLLrHq6BgmjYtbnbkh5AWVxb/nud0+H6Dwga1E2puHhAGiz2L2a5bQ9BaKAm9TctCGLTHY1suJZzrokdEAdI0Kdys8u6GZTsYNoddRn/03AHkMBVXCJGrYRgMSdzSQvBRKE+ssmOQh/V1huYxTtkfIxUbSlH4YH16SDeC6WKjjag1B4N1Wc8OSQeXIkUYzMF2/CGFRtv2Lwooo2JooaGkduCaoM9UVXd3pKTOh+1W80yVFJAyAxRgdZxb2xpQIdKC8rzwyB8GlNwqiRaVtgVacbgIzu1C76GkRBTMF12NLI3BTRKAx+ECHG8MWRISfcpyqfB4BOGb//l6rFz/aHi1Sfzuukt6Xl+1/tF48knv3A0je+RCpOFQndTOAGMmwiTDXuvXgnOOLBNIkwTNZgOpWgXXNsAQQMb3QaQPrZDEZfTCru+NhdDB9MwUpmdn9uCVTgVEm4Hglp22x26LfBKP02p1liWV1rHdoW7DQEVMijAacYKP/rkftu2V7HGLTCuMrsOAAT3xHyUjpHeukRc+YdjsSf8eBtOySdMyIPyv+zxs20VqGDqropzfUVVjOY6PKGpR92HAdTKYAdNyCmepnoJDK1tt20UUtQoNhmEYgIFCh8EY17qRoEgfz69LXnAErbme7xp1TVrwa+Paup9MbeKopelTNjKRFs5VebI6MxhgKGTIAKWQpemeu7iwC9BbbHC7oNUMQ5aEyNIQ3LRHF5XrcDdWZDXkVB3WG9ansza6uxDdSKImsixGbWx26KoDYwxp1q5+42ixt9BAWfzdDQoInIfrT4wkeFd6Um/ZXqWrVndrNC8gigk9VOVpxeECTMvpe6MrbTdbG5st/10njsdRsyT8FiIrEsGTuAmvNlkq9rI0LqhZ+d/iaBHQ2RtKKSRRU4vEFSW5mg4J7oFHXIgfAIStHVSgmQ5R87oQBbtmhX0ZbcThPOJd0Nng3izqVg2e58Ov0z2RpTEa4xHSNEWWZUiiGIuyAckFHEuBySay+D7ILHrQx7eM0WE19sd8C5iemcT0zMxgAe/DHeFmINkCqJ0XdilFbx5XTvspwu3ceum37P5Y5QJ6ZT9qklB7hEXTflOGnKJFk32y712K6JvCAukc44hS0O0BesWq/RZajLA5lILefWwqhlXRXRll3JblkNnMCGJ5AIXAux3c14u8mHO1a5bvN0oFXt7B4JwE41HYLGhLRNESAMupbjocOKPMr87rS9obD0kcwvXacw3TtMigIGrpc6LEcc7M4m9AO7uEtMJE4YJBgYE51YpyOJa7G/cHPXdy0XkYBKUQR9SJ8OorEDZH525zHQ/PNOUmCuZhmg6sCjcEskrttbfrRBwtAkrSBFdkwJCV8zxDA1CIggVUp2gD6JOuKWWGqDVXvEeMQMPOJ+CjuDDlwXeddrhGxz9zRMEcTMslGlWHxqIdoCSRpRHc2lRP50VKQe+TEk697Q5CieA+omCBdDwGg8gScNOGkhJJtAC3Nqk7QVzb32bkrGQYSOMWpEjJQSJuwbI9pHGL0unz7R5hePFffrn49yOPe+VuHMkycsS7yvKW1eHXfM2Dzj3r3WJFXCmJJI4wNjGONE0hsgxROIZQjIFZCrYpANmECO/Viy7L2NVgzITh748wAVaumsLUihVw3D3YTU+0gHQHEN21c3crBZw+q8KWTQ6IUdwiVyB9f0gpYVmj6/ty21tyZ2oUVKiB2pAu+lI3aLI/RhNqkY1EoepE/nvsenUkWgjtOH7FAuFgNobnNZDoMYzUUTMASAXboQ5NFC7CcWu9BR8MdDtFWbYLw2AFjaxgefQ5d9v20Ep29LhUdY4/F+6TTS8VP+1IBF5ym3K9GqKwBUNTmboTzG3bQyxb2ra2DG5aiFshDNZ22MrpUrkeJy8clRaAZ1kCy7Q7bJNJi0vdmKCgjCklkabRwIJxGf1ReQfmFJsqEMVnGwxmwvUnShPdkQ7ITTSbTTzq8c/FeZ/7b1i2X1lo5NsO+pGNgjkoKQvhc1XWRjcMxpGmKQ593An45uVX9c3RMAwDcRLjI+d+Do8++nk47AnPw9nnfAahpjdx0y74hp34wNmfxOHHnIS5eQqsSZMAlu3BdqiVKaXEcc85De/6x3/tOWaesN7bASjf5P/0wXPw4pe/DZbtQymJHXOLePbzX4nxNUfioKOeTZ9Naw5KqcqVISUzSJnBrU2U/64kBSkqWRQ7QiTg3EYUzsF26oBC0ZWKgzlwkyhVeVfDtD1AScQRreZnSUSFhuUu+UG9p+Hu267HxZ84HZ9575Nwwb+9CLf8+tu7e0hD8bgnPRennvUuPOvPzsSjjnwKJles2t1DesDYVXqNJOOwbbuvgDj3+W+MTWJqxSxWzKzEzMpZrFu/DrOrVqM+sRLcXYvY3A/wD4Fd7zUYWMaDB8tfidTaH8x0sWrNaqxcvWbPLjSgtCj85p2/5yHayzwvAlAIWgu6Mz44CbznGEoUk3jDMOA4PizbRRQuUqFQhSEC9HxfrlsjnYAQfXIhqvfdCdvxYNkugnCxtI9R5k6kdamRRjaJRniPUcxMLMvRYXWLvWM3qo9vWjYc10cYkGZHDuiqUIFnEoOjwoXLKPLIlLa7reux0HyNcro65250rok+T1lx7XItTXcuCecmODehJAnD22OgjDIphbaytZBlKRzXRxKHYNwk1yrb07b+ZDRAhVAKRxvbJHE4+vVfRgmVPUpuWoX3cCeUkgib22G79ZLFal4UjBQEyExkSYibb70NzSAdog3pp5tQCFvkkpQXC4xxpNlwL3DDYMjSCLf84XY0w/4Bgwbj+NIFl+CDH/0UPv/pD2PLPVvxmje+G0c++mA8/anHtsfXVWwc/9Rj8A8fOAcXX3I5Tn/JCT0r+j+8+ue45ufX493vfEPpfWkSQGZpRVp5b0I5YwZcj4oBJSX+9eOfx4+uuQ7nfPjd2H/jPuQGxS3tcFF+4hGVIxfRs67XJJK4WegvAKJC5eIw0/aQJWQDl0RNcqNSCqbtIYlIcEWrAU0Sz2cJlJJQUsKqPbJXA3ZsvQ1fP+8sSJFies1B2H7PH/CdL70NnNvY8Kjjd/fwKjG5YhWeefKZAIANBzym+HsYLOL8c/8WO7Zt2V1Du98QaYgwePD1GgazkWQK5hLCD0kEWYduhEBkKZI4wsTUBLIkRRgsImk+cBvSZQwGYyZYjTI0plaMY2Jics8N7OtEdDcQb77fmRr9QCvGo21r2x5MbiMMFnQo3ugLVFVmMnmwYBguwuRWaeV91AXSHEyvjkcRdScGUbz67ZtzE77fQBAslnUYI54m4xxSCUThYJpTW9St36c7NEG4WNKzGBVzmM73eH5DZ04M7qYYhkE6lyQqxtb9en59GGOFLa5fG9eOUKJne9pmoe9naZo2UZuYWco+YYzBsl3EUUsfj2tXqaSgaXHP1GMS5GYVtWAwo7DabTXnkaUJPK+OVmseTo1slg3GkSRhXx3MMvqjT7FhQ2ZpqXiQIiMXIr2q3wnGrZ7t+0GKrPhiDRIVAZ3z5LJAOgrmqd3a0QEwGNMT48EgZ6fhqyWGYeALX/4GnvaUY/CcZzwZYXMbPvjRvXDZFVe1i42K+/QJjz0cBx+4EV+68BK87JTj4bhjJV3Hf194CfZevxbHH3dM+01KFQF/3VCqw4pWCiRRE+/8m78s0aXu3rIVhx16IF51xov1ddqB2tg0gsX7eh5GaUyCPK/rQUm0qxj18ZUdx6PPPQrmKZUcoJaj7SGNqCiJgjnAoNwNehibiJN5mLZLehjQ9+mRJgzvxu9+8TUwxnD6265AfWIV0iTARR8/DTf89IKHbLGRp+t+6sNvguvVsEbnbqxZv//DNkE8Ced3CY3K9KZhOzXtYHL/wE0Lnmkhnx5tv2ceyzLyBxeWvxaRGIMFCytXT2JycuoBXcOHDURA7lPxzl9AoI7D6HQoxnmxEh9HLTJhGaHo6Be4ZxiGpkKFCIPFtgh4KfoLoGAK5N0Sy3aX5HzVHg+FEkY69duy7JE9jpQi5yZmMC1eb1RTxIpuQsefNI2p5AI2QJsKUMHhuBTmx3TORfU50RnYDmkmuoMCGdORAzl1ShcyYbBYBD12X4+84Gi15jtMbdrgpglT2QijJryOzyFfLM+D/Xx/rEhoz2msUdgiYXhG3QzTaocH2rYLx/WQpRQc6Nge0iTWnZEMaRpXGhosYzAqZwy5VsICfVmyNEYczve1bOXF9oMhspgm+1UhFxWI4xTnfvoC/OBH1yMIQhxx+MF46xtehtUrZ4tCY25+ER8557O4/tc34t6t92G/jfviNWeeiuOe9PhiP/du3Y7zzr8QV3z/Kuy7fi3+8tUvGXpsAwYedfB+uPD/XY7f/fYGbLpzK/606U4842nHlrap8r0+49ST8Xf/+DFsm0+wemWtuJlbQYivX/pdvPWvziy+qD+99nr8+yfOxx9uuwv77L0Or33VS0tjP/N178QZpz4X//2Vy3H3li34u795Pf606cf4zW9vwQff9zb89bs+gquvuQ5hGOG0V70Vz3jKUfjeldfhr990Jg7auBp5kfb7m/+I9/3LuXjPO87CXmtme27cPP27s5CUSkBkCbld6RtZykxrUBow9N7JdYo4pXlXBTCgpICCAbe2tNTYPRFRawfGptahPkE0JMv2MbP2EGy7e+dTFnYW7r17E+67dzP82hg2334z7r7zD7juJ5fv7mE9IMS7KF8DrA7P92DvxIlquqvG/giE5a9CiiksxhmmphoYGx/H2MTwLKQ9AwoI7wRaD461tRRLF3orKbVAmCEKF+F2iccrjyPFwGwJx/EgsrRwmFpqZyO376WVeUowF1nas4pP26rhFrX+GOKohSgKsFRLVW5acI06wnARrutXLvRWzU3ysYchhfcO6mx0jpWbFnUsdHhi7zasKBZsxyu5SgHEFJFKlmZ+jHHYDtni5iPu/hwMg8E0bQTBInx/rDTBJ6fOWHcrFuHp1zk3EUcBFQ2OT98fr6EXT5XOYyGRuVISsD3YtksxAGkM23Y1nSqjYtB2dajgGMIgJjpVEvUNQVxGNfpqNnKeXBI1kSYB/MZMX8tWsqjtT0kCSI+QRC29n+HFhlIKJ//5a/DeD34KM9MTeOqTH48LLroMxzzjDNy7jdb3mq0ARxx7Mr793Stx3JOfgJOe8xTc8ofb8Kw/eyV++/tbafxJihee9gZ87OP/iSc/8Si0ogQnvPgvhx4fBsO73/5q1GoenvuSN+LFL38r3v+et+CEZz6l84PqoXmJLMaLn/90mCbHBRdfhs6b55Jvfg9BGOEVp50CAPjKxd/C0088A3fcdQ9e8sLn4o4778azn38mLrz4suI9F19yBd7wNx/Adb+6AWGUQsHA9f/7W3z7u1dCKYWDDtiAifEGfN/DIQesx2MOPww/uuY6nPefXyHrNo3PfeGr+Nkvfo2NG/cHun5ApcwQNO/rEZ6JNAa3nIKqpqSAzBIYjMO0XGRZrH2oOWAwSJkRbUpR0CAMA9yyl+3iAKze5whs23ILfnzZ2bjjlmvwyys/hz/ccAXW7Hvk7h5aX9THJmHbDv78VX+Po5/6fKyYXbu7h/SAEYe7JjU8ESZMy9ppgW9SptRFXMZOheXNwqgdglYyDsf1sHbtGsyuWoXxyRWPkEIDQHg7EG3aqe5TnegX6DbwPTID51zrDeoIoybiOMCgifEonQpuWjTJj8kWdmmakLZNLlmt1mDZLlqt+Qq9qBqpfnDcmhYni5E0p51gnKhRaRKTc1LvgCvfl3d6kiRCliVD/YAMg7WLozioFGZ3GwuR+xXT2RdKO071np9p2nAcHyJL+2ohODdhWQ6CYKHkyJVfa85N3QlbAOlCeFFImqYFy3KRxAG4aRZjtx0PBmPIsqzY1tUL2Pk4KB+kWWwfRy1YtktmOXGwrN1YIgYuN+Q/bl5tcuBOht3g7bA+ouIwNvwH+IsXfgM/uOpn+O4l5+GYxx2ONAnwljecgcce92L87T98BP913odx1Y+vhWma+Mrnz8GGffdC0NyG0059EQ466tn4wVU/wyEH7YdPfPZL+N/f/B43XPM1rN97HwDAuZ/4LP767z8y9JxuuulWmKaJzXfdgycdcxT+5o2vGvgeIVJEwTz2Wr8BJz7nafjyV7+Jt7z+9OL1/77gEjzzaU/EurWrEEYR3vp3H8BznvEk/Pen3w+/vgJvecMr8bo3/1+8/V0fwgtOehZsmz4nyzTxk+9+CX6NJv1fu/QKvUeFV7/8FFz361tw+x134m1vOgu2W8fLXnISPvtfF+FD//gmuKCb54KLvokzz3ghrWZ0PWCj1hxM0ynZFyulkCYB3I5rT8WEguNRp4KEVKQzSeIWrUa5DYTN7RSeqJQWxi+3Gw884iTc9rsrcf1V5+P6q84HAEyt3IjHHf/a3TuwATAMA/XGJEzLxtOf+xd4+nP/AmGwiLtuvwWXXfQJNBcefO3DzoRIo12Sr2EwC0kqYe1EqlkSzO2SsT8SwEwP3FuDOLMRKQONWh3Ts3U0xsb24OyMPki26f/12nLvLEg1YjBvB5SUMEz6nWKMFcnjVanaxXt052EYKPiOkrYpBNAeqehQSoJ3zV1I2E4hep20qqV0TQzGOtyfqrsUg87F1ceX2jkJyLUYgz8LsghuIUsTrS3ro//ooJy5HtHboLzSIiIzGKQSYB29C9t2kQKaCuchS/sXE7lbV5UOhTFK8XZdH2HQhOc3im3y4GfOTeqohAGljHNeUK/yZHGlFLIsbSeM29TpotRxq9CdUP5GA4ybpGNNQti2V6SUa09jxHEAr6KrtYxqVN5hSqniQnWG7PWHUbTRuvakcwS6w/qGP3iu+fn1OPjAjTj26KMQhZRpMTk5hVNfeCKuvPpnAIDnPus43PKr72LDvnvhnq3b8IOrrsX/u/QKcM4RhCGgFH5+7fU49ugjikIDAF76wucOPrhS+PTnvoQTT30zTjrh6Xjfu9+MH11zHT70sfMQxwle+6b34KfX/grooFGRJe4OeHUKyHvFaafghhtvwo26w3LX3ffgf676KV55+osAAL/+1a9x79btOOLwR+FH1/wSV/7o57jyRz/Hhn33wt33bMXNt/6p+AyffMyRRaFRHqbS1nUC6HCxOuNlL8Dc3AK+8z8/BQBc8b0fYMu923DGS18I1RV4k7tGGYyXOh5p3NIhf+0HX5bGOkCQFf9tOfTfWRJRIGRHh4vpDsgyqPv3nNM+ilNeez6efNI7cPKrPoUX/+WXS8XcQw3zO7bi7Pecjs+d83Z85+ufwW9+eRXCoImNBx35sHzIJuE8ol0gDjfdaTQaNVj2zuvoxbtg3ABNxK3aGlrx53tOR9JgFqzaWrD6wQjUXhCoY3xiEmvWrcXqNeswNT37yCs0RAQk9wCtnRfeVwm1NKE3UF2g2A7RXYJgseQ0VMAYPsEub27A1CndVav13VCy2v6V9AdjyLIUSW7VP4RG1bMPThqGJA57HJbKg6guYlyvDhgGFQJFV2V4wcO1uU8UBv3HVsQF5LkhY0jSCFna4fbEKAivG3lWBlnHDtaGSCURhc2e7RjjZH+rbZHjDscrg7VZOKZpwzCAOA5h6oiFHLbjQQoB0XGdqXgi+nd+TG5ayESKJA6p+LBc7UBFFL04CmBaDpSUSJOoy0VrGYPQs/SWO04xbi1R1GWVHKmUoiA7xs0ee9lhCdoAsOn2u7BydloH17mFlmB2dgXuvW87skyAMQPv/9B/4Lz/vBD3bN2GdWtW4olHH9k+fjiPP23ajIMO3K+077GxBibG++kIFBYXtuH9Z5+Hl734BJzz4XcDAG648Wb8wwfOxdb7tuNz/3URzjzjRW2RthRkiVubLLoDzz7+SVi9ahYXXPQtvOftZ+FLX/0mVkxN4HnPeRqSqIk77iIh3ic+8yV8ykBpZWXlzArcfc9WHHzgvlAAVq9e2WeoVBSKLC09mA8+cCOOeswhuPDib+OUk5+DL33lmzj26COxYd+9ityLfNwijXVWyraS6DxNwpKLlpSC6HT16WIbJTPYbo3GIBK4tQmEze2wnFpb1/FIoSKMAKUkxqf3xpp9H4u5+zYR/ewhiCc+/RSsXb8/vnHBudhr34OxedPN2HLnHwu9Rh7E9XDDLtNr8AZczy3yAnYGol1k18u9tUiEC893AWctpMiglAAzJAykMGQEmbUgkkVa5HgIw7THwZxppNJBGGUwU45a3cfKCR++76FWG3vYGh08cCgguh0I/gjgwaODEIXmfvwG9ClQuGnB59SVyLK0cAVSSpZowyMdQutCbC0YljIbmKEwKD2cuiV1xFGAMGxq8fWoA6HCxDAYXK+BKGpCSlESWLcP1H83jpOnnjeXFDqZO4KGuTam+xy7RORFZyhsAkY+yWeQqrpgK0TjSYgqXQbQzsLg2u2LFrPy7kVeyCiYFlHOcj0I03lfJmh+6Lg10qOACta8i0E0MHKZ6kwYZ4w6I3EcFMGHpmkjSSNw0yLheJYU3RkZCU0dJ2vhKG7B96vjE5ZRRulJ9BHZAAAAIABJREFU2xaCTwIwiN/sjGbxxU2bAt10WF/Y3A7Ha5A9ahdGKWJWrZzGL391A7zaVImrfN99O7Dfhr1hmhxnn/NZ/MtHP4WPfOBvcfJzj8fMVA1xpvDVr12OJKKAoA377o3t28uTjExILDarfF3IUvf6G27F1vt24FlPO7p45dPnvh833fJHnPOJL+CwQw/E4496dP4WhMFcj3iec46Xv+z5+NJXLsV73n4WvnjhN3DaS04GZAwhUqxduxcA4OMf/b949lOP7LCbJeTuXwYA1rc1rJBlMd1QXQ+Il734BPzde8/Fnbf/Ed/8ztU4+wPvpP0qCdN0oJRC2NqhXabKKwlhcztspwYh2isXROEwinOMw0VYusuRxC04bqMjXZWEWNaI351HAlqLW3Hp516H/Q57Fh779P+DG675Mv74m+/jxJefi+k1B+3u4ZXAGMfGg6ib9pJX/i0AYPvWu7D59ptx56absHnTzdi65fbdPMqlI452zYQ9FSasnanXEOkuCyLMpI2JqUmMjeWJ5ykyIZAmRDeQIkOWZRBWBiUEGAM4o0IEMoLKAoh0EWoXhxByqwZmjwPMg1QWksxAIhRcOPB8G+OTLjzPoyKwT67TIwrhnUByL5AtDt/2AYAcopYoDtcBcP2Qh9wJkaLVmofr+IBhLJmqJfVxOpPMg9Y8XK9eva8RNCGO60OIDGGwCNsZbbFBdeg78ol8msZalNy9YGcM7JhYlkP2vGFzJFG+obWWjuNBCI4gWIDXdf6G0Vse5JP3KGxpByevsrORw3Y8ZFlSCL17x0H6V8t2YWQMYdiC57Up2GRTq8CYURQvUdSCY3vtbpJGHhxIHQ/VsQ9W0MD82nhxLS3bgciyIsDPtl2kCQpaF2McJjeLRV2DMUhDgBkGsjTWuR17Thf4wULxLU6TAEm0CL8+XXQ1OsU4w8C5pUU+AsHiNthudaEBYOhqt8gSHHHYRvzu5j/h5j+0feWFEPjapd/FEYcfAgC49robsN+GvfG6s16GtWtWgjGOH/zwJ9TViDNYTg1HPuZQXPXja3Hv1nbK+RX/8xMI0XtuuaXuvvvsDcMw8K3v/rh4zfdcPPmJjwUABGGIu7fcS4EzMoPt1CsfqC9/2Sm4Y/MWfPmib+PG392C0089EVkWw/MncPCB+6Hme/jyRZeVXCP+6cOfwKOPfh623H1HQbHp94BLoiZN8is+zxeedDwAhX/66PkQQuJFz38OAM2FZRxJtAjTcoo2ZP5wofwMGzBQdJOEblnnN5QU5EiVU6SSqAnLqUFkCSynhiyNwE1nyQ//PRl/uOG7WNyxGSv3OgwAsN9hz4bBOG78+UW7eWS9+NH3vopz3ncWgtY8fvz9i/CnW/4XtcYkDjvqqTjhlNfgrLd8BNOz63b3MJcEkUaIWw/+hN1gJpJUwrR2ntVzGs4jbG4fvuEDhMEpoLNeq8GvNVCrj2F8cgVWTM9i1Zq1WL12HVauXo2Vq1Zj5apVmFm5CuOT0/BqU7C9aXBvNZi/D4zaoWCNw8Abh4LXD4bZOBBWY39YjQ2w6uth+athutMwnQkwuw7GicZpGFz/NujJAePglg/TmYDpzRC9q743rMZ+MBsHgtcPBvyDkVgHImbrIfkMuDMJrz6JFdMzWLfXWqxeuxqr1qzDytVrMTYxtVxoAJQQnm4Hwjse9EMJuXRxuFJqqPMUQHOOPCmcgtmW+HvTIfgGiPLj6ByGKioTre4Pb1fk+oEkjkbuAHcXEHkQX9ARfqdHMdLxXa+OLEtLVKfK43aY3NDnWdddnnLInqo8tlG4eiVDaFIAMVo4N7X7VP9tTdMG5yaisL0gzBgvRRvYjgcD7VC/7mPnHS/RRXPinMIHO6lYpmmTNa+iIEDOubYkdhBFLdiWAyEFBRsahu6gUeFp6KC/ZQyHCQBpHFDQW31Fh/DGoPaZlCPd+DAMiCzRCdvjPVkcVfjKxd/Cb35b5osqKfCet5+Js155Gj79+a/jKc9+GV51+vOx//7741///XzMzy/gXW9/HQDgBSc9A1+79Ap84OxP4tijj8Qvr78BH/rYZ1Cr+Qhjaum99lUvxVe/9m08/qkvxDve8mrcdfe9+MznvwLLKhcHUTBHHD23jr3W1fHqV7wEn/7PC3HftkWcfOLx+NZ3fojLv3c1Xv2Kl+CLF34DTz/xDHz7on/Hisla3xXMjRvW40nHHIV3/sO/4QmPOxwb915JXSPDwOTEGN71jjfg79/7Ubw0DPDK01+MG268GR/62Hl4zzteg9nZVR16iYoHnFLkEd2nezA+VsMJz3wSzv/i1/HnLzwRY42cY09BfSJLim6KlJkOZhRIkxB+Y1qngbuAUojDeZiWV3RPonAejFNYTpoQt5ExjiyLYdmUzZB7Zy+DcO+dN2Jm7aHYa3/KV1m9zxHYa/9jcNefrtvNI6tG0KIVzyu/cwEAeh5Mz64rsjaSZACv+CGIJJpHuAsE1qY7DcvxYe/EYiMKd2CUScYDhelMw3Js2E71IhFZVfrodvOVkrjQIhMQUkAIQfxoKSGEJHGmlJBS6v8XkFIRxUYprT3L5zyqSBtWCpCaYsoY/R4xzopgMM4YuGmCcwrtMjmHZduwLOcRTI8aAplQlkbz97vmcCKDNYCaVPkeKcHZaNcvt3KNwiaSJALn5ohi7+rCIQ8BjKMWpJQ99qajak+UkkWXQ4TNIvG671gqXsrF52HYhK3F5/227UZuAZtmMRRU3zwQogOVw/9ct4YwbHaF/+WZX737cN2a1jWk6EeTAkj7wRgtKITaRreUq6EpTYwx0mbEIaKwVQi+hczAOwIWHNdHFJExjRRZaR5mGIbO02jCr411uIiRla4BA3EcwnE8ssqVAq7XQKwZMZwTDc4wDCo0RAbPbyBoLUCKrChK83GKLN1pnew9FSZAnD3T9npuBs4tCJHAZMPbgUpmECJBfXxlydWoCpwzPOmYI2AYDJtu39zeh5KQQsB2xuE4Lq76zpfw3n8+F5d/7ye49PKr8ZRjH483vu4MHLj/BgDAKSc/G/ds3YZvXPZ9fOHLX8ORhx+E717yKXztsqux9T5aCfQ9F1+/4BM4+2Ofwcc//UXMTE/iv877MM795OexauUMAGgRuwHHa6fEnnv2e7D32ml8/VtX4YP/+mkcfthBuPSrn8Izn3YsTn/p8/Ge930Uk1NT4Fzpu7D6XP/qtX+Bc/7jfJx1xgvg+OOlB+Ff/9WZ2GvtKnzyM1/Em9/xAczOTOHdb38t3nDWqTD1A/rYY47E+nWrS/vcsM86HPHoA2E7NRiM4aADNmB6RVuAT/azEqed+gJ8/bIf4PSX/lnHdZKIwnZIHwB9o9qIWjvg+uOaI0ne6EnUAjdd+tFwfGpNKkXdL4MVSeJZSis4aRLAgAHTXl5B7MTkzD646fpL8Yv/+TRm1x6C+7bcglv/93Ks2/iE3T20gWCc4/DHPh2zq/fG/I6t+M31V+PX1/7P7h7WkkF6jQd/wg7egOd7O1VsHO8ivQZ4nawilzh2xjiYzTHI4VpKXYBoVxjoIoPqivzfqdCQ+eugxyrjDFynAOeJwMvFxP2BIpvb1k14MHUanSB+/NK0FJ3az1FhGAyWFns7jjeU1kIGOP31F65XRxwHBa2ITHCWMCAdxuu6Na2jWKigRJWOWvnXPPk7ipo0ZlRwmvrtz4BOxx6gAUFvV4Bx3hH+N/yzBKjTkKaxpiJVL4DmSeG27SFJgChslhYlidLV/r44joc4IovifFLfDcfxEYgFiK5iAyDb2zSJEIYU+te5kG6adiHGtyyHOh46UyN3BUuTCI7jIwwWKSdEUgEZtBbAuQnTsqGAIjDQN8d7xreMNoxk+2/7/gJnaQSRJT0C726kSYAsiaCUhFubGFps0HtCKCkKB6U0oe6K60/03JA5tadft0QphSiY08VROtSqN9/eq00i0Tdx1TkGzW3walM9D6U4WgSUguONkTbFH+t7zkKkCBa2wquvKIRY3WMJm9vgN6aRJiGyJIRbmyyOmcS60tbnrqRAqIuCLEt6HJ9yYb5UAp88/1J86nMX4PfXXa7bhAqthXvgeOOl1aawtaPQ2uSfQ9jaAcdtIArm4NdXIGjeR0Ly1o5COG4wrl+fQhTMg3ETSRzAcRtw/eUbrxNJ3MLF//EX2Lal3cnzapM45bWfx+Tsht0ypisu/wZ+ff21A7d50cvfjgMObYdMxlGAi7/wYdx26w2V2z/h2GfguONP2qnj3Bm4Z9MvMHfvrQ/+gfxDMD07ixUzq3bK7qRIsfmWKxEsPnjWpDlY/VBMzazEiunZB/1Yy9gNCG8HWjdTUviDDCEsZJmFMKzm6A9CPtlbirlIngwOqILWMih5XIgUaZoUdJt+ECJDEofatUlUBvhVnkPUKiaxAAUbxnEAy3J6cqfSJAIMY2gaeT45dlx/aAEgpSwsXAEgSUKILOuxllVKIgpblUwEpYhuxE0LWZbA1Yub/RAGi2CcJuVVboVCZEiTqPgM0zTWY/IBGMjSBFLJHmON/HpmWQq/1kB3tSWlQBAswHVpsaQTQbAA23KRibaZQJYlhc4k/66R1T+NLUlC6sIqBc+rQ0qBMFgE5xZcr0bOWh2Fh6Udsly39shztBsd/zawKmDcRBr3t0QDKENDSgG3NokkWoTMUjB7eLHBuYlYr4YnURMiS0qT7O5xSCn65I7TZN1yarBsD0Fz29Bjk2+0RBwtQknR19636mFX+Z4BC6ZxuADL8SsLjY4DQWQJkrgJvz5d/gy6RGlhawccrwHGLag0gmGUb644nMevfnMr7rjzLvzbx8/HG1//8mKlQGQJOLd72tpSZJBZitr4jD4kraBEwRxcf5xWGA2OLI3AmAkhUthuHVFrThsDCGRZAstgMIC+1K5HMmynhj9/41dx2++vxNx9t6M2NoN9D35qUWw/FDE1vRoHHPp4/OIn38ZNN/wU+x18FB515FNw8qlvxH/8y+tHsot8KEBk8S4RWBuMI05lzw/eA0ESzo/0THugMJgNxq2dSv9axkMI8T1AdNcuKTRyjBKyVwWpbfeXdqy8U2HAcWtajLxQogKVtpdqJPcqolXVEUWBjgQY7Zy6t2OcU7ckapUmvgBNH9gI7Qrb8aCgEIUt+DU+UAvTvTfb9iB4ptPTGyN1mzozPLI0hbLV4FHqgklKUels1R2PkBdXlJ1CyeRZ3KsxyQP1pMygpOrJUsmpWUkcgLGyuJ0ZjDqiioovx62BcwtJHMFw6PyCYAG+34CUgrLBdNaGEJnO5bAKYbmSHhzHR6s5B6Wos0IRAdTdMC3nfn3nHwkY+I0zDGp79UMckdDH00UC5xbEiC4khkEC9CRqUjeiXl1oABRLr2TFOBS5R+WFRv63USC1s8qgFXgSbbX3l8QtSJGWCo1uzmMn4nChT/5I6SQA3WnxK7ooJNJvdznIBtjJXyytNFC3SOI/PnMhTn/N3+MJj38M3vz6VxT7iYK5HiF7blvr+GPFcaRIIUQKxi0qaqQA4xxJ1ILjNSBlhiwJYdoumMGQxE2Y3EaWxjAtZ8nuI48E3Pjzi3DVN/4ZGw49Hkce90oceMTzcOPPL8L3v/qu3T20vhibIE3P1Vd8BZv+cCO+/80v4LKvfgL1sUnMrN57N49udCThPMLWgz9hN50Z1Op+Eca5MxCHcyM/0x4ITG8atm3DcQevri7jYYh0jnQa4Z+Gb7sTIWU2svYix1LC8NrvkT1iAtO0STwehzp5vGtsakQtKgDAgMktKCiEwcJoSd8VmpB88s4ZL5K19cZLiQfR4XWtUo5ExZB7UCRth4sd7x1+YNerw7TIDnbQymousjZNG6ZpIwoXS9czX+TtRN7pIdF4/+vvuKSNTdJqwT1jnChPYbN0jLwrY9suFKjDQ8HGRmFhm7+Pc7P4XPJwxFxgT+wSC6k2y7EdD3HcKgIDTcspLHSXUY2BTwLDMMAMXlnN53a0pYk3NyHTEZX5hkETfsaHJ5QzDtldxGjrVm52r9QPf1jl+gIa+4CbzTAKvZMQKbI0gt+hdWhv03vMNA7IqcptIIma/Y+hgDSNUB+b7WMJTA8ikSXItHi7eKXDTUPKjNzEGtM4/5P/jM/++3tLq+a501b3MUSWwLK8EhVLZGmJUiVEApGlsDTn0zBY4TyVJBEAA0LSTbhsd1vGzb+6DLff/BNs3fxbtBbvK757SkncfdsvSXj/EMXc9nsAAI95/PG45odfBwAs7KCVUWsQQf8hhjic3yUTdpgN+L4Hq1tB/QCQ7Cq9BqMJxVLFvMt4iEO0qKPR/N2uP7QQ4Et0iBqkpej/HlXZCSHxeANJEmmaVTt5XEkBtgS7UqUkLNMGN/8/e+8dJ9lV34l+T7ixqjpOz4wmzyigCEIIRTIms3pyAmPAZr1gex1YB4zt5+XzFq8/79nPj901+NnP2cYLmGyWYMAm2AKBkFBA0kiaGUmTQ4fprq6qm885749z7u3KodWa2N9/pOm64dyqW7fO7/y+wUIUNoyWofeiQr8OiGW7IISu6EEUMEq1QSkthOOW7QykXzVDi861HsNxS0M7hTFj/aoF29278Stp3rqIICAtWpXcdKgd+fh18F9vLVEeqkcJ7aArMcYhldTi9qAGzx/T2gxmIYoagI0igTyjCRjX7qnUZuDc0uY4aazvD24BIIUgXClNx3PdEhqNKiyuTSjiKECa6uiBLI11MWJ0HuvdjU4MXHZg3NL5GU2agSiogllOB11G25MNITxTComhIw1DIyEELasJSkmEjUVYlldMgFc2pn0dtHJ9CaVs4Nc771rILEYc1uCVp7t8WVq7H8U50ghuaXKg33wSawvafnoUJSXisAq3vdApHrIKcVgzNDS9utBcVGjHKApCSYu2JM/acNxWvqbIEjhNLdDM2MvZjq95lVlqNCOx8URnuiai9JyePJ8NbN5xPb72yfcV9sGPf/9zxWuUMtz86l86W0MbiKXTs3jqiQfw8te/DVc99zbMnTqC3ZdfB5GlOHHkybM9vKFxpibsqbRgWVZ/yuQIkCI9Y+JwoSzYjr3+I3khQaXa3rbxGM6IOUIbpMhGmggDMG5EIxYosn+gn227EJQhChuFAcKoYYMKqjAn8PyycSBK+uhC+tOtuGWDMo441q5X7kjUSwKSF1JxiChrGI3LcN/dwsErqoNR3pOZ0XJGQsC4BUIIwrAGxyl1vH+U0pZEbW7ZIJQgChumsKFFGnl7cZjfJ9p2t3vOCmMcjHMIKQAj7G5+LU0iWJ6jXarCGlyvAkIpFFbob66nBfOc25r6DV202LZbWN/mgYiUsiKxXGtdKDizEIQ1lErjRRik55chYlHQ9fKAwHW0Yohiw9GcNG5DSWk0A2NdJ8fFqsEAzmXYWNTFiluGFGIIQTkpiph8gmw75a4/6tR0QRjtHF8aB0jTEF5pCmF9oY9JmzkrZRBpjCRuwK9Md/0yk7Z0TSlSpHEA3xQm/b7GcVTT198nSbpZzN75ENZHj8Pail0bWoOUdBp4AL88pQs0tlKcxeEymKFKNY9fiLTI+IBSEFkCrzwFgEBksbaZtF2EwRJsx0cSBwABrC6OZhc7xqa24p3/x7fw8Hc+jvnjj+Gld+pEem3N54/Qyj87+F//8CG87kd/Ds+59mZs3rYHaRrjHz/6P7r60J+LkFlyRibshDBEiQBfQ5ekJKqeGWE45et6jQsNSgDB00Bjv7a7PdOnN/qG1ThRjRzOZ2i+/cC4BY9b2k41ahQUmmHR3D3JXaZyXUh7CN6whZ3uUFSMbW/YPb27YyAr/0sIgeP6yLIUYViDZybE5tW+RUQeHhjHQaFV6Hdu3bVIYds6tTs/X2v4X2eKOGMWHIeujM8Y1XQ7Va73iMKVzkQz9GK2gusby1ulCjE5NW5R+Tlthxi3K01bk8ZdkxAC19FUMn2PrsxVHcdHKGotNrbcstGoV0GoTiy3bBdZsIwkDmHZLtI0RprEsGwHWRqDEKKLniZzgHVoDHw3dJaCpgTpDI2JvhkalHHTCemyoqEUwmAJ3HZh2X5xXGDw6kduxxo2FmE5pZ6rh6Qt/CVHloRIk6DIEtE3vQAhvd8CQiiSsGYKjT4PTVNs5OPzKxuaOiDdaVZCpFoU740b7UuPQ0sBx620FARNI4TIdCK5X54u/iplBmZoLlFjCbajrfuUlCCmsBFZAikzENoqNIuC6krLEyuhTHkhkyYhvPIURJZqC9ymQnG9q9GJY0/dC9efwJ5rXoENmy/HqcMPtbzuliaxcds1Z2l0gxE0lvHpD/8hHNfD2PgGnJ4/0Z8rfI4hDpcQngGBNfc2oGz7sOy1o5fFYXWkYNXVgrkzsNb1GhcWwkNAcBAQfSi8zypWKQ4XEtaImicp5dAZB46xaE2TCFIIMD5kMaQ6MzY4t8GoDqmzTA4GkMs1hr92QrU8XIu3e6SX9wE3HYcgqPUUxPeC4+hiJQrrHU5VLWNsWlTN8z+KDAwzXmJYJe3QVrqa9sWZ1VeXwyiHJAJRVC8sh7uNw/NKCIM6UiNKz3UYedHEGAc3lLdcV1FkhlAK1y0jCKpab9E0n831I35pvOhkca4pZJLrgoUyjkykYJKDcat4Rq/oc7WLl19ad+RsxsC7klCKLI2NpezUQPEvZZbxPG794cotWbXGwi+2zZLhNB6EMgT1BdhuuS+vWHs5t97wQqRI4kZbaKGhfPV41iglkYQ1OF6lh5bCjMt0L5RSCBqnTU5F/weYkgKRKUq6Ct8NsjRClsXwK9NdX9ei72X45amOvxMQpHHDUJuc4guefyGjoAqvPImosVSsrmvnMdVSTMbhcvFZSpmBEArGLMRhTaeGi6wQ8A/jx32x4asffS+2X3ErSmOb8P1v/EXH6zuuuA13/Ic/PwsjGw47L70G19/0Q/jcx/4Ic9ERTG/cioXZY4N3PEeQnKEJO1gFfsmHfT7qNdi6XuOCQngUiI4C6bNfZPdCLyrMwP2UGL2zoQQsOvz3jnNNYUrSCExkBW2mP7rzIIihJMVRAyJLi0Tt9kTwQbAsrb2IwoYOmhvR0Y4xDt+rIAxrsB1/pIKDEKIn2UENnl/uOn/J6dk5KGXaoakp/I8aylI3UKqzO4KGDgTuNb7cWYpxXrhUtbh60Xwc2iUsDOpmMZSDMmY6Ffr+sWwXMg60yLu9S8IYHFdrTluKDW4hJnlXxOg+LEezeqI6fH9M3z+EIoqCIkdFSgEQAs4tJHGonazSpMPm+GLGwDtSp78K+OXpoVyGGLP0pLXpu59nSVi236KxoG03cE8oZULlSkWh0guUskKEq8efImosthQaAExno/u5c6oWs5wh+IzEiNVPw3bK3Ts6Lb7WRifh6aJEons7V4oMcVQzHYVeXuEJXH+yoxhSxiM6iYMmQXmTq1ZUg2V7RVci130kcUM7TJnjZWmELIlgV0pmv3rRURKZ1qToQESlP9d1ClUHXnzHb6E0NgNuuZjY0OngVB7fdBZGNRwIIfjht72n0OyUyhP4mXf/3/jip/4Eex/89lke3XA4U5qHTNprq9eQZ1KvYcO21/UaFwTiU0B8HIjO7oKAEBkoG+27oMMeOzsIA/eT3QXivc8jCwpTEocd4vGu+6D3uHItQJrGCIJlOLY32m+h+WnO9SBhWAeXoiNvojhfj8PkhU8Y1sCZNbRMh0CH3FHKEASd9Cigky6ej9f3KwiDGmzbKybWvShZlFL4pTGdWUF5V+obodqxyrIc7dLZ1nEpYhAYB0DgeqWio8PNQnfz2B3H13bDXWzateC8gSQOi4KTEB0gyo0A3PX0ccO0DsfxEEV1uI7O2nAcX2eAGGpWECxDUakDAqEQRQ2U14uNAn2rhySqI8tiWLYPpcSgzQFo/m+zc5RS0gTfjXekghJCB7rE6P0X9I/4EI4yhLJCpJSlMeJwGX5lQ8eDhBLW1cJOKYmgvgDHrRSuS/3PR3WXoDTZ4ujU42IQmu5MMSnpck1aG3MafnkaYeN010PpsD+7R1Cg3t8rr1jpavtajiyNIUUGrzyl/2YKjihYhuuPI4nqsHxP55CENTDL1rqdLEESN1Ay4YOFjkYpTeNqcslaxwoue+5riv+f2Xo1AP35xtFyz3yXcwWbt10K3y/jj/7rrwDQhfvJY0/hNXe+C4/94DvDmUGcRUhx5vQacby2eo00XEZYf/b1GoRqWsBa2vWu4ywhWdBFRnD2zRs0RWlU21vZkaEweJ+Vjv3QY2sSlNuOZ0Lb6uCW3XOCP8w5NE/fQhTWVqHFyxkXFL4/hjSJEDSqXbQL/edAhJBifymzgfrZ/NRKKd0d8ccQhTVYltuyKt/r0gnRBUQUBZBKNMUF9CrMKCilJpPC7jAQaC5qLLPwqXMwxgp6VLNeMH+/wqAGy9Cl2o/puCWosF6khTefi3MHUkmTfK4XsjUTRIIyVhQVlFBQysGZRByHRo+knaySJNLZKV4JQWMZpdI4wrAGQqjWb6wH/QHok7MRBVU9iSxNgVm25ugPAf0l09kRUgoEtXktKO+mOSis0Lp/gZSSCGoLsN0KuOV22t92Oz90K0+K3Aq2u96CUNqVwhQFVSM+dztah90gshSW7fUuNAiKgiKOauCW22XbNlvhsKo7H5R2fWekSJFGjZ70LpElsN1yi55CCq3PSONGMcmVSgvJhUgLx7G8DZnEDViODwLNhYyjGihhoMxGHFZh2R7icFmvQtijpb1eTBBZgu9+5YP4ykd/A8eeug/HnroPf/V7L8Vfvv9F+Nxfvqu/LfJZxvKinuxOb9wKQDuFfP7jH4Lnl7F1++Vnc2hD4YzpNdxp+GV/Te2A43Cpxdnl2QJ3dL6G7azrNc5rpEuaOtV44pkdRwHLgYUgfub3w8iuUkr2NUvptc/oBUqrWyWlDH6pounNYX1VWR8rx6JwXB9SjHas9iuwbNfoCpZbNHLDjiy31w3D+sBckOY8Md2lqSBN4yKrvLq9AAAgAElEQVS5u2WrrtejbWGlkBAi7bsmrIsJnd2RpQmyjsVcAkLJitibW9rO1gi6uzmeEqJtatM06aknzC2L241NOLfAje5C2/jrv2VZCtt2CktcbukF17xwyOUFeUGUGjqW7XhFOjmlbKCd78WErksPOoyOwPW1IxFlFpJ0+EkRoRxZGiGOagMF5YAOV2l3pFJKIagtwPFMoSGy4VZSCSk6A15pquckmFDWcRPEYRWU8RXucpfWYTO0jW4A2+RR9LlE3VGQAl6pfds229w4AG3TWbRsbYIMHa8CIToLQGk0FO10MykFRBrrIso8aKXIQJmFOKjC8cdbQoZkplPCJUshRQYoZdLCU0ghVrJPFGB561zvXrj7Sx/AQ9/+CADg4GPfhFuahO34GJvciiP7v4OHv/MxvODl7zrLo+yORn0Jx47sx0+88324/ztfwfEj+7Fj99WQQuD0/PGzPbyBSIIzpNfgYyj5/prma8TR8podqy94BcyyYTvrq2/nLbJlbXFb3/uMDiPBsbgUIGkcA3Mq8GcqGCX/oRmrceIRYrCrVDt6ZWz03aerva5JHk+1w5Tj+EWOxqjFh1JKW9tSNqTou3uoXy6sjsIGLMvWBQQwNEUrd80Kw3rL9XTZsCN8z/MriKNGQWMyo+wLreGQiOMGPK8yYGvA88sITLhhc8eBGveoXPPDGIdlOcbRqvtx8zEHjWqLGDwHYxzcsoosjfy9oIwjiYMi7DDvVhDo98R1ywjN/ZCaYsNxfX0eALaj/92oV5FlKRxHv+b7Y0izBIQyxHG4boWL9s6GUogaS1BKFYFuQJ7gPbwDDWNWQS3qX2gYu7S2Fbxc4+H6Y0UXoJ/GonVfoVO+S5N9NSa0zTlB537IlsyJbomXOUSWIIkaOktjwLiKnAyv051ANXFURZYgSRqw3fy97xSaRcESbLekHSzaH7JGD9LtuqXQQX3N2ShSpMbKVtvmSpMankR1cNuDyBIwbhcdGcZtJHFdp3KatHIYAdU6uuPIgXuwdc8L8bPv/y627L4RtcXjuPNdf403/dLHMDmzC7PHntkE4dnGp/72D7Aweww3vfiNuPMnfxU33PoaPPrgXQgavR3UzhWcSb0Gt601KzakTJEEZ06v4djOemfyfEW6BASHgPojz/hQS9UYSWMOtr8B0xu01flqMSqFCjAWtquxvR1ZUN47OJBbOnk8TaJipVv/Dg+PvACyLEfnOoR1pEn35Gt9dKDXe611HBUIkSGOgpHTUnJdRRKHTdfTCtIjmNhxS6CMFx2aYd4DRjmgdBe8V5GmdRmaauV5FWRp0jK2vNhohmU5sC1XJ6+jewGYC92DLinvuVOW51WQJGHROaGUFtvmr+kUdN3dyDs9cazf+9wy2fXKECLTBTLVRWGaRMbS3kGchLBtVxv1GOezix3FE0FKobUVppPQDJ38SM1KeP+HSJbGmvfvlnrYtbYiz8XIFeVKCgT1hY6OSPFjqGfnXY+lpEBYXwTjVt+QH33AleJF04HUSrZE0zm7FRK5eNuvbIAUSf+S39DJSpWZHjxOVRwzCpaMvsToLNquNU2ComuRB/U1IwyWehR3ClmWFNkfOYQpQPyy1lvk+hQpMjjeGIL6gs7OANFZK0wnbRKqaVaEUNMFWheW9kIS1bDjitthu2Vcsuv5OLTvW6hMXAIQAr+yAeIczqtwvRK2774KH/6T38GmLbuxeeseHDzwA8yfOnq2hzYQZ06vQRHFAnwNPdXTcBlBfW7NjtcLhDDzPFnXa5yXSBaB6AhQf/QZHyoWLuLak6DMxeRUCRTPzN6aUoZR51dqlcXGqF0UpVRfTUWePJ6mMRqNqtFxjJrJYQTNlMEvjesU81ALmUct7PPJbZYlRTDhaPtrXYUeQ92Mocksp08mh227OscjWNZb9Jl/AXpRmBELlFLT1al0uJKtzKto0ZFI4hBxpMP/dEBf5++iDkJkCBrLECLt6n7JmAWLy6Ijs2LLS4oixnXLLTkhzaJz1y0jaCwXY7IsB5RSuF4ZjfoS0jSGY9y+/NJ4YXHLLRtpFiNJIliWi0Z9Saeam3s6t9O9mE04KKBXuKPGIlx/vKf2QE80+z+AsiREHC7Dq0z3tXRthhZ0azqQ7FFoFNsS2pN/mBcpfnkKlNkDeYrFmNNI34B+D0/ktgo6F1+7Xn7j9NacAFoDQhnvLxgjBGFjEZ5JAG8+d97ZkDJDEtXh5C1NJVu+9LmFMDOuEs1IogYA1VEoSpE1XYd2t8rSCI43ZpxBJNI4gO1VoGSGLI3AuQMltM2bggJft8vsi+aWPWUcjK7cC/p+PvcyK8pjk/jht/4abn/Fj+JH3v4elMrjOHrwcdz37S8VXQ7PH9wmP5tIwuoZ0Wswdxp+yVtTgXUcVs+MXsPboPM11vUa5x+S+TUrNACgtqSNSEoTm3sWGkJakEOYxKwGOmBtNU5Uq9R5DDHhtyynWLEehUrVzY3JNjkcQVDrSn8e5ro5t8EtG3Fk7FwHgbR2AGzbBecWwmC5WNk3J+97fZxb2tJXCogBv1c5Y4Rzu6Amtc/FunUubEc7eMVRw8QJ9LbQdb2S7vJ0WQhmTEcfeH7F6FVWtuHchhCpcSIrF6/rLkZijk+LbpQeg2o6b9loPlTxvoCQoitj295K2KDjIQrrsG1XU9hF1kWfcnGBA9qmzvEqfSlPjFkQWdKzGBHZStL2KKsAlDHIWOjMiMZiX40HZYbLx9r1HRJB3WRcUFa0xvo9gggBFBTisIbSkE5Kmt51Go43PpQNsC40rP6Fl1JI4wCO1y24z6wiGHqUFnbn7lISlOcp4QpJEsArTZpsDd50eIksjTo0MUKkxs965b2WIgO3XBPMmGlnB9sHIQRSCHDb09oZrCR1soHp7+t4eu83UFs6jsXZpyGlwFc++h4AwMKpA5jZcuVZHl0n6suLqNeWcPNL7wAA/PxvfAizJw7h+JH9WFqcwyte/zYszB3Hk4/ff5ZH2htnKhCP8HH4pdIa6zXOVL5GBdyy1vUa5xviWSA+8Yw1Gs3IYq0RSrMEzb/fqXQQRQJRsIjM6Ijc8S2YqDAQrN33a1CCdS/INrH3kCcb+lyUMp0sHdYRhqqjK9Dr+N3mQNpeliOO6uCW7HBNGhauV0aS6EXSfhkh3UapV+pbE8CHeS8oZbBsF3EUAC56Zmo10911+F/FdBlWwv9oj0Vjx/ERx4E+Rx8wqq1lw0BrOJo/f+1wqv8/F5b7vnYWpYwjjWLANsVD0+vNNC7GOGzHQxjWkWVZ0UmyLAciS5EkEWyzyGpZDqJId5sY4+CGduZ5ZSQkNLQrHSCdd0ouVnAAQ4U5UWYhSbrfBFkaIQ5rLRQgYLgHCDWJ32H9NGy3f8FDClvdlQ9sRUg+VmRcEBMy1w9SZJAiQ2ls40DBVX4dUWMRlu23ahR67JsaFwLHqyAOeos9teWc1TU/JPf2jqNlWJbX8t4oJYovWRzq1/VKuQRnK1++KKhq/UULXccELLLW91pJPV4AhW2e41X0eyUFLMdHsDwHxu2iEFnP1hiMxbmnsTj3dPHv/Q99+SyOZjh888sfwcLcMbz2h9+F2ZOHML1pKzZv21O8Pnfy8Fkc3WDEwdIZOU+er7FW9oZnUq+RSe1Cta7XOI8Qn9RZGmtYaAAAYS6UbCCqHsdCNgPL8RDVT0MkncYwUfU4lrAVk2vY3Gx3iBphx9GLlBG3l0rCdjxQQhEEywNTulWf9HRqsjCisA6RpXBWKRz2vBLiKM8I6Z383Q3a4raCIKjBcTRNuj0IuRsIobAdD2mizW7sLvNGQmjLsXSnwIT/OT4Yt0Aohezhbuo4PpIkQmLsZbtel6FEOY6PKGp0Cf5jOlWecV1QBDV4fsUEAq50TBjjcB0fURTo96CJxse5tkHO0qSFtsYtB2GwrBdaGYdl2UiTqAgBtGxXO3klESzbQZalJmxQQYisw373YsLQy9KUMUDJDs5eEtVNzsJ0241BoKQAGdABkFJASQHHrwwUGmsu30oFqrshS3C8sZZ9KWVmhabXObMVetOQXRidOeG0hBICrbZxObI0QpZGA8XjUqSIw2XYvZwblILItFbCKZVbX5LS+DhrQVM+rjywCNAaj9yburn40rQqtHRn0iQEN3Z5gO5Uef5EcQ7bLetzmpULSujAgMV1AD/+y//Qlyo1MJvlLCBvUz983zcBpfDog3chSWLMbNqOTVt2o7o4i+WlZz8DYrVQSrUEez5rIARxstb5GjUEZyJfgzCAMNj2eujUeYPwGJDOr0mhIRRHknF4lv6e+OMzqM/r34WkMYeksbIt5Q6c0gyyJEAaarpVtHwcqrIdBGtD95NSgI1slbsKJyqlBus5O/bRv7VaM8CRxCEymsC2va6T4WEWWXPr1ygc0fq8mCwTOK5vdBx12I7XpQDqnXmR51MkcQAhhQ4BHID8mjy/grjQWPgtx9di89b9cpF6FAVgMoNluZCq932TU4+iqNG1k0QIAQEpui1RWIPjllfcqzg3GlMOxjgct1SkfVPGWtyqGLfApUAcBx2BgLbtIWhUTSdD/05zrnOJ8sC/PL2cUKYD/9wysjQ2Nr20CK7WKQ+06IJcjAs8I/xKksLuNKf7JFHd2LlOdmxNi237rAAoqSf93B5qVYMQBmVu0jws0HZKHUUKMd2Sruc0XRS/sgFxuAypBFjvuBHNyYvrUDKD43VeZ/v3WEnR2uVR6M4/NNQoyyn1LXdkj8A8BaW9oaMa/MpMy/mJCSxMogb8ygZkSVh8DlIY7YWhS+mhGApb0+coshROecz8fwK/PIUoXIZl+4ijGmyntLqVqIsM53JCeC/c/sofxXNvfAX+/AO/gsnpzdh12XNx7PA+zJ44hNkTh8728AaCEILy1G6A6bAplSwiS9a+W8CdaTDHW1OBtc7XePZ1PNydBnPW9RrnDcLDQLq4RoWGhfnZOSgRwt68A4ymqLgJMLULjaVjUDIFIQzO2CZ4ngeHRyBQADycXtyIuDGrjU8UwNaosa2UXBUld9TfoNVZ5SpQrvfJV+rTNNaWqN26HD1oVO3glg3GLTTqS0iSsGunYOAxuA3GLIRBrWsoYT89NyHa7ndlJd7tWyQ1awwdxzOJ6ZqO1fyedm9GaJ1EHJmsC5XrIXp3gKSUCAMt1u4IZTZFg564k8IWl1IKZooBmHUUxjhsY51rW65ZwF35zCzbLbQXnaF/NpI41C5TlgOAFJSpvJvBuM6h48xCHAdFYZokIaB00RKGNe3imSaIogCe17p4fDFgpG83zePgmaUn6j0KDUBP+PtpPPLAPtcfN6FyAoNkEDqITxbaCcvxuwqUewmMVrQdesU+t0PrK+4AINJYOzl1H1Wx2KBMAdGc3N0LOrhvrI+QXRVdj17HSsKauZYm6hq000ZuHUwIgVQCnOkvURLX4Xhj2jHMdCbisKbFy3kRGZtlLUKMtoPoB41ITZI71rsaFzBOHXsatcvnYdsubn7pHbjZ/L26OIdjh/bh2OEn8NC932gLfTq3UBrbCKEsECtCrVZBhhSOTUARQianIZJnnmNBrHH4JR/2Guo1kjOWr6G7wet6jfMAwUEgWwTqjz/jQwllYX5uDjJtwC5tAMjKSnnFT1H2NkGCgkKBEAmgtUNouSXEDYBQC4z0Xp1WalShtwK1VhECOPKCV38nql7naf8NLtLCozosy2mZpI6qP+HchlIwlKjBblXtbAxCCPyS7hw052IMK51ljIMACILlQsfR9bxtQnLL0hTMvOBY2a/3iXWXoQEpJZRUPQMZddI4gWXZCIJakSBejJlqXSnMxN8zDlO+P6ap+W2MEsYt2FCI47BrB82yHO2IZRLDc3BLBx2naQzGuO6mcAdpFsN2fERhDa5XQRIHsJ0xiKihtSFpDNfVieJZlsB1S0Uxk5pOyWqyaM5njHS1jFkQIkVkOMW9Co1829whqR3t9rY57WHQ+iAh1Ii6q7Bsv8+Et9M3uhB3u+VC+6CD/Xo/MKUUyNJIr073eHg0f/GjYAmWSY7sB63nUOCWqyf2XY6dd414jwePkgKU2206DqltarNEt/d4bicsQSk3VrcmnE8JIwRPi26Vfj+UztkwD88kqoNxB5nJ4xBZ0lKYrOPCwyMP3IVHHrgLlDF89M/fj607r8DWHVdgy47LcfX1t+Pq62/Hwf0PY+7UkbM91J5g3MLk9EZkaYLxiQkkSYIsS5HECepNxQdDCLHK4kNIG5Zlr1nOjJQZ4vDMaE2E0l2Ni7Gdf/5AAcHTuqPR2PeMjyYVw8LsPGTagDu2BRNjBKTNeYoQBdaDGiUVRVDVYZ6liS1AD9eqRDjRUl25EyOsRw3rENUyHilGdqJqDosbFr26IZRqKlIUNpBlaRPlR40mCyG6UyCyFGHQKqYe5SCuu9Jx0QVHf6fM5n0Z47Bst28AYLP4OgfnFijVzk7DCs5dt4RQKURRo6erYZ7Kbduu0V0sw2sqOCjjSLMVHWoegFhsZ+YyzWPJRe29BOjcspGleu6UF4+5/iMPIPT9iu6qRDolXHKt2WDcKjQ4YbBc5IhYti5ibMcHyRK9nUiRxOE57+i41hixs8F1qJxThu32bwNpUYxAe6tMSVE4K+UTZdqH9tQMpZSeONtWh3aiGSs3mDm3UoiDJVhOqaUT0ssVAdAPpaixqDsz/b6vRJ8nDpe1Z73TX/CVpTHSNIRXmsovCmh7kGVpDJGlmqrUZZWgaGW2JZfnIYVxuAyvPLXyd2OTGzeqcP0JQ7XS54yCKlx/HFFQ1WL0cNkUKjZEliCNA5TGZhAFVViOjyhY0q5Y68LwCx5SCBw88DAOHni4+NvE1CZs3XkFGvUz5Jj0DMEtbReZPy3SJMLE5ASSJEWWpYjjBI1aBRlJ4VijFB8EUSLBLb5m3ulpuIygdib0GhQKDLazvmBw7kIBjaeAZBYID67JEWsNBZHWwd0JTIyN5ialFMVyXUJmMZhTQcnr/qMolYUjCyClM3Br6WyE0U6kpBzKSbJlnwGdCtcrIctSRGG9yShi2GfCSlge4xZcyhDHAZjRI7SfVw04dO42FYWNoe3/c5mF1laMIY4CSJl10LraOxs5Ck1G2AC3bEO37991YlRb1OrcD7+TJkVXhOZad+HrnBJH6y66jYVS1pIE3i2DhXMbGdefldOmB8kLLJGlgFLF+68pW6JIY/e8snZGFRls29V2vZQiTWNwS1v+BsEy0jSC4/iQQiBJdIp4ZIq5KGogy5Kerl4XIob+1imlbWIJoQMLDQ0TBChFYbuqgwMX4JWnWyp3SllfwZAZACLjMDNM+4k0nTsPu2t33SKUQXYRkud6ENcfR5ZGAyw0CbI01jH2bZP/duiVy2qHa1fzs0MphSSuGxvboMukXlO1ANLxBVVKQmQJ3La8DgIdLsdtD5Rx3Z0gtEgIB6EA0W4MIku0fTCzEDdlhOi08QQwHZl1XBzYddl1eO4LX4FLtl2KhdmjePB7X8OjD9x1toe1ali2C8t2W4qPdNJ0PtIMcRLrzkdRfAQQ8SJE2lp8cHcK1PZgW2v3Y3Gm9BrMmQZ3bDjrFKpzEyrRqeDhYV1srAFS6SCoakc8pzTe0dHoh0zZWFxYRBYtgXEX0xumQUk3NyGC48slZGnVgTV8EdAeXjsspJSwrBG7IUqCjXQurS0YtKDAuQXOuZ7kKzkSlap5ypxnQCRJZFyUyl27Kv3AGIfrlREGtSKErj9aBd6uV0Icdzpd5V2brkcgOghxZRJtAX20sIRSUEXAKDM0rNbwv7yLkr+PjFlwXVYEIzJj7tP+PucOVEGwXOg3ur0/uYNU8/UxZiFNYv3ehTUgJQVFTv+9BMf2EAY1rXUxHQ3b8Ys8kbzAyXM8HMeH65URNKqA7YJzu3DKiqIGSiVrzRarznUMVWzkk2/L8SEIKVyJBqHoWBjL2rB+Gm5psrNFaNwF+h03DJaM3Zg1pL6DQUmJKKqCUga7S8eh2RN65Vpb6VYiS/oWG0pmRmjVq9BYuZHiQmOxco0KrQ/aKFiCbetKX7s+tV5oHNbAmN21EySlzsloL6qkFIDMCiG5lBkot4sOiMgSMKPDcbwK4rBWHJ8xC0lU15SrLAWlfBUt3nWcj2CM4863/hp8v4zq0jyuuPqFuOKam/Ddb/4jvv6l/3m2h7cm6FZ8TEzGSJuLDzWGjLYWH8SaRrnkw15DgfWZ0mtQa0yLSdeLjXMPWV2H9TUOAGJEp6I+iGJZUIsbC4fANuxBye1Mae6AIliYOwWZBGB2GZMbNoKR7vvNhlNo1E+PPDadRTD6hKu5Qz/8uUaja2k2zLBjI7AdHyJY7i0e73L8bke3bRecWQiCWmEZq88w5EjMiryScjh73LYawnE8ZFnSU6DdC65bQhJTo3FgPUdMKUWaJrBtFx4ttxQRxTXQ3MmJFfv4JqzPcfyiu8DaKF+UMpT8cTSCaqEraX9dszcsI/JupTMppeC6Otgv3zZnkzBuwVIusizRuhNT7HheGY16FWkSwXFLrda5lm0yRHR3o1FfgmU5yOIASRwaR68LHxzIq0eg241R5Fi45SLUTcoMjA5e0WNM5zEQyhDWT8MrTXYJrtPIP9Bux42jmnYUMLZiUgxOYqSUaUoQ43C87ungWiDeOmmPw2Vw21uhWxHSs9hQSiIMlnTnpp+LA4iesFPemSPS1BdNY52emZ875/0Vm5rOg+OPI40arYcxzl7tSehKSWRZrPNEDPLcDMqsQvhNKdPpmubzydKoGGsaN0CZhTQJ4JYmel7nOi4sbNl+GfxSBX/zod/CiSMH4PllvPaHfxa3vPR/w/3f/SqWTq/Nquu5hLz4yNFefGRZhiTZiDhO4Hrumuk1lOl6nglkykF5Xa9x7iGeA5JTWgiuuucQrBYVN0M2vgWR0Vwszz8FzOxGyRnwW0oUKuObkWUClZIEQfdCYzGexuLp0QsNINdRjLqA1StjesBeXcTe/bdXQ9vjmz30nMPxu4rHu23fc0LOcnpSHVSkcBxv5Gu2bFcb4wzKB+kyBB1CqDsPg7JFmsG4hTRqGP1J9yKHEFbQvillOvwv0kVEfp48nLn53iCEmkJAzwmFFGBd1L6EUhAQBI1lLS5vWsRmjCOWEq6l9cLNonBNmUpbEtA1bYoXY7Esp6CpiSzV1DHT2QnDGhzohW3bdtGoL8Fn4zr5PQ6QZQlsx0WaJmCMI0lCWLZzUSzgUgCQImmNrzdQSiJsnNY5FmYCnAuNhzo44xBpjCio9i009LZW1zyCJKprbpyrq09iLNEGQhsbm9Ttnhu1/CuNtXCouQtCTCenA0UHZKx/l4fotO4si+F0tTvThZ4UKZI4aCuMWluEYbCkJ/tdApCSqF44bDVDigy2U2rhtkqR6aLF5HvosJkIjjcGkaXFja+U1G5UlCFLYxDG1ilUFwE2bdmFmU3bsTB3DHEUFq5TYVDHVz/3VwAhmJg6/yx9VwPLdlEqj2NiagbTGzdjemYG0zMbsHnLZlTG1q7wTqJlBLW5NTteTxACgMFZz9c4h6CA8BAQHwVqD695oQEAIAqTZQJ37JLiT8tzTyOIBxfLvhNjrJT11HhUkynMzq+u0AByofeoou3hV/mb9hpOL912otUUJ5oOVYEQGcKw3lXrMAz0JHYMBARR2ACGCN8r9jX/5dyG51UQG4pT94F3/3NeCBSWtUOAUgrOLVi2DsDrNl9rD9ij1BQRkRbb5+futa/nV5CZRdPe42BwXB9BWOs4DqUUQgjYtlsUHIAxNkrTYhvP0x0OzrQAPIfr6eIrSVuTxy3uFMfSjloMYVAzhkA2orABxizTldOG0lHbwvGFCgpAt4TauMJSpAhq83Dc1rA9xu22NOr+SJMQrjfWt9AAUFSOzYiCJSglW1yvtPtE/y9umoRI48ZA8VjzMySJGzqIr60zoLM9Om94LZTvzPhoR35TaUF4t4eWvpawsQi/3BqM2MxHjIIqOHdAKe9oBedUL97WMswpYa3dFAUhUrj+eLGtyLTvtf6iRciyBJbttVLIiO5U9Ut4X8f5hN4/vNfe8BK869f/O37+vX8MAPixn/5N3PqyO3HJ9stwy8vuRNCo4fiRA2dwrOcGCCFF8VEZmwRfU71G9YzoNSxnCpZjw3HXFw3OCagUaOwHomNrYm3bFwSYGKNwKpuLP1XnnkKQrL47V88mcXL+mTmoSSF0aPAIUF2MVYbZZ1S6lsJonRCoFScqQrRDlON4CINlZOlgRkYv2I4H2/YghIAY+jmx4spJKYVfGteOV23Fz6DLy/dVUiLL0oGFU66X5dw2Oo569yKn7byUUpRKY8jSGEkS6mKjx7XmoYQiS3sWQYxbUEqZQMF6S8GRu0cBmvqli7l6ISzPfxwpZXC9MuI46DhPTr9qvjbbcRHHKwt0tuMDRB/bslxQqoP9LMs18ziCLE16F4EXEDgAE9WeAdAPHWkco7zSVIdzA2Vcu0wNEHVJY5Gr4+kHP0goZXrSa5AYSlG76HrQFz9LYyOwnkISD+K8kmKfLAnhdcnS6OZ6oO1qaVvGR7d2qDIuT7TnuJXSOgzHG+/skJgHqshiSJnB9cfMn1c6G0qponMUhdWWYyRRTev0m+wBpcj0yoPpUCgpoKSEUx43ryeglIIQnZPi+hOIwiqUlLD9/k5bZxJLSws4efwQdu25Eu5FwnlcK+guWqNnsvm+R74Hx/GxZecVmNm0HdPuFrz89W8rXn/kgbsuGlHbmUJyhihUsCZgdwn/WsdZQK7PiI4Cydq4kClQpNKCUoBFU1DSulBGAEyOWVjERsQ1TYOszj4NzOyG7wy/iAgAoRjD8dnlDpv50cc8XAheM1ZnYTvyaXSBMsJ52jWYgOkO+GN61V6kcBy/eH6O0vGgjJlguBhSiMFc/84w7yLEr1WLMZxFru14EDIrqEV9aZjmcHmYXxjUoaRsoajqdO32ApDA9XSHQ8mkcKTqenmEgElYagMAACAASURBVDKOLE2glOp4pmkheAzLcoyT1EoeCGMccbpigWs7ni4SkrBwn1qhc+nuThBUO2hdOaXKL3Ezb6LgzEKWpSCUmvwOmHHGej4MbcZDKAWkcQqNArALXCzOAZgbWLeDpMgQNk53OEa1gGhbsl4e11IKPQEuTyI2Kn3GBgTVUF588fIuQ9cgvXZb2ybo9O5q18Tt3icmiKPljq7Cysutmo3lhcM48uT3MLPl6qILkiUhHn/sLnDbwaXXvLIorg4++RhqS6ewdcfl6G2prK+5W4dE52YAYVA1hZB5QEkJyvMU95rO9mBc06vMZ5JTpRh3Wh7KcVRr6TIJkYLbnu4CKQWR6cRyYXQceaAfYRRsjfjpq0GR+kkI0jTBd774+6guHMbila/Ara/+ubM2rvMFSkmINEaSBNphTUr0+oE5cvBxHDmoV1ltx8OW7Zdhy47LsXXHFdi68wpc+/wX4ztf/wzmeviVr2NUqOL5+2xDKAeW44wcbLaONUYyD8SngOBJQKwNjSJMHCwvHIMUpmggFN74VoyVCWhTdgYhEpPjDhalSQOHQnXuaZCNu+HZwxUcsSrh6FzY1zylJWCuB/Lf/JE7DqvQeawmy0ONLCjvnsmRi4h16nZbeN5Il67guGVkWVy4IvUuuroXETqQkCMIaiuZGkO+/7lgerCOo7lzomlPcdSAjIKiSNLvU/cK0HVLiKMAQmR9O1KUUFiOU3QTbGdlAZgxhtiwZShlJvhvJQ9EtbmGOY6HOGqYDk7Scm2UMdi2hzgKWnQonNtIaVQECurUcf1+pkkEzqxibidFprdPY61HyQQsy0acRJBSIknCIZzDzl9wwOgl4kAH9jUWtb6izxeZMQ4lM6DLNoXrlD+hBdHM0o4BAylNKyLpLI1Wcii6b22cq1bOr9PBF0zRYPiAA4p1pRRklsArT2Pu2F5Mb35O4WxQnT+Ez/z5z4AQilf+2O9i++W3QooM//yJ38GJgw/Asj383H+9FwAwf3If/uUTvw0AeN3b/zsuvfZVOD1/Et/89H9GfWEf9tzwdrz+zb8JAPj+N/8Sx568F1fdeCcuu+7VRY5FLyRxANttTfVUSoAQB0KkEFmsXaaUWR/KaVcmoTyOasXDT4oUWRrDcVcqnziswTFWxkKkYCYoMA2WtBA9CUGpzhI4kyKm2aOPYGn+ELZffhu80iQ+9SdvRXX+MK564Z140RveiyzLMH/sUZTHt66qPX6xQEqBLAmRRHWTBk91e5kMx/1N4rBr1kajfmbC5y4OEJTGL0EqbKRRFVk0N8Bue/XnWddrnG0oIDyig/rqjwMjZF30Qy2yUJ9/qu1UEuHSEcSNEjZs3AhGVqgaBBKTEzZOYwOSxjwAhaXZp4EhCo5UuTg6J/rS/qSIkcnB1BDtuDh64SulHJnGuJpzSaXARinMB/wW5cnjYViDbbt6QW+UasPMaWzbQ0ZTLUh2vK55Df2O2izK7tXh7gatRzH7hnXYjtc1ALC9YaMtdcuI4xBR1IBriiRtA9v9/XVcXy9cd3GMKo5rROSe6YYkJgiwGC1ZKTLz4L8oaqyIvtvcrBzXRxjUNcWqbW2VWzbiJEQcNYoiOp8XcW6bzomWHehCWztneX65cAQLw7q28uU2siyFEBkc20OaxUjiqMhJuRBBgdzTWCEOdFdgkL6CcQdZF56cyGKEda09KAL7egi/u0EprSfo1WXIQQha9B1SCgS1eXilqaIA6ba/lAIHn9qHk8ePGD3DPCjj+PL//DV84kM/gc/+2TuKbauLx9ConkJ96QSWFg7r7RunsWXXDbCdMrbuubHY1vHGsHHbtbhk5/MxPrUdWRojjurwxrfAKW+C3ST63vu9T+Pwvm9j30NfQmD0FF/71PvwiQ/9BB6555Mr74WUiOMQUqQdSel5oZWEtaIok02rNrmTFOO2FpSZFYQwWIJl+wU1TmQJpEhBTA5KHNVgOyVUF2extHASnDtQUuD0qSdRX54thPJLCyfw2INfR2RWto8d3o+H7vkSTh7TP3ZRsIQHv/VhnDj0gB5PFuPw/u9g4cQT+QeNY0/di30PfLHoYn3xw+/Gp//0p4p9vvA3v4Cvfuw38eC//S0ArcNJ4jrq1VMglOKW170Hr3jTB3DrG9+7Xmi0QUqBOKqhXj2F2uJx7bBmOfBKk+C2a5LkJVYjsQSApdOnkCajUS7W0R/lyR0Ym5yGU94M5V0JWr4KVnk3uN3dSW814O4kLNteU7vedYwAlQKNJ4HoMFDfi7UqNMLURX3+IChzMLn5Umzcsgvl6V3Iv98ybWB+dhZCtU5ICVGYmvRg+zkTQKE6fxBC9v79F7BxdIF1/f3P4Tj+aQfxUPRpIbKRQ/aA1dGoCurKCBi1GyKHWPjS2oRxPacIayM/hleE3xZKpTGILNO0o44ZPvouuOYJ6IRQQ0UaznhHKbki0k5jI3BWbZt1DwB0HE9b+jaqRbZXP1CmKU9BY7nr+LSLpp5fum5Ju3KG9WI8lFktGhdKGVxXp4FTSpF1mB0RXdgQgiQJO87FmaWdTptE3YxbkErCtj0TKEi1AF4K2I6HMKzrbYQuiqQUyNIYnl+BkFqvREyKey4mvxDBAU0DytIIfmV6qC8WY5bWLTRBigxRYOhIbTZjw1AE0iREloQtFq290Cza1kXDgu6ktD+0zBcjv6aH7v0K7vvKH8JyxvCiO9+Pnbufo28IrwxuucUKPwDsuPw2vPHf/yniYAnbL7sFkUk9v/V1v4pbX/eriJMIB/bvxeTUDCZnduPHf/EjIIRi4dQBLC8exeate/DqN/0uoqCOcnmFS3jjy38Op0/tx+bdN8B2S8jSGAcf/xbiYAmOW8K1N/84lquL+NrnPohw+RBecsf/jm3l1i6PgkKWhKBNepj8OvPwRb+yYcU6VykkSQjOXcRhFQ9+68PYuOVqbN51PY4c3IuH7/ksyuObccPtP4J6vYG7v/j7ACG4/fXvBbNcfPEv3wVA4fmv/E+49Yd+Bp//+99A9cSD2Hn9W/Dv3vI7+O5X/wwn9n8ZG7bfgp/4pb/ENz7zfjz58D+Dchtv/61v4Pj+f8M/f1x3fn7yVz+LMFjCZ//s3wMA3vBTH8Smnc/D049+HQDw2L3/iEt2Ph8bdzwXs4d/gNK4dj160y//A44duAfbr7gNADCzcStmNm4t3hMpMpw88gOUxzZibGrbwHvoQoNSmoqTJgHSJASBdo7zSpPGTUwXa4w78MsbIE0+zLMwkLU/5kUAQgjGp3dibEoiaiyhVo8RxxFSPgHwBIxKUERQyWlkyer0HdSaMMXGul7jjCNZMLSp/YBYW/phvaqdoMamt8Ll+re24gHW5j2ozh3RbpNpA0GoUGljaRBITE35WFBTSKMljM/sBqPdf68lOI6edvpqIb3SBGY27TqAxUdvyrLBrlpSCvARU8CB3nSlvvtICWaNmh4+ukB82OrBNgnVUdQAJWyVhhMEjusjTSKEwTLcZnoWyFAGwZblQGTpUBa3zUVE3q1IkghBo2Y0IHkAYGtGRjN0yjjVLk8DrplRDqkEHMcz4X+tLA+d17FSsDiObwIRdTeEMa7taZs6P7lTWBgs6/F2WXuxuI04DkEIbbEu5tzS76gC4jgsiqcwqsP3x6CURBwHsGwXaRLB9cpQUhTCetdkbkRRA47rw3O1+LzQqUAVIdEXGgoaletPaJ4aH7zqRSjTtB1TxUuRajelyoaOBwCh3d2cmpGlEdK4Dtst68yHASsdOtE6AyyFqLEIxxtvcUlSUuB7//z/YvbYXrzwlT+PzTuvBwAkUQNxsACRRiBKwrI9pEmAl//I+/GqN/8+AF305KF4u658MbIswtc++T6cOvwIbn7VL+A5N/w7AMC/fvEv8OT3P4zJbTfjjrf9LhSAvd/7FL7xmfeDMo6f+c//isnJKcyFp/BPf/cbqExtwUvu/B1c9cI7IbIYc8ceA2M2siTCa3/yD7Fw8gC2XXYTAODI4cdxdO+nQJTCqaMPY9uOy7B8+igO77sb05svw/j0DqRJUIT05ddMKcPs0Udw9MA9uOL618Mfm8G3vvj/YN8DX8Dlz3stXv2WP8SXP/LrOLL/boAQ/MR/+jROHnkEc0//KxaohW2X3QJKGGrz+0AYx8L8ccxs3gPGHYgsAncm9MpAaROqAMYm9IpYaVJP+ic37gQAXLLnpXh6779i485bYNsO/LGNYNyGW5qE7VbALRebtl8HSi2MTW2F50/gxXf8NsLaPK695U0AgDf+9B+3fOa2U8Lua15R/Pv07JN49J5PYmJ6J6677S3Ye+9n8M3P/i7Gprfjzb/8icLW98KG1tikSYg0CaCkhFIC3HJBjN4miRs61NKtwPUndFu6sQgpxbOzghIcANIqYK3divzFBEIovPIUvLKeiCVxhCSOEccx4ihC0lJ8hFDJ4tDFR6ZclJ0Lt01/TkJlmjaVzOvvxhpDSAtZtAgA4G0fKyU6/RoAytM7UfG6T/4JBKamSsjkJGzWvdBQYDi2VEIU9g6etN0yLtl1A9JgXkWhpu866M9Bl0KAjjixWi1tVq5GszFiUaOGSBtvh2PrAL0sS+C4pQH7d/f8tWwXjFmG2uR3pTb1g86vcBFHASy7dzYIAekQbdu2C0aZKXZ0EngeUdDrWcMYh++PoV5fBOd2zwKHUAqZJLBtz4T/1VsKIp2V1jme1DhAOW6po0MB5A5bY2g0qmacrZ8x4za4yJCmMQhIURQxbmvWij+GKKwjTSJYtluIvi3LQRjWdZq40rpIy3b1s9ykuVuWo+MGkhi24yETuhBhjOtiJQmNs+iFxdgwxYbm5IfB8DzsPBBPQhmdx1TfL2WvB4TIYsRRDX55GiKNIWQ2MNacUoY0SxAFy6BNApwcWZbg+9/8K0gpMD69oyg2nn/rHdiweTeSOMTMlh144vEfYMP0RoyNa5en+RNP4BMffBMo5Xjjz/wptl16E+JGFfsf/CcAwOH9dxfFhkgTyEyvGKVZBheqaNcxZhdWfnPHH8fssUcxe+xRvOBl74RfmsID//Z3+O5XPgjOHfzYL3wEWy+9Ce7YDhw9sg+Z8rBz15W48rZfBCcCl179EgDAfV//c+y99zOwbB+vfesHsO2ym5HGDXzvX/4EJw8/hBte9h+wZdcN+PJHfh21xeM4fvB+vO5t/w3Hn74PAHB69inkeR7mA4FXmijGTLmFcmUCJ47s09fAHUxObYRIo6JY5O4EFhfnES7rYCjKfAghih87ahntBygos2B7WuBfHp/B2NQ2bLjkCrjlSSgpcOl1r0Z96QQqU1tBKMPGrVdh/uR+cJNx8uQj/4yl+UPYffXLMbXxUnzzM+/Hvge/hK2XvhBv+Ok/xv3f/Gs8/v3PwStP4brb3oLy2EaUJzZr6teq4p7OHygpkKYRsiSEaLLMU0qCcVsXEiKFZXnwylPG6S1B1FgqKHaO6w9Fc9i8bQ92X/48nJ47juNHDqBWXRgwuBSY+xJQvhqoXDeyPeU6VqBtF0twPf2d6F58TLYUHzI5DZF0mxASgKzrNc4o0iUgPgEEB4Hs2dE4yaaZZxhlsIxhYJi6qM49DaUUxmf2DHSaokT2LjQUxbHliqa+9ADjNma2XIkoWEIW1hi3nKEmvKtxolpt93Q13RBtLjWq9e2I21MK1/G0S5RJ0u41Se935ZSxYhIsRDqaPoUYEXsu5O7ldkUIIDtHwbgFh2jHJ9fxTY5G/0VmQiko430LHEppUdxQyloSxJmZt2qr3daCwbIcTamK6trlvcvnknctcmeu9o4JANMB0VQ3HXJIoaCP53olhEEdhFJwy0aWJrAdD65bQhTWQIDC1cpx9VwpTSPYtgfH8RE0quCWo7s2DT2GIFjWIdAXYLJ4Ma8nlLZ0KwaBcQtpEkJkcX/nKuQtNQFCWssIkSVIokYh6qbMQpp2VqEdx6MMaRzA9ip48N/+Dvf/61/jubf9JG5/w3sAAJbt4Xm3vx2H99+NS697VbEfhcSWrXvglibw4T94HWqLx7DzmjfgNW96HwCgtnTS6FEiCJFCigyEcbzmJz+ANGlg+2W3YHl5CZQyvPLOX8Klz30FpjdsQRSGqC4+hcuuezV2X/UyWG4J3PKglMRl170GYW0BG7ZehclNlyJsLKIyuVVbpNkuqKUfyHd/5U9w5NHPYWrni/DqH/1tvPIN78TJIz9A9dReINuBma1XgdxHkSYBPv83/xE7n/MinD71JGpLJwAARw/cA9spIWroib9fnkbUWEJ96WTxGdSrp9BY1sFhlDIc2v99RLFuQUqR4cCjdyFKMljuGNJoGfvu+wSmd94Oy51A3JjFob1fRppKWJ6mdS2cehLzs8dRXzgIwjiq1UUIITB34klkSQNhsAxKKR6/73NYnH0Ki7NP4fkveQfmT+zD3V/6AADgkl3PxyU7n49P/+lPAQDmju7FK37s/fjqx34TIktw7MA9uOOdf4H5E/uRxA0ce/JeSCnwnBvugOX4BfVt19UvwzuuftnAe+d8hVJSZ6AkEUSWGKoi0R0MEO1OphSk1I4XlHEoaB1WXoRYjq/zVXKb6QE/Bp5fxjt+8f9q8cCvVU/j+JH9+PJn/wKNWp8JVH2vDiqbeul6l2ON0LX4iCLESYwk0rSrhE9CmOKDIYSI5yDSBixvBsxx1vUaZwJK6G5GtgTUn8BaaTO6gdJce6UQVI+j5G9BFHMszz8FQikmN+2Cy1evr1IgOF4b72sIQQjFhi3PgeWUwLgN4pXiLDvZV9cBrN6JSqreK+Zrea7VdH5HLZ6at7YsB4xyxHEARrleMR/xvckLhjSJkKTxgPTyzsEQqqlRmpZVg+P6bQnenZ2NHLpbUUFstJzDfEa5S1cSR4hl0OHGpPXErf923TLiqAFu2VpQzRikzEBp60KKbesCLjKdhm7dE84sTYmKAtiO22JklFPB8qwQAgLGLXCzoMcYL+hPlmUjzVLYjlfQy8KwjiSJ4Hll5Ja+YVgrktlt20UYLMMvjWkr3iiAbblIEm3By63eHZ/zEex9v/mL/0X/L0GWxbpaHOImkVIiievwKzMDhVpSZIBSrZarWWLyIaYKjQehFGncgDXA/iuJG5AihV+ewkN3fRinZ5+CFBmuufnHim12XHEbrnzBHciSEF/421/Cvge/gImNuzC58VIQQvHE/Z9HUJvD1OYrsfPyW2E5HiZnduHGl78T1932FoxNXoKHv/txMG5j47ZrcMnO63Ho8FP4l3/4bTz5+N3YtucmbN95OeZOHcaXP/xu7Lvv4xi75HnYtuta1Ksn8Pd/8Hp89yt/hK27b8TO57wIbuUS3P21j+HUkSdw+fNegxtf+tO46Yf+Ixq1Zdiuh4VTR3D6xCNQIkVlw5VYri7gC3/1Dux74Iv4wd0fxfbLbsX1L/kpPHH/5wHotnZt8UhxvVkaQaQxThzUAuv5E0/g5KGHkKQSIg0Q1Obx4F0fxuTmK2DZPsL6PA4+/g1s2nkrtl7+Yswd/j7mj9yL0tTluO62t2L+1H7MHbkfUSLx0h/9XSzOHsSpp/4NjeoJ3PiqdwO8gkMPfgwnjz2Jm1/7KxDWVoTLJ/DUo1/D8259E1jlCjRiiursPuy47GY0qsdx2XNfg+1X3I7xyS049MS3MT69DVfdeCe8yjSO7L8blHFcd9tbMLXpUiRhDdyysefaV2HT9mtxye7rMb35Ctzyml+GX57G+NQ27LryJdh22S0t90YUNrCwMAffL42+inWuQSkIkSAOawgbizpM06xAEUL1qohbAWEMIjVFCGuyPk4jMO7A9cdhOb7JyNG5LFGwhCNHjmL21Mmep9+8dQ+uv+mV+NKn/z8cfvoxJHGAsfFpbNlxOR6+7xsIGp0r6Ns2V7BrqykuVKo56koC9sah7RXXMRz0PWDDdT2UyhWUx8bg+z68kg/LcqGYB/ApEGsGqfJQLlcwPjF1wbXnzylkVV1kR4eB8CAG5xcoLAccIA44HT3UkUIizizINASURJQoRLWToMzC1KadcNoKDaUIFpdTgJVgsUHnIzhRm0S9z6ICIRSX7LoeY5NbwLgNSiiSaOl4ML9/mxBZixVpO5SSkEKMrFUQQmcYjDYR05TTUSbfuWHNKPukZoI/7HdMZLoDkS/o5NkMUgrEcaD1DU3HytJ4KIpNvuofxwHoEO+VFJnuNJi5GGMcjHFEYR3E2N1qKGRZCqvHZ0aIphwJkWpb/QFjzd8vbtmmcxuC89Zr1i6ZKxkUhBBYloM0ic2kX4vAu3XSGOOglOnjdhkLIRRpFsP1SojCwIi7V3SwevFOFxhRVDcZHRbSNCrGybllCiwFyvK8DQLObXM9FoqsNZNWroskjiSJIEUGx/URRw0wxqDMor8Q2Uj30jmOe1ruQM5tZFkCe4BgS3ck6sWbOgiUWRBZDA794BEiRRQsdYjJc3RzgGhUT+Heb38WlHJcd+Pr4Tg2lFS4/iXvwPYrbsfkxj1IkwBJWIPtjcGyPS3YPnkAs0cfAQAszR7C1t0vBAC8+d2fQFA/DdcbwyP3fBJLc0/jyhfcgY3broXrT+Abn/kv2Pu9T8OyPfzUe78MBaB2+iiWZx8B5S7m545hemYzCOFQEJBZjKBeNdeXgTAXwIqt3KEDD+Gxu/4IAMDcCm5/+Ztw/3e+gB/c/XeY3HQdXvL6n4eyJvHo1/9PfOtTv4qZa98ObpeRJVqM9/Ter+PAD77S9I6YCaddRhovY+Hkfiyc3I/nvfLXceD7H0dj6SjmTxzA81//e3jy/o/j9JHvghCKS697A5bmDmDx1H5Y9hgqk5fAL2l9AyEUY5OXwPPHIY24zy9NYGJypuicWk4Zuy+9Ekf2fRuAfki5/jg2btqOJ+/5IBi1cOUL7sQV19yMJ+56M+b3BiDk13Hnz/41Pvtn78Df/N7LcMtr3o23vud/Ye7UQez9/j9h91UvwZvf/UkEjWUceeoHWF6axe1vfA+UFEhiLXienNmDyZk9OLz/O6gvz2LbpTdBZAkev//zCGrzuO6WNyNMJf7p738FUW0B17zoZ3HdC34Ip04cxp7Lrxl4j55LkCIrhN5SpHqSrgBQAhAC5/9n773j7Ljre+/39Dl9u3ZVVr1LLrJsueMCNi6AKQ6ES0xLgHsJqU86N+0h9RIeLgECSW64CQECAYOBYLBx75JlyZKt3lYrrbbvnjp95vnjN2d2j7RFuxcbk6vv67W29uycaWfOzO/z+36KKVq+vu9i18ZF50LRBfCQFVy7ArJMOt0kNFOhj+fUko6drKiY8d9mqsG+E1SrRY4ceIFKaSx5PZtvwbHmkA1Q2ScGXi2vA61pfiflQs1asqxgpjOY6XM7H4EfkMlmLuRrvFIVBSIF3CtC7RCch+0rwHhZwiqexFZNWhcsQJHmDjjyTQVGrDGIQgKnhKKatHR0oU4h9C5WiMP8ZFKF6b//UQw0ypO+91NV28I1pHPtIgU5nvDw7aKiafqsdvdnB6Sdb4VBMGdNQjRLCPE075r7e+bYDIlm0mCoWpyFMWFtO9dei6GnCHyPwBcD2pnGa2d3cpIwQqtMmADHiVTymUo3UlQrxcTydboJaXmSkLyutbBqJVKpXMMk9FRiczOVwbGr+J4z43lRFA0P+5z1Qix4D0V/KZXOYVtljBhw1LsN6BMdo7qIPgyChAUk/palWiniec4kPYmEbqRi616RwaHphrDPdWqYZgbdSOG5NkHgi+P3XBRFOGwFgf+fSizeADYU1cCxS2BMnxQdxAOcdLYVqzrzjShZr6Lixe5VURQKjUe2dcrBTl3wI53lvXx4zwO89JgQDedblrJ242VEUcCiFZezaIUAEF/9/97KaP9hlq65hjd98ItIsszCFVu59d2fpDLex/qtd9F3/Hl832PR8stIZ1vwnCqP3/dngNAzdCzehFMbp61rHYqq0dS+jCAKGBkeZOX6a0jn/gFFllm6aiPPPfIVbDfgujf/v0iyRPeKzTz10FeplsfZeNPvsWDBAjq717Lj0a9RrlRZuuUD1MZ76Vq8ljAMGOo7SmVwP5XB/ezr2sDYwJEkkMkfeYlM62qKZ0Sn4vSx5xvOR2nkGKqRZfH6N3J89zcAyLUuJ5XtJIx5/JKqURnvo3hmt/hdVrBrY5w88JjYhlelNNrL4OkagW8jyxqaEnD80PPYpVNinc2L6es9xOgpkSnStmgzvu/Tf/xZANLNS1m4aBl7nvseUhTRuvhyVq7byuneHhTNREsVWLR8CwCOLYCTVRmhUinxo6/9d8bP7KKvZzfv+q9f5NFv/RHHXn6QzpXXc9f7P83+Hd/isfv+DEXVuee37+f0sed54N9EXslbfukfAXj03j8BQDeyLNt0B6Hn45T7qJaHSWeyNLdOn2HyWqooDPE8K3aGc4BIBCgpauyioqNqphCQ1UqCQ6oZmJlmZFkVMyZ2iTDw0Yy0cCWzy4Shn/jhm6kCZqYpAfKzdX5UTWdsuJ93vv/3uf/eL9J36ihEEZXS6NwPMKjB0P0XtByvYp0NPi7UK1R+WQANd1gkgs+h6s/AwLcpFi1amlQmjz79UKdmB3hODQkJzciQSoEqTYi9ddkh27KUyshxsa7AwQsk1LO+YhVbxyoeR5JlCnkTmFowHkUyfeUClfLMz3fDzGGYOWrl4fi+kxLudynT9b2+WY89DMMGiub5VhgFSPIrLyqfrxB9bpoNmI52JTQK+XhALcTjc0EbEhKRhKBFnZMafs5OM9XKxUA6j+PUElrV+W5dURR0Ix1nTkytQ5FlpQF01nMmLLuCaQqQosjqtGJzw8zgODX8GazY690KTTepWVM7WkUxNc8ws4luRomZABOgQhaakVo51okEDUL1dKaAVSs1XDeiI1KNAYdIXddUXTzvXRtN0/E9JxaLmyLEMD4vwtnqP49YvAFsyIoilP3TzALUOxrpbBuSLMdOU7N/IeuOVGHgxcni02s88ThO6AAAIABJREFUklwOSRICp3jdi1ZeQefqWzAyLazasI2h/l6QR+hevjp5r6bFnZNQ3ETrCZXL1r8OTU/Rd3wn937hfQDc/p5Ps2Lz69GMDGsuvYPBU/tY0H0RlfF+KsV+Vm66iY1XvANZltn34lNsf/BTqFqGm+7+BIsWL2f7499kxw//ApBoeeffsuGiq9iz6xl2P/TXRIHPhht+m5XX3cozj36TFx/5FACXv+mvOVnu46nv/TlPKzrRJP/nI7u+jqJNfJFH+p6nsGAzufb1lIf2T3mufKeSAA2A8shxjuz9IYVFl2EdvB/PGufQ05+le9NbOL7764SBx/MPfppNN/wGR3f+K1Z5kGO7vsqCDe9h4fo76dv/fV5+4gt0bXgnyza+kRMv/5BDz/0jY8V3smj9mzl94PucOvgQBxauT5xPvOoww0N9jPaLxGnfF1/6/Tu/i2uNYuY6WLh0Df0nX6RaHECWFbbd8jEULUX78muxxk/Sve4WAPJt3ahaCknNEhHiOJXk8w9DH83IUA/n0fQU+ZbFLN94E1Z5hEUrLqOpuYXb7/k0IyOnWbZiE5Ik0dwyu5XyT6vCwBMuJHWhtyQhyyq6kSaMQkLfE0BD1QEBHmRZSayaQTjBOVYJz6mKFq6iida8osap8hGqYaCb2YaHTBB4RLN4nBtmmsXL1gHwvo/9JdXyOL0nDtB38jC7nnsAx55dX3VOXehyXKj/LBUFYJ8BbwSqhwVtcI6VT4c4tRyBU8apDFIxl5M1XYgkypZCZexEw0yyUx2ipmjk25aQ0iYGWLmUh5NuwauNQhQxPnAcK7eAVDojqJPVCk71NJKs0tTRjSJNPTiLkDldys8a2mlmmuhYvIkoDFBkSGWaE0fIKBT2qL7vzkhBisIAeYowutkqCqM5Z2xEMzgjTfueVyUsduZt1Pn/vueKdOu5hH3WO+JMpIbb1oTWoWFRZtaoGEYa3/dw7Nqs2RiTNy10DSINXFW1c2bp62BjcimKKkTWdkXYA8uyCNmbpptlGGkC30+6KNOdTyUO9RP6jFQCFBRVE4wePZXY4jp2NekuBb6XUP0kSfy9Vis1dDHEsQhqs1UrJ8CiTvkSk4FC9K3pJp7n4NfpgKqOIiu4ri3G1ZKc5M8EgR+nlv/sTxidHUwhEFsUIp/VsvI9G8cqNdjbKqpOGKdOz1qSRK0ySnoWMbmsqHz1U2+lNNrLxm13c+Pb/ogw8MjkWnn7B/+GMAw5cexlHv6330BRDK65609Zu+EyAN70wS9QKw6QbV7Ivh3fYt/2e+lcejHX3vnbABTal5LKNOM5Fno6j1Udozhykq03foiWBSvxPYf7/uEXOdOzi0y+g/f/gch+qJSGqY4eQ5F1iuNDNLe0UauMY2Q66Fh+Ne0Lutn/0g5OHHgY3cjTvHgbazZexaneI5zY+0MAMi0r6Tn6IoOHf5gcayRNZIdOBShKQwc4e7ahZemNjPY8Mu3501QdSZm4MDNNy4jkCd6smW1HTXVi18TsdKZ5JYuXb+DYbuFClS4sZuW6rYwO9AA/JAw8CrkU6y99B6Ond1AZPUrP/kd42y/9HV/5mzczdOIxHvh6jS03fIQd95+gPHSAJx74MqrRgqpnIJIY6T/NYM+epBNWq4xwpu80fQd+gKyZLFi8BtepkWleidFxJdfd9hE0zWTrjb/Eluvfj+daGKkcueZFfPgTO/BdCzMtBqp33POZhuPPF1ooNLehqiphEHDi2MsoWppFi5ehqj99sVUY+Pi+g+dUCXwvEW/rpkg0DXwX37WRFAUtdiUJfJcoDDHTceqp7+HUigR+fLPSjCSMU5IkAt/FsUooqpZ0MqIoEnZ8QWyV68z+4BofG+RfPv9xFnWvYdHS1SzqXsO6zVeybvOVHD3wAkNznMVNKulyrI+7HBesWC/Uz1i5Y+AOCH2GN49OX1ySFNHc0s5wfxWikMpID0bXMqo1D2u8BwA9LSb3PGuMMPAIA4/xgWP4LUvJpesTVhHNzTlGAx/fKQERTrkfpzyxLVnL0NregSpPBzQUTo3P7DoFAmi0da0lDDwMMxeHx0Yxxz3AtUqKE1uKzgg25tltmE8W6XwoW3NNHJ/38ZxHqZqOoqpUK+O4jpUIkWffwMQ/BS0ql3QpGgbm57EuVdVQFIVqpXhWUvdUJdYXRVG8XTHIt6xKLJie2CffPRekT044l+Pn10ylqKIjONl+9+z1TThDTbhmKaqGqmgimFCvLysL4XecA+L7boOuSJJlUuk8Vq10znWlaQa+78bHKXJHdM3EcWpIMsln57k2ppnBqpXRDZGTYhpivxRFQtdTuI4AaHWx+Fypg6+1Omf0pag6ge8gT0qtFkCjfE6OhqJoBL47K9gIw4DAc0hlmmfN0FAUlSjWOfieRRgGkzI8RGtOUQ18awwndJEICIKAIPQxzBxmStjYHtr1A/pPvkhx+CTX3PH/IEkymWwbH/zDJ5Jt/ftnf56B3r0s6L6It3/kX3CsIm2L1jM6cITutVcTBgFPP/w1Th16kqWXf5hlyzeyZu2lPHDvpzj2wpfJd2zk2ts+hlUrsuOBT1IdOYKR7aB5wWpOH3ueo/seY/TUs/WzQOX0Ew3H2tF9Fa49SnHgwJTnIgrP/RKWB15o+D3bsowwdKmNi7a1XT6NlulM/u7UhhkvTjxx7OoIQ2eOoMgmflDBrQ1x7KUncCqDAMhqiuL4GCde/q5Yf+satr7u3Tx63//AKp1BVjRWbbqVseEenNhzXU81s3LNpRx78VKKw9+h96Xvc/PPfwoJhwNPfY5Hv/2HXH/XH7H60jdzeNd3OXNiF4Gcx60OopoFNE1npP8gT33n9wE4dvBqmls7+dbf3YMsq1x63T2s2Hwrzz7+bU4deox1l93FxVtv5sSBx9n1+JdYvHIbl9/8EQ7uf4G9z3wLTapx/V0fp+foizz3vY8jKSY3vuOvWL3h8hmuvFeuojAQoZWeje87YkYvTiJV9Wzyd1lR0fQUupmLZ0LKeE4tFsfJMUCIkiwaI11osH0OQx+7ViaKQoz4e+C5FqHvEYa+EJBLMkY6j5HKNxg2TK4NF19DrtDC80/dz+CZHk6dmLg+s/kWFnWvnlE0et5V2S8E5E1XgrmYeY0iLtSFejUrsMHuA7dfAI2fQGmKQ7alm8rICaIoZKT/JFHoo6gmTe1d6IqgxQaFLopFB6cyAEBltAdVW0lKE9oMRfJpbWuiXCtgFfsmOpeShJnpIF8wUaSptSQhKqfGM1izAA3DzNHSsQJNTwkWQuDj1YpEYRA7OHooBJJ5FlVlupp75yBCmsd9IopCJHmOOo8wnLvGaR63sPM9B5Ik6ED1QDzTnFmDNd1q612Ks0MAzwf4SJKMoiiEQYBtVzHN6WfcG4P9JAwzE9O5JoCO0GNM3SkRTlUCHAWzBEQqihrb9YoB+7lUKaGDUGIBd50OpSP0MJPpUvVtm6kMtVr5nBwPsT5ZaGqqwk2qvi1ZlpEAXTOxrTKpdF4whojQNAPHriUdEd9zMVNCJ4IkAhjrieOZTIEg0JAlkVni2FXUbIGf5WfklGDDc2toMdgIAk/kYEyRLi6SxKdPE4VYo1EbRzczU7bfisMnUXWDTF4kRcuyyu33fBrPc2hpX8mep7/KkT0/YvGKy7nyjb8KwLLla7njw/9GtTjMslUX8cNvfoqRUzu56Np7uGTb7fiezWU3/SKtnasptHUTeC73f/lXcZ0aV9/+63Qt25JsC4AwxKqOsuuxLzF06mXufP8X6Fp2MUND/Rx47p+xy2fQsm1s3vJRnn3sPnr2fhMAM92EqunsfvJrVEdEYJNTGWT/E5/h7KqOHj/ntaGep2c8d1OVZzc+DCqjJxp+V7Qs/qTPRFZ01Ektc1UxiMKQMAYytXI/7SubUOXVlAZfpjx8kNPHd9K94c3sf+ozVEYO8dB9n4VQfJkU1cAPXZ596J/jzAaDTVe/l4MH99B3TACrRetfT2t7J9WisNmtjvciSSpdy7ZweNd3eejfP84b3/MpLrv9zzl6cAeHXnqSLZffSKGtG1lSWbx8E+XxMwz3iUHu8JmDdK68lmO7vkVxYC+SpHLx1pvZ9diXOH1sB6eP7uCS6+6h78hz9B+8D0lSGB35EJqWFjNubhV1jsmx/6cVhQG+5+D7Dr5rTYRbRtHEdUeE51RRNZN0tgVJVggDH9euCAMGRUFRdPETt3oD3yVlNqPqgkYlthXiuVUcu4IsiYeRY5USWpWiGYSOh2ZkMMzsrMLwriUrufzaOzj08g4+8tt/y9BAL6d7DnK65xCnew5y8OXt8/a6P6dCH0afBLUAzVdfoFZdqNdohWD3xyngRyCau5B7psql/IQGFcU04ub2hWjKxL1bkQKa8xojQROeJcB+cfAEelc3iixAhCwFFDKQyywiCFXCCDTZQ5ZCYOp9DiKNU2OpGQP7YAJoyIqG51SRZOFYVDeWkaMAM92Oguv71mz32/kItoXOYz4mB/MN9JtTVgXMGQjNJ2ekTomqWWUMPTWDm5c0rcRDVTVkWcze1y12z4ceJVYrhM++71KrlUiZ2Sk/E3lS2vjkfZeSDoQABLM9SergqB7SNxU4k2UFz3PRlRSp2HZ2MuCQFQXPcQAzPoR6d6I8AaDOssetazRq1ZLobpw1qa7G2gtBc5roEsmKCrEblePUJoL8fE/Y39bK6LqJGwcC1gFSPXE88D1cx8KcpB+xrQqOY2PM4O72Wq9z7gj12QqIXaOmSQYHBBqbAvXVK4oirMqooIjISiIQrtfRvQ9y/7/+OpKs8K5f+QatXWtBksjkF5DKtlArj9B3fCf9PbsZPr2fy276pQQELelehVVpwrZtxs7soTT4EicPP8umy16PVR0X1rSrrsKuFRk+s5+e2D2pv3cPHYsvYs/2H7Bg7e3c9t6/JYiFubuf/DIAu59/mNaF69n17P3Y1QGMTAdbrn4HJw7vZPdDf0ngWXSuuolLb/gQD3/7rzl14PuvGbxZHtwPkz4q1xpBGtrbsIxbG0iE6Ga6BSfQGOt5HADNyNPUvorxoYOC5hVFmIbOwtU3UxnYTbXYy4uPfJ5Lb/woIyefo1YZ4fhLDyKrOazqABKwaNklnDy2n4EjgjK2/pr/SnNbFy89+QWxzUwzLR0r8fsOMrTvXxiSJFo6lvH2//Z1nn/qOxx56Rk2b3sL7/6N7zA+eIK27otIpzOsu/I9DJzcw7K1VwNw+c3/lZWb3iBmDfQ0qy56PWEUkm1eyOLu5WiKhpn+J6LIZdmqi17hM08C4ly7ShDED39ZjbuFLrKiouipxPJReHaL8CHHKsfW0xqqZpJtWhCLxMBza9i1EpqRJpURoYi+K5ylAt+NxW1qQmmo06miKMJ1KnhODTNdOD+6I/DMI9/h1ImDuI7NqZ6DdC1aQUdnN5duE5k1Vq3C//7b32VsZHrb3DmXXxTUKrMbmraCfCEP4kK9RsodiUHGUQhmnlybf0U0NxcYssuiox1FeD5oZ80LSHJEc0uBkQGbwLeJooBS1aU517icTIAszz549CKTUyMK7mS+1RSVb1lMS8cyZMVAUbRkcOl7No5dRlVNUlnBPoi82bUrYRjOSw9RF/LO/X3z0HlEc93H+blXze0tEpI0kcDt2NVZksenH8rX3aYcp0YY+CjnSdOREB2LenJ4bRIlqWE5OdYAn/VxqZoIPa6ngUtIs1LQ5Nh+d7IeomFbk5LE6+F/decoYQMsx65Tk98jHKasWimmMHvnWARLkizAQK1EJtvUcO2pqhbTosx4v3KxRkPHc52EiuU6FppuJjqQVDqLbVVjyrOw9dU0I6FYGWZa2MpHEbpmEAZ+bKNbQ9eNOYPm10qdAzYkSdhrem4Nz6lNDzQm3jClVW0UBtQqI/EgxwCiuK07geQnc8YFn9wnDH0kWaFaGiKdbeGSa3+B9oXrae9aS7Vm8/BX/xRQuPHNv46hSeRyeS6/5WOM9R9l2bpt9J94ge/+rw8TRiFv/dA/0b5wPa1da7npHX+KVR1l3aVv5vDBXTx13+8jyTK5bBOLl6zk2Qf/FoC27ivZcMkb2LP9Pzjy7N9CGJJpXcvY6CAv/OjP8eObspJdzI4HP8Nwz9OvGaAB4NiNDiLNXZsY6Z2gXqVbVzHa81Dyu2uNE7olAl+04l2nTLE4gjt2EimKSBe6ae2+goPbv0K12IuZ62LppjeTz2m4scNY/4mnuPnuv8Eq9XBq33d54eG/Y9GmuyEO2Sk0d3HmxA6O7BFJ7Fte934KrYt5ebvoELUvfx2Lu9fSc2Q3ex76KwDyLV2sWH81e174J6qPfIWrbvtVLr/6DoaXrWT4zCF832HxqivoWn4ZxaI45iVLV7Nk6YRhAMDK1esZHRv+iZ3fsysMfQLPwXVqEwBDkiEWh8mKFs8cybhOFdepxjdONZ4VqQjKhGaSzXckXYf631y7IgRkqiacqlwrnhAQ1CjDzKPVLQmTinDtitC6mFmMvHDkEq3iQICiGQTitWqJgy89B8CXP/9xZFmhY+FSod3oXs3C7jUxR/YVKPsk9J+E/CWQWXNBz3GhfnrljoE7BE4vOIOv+OYUyaXQtoTxwWMAlIZ70Bd2o55FfVIkn6b2LkbOiG65XTpDmFuMzHnOTMdlh1lOD3n4fm3G5fIti+nsbpysqedkqZqRhPJCHD7qO7Lve5PsUs+tMAjm3DUAzkmKPu+aRyN2rp2NaK5p48yvs1Gvung8CHxqtRKGkT6X1z/LcUuShBnTm1zHEpNds4AOSZaSsZuiaqSVGPQEXkMonxw7Nk1VsqyQyeSxLAGWZgMbiqwgKwqmZjQkiE8+jvoE24RzVB7brqDIqtC4yPI5GovEbcuu4vnOlNeroohsDduuoutmQ4dDVpQYkKRFlyeVQ1E0nNAiikLMWJDuuhbE3SPheiUAheNapFVNnLdIaDrMVDYGQWXSGdF90TSDIPCxrArpdH7Gz+e1WlOOGBRFxXdtYU87a3iM0G0IdxxRURRh1cYnAQ2YLBiqr3PVRbfy/hVC3G2YWb7x2Xcx3HeAq2//TTZtuxtZ0Vi4/DIWLhfL7Hn+x/Tt/z4Ah1ZezkVbricKQ9ZuuIJo/VZq5RHG7ZHkAq+VhijnunjiB39H2lS47s7fJJUpELhipj/fsYHWziWMDB7m+D4hul6+6TZCReL5B/6K0HdpXXotesvF7Prx32BXJwatfS/+69ycIX5KNXyy0TI38CwIJlrzLctuxCvtI/DEAyfbuoLQd5N8j1rxJKP9Jxr4rsuXr+bpH3wS37PR081cfP1/w7WHKQ0KkXsUBKzbdDl2+e0cefaL7Hnii1z3pt9HNzLJYPv00R28GHeSOpZeRVtHF4cP7EJRTRavv52lqy+n99g+zhx6gMC3KQ2fgFUX8++fezeB7zJw8kWuvvN3eeA7n2Xg2COsufhNXP2GD/Dyjm/y/EN/z4atb2Hbrb/C7u338+Lj/5v2JVu49rYPM3pqN7uf+hfe/IG/n1U/NF2FgdA/eG4t1mBMau1HEbKmo2kmsqoLMbdVFjoLVSeVbood1wJ81xLicKNZcFfDgMB1Y+qVDZKEpqWQVQ0l1niEYSBcqRQttr1tHIwHvotjl1EUjVSmKVk+9D2imO/suZaYhTrPB2Nz6wKamhfQ13uEF5750bySdedcpd3CuapwudBz/IzO5lyon8HyS6KT4fSDfepV3XRKd7BynTjlfqIoYGxklLbWPJLU+KzRFRc904ZbHYYoxA9V9PPoZNSr4jfRN1SZ1ZEunWtjwZLNye8iu6VMGAaY6QIQJXlAYeCLSZXaiBrUSjMG+oVhMC/bW9HZmLtQdl5dFCIkeW6djZ+GRWk9udu2qgRxlwPmRumqdw481yYMfXR9+s+ubjgy8bsAPY5jxXoM4RopybLIiZp+TYLyBDhOFdOc3klKlpU4X0XHNLPYVhlNNxsMCGRFacjjSDQfdlWkssfuTmc/M+v7X6sWcRzrHKpS3VXKMDNCXxGRUNdUVSeIk8PNmA6VTudRVS0OPzQwTGH/GwGe6ySp7Kl0llq11ABAqtUivu/FYnyR81HvrGiageNYSRDiz1qdM9oKfAfPtTFiJf1sVaeIJGAjirCqo2haahLQgCe++xcceOH7rNh4Izff/Ynk9Uy2DRBUkfGhEwCMDhyeclsr1m1j4MpfJAw91l98A/t33MuBnd/BSOW57Z7/iWFmWbTicu7+5a8Rhj4LFm9m784HObXvPlQ9w8pL7kJVDZ7/sQjXW77pDlrbFvHAv3wUgNbFVxIoOZ74zp8mugdr/CRjp7cn2RX1mg1oaGYTRroVzSyAYpBv7sJINWNmmuLZGRVFMfCcGpopchFC38K1ipSLZ7DKwwROEdsaxamOiBTmn0BVR48k/863LsernKQ8cix5LdW8HsIxakXhNNTefTkhMoEjOMJ2+Qz7d/+I1oWbGB04gu/ZeKHEzse/Rmn4MKn8Ii55w68xNtDD4HGhSfHdGoW2hWy54Rd59kf/k52P/CNveNdf0tS2lPHhHvJN7YwM9bH3x39G4Nu0da2lpaWDw/t2kGldzerNN7F07dX4gUumsIDSSC/5tiWUS2OM9m6nNnqM0d7tIH2A/Tu+TbU0wKE9P2Lbrb/CSP8RykMvY433UL32XRiZAkOn97P32a9z8TX/5fxOWhQRRgGB5+K5wkUqjNv5iqKBKhGFgeB+qgZRFMQdiwBVTyVibEkCzxWubgJIxLkZVknMCHqOuKml8mTy7Q3aijD0sePlzEni7igSHcMoChOXKUlWIE6/FTQuDTVlipBEu4KZaUI30ufVjr36xrdxwxt/PgEmfScP8+2vfIri2ND5nbv/kwpdGHtKdMgKW8FccgF0XKhXroJqDDL6wJqn09pPoJoKOkN2mtCr4dtFSrU8hSl0uEYqK8AGEIZSA312phpzWxkcGmPmaW+J1s6VtHSsJIoCwiCMre/LsaWpNqELk1VULYVsyMLoQlYi8yzKydkVhnNPDodYtD2Pe8C8QEA0t66DmEid477NuRsy9T4JDUIO1xXhdYaZnVPDpM5oEdaw1Rn1EfUOwtllJDqOMqlULgnsm61UVcP33CSPY6pzKCsixBaECFuEDVaIoihxxRJ5HOe6jhmmsN6tJ89PN1BXVC3OuOIcwKGoGlEYTOg84lR2VdWw4vcklr1WGcPIJEnhIAIIrVoFL3AwEEwERdGSzkcqLXiQhi5CADPZQhyMOI4STzb6vodcF4tPojL+rFQD2PA9R9jbZltxnUqij5iphEg8ThOOIqzqGKpqoBmN7y2Nn8Gxipw5sXvK9Wh6mjvf91nGhk6wfOONHH7xfh7/7l+gaSZ3//K/UWjrJpvN8Ya3/lrynuEzBxgdPEa+ZQmqavDSrsfZ9/w3ybeu4Za3fgwkmWqlTOuKN9K5ZAMLFq5g+yNfoTx8CN1sAknl/i//OrXKCIqqYWSaOPDoJ6mVJwKJasWTs54DM9tJtnUVRqaTXFM7Te3LyeZbyTe1kcu3IOOTiaksvmfjOlXS2Vax/vKw+HeSJxFgV8fxggAkjSAIKZdGGDpznJG+/Qyd3o1njxE6NazKmVn3bcaKQuzyYJL3kSp0Ux54HrsykNynjGwn3vhexuNgwK7Vb0Bv2kjPrn8S++tZjPUfZtGqaxk6+iC+VyXwQw7s/i6lgb3oqWa2vP43UPE5uOt7ALh2hbautay59A62P/h5Dmz/CvmmX6Nl4UUga2iZDk4c38eLD/0Fnl3CXraO5pYO+o7v5Po7f4dlG25IDuGmuz/BYO9e1my6CllWeP3PfYLj+x9NumFX3PheWhespK1rDV2LlgJL+aU/fua8xHBh4MWBOxaB7xBFEapmoBmZ5MYU+A5RECLF1CjfE3Q0TU+hGxkh+g4DfM9KtByyrCYe2qqqgybjuTWMVD5+z8RNJIqEiNz3LPQ4OTwIfDGbGPoxSBUWunoqJ4wcZLXhhhtFEY5VElaVqfx5azcyuSauv/WdnDp5iOOHXmT1+q0s7F7NW//Lb/DPn/v9V6fDATHoeFqAjvxlkOq+ADou1E+u/EpMlzrzE3OYmqqCSKNqRbiWoOLqqRzZVIQsNd6LZAKa2joZPXMciKiN9aLrKxpyNaDRo0FTz0ewLjFYa2FsbGarXkmWaWpbSirbilUbJwx8ojBAMzKYmZbYEUlpGIj6no1VHUfTTTL5di9wZgZr4Zz1EJP271UK55ur/iKK5uOUNdd76Mzr13WTQFawrDLanDJMJpLBJ1yjShix5qFhSUlOHEPPLlXVkWUVyxIi6PMxEql3VVRNb9BZNC4jIhkm9qGe+F1JtA6youB5zjlCbnFMaRH+53vTXg+KoiEhEUYhjl1NOkTiuDQ8z8FQtThJvDShB2HiGlMUFVUzcNwaEZMdroS71UTnQuyjpum4jiUC/nQTVdOQHCmmS+VQYy2HYaaxauXk+W/b1QSg/KxU8omKAY1DJtcmuGXB+bltSJKcXFC1ygi6kUGdogW37fX/jcUrrqDQuoTicA/f+9JHCaOAt3zw7ym0LsGxy7Qv2sDiVVcSRRGlsT6C2H3H8yyGBk5x9OUnSOUXcPHWmwC4+vbfYPGqK8k1L0Q3s/Qd38noyWcInBKKqvLUj/+VPQ9/knTTMtbc9iH27X6E/c/8PQAX3fgxArtC33FBM8q1rcYpn2oAGtOVZhTIta+lbdEG2hduItu0iEw2RVNTC+lsyznL18rx7FPgJxbCjScx/n/cFUqlm5HsMoaZQ1ZUWlpaWbpsDXZ1G65jEykmlXKRYwee4ejub1IZmto6d7YqjTY+WKPIx6uNIMWfZ7qwhJHenViVCSGwahRwqgPUiuI8rdz6XvRMB4MnhS7Es8Y5c3w7rQvX03/w+6hGjo7OpTz0zf/OWMxFvuvDX0KWFU4d2S7OT7GXTK6ZpZvv5PjLDzDY+yLtHUvIL9iEWx2hZfFWAt/l3i+EQVXaAAAgAElEQVS8F4Br7vwtLr3uvezbcS/F4R5Wbr6FTH4BjmtTqoZcdPU9aLr4MhuGySXbbj/n2KeadatbNPuejefWEo9wAN0Uyat1C9kw8FA1E8PMEkUhrlOLLWdzSEgEgYdVHY3t9oTo28yI2b562KTn1HDsCpqeauQ9x0JzIb6sJBoPQUGLOxV6Ku5UlNHNbBx4eO4N1HNruHYVI5VHTRfO88oQ1daxCFlWuPfLn6RSGuOJB7/B1mtu55a3fIDWjkUMD7y6FBNCF8afgdLzMehYegF0XKj5l18EZ0gADauHeRH7z7Mqtk5l9GQDbcmzRrHUFK0dnahyY+fcUBwyLUuojorJrtLwKbTOhUlyeBApWCWhIzGyHSjTOE3VK0ThTClPpTwz0FA1k+b25eSaFwLEk46pc0JBk/UGHrZVEqLc2LEy8s5DRB8xrw7FfCoMg1kd+M6u+WVmzK3rEs2xc3K+pagaGbWA61gikfp8gpclmHz9a5qRpF8rstJAiZMlGX+GjoUsy2QyeRzHIgzD8xB/T6Rxn62zmLSHwLnnuJ6OXqsKd6swmH4SUYT/lRrE3JNLVVVsz0nWKTot2XgfFWG/awigk07nsa0yqmYkE4/1wEJNEyJuq1YmCCaAhSTJZDIFqpVxUul8DKiEs5dj14gQYFHTDcIgwKpV0A2Rt+E6VqLbkCRJUKl8Y0pg9VotFYgzAEQORoLmpZgaMtuXNBbj1CojaDHQOHliP/2nDrF243UUmsXgu23hOlq71mJVRhjuP8T48AkABk7uQVJT9Bw7xKIlKzBSeSRJYuO2u1m4YiuqqtPWtZb7/vkP6N13H+mWlSxetpHAHubgru+TLXSy4fIrAci2rmThpneyZuN1SEiUx04TRSGpwmJUzeDMsR1EYUBT18X0HHmRsUlC6fH+fTOfKD3HwtU30LV8K9mmhSxeuo5cvhkQPHmrOkYqM7Ntp2OXMdOFhot8skDMdSqomomsqKL9OGm5wHeIiFA1lXSuiUKhiUWLl7Lx0tdz8vBzRKFLFFR44eEvYNdm9kqfruxSI9DSU804tQkKV75jHVbpNOMDE+5WkWziVYfo238fkSSx7spfonPppZw6/DSRJFEbP8mR/U/SteJqeg8/A0D7wvV8758+Qt/x51G0FFtv/QM6Ohax95l/Z/j4o5QGWrn5TR9l+eY303N4F3V/8Y7FGwl8j+b25XhujYe/9UcQRZTGTvP6d/4VP7r3M5zZfx8L193J7T/32+x69j84sP1rdC6/mituuoex4V52PfkN0tlWrnrDeykO9+E4Nt0r1uFY5aTlW6dEIcVtcUlK6ElGKo+a0pFkRczm1cbx49kUSVZEIJ8si0RwwEzlUfV0w2fuuRauXUHVjERX4TrVpENRd67S9DSZfEeD4BwEpcqxyhBFyUzj2RWGAXZtfGIQgPg+h1GYGDHMxteuVYQVZkfnUiolIcI/vO95bnnLB8jlW199sFGv0IPxZwXoyF0CqWUwDx73hfq/tNwREcTnjUHtOPDKau+qjk55WIi59Uy7GCzYJULfJvQtxkZHaWvLI521H7l0iFMr4NtFwsClOFahtdUkCGTGizUCr4asGhQKKaaztQXwI53TYwa2NXM2jpHK09q5mnSuFdcSuoyZOqGOVSLwnXgZI3bZ8/FdS/Y9R7zfOJcdIQb/cwcaItBvng5W86FezRUIRHPVeDAPrHH+gFgE0ok8DX0q8fhZO3L2mqU6rSoJAYwpTtL5ZHJI8eDeE7kX09jjiu3I8Thoss6iFncX0tRPUl0rcvYloGkGsixjW4LiNxO4qRub1MXcjWYDE++pp34L69mJTJAwCGJRuBRnZFRQVJXA9xvS0VVVI53O4ThWAyAQNrsatlUhnckjSTKqquMpDoHv4cX0assrJ58fSGi6IRLG4/0gDLHtKpmM9lPRCc2nVBBcMzVdaPgiJ8LvGYRCSUmCL6fpKYaHBnjkG79HeeQIw33v4faf+92JxeL1L1l1JTff/QmiKGD5+hv48Xc/y/Hd/0ZL12Zu+4X/SaGpGU0zWbrmmuS9Kza/nvJYL81dm8nnm3n80c+xf8e9AKzfehcvv/gUR3d+GVnRKFx3N/v3PsmJ3d8AoKl9Bbuf+Ta9+wWNx7NGGevfk8zgT39cEt0b30LHkk00t3azZtNV084eK4o246yG51qAoBCJJO0IRdVxrHIsQBKz5pl612PyFyaKsGslUtlmnFqjF3rKVFi1fivZgsgpWbj0Ih65909i2oyfdFXmU+P9exp+b1l6PSMnHqE8JDQ16cISvEDCc0YAkKKIVKaDvmM7xWchySzZdCeLlm1ltG9iXS8+9WVScQco17aWzZdezyM/+CI9e79NpmUFm679MIaZon/fvQwd287Qwa+z6bJbeP3Pf5pDLz+NllmAqhpceu09WLVxVm68WbQWx0/iOxVcx8b3fU4efprx/r2EYURt29s4fvgFTr0srpnl664idEfZ8+y95Jt/n2wmTxCIwb6saEI8HqfiCkeplPiMAqGdEMI3CUXVMYwscnwj95wage+im1lUbSLlNQpDYSVdG4+7IoYIwbKE+5qiakiaLDQ8RibWTJ19PUW4djVxmZruu+m5Fo5VRFWFC5ZdHU/AqyTJiTB+tgfGyFAfo0N9vON9v8POp3/IUP9JNl56LQADfefmxrzqFfpQfF78ZNZCdh0os1M/L9T/hRUF4A4LgOGNgXWSVxpkAFieSWnoKJKi09yxGCPOzfDDTkYGBwh9C98uUqzkaco2vlciorm1heEzQv/l1oYZUzpxa6OEgYti5GhpbZs2qA/ADdOcGonw3Jm7Del8Oy3ty9D0DFZlDN3MYmrmlIP7IPBwauNEgKalRIc2poZJkkzo1WSiaFpbfMGrnw/YmB/1KgzDc2g551PzomvNET3MJ6BwLqUoKrphniMen7KmeR7Ucy7qFKfJbJbZSpJkNN0UbllmZkbAMxkkGGYa17Vj/YfoqikxJXmqybW6/sGqlc/Jyzh7uTDw4/Ru0Q1pcLWa5Fil6Sa4JB0OVdHwAw9dmRCg1+1txdihEeQoqkbk1Bo6JACabiThhqm0mFyXkg5H7FapCGqZHwcABr6HrpuxliaNY1sQgePUZgxWfC2VCkyZJKyoBoHvoDIz2LBrxYZBSzZfQI/Ti1VFIwwC9r7wY8Iw4pIrbk0G1uu33hUP3Ioomgj883wf3/c4sPO7HN/3EN1rr2PjFe8AYPOWG1mz8Sp03SAKfVo7V9PcvhwzXUDVTSrFQapjJ0jluiiOD3N87wOEoUe+Yz0jw0OUTj2cfEGq472zfsXbutay5YYPsWLTTaiqRq0yMjXQcGoNx18c6WW47wAjA4cZHThKrTxMtTSEXRvHscszfkk1PU2hdQmF1iWkc220da1lQfdFZJs6k8Gu1NDtcIVt6qTPr7P7Yt78gS+KLhXwnX/4IH3Hd85ytDOXYmQpLLiIE8//Y4NQfdXlH6T3wP2MnRI2qUgyjuOgm2J/tFQzyzffRc++H/DSU18S61I02hduoGPRRo7s+RFW6TRHj7zE+MABXLtEoWMDW6++nZ6DTzDYtw9VM1hz6Z3IssILj3+VA899iRPLruWt7/8UF13/IXpP7CfXsRxdN7jlnX9Mf98JuhavxDAMLr/xF9lrZFi27hpaW1tZvX4b5dF3Y5pZmppa0I1OSsVhSsUiuWyTEHLLSqLRgPi7EUU4VpkgiBO4U/lkWRAPQdcu43sumpHGSBficL6yyMRI9B6moMbFieD1zzMMRZBfFIaYmaaGz3PyZ+1YJRRVJ51rTTogYejHnOowoXgpqhZ3yLT4ppmOZ5WEPWDdFne2h2kYBnzna5/mHff8Ntuuf1Py+rOP3Sd8wF9LVT0ofoxOyF0MejOvBEXhQv2MVWAJkOGXhCbDfaWNDSQsz8BxHDy7gm+LbnFT+xIMxU6WUmWP1o5Ohvt7iUIfa7wXw5hIA0+Wk1xyrUspDQkKql0WlFYju4CmgoE8A9CoBgX6hmqzUqLzzYvItywCBJBIZ1uIEAYTwpJeTMLUaaaJKDzu5mqaMan7CoEtBdVhb9qZ7DAMUeS5D/7DcH52uVEYIqnzyNiYcy5HNMdbziuteZMQDllCPO65NlatjGFmzgF7sz0LhDuScLyaC3CTZPGMS2fy2FZ1WjtkKd7XyScwyfGIBef1zsLUHqrEug8j7lpkp6QYKbKC77noihqLzMsNKeqyrOD7Hroufq/b1teBiWPXYFIHow44rFq5gUpVL00z8Fwb26pipjLJuRRjhVScdp5D00081yaVymHZwtrXdURYYK0mxo26kUJRNDzPxTTTOK6F5zposTX+a72mvWoURcW1Zw76cWyhyk+lmrEqggtqGiZvePffUBobpH1BN7ueu59nv/9xVDWFqpms2XCZuHkBTq2ImWniypt/gZWbriOdbqa1rYOH/+1rDPTupTTWz8Yr3sHOR/+RI3seoH3hem582x/Sc+gpisM9LN9wA5dc/z4O7n2Goy98HSSJrW/8Xcpjp+l56T4AMi3rKfY/LyxfZ6l88yI2XPEONl/5c0QQW/tNX4HnMHj6ZUb6D9N75FkGT+6lWp7/w8xzawyfOcjwmYMNr2tGhq6ll9DZfTHtizawZPWVqJqJ6wguvmtXG9YRBh5167k77vkMj933Z8iKhu/ZHNnzoznvV+DWKA/sSYCGqmdRjRSnDj7A6OntSIBmFlh9za8x1LuX2tAuANzaCOXiII41Qet6/8cf5eAL300CFAPPQtdUlq5/PQNHH0VPtxIEPj/66m/h2hUWr9zGTW//ExzHwnZdjEw7uZYVGGaaB/79D+l56V6aOjdxx/s+R+QVcYuH6HcHyF50Cws6uyjc8n4iIqzKMLlclutv+YVE4KhqBpde9fZEo+S5tZhaJKGohqCzxfkvsqLG3YqJm4lf13c41didQo/zK3wkSSGKHaFULYVupM8B9YIOVRXiSz2VdCoEeI2S8L/6NhRVj+lRRepe4mIWRMMPhVVuJt8+5eQBiIGEG9viCiH57Dzm/lPH+PtP/hpLV20i39TGYN8Jek/MTyP0qpTTL36UDBS2gNF1Iavj/7qKwI1pUt44OKcE6HiFyw0MimOj+FPY5TqOi3nW01aVXXKt3QmQKA33YnR2IUuN4CBj2DjZDpzKIKrZRLbQSkp1QJqOBikxZLUwOjqb4xTkW5eQK3TEkxQ6URRiW6Xk/iLF9xcxsRWSyragagZTjaqjSHReneqYKgZGUw8vwsBHOWtQdj4VhvOjQ4XR3Dsp83G9mmvn5RWSbExbmi4o2o5dRVG1xMVpos4d8Df8VZKFnsG1CUL/vDJP6o5UkqTGbllWMjs/+fwK3UaIojSuT1E1UrKwr1UUdVZjF0VR0DVDCMHD8JzBvwCQUbLNVGwZrGp6rFPRsK1qA6BQNR1JlnDsGmEUNlrdUwccGWpVMc6ZvE1Nqwf6KrGNraCF1Scbdc1MOh+uaxEhnLBcp57LEZJKCYtc4VqVTSb6ZFkBGSy7QiZTeNU0UPOtacFGEi42Df+tbtc5NDTA2GgfixYuT4TPba3ttLUK96WFS9bRtuwmFEVjxepL6Dv6PI9/7y/INy/ijvd/DllWyecL5PMXJ+u+4pZf5siL99PZfQkAZ47vZOj0PkbOHOTKW3+Z4/seYd/2byHJMltu+CBjw6eoFXvRU83UrJDDL3wzWdeZA/fOehI2XP42WjtXs37rW5EVtcEtKjkfdV2FXeHEgcc59tKP6T3yTNI+fiXLc6qcPPQUJ+MUdFlWaOtax5I1V7HqolvJNXUB4mbnOTXBsY0/M1lRueaO3yKTbycKQ/p7dlMpDsxtB6IQz5low6fynaiqyWjvRKChouiYRo7iqcdwayPkO9ayeM0byaUNRiaB1qHT+3jyP/4HURiSaV7Glpt/k1Smif4eITA/c/jH9PV+kO7VV3Nk7wO0dq4iDAK+9+X/zsDRB1l52Xu49e2/SRRFmIVuFNXEMEyy2QyPfPOvObT7P9CNDF1LL+bEwSd56vv/g3zLIm79L5/Eqrm88Mx9pDPNbLnmTUjAS899A6s8yiXXv1cM1CWFCPA9C8+piZk7IwOR6BzUaVBB4KHp6bjT0IYcp5SCACGuXUaWVVKZlnPyPOoOU55bQzeyyLpJGAgQEYWB4K9Gwr9e1Qx0M4dmpCeJyyfKdy0hMjfS6MYEv/XscuwygWdjpM4/SRwglc6x4ZJr2Pm0SIOfLfDpNVNBFUafEP9Or4DMatAudDv+U1fgEHkj4I4gOX1Cl/EqVdnSqMQW4qqRx8y2EAQBVvE0RCG1sV5UdTkZo7ETkTFcrHQLXkyNKpYcmgtng2OJQlMKL7sSU7UBm+nKj0z6xnWs2izHLknkm7rI5jvQzXzcrTj3/hL4LrZVRI3vc9MNppOQP90kk2vzAnt6F8f5pHmD6Gwo2jyykebRQJiPW9bcA/rmumNzW74OHSaXosSDfseK9QiTrGalejDhDOuUBN3H890YNKSm7MQny8tyA51O11MEkyhZdUAqT5M2Lv4mx12F6qyCd1lW8UKHVDo3rYWvFA/iZVlOAJRtV4nCEN1IneUiVT9vGrohUauWhIukrJ+1XQVZUfF9MdFbt3Wuaz7r3Yw64FA14W5lmhmQwLGr6JqJ59kYRhpNF6+JJPKMcMCqlogiYvvdkvi/VUaWZBzHes3TqWb85sqKKrihaqMvsWMLMa1tuzz6rT+kOPAya7Z9mDe89aPn3Ky6lqzirns+AZKEYaQ4vPdHlMf6KI/14dllqsV+9jz9NVo6VrL5qncB0L74Epas2oZriwHutW/6HQot3XQuvxTNyCb6hFWXvJVyaZzeQ48B0Lr8Bs4ceSgJlzufWr/1Lm582x9j18ZRNQPbKiUUpHpFYcixfQ9z7OWHOXX4GYIZg2pe+QrDgMHTLzN4+mV2PvKPNLUtZfXFt7H6ktvJFhbgJxSZSDgYxTeDMPS5+Jr3cOLAYyiqQRj6nDry3Jy3Xx4+0vD7ghXXEIUBh579PJ4lhMRaqoMVm2/m+194S0IdUzSTXMti1m15C/uf/zatS7axct0WfvD1TzB4+H5UPcuyi+9mwcJu6nL9/pN7GB05g1U8CVFEJteGbdk8/dA/Ux4fYMudf8W6teuwKiO0da3lxP5H6Vq+hVSmmWppgMB3GBs8Rnn0NINDI/Tu+RoAuaYFLOhs5dkffgaAruWXsXLjzXHKd4UwCFA0HcIAz62Jm2EUEfgOiqJPCSKED30FJAkz3RQL/UUORhgGMc3JizsoIapm4Hs2UiDHXvVmHNzn41glUtmWaQGEyOcQNK1UdmqROAixu10rIisaqWxbcl2cr2vtez/6Z6SzBXY+/UMMM8U9H/1zvv3lv2F48NUVh0eRTIiCJIVzTkqmdkz8yCpkNkB6meh8XKj/HBVYRPZpJKsHyX3lk74nV4TMeMnHLp0AINPSTT4dAuIZYRjLRSJ4FFEaOo62cAW67DSsoampwJA1HluR92Olz6VTKfgos9jbVvxm+oerBMHME2CqnibXtIDmtqWo09jbC2pohcB3MdNTUzvjBXGdKr5nk8qIwNLIKyfU4qkGhfPKo0A8h+dFo5oH2pjsRDiHDc1DU/IKLj/DorqRSnQY9eRxCWnGgfzkkuPUbMeuIivelEYA9eWCs2xyFVUjLQu6UD2Ru24RP+2hxHSlarWIbVemDQCU5Xq2RyQsfF07oSrVl6/rY2VZT9ZdzxdxnFqiDTm7M6coKulMDsuqkFHVc65hVdUFTdmziYiSjA1NFRoNw0gn29D1FGFgCXq1qhMEPn4cjBnpEaqqERkpbLuKEaVjkCi6H6aZEYDPs9E1sW7fcwk1c15Bma9WzQg2hG6jEWy4juDdpTJNSIpNqmUlrj1OtqkVqzLG0/d/iigMuO5Nv4MZD9pF6wiIIjZd9XOkMs20da4lk1/A4//66xzd+yCGmWPzVe/i5d2P8dL275DSJa659SMEgcf2Bz9PGAbkCl2Ux/p4/qEvAmDmu9m/68eMnBQuR2f2ffu8DrrQ2s2t7/5rzHRzwlWVZBmrOha7YYmLyHNr7Nt+Ly8++WVKY6fncFpf3Rof7mHHQ19g5yP/wMrNt7DusjezdO11eI4lxMfxg8KxSqzbeheXXP9eqqUh+nt2zwts1Ctd6CaKfKqjPViVoUTnoBlZFAL6jz2ZAI11V7yHhauu58f//seMnBZi8bEze+g7fYLqiKCNLd/ybl532wfZ/fj/4shLDwLCNritYzEdK2+G7CoKbUs5+NLT7H/ycwDkmxYgr9/Avu3fIgx93vXr98YUsxrrt76V1s41FJoX0r54I9mWPorD78P1fNZuvgZVDlm67nrCwEPTU9QqwyiKjlGf6Yut6QLfwXWqSEiks63n0JSiMMS2ioS+l+TLuE5F3DzjB2sYBgSBi5kqiA6KrHD202Cyy1Q6Oz3NqaGbMQ3VL4oifM/Gro0n2R2uXYqtCMPEOWamau1YREv7Qr76938iPlc9RSbbxM994Pf4/F9+dMb3/qRKUFNG8O2YiidJ6Ok2UukcpuHPDXiEPpT3iB81B9lNYC4U+R0X6merIl/oLyoHwOn/qfWrwlDBmWSXnjYVmHRNpjQbr7mbamwzXhwdpb0ty+Q5Z1V2ybZ0Uxk5AUBp5DTGgo5z8jemqwiZwVoz47PkZwAYZo6WjuVkm7qmv794No5VRtVNUtnWaQFDFAZY1TEkSUIz0niuTRRV8axRLYw7/ul0vuF9YTj/fI2I+blRzaezMR8x+nxyh17p63am9QsdhrCaDQM/Xvg8j0ES/0ml87iOlbg7nX3OJFkm8s9dpyTLpOOZ+SDwha2rP/skriwrKLISayjOdpOK1y3JcedCiLwlWUm0GcIgRZnIuJpUhplJsjiQ5ClpgPUsjrpwfTIgVVVNUJ1ilyoQmg1F1XBrFhgCANl2Nc4D0fB9V6SMx0AkDIPkNU0zhPbTtWJAqOPYNXzPRVV1KpUxUqlsct0JOlWeV/6qml/NAjY07FqN+kfiOVXCwIstXkWn4va7fw/HrpHNFTiy54cc2Cm0El3Lt7DusrfSc2w/heZWWtu6sKvjtHeto6mlO6Fcrb74NqzKGC0LVgAwcuYwQ0fFQPOSq4U4/NDuHwCwdO11qJpBGAZoZoG+vlNY/c8C0L7sdYyeejYZ8E5XHYs2cMPb/pCOxZsaXq8LeFXNpFoeYs9TX+WlZ78u0p5/RioMAw6/eD+HX7yfzqWXsGnb3azYeHNixRoGPrpm4ns2URTS3LEc3cjgOlWWrL4qsaY931K0FJ5TojLeOMt987s/x8Nf+xiDPU9PejVibOgQ/ccFuGldso01l72N9o6FGKkWqhwjnSlQGulhx4//DoAlq6/mqtt+jeGBEwz1PPv/s/fe4ZaV5d3/Z/Wyy+lnZs70XphhYBialAEFBFQUUJSIPeobNSYmvhJN3jRjYmJiYsjPxMTEiiKKooL0XgZxcGAY2gwwvZ1+dlt9rd8fz9rr9H0KRXJd3td1rpmzz+p7rWc9931/C0OHf8ULeshZF3+M+evfjlsdZNnqUzi693F+ddd/iGsQhZxy3sd44cnbGRo4xJpNl6AZNtWhbizL4KwLPzQsIRsFnHvZXyArauppMiwjJxy9XcLAQ5ZljFRnPo4jorpEbUqcrCcUimYgCHlKSuhXSJII36sJ7Gla+RsbAv4mnMk1I5dioif4fuukc4RMJZB1SUQCIbgecRRmKlq6kRMqVICsGqgpDluSpHGdmQkODJKEgT4Bu6uU+rnu65/ng3/wD3TMXUTP0akNL19K1HyDoe4XR3+YJPjVHvxqDyVZpdi+GFufHFYyaYRl4dkBglSeWwV6x28Tj9dy1BWlqrtgAl7EbyIUOcBumT/sh1Gq0do8+rkq2DFuOUcUVAndQapuKzlz9Hsqb4W4RpHQE5K4pUpE8zQ8u/zY4vCAgudOnWhYuVbau1Zh5cZ7QUE6vniV1C+oiCSRvSuSOBrFJYvCAEXRUNJqbhLHKRTLQJWSMHbyTDTpieOoYfW1Wh2i59h+Fi1ZN2FnYXbeF7OQy50xZ2N23ZOZLT/jXUx5VHWp2SDwiINoUrWn8evVOwiyIC5HQs5V041xUq+NztOyBHHdc2vTSiSVFK5kqBqeWx23PxBu4yPPQ1XFe10cnyWgVv7E80TDEFySIPDQdWPCe0BRNTTNSPdvZdBiWVZISLIujJdyaTXNSE18o2GXcbeKJMmCVJ6+74VSmCTI4+lnumFTqw6hyCqqpmfmfpZdwDDsjPDve0IIwvOcSbtMv+loDKOSlYwUPNwqbWXkIGLnCti5AkmS0Dl/HfOXnYwkSSxddy4v7vo1d3z7w+Rbl3HO5X9F18JVYqAKvMzDY8WGC1ix4YJsextPvwzXj2lpbaW9azWeU2bNprdg2E10LjiOG756FQAL11+KLEHfLuFU2rP3voYn2rV0M0vWnMXGM68aBwvzvSpR6CFpJltv/QqP3//N3zhU6qXG0X2Pc3Tf48xf/lPOvuSz2Pk2FFVHVtQUMmaiqDpv/9j3gBi70M7X//qsGe2j3DuayN628FT6DvySR2/9Ir4rkjQz10K+ZUFqcCeuqarnOeutf8qhPU/w069/lErfLgACt4xhDb9hjzvlcoaGBtj56LcZOrodu2khrfNWE0UJUeCShDVkKSLXtoDm9sWEgcu8JSfSe/Q57vzhn4mNJAkbzng3v7zjq9TKPWw4/V3MX34Kpf4D1Mp9qZeLkS4aE8cxoS/M9gCR3EYRXlgGSUq7RIJPoSi60JifIIGIo1DADeMI026ahLSdEPgugVdB1W3RCUySzBm8Dr+qk9Tr109W1IyULsuq6F7JeiaVF4WBgD404GZEUTClz0Zfz2FKQ32880Of455fXMvhA7tpn7MgXX96pp+zjQSZct/whFLPtdPUlEeWYsJYpVp1cEtHGI3bA3gAACAASURBVOp+Ab9pPk0FeZxPwbSjTioH0FqFjK4xF5SZk1h/Gy9zJLHgXtR2Q23vb+wwvMigMlQiV2xKeRPDkbegpugkkY9XOYZfWIauDE9mJGKKrXMZOPYCAOX+A5jzulBGEMElEppa2+k7UsIozKWQV2nknQEwFLTS3VsijqdOtpvaFtLSsRRNt7JiRN13J4njjIdGkiCrGr5XyYQ0ZFlB0QwkWSGJIzynhG7k0M38hPtKEj9JJEko5Ywh6E41mXWqJW676WuYVp6Vqzezas2ptHcuFN4csyGHT4PEPPE5zMzUb9Zk7xknQjPJOKa/7XoV3XNrxHqEPoXlgSRJo5IIRVGzCXYYBmP4A42PWdNNUdh2KoSh39CoTk7vQVU3M65FHMejyO6Koo7rXIjjK2RGfBPxMuqh6yZh4I8w/xsLl9KI4wjTKuCk/lz15EBVdZGIq8NSvEkiIFVh6GfdEtO0hRxxFKbGv+Jzw7RxnIroXmh6xpFxnDKWVEBV9dSno4qdayKQXQLfzVS0PLeGqmivSXWqKUqbEpKs4rsVwtDjwZ//PQd2b2XVCRdz1iWfHb2kJGHmW7j0o9/IPhvqfwQkmTD0sPOt7H7iF9x9w1+i6zne/emfEkQx2x/8CarZzMlnX0YSRTx6/w9xKr1sOv0tOJV+fvhvVxIGLme86dMpnl5kiwP9A3h9v57WSc5ZdDwXvvtL2IWOcX9L4ojQr9F7ZBf3//RvKfW/fBWzzkXHs3DVFjoXHE/7/A3YxTlIskrdvl5WtDT5cvGcQdxKL9XSMYZ693Bw1wPsffZu4mm0FhvFoRce5Qf/egUbTruCE856n1A8SgS20fdcNMPCzLUgSTJ2oZ1auZd80xySOJ6xspZXE3yN/iPDnJml6y/CLnTw2J1fyT5TNOGYuffZB6n07cJuWsCGsz/K3K4l7Np+c7ac44bsff4uDj1zE2Z+Didf9FnWrj+Nxx69i6PP3STOb/cqTjj7/Wzc8gnCOKZ93hriJGL9ae/Ed8ssXn0Wke/w7GM3ApArdtK19CTuvO5z9B7dxcIVp/HGd/8jD9/8T+zb9RBtc1dwwZX/kMHp5PRlW8eU+q7Q8Tbt5lHKVPVIkgTfqxAFHpqRS1+2w34pSZKQIF7wwhTLR9MtotAnDIYnDZkfRoqJNswCht2Uvjgn5nC4tcHse2z0oqxL304nbrz2n7nig5/jHe+/Ovvs8IHn6e853GCtlx5hLPhiAJKk0NpiIaU4eF2J0IsyNXMZpZ69eJUeQnsBmtK4qzmtCPqHOx5qHnJrBNRKmZx8/9t4OSMR5P7QBWcv1F7g1fDDaBRBZNB/RHTYkiTCbBtdOZSliHzL/My4rzQ4QPuYZUzNRc914le7SeKAUtmnpTh6EqMrHu3zlqX38eSJRozKsUqR0tDAlMcuyTLFlgUUmucRhh5h2vmXUphIHIuuqmk3pYaz8oQTYKE0VU45HC0Nu6JxFEpOTfhHjZ3yxFGEpk/cuQVobp3LlvPezYu7t/PUjgd48vF7aW3rYsXqzSxdfjyWNXGCM1mMVQ6a9nqzIG/PxjNj5uu8kmOQhGHmiKJgPHl87JJZZ2PkZ1KmVlWXip1uglh/xwa+RxxFE8rjguhaBEGY7c+ycrhubRQRXE63M/6YpUx9Ko6ixn4cmfnfeLiUoqRdFc3IIFOSJKGqujDo891ssm/ZeZwUUjXad0YoWCVOQuB7KNbwcWiajlMrY0tFIWOvikKi5zkoiophWHi+g1uXyE3f5XVzRMetkM+P5h2/FmJKaQeh6+tg59s59OI2nOoAxw48BcD+3VsZ6tnLkrVbKLR0ZTCT+hdz4mkXUWydT1NzCx1zFrL/mdvTyVMFSVZ5Ycf9PPXgV0GSaGlfCIrKcw9dA8Dz85ezeOmabALme1UeuulL2XEN7v35pKZB9Vi0+kwWrz6L4193pTDDGyu1kCQM9u7jsXv/O4N/zTZWnPBm1p5yJc2dKym0LES3W5BmILlpN80f9ftJF1wNSYzn9DPU/TxH9vySx+/7T/qP7prxscVRwBMPXcvzT97OqRd8kiVrzhIPWxQKydb0Zv7gn92brXPjf/3ujJONeocCoGPx69DMIoeef5hMak4xWHXG7zM4WGLfrocJHUHmNFrWsGjxcn723x/N1L0UIw9qjvlLNrLvietp7trE0mWrue3H/8KBp27EsIqs3Xwpm875EM/ueICHf/bnqHoOzfgCx52whbMv+SxxEiEhTO7OeNMfEfoeC1acShT65Frm0tf9PFa+VZCt3TLVUjeyomHao53g69W8MPCEmd5EZldJQhh6eLUSsqqhm3niOMJLnXjrcCsQXQU5NcHUjNwoGdu6U3j95R4GXtaVmizqGGvdzKM1qEglSSJkiJNkWtK3iqrR13OYb17zJ6zd+Drmzl/G3t07eOrxBxuu93KHajVN2LWwdQ9t7mIkCVR57MvlZdCVDCupaSAgG2CvAGMOaM3i99/GS4/IhagMUYUkcpGCISFVG7/8neUgNkgSRnUdphOa4qHZbQS1PgJnADdsHdfdyJkhVc0mDmoEzgBO0IKljd5PU1OOnposiOClI/j2MnR19DJTJcxenOdwf4zvTZ1omHYzLR1LsPKtokOReWFIqcCEMH61ix0NFYXqHj+qZmAX2mj0XIWBR63Uo42El4wMAWuafAKqqhpr1p3OmnWn43k1nnz8Xrb/6jYeffhn/GrrTaxedypnnnNFw+MdGXESI89Y+vqV9r9I9zJjXw5e4VxDiIcIEz8/JY9bE3YaxnY2RoamC6GT+vrT7d5Ikkh2huVxc+OKZnWhlhFrYZq51CRPKDSNX2bUXgRcya2KpMAS0KWxUe9QmGYOx6mMUs6qq1nVOyOmlU87HKKDMRoVI8jnrlMlDP0xnT0J08xTqw6N6m7UkwvXrWamg5pukCTJsBEgoKg6Yehn84coilBkwUcJRsCzXivRMNmIogDfq6Abgvl//ju/yLGDO+haehJubZBffPMThKFHz+FneP3b/1q0rwIPWRc3WBL5LFy0GDvFiG7a8gHa5q4kl1ZeOxasY86K81B1i7Y5izCtPPPXX0Ec1WjtWMqBXQLzr2oGuUI7PYeH9f2nSjQWrDiNSz7w78M3uiSqFSMrCTsf/RGP3PYV3OrgrC7eojXncvIFn2L+irNR9FdA3UaSMex2Ope007nkNDae+0m8Sg/7n72Lx+66hiN7fjWjzVVLPdz9o/9H19JNnPnmq7HyrVmiMTbc6tQvs4mied5JlHt2YuTaqA0epJSSHgFUo8CCRas49uI3eHrHMD/EUn2G+g5micbi49/J+pMvQTd1Hvy58OPwSofwQ5ne/Y8QeiXaF23kpHN/F993CMKIfMdqZCQKhRae2fYT7v7Rn2PazVz20W+Sb5nHhtN/B1lSkBTRWXrze6/B92upSZXG69/xNyxffz7zlpyQHVeSJAR+jcCvoel25noexWEGbaoTrevmenW4lOB6CHypqgmSWhwJlSnDLGRciokiigLcqoC65Qrtky5XTx7iOMLKtyA3MMoSrr9DqJo5KfyhHvliC2uPP53y0ACXveeP+de/+QgP3XUDIAbazq4leEf2TfkMvpTQ5ABJ0UiigNAtQWJN+KLVlPGmZrXAoNS9D91uwy7kMdWXoeMRe1B5SvyAULYyF4HRBXoryBa8xnXOf+ORJCKxCMokUQUp9iHxheGe34OUzFBlbNr7hd7+GoFzCM1qpb1tkoQ8ASc00dUIRRqd7BSKTfTX+gAoD/Zhto8e7yViCi1zM45ReaAbs7MZaQwRPNeyION3DA2OJ4s3igGvjZ6+wXEV5YmiqX0RTa0LxhVOYERxwrAn/HsWSYLnVaYlmZ11PqKAXLEjiIOJBVWmA0+q1Uq8uHs7z+/axrEjewGYO28ZsqLy7FNbaWufz/qN5zTcRra/OEaaoVzubHKA2cGoZgbVSld5xUKShnkkAq6jii5APB5WJUkySTx5901RNezUBDCKQ5LEnvJc60mwYdiZw7Zp5cbPTyZIJDTNQM6I43kkeXJlLUmS0HQTp1bGqVWw7PH8IllWCGIXXbHS7oXgRgxL9cpZZ6TOe3GdioAhphP+4a7JsNN44HvDgknZsRhpolTIkuh6olA39tM0E6dWQktdxDXdIo5DUeBPBFRQUZTUq0TFdSooijYrCOErFZM+hWHg4rllcoUOnNogOnkWrDiFBStOASAKA+YtOYHug08zZ+EGkiTmun95B5XSUTaf+xFO3PIBKkNHGTy2h0Vrz0RVhRNjoXMdrS2tOJV+FixcARd8nJa2uRTyBXZuvwevtA/ZaKelYyG7t4mJZq55Cb+88z+mJH8D6EaOtSdfxqnnf3zMJE3KqiqBX+O2az/N3mfvn/EFm7N4E6dd9BkWrnkDmtlgoH5FQsLId7Jy85Ws3HwlvtPPzge+zgM/+8sZwa0O7/k1P/+f/8NZb/0cS9eeM+EyW972Zxx4fiuF5i4Ovfgozz72s2ltuza0hyj0OPj0z7PPZEVl9UnvYN+urTy/4zbckuDZzFtxJkuOewu+28+B54ddzlduPI89u7fywq+vx6t0gyTTPHcNtmWgIO6B4069nCMHn+fhW/6VKHRZceLbWX/iFgzTYle3mBB6Toli+wJe2HEH9//0b4njiPdcfQsk0H9sN55TZvlxbxDmOUnM8g3nZwlGFPpCNlhWUBSdMHCJAk84ospKNrEPvBqqbmLn2iet2IWBh1ftzzw5Jht04zgUHTgQnYcGk9fQd1JTx8IoDlJdaSoZpToVpOoyloBSlF2SJJlUjapSGmDZqhNZvuZEAC5/z6c5uO9ZDh94nqH+bt7/+1/kuv/+Ai8+t33S43vpkWA3dVHt30cSh1R9fZxHwWRRKw2RJBFetRu7MA2W7WwiDocldethzAFzoSCaS6rofsivPezsqxehSCzCKkRVpKgqOhlxFSkoiUTj1QgJZFVAHgOnnyBehjamExZEBv09R4hDB7tlEU1jakeG6qFZLQTOAKE7iBu0YY6Rp7V1n2pK8o78CjW3g5w5+hwLVoKjWiSRh2E3kxBOOUeNEo2j5TyV8tQkcFlRaZ+3iqbWheM6l3XPDEXRpx5fAg/fLaHpOYwR8OO6EMWoMSaOBLw5SVA0g2q5V02qJZBGq1HVJ3+NJp0DfUf44ff+liRJyBda2HTKhaxee6pQ7DFzXP/dz1Ma6pvyOtRDVJJnM+GaOZdippCo5BV29ZtpHjP2+DPn8cCjWh0aV92fCmpWX991q1kS0IivI0vCIVxOXelVRcNxK6iqNiWHBIY9RBynkqIJJk/mlNRXxjBtqtXSOKhUHeoOIrGwc03UaiVUVUfXTcHBCLxR18OyC3heLRWX8cZBtAwzNf7zGEXiFt2QEN9zUTXB/xDJUCntfIiOjarpyJKcuZInSYxpFcB38D2XXL4Jp1bOzA8dp0wu19iY+tWMCZONOApxq0PEsY9TG8yw5qNMTlSNt374v7PfXaeE75VJ4pjAd4gCj+u/cgVh6LF605s5/51f5P5bv8G+p25j2cZL2LD59dx/x3d56r4v0zzvRN72oX+j7+heevf/kkLbUh575A72PnM/Zr6N/LyT6Xn+pilPZu6ijbz9Y9+d8Cmrt/0qg0e56Zsfo/fIzOBIm8//JJsv+L9YhbkzWu+VDN1qZdMFn2HjuZ/gmUe+xT0/vJpwmlh8pzrAHdf9Ca+76FOcePb7x/193pITmbdETDa33f21aR+TP8JMStUsojgi3zRX8EEG97F3cG/292LbUkK/wmO3/X32mZHvJAp8Kj0v4lW60awWTr34T1m0eDX7dz3IYK+QkBzo3ku71YVXPUrkVTBMnSio8tSOmyk0z+Odn7yefJMwHywPHsVzBcE78Kp0H3ya2773aQAuvOrLtHYs46Gbv4TnVznz4k+Tb55H4FUpti1EIn05pvADEEmB74oBzSq0TdrST2IBz4rjEKORVj0iuffdMrqRz5zEs+0kw2pTSSwcxX2viqbb+F6VJDOWFC+vunt8kiSEvoNu5skVOwGB4ZYkGYnGalS33fh1zjr/HWw46Ry6Fq1k/uJVo/5emcELf7ZRsJNMxafctx997iI0ufEENYwNAkdUVWXVwFBnoVQ12/COiZ96aM2gNpGoRVBySIoFkib4H8oILs//9kgi4dAdO6IDFDkCghYOQlBCimu/6SPEzll46WNSqwU0jWnuqUqQVWqdocMU7K5x0rP5plYGUh+h8lAvZnuB0aXmhEJLBwNHRcGgMnAIa+7cUduRpJiW9nnISoIqTZ1sVcNmjva7hMHU3XfTKtI6d2XmQ5Ud1QgemTlBh2J0gSIhDBz8VGknDD2CwEmryenkWBp2QA79Wgo9bUo/k9BVKYy88TKoSRJPS+loxarNrF53GvMXrqL+jDg14Wq++dQ30dTSOeU2sn3OAk6ZTOVsN8k6M+9SJDNHUc1oBWlGnZB6lXxsaJqR8hQqqbmdJc51mvJYcqrUKCry5qTwnrH7F/K4BTy3JiBFKel8LFx/7DYsSxj61Q3yJj1fWVwfyxK8irrfyMj9j+xQWJZInDyvJngT3vi5lmHYqbStn6pLjTw2wesIAx8JKeOliC5RgmnlRvE/FEUlTuIMpiW8QGpYdoE4TWgC38Uw7TRZcbDsIrXqEEZKQPc9Z1L+y6sd42YbcRziVPo5vPcxbv/+Z1BVg8t+79sYVpEEYdBijLO5FwPd7/zxT6kO9WIX2zDtJpo6ltB3dBd2rh3f9zj0wlaGuney77k8azduoTJ4mDiJ8as9VKtlnOogmpln2YlXMtR3kCSJcSr9lPtexK81Hmxb5yzn9Is+NenTKEkyx/Y/wa3XfppauXfaF2jZ+jdy/nv+A7tpwbTXebVD0WzWn/V7rD39/Tz7y+9y7w+vxnendjZP4oiHbv5Hjh14kje84/Nokxg8zV20kTDwCKMQPT+P8rGnpnVchY51+E4fpf69PHbXNdnnXUs2USl1o6gWg93CIFA1Cqw8+X0UWxfT0r4A3xcTlHnLz2bp8uO46ZsfZ7BnLyBanF3LNtOxYDVJ7ng6l3axYdP5PLn1Wh65Teznit+/DiSJytAxVp/4JoqtXbR0LMHMtWAX21Pit0pT2yIqg0fZl7qzB14VWVb5/j9fyns+cwuFlq7h6zWCR6GbeczJqi1JQlB/YRs2pj1e+3rkC973qllSEIY+ge9kUIk69K9uRJTEMbqZE9BEScpkbOsv/3rUO5N2oW2c+tp0YrD/GHf+/FsoqsbdN3+HQlMrXQtXMKdrKUMDPXQfOzDjbc40JCKa2+fQd2QPSRwx0NtDe0drQ/+Bam24w2cW5iDN1ADw5YxgEILBsfVCUJtAK4JSAMUikTUkSQVJF9K7siF+XiuwrCQWSUT9J4mEz0XkCDJ3VIWoBuGQ+NurGEFsUKsF+G6ZppbWSfkYpuqjqCZR6OKWj1HMdSJJw5MliRiraR61gf0kcUjNU8ib0ZhtuKhmE6E7ROgO4QTt48z3TNXN+B1x5FNxJIpjhtWxPI0Jzysx6S5bVMrTg/gWWxfQ0rkUwxQJUBILIYo6dDNJYjQ9R+DV8N0KdeOz+tkLzLdQqDOsguB5jBhX6olE/f1a99jQjDz6GIO1JFaTeEKSeTyl6VhL2zxe/8b30XNsHzufuJ8585ai6xaaZiBJEitWb57W9XgpkSQx8qySjZk9rwkzl/Kdccxk89Lk8HRZlrHsIp5XE3Krhj39PCa9jyy7mHlJTJQESLJMHIxFaNR5HC61tNIvyZMnG2J3YiJfq5aEmMskBoCKohLFwuPDTjsiI5WlBP8hGN29SCf8nucgydKEx2GaOZw4xnUqmGMEDTTNEGiDJCbw3UytTdN0wjDIXMElSUbTTXzfxTRzmIZIHiRJIopCdN0kCgP8wEU3hDJXrVpCN0TSEoXivDyvhjaJhO+rHaOSjTgOccr9WPnWTMc/TiI0I8e2rbex+7HrMXLNXPK+f8CYYKJl5VqJowjLbkGSFa78wxsy6FKSJJx1yafZ/9yjrDp+C/liMxtOuZRC53pWrz2RvqMv8MK2b4EUU6l6VPrEJFQioXz4kUlPwLSbOO+df0fb3JUUmudNutwLO+/k3p/8NVE4vdZ9e9c6Lnz/1+lYtJmXXoFMiMu7kWq7SKJa9tJOIlfgQ60FSNZCZHupwH/PMhTV4rgzPsza097HC9tv4M7v/8G0uBfP77iNvqO7ufi9X6GlYylAykGIiKOAM9/8GcLQo1arcM9Pv0w9jTGsZlxnaBQueWQMHH5s3GeyrHL6RX/IHdd9lqcf+s/sc7Mwn42nvpX7b/5ntv3iL4hCkWxoZg6n0sdAioVes+kSzn7rZ3GqQ9z382twj9xGRdpEpdRHS8cy2uauIldsp6ltEb++7xtsv+8bWPlW3nP1LZnE7fylm/nY3z2RVfHMXDNnXPxprEIrnQuPBwnau9Zy7MCTabIxQqJWsyaFIAjp3CgjXupGDpIEtzY0ygtDSg2RotBHkhVUzRTqV/Wuw5gEop7kJCQTOpePOQjRTYlC7FzbrJRYXvf6y5i/aCU/u+4adv76fgLf49C+XRzaN3NxgpcauuKRa1tMtW8vkV9hcChHa7OQHx4bCTJO6Wj2exT6BLE9DjLzm41EVPzD4UlkNroopuB+KIZIPCQDVBNI4ViyBggRAaT0X+rqQbLYNvLorUrpxyQjfkb8HoeCjJ1EJERpYhEAISQBUuRD7EKc/htVRaLxGokggNqgSHz7jpYotC0mb3qMH7MTzOJcqv17iSMfNzCwxviz5CyZVFCP6tAx8kbLuM3km9oZTA0mK4M9WB1Fxt6LxaYm+lJ+R23gIDlrwSiZ20aRJDIDfgu9/UMk8dSJhiQrNLXOJ1foIApcqoGbOUFHoYeqWxlnTJJkJFVPx5mRBYpEJCQkmPnWSWS6hyPwHXynjJlrLK89NupGa1PF1gd+zI7tdwNw9uuvZOcT97Fw8VpOO/PSae9LRMJsXL2nIrFPstLMcUskSMxkP7PxQp9+SNPohNTJ445bQZmmw7qUwpTVlExdNwE0zfwoiJuo8E+c7Oi6Kcz8nLKQno2ShoxjAX9W0VRjUgiXIqsEqYFevSPiulWSJEHXhRt34How5hYXzuk1ojAkUsMJ72lNN3CdKp5bG8XRqHuA1FWxkvTcVE3HqQlHddMc7mQkKapIUTX0JMHznZTYnhcJRq2E74nuhpkS0e1cEc9zhIRvFOA6VSz7FYITzyCyr6tOILXyYjKzePWZfOjPH8C0isRJTPfhHzJ4ZDtmsYu+7m7cgd08+It/pKVjCRe99ytC+7c6iCyrxHGIQt0KXk7/lSjaFus3nUOxZT4Dffu45X+uIgxciurVGE2LSZKQQstiwqBKHFazg2xEiDv+jKtYvPpMnMkm1UnCo3f+O4/e+dVpXRAz18qbPvQNFq59IzNRk8rC7yXpf5CkvBPKT5NUn4XqLqTYHfccD6MCRcQgKp3GIpLmU5Bbz4K2Lci55TM6BFnRWbn5SpYe/xbu/M5HeOZXP5xynYHuF/nR//duLrzqy7R0LBUmTiSZSpKqmYRhhdrQCOKfuQjJ2THpNhXVwMh3Uhs8wKJVZ2Dazex64hfccd1nM0f2QudaVL2Z9sWn4lT76N7zAFFYo3P565m/dDNrjj+Hwe5hP48Tt3yAHb+6k1077qTa8yTF9rW0zF1HS8cC+o48xbpTLmPJmi2CPF0bzCBPqmrwzLaf8Oid/06xpYuL33cNcRggKxq5Qjsnbnn/qGN/xye+D6mfhu9WgCSTus0qgwmZiU8Sx4ShlxLu1WxZSZJRFW3UC16YZ1UxrCJaaiI0WUShj+9WUDQD2yrQKPGNQh/PLaOqBlaupeHLT3h5TFbFUli+ZhN2rsgVHxAS1/09hzm0fxcH9z3HoX276Dm6v4Hix8sbRSvET6vFXuUYNXsZtj4+gXB9jWSEipFXPopXBs1qxi60YunB7L04Xo2IXPEzFf1KUkTiIRmCqM4IN/rsK5eG/5/U/5B+X0kC1JMMH6IAiP5XgroMbcT3mcSUe/fg5+fQ3GyMc5e3TYn6W6VaHsAaQxRX5QAjPwevcow4qOGE88Z1LizNo2wUiLwyoVfCCTrGLaMrHkZhLl6lG6t5/qTFmLFRi5o4NhDie1NzM0C4gbfNXYmVbxlOHCRJwJhDH93MTdqtrkcGydSstMDYeMzwnBKZvPYUhYyxnglxFE6pIjU02MOO7Xez6eQ3MtAvIImLlhzHUzvu45TTL5myMzL6eBMBlZlhzEYud9aO47/5gvNwTIOHASl5XFap1Up4bm0YVjVJyJJMOEKhqW4C6HlCPrZ+j0zFA8lI5251WvCwBDFJNxVFVPi10QaAsqISj4CdS5JQthpWw7In9eMwTBtZUfA9JzUNHP1FKoqGrChIsjxOWUvNuhh5XLeWwrJsQSxPPTqs1ENEkZXUYFAkJHEc4XnimsuyIlzYa6XUV0QjDDzRUTFzOLUymmbgew6Kr43yIvlNhAojEo1cyyhSmZUTWr0KMpvPuJTWlrkU27qYN38RDz1+HaX+g5QGDlEZPEr3wae48/rPoWkmV3zyB8RxxC3f+SNMu5nXv/0vkWWVa798CVEYsOXS/8eiFaeLB1RWONbTi3cgncRKMoP772Oo+5nxRzsiWucsZ93Jl7PhdVeKLzp1O2ZUOzfm9uuuZvcTt0zrYmw+7/c549K/Q1ZmCDsJa0SHr4Mj1yP13wfJ8IM146EucpBqzyHVnoPDgiAfG10kbW+ABe9DaT9n2ptS9TwXfuhalm64mF/8zwemXN5zStz63U9x0VX/QnvXahRFFz4gqQdEPm+zcO2FHNv7CHbLSqKwyrGByZMNSZJR8iuQhg6yP4UpAVmiISkqKze9C4mIPc8+yL0v3EOYAqs3bfkgQXkvP/v6+3Eqo1++PYd20r//PnIti3nT+/6Fmz+NAQAAIABJREFUYnM7R/Zu5/bvfwaA/mMvcO5lf8EZb/6/rD7pEtFhIOHQC7+iPHCY8uARfK/KgV0P89DN/4Sdb+Wy3/s2YejRf/R5NN2i2LqAOA5TV3ljGEogj/4XRKUvjBzsfGtjyFKS4KbqUabd3LDKN1JpaqplgcwLZzrLhoGXSeBOFA/e+UN+vfVWoijkobt+RNeiVXQtXMmGk85hw0nnAPBf//Qpel4FKJWIZFS1uNx/GGtux7jEoToCclJoW4okQa0yQOAMUnJLmF3zZ158fC1GEkEUAa8iH+U1GoocoNmtBCO4Yl7lGD2+TWvb3FFSsqrso1mtgiTu9BPGS1HHcIBy+TxeRUxyK0N9WO1jVQYT8k2dDHWLcWqy7kZT0SQpLEKVpxbuCBOD7kqOcmn6CoDFlvm0zlmGbg5XLKMowKsKxTnLbm5YbEhi4cuDJKVIhCkSh1TByrQbq1KBmHi7ToUkSUYnG/HUE/LBgWNIksTGk87nkQd/AsCylSfy+GN3UC730dQ8A77GrGRvIU4SlBknG8krT0RPxpO4X/aYZgFJSOZrKKqadily4wjR2bITeHIoipopOIUpv0HwQKbYryRncrF1tapJvUDSDp8sK5hmHtetEEVhBuGSJHE1RyYTkiSJ7k3g47pVZEnOJvJjo07Unsj8T5IkZElGVXViSU6XEb4jwn1cJD+mmcPzavi+g6Yb+L6DpWrIsiK4JLUySRhkiUKdf+F7TupjIqEbNq5Twc41YZg2lfJg6nKuE6SqmJ5bRVHUSb+jVyNUEBUHCYnBvn3Y+Y5RLs4iJJqbWzn9De/KWqwnnvMh5iw8HlW10I0cgS/s0v2kRuA5VMu99B8TUKjqUA+tc5Zjmk1UK73YuVbMXHNKcHVYd9KbeGLrj5EUFa82gO80bh8vXXcub3jH58f7IYxRhHjg51+cdqLxlo9cy4pN72DaD38SEh35ORz9AVLPLUJp5ZUK7zDS4e/A4e8QWUtJ5r4TZfGHkezF01hZYvUpVzFv2Wn86J8vZKhvX+NdOWVu+e6neOPvfImOrrWpZ0QOU24GEs656AP47hXs37eLR2/9W7EHRaOpfQWDx0YniGHgUD54z7h9tC06nWLbMrr3PUy+0MKTD3+bgUPbQJKxmxZS7FhNU3M7t9x4deZ9sXTduSxZczaF1oXU0i7WCVs+iq7L3H/j5+nvflEMgIrG6hPfwr7nd3Dn934fVTd403v/lcpQN+tPfyedC48nX+xA122OHXgSzxnCc4bQzTwvbLuDe3/810BKHO9cxu4nbuWkcz404bWKQg/XKYlOQr6t4YtUTPBLjbkeacRRIPhLho1pN9HonkziCLc2hCQrWLnWCUiZw7AZAa0QmvmGVWw4GalVxWTqvtuuA8Tg2d65QJDFF63Cn8A0abYRJyqlSkguZ0wKedIVD1m1iEOHOHQJIm0UPj+I9YwYLskaOStEIiZn5gjjZoJQRpaGl49inSiWUOQEWQ5f2x2P30bDMO2mLNkwm+bjV3uJ/Rp9R/dSaFtCzhz+3u1CM0OOWLbqRBOoTrkoeoHILxO6g3hRK8YYHoituVT0HJFfJfRKuEHHOGUqRQqmfJUkSAx6rfT2l4jj6SUahlWkuX0R+eZ5WZdgpGeGaTc3hlkynDgY5ngxinHHmG47iWPs1K9jzALp/DDJhGQqQ926JEnjiMDTqf63dyxAkmTu+MV/EwQunlvj6ScfQNNNik3tDdcdG3Eczc7QL4mRpJmpyM2aIP4aqn6IzsLMot7lcN0qqqqNc4xPNzxpF9y08plHRl2ydiqXeUmSkGQ5VWyqTCyPi0ho4ihElnXq8rSe54wim8uymn7fo9dXNR0kCccpi21P4shdT7wnMv9TNZ0oCsRzIEm4TnWM0aEQLzDSZEE8Qknmei9JcsrFGBrVJdQNi2p1KPPSUFUNT5KypEc3LLzUoyMIPPG9JmQJyW/qnlMBNN3ijh/8CS/uvIu2eau58g9vIIoihoYGsHN5TMNEUXWiET4CuXw7KzdehFPpR9VNjjv5cuYvPQnNzCMB7fNWc8GVf0/gO3QuXI+mW7z1o9+g3H+ARavP5ODuR0RlBbjvxs9TOrYDRdEx8nMbJhv5prksXXcOpjVa0quOba9fxye3XseOh7835QXQzQK/c/V9tMzbMO2LFh/8Lslz/w/Je7Uqu8MhOXuQ9nyRZO+XiDovR1n7BSR76ZTrFdtX8N6/eIJ7rvskOx/+dsNlPafE7dddzds+/N+0dCwVztneIIFXE9UqzWCgex/l3r0AFFqXkijFCbdl5Nrxqr0YuVY6l13AgSevw2pagqIXqfbv4f4ffjJbdtEJV7F+04Vs33YPO7bdjusIVZeTzvld1p7yDh578EZ2f+/PObLrdgAq5X56Dz3DM6k7+MYzruLUCz6BLCs8ct+Pcap9UIX+nhdpV9fQf+xFmtsXsmjVGQCc9ZarWbL6bBTdRJZVDKs5g4w1tS6gPHSM7ff9Dyec+Z5R1TzxAi6TxIKf1OjlLuBcQyRJjJVrvCypW3gYuBMsm6SCMCOkJ5MYpzqAouoosoLnlIb/PhIykyqHCLKbhqoZQkZ6GlUsO1dk1XEnM2/BCnq7D/L0Ew/xxK/unvwUZoELGCr5uOUjuGWNls6FGBMSaCXiaPjzMAJ9xPuhWhvGxJvFuaOSB1UOGFuMHSo7eOVhfoesGpiFOeQsZVy1+7fx2g5LTzIeWRLHtM+Zy+BgFb/aS6n3RbzCXJqLOrIUYWoBJUkhSSLc0lGKuTnjEs1cUwelHrHF8tAQRqvFqJKrBLrVguOLAlOtWsZsntnk1ImKHBuM8dzpQaYA8k1zaJuzAsMefveFgYfnltD1nHgnNupmjEgcrHzrmAlafXwZHlsyE1AkNN0Synfp3+oQ0pFogjgK6xPBRELI49crwqKrMfXYkMs3c+Y5V/DQfT/KzNEMM8c55101cwL2NDki49abBWdjNjK2M/cof6Vj+gpT9UiSBEkWEreeW52w29DIABDqalcqnlvLRFOY4nurw7tNS5juGbolEoQRISsqURSgjiBdGIZFkJLNLSuPoqqZ3O7YUFUN2y4KzwpVm7AroKoaYehnilYjOzyKouG6lSwhgCTlYhSQFYUwDLIEou7DkcQCSSKnSZssK1j1Y8ip2XU1dCslkkuZHG/gu1kiFYY+vueg6SZBIN6bwuzPnZaM8CsR2dVLYoFvtdKB7Paf/gcHHr+WOcvP4sIr/wqIqZV6yRU7Mxyom5qE1X9vTsnFbnWAKApYsvYNSFKMplsM9LzIDV99N55T5qy3/hnNbULdqalzFflcE0NxRBg7lHuGjftGhm7mWbv5UtZufhutc5aPG1RlRRHShbLCgd1beeBnfzflybd3reOdn74b3W6b1sUKj92OvPtPobT9N49vTiLkY9eTdP8Ev/Nd6Ov+FsmanCAPoOo5zn/v11l2/MXc9J9XETcw5XGrg9z0zY/ztt/9OnahHU230c2CcKEFVm84i3Lpw3i1QULyuH2/nnA7dtNCvGovXrWfoaOPA3Dwye+jaMMPk6bbJLJB16IN7HryLo7u/DZH0heNolkY+TZ2PPoLdj54DVKSUOxYg92ymFXHn0PsCmhNsWU+J275AIde3MbB5x+hrWsD6065HNNqYvlx5/HgzV/iyYe/D8CH/vwBVM2g7+huWueswC604lT7Wbz6DN579a1oRh7DKuB7VdadfBludYBc0xySJCHwqkShj6pbaRVncsO9MHAyiVpVrUPSvIz0VX+xg6jCCVJ+gKIaQqp3REgZBl9g7wPfQVF1TKtIXZZXUfVMMUaqM4IkMkUa024aheGeykEc4D0f+xvaOoYVuba88V3cdP1XefbJrRMuP1iR6PfaaDEGp60E1VxU6QtaCNwB+o/txW5eQMGWkEeQakup83I91BGHnqDglo5kv+dsDZi88xInMn41TTQkWfDMQo/awH5qA6BZbbS0FsYZu/02po4w1imVPWRFoZiTGiqHvVyhyAGqWSR0S/iVbuSmLtqaDcrmEip9+/DKR+n18rS0d6LJHkZxLu7QIeLIxwk07DFO37YRUFFN0UGr9TFkLKSYE2Il4vyGE1WzMJemJgOYHgE8Qqe7kqc0NDPT1Ob2xbR0LkPTReITRaFQHEzIxoAoCtJJXTKcECSxwJ3HMVHkk8QxqmrgO6VRk9ex40vou8iKgmbkMiWq0RLgKYYgnUj6bgVZktGtIlJkBaG7f9TxC8j09Cbwa9efweKl6+np3o9lFSgU29F0fcZJQJzEKLPwuRHQm5kmDrMjlb86VebpJUKz8uUYkWwaZo4oFIRkTR/NxZgq6omD59aEAlNqljdZKLIiYM6qjp2qZIVRgGna1M9VURQCfzzUVEvJ345TQVMFD2JsopLtJz0O33NQNX1ct05RVALfTfkThVHnXk+y6vetqupISLhOGU0zCYLRnCbTyovzCINRHSJFUZEVhVq1hJ0rCni6qiErKoHvZXDFwPdE0dGroSoaSBCFwvhPVmTCMBD8DWXixOmVjmyPF777y7hphSQIAmoDe/C9Eq4jBrRHbr2GJ7d+X3hZfPxa9u96iMfu/i/au1Zz+sV/hO9W2HbX11A1kxPOvIp9e5/hru/+Pp7Tz6Uf+QaGXcRzKwB4rs89N/yFuJCazWD31Co3nQuOY9OWD4iK7wROybKsEUUhpYEj3HrtHxHHjV9yaza/nTd+4JvT4mck5Z0kz1yN3HvblMu+6pEEaMe+Q9zzI6Jlf4q+6k+mWEFi+QmXc9WfLuPbXzgNGrhAVwaPct9Pv8AlH/ya8G2IY8LQxXcrmKbBuRd9ED8Iuefn/8bhQ08AYNhtJHGA74quxMBhYfxm5Tso94nvWc+1EaaT6Y1nvofFq8/iF9d+miN7HqNn74MkUUDHkjNZvP4iNNVk7aazueNHX0RKEtoXnsIF7/wb7FyOod593Pwt0RlZsOIU8k1z+Pn//B59R3eRb57He6++NatYLFh2Ci/uvIt80xw0w2LbXV9j293/harqvPezd6CoBkf2PU6+0E6+aS5JkqDpFqdd+IdAkvEcJFlB08zh7kb2ch9OHJI4Sv8vCdJX4AnlqZEKMGlCIMkKgV8jiSPMXEr0hHQAH2+AJfhVgxhWMeWiNI7Ar+G71QkqmVPHvAXLaevo4q6bvsWzT/6SOV1LOPfiq3jzOz/Ovhd24tTGyysnSUxPbz8DmkFbczNNWj8jJUYnCkmKaWvPU64VqfbvF5P+QRnNbEbVbQKvTJgqAAGoRhF9BNzKGUEMV82mKdWnvFDLiitGroPWZoUo0fF8mUqpF4hQJpg8xomCJP3vJFJPFF5k4LkRYeCkCl8vPQYHSgSOKABo6jJy5qsjhWvmWqi4JdGxCHQszaVgBWhzlzHYvZ/Ir9B3xKGpYzG2DfXbyamUsFtGvwMkYgqtXZkbeG3gAM6ggqQaxIFQyZNVg0Lr/FSoYDqJhsSg30pvf5komn6ioRkWVq4NM9dC4NcIvGpaJBJjgyyr+G51VCKQjS+ShISM75ZQVAPLbsk+r0/Ixo4vcRziVgfRzTy6mWOqSWochakErp2NR0k0fp04jhqqF+3YfjdLl2+kUBSFPzvXxOKlAm2wf89OHn7gx1z+rs9MDNOZJJIUjjK7mCkkahaqV7PpVcxi8Jm+UNb0COIjj0VA14dDUTUsVRvHxZAkKYMHTbq5VO51ZIdksneWrCjEUQTqMLE7DH3RZbTyGQxpMoK3omhYlorrVoijiEazQEXVUGSVMPTFsuZY0YW6W7no8Di1MnEcC1K3qonkoS6nq2oYsoLrVjKFypFJah1SVSeNZ5/rNo5bSR3PC2lHQ3A7wsBLr50hIGjp9sJQXP9arSS6R0lCnPKpfhNwqmzWrqg6ufwwJvINl3+OfbsvZMHSDRiGSZxWmn2viu+WeWHnnRzas41De7Zx/BlXMdi3P4MtzVt2EjVPx3PFoFoZOkZ71xpe/44vEwQOnYs2su2Of0p3XEBSSw0Psn3eatad/HYMqzipLJ+sKFSGurnpGx/Dcxp7TJz5tr/k5Dd+luno2Mcvfhme+9NRpO/XYkixg/r8n+EdvRHtpO8h55Y1XL5t/om8++r7ufbvzmy43IHdW3ng519k8+s/ItraSSIq6LJ42F2nytEX7s2WN1tWEdYOpi84k7aFJ9G95yEKncdRQKb7xbvpWvNmTKuN5x6+Bqc6wNbbvoJfG2Dfjuuy7SxcdTbNrfPZ8eB32fXY9fQd/BUAS1afgoTHd/7h8lHfsySrOJV+lq1/A8WWeSxafTaQcPO3Pkm11M3rLv5D3vsnt4luQhxl68ppZeGXt13DjoevRVEN3nf1rdSq/Rzes40kTli2/g0CqqTqSJJC3fRJVrRhsnhqdhX6DmHgYuZaplReiaMAtzaEouoYqW9Gowh8h8CrYk4B3YI6fGuQhKndyMeGblhCnrBaJo4idmy7F6dWZmigm+4je/nYn3yVufOXsmf35OIAYeBxrMejX7dobzYpagM0AgJIxBTtGNtcQqUW4A4dzoi8I0PRbJpb22EE/6I2wlnZzrfRqKsB4NSGTeYsOwd4KFKAbYDdkSdGoz6BTICqo+FU+gk9MU7Jmo1VaCdnyf+rux+1qotbOix+aZo/q4nM2FANm8DpQ1EtTGNmPJg4UcRzNc0uwcgwDZlK+n+nVsNqEve7qbq0z11Af18fkVdisPtF7OaFyJpNHNTwq72ETeOJ4rbuEbUtodK/L+1ARiRBDc1qJVdoxtR9pCnus3q4cYFjg+A604dMFZrmUmjtEh1UzUrH2wDPKaMbOXQjP+V4ISBWQxhWU9oRaRyiMFGZ1tg1anl7agncOIpQJsG9A5RLffzshn/hLZf9QcbNCAOfXz78U3Y+cT+zAxHN0tBvNnuaFWfjVSB8zzRmAaOaKEwrTxj4OLWSSDjkOkm88XuozseoT7onMwGUZTWDB9VDdBNkHKecGfRJWSIw/jrXeRy16lAqUWsx0f0ijPi8TLa3DoWqh6IohKmELiBUppwanltNk6faqHOQZRnTzFGrlggCf5xKlKrqOGlhvp5wyIqQw9d1c5ibkXJWxP6E4lXguxnsCkkiigS5vG74Vxdu8Lxaxlt5tWLSGUtzcyvNJ5+X/b7lbX/GulMuxzAKRGHAqo0X47sVii1dWPlW4ihgzUlvRZIkWtoX02HkedsnfsxA9wFWn3gu9974eXY+cj2amefk8z6VOUX2739g0oOTZJl3/cENFJrnkSRxJic6USQJ3Hn95xjq2z/pMgCbXv9xTr7wc0w5CIUV4ic+CMd+3Hi511holW0kD27CW/ZXGCv/oOGynYtP5fJP/owb/vWShsvtePh7zFt8AitPuHjc32TN5PhzPs7RfTvQrDacygBHDgmITRS6marYwKHHyLcKmN2RZ2/GLCwgiQOefeyn2bYWrr2YXMtC+np6WLDsJLY/9H26X7wTWVZo6lxL5PSyZPXpHN33eJYsnHj2+5m35ETa5q3igZv+gX3P3MeyDW9k+fo3cGz/k+x95l6SJObpX95A25xVVMs9hL7L6Rf+IWs3v41ccQ6GWSDfLJzhWzqWYBc7eHb7z3j4F/8MwNJ156ST2MkjjkLc6gCyok1JFofhxMGwm6Z8sSdJLHgfkJptNR6w61wOVTOn1f0YG3Xn8EP7nqNWLXHx2/8PW++9kcMHnmfu/GUkSTJtJarAdzjS7dBv5mhvUsmrjcUfVNmnOQ9RbiFeoBCGEWH6UtENC9uIRhO9E5XAGa4Um3rjCW6cKPjVFHIlSRj62Int8GQ3Qaavv0pQO5QtrygmUehQ7d+Poxg0dy7AUF57qlAJgnjfyN9hpCxojDJOKnY20ZyPKeQWI0shUgMN3ySRcEIdr1olDByiwBHdKUnCsDtoaram7U0BoMk+sp4j9qv4lW6Spq6Mi6HKPu3tTQyWbLzy0cyXox41J6I4wWNSsALsrsV4gXjeNIVU3Wq6SUae3opKtTw09cL18zBsWjqWUWzpygoKgjtRIo6CqXlfDI8XcRILidopx4tE+DFJ0rSWZ6SXz3SWR3Q2NHny+vH8hat5+skH0oTjk1TKA9x31/col/qwc02cfualM+pqQJpqzGIu/+olADP15kheUeLGyI7XtJafguOhajqKquI6VeGz0SDZHHUMyTBXwfNqRGGAaY3usk3GA1EUNYMzJUksSOKxIIlPFoqiESdR2k3Jj7ufZVkmSjvhumGlhPZypgalqJrgR2QJhSQgYV6NIPDS7sroDoYsK9i5IrVaaZxKlKppKL4KCXieg5EqUOmaSZIk6IZIOOxcEVlRiKIIwxTcFU3T8X1nlAdHLt9MHMcEvtiWH3gEvoem6g0LAC93qL7voaaYsEYhKyqtc1ZklY/5y09m/vKTs7/rncs474ovZL/3HnmOJ+66hjgKWbpsLcVWwdGw860oyvSISLliJ83ti3BrJdRJLO7r8dDNX+LI3u0Nl1lxwps5++3/xFQPVFJ5huSxd0B1Yv7IS41E70Dye16RbQNIUQVt9x/jV59BP+HfaXS+i9ZdxNs+9iNu/OrbG27znp/8NXOXnJgmfsIwKvBEhfik0y5GPuNtbHv4Fh7b/hfZOp1LX0f3nocBIcM7cERUwsOglvE3Ohdtwq30EiUqJ5z1Ozz/1FZqvdu594anqA0dBGD5Se/mjAs+QN+RZ3Eq/fzqrq+Jz9efx8Yz38O+Z+9n37MP8uLOOwgDj76+PnSrmbmL2zj/XX9HtdTDkjVnc+zgk9z0jY8DcOlHvpHdv1EUsWnLB1i18SKsfCtR6FNoXYCda6N13kqKLfMZKpVoKk5Egk/wvRqh70wvcUjVo5CkaSUOdViDZthTauZDqpBVE9XMqZ6ZyaLn6AFcp8rKdeL6rF5/KqvXnyoGKN1g28O3UKs07kaODc+tcsgV+PKOJrCVxusrUoith6mhUn1sGk/cDqIR6h9mM8oUUqNuqGbGUUauo+EEe6icZCpHip6nraMdRQqIEo3+vgFCd4ihnkN0zOlAkkYnOUkiESMjS0nKXXn1Kpi9/Q5BbQDVbKajffJ7ZuS9lyQyvEz8ikZJQoRKpRrjlo4RRyO+zxQGRBLjVbvpDXJ0drZNm/cDYOXbqPZXR0Gp6iFLMa1NMhV9CeW+fYyctTnlYxRyHRP6YShSgD193zpAJBl9FW3a7t8gvovmjiUUWuaNEj8RylElNCOXKtM1jvryQvVuGuNFFGSwqel0P+I4wk1FKaz89A1ok6QxWXvJsuN545s/yh2/+Do/vu4f8H0XRVHZeNJ5bDjhHHK55knXnXh/w+7oM4uZz+ZFp3vGq70KhO/ZjjrT7AhNQfwWiwhFJc+t4ntuyoFoBKUa3mYGjwp8arXyKBPARsW8OpzJdSpEcYSKNoobMTYURUWKJRRFxXEqWKlL+cjtjeyQaJqBhJQqaAnJ24lg+4ZhZ8mSkM8dQ2CXFRRZxXHK2HZxxPMhISsKSko+931XmBqqWrYsqbqUUJ6qYdkFIaObmhIaho1tFaimSlZmCqeSZAVZkpFVGderkVMbe+u8nKF6rkuka2y//Ws8/egNLFm7hfOu+AJxFHJ4z69pm7sCK98qzH/cMopqZF90rVbBNIW5SLVaYfsvbyXyK2w+4zL6juxmz9P3AjDYsy8z3UuShBd3CjWh9sVn0rvvwXEHJUkyS9edy1lvuRrXKWEX2nCrkw/ch/c8xpOP/KDhic5bspk3ffi6KUmx0cHrkJ7+PQgbQ7FeUpz1JGg5wsGnkQYeQD76I6ShyV3SZxvq4a/jO/vQTvkxkjL5i2Tp8W/lwvf9J7d+6yOTLuO7Fe78wee48Kp/JPDcEYRkGT/Vr969/WdEgXjBty85i8Abvoa5zpPwqrcQxxFrz76afb/+FuWBPZxw7sfY/esfc+j5rTz5yE/oO7qT6sAeQPBwrOI8lqzdwnOP383Wmz8/6pgKLfMp9R/knh//FQAL17+dYvtSVq49jVLf3uzzs97yGfLNc/HcIeqa35Isc2Dvc/z67mtAkjnzzZ+lpbUd1ykhyyor1p/Pyg1vzPY1UaJRhxHoRh67MJUsY4LviirutGFQTok4Dsf530y2fcEhibELHdkzOlb6ljrHRPxxwi3t2HYPO7bdg2UXMqnb+YtX0rVwJQCbX3cR27fePiufDdcpc8ARmOyOYowpv7TnbDQEuG5cN/ng6VWHJapNO89kVeoo0XCGhmWii61zUCRxbytSQL74//P23nF2XeW993f3vU+bPhp1S7JkucmWC+7dxrgAJjTTDAk9cPk4l5DkJuHekJDkDeQNb0iBQC4ktEAI2BgbF2yD7bjLsi1ZlqzeNZKmnrJ7ef9Y++xzZubMzJmRzPP52JLOWbuevddaz3p+pYcxd5wodHFDDWsSydj2NMpDexpnJilIsoZmdWCYeSwjQJZeH7ndKPRgglt462gesJOTiN91ApMwipASiYI1MUFMYhl7VNxXRbUodC3E0EMUKSKMdcZGxwicUWK/Rs3pp2C1n2yYhpaZ9rmOjaVNntRIFKwAdWAF48cPZNDgOPTS5OTE5Jy9uMDQHJMMgGLnQko9S8k1VUTr3leKqk94n6eLOApxbaGvny/2zbpiniSxWPQgaRtmGXg1At+ZJK+bqljVpW9JiMNAiuOIJEnSleX2yNPLTjmTW277NPff83UArn/T77Bk2doMBTGXEB4b85G9TeYhl5vMrxoyD57H3HH2s/eJk5u3y/EQicHsv40kScLILvBx7CqabrSERtVPoL7f+jOjarpIBNwqiqJlK/1yOsmfLok1rQJRGKSu4/q0pGhFVQkcD92wMFOXck0zJpK0VVXwjtJ9ZOfkVITBnqJmhnzNYRg5FEXDc2vIOXUKZ0XTDeRQwXWFwWH9vui6kK+1ckU8zxZGfVYBWUpVrDSdhATPtZEkKVW20jCtgpDF9V003SRf6KCAcEYSAAAgAElEQVRWG8+UtepcmDrfsi7H+5sINV8oEIUexw6+gmuPZd4Yj/7kf7PthXvIl/p5/+fuY/crD7Ppqf+g0LmA69/1RY4dOcBzD/4der6HS2/+LIf3b+WlB/8MANPMc9YF19Jz6i3oep5C5wAjgzsAAXs4vHcDQMtEA+CyWz7LOZffgV05Ti7fnU4QWw86cRTy67v+YsZKSalnGe/4n7+clQweH/oPpM0fnKB6c7Ij0fpQTDEY6L0XQu+FsPp/Ut1wJ7nBr57046mjvyR66irkC+9DNvumbXf6Jb9N4FV45IefnbbNod3Ps23jz1l3yXtoEAwFKTEBTj33TRws9IMkUXNjwuouAPRcF0O77s32s+v5f8G3xyBJeOjfP5J9vnfTTwChQPWGW/6MGI0D+3ZSKPbwylPC4NAoDrBy3dso9SzjvIvexPaX7gOgY2Ad5176NpavOgeShAM7n80qXb5ro+k5Bpat56NfeJokjjGsIi8/cw8HXvs1iqoxeOjteLXDPPPgV5ElhZs/+FWBi24RSRxlalHTwgiSBtUuSUQ1Q5YVrHwPkKQrIclECUnRmiQR8sNICMGG1OW03q5OPq8P7iRJqmQVoqg6TnW4sa/GLzXh9MLAm1GNDMCxK+zatpFd21KlMUmit38xi5etwa7NrbIxOexamX01KBS76Ct46LI9+0YtQpMDFL1A5FcJ3VEcvwurhbs4CAiVZ9dVqyQMbfqJbM1tTNaNwgJMdRJUqul2hmEMkwpaftCYZEuykD2MIw+vehSvClU9T1f3AvSWMr8tIpFIJFquvk8OaRZxjKxdE346iaVGAekEozJ2nMgrI6sGBWtiEq5KAZKsksQhiSSTMyaa7nV1d3DssOgbauOHyVutKw6tQpddZMUkjly86nGS4kBLcQJT9dAWLGE45XEAOLUq1jxJ8vNNMsxcZ+qZMZCJniRJLBZvQn+GSmkyYbgLfQffq2JYpcyItZEAtOpfxEKGELuwsgp1o39pyGYnadIaxxFxOpmqS9ZP179EXlkN7TIk4v1uR4nKcSp4ro1pFbji2tv59S+/x2OP/oCrr38f+UIXqqrR0dnf9mR7PvK10J7x4MmLeVRR5rPFnHKN6TkOrdpGbc6V6qIFubyAOEVhgGHmWv5GkiwTxzGKIk/4rK46VecnyLIyqyeHkpKoPdeeNsmp2ybUjRmtXAnPrRE3kbQVRUul4xsJi5S2dd0qEmLC3wqWlPlgOBVyVnHCu6Ao2hQ+ha6baVIi3jvDEH50dQ5L3bW8fi2+50ATYbyeVNTNiA3dSpOVIooqEp96RSQIvNQAcH4oiLmEKssKQRRy2c2fpTxyiM7eZQBompXdUM8eZ2xoP0cPbOLoAXjD9Z9k8OBOBvduIEkiVpz9ZvoXrmbV+e/Frh5n1VmX49oOSVCjMrKVI4evpnPJZRwf3EvX8huItt+FW2sNI5Ikmc7eU3Bro0Kdp6m01OoleOmJf88SpFYhqxrv+19Po+ozZ2/x0Xth84df10QDgMXvbblsMLj7GRaWTscKU2O8q7aRhBWiwQeQj/0YuTI9GXe2kCsbiZ69AenSJ5C0yYaNjVh39Wc4smcDrz77H9O2efbBf2TF6dfQ2dswFIzjkMCzOevcy1l/4fXseu1FnvnF32Cn5NOOgTdQG9qMXT5MqXcN5ZGdEMfoVjeqlsMuH8TIdbDusjvY/uLPWXba1Zy5/hru/cGfUzn6Cvdt+yF+Sq687C1/wZIly9i64S5+fdcX2LpBeGycdv67WL7qHL71xauxK0Osu+x9XHrL/ySJExatOJ8n7vlrNj39Q7r6VvDuz/yYJIlZu/4GUeYEVpy6ju0v3cvh3S8AUB07ShQd4oHv3Ung2bz1I9+k2L2YJIkJ3BpIQntecEeaBmjIBmnRcUckccP3wrFHGwN/qkhVbyvJCmHgkiQxullofJcpU0F95af+ZxQF+HVn3ybMaL3t5EjiCLs6ItSp2iCBTtw4YejoQYaOHpy2Sb7Uh1Xowqm2p7hTrYxRrUgUS11050JMZW6VDomY7r4+hgdD4shl7NhuqmYnhtWBZSkTlKm8oAGh0qyuGeE+7vix7O+hO85YpRvDMNG1GEUKiKPG790KShA2SRf3L1yILEVEsYYbSJSH9hL7NUaHDtE/0M90hoJBrFOr+Xi1oQxypBolNKOIruuoGuiyz+QpSH1hJklEtaA5JhChm8b5mhNAIhEGdrriKmNYBSwzmRN3AkDVc0RemTj0iCbzRqQEzezEt4eIgxpR0jvhe0UKMAsLcCuDxKGHH+lTTPWmDQmMYh/O2AGSOMQNjQlQquZQZJ/e3k7K1SKarmPqEcyRszLfJENRNEo9Syh0LETTDKLAI0T43vheDZI4VWGzCbKKQT1SdZ20b6gr2siyIralli1NT1htT1WqAq8mkgwjl6n1zNS/xHEkTE+NAlrGW5u+fwFwYi9OZDXF2TPrhBBg43MP8MrLj034LHICHvj5v2T//p1P/G3bvI04bl9qtznm57HBPJAo8wVRzXU7aW40ealeCWmnaXtw+HrbuhdJ3WyulREekCURrSoRdXdvxy4Ld+42FlYkScYwBaQpjiJ0w5oyj5RlOTumJEmZDG1zYuN7DuiT9y2l7uRCEt+gNXRRU0UlwnYmXnNdUS5JYuG14dYy2JSmmYRhgK4rQrTFdwjDgHoSIsuKSBKSBDdNjCRJwME03ciM/YQzuYvn1jDMPNWqI+BUskIUJ7huDUXRTkC5rb1QQfAxSt1L6Vt8RvbFlW/9Yy68/neBGDPXyblX3oGsqHT2LKOjZzlndi5B0Q0UKWbN6ReiahqX3vBxqtUK+XwHu1/bSPnIBkK/ytaXfsXgaz8jjnySXfe2TjQkiWVrLuOKN/8RuRQL2ryqI6W6ys2fVUYP89zDX5vxAm/98HcwC/0ztgmPPYz04u1I8etv5hV3Xz9lAbEy+CJjZZuOnI4FJFovSnE1IKF0nQ+n/wmxXyHeeDvyUHuO6JNDqb1C8Owt6Jc9AjO4o177nn9k+8a7CQOn5fdh4PLEPf8Pb/6drwnHeK9GHAWoukWu0IPr2mx8/NvUxgRUomfZJZSPbsRLf/Ncz1pkPc/Y4RdZevbbKXYvYdNDX+TMi25n6erL2fLsj9j9yv2Mjx7jyPb7kZKEXPdKrNIiOvrWsHDxSu79zp2MHNksTkiSKQ2cg2EVcKojeLYgY9rl41xw7ccIwwCnNsrggc0kcYRTHcYuH+XowVcZG9rL8tWXUuwcQCJhxdqrCAMBEdONHIMHNjM+LKBC5dHDeEFCV3d/Aztdl5msh9QY3hPAdypIkoJV7EzbwrTdfpLgOmUUVcO0OtrywAh8wRXJFXtnhWVBg8/RrtrMfMIwi/QvPhO7MsTY8P5s1XTmSKiUx6iUwcqV6C7KsxLJm0OVfPoG+qk5Mk5tmNAdJ3THUNWVNC/YOHYDQmXlO2jFAQFRAYnC9PmXZKLQwxk/TP2NULTCBPyWPGngShKJ0E/VzvR85jWhyAF5A6Ku5dRG9hKHHo6nTVjdr4ftG4wf20PzwC9JSnpt49m59C9ePiUZqCdUkVfh+OFmxTaNgUWNvrB5MuqMTYXE+fYQNT1Pb2/frFyY5lA1IwOnhbGCokw8P9XI4aePRRCpKOrE73XTop6r+X6MMQcPKtPUs3vjOg6WNv00S5YiOosw3XMwXcw3yZBkhY7upViFLjTdyrDecRwReDVUzcSwSpn09WTCbmOCJKUePrZYZFCNSd9PjSSOcexRdDOPbpbaWrkOA5fAq2Llu2dVm4ImYnoUSlaukJ37dBPH5hhYtEpImU4+hzBAUVWkFMfebtRXqecaSZLMA341H9Ur5ryNiNe36lKvbLTXuD0YlWgqTVjIrRvd1VfgmxWZ6hP/6ULV9MwnQ2lhgzA55BTKZ1lFfN/BdauYZmHCO1B3G29+Tg0jR+C7Qv3JKmTVj8nvjlC1Ek7fdbjTlHNWdYLQa2n+p+l6mlSYWKm5n0g4DBynMWbpuoXr1lKyt5dJ8Gq6OUVhStctatXRVGUrh2HmsO0KsqJiGrkUtmUSpgqjrlsVXJDXMVQAVTPxgkmwiPRBMnMdyIqGoWhceN3HCQNPSHvmOjj3whuy5o5j8/BP/5ojOx5ixTnv4NIbPowxcB29hTwDK87h2M77iSOfXPcanMrglAqCbuR5y+98PcOdTybDKYomDM8UAUlIEnjsZ39JGEyvBLNk9eWsPPdtM96AePRZ5BffCfFvRlFG7b5wymfDux9CVzVM1YYQkoUNmFI9JM3i0IH9LMh1oyftSyhOOHb5KeIX70A+7wdT9l8PzSzxlo//gJ/+4/T3bd9rT7Bz04P0LzkLVTNSvKJPFPq4ThWrYxmBPYqsl4i0xSSJgNApmsXg9nuz335wx8MMGZ3EccDLj3+LzU99n8ATkm+18V8gAT3LL+e6t/0RB/a/RhTB7u3PURndjywrLD7rt1i97iZ0TaG3r49f3/0XRHHIWZe8m8tv/UM2bfgVrz7zHToHzuGG93yZg9ufpHfRGjSzyK9++md4ThnPKXPZLb9P4NvExFxwzUez61ye6+Dqt/0fkiSkd9FpDI1UQDFQZyFS+l6NwLcxrVI2EZgpotBPSd3FGRXX6tFM0pydKyLCtcdJ4qht9ZgTCcMqYVhFrEI3tfIxRo/vJY7aWx137AqHbNEfdJUMOvSxaVf+m0OWIoq5iGKuRJx0EcQaitzYThj5NRY5TH36ATWKGwOObnXT1ZXDj1R8P8J3K0L9qmlAVjUFmpSXwkTPvtdbVFQtU8q4BZ7vkZv0iPhhI9GQZJVSzzIszUeSE2JURkYqGXG91ZyxPgGQFQ2tybB08u/ePGgaxQFy+RyKDFEMdrWKVz1G7NcYL+fn5MOhNTkuhgEYk+aIuq5ST0GDIMKcNF/QmxIE36mC1X6J31A9JFn4rnjVYySlhW09P+2EHZUYqcrUqu2rS4GY7HT0LKXYMSCSiXQhQZiEVomjgFyxt60JvZDLHkPVTPKl9mBFvlsl8O1UyWr237GemMiykirrzd5fNIQpShi6FoZOg68UR9GsMI1Vq89j1erzpnxu18bJ5Wcnxre6BnkeSjtJHCNpczM8m5fsLcwrb5g/4XsuB2i3WiG3nZi0aitJMrl8h6hy1MYFAVxJV9zDmceLOlzIro23dC1vjroiFWjoukUUhdh2GcOwMtK2omp4no3GxPFX000BTXarJCQp0bv1c6XpohJh18axJsGlZEUh9uPsvF23iqrqqXu6hufaWcIlqioOrlMTvJQoyhJt08wTBB5uCoWqP3e6YVGrjgmCe6qSZZj5jNOhGxaaJiR8Nd1EVXWiOERVVKIoIgz8jOfxeoUahiFxHE4xP3GqIxhWkWSSLrKi6sK5FHj28R+ze9P9LFt7LZdc+x5kvQhJTBD47N6xEf/oo1QqfYxZGqEvJpHDe3/d4jQkFi5fTxi4RJGPle/KysP1/6IoILBtQt0ljkP2bnucvVsfa7Gv+i5lbvno95Gk6VdDYns/yfNvRopOjKSaLPskeINIx+6BabglAGhdSC14E5WDT2MaCVacri723Tilzei+pxi3DfLWIrqZX7IBwOCPCbYsRTvzS9M2WX7mLaw4843s2fLQtG02/OqbvPN3v4fwKhErO+IBL/KW9/4Jo0ODHNq7mecf/BK+LTgEfSuupTL0KrWRPWhmCbdyhCglg0dRQBQFyJLC2it+l3yhh/27X+Gci97K8NBBnrnrcxNWUfpWXs21t3ySrS/ex75Xf0kUeAwdeQ2AFadfjarqHNn1BGNHXsapDOJe+W5Wnv1G7OoosiSzaMUFjBzbRd+i04njiG9/8Vp8r8qVb/lj1l32XkBM1laeeQ2qZqIZeYqdMzu0J0mMWxsT+NJCbxsDUILnVokCty1JS2ga1M3irEmPOKcEzx5HkmXMfFd7zL+mUFSNgUUrGBk60tLEb/qQMHOdmFYHuUIv5bHDjA/NLEvdHL5nc/S4zZCq09VRoNOsoLS5Ai1LEYYy8T30Qj17flSjY8aV+iaEFLKqI0sRpppOinMWCXn8SMf3I0LfRZMnHitoGidV3WSy6duEn6AFBqNSLlMf8Es9yyZUPmTCCXOByRPppOn/il6gu2P6/q/5qLphYab8EU0Go9PgeFAi8sp41WPCi0Jq7/43L0AH4dT7rCmNCwh8G6yJg7cmeciKThz5BM4ISbKoJfei9TUlGMU+3PHDJHGIH2ntw7Cm2WMl7GSkHAqD2zmEomh09CzFKvak5O/GWCreY6Gy2I5UNkmC51UJfRfDKrWlNJckCU5tBFmS25eojUQlWDeLbalTQV3GW1RAZEUlCaoTvhdVhrkTgpIknnN/lW1LMq9FFQGjmrs3x9yPNU9S+VxjjocQcKe5tJ1LItMaCi8m3GpGklZVjaSNhCeDDGkGtt3w1pgciiIM+Zr/nUs5ElEUYhg5ZFkRcOcW5yfLMpZVxLHLRKE/bbKhKlpmZGg7lQnVC5hIaBfQK2HspxtCZClqqqwYhoXvu6kDeoKhNLS5Nc2YUskAMh5GvbqiqjqB7BLFEYHvYug5fN8hCDyRZEWC5ylJomruurWM4/J6hFodPcDx48cp5DUe+P7vE/kOb3zvl+lcsJZnH/g2w8d2c9Ylt7P2jPO5518/xv4dT3HWxe/ighvuZPeWXzF84DmQLc656M1cc8unOLr+evr6lrJ750tEgY0kgWEWUuUiVWCCm6KrbwXnXnEHy067nPHhAxhmkVr5WJNyDo1kw7MFLzaKeO6X/zTjhb3pjq+RKy2asU2y6SNI4QlM3Otx2hdRjC6SOCCuHSAZexbp6N1Ix+6GuDHYxgvegdzi7R879AzLFnchxylRr3jW1DZ7fwUkGLLHiS7UKfv/nqj/JpS+a1o3kCRu/vB3+NrvL5mWRDx0eBs7X3mY09bfOuHzJI6IfIfy2CCb/vtbeGmiIckq5aOb8FNPhOVn3IjnlDmw9UEWnXIel936B9z/vTspLXwDl173AZ555LuUDz/NK8+5VId2kiQxRqGP/pXXEjojLFl9GePjo+zY/BijhzahqDqnrL0SJIkFS9cxNrSXU8+6gmLvKoqdi5GkmF/88K+xy/s598qPcssHG2T8WnUI3xdrza49imOPc8+/fowwcLj8ls+xfO0Vs97ThuRke4O0UIMZQ5ZVrLYSE1IHYRur0NNWh5DEUcNvw5y74oSianzqj/6ZQqkLgNHhQQ7t38Hh/TvYtOFXAsM6W6QSv4ZVpFDqY2z4ALUmPsRsEYU+Q8MjDMsKpVI3HVaANQ8FK0tz0RavwPESVEUBpq9kqk0VkdCrARPvnUSMobgC3mNNrGoABH7j36LqMfEdiuJmLP3EYycoWXIOEpYxdbKeScZKcotV+6bnYrZnqlmNatLgLhFjFbqppgRq35doo0gnzqAp+Qp9GyatFiqyL0y+4pjAGYeOSdU5SXBqvOpRQZiO58DbAPKWha6vxNRjFGl+iUaETtkrMlZx8L05cjJUnY6eZRQ6FqCbEzHpE1XmOtusNEQ49hiKoqVJw+x9haiWjqWJSXurlYFn43tVwedqA55CqoAXhT5Wvnsa6Of8ZGFB8C7moyglDnsi5nxzPOY8KhvzOr3fwDazeWdMaDtnJa1UCbLFArAsK1hWEc+tEYbBnDgmsqKSs4q4bo0kjqaszrfilkiShJUrZsRrYTwoTXt+9fbVyhhJkrSESgnjQqHAZllFXKeC0ZRwKKowIqxzK6z0nD23lqp1eROSE1HpSPA9Bz3dph6aZlBNzWzrCUc9uZBkOd3GEjK9kiwMENPtDSOH59ayvztOFUVVCMMYx6mSn0clsZ1QVauTvkUdjBzcSG38KCCkarXCMva++gC1kV3kOhaz9ozzGU6J2KPH92CZJhde/SH27r6IlWvWYeVyPPj9z7J7y6OsveCt9C6/GknRUc0SI8d3oZmdmPkexo5unXACp19wGwPLz6Uyehgz30mcRMiSIggripq5NMdxiM0Qqmayc+uD1MrT+1QMLD+PtRd9cMYLD3b/E8rIoyd4+yDJrUIxxGRMkjWU4kooroSl7yGJQ8LqPpLRZ1CGfoG8aKqXRfXoJlTNysh0KCXU/JIp7cYOPE1erpBLpifntn/SEdLmD8OVL4HaGqen53p404e+wS++9TvT7ub5h7/GaefeAimRUEjg+uhGHimJKR9/LWu78uLPsOvp/w9SAt7ezfeRpITMocEdvPTEv1EdG8SpPsRd3xpm9ODzxJGPUxaGarrVybqr7mTpitM4tPc1CqUeXn76J4wPbiZX7OW6d/w5y9deKfZ3eBs/+od3k8QRV77ljzn1jPUMHh1k5ODz+PYxju5/Ec6/lmMHX0FRdXoG1vDOT30f16nQt/A0Ro/u5PihLQCMjxzAtce45/9+gtB3uP7df0n/kkYyWJ88JHEkqhlt4ITnVZ1wxkmSuC1vDqjr54+ekN/GwiWrKJS6eOXFJzDNHIuWreas9Vdw1vor2Ldz85ykb2VFI19aQK7YT618lPGh/dQqQ21vn8QR42OjjI+BpufoKFqUjBqa1D78UZV8iiZMTg4mhyIHKHqRyK8QeuMEcc8EovlsEfgNnK2mTh24mxFlYpWs8UEQq2SVCS3fEgKUpAsYrRLOpHmYTmYespvnCq1WKDWtCQ7VJgwOhM+GnMJehdrTpMEfUV0KnNGURK5NcWLXzRwponLOvA1dddHnhoTJwo5KjNkq1co4yRzhqoqq09m7DCvf3bJaMVfPDEghmV5tAjdj5piYALRTLYUEpzYGJG1XQOpVE0VRZ6zMJAnzThjaUbGaKeYDbWoQ5uewzTyqIcDrTb+Y3zGkqQsPM0frakCrkCVJ8MmmWSirE7PD0Mdz7baEBeoiBoqiCm8Nt0boVKZwMqYL3bBSXkY55XZMf0xJklFUFVlWJpj6NYeiqhnsycqVcOxy5oIulKdcaHqNTTOP5zmZF8fke6nrFnEcp2TvhrGhJEmiOpEkWSWj/pkkSYRRiO+7aJqROY47dgVV1Qh8FzOt1ASBh5Ur4NiVzGm8nqic7FALhS7iOCK/+hLe9N4vk0gSS1ddjB+GrD7/XYwe28FpZ1yKUx3hpg98hdr4cQpdA4wP72fBwqWUOgpICdTGj3L8sDDBGzt+ANXaTRQ4lI9uQT7+GmHg4FYnrmgqqdsyJBhmscntWJTbBEmoiXKblmN3vDQzSfqm3/7WjATbuLYXecefzu+OTQpp8fun/05W0UqroLQKlr+vZZvhXQ9gFbox1QAiSBa/Z0rnnCQxtaFt9CwykJKTxC1x9xNv/hTy+u9O22TNhe/j5ce+waFdrT1Axob2sX/HU/QvOZMkSRoER0li5ekXc/MdX6VWOc6RPS+w45mvZlyNNZf8Lge23I09flDI3EURO15+AIBc13JGDj5LEoX0LL2Isy99Pzu3vUBn70JWrTmXxx/4Fw5vvWfCeZxz6SfoGjiDe//t0xza/TwX3/gZNCMnVJqsEla+hxWrerj8tj+nVhlhzZmXsOfVX3Pfv38agLd9/FsMLF9P4NnEUcCCpWdx7dv/jCgOWXPOLZRHD3Ds4CsAHNq9gZ6BNQApsbOKrGjoZkFUgZrmhkky1esgCn3h5GkWQZIncI6aPTGaOYd16VtNz6Vu2knWLBsamiaLCQmBZ6PploCSeGH9ABPaJLMoeYwODRIGPvf/19fFygjQ1TPAomWrp8Wt15XJhIxmnJHq6oOSUM4RghRWoQffK1MeHZzTUl/gOwwNOwwh/DpKeYWiVs6cv080JKCju4+RwSqQMDx4gI6+pZiaN/vYnUDoiHsjyTJKC+hR88RdVFka/26GKmst3d+TzB8CeeqqePNtnG2wbYYmJfHU+680fR9FIXOZuSh6idgZFglHCydz1Shkzu9+qGBpk5INff68jblGhM64V2S84uB7c6+aSZJMR+8yip0L0fUckqwIaV/xLQkJfgrBMnOdqbRn2Hh/Wz77QpkqSRIMqwOQiJqgIK36FpIE37eRkNL+KGpUpjNFq6a+o96/eDaSJKPqVov+hUnSuek2voMsK8iyJqBwTecQeeNK7DuQpGTeOcIywsBny+YnOHJoJ6vXXogkSZyyYt2cCOLziTlBgiZt9xshlQuZuDkeZ27XJUnynPpiKVOvakMqV5aJk3hWhW1V1QkVkXDIioKuT1WPqocsiQppfaemmSdMuaO6YWWVAkme3pND001kRcX3bKJQmtUAUFYUZEURx0jN9iace+SjK1ZaDSmlKlihqE60OI86ZCoKvJacEEO3qNbGSOxkQoIjOCI+iiwgUKaZR9NNHLtMLl/CdW2C1BwzDH2sXCEjmCdJ6jpul1E1XSR5gY+um3iejaKqJ11ERgWh010dHxT44GIPYegixTHrzr+aJLkKCQgCh3ypP8WtS/heleMHt/CL796JJMu87WPfYs0bPsL2bc9h9i5n6cp17Hx5IWb3OnD2T6hoyIrOojU3cOkNH0Q38sIjIBSrYaKikcpwpc6NICYxsqIyfGQ7R/ZN7xS+8JQL6Bw4Y9rvAaKXfhvlBHka9Ui6rz2h7Ree/X66+pdgyRWSYz8j6r5hyss4fuAZNLOAbp5kBaEj/0G08HaUgVtafi1JMjd+8Jt863+fPe0uNj/9Q656658gq1pq+pQOPEnCwLJ1HNz1LCPHdpM0wbFGhvZlK7CrLvw4uUKRTY98ib4VV3LGG97Jzi2PY4/s5PxrPkK1PIpbPshYXOaxezdweMfDSEBX/0qKXYswzCKnnHkNRw7t4OCuFwj9Gm5thNs/859IkoykqNzz7U9wZO9GVp99I5feLHxEmlefkzhicM+LbH72Pyl1L2b9lR9ixZnXAQlxHFDoWMhN7/8KcRTRt2StkKT0bVTNTGEQUnrdE8D4kElEislFGLjoRh7NyIlEOg6zds1KVuLmy4SeQ5IkaKnW95TkIDRQit4AACAASURBVJW3FKI1YmvPEeoeplXKVqikSe2zAWuWAdL3Hfbu3Mwbb/swD/z0G0RRyOjwIKPDg9NuEwY+vlfNEgvSP9O7gZQqeMmKipXvIlfsIV9aiFsbpTx6aMKEqp2wa2XsGhyTFQrFbjqscFZ38nbCUD16BlYwNnKcyK8wdnQ3sqKjWZ3iHioqXS1UpEP0THpW0Usth+CwyYNDkSe2iJoUeRTdYnIVJk6ULGlvvaAyPURrSstmGFWLCUaz6WASCYJlu6HqFnVBuzBWpyhS6bqWqUYFQTiZtoEmBUiSQpJEBO7ceBvthqhiKFQr5TlXMUAQv4udi9CtAoZZIJOuravOJQlh4IrqvCwjSXIqTzs1xHsp/h74TlbZlyQpXZBoPaGr/4aBbyPLqqh+SEx9j9L+pf4eIkkEbi1LMmC6/iU9RqqMFaTn34BlTuIeSDKKoiWkMKxmcms7kSQJv/jZP3Hk8C5kWWHp8tPZ9OKj7Nj2HDfe+vG29zFfr4z5bDXf483rDE/uKzAlJCTiORHK5fT6Z28qS0rbBo2SLKOrBlEsyNyWVWypLibJClEUoDZp0goDPw3XqaAo2gROxHSJr6KomFaRWlVU+ITS09SLUhQtc+SuO45rSZwJIAiJXBvSd6rugi5I3VU01cigVM0hvDWU1PyvNOFaJVlGVfVUvauMlROu5aoqPDp03YJImBdaVlGQv6MwcxSXZIXAd1FVHdPIU7PHcV2bfL6UQbnyhU7CMBBooijEdWrk8h3zfo9ahUg2Apc4ClE1Q5SkVD3FbDbcQZMkwbVHefahfwBkzr38Awwd2ZbeUIUoDCiP7KWy7wHC0cUM7/9v/MpxjNxhyse2TTioZnZw9iW3Y+U6CQOXXL4buzqCJMmCm+E7JHFEgqhk1KFUSDJbX/jZjBd05dv/mple43Dvv6CMP3ECt2xiSKXTT2h7vbgIvSgIyaz8eMusf2TvIxSKefJ6ba5S8LNGsu2PYOBmprtnHf1rWXzqpRza+VTL7/dvfxJF0zGtzuZZbfb9sw/9YyYfm+9YTNfCMzi47efZ97Xxw1RGxMCY61iEWz3O6IGnieOQbS/8nKHDm7BH99K858UrL+CtH/2/7Nv2GE5tjM1PfZ9DB/YSRQ4X3/gZ1px7K/v376Y6fpwzzhVcoNB3qVWGsArdhIHL6nVvQjeLhL5L78K1vPTf32PnJlFdWb3uRvIdCzi06zmKXQsZWHYuq84Wymth4OG7ZcxcZ5YEzBa+VyMJQ6E40+ZqgWuPIckKVq6jTViDIKfrZqGpQjhzzNaRFIpdnHr6+QCsPftidr32Igf3bOPQgR0MHtqdSaxOOhMxSZEk5FRcol55mVDhiEOxQi9JyJJCvtSLVejGc6tUxw6n/iXtRxxHlMdHKY+DqlmUijk6TAddmp9ZIICuevT1dVB1e3BrY4TuOF69OitJUJzKCQvCxj1Vp/kdoqaV4MmTcKVpYtaq8pQkje9b4eqTWaBTzdFslicSpMmSjo3fV0xe55BsaI22YRRPUaRqFvwJvBqTJbkkKSbftQRZltF1CWkap/e5RpCYVPw8Y2WHwJ/fgpNm5Ch1L8HKdwm1xha/g1DmE+pMmpFva9Cuu4AbZrHtbZJYGIZqel5487SzTZKkbuNGVoluJ1x7HElWRHVmJpldKYolVahGep6D1i7ZBxg6tp8jh3dxy22fYvu255AkmUuu+C1++Yt/bRveMX9i+bwMM+ZVcZhvFeX1zzYkaFHlnLY57V+LJEvEQbuGoxJxOomvJw51OFJzyLJMEEwdh+pVBd9zBJRJM0V1doYuTMCQNCRZwa4JudvJMD5FUTOuoiTJKdFcVAuMVB0qAaFq1rStphlISPi+QwIYLV6JZvO/ycmVrhkEoY9uCAnbujlgXWFKNywBbUyJ6a5Tw8ppafWiQpIkhKGPphmZilfdiVxPUpiWmceujaMbwgRwMgH9REN1nTJ2dZhS9xJ8t8rxI9tQVJ2BpWczcnQ3Gx79Okauk/Ov+jBubYw9rwoFqLMufjfrr/owS1dfTqVWo3/5uRw4sJ+Oheeh6F0kQYU4CfHsEYzSYtzxBtfALPRRLPWmcIolKeZOIwp9FEVD062sylFfEar/uLu3PDLtxXQvOJWFp145/dUmMdLuvzk5dy6N8PELGJIugfwZFJZcQ2np5Sd1/wCqXsRSKuTik8DXmBSyvZV4/7eRl03PzbjmXV/me391WcvvotDntY33cu4Vd7T4zmPJqovSQUqoVpWPCRncXMcSepddzMFX78kIr/te+iH7Xmpsv3+LgEspqs6Vb/lfRFHA+NA+zr70veza/BAP/uBzU465/oo7OHL4EBsf/nvKx7dSHf0Yb/3wNxg5tpv+pWey/ZXH+OX3/gcAt37onzjl9KtQNYPV695IrXwM0+qgb/EZPPpf/4dXn/8Jkqzwyb/cSOA7HNmzETPfQf/iM9vCQidJLJzAoW0JyToZVFWNtkndcRSmCjKFthVkPGe8AceZJmrVcR578D9YvGwNi5at5oxzLuOMc8Rz8M3/9/dacjayqkoiYFpRJJKKujqMlBL66gsa4v1WMmWTXKGHQrGHamUYrzZGtXy0retpjjBwGRlxGUH4dpTyKiWtjDxHczoQUKOiFVC08sRJiTBW03lFAnhMnpwETVJUmqYzxcMhkYjqaj2ShDIJ+tWkGovnjJHku5CkxgDdzMmQWpF4m3kYLZPBlk0hjplsIS5LoZh8JAlJ6AHtDzyq2njWQz+cYoalyoGorCUpSbxzAUyqXBRzJwcW5yc5qr5FpSbgFcwzcdGMPJ09S8mXFqBPMwjX3/k4CrFy7SnMCQncGoHvYOY7216QCHwH363MiQRe53KJCmt7v2eSxDip1LZptsc1ieMI16kiycqceBduKtXZ2TWQrluIleE4jvH89pON+Sg9CWG4+cGU5sfZ+E1sM0cSN3PjbMxJ/pb2IVpCQCICtIart2cThgGm2UjE66Tz6UI3LKJIw3Wq7cH5JAlN07OqhWnlJ2wnpQtpzb+5aeXxPDud6BdQFU3AoeRJhqqajiRLOHZlgvJUc9TN/xyngpVKAUPqFeLZqGYeSRJqV7mcUKWr80J03STwwU29OTLlK6uA41TwXBtV1VP53Q48z0ZVNXTdxK6NE0UBRurBoWq6cCpXNFRtdknudkJ1qkP851ffxQf+6EF2bXqQ/77vywC8/Xe/y9jxfezdJqoAq8+5ie7+lSw/7XKRceoWx4/s5Pkn7ub4vidZse42JLVIoCyge2Al44c3AuCmBF+AfPcqVqx7K2euvwYZlyiWsStDIEkkxCRxhJwqCcRRmOJaY1JDVLY892N8t8p0ce3tfz/jhC7c/x1kt335zXZCDoYIay9RPbaHgy9/H624nDVv/DvyfWeetGMsu/hOuOjTxOObYPMnYHzDSds3ADu/AEveC3LrAat36fmUepZTHt7X8vtXn/9JI9lIEsLQI/AdJEnmqtv+lGve/meMDe3le19uKFdZnadwyulXMnzoBZzyYdZe9AHGjm3n8I7HUTWTN77nbziw42l2v/oo17/zL1l4ynqefuDvUTSTHS/fzytP/wgAs7SIFWe/BV1TGFh2Bn4YMTJ2HL3zVHK+jVXqo6NnKR09SwHw/CTrnKIowPeqHNqzga7e5Vz3zr/Izq/Q0Z/+OUAchWx45F948fFvo2omn/ji7Pc/9B1830ZLZXPbibralG4W2p48+F6N0HdSAmk7xltJqoKlTKs4s3DJKhISBg/u5slHfpJ9XudrLF62Gm8aJao4jlLcdwNXPlFxR3CxwtRPB0QHXk88BDw8xsp1kCt0k+/ow7XHKY8enpVj0iocu4JjwzFJplDsomQl5NUK0jxKhLIUoU+Q1G0xkCdS5vOgqVO/j2i4mCtafsoudMXDyPfj1Y4ReRXGq0WKeQ1FFhPvOGkqr7fq65rG8iSZebLeDEsS/LjJg7GEophEoUMU1bH87U1e1GZFqsBhAisSkIgp9ZyCokpCOlhq3zSwnfDjHBXfolLzUuWVNpTTpgnTKlHsWkS+1D/9AkDKlwh9B83IpQTw9lSjPLeSeua0uyAR4zrjSEhtK9NRl9kO/TmZeoaBi+9W0Y18W2IWAL5Xk4UPQA7fc+Y0EV+w8BQMM89Pf/QlZFlhZPgw5fIwHZ39FIvdbe0jjudH2E6Seapf/SZhVPOJOcrTziXm5yLeTluZKPKb/i2lfIwA16mmXhFadt9nSvgEeVyQtT3PnpkDknp81HkMnldDUdRUGUpso6jqFNUqw8hlXBFV0wlDv+UkXVE0TLOQVSAm80NUTcf33UyZS9MMkaRIEqqmZ0mKZTX2oagaUVql0HQTSZLxPBvPczLPDaGOVc18Nuq8E8cW5HLTLFCrjWHliiiqRpxCzhy3Sl7pOClyuKosa6w88zpyuW56Fq6hf+lZxEFAsXMhnd3LOP+ajxIFDqWuxWhGjje+50sMHT9GQoyuaQTuKE51kLHxcUJnL/bB+zk01EEr+TAjv5CLrno7ke+QK/YgK1qG6w4DjzB0UTWLOI6ESVw6aVFUA9+zObC9NZQHIF/qZ8lps/An9v7dCd2sViHHNkus1/DyA4znunCcvQw//6fkb77r5B5IUpE7z4PLn8Ed/DXaa3ciVV85Oft2DxHv+wbyis+0PrSkcN3tX+Guf/qtlt+PHN3F4P6X6V24Ft+tICsaZpN51RM//xs2P/WDrH1Hz1Kqx7fywkNfojZ2EEUz6exbw+iRVwG48X1/i24UGDryGpqWY3hwO88/8nUO73lhwnG7F53Dje/7MpKkcmDXJmSth4d/+hWGD26ga9nlXPuRb9Lbu4DHf/ZXbN1wF/1Lz+KNt3+Z4J3/jCbDyjOv5Kdfu4PDezdS6lnKHX/QEB54ww2fYt1lHyAMPXyvipnvBCBXmuqTMiFSJ/AkjrBynW05gZMkeG5FyGG2qTZFqjoTx1F7Ov2kVZPaCLqZmgdOs80Z517GhZffwte/9D942/s/y6F9r3Fo33YO7tvOlhefYMuL08MQFVWfJPQgZKvjKCCOhJ+PLMmoRj7lZili9bPFuSRJjG7khbpPvovAd6mOD2bVorlEksSZS7kkK+TynRRMmYJWQ52nPGqrKOVDSvk+okRHbuELEsaN50HVW8PwSp15hl2TOHKFc/m4hGZ1kSQRkd8Q2ZBaYOFVKcg8KuLAJUq6ppCzs+2nwKhatFF0CB1IYmK0tkn4ihQhazlUPZfCDafuP2+evPsOwtm77BlUa67ATZ9AgqEZeQqlfnLF3lk9cKLQx3PGUVSDXKGnrQmbqIBUiKMAM9/V9mBeV7Sai8pcEqcy24pKLt/d9oTSd6uEoZfK2rY3CffdKr5bUywrJTTNcUat6xY3veWTPP7IDxgeOoTvuyxZupYLL7l19o3TEEnD/Hw9JHkeSco8PD2SZO7Qq/nE632EOum7vcbtO47LskzQoq2qapknRxj6wiMj9a+YyaVeluXsHXbTikWr30xRhDytEDYQ/hq+52DbAtokvD2En8bkKpvgiqjYdiX1iWudACmqhhKI48RRNGE/sqxkyauVK+A4NRISNM1A0ww810axCplXh+NUMAwrg0SBSFgShEpVnPJV6kpfdm0cWVZQ0opGtTqG6wi1KlXVM2UrNwxEchjHKX/jxN3F1Y6epVz7zr+gWj5KqXsJ1779C+hGAUmSCSOfsy56J5KspJ2hxCsvPc2LD38ZWTW4/NY/4LyrP8ae5dewcuXp7Nn+JMd33U9h0aWYaoDnlBk6+DxSms0aVpEo8DCsUqPzTsSqWhSJ9nUDIEXVhUa5JBOGPnEccPTA5mkv5MIbP9saVpBGcvQ+5NqrJ3zDpgsjHqRfHYQieGbX63YcJBlz4bUw8BLh7n9G3to6QZhrxPu+OW2yAbBkzdUzbr/rlYfJF/vQzSKyohCGXkZEHNz/crpyKuLSmz/L/d+9E88GVS8gqzpP3f0H2fe/+M5nshVugP++V1TbEkli8eobyHcvR4ps1q6/FdMqcu/3/5Tjux6hd9UbIXSojuykY9F59PUtRJIkYTrlO4wP7Sdf6uW8CxpQu46+ZRw7uIVi5wBJHPPrX36fo7ufZO35v8Xq09ej6xa6WeD8qz/MKaddTkfv8unvYRzi1sZQNQO9TWnLOmxKllWsfHsrdw3zQAUr396zlknhmrO7lG/b9AyyrJIkYqVx4ZJVXHDZzQDUKmMc3PcaD9z1TWqVqf4DvlulMjYoiGayQhxHoiIhSROqKXFqKFQfcOvEcSSJOPTTBCVEllVkVcMqdJNXNDq6F2NXh6lVh6mODc6r2pHEEbXKOLUKHAUMs0ghr1PQfcx5eHhMDWmKlGs9NCWga2AlcVTn50+dcKuST99AP1VHwi0fJQpdAmcqgVlMqCYNyFKCnu/FLR8mjnyGjw9jFXtJkpgwcCkWCmgtPCuSafx0ZFXPTjGOJdpFxEhSzIIF9WfzJBPN0ggSEye0cHyZmu2kog+tCdjthKoaFDoXkCv2kSt2I2dqX6ka06SJQ5Ik+G6FKAowc+15ZkDDA0PTc5i5Eu1MCevy13EUzsEHoyGzLSCW7XHMhAeQUFSz8l1tcsaEeWiSxORLvUHk7SeOozlPwoPAIwx83vz2Owl8l1xe4O4PHniNru6BtvYRxzGKNg/38HmZ8zFPGsU8Tf3mwfWYyxZz9s5AIp7JyHjyvtvcvyTJLRXy6vuxrIIgXTvVTOFppmQDQEnnsaqqT2sCWB+zmkM3LORQxbHLmFYBRVGm9Zhq8Diq+L4zhQheP39JljGMHL7XMOFrPod6pcI08xPM/+I4ypIYWZbJpZK2dUGW+vNb57a4bo1crpQdV9X0FIJVRFE0DN1KKzI1DFN4bvieg6pqhCnMOgz9kyKHq9Yvzip0o6o6cRQKtn3TZGnXKw/jVEdYs/5mapXjuNVBFNWiVqtwdPuLDO1/Cq98MX5qFDK675epeonoRot9a1l+xptYcdoF+G4ZCfDcSoq3i7JOKYnjLAsTMKpIrBTXxqiMHc4kQFvFqnPePOOFxru/9BsrWxo9U035Jkcc2Dz/7WvoWHw+xUUX0rPyOsyOZe0fRJJRV32aoHgWynMnpogFgrsRDT+J0tOam6EaRVaefRO7N7eWHT66fxPm9Z9sSJ2mUotJEnP1bZ9n96uPAgkbHvkG93/3zmy7c67/Q4YObWXfy6LyMbDsHIYHdwi1J6PI0tNvpjy0i1r5MKe/4XbOPO9G9mx7GkkVWMUnHvgm5aNbQJIpFDtZf9nHOX74VhafciZ7tjxCefQQA8vXs/jUi+jqXcahPRt45Ed/QkLCLR/4ey6/5Q+5/BaR6AwdO8i+TXdRHdrONtlk7dkXc2jPC1RHD7N6/S1ZohGFKVa/Sd0pCn08exwj1yHKkHGUitK0eurEMBOlyYlhFcUqZX0gmaFDjqMQx04x121OHuqJhlihnX0QPrR/O4f2bwfgbz//fgaWrGLxsjUsXr6aRUtXc9pZF/H4gz9smWxoRo5i18J00Jo8OYuzTjGJQuEaH4rVHSldYKh764iqZwKIbcLABV/IBKu6RUfXYnK5ToLAwy4fx3VaS/G2E55bxXNhGDHhtHJ5cgbkVBddnj/BvFXICDdyZpkrylJEKQelXA8xKlGsIEsxjidRGdoj2igtkg2go6gShd0E9giRX6U63ICeqpqJlj42UpN54eQBth5mTkD6ZFnmZKtBzTW8JI8TGNgeOI6dwvVOrDoiywr5jgVoRg7dEHjrRAK31vQ81d/zSRGFXqYWJ1SmpEmTtSb9pzSZjuOIwK+JRRlZySCHjUOl703Wt4hdZJyJfCcgpWNm676l/v8gcAm8Wuq3oaQJU6NNq0jiGKc2jKrn2haaqIvHyIqGaXZmDuJxHKG0WbGpTxxHR45w/z1f59bbPk0uX6KWxBw9sodHHvw3FgycQrHU09b5zA9GNT+n8/lJWDGvysbJVAea5ghzyk4EjGoue2/tIt5yv7N4eGiaIaA+TkX8BLNU+mRFFbwELUcuV8R1akRhkCpPNR936jOkqhqyXMBxqhiGJaTjpzk3SZLQdBPXqUDChP1n55ImFIaZJ/DdhrFgmhB4np3Bp+qQKsGlEGpWeko3kCQ5g4j5vjshudE0Az/ddz2Z0TSTMBCywkYqlRuGwmQ1DANURRPzmShAqEYKta+TIYergpjAhIGbyc4e3v4kulVk4fL1HNm3MZscus44q9Zcgml9ASPXxamrz2H/zg2MDb6KWVqGbvUiy9oU4mnv0jdw3iU34bu1tPyroyg6cmpAUp+EuKnbcUZTSmJq5eOoqs7erY9NexGakafYvWLa7+Pyq0ijT877Js05+lpLyTbH2P4n8asHScYTymMbGd3yDYJIp+f0d7LkvI8gq+1h9rX+q4nOvxvphdtO9Kzh4L/CNMkGwPprPjltsnHs4CsZqX9y9C0u4bnj7H/tqSll1KP7NmKXDwNwwbUf45zLP8CjP/48Y+NlLrn5c3R1dPD04z+n7xSdC654B0/d93dsee6/AJAUlSQKUdUcl7/jq5xx9kVs3fQkruth5orc/V+fx3MqLF55IW/5yDcgSXjtxfsojwoeUXn0MJ19p2R9ZanUwapz3opbHeaUtZdSGT7Ag9/7PcLQ58jejVx5258yenw3dnWERaesR0IWnha+jaLqKJpB6DtCBrfVClRTxxRHoSj3y4qAHqSSkvVJTUO2Np14pJ16FPpIipIq14xP7OwyKdyGVGWSxHj2uDDMjKPMu6ZdrG0YBhzcu42R44d49omfQ5JQKHXjOa1XkJO4LndLSvgV5xBHYZpYNK5bVrS0yqnRKjlp7DTJ4Fhh4JGk/YuR6yCn6pS6FuG5FTy7TLV8dEZe1+zX61Mp+9TrG4qqY1l5coaMpXmYco3XXRFmUsiEyClnI2xSu1KU1quwshTR223hd64kCJN0hVBC0yR0uQHtkpOY/sWnAEkqczs1cckbfkq3aBMqcZIiQcKL68lFjGPXiCIbOPHkT5IV8qV+NN3CzHWSK3QhK/qUiUNj0STOfvKEBM8eQ5IUcsXeRjsaldj6e9X4v1iMCLwyullEN4RMbhQFjbbNHjtNf4SBA5KMouqZ8tS07239/JM4rSjGKKqOa481KohN/UuWQDX3L5Gf+oRE0/YvWfu0H/EcYYgm4CUuse/IcRgQBF7bSlS+7/Kf3//LTBb63rv/cdKlyTP6H0yIZH5VA7EyPHc3yPnlGsm8tpvz0aR6wjuH5nPcf7vQKCDl5bUHIZvJcbweiqKm6kpl4iSZQB6fHHIqAVvft5Ur4vuOIII3baek1Y3JlRJBrC4Jr4p0MXy6aoqiKEK6OiWET4ZtKYqK77sZzwLfTVWoBEQqiSdWKgwzL7w4ooAkTrJkQ1yLSEhsu4yiaBOqNYZuZddoWXlkWUZRNBRVxfNsLLOAphkkSUIUBiiqlvE6PLcm+p1EESIRqbv4vKp/gOra4/ziu59BkiQuvuEz2NVh7v/e7wFw0Q2fYsUZ11DqWUoSR+SLfRQ7ukn2Buzb8iBSHHDqGdczNl4hxqK7bzHDXUtQ9S7Gj2zMDmKXDyMh0TNwassTrX+mKKIzSeKQMPSwK8MYVhHDKnHs0NYp29Xj3Cs/MguE6p7fHBkLiIvnMtvPMbL3V/T199JZ8LHUACc0qFZHqG39Ctv33U1p+ZsYOPdjyPrsWDll4VvwF34I9ci/ndB5S4N3wdlfm5YovnDV9IlIGHgcO7CZhaec1+I7l0d+/Hkqo0eyzy696ffY8txPOLilwW3ZuuFuXnnmR7j2OKqaY9sLdzN04DnK6Urua0/9g8BCShLdiy+gd+FaRo7tom/JBZy57lK2b32Bp372x4Shg258kbXn38berb9m9Tk3kcQR5eEDrDj9Ki679feJo5CVZ17Lr376BbZt/BmnrL2Sq277PJdd974M4ue5FfqWnMWxg5tZuuZSdLPAXV//EHEccf27/opT170RzymTy3e3TZ6s46c13UqN/eoThEmmWxOeWMHPSJIIq9BNS72QCROQJIVdVISfRaGHJIlSOWmaJjizDxIr15zLre/6FIVSF77v8uLTD/HYQz+c4BXRHGHgMD5yMIVCGtQdXqmrUcmKGESoJ1wRUugjSUqqTCUJfFGSEIU+YehBEiPJKqpmoBk5QSafNKDoZoFi50JKPUvwnHHc6jiuM4ZTG531GmeKKAyoVsaoptmHLKtYuTyWoWBpIaZcm5fK1UzhhgaaEk3hWgSxgVsWIg2SLGNoMx9Xlz30meZnUoIyi5v6byoidNwwhx0ouF6YykmeGCyqORRFo9A5gG4WkRQFVVExrM4Z1dvqSbuEnHEsoshvW2UKmsncUOgcaHugjuMI106lrM0C7U4yBaejgpXvmuA4PtUEcGL/Uk9iBJSznf5FHCtMFbSE+lxMQkIchVIURwT+VD+B6SKf7+Dq697P3j2b2PnaBk497YJ0AiijqBqLFp+KlWthbNMi5su9IKGll8Ps8RtSsEqSOSlFNbabS2NpjmpU7ZO+RXu57URLluUZHceb9ykrCoZhYdtlDN1qSc6W5amJka5bxFE00elbFV4arRKJOoTL911ctza9/0eqvKhpRkvYlqKoE3gdWmoOWG+n6fUKRqN/0nWTMJBxnKqoQjQlFZIsZ9UUTTez904Qzh00TceuCY8Ow8xlkDA7JZl7ro2VExUU0jG7LpsrPhfGn7ZdIZ9vDyI+OVSnNszh3YJ4O3T2dnoXrs20w/uXnk3vorV84HP34VRHkBWVqu3x6jPfpTa6D88ts/S066jufwhb1Ti+/WckxKj6MSRJptC9glPPfTNLVpxD4Nu49nhajq9PLOT0YRUrKq4zhuxpGLmS2L6jH8PqIAw8ju5/edqLWHP+O2a+yqEH53Vz5hWygVqYHQ41uv9JCtIY/fIBiKEoQ38JPKmLEf8olS1fobbz31j51MIcYwAAIABJREFUjidR9Nl/XL/v7VQHX6IzeWnWttNGVCUZehSp/+aWX2tGiSWnXsbBna2rRId2b5iQbERRgGePI0ky3f2nUhlrOEX7Xi2FI0HXgtUYVonBvQ0CeBja7H7xR9m/C72nEdjD+N4Yy9d/hGtuuoMg8BgbOUZP70I2PH0vx44cIN+1AklK6OlfwnmXvJUr3vyHADz4g99nx8sPcPqFt3HdO76Y7ffIvheJwoDhwV3kij0c3L+L0eFDLFl+Ol3d/fzW/8/ee8dbUtf3/8/pM6fdtvdu742FZRcWlqUJIiigFFkBE40hGr8SYxKNSfxqNDExmnwt8afRqAkasQcrCoKgoEhnkd4Wti/bbz1levn98ZmZe24/54J+8/g9fu/HAx5wz8w5M3PmfOZdXuXarwoMsKrl2vSxb+M5VXyvQaHU0xoJnEyidnByqUop68WNX4YT3IaQDjZLXZO8PkkkiZDP1UwMa+oH9EzHrRsWl7/p3ciywr5dz7Bo6Vq2nHsZVrHMzd/996neVeDJJUGEEzr+qd9GHKdd4lHX82zqEQYuYeAKLKqiiQdeitmVUghI6LskOOm6ISPJMnJzkZKrhRgUO+ZQ7llA6Dt4Th273o9Tb9+4bXzEcUijPkKjaXii6RaGYWLqMoYaYSouquRO/SbTRJSoDB/ZQ0KCXuhB0YRySBT4ePU9uZJVsXPJlLyQ/9kh4ccWXmTghjKeH+F5bgonmj0UbvKPkih1zKVQ7E4VmNTcjFP4WLSWWGYJvKabGNaclpPE0Hfw3BqaUWwZkgRClc5366nCXKseFaNqU5OpWk01ORxVp1MxrNZJoIFvE0cBxUrfBPJ4IidRqAu4RjuwpJVrNrF42TpWrtpET+9CSuXupmudFUvTX/tR4vVsJxuzKDZm1cmcnadHuzGLQUWb27cufQtpAdGy/K3SkuN4swxuNnkIQ38MDyLdclIHb1lRhLRuOrHQDYvAnx6eKSBKTkrQnsj9AFJaQoSiajmPI2kyAMyKmmZDQLGdMOYNw2BMsQGieLCkkpg6FCtj7ldNM8TkP0nwfTeffiiqgCQL/4yG4J2oGnEUpapWdeHj4buYVhHHrhP4HsVSB6ZVIvBdLEu4jwskhyumMW2GWij3sunct6GoOkvWnoUiq1z5rm8RhyGFypycwPqbX16HbnVw4plvZvXJV3Bw/3MsW7sF3SjQseAUNKOEapQ59NxN6FYXiVlhxaY3c9Jp56HqJr5bTzHmCXEU4Lt14igUcp0p612SFOI4JPBsXHuYQqkHpz7IwT2PiJHzFNG9cMPUZxhWkYYfaPvCzDrmvQFmUMKIgwZSOEShswMY61VgJEPM14ZI+jSOxgvZd8tWll16q1CFmSasuWdS3b6SyHsW5SXgmOMjt6JMUWwArD31DdMUG9s49VXvIIkjfK9OFIUYVgVF1bn0rV/A9xo4jSG+8YmLefjO/8z3W3fa1RQr8zmy91G6561l9UmX0jXvOB6+/TNIRjcnbLmK5as3cejFXSiaRt+8pRx+cQd3/+SfiEIHc85mhnffDHHAuvM+yClbLsD3PW76zv9BVlQ2n/t7qLpQXxo+JqSPA6+B79Y5/6qPURs6QPfcldRrVe743geoHX2WVae+lYuu+ivBJUgXJrPQyVvedwu14UOUuxZQKHXT6nKeJRCtS1Wm5PHGEKputYGfFpr4qma2leBMFn3zlmAVylz36fdy7PA+TKvI+Zdcw8bNr+LXt99Adbh/wj7CVV0liSMCT+DqDasiJPlkGRJJqCqFHnHoi6lHqvBhGd0psbypo5R28/LObMoJyoqUwLcJQ0/AMmVFkBVTomcSRciKhlXqEkZsnQuEN4FfpzFyrK3x/3QR+K5Qymr6m6LoGKaFYagYaoIuh2iyiypN75CeJDJmx0K8xgB+Y+L1lVWDUtdCisbLq+T024go0dLCQsUNJDzPx/McktjhpShFTRuSRKmjD6vYjWl15Am051QJ4hCznalE5pkRRzMqUo3dL8F3q0Rtkrkz7gMJFEpzWlaAGi8y0WoxlPnzCL5Kq2tFkk54gmmVt5KcH9Je6LpFnEQ8cM+NBIGQW46iiJHho7zxDz40Y5Iz64LhJcTsiN7MavoyK3hYexTxtt67bUJ5ys2dsYJAFCZR1NrUuFmRKiOP23YV0xzrk6HIqnC1H/cMztSafN/Fceo593Sq85MkCUVWMFKX7iSOJtybornhoqQSvaZVygsawywKB3DfHWNUKLYTMrVRGEwojEAUMR52qpBVyl/PJOQzrkZG6tY0MfEoFDvEGpPyQzzPxtJKecFBkqDphvDlsKt4niM8bqIwtbswiMIQ17NTykV7/CbVMMucct7bcVMjsSSOkGUVP2zguw1ce4Q9z/2ax+/9FgDFcg8nnHIJQ8NVjh7cxcKVmyj3HoeqGowcE1AnOzXwGz66HUW9EE23RCfYraUXRUYzigLnLqv5ghXHIU59iCSJ6epdhiQLPeOBQ9unPIFFq89G1aYe1UaHfoKU/O46gMncmbkTw3vvwSpYFM2pIQJSEjBXehhPX4w39AzmnJOmfU/F6EI25lAPVtIRz151Kxn81bSv9y2ZCJPK4vDex3DtYcLAQ5IkdKNIHIfEvpAyvuXrf8HA4R0A6GaFypw1RKHNfTd9bPQ8VI1ixzyeuPvLDB3bxWkXv5G5fXP58XXXMHDoeRasOg/ZqDB88AnqQ7tFcjHvLHqXnAZErFu/hUpHN9vu+RF7H/smAMtWncT5V36U87b+I3EccvTFp/n+v7+JOIm54h3/xaoNFwJgN2qUu1cT+TY981eSJDE/+o+3MdK/l9f8/ieYt3QjSRLTPXdVy+Z5GUQhiWMK5TktPwgzxZp2DLuy30875n7Tv58gDWfddNdpcO8d32fj5lfR07dw0mIjSlXIMnGAJEpw6gMEaRESRQESUhMkSps+qcp5KOL8hICFlytZielNM+9DxGhxAhmsLCsu4iSm0jUsCg+vQaPaT+i/vETwKAqwGwH2uJ+4LKupAZOGpsro4woRVfbpLAGlToJ4HmEk5RwYXUtQ5ZdOin45Ikp0gkQnjFXCWCGIIIwSwjAiDAOCwE8Vrl4Oda/pQ5JkCpVeTKuMWegUDY6U6JhxqHSz0rJULIxKzGpGEdPqaLnlK363I6iaKZLxFiPbT5jttQY9yvbznBFBbm/jN5+dn1nobMmfB0YbGbKszthoSWbJm2g0RvjFrV/N4ZeGWcBzHXrmLGjNIDGepVfGLGO2ErbJbCcbv0s8eMsxfWLeHJIkEbWoIJgXJi2EPI5nMUoer6M3OY/LiiqeHVOErpvC0M+uEkXBtDwhWVGJ4xgzJXBHTSTv7JiiaPRc84LGc/KEX5zf2Hshk711XVtAESchmGu6iQQ53yQ7b90wRRGRFiyCCF5AVlTCMMivg+c2xHfR5NvRqA/jey6GWcC0yuk1EIWR3RjBKpQJwyAn5ReKHW0Vm6o4wKLoxnh1JCQUVee5R35Cffgwi1ZuoW/BcXT0LEZSVOYuOZFdOx5hzyNfRSJh96PfzKExHX3Ho+kVCt3LMTsWsWTVKUShj+8mqKqBourTjmqzyUahLNzFo9AjDFyOHXxuyn0WrZ7esTs5+tPf6e9T6jxtxm0G996FEteoKAdn5F0a8X6ipLVEyA9ikkCn4yX4r8iN50jcw0jm5DKD3fPWTblv4Dt4bp1y5zwy6VpBsowZPrZnjE9GZe4GTr3gT3nqge8ydFgUR4pe5Oj+J7jjv9+bb3ffjz9Is7vKwR2/zP972XHnsP6M32Ph8lPwfQfdKHBg3wvcdsPXkMurWHbyW5CSiMUrT2XvrucolsuUimWGB/blibTTGMJxGlRHhqh0dHHhVR/AdRp09fQy0r+Xg7uFgd/2R2+mu28FO568nSj0OWHLVYJzMU3EUYDTGMYw20sEfK9BGLhtFieewGqXul8WAx6AY0f247k2b7jmfdz5069z7PA+Tj79NQAM9R+eYi+JKPJF8s+oslwYepAq72i6RRSFo0o8qVJPs7lfBrXM/HbiWIyjhY9H5qw69S97VNVHJP5R4KX8j0SQvovdFCuC+xH4Lp4zgufU8Jwqdr2fOPrtyLXGcYTnNvAmQVlJKRFYUTVURUFRZFRFQpVBkRNIIsJYR5ZiZCJkIiQpGuOXMdtIkIlRiROFOFGIEoUokQkjuamQCAnDgDDwSZIA/i/yPSRJplTpwyx1iwRBy4y6EqLQw2kMCSx3KtnuuzV8L509NcE4hNwyZGRnSZJT1cMEw6yAJBLzVKd4lMeR37MpRLBJLrZVcz6xn4AxJUnc1m9XcLKqwpun2N0ylJPMByiJKZR7256CiObHzEVbHE/ukDxTDPYfBBKuetPfcvONn+fCS96BY9d44N4bW7o2cRK35Vj+UuOlyOW2OxVI8n+1ES0KgbyUkKR2SN9SGwVE6x4esqIShQE0oZkURaVY7BDTipSkrcgKYTj9dFlR1HRiYRMqQq1qsu9KVXXhyaFqmFZJNJjs6phpgyzLYpLSNAUQruYhjl1FkhWCwB8z3RAhTAzr9SFiO8S0ShMgU65Tz+FZqqbnBRaI+9JskgfWjYLYTtXy7VynTuzaFIoVocpX6sRuVFMBJxWrIEjnhUIF0yrRqI8IqV2nBgjiezv+GyoIBZZntv2QgcPbWb3xYnrmruaZh35AGLiYpS5WrD+fK669nurQAZIoZvVxWxh+xV8QBR7d81bw9P3fQpZBLy0hTiSO2/x7rFy9DsPqyDsUcRziN1LFHVlBzsiiTYZenl1NOzVVSITzsKpZjAxM7frdu2gaCBUg1abmerzsIWlI1oIZNxvefz+dWogat2ZO1qp+u+e54DnQemNskkhg6AGYP/mERre6UHWLcAoZ4vrwYTq6F034e9/i9bzisg8weGQH1cEXGRk5yrbbPwuRh1nsY/0572TuonVs++X1HN3xMzrnLGfusk3UBvZzcPdD6EaR897wD1S6F/PijgdQNYPVGy/GaQzy7U+/Hrs+wJkXv4dnnnyAgT2/pjJ3A5e85ROYlsWu5x/l3h//PYE3zCkXfpiNm8/jinf8F0gSXX0ruO17/8KLT9/I/HWXcdGVf025XBLJfqWXsy99P3b1CGtPvpT9ux7k7p/8H0BIvK7fcvWUD5rQd4QZYIvO3pAlECMkSdKe+ZbXIPRtzGIbyUoczQgjCnyP2278Mpdc/S6u+qP353/fs+NJhgePTLqPJCvoZjnlX8iYxU4kScJ36mnSJooPo1DJr0tm7JkksYAkpaZ9siKmHgIaIdaRxHeJJC8nmmceQBkHLIs4jogCV8j6IaFoBmY6ARkfmm6h6VbuFp9B3jw3Kz4GZ+Xn0W4kmblp4LU1u5AkJS/WJFkWkyBZmvLeTJKEOI5FMyCOxAM9SRDFw/9MHohhljCL3ehGQXxfRhHdLE04x6zoNswSmlEag/lPsmytSVmKdAKWJe/iIV0Rk7lU0z6D7mU7jv4tnZSlUzZx/RXBDZpCuSnzkpEkGQnx25UVFd0oj34XTcX35DyLGKc+iKoZmFbr60QcR7iZhK7V2fJ+s5mCxNm5tBlZFzcBFi5aw56dT7Bu/VkMDRyiOtJPR+f0pqpJHLcN73hpMUuZ3d+hot1sPqstArsktUz6lqTWC4i8iGkhhAng5Gu0rptEqdmeoVstFWxC1SlKXbYFmXr8s1VRVDzXHrNP5nsxhmwe+eiKNWFf0xKJexgmkxQbIpqNAsdDpkgVW61CCddpCF6GbqJrZi6Pq2kGSRzjezayLDzrsvcURPFarkIly0r6XnWsgihANM1Ii4oO8d8pd833HMIwEopzLU6MU58NmUd/fT1OfQBNs1i8+kxO2HIVtaEDrD/tSgqlHvZuv5uffu3PAXjtNf9GZ3cfu5+9n0SS8epH8BuHAZHY9x94mlPOuDjttoiFOY4j7Fq/INjGIVEckqRwiCjFbge+nXcKDEvokEeBy/CxPVOeQPe8tdOeoOQdaOlCvBwR9V6GNiM+N4FwCKMynrw0RSgF5M7pIVRZuI1him1ABaaKpLF96oVDklix/kKef+TGSV8eGdjHwhWnTvi7LCusPem11IYPc3D3w9x908fz1zSzk2p1hPrTd+HbR9hw9ts4+bxrceuD1Ab3cOIZV7Nw5WbiOOLB2z9PFLisOel1PPvwjzh28Dlqw0LlymkMs+HMP2C7WWbBitMoVnrxPZvuucvQC71EoUO5oxOr0Im5/BREFzQkjMTqEzjDKIrOizsfwq71s2DlqazecGH6gE1QNJ1FK7fguTXKnfNzwnEuIyllGt0xUeCh6QUC3ybwnXGJxthkIuuuuo0hZEXHbIOo6TnV1Oir9W6qgFsNQgsdpqce+TXHjuxn/cnn0NE1hyMH97Lt7pun3F7VDMxCB0lSIfAaOLUBFM1AN0somiGON4lw6oPi73qBOB6dcsiKJiabitrUNR6FRIlpWerXEUckcUgQ+mJNCf38uo7CtYTKB0AUhWJ9SQsVyJraY+/2zPOjUJ5DqWMe3XFEEDgEXgPPqf1WJx+zieyaAL8t/7zfaWhGAbPQKaB2qd+DbpamhRPGcYhnV0lIhNfNhKJSSr9mKc/fs289DDw8pyoKGaPAZAn+ZJE1B2RZERP7tIucq8pNKFKA9LvKIMVZ8p5JXzff5+L/xq4tQH6fx3GM61RHpy15cSOPXW9ShSGnPihMPdsgdwaeTeDbbXFPgFS9RgKzPd7YnN5F6LrFI9t+xvKVJ/HzW77ME4/diWmVWvLYiJMYRZqdod+s4FCz9PRgljCz/4kwKolsjW5h23alctP7fCaVsOlMAGFUItdzG4RhQJJMPq3IIlOu0rSCcCx36uiGNQFWJZpgo8eX+V64bkNAkFJSNpPU6MKUr4LdGJmSdK0qGnEySuRuLjhUzcidzDPuSAab8hp2ThAXhHcX33cBKT8HVdWF0pRnYykVMnd0MfWoYRUq6LpFEHhCltcsCYPtlPMSRUI1UEkNfGcKFYS849I1ZzHcv5c5C4+nNnSATee+NVWP0rBrAzlRR5YURoYHefLeG6j3P8tQcS6yLKEaZYqdy9ALPaw44ZwmfKVY3JX0Aa6oGnKsCD3uWHRxNKNI4DXo7ltBELjEUYiqmSRJwuCRnVMaTgEUKlO7iib+UYheHunEVkKat3XGbRoDz1MqWlSsRkuJQXD8dRjyzIvnwO5fUh/cQ29rJqszHOTz077c1bdqyteG+/dO+drN17+Lw/ueyP9/3pKNApb39J08f+9n8r9XjzxJdXAvh/Y8jGePUKz0Mm/JRkYG9tOf8neef+yWfPv1p19NuWsBG896C6pmcMLGM4nCkF/99D/Zt/0OFq4+j61/8hWcxgjzFizj1m/8JYf2PMKStWdzwdUf44LL30P/GVvpmrOA0KtxyzfeDUnC5vOv5bRXvytPTM1CJ69/x1cmnFeWUGSytqpqYBW7cmm7rHMqto1J4pg4CccQneMoQNGMlOw51NTRyUzB0sVWIk8m4lgUNbpZIvTd9KcmpGPzDneaiGSw0CRJcOpDmIUOpBZhDpIkccfNX2tp28Br0KgeS0lxijA8c+sEvo1hlrCKnTiNYaLIJ/YaBF4DVTOnNRxshkRJjJ9eeCSJWJs0XXS9s6RIJOFRer1j4sxEMDULzZOLJihEGHrIsopuFJFVLZ/AZn0p4fXhEvpC9tP3bXy3htsYIYqmH8///zExZEWlUOpB1S3RcTfLGIUKqtailHQifG5C3055C5lPUyv7xriNYRKStgjgMNrtn+DMLU3/6RncSlGNVKmtBXUl8R94bo0o9HJ/D3KY6jh1tyTM/ztJEqK0kFdUnTBwhQ/Q6Ccw2fqSppCEvotmFokCj0jy823HN0+aFbtdp6pEUTjjFGKykGWF11/1Xmq1IRYvPY6TN1/IwLEDnHjSuS3J0mZT0HZj9kaA8SxJ2/xOCgdhojebPVvnlLSrSNXOoGW0OJmp2GgNwmWmqkoZrGrqJHl0qig6/pWUtB1imFb+mqKoxHGILI9WE83yuJ5ri9/kFAVTZuIXhH7Oj2g+F0VV8W0XXbcoFMqpNK4oelRVx7Gr6IaZn5uXOpJnHI1MJUvTTSRJFopSiZX/3gUUzMexq1gFsR4ZZgG7Uc3NAHXNFMbAnihkfD9VjZRFIeikcK6ZvgPB2TBLvHLrh3HtYZzGIEmKa35i2+3s3/kgnb0rOf283+fSt36BMIzp6l3KwLGj7HL6WXTCVjxfPMBPP/tSunrmYZU6x3xIEkeEoYfvNUiSGEU1mmQxJZzGUNrN1FABP6rnXaxG9ei0J2AUuqd8Lao+O6PfxcsZcs/pM25T7FnDsgu/jBwNEw49hDJ8J1L/7RCPhS8kc15NsvqfMHpm5oAAHHjs65i6giq/dM3/pPHCtK+XuybCpLIYmaTYiFL1sfFYyQXLN7Fg+akc3PUbPNehMvdESp0LGTz4BHueuSPfrlE9xs6nfgFAoTyHvkUnUCz3cvTAMxhmic0XvJNiuZd7bvoETz34XYqVXl731v/g4J6HaAxsZ6Sjl0q5g46OLgCOHXwWuz7AkX1PiuOLY+YuWEW50oFrD9G7YB2+W2fVhgsZPraHh37xRdzGIOdc/kG6+lZMOD9JkggDD9+toxvFUX5GCzdf4NuESYJZ7BTa2+lCLB71kHdIIYd8xFGIm3VidSuFIdFEgo5IwuYiR7xTHAX55ND3Gi1Bg97wh3/DomXH8dmP/DGKqnHRFf+L22/8SqoUMzFkRZh6xlGQKlMpKZ7Wx7WrSNKoSETaEiMKfez6gCgWjEKe7EwwWYtjwtAjCn2SJEKSFBRFFVMTRWX8w1EUJpMkkOmkNfDtvEusakItS3x3onAMfacpmWvG+QuCu6qbWHQThl5eNIaBS+AJaeSX6vHx/7UwzGIqayxjFjowzTKyqqYPuAqKZrSBf08IfIfAd1IOTk/r6k1JLJTSQk/8XlsUYICUc5NOE9pRlgPxWw88e8YpTXOIpkIojPNkrS2eRcbPUHUTwyynkMQJG43e34mYpGSGfppu5R4a+VqSxCSETetR0xQm/S1HXkORZQXPtSeRH50+/BSeu2jJWkDitDMubWv/l1Q0zLpImQ1nYzYE8VEIYHt7tbdTuiy3POhp1SC2+QNaVQ0TBnetqlcpLb2vkkL3Pc9GkVV0Y/LGhpSqYSmKWKOsQll0+e26IF3LSi5fOxmRXE/duV2nQRQFyPLUUCkpleV1nZpYJ3O4lJyrconpjPC8EFMTMXURRYX4fMMoEAQege/hx84YSV5V0zFI8glJbhhoFLAbI7huPVfv0jQdkHIiu/gMhTAMyJS4opSQH4UBntuY8beeP4mVpoMS0n11+o/uonroEaTYx/M89h94kZ1P3ERn3wb0QjeBO8Lex79F4NWQJYVnCjpnXvAm7Fp/jqeOQl8kHrqZqoSo6E3EWtceRk+VqSAzOxlNgsJgar36Uuf8ac38JHv3tCf/soasI1mLW9hQwuw+Qfxn71nAX4oFPCs2kljAz+QW3VKBOHA4+vxPWTS/QkmtvXQohb1r2pcLlb4pXxvu30scR+mNLGQS48jHKHRy2R//B4f2PEoSRzx2z9d55K6v8shdXwVg4bpLec2Vf4tt13hs250UOxcwZ04fa0+6CM0o8uR9/42iGZx4xhvp6FnC3u33cNI519DRvYQd23+Doe1l8MgOwsClNnQIRZE497K/4eD+XRy/8XSOHXyG3U/fydJ157D12uuFtHKlj727nuWen/wLcZJwzmXvo3fuAq7+8xvyB88z237IC48L1/RjB57FLHTy9EM/wCx0sP70qwHwXYF7FFCm1h8gmaymWezK92veXcr+3dQtjaIAz61hFTvb0OAX5P04CpoSpGRGUmmx1MHaE07j7l98D4BypYuNp55HR1cv3/7Pf5x0H+FOqudKT5IkBCdKHXPJybDpRFOWFZAkMeVMHdFdeySV1VNzCIisCFJfHIrpj26U0slJOw/5hDiKUn8Xof+vGQVh8tbGd5ZB5Dy3TpJEaHpBTGHjiERWhQiGWaaY/kayAk+4RceCD+I7+G7jZVfA+p8QkiSnfIkiiqajqqbACKuGkPqU5FEuBIgkRRak7CD1WcmJ1+l/N3szQZp82yPCsLLY1dZ9ICBTI6i61ZZMLCT4nk3gNdriLohTTFWcJAWr1N3e8foOnlMTzYh2PjOOcRqDOb8li4mnO3Z9ieMI1xGTz3aKsOzzdLOEVij6nrMHRW2fIF4d7udH3/0Uy1Zu4Pj1Z7Nw8RraSspnmfzPekKRJMizMRBkVqit9uuTWU9P2jDqS3l1LW+fTkJaOf9MZaqVkBXRaVeUGaYgsgJhhGWVx5DHx983gtw9VuhAmPRpY3gZmSv5ZCGgSjJ2Q4gyjPfNgFHuR6EoVPRcp45hWHlOrmnC4E9JocVCotfBdRvomlCfai52NE2Y6TpOPS9Sml/zPSc3+JNlBVmWxT6ynJv4ZQ7ium7heQ10Q/jmqKpG4HvE6bkIw0DhOaKk5PMprwUIXGajdgynMchN//VOwsDlvK3/wKYzr2L3nGV09y1nwZLjePjuH1A7/CSyrGN0n4RmVAj9OuU5x4FSoNy9IO+CSFJqi55izpIoIgxdnPogZuAhSXJqvR6hpmMa8aBRRLHjNcRD3ZmaRK3q0zOho9rzk/U1fyuR9F7aFqZ1TEgykjI7rkUSBzz8rUspdS6gWAjQo+kLhZYOJ5qeuF7smD/la3Z9AM8ZIQr8PFmUZBnPqVIfOsThPY9ilrpxG8MAqGYnhtlB//4H+fFX341TO4RbO8TSDVex+pQ3sn/fsxzb/SsWLDmRdadeAcCvf/wvPHn/dzAKXax95Yd48mf/myQOWXXiazjztX9Fz/zVGGYZrXqMU04/H00v8Mvvvp/9Ox5keGAfF77pU5Q6Bd7s2OP3MHTkMUhg8Ohelqw4gepIP6VSF4qqctymyxiVIZdUAAAgAElEQVTp34ei6qxYfz4vPH4rD9z2WQAWrzodLZWds1o13EM8oAQ/QyRLrUYmc2kVu9uDfPiCbzCW1zHzsVa6BAxi2z0/BWB48Cg/ueFzXPbGP6dU6aZenWiSF4Y+qm5hWGVcu5pPHOz6ILpRwCp1i66y7wrFuchHkTUB+cj4XUmElCii8FZUZFlD1zUSLSJOPVxwsxGQlC6Y6ihZPIORSRJRKGBP2QRDM4otwVfGh/D/cYhCF1kWU1k19QiaPAQhOSdhx8LBPfBtyqmXSDYJiaKQwG8QBl4K9QrSaZWAweRqXv+XQ5aVVLTDRNOtdEKtIit6+qARRHtS7O9kxWwmACIrioDySVLOZYhTiCHpvZDEccrFGSWziw6heN849aHJIT3NEJ/0ISr+XxTXnlsXBXebv584FoWwJMltKcSJ8/Vw7ZGUK9GeHLXnjBBHEYVKu5/Zvmx2837TQRoni8wPSDOKYtIa1NPr236mWyx3sWLVyezd8xS7XniUSscc1q0/i7XHn441jUEpvAT+BLPnbDDbScospW/bL4h++xWNhEQ0BTl7qndv3dhPJp7GY605ZFltaQoiywp+WsAI8riCY9fQxzmPK7Iqkunxx5TyMjzPFms1MB3sTFFUFEVJOVb1CVApcZ5NMrQFwc9Q4whdF5LxsTe2MZUl+p6XwbTG+nGoqo5lCbJ6sdQxZv3QDWvMNEKSZCGZ69pC5tauUbDKSLJCQoKq6qkCYSKmOYqC77tYBUNYV6Sf57oN1GmagGqjepR7f/op1pz8WjS9iO8KecAo9Oibt4RyxxyOHjvMzuce5pSz30ih3IePxRlnXcD9dxeJA4/j1p2Aqur0LViRaxirmoma4sSyEIvBMaxSN1EYENT6MQsd6fQjJAo9EhCQm8BB0wvTLrLqDJ3dJPjdwRiSuZf/zj4r/8wk5rHvvpHhQ79h+XyT7oI2o5Rua288/cJhTgNdy7oWYpLVweiENeGO736IvdvvzrftWflazn71H9GoV7n/1k8w+OJD+Wu7H/tvDu/4FV79CAkxu564lXtu/sSYz1LNDrq6eqh0LcCpD7LsuHNYs+kSZFnl2/96OYNHd7Jg2Sa2vvPrzF+2iYHDO+ieuwqShMP7H6fcOZ/jNryCKPwwmm5y4uYLeeDOb7Pzqdsp96zg4qvfj66bnHHxe/LP7OpbzoJlmwTsT1VnAcNIvTDa1NMPfAffrbUP3cgJnu1NXQAOH9iF5zlcdMU7uO3G63DsOodf3AWSRKWzZ9JiAxJkSRZE71K38Bghxip24XsN/NoAmlFANYSimaYX8gIik0QU5DOhIqXpVg5xGvMpY+BhYf5PpkCV+QUliTANVDVTFCQS4m9MDtUa+xkxoZ9i3CUJTTPRWybiC0KyJClESSy4IlGImipficZEksIVMmGBaIzrckb8jgJfXJ8mBaTm6z2qYuUQxyHND70JikhIJMSpm3uSFw6ypIAs54R5iVEFJVlR0TQr5aRIaEYBRdXbSoAFFKhGksQTCNzi0BQUlCkShdGpglXsFtKrObQwTtW0RvkLcTJapJAkBEGT67wk4drDY69JEwchEw+QZRkkkeh4djXlkbTnmus5VaLQm13ybguxCqtUoZ3kL/Bs/LSx0O464Xv1tongQhJ3cEJhM9uk3zQKnHnOGzj3/Dexa8ejbH/2QR6898dsu/9m3nrtJ8ckg+PjpRj6zVbFavYE8dlfo3ZCSj+r3WiHgzGGs9PK9rLSBqG8Ha8NWUjRTsbGHrfdqI5waiibkscFb6KQHqeYlEx+XEKaNgx8QQYPwzHooImfKcz24jhK1a3KYzgcqqoLVah0elEolHFdG8+zx8GlRj9D1y1C2cexhQGgrI83/xNqjuOVrDRNJ/BdAZ9qei3zxjHNIq7bwDCFXG6hWMmfMZ5nUyhUiJME12lQLHVgN6rouknsOSl/o8xka5bqe3Wef+wWehedwNqTXsdFf/CvuI0RVhx/Hkjw1Laf8Mz9X6UyZy3nXfVR3MYQR3Z+l5t33Io99DySbDBv4QdYvWY9SRKLBUeS8L0Gge/kSdUYUlmS4Ls1CuU5JElEHIqEQDdLKKqRu5mqaZdsyi9whu6Uor40B+V2Quqama/xckXkN9j/yFd48ZHrsIf2smDRYrrnaFjxEzPv3ErMYIIYRdN3WXNTrTQyFZjVGy8aU2xIscP2J3+J49jIisKyDVuZt/h4rFIfO56+i/1P/YBi93LmLDqVQsc8ju19gP5925i75CTOuvwfsQwL3VBZce31yIpKtTbEg7/6HnMWrKHY0cvg0Z1oZhHPGWHjK/6Qk15xDUgSD/7iC2z7xRdRdZPff/cPOfWsS3NC9eCxPQwffATdEryjI/ufwK7207d4PcVKH/MWb+SSt31RyEJbHW2TSn23nvIzWk8+PLdGHIVtdVUzF+MkjmdVaIB4AN/1s+/wmsvfxroNZzA4cJiOzjmMDB3l4P4dk+4jSYogsjYG8054HIXYtf78vhDiECGSJOPaw2lnRYyxA98R007VAEnCc2r4XgPdKDXxOcgTRSB3LM/6haomoDtyNlpOk/Y4jtNCJOueNx/3KKk+g3YlcSzUtYpdbXuXjE4tRjkhimWM+x6kMcubJCljzBjjOCT0XRISdLMsrpGspJ3BOJUUj3LRAVlRCAMPRVYIQg9Z0YgCL3VuFzw8SVaRSHIzxVwVrUnNaMx5xCGB74gHYVqYtNVljwICr0ESx6LIbCdhTwuFwHdQVWPs/S+lPd6sSJnss0M/vXdG4XJZ4yPnH+S8gyQv7uIoJIgCwtBD1QxkVUv5ITZZwZZ+ePpMywQMpNxQzvdtAXkoCInZJI7EBHuG3+FseB3i+OMUBSCl16l1XkcGCWx3ahOkE9N2YWXTHk4qJTs8fJRjR/czPCj8fIqlmaV643j2HhuzV7GaHddjluSLWUabO7Y9PGlPYUqW5XS9nvl6Z6pQrR2G3DLkSvAxRk0AM4K14GTUhHdP6vw9nRqWqumYkoTj1MQ6oxtMmmhrGlEU5qaBntdAU428eFZVTRgQ5lIkIukPfFfIzaZytuq4gkZVdYqljpwUPt7bRtdNkjjGcxtompl+nuAcxkmMlbqaa7qFblhCmapQRtfFpEOWVYLAz5WtsoLMTNWvgsBLyfO1fDriujbmJCp0qqLodPWtoKt3OYVSDyvXv1osIm4DWVYJEx3N6EZSTRRJwh7Zi2/3IwGq2YOiGKiqSbHSR+i7+WRDN4TNuedUCXwHs1BJcbsKI4Mvoqg6vltD1URxMT5pC3w7HcVPvXjMtMBFifS7IYhLKnJx6YybPXHDVkK/TufiM+la+goqi89EUdt3en7mZ+/lwGNfo3v+WnrnaXR1KXQlL1OhAZBMdLVsjmz6NVlIsjxlIn3cKZezasOF2LV+nn34Rrbd8SX6d/8y25FlG6+i1L2C+vBBtMoKNl/ySdauP43Orh6OHtpPcNL5JN4gcxevR9VMnn7w+9z/s89SKHVzxTu/wd03fY7DO39Bz+LNXPmOL1Ad3E+lexEv7tzG0JEddPQsYcnas5ruKbGQufYIURyiqjpnnv8WehccT9/8ZTRGDnHjdW8n8GxOOO0qzrrkr3ODObPQAZAnzdN3yZOcIN9O4p9xHGRZaQtuBQmePYysaBjFjjb2mxgP33crjcYIJ512AfMWruCFZ38jYFVTdKZkRaFY6UvNPOvEcZh28hWcxhBJkqDpZgqhEkVtnBJ2dauMVewaIxdsWJUcehN4tugwq4aYOoQ+oe8QJ6I4ETK3k60JStO/J0YcR6kvSkOMiTVDTEUQsJ2oMQhIozCtvPud+nsgksgEMREOPJuERBBsja62kxGRoNs5yd60KhMgSZKkCIW/cfsKZaQEJTTx3BqKoqGbRTLD1KwwyUjtmcdJcyKXnWMSR3niq1vlPBEdxVtPMxVKp1VRGKCb5bbcu6EZbqW1zcvIJGmFn8skU5S8yJvsjkgIPJsojCiUeibcT80TNSBVnItz3xohRSujajpxHItpTrZ9029m1BdGapqiiALVKnamiVM4qi43zT2UmYfqZnGsMtaM10lwSRRFE0VRG5EVX+1yUGaKWnWA226+jqHBQ0iSzNLl6zn+xLNZtGTdjL+jJJm9e/jsieWzg0P9zkJq3/JTKFi1N9lod/tWXcSZpAEy7XFMI3/bHALWFE1IzjNOhus0UFJY03Tk7uy9ZEUVvye7hmlN5AGKJptQRpVlBdMUSX4YBRhNzfgJHAvdRI5UoSI1xZRFNPVSeV7dHCOhq6q6kK1NHcUF18JE1w0cp4GmGbnfhzgOKffdMCQZx6mJZ7hmoOtC9cp16hRLncLorzGCIqu59G7mwSHLSl6g5MdS6V7Em957o1BPsYcxCx1su+NL7Hry5/Qt3sCm897OvEXHo+oGrmvzyis+xJOPb6Onu5tS0aTS2UOxUEgTiRjdKInRs1MV5EndIgxcGtV+FFXD9xpoeoFCuWfKcW2zpXwyjZ69PIMkrNKifOJLjajnIrQZjiWJfQb33kvvguX4h2/jxf0/Y3jgEB3zNzNnzSX0Hb8V1WjNX+HEy/6DpesvYeg3f8ucQhEreerlOI1xBxyANHkx59nDU+423YNn+6M38/AdXwLAtavoVhdmx1JUzSCwB9l+z+fYDviOgL/F6y8h9Pqp14Y5uvs+osDlFZf9LTdf/y58t4FTH0ydn0eIA4e5K7ZQH9pN9/wTkBWdnnlrAPjl9/8euz7AwhWnsmj16aw/7SpOPe9/IcsqnlPjGx+/ENepcvYl7+Oks9/CaecszeErC1ecxoGdD9IxZzEjA/u4/dvvIwwczr3i75m7aH3OM8iLM2kUliESCSWHCRqFCkkcCuV8KVtEJy9ScuMu3confa1ExgdRVB3dbE8JJotCsUyp0k0Y+LzhD/+Gb37pwzz7eJOP+zSLfxh4RKGHougYVgXfreG5NUiS1FVcnLNV6iYr9jITPbchphyqbgpiYBTi2MPoTeuIXesX75NOC3Sr3NaUaDSEck7gO0SRUPOwSt2TqlrB6CQhicJcRjcMXAHbSR+cSWpeqhlFdM1KE/YQJCW9L5j0vZuvne/VIUlSr4n2IDSkUqV+Sjw3zPKYZHm6KVymaBYnQm0pDoRSk2FVhCFrCoHKI+NjSRKSrArVsbQIC9NCUzeKWKX2+DGiQ18jjgIxCWuzYy4kaUWXsd0EWogUDAsu1RRwufFGe5LS5CDeGEbVzMk5QUmST0Oygm+UzyMI7xnnwffsFCY2SZHSTJ5PJ3HZ9EbwgIIxU6qpjAEzR3Ah3dvec1LAnF0KpZ6WE8FWw7ZreJ7NKVtey7oTzhQTjRZDkINnyZtss9jYsfco257Yze79h9m4bjmbNyyjr6d1f6RZFygtHuN9j+wEYMvGmZugk35GW8VDe9K37UCjAOScUD7zuUstKl3JslBIZJImiOBklPE9Bz9w0VR90u2atwcBa4pTZ3Aj5XKObiOKvuw88klKSlC3CuUxUKrmyFSoHKc+pYmeULQSXlJx6rWRfa6cTnysgig4fN9B1y1kaVTlSvA7qqiaIfgYqoasKFiFMo3GiCCHpy7lcRTmfh6mWcxdxjPlMEF4bwh0QTNUDMRDUjOKePYI9ZEj7H/+PkYGX8T3HS5448fY+ewjPPLzj2OV59Kx5DxGDjzAsWIX51zyPuYtXJ3CQ2o4jSHMro68a+k0BlPlF1UUGm4dz6khy4ogiCrqqBOwJDd1nUYP0PNqU37JM0q6TZEsv9whLbhyxm2G991P19wldBRjusxBvNiiZHQQRHsYfPpL7Ln3Y/Sseh0rzvkgWmFmffLKikspLjgT7jr+5Tf9lc1pr920xcY0i+ijv76eoSaDxu7FW3jtH3wcRVbYdt9t7Np2HYE7TLn3BFSzzP7td7LnKWEgp+olzGIvjWo/B3ZuA2DDWW9i/pKTMIqdFCp9bDrjUk57xRWoqsYzD36XQ/seY9O5b+O01/wZ+7bfzaJVp+M5NgMDx+jplal0dKfjVHEBA9/GD3x27XgOyzJZunwtl/zR51O+RJ1jB59j6JhQOBPwpHHclVznPksmIjy7imYKz4Yw8PJO8vgiZbzhX+A7ucFORm4GxhYp4g9NHy86lapmtlWgjA/XsfmDd/4Tnd1zUVWNM1+1lb07n+LQ/h24rs27/+7L3PCVj3Fg30Q/FkXRaNT6kWUVWVFRNZNSSuwUSYpHnErdmgUBJzNSiFB2nUmSHLoUhT5OY6hpHdGF9C2iO4yfECvhGBfxyeBAWYjusVA+kmUVTbdSbtH0DzIheCFDWtgImU8xxZAkCTXllmRk8DgOiUMvTyqz98iK0QxiJvgpAb5XR5bVCQVCS5EkubS4MEStzKoAC/wGQeCi6wW0YmHKayj4Hpnc8qgLuWtXieMwv2/DwCUMvabEN1WWygj9zT4NSDnMUJ9FoZXEEa4jFF/a9cwQ5y7uPbPQMYsCRyhcTUsCb7qWkiTnRUoYeAS+Q6HcM6O63JgiJYlT+eoY3SjmRXsug50S7Cca/o2uL2qqWpOvL03QsNH1Jf8XpFK6SSKgmS9noZE52lc65nD1mz+IqmVGnKMPt5nu6SSOkKbBzc8crZ3PZ776c/7uMzcSxwk9XUUGhm6jYOr858eu4YrXnPxyftSs47PX/xxJkvjWp/94ViiqduRy250Iye0WJ3I7xUZrilSyrBDMUPDohoWcJs5KmmxPFdkERFV1TFm4cGuaMWbKIHwpoomTC0XFtquYRgEv8pqgVGPPyzJL1OtD6W9+7DaqquJ7NlahIojjKecCJDFt8F0sq5T7jHiujaYZOWxKSPtWxCQjCvMiRJYVCqnHiKKKNVs3CjTqw0iShG5YaJqB3aimPiDV9Hca5caA2femAti1AX769b9AQuIVl3+AU191LUdffJIFy04RFzEWlWKhazmB59IY2oE7otGojyBJgsSp6RaB79CoHs3JcLpRRC505MTAJEkodc4T3UlZzfkdGd6a7CGcVp1OY2ja5LX/4DPT3iy0YIb3coTUOTNfY3D3HVi6Qq/xAlo0hAV0phNvV17ESMcCaoO/YudPHqHnuDfQe9K7Z3xPxewhOvNeuOs4Xh5muIhEnzvt643q4WlfF9K3E7tqZ1/2IR5/4KdUB3ZRPfYM9aGd3PKND4gXJZnetVdy8uZX0dO3AFmSeHLbbex48meU56xjzYZzsAyD3nkLcUauJfBtTj7njyhW5jI82M8PvvxuGiMH2Pzq97B63Snc9eOPAcJk7qI3f5rl687FsCr86pb/4oVt19O18BQuecsnKJXKXPVn38Fza/QuPJ4n7vsOD9z2ecziXC57+5cpl8WkrlDuYdlxr+Dc13+IJImZu+TEiScuCTU1BYWIAK8xglHomLFzmLtix3EKPRzBsDpI0u57TgzOcOWMugpn+HFJkokCP1dhCgNvzHfQXKSIQ50GlhFH3H7jV7jw9W+np28hW865lC3nCL37rKMxFYY1DNw06Y5Tc7xRR2az0JlClmx8t5HzOPRUCGJkYB/7tt8rvDQCD1W3OH7z1nQd6Uy764K/kE0WosBDUXUxDU2hLJIkM3DoeQ7ueUSY8kkymlFg9caLQZLQNItCG47r469N6DuEabEieGZafo5MAm0S33GSQ20yXoBTHwBJEBRJMuhRA8l38uJJTAuU9PsT3+3+F+7n6IGnxfGkkssrT3z1rAqVJEkIUn6dqpktXZcMOpZFFPqETiOdCHSNmViPnnMymizHMUHokCQRJKMJpfBg0omigNipkRG2c4WxpmvQHFmRoqW+M+1kcpnzOFKbXAdxwIKfFAXiurXF6xFciShwW+ZK5EVKkuCkXCerPDPErLlIEaZ+DoZZSgvmYAycbtL1BVJVICHCoFtlotAbLRbHTFFoC7+fxf13/4Dnnr6fiy65lptv/Nyk27ztTz41qctyfp68BDWqFpPrux9+gQ9++kf872sv5trfO5dKQeLFozb/+Lmf8Ja//jKP3vRhVi+dWho+i9kZAbZP2pDS0qG9ndqDRYlov3hoNTL/jFaMq2SlNV8OOZfrnR4Gp6oaviQRBB5RLBzBJ9teVbVUGlbPTQA9zyZ2bXTDQkrX+TDwJ51cWFYJ12nkPLzJOIICoq6SJEkOjWp6FUXRiFJYlu85OLYw5RN2EqPGgqZZxPNsgtRWIvs8YUYoIFWB76KkvhmKoo4WFMUKkiTew0kHB4ZhEQY+nu/kcCopnZp43ih/QwWoVw9z7IBI3AcObWfx6jOZs2Ate3c9z0O/vpGVx51K36KvUCp3YRkqRw+/mkTWmD9vUYqrVQWRMY7QrEraObEJAw9dFg6xIwP7cra+omiQkjBVzcQsdOaYtyiFEvieMNyq9CyZ8kbwnSpx5CMrUzxgtTlT7vvyhYxSmmj0Nj4G9/yaDqOBFk9UyDLjFzGlF+mt6AxJxzP4+Kfx+x9j4QVfnfF9lfIqais+TXHXe3m5Cg7JnN6G3HNGpnzNKvXgu/W845mFSDYUVm14FaZ5OUeOHOShH7+XwXr/6Ofis39nkWcerTJ8ZDvl7nm87s3/TBT5aKrKE7/5Fffe8mnWnnolp2y+gCfu/Tah7yBV1jF04DF8d5gjB7Zz/MZXsOU1f0Zt6CAr17+a4aEjyIqJpWjohQqq2UESh0RhgFMfpNQ5j25DuKKregeqLiAwvlflwNGn2fn0L1h3ylYWrTqNE8/4vRmvXw4zaCeJkGR8X+xXrPS1lLhk+PE4CnEbwxi5lKggv0bx6IQlG1tnE5Uk3W+q2LPjSb593Ud427s/zh03fY1KZy/zF69k3sLlHD6we0qCeEZqjSI/Jbs20IxC2sVXU3+LIppRSgm8dbGNXuDpB7/PUw/ckL/X3MUnsu7U1xMGHpqsUCj3EPgOnlsT0wRVqHtkBZlQxDFIkoQXnvgZzzz0g/y9Fq06nTUnv04kur5NGLpj5HKHju5ixxO3pcpjYx8mQpXKSXkkQj7XMibKF04XkiSBrBCHIb5bF4liqWcCl2EU/5+k5xYQx+6YhHDbHV/k4O5H8n3Wb7madae+PoUnRHkSOF1knIow8NHNEsXynLY71cLIsiZ4FVNg9wWhfQoCdxTgOzXU1E1bYCDSwoTR4iyTSM+gbM0Qj2yKpBul9Ltt8uqQFYHhnxSmKIqsMHAn8DpaPXfPGUE3y+LY24goCnBTqdhCuT2XbcHPGGpL1lYUKRJOQ6AEipW+1u7d/HtIPTSMErKq5d9RHIVC1j5uKlZIiNxhLbGrJECh0Nq16Zu3TBBoDZM167ZMus1MalGzNtgDWlWH+vk9z9BZKfC373wdqiJj21VWL5vLR9+7lZ/84nFu/dUTrL7mAqI4pt7wqJRMGo7P3gMDrFs5f1JPjjCKeX73YUxDY/misQWv7foiCTQ0jgzUGByqccLapSiTNHuODlSp1l1WNRc7s6i9BPehvVwie+60B5lsbfsMBtQKRE5MisMZFalGt535fYV3lAZJQqNRzR28x76XShQ5+f/nalWhj21XMYxCOn1wxr99fiyFoihQMjPMya6NqurCfFbWsRsjmE0qU7phCslcVRfytlGIbVexrBK6YeL7Tp745+Z/ofg8q1DOj7tQqOA0wa3Ee1sEgUejMUKx0IGq6aihgR+4qLGWe39kBVccR8QJ+F7KvTQKqFEUMXfxRs65/G9JkoQTtlxFHIU8//Q2HvjpRwi8YZzz/opKAe678dt0dC/m/Ks/msMehM65jKZbFCpi4cw6bK49jGsPEwQOVqEL3Szh2sOCqJhKU4aBSxi4QgIziZCQ0IwicRxjWJUZuyS+O4JZnHzBljom6T6/3DH3dTCDVGAcuoSNg1hd05N1ZXx6ksfoniNzzH6KoRduoGv1G2c8BH3eq+jfsZ458stEEtenLzacWv+Ur81ZsDYnT8OoZCuKzrY7r+PgC3fmrxlWheXrXkmcCCLq7md+xcD+bfnrtSPd3DTig7MfVVNoDO3DqR5gh1Fh/vz53HfLvwKw9qy/4Lzf/3eGj+1k45bXISGx6ZV/jNsYxnUDfn7DB6kN7mHzxe/nzFe+kRNPvRAJhdDt5zuf+33C0OOyt1/HktVnsHbTxSjFxZiGytz5y/nWd95DdWA/B3b9hmv+98+mLQIEMbUKJG3jmX23ThS1RyDPJhieU8UsdbWYMKX+D+n0abI4fuNZlDu6efjeW/nix/98ygVyslAUjUKpRyR+gYCm+F4DVTVS1ag479BlXjxemsgf3vvYmPdasPwUTKsDzxkR64iioxtFCuU5ePYIYeghp2ZvcRTg1AdSxSVlkvfahFUUsLecfxFHOPVBtt3xJZ59+EaO37wVuzYg4D6pF0YU+fn6lDVF2o3csTpwkWThLzGVFGozxGb8nRZHIb5X49jB58b8vXfhulwaN0/Ex8C1VCRJybtXmfO2ZhQolMttJ2iCkycS19kk6kkSi/s99CfyMiRlND+a4n2z35nwzOgSndiUS5PEoSiyk9F/xkKIxP0SpZDGUaGHybuJk3w4bko+b1cmFkbhWu16fYh97RTq1a6pYOrro2oYZomWM9D0urZb3MS6HoTuPsLQb/kYV6/dzKo1pzAydJSeOQtZc9xpbbuPt8u7GN2tdUWppQu7Ga7a3HHfM1z4ivV5Q3/Zwh723PVxKmWRnD21/QBnXv0vfPQvr+Af/u3HKIpMuWjy0fdewVtef3r+Fdx05+P8yd99g5GaQ5IkrF7ax9c/9XY2HLcIgHd88GtUShbHBmvc8qsnAVjQ18kN/3Ytm04QfIzhqs3WP/0CDz0hIL6nbViOqsh0d4rEsv2JyCwmG22uIe0UJ5IsEwetem0oBEFrnkTyFCTx8aGoaurYbaGoaj6BaDboy1AEyThFNFXVUVLydhxrOZRqqrVG103sRjWVxy1N2E7V9Lw4MC3hx5EVPxmEOHv/nIvh1DCNAnEUjrnmwvwvI4GPPSZdM7DtKr/DhO4AACAASURBVEmc5PwPwywQ+B62I3w4DMPC9xzRAEq5IYqm4acmh0pqyOh7Doqiyaqcwi42nPmmpour07tgKZ1z1+I5dUrlbgZefIDa0EHs6jE8p4ZhloTzt6Kl8oRC3ztOTZcURadQ6qFRPZpje11nBN0oEoVBLgkZpxAqz62hqDpmoTP12DCJo4BS59QGcgC+PTxlsaFUNhBLCjP5RrykmHfVjJsM77+PYqWDshG05O4tJTF98m/wBn4ILRQbRvd66k5Id7mMHE/NcWk5zIXTvjwdjKpnrpgQZPwBSZIplHqIY0jGPeR0s8Txp20lM94KfYfh/r30LT8TSSlilnqxa4Ps2vkQRnkey0+8FKfaz6LVWzDMCkvXnIXv26w57iTmL13F8hVr2PHUbdz5vb/DKs3hqnd9E90s4thDeI1jDBx8HnXzhXSlZnV7nns6N0trDB8R0JbqEZYsXkSpow9Jklmz8SJ2PnUHa06+hDiO+dEXr6E2+CJnXfo3rDnpdfm5ZIRuRdUxrNYVoDLlnCRJUsWp1h+WQrGnXe8NiSQR2vhTkQDnL17J5rNfx/NPb+NP3vc5jh3Zz4G92zmw93kO7N3OQP+hGQmEkizkbDW9QBS4KdY7yb1FQt8WA2xJGOT5XoPBozvHvMecBcehaDqW0oOX7h/4NokXC4dqVRfKT6m3AklM7EdEkZ9za7KYt3jD6LFJMoos8eRDP+DB2z+Ha4tJ3cKVmzELnaJIcmooqnBDV1SDKPRzbHs2DWnmnMmpu3VzCCNAWxDmVQOz2Dkr409ByKuRxBH1kcME4wyeFq3aMqaQau5IZ3yKKHRyfglIyKqWCxfIucpW5tStTJoExHE0WiSYpbZN6kiS1Fm+noqEtD95DtPJlqYXxhKxpyl4mmGKWVGvaVbKexglY2eFSTYZajaIFL8vCc+poqh6282EXCErjiiU24fweU5VwLXalKcVxoeDaJrVtmBEpnLVbnEjSRJB4BIG/rSOwuMjSRIGBg5y/90/pLdvCfMXrmrjaGc/1Uji1ouUra/ZxH997x62/ukXWL1sLlddtJGtF25h3ar5eXLfHJ//5p187ZN/zPlnrOOTX76Nv/jIdzhh9QLWrejh+d2HefNfXsebLz+d9//JxRwbqPH3n/0xV/7ZF3j8p/+IZYh7+ps3PsCbLz+dbT/8AFEU88Z3f5kPfPIH3Hb9ewF4x4e+zlDV5sYvvos1y+fxkc/fxHduepBLX7UxuzRthbgW7e0k5R/UeqNspmfI6LZT+12Mj4yk3Nq2KlEYzKjAK8sKge/lx2IVyniujWPXMMxiDilWVJUwCtDGKVc1mwCGUYAcquj65M9r0YBT0XRzTCEx5vzStb2ZTxHHcapEJRzNjXSCIcvCs8OxhYJoGI79TaqqRsEqYzdGKBY780JJUTUxoUjiHDqtqjq+7+akcKsg/Dd0w8T3XGRZFpNy3RTKWOk0hATCwFPU0RtLYvjYbu743t+TJDHnXP4BLr3m/0GSwakeoae7E8OqsGD5KXTOWSJkbNMfqBnHebfHc6q4jWHx0JMypYwicRylFuj1HDuqqHrK2xDY4zgOqQ0dAKCjZwmuM4JhVTALHXlCMD5qQ/up9K6e/C5RTGJjMbK7Z4rbqI044XOg98LhG+HIDyAOwJjfEjl8aPcv0dWIYtzecWjhgZa3jbW5NIgp89zMG88QSccp077ef2jqz+ieuyrvwBlWRw4TUWQ474q/48De19MYPsxg/152/eab/PBLf5Tvu3Td+bzlb27BdUZIgMMH9yHJBvMXr6LYuYjVx20SEJntj/Hko3dx+ms/QNec+ex59i7uv/UzLFl7FsPH9hDHEXbtGCNDB+ias4yzLv0Qdq2fpSs28utf3ED12LOsOvHVrFl3Olf+2beRkOhbeAI//+/38/zjtzBvyUaufNe3ADj9wndz+oWCP9Oo93Nk/xMkSYxdGzW0i+MIN1V2aVcbf1R6sj0oRpZ0tZt8JLEoigyrA2mKjs79v7yRF/dsx/dcXty7nfkLV9A3bwknb3k1AI5d5/rPvZ+hgem5OyAeKooqJhJOY4gwcJAkBc0oYJilvMM/dGz3BFhXZ88S6sOHBQRLUYlzF/CC8G5IhNs4gKroSIpCHPpEocerrvwnFFlB0wsoqsaCFaeOee+Bwy9w140fHfO3rt7lOPYQiqJT7OibUBg0T0TiOBKE/xTek57sKDk6LU6EItPs+CGZT0QSR+LeUkUn6rK3fan5AtPRBDXNiL4SgCwSuNgXMrqj/CFpLH8kdeaOgyjF7Ufpe6W8EUVACDJehFXsapOfIKBDnlMVD8i2+Q3ivvXSdaHd/TP1m0xKt2BNLUc8noSdfdeeLT4745Q06v15YZIVaWNECjJitjTKsVBVo22FrEz+WjRthIJbqxHHIXZNCDG0Kz0cBh6ePSI8gdrkAbn2sBpFEVaba1qSxMydu4zeviU88egdeK6Nbpg5/Lpv7tIpf0cvxT08Tlr35+jqKHLbV/+SL33nLn5w22/45y/dzj9/6XaWLezhY3+1lde/eixB/EN/ekn+t4+853J+vW07X/3+vXzyfZfxmet/QaGg86kPXE3R0lm6oIcv//M1rLngg3zvlm384RVnAtDTVeJzH34TSRz8v7y9d5xldX3//zz93DZ1p+2U7b1XYIEFBEFEELBgw16iSfwmRv0mxvjTxJii+Wo0Go0t0RQVu4IKAktdYNldloXtvc9On7nt9N8fn3PO3Dszd/beIfp+PHjw2Lmn3HvuuZ/zLq8CQcAbbt3M17//KADnL45w78PPc8+X3s8NVy4H4GufvpvHnz0cvoMZclhqnGyI+7z60wl1Jp9LkiuibWvhAYXbX1qRSsapQoJXnoJjYphJAcMujMUFgarownG8wm/NMJIoskrREk7blRqEEaclmayjWMxOmqKoqo7j2rEUbSKZFgaAIT9kIhIhKpCKxdyUDQBF1ZBkJYRcZWK4oqabuI4F0jhX0zCSuK4TTlXGQr+NfKx05fsCnRQZAyZicrnmqwC2lce1C5w78RznT+4G4OTBx1mxuZ37v/cxzh55hi2v/FPWXHk3RiKDY+Up5keE6o2ZQpZVoY9v5cKkK4OsqIwMnMJMNojupmtRLIwhSzKqaghoTajoIisqmpGKiYpmqoHc6EVhnJZsoLF1AedP7GKqGO47Sufil1W8UYLEQnipxYZahzTnvUiyBp2vF/KlVh+y2QrSpX8sQ6efpF5zUILR2s4bVD+G9tUWLH+UzKU3vWTITVsrvubaYwxP6ECXRiLVSOD7pDItZZ0/y7Y4euBJZCDd3IPRMI8LRx4hP3IaWTUIfIexfMA93/4YmupjmI0c2/N9ZnVt4to7P0nfuUNs++W/0tS5lj0Pf5HRiy8w2HuYO97+9+x65FtcPPMCvaf3cvt7vkn7nHUYiTSNrQs4dfAx6pt7WLT0Rvr7ejnyzHfJj5wgnx2lZ+5yGpp78Fyb3NhFBvuOATA2dJZCboiB/otYhQId3fMwjASJRD2vfvfXQxldUZCJezaPmWqqyfjN912KuSGMRK3qNwHFvFCESWZaanrAeq5NMT98yWQtnxvl4AtPA/Ddr3wcWVZonT2Hzp7FdPYsYnbPYhR16kLF8+xwXOuHZnB26EBtUtc4WxBqXTuGWQa+mHZcOFUOAUxlWmjuWAKh70EQiIQ7SlolSY6vm1DPsMGX0PUUimrQtWBz3DmbCrJ04XT5+cxkA03ti6aFBE1UpCqNSLLVsfOoWiJ0LBdKU252MDoAsqQgK0qsyCRkfEsVxQJB4rUE4doI19IoEukmepZcVfE9xsfx/ZC8bGMYaZLpck5GpUKz5AjxMRwrHxrjpQkCT0xZIn+O8LrE0x5ZQVLUmCsR+J6AXEmSgI/VONmJzOqm8syo8gBxI6waGFwpjA1EI8HJD6MZaQFBmvBdUcKBigoTwTER5FPXLsYkahcLLysw+NJEv5aS4iRKkqLfa2nTptqwrRyOlSdV1zLzKUpdjY2MsDAKgoBErRAowPM8stkh+i6eou8inDi2t+z16QjiQRDUXMCO71ub83g6ZfLhd9/Eh955A4ePn+Whp4/xzXse4y1/9g2+8qk3x0UCwFUby6cz61fMYfeLpwB48fA5GjJJ/uKzPyrbJpU0OHSiN/73knltqIqM4wOSRGtzBstywmOIhuTa5d3x9ooss255D+N+OLUXDrVCr0TxMBG7UDlkWQlVo6o/R20cj+oUqaorYqQQ/lRu7qeoGim1PiRbWxgh/H+6UDUd2SlSLOaEEqMxeTosVKIKqKpGIpHBsYshP0O4jmuaTiGfLfGxGHczL+QFh3qiX4cgfwuVLOEFUs4JMY0kbkjoVlUNTTdRVQ0nlP71fS8uRjwvj6bpofrUGIqi4thFoXRVyFIIfTgMU5gAJlN1OI4lqbnRXh685xM0ti1g5ebXsmzDq/EJWHn56zHMDP1n9+P7Ln1nD7B0/atxHQvDTGMoAvqQHxuIO5eakSJV10ohO4CsqKTr28IHpzATMcxMbFSUSDeTSDdhF8dwrAKWOxJLD0Z677aVJztygZbZSysWG8f23MuKK99T+dtt2ABDv532BrhUBIs/XebpIckqUmJ6eFcUvlfEz18g0VaDc24U8/5v1Zvms4OkEm41ppzThq+3oabmVXx94GxlTw8jUUdT+8IpE4qjB5/j2fv+Gs8VeL5003x61t7N/EUrUVWD3EgvF/t6efHhz+B7Do0da0llOlD1DI5ls/2Xn8IpDNG+/DXMmnMFipmhrmUZBAHdi64AAqFcZKaYu/RqAB784cfZv+OnKKrGez65neZZrSxcfyd9Z19g3sobURSFi2f2IcnQOX8zN7/l8wxdPEq6oYN8rsCDP/hLskNHWHXNh9h89W0Evk9T+0KaggUA5Eb7QsMbUxDVZUVIe0a+CmUqUOMRJRFCorO2L6yYFwVrItVArZCrYm6YRLr2rnR9YwtNszo4ffwAO7f/Ztrxt+sUyY6IiYfo6pcXYWayHrsoEqFEqoEg7JifPfpM2XHaetYwNnyOfTt+zPnjuxi8eAxVM2hsmcfita9k/srrY/lhSZLDdSSPVRxj344fMdJ/KibDt/WsZuGqm1A1gxeevoeRgVNcPF1+H0uyzMM/+iQA67a+neb28mmpXcxyYOfPOL5/G6ODZ8iOXCRVN4v65h66Fmxm8dpXYabqMRKlHIjwQRImo7nRi+zb+UNOHnyCkYGTFPOjJFIN1DV1U9/czbKNt9PQPIeAIOZ1TEyCnrj3cxRy4yITi1bfxJyl482BgQuH2fnw1wUGV1Gpa5jN5a/4P7iOxQtPfZ8Lp/Zw8cyLFPPDNLbMY9UVb2Dp+tsm3aOCWyDI/VNLAwvuT0zojiYkvovvFOPEO4ImqXpCwLhKihK5gqdJFK5jYRVH0fUkZqK+ZgK7+J2NhFK69dOea6pw7ILgQyXrp5xYjjuHR5MkNe7TRom3qpshgTwkv4f3pO/7Qh7Zc/AiieRYDlvg7APPQ1Y1fM/G8T0xNQkLk1I54fKImhFe7epaEMIVfZKpppphYsXcELKioqcaXDdX02nFMXyfTKaJLVtfM+Xr0xWaQRBUVMi75HlrmIr84L4dLJ3fweqlXQRBwNzOZt7/ph7e9bqreMU7vsB3f7q9rNhoqCs3WTQ0lWzeAkliaCRHwpzcaLrrlZtYNn88v0glJ8BySu7joVEBqUwlyrepS5uMjBWYyWRjBiiqmhWmanH7BvGZqy42QmXCagjlkqxUdVxF1YTgzRT3mOj22xRDtcRLHU8Np9/jCXy67Hcsh4aq0XEiedxokqAoKpI8eXqjajqyolDIj0EASmLy51c1A6uYE94eiXQZbMoKpXOtYo4gJIfreiLM+VNISMJdPZyemIk0iUSaQn4MNwhCg8A0xcIYVjFHIpmJRTsMM+WqtpXj1KEnOHX4SZatv5Vr7vgrbCuHlR9jqPc4W1/9MazCGN2LLsN1LRKpRqzCaKgiVUfgp7HtfOh0rCLJwtSJUBovWdeCEvpu2MVsDJUo5kfQ9ASJVBO66ZAdvhDDqnQzQ+B7gjxuF6hv7p500aI4svdXBL6LVKFjpnS8Bo7/Q8X9qwm5++4Z7zty5hmS6RRJrcbV1+hAmX1rVZs6uYvY+UH0er3mRWJiSA1TK4FEcXTPzyu+1ty+qGLnsn32PDqX3kx26ARWbpDAdxk8fxDsEepb5pLPjeD7Pku2foSGhgaWrb6G0ZFBMnWNaKrGkk13c/HMC6zecBOLV25hdHQYQ1e5ePZFlm+8gyte8X8o5Ia4/3/+L5Isc+UtH6GpdSFIErM6liLLKoVCnqtvekc8lr3/vz/K4ed/DZLEH/39Xuqbu+N7bWjgIpKioUg66bpmVN1k/zM/QZJklmy8DdcqCEUGzSyD1ziliQNM6P4KeIVVzJJINoYmP1EnZDoHchBJxAiRj0It4XuOKG7StZNSX/u2j7J4xeb43+dOH+HeH3yZvt7TU24vSQpmqjEkReewh88jyYrgPiia+C8ipoXE00S6iYHz5Z4dudFefvSVt5TBJ+3iGPmxfs4e28GJA49w9W0fwxvrxzAzmMkGdDODY+fZ98yPyhLyls7lEEqN7n7k2zh2OecBoJAd5MDOnwFw+U0fLHtt17ZvsuPBr03ab3TwLKODZzl9eDsvPvNDbn7L58NzlUcQBDz9wJfY/eh38Nxy8mJutI/caB/nT+zi4K5fsGzTnWx62Xtx7AJBkCuZzqi4jsXux/6jrNhbtPqm8ByChH70hd9y6Ln74tcXrrqR04e38/CPP8Xo4Jmyc/ee3kvv6b0MXDjMlbd8GIhM8UZRVOMS3ILQpLCE0B0l2gLiJyBXwgMiIPBd4aXge8KfxB9XSCvt6Ef+I46dEyTsGRCpQRDIPdcmkWqouaAn9JPwfZdUZlbNxbkw9hpC11MxRwkou1bikBOnFUFMfg98Hz0jIFfxxMQpcX0P36c4rhQLJQhlNkF8L0+OLrG+xHK60oyhXoqqiWe3k61p/yj8wMMPAjo6F9HUPLum4iHwX4p7uI9SSdFyQnzxPx5kfncL3/ncuyhVv9I1lVVLOnkshi+JOHVukJamcbzB4ZMXWbOsCwmY39PC0ZN9fPETbyzb54VDZ+mZPcHDqUKsXCT4lSfO9LNm2XiedObCEJmUGX6+qg5VEtLMJhs1QJ0iUY/qjx9J1VYhfysL2dVqQgmnG9IlECqKrOK6dgzpmxgxEbyYw7YLGEZyyu1AFAWObWGYSRRPJZ8fLyLi86maUNWKFVxVoRKVHxX+HZqB6zqTIFFC1aqefIkRX/n71LAlGd1IUChmMc10CedEw3XtsGDIYVsFUVjYQg1R1XSQJBy7KFTnIkPApOB82E4Rw0jGjuS+52GYSfK5UVzHVlTdSDFvxXXMnruRdMNs7GKW55/8b557/Luk69u57Z1fFWN/SYndVaPFxXWKGIkMmpZAQorJg65ToKl1gYA85EcwU40ooUNvRHaUZYXc6EUkSUJWNDQ9Qbq+FbuYo5gXxmSRSVZr18rKd0HgM9J3mIa2ZVO+LDesx9U7kO3zlY8xXXS/F0mrnvA7MRrnbCX56nvw8yfxc3ug/37kgfsF56NC+J3vRFn1RSS5ugVw4Mh9aIqEJntVEdCnC6m5MiQNAl7c/p8VX61r6iI/1l8OqQjlThsamnjFXR+nUCiQHRng5LHnObrr+xw49COMVAt2YRBVS7Lxls/Q2t7ByWMv0DVnGY/96iuMDZ3lqhvfxZaXvw3XzjJ48SiZ+nbu/5+Pcnz/Ixhmhvd8ajsXTj3PoefuBQQheN3Wt7Py8rtQVJ2DLzzF7ke+RbpxDtfd9kEUyaWleyWHn/81TS1Curj39PMUxgbpXnwljc2tXP/6v8Uq5Oies4QzR56KvTus4iirtrypzDhv8lIVdn7DBILQhMtzndBvwsUtjpv8ERHmShKHqIspyyq2lROa1okMtYBjI5nNmeDkG5vbWbxiMwf2bufI/l20zZ7Lustv5HXv+HP+7XN/gutOvodV3Qz5OnWk69pwXRvHzgkzP8/FV9zo6hAEAfmxfnzfZXSonJ/Ue7oUQjG51XZ83zbaetawdN2tAibjexiJDFZhtKzQAGjtWomi6owNn5+y0CiNZGZW6BkkiOcP3fNXHNl7/yWv1ejgWe79jz/mrg/eU2b26Hsu937ng5w88OgljxEEPvue+SGF7AC3vO1LMUwn4g5cOPX8pMyhrrk7XItFc2ewt1yS+NyJXZd8/8899h1WXPY6dFN02GaisgTE3AYkqWyiJUlM6z8SS6mGcrxecSyEoakUQwPRcaK2WvZ/0eEf994QhfVI6BlSu5xvVChoWqJMVa/aiNT3hDlgbdCnIAhikQkzVTLJmRK2F0G4Ii5R6AhupBDS80ViyesSMu540yNaX0SBJ0wlQ7WqaD2q8j0Xc0MC3VAjAb38OD6//dW3OXdGNB3qG1p41R0fJJ1prGp/P/BQq3xeTjq3X70a1Y1Xr+CfvvEbvvyfD/Oe118RX6cdz5/gx/fv4u7bryjb/l+++xBf/8zbUBWZFw+f47dP7OPLn3oTIHHz1lV86DPf5/7HX+TGq1YA8MuHn+euD36VX33zT9i6efGENzr5e1k8v422WXX88388yNc+fTeaqvD8gTM8/uxhbr5mZmqcgrxd4z5IQqSjhnPUUpzIilyVfwbUqkglIEeXgkBLVRQwkiRjGCnyuWF8z8M0U1NygWRZia+VomgxgVvV9Bgapao6jl2Miw1xfCmcPOQJPBfCacLk9yGmIcViFs0zYzWpKFRNwKJMI1U2LdE0MzYjNBOp0Pwvh6bq2FYxJIlrAtpq5bGtAolkJixwGigUxtA0ATVLJNLksiMkU3WYiRS2XZTVVF0br7z7i/E9bFt5ek/uwbULZIfOk2noCE22ivEPUnRWRac1O9qHppkhZlLGD4SjaVRQiAV0IJbOkxXB79A0k3x2AKswhl3MUtfcFR9DDlR8z4m/qNauFZjJhvjBMzHOHXmiYrEB4DVeh9z73xVfnzYWfHhm+5WEUTcH6uYAW2HBH0Pg4Rf78KxBpMAR3Awvjx+oqA2rUPXaOtdDpx7D1FwSUmVJ2qpCSSN3v7Xiy3Z+MIbITBWd8zdhphrD5EF0+yOYwM4n7+X0oW3UN3WTyDSRHe4lkW5FT91AXUMHubGLGCE56WdfvQt8j7U3fJwjO74DwIGmRq545Yf49799Gb7vseXmD1HX3IMkybFiWWv3CjZc+27y2QG6F10eihIIKMvFs/sYPPM0I73Pc3rNTSxZto71W9/OuqvfCoFwYP7hV+4m8D2uefVfsmrLG+nsGvdPyTS009S+CIKABatezpEjB1i6bN003bew8xsmylZxDJBIZpqZVCgE447iZQZoQSBMx0IvAkEoHy49Q9gVjjrD41hwWVLwPBurOCagRjPAM+uGMOf75Q++EpPODr24gze/75PM7lnEqWOTTTVlSRCAI4lrw8ygasa4GV7Y2Vc1E8XU8D1HTJemiGUbb2fphleTrm/n7NFn2P7rL5QVErsf+Tarr3gTkkQI6bQ4d+zZsmMoikZ9c3fMK9ty859y8ew+jjz/m/HrKMtc+co/AyRSda0oIUb1yfv+36REfe7Sray+8i2k6mZx/MVt7Nz2jbiAyY70snPbN7nqVR+Jt3/05383qdBomDWXNVe+iZaulbhOkRef/gGH94xfg+P7Hubg7l+yZN2rIFJHklX6J0je1jV1hZwODVMz8X2P3gncl/xYP5Iks3TDbSxdfxv1zT3seOhrvPj0PfE2QeBz4eQeFq25qeYEGQT/KPLW0YxUTfwCATMUxH7HEjjmRLIhvF8jqNa42VwQ8oHccIJY9tshEGqIkY+Ta03w2piuux9ghe65Zs08qnFuCUgk07OqJhxHEXmW6OHv5VJRCuHyHCeW051q3/GiNTIHLYG+eQ5WfhhVTxAEHoX4GRuUFXKxQldUpMiKmACF+5Y2XmYSB/c/zbkzh2jrmE8qVc+xI7vZ/ez9XH3dpdUYQRQMqC/F0K+6ff/8fTdz5sIQH/2He/j0l3/B6qVd9A1mOXyil2s2L+Fjf/DKsu0f2r6fdbd+inXLe/jpA7t5zSvW88ZXXYbrWLzr9Vfzkwd2c8f7v8z1W5bRVJ/iV4/s5Y23Xja50KgQiizz359/Lze/8ws8/dxRNq6ayy8e2sP8HuG1MUPOfO0hSQReLcVGjcZ+klI17Ko2RSoZ2760alpUHF0KIiXM+1R0I0GxmEPV9IoFQQSDkiSZZCqDbRVDwnkSRVGx/MnnkyQJMyH4GcVibhI3IwpN1XFdG1mWKRayGGYynsJpmkEhP4amGSQTGYrhuqvrJoqixhMR00xh20Vc1w79jPyQM2IgyzKFfDaWzJVlGcNIUsiPxgWIphvkcyMkkhkMI+mogJCmzA8zePEYgedx7Z2f4NyJ3bTPWYMky7FDuCTLFHLDoYSijKoZ6GYax8rFxUC6vhW7IB48hDrdXuDjjfWjm2lBHpdkFM0QkwsCdDMd6ttLJFKNMb7WtnKM9J8kr6h0zt/I0Rem5l7sf+Z7LL/y3RVvAKXjDphhseHs/TDF5GYwO0l134SanN6DoqqQFOREO3LipR/LzvUycOIxZs+qTb1qyuh4PaiVC53eUzsr7ytJzFlyVdghEIltlN76vs/ZY0/Rd+IJ+k6M77Lqijew6YYPoKo6hUIOWZYYG+knkWqiMNZHZ1crxk1/TP+5A6y84o0EvktdUzcjg6fINLSz/tp3sn7r2zFTTZw+8jSuU2TTy/8AVTU5d2IX3/vCa9HNNK/9wH+y5vI78QMJw0yzePEadm77JhCw4dr3iNGo75Kub6OYG6auuZvcaC+nDm0nmZnFnCVXkmmYze3v/nrYtZZ4bs9eli5de8lLKiRxB1D1ZOUHcozBpswALfA98tlsRTWZUpOz59s/+QAAIABJREFUuLgLDe5cpyg4I7JMMTc8TjwtkfSs1Fm6/Nrbmd29gLMnD5EdG2bTVa/kqW0/w/NcsqOC7JzPVhY7EE7SzRRzQxTzw5iJemRZEb9/0rhOkXx2IOy2SgxdPD7pGBuuew8brnu3KFY9h+7FW1A0gwe+9+fxNlZhlOH+E7R2rUDVE1iFUc4dL79HWzqXk2mcjZUfQdUTLN14O7ZVDmlsmDWXxWtvKUv0zh3fyQtP/6BsuzVX3c3lN30Q33PwfY/lm+9kdOgs+3aMEzxPHnyUK2/5MyRJovf0C2UmhQAdc9Zy6zu/WtYF7lqwGUU1YhgXwK5HvhUWG+MxsZBo615VVrzmswOMDU+e4G697S9YtvF2wafwXNZe9dayYgOI+ROB75VNCqaLIAjEJMIphn4ZtRcqgrMjRAMmE7gjqJZE7Fg+RZdfSECPCqd5RYs7/Z7nEDjF8d9IKI86LmkrSPqSJCRtVT1BokaIIkTTw2F0Mx03N2oJuziG61gzkkYWxpn5iqaKMF6YiK90fH2JoM2JdPOUxdVkZS4fz3cJXFv8Bjw3NPQtxJw1SZIJnDE1sIthjlBd0TY2MoCqarzqjj9CVXV+/P3PMjJ8serr4NcwnZj8QatPynVN5d8+/VbefOtl7Hj+KAeO9bJx1Tz+8gO3cNv1a9HU8qbO/3zhfTy56wgnzvbznc+9K5w2iBOqisy93/gg//nTp3h27wlcz+efPnYXd92yKd7/zps24LrlSfbGVXP5yHteEf/78rXz2X7PX/CTB3Zz/uIIP/3XPyJXsMgVbGbC2YiiFi5LbCZbZdQifQvECn/VH1+mGgRAxJ2o9j1cigsiiPKCpB4rQLk2pllOyFYUdQIMSkI3EkLZspBDDz09SqFUpaFqOgYBhfwohpmaVNBIsowc+kUJpakSvockhcd2UFWdREJI+VrFvJiIFLLx71bXTVzXFiZ/Vj72vlEUjWSqTnA/knXIsixc1BU1LDDqhLO461As5DATabGyFQuj7Hjwq7wYOu6+6xOPs2jNzViFETGel2UcS7gBy7JCqq41xgg7xRySLDMycJpkphlNT8ZmfZEpX9TVjAyNIilLMamQSNW1xMlCMT8SGk6l0PVk7CHQPmdtxWLj1MFH8Owcij51Mqe234JvtIN1aanOSTG0nb59D2GZyxl58B9RjXoauy+nrmsLzfNvQDVrw7f+b8fRRz+DLEEyOfMRdhTSvD+e9vVDO39c8bWWjqUVdfNlWWb91rs53bkCTU9zdM+Pkbwis7qv4Fff/1tS6QxzFqzhhad+gKIa3PXH/y1G+okM3QuuwA98TuzfRv+5fdzxvm/j+y6KojFw4RDp+nZ6Tz/Pz77+LgCuvfMTrNj8OvrO7sN1LdysxejgGZraF3HV9W9EM1K88PQ9PPPAlwFIpJpYdcUbUFWDt/35eBf7wXs+zv5nf4qsqLzmA/9JfVNXmbb+1utuuSSmOAg17kUSW5tAQAR/mk7jPlZHmhCuU8T3Bd49WtRLnX6DkJxaabE3DJOlq65g6SoBCbjmpjdy+TW3c+bEfmb3LGb30w/Qf/HMlPt6nhN3bMxUI8X8MIX8EGaiHte1ce0CQeDH5HjPtScpQ2UaOth8w/vLPncQBCxcfRNP/fqfyxLq3tN7qWvqxHUsFFVnsHeyVwdAIt2Iaico5ofL3LcBWmYvxXNtURRqJoqq8+xD/1Z2feqbe7jqlo+EHevxhHLDte/CSNaRyrSQSDWSSDdTCNWndvz2X8vOo2oGN7/l81PCTdZd/bayYmPo4rE4mROf3+fCqT1l+8yet57Sh+nEYgRg0/XvY9UWgQlXGYfqTIy65i4cO1/m0C2FxlCSrIbGgKEpniTFnXhFM0ikayciQ8QPGROGsDPw3IgUwHzPmVSoKFM6CAcxbySS/i2FaUUcwbgQUdTxwiSEH02cjjhWHtvOhfdzjdCzkBsCQU1mntFnsQqiSJuu0KgUETdnOk7MRGWuKHzfpZAdIpFpjknb47w1H88v+m64XTVOzoCQDNXN2FMgnW4gOzZ0ib3GQxSSv/vJRhTXXLaEy9d0o2r6tMlnXVooV5WG57njPCdZ5m13buFtd26ZvDPC12P8fYp3uWHlHDasnFO23dIFHfzFgupEa6qKGi/ldM2ryvtUfxJBQK8VplV9EVkVSVxR8StMEiZu5/kuqqyHLuIO+fwoppGMOR+KomJZ+Sk5F4mk4ExEMVWxIf6uY8tFPFc0vybyRDTdjFWiZDlDsSDI3aqqo2nCUTz6vRlmMoRG5YVfhuvE51VVPYZ6lZr/RSIf+dwwyVTYUDSSeJ4rZG8TaUwjiWUV8D1XUq1inuzYGEainmRmFg2z5gABiqKiqAb5sT4U1cBIZAQmOj8SJwGqZoqHdG4Iz7Vx7AKyosWkWRhPiJSEhm6mKWQHRTfGzuPYBdL17YLHUUIEdZ2iOJ6qEwQ+RqKRuUu38sS9n6v4BR/Z/WOWXFaByC3r0PMHcPiTFfevFJrfR2dbEzks6gywCudxBrZz9txTHNv2/6EYDdR1bmTJTZ+vecF/qTF8chvn9/4XXbNbaNZOQG2/9bIIGq9EzlTGeAaBz4Fnvlfx9TmhAtRU+1mFUVLpRtq6V9DSPo9Vm1+FaZo8+9g9nD8k4CxnDz0UJ0H5sQEunNzDwefupWvBZprbFnH/94Qy1yve/DkWrLqJn3zt7Zw7vpPlm+5kzVV3k65vE0WqnqSQHWD+yhsE0VXRSKSbOX3kKTTNZM7SrXQt2MSsjiX4nkt7zxoGe48wOnSOprYF1DUKwl3Poi2cOfoM6fo26ho6OHXoCc4cfYZ5y65l3vLrLlloRMXCTGQrfU/I4s5ErUp0OnPlyYskIUvqJG5dJWjVI7/5Hju3309nzyI65yyms2cxHV0LWLBUPPhWbbiWpx/5OYP9k7vorlMkO3wBVTNFw8BMUxgbYMw6LyYbiUyZqowsKwycKyeHr97yZlFQohE99cR4WqO+uaes2MgOn8d1LLEWeTZ95/aXHaupbT75sX4hPGEkSaVnMXD+YNk2bV3ivvcDH9vKYo/kODNBHWvNlW+eEhpTP6snhGCVh23lOHtsR9nfFqy6ESSJQnYwTmYVVRcNnPrWsm19z2Wo73jsWzN08dgkLkpbiVEhMEk+WFZU1m19h/hHaIgozBPLeR2SLNMye1lJ4hgqIkX+G74bk5M9z0GShEutqplIkhxCl8RkZBw6WDmiNSEIgpBLVPu6WcrNEB411WQVYqpHSAqNhE4iBbG4MxtPRlxBuPZ94ecygfcQBEFMQkeqcSrke8Jjp0YTULFzQCE/bphaK1bGdYrYxeyMeFzjTZByGeJxWWhQSPlyBYnaSiEkg10O7n8KgGx2mGIhG/8bhMv41Nj6oGLjpKqYoUdHLc7jk+L3hm+aWUgxT+53M9kQO8lVT0+i4qF6RarqiN8gphDVbCuHEq+XeiIriiBaR4m8qmooSoZiIYfie+i6Kbw7/JB3NeEaR74Ytl3AcWx0ferPLElS6CVlCs+PCZK2iqJghXAyWRbGgsK3QxgAMkE5yzCSOI4VQ6ZLixxF0TATafK50bCwkMN9EhQ8l0IhG09OVE0XylWFLImEIKBLshKo+bFenn3s+1zzinew4br3xBrvbihfKCtaychUi90L4wdECMto7liE61highG65upGCklW8FwH1ykQ+H5M/B4ZPC3Muew8ZrIeTUvGYyrPdXDsfFx0jA6eQZJlGlvnM3Tx2JRf8KM/+UsWb3pTxcVTnvtH+Mc+B17tShkGgxgMgglBwiAvG2QtA9u0sIuHCLKJ33uh4eQvcvTRvyXTMJumpgSKf/DSO00X3e+d9uWBs89Ngp+Uxpwlk4sNx8rjOAU0PcGObf/Fyed/QGPnJppmr2bs4j6Mlg1c8cqPUtfQyrwV17L9vs9T3zyHltnLeOhHn6T/3AEcK8+ClTeQrm9DNzNkGjuRJIlCdiA8S0Bz+yLe/rEHCXwP28qxb8ePCQKfVZe/AUmS2PfsT3nyvn8C4PUf/D6Zhtm8+j3fiKFLP/jSGxgdPEPn/E3c+s6vIssy81feQOfCy9CNNKpm8NjP/55Cboihi8eYt/y6aa9VVEjPREnHsQtxsVCLbwcQEtCtGZvIlUZ2dJCDLzwd+23IskJrx5y4AKk0ehYFRgqrkI1x9UIEQsVzbVQtQSBHD2mJoYvHsK3y32TXwsuwrVwsvaqqRriO2AJ+VRKJTLNIDj2bwd4jeBNG7e3da8KEUUxXx4bPh/yZ8WhsE9wcge2X6Tt3YJJSSsfccrOuqcL3XVxbrFlDfcdx7HJzpZ7FV5JIN4XqQn78nnzfm1QkAVj5YQrZfpRwvSwNRTWY1bGk7G+9Eycfc9fH/kVi8qORzMxiuO9k+edvmT8hcQwLPEUdn6yEnhuKJKHpSZFshxMC1ykSWF7MKZ3EIYoM7yThLO25FpqWqN2BHJGkW8Usge/F8sC1RgQ90vRkmVrUeHGuoMjKlLCwIPBx7aJwQTdSqKohzB2DQsjXDkqOVcKnimWx5diJvVp+Rmn4viuUHMNivrYQimyiQKpdAlsUKWMzaoJc8p0FYFsFtj1QLkBS+u/5C9YiT+G8LBzAX4rs7UvYt0IynkwabFo9d0pp25qT8pKodL7pYwbnG9crqeEstStY1b59dQWQ8Di6NPEbqieJR94glwpFUbHtqY31bLtAoTCGridQFAXXnRomBaDrCXzPo5AfRdcTU0ISVc3Acax4glIsjJVMCCU0TY+nFJHXhmUVhNFeWDzpJV4fgo+hTMkHEUWTUjYhkWUFVdWRZAnbLqBrJrqeEPAqMy0I5pqJ77kCRpVK1wlCt6KhGUmS4VjWDUl7bggHkQoKvuvguU6Mjy3mhoRxkKygGyq6nsQqjlHIDjDqe8JRV1GFIlW4QOXH+mmYNRe7mI1JgVECoIfJim6mBNZcVkK53IDZc9dXLDayw+fpPbGd9vkVDK+0Buh8C5z66tSvVxlSYJHyDpFSgTT4GQN7wWSJWqcwxPavLKa+8zKa5r6MpgU3kWpZ8ZLOHcXomSc48JuPkO0/wPwF82nyp+FSVBGB3o7SOT0Rb9sPKhPljUQd7T1rxo8XOspLkkwi1RRvYyZnQeByYvd/4blFutJtrLv6UwycP0h+pI+rb/sLzp/YxaHn7uPKV/4Z547vpK1nNa1dK3n7xx4EoL/3DKdOHOS1f/g/nDuxk57FV8ZiBJqe5MSBR+MJWGvncroWXk5r1wqBpzaS1DXMFtKOEeHL92huX8To4BkS6SYsK8f+vU+jqioLF6/GtrK4doG1V7+VoYvHmbvsGnrPH2d0qJ+FyzZMelDZxSye54xDmGqICLs9E1jE+HkbeSk43Urh+x4Xzh7jwtljwmujQogOeECqriUkWru4joVj5YR54mivkL8NC4izEwjdonGxmMg7o5gbDrksklCtmpB0N7cvRjNSeK49ST43mW6mtWsFjlPEKoygG+lJak2qnqC+eU48pfUDj9xob9k2kiSRzLSUN1nKro2LXczhezaansRMNeJOIHMDtPesjqEpE59r+dHJ4g6i4y3huTZnj5Zfp9bOZbHTK4gkuHeCd0jXwsvjqY6ZaojvqYlwrPae8glJaQRBEJutGma6vECokHAK4rE7LtnqO7hOMeZNKCF5MQiCWOkwUkiaLiLoj2FmZlaoBAFWZDo3g98YocGk6xQv2QwIfE8ozgR+WFi6OK4vrgMBkqSEa0u+3OAvhqtNvh6uY2EVRmY0LYWAQnYISZZr9tAQ5y7G/I7fRWNtwaJ1tLb1TDvlqiQ7+lLcwyNu6Yyjwr6L5rSy7b8+WumsM5+IzCiq96gY32MGZhs1TB6g+olC/J6k6HNUcWxZwbGtqnzHFEXBmcJZe6rzR1Pd6X77kQ/OVNvpegLf9ykWszEPpVKxAYKb4XmugCC7NmYiRenzXVU1bEsoJ4piQC2bXqiaTrGQKzmHFLuAR/vphll2TEVRMYwE+ZzwACktcnQjKZ7nthWfQzcSFPKjsWSuphshX8MWMrj5UXQj6aupTDtbXv5OPKeAbqbLsOWqZgglGc8RUwungOP7QiveSJIb6RVmI7mhGD4lFosARTNidRLhljwck+cUVUfTE6iawUgIqUokG/E9B9vOxzheM1mPbeUY6jtOur6dJetv5cVnfljxi3n8p3/Faz/0cOWbYP6HCU5/A4LqNJirCTmwMDqun/T3oeMP4FnD6O5phvZ/nfPP/web37tniiNUH8WRY1zc9yNOPPUlPKdAT3c7s5NHoUrlhUohdb8DpMod+LGBo5w+9FjF17sXXRGaNSriOyyOiYlASUJw+fV307VwIz3zVnBw72OMDpxkwYqXsfvRb7P9V19AVQ1e+0f/w4/+VahhXXXLR7jsxj9iz7MP89C932TRymuQAo9HfvI32M4Yq696Lxu23MKBnT/ntz/4GIqq87a/eID65h5mz9tApqGDpjbh3tq1YDPv/ZQYx4/0n+Q7/3AzkiTx8rv+jrnLr+XGN/4jdmEMM9XAjid+ybO/+iSakSF51xdYuHQ9ge+y+sq3hMmTy9lTh/F9O4Z9iSQhnAD6wqlYwAgvpYAzHraVE8VCzdhtYodl83dUaNQSqm6W6fTLsiqaEEYyhlq6ISRHQqH3THmCbKYaCXyXIHxAyooKgY9mJDm+/1HcEklDRTXomLMOVTOwi1nOn3iu7FjNHUuEHKgpHLSL+SHOn9xdts2s9sVC99wpIMsqqmqGqkLjkWmYjecJl3nDrBPrmCSF93oWz3dFkVEC53Gd8s4WkhSrpk0Vx/Y9VH7Oxtk0dwhFmiDwJ0G/mjsWkxvrD2WSFUb6T06S9e2cv1E0jiY88CbCrUobBaUhkttRVO1SnhvlUeruLiYRY8ItN1EXTkRCMQPfFRKtvocfeKEJZokbuaIKwrQkZNUDPzKqqz3ZjQz+ND0xI4nWwA/5HZJUFXRJkhWUEqGMIPAp5oZRNSM2SYy8eaL/e56QjRdywCUeGiFp3LFCbkjsfFzd2hJJ1cuqhmFmLrn9xHAsAb9LzqhAqy6aW7ro7F7MTNavlwJnCoIA+fcMaXop05QZnvH3cpZaL2O0FkzqvFTcXgkVkaqYVtRE/Fbx/cKlNyTibUxfbAAxuXuq7YQ0bAbbyuO64xzHSuez7SLJZB2OY4VE73FvDLGNFpO9xfRCENOFClVKqPRNcD8Xk44UhfwYjm2hTYA9qqowCLTtolCYDV9XFDU27LOKwjldC+sE13UEKb6QDT07HDTdIJHM4LqOpOqmSAg9VYxUpiKyyoqGHk49pNwwo0PnQgk9SNa1iPG4lQ+dw7XQVTkRczMSYSfZtnLkRnrJNHbG5EczUYes6uSzA5jJepKpJjzfxSnmGBu5IAqP0MdjVscS2rpX03t6MhES4PShxxkbOEamef6Ur0vJubid70Y589KmG5OuT2ayTN3AsQfoXriWtDKE2tiA0nbDpG0KQ0c4/ujfoJqNGOk2jEwbZqYbSZLxPCFbhucyfP5ZRs7tJj94hGz/YWZ1raYp4zI7cRjFn9434JKhZpDn/uG0mzz9q7+f9vWl628TybIj3MElWRiQRS7GkerLYO9JBi8cZ/1Vd1LMZxkZGUA360CSMJINBLg0zJqD77nUt8xlaGiAnQ98jvzwSQYv7GfLje+nmB+gMHoaRREFll0UEBwJmfxoH3VNndzx3m8hyQon9m3j/u/9XzJNXdzx3m9hJuvJjfXHsJ2xsIMdFb6F3BBmMoORakVVTRqa2+jrPcvx/Y/T3L6QRcuFud2CpUItJJKU9H2PYnZIKKwpGraVE/htiJWmIt8MRdHGXYBDsm1Eck2kay8WivmRmHBdy2pfltD8L0blMb+Eohooqmhe5LMDeJ4zidRcyA4yNnQ+blJEXju2lWf/jnKBgs75G4gI8LqZZuDCoQmvb0QJ1xYQSfBE5au2ntUoih5PuVBUmloXlG1jFcdEV973yWfFpEBRdB6/77OcPPAYDbPm0tgyh46561m28Q4A0vUTlOaCgOGLx+MCYvzPPqcPP8WxCeIX81eMNzAC36dvwqSka8FlpDItwrvEc+g9s7fsdc1I0tAyF8cphiRvMUEYHTxDcSL3Y8Jkw/c9UXAFAYl044w8N2B8EqEZKfRkkph/o8ghPKu8kxhPRML/e66NZY+G0rY+sqoLgRFZDSciclhITZ90W4UxXKeImWqY1oW6UohCZRjdSJeb9FUZvu9RyA6gG6ky6FPEH6noPxJ6rFihI7iRqBPrqp0v448QTkKi4iyCaxEq8hSyg6Fy5EwKDTHVqqXYHP/c5QnOtBHUTtKOzxP4M5L2FqetnOhVsfcM9/s9t4RmVEzNgINRM89DWCVU+83JcuQ6Xt1vWMC6Lv1+orWjmqmMgAM7l1RZUxRN8DsqTEskScIwU/j5MfI5MRWYinguSXI4JfEFxEmSQ3ncxDgnRNOFXG2JoIpppnAci0J+FFXVcV0LfcI0WFFUkqk68jnBl55YcOiawbj/USGGW2m6iR0SzwuFMXzfQ9eF1G/sIl4UYlJWUShYaZrhqUCIT5Ym4Z2n+uCRwozrWKTr28iNXAQCZEUTbuGKBgjinDfioOkJCrkhJFnBLmaFkpXvkR/rRw4t4DUzTSI8rq8nY+lCRdHQjRSOnReKWHaexWtvrlhsAOx55F+56s7PVnxdXf53eL0/QXZ6K25TUzRfO6X53siZJ+lulWlK2qjuLoIl35+0zdjZ7Zzf91MSde0oii6IlqqB7/u4dh7PEf9piQZSdc3UpRRa6ufT2BDQ6E82+JpRLP0sGJUleO38AHsf//eKr7fMXkb3oisEvCFRj6YnQr17N04YfN9j77P389yD/wCBT/9QlsGjv8DK9bPu5R/l/X+7C8fKQQBv+cgviRaHYrHA7EXX0HdmD12LtjK7ewGveue/MTY6SPfcJVw4f5plm17LorWvCKVUYbjvJOpsE91I0X/hMLaVY+D8QUYGTmImVzN73gZufedXcZ0Cc5Zey29/8TUGzu1j9vzLuPyaO1i76eXMWbieIAhobGjix9/5K87v/xkN7Wtp7fwi9fXjhm3RWNfKj6CZqUnStuN+GaGEpO/F16NUIYrAR9UT2KGymxwmhqX69lN+N8UsEAiCas1FivDBqCpqkCmsBrcrKxrJ9CyyI+cZLtVCRjz8j774IBuufRdiHRHTomO7fzmJcL3ystdTyA0iyyqB7zE8cKrs9Vmzl+K6FppmIqs6rlNkqK+82GiZvRQz1YDvudhWDtfOT1JGsgqj9J5+ga6FlwkYqedw9ugODu2+V5jAZQc5f2IXze2LQ38ghaa2hehmOi6GAXZu+yY3vvEfws8Z4NoFRofO8sS95euVouqsj4jdQP/5g5Ocx6NphCjm5UkQqrbuVWh6Ct9zcEJeSBD4nDr0RNl2upGisXVedPGxQz7DTGVcYdzcLyCoyXOibCKiCqUpWVExk/VhYuKJdcX34s8UActFQT9xIiIKDVlWSGVqN/iDEsGFGTmZj0OfplOVmyoiQqxdyIIkkUhNVvwqlaaNpiMR11JwK8dN/YTEcDa+RrHCliRVvC6OnccJIWO1Tg5836OQHyOV/t2rNVaCN/7O953RXoh7Vp4psXymJ63xNDNVEa6B5yFJEn4N3hyyLOM61cvf1vJ+pCohXYqiTOJjTBXV8jtUTQ/5cHlUVSvjT8TbhM7eum4K3p1SR7EwDpWKph8TQ9MMFFmlUAgpClOs57KsoKg6Tgh/Lj2/qhmhb0YddsjzMMyUsCrIjxLowbhsrpVHCWFhmmaQSKQp5MfEv8P3qIIgpQrJ2TyKqsV8jKnC90SypKoCupDMzArxcQWK2SEkWULTU6i6iWYkY2+N4b7jwvzHzOB74obxPAerMCIk+EIsqG1lkSQFM1mPVRilvrkLq5iFADzPpmfJ1ej3/0tFsvKOB77IZa/8KzRzar10Sc3gL/lH5BfeNuXrNUfHGyb9yc5dpDh0FHlWF6p7BiQVOTVn0najF/bS3LGYtkYPQ1NwXJ0ABccp4rsqktyEorZD4KPrEklpkERw9iWpTpWG3/Iq1J7K/iQgirfpYvnm12CHD+No0ZaQUFS97OE6b+kWzhy9Ed2sp717KUMnfoWsaiIBvHiM/Tt+gufazF/xMhzH4sWnv49mJNn66o8ja0mKo+d54akfMG/5NTQ0L+E3P/xnLhz+Ne2LX8XLbn4LDc1z+Nk33sO54ztp7ljCG//kRyzbcBvNbQtQNINZ7UvZv+OnSLLM4nW3xC6j/aeepf/UdlQthaa/CYDGxub4fTe1LSU/dJTG2atJJFM8+/DXqW/qZtGaV8Sd21I+UmlE04tQoqUsBLRhCDUkoJcmDSLBLsbd9sgfIPIIkGVVmOMFAUayrmY8bn6sH1VPXJrkKUm85u4Ps2Dpegb7z3P+1GHOnjrEuVOH6es9PWXny7FyFLKDaEYSRdUrdg2DwGfgwpEp5Qyf/s2XsAqjLN1wG4XsEAd3/4IDz/60bJvuRVfQtfByPM/Bc23OHHmqrCCSJIn6pi5BAg4XWaeYK0v+AU7sf4SWzmWomkm6oQMjUYdmpEjVtZIbHdf5f/K+f2L55jupa+zi+P5HOLH/4ZBLJqK+uZtlG+8QSbDnEgQe85e/jAO7fh5vc+i5e/F9l6UbXo1uJBnsPcaubd9gdOhc2Xu64hV/UqZONbG5ksq0kG5oj6VfPc+m78yLZdt0zFkrcP0TOmuDFydLAxfzI/FEQZIkdDNTFTZ5YpR6ZhgT1IpqCQHbycZGsFHIkjr1lCUYN6wTRZVHPjtARNKOlJ9Ki5FouiiHk5FJhwz3kRVthtK+AcWc4IfMBPoVnV8zUhWLvlJp2onfkufaFAsj4bml8Pp4+J6H51px8Rn4/hTriyJUyDw3hETWNnVw7IJcKGRJJqvzLHkphGkQkw1Nntm9FgRBzULNWhcQAAAgAElEQVQcpTEzFavfD6xpwlmp5Tus1XRP7FMbz0OWZZxaXMSrTODLt5/eFyMKpVoncUkOr+L011OsLVEBMw0PSdEoOlmSKQGTyuVGYlWnKNTQhC+CMgkn8YyAVeVGYliV5zmT1lxZUUim6stgVRPvWcNIYFmioZ/PjWAmMuF0VEILCeiGmYwlfJPJDHq4j2mmwtdsbLtI4AYhREsQ4i0rT7GQJZVuEMWGZiTDblGe/NgAdjGLohpCCUYzxZfmOQIGNdonDJwUDS30xkikmjASdehmOiSP5LGKAhriqobozKSbkQDbEk6nuhmSfULTsSDw8VwbSZLwfJvB3qPUz+ohCIIQ5uBhJJoxEnUsWnNzZe5G4PPIPX/KDXd/s+IXrPe8GefMv6MMV+Z3VBtS89ZJfxs89hsaWnrQkvWiMGi7HWmKh+RY7x7SSj+tyjkk3xmXJjWYiDAQ8b+4RgV6G8rqytcIoJi9yOO/+JuKryfTzSxe80qMKh4q7R3dvPad/0gun8PQDebOW8TAwAW6uroZGzjFnieE6ki6oR1Z0Th16EkANl3/AZIZie994bV4nsPh5zfzird8Ac/NYhcGKIydRjHSKKpOS+cyrMIYjbNEYZeqb2NefRsAux75dqxINXveejKNnXhOkXVb7+bC2S0sWnEV584cZefD30QxGnjZrX+ImUix9cY3Ubj6DkzTRFVVdj70dZZvuoN5y6/FKo7NSD4yCHzy2QEBywgTiUpJg9h+fEISyUQrmvhdFfMjZZCKOKGSFaEmFE5IonWxmB+t2vG3vXMeS1ZexsjQRRoaW2ht72HNZgHv+fo//Sl9vaen3M9xCjhOAQkpXEPEyDcAPNeKGwX9E3gIc5ZczclDj+P7Lru2fZNd26a+P+uaOrn61j8X+HtZ4O8nTkgaZs2NZZD9RN248tCEKc2RvfdzZO/9yIrKez+1HSnkFlz3mk/yy29/IN5ubPg8T9//5SnfTyLVyLV3fEKMk820eGAFAVfe8mHOHt/J2NC42eaR539T5l4+MZZvuoO1V7+17G8TORZtPauFuIadRzfEg2Zowudvq8DDmAhb65izFoIATTfR9BSRq7TrWPhWLn5YiiRdG4fphN3xKGLIlJ6ckWcGRMISwnuppgQ9JG5KCEnaYj4XStrWETv/hsm15wnBgqiIj1qfUREvywqE4gQTOYxVf46QnyGrGqaZptZ2dATbmhkRnNDPaqxsGiPegcpUedfECWwxPxRLMhcL4+tLdJ3G1xg1JPYr4viSFBksKslkpurvLwhmPl2AcDoxU0WpGZO1Z/4wDphZkTLTc85IwSr83dS2S20FiiTJVTt9z+T4NRUbkWlgFb83wZmq0pfD96f0who/VvRaICYRioZVzAovjJLiQjR/ymGJYns1VJbScGwLJTF101PXTTGNKARl8rjR5yEgVpcqFMZKZGwNikXxvFZVDVlOkw+VpkRDVFyHCMJVyGexrSKGKeCmkfeHZeVVVZxMFVCMIKCQGyJV1yrInMUcxbAjJDDowoDPSNSHrsgJgiAgnx0gkWqMid+ansDzHIG/DjXx65o6UVUTxylQyA0KLeLQiMtM1pNMNyNkBQvkxvqJsKa2oiHJsihE0hKyqrHp+j/g4O5flJFFS2PvE99h9dXvoXXu5ZVvhLXfInjiMiSnepfSKcPsnPSn4ZPbqGtoxFQdsMGb9aqJFgdYo6ew8/2kWhqQODnpGL/bkJBWfwvJaK68SeDzy397w7Tk81Vb3lhVoRHFoYO7efY3XyBRN5vLXv4uitkBnvztQyxefRPrtr4d28qxbOPtqHqCdH0rifQsZrUvIgBmzV5G7+nnaZg1B0VR2Hztm+hdtIWOrgUURi/gWUk23/B+Lrvxj1EUlT2Pf5eBC4eZu/Qa5q+8nvae1WghRE+SZEYGzuEHPktWXs2SVaJgfOw33+bkCz9HM9KcWX0DC5euR1EU0ulxQumyTbfTueCycZ36mnHMAnYzsWs7XYxPSGQhmZnIjBcLocKPgGVFsIrQHyGEVEAAkpAq9T0XI1GHY+cv+TCxiwKq8tV//CC+7zGrtYvZcxbT2b0I2576t6fqCRRZQw+9C8Sko1yu1kw1oGrmJLnXlZffxez5G9n+6y9UhG3NX3k917/mr4WZUHYQVTfxnCK9p8s5Cx1z16FqJo6dp5gbjknKcxZfycmDj086blPbwpBA7CBJMq2dy9h0/fvYue2bZROMiZFpnM3L7/oMdU3dQrnPLsSQukS6idve9TV+898fpn8KdarSkBWNdVe/lU03vF+ILURFItB7qvyzRcIHUUJ+5shTk77L9u7Jnjmea00q8JraFk6aQiiqHqOigyCE4wReLGFeCl8S5EoBmYyeATMJx86Le9tIoxkJZoIXiQqeidyKsglAiZxtzIsIfzPCvXc0nogItcR8CG1U40Q7SranCt9z4olENQX9xIjI2JWmpZfeP+JYVF+sla4vRUuotpWS6CN+ZhB44fRIFG+Om48nJFFCKxqGAu4iyXIZjrxS+J73EngTL6VgAGZI1p5O9raac/6+hTxqlbGVop1qCGkGBUrtcrnVK16JAsKpiuIhKyp+FfAoiAjZ7iXvbUXVcBzrksWOqmh4niiKZFnGTIiJgBsm/ZIkC15GCKUqe9+yQiJZh1XMhWTzqa+NEsqYq5ouDAYnTE80XUh4a7pJMpGhUMwKNStVR5akWAZXlhUSiTTFguDOOY4VvydV1UmmBMRL9cbNLnU9geNYQclVkAQfI4Q1CWUpCV0TI/Viflh0URELqlXMCs8M3cSU6ynkhkikm+IFUlE0kplmMVJPZHDsAlZhjIj87DnCD0DVDPJj/bFCg6IZaHqCTEM7tpUPSccSkaGUbeeRFZUVl72ePY9/t+IX+JMv38m7/+4oijr1CFpOduNt/BnB0zcg+ZX9Iy4VuUeuJS8vhLp1GB1bqevYzNDJx+huN9BdUWgpLZPleEfPPo0seSQNoDrRhP+18Lv+ALX1pmm3Ofrcj6dVoFI1g1VXTIaQTRfnjz/P0PndjPS+QGHLG3jh8a8x2neI3Egvd77zcwz0nWPX9vuoa1nIitU3MTp4kl2PfhuA137guwxdPEbdrB5O7NtGw6w5rL/iZsaGzvJfn7sN17V42Wv+mgWrX45jF3j2oa9TyA3Sf+4gHfPWx14csqzQd/EkD//wE8hGM+uufCNL11wDwIr1Nwn1JDPF/MVr2P6rzzM6dJbO+ZtZefnrAdh8wx8Kjf9U48xwzNnBmvHbgGgE5IeRFbU8iQnx6kgI9ZupRyNiX1XFTDbEvjmXepgMDVzg6IHdrN54HbuffoC+3tP09Z5mzzMPVtxHlhTMVAPF/DCanhTvS9VjaVnXKVLICp4FgSgKomSnfc4aWjqX0dy+kN2PfJtzJ3YR+D5msoG27lXMW/EyFqy4HscpIrliHfELjpiqJjJ0zt8Yv495y6/FTDWgJzKxd1Dg+1x7xyfYue0bHN7z61h1SpJkuhZsFtC23DDIMrqRYuPL3seiNTfz9P3/wsWz+8gOnycIAsxkPY2tC1h5+evoXrRFyP36XtwNtAtjuHYhNBJM8ep3f4MT+x/m0HP3cf7E7lD+VKixNLUuoGfxlay47HWk6lrjiUKUBPmhAlMy04TvC8WmucuuKUsGC7nhss+eSDeHymTlMTp0no45a+NkUZIV5iy+ctqkVpIkJEVFdMVLE3Uf28rhhH4RgaKGRHofSuB+YhpSWdo2goIFvjejKWF4EKziuJt2tYT22AtDkQkCBbs4NOVExPcFh1DI9fph8j1hIqKo4poUszP7fSMU6VynOCMyNoTy1649I46FuPdFY3GiWpfgjQkRDph6iXGdIsX8CMlMM25xxHMRxpRVFRtBbXC9ie+blyJ9y8z4CS9Fbheqk2+dHBK/T9LGTGBUM4GI1XQtw99lVWZ9ioI/BZdh6sNWbxooK0JW91L3toA2XZoXqaganuvEybkkSaFvhk0hn8Uwk6iqRqGQnVRsxNuHpGxh7Jea8vekqTpBEMR8ClnRY0lcTdPI50bRdKEom0gIx3Hf84Tao1UgkcyEn0sUOMVCFtsSHI1xI0EVw0xSyI+STDXEcCxdN714VQ4CH8cS3c7IjCuZmRVPFVQtwazZHXghTCoIvTc0NxV/4NxIL2ayQahWSRJ2yEiXJBkCN1Rx0XBsKZx8DGAk6kR3zHOQFY1CdijWME+oRryAZ0d6UVQD3Uihagbrrn4rB3f9QsgRThH5sT6e/MlfcvXr/l/lL7lxE+7q/0Da8wZmKocrBzZO3+NYgyc48uhncVyHZKYBybdR/UFAQkp0T9pv9PxOTM0nyWQX5t9ppFegrvqnaTexcv388htvnXab9de+q0zi9FLh+x4r1l+Hppu0dS1m3sJV9G++m1P7f8uS9bchSRIvPvtL9j7yJfRkI7NavsNo716evE98f/OWXUu6oYNHf/Jp9j37EyRJ5h0f30ZEHEWSSKabYmnHLTd/iLPHd7BkvfBAGew9SiLdKAzJUHAdn/zAbs6fXs+chauRZYVMXQOXX3cXsqJiFcZ47vHv4LkOo4NnWXHZazl75iiGnqKlbXbVnzuKiCg6I/z2FLCrWqJYGBFj2bBIiRKhSyV2DU1tLFy2gUXLNrB4xWYO79vB6RMH6K/A1wCRONhWLvz9j6GbGfRUSfISBHieMO3c+uqPEQS+SHYlKVbwampdyC1v/zKqaoR8riaxPtkFkcSrRkhqkyPYBtfd+UnMRN2kzEGWFeHdY6TiNWfDte9m88v/UDQ+nCKSohKRkz3XFlNdK4dj5dCMFNe/7tNoekKYJuWGkBUBKQp8UbDpZnqc+C8RwpCEuZ+saKiqztINt8dKVVFSWOp9EUXp9xt95pff9RkhvBDCXf5/9t47zK6zOvv+7b5Pmz4jaSSNNerF6pZlS65yAzfcjY2xTQmQQAJ5A+QlwPtRAoSEhBJTAgQDDiE4gI1xwTbuDdmyXGSrW3U0KtNP3X1/fzz77JnR9JHk4DD3ddmjc87uda1nrfu+iQZ/FEVHVjVmL7mQOUsuGjFqSlc0cOEN/4imJ9HN/nrtY4E45j2oWoJU5eQBL+dyABgEXpxgltuYkCTkSCoaScK1C+NuFxLbYmMVs+hmCiMx+iprXwzFverviTK4wV+5omgVuuLkqqxeJvZVJFqxUlR0rR29HKvQLfqr08NUm4dAGIZxt0AiXTPyDIPsRzHXPm7/Es+1I/GXetFyZyTH5CAe+P6okpLBcHxkZMfHuxi/3O741jnu1q0xcinELNKYWpxADJ4E/thGTsdaHeqVfR452ZAkWQgljNZ1XB6lk7is4I9KXKXstzG8KpuiKNh2EZ3+956q6lFbVYHy9TLcvhh6gmIph20VUDVjgBJWNlfgjV1bsEo5CrkOHCuL5wnTZcPMYCZrqambztw58zB0nUQkt1smxPc1+SvzRmyrgG0V+vl/qKqOomqUilkMIxkrd8UEcdfOo2oJ0pWTxUsUiWKhg0SqBqvYHY8YKYoWkdaSFPPtYoRMkiPn4DRWUVRGyjrqIolQ+6mSqHoictsVRMDA9+LRDd3sn5VJkoyRqCCRqsL33Ti5kCSZpWfcxPqHbhvyJG545F9ZcNq7qJu+cshp1MYrcApfQd3xiSGnGQ6m/Tp1VdMoBAGJGfX4gY/kdFJZ1QT2PpBNii9/HEuZhVazlPSUU5HVBN0HNlKpeah+x8grOV5QK5CW/wdIwz3YQx78yfsGOCj3RWXtdBatvg7HLsSymsONJpaDk+raKaw66yq2v7aelzY8wqq1l7Nq7eV0dbaR7ekmUzONVM0sqhrmk6moJqGfzMzF52OalWi64BVVRnyMZNSPnEzX8N7PPonvWpjJarZsuJtkpo55Ky9jwaorALjzX6/nSMvr1E2Zx/Uf/SWpigbOueYLtB3ex+Ll5/D6H37Oni1PUDWpmTVv+1jcNrP2kk/Q1vI681Zcxs5tL/D0XZ+nvvksLr7242NSpnGdsk792Ecsw6i10TAz4+oft4rdgug1jpYOxy6xZ+cmGqfPYdb85cyavzz+/t+/8Qm6Og4NmKds+KkoGkHoU8yJ6zseLZV6xQPCIMD3HVy7GJPbDDNJiFD4sgFZ1SgVuvA9B0XV+zkfC66ZFz2/ihR9B1VPomnmoImUomikMvVCDMMtxe7mqqpjJip73bLDALuUxbWL0eBIUQT3qoGRyIAkWmxUTZSZnaglrcypUVRdSCRGFQ+r2I3sFMQ5VI1R+TwEvhu39KQq6mMyvwjkIyGByOejnKSVpZX7BrZ9lyXL6rh9KoDYM6NMHB5KYKCscKTI/UUi+pKUBS/AiFQKcziRMaesiIC9r2rSEFuDY+WFCWaqelxKUSCUxsr+NmMdXRc95EJ5SyRw5fMaRqOkwswvDAL8wMN3nX4KcOJ8qbhOSQQHemrMQWyvf4c5rrat8kDGeKsx5URtPM+2MoJjkJ89Fo8NsYDxVzZ4syVz31Re+XgqGzLhuAZtR99WJktyxIMY5TaNIZmRR+mhUcZoqyBB4CEPoljafysHF+QoVy0818GynNhPY9ClyDKyJGGYaRynhO+5GGaKYqnI66+9QOu+VzlycMew5zVTWc/+3c1UN8xixbJVGLqBJMlRFaO3ulGGbiQp5LsFjyORiY+HYSRx7BKua8c+HarYIRndzAhVnBBK+Q5B8rNydLftIVPd2C+YFIolKTy3RCJVg+fZsQpL2WDLsQtU1kzHdYp4rk2p0CFegKqOGhFhlEQlupGhkGsj19Uqkp2qSbEHRxlxH2AYIke8ENvKMXvxhWzb+Fu624fmPNz9nau59fObUfWh9dH1OX+NlduOfugHQ04zHDS3hSpaoHwNmBLYkZZ9UIJDv6WtTcZRm9AS1WQmLQQ/R6Zq7Jrt44YxGemUe5EyA3u5+2LPpt/yxqv3DzvN2Vd+FsNME/gerl0SlYVohKn8ApUVDVnRcOw8vmtjpmqQZYUtrz7LE3f+JSEhmvI1NKOCZ+7+O1RVZ+1VX+WqD/2YZCJFx6EtVNY28bYbv0bHkf1seO5+wiBk8epLaF5wNol0LT3te9m29xWmzz2dmoZZvPrMf/LkPV8G4MoP3M7UWasIw1C08yAI4wC2Y9HUvJCTZgpH992bH+Pg3pfoat/Nuqs+J9pVJJnFp78zepnmaN/2IoWeFppMLTb36iVJRkFe+UHR5wHkOiXRQz2uRCOIlZ3Gl2j0AFLkRD16mIkUtlWkkO/h5z/4ApIk9eNrNJ40d8g+VFUz4qBFllSSmdrI/DAcoPMvSSEKDoqhEQSiSuFZnYQhqFoyrqAqioSsQuiXsLI5pCiQVhUNTxajMrqRxrWzuPkjeJIUPWdMEbj2OR++54BfRJFVUDR0M4Pnlsh3t0aEuASyqqEqKpJuYtt5dD2JlqwQrSKFjqgFScZ2iziyjKoaeE4JWdaQ8AncEgQqqmYS+C6+Z+PbDkW7gFxW+xsiORfVjCKB7wnyt6ISeDaBN5AjIyOSMdDECJ7v43sWnuPF6mYgVP80PYmsavjO+Hx5fM/FsfOClK+bQ27TSHBdC88piYRU1RD9OXLMDQl8L6qE9G5/7EcRkdRBwrZE8qQbqagtcOjBEQGpX3AYEuKUcqJtyMgQ+P6YR2WFc3w+Vm8cXJZTAklBUXpbHMPo/4HnYpVyUYuhj+t29Yo9xI7iCrKkIinKgMCp3IKm6QkUxcD3xhboBWGAXexBN5KAPOb5fc8R/JJkFUEQQpRIhX6YDuQxVEjUgEBOjjroDyPzR4AAD3STQBn78xEATR3XvEHoghwSKCMkaGEIR41qh5pCqCXHnDuEgU6oKARjTax1lUA1BmxH/82U+pP0FZ9QcQnG8N4JlYBQsgm00Z97KWHiq9roE33ZE22NI/hc9F++Piq/F0n28AMfeTQk8VFutyKn8XwPeYTjKCcSeLI8pJu4rIFpCudxHXNInw8lmcQF9EwNdinLxg2PsGvHejrbW0bcJ4BcTxu5njZadm+g69DrLD3l7UxtnE4yVRFL2fZNdiRJwjASuJ6DVcrH5HNZVgjCANNM4TgWjlMSBHHfd4TCjSr4EuUHd1mDt9x/3D+LEw9vSVbEi0wRQVjge9FIjUkYBkK5SrUxzExcVhcmRUHM0TCTVdHoUILAcynZJSRFQdeTkbSljWakospHmnzPYQLPpapuBuuu+QJ3f/+9Q7pF5roO8Mzdf8fZ13592CEMc8V3cda3onbcN6qTMjz6P0YSwR5m1leRDWspFNso7NpMJuigQk28OXyN5GykU3+HlJwx7GTdh7dw17evHnaaucsuoWnOGvEhvi8i6cmYnFz2LCjFgbhrF5AVlYrqBqoaV0DoUls3lba2I3h2FqfoEiJTWVnNs/f/Cxuf+BFmqpobPvYrDh08wGuPi3aqTPUkTllzKbmuA/z6ezfjey7zVlzKBdf/A7VT5lBVNwPXKVE/bQGe5+KUenj7u7+B5xQx0zWsf+o37Nz4Sxqa13DepR9EURTOver/cWDPRiprplEo5Hjol1/FLXVw2kUfpa6ujmSmjkXLL0BREkybsYBEulaQJctOyHGA1GvkJ8sqZbPLRGYcrRFB1DplpuJkaSwo8xHM5NgSDYC1513NklPW8f1//hinnXU5LXu3cWDfdl55/pFh+RogCK6lQheaZqJohhhNT9dSzHfGz4oyQreA17Yx/iwhSq2hksJNzhCBpW8jFbYPOj7lA625JA1Tm1FVA9ntQXci5Sdb3IWD3V4qoFTOwVfSglCMJSqMfgh2FApKEjKSKGy7wq1Zk6Tokg/Bi6iNPuCKZUp+nzvfBxxQI15ATOT3y9smRv9lPUPol4NU0X6kl+cp9Qx7rPui3M3dL5wuj7xJELpFZF/pP4fUd+5hEAaogCrL4JWgT0wqaamoEn5U6FT+WH7mRmRsHdA1CSnIgnP0LBJKCEjCh0BSklF7qw94EEAYiAUnFJAIIA7wR9gHNQFxMiGOTUKTgAC83PDzDooQKQxJ6gqSEkI41sQrJJTD/i2GfZmssvCriial/5UcnVNCUsl0dIxHmSjIapx0SSGkKsb+bIq3QtbRjEGCKCW5UG1YSTjKwRXtGPkP4o+PpI49adAHW3cYwrAj0WD0XuBjXqdqZ1ETAzlVI8Esr3OEbTsaxpiOb+81F4qn1MDfPRtJP9ogUrRq9ba1jSKVkiTMWElxLNW8/tMP5nNWxtBvzqHWN1ypq/f7ZB+FthH3dVB2/tGfo+MwgihEpl9VQhp0MWHgEroFtjz0j2x47lcDlnHyqe9g2dkf5NCu9fz+V5/n6j+/g4q6Zp6+67PseO2xaJMD9u95lfYje1h1+hUsWHQqppkS5HJh0hcvT43kcTXDpFjMkkgIRUbDSGLbJRKJNEHgC86GpiWQkhKeZ+PYeWwrjxuZX2WqGkVfbKFLmCv1yeSUKMEQxjgKiWQVrmuRjpIWx87jFETQKStqvxaCssye7zsUcm3xi9H33cjIr4RVEkmJpidFwOqWIPJwEGaBnUyafjKnrPsgz//+O0OeoI2PfptEupZTL/4Mwz0c9FPuxH3xBpT2e4acZrxQg25qeIGaBARJ8dhQ/Pbjvp4BqFiBfOp9oNcPO5mVO8TPvnz6sNMYiQrOuOyTg/wSSU8qMiDk3sIwIFlRH/dYls246uoauOj6L2AmhNFLbUMjZuI76KbJjOb5sRCALOvIoUwyXcukxlnUzzgT18oyaUpZiaeeqrpmOg5tj9V5ps5cxbs+fg8SErt3vsLT93+dqtomzrz0r6mqmgJAy7ZH6T74Mk6pi+xZ11NdXUvN5DnUTJ4DwEsbnuTAlt9AGLLj9WVMu/j9sZTs4pXn9u6xpII8sHO0r3ykIJunce0ihEGkvCFFFaBeEm3ZXKts4BcEPlahK1KsGnsv+7EkGgCHD+wmN6cdXTdZffblrI6+7+lq48De7RzYt41XXngMxx6o3iFK0S4lpxS3TGmaiZmqwi5lCYNgRL6ArGikKuoJwxDfKRBae4acVjdTmMkqwZnwnDG9+steIF52L1J41Mj4YO+Po74bbF0DvguH/y3wXaQ+rQfSUOseB/ouS5B7+wZ/4djXEw5M3cIhvu8/wdHfjaBBE/b5x1HqNtLRE/addliE9DUokuKDM/6DLZZRXubYlzO8L4F01D8HXm3jCdD7BWnHyHUYen5JC2VlULn3Qac+pq2IENhII1UZRrnuMAjHtaxRr1NWkJTxcZSAKBEdw/rGuZohw/EgQFIHD+PHuq7xbNuAsP0Enqs3G6O9Z4ZdhqKz44U7ePqBbw36e6aqkfo5F6GbVfCrzzOpeQ1G1Qwqa5oGTFsqZnnykZ+i6yqz5qyIyOwevu9hRNxsSZLQdJMg8Ekk0sKgUNMFcRxRFVdUTahRyYqKrqTRSUMYYiaryHYewEhUCKdvRegKF3Md0ShtiGsXcOwikiSTqmhAkiQ818b3nJjkllCqsa0cdimL51o4Vh5ZUdH0JKpmxIGJYaRjYq/nWlilntgYDhQxr52PiZW6kcRIVEbtWd0sO/Nm9m57aoD8ZV88c88XMBIVLD33o0OfJcVAO/XXBLtvg21/C8HY2wRGAzkcnULCsSKsPR9l5a9hiAdDGZ6T444vrR7SKLGM86754rAExnL/sCTJwuQverEJnf7em8hIVPDCI//G5hd+RVX9SVzy7m+xd8dz3P2D96LpCc66/O+om3E2kxqb8DyHquoKrnzv13Ech67Dm1n/0G00TDuZaz/yn0LZR5J57oFvoJkpFqy4HM1IcnDPi/S0vkjPwY0sXP1OqqoEcXLNxX/NrtdXUVk7DUOTeOI3X0KWFdZeLHgYi5edTq79b/CcHk4790Ze+8MveGPTw1TUTGPdNZ8f8QUtIWFZOVQtMWhvfkwqDfzY3Tkmz0JkNmhFrQ1EMqiDK/kMcgawCj1ixGiciQbAay89xWsvPYWsKBjB0xMAACAASURBVPzn9z/P1JPmMrVpLo1Nc1i4bC0Ll61lz45Ng/psqKpBqqKBMAwJfEcQ46M+f0XRsdwegsDHTFQM2fpS3ldJklA0fdgx27Ipl6wn8B2DYJS3lmMX0PSIwK2bBGMzph1sQ9jzxisoqsr0GSePerYg8FDeXBXMP0kEvot8LL39/0sguFH/e4KzCUxgAv3Rsetx7vvpx4b8vVwdViLBJjlSGVT1oRPgxx76KZlMDbV1U0WrmSRH7uJC4l7TDKxSHkmTSSTTWFaRMAwxjCSlUp6kqjEwjZIkXKeEmaqKA0vPKeFGyUK+55BIBDSDVKYuJjGGYSjUdvoGo5KEkajAsfIEnksyUxcRQgvYpaxQf3FtzFQVxXwHhCGpykkiYCsK0puqmfjloKXYQzHXEfX2+mhGimS6FqvYzdlXfJpff+/WWFZyMDz6i4+TSNczd9WNw54sufkjhNVrCF+6Hkq7h532jxXB5OtQl/8UpOEz5cB3uPOfzyPf3TrsdEvWvouZJ5835O9l8r5hpEelaFLoOUSuqxXftVD1BPu2PsnBPS8BoGg6cxeupGXnH7jzG/8HCZkrP/jvpCsns/7B2zi072Uapi1mxvwzUVSdrS/ew4uP/xCARKqGWSefx8mrryFERdbSNM2Yy74dz0IY0jR3LY1TmwHYsuFuNj37cwCmNq+iedE6XCvHaedeG5MtD+/fxIFdL9C6ZyNnXPpJQRAeAmX5SEXVhyQBl2UklahFse8Yle85lApCGjcMfNGaZfcmIrHef1lOVCqbqwFI2KU8kjx2jsZQCHyfPTs3sWdnbxJfVTOJqSfNpZAfvsVHkiQU1YhI1RVCl9+1wC5gFbtxnSKyX+JYwx6nlKNU6BwzOTbwXaFwp6jo2AN8cMaKzo4D/O6efwVJ4tYPfh0zOfR10hcisTrxvZSe5/L84z9j7Xm3HNflhoH/JjsGTOCY8Ka5V7+pbOYJTGACgN2zl3v+/b29PGegYcocZsw/GzNVhZGopLJ+FgBm5TQuueVbKLqIVabPO4dSvpsjrVs4eJS3k+97PP77n3Hl9Z/Ac22SqUpkRaFY7DUAlBVhjKhpBqaZwrIKOE5JiGC49kCmkWPlhapA4EetTYgezzCMlaJsK4/nWuQip1JZkvEiP43BVGDMVDV2sTv24tD0JIHvke06IKQmfTeudJSlBxPpGkr5ToLAx0hUoGkJwsCPzJokPKckzMIkCVUzSabrOPWCv4ilUofCff9+C3qighknXzrsdFLVCqQzX8TZcCNq5++GnfaPCmoFzPoU6qyR1bXCwOW+H1zP4b0vDTtdw9SFrL3k40MtBccqxAnqaI2oVl/0V0yZsZJJ0wVJe9lZt6IbaVKVDaQqJiHLCsVcB14ku6aoGolUNbMWn0ep0MHkpsWUit0QBtROmcO85ZdRyB6mbspcdDONISmsveBmQKJ1z0bu+eEHAHjPZx8nlRYOx40zVtAwbRGqajD5pCVsf/leutr2svCUK+LgdfmZtyBJMo3NK0dINCIyd9mpeowIAi9SfasdeAyjtpMwqoYEgR+pPPQS88OIcGokK6I2NIVye9uxoLK6nnPe/i4appxEtquNF597kNdfGtp/ZUgIN6ao6lUdtT0NTlYei9GTnsggyyqFbBuK1zPq5MVMVmHoYjvC4nh69vujtWW7+EcYcqBlG7PmnjL8DBEkWYYh+GbHE48/8F0OH9x53JONEwlRjTg+y5IVLSYw/yljKAWxCUxgAm99vPTw1+g+igw+pXk5a2/4Hkc3oKmJWmad9oH487Sl1zNt6fXkjmxjz8u/5PHffKmfcXZX50EOHtjBpCnNgqOhGbEfh6abaJpwKVdVnbJXiONY5WX0bxDznFJkClRNqdBNKd8RSRDK6IlMFASFSLIaa9CHgU8h107gu7FXh6xofRSJVCEFqeroehKrIIyTyn3lVfUzCIMAzy1RzHcQhiGqaqBqJol0DXYpRynf0UeWMkQ3krHuvO85uE4B33dpXnAOXUd2s2XDXcOekLtuu5Lr/s9DTJ177rDToVagn3YvzvZ/RN31+RPWVnVcICnQ+G7kBV8GvWHEyT2nwG9uu5x9258cdjrdSHHRu742aBIR+B52JFkpJDVHHxkkUtXMW3Ep6x+6jZ72vTTOPJU1l/wNxVwbGx75N3zPZukZN3PlB29HVlSq62fh2EWWn3kry896D55n8crT/4GmJZkyYylr3v7XaEaSw/tf4fufXY2saFz5oR+RqZqKmRAO9X7g4ZRypFK1IElU1jVx3V/+At93yXcf5Pd3fpowCOhp38tFN/4TAHWN8zn/ui8Nuy+B72GVemJFt7Gi7BUxpCGZJHRoJKVXzjRGGEaqUyFmqjqWlA6DIDKs6m1lK1dCer1vht8uWVa4/r2fpm7SNHzfo37SdGbNX8HD99zOC0+PQkghDPE8Gy+SgFU0g0S6JpJIDLADCwa5pXzPwckL9TplhJKD59gEgS9at6yQMDe4785gKEvwBn6awO0a9XyDoXX/1jihat2/ZdTJRuD7b0obVS57YvhhkqzAKIyrxgNZUY9bgiCNg6IyWgRBcNySohONYx18GMOa3qT1/KlhomI0gcHhFdt4bf3A2LfryC6srl2oRgVqoi4mq3tOnuzhLQS+hWZkqJi0BEmWyTTMY9F5H8cqdPH0A1/vt6zNm55i+kkLKBXzaJqBLMvCwdwuEgTCL6evq7ium8iyTBD4grMRhgG+J1zBzWQlVrFHjChLEukBbqQSupFCkiTsUo5kuiaSv6uOJBuFoVXgK4AYlZZkBdcuoCgaYRBQKogXe2Vtk1i2IhjtYRCg6gl816IYTa/pCXxJItd9kMra6SJLikadJXoJuWayElnRWLLmBgrZw+zb/uywJ+bOr7+Ny/7sDmavuJaRHoz63E/iN1xIuO3vkDseGnba/wmE1WciL/w6UuWyUU1fyh3kv/7xbLrbhm8RkySZs674NKqeoFTo6tXwVzR8z8axCpjJin7OwmOB7zm88Mj3ALBKWU4+7Vp2b348JvtPblpK86J1ANzxT5fQ076XZWfczBmXfZIjLZt57oFvAHDKug9w6gUfRpYVSoVuPM8Gz6bQ00bt5Hlousm7P3l/ZCZX4uffuBoIWXrGTcxafCGuXSRZ0cC02afR0bqNabNXY1s5drz8AMl07fDtY56DVeweYAg2WpR16sfifNwXVklwNBKxweLAcxEEPmHg9Tohl03WRgjk6qc0UTdpGvf8/JtsefU5mucuZe26q1l38U28tvEJSsX8oPOFYYDnWLhOATny5Tn62JTltv1BFlGurHq+RyCFDHdUJVkiEbll+4z+VXxcX9lhSGvLNiZNnkm2p40D+7f2+3nj+vtIpipJZap5/ZVHaTppMQuXnsMrLz7I4UN7WbLyIiZPnRdP37L3Nba99iSKorFs9aVUVQtxg+2vP0Pb4V2sOfcmJEli59Y/cLh1B6edfQP5bDuvvfQwCxefw749r3KwZSsLl55P08yl7H3jJXI9bXiuzTO/v53Tz7uZA7tfY9+ujaxYcxWJY+D3nFi8RQLWQdVm/sTxprVrTWACEwA4vOspctkjA77ft3MD3/3buQDc+pmnqW4SQkD5I9u49/s3oBkp0pl6ps5axYIz/5xEZROyYjB13jlID36rV2UTaG3ZgW0VUVQ1rm70q2J4DmEQ9HMVj6RyPRUEWTLbsV8Y+BW60RMZjESFqGwM8RAtS1h2t+0hma5D1Yw4YfA9WxhdBUFELhcVD2HiJOPaRVTdxHNLaFoiflBLshwnGGX3XMfOU8x3YpiZOElJpKpjwrkkK5ip6ljvOJGu5W3v+hd+84P3c7jltaHPTBjw2++/i8VnPMy57/xXlBFk85SqZbD6fvz2pwm3fwa5++lhp39TkGhGmv8V5CnXjHqWztZX+fk/noNjjdA6Ikmcd+0Xmb/icghD/Mig0XNtMeosKciqhufakcmOGmvDjwaOlcd1S5x64UfIduxj0eprAZjctITJTUuRZYWGqMUKiDkluW7huN4wbQFzl11MMddO09y18flvXriO86/7Eoqq0zTvDF7/w52oWoIFq65AA8xEJT3te/E8m1zXQXzXFtJtdoELrhMeHbKi8fzD3+GVp+8A4NZPPUw6UrPqi2NNFMoeHsl07Yhu3oPBsfLAyGTw2Kegz3eB740YIBmG4N7s3rkJ3/fYueVFcj0dvO9jX6NhyknsfeP1gdvkFClk21A1Q4gEDLNfQ61eUTTUdC2B5+DY2WG30XMs7FIPhjk292jXLiAnhBqR79nHFNZ2dbZilfLMP/kMkulKdu/YSCHfTSotEsDtm59FVlRyPW24rs2eN16hvW0fm199AoDDB7Zzw/v/GVUzaN23hXvv/Eq87P27X+Xqm79IMlVFy95X2P76M5x+7o1IKLTs2cTWTY9z6pnXks91sunF39HVeYCW3ZuieTdx4wf+hUMHtlMsiIrPqxvuZ/U5N3G4dTuvbrifhcsvPKZk48RyNt4aAausKANUs44db419HxITydcEJvCmYsdLvxlxGq+Pz1IQenQc7h1w3vn6Y1TVz2Hm6vcCRLQGFa9PsuG6Nju2bWDRkrOwSvl+ErjlKkaplO9X3ShDJBtWHllWhbupJAlXVU9IWZWdewdDEPgkM/WU8h0i4FJUJFlG1RMoqoFt5YTXgiQLx+AwQFVMkplaVM3EKnRjy8LUqLwO33fEciQ5rqAkI2Uqz7XI9xxBlmRkVY+rGWU4diHilqS57D3f4c5v30C288CwB3/T0z+mZfuTXP2xB8nUzBh2WgCl7gyoexz34P2Eu/8FtefpSAv+zYIEmZOh8UbkmR9leDfw/tiz6bfc9e2rRjXtGZd8gvkr3xGtUkJRNCQi34hUdWRY5sXeKZ5TEqSkyGNCUfUoAVH7JaxhKNyhkRA8m/M+JLZt61M8//vv0DjjFK758M8AeO0Pd1IqdDF/xaW859OP09a6hcYZK+k6/AZ+4HH2FZ/BSGRob93Gnf/6ToLAY93Vn4u3e+MTt/Ps/f8MQM3kmUyavgQkiUvf810K2cNMnXUq+3Y8y/4dz1JVN4NT1n0glultnLGC/dufRTPThIFPqdCFLMvIsoasaoSBj2PlSKbr+pshjRKiMpQnmRmf825ZmS2RrhnzvKK62DnidO2HWwjDkAvf8T4e+NX3sEoFKqtFi55lDcG3CMTxcwOfIPDRtETsqD0WlBWmFFka1gZBM5K4joVrF9FCZ9RE78D3KPQcBkKMY4yLWvdvA2By4xySqSp279hI6/6tzFlwWjxNZ3sLS1deiKJqbFx/H5s3Pck5F97Kts3Pc7BlM21H9jClcS5PPvwjkCQWLTufziP7OHhgG69tfIhTz7xuVNtyuGUH51/2Eba+9gQtuzfRun8rU2eczPbNT+M5FotXXYI8Um/amHDiguIg8I+ZuP9WxVidxP/oMFHZODGYOKwTGARO9x7aW3eMaZ6jny7TZi6nomFu/NktdfXjbJRxYP9WZs9biSTao/oZG6qqTipVRbHYgxIlK/FvAIlkFZIkYyYrI4Oykhh5tgs4doFUpn6AG6/vOfiuTaqiXii7ZA+TiUZ/XbuI65TQ9ASpygYkJHQ3TSHbhlXsJpmuFT4MmTrsUo+QAvXd2BAskaoRJBNZiQKyehHURkTyMJretvKRYpUBIVH1RBfSmukaLn/fv/Hr794ilK6GQdeRXfzoMwu4+H0/Zs7K6wY5DQOhTbkYplxMaLfh7f0xHPovlPwrI843LkgqXmo5Qd3b0U+6CTk1c0yzu3aWZ+/+DBsf++6opl913gdZdubNRy2jiGOLNrty25Si6ijolM0swzAkDIXJXeB72I5wFy9L35a9UhRVxzDT9D3OL/z+uxze/ypTTlrOtNl3EAQ+j9/1BQAcK8faSz7O9Nmnsfn5X/Hor/4/JEnm1k8/gkEFHYd2cCSqYmU7D9AwTUiPNjYvp3bKPFynSCrTEDuD1zXOpa5xHmaykpadf2DbxnsxExWsOu9D8bbOWnwBsxZfEO9X4LuCoB14lPJZ4f2jKFjF7ri1TFbUXj7EMPBcO1ZuO5ZEw0yN3RiKMKSY78BIVIxYTSkWsjz/1L2sPusy5p+8mly2k4qqOrLd7Rw5uHfQeRRVI5Guwffs2D1dQlwrupGOEg9BXh9mIwmDANcp4Nn5YduogsAnkRIS2ziDt3UNisgDxPNsAt8d4JcyFhxoEXyNKVNnx9WMo5MNTTM49Yyryec62bj+PqY0zmb+yWfio3GwZTOlQpZctoPuzlZmzF7JmeffShD6/Oibf8bOrc+NOtmYs2gts+efjmGkaNm9CbuUZ86CNaQztRQL3aw6Qyxn5ZqrWXbaFahjdSM+CpKs9jHLO76QZRWCkZzBJzCBCUzgTxuF7v3ks4fGNI9upFn79o+iGykytSdRO30lVY3LAcgf2cKrT/140Pm6u9siqdsCriRhmP2VIGVZRtcTlIpZDCOJFlU4VABVT5CQZaxCD4l0NbqZjsjXNoVsG55nx4TuchXCtQukKicBonXJKnSR6zooAslEhlSmrl8pVdMSqKpBRXUjSBJ+WX8/CPC9IpqRJFU5iVK+A81IEngO2Y4DKKpBMddGGAZREmII4zPfw40qGXYpi13Kkq6cFAeGsqxQVTeDaz/yc+750YfoOrJr2AMfBB73/uAmlm59jLOv+zqKNrJ8K4Bk1KPN/QTM/QR+dhv+oXsh+zxKYRNSYSd9jaTGglBOQu25BHVvR512Hbo2jhHsMGD3q7/hgR+9Z0QPjTJWnf/nrL7gw73LCHxKxe7IP6Ge4YJEYfCiiiChT4QYhiGuncd1iiiaQeB7FHMiASwH6k1zTkfRdBZEVQlZVmhedC6uXWBy01IAXKcY70dIGAfqM08+j0sS38bKd3HS/LPZvvVlzESSppOWccPHhINmd/sefvg54Xx+4Y3/xIz5ZwHCET3XdZDpc9bgOiVe+P13kSSJlev+DN1Ix/tVrrzZpR5UzYxbl4RzuhjF9xwrFkqAgVK1sqLi2kV83yGZqR/XyGX5PhxXRSMMKeU7ooRxdBWxR+/7KT1dbSw55RwqqurZs3MTD971A8Jg8Ou6fP+ZyapIwlfwRFynhG1l8X0PWZLRjCQqgweSnmfjFzrRzQyJTC1eYegRG0WShbS270Hgjnok3EhkUJI14jnSc2xqVK0t26morMNxhD+KoqgDeBuJZIWQ2Y0evKm0SBTLD2rXteiOqrD1k8Vggiwp1NY30XZo16AjxYNdPpkKobRWfsB73uAGIpIsC0fwPxGEozD6/WPCqF2Y/1jxFi7K/HHjLXxNTOCEIZQUsl2HR5wu6NMSlWpYxKlXDq7e6nkl5q26ln07nsey+rcye44tKhhpjWKhB8mxBrRM6bophGEIKRVzmIlUrwmDohoYyYpYnlaWVVRNOIEnM3Wx27frlOjp2IduZijmOtDNlOibtvJkqibjRm7hR78JbSsXB4iSrCAbKpqREi97t4TnWJRyHbhOESNRSRgGyIqGbqbRjRS+7+JEkruifUu8VH3PES/WMOKK2EUURSOZqUNRdTLVjVzzFz/jgTs+Sssbz494Ml556t/Z+fJvedt7fkjTgouE7O8ooVTMQ6noJXridhN0PYvXs5WwdADZ60By28Bpx0dDNiYhmZOQzMn4ciWyOQUpMRlJn4ySngGSPu4R12z7Gzzwo5tp3TXyPoMI+s+96nMsOOWK+LsyJ8EwM6PyzhgUUTIYhgGJPmIDogoSEEatekvPuInFa27ALmXZ+MTt1E6axdtu/GckWebwoRYe+O+vkqqcytrzbqRpzulIskLgObz2hztpmLaQ5gVnA/DyCw/z3F2fQtZ0zrn2X5h3shhdtku5OFHxvd7SYNPctTTNXQvApj/8go1P/AiAyTNWxMsso78zd1nlSTiny4qGqpVvuDB2UQ98NxZN8D07EkEwcex8TLiXpF6vjOHgWHnCMMCMyeBjOQ0hpUInmp4YdaJRnu/l53/PhmfuH9X0qmYINSkrj26mBQ9LFqpPhBUEoY/n2nhOCdvJDipVK8sqPpEa0QgeFHJUSQkCHz9XZIj8ZQBcq4AddKAomti2cQ6gd3a2YhVzWMUcP/vh38bfZ3vayGU7yFQI36Fy8C+qOqBFfJi+lS07ak1LV/R6FaUy1Rxu9fslDWEQgKLgOgNL3HrEpVPVCYnTvgh874QpRgW+j/xWkaOawAQm8L8OgnaQoFQc/kXW933jWT2073oS1y2h6xnMyklUTF6CJKtUNa6gqnEFZqKK//729f2WoWpatCwJw0xSKgrTXsNM9RtAVVRNcHt1Bdc5ymdD1cxo9LMzkjIVQVTge8iKiiqb+J5DZd1JyJJoIRH8DpcgcIWToJGklO8kkaqJ+7R9zxHO32ZamH70CVxlRcVQMuhGGruUpZhvJ9fdil3sobK2CcPMxPK5REmHVeju19bS3X6Y6voZqJqJZqQo5tqxit2RjXoKVTe54J3/wON3fZHdmx8b8cQVckf41bcuZ1LTUt7+nh9TPWX0jsD9oFUhN1yM3nDxgJ+Obl44ljaOvvC9Ei/87h947t4vj3oe3Uxz8bu/wbTZ5baPELuUw/ddEunafj15Y0GZ66CoxgASs6iCRMTlPsHvI//9GfZuE+T79/+/pwgCnxef+i/2bPwPFMVgavNSmmctQJZV7vvxh9m95QkkWeFDX3wBRdWpqG7EqJgCYYAUtXt5rk26chLX/dUvxGjxlLmsf+g2utv3sujUa5k2+1QAZi48ly0v/BpJkqmfMpeWXRswzAz1U+YK1adRkLGjvYuOmRKrMDl2QSRcmSrhHh4lWa5d7OW6RPebHJHt5T58F8fK43k2idTYKxqAkJxWDbQxmt+ddvY7WLLqXL7/tY8hSRKLlp/FaxufGGbPpcgjR3jg9DPbkyRkSUU3VHQjRWAp+NZAF/Kyd04p30EyNTritywrhIo66jqibqbBrCTwXAJ7/NyAgxFfYzAc2LeV+SeLRPbodrmym3XfntaKKsGH6WzrPSadbS3oeiKSVI5aWH0vakkcaGAqx9WKNyf4DX3vLTGILcsKhCfKzyTkrTKUL3qsj611bgITmMAfFyRJiN+UisMLqvRNBjpbNvDILz5OvqedEJ+q2mnMX3Y5i87/P2gJMZhfNXkeU5qWcHDfq/F8FZV18b9VVRcDdoqKVcphRgOMIKobpWKOZKoS1EiNqi/KSlAxdyJy8JYVNZIOFT4aARLJTC2KWm6LEQF+SCj6wnPtMWnctnKYqWrhIhxxOQYgahNQNRPXLlBZ2wSSRCnfiSRLvf3esoqiahgJEYTYpSyqamCVepAiz4cg8NHNDIRhpGAV4rk25137RTY+/qN49HokHN73Cj/+/HLmrbyKM678EhV1s0c13/8EnGInW9bfwbO//Xus4ui9Biqqp3LRu75G3ZR5IuiNfBtkRSWZrmG8L1GRFHZhJCrH5D0xafoSWt54ntrJc4UiWqGLplkryLbvJlU5jarKaqxiD2EYYCSrUBSdxuZlSLLwbpg5exHJm7+DREhFRZr77/govudw9js+TcNUoW6V7z4US+5W1zfHyUaqooHr/vIX8bb89/fez4Xv/HtBDle0YU39hoNj5fA8R6gzSZJwDwdA3AdlrouoHrqxL0U5CZEkCc+1hcRrGADymNRe7FIWWdWGdDUfCppmcNZF72TvTsGHqaiq5/J3/iWTGmfwyL0/GXI+YdxXQzHfiSzJA6piYRgKmexSdtAkO/C9mMtVzHUcs8v4UJBlFVlXCRxz3BY6rVG71OXXfpJElBh1trXw8H3fo3X/ljjZGAp+n3a0ymrRlnpg32Y81yaf76Sn6yCTGgVpLxE986xiDlXT6WxrGbjAISDLKn4fP4zO9v10tu2jadYK9PFWLXnzTAmPGZJ0wjpQZEU9AWpUE5jAYHhrJLUTeHORyEwiWVlLV8cgg3dDQJJkHLtEMYoXS8UthCE0zFpF48IrAVDMDPVT5/VLNqrrTuq3HE3TY/+7YimHaSaFoJAkR4NiQiJXBVF5CAIfVTNiFShA9HenqrCKecIgINvZQqqyASNR2W+0W1ZUQQr1XXQ9GbdbFbJHsK0cmp6M1Il0/KN6iIPAE202QYCRqECpmkIp34HvuyQztciSQhB4OHYRu5QTfA/PFtK7koTvOSQzdZhRgiTLCloYxC0niqoBEr7v4nsOC1ZdRaZmKusf/FZkhjYytr34a7a9+Gsapi/lrKv+nmlz1yEpJyoEGgPCgI7WV3nuvi+xY+PdY5590eprWXvJx5FlFc+1cfOdCNNGBVkRsraKoiPJEqN+yIUhVilLEHjj4iWcesFfcOoFf4HnlNj56oMEYci8RWcxe+EaZFlh8/qf03ZgM3OXXsx51/4951z5WXzPZf1D3+bg7heZseAcFpxyBYqqsXvzE+x67REA2k7ZQkXNNADSVZNZc/HfkO3YR/PCc+k8vJPW3RtJVTTQvPCceFtWnH0zFRUN6GZ6TK1HfVFuvUqma4ecpsx1QWbAemwrR+h7JDN1QvUraiMkDEAqc0LUPn/7h+/lCt9YpWEBJjXOQFVU7voPoeiVy3bwwtP3c8qat/HUQ7/AcQaOrPfyVRSSaZFwhGEgWiYDPya360YSPVGJP4iolaoaGFWN4jliDT9S03e9vueO+lVslXqQQl1w0I5BOae1ZTvJVBWN03vbJysq61FVTRDHR4DchzdhmGmaZi5j366XufP2/0ux2EMYhixYKsxHUxlR1fr9vbehayaF3MiKYmVohkEx38Uvf/x/ueKmL7Jr6x944ek7eeeffQO9duqolzMA4xA4mMD/HMZbpZ7A8cREwjCB4wujYjrN89dxYNfLo55HVlXUo7gWhpkhlWmMP4e+j1PqFV6RZIWK6qZ+82i6QbGQRdMNkpHBn+s4mIkUupGgWMz2STZ8F8fK4ViynJtVTAAAIABJREFUaJfSEiKYD0NK+S5KhU4URaOytgnNSA6+4YoqeuKNFIpqCE+NyPhP05MxidMuZaN1GKL9yndFkhFJ41rFHsEfSQhOSCJdg6Joon0lDPF9h3zPYQrZI5HKUH0sv5VI1VDIHqaYa6eiZjpmNBJYyLVhJiojCVeVKSct57L3fo9nH/g6B0bB4yjjyP5X+OU3L0PVEpx+6aeYv+oGUtXTRTvQmwjPyfPGy3fx5K8/E/tPjAXJdC3rrvkCMyJOgjBhK6EZCXSzQvAoyp4adkG0JJXlbFV9SMWlIPAjh3gDMzn+qohjF2hv3cqDP/8kAOuu+QILVwnJ3hcf/UEsqdy8aF2kRmay9cV7KGQPY5WyLD3jJkqFTqbOXMGClVfgWDmqGmZweP8mitk2ps5ZzfKzbon34d6ffIQ9mx+npmFWnGwEgcfsRediJEZPpu6PME5mx8OxAFERCTwXM1UtKiJ9ZJ7LnBfBCREKcoHtxwZjolVCqDoZyapxGY8dPrgHP/BZftoFrH/ytwS+z/on72HVGRczedpM9u3aPGAe17Uo5NrQNBNFNeKEw3NtgtBH15NCCUuSCO1hKnCShKIayMlKvGHyDd8TXC7XKaKPYejaSFTgyxquXcB3CgPaGkeDro5WSsUsM+eu7Pe9oqg0TJlJ6/5t9HQPT9oLjqoKnH3R+7jz9k+R7RHmTM1zVzF3gaiOzF10Bhue+zVHDr5BIlXJwuXn8drG0ZmMTmqcy743Xqbt0BtxAjyB44PA9/oljROYwAQm8KZCVpm36nqevn9wwncZfRUojUQN05qXUztpJrIkkamaSvPSS6mcvjqexncLbH/1wfhz3ZSFTGucim0XMeJcQELTDFzXQddNTDOF69oRMTyNpuk4dkmVnM7Noe/Z2GVFlwjllpogDAg8UWUoty4NhUKujVSmPp6/mGtHM1K4dhEzJQKefM9hgsCLRlikWLpW1Uwcu4CmJ3DsAolklXBnLmUxk1X9WnHKo6O+76IoGkHgCdfhMEBRDRw7j4REqrKBwPdx7UKs3hP4LsV8B7qRxnMtNj//KzY89v1B9YRHA81Isui0m5i/6jrqpy9HNcY+gjwSfM8m276TQ7vXs3n9f7Fv68i8k6Ew8+TzWHfV52LZ1LIDtm6kh0wky0Ruz3MIoioYCPM7JerZC8NAkMkTmXE7ioMYiS8rod17+4cJfI9zrvosjc2nAPD8w9+mq203M+afw7wVl8bzvb7+vzm8fxNTZ53GtNmrUFUT3UxF14Xw9viPr12KVexmyZobOGXdB+Og/I1ND/LSUz+lYdoiLnznV9m56WHCwGfmonXjSzTCULSyRXLS44Fj5fD7JBqjX3VAGIY4Vo4wCGItbMIw4mApkTqWyiMPP8ArL28YdnmXXvdhlpxyLocP7KZ1/04mT22mpr6Rb3zhffjeQDLa8hUrOe2003u3p9wOhkQyU9fvPg7tbrz2gSMxslGDUrckmt/BO/SHIbdvX7dC3aQmIa0b5pFKB0c6RAAolXOQk6Jtyc/tJyyOPWm3Snk62w+QrqihorK+32/dXYco5nuorZ9KT9cRJFmmftIMgjDgUMsOUpkqKqsmUXQCutv2Ul3bSCIlrhXPc9j7xksYepLGGQuR+wxm5LPtHNi/habmpfieQ7a7jSnT5uE6Fu1H9lJVO4VkqgrXtWg7uJuKqgbSFbUEYcDOretJpCqZNmMxhWwnuZ42GqbMGlOb4wDoFeCPswdtBEhqCkZwuR8tQtlAkk5QH5ViIh3vHi3Z4ET0fUmKqPSfaIQhb271P7CRtLHx0YZCGIQndNt9qxs1WTfyhIMhDOF/uKsidPLI5vi4gycCfxRdJscJkjySLPwwCH3+6yuncXDvQAuGS2+5jRnLr0Uzq6APZ8vq2U8YeOiZySjqUe20Ycjzd3+SZx4QCYwsyZxyxrtZvnwVjlPC81wSiYwYOAxDbKuAmeht1fY8FydKSjzf+7bkdG6Onmghge9jl7J4kaNu+VFXyB7BTFaRTNdGfhuDjwOW8p0YiQyyokUVCh1NTwjlGSuPpptYxR40I4mmp/BcC8+1ohYI4duRrKjDcyzMZCWakcL3bEqFbhKp6jjw85wSVikrpFgjXkY5sAqDgCAUAY5IRHxSFfX9SHHFXHusZhWGAQf3vMSGR7/Pvu3PjOXUDoqq+pk0zTubyc2rqG6YQ1XDbMxUHUhKb9AoSUeNNEd/wwC72EUxe4hsx26O7H+ZAzufY8+WR4+5J9hIZDjj0r/tpzblOsU4ERwTaTAaVS+3prl2kZAQWVHRNBNZERWQsQXJIVahSwSNR3ELsh372brxt1Q3zGTO0rcB4lq77yd/hSTLrDjrVpoXrSMIPKxCN7+9/S9oO7CZ2Usu4m3vEi1Anmfz4y+twyr2sPbST7Bo9Q10dbZRVVWFRIgfCQ7s3PQQT/7my5w0/ywuvvmbEUkbxvIAEK1L8ojJ+VDwIn+KsSYa8fyuFZsvlq+xWKLXdyPPGo8nH3+MV199adhlSbLMhe94H0tOOQdNM8hnu3jm0V/x4rO/G3T6U087kzVrzhBtStFDSOyDuOZVzUTVTVGlcXPHnGwcsWqom9IkVPDcTjR3eE+dMvomG0H+AEFh9PyH4wlJryL0B7ajHX/ISMfoqTEoTmCyEUg6ynEytgsV4/gnBBEkNXH8ORsTycbY8BZKNgKrG2Ui2Thu+F+VbEjyMbWmdux6kp9+9fwB31/3l3cydfHVo1pGGHjkDr/Oo7/4a3Zv7hWDqWs8mQsuuI6KSnHufd/DsgqYZgpFUbGtIqqm9xM9CYJAOI3rxm2q+ELo4AeeK3wykpVIER8i33OIdOVkCtk24RUQ9YaXW2pEUCkOjqIZeJ6DHARAKMjmkWIUgG3lI8MvJ6pmGIRhBZ5bIt9zGCNZEVUsHPI9RyKHcAVNT8SJjGakYqKjXcoRBB66mYlH5wLfw7HylIrdgoviexiJCjRdHrL1p2bSLC5/37+xZ+uTPHXPV+gZA8nmaHS37aK7bRevPn37uJdxPKGbaZauvYllZ94SE5wD38O2ssiySjJTy5hfPpGSlCJJeK6FZiTRjVTsvu37kaM4ItDsyyeQBmnB8j1btNsZqUHFA1547N/Y8sLdJFLVcbLhezaH9olAde+kWUyfczqOXcBIVuJHVSq7DydHVQ1u+dTDOFYOI1nLo/fcxoFtDzN90WWcd9kH0SXhjl43RRDTl55xE55Tiqs4glch9/IjyvsxiDu6rKhjJmOX4dgFPNeKyeRjhesIQ82+iUa8/Yrab6BgqOBTUVT8wCedqWLNuqt47L47ePieH1FXP5W2Iy1DemyASHR83yGZrkWOKl6+Z+N7biRNncdxCkJaO7SPWYVNkkVSp5sZ/LxFOMpkI+wTHAbHafR8XHiT2rdPVKB9IqEo6nEjn0uyctyqJG8OTsz5EsqSE7LIb1289e7jE4oJp/p+qJ15Fqsv+HPWP9xr4KzpSVrfeIZDezYgSxJGopKF5wmZ9pfv/yy1U5cwfem1ZFs3cu8Pb8Eq5QbEwKpqMGf+ajRdiwcQFUUlkchg20UhBCPapUgke4V0ZFkmkcwQBH4oko3IaEs/aiTVdUqkKiah6QkkJELE6GgYBNhWDgkJSVZQNSNWinKsHGEYClffUg7PLaEbaVKZOqFQVOzu96IXSY1LqqIBTU8KMriVp5hrx/dFm4Yky8iqqJbYkdeG6xSpqpuBqfdvU5EVFSNRQRB4hIRoelI4oVu5qGUrEQVhQq7QLvZgJquwS1nqGxdw5QdvZ+crD7Lh8R9gFUav6vTHBk1PsmTtu1h+1q39Wnlcp4hjFTBTVf04AGNFuf2qrweHhGjR6RvCxlUrz8Hx3T7tPBqqZhAEUZtbqnpIR+tpM0+jp72Fqc0r4u9SlZNYd83nyfccYdbJ59Pd1YKumSSVOq75yM9oO7CF2inz2P7yfbTsXE/zgnNoXrQOTU9SLObpOLyNQvde2g68jOPaEPlhTJmxkj/73LMDtqGsFBX4Lq5bEElIlICUvRrsUhZVT/SXex0D+srbji/RKImKRh8/k/FAN0xu+chXKOS6md68gH1vbGb3jpc5cmgfkixzzS1/yyP3/oSujoGOpaqm9+OoSJKCrCdjl3nPtSkVBLE5CPxBk41+r49hEhvofdeUk9rRhqZ2KYuipPE9B8U79qRnvPB9b9yyu2PCcaoQDMSJfNnLjOSz8r8VvRXBCUxgAkNjItk4Gqdf8VX2bnuGQ5GClOsUefr+b8a/V9WdFCcbe7c+gaonmQ4Uuls43DKQh6koJgtWXMriRctEvOZY6JFPlCzLJBJpXFd43IWUpdn7DGqKxCQQDuKaOWAFjl2IfCrEQlU9gSTLgkisJyK1ItEG5VgFJEnIylilHhKpGkr5TjQz1U+RSFFFINJ1ZDeJVA2KqkdKWF4cECuKRiJVLVyIU9V4TgnPtZEkMX+264BoqVI0QaANPFTViMzR5PLeRfK3whBQ0xNYxR7h3uy52KWeuEoTBB6lYheaniRVUY9V7GbZmTez8NSr2LLhN2x58W7aW0dWlfljgaqZLDjlShavuYFUZGwYBD6SJAtiaBhGHirjf5E5diFu0xlplEyS5JjEDZHDdODF3JlykGiXspGwgI4k969CzVtxKfNWXEoY+PzhwW+KBGPxhSxcdTV2KUfrng3c/5OPEoYBZ13+dyxZeyNTZ64C4OWn7uBIy2t0Ht5F86J1ACSTac66/BO0vHEe02edQufBLTxz79eoqJ3Ghdf/w+D7IcuosgF9OQeBH3OainlhEOc5JRHARn4ZsqxG1Zzhj3d5vvEmGr7n4DpFEunxzd8XpWKeF56+j4uueD8AV737byAMaW87QE/nEWbNX8GLz/1u0GRDGiF0VjVBGreKPWhmBtcykUIfKQyi14ZE6Hq4+U4kWcF38sNK37rj5FqBFIkZmPyPqsMEHkHUwljeihAgDCNJVdGyKElK1IkWDthaSdF6217DUNxjYRgplkWeL5IsfCbCUMiTU9Zc722zC+JRQjn6LYymF1slS3I0RlP2lZAIPU+0iMoKwQiJ4fAICX1fSOmW730/GPF66reEMBTLCXxA6tOlKkfLiva1zzz9aBxy3yplIBJdWel3vAcbSJX8AGkIh5cgCMSRGoRA3vuMU/pVnuLzKIXx+ezbySkhHZU8DnP9xhdVdM4VlcD3xVrK7bxiY0T7UJ+BOKEWLPUuJwhjY954SwZddeiHblEJ3KHPXRhE53qQbY/bVuMWUDFVGMkXi/bMoN/1iySeIaOFmH+I7Qsh9NXoMh+4fWE0YDbwHIR9/sbd6fS94sIwIAgcJLun78723lL90P+LsHwOZefoCYdF2Y5gyP0FQimM799oi+LBZVmW+90zoe8iHXUj9KmhR+d2YNU8jK+1sN9cElLvvh3dWn7Ux/7LE1spuVZ0f5Tv794nqdRnRnEcGPX7MX5OjvL9EISBeEaOhPJzvMzPkPocczcftx+DFC9TkqT4fi0/HyRZii81P7ofpOj6W3fNF3j6N19m3yACSH1VWBVVJYgUYsNg4MNN0RIsXHYxSxcvJwzDqF2qECcbZWiagSwrWKX8gOpGGapYiQ/lHULcEK5djHkNIIIE1y5gJqsoFToxEhXiPzMTuwIXeo7g2kVU1UDVE3iuhYQkqh6KOLCKqpNIV5PvOUy6chKOnR+URCvJwhBNSWiouivkcD0X3UjFAa6qmciyIgzTAj+qspiR14aHpvW69JrJKuwoCUmka/GcEoVsG0aykkSquk/CJR5kuplh3vJLaF54DtmuVra8cBc7Nz04QLr3jwX1jfOZvfTtLFjxDpIVdVE7k1CU8iMHb0IwksKdXRqjV4NAGLWu+eNOWKQo+HFKOXQjJfxQCOPtFW7j4noUZjEasqIhyTLFYhcbHv1BtCkhk5uWIEkymcrJgq/jB8hHOSfPX3k5ge8ye8lFOHaB7rbdpConMXXqTKZOnYld6mHjE3fz/xf3pbGSZXd9v7PdrZa39TbT7R6PZzxj47HBYMYmBhuwgwErExSFhEiImJBIhChE+QYBvhEpoEhRFCGBIBKREgUFJSxJJIcYCWxhwNg4xjbG47HH03ZP72+pqrueLR/+556qemu9egaONFJPd9393nP+y2+5e+tTuHvrU3jT8383JipnXgsX4J6j01Nk+Tga5lmr4Qzde+fKONEzLiBlAi5Jg7qf/I1u0LUlyeOucU9d6BhSovK1qZN/4qMfxO1XXsQ/+hc/j0989IPYvvQYHnvN07h05Qbapsadr7y09r6FTJGkQ3T1BGrzWXAuI7HdmBZWt/AdmR0KnkAPn4aSxBXjjIf1nJLWDUVKVCopwPIrkOlWCKD6/+arlfdA181gdQumcghLXVqWXwHyHTJbNBreO3AhSA0rQP8Wh/cepithrUWS5iQb3TUAPKTKkSQ5bXMIYqfbEtZ0yIqNuE9uDYzpYIKrfa9Pbq1Gq2swxqGCqR8LJo/eOhjTEt/NWcCQUIVMinlhBwgqZQ0604EzScErPMEpvUfX1bC6gVAZhEphLVXBvHdgnrrWKstJWRCMvlFn4B2dM7wDcwJJOiCI3prvnjUdQSDz7QsZznlv0dVTCJkThDckMNZqWK3pbTgE66RkYvmbM4aKaGmxceTfVv06PYC22oeQ6fG+UlhOek6qz3ZdGdcjivcdvCXOlfeGII2MgTMBxnmQKl8u1nQtSVcm6RBwi4HwwlHDn2NAGAIz+pNHUx4gSQcQUtH8fMpwpvqM2/vc15/2m7apqGh5xHmdzQPZQ/8U/5oLtF0LJZMT+aNnDQqYirXWsK5toJJsxanaL2HwtW7BmYCQ5z/vrmuosHpOt3pnDYw1SJKjReXF0zzMFXDOwej2SGB51tBdS+7R51BoI5NbA5WsLlahdQfO+Mr30jkP3dVIs+OFcI47J2P06fdtYbRtHYLus6+76xoodfY7tOo5OGdgzPwZDwA8/67vhzbAvVsfh1tMxL3Dn/6vn4ZzFvuPXkV++9N46Q9/CXe+/CdL+0yzDbz5bX8L3/SN7yB+Rj2FCnxLYzrIQ+I5QkgUgw3U1RRtUx25z6zb/XNfl3uA94GrwVGXu8SXWJj4yVn8IYrhJZI4rfah0gElIV0N09XoQjJiTRe6Fi2s1WBgQe6W5DC9s+g6qo4n6WApqelHW0+oWhaCe5kU6JoJ8uEOmQjOHqFrZlGpqu9s9AaD1mrkg02odAAh+knJo61nwcejQz7cQZqNYHQdlXUoGNiEUAmaQExvmxl0W8J7jzuvfBK3XvwD3HrxD1DPVte5/8sYGzuvwVNv/pt48uu+E8ONq+hJ51JlMSnTXRXd2+F9VPEC5oE/DwE9P1KtmQ9rOrTNFFKma/MRgCCzXE8hk/zERRhACPy6ENzYWLX85O//KppqH699w7fhxuv/RoQsTfdexWTvNq7ceBM++eH/BJUWeMM3vkDchTA+9N9+Cn/xid9CMdzGP/zJD6FrS3AucPDoFv78Y/8daT7G29/34ytr0TtnqEKfBKnoE0av5uWchbOGIH4LMAnd1ciCxO7hQOGsYU2Htp4EftP5YHG/88Hfxqc++SdH/v6xG0/Bw+Pu7Zexc/lx7O/ej9/HxtZlNPUMbVMfu8/n3/5OvOs73rfSIq67Gl0zi/wS3VWRN9abifYQvP6dFVwRwVwmdL1B+Uslxclqas5CdxWM6aBUeO8YVeAo0J1R6zd4AfUtYBckoBf5Oj1cFCAPlK6ZEXQzHYJxQcm97QDvIaSCkBlESC4BSiyJn1RQgrRwn6g7VaNrplRskQkQ/EOkyuJve3d5LhWpxGlK0MAYkmwIKdOlSnrXltF3iHMRA2AhFKzt0NZTWNOF60uj9LXv+UqceHMqLcDA0DZ98FrAOQdrO3hrQjDPw5wSAnomTpxTCI47iUWQi3TkCEJYLvH3jhsuPPP+e6TCC1UNhVTRcyofbK2duDtr0NQUnB+HGlhleO/R1gckNJGNTi1COGcjN9LZMF+CnoVzBt5apMU4rpHnua5edCPJhitfi9ezPzD3P36qm2VVHiAvxms/c5LVHKz9jKryAMVgjHW6mk1dIs3WTVRqcCGOBGqrDErQsnPLLFujYUyHNDsfvNc5i7apjq1SnzZ019Bcco5E0DkH3TUrJwIAqR05a1ZOhrz3wdF6NeEW7x3qeoaiWO33XdcQGmgFdb+uayLP4Wtzzh5VOUVejJbey7Ku8dnPfgqvvPRxHDz8IqyjdXT7yk04Y7C/fycUIOZDygyXHnsLnnvrO/HUa59aOpeuq+EsxWMnnZO1BnU1JfPtNO/jqX8fCeL19FEwzyuRJIMjpRbGGBgnF/EeDlVOiTQuQxVpvH0d8EATYVGkcGVMGxSppoCfUGDRVhBShepbu7RAOGug2xLOOwzGVyCEQjV7hDSnZEjIBMVwZ8llWXc1TbTeQaoM+WgnLig66PlzoWB1izQfY7r/Ki24geRON0mjnNxHXe5SZSsfw3uPLB+Dc47Z5D6eetN78PRb3gfdzjDdu4MXP/m/cfcrf4Z7X/kMnD0qBfq1HMVwB4+/7m248brnceXGm6KcLxcKjDFaWBx5ZpiOgkHqJM0x/ItSrj4ECka3cCGAoElCgYegijEW1cQINrV+5bEPpFaBX3EuwJN8mf/hHL75PT+KptpHXe7hP//898KYFu/+2z+Fp557LwbjK3h09wv42P/9BQDA9tWn8cQz8zWvT0xUOkBd7SHNxlBJjis3nsOVG8+d61q8d6hnu5SYnrFwMMbBBPFUsHDZXah054MtCjTrOiaMnIuYJC9BBBdGn/Tnw52vqVnX133DO/HN3/p+/OLP/3O88AM/jtuvfB63X3kRX33lRRzs3T91W60bVLOHEFxCJsVSoH149MlmOblPDufpAOlgGAMrLmRM4pw1dI80JSh9e1ko6qK2zSRUgOeJcN9N0AH6eRiixsLcJVSGptqLVV0Kpj24UMGQVIXjt5HHxYUK5oSD0MGySMJ80p8vQUwncM5FeW/6HrfRlHtHhAB6flM22IKUSXg/aH4zpkWajaDSIt6Lrp6GLoxCkg2oml5P0IYOC3WjKzAuonJf20zpnrQluKTrywfbIemYoGtnUQDB98FqMGOkhIU6IyQ2wcAFluWMQzC/NKeExCh2KRmZrDbl3hLna70Ruq3WBAjh6YFYP68s7SEIW1TTh/Fc6tnu8nlzuZK5qTUdmnIf2WBjbQlw7z3qcnflwk7foRGHAId1uUeJZyKWngdCd4eqzyfPL947ekZrew0dP/pCy0WSywhlWnNbGusef32ewDIM7ZzjMHpu5e3Wk4dY9/n0NgTnGZyvs404F9Kkf+dW5UOxABtd9fdSKnShu3HWEEJC6/bMZIMKwhzO2oAOOvGXEEIQD3IhRhvkOZ5/2zvwhmffjBdfegn37n4JBw9fQjk9gG5ngPNQKkeSbSLfuIrt7Sdw9fHX4onHrmAwWkYcMcaQpgWs0ajrWXQGP+7ahJBIkoyUqFQKlWQhlnM+QG6aOMHW5S5VyWUa5G5VMOJrSb2qpTao0S28sxQY9UZiwaMDjDoaiZBRrcgaDd2WqKaPwEXgTJS7obKroAN2PclG4cYpOKtDu2z+YOh8suDjUUbfiMnuVyFVhrY6gHMWw41rkDINRlYeQiXomhJcKNSzPfjCURDKWDAP3CRIViAxV7NHoRqYIM1GkaCe5iMUo0t4y7f+IN4xJAjGV77wUdy99WfYe/AyDh6+goNHX1kTdsUwGF/G1uUnMdp6HFtXnsS1m2/Bxs5NEE6WQSY5EfLbGZzRYAGmxhgn6d8AK7NWE+wtG0KIZGm2Ih7CnE9BlTELa1qYEMgAiAv5RQLanvxcDHdOJIKfNaylKvRgfAXV7CGqGSkPTffvUMekqyBVikuPv5E6V8VG8HSh1/zbXvgJvOO7fxxtM8PuvS/iQ7/2EyjGV/B3fvQ/nYvU7Z1FtWKicdIwuoHVbazqL3Ja+iqltRqmbWOFmRJBSkAY56hne2s/F+/ciZP7X/zZHwVoE3D1sdfisRtP4W3v/F4AQDndx1df+Tw++Bu/jHJ6VECBMw4ZgiwSi3ChMl7E4IaOb0l5y7SQSQ5nDd2DEyb1PulSaRHnEaMbksEOiXVTH8B7C5kUMUAWMkEx2jl1gWeMISs20VQHcM6gGNH3bHUb540+8UhlgqaixEbIJHZceuGLJBvGLkgihkiyIYkKhGKLd1QMSfMxjG7Ctzki+JJzKIbb8fvIis35nNlVlCh0NZJsCJUUSLIhcS1iB0iDcw4Tul1t7QmyplJ478G5CJ3gnOCKoTDRNTNIlYWuNBl5Rif4ACi2waulh606Z5FmwyNFgz6B64P2OKfYLnZXAJpT0mID4gIeHxQM74NxvrZMNEDfQlMdoBjtxAShv++9YElf1OJMQKjk2CCdulYT+ibXLMr0RQypsvU7yN6jrvbBuYj76BP72GUNkLh+/QYWCk1CgXGBptxDkg7XnuN6H6zDo+cQrjt8T+JYfwdfM7jpOsdef9uv3WmsNljkLZxrK84uyN9a8TiMLSSOK24TfKdW7boQJH+131Pstdp1cy4Cd+rsIWUCYzok4vSijFQptG6PPdfxaIC3vfXr4f1bcP/BPVS1QaeJL61khizPsbO9gTylb71pymiWfXgIqZAXI1TlAbxzSNKjvEeVZLDWIA+O4r6tCewm0xxJNoTu6tgxIO6DDApSB5GQ0tZTZIMtZMUmuYY3UxzsfhU7114fDsMgFjogi4PIwmlc0PvAXnc1qtlDAFTRTYsNSJmiqfbowquDWMWf74uFB0F65PXsUazSpfkI1nQoJ/dRTu6Hi8+pshgqkhknucyunaFry2guCFDFORtsReleYzoYXaOpDpDmYzTlHriQGI6vUgDhSeb3sde+FU88+20wugkYa4GHd17Eqy9/ArqZIRtsQkpSYDK6DUaHDuXlDRbxAAAgAElEQVT0IZJ0CO8tlMpx6fobYQ3JhxrTYrx1HWCMKpkgrwJrWmhbxmvqj2l0CzhPQV3I5K3pUE4fUpCTDU+suFFFk9zdvbOoyz0IlZIDfDuj7JoLCJVGAvRZkzbBAShgK4bru4r3ML0+Wbl64814/wd+AXAOV598Gz7/F59GkWe48eQb8f3/7L/AWYNy8gC/+rPfiarcxbu/76fxhm96AbqpkBebuD15gGq2i2q2i3JyD8nl1610Hs6ZIMM8Xj/RCJ2iYnSUo7EoUbsIW4gJiNHkoK4bEkmoZyEQVwG+crYpUF857YOMw+P2rRdx+9aLAIB/+zM/iGs3nsL1m8/g+hOvx+OveT2efe7t+PD/+bXjkw0hQwCsKfAUlECY0NUi3pYKWOABPU/GSa56trtSdbqfR6RKgWIjdhG0rtFUE6Aih+zzQD8Y48iLTbTNJJzHDkSmkGTDgPlvFuaSLHZFiRDZ840IViX7uUYmEaaY5gpJ4JmYropeLNZqzA7uIslGR+a4w9fqvYPu6ritlAlUWhD0S/bS35oCTSaI/2JaNKVGL9Sg0kFMwLpmBtM1sRDUlPtgQiBJSaXLeweRpOiaWSA593LPiN1TmdDacZKy3dKcspAcqHQAqxuqrgUunwgYfMbOFlRwzqIp9yIcbd3RJwhZsdyJ6O87kALpIHCEbIBhtTBdExOQnieh2wrF8NKxZPBVhveODGeTIvK/zr8PH9en43x+Frusy13jvsBh4vzCuYTWDawzobsjIm/orGGMRtuUGAw3j/ybd+6Cndhl4u/5t7640tfaiS1WJxwfv/W6m66RNARC/rm3A4f3f/ky0+s8AnGO5AEA+DHdgpPPh638bPsui3PuTFickBK6bgCcnmwIIdA2BstcxaPH3d7awtaGOxV+1nde0hOgyUJQZ9QH+FaWD5a+aSkVqrKKjuLeOSsBkkmVQQlIpQWkykLVsAnysXkgDtKOepy4kNQlGG9dR13u0UTLGJENA2/j8CBoQ4W82CLIU5LHCgiZCTJyX/Y+VNBcWICOUa3oieBJAcY49h68jO0rhDHrsczDzWuUGeoWXTNDW08i4VgmOUFqyl0YXQPwUWkpyYYBx6wCJj9DW08DbGUb8D6qKXmpAm6Wqp1Gt8Tc5xKbOzexsfMazPbuIMlH4EygKh9ByATDjWtBlneGrSuvg7Ua+w++jCQbUiCgW9Tlo1gJ7auhui2hArlatxXhtTlD18wAxpAPtkNgUsFZE8n2znSopo+iPOtJwbK1Gm11sBSs9Xh4Zwn/2bWzSE7spV979aX5s6YqnZAp0nyIdRONLnSTliRdGcOTb3w3AOCPPvyb+H+/829gTY33feCX8fQbnoeQCQYbl1EFmdVy8iAqXnXNDNde+1Z89w/+O6TZCIPx49jbfYCt7csnnUJ4pxzq6e6FIBKLicZ5qmuMC4gQuBrTohhsg8uEAl2jYXS95BTecxq4EEdIt021P+c8nHW+RuOrr3wee4/u4o8//NsAgOF4G21dHvt7ziVBKP28W2p1F8UbdFvBOwHOeXg/NYTK5vCVcg/FYPtcKwkXEpJlcM6AJSzCYvpvpT92z1M4sbPGSIOcEp9HUY7ZBS5FPgwKerohKJezkV8iZQo5ztEFHgcDoFu6RxRIp6G9rCDyDahEo5rtRr8W09VoQwfopKo4Y5y+W6HQVPsUCBoNMCqmMC7QNSWSbAAVujttPYXuKkiVwTmLavYQDCx+21JlkR+XD7dgrSFCsUecQ6TKw9xT05oQ52Qeu0sqLQI/7vh3ylkTuDV5DKRV7H4cA70KCXTPkVmc/41u0dYHRxKE8w7T1WjbWegOnhFMhC49FQH6Y/oAZTyA1xacS9TlI+LUCBW6kOJU3ko/+rkyTYcXgpW11QG4VMTzOMfo5xdavxrkxVaUJne2F7swCzBPug/HJSDGtLxtyhOx/s67tRMyIMTNF4JguQsnGxc4+MW6MmuMiyRm62Qb63Qc1hvnvy4uJIxZHe7eB92rQKNo/+LEjsBx+7ZWg/PT980YqYGdDeeiYr21pydHUiaoq8mpyUb/G5+cfMz+nsgsCcZ92dJ9ElLFe8c4J58N01X08TrCv9LCXIBzEY3ziLBJFTKVkEt0Wx/Q3wUX8Gr6gCqCIkFnZseeYFPu0aJmNKZ7dzEYX0ZebFF7yxoKNvJNcC4wO7hHrdxsiOnenVBlzyFlRsobMoELxE5rupD07AIgyd58uBXhMUlIGrxzSPIRpnuvopo8AOOkpuKEhNEtlKKARMqUAqUABUGo1hbDbRSjyxFfPd2/Q5X7AMUgCNb8Y+sx2PlwGzLJw/WMCB9dTykgMy2c1fDOIR8QzKGpiGA4GF9FPtgiGEV1EIP7LizKWUH3qlfkMaZFXRFWNys2qSMSgnXOJWS4V+X0AYRQATNNbbC+C+GcISz5MQsCFwqJUFTtwxzvbANUxDsDxgSEVOhakmJd18/De0fdFZGcaj549fGnkQwvA85CJnPogUoK/PC/+l1M9m5jsHEVL//576GaPsATb3gXrr7mzRhvPgZrOtx65UWMxiNUU4CFe8RlsnTePca8GK0PA+uFFNZV8qKOxN5ydyoQfhd+Be88nCdlpU4TlwlAOG+qeqikWGkdece3fx+++Z3fg9HGDpq6xKc+9rv4yId+/WzJWcZiAtq1JUxX03elKCmgQDIFAyh5DTwJ76i6e9L7d3g4Z9DWUxK4yEfBSNCHbwWhaEBJT1Puh2MTF6SHhx5+Fkk2BOcC5eQBJSDZCIPR5RjgCKGQZKM4BxjdoKunIegvkBYb0G1J31a4XlKsotZ0r+yUDbbmZqTOQrczlJP7VAjp5+BjuodCJhiML6NrAh8lLShhCM+Y4FRUKMkGm1DZIJpNUvfEo2tK1OVegK+lsROo0gGyfANN+D2JbpAaoApiHj23by7xrCL8SogEad6TtFnkifTCG8clUj2PYg718fDe0nMLsNoeytbDDBcl1c87fBAVAIDB6BIuEv119Yzm0eHOfP/OwXmC4ZExKH1/iwnUkblltkfeR2t2S/u5Uqn8RKGEs/dBCIHFIlOfgKil3zm6xmAGbBf8kxgXaGeP5GkEamcN1IoKP8duH+RY1x0k8XsRGNUFuyprb382Z+jEzdYd6yhOcn6q8evJh1qdTzHfhp9rG35OPgkPsKtVB8VXGjw5O0aQKokKVqvslwROTv+tSrIToVT9YKFwctgP4/BvSDBDn8grUSpBVRJ5vRhsoGvrJeGGJMlRV5N5UgKQegADgwu6yk25H7HWSyo3nuA5uqsB1GjrCUZb1yGEJGhQR1CDHtaTpIOlqocOrtJt1ZM5B0uyt1xI5IOtiGNWSUEY4yQn2FBbxXNbxHcLlUB3NXVnRBKr+Sy0vvsss22mSPIRVJKjGO7ECpJuy4iRX4TIcKECttlCJhmaap+6DbNdyISqgoPRZVSzR6RWlQ1RTh/SZBpk9RYX1yQdoJ4R+VxwicHGVVTTB7CmQzXbjRhzlQxQjHbQVgewRmO09Rh1KwoXjducJSnHcnKPqpKhEuURXKTbEtX0IVRaBIniIbq2omPLBDLJYHWDutwDb4hgqruaAvtzVJb7KrqQCZAOYsKi2xpSpUsJkpDpsZX240ZcPM9QegKAJ59+DuN//B/BOQN3NX73138GnAt8y/f8S6hsiPHOa+C0xu//1r8GvMdscg/Xbn59hBM89cxbgOBn0FdZu2YaJaGFIC4RJW/rLVK98tLaHicBHqFUfkY1l4FxBgE6bwW6d70RJ3FYBJpq/0zn7LwY4t3f9fcxnezh05/4PVx9/LV4+7tfwJXHn8B//ZWfPbU1771H1xJMR6VFuG4e/s3NK9kBbkXqaVTpMV2N2eReTE6kyo54lXhnQxCrQ3A7D16Ig7GBpj4gxbp8gwoNCzAmoxs09YQ4JiHQFTJBr2jXtSWEooXjsIzt/DhzDxkflN5MCL5cgCEm+QhJOkSSqahEJdMc3juCcDbT2PlIszEVcaqDqMIFIHScBxABGtk/5yQb0nFmu0jSAbLBZuzoNOU+wFiEj+bDHXTNFNX0IdJ8hKzYgPdjOKspcehqeO/Q1gdo6wOodIA0o+TN2Q66rQPZvkKajYIXEgl5GN1Ahg5PPz/2pHXd1eBcnstokiAGEjyRIOgACY1Us0eUxHCOevYwFDWSCFdbpQiwCA89b/V/aT8BEiakCvLdC+fPefz+6Lc+BOjUhewCd6efF2luOb+a3OK50Jp0wUSj3F3yRDppzKFYc6hnX3SiObtwZtKh65pjlXwuQu7uj7WuzDJwMRjVxfkiuEBX5mLE9L/KsVZng/X+Keco5jF2LlgUGDsXpOy8JHEq/DZY5UtmbPWkTEqFtq3OTDZ6H4yzhlIpjNGn3jelUrRNdQqJnYELAWM0pFQkA280qmqKNM0hZRIg0x2kSijZ4FxgNn0AmeTougbAPravPn20ysIYkmwQVY82dm4GebQZ4H0w/hOhmmNRTh4ENY8EUqWYHdxDkhZI8jGkymJlbTEgp4Rjm/DRjOQXEj4MLsRzcqgO0rlNtY96tkf45SRHllN3oSp35xWUALdydm4eSIZZLuCrU4LIlLtADsI8CwUEVZdsMA7XPsJw42ogjzYhcWjDcQqAceSDDTTVPtp6gmr6MErzekcLgjUtNi89gYNHX0E9ewTvPbLg9UFSwR2m+69GM7isKFBNHyHtSaHpAElaBOz2AQARFtDdCJfiQiHLN6haqutYlUyyYYRo6aakxSLJYXWLavIQQpH/wcmIv9NHL9fovUcx7iuPPgTwAerT9FU+RdKg4qhWOvEiqIK/KqRg59IVAMDnPv6b+NzHfwMAcOXGc3jyTd8R4X3Pv/fHsHf/i3jy2W9HXe7h4NEtjLavYzC8FPgtcyhBuCLorkHXTKGSnOAlTQ9TUuAiOVVtqR/zRGNdZ+9A+JRq7WDCmAbO6oWgz59JYt25cgOcC/zqf/gJVCXxIN7+7hfwnvf/EK49/iTu3v7S0eMEInCvAHVccnU4SO9hGjp0WGWSg5vAOQjBcJ/UqgC77KE7Wb5x/OLdJxzVAZr6AFlO0qo9jCnNgzZ5R54K1exR9ASirsNm7ErQ9zc69d4zxha4FT6Swk1Xw7Q1Vfu8O6LE1s9LRtfomgl11oJHUQ917AP4yN9IcnDG0VQHYFxgtPkY2mYaOkJbSHPio1nTBeWpKnAxSKq8qSawpkOaUVEllwlcPkY9exTlYMlMtYlKTEImNEeF56F1jSQdIi02kIRE1rTVCXPKevyDflhDPjJpPl7ufgS/j95nCUDsHEiZHEk+ep5Hkg4uBFXqBSJUWqx0bSzMLUtdyOAp00tnd20JNDNEiWWhwBcEFU48F+/RlMvwtHVGU+5ByOQCpHTiVmbFBgSMMeUQJwXHF+VM9MIx62/vIE5V9jltXJwvsv626471z/diEKxzHqsPvs+BHGCM0TYrbrJkBLni4Ocglfc8jFXPpSesnwW74pwfa7p3/G8lTjWtBCUlFOufth86p9POT6kUXVtDBn8zKRWEGKNtStjg7VJXs3myIVUGD5L76w3ujiN49xfirKFAMFQ1knQQSM9N8BCgm51kIwiZoG0mmO7dhgikaYAm7N6L43DQ06vtkHlWDSx4JSwSJkkdagrOOYRKaMELldQsH2N2cB9NeYDBxuWAZSa5RmDO95jvmComo41rIQCp6Vw9qSABCNK2LJrNJdkIuqsx27+LJJDSqyktsD2/QqoE1fQRqulDFKNLyAZbQRWGkp62nhBBEz5wGzboPlpDpPlAHCXSXou02AiBQI1BgBKY0PWxpgvwMjJdcc4EvJ9DWx2g4xQ0J2GR7JopuqCCIwKBs5o9jJKLUqYrV2Hmlb4ESTbA/IMOJlqJpEDB++C63UXoFbwD5wpCUWWZCJvrQQpuPvtOvPlbfgCcS9x85lsw3b+D2f4dXLnxHJ5/7z+Nv/vtX/knuPWFP8QLP/JLGDxz1OcFIL1o3ZZLpM8ePtAHvER6Ppw8zUnaNkCEeiL0OqOt6R1ftxLrrEHXlIeSnZOf6xve/A4MRpu4+9UvYTbdx9XrT+LlFz8FAPjMn34Y73n/D51opGR1F8QNtleqNDM2JwcDo1iZd6HLJIDAkXJo6ynKKfEJpEqpC+HsKUkTcTCacg91tY+s2FwKcjiX8wS8LaO/hbe9Izxx2LJiI8ALSYHprG9i8Zp0W6KpJ/BagwuJOnwjKskDqb8nUGex82J1G3gZB6RVno2ghjuRIF5NH8I7GxSpBtQ5GGxBtxWqyUOkxUY0AuzFHnrOmnN2CUqZBW8lCnqJdxETJU3dDjKhZNABLsuFjAUOzkkhLM1GQDYM0roVzWcqjdw2IZIIzzlPoKm7Cl1THknSSEhhDuns4VXWaoJ9Bb5M7x3CGLvQvNIPSjQeXViy19oObTVZgpn2nVUXfBFcmJt7f5dF6WD6vQ9JgrpQokE8Rrl+pyfA0pKMfEW87iHUxz3nw07RaxzOOXB1ARiUd2BsXbWwi3Mu/lroIutmKqzf+LwnvR7Xw3m3at6wtM25j7MCMbsfPCB3Vu+e0Du6CgxYCrki7IoFPsjZ5y1VAmP0mV0QHrpCpyU6/b6SE85PCAmPZQQRYwxZPiRYVT0DY4C1msomHj4QFcmvgnGBtp4EAtjyDSZcvj3S8uUBCkGVHo9y8gAHj26hGO5ABz35YnQpkg7behIMziyGQoJzFR8OBeBDSJVi994XQ6VuXnFxzqANijN5sYnB+GqsHC7KRDqrUTXTeH1yAbIlhEKr55ldW0/BGEdV7iLJhsgHW2T2Zw2SdIjp3m04ZzHbvxMXTZLyJGJlVpDqhrUa071XoyGgZg0Y4yiCzr3VLWaT+6QCkw0w3r6B6d5tTPfuEMkztBKlSlEMLwXFKjp/Y1p0e7cJOx2q8QDhxPuuj+7qSPgkXHqotBoNrYmc3FSTKEOapOSponUdXkDSriYohIRKB+G8Tn7BbajQrbSQB/lI8tAIi7X3AV53ABsgcD2RPy6yJ0BZDo9ieAnPv/fHwIXE/dufw2/98o8AAH74Z36POhhhpMUmnnj2W3HzmeO9p3RXo2uPJgmMcwjew8b60/eBEN2RiWLAMIMxONMhG2yvPWm39QH6oHmd4awmHtQ5MO7Xn3gGb3/XC/H//94P/yReeenT+PJLn8HTb/wmvPqVl3Dnq188dlvGEJSh0jPfm+NGlIzFMAZTs/27FJAxIMs34jtNMtnT+L0ImYaKNkcsKjCGfLiFtp6imj5YgnMBc5M9mWQYjq/Gd6w3ldS6QdNVAChxdFYjLTbOrET1JGaVFBhtXIMOqkdzYzzyhliGivFYyACAHB66rVGXe1EJioz5JLLhDn2nwZCVEhiCq7XNhOTAA0eCcREI3EWAe7XwLb2v5eQBGOfRzwjAQvK3Ed29u64mOdakCMIEPam7QVsdoPFBdIBzKjZ4xE4V73kffXISDBhPu4fekxwtY4x4FSskeL2KGw7NK30HmXO5MK+omOyt+l3MpW0v5mvTc5iK8fK7yBiHED38EUvXEL1VFoQ5+nVYqvzcWPd+371E7nHKVavtguBXq8BdAeoqXAQC1R/zotK5DOt7dPxVVvsXx9pMj7j2rHNM1i9l5xrr+nqsKgfbD87F2fzBY47jnQVWTDaEkNDd6iRxEfgQkp9d1BBSRbPGswZBn7oz3cSlVEtciZN/lwQjxZMLFUqlaOrj+df9SJIcXdsgy5f3k6Q5lKftte4oVUtSCnrLyf0ITSISo0YxuhQI2Sws8FUgLNenqBmZiLEWKgEYAuk54IhVjjQbwzmDcnKf1Dy8j6pGuq0w2LgKxhiK8eUAayL1i66tYLoKSTYGvIMxLTwcGPhS1wPeQwe5yiZsD3jIoLxFJCZ6sY1uMTu4i+HGVaQ5VTHJvIr+XE7uxwCDcxnN1Ppt+0W8h2kMxleIq8B5dO6e7t+hpCO4pVvdopoRmZ1zCROqhipMZsa0AEMMthnn8M0sepuU04exktRPvL1ajVI56mqPrjtKXhYoku1IjmybKRgjd+Qesx411wOu0VlDHZFmRhCGY3wQdFuh68qLLcCMoasn8PAYjImw2eP6yVW5Ct0PCS4TyMD9ODz9xkpfgG6ohD42xgVsWwMLCIHv+gc/dyJ2szeCW7UbwQLcb9GzpHc07jtR8w6IDFKlyZkJFIkzuCUX9POMnjeQn9OD4I8//D9x9/bLuH7z9bh+8xlcffxJvO7Zt+J1z74VAEnjFoMNzCa7R7aVSYEkH1HXrJ7S9ao0PLOzpZKXz5+6pH3wm2RD4iMEHpCUKZIgF2t0E4oYB1EphzhCVAlOc3Ir7uV1Ecj2jPNjvUqiqWSSIys2A9SrRtdW6PbvQAYXbiKZz99F713kpC12xFRCTqpNuY8kH0aJca2bGMRGZavYAWYkbSsVyskDeFjkw236LhsixZO/kYhzEnVVMnhQ5yENyVk/CO6VgXOButxHmmeBq/YIUvXcFRWvp4dZ2bRAXe5Dl3VIGDJ61j1vpNyFaWtYxsBYG/kDi3MKAwv+J1Porgzf6OBIBbCHUaogq7v2YEBbESeGgunFeUVH+VrGOLhUUe79uG9FtyW69oLzHBDVA1fmsIT7tmg+S2IsBI31zoX1yoIxETs5QvYdkJOOQesA53ztRKPfhxDJyvLDztkLKVEBq+PnT9t+7fbCBTsbf00aWH/1Fh1rDPKpOJ8xcl+cPdc2PSxqJWZFgFH51ZMgslc4mVi9vG+xMr+FPI5qYIXEhNSrTodScSFh2+rsA5/RAenNDI87HknKj+GcNaRGFQh+SToIBBeqcpPE7RQtKGjQbRXJ0z1PY/Gjdc5GQnUa5C/r2V4kJPZEP93V0TSQMR4Wf8CYFtM9cvbuyc1CSPB0QPrsjEMmGfJQoa6mD5HlG6ENdajFFRbVHm7FhYzdlCYErkY3ECpFNXmA4ca1JT5Hn4ik+RhNIGyyQFTNgplWHyRY0wLeUWU1SEmm+RhZPobpKmTFViCxUnDStTNoXUfFL6MbeqBWY3ZwD2k+jD4ZnAmqXsLHqqz3LiSFB2BsMpf1DLr/jHPqKIUuR499BwARfD5Gm9fQBegVQpWYHNmDu2tIFr1zQTRgD10wZ5RJAQagbWdBoWtN0jMQg76eq7P4ki6SFaPqlenILdrR4ipkQvA8xtFU+1R9DZCCaze/AR/4yQ8B8BAqw//4xQ+gLnfxXT/wc7h8/Y3HzvxUlW/ORWg9dh9tGT0jogu2s5EkSgGCm2O0D3kMdM0scCzWSzQWHc7PSzydTfbw2U9+BJ/95EcA0GRy7frrcP2JZ/D4zWdw/ebrkeeDY5MNzgjuJURClfwkh3Nm7rwtVZTZPinZctbE+5MVm2QwVu3BdDUFRtkcbtXLZEuVRV6GCRX3fh4TIUFVAe5ZHtyP4herQGoWYVFpNkbbTKJK37yLSF2cueneUYhN729RzYhPlmQjeleDz0UvN942kyi5zYOcLXkHaSK8D7aioZ8NHkBRFAMMxjRULHA28rXSfBQXAh2S33kn0hMvoj6AngZncZUH41DqEgmZBgUs8iXSXQOjW5AIhgIDw3DzKrqmjJ29nrvXB3dE4uYB8uSCL0kJleZI0mFQ0uqin5FcsZJ43Jgr2amlYPrYeSVAl7pmFuf9PvEjQZSK5KYPdcXOO7pmCmO6cyf/x13XYVGEqBBlNaxpgnyxjzw+ETgsjPEAKZsCjK/dMQUQ1h8e3OQXx8nX5i7osUHr09qbL+xjzfu/NqORtqax7rHXHewCMKr1zpVhHWWpNUz62Opchn5wxqFtt2KqQcc4z/3jXEC7+ly/XwUe1SdWq9xXsnvoTu2YRFUqo0OB6eR9ndUBkSqB1id3XTgXXgL4Y4Bx55xP8zETImFJNmK6q7hKCqeS3AmhfNdV3OqWA94Z03khFfPwdt5S9OiamZAq9SopHAAk2ZAzLjjnwnvnLOM8mA2NAAzhnGP1bFe09RRJWlgpU4w2r3GpcmetZta0LCyaTJCmt0+yoaV2m2ZJOmBCpd5ZwwAcSW8ZY1BJIVRSOC6EZ4zzYLLljWmZs1pa0zmVDliaj2NKLYRi3jsGwAVSJxdS+a4pBWPcAXDhQbHR1uPhBtA5dW3JGGOsGF+2STpwuqu40Q0LVUMnZOID6VIIobzzlqX5mHMhPecSMqk5Y9wLoTwXylvbeUGJoJtfF3VMhFRMdzUHWODLWC9V7voXMSQgTLcl50J6gMF0NZcq9YwJlw+2vG4r7pxhWbHhrOmYtZrBAx6eMcb8HB9Mx7bWgOnGMy48vOdZsWUvUmWyVjOhUrZ4fceNJdUr9IurZUY3XDezuKiqJF8qQQw3rwEAbn3ho6NXX/741wHArc9/5MuXr7/x3uFjhARSGCcxm06Q5YVTSp17mrZWi3ywbQ8HJpwfJYk6b5nVLTO6YcxwhPfAA+DZYMuuuzBZ03GSyE1OvK95nj92+fLVo05yx4y22seXPvcxfOlzH4t/d/ny1SO/S9LsIYB7BHUacMY40nTg0swjfNOc1JoMhEw8F8pzLuI9DipWQqWFlyqL554Vm+iamXDOOs6FX4JbOQfdVbxrpkyozEuZul59ypqOWdNx8gmwnjHOhEyYpG9xHX1GpPkGGBecMQEhlLemY8a0HN5AqtRLlZ5YBmNcoBhus66dcWc7J2Tqabd8Dod0lmndMGs0M65hXEifZEMLD3Rtya1uwdPCLZLS+3lS67pXNAdj3HvvGCUyrVdJ7pw1zJqWF6PLC98tJVPF8BK6diaIl2Sh2woyyZwQKp4jJQEZM7rhQiY+OK1zoVLPuHT5cNt3bcm9sywtNpwzmlnbMYIDgTHGPMD65ml45gS5kknhjG54Vmw4IZMLFWNNV/MgA3v2vNJDl0KHGt4xY1qm25KxUHnM8g3HGF/7nJwzzHvPaV64wHxpOh6SpaXrWlKIwpxE76xmxrS8FwkQXHrGhfQ7e0EAAACrSURBVGdcsPSMOfe0EQolIs1GR991b78M4FiAO2eccyE8LhA7C6kEgPPhbRaGlEowxtbanjHOBF8Xl8QgxPrnLoTkjB2Nc848KqNrXue4QkiOY2Krs4aU6tzb0bd4vuMxxs59bZwLJrg4NmY8aUiV0GS6wrfLCQ678jkplfTZ4JnvlFIp9955xsSpv5UyYdZ0Z16jUinzzp36OykVnDWnXo9SCTNGn7afL/9/oK4+41MmVQIAAAAASUVORK5CYII=' />" +
|
|
"<div class='artpubwhitebox'></div>" +
|
|
"<div class='artprivwhitebox'></div>" +
|
|
"<div id='qrcode_public" + i + "' class='qrcode_public'></div>" +
|
|
"<div id='qrcode_private" + i + "' class='qrcode_private'></div>" +
|
|
"<div class='btcaddress' id='btcaddress" + i + "'></div>" +
|
|
"<div class='btcprivwif' id='btcprivwif" + i + "'></div>" +
|
|
"</div>";
|
|
return walletHtml;
|
|
},
|
|
|
|
showArtisticWallet: function (idPostFix, bitcoinAddress, privateKeyWif) {
|
|
var keyValuePair = {};
|
|
keyValuePair["qrcode_public" + idPostFix] = bitcoinAddress;
|
|
keyValuePair["qrcode_private" + idPostFix] = privateKeyWif;
|
|
ninja.qrCode.showQrCode(keyValuePair, 4.3);
|
|
document.getElementById("btcaddress" + idPostFix).innerHTML = bitcoinAddress;
|
|
document.getElementById("btcprivwif" + idPostFix).innerHTML = privateKeyWif;
|
|
|
|
// CODE to modify SVG DOM elements
|
|
//var paperSvg = document.getElementById("papersvg" + idPostFix);
|
|
//if (paperSvg) {
|
|
// svgDoc = paperSvg.contentDocument;
|
|
// if (svgDoc) {
|
|
// var bitcoinAddressElement = svgDoc.getElementById("bitcoinaddress");
|
|
// var privateKeyElement = svgDoc.getElementById("privatekey");
|
|
// if (bitcoinAddressElement && privateKeyElement) {
|
|
// bitcoinAddressElement.textContent = bitcoinAddress;
|
|
// privateKeyElement.textContent = privateKeyWif;
|
|
// }
|
|
// }
|
|
//}
|
|
},
|
|
|
|
toggleArt: function (element) {
|
|
if (element.checked) {
|
|
document.getElementById("paperlimitperpage").value = ninja.wallets.paperwallet.pageBreakAtArtisticDefault;
|
|
document.getElementById("paperlimit").value = ninja.wallets.paperwallet.pageBreakAtArtisticDefault;
|
|
}
|
|
else {
|
|
document.getElementById("paperlimitperpage").value = ninja.wallets.paperwallet.pageBreakAtDefault;
|
|
document.getElementById("paperlimit").value = ninja.wallets.paperwallet.pageBreakAtDefault;
|
|
}
|
|
}
|
|
},
|
|
|
|
brainwallet: {
|
|
open: function () {
|
|
document.getElementById("brainarea").style.display = "block";
|
|
document.getElementById("braincommands").style.display = "block";
|
|
document.getElementById("brainpassphrase").focus();
|
|
},
|
|
|
|
close: function () {
|
|
document.getElementById("brainarea").style.display = "none";
|
|
document.getElementById("braincommands").style.display = "none";
|
|
},
|
|
|
|
minPassphraseLength: 15,
|
|
|
|
view: function () {
|
|
var key = document.getElementById("brainpassphrase").value.toString().replace(/^\s+|\s+$/g, ""); // trim white space
|
|
document.getElementById("brainpassphrase").value = key;
|
|
var keyConfirm = document.getElementById("brainpassphraseconfirm").value.toString().replace(/^\s+|\s+$/g, ""); // trim white space
|
|
document.getElementById("brainpassphraseconfirm").value = keyConfirm;
|
|
|
|
if (key == keyConfirm || document.getElementById("brainpassphraseshow").checked) {
|
|
// enforce a minimum passphrase length
|
|
if (key.length >= ninja.wallets.brainwallet.minPassphraseLength) {
|
|
var bytes = Crypto.SHA256(key, { asBytes: true });
|
|
var btcKey = new Bitcoin.ECKey(bytes);
|
|
var bitcoinAddress = btcKey.getBitcoinAddress();
|
|
var privWif = btcKey.getBitcoinWalletImportFormat();
|
|
document.getElementById("brainbtcaddress").innerHTML = bitcoinAddress;
|
|
document.getElementById("brainbtcprivwif").innerHTML = privWif;
|
|
ninja.qrCode.showQrCode({
|
|
"brainqrcodepublic": bitcoinAddress,
|
|
"brainqrcodeprivate": privWif
|
|
});
|
|
document.getElementById("brainkeyarea").style.display = "block";
|
|
}
|
|
else {
|
|
alert("The passphrase you entered is too short.\n\n"
|
|
+ "Warning: Choosing a strong passphrase is important to avoid brute force attempts to guess your passphrase and steal your bitcoins.");
|
|
ninja.wallets.brainwallet.clear();
|
|
}
|
|
}
|
|
else {
|
|
alert("The passphrase does not match the confirm passphrase.");
|
|
ninja.wallets.brainwallet.clear();
|
|
}
|
|
},
|
|
|
|
clear: function () {
|
|
document.getElementById("brainkeyarea").style.display = "none";
|
|
},
|
|
|
|
showToggle: function (element) {
|
|
if (element.checked) {
|
|
document.getElementById("brainpassphrase").setAttribute("type", "text");
|
|
document.getElementById("brainpassphraseconfirm").style.visibility = "hidden";
|
|
document.getElementById("brainlabelconfirm").style.visibility = "hidden";
|
|
}
|
|
else {
|
|
document.getElementById("brainpassphrase").setAttribute("type", "password");
|
|
document.getElementById("brainpassphraseconfirm").style.visibility = "visible";
|
|
document.getElementById("brainlabelconfirm").style.visibility = "visible";
|
|
}
|
|
}
|
|
},
|
|
|
|
detailwallet: {
|
|
open: function () {
|
|
document.getElementById("detailarea").style.display = "block";
|
|
document.getElementById("detailcommands").style.display = "block";
|
|
document.getElementById("detailprivkey").focus();
|
|
},
|
|
|
|
close: function () {
|
|
document.getElementById("detailarea").style.display = "none";
|
|
document.getElementById("detailcommands").style.display = "none";
|
|
},
|
|
|
|
privateKeyFormat: {
|
|
// 51 characters base58, always starts with a '5'
|
|
isSipaWalletImportFormat: function (key) {
|
|
key = key.toString();
|
|
return (/^5[123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz]{50}$/.test(key));
|
|
},
|
|
// 52 characters base58
|
|
isCompSipaWalletImportFormat: function (key) {
|
|
key = key.toString();
|
|
return (/^[LK][123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz]{51}$/.test(key));
|
|
},
|
|
// 64 characters [0-9A-F]
|
|
isHexFormat: function (key) {
|
|
key = key.toString();
|
|
return /^[A-Fa-f0-9]{64}$/.test(key);
|
|
},
|
|
// 44 characters
|
|
isBase64Format: function (key) {
|
|
key = key.toString();
|
|
return (/^[ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789=+\/]{44}$/.test(key));
|
|
},
|
|
// 22, 26 or 30 characters, always starts with an 'S'
|
|
isMiniFormat: function (key) {
|
|
key = key.toString();
|
|
var validChars22 = /^S[123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz]{21}$/.test(key);
|
|
var validChars26 = /^S[123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz]{25}$/.test(key);
|
|
var validChars30 = /^S[123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz]{29}$/.test(key);
|
|
var testBytes = Crypto.SHA256(key + "?", { asBytes: true });
|
|
|
|
return ((testBytes[0] === 0x00 || testBytes[0] === 0x01) && (validChars22 || validChars26 || validChars30));
|
|
}
|
|
},
|
|
|
|
viewDetails: function () {
|
|
var key = document.getElementById("detailprivkey").value.toString().replace(/^\s+|\s+$/g, ""); // trim white space
|
|
document.getElementById("detailprivkey").value = key;
|
|
var keyFormat = ninja.wallets.detailwallet.privateKeyFormat;
|
|
// hide Private Key Mini Format
|
|
document.getElementById("detailmini").style.display = "none";
|
|
|
|
if (keyFormat.isSipaWalletImportFormat(key)) {
|
|
var bytes = Bitcoin.Base58.decode(key);
|
|
bytes.shift();
|
|
bytes = bytes.slice(0, bytes.length - 4);
|
|
if (bytes.length != 32) {
|
|
alert("The text you entered is not a valid Private Key");
|
|
ninja.wallets.detailwallet.clear();
|
|
}
|
|
else {
|
|
var btcKey = new Bitcoin.ECKey(bytes);
|
|
}
|
|
}
|
|
else if (keyFormat.isCompSipaWalletImportFormat(key)) {
|
|
var bytes = Bitcoin.Base58.decode(key);
|
|
bytes.shift();
|
|
bytes.pop();
|
|
bytes = bytes.slice(0, bytes.length - 4);
|
|
if (bytes.length != 32) {
|
|
alert("The text you entered is not a valid Private Key");
|
|
ninja.wallets.detailwallet.clear();
|
|
}
|
|
else {
|
|
var btcKey = new Bitcoin.ECKey(bytes);
|
|
}
|
|
}
|
|
else if (keyFormat.isHexFormat(key)) {
|
|
var bytes = Crypto.util.hexToBytes(key);
|
|
var btcKey = new Bitcoin.ECKey(bytes);
|
|
}
|
|
else if (keyFormat.isBase64Format(key)) {
|
|
var bytes = Crypto.util.base64ToBytes(key);
|
|
if (bytes.length != 32) {
|
|
alert("The text you entered is not a valid Private Key");
|
|
ninja.wallets.detailwallet.clear();
|
|
}
|
|
else {
|
|
var btcKey = new Bitcoin.ECKey(bytes);
|
|
}
|
|
}
|
|
else if (keyFormat.isMiniFormat(key)) {
|
|
var bytes = Crypto.SHA256(key, { asBytes: true });
|
|
var btcKey = new Bitcoin.ECKey(bytes);
|
|
document.getElementById("detailprivmini").innerHTML = key;
|
|
document.getElementById("detailmini").style.display = "block";
|
|
}
|
|
else {
|
|
// enforce a minimum passphrase length
|
|
if (key.length >= ninja.wallets.brainwallet.minPassphraseLength) {
|
|
// Deterministic Wallet confirm box to ask if user wants to SHA256 the input to get a private key
|
|
var usePassphrase = confirm("The text you entered is not a valid Private Key!\n\n"
|
|
+ "Would you like to use the entered text as a passphrase and create a Private Key using a SHA256 hash of the passphrase?\n\n"
|
|
+ "Warning: Choosing a strong passphrase is important to avoid brute force attempts to guess your passphrase and steal your bitcoins.");
|
|
if (usePassphrase) {
|
|
var bytes = Crypto.SHA256(key, { asBytes: true });
|
|
var btcKey = new Bitcoin.ECKey(bytes);
|
|
}
|
|
else {
|
|
ninja.wallets.detailwallet.clear();
|
|
}
|
|
}
|
|
else {
|
|
alert("The text you entered is not a valid Private Key");
|
|
ninja.wallets.detailwallet.clear();
|
|
}
|
|
}
|
|
|
|
if (btcKey != undefined) {
|
|
var pubKey = Crypto.util.bytesToHex(btcKey.getPub()).toUpperCase();
|
|
var pubKeyComp = Crypto.util.bytesToHex(btcKey.getPubCompressed()).toUpperCase();
|
|
var halfWayIndex = Math.floor(pubKey.length / 2);
|
|
var pubKeyFirstHalf = pubKey.substr(0, halfWayIndex);
|
|
var pubKeySecondHalf = pubKey.substr(halfWayIndex, pubKey.length - halfWayIndex);
|
|
document.getElementById("detailpubkey").innerHTML = pubKeyFirstHalf + "<br />" + pubKeySecondHalf;
|
|
document.getElementById("detailpubkeycomp").innerHTML = pubKeyComp;
|
|
document.getElementById("detailaddress").innerHTML = btcKey.getBitcoinAddress();
|
|
document.getElementById("detailaddresscomp").innerHTML = btcKey.getBitcoinAddressCompressed();
|
|
document.getElementById("detailprivwif").innerHTML = btcKey.getBitcoinWalletImportFormat();
|
|
document.getElementById("detailprivwifcomp").innerHTML = btcKey.getBitcoinWalletImportFormatCompressed();
|
|
document.getElementById("detailprivhex").innerHTML = btcKey.toString().toUpperCase();
|
|
document.getElementById("detailprivb64").innerHTML = btcKey.toString("base64");
|
|
ninja.qrCode.showQrCode({
|
|
"detailqrcodepublic": btcKey.getBitcoinAddress(),
|
|
"detailqrcodepubliccomp": btcKey.getBitcoinAddressCompressed(),
|
|
"detailqrcodeprivate": btcKey.getBitcoinWalletImportFormat(),
|
|
"detailqrcodeprivatecomp": btcKey.getBitcoinWalletImportFormatCompressed()
|
|
});
|
|
}
|
|
},
|
|
|
|
clear: function () {
|
|
document.getElementById("detailpubkey").innerHTML = "";
|
|
document.getElementById("detailpubkeycomp").innerHTML = "";
|
|
document.getElementById("detailaddress").innerHTML = "";
|
|
document.getElementById("detailaddresscomp").innerHTML = "";
|
|
document.getElementById("detailprivwif").innerHTML = "";
|
|
document.getElementById("detailprivwifcomp").innerHTML = "";
|
|
document.getElementById("detailprivhex").innerHTML = "";
|
|
document.getElementById("detailprivb64").innerHTML = "";
|
|
document.getElementById("detailprivmini").innerHTML = "";
|
|
document.getElementById("detailqrcodepublic").innerHTML = "";
|
|
document.getElementById("detailqrcodepubliccomp").innerHTML = "";
|
|
document.getElementById("detailqrcodeprivate").innerHTML = "";
|
|
document.getElementById("detailqrcodeprivatecomp").innerHTML = "";
|
|
}
|
|
}
|
|
},
|
|
|
|
getQueryString: function () {
|
|
var result = {}, queryString = location.search.substring(1), re = /([^&=]+)=([^&]*)/g, m;
|
|
while (m = re.exec(queryString)) {
|
|
result[decodeURIComponent(m[1])] = decodeURIComponent(m[2]);
|
|
}
|
|
return result;
|
|
}
|
|
}
|
|
|
|
|
|
|
|
// testnet, check if testnet edition should be activated
|
|
if (ninja.getQueryString()["testnet"] == "true" || ninja.getQueryString()["testnet"] == "1") {
|
|
document.getElementById("testnet").innerHTML = "TESTNET EDITION ACTIVATED";
|
|
document.getElementById("testnet").style.display = "block";
|
|
Bitcoin.Address.networkVersion = 0x6f; // testnet
|
|
}
|
|
|
|
// if users does not move mouse after random amount of time then generate the key anyway.
|
|
setTimeout(ninja.wallets.singlewallet.forceGenerate, ninja.seedLimit * 20);
|
|
</script>
|
|
</body>
|
|
</html> |